diff --git a/.ipynb_checkpoints/ENTREGA_prueba-checkpoint.ipynb b/.ipynb_checkpoints/ENTREGA_prueba-checkpoint.ipynb deleted file mode 100644 index 7fec51502cbc3200b3d0ffc6bbba1fe85e197f3d..0000000000000000000000000000000000000000 --- a/.ipynb_checkpoints/ENTREGA_prueba-checkpoint.ipynb +++ /dev/null @@ -1,6 +0,0 @@ -{ - "cells": [], - "metadata": {}, - "nbformat": 4, - "nbformat_minor": 4 -} diff --git a/.ipynb_checkpoints/Entrega1-checkpoint.ipynb b/.ipynb_checkpoints/Entrega1-checkpoint.ipynb deleted file mode 100644 index 7fec51502cbc3200b3d0ffc6bbba1fe85e197f3d..0000000000000000000000000000000000000000 --- a/.ipynb_checkpoints/Entrega1-checkpoint.ipynb +++ /dev/null @@ -1,6 +0,0 @@ -{ - "cells": [], - "metadata": {}, - "nbformat": 4, - "nbformat_minor": 4 -} diff --git a/ENTREGA.html b/ENTREGA.html new file mode 100644 index 0000000000000000000000000000000000000000..7ea349ffc95c7955121dae1b2839bb8e6050d692 --- /dev/null +++ b/ENTREGA.html @@ -0,0 +1,15923 @@ +<!DOCTYPE html> +<html> +<head><meta charset="utf-8" /> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> + +<title>ENTREGA</title><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.1.10/require.min.js"></script> + + + + +<style type="text/css"> + pre { line-height: 125%; margin: 0; } +td.linenos pre { color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px; } +span.linenos { color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px; } +td.linenos pre.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.highlight .hll { background-color: var(--jp-cell-editor-active-background) } +.highlight { background: var(--jp-cell-editor-background); color: var(--jp-mirror-editor-variable-color) } +.highlight .c { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment */ +.highlight .err { color: var(--jp-mirror-editor-error-color) } /* Error */ +.highlight .k { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword */ +.highlight .o { color: var(--jp-mirror-editor-operator-color); font-weight: bold } /* Operator */ +.highlight .p { color: var(--jp-mirror-editor-punctuation-color) } /* Punctuation */ +.highlight .ch { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.Hashbang */ +.highlight .cm { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.Multiline */ +.highlight .cp { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.Preproc */ +.highlight .cpf { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.PreprocFile */ +.highlight .c1 { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.Single */ +.highlight .cs { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.Special */ +.highlight .kc { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Constant */ +.highlight .kd { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Declaration */ +.highlight .kn { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Namespace */ +.highlight .kp { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Pseudo */ +.highlight .kr { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Reserved */ +.highlight .kt { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Type */ +.highlight .m { color: var(--jp-mirror-editor-number-color) } /* Literal.Number */ +.highlight .s { color: var(--jp-mirror-editor-string-color) } /* Literal.String */ +.highlight .ow { color: var(--jp-mirror-editor-operator-color); font-weight: bold } /* Operator.Word */ +.highlight .w { color: var(--jp-mirror-editor-variable-color) } /* Text.Whitespace */ +.highlight .mb { color: var(--jp-mirror-editor-number-color) } /* Literal.Number.Bin */ +.highlight .mf { color: var(--jp-mirror-editor-number-color) } /* Literal.Number.Float */ +.highlight .mh { color: var(--jp-mirror-editor-number-color) } /* Literal.Number.Hex */ +.highlight .mi { color: var(--jp-mirror-editor-number-color) } /* Literal.Number.Integer */ +.highlight .mo { color: var(--jp-mirror-editor-number-color) } /* Literal.Number.Oct */ +.highlight .sa { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Affix */ +.highlight .sb { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Backtick */ +.highlight .sc { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Char */ +.highlight .dl { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Delimiter */ +.highlight .sd { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Doc */ +.highlight .s2 { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Double */ +.highlight .se { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Escape */ +.highlight .sh { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Heredoc */ +.highlight .si { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Interpol */ +.highlight .sx { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Other */ +.highlight .sr { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Regex */ +.highlight .s1 { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Single */ +.highlight .ss { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Symbol */ +.highlight .il { color: var(--jp-mirror-editor-number-color) } /* Literal.Number.Integer.Long */ + </style> + + + +<style type="text/css"> +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +/* + * Mozilla scrollbar styling + */ + +/* use standard opaque scrollbars for most nodes */ +[data-jp-theme-scrollbars='true'] { + scrollbar-color: rgb(var(--jp-scrollbar-thumb-color)) + var(--jp-scrollbar-background-color); +} + +/* for code nodes, use a transparent style of scrollbar. These selectors + * will match lower in the tree, and so will override the above */ +[data-jp-theme-scrollbars='true'] .CodeMirror-hscrollbar, +[data-jp-theme-scrollbars='true'] .CodeMirror-vscrollbar { + scrollbar-color: rgba(var(--jp-scrollbar-thumb-color), 0.5) transparent; +} + +/* + * Webkit scrollbar styling + */ + +/* use standard opaque scrollbars for most nodes */ + +[data-jp-theme-scrollbars='true'] ::-webkit-scrollbar, +[data-jp-theme-scrollbars='true'] ::-webkit-scrollbar-corner { + background: var(--jp-scrollbar-background-color); +} + +[data-jp-theme-scrollbars='true'] ::-webkit-scrollbar-thumb { + background: rgb(var(--jp-scrollbar-thumb-color)); + border: var(--jp-scrollbar-thumb-margin) solid transparent; + background-clip: content-box; + border-radius: var(--jp-scrollbar-thumb-radius); +} + +[data-jp-theme-scrollbars='true'] ::-webkit-scrollbar-track:horizontal { + border-left: var(--jp-scrollbar-endpad) solid + var(--jp-scrollbar-background-color); + border-right: var(--jp-scrollbar-endpad) solid + var(--jp-scrollbar-background-color); +} + +[data-jp-theme-scrollbars='true'] ::-webkit-scrollbar-track:vertical { + border-top: var(--jp-scrollbar-endpad) solid + var(--jp-scrollbar-background-color); + border-bottom: var(--jp-scrollbar-endpad) solid + var(--jp-scrollbar-background-color); +} + +/* for code nodes, use a transparent style of scrollbar */ + +[data-jp-theme-scrollbars='true'] .CodeMirror-hscrollbar::-webkit-scrollbar, +[data-jp-theme-scrollbars='true'] .CodeMirror-vscrollbar::-webkit-scrollbar, +[data-jp-theme-scrollbars='true'] + .CodeMirror-hscrollbar::-webkit-scrollbar-corner, +[data-jp-theme-scrollbars='true'] + .CodeMirror-vscrollbar::-webkit-scrollbar-corner { + background-color: transparent; +} + +[data-jp-theme-scrollbars='true'] + .CodeMirror-hscrollbar::-webkit-scrollbar-thumb, +[data-jp-theme-scrollbars='true'] + .CodeMirror-vscrollbar::-webkit-scrollbar-thumb { + background: rgba(var(--jp-scrollbar-thumb-color), 0.5); + border: var(--jp-scrollbar-thumb-margin) solid transparent; + background-clip: content-box; + border-radius: var(--jp-scrollbar-thumb-radius); +} + +[data-jp-theme-scrollbars='true'] + .CodeMirror-hscrollbar::-webkit-scrollbar-track:horizontal { + border-left: var(--jp-scrollbar-endpad) solid transparent; + border-right: var(--jp-scrollbar-endpad) solid transparent; +} + +[data-jp-theme-scrollbars='true'] + .CodeMirror-vscrollbar::-webkit-scrollbar-track:vertical { + border-top: var(--jp-scrollbar-endpad) solid transparent; + border-bottom: var(--jp-scrollbar-endpad) solid transparent; +} + +/* + * Phosphor + */ + +.lm-ScrollBar[data-orientation='horizontal'] { + min-height: 16px; + max-height: 16px; + min-width: 45px; + border-top: 1px solid #a0a0a0; +} + +.lm-ScrollBar[data-orientation='vertical'] { + min-width: 16px; + max-width: 16px; + min-height: 45px; + border-left: 1px solid #a0a0a0; +} + +.lm-ScrollBar-button { + background-color: #f0f0f0; + background-position: center center; + min-height: 15px; + max-height: 15px; + min-width: 15px; + max-width: 15px; +} + +.lm-ScrollBar-button:hover { + background-color: #dadada; +} + +.lm-ScrollBar-button.lm-mod-active { + background-color: #cdcdcd; +} + +.lm-ScrollBar-track { + background: #f0f0f0; +} + +.lm-ScrollBar-thumb { + background: #cdcdcd; +} + +.lm-ScrollBar-thumb:hover { + background: #bababa; +} + +.lm-ScrollBar-thumb.lm-mod-active { + background: #a0a0a0; +} + +.lm-ScrollBar[data-orientation='horizontal'] .lm-ScrollBar-thumb { + height: 100%; + min-width: 15px; + border-left: 1px solid #a0a0a0; + border-right: 1px solid #a0a0a0; +} + +.lm-ScrollBar[data-orientation='vertical'] .lm-ScrollBar-thumb { + width: 100%; + min-height: 15px; + border-top: 1px solid #a0a0a0; + border-bottom: 1px solid #a0a0a0; +} + +.lm-ScrollBar[data-orientation='horizontal'] + .lm-ScrollBar-button[data-action='decrement'] { + background-image: var(--jp-icon-caret-left); + background-size: 17px; +} + +.lm-ScrollBar[data-orientation='horizontal'] + .lm-ScrollBar-button[data-action='increment'] { + background-image: var(--jp-icon-caret-right); + background-size: 17px; +} + +.lm-ScrollBar[data-orientation='vertical'] + .lm-ScrollBar-button[data-action='decrement'] { + background-image: var(--jp-icon-caret-up); + background-size: 17px; +} + +.lm-ScrollBar[data-orientation='vertical'] + .lm-ScrollBar-button[data-action='increment'] { + background-image: var(--jp-icon-caret-down); + background-size: 17px; +} + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Copyright (c) 2014-2017, PhosphorJS Contributors +| +| Distributed under the terms of the BSD 3-Clause License. +| +| The full license is in the file LICENSE, distributed with this software. +|----------------------------------------------------------------------------*/ + + +/* <DEPRECATED> */ .p-Widget, /* </DEPRECATED> */ +.lm-Widget { + box-sizing: border-box; + position: relative; + overflow: hidden; + cursor: default; +} + + +/* <DEPRECATED> */ .p-Widget.p-mod-hidden, /* </DEPRECATED> */ +.lm-Widget.lm-mod-hidden { + display: none !important; +} + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Copyright (c) 2014-2017, PhosphorJS Contributors +| +| Distributed under the terms of the BSD 3-Clause License. +| +| The full license is in the file LICENSE, distributed with this software. +|----------------------------------------------------------------------------*/ + + +/* <DEPRECATED> */ .p-CommandPalette, /* </DEPRECATED> */ +.lm-CommandPalette { + display: flex; + flex-direction: column; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + + +/* <DEPRECATED> */ .p-CommandPalette-search, /* </DEPRECATED> */ +.lm-CommandPalette-search { + flex: 0 0 auto; +} + + +/* <DEPRECATED> */ .p-CommandPalette-content, /* </DEPRECATED> */ +.lm-CommandPalette-content { + flex: 1 1 auto; + margin: 0; + padding: 0; + min-height: 0; + overflow: auto; + list-style-type: none; +} + + +/* <DEPRECATED> */ .p-CommandPalette-header, /* </DEPRECATED> */ +.lm-CommandPalette-header { + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} + + +/* <DEPRECATED> */ .p-CommandPalette-item, /* </DEPRECATED> */ +.lm-CommandPalette-item { + display: flex; + flex-direction: row; +} + + +/* <DEPRECATED> */ .p-CommandPalette-itemIcon, /* </DEPRECATED> */ +.lm-CommandPalette-itemIcon { + flex: 0 0 auto; +} + + +/* <DEPRECATED> */ .p-CommandPalette-itemContent, /* </DEPRECATED> */ +.lm-CommandPalette-itemContent { + flex: 1 1 auto; + overflow: hidden; +} + + +/* <DEPRECATED> */ .p-CommandPalette-itemShortcut, /* </DEPRECATED> */ +.lm-CommandPalette-itemShortcut { + flex: 0 0 auto; +} + + +/* <DEPRECATED> */ .p-CommandPalette-itemLabel, /* </DEPRECATED> */ +.lm-CommandPalette-itemLabel { + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Copyright (c) 2014-2017, PhosphorJS Contributors +| +| Distributed under the terms of the BSD 3-Clause License. +| +| The full license is in the file LICENSE, distributed with this software. +|----------------------------------------------------------------------------*/ + + +/* <DEPRECATED> */ .p-DockPanel, /* </DEPRECATED> */ +.lm-DockPanel { + z-index: 0; +} + + +/* <DEPRECATED> */ .p-DockPanel-widget, /* </DEPRECATED> */ +.lm-DockPanel-widget { + z-index: 0; +} + + +/* <DEPRECATED> */ .p-DockPanel-tabBar, /* </DEPRECATED> */ +.lm-DockPanel-tabBar { + z-index: 1; +} + + +/* <DEPRECATED> */ .p-DockPanel-handle, /* </DEPRECATED> */ +.lm-DockPanel-handle { + z-index: 2; +} + + +/* <DEPRECATED> */ .p-DockPanel-handle.p-mod-hidden, /* </DEPRECATED> */ +.lm-DockPanel-handle.lm-mod-hidden { + display: none !important; +} + + +/* <DEPRECATED> */ .p-DockPanel-handle:after, /* </DEPRECATED> */ +.lm-DockPanel-handle:after { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + content: ''; +} + + +/* <DEPRECATED> */ +.p-DockPanel-handle[data-orientation='horizontal'], +/* </DEPRECATED> */ +.lm-DockPanel-handle[data-orientation='horizontal'] { + cursor: ew-resize; +} + + +/* <DEPRECATED> */ +.p-DockPanel-handle[data-orientation='vertical'], +/* </DEPRECATED> */ +.lm-DockPanel-handle[data-orientation='vertical'] { + cursor: ns-resize; +} + + +/* <DEPRECATED> */ +.p-DockPanel-handle[data-orientation='horizontal']:after, +/* </DEPRECATED> */ +.lm-DockPanel-handle[data-orientation='horizontal']:after { + left: 50%; + min-width: 8px; + transform: translateX(-50%); +} + + +/* <DEPRECATED> */ +.p-DockPanel-handle[data-orientation='vertical']:after, +/* </DEPRECATED> */ +.lm-DockPanel-handle[data-orientation='vertical']:after { + top: 50%; + min-height: 8px; + transform: translateY(-50%); +} + + +/* <DEPRECATED> */ .p-DockPanel-overlay, /* </DEPRECATED> */ +.lm-DockPanel-overlay { + z-index: 3; + box-sizing: border-box; + pointer-events: none; +} + + +/* <DEPRECATED> */ .p-DockPanel-overlay.p-mod-hidden, /* </DEPRECATED> */ +.lm-DockPanel-overlay.lm-mod-hidden { + display: none !important; +} + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Copyright (c) 2014-2017, PhosphorJS Contributors +| +| Distributed under the terms of the BSD 3-Clause License. +| +| The full license is in the file LICENSE, distributed with this software. +|----------------------------------------------------------------------------*/ + + +/* <DEPRECATED> */ .p-Menu, /* </DEPRECATED> */ +.lm-Menu { + z-index: 10000; + position: absolute; + white-space: nowrap; + overflow-x: hidden; + overflow-y: auto; + outline: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + + +/* <DEPRECATED> */ .p-Menu-content, /* </DEPRECATED> */ +.lm-Menu-content { + margin: 0; + padding: 0; + display: table; + list-style-type: none; +} + + +/* <DEPRECATED> */ .p-Menu-item, /* </DEPRECATED> */ +.lm-Menu-item { + display: table-row; +} + + +/* <DEPRECATED> */ +.p-Menu-item.p-mod-hidden, +.p-Menu-item.p-mod-collapsed, +/* </DEPRECATED> */ +.lm-Menu-item.lm-mod-hidden, +.lm-Menu-item.lm-mod-collapsed { + display: none !important; +} + + +/* <DEPRECATED> */ +.p-Menu-itemIcon, +.p-Menu-itemSubmenuIcon, +/* </DEPRECATED> */ +.lm-Menu-itemIcon, +.lm-Menu-itemSubmenuIcon { + display: table-cell; + text-align: center; +} + + +/* <DEPRECATED> */ .p-Menu-itemLabel, /* </DEPRECATED> */ +.lm-Menu-itemLabel { + display: table-cell; + text-align: left; +} + + +/* <DEPRECATED> */ .p-Menu-itemShortcut, /* </DEPRECATED> */ +.lm-Menu-itemShortcut { + display: table-cell; + text-align: right; +} + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Copyright (c) 2014-2017, PhosphorJS Contributors +| +| Distributed under the terms of the BSD 3-Clause License. +| +| The full license is in the file LICENSE, distributed with this software. +|----------------------------------------------------------------------------*/ + + +/* <DEPRECATED> */ .p-MenuBar, /* </DEPRECATED> */ +.lm-MenuBar { + outline: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + + +/* <DEPRECATED> */ .p-MenuBar-content, /* </DEPRECATED> */ +.lm-MenuBar-content { + margin: 0; + padding: 0; + display: flex; + flex-direction: row; + list-style-type: none; +} + + +/* <DEPRECATED> */ .p--MenuBar-item, /* </DEPRECATED> */ +.lm-MenuBar-item { + box-sizing: border-box; +} + + +/* <DEPRECATED> */ +.p-MenuBar-itemIcon, +.p-MenuBar-itemLabel, +/* </DEPRECATED> */ +.lm-MenuBar-itemIcon, +.lm-MenuBar-itemLabel { + display: inline-block; +} + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Copyright (c) 2014-2017, PhosphorJS Contributors +| +| Distributed under the terms of the BSD 3-Clause License. +| +| The full license is in the file LICENSE, distributed with this software. +|----------------------------------------------------------------------------*/ + + +/* <DEPRECATED> */ .p-ScrollBar, /* </DEPRECATED> */ +.lm-ScrollBar { + display: flex; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + + +/* <DEPRECATED> */ +.p-ScrollBar[data-orientation='horizontal'], +/* </DEPRECATED> */ +.lm-ScrollBar[data-orientation='horizontal'] { + flex-direction: row; +} + + +/* <DEPRECATED> */ +.p-ScrollBar[data-orientation='vertical'], +/* </DEPRECATED> */ +.lm-ScrollBar[data-orientation='vertical'] { + flex-direction: column; +} + + +/* <DEPRECATED> */ .p-ScrollBar-button, /* </DEPRECATED> */ +.lm-ScrollBar-button { + box-sizing: border-box; + flex: 0 0 auto; +} + + +/* <DEPRECATED> */ .p-ScrollBar-track, /* </DEPRECATED> */ +.lm-ScrollBar-track { + box-sizing: border-box; + position: relative; + overflow: hidden; + flex: 1 1 auto; +} + + +/* <DEPRECATED> */ .p-ScrollBar-thumb, /* </DEPRECATED> */ +.lm-ScrollBar-thumb { + box-sizing: border-box; + position: absolute; +} + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Copyright (c) 2014-2017, PhosphorJS Contributors +| +| Distributed under the terms of the BSD 3-Clause License. +| +| The full license is in the file LICENSE, distributed with this software. +|----------------------------------------------------------------------------*/ + + +/* <DEPRECATED> */ .p-SplitPanel-child, /* </DEPRECATED> */ +.lm-SplitPanel-child { + z-index: 0; +} + + +/* <DEPRECATED> */ .p-SplitPanel-handle, /* </DEPRECATED> */ +.lm-SplitPanel-handle { + z-index: 1; +} + + +/* <DEPRECATED> */ .p-SplitPanel-handle.p-mod-hidden, /* </DEPRECATED> */ +.lm-SplitPanel-handle.lm-mod-hidden { + display: none !important; +} + + +/* <DEPRECATED> */ .p-SplitPanel-handle:after, /* </DEPRECATED> */ +.lm-SplitPanel-handle:after { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + content: ''; +} + + +/* <DEPRECATED> */ +.p-SplitPanel[data-orientation='horizontal'] > .p-SplitPanel-handle, +/* </DEPRECATED> */ +.lm-SplitPanel[data-orientation='horizontal'] > .lm-SplitPanel-handle { + cursor: ew-resize; +} + + +/* <DEPRECATED> */ +.p-SplitPanel[data-orientation='vertical'] > .p-SplitPanel-handle, +/* </DEPRECATED> */ +.lm-SplitPanel[data-orientation='vertical'] > .lm-SplitPanel-handle { + cursor: ns-resize; +} + + +/* <DEPRECATED> */ +.p-SplitPanel[data-orientation='horizontal'] > .p-SplitPanel-handle:after, +/* </DEPRECATED> */ +.lm-SplitPanel[data-orientation='horizontal'] > .lm-SplitPanel-handle:after { + left: 50%; + min-width: 8px; + transform: translateX(-50%); +} + + +/* <DEPRECATED> */ +.p-SplitPanel[data-orientation='vertical'] > .p-SplitPanel-handle:after, +/* </DEPRECATED> */ +.lm-SplitPanel[data-orientation='vertical'] > .lm-SplitPanel-handle:after { + top: 50%; + min-height: 8px; + transform: translateY(-50%); +} + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Copyright (c) 2014-2017, PhosphorJS Contributors +| +| Distributed under the terms of the BSD 3-Clause License. +| +| The full license is in the file LICENSE, distributed with this software. +|----------------------------------------------------------------------------*/ + + +/* <DEPRECATED> */ .p-TabBar, /* </DEPRECATED> */ +.lm-TabBar { + display: flex; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + + +/* <DEPRECATED> */ .p-TabBar[data-orientation='horizontal'], /* </DEPRECATED> */ +.lm-TabBar[data-orientation='horizontal'] { + flex-direction: row; +} + + +/* <DEPRECATED> */ .p-TabBar[data-orientation='vertical'], /* </DEPRECATED> */ +.lm-TabBar[data-orientation='vertical'] { + flex-direction: column; +} + + +/* <DEPRECATED> */ .p-TabBar-content, /* </DEPRECATED> */ +.lm-TabBar-content { + margin: 0; + padding: 0; + display: flex; + flex: 1 1 auto; + list-style-type: none; +} + + +/* <DEPRECATED> */ +.p-TabBar[data-orientation='horizontal'] > .p-TabBar-content, +/* </DEPRECATED> */ +.lm-TabBar[data-orientation='horizontal'] > .lm-TabBar-content { + flex-direction: row; +} + + +/* <DEPRECATED> */ +.p-TabBar[data-orientation='vertical'] > .p-TabBar-content, +/* </DEPRECATED> */ +.lm-TabBar[data-orientation='vertical'] > .lm-TabBar-content { + flex-direction: column; +} + + +/* <DEPRECATED> */ .p-TabBar-tab, /* </DEPRECATED> */ +.lm-TabBar-tab { + display: flex; + flex-direction: row; + box-sizing: border-box; + overflow: hidden; +} + + +/* <DEPRECATED> */ +.p-TabBar-tabIcon, +.p-TabBar-tabCloseIcon, +/* </DEPRECATED> */ +.lm-TabBar-tabIcon, +.lm-TabBar-tabCloseIcon { + flex: 0 0 auto; +} + + +/* <DEPRECATED> */ .p-TabBar-tabLabel, /* </DEPRECATED> */ +.lm-TabBar-tabLabel { + flex: 1 1 auto; + overflow: hidden; + white-space: nowrap; +} + + +/* <DEPRECATED> */ .p-TabBar-tab.p-mod-hidden, /* </DEPRECATED> */ +.lm-TabBar-tab.lm-mod-hidden { + display: none !important; +} + + +/* <DEPRECATED> */ .p-TabBar.p-mod-dragging .p-TabBar-tab, /* </DEPRECATED> */ +.lm-TabBar.lm-mod-dragging .lm-TabBar-tab { + position: relative; +} + + +/* <DEPRECATED> */ +.p-TabBar.p-mod-dragging[data-orientation='horizontal'] .p-TabBar-tab, +/* </DEPRECATED> */ +.lm-TabBar.lm-mod-dragging[data-orientation='horizontal'] .lm-TabBar-tab { + left: 0; + transition: left 150ms ease; +} + + +/* <DEPRECATED> */ +.p-TabBar.p-mod-dragging[data-orientation='vertical'] .p-TabBar-tab, +/* </DEPRECATED> */ +.lm-TabBar.lm-mod-dragging[data-orientation='vertical'] .lm-TabBar-tab { + top: 0; + transition: top 150ms ease; +} + + +/* <DEPRECATED> */ +.p-TabBar.p-mod-dragging .p-TabBar-tab.p-mod-dragging +/* </DEPRECATED> */ +.lm-TabBar.lm-mod-dragging .lm-TabBar-tab.lm-mod-dragging { + transition: none; +} + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Copyright (c) 2014-2017, PhosphorJS Contributors +| +| Distributed under the terms of the BSD 3-Clause License. +| +| The full license is in the file LICENSE, distributed with this software. +|----------------------------------------------------------------------------*/ + + +/* <DEPRECATED> */ .p-TabPanel-tabBar, /* </DEPRECATED> */ +.lm-TabPanel-tabBar { + z-index: 1; +} + + +/* <DEPRECATED> */ .p-TabPanel-stackedPanel, /* </DEPRECATED> */ +.lm-TabPanel-stackedPanel { + z-index: 0; +} + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Copyright (c) 2014-2017, PhosphorJS Contributors +| +| Distributed under the terms of the BSD 3-Clause License. +| +| The full license is in the file LICENSE, distributed with this software. +|----------------------------------------------------------------------------*/ + +@charset "UTF-8"; +/*! + +Copyright 2015-present Palantir Technologies, Inc. All rights reserved. +Licensed under the Apache License, Version 2.0. + +*/ +html{ + -webkit-box-sizing:border-box; + box-sizing:border-box; } + +*, +*::before, +*::after{ + -webkit-box-sizing:inherit; + box-sizing:inherit; } + +body{ + text-transform:none; + line-height:1.28581; + letter-spacing:0; + font-size:14px; + font-weight:400; + color:#182026; + font-family:-apple-system, "BlinkMacSystemFont", "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Open Sans", "Helvetica Neue", "Icons16", sans-serif; } + +p{ + margin-top:0; + margin-bottom:10px; } + +small{ + font-size:12px; } + +strong{ + font-weight:600; } + +::-moz-selection{ + background:rgba(125, 188, 255, 0.6); } + +::selection{ + background:rgba(125, 188, 255, 0.6); } +.bp3-heading{ + color:#182026; + font-weight:600; + margin:0 0 10px; + padding:0; } + .bp3-dark .bp3-heading{ + color:#f5f8fa; } + +h1.bp3-heading, .bp3-running-text h1{ + line-height:40px; + font-size:36px; } + +h2.bp3-heading, .bp3-running-text h2{ + line-height:32px; + font-size:28px; } + +h3.bp3-heading, .bp3-running-text h3{ + line-height:25px; + font-size:22px; } + +h4.bp3-heading, .bp3-running-text h4{ + line-height:21px; + font-size:18px; } + +h5.bp3-heading, .bp3-running-text h5{ + line-height:19px; + font-size:16px; } + +h6.bp3-heading, .bp3-running-text h6{ + line-height:16px; + font-size:14px; } +.bp3-ui-text{ + text-transform:none; + line-height:1.28581; + letter-spacing:0; + font-size:14px; + font-weight:400; } + +.bp3-monospace-text{ + text-transform:none; + font-family:monospace; } + +.bp3-text-muted{ + color:#5c7080; } + .bp3-dark .bp3-text-muted{ + color:#a7b6c2; } + +.bp3-text-disabled{ + color:rgba(92, 112, 128, 0.6); } + .bp3-dark .bp3-text-disabled{ + color:rgba(167, 182, 194, 0.6); } + +.bp3-text-overflow-ellipsis{ + overflow:hidden; + text-overflow:ellipsis; + white-space:nowrap; + word-wrap:normal; } +.bp3-running-text{ + line-height:1.5; + font-size:14px; } + .bp3-running-text h1{ + color:#182026; + font-weight:600; + margin-top:40px; + margin-bottom:20px; } + .bp3-dark .bp3-running-text h1{ + color:#f5f8fa; } + .bp3-running-text h2{ + color:#182026; + font-weight:600; + margin-top:40px; + margin-bottom:20px; } + .bp3-dark .bp3-running-text h2{ + color:#f5f8fa; } + .bp3-running-text h3{ + color:#182026; + font-weight:600; + margin-top:40px; + margin-bottom:20px; } + .bp3-dark .bp3-running-text h3{ + color:#f5f8fa; } + .bp3-running-text h4{ + color:#182026; + font-weight:600; + margin-top:40px; + margin-bottom:20px; } + .bp3-dark .bp3-running-text h4{ + color:#f5f8fa; } + .bp3-running-text h5{ + color:#182026; + font-weight:600; + margin-top:40px; + margin-bottom:20px; } + .bp3-dark .bp3-running-text h5{ + color:#f5f8fa; } + .bp3-running-text h6{ + color:#182026; + font-weight:600; + margin-top:40px; + margin-bottom:20px; } + .bp3-dark .bp3-running-text h6{ + color:#f5f8fa; } + .bp3-running-text hr{ + margin:20px 0; + border:none; + border-bottom:1px solid rgba(16, 22, 26, 0.15); } + .bp3-dark .bp3-running-text hr{ + border-color:rgba(255, 255, 255, 0.15); } + .bp3-running-text p{ + margin:0 0 10px; + padding:0; } + +.bp3-text-large{ + font-size:16px; } + +.bp3-text-small{ + font-size:12px; } +a{ + text-decoration:none; + color:#106ba3; } + a:hover{ + cursor:pointer; + text-decoration:underline; + color:#106ba3; } + a .bp3-icon, a .bp3-icon-standard, a .bp3-icon-large{ + color:inherit; } + a code, + .bp3-dark a code{ + color:inherit; } + .bp3-dark a, + .bp3-dark a:hover{ + color:#48aff0; } + .bp3-dark a .bp3-icon, .bp3-dark a .bp3-icon-standard, .bp3-dark a .bp3-icon-large, + .bp3-dark a:hover .bp3-icon, + .bp3-dark a:hover .bp3-icon-standard, + .bp3-dark a:hover .bp3-icon-large{ + color:inherit; } +.bp3-running-text code, .bp3-code{ + text-transform:none; + font-family:monospace; + border-radius:3px; + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2); + background:rgba(255, 255, 255, 0.7); + padding:2px 5px; + color:#5c7080; + font-size:smaller; } + .bp3-dark .bp3-running-text code, .bp3-running-text .bp3-dark code, .bp3-dark .bp3-code{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4); + background:rgba(16, 22, 26, 0.3); + color:#a7b6c2; } + .bp3-running-text a > code, a > .bp3-code{ + color:#137cbd; } + .bp3-dark .bp3-running-text a > code, .bp3-running-text .bp3-dark a > code, .bp3-dark a > .bp3-code{ + color:inherit; } + +.bp3-running-text pre, .bp3-code-block{ + text-transform:none; + font-family:monospace; + display:block; + margin:10px 0; + border-radius:3px; + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.15); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.15); + background:rgba(255, 255, 255, 0.7); + padding:13px 15px 12px; + line-height:1.4; + color:#182026; + font-size:13px; + word-break:break-all; + word-wrap:break-word; } + .bp3-dark .bp3-running-text pre, .bp3-running-text .bp3-dark pre, .bp3-dark .bp3-code-block{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4); + background:rgba(16, 22, 26, 0.3); + color:#f5f8fa; } + .bp3-running-text pre > code, .bp3-code-block > code{ + -webkit-box-shadow:none; + box-shadow:none; + background:none; + padding:0; + color:inherit; + font-size:inherit; } + +.bp3-running-text kbd, .bp3-key{ + display:-webkit-inline-box; + display:-ms-inline-flexbox; + display:inline-flex; + -webkit-box-align:center; + -ms-flex-align:center; + align-items:center; + -webkit-box-pack:center; + -ms-flex-pack:center; + justify-content:center; + border-radius:3px; + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.2); + background:#ffffff; + min-width:24px; + height:24px; + padding:3px 6px; + vertical-align:middle; + line-height:24px; + color:#5c7080; + font-family:inherit; + font-size:12px; } + .bp3-running-text kbd .bp3-icon, .bp3-key .bp3-icon, .bp3-running-text kbd .bp3-icon-standard, .bp3-key .bp3-icon-standard, .bp3-running-text kbd .bp3-icon-large, .bp3-key .bp3-icon-large{ + margin-right:5px; } + .bp3-dark .bp3-running-text kbd, .bp3-running-text .bp3-dark kbd, .bp3-dark .bp3-key{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.4); + background:#394b59; + color:#a7b6c2; } +.bp3-running-text blockquote, .bp3-blockquote{ + margin:0 0 10px; + border-left:solid 4px rgba(167, 182, 194, 0.5); + padding:0 20px; } + .bp3-dark .bp3-running-text blockquote, .bp3-running-text .bp3-dark blockquote, .bp3-dark .bp3-blockquote{ + border-color:rgba(115, 134, 148, 0.5); } +.bp3-running-text ul, +.bp3-running-text ol, .bp3-list{ + margin:10px 0; + padding-left:30px; } + .bp3-running-text ul li:not(:last-child), .bp3-running-text ol li:not(:last-child), .bp3-list li:not(:last-child){ + margin-bottom:5px; } + .bp3-running-text ul ol, .bp3-running-text ol ol, .bp3-list ol, + .bp3-running-text ul ul, + .bp3-running-text ol ul, + .bp3-list ul{ + margin-top:5px; } + +.bp3-list-unstyled{ + margin:0; + padding:0; + list-style:none; } + .bp3-list-unstyled li{ + padding:0; } +.bp3-rtl{ + text-align:right; } + +.bp3-dark{ + color:#f5f8fa; } + +:focus{ + outline:rgba(19, 124, 189, 0.6) auto 2px; + outline-offset:2px; + -moz-outline-radius:6px; } + +.bp3-focus-disabled :focus{ + outline:none !important; } + .bp3-focus-disabled :focus ~ .bp3-control-indicator{ + outline:none !important; } + +.bp3-alert{ + max-width:400px; + padding:20px; } + +.bp3-alert-body{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; } + .bp3-alert-body .bp3-icon{ + margin-top:0; + margin-right:20px; + font-size:40px; } + +.bp3-alert-footer{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-orient:horizontal; + -webkit-box-direction:reverse; + -ms-flex-direction:row-reverse; + flex-direction:row-reverse; + margin-top:10px; } + .bp3-alert-footer .bp3-button{ + margin-left:10px; } +.bp3-breadcrumbs{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -ms-flex-wrap:wrap; + flex-wrap:wrap; + -webkit-box-align:center; + -ms-flex-align:center; + align-items:center; + margin:0; + cursor:default; + height:30px; + padding:0; + list-style:none; } + .bp3-breadcrumbs > li{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-align:center; + -ms-flex-align:center; + align-items:center; } + .bp3-breadcrumbs > li::after{ + display:block; + margin:0 5px; + background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M10.71 7.29l-4-4a1.003 1.003 0 0 0-1.42 1.42L8.59 8 5.3 11.29c-.19.18-.3.43-.3.71a1.003 1.003 0 0 0 1.71.71l4-4c.18-.18.29-.43.29-.71 0-.28-.11-.53-.29-.71z' fill='%235C7080'/%3e%3c/svg%3e"); + width:16px; + height:16px; + content:""; } + .bp3-breadcrumbs > li:last-of-type::after{ + display:none; } + +.bp3-breadcrumb, +.bp3-breadcrumb-current, +.bp3-breadcrumbs-collapsed{ + display:-webkit-inline-box; + display:-ms-inline-flexbox; + display:inline-flex; + -webkit-box-align:center; + -ms-flex-align:center; + align-items:center; + font-size:16px; } + +.bp3-breadcrumb, +.bp3-breadcrumbs-collapsed{ + color:#5c7080; } + +.bp3-breadcrumb:hover{ + text-decoration:none; } + +.bp3-breadcrumb.bp3-disabled{ + cursor:not-allowed; + color:rgba(92, 112, 128, 0.6); } + +.bp3-breadcrumb .bp3-icon{ + margin-right:5px; } + +.bp3-breadcrumb-current{ + color:inherit; + font-weight:600; } + .bp3-breadcrumb-current .bp3-input{ + vertical-align:baseline; + font-size:inherit; + font-weight:inherit; } + +.bp3-breadcrumbs-collapsed{ + margin-right:2px; + border:none; + border-radius:3px; + background:#ced9e0; + cursor:pointer; + padding:1px 5px; + vertical-align:text-bottom; } + .bp3-breadcrumbs-collapsed::before{ + display:block; + background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cg fill='%235C7080'%3e%3ccircle cx='2' cy='8.03' r='2'/%3e%3ccircle cx='14' cy='8.03' r='2'/%3e%3ccircle cx='8' cy='8.03' r='2'/%3e%3c/g%3e%3c/svg%3e") center no-repeat; + width:16px; + height:16px; + content:""; } + .bp3-breadcrumbs-collapsed:hover{ + background:#bfccd6; + text-decoration:none; + color:#182026; } + +.bp3-dark .bp3-breadcrumb, +.bp3-dark .bp3-breadcrumbs-collapsed{ + color:#a7b6c2; } + +.bp3-dark .bp3-breadcrumbs > li::after{ + color:#a7b6c2; } + +.bp3-dark .bp3-breadcrumb.bp3-disabled{ + color:rgba(167, 182, 194, 0.6); } + +.bp3-dark .bp3-breadcrumb-current{ + color:#f5f8fa; } + +.bp3-dark .bp3-breadcrumbs-collapsed{ + background:rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-breadcrumbs-collapsed:hover{ + background:rgba(16, 22, 26, 0.6); + color:#f5f8fa; } +.bp3-button{ + display:-webkit-inline-box; + display:-ms-inline-flexbox; + display:inline-flex; + -webkit-box-orient:horizontal; + -webkit-box-direction:normal; + -ms-flex-direction:row; + flex-direction:row; + -webkit-box-align:center; + -ms-flex-align:center; + align-items:center; + -webkit-box-pack:center; + -ms-flex-pack:center; + justify-content:center; + border:none; + border-radius:3px; + cursor:pointer; + padding:5px 10px; + vertical-align:middle; + text-align:left; + font-size:14px; + min-width:30px; + min-height:30px; } + .bp3-button > *{ + -webkit-box-flex:0; + -ms-flex-positive:0; + flex-grow:0; + -ms-flex-negative:0; + flex-shrink:0; } + .bp3-button > .bp3-fill{ + -webkit-box-flex:1; + -ms-flex-positive:1; + flex-grow:1; + -ms-flex-negative:1; + flex-shrink:1; } + .bp3-button::before, + .bp3-button > *{ + margin-right:7px; } + .bp3-button:empty::before, + .bp3-button > :last-child{ + margin-right:0; } + .bp3-button:empty{ + padding:0 !important; } + .bp3-button:disabled, .bp3-button.bp3-disabled{ + cursor:not-allowed; } + .bp3-button.bp3-fill{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + width:100%; } + .bp3-button.bp3-align-right, + .bp3-align-right .bp3-button{ + text-align:right; } + .bp3-button.bp3-align-left, + .bp3-align-left .bp3-button{ + text-align:left; } + .bp3-button:not([class*="bp3-intent-"]){ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); + background-color:#f5f8fa; + background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.8)), to(rgba(255, 255, 255, 0))); + background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0)); + color:#182026; } + .bp3-button:not([class*="bp3-intent-"]):hover{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); + background-clip:padding-box; + background-color:#ebf1f5; } + .bp3-button:not([class*="bp3-intent-"]):active, .bp3-button:not([class*="bp3-intent-"]).bp3-active{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2); + background-color:#d8e1e8; + background-image:none; } + .bp3-button:not([class*="bp3-intent-"]):disabled, .bp3-button:not([class*="bp3-intent-"]).bp3-disabled{ + outline:none; + -webkit-box-shadow:none; + box-shadow:none; + background-color:rgba(206, 217, 224, 0.5); + background-image:none; + cursor:not-allowed; + color:rgba(92, 112, 128, 0.6); } + .bp3-button:not([class*="bp3-intent-"]):disabled.bp3-active, .bp3-button:not([class*="bp3-intent-"]):disabled.bp3-active:hover, .bp3-button:not([class*="bp3-intent-"]).bp3-disabled.bp3-active, .bp3-button:not([class*="bp3-intent-"]).bp3-disabled.bp3-active:hover{ + background:rgba(206, 217, 224, 0.7); } + .bp3-button.bp3-intent-primary{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + background-color:#137cbd; + background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.1)), to(rgba(255, 255, 255, 0))); + background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0)); + color:#ffffff; } + .bp3-button.bp3-intent-primary:hover, .bp3-button.bp3-intent-primary:active, .bp3-button.bp3-intent-primary.bp3-active{ + color:#ffffff; } + .bp3-button.bp3-intent-primary:hover{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + background-color:#106ba3; } + .bp3-button.bp3-intent-primary:active, .bp3-button.bp3-intent-primary.bp3-active{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); + background-color:#0e5a8a; + background-image:none; } + .bp3-button.bp3-intent-primary:disabled, .bp3-button.bp3-intent-primary.bp3-disabled{ + border-color:transparent; + -webkit-box-shadow:none; + box-shadow:none; + background-color:rgba(19, 124, 189, 0.5); + background-image:none; + color:rgba(255, 255, 255, 0.6); } + .bp3-button.bp3-intent-success{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + background-color:#0f9960; + background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.1)), to(rgba(255, 255, 255, 0))); + background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0)); + color:#ffffff; } + .bp3-button.bp3-intent-success:hover, .bp3-button.bp3-intent-success:active, .bp3-button.bp3-intent-success.bp3-active{ + color:#ffffff; } + .bp3-button.bp3-intent-success:hover{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + background-color:#0d8050; } + .bp3-button.bp3-intent-success:active, .bp3-button.bp3-intent-success.bp3-active{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); + background-color:#0a6640; + background-image:none; } + .bp3-button.bp3-intent-success:disabled, .bp3-button.bp3-intent-success.bp3-disabled{ + border-color:transparent; + -webkit-box-shadow:none; + box-shadow:none; + background-color:rgba(15, 153, 96, 0.5); + background-image:none; + color:rgba(255, 255, 255, 0.6); } + .bp3-button.bp3-intent-warning{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + background-color:#d9822b; + background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.1)), to(rgba(255, 255, 255, 0))); + background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0)); + color:#ffffff; } + .bp3-button.bp3-intent-warning:hover, .bp3-button.bp3-intent-warning:active, .bp3-button.bp3-intent-warning.bp3-active{ + color:#ffffff; } + .bp3-button.bp3-intent-warning:hover{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + background-color:#bf7326; } + .bp3-button.bp3-intent-warning:active, .bp3-button.bp3-intent-warning.bp3-active{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); + background-color:#a66321; + background-image:none; } + .bp3-button.bp3-intent-warning:disabled, .bp3-button.bp3-intent-warning.bp3-disabled{ + border-color:transparent; + -webkit-box-shadow:none; + box-shadow:none; + background-color:rgba(217, 130, 43, 0.5); + background-image:none; + color:rgba(255, 255, 255, 0.6); } + .bp3-button.bp3-intent-danger{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + background-color:#db3737; + background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.1)), to(rgba(255, 255, 255, 0))); + background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0)); + color:#ffffff; } + .bp3-button.bp3-intent-danger:hover, .bp3-button.bp3-intent-danger:active, .bp3-button.bp3-intent-danger.bp3-active{ + color:#ffffff; } + .bp3-button.bp3-intent-danger:hover{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + background-color:#c23030; } + .bp3-button.bp3-intent-danger:active, .bp3-button.bp3-intent-danger.bp3-active{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); + background-color:#a82a2a; + background-image:none; } + .bp3-button.bp3-intent-danger:disabled, .bp3-button.bp3-intent-danger.bp3-disabled{ + border-color:transparent; + -webkit-box-shadow:none; + box-shadow:none; + background-color:rgba(219, 55, 55, 0.5); + background-image:none; + color:rgba(255, 255, 255, 0.6); } + .bp3-button[class*="bp3-intent-"] .bp3-button-spinner .bp3-spinner-head{ + stroke:#ffffff; } + .bp3-button.bp3-large, + .bp3-large .bp3-button{ + min-width:40px; + min-height:40px; + padding:5px 15px; + font-size:16px; } + .bp3-button.bp3-large::before, + .bp3-button.bp3-large > *, + .bp3-large .bp3-button::before, + .bp3-large .bp3-button > *{ + margin-right:10px; } + .bp3-button.bp3-large:empty::before, + .bp3-button.bp3-large > :last-child, + .bp3-large .bp3-button:empty::before, + .bp3-large .bp3-button > :last-child{ + margin-right:0; } + .bp3-button.bp3-small, + .bp3-small .bp3-button{ + min-width:24px; + min-height:24px; + padding:0 7px; } + .bp3-button.bp3-loading{ + position:relative; } + .bp3-button.bp3-loading[class*="bp3-icon-"]::before{ + visibility:hidden; } + .bp3-button.bp3-loading .bp3-button-spinner{ + position:absolute; + margin:0; } + .bp3-button.bp3-loading > :not(.bp3-button-spinner){ + visibility:hidden; } + .bp3-button[class*="bp3-icon-"]::before{ + line-height:1; + font-family:"Icons16", sans-serif; + font-size:16px; + font-weight:400; + font-style:normal; + -moz-osx-font-smoothing:grayscale; + -webkit-font-smoothing:antialiased; + color:#5c7080; } + .bp3-button .bp3-icon, .bp3-button .bp3-icon-standard, .bp3-button .bp3-icon-large{ + color:#5c7080; } + .bp3-button .bp3-icon.bp3-align-right, .bp3-button .bp3-icon-standard.bp3-align-right, .bp3-button .bp3-icon-large.bp3-align-right{ + margin-left:7px; } + .bp3-button .bp3-icon:first-child:last-child, + .bp3-button .bp3-spinner + .bp3-icon:last-child{ + margin:0 -7px; } + .bp3-dark .bp3-button:not([class*="bp3-intent-"]){ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + background-color:#394b59; + background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.05)), to(rgba(255, 255, 255, 0))); + background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0)); + color:#f5f8fa; } + .bp3-dark .bp3-button:not([class*="bp3-intent-"]):hover, .bp3-dark .bp3-button:not([class*="bp3-intent-"]):active, .bp3-dark .bp3-button:not([class*="bp3-intent-"]).bp3-active{ + color:#f5f8fa; } + .bp3-dark .bp3-button:not([class*="bp3-intent-"]):hover{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + background-color:#30404d; } + .bp3-dark .bp3-button:not([class*="bp3-intent-"]):active, .bp3-dark .bp3-button:not([class*="bp3-intent-"]).bp3-active{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.6), inset 0 1px 2px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.6), inset 0 1px 2px rgba(16, 22, 26, 0.2); + background-color:#202b33; + background-image:none; } + .bp3-dark .bp3-button:not([class*="bp3-intent-"]):disabled, .bp3-dark .bp3-button:not([class*="bp3-intent-"]).bp3-disabled{ + -webkit-box-shadow:none; + box-shadow:none; + background-color:rgba(57, 75, 89, 0.5); + background-image:none; + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-button:not([class*="bp3-intent-"]):disabled.bp3-active, .bp3-dark .bp3-button:not([class*="bp3-intent-"]).bp3-disabled.bp3-active{ + background:rgba(57, 75, 89, 0.7); } + .bp3-dark .bp3-button:not([class*="bp3-intent-"]) .bp3-button-spinner .bp3-spinner-head{ + background:rgba(16, 22, 26, 0.5); + stroke:#8a9ba8; } + .bp3-dark .bp3-button:not([class*="bp3-intent-"])[class*="bp3-icon-"]::before{ + color:#a7b6c2; } + .bp3-dark .bp3-button:not([class*="bp3-intent-"]) .bp3-icon, .bp3-dark .bp3-button:not([class*="bp3-intent-"]) .bp3-icon-standard, .bp3-dark .bp3-button:not([class*="bp3-intent-"]) .bp3-icon-large{ + color:#a7b6c2; } + .bp3-dark .bp3-button[class*="bp3-intent-"]{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-button[class*="bp3-intent-"]:hover{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-button[class*="bp3-intent-"]:active, .bp3-dark .bp3-button[class*="bp3-intent-"].bp3-active{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); } + .bp3-dark .bp3-button[class*="bp3-intent-"]:disabled, .bp3-dark .bp3-button[class*="bp3-intent-"].bp3-disabled{ + -webkit-box-shadow:none; + box-shadow:none; + background-image:none; + color:rgba(255, 255, 255, 0.3); } + .bp3-dark .bp3-button[class*="bp3-intent-"] .bp3-button-spinner .bp3-spinner-head{ + stroke:#8a9ba8; } + .bp3-button:disabled::before, + .bp3-button:disabled .bp3-icon, .bp3-button:disabled .bp3-icon-standard, .bp3-button:disabled .bp3-icon-large, .bp3-button.bp3-disabled::before, + .bp3-button.bp3-disabled .bp3-icon, .bp3-button.bp3-disabled .bp3-icon-standard, .bp3-button.bp3-disabled .bp3-icon-large, .bp3-button[class*="bp3-intent-"]::before, + .bp3-button[class*="bp3-intent-"] .bp3-icon, .bp3-button[class*="bp3-intent-"] .bp3-icon-standard, .bp3-button[class*="bp3-intent-"] .bp3-icon-large{ + color:inherit !important; } + .bp3-button.bp3-minimal{ + -webkit-box-shadow:none; + box-shadow:none; + background:none; } + .bp3-button.bp3-minimal:hover{ + -webkit-box-shadow:none; + box-shadow:none; + background:rgba(167, 182, 194, 0.3); + text-decoration:none; + color:#182026; } + .bp3-button.bp3-minimal:active, .bp3-button.bp3-minimal.bp3-active{ + -webkit-box-shadow:none; + box-shadow:none; + background:rgba(115, 134, 148, 0.3); + color:#182026; } + .bp3-button.bp3-minimal:disabled, .bp3-button.bp3-minimal:disabled:hover, .bp3-button.bp3-minimal.bp3-disabled, .bp3-button.bp3-minimal.bp3-disabled:hover{ + background:none; + cursor:not-allowed; + color:rgba(92, 112, 128, 0.6); } + .bp3-button.bp3-minimal:disabled.bp3-active, .bp3-button.bp3-minimal:disabled:hover.bp3-active, .bp3-button.bp3-minimal.bp3-disabled.bp3-active, .bp3-button.bp3-minimal.bp3-disabled:hover.bp3-active{ + background:rgba(115, 134, 148, 0.3); } + .bp3-dark .bp3-button.bp3-minimal{ + -webkit-box-shadow:none; + box-shadow:none; + background:none; + color:inherit; } + .bp3-dark .bp3-button.bp3-minimal:hover, .bp3-dark .bp3-button.bp3-minimal:active, .bp3-dark .bp3-button.bp3-minimal.bp3-active{ + -webkit-box-shadow:none; + box-shadow:none; + background:none; } + .bp3-dark .bp3-button.bp3-minimal:hover{ + background:rgba(138, 155, 168, 0.15); } + .bp3-dark .bp3-button.bp3-minimal:active, .bp3-dark .bp3-button.bp3-minimal.bp3-active{ + background:rgba(138, 155, 168, 0.3); + color:#f5f8fa; } + .bp3-dark .bp3-button.bp3-minimal:disabled, .bp3-dark .bp3-button.bp3-minimal:disabled:hover, .bp3-dark .bp3-button.bp3-minimal.bp3-disabled, .bp3-dark .bp3-button.bp3-minimal.bp3-disabled:hover{ + background:none; + cursor:not-allowed; + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-button.bp3-minimal:disabled.bp3-active, .bp3-dark .bp3-button.bp3-minimal:disabled:hover.bp3-active, .bp3-dark .bp3-button.bp3-minimal.bp3-disabled.bp3-active, .bp3-dark .bp3-button.bp3-minimal.bp3-disabled:hover.bp3-active{ + background:rgba(138, 155, 168, 0.3); } + .bp3-button.bp3-minimal.bp3-intent-primary{ + color:#106ba3; } + .bp3-button.bp3-minimal.bp3-intent-primary:hover, .bp3-button.bp3-minimal.bp3-intent-primary:active, .bp3-button.bp3-minimal.bp3-intent-primary.bp3-active{ + -webkit-box-shadow:none; + box-shadow:none; + background:none; + color:#106ba3; } + .bp3-button.bp3-minimal.bp3-intent-primary:hover{ + background:rgba(19, 124, 189, 0.15); + color:#106ba3; } + .bp3-button.bp3-minimal.bp3-intent-primary:active, .bp3-button.bp3-minimal.bp3-intent-primary.bp3-active{ + background:rgba(19, 124, 189, 0.3); + color:#106ba3; } + .bp3-button.bp3-minimal.bp3-intent-primary:disabled, .bp3-button.bp3-minimal.bp3-intent-primary.bp3-disabled{ + background:none; + color:rgba(16, 107, 163, 0.5); } + .bp3-button.bp3-minimal.bp3-intent-primary:disabled.bp3-active, .bp3-button.bp3-minimal.bp3-intent-primary.bp3-disabled.bp3-active{ + background:rgba(19, 124, 189, 0.3); } + .bp3-button.bp3-minimal.bp3-intent-primary .bp3-button-spinner .bp3-spinner-head{ + stroke:#106ba3; } + .bp3-dark .bp3-button.bp3-minimal.bp3-intent-primary{ + color:#48aff0; } + .bp3-dark .bp3-button.bp3-minimal.bp3-intent-primary:hover{ + background:rgba(19, 124, 189, 0.2); + color:#48aff0; } + .bp3-dark .bp3-button.bp3-minimal.bp3-intent-primary:active, .bp3-dark .bp3-button.bp3-minimal.bp3-intent-primary.bp3-active{ + background:rgba(19, 124, 189, 0.3); + color:#48aff0; } + .bp3-dark .bp3-button.bp3-minimal.bp3-intent-primary:disabled, .bp3-dark .bp3-button.bp3-minimal.bp3-intent-primary.bp3-disabled{ + background:none; + color:rgba(72, 175, 240, 0.5); } + .bp3-dark .bp3-button.bp3-minimal.bp3-intent-primary:disabled.bp3-active, .bp3-dark .bp3-button.bp3-minimal.bp3-intent-primary.bp3-disabled.bp3-active{ + background:rgba(19, 124, 189, 0.3); } + .bp3-button.bp3-minimal.bp3-intent-success{ + color:#0d8050; } + .bp3-button.bp3-minimal.bp3-intent-success:hover, .bp3-button.bp3-minimal.bp3-intent-success:active, .bp3-button.bp3-minimal.bp3-intent-success.bp3-active{ + -webkit-box-shadow:none; + box-shadow:none; + background:none; + color:#0d8050; } + .bp3-button.bp3-minimal.bp3-intent-success:hover{ + background:rgba(15, 153, 96, 0.15); + color:#0d8050; } + .bp3-button.bp3-minimal.bp3-intent-success:active, .bp3-button.bp3-minimal.bp3-intent-success.bp3-active{ + background:rgba(15, 153, 96, 0.3); + color:#0d8050; } + .bp3-button.bp3-minimal.bp3-intent-success:disabled, .bp3-button.bp3-minimal.bp3-intent-success.bp3-disabled{ + background:none; + color:rgba(13, 128, 80, 0.5); } + .bp3-button.bp3-minimal.bp3-intent-success:disabled.bp3-active, .bp3-button.bp3-minimal.bp3-intent-success.bp3-disabled.bp3-active{ + background:rgba(15, 153, 96, 0.3); } + .bp3-button.bp3-minimal.bp3-intent-success .bp3-button-spinner .bp3-spinner-head{ + stroke:#0d8050; } + .bp3-dark .bp3-button.bp3-minimal.bp3-intent-success{ + color:#3dcc91; } + .bp3-dark .bp3-button.bp3-minimal.bp3-intent-success:hover{ + background:rgba(15, 153, 96, 0.2); + color:#3dcc91; } + .bp3-dark .bp3-button.bp3-minimal.bp3-intent-success:active, .bp3-dark .bp3-button.bp3-minimal.bp3-intent-success.bp3-active{ + background:rgba(15, 153, 96, 0.3); + color:#3dcc91; } + .bp3-dark .bp3-button.bp3-minimal.bp3-intent-success:disabled, .bp3-dark .bp3-button.bp3-minimal.bp3-intent-success.bp3-disabled{ + background:none; + color:rgba(61, 204, 145, 0.5); } + .bp3-dark .bp3-button.bp3-minimal.bp3-intent-success:disabled.bp3-active, .bp3-dark .bp3-button.bp3-minimal.bp3-intent-success.bp3-disabled.bp3-active{ + background:rgba(15, 153, 96, 0.3); } + .bp3-button.bp3-minimal.bp3-intent-warning{ + color:#bf7326; } + .bp3-button.bp3-minimal.bp3-intent-warning:hover, .bp3-button.bp3-minimal.bp3-intent-warning:active, .bp3-button.bp3-minimal.bp3-intent-warning.bp3-active{ + -webkit-box-shadow:none; + box-shadow:none; + background:none; + color:#bf7326; } + .bp3-button.bp3-minimal.bp3-intent-warning:hover{ + background:rgba(217, 130, 43, 0.15); + color:#bf7326; } + .bp3-button.bp3-minimal.bp3-intent-warning:active, .bp3-button.bp3-minimal.bp3-intent-warning.bp3-active{ + background:rgba(217, 130, 43, 0.3); + color:#bf7326; } + .bp3-button.bp3-minimal.bp3-intent-warning:disabled, .bp3-button.bp3-minimal.bp3-intent-warning.bp3-disabled{ + background:none; + color:rgba(191, 115, 38, 0.5); } + .bp3-button.bp3-minimal.bp3-intent-warning:disabled.bp3-active, .bp3-button.bp3-minimal.bp3-intent-warning.bp3-disabled.bp3-active{ + background:rgba(217, 130, 43, 0.3); } + .bp3-button.bp3-minimal.bp3-intent-warning .bp3-button-spinner .bp3-spinner-head{ + stroke:#bf7326; } + .bp3-dark .bp3-button.bp3-minimal.bp3-intent-warning{ + color:#ffb366; } + .bp3-dark .bp3-button.bp3-minimal.bp3-intent-warning:hover{ + background:rgba(217, 130, 43, 0.2); + color:#ffb366; } + .bp3-dark .bp3-button.bp3-minimal.bp3-intent-warning:active, .bp3-dark .bp3-button.bp3-minimal.bp3-intent-warning.bp3-active{ + background:rgba(217, 130, 43, 0.3); + color:#ffb366; } + .bp3-dark .bp3-button.bp3-minimal.bp3-intent-warning:disabled, .bp3-dark .bp3-button.bp3-minimal.bp3-intent-warning.bp3-disabled{ + background:none; + color:rgba(255, 179, 102, 0.5); } + .bp3-dark .bp3-button.bp3-minimal.bp3-intent-warning:disabled.bp3-active, .bp3-dark .bp3-button.bp3-minimal.bp3-intent-warning.bp3-disabled.bp3-active{ + background:rgba(217, 130, 43, 0.3); } + .bp3-button.bp3-minimal.bp3-intent-danger{ + color:#c23030; } + .bp3-button.bp3-minimal.bp3-intent-danger:hover, .bp3-button.bp3-minimal.bp3-intent-danger:active, .bp3-button.bp3-minimal.bp3-intent-danger.bp3-active{ + -webkit-box-shadow:none; + box-shadow:none; + background:none; + color:#c23030; } + .bp3-button.bp3-minimal.bp3-intent-danger:hover{ + background:rgba(219, 55, 55, 0.15); + color:#c23030; } + .bp3-button.bp3-minimal.bp3-intent-danger:active, .bp3-button.bp3-minimal.bp3-intent-danger.bp3-active{ + background:rgba(219, 55, 55, 0.3); + color:#c23030; } + .bp3-button.bp3-minimal.bp3-intent-danger:disabled, .bp3-button.bp3-minimal.bp3-intent-danger.bp3-disabled{ + background:none; + color:rgba(194, 48, 48, 0.5); } + .bp3-button.bp3-minimal.bp3-intent-danger:disabled.bp3-active, .bp3-button.bp3-minimal.bp3-intent-danger.bp3-disabled.bp3-active{ + background:rgba(219, 55, 55, 0.3); } + .bp3-button.bp3-minimal.bp3-intent-danger .bp3-button-spinner .bp3-spinner-head{ + stroke:#c23030; } + .bp3-dark .bp3-button.bp3-minimal.bp3-intent-danger{ + color:#ff7373; } + .bp3-dark .bp3-button.bp3-minimal.bp3-intent-danger:hover{ + background:rgba(219, 55, 55, 0.2); + color:#ff7373; } + .bp3-dark .bp3-button.bp3-minimal.bp3-intent-danger:active, .bp3-dark .bp3-button.bp3-minimal.bp3-intent-danger.bp3-active{ + background:rgba(219, 55, 55, 0.3); + color:#ff7373; } + .bp3-dark .bp3-button.bp3-minimal.bp3-intent-danger:disabled, .bp3-dark .bp3-button.bp3-minimal.bp3-intent-danger.bp3-disabled{ + background:none; + color:rgba(255, 115, 115, 0.5); } + .bp3-dark .bp3-button.bp3-minimal.bp3-intent-danger:disabled.bp3-active, .bp3-dark .bp3-button.bp3-minimal.bp3-intent-danger.bp3-disabled.bp3-active{ + background:rgba(219, 55, 55, 0.3); } + +a.bp3-button{ + text-align:center; + text-decoration:none; + -webkit-transition:none; + transition:none; } + a.bp3-button, a.bp3-button:hover, a.bp3-button:active{ + color:#182026; } + a.bp3-button.bp3-disabled{ + color:rgba(92, 112, 128, 0.6); } + +.bp3-button-text{ + -webkit-box-flex:0; + -ms-flex:0 1 auto; + flex:0 1 auto; } + +.bp3-button.bp3-align-left .bp3-button-text, .bp3-button.bp3-align-right .bp3-button-text, +.bp3-button-group.bp3-align-left .bp3-button-text, +.bp3-button-group.bp3-align-right .bp3-button-text{ + -webkit-box-flex:1; + -ms-flex:1 1 auto; + flex:1 1 auto; } +.bp3-button-group{ + display:-webkit-inline-box; + display:-ms-inline-flexbox; + display:inline-flex; } + .bp3-button-group .bp3-button{ + -webkit-box-flex:0; + -ms-flex:0 0 auto; + flex:0 0 auto; + position:relative; + z-index:4; } + .bp3-button-group .bp3-button:focus{ + z-index:5; } + .bp3-button-group .bp3-button:hover{ + z-index:6; } + .bp3-button-group .bp3-button:active, .bp3-button-group .bp3-button.bp3-active{ + z-index:7; } + .bp3-button-group .bp3-button:disabled, .bp3-button-group .bp3-button.bp3-disabled{ + z-index:3; } + .bp3-button-group .bp3-button[class*="bp3-intent-"]{ + z-index:9; } + .bp3-button-group .bp3-button[class*="bp3-intent-"]:focus{ + z-index:10; } + .bp3-button-group .bp3-button[class*="bp3-intent-"]:hover{ + z-index:11; } + .bp3-button-group .bp3-button[class*="bp3-intent-"]:active, .bp3-button-group .bp3-button[class*="bp3-intent-"].bp3-active{ + z-index:12; } + .bp3-button-group .bp3-button[class*="bp3-intent-"]:disabled, .bp3-button-group .bp3-button[class*="bp3-intent-"].bp3-disabled{ + z-index:8; } + .bp3-button-group:not(.bp3-minimal) > .bp3-popover-wrapper:not(:first-child) .bp3-button, + .bp3-button-group:not(.bp3-minimal) > .bp3-button:not(:first-child){ + border-top-left-radius:0; + border-bottom-left-radius:0; } + .bp3-button-group:not(.bp3-minimal) > .bp3-popover-wrapper:not(:last-child) .bp3-button, + .bp3-button-group:not(.bp3-minimal) > .bp3-button:not(:last-child){ + margin-right:-1px; + border-top-right-radius:0; + border-bottom-right-radius:0; } + .bp3-button-group.bp3-minimal .bp3-button{ + -webkit-box-shadow:none; + box-shadow:none; + background:none; } + .bp3-button-group.bp3-minimal .bp3-button:hover{ + -webkit-box-shadow:none; + box-shadow:none; + background:rgba(167, 182, 194, 0.3); + text-decoration:none; + color:#182026; } + .bp3-button-group.bp3-minimal .bp3-button:active, .bp3-button-group.bp3-minimal .bp3-button.bp3-active{ + -webkit-box-shadow:none; + box-shadow:none; + background:rgba(115, 134, 148, 0.3); + color:#182026; } + .bp3-button-group.bp3-minimal .bp3-button:disabled, .bp3-button-group.bp3-minimal .bp3-button:disabled:hover, .bp3-button-group.bp3-minimal .bp3-button.bp3-disabled, .bp3-button-group.bp3-minimal .bp3-button.bp3-disabled:hover{ + background:none; + cursor:not-allowed; + color:rgba(92, 112, 128, 0.6); } + .bp3-button-group.bp3-minimal .bp3-button:disabled.bp3-active, .bp3-button-group.bp3-minimal .bp3-button:disabled:hover.bp3-active, .bp3-button-group.bp3-minimal .bp3-button.bp3-disabled.bp3-active, .bp3-button-group.bp3-minimal .bp3-button.bp3-disabled:hover.bp3-active{ + background:rgba(115, 134, 148, 0.3); } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button{ + -webkit-box-shadow:none; + box-shadow:none; + background:none; + color:inherit; } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button:hover, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button:active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-active{ + -webkit-box-shadow:none; + box-shadow:none; + background:none; } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button:hover{ + background:rgba(138, 155, 168, 0.15); } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button:active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-active{ + background:rgba(138, 155, 168, 0.3); + color:#f5f8fa; } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button:disabled, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button:disabled:hover, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-disabled, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-disabled:hover{ + background:none; + cursor:not-allowed; + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button:disabled.bp3-active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button:disabled:hover.bp3-active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-disabled.bp3-active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-disabled:hover.bp3-active{ + background:rgba(138, 155, 168, 0.3); } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary{ + color:#106ba3; } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary:hover, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary:active, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary.bp3-active{ + -webkit-box-shadow:none; + box-shadow:none; + background:none; + color:#106ba3; } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary:hover{ + background:rgba(19, 124, 189, 0.15); + color:#106ba3; } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary:active, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary.bp3-active{ + background:rgba(19, 124, 189, 0.3); + color:#106ba3; } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary:disabled, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary.bp3-disabled{ + background:none; + color:rgba(16, 107, 163, 0.5); } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary:disabled.bp3-active, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary.bp3-disabled.bp3-active{ + background:rgba(19, 124, 189, 0.3); } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary .bp3-button-spinner .bp3-spinner-head{ + stroke:#106ba3; } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary{ + color:#48aff0; } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary:hover{ + background:rgba(19, 124, 189, 0.2); + color:#48aff0; } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary:active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary.bp3-active{ + background:rgba(19, 124, 189, 0.3); + color:#48aff0; } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary:disabled, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary.bp3-disabled{ + background:none; + color:rgba(72, 175, 240, 0.5); } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary:disabled.bp3-active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary.bp3-disabled.bp3-active{ + background:rgba(19, 124, 189, 0.3); } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success{ + color:#0d8050; } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success:hover, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success:active, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success.bp3-active{ + -webkit-box-shadow:none; + box-shadow:none; + background:none; + color:#0d8050; } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success:hover{ + background:rgba(15, 153, 96, 0.15); + color:#0d8050; } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success:active, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success.bp3-active{ + background:rgba(15, 153, 96, 0.3); + color:#0d8050; } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success:disabled, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success.bp3-disabled{ + background:none; + color:rgba(13, 128, 80, 0.5); } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success:disabled.bp3-active, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success.bp3-disabled.bp3-active{ + background:rgba(15, 153, 96, 0.3); } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success .bp3-button-spinner .bp3-spinner-head{ + stroke:#0d8050; } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success{ + color:#3dcc91; } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success:hover{ + background:rgba(15, 153, 96, 0.2); + color:#3dcc91; } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success:active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success.bp3-active{ + background:rgba(15, 153, 96, 0.3); + color:#3dcc91; } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success:disabled, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success.bp3-disabled{ + background:none; + color:rgba(61, 204, 145, 0.5); } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success:disabled.bp3-active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success.bp3-disabled.bp3-active{ + background:rgba(15, 153, 96, 0.3); } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning{ + color:#bf7326; } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning:hover, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning:active, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning.bp3-active{ + -webkit-box-shadow:none; + box-shadow:none; + background:none; + color:#bf7326; } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning:hover{ + background:rgba(217, 130, 43, 0.15); + color:#bf7326; } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning:active, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning.bp3-active{ + background:rgba(217, 130, 43, 0.3); + color:#bf7326; } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning:disabled, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning.bp3-disabled{ + background:none; + color:rgba(191, 115, 38, 0.5); } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning:disabled.bp3-active, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning.bp3-disabled.bp3-active{ + background:rgba(217, 130, 43, 0.3); } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning .bp3-button-spinner .bp3-spinner-head{ + stroke:#bf7326; } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning{ + color:#ffb366; } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning:hover{ + background:rgba(217, 130, 43, 0.2); + color:#ffb366; } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning:active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning.bp3-active{ + background:rgba(217, 130, 43, 0.3); + color:#ffb366; } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning:disabled, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning.bp3-disabled{ + background:none; + color:rgba(255, 179, 102, 0.5); } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning:disabled.bp3-active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning.bp3-disabled.bp3-active{ + background:rgba(217, 130, 43, 0.3); } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger{ + color:#c23030; } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger:hover, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger:active, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger.bp3-active{ + -webkit-box-shadow:none; + box-shadow:none; + background:none; + color:#c23030; } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger:hover{ + background:rgba(219, 55, 55, 0.15); + color:#c23030; } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger:active, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger.bp3-active{ + background:rgba(219, 55, 55, 0.3); + color:#c23030; } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger:disabled, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger.bp3-disabled{ + background:none; + color:rgba(194, 48, 48, 0.5); } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger:disabled.bp3-active, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger.bp3-disabled.bp3-active{ + background:rgba(219, 55, 55, 0.3); } + .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger .bp3-button-spinner .bp3-spinner-head{ + stroke:#c23030; } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger{ + color:#ff7373; } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger:hover{ + background:rgba(219, 55, 55, 0.2); + color:#ff7373; } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger:active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger.bp3-active{ + background:rgba(219, 55, 55, 0.3); + color:#ff7373; } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger:disabled, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger.bp3-disabled{ + background:none; + color:rgba(255, 115, 115, 0.5); } + .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger:disabled.bp3-active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger.bp3-disabled.bp3-active{ + background:rgba(219, 55, 55, 0.3); } + .bp3-button-group .bp3-popover-wrapper, + .bp3-button-group .bp3-popover-target{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-flex:1; + -ms-flex:1 1 auto; + flex:1 1 auto; } + .bp3-button-group.bp3-fill{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + width:100%; } + .bp3-button-group .bp3-button.bp3-fill, + .bp3-button-group.bp3-fill .bp3-button:not(.bp3-fixed){ + -webkit-box-flex:1; + -ms-flex:1 1 auto; + flex:1 1 auto; } + .bp3-button-group.bp3-vertical{ + -webkit-box-orient:vertical; + -webkit-box-direction:normal; + -ms-flex-direction:column; + flex-direction:column; + -webkit-box-align:stretch; + -ms-flex-align:stretch; + align-items:stretch; + vertical-align:top; } + .bp3-button-group.bp3-vertical.bp3-fill{ + width:unset; + height:100%; } + .bp3-button-group.bp3-vertical .bp3-button{ + margin-right:0 !important; + width:100%; } + .bp3-button-group.bp3-vertical:not(.bp3-minimal) > .bp3-popover-wrapper:first-child .bp3-button, + .bp3-button-group.bp3-vertical:not(.bp3-minimal) > .bp3-button:first-child{ + border-radius:3px 3px 0 0; } + .bp3-button-group.bp3-vertical:not(.bp3-minimal) > .bp3-popover-wrapper:last-child .bp3-button, + .bp3-button-group.bp3-vertical:not(.bp3-minimal) > .bp3-button:last-child{ + border-radius:0 0 3px 3px; } + .bp3-button-group.bp3-vertical:not(.bp3-minimal) > .bp3-popover-wrapper:not(:last-child) .bp3-button, + .bp3-button-group.bp3-vertical:not(.bp3-minimal) > .bp3-button:not(:last-child){ + margin-bottom:-1px; } + .bp3-button-group.bp3-align-left .bp3-button{ + text-align:left; } + .bp3-dark .bp3-button-group:not(.bp3-minimal) > .bp3-popover-wrapper:not(:last-child) .bp3-button, + .bp3-dark .bp3-button-group:not(.bp3-minimal) > .bp3-button:not(:last-child){ + margin-right:1px; } + .bp3-dark .bp3-button-group.bp3-vertical > .bp3-popover-wrapper:not(:last-child) .bp3-button, + .bp3-dark .bp3-button-group.bp3-vertical > .bp3-button:not(:last-child){ + margin-bottom:1px; } +.bp3-callout{ + line-height:1.5; + font-size:14px; + position:relative; + border-radius:3px; + background-color:rgba(138, 155, 168, 0.15); + width:100%; + padding:10px 12px 9px; } + .bp3-callout[class*="bp3-icon-"]{ + padding-left:40px; } + .bp3-callout[class*="bp3-icon-"]::before{ + line-height:1; + font-family:"Icons20", sans-serif; + font-size:20px; + font-weight:400; + font-style:normal; + -moz-osx-font-smoothing:grayscale; + -webkit-font-smoothing:antialiased; + position:absolute; + top:10px; + left:10px; + color:#5c7080; } + .bp3-callout.bp3-callout-icon{ + padding-left:40px; } + .bp3-callout.bp3-callout-icon > .bp3-icon:first-child{ + position:absolute; + top:10px; + left:10px; + color:#5c7080; } + .bp3-callout .bp3-heading{ + margin-top:0; + margin-bottom:5px; + line-height:20px; } + .bp3-callout .bp3-heading:last-child{ + margin-bottom:0; } + .bp3-dark .bp3-callout{ + background-color:rgba(138, 155, 168, 0.2); } + .bp3-dark .bp3-callout[class*="bp3-icon-"]::before{ + color:#a7b6c2; } + .bp3-callout.bp3-intent-primary{ + background-color:rgba(19, 124, 189, 0.15); } + .bp3-callout.bp3-intent-primary[class*="bp3-icon-"]::before, + .bp3-callout.bp3-intent-primary > .bp3-icon:first-child, + .bp3-callout.bp3-intent-primary .bp3-heading{ + color:#106ba3; } + .bp3-dark .bp3-callout.bp3-intent-primary{ + background-color:rgba(19, 124, 189, 0.25); } + .bp3-dark .bp3-callout.bp3-intent-primary[class*="bp3-icon-"]::before, + .bp3-dark .bp3-callout.bp3-intent-primary > .bp3-icon:first-child, + .bp3-dark .bp3-callout.bp3-intent-primary .bp3-heading{ + color:#48aff0; } + .bp3-callout.bp3-intent-success{ + background-color:rgba(15, 153, 96, 0.15); } + .bp3-callout.bp3-intent-success[class*="bp3-icon-"]::before, + .bp3-callout.bp3-intent-success > .bp3-icon:first-child, + .bp3-callout.bp3-intent-success .bp3-heading{ + color:#0d8050; } + .bp3-dark .bp3-callout.bp3-intent-success{ + background-color:rgba(15, 153, 96, 0.25); } + .bp3-dark .bp3-callout.bp3-intent-success[class*="bp3-icon-"]::before, + .bp3-dark .bp3-callout.bp3-intent-success > .bp3-icon:first-child, + .bp3-dark .bp3-callout.bp3-intent-success .bp3-heading{ + color:#3dcc91; } + .bp3-callout.bp3-intent-warning{ + background-color:rgba(217, 130, 43, 0.15); } + .bp3-callout.bp3-intent-warning[class*="bp3-icon-"]::before, + .bp3-callout.bp3-intent-warning > .bp3-icon:first-child, + .bp3-callout.bp3-intent-warning .bp3-heading{ + color:#bf7326; } + .bp3-dark .bp3-callout.bp3-intent-warning{ + background-color:rgba(217, 130, 43, 0.25); } + .bp3-dark .bp3-callout.bp3-intent-warning[class*="bp3-icon-"]::before, + .bp3-dark .bp3-callout.bp3-intent-warning > .bp3-icon:first-child, + .bp3-dark .bp3-callout.bp3-intent-warning .bp3-heading{ + color:#ffb366; } + .bp3-callout.bp3-intent-danger{ + background-color:rgba(219, 55, 55, 0.15); } + .bp3-callout.bp3-intent-danger[class*="bp3-icon-"]::before, + .bp3-callout.bp3-intent-danger > .bp3-icon:first-child, + .bp3-callout.bp3-intent-danger .bp3-heading{ + color:#c23030; } + .bp3-dark .bp3-callout.bp3-intent-danger{ + background-color:rgba(219, 55, 55, 0.25); } + .bp3-dark .bp3-callout.bp3-intent-danger[class*="bp3-icon-"]::before, + .bp3-dark .bp3-callout.bp3-intent-danger > .bp3-icon:first-child, + .bp3-dark .bp3-callout.bp3-intent-danger .bp3-heading{ + color:#ff7373; } + .bp3-running-text .bp3-callout{ + margin:20px 0; } +.bp3-card{ + border-radius:3px; + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.15), 0 0 0 rgba(16, 22, 26, 0), 0 0 0 rgba(16, 22, 26, 0); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.15), 0 0 0 rgba(16, 22, 26, 0), 0 0 0 rgba(16, 22, 26, 0); + background-color:#ffffff; + padding:20px; + -webkit-transition:-webkit-transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9), -webkit-box-shadow 200ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:-webkit-transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9), -webkit-box-shadow 200ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9), box-shadow 200ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9), box-shadow 200ms cubic-bezier(0.4, 1, 0.75, 0.9), -webkit-transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9), -webkit-box-shadow 200ms cubic-bezier(0.4, 1, 0.75, 0.9); } + .bp3-card.bp3-dark, + .bp3-dark .bp3-card{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4), 0 0 0 rgba(16, 22, 26, 0), 0 0 0 rgba(16, 22, 26, 0); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4), 0 0 0 rgba(16, 22, 26, 0), 0 0 0 rgba(16, 22, 26, 0); + background-color:#30404d; } + +.bp3-elevation-0{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.15), 0 0 0 rgba(16, 22, 26, 0), 0 0 0 rgba(16, 22, 26, 0); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.15), 0 0 0 rgba(16, 22, 26, 0), 0 0 0 rgba(16, 22, 26, 0); } + .bp3-elevation-0.bp3-dark, + .bp3-dark .bp3-elevation-0{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4), 0 0 0 rgba(16, 22, 26, 0), 0 0 0 rgba(16, 22, 26, 0); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4), 0 0 0 rgba(16, 22, 26, 0), 0 0 0 rgba(16, 22, 26, 0); } + +.bp3-elevation-1{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-elevation-1.bp3-dark, + .bp3-dark .bp3-elevation-1{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.4); } + +.bp3-elevation-2{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 1px 1px rgba(16, 22, 26, 0.2), 0 2px 6px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 1px 1px rgba(16, 22, 26, 0.2), 0 2px 6px rgba(16, 22, 26, 0.2); } + .bp3-elevation-2.bp3-dark, + .bp3-dark .bp3-elevation-2{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 1px 1px rgba(16, 22, 26, 0.4), 0 2px 6px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 1px 1px rgba(16, 22, 26, 0.4), 0 2px 6px rgba(16, 22, 26, 0.4); } + +.bp3-elevation-3{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2); } + .bp3-elevation-3.bp3-dark, + .bp3-dark .bp3-elevation-3{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4); } + +.bp3-elevation-4{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 4px 8px rgba(16, 22, 26, 0.2), 0 18px 46px 6px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 4px 8px rgba(16, 22, 26, 0.2), 0 18px 46px 6px rgba(16, 22, 26, 0.2); } + .bp3-elevation-4.bp3-dark, + .bp3-dark .bp3-elevation-4{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 4px 8px rgba(16, 22, 26, 0.4), 0 18px 46px 6px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 4px 8px rgba(16, 22, 26, 0.4), 0 18px 46px 6px rgba(16, 22, 26, 0.4); } + +.bp3-card.bp3-interactive:hover{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2); + cursor:pointer; } + .bp3-card.bp3-interactive:hover.bp3-dark, + .bp3-dark .bp3-card.bp3-interactive:hover{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4); } + +.bp3-card.bp3-interactive:active{ + opacity:0.9; + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.2); + -webkit-transition-duration:0; + transition-duration:0; } + .bp3-card.bp3-interactive:active.bp3-dark, + .bp3-dark .bp3-card.bp3-interactive:active{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.4); } + +.bp3-collapse{ + height:0; + overflow-y:hidden; + -webkit-transition:height 200ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:height 200ms cubic-bezier(0.4, 1, 0.75, 0.9); } + .bp3-collapse .bp3-collapse-body{ + -webkit-transition:-webkit-transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:-webkit-transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9), -webkit-transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9); } + .bp3-collapse .bp3-collapse-body[aria-hidden="true"]{ + display:none; } + +.bp3-context-menu .bp3-popover-target{ + display:block; } + +.bp3-context-menu-popover-target{ + position:fixed; } + +.bp3-divider{ + margin:5px; + border-right:1px solid rgba(16, 22, 26, 0.15); + border-bottom:1px solid rgba(16, 22, 26, 0.15); } + .bp3-dark .bp3-divider{ + border-color:rgba(16, 22, 26, 0.4); } +.bp3-dialog-container{ + opacity:1; + -webkit-transform:scale(1); + transform:scale(1); + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-align:center; + -ms-flex-align:center; + align-items:center; + -webkit-box-pack:center; + -ms-flex-pack:center; + justify-content:center; + width:100%; + min-height:100%; + pointer-events:none; + -webkit-user-select:none; + -moz-user-select:none; + -ms-user-select:none; + user-select:none; } + .bp3-dialog-container.bp3-overlay-enter > .bp3-dialog, .bp3-dialog-container.bp3-overlay-appear > .bp3-dialog{ + opacity:0; + -webkit-transform:scale(0.5); + transform:scale(0.5); } + .bp3-dialog-container.bp3-overlay-enter-active > .bp3-dialog, .bp3-dialog-container.bp3-overlay-appear-active > .bp3-dialog{ + opacity:1; + -webkit-transform:scale(1); + transform:scale(1); + -webkit-transition-property:opacity, -webkit-transform; + transition-property:opacity, -webkit-transform; + transition-property:opacity, transform; + transition-property:opacity, transform, -webkit-transform; + -webkit-transition-duration:300ms; + transition-duration:300ms; + -webkit-transition-timing-function:cubic-bezier(0.54, 1.12, 0.38, 1.11); + transition-timing-function:cubic-bezier(0.54, 1.12, 0.38, 1.11); + -webkit-transition-delay:0; + transition-delay:0; } + .bp3-dialog-container.bp3-overlay-exit > .bp3-dialog{ + opacity:1; + -webkit-transform:scale(1); + transform:scale(1); } + .bp3-dialog-container.bp3-overlay-exit-active > .bp3-dialog{ + opacity:0; + -webkit-transform:scale(0.5); + transform:scale(0.5); + -webkit-transition-property:opacity, -webkit-transform; + transition-property:opacity, -webkit-transform; + transition-property:opacity, transform; + transition-property:opacity, transform, -webkit-transform; + -webkit-transition-duration:300ms; + transition-duration:300ms; + -webkit-transition-timing-function:cubic-bezier(0.54, 1.12, 0.38, 1.11); + transition-timing-function:cubic-bezier(0.54, 1.12, 0.38, 1.11); + -webkit-transition-delay:0; + transition-delay:0; } + +.bp3-dialog{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-orient:vertical; + -webkit-box-direction:normal; + -ms-flex-direction:column; + flex-direction:column; + margin:30px 0; + border-radius:6px; + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 4px 8px rgba(16, 22, 26, 0.2), 0 18px 46px 6px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 4px 8px rgba(16, 22, 26, 0.2), 0 18px 46px 6px rgba(16, 22, 26, 0.2); + background:#ebf1f5; + width:500px; + padding-bottom:20px; + pointer-events:all; + -webkit-user-select:text; + -moz-user-select:text; + -ms-user-select:text; + user-select:text; } + .bp3-dialog:focus{ + outline:0; } + .bp3-dialog.bp3-dark, + .bp3-dark .bp3-dialog{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 4px 8px rgba(16, 22, 26, 0.4), 0 18px 46px 6px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 4px 8px rgba(16, 22, 26, 0.4), 0 18px 46px 6px rgba(16, 22, 26, 0.4); + background:#293742; + color:#f5f8fa; } + +.bp3-dialog-header{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-flex:0; + -ms-flex:0 0 auto; + flex:0 0 auto; + -webkit-box-align:center; + -ms-flex-align:center; + align-items:center; + border-radius:6px 6px 0 0; + -webkit-box-shadow:0 1px 0 rgba(16, 22, 26, 0.15); + box-shadow:0 1px 0 rgba(16, 22, 26, 0.15); + background:#ffffff; + min-height:40px; + padding-right:5px; + padding-left:20px; } + .bp3-dialog-header .bp3-icon-large, + .bp3-dialog-header .bp3-icon{ + -webkit-box-flex:0; + -ms-flex:0 0 auto; + flex:0 0 auto; + margin-right:10px; + color:#5c7080; } + .bp3-dialog-header .bp3-heading{ + overflow:hidden; + text-overflow:ellipsis; + white-space:nowrap; + word-wrap:normal; + -webkit-box-flex:1; + -ms-flex:1 1 auto; + flex:1 1 auto; + margin:0; + line-height:inherit; } + .bp3-dialog-header .bp3-heading:last-child{ + margin-right:20px; } + .bp3-dark .bp3-dialog-header{ + -webkit-box-shadow:0 1px 0 rgba(16, 22, 26, 0.4); + box-shadow:0 1px 0 rgba(16, 22, 26, 0.4); + background:#30404d; } + .bp3-dark .bp3-dialog-header .bp3-icon-large, + .bp3-dark .bp3-dialog-header .bp3-icon{ + color:#a7b6c2; } + +.bp3-dialog-body{ + -webkit-box-flex:1; + -ms-flex:1 1 auto; + flex:1 1 auto; + margin:20px; + line-height:18px; } + +.bp3-dialog-footer{ + -webkit-box-flex:0; + -ms-flex:0 0 auto; + flex:0 0 auto; + margin:0 20px; } + +.bp3-dialog-footer-actions{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-pack:end; + -ms-flex-pack:end; + justify-content:flex-end; } + .bp3-dialog-footer-actions .bp3-button{ + margin-left:10px; } +.bp3-drawer{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-orient:vertical; + -webkit-box-direction:normal; + -ms-flex-direction:column; + flex-direction:column; + margin:0; + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 4px 8px rgba(16, 22, 26, 0.2), 0 18px 46px 6px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 4px 8px rgba(16, 22, 26, 0.2), 0 18px 46px 6px rgba(16, 22, 26, 0.2); + background:#ffffff; + padding:0; } + .bp3-drawer:focus{ + outline:0; } + .bp3-drawer.bp3-position-top{ + top:0; + right:0; + left:0; + height:50%; } + .bp3-drawer.bp3-position-top.bp3-overlay-enter, .bp3-drawer.bp3-position-top.bp3-overlay-appear{ + -webkit-transform:translateY(-100%); + transform:translateY(-100%); } + .bp3-drawer.bp3-position-top.bp3-overlay-enter-active, .bp3-drawer.bp3-position-top.bp3-overlay-appear-active{ + -webkit-transform:translateY(0); + transform:translateY(0); + -webkit-transition-property:-webkit-transform; + transition-property:-webkit-transform; + transition-property:transform; + transition-property:transform, -webkit-transform; + -webkit-transition-duration:200ms; + transition-duration:200ms; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + -webkit-transition-delay:0; + transition-delay:0; } + .bp3-drawer.bp3-position-top.bp3-overlay-exit{ + -webkit-transform:translateY(0); + transform:translateY(0); } + .bp3-drawer.bp3-position-top.bp3-overlay-exit-active{ + -webkit-transform:translateY(-100%); + transform:translateY(-100%); + -webkit-transition-property:-webkit-transform; + transition-property:-webkit-transform; + transition-property:transform; + transition-property:transform, -webkit-transform; + -webkit-transition-duration:100ms; + transition-duration:100ms; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + -webkit-transition-delay:0; + transition-delay:0; } + .bp3-drawer.bp3-position-bottom{ + right:0; + bottom:0; + left:0; + height:50%; } + .bp3-drawer.bp3-position-bottom.bp3-overlay-enter, .bp3-drawer.bp3-position-bottom.bp3-overlay-appear{ + -webkit-transform:translateY(100%); + transform:translateY(100%); } + .bp3-drawer.bp3-position-bottom.bp3-overlay-enter-active, .bp3-drawer.bp3-position-bottom.bp3-overlay-appear-active{ + -webkit-transform:translateY(0); + transform:translateY(0); + -webkit-transition-property:-webkit-transform; + transition-property:-webkit-transform; + transition-property:transform; + transition-property:transform, -webkit-transform; + -webkit-transition-duration:200ms; + transition-duration:200ms; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + -webkit-transition-delay:0; + transition-delay:0; } + .bp3-drawer.bp3-position-bottom.bp3-overlay-exit{ + -webkit-transform:translateY(0); + transform:translateY(0); } + .bp3-drawer.bp3-position-bottom.bp3-overlay-exit-active{ + -webkit-transform:translateY(100%); + transform:translateY(100%); + -webkit-transition-property:-webkit-transform; + transition-property:-webkit-transform; + transition-property:transform; + transition-property:transform, -webkit-transform; + -webkit-transition-duration:100ms; + transition-duration:100ms; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + -webkit-transition-delay:0; + transition-delay:0; } + .bp3-drawer.bp3-position-left{ + top:0; + bottom:0; + left:0; + width:50%; } + .bp3-drawer.bp3-position-left.bp3-overlay-enter, .bp3-drawer.bp3-position-left.bp3-overlay-appear{ + -webkit-transform:translateX(-100%); + transform:translateX(-100%); } + .bp3-drawer.bp3-position-left.bp3-overlay-enter-active, .bp3-drawer.bp3-position-left.bp3-overlay-appear-active{ + -webkit-transform:translateX(0); + transform:translateX(0); + -webkit-transition-property:-webkit-transform; + transition-property:-webkit-transform; + transition-property:transform; + transition-property:transform, -webkit-transform; + -webkit-transition-duration:200ms; + transition-duration:200ms; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + -webkit-transition-delay:0; + transition-delay:0; } + .bp3-drawer.bp3-position-left.bp3-overlay-exit{ + -webkit-transform:translateX(0); + transform:translateX(0); } + .bp3-drawer.bp3-position-left.bp3-overlay-exit-active{ + -webkit-transform:translateX(-100%); + transform:translateX(-100%); + -webkit-transition-property:-webkit-transform; + transition-property:-webkit-transform; + transition-property:transform; + transition-property:transform, -webkit-transform; + -webkit-transition-duration:100ms; + transition-duration:100ms; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + -webkit-transition-delay:0; + transition-delay:0; } + .bp3-drawer.bp3-position-right{ + top:0; + right:0; + bottom:0; + width:50%; } + .bp3-drawer.bp3-position-right.bp3-overlay-enter, .bp3-drawer.bp3-position-right.bp3-overlay-appear{ + -webkit-transform:translateX(100%); + transform:translateX(100%); } + .bp3-drawer.bp3-position-right.bp3-overlay-enter-active, .bp3-drawer.bp3-position-right.bp3-overlay-appear-active{ + -webkit-transform:translateX(0); + transform:translateX(0); + -webkit-transition-property:-webkit-transform; + transition-property:-webkit-transform; + transition-property:transform; + transition-property:transform, -webkit-transform; + -webkit-transition-duration:200ms; + transition-duration:200ms; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + -webkit-transition-delay:0; + transition-delay:0; } + .bp3-drawer.bp3-position-right.bp3-overlay-exit{ + -webkit-transform:translateX(0); + transform:translateX(0); } + .bp3-drawer.bp3-position-right.bp3-overlay-exit-active{ + -webkit-transform:translateX(100%); + transform:translateX(100%); + -webkit-transition-property:-webkit-transform; + transition-property:-webkit-transform; + transition-property:transform; + transition-property:transform, -webkit-transform; + -webkit-transition-duration:100ms; + transition-duration:100ms; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + -webkit-transition-delay:0; + transition-delay:0; } + .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not( + .bp3-position-right):not(.bp3-vertical){ + top:0; + right:0; + bottom:0; + width:50%; } + .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not( + .bp3-position-right):not(.bp3-vertical).bp3-overlay-enter, .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not( + .bp3-position-right):not(.bp3-vertical).bp3-overlay-appear{ + -webkit-transform:translateX(100%); + transform:translateX(100%); } + .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not( + .bp3-position-right):not(.bp3-vertical).bp3-overlay-enter-active, .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not( + .bp3-position-right):not(.bp3-vertical).bp3-overlay-appear-active{ + -webkit-transform:translateX(0); + transform:translateX(0); + -webkit-transition-property:-webkit-transform; + transition-property:-webkit-transform; + transition-property:transform; + transition-property:transform, -webkit-transform; + -webkit-transition-duration:200ms; + transition-duration:200ms; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + -webkit-transition-delay:0; + transition-delay:0; } + .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not( + .bp3-position-right):not(.bp3-vertical).bp3-overlay-exit{ + -webkit-transform:translateX(0); + transform:translateX(0); } + .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not( + .bp3-position-right):not(.bp3-vertical).bp3-overlay-exit-active{ + -webkit-transform:translateX(100%); + transform:translateX(100%); + -webkit-transition-property:-webkit-transform; + transition-property:-webkit-transform; + transition-property:transform; + transition-property:transform, -webkit-transform; + -webkit-transition-duration:100ms; + transition-duration:100ms; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + -webkit-transition-delay:0; + transition-delay:0; } + .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not( + .bp3-position-right).bp3-vertical{ + right:0; + bottom:0; + left:0; + height:50%; } + .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not( + .bp3-position-right).bp3-vertical.bp3-overlay-enter, .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not( + .bp3-position-right).bp3-vertical.bp3-overlay-appear{ + -webkit-transform:translateY(100%); + transform:translateY(100%); } + .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not( + .bp3-position-right).bp3-vertical.bp3-overlay-enter-active, .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not( + .bp3-position-right).bp3-vertical.bp3-overlay-appear-active{ + -webkit-transform:translateY(0); + transform:translateY(0); + -webkit-transition-property:-webkit-transform; + transition-property:-webkit-transform; + transition-property:transform; + transition-property:transform, -webkit-transform; + -webkit-transition-duration:200ms; + transition-duration:200ms; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + -webkit-transition-delay:0; + transition-delay:0; } + .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not( + .bp3-position-right).bp3-vertical.bp3-overlay-exit{ + -webkit-transform:translateY(0); + transform:translateY(0); } + .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not( + .bp3-position-right).bp3-vertical.bp3-overlay-exit-active{ + -webkit-transform:translateY(100%); + transform:translateY(100%); + -webkit-transition-property:-webkit-transform; + transition-property:-webkit-transform; + transition-property:transform; + transition-property:transform, -webkit-transform; + -webkit-transition-duration:100ms; + transition-duration:100ms; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + -webkit-transition-delay:0; + transition-delay:0; } + .bp3-drawer.bp3-dark, + .bp3-dark .bp3-drawer{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 4px 8px rgba(16, 22, 26, 0.4), 0 18px 46px 6px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 4px 8px rgba(16, 22, 26, 0.4), 0 18px 46px 6px rgba(16, 22, 26, 0.4); + background:#30404d; + color:#f5f8fa; } + +.bp3-drawer-header{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-flex:0; + -ms-flex:0 0 auto; + flex:0 0 auto; + -webkit-box-align:center; + -ms-flex-align:center; + align-items:center; + position:relative; + border-radius:0; + -webkit-box-shadow:0 1px 0 rgba(16, 22, 26, 0.15); + box-shadow:0 1px 0 rgba(16, 22, 26, 0.15); + min-height:40px; + padding:5px; + padding-left:20px; } + .bp3-drawer-header .bp3-icon-large, + .bp3-drawer-header .bp3-icon{ + -webkit-box-flex:0; + -ms-flex:0 0 auto; + flex:0 0 auto; + margin-right:10px; + color:#5c7080; } + .bp3-drawer-header .bp3-heading{ + overflow:hidden; + text-overflow:ellipsis; + white-space:nowrap; + word-wrap:normal; + -webkit-box-flex:1; + -ms-flex:1 1 auto; + flex:1 1 auto; + margin:0; + line-height:inherit; } + .bp3-drawer-header .bp3-heading:last-child{ + margin-right:20px; } + .bp3-dark .bp3-drawer-header{ + -webkit-box-shadow:0 1px 0 rgba(16, 22, 26, 0.4); + box-shadow:0 1px 0 rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-drawer-header .bp3-icon-large, + .bp3-dark .bp3-drawer-header .bp3-icon{ + color:#a7b6c2; } + +.bp3-drawer-body{ + -webkit-box-flex:1; + -ms-flex:1 1 auto; + flex:1 1 auto; + overflow:auto; + line-height:18px; } + +.bp3-drawer-footer{ + -webkit-box-flex:0; + -ms-flex:0 0 auto; + flex:0 0 auto; + position:relative; + -webkit-box-shadow:inset 0 1px 0 rgba(16, 22, 26, 0.15); + box-shadow:inset 0 1px 0 rgba(16, 22, 26, 0.15); + padding:10px 20px; } + .bp3-dark .bp3-drawer-footer{ + -webkit-box-shadow:inset 0 1px 0 rgba(16, 22, 26, 0.4); + box-shadow:inset 0 1px 0 rgba(16, 22, 26, 0.4); } +.bp3-editable-text{ + display:inline-block; + position:relative; + cursor:text; + max-width:100%; + vertical-align:top; + white-space:nowrap; } + .bp3-editable-text::before{ + position:absolute; + top:-3px; + right:-3px; + bottom:-3px; + left:-3px; + border-radius:3px; + content:""; + -webkit-transition:background-color 100ms cubic-bezier(0.4, 1, 0.75, 0.9), -webkit-box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:background-color 100ms cubic-bezier(0.4, 1, 0.75, 0.9), -webkit-box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:background-color 100ms cubic-bezier(0.4, 1, 0.75, 0.9), box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:background-color 100ms cubic-bezier(0.4, 1, 0.75, 0.9), box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9), -webkit-box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9); } + .bp3-editable-text:hover::before{ + -webkit-box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.15); + box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.15); } + .bp3-editable-text.bp3-editable-text-editing::before{ + -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); + background-color:#ffffff; } + .bp3-editable-text.bp3-disabled::before{ + -webkit-box-shadow:none; + box-shadow:none; } + .bp3-editable-text.bp3-intent-primary .bp3-editable-text-input, + .bp3-editable-text.bp3-intent-primary .bp3-editable-text-content{ + color:#137cbd; } + .bp3-editable-text.bp3-intent-primary:hover::before{ + -webkit-box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(19, 124, 189, 0.4); + box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(19, 124, 189, 0.4); } + .bp3-editable-text.bp3-intent-primary.bp3-editable-text-editing::before{ + -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-editable-text.bp3-intent-success .bp3-editable-text-input, + .bp3-editable-text.bp3-intent-success .bp3-editable-text-content{ + color:#0f9960; } + .bp3-editable-text.bp3-intent-success:hover::before{ + -webkit-box-shadow:0 0 0 0 rgba(15, 153, 96, 0), 0 0 0 0 rgba(15, 153, 96, 0), inset 0 0 0 1px rgba(15, 153, 96, 0.4); + box-shadow:0 0 0 0 rgba(15, 153, 96, 0), 0 0 0 0 rgba(15, 153, 96, 0), inset 0 0 0 1px rgba(15, 153, 96, 0.4); } + .bp3-editable-text.bp3-intent-success.bp3-editable-text-editing::before{ + -webkit-box-shadow:0 0 0 1px #0f9960, 0 0 0 3px rgba(15, 153, 96, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px #0f9960, 0 0 0 3px rgba(15, 153, 96, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-editable-text.bp3-intent-warning .bp3-editable-text-input, + .bp3-editable-text.bp3-intent-warning .bp3-editable-text-content{ + color:#d9822b; } + .bp3-editable-text.bp3-intent-warning:hover::before{ + -webkit-box-shadow:0 0 0 0 rgba(217, 130, 43, 0), 0 0 0 0 rgba(217, 130, 43, 0), inset 0 0 0 1px rgba(217, 130, 43, 0.4); + box-shadow:0 0 0 0 rgba(217, 130, 43, 0), 0 0 0 0 rgba(217, 130, 43, 0), inset 0 0 0 1px rgba(217, 130, 43, 0.4); } + .bp3-editable-text.bp3-intent-warning.bp3-editable-text-editing::before{ + -webkit-box-shadow:0 0 0 1px #d9822b, 0 0 0 3px rgba(217, 130, 43, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px #d9822b, 0 0 0 3px rgba(217, 130, 43, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-editable-text.bp3-intent-danger .bp3-editable-text-input, + .bp3-editable-text.bp3-intent-danger .bp3-editable-text-content{ + color:#db3737; } + .bp3-editable-text.bp3-intent-danger:hover::before{ + -webkit-box-shadow:0 0 0 0 rgba(219, 55, 55, 0), 0 0 0 0 rgba(219, 55, 55, 0), inset 0 0 0 1px rgba(219, 55, 55, 0.4); + box-shadow:0 0 0 0 rgba(219, 55, 55, 0), 0 0 0 0 rgba(219, 55, 55, 0), inset 0 0 0 1px rgba(219, 55, 55, 0.4); } + .bp3-editable-text.bp3-intent-danger.bp3-editable-text-editing::before{ + -webkit-box-shadow:0 0 0 1px #db3737, 0 0 0 3px rgba(219, 55, 55, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px #db3737, 0 0 0 3px rgba(219, 55, 55, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-dark .bp3-editable-text:hover::before{ + -webkit-box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(255, 255, 255, 0.15); + box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(255, 255, 255, 0.15); } + .bp3-dark .bp3-editable-text.bp3-editable-text-editing::before{ + -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + background-color:rgba(16, 22, 26, 0.3); } + .bp3-dark .bp3-editable-text.bp3-disabled::before{ + -webkit-box-shadow:none; + box-shadow:none; } + .bp3-dark .bp3-editable-text.bp3-intent-primary .bp3-editable-text-content{ + color:#48aff0; } + .bp3-dark .bp3-editable-text.bp3-intent-primary:hover::before{ + -webkit-box-shadow:0 0 0 0 rgba(72, 175, 240, 0), 0 0 0 0 rgba(72, 175, 240, 0), inset 0 0 0 1px rgba(72, 175, 240, 0.4); + box-shadow:0 0 0 0 rgba(72, 175, 240, 0), 0 0 0 0 rgba(72, 175, 240, 0), inset 0 0 0 1px rgba(72, 175, 240, 0.4); } + .bp3-dark .bp3-editable-text.bp3-intent-primary.bp3-editable-text-editing::before{ + -webkit-box-shadow:0 0 0 1px #48aff0, 0 0 0 3px rgba(72, 175, 240, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px #48aff0, 0 0 0 3px rgba(72, 175, 240, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-editable-text.bp3-intent-success .bp3-editable-text-content{ + color:#3dcc91; } + .bp3-dark .bp3-editable-text.bp3-intent-success:hover::before{ + -webkit-box-shadow:0 0 0 0 rgba(61, 204, 145, 0), 0 0 0 0 rgba(61, 204, 145, 0), inset 0 0 0 1px rgba(61, 204, 145, 0.4); + box-shadow:0 0 0 0 rgba(61, 204, 145, 0), 0 0 0 0 rgba(61, 204, 145, 0), inset 0 0 0 1px rgba(61, 204, 145, 0.4); } + .bp3-dark .bp3-editable-text.bp3-intent-success.bp3-editable-text-editing::before{ + -webkit-box-shadow:0 0 0 1px #3dcc91, 0 0 0 3px rgba(61, 204, 145, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px #3dcc91, 0 0 0 3px rgba(61, 204, 145, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-editable-text.bp3-intent-warning .bp3-editable-text-content{ + color:#ffb366; } + .bp3-dark .bp3-editable-text.bp3-intent-warning:hover::before{ + -webkit-box-shadow:0 0 0 0 rgba(255, 179, 102, 0), 0 0 0 0 rgba(255, 179, 102, 0), inset 0 0 0 1px rgba(255, 179, 102, 0.4); + box-shadow:0 0 0 0 rgba(255, 179, 102, 0), 0 0 0 0 rgba(255, 179, 102, 0), inset 0 0 0 1px rgba(255, 179, 102, 0.4); } + .bp3-dark .bp3-editable-text.bp3-intent-warning.bp3-editable-text-editing::before{ + -webkit-box-shadow:0 0 0 1px #ffb366, 0 0 0 3px rgba(255, 179, 102, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px #ffb366, 0 0 0 3px rgba(255, 179, 102, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-editable-text.bp3-intent-danger .bp3-editable-text-content{ + color:#ff7373; } + .bp3-dark .bp3-editable-text.bp3-intent-danger:hover::before{ + -webkit-box-shadow:0 0 0 0 rgba(255, 115, 115, 0), 0 0 0 0 rgba(255, 115, 115, 0), inset 0 0 0 1px rgba(255, 115, 115, 0.4); + box-shadow:0 0 0 0 rgba(255, 115, 115, 0), 0 0 0 0 rgba(255, 115, 115, 0), inset 0 0 0 1px rgba(255, 115, 115, 0.4); } + .bp3-dark .bp3-editable-text.bp3-intent-danger.bp3-editable-text-editing::before{ + -webkit-box-shadow:0 0 0 1px #ff7373, 0 0 0 3px rgba(255, 115, 115, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px #ff7373, 0 0 0 3px rgba(255, 115, 115, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } + +.bp3-editable-text-input, +.bp3-editable-text-content{ + display:inherit; + position:relative; + min-width:inherit; + max-width:inherit; + vertical-align:top; + text-transform:inherit; + letter-spacing:inherit; + color:inherit; + font:inherit; + resize:none; } + +.bp3-editable-text-input{ + border:none; + -webkit-box-shadow:none; + box-shadow:none; + background:none; + width:100%; + padding:0; + white-space:pre-wrap; } + .bp3-editable-text-input::-webkit-input-placeholder{ + opacity:1; + color:rgba(92, 112, 128, 0.6); } + .bp3-editable-text-input::-moz-placeholder{ + opacity:1; + color:rgba(92, 112, 128, 0.6); } + .bp3-editable-text-input:-ms-input-placeholder{ + opacity:1; + color:rgba(92, 112, 128, 0.6); } + .bp3-editable-text-input::-ms-input-placeholder{ + opacity:1; + color:rgba(92, 112, 128, 0.6); } + .bp3-editable-text-input::placeholder{ + opacity:1; + color:rgba(92, 112, 128, 0.6); } + .bp3-editable-text-input:focus{ + outline:none; } + .bp3-editable-text-input::-ms-clear{ + display:none; } + +.bp3-editable-text-content{ + overflow:hidden; + padding-right:2px; + text-overflow:ellipsis; + white-space:pre; } + .bp3-editable-text-editing > .bp3-editable-text-content{ + position:absolute; + left:0; + visibility:hidden; } + .bp3-editable-text-placeholder > .bp3-editable-text-content{ + color:rgba(92, 112, 128, 0.6); } + .bp3-dark .bp3-editable-text-placeholder > .bp3-editable-text-content{ + color:rgba(167, 182, 194, 0.6); } + +.bp3-editable-text.bp3-multiline{ + display:block; } + .bp3-editable-text.bp3-multiline .bp3-editable-text-content{ + overflow:auto; + white-space:pre-wrap; + word-wrap:break-word; } +.bp3-control-group{ + -webkit-transform:translateZ(0); + transform:translateZ(0); + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-orient:horizontal; + -webkit-box-direction:normal; + -ms-flex-direction:row; + flex-direction:row; + -webkit-box-align:stretch; + -ms-flex-align:stretch; + align-items:stretch; } + .bp3-control-group > *{ + -webkit-box-flex:0; + -ms-flex-positive:0; + flex-grow:0; + -ms-flex-negative:0; + flex-shrink:0; } + .bp3-control-group > .bp3-fill{ + -webkit-box-flex:1; + -ms-flex-positive:1; + flex-grow:1; + -ms-flex-negative:1; + flex-shrink:1; } + .bp3-control-group .bp3-button, + .bp3-control-group .bp3-html-select, + .bp3-control-group .bp3-input, + .bp3-control-group .bp3-select{ + position:relative; } + .bp3-control-group .bp3-input{ + z-index:2; + border-radius:inherit; } + .bp3-control-group .bp3-input:focus{ + z-index:14; + border-radius:3px; } + .bp3-control-group .bp3-input[class*="bp3-intent"]{ + z-index:13; } + .bp3-control-group .bp3-input[class*="bp3-intent"]:focus{ + z-index:15; } + .bp3-control-group .bp3-input[readonly], .bp3-control-group .bp3-input:disabled, .bp3-control-group .bp3-input.bp3-disabled{ + z-index:1; } + .bp3-control-group .bp3-input-group[class*="bp3-intent"] .bp3-input{ + z-index:13; } + .bp3-control-group .bp3-input-group[class*="bp3-intent"] .bp3-input:focus{ + z-index:15; } + .bp3-control-group .bp3-button, + .bp3-control-group .bp3-html-select select, + .bp3-control-group .bp3-select select{ + -webkit-transform:translateZ(0); + transform:translateZ(0); + z-index:4; + border-radius:inherit; } + .bp3-control-group .bp3-button:focus, + .bp3-control-group .bp3-html-select select:focus, + .bp3-control-group .bp3-select select:focus{ + z-index:5; } + .bp3-control-group .bp3-button:hover, + .bp3-control-group .bp3-html-select select:hover, + .bp3-control-group .bp3-select select:hover{ + z-index:6; } + .bp3-control-group .bp3-button:active, + .bp3-control-group .bp3-html-select select:active, + .bp3-control-group .bp3-select select:active{ + z-index:7; } + .bp3-control-group .bp3-button[readonly], .bp3-control-group .bp3-button:disabled, .bp3-control-group .bp3-button.bp3-disabled, + .bp3-control-group .bp3-html-select select[readonly], + .bp3-control-group .bp3-html-select select:disabled, + .bp3-control-group .bp3-html-select select.bp3-disabled, + .bp3-control-group .bp3-select select[readonly], + .bp3-control-group .bp3-select select:disabled, + .bp3-control-group .bp3-select select.bp3-disabled{ + z-index:3; } + .bp3-control-group .bp3-button[class*="bp3-intent"], + .bp3-control-group .bp3-html-select select[class*="bp3-intent"], + .bp3-control-group .bp3-select select[class*="bp3-intent"]{ + z-index:9; } + .bp3-control-group .bp3-button[class*="bp3-intent"]:focus, + .bp3-control-group .bp3-html-select select[class*="bp3-intent"]:focus, + .bp3-control-group .bp3-select select[class*="bp3-intent"]:focus{ + z-index:10; } + .bp3-control-group .bp3-button[class*="bp3-intent"]:hover, + .bp3-control-group .bp3-html-select select[class*="bp3-intent"]:hover, + .bp3-control-group .bp3-select select[class*="bp3-intent"]:hover{ + z-index:11; } + .bp3-control-group .bp3-button[class*="bp3-intent"]:active, + .bp3-control-group .bp3-html-select select[class*="bp3-intent"]:active, + .bp3-control-group .bp3-select select[class*="bp3-intent"]:active{ + z-index:12; } + .bp3-control-group .bp3-button[class*="bp3-intent"][readonly], .bp3-control-group .bp3-button[class*="bp3-intent"]:disabled, .bp3-control-group .bp3-button[class*="bp3-intent"].bp3-disabled, + .bp3-control-group .bp3-html-select select[class*="bp3-intent"][readonly], + .bp3-control-group .bp3-html-select select[class*="bp3-intent"]:disabled, + .bp3-control-group .bp3-html-select select[class*="bp3-intent"].bp3-disabled, + .bp3-control-group .bp3-select select[class*="bp3-intent"][readonly], + .bp3-control-group .bp3-select select[class*="bp3-intent"]:disabled, + .bp3-control-group .bp3-select select[class*="bp3-intent"].bp3-disabled{ + z-index:8; } + .bp3-control-group .bp3-input-group > .bp3-icon, + .bp3-control-group .bp3-input-group > .bp3-button, + .bp3-control-group .bp3-input-group > .bp3-input-action{ + z-index:16; } + .bp3-control-group .bp3-select::after, + .bp3-control-group .bp3-html-select::after, + .bp3-control-group .bp3-select > .bp3-icon, + .bp3-control-group .bp3-html-select > .bp3-icon{ + z-index:17; } + .bp3-control-group:not(.bp3-vertical) > *{ + margin-right:-1px; } + .bp3-dark .bp3-control-group:not(.bp3-vertical) > *{ + margin-right:0; } + .bp3-dark .bp3-control-group:not(.bp3-vertical) > .bp3-button + .bp3-button{ + margin-left:1px; } + .bp3-control-group .bp3-popover-wrapper, + .bp3-control-group .bp3-popover-target{ + border-radius:inherit; } + .bp3-control-group > :first-child{ + border-radius:3px 0 0 3px; } + .bp3-control-group > :last-child{ + margin-right:0; + border-radius:0 3px 3px 0; } + .bp3-control-group > :only-child{ + margin-right:0; + border-radius:3px; } + .bp3-control-group .bp3-input-group .bp3-button{ + border-radius:3px; } + .bp3-control-group > .bp3-fill{ + -webkit-box-flex:1; + -ms-flex:1 1 auto; + flex:1 1 auto; } + .bp3-control-group.bp3-fill > *:not(.bp3-fixed){ + -webkit-box-flex:1; + -ms-flex:1 1 auto; + flex:1 1 auto; } + .bp3-control-group.bp3-vertical{ + -webkit-box-orient:vertical; + -webkit-box-direction:normal; + -ms-flex-direction:column; + flex-direction:column; } + .bp3-control-group.bp3-vertical > *{ + margin-top:-1px; } + .bp3-control-group.bp3-vertical > :first-child{ + margin-top:0; + border-radius:3px 3px 0 0; } + .bp3-control-group.bp3-vertical > :last-child{ + border-radius:0 0 3px 3px; } +.bp3-control{ + display:block; + position:relative; + margin-bottom:10px; + cursor:pointer; + text-transform:none; } + .bp3-control input:checked ~ .bp3-control-indicator{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + background-color:#137cbd; + background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.1)), to(rgba(255, 255, 255, 0))); + background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0)); + color:#ffffff; } + .bp3-control:hover input:checked ~ .bp3-control-indicator{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + background-color:#106ba3; } + .bp3-control input:not(:disabled):active:checked ~ .bp3-control-indicator{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); + background:#0e5a8a; } + .bp3-control input:disabled:checked ~ .bp3-control-indicator{ + -webkit-box-shadow:none; + box-shadow:none; + background:rgba(19, 124, 189, 0.5); } + .bp3-dark .bp3-control input:checked ~ .bp3-control-indicator{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-control:hover input:checked ~ .bp3-control-indicator{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + background-color:#106ba3; } + .bp3-dark .bp3-control input:not(:disabled):active:checked ~ .bp3-control-indicator{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); + background-color:#0e5a8a; } + .bp3-dark .bp3-control input:disabled:checked ~ .bp3-control-indicator{ + -webkit-box-shadow:none; + box-shadow:none; + background:rgba(14, 90, 138, 0.5); } + .bp3-control:not(.bp3-align-right){ + padding-left:26px; } + .bp3-control:not(.bp3-align-right) .bp3-control-indicator{ + margin-left:-26px; } + .bp3-control.bp3-align-right{ + padding-right:26px; } + .bp3-control.bp3-align-right .bp3-control-indicator{ + margin-right:-26px; } + .bp3-control.bp3-disabled{ + cursor:not-allowed; + color:rgba(92, 112, 128, 0.6); } + .bp3-control.bp3-inline{ + display:inline-block; + margin-right:20px; } + .bp3-control input{ + position:absolute; + top:0; + left:0; + opacity:0; + z-index:-1; } + .bp3-control .bp3-control-indicator{ + display:inline-block; + position:relative; + margin-top:-3px; + margin-right:10px; + border:none; + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); + background-clip:padding-box; + background-color:#f5f8fa; + background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.8)), to(rgba(255, 255, 255, 0))); + background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0)); + cursor:pointer; + width:1em; + height:1em; + vertical-align:middle; + font-size:16px; + -webkit-user-select:none; + -moz-user-select:none; + -ms-user-select:none; + user-select:none; } + .bp3-control .bp3-control-indicator::before{ + display:block; + width:1em; + height:1em; + content:""; } + .bp3-control:hover .bp3-control-indicator{ + background-color:#ebf1f5; } + .bp3-control input:not(:disabled):active ~ .bp3-control-indicator{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2); + background:#d8e1e8; } + .bp3-control input:disabled ~ .bp3-control-indicator{ + -webkit-box-shadow:none; + box-shadow:none; + background:rgba(206, 217, 224, 0.5); + cursor:not-allowed; } + .bp3-control input:focus ~ .bp3-control-indicator{ + outline:rgba(19, 124, 189, 0.6) auto 2px; + outline-offset:2px; + -moz-outline-radius:6px; } + .bp3-control.bp3-align-right .bp3-control-indicator{ + float:right; + margin-top:1px; + margin-left:10px; } + .bp3-control.bp3-large{ + font-size:16px; } + .bp3-control.bp3-large:not(.bp3-align-right){ + padding-left:30px; } + .bp3-control.bp3-large:not(.bp3-align-right) .bp3-control-indicator{ + margin-left:-30px; } + .bp3-control.bp3-large.bp3-align-right{ + padding-right:30px; } + .bp3-control.bp3-large.bp3-align-right .bp3-control-indicator{ + margin-right:-30px; } + .bp3-control.bp3-large .bp3-control-indicator{ + font-size:20px; } + .bp3-control.bp3-large.bp3-align-right .bp3-control-indicator{ + margin-top:0; } + .bp3-control.bp3-checkbox input:indeterminate ~ .bp3-control-indicator{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + background-color:#137cbd; + background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.1)), to(rgba(255, 255, 255, 0))); + background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0)); + color:#ffffff; } + .bp3-control.bp3-checkbox:hover input:indeterminate ~ .bp3-control-indicator{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); + background-color:#106ba3; } + .bp3-control.bp3-checkbox input:not(:disabled):active:indeterminate ~ .bp3-control-indicator{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); + background:#0e5a8a; } + .bp3-control.bp3-checkbox input:disabled:indeterminate ~ .bp3-control-indicator{ + -webkit-box-shadow:none; + box-shadow:none; + background:rgba(19, 124, 189, 0.5); } + .bp3-dark .bp3-control.bp3-checkbox input:indeterminate ~ .bp3-control-indicator{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-control.bp3-checkbox:hover input:indeterminate ~ .bp3-control-indicator{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + background-color:#106ba3; } + .bp3-dark .bp3-control.bp3-checkbox input:not(:disabled):active:indeterminate ~ .bp3-control-indicator{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); + background-color:#0e5a8a; } + .bp3-dark .bp3-control.bp3-checkbox input:disabled:indeterminate ~ .bp3-control-indicator{ + -webkit-box-shadow:none; + box-shadow:none; + background:rgba(14, 90, 138, 0.5); } + .bp3-control.bp3-checkbox .bp3-control-indicator{ + border-radius:3px; } + .bp3-control.bp3-checkbox input:checked ~ .bp3-control-indicator::before{ + background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M12 5c-.28 0-.53.11-.71.29L7 9.59l-2.29-2.3a1.003 1.003 0 0 0-1.42 1.42l3 3c.18.18.43.29.71.29s.53-.11.71-.29l5-5A1.003 1.003 0 0 0 12 5z' fill='white'/%3e%3c/svg%3e"); } + .bp3-control.bp3-checkbox input:indeterminate ~ .bp3-control-indicator::before{ + background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M11 7H5c-.55 0-1 .45-1 1s.45 1 1 1h6c.55 0 1-.45 1-1s-.45-1-1-1z' fill='white'/%3e%3c/svg%3e"); } + .bp3-control.bp3-radio .bp3-control-indicator{ + border-radius:50%; } + .bp3-control.bp3-radio input:checked ~ .bp3-control-indicator::before{ + background-image:radial-gradient(#ffffff, #ffffff 28%, transparent 32%); } + .bp3-control.bp3-radio input:checked:disabled ~ .bp3-control-indicator::before{ + opacity:0.5; } + .bp3-control.bp3-radio input:focus ~ .bp3-control-indicator{ + -moz-outline-radius:16px; } + .bp3-control.bp3-switch input ~ .bp3-control-indicator{ + background:rgba(167, 182, 194, 0.5); } + .bp3-control.bp3-switch:hover input ~ .bp3-control-indicator{ + background:rgba(115, 134, 148, 0.5); } + .bp3-control.bp3-switch input:not(:disabled):active ~ .bp3-control-indicator{ + background:rgba(92, 112, 128, 0.5); } + .bp3-control.bp3-switch input:disabled ~ .bp3-control-indicator{ + background:rgba(206, 217, 224, 0.5); } + .bp3-control.bp3-switch input:disabled ~ .bp3-control-indicator::before{ + background:rgba(255, 255, 255, 0.8); } + .bp3-control.bp3-switch input:checked ~ .bp3-control-indicator{ + background:#137cbd; } + .bp3-control.bp3-switch:hover input:checked ~ .bp3-control-indicator{ + background:#106ba3; } + .bp3-control.bp3-switch input:checked:not(:disabled):active ~ .bp3-control-indicator{ + background:#0e5a8a; } + .bp3-control.bp3-switch input:checked:disabled ~ .bp3-control-indicator{ + background:rgba(19, 124, 189, 0.5); } + .bp3-control.bp3-switch input:checked:disabled ~ .bp3-control-indicator::before{ + background:rgba(255, 255, 255, 0.8); } + .bp3-control.bp3-switch:not(.bp3-align-right){ + padding-left:38px; } + .bp3-control.bp3-switch:not(.bp3-align-right) .bp3-control-indicator{ + margin-left:-38px; } + .bp3-control.bp3-switch.bp3-align-right{ + padding-right:38px; } + .bp3-control.bp3-switch.bp3-align-right .bp3-control-indicator{ + margin-right:-38px; } + .bp3-control.bp3-switch .bp3-control-indicator{ + border:none; + border-radius:1.75em; + -webkit-box-shadow:none !important; + box-shadow:none !important; + width:auto; + min-width:1.75em; + -webkit-transition:background-color 100ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:background-color 100ms cubic-bezier(0.4, 1, 0.75, 0.9); } + .bp3-control.bp3-switch .bp3-control-indicator::before{ + position:absolute; + left:0; + margin:2px; + border-radius:50%; + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 1px 1px rgba(16, 22, 26, 0.2); + background:#ffffff; + width:calc(1em - 4px); + height:calc(1em - 4px); + -webkit-transition:left 100ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:left 100ms cubic-bezier(0.4, 1, 0.75, 0.9); } + .bp3-control.bp3-switch input:checked ~ .bp3-control-indicator::before{ + left:calc(100% - 1em); } + .bp3-control.bp3-switch.bp3-large:not(.bp3-align-right){ + padding-left:45px; } + .bp3-control.bp3-switch.bp3-large:not(.bp3-align-right) .bp3-control-indicator{ + margin-left:-45px; } + .bp3-control.bp3-switch.bp3-large.bp3-align-right{ + padding-right:45px; } + .bp3-control.bp3-switch.bp3-large.bp3-align-right .bp3-control-indicator{ + margin-right:-45px; } + .bp3-dark .bp3-control.bp3-switch input ~ .bp3-control-indicator{ + background:rgba(16, 22, 26, 0.5); } + .bp3-dark .bp3-control.bp3-switch:hover input ~ .bp3-control-indicator{ + background:rgba(16, 22, 26, 0.7); } + .bp3-dark .bp3-control.bp3-switch input:not(:disabled):active ~ .bp3-control-indicator{ + background:rgba(16, 22, 26, 0.9); } + .bp3-dark .bp3-control.bp3-switch input:disabled ~ .bp3-control-indicator{ + background:rgba(57, 75, 89, 0.5); } + .bp3-dark .bp3-control.bp3-switch input:disabled ~ .bp3-control-indicator::before{ + background:rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-control.bp3-switch input:checked ~ .bp3-control-indicator{ + background:#137cbd; } + .bp3-dark .bp3-control.bp3-switch:hover input:checked ~ .bp3-control-indicator{ + background:#106ba3; } + .bp3-dark .bp3-control.bp3-switch input:checked:not(:disabled):active ~ .bp3-control-indicator{ + background:#0e5a8a; } + .bp3-dark .bp3-control.bp3-switch input:checked:disabled ~ .bp3-control-indicator{ + background:rgba(14, 90, 138, 0.5); } + .bp3-dark .bp3-control.bp3-switch input:checked:disabled ~ .bp3-control-indicator::before{ + background:rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-control.bp3-switch .bp3-control-indicator::before{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + background:#394b59; } + .bp3-dark .bp3-control.bp3-switch input:checked ~ .bp3-control-indicator::before{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4); } + .bp3-control.bp3-switch .bp3-switch-inner-text{ + text-align:center; + font-size:0.7em; } + .bp3-control.bp3-switch .bp3-control-indicator-child:first-child{ + visibility:hidden; + margin-right:1.2em; + margin-left:0.5em; + line-height:0; } + .bp3-control.bp3-switch .bp3-control-indicator-child:last-child{ + visibility:visible; + margin-right:0.5em; + margin-left:1.2em; + line-height:1em; } + .bp3-control.bp3-switch input:checked ~ .bp3-control-indicator .bp3-control-indicator-child:first-child{ + visibility:visible; + line-height:1em; } + .bp3-control.bp3-switch input:checked ~ .bp3-control-indicator .bp3-control-indicator-child:last-child{ + visibility:hidden; + line-height:0; } + .bp3-dark .bp3-control{ + color:#f5f8fa; } + .bp3-dark .bp3-control.bp3-disabled{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-control .bp3-control-indicator{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + background-color:#394b59; + background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.05)), to(rgba(255, 255, 255, 0))); + background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0)); } + .bp3-dark .bp3-control:hover .bp3-control-indicator{ + background-color:#30404d; } + .bp3-dark .bp3-control input:not(:disabled):active ~ .bp3-control-indicator{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.6), inset 0 1px 2px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.6), inset 0 1px 2px rgba(16, 22, 26, 0.2); + background:#202b33; } + .bp3-dark .bp3-control input:disabled ~ .bp3-control-indicator{ + -webkit-box-shadow:none; + box-shadow:none; + background:rgba(57, 75, 89, 0.5); + cursor:not-allowed; } + .bp3-dark .bp3-control.bp3-checkbox input:disabled:checked ~ .bp3-control-indicator, .bp3-dark .bp3-control.bp3-checkbox input:disabled:indeterminate ~ .bp3-control-indicator{ + color:rgba(167, 182, 194, 0.6); } +.bp3-file-input{ + display:inline-block; + position:relative; + cursor:pointer; + height:30px; } + .bp3-file-input input{ + opacity:0; + margin:0; + min-width:200px; } + .bp3-file-input input:disabled + .bp3-file-upload-input, + .bp3-file-input input.bp3-disabled + .bp3-file-upload-input{ + -webkit-box-shadow:none; + box-shadow:none; + background:rgba(206, 217, 224, 0.5); + cursor:not-allowed; + color:rgba(92, 112, 128, 0.6); + resize:none; } + .bp3-file-input input:disabled + .bp3-file-upload-input::after, + .bp3-file-input input.bp3-disabled + .bp3-file-upload-input::after{ + outline:none; + -webkit-box-shadow:none; + box-shadow:none; + background-color:rgba(206, 217, 224, 0.5); + background-image:none; + cursor:not-allowed; + color:rgba(92, 112, 128, 0.6); } + .bp3-file-input input:disabled + .bp3-file-upload-input::after.bp3-active, .bp3-file-input input:disabled + .bp3-file-upload-input::after.bp3-active:hover, + .bp3-file-input input.bp3-disabled + .bp3-file-upload-input::after.bp3-active, + .bp3-file-input input.bp3-disabled + .bp3-file-upload-input::after.bp3-active:hover{ + background:rgba(206, 217, 224, 0.7); } + .bp3-dark .bp3-file-input input:disabled + .bp3-file-upload-input, .bp3-dark + .bp3-file-input input.bp3-disabled + .bp3-file-upload-input{ + -webkit-box-shadow:none; + box-shadow:none; + background:rgba(57, 75, 89, 0.5); + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-file-input input:disabled + .bp3-file-upload-input::after, .bp3-dark + .bp3-file-input input.bp3-disabled + .bp3-file-upload-input::after{ + -webkit-box-shadow:none; + box-shadow:none; + background-color:rgba(57, 75, 89, 0.5); + background-image:none; + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-file-input input:disabled + .bp3-file-upload-input::after.bp3-active, .bp3-dark + .bp3-file-input input.bp3-disabled + .bp3-file-upload-input::after.bp3-active{ + background:rgba(57, 75, 89, 0.7); } + .bp3-file-input.bp3-file-input-has-selection .bp3-file-upload-input{ + color:#182026; } + .bp3-dark .bp3-file-input.bp3-file-input-has-selection .bp3-file-upload-input{ + color:#f5f8fa; } + .bp3-file-input.bp3-fill{ + width:100%; } + .bp3-file-input.bp3-large, + .bp3-large .bp3-file-input{ + height:40px; } + .bp3-file-input .bp3-file-upload-input-custom-text::after{ + content:attr(bp3-button-text); } + +.bp3-file-upload-input{ + outline:none; + border:none; + border-radius:3px; + -webkit-box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); + background:#ffffff; + height:30px; + padding:0 10px; + vertical-align:middle; + line-height:30px; + color:#182026; + font-size:14px; + font-weight:400; + -webkit-transition:-webkit-box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:-webkit-box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9), -webkit-box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9); + -webkit-appearance:none; + -moz-appearance:none; + appearance:none; + overflow:hidden; + text-overflow:ellipsis; + white-space:nowrap; + word-wrap:normal; + position:absolute; + top:0; + right:0; + left:0; + padding-right:80px; + color:rgba(92, 112, 128, 0.6); + -webkit-user-select:none; + -moz-user-select:none; + -ms-user-select:none; + user-select:none; } + .bp3-file-upload-input::-webkit-input-placeholder{ + opacity:1; + color:rgba(92, 112, 128, 0.6); } + .bp3-file-upload-input::-moz-placeholder{ + opacity:1; + color:rgba(92, 112, 128, 0.6); } + .bp3-file-upload-input:-ms-input-placeholder{ + opacity:1; + color:rgba(92, 112, 128, 0.6); } + .bp3-file-upload-input::-ms-input-placeholder{ + opacity:1; + color:rgba(92, 112, 128, 0.6); } + .bp3-file-upload-input::placeholder{ + opacity:1; + color:rgba(92, 112, 128, 0.6); } + .bp3-file-upload-input:focus, .bp3-file-upload-input.bp3-active{ + -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-file-upload-input[type="search"], .bp3-file-upload-input.bp3-round{ + border-radius:30px; + -webkit-box-sizing:border-box; + box-sizing:border-box; + padding-left:10px; } + .bp3-file-upload-input[readonly]{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.15); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.15); } + .bp3-file-upload-input:disabled, .bp3-file-upload-input.bp3-disabled{ + -webkit-box-shadow:none; + box-shadow:none; + background:rgba(206, 217, 224, 0.5); + cursor:not-allowed; + color:rgba(92, 112, 128, 0.6); + resize:none; } + .bp3-file-upload-input::after{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); + background-color:#f5f8fa; + background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.8)), to(rgba(255, 255, 255, 0))); + background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0)); + color:#182026; + min-width:24px; + min-height:24px; + overflow:hidden; + text-overflow:ellipsis; + white-space:nowrap; + word-wrap:normal; + position:absolute; + top:0; + right:0; + margin:3px; + border-radius:3px; + width:70px; + text-align:center; + line-height:24px; + content:"Browse"; } + .bp3-file-upload-input::after:hover{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); + background-clip:padding-box; + background-color:#ebf1f5; } + .bp3-file-upload-input::after:active, .bp3-file-upload-input::after.bp3-active{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2); + background-color:#d8e1e8; + background-image:none; } + .bp3-file-upload-input::after:disabled, .bp3-file-upload-input::after.bp3-disabled{ + outline:none; + -webkit-box-shadow:none; + box-shadow:none; + background-color:rgba(206, 217, 224, 0.5); + background-image:none; + cursor:not-allowed; + color:rgba(92, 112, 128, 0.6); } + .bp3-file-upload-input::after:disabled.bp3-active, .bp3-file-upload-input::after:disabled.bp3-active:hover, .bp3-file-upload-input::after.bp3-disabled.bp3-active, .bp3-file-upload-input::after.bp3-disabled.bp3-active:hover{ + background:rgba(206, 217, 224, 0.7); } + .bp3-file-upload-input:hover::after{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); + background-clip:padding-box; + background-color:#ebf1f5; } + .bp3-file-upload-input:active::after{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2); + background-color:#d8e1e8; + background-image:none; } + .bp3-large .bp3-file-upload-input{ + height:40px; + line-height:40px; + font-size:16px; + padding-right:95px; } + .bp3-large .bp3-file-upload-input[type="search"], .bp3-large .bp3-file-upload-input.bp3-round{ + padding:0 15px; } + .bp3-large .bp3-file-upload-input::after{ + min-width:30px; + min-height:30px; + margin:5px; + width:85px; + line-height:30px; } + .bp3-dark .bp3-file-upload-input{ + -webkit-box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + background:rgba(16, 22, 26, 0.3); + color:#f5f8fa; + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-file-upload-input::-webkit-input-placeholder{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-file-upload-input::-moz-placeholder{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-file-upload-input:-ms-input-placeholder{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-file-upload-input::-ms-input-placeholder{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-file-upload-input::placeholder{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-file-upload-input:focus{ + -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px #137cbd, 0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-file-upload-input[readonly]{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-file-upload-input:disabled, .bp3-dark .bp3-file-upload-input.bp3-disabled{ + -webkit-box-shadow:none; + box-shadow:none; + background:rgba(57, 75, 89, 0.5); + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-file-upload-input::after{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + background-color:#394b59; + background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.05)), to(rgba(255, 255, 255, 0))); + background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0)); + color:#f5f8fa; } + .bp3-dark .bp3-file-upload-input::after:hover, .bp3-dark .bp3-file-upload-input::after:active, .bp3-dark .bp3-file-upload-input::after.bp3-active{ + color:#f5f8fa; } + .bp3-dark .bp3-file-upload-input::after:hover{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + background-color:#30404d; } + .bp3-dark .bp3-file-upload-input::after:active, .bp3-dark .bp3-file-upload-input::after.bp3-active{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.6), inset 0 1px 2px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.6), inset 0 1px 2px rgba(16, 22, 26, 0.2); + background-color:#202b33; + background-image:none; } + .bp3-dark .bp3-file-upload-input::after:disabled, .bp3-dark .bp3-file-upload-input::after.bp3-disabled{ + -webkit-box-shadow:none; + box-shadow:none; + background-color:rgba(57, 75, 89, 0.5); + background-image:none; + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-file-upload-input::after:disabled.bp3-active, .bp3-dark .bp3-file-upload-input::after.bp3-disabled.bp3-active{ + background:rgba(57, 75, 89, 0.7); } + .bp3-dark .bp3-file-upload-input::after .bp3-button-spinner .bp3-spinner-head{ + background:rgba(16, 22, 26, 0.5); + stroke:#8a9ba8; } + .bp3-dark .bp3-file-upload-input:hover::after{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + background-color:#30404d; } + .bp3-dark .bp3-file-upload-input:active::after{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.6), inset 0 1px 2px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.6), inset 0 1px 2px rgba(16, 22, 26, 0.2); + background-color:#202b33; + background-image:none; } + +.bp3-file-upload-input::after{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); } +.bp3-form-group{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-orient:vertical; + -webkit-box-direction:normal; + -ms-flex-direction:column; + flex-direction:column; + margin:0 0 15px; } + .bp3-form-group label.bp3-label{ + margin-bottom:5px; } + .bp3-form-group .bp3-control{ + margin-top:7px; } + .bp3-form-group .bp3-form-helper-text{ + margin-top:5px; + color:#5c7080; + font-size:12px; } + .bp3-form-group.bp3-intent-primary .bp3-form-helper-text{ + color:#106ba3; } + .bp3-form-group.bp3-intent-success .bp3-form-helper-text{ + color:#0d8050; } + .bp3-form-group.bp3-intent-warning .bp3-form-helper-text{ + color:#bf7326; } + .bp3-form-group.bp3-intent-danger .bp3-form-helper-text{ + color:#c23030; } + .bp3-form-group.bp3-inline{ + -webkit-box-orient:horizontal; + -webkit-box-direction:normal; + -ms-flex-direction:row; + flex-direction:row; + -webkit-box-align:start; + -ms-flex-align:start; + align-items:flex-start; } + .bp3-form-group.bp3-inline.bp3-large label.bp3-label{ + margin:0 10px 0 0; + line-height:40px; } + .bp3-form-group.bp3-inline label.bp3-label{ + margin:0 10px 0 0; + line-height:30px; } + .bp3-form-group.bp3-disabled .bp3-label, + .bp3-form-group.bp3-disabled .bp3-text-muted, + .bp3-form-group.bp3-disabled .bp3-form-helper-text{ + color:rgba(92, 112, 128, 0.6) !important; } + .bp3-dark .bp3-form-group.bp3-intent-primary .bp3-form-helper-text{ + color:#48aff0; } + .bp3-dark .bp3-form-group.bp3-intent-success .bp3-form-helper-text{ + color:#3dcc91; } + .bp3-dark .bp3-form-group.bp3-intent-warning .bp3-form-helper-text{ + color:#ffb366; } + .bp3-dark .bp3-form-group.bp3-intent-danger .bp3-form-helper-text{ + color:#ff7373; } + .bp3-dark .bp3-form-group .bp3-form-helper-text{ + color:#a7b6c2; } + .bp3-dark .bp3-form-group.bp3-disabled .bp3-label, + .bp3-dark .bp3-form-group.bp3-disabled .bp3-text-muted, + .bp3-dark .bp3-form-group.bp3-disabled .bp3-form-helper-text{ + color:rgba(167, 182, 194, 0.6) !important; } +.bp3-input-group{ + display:block; + position:relative; } + .bp3-input-group .bp3-input{ + position:relative; + width:100%; } + .bp3-input-group .bp3-input:not(:first-child){ + padding-left:30px; } + .bp3-input-group .bp3-input:not(:last-child){ + padding-right:30px; } + .bp3-input-group .bp3-input-action, + .bp3-input-group > .bp3-button, + .bp3-input-group > .bp3-icon{ + position:absolute; + top:0; } + .bp3-input-group .bp3-input-action:first-child, + .bp3-input-group > .bp3-button:first-child, + .bp3-input-group > .bp3-icon:first-child{ + left:0; } + .bp3-input-group .bp3-input-action:last-child, + .bp3-input-group > .bp3-button:last-child, + .bp3-input-group > .bp3-icon:last-child{ + right:0; } + .bp3-input-group .bp3-button{ + min-width:24px; + min-height:24px; + margin:3px; + padding:0 7px; } + .bp3-input-group .bp3-button:empty{ + padding:0; } + .bp3-input-group > .bp3-icon{ + z-index:1; + color:#5c7080; } + .bp3-input-group > .bp3-icon:empty{ + line-height:1; + font-family:"Icons16", sans-serif; + font-size:16px; + font-weight:400; + font-style:normal; + -moz-osx-font-smoothing:grayscale; + -webkit-font-smoothing:antialiased; } + .bp3-input-group > .bp3-icon, + .bp3-input-group .bp3-input-action > .bp3-spinner{ + margin:7px; } + .bp3-input-group .bp3-tag{ + margin:5px; } + .bp3-input-group .bp3-input:not(:focus) + .bp3-button.bp3-minimal:not(:hover):not(:focus), + .bp3-input-group .bp3-input:not(:focus) + .bp3-input-action .bp3-button.bp3-minimal:not(:hover):not(:focus){ + color:#5c7080; } + .bp3-dark .bp3-input-group .bp3-input:not(:focus) + .bp3-button.bp3-minimal:not(:hover):not(:focus), .bp3-dark + .bp3-input-group .bp3-input:not(:focus) + .bp3-input-action .bp3-button.bp3-minimal:not(:hover):not(:focus){ + color:#a7b6c2; } + .bp3-input-group .bp3-input:not(:focus) + .bp3-button.bp3-minimal:not(:hover):not(:focus) .bp3-icon, .bp3-input-group .bp3-input:not(:focus) + .bp3-button.bp3-minimal:not(:hover):not(:focus) .bp3-icon-standard, .bp3-input-group .bp3-input:not(:focus) + .bp3-button.bp3-minimal:not(:hover):not(:focus) .bp3-icon-large, + .bp3-input-group .bp3-input:not(:focus) + .bp3-input-action .bp3-button.bp3-minimal:not(:hover):not(:focus) .bp3-icon, + .bp3-input-group .bp3-input:not(:focus) + .bp3-input-action .bp3-button.bp3-minimal:not(:hover):not(:focus) .bp3-icon-standard, + .bp3-input-group .bp3-input:not(:focus) + .bp3-input-action .bp3-button.bp3-minimal:not(:hover):not(:focus) .bp3-icon-large{ + color:#5c7080; } + .bp3-input-group .bp3-input:not(:focus) + .bp3-button.bp3-minimal:disabled, + .bp3-input-group .bp3-input:not(:focus) + .bp3-input-action .bp3-button.bp3-minimal:disabled{ + color:rgba(92, 112, 128, 0.6) !important; } + .bp3-input-group .bp3-input:not(:focus) + .bp3-button.bp3-minimal:disabled .bp3-icon, .bp3-input-group .bp3-input:not(:focus) + .bp3-button.bp3-minimal:disabled .bp3-icon-standard, .bp3-input-group .bp3-input:not(:focus) + .bp3-button.bp3-minimal:disabled .bp3-icon-large, + .bp3-input-group .bp3-input:not(:focus) + .bp3-input-action .bp3-button.bp3-minimal:disabled .bp3-icon, + .bp3-input-group .bp3-input:not(:focus) + .bp3-input-action .bp3-button.bp3-minimal:disabled .bp3-icon-standard, + .bp3-input-group .bp3-input:not(:focus) + .bp3-input-action .bp3-button.bp3-minimal:disabled .bp3-icon-large{ + color:rgba(92, 112, 128, 0.6) !important; } + .bp3-input-group.bp3-disabled{ + cursor:not-allowed; } + .bp3-input-group.bp3-disabled .bp3-icon{ + color:rgba(92, 112, 128, 0.6); } + .bp3-input-group.bp3-large .bp3-button{ + min-width:30px; + min-height:30px; + margin:5px; } + .bp3-input-group.bp3-large > .bp3-icon, + .bp3-input-group.bp3-large .bp3-input-action > .bp3-spinner{ + margin:12px; } + .bp3-input-group.bp3-large .bp3-input{ + height:40px; + line-height:40px; + font-size:16px; } + .bp3-input-group.bp3-large .bp3-input[type="search"], .bp3-input-group.bp3-large .bp3-input.bp3-round{ + padding:0 15px; } + .bp3-input-group.bp3-large .bp3-input:not(:first-child){ + padding-left:40px; } + .bp3-input-group.bp3-large .bp3-input:not(:last-child){ + padding-right:40px; } + .bp3-input-group.bp3-small .bp3-button{ + min-width:20px; + min-height:20px; + margin:2px; } + .bp3-input-group.bp3-small .bp3-tag{ + min-width:20px; + min-height:20px; + margin:2px; } + .bp3-input-group.bp3-small > .bp3-icon, + .bp3-input-group.bp3-small .bp3-input-action > .bp3-spinner{ + margin:4px; } + .bp3-input-group.bp3-small .bp3-input{ + height:24px; + padding-right:8px; + padding-left:8px; + line-height:24px; + font-size:12px; } + .bp3-input-group.bp3-small .bp3-input[type="search"], .bp3-input-group.bp3-small .bp3-input.bp3-round{ + padding:0 12px; } + .bp3-input-group.bp3-small .bp3-input:not(:first-child){ + padding-left:24px; } + .bp3-input-group.bp3-small .bp3-input:not(:last-child){ + padding-right:24px; } + .bp3-input-group.bp3-fill{ + -webkit-box-flex:1; + -ms-flex:1 1 auto; + flex:1 1 auto; + width:100%; } + .bp3-input-group.bp3-round .bp3-button, + .bp3-input-group.bp3-round .bp3-input, + .bp3-input-group.bp3-round .bp3-tag{ + border-radius:30px; } + .bp3-dark .bp3-input-group .bp3-icon{ + color:#a7b6c2; } + .bp3-dark .bp3-input-group.bp3-disabled .bp3-icon{ + color:rgba(167, 182, 194, 0.6); } + .bp3-input-group.bp3-intent-primary .bp3-input{ + -webkit-box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px #137cbd, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px #137cbd, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-input-group.bp3-intent-primary .bp3-input:focus{ + -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-input-group.bp3-intent-primary .bp3-input[readonly]{ + -webkit-box-shadow:inset 0 0 0 1px #137cbd; + box-shadow:inset 0 0 0 1px #137cbd; } + .bp3-input-group.bp3-intent-primary .bp3-input:disabled, .bp3-input-group.bp3-intent-primary .bp3-input.bp3-disabled{ + -webkit-box-shadow:none; + box-shadow:none; } + .bp3-input-group.bp3-intent-primary > .bp3-icon{ + color:#106ba3; } + .bp3-dark .bp3-input-group.bp3-intent-primary > .bp3-icon{ + color:#48aff0; } + .bp3-input-group.bp3-intent-success .bp3-input{ + -webkit-box-shadow:0 0 0 0 rgba(15, 153, 96, 0), 0 0 0 0 rgba(15, 153, 96, 0), inset 0 0 0 1px #0f9960, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 0 rgba(15, 153, 96, 0), 0 0 0 0 rgba(15, 153, 96, 0), inset 0 0 0 1px #0f9960, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-input-group.bp3-intent-success .bp3-input:focus{ + -webkit-box-shadow:0 0 0 1px #0f9960, 0 0 0 3px rgba(15, 153, 96, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px #0f9960, 0 0 0 3px rgba(15, 153, 96, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-input-group.bp3-intent-success .bp3-input[readonly]{ + -webkit-box-shadow:inset 0 0 0 1px #0f9960; + box-shadow:inset 0 0 0 1px #0f9960; } + .bp3-input-group.bp3-intent-success .bp3-input:disabled, .bp3-input-group.bp3-intent-success .bp3-input.bp3-disabled{ + -webkit-box-shadow:none; + box-shadow:none; } + .bp3-input-group.bp3-intent-success > .bp3-icon{ + color:#0d8050; } + .bp3-dark .bp3-input-group.bp3-intent-success > .bp3-icon{ + color:#3dcc91; } + .bp3-input-group.bp3-intent-warning .bp3-input{ + -webkit-box-shadow:0 0 0 0 rgba(217, 130, 43, 0), 0 0 0 0 rgba(217, 130, 43, 0), inset 0 0 0 1px #d9822b, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 0 rgba(217, 130, 43, 0), 0 0 0 0 rgba(217, 130, 43, 0), inset 0 0 0 1px #d9822b, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-input-group.bp3-intent-warning .bp3-input:focus{ + -webkit-box-shadow:0 0 0 1px #d9822b, 0 0 0 3px rgba(217, 130, 43, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px #d9822b, 0 0 0 3px rgba(217, 130, 43, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-input-group.bp3-intent-warning .bp3-input[readonly]{ + -webkit-box-shadow:inset 0 0 0 1px #d9822b; + box-shadow:inset 0 0 0 1px #d9822b; } + .bp3-input-group.bp3-intent-warning .bp3-input:disabled, .bp3-input-group.bp3-intent-warning .bp3-input.bp3-disabled{ + -webkit-box-shadow:none; + box-shadow:none; } + .bp3-input-group.bp3-intent-warning > .bp3-icon{ + color:#bf7326; } + .bp3-dark .bp3-input-group.bp3-intent-warning > .bp3-icon{ + color:#ffb366; } + .bp3-input-group.bp3-intent-danger .bp3-input{ + -webkit-box-shadow:0 0 0 0 rgba(219, 55, 55, 0), 0 0 0 0 rgba(219, 55, 55, 0), inset 0 0 0 1px #db3737, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 0 rgba(219, 55, 55, 0), 0 0 0 0 rgba(219, 55, 55, 0), inset 0 0 0 1px #db3737, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-input-group.bp3-intent-danger .bp3-input:focus{ + -webkit-box-shadow:0 0 0 1px #db3737, 0 0 0 3px rgba(219, 55, 55, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px #db3737, 0 0 0 3px rgba(219, 55, 55, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-input-group.bp3-intent-danger .bp3-input[readonly]{ + -webkit-box-shadow:inset 0 0 0 1px #db3737; + box-shadow:inset 0 0 0 1px #db3737; } + .bp3-input-group.bp3-intent-danger .bp3-input:disabled, .bp3-input-group.bp3-intent-danger .bp3-input.bp3-disabled{ + -webkit-box-shadow:none; + box-shadow:none; } + .bp3-input-group.bp3-intent-danger > .bp3-icon{ + color:#c23030; } + .bp3-dark .bp3-input-group.bp3-intent-danger > .bp3-icon{ + color:#ff7373; } +.bp3-input{ + outline:none; + border:none; + border-radius:3px; + -webkit-box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); + background:#ffffff; + height:30px; + padding:0 10px; + vertical-align:middle; + line-height:30px; + color:#182026; + font-size:14px; + font-weight:400; + -webkit-transition:-webkit-box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:-webkit-box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9), -webkit-box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9); + -webkit-appearance:none; + -moz-appearance:none; + appearance:none; } + .bp3-input::-webkit-input-placeholder{ + opacity:1; + color:rgba(92, 112, 128, 0.6); } + .bp3-input::-moz-placeholder{ + opacity:1; + color:rgba(92, 112, 128, 0.6); } + .bp3-input:-ms-input-placeholder{ + opacity:1; + color:rgba(92, 112, 128, 0.6); } + .bp3-input::-ms-input-placeholder{ + opacity:1; + color:rgba(92, 112, 128, 0.6); } + .bp3-input::placeholder{ + opacity:1; + color:rgba(92, 112, 128, 0.6); } + .bp3-input:focus, .bp3-input.bp3-active{ + -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-input[type="search"], .bp3-input.bp3-round{ + border-radius:30px; + -webkit-box-sizing:border-box; + box-sizing:border-box; + padding-left:10px; } + .bp3-input[readonly]{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.15); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.15); } + .bp3-input:disabled, .bp3-input.bp3-disabled{ + -webkit-box-shadow:none; + box-shadow:none; + background:rgba(206, 217, 224, 0.5); + cursor:not-allowed; + color:rgba(92, 112, 128, 0.6); + resize:none; } + .bp3-input.bp3-large{ + height:40px; + line-height:40px; + font-size:16px; } + .bp3-input.bp3-large[type="search"], .bp3-input.bp3-large.bp3-round{ + padding:0 15px; } + .bp3-input.bp3-small{ + height:24px; + padding-right:8px; + padding-left:8px; + line-height:24px; + font-size:12px; } + .bp3-input.bp3-small[type="search"], .bp3-input.bp3-small.bp3-round{ + padding:0 12px; } + .bp3-input.bp3-fill{ + -webkit-box-flex:1; + -ms-flex:1 1 auto; + flex:1 1 auto; + width:100%; } + .bp3-dark .bp3-input{ + -webkit-box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + background:rgba(16, 22, 26, 0.3); + color:#f5f8fa; } + .bp3-dark .bp3-input::-webkit-input-placeholder{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-input::-moz-placeholder{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-input:-ms-input-placeholder{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-input::-ms-input-placeholder{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-input::placeholder{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-input:focus{ + -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px #137cbd, 0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-input[readonly]{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-input:disabled, .bp3-dark .bp3-input.bp3-disabled{ + -webkit-box-shadow:none; + box-shadow:none; + background:rgba(57, 75, 89, 0.5); + color:rgba(167, 182, 194, 0.6); } + .bp3-input.bp3-intent-primary{ + -webkit-box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px #137cbd, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px #137cbd, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-input.bp3-intent-primary:focus{ + -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-input.bp3-intent-primary[readonly]{ + -webkit-box-shadow:inset 0 0 0 1px #137cbd; + box-shadow:inset 0 0 0 1px #137cbd; } + .bp3-input.bp3-intent-primary:disabled, .bp3-input.bp3-intent-primary.bp3-disabled{ + -webkit-box-shadow:none; + box-shadow:none; } + .bp3-dark .bp3-input.bp3-intent-primary{ + -webkit-box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px #137cbd, inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px #137cbd, inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-input.bp3-intent-primary:focus{ + -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px #137cbd, 0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-input.bp3-intent-primary[readonly]{ + -webkit-box-shadow:inset 0 0 0 1px #137cbd; + box-shadow:inset 0 0 0 1px #137cbd; } + .bp3-dark .bp3-input.bp3-intent-primary:disabled, .bp3-dark .bp3-input.bp3-intent-primary.bp3-disabled{ + -webkit-box-shadow:none; + box-shadow:none; } + .bp3-input.bp3-intent-success{ + -webkit-box-shadow:0 0 0 0 rgba(15, 153, 96, 0), 0 0 0 0 rgba(15, 153, 96, 0), inset 0 0 0 1px #0f9960, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 0 rgba(15, 153, 96, 0), 0 0 0 0 rgba(15, 153, 96, 0), inset 0 0 0 1px #0f9960, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-input.bp3-intent-success:focus{ + -webkit-box-shadow:0 0 0 1px #0f9960, 0 0 0 3px rgba(15, 153, 96, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px #0f9960, 0 0 0 3px rgba(15, 153, 96, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-input.bp3-intent-success[readonly]{ + -webkit-box-shadow:inset 0 0 0 1px #0f9960; + box-shadow:inset 0 0 0 1px #0f9960; } + .bp3-input.bp3-intent-success:disabled, .bp3-input.bp3-intent-success.bp3-disabled{ + -webkit-box-shadow:none; + box-shadow:none; } + .bp3-dark .bp3-input.bp3-intent-success{ + -webkit-box-shadow:0 0 0 0 rgba(15, 153, 96, 0), 0 0 0 0 rgba(15, 153, 96, 0), 0 0 0 0 rgba(15, 153, 96, 0), inset 0 0 0 1px #0f9960, inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 0 rgba(15, 153, 96, 0), 0 0 0 0 rgba(15, 153, 96, 0), 0 0 0 0 rgba(15, 153, 96, 0), inset 0 0 0 1px #0f9960, inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-input.bp3-intent-success:focus{ + -webkit-box-shadow:0 0 0 1px #0f9960, 0 0 0 1px #0f9960, 0 0 0 3px rgba(15, 153, 96, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px #0f9960, 0 0 0 1px #0f9960, 0 0 0 3px rgba(15, 153, 96, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-input.bp3-intent-success[readonly]{ + -webkit-box-shadow:inset 0 0 0 1px #0f9960; + box-shadow:inset 0 0 0 1px #0f9960; } + .bp3-dark .bp3-input.bp3-intent-success:disabled, .bp3-dark .bp3-input.bp3-intent-success.bp3-disabled{ + -webkit-box-shadow:none; + box-shadow:none; } + .bp3-input.bp3-intent-warning{ + -webkit-box-shadow:0 0 0 0 rgba(217, 130, 43, 0), 0 0 0 0 rgba(217, 130, 43, 0), inset 0 0 0 1px #d9822b, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 0 rgba(217, 130, 43, 0), 0 0 0 0 rgba(217, 130, 43, 0), inset 0 0 0 1px #d9822b, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-input.bp3-intent-warning:focus{ + -webkit-box-shadow:0 0 0 1px #d9822b, 0 0 0 3px rgba(217, 130, 43, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px #d9822b, 0 0 0 3px rgba(217, 130, 43, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-input.bp3-intent-warning[readonly]{ + -webkit-box-shadow:inset 0 0 0 1px #d9822b; + box-shadow:inset 0 0 0 1px #d9822b; } + .bp3-input.bp3-intent-warning:disabled, .bp3-input.bp3-intent-warning.bp3-disabled{ + -webkit-box-shadow:none; + box-shadow:none; } + .bp3-dark .bp3-input.bp3-intent-warning{ + -webkit-box-shadow:0 0 0 0 rgba(217, 130, 43, 0), 0 0 0 0 rgba(217, 130, 43, 0), 0 0 0 0 rgba(217, 130, 43, 0), inset 0 0 0 1px #d9822b, inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 0 rgba(217, 130, 43, 0), 0 0 0 0 rgba(217, 130, 43, 0), 0 0 0 0 rgba(217, 130, 43, 0), inset 0 0 0 1px #d9822b, inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-input.bp3-intent-warning:focus{ + -webkit-box-shadow:0 0 0 1px #d9822b, 0 0 0 1px #d9822b, 0 0 0 3px rgba(217, 130, 43, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px #d9822b, 0 0 0 1px #d9822b, 0 0 0 3px rgba(217, 130, 43, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-input.bp3-intent-warning[readonly]{ + -webkit-box-shadow:inset 0 0 0 1px #d9822b; + box-shadow:inset 0 0 0 1px #d9822b; } + .bp3-dark .bp3-input.bp3-intent-warning:disabled, .bp3-dark .bp3-input.bp3-intent-warning.bp3-disabled{ + -webkit-box-shadow:none; + box-shadow:none; } + .bp3-input.bp3-intent-danger{ + -webkit-box-shadow:0 0 0 0 rgba(219, 55, 55, 0), 0 0 0 0 rgba(219, 55, 55, 0), inset 0 0 0 1px #db3737, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 0 rgba(219, 55, 55, 0), 0 0 0 0 rgba(219, 55, 55, 0), inset 0 0 0 1px #db3737, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-input.bp3-intent-danger:focus{ + -webkit-box-shadow:0 0 0 1px #db3737, 0 0 0 3px rgba(219, 55, 55, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px #db3737, 0 0 0 3px rgba(219, 55, 55, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-input.bp3-intent-danger[readonly]{ + -webkit-box-shadow:inset 0 0 0 1px #db3737; + box-shadow:inset 0 0 0 1px #db3737; } + .bp3-input.bp3-intent-danger:disabled, .bp3-input.bp3-intent-danger.bp3-disabled{ + -webkit-box-shadow:none; + box-shadow:none; } + .bp3-dark .bp3-input.bp3-intent-danger{ + -webkit-box-shadow:0 0 0 0 rgba(219, 55, 55, 0), 0 0 0 0 rgba(219, 55, 55, 0), 0 0 0 0 rgba(219, 55, 55, 0), inset 0 0 0 1px #db3737, inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 0 rgba(219, 55, 55, 0), 0 0 0 0 rgba(219, 55, 55, 0), 0 0 0 0 rgba(219, 55, 55, 0), inset 0 0 0 1px #db3737, inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-input.bp3-intent-danger:focus{ + -webkit-box-shadow:0 0 0 1px #db3737, 0 0 0 1px #db3737, 0 0 0 3px rgba(219, 55, 55, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px #db3737, 0 0 0 1px #db3737, 0 0 0 3px rgba(219, 55, 55, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-input.bp3-intent-danger[readonly]{ + -webkit-box-shadow:inset 0 0 0 1px #db3737; + box-shadow:inset 0 0 0 1px #db3737; } + .bp3-dark .bp3-input.bp3-intent-danger:disabled, .bp3-dark .bp3-input.bp3-intent-danger.bp3-disabled{ + -webkit-box-shadow:none; + box-shadow:none; } + .bp3-input::-ms-clear{ + display:none; } +textarea.bp3-input{ + max-width:100%; + padding:10px; } + textarea.bp3-input, textarea.bp3-input.bp3-large, textarea.bp3-input.bp3-small{ + height:auto; + line-height:inherit; } + textarea.bp3-input.bp3-small{ + padding:8px; } + .bp3-dark textarea.bp3-input{ + -webkit-box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + background:rgba(16, 22, 26, 0.3); + color:#f5f8fa; } + .bp3-dark textarea.bp3-input::-webkit-input-placeholder{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark textarea.bp3-input::-moz-placeholder{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark textarea.bp3-input:-ms-input-placeholder{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark textarea.bp3-input::-ms-input-placeholder{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark textarea.bp3-input::placeholder{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark textarea.bp3-input:focus{ + -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px #137cbd, 0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } + .bp3-dark textarea.bp3-input[readonly]{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4); } + .bp3-dark textarea.bp3-input:disabled, .bp3-dark textarea.bp3-input.bp3-disabled{ + -webkit-box-shadow:none; + box-shadow:none; + background:rgba(57, 75, 89, 0.5); + color:rgba(167, 182, 194, 0.6); } +label.bp3-label{ + display:block; + margin-top:0; + margin-bottom:15px; } + label.bp3-label .bp3-html-select, + label.bp3-label .bp3-input, + label.bp3-label .bp3-select, + label.bp3-label .bp3-slider, + label.bp3-label .bp3-popover-wrapper{ + display:block; + margin-top:5px; + text-transform:none; } + label.bp3-label .bp3-button-group{ + margin-top:5px; } + label.bp3-label .bp3-select select, + label.bp3-label .bp3-html-select select{ + width:100%; + vertical-align:top; + font-weight:400; } + label.bp3-label.bp3-disabled, + label.bp3-label.bp3-disabled .bp3-text-muted{ + color:rgba(92, 112, 128, 0.6); } + label.bp3-label.bp3-inline{ + line-height:30px; } + label.bp3-label.bp3-inline .bp3-html-select, + label.bp3-label.bp3-inline .bp3-input, + label.bp3-label.bp3-inline .bp3-input-group, + label.bp3-label.bp3-inline .bp3-select, + label.bp3-label.bp3-inline .bp3-popover-wrapper{ + display:inline-block; + margin:0 0 0 5px; + vertical-align:top; } + label.bp3-label.bp3-inline .bp3-button-group{ + margin:0 0 0 5px; } + label.bp3-label.bp3-inline .bp3-input-group .bp3-input{ + margin-left:0; } + label.bp3-label.bp3-inline.bp3-large{ + line-height:40px; } + label.bp3-label:not(.bp3-inline) .bp3-popover-target{ + display:block; } + .bp3-dark label.bp3-label{ + color:#f5f8fa; } + .bp3-dark label.bp3-label.bp3-disabled, + .bp3-dark label.bp3-label.bp3-disabled .bp3-text-muted{ + color:rgba(167, 182, 194, 0.6); } +.bp3-numeric-input .bp3-button-group.bp3-vertical > .bp3-button{ + -webkit-box-flex:1; + -ms-flex:1 1 14px; + flex:1 1 14px; + width:30px; + min-height:0; + padding:0; } + .bp3-numeric-input .bp3-button-group.bp3-vertical > .bp3-button:first-child{ + border-radius:0 3px 0 0; } + .bp3-numeric-input .bp3-button-group.bp3-vertical > .bp3-button:last-child{ + border-radius:0 0 3px 0; } + +.bp3-numeric-input .bp3-button-group.bp3-vertical:first-child > .bp3-button:first-child{ + border-radius:3px 0 0 0; } + +.bp3-numeric-input .bp3-button-group.bp3-vertical:first-child > .bp3-button:last-child{ + border-radius:0 0 0 3px; } + +.bp3-numeric-input.bp3-large .bp3-button-group.bp3-vertical > .bp3-button{ + width:40px; } + +form{ + display:block; } +.bp3-html-select select, +.bp3-select select{ + display:-webkit-inline-box; + display:-ms-inline-flexbox; + display:inline-flex; + -webkit-box-orient:horizontal; + -webkit-box-direction:normal; + -ms-flex-direction:row; + flex-direction:row; + -webkit-box-align:center; + -ms-flex-align:center; + align-items:center; + -webkit-box-pack:center; + -ms-flex-pack:center; + justify-content:center; + border:none; + border-radius:3px; + cursor:pointer; + padding:5px 10px; + vertical-align:middle; + text-align:left; + font-size:14px; + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); + background-color:#f5f8fa; + background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.8)), to(rgba(255, 255, 255, 0))); + background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0)); + color:#182026; + border-radius:3px; + width:100%; + height:30px; + padding:0 25px 0 10px; + -moz-appearance:none; + -webkit-appearance:none; } + .bp3-html-select select > *, .bp3-select select > *{ + -webkit-box-flex:0; + -ms-flex-positive:0; + flex-grow:0; + -ms-flex-negative:0; + flex-shrink:0; } + .bp3-html-select select > .bp3-fill, .bp3-select select > .bp3-fill{ + -webkit-box-flex:1; + -ms-flex-positive:1; + flex-grow:1; + -ms-flex-negative:1; + flex-shrink:1; } + .bp3-html-select select::before, + .bp3-select select::before, .bp3-html-select select > *, .bp3-select select > *{ + margin-right:7px; } + .bp3-html-select select:empty::before, + .bp3-select select:empty::before, + .bp3-html-select select > :last-child, + .bp3-select select > :last-child{ + margin-right:0; } + .bp3-html-select select:hover, + .bp3-select select:hover{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); + background-clip:padding-box; + background-color:#ebf1f5; } + .bp3-html-select select:active, + .bp3-select select:active, .bp3-html-select select.bp3-active, + .bp3-select select.bp3-active{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2); + background-color:#d8e1e8; + background-image:none; } + .bp3-html-select select:disabled, + .bp3-select select:disabled, .bp3-html-select select.bp3-disabled, + .bp3-select select.bp3-disabled{ + outline:none; + -webkit-box-shadow:none; + box-shadow:none; + background-color:rgba(206, 217, 224, 0.5); + background-image:none; + cursor:not-allowed; + color:rgba(92, 112, 128, 0.6); } + .bp3-html-select select:disabled.bp3-active, + .bp3-select select:disabled.bp3-active, .bp3-html-select select:disabled.bp3-active:hover, + .bp3-select select:disabled.bp3-active:hover, .bp3-html-select select.bp3-disabled.bp3-active, + .bp3-select select.bp3-disabled.bp3-active, .bp3-html-select select.bp3-disabled.bp3-active:hover, + .bp3-select select.bp3-disabled.bp3-active:hover{ + background:rgba(206, 217, 224, 0.7); } + +.bp3-html-select.bp3-minimal select, +.bp3-select.bp3-minimal select{ + -webkit-box-shadow:none; + box-shadow:none; + background:none; } + .bp3-html-select.bp3-minimal select:hover, + .bp3-select.bp3-minimal select:hover{ + -webkit-box-shadow:none; + box-shadow:none; + background:rgba(167, 182, 194, 0.3); + text-decoration:none; + color:#182026; } + .bp3-html-select.bp3-minimal select:active, + .bp3-select.bp3-minimal select:active, .bp3-html-select.bp3-minimal select.bp3-active, + .bp3-select.bp3-minimal select.bp3-active{ + -webkit-box-shadow:none; + box-shadow:none; + background:rgba(115, 134, 148, 0.3); + color:#182026; } + .bp3-html-select.bp3-minimal select:disabled, + .bp3-select.bp3-minimal select:disabled, .bp3-html-select.bp3-minimal select:disabled:hover, + .bp3-select.bp3-minimal select:disabled:hover, .bp3-html-select.bp3-minimal select.bp3-disabled, + .bp3-select.bp3-minimal select.bp3-disabled, .bp3-html-select.bp3-minimal select.bp3-disabled:hover, + .bp3-select.bp3-minimal select.bp3-disabled:hover{ + background:none; + cursor:not-allowed; + color:rgba(92, 112, 128, 0.6); } + .bp3-html-select.bp3-minimal select:disabled.bp3-active, + .bp3-select.bp3-minimal select:disabled.bp3-active, .bp3-html-select.bp3-minimal select:disabled:hover.bp3-active, + .bp3-select.bp3-minimal select:disabled:hover.bp3-active, .bp3-html-select.bp3-minimal select.bp3-disabled.bp3-active, + .bp3-select.bp3-minimal select.bp3-disabled.bp3-active, .bp3-html-select.bp3-minimal select.bp3-disabled:hover.bp3-active, + .bp3-select.bp3-minimal select.bp3-disabled:hover.bp3-active{ + background:rgba(115, 134, 148, 0.3); } + .bp3-dark .bp3-html-select.bp3-minimal select, .bp3-html-select.bp3-minimal .bp3-dark select, + .bp3-dark .bp3-select.bp3-minimal select, .bp3-select.bp3-minimal .bp3-dark select{ + -webkit-box-shadow:none; + box-shadow:none; + background:none; + color:inherit; } + .bp3-dark .bp3-html-select.bp3-minimal select:hover, .bp3-html-select.bp3-minimal .bp3-dark select:hover, + .bp3-dark .bp3-select.bp3-minimal select:hover, .bp3-select.bp3-minimal .bp3-dark select:hover, .bp3-dark .bp3-html-select.bp3-minimal select:active, .bp3-html-select.bp3-minimal .bp3-dark select:active, + .bp3-dark .bp3-select.bp3-minimal select:active, .bp3-select.bp3-minimal .bp3-dark select:active, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-active, + .bp3-dark .bp3-select.bp3-minimal select.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-active{ + -webkit-box-shadow:none; + box-shadow:none; + background:none; } + .bp3-dark .bp3-html-select.bp3-minimal select:hover, .bp3-html-select.bp3-minimal .bp3-dark select:hover, + .bp3-dark .bp3-select.bp3-minimal select:hover, .bp3-select.bp3-minimal .bp3-dark select:hover{ + background:rgba(138, 155, 168, 0.15); } + .bp3-dark .bp3-html-select.bp3-minimal select:active, .bp3-html-select.bp3-minimal .bp3-dark select:active, + .bp3-dark .bp3-select.bp3-minimal select:active, .bp3-select.bp3-minimal .bp3-dark select:active, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-active, + .bp3-dark .bp3-select.bp3-minimal select.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-active{ + background:rgba(138, 155, 168, 0.3); + color:#f5f8fa; } + .bp3-dark .bp3-html-select.bp3-minimal select:disabled, .bp3-html-select.bp3-minimal .bp3-dark select:disabled, + .bp3-dark .bp3-select.bp3-minimal select:disabled, .bp3-select.bp3-minimal .bp3-dark select:disabled, .bp3-dark .bp3-html-select.bp3-minimal select:disabled:hover, .bp3-html-select.bp3-minimal .bp3-dark select:disabled:hover, + .bp3-dark .bp3-select.bp3-minimal select:disabled:hover, .bp3-select.bp3-minimal .bp3-dark select:disabled:hover, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-disabled, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-disabled, + .bp3-dark .bp3-select.bp3-minimal select.bp3-disabled, .bp3-select.bp3-minimal .bp3-dark select.bp3-disabled, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-disabled:hover, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-disabled:hover, + .bp3-dark .bp3-select.bp3-minimal select.bp3-disabled:hover, .bp3-select.bp3-minimal .bp3-dark select.bp3-disabled:hover{ + background:none; + cursor:not-allowed; + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-html-select.bp3-minimal select:disabled.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select:disabled.bp3-active, + .bp3-dark .bp3-select.bp3-minimal select:disabled.bp3-active, .bp3-select.bp3-minimal .bp3-dark select:disabled.bp3-active, .bp3-dark .bp3-html-select.bp3-minimal select:disabled:hover.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select:disabled:hover.bp3-active, + .bp3-dark .bp3-select.bp3-minimal select:disabled:hover.bp3-active, .bp3-select.bp3-minimal .bp3-dark select:disabled:hover.bp3-active, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-disabled.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-disabled.bp3-active, + .bp3-dark .bp3-select.bp3-minimal select.bp3-disabled.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-disabled.bp3-active, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-disabled:hover.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-disabled:hover.bp3-active, + .bp3-dark .bp3-select.bp3-minimal select.bp3-disabled:hover.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-disabled:hover.bp3-active{ + background:rgba(138, 155, 168, 0.3); } + .bp3-html-select.bp3-minimal select.bp3-intent-primary, + .bp3-select.bp3-minimal select.bp3-intent-primary{ + color:#106ba3; } + .bp3-html-select.bp3-minimal select.bp3-intent-primary:hover, + .bp3-select.bp3-minimal select.bp3-intent-primary:hover, .bp3-html-select.bp3-minimal select.bp3-intent-primary:active, + .bp3-select.bp3-minimal select.bp3-intent-primary:active, .bp3-html-select.bp3-minimal select.bp3-intent-primary.bp3-active, + .bp3-select.bp3-minimal select.bp3-intent-primary.bp3-active{ + -webkit-box-shadow:none; + box-shadow:none; + background:none; + color:#106ba3; } + .bp3-html-select.bp3-minimal select.bp3-intent-primary:hover, + .bp3-select.bp3-minimal select.bp3-intent-primary:hover{ + background:rgba(19, 124, 189, 0.15); + color:#106ba3; } + .bp3-html-select.bp3-minimal select.bp3-intent-primary:active, + .bp3-select.bp3-minimal select.bp3-intent-primary:active, .bp3-html-select.bp3-minimal select.bp3-intent-primary.bp3-active, + .bp3-select.bp3-minimal select.bp3-intent-primary.bp3-active{ + background:rgba(19, 124, 189, 0.3); + color:#106ba3; } + .bp3-html-select.bp3-minimal select.bp3-intent-primary:disabled, + .bp3-select.bp3-minimal select.bp3-intent-primary:disabled, .bp3-html-select.bp3-minimal select.bp3-intent-primary.bp3-disabled, + .bp3-select.bp3-minimal select.bp3-intent-primary.bp3-disabled{ + background:none; + color:rgba(16, 107, 163, 0.5); } + .bp3-html-select.bp3-minimal select.bp3-intent-primary:disabled.bp3-active, + .bp3-select.bp3-minimal select.bp3-intent-primary:disabled.bp3-active, .bp3-html-select.bp3-minimal select.bp3-intent-primary.bp3-disabled.bp3-active, + .bp3-select.bp3-minimal select.bp3-intent-primary.bp3-disabled.bp3-active{ + background:rgba(19, 124, 189, 0.3); } + .bp3-html-select.bp3-minimal select.bp3-intent-primary .bp3-button-spinner .bp3-spinner-head, .bp3-select.bp3-minimal select.bp3-intent-primary .bp3-button-spinner .bp3-spinner-head{ + stroke:#106ba3; } + .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-primary, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-primary, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-primary, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-primary{ + color:#48aff0; } + .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-primary:hover, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-primary:hover, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-primary:hover, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-primary:hover{ + background:rgba(19, 124, 189, 0.2); + color:#48aff0; } + .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-primary:active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-primary:active, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-primary:active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-primary:active, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-primary.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-primary.bp3-active, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-primary.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-primary.bp3-active{ + background:rgba(19, 124, 189, 0.3); + color:#48aff0; } + .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-primary:disabled, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-primary:disabled, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-primary:disabled, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-primary:disabled, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-primary.bp3-disabled, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-primary.bp3-disabled, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-primary.bp3-disabled, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-primary.bp3-disabled{ + background:none; + color:rgba(72, 175, 240, 0.5); } + .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-primary:disabled.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-primary:disabled.bp3-active, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-primary:disabled.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-primary:disabled.bp3-active, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-primary.bp3-disabled.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-primary.bp3-disabled.bp3-active, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-primary.bp3-disabled.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-primary.bp3-disabled.bp3-active{ + background:rgba(19, 124, 189, 0.3); } + .bp3-html-select.bp3-minimal select.bp3-intent-success, + .bp3-select.bp3-minimal select.bp3-intent-success{ + color:#0d8050; } + .bp3-html-select.bp3-minimal select.bp3-intent-success:hover, + .bp3-select.bp3-minimal select.bp3-intent-success:hover, .bp3-html-select.bp3-minimal select.bp3-intent-success:active, + .bp3-select.bp3-minimal select.bp3-intent-success:active, .bp3-html-select.bp3-minimal select.bp3-intent-success.bp3-active, + .bp3-select.bp3-minimal select.bp3-intent-success.bp3-active{ + -webkit-box-shadow:none; + box-shadow:none; + background:none; + color:#0d8050; } + .bp3-html-select.bp3-minimal select.bp3-intent-success:hover, + .bp3-select.bp3-minimal select.bp3-intent-success:hover{ + background:rgba(15, 153, 96, 0.15); + color:#0d8050; } + .bp3-html-select.bp3-minimal select.bp3-intent-success:active, + .bp3-select.bp3-minimal select.bp3-intent-success:active, .bp3-html-select.bp3-minimal select.bp3-intent-success.bp3-active, + .bp3-select.bp3-minimal select.bp3-intent-success.bp3-active{ + background:rgba(15, 153, 96, 0.3); + color:#0d8050; } + .bp3-html-select.bp3-minimal select.bp3-intent-success:disabled, + .bp3-select.bp3-minimal select.bp3-intent-success:disabled, .bp3-html-select.bp3-minimal select.bp3-intent-success.bp3-disabled, + .bp3-select.bp3-minimal select.bp3-intent-success.bp3-disabled{ + background:none; + color:rgba(13, 128, 80, 0.5); } + .bp3-html-select.bp3-minimal select.bp3-intent-success:disabled.bp3-active, + .bp3-select.bp3-minimal select.bp3-intent-success:disabled.bp3-active, .bp3-html-select.bp3-minimal select.bp3-intent-success.bp3-disabled.bp3-active, + .bp3-select.bp3-minimal select.bp3-intent-success.bp3-disabled.bp3-active{ + background:rgba(15, 153, 96, 0.3); } + .bp3-html-select.bp3-minimal select.bp3-intent-success .bp3-button-spinner .bp3-spinner-head, .bp3-select.bp3-minimal select.bp3-intent-success .bp3-button-spinner .bp3-spinner-head{ + stroke:#0d8050; } + .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-success, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-success, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-success, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-success{ + color:#3dcc91; } + .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-success:hover, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-success:hover, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-success:hover, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-success:hover{ + background:rgba(15, 153, 96, 0.2); + color:#3dcc91; } + .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-success:active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-success:active, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-success:active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-success:active, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-success.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-success.bp3-active, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-success.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-success.bp3-active{ + background:rgba(15, 153, 96, 0.3); + color:#3dcc91; } + .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-success:disabled, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-success:disabled, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-success:disabled, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-success:disabled, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-success.bp3-disabled, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-success.bp3-disabled, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-success.bp3-disabled, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-success.bp3-disabled{ + background:none; + color:rgba(61, 204, 145, 0.5); } + .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-success:disabled.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-success:disabled.bp3-active, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-success:disabled.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-success:disabled.bp3-active, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-success.bp3-disabled.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-success.bp3-disabled.bp3-active, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-success.bp3-disabled.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-success.bp3-disabled.bp3-active{ + background:rgba(15, 153, 96, 0.3); } + .bp3-html-select.bp3-minimal select.bp3-intent-warning, + .bp3-select.bp3-minimal select.bp3-intent-warning{ + color:#bf7326; } + .bp3-html-select.bp3-minimal select.bp3-intent-warning:hover, + .bp3-select.bp3-minimal select.bp3-intent-warning:hover, .bp3-html-select.bp3-minimal select.bp3-intent-warning:active, + .bp3-select.bp3-minimal select.bp3-intent-warning:active, .bp3-html-select.bp3-minimal select.bp3-intent-warning.bp3-active, + .bp3-select.bp3-minimal select.bp3-intent-warning.bp3-active{ + -webkit-box-shadow:none; + box-shadow:none; + background:none; + color:#bf7326; } + .bp3-html-select.bp3-minimal select.bp3-intent-warning:hover, + .bp3-select.bp3-minimal select.bp3-intent-warning:hover{ + background:rgba(217, 130, 43, 0.15); + color:#bf7326; } + .bp3-html-select.bp3-minimal select.bp3-intent-warning:active, + .bp3-select.bp3-minimal select.bp3-intent-warning:active, .bp3-html-select.bp3-minimal select.bp3-intent-warning.bp3-active, + .bp3-select.bp3-minimal select.bp3-intent-warning.bp3-active{ + background:rgba(217, 130, 43, 0.3); + color:#bf7326; } + .bp3-html-select.bp3-minimal select.bp3-intent-warning:disabled, + .bp3-select.bp3-minimal select.bp3-intent-warning:disabled, .bp3-html-select.bp3-minimal select.bp3-intent-warning.bp3-disabled, + .bp3-select.bp3-minimal select.bp3-intent-warning.bp3-disabled{ + background:none; + color:rgba(191, 115, 38, 0.5); } + .bp3-html-select.bp3-minimal select.bp3-intent-warning:disabled.bp3-active, + .bp3-select.bp3-minimal select.bp3-intent-warning:disabled.bp3-active, .bp3-html-select.bp3-minimal select.bp3-intent-warning.bp3-disabled.bp3-active, + .bp3-select.bp3-minimal select.bp3-intent-warning.bp3-disabled.bp3-active{ + background:rgba(217, 130, 43, 0.3); } + .bp3-html-select.bp3-minimal select.bp3-intent-warning .bp3-button-spinner .bp3-spinner-head, .bp3-select.bp3-minimal select.bp3-intent-warning .bp3-button-spinner .bp3-spinner-head{ + stroke:#bf7326; } + .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-warning, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-warning, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-warning, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-warning{ + color:#ffb366; } + .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-warning:hover, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-warning:hover, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-warning:hover, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-warning:hover{ + background:rgba(217, 130, 43, 0.2); + color:#ffb366; } + .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-warning:active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-warning:active, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-warning:active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-warning:active, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-warning.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-warning.bp3-active, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-warning.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-warning.bp3-active{ + background:rgba(217, 130, 43, 0.3); + color:#ffb366; } + .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-warning:disabled, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-warning:disabled, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-warning:disabled, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-warning:disabled, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-warning.bp3-disabled, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-warning.bp3-disabled, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-warning.bp3-disabled, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-warning.bp3-disabled{ + background:none; + color:rgba(255, 179, 102, 0.5); } + .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-warning:disabled.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-warning:disabled.bp3-active, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-warning:disabled.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-warning:disabled.bp3-active, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-warning.bp3-disabled.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-warning.bp3-disabled.bp3-active, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-warning.bp3-disabled.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-warning.bp3-disabled.bp3-active{ + background:rgba(217, 130, 43, 0.3); } + .bp3-html-select.bp3-minimal select.bp3-intent-danger, + .bp3-select.bp3-minimal select.bp3-intent-danger{ + color:#c23030; } + .bp3-html-select.bp3-minimal select.bp3-intent-danger:hover, + .bp3-select.bp3-minimal select.bp3-intent-danger:hover, .bp3-html-select.bp3-minimal select.bp3-intent-danger:active, + .bp3-select.bp3-minimal select.bp3-intent-danger:active, .bp3-html-select.bp3-minimal select.bp3-intent-danger.bp3-active, + .bp3-select.bp3-minimal select.bp3-intent-danger.bp3-active{ + -webkit-box-shadow:none; + box-shadow:none; + background:none; + color:#c23030; } + .bp3-html-select.bp3-minimal select.bp3-intent-danger:hover, + .bp3-select.bp3-minimal select.bp3-intent-danger:hover{ + background:rgba(219, 55, 55, 0.15); + color:#c23030; } + .bp3-html-select.bp3-minimal select.bp3-intent-danger:active, + .bp3-select.bp3-minimal select.bp3-intent-danger:active, .bp3-html-select.bp3-minimal select.bp3-intent-danger.bp3-active, + .bp3-select.bp3-minimal select.bp3-intent-danger.bp3-active{ + background:rgba(219, 55, 55, 0.3); + color:#c23030; } + .bp3-html-select.bp3-minimal select.bp3-intent-danger:disabled, + .bp3-select.bp3-minimal select.bp3-intent-danger:disabled, .bp3-html-select.bp3-minimal select.bp3-intent-danger.bp3-disabled, + .bp3-select.bp3-minimal select.bp3-intent-danger.bp3-disabled{ + background:none; + color:rgba(194, 48, 48, 0.5); } + .bp3-html-select.bp3-minimal select.bp3-intent-danger:disabled.bp3-active, + .bp3-select.bp3-minimal select.bp3-intent-danger:disabled.bp3-active, .bp3-html-select.bp3-minimal select.bp3-intent-danger.bp3-disabled.bp3-active, + .bp3-select.bp3-minimal select.bp3-intent-danger.bp3-disabled.bp3-active{ + background:rgba(219, 55, 55, 0.3); } + .bp3-html-select.bp3-minimal select.bp3-intent-danger .bp3-button-spinner .bp3-spinner-head, .bp3-select.bp3-minimal select.bp3-intent-danger .bp3-button-spinner .bp3-spinner-head{ + stroke:#c23030; } + .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-danger, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-danger, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-danger, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-danger{ + color:#ff7373; } + .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-danger:hover, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-danger:hover, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-danger:hover, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-danger:hover{ + background:rgba(219, 55, 55, 0.2); + color:#ff7373; } + .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-danger:active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-danger:active, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-danger:active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-danger:active, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-danger.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-danger.bp3-active, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-danger.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-danger.bp3-active{ + background:rgba(219, 55, 55, 0.3); + color:#ff7373; } + .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-danger:disabled, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-danger:disabled, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-danger:disabled, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-danger:disabled, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-danger.bp3-disabled, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-danger.bp3-disabled, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-danger.bp3-disabled, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-danger.bp3-disabled{ + background:none; + color:rgba(255, 115, 115, 0.5); } + .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-danger:disabled.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-danger:disabled.bp3-active, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-danger:disabled.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-danger:disabled.bp3-active, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-danger.bp3-disabled.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-danger.bp3-disabled.bp3-active, + .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-danger.bp3-disabled.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-danger.bp3-disabled.bp3-active{ + background:rgba(219, 55, 55, 0.3); } + +.bp3-html-select.bp3-large select, +.bp3-select.bp3-large select{ + height:40px; + padding-right:35px; + font-size:16px; } + +.bp3-dark .bp3-html-select select, .bp3-dark .bp3-select select{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + background-color:#394b59; + background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.05)), to(rgba(255, 255, 255, 0))); + background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0)); + color:#f5f8fa; } + .bp3-dark .bp3-html-select select:hover, .bp3-dark .bp3-select select:hover, .bp3-dark .bp3-html-select select:active, .bp3-dark .bp3-select select:active, .bp3-dark .bp3-html-select select.bp3-active, .bp3-dark .bp3-select select.bp3-active{ + color:#f5f8fa; } + .bp3-dark .bp3-html-select select:hover, .bp3-dark .bp3-select select:hover{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + background-color:#30404d; } + .bp3-dark .bp3-html-select select:active, .bp3-dark .bp3-select select:active, .bp3-dark .bp3-html-select select.bp3-active, .bp3-dark .bp3-select select.bp3-active{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.6), inset 0 1px 2px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.6), inset 0 1px 2px rgba(16, 22, 26, 0.2); + background-color:#202b33; + background-image:none; } + .bp3-dark .bp3-html-select select:disabled, .bp3-dark .bp3-select select:disabled, .bp3-dark .bp3-html-select select.bp3-disabled, .bp3-dark .bp3-select select.bp3-disabled{ + -webkit-box-shadow:none; + box-shadow:none; + background-color:rgba(57, 75, 89, 0.5); + background-image:none; + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-html-select select:disabled.bp3-active, .bp3-dark .bp3-select select:disabled.bp3-active, .bp3-dark .bp3-html-select select.bp3-disabled.bp3-active, .bp3-dark .bp3-select select.bp3-disabled.bp3-active{ + background:rgba(57, 75, 89, 0.7); } + .bp3-dark .bp3-html-select select .bp3-button-spinner .bp3-spinner-head, .bp3-dark .bp3-select select .bp3-button-spinner .bp3-spinner-head{ + background:rgba(16, 22, 26, 0.5); + stroke:#8a9ba8; } + +.bp3-html-select select:disabled, +.bp3-select select:disabled{ + -webkit-box-shadow:none; + box-shadow:none; + background-color:rgba(206, 217, 224, 0.5); + cursor:not-allowed; + color:rgba(92, 112, 128, 0.6); } + +.bp3-html-select .bp3-icon, +.bp3-select .bp3-icon, .bp3-select::after{ + position:absolute; + top:7px; + right:7px; + color:#5c7080; + pointer-events:none; } + .bp3-html-select .bp3-disabled.bp3-icon, + .bp3-select .bp3-disabled.bp3-icon, .bp3-disabled.bp3-select::after{ + color:rgba(92, 112, 128, 0.6); } +.bp3-html-select, +.bp3-select{ + display:inline-block; + position:relative; + vertical-align:middle; + letter-spacing:normal; } + .bp3-html-select select::-ms-expand, + .bp3-select select::-ms-expand{ + display:none; } + .bp3-html-select .bp3-icon, + .bp3-select .bp3-icon{ + color:#5c7080; } + .bp3-html-select .bp3-icon:hover, + .bp3-select .bp3-icon:hover{ + color:#182026; } + .bp3-dark .bp3-html-select .bp3-icon, .bp3-dark + .bp3-select .bp3-icon{ + color:#a7b6c2; } + .bp3-dark .bp3-html-select .bp3-icon:hover, .bp3-dark + .bp3-select .bp3-icon:hover{ + color:#f5f8fa; } + .bp3-html-select.bp3-large::after, + .bp3-html-select.bp3-large .bp3-icon, + .bp3-select.bp3-large::after, + .bp3-select.bp3-large .bp3-icon{ + top:12px; + right:12px; } + .bp3-html-select.bp3-fill, + .bp3-html-select.bp3-fill select, + .bp3-select.bp3-fill, + .bp3-select.bp3-fill select{ + width:100%; } + .bp3-dark .bp3-html-select option, .bp3-dark + .bp3-select option{ + background-color:#30404d; + color:#f5f8fa; } + .bp3-dark .bp3-html-select::after, .bp3-dark + .bp3-select::after{ + color:#a7b6c2; } + +.bp3-select::after{ + line-height:1; + font-family:"Icons16", sans-serif; + font-size:16px; + font-weight:400; + font-style:normal; + -moz-osx-font-smoothing:grayscale; + -webkit-font-smoothing:antialiased; + content:""; } +.bp3-running-text table, table.bp3-html-table{ + border-spacing:0; + font-size:14px; } + .bp3-running-text table th, table.bp3-html-table th, + .bp3-running-text table td, + table.bp3-html-table td{ + padding:11px; + vertical-align:top; + text-align:left; } + .bp3-running-text table th, table.bp3-html-table th{ + color:#182026; + font-weight:600; } + + .bp3-running-text table td, + table.bp3-html-table td{ + color:#182026; } + .bp3-running-text table tbody tr:first-child th, table.bp3-html-table tbody tr:first-child th, + .bp3-running-text table tbody tr:first-child td, + table.bp3-html-table tbody tr:first-child td{ + -webkit-box-shadow:inset 0 1px 0 0 rgba(16, 22, 26, 0.15); + box-shadow:inset 0 1px 0 0 rgba(16, 22, 26, 0.15); } + .bp3-dark .bp3-running-text table th, .bp3-running-text .bp3-dark table th, .bp3-dark table.bp3-html-table th{ + color:#f5f8fa; } + .bp3-dark .bp3-running-text table td, .bp3-running-text .bp3-dark table td, .bp3-dark table.bp3-html-table td{ + color:#f5f8fa; } + .bp3-dark .bp3-running-text table tbody tr:first-child th, .bp3-running-text .bp3-dark table tbody tr:first-child th, .bp3-dark table.bp3-html-table tbody tr:first-child th, + .bp3-dark .bp3-running-text table tbody tr:first-child td, + .bp3-running-text .bp3-dark table tbody tr:first-child td, + .bp3-dark table.bp3-html-table tbody tr:first-child td{ + -webkit-box-shadow:inset 0 1px 0 0 rgba(255, 255, 255, 0.15); + box-shadow:inset 0 1px 0 0 rgba(255, 255, 255, 0.15); } + +table.bp3-html-table.bp3-html-table-condensed th, +table.bp3-html-table.bp3-html-table-condensed td, table.bp3-html-table.bp3-small th, +table.bp3-html-table.bp3-small td{ + padding-top:6px; + padding-bottom:6px; } + +table.bp3-html-table.bp3-html-table-striped tbody tr:nth-child(odd) td{ + background:rgba(191, 204, 214, 0.15); } + +table.bp3-html-table.bp3-html-table-bordered th:not(:first-child){ + -webkit-box-shadow:inset 1px 0 0 0 rgba(16, 22, 26, 0.15); + box-shadow:inset 1px 0 0 0 rgba(16, 22, 26, 0.15); } + +table.bp3-html-table.bp3-html-table-bordered tbody tr td{ + -webkit-box-shadow:inset 0 1px 0 0 rgba(16, 22, 26, 0.15); + box-shadow:inset 0 1px 0 0 rgba(16, 22, 26, 0.15); } + table.bp3-html-table.bp3-html-table-bordered tbody tr td:not(:first-child){ + -webkit-box-shadow:inset 1px 1px 0 0 rgba(16, 22, 26, 0.15); + box-shadow:inset 1px 1px 0 0 rgba(16, 22, 26, 0.15); } + +table.bp3-html-table.bp3-html-table-bordered.bp3-html-table-striped tbody tr:not(:first-child) td{ + -webkit-box-shadow:none; + box-shadow:none; } + table.bp3-html-table.bp3-html-table-bordered.bp3-html-table-striped tbody tr:not(:first-child) td:not(:first-child){ + -webkit-box-shadow:inset 1px 0 0 0 rgba(16, 22, 26, 0.15); + box-shadow:inset 1px 0 0 0 rgba(16, 22, 26, 0.15); } + +table.bp3-html-table.bp3-interactive tbody tr:hover td{ + background-color:rgba(191, 204, 214, 0.3); + cursor:pointer; } + +table.bp3-html-table.bp3-interactive tbody tr:active td{ + background-color:rgba(191, 204, 214, 0.4); } + +.bp3-dark table.bp3-html-table.bp3-html-table-striped tbody tr:nth-child(odd) td{ + background:rgba(92, 112, 128, 0.15); } + +.bp3-dark table.bp3-html-table.bp3-html-table-bordered th:not(:first-child){ + -webkit-box-shadow:inset 1px 0 0 0 rgba(255, 255, 255, 0.15); + box-shadow:inset 1px 0 0 0 rgba(255, 255, 255, 0.15); } + +.bp3-dark table.bp3-html-table.bp3-html-table-bordered tbody tr td{ + -webkit-box-shadow:inset 0 1px 0 0 rgba(255, 255, 255, 0.15); + box-shadow:inset 0 1px 0 0 rgba(255, 255, 255, 0.15); } + .bp3-dark table.bp3-html-table.bp3-html-table-bordered tbody tr td:not(:first-child){ + -webkit-box-shadow:inset 1px 1px 0 0 rgba(255, 255, 255, 0.15); + box-shadow:inset 1px 1px 0 0 rgba(255, 255, 255, 0.15); } + +.bp3-dark table.bp3-html-table.bp3-html-table-bordered.bp3-html-table-striped tbody tr:not(:first-child) td{ + -webkit-box-shadow:inset 1px 0 0 0 rgba(255, 255, 255, 0.15); + box-shadow:inset 1px 0 0 0 rgba(255, 255, 255, 0.15); } + .bp3-dark table.bp3-html-table.bp3-html-table-bordered.bp3-html-table-striped tbody tr:not(:first-child) td:first-child{ + -webkit-box-shadow:none; + box-shadow:none; } + +.bp3-dark table.bp3-html-table.bp3-interactive tbody tr:hover td{ + background-color:rgba(92, 112, 128, 0.3); + cursor:pointer; } + +.bp3-dark table.bp3-html-table.bp3-interactive tbody tr:active td{ + background-color:rgba(92, 112, 128, 0.4); } + +.bp3-key-combo{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-orient:horizontal; + -webkit-box-direction:normal; + -ms-flex-direction:row; + flex-direction:row; + -webkit-box-align:center; + -ms-flex-align:center; + align-items:center; } + .bp3-key-combo > *{ + -webkit-box-flex:0; + -ms-flex-positive:0; + flex-grow:0; + -ms-flex-negative:0; + flex-shrink:0; } + .bp3-key-combo > .bp3-fill{ + -webkit-box-flex:1; + -ms-flex-positive:1; + flex-grow:1; + -ms-flex-negative:1; + flex-shrink:1; } + .bp3-key-combo::before, + .bp3-key-combo > *{ + margin-right:5px; } + .bp3-key-combo:empty::before, + .bp3-key-combo > :last-child{ + margin-right:0; } + +.bp3-hotkey-dialog{ + top:40px; + padding-bottom:0; } + .bp3-hotkey-dialog .bp3-dialog-body{ + margin:0; + padding:0; } + .bp3-hotkey-dialog .bp3-hotkey-label{ + -webkit-box-flex:1; + -ms-flex-positive:1; + flex-grow:1; } + +.bp3-hotkey-column{ + margin:auto; + max-height:80vh; + overflow-y:auto; + padding:30px; } + .bp3-hotkey-column .bp3-heading{ + margin-bottom:20px; } + .bp3-hotkey-column .bp3-heading:not(:first-child){ + margin-top:40px; } + +.bp3-hotkey{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-align:center; + -ms-flex-align:center; + align-items:center; + -webkit-box-pack:justify; + -ms-flex-pack:justify; + justify-content:space-between; + margin-right:0; + margin-left:0; } + .bp3-hotkey:not(:last-child){ + margin-bottom:10px; } +.bp3-icon{ + display:inline-block; + -webkit-box-flex:0; + -ms-flex:0 0 auto; + flex:0 0 auto; + vertical-align:text-bottom; } + .bp3-icon:not(:empty)::before{ + content:"" !important; + content:unset !important; } + .bp3-icon > svg{ + display:block; } + .bp3-icon > svg:not([fill]){ + fill:currentColor; } + +.bp3-icon.bp3-intent-primary, .bp3-icon-standard.bp3-intent-primary, .bp3-icon-large.bp3-intent-primary{ + color:#106ba3; } + .bp3-dark .bp3-icon.bp3-intent-primary, .bp3-dark .bp3-icon-standard.bp3-intent-primary, .bp3-dark .bp3-icon-large.bp3-intent-primary{ + color:#48aff0; } + +.bp3-icon.bp3-intent-success, .bp3-icon-standard.bp3-intent-success, .bp3-icon-large.bp3-intent-success{ + color:#0d8050; } + .bp3-dark .bp3-icon.bp3-intent-success, .bp3-dark .bp3-icon-standard.bp3-intent-success, .bp3-dark .bp3-icon-large.bp3-intent-success{ + color:#3dcc91; } + +.bp3-icon.bp3-intent-warning, .bp3-icon-standard.bp3-intent-warning, .bp3-icon-large.bp3-intent-warning{ + color:#bf7326; } + .bp3-dark .bp3-icon.bp3-intent-warning, .bp3-dark .bp3-icon-standard.bp3-intent-warning, .bp3-dark .bp3-icon-large.bp3-intent-warning{ + color:#ffb366; } + +.bp3-icon.bp3-intent-danger, .bp3-icon-standard.bp3-intent-danger, .bp3-icon-large.bp3-intent-danger{ + color:#c23030; } + .bp3-dark .bp3-icon.bp3-intent-danger, .bp3-dark .bp3-icon-standard.bp3-intent-danger, .bp3-dark .bp3-icon-large.bp3-intent-danger{ + color:#ff7373; } + +span.bp3-icon-standard{ + line-height:1; + font-family:"Icons16", sans-serif; + font-size:16px; + font-weight:400; + font-style:normal; + -moz-osx-font-smoothing:grayscale; + -webkit-font-smoothing:antialiased; + display:inline-block; } + +span.bp3-icon-large{ + line-height:1; + font-family:"Icons20", sans-serif; + font-size:20px; + font-weight:400; + font-style:normal; + -moz-osx-font-smoothing:grayscale; + -webkit-font-smoothing:antialiased; + display:inline-block; } + +span.bp3-icon:empty{ + line-height:1; + font-family:"Icons20"; + font-size:inherit; + font-weight:400; + font-style:normal; } + span.bp3-icon:empty::before{ + -moz-osx-font-smoothing:grayscale; + -webkit-font-smoothing:antialiased; } + +.bp3-icon-add::before{ + content:""; } + +.bp3-icon-add-column-left::before{ + content:""; } + +.bp3-icon-add-column-right::before{ + content:""; } + +.bp3-icon-add-row-bottom::before{ + content:""; } + +.bp3-icon-add-row-top::before{ + content:"î›·"; } + +.bp3-icon-add-to-artifact::before{ + content:""; } + +.bp3-icon-add-to-folder::before{ + content:"î›’"; } + +.bp3-icon-airplane::before{ + content:"î‹"; } + +.bp3-icon-align-center::before{ + content:""; } + +.bp3-icon-align-justify::before{ + content:""; } + +.bp3-icon-align-left::before{ + content:""; } + +.bp3-icon-align-right::before{ + content:""; } + +.bp3-icon-alignment-bottom::before{ + content:""; } + +.bp3-icon-alignment-horizontal-center::before{ + content:""; } + +.bp3-icon-alignment-left::before{ + content:""; } + +.bp3-icon-alignment-right::before{ + content:""; } + +.bp3-icon-alignment-top::before{ + content:""; } + +.bp3-icon-alignment-vertical-center::before{ + content:""; } + +.bp3-icon-annotation::before{ + content:"î›°"; } + +.bp3-icon-application::before{ + content:""; } + +.bp3-icon-applications::before{ + content:""; } + +.bp3-icon-archive::before{ + content:""; } + +.bp3-icon-arrow-bottom-left::before{ + content:"↙"; } + +.bp3-icon-arrow-bottom-right::before{ + content:"↘"; } + +.bp3-icon-arrow-down::before{ + content:"↓"; } + +.bp3-icon-arrow-left::before{ + content:"â†"; } + +.bp3-icon-arrow-right::before{ + content:"→"; } + +.bp3-icon-arrow-top-left::before{ + content:"↖"; } + +.bp3-icon-arrow-top-right::before{ + content:"↗"; } + +.bp3-icon-arrow-up::before{ + content:"↑"; } + +.bp3-icon-arrows-horizontal::before{ + content:"↔"; } + +.bp3-icon-arrows-vertical::before{ + content:"↕"; } + +.bp3-icon-asterisk::before{ + content:"*"; } + +.bp3-icon-automatic-updates::before{ + content:""; } + +.bp3-icon-badge::before{ + content:""; } + +.bp3-icon-ban-circle::before{ + content:"îš"; } + +.bp3-icon-bank-account::before{ + content:"î¯"; } + +.bp3-icon-barcode::before{ + content:"î™¶"; } + +.bp3-icon-blank::before{ + content:""; } + +.bp3-icon-blocked-person::before{ + content:"î¨"; } + +.bp3-icon-bold::before{ + content:""; } + +.bp3-icon-book::before{ + content:""; } + +.bp3-icon-bookmark::before{ + content:""; } + +.bp3-icon-box::before{ + content:"îš¿"; } + +.bp3-icon-briefcase::before{ + content:"î™´"; } + +.bp3-icon-bring-data::before{ + content:""; } + +.bp3-icon-build::before{ + content:"îœ"; } + +.bp3-icon-calculator::before{ + content:""; } + +.bp3-icon-calendar::before{ + content:""; } + +.bp3-icon-camera::before{ + content:"îšž"; } + +.bp3-icon-caret-down::before{ + content:"⌄"; } + +.bp3-icon-caret-left::before{ + content:"〈"; } + +.bp3-icon-caret-right::before{ + content:"〉"; } + +.bp3-icon-caret-up::before{ + content:"⌃"; } + +.bp3-icon-cell-tower::before{ + content:"î°"; } + +.bp3-icon-changes::before{ + content:""; } + +.bp3-icon-chart::before{ + content:""; } + +.bp3-icon-chat::before{ + content:""; } + +.bp3-icon-chevron-backward::before{ + content:""; } + +.bp3-icon-chevron-down::before{ + content:"îš—"; } + +.bp3-icon-chevron-forward::before{ + content:"î› "; } + +.bp3-icon-chevron-left::before{ + content:"îš”"; } + +.bp3-icon-chevron-right::before{ + content:"îš•"; } + +.bp3-icon-chevron-up::before{ + content:"îš–"; } + +.bp3-icon-circle::before{ + content:""; } + +.bp3-icon-circle-arrow-down::before{ + content:""; } + +.bp3-icon-circle-arrow-left::before{ + content:""; } + +.bp3-icon-circle-arrow-right::before{ + content:"îš‹"; } + +.bp3-icon-circle-arrow-up::before{ + content:"îš"; } + +.bp3-icon-citation::before{ + content:""; } + +.bp3-icon-clean::before{ + content:""; } + +.bp3-icon-clipboard::before{ + content:"î˜"; } + +.bp3-icon-cloud::before{ + content:"â˜"; } + +.bp3-icon-cloud-download::before{ + content:"îš"; } + +.bp3-icon-cloud-upload::before{ + content:"îš‘"; } + +.bp3-icon-code::before{ + content:""; } + +.bp3-icon-code-block::before{ + content:"î›…"; } + +.bp3-icon-cog::before{ + content:"î™…"; } + +.bp3-icon-collapse-all::before{ + content:"î£"; } + +.bp3-icon-column-layout::before{ + content:""; } + +.bp3-icon-comment::before{ + content:""; } + +.bp3-icon-comparison::before{ + content:""; } + +.bp3-icon-compass::before{ + content:"îžœ"; } + +.bp3-icon-compressed::before{ + content:""; } + +.bp3-icon-confirm::before{ + content:""; } + +.bp3-icon-console::before{ + content:"îž›"; } + +.bp3-icon-contrast::before{ + content:""; } + +.bp3-icon-control::before{ + content:""; } + +.bp3-icon-credit-card::before{ + content:""; } + +.bp3-icon-cross::before{ + content:"✗"; } + +.bp3-icon-crown::before{ + content:"îž´"; } + +.bp3-icon-cube::before{ + content:""; } + +.bp3-icon-cube-add::before{ + content:""; } + +.bp3-icon-cube-remove::before{ + content:"îŸ"; } + +.bp3-icon-curved-range-chart::before{ + content:""; } + +.bp3-icon-cut::before{ + content:""; } + +.bp3-icon-dashboard::before{ + content:"î‘"; } + +.bp3-icon-data-lineage::before{ + content:""; } + +.bp3-icon-database::before{ + content:""; } + +.bp3-icon-delete::before{ + content:""; } + +.bp3-icon-delta::before{ + content:"Δ"; } + +.bp3-icon-derive-column::before{ + content:""; } + +.bp3-icon-desktop::before{ + content:""; } + +.bp3-icon-diagram-tree::before{ + content:"îž³"; } + +.bp3-icon-direction-left::before{ + content:"îš"; } + +.bp3-icon-direction-right::before{ + content:"îš‚"; } + +.bp3-icon-disable::before{ + content:""; } + +.bp3-icon-document::before{ + content:""; } + +.bp3-icon-document-open::before{ + content:""; } + +.bp3-icon-document-share::before{ + content:""; } + +.bp3-icon-dollar::before{ + content:"$"; } + +.bp3-icon-dot::before{ + content:"•"; } + +.bp3-icon-double-caret-horizontal::before{ + content:""; } + +.bp3-icon-double-caret-vertical::before{ + content:""; } + +.bp3-icon-double-chevron-down::before{ + content:""; } + +.bp3-icon-double-chevron-left::before{ + content:""; } + +.bp3-icon-double-chevron-right::before{ + content:"îœ"; } + +.bp3-icon-double-chevron-up::before{ + content:""; } + +.bp3-icon-doughnut-chart::before{ + content:""; } + +.bp3-icon-download::before{ + content:""; } + +.bp3-icon-drag-handle-horizontal::before{ + content:""; } + +.bp3-icon-drag-handle-vertical::before{ + content:""; } + +.bp3-icon-draw::before{ + content:""; } + +.bp3-icon-drive-time::before{ + content:""; } + +.bp3-icon-duplicate::before{ + content:"îšœ"; } + +.bp3-icon-edit::before{ + content:"✎"; } + +.bp3-icon-eject::before{ + content:"â"; } + +.bp3-icon-endorsed::before{ + content:"îŸ"; } + +.bp3-icon-envelope::before{ + content:"✉"; } + +.bp3-icon-equals::before{ + content:""; } + +.bp3-icon-eraser::before{ + content:"î³"; } + +.bp3-icon-error::before{ + content:""; } + +.bp3-icon-euro::before{ + content:"€"; } + +.bp3-icon-exchange::before{ + content:""; } + +.bp3-icon-exclude-row::before{ + content:""; } + +.bp3-icon-expand-all::before{ + content:"î¤"; } + +.bp3-icon-export::before{ + content:""; } + +.bp3-icon-eye-off::before{ + content:""; } + +.bp3-icon-eye-on::before{ + content:"îš"; } + +.bp3-icon-eye-open::before{ + content:""; } + +.bp3-icon-fast-backward::before{ + content:""; } + +.bp3-icon-fast-forward::before{ + content:""; } + +.bp3-icon-feed::before{ + content:"î™–"; } + +.bp3-icon-feed-subscribed::before{ + content:"îž"; } + +.bp3-icon-film::before{ + content:"îš¡"; } + +.bp3-icon-filter::before{ + content:""; } + +.bp3-icon-filter-keep::before{ + content:""; } + +.bp3-icon-filter-list::before{ + content:"î›®"; } + +.bp3-icon-filter-open::before{ + content:""; } + +.bp3-icon-filter-remove::before{ + content:"îž"; } + +.bp3-icon-flag::before{ + content:"âš‘"; } + +.bp3-icon-flame::before{ + content:"îž©"; } + +.bp3-icon-flash::before{ + content:"îš³"; } + +.bp3-icon-floppy-disk::before{ + content:"îš·"; } + +.bp3-icon-flow-branch::before{ + content:"îŸ"; } + +.bp3-icon-flow-end::before{ + content:""; } + +.bp3-icon-flow-linear::before{ + content:""; } + +.bp3-icon-flow-review::before{ + content:""; } + +.bp3-icon-flow-review-branch::before{ + content:""; } + +.bp3-icon-flows::before{ + content:"î™™"; } + +.bp3-icon-folder-close::before{ + content:"î™’"; } + +.bp3-icon-folder-new::before{ + content:"îž°"; } + +.bp3-icon-folder-open::before{ + content:""; } + +.bp3-icon-folder-shared::before{ + content:""; } + +.bp3-icon-folder-shared-open::before{ + content:"î™°"; } + +.bp3-icon-follower::before{ + content:"î "; } + +.bp3-icon-following::before{ + content:"î¡"; } + +.bp3-icon-font::before{ + content:"îš´"; } + +.bp3-icon-fork::before{ + content:""; } + +.bp3-icon-form::before{ + content:"îž•"; } + +.bp3-icon-full-circle::before{ + content:"îš…"; } + +.bp3-icon-full-stacked-chart::before{ + content:"îž"; } + +.bp3-icon-fullscreen::before{ + content:"îš™"; } + +.bp3-icon-function::before{ + content:""; } + +.bp3-icon-gantt-chart::before{ + content:"î›´"; } + +.bp3-icon-geolocation::before{ + content:""; } + +.bp3-icon-geosearch::before{ + content:""; } + +.bp3-icon-git-branch::before{ + content:""; } + +.bp3-icon-git-commit::before{ + content:""; } + +.bp3-icon-git-merge::before{ + content:""; } + +.bp3-icon-git-new-branch::before{ + content:"î‰"; } + +.bp3-icon-git-pull::before{ + content:""; } + +.bp3-icon-git-push::before{ + content:""; } + +.bp3-icon-git-repo::before{ + content:"îˆ"; } + +.bp3-icon-glass::before{ + content:"îš±"; } + +.bp3-icon-globe::before{ + content:""; } + +.bp3-icon-globe-network::before{ + content:"îžµ"; } + +.bp3-icon-graph::before{ + content:""; } + +.bp3-icon-graph-remove::before{ + content:""; } + +.bp3-icon-greater-than::before{ + content:""; } + +.bp3-icon-greater-than-or-equal-to::before{ + content:""; } + +.bp3-icon-grid::before{ + content:"î›"; } + +.bp3-icon-grid-view::before{ + content:""; } + +.bp3-icon-group-objects::before{ + content:""; } + +.bp3-icon-grouped-bar-chart::before{ + content:"î"; } + +.bp3-icon-hand::before{ + content:""; } + +.bp3-icon-hand-down::before{ + content:"îš»"; } + +.bp3-icon-hand-left::before{ + content:"îš¼"; } + +.bp3-icon-hand-right::before{ + content:"îš¹"; } + +.bp3-icon-hand-up::before{ + content:""; } + +.bp3-icon-header::before{ + content:"îšµ"; } + +.bp3-icon-header-one::before{ + content:"îž“"; } + +.bp3-icon-header-two::before{ + content:"îž”"; } + +.bp3-icon-headset::before{ + content:""; } + +.bp3-icon-heart::before{ + content:"♥"; } + +.bp3-icon-heart-broken::before{ + content:""; } + +.bp3-icon-heat-grid::before{ + content:""; } + +.bp3-icon-heatmap::before{ + content:""; } + +.bp3-icon-help::before{ + content:"?"; } + +.bp3-icon-helper-management::before{ + content:"î™"; } + +.bp3-icon-highlight::before{ + content:"î›"; } + +.bp3-icon-history::before{ + content:""; } + +.bp3-icon-home::before{ + content:"⌂"; } + +.bp3-icon-horizontal-bar-chart::before{ + content:""; } + +.bp3-icon-horizontal-bar-chart-asc::before{ + content:"îœ"; } + +.bp3-icon-horizontal-bar-chart-desc::before{ + content:"îœ"; } + +.bp3-icon-horizontal-distribution::before{ + content:"îœ "; } + +.bp3-icon-id-number::before{ + content:"î±"; } + +.bp3-icon-image-rotate-left::before{ + content:""; } + +.bp3-icon-image-rotate-right::before{ + content:""; } + +.bp3-icon-import::before{ + content:""; } + +.bp3-icon-inbox::before{ + content:""; } + +.bp3-icon-inbox-filtered::before{ + content:""; } + +.bp3-icon-inbox-geo::before{ + content:""; } + +.bp3-icon-inbox-search::before{ + content:""; } + +.bp3-icon-inbox-update::before{ + content:""; } + +.bp3-icon-info-sign::before{ + content:"ℹ"; } + +.bp3-icon-inheritance::before{ + content:""; } + +.bp3-icon-inner-join::before{ + content:""; } + +.bp3-icon-insert::before{ + content:""; } + +.bp3-icon-intersection::before{ + content:"î¥"; } + +.bp3-icon-ip-address::before{ + content:"î²"; } + +.bp3-icon-issue::before{ + content:"î´"; } + +.bp3-icon-issue-closed::before{ + content:"î¶"; } + +.bp3-icon-issue-new::before{ + content:"îµ"; } + +.bp3-icon-italic::before{ + content:""; } + +.bp3-icon-join-table::before{ + content:""; } + +.bp3-icon-key::before{ + content:""; } + +.bp3-icon-key-backspace::before{ + content:""; } + +.bp3-icon-key-command::before{ + content:""; } + +.bp3-icon-key-control::before{ + content:""; } + +.bp3-icon-key-delete::before{ + content:""; } + +.bp3-icon-key-enter::before{ + content:""; } + +.bp3-icon-key-escape::before{ + content:""; } + +.bp3-icon-key-option::before{ + content:"î‚"; } + +.bp3-icon-key-shift::before{ + content:""; } + +.bp3-icon-key-tab::before{ + content:"î—"; } + +.bp3-icon-known-vehicle::before{ + content:""; } + +.bp3-icon-label::before{ + content:""; } + +.bp3-icon-layer::before{ + content:"î›"; } + +.bp3-icon-layers::before{ + content:""; } + +.bp3-icon-layout::before{ + content:""; } + +.bp3-icon-layout-auto::before{ + content:"î˜"; } + +.bp3-icon-layout-balloon::before{ + content:""; } + +.bp3-icon-layout-circle::before{ + content:""; } + +.bp3-icon-layout-grid::before{ + content:"î˜"; } + +.bp3-icon-layout-group-by::before{ + content:""; } + +.bp3-icon-layout-hierarchy::before{ + content:"î˜"; } + +.bp3-icon-layout-linear::before{ + content:""; } + +.bp3-icon-layout-skew-grid::before{ + content:""; } + +.bp3-icon-layout-sorted-clusters::before{ + content:"î›”"; } + +.bp3-icon-learning::before{ + content:""; } + +.bp3-icon-left-join::before{ + content:""; } + +.bp3-icon-less-than::before{ + content:""; } + +.bp3-icon-less-than-or-equal-to::before{ + content:""; } + +.bp3-icon-lifesaver::before{ + content:""; } + +.bp3-icon-lightbulb::before{ + content:"îš°"; } + +.bp3-icon-link::before{ + content:"î˜"; } + +.bp3-icon-list::before{ + content:"☰"; } + +.bp3-icon-list-columns::before{ + content:"îž¹"; } + +.bp3-icon-list-detail-view::before{ + content:"îƒ"; } + +.bp3-icon-locate::before{ + content:""; } + +.bp3-icon-lock::before{ + content:""; } + +.bp3-icon-log-in::before{ + content:"îšš"; } + +.bp3-icon-log-out::before{ + content:""; } + +.bp3-icon-manual::before{ + content:"î›¶"; } + +.bp3-icon-manually-entered-data::before{ + content:"îŠ"; } + +.bp3-icon-map::before{ + content:""; } + +.bp3-icon-map-create::before{ + content:"î"; } + +.bp3-icon-map-marker::before{ + content:""; } + +.bp3-icon-maximize::before{ + content:""; } + +.bp3-icon-media::before{ + content:""; } + +.bp3-icon-menu::before{ + content:"î¢"; } + +.bp3-icon-menu-closed::before{ + content:""; } + +.bp3-icon-menu-open::before{ + content:"î™”"; } + +.bp3-icon-merge-columns::before{ + content:"î"; } + +.bp3-icon-merge-links::before{ + content:""; } + +.bp3-icon-minimize::before{ + content:""; } + +.bp3-icon-minus::before{ + content:"−"; } + +.bp3-icon-mobile-phone::before{ + content:""; } + +.bp3-icon-mobile-video::before{ + content:""; } + +.bp3-icon-moon::before{ + content:"î”"; } + +.bp3-icon-more::before{ + content:""; } + +.bp3-icon-mountain::before{ + content:"îž±"; } + +.bp3-icon-move::before{ + content:"îš“"; } + +.bp3-icon-mugshot::before{ + content:"î››"; } + +.bp3-icon-multi-select::before{ + content:""; } + +.bp3-icon-music::before{ + content:""; } + +.bp3-icon-new-drawing::before{ + content:""; } + +.bp3-icon-new-grid-item::before{ + content:"î‡"; } + +.bp3-icon-new-layer::before{ + content:""; } + +.bp3-icon-new-layers::before{ + content:""; } + +.bp3-icon-new-link::before{ + content:""; } + +.bp3-icon-new-object::before{ + content:"î™"; } + +.bp3-icon-new-person::before{ + content:""; } + +.bp3-icon-new-prescription::before{ + content:"îž‹"; } + +.bp3-icon-new-text-box::before{ + content:"î™›"; } + +.bp3-icon-ninja::before{ + content:""; } + +.bp3-icon-not-equal-to::before{ + content:"îŸ "; } + +.bp3-icon-notifications::before{ + content:""; } + +.bp3-icon-notifications-updated::before{ + content:""; } + +.bp3-icon-numbered-list::before{ + content:"î†"; } + +.bp3-icon-numerical::before{ + content:"î–"; } + +.bp3-icon-office::before{ + content:"îš›"; } + +.bp3-icon-offline::before{ + content:""; } + +.bp3-icon-oil-field::before{ + content:""; } + +.bp3-icon-one-column::before{ + content:""; } + +.bp3-icon-outdated::before{ + content:""; } + +.bp3-icon-page-layout::before{ + content:"î™ "; } + +.bp3-icon-panel-stats::before{ + content:"î·"; } + +.bp3-icon-panel-table::before{ + content:"î¸"; } + +.bp3-icon-paperclip::before{ + content:""; } + +.bp3-icon-paragraph::before{ + content:"î¬"; } + +.bp3-icon-path::before{ + content:"î“"; } + +.bp3-icon-path-search::before{ + content:""; } + +.bp3-icon-pause::before{ + content:"îš©"; } + +.bp3-icon-people::before{ + content:""; } + +.bp3-icon-percentage::before{ + content:"îª"; } + +.bp3-icon-person::before{ + content:""; } + +.bp3-icon-phone::before{ + content:"☎"; } + +.bp3-icon-pie-chart::before{ + content:"îš„"; } + +.bp3-icon-pin::before{ + content:""; } + +.bp3-icon-pivot::before{ + content:"î›±"; } + +.bp3-icon-pivot-table::before{ + content:""; } + +.bp3-icon-play::before{ + content:"îš«"; } + +.bp3-icon-plus::before{ + content:"+"; } + +.bp3-icon-polygon-filter::before{ + content:""; } + +.bp3-icon-power::before{ + content:"î›™"; } + +.bp3-icon-predictive-analysis::before{ + content:""; } + +.bp3-icon-prescription::before{ + content:""; } + +.bp3-icon-presentation::before{ + content:""; } + +.bp3-icon-print::before{ + content:"⎙"; } + +.bp3-icon-projects::before{ + content:""; } + +.bp3-icon-properties::before{ + content:""; } + +.bp3-icon-property::before{ + content:""; } + +.bp3-icon-publish-function::before{ + content:"î’"; } + +.bp3-icon-pulse::before{ + content:""; } + +.bp3-icon-random::before{ + content:""; } + +.bp3-icon-record::before{ + content:"îš®"; } + +.bp3-icon-redo::before{ + content:""; } + +.bp3-icon-refresh::before{ + content:""; } + +.bp3-icon-regression-chart::before{ + content:"î˜"; } + +.bp3-icon-remove::before{ + content:""; } + +.bp3-icon-remove-column::before{ + content:"î•"; } + +.bp3-icon-remove-column-left::before{ + content:""; } + +.bp3-icon-remove-column-right::before{ + content:""; } + +.bp3-icon-remove-row-bottom::before{ + content:""; } + +.bp3-icon-remove-row-top::before{ + content:"î›»"; } + +.bp3-icon-repeat::before{ + content:"îš’"; } + +.bp3-icon-reset::before{ + content:""; } + +.bp3-icon-resolve::before{ + content:""; } + +.bp3-icon-rig::before{ + content:"î€"; } + +.bp3-icon-right-join::before{ + content:""; } + +.bp3-icon-ring::before{ + content:""; } + +.bp3-icon-rotate-document::before{ + content:""; } + +.bp3-icon-rotate-page::before{ + content:""; } + +.bp3-icon-satellite::before{ + content:"î«"; } + +.bp3-icon-saved::before{ + content:"îš¶"; } + +.bp3-icon-scatter-plot::before{ + content:""; } + +.bp3-icon-search::before{ + content:""; } + +.bp3-icon-search-around::before{ + content:""; } + +.bp3-icon-search-template::before{ + content:""; } + +.bp3-icon-search-text::before{ + content:""; } + +.bp3-icon-segmented-control::before{ + content:""; } + +.bp3-icon-select::before{ + content:""; } + +.bp3-icon-selection::before{ + content:"⦿"; } + +.bp3-icon-send-to::before{ + content:"î™®"; } + +.bp3-icon-send-to-graph::before{ + content:""; } + +.bp3-icon-send-to-map::before{ + content:""; } + +.bp3-icon-series-add::before{ + content:"îž–"; } + +.bp3-icon-series-configuration::before{ + content:"îžš"; } + +.bp3-icon-series-derived::before{ + content:"îž™"; } + +.bp3-icon-series-filtered::before{ + content:""; } + +.bp3-icon-series-search::before{ + content:"îž—"; } + +.bp3-icon-settings::before{ + content:""; } + +.bp3-icon-share::before{ + content:""; } + +.bp3-icon-shield::before{ + content:"îž²"; } + +.bp3-icon-shop::before{ + content:""; } + +.bp3-icon-shopping-cart::before{ + content:"î›"; } + +.bp3-icon-signal-search::before{ + content:""; } + +.bp3-icon-sim-card::before{ + content:""; } + +.bp3-icon-slash::before{ + content:"î©"; } + +.bp3-icon-small-cross::before{ + content:"î›—"; } + +.bp3-icon-small-minus::before{ + content:""; } + +.bp3-icon-small-plus::before{ + content:"îœ"; } + +.bp3-icon-small-tick::before{ + content:""; } + +.bp3-icon-snowflake::before{ + content:"îž¶"; } + +.bp3-icon-social-media::before{ + content:"î™±"; } + +.bp3-icon-sort::before{ + content:"î™"; } + +.bp3-icon-sort-alphabetical::before{ + content:"î™"; } + +.bp3-icon-sort-alphabetical-desc::before{ + content:""; } + +.bp3-icon-sort-asc::before{ + content:""; } + +.bp3-icon-sort-desc::before{ + content:"î›–"; } + +.bp3-icon-sort-numerical::before{ + content:""; } + +.bp3-icon-sort-numerical-desc::before{ + content:""; } + +.bp3-icon-split-columns::before{ + content:"î"; } + +.bp3-icon-square::before{ + content:""; } + +.bp3-icon-stacked-chart::before{ + content:"î›§"; } + +.bp3-icon-star::before{ + content:"★"; } + +.bp3-icon-star-empty::before{ + content:"☆"; } + +.bp3-icon-step-backward::before{ + content:"îš§"; } + +.bp3-icon-step-chart::before{ + content:"îœ"; } + +.bp3-icon-step-forward::before{ + content:"îš"; } + +.bp3-icon-stop::before{ + content:""; } + +.bp3-icon-stopwatch::before{ + content:"î¤"; } + +.bp3-icon-strikethrough::before{ + content:""; } + +.bp3-icon-style::before{ + content:"î˜"; } + +.bp3-icon-swap-horizontal::before{ + content:"î…"; } + +.bp3-icon-swap-vertical::before{ + content:"î„"; } + +.bp3-icon-symbol-circle::before{ + content:""; } + +.bp3-icon-symbol-cross::before{ + content:""; } + +.bp3-icon-symbol-diamond::before{ + content:""; } + +.bp3-icon-symbol-square::before{ + content:""; } + +.bp3-icon-symbol-triangle-down::before{ + content:""; } + +.bp3-icon-symbol-triangle-up::before{ + content:""; } + +.bp3-icon-tag::before{ + content:""; } + +.bp3-icon-take-action::before{ + content:""; } + +.bp3-icon-taxi::before{ + content:"îžž"; } + +.bp3-icon-text-highlight::before{ + content:"î›"; } + +.bp3-icon-th::before{ + content:"î™§"; } + +.bp3-icon-th-derived::before{ + content:""; } + +.bp3-icon-th-disconnect::before{ + content:""; } + +.bp3-icon-th-filtered::before{ + content:""; } + +.bp3-icon-th-list::before{ + content:""; } + +.bp3-icon-thumbs-down::before{ + content:"îš¾"; } + +.bp3-icon-thumbs-up::before{ + content:"îš½"; } + +.bp3-icon-tick::before{ + content:"✓"; } + +.bp3-icon-tick-circle::before{ + content:"î¹"; } + +.bp3-icon-time::before{ + content:"â²"; } + +.bp3-icon-timeline-area-chart::before{ + content:"î›"; } + +.bp3-icon-timeline-bar-chart::before{ + content:"î˜ "; } + +.bp3-icon-timeline-events::before{ + content:""; } + +.bp3-icon-timeline-line-chart::before{ + content:""; } + +.bp3-icon-tint::before{ + content:"îš²"; } + +.bp3-icon-torch::before{ + content:"î™·"; } + +.bp3-icon-tractor::before{ + content:""; } + +.bp3-icon-train::before{ + content:""; } + +.bp3-icon-translate::before{ + content:"î™"; } + +.bp3-icon-trash::before{ + content:""; } + +.bp3-icon-tree::before{ + content:"îž·"; } + +.bp3-icon-trending-down::before{ + content:""; } + +.bp3-icon-trending-up::before{ + content:""; } + +.bp3-icon-truck::before{ + content:""; } + +.bp3-icon-two-columns::before{ + content:"î™—"; } + +.bp3-icon-unarchive::before{ + content:""; } + +.bp3-icon-underline::before{ + content:"âŽ"; } + +.bp3-icon-undo::before{ + content:"⎌"; } + +.bp3-icon-ungroup-objects::before{ + content:""; } + +.bp3-icon-unknown-vehicle::before{ + content:""; } + +.bp3-icon-unlock::before{ + content:""; } + +.bp3-icon-unpin::before{ + content:"î™"; } + +.bp3-icon-unresolve::before{ + content:""; } + +.bp3-icon-updated::before{ + content:"îž§"; } + +.bp3-icon-upload::before{ + content:"îš"; } + +.bp3-icon-user::before{ + content:""; } + +.bp3-icon-variable::before{ + content:""; } + +.bp3-icon-vertical-bar-chart-asc::before{ + content:"î›"; } + +.bp3-icon-vertical-bar-chart-desc::before{ + content:""; } + +.bp3-icon-vertical-distribution::before{ + content:""; } + +.bp3-icon-video::before{ + content:"îš "; } + +.bp3-icon-volume-down::before{ + content:""; } + +.bp3-icon-volume-off::before{ + content:""; } + +.bp3-icon-volume-up::before{ + content:""; } + +.bp3-icon-walk::before{ + content:"îž"; } + +.bp3-icon-warning-sign::before{ + content:""; } + +.bp3-icon-waterfall-chart::before{ + content:""; } + +.bp3-icon-widget::before{ + content:""; } + +.bp3-icon-widget-button::before{ + content:"îž"; } + +.bp3-icon-widget-footer::before{ + content:"îž’"; } + +.bp3-icon-widget-header::before{ + content:"îž‘"; } + +.bp3-icon-wrench::before{ + content:""; } + +.bp3-icon-zoom-in::before{ + content:"î™"; } + +.bp3-icon-zoom-out::before{ + content:""; } + +.bp3-icon-zoom-to-fit::before{ + content:"î™»"; } +.bp3-submenu > .bp3-popover-wrapper{ + display:block; } + +.bp3-submenu .bp3-popover-target{ + display:block; } + +.bp3-submenu.bp3-popover{ + -webkit-box-shadow:none; + box-shadow:none; + padding:0 5px; } + .bp3-submenu.bp3-popover > .bp3-popover-content{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2); } + .bp3-dark .bp3-submenu.bp3-popover, .bp3-submenu.bp3-popover.bp3-dark{ + -webkit-box-shadow:none; + box-shadow:none; } + .bp3-dark .bp3-submenu.bp3-popover > .bp3-popover-content, .bp3-submenu.bp3-popover.bp3-dark > .bp3-popover-content{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4); } +.bp3-menu{ + margin:0; + border-radius:3px; + background:#ffffff; + min-width:180px; + padding:5px; + list-style:none; + text-align:left; + color:#182026; } + +.bp3-menu-divider{ + display:block; + margin:5px; + border-top:1px solid rgba(16, 22, 26, 0.15); } + .bp3-dark .bp3-menu-divider{ + border-top-color:rgba(255, 255, 255, 0.15); } + +.bp3-menu-item{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-orient:horizontal; + -webkit-box-direction:normal; + -ms-flex-direction:row; + flex-direction:row; + -webkit-box-align:start; + -ms-flex-align:start; + align-items:flex-start; + border-radius:2px; + padding:5px 7px; + text-decoration:none; + line-height:20px; + color:inherit; + -webkit-user-select:none; + -moz-user-select:none; + -ms-user-select:none; + user-select:none; } + .bp3-menu-item > *{ + -webkit-box-flex:0; + -ms-flex-positive:0; + flex-grow:0; + -ms-flex-negative:0; + flex-shrink:0; } + .bp3-menu-item > .bp3-fill{ + -webkit-box-flex:1; + -ms-flex-positive:1; + flex-grow:1; + -ms-flex-negative:1; + flex-shrink:1; } + .bp3-menu-item::before, + .bp3-menu-item > *{ + margin-right:7px; } + .bp3-menu-item:empty::before, + .bp3-menu-item > :last-child{ + margin-right:0; } + .bp3-menu-item > .bp3-fill{ + word-break:break-word; } + .bp3-menu-item:hover, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-menu-item{ + background-color:rgba(167, 182, 194, 0.3); + cursor:pointer; + text-decoration:none; } + .bp3-menu-item.bp3-disabled{ + background-color:inherit; + cursor:not-allowed; + color:rgba(92, 112, 128, 0.6); } + .bp3-dark .bp3-menu-item{ + color:inherit; } + .bp3-dark .bp3-menu-item:hover, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-menu-item, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-menu-item{ + background-color:rgba(138, 155, 168, 0.15); + color:inherit; } + .bp3-dark .bp3-menu-item.bp3-disabled{ + background-color:inherit; + color:rgba(167, 182, 194, 0.6); } + .bp3-menu-item.bp3-intent-primary{ + color:#106ba3; } + .bp3-menu-item.bp3-intent-primary .bp3-icon{ + color:inherit; } + .bp3-menu-item.bp3-intent-primary::before, .bp3-menu-item.bp3-intent-primary::after, + .bp3-menu-item.bp3-intent-primary .bp3-menu-item-label{ + color:#106ba3; } + .bp3-menu-item.bp3-intent-primary:hover, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item, .bp3-menu-item.bp3-intent-primary.bp3-active{ + background-color:#137cbd; } + .bp3-menu-item.bp3-intent-primary:active{ + background-color:#106ba3; } + .bp3-menu-item.bp3-intent-primary:hover, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item, .bp3-menu-item.bp3-intent-primary:hover::before, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item::before, .bp3-menu-item.bp3-intent-primary:hover::after, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item::after, + .bp3-menu-item.bp3-intent-primary:hover .bp3-menu-item-label, + .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item .bp3-menu-item-label, .bp3-menu-item.bp3-intent-primary:active, .bp3-menu-item.bp3-intent-primary:active::before, .bp3-menu-item.bp3-intent-primary:active::after, + .bp3-menu-item.bp3-intent-primary:active .bp3-menu-item-label, .bp3-menu-item.bp3-intent-primary.bp3-active, .bp3-menu-item.bp3-intent-primary.bp3-active::before, .bp3-menu-item.bp3-intent-primary.bp3-active::after, + .bp3-menu-item.bp3-intent-primary.bp3-active .bp3-menu-item-label{ + color:#ffffff; } + .bp3-menu-item.bp3-intent-success{ + color:#0d8050; } + .bp3-menu-item.bp3-intent-success .bp3-icon{ + color:inherit; } + .bp3-menu-item.bp3-intent-success::before, .bp3-menu-item.bp3-intent-success::after, + .bp3-menu-item.bp3-intent-success .bp3-menu-item-label{ + color:#0d8050; } + .bp3-menu-item.bp3-intent-success:hover, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item, .bp3-menu-item.bp3-intent-success.bp3-active{ + background-color:#0f9960; } + .bp3-menu-item.bp3-intent-success:active{ + background-color:#0d8050; } + .bp3-menu-item.bp3-intent-success:hover, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item, .bp3-menu-item.bp3-intent-success:hover::before, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item::before, .bp3-menu-item.bp3-intent-success:hover::after, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item::after, + .bp3-menu-item.bp3-intent-success:hover .bp3-menu-item-label, + .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item .bp3-menu-item-label, .bp3-menu-item.bp3-intent-success:active, .bp3-menu-item.bp3-intent-success:active::before, .bp3-menu-item.bp3-intent-success:active::after, + .bp3-menu-item.bp3-intent-success:active .bp3-menu-item-label, .bp3-menu-item.bp3-intent-success.bp3-active, .bp3-menu-item.bp3-intent-success.bp3-active::before, .bp3-menu-item.bp3-intent-success.bp3-active::after, + .bp3-menu-item.bp3-intent-success.bp3-active .bp3-menu-item-label{ + color:#ffffff; } + .bp3-menu-item.bp3-intent-warning{ + color:#bf7326; } + .bp3-menu-item.bp3-intent-warning .bp3-icon{ + color:inherit; } + .bp3-menu-item.bp3-intent-warning::before, .bp3-menu-item.bp3-intent-warning::after, + .bp3-menu-item.bp3-intent-warning .bp3-menu-item-label{ + color:#bf7326; } + .bp3-menu-item.bp3-intent-warning:hover, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item, .bp3-menu-item.bp3-intent-warning.bp3-active{ + background-color:#d9822b; } + .bp3-menu-item.bp3-intent-warning:active{ + background-color:#bf7326; } + .bp3-menu-item.bp3-intent-warning:hover, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item, .bp3-menu-item.bp3-intent-warning:hover::before, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item::before, .bp3-menu-item.bp3-intent-warning:hover::after, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item::after, + .bp3-menu-item.bp3-intent-warning:hover .bp3-menu-item-label, + .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item .bp3-menu-item-label, .bp3-menu-item.bp3-intent-warning:active, .bp3-menu-item.bp3-intent-warning:active::before, .bp3-menu-item.bp3-intent-warning:active::after, + .bp3-menu-item.bp3-intent-warning:active .bp3-menu-item-label, .bp3-menu-item.bp3-intent-warning.bp3-active, .bp3-menu-item.bp3-intent-warning.bp3-active::before, .bp3-menu-item.bp3-intent-warning.bp3-active::after, + .bp3-menu-item.bp3-intent-warning.bp3-active .bp3-menu-item-label{ + color:#ffffff; } + .bp3-menu-item.bp3-intent-danger{ + color:#c23030; } + .bp3-menu-item.bp3-intent-danger .bp3-icon{ + color:inherit; } + .bp3-menu-item.bp3-intent-danger::before, .bp3-menu-item.bp3-intent-danger::after, + .bp3-menu-item.bp3-intent-danger .bp3-menu-item-label{ + color:#c23030; } + .bp3-menu-item.bp3-intent-danger:hover, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item, .bp3-menu-item.bp3-intent-danger.bp3-active{ + background-color:#db3737; } + .bp3-menu-item.bp3-intent-danger:active{ + background-color:#c23030; } + .bp3-menu-item.bp3-intent-danger:hover, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item, .bp3-menu-item.bp3-intent-danger:hover::before, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item::before, .bp3-menu-item.bp3-intent-danger:hover::after, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item::after, + .bp3-menu-item.bp3-intent-danger:hover .bp3-menu-item-label, + .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item .bp3-menu-item-label, .bp3-menu-item.bp3-intent-danger:active, .bp3-menu-item.bp3-intent-danger:active::before, .bp3-menu-item.bp3-intent-danger:active::after, + .bp3-menu-item.bp3-intent-danger:active .bp3-menu-item-label, .bp3-menu-item.bp3-intent-danger.bp3-active, .bp3-menu-item.bp3-intent-danger.bp3-active::before, .bp3-menu-item.bp3-intent-danger.bp3-active::after, + .bp3-menu-item.bp3-intent-danger.bp3-active .bp3-menu-item-label{ + color:#ffffff; } + .bp3-menu-item::before{ + line-height:1; + font-family:"Icons16", sans-serif; + font-size:16px; + font-weight:400; + font-style:normal; + -moz-osx-font-smoothing:grayscale; + -webkit-font-smoothing:antialiased; + margin-right:7px; } + .bp3-menu-item::before, + .bp3-menu-item > .bp3-icon{ + margin-top:2px; + color:#5c7080; } + .bp3-menu-item .bp3-menu-item-label{ + color:#5c7080; } + .bp3-menu-item:hover, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-menu-item{ + color:inherit; } + .bp3-menu-item.bp3-active, .bp3-menu-item:active{ + background-color:rgba(115, 134, 148, 0.3); } + .bp3-menu-item.bp3-disabled{ + outline:none !important; + background-color:inherit !important; + cursor:not-allowed !important; + color:rgba(92, 112, 128, 0.6) !important; } + .bp3-menu-item.bp3-disabled::before, + .bp3-menu-item.bp3-disabled > .bp3-icon, + .bp3-menu-item.bp3-disabled .bp3-menu-item-label{ + color:rgba(92, 112, 128, 0.6) !important; } + .bp3-large .bp3-menu-item{ + padding:9px 7px; + line-height:22px; + font-size:16px; } + .bp3-large .bp3-menu-item .bp3-icon{ + margin-top:3px; } + .bp3-large .bp3-menu-item::before{ + line-height:1; + font-family:"Icons20", sans-serif; + font-size:20px; + font-weight:400; + font-style:normal; + -moz-osx-font-smoothing:grayscale; + -webkit-font-smoothing:antialiased; + margin-top:1px; + margin-right:10px; } + +button.bp3-menu-item{ + border:none; + background:none; + width:100%; + text-align:left; } +.bp3-menu-header{ + display:block; + margin:5px; + border-top:1px solid rgba(16, 22, 26, 0.15); + cursor:default; + padding-left:2px; } + .bp3-dark .bp3-menu-header{ + border-top-color:rgba(255, 255, 255, 0.15); } + .bp3-menu-header:first-of-type{ + border-top:none; } + .bp3-menu-header > h6{ + color:#182026; + font-weight:600; + overflow:hidden; + text-overflow:ellipsis; + white-space:nowrap; + word-wrap:normal; + margin:0; + padding:10px 7px 0 1px; + line-height:17px; } + .bp3-dark .bp3-menu-header > h6{ + color:#f5f8fa; } + .bp3-menu-header:first-of-type > h6{ + padding-top:0; } + .bp3-large .bp3-menu-header > h6{ + padding-top:15px; + padding-bottom:5px; + font-size:18px; } + .bp3-large .bp3-menu-header:first-of-type > h6{ + padding-top:0; } + +.bp3-dark .bp3-menu{ + background:#30404d; + color:#f5f8fa; } + +.bp3-dark .bp3-menu-item.bp3-intent-primary{ + color:#48aff0; } + .bp3-dark .bp3-menu-item.bp3-intent-primary .bp3-icon{ + color:inherit; } + .bp3-dark .bp3-menu-item.bp3-intent-primary::before, .bp3-dark .bp3-menu-item.bp3-intent-primary::after, + .bp3-dark .bp3-menu-item.bp3-intent-primary .bp3-menu-item-label{ + color:#48aff0; } + .bp3-dark .bp3-menu-item.bp3-intent-primary:hover, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item, .bp3-dark .bp3-menu-item.bp3-intent-primary.bp3-active{ + background-color:#137cbd; } + .bp3-dark .bp3-menu-item.bp3-intent-primary:active{ + background-color:#106ba3; } + .bp3-dark .bp3-menu-item.bp3-intent-primary:hover, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item, .bp3-dark .bp3-menu-item.bp3-intent-primary:hover::before, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item::before, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item::before, .bp3-dark .bp3-menu-item.bp3-intent-primary:hover::after, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item::after, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item::after, + .bp3-dark .bp3-menu-item.bp3-intent-primary:hover .bp3-menu-item-label, + .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item .bp3-menu-item-label, + .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item .bp3-menu-item-label, .bp3-dark .bp3-menu-item.bp3-intent-primary:active, .bp3-dark .bp3-menu-item.bp3-intent-primary:active::before, .bp3-dark .bp3-menu-item.bp3-intent-primary:active::after, + .bp3-dark .bp3-menu-item.bp3-intent-primary:active .bp3-menu-item-label, .bp3-dark .bp3-menu-item.bp3-intent-primary.bp3-active, .bp3-dark .bp3-menu-item.bp3-intent-primary.bp3-active::before, .bp3-dark .bp3-menu-item.bp3-intent-primary.bp3-active::after, + .bp3-dark .bp3-menu-item.bp3-intent-primary.bp3-active .bp3-menu-item-label{ + color:#ffffff; } + +.bp3-dark .bp3-menu-item.bp3-intent-success{ + color:#3dcc91; } + .bp3-dark .bp3-menu-item.bp3-intent-success .bp3-icon{ + color:inherit; } + .bp3-dark .bp3-menu-item.bp3-intent-success::before, .bp3-dark .bp3-menu-item.bp3-intent-success::after, + .bp3-dark .bp3-menu-item.bp3-intent-success .bp3-menu-item-label{ + color:#3dcc91; } + .bp3-dark .bp3-menu-item.bp3-intent-success:hover, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item, .bp3-dark .bp3-menu-item.bp3-intent-success.bp3-active{ + background-color:#0f9960; } + .bp3-dark .bp3-menu-item.bp3-intent-success:active{ + background-color:#0d8050; } + .bp3-dark .bp3-menu-item.bp3-intent-success:hover, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item, .bp3-dark .bp3-menu-item.bp3-intent-success:hover::before, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item::before, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item::before, .bp3-dark .bp3-menu-item.bp3-intent-success:hover::after, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item::after, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item::after, + .bp3-dark .bp3-menu-item.bp3-intent-success:hover .bp3-menu-item-label, + .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item .bp3-menu-item-label, + .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item .bp3-menu-item-label, .bp3-dark .bp3-menu-item.bp3-intent-success:active, .bp3-dark .bp3-menu-item.bp3-intent-success:active::before, .bp3-dark .bp3-menu-item.bp3-intent-success:active::after, + .bp3-dark .bp3-menu-item.bp3-intent-success:active .bp3-menu-item-label, .bp3-dark .bp3-menu-item.bp3-intent-success.bp3-active, .bp3-dark .bp3-menu-item.bp3-intent-success.bp3-active::before, .bp3-dark .bp3-menu-item.bp3-intent-success.bp3-active::after, + .bp3-dark .bp3-menu-item.bp3-intent-success.bp3-active .bp3-menu-item-label{ + color:#ffffff; } + +.bp3-dark .bp3-menu-item.bp3-intent-warning{ + color:#ffb366; } + .bp3-dark .bp3-menu-item.bp3-intent-warning .bp3-icon{ + color:inherit; } + .bp3-dark .bp3-menu-item.bp3-intent-warning::before, .bp3-dark .bp3-menu-item.bp3-intent-warning::after, + .bp3-dark .bp3-menu-item.bp3-intent-warning .bp3-menu-item-label{ + color:#ffb366; } + .bp3-dark .bp3-menu-item.bp3-intent-warning:hover, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item, .bp3-dark .bp3-menu-item.bp3-intent-warning.bp3-active{ + background-color:#d9822b; } + .bp3-dark .bp3-menu-item.bp3-intent-warning:active{ + background-color:#bf7326; } + .bp3-dark .bp3-menu-item.bp3-intent-warning:hover, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item, .bp3-dark .bp3-menu-item.bp3-intent-warning:hover::before, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item::before, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item::before, .bp3-dark .bp3-menu-item.bp3-intent-warning:hover::after, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item::after, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item::after, + .bp3-dark .bp3-menu-item.bp3-intent-warning:hover .bp3-menu-item-label, + .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item .bp3-menu-item-label, + .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item .bp3-menu-item-label, .bp3-dark .bp3-menu-item.bp3-intent-warning:active, .bp3-dark .bp3-menu-item.bp3-intent-warning:active::before, .bp3-dark .bp3-menu-item.bp3-intent-warning:active::after, + .bp3-dark .bp3-menu-item.bp3-intent-warning:active .bp3-menu-item-label, .bp3-dark .bp3-menu-item.bp3-intent-warning.bp3-active, .bp3-dark .bp3-menu-item.bp3-intent-warning.bp3-active::before, .bp3-dark .bp3-menu-item.bp3-intent-warning.bp3-active::after, + .bp3-dark .bp3-menu-item.bp3-intent-warning.bp3-active .bp3-menu-item-label{ + color:#ffffff; } + +.bp3-dark .bp3-menu-item.bp3-intent-danger{ + color:#ff7373; } + .bp3-dark .bp3-menu-item.bp3-intent-danger .bp3-icon{ + color:inherit; } + .bp3-dark .bp3-menu-item.bp3-intent-danger::before, .bp3-dark .bp3-menu-item.bp3-intent-danger::after, + .bp3-dark .bp3-menu-item.bp3-intent-danger .bp3-menu-item-label{ + color:#ff7373; } + .bp3-dark .bp3-menu-item.bp3-intent-danger:hover, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item, .bp3-dark .bp3-menu-item.bp3-intent-danger.bp3-active{ + background-color:#db3737; } + .bp3-dark .bp3-menu-item.bp3-intent-danger:active{ + background-color:#c23030; } + .bp3-dark .bp3-menu-item.bp3-intent-danger:hover, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item, .bp3-dark .bp3-menu-item.bp3-intent-danger:hover::before, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item::before, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item::before, .bp3-dark .bp3-menu-item.bp3-intent-danger:hover::after, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item::after, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item::after, + .bp3-dark .bp3-menu-item.bp3-intent-danger:hover .bp3-menu-item-label, + .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item .bp3-menu-item-label, + .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item .bp3-menu-item-label, .bp3-dark .bp3-menu-item.bp3-intent-danger:active, .bp3-dark .bp3-menu-item.bp3-intent-danger:active::before, .bp3-dark .bp3-menu-item.bp3-intent-danger:active::after, + .bp3-dark .bp3-menu-item.bp3-intent-danger:active .bp3-menu-item-label, .bp3-dark .bp3-menu-item.bp3-intent-danger.bp3-active, .bp3-dark .bp3-menu-item.bp3-intent-danger.bp3-active::before, .bp3-dark .bp3-menu-item.bp3-intent-danger.bp3-active::after, + .bp3-dark .bp3-menu-item.bp3-intent-danger.bp3-active .bp3-menu-item-label{ + color:#ffffff; } + +.bp3-dark .bp3-menu-item::before, +.bp3-dark .bp3-menu-item > .bp3-icon{ + color:#a7b6c2; } + +.bp3-dark .bp3-menu-item .bp3-menu-item-label{ + color:#a7b6c2; } + +.bp3-dark .bp3-menu-item.bp3-active, .bp3-dark .bp3-menu-item:active{ + background-color:rgba(138, 155, 168, 0.3); } + +.bp3-dark .bp3-menu-item.bp3-disabled{ + color:rgba(167, 182, 194, 0.6) !important; } + .bp3-dark .bp3-menu-item.bp3-disabled::before, + .bp3-dark .bp3-menu-item.bp3-disabled > .bp3-icon, + .bp3-dark .bp3-menu-item.bp3-disabled .bp3-menu-item-label{ + color:rgba(167, 182, 194, 0.6) !important; } + +.bp3-dark .bp3-menu-divider, +.bp3-dark .bp3-menu-header{ + border-color:rgba(255, 255, 255, 0.15); } + +.bp3-dark .bp3-menu-header > h6{ + color:#f5f8fa; } + +.bp3-label .bp3-menu{ + margin-top:5px; } +.bp3-navbar{ + position:relative; + z-index:10; + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.2); + background-color:#ffffff; + width:100%; + height:50px; + padding:0 15px; } + .bp3-navbar.bp3-dark, + .bp3-dark .bp3-navbar{ + background-color:#394b59; } + .bp3-navbar.bp3-dark{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-navbar{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.4); } + .bp3-navbar.bp3-fixed-top{ + position:fixed; + top:0; + right:0; + left:0; } + +.bp3-navbar-heading{ + margin-right:15px; + font-size:16px; } + +.bp3-navbar-group{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-align:center; + -ms-flex-align:center; + align-items:center; + height:50px; } + .bp3-navbar-group.bp3-align-left{ + float:left; } + .bp3-navbar-group.bp3-align-right{ + float:right; } + +.bp3-navbar-divider{ + margin:0 10px; + border-left:1px solid rgba(16, 22, 26, 0.15); + height:20px; } + .bp3-dark .bp3-navbar-divider{ + border-left-color:rgba(255, 255, 255, 0.15); } +.bp3-non-ideal-state{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-orient:vertical; + -webkit-box-direction:normal; + -ms-flex-direction:column; + flex-direction:column; + -webkit-box-align:center; + -ms-flex-align:center; + align-items:center; + -webkit-box-pack:center; + -ms-flex-pack:center; + justify-content:center; + width:100%; + height:100%; + text-align:center; } + .bp3-non-ideal-state > *{ + -webkit-box-flex:0; + -ms-flex-positive:0; + flex-grow:0; + -ms-flex-negative:0; + flex-shrink:0; } + .bp3-non-ideal-state > .bp3-fill{ + -webkit-box-flex:1; + -ms-flex-positive:1; + flex-grow:1; + -ms-flex-negative:1; + flex-shrink:1; } + .bp3-non-ideal-state::before, + .bp3-non-ideal-state > *{ + margin-bottom:20px; } + .bp3-non-ideal-state:empty::before, + .bp3-non-ideal-state > :last-child{ + margin-bottom:0; } + .bp3-non-ideal-state > *{ + max-width:400px; } + +.bp3-non-ideal-state-visual{ + color:rgba(92, 112, 128, 0.6); + font-size:60px; } + .bp3-dark .bp3-non-ideal-state-visual{ + color:rgba(167, 182, 194, 0.6); } + +.bp3-overflow-list{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -ms-flex-wrap:nowrap; + flex-wrap:nowrap; + min-width:0; } + +.bp3-overflow-list-spacer{ + -ms-flex-negative:1; + flex-shrink:1; + width:1px; } + +body.bp3-overlay-open{ + overflow:hidden; } + +.bp3-overlay{ + position:static; + top:0; + right:0; + bottom:0; + left:0; + z-index:20; } + .bp3-overlay:not(.bp3-overlay-open){ + pointer-events:none; } + .bp3-overlay.bp3-overlay-container{ + position:fixed; + overflow:hidden; } + .bp3-overlay.bp3-overlay-container.bp3-overlay-inline{ + position:absolute; } + .bp3-overlay.bp3-overlay-scroll-container{ + position:fixed; + overflow:auto; } + .bp3-overlay.bp3-overlay-scroll-container.bp3-overlay-inline{ + position:absolute; } + .bp3-overlay.bp3-overlay-inline{ + display:inline; + overflow:visible; } + +.bp3-overlay-content{ + position:fixed; + z-index:20; } + .bp3-overlay-inline .bp3-overlay-content, + .bp3-overlay-scroll-container .bp3-overlay-content{ + position:absolute; } + +.bp3-overlay-backdrop{ + position:fixed; + top:0; + right:0; + bottom:0; + left:0; + opacity:1; + z-index:20; + background-color:rgba(16, 22, 26, 0.7); + overflow:auto; + -webkit-user-select:none; + -moz-user-select:none; + -ms-user-select:none; + user-select:none; } + .bp3-overlay-backdrop.bp3-overlay-enter, .bp3-overlay-backdrop.bp3-overlay-appear{ + opacity:0; } + .bp3-overlay-backdrop.bp3-overlay-enter-active, .bp3-overlay-backdrop.bp3-overlay-appear-active{ + opacity:1; + -webkit-transition-property:opacity; + transition-property:opacity; + -webkit-transition-duration:200ms; + transition-duration:200ms; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + -webkit-transition-delay:0; + transition-delay:0; } + .bp3-overlay-backdrop.bp3-overlay-exit{ + opacity:1; } + .bp3-overlay-backdrop.bp3-overlay-exit-active{ + opacity:0; + -webkit-transition-property:opacity; + transition-property:opacity; + -webkit-transition-duration:200ms; + transition-duration:200ms; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + -webkit-transition-delay:0; + transition-delay:0; } + .bp3-overlay-backdrop:focus{ + outline:none; } + .bp3-overlay-inline .bp3-overlay-backdrop{ + position:absolute; } +.bp3-panel-stack{ + position:relative; + overflow:hidden; } + +.bp3-panel-stack-header{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -ms-flex-negative:0; + flex-shrink:0; + -webkit-box-align:center; + -ms-flex-align:center; + align-items:center; + z-index:1; + -webkit-box-shadow:0 1px rgba(16, 22, 26, 0.15); + box-shadow:0 1px rgba(16, 22, 26, 0.15); + height:30px; } + .bp3-dark .bp3-panel-stack-header{ + -webkit-box-shadow:0 1px rgba(255, 255, 255, 0.15); + box-shadow:0 1px rgba(255, 255, 255, 0.15); } + .bp3-panel-stack-header > span{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-flex:1; + -ms-flex:1; + flex:1; + -webkit-box-align:stretch; + -ms-flex-align:stretch; + align-items:stretch; } + .bp3-panel-stack-header .bp3-heading{ + margin:0 5px; } + +.bp3-button.bp3-panel-stack-header-back{ + margin-left:5px; + padding-left:0; + white-space:nowrap; } + .bp3-button.bp3-panel-stack-header-back .bp3-icon{ + margin:0 2px; } + +.bp3-panel-stack-view{ + position:absolute; + top:0; + right:0; + bottom:0; + left:0; + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-orient:vertical; + -webkit-box-direction:normal; + -ms-flex-direction:column; + flex-direction:column; + margin-right:-1px; + border-right:1px solid rgba(16, 22, 26, 0.15); + background-color:#ffffff; + overflow-y:auto; } + .bp3-dark .bp3-panel-stack-view{ + background-color:#30404d; } + +.bp3-panel-stack-push .bp3-panel-stack-enter, .bp3-panel-stack-push .bp3-panel-stack-appear{ + -webkit-transform:translateX(100%); + transform:translateX(100%); + opacity:0; } + +.bp3-panel-stack-push .bp3-panel-stack-enter-active, .bp3-panel-stack-push .bp3-panel-stack-appear-active{ + -webkit-transform:translate(0%); + transform:translate(0%); + opacity:1; + -webkit-transition-property:opacity, -webkit-transform; + transition-property:opacity, -webkit-transform; + transition-property:transform, opacity; + transition-property:transform, opacity, -webkit-transform; + -webkit-transition-duration:400ms; + transition-duration:400ms; + -webkit-transition-timing-function:ease; + transition-timing-function:ease; + -webkit-transition-delay:0; + transition-delay:0; } + +.bp3-panel-stack-push .bp3-panel-stack-exit{ + -webkit-transform:translate(0%); + transform:translate(0%); + opacity:1; } + +.bp3-panel-stack-push .bp3-panel-stack-exit-active{ + -webkit-transform:translateX(-50%); + transform:translateX(-50%); + opacity:0; + -webkit-transition-property:opacity, -webkit-transform; + transition-property:opacity, -webkit-transform; + transition-property:transform, opacity; + transition-property:transform, opacity, -webkit-transform; + -webkit-transition-duration:400ms; + transition-duration:400ms; + -webkit-transition-timing-function:ease; + transition-timing-function:ease; + -webkit-transition-delay:0; + transition-delay:0; } + +.bp3-panel-stack-pop .bp3-panel-stack-enter, .bp3-panel-stack-pop .bp3-panel-stack-appear{ + -webkit-transform:translateX(-50%); + transform:translateX(-50%); + opacity:0; } + +.bp3-panel-stack-pop .bp3-panel-stack-enter-active, .bp3-panel-stack-pop .bp3-panel-stack-appear-active{ + -webkit-transform:translate(0%); + transform:translate(0%); + opacity:1; + -webkit-transition-property:opacity, -webkit-transform; + transition-property:opacity, -webkit-transform; + transition-property:transform, opacity; + transition-property:transform, opacity, -webkit-transform; + -webkit-transition-duration:400ms; + transition-duration:400ms; + -webkit-transition-timing-function:ease; + transition-timing-function:ease; + -webkit-transition-delay:0; + transition-delay:0; } + +.bp3-panel-stack-pop .bp3-panel-stack-exit{ + -webkit-transform:translate(0%); + transform:translate(0%); + opacity:1; } + +.bp3-panel-stack-pop .bp3-panel-stack-exit-active{ + -webkit-transform:translateX(100%); + transform:translateX(100%); + opacity:0; + -webkit-transition-property:opacity, -webkit-transform; + transition-property:opacity, -webkit-transform; + transition-property:transform, opacity; + transition-property:transform, opacity, -webkit-transform; + -webkit-transition-duration:400ms; + transition-duration:400ms; + -webkit-transition-timing-function:ease; + transition-timing-function:ease; + -webkit-transition-delay:0; + transition-delay:0; } +.bp3-popover{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2); + -webkit-transform:scale(1); + transform:scale(1); + display:inline-block; + z-index:20; + border-radius:3px; } + .bp3-popover .bp3-popover-arrow{ + position:absolute; + width:30px; + height:30px; } + .bp3-popover .bp3-popover-arrow::before{ + margin:5px; + width:20px; + height:20px; } + .bp3-tether-element-attached-bottom.bp3-tether-target-attached-top > .bp3-popover{ + margin-top:-17px; + margin-bottom:17px; } + .bp3-tether-element-attached-bottom.bp3-tether-target-attached-top > .bp3-popover > .bp3-popover-arrow{ + bottom:-11px; } + .bp3-tether-element-attached-bottom.bp3-tether-target-attached-top > .bp3-popover > .bp3-popover-arrow svg{ + -webkit-transform:rotate(-90deg); + transform:rotate(-90deg); } + .bp3-tether-element-attached-left.bp3-tether-target-attached-right > .bp3-popover{ + margin-left:17px; } + .bp3-tether-element-attached-left.bp3-tether-target-attached-right > .bp3-popover > .bp3-popover-arrow{ + left:-11px; } + .bp3-tether-element-attached-left.bp3-tether-target-attached-right > .bp3-popover > .bp3-popover-arrow svg{ + -webkit-transform:rotate(0); + transform:rotate(0); } + .bp3-tether-element-attached-top.bp3-tether-target-attached-bottom > .bp3-popover{ + margin-top:17px; } + .bp3-tether-element-attached-top.bp3-tether-target-attached-bottom > .bp3-popover > .bp3-popover-arrow{ + top:-11px; } + .bp3-tether-element-attached-top.bp3-tether-target-attached-bottom > .bp3-popover > .bp3-popover-arrow svg{ + -webkit-transform:rotate(90deg); + transform:rotate(90deg); } + .bp3-tether-element-attached-right.bp3-tether-target-attached-left > .bp3-popover{ + margin-right:17px; + margin-left:-17px; } + .bp3-tether-element-attached-right.bp3-tether-target-attached-left > .bp3-popover > .bp3-popover-arrow{ + right:-11px; } + .bp3-tether-element-attached-right.bp3-tether-target-attached-left > .bp3-popover > .bp3-popover-arrow svg{ + -webkit-transform:rotate(180deg); + transform:rotate(180deg); } + .bp3-tether-element-attached-middle > .bp3-popover > .bp3-popover-arrow{ + top:50%; + -webkit-transform:translateY(-50%); + transform:translateY(-50%); } + .bp3-tether-element-attached-center > .bp3-popover > .bp3-popover-arrow{ + right:50%; + -webkit-transform:translateX(50%); + transform:translateX(50%); } + .bp3-tether-element-attached-top.bp3-tether-target-attached-top > .bp3-popover > .bp3-popover-arrow{ + top:-0.3934px; } + .bp3-tether-element-attached-right.bp3-tether-target-attached-right > .bp3-popover > .bp3-popover-arrow{ + right:-0.3934px; } + .bp3-tether-element-attached-left.bp3-tether-target-attached-left > .bp3-popover > .bp3-popover-arrow{ + left:-0.3934px; } + .bp3-tether-element-attached-bottom.bp3-tether-target-attached-bottom > .bp3-popover > .bp3-popover-arrow{ + bottom:-0.3934px; } + .bp3-tether-element-attached-top.bp3-tether-element-attached-left > .bp3-popover{ + -webkit-transform-origin:top left; + transform-origin:top left; } + .bp3-tether-element-attached-top.bp3-tether-element-attached-center > .bp3-popover{ + -webkit-transform-origin:top center; + transform-origin:top center; } + .bp3-tether-element-attached-top.bp3-tether-element-attached-right > .bp3-popover{ + -webkit-transform-origin:top right; + transform-origin:top right; } + .bp3-tether-element-attached-middle.bp3-tether-element-attached-left > .bp3-popover{ + -webkit-transform-origin:center left; + transform-origin:center left; } + .bp3-tether-element-attached-middle.bp3-tether-element-attached-center > .bp3-popover{ + -webkit-transform-origin:center center; + transform-origin:center center; } + .bp3-tether-element-attached-middle.bp3-tether-element-attached-right > .bp3-popover{ + -webkit-transform-origin:center right; + transform-origin:center right; } + .bp3-tether-element-attached-bottom.bp3-tether-element-attached-left > .bp3-popover{ + -webkit-transform-origin:bottom left; + transform-origin:bottom left; } + .bp3-tether-element-attached-bottom.bp3-tether-element-attached-center > .bp3-popover{ + -webkit-transform-origin:bottom center; + transform-origin:bottom center; } + .bp3-tether-element-attached-bottom.bp3-tether-element-attached-right > .bp3-popover{ + -webkit-transform-origin:bottom right; + transform-origin:bottom right; } + .bp3-popover .bp3-popover-content{ + background:#ffffff; + color:inherit; } + .bp3-popover .bp3-popover-arrow::before{ + -webkit-box-shadow:1px 1px 6px rgba(16, 22, 26, 0.2); + box-shadow:1px 1px 6px rgba(16, 22, 26, 0.2); } + .bp3-popover .bp3-popover-arrow-border{ + fill:#10161a; + fill-opacity:0.1; } + .bp3-popover .bp3-popover-arrow-fill{ + fill:#ffffff; } + .bp3-popover-enter > .bp3-popover, .bp3-popover-appear > .bp3-popover{ + -webkit-transform:scale(0.3); + transform:scale(0.3); } + .bp3-popover-enter-active > .bp3-popover, .bp3-popover-appear-active > .bp3-popover{ + -webkit-transform:scale(1); + transform:scale(1); + -webkit-transition-property:-webkit-transform; + transition-property:-webkit-transform; + transition-property:transform; + transition-property:transform, -webkit-transform; + -webkit-transition-duration:300ms; + transition-duration:300ms; + -webkit-transition-timing-function:cubic-bezier(0.54, 1.12, 0.38, 1.11); + transition-timing-function:cubic-bezier(0.54, 1.12, 0.38, 1.11); + -webkit-transition-delay:0; + transition-delay:0; } + .bp3-popover-exit > .bp3-popover{ + -webkit-transform:scale(1); + transform:scale(1); } + .bp3-popover-exit-active > .bp3-popover{ + -webkit-transform:scale(0.3); + transform:scale(0.3); + -webkit-transition-property:-webkit-transform; + transition-property:-webkit-transform; + transition-property:transform; + transition-property:transform, -webkit-transform; + -webkit-transition-duration:300ms; + transition-duration:300ms; + -webkit-transition-timing-function:cubic-bezier(0.54, 1.12, 0.38, 1.11); + transition-timing-function:cubic-bezier(0.54, 1.12, 0.38, 1.11); + -webkit-transition-delay:0; + transition-delay:0; } + .bp3-popover .bp3-popover-content{ + position:relative; + border-radius:3px; } + .bp3-popover.bp3-popover-content-sizing .bp3-popover-content{ + max-width:350px; + padding:20px; } + .bp3-popover-target + .bp3-overlay .bp3-popover.bp3-popover-content-sizing{ + width:350px; } + .bp3-popover.bp3-minimal{ + margin:0 !important; } + .bp3-popover.bp3-minimal .bp3-popover-arrow{ + display:none; } + .bp3-popover.bp3-minimal.bp3-popover{ + -webkit-transform:scale(1); + transform:scale(1); } + .bp3-popover-enter > .bp3-popover.bp3-minimal.bp3-popover, .bp3-popover-appear > .bp3-popover.bp3-minimal.bp3-popover{ + -webkit-transform:scale(1); + transform:scale(1); } + .bp3-popover-enter-active > .bp3-popover.bp3-minimal.bp3-popover, .bp3-popover-appear-active > .bp3-popover.bp3-minimal.bp3-popover{ + -webkit-transform:scale(1); + transform:scale(1); + -webkit-transition-property:-webkit-transform; + transition-property:-webkit-transform; + transition-property:transform; + transition-property:transform, -webkit-transform; + -webkit-transition-duration:100ms; + transition-duration:100ms; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + -webkit-transition-delay:0; + transition-delay:0; } + .bp3-popover-exit > .bp3-popover.bp3-minimal.bp3-popover{ + -webkit-transform:scale(1); + transform:scale(1); } + .bp3-popover-exit-active > .bp3-popover.bp3-minimal.bp3-popover{ + -webkit-transform:scale(1); + transform:scale(1); + -webkit-transition-property:-webkit-transform; + transition-property:-webkit-transform; + transition-property:transform; + transition-property:transform, -webkit-transform; + -webkit-transition-duration:100ms; + transition-duration:100ms; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + -webkit-transition-delay:0; + transition-delay:0; } + .bp3-popover.bp3-dark, + .bp3-dark .bp3-popover{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4); } + .bp3-popover.bp3-dark .bp3-popover-content, + .bp3-dark .bp3-popover .bp3-popover-content{ + background:#30404d; + color:inherit; } + .bp3-popover.bp3-dark .bp3-popover-arrow::before, + .bp3-dark .bp3-popover .bp3-popover-arrow::before{ + -webkit-box-shadow:1px 1px 6px rgba(16, 22, 26, 0.4); + box-shadow:1px 1px 6px rgba(16, 22, 26, 0.4); } + .bp3-popover.bp3-dark .bp3-popover-arrow-border, + .bp3-dark .bp3-popover .bp3-popover-arrow-border{ + fill:#10161a; + fill-opacity:0.2; } + .bp3-popover.bp3-dark .bp3-popover-arrow-fill, + .bp3-dark .bp3-popover .bp3-popover-arrow-fill{ + fill:#30404d; } + +.bp3-popover-arrow::before{ + display:block; + position:absolute; + -webkit-transform:rotate(45deg); + transform:rotate(45deg); + border-radius:2px; + content:""; } + +.bp3-tether-pinned .bp3-popover-arrow{ + display:none; } + +.bp3-popover-backdrop{ + background:rgba(255, 255, 255, 0); } + +.bp3-transition-container{ + opacity:1; + display:-webkit-box; + display:-ms-flexbox; + display:flex; + z-index:20; } + .bp3-transition-container.bp3-popover-enter, .bp3-transition-container.bp3-popover-appear{ + opacity:0; } + .bp3-transition-container.bp3-popover-enter-active, .bp3-transition-container.bp3-popover-appear-active{ + opacity:1; + -webkit-transition-property:opacity; + transition-property:opacity; + -webkit-transition-duration:100ms; + transition-duration:100ms; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + -webkit-transition-delay:0; + transition-delay:0; } + .bp3-transition-container.bp3-popover-exit{ + opacity:1; } + .bp3-transition-container.bp3-popover-exit-active{ + opacity:0; + -webkit-transition-property:opacity; + transition-property:opacity; + -webkit-transition-duration:100ms; + transition-duration:100ms; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + -webkit-transition-delay:0; + transition-delay:0; } + .bp3-transition-container:focus{ + outline:none; } + .bp3-transition-container.bp3-popover-leave .bp3-popover-content{ + pointer-events:none; } + .bp3-transition-container[data-x-out-of-boundaries]{ + display:none; } + +span.bp3-popover-target{ + display:inline-block; } + +.bp3-popover-wrapper.bp3-fill{ + width:100%; } + +.bp3-portal{ + position:absolute; + top:0; + right:0; + left:0; } +@-webkit-keyframes linear-progress-bar-stripes{ + from{ + background-position:0 0; } + to{ + background-position:30px 0; } } +@keyframes linear-progress-bar-stripes{ + from{ + background-position:0 0; } + to{ + background-position:30px 0; } } + +.bp3-progress-bar{ + display:block; + position:relative; + border-radius:40px; + background:rgba(92, 112, 128, 0.2); + width:100%; + height:8px; + overflow:hidden; } + .bp3-progress-bar .bp3-progress-meter{ + position:absolute; + border-radius:40px; + background:linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%); + background-color:rgba(92, 112, 128, 0.8); + background-size:30px 30px; + width:100%; + height:100%; + -webkit-transition:width 200ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:width 200ms cubic-bezier(0.4, 1, 0.75, 0.9); } + .bp3-progress-bar:not(.bp3-no-animation):not(.bp3-no-stripes) .bp3-progress-meter{ + animation:linear-progress-bar-stripes 300ms linear infinite reverse; } + .bp3-progress-bar.bp3-no-stripes .bp3-progress-meter{ + background-image:none; } + +.bp3-dark .bp3-progress-bar{ + background:rgba(16, 22, 26, 0.5); } + .bp3-dark .bp3-progress-bar .bp3-progress-meter{ + background-color:#8a9ba8; } + +.bp3-progress-bar.bp3-intent-primary .bp3-progress-meter{ + background-color:#137cbd; } + +.bp3-progress-bar.bp3-intent-success .bp3-progress-meter{ + background-color:#0f9960; } + +.bp3-progress-bar.bp3-intent-warning .bp3-progress-meter{ + background-color:#d9822b; } + +.bp3-progress-bar.bp3-intent-danger .bp3-progress-meter{ + background-color:#db3737; } +@-webkit-keyframes skeleton-glow{ + from{ + border-color:rgba(206, 217, 224, 0.2); + background:rgba(206, 217, 224, 0.2); } + to{ + border-color:rgba(92, 112, 128, 0.2); + background:rgba(92, 112, 128, 0.2); } } +@keyframes skeleton-glow{ + from{ + border-color:rgba(206, 217, 224, 0.2); + background:rgba(206, 217, 224, 0.2); } + to{ + border-color:rgba(92, 112, 128, 0.2); + background:rgba(92, 112, 128, 0.2); } } +.bp3-skeleton{ + border-color:rgba(206, 217, 224, 0.2) !important; + border-radius:2px; + -webkit-box-shadow:none !important; + box-shadow:none !important; + background:rgba(206, 217, 224, 0.2); + background-clip:padding-box !important; + cursor:default; + color:transparent !important; + -webkit-animation:1000ms linear infinite alternate skeleton-glow; + animation:1000ms linear infinite alternate skeleton-glow; + pointer-events:none; + -webkit-user-select:none; + -moz-user-select:none; + -ms-user-select:none; + user-select:none; } + .bp3-skeleton::before, .bp3-skeleton::after, + .bp3-skeleton *{ + visibility:hidden !important; } +.bp3-slider{ + width:100%; + min-width:150px; + height:40px; + position:relative; + outline:none; + cursor:default; + -webkit-user-select:none; + -moz-user-select:none; + -ms-user-select:none; + user-select:none; } + .bp3-slider:hover{ + cursor:pointer; } + .bp3-slider:active{ + cursor:-webkit-grabbing; + cursor:grabbing; } + .bp3-slider.bp3-disabled{ + opacity:0.5; + cursor:not-allowed; } + .bp3-slider.bp3-slider-unlabeled{ + height:16px; } + +.bp3-slider-track, +.bp3-slider-progress{ + top:5px; + right:0; + left:0; + height:6px; + position:absolute; } + +.bp3-slider-track{ + border-radius:3px; + overflow:hidden; } + +.bp3-slider-progress{ + background:rgba(92, 112, 128, 0.2); } + .bp3-dark .bp3-slider-progress{ + background:rgba(16, 22, 26, 0.5); } + .bp3-slider-progress.bp3-intent-primary{ + background-color:#137cbd; } + .bp3-slider-progress.bp3-intent-success{ + background-color:#0f9960; } + .bp3-slider-progress.bp3-intent-warning{ + background-color:#d9822b; } + .bp3-slider-progress.bp3-intent-danger{ + background-color:#db3737; } + +.bp3-slider-handle{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); + background-color:#f5f8fa; + background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.8)), to(rgba(255, 255, 255, 0))); + background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0)); + color:#182026; + position:absolute; + top:0; + left:0; + border-radius:3px; + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 1px 1px rgba(16, 22, 26, 0.2); + cursor:pointer; + width:16px; + height:16px; } + .bp3-slider-handle:hover{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); + background-clip:padding-box; + background-color:#ebf1f5; } + .bp3-slider-handle:active, .bp3-slider-handle.bp3-active{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2); + background-color:#d8e1e8; + background-image:none; } + .bp3-slider-handle:disabled, .bp3-slider-handle.bp3-disabled{ + outline:none; + -webkit-box-shadow:none; + box-shadow:none; + background-color:rgba(206, 217, 224, 0.5); + background-image:none; + cursor:not-allowed; + color:rgba(92, 112, 128, 0.6); } + .bp3-slider-handle:disabled.bp3-active, .bp3-slider-handle:disabled.bp3-active:hover, .bp3-slider-handle.bp3-disabled.bp3-active, .bp3-slider-handle.bp3-disabled.bp3-active:hover{ + background:rgba(206, 217, 224, 0.7); } + .bp3-slider-handle:focus{ + z-index:1; } + .bp3-slider-handle:hover{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); + background-clip:padding-box; + background-color:#ebf1f5; + z-index:2; + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 1px 1px rgba(16, 22, 26, 0.2); + cursor:-webkit-grab; + cursor:grab; } + .bp3-slider-handle.bp3-active{ + -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2); + box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2); + background-color:#d8e1e8; + background-image:none; + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 1px rgba(16, 22, 26, 0.1); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 1px rgba(16, 22, 26, 0.1); + cursor:-webkit-grabbing; + cursor:grabbing; } + .bp3-disabled .bp3-slider-handle{ + -webkit-box-shadow:none; + box-shadow:none; + background:#bfccd6; + pointer-events:none; } + .bp3-dark .bp3-slider-handle{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + background-color:#394b59; + background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.05)), to(rgba(255, 255, 255, 0))); + background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0)); + color:#f5f8fa; } + .bp3-dark .bp3-slider-handle:hover, .bp3-dark .bp3-slider-handle:active, .bp3-dark .bp3-slider-handle.bp3-active{ + color:#f5f8fa; } + .bp3-dark .bp3-slider-handle:hover{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); + background-color:#30404d; } + .bp3-dark .bp3-slider-handle:active, .bp3-dark .bp3-slider-handle.bp3-active{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.6), inset 0 1px 2px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.6), inset 0 1px 2px rgba(16, 22, 26, 0.2); + background-color:#202b33; + background-image:none; } + .bp3-dark .bp3-slider-handle:disabled, .bp3-dark .bp3-slider-handle.bp3-disabled{ + -webkit-box-shadow:none; + box-shadow:none; + background-color:rgba(57, 75, 89, 0.5); + background-image:none; + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-slider-handle:disabled.bp3-active, .bp3-dark .bp3-slider-handle.bp3-disabled.bp3-active{ + background:rgba(57, 75, 89, 0.7); } + .bp3-dark .bp3-slider-handle .bp3-button-spinner .bp3-spinner-head{ + background:rgba(16, 22, 26, 0.5); + stroke:#8a9ba8; } + .bp3-dark .bp3-slider-handle, .bp3-dark .bp3-slider-handle:hover{ + background-color:#394b59; } + .bp3-dark .bp3-slider-handle.bp3-active{ + background-color:#293742; } + .bp3-dark .bp3-disabled .bp3-slider-handle{ + border-color:#5c7080; + -webkit-box-shadow:none; + box-shadow:none; + background:#5c7080; } + .bp3-slider-handle .bp3-slider-label{ + margin-left:8px; + border-radius:3px; + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2); + background:#394b59; + color:#f5f8fa; } + .bp3-dark .bp3-slider-handle .bp3-slider-label{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4); + background:#e1e8ed; + color:#394b59; } + .bp3-disabled .bp3-slider-handle .bp3-slider-label{ + -webkit-box-shadow:none; + box-shadow:none; } + .bp3-slider-handle.bp3-start, .bp3-slider-handle.bp3-end{ + width:8px; } + .bp3-slider-handle.bp3-start{ + border-top-right-radius:0; + border-bottom-right-radius:0; } + .bp3-slider-handle.bp3-end{ + margin-left:8px; + border-top-left-radius:0; + border-bottom-left-radius:0; } + .bp3-slider-handle.bp3-end .bp3-slider-label{ + margin-left:0; } + +.bp3-slider-label{ + -webkit-transform:translate(-50%, 20px); + transform:translate(-50%, 20px); + display:inline-block; + position:absolute; + padding:2px 5px; + vertical-align:top; + line-height:1; + font-size:12px; } + +.bp3-slider.bp3-vertical{ + width:40px; + min-width:40px; + height:150px; } + .bp3-slider.bp3-vertical .bp3-slider-track, + .bp3-slider.bp3-vertical .bp3-slider-progress{ + top:0; + bottom:0; + left:5px; + width:6px; + height:auto; } + .bp3-slider.bp3-vertical .bp3-slider-progress{ + top:auto; } + .bp3-slider.bp3-vertical .bp3-slider-label{ + -webkit-transform:translate(20px, 50%); + transform:translate(20px, 50%); } + .bp3-slider.bp3-vertical .bp3-slider-handle{ + top:auto; } + .bp3-slider.bp3-vertical .bp3-slider-handle .bp3-slider-label{ + margin-top:-8px; + margin-left:0; } + .bp3-slider.bp3-vertical .bp3-slider-handle.bp3-end, .bp3-slider.bp3-vertical .bp3-slider-handle.bp3-start{ + margin-left:0; + width:16px; + height:8px; } + .bp3-slider.bp3-vertical .bp3-slider-handle.bp3-start{ + border-top-left-radius:0; + border-bottom-right-radius:3px; } + .bp3-slider.bp3-vertical .bp3-slider-handle.bp3-start .bp3-slider-label{ + -webkit-transform:translate(20px); + transform:translate(20px); } + .bp3-slider.bp3-vertical .bp3-slider-handle.bp3-end{ + margin-bottom:8px; + border-top-left-radius:3px; + border-bottom-left-radius:0; + border-bottom-right-radius:0; } + +@-webkit-keyframes pt-spinner-animation{ + from{ + -webkit-transform:rotate(0deg); + transform:rotate(0deg); } + to{ + -webkit-transform:rotate(360deg); + transform:rotate(360deg); } } + +@keyframes pt-spinner-animation{ + from{ + -webkit-transform:rotate(0deg); + transform:rotate(0deg); } + to{ + -webkit-transform:rotate(360deg); + transform:rotate(360deg); } } + +.bp3-spinner{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-align:center; + -ms-flex-align:center; + align-items:center; + -webkit-box-pack:center; + -ms-flex-pack:center; + justify-content:center; + overflow:visible; + vertical-align:middle; } + .bp3-spinner svg{ + display:block; } + .bp3-spinner path{ + fill-opacity:0; } + .bp3-spinner .bp3-spinner-head{ + -webkit-transform-origin:center; + transform-origin:center; + -webkit-transition:stroke-dashoffset 200ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:stroke-dashoffset 200ms cubic-bezier(0.4, 1, 0.75, 0.9); + stroke:rgba(92, 112, 128, 0.8); + stroke-linecap:round; } + .bp3-spinner .bp3-spinner-track{ + stroke:rgba(92, 112, 128, 0.2); } + +.bp3-spinner-animation{ + -webkit-animation:pt-spinner-animation 500ms linear infinite; + animation:pt-spinner-animation 500ms linear infinite; } + .bp3-no-spin > .bp3-spinner-animation{ + -webkit-animation:none; + animation:none; } + +.bp3-dark .bp3-spinner .bp3-spinner-head{ + stroke:#8a9ba8; } + +.bp3-dark .bp3-spinner .bp3-spinner-track{ + stroke:rgba(16, 22, 26, 0.5); } + +.bp3-spinner.bp3-intent-primary .bp3-spinner-head{ + stroke:#137cbd; } + +.bp3-spinner.bp3-intent-success .bp3-spinner-head{ + stroke:#0f9960; } + +.bp3-spinner.bp3-intent-warning .bp3-spinner-head{ + stroke:#d9822b; } + +.bp3-spinner.bp3-intent-danger .bp3-spinner-head{ + stroke:#db3737; } +.bp3-tabs.bp3-vertical{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; } + .bp3-tabs.bp3-vertical > .bp3-tab-list{ + -webkit-box-orient:vertical; + -webkit-box-direction:normal; + -ms-flex-direction:column; + flex-direction:column; + -webkit-box-align:start; + -ms-flex-align:start; + align-items:flex-start; } + .bp3-tabs.bp3-vertical > .bp3-tab-list .bp3-tab{ + border-radius:3px; + width:100%; + padding:0 10px; } + .bp3-tabs.bp3-vertical > .bp3-tab-list .bp3-tab[aria-selected="true"]{ + -webkit-box-shadow:none; + box-shadow:none; + background-color:rgba(19, 124, 189, 0.2); } + .bp3-tabs.bp3-vertical > .bp3-tab-list .bp3-tab-indicator-wrapper .bp3-tab-indicator{ + top:0; + right:0; + bottom:0; + left:0; + border-radius:3px; + background-color:rgba(19, 124, 189, 0.2); + height:auto; } + .bp3-tabs.bp3-vertical > .bp3-tab-panel{ + margin-top:0; + padding-left:20px; } + +.bp3-tab-list{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-flex:0; + -ms-flex:0 0 auto; + flex:0 0 auto; + -webkit-box-align:end; + -ms-flex-align:end; + align-items:flex-end; + position:relative; + margin:0; + border:none; + padding:0; + list-style:none; } + .bp3-tab-list > *:not(:last-child){ + margin-right:20px; } + +.bp3-tab{ + overflow:hidden; + text-overflow:ellipsis; + white-space:nowrap; + word-wrap:normal; + -webkit-box-flex:0; + -ms-flex:0 0 auto; + flex:0 0 auto; + position:relative; + cursor:pointer; + max-width:100%; + vertical-align:top; + line-height:30px; + color:#182026; + font-size:14px; } + .bp3-tab a{ + display:block; + text-decoration:none; + color:inherit; } + .bp3-tab-indicator-wrapper ~ .bp3-tab{ + -webkit-box-shadow:none !important; + box-shadow:none !important; + background-color:transparent !important; } + .bp3-tab[aria-disabled="true"]{ + cursor:not-allowed; + color:rgba(92, 112, 128, 0.6); } + .bp3-tab[aria-selected="true"]{ + border-radius:0; + -webkit-box-shadow:inset 0 -3px 0 #106ba3; + box-shadow:inset 0 -3px 0 #106ba3; } + .bp3-tab[aria-selected="true"], .bp3-tab:not([aria-disabled="true"]):hover{ + color:#106ba3; } + .bp3-tab:focus{ + -moz-outline-radius:0; } + .bp3-large > .bp3-tab{ + line-height:40px; + font-size:16px; } + +.bp3-tab-panel{ + margin-top:20px; } + .bp3-tab-panel[aria-hidden="true"]{ + display:none; } + +.bp3-tab-indicator-wrapper{ + position:absolute; + top:0; + left:0; + -webkit-transform:translateX(0), translateY(0); + transform:translateX(0), translateY(0); + -webkit-transition:height, width, -webkit-transform; + transition:height, width, -webkit-transform; + transition:height, transform, width; + transition:height, transform, width, -webkit-transform; + -webkit-transition-duration:200ms; + transition-duration:200ms; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + pointer-events:none; } + .bp3-tab-indicator-wrapper .bp3-tab-indicator{ + position:absolute; + right:0; + bottom:0; + left:0; + background-color:#106ba3; + height:3px; } + .bp3-tab-indicator-wrapper.bp3-no-animation{ + -webkit-transition:none; + transition:none; } + +.bp3-dark .bp3-tab{ + color:#f5f8fa; } + .bp3-dark .bp3-tab[aria-disabled="true"]{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-tab[aria-selected="true"]{ + -webkit-box-shadow:inset 0 -3px 0 #48aff0; + box-shadow:inset 0 -3px 0 #48aff0; } + .bp3-dark .bp3-tab[aria-selected="true"], .bp3-dark .bp3-tab:not([aria-disabled="true"]):hover{ + color:#48aff0; } + +.bp3-dark .bp3-tab-indicator{ + background-color:#48aff0; } + +.bp3-flex-expander{ + -webkit-box-flex:1; + -ms-flex:1 1; + flex:1 1; } +.bp3-tag{ + display:-webkit-inline-box; + display:-ms-inline-flexbox; + display:inline-flex; + -webkit-box-orient:horizontal; + -webkit-box-direction:normal; + -ms-flex-direction:row; + flex-direction:row; + -webkit-box-align:center; + -ms-flex-align:center; + align-items:center; + position:relative; + border:none; + border-radius:3px; + -webkit-box-shadow:none; + box-shadow:none; + background-color:#5c7080; + min-width:20px; + max-width:100%; + min-height:20px; + padding:2px 6px; + line-height:16px; + color:#f5f8fa; + font-size:12px; } + .bp3-tag.bp3-interactive{ + cursor:pointer; } + .bp3-tag.bp3-interactive:hover{ + background-color:rgba(92, 112, 128, 0.85); } + .bp3-tag.bp3-interactive.bp3-active, .bp3-tag.bp3-interactive:active{ + background-color:rgba(92, 112, 128, 0.7); } + .bp3-tag > *{ + -webkit-box-flex:0; + -ms-flex-positive:0; + flex-grow:0; + -ms-flex-negative:0; + flex-shrink:0; } + .bp3-tag > .bp3-fill{ + -webkit-box-flex:1; + -ms-flex-positive:1; + flex-grow:1; + -ms-flex-negative:1; + flex-shrink:1; } + .bp3-tag::before, + .bp3-tag > *{ + margin-right:4px; } + .bp3-tag:empty::before, + .bp3-tag > :last-child{ + margin-right:0; } + .bp3-tag:focus{ + outline:rgba(19, 124, 189, 0.6) auto 2px; + outline-offset:0; + -moz-outline-radius:6px; } + .bp3-tag.bp3-round{ + border-radius:30px; + padding-right:8px; + padding-left:8px; } + .bp3-dark .bp3-tag{ + background-color:#bfccd6; + color:#182026; } + .bp3-dark .bp3-tag.bp3-interactive{ + cursor:pointer; } + .bp3-dark .bp3-tag.bp3-interactive:hover{ + background-color:rgba(191, 204, 214, 0.85); } + .bp3-dark .bp3-tag.bp3-interactive.bp3-active, .bp3-dark .bp3-tag.bp3-interactive:active{ + background-color:rgba(191, 204, 214, 0.7); } + .bp3-dark .bp3-tag > .bp3-icon, .bp3-dark .bp3-tag .bp3-icon-standard, .bp3-dark .bp3-tag .bp3-icon-large{ + fill:currentColor; } + .bp3-tag > .bp3-icon, .bp3-tag .bp3-icon-standard, .bp3-tag .bp3-icon-large{ + fill:#ffffff; } + .bp3-tag.bp3-large, + .bp3-large .bp3-tag{ + min-width:30px; + min-height:30px; + padding:0 10px; + line-height:20px; + font-size:14px; } + .bp3-tag.bp3-large::before, + .bp3-tag.bp3-large > *, + .bp3-large .bp3-tag::before, + .bp3-large .bp3-tag > *{ + margin-right:7px; } + .bp3-tag.bp3-large:empty::before, + .bp3-tag.bp3-large > :last-child, + .bp3-large .bp3-tag:empty::before, + .bp3-large .bp3-tag > :last-child{ + margin-right:0; } + .bp3-tag.bp3-large.bp3-round, + .bp3-large .bp3-tag.bp3-round{ + padding-right:12px; + padding-left:12px; } + .bp3-tag.bp3-intent-primary{ + background:#137cbd; + color:#ffffff; } + .bp3-tag.bp3-intent-primary.bp3-interactive{ + cursor:pointer; } + .bp3-tag.bp3-intent-primary.bp3-interactive:hover{ + background-color:rgba(19, 124, 189, 0.85); } + .bp3-tag.bp3-intent-primary.bp3-interactive.bp3-active, .bp3-tag.bp3-intent-primary.bp3-interactive:active{ + background-color:rgba(19, 124, 189, 0.7); } + .bp3-tag.bp3-intent-success{ + background:#0f9960; + color:#ffffff; } + .bp3-tag.bp3-intent-success.bp3-interactive{ + cursor:pointer; } + .bp3-tag.bp3-intent-success.bp3-interactive:hover{ + background-color:rgba(15, 153, 96, 0.85); } + .bp3-tag.bp3-intent-success.bp3-interactive.bp3-active, .bp3-tag.bp3-intent-success.bp3-interactive:active{ + background-color:rgba(15, 153, 96, 0.7); } + .bp3-tag.bp3-intent-warning{ + background:#d9822b; + color:#ffffff; } + .bp3-tag.bp3-intent-warning.bp3-interactive{ + cursor:pointer; } + .bp3-tag.bp3-intent-warning.bp3-interactive:hover{ + background-color:rgba(217, 130, 43, 0.85); } + .bp3-tag.bp3-intent-warning.bp3-interactive.bp3-active, .bp3-tag.bp3-intent-warning.bp3-interactive:active{ + background-color:rgba(217, 130, 43, 0.7); } + .bp3-tag.bp3-intent-danger{ + background:#db3737; + color:#ffffff; } + .bp3-tag.bp3-intent-danger.bp3-interactive{ + cursor:pointer; } + .bp3-tag.bp3-intent-danger.bp3-interactive:hover{ + background-color:rgba(219, 55, 55, 0.85); } + .bp3-tag.bp3-intent-danger.bp3-interactive.bp3-active, .bp3-tag.bp3-intent-danger.bp3-interactive:active{ + background-color:rgba(219, 55, 55, 0.7); } + .bp3-tag.bp3-fill{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + width:100%; } + .bp3-tag.bp3-minimal > .bp3-icon, .bp3-tag.bp3-minimal .bp3-icon-standard, .bp3-tag.bp3-minimal .bp3-icon-large{ + fill:#5c7080; } + .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]){ + background-color:rgba(138, 155, 168, 0.2); + color:#182026; } + .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]).bp3-interactive{ + cursor:pointer; } + .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]).bp3-interactive:hover{ + background-color:rgba(92, 112, 128, 0.3); } + .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]).bp3-interactive.bp3-active, .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]).bp3-interactive:active{ + background-color:rgba(92, 112, 128, 0.4); } + .bp3-dark .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]){ + color:#f5f8fa; } + .bp3-dark .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]).bp3-interactive{ + cursor:pointer; } + .bp3-dark .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]).bp3-interactive:hover{ + background-color:rgba(191, 204, 214, 0.3); } + .bp3-dark .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]).bp3-interactive.bp3-active, .bp3-dark .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]).bp3-interactive:active{ + background-color:rgba(191, 204, 214, 0.4); } + .bp3-dark .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]) > .bp3-icon, .bp3-dark .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]) .bp3-icon-standard, .bp3-dark .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]) .bp3-icon-large{ + fill:#a7b6c2; } + .bp3-tag.bp3-minimal.bp3-intent-primary{ + background-color:rgba(19, 124, 189, 0.15); + color:#106ba3; } + .bp3-tag.bp3-minimal.bp3-intent-primary.bp3-interactive{ + cursor:pointer; } + .bp3-tag.bp3-minimal.bp3-intent-primary.bp3-interactive:hover{ + background-color:rgba(19, 124, 189, 0.25); } + .bp3-tag.bp3-minimal.bp3-intent-primary.bp3-interactive.bp3-active, .bp3-tag.bp3-minimal.bp3-intent-primary.bp3-interactive:active{ + background-color:rgba(19, 124, 189, 0.35); } + .bp3-tag.bp3-minimal.bp3-intent-primary > .bp3-icon, .bp3-tag.bp3-minimal.bp3-intent-primary .bp3-icon-standard, .bp3-tag.bp3-minimal.bp3-intent-primary .bp3-icon-large{ + fill:#137cbd; } + .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-primary{ + background-color:rgba(19, 124, 189, 0.25); + color:#48aff0; } + .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-primary.bp3-interactive{ + cursor:pointer; } + .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-primary.bp3-interactive:hover{ + background-color:rgba(19, 124, 189, 0.35); } + .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-primary.bp3-interactive.bp3-active, .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-primary.bp3-interactive:active{ + background-color:rgba(19, 124, 189, 0.45); } + .bp3-tag.bp3-minimal.bp3-intent-success{ + background-color:rgba(15, 153, 96, 0.15); + color:#0d8050; } + .bp3-tag.bp3-minimal.bp3-intent-success.bp3-interactive{ + cursor:pointer; } + .bp3-tag.bp3-minimal.bp3-intent-success.bp3-interactive:hover{ + background-color:rgba(15, 153, 96, 0.25); } + .bp3-tag.bp3-minimal.bp3-intent-success.bp3-interactive.bp3-active, .bp3-tag.bp3-minimal.bp3-intent-success.bp3-interactive:active{ + background-color:rgba(15, 153, 96, 0.35); } + .bp3-tag.bp3-minimal.bp3-intent-success > .bp3-icon, .bp3-tag.bp3-minimal.bp3-intent-success .bp3-icon-standard, .bp3-tag.bp3-minimal.bp3-intent-success .bp3-icon-large{ + fill:#0f9960; } + .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-success{ + background-color:rgba(15, 153, 96, 0.25); + color:#3dcc91; } + .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-success.bp3-interactive{ + cursor:pointer; } + .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-success.bp3-interactive:hover{ + background-color:rgba(15, 153, 96, 0.35); } + .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-success.bp3-interactive.bp3-active, .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-success.bp3-interactive:active{ + background-color:rgba(15, 153, 96, 0.45); } + .bp3-tag.bp3-minimal.bp3-intent-warning{ + background-color:rgba(217, 130, 43, 0.15); + color:#bf7326; } + .bp3-tag.bp3-minimal.bp3-intent-warning.bp3-interactive{ + cursor:pointer; } + .bp3-tag.bp3-minimal.bp3-intent-warning.bp3-interactive:hover{ + background-color:rgba(217, 130, 43, 0.25); } + .bp3-tag.bp3-minimal.bp3-intent-warning.bp3-interactive.bp3-active, .bp3-tag.bp3-minimal.bp3-intent-warning.bp3-interactive:active{ + background-color:rgba(217, 130, 43, 0.35); } + .bp3-tag.bp3-minimal.bp3-intent-warning > .bp3-icon, .bp3-tag.bp3-minimal.bp3-intent-warning .bp3-icon-standard, .bp3-tag.bp3-minimal.bp3-intent-warning .bp3-icon-large{ + fill:#d9822b; } + .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-warning{ + background-color:rgba(217, 130, 43, 0.25); + color:#ffb366; } + .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-warning.bp3-interactive{ + cursor:pointer; } + .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-warning.bp3-interactive:hover{ + background-color:rgba(217, 130, 43, 0.35); } + .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-warning.bp3-interactive.bp3-active, .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-warning.bp3-interactive:active{ + background-color:rgba(217, 130, 43, 0.45); } + .bp3-tag.bp3-minimal.bp3-intent-danger{ + background-color:rgba(219, 55, 55, 0.15); + color:#c23030; } + .bp3-tag.bp3-minimal.bp3-intent-danger.bp3-interactive{ + cursor:pointer; } + .bp3-tag.bp3-minimal.bp3-intent-danger.bp3-interactive:hover{ + background-color:rgba(219, 55, 55, 0.25); } + .bp3-tag.bp3-minimal.bp3-intent-danger.bp3-interactive.bp3-active, .bp3-tag.bp3-minimal.bp3-intent-danger.bp3-interactive:active{ + background-color:rgba(219, 55, 55, 0.35); } + .bp3-tag.bp3-minimal.bp3-intent-danger > .bp3-icon, .bp3-tag.bp3-minimal.bp3-intent-danger .bp3-icon-standard, .bp3-tag.bp3-minimal.bp3-intent-danger .bp3-icon-large{ + fill:#db3737; } + .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-danger{ + background-color:rgba(219, 55, 55, 0.25); + color:#ff7373; } + .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-danger.bp3-interactive{ + cursor:pointer; } + .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-danger.bp3-interactive:hover{ + background-color:rgba(219, 55, 55, 0.35); } + .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-danger.bp3-interactive.bp3-active, .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-danger.bp3-interactive:active{ + background-color:rgba(219, 55, 55, 0.45); } + +.bp3-tag-remove{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + opacity:0.5; + margin-top:-2px; + margin-right:-6px !important; + margin-bottom:-2px; + border:none; + background:none; + cursor:pointer; + padding:2px; + padding-left:0; + color:inherit; } + .bp3-tag-remove:hover{ + opacity:0.8; + background:none; + text-decoration:none; } + .bp3-tag-remove:active{ + opacity:1; } + .bp3-tag-remove:empty::before{ + line-height:1; + font-family:"Icons16", sans-serif; + font-size:16px; + font-weight:400; + font-style:normal; + -moz-osx-font-smoothing:grayscale; + -webkit-font-smoothing:antialiased; + content:"î›—"; } + .bp3-large .bp3-tag-remove{ + margin-right:-10px !important; + padding:5px; + padding-left:0; } + .bp3-large .bp3-tag-remove:empty::before{ + line-height:1; + font-family:"Icons20", sans-serif; + font-size:20px; + font-weight:400; + font-style:normal; } +.bp3-tag-input{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-orient:horizontal; + -webkit-box-direction:normal; + -ms-flex-direction:row; + flex-direction:row; + -webkit-box-align:start; + -ms-flex-align:start; + align-items:flex-start; + cursor:text; + height:auto; + min-height:30px; + padding-right:0; + padding-left:5px; + line-height:inherit; } + .bp3-tag-input > *{ + -webkit-box-flex:0; + -ms-flex-positive:0; + flex-grow:0; + -ms-flex-negative:0; + flex-shrink:0; } + .bp3-tag-input > .bp3-tag-input-values{ + -webkit-box-flex:1; + -ms-flex-positive:1; + flex-grow:1; + -ms-flex-negative:1; + flex-shrink:1; } + .bp3-tag-input .bp3-tag-input-icon{ + margin-top:7px; + margin-right:7px; + margin-left:2px; + color:#5c7080; } + .bp3-tag-input .bp3-tag-input-values{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-orient:horizontal; + -webkit-box-direction:normal; + -ms-flex-direction:row; + flex-direction:row; + -ms-flex-wrap:wrap; + flex-wrap:wrap; + -webkit-box-align:center; + -ms-flex-align:center; + align-items:center; + -ms-flex-item-align:stretch; + align-self:stretch; + margin-top:5px; + margin-right:7px; + min-width:0; } + .bp3-tag-input .bp3-tag-input-values > *{ + -webkit-box-flex:0; + -ms-flex-positive:0; + flex-grow:0; + -ms-flex-negative:0; + flex-shrink:0; } + .bp3-tag-input .bp3-tag-input-values > .bp3-fill{ + -webkit-box-flex:1; + -ms-flex-positive:1; + flex-grow:1; + -ms-flex-negative:1; + flex-shrink:1; } + .bp3-tag-input .bp3-tag-input-values::before, + .bp3-tag-input .bp3-tag-input-values > *{ + margin-right:5px; } + .bp3-tag-input .bp3-tag-input-values:empty::before, + .bp3-tag-input .bp3-tag-input-values > :last-child{ + margin-right:0; } + .bp3-tag-input .bp3-tag-input-values:first-child .bp3-input-ghost:first-child{ + padding-left:5px; } + .bp3-tag-input .bp3-tag-input-values > *{ + margin-bottom:5px; } + .bp3-tag-input .bp3-tag{ + overflow-wrap:break-word; } + .bp3-tag-input .bp3-tag.bp3-active{ + outline:rgba(19, 124, 189, 0.6) auto 2px; + outline-offset:0; + -moz-outline-radius:6px; } + .bp3-tag-input .bp3-input-ghost{ + -webkit-box-flex:1; + -ms-flex:1 1 auto; + flex:1 1 auto; + width:80px; + line-height:20px; } + .bp3-tag-input .bp3-input-ghost:disabled, .bp3-tag-input .bp3-input-ghost.bp3-disabled{ + cursor:not-allowed; } + .bp3-tag-input .bp3-button, + .bp3-tag-input .bp3-spinner{ + margin:3px; + margin-left:0; } + .bp3-tag-input .bp3-button{ + min-width:24px; + min-height:24px; + padding:0 7px; } + .bp3-tag-input.bp3-large{ + height:auto; + min-height:40px; } + .bp3-tag-input.bp3-large::before, + .bp3-tag-input.bp3-large > *{ + margin-right:10px; } + .bp3-tag-input.bp3-large:empty::before, + .bp3-tag-input.bp3-large > :last-child{ + margin-right:0; } + .bp3-tag-input.bp3-large .bp3-tag-input-icon{ + margin-top:10px; + margin-left:5px; } + .bp3-tag-input.bp3-large .bp3-input-ghost{ + line-height:30px; } + .bp3-tag-input.bp3-large .bp3-button{ + min-width:30px; + min-height:30px; + padding:5px 10px; + margin:5px; + margin-left:0; } + .bp3-tag-input.bp3-large .bp3-spinner{ + margin:8px; + margin-left:0; } + .bp3-tag-input.bp3-active{ + -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); + background-color:#ffffff; } + .bp3-tag-input.bp3-active.bp3-intent-primary{ + -webkit-box-shadow:0 0 0 1px #106ba3, 0 0 0 3px rgba(16, 107, 163, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px #106ba3, 0 0 0 3px rgba(16, 107, 163, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-tag-input.bp3-active.bp3-intent-success{ + -webkit-box-shadow:0 0 0 1px #0d8050, 0 0 0 3px rgba(13, 128, 80, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px #0d8050, 0 0 0 3px rgba(13, 128, 80, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-tag-input.bp3-active.bp3-intent-warning{ + -webkit-box-shadow:0 0 0 1px #bf7326, 0 0 0 3px rgba(191, 115, 38, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px #bf7326, 0 0 0 3px rgba(191, 115, 38, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-tag-input.bp3-active.bp3-intent-danger{ + -webkit-box-shadow:0 0 0 1px #c23030, 0 0 0 3px rgba(194, 48, 48, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px #c23030, 0 0 0 3px rgba(194, 48, 48, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } + .bp3-dark .bp3-tag-input .bp3-tag-input-icon, .bp3-tag-input.bp3-dark .bp3-tag-input-icon{ + color:#a7b6c2; } + .bp3-dark .bp3-tag-input .bp3-input-ghost, .bp3-tag-input.bp3-dark .bp3-input-ghost{ + color:#f5f8fa; } + .bp3-dark .bp3-tag-input .bp3-input-ghost::-webkit-input-placeholder, .bp3-tag-input.bp3-dark .bp3-input-ghost::-webkit-input-placeholder{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-tag-input .bp3-input-ghost::-moz-placeholder, .bp3-tag-input.bp3-dark .bp3-input-ghost::-moz-placeholder{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-tag-input .bp3-input-ghost:-ms-input-placeholder, .bp3-tag-input.bp3-dark .bp3-input-ghost:-ms-input-placeholder{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-tag-input .bp3-input-ghost::-ms-input-placeholder, .bp3-tag-input.bp3-dark .bp3-input-ghost::-ms-input-placeholder{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-tag-input .bp3-input-ghost::placeholder, .bp3-tag-input.bp3-dark .bp3-input-ghost::placeholder{ + color:rgba(167, 182, 194, 0.6); } + .bp3-dark .bp3-tag-input.bp3-active, .bp3-tag-input.bp3-dark.bp3-active{ + -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px #137cbd, 0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + background-color:rgba(16, 22, 26, 0.3); } + .bp3-dark .bp3-tag-input.bp3-active.bp3-intent-primary, .bp3-tag-input.bp3-dark.bp3-active.bp3-intent-primary{ + -webkit-box-shadow:0 0 0 1px #106ba3, 0 0 0 3px rgba(16, 107, 163, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px #106ba3, 0 0 0 3px rgba(16, 107, 163, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-tag-input.bp3-active.bp3-intent-success, .bp3-tag-input.bp3-dark.bp3-active.bp3-intent-success{ + -webkit-box-shadow:0 0 0 1px #0d8050, 0 0 0 3px rgba(13, 128, 80, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px #0d8050, 0 0 0 3px rgba(13, 128, 80, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-tag-input.bp3-active.bp3-intent-warning, .bp3-tag-input.bp3-dark.bp3-active.bp3-intent-warning{ + -webkit-box-shadow:0 0 0 1px #bf7326, 0 0 0 3px rgba(191, 115, 38, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px #bf7326, 0 0 0 3px rgba(191, 115, 38, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } + .bp3-dark .bp3-tag-input.bp3-active.bp3-intent-danger, .bp3-tag-input.bp3-dark.bp3-active.bp3-intent-danger{ + -webkit-box-shadow:0 0 0 1px #c23030, 0 0 0 3px rgba(194, 48, 48, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px #c23030, 0 0 0 3px rgba(194, 48, 48, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } + +.bp3-input-ghost{ + border:none; + -webkit-box-shadow:none; + box-shadow:none; + background:none; + padding:0; } + .bp3-input-ghost::-webkit-input-placeholder{ + opacity:1; + color:rgba(92, 112, 128, 0.6); } + .bp3-input-ghost::-moz-placeholder{ + opacity:1; + color:rgba(92, 112, 128, 0.6); } + .bp3-input-ghost:-ms-input-placeholder{ + opacity:1; + color:rgba(92, 112, 128, 0.6); } + .bp3-input-ghost::-ms-input-placeholder{ + opacity:1; + color:rgba(92, 112, 128, 0.6); } + .bp3-input-ghost::placeholder{ + opacity:1; + color:rgba(92, 112, 128, 0.6); } + .bp3-input-ghost:focus{ + outline:none !important; } +.bp3-toast{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-align:start; + -ms-flex-align:start; + align-items:flex-start; + position:relative !important; + margin:20px 0 0; + border-radius:3px; + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2); + background-color:#ffffff; + min-width:300px; + max-width:500px; + pointer-events:all; } + .bp3-toast.bp3-toast-enter, .bp3-toast.bp3-toast-appear{ + -webkit-transform:translateY(-40px); + transform:translateY(-40px); } + .bp3-toast.bp3-toast-enter-active, .bp3-toast.bp3-toast-appear-active{ + -webkit-transform:translateY(0); + transform:translateY(0); + -webkit-transition-property:-webkit-transform; + transition-property:-webkit-transform; + transition-property:transform; + transition-property:transform, -webkit-transform; + -webkit-transition-duration:300ms; + transition-duration:300ms; + -webkit-transition-timing-function:cubic-bezier(0.54, 1.12, 0.38, 1.11); + transition-timing-function:cubic-bezier(0.54, 1.12, 0.38, 1.11); + -webkit-transition-delay:0; + transition-delay:0; } + .bp3-toast.bp3-toast-enter ~ .bp3-toast, .bp3-toast.bp3-toast-appear ~ .bp3-toast{ + -webkit-transform:translateY(-40px); + transform:translateY(-40px); } + .bp3-toast.bp3-toast-enter-active ~ .bp3-toast, .bp3-toast.bp3-toast-appear-active ~ .bp3-toast{ + -webkit-transform:translateY(0); + transform:translateY(0); + -webkit-transition-property:-webkit-transform; + transition-property:-webkit-transform; + transition-property:transform; + transition-property:transform, -webkit-transform; + -webkit-transition-duration:300ms; + transition-duration:300ms; + -webkit-transition-timing-function:cubic-bezier(0.54, 1.12, 0.38, 1.11); + transition-timing-function:cubic-bezier(0.54, 1.12, 0.38, 1.11); + -webkit-transition-delay:0; + transition-delay:0; } + .bp3-toast.bp3-toast-exit{ + opacity:1; + -webkit-filter:blur(0); + filter:blur(0); } + .bp3-toast.bp3-toast-exit-active{ + opacity:0; + -webkit-filter:blur(10px); + filter:blur(10px); + -webkit-transition-property:opacity, -webkit-filter; + transition-property:opacity, -webkit-filter; + transition-property:opacity, filter; + transition-property:opacity, filter, -webkit-filter; + -webkit-transition-duration:300ms; + transition-duration:300ms; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + -webkit-transition-delay:0; + transition-delay:0; } + .bp3-toast.bp3-toast-exit ~ .bp3-toast{ + -webkit-transform:translateY(0); + transform:translateY(0); } + .bp3-toast.bp3-toast-exit-active ~ .bp3-toast{ + -webkit-transform:translateY(-40px); + transform:translateY(-40px); + -webkit-transition-property:-webkit-transform; + transition-property:-webkit-transform; + transition-property:transform; + transition-property:transform, -webkit-transform; + -webkit-transition-duration:100ms; + transition-duration:100ms; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + -webkit-transition-delay:50ms; + transition-delay:50ms; } + .bp3-toast .bp3-button-group{ + -webkit-box-flex:0; + -ms-flex:0 0 auto; + flex:0 0 auto; + padding:5px; + padding-left:0; } + .bp3-toast > .bp3-icon{ + margin:12px; + margin-right:0; + color:#5c7080; } + .bp3-toast.bp3-dark, + .bp3-dark .bp3-toast{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4); + background-color:#394b59; } + .bp3-toast.bp3-dark > .bp3-icon, + .bp3-dark .bp3-toast > .bp3-icon{ + color:#a7b6c2; } + .bp3-toast[class*="bp3-intent-"] a{ + color:rgba(255, 255, 255, 0.7); } + .bp3-toast[class*="bp3-intent-"] a:hover{ + color:#ffffff; } + .bp3-toast[class*="bp3-intent-"] > .bp3-icon{ + color:#ffffff; } + .bp3-toast[class*="bp3-intent-"] .bp3-button, .bp3-toast[class*="bp3-intent-"] .bp3-button::before, + .bp3-toast[class*="bp3-intent-"] .bp3-button .bp3-icon, .bp3-toast[class*="bp3-intent-"] .bp3-button:active{ + color:rgba(255, 255, 255, 0.7) !important; } + .bp3-toast[class*="bp3-intent-"] .bp3-button:focus{ + outline-color:rgba(255, 255, 255, 0.5); } + .bp3-toast[class*="bp3-intent-"] .bp3-button:hover{ + background-color:rgba(255, 255, 255, 0.15) !important; + color:#ffffff !important; } + .bp3-toast[class*="bp3-intent-"] .bp3-button:active{ + background-color:rgba(255, 255, 255, 0.3) !important; + color:#ffffff !important; } + .bp3-toast[class*="bp3-intent-"] .bp3-button::after{ + background:rgba(255, 255, 255, 0.3) !important; } + .bp3-toast.bp3-intent-primary{ + background-color:#137cbd; + color:#ffffff; } + .bp3-toast.bp3-intent-success{ + background-color:#0f9960; + color:#ffffff; } + .bp3-toast.bp3-intent-warning{ + background-color:#d9822b; + color:#ffffff; } + .bp3-toast.bp3-intent-danger{ + background-color:#db3737; + color:#ffffff; } + +.bp3-toast-message{ + -webkit-box-flex:1; + -ms-flex:1 1 auto; + flex:1 1 auto; + padding:11px; + word-break:break-word; } + +.bp3-toast-container{ + display:-webkit-box !important; + display:-ms-flexbox !important; + display:flex !important; + -webkit-box-orient:vertical; + -webkit-box-direction:normal; + -ms-flex-direction:column; + flex-direction:column; + -webkit-box-align:center; + -ms-flex-align:center; + align-items:center; + position:fixed; + right:0; + left:0; + z-index:40; + overflow:hidden; + padding:0 20px 20px; + pointer-events:none; } + .bp3-toast-container.bp3-toast-container-top{ + top:0; + bottom:auto; } + .bp3-toast-container.bp3-toast-container-bottom{ + -webkit-box-orient:vertical; + -webkit-box-direction:reverse; + -ms-flex-direction:column-reverse; + flex-direction:column-reverse; + top:auto; + bottom:0; } + .bp3-toast-container.bp3-toast-container-left{ + -webkit-box-align:start; + -ms-flex-align:start; + align-items:flex-start; } + .bp3-toast-container.bp3-toast-container-right{ + -webkit-box-align:end; + -ms-flex-align:end; + align-items:flex-end; } + +.bp3-toast-container-bottom .bp3-toast.bp3-toast-enter:not(.bp3-toast-enter-active), +.bp3-toast-container-bottom .bp3-toast.bp3-toast-enter:not(.bp3-toast-enter-active) ~ .bp3-toast, .bp3-toast-container-bottom .bp3-toast.bp3-toast-appear:not(.bp3-toast-appear-active), +.bp3-toast-container-bottom .bp3-toast.bp3-toast-appear:not(.bp3-toast-appear-active) ~ .bp3-toast, +.bp3-toast-container-bottom .bp3-toast.bp3-toast-leave-active ~ .bp3-toast{ + -webkit-transform:translateY(60px); + transform:translateY(60px); } +.bp3-tooltip{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2); + -webkit-transform:scale(1); + transform:scale(1); } + .bp3-tooltip .bp3-popover-arrow{ + position:absolute; + width:22px; + height:22px; } + .bp3-tooltip .bp3-popover-arrow::before{ + margin:4px; + width:14px; + height:14px; } + .bp3-tether-element-attached-bottom.bp3-tether-target-attached-top > .bp3-tooltip{ + margin-top:-11px; + margin-bottom:11px; } + .bp3-tether-element-attached-bottom.bp3-tether-target-attached-top > .bp3-tooltip > .bp3-popover-arrow{ + bottom:-8px; } + .bp3-tether-element-attached-bottom.bp3-tether-target-attached-top > .bp3-tooltip > .bp3-popover-arrow svg{ + -webkit-transform:rotate(-90deg); + transform:rotate(-90deg); } + .bp3-tether-element-attached-left.bp3-tether-target-attached-right > .bp3-tooltip{ + margin-left:11px; } + .bp3-tether-element-attached-left.bp3-tether-target-attached-right > .bp3-tooltip > .bp3-popover-arrow{ + left:-8px; } + .bp3-tether-element-attached-left.bp3-tether-target-attached-right > .bp3-tooltip > .bp3-popover-arrow svg{ + -webkit-transform:rotate(0); + transform:rotate(0); } + .bp3-tether-element-attached-top.bp3-tether-target-attached-bottom > .bp3-tooltip{ + margin-top:11px; } + .bp3-tether-element-attached-top.bp3-tether-target-attached-bottom > .bp3-tooltip > .bp3-popover-arrow{ + top:-8px; } + .bp3-tether-element-attached-top.bp3-tether-target-attached-bottom > .bp3-tooltip > .bp3-popover-arrow svg{ + -webkit-transform:rotate(90deg); + transform:rotate(90deg); } + .bp3-tether-element-attached-right.bp3-tether-target-attached-left > .bp3-tooltip{ + margin-right:11px; + margin-left:-11px; } + .bp3-tether-element-attached-right.bp3-tether-target-attached-left > .bp3-tooltip > .bp3-popover-arrow{ + right:-8px; } + .bp3-tether-element-attached-right.bp3-tether-target-attached-left > .bp3-tooltip > .bp3-popover-arrow svg{ + -webkit-transform:rotate(180deg); + transform:rotate(180deg); } + .bp3-tether-element-attached-middle > .bp3-tooltip > .bp3-popover-arrow{ + top:50%; + -webkit-transform:translateY(-50%); + transform:translateY(-50%); } + .bp3-tether-element-attached-center > .bp3-tooltip > .bp3-popover-arrow{ + right:50%; + -webkit-transform:translateX(50%); + transform:translateX(50%); } + .bp3-tether-element-attached-top.bp3-tether-target-attached-top > .bp3-tooltip > .bp3-popover-arrow{ + top:-0.22183px; } + .bp3-tether-element-attached-right.bp3-tether-target-attached-right > .bp3-tooltip > .bp3-popover-arrow{ + right:-0.22183px; } + .bp3-tether-element-attached-left.bp3-tether-target-attached-left > .bp3-tooltip > .bp3-popover-arrow{ + left:-0.22183px; } + .bp3-tether-element-attached-bottom.bp3-tether-target-attached-bottom > .bp3-tooltip > .bp3-popover-arrow{ + bottom:-0.22183px; } + .bp3-tether-element-attached-top.bp3-tether-element-attached-left > .bp3-tooltip{ + -webkit-transform-origin:top left; + transform-origin:top left; } + .bp3-tether-element-attached-top.bp3-tether-element-attached-center > .bp3-tooltip{ + -webkit-transform-origin:top center; + transform-origin:top center; } + .bp3-tether-element-attached-top.bp3-tether-element-attached-right > .bp3-tooltip{ + -webkit-transform-origin:top right; + transform-origin:top right; } + .bp3-tether-element-attached-middle.bp3-tether-element-attached-left > .bp3-tooltip{ + -webkit-transform-origin:center left; + transform-origin:center left; } + .bp3-tether-element-attached-middle.bp3-tether-element-attached-center > .bp3-tooltip{ + -webkit-transform-origin:center center; + transform-origin:center center; } + .bp3-tether-element-attached-middle.bp3-tether-element-attached-right > .bp3-tooltip{ + -webkit-transform-origin:center right; + transform-origin:center right; } + .bp3-tether-element-attached-bottom.bp3-tether-element-attached-left > .bp3-tooltip{ + -webkit-transform-origin:bottom left; + transform-origin:bottom left; } + .bp3-tether-element-attached-bottom.bp3-tether-element-attached-center > .bp3-tooltip{ + -webkit-transform-origin:bottom center; + transform-origin:bottom center; } + .bp3-tether-element-attached-bottom.bp3-tether-element-attached-right > .bp3-tooltip{ + -webkit-transform-origin:bottom right; + transform-origin:bottom right; } + .bp3-tooltip .bp3-popover-content{ + background:#394b59; + color:#f5f8fa; } + .bp3-tooltip .bp3-popover-arrow::before{ + -webkit-box-shadow:1px 1px 6px rgba(16, 22, 26, 0.2); + box-shadow:1px 1px 6px rgba(16, 22, 26, 0.2); } + .bp3-tooltip .bp3-popover-arrow-border{ + fill:#10161a; + fill-opacity:0.1; } + .bp3-tooltip .bp3-popover-arrow-fill{ + fill:#394b59; } + .bp3-popover-enter > .bp3-tooltip, .bp3-popover-appear > .bp3-tooltip{ + -webkit-transform:scale(0.8); + transform:scale(0.8); } + .bp3-popover-enter-active > .bp3-tooltip, .bp3-popover-appear-active > .bp3-tooltip{ + -webkit-transform:scale(1); + transform:scale(1); + -webkit-transition-property:-webkit-transform; + transition-property:-webkit-transform; + transition-property:transform; + transition-property:transform, -webkit-transform; + -webkit-transition-duration:100ms; + transition-duration:100ms; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + -webkit-transition-delay:0; + transition-delay:0; } + .bp3-popover-exit > .bp3-tooltip{ + -webkit-transform:scale(1); + transform:scale(1); } + .bp3-popover-exit-active > .bp3-tooltip{ + -webkit-transform:scale(0.8); + transform:scale(0.8); + -webkit-transition-property:-webkit-transform; + transition-property:-webkit-transform; + transition-property:transform; + transition-property:transform, -webkit-transform; + -webkit-transition-duration:100ms; + transition-duration:100ms; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + -webkit-transition-delay:0; + transition-delay:0; } + .bp3-tooltip .bp3-popover-content{ + padding:10px 12px; } + .bp3-tooltip.bp3-dark, + .bp3-dark .bp3-tooltip{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4); } + .bp3-tooltip.bp3-dark .bp3-popover-content, + .bp3-dark .bp3-tooltip .bp3-popover-content{ + background:#e1e8ed; + color:#394b59; } + .bp3-tooltip.bp3-dark .bp3-popover-arrow::before, + .bp3-dark .bp3-tooltip .bp3-popover-arrow::before{ + -webkit-box-shadow:1px 1px 6px rgba(16, 22, 26, 0.4); + box-shadow:1px 1px 6px rgba(16, 22, 26, 0.4); } + .bp3-tooltip.bp3-dark .bp3-popover-arrow-border, + .bp3-dark .bp3-tooltip .bp3-popover-arrow-border{ + fill:#10161a; + fill-opacity:0.2; } + .bp3-tooltip.bp3-dark .bp3-popover-arrow-fill, + .bp3-dark .bp3-tooltip .bp3-popover-arrow-fill{ + fill:#e1e8ed; } + .bp3-tooltip.bp3-intent-primary .bp3-popover-content{ + background:#137cbd; + color:#ffffff; } + .bp3-tooltip.bp3-intent-primary .bp3-popover-arrow-fill{ + fill:#137cbd; } + .bp3-tooltip.bp3-intent-success .bp3-popover-content{ + background:#0f9960; + color:#ffffff; } + .bp3-tooltip.bp3-intent-success .bp3-popover-arrow-fill{ + fill:#0f9960; } + .bp3-tooltip.bp3-intent-warning .bp3-popover-content{ + background:#d9822b; + color:#ffffff; } + .bp3-tooltip.bp3-intent-warning .bp3-popover-arrow-fill{ + fill:#d9822b; } + .bp3-tooltip.bp3-intent-danger .bp3-popover-content{ + background:#db3737; + color:#ffffff; } + .bp3-tooltip.bp3-intent-danger .bp3-popover-arrow-fill{ + fill:#db3737; } + +.bp3-tooltip-indicator{ + border-bottom:dotted 1px; + cursor:help; } +.bp3-tree .bp3-icon, .bp3-tree .bp3-icon-standard, .bp3-tree .bp3-icon-large{ + color:#5c7080; } + .bp3-tree .bp3-icon.bp3-intent-primary, .bp3-tree .bp3-icon-standard.bp3-intent-primary, .bp3-tree .bp3-icon-large.bp3-intent-primary{ + color:#137cbd; } + .bp3-tree .bp3-icon.bp3-intent-success, .bp3-tree .bp3-icon-standard.bp3-intent-success, .bp3-tree .bp3-icon-large.bp3-intent-success{ + color:#0f9960; } + .bp3-tree .bp3-icon.bp3-intent-warning, .bp3-tree .bp3-icon-standard.bp3-intent-warning, .bp3-tree .bp3-icon-large.bp3-intent-warning{ + color:#d9822b; } + .bp3-tree .bp3-icon.bp3-intent-danger, .bp3-tree .bp3-icon-standard.bp3-intent-danger, .bp3-tree .bp3-icon-large.bp3-intent-danger{ + color:#db3737; } + +.bp3-tree-node-list{ + margin:0; + padding-left:0; + list-style:none; } + +.bp3-tree-root{ + position:relative; + background-color:transparent; + cursor:default; + padding-left:0; } + +.bp3-tree-node-content-0{ + padding-left:0px; } + +.bp3-tree-node-content-1{ + padding-left:23px; } + +.bp3-tree-node-content-2{ + padding-left:46px; } + +.bp3-tree-node-content-3{ + padding-left:69px; } + +.bp3-tree-node-content-4{ + padding-left:92px; } + +.bp3-tree-node-content-5{ + padding-left:115px; } + +.bp3-tree-node-content-6{ + padding-left:138px; } + +.bp3-tree-node-content-7{ + padding-left:161px; } + +.bp3-tree-node-content-8{ + padding-left:184px; } + +.bp3-tree-node-content-9{ + padding-left:207px; } + +.bp3-tree-node-content-10{ + padding-left:230px; } + +.bp3-tree-node-content-11{ + padding-left:253px; } + +.bp3-tree-node-content-12{ + padding-left:276px; } + +.bp3-tree-node-content-13{ + padding-left:299px; } + +.bp3-tree-node-content-14{ + padding-left:322px; } + +.bp3-tree-node-content-15{ + padding-left:345px; } + +.bp3-tree-node-content-16{ + padding-left:368px; } + +.bp3-tree-node-content-17{ + padding-left:391px; } + +.bp3-tree-node-content-18{ + padding-left:414px; } + +.bp3-tree-node-content-19{ + padding-left:437px; } + +.bp3-tree-node-content-20{ + padding-left:460px; } + +.bp3-tree-node-content{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-align:center; + -ms-flex-align:center; + align-items:center; + width:100%; + height:30px; + padding-right:5px; } + .bp3-tree-node-content:hover{ + background-color:rgba(191, 204, 214, 0.4); } + +.bp3-tree-node-caret, +.bp3-tree-node-caret-none{ + min-width:30px; } + +.bp3-tree-node-caret{ + color:#5c7080; + -webkit-transform:rotate(0deg); + transform:rotate(0deg); + cursor:pointer; + padding:7px; + -webkit-transition:-webkit-transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:-webkit-transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9); + transition:transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9), -webkit-transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9); } + .bp3-tree-node-caret:hover{ + color:#182026; } + .bp3-dark .bp3-tree-node-caret{ + color:#a7b6c2; } + .bp3-dark .bp3-tree-node-caret:hover{ + color:#f5f8fa; } + .bp3-tree-node-caret.bp3-tree-node-caret-open{ + -webkit-transform:rotate(90deg); + transform:rotate(90deg); } + .bp3-tree-node-caret.bp3-icon-standard::before{ + content:"îš•"; } + +.bp3-tree-node-icon{ + position:relative; + margin-right:7px; } + +.bp3-tree-node-label{ + overflow:hidden; + text-overflow:ellipsis; + white-space:nowrap; + word-wrap:normal; + -webkit-box-flex:1; + -ms-flex:1 1 auto; + flex:1 1 auto; + position:relative; + -webkit-user-select:none; + -moz-user-select:none; + -ms-user-select:none; + user-select:none; } + .bp3-tree-node-label span{ + display:inline; } + +.bp3-tree-node-secondary-label{ + padding:0 5px; + -webkit-user-select:none; + -moz-user-select:none; + -ms-user-select:none; + user-select:none; } + .bp3-tree-node-secondary-label .bp3-popover-wrapper, + .bp3-tree-node-secondary-label .bp3-popover-target{ + display:-webkit-box; + display:-ms-flexbox; + display:flex; + -webkit-box-align:center; + -ms-flex-align:center; + align-items:center; } + +.bp3-tree-node.bp3-disabled .bp3-tree-node-content{ + background-color:inherit; + cursor:not-allowed; + color:rgba(92, 112, 128, 0.6); } + +.bp3-tree-node.bp3-disabled .bp3-tree-node-caret, +.bp3-tree-node.bp3-disabled .bp3-tree-node-icon{ + cursor:not-allowed; + color:rgba(92, 112, 128, 0.6); } + +.bp3-tree-node.bp3-tree-node-selected > .bp3-tree-node-content{ + background-color:#137cbd; } + .bp3-tree-node.bp3-tree-node-selected > .bp3-tree-node-content, + .bp3-tree-node.bp3-tree-node-selected > .bp3-tree-node-content .bp3-icon, .bp3-tree-node.bp3-tree-node-selected > .bp3-tree-node-content .bp3-icon-standard, .bp3-tree-node.bp3-tree-node-selected > .bp3-tree-node-content .bp3-icon-large{ + color:#ffffff; } + .bp3-tree-node.bp3-tree-node-selected > .bp3-tree-node-content .bp3-tree-node-caret::before{ + color:rgba(255, 255, 255, 0.7); } + .bp3-tree-node.bp3-tree-node-selected > .bp3-tree-node-content .bp3-tree-node-caret:hover::before{ + color:#ffffff; } + +.bp3-dark .bp3-tree-node-content:hover{ + background-color:rgba(92, 112, 128, 0.3); } + +.bp3-dark .bp3-tree .bp3-icon, .bp3-dark .bp3-tree .bp3-icon-standard, .bp3-dark .bp3-tree .bp3-icon-large{ + color:#a7b6c2; } + .bp3-dark .bp3-tree .bp3-icon.bp3-intent-primary, .bp3-dark .bp3-tree .bp3-icon-standard.bp3-intent-primary, .bp3-dark .bp3-tree .bp3-icon-large.bp3-intent-primary{ + color:#137cbd; } + .bp3-dark .bp3-tree .bp3-icon.bp3-intent-success, .bp3-dark .bp3-tree .bp3-icon-standard.bp3-intent-success, .bp3-dark .bp3-tree .bp3-icon-large.bp3-intent-success{ + color:#0f9960; } + .bp3-dark .bp3-tree .bp3-icon.bp3-intent-warning, .bp3-dark .bp3-tree .bp3-icon-standard.bp3-intent-warning, .bp3-dark .bp3-tree .bp3-icon-large.bp3-intent-warning{ + color:#d9822b; } + .bp3-dark .bp3-tree .bp3-icon.bp3-intent-danger, .bp3-dark .bp3-tree .bp3-icon-standard.bp3-intent-danger, .bp3-dark .bp3-tree .bp3-icon-large.bp3-intent-danger{ + color:#db3737; } + +.bp3-dark .bp3-tree-node.bp3-tree-node-selected > .bp3-tree-node-content{ + background-color:#137cbd; } +/*! + +Copyright 2017-present Palantir Technologies, Inc. All rights reserved. +Licensed under the Apache License, Version 2.0. + +*/ +.bp3-omnibar{ + -webkit-filter:blur(0); + filter:blur(0); + opacity:1; + top:20vh; + left:calc(50% - 250px); + z-index:21; + border-radius:3px; + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 4px 8px rgba(16, 22, 26, 0.2), 0 18px 46px 6px rgba(16, 22, 26, 0.2); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 4px 8px rgba(16, 22, 26, 0.2), 0 18px 46px 6px rgba(16, 22, 26, 0.2); + background-color:#ffffff; + width:500px; } + .bp3-omnibar.bp3-overlay-enter, .bp3-omnibar.bp3-overlay-appear{ + -webkit-filter:blur(20px); + filter:blur(20px); + opacity:0.2; } + .bp3-omnibar.bp3-overlay-enter-active, .bp3-omnibar.bp3-overlay-appear-active{ + -webkit-filter:blur(0); + filter:blur(0); + opacity:1; + -webkit-transition-property:opacity, -webkit-filter; + transition-property:opacity, -webkit-filter; + transition-property:filter, opacity; + transition-property:filter, opacity, -webkit-filter; + -webkit-transition-duration:200ms; + transition-duration:200ms; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + -webkit-transition-delay:0; + transition-delay:0; } + .bp3-omnibar.bp3-overlay-exit{ + -webkit-filter:blur(0); + filter:blur(0); + opacity:1; } + .bp3-omnibar.bp3-overlay-exit-active{ + -webkit-filter:blur(20px); + filter:blur(20px); + opacity:0.2; + -webkit-transition-property:opacity, -webkit-filter; + transition-property:opacity, -webkit-filter; + transition-property:filter, opacity; + transition-property:filter, opacity, -webkit-filter; + -webkit-transition-duration:200ms; + transition-duration:200ms; + -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); + -webkit-transition-delay:0; + transition-delay:0; } + .bp3-omnibar .bp3-input{ + border-radius:0; + background-color:transparent; } + .bp3-omnibar .bp3-input, .bp3-omnibar .bp3-input:focus{ + -webkit-box-shadow:none; + box-shadow:none; } + .bp3-omnibar .bp3-menu{ + border-radius:0; + -webkit-box-shadow:inset 0 1px 0 rgba(16, 22, 26, 0.15); + box-shadow:inset 0 1px 0 rgba(16, 22, 26, 0.15); + background-color:transparent; + max-height:calc(60vh - 40px); + overflow:auto; } + .bp3-omnibar .bp3-menu:empty{ + display:none; } + .bp3-dark .bp3-omnibar, .bp3-omnibar.bp3-dark{ + -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 4px 8px rgba(16, 22, 26, 0.4), 0 18px 46px 6px rgba(16, 22, 26, 0.4); + box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 4px 8px rgba(16, 22, 26, 0.4), 0 18px 46px 6px rgba(16, 22, 26, 0.4); + background-color:#30404d; } + +.bp3-omnibar-overlay .bp3-overlay-backdrop{ + background-color:rgba(16, 22, 26, 0.2); } + +.bp3-select-popover .bp3-popover-content{ + padding:5px; } + +.bp3-select-popover .bp3-input-group{ + margin-bottom:0; } + +.bp3-select-popover .bp3-menu{ + max-width:400px; + max-height:300px; + overflow:auto; + padding:0; } + .bp3-select-popover .bp3-menu:not(:first-child){ + padding-top:5px; } + +.bp3-multi-select{ + min-width:150px; } + +.bp3-multi-select-popover .bp3-menu{ + max-width:400px; + max-height:300px; + overflow:auto; } + +.bp3-select-popover .bp3-popover-content{ + padding:5px; } + +.bp3-select-popover .bp3-input-group{ + margin-bottom:0; } + +.bp3-select-popover .bp3-menu{ + max-width:400px; + max-height:300px; + overflow:auto; + padding:0; } + .bp3-select-popover .bp3-menu:not(:first-child){ + padding-top:5px; } +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +/* This file was auto-generated by ensureUiComponents() in @jupyterlab/buildutils */ + +/** + * (DEPRECATED) Support for consuming icons as CSS background images + */ + +/* Icons urls */ + +:root { + --jp-icon-add: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTE5IDEzaC02djZoLTJ2LTZINXYtMmg2VjVoMnY2aDZ2MnoiLz4KICA8L2c+Cjwvc3ZnPgo=); + --jp-icon-bug: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTIwIDhoLTIuODFjLS40NS0uNzgtMS4wNy0xLjQ1LTEuODItMS45NkwxNyA0LjQxIDE1LjU5IDNsLTIuMTcgMi4xN0MxMi45NiA1LjA2IDEyLjQ5IDUgMTIgNWMtLjQ5IDAtLjk2LjA2LTEuNDEuMTdMOC40MSAzIDcgNC40MWwxLjYyIDEuNjNDNy44OCA2LjU1IDcuMjYgNy4yMiA2LjgxIDhINHYyaDIuMDljLS4wNS4zMy0uMDkuNjYtLjA5IDF2MUg0djJoMnYxYzAgLjM0LjA0LjY3LjA5IDFINHYyaDIuODFjMS4wNCAxLjc5IDIuOTcgMyA1LjE5IDNzNC4xNS0xLjIxIDUuMTktM0gyMHYtMmgtMi4wOWMuMDUtLjMzLjA5LS42Ni4wOS0xdi0xaDJ2LTJoLTJ2LTFjMC0uMzQtLjA0LS42Ny0uMDktMUgyMFY4em0tNiA4aC00di0yaDR2MnptMC00aC00di0yaDR2MnoiLz4KICA8L2c+Cjwvc3ZnPgo=); + --jp-icon-build: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTE0LjkgMTcuNDVDMTYuMjUgMTcuNDUgMTcuMzUgMTYuMzUgMTcuMzUgMTVDMTcuMzUgMTMuNjUgMTYuMjUgMTIuNTUgMTQuOSAxMi41NUMxMy41NCAxMi41NSAxMi40NSAxMy42NSAxMi40NSAxNUMxMi40NSAxNi4zNSAxMy41NCAxNy40NSAxNC45IDE3LjQ1Wk0yMC4xIDE1LjY4TDIxLjU4IDE2Ljg0QzIxLjcxIDE2Ljk1IDIxLjc1IDE3LjEzIDIxLjY2IDE3LjI5TDIwLjI2IDE5LjcxQzIwLjE3IDE5Ljg2IDIwIDE5LjkyIDE5LjgzIDE5Ljg2TDE4LjA5IDE5LjE2QzE3LjczIDE5LjQ0IDE3LjMzIDE5LjY3IDE2LjkxIDE5Ljg1TDE2LjY0IDIxLjdDMTYuNjIgMjEuODcgMTYuNDcgMjIgMTYuMyAyMkgxMy41QzEzLjMyIDIyIDEzLjE4IDIxLjg3IDEzLjE1IDIxLjdMMTIuODkgMTkuODVDMTIuNDYgMTkuNjcgMTIuMDcgMTkuNDQgMTEuNzEgMTkuMTZMOS45NjAwMiAxOS44NkM5LjgxMDAyIDE5LjkyIDkuNjIwMDIgMTkuODYgOS41NDAwMiAxOS43MUw4LjE0MDAyIDE3LjI5QzguMDUwMDIgMTcuMTMgOC4wOTAwMiAxNi45NSA4LjIyMDAyIDE2Ljg0TDkuNzAwMDIgMTUuNjhMOS42NTAwMSAxNUw5LjcwMDAyIDE0LjMxTDguMjIwMDIgMTMuMTZDOC4wOTAwMiAxMy4wNSA4LjA1MDAyIDEyLjg2IDguMTQwMDIgMTIuNzFMOS41NDAwMiAxMC4yOUM5LjYyMDAyIDEwLjEzIDkuODEwMDIgMTAuMDcgOS45NjAwMiAxMC4xM0wxMS43MSAxMC44NEMxMi4wNyAxMC41NiAxMi40NiAxMC4zMiAxMi44OSAxMC4xNUwxMy4xNSA4LjI4OTk4QzEzLjE4IDguMTI5OTggMTMuMzIgNy45OTk5OCAxMy41IDcuOTk5OThIMTYuM0MxNi40NyA3Ljk5OTk4IDE2LjYyIDguMTI5OTggMTYuNjQgOC4yODk5OEwxNi45MSAxMC4xNUMxNy4zMyAxMC4zMiAxNy43MyAxMC41NiAxOC4wOSAxMC44NEwxOS44MyAxMC4xM0MyMCAxMC4wNyAyMC4xNyAxMC4xMyAyMC4yNiAxMC4yOUwyMS42NiAxMi43MUMyMS43NSAxMi44NiAyMS43MSAxMy4wNSAyMS41OCAxMy4xNkwyMC4xIDE0LjMxTDIwLjE1IDE1TDIwLjEgMTUuNjhaIi8+CiAgICA8cGF0aCBkPSJNNy4zMjk2NiA3LjQ0NDU0QzguMDgzMSA3LjAwOTU0IDguMzM5MzIgNi4wNTMzMiA3LjkwNDMyIDUuMjk5ODhDNy40NjkzMiA0LjU0NjQzIDYuNTA4MSA0LjI4MTU2IDUuNzU0NjYgNC43MTY1NkM1LjM5MTc2IDQuOTI2MDggNS4xMjY5NSA1LjI3MTE4IDUuMDE4NDkgNS42NzU5NEM0LjkxMDA0IDYuMDgwNzEgNC45NjY4MiA2LjUxMTk4IDUuMTc2MzQgNi44NzQ4OEM1LjYxMTM0IDcuNjI4MzIgNi41NzYyMiA3Ljg3OTU0IDcuMzI5NjYgNy40NDQ1NFpNOS42NTcxOCA0Ljc5NTkzTDEwLjg2NzIgNC45NTE3OUMxMC45NjI4IDQuOTc3NDEgMTEuMDQwMiA1LjA3MTMzIDExLjAzODIgNS4xODc5M0wxMS4wMzg4IDYuOTg4OTNDMTEuMDQ1NSA3LjEwMDU0IDEwLjk2MTYgNy4xOTUxOCAxMC44NTUgNy4yMTA1NEw5LjY2MDAxIDcuMzgwODNMOS4yMzkxNSA4LjEzMTg4TDkuNjY5NjEgOS4yNTc0NUM5LjcwNzI5IDkuMzYyNzEgOS42NjkzNCA5LjQ3Njk5IDkuNTc0MDggOS41MzE5OUw4LjAxNTIzIDEwLjQzMkM3LjkxMTMxIDEwLjQ5MiA3Ljc5MzM3IDEwLjQ2NzcgNy43MjEwNSAxMC4zODI0TDYuOTg3NDggOS40MzE4OEw2LjEwOTMxIDkuNDMwODNMNS4zNDcwNCAxMC4zOTA1QzUuMjg5MDkgMTAuNDcwMiA1LjE3MzgzIDEwLjQ5MDUgNS4wNzE4NyAxMC40MzM5TDMuNTEyNDUgOS41MzI5M0MzLjQxMDQ5IDkuNDc2MzMgMy4zNzY0NyA5LjM1NzQxIDMuNDEwNzUgOS4yNTY3OUwzLjg2MzQ3IDguMTQwOTNMMy42MTc0OSA3Ljc3NDg4TDMuNDIzNDcgNy4zNzg4M0wyLjIzMDc1IDcuMjEyOTdDMi4xMjY0NyA3LjE5MjM1IDIuMDQwNDkgNy4xMDM0MiAyLjA0MjQ1IDYuOTg2ODJMMi4wNDE4NyA1LjE4NTgyQzIuMDQzODMgNS4wNjkyMiAyLjExOTA5IDQuOTc5NTggMi4yMTcwNCA0Ljk2OTIyTDMuNDIwNjUgNC43OTM5M0wzLjg2NzQ5IDQuMDI3ODhMMy40MTEwNSAyLjkxNzMxQzMuMzczMzcgMi44MTIwNCAzLjQxMTMxIDIuNjk3NzYgMy41MTUyMyAyLjYzNzc2TDUuMDc0MDggMS43Mzc3NkM1LjE2OTM0IDEuNjgyNzYgNS4yODcyOSAxLjcwNzA0IDUuMzU5NjEgMS43OTIzMUw2LjExOTE1IDIuNzI3ODhMNi45ODAwMSAyLjczODkzTDcuNzI0OTYgMS43ODkyMkM3Ljc5MTU2IDEuNzA0NTggNy45MTU0OCAxLjY3OTIyIDguMDA4NzkgMS43NDA4Mkw5LjU2ODIxIDIuNjQxODJDOS42NzAxNyAyLjY5ODQyIDkuNzEyODUgMi44MTIzNCA5LjY4NzIzIDIuOTA3OTdMOS4yMTcxOCA0LjAzMzgzTDkuNDYzMTYgNC4zOTk4OEw5LjY1NzE4IDQuNzk1OTNaIi8+CiAgPC9nPgo8L3N2Zz4K); + --jp-icon-caret-down-empty-thin: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIwIDIwIj4KCTxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iPgoJCTxwb2x5Z29uIGNsYXNzPSJzdDEiIHBvaW50cz0iOS45LDEzLjYgMy42LDcuNCA0LjQsNi42IDkuOSwxMi4yIDE1LjQsNi43IDE2LjEsNy40ICIvPgoJPC9nPgo8L3N2Zz4K); + --jp-icon-caret-down-empty: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDE4IDE4Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIj4KICAgIDxwYXRoIGQ9Ik01LjIsNS45TDksOS43bDMuOC0zLjhsMS4yLDEuMmwtNC45LDVsLTQuOS01TDUuMiw1Ljl6Ii8+CiAgPC9nPgo8L3N2Zz4K); + --jp-icon-caret-down: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDE4IDE4Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIj4KICAgIDxwYXRoIGQ9Ik01LjIsNy41TDksMTEuMmwzLjgtMy44SDUuMnoiLz4KICA8L2c+Cjwvc3ZnPgo=); + --jp-icon-caret-left: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDE4IDE4Ij4KCTxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iPgoJCTxwYXRoIGQ9Ik0xMC44LDEyLjhMNy4xLDlsMy44LTMuOGwwLDcuNkgxMC44eiIvPgogIDwvZz4KPC9zdmc+Cg==); + --jp-icon-caret-right: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDE4IDE4Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIj4KICAgIDxwYXRoIGQ9Ik03LjIsNS4yTDEwLjksOWwtMy44LDMuOFY1LjJINy4yeiIvPgogIDwvZz4KPC9zdmc+Cg==); + --jp-icon-caret-up-empty-thin: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIwIDIwIj4KCTxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iPgoJCTxwb2x5Z29uIGNsYXNzPSJzdDEiIHBvaW50cz0iMTUuNCwxMy4zIDkuOSw3LjcgNC40LDEzLjIgMy42LDEyLjUgOS45LDYuMyAxNi4xLDEyLjYgIi8+Cgk8L2c+Cjwvc3ZnPgo=); + --jp-icon-caret-up: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDE4IDE4Ij4KCTxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iPgoJCTxwYXRoIGQ9Ik01LjIsMTAuNUw5LDYuOGwzLjgsMy44SDUuMnoiLz4KICA8L2c+Cjwvc3ZnPgo=); + --jp-icon-case-sensitive: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIwIDIwIj4KICA8ZyBjbGFzcz0ianAtaWNvbjIiIGZpbGw9IiM0MTQxNDEiPgogICAgPHJlY3QgeD0iMiIgeT0iMiIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ii8+CiAgPC9nPgogIDxnIGNsYXNzPSJqcC1pY29uLWFjY2VudDIiIGZpbGw9IiNGRkYiPgogICAgPHBhdGggZD0iTTcuNiw4aDAuOWwzLjUsOGgtMS4xTDEwLDE0SDZsLTAuOSwySDRMNy42LDh6IE04LDkuMUw2LjQsMTNoMy4yTDgsOS4xeiIvPgogICAgPHBhdGggZD0iTTE2LjYsOS44Yy0wLjIsMC4xLTAuNCwwLjEtMC43LDAuMWMtMC4yLDAtMC40LTAuMS0wLjYtMC4yYy0wLjEtMC4xLTAuMi0wLjQtMC4yLTAuNyBjLTAuMywwLjMtMC42LDAuNS0wLjksMC43Yy0wLjMsMC4xLTAuNywwLjItMS4xLDAuMmMtMC4zLDAtMC41LDAtMC43LTAuMWMtMC4yLTAuMS0wLjQtMC4yLTAuNi0wLjNjLTAuMi0wLjEtMC4zLTAuMy0wLjQtMC41IGMtMC4xLTAuMi0wLjEtMC40LTAuMS0wLjdjMC0wLjMsMC4xLTAuNiwwLjItMC44YzAuMS0wLjIsMC4zLTAuNCwwLjQtMC41QzEyLDcsMTIuMiw2LjksMTIuNSw2LjhjMC4yLTAuMSwwLjUtMC4xLDAuNy0wLjIgYzAuMy0wLjEsMC41LTAuMSwwLjctMC4xYzAuMiwwLDAuNC0wLjEsMC42LTAuMWMwLjIsMCwwLjMtMC4xLDAuNC0wLjJjMC4xLTAuMSwwLjItMC4yLDAuMi0wLjRjMC0xLTEuMS0xLTEuMy0xIGMtMC40LDAtMS40LDAtMS40LDEuMmgtMC45YzAtMC40LDAuMS0wLjcsMC4yLTFjMC4xLTAuMiwwLjMtMC40LDAuNS0wLjZjMC4yLTAuMiwwLjUtMC4zLDAuOC0wLjNDMTMuMyw0LDEzLjYsNCwxMy45LDQgYzAuMywwLDAuNSwwLDAuOCwwLjFjMC4zLDAsMC41LDAuMSwwLjcsMC4yYzAuMiwwLjEsMC40LDAuMywwLjUsMC41QzE2LDUsMTYsNS4yLDE2LDUuNnYyLjljMCwwLjIsMCwwLjQsMCwwLjUgYzAsMC4xLDAuMSwwLjIsMC4zLDAuMmMwLjEsMCwwLjIsMCwwLjMsMFY5Ljh6IE0xNS4yLDYuOWMtMS4yLDAuNi0zLjEsMC4yLTMuMSwxLjRjMCwxLjQsMy4xLDEsMy4xLTAuNVY2Ljl6Ii8+CiAgPC9nPgo8L3N2Zz4K); + --jp-icon-check: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTkgMTYuMTdMNC44MyAxMmwtMS40MiAxLjQxTDkgMTkgMjEgN2wtMS40MS0xLjQxeiIvPgogIDwvZz4KPC9zdmc+Cg==); + --jp-icon-circle-empty: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTEyIDJDNi40NyAyIDIgNi40NyAyIDEyczQuNDcgMTAgMTAgMTAgMTAtNC40NyAxMC0xMFMxNy41MyAyIDEyIDJ6bTAgMThjLTQuNDEgMC04LTMuNTktOC04czMuNTktOCA4LTggOCAzLjU5IDggOC0zLjU5IDgtOCA4eiIvPgogIDwvZz4KPC9zdmc+Cg==); + --jp-icon-circle: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPGNpcmNsZSBjeD0iOSIgY3k9IjkiIHI9IjgiLz4KICA8L2c+Cjwvc3ZnPgo=); + --jp-icon-clear: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8bWFzayBpZD0iZG9udXRIb2xlIj4KICAgIDxyZWN0IHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0id2hpdGUiIC8+CiAgICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSI4IiBmaWxsPSJibGFjayIvPgogIDwvbWFzaz4KCiAgPGcgY2xhc3M9ImpwLWljb24zIiBmaWxsPSIjNjE2MTYxIj4KICAgIDxyZWN0IGhlaWdodD0iMTgiIHdpZHRoPSIyIiB4PSIxMSIgeT0iMyIgdHJhbnNmb3JtPSJyb3RhdGUoMzE1LCAxMiwgMTIpIi8+CiAgICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgbWFzaz0idXJsKCNkb251dEhvbGUpIi8+CiAgPC9nPgo8L3N2Zz4K); + --jp-icon-close: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbi1ub25lIGpwLWljb24tc2VsZWN0YWJsZS1pbnZlcnNlIGpwLWljb24zLWhvdmVyIiBmaWxsPSJub25lIj4KICAgIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjExIi8+CiAgPC9nPgoKICA8ZyBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIGpwLWljb24tYWNjZW50Mi1ob3ZlciIgZmlsbD0iIzYxNjE2MSI+CiAgICA8cGF0aCBkPSJNMTkgNi40MUwxNy41OSA1IDEyIDEwLjU5IDYuNDEgNSA1IDYuNDEgMTAuNTkgMTIgNSAxNy41OSA2LjQxIDE5IDEyIDEzLjQxIDE3LjU5IDE5IDE5IDE3LjU5IDEzLjQxIDEyeiIvPgogIDwvZz4KCiAgPGcgY2xhc3M9ImpwLWljb24tbm9uZSBqcC1pY29uLWJ1c3kiIGZpbGw9Im5vbmUiPgogICAgPGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iNyIvPgogIDwvZz4KPC9zdmc+Cg==); + --jp-icon-console: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIwMCAyMDAiPgogIDxnIGNsYXNzPSJqcC1pY29uLWJyYW5kMSBqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiMwMjg4RDEiPgogICAgPHBhdGggZD0iTTIwIDE5LjhoMTYwdjE1OS45SDIweiIvPgogIDwvZz4KICA8ZyBjbGFzcz0ianAtaWNvbi1zZWxlY3RhYmxlLWludmVyc2UiIGZpbGw9IiNmZmYiPgogICAgPHBhdGggZD0iTTEwNSAxMjcuM2g0MHYxMi44aC00MHpNNTEuMSA3N0w3NCA5OS45bC0yMy4zIDIzLjMgMTAuNSAxMC41IDIzLjMtMjMuM0w5NSA5OS45IDg0LjUgODkuNCA2MS42IDY2LjV6Ii8+CiAgPC9nPgo8L3N2Zz4K); + --jp-icon-copy: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTExLjksMUgzLjJDMi40LDEsMS43LDEuNywxLjcsMi41djEwLjJoMS41VjIuNWg4LjdWMXogTTE0LjEsMy45aC04Yy0wLjgsMC0xLjUsMC43LTEuNSwxLjV2MTAuMmMwLDAuOCwwLjcsMS41LDEuNSwxLjVoOCBjMC44LDAsMS41LTAuNywxLjUtMS41VjUuNEMxNS41LDQuNiwxNC45LDMuOSwxNC4xLDMuOXogTTE0LjEsMTUuNWgtOFY1LjRoOFYxNS41eiIvPgogIDwvZz4KPC9zdmc+Cg==); + --jp-icon-cut: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTkuNjQgNy42NGMuMjMtLjUuMzYtMS4wNS4zNi0xLjY0IDAtMi4yMS0xLjc5LTQtNC00UzIgMy43OSAyIDZzMS43OSA0IDQgNGMuNTkgMCAxLjE0LS4xMyAxLjY0LS4zNkwxMCAxMmwtMi4zNiAyLjM2QzcuMTQgMTQuMTMgNi41OSAxNCA2IDE0Yy0yLjIxIDAtNCAxLjc5LTQgNHMxLjc5IDQgNCA0IDQtMS43OSA0LTRjMC0uNTktLjEzLTEuMTQtLjM2LTEuNjRMMTIgMTRsNyA3aDN2LTFMOS42NCA3LjY0ek02IDhjLTEuMSAwLTItLjg5LTItMnMuOS0yIDItMiAyIC44OSAyIDItLjkgMi0yIDJ6bTAgMTJjLTEuMSAwLTItLjg5LTItMnMuOS0yIDItMiAyIC44OSAyIDItLjkgMi0yIDJ6bTYtNy41Yy0uMjggMC0uNS0uMjItLjUtLjVzLjIyLS41LjUtLjUuNS4yMi41LjUtLjIyLjUtLjUuNXpNMTkgM2wtNiA2IDIgMiA3LTdWM3oiLz4KICA8L2c+Cjwvc3ZnPgo=); + --jp-icon-download: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTE5IDloLTRWM0g5djZINWw3IDcgNy03ek01IDE4djJoMTR2LTJINXoiLz4KICA8L2c+Cjwvc3ZnPgo=); + --jp-icon-edit: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTMgMTcuMjVWMjFoMy43NUwxNy44MSA5Ljk0bC0zLjc1LTMuNzVMMyAxNy4yNXpNMjAuNzEgNy4wNGMuMzktLjM5LjM5LTEuMDIgMC0xLjQxbC0yLjM0LTIuMzRjLS4zOS0uMzktMS4wMi0uMzktMS40MSAwbC0xLjgzIDEuODMgMy43NSAzLjc1IDEuODMtMS44M3oiLz4KICA8L2c+Cjwvc3ZnPgo=); + --jp-icon-ellipses: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPGNpcmNsZSBjeD0iNSIgY3k9IjEyIiByPSIyIi8+CiAgICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIyIi8+CiAgICA8Y2lyY2xlIGN4PSIxOSIgY3k9IjEyIiByPSIyIi8+CiAgPC9nPgo8L3N2Zz4K); + --jp-icon-extension: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTIwLjUgMTFIMTlWN2MwLTEuMS0uOS0yLTItMmgtNFYzLjVDMTMgMi4xMiAxMS44OCAxIDEwLjUgMVM4IDIuMTIgOCAzLjVWNUg0Yy0xLjEgMC0xLjk5LjktMS45OSAydjMuOEgzLjVjMS40OSAwIDIuNyAxLjIxIDIuNyAyLjdzLTEuMjEgMi43LTIuNyAyLjdIMlYyMGMwIDEuMS45IDIgMiAyaDMuOHYtMS41YzAtMS40OSAxLjIxLTIuNyAyLjctMi43IDEuNDkgMCAyLjcgMS4yMSAyLjcgMi43VjIySDE3YzEuMSAwIDItLjkgMi0ydi00aDEuNWMxLjM4IDAgMi41LTEuMTIgMi41LTIuNVMyMS44OCAxMSAyMC41IDExeiIvPgogIDwvZz4KPC9zdmc+Cg==); + --jp-icon-fast-forward: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGggZD0iTTQgMThsOC41LTZMNCA2djEyem05LTEydjEybDguNS02TDEzIDZ6Ii8+CiAgICA8L2c+Cjwvc3ZnPgo=); + --jp-icon-file-upload: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTkgMTZoNnYtNmg0bC03LTctNyA3aDR6bS00IDJoMTR2Mkg1eiIvPgogIDwvZz4KPC9zdmc+Cg==); + --jp-icon-file: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8cGF0aCBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIiBkPSJNMTkuMyA4LjJsLTUuNS01LjVjLS4zLS4zLS43LS41LTEuMi0uNUgzLjljLS44LjEtMS42LjktMS42IDEuOHYxNC4xYzAgLjkuNyAxLjYgMS42IDEuNmgxNC4yYy45IDAgMS42LS43IDEuNi0xLjZWOS40Yy4xLS41LS4xLS45LS40LTEuMnptLTUuOC0zLjNsMy40IDMuNmgtMy40VjQuOXptMy45IDEyLjdINC43Yy0uMSAwLS4yIDAtLjItLjJWNC43YzAtLjIuMS0uMy4yLS4zaDcuMnY0LjRzMCAuOC4zIDEuMWMuMy4zIDEuMS4zIDEuMS4zaDQuM3Y3LjJzLS4xLjItLjIuMnoiLz4KPC9zdmc+Cg==); + --jp-icon-filter-list: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTEwIDE4aDR2LTJoLTR2MnpNMyA2djJoMThWNkgzem0zIDdoMTJ2LTJINnYyeiIvPgogIDwvZz4KPC9zdmc+Cg==); + --jp-icon-folder: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIiBkPSJNMTAgNEg0Yy0xLjEgMC0xLjk5LjktMS45OSAyTDIgMThjMCAxLjEuOSAyIDIgMmgxNmMxLjEgMCAyLS45IDItMlY4YzAtMS4xLS45LTItMi0yaC04bC0yLTJ6Ii8+Cjwvc3ZnPgo=); + --jp-icon-html5: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDUxMiA1MTIiPgogIDxwYXRoIGNsYXNzPSJqcC1pY29uMCBqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiMwMDAiIGQ9Ik0xMDguNCAwaDIzdjIyLjhoMjEuMlYwaDIzdjY5aC0yM1Y0NmgtMjF2MjNoLTIzLjJNMjA2IDIzaC0yMC4zVjBoNjMuN3YyM0gyMjl2NDZoLTIzbTUzLjUtNjloMjQuMWwxNC44IDI0LjNMMzEzLjIgMGgyNC4xdjY5aC0yM1YzNC44bC0xNi4xIDI0LjgtMTYuMS0yNC44VjY5aC0yMi42bTg5LjItNjloMjN2NDYuMmgzMi42VjY5aC01NS42Ii8+CiAgPHBhdGggY2xhc3M9ImpwLWljb24tc2VsZWN0YWJsZSIgZmlsbD0iI2U0NGQyNiIgZD0iTTEwNy42IDQ3MWwtMzMtMzcwLjRoMzYyLjhsLTMzIDM3MC4yTDI1NS43IDUxMiIvPgogIDxwYXRoIGNsYXNzPSJqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiNmMTY1MjkiIGQ9Ik0yNTYgNDgwLjVWMTMxaDE0OC4zTDM3NiA0NDciLz4KICA8cGF0aCBjbGFzcz0ianAtaWNvbi1zZWxlY3RhYmxlLWludmVyc2UiIGZpbGw9IiNlYmViZWIiIGQ9Ik0xNDIgMTc2LjNoMTE0djQ1LjRoLTY0LjJsNC4yIDQ2LjVoNjB2NDUuM0gxNTQuNG0yIDIyLjhIMjAybDMuMiAzNi4zIDUwLjggMTMuNnY0Ny40bC05My4yLTI2Ii8+CiAgPHBhdGggY2xhc3M9ImpwLWljb24tc2VsZWN0YWJsZS1pbnZlcnNlIiBmaWxsPSIjZmZmIiBkPSJNMzY5LjYgMTc2LjNIMjU1Ljh2NDUuNGgxMDkuNm0tNC4xIDQ2LjVIMjU1Ljh2NDUuNGg1NmwtNS4zIDU5LTUwLjcgMTMuNnY0Ny4ybDkzLTI1LjgiLz4KPC9zdmc+Cg==); + --jp-icon-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8cGF0aCBjbGFzcz0ianAtaWNvbi1icmFuZDQganAtaWNvbi1zZWxlY3RhYmxlLWludmVyc2UiIGZpbGw9IiNGRkYiIGQ9Ik0yLjIgMi4yaDE3LjV2MTcuNUgyLjJ6Ii8+CiAgPHBhdGggY2xhc3M9ImpwLWljb24tYnJhbmQwIGpwLWljb24tc2VsZWN0YWJsZSIgZmlsbD0iIzNGNTFCNSIgZD0iTTIuMiAyLjJ2MTcuNWgxNy41bC4xLTE3LjVIMi4yem0xMi4xIDIuMmMxLjIgMCAyLjIgMSAyLjIgMi4ycy0xIDIuMi0yLjIgMi4yLTIuMi0xLTIuMi0yLjIgMS0yLjIgMi4yLTIuMnpNNC40IDE3LjZsMy4zLTguOCAzLjMgNi42IDIuMi0zLjIgNC40IDUuNEg0LjR6Ii8+Cjwvc3ZnPgo=); + --jp-icon-inspector: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIiBkPSJNMjAgNEg0Yy0xLjEgMC0xLjk5LjktMS45OSAyTDIgMThjMCAxLjEuOSAyIDIgMmgxNmMxLjEgMCAyLS45IDItMlY2YzAtMS4xLS45LTItMi0yem0tNSAxNEg0di00aDExdjR6bTAtNUg0VjloMTF2NHptNSA1aC00VjloNHY5eiIvPgo8L3N2Zz4K); + --jp-icon-json: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8ZyBjbGFzcz0ianAtaWNvbi13YXJuMSBqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiNGOUE4MjUiPgogICAgPHBhdGggZD0iTTIwLjIgMTEuOGMtMS42IDAtMS43LjUtMS43IDEgMCAuNC4xLjkuMSAxLjMuMS41LjEuOS4xIDEuMyAwIDEuNy0xLjQgMi4zLTMuNSAyLjNoLS45di0xLjloLjVjMS4xIDAgMS40IDAgMS40LS44IDAtLjMgMC0uNi0uMS0xIDAtLjQtLjEtLjgtLjEtMS4yIDAtMS4zIDAtMS44IDEuMy0yLTEuMy0uMi0xLjMtLjctMS4zLTIgMC0uNC4xLS44LjEtMS4yLjEtLjQuMS0uNy4xLTEgMC0uOC0uNC0uNy0xLjQtLjhoLS41VjQuMWguOWMyLjIgMCAzLjUuNyAzLjUgMi4zIDAgLjQtLjEuOS0uMSAxLjMtLjEuNS0uMS45LS4xIDEuMyAwIC41LjIgMSAxLjcgMXYxLjh6TTEuOCAxMC4xYzEuNiAwIDEuNy0uNSAxLjctMSAwLS40LS4xLS45LS4xLTEuMy0uMS0uNS0uMS0uOS0uMS0xLjMgMC0xLjYgMS40LTIuMyAzLjUtMi4zaC45djEuOWgtLjVjLTEgMC0xLjQgMC0xLjQuOCAwIC4zIDAgLjYuMSAxIDAgLjIuMS42LjEgMSAwIDEuMyAwIDEuOC0xLjMgMkM2IDExLjIgNiAxMS43IDYgMTNjMCAuNC0uMS44LS4xIDEuMi0uMS4zLS4xLjctLjEgMSAwIC44LjMuOCAxLjQuOGguNXYxLjloLS45Yy0yLjEgMC0zLjUtLjYtMy41LTIuMyAwLS40LjEtLjkuMS0xLjMuMS0uNS4xLS45LjEtMS4zIDAtLjUtLjItMS0xLjctMXYtMS45eiIvPgogICAgPGNpcmNsZSBjeD0iMTEiIGN5PSIxMy44IiByPSIyLjEiLz4KICAgIDxjaXJjbGUgY3g9IjExIiBjeT0iOC4yIiByPSIyLjEiLz4KICA8L2c+Cjwvc3ZnPgo=); + --jp-icon-jupyter-favicon: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTUyIiBoZWlnaHQ9IjE2NSIgdmlld0JveD0iMCAwIDE1MiAxNjUiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbi13YXJuMCIgZmlsbD0iI0YzNzcyNiI+CiAgICA8cGF0aCB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLjA3ODk0NywgMTEwLjU4MjkyNykiIGQ9Ik03NS45NDIyODQyLDI5LjU4MDQ1NjEgQzQzLjMwMjM5NDcsMjkuNTgwNDU2MSAxNC43OTY3ODMyLDE3LjY1MzQ2MzQgMCwwIEM1LjUxMDgzMjExLDE1Ljg0MDY4MjkgMTUuNzgxNTM4OSwyOS41NjY3NzMyIDI5LjM5MDQ5NDcsMzkuMjc4NDE3MSBDNDIuOTk5Nyw0OC45ODk4NTM3IDU5LjI3MzcsNTQuMjA2NzgwNSA3NS45NjA1Nzg5LDU0LjIwNjc4MDUgQzkyLjY0NzQ1NzksNTQuMjA2NzgwNSAxMDguOTIxNDU4LDQ4Ljk4OTg1MzcgMTIyLjUzMDY2MywzOS4yNzg0MTcxIEMxMzYuMTM5NDUzLDI5LjU2Njc3MzIgMTQ2LjQxMDI4NCwxNS44NDA2ODI5IDE1MS45MjExNTgsMCBDMTM3LjA4Nzg2OCwxNy42NTM0NjM0IDEwOC41ODI1ODksMjkuNTgwNDU2MSA3NS45NDIyODQyLDI5LjU4MDQ1NjEgTDc1Ljk0MjI4NDIsMjkuNTgwNDU2MSBaIiAvPgogICAgPHBhdGggdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wMzczNjgsIDAuNzA0ODc4KSIgZD0iTTc1Ljk3ODQ1NzksMjQuNjI2NDA3MyBDMTA4LjYxODc2MywyNC42MjY0MDczIDEzNy4xMjQ0NTgsMzYuNTUzNDQxNSAxNTEuOTIxMTU4LDU0LjIwNjc4MDUgQzE0Ni40MTAyODQsMzguMzY2MjIyIDEzNi4xMzk0NTMsMjQuNjQwMTMxNyAxMjIuNTMwNjYzLDE0LjkyODQ4NzggQzEwOC45MjE0NTgsNS4yMTY4NDM5IDkyLjY0NzQ1NzksMCA3NS45NjA1Nzg5LDAgQzU5LjI3MzcsMCA0Mi45OTk3LDUuMjE2ODQzOSAyOS4zOTA0OTQ3LDE0LjkyODQ4NzggQzE1Ljc4MTUzODksMjQuNjQwMTMxNyA1LjUxMDgzMjExLDM4LjM2NjIyMiAwLDU0LjIwNjc4MDUgQzE0LjgzMzA4MTYsMzYuNTg5OTI5MyA0My4zMzg1Njg0LDI0LjYyNjQwNzMgNzUuOTc4NDU3OSwyNC42MjY0MDczIEw3NS45Nzg0NTc5LDI0LjYyNjQwNzMgWiIgLz4KICA8L2c+Cjwvc3ZnPgo=); + --jp-icon-jupyter: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzkiIGhlaWdodD0iNTEiIHZpZXdCb3g9IjAgMCAzOSA1MSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTYzOCAtMjI4MSkiPgogICAgPGcgY2xhc3M9ImpwLWljb24td2FybjAiIGZpbGw9IiNGMzc3MjYiPgogICAgICA8cGF0aCB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNjM5Ljc0IDIzMTEuOTgpIiBkPSJNIDE4LjI2NDYgNy4xMzQxMUMgMTAuNDE0NSA3LjEzNDExIDMuNTU4NzIgNC4yNTc2IDAgMEMgMS4zMjUzOSAzLjgyMDQgMy43OTU1NiA3LjEzMDgxIDcuMDY4NiA5LjQ3MzAzQyAxMC4zNDE3IDExLjgxNTIgMTQuMjU1NyAxMy4wNzM0IDE4LjI2OSAxMy4wNzM0QyAyMi4yODIzIDEzLjA3MzQgMjYuMTk2MyAxMS44MTUyIDI5LjQ2OTQgOS40NzMwM0MgMzIuNzQyNCA3LjEzMDgxIDM1LjIxMjYgMy44MjA0IDM2LjUzOCAwQyAzMi45NzA1IDQuMjU3NiAyNi4xMTQ4IDcuMTM0MTEgMTguMjY0NiA3LjEzNDExWiIvPgogICAgICA8cGF0aCB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNjM5LjczIDIyODUuNDgpIiBkPSJNIDE4LjI3MzMgNS45MzkzMUMgMjYuMTIzNSA1LjkzOTMxIDMyLjk3OTMgOC44MTU4MyAzNi41MzggMTMuMDczNEMgMzUuMjEyNiA5LjI1MzAzIDMyLjc0MjQgNS45NDI2MiAyOS40Njk0IDMuNjAwNEMgMjYuMTk2MyAxLjI1ODE4IDIyLjI4MjMgMCAxOC4yNjkgMEMgMTQuMjU1NyAwIDEwLjM0MTcgMS4yNTgxOCA3LjA2ODYgMy42MDA0QyAzLjc5NTU2IDUuOTQyNjIgMS4zMjUzOSA5LjI1MzAzIDAgMTMuMDczNEMgMy41Njc0NSA4LjgyNDYzIDEwLjQyMzIgNS45MzkzMSAxOC4yNzMzIDUuOTM5MzFaIi8+CiAgICA8L2c+CiAgICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgICA8cGF0aCB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNjY5LjMgMjI4MS4zMSkiIGQ9Ik0gNS44OTM1MyAyLjg0NEMgNS45MTg4OSAzLjQzMTY1IDUuNzcwODUgNC4wMTM2NyA1LjQ2ODE1IDQuNTE2NDVDIDUuMTY1NDUgNS4wMTkyMiA0LjcyMTY4IDUuNDIwMTUgNC4xOTI5OSA1LjY2ODUxQyAzLjY2NDMgNS45MTY4OCAzLjA3NDQ0IDYuMDAxNTEgMi40OTgwNSA1LjkxMTcxQyAxLjkyMTY2IDUuODIxOSAxLjM4NDYzIDUuNTYxNyAwLjk1NDg5OCA1LjE2NDAxQyAwLjUyNTE3IDQuNzY2MzMgMC4yMjIwNTYgNC4yNDkwMyAwLjA4MzkwMzcgMy42Nzc1N0MgLTAuMDU0MjQ4MyAzLjEwNjExIC0wLjAyMTIzIDIuNTA2MTcgMC4xNzg3ODEgMS45NTM2NEMgMC4zNzg3OTMgMS40MDExIDAuNzM2ODA5IDAuOTIwODE3IDEuMjA3NTQgMC41NzM1MzhDIDEuNjc4MjYgMC4yMjYyNTkgMi4yNDA1NSAwLjAyNzU5MTkgMi44MjMyNiAwLjAwMjY3MjI5QyAzLjYwMzg5IC0wLjAzMDcxMTUgNC4zNjU3MyAwLjI0OTc4OSA0Ljk0MTQyIDAuNzgyNTUxQyA1LjUxNzExIDEuMzE1MzEgNS44NTk1NiAyLjA1Njc2IDUuODkzNTMgMi44NDRaIi8+CiAgICAgIDxwYXRoIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE2MzkuOCAyMzIzLjgxKSIgZD0iTSA3LjQyNzg5IDMuNTgzMzhDIDcuNDYwMDggNC4zMjQzIDcuMjczNTUgNS4wNTgxOSA2Ljg5MTkzIDUuNjkyMTNDIDYuNTEwMzEgNi4zMjYwNyA1Ljk1MDc1IDYuODMxNTYgNS4yODQxMSA3LjE0NDZDIDQuNjE3NDcgNy40NTc2MyAzLjg3MzcxIDcuNTY0MTQgMy4xNDcwMiA3LjQ1MDYzQyAyLjQyMDMyIDcuMzM3MTIgMS43NDMzNiA3LjAwODcgMS4yMDE4NCA2LjUwNjk1QyAwLjY2MDMyOCA2LjAwNTIgMC4yNzg2MSA1LjM1MjY4IDAuMTA1MDE3IDQuNjMyMDJDIC0wLjA2ODU3NTcgMy45MTEzNSAtMC4wMjYyMzYxIDMuMTU0OTQgMC4yMjY2NzUgMi40NTg1NkMgMC40Nzk1ODcgMS43NjIxNyAwLjkzMTY5NyAxLjE1NzEzIDEuNTI1NzYgMC43MjAwMzNDIDIuMTE5ODMgMC4yODI5MzUgMi44MjkxNCAwLjAzMzQzOTUgMy41NjM4OSAwLjAwMzEzMzQ0QyA0LjU0NjY3IC0wLjAzNzQwMzMgNS41MDUyOSAwLjMxNjcwNiA2LjIyOTYxIDAuOTg3ODM1QyA2Ljk1MzkzIDEuNjU4OTYgNy4zODQ4NCAyLjU5MjM1IDcuNDI3ODkgMy41ODMzOEwgNy40Mjc4OSAzLjU4MzM4WiIvPgogICAgICA8cGF0aCB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNjM4LjM2IDIyODYuMDYpIiBkPSJNIDIuMjc0NzEgNC4zOTYyOUMgMS44NDM2MyA0LjQxNTA4IDEuNDE2NzEgNC4zMDQ0NSAxLjA0Nzk5IDQuMDc4NDNDIDAuNjc5MjY4IDMuODUyNCAwLjM4NTMyOCAzLjUyMTE0IDAuMjAzMzcxIDMuMTI2NTZDIDAuMDIxNDEzNiAyLjczMTk4IC0wLjA0MDM3OTggMi4yOTE4MyAwLjAyNTgxMTYgMS44NjE4MUMgMC4wOTIwMDMxIDEuNDMxOCAwLjI4MzIwNCAxLjAzMTI2IDAuNTc1MjEzIDAuNzEwODgzQyAwLjg2NzIyMiAwLjM5MDUxIDEuMjQ2OTEgMC4xNjQ3MDggMS42NjYyMiAwLjA2MjA1OTJDIDIuMDg1NTMgLTAuMDQwNTg5NyAyLjUyNTYxIC0wLjAxNTQ3MTQgMi45MzA3NiAwLjEzNDIzNUMgMy4zMzU5MSAwLjI4Mzk0MSAzLjY4NzkyIDAuNTUxNTA1IDMuOTQyMjIgMC45MDMwNkMgNC4xOTY1MiAxLjI1NDYyIDQuMzQxNjkgMS42NzQzNiA0LjM1OTM1IDIuMTA5MTZDIDQuMzgyOTkgMi42OTEwNyA0LjE3Njc4IDMuMjU4NjkgMy43ODU5NyAzLjY4NzQ2QyAzLjM5NTE2IDQuMTE2MjQgMi44NTE2NiA0LjM3MTE2IDIuMjc0NzEgNC4zOTYyOUwgMi4yNzQ3MSA0LjM5NjI5WiIvPgogICAgPC9nPgogIDwvZz4+Cjwvc3ZnPgo=); + --jp-icon-jupyterlab-wordmark: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMDAiIHZpZXdCb3g9IjAgMCAxODYwLjggNDc1Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjIiIGZpbGw9IiM0RTRFNEUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQ4MC4xMzY0MDEsIDY0LjI3MTQ5MykiPgogICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wMDAwMDAsIDU4Ljg3NTU2NikiPgogICAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLjA4NzYwMywgMC4xNDAyOTQpIj4KICAgICAgICA8cGF0aCBkPSJNLTQyNi45LDE2OS44YzAsNDguNy0zLjcsNjQuNy0xMy42LDc2LjRjLTEwLjgsMTAtMjUsMTUuNS0zOS43LDE1LjVsMy43LDI5IGMyMi44LDAuMyw0NC44LTcuOSw2MS45LTIzLjFjMTcuOC0xOC41LDI0LTQ0LjEsMjQtODMuM1YwSC00Mjd2MTcwLjFMLTQyNi45LDE2OS44TC00MjYuOSwxNjkuOHoiLz4KICAgICAgPC9nPgogICAgPC9nPgogICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTU1LjA0NTI5NiwgNTYuODM3MTA0KSI+CiAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEuNTYyNDUzLCAxLjc5OTg0MikiPgogICAgICAgIDxwYXRoIGQ9Ik0tMzEyLDE0OGMwLDIxLDAsMzkuNSwxLjcsNTUuNGgtMzEuOGwtMi4xLTMzLjNoLTAuOGMtNi43LDExLjYtMTYuNCwyMS4zLTI4LDI3LjkgYy0xMS42LDYuNi0yNC44LDEwLTM4LjIsOS44Yy0zMS40LDAtNjktMTcuNy02OS04OVYwaDM2LjR2MTEyLjdjMCwzOC43LDExLjYsNjQuNyw0NC42LDY0LjdjMTAuMy0wLjIsMjAuNC0zLjUsMjguOS05LjQgYzguNS01LjksMTUuMS0xNC4zLDE4LjktMjMuOWMyLjItNi4xLDMuMy0xMi41LDMuMy0xOC45VjAuMmgzNi40VjE0OEgtMzEyTC0zMTIsMTQ4eiIvPgogICAgICA8L2c+CiAgICA8L2c+CiAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzOTAuMDEzMzIyLCA1My40Nzk2MzgpIj4KICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMS43MDY0NTgsIDAuMjMxNDI1KSI+CiAgICAgICAgPHBhdGggZD0iTS00NzguNiw3MS40YzAtMjYtMC44LTQ3LTEuNy02Ni43aDMyLjdsMS43LDM0LjhoMC44YzcuMS0xMi41LDE3LjUtMjIuOCwzMC4xLTI5LjcgYzEyLjUtNywyNi43LTEwLjMsNDEtOS44YzQ4LjMsMCw4NC43LDQxLjcsODQuNywxMDMuM2MwLDczLjEtNDMuNywxMDkuMi05MSwxMDkuMmMtMTIuMSwwLjUtMjQuMi0yLjItMzUtNy44IGMtMTAuOC01LjYtMTkuOS0xMy45LTI2LjYtMjQuMmgtMC44VjI5MWgtMzZ2LTIyMEwtNDc4LjYsNzEuNEwtNDc4LjYsNzEuNHogTS00NDIuNiwxMjUuNmMwLjEsNS4xLDAuNiwxMC4xLDEuNywxNS4xIGMzLDEyLjMsOS45LDIzLjMsMTkuOCwzMS4xYzkuOSw3LjgsMjIuMSwxMi4xLDM0LjcsMTIuMWMzOC41LDAsNjAuNy0zMS45LDYwLjctNzguNWMwLTQwLjctMjEuMS03NS42LTU5LjUtNzUuNiBjLTEyLjksMC40LTI1LjMsNS4xLTM1LjMsMTMuNGMtOS45LDguMy0xNi45LDE5LjctMTkuNiwzMi40Yy0xLjUsNC45LTIuMywxMC0yLjUsMTUuMVYxMjUuNkwtNDQyLjYsMTI1LjZMLTQ0Mi42LDEyNS42eiIvPgogICAgICA8L2c+CiAgICA8L2c+CiAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg2MDYuNzQwNzI2LCA1Ni44MzcxMDQpIj4KICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC43NTEyMjYsIDEuOTg5Mjk5KSI+CiAgICAgICAgPHBhdGggZD0iTS00NDAuOCwwbDQzLjcsMTIwLjFjNC41LDEzLjQsOS41LDI5LjQsMTIuOCw0MS43aDAuOGMzLjctMTIuMiw3LjktMjcuNywxMi44LTQyLjQgbDM5LjctMTE5LjJoMzguNUwtMzQ2LjksMTQ1Yy0yNiw2OS43LTQzLjcsMTA1LjQtNjguNiwxMjcuMmMtMTIuNSwxMS43LTI3LjksMjAtNDQuNiwyMy45bC05LjEtMzEuMSBjMTEuNy0zLjksMjIuNS0xMC4xLDMxLjgtMTguMWMxMy4yLTExLjEsMjMuNy0yNS4yLDMwLjYtNDEuMmMxLjUtMi44LDIuNS01LjcsMi45LTguOGMtMC4zLTMuMy0xLjItNi42LTIuNS05LjdMLTQ4MC4yLDAuMSBoMzkuN0wtNDQwLjgsMEwtNDQwLjgsMHoiLz4KICAgICAgPC9nPgogICAgPC9nPgogICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoODIyLjc0ODEwNCwgMC4wMDAwMDApIj4KICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMS40NjQwNTAsIDAuMzc4OTE0KSI+CiAgICAgICAgPHBhdGggZD0iTS00MTMuNywwdjU4LjNoNTJ2MjguMmgtNTJWMTk2YzAsMjUsNywzOS41LDI3LjMsMzkuNWM3LjEsMC4xLDE0LjItMC43LDIxLjEtMi41IGwxLjcsMjcuN2MtMTAuMywzLjctMjEuMyw1LjQtMzIuMiw1Yy03LjMsMC40LTE0LjYtMC43LTIxLjMtMy40Yy02LjgtMi43LTEyLjktNi44LTE3LjktMTIuMWMtMTAuMy0xMC45LTE0LjEtMjktMTQuMS01Mi45IFY4Ni41aC0zMVY1OC4zaDMxVjkuNkwtNDEzLjcsMEwtNDEzLjcsMHoiLz4KICAgICAgPC9nPgogICAgPC9nPgogICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoOTc0LjQzMzI4NiwgNTMuNDc5NjM4KSI+CiAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAuOTkwMDM0LCAwLjYxMDMzOSkiPgogICAgICAgIDxwYXRoIGQ9Ik0tNDQ1LjgsMTEzYzAuOCw1MCwzMi4yLDcwLjYsNjguNiw3MC42YzE5LDAuNiwzNy45LTMsNTUuMy0xMC41bDYuMiwyNi40IGMtMjAuOSw4LjktNDMuNSwxMy4xLTY2LjIsMTIuNmMtNjEuNSwwLTk4LjMtNDEuMi05OC4zLTEwMi41Qy00ODAuMiw0OC4yLTQ0NC43LDAtMzg2LjUsMGM2NS4yLDAsODIuNyw1OC4zLDgyLjcsOTUuNyBjLTAuMSw1LjgtMC41LDExLjUtMS4yLDE3LjJoLTE0MC42SC00NDUuOEwtNDQ1LjgsMTEzeiBNLTMzOS4yLDg2LjZjMC40LTIzLjUtOS41LTYwLjEtNTAuNC02MC4xIGMtMzYuOCwwLTUyLjgsMzQuNC01NS43LDYwLjFILTMzOS4yTC0zMzkuMiw4Ni42TC0zMzkuMiw4Ni42eiIvPgogICAgICA8L2c+CiAgICA8L2c+CiAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMjAxLjk2MTA1OCwgNTMuNDc5NjM4KSI+CiAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEuMTc5NjQwLCAwLjcwNTA2OCkiPgogICAgICAgIDxwYXRoIGQ9Ik0tNDc4LjYsNjhjMC0yMy45LTAuNC00NC41LTEuNy02My40aDMxLjhsMS4yLDM5LjloMS43YzkuMS0yNy4zLDMxLTQ0LjUsNTUuMy00NC41IGMzLjUtMC4xLDcsMC40LDEwLjMsMS4ydjM0LjhjLTQuMS0wLjktOC4yLTEuMy0xMi40LTEuMmMtMjUuNiwwLTQzLjcsMTkuNy00OC43LDQ3LjRjLTEsNS43LTEuNiwxMS41LTEuNywxNy4ydjEwOC4zaC0zNlY2OCBMLTQ3OC42LDY4eiIvPgogICAgICA8L2c+CiAgICA8L2c+CiAgPC9nPgoKICA8ZyBjbGFzcz0ianAtaWNvbi13YXJuMCIgZmlsbD0iI0YzNzcyNiI+CiAgICA8cGF0aCBkPSJNMTM1Mi4zLDMyNi4yaDM3VjI4aC0zN1YzMjYuMnogTTE2MDQuOCwzMjYuMmMtMi41LTEzLjktMy40LTMxLjEtMy40LTQ4Ljd2LTc2IGMwLTQwLjctMTUuMS04My4xLTc3LjMtODMuMWMtMjUuNiwwLTUwLDcuMS02Ni44LDE4LjFsOC40LDI0LjRjMTQuMy05LjIsMzQtMTUuMSw1My0xNS4xYzQxLjYsMCw0Ni4yLDMwLjIsNDYuMiw0N3Y0LjIgYy03OC42LTAuNC0xMjIuMywyNi41LTEyMi4zLDc1LjZjMCwyOS40LDIxLDU4LjQsNjIuMiw1OC40YzI5LDAsNTAuOS0xNC4zLDYyLjItMzAuMmgxLjNsMi45LDI1LjZIMTYwNC44eiBNMTU2NS43LDI1Ny43IGMwLDMuOC0wLjgsOC0yLjEsMTEuOGMtNS45LDE3LjItMjIuNywzNC00OS4yLDM0Yy0xOC45LDAtMzQuOS0xMS4zLTM0LjktMzUuM2MwLTM5LjUsNDUuOC00Ni42LDg2LjItNDUuOFYyNTcuN3ogTTE2OTguNSwzMjYuMiBsMS43LTMzLjZoMS4zYzE1LjEsMjYuOSwzOC43LDM4LjIsNjguMSwzOC4yYzQ1LjQsMCw5MS4yLTM2LjEsOTEuMi0xMDguOGMwLjQtNjEuNy0zNS4zLTEwMy43LTg1LjctMTAzLjcgYy0zMi44LDAtNTYuMywxNC43LTY5LjMsMzcuNGgtMC44VjI4aC0zNi42djI0NS43YzAsMTguMS0wLjgsMzguNi0xLjcsNTIuNUgxNjk4LjV6IE0xNzA0LjgsMjA4LjJjMC01LjksMS4zLTEwLjksMi4xLTE1LjEgYzcuNi0yOC4xLDMxLjEtNDUuNCw1Ni4zLTQ1LjRjMzkuNSwwLDYwLjUsMzQuOSw2MC41LDc1LjZjMCw0Ni42LTIzLjEsNzguMS02MS44LDc4LjFjLTI2LjksMC00OC4zLTE3LjYtNTUuNS00My4zIGMtMC44LTQuMi0xLjctOC44LTEuNy0xMy40VjIwOC4yeiIvPgogIDwvZz4KPC9zdmc+Cg==); + --jp-icon-kernel: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgIDxwYXRoIGNsYXNzPSJqcC1pY29uMiIgZmlsbD0iIzYxNjE2MSIgZD0iTTE1IDlIOXY2aDZWOXptLTIgNGgtMnYtMmgydjJ6bTgtMlY5aC0yVjdjMC0xLjEtLjktMi0yLTJoLTJWM2gtMnYyaC0yVjNIOXYySDdjLTEuMSAwLTIgLjktMiAydjJIM3YyaDJ2MkgzdjJoMnYyYzAgMS4xLjkgMiAyIDJoMnYyaDJ2LTJoMnYyaDJ2LTJoMmMxLjEgMCAyLS45IDItMnYtMmgydi0yaC0ydi0yaDJ6bS00IDZIN1Y3aDEwdjEweiIvPgo8L3N2Zz4K); + --jp-icon-keyboard: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIiBkPSJNMjAgNUg0Yy0xLjEgMC0xLjk5LjktMS45OSAyTDIgMTdjMCAxLjEuOSAyIDIgMmgxNmMxLjEgMCAyLS45IDItMlY3YzAtMS4xLS45LTItMi0yem0tOSAzaDJ2MmgtMlY4em0wIDNoMnYyaC0ydi0yek04IDhoMnYySDhWOHptMCAzaDJ2Mkg4di0yem0tMSAySDV2LTJoMnYyem0wLTNINVY4aDJ2MnptOSA3SDh2LTJoOHYyem0wLTRoLTJ2LTJoMnYyem0wLTNoLTJWOGgydjJ6bTMgM2gtMnYtMmgydjJ6bTAtM2gtMlY4aDJ2MnoiLz4KPC9zdmc+Cg==); + --jp-icon-launcher: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIiBkPSJNMTkgMTlINVY1aDdWM0g1YTIgMiAwIDAwLTIgMnYxNGEyIDIgMCAwMDIgMmgxNGMxLjEgMCAyLS45IDItMnYtN2gtMnY3ek0xNCAzdjJoMy41OWwtOS44MyA5LjgzIDEuNDEgMS40MUwxOSA2LjQxVjEwaDJWM2gtN3oiLz4KPC9zdmc+Cg==); + --jp-icon-line-form: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgIDxwYXRoIGZpbGw9IndoaXRlIiBkPSJNNS44OCA0LjEyTDEzLjc2IDEybC03Ljg4IDcuODhMOCAyMmwxMC0xMEw4IDJ6Ii8+Cjwvc3ZnPgo=); + --jp-icon-link: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTMuOSAxMmMwLTEuNzEgMS4zOS0zLjEgMy4xLTMuMWg0VjdIN2MtMi43NiAwLTUgMi4yNC01IDVzMi4yNCA1IDUgNWg0di0xLjlIN2MtMS43MSAwLTMuMS0xLjM5LTMuMS0zLjF6TTggMTNoOHYtMkg4djJ6bTktNmgtNHYxLjloNGMxLjcxIDAgMy4xIDEuMzkgMy4xIDMuMXMtMS4zOSAzLjEtMy4xIDMuMWgtNFYxN2g0YzIuNzYgMCA1LTIuMjQgNS01cy0yLjI0LTUtNS01eiIvPgogIDwvZz4KPC9zdmc+Cg==); + --jp-icon-list: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgIDxwYXRoIGNsYXNzPSJqcC1pY29uMiBqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiM2MTYxNjEiIGQ9Ik0xOSA1djE0SDVWNWgxNG0xLjEtMkgzLjljLS41IDAtLjkuNC0uOS45djE2LjJjMCAuNC40LjkuOS45aDE2LjJjLjQgMCAuOS0uNS45LS45VjMuOWMwLS41LS41LS45LS45LS45ek0xMSA3aDZ2MmgtNlY3em0wIDRoNnYyaC02di0yem0wIDRoNnYyaC02ek03IDdoMnYySDd6bTAgNGgydjJIN3ptMCA0aDJ2Mkg3eiIvPgo8L3N2Zz4=); + --jp-icon-listings-info: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pg0KPHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJDYXBhXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgNTAuOTc4IDUwLjk3OCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNTAuOTc4IDUwLjk3ODsiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPGc+DQoJPGc+DQoJCTxnPg0KCQkJPHBhdGggc3R5bGU9ImZpbGw6IzAxMDAwMjsiIGQ9Ik00My41Miw3LjQ1OEMzOC43MTEsMi42NDgsMzIuMzA3LDAsMjUuNDg5LDBDMTguNjcsMCwxMi4yNjYsMi42NDgsNy40NTgsNy40NTgNCgkJCQljLTkuOTQzLDkuOTQxLTkuOTQzLDI2LjExOSwwLDM2LjA2MmM0LjgwOSw0LjgwOSwxMS4yMTIsNy40NTYsMTguMDMxLDcuNDU4YzAsMCwwLjAwMSwwLDAuMDAyLDANCgkJCQljNi44MTYsMCwxMy4yMjEtMi42NDgsMTguMDI5LTcuNDU4YzQuODA5LTQuODA5LDcuNDU3LTExLjIxMiw3LjQ1Ny0xOC4wM0M1MC45NzcsMTguNjcsNDguMzI4LDEyLjI2Niw0My41Miw3LjQ1OHoNCgkJCQkgTTQyLjEwNiw0Mi4xMDVjLTQuNDMyLDQuNDMxLTEwLjMzMiw2Ljg3Mi0xNi42MTUsNi44NzJoLTAuMDAyYy02LjI4NS0wLjAwMS0xMi4xODctMi40NDEtMTYuNjE3LTYuODcyDQoJCQkJYy05LjE2Mi05LjE2My05LjE2Mi0yNC4wNzEsMC0zMy4yMzNDMTMuMzAzLDQuNDQsMTkuMjA0LDIsMjUuNDg5LDJjNi4yODQsMCwxMi4xODYsMi40NCwxNi42MTcsNi44NzINCgkJCQljNC40MzEsNC40MzEsNi44NzEsMTAuMzMyLDYuODcxLDE2LjYxN0M0OC45NzcsMzEuNzcyLDQ2LjUzNiwzNy42NzUsNDIuMTA2LDQyLjEwNXoiLz4NCgkJPC9nPg0KCQk8Zz4NCgkJCTxwYXRoIHN0eWxlPSJmaWxsOiMwMTAwMDI7IiBkPSJNMjMuNTc4LDMyLjIxOGMtMC4wMjMtMS43MzQsMC4xNDMtMy4wNTksMC40OTYtMy45NzJjMC4zNTMtMC45MTMsMS4xMS0xLjk5NywyLjI3Mi0zLjI1Mw0KCQkJCWMwLjQ2OC0wLjUzNiwwLjkyMy0xLjA2MiwxLjM2Ny0xLjU3NWMwLjYyNi0wLjc1MywxLjEwNC0xLjQ3OCwxLjQzNi0yLjE3NWMwLjMzMS0wLjcwNywwLjQ5NS0xLjU0MSwwLjQ5NS0yLjUNCgkJCQljMC0xLjA5Ni0wLjI2LTIuMDg4LTAuNzc5LTIuOTc5Yy0wLjU2NS0wLjg3OS0xLjUwMS0xLjMzNi0yLjgwNi0xLjM2OWMtMS44MDIsMC4wNTctMi45ODUsMC42NjctMy41NSwxLjgzMg0KCQkJCWMtMC4zMDEsMC41MzUtMC41MDMsMS4xNDEtMC42MDcsMS44MTRjLTAuMTM5LDAuNzA3LTAuMjA3LDEuNDMyLTAuMjA3LDIuMTc0aC0yLjkzN2MtMC4wOTEtMi4yMDgsMC40MDctNC4xMTQsMS40OTMtNS43MTkNCgkJCQljMS4wNjItMS42NCwyLjg1NS0yLjQ4MSw1LjM3OC0yLjUyN2MyLjE2LDAuMDIzLDMuODc0LDAuNjA4LDUuMTQxLDEuNzU4YzEuMjc4LDEuMTYsMS45MjksMi43NjQsMS45NSw0LjgxMQ0KCQkJCWMwLDEuMTQyLTAuMTM3LDIuMTExLTAuNDEsMi45MTFjLTAuMzA5LDAuODQ1LTAuNzMxLDEuNTkzLTEuMjY4LDIuMjQzYy0wLjQ5MiwwLjY1LTEuMDY4LDEuMzE4LTEuNzMsMi4wMDINCgkJCQljLTAuNjUsMC42OTctMS4zMTMsMS40NzktMS45ODcsMi4zNDZjLTAuMjM5LDAuMzc3LTAuNDI5LDAuNzc3LTAuNTY1LDEuMTk5Yy0wLjE2LDAuOTU5LTAuMjE3LDEuOTUxLTAuMTcxLDIuOTc5DQoJCQkJQzI2LjU4OSwzMi4yMTgsMjMuNTc4LDMyLjIxOCwyMy41NzgsMzIuMjE4eiBNMjMuNTc4LDM4LjIydi0zLjQ4NGgzLjA3NnYzLjQ4NEgyMy41Nzh6Ii8+DQoJCTwvZz4NCgk8L2c+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8L3N2Zz4NCg==); + --jp-icon-markdown: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8cGF0aCBjbGFzcz0ianAtaWNvbi1jb250cmFzdDAganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjN0IxRkEyIiBkPSJNNSAxNC45aDEybC02LjEgNnptOS40LTYuOGMwLTEuMy0uMS0yLjktLjEtNC41LS40IDEuNC0uOSAyLjktMS4zIDQuM2wtMS4zIDQuM2gtMkw4LjUgNy45Yy0uNC0xLjMtLjctMi45LTEtNC4zLS4xIDEuNi0uMSAzLjItLjIgNC42TDcgMTIuNEg0LjhsLjctMTFoMy4zTDEwIDVjLjQgMS4yLjcgMi43IDEgMy45LjMtMS4yLjctMi42IDEtMy45bDEuMi0zLjdoMy4zbC42IDExaC0yLjRsLS4zLTQuMnoiLz4KPC9zdmc+Cg==); + --jp-icon-new-folder: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTIwIDZoLThsLTItMkg0Yy0xLjExIDAtMS45OS44OS0xLjk5IDJMMiAxOGMwIDEuMTEuODkgMiAyIDJoMTZjMS4xMSAwIDItLjg5IDItMlY4YzAtMS4xMS0uODktMi0yLTJ6bS0xIDhoLTN2M2gtMnYtM2gtM3YtMmgzVjloMnYzaDN2MnoiLz4KICA8L2c+Cjwvc3ZnPgo=); + --jp-icon-not-trusted: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI1IDI1Ij4KICAgIDxwYXRoIGNsYXNzPSJqcC1pY29uMiIgc3Ryb2tlPSIjMzMzMzMzIiBzdHJva2Utd2lkdGg9IjIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDMgMykiIGQ9Ik0xLjg2MDk0IDExLjQ0MDlDMC44MjY0NDggOC43NzAyNyAwLjg2Mzc3OSA2LjA1NzY0IDEuMjQ5MDcgNC4xOTkzMkMyLjQ4MjA2IDMuOTMzNDcgNC4wODA2OCAzLjQwMzQ3IDUuNjAxMDIgMi44NDQ5QzcuMjM1NDkgMi4yNDQ0IDguODU2NjYgMS41ODE1IDkuOTg3NiAxLjA5NTM5QzExLjA1OTcgMS41ODM0MSAxMi42MDk0IDIuMjQ0NCAxNC4yMTggMi44NDMzOUMxNS43NTAzIDMuNDEzOTQgMTcuMzk5NSAzLjk1MjU4IDE4Ljc1MzkgNC4yMTM4NUMxOS4xMzY0IDYuMDcxNzcgMTkuMTcwOSA4Ljc3NzIyIDE4LjEzOSAxMS40NDA5QzE3LjAzMDMgMTQuMzAzMiAxNC42NjY4IDE3LjE4NDQgOS45OTk5OSAxOC45MzU0QzUuMzMzMTkgMTcuMTg0NCAyLjk2OTY4IDE0LjMwMzIgMS44NjA5NCAxMS40NDA5WiIvPgogICAgPHBhdGggY2xhc3M9ImpwLWljb24yIiBzdHJva2U9IiMzMzMzMzMiIHN0cm9rZS13aWR0aD0iMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoOS4zMTU5MiA5LjMyMDMxKSIgZD0iTTcuMzY4NDIgMEwwIDcuMzY0NzkiLz4KICAgIDxwYXRoIGNsYXNzPSJqcC1pY29uMiIgc3Ryb2tlPSIjMzMzMzMzIiBzdHJva2Utd2lkdGg9IjIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDkuMzE1OTIgMTYuNjgzNikgc2NhbGUoMSAtMSkiIGQ9Ik03LjM2ODQyIDBMMCA3LjM2NDc5Ii8+Cjwvc3ZnPgo=); + --jp-icon-notebook: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8ZyBjbGFzcz0ianAtaWNvbi13YXJuMCBqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiNFRjZDMDAiPgogICAgPHBhdGggZD0iTTE4LjcgMy4zdjE1LjRIMy4zVjMuM2gxNS40bTEuNS0xLjVIMS44djE4LjNoMTguM2wuMS0xOC4zeiIvPgogICAgPHBhdGggZD0iTTE2LjUgMTYuNWwtNS40LTQuMy01LjYgNC4zdi0xMWgxMXoiLz4KICA8L2c+Cjwvc3ZnPgo=); + --jp-icon-palette: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTE4IDEzVjIwSDRWNkg5LjAyQzkuMDcgNS4yOSA5LjI0IDQuNjIgOS41IDRINEMyLjkgNCAyIDQuOSAyIDZWMjBDMiAyMS4xIDIuOSAyMiA0IDIySDE4QzE5LjEgMjIgMjAgMjEuMSAyMCAyMFYxNUwxOCAxM1pNMTkuMyA4Ljg5QzE5Ljc0IDguMTkgMjAgNy4zOCAyMCA2LjVDMjAgNC4wMSAxNy45OSAyIDE1LjUgMkMxMy4wMSAyIDExIDQuMDEgMTEgNi41QzExIDguOTkgMTMuMDEgMTEgMTUuNDkgMTFDMTYuMzcgMTEgMTcuMTkgMTAuNzQgMTcuODggMTAuM0wyMSAxMy40MkwyMi40MiAxMkwxOS4zIDguODlaTTE1LjUgOUMxNC4xMiA5IDEzIDcuODggMTMgNi41QzEzIDUuMTIgMTQuMTIgNCAxNS41IDRDMTYuODggNCAxOCA1LjEyIDE4IDYuNUMxOCA3Ljg4IDE2Ljg4IDkgMTUuNSA5WiIvPgogICAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00IDZIOS4wMTg5NEM5LjAwNjM5IDYuMTY1MDIgOSA2LjMzMTc2IDkgNi41QzkgOC44MTU3NyAxMC4yMTEgMTAuODQ4NyAxMi4wMzQzIDEySDlWMTRIMTZWMTIuOTgxMUMxNi41NzAzIDEyLjkzNzcgMTcuMTIgMTIuODIwNyAxNy42Mzk2IDEyLjYzOTZMMTggMTNWMjBINFY2Wk04IDhINlYxMEg4VjhaTTYgMTJIOFYxNEg2VjEyWk04IDE2SDZWMThIOFYxNlpNOSAxNkgxNlYxOEg5VjE2WiIvPgogIDwvZz4KPC9zdmc+Cg==); + --jp-icon-paste: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGggZD0iTTE5IDJoLTQuMThDMTQuNC44NCAxMy4zIDAgMTIgMGMtMS4zIDAtMi40Ljg0LTIuODIgMkg1Yy0xLjEgMC0yIC45LTIgMnYxNmMwIDEuMS45IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjRjMC0xLjEtLjktMi0yLTJ6bS03IDBjLjU1IDAgMSAuNDUgMSAxcy0uNDUgMS0xIDEtMS0uNDUtMS0xIC40NS0xIDEtMXptNyAxOEg1VjRoMnYzaDEwVjRoMnYxNnoiLz4KICAgIDwvZz4KPC9zdmc+Cg==); + --jp-icon-python: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8ZyBjbGFzcz0ianAtaWNvbi1icmFuZDAganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjMEQ0N0ExIj4KICAgIDxwYXRoIGQ9Ik0xMS4xIDYuOVY1LjhINi45YzAtLjUgMC0xLjMuMi0xLjYuNC0uNy44LTEuMSAxLjctMS40IDEuNy0uMyAyLjUtLjMgMy45LS4xIDEgLjEgMS45LjkgMS45IDEuOXY0LjJjMCAuNS0uOSAxLjYtMiAxLjZIOC44Yy0xLjUgMC0yLjQgMS40LTIuNCAyLjh2Mi4ySDQuN0MzLjUgMTUuMSAzIDE0IDMgMTMuMVY5Yy0uMS0xIC42LTIgMS44LTIgMS41LS4xIDYuMy0uMSA2LjMtLjF6Ii8+CiAgICA8cGF0aCBkPSJNMTAuOSAxNS4xdjEuMWg0LjJjMCAuNSAwIDEuMy0uMiAxLjYtLjQuNy0uOCAxLjEtMS43IDEuNC0xLjcuMy0yLjUuMy0zLjkuMS0xLS4xLTEuOS0uOS0xLjktMS45di00LjJjMC0uNS45LTEuNiAyLTEuNmgzLjhjMS41IDAgMi40LTEuNCAyLjQtMi44VjYuNmgxLjdDMTguNSA2LjkgMTkgOCAxOSA4LjlWMTNjMCAxLS43IDIuMS0xLjkgMi4xaC02LjJ6Ii8+CiAgPC9nPgo8L3N2Zz4K); + --jp-icon-r-kernel: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8cGF0aCBjbGFzcz0ianAtaWNvbi1jb250cmFzdDMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjMjE5NkYzIiBkPSJNNC40IDIuNWMxLjItLjEgMi45LS4zIDQuOS0uMyAyLjUgMCA0LjEuNCA1LjIgMS4zIDEgLjcgMS41IDEuOSAxLjUgMy41IDAgMi0xLjQgMy41LTIuOSA0LjEgMS4yLjQgMS43IDEuNiAyLjIgMyAuNiAxLjkgMSAzLjkgMS4zIDQuNmgtMy44Yy0uMy0uNC0uOC0xLjctMS4yLTMuN3MtMS4yLTIuNi0yLjYtMi42aC0uOXY2LjRINC40VjIuNXptMy43IDYuOWgxLjRjMS45IDAgMi45LS45IDIuOS0yLjNzLTEtMi4zLTIuOC0yLjNjLS43IDAtMS4zIDAtMS42LjJ2NC41aC4xdi0uMXoiLz4KPC9zdmc+Cg==); + --jp-icon-react: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMTUwIDE1MCA1NDEuOSAyOTUuMyI+CiAgPGcgY2xhc3M9ImpwLWljb24tYnJhbmQyIGpwLWljb24tc2VsZWN0YWJsZSIgZmlsbD0iIzYxREFGQiI+CiAgICA8cGF0aCBkPSJNNjY2LjMgMjk2LjVjMC0zMi41LTQwLjctNjMuMy0xMDMuMS04Mi40IDE0LjQtNjMuNiA4LTExNC4yLTIwLjItMTMwLjQtNi41LTMuOC0xNC4xLTUuNi0yMi40LTUuNnYyMi4zYzQuNiAwIDguMy45IDExLjQgMi42IDEzLjYgNy44IDE5LjUgMzcuNSAxNC45IDc1LjctMS4xIDkuNC0yLjkgMTkuMy01LjEgMjkuNC0xOS42LTQuOC00MS04LjUtNjMuNS0xMC45LTEzLjUtMTguNS0yNy41LTM1LjMtNDEuNi01MCAzMi42LTMwLjMgNjMuMi00Ni45IDg0LTQ2LjlWNzhjLTI3LjUgMC02My41IDE5LjYtOTkuOSA1My42LTM2LjQtMzMuOC03Mi40LTUzLjItOTkuOS01My4ydjIyLjNjMjAuNyAwIDUxLjQgMTYuNSA4NCA0Ni42LTE0IDE0LjctMjggMzEuNC00MS4zIDQ5LjktMjIuNiAyLjQtNDQgNi4xLTYzLjYgMTEtMi4zLTEwLTQtMTkuNy01LjItMjktNC43LTM4LjIgMS4xLTY3LjkgMTQuNi03NS44IDMtMS44IDYuOS0yLjYgMTEuNS0yLjZWNzguNWMtOC40IDAtMTYgMS44LTIyLjYgNS42LTI4LjEgMTYuMi0zNC40IDY2LjctMTkuOSAxMzAuMS02Mi4yIDE5LjItMTAyLjcgNDkuOS0xMDIuNyA4Mi4zIDAgMzIuNSA0MC43IDYzLjMgMTAzLjEgODIuNC0xNC40IDYzLjYtOCAxMTQuMiAyMC4yIDEzMC40IDYuNSAzLjggMTQuMSA1LjYgMjIuNSA1LjYgMjcuNSAwIDYzLjUtMTkuNiA5OS45LTUzLjYgMzYuNCAzMy44IDcyLjQgNTMuMiA5OS45IDUzLjIgOC40IDAgMTYtMS44IDIyLjYtNS42IDI4LjEtMTYuMiAzNC40LTY2LjcgMTkuOS0xMzAuMSA2Mi0xOS4xIDEwMi41LTQ5LjkgMTAyLjUtODIuM3ptLTEzMC4yLTY2LjdjLTMuNyAxMi45LTguMyAyNi4yLTEzLjUgMzkuNS00LjEtOC04LjQtMTYtMTMuMS0yNC00LjYtOC05LjUtMTUuOC0xNC40LTIzLjQgMTQuMiAyLjEgMjcuOSA0LjcgNDEgNy45em0tNDUuOCAxMDYuNWMtNy44IDEzLjUtMTUuOCAyNi4zLTI0LjEgMzguMi0xNC45IDEuMy0zMCAyLTQ1LjIgMi0xNS4xIDAtMzAuMi0uNy00NS0xLjktOC4zLTExLjktMTYuNC0yNC42LTI0LjItMzgtNy42LTEzLjEtMTQuNS0yNi40LTIwLjgtMzkuOCA2LjItMTMuNCAxMy4yLTI2LjggMjAuNy0zOS45IDcuOC0xMy41IDE1LjgtMjYuMyAyNC4xLTM4LjIgMTQuOS0xLjMgMzAtMiA0NS4yLTIgMTUuMSAwIDMwLjIuNyA0NSAxLjkgOC4zIDExLjkgMTYuNCAyNC42IDI0LjIgMzggNy42IDEzLjEgMTQuNSAyNi40IDIwLjggMzkuOC02LjMgMTMuNC0xMy4yIDI2LjgtMjAuNyAzOS45em0zMi4zLTEzYzUuNCAxMy40IDEwIDI2LjggMTMuOCAzOS44LTEzLjEgMy4yLTI2LjkgNS45LTQxLjIgOCA0LjktNy43IDkuOC0xNS42IDE0LjQtMjMuNyA0LjYtOCA4LjktMTYuMSAxMy0yNC4xek00MjEuMiA0MzBjLTkuMy05LjYtMTguNi0yMC4zLTI3LjgtMzIgOSAuNCAxOC4yLjcgMjcuNS43IDkuNCAwIDE4LjctLjIgMjcuOC0uNy05IDExLjctMTguMyAyMi40LTI3LjUgMzJ6bS03NC40LTU4LjljLTE0LjItMi4xLTI3LjktNC43LTQxLTcuOSAzLjctMTIuOSA4LjMtMjYuMiAxMy41LTM5LjUgNC4xIDggOC40IDE2IDEzLjEgMjQgNC43IDggOS41IDE1LjggMTQuNCAyMy40ek00MjAuNyAxNjNjOS4zIDkuNiAxOC42IDIwLjMgMjcuOCAzMi05LS40LTE4LjItLjctMjcuNS0uNy05LjQgMC0xOC43LjItMjcuOC43IDktMTEuNyAxOC4zLTIyLjQgMjcuNS0zMnptLTc0IDU4LjljLTQuOSA3LjctOS44IDE1LjYtMTQuNCAyMy43LTQuNiA4LTguOSAxNi0xMyAyNC01LjQtMTMuNC0xMC0yNi44LTEzLjgtMzkuOCAxMy4xLTMuMSAyNi45LTUuOCA0MS4yLTcuOXptLTkwLjUgMTI1LjJjLTM1LjQtMTUuMS01OC4zLTM0LjktNTguMy01MC42IDAtMTUuNyAyMi45LTM1LjYgNTguMy01MC42IDguNi0zLjcgMTgtNyAyNy43LTEwLjEgNS43IDE5LjYgMTMuMiA0MCAyMi41IDYwLjktOS4yIDIwLjgtMTYuNiA0MS4xLTIyLjIgNjAuNi05LjktMy4xLTE5LjMtNi41LTI4LTEwLjJ6TTMxMCA0OTBjLTEzLjYtNy44LTE5LjUtMzcuNS0xNC45LTc1LjcgMS4xLTkuNCAyLjktMTkuMyA1LjEtMjkuNCAxOS42IDQuOCA0MSA4LjUgNjMuNSAxMC45IDEzLjUgMTguNSAyNy41IDM1LjMgNDEuNiA1MC0zMi42IDMwLjMtNjMuMiA0Ni45LTg0IDQ2LjktNC41LS4xLTguMy0xLTExLjMtMi43em0yMzcuMi03Ni4yYzQuNyAzOC4yLTEuMSA2Ny45LTE0LjYgNzUuOC0zIDEuOC02LjkgMi42LTExLjUgMi42LTIwLjcgMC01MS40LTE2LjUtODQtNDYuNiAxNC0xNC43IDI4LTMxLjQgNDEuMy00OS45IDIyLjYtMi40IDQ0LTYuMSA2My42LTExIDIuMyAxMC4xIDQuMSAxOS44IDUuMiAyOS4xem0zOC41LTY2LjdjLTguNiAzLjctMTggNy0yNy43IDEwLjEtNS43LTE5LjYtMTMuMi00MC0yMi41LTYwLjkgOS4yLTIwLjggMTYuNi00MS4xIDIyLjItNjAuNiA5LjkgMy4xIDE5LjMgNi41IDI4LjEgMTAuMiAzNS40IDE1LjEgNTguMyAzNC45IDU4LjMgNTAuNi0uMSAxNS43LTIzIDM1LjYtNTguNCA1MC42ek0zMjAuOCA3OC40eiIvPgogICAgPGNpcmNsZSBjeD0iNDIwLjkiIGN5PSIyOTYuNSIgcj0iNDUuNyIvPgogIDwvZz4KPC9zdmc+Cg==); + --jp-icon-refresh: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDE4IDE4Ij4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGggZD0iTTkgMTMuNWMtMi40OSAwLTQuNS0yLjAxLTQuNS00LjVTNi41MSA0LjUgOSA0LjVjMS4yNCAwIDIuMzYuNTIgMy4xNyAxLjMzTDEwIDhoNVYzbC0xLjc2IDEuNzZDMTIuMTUgMy42OCAxMC42NiAzIDkgMyA1LjY5IDMgMy4wMSA1LjY5IDMuMDEgOVM1LjY5IDE1IDkgMTVjMi45NyAwIDUuNDMtMi4xNiA1LjktNWgtMS41MmMtLjQ2IDItMi4yNCAzLjUtNC4zOCAzLjV6Ii8+CiAgICA8L2c+Cjwvc3ZnPgo=); + --jp-icon-regex: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIwIDIwIj4KICA8ZyBjbGFzcz0ianAtaWNvbjIiIGZpbGw9IiM0MTQxNDEiPgogICAgPHJlY3QgeD0iMiIgeT0iMiIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ii8+CiAgPC9nPgoKICA8ZyBjbGFzcz0ianAtaWNvbi1hY2NlbnQyIiBmaWxsPSIjRkZGIj4KICAgIDxjaXJjbGUgY2xhc3M9InN0MiIgY3g9IjUuNSIgY3k9IjE0LjUiIHI9IjEuNSIvPgogICAgPHJlY3QgeD0iMTIiIHk9IjQiIGNsYXNzPSJzdDIiIHdpZHRoPSIxIiBoZWlnaHQ9IjgiLz4KICAgIDxyZWN0IHg9IjguNSIgeT0iNy41IiB0cmFuc2Zvcm09Im1hdHJpeCgwLjg2NiAtMC41IDAuNSAwLjg2NiAtMi4zMjU1IDcuMzIxOSkiIGNsYXNzPSJzdDIiIHdpZHRoPSI4IiBoZWlnaHQ9IjEiLz4KICAgIDxyZWN0IHg9IjEyIiB5PSI0IiB0cmFuc2Zvcm09Im1hdHJpeCgwLjUgLTAuODY2IDAuODY2IDAuNSAtMC42Nzc5IDE0LjgyNTIpIiBjbGFzcz0ic3QyIiB3aWR0aD0iMSIgaGVpZ2h0PSI4Ii8+CiAgPC9nPgo8L3N2Zz4K); + --jp-icon-run: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGggZD0iTTggNXYxNGwxMS03eiIvPgogICAgPC9nPgo8L3N2Zz4K); + --jp-icon-running: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDUxMiA1MTIiPgogIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICA8cGF0aCBkPSJNMjU2IDhDMTE5IDggOCAxMTkgOCAyNTZzMTExIDI0OCAyNDggMjQ4IDI0OC0xMTEgMjQ4LTI0OFMzOTMgOCAyNTYgOHptOTYgMzI4YzAgOC44LTcuMiAxNi0xNiAxNkgxNzZjLTguOCAwLTE2LTcuMi0xNi0xNlYxNzZjMC04LjggNy4yLTE2IDE2LTE2aDE2MGM4LjggMCAxNiA3LjIgMTYgMTZ2MTYweiIvPgogIDwvZz4KPC9zdmc+Cg==); + --jp-icon-save: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGggZD0iTTE3IDNINWMtMS4xMSAwLTIgLjktMiAydjE0YzAgMS4xLjg5IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjdsLTQtNHptLTUgMTZjLTEuNjYgMC0zLTEuMzQtMy0zczEuMzQtMyAzLTMgMyAxLjM0IDMgMy0xLjM0IDMtMyAzem0zLTEwSDVWNWgxMHY0eiIvPgogICAgPC9nPgo8L3N2Zz4K); + --jp-icon-search: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTEyLjEsMTAuOWgtMC43bC0wLjItMC4yYzAuOC0wLjksMS4zLTIuMiwxLjMtMy41YzAtMy0yLjQtNS40LTUuNC01LjRTMS44LDQuMiwxLjgsNy4xczIuNCw1LjQsNS40LDUuNCBjMS4zLDAsMi41LTAuNSwzLjUtMS4zbDAuMiwwLjJ2MC43bDQuMSw0LjFsMS4yLTEuMkwxMi4xLDEwLjl6IE03LjEsMTAuOWMtMi4xLDAtMy43LTEuNy0zLjctMy43czEuNy0zLjcsMy43LTMuN3MzLjcsMS43LDMuNywzLjcgUzkuMiwxMC45LDcuMSwxMC45eiIvPgogIDwvZz4KPC9zdmc+Cg==); + --jp-icon-settings: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIiBkPSJNMTkuNDMgMTIuOThjLjA0LS4zMi4wNy0uNjQuMDctLjk4cy0uMDMtLjY2LS4wNy0uOThsMi4xMS0xLjY1Yy4xOS0uMTUuMjQtLjQyLjEyLS42NGwtMi0zLjQ2Yy0uMTItLjIyLS4zOS0uMy0uNjEtLjIybC0yLjQ5IDFjLS41Mi0uNC0xLjA4LS43My0xLjY5LS45OGwtLjM4LTIuNjVBLjQ4OC40ODggMCAwMDE0IDJoLTRjLS4yNSAwLS40Ni4xOC0uNDkuNDJsLS4zOCAyLjY1Yy0uNjEuMjUtMS4xNy41OS0xLjY5Ljk4bC0yLjQ5LTFjLS4yMy0uMDktLjQ5IDAtLjYxLjIybC0yIDMuNDZjLS4xMy4yMi0uMDcuNDkuMTIuNjRsMi4xMSAxLjY1Yy0uMDQuMzItLjA3LjY1LS4wNy45OHMuMDMuNjYuMDcuOThsLTIuMTEgMS42NWMtLjE5LjE1LS4yNC40Mi0uMTIuNjRsMiAzLjQ2Yy4xMi4yMi4zOS4zLjYxLjIybDIuNDktMWMuNTIuNCAxLjA4LjczIDEuNjkuOThsLjM4IDIuNjVjLjAzLjI0LjI0LjQyLjQ5LjQyaDRjLjI1IDAgLjQ2LS4xOC40OS0uNDJsLjM4LTIuNjVjLjYxLS4yNSAxLjE3LS41OSAxLjY5LS45OGwyLjQ5IDFjLjIzLjA5LjQ5IDAgLjYxLS4yMmwyLTMuNDZjLjEyLS4yMi4wNy0uNDktLjEyLS42NGwtMi4xMS0xLjY1ek0xMiAxNS41Yy0xLjkzIDAtMy41LTEuNTctMy41LTMuNXMxLjU3LTMuNSAzLjUtMy41IDMuNSAxLjU3IDMuNSAzLjUtMS41NyAzLjUtMy41IDMuNXoiLz4KPC9zdmc+Cg==); + --jp-icon-spreadsheet: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8cGF0aCBjbGFzcz0ianAtaWNvbi1jb250cmFzdDEganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNENBRjUwIiBkPSJNMi4yIDIuMnYxNy42aDE3LjZWMi4ySDIuMnptMTUuNCA3LjdoLTUuNVY0LjRoNS41djUuNXpNOS45IDQuNHY1LjVINC40VjQuNGg1LjV6bS01LjUgNy43aDUuNXY1LjVINC40di01LjV6bTcuNyA1LjV2LTUuNWg1LjV2NS41aC01LjV6Ii8+Cjwvc3ZnPgo=); + --jp-icon-stop: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPgogICAgICAgIDxwYXRoIGQ9Ik02IDZoMTJ2MTJINnoiLz4KICAgIDwvZz4KPC9zdmc+Cg==); + --jp-icon-tab: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTIxIDNIM2MtMS4xIDAtMiAuOS0yIDJ2MTRjMCAxLjEuOSAyIDIgMmgxOGMxLjEgMCAyLS45IDItMlY1YzAtMS4xLS45LTItMi0yem0wIDE2SDNWNWgxMHY0aDh2MTB6Ii8+CiAgPC9nPgo8L3N2Zz4K); + --jp-icon-terminal: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0IiA+CiAgICA8cmVjdCBjbGFzcz0ianAtaWNvbjIganAtaWNvbi1zZWxlY3RhYmxlIiB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIgMikiIGZpbGw9IiMzMzMzMzMiLz4KICAgIDxwYXRoIGNsYXNzPSJqcC1pY29uLWFjY2VudDIganAtaWNvbi1zZWxlY3RhYmxlLWludmVyc2UiIGQ9Ik01LjA1NjY0IDguNzYxNzJDNS4wNTY2NCA4LjU5NzY2IDUuMDMxMjUgOC40NTMxMiA0Ljk4MDQ3IDguMzI4MTJDNC45MzM1OSA4LjE5OTIyIDQuODU1NDcgOC4wODIwMyA0Ljc0NjA5IDcuOTc2NTZDNC42NDA2MiA3Ljg3MTA5IDQuNSA3Ljc3NTM5IDQuMzI0MjIgNy42ODk0NUM0LjE1MjM0IDcuNTk5NjEgMy45NDMzNiA3LjUxMTcyIDMuNjk3MjcgNy40MjU3OEMzLjMwMjczIDcuMjg1MTYgMi45NDMzNiA3LjEzNjcyIDIuNjE5MTQgNi45ODA0N0MyLjI5NDkyIDYuODI0MjIgMi4wMTc1OCA2LjY0MjU4IDEuNzg3MTEgNi40MzU1NUMxLjU2MDU1IDYuMjI4NTIgMS4zODQ3NyA1Ljk4ODI4IDEuMjU5NzcgNS43MTQ4NEMxLjEzNDc3IDUuNDM3NSAxLjA3MjI3IDUuMTA5MzggMS4wNzIyNyA0LjczMDQ3QzEuMDcyMjcgNC4zOTg0NCAxLjEyODkxIDQuMDk1NyAxLjI0MjE5IDMuODIyMjdDMS4zNTU0NyAzLjU0NDkyIDEuNTE1NjIgMy4zMDQ2OSAxLjcyMjY2IDMuMTAxNTZDMS45Mjk2OSAyLjg5ODQ0IDIuMTc5NjkgMi43MzQzNyAyLjQ3MjY2IDIuNjA5MzhDMi43NjU2MiAyLjQ4NDM4IDMuMDkxOCAyLjQwNDMgMy40NTExNyAyLjM2OTE0VjEuMTA5MzhINC4zODg2N1YyLjM4MDg2QzQuNzQwMjMgMi40Mjc3MyA1LjA1NjY0IDIuNTIzNDQgNS4zMzc4OSAyLjY2Nzk3QzUuNjE5MTQgMi44MTI1IDUuODU3NDIgMy4wMDE5NSA2LjA1MjczIDMuMjM2MzNDNi4yNTE5NSAzLjQ2NjggNi40MDQzIDMuNzQwMjMgNi41MDk3NyA0LjA1NjY0QzYuNjE5MTQgNC4zNjkxNCA2LjY3MzgzIDQuNzIwNyA2LjY3MzgzIDUuMTExMzNINS4wNDQ5MkM1LjA0NDkyIDQuNjM4NjcgNC45Mzc1IDQuMjgxMjUgNC43MjI2NiA0LjAzOTA2QzQuNTA3ODEgMy43OTI5NyA0LjIxNjggMy42Njk5MiAzLjg0OTYxIDMuNjY5OTJDMy42NTAzOSAzLjY2OTkyIDMuNDc2NTYgMy42OTcyNyAzLjMyODEyIDMuNzUxOTVDMy4xODM1OSAzLjgwMjczIDMuMDY0NDUgMy44NzY5NSAyLjk3MDcgMy45NzQ2MUMyLjg3Njk1IDQuMDY4MzYgMi44MDY2NCA0LjE3OTY5IDIuNzU5NzcgNC4zMDg1OUMyLjcxNjggNC40Mzc1IDIuNjk1MzEgNC41NzgxMiAyLjY5NTMxIDQuNzMwNDdDMi42OTUzMSA0Ljg4MjgxIDIuNzE2OCA1LjAxOTUzIDIuNzU5NzcgNS4xNDA2MkMyLjgwNjY0IDUuMjU3ODEgMi44ODI4MSA1LjM2NzE5IDIuOTg4MjggNS40Njg3NUMzLjA5NzY2IDUuNTcwMzEgMy4yNDAyMyA1LjY2Nzk3IDMuNDE2MDIgNS43NjE3MkMzLjU5MTggNS44NTE1NiAzLjgxMDU1IDUuOTQzMzYgNC4wNzIyNyA2LjAzNzExQzQuNDY2OCA2LjE4NTU1IDQuODI0MjIgNi4zMzk4NCA1LjE0NDUzIDYuNUM1LjQ2NDg0IDYuNjU2MjUgNS43MzgyOCA2LjgzOTg0IDUuOTY0ODQgNy4wNTA3OEM2LjE5NTMxIDcuMjU3ODEgNi4zNzEwOSA3LjUgNi40OTIxOSA3Ljc3NzM0QzYuNjE3MTkgOC4wNTA3OCA2LjY3OTY5IDguMzc1IDYuNjc5NjkgOC43NUM2LjY3OTY5IDkuMDkzNzUgNi42MjMwNSA5LjQwNDMgNi41MDk3NyA5LjY4MTY0QzYuMzk2NDggOS45NTUwOCA2LjIzNDM4IDEwLjE5MTQgNi4wMjM0NCAxMC4zOTA2QzUuODEyNSAxMC41ODk4IDUuNTU4NTkgMTAuNzUgNS4yNjE3MiAxMC44NzExQzQuOTY0ODQgMTAuOTg4MyA0LjYzMjgxIDExLjA2NDUgNC4yNjU2MiAxMS4wOTk2VjEyLjI0OEgzLjMzMzk4VjExLjA5OTZDMy4wMDE5NSAxMS4wNjg0IDIuNjc5NjkgMTAuOTk2MSAyLjM2NzE5IDEwLjg4MjhDMi4wNTQ2OSAxMC43NjU2IDEuNzc3MzQgMTAuNTk3NyAxLjUzNTE2IDEwLjM3ODlDMS4yOTY4OCAxMC4xNjAyIDEuMTA1NDcgOS44ODQ3NyAwLjk2MDkzOCA5LjU1MjczQzAuODE2NDA2IDkuMjE2OCAwLjc0NDE0MSA4LjgxNDQ1IDAuNzQ0MTQxIDguMzQ1N0gyLjM3ODkxQzIuMzc4OTEgOC42MjY5NSAyLjQxOTkyIDguODYzMjggMi41MDE5NSA5LjA1NDY5QzIuNTgzOTggOS4yNDIxOSAyLjY4OTQ1IDkuMzkyNTggMi44MTgzNiA5LjUwNTg2QzIuOTUxMTcgOS42MTUyMyAzLjEwMTU2IDkuNjkzMzYgMy4yNjk1MyA5Ljc0MDIzQzMuNDM3NSA5Ljc4NzExIDMuNjA5MzggOS44MTA1NSAzLjc4NTE2IDkuODEwNTVDNC4yMDMxMiA5LjgxMDU1IDQuNTE5NTMgOS43MTI4OSA0LjczNDM4IDkuNTE3NThDNC45NDkyMiA5LjMyMjI3IDUuMDU2NjQgOS4wNzAzMSA1LjA1NjY0IDguNzYxNzJaTTEzLjQxOCAxMi4yNzE1SDguMDc0MjJWMTFIMTMuNDE4VjEyLjI3MTVaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzLjk1MjY0IDYpIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K); + --jp-icon-text-editor: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIiBkPSJNMTUgMTVIM3YyaDEydi0yem0wLThIM3YyaDEyVjd6TTMgMTNoMTh2LTJIM3Yyem0wIDhoMTh2LTJIM3Yyek0zIDN2MmgxOFYzSDN6Ii8+Cjwvc3ZnPgo=); + --jp-icon-trusted: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI1Ij4KICAgIDxwYXRoIGNsYXNzPSJqcC1pY29uMiIgc3Ryb2tlPSIjMzMzMzMzIiBzdHJva2Utd2lkdGg9IjIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIgMykiIGQ9Ik0xLjg2MDk0IDExLjQ0MDlDMC44MjY0NDggOC43NzAyNyAwLjg2Mzc3OSA2LjA1NzY0IDEuMjQ5MDcgNC4xOTkzMkMyLjQ4MjA2IDMuOTMzNDcgNC4wODA2OCAzLjQwMzQ3IDUuNjAxMDIgMi44NDQ5QzcuMjM1NDkgMi4yNDQ0IDguODU2NjYgMS41ODE1IDkuOTg3NiAxLjA5NTM5QzExLjA1OTcgMS41ODM0MSAxMi42MDk0IDIuMjQ0NCAxNC4yMTggMi44NDMzOUMxNS43NTAzIDMuNDEzOTQgMTcuMzk5NSAzLjk1MjU4IDE4Ljc1MzkgNC4yMTM4NUMxOS4xMzY0IDYuMDcxNzcgMTkuMTcwOSA4Ljc3NzIyIDE4LjEzOSAxMS40NDA5QzE3LjAzMDMgMTQuMzAzMiAxNC42NjY4IDE3LjE4NDQgOS45OTk5OSAxOC45MzU0QzUuMzMzMiAxNy4xODQ0IDIuOTY5NjggMTQuMzAzMiAxLjg2MDk0IDExLjQ0MDlaIi8+CiAgICA8cGF0aCBjbGFzcz0ianAtaWNvbjIiIGZpbGw9IiMzMzMzMzMiIHN0cm9rZT0iIzMzMzMzMyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoOCA5Ljg2NzE5KSIgZD0iTTIuODYwMTUgNC44NjUzNUwwLjcyNjU0OSAyLjk5OTU5TDAgMy42MzA0NUwyLjg2MDE1IDYuMTMxNTdMOCAwLjYzMDg3Mkw3LjI3ODU3IDBMMi44NjAxNSA0Ljg2NTM1WiIvPgo8L3N2Zz4K); + --jp-icon-undo: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTEyLjUgOGMtMi42NSAwLTUuMDUuOTktNi45IDIuNkwyIDd2OWg5bC0zLjYyLTMuNjJjMS4zOS0xLjE2IDMuMTYtMS44OCA1LjEyLTEuODggMy41NCAwIDYuNTUgMi4zMSA3LjYgNS41bDIuMzctLjc4QzIxLjA4IDExLjAzIDE3LjE1IDggMTIuNSA4eiIvPgogIDwvZz4KPC9zdmc+Cg==); + --jp-icon-vega: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8ZyBjbGFzcz0ianAtaWNvbjEganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjMjEyMTIxIj4KICAgIDxwYXRoIGQ9Ik0xMC42IDUuNGwyLjItMy4ySDIuMnY3LjNsNC02LjZ6Ii8+CiAgICA8cGF0aCBkPSJNMTUuOCAyLjJsLTQuNCA2LjZMNyA2LjNsLTQuOCA4djUuNWgxNy42VjIuMmgtNHptLTcgMTUuNEg1LjV2LTQuNGgzLjN2NC40em00LjQgMEg5LjhWOS44aDMuNHY3Ljh6bTQuNCAwaC0zLjRWNi41aDMuNHYxMS4xeiIvPgogIDwvZz4KPC9zdmc+Cg==); + --jp-icon-yaml: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8ZyBjbGFzcz0ianAtaWNvbi1jb250cmFzdDIganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjRDgxQjYwIj4KICAgIDxwYXRoIGQ9Ik03LjIgMTguNnYtNS40TDMgNS42aDMuM2wxLjQgMy4xYy4zLjkuNiAxLjYgMSAyLjUuMy0uOC42LTEuNiAxLTIuNWwxLjQtMy4xaDMuNGwtNC40IDcuNnY1LjVsLTIuOS0uMXoiLz4KICAgIDxjaXJjbGUgY2xhc3M9InN0MCIgY3g9IjE3LjYiIGN5PSIxNi41IiByPSIyLjEiLz4KICAgIDxjaXJjbGUgY2xhc3M9InN0MCIgY3g9IjE3LjYiIGN5PSIxMSIgcj0iMi4xIi8+CiAgPC9nPgo8L3N2Zz4K); +} + +/* Icon CSS class declarations */ + +.jp-AddIcon { + background-image: var(--jp-icon-add); +} +.jp-BugIcon { + background-image: var(--jp-icon-bug); +} +.jp-BuildIcon { + background-image: var(--jp-icon-build); +} +.jp-CaretDownEmptyIcon { + background-image: var(--jp-icon-caret-down-empty); +} +.jp-CaretDownEmptyThinIcon { + background-image: var(--jp-icon-caret-down-empty-thin); +} +.jp-CaretDownIcon { + background-image: var(--jp-icon-caret-down); +} +.jp-CaretLeftIcon { + background-image: var(--jp-icon-caret-left); +} +.jp-CaretRightIcon { + background-image: var(--jp-icon-caret-right); +} +.jp-CaretUpEmptyThinIcon { + background-image: var(--jp-icon-caret-up-empty-thin); +} +.jp-CaretUpIcon { + background-image: var(--jp-icon-caret-up); +} +.jp-CaseSensitiveIcon { + background-image: var(--jp-icon-case-sensitive); +} +.jp-CheckIcon { + background-image: var(--jp-icon-check); +} +.jp-CircleEmptyIcon { + background-image: var(--jp-icon-circle-empty); +} +.jp-CircleIcon { + background-image: var(--jp-icon-circle); +} +.jp-ClearIcon { + background-image: var(--jp-icon-clear); +} +.jp-CloseIcon { + background-image: var(--jp-icon-close); +} +.jp-ConsoleIcon { + background-image: var(--jp-icon-console); +} +.jp-CopyIcon { + background-image: var(--jp-icon-copy); +} +.jp-CutIcon { + background-image: var(--jp-icon-cut); +} +.jp-DownloadIcon { + background-image: var(--jp-icon-download); +} +.jp-EditIcon { + background-image: var(--jp-icon-edit); +} +.jp-EllipsesIcon { + background-image: var(--jp-icon-ellipses); +} +.jp-ExtensionIcon { + background-image: var(--jp-icon-extension); +} +.jp-FastForwardIcon { + background-image: var(--jp-icon-fast-forward); +} +.jp-FileIcon { + background-image: var(--jp-icon-file); +} +.jp-FileUploadIcon { + background-image: var(--jp-icon-file-upload); +} +.jp-FilterListIcon { + background-image: var(--jp-icon-filter-list); +} +.jp-FolderIcon { + background-image: var(--jp-icon-folder); +} +.jp-Html5Icon { + background-image: var(--jp-icon-html5); +} +.jp-ImageIcon { + background-image: var(--jp-icon-image); +} +.jp-InspectorIcon { + background-image: var(--jp-icon-inspector); +} +.jp-JsonIcon { + background-image: var(--jp-icon-json); +} +.jp-JupyterFaviconIcon { + background-image: var(--jp-icon-jupyter-favicon); +} +.jp-JupyterIcon { + background-image: var(--jp-icon-jupyter); +} +.jp-JupyterlabWordmarkIcon { + background-image: var(--jp-icon-jupyterlab-wordmark); +} +.jp-KernelIcon { + background-image: var(--jp-icon-kernel); +} +.jp-KeyboardIcon { + background-image: var(--jp-icon-keyboard); +} +.jp-LauncherIcon { + background-image: var(--jp-icon-launcher); +} +.jp-LineFormIcon { + background-image: var(--jp-icon-line-form); +} +.jp-LinkIcon { + background-image: var(--jp-icon-link); +} +.jp-ListIcon { + background-image: var(--jp-icon-list); +} +.jp-ListingsInfoIcon { + background-image: var(--jp-icon-listings-info); +} +.jp-MarkdownIcon { + background-image: var(--jp-icon-markdown); +} +.jp-NewFolderIcon { + background-image: var(--jp-icon-new-folder); +} +.jp-NotTrustedIcon { + background-image: var(--jp-icon-not-trusted); +} +.jp-NotebookIcon { + background-image: var(--jp-icon-notebook); +} +.jp-PaletteIcon { + background-image: var(--jp-icon-palette); +} +.jp-PasteIcon { + background-image: var(--jp-icon-paste); +} +.jp-PythonIcon { + background-image: var(--jp-icon-python); +} +.jp-RKernelIcon { + background-image: var(--jp-icon-r-kernel); +} +.jp-ReactIcon { + background-image: var(--jp-icon-react); +} +.jp-RefreshIcon { + background-image: var(--jp-icon-refresh); +} +.jp-RegexIcon { + background-image: var(--jp-icon-regex); +} +.jp-RunIcon { + background-image: var(--jp-icon-run); +} +.jp-RunningIcon { + background-image: var(--jp-icon-running); +} +.jp-SaveIcon { + background-image: var(--jp-icon-save); +} +.jp-SearchIcon { + background-image: var(--jp-icon-search); +} +.jp-SettingsIcon { + background-image: var(--jp-icon-settings); +} +.jp-SpreadsheetIcon { + background-image: var(--jp-icon-spreadsheet); +} +.jp-StopIcon { + background-image: var(--jp-icon-stop); +} +.jp-TabIcon { + background-image: var(--jp-icon-tab); +} +.jp-TerminalIcon { + background-image: var(--jp-icon-terminal); +} +.jp-TextEditorIcon { + background-image: var(--jp-icon-text-editor); +} +.jp-TrustedIcon { + background-image: var(--jp-icon-trusted); +} +.jp-UndoIcon { + background-image: var(--jp-icon-undo); +} +.jp-VegaIcon { + background-image: var(--jp-icon-vega); +} +.jp-YamlIcon { + background-image: var(--jp-icon-yaml); +} + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +/** + * (DEPRECATED) Support for consuming icons as CSS background images + */ + +:root { + --jp-icon-search-white: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTEyLjEsMTAuOWgtMC43bC0wLjItMC4yYzAuOC0wLjksMS4zLTIuMiwxLjMtMy41YzAtMy0yLjQtNS40LTUuNC01LjRTMS44LDQuMiwxLjgsNy4xczIuNCw1LjQsNS40LDUuNCBjMS4zLDAsMi41LTAuNSwzLjUtMS4zbDAuMiwwLjJ2MC43bDQuMSw0LjFsMS4yLTEuMkwxMi4xLDEwLjl6IE03LjEsMTAuOWMtMi4xLDAtMy43LTEuNy0zLjctMy43czEuNy0zLjcsMy43LTMuN3MzLjcsMS43LDMuNywzLjcgUzkuMiwxMC45LDcuMSwxMC45eiIvPgogIDwvZz4KPC9zdmc+Cg==); +} + +.jp-Icon, +.jp-MaterialIcon { + background-position: center; + background-repeat: no-repeat; + background-size: 16px; + min-width: 16px; + min-height: 16px; +} + +.jp-Icon-cover { + background-position: center; + background-repeat: no-repeat; + background-size: cover; +} + +/** + * (DEPRECATED) Support for specific CSS icon sizes + */ + +.jp-Icon-16 { + background-size: 16px; + min-width: 16px; + min-height: 16px; +} + +.jp-Icon-18 { + background-size: 18px; + min-width: 18px; + min-height: 18px; +} + +.jp-Icon-20 { + background-size: 20px; + min-width: 20px; + min-height: 20px; +} + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +/** + * Support for icons as inline SVG HTMLElements + */ + +/* recolor the primary elements of an icon */ +.jp-icon0[fill] { + fill: var(--jp-inverse-layout-color0); +} +.jp-icon1[fill] { + fill: var(--jp-inverse-layout-color1); +} +.jp-icon2[fill] { + fill: var(--jp-inverse-layout-color2); +} +.jp-icon3[fill] { + fill: var(--jp-inverse-layout-color3); +} +.jp-icon4[fill] { + fill: var(--jp-inverse-layout-color4); +} + +.jp-icon0[stroke] { + stroke: var(--jp-inverse-layout-color0); +} +.jp-icon1[stroke] { + stroke: var(--jp-inverse-layout-color1); +} +.jp-icon2[stroke] { + stroke: var(--jp-inverse-layout-color2); +} +.jp-icon3[stroke] { + stroke: var(--jp-inverse-layout-color3); +} +.jp-icon4[stroke] { + stroke: var(--jp-inverse-layout-color4); +} +/* recolor the accent elements of an icon */ +.jp-icon-accent0[fill] { + fill: var(--jp-layout-color0); +} +.jp-icon-accent1[fill] { + fill: var(--jp-layout-color1); +} +.jp-icon-accent2[fill] { + fill: var(--jp-layout-color2); +} +.jp-icon-accent3[fill] { + fill: var(--jp-layout-color3); +} +.jp-icon-accent4[fill] { + fill: var(--jp-layout-color4); +} + +.jp-icon-accent0[stroke] { + stroke: var(--jp-layout-color0); +} +.jp-icon-accent1[stroke] { + stroke: var(--jp-layout-color1); +} +.jp-icon-accent2[stroke] { + stroke: var(--jp-layout-color2); +} +.jp-icon-accent3[stroke] { + stroke: var(--jp-layout-color3); +} +.jp-icon-accent4[stroke] { + stroke: var(--jp-layout-color4); +} +/* set the color of an icon to transparent */ +.jp-icon-none[fill] { + fill: none; +} + +.jp-icon-none[stroke] { + stroke: none; +} +/* brand icon colors. Same for light and dark */ +.jp-icon-brand0[fill] { + fill: var(--jp-brand-color0); +} +.jp-icon-brand1[fill] { + fill: var(--jp-brand-color1); +} +.jp-icon-brand2[fill] { + fill: var(--jp-brand-color2); +} +.jp-icon-brand3[fill] { + fill: var(--jp-brand-color3); +} +.jp-icon-brand4[fill] { + fill: var(--jp-brand-color4); +} + +.jp-icon-brand0[stroke] { + stroke: var(--jp-brand-color0); +} +.jp-icon-brand1[stroke] { + stroke: var(--jp-brand-color1); +} +.jp-icon-brand2[stroke] { + stroke: var(--jp-brand-color2); +} +.jp-icon-brand3[stroke] { + stroke: var(--jp-brand-color3); +} +.jp-icon-brand4[stroke] { + stroke: var(--jp-brand-color4); +} +/* warn icon colors. Same for light and dark */ +.jp-icon-warn0[fill] { + fill: var(--jp-warn-color0); +} +.jp-icon-warn1[fill] { + fill: var(--jp-warn-color1); +} +.jp-icon-warn2[fill] { + fill: var(--jp-warn-color2); +} +.jp-icon-warn3[fill] { + fill: var(--jp-warn-color3); +} + +.jp-icon-warn0[stroke] { + stroke: var(--jp-warn-color0); +} +.jp-icon-warn1[stroke] { + stroke: var(--jp-warn-color1); +} +.jp-icon-warn2[stroke] { + stroke: var(--jp-warn-color2); +} +.jp-icon-warn3[stroke] { + stroke: var(--jp-warn-color3); +} +/* icon colors that contrast well with each other and most backgrounds */ +.jp-icon-contrast0[fill] { + fill: var(--jp-icon-contrast-color0); +} +.jp-icon-contrast1[fill] { + fill: var(--jp-icon-contrast-color1); +} +.jp-icon-contrast2[fill] { + fill: var(--jp-icon-contrast-color2); +} +.jp-icon-contrast3[fill] { + fill: var(--jp-icon-contrast-color3); +} + +.jp-icon-contrast0[stroke] { + stroke: var(--jp-icon-contrast-color0); +} +.jp-icon-contrast1[stroke] { + stroke: var(--jp-icon-contrast-color1); +} +.jp-icon-contrast2[stroke] { + stroke: var(--jp-icon-contrast-color2); +} +.jp-icon-contrast3[stroke] { + stroke: var(--jp-icon-contrast-color3); +} + +/* CSS for icons in selected items in the settings editor */ +#setting-editor .jp-PluginList .jp-mod-selected .jp-icon-selectable[fill] { + fill: #fff; +} +#setting-editor + .jp-PluginList + .jp-mod-selected + .jp-icon-selectable-inverse[fill] { + fill: var(--jp-brand-color1); +} + +/* CSS for icons in selected filebrowser listing items */ +.jp-DirListing-item.jp-mod-selected .jp-icon-selectable[fill] { + fill: #fff; +} +.jp-DirListing-item.jp-mod-selected .jp-icon-selectable-inverse[fill] { + fill: var(--jp-brand-color1); +} + +/* CSS for icons in selected tabs in the sidebar tab manager */ +#tab-manager .lm-TabBar-tab.jp-mod-active .jp-icon-selectable[fill] { + fill: #fff; +} + +#tab-manager .lm-TabBar-tab.jp-mod-active .jp-icon-selectable-inverse[fill] { + fill: var(--jp-brand-color1); +} +#tab-manager + .lm-TabBar-tab.jp-mod-active + .jp-icon-hover + :hover + .jp-icon-selectable[fill] { + fill: var(--jp-brand-color1); +} + +#tab-manager + .lm-TabBar-tab.jp-mod-active + .jp-icon-hover + :hover + .jp-icon-selectable-inverse[fill] { + fill: #fff; +} + +/** + * TODO: come up with non css-hack solution for showing the busy icon on top + * of the close icon + * CSS for complex behavior of close icon of tabs in the sidebar tab manager + */ +#tab-manager + .lm-TabBar-tab.jp-mod-dirty + > .lm-TabBar-tabCloseIcon + > :not(:hover) + > .jp-icon3[fill] { + fill: none; +} +#tab-manager + .lm-TabBar-tab.jp-mod-dirty + > .lm-TabBar-tabCloseIcon + > :not(:hover) + > .jp-icon-busy[fill] { + fill: var(--jp-inverse-layout-color3); +} + +#tab-manager + .lm-TabBar-tab.jp-mod-dirty.jp-mod-active + > .lm-TabBar-tabCloseIcon + > :not(:hover) + > .jp-icon-busy[fill] { + fill: #fff; +} + +/** +* TODO: come up with non css-hack solution for showing the busy icon on top +* of the close icon +* CSS for complex behavior of close icon of tabs in the main area tabbar +*/ +.lm-DockPanel-tabBar + .lm-TabBar-tab.lm-mod-closable.jp-mod-dirty + > .lm-TabBar-tabCloseIcon + > :not(:hover) + > .jp-icon3[fill] { + fill: none; +} +.lm-DockPanel-tabBar + .lm-TabBar-tab.lm-mod-closable.jp-mod-dirty + > .lm-TabBar-tabCloseIcon + > :not(:hover) + > .jp-icon-busy[fill] { + fill: var(--jp-inverse-layout-color3); +} + +/* CSS for icons in status bar */ +#jp-main-statusbar .jp-mod-selected .jp-icon-selectable[fill] { + fill: #fff; +} + +#jp-main-statusbar .jp-mod-selected .jp-icon-selectable-inverse[fill] { + fill: var(--jp-brand-color1); +} +/* special handling for splash icon CSS. While the theme CSS reloads during + splash, the splash icon can loose theming. To prevent that, we set a + default for its color variable */ +:root { + --jp-warn-color0: var(--md-orange-700); +} + +/* not sure what to do with this one, used in filebrowser listing */ +.jp-DragIcon { + margin-right: 4px; +} + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +/** + * Support for alt colors for icons as inline SVG HTMLElements + */ + +/* alt recolor the primary elements of an icon */ +.jp-icon-alt .jp-icon0[fill] { + fill: var(--jp-layout-color0); +} +.jp-icon-alt .jp-icon1[fill] { + fill: var(--jp-layout-color1); +} +.jp-icon-alt .jp-icon2[fill] { + fill: var(--jp-layout-color2); +} +.jp-icon-alt .jp-icon3[fill] { + fill: var(--jp-layout-color3); +} +.jp-icon-alt .jp-icon4[fill] { + fill: var(--jp-layout-color4); +} + +.jp-icon-alt .jp-icon0[stroke] { + stroke: var(--jp-layout-color0); +} +.jp-icon-alt .jp-icon1[stroke] { + stroke: var(--jp-layout-color1); +} +.jp-icon-alt .jp-icon2[stroke] { + stroke: var(--jp-layout-color2); +} +.jp-icon-alt .jp-icon3[stroke] { + stroke: var(--jp-layout-color3); +} +.jp-icon-alt .jp-icon4[stroke] { + stroke: var(--jp-layout-color4); +} + +/* alt recolor the accent elements of an icon */ +.jp-icon-alt .jp-icon-accent0[fill] { + fill: var(--jp-inverse-layout-color0); +} +.jp-icon-alt .jp-icon-accent1[fill] { + fill: var(--jp-inverse-layout-color1); +} +.jp-icon-alt .jp-icon-accent2[fill] { + fill: var(--jp-inverse-layout-color2); +} +.jp-icon-alt .jp-icon-accent3[fill] { + fill: var(--jp-inverse-layout-color3); +} +.jp-icon-alt .jp-icon-accent4[fill] { + fill: var(--jp-inverse-layout-color4); +} + +.jp-icon-alt .jp-icon-accent0[stroke] { + stroke: var(--jp-inverse-layout-color0); +} +.jp-icon-alt .jp-icon-accent1[stroke] { + stroke: var(--jp-inverse-layout-color1); +} +.jp-icon-alt .jp-icon-accent2[stroke] { + stroke: var(--jp-inverse-layout-color2); +} +.jp-icon-alt .jp-icon-accent3[stroke] { + stroke: var(--jp-inverse-layout-color3); +} +.jp-icon-alt .jp-icon-accent4[stroke] { + stroke: var(--jp-inverse-layout-color4); +} + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +.jp-icon-hoverShow:not(:hover) svg { + display: none !important; +} + +/** + * Support for hover colors for icons as inline SVG HTMLElements + */ + +/** + * regular colors + */ + +/* recolor the primary elements of an icon */ +.jp-icon-hover :hover .jp-icon0-hover[fill] { + fill: var(--jp-inverse-layout-color0); +} +.jp-icon-hover :hover .jp-icon1-hover[fill] { + fill: var(--jp-inverse-layout-color1); +} +.jp-icon-hover :hover .jp-icon2-hover[fill] { + fill: var(--jp-inverse-layout-color2); +} +.jp-icon-hover :hover .jp-icon3-hover[fill] { + fill: var(--jp-inverse-layout-color3); +} +.jp-icon-hover :hover .jp-icon4-hover[fill] { + fill: var(--jp-inverse-layout-color4); +} + +.jp-icon-hover :hover .jp-icon0-hover[stroke] { + stroke: var(--jp-inverse-layout-color0); +} +.jp-icon-hover :hover .jp-icon1-hover[stroke] { + stroke: var(--jp-inverse-layout-color1); +} +.jp-icon-hover :hover .jp-icon2-hover[stroke] { + stroke: var(--jp-inverse-layout-color2); +} +.jp-icon-hover :hover .jp-icon3-hover[stroke] { + stroke: var(--jp-inverse-layout-color3); +} +.jp-icon-hover :hover .jp-icon4-hover[stroke] { + stroke: var(--jp-inverse-layout-color4); +} + +/* recolor the accent elements of an icon */ +.jp-icon-hover :hover .jp-icon-accent0-hover[fill] { + fill: var(--jp-layout-color0); +} +.jp-icon-hover :hover .jp-icon-accent1-hover[fill] { + fill: var(--jp-layout-color1); +} +.jp-icon-hover :hover .jp-icon-accent2-hover[fill] { + fill: var(--jp-layout-color2); +} +.jp-icon-hover :hover .jp-icon-accent3-hover[fill] { + fill: var(--jp-layout-color3); +} +.jp-icon-hover :hover .jp-icon-accent4-hover[fill] { + fill: var(--jp-layout-color4); +} + +.jp-icon-hover :hover .jp-icon-accent0-hover[stroke] { + stroke: var(--jp-layout-color0); +} +.jp-icon-hover :hover .jp-icon-accent1-hover[stroke] { + stroke: var(--jp-layout-color1); +} +.jp-icon-hover :hover .jp-icon-accent2-hover[stroke] { + stroke: var(--jp-layout-color2); +} +.jp-icon-hover :hover .jp-icon-accent3-hover[stroke] { + stroke: var(--jp-layout-color3); +} +.jp-icon-hover :hover .jp-icon-accent4-hover[stroke] { + stroke: var(--jp-layout-color4); +} + +/* set the color of an icon to transparent */ +.jp-icon-hover :hover .jp-icon-none-hover[fill] { + fill: none; +} + +.jp-icon-hover :hover .jp-icon-none-hover[stroke] { + stroke: none; +} + +/** + * inverse colors + */ + +/* inverse recolor the primary elements of an icon */ +.jp-icon-hover.jp-icon-alt :hover .jp-icon0-hover[fill] { + fill: var(--jp-layout-color0); +} +.jp-icon-hover.jp-icon-alt :hover .jp-icon1-hover[fill] { + fill: var(--jp-layout-color1); +} +.jp-icon-hover.jp-icon-alt :hover .jp-icon2-hover[fill] { + fill: var(--jp-layout-color2); +} +.jp-icon-hover.jp-icon-alt :hover .jp-icon3-hover[fill] { + fill: var(--jp-layout-color3); +} +.jp-icon-hover.jp-icon-alt :hover .jp-icon4-hover[fill] { + fill: var(--jp-layout-color4); +} + +.jp-icon-hover.jp-icon-alt :hover .jp-icon0-hover[stroke] { + stroke: var(--jp-layout-color0); +} +.jp-icon-hover.jp-icon-alt :hover .jp-icon1-hover[stroke] { + stroke: var(--jp-layout-color1); +} +.jp-icon-hover.jp-icon-alt :hover .jp-icon2-hover[stroke] { + stroke: var(--jp-layout-color2); +} +.jp-icon-hover.jp-icon-alt :hover .jp-icon3-hover[stroke] { + stroke: var(--jp-layout-color3); +} +.jp-icon-hover.jp-icon-alt :hover .jp-icon4-hover[stroke] { + stroke: var(--jp-layout-color4); +} + +/* inverse recolor the accent elements of an icon */ +.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent0-hover[fill] { + fill: var(--jp-inverse-layout-color0); +} +.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent1-hover[fill] { + fill: var(--jp-inverse-layout-color1); +} +.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent2-hover[fill] { + fill: var(--jp-inverse-layout-color2); +} +.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent3-hover[fill] { + fill: var(--jp-inverse-layout-color3); +} +.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent4-hover[fill] { + fill: var(--jp-inverse-layout-color4); +} + +.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent0-hover[stroke] { + stroke: var(--jp-inverse-layout-color0); +} +.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent1-hover[stroke] { + stroke: var(--jp-inverse-layout-color1); +} +.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent2-hover[stroke] { + stroke: var(--jp-inverse-layout-color2); +} +.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent3-hover[stroke] { + stroke: var(--jp-inverse-layout-color3); +} +.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent4-hover[stroke] { + stroke: var(--jp-inverse-layout-color4); +} + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +/* Sibling imports */ + +/* Override Blueprint's _reset.scss styles */ +html { + box-sizing: unset; +} + +*, +*::before, +*::after { + box-sizing: unset; +} + +body { + color: unset; + font-family: var(--jp-ui-font-family); +} + +p { + margin-top: unset; + margin-bottom: unset; +} + +small { + font-size: unset; +} + +strong { + font-weight: unset; +} + +/* Override Blueprint's _typography.scss styles */ +a { + text-decoration: unset; + color: unset; +} +a:hover { + text-decoration: unset; + color: unset; +} + +/* Override Blueprint's _accessibility.scss styles */ +:focus { + outline: unset; + outline-offset: unset; + -moz-outline-radius: unset; +} + +/* Styles for ui-components */ +.jp-Button { + border-radius: var(--jp-border-radius); + padding: 0px 12px; + font-size: var(--jp-ui-font-size1); +} + +/* Use our own theme for hover styles */ +button.jp-Button.bp3-button.bp3-minimal:hover { + background-color: var(--jp-layout-color2); +} +.jp-Button.minimal { + color: unset !important; +} + +.jp-Button.jp-ToolbarButtonComponent { + text-transform: none; +} + +.jp-InputGroup input { + box-sizing: border-box; + border-radius: 0; + background-color: transparent; + color: var(--jp-ui-font-color0); + box-shadow: inset 0 0 0 var(--jp-border-width) var(--jp-input-border-color); +} + +.jp-InputGroup input:focus { + box-shadow: inset 0 0 0 var(--jp-border-width) + var(--jp-input-active-box-shadow-color), + inset 0 0 0 3px var(--jp-input-active-box-shadow-color); +} + +.jp-InputGroup input::placeholder, +input::placeholder { + color: var(--jp-ui-font-color3); +} + +.jp-BPIcon { + display: inline-block; + vertical-align: middle; + margin: auto; +} + +/* Stop blueprint futzing with our icon fills */ +.bp3-icon.jp-BPIcon > svg:not([fill]) { + fill: var(--jp-inverse-layout-color3); +} + +.jp-InputGroupAction { + padding: 6px; +} + +.jp-HTMLSelect.jp-DefaultStyle select { + background-color: initial; + border: none; + border-radius: 0; + box-shadow: none; + color: var(--jp-ui-font-color0); + display: block; + font-size: var(--jp-ui-font-size1); + height: 24px; + line-height: 14px; + padding: 0 25px 0 10px; + text-align: left; + -moz-appearance: none; + -webkit-appearance: none; +} + +/* Use our own theme for hover and option styles */ +.jp-HTMLSelect.jp-DefaultStyle select:hover, +.jp-HTMLSelect.jp-DefaultStyle select > option { + background-color: var(--jp-layout-color2); + color: var(--jp-ui-font-color0); +} +select { + box-sizing: border-box; +} + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +/* This file was auto-generated by ensurePackage() in @jupyterlab/buildutils */ + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +.jp-Collapse { + display: flex; + flex-direction: column; + align-items: stretch; + border-top: 1px solid var(--jp-border-color2); + border-bottom: 1px solid var(--jp-border-color2); +} + +.jp-Collapse-header { + padding: 1px 12px; + color: var(--jp-ui-font-color1); + background-color: var(--jp-layout-color1); + font-size: var(--jp-ui-font-size2); +} + +.jp-Collapse-header:hover { + background-color: var(--jp-layout-color2); +} + +.jp-Collapse-contents { + padding: 0px 12px 0px 12px; + background-color: var(--jp-layout-color1); + color: var(--jp-ui-font-color1); + overflow: auto; +} + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------- +| Variables +|----------------------------------------------------------------------------*/ + +:root { + --jp-private-commandpalette-search-height: 28px; +} + +/*----------------------------------------------------------------------------- +| Overall styles +|----------------------------------------------------------------------------*/ + +.lm-CommandPalette { + padding-bottom: 0px; + color: var(--jp-ui-font-color1); + background: var(--jp-layout-color1); + /* This is needed so that all font sizing of children done in ems is + * relative to this base size */ + font-size: var(--jp-ui-font-size1); +} + +/*----------------------------------------------------------------------------- +| Search +|----------------------------------------------------------------------------*/ + +.lm-CommandPalette-search { + padding: 4px; + background-color: var(--jp-layout-color1); + z-index: 2; +} + +.lm-CommandPalette-wrapper { + overflow: overlay; + padding: 0px 9px; + background-color: var(--jp-input-active-background); + height: 30px; + box-shadow: inset 0 0 0 var(--jp-border-width) var(--jp-input-border-color); +} + +.lm-CommandPalette.lm-mod-focused .lm-CommandPalette-wrapper { + box-shadow: inset 0 0 0 1px var(--jp-input-active-box-shadow-color), + inset 0 0 0 3px var(--jp-input-active-box-shadow-color); +} + +.lm-CommandPalette-wrapper::after { + content: ' '; + color: white; + background-color: var(--jp-brand-color1); + position: absolute; + top: 4px; + right: 4px; + height: 30px; + width: 10px; + padding: 0px 10px; + background-image: var(--jp-icon-search-white); + background-size: 20px; + background-repeat: no-repeat; + background-position: center; +} + +.lm-CommandPalette-input { + background: transparent; + width: calc(100% - 18px); + float: left; + border: none; + outline: none; + font-size: var(--jp-ui-font-size1); + color: var(--jp-ui-font-color0); + line-height: var(--jp-private-commandpalette-search-height); +} + +.lm-CommandPalette-input::-webkit-input-placeholder, +.lm-CommandPalette-input::-moz-placeholder, +.lm-CommandPalette-input:-ms-input-placeholder { + color: var(--jp-ui-font-color3); + font-size: var(--jp-ui-font-size1); +} + +/*----------------------------------------------------------------------------- +| Results +|----------------------------------------------------------------------------*/ + +.lm-CommandPalette-header:first-child { + margin-top: 0px; +} + +.lm-CommandPalette-header { + border-bottom: solid var(--jp-border-width) var(--jp-border-color2); + color: var(--jp-ui-font-color1); + cursor: pointer; + display: flex; + font-size: var(--jp-ui-font-size0); + font-weight: 600; + letter-spacing: 1px; + margin-top: 8px; + padding: 8px 0 8px 12px; + text-transform: uppercase; +} + +.lm-CommandPalette-header.lm-mod-active { + background: var(--jp-layout-color2); +} + +.lm-CommandPalette-header > mark { + background-color: transparent; + font-weight: bold; + color: var(--jp-ui-font-color1); +} + +.lm-CommandPalette-item { + padding: 4px 12px 4px 4px; + color: var(--jp-ui-font-color1); + font-size: var(--jp-ui-font-size1); + font-weight: 400; + display: flex; +} + +.lm-CommandPalette-item.lm-mod-disabled { + color: var(--jp-ui-font-color3); +} + +.lm-CommandPalette-item.lm-mod-active { + background: var(--jp-layout-color3); +} + +.lm-CommandPalette-item.lm-mod-active:hover:not(.lm-mod-disabled) { + background: var(--jp-layout-color4); +} + +.lm-CommandPalette-item:hover:not(.lm-mod-active):not(.lm-mod-disabled) { + background: var(--jp-layout-color2); +} + +.lm-CommandPalette-itemContent { + overflow: hidden; +} + +.lm-CommandPalette-itemLabel > mark { + color: var(--jp-ui-font-color0); + background-color: transparent; + font-weight: bold; +} + +.lm-CommandPalette-item.lm-mod-disabled mark { + color: var(--jp-ui-font-color3); +} + +.lm-CommandPalette-item .lm-CommandPalette-itemIcon { + margin: 0 4px 0 0; + position: relative; + width: 16px; + top: 2px; + flex: 0 0 auto; +} + +.lm-CommandPalette-item.lm-mod-disabled .lm-CommandPalette-itemIcon { + opacity: 0.4; +} + +.lm-CommandPalette-item .lm-CommandPalette-itemShortcut { + flex: 0 0 auto; +} + +.lm-CommandPalette-itemCaption { + display: none; +} + +.lm-CommandPalette-content { + background-color: var(--jp-layout-color1); +} + +.lm-CommandPalette-content:empty:after { + content: 'No results'; + margin: auto; + margin-top: 20px; + width: 100px; + display: block; + font-size: var(--jp-ui-font-size2); + font-family: var(--jp-ui-font-family); + font-weight: lighter; +} + +.lm-CommandPalette-emptyMessage { + text-align: center; + margin-top: 24px; + line-height: 1.32; + padding: 0px 8px; + color: var(--jp-content-font-color3); +} + +/*----------------------------------------------------------------------------- +| Copyright (c) 2014-2017, Jupyter Development Team. +| +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +.jp-Dialog { + position: absolute; + z-index: 10000; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + top: 0px; + left: 0px; + margin: 0; + padding: 0; + width: 100%; + height: 100%; + background: var(--jp-dialog-background); +} + +.jp-Dialog-content { + display: flex; + flex-direction: column; + margin-left: auto; + margin-right: auto; + background: var(--jp-layout-color1); + padding: 24px; + padding-bottom: 12px; + min-width: 300px; + min-height: 150px; + max-width: 1000px; + max-height: 500px; + box-sizing: border-box; + box-shadow: var(--jp-elevation-z20); + word-wrap: break-word; + border-radius: var(--jp-border-radius); + /* This is needed so that all font sizing of children done in ems is + * relative to this base size */ + font-size: var(--jp-ui-font-size1); + color: var(--jp-ui-font-color1); +} + +.jp-Dialog-button { + overflow: visible; +} + +button.jp-Dialog-button:focus { + outline: 1px solid var(--jp-brand-color1); + outline-offset: 4px; + -moz-outline-radius: 0px; +} + +button.jp-Dialog-button:focus::-moz-focus-inner { + border: 0; +} + +.jp-Dialog-header { + flex: 0 0 auto; + padding-bottom: 12px; + font-size: var(--jp-ui-font-size3); + font-weight: 400; + color: var(--jp-ui-font-color0); +} + +.jp-Dialog-body { + display: flex; + flex-direction: column; + flex: 1 1 auto; + font-size: var(--jp-ui-font-size1); + background: var(--jp-layout-color1); + overflow: auto; +} + +.jp-Dialog-footer { + display: flex; + flex-direction: row; + justify-content: flex-end; + flex: 0 0 auto; + margin-left: -12px; + margin-right: -12px; + padding: 12px; +} + +.jp-Dialog-title { + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} + +.jp-Dialog-body > .jp-select-wrapper { + width: 100%; +} + +.jp-Dialog-body > button { + padding: 0px 16px; +} + +.jp-Dialog-body > label { + line-height: 1.4; + color: var(--jp-ui-font-color0); +} + +.jp-Dialog-button.jp-mod-styled:not(:last-child) { + margin-right: 12px; +} + +/*----------------------------------------------------------------------------- +| Copyright (c) 2014-2016, Jupyter Development Team. +| +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +.jp-HoverBox { + position: fixed; +} + +.jp-HoverBox.jp-mod-outofview { + display: none; +} + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +.jp-IFrame { + width: 100%; + height: 100%; +} + +.jp-IFrame > iframe { + border: none; +} + +/* +When drag events occur, `p-mod-override-cursor` is added to the body. +Because iframes steal all cursor events, the following two rules are necessary +to suppress pointer events while resize drags are occurring. There may be a +better solution to this problem. +*/ +body.lm-mod-override-cursor .jp-IFrame { + position: relative; +} + +body.lm-mod-override-cursor .jp-IFrame:before { + content: ''; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: transparent; +} + +/*----------------------------------------------------------------------------- +| Copyright (c) 2014-2016, Jupyter Development Team. +| +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +.jp-MainAreaWidget > :focus { + outline: none; +} + +/** + * google-material-color v1.2.6 + * https://github.com/danlevan/google-material-color + */ +:root { + --md-red-50: #ffebee; + --md-red-100: #ffcdd2; + --md-red-200: #ef9a9a; + --md-red-300: #e57373; + --md-red-400: #ef5350; + --md-red-500: #f44336; + --md-red-600: #e53935; + --md-red-700: #d32f2f; + --md-red-800: #c62828; + --md-red-900: #b71c1c; + --md-red-A100: #ff8a80; + --md-red-A200: #ff5252; + --md-red-A400: #ff1744; + --md-red-A700: #d50000; + + --md-pink-50: #fce4ec; + --md-pink-100: #f8bbd0; + --md-pink-200: #f48fb1; + --md-pink-300: #f06292; + --md-pink-400: #ec407a; + --md-pink-500: #e91e63; + --md-pink-600: #d81b60; + --md-pink-700: #c2185b; + --md-pink-800: #ad1457; + --md-pink-900: #880e4f; + --md-pink-A100: #ff80ab; + --md-pink-A200: #ff4081; + --md-pink-A400: #f50057; + --md-pink-A700: #c51162; + + --md-purple-50: #f3e5f5; + --md-purple-100: #e1bee7; + --md-purple-200: #ce93d8; + --md-purple-300: #ba68c8; + --md-purple-400: #ab47bc; + --md-purple-500: #9c27b0; + --md-purple-600: #8e24aa; + --md-purple-700: #7b1fa2; + --md-purple-800: #6a1b9a; + --md-purple-900: #4a148c; + --md-purple-A100: #ea80fc; + --md-purple-A200: #e040fb; + --md-purple-A400: #d500f9; + --md-purple-A700: #aa00ff; + + --md-deep-purple-50: #ede7f6; + --md-deep-purple-100: #d1c4e9; + --md-deep-purple-200: #b39ddb; + --md-deep-purple-300: #9575cd; + --md-deep-purple-400: #7e57c2; + --md-deep-purple-500: #673ab7; + --md-deep-purple-600: #5e35b1; + --md-deep-purple-700: #512da8; + --md-deep-purple-800: #4527a0; + --md-deep-purple-900: #311b92; + --md-deep-purple-A100: #b388ff; + --md-deep-purple-A200: #7c4dff; + --md-deep-purple-A400: #651fff; + --md-deep-purple-A700: #6200ea; + + --md-indigo-50: #e8eaf6; + --md-indigo-100: #c5cae9; + --md-indigo-200: #9fa8da; + --md-indigo-300: #7986cb; + --md-indigo-400: #5c6bc0; + --md-indigo-500: #3f51b5; + --md-indigo-600: #3949ab; + --md-indigo-700: #303f9f; + --md-indigo-800: #283593; + --md-indigo-900: #1a237e; + --md-indigo-A100: #8c9eff; + --md-indigo-A200: #536dfe; + --md-indigo-A400: #3d5afe; + --md-indigo-A700: #304ffe; + + --md-blue-50: #e3f2fd; + --md-blue-100: #bbdefb; + --md-blue-200: #90caf9; + --md-blue-300: #64b5f6; + --md-blue-400: #42a5f5; + --md-blue-500: #2196f3; + --md-blue-600: #1e88e5; + --md-blue-700: #1976d2; + --md-blue-800: #1565c0; + --md-blue-900: #0d47a1; + --md-blue-A100: #82b1ff; + --md-blue-A200: #448aff; + --md-blue-A400: #2979ff; + --md-blue-A700: #2962ff; + + --md-light-blue-50: #e1f5fe; + --md-light-blue-100: #b3e5fc; + --md-light-blue-200: #81d4fa; + --md-light-blue-300: #4fc3f7; + --md-light-blue-400: #29b6f6; + --md-light-blue-500: #03a9f4; + --md-light-blue-600: #039be5; + --md-light-blue-700: #0288d1; + --md-light-blue-800: #0277bd; + --md-light-blue-900: #01579b; + --md-light-blue-A100: #80d8ff; + --md-light-blue-A200: #40c4ff; + --md-light-blue-A400: #00b0ff; + --md-light-blue-A700: #0091ea; + + --md-cyan-50: #e0f7fa; + --md-cyan-100: #b2ebf2; + --md-cyan-200: #80deea; + --md-cyan-300: #4dd0e1; + --md-cyan-400: #26c6da; + --md-cyan-500: #00bcd4; + --md-cyan-600: #00acc1; + --md-cyan-700: #0097a7; + --md-cyan-800: #00838f; + --md-cyan-900: #006064; + --md-cyan-A100: #84ffff; + --md-cyan-A200: #18ffff; + --md-cyan-A400: #00e5ff; + --md-cyan-A700: #00b8d4; + + --md-teal-50: #e0f2f1; + --md-teal-100: #b2dfdb; + --md-teal-200: #80cbc4; + --md-teal-300: #4db6ac; + --md-teal-400: #26a69a; + --md-teal-500: #009688; + --md-teal-600: #00897b; + --md-teal-700: #00796b; + --md-teal-800: #00695c; + --md-teal-900: #004d40; + --md-teal-A100: #a7ffeb; + --md-teal-A200: #64ffda; + --md-teal-A400: #1de9b6; + --md-teal-A700: #00bfa5; + + --md-green-50: #e8f5e9; + --md-green-100: #c8e6c9; + --md-green-200: #a5d6a7; + --md-green-300: #81c784; + --md-green-400: #66bb6a; + --md-green-500: #4caf50; + --md-green-600: #43a047; + --md-green-700: #388e3c; + --md-green-800: #2e7d32; + --md-green-900: #1b5e20; + --md-green-A100: #b9f6ca; + --md-green-A200: #69f0ae; + --md-green-A400: #00e676; + --md-green-A700: #00c853; + + --md-light-green-50: #f1f8e9; + --md-light-green-100: #dcedc8; + --md-light-green-200: #c5e1a5; + --md-light-green-300: #aed581; + --md-light-green-400: #9ccc65; + --md-light-green-500: #8bc34a; + --md-light-green-600: #7cb342; + --md-light-green-700: #689f38; + --md-light-green-800: #558b2f; + --md-light-green-900: #33691e; + --md-light-green-A100: #ccff90; + --md-light-green-A200: #b2ff59; + --md-light-green-A400: #76ff03; + --md-light-green-A700: #64dd17; + + --md-lime-50: #f9fbe7; + --md-lime-100: #f0f4c3; + --md-lime-200: #e6ee9c; + --md-lime-300: #dce775; + --md-lime-400: #d4e157; + --md-lime-500: #cddc39; + --md-lime-600: #c0ca33; + --md-lime-700: #afb42b; + --md-lime-800: #9e9d24; + --md-lime-900: #827717; + --md-lime-A100: #f4ff81; + --md-lime-A200: #eeff41; + --md-lime-A400: #c6ff00; + --md-lime-A700: #aeea00; + + --md-yellow-50: #fffde7; + --md-yellow-100: #fff9c4; + --md-yellow-200: #fff59d; + --md-yellow-300: #fff176; + --md-yellow-400: #ffee58; + --md-yellow-500: #ffeb3b; + --md-yellow-600: #fdd835; + --md-yellow-700: #fbc02d; + --md-yellow-800: #f9a825; + --md-yellow-900: #f57f17; + --md-yellow-A100: #ffff8d; + --md-yellow-A200: #ffff00; + --md-yellow-A400: #ffea00; + --md-yellow-A700: #ffd600; + + --md-amber-50: #fff8e1; + --md-amber-100: #ffecb3; + --md-amber-200: #ffe082; + --md-amber-300: #ffd54f; + --md-amber-400: #ffca28; + --md-amber-500: #ffc107; + --md-amber-600: #ffb300; + --md-amber-700: #ffa000; + --md-amber-800: #ff8f00; + --md-amber-900: #ff6f00; + --md-amber-A100: #ffe57f; + --md-amber-A200: #ffd740; + --md-amber-A400: #ffc400; + --md-amber-A700: #ffab00; + + --md-orange-50: #fff3e0; + --md-orange-100: #ffe0b2; + --md-orange-200: #ffcc80; + --md-orange-300: #ffb74d; + --md-orange-400: #ffa726; + --md-orange-500: #ff9800; + --md-orange-600: #fb8c00; + --md-orange-700: #f57c00; + --md-orange-800: #ef6c00; + --md-orange-900: #e65100; + --md-orange-A100: #ffd180; + --md-orange-A200: #ffab40; + --md-orange-A400: #ff9100; + --md-orange-A700: #ff6d00; + + --md-deep-orange-50: #fbe9e7; + --md-deep-orange-100: #ffccbc; + --md-deep-orange-200: #ffab91; + --md-deep-orange-300: #ff8a65; + --md-deep-orange-400: #ff7043; + --md-deep-orange-500: #ff5722; + --md-deep-orange-600: #f4511e; + --md-deep-orange-700: #e64a19; + --md-deep-orange-800: #d84315; + --md-deep-orange-900: #bf360c; + --md-deep-orange-A100: #ff9e80; + --md-deep-orange-A200: #ff6e40; + --md-deep-orange-A400: #ff3d00; + --md-deep-orange-A700: #dd2c00; + + --md-brown-50: #efebe9; + --md-brown-100: #d7ccc8; + --md-brown-200: #bcaaa4; + --md-brown-300: #a1887f; + --md-brown-400: #8d6e63; + --md-brown-500: #795548; + --md-brown-600: #6d4c41; + --md-brown-700: #5d4037; + --md-brown-800: #4e342e; + --md-brown-900: #3e2723; + + --md-grey-50: #fafafa; + --md-grey-100: #f5f5f5; + --md-grey-200: #eeeeee; + --md-grey-300: #e0e0e0; + --md-grey-400: #bdbdbd; + --md-grey-500: #9e9e9e; + --md-grey-600: #757575; + --md-grey-700: #616161; + --md-grey-800: #424242; + --md-grey-900: #212121; + + --md-blue-grey-50: #eceff1; + --md-blue-grey-100: #cfd8dc; + --md-blue-grey-200: #b0bec5; + --md-blue-grey-300: #90a4ae; + --md-blue-grey-400: #78909c; + --md-blue-grey-500: #607d8b; + --md-blue-grey-600: #546e7a; + --md-blue-grey-700: #455a64; + --md-blue-grey-800: #37474f; + --md-blue-grey-900: #263238; +} + +/*----------------------------------------------------------------------------- +| Copyright (c) 2017, Jupyter Development Team. +| +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +.jp-Spinner { + position: absolute; + display: flex; + justify-content: center; + align-items: center; + z-index: 10; + left: 0; + top: 0; + width: 100%; + height: 100%; + background: var(--jp-layout-color0); + outline: none; +} + +.jp-SpinnerContent { + font-size: 10px; + margin: 50px auto; + text-indent: -9999em; + width: 3em; + height: 3em; + border-radius: 50%; + background: var(--jp-brand-color3); + background: linear-gradient( + to right, + #f37626 10%, + rgba(255, 255, 255, 0) 42% + ); + position: relative; + animation: load3 1s infinite linear, fadeIn 1s; +} + +.jp-SpinnerContent:before { + width: 50%; + height: 50%; + background: #f37626; + border-radius: 100% 0 0 0; + position: absolute; + top: 0; + left: 0; + content: ''; +} + +.jp-SpinnerContent:after { + background: var(--jp-layout-color0); + width: 75%; + height: 75%; + border-radius: 50%; + content: ''; + margin: auto; + position: absolute; + top: 0; + left: 0; + bottom: 0; + right: 0; +} + +@keyframes fadeIn { + 0% { + opacity: 0; + } + 100% { + opacity: 1; + } +} + +@keyframes load3 { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(360deg); + } +} + +/*----------------------------------------------------------------------------- +| Copyright (c) 2014-2017, Jupyter Development Team. +| +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +button.jp-mod-styled { + font-size: var(--jp-ui-font-size1); + color: var(--jp-ui-font-color0); + border: none; + box-sizing: border-box; + text-align: center; + line-height: 32px; + height: 32px; + padding: 0px 12px; + letter-spacing: 0.8px; + outline: none; + appearance: none; + -webkit-appearance: none; + -moz-appearance: none; +} + +input.jp-mod-styled { + background: var(--jp-input-background); + height: 28px; + box-sizing: border-box; + border: var(--jp-border-width) solid var(--jp-border-color1); + padding-left: 7px; + padding-right: 7px; + font-size: var(--jp-ui-font-size2); + color: var(--jp-ui-font-color0); + outline: none; + appearance: none; + -webkit-appearance: none; + -moz-appearance: none; +} + +input.jp-mod-styled:focus { + border: var(--jp-border-width) solid var(--md-blue-500); + box-shadow: inset 0 0 4px var(--md-blue-300); +} + +.jp-select-wrapper { + display: flex; + position: relative; + flex-direction: column; + padding: 1px; + background-color: var(--jp-layout-color1); + height: 28px; + box-sizing: border-box; + margin-bottom: 12px; +} + +.jp-select-wrapper.jp-mod-focused select.jp-mod-styled { + border: var(--jp-border-width) solid var(--jp-input-active-border-color); + box-shadow: var(--jp-input-box-shadow); + background-color: var(--jp-input-active-background); +} + +select.jp-mod-styled:hover { + background-color: var(--jp-layout-color1); + cursor: pointer; + color: var(--jp-ui-font-color0); + background-color: var(--jp-input-hover-background); + box-shadow: inset 0 0px 1px rgba(0, 0, 0, 0.5); +} + +select.jp-mod-styled { + flex: 1 1 auto; + height: 32px; + width: 100%; + font-size: var(--jp-ui-font-size2); + background: var(--jp-input-background); + color: var(--jp-ui-font-color0); + padding: 0 25px 0 8px; + border: var(--jp-border-width) solid var(--jp-input-border-color); + border-radius: 0px; + outline: none; + appearance: none; + -webkit-appearance: none; + -moz-appearance: none; +} + +/*----------------------------------------------------------------------------- +| Copyright (c) 2014-2016, Jupyter Development Team. +| +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +:root { + --jp-private-toolbar-height: calc( + 28px + var(--jp-border-width) + ); /* leave 28px for content */ +} + +.jp-Toolbar { + color: var(--jp-ui-font-color1); + flex: 0 0 auto; + display: flex; + flex-direction: row; + border-bottom: var(--jp-border-width) solid var(--jp-toolbar-border-color); + box-shadow: var(--jp-toolbar-box-shadow); + background: var(--jp-toolbar-background); + min-height: var(--jp-toolbar-micro-height); + padding: 2px; + z-index: 1; +} + +/* Toolbar items */ + +.jp-Toolbar > .jp-Toolbar-item.jp-Toolbar-spacer { + flex-grow: 1; + flex-shrink: 1; +} + +.jp-Toolbar-item.jp-Toolbar-kernelStatus { + display: inline-block; + width: 32px; + background-repeat: no-repeat; + background-position: center; + background-size: 16px; +} + +.jp-Toolbar > .jp-Toolbar-item { + flex: 0 0 auto; + display: flex; + padding-left: 1px; + padding-right: 1px; + font-size: var(--jp-ui-font-size1); + line-height: var(--jp-private-toolbar-height); + height: 100%; +} + +/* Toolbar buttons */ + +/* This is the div we use to wrap the react component into a Widget */ +div.jp-ToolbarButton { + color: transparent; + border: none; + box-sizing: border-box; + outline: none; + appearance: none; + -webkit-appearance: none; + -moz-appearance: none; + padding: 0px; + margin: 0px; +} + +button.jp-ToolbarButtonComponent { + background: var(--jp-layout-color1); + border: none; + box-sizing: border-box; + outline: none; + appearance: none; + -webkit-appearance: none; + -moz-appearance: none; + padding: 0px 6px; + margin: 0px; + height: 24px; + border-radius: var(--jp-border-radius); + display: flex; + align-items: center; + text-align: center; + font-size: 14px; + min-width: unset; + min-height: unset; +} + +button.jp-ToolbarButtonComponent:disabled { + opacity: 0.4; +} + +button.jp-ToolbarButtonComponent span { + padding: 0px; + flex: 0 0 auto; +} + +button.jp-ToolbarButtonComponent .jp-ToolbarButtonComponent-label { + font-size: var(--jp-ui-font-size1); + line-height: 100%; + padding-left: 2px; + color: var(--jp-ui-font-color1); +} + +/*----------------------------------------------------------------------------- +| Copyright (c) 2014-2017, Jupyter Development Team. +| +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +/* This file was auto-generated by ensurePackage() in @jupyterlab/buildutils */ + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Copyright (c) 2014-2017, PhosphorJS Contributors +| +| Distributed under the terms of the BSD 3-Clause License. +| +| The full license is in the file LICENSE, distributed with this software. +|----------------------------------------------------------------------------*/ + + +/* <DEPRECATED> */ body.p-mod-override-cursor *, /* </DEPRECATED> */ +body.lm-mod-override-cursor * { + cursor: inherit !important; +} + +/*----------------------------------------------------------------------------- +| Copyright (c) 2014-2016, Jupyter Development Team. +| +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +.jp-JSONEditor { + display: flex; + flex-direction: column; + width: 100%; +} + +.jp-JSONEditor-host { + flex: 1 1 auto; + border: var(--jp-border-width) solid var(--jp-input-border-color); + border-radius: 0px; + background: var(--jp-layout-color0); + min-height: 50px; + padding: 1px; +} + +.jp-JSONEditor.jp-mod-error .jp-JSONEditor-host { + border-color: red; + outline-color: red; +} + +.jp-JSONEditor-header { + display: flex; + flex: 1 0 auto; + padding: 0 0 0 12px; +} + +.jp-JSONEditor-header label { + flex: 0 0 auto; +} + +.jp-JSONEditor-commitButton { + height: 16px; + width: 16px; + background-size: 18px; + background-repeat: no-repeat; + background-position: center; +} + +.jp-JSONEditor-host.jp-mod-focused { + background-color: var(--jp-input-active-background); + border: 1px solid var(--jp-input-active-border-color); + box-shadow: var(--jp-input-box-shadow); +} + +.jp-Editor.jp-mod-dropTarget { + border: var(--jp-border-width) solid var(--jp-input-active-border-color); + box-shadow: var(--jp-input-box-shadow); +} + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +/* This file was auto-generated by ensurePackage() in @jupyterlab/buildutils */ + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +/* BASICS */ + +.CodeMirror { + /* Set height, width, borders, and global font properties here */ + font-family: monospace; + height: 300px; + color: black; + direction: ltr; +} + +/* PADDING */ + +.CodeMirror-lines { + padding: 4px 0; /* Vertical padding around content */ +} +.CodeMirror pre.CodeMirror-line, +.CodeMirror pre.CodeMirror-line-like { + padding: 0 4px; /* Horizontal padding of content */ +} + +.CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler { + background-color: white; /* The little square between H and V scrollbars */ +} + +/* GUTTER */ + +.CodeMirror-gutters { + border-right: 1px solid #ddd; + background-color: #f7f7f7; + white-space: nowrap; +} +.CodeMirror-linenumbers {} +.CodeMirror-linenumber { + padding: 0 3px 0 5px; + min-width: 20px; + text-align: right; + color: #999; + white-space: nowrap; +} + +.CodeMirror-guttermarker { color: black; } +.CodeMirror-guttermarker-subtle { color: #999; } + +/* CURSOR */ + +.CodeMirror-cursor { + border-left: 1px solid black; + border-right: none; + width: 0; +} +/* Shown when moving in bi-directional text */ +.CodeMirror div.CodeMirror-secondarycursor { + border-left: 1px solid silver; +} +.cm-fat-cursor .CodeMirror-cursor { + width: auto; + border: 0 !important; + background: #7e7; +} +.cm-fat-cursor div.CodeMirror-cursors { + z-index: 1; +} +.cm-fat-cursor-mark { + background-color: rgba(20, 255, 20, 0.5); + -webkit-animation: blink 1.06s steps(1) infinite; + -moz-animation: blink 1.06s steps(1) infinite; + animation: blink 1.06s steps(1) infinite; +} +.cm-animate-fat-cursor { + width: auto; + border: 0; + -webkit-animation: blink 1.06s steps(1) infinite; + -moz-animation: blink 1.06s steps(1) infinite; + animation: blink 1.06s steps(1) infinite; + background-color: #7e7; +} +@-moz-keyframes blink { + 0% {} + 50% { background-color: transparent; } + 100% {} +} +@-webkit-keyframes blink { + 0% {} + 50% { background-color: transparent; } + 100% {} +} +@keyframes blink { + 0% {} + 50% { background-color: transparent; } + 100% {} +} + +/* Can style cursor different in overwrite (non-insert) mode */ +.CodeMirror-overwrite .CodeMirror-cursor {} + +.cm-tab { display: inline-block; text-decoration: inherit; } + +.CodeMirror-rulers { + position: absolute; + left: 0; right: 0; top: -50px; bottom: 0; + overflow: hidden; +} +.CodeMirror-ruler { + border-left: 1px solid #ccc; + top: 0; bottom: 0; + position: absolute; +} + +/* DEFAULT THEME */ + +.cm-s-default .cm-header {color: blue;} +.cm-s-default .cm-quote {color: #090;} +.cm-negative {color: #d44;} +.cm-positive {color: #292;} +.cm-header, .cm-strong {font-weight: bold;} +.cm-em {font-style: italic;} +.cm-link {text-decoration: underline;} +.cm-strikethrough {text-decoration: line-through;} + +.cm-s-default .cm-keyword {color: #708;} +.cm-s-default .cm-atom {color: #219;} +.cm-s-default .cm-number {color: #164;} +.cm-s-default .cm-def {color: #00f;} +.cm-s-default .cm-variable, +.cm-s-default .cm-punctuation, +.cm-s-default .cm-property, +.cm-s-default .cm-operator {} +.cm-s-default .cm-variable-2 {color: #05a;} +.cm-s-default .cm-variable-3, .cm-s-default .cm-type {color: #085;} +.cm-s-default .cm-comment {color: #a50;} +.cm-s-default .cm-string {color: #a11;} +.cm-s-default .cm-string-2 {color: #f50;} +.cm-s-default .cm-meta {color: #555;} +.cm-s-default .cm-qualifier {color: #555;} +.cm-s-default .cm-builtin {color: #30a;} +.cm-s-default .cm-bracket {color: #997;} +.cm-s-default .cm-tag {color: #170;} +.cm-s-default .cm-attribute {color: #00c;} +.cm-s-default .cm-hr {color: #999;} +.cm-s-default .cm-link {color: #00c;} + +.cm-s-default .cm-error {color: #f00;} +.cm-invalidchar {color: #f00;} + +.CodeMirror-composing { border-bottom: 2px solid; } + +/* Default styles for common addons */ + +div.CodeMirror span.CodeMirror-matchingbracket {color: #0b0;} +div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #a22;} +.CodeMirror-matchingtag { background: rgba(255, 150, 0, .3); } +.CodeMirror-activeline-background {background: #e8f2ff;} + +/* STOP */ + +/* The rest of this file contains styles related to the mechanics of + the editor. You probably shouldn't touch them. */ + +.CodeMirror { + position: relative; + overflow: hidden; + background: white; +} + +.CodeMirror-scroll { + overflow: scroll !important; /* Things will break if this is overridden */ + /* 30px is the magic margin used to hide the element's real scrollbars */ + /* See overflow: hidden in .CodeMirror */ + margin-bottom: -30px; margin-right: -30px; + padding-bottom: 30px; + height: 100%; + outline: none; /* Prevent dragging from highlighting the element */ + position: relative; +} +.CodeMirror-sizer { + position: relative; + border-right: 30px solid transparent; +} + +/* The fake, visible scrollbars. Used to force redraw during scrolling + before actual scrolling happens, thus preventing shaking and + flickering artifacts. */ +.CodeMirror-vscrollbar, .CodeMirror-hscrollbar, .CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler { + position: absolute; + z-index: 6; + display: none; +} +.CodeMirror-vscrollbar { + right: 0; top: 0; + overflow-x: hidden; + overflow-y: scroll; +} +.CodeMirror-hscrollbar { + bottom: 0; left: 0; + overflow-y: hidden; + overflow-x: scroll; +} +.CodeMirror-scrollbar-filler { + right: 0; bottom: 0; +} +.CodeMirror-gutter-filler { + left: 0; bottom: 0; +} + +.CodeMirror-gutters { + position: absolute; left: 0; top: 0; + min-height: 100%; + z-index: 3; +} +.CodeMirror-gutter { + white-space: normal; + height: 100%; + display: inline-block; + vertical-align: top; + margin-bottom: -30px; +} +.CodeMirror-gutter-wrapper { + position: absolute; + z-index: 4; + background: none !important; + border: none !important; +} +.CodeMirror-gutter-background { + position: absolute; + top: 0; bottom: 0; + z-index: 4; +} +.CodeMirror-gutter-elt { + position: absolute; + cursor: default; + z-index: 4; +} +.CodeMirror-gutter-wrapper ::selection { background-color: transparent } +.CodeMirror-gutter-wrapper ::-moz-selection { background-color: transparent } + +.CodeMirror-lines { + cursor: text; + min-height: 1px; /* prevents collapsing before first draw */ +} +.CodeMirror pre.CodeMirror-line, +.CodeMirror pre.CodeMirror-line-like { + /* Reset some styles that the rest of the page might have set */ + -moz-border-radius: 0; -webkit-border-radius: 0; border-radius: 0; + border-width: 0; + background: transparent; + font-family: inherit; + font-size: inherit; + margin: 0; + white-space: pre; + word-wrap: normal; + line-height: inherit; + color: inherit; + z-index: 2; + position: relative; + overflow: visible; + -webkit-tap-highlight-color: transparent; + -webkit-font-variant-ligatures: contextual; + font-variant-ligatures: contextual; +} +.CodeMirror-wrap pre.CodeMirror-line, +.CodeMirror-wrap pre.CodeMirror-line-like { + word-wrap: break-word; + white-space: pre-wrap; + word-break: normal; +} + +.CodeMirror-linebackground { + position: absolute; + left: 0; right: 0; top: 0; bottom: 0; + z-index: 0; +} + +.CodeMirror-linewidget { + position: relative; + z-index: 2; + padding: 0.1px; /* Force widget margins to stay inside of the container */ +} + +.CodeMirror-widget {} + +.CodeMirror-rtl pre { direction: rtl; } + +.CodeMirror-code { + outline: none; +} + +/* Force content-box sizing for the elements where we expect it */ +.CodeMirror-scroll, +.CodeMirror-sizer, +.CodeMirror-gutter, +.CodeMirror-gutters, +.CodeMirror-linenumber { + -moz-box-sizing: content-box; + box-sizing: content-box; +} + +.CodeMirror-measure { + position: absolute; + width: 100%; + height: 0; + overflow: hidden; + visibility: hidden; +} + +.CodeMirror-cursor { + position: absolute; + pointer-events: none; +} +.CodeMirror-measure pre { position: static; } + +div.CodeMirror-cursors { + visibility: hidden; + position: relative; + z-index: 3; +} +div.CodeMirror-dragcursors { + visibility: visible; +} + +.CodeMirror-focused div.CodeMirror-cursors { + visibility: visible; +} + +.CodeMirror-selected { background: #d9d9d9; } +.CodeMirror-focused .CodeMirror-selected { background: #d7d4f0; } +.CodeMirror-crosshair { cursor: crosshair; } +.CodeMirror-line::selection, .CodeMirror-line > span::selection, .CodeMirror-line > span > span::selection { background: #d7d4f0; } +.CodeMirror-line::-moz-selection, .CodeMirror-line > span::-moz-selection, .CodeMirror-line > span > span::-moz-selection { background: #d7d4f0; } + +.cm-searching { + background-color: #ffa; + background-color: rgba(255, 255, 0, .4); +} + +/* Used to force a border model for a node */ +.cm-force-border { padding-right: .1px; } + +@media print { + /* Hide the cursor when printing */ + .CodeMirror div.CodeMirror-cursors { + visibility: hidden; + } +} + +/* See issue #2901 */ +.cm-tab-wrap-hack:after { content: ''; } + +/* Help users use markselection to safely style text background */ +span.CodeMirror-selectedtext { background: none; } + +.CodeMirror-dialog { + position: absolute; + left: 0; right: 0; + background: inherit; + z-index: 15; + padding: .1em .8em; + overflow: hidden; + color: inherit; +} + +.CodeMirror-dialog-top { + border-bottom: 1px solid #eee; + top: 0; +} + +.CodeMirror-dialog-bottom { + border-top: 1px solid #eee; + bottom: 0; +} + +.CodeMirror-dialog input { + border: none; + outline: none; + background: transparent; + width: 20em; + color: inherit; + font-family: monospace; +} + +.CodeMirror-dialog button { + font-size: 70%; +} + +.CodeMirror-foldmarker { + color: blue; + text-shadow: #b9f 1px 1px 2px, #b9f -1px -1px 2px, #b9f 1px -1px 2px, #b9f -1px 1px 2px; + font-family: arial; + line-height: .3; + cursor: pointer; +} +.CodeMirror-foldgutter { + width: .7em; +} +.CodeMirror-foldgutter-open, +.CodeMirror-foldgutter-folded { + cursor: pointer; +} +.CodeMirror-foldgutter-open:after { + content: "\25BE"; +} +.CodeMirror-foldgutter-folded:after { + content: "\25B8"; +} + +/* + Name: material + Author: Mattia Astorino (http://github.com/equinusocio) + Website: https://material-theme.site/ +*/ + +.cm-s-material.CodeMirror { + background-color: #263238; + color: #EEFFFF; +} + +.cm-s-material .CodeMirror-gutters { + background: #263238; + color: #546E7A; + border: none; +} + +.cm-s-material .CodeMirror-guttermarker, +.cm-s-material .CodeMirror-guttermarker-subtle, +.cm-s-material .CodeMirror-linenumber { + color: #546E7A; +} + +.cm-s-material .CodeMirror-cursor { + border-left: 1px solid #FFCC00; +} + +.cm-s-material div.CodeMirror-selected { + background: rgba(128, 203, 196, 0.2); +} + +.cm-s-material.CodeMirror-focused div.CodeMirror-selected { + background: rgba(128, 203, 196, 0.2); +} + +.cm-s-material .CodeMirror-line::selection, +.cm-s-material .CodeMirror-line>span::selection, +.cm-s-material .CodeMirror-line>span>span::selection { + background: rgba(128, 203, 196, 0.2); +} + +.cm-s-material .CodeMirror-line::-moz-selection, +.cm-s-material .CodeMirror-line>span::-moz-selection, +.cm-s-material .CodeMirror-line>span>span::-moz-selection { + background: rgba(128, 203, 196, 0.2); +} + +.cm-s-material .CodeMirror-activeline-background { + background: rgba(0, 0, 0, 0.5); +} + +.cm-s-material .cm-keyword { + color: #C792EA; +} + +.cm-s-material .cm-operator { + color: #89DDFF; +} + +.cm-s-material .cm-variable-2 { + color: #EEFFFF; +} + +.cm-s-material .cm-variable-3, +.cm-s-material .cm-type { + color: #f07178; +} + +.cm-s-material .cm-builtin { + color: #FFCB6B; +} + +.cm-s-material .cm-atom { + color: #F78C6C; +} + +.cm-s-material .cm-number { + color: #FF5370; +} + +.cm-s-material .cm-def { + color: #82AAFF; +} + +.cm-s-material .cm-string { + color: #C3E88D; +} + +.cm-s-material .cm-string-2 { + color: #f07178; +} + +.cm-s-material .cm-comment { + color: #546E7A; +} + +.cm-s-material .cm-variable { + color: #f07178; +} + +.cm-s-material .cm-tag { + color: #FF5370; +} + +.cm-s-material .cm-meta { + color: #FFCB6B; +} + +.cm-s-material .cm-attribute { + color: #C792EA; +} + +.cm-s-material .cm-property { + color: #C792EA; +} + +.cm-s-material .cm-qualifier { + color: #DECB6B; +} + +.cm-s-material .cm-variable-3, +.cm-s-material .cm-type { + color: #DECB6B; +} + + +.cm-s-material .cm-error { + color: rgba(255, 255, 255, 1.0); + background-color: #FF5370; +} + +.cm-s-material .CodeMirror-matchingbracket { + text-decoration: underline; + color: white !important; +} +/** + * " + * Using Zenburn color palette from the Emacs Zenburn Theme + * https://github.com/bbatsov/zenburn-emacs/blob/master/zenburn-theme.el + * + * Also using parts of https://github.com/xavi/coderay-lighttable-theme + * " + * From: https://github.com/wisenomad/zenburn-lighttable-theme/blob/master/zenburn.css + */ + +.cm-s-zenburn .CodeMirror-gutters { background: #3f3f3f !important; } +.cm-s-zenburn .CodeMirror-foldgutter-open, .CodeMirror-foldgutter-folded { color: #999; } +.cm-s-zenburn .CodeMirror-cursor { border-left: 1px solid white; } +.cm-s-zenburn { background-color: #3f3f3f; color: #dcdccc; } +.cm-s-zenburn span.cm-builtin { color: #dcdccc; font-weight: bold; } +.cm-s-zenburn span.cm-comment { color: #7f9f7f; } +.cm-s-zenburn span.cm-keyword { color: #f0dfaf; font-weight: bold; } +.cm-s-zenburn span.cm-atom { color: #bfebbf; } +.cm-s-zenburn span.cm-def { color: #dcdccc; } +.cm-s-zenburn span.cm-variable { color: #dfaf8f; } +.cm-s-zenburn span.cm-variable-2 { color: #dcdccc; } +.cm-s-zenburn span.cm-string { color: #cc9393; } +.cm-s-zenburn span.cm-string-2 { color: #cc9393; } +.cm-s-zenburn span.cm-number { color: #dcdccc; } +.cm-s-zenburn span.cm-tag { color: #93e0e3; } +.cm-s-zenburn span.cm-property { color: #dfaf8f; } +.cm-s-zenburn span.cm-attribute { color: #dfaf8f; } +.cm-s-zenburn span.cm-qualifier { color: #7cb8bb; } +.cm-s-zenburn span.cm-meta { color: #f0dfaf; } +.cm-s-zenburn span.cm-header { color: #f0efd0; } +.cm-s-zenburn span.cm-operator { color: #f0efd0; } +.cm-s-zenburn span.CodeMirror-matchingbracket { box-sizing: border-box; background: transparent; border-bottom: 1px solid; } +.cm-s-zenburn span.CodeMirror-nonmatchingbracket { border-bottom: 1px solid; background: none; } +.cm-s-zenburn .CodeMirror-activeline { background: #000000; } +.cm-s-zenburn .CodeMirror-activeline-background { background: #000000; } +.cm-s-zenburn div.CodeMirror-selected { background: #545454; } +.cm-s-zenburn .CodeMirror-focused div.CodeMirror-selected { background: #4f4f4f; } + +.cm-s-abcdef.CodeMirror { background: #0f0f0f; color: #defdef; } +.cm-s-abcdef div.CodeMirror-selected { background: #515151; } +.cm-s-abcdef .CodeMirror-line::selection, .cm-s-abcdef .CodeMirror-line > span::selection, .cm-s-abcdef .CodeMirror-line > span > span::selection { background: rgba(56, 56, 56, 0.99); } +.cm-s-abcdef .CodeMirror-line::-moz-selection, .cm-s-abcdef .CodeMirror-line > span::-moz-selection, .cm-s-abcdef .CodeMirror-line > span > span::-moz-selection { background: rgba(56, 56, 56, 0.99); } +.cm-s-abcdef .CodeMirror-gutters { background: #555; border-right: 2px solid #314151; } +.cm-s-abcdef .CodeMirror-guttermarker { color: #222; } +.cm-s-abcdef .CodeMirror-guttermarker-subtle { color: azure; } +.cm-s-abcdef .CodeMirror-linenumber { color: #FFFFFF; } +.cm-s-abcdef .CodeMirror-cursor { border-left: 1px solid #00FF00; } + +.cm-s-abcdef span.cm-keyword { color: darkgoldenrod; font-weight: bold; } +.cm-s-abcdef span.cm-atom { color: #77F; } +.cm-s-abcdef span.cm-number { color: violet; } +.cm-s-abcdef span.cm-def { color: #fffabc; } +.cm-s-abcdef span.cm-variable { color: #abcdef; } +.cm-s-abcdef span.cm-variable-2 { color: #cacbcc; } +.cm-s-abcdef span.cm-variable-3, .cm-s-abcdef span.cm-type { color: #def; } +.cm-s-abcdef span.cm-property { color: #fedcba; } +.cm-s-abcdef span.cm-operator { color: #ff0; } +.cm-s-abcdef span.cm-comment { color: #7a7b7c; font-style: italic;} +.cm-s-abcdef span.cm-string { color: #2b4; } +.cm-s-abcdef span.cm-meta { color: #C9F; } +.cm-s-abcdef span.cm-qualifier { color: #FFF700; } +.cm-s-abcdef span.cm-builtin { color: #30aabc; } +.cm-s-abcdef span.cm-bracket { color: #8a8a8a; } +.cm-s-abcdef span.cm-tag { color: #FFDD44; } +.cm-s-abcdef span.cm-attribute { color: #DDFF00; } +.cm-s-abcdef span.cm-error { color: #FF0000; } +.cm-s-abcdef span.cm-header { color: aquamarine; font-weight: bold; } +.cm-s-abcdef span.cm-link { color: blueviolet; } + +.cm-s-abcdef .CodeMirror-activeline-background { background: #314151; } + +/* + + Name: Base16 Default Light + Author: Chris Kempson (http://chriskempson.com) + + CodeMirror template by Jan T. Sott (https://github.com/idleberg/base16-codemirror) + Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ + +.cm-s-base16-light.CodeMirror { background: #f5f5f5; color: #202020; } +.cm-s-base16-light div.CodeMirror-selected { background: #e0e0e0; } +.cm-s-base16-light .CodeMirror-line::selection, .cm-s-base16-light .CodeMirror-line > span::selection, .cm-s-base16-light .CodeMirror-line > span > span::selection { background: #e0e0e0; } +.cm-s-base16-light .CodeMirror-line::-moz-selection, .cm-s-base16-light .CodeMirror-line > span::-moz-selection, .cm-s-base16-light .CodeMirror-line > span > span::-moz-selection { background: #e0e0e0; } +.cm-s-base16-light .CodeMirror-gutters { background: #f5f5f5; border-right: 0px; } +.cm-s-base16-light .CodeMirror-guttermarker { color: #ac4142; } +.cm-s-base16-light .CodeMirror-guttermarker-subtle { color: #b0b0b0; } +.cm-s-base16-light .CodeMirror-linenumber { color: #b0b0b0; } +.cm-s-base16-light .CodeMirror-cursor { border-left: 1px solid #505050; } + +.cm-s-base16-light span.cm-comment { color: #8f5536; } +.cm-s-base16-light span.cm-atom { color: #aa759f; } +.cm-s-base16-light span.cm-number { color: #aa759f; } + +.cm-s-base16-light span.cm-property, .cm-s-base16-light span.cm-attribute { color: #90a959; } +.cm-s-base16-light span.cm-keyword { color: #ac4142; } +.cm-s-base16-light span.cm-string { color: #f4bf75; } + +.cm-s-base16-light span.cm-variable { color: #90a959; } +.cm-s-base16-light span.cm-variable-2 { color: #6a9fb5; } +.cm-s-base16-light span.cm-def { color: #d28445; } +.cm-s-base16-light span.cm-bracket { color: #202020; } +.cm-s-base16-light span.cm-tag { color: #ac4142; } +.cm-s-base16-light span.cm-link { color: #aa759f; } +.cm-s-base16-light span.cm-error { background: #ac4142; color: #505050; } + +.cm-s-base16-light .CodeMirror-activeline-background { background: #DDDCDC; } +.cm-s-base16-light .CodeMirror-matchingbracket { color: #f5f5f5 !important; background-color: #6A9FB5 !important} + +/* + + Name: Base16 Default Dark + Author: Chris Kempson (http://chriskempson.com) + + CodeMirror template by Jan T. Sott (https://github.com/idleberg/base16-codemirror) + Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ + +.cm-s-base16-dark.CodeMirror { background: #151515; color: #e0e0e0; } +.cm-s-base16-dark div.CodeMirror-selected { background: #303030; } +.cm-s-base16-dark .CodeMirror-line::selection, .cm-s-base16-dark .CodeMirror-line > span::selection, .cm-s-base16-dark .CodeMirror-line > span > span::selection { background: rgba(48, 48, 48, .99); } +.cm-s-base16-dark .CodeMirror-line::-moz-selection, .cm-s-base16-dark .CodeMirror-line > span::-moz-selection, .cm-s-base16-dark .CodeMirror-line > span > span::-moz-selection { background: rgba(48, 48, 48, .99); } +.cm-s-base16-dark .CodeMirror-gutters { background: #151515; border-right: 0px; } +.cm-s-base16-dark .CodeMirror-guttermarker { color: #ac4142; } +.cm-s-base16-dark .CodeMirror-guttermarker-subtle { color: #505050; } +.cm-s-base16-dark .CodeMirror-linenumber { color: #505050; } +.cm-s-base16-dark .CodeMirror-cursor { border-left: 1px solid #b0b0b0; } + +.cm-s-base16-dark span.cm-comment { color: #8f5536; } +.cm-s-base16-dark span.cm-atom { color: #aa759f; } +.cm-s-base16-dark span.cm-number { color: #aa759f; } + +.cm-s-base16-dark span.cm-property, .cm-s-base16-dark span.cm-attribute { color: #90a959; } +.cm-s-base16-dark span.cm-keyword { color: #ac4142; } +.cm-s-base16-dark span.cm-string { color: #f4bf75; } + +.cm-s-base16-dark span.cm-variable { color: #90a959; } +.cm-s-base16-dark span.cm-variable-2 { color: #6a9fb5; } +.cm-s-base16-dark span.cm-def { color: #d28445; } +.cm-s-base16-dark span.cm-bracket { color: #e0e0e0; } +.cm-s-base16-dark span.cm-tag { color: #ac4142; } +.cm-s-base16-dark span.cm-link { color: #aa759f; } +.cm-s-base16-dark span.cm-error { background: #ac4142; color: #b0b0b0; } + +.cm-s-base16-dark .CodeMirror-activeline-background { background: #202020; } +.cm-s-base16-dark .CodeMirror-matchingbracket { text-decoration: underline; color: white !important; } + +/* + + Name: dracula + Author: Michael Kaminsky (http://github.com/mkaminsky11) + + Original dracula color scheme by Zeno Rocha (https://github.com/zenorocha/dracula-theme) + +*/ + + +.cm-s-dracula.CodeMirror, .cm-s-dracula .CodeMirror-gutters { + background-color: #282a36 !important; + color: #f8f8f2 !important; + border: none; +} +.cm-s-dracula .CodeMirror-gutters { color: #282a36; } +.cm-s-dracula .CodeMirror-cursor { border-left: solid thin #f8f8f0; } +.cm-s-dracula .CodeMirror-linenumber { color: #6D8A88; } +.cm-s-dracula .CodeMirror-selected { background: rgba(255, 255, 255, 0.10); } +.cm-s-dracula .CodeMirror-line::selection, .cm-s-dracula .CodeMirror-line > span::selection, .cm-s-dracula .CodeMirror-line > span > span::selection { background: rgba(255, 255, 255, 0.10); } +.cm-s-dracula .CodeMirror-line::-moz-selection, .cm-s-dracula .CodeMirror-line > span::-moz-selection, .cm-s-dracula .CodeMirror-line > span > span::-moz-selection { background: rgba(255, 255, 255, 0.10); } +.cm-s-dracula span.cm-comment { color: #6272a4; } +.cm-s-dracula span.cm-string, .cm-s-dracula span.cm-string-2 { color: #f1fa8c; } +.cm-s-dracula span.cm-number { color: #bd93f9; } +.cm-s-dracula span.cm-variable { color: #50fa7b; } +.cm-s-dracula span.cm-variable-2 { color: white; } +.cm-s-dracula span.cm-def { color: #50fa7b; } +.cm-s-dracula span.cm-operator { color: #ff79c6; } +.cm-s-dracula span.cm-keyword { color: #ff79c6; } +.cm-s-dracula span.cm-atom { color: #bd93f9; } +.cm-s-dracula span.cm-meta { color: #f8f8f2; } +.cm-s-dracula span.cm-tag { color: #ff79c6; } +.cm-s-dracula span.cm-attribute { color: #50fa7b; } +.cm-s-dracula span.cm-qualifier { color: #50fa7b; } +.cm-s-dracula span.cm-property { color: #66d9ef; } +.cm-s-dracula span.cm-builtin { color: #50fa7b; } +.cm-s-dracula span.cm-variable-3, .cm-s-dracula span.cm-type { color: #ffb86c; } + +.cm-s-dracula .CodeMirror-activeline-background { background: rgba(255,255,255,0.1); } +.cm-s-dracula .CodeMirror-matchingbracket { text-decoration: underline; color: white !important; } + +/* + + Name: Hopscotch + Author: Jan T. Sott + + CodeMirror template by Jan T. Sott (https://github.com/idleberg/base16-codemirror) + Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ + +.cm-s-hopscotch.CodeMirror {background: #322931; color: #d5d3d5;} +.cm-s-hopscotch div.CodeMirror-selected {background: #433b42 !important;} +.cm-s-hopscotch .CodeMirror-gutters {background: #322931; border-right: 0px;} +.cm-s-hopscotch .CodeMirror-linenumber {color: #797379;} +.cm-s-hopscotch .CodeMirror-cursor {border-left: 1px solid #989498 !important;} + +.cm-s-hopscotch span.cm-comment {color: #b33508;} +.cm-s-hopscotch span.cm-atom {color: #c85e7c;} +.cm-s-hopscotch span.cm-number {color: #c85e7c;} + +.cm-s-hopscotch span.cm-property, .cm-s-hopscotch span.cm-attribute {color: #8fc13e;} +.cm-s-hopscotch span.cm-keyword {color: #dd464c;} +.cm-s-hopscotch span.cm-string {color: #fdcc59;} + +.cm-s-hopscotch span.cm-variable {color: #8fc13e;} +.cm-s-hopscotch span.cm-variable-2 {color: #1290bf;} +.cm-s-hopscotch span.cm-def {color: #fd8b19;} +.cm-s-hopscotch span.cm-error {background: #dd464c; color: #989498;} +.cm-s-hopscotch span.cm-bracket {color: #d5d3d5;} +.cm-s-hopscotch span.cm-tag {color: #dd464c;} +.cm-s-hopscotch span.cm-link {color: #c85e7c;} + +.cm-s-hopscotch .CodeMirror-matchingbracket { text-decoration: underline; color: white !important;} +.cm-s-hopscotch .CodeMirror-activeline-background { background: #302020; } + +/****************************************************************/ +/* Based on mbonaci's Brackets mbo theme */ +/* https://github.com/mbonaci/global/blob/master/Mbo.tmTheme */ +/* Create your own: http://tmtheme-editor.herokuapp.com */ +/****************************************************************/ + +.cm-s-mbo.CodeMirror { background: #2c2c2c; color: #ffffec; } +.cm-s-mbo div.CodeMirror-selected { background: #716C62; } +.cm-s-mbo .CodeMirror-line::selection, .cm-s-mbo .CodeMirror-line > span::selection, .cm-s-mbo .CodeMirror-line > span > span::selection { background: rgba(113, 108, 98, .99); } +.cm-s-mbo .CodeMirror-line::-moz-selection, .cm-s-mbo .CodeMirror-line > span::-moz-selection, .cm-s-mbo .CodeMirror-line > span > span::-moz-selection { background: rgba(113, 108, 98, .99); } +.cm-s-mbo .CodeMirror-gutters { background: #4e4e4e; border-right: 0px; } +.cm-s-mbo .CodeMirror-guttermarker { color: white; } +.cm-s-mbo .CodeMirror-guttermarker-subtle { color: grey; } +.cm-s-mbo .CodeMirror-linenumber { color: #dadada; } +.cm-s-mbo .CodeMirror-cursor { border-left: 1px solid #ffffec; } + +.cm-s-mbo span.cm-comment { color: #95958a; } +.cm-s-mbo span.cm-atom { color: #00a8c6; } +.cm-s-mbo span.cm-number { color: #00a8c6; } + +.cm-s-mbo span.cm-property, .cm-s-mbo span.cm-attribute { color: #9ddfe9; } +.cm-s-mbo span.cm-keyword { color: #ffb928; } +.cm-s-mbo span.cm-string { color: #ffcf6c; } +.cm-s-mbo span.cm-string.cm-property { color: #ffffec; } + +.cm-s-mbo span.cm-variable { color: #ffffec; } +.cm-s-mbo span.cm-variable-2 { color: #00a8c6; } +.cm-s-mbo span.cm-def { color: #ffffec; } +.cm-s-mbo span.cm-bracket { color: #fffffc; font-weight: bold; } +.cm-s-mbo span.cm-tag { color: #9ddfe9; } +.cm-s-mbo span.cm-link { color: #f54b07; } +.cm-s-mbo span.cm-error { border-bottom: #636363; color: #ffffec; } +.cm-s-mbo span.cm-qualifier { color: #ffffec; } + +.cm-s-mbo .CodeMirror-activeline-background { background: #494b41; } +.cm-s-mbo .CodeMirror-matchingbracket { color: #ffb928 !important; } +.cm-s-mbo .CodeMirror-matchingtag { background: rgba(255, 255, 255, .37); } + +/* + MDN-LIKE Theme - Mozilla + Ported to CodeMirror by Peter Kroon <plakroon@gmail.com> + Report bugs/issues here: https://github.com/codemirror/CodeMirror/issues + GitHub: @peterkroon + + The mdn-like theme is inspired on the displayed code examples at: https://developer.mozilla.org/en-US/docs/Web/CSS/animation + +*/ +.cm-s-mdn-like.CodeMirror { color: #999; background-color: #fff; } +.cm-s-mdn-like div.CodeMirror-selected { background: #cfc; } +.cm-s-mdn-like .CodeMirror-line::selection, .cm-s-mdn-like .CodeMirror-line > span::selection, .cm-s-mdn-like .CodeMirror-line > span > span::selection { background: #cfc; } +.cm-s-mdn-like .CodeMirror-line::-moz-selection, .cm-s-mdn-like .CodeMirror-line > span::-moz-selection, .cm-s-mdn-like .CodeMirror-line > span > span::-moz-selection { background: #cfc; } + +.cm-s-mdn-like .CodeMirror-gutters { background: #f8f8f8; border-left: 6px solid rgba(0,83,159,0.65); color: #333; } +.cm-s-mdn-like .CodeMirror-linenumber { color: #aaa; padding-left: 8px; } +.cm-s-mdn-like .CodeMirror-cursor { border-left: 2px solid #222; } + +.cm-s-mdn-like .cm-keyword { color: #6262FF; } +.cm-s-mdn-like .cm-atom { color: #F90; } +.cm-s-mdn-like .cm-number { color: #ca7841; } +.cm-s-mdn-like .cm-def { color: #8DA6CE; } +.cm-s-mdn-like span.cm-variable-2, .cm-s-mdn-like span.cm-tag { color: #690; } +.cm-s-mdn-like span.cm-variable-3, .cm-s-mdn-like span.cm-def, .cm-s-mdn-like span.cm-type { color: #07a; } + +.cm-s-mdn-like .cm-variable { color: #07a; } +.cm-s-mdn-like .cm-property { color: #905; } +.cm-s-mdn-like .cm-qualifier { color: #690; } + +.cm-s-mdn-like .cm-operator { color: #cda869; } +.cm-s-mdn-like .cm-comment { color:#777; font-weight:normal; } +.cm-s-mdn-like .cm-string { color:#07a; font-style:italic; } +.cm-s-mdn-like .cm-string-2 { color:#bd6b18; } /*?*/ +.cm-s-mdn-like .cm-meta { color: #000; } /*?*/ +.cm-s-mdn-like .cm-builtin { color: #9B7536; } /*?*/ +.cm-s-mdn-like .cm-tag { color: #997643; } +.cm-s-mdn-like .cm-attribute { color: #d6bb6d; } /*?*/ +.cm-s-mdn-like .cm-header { color: #FF6400; } +.cm-s-mdn-like .cm-hr { color: #AEAEAE; } +.cm-s-mdn-like .cm-link { color:#ad9361; font-style:italic; text-decoration:none; } +.cm-s-mdn-like .cm-error { border-bottom: 1px solid red; } + +div.cm-s-mdn-like .CodeMirror-activeline-background { background: #efefff; } +div.cm-s-mdn-like span.CodeMirror-matchingbracket { outline:1px solid grey; color: inherit; } + +.cm-s-mdn-like.CodeMirror { background-image: url(data:image/png;base64,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); } + +/* + + Name: seti + Author: Michael Kaminsky (http://github.com/mkaminsky11) + + Original seti color scheme by Jesse Weed (https://github.com/jesseweed/seti-syntax) + +*/ + + +.cm-s-seti.CodeMirror { + background-color: #151718 !important; + color: #CFD2D1 !important; + border: none; +} +.cm-s-seti .CodeMirror-gutters { + color: #404b53; + background-color: #0E1112; + border: none; +} +.cm-s-seti .CodeMirror-cursor { border-left: solid thin #f8f8f0; } +.cm-s-seti .CodeMirror-linenumber { color: #6D8A88; } +.cm-s-seti.CodeMirror-focused div.CodeMirror-selected { background: rgba(255, 255, 255, 0.10); } +.cm-s-seti .CodeMirror-line::selection, .cm-s-seti .CodeMirror-line > span::selection, .cm-s-seti .CodeMirror-line > span > span::selection { background: rgba(255, 255, 255, 0.10); } +.cm-s-seti .CodeMirror-line::-moz-selection, .cm-s-seti .CodeMirror-line > span::-moz-selection, .cm-s-seti .CodeMirror-line > span > span::-moz-selection { background: rgba(255, 255, 255, 0.10); } +.cm-s-seti span.cm-comment { color: #41535b; } +.cm-s-seti span.cm-string, .cm-s-seti span.cm-string-2 { color: #55b5db; } +.cm-s-seti span.cm-number { color: #cd3f45; } +.cm-s-seti span.cm-variable { color: #55b5db; } +.cm-s-seti span.cm-variable-2 { color: #a074c4; } +.cm-s-seti span.cm-def { color: #55b5db; } +.cm-s-seti span.cm-keyword { color: #ff79c6; } +.cm-s-seti span.cm-operator { color: #9fca56; } +.cm-s-seti span.cm-keyword { color: #e6cd69; } +.cm-s-seti span.cm-atom { color: #cd3f45; } +.cm-s-seti span.cm-meta { color: #55b5db; } +.cm-s-seti span.cm-tag { color: #55b5db; } +.cm-s-seti span.cm-attribute { color: #9fca56; } +.cm-s-seti span.cm-qualifier { color: #9fca56; } +.cm-s-seti span.cm-property { color: #a074c4; } +.cm-s-seti span.cm-variable-3, .cm-s-seti span.cm-type { color: #9fca56; } +.cm-s-seti span.cm-builtin { color: #9fca56; } +.cm-s-seti .CodeMirror-activeline-background { background: #101213; } +.cm-s-seti .CodeMirror-matchingbracket { text-decoration: underline; color: white !important; } + +/* +Solarized theme for code-mirror +http://ethanschoonover.com/solarized +*/ + +/* +Solarized color palette +http://ethanschoonover.com/solarized/img/solarized-palette.png +*/ + +.solarized.base03 { color: #002b36; } +.solarized.base02 { color: #073642; } +.solarized.base01 { color: #586e75; } +.solarized.base00 { color: #657b83; } +.solarized.base0 { color: #839496; } +.solarized.base1 { color: #93a1a1; } +.solarized.base2 { color: #eee8d5; } +.solarized.base3 { color: #fdf6e3; } +.solarized.solar-yellow { color: #b58900; } +.solarized.solar-orange { color: #cb4b16; } +.solarized.solar-red { color: #dc322f; } +.solarized.solar-magenta { color: #d33682; } +.solarized.solar-violet { color: #6c71c4; } +.solarized.solar-blue { color: #268bd2; } +.solarized.solar-cyan { color: #2aa198; } +.solarized.solar-green { color: #859900; } + +/* Color scheme for code-mirror */ + +.cm-s-solarized { + line-height: 1.45em; + color-profile: sRGB; + rendering-intent: auto; +} +.cm-s-solarized.cm-s-dark { + color: #839496; + background-color: #002b36; + text-shadow: #002b36 0 1px; +} +.cm-s-solarized.cm-s-light { + background-color: #fdf6e3; + color: #657b83; + text-shadow: #eee8d5 0 1px; +} + +.cm-s-solarized .CodeMirror-widget { + text-shadow: none; +} + +.cm-s-solarized .cm-header { color: #586e75; } +.cm-s-solarized .cm-quote { color: #93a1a1; } + +.cm-s-solarized .cm-keyword { color: #cb4b16; } +.cm-s-solarized .cm-atom { color: #d33682; } +.cm-s-solarized .cm-number { color: #d33682; } +.cm-s-solarized .cm-def { color: #2aa198; } + +.cm-s-solarized .cm-variable { color: #839496; } +.cm-s-solarized .cm-variable-2 { color: #b58900; } +.cm-s-solarized .cm-variable-3, .cm-s-solarized .cm-type { color: #6c71c4; } + +.cm-s-solarized .cm-property { color: #2aa198; } +.cm-s-solarized .cm-operator { color: #6c71c4; } + +.cm-s-solarized .cm-comment { color: #586e75; font-style:italic; } + +.cm-s-solarized .cm-string { color: #859900; } +.cm-s-solarized .cm-string-2 { color: #b58900; } + +.cm-s-solarized .cm-meta { color: #859900; } +.cm-s-solarized .cm-qualifier { color: #b58900; } +.cm-s-solarized .cm-builtin { color: #d33682; } +.cm-s-solarized .cm-bracket { color: #cb4b16; } +.cm-s-solarized .CodeMirror-matchingbracket { color: #859900; } +.cm-s-solarized .CodeMirror-nonmatchingbracket { color: #dc322f; } +.cm-s-solarized .cm-tag { color: #93a1a1; } +.cm-s-solarized .cm-attribute { color: #2aa198; } +.cm-s-solarized .cm-hr { + color: transparent; + border-top: 1px solid #586e75; + display: block; +} +.cm-s-solarized .cm-link { color: #93a1a1; cursor: pointer; } +.cm-s-solarized .cm-special { color: #6c71c4; } +.cm-s-solarized .cm-em { + color: #999; + text-decoration: underline; + text-decoration-style: dotted; +} +.cm-s-solarized .cm-error, +.cm-s-solarized .cm-invalidchar { + color: #586e75; + border-bottom: 1px dotted #dc322f; +} + +.cm-s-solarized.cm-s-dark div.CodeMirror-selected { background: #073642; } +.cm-s-solarized.cm-s-dark.CodeMirror ::selection { background: rgba(7, 54, 66, 0.99); } +.cm-s-solarized.cm-s-dark .CodeMirror-line::-moz-selection, .cm-s-dark .CodeMirror-line > span::-moz-selection, .cm-s-dark .CodeMirror-line > span > span::-moz-selection { background: rgba(7, 54, 66, 0.99); } + +.cm-s-solarized.cm-s-light div.CodeMirror-selected { background: #eee8d5; } +.cm-s-solarized.cm-s-light .CodeMirror-line::selection, .cm-s-light .CodeMirror-line > span::selection, .cm-s-light .CodeMirror-line > span > span::selection { background: #eee8d5; } +.cm-s-solarized.cm-s-light .CodeMirror-line::-moz-selection, .cm-s-ligh .CodeMirror-line > span::-moz-selection, .cm-s-ligh .CodeMirror-line > span > span::-moz-selection { background: #eee8d5; } + +/* Editor styling */ + + + +/* Little shadow on the view-port of the buffer view */ +.cm-s-solarized.CodeMirror { + -moz-box-shadow: inset 7px 0 12px -6px #000; + -webkit-box-shadow: inset 7px 0 12px -6px #000; + box-shadow: inset 7px 0 12px -6px #000; +} + +/* Remove gutter border */ +.cm-s-solarized .CodeMirror-gutters { + border-right: 0; +} + +/* Gutter colors and line number styling based of color scheme (dark / light) */ + +/* Dark */ +.cm-s-solarized.cm-s-dark .CodeMirror-gutters { + background-color: #073642; +} + +.cm-s-solarized.cm-s-dark .CodeMirror-linenumber { + color: #586e75; + text-shadow: #021014 0 -1px; +} + +/* Light */ +.cm-s-solarized.cm-s-light .CodeMirror-gutters { + background-color: #eee8d5; +} + +.cm-s-solarized.cm-s-light .CodeMirror-linenumber { + color: #839496; +} + +/* Common */ +.cm-s-solarized .CodeMirror-linenumber { + padding: 0 5px; +} +.cm-s-solarized .CodeMirror-guttermarker-subtle { color: #586e75; } +.cm-s-solarized.cm-s-dark .CodeMirror-guttermarker { color: #ddd; } +.cm-s-solarized.cm-s-light .CodeMirror-guttermarker { color: #cb4b16; } + +.cm-s-solarized .CodeMirror-gutter .CodeMirror-gutter-text { + color: #586e75; +} + +/* Cursor */ +.cm-s-solarized .CodeMirror-cursor { border-left: 1px solid #819090; } + +/* Fat cursor */ +.cm-s-solarized.cm-s-light.cm-fat-cursor .CodeMirror-cursor { background: #77ee77; } +.cm-s-solarized.cm-s-light .cm-animate-fat-cursor { background-color: #77ee77; } +.cm-s-solarized.cm-s-dark.cm-fat-cursor .CodeMirror-cursor { background: #586e75; } +.cm-s-solarized.cm-s-dark .cm-animate-fat-cursor { background-color: #586e75; } + +/* Active line */ +.cm-s-solarized.cm-s-dark .CodeMirror-activeline-background { + background: rgba(255, 255, 255, 0.06); +} +.cm-s-solarized.cm-s-light .CodeMirror-activeline-background { + background: rgba(0, 0, 0, 0.06); +} + +.cm-s-the-matrix.CodeMirror { background: #000000; color: #00FF00; } +.cm-s-the-matrix div.CodeMirror-selected { background: #2D2D2D; } +.cm-s-the-matrix .CodeMirror-line::selection, .cm-s-the-matrix .CodeMirror-line > span::selection, .cm-s-the-matrix .CodeMirror-line > span > span::selection { background: rgba(45, 45, 45, 0.99); } +.cm-s-the-matrix .CodeMirror-line::-moz-selection, .cm-s-the-matrix .CodeMirror-line > span::-moz-selection, .cm-s-the-matrix .CodeMirror-line > span > span::-moz-selection { background: rgba(45, 45, 45, 0.99); } +.cm-s-the-matrix .CodeMirror-gutters { background: #060; border-right: 2px solid #00FF00; } +.cm-s-the-matrix .CodeMirror-guttermarker { color: #0f0; } +.cm-s-the-matrix .CodeMirror-guttermarker-subtle { color: white; } +.cm-s-the-matrix .CodeMirror-linenumber { color: #FFFFFF; } +.cm-s-the-matrix .CodeMirror-cursor { border-left: 1px solid #00FF00; } + +.cm-s-the-matrix span.cm-keyword { color: #008803; font-weight: bold; } +.cm-s-the-matrix span.cm-atom { color: #3FF; } +.cm-s-the-matrix span.cm-number { color: #FFB94F; } +.cm-s-the-matrix span.cm-def { color: #99C; } +.cm-s-the-matrix span.cm-variable { color: #F6C; } +.cm-s-the-matrix span.cm-variable-2 { color: #C6F; } +.cm-s-the-matrix span.cm-variable-3, .cm-s-the-matrix span.cm-type { color: #96F; } +.cm-s-the-matrix span.cm-property { color: #62FFA0; } +.cm-s-the-matrix span.cm-operator { color: #999; } +.cm-s-the-matrix span.cm-comment { color: #CCCCCC; } +.cm-s-the-matrix span.cm-string { color: #39C; } +.cm-s-the-matrix span.cm-meta { color: #C9F; } +.cm-s-the-matrix span.cm-qualifier { color: #FFF700; } +.cm-s-the-matrix span.cm-builtin { color: #30a; } +.cm-s-the-matrix span.cm-bracket { color: #cc7; } +.cm-s-the-matrix span.cm-tag { color: #FFBD40; } +.cm-s-the-matrix span.cm-attribute { color: #FFF700; } +.cm-s-the-matrix span.cm-error { color: #FF0000; } + +.cm-s-the-matrix .CodeMirror-activeline-background { background: #040; } + +/* +Copyright (C) 2011 by MarkLogic Corporation +Author: Mike Brevoort <mike@brevoort.com> + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +*/ +.cm-s-xq-light span.cm-keyword { line-height: 1em; font-weight: bold; color: #5A5CAD; } +.cm-s-xq-light span.cm-atom { color: #6C8CD5; } +.cm-s-xq-light span.cm-number { color: #164; } +.cm-s-xq-light span.cm-def { text-decoration:underline; } +.cm-s-xq-light span.cm-variable { color: black; } +.cm-s-xq-light span.cm-variable-2 { color:black; } +.cm-s-xq-light span.cm-variable-3, .cm-s-xq-light span.cm-type { color: black; } +.cm-s-xq-light span.cm-property {} +.cm-s-xq-light span.cm-operator {} +.cm-s-xq-light span.cm-comment { color: #0080FF; font-style: italic; } +.cm-s-xq-light span.cm-string { color: red; } +.cm-s-xq-light span.cm-meta { color: yellow; } +.cm-s-xq-light span.cm-qualifier { color: grey; } +.cm-s-xq-light span.cm-builtin { color: #7EA656; } +.cm-s-xq-light span.cm-bracket { color: #cc7; } +.cm-s-xq-light span.cm-tag { color: #3F7F7F; } +.cm-s-xq-light span.cm-attribute { color: #7F007F; } +.cm-s-xq-light span.cm-error { color: #f00; } + +.cm-s-xq-light .CodeMirror-activeline-background { background: #e8f2ff; } +.cm-s-xq-light .CodeMirror-matchingbracket { outline:1px solid grey;color:black !important;background:yellow; } + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +.CodeMirror { + line-height: var(--jp-code-line-height); + font-size: var(--jp-code-font-size); + font-family: var(--jp-code-font-family); + border: 0; + border-radius: 0; + height: auto; + /* Changed to auto to autogrow */ +} + +.CodeMirror pre { + padding: 0 var(--jp-code-padding); +} + +.jp-CodeMirrorEditor[data-type='inline'] .CodeMirror-dialog { + background-color: var(--jp-layout-color0); + color: var(--jp-content-font-color1); +} + +/* This causes https://github.com/jupyter/jupyterlab/issues/522 */ +/* May not cause it not because we changed it! */ +.CodeMirror-lines { + padding: var(--jp-code-padding) 0; +} + +.CodeMirror-linenumber { + padding: 0 8px; +} + +.jp-CodeMirrorEditor-static { + margin: var(--jp-code-padding); +} + +.jp-CodeMirrorEditor, +.jp-CodeMirrorEditor-static { + cursor: text; +} + +.jp-CodeMirrorEditor[data-type='inline'] .CodeMirror-cursor { + border-left: var(--jp-code-cursor-width0) solid var(--jp-editor-cursor-color); +} + +/* When zoomed out 67% and 33% on a screen of 1440 width x 900 height */ +@media screen and (min-width: 2138px) and (max-width: 4319px) { + .jp-CodeMirrorEditor[data-type='inline'] .CodeMirror-cursor { + border-left: var(--jp-code-cursor-width1) solid + var(--jp-editor-cursor-color); + } +} + +/* When zoomed out less than 33% */ +@media screen and (min-width: 4320px) { + .jp-CodeMirrorEditor[data-type='inline'] .CodeMirror-cursor { + border-left: var(--jp-code-cursor-width2) solid + var(--jp-editor-cursor-color); + } +} + +.CodeMirror.jp-mod-readOnly .CodeMirror-cursor { + display: none; +} + +.CodeMirror-gutters { + border-right: 1px solid var(--jp-border-color2); + background-color: var(--jp-layout-color0); +} + +.jp-CollaboratorCursor { + border-left: 5px solid transparent; + border-right: 5px solid transparent; + border-top: none; + border-bottom: 3px solid; + background-clip: content-box; + margin-left: -5px; + margin-right: -5px; +} + +.CodeMirror-selectedtext.cm-searching { + background-color: var(--jp-search-selected-match-background-color) !important; + color: var(--jp-search-selected-match-color) !important; +} + +.cm-searching { + background-color: var( + --jp-search-unselected-match-background-color + ) !important; + color: var(--jp-search-unselected-match-color) !important; +} + +.CodeMirror-focused .CodeMirror-selected { + background-color: var(--jp-editor-selected-focused-background); +} + +.CodeMirror-selected { + background-color: var(--jp-editor-selected-background); +} + +.jp-CollaboratorCursor-hover { + position: absolute; + z-index: 1; + transform: translateX(-50%); + color: white; + border-radius: 3px; + padding-left: 4px; + padding-right: 4px; + padding-top: 1px; + padding-bottom: 1px; + text-align: center; + font-size: var(--jp-ui-font-size1); + white-space: nowrap; +} + +.jp-CodeMirror-ruler { + border-left: 1px dashed var(--jp-border-color2); +} + +/** + * Here is our jupyter theme for CodeMirror syntax highlighting + * This is used in our marked.js syntax highlighting and CodeMirror itself + * The string "jupyter" is set in ../codemirror/widget.DEFAULT_CODEMIRROR_THEME + * This came from the classic notebook, which came form highlight.js/GitHub + */ + +/** + * CodeMirror themes are handling the background/color in this way. This works + * fine for CodeMirror editors outside the notebook, but the notebook styles + * these things differently. + */ +.CodeMirror.cm-s-jupyter { + background: var(--jp-layout-color0); + color: var(--jp-content-font-color1); +} + +/* In the notebook, we want this styling to be handled by its container */ +.jp-CodeConsole .CodeMirror.cm-s-jupyter, +.jp-Notebook .CodeMirror.cm-s-jupyter { + background: transparent; +} + +.cm-s-jupyter .CodeMirror-cursor { + border-left: var(--jp-code-cursor-width0) solid var(--jp-editor-cursor-color); +} +.cm-s-jupyter span.cm-keyword { + color: var(--jp-mirror-editor-keyword-color); + font-weight: bold; +} +.cm-s-jupyter span.cm-atom { + color: var(--jp-mirror-editor-atom-color); +} +.cm-s-jupyter span.cm-number { + color: var(--jp-mirror-editor-number-color); +} +.cm-s-jupyter span.cm-def { + color: var(--jp-mirror-editor-def-color); +} +.cm-s-jupyter span.cm-variable { + color: var(--jp-mirror-editor-variable-color); +} +.cm-s-jupyter span.cm-variable-2 { + color: var(--jp-mirror-editor-variable-2-color); +} +.cm-s-jupyter span.cm-variable-3 { + color: var(--jp-mirror-editor-variable-3-color); +} +.cm-s-jupyter span.cm-punctuation { + color: var(--jp-mirror-editor-punctuation-color); +} +.cm-s-jupyter span.cm-property { + color: var(--jp-mirror-editor-property-color); +} +.cm-s-jupyter span.cm-operator { + color: var(--jp-mirror-editor-operator-color); + font-weight: bold; +} +.cm-s-jupyter span.cm-comment { + color: var(--jp-mirror-editor-comment-color); + font-style: italic; +} +.cm-s-jupyter span.cm-string { + color: var(--jp-mirror-editor-string-color); +} +.cm-s-jupyter span.cm-string-2 { + color: var(--jp-mirror-editor-string-2-color); +} +.cm-s-jupyter span.cm-meta { + color: var(--jp-mirror-editor-meta-color); +} +.cm-s-jupyter span.cm-qualifier { + color: var(--jp-mirror-editor-qualifier-color); +} +.cm-s-jupyter span.cm-builtin { + color: var(--jp-mirror-editor-builtin-color); +} +.cm-s-jupyter span.cm-bracket { + color: var(--jp-mirror-editor-bracket-color); +} +.cm-s-jupyter span.cm-tag { + color: var(--jp-mirror-editor-tag-color); +} +.cm-s-jupyter span.cm-attribute { + color: var(--jp-mirror-editor-attribute-color); +} +.cm-s-jupyter span.cm-header { + color: var(--jp-mirror-editor-header-color); +} +.cm-s-jupyter span.cm-quote { + color: var(--jp-mirror-editor-quote-color); +} +.cm-s-jupyter span.cm-link { + color: var(--jp-mirror-editor-link-color); +} +.cm-s-jupyter span.cm-error { + color: var(--jp-mirror-editor-error-color); +} +.cm-s-jupyter span.cm-hr { + color: #999; +} + +.cm-s-jupyter span.cm-tab { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAMCAYAAAAkuj5RAAAAAXNSR0IArs4c6QAAAGFJREFUSMft1LsRQFAQheHPowAKoACx3IgEKtaEHujDjORSgWTH/ZOdnZOcM/sgk/kFFWY0qV8foQwS4MKBCS3qR6ixBJvElOobYAtivseIE120FaowJPN75GMu8j/LfMwNjh4HUpwg4LUAAAAASUVORK5CYII=); + background-position: right; + background-repeat: no-repeat; +} + +.cm-s-jupyter .CodeMirror-activeline-background, +.cm-s-jupyter .CodeMirror-gutter { + background-color: var(--jp-layout-color2); +} + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +/* This file was auto-generated by ensurePackage() in @jupyterlab/buildutils */ + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------- +| RenderedText +|----------------------------------------------------------------------------*/ + +.jp-RenderedText { + text-align: left; + padding-left: var(--jp-code-padding); + line-height: var(--jp-code-line-height); + font-family: var(--jp-code-font-family); +} + +.jp-RenderedText pre, +.jp-RenderedJavaScript pre, +.jp-RenderedHTMLCommon pre { + color: var(--jp-content-font-color1); + font-size: var(--jp-code-font-size); + border: none; + margin: 0px; + padding: 0px; + line-height: normal; +} + +.jp-RenderedText pre a:link { + text-decoration: none; + color: var(--jp-content-link-color); +} +.jp-RenderedText pre a:hover { + text-decoration: underline; + color: var(--jp-content-link-color); +} +.jp-RenderedText pre a:visited { + text-decoration: none; + color: var(--jp-content-link-color); +} + +/* console foregrounds and backgrounds */ +.jp-RenderedText pre .ansi-black-fg { + color: #3e424d; +} +.jp-RenderedText pre .ansi-red-fg { + color: #e75c58; +} +.jp-RenderedText pre .ansi-green-fg { + color: #00a250; +} +.jp-RenderedText pre .ansi-yellow-fg { + color: #ddb62b; +} +.jp-RenderedText pre .ansi-blue-fg { + color: #208ffb; +} +.jp-RenderedText pre .ansi-magenta-fg { + color: #d160c4; +} +.jp-RenderedText pre .ansi-cyan-fg { + color: #60c6c8; +} +.jp-RenderedText pre .ansi-white-fg { + color: #c5c1b4; +} + +.jp-RenderedText pre .ansi-black-bg { + background-color: #3e424d; +} +.jp-RenderedText pre .ansi-red-bg { + background-color: #e75c58; +} +.jp-RenderedText pre .ansi-green-bg { + background-color: #00a250; +} +.jp-RenderedText pre .ansi-yellow-bg { + background-color: #ddb62b; +} +.jp-RenderedText pre .ansi-blue-bg { + background-color: #208ffb; +} +.jp-RenderedText pre .ansi-magenta-bg { + background-color: #d160c4; +} +.jp-RenderedText pre .ansi-cyan-bg { + background-color: #60c6c8; +} +.jp-RenderedText pre .ansi-white-bg { + background-color: #c5c1b4; +} + +.jp-RenderedText pre .ansi-black-intense-fg { + color: #282c36; +} +.jp-RenderedText pre .ansi-red-intense-fg { + color: #b22b31; +} +.jp-RenderedText pre .ansi-green-intense-fg { + color: #007427; +} +.jp-RenderedText pre .ansi-yellow-intense-fg { + color: #b27d12; +} +.jp-RenderedText pre .ansi-blue-intense-fg { + color: #0065ca; +} +.jp-RenderedText pre .ansi-magenta-intense-fg { + color: #a03196; +} +.jp-RenderedText pre .ansi-cyan-intense-fg { + color: #258f8f; +} +.jp-RenderedText pre .ansi-white-intense-fg { + color: #a1a6b2; +} + +.jp-RenderedText pre .ansi-black-intense-bg { + background-color: #282c36; +} +.jp-RenderedText pre .ansi-red-intense-bg { + background-color: #b22b31; +} +.jp-RenderedText pre .ansi-green-intense-bg { + background-color: #007427; +} +.jp-RenderedText pre .ansi-yellow-intense-bg { + background-color: #b27d12; +} +.jp-RenderedText pre .ansi-blue-intense-bg { + background-color: #0065ca; +} +.jp-RenderedText pre .ansi-magenta-intense-bg { + background-color: #a03196; +} +.jp-RenderedText pre .ansi-cyan-intense-bg { + background-color: #258f8f; +} +.jp-RenderedText pre .ansi-white-intense-bg { + background-color: #a1a6b2; +} + +.jp-RenderedText pre .ansi-default-inverse-fg { + color: var(--jp-ui-inverse-font-color0); +} +.jp-RenderedText pre .ansi-default-inverse-bg { + background-color: var(--jp-inverse-layout-color0); +} + +.jp-RenderedText pre .ansi-bold { + font-weight: bold; +} +.jp-RenderedText pre .ansi-underline { + text-decoration: underline; +} + +.jp-RenderedText[data-mime-type='application/vnd.jupyter.stderr'] { + background: var(--jp-rendermime-error-background); + padding-top: var(--jp-code-padding); +} + +/*----------------------------------------------------------------------------- +| RenderedLatex +|----------------------------------------------------------------------------*/ + +.jp-RenderedLatex { + color: var(--jp-content-font-color1); + font-size: var(--jp-content-font-size1); + line-height: var(--jp-content-line-height); +} + +/* Left-justify outputs.*/ +.jp-OutputArea-output.jp-RenderedLatex { + padding: var(--jp-code-padding); + text-align: left; +} + +/*----------------------------------------------------------------------------- +| RenderedHTML +|----------------------------------------------------------------------------*/ + +.jp-RenderedHTMLCommon { + color: var(--jp-content-font-color1); + font-family: var(--jp-content-font-family); + font-size: var(--jp-content-font-size1); + line-height: var(--jp-content-line-height); + /* Give a bit more R padding on Markdown text to keep line lengths reasonable */ + padding-right: 20px; +} + +.jp-RenderedHTMLCommon em { + font-style: italic; +} + +.jp-RenderedHTMLCommon strong { + font-weight: bold; +} + +.jp-RenderedHTMLCommon u { + text-decoration: underline; +} + +.jp-RenderedHTMLCommon a:link { + text-decoration: none; + color: var(--jp-content-link-color); +} + +.jp-RenderedHTMLCommon a:hover { + text-decoration: underline; + color: var(--jp-content-link-color); +} + +.jp-RenderedHTMLCommon a:visited { + text-decoration: none; + color: var(--jp-content-link-color); +} + +/* Headings */ + +.jp-RenderedHTMLCommon h1, +.jp-RenderedHTMLCommon h2, +.jp-RenderedHTMLCommon h3, +.jp-RenderedHTMLCommon h4, +.jp-RenderedHTMLCommon h5, +.jp-RenderedHTMLCommon h6 { + line-height: var(--jp-content-heading-line-height); + font-weight: var(--jp-content-heading-font-weight); + font-style: normal; + margin: var(--jp-content-heading-margin-top) 0 + var(--jp-content-heading-margin-bottom) 0; +} + +.jp-RenderedHTMLCommon h1:first-child, +.jp-RenderedHTMLCommon h2:first-child, +.jp-RenderedHTMLCommon h3:first-child, +.jp-RenderedHTMLCommon h4:first-child, +.jp-RenderedHTMLCommon h5:first-child, +.jp-RenderedHTMLCommon h6:first-child { + margin-top: calc(0.5 * var(--jp-content-heading-margin-top)); +} + +.jp-RenderedHTMLCommon h1:last-child, +.jp-RenderedHTMLCommon h2:last-child, +.jp-RenderedHTMLCommon h3:last-child, +.jp-RenderedHTMLCommon h4:last-child, +.jp-RenderedHTMLCommon h5:last-child, +.jp-RenderedHTMLCommon h6:last-child { + margin-bottom: calc(0.5 * var(--jp-content-heading-margin-bottom)); +} + +.jp-RenderedHTMLCommon h1 { + font-size: var(--jp-content-font-size5); +} + +.jp-RenderedHTMLCommon h2 { + font-size: var(--jp-content-font-size4); +} + +.jp-RenderedHTMLCommon h3 { + font-size: var(--jp-content-font-size3); +} + +.jp-RenderedHTMLCommon h4 { + font-size: var(--jp-content-font-size2); +} + +.jp-RenderedHTMLCommon h5 { + font-size: var(--jp-content-font-size1); +} + +.jp-RenderedHTMLCommon h6 { + font-size: var(--jp-content-font-size0); +} + +/* Lists */ + +.jp-RenderedHTMLCommon ul:not(.list-inline), +.jp-RenderedHTMLCommon ol:not(.list-inline) { + padding-left: 2em; +} + +.jp-RenderedHTMLCommon ul { + list-style: disc; +} + +.jp-RenderedHTMLCommon ul ul { + list-style: square; +} + +.jp-RenderedHTMLCommon ul ul ul { + list-style: circle; +} + +.jp-RenderedHTMLCommon ol { + list-style: decimal; +} + +.jp-RenderedHTMLCommon ol ol { + list-style: upper-alpha; +} + +.jp-RenderedHTMLCommon ol ol ol { + list-style: lower-alpha; +} + +.jp-RenderedHTMLCommon ol ol ol ol { + list-style: lower-roman; +} + +.jp-RenderedHTMLCommon ol ol ol ol ol { + list-style: decimal; +} + +.jp-RenderedHTMLCommon ol, +.jp-RenderedHTMLCommon ul { + margin-bottom: 1em; +} + +.jp-RenderedHTMLCommon ul ul, +.jp-RenderedHTMLCommon ul ol, +.jp-RenderedHTMLCommon ol ul, +.jp-RenderedHTMLCommon ol ol { + margin-bottom: 0em; +} + +.jp-RenderedHTMLCommon hr { + color: var(--jp-border-color2); + background-color: var(--jp-border-color1); + margin-top: 1em; + margin-bottom: 1em; +} + +.jp-RenderedHTMLCommon > pre { + margin: 1.5em 2em; +} + +.jp-RenderedHTMLCommon pre, +.jp-RenderedHTMLCommon code { + border: 0; + background-color: var(--jp-layout-color0); + color: var(--jp-content-font-color1); + font-family: var(--jp-code-font-family); + font-size: inherit; + line-height: var(--jp-code-line-height); + padding: 0; + white-space: pre-wrap; +} + +.jp-RenderedHTMLCommon :not(pre) > code { + background-color: var(--jp-layout-color2); + padding: 1px 5px; +} + +/* Tables */ + +.jp-RenderedHTMLCommon table { + border-collapse: collapse; + border-spacing: 0; + border: none; + color: var(--jp-ui-font-color1); + font-size: 12px; + table-layout: fixed; + margin-left: auto; + margin-right: auto; +} + +.jp-RenderedHTMLCommon thead { + border-bottom: var(--jp-border-width) solid var(--jp-border-color1); + vertical-align: bottom; +} + +.jp-RenderedHTMLCommon td, +.jp-RenderedHTMLCommon th, +.jp-RenderedHTMLCommon tr { + vertical-align: middle; + padding: 0.5em 0.5em; + line-height: normal; + white-space: normal; + max-width: none; + border: none; +} + +.jp-RenderedMarkdown.jp-RenderedHTMLCommon td, +.jp-RenderedMarkdown.jp-RenderedHTMLCommon th { + max-width: none; +} + +:not(.jp-RenderedMarkdown).jp-RenderedHTMLCommon td, +:not(.jp-RenderedMarkdown).jp-RenderedHTMLCommon th, +:not(.jp-RenderedMarkdown).jp-RenderedHTMLCommon tr { + text-align: right; +} + +.jp-RenderedHTMLCommon th { + font-weight: bold; +} + +.jp-RenderedHTMLCommon tbody tr:nth-child(odd) { + background: var(--jp-layout-color0); +} + +.jp-RenderedHTMLCommon tbody tr:nth-child(even) { + background: var(--jp-rendermime-table-row-background); +} + +.jp-RenderedHTMLCommon tbody tr:hover { + background: var(--jp-rendermime-table-row-hover-background); +} + +.jp-RenderedHTMLCommon table { + margin-bottom: 1em; +} + +.jp-RenderedHTMLCommon p { + text-align: left; + margin: 0px; +} + +.jp-RenderedHTMLCommon p { + margin-bottom: 1em; +} + +.jp-RenderedHTMLCommon img { + -moz-force-broken-image-icon: 1; +} + +/* Restrict to direct children as other images could be nested in other content. */ +.jp-RenderedHTMLCommon > img { + display: block; + margin-left: 0; + margin-right: 0; + margin-bottom: 1em; +} + +/* Change color behind transparent images if they need it... */ +[data-jp-theme-light='false'] .jp-RenderedImage img.jp-needs-light-background { + background-color: var(--jp-inverse-layout-color1); +} +[data-jp-theme-light='true'] .jp-RenderedImage img.jp-needs-dark-background { + background-color: var(--jp-inverse-layout-color1); +} +/* ...or leave it untouched if they don't */ +[data-jp-theme-light='false'] .jp-RenderedImage img.jp-needs-dark-background { +} +[data-jp-theme-light='true'] .jp-RenderedImage img.jp-needs-light-background { +} + +.jp-RenderedHTMLCommon img, +.jp-RenderedImage img, +.jp-RenderedHTMLCommon svg, +.jp-RenderedSVG svg { + max-width: 100%; + height: auto; +} + +.jp-RenderedHTMLCommon img.jp-mod-unconfined, +.jp-RenderedImage img.jp-mod-unconfined, +.jp-RenderedHTMLCommon svg.jp-mod-unconfined, +.jp-RenderedSVG svg.jp-mod-unconfined { + max-width: none; +} + +.jp-RenderedHTMLCommon .alert { + padding: var(--jp-notebook-padding); + border: var(--jp-border-width) solid transparent; + border-radius: var(--jp-border-radius); + margin-bottom: 1em; +} + +.jp-RenderedHTMLCommon .alert-info { + color: var(--jp-info-color0); + background-color: var(--jp-info-color3); + border-color: var(--jp-info-color2); +} +.jp-RenderedHTMLCommon .alert-info hr { + border-color: var(--jp-info-color3); +} +.jp-RenderedHTMLCommon .alert-info > p:last-child, +.jp-RenderedHTMLCommon .alert-info > ul:last-child { + margin-bottom: 0; +} + +.jp-RenderedHTMLCommon .alert-warning { + color: var(--jp-warn-color0); + background-color: var(--jp-warn-color3); + border-color: var(--jp-warn-color2); +} +.jp-RenderedHTMLCommon .alert-warning hr { + border-color: var(--jp-warn-color3); +} +.jp-RenderedHTMLCommon .alert-warning > p:last-child, +.jp-RenderedHTMLCommon .alert-warning > ul:last-child { + margin-bottom: 0; +} + +.jp-RenderedHTMLCommon .alert-success { + color: var(--jp-success-color0); + background-color: var(--jp-success-color3); + border-color: var(--jp-success-color2); +} +.jp-RenderedHTMLCommon .alert-success hr { + border-color: var(--jp-success-color3); +} +.jp-RenderedHTMLCommon .alert-success > p:last-child, +.jp-RenderedHTMLCommon .alert-success > ul:last-child { + margin-bottom: 0; +} + +.jp-RenderedHTMLCommon .alert-danger { + color: var(--jp-error-color0); + background-color: var(--jp-error-color3); + border-color: var(--jp-error-color2); +} +.jp-RenderedHTMLCommon .alert-danger hr { + border-color: var(--jp-error-color3); +} +.jp-RenderedHTMLCommon .alert-danger > p:last-child, +.jp-RenderedHTMLCommon .alert-danger > ul:last-child { + margin-bottom: 0; +} + +.jp-RenderedHTMLCommon blockquote { + margin: 1em 2em; + padding: 0 1em; + border-left: 5px solid var(--jp-border-color2); +} + +a.jp-InternalAnchorLink { + visibility: hidden; + margin-left: 8px; + color: var(--md-blue-800); +} + +h1:hover .jp-InternalAnchorLink, +h2:hover .jp-InternalAnchorLink, +h3:hover .jp-InternalAnchorLink, +h4:hover .jp-InternalAnchorLink, +h5:hover .jp-InternalAnchorLink, +h6:hover .jp-InternalAnchorLink { + visibility: visible; +} + +.jp-RenderedHTMLCommon kbd { + background-color: var(--jp-rendermime-table-row-background); + border: 1px solid var(--jp-border-color0); + border-bottom-color: var(--jp-border-color2); + border-radius: 3px; + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25); + display: inline-block; + font-size: 0.8em; + line-height: 1em; + padding: 0.2em 0.5em; +} + +/* Most direct children of .jp-RenderedHTMLCommon have a margin-bottom of 1.0. + * At the bottom of cells this is a bit too much as there is also spacing + * between cells. Going all the way to 0 gets too tight between markdown and + * code cells. + */ +.jp-RenderedHTMLCommon > *:last-child { + margin-bottom: 0.5em; +} + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +/* This file was auto-generated by ensurePackage() in @jupyterlab/buildutils */ + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +.jp-MimeDocument { + outline: none; +} + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +/* This file was auto-generated by ensurePackage() in @jupyterlab/buildutils */ + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------- +| Variables +|----------------------------------------------------------------------------*/ + +:root { + --jp-private-filebrowser-button-height: 28px; + --jp-private-filebrowser-button-width: 48px; +} + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +.jp-FileBrowser { + display: flex; + flex-direction: column; + color: var(--jp-ui-font-color1); + background: var(--jp-layout-color1); + /* This is needed so that all font sizing of children done in ems is + * relative to this base size */ + font-size: var(--jp-ui-font-size1); +} + +.jp-FileBrowser-toolbar.jp-Toolbar { + border-bottom: none; + height: auto; + margin: var(--jp-toolbar-header-margin); + box-shadow: none; +} + +.jp-BreadCrumbs { + flex: 0 0 auto; + margin: 4px 12px; +} + +.jp-BreadCrumbs-item { + margin: 0px 2px; + padding: 0px 2px; + border-radius: var(--jp-border-radius); + cursor: pointer; +} + +.jp-BreadCrumbs-item:hover { + background-color: var(--jp-layout-color2); +} + +.jp-BreadCrumbs-item:first-child { + margin-left: 0px; +} + +.jp-BreadCrumbs-item.jp-mod-dropTarget { + background-color: var(--jp-brand-color2); + opacity: 0.7; +} + +/*----------------------------------------------------------------------------- +| Buttons +|----------------------------------------------------------------------------*/ + +.jp-FileBrowser-toolbar.jp-Toolbar { + padding: 0px; +} + +.jp-FileBrowser-toolbar.jp-Toolbar { + justify-content: space-evenly; +} + +.jp-FileBrowser-toolbar.jp-Toolbar .jp-Toolbar-item { + flex: 1; +} + +.jp-FileBrowser-toolbar.jp-Toolbar .jp-ToolbarButtonComponent { + width: 100%; +} + +/*----------------------------------------------------------------------------- +| DirListing +|----------------------------------------------------------------------------*/ + +.jp-DirListing { + flex: 1 1 auto; + display: flex; + flex-direction: column; + outline: 0; +} + +.jp-DirListing-header { + flex: 0 0 auto; + display: flex; + flex-direction: row; + overflow: hidden; + border-top: var(--jp-border-width) solid var(--jp-border-color2); + border-bottom: var(--jp-border-width) solid var(--jp-border-color1); + box-shadow: var(--jp-toolbar-box-shadow); + z-index: 2; +} + +.jp-DirListing-headerItem { + padding: 4px 12px 2px 12px; + font-weight: 500; +} + +.jp-DirListing-headerItem:hover { + background: var(--jp-layout-color2); +} + +.jp-DirListing-headerItem.jp-id-name { + flex: 1 0 84px; +} + +.jp-DirListing-headerItem.jp-id-modified { + flex: 0 0 112px; + border-left: var(--jp-border-width) solid var(--jp-border-color2); + text-align: right; +} + +.jp-DirListing-narrow .jp-id-modified, +.jp-DirListing-narrow .jp-DirListing-itemModified { + display: none; +} + +.jp-DirListing-headerItem.jp-mod-selected { + font-weight: 600; +} + +/* increase specificity to override bundled default */ +.jp-DirListing-content { + flex: 1 1 auto; + margin: 0; + padding: 0; + list-style-type: none; + overflow: auto; + background-color: var(--jp-layout-color1); +} + +/* Style the directory listing content when a user drops a file to upload */ +.jp-DirListing.jp-mod-native-drop .jp-DirListing-content { + outline: 5px dashed rgba(128, 128, 128, 0.5); + outline-offset: -10px; + cursor: copy; +} + +.jp-DirListing-item { + display: flex; + flex-direction: row; + padding: 4px 12px; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.jp-DirListing-item.jp-mod-selected { + color: white; + background: var(--jp-brand-color1); +} + +.jp-DirListing-item.jp-mod-dropTarget { + background: var(--jp-brand-color3); +} + +.jp-DirListing-item:hover:not(.jp-mod-selected) { + background: var(--jp-layout-color2); +} + +.jp-DirListing-itemIcon { + flex: 0 0 20px; + margin-right: 4px; +} + +.jp-DirListing-itemText { + flex: 1 0 64px; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + user-select: none; +} + +.jp-DirListing-itemModified { + flex: 0 0 125px; + text-align: right; +} + +.jp-DirListing-editor { + flex: 1 0 64px; + outline: none; + border: none; +} + +.jp-DirListing-item.jp-mod-running .jp-DirListing-itemIcon:before { + color: limegreen; + content: '\25CF'; + font-size: 8px; + position: absolute; + left: -8px; +} + +.jp-DirListing-item.lm-mod-drag-image, +.jp-DirListing-item.jp-mod-selected.lm-mod-drag-image { + font-size: var(--jp-ui-font-size1); + padding-left: 4px; + margin-left: 4px; + width: 160px; + background-color: var(--jp-ui-inverse-font-color2); + box-shadow: var(--jp-elevation-z2); + border-radius: 0px; + color: var(--jp-ui-font-color1); + transform: translateX(-40%) translateY(-58%); +} + +.jp-DirListing-deadSpace { + flex: 1 1 auto; + margin: 0; + padding: 0; + list-style-type: none; + overflow: auto; + background-color: var(--jp-layout-color1); +} + +.jp-Document { + min-width: 120px; + min-height: 120px; + outline: none; +} + +.jp-FileDialog.jp-mod-conflict input { + color: red; +} + +.jp-FileDialog .jp-new-name-title { + margin-top: 12px; +} + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +/* This file was auto-generated by ensurePackage() in @jupyterlab/buildutils */ + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------- +| Private CSS variables +|----------------------------------------------------------------------------*/ + +:root { +} + +/*----------------------------------------------------------------------------- +| Main OutputArea +| OutputArea has a list of Outputs +|----------------------------------------------------------------------------*/ + +.jp-OutputArea { + overflow-y: auto; +} + +.jp-OutputArea-child { + display: flex; + flex-direction: row; +} + +.jp-OutputPrompt { + flex: 0 0 var(--jp-cell-prompt-width); + color: var(--jp-cell-outprompt-font-color); + font-family: var(--jp-cell-prompt-font-family); + padding: var(--jp-code-padding); + letter-spacing: var(--jp-cell-prompt-letter-spacing); + line-height: var(--jp-code-line-height); + font-size: var(--jp-code-font-size); + border: var(--jp-border-width) solid transparent; + opacity: var(--jp-cell-prompt-opacity); + /* Right align prompt text, don't wrap to handle large prompt numbers */ + text-align: right; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + /* Disable text selection */ + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.jp-OutputArea-output { + height: auto; + overflow: auto; + user-select: text; + -moz-user-select: text; + -webkit-user-select: text; + -ms-user-select: text; +} + +.jp-OutputArea-child .jp-OutputArea-output { + flex-grow: 1; + flex-shrink: 1; +} + +/** + * Isolated output. + */ +.jp-OutputArea-output.jp-mod-isolated { + width: 100%; + display: block; +} + +/* +When drag events occur, `p-mod-override-cursor` is added to the body. +Because iframes steal all cursor events, the following two rules are necessary +to suppress pointer events while resize drags are occurring. There may be a +better solution to this problem. +*/ +body.lm-mod-override-cursor .jp-OutputArea-output.jp-mod-isolated { + position: relative; +} + +body.lm-mod-override-cursor .jp-OutputArea-output.jp-mod-isolated:before { + content: ''; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: transparent; +} + +/* pre */ + +.jp-OutputArea-output pre { + border: none; + margin: 0px; + padding: 0px; + overflow-x: auto; + overflow-y: auto; + word-break: break-all; + word-wrap: break-word; + white-space: pre-wrap; +} + +/* tables */ + +.jp-OutputArea-output.jp-RenderedHTMLCommon table { + margin-left: 0; + margin-right: 0; +} + +/* description lists */ + +.jp-OutputArea-output dl, +.jp-OutputArea-output dt, +.jp-OutputArea-output dd { + display: block; +} + +.jp-OutputArea-output dl { + width: 100%; + overflow: hidden; + padding: 0; + margin: 0; +} + +.jp-OutputArea-output dt { + font-weight: bold; + float: left; + width: 20%; + padding: 0; + margin: 0; +} + +.jp-OutputArea-output dd { + float: left; + width: 80%; + padding: 0; + margin: 0; +} + +/* Hide the gutter in case of + * - nested output areas (e.g. in the case of output widgets) + * - mirrored output areas + */ +.jp-OutputArea .jp-OutputArea .jp-OutputArea-prompt { + display: none; +} + +/*----------------------------------------------------------------------------- +| executeResult is added to any Output-result for the display of the object +| returned by a cell +|----------------------------------------------------------------------------*/ + +.jp-OutputArea-output.jp-OutputArea-executeResult { + margin-left: 0px; + flex: 1 1 auto; +} + +.jp-OutputArea-executeResult.jp-RenderedText { + padding-top: var(--jp-code-padding); +} + +/*----------------------------------------------------------------------------- +| The Stdin output +|----------------------------------------------------------------------------*/ + +.jp-OutputArea-stdin { + line-height: var(--jp-code-line-height); + padding-top: var(--jp-code-padding); + display: flex; +} + +.jp-Stdin-prompt { + color: var(--jp-content-font-color0); + padding-right: var(--jp-code-padding); + vertical-align: baseline; + flex: 0 0 auto; +} + +.jp-Stdin-input { + font-family: var(--jp-code-font-family); + font-size: inherit; + color: inherit; + background-color: inherit; + width: 42%; + min-width: 200px; + /* 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; + flex: 0 0 70%; +} + +.jp-Stdin-input:focus { + box-shadow: none; +} + +/*----------------------------------------------------------------------------- +| Output Area View +|----------------------------------------------------------------------------*/ + +.jp-LinkedOutputView .jp-OutputArea { + height: 100%; + display: block; +} + +.jp-LinkedOutputView .jp-OutputArea-output:only-child { + height: 100%; +} + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +/* This file was auto-generated by ensurePackage() in @jupyterlab/buildutils */ + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +.jp-Collapser { + flex: 0 0 var(--jp-cell-collapser-width); + padding: 0px; + margin: 0px; + border: none; + outline: none; + background: transparent; + border-radius: var(--jp-border-radius); + opacity: 1; +} + +.jp-Collapser-child { + display: block; + width: 100%; + box-sizing: border-box; + /* height: 100% doesn't work because the height of its parent is computed from content */ + position: absolute; + top: 0px; + bottom: 0px; +} + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------- +| Header/Footer +|----------------------------------------------------------------------------*/ + +/* Hidden by zero height by default */ +.jp-CellHeader, +.jp-CellFooter { + height: 0px; + width: 100%; + padding: 0px; + margin: 0px; + border: none; + outline: none; + background: transparent; +} + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------- +| Input +|----------------------------------------------------------------------------*/ + +/* All input areas */ +.jp-InputArea { + display: flex; + flex-direction: row; +} + +.jp-InputArea-editor { + flex: 1 1 auto; +} + +.jp-InputArea-editor { + /* This is the non-active, default styling */ + border: var(--jp-border-width) solid var(--jp-cell-editor-border-color); + border-radius: 0px; + background: var(--jp-cell-editor-background); +} + +.jp-InputPrompt { + flex: 0 0 var(--jp-cell-prompt-width); + color: var(--jp-cell-inprompt-font-color); + font-family: var(--jp-cell-prompt-font-family); + padding: var(--jp-code-padding); + letter-spacing: var(--jp-cell-prompt-letter-spacing); + opacity: var(--jp-cell-prompt-opacity); + line-height: var(--jp-code-line-height); + font-size: var(--jp-code-font-size); + border: var(--jp-border-width) solid transparent; + opacity: var(--jp-cell-prompt-opacity); + /* Right align prompt text, don't wrap to handle large prompt numbers */ + text-align: right; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + /* Disable text selection */ + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------- +| Placeholder +|----------------------------------------------------------------------------*/ + +.jp-Placeholder { + display: flex; + flex-direction: row; + flex: 1 1 auto; +} + +.jp-Placeholder-prompt { + box-sizing: border-box; +} + +.jp-Placeholder-content { + flex: 1 1 auto; + border: none; + background: transparent; + height: 20px; + box-sizing: border-box; +} + +.jp-Placeholder-content .jp-MoreHorizIcon { + width: 32px; + height: 16px; + border: 1px solid transparent; + border-radius: var(--jp-border-radius); +} + +.jp-Placeholder-content .jp-MoreHorizIcon:hover { + border: 1px solid var(--jp-border-color1); + box-shadow: 0px 0px 2px 0px rgba(0, 0, 0, 0.25); + background-color: var(--jp-layout-color0); +} + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------- +| Private CSS variables +|----------------------------------------------------------------------------*/ + +:root { + --jp-private-cell-scrolling-output-offset: 5px; +} + +/*----------------------------------------------------------------------------- +| Cell +|----------------------------------------------------------------------------*/ + +.jp-Cell { + padding: var(--jp-cell-padding); + margin: 0px; + border: none; + outline: none; + background: transparent; +} + +/*----------------------------------------------------------------------------- +| Common input/output +|----------------------------------------------------------------------------*/ + +.jp-Cell-inputWrapper, +.jp-Cell-outputWrapper { + display: flex; + flex-direction: row; + padding: 0px; + margin: 0px; + /* Added to reveal the box-shadow on the input and output collapsers. */ + overflow: visible; +} + +/* Only input/output areas inside cells */ +.jp-Cell-inputArea, +.jp-Cell-outputArea { + flex: 1 1 auto; +} + +/*----------------------------------------------------------------------------- +| Collapser +|----------------------------------------------------------------------------*/ + +/* Make the output collapser disappear when there is not output, but do so + * in a manner that leaves it in the layout and preserves its width. + */ +.jp-Cell.jp-mod-noOutputs .jp-Cell-outputCollapser { + border: none !important; + background: transparent !important; +} + +.jp-Cell:not(.jp-mod-noOutputs) .jp-Cell-outputCollapser { + min-height: var(--jp-cell-collapser-min-height); +} + +/*----------------------------------------------------------------------------- +| Output +|----------------------------------------------------------------------------*/ + +/* Put a space between input and output when there IS output */ +.jp-Cell:not(.jp-mod-noOutputs) .jp-Cell-outputWrapper { + margin-top: 5px; +} + +/* Text output with the Out[] prompt needs a top padding to match the + * alignment of the Out[] prompt itself. + */ +.jp-OutputArea-executeResult .jp-RenderedText.jp-OutputArea-output { + padding-top: var(--jp-code-padding); +} + +.jp-CodeCell.jp-mod-outputsScrolled .jp-Cell-outputArea { + overflow-y: auto; + max-height: 200px; + box-shadow: inset 0 0 6px 2px rgba(0, 0, 0, 0.3); + margin-left: var(--jp-private-cell-scrolling-output-offset); +} + +.jp-CodeCell.jp-mod-outputsScrolled .jp-OutputArea-prompt { + flex: 0 0 + calc( + var(--jp-cell-prompt-width) - + var(--jp-private-cell-scrolling-output-offset) + ); +} + +/*----------------------------------------------------------------------------- +| CodeCell +|----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------- +| MarkdownCell +|----------------------------------------------------------------------------*/ + +.jp-MarkdownOutput { + flex: 1 1 auto; + margin-top: 0; + margin-bottom: 0; + padding-left: var(--jp-code-padding); +} + +.jp-MarkdownOutput.jp-RenderedHTMLCommon { + overflow: auto; +} + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +/* This file was auto-generated by ensurePackage() in @jupyterlab/buildutils */ + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------- +| Variables +|----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------- + +/*----------------------------------------------------------------------------- +| Styles +|----------------------------------------------------------------------------*/ + +.jp-NotebookPanel-toolbar { + padding: 2px; +} + +.jp-Toolbar-item.jp-Notebook-toolbarCellType .jp-select-wrapper.jp-mod-focused { + border: none; + box-shadow: none; +} + +.jp-Notebook-toolbarCellTypeDropdown select { + height: 24px; + font-size: var(--jp-ui-font-size1); + line-height: 14px; + border-radius: 0; + display: block; +} + +.jp-Notebook-toolbarCellTypeDropdown span { + top: 5px !important; +} + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------- +| Private CSS variables +|----------------------------------------------------------------------------*/ + +:root { + --jp-private-notebook-dragImage-width: 304px; + --jp-private-notebook-dragImage-height: 36px; + --jp-private-notebook-selected-color: var(--md-blue-400); + --jp-private-notebook-active-color: var(--md-green-400); +} + +/*----------------------------------------------------------------------------- +| Imports +|----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------- +| Notebook +|----------------------------------------------------------------------------*/ + +.jp-NotebookPanel { + display: block; + height: 100%; +} + +.jp-NotebookPanel.jp-Document { + min-width: 240px; + min-height: 120px; +} + +.jp-Notebook { + padding: var(--jp-notebook-padding); + outline: none; + overflow: auto; + background: var(--jp-layout-color0); +} + +.jp-Notebook.jp-mod-scrollPastEnd::after { + display: block; + content: ''; + min-height: var(--jp-notebook-scroll-padding); +} + +.jp-Notebook .jp-Cell { + overflow: visible; +} + +.jp-Notebook .jp-Cell .jp-InputPrompt { + cursor: move; +} + +/*----------------------------------------------------------------------------- +| Notebook state related styling +| +| The notebook and cells each have states, here are the possibilities: +| +| - Notebook +| - Command +| - Edit +| - Cell +| - None +| - Active (only one can be active) +| - Selected (the cells actions are applied to) +| - Multiselected (when multiple selected, the cursor) +| - No outputs +|----------------------------------------------------------------------------*/ + +/* Command or edit modes */ + +.jp-Notebook .jp-Cell:not(.jp-mod-active) .jp-InputPrompt { + opacity: var(--jp-cell-prompt-not-active-opacity); + color: var(--jp-cell-prompt-not-active-font-color); +} + +.jp-Notebook .jp-Cell:not(.jp-mod-active) .jp-OutputPrompt { + opacity: var(--jp-cell-prompt-not-active-opacity); + color: var(--jp-cell-prompt-not-active-font-color); +} + +/* cell is active */ +.jp-Notebook .jp-Cell.jp-mod-active .jp-Collapser { + background: var(--jp-brand-color1); +} + +/* collapser is hovered */ +.jp-Notebook .jp-Cell .jp-Collapser:hover { + box-shadow: var(--jp-elevation-z2); + background: var(--jp-brand-color1); + opacity: var(--jp-cell-collapser-not-active-hover-opacity); +} + +/* cell is active and collapser is hovered */ +.jp-Notebook .jp-Cell.jp-mod-active .jp-Collapser:hover { + background: var(--jp-brand-color0); + opacity: 1; +} + +/* Command mode */ + +.jp-Notebook.jp-mod-commandMode .jp-Cell.jp-mod-selected { + background: var(--jp-notebook-multiselected-color); +} + +.jp-Notebook.jp-mod-commandMode + .jp-Cell.jp-mod-active.jp-mod-selected:not(.jp-mod-multiSelected) { + background: transparent; +} + +/* Edit mode */ + +.jp-Notebook.jp-mod-editMode .jp-Cell.jp-mod-active .jp-InputArea-editor { + border: var(--jp-border-width) solid var(--jp-cell-editor-active-border-color); + box-shadow: var(--jp-input-box-shadow); + background-color: var(--jp-cell-editor-active-background); +} + +/*----------------------------------------------------------------------------- +| Notebook drag and drop +|----------------------------------------------------------------------------*/ + +.jp-Notebook-cell.jp-mod-dropSource { + opacity: 0.5; +} + +.jp-Notebook-cell.jp-mod-dropTarget, +.jp-Notebook.jp-mod-commandMode + .jp-Notebook-cell.jp-mod-active.jp-mod-selected.jp-mod-dropTarget { + border-top-color: var(--jp-private-notebook-selected-color); + border-top-style: solid; + border-top-width: 2px; +} + +.jp-dragImage { + display: flex; + flex-direction: row; + width: var(--jp-private-notebook-dragImage-width); + height: var(--jp-private-notebook-dragImage-height); + border: var(--jp-border-width) solid var(--jp-cell-editor-border-color); + background: var(--jp-cell-editor-background); + overflow: visible; +} + +.jp-dragImage-singlePrompt { + box-shadow: 2px 2px 4px 0px rgba(0, 0, 0, 0.12); +} + +.jp-dragImage .jp-dragImage-content { + flex: 1 1 auto; + z-index: 2; + font-size: var(--jp-code-font-size); + font-family: var(--jp-code-font-family); + line-height: var(--jp-code-line-height); + padding: var(--jp-code-padding); + border: var(--jp-border-width) solid var(--jp-cell-editor-border-color); + background: var(--jp-cell-editor-background-color); + color: var(--jp-content-font-color3); + text-align: left; + margin: 4px 4px 4px 0px; +} + +.jp-dragImage .jp-dragImage-prompt { + flex: 0 0 auto; + min-width: 36px; + color: var(--jp-cell-inprompt-font-color); + padding: var(--jp-code-padding); + padding-left: 12px; + font-family: var(--jp-cell-prompt-font-family); + letter-spacing: var(--jp-cell-prompt-letter-spacing); + line-height: 1.9; + font-size: var(--jp-code-font-size); + border: var(--jp-border-width) solid transparent; +} + +.jp-dragImage-multipleBack { + z-index: -1; + position: absolute; + height: 32px; + width: 300px; + top: 8px; + left: 8px; + background: var(--jp-layout-color2); + border: var(--jp-border-width) solid var(--jp-input-border-color); + box-shadow: 2px 2px 4px 0px rgba(0, 0, 0, 0.12); +} + +/*----------------------------------------------------------------------------- +| Cell toolbar +|----------------------------------------------------------------------------*/ + +.jp-NotebookTools { + display: block; + min-width: var(--jp-sidebar-min-width); + color: var(--jp-ui-font-color1); + background: var(--jp-layout-color1); + /* This is needed so that all font sizing of children done in ems is + * relative to this base size */ + font-size: var(--jp-ui-font-size1); + overflow: auto; +} + +.jp-NotebookTools-tool { + padding: 0px 12px 0 12px; +} + +.jp-ActiveCellTool { + padding: 12px; + background-color: var(--jp-layout-color1); + border-top: none !important; +} + +.jp-ActiveCellTool .jp-InputArea-prompt { + flex: 0 0 auto; + padding-left: 0px; +} + +.jp-ActiveCellTool .jp-InputArea-editor { + flex: 1 1 auto; + background: var(--jp-cell-editor-background); + border-color: var(--jp-cell-editor-border-color); +} + +.jp-ActiveCellTool .jp-InputArea-editor .CodeMirror { + background: transparent; +} + +.jp-MetadataEditorTool { + flex-direction: column; + padding: 12px 0px 12px 0px; +} + +.jp-RankedPanel > :not(:first-child) { + margin-top: 12px; +} + +.jp-KeySelector select.jp-mod-styled { + font-size: var(--jp-ui-font-size1); + color: var(--jp-ui-font-color0); + border: var(--jp-border-width) solid var(--jp-border-color1); +} + +.jp-KeySelector label, +.jp-MetadataEditorTool label { + line-height: 1.4; +} + +/*----------------------------------------------------------------------------- +| Presentation Mode (.jp-mod-presentationMode) +|----------------------------------------------------------------------------*/ + +.jp-mod-presentationMode .jp-Notebook { + --jp-content-font-size1: var(--jp-content-presentation-font-size1); + --jp-code-font-size: var(--jp-code-presentation-font-size); +} + +.jp-mod-presentationMode .jp-Notebook .jp-Cell .jp-InputPrompt, +.jp-mod-presentationMode .jp-Notebook .jp-Cell .jp-OutputPrompt { + flex: 0 0 110px; +} + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +/* This file was auto-generated by ensurePackage() in @jupyterlab/buildutils */ + +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +</style> + + <style type="text/css"> +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +/* +The following CSS variables define the main, public API for styling JupyterLab. +These variables should be used by all plugins wherever possible. In other +words, plugins should not define custom colors, sizes, etc unless absolutely +necessary. This enables users to change the visual theme of JupyterLab +by changing these variables. + +Many variables appear in an ordered sequence (0,1,2,3). These sequences +are designed to work well together, so for example, `--jp-border-color1` should +be used with `--jp-layout-color1`. The numbers have the following meanings: + +* 0: super-primary, reserved for special emphasis +* 1: primary, most important under normal situations +* 2: secondary, next most important under normal situations +* 3: tertiary, next most important under normal situations + +Throughout JupyterLab, we are mostly following principles from Google's +Material Design when selecting colors. We are not, however, following +all of MD as it is not optimized for dense, information rich UIs. +*/ + +:root { + /* Elevation + * + * We style box-shadows using Material Design's idea of elevation. These particular numbers are taken from here: + * + * https://github.com/material-components/material-components-web + * https://material-components-web.appspot.com/elevation.html + */ + + --jp-shadow-base-lightness: 0; + --jp-shadow-umbra-color: rgba( + var(--jp-shadow-base-lightness), + var(--jp-shadow-base-lightness), + var(--jp-shadow-base-lightness), + 0.2 + ); + --jp-shadow-penumbra-color: rgba( + var(--jp-shadow-base-lightness), + var(--jp-shadow-base-lightness), + var(--jp-shadow-base-lightness), + 0.14 + ); + --jp-shadow-ambient-color: rgba( + var(--jp-shadow-base-lightness), + var(--jp-shadow-base-lightness), + var(--jp-shadow-base-lightness), + 0.12 + ); + --jp-elevation-z0: none; + --jp-elevation-z1: 0px 2px 1px -1px var(--jp-shadow-umbra-color), + 0px 1px 1px 0px var(--jp-shadow-penumbra-color), + 0px 1px 3px 0px var(--jp-shadow-ambient-color); + --jp-elevation-z2: 0px 3px 1px -2px var(--jp-shadow-umbra-color), + 0px 2px 2px 0px var(--jp-shadow-penumbra-color), + 0px 1px 5px 0px var(--jp-shadow-ambient-color); + --jp-elevation-z4: 0px 2px 4px -1px var(--jp-shadow-umbra-color), + 0px 4px 5px 0px var(--jp-shadow-penumbra-color), + 0px 1px 10px 0px var(--jp-shadow-ambient-color); + --jp-elevation-z6: 0px 3px 5px -1px var(--jp-shadow-umbra-color), + 0px 6px 10px 0px var(--jp-shadow-penumbra-color), + 0px 1px 18px 0px var(--jp-shadow-ambient-color); + --jp-elevation-z8: 0px 5px 5px -3px var(--jp-shadow-umbra-color), + 0px 8px 10px 1px var(--jp-shadow-penumbra-color), + 0px 3px 14px 2px var(--jp-shadow-ambient-color); + --jp-elevation-z12: 0px 7px 8px -4px var(--jp-shadow-umbra-color), + 0px 12px 17px 2px var(--jp-shadow-penumbra-color), + 0px 5px 22px 4px var(--jp-shadow-ambient-color); + --jp-elevation-z16: 0px 8px 10px -5px var(--jp-shadow-umbra-color), + 0px 16px 24px 2px var(--jp-shadow-penumbra-color), + 0px 6px 30px 5px var(--jp-shadow-ambient-color); + --jp-elevation-z20: 0px 10px 13px -6px var(--jp-shadow-umbra-color), + 0px 20px 31px 3px var(--jp-shadow-penumbra-color), + 0px 8px 38px 7px var(--jp-shadow-ambient-color); + --jp-elevation-z24: 0px 11px 15px -7px var(--jp-shadow-umbra-color), + 0px 24px 38px 3px var(--jp-shadow-penumbra-color), + 0px 9px 46px 8px var(--jp-shadow-ambient-color); + + /* Borders + * + * The following variables, specify the visual styling of borders in JupyterLab. + */ + + --jp-border-width: 1px; + --jp-border-color0: var(--md-grey-400); + --jp-border-color1: var(--md-grey-400); + --jp-border-color2: var(--md-grey-300); + --jp-border-color3: var(--md-grey-200); + --jp-border-radius: 2px; + + /* UI Fonts + * + * The UI font CSS variables are used for the typography all of the JupyterLab + * user interface elements that are not directly user generated content. + * + * The font sizing here is done assuming that the body font size of --jp-ui-font-size1 + * is applied to a parent element. When children elements, such as headings, are sized + * in em all things will be computed relative to that body size. + */ + + --jp-ui-font-scale-factor: 1.2; + --jp-ui-font-size0: 0.83333em; + --jp-ui-font-size1: 13px; /* Base font size */ + --jp-ui-font-size2: 1.2em; + --jp-ui-font-size3: 1.44em; + + --jp-ui-font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, + Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; + + /* + * Use these font colors against the corresponding main layout colors. + * In a light theme, these go from dark to light. + */ + + /* Defaults use Material Design specification */ + --jp-ui-font-color0: rgba(0, 0, 0, 1); + --jp-ui-font-color1: rgba(0, 0, 0, 0.87); + --jp-ui-font-color2: rgba(0, 0, 0, 0.54); + --jp-ui-font-color3: rgba(0, 0, 0, 0.38); + + /* + * Use these against the brand/accent/warn/error colors. + * These will typically go from light to darker, in both a dark and light theme. + */ + + --jp-ui-inverse-font-color0: rgba(255, 255, 255, 1); + --jp-ui-inverse-font-color1: rgba(255, 255, 255, 1); + --jp-ui-inverse-font-color2: rgba(255, 255, 255, 0.7); + --jp-ui-inverse-font-color3: rgba(255, 255, 255, 0.5); + + /* Content Fonts + * + * Content font variables are used for typography of user generated content. + * + * The font sizing here is done assuming that the body font size of --jp-content-font-size1 + * is applied to a parent element. When children elements, such as headings, are sized + * in em all things will be computed relative to that body size. + */ + + --jp-content-line-height: 1.6; + --jp-content-font-scale-factor: 1.2; + --jp-content-font-size0: 0.83333em; + --jp-content-font-size1: 14px; /* Base font size */ + --jp-content-font-size2: 1.2em; + --jp-content-font-size3: 1.44em; + --jp-content-font-size4: 1.728em; + --jp-content-font-size5: 2.0736em; + + /* This gives a magnification of about 125% in presentation mode over normal. */ + --jp-content-presentation-font-size1: 17px; + + --jp-content-heading-line-height: 1; + --jp-content-heading-margin-top: 1.2em; + --jp-content-heading-margin-bottom: 0.8em; + --jp-content-heading-font-weight: 500; + + /* Defaults use Material Design specification */ + --jp-content-font-color0: rgba(0, 0, 0, 1); + --jp-content-font-color1: rgba(0, 0, 0, 0.87); + --jp-content-font-color2: rgba(0, 0, 0, 0.54); + --jp-content-font-color3: rgba(0, 0, 0, 0.38); + + --jp-content-link-color: var(--md-blue-700); + + --jp-content-font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', + Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', + 'Segoe UI Symbol'; + + /* + * Code Fonts + * + * Code font variables are used for typography of code and other monospaces content. + */ + + --jp-code-font-size: 13px; + --jp-code-line-height: 1.3077; /* 17px for 13px base */ + --jp-code-padding: 5px; /* 5px for 13px base, codemirror highlighting needs integer px value */ + --jp-code-font-family-default: Menlo, Consolas, 'DejaVu Sans Mono', monospace; + --jp-code-font-family: var(--jp-code-font-family-default); + + /* This gives a magnification of about 125% in presentation mode over normal. */ + --jp-code-presentation-font-size: 16px; + + /* may need to tweak cursor width if you change font size */ + --jp-code-cursor-width0: 1.4px; + --jp-code-cursor-width1: 2px; + --jp-code-cursor-width2: 4px; + + /* Layout + * + * The following are the main layout colors use in JupyterLab. In a light + * theme these would go from light to dark. + */ + + --jp-layout-color0: white; + --jp-layout-color1: white; + --jp-layout-color2: var(--md-grey-200); + --jp-layout-color3: var(--md-grey-400); + --jp-layout-color4: var(--md-grey-600); + + /* Inverse Layout + * + * The following are the inverse layout colors use in JupyterLab. In a light + * theme these would go from dark to light. + */ + + --jp-inverse-layout-color0: #111111; + --jp-inverse-layout-color1: var(--md-grey-900); + --jp-inverse-layout-color2: var(--md-grey-800); + --jp-inverse-layout-color3: var(--md-grey-700); + --jp-inverse-layout-color4: var(--md-grey-600); + + /* Brand/accent */ + + --jp-brand-color0: var(--md-blue-700); + --jp-brand-color1: var(--md-blue-500); + --jp-brand-color2: var(--md-blue-300); + --jp-brand-color3: var(--md-blue-100); + --jp-brand-color4: var(--md-blue-50); + + --jp-accent-color0: var(--md-green-700); + --jp-accent-color1: var(--md-green-500); + --jp-accent-color2: var(--md-green-300); + --jp-accent-color3: var(--md-green-100); + + /* State colors (warn, error, success, info) */ + + --jp-warn-color0: var(--md-orange-700); + --jp-warn-color1: var(--md-orange-500); + --jp-warn-color2: var(--md-orange-300); + --jp-warn-color3: var(--md-orange-100); + + --jp-error-color0: var(--md-red-700); + --jp-error-color1: var(--md-red-500); + --jp-error-color2: var(--md-red-300); + --jp-error-color3: var(--md-red-100); + + --jp-success-color0: var(--md-green-700); + --jp-success-color1: var(--md-green-500); + --jp-success-color2: var(--md-green-300); + --jp-success-color3: var(--md-green-100); + + --jp-info-color0: var(--md-cyan-700); + --jp-info-color1: var(--md-cyan-500); + --jp-info-color2: var(--md-cyan-300); + --jp-info-color3: var(--md-cyan-100); + + /* Cell specific styles */ + + --jp-cell-padding: 5px; + + --jp-cell-collapser-width: 8px; + --jp-cell-collapser-min-height: 20px; + --jp-cell-collapser-not-active-hover-opacity: 0.6; + + --jp-cell-editor-background: var(--md-grey-100); + --jp-cell-editor-border-color: var(--md-grey-300); + --jp-cell-editor-box-shadow: inset 0 0 2px var(--md-blue-300); + --jp-cell-editor-active-background: var(--jp-layout-color0); + --jp-cell-editor-active-border-color: var(--jp-brand-color1); + + --jp-cell-prompt-width: 64px; + --jp-cell-prompt-font-family: 'Source Code Pro', monospace; + --jp-cell-prompt-letter-spacing: 0px; + --jp-cell-prompt-opacity: 1; + --jp-cell-prompt-not-active-opacity: 0.5; + --jp-cell-prompt-not-active-font-color: var(--md-grey-700); + /* A custom blend of MD grey and blue 600 + * See https://meyerweb.com/eric/tools/color-blend/#546E7A:1E88E5:5:hex */ + --jp-cell-inprompt-font-color: #307fc1; + /* A custom blend of MD grey and orange 600 + * https://meyerweb.com/eric/tools/color-blend/#546E7A:F4511E:5:hex */ + --jp-cell-outprompt-font-color: #bf5b3d; + + /* Notebook specific styles */ + + --jp-notebook-padding: 10px; + --jp-notebook-select-background: var(--jp-layout-color1); + --jp-notebook-multiselected-color: var(--md-blue-50); + + /* The scroll padding is calculated to fill enough space at the bottom of the + notebook to show one single-line cell (with appropriate padding) at the top + when the notebook is scrolled all the way to the bottom. We also subtract one + pixel so that no scrollbar appears if we have just one single-line cell in the + notebook. This padding is to enable a 'scroll past end' feature in a notebook. + */ + --jp-notebook-scroll-padding: calc( + 100% - var(--jp-code-font-size) * var(--jp-code-line-height) - + var(--jp-code-padding) - var(--jp-cell-padding) - 1px + ); + + /* Rendermime styles */ + + --jp-rendermime-error-background: #fdd; + --jp-rendermime-table-row-background: var(--md-grey-100); + --jp-rendermime-table-row-hover-background: var(--md-light-blue-50); + + /* Dialog specific styles */ + + --jp-dialog-background: rgba(0, 0, 0, 0.25); + + /* Console specific styles */ + + --jp-console-padding: 10px; + + /* Toolbar specific styles */ + + --jp-toolbar-border-color: var(--jp-border-color1); + --jp-toolbar-micro-height: 8px; + --jp-toolbar-background: var(--jp-layout-color1); + --jp-toolbar-box-shadow: 0px 0px 2px 0px rgba(0, 0, 0, 0.24); + --jp-toolbar-header-margin: 4px 4px 0px 4px; + --jp-toolbar-active-background: var(--md-grey-300); + + /* Input field styles */ + + --jp-input-box-shadow: inset 0 0 2px var(--md-blue-300); + --jp-input-active-background: var(--jp-layout-color1); + --jp-input-hover-background: var(--jp-layout-color1); + --jp-input-background: var(--md-grey-100); + --jp-input-border-color: var(--jp-border-color1); + --jp-input-active-border-color: var(--jp-brand-color1); + --jp-input-active-box-shadow-color: rgba(19, 124, 189, 0.3); + + /* General editor styles */ + + --jp-editor-selected-background: #d9d9d9; + --jp-editor-selected-focused-background: #d7d4f0; + --jp-editor-cursor-color: var(--jp-ui-font-color0); + + /* Code mirror specific styles */ + + --jp-mirror-editor-keyword-color: #008000; + --jp-mirror-editor-atom-color: #88f; + --jp-mirror-editor-number-color: #080; + --jp-mirror-editor-def-color: #00f; + --jp-mirror-editor-variable-color: var(--md-grey-900); + --jp-mirror-editor-variable-2-color: #05a; + --jp-mirror-editor-variable-3-color: #085; + --jp-mirror-editor-punctuation-color: #05a; + --jp-mirror-editor-property-color: #05a; + --jp-mirror-editor-operator-color: #aa22ff; + --jp-mirror-editor-comment-color: #408080; + --jp-mirror-editor-string-color: #ba2121; + --jp-mirror-editor-string-2-color: #708; + --jp-mirror-editor-meta-color: #aa22ff; + --jp-mirror-editor-qualifier-color: #555; + --jp-mirror-editor-builtin-color: #008000; + --jp-mirror-editor-bracket-color: #997; + --jp-mirror-editor-tag-color: #170; + --jp-mirror-editor-attribute-color: #00c; + --jp-mirror-editor-header-color: blue; + --jp-mirror-editor-quote-color: #090; + --jp-mirror-editor-link-color: #00c; + --jp-mirror-editor-error-color: #f00; + --jp-mirror-editor-hr-color: #999; + + /* Vega extension styles */ + + --jp-vega-background: white; + + /* Sidebar-related styles */ + + --jp-sidebar-min-width: 180px; + + /* Search-related styles */ + + --jp-search-toggle-off-opacity: 0.5; + --jp-search-toggle-hover-opacity: 0.8; + --jp-search-toggle-on-opacity: 1; + --jp-search-selected-match-background-color: rgb(245, 200, 0); + --jp-search-selected-match-color: black; + --jp-search-unselected-match-background-color: var( + --jp-inverse-layout-color0 + ); + --jp-search-unselected-match-color: var(--jp-ui-inverse-font-color0); + + /* Icon colors that work well with light or dark backgrounds */ + --jp-icon-contrast-color0: var(--md-purple-600); + --jp-icon-contrast-color1: var(--md-green-600); + --jp-icon-contrast-color2: var(--md-pink-600); + --jp-icon-contrast-color3: var(--md-blue-600); +} +</style> + +<style type="text/css"> +a.anchor-link { + display: none; +} +.highlight { + margin: 0.4em; +} + +/* Input area styling */ +.jp-InputArea { + overflow: hidden; +} + +.jp-InputArea-editor { + overflow: hidden; +} + +@media print { + body { + margin: 0; + } +} +</style> + + + +<!-- Load mathjax --> + <script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/latest.js?config=TeX-MML-AM_CHTML-full,Safe"> </script> + <!-- MathJax configuration --> + <script type="text/x-mathjax-config"> + init_mathjax = function() { + if (window.MathJax) { + // MathJax loaded + MathJax.Hub.Config({ + TeX: { + equationNumbers: { + autoNumber: "AMS", + useLabelIds: true + } + }, + tex2jax: { + inlineMath: [ ['$','$'], ["\\(","\\)"] ], + displayMath: [ ['$$','$$'], ["\\[","\\]"] ], + processEscapes: true, + processEnvironments: true + }, + displayAlign: 'center', + CommonHTML: { + linebreaks: { + automatic: true + } + }, + "HTML-CSS": { + linebreaks: { + automatic: true + } + } + }); + + MathJax.Hub.Queue(["Typeset", MathJax.Hub]); + } + } + init_mathjax(); + </script> + <!-- End of mathjax configuration --></head> +<body class="jp-Notebook" data-jp-theme-light="true" data-jp-theme-name="JupyterLab Light"> + +<div class="jp-Cell-inputWrapper"><div class="jp-InputPrompt jp-InputArea-prompt"> +</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown"> +<h2 id="Nombre:-Jennifer-Ortega">Nombre: Jennifer Ortega<a class="anchor-link" href="#Nombre:-Jennifer-Ortega">¶</a></h2><h2 id="Ejercicio--Resolución-espacial">Ejercicio Resolución espacial<a class="anchor-link" href="#Ejercicio--Resolución-espacial">¶</a></h2> +</div> +</div> +<div class="jp-Cell-inputWrapper"><div class="jp-InputPrompt jp-InputArea-prompt"> +</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown"> +<h3 id="Estructura-del-notebook">Estructura del notebook<a class="anchor-link" href="#Estructura-del-notebook">¶</a></h3><ul> +<li>Extracción de las matrices RGB</li> +<li>Generar una matriz a partir de la imagen en escala de grises</li> +<li>Recortar una imagen de una estrella.</li> +<li>Realizar el Ajuste a una gaussiana en 1D</li> +<li>Realizar el Ajuste a una gaussiana en 2D</li> +<li>Calcular el valor FWHM</li> +<li>Automatizamos el proceso anterior para varias estrellas.</li> +</ul> + +</div> +</div> +<div class="jp-Cell-inputWrapper"><div class="jp-InputPrompt jp-InputArea-prompt"> +</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown"> +<h2 id="Resolución">Resolución<a class="anchor-link" href="#Resolución">¶</a></h2><ul> +<li>Cargamos la imagen utilizando PIL, y utilizamos asarray para leer la imagen en forma de matrices.</li> +</ul> + +</div> +</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell "> +<div class="jp-Cell-inputWrapper"> +<div class="jp-InputArea jp-Cell-inputArea"> +<div class="jp-InputPrompt jp-InputArea-prompt">In [1]:</div> +<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline"> + <div class="CodeMirror cm-s-jupyter"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="kn">from</span> <span class="nn">PIL</span> <span class="kn">import</span> <span class="n">Image</span> +<span class="kn">from</span> <span class="nn">numpy</span> <span class="kn">import</span> <span class="n">asarray</span> +<span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span> +<span class="n">image</span> <span class="o">=</span> <span class="n">Image</span><span class="o">.</span><span class="n">open</span><span class="p">(</span><span class="s1">'data/zapatocaImage.jpeg'</span><span class="p">)</span> +<span class="n">data</span> <span class="o">=</span> <span class="n">asarray</span><span class="p">(</span><span class="n">image</span><span class="p">)</span> <span class="c1"># abrimos la imagen en forma de array</span> +<span class="n">b</span><span class="p">,</span> <span class="n">g</span><span class="p">,</span> <span class="n">r</span> <span class="o">=</span> <span class="n">data</span><span class="p">[:,</span> <span class="p">:,</span> <span class="mi">0</span><span class="p">],</span> <span class="n">data</span><span class="p">[:,</span> <span class="p">:,</span> <span class="mi">1</span><span class="p">],</span> <span class="n">data</span><span class="p">[:,</span> <span class="p">:,</span> <span class="mi">2</span><span class="p">]</span> <span class="c1"># Separamos las matrices según R,G,B</span> +<span class="nb">print</span><span class="p">(</span><span class="n">data</span><span class="o">.</span><span class="n">shape</span><span class="p">)</span> <span class="c1"># dimensión del array, donde cada matriz 2x2 corresponde a R,G,B</span> +</pre></div> + + </div> +</div> +</div> +</div> + +<div class="jp-Cell-outputWrapper"> + + +<div class="jp-OutputArea jp-Cell-outputArea"> + +<div class="jp-OutputArea-child"> + + + <div class="jp-OutputPrompt jp-OutputArea-prompt"></div> + + +<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain"> +<pre>(789, 1184, 3) +</pre> +</div> +</div> + +</div> + +</div> + +</div> +<div class="jp-Cell-inputWrapper"><div class="jp-InputPrompt jp-InputArea-prompt"> +</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown"> +<h3 id="Tranformación-de-RGB-a-Escala-de-Grises">Tranformación de RGB a Escala de Grises<a class="anchor-link" href="#Tranformación-de-RGB-a-Escala-de-Grises">¶</a></h3><p>Para la transformación tenemos la siguiente ecuación: +$$Grayscale = (R + G + \frac{B}{3})$$</p> + +</div> +</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell "> +<div class="jp-Cell-inputWrapper"> +<div class="jp-InputArea jp-Cell-inputArea"> +<div class="jp-InputPrompt jp-InputArea-prompt">In [2]:</div> +<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline"> + <div class="CodeMirror cm-s-jupyter"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">Grayscale0</span> <span class="o">=</span> <span class="p">(</span><span class="n">r</span> <span class="o">+</span> <span class="n">g</span> <span class="o">+</span> <span class="n">b</span><span class="o">/</span><span class="mi">3</span><span class="p">)</span> <span class="c1"># transformamos a escala de grises</span> +<span class="n">Grayscale</span> <span class="o">=</span><span class="n">Grayscale0</span><span class="o">/</span><span class="n">np</span><span class="o">.</span><span class="n">max</span><span class="p">(</span><span class="n">Grayscale0</span><span class="p">)</span> <span class="c1"># normalizamos los valores</span> +<span class="nb">print</span><span class="p">(</span><span class="n">Grayscale</span><span class="p">)</span> <span class="c1"># ahora tenemos una sola matriz para una imagen en escala de grises</span> +</pre></div> + + </div> +</div> +</div> +</div> + +<div class="jp-Cell-outputWrapper"> + + +<div class="jp-OutputArea jp-Cell-outputArea"> + +<div class="jp-OutputArea-child"> + + + <div class="jp-OutputPrompt jp-OutputArea-prompt"></div> + + +<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain"> +<pre>[[0.07177974 0.07177974 0.07177974 ... 0.12782694 0.16224189 0.18289086] + [0.07866273 0.07866273 0.07866273 ... 0.13470993 0.15634218 0.17010816] + [0.08554572 0.08554572 0.08554572 ... 0.14159292 0.15634218 0.16322517] + ... + [0.10914454 0.10226155 0.10226155 ... 0.04818092 0.0619469 0.07571288] + [0.09537856 0.10226155 0.10914454 ... 0.0619469 0.0619469 0.06489676] + [0.08161259 0.09537856 0.11602753 ... 0.07866273 0.07177974 0.05113078]] +</pre> +</div> +</div> + +</div> + +</div> + +</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell "> +<div class="jp-Cell-inputWrapper"> +<div class="jp-InputArea jp-Cell-inputArea"> +<div class="jp-InputPrompt jp-InputArea-prompt">In [3]:</div> +<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline"> + <div class="CodeMirror cm-s-jupyter"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="kn">import</span> <span class="nn">matplotlib.pyplot</span> <span class="k">as</span> <span class="nn">plt</span> +<span class="kn">import</span> <span class="nn">matplotlib.cm</span> <span class="k">as</span> <span class="nn">cm</span> +<span class="n">plt</span><span class="o">.</span><span class="n">imshow</span><span class="p">(</span><span class="n">Grayscale</span><span class="p">,</span> <span class="n">cmap</span><span class="o">=</span><span class="n">cm</span><span class="o">.</span><span class="n">gray</span><span class="p">,</span> <span class="n">vmax</span><span class="o">=</span><span class="n">np</span><span class="o">.</span><span class="n">max</span><span class="p">(</span><span class="n">Grayscale</span><span class="p">))</span> <span class="c1"># imprimimos la imagen en escala de Grises.</span> +</pre></div> + + </div> +</div> +</div> +</div> + +<div class="jp-Cell-outputWrapper"> + + +<div class="jp-OutputArea jp-Cell-outputArea"> + +<div class="jp-OutputArea-child"> + + + <div class="jp-OutputPrompt jp-OutputArea-prompt">Out[3]:</div> + + + + +<div class="jp-RenderedText jp-OutputArea-output jp-OutputArea-executeResult" data-mime-type="text/plain"> +<pre><matplotlib.image.AxesImage at 0x7f87cec87be0></pre> +</div> + +</div> + +<div class="jp-OutputArea-child"> + + + <div class="jp-OutputPrompt jp-OutputArea-prompt"></div> + + + + +<div class="jp-RenderedImage jp-OutputArea-output "> +<img src="data:image/png;base64,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 +" +> +</div> + +</div> + +</div> + +</div> + +</div> +<div class="jp-Cell-inputWrapper"><div class="jp-InputPrompt jp-InputArea-prompt"> +</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown"> +<ul> +<li>Recortamos una imagen de una estrella.</li> +</ul> + +</div> +</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell "> +<div class="jp-Cell-inputWrapper"> +<div class="jp-InputArea jp-Cell-inputArea"> +<div class="jp-InputPrompt jp-InputArea-prompt">In [4]:</div> +<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline"> + <div class="CodeMirror cm-s-jupyter"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">estrella0</span> <span class="o">=</span> <span class="n">Grayscale</span><span class="p">[</span><span class="mi">547</span><span class="p">:</span><span class="mi">561</span><span class="p">,</span><span class="mi">655</span><span class="p">:</span><span class="mi">670</span><span class="p">]</span> <span class="c1"># extraemos los valores correspondientes a una estrella</span> +<span class="n">plt</span><span class="o">.</span><span class="n">imshow</span><span class="p">(</span><span class="n">estrella0</span><span class="p">,</span> <span class="n">cmap</span><span class="o">=</span><span class="n">cm</span><span class="o">.</span><span class="n">gray</span><span class="p">,</span> <span class="n">vmax</span><span class="o">=</span><span class="n">np</span><span class="o">.</span><span class="n">max</span><span class="p">(</span><span class="n">estrella0</span><span class="p">))</span> +</pre></div> + + </div> +</div> +</div> +</div> + +<div class="jp-Cell-outputWrapper"> + + +<div class="jp-OutputArea jp-Cell-outputArea"> + +<div class="jp-OutputArea-child"> + + + <div class="jp-OutputPrompt jp-OutputArea-prompt">Out[4]:</div> + + + + +<div class="jp-RenderedText jp-OutputArea-output jp-OutputArea-executeResult" data-mime-type="text/plain"> +<pre><matplotlib.image.AxesImage at 0x7f87ce51b550></pre> +</div> + +</div> + +<div class="jp-OutputArea-child"> + + + <div class="jp-OutputPrompt jp-OutputArea-prompt"></div> + + + + +<div class="jp-RenderedImage jp-OutputArea-output "> +<img src="data:image/png;base64,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 +" +> +</div> + +</div> + +</div> + +</div> + +</div> +<div class="jp-Cell-inputWrapper"><div class="jp-InputPrompt jp-InputArea-prompt"> +</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown"> +<h1 id="Ajuste-a-una-gaussiana-1D">Ajuste a una gaussiana 1D<a class="anchor-link" href="#Ajuste-a-una-gaussiana-1D">¶</a></h1><p>La fución gaussiana en una dimensión es de la forma.</p> +$$ +f(x)=A e^{-\frac{1}{2}\left(\frac{x-x_0}{\sigma}\right)^{2}}+C +$$<p>Para realizar el ajuste se evaluarán los datos y se determinaran los valores para A, X0, sigma y C, tal que minimicen el error, por el método de mÃnimos cuadrados, los datos serán ajustados respecto a una función gausiana.</p> + +</div> +</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs "> +<div class="jp-Cell-inputWrapper"> +<div class="jp-InputArea jp-Cell-inputArea"> +<div class="jp-InputPrompt jp-InputArea-prompt">In [5]:</div> +<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline"> + <div class="CodeMirror cm-s-jupyter"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="kn">import</span> <span class="nn">matplotlib.pyplot</span> <span class="k">as</span> <span class="nn">plt</span> +<span class="kn">from</span> <span class="nn">scipy.optimize</span> <span class="kn">import</span> <span class="n">leastsq</span> + +<span class="c1"># Definimos la función gaussiana y el error.</span> +<span class="k">def</span> <span class="nf">func_gauss_1D</span><span class="p">(</span><span class="n">params</span><span class="p">,</span><span class="n">x</span><span class="p">):</span> + <span class="sd">'''Función Gaussiana en 1D</span> +<span class="sd"> params[0] = A</span> +<span class="sd"> params[1] = sigma</span> +<span class="sd"> params[2] = x0</span> +<span class="sd"> params[3] = C</span> +<span class="sd"> np.pi = numero pi</span> +<span class="sd"> '''</span> + <span class="n">y</span> <span class="o">=</span><span class="n">params</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">*</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">exp</span><span class="p">((</span><span class="o">-</span><span class="p">(</span><span class="n">x</span><span class="o">-</span><span class="n">params</span><span class="p">[</span><span class="mi">2</span><span class="p">])</span><span class="o">**</span><span class="mi">2</span><span class="p">)</span><span class="o">/</span><span class="p">(</span><span class="mi">2</span><span class="o">*</span><span class="p">(</span><span class="n">params</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">**</span><span class="mi">2</span><span class="p">))))</span> <span class="o">+</span> <span class="n">params</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> + <span class="k">return</span> <span class="n">y</span> +<span class="k">def</span> <span class="nf">Error_gauss_1D</span><span class="p">(</span><span class="n">tpl</span><span class="p">,</span><span class="n">x</span><span class="p">,</span><span class="n">y</span><span class="p">):</span> + <span class="sd">'''Calculo del error'''</span> + <span class="k">return</span> <span class="n">func_gauss_1D</span><span class="p">(</span><span class="n">tpl</span><span class="p">,</span><span class="n">x</span><span class="p">)</span><span class="o">-</span><span class="n">y</span> +</pre></div> + + </div> +</div> +</div> +</div> + +</div> +<div class="jp-Cell-inputWrapper"><div class="jp-InputPrompt jp-InputArea-prompt"> +</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown"> +<ul> +<li>Seleccionaremos una lÃnea en X que representa las distintas posiciones a lo largo de la linea 1D</li> +</ul> + +</div> +</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs "> +<div class="jp-Cell-inputWrapper"> +<div class="jp-InputArea jp-Cell-inputArea"> +<div class="jp-InputPrompt jp-InputArea-prompt">In [6]:</div> +<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline"> + <div class="CodeMirror cm-s-jupyter"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="kn">import</span> <span class="nn">matplotlib.cm</span> <span class="k">as</span> <span class="nn">cm</span> + +<span class="n">x</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">arange</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="n">estrella0</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="mi">1</span><span class="p">)</span> <span class="c1"># definimos los valores para X</span> +<span class="n">y</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">arange</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="n">estrella0</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span> <span class="mi">1</span><span class="p">)</span> <span class="c1"># definimos los valores para Y</span> +<span class="n">x0</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="nb">max</span><span class="p">(</span><span class="n">x</span><span class="p">)</span><span class="o">/</span><span class="mi">2</span><span class="p">)</span> +<span class="n">lumx</span> <span class="o">=</span> <span class="n">estrella0</span><span class="p">[:,</span><span class="n">x0</span><span class="p">]</span> <span class="c1"># Seleccionamos una lÃnea 1D en el array para X.</span> +</pre></div> + + </div> +</div> +</div> +</div> + +</div> +<div class="jp-Cell-inputWrapper"><div class="jp-InputPrompt jp-InputArea-prompt"> +</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown"> +<ul> +<li>Hacemos el ajuste con la gaussiana, los parámetros de inicialización se generan automáticamente del código, tomando en cuenta ciertas propiedades de la gaussiana. (<strong><em>El ajuste depende de los parámetros inicianles introducidos</em></strong>) +### Parámetros iniciales</li> +</ul> +<h4 id="--X0">- X0<a class="anchor-link" href="#--X0">¶</a></h4><p>X0 = (x_max+x_min)/2, ya que al ser una imagen de estrella, siempre la mayor luminosidad estará ubicada cercana al centro de la recta 1D en el eje X.</p> +<h4 id="--sigma">- sigma<a class="anchor-link" href="#--sigma">¶</a></h4><p>El sigma de una distribución de datos se calcula de la siguiente manera. +<img src="http://gestiondeproyectos-master.com/wp-content/uploads/2018/11/Desviacion-tipica.jpg"> +Por lo que para elegir un sigma próximo al que saldrá en el modelo, utilizaremos la ecuación anterior, tomando el eje X y el eje de la luminosidad como una probabilidad.</p> +<h3 id="--C">- C<a class="anchor-link" href="#--C">¶</a></h3><p>Elegirmos el mÃnimo valor de la luminosidad, ya que el valor inicial donde f(0)=C, posiblemente estará cercano a ese punto.</p> +<h3 id="--A">- A<a class="anchor-link" href="#--A">¶</a></h3><p>Es la constante multiplicativa de la exponencial, al ser una escala de grises que va de (0,1) tomaremos como valor inicial 1, ya que en estos rangos comprenderan los resultados.</p> + +</div> +</div> +<div class="jp-Cell-inputWrapper"><div class="jp-InputPrompt jp-InputArea-prompt"> +</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown"> +<ul> +<li>Definimos la función para calcular sigma deacuerdo a probabilidades</li> +</ul> + +</div> +</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs "> +<div class="jp-Cell-inputWrapper"> +<div class="jp-InputArea jp-Cell-inputArea"> +<div class="jp-InputPrompt jp-InputArea-prompt">In [7]:</div> +<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline"> + <div class="CodeMirror cm-s-jupyter"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="kn">import</span> <span class="nn">math</span> +<span class="k">def</span> <span class="nf">std_prob</span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="n">prob</span><span class="p">,</span><span class="n">x0</span><span class="p">):</span> + <span class="sd">'''Funcion que retorna la desviación estandar tomando en cuenta probabilidades</span> +<span class="sd"> x = array </span> +<span class="sd"> prob = funcion de probabilidad</span> +<span class="sd"> x0 = el valor con maxima probabilidad</span> +<span class="sd"> '''</span> + <span class="n">n</span><span class="o">=</span> <span class="n">x</span><span class="o">.</span><span class="n">shape</span> + <span class="n">suma</span> <span class="o">=</span> <span class="mi">0</span> + <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="n">x</span><span class="p">:</span> + <span class="n">suma</span><span class="o">=</span> <span class="n">suma</span> <span class="o">+</span> <span class="p">((</span><span class="n">x</span><span class="p">[</span><span class="n">i</span><span class="p">]</span><span class="o">-</span><span class="n">x0</span><span class="p">)</span><span class="o">**</span><span class="mi">2</span><span class="p">)</span><span class="o">*</span><span class="n">prob</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> + <span class="n">sigma</span> <span class="o">=</span> <span class="n">math</span><span class="o">.</span><span class="n">sqrt</span><span class="p">(</span><span class="n">suma</span><span class="o">/</span><span class="n">n</span><span class="p">)</span> + <span class="k">return</span> <span class="n">sigma</span> +</pre></div> + + </div> +</div> +</div> +</div> + +</div> +<div class="jp-Cell-inputWrapper"><div class="jp-InputPrompt jp-InputArea-prompt"> +</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown"> +<ul> +<li>Definimos los valores iniciales, siguiendo la lógica anteriormente mencionada</li> +</ul> + +</div> +</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell "> +<div class="jp-Cell-inputWrapper"> +<div class="jp-InputArea jp-Cell-inputArea"> +<div class="jp-InputPrompt jp-InputArea-prompt">In [8]:</div> +<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline"> + <div class="CodeMirror cm-s-jupyter"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">prob</span> <span class="o">=</span> <span class="n">lumx</span> <span class="c1"># definimos a lumx como una probabilidad para calcular la desviación estandar aproximada.</span> + +<span class="c1"># DEFINIMOS LOS PARÃMETROS DE INICIALIZACIÓN</span> +<span class="sd">'''</span> +<span class="sd">params[0] = A</span> +<span class="sd">params[1] = sigma</span> +<span class="sd">params[2] = x0</span> +<span class="sd">params[3] = C</span> +<span class="sd">'''</span> +<span class="n">A</span> <span class="o">=</span> <span class="mi">1</span> +<span class="n">x0</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="nb">max</span><span class="p">(</span><span class="n">x</span><span class="p">)</span><span class="o">+</span><span class="nb">min</span><span class="p">(</span><span class="n">x</span><span class="p">))</span><span class="o">/</span><span class="mi">2</span> +<span class="n">sigma</span> <span class="o">=</span> <span class="n">std_prob</span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="n">prob</span><span class="p">,</span><span class="n">x0</span><span class="p">)</span> +<span class="n">C</span> <span class="o">=</span> <span class="nb">min</span><span class="p">(</span><span class="n">lumx</span><span class="p">)</span> + +<span class="n">p1</span> <span class="o">=</span> <span class="p">[</span><span class="n">A</span><span class="p">,</span> <span class="n">sigma</span> <span class="p">,</span> <span class="n">x0</span> <span class="p">,</span> <span class="n">C</span><span class="p">]</span> <span class="c1"># valores iniciales</span> +<span class="n">best</span><span class="p">,</span><span class="n">suss</span> <span class="o">=</span> <span class="n">leastsq</span><span class="p">(</span><span class="n">Error_gauss_1D</span><span class="p">,</span> <span class="n">p1</span><span class="p">,</span> <span class="n">args</span><span class="o">=</span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="n">lumx</span><span class="p">))</span> +<span class="c1"># best contiene los parametros que mejor ajustan una gausiana a los datos.</span> + + +<span class="c1"># GRÃFICAMOS LOS DATOS Y EL MODELO</span> +<span class="c1"># Gráficamos los resultados para evaluar el módelo visualmente. </span> + +<span class="n">x_model</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">arange</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="n">estrella0</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="mf">0.05</span><span class="p">)</span> <span class="c1"># definimos con mas datos, para mejorar la visucalización</span> + +<span class="n">lum_model</span> <span class="o">=</span> <span class="n">func_gauss_1D</span><span class="p">(</span><span class="n">best</span><span class="p">,</span><span class="n">x_model</span><span class="p">)</span> + +<span class="n">plt</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">x_model</span><span class="p">,</span><span class="n">lum_model</span><span class="p">)</span> <span class="c1"># gráfica del modelo</span> +<span class="n">plt</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="n">lumx</span><span class="p">,</span><span class="s1">'o'</span><span class="p">,</span><span class="n">color</span><span class="o">=</span><span class="s2">"darkorange"</span><span class="p">)</span> <span class="c1"># gráfica de los datos</span> +<span class="n">plt</span><span class="o">.</span><span class="n">xlabel</span><span class="p">(</span><span class="s1">'eje X'</span><span class="p">)</span> +<span class="n">plt</span><span class="o">.</span><span class="n">ylabel</span><span class="p">(</span><span class="s1">'luminosidad'</span><span class="p">)</span> +<span class="n">plt</span><span class="o">.</span><span class="n">title</span><span class="p">(</span><span class="s1">'Ajuste Gaussiano'</span><span class="p">)</span> +<span class="n">plt</span><span class="o">.</span><span class="n">legend</span><span class="p">((</span><span class="s1">'Ajuste'</span><span class="p">,</span> <span class="s1">'Datos originales'</span><span class="p">),</span><span class="n">loc</span><span class="o">=</span><span class="s1">'lower left'</span><span class="p">,</span> <span class="n">shadow</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span> +</pre></div> + + </div> +</div> +</div> +</div> + +<div class="jp-Cell-outputWrapper"> + + +<div class="jp-OutputArea jp-Cell-outputArea"> + +<div class="jp-OutputArea-child"> + + + <div class="jp-OutputPrompt jp-OutputArea-prompt">Out[8]:</div> + + + + +<div class="jp-RenderedText jp-OutputArea-output jp-OutputArea-executeResult" data-mime-type="text/plain"> +<pre><matplotlib.legend.Legend at 0x7f87adc14630></pre> +</div> + +</div> + +<div class="jp-OutputArea-child"> + + + <div class="jp-OutputPrompt jp-OutputArea-prompt"></div> + + + + +<div class="jp-RenderedImage jp-OutputArea-output "> +<img src="data:image/png;base64,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 +" +> +</div> + +</div> + +</div> + +</div> + +</div> +<div class="jp-Cell-inputWrapper"><div class="jp-InputPrompt jp-InputArea-prompt"> +</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown"> +<h1 id="Ajuste--a-una-gaussiana-2D">Ajuste a una gaussiana 2D<a class="anchor-link" href="#Ajuste--a-una-gaussiana-2D">¶</a></h1><p>Aquà se procederá a realizar el mismo proceso anterior pero ahora se lo hara en 2 dimensiones. +La función gausiana en dos dimensiones esta dada por:</p> +$$ +f(x) = A \exp \left(\frac{\left(x-x_{0}\right)^{2}+\left(y-y_{0}\right)^{2}}{2 \sigma^{2}}\right)+C +$$<p>por lo que los valores a encontrarse seran A, X0, Y0, sigma y C, luego se se utilizará, el método de mÃnimos cuadrados, para encontrar los que minimicen el error.</p> + +</div> +</div> +<div class="jp-Cell-inputWrapper"><div class="jp-InputPrompt jp-InputArea-prompt"> +</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown"> +<ul> +<li>Guardamos en arrays cada una de los datos en 2 dimensiones con sus respectivos valores de luminosidad.</li> +</ul> + +</div> +</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs "> +<div class="jp-Cell-inputWrapper"> +<div class="jp-InputArea jp-Cell-inputArea"> +<div class="jp-InputPrompt jp-InputArea-prompt">In [9]:</div> +<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline"> + <div class="CodeMirror cm-s-jupyter"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">x</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">arange</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="n">estrella0</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="mi">1</span><span class="p">)</span> +<span class="n">y</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">arange</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="n">estrella0</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span> <span class="mi">1</span><span class="p">)</span> + +<span class="k">def</span> <span class="nf">lum_2D</span><span class="p">(</span><span class="n">estrella</span><span class="p">,</span><span class="n">x</span><span class="p">,</span><span class="n">y</span><span class="p">):</span> + <span class="sd">'''Funcion que extrae cada valor de la luminosidad con sus respectivos valores en X y Y,</span> +<span class="sd"> y los retorna en forma de arrays.</span> +<span class="sd"> '''</span> + <span class="n">lum_list</span> <span class="o">=</span> <span class="p">[]</span> + <span class="n">x_list</span> <span class="o">=</span> <span class="p">[]</span> + <span class="n">y_list</span> <span class="o">=</span> <span class="p">[]</span> + <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="n">x</span><span class="p">:</span> + <span class="k">for</span> <span class="n">j</span> <span class="ow">in</span> <span class="n">y</span><span class="p">:</span> + <span class="n">lum</span> <span class="o">=</span> <span class="n">estrella</span><span class="p">[</span><span class="n">x</span><span class="p">[</span><span class="n">i</span><span class="p">],</span><span class="n">y</span><span class="p">[</span><span class="n">j</span><span class="p">]]</span> + <span class="n">lum_list</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">lum</span><span class="p">)</span> + <span class="n">x_list</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">x</span><span class="p">[</span><span class="n">i</span><span class="p">])</span> + <span class="n">y_list</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">y</span><span class="p">[</span><span class="n">j</span><span class="p">])</span> + <span class="k">return</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">lum_list</span><span class="p">),</span><span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">x_list</span><span class="p">),</span><span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">y_list</span><span class="p">)</span> + +<span class="n">lum_2D</span><span class="p">,</span> <span class="n">x_2D</span><span class="p">,</span> <span class="n">y_2D</span> <span class="o">=</span> <span class="n">lum_2D</span><span class="p">(</span><span class="n">estrella0</span><span class="p">,</span><span class="n">x</span><span class="p">,</span><span class="n">y</span><span class="p">)</span> +</pre></div> + + </div> +</div> +</div> +</div> + +</div> +<div class="jp-Cell-inputWrapper"><div class="jp-InputPrompt jp-InputArea-prompt"> +</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown"> +<ul> +<li>Luego gráficaremos los datos en 3D, con los valores para X, Y y la luminosidad, para tener una vista preliminar de los vaores.</li> +</ul> + +</div> +</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell "> +<div class="jp-Cell-inputWrapper"> +<div class="jp-InputArea jp-Cell-inputArea"> +<div class="jp-InputPrompt jp-InputArea-prompt">In [10]:</div> +<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline"> + <div class="CodeMirror cm-s-jupyter"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="kn">from</span> <span class="nn">mpl_toolkits.mplot3d</span> <span class="kn">import</span> <span class="n">Axes3D</span> + +<span class="n">fig</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">figure</span><span class="p">(</span><span class="n">figsize</span><span class="o">=</span><span class="p">(</span><span class="mi">6</span><span class="p">,</span> <span class="mi">6</span><span class="p">))</span> +<span class="n">ax</span> <span class="o">=</span> <span class="n">fig</span><span class="o">.</span><span class="n">add_subplot</span><span class="p">(</span><span class="mi">111</span><span class="p">,</span> <span class="n">projection</span><span class="o">=</span><span class="s1">'3d'</span><span class="p">)</span> +<span class="n">ax</span><span class="o">.</span><span class="n">scatter</span><span class="p">(</span><span class="n">x_2D</span><span class="p">,</span> <span class="n">y_2D</span><span class="p">,</span><span class="n">lum_2D</span><span class="p">,</span> + <span class="n">linewidths</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">alpha</span><span class="o">=.</span><span class="mi">7</span><span class="p">,</span> + <span class="n">edgecolor</span><span class="o">=</span><span class="s1">'k'</span><span class="p">,</span> + <span class="n">s</span> <span class="o">=</span> <span class="mi">5</span><span class="p">)</span> +<span class="n">ax</span><span class="o">.</span><span class="n">set_xlabel</span><span class="p">(</span><span class="s1">'eje X'</span><span class="p">)</span> +<span class="n">ax</span><span class="o">.</span><span class="n">set_ylabel</span><span class="p">(</span><span class="s1">'eje Y'</span><span class="p">)</span> +<span class="n">ax</span><span class="o">.</span><span class="n">set_zlabel</span><span class="p">(</span><span class="s1">'Lum'</span><span class="p">)</span> +<span class="n">plt</span><span class="o">.</span><span class="n">title</span><span class="p">(</span><span class="s1">'Datos'</span><span class="p">)</span> +<span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span> +</pre></div> + + </div> +</div> +</div> +</div> + +<div class="jp-Cell-outputWrapper"> + + +<div class="jp-OutputArea jp-Cell-outputArea"> + +<div class="jp-OutputArea-child"> + + + <div class="jp-OutputPrompt jp-OutputArea-prompt"></div> + + + + +<div class="jp-RenderedImage jp-OutputArea-output "> +<img src="data:image/png;base64,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 +" +> +</div> + +</div> + +</div> + +</div> + +</div> +<div class="jp-Cell-inputWrapper"><div class="jp-InputPrompt jp-InputArea-prompt"> +</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown"> +<ul> +<li>Definimos la función de Error y la función gaussiana.</li> +</ul> + +</div> +</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs "> +<div class="jp-Cell-inputWrapper"> +<div class="jp-InputArea jp-Cell-inputArea"> +<div class="jp-InputPrompt jp-InputArea-prompt">In [11]:</div> +<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline"> + <div class="CodeMirror cm-s-jupyter"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="c1"># funcion gaussiana en 2D</span> +<span class="k">def</span> <span class="nf">func_gauss_2D</span><span class="p">(</span><span class="n">params</span><span class="p">,</span><span class="n">x</span><span class="p">,</span><span class="n">y</span><span class="p">):</span> + <span class="sd">'''Función Gaussiana en 2D</span> +<span class="sd"> params[0] = A</span> +<span class="sd"> params[1] = sigma </span> +<span class="sd"> params[2] = C</span> +<span class="sd"> params[3] = x0</span> +<span class="sd"> params[4] = y0</span> +<span class="sd"> np.pi = numero pi</span> +<span class="sd"> '''</span> + <span class="n">z</span> <span class="o">=</span> <span class="p">(</span><span class="n">params</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">*</span><span class="n">np</span><span class="o">.</span><span class="n">exp</span><span class="p">(</span><span class="o">-</span><span class="p">(((</span><span class="n">x</span><span class="o">-</span><span class="n">params</span><span class="p">[</span><span class="mi">3</span><span class="p">])</span><span class="o">**</span><span class="mi">2</span><span class="p">)</span><span class="o">+</span><span class="p">(</span><span class="n">y</span><span class="o">-</span><span class="n">params</span><span class="p">[</span><span class="mi">4</span><span class="p">])</span><span class="o">**</span><span class="mi">2</span><span class="p">)</span><span class="o">/</span><span class="p">(</span><span class="mi">2</span><span class="o">*</span><span class="p">(</span><span class="n">params</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span><span class="o">**</span><span class="mi">2</span><span class="p">)))</span><span class="o">+</span><span class="n">params</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> + <span class="k">return</span> <span class="n">z</span> + +<span class="c1"># Funcion de error</span> +<span class="k">def</span> <span class="nf">Error_gauss_2D</span><span class="p">(</span><span class="n">tpl</span><span class="p">,</span><span class="n">x</span><span class="p">,</span><span class="n">y</span><span class="p">,</span><span class="n">z</span><span class="p">):</span> + <span class="k">return</span> <span class="n">func_gauss_2D</span><span class="p">(</span><span class="n">tpl</span><span class="p">,</span><span class="n">x</span><span class="p">,</span><span class="n">y</span><span class="p">)</span><span class="o">-</span><span class="n">z</span> +</pre></div> + + </div> +</div> +</div> +</div> + +</div> +<div class="jp-Cell-inputWrapper"><div class="jp-InputPrompt jp-InputArea-prompt"> +</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown"> +<ul> +<li>Realizamos el ajuste en 2D</li> +</ul> + +</div> +</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell "> +<div class="jp-Cell-inputWrapper"> +<div class="jp-InputArea jp-Cell-inputArea"> +<div class="jp-InputPrompt jp-InputArea-prompt">In [12]:</div> +<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline"> + <div class="CodeMirror cm-s-jupyter"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">prob</span> <span class="o">=</span> <span class="n">lum_2D</span> <span class="c1"># definimos a lum como una probabilidad para calcular la desviación estandar aproximada.</span> + +<span class="c1"># DEFINIMOS LOS PARÃMETROS DE INICIALIZACIÓN</span> +<span class="c1"># Loa parámetros de inicialización segiran la lógica para los de 1D</span> + +<span class="n">A</span> <span class="o">=</span> <span class="mi">1</span> +<span class="n">x0</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="nb">max</span><span class="p">(</span><span class="n">x_2D</span><span class="p">)</span><span class="o">+</span><span class="nb">min</span><span class="p">(</span><span class="n">x_2D</span><span class="p">))</span><span class="o">/</span><span class="mi">2</span> +<span class="n">y0</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="nb">max</span><span class="p">(</span><span class="n">y_2D</span><span class="p">)</span><span class="o">+</span><span class="nb">min</span><span class="p">(</span><span class="n">y_2D</span><span class="p">))</span><span class="o">/</span><span class="mi">2</span> +<span class="n">sigmax</span> <span class="o">=</span> <span class="n">std_prob</span><span class="p">(</span><span class="n">x_2D</span><span class="p">,</span><span class="n">prob</span><span class="p">,</span><span class="n">x0</span><span class="p">)</span> <span class="c1"># desviación estandart para X</span> +<span class="n">sigmay</span> <span class="o">=</span> <span class="n">std_prob</span><span class="p">(</span><span class="n">y_2D</span><span class="p">,</span><span class="n">prob</span><span class="p">,</span><span class="n">y0</span><span class="p">)</span> <span class="c1"># desviación estandart para Y</span> +<span class="n">sigmaxy</span> <span class="o">=</span> <span class="p">(</span><span class="n">sigmax</span><span class="o">+</span><span class="n">sigmay</span><span class="p">)</span><span class="o">/</span><span class="mi">2</span> +<span class="n">C</span> <span class="o">=</span> <span class="nb">min</span><span class="p">(</span><span class="n">lum_2D</span><span class="p">)</span> + +<span class="sd">'''</span> +<span class="sd"> params[0] = A</span> +<span class="sd"> params[1] = sigma </span> +<span class="sd"> params[2] = C</span> +<span class="sd"> params[3] = x0</span> +<span class="sd"> params[4] = y0</span> +<span class="sd">'''</span> + + +<span class="n">p1</span> <span class="o">=</span> <span class="p">[</span><span class="n">A</span><span class="p">,</span> <span class="n">sigmaxy</span><span class="p">,</span> <span class="n">C</span><span class="p">,</span> <span class="n">x0</span><span class="p">,</span> <span class="n">y0</span><span class="p">]</span> <span class="c1"># valores de inicializacion</span> + +<span class="n">best</span><span class="p">,</span><span class="n">suss</span> <span class="o">=</span> <span class="n">leastsq</span><span class="p">(</span><span class="n">Error_gauss_2D</span><span class="p">,</span> <span class="n">p1</span><span class="p">,</span> <span class="n">args</span><span class="o">=</span><span class="p">(</span><span class="n">x_2D</span><span class="p">,</span><span class="n">y_2D</span><span class="p">,</span><span class="n">lum_2D</span><span class="p">))</span> <span class="c1"># ajuste</span> + +<span class="n">lum_model_2D</span> <span class="o">=</span> <span class="n">func_gauss_2D</span><span class="p">(</span><span class="n">best</span><span class="p">,</span><span class="n">x_2D</span><span class="p">,</span><span class="n">y_2D</span><span class="p">)</span> <span class="c1"># geramos los valores de luminucidad deacuerdo al modelo</span> + +<span class="c1"># GRÃFICA</span> + +<span class="n">fig</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">figure</span><span class="p">(</span><span class="n">figsize</span><span class="o">=</span><span class="p">(</span><span class="mi">6</span><span class="p">,</span> <span class="mi">6</span><span class="p">))</span> +<span class="n">ax</span> <span class="o">=</span> <span class="n">fig</span><span class="o">.</span><span class="n">add_subplot</span><span class="p">(</span><span class="mi">111</span><span class="p">,</span> <span class="n">projection</span><span class="o">=</span><span class="s1">'3d'</span><span class="p">)</span> +<span class="n">ax</span><span class="o">.</span><span class="n">scatter</span><span class="p">(</span><span class="n">x_2D</span><span class="p">,</span> <span class="n">y_2D</span><span class="p">,</span><span class="n">lum_model_2D</span><span class="p">,</span> <span class="n">linewidths</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> + <span class="n">alpha</span><span class="o">=.</span><span class="mi">7</span><span class="p">,</span> <span class="n">edgecolor</span><span class="o">=</span><span class="s1">'k'</span><span class="p">,</span><span class="n">s</span> <span class="o">=</span> <span class="mi">5</span><span class="p">)</span> +<span class="n">ax</span><span class="o">.</span><span class="n">set_xlabel</span><span class="p">(</span><span class="s1">'eje X'</span><span class="p">)</span> +<span class="n">ax</span><span class="o">.</span><span class="n">set_ylabel</span><span class="p">(</span><span class="s1">'eje Y'</span><span class="p">)</span> +<span class="n">ax</span><span class="o">.</span><span class="n">set_zlabel</span><span class="p">(</span><span class="s1">'Lum'</span><span class="p">)</span> +<span class="n">plt</span><span class="o">.</span><span class="n">title</span><span class="p">(</span><span class="s1">'Ajuste Gaussiano Scatter'</span><span class="p">)</span> +<span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span> +</pre></div> + + </div> +</div> +</div> +</div> + +<div class="jp-Cell-outputWrapper"> + + +<div class="jp-OutputArea jp-Cell-outputArea"> + +<div class="jp-OutputArea-child"> + + + <div class="jp-OutputPrompt jp-OutputArea-prompt"></div> + + + + +<div class="jp-RenderedImage jp-OutputArea-output "> +<img src="data:image/png;base64,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 +" +> +</div> + +</div> + +</div> + +</div> + +</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell "> +<div class="jp-Cell-inputWrapper"> +<div class="jp-InputArea jp-Cell-inputArea"> +<div class="jp-InputPrompt jp-InputArea-prompt">In [13]:</div> +<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline"> + <div class="CodeMirror cm-s-jupyter"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="c1"># GRÃFICA</span> + +<span class="n">x_para_model</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">arange</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="n">estrella0</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="mf">0.1</span><span class="p">)</span> +<span class="n">y_para_model</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">arange</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="n">estrella0</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span> <span class="mf">0.1</span><span class="p">)</span> + + +<span class="n">X</span><span class="p">,</span> <span class="n">Y</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">meshgrid</span><span class="p">(</span><span class="n">x_para_model</span><span class="p">,</span> <span class="n">y_para_model</span><span class="p">)</span> +<span class="n">Z</span> <span class="o">=</span> <span class="n">func_gauss_2D</span><span class="p">(</span><span class="n">best</span><span class="p">,</span><span class="n">X</span><span class="p">,</span><span class="n">Y</span><span class="p">)</span> + +<span class="n">fig</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">figure</span><span class="p">()</span> +<span class="n">ax</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">axes</span><span class="p">(</span><span class="n">projection</span><span class="o">=</span><span class="s1">'3d'</span><span class="p">)</span> +<span class="n">ax</span><span class="o">.</span><span class="n">plot_surface</span><span class="p">(</span><span class="n">X</span><span class="p">,</span> <span class="n">Y</span><span class="p">,</span> <span class="n">Z</span><span class="p">,</span> <span class="n">rstride</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">cstride</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">cmap</span><span class="o">=</span><span class="s1">'Blues'</span><span class="p">,</span> <span class="n">edgecolor</span><span class="o">=</span><span class="s1">'none'</span><span class="p">)</span> +<span class="n">ax</span><span class="o">.</span><span class="n">set_xlabel</span><span class="p">(</span><span class="s1">'x'</span><span class="p">)</span> +<span class="n">ax</span><span class="o">.</span><span class="n">set_ylabel</span><span class="p">(</span><span class="s1">'y'</span><span class="p">)</span> +<span class="n">ax</span><span class="o">.</span><span class="n">set_zlabel</span><span class="p">(</span><span class="s1">'lum'</span><span class="p">)</span> +<span class="n">plt</span><span class="o">.</span><span class="n">title</span><span class="p">(</span><span class="s1">'Ajuste Gaussiano Superficie'</span><span class="p">);</span> +</pre></div> + + </div> +</div> +</div> +</div> + +<div class="jp-Cell-outputWrapper"> + + +<div class="jp-OutputArea jp-Cell-outputArea"> + +<div class="jp-OutputArea-child"> + + + <div class="jp-OutputPrompt jp-OutputArea-prompt"></div> + + + + +<div class="jp-RenderedImage jp-OutputArea-output "> +<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQ0AAAD+CAYAAAAgY1ALAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAACymElEQVR4nOz9eZglV3rWi/6+tVZMe8yhRpVmWd1Sq1tWazJuN9iA3XYbP5gHYy4+BmwwvuZeYzfmMNjGDIcLPuYANnBssO9l8LE5YAw+HsDtsaGPG0O31K1ulWapVFJNqlJV5byHmNZa948VeysrK6sqsyqrVFLn+zwpVeaOHbFi74gvvuH93k+89+xiF7vYxVah3u4F7GIXu3hnYddo7GIXu9gWdo3GLnaxi21h12jsYhe72BZ2jcYudrGLbWHXaOxiF7vYFt4RRkNEflJE/sbbvY6bDSJyu4gMRES/3Wt5OyEif1dEzovIma1+JiLye0XkpRu1xncT5GbiaYjIJ4EvBQ5474sd3vdXAf/Ge3/rNeyjC/wvwB8F9gILwBPAP/Def2YHlvmOgIjMAD8KfD3QBk4D/8p7/yNvw1puB14C7vDen73Rx/9ixE3jaYjIncDvBTzwh9/e1VwMEUmA/wJ8APgGoAfcD/wc8NG3cWlvB34M6BDOv0/4vo7c6EWIiAFuBxZ2DcYNhPf+pvgB/ibwu4Qn2H/e8NpPA3+3+fe3A/9tw+se+JLm318PPA+sAaeAv0x4Go4BBwyan1sIRvP7gVcJXsPPA3OXWN+fIzxR21c4j38CnABWgc8Bv3ez82h+/yrg5Lrf/1qz5jXC0/MPNn9/HPhss883gR9t/n5nc+6m+f3PAC807z8KfNfGYwH/M3C2OZc/s+71PvAzwDngGPBDgLrEOT4L/JFLvHbBmpq/fRL4c+u+v98FfhxYAV6cnOe6dfzLZn2ngL8L6A3v/bHm+/pvG77Xn97kM5kD/jXwBrAE/NIlPvtbgF9ozv814Hvf7nviZv25aTwN4E8D/2fz87Uisv8q9/MvCTdLF3g/8F+890OCN/CG977T/LwBfA/wR4CvJFw0S8BPXGK/Xw38RrOvy+FJ4CHCxfpvgf8gIumVFi0i7wX+AvBYs/avBV5vXv4nwD/x3veAewjGbTOc5S0v6M8APyYiD697/QDhpjwEfAfwEyIy27z2vzev3U34PP50s4/N8Gng74nInxGRe690bpvgywiGeg/wt4D/S0Tmmtd+GqiBLwE+CHyEYLDXv/cosB/4Gi78Xr99k2P9LNACHgD2EQzOBRARBfwn4GnCZ/MHgb8oIl97Fef27sfbbbUaK/9hoAL2NL+/CHzfutd/mq17GseB7wJ6G7b5KtY9WZq/vcCFT7mDzTrMJmv8beBH1v3+ELBMePq/dJlzWwK+dON5bFwT4SY5SzBO0YZ9/A4hl7Jnw9/vZMNTfcPrvwR8bN2xxlzoAZwFfg+ggRJ437rXvgv45CX2mwE/SPCkKkJo8tFLrYmLPY03aPJpzd+eAP4UwRAUQLbutW8B/uu69x6/3Pe6/vjN9+mA2U3OYf1n/2Wb7PcHgH/9dt8bN+PPzeJpfBvwm977883v/7b529XgmwghyjER+b9F5Msvs+0dwC+KyLKILBOMiCVcvBuxQLgIAfDef8F7P0NIiiaTv4vIXxaRF0Rkpdlnn/BEvSy890eAvwj8beCsiPyciNzSvPwdwHuAF0XkSRH5hs32ISIfFZFPi8hic+yv33DsBe99ve73ESE3sQeICGHJBMcIT93N1jr23v+w9/4RYJ7g+fyHdd7ClXDKN3fmumPdQvg+IuD0uu/kpwgewgQntngMgNuARe/90hW2uwO4ZXLM5rg/yObXwRc93najISIZ8MeBr2xKZmeA7wO+VES+dJO3DAnu5uT9B9a/6L1/0nv/jYQL7Zd4y5XfrEx0gvCEnFn3k3rvT22y7SeAj4hI+zLn8nuBv9qcz2xjVFYA2WzthHBh/dr/rff+w4SL2AN/v/n7K977b2nO6e8D/3HjOppE7S8A/xDY3xz74+uOfTmcJ3gMd6z72+2EnMJl4b1fBX6YkDe6qzlHLneewCERWb+u2wnexwmCp7Fn3ffR894/sP6QWzifCU4Ac02150rbvbbhOuh6779+G8f6osHbbjQIOQULvI/g8j9EyMp/ihBXb8TTwAMi8lCTK/jbkxdEJBaRbxWRvve+IoQOrnn5TWBeRPrr9vWThNj8jub9e0XkGy+xzp8hJOd+UUTeLyK6Of6j67bpEuLxc4ARkb9JyC9M8AXg60VkrjF2f3Hd2t8rIn+guflz3krwISJ/UkT2eu8dISRi3XlNEBM8nnNALSIfJeQDrgjvvSUY178nIt3m8/hLwL/ZbHsR+Rsi8ljzeafAx5p1veS9P0cwNn+y+Yz+LCEPsx77gO8VkUhEvpnwfX/ce38a+E3gH4lIT0SUiNwjIl+5lfPY5LxOA78G/DMRmW2O9/s22fQJYE1E/pqIZM263y8ij13Ncd/tuBmMxrcRYsfj3vszkx9Cdv1bm7LaFN77l4G/Q8gxvELIoK/HnwJeF5FV4M8D39q870Xg3wFHGxf0FkKC8VeA3xSRNUKC78s2W6T3Pgd+P6Ey86s0uQzgMYJnAfAbwK8DLxNc7pwL3emfJRi91wk3x79f91oC/AjhqX+GcGP9QPPa1wHPicigWfOf8N6PN6xvDfhews2/BPxPzbltFd9D8BKOEj7Tfwv8q0ts6wkVifMED+FrgD/kvR80r38n8FcIId0DwH/f8P7PAPc27/97wB/z3i80r/1pggF8vjmP/8i6sPAq8KcIXtSLhBzOX7zoZILR/AbCA+u1Zl3/ghBa7mIDbipy16UgIj8DHPHe/523ey27uDaIyLcTkqIffrvXsourw83gaVwWjafxXsITYBe72MXbjJveaBBc9WVCkm8Xu9jF24x3RHiyi13s4ubBO8HT2MUudnETYddo7GIXu9gWzBVe341ddrGL64+tEPBuGux6GrvYxS62hV2jsYtd7GJb2DUau9jFLraFXaOxi13sYlvYNRq72MUutoVdo7GLXexiW9g1GrvYxS62hV2jsYtd7GJb2DUau9jFLraFXaOxi13sYlvYNRq72MUutoVdo7GLXexiW9g1GrvYxS62hV2jsYtd7GJb2DUau9jFLraFK+lp7OI6wDlHnucopTDGoLXmwtlBu9jFzYtdo3ED4b2nrmvquqaqKtbrs2qtiaJo14js4qbHlYSFd5W7dgjee8qyxDmHiFBV1QWvee+nr50/f575+XmyLNs1Il8ceEd9ubuexg2AtZZTp06xd+/eTW9+EUFEUCqkmM6ePUun05m+BmCMmf7sGpFdvJ3YNRrXEevDkVdffZX9+/dP/+69v+SNPzEixpjp9tZaqqq6wIhEUYTWeteI7OKGYtdoXCc456iqahpybAcickG+Y6MnMjEidV1Pt5kYEWMMSqldI7KL64Zdo7HDWO8VwFs3/E5i4z43GpGJlzL52TUiu9hJ7BqNHYT3nqqqsNZuyVhcKkTZ6GlcCZsZkbquOX78OHEcs2fPnl0jsosdw67R2CE45yjLcmoILndTTl6/XiMxJ/u31k7XU1XVBd7PrhHZxdVi12hcIzYmKSd5h2vBThsUEUFrPf194hGtNyLrOSK7RmQXl8Ou0bgGbORevFNutM2MSFmWFEUxPY+JETHGvKPObRfXH7tG4yrhnOPNN99kaWmJu+++e0dvqusZulzqeJcyIgBKKeq6ptfrTcu7u0bkixe7DWvbxMS1L4piWlZ9t91AEyOynkj2hS98geFwyOrqKmtra4xGo2lJeRdfXNj1NLaBjdwLpdRVeQSLi4s8//zzJEnC7Owss7OzdDqdqfG50Z7G5bB+TVrr6brKsqQsS4Bp492EbLYTeZ1d3LzYNRpbwKW4F9s1Gt57jh49ysLCAg8++CDOOZaXlzl+/DiDwYB2u83s7OxFzWw3EyZGZBLO7BqRLz7sGo0rYD0VfGMsLyJbds+dc3z2s5+l3+/z6KOPUtc13ntarRa33HIL3ntGoxFLS0usrq7y/PPPMzMzM/VE0jS9Xqd4TdjMiExyIuuNyMbqzC7eudg1GpfBxnBkY+5iq2HEwsICo9GI9773vezdu3fTbUSEdrtNu91mNBqxd+9etNYsLS3x4osvUpYlvV5vakTiON6Rc9wKrpVo5r2nKAqKoqCqKsbjMfv27ZvmTd5tOaF3O3aNxibYKvfiSuGJ954jR46wvLxMu91mz549Wzr+5Cbq9Xr0ej3uuOMOnHOsrq6ytLTEqVOnsNZOPZGZmZlpc9vNho1GZDQacfr0aXq93vRvu1oi7yzcnFfa2wjvPSsrKyRJsiVm56XCkzzPeeaZZ5iZmeHRRx/l05/+9GU7Wzfud6MxUkoxMzPDzMwMd911F9ZaVlZWWFxc5PXXX0dEpkak3+9fUEK9Vmx13Vvdl1LqgnBmomQ2wa4RubmxazTWYUIF//znP8+Xf/mXX/FivVR4cv78eV566SXuu+8+5ufngYu9kmutkGitmZubY25uDoCqqlheXub8+fO8+uqr05ttZmYG59w15RF2Mim70QBtFs7sGpGbG7tGg4uTncCWLsyNhsA5x5EjR1hZWeHRRx8lSZKLjrMVXI1BiaKIvXv3TnMmZVny8ssvs7y8zLlz5y5Z3t0qdtLT2EpfzvrtnXOMx+MLkq67RuTtwxe90bgUFXwrLvn68CTPcw4fPsz8/DyPPvroRe+9Wk7H1SKOYzqdDlmWsX//fsbjMUtLS9PybqvVmhqRVqt12XPdyfBku/oim2mJTIyIc46zZ89y66237hqRG4gvaqMxEfiFC59wkxt8q+HJuXPnePnll7n//vun4cJmuJ6exuX2BZBlGVmWXVTePXr0KKPRiE6nMzUiWZbtyLE3wySncbVYb0SKomBhYYFbbrnlAk9kVxrx+uKL0mhcjnsBwWhsNQ8wHA45duwYjz322GXLoDcby3NS3r311lvx3jMYDFhaWuLll1+mKIoLyrs72Wuy016LUmr6M9n/rqrZ9cUXndG4EvcCtkbaGo/HPP300wA88sgjV500vdZtdwIiQrfbpdvtcvvtt+OcY21tjcXFRU6dOjX1yM6dO8fMzAxRFF31sa6H0ViPraiarc+J7BqR7eOLxmhspIJfzouYeBqXwtmzZ3nllVe47777ePnll6+6jHqzQilFv9+n3+9z1113MR6PefbZZ1ldXeX48eN47y/giGynvHu9jcZGbMWI7AoSbQ9fFEbDe8/i4iJpmm4pxr1U0tI5x0svvcRoNOKxxx4jiqLr4j3cbAZGKUUcx9xzzz1AyAUtLy+zuLjI0aNH0VpPQ5ler3fZG/lqhJYvhavJj2xmRCae1MmTJzlw4MB03syuEdkc73qjMeFevPTSS9x///20Wq0rvmez8GQ0GnH48GH279/Pfffdd1Uly5vJEFwLjDHs2bNnynAty5Ll5WXOnDnDyy+/TBzHUyPS7XYvukl3qvdkJwzQeiOytLTEgQMHNpVGXN9898VuRN61RmNjsnN9W/eVsDE8OXPmDK+++ioPPPAAMzMzV7Wed7KncaWQIo5j9u3bx759+4BQfl5aWuLkyZOsra2RZRmzs7PMzc3tqKdxraS1zfY3mSMzwa404sV4VxqNzbgXV8pTrMckPHHO8eKLL1IUBY8//vg1JQA3GoLxeIz3/rqWN3cK281DpGnKwYMHOXjwIN77KUfktddeY3l5mSRJUEpdc3l3p42GtXbTxOqVVM2iKJp6IjtZabpZ8a4zGpNk50ZV8O0ajdFoxPPPP8+BAwe4//77d8QNnnR8Hj9+nDfeeAOlFFVVXdACP+n6vJk8jWuBiNBqtWi1Whw6dIgTJ05QVRV1XU/Lu91ud3r+G1m0l8NOG42thE7rjch6LZGJvupES+TkyZPceuutWwqH32l41xiNjeHIxi9/O0ZjNBpx/vx5vvRLv5R+v78j6xMR6rrm6aefJo5jHnnkkak3s7q6yuLiIseOHZuuvdfr7fhNcbXYyYoHBKLZwYMHLyjvLi0t8fzzz1PXNf1+f1qZuZx3t9Ofz9VS6zczIt///d/PD//wD3Pfffft2PpuFrwrjMZWuBdbMRrWWl588cWp9sVOGQwIFYfnnnuOe+65h1tuuYW6rrHWXlB5gNB4Nulf+exnPzvtGZmbm6Pdbr8tru9Oej0bcxrry7t33nkn1tqpBMDG8m6/379AAmCnjdm1nud6IzIcDqdDvN9teEcbje2MQLyS0RgOhxw+fJhDhw4RRdGOPsHeeOMNFhcXee9738stt9xy2W2jKKLb7dLv96f06KWlJY4dO8ZgMJjSvefm5m6omteNKpNuNKLry7uvvfbaVCJgdnaWuq5vCk9sMwyHQ7rd7tu9jOuCd6zRmFCftzqXQ2uNtXbT19544w1ef/113v/+99Pr9Thy5MiOqGxPPJe6rtm/f/9FSb+tPCk39owMh0MWFxd56aWXKIqCfr/P3NzcNTM1L4ed1tPYzr42lnerqmJpaYmzZ89y/vx5jDFUVcXc3BydTuea+1p2CqPR6F2Zz4B3qNGYcC+efPJJPvShD225jX2jIbDW8sILL2Ct5fHHH5+6vjvRkTrhddxyyy3cdtttvPTSS9dcchUROp0OnU5nmg9YWVm5wJWfeCE7GVrtJK7VAEVRNC3vTsh6xhhOnTrF2toaaZpOPZXthHM7nXh2zt20amrXinfUWW0mw7fVi3Cj0RgMBjzzzDPceuut3HrrrRfF2dfiaUxo5ut5HdejIjIpW67Ph0z0M44cOTIdcJRl2VVpaEzwdnoal4Nzjlarxd69ezlw4MAF5d3XX3+d4XA4VXiflHcvdezNyq1Xi3dL5etSeMcYjctxL7byZa83BKdOneLYsWN84AMf2DTu3ErD2sa1Td7zyiuvMBgMLup63S6562qM1kYhniNHjmCtvWBEwtzc3HVvf78cdppGvn5fG8u7k3BuaWmJI0eOkOc5nU5n+hmsL+9OiF07hXczX+MdYTQuNZF9kqfYihs40V84fPgwwAXhyGbbbvWmnRiDsiw5fPgwc3NzPPzwwxddMG8H98IYQ6/XY9++fRfcQOvb3yc30OXyIddDI3QncKUHxvpw7rbbbsM5N5UAeP7556mqalreTdN0xzkf71bc1EZjJ7kXRVFw7Ngx7r33Xg4dOnTZm2Ayu3QrUEpNE5PrNUE34u2mkW92A034ISdOnJjmQzYTJr6Zw5Pt3OgT/st6hfdJTujYsWOMx2NeeeWVa1Z4L8vyho6YuNG4aY3GVrgXl6uITOC959SpU5w8eZJ9+/Zx6623XvHYWw0PvPfkec6RI0d45JFHLlsC3WgIruXGGQzGxHFEHF/917de3RzeKm1OhImNMVMv5HoKC18LrpXctT4ntHfvXo4fP87c3Nw0JyIiF3TvbjV8mYSC71bcdEZjJ7kXE0KVUor3vOc9rK6ubmkNW/FgqqrimWeewXvPQw89dEXOxNV4Gt57fvVTz/Krv/Mir506z8LqiKKoqK1FRKFFSBLDnpkO99yxh2/6qgf5/V/2ni0dYyM2ljaLomBxcZGTJ0+yvLyMiHDq1Cnm5uauuV/kZjEa62GtJYoi5ufnp97ixsSyMeaC7t1LHfvdTOyCm8xoXEmGbyMu52msrq7y7LPPcscdd3Do0CEWFha23bB2KaysrPDcc89x9913X9Msk0vhjXOr/PjPf4Znjy8xGhY4LwgO8IgoEAUCFhiXjhNvrnLi7Cr/9YmjdNsRH/7g3Xz/t/2BLR3rUkiSZNp0tri4yJkzZ6aJ3jzPr3ra207mNK6317IxsVwUBUtLS7zxxhusra1dUuF9UrXZDkTkXwHfAJz13r9/k9cF+CfA1wMj4Nu9909t/0yvHTeN0XDOcf78eZaWlrjjjjuumnvhvefEiROcOnWKBx98cGrxt5vc3Gxb7z0nT57k5MmTfOmXfintdps33nhjS/vditE4e36NH/jJ3+TTzxwLJUAJrdcKwbvJiENAYLIn50FphXhAwSD3fPy/v8onnnyNB+7Zw9/5jt/Hvi2d9eXXHkURt9122zQfsl4O0DnHzMzMlB9yOTf+ZgpPtruvJEk4cOAABw4cALhI4b3dbhNFEc8///zVELt+Gvhx4Gcu8fpHgXubny8D/nnz/xuOt91orA9HnHOMRqMtX1QbPY26rnn22WcxxvD4449fcPFut8t147Z1XfP8888jIhfse6sexJW2+/s/+zv8+088S1HUWKdAPCiFwyOe4G0ojXcezwYXX8J2eI8ohQcqJzzxwhm+6W/8Mn/2Dz/K93zzl2/p3DfDxht9oxzgJB+ysLAwzYdMSGabifDcjEZj0ge0HWym8P75z3+en/qpn+LVV1/l277t2/i2b/s2/sAfuLLX573/HRG58zKbfCPwMz5cRJ8WkRkROei9P72tRe8A3lajsZF7sZXE5nqsv7knIcNdd93FwYMHL7vtVva7/gafEMFuu+22ixKp12o0Xjl+ju/933+b108thItWNCjAC0zeI6CMwnmHGI14hQBewv48gvMgovDrQhdRmrz2/OQvfZ5PPHWcf/6Xvp6De3e+H2KzfMh6EZ7JjJWbWYTnWvclEhTeP/zhD/Oxj32ML3zhC3zzN3/zTiaRDwEn1v1+svnbF4/R2Ix7cTVGw1rLsWPHeOONN6Yhw6W2vRpP4/Tp07z22mvTvpRr2e/kApokaH/+ky/zC585TVmDMXFzQyk8FjyIUti6Bj9pvxZEQWNVQmyC4LwDkSbXofDOISpsI6LxAi+fXOQb//rP84N/+sP8kQ+/d0vrXb/u7dzo6934yRN4QrBaXl7myJEj7N27d9v5kI14uz2NS2E4HNLr9XjkkUd2ZH83G2640bgc92K7RgPg2LFjzMzMXBSObMR2cxqTvpQ8z6ciwpfaditPk8nxB4MBhw8f5l9/6iyfPHwO5w3eVZS2CsZBgWgNKhgQHcXYqsI6h1JCVTuMUtTN796HJ7fSGiXgHND8bp3FIWgUiGZUeP7Gv/gUz7x2jr/xpz68pc8Cri2kmDyBJzNWnnrqKQ4ePMjq6iqnTp3CWjvNh7zdyuY71Stynaonp4Db1v1+a/O3G44bajQ2o4Kvx3aMxsrKCseOHWNubo73ve99V9xea71lo1FVFefPn+euu+66oojwdqoiKysrvPb66/yT/7LAM0fPg4pQeCQKvoNzDu8szlm88+CDYdDGNFUHjYhDFGgnGG2wzoGAFqF2Hg/oyCB4UKbJcUgwMAhehH//yVc5dnbE//f7vvptaS3v9/vMz89z1113Ya3dVNl8kg+53Pp2shKzk70nw+FwmizdQfwK8BdE5OcICdCVtyOfATfQaFxqBOJ6bJWsdezYMc6cOcOdd965rZBjKwbp3LlzvPjii3Q6He66664t7fdKa/Dec/bsWc6cPcc//tSQY6dWUJPz1+BFI7wVpjkf8hHKCN55nK2pq5ooDvvSBCPigNr5sC8NShtEwHuwzoeqigoJ1LBvjXMWvOd/vHCab/mRX+ff/JWvuWJL/fVkhGqtL+BGlGXJ4uLitKyZpumUZHalmbPXgp3sPbnKkuu/A74K2CMiJ4G/BUQA3vufBD5OKLceIZRc/8yOLPYqcN2Nxna4F1d6apdlybPPPkuWZTz++OOcO3eOtbW1La3jSje3934acz/44IO8+uqrW9rvVtZ8+PBhhmXF3/u1Jc4PyhB+eME7i/hww3vrqeoS03gE1tWIN5g4wvgIZWq0VlRlNfUuvBJMFLwJIXyudWVRWtBRRF1bnIdYa2prMVpATGNIFM8dW+abfvi3+I8/8DXE8fXR4tiIrSibr8+HjMfjqRcyGo3odrvMzc1ddmbu1WAn8yNXE55477/lCq974LuvZV07hevqm1prWVxc3DJZ63KvLy8v8+STT3Lo0CHuv/9+lFLbCmcud3OXZcnnPvc5AB599FHSNN2RPpGVlRWefPJJ+rN7+cH/cIIzq3lT4QgVD48gSnA+VDyiKMYhKK2I4ghtIkConaOqLV4USmuiOAExOBRFWTMeF1RNr4yODWIMtfV4EZSJsA50FOMJ3odDEBSiFUdPr/DHfuQTlGV1yXN8u3pPJl2rt956Kx/4wAd4/PHHufXWW8nznOeee47hcMgrr7zC+fPnt9wrdCnsdCL03cwIvS5GY+JdFEXB008/fU2zIbz3vPbaa7z00kt88IMfZP/+/dPXtpvc3AxLS0s8+eST3HHHHdx7770XtNxvBZfa9tSpUzz//PO85z338d0/8wxnRw5tIpTRKDGgwk3rlUapwKsQI0RJTO2Fqg4J0SiOiJOYNMtCbkMUymjQiiSOabXbtDttkjTFiVBWjqKoUFphtME7j2iNEIyTiEIpjVcSTIc2HD034I//g09c0gDvtBbntSRVe70ed955Jx/84AdptVrMzc2xvLzMF77wBZ566ilee+01VlZWti0tsJOexmg0elcbjR0PT7wPw2UmiaVrudjKsuSZZ56h3W7z2GOPXfSlXk21Zf06J7mRhx9++IJ+iu3oWWz0NCazUsqy5IMf/CDf/L/9NifP5yHvICo8/TU4qzBKUVY1znmi2OCsxXtHFBtCdlNTOU85rjCRbgKQ4IkopbBN4rPIS5TWxElMJ9VY56iqmrqJ0513WCeYOKJ2jjiKQv+KkoZNqjj65pg//U8/xc9+7PfdtLqbGyEiF+VDlpaWOH36NC+99NJUxWtubu6K+ZCdToTuGo0t4lK6F1eDiebBvffeO53ctRFXq7A1YY7Gcczjjz9+TS33641Gnuc8/fTT7N+/n/vvv59v/bFP8vr5MtRRnceJR4vCOhu8DO9CuOAUzoXqiPNCXVu0EoxRWOuJ0oQ4DlqYcSvDeodJU7y1mMgQJRHWesBTu8Anj5IYbR3Wg6jAgakriyhFUVUYY3CErKnSgoji2WPL/IV/8T/4Z//Pr7jgHHfa07heiOOY/fv3s3///gtUvNbnQyZGZON8lZ1MhE4EoN+t2DGjMSmnwuUnsm8FR44cYWFh4SIPYCOuxtNYW1vjmWee4c4777ykMvh2yqgT9uji4iIvvPAC999/P3Nzc/zFf/nfeebEMqIN4hyIQ4lqnvweLeC94K0DZdAK6qrGOojiGK0FrRVFkU+PMR5XtDuG8bii08oYlAUJYbuytkRGE0cGL0JV19QIcWxQIlTWE6cJIFjnQk7FeSoHWjyiHEZH/PeXzvN3/8Pn+aFv/uD0HG9Go3Gl72czFa/N5qtM+CE76WlMDNS7FTtmNC7nWWz1oiuKgvF4TFVVm4YjG7FdT2MS7qxvZNsM271Bzp49y3g8nmpq/INfOswnnzuHVgZbOxSgjcZWHudDElQbTVXXYfI8NWVtieOI1Gi8d9S2ZlxUeKWJ0xjnLL2ZLuDpdFsI0Ol1wDlEC4lWlEVFWZfESYw2EUZ7nPM4UaSJpqwtiBDHEZWFyGg8oWzrPVS2QoBf+MxxDvYjvuMjFzVb3jTYbg5ikg+ZCPBYa1lZWWFxcXGqJ3r8+HHm5+fp9XrXZEBGo9E7Ytzm1WJHw5PNbuKtSvJNntStVou77rpr27qfl8OE3VnXNR/+8Id3jPlX1zVnzpzBGDM1cr/0mdf4+SeOo4zBOY+JNXXtoLYorUApjAqGIzKGsqoxkSFOIpx1OEArjfEen0QYJVjvGYxKut0Wa6tD2u2U4SCn00mpnUecJ01j4jgJHob1VJVFJHgaIoq8sm95Ic4TRYbKeqJIEzVlXiWgFDgc//y3jmJXT/KVHwhclRs5Y2UruFbvR2t9Qen2M5/5DJ1OhzNnwuT7JEmm/JDtDqny3u+o3ujNhuvO07iS0fDe8+qrr7K4uMgjjzzCCy+8sGXvYSvhyWg04umnn+bQoUOsrKzsaFnt8OHDU6FapRSHXz/PP/rPL4LXKPGIpmFjeqwWNIJ1gkKF6oV3xElEXTtEPLE2eO8o65pxYUlihYmEYljR63VQInS7bbRR9PsGhyeLY9YGY2xekUQRKEOsQytKVdWM8pokjUjTiLLyaKNIEkVeuuZvjsg0fSvrPlctin/3Avy+R9rkK+dZWFhgYWFhmhPo9Xpva8iy0yMZlVLTfAhwkar5ekHiyxnQd7M26ATX3WgYYy55Y0+EfmdmZnj00Ue3zb24kqcxGSXw/ve/n36/P9W+uFbDsX6/q6urQW9zMOav/dwXKF14Yjuj8PVbjWfiQheI1oK1DiMNU9NDFCk8IUQo8pI8r0mSmKyVYKuaNEvRRpHnFVkaMRgWdFopVVmhRej22oF23tzDde2w1qO0phXHVLVnVHqy1OC9UDlIk2Aw0jSirB2xAi9BqENEobRQ1MJf/8XX+Ed/9LapGM1EQ+PFF1+cljyvVc3ranA9hj+vx8a298FgwOLi4rQytnFo93q8m5XIYYeNxnao4QsLC7z44ou8973vnbZUX277rR4PuOQogYmRuVqjMfGKlpeXp/tdW1vDOcdf+JnPszIMZUwQlAs3bW0tWoUKSeN3NJ6FwvlQ8dBKqEpLUVi0iej2YhSeqnaMc0unFbM2KIhjTVGGxqpRUZLEMcurIzrtBK01RVUTRxFpK8I7GBcVtRfS1OA81A6M0cRKkReWNDVUtSeJNXXtiaRplkNC06wIb65W/K+/dZy/9Ye+5CK25mg0YnFxcapuvr7x7HoPCrqRw7FFhG63S7fbneZDJqLMx48fB7hgtsrVeBsi8nUEZS4N/Avv/Y9seP124P8AZpptvt97//FrO7Orww0JT9az9dbTtTcT470W7gWEsufhw4eZn5+/aJTAtQxBqqqKw4cP0+12eeSRR6b7VUrxY795hFfP1aA12jfJTgHweCXo5smjhKkBKWpLrIXaOkZjRxQpWu1Q6fDeMR6X1NbT67fAOTqdlCgy1LXFGE1V1aG5a65HXVl0pIlFMRiVRJUiTYPwsCgd1L2U0EoUReUoakeWGWrnSGJNaT1JpKmtR9N0ewqB/KWEp0+M+Tf/4yR/9Zveqjat716dqHlNGs9ef/11lFJTL2SjEM9O4EYajY3YbGj30tISJ06c4Nu//dsZjUb86I/+KF/7tV/LAw88cMX9iYgGfgL4GoJOxpMi8ive++fXbfZDwM977/+5iLyP0Ity5w6f2pZww3Ia8NYNPTc3x6OPPnrVTWuXwsR7udQogas1GpMy7T333HMBIxXgt549zf94vcDEUSBnoUI+o7n5DSoYAvGhP0Qp4ii0sedljRKh3YpQDUNTxFGWHhMbukmEc46iFrI0YmVtTKedsDwo6HYS1gYFnXZMksbY2hLHhvkkIi9qBuMaLUKWKeIooqodo7wmTQ3GQWUdWRxCk9QorIcoDnwRj0cr3XxmIWH7ay+s8gdePcuj91yaM7M+sThpPJsI8Uwmne3EjFy4ucYqrB8V+Zu/+Zt867d+K/1+n1/7tV/bktEAHgeOeO+PAjSdrN8IrDcaHpgIuvSBN656wdeI6x6eTHIa586d4+WXX77sbBC4OqMxoZqfO3fusqMEttrpun6/p0+f5vXXX9+0TPvamWV+9smlQNRCEGUaYZzwJAyiOA6laG5Ch9Yhb2C00G2ngMc3TFBEqG3IgSQq5CZWBiWz/YSitKRJCLNaWYJ30O2kLK8V9LsJhfWUeUWvHdNqJaRpTF5U5IXD2Zo0MxgtjAtHOzPEylBWjjgOzNIoCkSyJDZUtcV5jxIPGFCCE8Xf/U8v8X98Z5d++8r5i42hzHA4ZGFhgTzPeeKJJ645lLmZVLvWYzAYsGfPHr7jO75jO2/bTJVro/7n3wZ+U0S+B2gDX30t67wWXHdPQynFyZMn8d7z6KOPXsTE22z77d7YTz311CWp5hv3vZ1484UXXqAoik2nsdV1zQ/+4vPUKqhpRUbjrGtU+sIaPIAXRAtKhdKrqmpECWkaDEBtPU4E8FSVo6pr4khhraP2sGeuBV5QqSPSIbxop4qiDL/vmQ3hR79jqKxjbVBAXtFpJbSyiHYWchlFackSQ69jqK3DeU+WGMZFSK5W1gfWqXWhNOubxGjTay9KMygVP/Afn+effdv2FKlEwqCmLMs4f/48Dz300AUciasJZW5Wo3EdKeTfAvy09/4ficiXAz8rIu/33u+M67YNXFejkec5J06coN1uX5AHuOyCjNmyC7uyssJwOOSee+7ZkujJVsOToigYjUZTOvhm6/5ffvlZzo9qRGmM9iCCE1CNTXIISoF4QSGksTCowSIkWpNXFu9A68CRGBc1caSZbbepq5qqsrRjTVlZhnlNrx1xdmnEfC/j7OKIPTMZiys5/W6M0Zq8qGilEelci7yylGVIomaJIU1jkiSEKNZ5YtP0tNSWdiumqh1JEoxaGmuq2hOb0D7vPGiJEBWSqEfOjviJT7zEd//B7UkGwlthwEaOxGahzOT1S3mNN7PU31UMStqKKtd3AF8H4L3/HyKSAnuAs1e51KvGdQtPJuHIgQMHiKJoyzGjUmoq1nMprB9T0Ol0Lqi+XA5bCX0mNOMsy7j99ts3XfcvPPkaTx1fQ6EwApVYlAhG6abq4LHeE4kwrh1ewuCjVmpAGYqiDuMJoqbPRCvmehkCFFVNUXsiragtrI0te2YyRnnNXC/FecdsN6GqHPOzKauDkm5bIUpxdmlEv5OSpRGtRBgXJWXlWBrkwaA0ocewqOlmMdZ7nIMsMYxKS5YEg5Em4dhKPJEJlRXREnrooojfeO48X3bXLI/evb3hCJfKHWwWymwsb24MZd5lnsaTwL0ichfBWPwJ4H/asM1x4A8CPy0i9wMpcO4al3tV2HFPY2O5c3l5mZWVlS2//0o39mSUgFKKxx9/nKeeeuqa29ghXNDHjx/n9OnTPPzwwzz33HObbvv6+RV+9olToDXNgAFUo4ehBKxr8haTblQR6roiiaNw0yhFHMUoH7Yl0Sg8tfUM85rKOnqZoawsHuHgnjZV7Whn0VTSLwQzYfTDbDemtp5uFtFOI1aGBaPVml47Jo0NWRpyFnlRUxQ1rcyQRKFikkaBBTYqLe3UUNaeNA5aHEkUkqPOhWSo1irkZcTh0fzYJ47yz/e36W3jqbqVm3MSynQ6HW6//fYL6N6vvfba1EvZyWrMTuc0tutpeO9rEfkLwG8Qyqn/ynv/nIj8HeCz3vtfAf5n4P8nIt9HiHy/3V8i1haRgff+unXM7ajRGI/HfO5zn2Pv3r3Tcud2E5uX234iynv77bdPRwnshPaFtXY6vvGxxx5Da71p/qOua/7ef34R58MNJCicrxGESEvITQgoUQiW2tYYLSiVhB4PW9OKNHjXyPQFUteosIyLmnZqmOkmVGWNVop2FjHIa2rryGLNm8tj9s2knFkcc2CuxXBcE5tQWRnlNcYIs50Y52BcWcbWkcWGVhbRSiNqG0hfxijiWMhLi4innRpq58liTVFDlmiKypHEQbCnrj24MF0BFKJgUHl++Dde5Uf+6INb/m6vpkqxMZSZjEc4deoU4/GY4XB4xVDmSrgZBHgazsXHN/ztb6779/PAV2x839uBHS10G2N4z3vew9133z29OHbKaJw+fZrDhw/z/ve//4LZI9fKIB2NRjzxxBPMzs7y/ve//4IhSBu3/Ye/9SIL40m3qiDi0Y14bxgvoJpRAkGXSylNlsVEJjztlShGRc1abhuylWNY1GglHJxv0W3HFJUlt544ViwNSvLS0u8kjArLrXs7VNZz+/4ueWnZM9PCIYxLRyuLGIwto8IRGU2vHdNrRTjvWFjJWRsWiEAcKcalo6gsWazxPpxrGhuK2tNKFGXtyRKFdYH6HmsdmlIgGEUVtEBefnPMz3/m9S1/tztRJp2MRzh48CB33HEHd955J3Vd8+KLL/Lkk0/y8ssvc/78+W1dczvtadwsbfEi8lUi8p/X/f7jIvLtzb9fF5H/VUS+ICKfFZGHReQ3RORVEfnzl9vvjnoacRxPCS/TA1yGRr4ZNhqBiahNURSbjhK4Fk9jknd54IEHptPTL7Xtbz53gs8eXwu5CCNU1qJEgfJoNZlL4qkrh8OHnhIbRH/T2BBHilFRotG0taK2FmU082mECJSlZS2vwvSydsRgVNHOYtqpZlxY9sykFKWl20qoastcL6WoLXtnUiobPKKD8y2Gec3Z1ZxuK6KVaLIkxjrPKK9YWivotiI6iSGvLZX1dFsxlQ2hTjsNTWxZGnIbSRQEfZz3JEYHZXPxQbynaXL7pWfP8eids9y9v3/Fz3+nRw5orS8bylxu0tt67HRb/MaBWjcxjnvvHxKRHyOMhfwKQq7kWeAnL/WmG84I3cr2E6MxHo85fPjwZasYV+NpeO85evQoi4uLlywDrw9Pzi4P+LdPnkbrphTpwShDMA9+6l04G55YkQnKWkVZk1eOLBaUhyzSJFEQzIkihXhPUVuGo4qq9sx1EowW8trSSg1ZHLE0KGinhrVRjcdTWRfCj6Km04o5t5wz309xgLWOXjuh24oZjiuWBzVR7OhnMXP9DOehqsMg6XaisQ5GRUUrialcOK8k1uRlOH5lCZUWK9ReSIQwX0VP21xwXvMP/+ur/NM/9uAV+RY7PV1t4/E2C2UWFxc5ceLENNewWSizkwI8o9Hoaua4vl34leb/zwAd7/0asCYihYjMeO+XN3vTDWWEbnV759zUC3jf+953kfeyHtv1NKqq4vOf//y0DHypJ8z68OQf/NcjWPREgAvf8La00mjnqSvAOZR4ksRQlQ6jmZYvR0UdvHsHZV6DgGkGHxVl6C3JYkVVefLaoZvJaqcWRsx1Yyrr0FrRywyro4peRzMsLB7PbDflzPKYvd0Uh7C4ltNrRcx0E9qpYVxZFoclsdF0MkOrqZSMa0snjVDWMshL2mnwlMra0Up0kwzV1NaFsMYENmswpIG0Jii0guWx45996jW+9/ffe9nPfyfnlGx1YPPBg2Hy/fqqzEQmYVKVqapqR8OTm0iAp+bCFMTGpE/R/N+t+/fk90vahhvGCN3OPtbW1nj99de3RAbbjlEqy5Ljx49z//33X5HXMTFG//q/H+X0ch2esD5cqA4/nTsiNvAxEhOk+gL7OlQ5skijVfAqqsoxGBdkiUEL1DbcnLOdCOdgWNSMi5puGngqhYVb93VwzuFcuIHz0jLfT8krx2wnVDkQuHNfl1ERkqxZYji/krM6svRbmn4rYaYDo9IxGFf4FNqJZlzDsLD0W4Y0iSltmNxGbamtQ6tQDo4iTVU7nBdSE75fLxLmtqlQWRFRfO7EgN99+TRf8Z6L5+hO8HZSvzerykx6Zc6dOzf1LOfm5uh0Ole9zptMVPgY8D4RSYCMULL9b9e60x33NDZK5W1HpHcyI8Q5d8nelI3Yqqdx+vRpTp48OeUDbGW/z548y6eODokiHSomGlzz5MWDeI/HohTEsWaUO2KlwIQwIq8cSaQwCLESEh1htGmY5kFVa1Q6xkVNpIS9vZCfEKXYk4SyqHNCGmvOrRTs7SWcWhxxy2yLM8tj9vVTitpReUevFVPakIC9bU+LceU5vzJGxqEs20kN3SyEHB7oZQafQVE5hGDgBoWjl0XUk6/PT57oHqN9430IWhRe+bea2jR4r/k3nz/H+2/t07+Ee34zTYxfP6RpMrIiiiKOHz8+TWZOQpkrPbjW4yrJXdcF3vsTIvLzhBzFa8Dnd2K/1z082epFsl5I+MiRI1t+35U8DeccL7/8MqPRiHvvvZfRaLSl/Y5zx797IehVTHUmEESC5mflavCOOI5wPlRAkiS0vSdRkNGzhI7S2jpaDTcir0KrvFIwLsO653sxCiiqkDjNIs2Z5REoxVw75tTCmENzGYuDkgOzGYvDklvmWryxOGL/TMbysGR5POZAPwtJzyIwQW+db1FYz+q4ZpAX9FsxSRSo6EvDik6qSSPFal6jNcy2I8a1IzGK2nm0VkAQQAYhNlBaR+0tkVFoo5sqUsjpVNbxE//tOD/4kfs2/UxvJqOxHtZaWq0W+/btm4YyE/2MiZ7oVufNDofDtz08Wc/R8N7/VeCvbrLNnev+/dOEROhFr22Gt21q/ASbjRI4cuTIlt9/OU9jIvIzNzfHBz/4Qc6fP79lr+f/etVSNTNDlAji3vIybG0RPFEcBhBNyFwNBQPnPK1IUSsoak9sFEVlKS100ihkHAVm23GonNSe3DqUCFrB6ZWcNDbMdxKGpeWeA13yyrJ/NsNax8GZjNJa7tzfYVRY9vVTKutYGVV00ghjhKVhTWSgk0Qcmo0orWdcWqyHVmqIjGdcWYyBuU5M7aByIUE6yh3tTFPUjtioppKisCg6scL6kIy11mFd4JQoE6GV4vWlml/6/DH+yAfvuOgz3elE6PXKj2ymn7F+3qwxZuqFbAxlroancSUtjWabP05oWvPA0977jYzRG4brHp5cDnVd88wzz5AkyaajBLaCS3kay8vLPPfccxeI/Gw1lPnlp17n7MhjYkF0aB5TSiFeKMsSozVKBe0L6xyxVtOypLVhjqp4j9ESBG6sIzMKGwtGK+qGDWqtx1pPUTm6qaasPaXzHJxt4V1NaaGfRayMK7LIMC7DaIO8tLRizcqoYraVMG6UyA/MRuSVRQF7+xGDccnisKKdGdqxpt8O5VXnIUsU2eSY1tOKNYPCUjtPrx2Spa1YUztPGoU1Z7FQOo9RijQKlRNL6J/Bebx1OITffGHEHa2X+cA9d19Q4bjRidCt4kol143zZidVmY2hTJIk2/Y0mmv3sloaInIv8APAV3jvl0Rke/z9HcYN8zQ2uqYTjYq77rqLgwcvnTy7Ejb2qnjvOXnyJCdPnpxO4Vq/7ZWMxitnFvjU60PiVLA+VDmUD4OTy7qkkyVhXEPlUUJzEwmWYDjaiWZU1lS1x2vFcBTyFZFRDAuHpaIVh9JtWVWhDJtqKte0y7cihnnN6tixpxtxYimnk5iQ+6gdnURR1A7nQwPZa+eH3LanzeKgJFLCbDsG8VgL3Syi2xJK6xlVnlYMkQkEs+WxDdTzWLOW1wzLkBStbFAM66QmaG3EimFhm989Wayw3mM9xBoi1XTBxsGo0vz+7w478sUvkKahDDo/P7+jnsb14HxsFRurMpNQ5vu+7/s4evQoP/RDP8TXfd3X8TVf8zVXNGxPPPEEXFlL4zuBn/DeLwF47294k9p63BCjsVFc+OTJkxw/fvyKowS2gvWGwFrL88+Hz/rxxx+/6EK4ktHIi4J//4WziECkoKUU7SxmPBoxLgrm5/rNDBFHWTvEe5acw1pQOoxENEpopwbnYJRb4lijRRgWFtHCXBbjnAccaZRRVKF0GimPVorTS2McsLcTsZJb9vdTjFJUzjFvYsa1Y6aVkFcOraCbxgzyiv29lNWi5ui5AQdnsmkviUJox3rK4zBKmGnFdFJHXgevY64dUTczUBKjGNcWPwlVSk87VpQ1tGNF4SFSKuigEsI2bUCLCs61gBahtI6X1Bzf8r5D0xb41dVVjDFTvsSVptVfDjfS07gc1ocyP/dzP8dXfMVX8JGPfITf/d3f5SMf+cgV33/q1Cm4spbGe5pj/S7hU/7b3vtfv6oF7wBuiNGYlF1FhBdeeAFr7aYaFeux1YtiYpDG4zFPP/00t9xyC7fddtumT6ErGY2feeIYwxrmuinVeIQDRoMB1nt6czM4B66R8xMRtFL02gnLi8vMdlssDUuK2pOYcFP1WgaFUFtLO46xVRjmXNYOJ4rECElsiLWwNq5ZGlb0W4ZWpBiVlvl2KON6oB0bhmVolx+WltSokGx1jj3dpNk+YrYVsTSqOD+o6MQQNVPlNR7vFWtF6IdpxxGzsYQeldrSiiK8tQwKy2w75EBK52kninFV04qFykMWCbULhfwkEpwDj2p0RJoxCOLRBp5/s+aZ08s8emd4Kr/55pssLS0xGo04efIkwDQ3sF11853OaewEuWsyuuDrvu7r+OhHP7oDK5vCAPcCX0Vom/8dEfnApchX1xvXJaexEVprBoMBL7/8MocOHbrkTb1++61eFEopBoMBTz311BWJYJertPyXF45xeuA51E+xTljJhcHamKyd0klb1DYocAlB19PowGNIjKLyglbCvl7CuLQsjwID1nsoqorYBNWutXEFStNp5pkYFSajnR9WpJHi9j0trA0Er04Ka0V4fycWji5W3D6XcORczt17WxxbGLO/m1Baz8o4Z18vo6gtAhzop5TWszrKGZSOVgxppEkiRRJrBkXFuUHOTCumFRuGZc2grJltRaQxFLUjjTTjOqiJZZHG+rfIapEJNefagdEhrHLNCWsdSsyIRynh4y+sce98i363G+QBWi1uv/127rrrLqqqYnFxkTfeeIMXX3yRdrvN/Pz8lsqcN2tr/HbDpkOHDsGVtTROAp/x3lfAayLyMsGIPHltq7063BBPoyxLnn/+eR588EH6/Sv3KGx1wJL3njNnzrCyssKHPvShLamCbeZpvHb6LJ9/I5QznYVxHia9tVoJSavVPE39tLnL4kmUpsKhlJAYYVBa2g25Ko0U49qzMixpp2Ho8mhc0kk0vXYGHsZlzflBQRoZ9nYTYiOsjCrGlWWuZTi1VJFEmn39jOVRzXsPpiyNSt67P2VpXPElezMWxxUzWUzhFMcXh9zSTyms5/TymLluwnwnxgLj0rM4rki00Msi9vZS5p2jtOHGnmvHWAd5ZYmMEBvFqLL0s4i8duAh0s1c2UmJFSEzQunAeiGaSBoqj26a95UINfB/PnWe//dXdi+6oaIoumD26oSxOSlzTvpGZmZmLrqpb0YRnqtRIX/sscfgyloav0RQ7vrXIrKHEK4cvZa1Xguuq9FYz5F44IEHtmQwYGssz0nlRSnF/Pz8lgg4mxmN8XjM77w+oN9pYa1lNBoyGBZk7QznwIiiluYCFUGasQPSzAmpXchHtBPDoKgxNbRiTaLhlpmU4ThnNC7ozXYoypJBUTMoAhdiTzchiTSjouaN5YIk0uzpxKzmNXu7Ma0kJq8dB2dC+LG/nzEsLbfMJqzlFfs6EeOyJhXHPXsShpVjphUx1zacWs5x1nKwF035GyvjirNrBWmsmW9F9FLNSl5TVJ5+K8JoxWpumW8bWokOOhuxYVCE6XDeh9wNPiRUK+calmjgsjjAePBKobEoLSg8Z0aejz97nIfmzCWfwpsxNpeWljh//jxHjhwhTdNpKNNqtW5Kzkd40Gyv76R5MF5JS+M3gI+IyPOABf6K937hmhd8lbhu4cn6UQIHDhzY1hd8JaMx0dW488476ff7vPLKK1va72ZG41NHF1BRgq8sq2sDysoxPz/LaJQzduVU5zP0pQWl7omGZjvWrOYVXsLTuYsmrx1L45rUKN5cHlBUlrleBw8sDXPiOGVfNw7uf2U5vZJjnefgTBKMkHXs6SSMirKplmjeXC3Y24l5YyVnfy/hxNKY22czTq3kHOgFub48L8iUJR/lGGO4czZhZVxyemBZLHL2dSP2dGPmuwnj0k3LtDNZyJWMqprZdkwa60Y5TOimhtI6Wqqm9ppOGjyPOFKUFjKjqTwYBbEOuRckqLEr0U1eVNCx5wtnPN3Cc/eBrZP29uzZMy2XT2asHDlyhDzPp2XPubm5a/YSdspoXC0bdAtaGh74S83P247r4mlsHCXw6quvXnWn60acOXOGo0eP8oEPfIBut8t4PL7q1viXTy+xUEBlaxaX1oiTmKyd4nxo/9aiMCq42rbhGJSVxYiQW0cWKVqJYXVNUdogYhNpRTtynF1cxWjFnplemA7vHLMJ7JnPGJeOc2s5Re2Z78TTMq3znm5qOLtaMhjn3Drb4djimDvmUs4NSvZ1Y9aKmoP9hNOrBYdmEo42uQ2dJJxdKzk0m6KxDMYlUlccbCm8hvOjisVxzVwrop1oWokirz1GwUwrwnlYKxyJEdJIWB4HjyOODOeWYV9fU3qYbRnGtaMfG0aVJY3CzWZ9qDhFjXK5wqGURktoC1bG8+Si42D/6m7wyQT4W2+9Feccn/nMZ1hZWeH111+fkq3m5+e3PXcVdq58ezWqXe9E7LjRePPNN3n11VcvGCWw3U7XzRTJvfe8/PLLUxnBSbluuxPZJnHnwtqI58/lVNaxtLBKp9NGmxhHUKlCBO8BaQicEjo6aTo+cwu5De55rANNb3FUk2kYrK3S67RoZwnWhtyBUyFhujCqGRQh6diJA+tyXAXSViJwbGFMP1XsSaBwnvsOthmXjkOzKdb60IHqPLfPpRS1530HO6yMw+Clbmo4uVSQRsLeXofBcIQXIdHCPBWl9QzGlqo29FoxWsHSKMxemW8bUiMMS0vcMuzpBEp5bBr6uINOqhhVnm6sGVvHXCuEMKIUsVJYB7X3RE3CWDefeTPuhUI8nzzh+ZIv2fKlcMnrwxjDlzQ7mngdr7/+OqPRiG63Ow1lrqWsu13cTH0n1xM7bjT27t3L7OzsBe7e1bbHT1CWJU8//TSzs7PXNDVt8r7aWj5/asDKoGB5MGBmbgaUCloV3odxiY3oroiEUYvOIT5YDedpyqKOEki1kJhAM19YHZNkbVQUsTiqqBq2pQjUXphLNHvaEUXtWC1qRmXNTBYxKh2599y5J0MEzi8WHGzyG1kUCFYhQRk8nLXSMpsZVnJLNw0KXM557t3fYlBYFkclhqDhgTbEcUKnqfiMy5LVtQGJUcwlMV6H6kgrbnIZlaP2oV9mUDkSJRgtjKpQgh1WIWwa1552bHASksRZpKisx4dOtqnohlYK7T1iPMsOPvniab7qvqsn9G3ERrLVZGTitZZ1t4vrOL7gpsKOG42NNzyEZE+e59vax8TIrKys8Oyzz/Ke97yHvXv3XnbbreLzx5d44/wKeVmzZ888pfWNHJ9gvFCrUG83ug6T3gXiKJxXGmnGpSWLFbGB2nlyB0lZ4MqCW/b0UEpT1DXdzASpPN90tEbBCA2rIPPXiRVZFDMoHWkktCPDWmmpPSTG89rimL3tiDOrBVorCuuonGdUhVLvkfMjbpvNOLow5kAvJosNK3lNO9Z004yF1QGFDQYuakYlxLFgopDcXC1rstoSVRW1cyxh6GYRnTRirfCkBmYzw5uF0GrGS5a1JzWawgZ6eeVDtSQzb/E4lAQuh/Whl0YD2mi8q4jwvHjWc0v/Td5zcP8Vv6vtQkTo9/v0+/1rLutuF7tGYwdxtepdJ0+e5MSJExfRwddju0+OZWc498ZZRGXMzHepXCg7OsBbwlOTEG5YD148tuEjlBYSDcYoysqTRYpxaVECg9KSpF1EqUYKMPAwxpVjNa8CGUvU1H2fb0eMq8CDmG2H+Ob0WokRTyyOM4Xmzj0xo9Ix045Jm+7ULNIU1oZp8alhrbDcu6/FGyslg6JkTyfi3LAi0YrUKOLY4JVi3PTEZ5EiiRTzkaZjg/FACXtSzTAvGVc1g6og1ppRYaicIdOh56SbhjyIiCeSUE0xIhgRCgetKFSTvAhZDM5NJNqDEoyjoeUb+PTrnn3Z8kUyizuNrZR167rekWTobnhyldiJ+awiwsmTJ0nTdFM6+NVicWmZ83VE1u2i4wjbSNx571GAVoJ3oVNVKYUWjxZBN0pbXkIhJdZQ+NDang/XiAU6vfCEGRSBBBZpxWpRUzlPPzNBpCcHX+WMJSKJwiiBRAvnBiUrueWWbkxRlgzzivsO9ihqT7+lp/NVs0iwhHKtNJWWfd2YcWm5bTahqD3j2nKgF7pjjy869nQs+3oRrTgYqbWi5tywop9FdFPNvjgMTqqcp9NO6YuwWoQxkYlYVkY5MTWxVSyPPPPtiMqFjl7nBaOCR5GZxqhGwSOxPnT/Rhq8AuuCBKJSocHNes8nXin5xg/W133C/AQby7p1XbO4uMjp06f57Gc/e1FZd7u4mUSFryduKI18K8jznGPHjtHpdHjwwQd3LAY9c+YMT7x2BhUlpFlCWYcQSquQ8Kx9uDFFQJQEoR0VpqaJVghCK9KMa0tmFFVZsTIYECcJ4kJTmXPB+/AE4aFWFDWuumd5VFKaFrE4qAuqesTIG96oNd3UcO/ejMXVEbWtuXVvn5U8jC0YFkEAODVwblQzm2oWC0tmQsfs6qBkXzdhLa9JjGK+Fbgd3dRw95xhaBVHzo/Z046YyWIO9EJn62pheXOtZCYzZLFhXFuWBiVzWUQn0YxKSJKI29otzi6v4pUh9jULKwWZURTa0G+nVE5oRcETaUVBhwMFqZGQVPZB4csYgSKEfVoMgmXoPP/3s0v8wYcuDjtvBCZVl3a7zcMPP3xRWXeioTE7O7ulB9dNptp13XBThSeTUu2hQ4d2rAzmveeVV17h7GBMNneA5fPL4HyjvhXKqSKgmix/aCwBjWAIfzIiFNaSaI1CGIxyynzE/EyX0glVWbE8rhFCZWVU1oiEWSh5ZRmWlixS7O8ZjFYM8piFUU0kjn1RTVkNOb0AkdZ02m2OLZfs60ScH1SAZyaLgvBOP+H8sGR/N2ZxVKEJA49eOTfi9tmYxXGFeNjfi/GEp/lsqtnXy1jJa15fGtPPNLNZzN5uhHNRCM9EmM8M/dRQudDUNtcK1ZNBacm0oCJDK07RohgWJS2xLK4OSXAUUcJMK6Kw0vTdhM7aWAemqDRVJ+UtkQrCPd4qIuM5Yz2HX13gwXsuPRR8I3Zq8jxcyAbdWNZdWVlhYWFhqmx+pbLucDi87HDzdwtuivDEe8/rr7/O2bNneeSRR1hbW2NxcfGa11JVFYcPH6bb7RHN38aosCBgCZJ63k2yF+G/QYYvDDCSZq6JnyhW1WGdrsoZFzW93gyxVrREKIYhnncIo2Ywc6QVeVWTamG2nyBN3uPNlYJIKw52YxKjWMtrVsshvUyzVsHp1THzxjIYW7pJRCeNKaznjvmMUeW4dbZFXjkOzqaUlUMIPIulUcW+TuiCffncmP29iFiHRKU4z2zLMNc2DEvHSlGTWqEVG7QSVooajaebRqRGszyuMErotyJGpaUSYSYxDCtPK3J0s4Sithxst4MQsq8Y5BVih+Q6Ik1iOmmE9aHEHTc0dCUeLZAZsEIQJhbPK0NPcnSJ99596b6hjdfL9e47UUoxOzs77WVaX9YdDof0er2LyrpXk9P49V//dT760Y++xGUEeABE5JuA/wg85r3/7LYOssO4oa3xm6Gua5599lniOJ5Ofd8OYWuCjZ7JhDV69913U6UzvHF+DQjTBhQqqGwrUC7M8lCyrlQIjbzfpJ9AERnN8uqAWMH++X4IGxyMfY0STys2QU8jDhdgVTs0Bi8wrhyDssZ62N9NSLViWFnODQvyUc7eXsqwVswkwu2pYVjUtF3NKC9ZWB6TGs253DDbTlga1/RSHYYiaRrjZNnXSyhqR89oZg6Gcu/CyDHXUohAYT0a6CSaTmKamSwQaSHSimFZs9bwR2ZbocvVe+ilhoUxTYk3GDAlQcmrco5WpChdxHyaUtoMhcfWFUtrQ4x3JGkKSQSo0MPjg4GOIkUkMlUAeyX3dE6tcuhQ74rf9dvRFn+lsu7Jkyc5ffr0tnIh1lq++7u/G+CjXEKAB0BEusDHgM9seefXETs6YW2Cjd6GMWbT8GQ4HPLkk0+yb98+3ve+902/vM3IXZfDRq7G2bNnOXz4MB/4wAfYu28/b6wMcYTchRJBJLAV1dRCSPhXYzPCRR24FYnRlLVlPFhBR4a00yFS0M+C5L94hVeG5dwyqoPYzblhxaB0+OZmLa1nTzvm1l6CEljKa5YGOboaM99vITpiTzsMMVorLFlsGDlDrRL6vS5nS0WiHC+fHeLzIa+cHaDE8eagYnEU5PdPLOVoFZrJSuuIbc6BrkGZEGYoCQlI53zQ/BQY147VPMxTmc0i9rTj4B0AnSZBuprXRAriRnGsFYcKStxMWau9kJggIhRHGmMikixj33yf7swMJtLYsmCwskxV1aFS4cO0OaWFNFFkkULh+cLAsbAwvOL3/Xa3xU/KunfddRePPPIIDz74IFprnnvuOb7ne76HP/En/sREJ+OyeOKJJ/iSL/kSvPdHvfclMBHg2Yj/D/D3ga3zFq4jboinsdlc1LNnz/LKK6/wgQ98gF7vwqfL1TBIJxfS0aNHWVpa4tFHHyWOY46cH1A29iqwExXOg1Ie7yVYTR9ucNUMO65syGlYLzhXs7Y2oNdpE8UJg6LGNV2d7SR8fNXI00kF54Oq1kwaYTR450mM4OJAelotLePSkkhFW1UkrR5GCWmkWRxXDHLL/o7h9GpJGgl7ugkrecV9B7qs5jUP9kKD2b1YlsYFfbHUzjAuPAf7KSdXcnqxQmxBJTHdKGY+MTg8w8IyqgJtPIsUmYZEB22OhWFNK9b0kpCPWC0s7djTjjVFBeNK0UkMlQujEGYSTeEg0YJ1QadDqbcCvVgJZR1e9yZGkpRYeYaDNZTzDNfWGIsni2PaWUIa6SA0VHqeWLJ8yOT0+5eey3qzCPBMEEUR3/AN38Av//Iv8/3f//3T/MeVcOrUKW67bX1X/MUCPCLyMHCb9/5XReSvXNNCdwg3XFjYe8+RI0dYXV3lscceI47ji7a5GgZpURQ8++yzZFnGww8/HCac1Y6FURWqIQ5EHFoEaeaWTIyGX0d1FpEg2S/BnR6tDej1Oo1nAt3YMKxqGnpDeGoqhSZUXNqBQ82wCNtMejPKxpWXMqe0nm6vH2QCvef4ckFqhEP9hLXCcks/RoDawf5OzLj2zLUihqVjrhUzrByHWil55cFVlGXF2toq+yIYlB4dJ+zrZKzlNSeWc+bbMb0sTK0fFpalceCW9BLDTCuin4XxBB7IjJBFEbUPzNd2YshzWCssM5mhsFB5aBnFqHbBsFhHqkLlJDHSlGCF0kOsAo/DI3ilyVoxaRwj4qhLx3icMxjXtJtEa+oUn12o+TJt6XQ29wB2WqB4J4c/93o97r777h3Zn4go4EeBb9+RHe4Qbkh4MkFZlnzuc58D4OGHH97UYMD2jYZzjqeffpr9+/dz3333TZ8cJ5bGVJOwJdRQgZCcE0KbuzRiMWrS9i4hOTocjVDi6M306aRhnWWTB+jEJojuNrNarSiW84rKeUoHK7nFi6KXaFITnuqtSLM6GILW9HsdEiMs5zXL45pbejF7OhHWw1zbhAnzLnSOnh+FjtlTKyWpEU6sFCRGOLVaobVQYtBxynyvQ14LM1lCW2qWl1eJfMX+TigTn1zOyWtHPzPcOpMw24pZLS3nRmHdSRyo5It5TVF7jAQxoJXcEkvwTuqGHOaB0ns6iWJcO9rNa2nUjG80UDohM4pJs1+kweBxYgJpDkWSRvRmuuyZmSPLWjhvKYsl6rXzfO7saV49t7KpRsXNKlC83ZLroUOHOHFivdLfRQI8XeD9wCdF5HXg9wC/IiKPXvtqrx43zNOw1vLkk09y7733sm/f5cWUt2M0zp8/z8rKCg888MAFAsXjyrIwKlFeUwe+Z4jrlQRdDAlDjK3zoU1CAofA+ZrxcIiIEBsddDAlaGSMSsuodqRGYUSYbZmQUG0lVEVOMcoRpemmMWkUUzrPoHA45yiLEe00oZUG2vhq07/RjRWj2lM7TyvSvDksUQKZUZxcLbm1H3N6reRAN+L8MBiYc8OKQ72Ik6sl+9oRy8OKN4uKO+Z7LOeWJEo5MKPJi5KiqEhsRWo0wwKW85rZNHS63pokQRvUBiPayyLiypFXlhjFTBr6cdYKQphFqADNZAbrglZqK1JUDtqRUFg/FeZpRVA1oj1aBe8DIFGNsrs0rfRNIimOIkwaIa6FBpyrOHt+ifNHX5yqfc/PzxPH8U0pwAPbH8n42GOP8corr3ApAR7v/QqwZ/K7iHwS+MtfFNWTU6dOMR6P+dCHPrQlS7yVJrRJmfbcuXPs3bv3oqz1ieUmZyQ+8DLC/1BNmU8UOBsEfifjCaytWV5ZpZVm6CTBLS01XAtPaiQ0ZDlPXgcD5J3HOkscR2gToZ3D25q8spxfG0DzhKYqmO92KbxicWxpGcXBbkTtYLVhkGolnFwrmE01WinK2vEle4Lozh2zCXntOTQTU9SeW2cC+/PuuYzFtSEtVTG/J+Q95toRa7nltYWcW/oJc/2EynmctWR1RVGWjMYVw1zTSQ2dNEaZEMoZHwhanSRoapTOUeYj0ixlUHr6qaAiRVmFeSgNP45YS9O8Ft7XiiQkRs1EU1VINORKqL0ia6jnSPgcZVqqUiGENJrEp8RJC9+/hSQuKAYLPPvss4E01wqCSTvB5dlJA1QUxSW9581gjOHHf/zH+UN/6A9dToDnpsN1MRqTL9I5x4svvkhZlvR6vQsmdW/l/ZeCtZZnn32WKIp49NFHefHFFy8wMuPKspbX01b4aaI05EFDFcU35deG7VlXBcPBkFa7RTtNGJWB9JVqheDJa0vWTBSLVaBrF94TmSD1X7kgKOxVjBPHwVaKqwoGwzE5EWfWcrJIM5tGJJFmpbCMK8dMOrlB4Y6ZlNIGeb1WK9C+O3FoYmvHirXC0o01q4Wln2jOrQ5JlKfV6+O852AvZVzbwMloRZwfVSznNXvbEUkc4aKIJINZPEVZkpc1K6s5SWRQ2jC2OngSqcEInFsdk6YJs52U2jdT5XXoyRnVll4cvIzJ7JeicqRR0BZJo7dGQITB2YLGTenntkmYhhK4NPWryU/oX3HiEe/Iq5R+7w4evvNOqqrixIkTnDt3jieeeIJOpzNtQNvODbv+WtopTwPYtgH6+q//erz371n/t/UCPBv+/lVXv7Kdw3XzNPI8n+YZ7r//fp566qkt6X5eCRPV8YlAMVwczryxkjdkrUan0tlA2QpxSJhkpkOfibOeosgZj8bMzfapXLh8EyOsoNBKiPEgmrwKmqAaT2oULRMSmalWKFE476hdoFAPhzmDwiJpl7ZSHEgEW9UsjUveXMuJldDPDJVTpHHIfQzL0IjmgHODivmW4fhyzr5OzBsrJTOp5tRqyXwWWKAHW4rzlcK40DuzOCqZbUWh2c56bumF4UiLoxqR0HCWaAVeSNIEHQUvRPkasZbYjvCiKEqLK0sO9DsoY6icJ2rk/tYqx2yiiHQU5P6i4BWphn5fu9AbU9kwWU4A5yA1npHoEPZpAtWeiXwiBMnAQOLwTkB5HIIWTyKeceU4tqg52Ino9Xp477n77rsZDAYsLCzwzDPPAEzDmG63uyUvxDl3VcZmI3ZSfvBmx3UxGouLizz77LNT5S54i0p+Le3Ii4uLvPDCCxepjq8PZ/IqcA+QicfiEaXxLlRMJr0mguC9JR+NsbWl1+titMbhsUBkhEgJeTPbNMEjJtCj82bKWNnob8RGUZQ1lQ3GZjgaUTmh3c7opgYBhqVjaBUmTrlrRjMuaoqqwlVDRsCyxHQSw9gHkeKD3YjFsZ2GIgd7MdZ7DhhhZW3I7TMxpTfc0zOcH9XEWmglhtcWCw50I7JYs1ZY0kg42I+pas9qUTMsHd1YBXVyE5K7o1Iz8kI3jYnEMhyOKcWwsDamk2gwEaNKMZsZ+qnGesEIiNHNKEfDuHK0YtU01wUVL2lEjCIdEqSa4EVNVL60+OD6SWgGxHnQqlFXbJi5yuPwKOdx1nFmpEg807zIZObInY0XMiFcra2tTcV45ufnLynGsxMl1wm+WAzHdTEazrkLlLvg6nQvJvDec/z4cc6cOXPRfjfu+8xqAQR5vcDoFFRz8WoVqMvehcTncDBAa0On2wuNVgixFkZVDUpjxBFpoahqIqWnvRSeUDXQQtCWqB0eoRPDcLBGK4pptVKcD3NaR5XDOsd82yAEw6ONYTaNWBhG5JVjNnKs5QXeOuZSTVEq9ndiymaqWu082nuWV4fM9VqgDD0TNDb2tyPKZibLe/ZmLOWW5bFlJtOMK8ewKOmmEfs6YbL8oLSsDCs6kaIda+bbMTPOM8xDh+2euT6IIrcebI1yNb7KWbWGNDGkccKohl4S6tR5o2VaNwbU+jB1zrvwmTvnibVnKAqjBSUe51XoHpamSdCDKPVWgCKhJO4cKOPRqjEj1jN2ESppNYpqb10HG9vg19bWWFhY4PDhw8DmXshOlVx3sgx8s+O6GI29e/dexAC9GqMRuBSe559/Hu89jz766KZf8MTTKOow7GfSqepdCElCibVpPlNgvWV5aUAr7RAlQR9TC9OZHrHWYX5r03TmvKJuJqmlkcZ5GzgX8WSWazi35ZVVoiRFm5jKhe7W2nlmUo2IobDhfExTtXlzUNOOFXsbLsb+LCxykFcoV3B6IQ/iNioiVsIgL+i02oyc0IsU50YVe1sRgzKoemUmhArzrVDWHDfzWIVAChvkNf1WxJ5WKO8OS8ubg5J2rInE4quCuV6P2vsw7sBoaqcpasNMq4XzQdHclgMEx8AlZJEhNgbbvKesGwUvF0qwtkmIrg3GJLqx3s5jdAg/rIeoKXvraVJUpl5Ko+lMmEPnUdZTe4hVzPkxzESwmRMhIvR6PXq93lSMZ2FhgRMnTkyrHPPz89R1vSOexmg0+qLQ0oAbWHK9FJX8UtBaMxqNePbZZzlw4AC33377JS35xCCdXS3DE8qB9uBE0H7y1JpohDpGRUG/10WUCf0meCIRKix4HYb/eBXeTyA8lVYwGvI6GD4lUFjbdLrVrAxz4qxDGmkalf/AmDQ6VBlcYIkYLawWYaTiwV6IpYumjBv0LirmM8Mba565fhjK7KuKcVGjRWGrGmM0a0VNP9UcXy64pT/pmg0jFgeNQHA/NdQuTISbeBkreY0SSzcx9DNNP9WsjnKK0tLvdpuxjI7F3NLSYaardcK4cvRTQ9o3WJcieFxdMSwqTD7CaEMVx3SS4PVkTb4n0bAyGGNwtLszJFpw3uEEYvGNDVGI8zhxgQqPIE3GumlEnirBiw6iSDWKysKyBDJDegUp0CiKOHDgAAcOHLjACzl37hyrq6vs27eP+fn5i6bAbxVfLAI8cAONxtUQtj7/+c9z//33X7HdWClFUdUUpQMfOBjWu6mbKz40peWjEWVV0cky0jimbLyJqnZopYgijXch448OlZGVtTWiKCZLIhBFpBTWNze6EqqqZDQu2Ntvk0QGPJTWMq6DgI+IYMQHYV0bfjpNTmFYWYra0Wm8BiXh5l4rHbf2E2oHbV1hvafV76EF8qKkKktwltIZbu0GPsgtvZhR5VgY1cxlhtXCslJY5ltBMLh2IbdwoBtTO8+wDA13vizQePbOtHEhU0wv0XRijXUhMdlNDB4f6PWNRzEoHe04oZ2lVDYkU8uyZnVtiBaHjVPaqWZ5rSSLIM46DVs0zILVKrBETeNl4MNAKucC4U4T3P0QYoLXgeYPQSTJhWGyOAtrQA1kCrYSaaz3QkajEYcOHSLP8+kU+F6vx/z8PLOzs1sWJt41GteIa1XvOnnyJKPRiIcffviyYxbX73tQhEI3TSiimn87keBKDwZY5+i2WpR1SFiJSDMeMVyckQgFHu8cRmCu1wmt4VXF4toQ8Z4kMsRRRCsyDIdDXGWZn+0hBK7CuHLEOkxdC2McIS+DsnikhW6sKKzn/LAKU+ITzVrhmMsMsQnlyj1ZGBNQ5SMA2t0uipBATNKUNMuorUN7y7CoUHbMaqFJooh97ZjChlEDzgvnhhWphpksQiuwLgya7qfC2nCIKEW7nU29o0FlkcrTjgyxEcaVJ7eOdqxCvqd2YexBarAu7C+NhNIaep04SCV6h68rVtdGaF9TmYzE1tQ6tOt7G3JAkfJ4CazRyAjSMHZVkO8JxkLC/52lGS4dEq1OwoKdC3/PbTAcbQlJ1q3CWkuSJMzMzEy9kNXVVRYWFjh+/DhKqWku5HJeyBeLahfc4PDkSkZjwuuoquqyGe+N8CgqHxSvp42rKjyRrLWsrK6io5hOu01RlCBBw5NmWppRoc/CNOXOorJEWhMpTzcz5EaRJgkez7CoGBQF5doQL5osTfGEcQbOwUwauj+dnzzNg1BOW4Uy40JD255rhVFC1sOezFA6T1kHpfHFUY0rx9QYVBQUwVYKSy/VLI1runEYYlR7YabdYmEUMZcq8qJmaXVIrCw+SoijiNv7MXntWRgFndJeqlHiWVkZEMcxJg6CPSLQMhJa3a2nsA7jFZ04ENqs9aSxCvkbz7S0Oq7Dx9iKQg9KpkO4sVZU9FopJolR3lKUNW48ZKwNaRSRpjFOGaKmvdg1nA5xvpEFDHmNSffxpKXeWoe3Qe9kwrfxjeGwAkMg9kKmPVsJMjYmQtcLE999992UZcnCwgLHjh2b9pZMeCHr6QNXq6XxsY99jJdffvkIm2hpiMhfAv4cwR6eA/6s9/7Ytg5yHXBDw5OyLC/5elmWfOELX2Dv3r3cf//9PPfcc1v2TMbEeApU89TCB20Mb2vWVlfptNroOKJuBH9VczVpFYhbkQqT0ZVSRHgwmtJ5tA9p/dQ0GhnWY1LDympOt9VCa6GuSsaDMVoUWZqgiRgUNdYHFat2ElioK3lNbj3tSE1vMAiNXyuFDZPlI82ZtRJT5+g4IY0MmQnViVt6cRjJ2E2aJ39Q3aqd52A35uywpp8mREkUKifaU5Ulg9GY1Cj2pjFOKVbGNVVZMNOKaWfB4JW1Y1R5XBnGFqRGkTW5GO8h0wpMMIy6maOS26DE3ok11ntq62iZEOqNh6tkWZskMeiGF5LFMdYHvY26qhmNhuA8SRKTJQmRCWXx0AukgmyBOESCXKBq/BCPpyoLkjTG+grxgvKK2glxU7qtfBA1TpW/4gV+pZJrHMcX6Wis90Lm5+eZmZnZ9qCkiZbGb/3Wb3HPPfe8j821ND4PPOq9H4nI/wv434D/x5YPcp1wU4Qnq6urPPPMMxeMKdhqOOOcI68agRfn8Tic85RVzdpgQLfTw8Qa54Nb7pqeB4FApPI0YjSasq6JtSImlAWLRohGSygb4iyDtVW6nTZxFFzxMjIkWZilkpc14/EY8Z5uoohVzLgSxnVFJLC/HVz60vng1XjH2WFFywjt1ITZqW5M2u0QR4HfUXtPPzWU1tNrEpvtSOMI5UzddJfe1g85jVSFfMTC2BLFhj1dzaioGBY1yo3RriaJMwqvKUYV3UTTijTtOBjFYWmxLsgTaiXkjVhxaL4Tito35eUgOlRbS2oUuQ9zX/LRKnGrQyeJApEOQXSQI4iaJ3piDLRC2dxXNXlVMhwURFFEFidIAkprlATKv5qwRL2wtrJMt9clMWnzLQYlaI9QexCnpkOaCqeolSfl4qa39dfPVqsnG72QiZrXxz/+cX74h3+YPXv28Iu/+It89Vd/9RV7UCZaGnfffTfe+1JEJloaU6Phvf+v697yaeBPbmmh1xlveyL0jTfe4NixYzz00EMXWOqtGo3lsUVUEw0rAScUZU6eF8zNBr7BZKZJeLYHfoCIx2ihqMJfjXi80dSNRmakg2BP5aCyQWFsOM5JO320Di586TxRkxOx1tNNE+Y7oZy6Oq44PyjBO9oRJFGoXpQ2dIWOKk/l4EA7xnlHXlZIMaTd7ZJE4Slf1I4kUizllplUszCqmc8My0WglQcD5GhHmlFlw2AkD9Z7DnYiCusChyKNKZWwMva0sxax8tR1HjQ+bMyKKPpZRCtSpE251vvAAk0MOB+SonEzFMo6oa4dSSSUvqGNK8/qYEjW6tBK48ZIhM9F+0aomUCug0CuU4AkMZlE+HYHby11VbA2qBDvSJIotMvHEc56BmuL9Dpd4ih5S8qgmRirmgFXeEJ1xjUVGIRCKQyWzXKk19IxO1Hz+pZv+RaqquL555+fqpp/9KMfvex7t6KlsQHfAfzaVS10h/G2lVwnYxZHoxGPPfbYRfTyrRgN7z2rYzt1XJWH1cEazsNMrw8q9DhMsvChMQwmT62JK+xwaBQaHyat1TZMBdPhYq+LMXVZMddto3WgSCvdTC8j9F6YJEw5q5wnr0LH7MHZOAgR5wVrpcXWObHAwCaksaGfhUlrZVliizGkXXQzKyWvHf1Esziq2NsOJdV9bcPiyDKXKZbyQKjKK8fiqKKfas4NSvqpJjVhuHQaKTJjGBUVZTHmQL9D7RWDsiZLW/Qiha1r8rJqmtgUncjQyiIcYahTrCA2CmOEURUMaqqhUsEzaRlFaS1Lg3EgnUmQY451YJtmDdlLSyBv4Zsne1MC1+IbUSMPxhDHBi2BY2OrmlE+YrhaAdBptzAmnuY5ICRKJ76jJjQeindBzxUPNiRrvahQ0mXnGtTWI89zPvCBD/Dn//yf3/F9i8ifBB4FvnLHd34VeFvCk6qqePrpp5mZmeGhhx665PZX6nRdGdtGhSs0pi2vLGPShCzNpl2QSgTrLKJV4EqICs1qzk0JRdaFvodYhAoPWuMF8tJSFmOc88z0e2gEh2ueYIGBOa5CWl8JDSfC0080ooLs3rh2eKXZ042pXYq1FltWlKM11kYR4NHOUSdtZtPgYcQC/TQmry2HegmFDXmL3DoOdMPk9sACdWRZCHkKG/IeK3lQEO8kiuXcItaibc78TA/vIVaKdhy0PtfKmsRoup2YWSVUdU1RVgzWBmgBHUXUPsJ5Tyc2tJsuX4/QjkOyNy8rinzEbKcLBA2NumGnZkawhDkx1kujpyFv5aoFQGGEaZ+JJhgUo0N/SxJHrNll2u0WWMfK6iJahDjNyOKIKEpAhX1Nu1h8+I6VgFcTrodvSsoaW1WhUW4HjcdwOGT//q1PjNuClgYAIvLVwF8HvtJ7X1zrOncCNzw8WVtb45lnnuGee+657IeslLoiGWxQuOAJOEtdVXS7M+goNEX5poIRbIBGmr4TJzTyftL0SCict8GzbRS7tIKitlT5GGUi0ixGJPShQPBWytrhPMQmaIXiQ9+J9yHHUFo3rYYoCUK+WoQ0iRiKxklEUuehPGk0aTWiIA4l3YZD0o414yrcfMPK0YrC/yfhTWpUk6vx9IymtI751lvDj9pSk3tHrltkjV7HpJEvi1RQ6LJQufBkjkyYEl+5DKwFb6nLMdZ5hjYiSyLacQg9itqCDUY1a3fJYg0SjEqsQyLSAbEKZdHYBIZs1PT+6KbDNdDMhUgcHj2llHsPrnYMBqv0+zPEOnQYK4LOaVXnDIZDnFslTRKSNCaJUowEj882+9C+aYybGBbxKJcg3jEeD/DeU5ZluEZErtqQbHck40RL47XXXuPuu++O2aClASAiHwR+Cvg67/3Zq1rYdcB1MxrrJ7RDCE/G4zHPPPMMDz744BU/YK01VVVd8vW1vMY6T16UjAYDTKRJ0xjr3Fvehw3EoboJN1xjOLSC4WCAUpo0iYgiQ91UA7R4nLOM10LVJZQkg7p4amQ62Sw1EiQBgdpbrAst385DZQNXI8uCsXAEJqh3juXcooDUjlBxTJokYbBz6XC2Ii+DmleqHUvE7Mk050aOmdRwdlgxn2lODyr2twznRhWzqaF04GtLLzGMqtB+LuUYaz3zvTZKBWOzlIf5sbFuuk998AJiraZNHFpAiadCU1ghbhm6WlHVNcPSMhivkoRYg9rB3n4PUSHRrHzIe1jfyATgsR5iHSbdxyrcwKZpBgpUizClzU3+78EIWFszHA6Z6c0QR5ppykKCQHJkWpC1EcC6kjovGA2GREqRZhlJlqB8INspgp5KeFAovAaxsDrIec99913g1U5o5ZOfrWK7ql0TLY2v/dqvBXiBzbU0/gHQAf5D440f997/4S0f5DpBNpNTW4fLvng5lGU5NRqTgUXHjx/nK7/yK7fEvzhz5gzD4ZB77rln09dPLZUsrw2oqpJOZ4bl5UX6s3PgQxlShOmcVutcM1XdBcOgGk2IvKa2BVVZIlqjTRJGDoxHtLI2UaTDnFcXsvNIaKWfBE1FbalcMEJKJjKCIYcyEahxPngYuXVhJqx4xoM1TNIiSSIEWM5t02YfwoxerFnNa4wvySvbdJTGZHGMbwhpRR1Us1YL24wRCPqfs5nm3FqBFtjTTbGEqlJsQmv7sLRYINNCbCbyh031wQVRnMSEZLHzoXoDQWgHH7Yp8zF1FUrcXimSKCJNIqyoMFhJNa3xOhhR8aGsbQmeRuBkBLFp3Xh8pmkENAqq0jIarTLTm8EYg25U1xAVWvCbxKrSgXIehHyCElvpKihLiiJ4cWma0koTTJIgzRBrsZbl5SW63R5ZljRkQIt3Dmtt+L7X3ReTjtrLGZHv/d7v5bu+67v4Pb/n91zx2t4E76hOt+sentR1zeHDh2m322RZtmXC1uUSoYO8Yml5GUTT781MZeOEoMg1KdGFvDrNDeya6oqHppSXpRG11XRabay1DIZDyqpCRXHIgzjBO2m0MjyVdRgdYvLSOhBFK3rLYDgfyn6TtUxc76J5yipxLK0OiLN2mO3qPaPaM5vp0DTnPb00zBzZ04mpXERPhLyqwVaMxkOUt5QmoZPG1N4zm4UybEsHMd+ltSEziUHFCUu5pZsEotSgqMkiTT81gcBWB+nCSIL4sRIh8kLVdMEqPFmkSXS4ua0NVHhXjENFqNsn0uGGHRU1eZ7j6hoXx8QmJk0NzkGkJIy3bKox1gXG5oTMBZN8RPA0yrJmPFihPzOP0QrlgyAPTO6sSajR5Eb89IVwPCJ0FpNlHUQ5bFUyGufUa2tEJgxyGo+G9Gf6xFkg7IVvyyDKEjWGYWI4JkYE3uJ0bGZAdmnkOwARYTAY8PTTT3PXXXdx8OBBFhYWtvz+SxmNPM85cuwsabdPFqfThiaaer4nuNd4wSka1mdIgHoJSl34MGFNi8frpkO2zFEC83OzeGCclxTjcWixNzHamIbkFY7RilRzsQUDYn24kANHoOmaDXaFtlbUVcXisMBkbTpNwlNN2aDNXBIJre6xEQZFyIeMKotRmhpoteNguPAsjUsiV7GiY3qxRrRmOBww00pRJgkDnCJDUYdkcC8zDAtHXte04zAwyXmoasuwckQipJGiHStaTRl10pwXm8CHXxsVKITZbhvbeCaRFvrtBHyC8w5qR15XrKyMiJRQJVkzoqAJUbTgfTNA2k08jJCQLoqafDSgPztP1IgkiQqfJZMKWPN9T2xFIyTfXHNMe1WUAnzQL0mSNHiJZc7S6gqRNgzWhlR5SdZOiaMYxIcqXJPzmhiFCVvUrfNCJv9e//pwONyWPug7GdfNaJw9e5aXXnpp07kmW8FmRmN5eZkXXznKvjveizFRM0ZxMos1TBJrGMXhCvL+raRb03LteKtMpxW42jMc56EHo9NCh6uNTiulKym1dRRlSVnmDEYVxhjiOIEoVDEcEhqwpAnFJHg2IopYB/d7dVQwqiy9dkqrYXLGOgj5jOuJ7odnubD0EsVqXoch0za485EKLnJI0gblsTiOKGxCRzxLuUWNVhETM6iEWRMo5vig2+l9yC30U43zwqCsyevA72jFmoyg+zEsLUaFeSiZEVpxqJwA5MMhmVZkrTbgSVVQJXcu3FCRVnirwAgzSYSjRV3X+LpmOCpRPihkiUlIm2HZRoW8hxGhKEryfESvPxMMBgo9EUK5sNzCROfATysxb/190kkwuRaUp5GVtqwORszOzBGnCXhHnRcMhkNstUqcRCRJyDEZ1TA6/FuJ+PU5jonhWG88jh07tmUv+p2O62Y0iqK45FyTreAiCb+GBHbn/R/EErpRtQRNBtbFn74ZeGSdR/ngytbNhaMILnFpm1Zr5xmsrZJmKdokTSUm/F3rIJnnBNIkQemIKAXvHEVdUhUVAqSRIdJBYq90NE1wwVDV1rE8KnHOsr8fxDIqF3pd8LCS1yQmGJjKeva0gubGbBpmlARGZQh7plUIHcIaATJjKKuKzI1Jel1ipciLiqVRQeQrxCSMSks/NcRKUXuP0TCXGWoPw7Imr8Nsk1asaMWh8jOu7JQGb4QwesHEZEk8rX7kdRi8FCkJ2iG1IzE68CFcIM6JiRBj6BpNVTtcXVGVY/IcIg1xkpJEhqKsyPMx/f5MEO/xEz5N8EAmSdPGgWw0RZm6G17e8kAmBqNxPkO1DMvqwhIz/T5RHE9lEuJ2RkIWmgGrijwvGA1HIcflLf1+b9OQY6MB+amf+imyLGNmZuaqrvV3Gq6b0bj99ts3DS+2Kok2EdaZJFEHgwEPPfwYiyM/fdJMLpxJx+pk0JH3b/mv0tx4NK6uapiKeeEYjVfpdTqYKBCS6iBXHghezk6HIFUN1dgooa6FyGRBwq6uGRUlK4NR0M+IQslSKU1hPeNxQYyn22uHMqj1RCokF0vrmUlNcJudp50Fg9GKggERNcmdhApHYZvJZY3R8UDZcCRa7W7wCvAYrekrKKqgjF5WFasjiwCdxKBj0+QVhLksonae3HqKOjBKYyUkzWClynrWBkPSKCJOEyrrcbUj1UKqgwG0PpDcnA/noZsYorSQqBAGVrUL2iI6JkmSkLuoLLYqWBuN8N6StdpNjytNM2GT6/ATYeIm5GDyvU4KPk1j28RQqHXXloDDsra4xEyvh45jJlRAhawzOoKJY3pxBDiqPOf8+fO88sor5HnO7Owse/bsYXZ29oJchveen/7pn+a3f/u3+dSnPrVl4ex3Oq5b9aSu64uMxmc+8xkeeeSRLYkLTxrYjDF0Oh3uvfdelsaOcemnmW3rQuLTu6AfOjs3i63DjT8p0Yn4phwach2OkK8Y52PSrB1q/0oaHYdwM9aNzoZv3juxcW7dZ1W7EPOLhKex4MmLgnFZNSQiS6I1rXabYRlu2qxR7/ZNSbKyYX+6KYmmWsJTnqCCPigd3UQYFKGXZaWw9GPNammJvGVcW+IoJo2CQvkkKYoPT/2Q/w1l5ryqGRYVYquQYDQxRitSY8L5e09hQ/dqqkMeYTBYI0nbxJGZhkUOpupjoawejEUYOBVYoImaEPxUYN02XayRnuizhjWNipK6GNNp97C2pCwrcI4kTojjOIyGIOQ8VONCTD2KpnUAmM6wCWpfjQKYgKVmdXmZmV4PE8VBt6NhoYaHTKhmKfGbUswhJD+Xl5c5d+4cy8vLZFk2lQv81Kc+xS/8wi/wK7/yK2RZdsVr+jLYrZ5c8mANlXwrRqMoiukQpFtuuSWU+qrwtJkQRVWTq6iaJ01dW5TSwVD4SWJM0MrjG5GtfDymLEp63W7If0gY+jOhl4tIo9wVvslJoq62Dt88mirrGxXyoPLlgbp26DihFycM11YxkaF0wuJgTCyeJIlwXjeCusFISFMxWMkt3ViaRGHQrSibcKV0nrlWOObeVkTpPBkVhbXsbRKSeNjTMgwrSysyVLVnKa/ppwaUoqhrstjQTiIqG/RKbVWFPEKhiLSiFUe0owhP6FRdGw5pZx3ixjPJbUiWGhPKlpUNHalxmGVJWXsyA2lwNVBNzqiygugwnrF2BA0NhOG4wNUFve4MWkFkMtpZK8gZ1CVVWZCPBkQmIk4i4iht+ByNM0jwHJn2tRD6URoHwvqa1ZVl+r0+JorCiz4YCUPglJgtCPZorZmfn2d+fh7v/VRN7mMf+xgnT57kO7/zOzl69CgPPPDAdm6FdzSua/VkI7bahDZRHU/TlFtuuQWA1dFEtqnJWUzyEj50pLbaLUajIbW1JHFMFCeI6LcuLOUZjsY465iZ6QPhAgwVgNDU5ghxcJhr2lDDfXiyai2IF+qGf6AbN7W0NihaKUVMaMVvZT0qBe2mIlGWNeOqxI7zQDDSSQgFtFB5mMtCglKrQESqfajO5NaR6lBRSbQiry22GFN5Ya7XoXZCJOGp63wYPF3bCdszNLElRhEbzWruyCIJFSCtsMbQAvCevKgYlSV2PA6fRVXR63TRJgxuMhoiF8KRug7hUqLVtDU/1mo64kCJRymPtaH8nJi32Jlh5gkU+RhvLd1On8hIw18JMadWHpMkJEngT9jaUtYFxXgpJJeTiDROUdq8FYJuuH6sDx5Gr98jiiK0QKQ9sVoX4lwFRIR2u82pU6eYnZ3l137t1/j0pz/NqVOnvqiMxnULT6y1F9HAn3nmGe64447LVlNOnjzJyZMneeihh3jqqaf40Ic+RG0dC6Og/emb5z0+UIKDDQrLDN3rjrIqKMuKyloio4mimPG4QEcRcRw3Nf4JSUsaFmngA1jXsD4kzPAIrnjgaXjeIiMFYldgemqBuqoYDIfEWRetFZEKyl2ldcFlbyasl9aDLSjKEhFNEulQ0tVhwPSoDroUK7mlk4Sp7q24YYzWBbUYZlLDShH4HWuFpdU0ztXOkUV6OmrSaJmqrCuBvHbkzaiBRIfqR+jPCRWjoqwZjUdorfG2QmuDiYPWRawD0W3y2U/Ln0xCvyYkCDz9kLgl0L4n7/POU0zUyJrQcJL09D54XU1pK3gSTQgRPAjB1p7KFlRFgXcQRYo4zUgnoQeCcxVrq2v0ep0wHtNcm6HYiP/0n/4T//Sf/lN+9Vd/dScTn7vhySUPdhn1LuccL7300rTqsl5NaVg2ia4m3JgaulBLC15NIyhstELrjCRJsRbKcsza6ioiCtV4OkobfBMfuybm1yisd2g9KSWGp7xvqiwTynO48UPFI4tCqDEajxkXFa1uj6hJmFrvGZWBUNaOwlNXa6EXCbXTxEmGEVjJK1xR4e0AiTLasaZ0BBKW9/QafU6qcaN4leA87GkJpQ15jFEVJpyJKFbyMPms9FBWjpbRBJWRtwSAxlUzk1ZJEMkB6spSjofMdLsorQPN3NowxnFUMlYaozWt2BA1A5Ssc5jmfCsXqNqT8CPQx0NyqXLBiAzzEYii124Fg+1DOXkyB8U3ocakkNrIgKJpvBGtMCYjS7PGIyypipzl0TCIAyUxw8Eae+c67Old+wCkjfj1X/91/vE//sc7bTDecbihRmMyMGkjJl2vs7Oz3HfffReENpObFB+e6I5QSnW4de3tzdg/YeKHAILzVZP9nkFrQ1mFAUX5OEeJx8QxcRSHi1QaYRzXNDWpkPRzlukQ6NqFcCjVIZTwwMpwhLPQ73WnWhF5Zachhm5iedPE26GcCVkUFL67aRyo0y7F1yV5UWCrijoypFGCGM1gMKDVuOzOT6jYgbxVO0cn1g1dW0iyMMQpawYUrRaWdhxYrUVtibSabl87H8KyuqbIx/R6/SD4O+lD0Zpuu4VqvLG8rBgVFX40JDYGYxLqxstIVGiBD3kamdL4NYGCPhiOMaJot1vNd9V8xk2eYSI5OCHM6cZTEd7yZKbcqyZETXRCEqXhu6lyTrz2MlRjBuc1a3v2sGfPnqtWF9+IT3ziE/zIj/wIH//4x5mbm7vm/b2T8bbnNIbDIU8//fQlu16H63rWJmQicNNMfhivOAkpaK4qKMuCIi+Y6fXDEB6BOI4wxuDToLRVVRXD4TAQjKIIrWJU02NhG2KYaiQBrfMkqnG1PZS1ZZgXaBF63aypHIRQRIsii4SJgnfoqmCqR9Eyitp62rFBxFM7ITWQ+5heJ6Vyjrp25GWBLWsUUKAx1lE4IdZhLEHlwuiDURmEf8MnGyT7ahvGB6QtQ1GHbuDUGPLaUVlHZjSZFsZFSVEUdLrdELaJNFPoAgemaoZkJ0rTbYXpeM5l1HVNXRaUVYWNYpI4JonN/7+9M4+Toj7z//tbXVXdPffBzMhhAAENh4AcMWaNRwxohDBgRGLCSqLRxCOBmEj8xegGk/XYmGx2zSYe0ai7qyYOEAOOqOtK3MREBRUEBLmRa06Yo6+6vr8/vlU1MzADMzDD5Xxer4Hp7uru6p6qTz3f5/k8n0ctUaSSxOt+dSXZnMSMCGLxbNVN65O8EL45kh9xeLIlwghUnQGBSC9wTRGhQlRKXzHqWWz9cDUjRgwnLy8v9PXcunWranorKKCkpITCwsIjGoz0+uuvs2DBAl544QX69Olz+Cec4jjmkUZr0qitrT2kajRimFh2QEDK3h5aDjRNC6aWtCh7BIJEMoHjOmRn56rSnJBhNSTil1cNPUIkEiEWi+F6HpZlY1lJXE+iG6ZSfvo2dQgVGoMiBtuTZNIpYpEI8aw4rk8WQmhkGWr/AgIJHMBcD3L8k8pxpT+ESZK0JFk6JDKef58qIZuaIIOgMB7FklFwMyTTEuE62GacmKmWWJ4nyTI1mjMe2aYg44At1LLElmoqWZaf55Co8QmOp8ZECukg7QzF+bnqfQmIWS3ZdKGSC47nYXmBxkXleDRDEXC28PNIjk1DwiEiXaKmDnoMPSJIJhoxTZNoNOZHZ4qUjUigyfO7W72WyoeUSoTnoUq/wbJF+pGH1EBIFalEZZoP1r7HyJEjw2Oota+n53lhyXTTpk3EYjH6+FFIZ3QVf/3rX/nhD3/I0qVLu+SXcSqjxxKhnucd1Nq+c+dOXNflE5/4RDhmcezYsR3Od12/5SNKSvu3SUriH0Se51+JpDoZgoRoU1MDmibIylYnQkuGXYYfSEUrLcnTQHDmSUVMtp3Bylg4rotu6Ji+ItRy1AsmE81kxWOYphJHqYSf9PdHkLTUlLeoroWNbJq/dEraSujk+VFI3BA4Lr4U3k/mOhZNyTT5uTmEnZ9+n0fGUU1YGctGug6GGcUwDLUvrufnFwjt+dK+FiSutxgH6UIN0rZdiR7NQteU34XmfwdS0lJy9kkPP69gu4EdoopGHF8FG4wNUDYbFk4mjet6GKYyMNZ1ZT9gaBDxq1VBArSlVOp3rMogwvB7iVqVVoP41YgIYqR4f/UqRo0a1em+j0QiQW1tLbW1tbiuS3FxMX369CEvL++g6Pitt95i3rx5LFmy5EBrvu7GSZUI7THSCMxNWmPPnj0kk0lSqRRSSkaOHNlhu7HrwY699eTm5flScb/ESlBuJSQEZXDr0dS4n2g0RjweDxWK4XqYIN+hlg3B2ji8r7UU3ScST0LGtrDsoNNR4lgWOTlqmrrni4wE6ih3PKmk2pq6ejqeH6ojQ0NhZdQTlCAFjp8HCPpDPDtDwnLJz46TdmU4eS2qK5PfLEMjaau2+LTjqcjDsbFtG1PXiRhqmRB05mr+fliOIhEhIJHKgHTIz8kBX4Pi+ssBQ/MTkX4U43OOOtl9lWoQDQQ5HCCc2ypQxNOUSIT7Ydsenm1hGBpGNIapG+EyT4gW7Y0mWoghENoFS5KAVBEqRxL1krz//uouEcaBCAZG19TU0NTURF5eHiUlJcRiMTZt2sTNN9/M888/z6BBg47o9buAk4o0junyRErJzp07GThwIAMHDjxkgiplt+gPNBEJIwxVPgyqGb6Qx3NpbmoiOztb2b8J6UuL1TpYSZClakQQSkIckETgBBVIkh2vVSIVSUQ3yTXAsS2am5sxTYNkKk0kEsEwDAxdScFdqbQaao6HxHKUwa8ZUWVILSLIMXwiQ00Cyzj+8GMkaUci3AyWK8jPjuNKJZSSEmK6OoljuvoOswyB7UjihiDhGeRkm2QcqWaCeBaNSY+IdIiZBugmRkRgRjVs1yOdTKJrGkY0m5QliemBYY7at0ABq4sWDw7XJ1/XaSFEKXwndylVBcbXYHieJNHcQDyeRUSPYghJVlTgyjie62JbaZpSKSJ6BF3XiZpR8IdBS1oEeZKW6ANa8hxxQ2C4R08YcPDA6IaGBrZt28bXvvY1GhoauPHGG7sliXqq4ZiRRlNTE5s2bSI3N/ewzG27KuyNRmM0NTSiRTTMaBTDiKoQViO8SqmSYJLcvBwimsoZKCdqlXz0hJq85riKbILBOgiB56oYXDW4+Se+f6lzXRXGa5oglU6RTmfIyy/yE6USx3HJ2Gmam1KIiIZumERNAykh46irbrauGsCCEN/x1JLE0FDmw5qKNiwXNDuBi6AgJwukmvYGgdtDy8kTREW6qa7o+TH1utmmwPV0EDq5/jLIcRysZAIvYqjSppXBME3i8VgoAU87EttWTmRGRMOAMAmsLAr90imqcuW4KgoMjIc8BJatlk4CSCSaicZziZk6mlDeoPjLF6np6HqOisJcF9txaG5uRKCa11TfjhHqNBBt+0pi3UgYB0IIQUFBAaZpEovF+PWvf82HH37IH//4R+bOndtt73MqoMeWJ6Ck4KDa5Ddt2sTgwYOpq6tj1KhRHb+hlDRbag0fiIgc1/Elz5aqghgmZtQkk7HIZCyycpSLtwyUR0CQtlBVAPU6PkcALVdUQeBW7YfCviw08OZQSVWPrOyccEkjCHIrgBC4rotlZbAsB6lpGBGhCEToam0uVE+GBKIRpTIV/v2OB4lEE2gRsrOywmVRRKjmNDOiRiPGDbU8MXU1UkEPiM9TCdTAKQuE7/4t/BIoSM+jMZkGBMKz0Y0okYhO1NT82S/CLycr1WYwg9b198Xz/Pv9UqqUwbyYgMrUqIJUsplYTOV6oKU6AopolB2JykcJoW4HalHHyeDYjhpwbUQwYzFivqxdoPxXTX9JcvbZZ/fICMQNGzYwZ84cnnnmmWOt8DypwpkeJY10Os3WrVupq6tjzJgxWJbF5s2bGTNmTPtvJiUZW5L2VIAqpco/uFIgwiY1l0w6TTKVQiKIx+KYUQM9oqPRMqIgaFpSTauyrRWDaFmeeFIRjCdVMlXlJVQOoG5fI1rEIJ4Va/Fp8BvkpFQHvLoi+tUZIUB6ZKwMliPVyD8BuhlF9/tUHFeGYrSMI8kkmxBGFFNXeo2MK4n5M1TjphpOFPV7UVQiVOVFMj5JOD4Z6ULNks0yVaSljIJVp3BTYxOxeBTTjKrmPdcmY9u4vl4iquvEoiaeny/CX55oWotOwvUdxnVNhJFTaBYvPRobG8jJySGiG/48EuEvbVQyFSkCsWdLjkkSqkKhpbRquxZOJoPjqdJ61NTJ1W02rF/fY4SxefNmZs+ezVNPPdXh8dmDOKlIoxsFtm0hpeT9998nnU4zfvx4NTf0EIpQ6Yf8QfOZaCX20YXybjAjqpdhf+0eNDvJgKJsRLqeXRvfZ+PqN6nbvRmsJnJMyDIFcUMQNVTYHdHUT2u7Nk3T0CPKaDema2RHNfLjEfIMj90bV5EnmhneP4e+eREKswRZphaWTz2plhlaxM+d+PkTpECLxMiJxynIzcIwDVzLorlxP02JFLbjgidJW2Alm4lGY2RHo8RNtU/ZpnLFzolG0ITwJeKCuKEax7NNZWaYbaj/o4ZGVFcnck5Uw3WFkrALpd9obmoinp2NFomqE1DXiJkm+dnZFOdmETNj2FKjobGZZFMj0lFT5INqibLlU3mVuBFBILBtwoqP9DyakkmysvMwTNPXeKiKEASdrYotAvtFUKQTLAuFfztYekZNk6zsXAoKCsjJziK9bw/vvvMOQghqampobm7mMBe7LmH79u3Mnj2bxx9//IgI49prr6W0tLRNBP3jH/+Y/v37M3bsWMaOHUtlZWW7z122bBlCiA1CiE1CiNuP+EMcQ/RopLF37942U99t2+a9995j4sSJbd9ESuXyJMETqoCvBVelVrSWTqdZvXo1p59+On379m3zGo7jUFtbS3V1NYlEgqKiIsrKysjPz+9SMiuVSrF69WoGDx5MaWlpu9tYjkfCUhqLjBssJ/yqiwj6JvwliVRLCdsFz1MjAWzXw3VtYtEY8XiWckz38wSOiz/dHf8M82s9fhLH80VTtisxddVdaupBktg3Unaluvo3NZGV5Xequqr1PaorDYTrJ381Xxxhe0pv4boWbiaDFGCYJlEjiohoCL+6ovlVDTUx3iOdUAloXVfGPiraU993ULkKkpgEj7W6HSQ7hVQEHKjzgotG1EvywdrVjB49GsMwqK2tpaamhmQySVFRESUlJRQUFBzx6IGdO3dy1VVX8fDDD3PuuYcacNYxXn/9dXJycrjmmmtYs2YNoEgjJyeH73//+x0+z3VdzjzzTLZs2TIENWHtbeDqA+a5nnDo0URoUVFRmytCezLywHcx8ESIdMBTDQ0NrFu3juHDh7er+9d1ndNOO43TTjsN13Wpr69n165dfPDBB+Tn51NaWkpRUdEhD67GxkbWrl3LiBEjyM/P73A7U9cwdSjMUqMNmnwCsT0ZlggztvRnxKrw2zRAQyejxXGam8nNycXxBE1NjWhGDD0Crmb4Syd/JotoMeGxPDVDxPLUyaX7qlUzIkjbkpiuttU8iYZHIpUmNzcHU9fVMkAXGLoiJfycieP5+QpdRRIyouHJGMTiSM/DcSzS6QSer7fQDWWFF9FBkw6J5iZy8vKIaBE0Aaav0vV8AgxsBcB3KwuI1QsuBq3Krr7YSxNB2RYML8UH6xRhBA5a/fr1o1+/fnieR319fWgrmZ2dTUlJCX369Om07d6ePXuYNWsWDz744BETBsAFF1zAtm3buvy8YJ7r5s2btwC0N8/1RESPksaBs08037Ye/ASl77MYuG51hKqqKrZt28bYsWM7ZXYSiUQoKSmhpKQkVARWV1ezceNGcnJyKC0tpU+fPm0kxTU1NWG+JSsrq9Of0dA1inQoyoKk5dGQ9kjZSiwV8Ssmwu+ZSFoudjpNTm4ukgg5UXBjJtLzVCI1ncBzXdW5aeoIESFuKPu8uKEEUXFDJS4jun+1lpBtqpMvy9RIWw7JVIKcLDWC0fXtD21HYujCn80KSEnMUBFHxgFdU+rVQPpNRCMSiRE1YwhNRYm2lSLjemi6gfRccnNzVcmZUDKDDgg9kIm3JQHhtUQTrqsei/hhmQiUvv5hoHkZPly3qg1htIamaaGyU0pJc3MzNTU1vPvuu2iaFhJIRw7he/fuZebMmfziF7/gs5/9bKf/3l3Br371K5566ikmTJjAz3/+8zZRNxzRPNcTAsdUpxGgs4QhpWTbtm3s27ePcePGHZFxq6ZpFBUVhVFPY2MjNTU1bN26lVgsRmlpKZZlUVtby7hx447Y0xQIfTZt16MhLWlMK7WojiRlOTjpNPm52f4IQuHPRAGha2hanOysuJrK7lok0zaem0Q3ourE9FQiVSVCVVk3qouwYUwTkLFsMslmv/FMw0RVZzTA0JXEXFVBlM5CStU+r0d8IZrX8lqq4qvWWhL83hID13Foam7CNKOqb8Wy0XVN6S0CQRltk50+BxGQRURTyVHpmx8LDYQUoRGwlDZb1r3bIWEcCCEEubm55ObmhtPca2pq+PDDD8lkMuEyJj8/H03TqKmp4aqrruK+++7j4osvPuK/96Fw4403cueddyKE4M477+R73/sejz/+eI+817HGcSGNYM7qoQjD8zw++OADNE1j7Nix3TJ3UwhBfn4++fn5DB06lObmZj744INwpF5VVVWoCDwaGBGNPtlQGFfkUduQxrUs8vPyfBGYCuFtTw0+Ttt+KdZVa34tEkU3QCOO5djYmRSOVAOHdNPEk4YqvfozRNIOCM/CsV3iOQVEIgLHUQKywPgmgopIAvGahir9Oq5v8us7kHmhjqVVSt9fQtiOQyqVoiC/IGyptx0Px3VJJlN4ro1pRjFME6FFFCH6L+R6Ku8TkgVqiRIoPwPRnes57NzwfpcjvtaIRqMMGDCAAQMGhEvVPXv28Oqrr/L000+za9cu7rrrLiZPnnzEf+PDoXWfyvXXX8/UqVMP2qaz81xPNPT48qQ1pFRT2tevX09ZWRkFBQXtkoZt26xevZqSkhJOP/30HlHleZ7Hli1byM/PZ8KECaTTaWpqalizZg1SSkpKSigtLT3iAxdU0rBu12YymQx9B32ShkyY21RiJV2t+bNMdVvzT86gMuNKyIqauIaJpkksSykq06mUqoTEokhhorlpMr7blufrSwzfjFiPqKpOQDBBUxwQLlVsFzw/BxG0/Ae5hkB2bzk26VSSvJw8NTsG/OqNMhKSMVONoHQt0qkEnucRjcbQDAMzoofNapKALALNS8txYrs21Ts2M2rk8KP63luj9VK1rKyMxx9/nOHDh/PAAw+wffv2QyYqjwZ79uwJk/WLFy9uV5sUzHMVQgxGkcVB81xPRPRo9aS1uXDrcXf79++nqqqKhoaGg5KUiUQiHBBdUlJyNG/fIQL/jrKysnYbkSzLoqamhurqaizLok+fPpSWlnbJm8HzPNatW4dpmgwbNozAi7QhJUk5gdjMrxKgtCFq3KLKLdiOuio7rvrfDl3Jg/89PCuN43h4nkMspsYwmIYISUkIwtyBEGA5QQXEf1yqaESVVxVLtK50gNrWymRIZ9Jk5+SF0ny/h40guxk0l0FLs5vtqJGXaiiShmkaGFED4c/AC1Spqhpj01BXw8Cygm4jjNZobGzkyiuvZO7cucycORNQx0F3zCq5+uqrWb58ObW1tZSVlbFgwQKWL1/Oe++9hxCCQYMG8fDDD9O3b192797NN77xjbAEW1lZyZQpUzaigsHHpZT/fNQ71MPocdJwHKfD/EVrAtm3bx+maZJMJhk9evQhqxdHg1QqFfp3dIaUDizlFhcXU1paeshSruM4vP/++xQWFrYrmc84ktqEp3IMmh8F+MsIIWQog/clbqGQPFgzBFfoZDqNdCyMWDauY6tln9CUrsWMqfb2SEuDn4pi/GUhLXkMMxJ0DLdakvhLCtuxsdKqEhMRfo+KksIGavwwOgqEW2GEIlsetx0b27Kx7YwfJcUwDJOIFsF2LVKJJKflR8nOOipX73bR3NzMzJkz+eY3v8lXvnJCXshPKnFXj5OGZVltZmB2hJ07d7Jjxw4KCwvZv38/2dnZYZWjM+7lnUFQtj1cSbUjBOvj6upqGhsbyc/Pp6ysrM08DMuyWLVqFQMGDDhIS3IgmjMeDRkZnqxBBSJw3HZ9/UfQ6+EHA0ippt4LIdS8ED9HomTpypLAsjKgRZQdn6Ek7crbo9WywH+e0lO0aEGkn3dJp5NYtk1WVp6aDSL8pUXwffjVm0B5KwPNBS3kIWnpgA2e6XpqmZXJWKG3Z04Uyoq6/0KRTCa56qqrmDNnDnPmzOn21+8m9JJGgG9/+9v069eP8vLyDrtapZRs2rSJZDLJqFGjlKmtX0KrqqqitrY2rHKUlJQccThZXV3Nli1bGDNmzNHOqABoU8rdt28fubm55Ofns3PnTs4880yKi4s79TquJ9mXUv02uiaxXYGuKTcvXQTLlpachOWBnWwiEo0T8wVVEV+k5fimP7JVOJKxLOxMBtdz0c0opqGjawaOb48Y2PgHh4FaNvklVjtDbna2Wkb4Sx2Jer+WPhTCHEmbFYv/+SLB31y0EFuwtLFdh0RjE1FTULdrG+l0mqKiosNGcp1FKpXi6quvZubMmVx//fVH9BrXXnstS5cupbS0NBRu3XbbbSxZsgTTNBkyZAi/+93v2tUODRo0iNzcXCIR1dG7YsWKjt6mlzQC7N69m0WLFrF48WKam5uZMmUK5eXlDB06VDVEuS5r1qwhKysrvK89NDc3U11dTW1tLbquU1paSmlpaafLox999BFVVVWMGTOmR+ZtSinZu3cvGzZswDCMMErqCsmlbI+GNGEjXRB1BLkHddJ5YXt+LBYPFZeOfzIGzWW6BpZfMQnUpZGIau+3LBsrk0E3DMxoFD1i+EOEWkRZ6VQC23VVhIHKtfi9cMpDFUI7vjDykMrTU8qg36eFUAK9RgABOK5NormZvPx8irM01RF7QCQX+FsUFxd32aYvk8nw1a9+lSlTpnDTTTcdMQG1p/Z8+eWX+dznPoeu6/zgBz8A4P777z/ouYMGDWLFihWdsQjsJY32UFNTw+LFi1m0aBF1dXVccMEF/N///R+PPvoow4YN6/TrJJNJqqurqampQdO08ORsr0wajHTMZDKHNPw5WtTX1/Phhx8yevRosrKy2pBcJBIJSa4jh7IAnpQ0pCVJ258675dDLVc1kDUnk2qcQDQW5hMCdaUbqCzbSYJK4Ucq/lXe9QDpYFkZbNtGEypJqZtRbNvF9Rxy4nHfzaxl/4QkFKoFd4eKTtHKoIfW6s6W+4KuYse1SaUy5GRnkWMqV/cDEfhb1NTUUFdXRzQaDZerh/seLctizpw5XHTRRcybN++oI5Zt27YxderUkDRaY/HixVRUVPDf//3fBz3WSxrdiNdff53Zs2czfPhwampqmDx5MjNmzOjyiZ1Op6murqa6uhopZXhyxuNxXNdl7dq1xOPxQ0YxR4u9e/eyY8cOxowZ0+7BnEqlwkpMZ0u5aVuyL01IANJzSSSSRONRIppJRFMuYIYAF2XxrxKUarkRWCEKWn4H2uRObBksM8B2XdxMhmQqGeZJIoaBLiJtE6TBd+iTR5gbQRETsm05VUUfwRJFhUuu55BMJMjOzSGqRciLde4QSyQS1NTUUFNTAxBWtA4Uf9m2zbXXXsunPvUp5s+f3y1/90ORxhe/+EVmzZrF7NmzD3ps8ODBFBYWIoTgm9/8JjfccENHb9FLGofD7373O84//3yGDRtGQ0MDS5cuZeHChWzevJlJkyZRXl7OOeec0yUCsSwrJBDLsrBtm379+jFkyJCe+AgA7Nixg9raWkaPHt3p+bRBlHS4Uq4nJQ0ZSGZcmhr2k5Obh6G3uiSLloYwz18SBB4iImh8E/5oGKkiFmhFIv5SI3jXdMZC4hE3TSzbws5Yyqsjaqru1YiuOnhFWwNgScvSQ4T/EEZCii6EP8jKprm5kbyCAjR08mOePxW+awgUvNXV1WEexDAM+vbty80338zw4cNDNWZ3oCPS+Od//mdWrFjBokWL2n2vXbt20b9/f6qrq5k0aRIPPvggF1xwQXtv0UsaR4rm5mYqKyupqKhg/fr1XHzxxZSXlx80POlQSCaTrFq1iqKiIpLJJJlMJry6d9cMjCB5m06nj3jZ05lSblNTExu3fkTJwLMwNE0lRYVSchpa28lmnqv6Olp7ogYmRspzWSUuXf9MjwRqTE/SnGgkokWIx7NboglA4uH4lRjXdjCiMaLRKJFIJKyY+G8Tup4p4mgpyYIqIzuWTSKVICdXSdyjEcgyjv7wCvIgjz76KE888QTFxcUsWLCASy+9tFsS3tA+aTzxxBM8/PDDvPrqq53SlRym67WXNLoDqVSKl156iYULF/Luu+9ywQUXUF5eznnnndfhVT0oqba2s299ciaTyfDkbM99ujMIRFuGYXDmmWd2CwkdmAAsKFACp927dzN69Gii8WyaMiovEWRIg1xCIM92A7KQiiQMzY88/CaxwOZQEy3JVqRHMp1B0zTiMTU7Nayi+K8V9rYgcVybTNp3aTcNTN3ANPRQ9+H53blBhBE4nDmOoywZc5XDmiYgx5B014rR8zzmzZtHQUEBV1xxBUuWLGHOnDl88pOf7JbXP5A0li1bxq233sqf//znDrU+iYRSxebm5pJIJJg0aRJ33XUXl112WXub95JGdyOTyfA///M/VFRU8Pbbb3Peeecxffp0zj///LA6UV1dzdatWxk9enSHVxjXdamrq6O6upqmpqawvNeRnL29569evbpD0VZ3wPM8tm/fzvbt2zEMI1TMFhcXk3IjynA5WFoEWgjZcl+Q+Az+cm6ryMP1I5Ug4mhuasTUdWLxtnkBSasKCAcrREGVS+2MWgZqkQimaWAaRosJdKDJcCwSzc3kF+ShCRWhxHUZjjzoju/rtttuwzRN/vVf/7Xbk93tqT3vvfdeMplMWFb/9Kc/zUMPPdRG7bllyxZmzJgBKNL8yle+wh133NHR2/SSRk/Ctm2WL19ORUUFf/nLX5g4cSKGYVBYWMgdd9zR6RJn4MdQVVUVXt1LS0vbCLVaoyuiraNBVVUV27dvZ+zYsRiGQWNjI9XV1dTV1RGPxyk5rR96dh/fw9OPMvBdsfz8RuvII4geQqGVBJAkk0kM08Q0DP95anaLEC05CIHyAW1Rd7bYG3v+b4qsHKy0hWVbRCIRTMNQgjLPJZVKk+1Pb9OEKgdn6d1zWHmex49+9CMymQz/8R//0WPVsWOAXtI4VrAsi9mzZ7N27Vo0TWP06NFMnz6dSy65pEudqoFQq6qqiv3795OXlxde3TVNC6XnQ4cO7dGxfDt37gz1JAcuwaSUJBIJn0DqyS/tT05eIYZpoGmRluWKDHINyqRHC7OT0icTSXNjI9FolFgsHpKIxJ9ohj/uQd2t/hOExkBakMvwo5mQPJC+2tTDsiwsW7UP6BGdWNQgYhhoQpAd8bpliruUkgULFlBXV8cjjzxyROMWoX3xVn19PbNmzWLbtm0MGjSIP/zhDwd5YQA8+eST/PSnPwXgRz/60dEoTntJ41hh9+7dPPnkk9x+++14nsff/vY3KioqePXVVxk+fDjl5eVMnjy5U54MAQJ9QFVVFfX19USjURKJBCNHjuzRwb9bt26loaGBs88+u1MnQCqVonZ/Amlm4dgWsVgcw9DRIxHcIGoIelcEvjmz8gyNZSl7PjWuMmhAky0RRngIK2YISEIdKgF5BCTRsk9B+tNxLBIJ5evhOK6ad2JbWKlG8rJiHUZznYWUknvvvZft27fzxBNPHDFhQPvirfnz51NUVMTtt9/Offfdx759+w4Sb9XX1zNhwgRWrFiBEILx48ezcuXKdsmlE+gljeMNz/NYsWIFzz33HC+//DJDhgxh2rRpfOELX+jSrIy6ujrWr19PYWEhjY2NxOPxUEzWXf0wQSUmk8kwYsSILp9MjguNlkcmY+N6EsfKEM3KUtLliOZPaFcRQGNjE1mxGEYsivRaEQVCDT3SWsY8BA1zbjA20Y8kQsm4H8HIViQjANuySCYT5BXko4kW6tKQpBuVv2cguw/Unl35LqWU/PznP2fdunX813/9V7f8HQ5MdJ511lksX76cvn37smfPHi666CI2bNjQ5jnPPPMMy5cv5+GHHwbgm9/8JhdddBFXX331kezCSUUax8WEp6ehaRqf+tSn+NSnPsX999/PqlWrqKio4N///d/p378/06ZNY8qUKe32CwQIcgsTJkwgGo2G/TDV1dWsXLkS0zQpKys7qn4YKSUffPABkUiEkSNHHlElRo9AYUwjqceUOXBWFDtjkUllSDi2WoJEdBLJBNk5uUQieljVUG3usk3pVBNqyRGY5+h+NBLkOlrEGIoIRODIBbi2Q8bKkF+Q38ZcGCGIah7ZxcUUFxcf5KAWqD1LSkoO2RogpeTBBx9k1apVPPvss91G3AeiqqoqzFuddtppVFVVHbTNgVZ9AwYMYNeuE94/p1twSpJGa2iaxjnnnMM555zDT3/6U9auXUtFRQXl5eUUFRUxffp0pk6d2qbBbMeOHdTU1DBu3LjwwGxtKTdkyJAwv/Duu++G/TAlJSWHlTgH8DyPNWvWkJOTw+DBg4+qdCsEZBvK6zPpRojFYsTiMTwJVjpFItGE56nfo9EomqGH09HAH02ptZRJNYJpty1EIRF+slUi/ceDCfCakHiWRSKVVKVsTSOY9C584tG11vvb1kEtUHuuWrUKoF3VrJSShx9+mDfeeIOKiooe6SFq/7s9tH/txxGnPGm0hhCCUaNGMWrUKP7pn/6JDz/8kIqKCq666iqysrKYNm0aq1evZtKkSUydOvWQS4Xs7GwGDx7M4MGDSaVSVFdXs3r1aoQQoZy9o2Ss67qsWrWKPn368IlPfKLbPp8aT+CRcpX5MFIZFuflFSAiETzH9jUTKbQIxKJxdNNQVRKCCCP4rlCycL96EsxF8tD8yMSnFU36k+4yFOQXgAh8NvxoBhVlHArZ2dlkZ2czaNCg0N9zw4YNZDIZcnNzqa+vZ8OGDbzyyissXrz4qHxcO4OysrLQeWvPnj3tjrLo378/y5cvD2/v3LmTiy66qEf360TBKZnT6CqklGzYsIHZs2eTTCbp06cP5eXllJeX07dv3y5daTKZTChn9zzvoKtmMPulJ0u3UkJjyqaxOUVuTja6oftLDJ8AJHiug23buK6aY2BEDUzTRAgtlKQHyxXhk0ar2CMkGMdWs3Tz8vJ8kg1sg1QuwxAeunZkh5HjOKxfv55bb72VtWvXcvXVV3PNNdfw6U9/uju+phAH5jRuu+02iouLw0RofX09//Iv/9LmOfX19YwfP5533nkHgHHjxrFy5cojTZafVKHMxyrS6AhCCLZu3cqsWbP43ve+x65du1i4cCHXXXcdjuPwxS9+kenTp3fKrzQajXL66adz+umnh7aB69evx7ZtCgsLqa2tZdiwYT1mZQjQ3NzEujVrGDH6HIRh+k1jbfUcEV3HNNRMFM91/UHaKX8KnSBqRhGt9OjBbNtAHq4LZQOYTCaV9D3oVCNY5nhoiCMmDFCzbNasWYNhGGzZsoUVK1awe/fuo/hmDkZr8daAAQNYsGABt99+O1dddRWPPfYYAwcO5A9/+AMAK1as4KGHHuK3v/0tRUVF3HnnneHgr7vuuqtHq2snEnojjUMg8MlYtGgRixYtIpFIhJ4gQ4YM6VIE0tjYyKpVq4jFYriuGzar5ebmduuaOZDSB/b/ngdpTwt1GKJVvkLQ0vWq+clR1/VnsGRsInoEwzAx9AiRSKRVtAF2JkPGdsjJyW7VmNYCAZjCbeOj0VUsWrSIRx99lKVLl3brhPgTECdVpNFLGl1A4AmycOFC6uvrufzyyykvL+ess8465Inf3NzM+++/H/bEOI5DXV0dVVVVnfYd7Qz27dvHhg0bDnInkxIsT+AqalDLD1/hCS2S7yCKkH5FxfM8rEyGjGUhpSQWV76ert9LUlCQhxAteZ+g4iIBHQ9dHDqXcSgsWbKEBx98kKVLlx6yynWK4ONHGsuWLWPu3Lm4rss3vvENbr+97RzbTCbDNddcw8qVKykuLub3v/99j/VuHCvU19fz/PPPs3DhQnbv3s2ll17KjBkzDtJa7N+/n/X+tPP2RGYH9sMUFhaGcvauEEhdXR0bN25k7NixHSZgHQ8sqYNv7KlcttTUeQ6IFlreOZB+emoYUzqF7TjE43Fi0Ri6oR+wpcpoGDhH3JC2bNkyfvazn/HCCy90S8i/YcMGZs2aFd7esmULd999N/PmzQvvW758OeXl5QwePBiAK664grvuuuuo37uT+HiRRjDE9pVXXmHAgAFMnDiRZ555hhEjRoTb/PrXv2b16tU89NBDPPvssyxevJjf//733bD7JwYaGhpYsmQJixYtYsuWLaEnyPbt25FScvnll3dK1t56Pmkw3uFA4+L2EOgdxo4de9jKgpRgSy2cj6LQmiL80z50Q4cgFrEsG8tyyIrHcGyLjG8abRh6y5AkARHcDmfyHg6vvvoqP/nJT6isrOwRyb7ruvTv358333yTgQMHhvcvX76cBx54gKVLl3b7e3YCJxVpHHUiNBhie8YZZwDw5S9/meeff74NaTz//PP8+Mc/BuDKK6/klltuCSesnQrIz89n9uzZzJ49m6amJiorK5k/fz5bt27liiuuoH///kycOPGwas8D55Pu27eP6upqPvzwQ3JzcykrK6OoqKiNbLqqqoodO3ZwzjnndEq7IASYwsORAocI+IqL1hQh2vyr/rfSaVKpFPkF+UqspceIxhUROpZNOpMm0dyMlC6aZx+Rr+frr7/OggULeOGFF3qsx+fVV19lyJAhbQijF13DUZNGe8q4N998s8NtdF0nPz+furq6Hm3+Ol7Izc1l8ODBxONx3nvvPf72t7/x2GOP8Z3vfIfPfvazTJ8+nfPOO++wJ5QQos0M2oaGBqqrq9m0aRPZ2dmUlZXhOA579uzhnHPO6bI6UhcSTTo46GHPCLRaoghCEslkLNKZDPmFBb40XLa5NBqmgWkagKC5oZaa6gY2b95MVlZW6Ot5OEL761//yg9/+EOWLl3aZqRhd+PZZ5/tUOr9t7/9jTFjxtCvXz8eeOABRo4c2WP7cTKjt+TaA5g4cSKVlZVEo1GmT5/O9OnTQ0+Qp59+mltvvZXzzjuPGTNm8A//8A+HPaGEEBQUFFBQUICUkqamJjZt2sT+/fspKiqipqamUyfmgdAEGDh4aHitdKABgUg0HN86sSA/MC1qRRitIkUhJeBSkJ9PQSulZ1VVFe+88w6GYXSomn3zzTeZP38+f/rTn+jXr1+XPkNXYFkWf/rTn7j33nsPemzcuHFs376dnJwcKisrmT59Ohs3buyxfTmZcdSkceAQ2507d9K/f/92txkwYACO49DQ0NDpuSAnI4QQB50Y0WiUKVOmMGXKFGzb5rXXXqOiooL58+czceJEpk+fzoUXXnjYnIQQgv379yOE4MILLwzVqO+88w6maXaqh6PN6wERnzIc9JbWEiCTSqkII3A5Ey100iZt6jetabKlWiKEICcnh5ycHIYMGdJGNQtQWlqK67rs37+fefPm8fzzz7c7IrM78eKLLzJu3Lh2I5nA6Q3g8ssv56abbqK2tvaUjIaPFkftbBAMsd26dSuWZfHss88ybdq0NttMmzaNJ598EoCKigo+97nPtZvP+Oijj7j44osZMWIEI0eO5N/+7d8O2mb58uXk5+czduxYxo4dy9133320H+GYwzAMJk+ezCOPPMJ7773HNddcw8svv8z555/PDTfcQGVlJel0ut3nbt26lX379jFmzBgikQg5OTmcccYZnHvuuZx11lmh4nTlypV89NFHZDKZTu2TQKJj+2oOSSZtYVkWBfn54XQ8tVzx3YSDRY3wJ+dJ55CvH4/HGThwIBMnTmT06NHYts3XvvY1ysvLufjii0kkEl35Co8IzzzzTIdLk7179xIUBd566y08zzulL2xHg24puVZWVjJv3jxc1+Xaa6/ljjvu4K677mLChAlMmzaNdDrNP/7jP/Luu+9SVFTEs88+GyZOW2PPnj3s2bOHcePG0dTUxPjx4/njH//YJql6nLPcPQrXdXnjjTdYuHAhr776KiNGjAg9QWKxGG+99RY5OTmdaqE/1HiHw6G6phZNjyobRK1lQrz6xRdiBBOcpERIz+9z7TzWrl3Lddddx2OPPcbGjRvZsGEDCxYs6NJrdAWJRIJPfOITbNmyJRzJ+dBDDwHwrW99i1/96lf85je/Qdd14vE4v/jFL/jMZz7TY/tzAE6qisAJLe4qLy/nlltuYdKkSeF9pzJptEZrT5CXXnoJwzA4/fTTeeihh9qE0p1B634Y13XDfpj2dCO7d+9mz549jB07Fk03kSKosEC4JDlQzOHZXTrq169fz9e+9jWeeeaZ3mSjQi9pdAe2bdvGBRdcwJo1a9qcJMuXL+dLX/oSAwYM+FhkuaWU3HjjjTQ2NjJw4EBeeuklBgwYwLRp07j88su7rJYM+mGC+TB9+vShrKyM7OzsMNIbO3ZsWN2RAJpOy3EdLEt8AnEdunKYbNq0idmzZ/Of//mfjBkzpkv7fgqjlzSOFs3NzVx44YXccccdXHHFFW0ea2xsRNO0MMs9d+7cUz7L/corr/D5z39ezSmRkjVr1lBRUUFlZSXFxcVMnz6dKVOmdHkN7jhOSCCNjY0AjBo1qn13dqEp8mh9REhX/XQS27Zt4+qrr+bxxx9n/PjxXdrXQ+Fwg5allMydO5fKykqysrJ44oknGDduXLe9fzeglzSOBrZtM3XqVC699FJuvfXWw27fhXmZpxyClv6KioqwqWvatGl88YtfpKSkpNPiuV27drF371769etHbW0tzc3NFBUVUVZWdnA/jKaDUD2v0rU7va8fffQRs2bN4uGHH+bcc8/t6kc9JA53DFRWVvLggw9SWVnJm2++ydy5cw/SEh1n9JLGkUJKyZw5cygqKuKXv/xlu9vs3buXsrIyhBC89dZbXHnllWzfvv2UUZceKaSUbNmyhYULF/LHP/4R0zSZNm0a5eXlnHbaaR1+Pzt37qS6ujqsxoDKpwT9MI2NjWE/TEFBgZ+Abb1UOTx2797NzJkzefDBBzn//PO74dO2xeFI40D/ztYeoF1F0AIf9K3ccccdlJaWMnfu3CPef3pJ48jxl7/8hc9+9rOcffbZYXXgnnvuYceOHUDXs9ynQNh6RJBSsmPHDhYtWsTixYvxPI+pU6cyY8YMBgwYEBJIe4RxIDzPC+XswXiHQM7eGRPkvXv3MnPmTB544AEuvvjibv2cAQ43aHnq1KncfvvtIWFdcskl3H///UyYMKHL77Vt2zauuOIK3nnnHTzPY9iwYbz11ltHW549qUjjhFKEnn/++RyGxLjlllu45ZZbOv2ar732WodXoBdffJGNGzeyceNG3nzzTW688cYTLWw9IgghGDhwIN/97neZN28ee/bsYdGiRdx0000kk0mmTJlCY2MjZWVl3HDDDYeUtGuaRnErQ+D9+/dTXV3Nxo0byc3NDefDtPcaNTU1zJw5k3vvvbfHCAPUxab1oOVPfvKTHQ1aPmoMGjSI4uJi3n33XaqqqjjnnHM+dnqOE4o0jjWef/55rrnmGoQQfPrTn2b//v2hN+SpAiEE/fr1C8m2urqaefPm8Ze//IW+ffvS2NjI9OnTOzWXVghBYWEhhYWFoaN4dXU1W7ZsadNnous6dXV1zJw5k5/85CdMnjy5Rz9joEAuLS1lxowZvPXWW21IozOq5a7gG9/4Bk888QR79+7l2muvPfIdP0lx0s6x6wyEEEyePJnx48fzyCOPHPT4x9GG3nEcXNdl48aNvPjiiwwaNIg777yTCy64IHRr97zDm+cEjuLDhg3j3HPPZfDgwSQSCZYsWcLkyZOZOnUqc+fO5fLLL+/Rz5NIJGhqagp/f/nllxk1alSbbaZNm8ZTTz2FlJK///3v5OfnH9WFYcaMGSxbtoy3336bSy+99Kj2/2TEKR1pHMuw9WRBv379Qi+TaDTK17/+db7+9a+HniD33HMP27Zt4/Of/zzTp09nzJgxh81dtB7vUFJSwm9/+1tGjhzJr371K9577z1+9rOf9djnqaqqOmjQ8mWXXdZG7Xn55ZdTWVnJ0KFDycrK4ne/+91Rvadpmlx88cUUFBQc1XS3kxUnVCK0J/HjH/+YnJwcvv/974f3dWdW/VRC4AlSUVHBhx9+yMUXX8z06dOZMGHCIQmkubmZmTNn8q1vfSv8TpPJZJv5JacCPM9j3LhxPPfccwwbNqw7XvKkSoSessuT7gxbN2zYEDbIjR07lry8vINKwqdCI12A3NxcZs2axXPPPcff//53LrzwQh599FHOO+88brvtNv7617/ium1FXclkki9/+ctce+21bZrCTjXCWLduHUOHDuWSSy7pLsI4+SClPNTPSYvNmzfL0aNHy9GjR8sRI0bIn/70p1JKKX/zm9/I3/zmN1JKKT3PkzfddJM844wz5KhRo+Tbb7992Nd1HEeWlZXJbdu2tbn/tddek1OmTOn+D3ICIZ1OyyVLlsg5c+bIkSNHyuuvv15WVlbKqqoqOWnSJPnII49023vt2LFDXnTRRXL48OFyxIgR8pe//OVB27z22msyLy9PjhkzRo4ZM0YuWLCg297/GONw5+EJ9XPKkkZP4aWXXpKf+cxnDrr/40AarZHJZOSyZcvk9ddfL4uLi+Xdd98tPc/rttffvXu3XLlypZRSysbGRjls2DC5du3aNtucQt/5cSeCrvycssuTnkJn7OK+8IUvsHbt2mO8Z8cWpmly6aWX8sgjj7Bjxw5+9KMfdasqt2/fvqHQLjc3l+HDh5/yla2TBodhlV60QiaTkcXFxXLv3r0HPdbQ0CCbmpqklFK+8MILcujQocd6905ZbN26VZ5++umyoaGhzf2vvfaaLCoqkqNHj5aXXXaZXLNmzXHaw6PGcY8euvLTG2l0AYezi8vJyQGUXZxt29TW1h7rXTzl0NzczJe+9CV++ctfHuQjEvh6rlq1im9/+9tMnz79+Ozkxwy9pNEF9NrFHVvYts2XvvQlvvrVrx5kkQC9RH280EsanUQikeCVV15pc/A+9NBDoYiooqKCUaNGMWbMGL7zne/w7LPPhmv8a6+9ltLS0jYl3/r6eiZNmsSwYcOYNGkS+/bta/d9n3zySYYNG8awYcNCn9WPA6SUXHfddQwfPrxDi4Reoj4++NiIu44nXn/9dXJycrjmmmtYs2YNAPPnz6eoqIjbb7+d++67j3379nH//fe3eV59fT0TJkxgxYoVCCEYP348K1eupLCw8Hh8jGOK7u54PsFxUom7ehOhxwhbt26VI0eODG+feeaZcvfu3VJKVV4888wzD3rO008/LW+44Ybw9g033CCffvrpnt/ZXhxrHPfkZld+epcnxwlVVVWh+vS0006jqqrqoG0+jg11vTjx0UsaJwCEEB9757FenDzoJY3jhLKyMvbs2QOoeS+lpaUHbdPdPhAnCpYtW8ZZZ53F0KFDue+++w56PJPJMGvWLIYOHcq5557Ltm3bjv1O9qJD9JLGcULrqXNPPvkk5eXlB21z6aWX8vLLL7Nv3z727dvHyy+/zKWXXtpuNea2227jk5/8JKNHj2bGjBns37+/3fcdNGgQZ599NmPHjj0iu7ujheu63Hzzzbz44ousW7eOZ555hnXr1rXZ5rHHHqOwsJBNmzbx3e9+lx/84AfHfD97cQgcJunRi27Al7/8ZXnaaadJXddl//795W9/+1tZW1srP/e5z8mhQ4fKSy65RNbV1UkppXz77bflddddFz73sccek0OGDJFDhgyRjz/+uJRSyj//+c9y5cqVbRKrL730krRtW0op5fz58+X8+fPb3ZeBAwfKmpqanvqoh8Ubb7whJ0+eHN6+55575D333NNmm8mTJ8s33nhDSimlbduyuLi4W/taTkAc9+RmV34+9qTx1ltvybPPPlumUinZ3NwsR4wYId9///3jvVuHxYHVmNZYtGiR/MpXvtLuY8ebNJ577rk2pPjUU0/Jm2++uc02I0eOlB999FF4+4wzzjiu+3wMcNyJoCs/h9NpfCwghPgpEAPiwE4p5b3HeZcOCyHEIGCplHJUO48tAX4vpfyvdh7bCuxDaXAellIe7IPYgxBCXAlcJqX8hn/7H4FzpZS3tNpmjb/NTv/2Zn+bXrnnCYBT2u6vC7gbeBtIA985zvtyVBBC3AE4wH93sMn5UspdQohS4BUhxHop5evHbg/ZBZze6vYA/772ttkphNCBfKDu2OxeLw6H3kSoQjGQA+SiIo6TEkKIrwFTga/KDkJIKeUu//9qYDHwqWO2gwpvA8OEEIOFECbwZeBPB2zzJ2CO//uVwP929Hl6cezRSxoKDwN3oq7O9x9m2xMSQojLgPnANCllsoNtsoUQucHvwGRgzbHbS5BSOsAtwEvAB8AfpJRrhRB3CyGm+Zs9BhQLITYBtwK3H8t97MWh8bHPaQghrgHKpZRfEkJEgDeA/yel/N/jvGsdQgjxDHAR0AeoAv4J+H9AlJYw/u9Sym8JIfoBv5VSXi6EOAMVXYBamj4tpfznY7rzvTjp8bEnjV70ohddQ+/ypBe96EWX0EsavehFL7qEXtLoRS960SX0kkYvetGLLqGXNHrRi150Cb2k0Yte9KJL6CWNXvSiF11CL2n0ohe96BL+P2WitZGKEdPwAAAAAElFTkSuQmCC +" +> +</div> + +</div> + +</div> + +</div> + +</div> +<div class="jp-Cell-inputWrapper"><div class="jp-InputPrompt jp-InputArea-prompt"> +</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown"> +<h3 id="Anchura-a-media-altura-(FWHM-)">Anchura a media altura (FWHM )<a class="anchor-link" href="#Anchura-a-media-altura-(FWHM-)">¶</a></h3><p>Se define con la siguiente ecuación.</p> +<p><img src=" https://wikimedia.org/api/rest_v1/media/math/render/svg/156b334e8449d05b7707f8a7b673f85f7141b27e"></p> + +</div> +</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell "> +<div class="jp-Cell-inputWrapper"> +<div class="jp-InputArea jp-Cell-inputArea"> +<div class="jp-InputPrompt jp-InputArea-prompt">In [14]:</div> +<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline"> + <div class="CodeMirror cm-s-jupyter"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="c1"># definimos la funcion para el FWHM</span> +<span class="k">def</span> <span class="nf">FWHM</span><span class="p">(</span><span class="n">sigma</span><span class="p">):</span> + <span class="sd">''' Funcion que retorna el valor de FWHM'''</span> + <span class="k">return</span> <span class="mi">2</span><span class="o">*</span><span class="n">math</span><span class="o">.</span><span class="n">sqrt</span><span class="p">(</span><span class="mi">2</span><span class="p">)</span><span class="o">*</span><span class="n">sigma</span> +<span class="nb">print</span><span class="p">(</span><span class="s1">'El valor para la resolución espacial (FWHM) es :'</span><span class="p">,</span> <span class="n">FWHM</span><span class="p">(</span><span class="n">best</span><span class="p">[</span><span class="mi">1</span><span class="p">]))</span> +</pre></div> + + </div> +</div> +</div> +</div> + +<div class="jp-Cell-outputWrapper"> + + +<div class="jp-OutputArea jp-Cell-outputArea"> + +<div class="jp-OutputArea-child"> + + + <div class="jp-OutputPrompt jp-OutputArea-prompt"></div> + + +<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain"> +<pre>El valor para la resolución espacial (FWHM) es : 13.130398957324719 +</pre> +</div> +</div> + +</div> + +</div> + +</div> +<div class="jp-Cell-inputWrapper"><div class="jp-InputPrompt jp-InputArea-prompt"> +</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown"> +<h2 id="Ahora-definiremos-cada-una-de-las-estrellas">Ahora definiremos cada una de las estrellas<a class="anchor-link" href="#Ahora-definiremos-cada-una-de-las-estrellas">¶</a></h2> +</div> +</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs "> +<div class="jp-Cell-inputWrapper"> +<div class="jp-InputArea jp-Cell-inputArea"> +<div class="jp-InputPrompt jp-InputArea-prompt">In [15]:</div> +<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline"> + <div class="CodeMirror cm-s-jupyter"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="c1"># Definimos cada una de las estrellas</span> +<span class="n">estrella1</span> <span class="o">=</span> <span class="n">Grayscale</span><span class="p">[</span><span class="mi">459</span><span class="p">:</span><span class="mi">464</span><span class="p">,</span><span class="mi">322</span><span class="p">:</span><span class="mi">327</span><span class="p">]</span> +<span class="n">estrella2</span> <span class="o">=</span> <span class="n">Grayscale</span><span class="p">[</span><span class="mi">544</span><span class="p">:</span><span class="mi">562</span><span class="p">,</span><span class="mi">654</span><span class="p">:</span><span class="mi">671</span><span class="p">]</span> +<span class="n">estrella3</span> <span class="o">=</span> <span class="n">Grayscale</span><span class="p">[</span><span class="mi">241</span><span class="p">:</span><span class="mi">247</span><span class="p">,</span><span class="mi">215</span><span class="p">:</span><span class="mi">222</span><span class="p">]</span> +<span class="n">estrella4</span> <span class="o">=</span> <span class="n">Grayscale</span><span class="p">[</span><span class="mi">312</span><span class="p">:</span><span class="mi">320</span><span class="p">,</span><span class="mi">624</span><span class="p">:</span><span class="mi">632</span><span class="p">]</span> +<span class="n">estrella5</span> <span class="o">=</span> <span class="n">Grayscale</span><span class="p">[</span><span class="mi">374</span><span class="p">:</span><span class="mi">380</span><span class="p">,</span><span class="mi">448</span><span class="p">:</span><span class="mi">454</span><span class="p">]</span> +<span class="n">estrella6</span> <span class="o">=</span> <span class="n">Grayscale</span><span class="p">[</span><span class="mi">145</span><span class="p">:</span><span class="mi">151</span><span class="p">,</span><span class="mi">390</span><span class="p">:</span><span class="mi">397</span><span class="p">]</span> +<span class="n">estrella7</span> <span class="o">=</span> <span class="n">Grayscale</span><span class="p">[</span><span class="mi">523</span><span class="p">:</span><span class="mi">527</span><span class="p">,</span><span class="mi">654</span><span class="p">:</span><span class="mi">658</span><span class="p">]</span> +<span class="n">estrella8</span> <span class="o">=</span> <span class="n">Grayscale</span><span class="p">[</span><span class="mi">498</span><span class="p">:</span><span class="mi">504</span><span class="p">,</span><span class="mi">683</span><span class="p">:</span><span class="mi">688</span><span class="p">]</span> +<span class="n">estrella9</span> <span class="o">=</span> <span class="n">Grayscale</span><span class="p">[</span><span class="mi">312</span><span class="p">:</span><span class="mi">320</span><span class="p">,</span><span class="mi">624</span><span class="p">:</span><span class="mi">632</span><span class="p">]</span> +<span class="n">estrella10</span> <span class="o">=</span> <span class="n">Grayscale</span><span class="p">[</span><span class="mi">374</span><span class="p">:</span><span class="mi">380</span><span class="p">,</span><span class="mi">448</span><span class="p">:</span><span class="mi">454</span><span class="p">]</span> + +<span class="n">estrellas</span> <span class="o">=</span> <span class="p">[</span><span class="n">estrella1</span><span class="p">,</span><span class="n">estrella2</span><span class="p">,</span><span class="n">estrella3</span><span class="p">,</span><span class="n">estrella4</span><span class="p">,</span><span class="n">estrella5</span><span class="p">,</span> + <span class="n">estrella6</span><span class="p">,</span><span class="n">estrella7</span><span class="p">,</span><span class="n">estrella8</span><span class="p">,</span><span class="n">estrella9</span><span class="p">,</span><span class="n">estrella10</span><span class="p">]</span> +</pre></div> + + </div> +</div> +</div> +</div> + +</div> +<div class="jp-Cell-inputWrapper"><div class="jp-InputPrompt jp-InputArea-prompt"> +</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown"> +<ul> +<li>Automatizaremos los procesos de obtención de parámetros para la gausiana del ajuste 1D</li> +</ul> + +</div> +</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs "> +<div class="jp-Cell-inputWrapper"> +<div class="jp-InputArea jp-Cell-inputArea"> +<div class="jp-InputPrompt jp-InputArea-prompt">In [24]:</div> +<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline"> + <div class="CodeMirror cm-s-jupyter"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="c1"># Realizamos una función que haga el ajuste en 1D automaticamente</span> + +<span class="k">def</span> <span class="nf">ajuste_1D_Aut</span><span class="p">(</span><span class="n">estrella</span><span class="p">):</span> + <span class="sd">'''Funcion que recibe los valores X,Y y Luminosidad de una estrella y retorna los datos en una lÃnea de X</span> +<span class="sd"> con sus corespondiente valores de luminosidad y los valores de luminosidad ajustados a una gausiana</span> +<span class="sd"> ademas de los parámetros de la guaussiana'''</span> + <span class="n">x</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">arange</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="n">estrella</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="mi">1</span><span class="p">)</span> + <span class="n">x_medio</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="nb">max</span><span class="p">(</span><span class="n">x</span><span class="p">)</span><span class="o">/</span><span class="mi">2</span><span class="p">)</span> + <span class="n">lumx</span> <span class="o">=</span> <span class="n">estrella</span><span class="p">[:,</span><span class="n">x_medio</span><span class="p">]</span> + <span class="n">prob</span> <span class="o">=</span> <span class="n">lumx</span> + <span class="n">A</span> <span class="o">=</span> <span class="mi">1</span> + <span class="n">x0</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="nb">max</span><span class="p">(</span><span class="n">x</span><span class="p">)</span><span class="o">+</span><span class="nb">min</span><span class="p">(</span><span class="n">x</span><span class="p">))</span><span class="o">/</span><span class="mi">2</span> + <span class="n">sigma</span> <span class="o">=</span> <span class="n">std_prob</span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="n">prob</span><span class="p">,</span><span class="n">x0</span><span class="p">)</span> + <span class="n">C</span> <span class="o">=</span> <span class="nb">min</span><span class="p">(</span><span class="n">lumx</span><span class="p">)</span> + <span class="n">p1</span> <span class="o">=</span> <span class="p">[</span><span class="n">A</span><span class="p">,</span> <span class="n">sigma</span> <span class="p">,</span> <span class="n">x0</span> <span class="p">,</span> <span class="n">C</span><span class="p">]</span> + <span class="n">best</span><span class="p">,</span><span class="n">suss</span> <span class="o">=</span> <span class="n">leastsq</span><span class="p">(</span><span class="n">Error_gauss_1D</span><span class="p">,</span> <span class="n">p1</span><span class="p">,</span> <span class="n">args</span><span class="o">=</span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="n">lumx</span><span class="p">))</span> + <span class="n">x_model</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">arange</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="n">estrella</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="mf">0.05</span><span class="p">)</span> + <span class="n">lum_model</span> <span class="o">=</span> <span class="n">func_gauss_1D</span><span class="p">(</span><span class="n">best</span><span class="p">,</span><span class="n">x_model</span><span class="p">)</span> + <span class="k">return</span> <span class="n">x</span><span class="p">,</span> <span class="n">lumx</span><span class="p">,</span> <span class="n">x_model</span><span class="p">,</span><span class="n">lum_model</span><span class="p">,</span> <span class="n">best</span> +</pre></div> + + </div> +</div> +</div> +</div> + +</div> +<div class="jp-Cell-inputWrapper"><div class="jp-InputPrompt jp-InputArea-prompt"> +</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown"> +<ul> +<li>Graficaremos el conjunto de los datos con los ajustes en 1D</li> +</ul> + +</div> +</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell "> +<div class="jp-Cell-inputWrapper"> +<div class="jp-InputArea jp-Cell-inputArea"> +<div class="jp-InputPrompt jp-InputArea-prompt">In [26]:</div> +<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline"> + <div class="CodeMirror cm-s-jupyter"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">fig</span><span class="p">,</span> <span class="n">axs</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">subplots</span><span class="p">(</span><span class="mi">5</span><span class="p">,</span><span class="mi">4</span><span class="p">,</span> <span class="n">figsize</span><span class="o">=</span><span class="p">(</span><span class="mi">15</span><span class="p">,</span> <span class="mi">15</span><span class="p">),</span> <span class="n">facecolor</span><span class="o">=</span><span class="s1">'w'</span><span class="p">,</span> <span class="n">edgecolor</span><span class="o">=</span><span class="s1">'k'</span><span class="p">)</span> +<span class="n">fig</span><span class="o">.</span><span class="n">subplots_adjust</span><span class="p">(</span><span class="n">hspace</span> <span class="o">=</span> <span class="o">.</span><span class="mi">5</span><span class="p">,</span> <span class="n">wspace</span><span class="o">=.</span><span class="mi">001</span><span class="p">)</span> +<span class="n">axs</span> <span class="o">=</span> <span class="n">axs</span><span class="o">.</span><span class="n">ravel</span><span class="p">()</span> + +<span class="n">j</span> <span class="o">=</span> <span class="o">-</span><span class="mi">1</span> +<span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="mi">20</span><span class="p">,</span><span class="mi">2</span><span class="p">):</span> + <span class="n">j</span><span class="o">=</span> <span class="n">j</span><span class="o">+</span><span class="mi">1</span> + <span class="n">axs</span><span class="p">[</span><span class="n">i</span><span class="p">]</span><span class="o">.</span><span class="n">imshow</span><span class="p">(</span><span class="n">estrellas</span><span class="p">[</span><span class="n">j</span><span class="p">],</span> <span class="n">cmap</span><span class="o">=</span><span class="n">cm</span><span class="o">.</span><span class="n">gray</span><span class="p">,</span> <span class="n">vmax</span><span class="o">=</span><span class="n">np</span><span class="o">.</span><span class="n">max</span><span class="p">(</span><span class="n">estrellas</span><span class="p">[</span><span class="n">j</span><span class="p">]))</span> + <span class="n">axs</span><span class="p">[</span><span class="n">i</span><span class="p">]</span><span class="o">.</span><span class="n">set_title</span><span class="p">(</span><span class="s1">'Estrella'</span><span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">j</span><span class="p">))</span> + <span class="c1">##########################################################################################</span> + <span class="n">x</span><span class="p">,</span> <span class="n">lumx</span><span class="p">,</span> <span class="n">x_model</span><span class="p">,</span><span class="n">lum_model</span><span class="p">,</span><span class="n">best</span> <span class="o">=</span> <span class="n">ajuste_1D_Aut</span><span class="p">(</span><span class="n">estrellas</span><span class="p">[</span><span class="n">j</span><span class="p">])</span> + <span class="n">axs</span><span class="p">[</span><span class="n">i</span><span class="o">+</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">x_model</span><span class="p">,</span><span class="n">lum_model</span><span class="p">)</span> <span class="c1"># gráfica del modelo</span> + <span class="n">axs</span><span class="p">[</span><span class="n">i</span><span class="o">+</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="n">lumx</span><span class="p">,</span><span class="s1">'o'</span><span class="p">,</span><span class="n">color</span><span class="o">=</span><span class="s2">"darkorange"</span><span class="p">)</span> <span class="c1"># gráfica de los datos</span> + <span class="n">axs</span><span class="p">[</span><span class="n">i</span><span class="o">+</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">set_title</span><span class="p">(</span><span class="s1">'Ajuste 1D'</span><span class="p">)</span> + <span class="c1">###########################################################################################</span> + + +</pre></div> + + </div> +</div> +</div> +</div> + +<div class="jp-Cell-outputWrapper"> + + +<div class="jp-OutputArea jp-Cell-outputArea"> + +<div class="jp-OutputArea-child"> + + + <div class="jp-OutputPrompt jp-OutputArea-prompt"></div> + + + + +<div class="jp-RenderedImage jp-OutputArea-output "> +<img src="data:image/png;base64,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hICAAERGRkodjlbTpnNSE9sSTW4HNP173NnZGe+++y7atGmDVq1awdraGoMGDWpwOZr3P6cCRUVFGDp0KL766itYWVlJHQ527NgBJycnBAQESB3KfSorK3Hy5Em89tpriI+Ph7m5ucb1LaZHU7c6oSrqXPdUgfWbHubvv//GyZMnsWvXLnzzzTc4dOiQ1CGRmtPEtkTT2wFN/x7Py8tDdHQ0UlJSkJWVheLiYmzcuLHB5ag84XF2dkZ6enrN44yMDDg7O6s6jAeqqKjA0KFDER4ejhdeeEHqcAAAR44cQUxMDFxdXREWFob9+/dj1KhRUocFoPoqk1wur7lSM2zYMJw8eVLiqMSj7uerKqhjnVAVda57qqDt9ftBWO/r5+5n4uTkhOeffx5xcXESR6S9tOGc1NS2RNPbAU3/Ht+3bx/atWsHR0dHGBoa4oUXXsA///zT4HJUnvAEBQUhOTkZKSkpKC8vR1RUFEJDQ1UdRp0EQcDEiRPh6emJadOmSR1Ojfnz5yMjIwOpqamIiorCgAEDGpXdNoeWLVvCxcUFFy5cAAD8+eef8PLykjgq8ajz+aoK6lonVEWd654qaHv9fhBdr/f1UVxcjMLCwpp/79mzB507d5Y4Ku2l6eekJrclmt4OaPr3eJs2bXD06FGUlJRAEAT8+eef8PT0bHA5Bs0Q28N3aGCAFStWIDg4GEqlEhMmTIC3t7eqw6jTkSNHsGHDhpppNgHg888/R0hIiLSBqbnly5cjPDwc5eXlcHNzw5o1a6QOSTTqfL6qAusEaXP9fhBdr/f1cePGDTz//PMAqrvMvPTSS3jqqackjkp7afo5ybZEWpr8Pd69e3cMGzYM/v7+MDAwQNeuXREREdHgcmSCIAjNEB8REREREZHkOGkBERERERFpLSY8RERERESktZjwEBERERGR1mLCQ0REREREWosJDxERERERaS0mPEREREREpLWY8BARERERkdZiwkNERERERFqLCQ8REREREWktJjxERERERKS1mPAQEREREZHWYsJDRERERERaiwkPERERERFpLSY8RERERESktZjwEBERERGR1mLCQ0REREREWosJDxERERERaS0mPEREREREpLWY8BARERERkdZiwkNERERERFqLCQ8REREREWktJjxERERERKS1mPAQEREREZHWYsJDRERERERaiwkPERERERFpLSY8RERERESktZjwEBERERGR1mLCo2KpqamQyWSorKwEAPTr1w8//vijxFERievVV1/Fp59+KnUYRPQAbItI27EdonvpdMLj6uoKU1NTWFhY1Px54403HvoemUyGS5cuqSjCuiUnJ8PExASjRo2SNA6ifv36wdbWFmVlZbWe//777zFr1qwmlX3gwAHI5fJGv7+8vBzDhg2Dq6srZDIZDhw4UOv1cePGwcjICJaWlrC0tETnzp0xY8YM5OfnNyluoobStLaoX79+MDExqYnVw8NDkjiIALZDVD86nfAAwO+//46ioqKaPytWrGhSeXevljWnyZMnIygoqNn3Q/QwqampOHz4MGQyGWJiYqQOp069e/fGxo0b0bJlyzpff++991BYWIjs7GysWbMGR48eRa9evVBcXKziSEnXaVpbtGLFippYL1y40Kz7InoQtkNUXzqf8NTl0qVLePzxx2FtbQ0HBwe8+OKLAIC+ffsCAHx9fWFhYYGtW7fWZP9ffPEFWrZsifHjx6OqqgoLFixA+/btYW9vjxEjRiA3N/eR+718+TIGDBgAe3t7ODg4IDw8HLdv3661TVRUFGxsbPDEE0+IftxEDbF+/Xr06NED48aNw7p162q9Nm7cOHz00UcAgLVr16J37961Xr/36vTOnTvh5eUFS0tLODs748svv0RxcTEGDx6MrKysmqvIWVlZDapbRkZGmDp1Knr37g19ff2HHouJiQmCgoIQExODW7duYc2aNY39WIhEo85tEZE6YDtE9cWEpw6zZs3CoEGDkJeXh4yMDLz55psAgEOHDgEATp06haKioprG5/r168jNzUVaWhoiIyOxfPlybN++HQcPHkRWVhZsbW0xefLkR+5XEATMmDEDWVlZSEpKQnp6OubMmVPzekFBAWbPno0lS5aIf9BEDbR+/XqEh4cjPDwcu3fvxo0bNxpVzsSJE/HDDz+gsLAQZ8+exYABA2Bubo5du3ahdevWNVeRW7du3ei6VV+WlpYYOHAgDh8+LFqZRI2lrm0RAMyYMQMODg7o1avXfd10iFSF7RDVl84nPM899xxsbGxq/qxcuRKGhoZIS0tDVlYWTExM7rsq8F96enr45JNPYGxsDFNTU3z//feYN28e5HI5jI2NMWfOHPzyyy+P7GLg7u6OgQMHwtjYGI6Ojpg2bRoOHjxY8/qsWbMw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 +" +> +</div> + +</div> + +</div> + +</div> + +</div> +<div class="jp-Cell-inputWrapper"><div class="jp-InputPrompt jp-InputArea-prompt"> +</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown"> +<ul> +<li>Automatizaremos los procesos de obtención de parámetros para la gausiana del ajuste 2D</li> +</ul> + +</div> +</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell "> +<div class="jp-Cell-inputWrapper"> +<div class="jp-InputArea jp-Cell-inputArea"> +<div class="jp-InputPrompt jp-InputArea-prompt">In [18]:</div> +<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline"> + <div class="CodeMirror cm-s-jupyter"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="k">def</span> <span class="nf">luminosidad_2D</span><span class="p">(</span><span class="n">estrella</span><span class="p">):</span> + <span class="sd">'''Funcion que extrae cada valor de la luminosidad con sus respectivos valores en X y Y,</span> +<span class="sd"> y los retorna en forma de arrays.</span> +<span class="sd"> '''</span> + <span class="n">x</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">arange</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="n">estrella</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="mi">1</span><span class="p">)</span> + <span class="n">y</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">arange</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="n">estrella</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span> <span class="mi">1</span><span class="p">)</span> + + <span class="n">lum_list</span> <span class="o">=</span> <span class="p">[]</span> + <span class="n">x_list</span> <span class="o">=</span> <span class="p">[]</span> + <span class="n">y_list</span> <span class="o">=</span> <span class="p">[]</span> + <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="n">x</span><span class="p">:</span> + <span class="k">for</span> <span class="n">j</span> <span class="ow">in</span> <span class="n">y</span><span class="p">:</span> + <span class="n">lum</span> <span class="o">=</span> <span class="n">estrella</span><span class="p">[</span><span class="n">x</span><span class="p">[</span><span class="n">i</span><span class="p">],</span><span class="n">y</span><span class="p">[</span><span class="n">j</span><span class="p">]]</span> + <span class="n">lum_list</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">lum</span><span class="p">)</span> + <span class="n">x_list</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">x</span><span class="p">[</span><span class="n">i</span><span class="p">])</span> + <span class="n">y_list</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">y</span><span class="p">[</span><span class="n">j</span><span class="p">])</span> + <span class="k">return</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">lum_list</span><span class="p">),</span><span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">x_list</span><span class="p">),</span><span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">y_list</span><span class="p">)</span> + +<span class="n">lum_2D</span><span class="p">,</span> <span class="n">x_2D</span><span class="p">,</span> <span class="n">y_2D</span> <span class="o">=</span> <span class="n">luminosidad_2D</span><span class="p">(</span><span class="n">estrella2</span><span class="p">)</span> + + +<span class="k">def</span> <span class="nf">ajuste_2D_Aut</span><span class="p">(</span><span class="n">estrella</span><span class="p">):</span> + <span class="sd">'''Funcion que recibe los valores X,Y,Lum de una estrella los parámetros de</span> +<span class="sd"> la gaussiana que mejor se ajustan a los datos '''</span> + <span class="n">lum_2D</span><span class="p">,</span> <span class="n">x_2D</span><span class="p">,</span> <span class="n">y_2D</span> <span class="o">=</span> <span class="n">luminosidad_2D</span><span class="p">(</span><span class="n">estrella</span><span class="p">)</span> + <span class="n">prob</span> <span class="o">=</span> <span class="n">lum_2D</span> + <span class="n">A</span> <span class="o">=</span> <span class="mi">1</span> + <span class="n">x0</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="nb">max</span><span class="p">(</span><span class="n">x_2D</span><span class="p">)</span><span class="o">+</span><span class="nb">min</span><span class="p">(</span><span class="n">x_2D</span><span class="p">))</span><span class="o">/</span><span class="mi">2</span> + <span class="n">y0</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="nb">max</span><span class="p">(</span><span class="n">y_2D</span><span class="p">)</span><span class="o">+</span><span class="nb">min</span><span class="p">(</span><span class="n">y_2D</span><span class="p">))</span><span class="o">/</span><span class="mi">2</span> + <span class="n">sigmax</span> <span class="o">=</span> <span class="n">std_prob</span><span class="p">(</span><span class="n">x_2D</span><span class="p">,</span><span class="n">prob</span><span class="p">,</span><span class="n">x0</span><span class="p">)</span> + <span class="n">sigmay</span> <span class="o">=</span> <span class="n">std_prob</span><span class="p">(</span><span class="n">y_2D</span><span class="p">,</span><span class="n">prob</span><span class="p">,</span><span class="n">y0</span><span class="p">)</span> + <span class="n">sigmaxy</span> <span class="o">=</span> <span class="p">(</span><span class="n">sigmax</span><span class="o">+</span><span class="n">sigmay</span><span class="p">)</span><span class="o">/</span><span class="mi">2</span> + <span class="n">C</span> <span class="o">=</span> <span class="nb">min</span><span class="p">(</span><span class="n">lum_2D</span><span class="p">)</span> + <span class="n">p1</span> <span class="o">=</span> <span class="p">[</span><span class="n">A</span><span class="p">,</span> <span class="n">sigmaxy</span><span class="p">,</span> <span class="n">C</span><span class="p">,</span> <span class="n">x0</span><span class="p">,</span> <span class="n">y0</span><span class="p">]</span> + <span class="n">best</span><span class="p">,</span><span class="n">suss</span> <span class="o">=</span> <span class="n">leastsq</span><span class="p">(</span><span class="n">Error_gauss_2D</span><span class="p">,</span> <span class="n">p1</span><span class="p">,</span> <span class="n">args</span><span class="o">=</span><span class="p">(</span><span class="n">x_2D</span><span class="p">,</span><span class="n">y_2D</span><span class="p">,</span><span class="n">lum_2D</span><span class="p">))</span> <span class="c1"># ajuste</span> + <span class="k">return</span> <span class="n">best</span> + +<span class="c1"># GRÃFICA</span> + +<span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span> <span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="mi">10</span><span class="p">):</span> + <span class="n">x_para_model</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">arange</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="n">estrellas</span><span class="p">[</span><span class="n">i</span><span class="p">]</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="mf">0.1</span><span class="p">)</span> + <span class="n">y_para_model</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">arange</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="n">estrellas</span><span class="p">[</span><span class="n">i</span><span class="p">]</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span> <span class="mf">0.1</span><span class="p">)</span> + <span class="n">best</span> <span class="o">=</span> <span class="n">ajuste_2D_Aut</span><span class="p">(</span><span class="n">estrellas</span><span class="p">[</span><span class="n">i</span><span class="p">])</span> + <span class="n">X</span><span class="p">,</span> <span class="n">Y</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">meshgrid</span><span class="p">(</span><span class="n">x_para_model</span><span class="p">,</span> <span class="n">y_para_model</span><span class="p">)</span> + <span class="n">Z</span> <span class="o">=</span> <span class="n">func_gauss_2D</span><span class="p">(</span><span class="n">best</span><span class="p">,</span><span class="n">X</span><span class="p">,</span><span class="n">Y</span><span class="p">)</span> + <span class="n">fig</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">figure</span><span class="p">()</span> + <span class="n">ax</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">axes</span><span class="p">(</span><span class="n">projection</span><span class="o">=</span><span class="s1">'3d'</span><span class="p">)</span> + <span class="n">ax</span><span class="o">.</span><span class="n">plot_surface</span><span class="p">(</span><span class="n">X</span><span class="p">,</span> <span class="n">Y</span><span class="p">,</span> <span class="n">Z</span><span class="p">,</span> <span class="n">rstride</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">cstride</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">cmap</span><span class="o">=</span><span class="s1">'Blues'</span><span class="p">,</span> <span class="n">edgecolor</span><span class="o">=</span><span class="s1">'none'</span><span class="p">)</span> + <span class="n">ax</span><span class="o">.</span><span class="n">set_xlabel</span><span class="p">(</span><span class="s1">'x'</span><span class="p">)</span> + <span class="n">ax</span><span class="o">.</span><span class="n">set_ylabel</span><span class="p">(</span><span class="s1">'y'</span><span class="p">)</span> + <span class="n">ax</span><span class="o">.</span><span class="n">set_zlabel</span><span class="p">(</span><span class="s1">'lum'</span><span class="p">)</span> + <span class="n">plt</span><span class="o">.</span><span class="n">title</span><span class="p">(</span><span class="s1">'Ajuste Gaussiano Superficie Estrella'</span><span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">)</span> <span class="p">);</span> +</pre></div> + + </div> +</div> +</div> +</div> + +<div class="jp-Cell-outputWrapper"> + + +<div class="jp-OutputArea jp-Cell-outputArea"> + +<div class="jp-OutputArea-child"> + + + <div class="jp-OutputPrompt jp-OutputArea-prompt"></div> + + + + +<div class="jp-RenderedImage jp-OutputArea-output "> +<img src="data:image/png;base64,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eOqpp3jjG994WVNVP7TWHD58GCEE99xzD8YYpqamuHjxItPT0zQaDbZv387o6OiqfeZc+EgjbebF9ZnamgdJEvVszwq5/08hepSnf/MnfA6Jre7UiEL1LK+RkLiCsZz/sxghfVqtGZTyKFUsIXu5teGkC3VBb3ParblFkpew52nXVFO4TbkQkHFWk93OvCjMunQISZbEeL43V8/hCsJyS0IgilStdb0gt1XAWH0XbdsLuu0WQRDgByUbH1mQxo3jmOeee47bb7+dsbGxBefD8Eu/9Es8/fTT/N7v/d6qXOH14Kd+6qf4rd/6LTzPo9frMTs7y9//+3+f3/7t317tol51lsirikT6obXmmWee4YMf/CCf+tSnuOOOO3jqqad405veNK+AKE1T9u/fz+joKLt377480GoM09PTXLx4kcnJSer1Otu2bWNsbGzNT7AkzTh5+iyjW7dTLlec2zInc5gXVeXtvZnJ3RznSoj89tJoLR2ZaGdlWFdHu3iKylOkRtPttFB+Ca1TwpINGAudujJ/l8URrvO4IArRZ1G54i8xF29RQts6ERdP8dxmaySKjFarRbnWcJ3B7pgikcLFjPrco/64B/1xD3AKZLafCWmHZ106f46Tx48WmbdyuUySJDz77LPceuutbN269bJz+au/+quFK7ye2c7rwac//enXlDtzXVXZrAZSSl73utfxute9Dq01zz33HB/84Ad597vfzU033cRb3/pWHnroIf7oj/6It73tbYtKMILNZIyMjDAyMoIxhtnZWS5evMgrr7xCpVJh27ZtbNmyZcUFSVEUsW/fPnbv3s1INcCYFI3NfqTOGsjJRDrXwhOuKkWbougKXBGWFHguRQoUsRQkBGRkrnak025SawyRl7fl7lCnY6tljTZIT4Gwg7p9NadyZquHQWtn8whZVM0KR0DKCSXbOT0GmaUY6VFrDBcWls2mGCQpuYCydJmuPDgqjB0BYU24PgWyPAujfPtelrJ1yzBD9Qe5dOkSL7zwAnEcE8cxu3fvvkwRzBjDr//6r/OpT32Kj3zkI9eMQF6LeNVaIkvBGMPBgwf5lV/5FT7wgQ/wxV/8xbzlLW/ha7/2ay8zfa+0nFarVVTLhmHI9u3b2bp165ImcqfTYf/+/dx1112X+el2mbb7NkXZClgXK5BirpFQGqsHm783976NMeQpZmux2ODu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 +" +> +</div> + +</div> + +<div class="jp-OutputArea-child"> + + + <div class="jp-OutputPrompt jp-OutputArea-prompt"></div> + + + + +<div class="jp-RenderedImage jp-OutputArea-output "> +<img src="data:image/png;base64,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85LZvs0EIum+7bVqHHd6Ne2/KXkkkMblNY5AciH5zo7Gexw7zE0emQBtaki6+mETz3ulxXHMO9/5TtavX8+HP/zhZSUQmE4i830tg9OORE6qKJGIcNFFF7FlyxbuueceBgcHueOOO3jta19LPp/nZS97GS972ctYu3btnF9+Vg/TGMPExARHjx5l9+7dFAoF1qxZM30OjUlsaAFsPAQyNoQYRBvGihMoT+jrtQSCydyNk03hqMDdNbMyhskKlMzCsRwiaEckylk76erLcIqQBGNpLD7nBuh6ncmJCXr7ekF56aJMbB8XKbKf8X06fJ/Ojk60jq3G69QkOtbkc7bATTwX46GRTG109pqsaZC9+k1/pkRgNMXxoh3P0FkgsTyy9lSDsLIWTWZjLbtcKIForfnt3/5tBgcH+dCHPrTsBDITDh06xPr16wE7q/eyyy5b8WNYbpxUSySB1rqp2c4Yw969e7njjju48847ERFe+tKXcuutt7Jhw4YF/RgmJyc5evQoQ0NDBEHAmjVrWL169QwK8w1LxSDEWjM2NkY+X6CjozBDChhIF1v22RY3IBNcbXZ17P+nuiA0FmCyhea0rYVCiDHUKxXKlQrdPT3N1y69w9u4ByYJgLotGdz1S7JFmnq1TrVWJY61VW8LQvywWZoyWd1NVz4hl1Yi0YbieJFcPk++kHPva+yzOe4x8603yyXpVV4ggfzBH/wBIsL/+l//a86xJEuF1772tXzve99jaGiItWvX8id/8id873vf46GHHkJEOPvss/nbv/3blFRmwWlniZwSJDLnDo3hySef5I477uCrX/0q1WqVl770pdxyyy1s2rRpQYRSKpU4evQox44dQynFmjVrWLNmzbRagkqlwuOP7+KMTWfR09NL4kqkhkgmddzsdGTvs3aubhOLAAl1aNNYVNnPW71VafqMcVtKCKdaqVAqV+jt63VDs7JbafydfabpeXceyd922zbGEtXsPJp6vY4f+A39D5qrXJMjk6z7AqA1Y+PjFPId5DpyTe9vbZyTGdZLM3lkiGcB7fxaa/7oj/6IUqnEJz7xiRUhkCVEm0SWE8YYjh49yle+8hW+8pWvUCwWedGLXsStt97KeeedtyBCqVQqHD16lKNHj2KMSQkl0Xq98MIL00bBRtbCs5SRiYs0yMQdY+bO3FoF23h/s/2iM4VlLWdMeq93XFQulajX6/T09szgUjVTWfJcapVk3J1EfV1a9uWeBmOI6nVq1Rq1eg3P98kFIbm8Uyib6fPa6rsUCgVrgWRcqxYvjearJo2tZYKt6ZVbQBDVGMMHP/hBjh49yqc+9al5Va+eYmiTyEpiaGiIf/qnf+KOO+7g2LFjvPCFL+SWW27h4osvXhChVKtVjh07xsGDB5mcnEylClrHVSQwJO6HStOcSVl9630/WyQ2bTvTCCXzyDQ2mxDM1FQJHUV09TTqbJpdneZgqsku3RavI4nTTCcvt4ileYnHtZhqzSrVi4gduRGGiO9qcLVmbGycjkKBfCFPgxgaW8laGdk/Ewus9SuzIab5WyDGGD760Y+ya9cuPve5z52OBAJtEjl5GB0d5a677uKOO+5g//793HTTTdx2221cdtll8zJnjxw5wt69e7n44ouZmJjgyJEj1Gq1tFq2s7NzVmKypCI0ym5mEj1SZPtxspeyESlodn1cLgLQTE1MYbSmq6enyZ1q3tJ0ZEkilThoep1MNLNhzzSfaYaMxKDrEdVajWq1CiIEvk+tWqOrq4tcvtmFaQRO3TZaCGTOvxdIIH/5l3/Jli1b+Md//MfTeSZMm0ROBRSLRb7+9a9zxx138Pjjj/O85z2PW2+9NS00asW+ffsYGhriiiuuaPrxRVHEsWPH0n6ewcFB1q5de9yKW7vwFUmitDnvQ/rI/juDhdK0MVvGrpSis6uT1jhHc2iymR6muzZZp2IG04QshTQWfONdjWrVBFE9Yny8aPVPgHzoWvUDv7G/JJBrJPNcdtutxCUsZKyDMYa/+qu/4kc/+hFf/OIXZx3LepqgTSKnGqampvjGN77B7bffzvbt27nxxhu55ZZbuP766wHYvHkzQRBw6aWXHneweNIgODk5ycDAAGvXrrUqYXMQio2nSAuhyLT3ND92z2jD2HiRMLSVnq3vs6X12WU/M5mkBCGSCQyTNs3NboFktzL9FeMyWJ2dXeRyIWhDxXXWRlFEGAbkcwXC0CcZJNV89plja9pwPMNVmRnGGD75yU/yne98hzvuuGPGhrvTDG0SOZVRqVT49re/ze23385Pf/pTwjDkhhtu4CMf+ci0aXtzQWvN8PAwR48epVgspv08fX2zjXi0aBBKMsJpunuRvA9tGB0bI5/PU+gouOebG+csZiKOLKZngWZ+1xyZkhle0TpmzGnc5nIBaYomE+exLk+FqF4n8APCfI5cmHOl/Il+WibUKgb0wgjkM5/5DHfddRd33nkn+Xx+Xp87xdEmkdMBExMT3HbbbZx//vnUajV+8pOfcMMNN3DLLbfwnOc8Z8GEkpTfj42N0dPTk5bfH49QGnGUhpMgbptj4+N0dHS4O+vMZDPzVmcijdaYx3TMboFM30fsgqhd3V0zTBlMEiwNt0WMoVqvU61WqdXq+CKE+bwdreGrzK9KY2fDzA9///d/z5e+9CXuuuuuaSNHTmO0SeR0QL1e59577+UXf/EX08ff//73uf322/nhD3+Ylt/feOONCzKPjTGMjY1x9OhRRkZG6O7uZs2aNQwODs6ZKUgJRTziSDM2PmqDlGEufb0RoJwvoSwcs/56My/Eccz4+DjdXd0u9jCdpGY6umwspB5ZsaVKtYqIkMvnCDxFLph/MPRLX/oSn/nMZ/j6178+axbtNEWbRE53xHHMD3/4Q26//Xa+973vcfnll3PrrbfyvOc9j0KhMO/tGGMoFotpP09HR0dafj9b5qBUKrF9+6NcfOml5Ds6aGqOazUyZrQqZrc0ZoSrB0ldkdnPBowijiPGx8fp6u4mFwYkPUDNdpTdsEw/4JaH9rNRpCkWx9iz63GiKEq1P7q6umaNNX31q1/lb//2b7n77rvp6emZ//nOAzMJC42MjPDqV7+aPXv2cPbZZ/OlL30prSFaBrRJ5KkErTU//vGPuf322/nud7/LBRdcwK233sov//IvL+juZ4xpKr/P5XJp+X3iOk1MTLBt2zYuu+wyurut6rl1d7yMHrW4UaDMwBcmXdT2YUIMs9SJNH0meZ9qJFNasjhRFDFeHKenu5sgCJBpBOHiHE2hmiQrMwNRZcnQFZNl1e1KpRKDg4OsWbOmKXh999138z//5//k61//+rIs5JmEhX7/93+fgYEB3vve9/LRj36U0dFR/vRP/3TJ9+3QJpGnKrTW/OxnP+PLX/4y3/72tzn77LN52ctexs0337zgu+HU1FRafu/7Pt3d3Rw7dowrr7xyRnKyAdlEeCmzeKeRRsvdf5psZOb9rZ9JrZIGkl3Vo5hicZzu7m7ClniRTHvQmkbOnES6UfeEgdlqQeI4ZmRkJA1ef+c730Epxbe//W2++c1vMjg4OOPnlgKt3bYXXngh3/ve91i/fj2HDh3ixhtvZMeOHcu1+zaJPB2gtWbr1q3cfvvt3HPPPaxfv56XvexlvPjFL17w3fHgwYM88cQTbgyCz+rVq1mzZs2smQbjYiet9SIWc2VqGotbmgij9TPNi78ex4yNjtHb22tjFplO5ll32WgyaiG2FlNEz6+YzBjDX//1X/PpT38a3/e55JJL+PSnP51abEuNVhLp6+tjbGwsPZb+/v708TLgtCOR07as72RCKcWVV17JlVdeyQc/+EEeeeQRbr/9dm677Tb6+/ubNFHmwpEjRzh48CA/93M/RxiGaT/Pww8/jNaa1atXs3bt2qZYjGDARHbNOjLJFmw1rIrkOUhsmcbbsoThCuVFwOjMtqAW1SkWi/T19RIGvttEUig2W7wj8b2ksdvk/UmNCsybQAD+7d/+jS984Qt873vfY+3atTz88MNNEwFWEnMOV3uaYsUskW9+85u8613vIo5j3vKWt/De9773RDd1ysIYw+OPP87tt9/OXXfdRaFQ4GUvexkvfelLp2miHDx4kMOHD3PllVfOGGit1Wppg2AURamFMnMsRkh1ZmdK704jjlmCnjReqkUxxfExenrcqNKMhuwMPkzmImSfysRc0t3P3wIBuPfee3nPe97D3XffzcaNG+f9ucWg7c4sDCtCInEcc8EFF/DP//zPnHHGGVx33XV8/vOf55JLLjmRzZ0WMMawZ8+eVBPF87xUE+WrX/0qz3zmM7nuuuvm1SRWr9fT8vtKpZL288yYwZCk7kSa4yczHiQzkkOtXmd8vEhfX5+dxJf8RtLydSCpQG3yimbJDqUEtTACue+++3j3u9/N1772Nc4666x5f26xaCWR97znPQwODqaB1ZGREf7sz/5suXbfJpGZ8KMf/YgPfOADfOtb3wLgIx/5CADve9/7TmRzpx2MMRw8eJDbb7+dj33sY3R2dqZzTxaqiRJF0YwZjHScRgpnnTTFJ2bbaoMcanFEcaxIb18PgednAqHp2dCc7UmIJGNxtH4keV7X532eP/vZz3j729/OnXfeyTnnnDPvzy0WMwkL3XrrrbzqVa9i3759bNq0iS996UsMDAws1yGcdiSyIjGRgwcPcuaZZ6aPzzjjDH7yk5+sxK5PCYgIZ5xxBkopXvSiF/GHf/iH3HnnnfzWb/0WExMTvPjFL+aWW26ZlyaK7/usW7eOdevWEccxw8PD6TiNgYGBtPzeGg2xW9QZ6wRmiW0I1XqNiYkJ+vp6rYuVzLxI35JhiGRz6WzR5GQzpknabbwwC2Tr1q385m/+JnfccceKEgjA5z//+Rmf/+53v7uix3E6oR1YXUG89a1vJZ+382B+8zd/k9/8zd9kaGiIO++8k/e+970MDQ1x8803c8stt3DRRRcdl1A8z0vFlLTWjIyMcOjQIR599FH6+vrS+Ty2+t4N1RUv48I0/q1GdYrFSfoTAoEWKyRDKAmppBZOJguTDaYmBS7x/EWFtm/fzlvf+la++MUvcv7558/7c22cPKwIiWzcuJH9+/enjw8cOLBiQbJTCTNVvK5atYq3vOUtvOUtb2F0dJSvfe1r/Mmf/AkHDhzgl3/5l7ntttuO22EMNmO0atUqVq1aZXtvXPn9zp076enpScvvVRp7FWxcQ1GtVZmYnGSgr8/FaFqyPK3ZmKasS8aiacoIudcWYIHs2LGDN73pTfzDP/wDF1988bw/18bJxYrERKIo4oILLuC73/0uGzdu5LrrruMf//EfufTSS09kc08LFItF7r77bu644w6eeOIJnv/853Prrbdy1VVXLUgzNBmnceTIEUZGRujq6krL7z3PY3R0lMNHjnH+BefjB2HGhWnJqtitZQgjk3mZCQLE89cEeeKJJ3jd617HZz/7Wa6++up5n99TEKddTGTFUrz33HMP7373u4njmDe96U384R/+4Ylu6mmHycnJVBPlkUce4Zd+6Ze45ZZb5p3dSZCM0zhy5AjDw8N4nkelUuHqq69u1F1ItjKWRiwkcU9mTPjMEAfR8yeQvXv38prXvIZPfepTXHfddfM+n6co2iTSxvKiUqnwrW99i9tvv52HHnqI5zznOdxyyy3ccMMNC5IEHBoaYufOnaxatYrR0VHCMEzjK6kUgnjuJ521fLLB1SQO0mKVLIBADhw4wKte9So+8YlPcMMNN8z7+J/CaJNIGyuHarXKd7/7XW6//Xbuu+8+brjhBm699Vae/exnz6mJkgy4vvrqq1MpwWw/TzZgm0ohpITS4sKYlt/8Agjk0KFDvPKVr+RjH/sYz33uc+d93k9xtEnkVMLZZ59Nd3c3nufh+z4PPPDAyT6kZcNMmii33norN954Y5Pm6LFjx9i9ezdXXXXVrFqk5XI5JRQgJZS0n0c80mKzrFWiY1qb+GbDkSNHeMUrXsGf//mf8x/+w3840dN+KqJNIqcSzj77bB544IHj9rA81RBFUaqJ8v3vf58rrriCW2+9leHhYUSE17zmNfNWb6tWq2n5fRzHKaFYJbEkvatcTcr8fh5DQ0O8/OUv50Mf+hAveMELFnGmT0m0SeRUwtOVRLKI45gf//jHfOQjH+GBBx7gOc95Drfddhs33XTTghXBarVaWn5fq9XSfp6FNMONjIzw8pe/nPe///285CUvWejpLAgrYYm+//3vZ2BggHe/+90A/OEf/iFr1qzhXe9614lusk0ipxLOOecc+vv7ERHe9ra38Z/+03862Yd0UrBr1y7e/OY389WvfpXHHnss1UQ599xzU02UhbbVZwWEyuUyq1atYs2aNXOO0xgbG+MVr3gFv//7v89tt922FKc2J1biJrJnzx5e/vKX87Of/QytNeeffz733XffYvRO2iRyKuHgwYNs3LiRo0ePctNNN/G///f/ftoG8KIoasreaK3ZsmULt99+O9/4xjfYsGFDqonS19e3oG0n4zSOHDnC1NTUjIpkxWKRV77ylfzWb/0Wr3rVq5by1GbFSlmiN910E3/2Z3/GkSNH+NSnPsXtt9++mM21SeRUxQc+8AG6urr4vd/7vZN9KKccjDFs376d22+/nbvvvpvBwcFUE2Whd9REkezIkSNpTYrWmk9+8pO89a1v5dd+7deW6SymY6Us0S9+8Yvce++9HD58mDe84Q286EUvWszm2iRyqmBqagqtNd3d3UxNTXHTTTfx/ve/nxe+8IUn+9BOaRhjeOyxx1JNlI6ODm655RZe+tKXsmbNmgV1HGut+Zd/+Rc++MEPcuTIEW6++Wbe+c53cvnlly/jGTSwUpZorVbj8ssvp16v89hjjy12BnCbRE4V7Nq1K/W7oyjiV3/1V9tVsguEMYbdu3enmihBEPDSl76UW265hfXr1x+XUCqVCq95zWt4xStewZvf/GbuvfdeBgcHT0q7w3Jbor/xG79BX18fH/3oRxe7qTaJtPHUhDGGAwcOpIQSRVFKKGeeeeY0QqlWq/zar/0aL3zhC3nHO96x4pKCK2mJaq255ppr+PKXv7wUncdtEmnjqQ9jDIcPH+YrX/kKX/3qV5mcnEw1UZ7xjGdQr9d54xvfyHOe8xx+53d+56Rokq6UJbp9+3Ze8pKXcNttt/EXf/EXS7HJNok83XAKDDs66Th27Bh33nknd9xxB0NDQ9RqNV772tfy3ve+ty1qvHCcdhesTSKLxCkw7OiUwvDwMJ/+9Kd5z3ve0yaQE8Npd9HaJLIEOMnq4G08tXDakcj81W3amDeOHDnC+vXrAVi3bh1Hjhw5yUfURhvLhzaJLDPaw47aeKqjTSLLgLVr13Lo0CHAamasWbPmJB9RG20sH9oksgx42ctexmc/+1kAPvvZz3LLLbec5CNqo43lQzuwukicAsOO2nhq4bTzfdsk0kYbpxZOOxJpuzNttNHGotAmkdMYb3rTm1izZg2XXXZZ+twHPvABNm7cyFVXXcVVV13FPffccxKPsI2nA9okchrjjW98I9/85jenPf/bv/3bPPTQQzz00EOL1bY4KfjmN7/JhRdeyHnnnbcUXbFtLDPaJHIa47nPfe5TLmAbxzFvf/vb+cY3vsH27dv5/Oc/z/bt20/2YbUxB9ok8hTExz/+ca644gre9KY3MTo6erIPZ0G47777OO+88zj33HMJw5DXvOY1/NM//dPJPqw25kCbRFpw//33c8UVV1CpVJiamuLSSy9Ne2JOB/zn//yfeeKJJ3jooYdYv349v/u7v3uyD2lBOHjwIGeeeWb6+IwzzuDgwYMn8YjaOB4WmuJ9WkBE/huQBwrAAWPMR07yIc0KETkbuNsYc9lCXjtVISKvBF5ojHmLe/x64FnGmHec3CNrYzbMf3jr0wsfBO4HKsBvneRjWRBEZL0x5pB7eBtw+phRFgeBMzOPz3DPtXGKok0iM2MQ6AICrEUydXIPZ2aIyOeBG4FVInIA+GPgRhG5ClsYuAd428k6vhPE/cD5InIOljxeA/zqyT2kNuZC252ZASLyNeALwDnA+rYpvbIQkRcB/xPwgL8zxnzo5B5RG3OhTSItEJFfB24xxrxCRDzgXuB9xph/OcmH1kYbpyTaJNJGG20sCu0UbxtttLEotEmkjTbaWBTaJNJGG20sCm0SaaONNhaFNom00UYbi0KbRNpoo41FoU0ibbTRxqLw/wN/iPr4Cq6ZhwAAAABJRU5ErkJggg== +" +> +</div> + +</div> + +<div class="jp-OutputArea-child"> + + + <div class="jp-OutputPrompt jp-OutputArea-prompt"></div> + + + + +<div class="jp-RenderedImage jp-OutputArea-output "> +<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAREAAAECCAYAAADZ1uO7AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAACO8ElEQVR4nOy9eZhlV1nv/1lrD2eusbt6StKZQ+bO0CEyKMogYxIQZFLwRhR5hAte9SI/fpfBEUQEvKh4f6AoXERIBHMTBK8ooCgkIZ3u9JD0lB7T3dVd85n2tNbvj7X3Pruqa65T1dXJ+T5PPdVd55w9nb2++x2+7/sKrTUddNBBB4uFPNcH0EEHHZzf6JBIBx10sCR0SKSDDjpYEjok0kEHHSwJHRLpoIMOloQOiXTQQQdLwpJJRAjxGSHE/2jHwTydIIS4SAhRFUJY5/pYziWEEL8rhDgjhDg532sihHi+EOKJlTrGdkEIcUgI8aL43x8SQnzxXB/TSmDeJCKE+I4QYkQIkcv+XWv9K1rr31nKQQghXiCEOLbEbVSEEH8cf5E1IcQRIcQ9QohnL2W7i4XW+ojWuqy1jlZyv0KIHiHEX8aLdkIIsVcI8VsreQyZY7kI+HXgGq31+vleE631v2mtr1rkPj8vhPBjskp+ts/jc98RQrxtMftcKoQQvymE2Bl/X08KIX7zXBzHYjEvEhFCXAw8H9DAHct5QItBTGz/AlwPvBLoAq4Gvgy87Bwe2rnAJ4Ay5vy7Md/X/pU+CCGEDVwEDGmtB1d4938Yk1Xyc+NSNxifz3JBAG8BeoGXAu8UQrxhGffXXmit5/wBPgB8H/hj4P4pr30e+N34378A/PuU1zVwefzvlwO7gQngOPAbQAloAAqoxj8bMQT3W8ABYAj4CtA3w/G9DTgBlOY4j08BR4Fx4EfA86c7j/j/LwCOZf7/3viYJ4AngBfGf78NeDje5ingj+O/Xxyfux3//78Ae+LPHwTePnVfmKf2YHwu/yXzejfwN8Bp4DDw/wJyhnPcCdw1w2uTjin+23eAt2W+v+8DnwbGgMeT88wcx+fi4zsO/C5gTfnsJ+Lv69+nfK+fn+aa9AF/BTwFjABfn+HabwTujc//SeC/zvIdT/oep7yWB74YH98o8BCwDvg9IAKa8bF+OnPv/iqwD3gy/tsrgUfjz/8HcENm+4eAF8X//hDwxcxrXwVOxtf1e8C1s5zDnwD/cz5rczX8zNedeQvwv+OfnxZCrJvn56bic5jFUwGuA/5Fa13DWAtP6daT4yngXcBdwE9gbqIR4E9n2O6LgG/F25oNDwFbMDfvl4CvCiHycx20EOIq4J3A1vjYfxpzw4Ahpk9prbuAyzBkNx0GaVlJ/wX4hBDi5szr6zGLdBPwi8CfCiF649f+Z/zapZjr8ZZ4G9PhB8DvCSH+ixDiirnObRo8G0Pca4APAn8vhOiLX/s8EAKXAzcBL8EQePazBzEL88VM/l5/YZp9fQEoAtcCAxgCmgQhhAT+D7Adc21eCLxHCPHTizi3t2Ku44VAP/ArQENr/X7g34B3xsf6zsxn7orP6xohxE3AXwJvjz//F8B9U138GfCPwBXxeT6CWUtnQQghMFb/rgWf3bnCXCwDPA8IgDXx/x8Hfm065mduS+QI5gvomvKeF5B58sR/28Pkp+CG+DjsaY7xn4GPZP6/BfOkGAeemOXcRoAbp3uCZY8Js2gGMWTlTNnG94APJ9cn8/eLmfLUn/L614F3Z/bVYLKFMAjcDliAj4krJK+9HfjODNstAP8PxtIKMK7My2Y6Js62RJ4CROb1B4GfxxCDBxQyr70R+NfMZ4/M9r1m9x9/nwroneYcstf+2dNs933AX81w/p/HWBSjmZ+/jl+7mynWw3TXYcq9+1OZ//858DtT3vME8BPxvw8xgyUy5TM98ba7p3ntwxjCzM21NlfLz3wskbcC/6S1PhP//0vx3xaDn8G4NIeFEN8VQvzYLO/dDHxNCDEqhBjFkEqEuZmnYghzUwKgtX5Ua90DvAZInxJCiN8QQuwRQozF2+zGPHFnhdZ6P/AezI0xKIT4shBiY/zyLwJXAo8LIR4SQrxyum0IIV4mhPiBEGI43vfLp+x7SGsdZv5fx8Q21gAOxo1JcBjzVJ7uWBta69/XWt+CeVp+BWNx9U33/mlwXMd3c2ZfGzHfhwOcyHwnf4F5siY4Os99gLEGhrXWI3O8bzOwMdlnvN//h+nvgwR/pLXuyfwk9+sXgG8BXxZCPCWE+EMhhDPH/rPntBn49SnHciHm+swIIYQlhPiIEOKAEGKclhW7Zsr73omxMl+htfbmOK5Vg1lJRAhRAH4W+Ik42n8S+DXgRiHEdMGqGsY8TT6/Pvui1vohrfWdmBvv67RM/+lKiY9inqDZmyGvtT4+zXu/DbxECFGa5VyeD/z3+Hx6Y5IZwwS1zjp2jHuRPfYvaa2fh7mRNPDR+O/7tNZvjM/po8A9U48jNnfvBf4IWBfv+xuZfc+GMxiLYnPmbxdhYhKzQms9Dvw+Ju50SXyOzHaewKbYpM7u6ynM9+FhLK7k++jSWl+b3eU8zifBUaBPCNEzj/c9OeU+qGitX76AfZmD0zrQWn9Ya30N8ByMe/mWOY49+/ejwO9NOZai1vpv59j1m4A7MZZsN8Yig8z3L4S4GxMDfKHWekmZypXGXJbIXZin/zUYF2ELJur/b7QufhbbgWuFEFviWMOHkheEEK4Q4s1CiG6tdYBxNVT88imgXwjRndnWZzC+/eb482uFEHfOcJx/gwn2fU0IcV3M/Hng1sx7Khh//jRgCyE+gIlPJHgUeLkQoi8mv/dkjv0qIcRPxWTQpBUwRAjxc0KItVprhTGdyZxXAhdjEZ0GQiHEyzDxhDmhTTr0K/G1qMTX479hAoRnQQjxP4QQW+PrnQfeHR/XE1rr0xjy+bn4Gt2NieNkMQD8VyGEI4R4Heb7/obW+gTwT8DHhRBdQggphLhMCPET8zmPac7rBCZO8GdCiN54fz8+zVsfBCaEEO8VQhTi475OCLF1ofsUQvykEOJ6YXQq4xhyzt6Dl86xif8P+BUhxLOFQUkI8QohRGWOz1UwBDyEIfDfn3Jcb47/9mKt9cGFndW5x1wk8laM73lEa30y+cFE7988Ne2ltd4L/DYmRrEPE6HP4ueBQ7FJ9yvAm+PPPQ78LXAwNhM3YgKW9wH/JISYwAQMp9V8aK2bwE9iMj8PEMdCgK0YywOMGftNYC/GRG8y2VT9AoYED2EWy99lXssBH8FYBScxC+198WsvBXYJIarxMb9Ba92YcnwTwH/FkMEI5sl033TnMgPehbEiDmKu6ZcwAb7poDEZjzMYC+LFGPO4Gr/+S8BvYm7oazExgix+iAkAnsFkLV6rtR6KX3sLhhB3x+dxDxk3chH4ecxCfhwTA3rPWSdjSPSVmAfYk/FxfRbzRJ8J/11M1okkrvj6+JjHMe7xdzHfO5jv7rXCaKH+ZLqNaq0fxly/T2POfz8mFjQX/gZzzx3HXLsfTHn9dzGu50OZY/7MPLa7KiAmu7+L2IAQfwPs11r/dnsOqYNzBSHEL2CCi88718fSwfmDJcneY0vkKswTooMOOngGYqm1Mycx/va9Sz+UDjro4HzEkt2ZDjro4JmNTiuADjroYElYaFFRx2zpoIPlxXy0Q6sKHUukgw46WBI6JNJBBx0sCR0S6aCDDpaEDol00EEHS0KHRDrooIMloUMiHXTQwZLQIZEOOuhgSeiQSAcddLAkdEikgw46WBI6JNJBBx0sCR0S6aCDDpaEDol00EEHS0KHRDrooIMloUMiHXTQwZLQIZEOOuhgSeiQyCqA1hqlpk6Z6KCD8wPLOem8g3lAKUUQBNTrdSzLwrZtHMfBsiyk7HB8B6sfC+2x2uls1iZorYmiiCAI0Frj+z5CCLLfh5QSx3GwbbtDKs8cnHedzTokcg6gtSYMQ8IwTIkjCAKy0yuzA5N37drFtddem1oqyc/kaZcdPE1w3n2pHXdmhZG4L0ophBAzEkH2Nc/zkFKilMLzPDzPzHq2LGuSpdIhlQ7OBTokskLIui9CiAW7JlMJJwnGNpvN9G8dUungXKBDIiuAxF2JomhW62Mh6JBKB6sFHRJZZiil8H0frfWiCWQ+cauZSKXRaCCE4MSJE2zatAnXdTuk0kFb0SGRZcLU4OlKZ1YSUkn2e+LECTZu3JiSCnQslQ7agw6JLAOSlO1cwdP5ol2LW0qZkspUSwWYlPnpkEoH80WHRNqMMAw5cOAA69atI5/Pr9qFONVSSQK/YRim70mEb7ZtI6VctefSwblFh0TahKz7MjY2xpo1a86rRTddTCVLKslrjuOQy+U6pNJBig6JtAHTaT8WKOJbdZiOVI4fP47Wmo0bNyKEmOT+dEjlmYsOiSwBWe0HkLoGiTDs6YSEVIQQWJaVWl7JuXdI5ZmLDoksErNpP54Olsh00FqnRDmdpRIEwVmkki0m7JDK0xMdElkE5tJ+PF1JZDYkFkqC6UhlajFhh1SeHuiQyAIwX+3H05VEEtKcD6YjFd/38TyP48ePs2HDBgqFQmqptEvJ28HKo0Mi88RCtB9Px5jIUpElleHhYTZs2JCSSkLIWfenQyrnDzokMg9k+37M5+buWCKzQymFlDIlleRa+b6P7/sAZ5FKp5fK6kWHRGbBYqXrT1cSaReyAVpoaVA6pHJ+okMiM2C+fT+mw9OVRNplicy1nelIJXEns6QihCCXy6Up5Q7ODTokMgVTtR+L8c2llB0SaSOmSydrrXnooYe4+eabUysxyf50ur6tLDokkkG7+n4IIRYcWPV9H9d1Z9znuVrAy4WlnEtW+Gbbdkoq03V9S1pKPp2u3WpDh0RiRFHE0NAQlUplyZmBhbgzSin27NnDyMgIAJVKhd7eXvr6+nBdd9HHsBxYrUTWadB0bvGMJ5HEffF9n127dvGc5zxnyducL4nU63V27NjB+vXrueyyywCYmJhgZGSEXbt2EYYh3d3dqbx8tZHKakWHVFYWz2gSyWo/2hmYm49O5NSpU+zfv59rr72W7u7uNAbT3d1Nd3c3F198MVEUMTY2xuDgIDt27EAIQW9vL729vXR3d694MHG1WiJzYS5SGRkZoVKpUC6XO6SyCDxjSaQdbQtnwmwxEaUUe/fupVarsXXrVlzXndFqsSyLvr4+CoUCW7ZsQSnFyMgIg4OD7Nu3D9d1U9enXC4/4278xQavp37fp0+fniRyg46lshA840hkJdoWzuTONBoNduzYwcDAAFddddWCb0zHcRgYGGBgYACAZrPJyMgIR44coVqtUiwW6evro7e3l0Kh0PYb/3y1ROaCUirN6kCn69tC8YwikaVoPxaC6Ujk9OnT7N27l2uuuYbe3t4lbw8gn8+zYcMGNmzYgNaaer3O8PAw+/fvp9lspkHahe7vmYap7uxMXd+yA8Y6Xd9aeEaQSDu0HwtBNiailGL//v2Mj4+n7stMx7jUjFCpVKJUKnHhhReilEqDtLt376ZWq7F3796UVJKn7kKwmiyRdh7LXDGxuVpJJnVBz1RSedqTyFT3ZSW+3MRyaDab7Nixg/7+fm655ZYl6U4W6v9LKScFaR988EHWrFnDyMgIhw8fRghBT08PfX195yRIu1S0k0SiKJpUcTwXZmolWa/XOX78OJdeeukzqkHT05pEFuO+tOPmFEJQq9X40Y9+xLOe9Sz6+/uXtL12QAhBX18ffX19AARBwOjoKIODg+zfvx/bttN4SqKVmYrVZIm0M6O21G0l91by4BBCnNX17VOf+hQf+MAH2nK8qw1PSxJZ7MjK5EZYykLRWnPixAlGR0e5/fbbyeVyC/rsdPtejlocx3FYu3Yta9euBcy83+HhYY4dO8bExATFYjHN/CxHkHapaCehtWtbiUUznaVy7733dkjkfMFSpOtJLGOxTyXP83jsscfSLMp8CST7JJvp9eVGLpc7K0g7MjLCgQMHqNfrVCoVPM+jp6dnSftpFxm2W9vTThKZ79+fLnhakchStR9LaSY0PDzMnj17uPLKK7Esi1OnTi1qOzNhJQv6skHaCy64AK01ExMT7N27l0OHDnHo0CG6u7sXFaRtd0+SdqBd1zaKommPqV6vUywW27KP1YinBYm0S/uxGBLRWvPkk09y+vRpbr75ZgqFAiMjI21d9OfalRBC0NXVRaVSYf369ZTLZcbGxlKNitZ6kpJ2tqduO0nkXF+XqZjJ4qhWq5RKpXNwRCuD855E2jmycqEk4vs+jz32GOVyma1bt04aGdFuy2G1tBZI0pnTBWnPnDnDgQMHsG07jadMDdK2sydJuyyR5c7y1Ot1yuVyW/axGnFek0iz2UxZvh3p24UEMEdHR9m1axdXXHFFqiDNbqedPVZXS5OjmY5htiBttVqlUCiklorjOE9bd0Yp1bFEzhck7sv4+DiHDx/mhhtuaMt252OJaK05fPgwJ0+e5KabbprW110ti77dmK8VMTVI22g0GB4e5uDBg9RqNcIw5MSJE/T19S0oezX1WNpBIu10i6IomlZM2CGRVYas9sOyrLY+8ecikSAI2LlzJ7lcjttuu23FRkacz6QkhKBYLFIsFrngggtoNpvs2rUL3/fZvXs3YRjS1dVFX18fPT09OI4zr+22a/HPZD0sBjO5M7VarePOrAZMN7LStu0VI5GxsTF27tzJZZddxvr16+fczvm66GdDO+IZWmtc12Xz5s1s3ryZKIoYHx9neHh4QUHadrkz7XSLZsvOVCqVtuxjNeK8IJGZtB9SSqIoatt+piMRrTVHjx7l+PHjbNmyZV5maccSmRlTiciyrElFgmEYMjIyMmeQdjWmimeyamq1WifFey4xm/Zjud2ZMAzZtWsXlmVx2223zdvsbXdgdbWgXZbIbNuwbfusIO3IyAjHjx9nfHycQqFAX19f29yZmayHxW5rpsBqxxI5B5iP9mM5LZGJiQkee+wxLr74YjZu3Lig7SzGchgfH8d1XfL5fFu2t1qxUCLK5XKsX7+e9evXp0HakZERTp06hed5NBqN1JKZ7trNhZWKiSz0HjqfsCpJZL7aj3aLjZLFeuzYMY4cOcINN9ywqIDYQha9Uop9+/YxNjaWEmdSXdvT07Oq5NIrYYnMhmyQNily6+3tZXh4mMcffxzf9ycpaecTpG13TKSjE1kFWOjIynbj8OHDFAoFbrvttkX13ID5i9Y8z2PHjh309fWxZcuWtKPW6OhomhK1bZswDCfpYc4lziWJTN2OZVlUKhUqlQqbN29GKZUqaY8ePYrWelK7g+kW+EqQSK1W66R4VwIr0bZwNlSrVY4ePUp/fz/XXXfdkhsEzWWJJGK1q666ijVr1qTEaVkW/f39afsAz/PYuXMnp06d4vDhw5TL5TTQuBjzfSloh0vVzoDoVJKXUp4VpJ1OSZu0O0jc4eXOznRSvCuAlWpbOBOeeuopDh06xKZNm8jlcsuqfE2yPU899dSMYrUscrkcpVKJjRs3UqlU2HfoBH9z/yNsvaqfrqJNd3d36vos1nKaL861O7PQ7di2zZo1a1izZg3QCtI+9dRTTExMkM/n0wbN7TquDomsMFa6beFURFHE448/ThAE3HbbbZw6dSo9lqVgJhKJoohdu3YhhGDr1q0LyvY8eWyY9/3pl9lz8CRSCD5vS9b1d/GJ33g5cnSUQ4cOIaVMa1pmaix0rnEuU7PTBWkPHz7M6OgoDz74IOVyOW3M1E4rr0Miy4R2jqxczI1Zq9XYsWMHmzZt4sILL0xdqHakZqc7lnq9zvbt27ngggu48MILF7S9PYeH+c3/+S80vADfCyC+XiPjDd7yP+7hsx9+A7ffeiu+709qLFQqlSYVyi0Vq8kSaUc3smKxSHd3N5VKhU2bNlGtVhkZGVl0kHYmdEhkGdDOmS+JX7sQU/7kyZMcOHCA6667ju7u7knbWg59R9Lpfer+5oNdB07xvv/1HyjpEKLBkfR3FRgaHsNxbMabird88Kvc+4c/x/WXr5/0pK3VamnmImnUvFKuz0xop9K0nWQkhEiDtBdddNGMQdre3t4FZ806JNJGLLZt4WxYiOBMKcUTTzxBo9HgtttuO+vp0m4S0Vpz4MABRkZGZu30Pht+5Q/vZ6QWoMIQoc3CGa764BZwchZ1L8KbaPCOj97Hv/2vX0oXlhCCcrlMuVzmoosumtSoOXF9kgBtV1fXivWfXW2tAGZ6AM0UpE2yZonSdj6uYxiGiy40PB+wYiSitWZ4eJhqtcq6deva5q/PV3DWaDTYvn0769ev51nPeta0+28niWiteeSRRyiXy9xyyy2LuuF//wv/xt5jw1haoaSFDiOwbIiPMZI26JBSqcDeo8P8v3/xr/zer/zUtNua2qjZ9/00yPjEE0+kStCkp+pyYbW4M9ntzMeqmBqkzV6/iYkJXNclCIJpU/FPF6HgTFgREkncl2Ri21wFbAuBZVlzkkgydnKuwVHtIpHx8XFqtRqXX34569atW9Q2Tg5V+fK3n6BUzFNtSAp5l0bDxxKCyKtTrpSoNkIc16XqKdxCkXv+bR+/8MotXHHB3DEQ13VZt24d69atmzT4au/evXiel2Z9su0PV5Ml0m53ZqHIXj8w3/nu3bs5dOhQ6r709vYuKlAvhPhL4JXAoNb6umleF8CngJcDdeAXtNaPLHhHbcKykshU7YfjOG2VqcPs7kyiBq1Wq/NyJ9pRfZukiwuFwqIJBOBdf/odxuo+lpODRogfmOOycy5YFkgBBNi5PEGgcHIunh/yjk/8X/75469f0L6yPVWTwVdjY2MMDw+nM2r6+vrSYU1LwWpzZ9pl0TiOQ6lU4rrrrkNrTbVaZWhoiHe84x0cPXqUd7zjHbzsZS/jzjvvnM/mPg98GvibGV5/GXBF/PNs4M/j3+cEy0Yi00nX52M1LBQzuTPNZpPt27ezdu1abr755nnduEspnFNKpVH92267jQcffHBBn89aQfuOj/LwE6doBBp8HyEgCgMQEs8zT7amkweaBJEC26He8NBKc+jEKD/Yc4Lbr96wqPNIjiUbDwiCgOHhYTzP45FHHpk0TmKh1amrzZ1pVyf27HayQdr77ruPn/qpn+Lnfu7n2L9//7y2pbX+nhDi4lnecifwN9o88X4ghOgRQmzQWp9Y6nksBstKIlPFY8tBItNZImfOnOGJJ57g6quvXlB6c7HuTEJY69at4+qrr17UIslaQB/4mx9iOw7QhChCOC7aa1Is5qnXmyAtQqWpVEpg2YRC0qgGCNtBWzk+8rcP8fXfvmPBxzATHMdh3bp1HDt2jBtvvDFNJSczf5OmQvNJha6k2Gw+WG4yqtVqdHV18bznPY/nPe95S95PjE3A0cz/j8V/e3qRyHTZl+W2RLTW7N+/n9HRUW699dYFR8QXQyLJqIiFEtZMOHq6yrYnR6kHEcVSAYSkHoLl5qgrAI9SqUDNC2hiEXgKiBBunlIxR9XXPHpkgu/vOcFzl2CNzISpncqUUmlToaNHzX2dzfpMvQdW2+JfbhJ5urdGhGUmkbN2FheTtROJJZIUs/X09HDrrbcu6kZdCIkkvVZPnTrFLbfc0jaF44e+vJ2xekBXIUctFPjNJkIKoghsxyUqVcjlbWpegBAS4dpov4kWFlVfUyzkCCPNH97zGP/wP9pLItMRgJSSnp6edKhVEASMjIxw8uRJ9u7dSz6fn5T1WW2xjHaSyExdzZZBI3IcyCoWL4j/dk6wojqR5WgbKKVkbGyMAwcOpMVsS9nWfEgkDEN27tyJ67qTRkUsFQ0v4MF9Z0BIRprQXbTwm+BK8ABQaAShnQdqCMdBh8bi05ZNPp+j6YdINLuPDHN8qMam/pV9CibT/wYGBiY1aU5cHykllUqFIAiWpAJtZ1OidsdEslgmS+Q+4J1CiC9jAqpj5yoeAstMIsvdTCerPbntttuWbA3Mh0Sq1So7duyYs1nRYuT4f/rNvXhBSKGYo1rz8IIQ0Hh+BEIShubYxpsRVqGErzQIQVd3GV9ZOK5Do+lhOaag7A//fief+qX2Be0Xej7TuT779u3D93127NiR9lNNSvUXQsar0aJpF4kIIf4WeAGwRghxDPgg4ABorT8DfAOT3t2PSfH+l6Uc+1KxKqp4F4PkRhRCcOGFF7bFnZiLRE6dOsX+/fu5/vrr6erqmnVbiyGRBx45geU4iPgYPC+gq1KiXqujhESFEcK20RoibMpFi2rNY8zTCAmNeoCUgkoxj7Jz/MfeobYOvl4qpJTkcjl6e3sZGBhI+6kmOp5cLpe6PknjoZlwrnUiUzGT8nUxknet9RvneF0Dv7qgjS4jzksSGRkZYffu3VxxxRUopajVam3Z7kyWk9aavXv3phbPfMzwJF083xv04QNDnBj1qDZCLDTdlTxV30XnXLSy6SlYjI6Mk8u5NHyFtCRNbMDDchzKhRyj4w1y+QLKzlH1IoSU/N33D/OG5128wCsx+3ktBVlSm9pPNTufpl6vT8r6TKfxaRc5tsstmi6Q/3TvagbnyJ1Z7NNRa82hQ4cYHBxM596ePn26bVL16Y7J9322b99Ob2/vvPUmybYW4sp95p8P4DgWqqZxcw7SkYjAxw/NNppKIgslinlJw29QyDs0I0GpmMPHIn4b+YJLzVcU8zahhv/9/SNtJZGlYrbvvlAosGnTJjZt2oRSiomJCYaHhzl+/DhKqVS7kgRxVxNma0jUyc60GUmad6FVpEEQ8Nhjj1EoFM6ae9vutHGCZNbMlVdemT4t54uFBJE9z2PbgTN4QUSp4BAo8KYmsbQGBE4+j7Q8hGVBpIhsFx0qY53YFsKyETIiVJCzBUfP1DhyurqgY19OzPcBIqWku7ub7u5uLrnkkkmjJPbv30+j0eDIkSP09fWtiraRswVWZyu1eDpgxUkkSfMuhESSxTxdLUq7x0YkOHr0KMeOHZtX97HpMF/1a7Va5eP3/IBmJABBJC1UGOI6hoB0vI1kWzU/wi0WjFIViBSUizkm6j693QVqngnwaaWoNkzLxf/5rQP87FULPoVlwWKt0Kmuzw9/+ENs205rVSqVShpPWUy19FIxW5Pmiy66aMWPZyWx7O7MVCxEcKa15siRI7O2Emy3JaK1ZufOnSilFjRrZirm484kAcVtZxwQTbrKOarNkNAPcS1JXWuU0ggpCCONEOD75lylYywRN+fg5Gyo+0TCQkhF3rWo1kKKBYdy0eXhg8P87FWrwy9vZxvCjRs3snHjRrTWqeuzc+dOoiialPVZiY75sw2u6rgzbcZ8SSTRYjiOM+tibqcKtl6vU6/XufDCC9NuZ4vFXH1WDx48yPDwMFdddyNPffMHCClpBIpSzqJeB6Sk3F0kJwU1L8Rr+Fi2RbLJvOugghAhJfWm8cdzjo0SmkbTp5CzsV2HppLga3acaLJ10WfTPixHtkgIQVdXF11dXVx88cVnNWh2HCe1UrKuTzvlB8/UObxwjtyZuRb9+Pg4O3fu5JJLLmHDhtlVl+0q30/qbXK5XFvMz5lIJCHHXC7HLbfcwp/83wPUvJAIgedHWNJiTV+ZmhdRyltU6wH5Qo5y0cH3QurNkJxjESro6S5S9xUKTS7vEkStbFC5nCdEEoQRIPmXQxG/uOSzWjpWIuU8tfdHs9lkeHh4Upn+YrQps2G1kogQoqq1XtYDOCeWyEzS92Rw1LFjx+Y9OGqplkjWKrj11lv50Y9+tOhtZTEduSV9Vi+66CI2bdoEwHceP0POtYGI0BJoy0ZYAoiwLXODF1yLakPT01Wg3pygULCpe5qGr0loSkhBEAEobEsQCEEYKAqOubEPj6hVoRlph75joRZEPp+f5PokZfp79uyhWq2yb9++JQ8Le6aOiwBY1uEuC4mJhGHIY489xujoKLfddtu8L/xSLJEgCNi2bRthGHLLLbek4yLa1aw5e7MPDQ2xbds2rr766pRAjg/VOTnSRCMQQHdXEa1Bx9etEZjjSInCshjoL6NF/LUJyOeNZqW77NJdNgHFNT1FlBJIS2BbgNZ4keZrDz+15PNaKtqhNF2KQCwp07/44ovTnrd9fX0MDw/zyCOPsG3bNg4fPszExMSCyGqm81otJCKEeIEQ4v7M/z8thPiF+N+HhBB/IIR4VAjxsBDiZiHEt4QQB4QQvzLXtldFTCSRkm/evDldYEvZ3nyQzNq99NJLJ3VaS0hpqTd6QiLZQr2plcVf+M+jSEtAqNGWxItMIDVOvKQ3sVLmd6Q0VV/h2BKIsGwL27IRwkdYVmyJgLAtCCIqBQc/iAjCCKEkX/7+QS51TtPf3z8vVehyYDV1R0tckKnDwoaHhzly5AjVajV1ffr6+uasCp/umFYLicwDR7TWW4QQn8A0RXoukAd2Ap+Z7YPnLMWb4Pjx4xw+fJjrr79+UZPTF3MzJd3HpnOZ2lUkmGSNHnvsMaSU0xbqPXxkjACBQFAuOozXfABEbHuomE382CJp+sYVsHMuohHQXTKtEYulHAJBGCmkFIQIpDQ/DS/CsgXlvGTIk1x++eWMjY1x8OBBGo0GXV1d9Pf3T2qDuJxoBwEsZ71LLpdjw4YNbNiwIXV9hoeH2b17dzonORG9zcf1OY8Uq/fFvx8DylrrCWBCCOEJIXq01qMzffCcpHh93yeKIvbs2UMURUuae7sQJN3em83mjPtslzsTRRG7d+/moosumjbTc3ykzpmqRxRpnLxDFCoqeZshL6TgWliWRGhF3QuJQo1lGZIA0ArWrylT9YzpISxJMyaa3q4cjRAKBYfxuo9rS4qVPAVHIG2b7x6s8oobWqrQ8fFxhoaGOHz4cDr8qr+/n3K5vCxWymojkdm2k+1QtnnzZqIoYnR0lJGREZ588kksy0qtlJkePGEYLqlauY0ImRy+mFps5sW/Vebfyf9nXZznxJ1pNBo8+OCDXHDBBVxwwQUrYlI3m0127NjB2rVrZ+z2Du3J9iRFZZdddtmMmZ6v/ugECAvb1nihwvdCugoWlUoeYQksSxOGmnKXi44iAi/ECxSWFCilqQVAfApSSPIFk8lxHJum0ri2RU1DvpKjlHfwghBbwD8/PsIrblifnmu2F0jSsSwx5ZdDwNUuEjkXxXfTuT7JXJp6vc7OnTvT65XP5xdt0QohXoppxGwBn9Vaf2TK6xcBfw30xO/5La31N+bY7GHgGiFEDigALwT+fVEHOAUrTiKjo6NpfGCuSth2ISnYe9aznpXeADNhqSRy9OhRjh8/zvr162c1Yx8+MoZGUy44jNcCPA25gotXC/BDjetIwjDCsiSBgt5um5Nn6hTyNn4kiJQJqvq+h21LbMcCAnI5m3oQ0vAipBS4OYeaFxEpjRYR+07XiJTCmmbxuK47afjVxMQEQ0NDqfjO8zzGxsbSYdiLQbtiIquhDUAylnPt2rXU63UuvvjidFiY7/t8+ctfxrKsBcVFhBAW8KfAizFtDx8SQtyntd6dedv/C3xFa/3nQohrMK0BLp5tu1rro0KIr2BiHE8C2xZ8wjNgxdyZpJFxtVplzZo1K0Igi+k+tlgSSc4vCAK2bt3KwYMHZ3wSDY43GamH2FISaU3OFjjdeZpBrDZthBRdi6YXYUlBALiuTXd3AUeA34hILq2Ugp6Sw7hn4iGBFuQLNrVawNq+IoHWREqTcySRBi9Q/J/HTnPXjbN3os8KuC655BKCIOChhx7iqaeeYnx8nGKxmAZoF9KGYTW5M+1qSKSUwrbtScPCwjDk5MmTfPvb3+ZFL3oRl19+OV/84hfns7nbgP1a64MAceOhO4EsiWggWUDdwIxpt6xGRGv934H/Ps17Ls78+/OYwOpZr82EFbFE6vU6O3bsYMOGDVx44YUcPHiw7fuYenOGYciuXbuwbXtB3ccWQyKe56Wd5ZNGzbPFVu559CReGBFhsjGm3WFEFGlc1xxnQj8JmSgESGmyOUQ4joVGsLYnj0KgNfR15fAijWvH52pJIj8i70oUgpIjkELw3X0jc5LIVDiOg+M4XH311ZNGdO7Zs4cwDFOZeU9Pz6zXejVlZ5aTjGzb5qd/+qf5xCc+wQ9+8APq9fp8NzddE+apnaU+BPyTEOJdQAl40aIOvE1YdhJJGvlce+219PT00Gg0lqXje7YyOBnWnRV1zRcLJZGZKn1nk73vODaBlJIgiLClwHWkCaAqTRR/xI//EcW/wzjN6+Rt3EaI60iCSNOINFZMObZj4fmKIDQWTGKulAs2o9WAhoJizuLIcAM/inCXUBeUfepGUTSpwjaXy01KI2exmiyRlej0ntTNLKaIcxa8Efi81vrjQogfA74ghLhOa93+StR5YFlJJAxDTp06NWlw1HI2a4ZWUdt8uo9Nh4WQSJIq3rJly1lFVjORyFjdY6gRUMzbNIMI1zH6jpwt8XzTQxVa5OEFSRVvXNWrYU1vnjDUjDUCtIZi0aE54WPbEivSRBFUKjmUNgRS9yOU0qzpz2PZFkprvrVniFddN7Dg6zMdLMuaJDNvNBoMDQ2lfVW7u7vp7++np6fnGUUiic5kgZhPE+ZfBF4KoLX+TyFEHlgDDC50Z+3AspKI4zjccMMNk/62XGMjwjDk8OHDjI+PL3p4NswvxZt0OqvVajOmimfSmzyw+wyhAj9UFPMODT/C0mDbEscSFPMWhXwBoTW6ZDMyYYZXJWQSKUU147K4roWwkt4qgmLeZqIWYNuSUGls28RY1va45BybQGmQkn8/ONo2EpmKQqGQZt6SaXpDQ0M8+eST1Ot1jh49ypo1axbdB6SdYrN2pF9nawOwCBJ5CLhCCHEJhjzeALxpynuOYLIrnxdCXI1J155e6I7ahWV3Z6Y+kZej47sQgscee4y+vr4FdR+bDnMdXxAEbN++nZ6eHm666aYZ9zUTGT18dCyNmdiWQHshDT9ibXceLIucbap2lQLHtujuyuOgODMRYElBFJkFlM8ZsnAdCy9UlPI20pLI+NALeYtaIySMdJylsdACgkiRs21O18IZszTtxNRpej/84Q9xXTcthktaIPb19c17Qa/0MO+5MFvdzCImBIZCiHcC38Kkb/9Sa71LCPHbwMNa6/uAXwf+PyHEr2HCZ7+gz+HU8POyx2oWyczYyy67jIsvvnjJ25vNnUnk+Zdddtmcc3anc2fqXsjJaoACKgUbP1TYUpIrWuRyFtVA4QUKx5J4ymhCwkhTKDiUI9BKG0sCMzyiVHAo5SzGmxFdZZdGoIi0ppCz8CNFd9FhpBYw0JNHSkHNi1Ba44URdij4twOjvOCKpQ/cWgim9gFJBl8dO3YMICWUrq6uGQl6tbkzs3V6X4xaNdZ8fGPK3z6Q+fdujCx9VeC8JpFjx46lpnF3d3dbtjkTiZw6dYoDBw7MW54/HYncv+c0lhCESlMNwBXQU3GoeopmqJECgkhTytt4gcK2pPltWzg5TdkSnBr3sCyjE+kqOWauN6auRsX7KxddvEhhxS5PMW8x4UUobbI9iWDtP46MrziJZCGEmNQCMZn5+9RTT/H4449TKpXSAG22bmU1dnpfjW0AVgor7s60A0opdu/enXYf27dvX9taJE4lEa01Bw4cYHR0lK1bt87b5DbZl2DS33aerCKEpFKwGa2H+FrTW3Gp+T5BpMjbgiCEnAUTQNGR1JpGdwxguTaW9MnZFgpohIqKa27efM7GcjTVRmDII1LU/QjHlkjbImxEFHMWOVuC1mgNTw4327aQ2oFk5u+6devSNPLQ0FBat9Lb20t/f/+q04nMJzvzdMY5s0QWGxxrNBps376dDRs2cNFFFyGEaGuwNksiSXuCYrHILbfcsuDBTVnyrHkhg9UAhMaxJAIo5G28eCBVECrcnAWYJsvQ6qsaezBIS7Chr0DDi6gFEQLI5W2oBViWQFsCGiZIW9AWDT+ir2K6vwOUchZN36hgc47EDxU/PDrBj21ujxXXTmTTyJs3b067lQ0ODnLmzJmUzPv7+ykUCovaRzvJaLqHS8cSWc6dxt3NFlp0NzQ0xOOPP84111wzqYN2u7qbJdsKgiBtILR58+ZZJ93NhKkk8q8HhlAa46KEmv6yy4QX4kiBY0EQgEyKYeLfSWk/KZloaoGiK29RCyJyjmUaN9vSVO8GEY5lBGU9JZP5KRcshuoRhZxFqDSObSFtC9sW2BL+/cnReZHIOYzbAZO7lSUzfQH27t2L53n09PSkaeT5WhcrkeIdGFieDNhqwoq4M1ORdDebL4lorXnyySc5c+bMWT05ku210xKZmJjg+PHjadOaxWAqiew4WY8tCoFAo5PLojWOlPSXLVxH4uYt8pakq+hQbRp3yEsFZ2a7rmsDPgVH0tSwridHM9JoBL2VHI1I4djmppaWsW7ytmCiEdFdzlF0jTzNEjBYi1ZFx7OFQGtNPp9n3bp1XHDBBURRlKaRDx48mPZU7e/vn7Vnynk6zHvV4ZxYIgtZ9IlLUSgUuPXWW6f9stpFIlprTp8+zcjICLfffvucTWhmQzZV3PBDRmohBUcy1owo5y083wju/Egz0OUy1lS4jqTRDPEwWRjpWFwyYHNs2FRmh2EECISEvoqLI6AZaOqhIop9HsuWCKWoehE9JYcJz1gnGlhTcRG2hZSG4KQQ+JHmkeNVbrlg9mDxaiKaqYs/W5IPrZ6q2Z4pySS9rNvRrhTvM7nTO5xjd2YuJCnVuRo2TxfEXCiiKGLXrl0EQcD69euXRCAwWSfy3YOjJjgqBJYAP9TkHBvXV+QLNjnbAkx6VmCIpeBImqFCWBYbegsMVz2i2M3xI+OW5CwgCLEtSSlvMVz1cSxJ3tY0Q+gu2Uz4mlLOZrQeUMhJCragESiCSGNLsC2bB49NzEkiyTmtBsxFaNmeqknPlKTFQdIzpa+vjzAMO9mZNuCcujOz4cSJEzz55JPzSqlalkWz2Vz0MSbB2k2bNlEoFBgaGlr0thJk3ZknztRRcTVtwbUYa0YINBf05hmshfiqJXHPO5K6r1ISsS1BPdBs6s1zZMTDloIgdm/KeXPjFl0LES8G2xL0Og4nxn1y0mR5pBSUXEkhZ+MHCi9UOJbAtoyq9UQ1mHNhnuuYSBYLcUOyPVMuvfTStGfKsWPHmJiY4PHHH2fNmjVL6pnSZsXqeYdV584opdi7dy+NRmPeKdWlBFaTStQkWDs8PNzWRs0NP2SoFmIJU/IfaVOFW8jZqWURxlZBM9RU8hZ13yxyIFaUKizHZkM3VL0wnbubLCRLChqhopyzkKJVeBcJC1tGeGFEOSeRQtAMTSrZsiRW/L66p9h5qsr162cn69ViiSwllpHtmVKtVrnooovSoVfJvN/+/n66urrmvY9OivccYCYSSUrq16xZw1VXXTXvm3axMZFkul6210i7Mj1JTOQ7+wcJIjNkKmdJGr6iv+QYMVisFAuVJmcbyyNZ2MnvREwmBSgh6C06nK4FWBLqgWZdl0veljQjRU/JoR4oVCjoKdp4CroLNkO1gGLBwQsVAsg7RitSzNk4thGuPfRUfVYSWU2WSLviM9MNvRoZGeHkyZPs3buXQqGQBmhn65kyU2A16Q73dMeqcWeS7mNXXXVVWg06Xyx04WfFalu3bp30FGkXiQghqFar7B4X5N0cXqiItBGSBVoQBXHDS63xQk1X3jJtAWKVaSJvF7SuX6ShnLc5XQsouzYhgoJr4SemiRDoOO3TX3IZaZruZnlHknccan5AT9EmiDSVgmv2EYFrwZGhKgcP1tKn8NTvrV19QNqB5RLIZef9aq2p1+tpp7IgCOjp6Zl2Ps1sgdUOiSzXTjOBVa01R48e5amnnuLmm29elHBoIZaI53k8+uijrFu3js2bN5+1MNpBIlprjh8/znC1TmitJfBNPUy9GdJTsGkGiglMHUvRtejqsrEtieXYFHOSC/ti6qgFNGPlWXKcjm2xpuziSMG4r5jwFSXHLKicbZG3Lc7UAmNtNCOagaKnYKf9SXK2hWtpQgVFVwICSwhc2+KEL/FiyXm5XE77ibar0fBqayY0G4QQlEolSqUSF154YdqkOcn6uK47qUnzdOfVaDTa3UdkVeKcuTNJx/ddu3alIxUWm26b71DvpIHQbL1Wl0oiURSxc+dOAEZz65GRxJaaZmhcllCRiXcINvTkGKpF9OfMLBkNeBG4tuTi/iKj9VgrEivPIq3JOxbmSpnYSSlnM9oIydsS2xKcqQUIISm5kpqvKDiCiUBTdi28SFF0bVyrZeMoNArB0cDluddfPWlK3I4dOwDo7u4mipamKWkXiZyLdPPUJs2NRiMllHq9zhNPPJGmkRP902IElXM1aY7f87OY7mYa2K61ntoqYEVxzkik2Wzy4IMPcuGFF3LBBRcseXtzLfzjx49z5MgRbrrpplmfDkshkcTK2bhxI729vfzno6eMvN22iJRJJ1Y9E9hcX3aoRRqhDXkkncsagYmLBJFGSEFPycUSgZG5C4EfapqRpq9gQyOk6Fg0I5PNsSzJhG+6pTXiERQ136fgukwEAd0FU4gnhMCNx0x4kcK1jEVyut4iiWRUwsUXX0wQBAwODnLy5EkefPDBdFZNX1/fghbJ+WSJzIVCocCmTWb0xoMPPsjAwADDw8Pp6I3vfve7OI6zoHOOH4SzNmkWQlwBvA94rtZ6RAhxziWx5yQmUq1WOXHiBLfeemtbqm/nyvYks2a2bt06502/WBIZHx/nscceS62c46eH8bVEoLEtSU/eZsyPCJSmy4obGkYRyTRdL9RGQxJpKq5pC5B3JPVA0V92UVUfP1I0gghi98OWgkrOYsxXrC3nCOL2ihf05BkPFK4WFB0TdAXwI+guOLi2sVBqgUIKs7iDSOEFgh1PTXDtuiJSynShOo7DmjVrOHPmDDfccEM6qybRXSRP6LmaDK0mEmlXJTCYezzbM8X3fR566CFOnTrFli1beOELX8gnPvGJObfz4IMPwtxNmn8J+FOt9QiA1vqcdDPLYkUtEa01+/fv58yZMytSvu/7Ptu3b6evr2/WWTPz2dZsOHnyJAcPHkzbJGqt2TtmCt20MlaBa1u4UtOdA8eWcTlMlE4TaoaKomsx3gzJ2ZJqoCjYFvVA4dqS9d15Rms+XqIpCRUX9uRTCybQmmZgFK05W0KgqIeK3qJDU0FP3mbcC02djTCCM9cSlHOSgiOxLUkQKfaP+ly7rkgURSkxJ9ckaaaUlO8nuouhoSEOHTpEvV6fdaJeO0lkNbVYnArXdfmlX/olvvjFL/KjH/2Iw4cPz2tbx48fh7mbNF8JIIT4Psbl+ZDW+puLOPS2YcVIxPd9HnvsMSqVCtddd11bO75PZ4lMTEywY8cOrrjiigUVQS2ERLTWHDx4kJGRkVTTorUmDENOTAQgLAKtKLmm+5glNKWcRT3QFONgaKjBlVAPNa5sxUrMb7OfvGNxuh6wsTvHkyNNbCnw4v4hyWdcS9KVszlZNVPv8nHKuJJzaDYCSjkTRenKO4w0AzNAPG9TykksabrF51yLM/UQYVk4cYo6iiKUUjSbzfTcslaK67rp2MnsRL1Dhw6lRXNJpW07YyLncij41O1MF8vzfR/XdbEsi0svvXTJ+8nABq4AXoDpv/o9IcT1s425XG6siDszPj7Ozp07ufzyyxkYGKDZbLa1WfPUGzOxDG688cYFKwbn2/8kCaC6rpu2ZEwW3LGxBloYi8BXGi9S+Ar6ii6jzdBYD/E+6r6it+BQVibwOeFFaVo3Oa9UOyIl/UWHSGl8DYGG/rzNiBdRydnpLBqNoK/g8NSElwZxkyyNawtCZQgk70giLWjG4jbXkuRsyc7BOjdvNE2uLctifHycffv2pdqdKIrS78+yLIQQKbEk6tDLLruMZrM5qWFzuVwmCIIl9/FoBwHMpO1YzHZmquBdqNAsnkwwV5PmY8APtdYB8KQQYi+GVB5a0M7aiGUnkSiK2Lt3LzfeeGN6UZejWTO03KWkWfNiUpPzeVImAdSkp4nWGqVUamY/OeYTKY0lBT15m6F6QMkxpfiu1Sr331RxibSm5FgMNUJKrkV/yaE379AIo7RTWTouwpZU4q5nvm/0rhFGiOZYgtFmSNm1CLTGkaZOpxqEFGxJPVR0F2yqnvlc0TWZHC/U5G2Ja4m407zg2FjAzRfYoCLOnDnN/v372bJlS5p+V0pNslKASRZKsjjz+XwafFRKcerUKcbGxnjkkUdwXTeNpSwmrd8Od2a5GxIt9AG2detWmLtJ89cxIyP+SgixBuPetH+Q0wKw7CRiWRZbt26d9HRfDhLRWrNt2zbK5fKSmzXPhqkB1KkEEkQR401FzrLwlTYtCR0z6S5U8dxcW9NTMKQy5kVGqo4RkyEEodaUcxYlx+J0LcCLkk7vmnqo6cs7jPmRcZMizYZKzhg2QrCu7DLiRfiRZmNXnkak6CtaDNUDunI2J6o+vXkbS0oCpSg6Mk49m8Cu0jARhEw0zRQ+2y1w2+3PRQptJomTkdvHi0cplRLK1FhK1kpJ1KHXXnttOlZi7969+L4/qR/ISmReVnLmzHwRx5DmatL8LeAlQojdmGfIb2qtl17stQSckxRvuzu+12o1arUal1566azVvktF0mc1G0DNaieEEOw7XSfSGoVRpIYKunMOQ82QZqjozVvYFtRDRckxvT4SwUaa5g0VYOIel/YVOFn1gZaKteBKCrak5Fg0IoUUoqVwFcYZ0kAxfl1pTX/RQcWZoJJrIQVEWpj3hAo/VEhpPhMpwa6TY1zd59Lb14/WyrhYgri1YhQ3SjLby1of01kpieuQDYhmx0okQq5k+FWhUEitlKVWU8+E1UgiMK8mzRr4b/HPqsB53agZ4PTp02mdw3IRyGwBVGDSzXimoXCkxI8UgTZDqUBjC0HBkRRdyYSvCJVOLZCkKrcZKhxpyKLomHiKQrOxK8fh0aZJ7yKItGZ9JUcYKRoReErR5drUQ0XesVhrCQZrAXlHQBNqfsRA2WXCi8hZklAphNB05RyaoaLqmyzRmoIRoUVKc6rqc/slA0C88LUGZEx4FsJxUiLRUUiWUGB6K6VWq5nzDYL0dSnlJCFXIjfP9lZN6lcWUhQ3F5a7IdFiO72fj1gRElmOZs1Jt7OhoSG2bt3Kww8/vCxKxiSA6jgON998c6qOzaY8EwxONPGVWU4F26IZBmgUSgvytqQgTLMhI+5SaczDjxSuFPhK052zGPMi8rbE9yMKjmmFeGlvnhPVpNOZsRzKrg2xW5OLsz22BMdKMj+a7rzNWNPERSb8iL6ibQ5QaISAWhCRtwTrKm6qYhXCBG6Pj9a4oK+CVskA8Za1g1IgJVophO3GL2m0ClO3B1pWypkzZzh69CjXXXfdJIVxsggTtycrN08GYydFcU888QSlUokgCNLsx1K+1+VuSNQhkVWMKIp47LHHyOVy3HLLLenTbDEy49kwXQB1JgIBODoWgNbY0mgu+goOo14IGvqKNmfqAX6UuDGmZypa0wg0XTkL34tigmn9zluSWhDh2oLuvBmJ6UcahBGanY6DtrUgpCtnRmQ2gohKLHEvu2a+TXKoUoAtBTnH4kzdxxIwUHbJ2eaYhYCclOQswaGRBhf0FluWSJL9Schaq/Q30jIBFWmb3iZKobUCHXHyxAmOHj3KzTffnC78xO1JLJXke83GUODsorharcajjz6alu739fWxZs0aKpXKgh4gq9WdOR9xzkgk6fy10C8yaaA8VS7fzmbNMHMANfvkzKLa9KkHxozX8eCpxPgquRKlTU/TUOnYUjG6jt6ChRea//fEozKpB8hY/5H8zjsWPQhsQUaBqugr2NjSEFpvwaYehGgEGyoOI15AEEWGfALjytQDRdERuFqgNPTmHUquZMIPiZSxZEy2x6Luh3iBxrUnZ0MSy1IklggyJhnTP9b827hxQSQplLu59dkXILSaNjjrOE56bROini44m3SAT9LqQRAwMjKSNhiqVCqpHH+uzFxn5kz7sGLuzFQklsNCvsik2/u1115LT0/PtNtrB4IgYOfOndMGUKcjEICjYyFSCkSoUNqkXEMF/QWHCT/EFhLXMsV4vXkLWyoCFZGzbaoqpGxZ+H5Eb8Hh0r58GidJnv4C48YMlFyOjDdxYvenK2+nw77BBFkjHc/q9cBXmrVFizFP01swN3vJlQzVA1xL0JW3qQWm8K/kWkjM+o+URgnB/sExrt3Um5IECBNoFcIQSGKJCAu0it9m3tNsegS+T09vr3mvlICM36dARSwkODvV+nMch4GBAQYGBtBaMzExwdDQUDpNL4mzlMvls76zdpLIdG5VtVpd1JSA8xHnzBJJFv18tBxaa44cOcLJkycnNRDKYr6VvHPt5+DBgwRBwLOf/Wzy+fxZBHI2BL6Gqg9RqNBC4FqCZqRwpEjdCC92Y/K2JAJytk3gh6mQLFlMSmkaUURPzmZAuwTRZOsqZ0NvwQYEoVLUg4iik7RJtOnKC46Pe1gSunM2Y15I0ZWMecnnTem/BvoKDkIYy6grZ6N1Op3CEAGCkWaEViq2MsxxtiwRC61ChIgtEcz5aq0Io4ggCOjq7galMy5RQkYSYdtx5kejo4hkTNdMwdnEnZFS4vv+JKFbtsHQJZdckrZBPHLkCNVq9ayiweUeXNVoNDqWyHJjvpaDUopdu3YhhGDr1q0zPj3mU8k7G5K2BLZtU6lU0uNL4h/T71eC5fDk8TE0Gts2n9FoIqVwpbm5BJqSa1N2LIabASpsyd4TDknSu4kmpBEqpFDkbYvRpmmhaN4v6c7ZBEoz7plOZRVXMtww0vdIRen2Kjmbqm/aI0oB9SAkZxvLQwpwpSDQRikrhTAWiYZex8YWAilNYeDx0QabeouGBOJ4h7FEohaBxO6L1hrPD1BhQFelKxMvUcRR25RUtFYtl8iOHyazpJBrtRqPP/44V1999aTvezqhW7YNYjLzNykatCwrVdcuNRg/W3amExNpI6b7kmzbnlP63mw22b59O+vXr0+n3c2EpbgzUwOoDz/8MEEQ4DjOtAFUAKSNRnJ6aJxGZCTpWmiKlk0zjOjOmWyIawn6Cy5VPyLSpGX6iQWSeCJepJCYNK8rzbxeW4JGs6HiMt401yrSEY3QxELGPSi7Jqjak7cNUcTiMy8MUVrRV7SJNPQXHfzQEMuZuk9f3iFnS1SkyNmSsWaI0pq1RQdLSixMPEZozckJnwv6SpDGO7KWSBRfH526FLZtUyyXY3dHxu5OkiZOPh+lr7WslMkpZBNvMVbKxITpBXP99ddPesLPR+g2tWjQ8zyeeOIJTp8+zalTp+ju7k6LBhdqnXSyM6vYEhkdHWXXrl1cffXV6TyR2dCuEv7EbXnqqadYv3799JJs6aARjI2PMe5bxFIQFBApRc6S+JFxE3K2FT+ATQykYMvYyoirb6MIS5imRZVYQ5K3oBYapaunBAWpkQWboXpIMw6+FmxBzjJd3GuBpq9g0QzN9ay4Aj8yMZmBks1IM8S1JGZsb9zhzDFalq6csUxCpVlfcnEtEwTWaNCGHMNQMTRWpa+rNCUr0yICjTHhHccx1+yszI15T5IeTi0YKQ0RJWK2eEBXEkPRKkIhkU6e237suYZ8deu+mRpLyf4kVkaWUAByuRylUolNmzbR29ubDr568skncRwnjaXMpyvZM73TO6xSEjl27FiaEpxvXcViLJGZFKhXXnklg4OD7N69myiK6O/vZ2BggHKlC2E5BGFEvV4jjOxY2q5NEyFhMh6OFNgWdOckXqgoueZJ2ww13XmLomMUpxd0GX1Ff9GmGcZPcl8R+Q2QBYqujdeMKLo2Ila7JtPwvEizseKkc3vrQYQTZ3JytukjUg8URVswAtT9gJIN9chU+DpSoLRAYrI868s5XMvM5w2UEbu4lhnPaQvJU6MhUo2Sy+Vw3RyWBGHZ6DiVW683yOXyOI49xUqZkrlRCkTswsjEtZGG2+I0cjbzE4ZR3GKgOzZmNEI6aBWZ96uWNTuVUIDUSsmmkhNXKHl/thfI1KLBpPv7THL8TnZmFWRnslBK8fjjj+P7PrfddtuCTMt2lPAnwbt8Ps/mzZvZvHkzQRBw5swZJqoNhJMnCusopSkWigx7oSnXFxIhNTUvMpW7UUTOEkTaoqEjImWK3HICuhybIIwIFGgtaEZGYBaqkKII6bcC8oUKJ2utoKtjGQtlbdHm+ESAEMTqVZNRAePWGL2IjxSCvoJNPfCpBVE8sEqTExofQW9c/p93bMabZj8F24jagti9sYVIPRAtIRIgnDyObeN5HmFohG/FUomJ8TEqle44SJ6Nl2TcFHT8zzimIjNWik7iJa14i9GZQHVigu6enphwslkhyzR1tGNZvFYxsUwOzk61UpIK5Hq9nn7nWSslWzSYHc+5f/9+8vl8aqUkwf3Zqng7JLLcO54SE0kaCPX393P11VcvONg1X0skG0CdToE69WnjOA4bNl2ERtBoNglUgJCSUxN1wtAGNBITb+wuWIw3TbpUCom2YpdFmXaGo01FpAVSmBkzXTlJM9LITGbGzpepuBYmGmCQXAnHlmzqck38Iv5b2TUVwAVbUvXNzN0g0kTauEehFlhBnZLtksvnmWiEJvgZKrpzJl6ysewQKiPFL7mWyd7ElcC2MEcXac2ZiYDu9Xlsx4FY9j8+NobjODTqdaKci+2YmErLEoGs0jXrpmSzOoniFSHRMfHWazW6e3qMViaNxSiz7cRdIpHjG4FLsl+0mtZKsSyLffv24bou3d3dZ6WQs9bM1PGciRw/6f7e29uL53nT3qvPlE7vsErcmSQuceWVV7J27dpFbW8+Kd6FKlBBgrRRWlNv1PF9j0pXF2MTISEKKUP8po8fBIRRiOPmsIVNLg6uOhYUbfPUl1IghOktkrclgR+lzYeqtRpYedx8Ac9XBEqjtaBoS4YwCxgww6eCiN68zVAzRABVX9GTj+frIlhbdBj3TAvF/oJkzAc7V6Dg2lR9RcE2VbtaCyb8CEtAzrKo+RFlR+BYZsBV2bHjhIqJvUhpJvGNV+t0lYqEUcT4xDg9vX1IjHWntKIRP+GFEBQKhXhRZvUlEp26MHG2R2u00PFrCt8P8JpNurq7TbmEJs4KxcSjMlkds+lWxie2gDQCYecxwWBjpWgVsW/fPqIo4tprr02/7+mEblrrSSlkgGKxSLFYTLu/j4yMcOLECbZt20axWJxUNNhsNhfc4uCb3/wmL3vZy55glibNAEKInwHuAbZqrR9e0E6WAefUnfF9Px2XmcQlFgvLsmadxztXCX/2GDWAsNDCBATHqzWkFJQqFcbrCi/S5G1BGFnIQg6cHDmtaPo+2q/jW3kCJA4RJdem6ut4QWq80KRkgVQkZjkuKNKxDsmYiGYImyqmcC59vxDkHYFoJkpYQcmxU6IRmM5okYZGrQpOmRAjdGuEiq6cmXznSEG9rlhbdKh6CktA3rYY9yO6HWlSwE5ilRmNiGNbDFY1rt2k6XnGSgDjzhFhSYtypQuUUc026g1Dro6TKlMhQwAZC0RgrJQwimg06nT39KbnQypoa1kiaeAWplgpdsvKSWy52ErRwmbtug309vTMGpydSeg21UpZs2YN+XyeW2+9dVLR4O/93u8RBAEPPvggz372s+fllkdRxK/+6q8CvIwZmjSbSyEqwLuBH8650RXCOWuZbVkWg4ODnDhxgttuu23JOfXZ3JlTp06lCtSEQGayQDSAdFDCbG9oZBTbsrDzBZqeRivT3DiKA6oaQdGGUEvKhTzlSjeFnE3JMindRrUKQNMPyFkizlCYfU3EVa0hpjTfizQ5y/QVcWMi8ELoiWfuJiQjkawrmcl3AI1Q44gkqGrRHQsoy+VuKnHMxI2L8vxQ40cmyGv+bp7aXTmLRqAoO5KcbZGzzCIUaKRIxGcmJT047lEpl9MqZHTUOqlYvSqFoFQu09XVRS6fjzukjdFoNKhXa6meJq4GjC2Z2IXp7mmN7IpdK+PmJBaMabSgdUtin76WZH5SAonVs55Hs1Gnr38NQloIO2/iKdKOYzYGicvjui75fD5tcQhmoQdBkHZny2aAkoLBm266ib/4i78giiI+97nPcccdd8x16wKmSfPll1+O1vqg1toHkibNU/E7wEeBxQ+fbjPOiTsTBAEHDhwA4KabblqS2CfBdIHVpNJ3eHh42gDq2QQijPsChEHA+MQExWIJaVtEgULFdS9CglTC+OBKo7Sg7ELNB42iaFtoLQlQlLscRhshvgLZnKBoO4hA0u04OPly/GTTaDRnGlGcHjYjIGqBsXi8ENaXHIYbIUIIAmVEYAXXZGDydjw5z4sIwwA/NG0G/HRAlabmqThrJChYscWRk0RK4EizkAOl6basdGavr8AWYAvT1FmpAFvahNKl4YUU8i5C6NiiSERbsWYEk3lBCOO2SUlPT695qktJrVpFKUWxWEJFRtMShBHd3d1GEk/qp8wYqG1ZKclrSaBWt+T3StFoNFFRRLmr20jtU8Ijjq8kMZwgzvjMz0pJfqb2ne3r6yOXy/G5z31u3vfv8ePHufDCbGfEs5s0CyFuBi7UWj8ghPjNeW98mbHiJFKtVtmxYwfr16+nXq+3hUDgbEtkugBq0gNkugCqFhKEiX94nk+jEef5pYWKNKEyjYaMjlKAMDdqpAVWXGsi0biOGWXpWNCIhZf9BQdfQb6SZ9xTRH4dKQWBlthhQCgcyq6kNyfJ2SbNa0uzGHOWCZTaQsYd2yO8UMUWkMUoJsbihVC2IoIQhJ1jvSuY8DV1X1F2LeqBSTlL4uFZvonXNEIo5yxGGxH9BRvXsqj6pv6nYBu3J28Jmo0GURRSrOSxpGa0rnEchWVJhNDI2JowC5vJSlVI2wZYllnklUrFXL8oTF2Yru7eVGtiJ+Ibphe2AdOI3pJAbat+J4rMT6VcaYneks9LgY5UJvMTux1xJXja1iCJSWVcGaUUO3bsSOtjskK35Wh9IYx59cfAL7R1w23AirgzCVEMDg6yY8cOrr/+egYGBtrarDlriXiex8MPP0xPTw/XXHMN2ebC0wVQtbDQ0jGBwUaDptegWO5CxARiYhHxfoSJbYRKp9XxQdxDpJQzIi8/0kipKbmCnCWxpUQpk93RWiMdE+iEVhPm6sQEkQahNOtKDla6v8RNkVhC0p23kmcwfgi9eSt1ZSQCLOPL2DKtdIldk0Q6L6j7Rg1rS5m6ZgB5y6IRmPMqu6bvas62aPoRQtp0dfVg27FlgWZsIiSIFDrj2qmMKjV56msw9Tdx3CMJprbUq5r+NWuxLIFtm0zP2Ng4YRThex7QSu+mpdEJgUyyROJMD6Z+xw8CPK9JpVxuHRPJ25JMUWLBJBaUTtW1QtoI6SCcvHF7Yiil2LlzJz09PVxyySWxdsbFtm2klGzbto2TJ08u6P7dtGkTR49mp0Wc1aS5AlwHfEcIcQi4HbhPCHHrgna0DFgREtFac+DAAY4cOcKtt95KpVKZNI+3HUgskfHxcR5++GEuu+yyaZsoT41/GAIxoqlarU4YRpTKXVjGvTZxAIwwS2c+l7PMYrKkaYFom8ABltCx4ExiIwmi1rjKUIs4BtEaB5HLmUVfLpt0oB+EBJFAeR55qdLgqyk5EZQd2wRPhYmRCC1pNOpmG4UCPYWYnKSkOx4TobU5hlCBHQviunM2YSToci0aoaa/aKG0iceUciatawmJ55tK21wul/aJNZkL0FJTr0f4cQvGhEhMqCJJ3SYuplmkWYVrvV7D8zxj8SmNZdk4jk25UqG7uwsVmUDryOgwoTJjK6K4GHASqQgrjpuQitXq9QahH1Aql+PYS/ItJFmcOMCbuEcmmt5yi0TympgkatNas2vXrnQ6YAIpJbZts3//ft7znvfwz//8zwu6f7du3cq+ffsQQlwihHAxTZrvS+9Vrce01mu01hdrrS8GfgDcsRqyMysWWE16QCRl0+1u1iylpF6vpwHUNWvWzJ2BkTZaWKgoYnx8DCEExXLJdFGPM4s6fnfyyUCJVJkq422WXIEXCSJlApV5R8S9OcynJmo1tFZo6aQjHJLtJVZAkFjYjhFPWbkCOcsxGRag6Zk+q7aUrCnaFBwj5Y40FBxDHK4lkDqxOkyWpmAb66grZ8XWRSzCQhBp43qBCeR6EeRtkzFxpSAIAqQOKOZdhBRIYTQuqbhUCDSawFcEoYpJRKcaF7MuY/chEwDVWlCr1dOApHFJWlZGQg5uzqVQyNPX05eqZmr1GuNjowRhiB94aebGfMaQg+d5oKFUKbfIRujUUkkK/9LXWndETBxZHQro0E9f27VrF6VSiUsuueSse3Dv3r3cfffd/O///b+5/vrr57hjJ8O2bT796U+DacS8B/hK0qRZCDG/6Ow5glig77ZoR8/3/Ul+olKKH/7wh/zYj/3YYjfZOiit2bt3L8ePH+f5z3/+nAFUAC0dI6IKzcClYqmI7bjGoI3HUarYZVHJ/+Pj92KJeqTAtozlUfc1edvc03XfvOZKRSMUaBVSyJu2hLY04yzNkLpE6h7FneABzKiHOFyJJQRKG7chwsIOGgi3gE1IQ9tINHnbohlFlF2LRgCurWkGcdbAhbovcC1tRkQEZoB32TVakXqgyTtgYep9io7AjxQiikyDIseNrQ/I2yaeYsUtDgQmoGvSv9K4I9KoUoUwRCViAZlIJe1GiOW6LjnXXG8RC8xEnCVJMi3mN5P1JPFrzWaDMAxRkSJfLIDW2LaNBpqNJqVSMUNcptqZbFxl1teIyU+hwwDi4sLdu3eTz+e57LLLzroHDx48yJve9Cb++q//mptuumkpt3N7goQriBULrE4NNrWr43vinyZdr2ZrotzauQtogiBkYmKcSlc3UlqGQLQmik1vpZPAXWzhxkE+1xL4ETiWxlcCW5hF2QjBkgrXgobSVCfGKFcqhNoxuoxAp+6PISeBArpdUwGstGLc0+RsQTM0NTBhJLCljWOZgKtbLBIqgV+rgVtGEqExbQaS1iOuEPjxWshJizoKPxLkbLP4S7Z5aruWpB4YlWszgJJrjpGgSTHnoqSDH5keJvl4/GZSJyeEQMbXC0TqdkkhkMosfi1AC2E6msWakLGxUQrFIu4kAkmyMdl7JSsoa+lBktfy+UJKPEopGo26cXeiiFKpTBiG2LbDXFkckteyDZakbVyuKQSSy+WmnWZ3+PBh3vzmN/O5z31uqQRyXuKc6UTaAc/zeOihh+jp6eHqq69OrY+ZMjAAWC4a8IMgrstolX8b0z6OYWiQwmgklBIxgZixl5qWvsJK0hGxL+5HJqovVUCluy9tJ5AgjIzFESqIY6umC1okKdgOvXkrHXCVFNTlbYmFpOyKtONZV1cvfSWXfLwRP1QEnpEOSCHoysVujTIuii1NnMacJ0RK0AzidgNaxOtIE3l1SoU82nKJFBRsyDtG1OZFJpgbqJbwTSNimUWs+lCGDBW0dByYVphjo6OUymVyaSMqk7rN6jTSgKeQsQo1/vsU2TsZ4jHEArZl0dvXZ2pjGo2UWMIoQqts7ERkEjzxwy19qMUWT+iREMiePXtwXZfLLrvsLIv2+PHjvPGNb+TP//zPk+FTzzicl42aoTVr96qrrmLNmjUopQiCgDAMU7nyWbBymKY5Ps1mk57ePpKbP84dkJlwidISIRRaYJ66wlywMH6PIzFWgQIb484EYYTvB7j5EpFOWFoTKZ1mcnI2RCrJvEy2xkIlKTqakqti9yZ2fSJBDo2vIoiL+4gEBdel6muKrg2OxYRvdBHScrC0JlI2eUugLE0zIM64GJek6mm6c5JmJMjLiEYkqRQLWJZNEELBMeTjh7Fi1TLrL/lJWgYIHcv6dSwN0YJk8I4wJpeRgReLOJaViZNgCES1Mick8QqddJM3gjcmpXGTTmtmkQexTqNYLILSFGP3RkM8qqKK7bgoFeE6SRYliY9EJrWbcXOyMZDHH38c27a5/PLLz7qnTp48yetf/3o+9alP8ZznPGdpN/R5jPOSRAYHB9PRjklgTmtNf38/Dz30EOVymYGBAfr7+1vd3y1jPvtBQBgEdHUZUVOSTRCotKgNAAFSKJN2RcSLPhZRafMEV0ogpcbSJlvS9D2EXSBXsLElNEITR0ksFNcy8RA5hd+SxkRJkFVpAdqMuTS5IbPofM+ju1jCj2trwARPLWHiHX4o6S4IwrCIRuCoJgozh1dETaRbImc6K6aujzRTrGh4Aa7rkM851H1NzjbH6SuBI002SevYgrLieIcw75GxFabiOIlMEjNxlqY6MUGxmMd2XXQc44x9oky8I06FpcV5xt2Y3hWJ3Q2tCYIIpUJDIJmu84afLCxIv2swmax6vU65UsH3PHK5HFK2XCeilgvzxBNPIKXkiiuuOItABgcHee1rX8vHPvYxfuInfmLJ9/T5jBULrIZheFY25j//8z959rOfPe+GudlZM1u2bJk2gArGShkcHGRoaIju7l4uufwKLDuJlQTk8wWjPszoDiJlFixxmjKMLQeTujQmf6A0dtyT1AtNPYxrmyBqoARBs47l5AliN0CnEX/i2IKJdbiWitPCEIQmVZsEVjWt325ctNds+ijpUHLN5wuOZsKLNSvCWDZagxeaAGoYmexSJSeo+eb4czLA1y5RFGAJkLaDK03A2G/WsHJlynEzIxP3AUQrI+PHg/ryjqlQzlokAvM+Sxg+SGXySlGrmi7sdpyaNu+XiISysxL1xJVM/ElaLRcni82MW1OrVbFth3yhkImdJEHT1jaymZbELUqK7mq1WlrWX58Yo7u7CyEEe/fuRWudDjHP4syZM7zmNa/hd3/3d3npS186r3t3AegEVheChXR8TwKotm2ns2ZmCqAmDXsvv+JKM/Xe8xFS0Ww2yOeLhGGAtBxErFfQiduiReseFImVnVgqGleCryToiJwFoTTdwxq1CaxcGSdXMFkQFccYIkGoIWdpRMbMibRJzUaxVeLaUBCaegCOMOleS8SzeRUIHQJOarEIISm7hgACFROUNC86lsSxNFXPkFvRNUO7lXBxAdtxEJjJebXqOPlyD24ujxbatC8AMzlPm5CkJU0hoCMg5wBIk/5WLRKTwixaEbOfFgKiiNrEOF2VCpZtQSriAi3ijIgw1zKxLNAane03Aq2Hg26pVTVQq9exLIt8oWjiKimSLNBU4iG5eGitkZaNEML0WQWGB08yOHiKxx/fg1KKXC7H9ddffxaBjIyM8LrXvY4PfvCDy0Eg5yVWBYnM1fE9KeFfv349mzdvBpixgC6FkCAdwsBHWhaWJamUKzQajVjaPkEun8e1HaSlUcaBTx9iAonEyL8tIIzTlZZQraenUmgkOdfFdcBU4Jvh3SgTQ8iKcsO4kjdUxOMyzXu8SOBKI3l3pCLwW64PKsAplCmgiNusmk5qcWwliC0apETGU+2acTwj1IaJ8rbAU0aKL4FA2Qhtesg6QhFIB1Ufw7d7IfIIsE0RmiVohhpbGAsk0KZ1oi3AjrdlLI/EtTKkq6KIRrNBpbsby7JbdoaKXZckQJoKveIgqSCNdxhkusTH7oYJsUTYlmUsiLTgLrFsMqMsJgnSRPxapp1A8loU0NfXS29vD/v27aPRaNDV1cWOHTvQWrNmzRqklHR3d/O6172O9773vbzqVa9a0L3+dMaKZWdmagcwl/R9YmIiVaBu3rw5dV9mJxALpJFPh0FIznWwLGNOF4oFioUCPd09SCGoN+pMVKvUqxMmgh+3CBIk+hKTqrRiEz0psw8izcTYKJaIsNw8QkiEkClBZP2+MG7cFcakAS3FanL45iEtkNKi5Ajq1QkACnkjPpOWpJQz5r4ZyWtGP5hBU0ZRW3KNyyWEwEkfD4KkEt2LI8IaIGiSy5dw4phRT9we0JaC0G/g1SdohgqhFTk7scAMuSWxEFNLJGJxWXxdwohGo0mxWDSWjW51bScW6aUS+NSdTAKterJ7k8mcGPmwptlsoFRkCCQOvoKKN5MljkReT0v0lm0cnRQ+xjEQgAMHDhAEATfccAOXXHIJW7duZcuWLRQKBT7+8Y9z8803UyqVcF23rSUb5zvOqSUyl/R9ugDqTArUFNIGYTExMY5l2ZQKhdZNaIIc8eeMyZpzc2kFab1WRVoWTq5AFARYtp1mULQwcROJQkQ+Utp09fQihSBQAqVNt3YhzJM6qX3J22axuZZxY0zNSnyoseUDk4OrEZJSsYiwWiRjCaOKLec09biMP1SCoiPS2EukDaF4oZGsFxxoBJowMsFRIQRh6IPMUa5UiJTRu5Qdcw45S+PjUnZdlDBWVOTX8a0SOvKxpCbExbHiGEhMlkZfI9CRT6NWp6enC0taafA0se40Os7mxi0RsgVxU6wSjUBkCEEjmJgYN9ZjLj/tvJtWRifTCDqtMk6k7K3XEh0IGALxPC+ttUrgui5dXV0cOHCAj370o1x22WV885vf7LgyGawKd2YqsgHU+ZTwp5A2wrIZHR7GzeXNUzyJ/McmtNE2tG5YLSQCieMIHKeC1oogCLEch3q1imU7SEtiSYkjJaGy8IOQfMEl1CBE0gPEEESgBRpFpAx5ODImH2ksCI0gwpiAttQ4llmGpmWqNvNwpYV0ckRK44jkqZxcM0FRmGCsQqAU5C2Nj0nfTk1VGxKTOFJTr9dwC2UctGnAbMXFeJYgjAzJ5G2NJQXNyLgwwi2bbUpJqC38+jihZeHmC0jLxsKodqPIJ/B8enp6jAAsJg4L1YrAItNMGEKayukk6DlJBNZydUzBnqBerxnSz+dbJIFOL8z0MZAkjXv2a4kOBIzatNFoTOp2lqDRaPCGN7yBn//5n+cXfuEXAHj+85+/sBv9aY4VVaxOxUzNmucbQJ0E6SAsm+HhIUrFEq5jZ1SJIr1ZW5Jq0zxHaB3fzGYxIyS2Y56elUqZMIzikZIW1dFR3FyeYqGAZQmESraXBGGNZD7UsbxdJfnMlqWRuDbJDJowbhsgiJgYHyNX7sGKtyeFeb3kJCQDYIK5BdukkAUmM5S4GZEyUnc/Mtc7b5sYSaiE0Whg0rphZC6LaxFbISamU7BMvxInzrQobawYT9sUbCi5PQQadBTSrI2DiihVutFaUozHVQqhjbeAMIs9TZgkAdPE38v0DYktBZMXxgRYtUKj8RpNXMfBcd34e8xkXARxu8WMK5OQy3TxkSkuzJNPPkmtVuO666476x5tNpu86U1v4nWvex133333XLf4MxbnVLE6tVlzokDt7u7mmmuuSfumzqpABbActBCMjY7Q3dWF6zitGzIbWItl1ua3Fdd1CHNzx09KkzUwprhGmLZ+tsSvT1AsFkwa03JoNH2CwDM6kzgNaap3DYFYElzLNHG240OIa9tSdyb5HUU+SIu+3m4zbDuOYSTxE4URiIHRdySxGceKYxRxH9NkfK8UrW1oBFHQABVSKBaNdSDjDAzGekl8JlcSi1haropjxQI5CxBGaGcLcG2brq5uSpVumvUaKgppNprUqhOxxZh4jxqR1MCIuOAvqexNlarJ99MKjhLP9Z0YH8dxXBzXTYk/fV/m4TApBjJbfCQK0rT+oUOHmJiYmNYC8TyPt7zlLbziFa/g7W9/+/SWbwfAKnJnpipQ5xX/QMRzYEIa9YaZ+5oG6miZyAJSzQCQaAdaT0CBSHpfaJCYgUlCmKxNpLRplJPLx0ImRT7n4HtNgkYVHesprHwRiUJrU4eDNsVujmXaANhCYWclDDE8z8MtuEhp4atW8FIAIXEmRwuKcQYI4mZIwsRVoriux7UE9bCll7GEMkpXN4dtSSItKJhyktTdQMRpZWVcmSQ2QixnD+JUri0FQWxhGU9DEAYeUaQpVrqx4xIBI/wzVceB16SQzyHzedDGQjHEbZ19EEl8RBB/h5Lx8RFKxRK240xWq2K21YqBZOfbzBADQaMjP73whw8fZmxsjOuvv/6sh1MQBNx999284AUv4F3veleHQObAqnBnkgDqjTfeSLlcTgkk0ZBMn4ERCMulUa8ThCFdPT2TKjS1sMg24zUa7NgkSHtcTCaSFgGZp6KKFKOjo1QqFXJxNkBJidSaEAs3XyKHJtQCFZi6laYXGKvJdrGEItTJDQ+xQW+oTAqi0CP0PIrFMqE2T3kwLoRC4EqFSLr5abAtgRQaXxkSgcQdiSX4WlCwddzGQNCsjlHo6gMktjRkE8WkoLSg4GhCLbGEjruzmTR2BGklMZiYT6gljlCxqyYIfQ9hubiOxJUKjWXKA2IyyTk5dD6H73umYXPok8/lyOXySCs2F+L4R0sMZr4DpTS1+gSlUsmk/6dO09PJDBuLbPVvfGNML04LWjGQI0eOMDIywg033HAWgYRhyNve9ja2bt3Kr//6r3cIZB5YMcWq1hrf9yf97cSJExw/fhytNTfeeKOp7JxPAFVIhO1SHR8HIeIO41EmOGeDjmLTOdEIJE+xVkZEJ/GQ5NTioKjGIgx9okhj2bYJVCIR2syN0YkTo40rpDIpSq3NkyxUmma9TqHcbfZrWelDVgNRGGA7LhIzI8bCkIiKyQZ02kVNYOIruTh+kbQYEIBlQWz3ECojgdc6bhtAiJQ2gYqzRaIlU/fCVuYoVAJXGkJxYtGalCau4kiF0iadHGmwhCYIfGw3b8hHgBYytfEApCVirakkafSsEURhSLNeM1kvKcjlclhSImVM+MJ0RhsfHY0zX8nXnSGE2E1JmTWrDszqQDJ3rFZ+6sIcPXqUoaGhaQkkiiJ+5Vd+hcsvv5wPfehD54pAzjvWOmckopTiRz/6EUEQcPvtt6cB1LkzMBJh5ZgYH8OxHfKFfGYfSZ9Mne4TMOZzYn2kKUTSgGoscCchEs9rEoQRuZyLtOx0O1obTYLCDLpOWgaYfxtxWqST15KYgEKFilptHCmNiEs4BVTQwM4VcaRxIRxpRnHa0ixwWxIPumpdcqWNBZGziatlSY8hZ0EjAJuQQJnRCZZI+nqY91kiKTYUqXxfiriHq2x1c3eleb+Mszjm3M0xhH4TJ1/EIpn5IrHQ6fstGes/jG1iCD9eF8adMZ/x/SZoCHwfKSWOY+Pm8owMD9Hd3YNl2+l8mZaMPXM/KYWw7PjhEX/H6YNEp1m5bAzk2LFjnD59mhtvvHFaAnnXu97F+vXr+YM/+INzaYGcdyRyTtwZ3/d59NFH0wlhc02hSyFtNILqxBj5QiHNNrSi8PENJ0UqaEqtEyDJvhCbu62bLl7yGppeEz8IKBZLpMKnlGwgNbmRaeyEJLAK8WvEC8uMowxth96eXkItqU2M4roRvu8hLYvItgErji0a1aljYypwtQmCRtrUmjjCxESUMmlb11JEMfGEWmLjm9EUhSKujNsSIOIUrCEd1xJ4afjBdDfL25pAG5KxdPxdJesQY1UoNEGjRr5UQcaydREHog1BGQJXgEwDqTLVh0gTpgYRC9hyeQSQd10U4DUbDA8N4TrOpDkvrZhG6/vUKsq0A0i+k6h1H1jmemZ1IMePH2dwcHBaAlFK8d/+23+jr6+P3//93++4MAvEimdnEgXqpZdeysaNG9PCvNkDqCAshyjSjI+PUy5VsK04XTBVwpwIy0iTDlPiHdr4ACqMEwLJECXj2kRRRLnSlcZikoUihFlkSaGZFcu9LWFa+znSPM0daQKpliB+8puDiJSxjIqlMo5tU+npw3XzhL5PszaOH5r4jYl1SIQlTSVt/HlbCpSQ5G1NK6IjyNsibfYcKU0pscyEeU1gCCJnm+l2EeYYpWg1XNZCYgudpp1NPMYU2jnS6FGa1TGK5S5soUCbQLKQZmnbIk6Xx25ecr2SmIqMCcUUOCbE3upzCtoMz+7vo1gqAuB5PiMjQ8ZNC4P468sIyRKjWCRzaSzSNoswSQfy1FNPcerUKW688cazBkkppXjve99LLpfjj/7oj+ZdDNpBCyuanTl9+jT79u3jhhtuoFwuU61W8X1/9gAqIOwcnudRr9Xp7e+fFDBrCckS66LVa8JE8UFHSeMbPdnsVfFcV2WCfF69RqlURutYDqYjTNQjJoM4qGEEaholTJxEJXU2GE2EilOMZjGBiEJq9Rq5fB5hObHzZLI1olCiUDBZqFp1jFypG61CIkyKxpZgJyITSJtDByoWm2kgaKKtHIW8Y4RlWpmuaUKSsyMCLQi1xokDqknrQYUgb8WuiABHaJQQrRyW0ERa0qiOUerqQQqF0hJL6vR62tIQiMR0grNiE8bkVxL3slV9mGRYhDDEr7RmfGyM7t5es1/LwrJd0BGFQo4o7kWSIJ/PIy2JFEkjqSj93if3RDXncOLECU6cOMGWLVumJZAPfOADBEHAZz7zmQ6BLBIrGhPZvn07l112WRpA9X2fPXv2UK1W6e/vZ2BggO7u7gyZCISTo9lo4HseXT09aUyjVWcR30iZWMikYKqK0ieikDY6CjMBWGm6eUURURgYOXVGU4KWaGJtgo7QJL/N55PtAnE7DJ0GWZVuEUt1fJRSVw8WKo4dmIphrU0w0xYqdn1MwV/geeDk8Ro1CsUSWpkxl742FoJRxyr8CKIwxHXdeF+mhsaOO85H2rQGiJJsRuyWJaX6gdJGDo8J6jpCpIWGSb9Xz2tiSYHr5ozVQSsYLTHXMAk1Wyh0apEklmB87SG1CBPLJApDml6TfD7fsiynIBWIKZOZqVcniCJl+oH4TdxczlhriYAwmRWDaRp0/PjxaQlEa83v/M7vcPLkST73uc/Na9TlCuG886VWjESg1ax5agBVKcXw8DCDg4OMj4/T29vLwMAAlUqFJ57Yy9qBdazfuDFdCGlab1KknpZPjIgdehPrSMzdyYE38xRsNhrYloXjuCSahaTxkE5OOQ2smgtgeppbsY2SKCvNPNoki4MAr+nR9HyKpVJsvUy+gDEFolQcV4hJyBI6/ruJqwReAzdfpD4xTq5QQkhpFLGBj9dsmhk5mExJojNJ+sMmDZ+TDFNiZWhhFn0Ut0a0MGlxmdpdcbsCv4lbKMR3djLyIb5KUqQhaYvEQjMkbwSrsTWXBkcNQQlhEQZmEHo+lzPFiGk7ANKgaKp2zQZYYwszCiOCMKTZbJg6oDAkCpoU4t4gp06d4ujRo2zZsqXVmCq5ibXmox/9KAcOHOCv//qvz3r9HKNDIrMhmWOaDJmaznxUSjEyMsJTTz3F4OAg3d3dXHzxxfT19Zn3C8uYr5nu3zAlDZi1EBI3ZxKhGHO+Vq1SKOSxpEzNc01MUvF700rTOMOTWB8ta4SUcFTm+w8CH9vOxQE/mRabKWXSr5KEeMw2Rax4VbSe4CZkYZSbERKpQjOvtt6gWOkCwNKRaYYsyFg/hghtoQiVcexMK0ew4nhIoi2BOMVraaL4vVIrtLQI/Saum49Fd0apqmJLJRv3kESQsQRl+h1MHskgMDGvMAypVat09/QidBRX1JK5zlEcmJ2mH0i8rVZ8xOzr1FPHeOqpYzSbTXK5HM1mk1tvvfWsNhNaaz75yU/y6KOP8qUvfWnONhSLxejoKG9729vSJuJ/+Zd/Od/JBh0SmQ3Hjx+nq6tr1vgHwPj4OLt27Uq7Sp06dYqRkREqlUra9tCyLJIyV2E5TBqxKBL5c+LmKIjJISkCq9Wqcbk6qegpsWRSEornjySfTbp1IZK5KrF7E5OEFkY96TU9ms0Gla6eOOmTkEXrSY2O4qyLsRAskaSOW9aBjjM/FqYHiSVMVqZRHUdaFsJycF2XKAwJA8+kXmWrl6udxAjiCEVy1EbXoVLSy7ohOu6RoqIQN24CrbTEElEaC4oTtjGBqNStNOUDLd2N2X1sVUgzNiJSilq1SqVSid2aVnCczD1h/pnRgaQPDZO+Nm5qTGRRSwdy8uRJDh48SFdXFxMTpqva2rVr03vmz/7sz/j+97/PV77ylXQG0nLgrW99K89//vN529vehu/71Ot1enp65vPRDonMhImJCX76p3+aXC7HHXfcwZ133sm6devOIpPBwUEOHjzIDTfcYPpmJjvWJjNz6tQphoaGKJVKDAwMsGbNGmOOCjOUOal7OdvNMQSitAnUFfMF81qGQMwg5ziAalozGzJKfmeP1ZggJHUzxPSglckmpO6RJrVY1DT3h4zdFp0+1RNnwqhdrawboo06VqsQy3awiAi1jIsIBY1aFSEF+WIZHXgI2wWMYCxUxvWQklg0Zg4vkbKjTWC0UZugUKqQlNQkqewk+5I6SMIQniENAURxsDOZN5eQuUotzjAICOMmVLaVtUJb1kqagk8CtOnwqUwxXQZGB2Is29OnT/Pkk09y0003pZXf4+PjnD59ms985jP8x3/8B1EUcd999007fKpdGBsbY8uWLRw8eHAx6eIOicz6Ya05fPgw9957L1//+tcBeNWrXsVdd93Fhg0b+P73v0+5XOb666+f1czUWlOtVjl16hRnzpwhn88zMDDA2rVr488JhGU0JYmbA0lMBvL5XOrWpEHYJF6SfOk6iYXEs9eyLlHsjmmIrRWzyKoT47iui+PYGbenFTtp1eeoWJyWjSNgyCTJuseHIbUhExkrcYNmDTtXIBGKJR3PU6IRmlAJQq+REmChWIbYyUmOJ7EkLCKi2HIbGz1DT+9aY1GQpGLj1Hu8BSkSiyqxk0zqttW5Pk7lJgQSWxq+7xmhHSbDlJJ3sh+lMn/L6niYJp6VCMlaQdQzZ85w8ODBlECm4vOf/zz33nsvL3vZy/jWt77Fxz72MbZs2TL/m3cBePTRR/nlX/5lrrnmGrZv384tt9zCpz71KUql0nw+3iGReW9Ia5566inuvfde7r33Xo4fP85ll13Gxz/+cS655JIFMXi1WmVwcJDTp0/jOA4DAwMMDAzE5qpRUFbrTYqFgpmSNknZGvcZASYpW9OFEC/shEDQmIaJrayNUprx8TGKpXIcpBPptpOuW2dZIdrso0U2Mo6TmIUbxYtdxC5SrVqlWO6e5PYozDmYwrc4ZYpE6kQEJ1Bh09TiKI1lm785lkRIiVJG76IiRcPzKBSKMYEQbytxVwxlyNh1A2L1aeKqxIs7JpCWS2Ouc+A3iZSZOyx1rNPJXvOUwONA7EzffUogoCMvdWGGhoY4cOAAW7ZsmdZF+eIXv8jf/d3f8X/+z/+ZZN0uFx5++GFuv/12vv/97/PsZz+bd7/73XR1dfE7v/M78/l4h0QWCqUUL3/5y7n99tsZGBjga1/7GmNjY7z85S/nrrvumrZd/2yo1+spoUgp6evrY3BwkAsvvJCNGzcas9yyyQbnQKRPTnOWmadinCYmDRbGkQVtFluozEKJohDbcWKXiFZGKCGb1AqJ0sWfxgsE8YhOs8gNmYCR2FvUxscpVbpo1ekkGRxSK8TYBDqVtxuLSZMUoAgdoYVNFAY063VKXd0EXsO4RZaDCj2kbRagRKVxnmRxCx1BfNwiydKkKtLkXJI4SBJUtQh8j6bnUal0mYbTMulvYLQ5WQIROrnOZhvTjrgUMi6mM9/V0NAQ+/fv56abbpqWQL7yla/wV3/1VzzwwANmcPgK4OTJk9x+++0cOnQIgH/7t3/jIx/5CA888MB8Pt4hkcXg8OHDaQNmMKbpP/zDP3DvvfcyODjIS1/6Uu666y6uvvrqBRHK8PAwO3fuND64bacWSqEQx0OEZVKHmZGKOjWrdWrOm/fGYjVtCARh0oyW4xL4TRzbQaX9LvQkUkonq02CShsVJQsoTS2n+hdo1KtmNorltiwVYs0KMaUlxy4S14lW0JPYDUGkr4FERYGpxJcWE2Mj9PStQStlanWk1Rp9Ge8vtdy0TodLiTh+lMRwzHtNqhshz87CiCxZT/4eW0mcpIBSzRBEbcVAhoeH2bdv34wE8rWvfY3PfOYz3H///XR3d8/nlmkbnv/85/PZz36Wq666ig996EPUajU+9rGPzeejHRJpN0ZHR7nvvvu49957OXLkCC9+8Yt59atfPW0fiCxGRkZ4/PHHuf766ymXy3iex+nTpxkcHCQMQ9auXcvAwEDLTxVxmlfaaSyk1SRnSgGfNDqHJB5iW3bGUiF1j3RmQRBnZNKAbWabOtGkiHjwNeD7TaTtmtiDZZvsj2ZSDMUQTss6ULoVmE0yUgiB1CEqVnga+ZxABQFNz6NQKiEx8aIwiigUCvheMyVedCtTokl6mdKKP8fumEiuYWw9REoxUZ2gq7sbmX5AZO6ghFizQdSW/meuIOrIyAh79+5ly5Yt5HK5s77/+++/n09+8pM88MAD9MZNqFcSjz76aJqZufTSS/mrv/qr+R5Hh0SWE+Pj4zzwwAPce++97Nu3jxe+8IXcdddd3HzzzZMI5cSJExw9epQbbrghHUyURRAEnD59mlOnTuH7PmvWrGFgYIBy3N4P4sCfkNMTSBjgeT75nBs3JI6JAYx5nlgy0kKrkFYspZX+TAK3ifWQyOwVMp5zmwROjepVpJ+P0uBrksCFpH+KagVA0xxJUkJn3kcs9DIire54pk0c8xCGqMIoIvA9LNsxSl7XxbZdEBqhQc9IIEZfE2lNrValXC5nNCOa1vrIkmi29wczBFH1JAIZHR3l8ccf56abbpqWQL71rW/xkY98hG984xv09/cv4A5bFeiQyEqhXq/zjW98g3vvvZedO3fyghe8gFe96lV897vf5bnPfS7Pe97z5qVEDMOQM2fOcOrUKRqNRiq/7+rqaj0JhZVaKUGiEi0WTZl84tdDHEMx8RaTAY4vV6ZgTCeT98C4CDpqBW9jN2h0ZMg8wRPrSCuSymGRzKDUGZdGxKSULMKkl4ow6VlzGMYSMDGKptGwqNAcgxBGLi4S6XcruxIEAbabY3x0mJybJ1cw3dtaCtLYzUgcrUjTaNYpFgqxOFBmrkOShUnEZWcrUVOkVlzckWwKgWzZsmXaB8S//Mu/8OEPf5gHHniAgYGBOb//VYgOiZwLNJtN/vEf/5H3vve92LbN85//fF796lfznOc8Z0GS5iiKGBoa4tSpU1SrVfr6+hgYGEhFQgcPHkRIm0suuzw2u5OsTYw0bqJbVypjjaRPYFoujzEwDBGZQeMNurp7SF4UiU4l06lNp7W9GMJIXBpBxhWL3acMMQRhhOc1KZXKJP1libNBab/TbOZKt4KfpvBWUq9OIKSM5/goXDeXxjPCKKLZ9GICEZOsDWNhhIY0ROK6TLNesq7MlCDq2NgYe/bsmZFAvve97/H+97+fBx54gPXr18/1da9WdEjkXOFP/uRPaDQavOc97+Ff/uVfuPfee/nBD37As5/9bO666y5+/Md/fEESZ6UUQ0NDDA4OMjY2htaacrnMdddd1yrWStydpI4HMkHDOLiaZnYSWT2tRZtK8COaDQ8nl8eSsVpVRbFV03J1dCYw2SKX1uJvyeuTbvYyORm0FIRhhCOlKZqLA8et6hqzDWElNSyxJRAToIjJUMTp3igKiKIIzzNNhSxLEkXKzMtBkx2NmWhsznJXIHVbJrc0NNdWhy0LJCGQG2+8sRUYz+A///M/+Y3f+A3uv/9+Nm3aNO/veRWiQyLnCtmB3gmCIOB73/seX/3qV/n3f/93br75Zu666y5+8id/clpfejpEUcT27dvJ5/MIIRgdHaWrqyuV37diMfECtxymzewk/1bx4sy4PI1mk2KxhFJhvKBbFotxW+KYSPwEJ1GJJm6MThZtYhW1gq9JC8ggCGJ9SEJM5n2JgsVkP+K0rY4rnmM3zQi/winZleScTaGh53m4rovX9Ch3VeKh363Yh0jSwKnsP6P5SNyajMo4GwMZHx9n9+7dMxLIQw89xLvf/W7uu+8+Lrroonl9r6sYHRJZrYiiiH//93/nnnvu4V//9V+5/vrrueuuu3jRi1407Y0JJmOxfft2Nm3aZDQmmEU5OjrK4OAgw8PDlMtl1q1b16rnAbKBWbMYk7EYCTnEQVWgVqtRKleMy5BkMCC1WERS+JcWAoqWhQOTXRKYHKMRMq2WLeRzCMtpWRnZgHESo0liE4m+RWuwbIimIxCzfd/zaDabcaf9ZJylZGJsBMd1cRwHIUTcqxaSEoTEHZzOrckSyMTEBDt37uTGG2+cVii2bds23vGOd/D1r3+dSy+9dNZ74DxBh0TOByil+MEPfsA999zDP//zP3PllVfy6le/mhe/+MWpIKnRaLB9+3Yuv/xy1qxZM+12ktqMwcFBhoaGKBQKrFu3rlXPA5yV6UEb90JAdaJKqVxOGxJPFrzFCzhxCTLKVlRcXk9clRx/LVmJP0JSr1fRGuNiJBmkmJh0rNsQqXVAxvXIEEgSz5mq7xAC3/Oo12v09PanmZlWqta8LwxDPM9YKr29fQSBh+O4TGpPmepq9III5LHHHuOXfumXuOeee7jyyisXfB+sUnRI5HyDUopHHnmEr371q3zrW9/i4osv5uabb+ahhx7if/2v/zVvkVJSzzM4OMiZM2dwXZd169Zl6nkgWYxa2tRqVQr5Ilbchl1MCsAmlkLiqmSskDS7IdI2kEBaT0Icj6iOjyGkpFgstQKuKTG0iGaqZdHa55SgaNKHFgyB+B71Wo3evv7YAplmjOWUeEcQ+HieEeYFQRB3e7eQ9tlZmGq1ymOPPcYNN9wwbc3J7t27ufvuu/nyl7/MNddcM6/v6DxBh0TOZyil+OxnP8sHP/hBLrnkEnp7e7njjjt45StfuWDBUq1WS+X3WbWs1ppHH32UK664kr41a0n6o6Qd1yCOecTWwKR6niSQKlqL2vgIsbVi4i0TY2NYtkWhWErFa1klaOvJPyUIDLHOJS4LSAgrc48IKQiCgOr4BL39/UxOz+r0MFO3TEVx4+TM+7TpnVKv15BSkssXGDlzikq5hOu61Go1duzYMSOBPPHEE7zlLW/hS1/6Etdff/2CvpeFIIoibr31VjZt2sT999+/bPuZgvOORFZVS6dzDSEE+/fvZ/v27axdu5Y9e/Zwzz338OpXv5qenh7uvPNOXvnKV7J27do5t1Uqlbjkkku45JJLaDQaDA4Osm3bNmq1Ghs3bqRYLMSuQoiORLxwk5iIJtWcZC2FJHWrwlZGyARPAI2QDuNjo9iOTaFQmkw+qRI3S0wZ0tK0iAYd90eJxWQZQyiKFNWJCXr7euP9ZokoSReLVuwjDp4mx59YJUJFlMslEBbN2jgT42McPLAfFfdUvfbaa6clkIMHD/LWt76Vv/mbv1lWAgH41Kc+xdVXX834+Piy7ud8R8cSmQe01uzfv5977rmH++67j0KhwB133MEdd9wxbU+U6ZD491dccUVKKkqpVH7f8vlNDMWkWmOBGonBEWdnYrcom4ER0mZifAzbtshPJZA0mNtKLWeJIdVmpG5S1CIo0bIwNIKx0WG6u3uYPLIh4/LEupfZ3JpsQaNWQepe1et1tm3bxvr16xkbGyMIglRNXCqVOHr0KG94wxv47Gc/y9atWxf9fc4Hx44d461vfSvvf//7+eM//uOOJTILOiSyQGitOXToUNoTRUqZ9kTZuHHjtISSqCyvv/76SU9X3/cZHBxkcHCQIAhSQkmrTYUwKVlhhFvZStZJAVhpUa9VEUJSKBZSsZZOiuUQ6CgJxk75CrMZkqyuRdPqUxsTw9joMF1d3WRHNqRDpNK4SKaRUJLGBXSkztq/VuEkAtm+fTvXXXddOo8oURM/8cQTvPOd70RrzW/8xm/w9re/fdkbK7/2ta/lfe97HxMTE/zRH/1Rh0RmQYdElgCtNcePH+fee+/la1/7Gr7v86pXvYo777yTzZs3I4Tg5MmTHD58mBtvvHFalWWCpJ5ncHCQZrPJmjVrWLduXaueJ+ncNqXiWFg2jXoNIQT5fIFW3EGlLs90vWcT62EyMSVDvFqB1aTZc7U6TqVcyWwn2X/GFcqU8bfaBMhYpJbR06AnEUiSCbvmmmvo6uo669qcOHGC173udbzhDW9g//79OI7Dn/7pny7+i5sD999/P9/4xjf4sz/7M77zne90SGQOrBiJfPOb3+Td7343URTxtre9jd/6rd9a7KZWJbTWnDp1ir//+7/n7//+7xkfH+fKK69kZGSEL37xi/MWt0HrCTw4OEitVqO/v59169a16nlijYWQNp7vIbTGTbY/VTY+h1thZB2Z4Gm2ZkUrwijC8zzKpVLLr8oSQyqqy4jkdISZ7j3D/qOQRBg3F4GcOnWKn/mZn+FjH/sYL3zhCxfz1SwY73vf+/jCF76Abds0m03Gx8d5zWtewxe/+MWV2H2HRKZDFEVceeWV/N//+3+54IIL2Lp1K3/7t3/7dEvNTcJHP/pRvvCFL3DhhRdy+vRpXvayl3HnnXcuuCdKUs8zODjIxMQEvb29rFu3jnw+z44dO3jW1dfQ09uXujxzLuCEQLIpW/MG0kFQcVzE833CIKRULs/QIEi0rKKk90fGrWkRU8atCYOUQJrNJo8++ihXX331tKn0M2fO8JrXvIbf/d3f5aUvfenCvoA2oWOJzI0Vyc48+OCDXH755ami8A1veAP/8A//8LQlEa01juPwox/9iFwux8jICPfddx+//du/zdGjR3nJS17Cq1/9aq677ro5p65ZlpWmh5P5PEePHuX06dP09/cTBj5R4LUqZoUVp1SnxCUSefnUzAxkLJZW+rjheYSBb6p9M2rYaRWmcWA3KTxMuuJPio8g4paGZlsJgTzrWc+alkCGh4d57Wtfywc/+MFzRiAdzA8rYoncc889fPOb3+Szn/0sAF/4whf44Q9/yKc//enFbO68xvj4OPfffz/33nsv+/fv50UvehF33XUXN91007zGOCYaiquvvhqlFIODg4yMjJxdzzOp+72Ysvinaz1ImrlpNBoEgU9Xd+8UyyKpeyF2a7IS9qxVkhGeJfsI/dQC8TyPbdu28axnPWvaMQpjY2O85jWv4Td/8zd5zWtes9RLfr6hY4l0MDu6urp405vexJve9Caq1Sr/+I//yKc//Wl2797NT/7kT3LnnXdy2223TZt9SNLE2QxGX18fWmvGxsYYHBxk//79lMvldJyGFY+nNH1lSYkCiOtsMh3EtMbzfIIgiNsR6Dgd3ArUGsuCTFA2sV6STSRuTayKlTKWsrcI5NFHH+Wqq66alkAmJib42Z/9Wd7znvc8EwnkvMSKkMimTZs4evRo+v9jx46d7+XabUG5XOZ1r3sdr3vd62g2m3zrW9/i85//PO9+97t5/vOfz5133pn2RBkcHOTAgQPTqjiFEPT09NDT04PWmomJCQYHB3nyyScpFArpOI1kPg9CGlJRqpWwEcRB1GYc4BStqtpsOT9MzupAvI1ksFRLP2J6ooaxqM6ktI1a94ppFcC1Wo3Xv/71/PIv/zKvf/3rl+uyd9BmrIg7E4YhV155Jd/+9rfZtGkTW7du5Utf+hLXXnvtgrZz9913c//99zMwMMDOnTsXcyjnBTzP49vf/jb33HMPDz74IFdddRV79+7lW9/61nynqAHGrajVaul8Htd1U0JxXTfVoeg4FVsdH6PcVUGIqUFRi+kDpsQB3UQHMiXYqqJJBLJt2zYuv/zyaVsW1ut1Xv/61/PmN7+Zu+++eymX73zHeefOrFiK9xvf+Abvec97iKKIu+++m/e///0L3sb3vvc9yuUyb3nLW57WJJLFP/7jP/Ke97yH5zznOTz00EPccsst3HXXXbzgBS9YUNoYzEI9deoUp0+fTgO2a9eu5fDhw9iOy2WXXxFnZwxaQrJE7drK9MyYRp5GB5JYIJdddtm0BNJsNnnjG9/Iq1/9at7+9rcvKHv1NMR5d/Lnndjs0KFDvPKVr3zGkMiXvvQlXvziF7N27VrCMEx7onznO9/hhhtu4K677uKFL3zhjD1RZkIivT98+DAAmzdvzozTMCniVC07rQ6EmeXtGQIJgoBt27Zx6aWXTttSwfM8fv7nf56XvOQlvOtd73qmEwh0SGT58UwjkZkQRVHaE+Xb3/42V111FXfddRcveclL5jWuUWvN448/jpSSzZs3p2rZKIpYu3Yt69ata9XzxGQyVQfSkrfTcmsyOpCEQC655JJpixaDIOCtb30rz3ve8/j1X//1DoEYnHcXoUMiTwMopfjRj37EV7/6Vf7pn/6JSy65hDvuuIOXvexl06pAtdbs2bMHx3G4/PLLJy1e3/dTQknGaaxbt45SqRS7L1Ym05OxUkSchYljIEEQ8Oijj6YWzlSEYcjdd9/NzTffzPve974OgbRw3l2IDok8zaCUYseOHdxzzz184xvfYOPGjdxxxx284hWvoLe3lzAM2bNnD4VCgcsuu2zWxRsEQSq/bzQaaUVtpRLX0EjLiNekNYlAwjBk27ZtMxJIFEW8/e1v54orruBDH/pQh0Am47y7GM84Ejl69ChvectbOHXqFEIIfvmXf5l3v/vdbT7K1QGtNbt37+aee+7hgQceoKenh0ajwZ133sk73vGOBcvvE0KpVqvpfJ7u7u5J2wnDkEcffZQLL7yQdevWTbudd73rXWzYsIHf//3fP+8J5AMf+AB9fX285z3vAeD9738/AwMDS7mnzrsLcl6RyBvf+Ea+853vcObMGdatW8eHP/xhfvEXf3FB2zhx4gQnTpzg5ptvZmJigltuuYWvf/3rT1sJfoIgCHjNa16D53lMTExQKBS48847edWrXjXvnigJoihieHiYwcFBxsfH6e3tTS2U7du3c8EFF0w790Upxa/92q9RqVT4oz/6o3kpdBeDlXxQHDp0iNe85jU88sgjKKW44oorePDBB5cyee+8I5HzSrH6t3/7t0vexoYNG9iwYQMAlUqFq6++muPHjz/tSWR4eJiXv/zlvOMd70BrzZNPPsm9997LW97yFqSU3HHHHdx5550z9kTJwrIs1q5dy9q1a1FKMTIywokTJ3j00Ufp6urCtm2UUpNIQinFe9/7XnK53LISCIBt23z84x+f9KB48YtfvCzf8cUXX0x/fz/btm3j1KlT3HTTTefj6M4l4byy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 +" +> +</div> + +</div> + +<div class="jp-OutputArea-child"> + + + <div class="jp-OutputPrompt jp-OutputArea-prompt"></div> + + + + +<div class="jp-RenderedImage jp-OutputArea-output "> +<img src="data:image/png;base64,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 +" +> +</div> + +</div> + +<div class="jp-OutputArea-child"> + + + <div class="jp-OutputPrompt jp-OutputArea-prompt"></div> + + + + +<div class="jp-RenderedImage jp-OutputArea-output "> +<img src="data:image/png;base64,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 +" +> +</div> + +</div> + +<div class="jp-OutputArea-child"> + + + <div class="jp-OutputPrompt jp-OutputArea-prompt"></div> + + + + +<div class="jp-RenderedImage jp-OutputArea-output "> +<img src="data:image/png;base64,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vkV7nwacdSSyrEbNZyKOHDnCzp076e7uZseOHWzdupWXvOQlnHPOObz0pS/l9ttvn1F5KISgo6ODjo4OLrroomSe55FHHqFcLrNu3Tq91EJQ1RewSHV60otsxRJzI16bFLEkpY9U+oEu0gpEikDiFKhhjRZinclkg+PT0ppJpBVR831qNd8UadO1mPRC2votVKT0LExyo6q3tS0UhXwHWBbliTHGx0Z5at9eQK9At2nTpqYEsmvXLt75znfypS99aVEJBOBjH/sYl19+OePj44v6Pmc72pFIC1BK8fjjj7N161buu+8+enp6uPPOO7n99ttZuXJlS9sYHR3l8ccf59JLL2ViYoLBwUGAJEJJLhjLMSK3yVYErRZpXdclk81O6qqctsbwVN2S01KpyRoO3w+oVMp0x36xDW3cREErGusd9eM4qcZjWdqV3aQwExMTPPbYY5xzzjmMjo4SRRErV65kxYoVFAoFnnzySd7ylrfwxS9+kSuvvHJO32WrOHLkCHfddRf33HMPH/3oR9uRyDRok8gsEXuibN26NRnseulLX8pLX/pSVq9e3XSeZ2hoiL17954WntdqtUR+H18wsbdsnL4I26m3r2PJe3pGB/3niYlxPC+T6vIwqWDarJPTNJWKYrvD5BOD0raIExPj2szJakJMsfjOakZ4acPsdBcmJNa2xIXsTZs2JbMuQRBw6tQpHn30Ud773vcSRREf/OAHeeMb37jovqivfOUref/738/ExAR/9md/1iaRadAmkXlAKcXBgwe59957+drXvoZlWdxxxx1s2bKFNWvWIITg6NGjHD16lGuvvXZaLwvf9xP5ve/7k+Z54shExC3ktDRcWLrL42XI5HINBdP6fgoz2KZfw+lE0mSSmUTDYTE+NqpnYZp2iBoLsUxJeMnDMxBIGgcPHuT1r389b3rTm9i5cyerV6/mIx/5yGy/rpZx3333cf/99/PJT36SBx54oE0iM2DJSOTb3/4273nPe4iiiLe//e28733vm+umzkgopTh69Cj33nsvX/3qV/F9n/PPP58oivjMZz7TsrgN6nfggYEBKpUKK1asYNWqVXR2duqL0XKSn8XiBJ7r4GWy9U7NpILp1D4ok2Z/ms2sKGXauBUKhXx99kXQUIhNd4jMe06nL0kRSKlU4rHHHuPqq69u2gk7fPgwr3nNa/jUpz7FzTffPKfvZrZ4//vfzxe+8AUcx6FarTI+Ps7LX/5y/v7v/34p3r5NIs0QRRGXXHIJ3/3ud1m7di033ngjX/ziF7niiivmsrkzHvGSBN/+9rfp7+9nfHycl7zkJWzZsoWNGzc2TXmmQhRFnDp1ipMnT1IqlZJ5Hs/z2L17N5dfeRUdnd3EqYO+gJmFOrQeWSTDd+gow/d9oigy6dVMHaK0CleYgurpg4fpGshMBHLs2DFe9apX8fGPf5znPve5s/sSFgjtSGRmLEl35qGHHmLjxo1ceOGFALz2ta/l61//+jOaRFauXMnDDz+M4zicOnWKr33ta7zvfe9jcHCQF7/4xdx5550zeqKAXmp09erVrF69miiKGB4e5uDBgwwNDbFy5UpqlTL5bMZEJrZJfZqpZVOrxaVtDXVPtj4giE4/qtUqMooodHaaDpGJLFSzDpFKFWJNVqMUkDZsjg2F9HPK5TKPPfYYV111VVMCOXHiBK9+9av56Ec/umwE0kZrWJJIZOvWrXz729/mM5/5DABf+MIX+MlPfsInPvGJuWzurMbIyEjiiXLkyJHEE+Wqq65qqVg4MTHBzp07ufLKKwmCgJMnTybzPOmlESa538MktWyCScrVepRRqVSIImn8UqaQ1MfCs9jScCbZfIpAKpUK27dv54orrmiqvxkcHOTlL385H/7wh3nRi140j6N9VqIdibQxPXp7e7nrrru46667GB8f57777uNP//RPeeqpp3jhC1/Ili1buO6665oSSlrFqVMM6O/vJ15O4+TJk+zdu/f05TQwvrKnRSWp9YkBlKRa0zL1zu5uE4GkOkOJvkTUC6Zm0e/TdCvJusfCmCq3RiBDQ0O88pWv5IMf/OCzkUDOSiwJiZx33nkcPnw4+f3IkSOLuu7H2YKuri5e//rX8/rXv55isci3vvUtPvGJT7B7925uueUW7rzzzsRc6fjx4xw6dKipilMIQW9vL729vcTLaZw8eZKnnnqKQqHA6tWr6e/vT5bTiFvHsc4jvvUFQUgYBHR2dRIL1EhSomk8UU36MllfIow+LUgIJR5ovPzyy5sSyOjoKK961au45557eMlLXrJIR72NhcaSpDNhGHLJJZfwve99j/POO48bb7yRf/iHf5iVYOitb30r9913H6tWrWLnzp1z2Y2zBtVqle985zts3bqVRx99lMsuu4yDBw9y//33tzzLAzqtKBaLifw+m82yevVqVqxYkSynISwbhV4oq1Qcp6Oja5LKtNkSDs31JbIelSQt4HASgWzbto3LLrusqePY+Pg4r3jFK7j77rt51ateNa/jd5bjrEtnlqzFe//993P33XcTRRFvfetbueeee2b1+h/84Ad0dHTw5je/+RlPIml86Utf4gMf+AA33HADjzzyCM95znPYsmULz3ve82bVNgaS9XlOnTqF4zgJoezbt4+Ozi4uWL+hLr+fNPdSnxTWwjezWFVjtwZSr60TSK1WS8iwGYEUi0Ve+cpX8uu//uu8/vWvn/vBemagTSKLiYMHD3L77bc/q0jkc5/7HC972cvo7u4mCAL+/d//na1bt/Lggw+yefNmtmzZwi/+4i9O6YkyFcrlMidPnuTQoUPYts0FF1wwaTkNHaW4qYE8ZeqpLfiMpHQgMYFceumlTWeOyuUyr371q5M6URttEllUPBtJZCqEYZh4ojzwwANs2rSJLVu28MIXvrClNVaklOzatYt8Ps95552XyO+VUsn6PPFyGvWF03VdRCkxKeWZrAMJEgLxfZ9HH32Uiy++uKnnaaVS4bWvfS2vfvWr+bVf+7UFOzZnOdoksphok0hzRFGUeKJ873vf49JLL2XLli286EUvaiojl1Kyc+dOOjs72bBhw6THarVaIr8Pw5CVK1eyatWq1HIaxgoSIGWAhLBQUU0Xa6kTyMaNG+nv7z9tH2q1Gm94wxt4yUtewm/8xm/MSoD3DMdZdyDaJPIMg5SSn/3sZ3z5y1/mX/7lX9iwYQMvfelLefGLX0xXVxe+77N79256enpmNPOJl9M4efJkMs+zatUqs5xGLG6ztdYk9CdFINu2beOiiy5qSiC+7/PmN7+ZW265hbvvvrtNIJNx1h2MZx2JHD58mDe/+c2cPHkSIQTveMc7eM973rOAe3nmQErJY489xtatW7n//vs555xzGBwc5B3veAdveMMbZrWteDmNkydPUqlUJi2nkSaBIAh49NFHufDCC5u6rgdBwFvf+lZuuukmfud3fuesJ5Df//3fp6+vj7vvvhuAe+65h1WrVs3nnDrrDshZQyKve93reOCBBzh16hSrV6/mD/7gD3jb29426+0cP36c48ePc/311zMxMcHmzZv52te+9oyV4MeoVqvcdtttFAoFTp48SW9vb+KJMtslFuLlNE6e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 +" +> +</div> + +</div> + +<div class="jp-OutputArea-child"> + + + <div class="jp-OutputPrompt jp-OutputArea-prompt"></div> + + + + +<div class="jp-RenderedImage jp-OutputArea-output "> +<img src="data:image/png;base64,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hjtaYTxEZddCuTCmKtWQELAIpZgEoLRSt4wgTVlClutVeA+WFeTOGjn2gyzJwiQSCfbt28f1119vWWDm8Z89e5bf//3fZ+/evbz+9a/njW98I7fddts0vpGZY/v27bzzne/kla985YLsz4HLjkQWpEJp165drFu3jrVr1xIOh7n//vv593//94XY9YJCCMGSJUv4vd/7PT72sY8hpeStb30rn/3sZ3nZy17Gxz/+cQ4dOkQtxB0MBm1Ny7Zt22hpaaGvr4+f/vSnHDlyhNHhIYxcGpnPYOQzpjBMGmaFrWq4JKV9U5suSpCgXfrvyvZYboY0dLupkrCbQJtWhjnkSrf2EzQl/yrbU6T7CNjaEyVYU25MLQSijr+vr8+2UO69914OHz48F19TVZw5c4bdu3fPpifICwoLohE+f/48K1assH9fvnw5P/vZzxZi14uGxsZGnnrqKbtf7OjoKE888QQf+chH6O3t5dWvfjU7duzguuuuq1ptGggE7GZKhmEwOjpKf38/R48epbm5me7ubrueR1od5s0Aa8GqMAxJPD5OQ0MjmiaKGxE5Va3gmL5njdpQpKCCtyo2IqUlInOJ26zuZ1A889ecC1MgkGQyyb59+7juuuuKCATMebXvf//7efLJJ1m2bFnR9TOfiMfj3HPPPXzqU5+alkbohYzLvtDgUsX69euLfm9ra+PNb34zb37zm5mYmODJJ5/kr/7qrzhx4gSveMUr2LFjBzfddFNVQtE0jY6ODjo6OpBSMjY2xuDgIMeOHaOxsZHu7m7a2tpMgZcwa3rQAgSCATOtamlRCt3sHXEMlR62iwmdJODQogiBlMKu1FXWSWkaurAfcy5MgUBSqRR79+5l06ZNJZmWn/3sZ/zRH/0R3/rWt1i2bNmMzv9MkMvluOeee3jggQf49V//9QXb7+WOBSGRnp4eent77d/7+vro6elZiF1fkmhubuaBBx7ggQceIB6P8+1vf5vPfvazHDp0iNtvv50dO3awbdu2qtWoQgja2tpoa2uz63kGBwc5ceIE9fX1dHd3EwgEOHHiJDdv2UI4Ei10v6eQXXGTgP039a+VtdECrjGcUrURAByNrt3iNplPFwVYnQTifto///zzPPzww/z7v//7glkfgO16btiwgT/8wz9csP1eCViQwGo+n+eaa67hBz/4AT09PWzbto1//dd/ZdOmTTPZ3BWLVCrFd7/7XR577DF2797NS17yEnbs2MGtt946repUKSVTU1OcPXuWwcFBWltbbX1KYZxGoNChrCaFa2l62Hx7pdJ/w7RAHNdYOp1mz549bNiwgebm5qJ17927l3e84x08/vjjrFu3biancMb48Y9/zEte8pKilpt//ud/zp133rmg6+AyDKwuWIr36aef5uGHH0bXdd7ylrfw/ve/f6abekEgk8nYPVGee+45br31Vnbs2MFtt91WU7Xq8PAwJ0+e5KabbrJ7yw4NDREOh+3u9+Y4jUKz6uLpd2Ypv5nlddbNOGT5lUr/hVZigSgCWb9+fYnW4+DBg7z1rW/l61//eokr+AKDTyI+5h65XI5nn32Wxx57jJ/85Cds3bqV7du387KXvayoNF5hcHCQM2fOlHT/gsI4jcHBwaKArbkdK+AqAjZZFLVchNIGSGW6rbkJJJPJsHv3bq699tqSGqQjR47w5je/ma9+9au+deqTyOLjLW95C08++SRdXV0cOHBgsZcz58jn8/z4xz/mscce49lnn+XGG29k+/btvPzlLycWi3H8+HHGx8fZvHlzVYul4jgNp1q2ZNRFqeisqKGQlW5WyGQy7Nmzh2uuuaaEQI4fP85v/uZv8i//8i/ceOONc3y2Lkv4JLLY+NGPfkRDQwNvfOMbr0gScULXdf7nf/7H7onS2dlJPB7niSeemHZ6MpPJ2ISi63rROI1iQqGiWlbmM0UEks1m2b17N1dffXWJ2vTMmTPcf//9/PM//zNbtmyZzam4kuCTyKWAM2fOcNddd13xJOLEF7/4Rf7pn/6JW2+9lf/4j/9g7dq1bN++nTvuuGPaxWqqnmdwcJBsNmvL7+vr60vk904Vqylll0Xb2b17N+vWraO9vb1oH729vdx33338wz/8gy/qKsZlRyK+TuQKQWdnJz/84Q+JxWIYhsG+fft49NFH+du//VuWLVtm90SppXgtHA7T09NDT08P+XyeoaEhTp48aY/T6O7uprHR6g1iWShSz+MkkFwux549e7jqqqtKCOTChQvcf//9fO5zn7vsCeTP/uzPaGtr4+GHHwbg/e9/P11dXYtVvLco8C2RKxxSSg4ePGj3RGlra2PHjh285jWvmXZPFF3XGR4eZnBw0B6n0d3dXTRAG0wC2b17N2vWrKGzs7NoG/39/dx777188pOf5Pbbb5+TY1xMnDlzhl//9V/nF7/4BYZhcPXVV7Nr164S4pwGfEvEx6UFIQTXXXcd1113HR/84Ac5duwYjz32GPfddx91dXVs376du+++m66urqoFgoFAgO7ubrq7u+1xGufPn+fw4cO0trbaMZR9+/axevXqEgIZGhri9a9/PR//+MevCAIBWL16Ne3t7ezevZuBgQFuuumm2RDIZQnfEnmBQkrJ6dOn2blzJ9/85jcJBoN2T5SlS5dOq+LYMAzGxsbo7++nv7+f5uZmVq9eTVtbmy3cGhkZ4Z577uFDH/rQvAq4FiM792//9m/893//N/39/bzpTW+a7fFddpbIFUcib3jDG3j22WcZHh6mu7ubD3/4w7z1rW9d7GVd0pBS0tfXZ/dE0XWd1772tWzfvp2VK1fWRCj5fJ49e/awfPlyIpEIg4ODjI6OcubMGZLJJF/5ylf4kz/5E7Zv3z6vx7IY2blsNsv1119PLpfj+PHjsx2e5ZOIj8sbUkr6+/vtniiJRILXvOY1bN++nauuusqTUHRdZ/fu3fT09LB06dKibf34xz/mAx/4AIODg9xyyy285z3vmfd07mJYor/zO79DS0sLH//4x2e7KZ9EXii4hNrpzSuGhob4xje+wc6dOxkdHeXOO+/k7rvvZv369QghyOfz7N27l2XLlhURCJhl9ffeey+/+7u/y/3338++ffuor6+f97qYhSYRwzC4+eabefTRR7n66qtnu7nLjkTM/H7tPz4sXLhwQT7//PNSSiknJyfl1VdfLQ8ePLjIq5pfjIyMyC996UvyrrvukjfddJN897vfLW+99Vb5X//1XzKRSBT9DA4Oyttvv10+8sgjC77O06dPy02bNi3Ivg4ePCjXrFkj//AP/3CuNjnde3LRf3xLZI6wiO30FgWDg4O86lWvoqGhgXg8bvdE2bx5M5lMhvvvv5/77ruP3/7t317wtV3mgfXLzhLxU7xzgBdiO70DBw7wu7/7u7zjHe8gHo/z9NNP87d/+7ccPnyYVCrFu971Lt72trct9jJ9LASmabr4cGFqakrefPPNcufOnYu9lEsCyWRSfulLX5KGYSzK/u+//365ZMkSGQwGZU9Pj/zHf/zHRVnHLLDo7sl0f3x3ZhbI5XLcddddvPrVr/a7YfmYK1x27oxPIjOElJI3velNtLW18alPfWqxl+PjyoFPIi8UXELt9HxcWfBJxIcPH7PCZUciCzK8ysfskU6nueWWW7jxxhvZtGkTH/zgBxd7ST58AL4lctlASkkikaChoYFcLsdtt93Gpz/9aV70ohct9tJ8zC18S8TH/EAIYU+Jy+Vy5HK5aVXa+vAxX/BJ5DKCruts3ryZrq4uXvnKV76gxG0+Ll34JHIZIRAIsGfPHvr6+ti1a9flKuuuimeeeYZrr72WdevWzUVVrI95hk8ilyFaWlq4/fbbeeaZZxZ7KXMOXdd58MEH+fa3v82hQ4f46le/yqFDhxZ7WT4qwCeRywRDQ0OMj48D5rjN733ve1fkpLhdu3axbt061q5dSzgc5v777+ff//3fF3tZPirAJxEXnnvuOW644QbS6TSJRIJNmzZdEm7DxYsXuf3227nhhhvYtm0br3zlK7nrrrsWe1lzjvPnzxcN8l6+fDnnz59fxBX5qAa/iteFbdu2cffdd/Onf/qnpFIpfuM3foPrrrtusZfFDTfcwO7duxd7GT58lGC6OpEXBIQQYeA5IA28WEqpL/KSXjAQQtwKfEhK+Wrr9/cBSCk/tqgL81EWvjvjjXagAWgEoou8lkWFECIghNgthHhygXb5HHC1EGKNReb3A08s0L59zAA+iXjj74EPAP8f8BeLvJbFxkPA4YXamZQyD7wT+I61369LKQ8u1P59TB9+TMQFIcQbgZyU8l+FEAHgv4UQvyql/I/FXttCQwixHHgN8FFgwRqmSCmfBp5eqP35mB38mIiPshBCPAZ8DNOte7eU8spLB/mYNXx3xocnhBB3AYNSyucXey0+Lm34JOKjHH4ZuFsIcQb4GvCrQoivLO6SfFyK8N0ZH1UhhHgZvjvjowx8S8SHDx+zgm+J+PDhY1bwLREfPnzMCj6J+PDhY1bwScSHDx+zgk8iPnz4mBV8EvHhw8es4JOIDx8+ZgWfRHz48DEr+CTiw4ePWeH/B1uyvlbwZc52AAAAAElFTkSuQmCC +" +> +</div> + +</div> + +<div class="jp-OutputArea-child"> + + + <div class="jp-OutputPrompt jp-OutputArea-prompt"></div> + + + + +<div class="jp-RenderedImage jp-OutputArea-output "> +<img src="data:image/png;base64,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FmZ0dJQDBw6wdevWKLMWzht6+OGH+dM//VNs2+bTn/40d91111JUoTaDFoksVXiexyOPPMJ9993HD3/4QzZv3sxdd93FL//yL8dSvvWwbZs9e/awevXqQGOiyGp4eJj+/n4GBwfJZDIsX768Vs8TQ1A1EuhSgn4gMZIIC/x0Pba4gpSqiLsSoBYsxPp8hDup1c4QPB+qPoWmdCClYoH2js4oABrPrjh2FSlVRzRD10lnsrGMi6y3qiLroSY88yVBx/f22siHeBYmiq3UD+UOTqqhcjVOIPl8nv3797N169aGQrEnn3ySt7/97fzu7/4u//7v/86NN97IH/7hH07jiliyaJHIpQDf9/n5z3/Offfdx/e+9z02btzI3Xffza233hoJksrlMnv27OHqq6+esCN3WM/T39/PwMAAqVSK5cuX1+p54q8FhKYk+QglTS+VCuiaTjKRqDUVJizlo76dYIho6pwfW9w160DEyvVLpRK+76uGxxNkUuLnEs6Qkb5UqWPLwjBMGpfiezi2Q6lcUg2bIxUrdRZQLQsja42LlPimceo4loWZikD27dvHf/pP/4n77ruPjRs3Tv3FzwCVSoWXvOQl0dzhe+65hw996EPzsq8ALRK51OD7Pk888QRf//rX+c53vsP69evZvn07jz32GJ/73OeamhMcyu8vXryIZVksX748Vs9Tg+cLRvJ5upb11ClhCeX3oSx/rLQ8tA6okYAAZFiIF7SDlCghmVOtkmpri83AjVU2T9Y9HdX5XhMaw8ODpFJKw6EsLWVRqHSsS1umDeqUq9SEe5FVJGvkFxVGhjGTIPOECsSGTZ0LhQL79u1jy5Yt47U8wIEDB3jLW97CV7/6Va6//vomvvHmIKWkWCySyWRwHIcXvehFfPrTn+aXfumX5muXLRK5lOH7Pp///Of5wAc+wIYNG+js7OSOO+7g9ttvb1qwVCwWI/l9XC0rpWT37t1ceeWV9PQuV4tLq7kBUQBT1BZ3LcWqRdqTmmtQy5pErxeCcrFIKp2qizNMZilMZj34novredjVKr7nk8lmqVYrajTmOOHZRLUwk82k0ZQFEhBIsVhk7969ExLIoUOHePOb38yXv/xlNm/e3OS3PHOUSiVe9KIX8dnPfpbnPe9587WbS45ELtkU73xACMHRo0fZs2cPPT09PP3009x3333cfffddHR0cOedd3L77bfT09Mz5bba2trYsGEDGzZsoFwu09/fz5NPPkmxWGTVqlVks0HsQfrgO7UFLFRWhSDrIqUSYwkhao2TwwI2qL/ba0qAVi4WauZ/g1hJtK+698ZbTorgZYHsXtOwNA3LMBC6QSE/qiyvfB7TtAIpfpi9Uf/GMzPjHovFRxSB2OMIZPPmzQ0J5Pjx49x77738wz/8w4IRiOd57Nixg6NHj/L7v//780kglyRalsg0IKXk6NGj3Hfffdx///2kUinuuOMO7rjjjoY9URoh9O+vueaaiFR834/k9zWfXylkhW4SBTCkpK7/aCQzr5eeFwtqXm9bFBzVGrwubLYka2nhsKAQ6l8XPVazHkaHh8jm1LgO1VPEZGhwAMMwSCZTGIaBpusNa2Fqj9WEZ/EgaqlUYs+ePVGpwlicPHmS17/+9Xz+859n586ds/pOZ4Lh4WHuvvtu/uf//J/z2Vj5krNEWiTSJML+nWFPFE3Top4oq1atakgoocpy7N3Vtm36+/vp7+/HcZyIUKIFJDRFHGJMyT3h0zWFabFYxDRNkqn05EHUho/J8fsIXY6AsBzHoVQs0t7RUedCSb/WCtFxbHxfUiwVyGayGKYZfR7S86PUclTA5zqRDiQkkBtvvFFZaWNw5swZXve61/HZz36W5z//+U1+a3OHP/mTPyGdTvNHf/RH87WLFok8lyClpK+vj127dvHP//zP2LbNq1/9au68807WrVuHEIJz585x8uRJtm7dOmkznLCep7+/n0qlwrJly1i+fHmtnkeoodfx+ElIIL4E6XtRV7HxcvRQdRpPrYa9S2tp5fFFb4DvUakq9Ws2FwSZJxGehY95nku1WsVzHYTQao2g1IvqgqhhJuz6668nl8uN+2zOnj3LPffcw6c//ekFH/AU9qjp6OigXC7zyle+kve85z3cfvvt87XLFolMhG9/+9u8853vxPM83va2t/HHf/zHM93UkoSUkvPnz/NP//RP/NM//ROjo6Ns3LiRoaEhvvSlLzXVEDis5+nv76dYLNLd3c3y5ctr9TxByT6aju+rnq6mOWYshVQa2klTq+HXGQVH40FP9TrPUwWB6ba26LH6Hqf1YjRlzfiRi+X7PrphUioWsG2bRCKJ79kkLWWlTEUg58+f59d//df5+Mc/zite8YpZfEMzw969e7n33nujAWuve93reP/73z+fu2yRSCN4nsfGjRv57ne/y5o1a9i5cydf+cpX5jU1t9j42Mc+xhe/+EXWrl3LhQsXeNWrXsWdd97ZdE+UsJ6nv7+ffD5PZ2cny5cvJ5lMsn//U1x73XXkOjqJMjp1wVGpGi+FAdyJUquNKnUDzUmxWCAdjFlQWeL6zvn1svVJUsfB60aHBzj5zHHy+TzZbJbh4WFuuOGGhtmvixcv8prXvIYPf/jDl/RcliZxyZHIgmRnHn30Ua6++mquvPJKAF7/+tfzzW9+87IlkXAw1y9+8QsSiQRDQ0Pcf//9/Mmf/AmnT5/mla98JXfffbcq5JtCoq3repQeDufznD59mgsXLtDd3Y1dreDZlaAniK7iKJFytKYbCQOmcS1JaHnUPRYQkdANRoeHyWRVfEaI8RL18LFaw2Vv/GNBfxIhNHy3SrYtzY033kipVOKJJ54gm81y8ODBcZ38BwcHueeee/jABz7wXCKQSxILQiJ9fX2sXbs2+nvNmjX8+7//+0LselEghKiTXnd2dnLvvfdy7733Rr03P/7xj3P06FF++Zd/mbvuuott27ZNSSiappFKpSgWi+zYsQPf9+nv7+fw4cP19Ty+EwRlVff7sF8IEKR1tdhjYcyk9jrHdSkVR2lvz0Uui9KTObWK3sCK8eNjNZWtUntdaJGg+sWGMZBqtcrevXu58cYb6ejoqFP+/uxnP+Ov//qvGR0d5d3vfjevfvWr5/bLaWHO0dKJLDByuRxvfOMbeeMb30ihUOBb3/oWn/nMZzhw4AAvf/nLufPOO7nlllsaVgqHaeJ4BqOrqwspJSMjI/T393P06FEymUw0TkPX9SDzEhQEjqvUDeMjKjhbqaih5u1B+4Ma+cjodbXq3fiMGWgcb/HrgqjVapXdu3ezadOmqMWCEIL29nba29vp7e3lf//v/811113HZz/7WZ566ik+9rGPzd0X0MKcY0FIZPXq1Zw+fTr6+8yZM5d6ufacIJPJ8NrXvpbXvva1VCoVvvOd7/CFL3yBd77znbz4xS/mzjvvjHqi9Pf3c+zYsYYqTiEEHR0d0V09n8/T39/PM888QyqVisZphPN5ai5PvKeHj+spTUkm1z4uYFpXxxM8pulB5/zAUmksZfciArFtm927d3PNNdc0jIEUi0Xe8IY38Na3vpU3velNgKpdmUucPn2aN7/5zZw/fx4hBP/5P/9n3vnOd87pPp5rWJDAquu6bNy4ke9///usXr2anTt38uUvf5kbbrihqe285S1v4YEHHqC3t5f9+/fP5FAuCVSrVb7//e9z33338eijj7Jp0yYOHz7Md77znejuPR2E+pFwPo9lWRGhWJYVWSjhfJ5SQbV8jLrBTxFEHT9KIpTtE8RjnKCDvCKQJ598kquvvrphy8JSqcRv/MZv8Ju/+Zu85S1vmfVnOBHOnj3L2bNn2b59O/l8nh07dvCNb3xjKcXnLrnA6oKleB966CHe9a534Xkeb3nLW3jf+97X9DYefvhhMpkMb37zmy9rEonjW9/6Fu9617t4wQtewGOPPcaOHTu46667eNnLXtb0HNlSqcT58+e5cOFCFLDt6enh5MmTmKbFlVdfQzT4u8GIiPGqU63+sXgzJNeuI5Ddu3dz1VVXNSSQSqXCG97wBu6++25+53d+p6ns1Wxx55138va3v51bb711wfY5BVokMt84ceIEt99++3OGRL785S9z66230tPTg+u6UU+UH/3oR2zZsoW77rqLV7ziFRP2RJkIofT+5MmTAKxbty42TkNZF1EcZVr9QERw+Ys6C8RxHJ588kmuvPLKhi0VqtUqb3rTm3jlK1/JO97xjgUlkBMnTvCSl7yE/fv3N9SoLBJaJDLfeK6RyETwPC/qifL973+fTZs2cdddd/HKV76yYeHaWEgpOXjwIJqmsW7dukgt63kePT09LF++PFbEZ0SuT30QVdaaVYePxYKoIYFs2LChYdGi4zjce++9vOhFL+Ld7373ghJIoVDgpS99Ke973/t4zWtes2D7nQZaJDLfaJHIePi+zy9+8Qu+/vWv86//+q9s2LCBO+64g1e96lUN77BSSp5++mlM0+Tqq6+uW7y2bUeEEo7TWL58OW1tbTX5fTRBMFCnEqaKvToLZPfu3ZGFMxau6/KWt7yF7du38973vndBCcRxHG6//XZ+5Vd+ZSl2QWuRyHyjRSKTw/d99u7dy3333cdDDz3EqlWruOOOO/i1X/s1Ojs7cV2Xp59+mlQqxVVXXTXp4nUcJ5Lfl8vlaD5PNpuNye911YIg5sK4rsuTTz45IYF4nsfv/M7vcM011/DBD35wQQlESsm9995LV1cXf/EXf7Fg+20CLRKZb8yWRJ5LKT4pJQcOHOC+++7jwQcfjIrI7rzzTn7v936vafl9SCiFQiGaz9Pe3l63Hdd12b17N2vXrmX58uUNt/OOd7yDlStX8pGPfGRBCQTgkUce4cUvfnHdBMWPfOQj3HbbbTPa3vvf/366urp417veBcD73vc+ent7Z3NNtUhkPvGGN7yBH/3oR1y8eJHly5fzoQ99iLe+9a1NbeMSSPHNCxzH4TWveQ3VapV8Pk8qleLOO+/k1a9+9bR7ooTwPI/BwUH6+/sZHR2ls7MzslD27NnDmjVrWLFixbj3+b7Pf/kv/4VsNssnPvGJS70rO6Buaq95zWt44okn8H2fa665hkcffXQ2k/cuORK5pBSrX/nKV2a9jZUrV7Jy5UoAstks1113HX19fZc9iQwODnLbbbfxe7/3e0gpeeaZZ9i1axdvfvOb0TSNO+64gzvvvHPCnihx6LpOT08PPT09+L7P0NAQZ8+eZffu3eRyOQzDwA86ooXwfZ/3vOc9JBKJy4ZAANavX093dzdPPvkk58+fZ9u2bQs2unOp4JKyROYaSzTFt6CQUnLmzJmoJ4rrurz61a/mjjvuiHqiTIVwNk+Y0Tl//jxDQ0Nks1lM02TlypV87GMfo1Qq8dnPfvayIZAQ//iP/8hPf/pTzp07x7333jtj1yjAJWeJPGdJZAmn+BYNUkrOnTsX9UQpFAr82q/9Gnfeeee4LE6IOIHESxnCorqvfe1rfPKTn0TTNP7sz/6M22+/vWHrw0sZtm2zefNmHMfhyJEjDeuemsAlRyKX1y1hmnAch1//9V/nN3/zN1sEEoMQgpUrV/L7v//7fP/73+eBBx5g5cqVvOc97+FlL3sZH/3oR3n66acJbzxhJqi3t3dcLZQQglwux8WLF3nhC1/Irl27OHDgAD/+8Y8X49TmFZZl8fKXv5zXve51syWQSxLPOUtkrlJ8izDUaFExODjI/fffz65du+jr6+MVr3gFP//5z/nQhz7UcAaLlJJPfepT7N27ly9/+ctTDlafDRa7psr3fbZv387Xv/51rrnmmtlu7pKzRJBBa7xp/lzy+MlPfiIBuXnzZrl161a5detW+eCDDza9Hd/3ZT6fl1JKadu2vOWWW+TPfvazuT7cJYkLFy7IHTt2yOc///ly69at8t3vfrd8+OGHZT6fl8ViURYKBfmxj31M3nXXXbJarc778fz4xz+Wv/jFL+QNN9ww7/sai6eeekpu2LBB/uEf/uFcbbLZNbnoP5dUdmYu8KIXvSgyx2cDIUTk26tpcM6Cax4WC08//TRvetObeOc730mhUOChhx7iM5/5DE8//TQvf/nLo/k9u3btUtXC84yXvOQlnDhxYt730wjXX389x48fX5R9LxU859yZucTYoUbP9eY55XKZhx56iE996lN873vfm7S7/VzjMlIyX3J3oudkYHWuoOs6u3fv5syZMzz66KOXwwU8K6RSKX7913+dRx55ZEEJpIXFRYtE5gAdHR28/OUv59vf/vZiH0oLLSw4WiQyQ1y4cIHh4WFAmfHf/e53ufbaa2e8Pc/z2LZt23wORWqhhXlBi0RmiLNnz/Lyl7+cLVu2sHPnTm699dZZEcCnP/1prrvuujk8wucO3vCGN/D85z+fQ4cOsWbNGv72b/92sQ/pOYVWYHUJ4MyZM9x77728733v45Of/CQPPPDAYh9SC4uHVmC1hebxrne9iz//8z+/7GpKWnhuoHXVLjJCpeWOHTsW+1BaaGFGaJHIIuPf/u3fuP/++1m/fj2vf/3r+cEPfsB//I//cbEPq4UWpo1WTGQJ4Uc/+hGf+MQnZhUTWb9+PdlsFl3XMQyDxx9/fA6PsIUFQCsm0sLi44c//CG7d+++ZAnk29/+Nps2beLqq6/mox/96GIfTgtToGWJXGZYv349jz/+eMMZL5cCPM9j48aNfPe732XNmjXs3LmTr3zlK5d957kYWpZIC4sLIQSvfOUr2bFjB5/73OcW+3CaxqOPPsrVV1/NlVdeiWVZvP71r+eb3/zmYh9WC5OgRSJj8Nhjj7FlyxYqlQrFYpEbbrjhkqqJeeSRR3jiiSf41re+xV/91V/x8MMPL/YhNYW+vj7Wrl0b/b1mzRr6+voW8YhamArNujPPCQghPgwkgRRwRkr5Z4t8SDOCEOKDQEFK+YnFPpbpQghxD/CrUsq3BX+/CXielPLti3tkLUyEliXSGH8C3ArcDPz5Ih/LtCGEaBNCZMPfgVcCl44ZpdAHrI39vSZ4rIUlihaJNEY3kAGyKIvkUsFy4BEhxB7gUeBBKeWMSouFEB1CiPuEEAeFEE8LIZ4/p0c6MR4DrhFCbBBCWMDrgfsXaN8tzAAtd6YBhBD3A18FNgArn4umtBDi74GfSCk/HyzmtJRyeIH2fRvwF4AO/B8p5Z8uxH5bmBlaJDIGQog3A3dKKX9dCKEDPwXeK6X8wSIf2oJBCNEO7AaulK0LpIUp0CKRFsZBCHET8DngALAV+AXwTillcTGPq4WliVZMpIVGMIDtwGellNuAIvDHi3tILSxVtEikhUY4g0pt/3vw930oUmmhhXFokUgL4yClPAecFkJsCh56Bcq1aaGFcWjFRFpoiCAu8nnAAo4Dvy2lHFrUg2phSaJFIi200MKs0HJnWmihhVmhRSIttNDCrNAikRZaaGFWaJFICy20MCu0SKSFFlqYFVok0kILLcwKLRJpoYUWZoX/H2nUDoZ6sVxVAAAAAElFTkSuQmCC +" +> +</div> + +</div> + +<div class="jp-OutputArea-child"> + + + <div class="jp-OutputPrompt jp-OutputArea-prompt"></div> + + + + +<div class="jp-RenderedImage jp-OutputArea-output "> +<img src="data:image/png;base64,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 +" +> +</div> + +</div> + +<div class="jp-OutputArea-child"> + + + <div class="jp-OutputPrompt jp-OutputArea-prompt"></div> + + + + +<div class="jp-RenderedImage jp-OutputArea-output "> +<img src="data:image/png;base64,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 +" +> +</div> + +</div> + +</div> + +</div> + +</div> +<div class="jp-Cell-inputWrapper"><div class="jp-InputPrompt jp-InputArea-prompt"> +</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown"> +<h2 id="Cálculos-de-FWHM">Cálculos de FWHM<a class="anchor-link" href="#Cálculos-de-FWHM">¶</a></h2> +</div> +</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs "> +<div class="jp-Cell-inputWrapper"> +<div class="jp-InputArea jp-Cell-inputArea"> +<div class="jp-InputPrompt jp-InputArea-prompt">In [19]:</div> +<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline"> + <div class="CodeMirror cm-s-jupyter"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">FWHM_estrellas</span> <span class="o">=</span> <span class="p">[]</span> +<span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="mi">10</span><span class="p">):</span> + <span class="n">Best</span> <span class="o">=</span> <span class="n">ajuste_2D_Aut</span><span class="p">(</span><span class="n">estrellas</span><span class="p">[</span><span class="n">i</span><span class="p">])</span> + <span class="n">FWHM_estrellas</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">Best</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span> + +<span class="c1"># FWHM_estrellas es un array que contiene los valores de FWHM para dada estrella </span> +</pre></div> + + </div> +</div> +</div> +</div> + +</div> +<div class="jp-Cell-inputWrapper"><div class="jp-InputPrompt jp-InputArea-prompt"> +</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown"> +<h2 id="Análisis-EStadística-de-FWHM">Análisis EStadística de FWHM<a class="anchor-link" href="#Análisis-EStadística-de-FWHM">¶</a></h2> +</div> +</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell "> +<div class="jp-Cell-inputWrapper"> +<div class="jp-InputArea jp-Cell-inputArea"> +<div class="jp-InputPrompt jp-InputArea-prompt">In [20]:</div> +<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline"> + <div class="CodeMirror cm-s-jupyter"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="c1"># Realizamos un Histrograma</span> +<span class="kn">import</span> <span class="nn">plotly.express</span> <span class="k">as</span> <span class="nn">px</span> +<span class="kn">from</span> <span class="nn">pandas</span> <span class="kn">import</span> <span class="n">DataFrame</span> + +<span class="n">numero_estrella</span> <span class="o">=</span> <span class="nb">range</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="mi">10</span><span class="p">)</span> + +<span class="n">Data</span> <span class="o">=</span> <span class="p">{</span><span class="s1">'Estrella'</span><span class="p">:</span> <span class="n">numero_estrella</span><span class="p">,</span> + <span class="s1">'FWHM'</span><span class="p">:</span> <span class="n">FWHM_estrellas</span> <span class="p">,</span> + <span class="p">}</span> + +<span class="n">df</span> <span class="o">=</span> <span class="n">DataFrame</span><span class="p">(</span><span class="n">Data</span><span class="p">,</span><span class="n">columns</span><span class="o">=</span><span class="p">[</span> <span class="s1">'Estrella'</span><span class="p">,</span> <span class="s1">'FWHM'</span><span class="p">])</span> +<span class="n">fig</span> <span class="o">=</span> <span class="n">px</span><span class="o">.</span><span class="n">histogram</span><span class="p">(</span><span class="n">df</span><span class="p">,</span> <span class="n">x</span> <span class="o">=</span> <span class="s1">'FWHM'</span><span class="p">)</span> +<span class="n">fig</span><span class="o">.</span><span class="n">show</span><span class="p">()</span> +</pre></div> + + </div> +</div> +</div> +</div> + +<div class="jp-Cell-outputWrapper"> + + +<div class="jp-OutputArea jp-Cell-outputArea"> + +<div class="jp-OutputArea-child"> + + + <div class="jp-OutputPrompt jp-OutputArea-prompt"></div> + + + +<div class="jp-RenderedHTMLCommon jp-RenderedHTML jp-OutputArea-output " data-mime-type="text/html"> + <script type="text/javascript"> + window.PlotlyConfig = {MathJaxConfig: 'local'}; + if (window.MathJax) {MathJax.Hub.Config({SVG: {font: "STIX-Web"}});} + if (typeof require !== 'undefined') { + require.undef("plotly"); + define('plotly', function(require, exports, module) { + /** +* plotly.js v1.58.4 +* Copyright 2012-2020, Plotly, Inc. +* All rights reserved. +* Licensed under the MIT license +*/ +!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).Plotly=t()}}((function(){return function t(e,r,n){function i(o,s){if(!r[o]){if(!e[o]){var l="function"==typeof require&&require;if(!s&&l)return l(o,!0);if(a)return a(o,!0);var c=new Error("Cannot find module '"+o+"'");throw c.code="MODULE_NOT_FOUND",c}var u=r[o]={exports:{}};e[o][0].call(u.exports,(function(t){return i(e[o][1][t]||t)}),u,u.exports,t,e,r,n)}return r[o].exports}for(var a="function"==typeof require&&require,o=0;o<n.length;o++)i(n[o]);return i}({1:[function(t,e,r){"use strict";var n=t("../src/lib"),i={"X,X div":"direction:ltr;font-family:'Open Sans', verdana, arial, sans-serif;margin:0;padding:0;","X input,X button":"font-family:'Open Sans', verdana, arial, sans-serif;","X input:focus,X button:focus":"outline:none;","X a":"text-decoration:none;","X a:hover":"text-decoration:none;","X .crisp":"shape-rendering:crispEdges;","X .user-select-none":"-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;","X svg":"overflow:hidden;","X svg a":"fill:#447adb;","X svg a:hover":"fill:#3c6dc5;","X .main-svg":"position:absolute;top:0;left:0;pointer-events:none;","X .main-svg .draglayer":"pointer-events:all;","X .cursor-default":"cursor:default;","X .cursor-pointer":"cursor:pointer;","X .cursor-crosshair":"cursor:crosshair;","X .cursor-move":"cursor:move;","X .cursor-col-resize":"cursor:col-resize;","X .cursor-row-resize":"cursor:row-resize;","X .cursor-ns-resize":"cursor:ns-resize;","X .cursor-ew-resize":"cursor:ew-resize;","X .cursor-sw-resize":"cursor:sw-resize;","X .cursor-s-resize":"cursor:s-resize;","X .cursor-se-resize":"cursor:se-resize;","X .cursor-w-resize":"cursor:w-resize;","X .cursor-e-resize":"cursor:e-resize;","X .cursor-nw-resize":"cursor:nw-resize;","X .cursor-n-resize":"cursor:n-resize;","X .cursor-ne-resize":"cursor:ne-resize;","X .cursor-grab":"cursor:-webkit-grab;cursor:grab;","X .modebar":"position:absolute;top:2px;right:2px;","X .ease-bg":"-webkit-transition:background-color 0.3s ease 0s;-moz-transition:background-color 0.3s ease 0s;-ms-transition:background-color 0.3s ease 0s;-o-transition:background-color 0.3s ease 0s;transition:background-color 0.3s ease 0s;","X .modebar--hover>:not(.watermark)":"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;","X:hover .modebar--hover .modebar-group":"opacity:1;","X .modebar-group":"float:left;display:inline-block;box-sizing:border-box;padding-left:8px;position:relative;vertical-align:middle;white-space:nowrap;","X .modebar-btn":"position:relative;font-size:16px;padding:3px 4px;height:22px;cursor:pointer;line-height:normal;box-sizing:border-box;","X .modebar-btn svg":"position:relative;top:2px;","X .modebar.vertical":"display:flex;flex-direction:column;flex-wrap:wrap;align-content:flex-end;max-height:100%;","X .modebar.vertical svg":"top:-1px;","X .modebar.vertical .modebar-group":"display:block;float:none;padding-left:0px;padding-bottom:8px;","X .modebar.vertical .modebar-group .modebar-btn":"display:block;text-align:center;","X [data-title]:before,X [data-title]:after":"position:absolute;-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);-o-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);display:none;opacity:0;z-index:1001;pointer-events:none;top:110%;right:50%;","X [data-title]:hover:before,X [data-title]:hover:after":"display:block;opacity:1;","X [data-title]:before":"content:'';position:absolute;background:transparent;border:6px solid transparent;z-index:1002;margin-top:-12px;border-bottom-color:#69738a;margin-right:-6px;","X [data-title]:after":"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;","X .vertical [data-title]:before,X .vertical [data-title]:after":"top:0%;right:200%;","X .vertical [data-title]:before":"border:6px solid transparent;border-left-color:#69738a;margin-top:8px;margin-right:-30px;","X .select-outline":"fill:none;stroke-width:1;shape-rendering:crispEdges;","X .select-outline-1":"stroke:white;","X .select-outline-2":"stroke:black;stroke-dasharray:2px 2px;",Y:"font-family:'Open Sans', verdana, arial, sans-serif;position:fixed;top:50px;right:20px;z-index:10000;font-size:10pt;max-width:180px;","Y p":"margin:0;","Y .notifier-note":"min-width:180px;max-width:250px;border:1px solid #fff;z-index:3000;margin:0;background-color:#8c97af;background-color:rgba(140,151,175,0.9);color:#fff;padding:10px;overflow-wrap:break-word;word-wrap:break-word;-ms-hyphens:auto;-webkit-hyphens:auto;hyphens:auto;","Y .notifier-close":"color:#fff;opacity:0.8;float:right;padding:0 5px;background:none;border:none;font-size:20px;font-weight:bold;line-height:20px;","Y .notifier-close:hover":"color:#444;text-decoration:none;cursor:pointer;"};for(var a in i){var o=a.replace(/^,/," ,").replace(/X/g,".js-plotly-plot .plotly").replace(/Y/g,".plotly-notifier");n.addStyleRule(o,i[a])}},{"../src/lib":778}],2:[function(t,e,r){"use strict";e.exports=t("../src/transforms/aggregate")},{"../src/transforms/aggregate":1365}],3:[function(t,e,r){"use strict";e.exports=t("../src/traces/bar")},{"../src/traces/bar":929}],4:[function(t,e,r){"use strict";e.exports=t("../src/traces/barpolar")},{"../src/traces/barpolar":942}],5:[function(t,e,r){"use strict";e.exports=t("../src/traces/box")},{"../src/traces/box":952}],6:[function(t,e,r){"use strict";e.exports=t("../src/components/calendars")},{"../src/components/calendars":641}],7:[function(t,e,r){"use strict";e.exports=t("../src/traces/candlestick")},{"../src/traces/candlestick":961}],8:[function(t,e,r){"use strict";e.exports=t("../src/traces/carpet")},{"../src/traces/carpet":980}],9:[function(t,e,r){"use strict";e.exports=t("../src/traces/choropleth")},{"../src/traces/choropleth":994}],10:[function(t,e,r){"use strict";e.exports=t("../src/traces/choroplethmapbox")},{"../src/traces/choroplethmapbox":1001}],11:[function(t,e,r){"use strict";e.exports=t("../src/traces/cone")},{"../src/traces/cone":1007}],12:[function(t,e,r){"use strict";e.exports=t("../src/traces/contour")},{"../src/traces/contour":1022}],13:[function(t,e,r){"use strict";e.exports=t("../src/traces/contourcarpet")},{"../src/traces/contourcarpet":1033}],14:[function(t,e,r){"use strict";e.exports=t("../src/core")},{"../src/core":755}],15:[function(t,e,r){"use strict";e.exports=t("../src/traces/densitymapbox")},{"../src/traces/densitymapbox":1041}],16:[function(t,e,r){"use strict";e.exports=t("../src/transforms/filter")},{"../src/transforms/filter":1366}],17:[function(t,e,r){"use strict";e.exports=t("../src/traces/funnel")},{"../src/traces/funnel":1051}],18:[function(t,e,r){"use strict";e.exports=t("../src/traces/funnelarea")},{"../src/traces/funnelarea":1060}],19:[function(t,e,r){"use strict";e.exports=t("../src/transforms/groupby")},{"../src/transforms/groupby":1367}],20:[function(t,e,r){"use strict";e.exports=t("../src/traces/heatmap")},{"../src/traces/heatmap":1073}],21:[function(t,e,r){"use strict";e.exports=t("../src/traces/heatmapgl")},{"../src/traces/heatmapgl":1083}],22:[function(t,e,r){"use strict";e.exports=t("../src/traces/histogram")},{"../src/traces/histogram":1095}],23:[function(t,e,r){"use strict";e.exports=t("../src/traces/histogram2d")},{"../src/traces/histogram2d":1101}],24:[function(t,e,r){"use strict";e.exports=t("../src/traces/histogram2dcontour")},{"../src/traces/histogram2dcontour":1105}],25:[function(t,e,r){"use strict";e.exports=t("../src/traces/image")},{"../src/traces/image":1113}],26:[function(t,e,r){"use strict";var n=t("./core");n.register([t("./bar"),t("./box"),t("./heatmap"),t("./histogram"),t("./histogram2d"),t("./histogram2dcontour"),t("./contour"),t("./scatterternary"),t("./violin"),t("./funnel"),t("./waterfall"),t("./image"),t("./pie"),t("./sunburst"),t("./treemap"),t("./funnelarea"),t("./scatter3d"),t("./surface"),t("./isosurface"),t("./volume"),t("./mesh3d"),t("./cone"),t("./streamtube"),t("./scattergeo"),t("./choropleth"),t("./scattergl"),t("./splom"),t("./pointcloud"),t("./heatmapgl"),t("./parcoords"),t("./parcats"),t("./scattermapbox"),t("./choroplethmapbox"),t("./densitymapbox"),t("./sankey"),t("./indicator"),t("./table"),t("./carpet"),t("./scattercarpet"),t("./contourcarpet"),t("./ohlc"),t("./candlestick"),t("./scatterpolar"),t("./scatterpolargl"),t("./barpolar")]),n.register([t("./aggregate"),t("./filter"),t("./groupby"),t("./sort")]),n.register([t("./calendars")]),e.exports=n},{"./aggregate":2,"./bar":3,"./barpolar":4,"./box":5,"./calendars":6,"./candlestick":7,"./carpet":8,"./choropleth":9,"./choroplethmapbox":10,"./cone":11,"./contour":12,"./contourcarpet":13,"./core":14,"./densitymapbox":15,"./filter":16,"./funnel":17,"./funnelarea":18,"./groupby":19,"./heatmap":20,"./heatmapgl":21,"./histogram":22,"./histogram2d":23,"./histogram2dcontour":24,"./image":25,"./indicator":27,"./isosurface":28,"./mesh3d":29,"./ohlc":30,"./parcats":31,"./parcoords":32,"./pie":33,"./pointcloud":34,"./sankey":35,"./scatter3d":36,"./scattercarpet":37,"./scattergeo":38,"./scattergl":39,"./scattermapbox":40,"./scatterpolar":41,"./scatterpolargl":42,"./scatterternary":43,"./sort":44,"./splom":45,"./streamtube":46,"./sunburst":47,"./surface":48,"./table":49,"./treemap":50,"./violin":51,"./volume":52,"./waterfall":53}],27:[function(t,e,r){"use strict";e.exports=t("../src/traces/indicator")},{"../src/traces/indicator":1121}],28:[function(t,e,r){"use strict";e.exports=t("../src/traces/isosurface")},{"../src/traces/isosurface":1127}],29:[function(t,e,r){"use strict";e.exports=t("../src/traces/mesh3d")},{"../src/traces/mesh3d":1132}],30:[function(t,e,r){"use strict";e.exports=t("../src/traces/ohlc")},{"../src/traces/ohlc":1137}],31:[function(t,e,r){"use strict";e.exports=t("../src/traces/parcats")},{"../src/traces/parcats":1146}],32:[function(t,e,r){"use strict";e.exports=t("../src/traces/parcoords")},{"../src/traces/parcoords":1156}],33:[function(t,e,r){"use strict";e.exports=t("../src/traces/pie")},{"../src/traces/pie":1167}],34:[function(t,e,r){"use strict";e.exports=t("../src/traces/pointcloud")},{"../src/traces/pointcloud":1176}],35:[function(t,e,r){"use strict";e.exports=t("../src/traces/sankey")},{"../src/traces/sankey":1182}],36:[function(t,e,r){"use strict";e.exports=t("../src/traces/scatter3d")},{"../src/traces/scatter3d":1220}],37:[function(t,e,r){"use strict";e.exports=t("../src/traces/scattercarpet")},{"../src/traces/scattercarpet":1227}],38:[function(t,e,r){"use strict";e.exports=t("../src/traces/scattergeo")},{"../src/traces/scattergeo":1235}],39:[function(t,e,r){"use strict";e.exports=t("../src/traces/scattergl")},{"../src/traces/scattergl":1248}],40:[function(t,e,r){"use strict";e.exports=t("../src/traces/scattermapbox")},{"../src/traces/scattermapbox":1258}],41:[function(t,e,r){"use strict";e.exports=t("../src/traces/scatterpolar")},{"../src/traces/scatterpolar":1266}],42:[function(t,e,r){"use strict";e.exports=t("../src/traces/scatterpolargl")},{"../src/traces/scatterpolargl":1273}],43:[function(t,e,r){"use strict";e.exports=t("../src/traces/scatterternary")},{"../src/traces/scatterternary":1281}],44:[function(t,e,r){"use strict";e.exports=t("../src/transforms/sort")},{"../src/transforms/sort":1369}],45:[function(t,e,r){"use strict";e.exports=t("../src/traces/splom")},{"../src/traces/splom":1290}],46:[function(t,e,r){"use strict";e.exports=t("../src/traces/streamtube")},{"../src/traces/streamtube":1298}],47:[function(t,e,r){"use strict";e.exports=t("../src/traces/sunburst")},{"../src/traces/sunburst":1306}],48:[function(t,e,r){"use strict";e.exports=t("../src/traces/surface")},{"../src/traces/surface":1315}],49:[function(t,e,r){"use strict";e.exports=t("../src/traces/table")},{"../src/traces/table":1323}],50:[function(t,e,r){"use strict";e.exports=t("../src/traces/treemap")},{"../src/traces/treemap":1332}],51:[function(t,e,r){"use strict";e.exports=t("../src/traces/violin")},{"../src/traces/violin":1344}],52:[function(t,e,r){"use strict";e.exports=t("../src/traces/volume")},{"../src/traces/volume":1352}],53:[function(t,e,r){"use strict";e.exports=t("../src/traces/waterfall")},{"../src/traces/waterfall":1360}],54:[function(t,e,r){"use strict";e.exports=function(t){var e=(t=t||{}).eye||[0,0,1],r=t.center||[0,0,0],s=t.up||[0,1,0],l=t.distanceLimits||[0,1/0],c=t.mode||"turntable",u=n(),f=i(),h=a();return u.setDistanceLimits(l[0],l[1]),u.lookAt(0,e,r,s),f.setDistanceLimits(l[0],l[1]),f.lookAt(0,e,r,s),h.setDistanceLimits(l[0],l[1]),h.lookAt(0,e,r,s),new o({turntable:u,orbit:f,matrix:h},c)};var n=t("turntable-camera-controller"),i=t("orbit-camera-controller"),a=t("matrix-camera-controller");function o(t,e){this._controllerNames=Object.keys(t),this._controllerList=this._controllerNames.map((function(e){return t[e]})),this._mode=e,this._active=t[e],this._active||(this._mode="turntable",this._active=t.turntable),this.modes=this._controllerNames,this.computedMatrix=this._active.computedMatrix,this.computedEye=this._active.computedEye,this.computedUp=this._active.computedUp,this.computedCenter=this._active.computedCenter,this.computedRadius=this._active.computedRadius}var s=o.prototype;[["flush",1],["idle",1],["lookAt",4],["rotate",4],["pan",4],["translate",4],["setMatrix",2],["setDistanceLimits",2],["setDistance",2]].forEach((function(t){for(var e=t[0],r=[],n=0;n<t[1];++n)r.push("a"+n);var i="var cc=this._controllerList;for(var i=0;i<cc.length;++i){cc[i]."+t[0]+"("+r.join()+")}";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<0)){var r=this._active,n=this._controllerList[e],i=Math.max(r.lastT(),n.lastT());r.recalcMatrix(i),n.setMatrix(i,r.computedMatrix),this._active=n,this._mode=t,this.computedMatrix=this._active.computedMatrix,this.computedEye=this._active.computedEye,this.computedUp=this._active.computedUp,this.computedCenter=this._active.computedCenter,this.computedRadius=this._active.computedRadius}}},s.getMode=function(){return this._mode}},{"matrix-camera-controller":480,"orbit-camera-controller":501,"turntable-camera-controller":581}],55:[function(t,e,r){!function(n,i){"object"==typeof r&&"undefined"!=typeof e?i(r,t("d3-array"),t("d3-collection"),t("d3-shape"),t("elementary-circuits-directed-graph")):i(n.d3=n.d3||{},n.d3,n.d3,n.d3,null)}(this,(function(t,e,r,n,i){"use strict";function a(t){return t.target.depth}function o(t,e){return t.sourceLinks.length?t.depth:e-1}function s(t){return function(){return t}}i=i&&i.hasOwnProperty("default")?i.default:i;var l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};function c(t,e){return f(t.source,e.source)||t.index-e.index}function u(t,e){return f(t.target,e.target)||t.index-e.index}function f(t,e){return t.partOfCycle===e.partOfCycle?t.y0-e.y0:"top"===t.circularLinkType||"bottom"===e.circularLinkType?-1:1}function h(t){return t.value}function p(t){return(t.y0+t.y1)/2}function d(t){return p(t.source)}function g(t){return p(t.target)}function m(t){return t.index}function v(t){return t.nodes}function y(t){return t.links}function x(t,e){var r=t.get(e);if(!r)throw new Error("missing: "+e);return r}function b(t,e){return e(t)}function _(t,e,r){var n=0;if(null===r){for(var a=[],o=0;o<t.links.length;o++){var s=t.links[o],l=s.source.index,c=s.target.index;a[l]||(a[l]=[]),a[c]||(a[c]=[]),-1===a[l].indexOf(c)&&a[l].push(c)}var u=i(a);u.sort((function(t,e){return t.length-e.length}));var f={};for(o=0;o<u.length;o++){var h=u[o].slice(-2);f[h[0]]||(f[h[0]]={}),f[h[0]][h[1]]=!0}t.links.forEach((function(t){var e=t.target.index,r=t.source.index;e===r||f[r]&&f[r][e]?(t.circular=!0,t.circularLinkID=n,n+=1):t.circular=!1}))}else t.links.forEach((function(t){t.source[r]<t.target[r]?t.circular=!1:(t.circular=!0,t.circularLinkID=n,n+=1)}))}function w(t,e){var r=0,n=0;t.links.forEach((function(i){i.circular&&(i.source.circularLinkType||i.target.circularLinkType?i.circularLinkType=i.source.circularLinkType?i.source.circularLinkType:i.target.circularLinkType:i.circularLinkType=r<n?"top":"bottom","top"==i.circularLinkType?r+=1:n+=1,t.nodes.forEach((function(t){b(t,e)!=b(i.source,e)&&b(t,e)!=b(i.target,e)||(t.circularLinkType=i.circularLinkType)})))})),t.links.forEach((function(t){t.circular&&(t.source.circularLinkType==t.target.circularLinkType&&(t.circularLinkType=t.source.circularLinkType),H(t,e)&&(t.circularLinkType=t.source.circularLinkType))}))}function T(t){var e=Math.abs(t.y1-t.y0),r=Math.abs(t.target.x0-t.source.x1);return Math.atan(r/e)}function k(t,e){var r=0;t.sourceLinks.forEach((function(t){r=t.circular&&!H(t,e)?r+1:r}));var n=0;return t.targetLinks.forEach((function(t){n=t.circular&&!H(t,e)?n+1:n})),r+n}function M(t){var e=t.source.sourceLinks,r=0;e.forEach((function(t){r=t.circular?r+1:r}));var n=t.target.targetLinks,i=0;return n.forEach((function(t){i=t.circular?i+1:i})),!(r>1||i>1)}function A(t,e,r){return t.sort(E),t.forEach((function(n,i){var a,o,s=0;if(H(n,r)&&M(n))n.circularPathData.verticalBuffer=s+n.width/2;else{for(var l=0;l<i;l++)if(a=t[i],o=t[l],!(a.source.column<o.target.column||a.target.column>o.source.column)){var c=t[l].circularPathData.verticalBuffer+t[l].width/2+e;s=c>s?c:s}n.circularPathData.verticalBuffer=s+n.width/2}})),t}function S(t,r,i,a){var o=e.min(t.links,(function(t){return t.source.y0}));t.links.forEach((function(t){t.circular&&(t.circularPathData={})})),A(t.links.filter((function(t){return"top"==t.circularLinkType})),r,a),A(t.links.filter((function(t){return"bottom"==t.circularLinkType})),r,a),t.links.forEach((function(e){if(e.circular){if(e.circularPathData.arcRadius=e.width+10,e.circularPathData.leftNodeBuffer=5,e.circularPathData.rightNodeBuffer=5,e.circularPathData.sourceWidth=e.source.x1-e.source.x0,e.circularPathData.sourceX=e.source.x0+e.circularPathData.sourceWidth,e.circularPathData.targetX=e.target.x0,e.circularPathData.sourceY=e.y0,e.circularPathData.targetY=e.y1,H(e,a)&&M(e))e.circularPathData.leftSmallArcRadius=10+e.width/2,e.circularPathData.leftLargeArcRadius=10+e.width/2,e.circularPathData.rightSmallArcRadius=10+e.width/2,e.circularPathData.rightLargeArcRadius=10+e.width/2,"bottom"==e.circularLinkType?(e.circularPathData.verticalFullExtent=e.source.y1+25+e.circularPathData.verticalBuffer,e.circularPathData.verticalLeftInnerExtent=e.circularPathData.verticalFullExtent-e.circularPathData.leftLargeArcRadius,e.circularPathData.verticalRightInnerExtent=e.circularPathData.verticalFullExtent-e.circularPathData.rightLargeArcRadius):(e.circularPathData.verticalFullExtent=e.source.y0-25-e.circularPathData.verticalBuffer,e.circularPathData.verticalLeftInnerExtent=e.circularPathData.verticalFullExtent+e.circularPathData.leftLargeArcRadius,e.circularPathData.verticalRightInnerExtent=e.circularPathData.verticalFullExtent+e.circularPathData.rightLargeArcRadius);else{var s=e.source.column,l=e.circularLinkType,c=t.links.filter((function(t){return t.source.column==s&&t.circularLinkType==l}));"bottom"==e.circularLinkType?c.sort(L):c.sort(C);var u=0;c.forEach((function(t,n){t.circularLinkID==e.circularLinkID&&(e.circularPathData.leftSmallArcRadius=10+e.width/2+u,e.circularPathData.leftLargeArcRadius=10+e.width/2+n*r+u),u+=t.width})),s=e.target.column,c=t.links.filter((function(t){return t.target.column==s&&t.circularLinkType==l})),"bottom"==e.circularLinkType?c.sort(P):c.sort(I),u=0,c.forEach((function(t,n){t.circularLinkID==e.circularLinkID&&(e.circularPathData.rightSmallArcRadius=10+e.width/2+u,e.circularPathData.rightLargeArcRadius=10+e.width/2+n*r+u),u+=t.width})),"bottom"==e.circularLinkType?(e.circularPathData.verticalFullExtent=Math.max(i,e.source.y1,e.target.y1)+25+e.circularPathData.verticalBuffer,e.circularPathData.verticalLeftInnerExtent=e.circularPathData.verticalFullExtent-e.circularPathData.leftLargeArcRadius,e.circularPathData.verticalRightInnerExtent=e.circularPathData.verticalFullExtent-e.circularPathData.rightLargeArcRadius):(e.circularPathData.verticalFullExtent=o-25-e.circularPathData.verticalBuffer,e.circularPathData.verticalLeftInnerExtent=e.circularPathData.verticalFullExtent+e.circularPathData.leftLargeArcRadius,e.circularPathData.verticalRightInnerExtent=e.circularPathData.verticalFullExtent+e.circularPathData.rightLargeArcRadius)}e.circularPathData.leftInnerExtent=e.circularPathData.sourceX+e.circularPathData.leftNodeBuffer,e.circularPathData.rightInnerExtent=e.circularPathData.targetX-e.circularPathData.rightNodeBuffer,e.circularPathData.leftFullExtent=e.circularPathData.sourceX+e.circularPathData.leftLargeArcRadius+e.circularPathData.leftNodeBuffer,e.circularPathData.rightFullExtent=e.circularPathData.targetX-e.circularPathData.rightLargeArcRadius-e.circularPathData.rightNodeBuffer}if(e.circular)e.path=function(t){var e="";e="top"==t.circularLinkType?"M"+t.circularPathData.sourceX+" "+t.circularPathData.sourceY+" L"+t.circularPathData.leftInnerExtent+" "+t.circularPathData.sourceY+" A"+t.circularPathData.leftLargeArcRadius+" "+t.circularPathData.leftSmallArcRadius+" 0 0 0 "+t.circularPathData.leftFullExtent+" "+(t.circularPathData.sourceY-t.circularPathData.leftSmallArcRadius)+" L"+t.circularPathData.leftFullExtent+" "+t.circularPathData.verticalLeftInnerExtent+" A"+t.circularPathData.leftLargeArcRadius+" "+t.circularPathData.leftLargeArcRadius+" 0 0 0 "+t.circularPathData.leftInnerExtent+" "+t.circularPathData.verticalFullExtent+" L"+t.circularPathData.rightInnerExtent+" "+t.circularPathData.verticalFullExtent+" A"+t.circularPathData.rightLargeArcRadius+" "+t.circularPathData.rightLargeArcRadius+" 0 0 0 "+t.circularPathData.rightFullExtent+" "+t.circularPathData.verticalRightInnerExtent+" L"+t.circularPathData.rightFullExtent+" "+(t.circularPathData.targetY-t.circularPathData.rightSmallArcRadius)+" A"+t.circularPathData.rightLargeArcRadius+" "+t.circularPathData.rightSmallArcRadius+" 0 0 0 "+t.circularPathData.rightInnerExtent+" "+t.circularPathData.targetY+" L"+t.circularPathData.targetX+" "+t.circularPathData.targetY:"M"+t.circularPathData.sourceX+" "+t.circularPathData.sourceY+" L"+t.circularPathData.leftInnerExtent+" "+t.circularPathData.sourceY+" A"+t.circularPathData.leftLargeArcRadius+" "+t.circularPathData.leftSmallArcRadius+" 0 0 1 "+t.circularPathData.leftFullExtent+" "+(t.circularPathData.sourceY+t.circularPathData.leftSmallArcRadius)+" L"+t.circularPathData.leftFullExtent+" "+t.circularPathData.verticalLeftInnerExtent+" A"+t.circularPathData.leftLargeArcRadius+" "+t.circularPathData.leftLargeArcRadius+" 0 0 1 "+t.circularPathData.leftInnerExtent+" "+t.circularPathData.verticalFullExtent+" L"+t.circularPathData.rightInnerExtent+" "+t.circularPathData.verticalFullExtent+" A"+t.circularPathData.rightLargeArcRadius+" "+t.circularPathData.rightLargeArcRadius+" 0 0 1 "+t.circularPathData.rightFullExtent+" "+t.circularPathData.verticalRightInnerExtent+" L"+t.circularPathData.rightFullExtent+" "+(t.circularPathData.targetY+t.circularPathData.rightSmallArcRadius)+" A"+t.circularPathData.rightLargeArcRadius+" "+t.circularPathData.rightSmallArcRadius+" 0 0 1 "+t.circularPathData.rightInnerExtent+" "+t.circularPathData.targetY+" L"+t.circularPathData.targetX+" "+t.circularPathData.targetY;return e}(e);else{var f=n.linkHorizontal().source((function(t){return[t.source.x0+(t.source.x1-t.source.x0),t.y0]})).target((function(t){return[t.target.x0,t.y1]}));e.path=f(e)}}))}function E(t,e){return z(t)==z(e)?"bottom"==t.circularLinkType?L(t,e):C(t,e):z(e)-z(t)}function C(t,e){return t.y0-e.y0}function L(t,e){return e.y0-t.y0}function I(t,e){return t.y1-e.y1}function P(t,e){return e.y1-t.y1}function z(t){return t.target.column-t.source.column}function O(t){return t.target.x0-t.source.x1}function D(t,e){var r=T(t),n=O(e)/Math.tan(r);return"up"==q(t)?t.y1+n:t.y1-n}function R(t,e){var r=T(t),n=O(e)/Math.tan(r);return"up"==q(t)?t.y1-n:t.y1+n}function F(t,e,r,n){t.links.forEach((function(i){if(!i.circular&&i.target.column-i.source.column>1){var a=i.source.column+1,o=i.target.column-1,s=1,l=o-a+1;for(s=1;a<=o;a++,s++)t.nodes.forEach((function(o){if(o.column==a){var c,u=s/(l+1),f=Math.pow(1-u,3),h=3*u*Math.pow(1-u,2),p=3*Math.pow(u,2)*(1-u),d=Math.pow(u,3),g=f*i.y0+h*i.y0+p*i.y1+d*i.y1,m=g-i.width/2,v=g+i.width/2;m>o.y0&&m<o.y1?(c=o.y1-m+10,c="bottom"==o.circularLinkType?c:-c,o=N(o,c,e,r),t.nodes.forEach((function(t){b(t,n)!=b(o,n)&&t.column==o.column&&B(o,t)&&N(t,c,e,r)}))):(v>o.y0&&v<o.y1||m<o.y0&&v>o.y1)&&(c=v-o.y0+10,o=N(o,c,e,r),t.nodes.forEach((function(t){b(t,n)!=b(o,n)&&t.column==o.column&&t.y0<o.y1&&t.y1>o.y1&&N(t,c,e,r)})))}}))}}))}function B(t,e){return t.y0>e.y0&&t.y0<e.y1||(t.y1>e.y0&&t.y1<e.y1||t.y0<e.y0&&t.y1>e.y1)}function N(t,e,r,n){return t.y0+e>=r&&t.y1+e<=n&&(t.y0=t.y0+e,t.y1=t.y1+e,t.targetLinks.forEach((function(t){t.y1=t.y1+e})),t.sourceLinks.forEach((function(t){t.y0=t.y0+e}))),t}function j(t,e,r,n){t.nodes.forEach((function(i){n&&i.y+(i.y1-i.y0)>e&&(i.y=i.y-(i.y+(i.y1-i.y0)-e));var a=t.links.filter((function(t){return b(t.source,r)==b(i,r)})),o=a.length;o>1&&a.sort((function(t,e){if(!t.circular&&!e.circular){if(t.target.column==e.target.column)return t.y1-e.y1;if(!V(t,e))return t.y1-e.y1;if(t.target.column>e.target.column){var r=R(e,t);return t.y1-r}if(e.target.column>t.target.column)return R(t,e)-e.y1}return t.circular&&!e.circular?"top"==t.circularLinkType?-1:1:e.circular&&!t.circular?"top"==e.circularLinkType?1:-1:t.circular&&e.circular?t.circularLinkType===e.circularLinkType&&"top"==t.circularLinkType?t.target.column===e.target.column?t.target.y1-e.target.y1:e.target.column-t.target.column:t.circularLinkType===e.circularLinkType&&"bottom"==t.circularLinkType?t.target.column===e.target.column?e.target.y1-t.target.y1:t.target.column-e.target.column:"top"==t.circularLinkType?-1:1:void 0}));var s=i.y0;a.forEach((function(t){t.y0=s+t.width/2,s+=t.width})),a.forEach((function(t,e){if("bottom"==t.circularLinkType){for(var r=e+1,n=0;r<o;r++)n+=a[r].width;t.y0=i.y1-n-t.width/2}}))}))}function U(t,e,r){t.nodes.forEach((function(e){var n=t.links.filter((function(t){return b(t.target,r)==b(e,r)})),i=n.length;i>1&&n.sort((function(t,e){if(!t.circular&&!e.circular){if(t.source.column==e.source.column)return t.y0-e.y0;if(!V(t,e))return t.y0-e.y0;if(e.source.column<t.source.column){var r=D(e,t);return t.y0-r}if(t.source.column<e.source.column)return D(t,e)-e.y0}return t.circular&&!e.circular?"top"==t.circularLinkType?-1:1:e.circular&&!t.circular?"top"==e.circularLinkType?1:-1:t.circular&&e.circular?t.circularLinkType===e.circularLinkType&&"top"==t.circularLinkType?t.source.column===e.source.column?t.source.y1-e.source.y1:t.source.column-e.source.column:t.circularLinkType===e.circularLinkType&&"bottom"==t.circularLinkType?t.source.column===e.source.column?t.source.y1-e.source.y1:e.source.column-t.source.column:"top"==t.circularLinkType?-1:1:void 0}));var a=e.y0;n.forEach((function(t){t.y1=a+t.width/2,a+=t.width})),n.forEach((function(t,r){if("bottom"==t.circularLinkType){for(var a=r+1,o=0;a<i;a++)o+=n[a].width;t.y1=e.y1-o-t.width/2}}))}))}function V(t,e){return q(t)==q(e)}function q(t){return t.y0-t.y1>0?"up":"down"}function H(t,e){return b(t.source,e)==b(t.target,e)}function G(t,r,n){var i=t.nodes,a=t.links,o=!1,s=!1;if(a.forEach((function(t){"top"==t.circularLinkType?o=!0:"bottom"==t.circularLinkType&&(s=!0)})),0==o||0==s){var l=e.min(i,(function(t){return t.y0})),c=(n-r)/(e.max(i,(function(t){return t.y1}))-l);i.forEach((function(t){var e=(t.y1-t.y0)*c;t.y0=(t.y0-l)*c,t.y1=t.y0+e})),a.forEach((function(t){t.y0=(t.y0-l)*c,t.y1=(t.y1-l)*c,t.width=t.width*c}))}}t.sankeyCircular=function(){var t,n,i=0,a=0,b=1,T=1,M=24,A=m,E=o,C=v,L=y,I=32,P=2,z=null;function O(){var t={nodes:C.apply(null,arguments),links:L.apply(null,arguments)};D(t),_(t,A,z),R(t),B(t),w(t,A),N(t,I,A),V(t);for(var e=4,r=0;r<e;r++)j(t,T,A),U(t,T,A),F(t,a,T,A),j(t,T,A),U(t,T,A);return G(t,a,T),S(t,P,T,A),t}function D(t){t.nodes.forEach((function(t,e){t.index=e,t.sourceLinks=[],t.targetLinks=[]}));var e=r.map(t.nodes,A);return t.links.forEach((function(t,r){t.index=r;var n=t.source,i=t.target;"object"!==("undefined"==typeof n?"undefined":l(n))&&(n=t.source=x(e,n)),"object"!==("undefined"==typeof i?"undefined":l(i))&&(i=t.target=x(e,i)),n.sourceLinks.push(t),i.targetLinks.push(t)})),t}function R(t){t.nodes.forEach((function(t){t.partOfCycle=!1,t.value=Math.max(e.sum(t.sourceLinks,h),e.sum(t.targetLinks,h)),t.sourceLinks.forEach((function(e){e.circular&&(t.partOfCycle=!0,t.circularLinkType=e.circularLinkType)})),t.targetLinks.forEach((function(e){e.circular&&(t.partOfCycle=!0,t.circularLinkType=e.circularLinkType)}))}))}function B(t){var e,r,n;for(e=t.nodes,r=[],n=0;e.length;++n,e=r,r=[])e.forEach((function(t){t.depth=n,t.sourceLinks.forEach((function(t){r.indexOf(t.target)<0&&!t.circular&&r.push(t.target)}))}));for(e=t.nodes,r=[],n=0;e.length;++n,e=r,r=[])e.forEach((function(t){t.height=n,t.targetLinks.forEach((function(t){r.indexOf(t.source)<0&&!t.circular&&r.push(t.source)}))}));t.nodes.forEach((function(t){t.column=Math.floor(E.call(null,t,n))}))}function N(o,s,l){var c=r.nest().key((function(t){return t.column})).sortKeys(e.ascending).entries(o.nodes).map((function(t){return t.values}));!function(r){if(n){var s=1/0;c.forEach((function(t){var e=T*n/(t.length+1);s=e<s?e:s})),t=s}var l=e.min(c,(function(r){return(T-a-(r.length-1)*t)/e.sum(r,h)}));l*=.3,o.links.forEach((function(t){t.width=t.value*l}));var u=function(t){var r=0,n=0,i=0,a=0,o=e.max(t.nodes,(function(t){return t.column}));return t.links.forEach((function(t){t.circular&&("top"==t.circularLinkType?r+=t.width:n+=t.width,0==t.target.column&&(a+=t.width),t.source.column==o&&(i+=t.width))})),{top:r=r>0?r+25+10:r,bottom:n=n>0?n+25+10:n,left:a=a>0?a+25+10:a,right:i=i>0?i+25+10:i}}(o),f=function(t,r){var n=e.max(t.nodes,(function(t){return t.column})),o=b-i,s=T-a,l=o/(o+r.right+r.left),c=s/(s+r.top+r.bottom);return i=i*l+r.left,b=0==r.right?b:b*l,a=a*c+r.top,T*=c,t.nodes.forEach((function(t){t.x0=i+t.column*((b-i-M)/n),t.x1=t.x0+M})),c}(o,u);l*=f,o.links.forEach((function(t){t.width=t.value*l})),c.forEach((function(t){var e=t.length;t.forEach((function(t,n){t.depth==c.length-1&&1==e||0==t.depth&&1==e?(t.y0=T/2-t.value*l,t.y1=t.y0+t.value*l):t.partOfCycle?0==k(t,r)?(t.y0=T/2+n,t.y1=t.y0+t.value*l):"top"==t.circularLinkType?(t.y0=a+n,t.y1=t.y0+t.value*l):(t.y0=T-t.value*l-n,t.y1=t.y0+t.value*l):0==u.top||0==u.bottom?(t.y0=(T-a)/e*n,t.y1=t.y0+t.value*l):(t.y0=(T-a)/2-e/2+n,t.y1=t.y0+t.value*l)}))}))}(l),y();for(var u=1,m=s;m>0;--m)v(u*=.99,l),y();function v(t,r){var n=c.length;c.forEach((function(i){var a=i.length,o=i[0].depth;i.forEach((function(i){var s;if(i.sourceLinks.length||i.targetLinks.length)if(i.partOfCycle&&k(i,r)>0);else if(0==o&&1==a)s=i.y1-i.y0,i.y0=T/2-s/2,i.y1=T/2+s/2;else if(o==n-1&&1==a)s=i.y1-i.y0,i.y0=T/2-s/2,i.y1=T/2+s/2;else{var l=e.mean(i.sourceLinks,g),c=e.mean(i.targetLinks,d),u=((l&&c?(l+c)/2:l||c)-p(i))*t;i.y0+=u,i.y1+=u}}))}))}function y(){c.forEach((function(e){var r,n,i,o=a,s=e.length;for(e.sort(f),i=0;i<s;++i)(n=o-(r=e[i]).y0)>0&&(r.y0+=n,r.y1+=n),o=r.y1+t;if((n=o-t-T)>0)for(o=r.y0-=n,r.y1-=n,i=s-2;i>=0;--i)(n=(r=e[i]).y1+t-o)>0&&(r.y0-=n,r.y1-=n),o=r.y0}))}}function V(t){t.nodes.forEach((function(t){t.sourceLinks.sort(u),t.targetLinks.sort(c)})),t.nodes.forEach((function(t){var e=t.y0,r=e,n=t.y1,i=n;t.sourceLinks.forEach((function(t){t.circular?(t.y0=n-t.width/2,n-=t.width):(t.y0=e+t.width/2,e+=t.width)})),t.targetLinks.forEach((function(t){t.circular?(t.y1=i-t.width/2,i-=t.width):(t.y1=r+t.width/2,r+=t.width)}))}))}return O.nodeId=function(t){return arguments.length?(A="function"==typeof t?t:s(t),O):A},O.nodeAlign=function(t){return arguments.length?(E="function"==typeof t?t:s(t),O):E},O.nodeWidth=function(t){return arguments.length?(M=+t,O):M},O.nodePadding=function(e){return arguments.length?(t=+e,O):t},O.nodes=function(t){return arguments.length?(C="function"==typeof t?t:s(t),O):C},O.links=function(t){return arguments.length?(L="function"==typeof t?t:s(t),O):L},O.size=function(t){return arguments.length?(i=a=0,b=+t[0],T=+t[1],O):[b-i,T-a]},O.extent=function(t){return arguments.length?(i=+t[0][0],b=+t[1][0],a=+t[0][1],T=+t[1][1],O):[[i,a],[b,T]]},O.iterations=function(t){return arguments.length?(I=+t,O):I},O.circularLinkGap=function(t){return arguments.length?(P=+t,O):P},O.nodePaddingRatio=function(t){return arguments.length?(n=+t,O):n},O.sortNodes=function(t){return arguments.length?(z=t,O):z},O.update=function(t){return w(t,A),V(t),t.links.forEach((function(t){t.circular&&(t.circularLinkType=t.y0+t.y1<T?"top":"bottom",t.source.circularLinkType=t.circularLinkType,t.target.circularLinkType=t.circularLinkType)})),j(t,T,A,!1),U(t,T,A),S(t,P,T,A),t},O},t.sankeyCenter=function(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?e.min(t.sourceLinks,a)-1:0},t.sankeyLeft=function(t){return t.depth},t.sankeyRight=function(t,e){return e-1-t.height},t.sankeyJustify=o,Object.defineProperty(t,"__esModule",{value:!0})}))},{"d3-array":156,"d3-collection":157,"d3-shape":165,"elementary-circuits-directed-graph":179}],56:[function(t,e,r){!function(n,i){"object"==typeof r&&"undefined"!=typeof e?i(r,t("d3-array"),t("d3-collection"),t("d3-shape")):i(n.d3=n.d3||{},n.d3,n.d3,n.d3)}(this,(function(t,e,r,n){"use strict";function i(t){return t.target.depth}function a(t,e){return t.sourceLinks.length?t.depth:e-1}function o(t){return function(){return t}}function s(t,e){return c(t.source,e.source)||t.index-e.index}function l(t,e){return c(t.target,e.target)||t.index-e.index}function c(t,e){return t.y0-e.y0}function u(t){return t.value}function f(t){return(t.y0+t.y1)/2}function h(t){return f(t.source)*t.value}function p(t){return f(t.target)*t.value}function d(t){return t.index}function g(t){return t.nodes}function m(t){return t.links}function v(t,e){var r=t.get(e);if(!r)throw new Error("missing: "+e);return r}function y(t){return[t.source.x1,t.y0]}function x(t){return[t.target.x0,t.y1]}t.sankey=function(){var t=0,n=0,i=1,y=1,x=24,b=8,_=d,w=a,T=g,k=m,M=32;function A(){var t={nodes:T.apply(null,arguments),links:k.apply(null,arguments)};return S(t),E(t),C(t),L(t),I(t),t}function S(t){t.nodes.forEach((function(t,e){t.index=e,t.sourceLinks=[],t.targetLinks=[]}));var e=r.map(t.nodes,_);t.links.forEach((function(t,r){t.index=r;var n=t.source,i=t.target;"object"!=typeof n&&(n=t.source=v(e,n)),"object"!=typeof i&&(i=t.target=v(e,i)),n.sourceLinks.push(t),i.targetLinks.push(t)}))}function E(t){t.nodes.forEach((function(t){t.value=Math.max(e.sum(t.sourceLinks,u),e.sum(t.targetLinks,u))}))}function C(e){var r,n,a;for(r=e.nodes,n=[],a=0;r.length;++a,r=n,n=[])r.forEach((function(t){t.depth=a,t.sourceLinks.forEach((function(t){n.indexOf(t.target)<0&&n.push(t.target)}))}));for(r=e.nodes,n=[],a=0;r.length;++a,r=n,n=[])r.forEach((function(t){t.height=a,t.targetLinks.forEach((function(t){n.indexOf(t.source)<0&&n.push(t.source)}))}));var o=(i-t-x)/(a-1);e.nodes.forEach((function(e){e.x1=(e.x0=t+Math.max(0,Math.min(a-1,Math.floor(w.call(null,e,a))))*o)+x}))}function L(t){var i=r.nest().key((function(t){return t.x0})).sortKeys(e.ascending).entries(t.nodes).map((function(t){return t.values}));!function(){var r=e.max(i,(function(t){return t.length})),a=2/3*(y-n)/(r-1);b>a&&(b=a);var o=e.min(i,(function(t){return(y-n-(t.length-1)*b)/e.sum(t,u)}));i.forEach((function(t){t.forEach((function(t,e){t.y1=(t.y0=e)+t.value*o}))})),t.links.forEach((function(t){t.width=t.value*o}))}(),d();for(var a=1,o=M;o>0;--o)l(a*=.99),d(),s(a),d();function s(t){i.forEach((function(r){r.forEach((function(r){if(r.targetLinks.length){var n=(e.sum(r.targetLinks,h)/e.sum(r.targetLinks,u)-f(r))*t;r.y0+=n,r.y1+=n}}))}))}function l(t){i.slice().reverse().forEach((function(r){r.forEach((function(r){if(r.sourceLinks.length){var n=(e.sum(r.sourceLinks,p)/e.sum(r.sourceLinks,u)-f(r))*t;r.y0+=n,r.y1+=n}}))}))}function d(){i.forEach((function(t){var e,r,i,a=n,o=t.length;for(t.sort(c),i=0;i<o;++i)(r=a-(e=t[i]).y0)>0&&(e.y0+=r,e.y1+=r),a=e.y1+b;if((r=a-b-y)>0)for(a=e.y0-=r,e.y1-=r,i=o-2;i>=0;--i)(r=(e=t[i]).y1+b-a)>0&&(e.y0-=r,e.y1-=r),a=e.y0}))}}function I(t){t.nodes.forEach((function(t){t.sourceLinks.sort(l),t.targetLinks.sort(s)})),t.nodes.forEach((function(t){var e=t.y0,r=e;t.sourceLinks.forEach((function(t){t.y0=e+t.width/2,e+=t.width})),t.targetLinks.forEach((function(t){t.y1=r+t.width/2,r+=t.width}))}))}return A.update=function(t){return I(t),t},A.nodeId=function(t){return arguments.length?(_="function"==typeof t?t:o(t),A):_},A.nodeAlign=function(t){return arguments.length?(w="function"==typeof t?t:o(t),A):w},A.nodeWidth=function(t){return arguments.length?(x=+t,A):x},A.nodePadding=function(t){return arguments.length?(b=+t,A):b},A.nodes=function(t){return arguments.length?(T="function"==typeof t?t:o(t),A):T},A.links=function(t){return arguments.length?(k="function"==typeof t?t:o(t),A):k},A.size=function(e){return arguments.length?(t=n=0,i=+e[0],y=+e[1],A):[i-t,y-n]},A.extent=function(e){return arguments.length?(t=+e[0][0],i=+e[1][0],n=+e[0][1],y=+e[1][1],A):[[t,n],[i,y]]},A.iterations=function(t){return arguments.length?(M=+t,A):M},A},t.sankeyCenter=function(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?e.min(t.sourceLinks,i)-1:0},t.sankeyLeft=function(t){return t.depth},t.sankeyRight=function(t,e){return e-1-t.height},t.sankeyJustify=a,t.sankeyLinkHorizontal=function(){return n.linkHorizontal().source(y).target(x)},Object.defineProperty(t,"__esModule",{value:!0})}))},{"d3-array":156,"d3-collection":157,"d3-shape":165}],57:[function(t,e,r){"use strict";e.exports=t("./quad")},{"./quad":58}],58:[function(t,e,r){"use strict";var n=t("binary-search-bounds"),i=t("clamp"),a=t("parse-rect"),o=t("array-bounds"),s=t("pick-by-alias"),l=t("defined"),c=t("flatten-vertex-data"),u=t("is-obj"),f=t("dtype"),h=t("math-log2");function p(t,e){for(var r=e[0],n=e[1],a=1/(e[2]-r),o=1/(e[3]-n),s=new Array(t.length),l=0,c=t.length/2;l<c;l++)s[2*l]=i((t[2*l]-r)*a,0,1),s[2*l+1]=i((t[2*l+1]-n)*o,0,1);return s}e.exports=function(t,e){e||(e={}),t=c(t,"float64"),e=s(e,{bounds:"range bounds dataBox databox",maxDepth:"depth maxDepth maxdepth level maxLevel maxlevel levels",dtype:"type dtype format out dst output destination"});var r=l(e.maxDepth,255),i=l(e.bounds,o(t,2));i[0]===i[2]&&i[2]++,i[1]===i[3]&&i[3]++;var d,g=p(t,i),m=t.length>>>1;e.dtype||(e.dtype="array"),"string"==typeof e.dtype?d=new(f(e.dtype))(m):e.dtype&&(d=e.dtype,Array.isArray(d)&&(d.length=m));for(var v=0;v<m;++v)d[v]=v;var y=[],x=[],b=[],_=[];!function t(e,n,i,a,o,s){if(!a.length)return null;var l=y[o]||(y[o]=[]),c=b[o]||(b[o]=[]),u=x[o]||(x[o]=[]),f=l.length;if(++o>r||s>1073741824){for(var h=0;h<a.length;h++)l.push(a[h]),c.push(s),u.push(null,null,null,null);return f}if(l.push(a[0]),c.push(s),a.length<=1)return u.push(null,null,null,null),f;for(var p=.5*i,d=e+p,m=n+p,v=[],_=[],w=[],T=[],k=1,M=a.length;k<M;k++){var A=a[k],S=g[2*A],E=g[2*A+1];S<d?E<m?v.push(A):_.push(A):E<m?w.push(A):T.push(A)}return s<<=2,u.push(t(e,n,p,v,o,s),t(e,m,p,_,o,s+1),t(d,n,p,w,o,s+2),t(d,m,p,T,o,s+3)),f}(0,0,1,d,0,1);for(var w=0,T=0;T<y.length;T++){var k=y[T];if(d.set)d.set(k,w);else for(var M=0,A=k.length;M<A;M++)d[M+w]=k[M];var S=w+y[T].length;_[T]=[w,S],w=S}return d.range=function(){var e,r=[],n=arguments.length;for(;n--;)r[n]=arguments[n];if(u(r[r.length-1])){var o=r.pop();r.length||null==o.x&&null==o.l&&null==o.left||(r=[o],e={}),e=s(o,{level:"level maxLevel",d:"d diam diameter r radius px pxSize pixel pixelSize maxD size minSize",lod:"lod details ranges offsets"})}else e={};r.length||(r=i);var c=a.apply(void 0,r),f=[Math.min(c.x,c.x+c.width),Math.min(c.y,c.y+c.height),Math.max(c.x,c.x+c.width),Math.max(c.y,c.y+c.height)],d=f[0],g=f[1],m=f[2],v=f[3],b=p([d,g,m,v],i),_=b[0],w=b[1],T=b[2],k=b[3],M=l(e.level,y.length);if(null!=e.d){var A;"number"==typeof e.d?A=[e.d,e.d]:e.d.length&&(A=e.d),M=Math.min(Math.max(Math.ceil(-h(Math.abs(A[0])/(i[2]-i[0]))),Math.ceil(-h(Math.abs(A[1])/(i[3]-i[1])))),M)}if(M=Math.min(M,y.length),e.lod)return E(_,w,T,k,M);var S=[];function C(e,r,n,i,a,o){if(null!==a&&null!==o&&!(_>e+n||w>r+n||T<e||k<r||i>=M||a===o)){var s=y[i];void 0===o&&(o=s.length);for(var l=a;l<o;l++){var c=s[l],u=t[2*c],f=t[2*c+1];u>=d&&u<=m&&f>=g&&f<=v&&S.push(c)}var h=x[i],p=h[4*a+0],b=h[4*a+1],A=h[4*a+2],E=h[4*a+3],I=L(h,a+1),P=.5*n,z=i+1;C(e,r,P,z,p,b||A||E||I),C(e,r+P,P,z,b,A||E||I),C(e+P,r,P,z,A,E||I),C(e+P,r+P,P,z,E,I)}}function L(t,e){for(var r=null,n=0;null===r;)if(r=t[4*e+n],++n>t.length)return null;return r}return C(0,0,1,0,0,1),S},d;function E(t,e,r,i,a){for(var o=[],s=0;s<a;s++){var l=b[s],c=_[s][0],u=C(t,e,s),f=C(r,i,s),h=n.ge(l,u),p=n.gt(l,f,h,l.length-1);o[s]=[h+c,p+c]}return o}function C(t,e,r){for(var n=1,i=.5,a=.5,o=.5,s=0;s<r;s++)n<<=2,n+=t<i?e<a?0:1:e<a?2:3,o*=.5,i+=t<i?-o:o,a+=e<a?-o:o;return n}}},{"array-bounds":70,"binary-search-bounds":96,clamp:120,defined:170,dtype:175,"flatten-vertex-data":244,"is-obj":468,"math-log2":479,"parse-rect":504,"pick-by-alias":511}],59:[function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=t("@turf/meta");function i(t){var e=0;if(t&&t.length>0){e+=Math.abs(a(t[0]));for(var r=1;r<t.length;r++)e-=Math.abs(a(t[r]))}return e}function a(t){var e,r,n,i,a,s,l=0,c=t.length;if(c>2){for(s=0;s<c;s++)s===c-2?(n=c-2,i=c-1,a=0):s===c-1?(n=c-1,i=0,a=1):(n=s,i=s+1,a=s+2),e=t[n],r=t[i],l+=(o(t[a][0])-o(e[0]))*Math.sin(o(r[1]));l=6378137*l*6378137/2}return l}function o(t){return t*Math.PI/180}r.default=function(t){return n.geomReduce(t,(function(t,e){return t+function(t){var e,r=0;switch(t.type){case"Polygon":return i(t.coordinates);case"MultiPolygon":for(e=0;e<t.coordinates.length;e++)r+=i(t.coordinates[e]);return r;case"Point":case"MultiPoint":case"LineString":case"MultiLineString":return 0}return 0}(e)}),0)}},{"@turf/meta":63}],60:[function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=t("@turf/meta");r.default=function(t){var e=[1/0,1/0,-1/0,-1/0];return n.coordEach(t,(function(t){e[0]>t[0]&&(e[0]=t[0]),e[1]>t[1]&&(e[1]=t[1]),e[2]<t[0]&&(e[2]=t[0]),e[3]<t[1]&&(e[3]=t[1])})),e}},{"@turf/meta":63}],61:[function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=t("@turf/meta"),i=t("@turf/helpers");r.default=function(t,e){void 0===e&&(e={});var r=0,a=0,o=0;return n.coordEach(t,(function(t){r+=t[0],a+=t[1],o++})),i.point([r/o,a/o],e.properties)}},{"@turf/helpers":62,"@turf/meta":63}],62:[function(t,e,r){"use strict";function n(t,e,r){void 0===r&&(r={});var n={type:"Feature"};return(0===r.id||r.id)&&(n.id=r.id),r.bbox&&(n.bbox=r.bbox),n.properties=e||{},n.geometry=t,n}function i(t,e,r){return void 0===r&&(r={}),n({type:"Point",coordinates:t},e,r)}function a(t,e,r){void 0===r&&(r={});for(var i=0,a=t;i<a.length;i++){var o=a[i];if(o.length<4)throw new Error("Each LinearRing of a Polygon must have 4 or more Positions.");for(var s=0;s<o[o.length-1].length;s++)if(o[o.length-1][s]!==o[0][s])throw new Error("First and last Position are not equivalent.")}return n({type:"Polygon",coordinates:t},e,r)}function o(t,e,r){if(void 0===r&&(r={}),t.length<2)throw new Error("coordinates must be an array of two or more positions");return n({type:"LineString",coordinates:t},e,r)}function s(t,e){void 0===e&&(e={});var r={type:"FeatureCollection"};return e.id&&(r.id=e.id),e.bbox&&(r.bbox=e.bbox),r.features=t,r}function l(t,e,r){return void 0===r&&(r={}),n({type:"MultiLineString",coordinates:t},e,r)}function c(t,e,r){return void 0===r&&(r={}),n({type:"MultiPoint",coordinates:t},e,r)}function u(t,e,r){return void 0===r&&(r={}),n({type:"MultiPolygon",coordinates:t},e,r)}function f(t,e){void 0===e&&(e="kilometers");var n=r.factors[e];if(!n)throw new Error(e+" units is invalid");return t*n}function h(t,e){void 0===e&&(e="kilometers");var n=r.factors[e];if(!n)throw new Error(e+" units is invalid");return t/n}function p(t){return 180*(t%(2*Math.PI))/Math.PI}function d(t){return!isNaN(t)&&null!==t&&!Array.isArray(t)&&!/^\s*$/.test(t)}Object.defineProperty(r,"__esModule",{value:!0}),r.earthRadius=6371008.8,r.factors={centimeters:100*r.earthRadius,centimetres:100*r.earthRadius,degrees:r.earthRadius/111325,feet:3.28084*r.earthRadius,inches:39.37*r.earthRadius,kilometers:r.earthRadius/1e3,kilometres:r.earthRadius/1e3,meters:r.earthRadius,metres:r.earthRadius,miles:r.earthRadius/1609.344,millimeters:1e3*r.earthRadius,millimetres:1e3*r.earthRadius,nauticalmiles:r.earthRadius/1852,radians:1,yards:r.earthRadius/1.0936},r.unitsFactors={centimeters:100,centimetres:100,degrees:1/111325,feet:3.28084,inches:39.37,kilometers:.001,kilometres:.001,meters:1,metres:1,miles:1/1609.344,millimeters:1e3,millimetres:1e3,nauticalmiles:1/1852,radians:1/r.earthRadius,yards:1/1.0936},r.areaFactors={acres:247105e-9,centimeters:1e4,centimetres:1e4,feet:10.763910417,inches:1550.003100006,kilometers:1e-6,kilometres:1e-6,meters:1,metres:1,miles:386e-9,millimeters:1e6,millimetres:1e6,yards:1.195990046},r.feature=n,r.geometry=function(t,e,r){switch(void 0===r&&(r={}),t){case"Point":return i(e).geometry;case"LineString":return o(e).geometry;case"Polygon":return a(e).geometry;case"MultiPoint":return c(e).geometry;case"MultiLineString":return l(e).geometry;case"MultiPolygon":return u(e).geometry;default:throw new Error(t+" is invalid")}},r.point=i,r.points=function(t,e,r){return void 0===r&&(r={}),s(t.map((function(t){return i(t,e)})),r)},r.polygon=a,r.polygons=function(t,e,r){return void 0===r&&(r={}),s(t.map((function(t){return a(t,e)})),r)},r.lineString=o,r.lineStrings=function(t,e,r){return void 0===r&&(r={}),s(t.map((function(t){return o(t,e)})),r)},r.featureCollection=s,r.multiLineString=l,r.multiPoint=c,r.multiPolygon=u,r.geometryCollection=function(t,e,r){return void 0===r&&(r={}),n({type:"GeometryCollection",geometries:t},e,r)},r.round=function(t,e){if(void 0===e&&(e=0),e&&!(e>=0))throw new Error("precision must be a positive number");var r=Math.pow(10,e||0);return Math.round(t*r)/r},r.radiansToLength=f,r.lengthToRadians=h,r.lengthToDegrees=function(t,e){return p(h(t,e))},r.bearingToAzimuth=function(t){var e=t%360;return e<0&&(e+=360),e},r.radiansToDegrees=p,r.degreesToRadians=function(t){return t%360*Math.PI/180},r.convertLength=function(t,e,r){if(void 0===e&&(e="kilometers"),void 0===r&&(r="kilometers"),!(t>=0))throw new Error("length must be a positive number");return f(h(t,e),r)},r.convertArea=function(t,e,n){if(void 0===e&&(e="meters"),void 0===n&&(n="kilometers"),!(t>=0))throw new Error("area must be a positive number");var i=r.areaFactors[e];if(!i)throw new Error("invalid original units");var a=r.areaFactors[n];if(!a)throw new Error("invalid final units");return t/i*a},r.isNumber=d,r.isObject=function(t){return!!t&&t.constructor===Object},r.validateBBox=function(t){if(!t)throw new Error("bbox is required");if(!Array.isArray(t))throw new Error("bbox must be an Array");if(4!==t.length&&6!==t.length)throw new Error("bbox must be an Array of 4 or 6 numbers");t.forEach((function(t){if(!d(t))throw new Error("bbox must only contain numbers")}))},r.validateId=function(t){if(!t)throw new Error("id is required");if(-1===["string","number"].indexOf(typeof t))throw new Error("id must be a number or a string")},r.radians2degrees=function(){throw new Error("method has been renamed to `radiansToDegrees`")},r.degrees2radians=function(){throw new Error("method has been renamed to `degreesToRadians`")},r.distanceToDegrees=function(){throw new Error("method has been renamed to `lengthToDegrees`")},r.distanceToRadians=function(){throw new Error("method has been renamed to `lengthToRadians`")},r.radiansToDistance=function(){throw new Error("method has been renamed to `radiansToLength`")},r.bearingToAngle=function(){throw new Error("method has been renamed to `bearingToAzimuth`")},r.convertDistance=function(){throw new Error("method has been renamed to `convertLength`")}},{}],63:[function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=t("@turf/helpers");function i(t,e,r){if(null!==t)for(var n,a,o,s,l,c,u,f,h=0,p=0,d=t.type,g="FeatureCollection"===d,m="Feature"===d,v=g?t.features.length:1,y=0;y<v;y++){l=(f=!!(u=g?t.features[y].geometry:m?t.geometry:t)&&"GeometryCollection"===u.type)?u.geometries.length:1;for(var x=0;x<l;x++){var b=0,_=0;if(null!==(s=f?u.geometries[x]:u)){c=s.coordinates;var w=s.type;switch(h=!r||"Polygon"!==w&&"MultiPolygon"!==w?0:1,w){case null:break;case"Point":if(!1===e(c,p,y,b,_))return!1;p++,b++;break;case"LineString":case"MultiPoint":for(n=0;n<c.length;n++){if(!1===e(c[n],p,y,b,_))return!1;p++,"MultiPoint"===w&&b++}"LineString"===w&&b++;break;case"Polygon":case"MultiLineString":for(n=0;n<c.length;n++){for(a=0;a<c[n].length-h;a++){if(!1===e(c[n][a],p,y,b,_))return!1;p++}"MultiLineString"===w&&b++,"Polygon"===w&&_++}"Polygon"===w&&b++;break;case"MultiPolygon":for(n=0;n<c.length;n++){for(_=0,a=0;a<c[n].length;a++){for(o=0;o<c[n][a].length-h;o++){if(!1===e(c[n][a][o],p,y,b,_))return!1;p++}_++}b++}break;case"GeometryCollection":for(n=0;n<s.geometries.length;n++)if(!1===i(s.geometries[n],e,r))return!1;break;default:throw new Error("Unknown Geometry Type")}}}}}function a(t,e){var r;switch(t.type){case"FeatureCollection":for(r=0;r<t.features.length&&!1!==e(t.features[r].properties,r);r++);break;case"Feature":e(t.properties,0)}}function o(t,e){if("Feature"===t.type)e(t,0);else if("FeatureCollection"===t.type)for(var r=0;r<t.features.length&&!1!==e(t.features[r],r);r++);}function s(t,e){var r,n,i,a,o,s,l,c,u,f,h=0,p="FeatureCollection"===t.type,d="Feature"===t.type,g=p?t.features.length:1;for(r=0;r<g;r++){for(s=p?t.features[r].geometry:d?t.geometry:t,c=p?t.features[r].properties:d?t.properties:{},u=p?t.features[r].bbox:d?t.bbox:void 0,f=p?t.features[r].id:d?t.id:void 0,o=(l=!!s&&"GeometryCollection"===s.type)?s.geometries.length:1,i=0;i<o;i++)if(null!==(a=l?s.geometries[i]:s))switch(a.type){case"Point":case"LineString":case"MultiPoint":case"Polygon":case"MultiLineString":case"MultiPolygon":if(!1===e(a,h,c,u,f))return!1;break;case"GeometryCollection":for(n=0;n<a.geometries.length;n++)if(!1===e(a.geometries[n],h,c,u,f))return!1;break;default:throw new Error("Unknown Geometry Type")}else if(!1===e(null,h,c,u,f))return!1;h++}}function l(t,e){s(t,(function(t,r,i,a,o){var s,l=null===t?null:t.type;switch(l){case null:case"Point":case"LineString":case"Polygon":return!1!==e(n.feature(t,i,{bbox:a,id:o}),r,0)&&void 0}switch(l){case"MultiPoint":s="Point";break;case"MultiLineString":s="LineString";break;case"MultiPolygon":s="Polygon"}for(var c=0;c<t.coordinates.length;c++){var u={type:s,coordinates:t.coordinates[c]};if(!1===e(n.feature(u,i),r,c))return!1}}))}function c(t,e){l(t,(function(t,r,a){var o=0;if(t.geometry){var s=t.geometry.type;if("Point"!==s&&"MultiPoint"!==s){var l,c=0,u=0,f=0;return!1!==i(t,(function(i,s,h,p,d){if(void 0===l||r>c||p>u||d>f)return l=i,c=r,u=p,f=d,void(o=0);var g=n.lineString([l,i],t.properties);if(!1===e(g,r,a,d,o))return!1;o++,l=i}))&&void 0}}}))}function u(t,e){if(!t)throw new Error("geojson is required");l(t,(function(t,r,i){if(null!==t.geometry){var a=t.geometry.type,o=t.geometry.coordinates;switch(a){case"LineString":if(!1===e(t,r,i,0,0))return!1;break;case"Polygon":for(var s=0;s<o.length;s++)if(!1===e(n.lineString(o[s],t.properties),r,i,s))return!1}}}))}r.coordEach=i,r.coordReduce=function(t,e,r,n){var a=r;return i(t,(function(t,n,i,o,s){a=0===n&&void 0===r?t:e(a,t,n,i,o,s)}),n),a},r.propEach=a,r.propReduce=function(t,e,r){var n=r;return a(t,(function(t,i){n=0===i&&void 0===r?t:e(n,t,i)})),n},r.featureEach=o,r.featureReduce=function(t,e,r){var n=r;return o(t,(function(t,i){n=0===i&&void 0===r?t:e(n,t,i)})),n},r.coordAll=function(t){var e=[];return i(t,(function(t){e.push(t)})),e},r.geomEach=s,r.geomReduce=function(t,e,r){var n=r;return s(t,(function(t,i,a,o,s){n=0===i&&void 0===r?t:e(n,t,i,a,o,s)})),n},r.flattenEach=l,r.flattenReduce=function(t,e,r){var n=r;return l(t,(function(t,i,a){n=0===i&&0===a&&void 0===r?t:e(n,t,i,a)})),n},r.segmentEach=c,r.segmentReduce=function(t,e,r){var n=r,i=!1;return c(t,(function(t,a,o,s,l){n=!1===i&&void 0===r?t:e(n,t,a,o,s,l),i=!0})),n},r.lineEach=u,r.lineReduce=function(t,e,r){var n=r;return u(t,(function(t,i,a,o){n=0===i&&void 0===r?t:e(n,t,i,a,o)})),n},r.findSegment=function(t,e){if(e=e||{},!n.isObject(e))throw new Error("options is invalid");var r,i=e.featureIndex||0,a=e.multiFeatureIndex||0,o=e.geometryIndex||0,s=e.segmentIndex||0,l=e.properties;switch(t.type){case"FeatureCollection":i<0&&(i=t.features.length+i),l=l||t.features[i].properties,r=t.features[i].geometry;break;case"Feature":l=l||t.properties,r=t.geometry;break;case"Point":case"MultiPoint":return null;case"LineString":case"Polygon":case"MultiLineString":case"MultiPolygon":r=t;break;default:throw new Error("geojson is invalid")}if(null===r)return null;var c=r.coordinates;switch(r.type){case"Point":case"MultiPoint":return null;case"LineString":return s<0&&(s=c.length+s-1),n.lineString([c[s],c[s+1]],l,e);case"Polygon":return o<0&&(o=c.length+o),s<0&&(s=c[o].length+s-1),n.lineString([c[o][s],c[o][s+1]],l,e);case"MultiLineString":return a<0&&(a=c.length+a),s<0&&(s=c[a].length+s-1),n.lineString([c[a][s],c[a][s+1]],l,e);case"MultiPolygon":return a<0&&(a=c.length+a),o<0&&(o=c[a].length+o),s<0&&(s=c[a][o].length-s-1),n.lineString([c[a][o][s],c[a][o][s+1]],l,e)}throw new Error("geojson is invalid")},r.findPoint=function(t,e){if(e=e||{},!n.isObject(e))throw new Error("options is invalid");var r,i=e.featureIndex||0,a=e.multiFeatureIndex||0,o=e.geometryIndex||0,s=e.coordIndex||0,l=e.properties;switch(t.type){case"FeatureCollection":i<0&&(i=t.features.length+i),l=l||t.features[i].properties,r=t.features[i].geometry;break;case"Feature":l=l||t.properties,r=t.geometry;break;case"Point":case"MultiPoint":return null;case"LineString":case"Polygon":case"MultiLineString":case"MultiPolygon":r=t;break;default:throw new Error("geojson is invalid")}if(null===r)return null;var c=r.coordinates;switch(r.type){case"Point":return n.point(c,l,e);case"MultiPoint":return a<0&&(a=c.length+a),n.point(c[a],l,e);case"LineString":return s<0&&(s=c.length+s),n.point(c[s],l,e);case"Polygon":return o<0&&(o=c.length+o),s<0&&(s=c[o].length+s),n.point(c[o][s],l,e);case"MultiLineString":return a<0&&(a=c.length+a),s<0&&(s=c[a].length+s),n.point(c[a][s],l,e);case"MultiPolygon":return a<0&&(a=c.length+a),o<0&&(o=c[a].length+o),s<0&&(s=c[a][o].length-s),n.point(c[a][o][s],l,e)}throw new Error("geojson is invalid")}},{"@turf/helpers":62}],64:[function(t,e,r){"use strict";var n="undefined"==typeof WeakMap?t("weak-map"):WeakMap,i=t("gl-buffer"),a=t("gl-vao"),o=new n;e.exports=function(t){var e=o.get(t),r=e&&(e._triangleBuffer.handle||e._triangleBuffer.buffer);if(!r||!t.isBuffer(r)){var n=i(t,new Float32Array([-1,-1,-1,4,4,-1]));(e=a(t,[{buffer:n,type:t.FLOAT,size:2}]))._triangleBuffer=n,o.set(t,e)}e.bind(),t.drawArrays(t.TRIANGLES,0,3),e.unbind()}},{"gl-buffer":259,"gl-vao":358,"weak-map":602}],65:[function(t,e,r){e.exports=function(t){var e=0,r=0,n=0,i=0;return t.map((function(t){var a=(t=t.slice())[0],o=a.toUpperCase();if(a!=o)switch(t[0]=o,a){case"a":t[6]+=n,t[7]+=i;break;case"v":t[1]+=i;break;case"h":t[1]+=n;break;default:for(var s=1;s<t.length;)t[s++]+=n,t[s++]+=i}switch(o){case"Z":n=e,i=r;break;case"H":n=t[1];break;case"V":i=t[1];break;case"M":n=e=t[1],i=r=t[2];break;default:n=t[t.length-2],i=t[t.length-1]}return t}))}},{}],66:[function(t,e,r){var n=t("pad-left");e.exports=function(t,e,r){e="number"==typeof e?e:1,r=r||": ";var i=t.split(/\r?\n/),a=String(i.length+e-1).length;return i.map((function(t,i){var o=i+e,s=String(o).length;return n(o,a-s)+r+t})).join("\n")}},{"pad-left":502}],67:[function(t,e,r){"use strict";e.exports=function(t){var e=t.length;if(0===e)return[];if(1===e)return[0];for(var r=t[0].length,n=[t[0]],a=[0],o=1;o<e;++o)if(n.push(t[o]),i(n,r)){if(a.push(o),a.length===r+1)return a}else n.pop();return a};var n=t("robust-orientation");function i(t,e){for(var r=new Array(e+1),i=0;i<t.length;++i)r[i]=t[i];for(i=0;i<=t.length;++i){for(var a=t.length;a<=e;++a){for(var o=new Array(e),s=0;s<e;++s)o[s]=Math.pow(a+1-i,s);r[a]=o}if(n.apply(void 0,r))return!0}return!1}},{"robust-orientation":548}],68:[function(t,e,r){"use strict";e.exports=function(t,e){return n(e).filter((function(r){for(var n=new Array(r.length),a=0;a<r.length;++a)n[a]=e[r[a]];return i(n)*t<1}))};var n=t("delaunay-triangulate"),i=t("circumradius")},{circumradius:119,"delaunay-triangulate":171}],69:[function(t,e,r){e.exports=function(t,e){return i(n(t,e))};var n=t("alpha-complex"),i=t("simplicial-complex-boundary")},{"alpha-complex":68,"simplicial-complex-boundary":555}],70:[function(t,e,r){"use strict";e.exports=function(t,e){if(!t||null==t.length)throw Error("Argument should be an array");e=null==e?1:Math.floor(e);for(var r=Array(2*e),n=0;n<e;n++){for(var i=-1/0,a=1/0,o=n,s=t.length;o<s;o+=e)t[o]>i&&(i=t[o]),t[o]<a&&(a=t[o]);r[n]=a,r[e+n]=i}return r}},{}],71:[function(t,e,r){"use strict";var n=t("array-bounds");e.exports=function(t,e,r){if(!t||null==t.length)throw Error("Argument should be an array");null==e&&(e=1);null==r&&(r=n(t,e));for(var i=0;i<e;i++){var a=r[e+i],o=r[i],s=i,l=t.length;if(a===1/0&&o===-1/0)for(s=i;s<l;s+=e)t[s]=t[s]===a?1:t[s]===o?0:.5;else if(a===1/0)for(s=i;s<l;s+=e)t[s]=t[s]===a?1:0;else if(o===-1/0)for(s=i;s<l;s+=e)t[s]=t[s]===o?0:1;else{var c=a-o;for(s=i;s<l;s+=e)isNaN(t[s])||(t[s]=0===c?.5:(t[s]-o)/c)}}return t}},{"array-bounds":70}],72:[function(t,e,r){e.exports=function(t,e){var r="number"==typeof t,n="number"==typeof e;r&&!n?(e=t,t=0):r||n||(t=0,e=0);var i=(e|=0)-(t|=0);if(i<0)throw new Error("array length must be positive");for(var a=new Array(i),o=0,s=t;o<i;o++,s++)a[o]=s;return a}},{}],73:[function(t,e,r){(function(r){(function(){"use strict";var n=t("object-assign"); +/*! + * The buffer module from node.js, for the browser. + * + * @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org> + * @license MIT + */function i(t,e){if(t===e)return 0;for(var r=t.length,n=e.length,i=0,a=Math.min(r,n);i<a;++i)if(t[i]!==e[i]){r=t[i],n=e[i];break}return r<n?-1:n<r?1:0}function a(t){return r.Buffer&&"function"==typeof r.Buffer.isBuffer?r.Buffer.isBuffer(t):!(null==t||!t._isBuffer)}var o=t("util/"),s=Object.prototype.hasOwnProperty,l=Array.prototype.slice,c="foo"===function(){}.name;function u(t){return Object.prototype.toString.call(t)}function f(t){return!a(t)&&("function"==typeof r.ArrayBuffer&&("function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(t):!!t&&(t instanceof DataView||!!(t.buffer&&t.buffer instanceof ArrayBuffer))))}var h=e.exports=y,p=/\s*function\s+([^\(\s]*)\s*/;function d(t){if(o.isFunction(t)){if(c)return t.name;var e=t.toString().match(p);return e&&e[1]}}function g(t,e){return"string"==typeof t?t.length<e?t:t.slice(0,e):t}function m(t){if(c||!o.isFunction(t))return o.inspect(t);var e=d(t);return"[Function"+(e?": "+e:"")+"]"}function v(t,e,r,n,i){throw new h.AssertionError({message:r,actual:t,expected:e,operator:n,stackStartFunction:i})}function y(t,e){t||v(t,!0,e,"==",h.ok)}function x(t,e,r,n){if(t===e)return!0;if(a(t)&&a(e))return 0===i(t,e);if(o.isDate(t)&&o.isDate(e))return t.getTime()===e.getTime();if(o.isRegExp(t)&&o.isRegExp(e))return t.source===e.source&&t.global===e.global&&t.multiline===e.multiline&&t.lastIndex===e.lastIndex&&t.ignoreCase===e.ignoreCase;if(null!==t&&"object"==typeof t||null!==e&&"object"==typeof e){if(f(t)&&f(e)&&u(t)===u(e)&&!(t instanceof Float32Array||t instanceof Float64Array))return 0===i(new Uint8Array(t.buffer),new Uint8Array(e.buffer));if(a(t)!==a(e))return!1;var s=(n=n||{actual:[],expected:[]}).actual.indexOf(t);return-1!==s&&s===n.expected.indexOf(e)||(n.actual.push(t),n.expected.push(e),function(t,e,r,n){if(null==t||null==e)return!1;if(o.isPrimitive(t)||o.isPrimitive(e))return t===e;if(r&&Object.getPrototypeOf(t)!==Object.getPrototypeOf(e))return!1;var i=b(t),a=b(e);if(i&&!a||!i&&a)return!1;if(i)return t=l.call(t),e=l.call(e),x(t,e,r);var s,c,u=T(t),f=T(e);if(u.length!==f.length)return!1;for(u.sort(),f.sort(),c=u.length-1;c>=0;c--)if(u[c]!==f[c])return!1;for(c=u.length-1;c>=0;c--)if(s=u[c],!x(t[s],e[s],r,n))return!1;return!0}(t,e,r,n))}return r?t===e:t==e}function b(t){return"[object Arguments]"==Object.prototype.toString.call(t)}function _(t,e){if(!t||!e)return!1;if("[object RegExp]"==Object.prototype.toString.call(e))return e.test(t);try{if(t instanceof e)return!0}catch(t){}return!Error.isPrototypeOf(e)&&!0===e.call({},t)}function w(t,e,r,n){var i;if("function"!=typeof e)throw new TypeError('"block" argument must be a function');"string"==typeof r&&(n=r,r=null),i=function(t){var e;try{t()}catch(t){e=t}return e}(e),n=(r&&r.name?" ("+r.name+").":".")+(n?" "+n:"."),t&&!i&&v(i,r,"Missing expected exception"+n);var a="string"==typeof n,s=!t&&i&&!r;if((!t&&o.isError(i)&&a&&_(i,r)||s)&&v(i,r,"Got unwanted exception"+n),t&&i&&r&&!_(i,r)||!t&&i)throw i}h.AssertionError=function(t){this.name="AssertionError",this.actual=t.actual,this.expected=t.expected,this.operator=t.operator,t.message?(this.message=t.message,this.generatedMessage=!1):(this.message=function(t){return g(m(t.actual),128)+" "+t.operator+" "+g(m(t.expected),128)}(this),this.generatedMessage=!0);var e=t.stackStartFunction||v;if(Error.captureStackTrace)Error.captureStackTrace(this,e);else{var r=new Error;if(r.stack){var n=r.stack,i=d(e),a=n.indexOf("\n"+i);if(a>=0){var o=n.indexOf("\n",a+1);n=n.substring(o+1)}this.stack=n}}},o.inherits(h.AssertionError,Error),h.fail=v,h.ok=y,h.equal=function(t,e,r){t!=e&&v(t,e,r,"==",h.equal)},h.notEqual=function(t,e,r){t==e&&v(t,e,r,"!=",h.notEqual)},h.deepEqual=function(t,e,r){x(t,e,!1)||v(t,e,r,"deepEqual",h.deepEqual)},h.deepStrictEqual=function(t,e,r){x(t,e,!0)||v(t,e,r,"deepStrictEqual",h.deepStrictEqual)},h.notDeepEqual=function(t,e,r){x(t,e,!1)&&v(t,e,r,"notDeepEqual",h.notDeepEqual)},h.notDeepStrictEqual=function t(e,r,n){x(e,r,!0)&&v(e,r,n,"notDeepStrictEqual",t)},h.strictEqual=function(t,e,r){t!==e&&v(t,e,r,"===",h.strictEqual)},h.notStrictEqual=function(t,e,r){t===e&&v(t,e,r,"!==",h.notStrictEqual)},h.throws=function(t,e,r){w(!0,t,e,r)},h.doesNotThrow=function(t,e,r){w(!1,t,e,r)},h.ifError=function(t){if(t)throw t},h.strict=n((function t(e,r){e||v(e,!0,r,"==",t)}),h,{equal:h.strictEqual,deepEqual:h.deepStrictEqual,notEqual:h.notStrictEqual,notDeepEqual:h.notDeepStrictEqual}),h.strict.strict=h.strict;var T=Object.keys||function(t){var e=[];for(var r in t)s.call(t,r)&&e.push(r);return e}}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"object-assign":499,"util/":76}],74:[function(t,e,r){"function"==typeof Object.create?e.exports=function(t,e){t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}},{}],75:[function(t,e,r){e.exports=function(t){return t&&"object"==typeof t&&"function"==typeof t.copy&&"function"==typeof t.fill&&"function"==typeof t.readUInt8}},{}],76:[function(t,e,r){(function(e,n){(function(){var i=/%[sdj%]/g;r.format=function(t){if(!v(t)){for(var e=[],r=0;r<arguments.length;r++)e.push(s(arguments[r]));return e.join(" ")}r=1;for(var n=arguments,a=n.length,o=String(t).replace(i,(function(t){if("%%"===t)return"%";if(r>=a)return t;switch(t){case"%s":return String(n[r++]);case"%d":return Number(n[r++]);case"%j":try{return JSON.stringify(n[r++])}catch(t){return"[Circular]"}default:return t}})),l=n[r];r<a;l=n[++r])g(l)||!b(l)?o+=" "+l:o+=" "+s(l);return o},r.deprecate=function(t,i){if(y(n.process))return function(){return r.deprecate(t,i).apply(this,arguments)};if(!0===e.noDeprecation)return t;var a=!1;return function(){if(!a){if(e.throwDeprecation)throw new Error(i);e.traceDeprecation?console.trace(i):console.error(i),a=!0}return t.apply(this,arguments)}};var a,o={};function s(t,e){var n={seen:[],stylize:c};return arguments.length>=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),d(e)?n.showHidden=e:e&&r._extend(n,e),y(n.showHidden)&&(n.showHidden=!1),y(n.depth)&&(n.depth=2),y(n.colors)&&(n.colors=!1),y(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=l),u(n,t,n.depth)}function l(t,e){var r=s.styles[e];return r?"\x1b["+s.colors[r][0]+"m"+t+"\x1b["+s.colors[r][1]+"m":t}function c(t,e){return t}function u(t,e,n){if(t.customInspect&&e&&T(e.inspect)&&e.inspect!==r.inspect&&(!e.constructor||e.constructor.prototype!==e)){var i=e.inspect(n,t);return v(i)||(i=u(t,i,n)),i}var a=function(t,e){if(y(e))return t.stylize("undefined","undefined");if(v(e)){var r="'"+JSON.stringify(e).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return t.stylize(r,"string")}if(m(e))return t.stylize(""+e,"number");if(d(e))return t.stylize(""+e,"boolean");if(g(e))return t.stylize("null","null")}(t,e);if(a)return a;var o=Object.keys(e),s=function(t){var e={};return t.forEach((function(t,r){e[t]=!0})),e}(o);if(t.showHidden&&(o=Object.getOwnPropertyNames(e)),w(e)&&(o.indexOf("message")>=0||o.indexOf("description")>=0))return f(e);if(0===o.length){if(T(e)){var l=e.name?": "+e.name:"";return t.stylize("[Function"+l+"]","special")}if(x(e))return t.stylize(RegExp.prototype.toString.call(e),"regexp");if(_(e))return t.stylize(Date.prototype.toString.call(e),"date");if(w(e))return f(e)}var c,b="",k=!1,M=["{","}"];(p(e)&&(k=!0,M=["[","]"]),T(e))&&(b=" [Function"+(e.name?": "+e.name:"")+"]");return x(e)&&(b=" "+RegExp.prototype.toString.call(e)),_(e)&&(b=" "+Date.prototype.toUTCString.call(e)),w(e)&&(b=" "+f(e)),0!==o.length||k&&0!=e.length?n<0?x(e)?t.stylize(RegExp.prototype.toString.call(e),"regexp"):t.stylize("[Object]","special"):(t.seen.push(e),c=k?function(t,e,r,n,i){for(var a=[],o=0,s=e.length;o<s;++o)E(e,String(o))?a.push(h(t,e,r,n,String(o),!0)):a.push("");return i.forEach((function(i){i.match(/^\d+$/)||a.push(h(t,e,r,n,i,!0))})),a}(t,e,n,s,o):o.map((function(r){return h(t,e,n,s,r,k)})),t.seen.pop(),function(t,e,r){if(t.reduce((function(t,e){return e.indexOf("\n")>=0&&0,t+e.replace(/\u001b\[\d\d?m/g,"").length+1}),0)>60)return r[0]+(""===e?"":e+"\n ")+" "+t.join(",\n ")+" "+r[1];return r[0]+e+" "+t.join(", ")+" "+r[1]}(c,b,M)):M[0]+b+M[1]}function f(t){return"["+Error.prototype.toString.call(t)+"]"}function h(t,e,r,n,i,a){var o,s,l;if((l=Object.getOwnPropertyDescriptor(e,i)||{value:e[i]}).get?s=l.set?t.stylize("[Getter/Setter]","special"):t.stylize("[Getter]","special"):l.set&&(s=t.stylize("[Setter]","special")),E(n,i)||(o="["+i+"]"),s||(t.seen.indexOf(l.value)<0?(s=g(r)?u(t,l.value,null):u(t,l.value,r-1)).indexOf("\n")>-1&&(s=a?s.split("\n").map((function(t){return" "+t})).join("\n").substr(2):"\n"+s.split("\n").map((function(t){return" "+t})).join("\n")):s=t.stylize("[Circular]","special")),y(o)){if(a&&i.match(/^\d+$/))return s;(o=JSON.stringify(""+i)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(o=o.substr(1,o.length-2),o=t.stylize(o,"name")):(o=o.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),o=t.stylize(o,"string"))}return o+": "+s}function p(t){return Array.isArray(t)}function d(t){return"boolean"==typeof t}function g(t){return null===t}function m(t){return"number"==typeof t}function v(t){return"string"==typeof t}function y(t){return void 0===t}function x(t){return b(t)&&"[object RegExp]"===k(t)}function b(t){return"object"==typeof t&&null!==t}function _(t){return b(t)&&"[object Date]"===k(t)}function w(t){return b(t)&&("[object Error]"===k(t)||t instanceof Error)}function T(t){return"function"==typeof t}function k(t){return Object.prototype.toString.call(t)}function M(t){return t<10?"0"+t.toString(10):t.toString(10)}r.debuglog=function(t){if(y(a)&&(a=e.env.NODE_DEBUG||""),t=t.toUpperCase(),!o[t])if(new RegExp("\\b"+t+"\\b","i").test(a)){var n=e.pid;o[t]=function(){var e=r.format.apply(r,arguments);console.error("%s %d: %s",t,n,e)}}else o[t]=function(){};return o[t]},r.inspect=s,s.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},s.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},r.isArray=p,r.isBoolean=d,r.isNull=g,r.isNullOrUndefined=function(t){return null==t},r.isNumber=m,r.isString=v,r.isSymbol=function(t){return"symbol"==typeof t},r.isUndefined=y,r.isRegExp=x,r.isObject=b,r.isDate=_,r.isError=w,r.isFunction=T,r.isPrimitive=function(t){return null===t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||"symbol"==typeof t||"undefined"==typeof t},r.isBuffer=t("./support/isBuffer");var A=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function S(){var t=new Date,e=[M(t.getHours()),M(t.getMinutes()),M(t.getSeconds())].join(":");return[t.getDate(),A[t.getMonth()],e].join(" ")}function E(t,e){return Object.prototype.hasOwnProperty.call(t,e)}r.log=function(){console.log("%s - %s",S(),r.format.apply(r,arguments))},r.inherits=t("inherits"),r._extend=function(t,e){if(!e||!b(e))return t;for(var r=Object.keys(e),n=r.length;n--;)t[r[n]]=e[r[n]];return t}}).call(this)}).call(this,t("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./support/isBuffer":75,_process:526,inherits:74}],77:[function(t,e,r){e.exports=function(t){return atob(t)}},{}],78:[function(t,e,r){"use strict";e.exports=function(t,e){for(var r=e.length,a=new Array(r+1),o=0;o<r;++o){for(var s=new Array(r+1),l=0;l<=r;++l)s[l]=t[l][o];a[o]=s}a[r]=new Array(r+1);for(o=0;o<=r;++o)a[r][o]=1;var c=new Array(r+1);for(o=0;o<r;++o)c[o]=e[o];c[r]=1;var u=n(a,c),f=i(u[r+1]);0===f&&(f=1);var h=new Array(r+1);for(o=0;o<=r;++o)h[o]=i(u[o])/f;return h};var n=t("robust-linear-solve");function i(t){for(var e=0,r=0;r<t.length;++r)e+=t[r];return e}},{"robust-linear-solve":547}],79:[function(t,e,r){"use strict";r.byteLength=function(t){var e=c(t),r=e[0],n=e[1];return 3*(r+n)/4-n},r.toByteArray=function(t){var e,r,n=c(t),o=n[0],s=n[1],l=new a(function(t,e,r){return 3*(e+r)/4-r}(0,o,s)),u=0,f=s>0?o-4:o;for(r=0;r<f;r+=4)e=i[t.charCodeAt(r)]<<18|i[t.charCodeAt(r+1)]<<12|i[t.charCodeAt(r+2)]<<6|i[t.charCodeAt(r+3)],l[u++]=e>>16&255,l[u++]=e>>8&255,l[u++]=255&e;2===s&&(e=i[t.charCodeAt(r)]<<2|i[t.charCodeAt(r+1)]>>4,l[u++]=255&e);1===s&&(e=i[t.charCodeAt(r)]<<10|i[t.charCodeAt(r+1)]<<4|i[t.charCodeAt(r+2)]>>2,l[u++]=e>>8&255,l[u++]=255&e);return l},r.fromByteArray=function(t){for(var e,r=t.length,i=r%3,a=[],o=0,s=r-i;o<s;o+=16383)a.push(u(t,o,o+16383>s?s:o+16383));1===i?(e=t[r-1],a.push(n[e>>2]+n[e<<4&63]+"==")):2===i&&(e=(t[r-2]<<8)+t[r-1],a.push(n[e>>10]+n[e>>4&63]+n[e<<2&63]+"="));return a.join("")};for(var n=[],i=[],a="undefined"!=typeof Uint8Array?Uint8Array:Array,o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=0,l=o.length;s<l;++s)n[s]=o[s],i[o.charCodeAt(s)]=s;function c(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function u(t,e,r){for(var i,a,o=[],s=e;s<r;s+=3)i=(t[s]<<16&16711680)+(t[s+1]<<8&65280)+(255&t[s+2]),o.push(n[(a=i)>>18&63]+n[a>>12&63]+n[a>>6&63]+n[63&a]);return o.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},{}],80:[function(t,e,r){"use strict";var n=t("./lib/rationalize");e.exports=function(t,e){return n(t[0].mul(e[1]).add(e[0].mul(t[1])),t[1].mul(e[1]))}},{"./lib/rationalize":90}],81:[function(t,e,r){"use strict";e.exports=function(t,e){return t[0].mul(e[1]).cmp(e[0].mul(t[1]))}},{}],82:[function(t,e,r){"use strict";var n=t("./lib/rationalize");e.exports=function(t,e){return n(t[0].mul(e[1]),t[1].mul(e[0]))}},{"./lib/rationalize":90}],83:[function(t,e,r){"use strict";var n=t("./is-rat"),i=t("./lib/is-bn"),a=t("./lib/num-to-bn"),o=t("./lib/str-to-bn"),s=t("./lib/rationalize"),l=t("./div");e.exports=function t(e,r){if(n(e))return r?l(e,t(r)):[e[0].clone(),e[1].clone()];var c,u,f=0;if(i(e))c=e.clone();else if("string"==typeof e)c=o(e);else{if(0===e)return[a(0),a(1)];if(e===Math.floor(e))c=a(e);else{for(;e!==Math.floor(e);)e*=Math.pow(2,256),f-=256;c=a(e)}}if(n(r))c.mul(r[1]),u=r[0].clone();else if(i(r))u=r.clone();else if("string"==typeof r)u=o(r);else if(r)if(r===Math.floor(r))u=a(r);else{for(;r!==Math.floor(r);)r*=Math.pow(2,256),f+=256;u=a(r)}else u=a(1);f>0?c=c.ushln(f):f<0&&(u=u.ushln(-f));return s(c,u)}},{"./div":82,"./is-rat":84,"./lib/is-bn":88,"./lib/num-to-bn":89,"./lib/rationalize":90,"./lib/str-to-bn":91}],84:[function(t,e,r){"use strict";var n=t("./lib/is-bn");e.exports=function(t){return Array.isArray(t)&&2===t.length&&n(t[0])&&n(t[1])}},{"./lib/is-bn":88}],85:[function(t,e,r){"use strict";var n=t("bn.js");e.exports=function(t){return t.cmp(new n(0))}},{"bn.js":99}],86:[function(t,e,r){"use strict";var n=t("./bn-sign");e.exports=function(t){var e=t.length,r=t.words,i=0;if(1===e)i=r[0];else if(2===e)i=r[0]+67108864*r[1];else for(var a=0;a<e;a++){var o=r[a];i+=o*Math.pow(67108864,a)}return n(t)*i}},{"./bn-sign":85}],87:[function(t,e,r){"use strict";var n=t("double-bits"),i=t("bit-twiddle").countTrailingZeros;e.exports=function(t){var e=i(n.lo(t));if(e<32)return e;var r=i(n.hi(t));if(r>20)return 52;return r+32}},{"bit-twiddle":97,"double-bits":173}],88:[function(t,e,r){"use strict";t("bn.js");e.exports=function(t){return t&&"object"==typeof t&&Boolean(t.words)}},{"bn.js":99}],89:[function(t,e,r){"use strict";var n=t("bn.js"),i=t("double-bits");e.exports=function(t){var e=i.exponent(t);return e<52?new n(t):new n(t*Math.pow(2,52-e)).ushln(e-52)}},{"bn.js":99,"double-bits":173}],90:[function(t,e,r){"use strict";var n=t("./num-to-bn"),i=t("./bn-sign");e.exports=function(t,e){var r=i(t),a=i(e);if(0===r)return[n(0),n(1)];if(0===a)return[n(0),n(0)];a<0&&(t=t.neg(),e=e.neg());var o=t.gcd(e);if(o.cmpn(1))return[t.div(o),e.div(o)];return[t,e]}},{"./bn-sign":85,"./num-to-bn":89}],91:[function(t,e,r){"use strict";var n=t("bn.js");e.exports=function(t){return new n(t)}},{"bn.js":99}],92:[function(t,e,r){"use strict";var n=t("./lib/rationalize");e.exports=function(t,e){return n(t[0].mul(e[0]),t[1].mul(e[1]))}},{"./lib/rationalize":90}],93:[function(t,e,r){"use strict";var n=t("./lib/bn-sign");e.exports=function(t){return n(t[0])*n(t[1])}},{"./lib/bn-sign":85}],94:[function(t,e,r){"use strict";var n=t("./lib/rationalize");e.exports=function(t,e){return n(t[0].mul(e[1]).sub(t[1].mul(e[0])),t[1].mul(e[1]))}},{"./lib/rationalize":90}],95:[function(t,e,r){"use strict";var n=t("./lib/bn-to-num"),i=t("./lib/ctz");e.exports=function(t){var e=t[0],r=t[1];if(0===e.cmpn(0))return 0;var a=e.abs().divmod(r.abs()),o=a.div,s=n(o),l=a.mod,c=e.negative!==r.negative?-1:1;if(0===l.cmpn(0))return c*s;if(s){var u=i(s)+4,f=n(l.ushln(u).divRound(r));return c*(s+f*Math.pow(2,-u))}var h=r.bitLength()-l.bitLength()+53;f=n(l.ushln(h).divRound(r));return h<1023?c*f*Math.pow(2,-h):(f*=Math.pow(2,-1023),c*f*Math.pow(2,1023-h))}},{"./lib/bn-to-num":86,"./lib/ctz":87}],96:[function(t,e,r){"use strict";function n(t,e,r,n,i){var a=["function ",t,"(a,l,h,",n.join(","),"){",i?"":"var i=",r?"l-1":"h+1",";while(l<=h){var m=(l+h)>>>1,x=a[m]"];return i?e.indexOf("c")<0?a.push(";if(x===y){return m}else if(x<=y){"):a.push(";var p=c(x,y);if(p===0){return m}else if(p<=0){"):a.push(";if(",e,"){i=m;"),r?a.push("l=m+1}else{h=m-1}"):a.push("h=m-1}else{l=m+1}"),a.push("}"),i?a.push("return -1};"):a.push("return i};"),a.join("")}function i(t,e,r,i){return new Function([n("A","x"+t+"y",e,["y"],i),n("P","c(x,y)"+t+"0",e,["y","c"],i),"function dispatchBsearch",r,"(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",r].join(""))()}e.exports={ge:i(">=",!1,"GE"),gt:i(">",!1,"GT"),lt:i("<",!0,"LT"),le:i("<=",!0,"LE"),eq:i("-",!0,"EQ",!0)}},{}],97:[function(t,e,r){"use strict";function n(t){var e=32;return(t&=-t)&&e--,65535&t&&(e-=16),16711935&t&&(e-=8),252645135&t&&(e-=4),858993459&t&&(e-=2),1431655765&t&&(e-=1),e}r.INT_BITS=32,r.INT_MAX=2147483647,r.INT_MIN=-1<<31,r.sign=function(t){return(t>0)-(t<0)},r.abs=function(t){var e=t>>31;return(t^e)-e},r.min=function(t,e){return e^(t^e)&-(t<e)},r.max=function(t,e){return t^(t^e)&-(t<e)},r.isPow2=function(t){return!(t&t-1||!t)},r.log2=function(t){var e,r;return e=(t>65535)<<4,e|=r=((t>>>=e)>255)<<3,e|=r=((t>>>=r)>15)<<2,(e|=r=((t>>>=r)>3)<<1)|(t>>>=r)>>1},r.log10=function(t){return t>=1e9?9:t>=1e8?8:t>=1e7?7:t>=1e6?6:t>=1e5?5:t>=1e4?4:t>=1e3?3:t>=100?2:t>=10?1:0},r.popCount=function(t){return 16843009*((t=(858993459&(t-=t>>>1&1431655765))+(t>>>2&858993459))+(t>>>4)&252645135)>>>24},r.countTrailingZeros=n,r.nextPow2=function(t){return t+=0===t,--t,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)+1},r.prevPow2=function(t){return t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)-(t>>>1)},r.parity=function(t){return t^=t>>>16,t^=t>>>8,t^=t>>>4,27030>>>(t&=15)&1};var i=new Array(256);!function(t){for(var e=0;e<256;++e){var r=e,n=e,i=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=1&r,--i;t[e]=n<<i&255}}(i),r.reverse=function(t){return i[255&t]<<24|i[t>>>8&255]<<16|i[t>>>16&255]<<8|i[t>>>24&255]},r.interleave2=function(t,e){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t&=65535)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e&=65535)|e<<8))|e<<4))|e<<2))|e<<1))<<1},r.deinterleave2=function(t,e){return(t=65535&((t=16711935&((t=252645135&((t=858993459&((t=t>>>e&1431655765)|t>>>1))|t>>>2))|t>>>4))|t>>>16))<<16>>16},r.interleave3=function(t,e,r){return t=1227133513&((t=3272356035&((t=251719695&((t=4278190335&((t&=1023)|t<<16))|t<<8))|t<<4))|t<<2),(t|=(e=1227133513&((e=3272356035&((e=251719695&((e=4278190335&((e&=1023)|e<<16))|e<<8))|e<<4))|e<<2))<<1)|(r=1227133513&((r=3272356035&((r=251719695&((r=4278190335&((r&=1023)|r<<16))|r<<8))|r<<4))|r<<2))<<2},r.deinterleave3=function(t,e){return(t=1023&((t=4278190335&((t=251719695&((t=3272356035&((t=t>>>e&1227133513)|t>>>2))|t>>>4))|t>>>8))|t>>>16))<<22>>22},r.nextCombination=function(t){var e=t|t-1;return e+1|(~e&-~e)-1>>>n(t)+1}},{}],98:[function(t,e,r){"use strict";var n=t("clamp");e.exports=function(t,e){e||(e={});var r,o,s,l,c,u,f,h,p,d,g,m=null==e.cutoff?.25:e.cutoff,v=null==e.radius?8:e.radius,y=e.channel||0;if(ArrayBuffer.isView(t)||Array.isArray(t)){if(!e.width||!e.height)throw Error("For raw data width and height should be provided by options");r=e.width,o=e.height,l=t,u=e.stride?e.stride:Math.floor(t.length/r/o)}else window.HTMLCanvasElement&&t instanceof window.HTMLCanvasElement?(f=(h=t).getContext("2d"),r=h.width,o=h.height,p=f.getImageData(0,0,r,o),l=p.data,u=4):window.CanvasRenderingContext2D&&t instanceof window.CanvasRenderingContext2D?(h=t.canvas,f=t,r=h.width,o=h.height,p=f.getImageData(0,0,r,o),l=p.data,u=4):window.ImageData&&t instanceof window.ImageData&&(p=t,r=t.width,o=t.height,l=p.data,u=4);if(s=Math.max(r,o),window.Uint8ClampedArray&&l instanceof window.Uint8ClampedArray||window.Uint8Array&&l instanceof window.Uint8Array)for(c=l,l=Array(r*o),d=0,g=c.length;d<g;d++)l[d]=c[d*u+y]/255;else if(1!==u)throw Error("Raw data can have only 1 value per pixel");var x=Array(r*o),b=Array(r*o),_=Array(s),w=Array(s),T=Array(s+1),k=Array(s);for(d=0,g=r*o;d<g;d++){var M=l[d];x[d]=1===M?0:0===M?i:Math.pow(Math.max(0,.5-M),2),b[d]=1===M?i:0===M?0:Math.pow(Math.max(0,M-.5),2)}a(x,r,o,_,w,k,T),a(b,r,o,_,w,k,T);var A=window.Float32Array?new Float32Array(r*o):new Array(r*o);for(d=0,g=r*o;d<g;d++)A[d]=n(1-((x[d]-b[d])/v+m),0,1);return A};var i=1e20;function a(t,e,r,n,i,a,s){for(var l=0;l<e;l++){for(var c=0;c<r;c++)n[c]=t[c*e+l];for(o(n,i,a,s,r),c=0;c<r;c++)t[c*e+l]=i[c]}for(c=0;c<r;c++){for(l=0;l<e;l++)n[l]=t[c*e+l];for(o(n,i,a,s,e),l=0;l<e;l++)t[c*e+l]=Math.sqrt(i[l])}}function o(t,e,r,n,a){r[0]=0,n[0]=-i,n[1]=+i;for(var o=1,s=0;o<a;o++){for(var l=(t[o]+o*o-(t[r[s]]+r[s]*r[s]))/(2*o-2*r[s]);l<=n[s];)s--,l=(t[o]+o*o-(t[r[s]]+r[s]*r[s]))/(2*o-2*r[s]);r[++s]=o,n[s]=l,n[s+1]=+i}for(o=0,s=0;o<a;o++){for(;n[s+1]<o;)s++;e[o]=(o-r[s])*(o-r[s])+t[r[s]]}}},{clamp:120}],99:[function(t,e,r){!function(e,r){"use strict";function n(t,e){if(!t)throw new Error(e||"Assertion failed")}function i(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function a(t,e,r){if(a.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var o;"object"==typeof e?e.exports=a:r.BN=a,a.BN=a,a.wordSize=26;try{o=t("buffer").Buffer}catch(t){}function s(t,e,r){for(var n=0,i=Math.min(t.length,r),a=e;a<i;a++){var o=t.charCodeAt(a)-48;n<<=4,n|=o>=49&&o<=54?o-49+10:o>=17&&o<=22?o-17+10:15&o}return n}function l(t,e,r,n){for(var i=0,a=Math.min(t.length,r),o=e;o<a;o++){var s=t.charCodeAt(o)-48;i*=n,i+=s>=49?s-49+10:s>=17?s-17+10:s}return i}a.isBN=function(t){return t instanceof a||null!==t&&"object"==typeof t&&t.constructor.wordSize===a.wordSize&&Array.isArray(t.words)},a.max=function(t,e){return t.cmp(e)>0?t:e},a.min=function(t,e){return t.cmp(e)<0?t:e},a.prototype._init=function(t,e,r){if("number"==typeof t)return this._initNumber(t,e,r);if("object"==typeof t)return this._initArray(t,e,r);"hex"===e&&(e=16),n(e===(0|e)&&e>=2&&e<=36);var i=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&i++,16===e?this._parseHex(t,i):this._parseBase(t,e,i),"-"===t[0]&&(this.negative=1),this.strip(),"le"===r&&this._initArray(this.toArray(),e,r)},a.prototype._initNumber=function(t,e,r){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(n(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===r&&this._initArray(this.toArray(),e,r)},a.prototype._initArray=function(t,e,r){if(n("number"==typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var a,o,s=0;if("be"===r)for(i=t.length-1,a=0;i>=0;i-=3)o=t[i]|t[i-1]<<8|t[i-2]<<16,this.words[a]|=o<<s&67108863,this.words[a+1]=o>>>26-s&67108863,(s+=24)>=26&&(s-=26,a++);else if("le"===r)for(i=0,a=0;i<t.length;i+=3)o=t[i]|t[i+1]<<8|t[i+2]<<16,this.words[a]|=o<<s&67108863,this.words[a+1]=o>>>26-s&67108863,(s+=24)>=26&&(s-=26,a++);return this.strip()},a.prototype._parseHex=function(t,e){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var r=0;r<this.length;r++)this.words[r]=0;var n,i,a=0;for(r=t.length-6,n=0;r>=e;r-=6)i=s(t,r,r+6),this.words[n]|=i<<a&67108863,this.words[n+1]|=i>>>26-a&4194303,(a+=24)>=26&&(a-=26,n++);r+6!==e&&(i=s(t,e,r+6),this.words[n]|=i<<a&67108863,this.words[n+1]|=i>>>26-a&4194303),this.strip()},a.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=e)n++;n--,i=i/e|0;for(var a=t.length-r,o=a%n,s=Math.min(a,a-o)+r,c=0,u=r;u<s;u+=n)c=l(t,u,u+n,e),this.imuln(i),this.words[0]+c<67108864?this.words[0]+=c:this._iaddn(c);if(0!==o){var f=1;for(c=l(t,u,t.length,e),u=0;u<o;u++)f*=e;this.imuln(f),this.words[0]+c<67108864?this.words[0]+=c:this._iaddn(c)}},a.prototype.copy=function(t){t.words=new Array(this.length);for(var e=0;e<this.length;e++)t.words[e]=this.words[e];t.length=this.length,t.negative=this.negative,t.red=this.red},a.prototype.clone=function(){var t=new a(null);return this.copy(t),t},a.prototype._expand=function(t){for(;this.length<t;)this.words[this.length++]=0;return this},a.prototype.strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},a.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},a.prototype.inspect=function(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var c=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],u=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],f=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function h(t,e,r){r.negative=e.negative^t.negative;var n=t.length+e.length|0;r.length=n,n=n-1|0;var i=0|t.words[0],a=0|e.words[0],o=i*a,s=67108863&o,l=o/67108864|0;r.words[0]=s;for(var c=1;c<n;c++){for(var u=l>>>26,f=67108863&l,h=Math.min(c,e.length-1),p=Math.max(0,c-t.length+1);p<=h;p++){var d=c-p|0;u+=(o=(i=0|t.words[d])*(a=0|e.words[p])+f)/67108864|0,f=67108863&o}r.words[c]=0|f,l=0|u}return 0!==l?r.words[c]=0|l:r.length--,r.strip()}a.prototype.toString=function(t,e){var r;if(e=0|e||1,16===(t=t||10)||"hex"===t){r="";for(var i=0,a=0,o=0;o<this.length;o++){var s=this.words[o],l=(16777215&(s<<i|a)).toString(16);r=0!==(a=s>>>24-i&16777215)||o!==this.length-1?c[6-l.length]+l+r:l+r,(i+=2)>=26&&(i-=26,o--)}for(0!==a&&(r=a.toString(16)+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(t===(0|t)&&t>=2&&t<=36){var h=u[t],p=f[t];r="";var d=this.clone();for(d.negative=0;!d.isZero();){var g=d.modn(p).toString(t);r=(d=d.idivn(p)).isZero()?g+r:c[h-g.length]+g+r}for(this.isZero()&&(r="0"+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}n(!1,"Base should be between 2 and 36")},a.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},a.prototype.toJSON=function(){return this.toString(16)},a.prototype.toBuffer=function(t,e){return n("undefined"!=typeof o),this.toArrayLike(o,t,e)},a.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},a.prototype.toArrayLike=function(t,e,r){var i=this.byteLength(),a=r||Math.max(1,i);n(i<=a,"byte array longer than desired length"),n(a>0,"Requested array length <= 0"),this.strip();var o,s,l="le"===e,c=new t(a),u=this.clone();if(l){for(s=0;!u.isZero();s++)o=u.andln(255),u.iushrn(8),c[s]=o;for(;s<a;s++)c[s]=0}else{for(s=0;s<a-i;s++)c[s]=0;for(s=0;!u.isZero();s++)o=u.andln(255),u.iushrn(8),c[a-s-1]=o}return c},Math.clz32?a.prototype._countBits=function(t){return 32-Math.clz32(t)}:a.prototype._countBits=function(t){var e=t,r=0;return e>=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},a.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},a.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},a.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;e<this.length;e++){var r=this._zeroBits(this.words[e]);if(t+=r,26!==r)break}return t},a.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},a.prototype.toTwos=function(t){return 0!==this.negative?this.abs().inotn(t).iaddn(1):this.clone()},a.prototype.fromTwos=function(t){return this.testn(t-1)?this.notn(t).iaddn(1).ineg():this.clone()},a.prototype.isNeg=function(){return 0!==this.negative},a.prototype.neg=function(){return this.clone().ineg()},a.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},a.prototype.iuor=function(t){for(;this.length<t.length;)this.words[this.length++]=0;for(var e=0;e<t.length;e++)this.words[e]=this.words[e]|t.words[e];return this.strip()},a.prototype.ior=function(t){return n(0==(this.negative|t.negative)),this.iuor(t)},a.prototype.or=function(t){return this.length>t.length?this.clone().ior(t):t.clone().ior(this)},a.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},a.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;r<e.length;r++)this.words[r]=this.words[r]&t.words[r];return this.length=e.length,this.strip()},a.prototype.iand=function(t){return n(0==(this.negative|t.negative)),this.iuand(t)},a.prototype.and=function(t){return this.length>t.length?this.clone().iand(t):t.clone().iand(this)},a.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},a.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var n=0;n<r.length;n++)this.words[n]=e.words[n]^r.words[n];if(this!==e)for(;n<e.length;n++)this.words[n]=e.words[n];return this.length=e.length,this.strip()},a.prototype.ixor=function(t){return n(0==(this.negative|t.negative)),this.iuxor(t)},a.prototype.xor=function(t){return this.length>t.length?this.clone().ixor(t):t.clone().ixor(this)},a.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},a.prototype.inotn=function(t){n("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var i=0;i<e;i++)this.words[i]=67108863&~this.words[i];return r>0&&(this.words[i]=~this.words[i]&67108863>>26-r),this.strip()},a.prototype.notn=function(t){return this.clone().inotn(t)},a.prototype.setn=function(t,e){n("number"==typeof t&&t>=0);var r=t/26|0,i=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<<i:this.words[r]&~(1<<i),this.strip()},a.prototype.iadd=function(t){var e,r,n;if(0!==this.negative&&0===t.negative)return this.negative=0,e=this.isub(t),this.negative^=1,this._normSign();if(0===this.negative&&0!==t.negative)return t.negative=0,e=this.isub(t),t.negative=1,e._normSign();this.length>t.length?(r=this,n=t):(r=t,n=this);for(var i=0,a=0;a<n.length;a++)e=(0|r.words[a])+(0|n.words[a])+i,this.words[a]=67108863&e,i=e>>>26;for(;0!==i&&a<r.length;a++)e=(0|r.words[a])+i,this.words[a]=67108863&e,i=e>>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;a<r.length;a++)this.words[a]=r.words[a];return this},a.prototype.add=function(t){var e;return 0!==t.negative&&0===this.negative?(t.negative=0,e=this.sub(t),t.negative^=1,e):0===t.negative&&0!==this.negative?(this.negative=0,e=t.sub(this),this.negative=1,e):this.length>t.length?this.clone().iadd(t):t.clone().iadd(this)},a.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,n,i=this.cmp(t);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=t):(r=t,n=this);for(var a=0,o=0;o<n.length;o++)a=(e=(0|r.words[o])-(0|n.words[o])+a)>>26,this.words[o]=67108863&e;for(;0!==a&&o<r.length;o++)a=(e=(0|r.words[o])+a)>>26,this.words[o]=67108863&e;if(0===a&&o<r.length&&r!==this)for(;o<r.length;o++)this.words[o]=r.words[o];return this.length=Math.max(this.length,o),r!==this&&(this.negative=1),this.strip()},a.prototype.sub=function(t){return this.clone().isub(t)};var p=function(t,e,r){var n,i,a,o=t.words,s=e.words,l=r.words,c=0,u=0|o[0],f=8191&u,h=u>>>13,p=0|o[1],d=8191&p,g=p>>>13,m=0|o[2],v=8191&m,y=m>>>13,x=0|o[3],b=8191&x,_=x>>>13,w=0|o[4],T=8191&w,k=w>>>13,M=0|o[5],A=8191&M,S=M>>>13,E=0|o[6],C=8191&E,L=E>>>13,I=0|o[7],P=8191&I,z=I>>>13,O=0|o[8],D=8191&O,R=O>>>13,F=0|o[9],B=8191&F,N=F>>>13,j=0|s[0],U=8191&j,V=j>>>13,q=0|s[1],H=8191&q,G=q>>>13,Y=0|s[2],W=8191&Y,X=Y>>>13,Z=0|s[3],J=8191&Z,K=Z>>>13,Q=0|s[4],$=8191&Q,tt=Q>>>13,et=0|s[5],rt=8191&et,nt=et>>>13,it=0|s[6],at=8191&it,ot=it>>>13,st=0|s[7],lt=8191&st,ct=st>>>13,ut=0|s[8],ft=8191&ut,ht=ut>>>13,pt=0|s[9],dt=8191&pt,gt=pt>>>13;r.negative=t.negative^e.negative,r.length=19;var mt=(c+(n=Math.imul(f,U))|0)+((8191&(i=(i=Math.imul(f,V))+Math.imul(h,U)|0))<<13)|0;c=((a=Math.imul(h,V))+(i>>>13)|0)+(mt>>>26)|0,mt&=67108863,n=Math.imul(d,U),i=(i=Math.imul(d,V))+Math.imul(g,U)|0,a=Math.imul(g,V);var vt=(c+(n=n+Math.imul(f,H)|0)|0)+((8191&(i=(i=i+Math.imul(f,G)|0)+Math.imul(h,H)|0))<<13)|0;c=((a=a+Math.imul(h,G)|0)+(i>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(v,U),i=(i=Math.imul(v,V))+Math.imul(y,U)|0,a=Math.imul(y,V),n=n+Math.imul(d,H)|0,i=(i=i+Math.imul(d,G)|0)+Math.imul(g,H)|0,a=a+Math.imul(g,G)|0;var yt=(c+(n=n+Math.imul(f,W)|0)|0)+((8191&(i=(i=i+Math.imul(f,X)|0)+Math.imul(h,W)|0))<<13)|0;c=((a=a+Math.imul(h,X)|0)+(i>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(b,U),i=(i=Math.imul(b,V))+Math.imul(_,U)|0,a=Math.imul(_,V),n=n+Math.imul(v,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(d,W)|0,i=(i=i+Math.imul(d,X)|0)+Math.imul(g,W)|0,a=a+Math.imul(g,X)|0;var xt=(c+(n=n+Math.imul(f,J)|0)|0)+((8191&(i=(i=i+Math.imul(f,K)|0)+Math.imul(h,J)|0))<<13)|0;c=((a=a+Math.imul(h,K)|0)+(i>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(T,U),i=(i=Math.imul(T,V))+Math.imul(k,U)|0,a=Math.imul(k,V),n=n+Math.imul(b,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(d,J)|0,i=(i=i+Math.imul(d,K)|0)+Math.imul(g,J)|0,a=a+Math.imul(g,K)|0;var bt=(c+(n=n+Math.imul(f,$)|0)|0)+((8191&(i=(i=i+Math.imul(f,tt)|0)+Math.imul(h,$)|0))<<13)|0;c=((a=a+Math.imul(h,tt)|0)+(i>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(A,U),i=(i=Math.imul(A,V))+Math.imul(S,U)|0,a=Math.imul(S,V),n=n+Math.imul(T,H)|0,i=(i=i+Math.imul(T,G)|0)+Math.imul(k,H)|0,a=a+Math.imul(k,G)|0,n=n+Math.imul(b,W)|0,i=(i=i+Math.imul(b,X)|0)+Math.imul(_,W)|0,a=a+Math.imul(_,X)|0,n=n+Math.imul(v,J)|0,i=(i=i+Math.imul(v,K)|0)+Math.imul(y,J)|0,a=a+Math.imul(y,K)|0,n=n+Math.imul(d,$)|0,i=(i=i+Math.imul(d,tt)|0)+Math.imul(g,$)|0,a=a+Math.imul(g,tt)|0;var _t=(c+(n=n+Math.imul(f,rt)|0)|0)+((8191&(i=(i=i+Math.imul(f,nt)|0)+Math.imul(h,rt)|0))<<13)|0;c=((a=a+Math.imul(h,nt)|0)+(i>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(C,U),i=(i=Math.imul(C,V))+Math.imul(L,U)|0,a=Math.imul(L,V),n=n+Math.imul(A,H)|0,i=(i=i+Math.imul(A,G)|0)+Math.imul(S,H)|0,a=a+Math.imul(S,G)|0,n=n+Math.imul(T,W)|0,i=(i=i+Math.imul(T,X)|0)+Math.imul(k,W)|0,a=a+Math.imul(k,X)|0,n=n+Math.imul(b,J)|0,i=(i=i+Math.imul(b,K)|0)+Math.imul(_,J)|0,a=a+Math.imul(_,K)|0,n=n+Math.imul(v,$)|0,i=(i=i+Math.imul(v,tt)|0)+Math.imul(y,$)|0,a=a+Math.imul(y,tt)|0,n=n+Math.imul(d,rt)|0,i=(i=i+Math.imul(d,nt)|0)+Math.imul(g,rt)|0,a=a+Math.imul(g,nt)|0;var wt=(c+(n=n+Math.imul(f,at)|0)|0)+((8191&(i=(i=i+Math.imul(f,ot)|0)+Math.imul(h,at)|0))<<13)|0;c=((a=a+Math.imul(h,ot)|0)+(i>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(P,U),i=(i=Math.imul(P,V))+Math.imul(z,U)|0,a=Math.imul(z,V),n=n+Math.imul(C,H)|0,i=(i=i+Math.imul(C,G)|0)+Math.imul(L,H)|0,a=a+Math.imul(L,G)|0,n=n+Math.imul(A,W)|0,i=(i=i+Math.imul(A,X)|0)+Math.imul(S,W)|0,a=a+Math.imul(S,X)|0,n=n+Math.imul(T,J)|0,i=(i=i+Math.imul(T,K)|0)+Math.imul(k,J)|0,a=a+Math.imul(k,K)|0,n=n+Math.imul(b,$)|0,i=(i=i+Math.imul(b,tt)|0)+Math.imul(_,$)|0,a=a+Math.imul(_,tt)|0,n=n+Math.imul(v,rt)|0,i=(i=i+Math.imul(v,nt)|0)+Math.imul(y,rt)|0,a=a+Math.imul(y,nt)|0,n=n+Math.imul(d,at)|0,i=(i=i+Math.imul(d,ot)|0)+Math.imul(g,at)|0,a=a+Math.imul(g,ot)|0;var Tt=(c+(n=n+Math.imul(f,lt)|0)|0)+((8191&(i=(i=i+Math.imul(f,ct)|0)+Math.imul(h,lt)|0))<<13)|0;c=((a=a+Math.imul(h,ct)|0)+(i>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(D,U),i=(i=Math.imul(D,V))+Math.imul(R,U)|0,a=Math.imul(R,V),n=n+Math.imul(P,H)|0,i=(i=i+Math.imul(P,G)|0)+Math.imul(z,H)|0,a=a+Math.imul(z,G)|0,n=n+Math.imul(C,W)|0,i=(i=i+Math.imul(C,X)|0)+Math.imul(L,W)|0,a=a+Math.imul(L,X)|0,n=n+Math.imul(A,J)|0,i=(i=i+Math.imul(A,K)|0)+Math.imul(S,J)|0,a=a+Math.imul(S,K)|0,n=n+Math.imul(T,$)|0,i=(i=i+Math.imul(T,tt)|0)+Math.imul(k,$)|0,a=a+Math.imul(k,tt)|0,n=n+Math.imul(b,rt)|0,i=(i=i+Math.imul(b,nt)|0)+Math.imul(_,rt)|0,a=a+Math.imul(_,nt)|0,n=n+Math.imul(v,at)|0,i=(i=i+Math.imul(v,ot)|0)+Math.imul(y,at)|0,a=a+Math.imul(y,ot)|0,n=n+Math.imul(d,lt)|0,i=(i=i+Math.imul(d,ct)|0)+Math.imul(g,lt)|0,a=a+Math.imul(g,ct)|0;var kt=(c+(n=n+Math.imul(f,ft)|0)|0)+((8191&(i=(i=i+Math.imul(f,ht)|0)+Math.imul(h,ft)|0))<<13)|0;c=((a=a+Math.imul(h,ht)|0)+(i>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(B,U),i=(i=Math.imul(B,V))+Math.imul(N,U)|0,a=Math.imul(N,V),n=n+Math.imul(D,H)|0,i=(i=i+Math.imul(D,G)|0)+Math.imul(R,H)|0,a=a+Math.imul(R,G)|0,n=n+Math.imul(P,W)|0,i=(i=i+Math.imul(P,X)|0)+Math.imul(z,W)|0,a=a+Math.imul(z,X)|0,n=n+Math.imul(C,J)|0,i=(i=i+Math.imul(C,K)|0)+Math.imul(L,J)|0,a=a+Math.imul(L,K)|0,n=n+Math.imul(A,$)|0,i=(i=i+Math.imul(A,tt)|0)+Math.imul(S,$)|0,a=a+Math.imul(S,tt)|0,n=n+Math.imul(T,rt)|0,i=(i=i+Math.imul(T,nt)|0)+Math.imul(k,rt)|0,a=a+Math.imul(k,nt)|0,n=n+Math.imul(b,at)|0,i=(i=i+Math.imul(b,ot)|0)+Math.imul(_,at)|0,a=a+Math.imul(_,ot)|0,n=n+Math.imul(v,lt)|0,i=(i=i+Math.imul(v,ct)|0)+Math.imul(y,lt)|0,a=a+Math.imul(y,ct)|0,n=n+Math.imul(d,ft)|0,i=(i=i+Math.imul(d,ht)|0)+Math.imul(g,ft)|0,a=a+Math.imul(g,ht)|0;var Mt=(c+(n=n+Math.imul(f,dt)|0)|0)+((8191&(i=(i=i+Math.imul(f,gt)|0)+Math.imul(h,dt)|0))<<13)|0;c=((a=a+Math.imul(h,gt)|0)+(i>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(B,H),i=(i=Math.imul(B,G))+Math.imul(N,H)|0,a=Math.imul(N,G),n=n+Math.imul(D,W)|0,i=(i=i+Math.imul(D,X)|0)+Math.imul(R,W)|0,a=a+Math.imul(R,X)|0,n=n+Math.imul(P,J)|0,i=(i=i+Math.imul(P,K)|0)+Math.imul(z,J)|0,a=a+Math.imul(z,K)|0,n=n+Math.imul(C,$)|0,i=(i=i+Math.imul(C,tt)|0)+Math.imul(L,$)|0,a=a+Math.imul(L,tt)|0,n=n+Math.imul(A,rt)|0,i=(i=i+Math.imul(A,nt)|0)+Math.imul(S,rt)|0,a=a+Math.imul(S,nt)|0,n=n+Math.imul(T,at)|0,i=(i=i+Math.imul(T,ot)|0)+Math.imul(k,at)|0,a=a+Math.imul(k,ot)|0,n=n+Math.imul(b,lt)|0,i=(i=i+Math.imul(b,ct)|0)+Math.imul(_,lt)|0,a=a+Math.imul(_,ct)|0,n=n+Math.imul(v,ft)|0,i=(i=i+Math.imul(v,ht)|0)+Math.imul(y,ft)|0,a=a+Math.imul(y,ht)|0;var At=(c+(n=n+Math.imul(d,dt)|0)|0)+((8191&(i=(i=i+Math.imul(d,gt)|0)+Math.imul(g,dt)|0))<<13)|0;c=((a=a+Math.imul(g,gt)|0)+(i>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(B,W),i=(i=Math.imul(B,X))+Math.imul(N,W)|0,a=Math.imul(N,X),n=n+Math.imul(D,J)|0,i=(i=i+Math.imul(D,K)|0)+Math.imul(R,J)|0,a=a+Math.imul(R,K)|0,n=n+Math.imul(P,$)|0,i=(i=i+Math.imul(P,tt)|0)+Math.imul(z,$)|0,a=a+Math.imul(z,tt)|0,n=n+Math.imul(C,rt)|0,i=(i=i+Math.imul(C,nt)|0)+Math.imul(L,rt)|0,a=a+Math.imul(L,nt)|0,n=n+Math.imul(A,at)|0,i=(i=i+Math.imul(A,ot)|0)+Math.imul(S,at)|0,a=a+Math.imul(S,ot)|0,n=n+Math.imul(T,lt)|0,i=(i=i+Math.imul(T,ct)|0)+Math.imul(k,lt)|0,a=a+Math.imul(k,ct)|0,n=n+Math.imul(b,ft)|0,i=(i=i+Math.imul(b,ht)|0)+Math.imul(_,ft)|0,a=a+Math.imul(_,ht)|0;var St=(c+(n=n+Math.imul(v,dt)|0)|0)+((8191&(i=(i=i+Math.imul(v,gt)|0)+Math.imul(y,dt)|0))<<13)|0;c=((a=a+Math.imul(y,gt)|0)+(i>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(B,J),i=(i=Math.imul(B,K))+Math.imul(N,J)|0,a=Math.imul(N,K),n=n+Math.imul(D,$)|0,i=(i=i+Math.imul(D,tt)|0)+Math.imul(R,$)|0,a=a+Math.imul(R,tt)|0,n=n+Math.imul(P,rt)|0,i=(i=i+Math.imul(P,nt)|0)+Math.imul(z,rt)|0,a=a+Math.imul(z,nt)|0,n=n+Math.imul(C,at)|0,i=(i=i+Math.imul(C,ot)|0)+Math.imul(L,at)|0,a=a+Math.imul(L,ot)|0,n=n+Math.imul(A,lt)|0,i=(i=i+Math.imul(A,ct)|0)+Math.imul(S,lt)|0,a=a+Math.imul(S,ct)|0,n=n+Math.imul(T,ft)|0,i=(i=i+Math.imul(T,ht)|0)+Math.imul(k,ft)|0,a=a+Math.imul(k,ht)|0;var Et=(c+(n=n+Math.imul(b,dt)|0)|0)+((8191&(i=(i=i+Math.imul(b,gt)|0)+Math.imul(_,dt)|0))<<13)|0;c=((a=a+Math.imul(_,gt)|0)+(i>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(B,$),i=(i=Math.imul(B,tt))+Math.imul(N,$)|0,a=Math.imul(N,tt),n=n+Math.imul(D,rt)|0,i=(i=i+Math.imul(D,nt)|0)+Math.imul(R,rt)|0,a=a+Math.imul(R,nt)|0,n=n+Math.imul(P,at)|0,i=(i=i+Math.imul(P,ot)|0)+Math.imul(z,at)|0,a=a+Math.imul(z,ot)|0,n=n+Math.imul(C,lt)|0,i=(i=i+Math.imul(C,ct)|0)+Math.imul(L,lt)|0,a=a+Math.imul(L,ct)|0,n=n+Math.imul(A,ft)|0,i=(i=i+Math.imul(A,ht)|0)+Math.imul(S,ft)|0,a=a+Math.imul(S,ht)|0;var Ct=(c+(n=n+Math.imul(T,dt)|0)|0)+((8191&(i=(i=i+Math.imul(T,gt)|0)+Math.imul(k,dt)|0))<<13)|0;c=((a=a+Math.imul(k,gt)|0)+(i>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,n=Math.imul(B,rt),i=(i=Math.imul(B,nt))+Math.imul(N,rt)|0,a=Math.imul(N,nt),n=n+Math.imul(D,at)|0,i=(i=i+Math.imul(D,ot)|0)+Math.imul(R,at)|0,a=a+Math.imul(R,ot)|0,n=n+Math.imul(P,lt)|0,i=(i=i+Math.imul(P,ct)|0)+Math.imul(z,lt)|0,a=a+Math.imul(z,ct)|0,n=n+Math.imul(C,ft)|0,i=(i=i+Math.imul(C,ht)|0)+Math.imul(L,ft)|0,a=a+Math.imul(L,ht)|0;var Lt=(c+(n=n+Math.imul(A,dt)|0)|0)+((8191&(i=(i=i+Math.imul(A,gt)|0)+Math.imul(S,dt)|0))<<13)|0;c=((a=a+Math.imul(S,gt)|0)+(i>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,n=Math.imul(B,at),i=(i=Math.imul(B,ot))+Math.imul(N,at)|0,a=Math.imul(N,ot),n=n+Math.imul(D,lt)|0,i=(i=i+Math.imul(D,ct)|0)+Math.imul(R,lt)|0,a=a+Math.imul(R,ct)|0,n=n+Math.imul(P,ft)|0,i=(i=i+Math.imul(P,ht)|0)+Math.imul(z,ft)|0,a=a+Math.imul(z,ht)|0;var It=(c+(n=n+Math.imul(C,dt)|0)|0)+((8191&(i=(i=i+Math.imul(C,gt)|0)+Math.imul(L,dt)|0))<<13)|0;c=((a=a+Math.imul(L,gt)|0)+(i>>>13)|0)+(It>>>26)|0,It&=67108863,n=Math.imul(B,lt),i=(i=Math.imul(B,ct))+Math.imul(N,lt)|0,a=Math.imul(N,ct),n=n+Math.imul(D,ft)|0,i=(i=i+Math.imul(D,ht)|0)+Math.imul(R,ft)|0,a=a+Math.imul(R,ht)|0;var Pt=(c+(n=n+Math.imul(P,dt)|0)|0)+((8191&(i=(i=i+Math.imul(P,gt)|0)+Math.imul(z,dt)|0))<<13)|0;c=((a=a+Math.imul(z,gt)|0)+(i>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,n=Math.imul(B,ft),i=(i=Math.imul(B,ht))+Math.imul(N,ft)|0,a=Math.imul(N,ht);var zt=(c+(n=n+Math.imul(D,dt)|0)|0)+((8191&(i=(i=i+Math.imul(D,gt)|0)+Math.imul(R,dt)|0))<<13)|0;c=((a=a+Math.imul(R,gt)|0)+(i>>>13)|0)+(zt>>>26)|0,zt&=67108863;var Ot=(c+(n=Math.imul(B,dt))|0)+((8191&(i=(i=Math.imul(B,gt))+Math.imul(N,dt)|0))<<13)|0;return c=((a=Math.imul(N,gt))+(i>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,l[0]=mt,l[1]=vt,l[2]=yt,l[3]=xt,l[4]=bt,l[5]=_t,l[6]=wt,l[7]=Tt,l[8]=kt,l[9]=Mt,l[10]=At,l[11]=St,l[12]=Et,l[13]=Ct,l[14]=Lt,l[15]=It,l[16]=Pt,l[17]=zt,l[18]=Ot,0!==c&&(l[19]=c,r.length++),r};function d(t,e,r){return(new g).mulp(t,e,r)}function g(t,e){this.x=t,this.y=e}Math.imul||(p=h),a.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?p(this,t,e):r<63?h(this,t,e):r<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var n=0,i=0,a=0;a<r.length-1;a++){var o=i;i=0;for(var s=67108863&n,l=Math.min(a,e.length-1),c=Math.max(0,a-t.length+1);c<=l;c++){var u=a-c,f=(0|t.words[u])*(0|e.words[c]),h=67108863&f;s=67108863&(h=h+s|0),i+=(o=(o=o+(f/67108864|0)|0)+(h>>>26)|0)>>>26,o&=67108863}r.words[a]=s,n=o,o=i}return 0!==n?r.words[a]=n:r.length--,r.strip()}(this,t,e):d(this,t,e)},g.prototype.makeRBT=function(t){for(var e=new Array(t),r=a.prototype._countBits(t)-1,n=0;n<t;n++)e[n]=this.revBin(n,r,t);return e},g.prototype.revBin=function(t,e,r){if(0===t||t===r-1)return t;for(var n=0,i=0;i<e;i++)n|=(1&t)<<e-i-1,t>>=1;return n},g.prototype.permute=function(t,e,r,n,i,a){for(var o=0;o<a;o++)n[o]=e[t[o]],i[o]=r[t[o]]},g.prototype.transform=function(t,e,r,n,i,a){this.permute(a,t,e,r,n,i);for(var o=1;o<i;o<<=1)for(var s=o<<1,l=Math.cos(2*Math.PI/s),c=Math.sin(2*Math.PI/s),u=0;u<i;u+=s)for(var f=l,h=c,p=0;p<o;p++){var d=r[u+p],g=n[u+p],m=r[u+p+o],v=n[u+p+o],y=f*m-h*v;v=f*v+h*m,m=y,r[u+p]=d+m,n[u+p]=g+v,r[u+p+o]=d-m,n[u+p+o]=g-v,p!==s&&(y=l*f-c*h,h=l*h+c*f,f=y)}},g.prototype.guessLen13b=function(t,e){var r=1|Math.max(e,t),n=1&r,i=0;for(r=r/2|0;r;r>>>=1)i++;return 1<<i+1+n},g.prototype.conjugate=function(t,e,r){if(!(r<=1))for(var n=0;n<r/2;n++){var i=t[n];t[n]=t[r-n-1],t[r-n-1]=i,i=e[n],e[n]=-e[r-n-1],e[r-n-1]=-i}},g.prototype.normalize13b=function(t,e){for(var r=0,n=0;n<e/2;n++){var i=8192*Math.round(t[2*n+1]/e)+Math.round(t[2*n]/e)+r;t[n]=67108863&i,r=i<67108864?0:i/67108864|0}return t},g.prototype.convert13b=function(t,e,r,i){for(var a=0,o=0;o<e;o++)a+=0|t[o],r[2*o]=8191&a,a>>>=13,r[2*o+1]=8191&a,a>>>=13;for(o=2*e;o<i;++o)r[o]=0;n(0===a),n(0==(-8192&a))},g.prototype.stub=function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=0;return e},g.prototype.mulp=function(t,e,r){var n=2*this.guessLen13b(t.length,e.length),i=this.makeRBT(n),a=this.stub(n),o=new Array(n),s=new Array(n),l=new Array(n),c=new Array(n),u=new Array(n),f=new Array(n),h=r.words;h.length=n,this.convert13b(t.words,t.length,o,n),this.convert13b(e.words,e.length,c,n),this.transform(o,a,s,l,n,i),this.transform(c,a,u,f,n,i);for(var p=0;p<n;p++){var d=s[p]*u[p]-l[p]*f[p];l[p]=s[p]*f[p]+l[p]*u[p],s[p]=d}return this.conjugate(s,l,n),this.transform(s,l,h,a,n,i),this.conjugate(h,a,n),this.normalize13b(h,n),r.negative=t.negative^e.negative,r.length=t.length+e.length,r.strip()},a.prototype.mul=function(t){var e=new a(null);return e.words=new Array(this.length+t.length),this.mulTo(t,e)},a.prototype.mulf=function(t){var e=new a(null);return e.words=new Array(this.length+t.length),d(this,t,e)},a.prototype.imul=function(t){return this.clone().mulTo(t,this)},a.prototype.imuln=function(t){n("number"==typeof t),n(t<67108864);for(var e=0,r=0;r<this.length;r++){var i=(0|this.words[r])*t,a=(67108863&i)+(67108863&e);e>>=26,e+=i/67108864|0,e+=a>>>26,this.words[r]=67108863&a}return 0!==e&&(this.words[r]=e,this.length++),this},a.prototype.muln=function(t){return this.clone().imuln(t)},a.prototype.sqr=function(){return this.mul(this)},a.prototype.isqr=function(){return this.imul(this.clone())},a.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r<e.length;r++){var n=r/26|0,i=r%26;e[r]=(t.words[n]&1<<i)>>>i}return e}(t);if(0===e.length)return new a(1);for(var r=this,n=0;n<e.length&&0===e[n];n++,r=r.sqr());if(++n<e.length)for(var i=r.sqr();n<e.length;n++,i=i.sqr())0!==e[n]&&(r=r.mul(i));return r},a.prototype.iushln=function(t){n("number"==typeof t&&t>=0);var e,r=t%26,i=(t-r)/26,a=67108863>>>26-r<<26-r;if(0!==r){var o=0;for(e=0;e<this.length;e++){var s=this.words[e]&a,l=(0|this.words[e])-s<<r;this.words[e]=l|o,o=s>>>26-r}o&&(this.words[e]=o,this.length++)}if(0!==i){for(e=this.length-1;e>=0;e--)this.words[e+i]=this.words[e];for(e=0;e<i;e++)this.words[e]=0;this.length+=i}return this.strip()},a.prototype.ishln=function(t){return n(0===this.negative),this.iushln(t)},a.prototype.iushrn=function(t,e,r){var i;n("number"==typeof t&&t>=0),i=e?(e-e%26)/26:0;var a=t%26,o=Math.min((t-a)/26,this.length),s=67108863^67108863>>>a<<a,l=r;if(i-=o,i=Math.max(0,i),l){for(var c=0;c<o;c++)l.words[c]=this.words[c];l.length=o}if(0===o);else if(this.length>o)for(this.length-=o,c=0;c<this.length;c++)this.words[c]=this.words[c+o];else this.words[0]=0,this.length=1;var u=0;for(c=this.length-1;c>=0&&(0!==u||c>=i);c--){var f=0|this.words[c];this.words[c]=u<<26-a|f>>>a,u=f&s}return l&&0!==u&&(l.words[l.length++]=u),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},a.prototype.ishrn=function(t,e,r){return n(0===this.negative),this.iushrn(t,e,r)},a.prototype.shln=function(t){return this.clone().ishln(t)},a.prototype.ushln=function(t){return this.clone().iushln(t)},a.prototype.shrn=function(t){return this.clone().ishrn(t)},a.prototype.ushrn=function(t){return this.clone().iushrn(t)},a.prototype.testn=function(t){n("number"==typeof t&&t>=0);var e=t%26,r=(t-e)/26,i=1<<e;return!(this.length<=r)&&!!(this.words[r]&i)},a.prototype.imaskn=function(t){n("number"==typeof t&&t>=0);var e=t%26,r=(t-e)/26;if(n(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var i=67108863^67108863>>>e<<e;this.words[this.length-1]&=i}return this.strip()},a.prototype.maskn=function(t){return this.clone().imaskn(t)},a.prototype.iaddn=function(t){return n("number"==typeof t),n(t<67108864),t<0?this.isubn(-t):0!==this.negative?1===this.length&&(0|this.words[0])<t?(this.words[0]=t-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(t),this.negative=1,this):this._iaddn(t)},a.prototype._iaddn=function(t){this.words[0]+=t;for(var e=0;e<this.length&&this.words[e]>=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},a.prototype.isubn=function(t){if(n("number"==typeof t),n(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e<this.length&&this.words[e]<0;e++)this.words[e]+=67108864,this.words[e+1]-=1;return this.strip()},a.prototype.addn=function(t){return this.clone().iaddn(t)},a.prototype.subn=function(t){return this.clone().isubn(t)},a.prototype.iabs=function(){return this.negative=0,this},a.prototype.abs=function(){return this.clone().iabs()},a.prototype._ishlnsubmul=function(t,e,r){var i,a,o=t.length+r;this._expand(o);var s=0;for(i=0;i<t.length;i++){a=(0|this.words[i+r])+s;var l=(0|t.words[i])*e;s=((a-=67108863&l)>>26)-(l/67108864|0),this.words[i+r]=67108863&a}for(;i<this.length-r;i++)s=(a=(0|this.words[i+r])+s)>>26,this.words[i+r]=67108863&a;if(0===s)return this.strip();for(n(-1===s),s=0,i=0;i<this.length;i++)s=(a=-(0|this.words[i])+s)>>26,this.words[i]=67108863&a;return this.negative=1,this.strip()},a.prototype._wordDiv=function(t,e){var r=(this.length,t.length),n=this.clone(),i=t,o=0|i.words[i.length-1];0!==(r=26-this._countBits(o))&&(i=i.ushln(r),n.iushln(r),o=0|i.words[i.length-1]);var s,l=n.length-i.length;if("mod"!==e){(s=new a(null)).length=l+1,s.words=new Array(s.length);for(var c=0;c<s.length;c++)s.words[c]=0}var u=n.clone()._ishlnsubmul(i,1,l);0===u.negative&&(n=u,s&&(s.words[l]=1));for(var f=l-1;f>=0;f--){var h=67108864*(0|n.words[i.length+f])+(0|n.words[i.length+f-1]);for(h=Math.min(h/o|0,67108863),n._ishlnsubmul(i,h,f);0!==n.negative;)h--,n.negative=0,n._ishlnsubmul(i,1,f),n.isZero()||(n.negative^=1);s&&(s.words[f]=h)}return s&&s.strip(),n.strip(),"div"!==e&&0!==r&&n.iushrn(r),{div:s||null,mod:n}},a.prototype.divmod=function(t,e,r){return n(!t.isZero()),this.isZero()?{div:new a(0),mod:new a(0)}:0!==this.negative&&0===t.negative?(s=this.neg().divmod(t,e),"mod"!==e&&(i=s.div.neg()),"div"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.iadd(t)),{div:i,mod:o}):0===this.negative&&0!==t.negative?(s=this.divmod(t.neg(),e),"mod"!==e&&(i=s.div.neg()),{div:i,mod:s.mod}):0!=(this.negative&t.negative)?(s=this.neg().divmod(t.neg(),e),"div"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.isub(t)),{div:s.div,mod:o}):t.length>this.length||this.cmp(t)<0?{div:new a(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new a(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new a(this.modn(t.words[0]))}:this._wordDiv(t,e);var i,o,s},a.prototype.div=function(t){return this.divmod(t,"div",!1).div},a.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},a.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},a.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),i=t.andln(1),a=r.cmp(n);return a<0||1===i&&0===a?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},a.prototype.modn=function(t){n(t<=67108863);for(var e=(1<<26)%t,r=0,i=this.length-1;i>=0;i--)r=(e*r+(0|this.words[i]))%t;return r},a.prototype.idivn=function(t){n(t<=67108863);for(var e=0,r=this.length-1;r>=0;r--){var i=(0|this.words[r])+67108864*e;this.words[r]=i/t|0,e=i%t}return this.strip()},a.prototype.divn=function(t){return this.clone().idivn(t)},a.prototype.egcd=function(t){n(0===t.negative),n(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var i=new a(1),o=new a(0),s=new a(0),l=new a(1),c=0;e.isEven()&&r.isEven();)e.iushrn(1),r.iushrn(1),++c;for(var u=r.clone(),f=e.clone();!e.isZero();){for(var h=0,p=1;0==(e.words[0]&p)&&h<26;++h,p<<=1);if(h>0)for(e.iushrn(h);h-- >0;)(i.isOdd()||o.isOdd())&&(i.iadd(u),o.isub(f)),i.iushrn(1),o.iushrn(1);for(var d=0,g=1;0==(r.words[0]&g)&&d<26;++d,g<<=1);if(d>0)for(r.iushrn(d);d-- >0;)(s.isOdd()||l.isOdd())&&(s.iadd(u),l.isub(f)),s.iushrn(1),l.iushrn(1);e.cmp(r)>=0?(e.isub(r),i.isub(s),o.isub(l)):(r.isub(e),s.isub(i),l.isub(o))}return{a:s,b:l,gcd:r.iushln(c)}},a.prototype._invmp=function(t){n(0===t.negative),n(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var i,o=new a(1),s=new a(0),l=r.clone();e.cmpn(1)>0&&r.cmpn(1)>0;){for(var c=0,u=1;0==(e.words[0]&u)&&c<26;++c,u<<=1);if(c>0)for(e.iushrn(c);c-- >0;)o.isOdd()&&o.iadd(l),o.iushrn(1);for(var f=0,h=1;0==(r.words[0]&h)&&f<26;++f,h<<=1);if(f>0)for(r.iushrn(f);f-- >0;)s.isOdd()&&s.iadd(l),s.iushrn(1);e.cmp(r)>=0?(e.isub(r),o.isub(s)):(r.isub(e),s.isub(o))}return(i=0===e.cmpn(1)?o:s).cmpn(0)<0&&i.iadd(t),i},a.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var n=0;e.isEven()&&r.isEven();n++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=e.cmp(r);if(i<0){var a=e;e=r,r=a}else if(0===i||0===r.cmpn(1))break;e.isub(r)}return r.iushln(n)},a.prototype.invm=function(t){return this.egcd(t).a.umod(t)},a.prototype.isEven=function(){return 0==(1&this.words[0])},a.prototype.isOdd=function(){return 1==(1&this.words[0])},a.prototype.andln=function(t){return this.words[0]&t},a.prototype.bincn=function(t){n("number"==typeof t);var e=t%26,r=(t-e)/26,i=1<<e;if(this.length<=r)return this._expand(r+1),this.words[r]|=i,this;for(var a=i,o=r;0!==a&&o<this.length;o++){var s=0|this.words[o];a=(s+=a)>>>26,s&=67108863,this.words[o]=s}return 0!==a&&(this.words[o]=a,this.length++),this},a.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},a.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),this.length>1)e=1;else{r&&(t=-t),n(t<=67108863,"Number is too big");var i=0|this.words[0];e=i===t?0:i<t?-1:1}return 0!==this.negative?0|-e:e},a.prototype.cmp=function(t){if(0!==this.negative&&0===t.negative)return-1;if(0===this.negative&&0!==t.negative)return 1;var e=this.ucmp(t);return 0!==this.negative?0|-e:e},a.prototype.ucmp=function(t){if(this.length>t.length)return 1;if(this.length<t.length)return-1;for(var e=0,r=this.length-1;r>=0;r--){var n=0|this.words[r],i=0|t.words[r];if(n!==i){n<i?e=-1:n>i&&(e=1);break}}return e},a.prototype.gtn=function(t){return 1===this.cmpn(t)},a.prototype.gt=function(t){return 1===this.cmp(t)},a.prototype.gten=function(t){return this.cmpn(t)>=0},a.prototype.gte=function(t){return this.cmp(t)>=0},a.prototype.ltn=function(t){return-1===this.cmpn(t)},a.prototype.lt=function(t){return-1===this.cmp(t)},a.prototype.lten=function(t){return this.cmpn(t)<=0},a.prototype.lte=function(t){return this.cmp(t)<=0},a.prototype.eqn=function(t){return 0===this.cmpn(t)},a.prototype.eq=function(t){return 0===this.cmp(t)},a.red=function(t){return new w(t)},a.prototype.toRed=function(t){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},a.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},a.prototype._forceRed=function(t){return this.red=t,this},a.prototype.forceRed=function(t){return n(!this.red,"Already a number in reduction context"),this._forceRed(t)},a.prototype.redAdd=function(t){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},a.prototype.redIAdd=function(t){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},a.prototype.redSub=function(t){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},a.prototype.redISub=function(t){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},a.prototype.redShl=function(t){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},a.prototype.redMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},a.prototype.redIMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},a.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},a.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},a.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},a.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},a.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},a.prototype.redPow=function(t){return n(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var m={k256:null,p224:null,p192:null,p25519:null};function v(t,e){this.name=t,this.p=new a(e,16),this.n=this.p.bitLength(),this.k=new a(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function y(){v.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function x(){v.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function b(){v.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function _(){v.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function w(t){if("string"==typeof t){var e=a._prime(t);this.m=e.p,this.prime=e}else n(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function T(t){w.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new a(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}v.prototype._tmp=function(){var t=new a(null);return t.words=new Array(Math.ceil(this.n/13)),t},v.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e<this.n?-1:r.ucmp(this.p);return 0===n?(r.words[0]=0,r.length=1):n>0?r.isub(this.p):r.strip(),r},v.prototype.split=function(t,e){t.iushrn(this.n,0,e)},v.prototype.imulK=function(t){return t.imul(this.k)},i(y,v),y.prototype.split=function(t,e){for(var r=Math.min(t.length,9),n=0;n<r;n++)e.words[n]=t.words[n];if(e.length=r,t.length<=9)return t.words[0]=0,void(t.length=1);var i=t.words[9];for(e.words[e.length++]=4194303&i,n=10;n<t.length;n++){var a=0|t.words[n];t.words[n-10]=(4194303&a)<<4|i>>>22,i=a}i>>>=22,t.words[n-10]=i,0===i&&t.length>10?t.length-=10:t.length-=9},y.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r<t.length;r++){var n=0|t.words[r];e+=977*n,t.words[r]=67108863&e,e=64*n+(e/67108864|0)}return 0===t.words[t.length-1]&&(t.length--,0===t.words[t.length-1]&&t.length--),t},i(x,v),i(b,v),i(_,v),_.prototype.imulK=function(t){for(var e=0,r=0;r<t.length;r++){var n=19*(0|t.words[r])+e,i=67108863&n;n>>>=26,t.words[r]=i,e=n}return 0!==e&&(t.words[t.length++]=e),t},a._prime=function(t){if(m[t])return m[t];var e;if("k256"===t)e=new y;else if("p224"===t)e=new x;else if("p192"===t)e=new b;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new _}return m[t]=e,e},w.prototype._verify1=function(t){n(0===t.negative,"red works only with positives"),n(t.red,"red works only with red numbers")},w.prototype._verify2=function(t,e){n(0==(t.negative|e.negative),"red works only with positives"),n(t.red&&t.red===e.red,"red works only with red numbers")},w.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},w.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},w.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},w.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},w.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},w.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},w.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},w.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},w.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},w.prototype.isqr=function(t){return this.imul(t,t.clone())},w.prototype.sqr=function(t){return this.mul(t,t)},w.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(n(e%2==1),3===e){var r=this.m.add(new a(1)).iushrn(2);return this.pow(t,r)}for(var i=this.m.subn(1),o=0;!i.isZero()&&0===i.andln(1);)o++,i.iushrn(1);n(!i.isZero());var s=new a(1).toRed(this),l=s.redNeg(),c=this.m.subn(1).iushrn(1),u=this.m.bitLength();for(u=new a(2*u*u).toRed(this);0!==this.pow(u,c).cmp(l);)u.redIAdd(l);for(var f=this.pow(u,i),h=this.pow(t,i.addn(1).iushrn(1)),p=this.pow(t,i),d=o;0!==p.cmp(s);){for(var g=p,m=0;0!==g.cmp(s);m++)g=g.redSqr();n(m<d);var v=this.pow(f,new a(1).iushln(d-m-1));h=h.redMul(v),f=v.redSqr(),p=p.redMul(f),d=m}return h},w.prototype.invm=function(t){var e=t._invmp(this.m);return 0!==e.negative?(e.negative=0,this.imod(e).redNeg()):this.imod(e)},w.prototype.pow=function(t,e){if(e.isZero())return new a(1).toRed(this);if(0===e.cmpn(1))return t.clone();var r=new Array(16);r[0]=new a(1).toRed(this),r[1]=t;for(var n=2;n<r.length;n++)r[n]=this.mul(r[n-1],t);var i=r[0],o=0,s=0,l=e.bitLength()%26;for(0===l&&(l=26),n=e.length-1;n>=0;n--){for(var c=e.words[n],u=l-1;u>=0;u--){var f=c>>u&1;i!==r[0]&&(i=this.sqr(i)),0!==f||0!==o?(o<<=1,o|=f,(4===++s||0===n&&0===u)&&(i=this.mul(i,r[o]),s=0,o=0)):s=0}l=26}return i},w.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},w.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},a.mont=function(t){return new T(t)},i(T,w),T.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},T.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},T.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),a=i;return i.cmp(this.m)>=0?a=i.isub(this.m):i.cmpn(0)<0&&(a=i.iadd(this.m)),a._forceRed(this)},T.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new a(0)._forceRed(this);var r=t.mul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},T.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}("undefined"==typeof e||e,this)},{buffer:108}],100:[function(t,e,r){"use strict";e.exports=function(t){var e,r,n,i=t.length,a=0;for(e=0;e<i;++e)a+=t[e].length;var o=new Array(a),s=0;for(e=0;e<i;++e){var l=t[e],c=l.length;for(r=0;r<c;++r){var u=o[s++]=new Array(c-1),f=0;for(n=0;n<c;++n)n!==r&&(u[f++]=l[n]);if(1&r){var h=u[1];u[1]=u[0],u[0]=h}}}return o}},{}],101:[function(t,e,r){"use strict";e.exports=function(t,e,r){switch(arguments.length){case 1:return f(t);case 2:return"function"==typeof e?c(t,t,e,!0):h(t,e);case 3:return c(t,e,r,!1);default:throw new Error("box-intersect: Invalid arguments")}};var n,i=t("typedarray-pool"),a=t("./lib/sweep"),o=t("./lib/intersect");function s(t,e){for(var r=0;r<t;++r)if(!(e[r]<=e[r+t]))return!0;return!1}function l(t,e,r,n){for(var i=0,a=0,o=0,l=t.length;o<l;++o){var c=t[o];if(!s(e,c)){for(var u=0;u<2*e;++u)r[i++]=c[u];n[a++]=o}}return a}function c(t,e,r,n){var s=t.length,c=e.length;if(!(s<=0||c<=0)){var u=t[0].length>>>1;if(!(u<=0)){var f,h=i.mallocDouble(2*u*s),p=i.mallocInt32(s);if((s=l(t,u,h,p))>0){if(1===u&&n)a.init(s),f=a.sweepComplete(u,r,0,s,h,p,0,s,h,p);else{var d=i.mallocDouble(2*u*c),g=i.mallocInt32(c);(c=l(e,u,d,g))>0&&(a.init(s+c),f=1===u?a.sweepBipartite(u,r,0,s,h,p,0,c,d,g):o(u,r,n,s,h,p,c,d,g),i.free(d),i.free(g))}i.free(h),i.free(p)}return f}}}function u(t,e){n.push([t,e])}function f(t){return n=[],c(t,t,u,!0),n}function h(t,e){return n=[],c(t,e,u,!1),n}},{"./lib/intersect":103,"./lib/sweep":107,"typedarray-pool":595}],102:[function(t,e,r){"use strict";var n=["d","ax","vv","rs","re","rb","ri","bs","be","bb","bi"];function i(t){var e="bruteForce"+(t?"Full":"Partial"),r=[],i=n.slice();t||i.splice(3,0,"fp");var a=["function "+e+"("+i.join()+"){"];function o(e,i){var o=function(t,e,r){var i="bruteForce"+(t?"Red":"Blue")+(e?"Flip":"")+(r?"Full":""),a=["function ",i,"(",n.join(),"){","var ","es","=2*","d",";"],o="for(var i=rs,rp=es*rs;i<re;++i,rp+=es){var x0=rb[ax+rp],x1=rb[ax+rp+d],xi=ri[i];",s="for(var j=bs,bp=es*bs;j<be;++j,bp+=es){var y0=bb[ax+bp],"+(r?"y1=bb[ax+bp+d],":"")+"yi=bi[j];";return t?a.push(o,"Q",":",s):a.push(s,"Q",":",o),r?a.push("if(y1<x0||x1<y0)continue;"):e?a.push("if(y0<=x0||x1<y0)continue;"):a.push("if(y0<x0||x1<y0)continue;"),a.push("for(var k=ax+1;k<d;++k){var r0=rb[k+rp],r1=rb[k+d+rp],b0=bb[k+bp],b1=bb[k+d+bp];if(r1<b0||b1<r0)continue Q;}var rv=vv("),e?a.push("yi,xi"):a.push("xi,yi"),a.push(");if(rv!==void 0)return rv;}}}"),{name:i,code:a.join("")}}(e,i,t);r.push(o.code),a.push("return "+o.name+"("+n.join()+");")}a.push("if(re-rs>be-bs){"),t?(o(!0,!1),a.push("}else{"),o(!1,!1)):(a.push("if(fp){"),o(!0,!0),a.push("}else{"),o(!0,!1),a.push("}}else{if(fp){"),o(!1,!0),a.push("}else{"),o(!1,!1),a.push("}")),a.push("}}return "+e);var s=r.join("")+a.join("");return new Function(s)()}r.partial=i(!1),r.full=i(!0)},{}],103:[function(t,e,r){"use strict";e.exports=function(t,e,r,a,u,w,T,k,M){!function(t,e){var r=8*i.log2(e+1)*(t+1)|0,a=i.nextPow2(6*r);v.length<a&&(n.free(v),v=n.mallocInt32(a));var o=i.nextPow2(2*r);y.length<o&&(n.free(y),y=n.mallocDouble(o))}(t,a+T);var A,S=0,E=2*t;x(S++,0,0,a,0,T,r?16:0,-1/0,1/0),r||x(S++,0,0,T,0,a,1,-1/0,1/0);for(;S>0;){var C=6*(S-=1),L=v[C],I=v[C+1],P=v[C+2],z=v[C+3],O=v[C+4],D=v[C+5],R=2*S,F=y[R],B=y[R+1],N=1&D,j=!!(16&D),U=u,V=w,q=k,H=M;if(N&&(U=k,V=M,q=u,H=w),!(2&D&&(P=p(t,L,I,P,U,V,B),I>=P)||4&D&&(I=d(t,L,I,P,U,V,F))>=P)){var G=P-I,Y=O-z;if(j){if(t*G*(G+Y)<1<<22){if(void 0!==(A=l.scanComplete(t,L,e,I,P,U,V,z,O,q,H)))return A;continue}}else{if(t*Math.min(G,Y)<128){if(void 0!==(A=o(t,L,e,N,I,P,U,V,z,O,q,H)))return A;continue}if(t*G*Y<1<<22){if(void 0!==(A=l.scanBipartite(t,L,e,N,I,P,U,V,z,O,q,H)))return A;continue}}var W=f(t,L,I,P,U,V,F,B);if(I<W)if(t*(W-I)<128){if(void 0!==(A=s(t,L+1,e,I,W,U,V,z,O,q,H)))return A}else if(L===t-2){if(void 0!==(A=N?l.sweepBipartite(t,e,z,O,q,H,I,W,U,V):l.sweepBipartite(t,e,I,W,U,V,z,O,q,H)))return A}else x(S++,L+1,I,W,z,O,N,-1/0,1/0),x(S++,L+1,z,O,I,W,1^N,-1/0,1/0);if(W<P){var X=c(t,L,z,O,q,H),Z=q[E*X+L],J=h(t,L,X,O,q,H,Z);if(J<O&&x(S++,L,W,P,J,O,(4|N)+(j?16:0),Z,B),z<X&&x(S++,L,W,P,z,X,(2|N)+(j?16:0),F,Z),X+1===J){if(void 0!==(A=j?_(t,L,e,W,P,U,V,X,q,H[X]):b(t,L,e,N,W,P,U,V,X,q,H[X])))return A}else if(X<J){var K;if(j){if(K=g(t,L,W,P,U,V,Z),W<K){var Q=h(t,L,W,K,U,V,Z);if(L===t-2){if(W<Q&&void 0!==(A=l.sweepComplete(t,e,W,Q,U,V,X,J,q,H)))return A;if(Q<K&&void 0!==(A=l.sweepBipartite(t,e,Q,K,U,V,X,J,q,H)))return A}else W<Q&&x(S++,L+1,W,Q,X,J,16,-1/0,1/0),Q<K&&(x(S++,L+1,Q,K,X,J,0,-1/0,1/0),x(S++,L+1,X,J,Q,K,1,-1/0,1/0))}}else K=N?m(t,L,W,P,U,V,Z):g(t,L,W,P,U,V,Z),W<K&&(L===t-2?A=N?l.sweepBipartite(t,e,X,J,q,H,W,K,U,V):l.sweepBipartite(t,e,W,K,U,V,X,J,q,H):(x(S++,L+1,W,K,X,J,N,-1/0,1/0),x(S++,L+1,X,J,W,K,1^N,-1/0,1/0)))}}}}};var n=t("typedarray-pool"),i=t("bit-twiddle"),a=t("./brute"),o=a.partial,s=a.full,l=t("./sweep"),c=t("./median"),u=t("./partition"),f=u("!(lo>=p0)&&!(p1>=hi)",["p0","p1"]),h=u("lo===p0",["p0"]),p=u("lo<p0",["p0"]),d=u("hi<=p0",["p0"]),g=u("lo<=p0&&p0<=hi",["p0"]),m=u("lo<p0&&p0<=hi",["p0"]),v=n.mallocInt32(1024),y=n.mallocDouble(1024);function x(t,e,r,n,i,a,o,s,l){var c=6*t;v[c]=e,v[c+1]=r,v[c+2]=n,v[c+3]=i,v[c+4]=a,v[c+5]=o;var u=2*t;y[u]=s,y[u+1]=l}function b(t,e,r,n,i,a,o,s,l,c,u){var f=2*t,h=l*f,p=c[h+e];t:for(var d=i,g=i*f;d<a;++d,g+=f){var m=o[g+e],v=o[g+e+t];if(!(p<m||v<p)&&(!n||p!==m)){for(var y,x=s[d],b=e+1;b<t;++b){m=o[g+b],v=o[g+b+t];var _=c[h+b],w=c[h+b+t];if(v<_||w<m)continue t}if(void 0!==(y=n?r(u,x):r(x,u)))return y}}}function _(t,e,r,n,i,a,o,s,l,c){var u=2*t,f=s*u,h=l[f+e];t:for(var p=n,d=n*u;p<i;++p,d+=u){var g=o[p];if(g!==c){var m=a[d+e],v=a[d+e+t];if(!(h<m||v<h)){for(var y=e+1;y<t;++y){m=a[d+y],v=a[d+y+t];var x=l[f+y],b=l[f+y+t];if(v<x||b<m)continue t}var _=r(g,c);if(void 0!==_)return _}}}}},{"./brute":102,"./median":104,"./partition":105,"./sweep":107,"bit-twiddle":97,"typedarray-pool":595}],104:[function(t,e,r){"use strict";e.exports=function(t,e,r,a,o,s){if(a<=r+1)return r;var l=r,c=a,u=a+r>>>1,f=2*t,h=u,p=o[f*u+e];for(;l<c;){if(c-l<8){i(t,e,l,c,o,s),p=o[f*u+e];break}var d=c-l,g=Math.random()*d+l|0,m=o[f*g+e],v=Math.random()*d+l|0,y=o[f*v+e],x=Math.random()*d+l|0,b=o[f*x+e];m<=y?b>=y?(h=v,p=y):m>=b?(h=g,p=m):(h=x,p=b):y>=b?(h=v,p=y):b>=m?(h=g,p=m):(h=x,p=b);for(var _=f*(c-1),w=f*h,T=0;T<f;++T,++_,++w){var k=o[_];o[_]=o[w],o[w]=k}var M=s[c-1];s[c-1]=s[h],s[h]=M,h=n(t,e,l,c-1,o,s,p);for(_=f*(c-1),w=f*h,T=0;T<f;++T,++_,++w){k=o[_];o[_]=o[w],o[w]=k}M=s[c-1];if(s[c-1]=s[h],s[h]=M,u<h){for(c=h-1;l<c&&o[f*(c-1)+e]===p;)c-=1;c+=1}else{if(!(h<u))break;for(l=h+1;l<c&&o[f*l+e]===p;)l+=1}}return n(t,e,r,u,o,s,o[f*u+e])};var n=t("./partition")("lo<p0",["p0"]);function i(t,e,r,n,i,a){for(var o=2*t,s=o*(r+1)+e,l=r+1;l<n;++l,s+=o)for(var c=i[s],u=l,f=o*(l-1);u>r&&i[f+e]>c;--u,f-=o){for(var h=f,p=f+o,d=0;d<o;++d,++h,++p){var g=i[h];i[h]=i[p],i[p]=g}var m=a[u];a[u]=a[u-1],a[u-1]=m}}},{"./partition":105}],105:[function(t,e,r){"use strict";e.exports=function(t,e){var r="abcdef".split("").concat(e),n=[];t.indexOf("lo")>=0&&n.push("lo=e[k+n]");t.indexOf("hi")>=0&&n.push("hi=e[k+o]");return r.push("for(var j=2*a,k=j*c,l=k,m=c,n=b,o=a+b,p=c;d>p;++p,k+=j){var _;if($)if(m===p)m+=1,l+=j;else{for(var s=0;j>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".replace("_",n.join()).replace("$",t)),Function.apply(void 0,r)}},{}],106:[function(t,e,r){"use strict";e.exports=function(t,e){e<=128?n(0,e-1,t):function t(e,r,u){var f=(r-e+1)/6|0,h=e+f,p=r-f,d=e+r>>1,g=d-f,m=d+f,v=h,y=g,x=d,b=m,_=p,w=e+1,T=r-1,k=0;l(v,y,u)&&(k=v,v=y,y=k);l(b,_,u)&&(k=b,b=_,_=k);l(v,x,u)&&(k=v,v=x,x=k);l(y,x,u)&&(k=y,y=x,x=k);l(v,b,u)&&(k=v,v=b,b=k);l(x,b,u)&&(k=x,x=b,b=k);l(y,_,u)&&(k=y,y=_,_=k);l(y,x,u)&&(k=y,y=x,x=k);l(b,_,u)&&(k=b,b=_,_=k);for(var M=u[2*y],A=u[2*y+1],S=u[2*b],E=u[2*b+1],C=2*v,L=2*x,I=2*_,P=2*h,z=2*d,O=2*p,D=0;D<2;++D){var R=u[C+D],F=u[L+D],B=u[I+D];u[P+D]=R,u[z+D]=F,u[O+D]=B}a(g,e,u),a(m,r,u);for(var N=w;N<=T;++N)if(c(N,M,A,u))N!==w&&i(N,w,u),++w;else if(!c(N,S,E,u))for(;;){if(c(T,S,E,u)){c(T,M,A,u)?(o(N,w,T,u),++w,--T):(i(N,T,u),--T);break}if(--T<N)break}s(e,w-1,M,A,u),s(r,T+1,S,E,u),w-2-e<=32?n(e,w-2,u):t(e,w-2,u);r-(T+2)<=32?n(T+2,r,u):t(T+2,r,u);T-w<=32?n(w,T,u):t(w,T,u)}(0,e-1,t)};function n(t,e,r){for(var n=2*(t+1),i=t+1;i<=e;++i){for(var a=r[n++],o=r[n++],s=i,l=n-2;s-- >t;){var c=r[l-2],u=r[l-1];if(c<a)break;if(c===a&&u<o)break;r[l]=c,r[l+1]=u,l-=2}r[l]=a,r[l+1]=o}}function i(t,e,r){e*=2;var n=r[t*=2],i=r[t+1];r[t]=r[e],r[t+1]=r[e+1],r[e]=n,r[e+1]=i}function a(t,e,r){e*=2,r[t*=2]=r[e],r[t+1]=r[e+1]}function o(t,e,r,n){e*=2,r*=2;var i=n[t*=2],a=n[t+1];n[t]=n[e],n[t+1]=n[e+1],n[e]=n[r],n[e+1]=n[r+1],n[r]=i,n[r+1]=a}function s(t,e,r,n,i){e*=2,i[t*=2]=i[e],i[e]=r,i[t+1]=i[e+1],i[e+1]=n}function l(t,e,r){e*=2;var n=r[t*=2],i=r[e];return!(n<i)&&(n!==i||r[t+1]>r[e+1])}function c(t,e,r,n){var i=n[t*=2];return i<e||i===e&&n[t+1]<r}},{}],107:[function(t,e,r){"use strict";e.exports={init:function(t){var e=i.nextPow2(t);o.length<e&&(n.free(o),o=n.mallocInt32(e));s.length<e&&(n.free(s),s=n.mallocInt32(e));l.length<e&&(n.free(l),l=n.mallocInt32(e));c.length<e&&(n.free(c),c=n.mallocInt32(e));u.length<e&&(n.free(u),u=n.mallocInt32(e));f.length<e&&(n.free(f),f=n.mallocInt32(e));var r=8*e;h.length<r&&(n.free(h),h=n.mallocDouble(r))},sweepBipartite:function(t,e,r,n,i,u,f,g,m,v){for(var y=0,x=2*t,b=t-1,_=x-1,w=r;w<n;++w){var T=u[w],k=x*w;h[y++]=i[k+b],h[y++]=-(T+1),h[y++]=i[k+_],h[y++]=T}for(w=f;w<g;++w){T=v[w]+(1<<28);var M=x*w;h[y++]=m[M+b],h[y++]=-T,h[y++]=m[M+_],h[y++]=T}var A=y>>>1;a(h,A);var S=0,E=0;for(w=0;w<A;++w){var C=0|h[2*w+1];if(C>=1<<28)p(l,c,E--,C=C-(1<<28)|0);else if(C>=0)p(o,s,S--,C);else if(C<=-(1<<28)){C=-C-(1<<28)|0;for(var L=0;L<S;++L){if(void 0!==(I=e(o[L],C)))return I}d(l,c,E++,C)}else{C=-C-1|0;for(L=0;L<E;++L){var I;if(void 0!==(I=e(C,l[L])))return I}d(o,s,S++,C)}}},sweepComplete:function(t,e,r,n,i,g,m,v,y,x){for(var b=0,_=2*t,w=t-1,T=_-1,k=r;k<n;++k){var M=g[k]+1<<1,A=_*k;h[b++]=i[A+w],h[b++]=-M,h[b++]=i[A+T],h[b++]=M}for(k=m;k<v;++k){M=x[k]+1<<1;var S=_*k;h[b++]=y[S+w],h[b++]=1|-M,h[b++]=y[S+T],h[b++]=1|M}var E=b>>>1;a(h,E);var C=0,L=0,I=0;for(k=0;k<E;++k){var P=0|h[2*k+1],z=1&P;if(k<E-1&&P>>1==h[2*k+3]>>1&&(z=2,k+=1),P<0){for(var O=-(P>>1)-1,D=0;D<I;++D){if(void 0!==(R=e(u[D],O)))return R}if(0!==z)for(D=0;D<C;++D){if(void 0!==(R=e(o[D],O)))return R}if(1!==z)for(D=0;D<L;++D){var R;if(void 0!==(R=e(l[D],O)))return R}0===z?d(o,s,C++,O):1===z?d(l,c,L++,O):2===z&&d(u,f,I++,O)}else{O=(P>>1)-1;0===z?p(o,s,C--,O):1===z?p(l,c,L--,O):2===z&&p(u,f,I--,O)}}},scanBipartite:function(t,e,r,n,i,l,c,u,f,g,m,v){var y=0,x=2*t,b=e,_=e+t,w=1,T=1;n?T=1<<28:w=1<<28;for(var k=i;k<l;++k){var M=k+w,A=x*k;h[y++]=c[A+b],h[y++]=-M,h[y++]=c[A+_],h[y++]=M}for(k=f;k<g;++k){M=k+T;var S=x*k;h[y++]=m[S+b],h[y++]=-M}var E=y>>>1;a(h,E);var C=0;for(k=0;k<E;++k){var L=0|h[2*k+1];if(L<0){var I=!1;if((M=-L)>=1<<28?(I=!n,M-=1<<28):(I=!!n,M-=1),I)d(o,s,C++,M);else{var P=v[M],z=x*M,O=m[z+e+1],D=m[z+e+1+t];t:for(var R=0;R<C;++R){var F=o[R],B=x*F;if(!(D<c[B+e+1]||c[B+e+1+t]<O)){for(var N=e+2;N<t;++N)if(m[z+N+t]<c[B+N]||c[B+N+t]<m[z+N])continue t;var j,U=u[F];if(void 0!==(j=n?r(P,U):r(U,P)))return j}}}}else p(o,s,C--,L-w)}},scanComplete:function(t,e,r,n,i,s,l,c,u,f,p){for(var d=0,g=2*t,m=e,v=e+t,y=n;y<i;++y){var x=y+(1<<28),b=g*y;h[d++]=s[b+m],h[d++]=-x,h[d++]=s[b+v],h[d++]=x}for(y=c;y<u;++y){x=y+1;var _=g*y;h[d++]=f[_+m],h[d++]=-x}var w=d>>>1;a(h,w);var T=0;for(y=0;y<w;++y){var k=0|h[2*y+1];if(k<0){if((x=-k)>=1<<28)o[T++]=x-(1<<28);else{var M=p[x-=1],A=g*x,S=f[A+e+1],E=f[A+e+1+t];t:for(var C=0;C<T;++C){var L=o[C],I=l[L];if(I===M)break;var P=g*L;if(!(E<s[P+e+1]||s[P+e+1+t]<S)){for(var z=e+2;z<t;++z)if(f[A+z+t]<s[P+z]||s[P+z+t]<f[A+z])continue t;var O=r(I,M);if(void 0!==O)return O}}}}else{for(x=k-(1<<28),C=T-1;C>=0;--C)if(o[C]===x){for(z=C+1;z<T;++z)o[z-1]=o[z];break}--T}}}};var n=t("typedarray-pool"),i=t("bit-twiddle"),a=t("./sort"),o=n.mallocInt32(1024),s=n.mallocInt32(1024),l=n.mallocInt32(1024),c=n.mallocInt32(1024),u=n.mallocInt32(1024),f=n.mallocInt32(1024),h=n.mallocDouble(8192);function p(t,e,r,n){var i=e[n],a=t[r-1];t[i]=a,e[a]=i}function d(t,e,r,n){t[r]=n,e[n]=r}},{"./sort":106,"bit-twiddle":97,"typedarray-pool":595}],108:[function(t,e,r){},{}],109:[function(t,e,r){arguments[4][108][0].apply(r,arguments)},{dup:108}],110:[function(t,e,r){"use strict";var n,i="object"==typeof Reflect?Reflect:null,a=i&&"function"==typeof i.apply?i.apply:function(t,e,r){return Function.prototype.apply.call(t,e,r)};n=i&&"function"==typeof i.ownKeys?i.ownKeys:Object.getOwnPropertySymbols?function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:function(t){return Object.getOwnPropertyNames(t)};var o=Number.isNaN||function(t){return t!=t};function s(){s.init.call(this)}e.exports=s,e.exports.once=function(t,e){return new Promise((function(r,n){function i(){void 0!==a&&t.removeListener("error",a),r([].slice.call(arguments))}var a;"error"!==e&&(a=function(r){t.removeListener(e,i),n(r)},t.once("error",a)),t.once(e,i)}))},s.EventEmitter=s,s.prototype._events=void 0,s.prototype._eventsCount=0,s.prototype._maxListeners=void 0;var l=10;function c(t){if("function"!=typeof t)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof t)}function u(t){return void 0===t._maxListeners?s.defaultMaxListeners:t._maxListeners}function f(t,e,r,n){var i,a,o,s;if(c(r),void 0===(a=t._events)?(a=t._events=Object.create(null),t._eventsCount=0):(void 0!==a.newListener&&(t.emit("newListener",e,r.listener?r.listener:r),a=t._events),o=a[e]),void 0===o)o=a[e]=r,++t._eventsCount;else if("function"==typeof o?o=a[e]=n?[r,o]:[o,r]:n?o.unshift(r):o.push(r),(i=u(t))>0&&o.length>i&&!o.warned){o.warned=!0;var l=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");l.name="MaxListenersExceededWarning",l.emitter=t,l.type=e,l.count=o.length,s=l,console&&console.warn&&console.warn(s)}return t}function h(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function p(t,e,r){var n={fired:!1,wrapFn:void 0,target:t,type:e,listener:r},i=h.bind(n);return i.listener=r,n.wrapFn=i,i}function d(t,e,r){var n=t._events;if(void 0===n)return[];var i=n[e];return void 0===i?[]:"function"==typeof i?r?[i.listener||i]:[i]:r?function(t){for(var e=new Array(t.length),r=0;r<e.length;++r)e[r]=t[r].listener||t[r];return e}(i):m(i,i.length)}function g(t){var e=this._events;if(void 0!==e){var r=e[t];if("function"==typeof r)return 1;if(void 0!==r)return r.length}return 0}function m(t,e){for(var r=new Array(e),n=0;n<e;++n)r[n]=t[n];return r}Object.defineProperty(s,"defaultMaxListeners",{enumerable:!0,get:function(){return l},set:function(t){if("number"!=typeof t||t<0||o(t))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+t+".");l=t}}),s.init=function(){void 0!==this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},s.prototype.setMaxListeners=function(t){if("number"!=typeof t||t<0||o(t))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+t+".");return this._maxListeners=t,this},s.prototype.getMaxListeners=function(){return u(this)},s.prototype.emit=function(t){for(var e=[],r=1;r<arguments.length;r++)e.push(arguments[r]);var n="error"===t,i=this._events;if(void 0!==i)n=n&&void 0===i.error;else if(!n)return!1;if(n){var o;if(e.length>0&&(o=e[0]),o instanceof Error)throw o;var s=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw s.context=o,s}var l=i[t];if(void 0===l)return!1;if("function"==typeof l)a(l,this,e);else{var c=l.length,u=m(l,c);for(r=0;r<c;++r)a(u[r],this,e)}return!0},s.prototype.addListener=function(t,e){return f(this,t,e,!1)},s.prototype.on=s.prototype.addListener,s.prototype.prependListener=function(t,e){return f(this,t,e,!0)},s.prototype.once=function(t,e){return c(e),this.on(t,p(this,t,e)),this},s.prototype.prependOnceListener=function(t,e){return c(e),this.prependListener(t,p(this,t,e)),this},s.prototype.removeListener=function(t,e){var r,n,i,a,o;if(c(e),void 0===(n=this._events))return this;if(void 0===(r=n[t]))return this;if(r===e||r.listener===e)0==--this._eventsCount?this._events=Object.create(null):(delete n[t],n.removeListener&&this.emit("removeListener",t,r.listener||e));else if("function"!=typeof r){for(i=-1,a=r.length-1;a>=0;a--)if(r[a]===e||r[a].listener===e){o=r[a].listener,i=a;break}if(i<0)return this;0===i?r.shift():function(t,e){for(;e+1<t.length;e++)t[e]=t[e+1];t.pop()}(r,i),1===r.length&&(n[t]=r[0]),void 0!==n.removeListener&&this.emit("removeListener",t,o||e)}return this},s.prototype.off=s.prototype.removeListener,s.prototype.removeAllListeners=function(t){var e,r,n;if(void 0===(r=this._events))return this;if(void 0===r.removeListener)return 0===arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==r[t]&&(0==--this._eventsCount?this._events=Object.create(null):delete r[t]),this;if(0===arguments.length){var i,a=Object.keys(r);for(n=0;n<a.length;++n)"removeListener"!==(i=a[n])&&this.removeAllListeners(i);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if("function"==typeof(e=r[t]))this.removeListener(t,e);else if(void 0!==e)for(n=e.length-1;n>=0;n--)this.removeListener(t,e[n]);return this},s.prototype.listeners=function(t){return d(this,t,!0)},s.prototype.rawListeners=function(t){return d(this,t,!1)},s.listenerCount=function(t,e){return"function"==typeof t.listenerCount?t.listenerCount(e):g.call(t,e)},s.prototype.listenerCount=g,s.prototype.eventNames=function(){return this._eventsCount>0?n(this._events):[]}},{}],111:[function(t,e,r){(function(e){(function(){ +/*! + * The buffer module from node.js, for the browser. + * + * @author Feross Aboukhadijeh <https://feross.org> + * @license MIT + */ +"use strict";var e=t("base64-js"),n=t("ieee754");r.Buffer=a,r.SlowBuffer=function(t){+t!=t&&(t=0);return a.alloc(+t)},r.INSPECT_MAX_BYTES=50;function i(t){if(t>2147483647)throw new RangeError('The value "'+t+'" is invalid for option "size"');var e=new Uint8Array(t);return e.__proto__=a.prototype,e}function a(t,e,r){if("number"==typeof t){if("string"==typeof e)throw new TypeError('The "string" argument must be of type string. Received type number');return l(t)}return o(t,e,r)}function o(t,e,r){if("string"==typeof t)return function(t,e){"string"==typeof e&&""!==e||(e="utf8");if(!a.isEncoding(e))throw new TypeError("Unknown encoding: "+e);var r=0|f(t,e),n=i(r),o=n.write(t,e);o!==r&&(n=n.slice(0,o));return n}(t,e);if(ArrayBuffer.isView(t))return c(t);if(null==t)throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);if(B(t,ArrayBuffer)||t&&B(t.buffer,ArrayBuffer))return function(t,e,r){if(e<0||t.byteLength<e)throw new RangeError('"offset" is outside of buffer bounds');if(t.byteLength<e+(r||0))throw new RangeError('"length" is outside of buffer bounds');var n;n=void 0===e&&void 0===r?new Uint8Array(t):void 0===r?new Uint8Array(t,e):new Uint8Array(t,e,r);return n.__proto__=a.prototype,n}(t,e,r);if("number"==typeof t)throw new TypeError('The "value" argument must not be of type number. Received type number');var n=t.valueOf&&t.valueOf();if(null!=n&&n!==t)return a.from(n,e,r);var o=function(t){if(a.isBuffer(t)){var e=0|u(t.length),r=i(e);return 0===r.length||t.copy(r,0,0,e),r}if(void 0!==t.length)return"number"!=typeof t.length||N(t.length)?i(0):c(t);if("Buffer"===t.type&&Array.isArray(t.data))return c(t.data)}(t);if(o)return o;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof t[Symbol.toPrimitive])return a.from(t[Symbol.toPrimitive]("string"),e,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t)}function s(t){if("number"!=typeof t)throw new TypeError('"size" argument must be of type number');if(t<0)throw new RangeError('The value "'+t+'" is invalid for option "size"')}function l(t){return s(t),i(t<0?0:0|u(t))}function c(t){for(var e=t.length<0?0:0|u(t.length),r=i(e),n=0;n<e;n+=1)r[n]=255&t[n];return r}function u(t){if(t>=2147483647)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+2147483647..toString(16)+" bytes");return 0|t}function f(t,e){if(a.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||B(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);var r=t.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;for(var i=!1;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return D(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return R(t).length;default:if(i)return n?-1:D(t).length;e=(""+e).toLowerCase(),i=!0}}function h(t,e,r){var n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return A(this,e,r);case"utf8":case"utf-8":return T(this,e,r);case"ascii":return k(this,e,r);case"latin1":case"binary":return M(this,e,r);case"base64":return w(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return S(this,e,r);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}function p(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function d(t,e,r,n,i){if(0===t.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),N(r=+r)&&(r=i?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(i)return-1;r=t.length-1}else if(r<0){if(!i)return-1;r=0}if("string"==typeof e&&(e=a.from(e,n)),a.isBuffer(e))return 0===e.length?-1:g(t,e,r,n,i);if("number"==typeof e)return e&=255,"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):g(t,[e],r,n,i);throw new TypeError("val must be string, number or Buffer")}function g(t,e,r,n,i){var a,o=1,s=t.length,l=e.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(t.length<2||e.length<2)return-1;o=2,s/=2,l/=2,r/=2}function c(t,e){return 1===o?t[e]:t.readUInt16BE(e*o)}if(i){var u=-1;for(a=r;a<s;a++)if(c(t,a)===c(e,-1===u?0:a-u)){if(-1===u&&(u=a),a-u+1===l)return u*o}else-1!==u&&(a-=a-u),u=-1}else for(r+l>s&&(r=s-l),a=r;a>=0;a--){for(var f=!0,h=0;h<l;h++)if(c(t,a+h)!==c(e,h)){f=!1;break}if(f)return a}return-1}function m(t,e,r,n){r=Number(r)||0;var i=t.length-r;n?(n=Number(n))>i&&(n=i):n=i;var a=e.length;n>a/2&&(n=a/2);for(var o=0;o<n;++o){var s=parseInt(e.substr(2*o,2),16);if(N(s))return o;t[r+o]=s}return o}function v(t,e,r,n){return F(D(e,t.length-r),t,r,n)}function y(t,e,r,n){return F(function(t){for(var e=[],r=0;r<t.length;++r)e.push(255&t.charCodeAt(r));return e}(e),t,r,n)}function x(t,e,r,n){return y(t,e,r,n)}function b(t,e,r,n){return F(R(e),t,r,n)}function _(t,e,r,n){return F(function(t,e){for(var r,n,i,a=[],o=0;o<t.length&&!((e-=2)<0);++o)r=t.charCodeAt(o),n=r>>8,i=r%256,a.push(i),a.push(n);return a}(e,t.length-r),t,r,n)}function w(t,r,n){return 0===r&&n===t.length?e.fromByteArray(t):e.fromByteArray(t.slice(r,n))}function T(t,e,r){r=Math.min(t.length,r);for(var n=[],i=e;i<r;){var a,o,s,l,c=t[i],u=null,f=c>239?4:c>223?3:c>191?2:1;if(i+f<=r)switch(f){case 1:c<128&&(u=c);break;case 2:128==(192&(a=t[i+1]))&&(l=(31&c)<<6|63&a)>127&&(u=l);break;case 3:a=t[i+1],o=t[i+2],128==(192&a)&&128==(192&o)&&(l=(15&c)<<12|(63&a)<<6|63&o)>2047&&(l<55296||l>57343)&&(u=l);break;case 4:a=t[i+1],o=t[i+2],s=t[i+3],128==(192&a)&&128==(192&o)&&128==(192&s)&&(l=(15&c)<<18|(63&a)<<12|(63&o)<<6|63&s)>65535&&l<1114112&&(u=l)}null===u?(u=65533,f=1):u>65535&&(u-=65536,n.push(u>>>10&1023|55296),u=56320|1023&u),n.push(u),i+=f}return function(t){var e=t.length;if(e<=4096)return String.fromCharCode.apply(String,t);var r="",n=0;for(;n<e;)r+=String.fromCharCode.apply(String,t.slice(n,n+=4096));return r}(n)}r.kMaxLength=2147483647,a.TYPED_ARRAY_SUPPORT=function(){try{var t=new Uint8Array(1);return t.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===t.foo()}catch(t){return!1}}(),a.TYPED_ARRAY_SUPPORT||"undefined"==typeof console||"function"!=typeof console.error||console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),Object.defineProperty(a.prototype,"parent",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.buffer}}),Object.defineProperty(a.prototype,"offset",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.byteOffset}}),"undefined"!=typeof Symbol&&null!=Symbol.species&&a[Symbol.species]===a&&Object.defineProperty(a,Symbol.species,{value:null,configurable:!0,enumerable:!1,writable:!1}),a.poolSize=8192,a.from=function(t,e,r){return o(t,e,r)},a.prototype.__proto__=Uint8Array.prototype,a.__proto__=Uint8Array,a.alloc=function(t,e,r){return function(t,e,r){return s(t),t<=0?i(t):void 0!==e?"string"==typeof r?i(t).fill(e,r):i(t).fill(e):i(t)}(t,e,r)},a.allocUnsafe=function(t){return l(t)},a.allocUnsafeSlow=function(t){return l(t)},a.isBuffer=function(t){return null!=t&&!0===t._isBuffer&&t!==a.prototype},a.compare=function(t,e){if(B(t,Uint8Array)&&(t=a.from(t,t.offset,t.byteLength)),B(e,Uint8Array)&&(e=a.from(e,e.offset,e.byteLength)),!a.isBuffer(t)||!a.isBuffer(e))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(t===e)return 0;for(var r=t.length,n=e.length,i=0,o=Math.min(r,n);i<o;++i)if(t[i]!==e[i]){r=t[i],n=e[i];break}return r<n?-1:n<r?1:0},a.isEncoding=function(t){switch(String(t).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},a.concat=function(t,e){if(!Array.isArray(t))throw new TypeError('"list" argument must be an Array of Buffers');if(0===t.length)return a.alloc(0);var r;if(void 0===e)for(e=0,r=0;r<t.length;++r)e+=t[r].length;var n=a.allocUnsafe(e),i=0;for(r=0;r<t.length;++r){var o=t[r];if(B(o,Uint8Array)&&(o=a.from(o)),!a.isBuffer(o))throw new TypeError('"list" argument must be an Array of Buffers');o.copy(n,i),i+=o.length}return n},a.byteLength=f,a.prototype._isBuffer=!0,a.prototype.swap16=function(){var t=this.length;if(t%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var e=0;e<t;e+=2)p(this,e,e+1);return this},a.prototype.swap32=function(){var t=this.length;if(t%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var e=0;e<t;e+=4)p(this,e,e+3),p(this,e+1,e+2);return this},a.prototype.swap64=function(){var t=this.length;if(t%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var e=0;e<t;e+=8)p(this,e,e+7),p(this,e+1,e+6),p(this,e+2,e+5),p(this,e+3,e+4);return this},a.prototype.toString=function(){var t=this.length;return 0===t?"":0===arguments.length?T(this,0,t):h.apply(this,arguments)},a.prototype.toLocaleString=a.prototype.toString,a.prototype.equals=function(t){if(!a.isBuffer(t))throw new TypeError("Argument must be a Buffer");return this===t||0===a.compare(this,t)},a.prototype.inspect=function(){var t="",e=r.INSPECT_MAX_BYTES;return t=this.toString("hex",0,e).replace(/(.{2})/g,"$1 ").trim(),this.length>e&&(t+=" ... "),"<Buffer "+t+">"},a.prototype.compare=function(t,e,r,n,i){if(B(t,Uint8Array)&&(t=a.from(t,t.offset,t.byteLength)),!a.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),e<0||r>t.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&e>=r)return 0;if(n>=i)return-1;if(e>=r)return 1;if(this===t)return 0;for(var o=(i>>>=0)-(n>>>=0),s=(r>>>=0)-(e>>>=0),l=Math.min(o,s),c=this.slice(n,i),u=t.slice(e,r),f=0;f<l;++f)if(c[f]!==u[f]){o=c[f],s=u[f];break}return o<s?-1:s<o?1:0},a.prototype.includes=function(t,e,r){return-1!==this.indexOf(t,e,r)},a.prototype.indexOf=function(t,e,r){return d(this,t,e,r,!0)},a.prototype.lastIndexOf=function(t,e,r){return d(this,t,e,r,!1)},a.prototype.write=function(t,e,r,n){if(void 0===e)n="utf8",r=this.length,e=0;else if(void 0===r&&"string"==typeof e)n=e,r=this.length,e=0;else{if(!isFinite(e))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");e>>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n="utf8")):(n=r,r=void 0)}var i=this.length-e;if((void 0===r||r>i)&&(r=i),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var a=!1;;)switch(n){case"hex":return m(this,t,e,r);case"utf8":case"utf-8":return v(this,t,e,r);case"ascii":return y(this,t,e,r);case"latin1":case"binary":return x(this,t,e,r);case"base64":return b(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return _(this,t,e,r);default:if(a)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),a=!0}},a.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function k(t,e,r){var n="";r=Math.min(t.length,r);for(var i=e;i<r;++i)n+=String.fromCharCode(127&t[i]);return n}function M(t,e,r){var n="";r=Math.min(t.length,r);for(var i=e;i<r;++i)n+=String.fromCharCode(t[i]);return n}function A(t,e,r){var n=t.length;(!e||e<0)&&(e=0),(!r||r<0||r>n)&&(r=n);for(var i="",a=e;a<r;++a)i+=O(t[a]);return i}function S(t,e,r){for(var n=t.slice(e,r),i="",a=0;a<n.length;a+=2)i+=String.fromCharCode(n[a]+256*n[a+1]);return i}function E(t,e,r){if(t%1!=0||t<0)throw new RangeError("offset is not uint");if(t+e>r)throw new RangeError("Trying to access beyond buffer length")}function C(t,e,r,n,i,o){if(!a.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||e<o)throw new RangeError('"value" argument is out of bounds');if(r+n>t.length)throw new RangeError("Index out of range")}function L(t,e,r,n,i,a){if(r+n>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function I(t,e,r,i,a){return e=+e,r>>>=0,a||L(t,0,r,4),n.write(t,e,r,i,23,4),r+4}function P(t,e,r,i,a){return e=+e,r>>>=0,a||L(t,0,r,8),n.write(t,e,r,i,52,8),r+8}a.prototype.slice=function(t,e){var r=this.length;(t=~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),(e=void 0===e?r:~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),e<t&&(e=t);var n=this.subarray(t,e);return n.__proto__=a.prototype,n},a.prototype.readUIntLE=function(t,e,r){t>>>=0,e>>>=0,r||E(t,e,this.length);for(var n=this[t],i=1,a=0;++a<e&&(i*=256);)n+=this[t+a]*i;return n},a.prototype.readUIntBE=function(t,e,r){t>>>=0,e>>>=0,r||E(t,e,this.length);for(var n=this[t+--e],i=1;e>0&&(i*=256);)n+=this[t+--e]*i;return n},a.prototype.readUInt8=function(t,e){return t>>>=0,e||E(t,1,this.length),this[t]},a.prototype.readUInt16LE=function(t,e){return t>>>=0,e||E(t,2,this.length),this[t]|this[t+1]<<8},a.prototype.readUInt16BE=function(t,e){return t>>>=0,e||E(t,2,this.length),this[t]<<8|this[t+1]},a.prototype.readUInt32LE=function(t,e){return t>>>=0,e||E(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},a.prototype.readUInt32BE=function(t,e){return t>>>=0,e||E(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},a.prototype.readIntLE=function(t,e,r){t>>>=0,e>>>=0,r||E(t,e,this.length);for(var n=this[t],i=1,a=0;++a<e&&(i*=256);)n+=this[t+a]*i;return n>=(i*=128)&&(n-=Math.pow(2,8*e)),n},a.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||E(t,e,this.length);for(var n=e,i=1,a=this[t+--n];n>0&&(i*=256);)a+=this[t+--n]*i;return a>=(i*=128)&&(a-=Math.pow(2,8*e)),a},a.prototype.readInt8=function(t,e){return t>>>=0,e||E(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},a.prototype.readInt16LE=function(t,e){t>>>=0,e||E(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},a.prototype.readInt16BE=function(t,e){t>>>=0,e||E(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},a.prototype.readInt32LE=function(t,e){return t>>>=0,e||E(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},a.prototype.readInt32BE=function(t,e){return t>>>=0,e||E(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},a.prototype.readFloatLE=function(t,e){return t>>>=0,e||E(t,4,this.length),n.read(this,t,!0,23,4)},a.prototype.readFloatBE=function(t,e){return t>>>=0,e||E(t,4,this.length),n.read(this,t,!1,23,4)},a.prototype.readDoubleLE=function(t,e){return t>>>=0,e||E(t,8,this.length),n.read(this,t,!0,52,8)},a.prototype.readDoubleBE=function(t,e){return t>>>=0,e||E(t,8,this.length),n.read(this,t,!1,52,8)},a.prototype.writeUIntLE=function(t,e,r,n){(t=+t,e>>>=0,r>>>=0,n)||C(this,t,e,r,Math.pow(2,8*r)-1,0);var i=1,a=0;for(this[e]=255&t;++a<r&&(i*=256);)this[e+a]=t/i&255;return e+r},a.prototype.writeUIntBE=function(t,e,r,n){(t=+t,e>>>=0,r>>>=0,n)||C(this,t,e,r,Math.pow(2,8*r)-1,0);var i=r-1,a=1;for(this[e+i]=255&t;--i>=0&&(a*=256);)this[e+i]=t/a&255;return e+r},a.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,r||C(this,t,e,1,255,0),this[e]=255&t,e+1},a.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||C(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},a.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||C(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},a.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||C(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},a.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||C(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},a.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);C(this,t,e,r,i-1,-i)}var a=0,o=1,s=0;for(this[e]=255&t;++a<r&&(o*=256);)t<0&&0===s&&0!==this[e+a-1]&&(s=1),this[e+a]=(t/o>>0)-s&255;return e+r},a.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);C(this,t,e,r,i-1,-i)}var a=r-1,o=1,s=0;for(this[e+a]=255&t;--a>=0&&(o*=256);)t<0&&0===s&&0!==this[e+a+1]&&(s=1),this[e+a]=(t/o>>0)-s&255;return e+r},a.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||C(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},a.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||C(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},a.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||C(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},a.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||C(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},a.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||C(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},a.prototype.writeFloatLE=function(t,e,r){return I(this,t,e,!0,r)},a.prototype.writeFloatBE=function(t,e,r){return I(this,t,e,!1,r)},a.prototype.writeDoubleLE=function(t,e,r){return P(this,t,e,!0,r)},a.prototype.writeDoubleBE=function(t,e,r){return P(this,t,e,!1,r)},a.prototype.copy=function(t,e,r,n){if(!a.isBuffer(t))throw new TypeError("argument should be a Buffer");if(r||(r=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n<r&&(n=r),n===r)return 0;if(0===t.length||0===this.length)return 0;if(e<0)throw new RangeError("targetStart out of bounds");if(r<0||r>=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e<n-r&&(n=t.length-e+r);var i=n-r;if(this===t&&"function"==typeof Uint8Array.prototype.copyWithin)this.copyWithin(e,r,n);else if(this===t&&r<e&&e<n)for(var o=i-1;o>=0;--o)t[o+e]=this[o+r];else Uint8Array.prototype.set.call(t,this.subarray(r,n),e);return i},a.prototype.fill=function(t,e,r,n){if("string"==typeof t){if("string"==typeof e?(n=e,e=0,r=this.length):"string"==typeof r&&(n=r,r=this.length),void 0!==n&&"string"!=typeof n)throw new TypeError("encoding must be a string");if("string"==typeof n&&!a.isEncoding(n))throw new TypeError("Unknown encoding: "+n);if(1===t.length){var i=t.charCodeAt(0);("utf8"===n&&i<128||"latin1"===n)&&(t=i)}}else"number"==typeof t&&(t&=255);if(e<0||this.length<e||this.length<r)throw new RangeError("Out of range index");if(r<=e)return this;var o;if(e>>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),"number"==typeof t)for(o=e;o<r;++o)this[o]=t;else{var s=a.isBuffer(t)?t:a.from(t,n),l=s.length;if(0===l)throw new TypeError('The value "'+t+'" is invalid for argument "value"');for(o=0;o<r-e;++o)this[o+e]=s[o%l]}return this};var z=/[^+/0-9A-Za-z-_]/g;function O(t){return t<16?"0"+t.toString(16):t.toString(16)}function D(t,e){var r;e=e||1/0;for(var n=t.length,i=null,a=[],o=0;o<n;++o){if((r=t.charCodeAt(o))>55295&&r<57344){if(!i){if(r>56319){(e-=3)>-1&&a.push(239,191,189);continue}if(o+1===n){(e-=3)>-1&&a.push(239,191,189);continue}i=r;continue}if(r<56320){(e-=3)>-1&&a.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(e-=3)>-1&&a.push(239,191,189);if(i=null,r<128){if((e-=1)<0)break;a.push(r)}else if(r<2048){if((e-=2)<0)break;a.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;a.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return a}function R(t){return e.toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace(z,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function F(t,e,r,n){for(var i=0;i<n&&!(i+r>=e.length||i>=t.length);++i)e[i+r]=t[i];return i}function B(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function N(t){return t!=t}}).call(this)}).call(this,t("buffer").Buffer)},{"base64-js":79,buffer:111,ieee754:442}],112:[function(t,e,r){"use strict";var n=t("./lib/monotone"),i=t("./lib/triangulation"),a=t("./lib/delaunay"),o=t("./lib/filter");function s(t){return[Math.min(t[0],t[1]),Math.max(t[0],t[1])]}function l(t,e){return t[0]-e[0]||t[1]-e[1]}function c(t,e,r){return e in t?t[e]:r}e.exports=function(t,e,r){Array.isArray(e)?(r=r||{},e=e||[]):(r=e||{},e=[]);var u=!!c(r,"delaunay",!0),f=!!c(r,"interior",!0),h=!!c(r,"exterior",!0),p=!!c(r,"infinity",!1);if(!f&&!h||0===t.length)return[];var d=n(t,e);if(u||f!==h||p){for(var g=i(t.length,function(t){return t.map(s).sort(l)}(e)),m=0;m<d.length;++m){var v=d[m];g.addTriangle(v[0],v[1],v[2])}return u&&a(t,g),h?f?p?o(g,0,p):g.cells():o(g,1,p):o(g,-1)}return d}},{"./lib/delaunay":113,"./lib/filter":114,"./lib/monotone":115,"./lib/triangulation":116}],113:[function(t,e,r){"use strict";var n=t("robust-in-sphere")[4];t("binary-search-bounds");function i(t,e,r,i,a,o){var s=e.opposite(i,a);if(!(s<0)){if(a<i){var l=i;i=a,a=l,l=o,o=s,s=l}e.isConstraint(i,a)||n(t[i],t[a],t[o],t[s])<0&&r.push(i,a)}}e.exports=function(t,e){for(var r=[],a=t.length,o=e.stars,s=0;s<a;++s)for(var l=o[s],c=1;c<l.length;c+=2){if(!((p=l[c])<s)&&!e.isConstraint(s,p)){for(var u=l[c-1],f=-1,h=1;h<l.length;h+=2)if(l[h-1]===p){f=l[h];break}f<0||n(t[s],t[p],t[u],t[f])<0&&r.push(s,p)}}for(;r.length>0;){for(var p=r.pop(),d=(s=r.pop(),u=-1,f=-1,l=o[s],1);d<l.length;d+=2){var g=l[d-1],m=l[d];g===p?f=m:m===p&&(u=g)}u<0||f<0||(n(t[s],t[p],t[u],t[f])>=0||(e.flip(s,p),i(t,e,r,u,s,f),i(t,e,r,s,f,u),i(t,e,r,f,p,u),i(t,e,r,p,u,f)))}}},{"binary-search-bounds":96,"robust-in-sphere":546}],114:[function(t,e,r){"use strict";var n,i=t("binary-search-bounds");function a(t,e,r,n,i,a,o){this.cells=t,this.neighbor=e,this.flags=n,this.constraint=r,this.active=i,this.next=a,this.boundary=o}function o(t,e){return t[0]-e[0]||t[1]-e[1]||t[2]-e[2]}e.exports=function(t,e,r){var n=function(t,e){for(var r=t.cells(),n=r.length,i=0;i<n;++i){var s=(v=r[i])[0],l=v[1],c=v[2];l<c?l<s&&(v[0]=l,v[1]=c,v[2]=s):c<s&&(v[0]=c,v[1]=s,v[2]=l)}r.sort(o);var u=new Array(n);for(i=0;i<u.length;++i)u[i]=0;var f=[],h=[],p=new Array(3*n),d=new Array(3*n),g=null;e&&(g=[]);var m=new a(r,p,d,u,f,h,g);for(i=0;i<n;++i)for(var v=r[i],y=0;y<3;++y){s=v[y],l=v[(y+1)%3];var x=p[3*i+y]=m.locate(l,s,t.opposite(l,s)),b=d[3*i+y]=t.isConstraint(s,l);x<0&&(b?h.push(i):(f.push(i),u[i]=1),e&&g.push([l,s,-1]))}return m}(t,r);if(0===e)return r?n.cells.concat(n.boundary):n.cells;var i=1,s=n.active,l=n.next,c=n.flags,u=n.cells,f=n.constraint,h=n.neighbor;for(;s.length>0||l.length>0;){for(;s.length>0;){var p=s.pop();if(c[p]!==-i){c[p]=i;u[p];for(var d=0;d<3;++d){var g=h[3*p+d];g>=0&&0===c[g]&&(f[3*p+d]?l.push(g):(s.push(g),c[g]=i))}}}var m=l;l=s,s=m,l.length=0,i=-i}var v=function(t,e,r){for(var n=0,i=0;i<t.length;++i)e[i]===r&&(t[n++]=t[i]);return t.length=n,t}(u,c,e);if(r)return v.concat(n.boundary);return v},a.prototype.locate=(n=[0,0,0],function(t,e,r){var a=t,s=e,l=r;return e<r?e<t&&(a=e,s=r,l=t):r<t&&(a=r,s=t,l=e),a<0?-1:(n[0]=a,n[1]=s,n[2]=l,i.eq(this.cells,n,o))})},{"binary-search-bounds":96}],115:[function(t,e,r){"use strict";var n=t("binary-search-bounds"),i=t("robust-orientation")[3];function a(t,e,r,n,i){this.a=t,this.b=e,this.idx=r,this.lowerIds=n,this.upperIds=i}function o(t,e,r,n){this.a=t,this.b=e,this.type=r,this.idx=n}function s(t,e){var r=t.a[0]-e.a[0]||t.a[1]-e.a[1]||t.type-e.type;return r||(0!==t.type&&(r=i(t.a,t.b,e.b))?r:t.idx-e.idx)}function l(t,e){return i(t.a,t.b,e)}function c(t,e,r,a,o){for(var s=n.lt(e,a,l),c=n.gt(e,a,l),u=s;u<c;++u){for(var f=e[u],h=f.lowerIds,p=h.length;p>1&&i(r[h[p-2]],r[h[p-1]],a)>0;)t.push([h[p-1],h[p-2],o]),p-=1;h.length=p,h.push(o);var d=f.upperIds;for(p=d.length;p>1&&i(r[d[p-2]],r[d[p-1]],a)<0;)t.push([d[p-2],d[p-1],o]),p-=1;d.length=p,d.push(o)}}function u(t,e){var r;return(r=t.a[0]<e.a[0]?i(t.a,t.b,e.a):i(e.b,e.a,t.a))?r:(r=e.b[0]<t.b[0]?i(t.a,t.b,e.b):i(e.b,e.a,t.b))||t.idx-e.idx}function f(t,e,r){var i=n.le(t,r,u),o=t[i],s=o.upperIds,l=s[s.length-1];o.upperIds=[l],t.splice(i+1,0,new a(r.a,r.b,r.idx,[l],s))}function h(t,e,r){var i=r.a;r.a=r.b,r.b=i;var a=n.eq(t,r,u),o=t[a];t[a-1].upperIds=o.upperIds,t.splice(a,1)}e.exports=function(t,e){for(var r=t.length,n=e.length,i=[],l=0;l<r;++l)i.push(new o(t[l],null,0,l));for(l=0;l<n;++l){var u=e[l],p=t[u[0]],d=t[u[1]];p[0]<d[0]?i.push(new o(p,d,2,l),new o(d,p,1,l)):p[0]>d[0]&&i.push(new o(d,p,2,l),new o(p,d,1,l))}i.sort(s);for(var g=i[0].a[0]-(1+Math.abs(i[0].a[0]))*Math.pow(2,-52),m=[new a([g,1],[g,0],-1,[],[],[],[])],v=[],y=(l=0,i.length);l<y;++l){var x=i[l],b=x.type;0===b?c(v,m,t,x.a,x.idx):2===b?f(m,t,x):h(m,t,x)}return v}},{"binary-search-bounds":96,"robust-orientation":548}],116:[function(t,e,r){"use strict";var n=t("binary-search-bounds");function i(t,e){this.stars=t,this.edges=e}e.exports=function(t,e){for(var r=new Array(t),n=0;n<t;++n)r[n]=[];return new i(r,e)};var a=i.prototype;function o(t,e,r){for(var n=1,i=t.length;n<i;n+=2)if(t[n-1]===e&&t[n]===r)return t[n-1]=t[i-2],t[n]=t[i-1],void(t.length=i-2)}a.isConstraint=function(){var t=[0,0];function e(t,e){return t[0]-e[0]||t[1]-e[1]}return function(r,i){return t[0]=Math.min(r,i),t[1]=Math.max(r,i),n.eq(this.edges,t,e)>=0}}(),a.removeTriangle=function(t,e,r){var n=this.stars;o(n[t],e,r),o(n[e],r,t),o(n[r],t,e)},a.addTriangle=function(t,e,r){var n=this.stars;n[t].push(e,r),n[e].push(r,t),n[r].push(t,e)},a.opposite=function(t,e){for(var r=this.stars[e],n=1,i=r.length;n<i;n+=2)if(r[n]===t)return r[n-1];return-1},a.flip=function(t,e){var r=this.opposite(t,e),n=this.opposite(e,t);this.removeTriangle(t,e,r),this.removeTriangle(e,t,n),this.addTriangle(t,n,r),this.addTriangle(e,r,n)},a.edges=function(){for(var t=this.stars,e=[],r=0,n=t.length;r<n;++r)for(var i=t[r],a=0,o=i.length;a<o;a+=2)e.push([i[a],i[a+1]]);return e},a.cells=function(){for(var t=this.stars,e=[],r=0,n=t.length;r<n;++r)for(var i=t[r],a=0,o=i.length;a<o;a+=2){var s=i[a],l=i[a+1];r<Math.min(s,l)&&e.push([r,s,l])}return e}},{"binary-search-bounds":96}],117:[function(t,e,r){"use strict";e.exports=function(t){for(var e=1,r=1;r<t.length;++r)for(var n=0;n<r;++n)if(t[r]<t[n])e=-e;else if(t[n]===t[r])return 0;return e}},{}],118:[function(t,e,r){"use strict";var n=t("dup"),i=t("robust-linear-solve");function a(t,e){for(var r=0,n=t.length,i=0;i<n;++i)r+=t[i]*e[i];return r}function o(t){var e=t.length;if(0===e)return[];t[0].length;var r=n([t.length+1,t.length+1],1),o=n([t.length+1],1);r[e][e]=0;for(var s=0;s<e;++s){for(var l=0;l<=s;++l)r[l][s]=r[s][l]=2*a(t[s],t[l]);o[s]=a(t[s],t[s])}var c=i(r,o),u=0,f=c[e+1];for(s=0;s<f.length;++s)u+=f[s];var h=new Array(e);for(s=0;s<e;++s){f=c[s];var p=0;for(l=0;l<f.length;++l)p+=f[l];h[s]=p/u}return h}function s(t){if(0===t.length)return[];for(var e=t[0].length,r=n([e]),i=o(t),a=0;a<t.length;++a)for(var s=0;s<e;++s)r[s]+=t[a][s]*i[a];return r}s.barycenetric=o,e.exports=s},{dup:176,"robust-linear-solve":547}],119:[function(t,e,r){e.exports=function(t){for(var e=n(t),r=0,i=0;i<t.length;++i)for(var a=t[i],o=0;o<e.length;++o)r+=Math.pow(a[o]-e[o],2);return Math.sqrt(r/t.length)};var n=t("circumcenter")},{circumcenter:118}],120:[function(t,e,r){e.exports=function(t,e,r){return e<r?t<e?e:t>r?r:t:t<r?r:t>e?e:t}},{}],121:[function(t,e,r){"use strict";e.exports=function(t,e,r){var n;if(r){n=e;for(var i=new Array(e.length),a=0;a<e.length;++a){var o=e[a];i[a]=[o[0],o[1],r[a]]}e=i}var s=function(t,e,r){var n=d(t,[],p(t));return v(e,n,r),!!n}(t,e,!!r);for(;y(t,e,!!r);)s=!0;if(r&&s){n.length=0,r.length=0;for(a=0;a<e.length;++a){o=e[a];n.push([o[0],o[1]]),r.push(o[2])}}return s};var n=t("union-find"),i=t("box-intersect"),a=t("robust-segment-intersect"),o=t("big-rat"),s=t("big-rat/cmp"),l=t("big-rat/to-float"),c=t("rat-vec"),u=t("nextafter"),f=t("./lib/rat-seg-intersect");function h(t){var e=l(t);return[u(e,-1/0),u(e,1/0)]}function p(t){for(var e=new Array(t.length),r=0;r<t.length;++r){var n=t[r];e[r]=[u(n[0],-1/0),u(n[1],-1/0),u(n[0],1/0),u(n[1],1/0)]}return e}function d(t,e,r){for(var a=e.length,o=new n(a),s=[],l=0;l<e.length;++l){var c=e[l],f=h(c[0]),p=h(c[1]);s.push([u(f[0],-1/0),u(p[0],-1/0),u(f[1],1/0),u(p[1],1/0)])}i(s,(function(t,e){o.link(t,e)}));var d=!0,g=new Array(a);for(l=0;l<a;++l){(v=o.find(l))!==l&&(d=!1,t[v]=[Math.min(t[l][0],t[v][0]),Math.min(t[l][1],t[v][1])])}if(d)return null;var m=0;for(l=0;l<a;++l){var v;(v=o.find(l))===l?(g[l]=m,t[m++]=t[l]):g[l]=-1}t.length=m;for(l=0;l<a;++l)g[l]<0&&(g[l]=g[o.find(l)]);return g}function g(t,e){return t[0]-e[0]||t[1]-e[1]}function m(t,e){var r=t[0]-e[0]||t[1]-e[1];return r||(t[2]<e[2]?-1:t[2]>e[2]?1:0)}function v(t,e,r){if(0!==t.length){if(e)for(var n=0;n<t.length;++n){var i=e[(o=t[n])[0]],a=e[o[1]];o[0]=Math.min(i,a),o[1]=Math.max(i,a)}else for(n=0;n<t.length;++n){var o;i=(o=t[n])[0],a=o[1];o[0]=Math.min(i,a),o[1]=Math.max(i,a)}r?t.sort(m):t.sort(g);var s=1;for(n=1;n<t.length;++n){var l=t[n-1],c=t[n];(c[0]!==l[0]||c[1]!==l[1]||r&&c[2]!==l[2])&&(t[s++]=c)}t.length=s}}function y(t,e,r){var n=function(t,e){for(var r=new Array(e.length),n=0;n<e.length;++n){var i=e[n],a=t[i[0]],o=t[i[1]];r[n]=[u(Math.min(a[0],o[0]),-1/0),u(Math.min(a[1],o[1]),-1/0),u(Math.max(a[0],o[0]),1/0),u(Math.max(a[1],o[1]),1/0)]}return r}(t,e),h=function(t,e,r){var n=[];return i(r,(function(r,i){var o=e[r],s=e[i];if(o[0]!==s[0]&&o[0]!==s[1]&&o[1]!==s[0]&&o[1]!==s[1]){var l=t[o[0]],c=t[o[1]],u=t[s[0]],f=t[s[1]];a(l,c,u,f)&&n.push([r,i])}})),n}(t,e,n),g=p(t),m=function(t,e,r,n){var o=[];return i(r,n,(function(r,n){var i=e[r];if(i[0]!==n&&i[1]!==n){var s=t[n],l=t[i[0]],c=t[i[1]];a(l,c,s,s)&&o.push([r,n])}})),o}(t,e,n,g),y=d(t,function(t,e,r,n,i){var a,u,h=t.map((function(t){return[o(t[0]),o(t[1])]}));for(a=0;a<r.length;++a){var p=r[a];u=p[0];var d=p[1],g=e[u],m=e[d],v=f(c(t[g[0]]),c(t[g[1]]),c(t[m[0]]),c(t[m[1]]));if(v){var y=t.length;t.push([l(v[0]),l(v[1])]),h.push(v),n.push([u,y],[d,y])}}for(n.sort((function(t,e){if(t[0]!==e[0])return t[0]-e[0];var r=h[t[1]],n=h[e[1]];return s(r[0],n[0])||s(r[1],n[1])})),a=n.length-1;a>=0;--a){var x=e[u=(S=n[a])[0]],b=x[0],_=x[1],w=t[b],T=t[_];if((w[0]-T[0]||w[1]-T[1])<0){var k=b;b=_,_=k}x[0]=b;var M,A=x[1]=S[1];for(i&&(M=x[2]);a>0&&n[a-1][0]===u;){var S,E=(S=n[--a])[1];i?e.push([A,E,M]):e.push([A,E]),A=E}i?e.push([A,_,M]):e.push([A,_])}return h}(t,e,h,m,r));return v(e,y,r),!!y||(h.length>0||m.length>0)}},{"./lib/rat-seg-intersect":122,"big-rat":83,"big-rat/cmp":81,"big-rat/to-float":95,"box-intersect":101,nextafter:496,"rat-vec":530,"robust-segment-intersect":551,"union-find":596}],122:[function(t,e,r){"use strict";e.exports=function(t,e,r,n){var a=s(e,t),f=s(n,r),h=u(a,f);if(0===o(h))return null;var p=s(t,r),d=u(f,p),g=i(d,h),m=c(a,g);return l(t,m)};var n=t("big-rat/mul"),i=t("big-rat/div"),a=t("big-rat/sub"),o=t("big-rat/sign"),s=t("rat-vec/sub"),l=t("rat-vec/add"),c=t("rat-vec/muls");function u(t,e){return a(n(t[0],e[1]),n(t[1],e[0]))}},{"big-rat/div":82,"big-rat/mul":92,"big-rat/sign":93,"big-rat/sub":94,"rat-vec/add":529,"rat-vec/muls":531,"rat-vec/sub":532}],123:[function(t,e,r){"use strict";var n=t("clamp");function i(t,e){null==e&&(e=!0);var r=t[0],i=t[1],a=t[2],o=t[3];return null==o&&(o=e?1:255),e&&(r*=255,i*=255,a*=255,o*=255),16777216*(r=255&n(r,0,255))+((i=255&n(i,0,255))<<16)+((a=255&n(a,0,255))<<8)+(o=255&n(o,0,255))}e.exports=i,e.exports.to=i,e.exports.from=function(t,e){var r=(t=+t)>>>24,n=(16711680&t)>>>16,i=(65280&t)>>>8,a=255&t;return!1===e?[r,n,i,a]:[r/255,n/255,i/255,a/255]}},{clamp:120}],124:[function(t,e,r){"use strict";e.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}},{}],125:[function(t,e,r){"use strict";var n=t("color-rgba"),i=t("clamp"),a=t("dtype");e.exports=function(t,e){"float"!==e&&e||(e="array"),"uint"===e&&(e="uint8"),"uint_clamped"===e&&(e="uint8_clamped");var r=new(a(e))(4),o="uint8"!==e&&"uint8_clamped"!==e;return t.length&&"string"!=typeof t||((t=n(t))[0]/=255,t[1]/=255,t[2]/=255),function(t){return t instanceof Uint8Array||t instanceof Uint8ClampedArray||!!(Array.isArray(t)&&(t[0]>1||0===t[0])&&(t[1]>1||0===t[1])&&(t[2]>1||0===t[2])&&(!t[3]||t[3]>1))}(t)?(r[0]=t[0],r[1]=t[1],r[2]=t[2],r[3]=null!=t[3]?t[3]:255,o&&(r[0]/=255,r[1]/=255,r[2]/=255,r[3]/=255),r):(o?(r[0]=t[0],r[1]=t[1],r[2]=t[2],r[3]=null!=t[3]?t[3]:1):(r[0]=i(Math.floor(255*t[0]),0,255),r[1]=i(Math.floor(255*t[1]),0,255),r[2]=i(Math.floor(255*t[2]),0,255),r[3]=null==t[3]?255:i(Math.floor(255*t[3]),0,255)),r)}},{clamp:120,"color-rgba":127,dtype:175}],126:[function(t,e,r){(function(r){(function(){"use strict";var n=t("color-name"),i=t("is-plain-obj"),a=t("defined");e.exports=function(t){var e,s,l=[],c=1;if("string"==typeof t)if(n[t])l=n[t].slice(),s="rgb";else if("transparent"===t)c=0,s="rgb",l=[0,0,0];else if(/^#[A-Fa-f0-9]+$/.test(t)){var u=(p=t.slice(1)).length;c=1,u<=4?(l=[parseInt(p[0]+p[0],16),parseInt(p[1]+p[1],16),parseInt(p[2]+p[2],16)],4===u&&(c=parseInt(p[3]+p[3],16)/255)):(l=[parseInt(p[0]+p[1],16),parseInt(p[2]+p[3],16),parseInt(p[4]+p[5],16)],8===u&&(c=parseInt(p[6]+p[7],16)/255)),l[0]||(l[0]=0),l[1]||(l[1]=0),l[2]||(l[2]=0),s="rgb"}else if(e=/^((?:rgb|hs[lvb]|hwb|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms)a?)\s*\(([^\)]*)\)/.exec(t)){var f=e[1],h="rgb"===f,p=f.replace(/a$/,"");s=p;u="cmyk"===p?4:"gray"===p?1:3;l=e[2].trim().split(/\s*,\s*/).map((function(t,e){if(/%$/.test(t))return e===u?parseFloat(t)/100:"rgb"===p?255*parseFloat(t)/100:parseFloat(t);if("h"===p[e]){if(/deg$/.test(t))return parseFloat(t);if(void 0!==o[t])return o[t]}return parseFloat(t)})),f===p&&l.push(1),c=h||void 0===l[u]?1:l[u],l=l.slice(0,u)}else t.length>10&&/[0-9](?:\s|\/)/.test(t)&&(l=t.match(/([0-9]+)/g).map((function(t){return parseFloat(t)})),s=t.match(/([a-z])/gi).join("").toLowerCase());else if(isNaN(t))if(i(t)){var d=a(t.r,t.red,t.R,null);null!==d?(s="rgb",l=[d,a(t.g,t.green,t.G),a(t.b,t.blue,t.B)]):(s="hsl",l=[a(t.h,t.hue,t.H),a(t.s,t.saturation,t.S),a(t.l,t.lightness,t.L,t.b,t.brightness)]),c=a(t.a,t.alpha,t.opacity,1),null!=t.opacity&&(c/=100)}else(Array.isArray(t)||r.ArrayBuffer&&ArrayBuffer.isView&&ArrayBuffer.isView(t))&&(l=[t[0],t[1],t[2]],s="rgb",c=4===t.length?t[3]:1);else s="rgb",l=[t>>>16,(65280&t)>>>8,255&t];return{space:s,values:l,alpha:c}};var o={red:0,orange:60,yellow:120,green:180,blue:240,purple:300}}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"color-name":124,defined:170,"is-plain-obj":469}],127:[function(t,e,r){"use strict";var n=t("color-parse"),i=t("color-space/hsl"),a=t("clamp");e.exports=function(t){var e,r=n(t);return r.space?((e=Array(3))[0]=a(r.values[0],0,255),e[1]=a(r.values[1],0,255),e[2]=a(r.values[2],0,255),"h"===r.space[0]&&(e=i.rgb(e)),e.push(a(r.alpha,0,1)),e):[]}},{clamp:120,"color-parse":126,"color-space/hsl":128}],128:[function(t,e,r){"use strict";var n=t("./rgb");e.exports={name:"hsl",min:[0,0,0],max:[360,100,100],channel:["hue","saturation","lightness"],alias:["HSL"],rgb:function(t){var e,r,n,i,a,o=t[0]/360,s=t[1]/100,l=t[2]/100;if(0===s)return[a=255*l,a,a];e=2*l-(r=l<.5?l*(1+s):l+s-l*s),i=[0,0,0];for(var c=0;c<3;c++)(n=o+1/3*-(c-1))<0?n++:n>1&&n--,a=6*n<1?e+6*(r-e)*n:2*n<1?r:3*n<2?e+(r-e)*(2/3-n)*6:e,i[c]=255*a;return i}},n.hsl=function(t){var e,r,n=t[0]/255,i=t[1]/255,a=t[2]/255,o=Math.min(n,i,a),s=Math.max(n,i,a),l=s-o;return s===o?e=0:n===s?e=(i-a)/l:i===s?e=2+(a-n)/l:a===s&&(e=4+(n-i)/l),(e=Math.min(60*e,360))<0&&(e+=360),r=(o+s)/2,[e,100*(s===o?0:r<=.5?l/(s+o):l/(2-s-o)),100*r]}},{"./rgb":129}],129:[function(t,e,r){"use strict";e.exports={name:"rgb",min:[0,0,0],max:[255,255,255],channel:["red","green","blue"],alias:["RGB"]}},{}],130:[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:1,rgb:[255,255,255,1]}],viridis:[{index:0,rgb:[68,1,84]},{index:.13,rgb:[71,44,122]},{index:.25,rgb:[59,81,139]},{index:.38,rgb:[44,113,142]},{index:.5,rgb:[33,144,141]},{index:.63,rgb:[39,173,129]},{index:.75,rgb:[92,200,99]},{index:.88,rgb:[170,220,50]},{index:1,rgb:[253,231,37]}],inferno:[{index:0,rgb:[0,0,4]},{index:.13,rgb:[31,12,72]},{index:.25,rgb:[85,15,109]},{index:.38,rgb:[136,34,106]},{index:.5,rgb:[186,54,85]},{index:.63,rgb:[227,89,51]},{index:.75,rgb:[249,140,10]},{index:.88,rgb:[249,201,50]},{index:1,rgb:[252,255,164]}],magma:[{index:0,rgb:[0,0,4]},{index:.13,rgb:[28,16,68]},{index:.25,rgb:[79,18,123]},{index:.38,rgb:[129,37,129]},{index:.5,rgb:[181,54,122]},{index:.63,rgb:[229,80,100]},{index:.75,rgb:[251,135,97]},{index:.88,rgb:[254,194,135]},{index:1,rgb:[252,253,191]}],plasma:[{index:0,rgb:[13,8,135]},{index:.13,rgb:[75,3,161]},{index:.25,rgb:[125,3,168]},{index:.38,rgb:[168,34,150]},{index:.5,rgb:[203,70,121]},{index:.63,rgb:[229,107,93]},{index:.75,rgb:[248,148,65]},{index:.88,rgb:[253,195,40]},{index:1,rgb:[240,249,33]}],warm:[{index:0,rgb:[125,0,179]},{index:.13,rgb:[172,0,187]},{index:.25,rgb:[219,0,170]},{index:.38,rgb:[255,0,130]},{index:.5,rgb:[255,63,74]},{index:.63,rgb:[255,123,0]},{index:.75,rgb:[234,176,0]},{index:.88,rgb:[190,228,0]},{index:1,rgb:[147,255,0]}],cool:[{index:0,rgb:[125,0,179]},{index:.13,rgb:[116,0,218]},{index:.25,rgb:[98,74,237]},{index:.38,rgb:[68,146,231]},{index:.5,rgb:[0,204,197]},{index:.63,rgb:[0,247,146]},{index:.75,rgb:[0,255,88]},{index:.88,rgb:[40,255,8]},{index:1,rgb:[147,255,0]}],"rainbow-soft":[{index:0,rgb:[125,0,179]},{index:.1,rgb:[199,0,180]},{index:.2,rgb:[255,0,121]},{index:.3,rgb:[255,108,0]},{index:.4,rgb:[222,194,0]},{index:.5,rgb:[150,255,0]},{index:.6,rgb:[0,255,55]},{index:.7,rgb:[0,246,150]},{index:.8,rgb:[50,167,222]},{index:.9,rgb:[103,51,235]},{index:1,rgb:[124,0,186]}],bathymetry:[{index:0,rgb:[40,26,44]},{index:.13,rgb:[59,49,90]},{index:.25,rgb:[64,76,139]},{index:.38,rgb:[63,110,151]},{index:.5,rgb:[72,142,158]},{index:.63,rgb:[85,174,163]},{index:.75,rgb:[120,206,163]},{index:.88,rgb:[187,230,172]},{index:1,rgb:[253,254,204]}],cdom:[{index:0,rgb:[47,15,62]},{index:.13,rgb:[87,23,86]},{index:.25,rgb:[130,28,99]},{index:.38,rgb:[171,41,96]},{index:.5,rgb:[206,67,86]},{index:.63,rgb:[230,106,84]},{index:.75,rgb:[242,149,103]},{index:.88,rgb:[249,193,135]},{index:1,rgb:[254,237,176]}],chlorophyll:[{index:0,rgb:[18,36,20]},{index:.13,rgb:[25,63,41]},{index:.25,rgb:[24,91,59]},{index:.38,rgb:[13,119,72]},{index:.5,rgb:[18,148,80]},{index:.63,rgb:[80,173,89]},{index:.75,rgb:[132,196,122]},{index:.88,rgb:[175,221,162]},{index:1,rgb:[215,249,208]}],density:[{index:0,rgb:[54,14,36]},{index:.13,rgb:[89,23,80]},{index:.25,rgb:[110,45,132]},{index:.38,rgb:[120,77,178]},{index:.5,rgb:[120,113,213]},{index:.63,rgb:[115,151,228]},{index:.75,rgb:[134,185,227]},{index:.88,rgb:[177,214,227]},{index:1,rgb:[230,241,241]}],"freesurface-blue":[{index:0,rgb:[30,4,110]},{index:.13,rgb:[47,14,176]},{index:.25,rgb:[41,45,236]},{index:.38,rgb:[25,99,212]},{index:.5,rgb:[68,131,200]},{index:.63,rgb:[114,156,197]},{index:.75,rgb:[157,181,203]},{index:.88,rgb:[200,208,216]},{index:1,rgb:[241,237,236]}],"freesurface-red":[{index:0,rgb:[60,9,18]},{index:.13,rgb:[100,17,27]},{index:.25,rgb:[142,20,29]},{index:.38,rgb:[177,43,27]},{index:.5,rgb:[192,87,63]},{index:.63,rgb:[205,125,105]},{index:.75,rgb:[216,162,148]},{index:.88,rgb:[227,199,193]},{index:1,rgb:[241,237,236]}],oxygen:[{index:0,rgb:[64,5,5]},{index:.13,rgb:[106,6,15]},{index:.25,rgb:[144,26,7]},{index:.38,rgb:[168,64,3]},{index:.5,rgb:[188,100,4]},{index:.63,rgb:[206,136,11]},{index:.75,rgb:[220,174,25]},{index:.88,rgb:[231,215,44]},{index:1,rgb:[248,254,105]}],par:[{index:0,rgb:[51,20,24]},{index:.13,rgb:[90,32,35]},{index:.25,rgb:[129,44,34]},{index:.38,rgb:[159,68,25]},{index:.5,rgb:[182,99,19]},{index:.63,rgb:[199,134,22]},{index:.75,rgb:[212,171,35]},{index:.88,rgb:[221,210,54]},{index:1,rgb:[225,253,75]}],phase:[{index:0,rgb:[145,105,18]},{index:.13,rgb:[184,71,38]},{index:.25,rgb:[186,58,115]},{index:.38,rgb:[160,71,185]},{index:.5,rgb:[110,97,218]},{index:.63,rgb:[50,123,164]},{index:.75,rgb:[31,131,110]},{index:.88,rgb:[77,129,34]},{index:1,rgb:[145,105,18]}],salinity:[{index:0,rgb:[42,24,108]},{index:.13,rgb:[33,50,162]},{index:.25,rgb:[15,90,145]},{index:.38,rgb:[40,118,137]},{index:.5,rgb:[59,146,135]},{index:.63,rgb:[79,175,126]},{index:.75,rgb:[120,203,104]},{index:.88,rgb:[193,221,100]},{index:1,rgb:[253,239,154]}],temperature:[{index:0,rgb:[4,35,51]},{index:.13,rgb:[23,51,122]},{index:.25,rgb:[85,59,157]},{index:.38,rgb:[129,79,143]},{index:.5,rgb:[175,95,130]},{index:.63,rgb:[222,112,101]},{index:.75,rgb:[249,146,66]},{index:.88,rgb:[249,196,65]},{index:1,rgb:[232,250,91]}],turbidity:[{index:0,rgb:[34,31,27]},{index:.13,rgb:[65,50,41]},{index:.25,rgb:[98,69,52]},{index:.38,rgb:[131,89,57]},{index:.5,rgb:[161,112,59]},{index:.63,rgb:[185,140,66]},{index:.75,rgb:[202,174,88]},{index:.88,rgb:[216,209,126]},{index:1,rgb:[233,246,171]}],"velocity-blue":[{index:0,rgb:[17,32,64]},{index:.13,rgb:[35,52,116]},{index:.25,rgb:[29,81,156]},{index:.38,rgb:[31,113,162]},{index:.5,rgb:[50,144,169]},{index:.63,rgb:[87,173,176]},{index:.75,rgb:[149,196,189]},{index:.88,rgb:[203,221,211]},{index:1,rgb:[254,251,230]}],"velocity-green":[{index:0,rgb:[23,35,19]},{index:.13,rgb:[24,64,38]},{index:.25,rgb:[11,95,45]},{index:.38,rgb:[39,123,35]},{index:.5,rgb:[95,146,12]},{index:.63,rgb:[152,165,18]},{index:.75,rgb:[201,186,69]},{index:.88,rgb:[233,216,137]},{index:1,rgb:[255,253,205]}],cubehelix:[{index:0,rgb:[0,0,0]},{index:.07,rgb:[22,5,59]},{index:.13,rgb:[60,4,105]},{index:.2,rgb:[109,1,135]},{index:.27,rgb:[161,0,147]},{index:.33,rgb:[210,2,142]},{index:.4,rgb:[251,11,123]},{index:.47,rgb:[255,29,97]},{index:.53,rgb:[255,54,69]},{index:.6,rgb:[255,85,46]},{index:.67,rgb:[255,120,34]},{index:.73,rgb:[255,157,37]},{index:.8,rgb:[241,191,57]},{index:.87,rgb:[224,220,93]},{index:.93,rgb:[218,241,142]},{index:1,rgb:[227,253,198]}]}},{}],131:[function(t,e,r){"use strict";var n=t("./colorScale"),i=t("lerp");function a(t){return[t[0]/255,t[1]/255,t[2]/255,t[3]]}function o(t){for(var e,r="#",n=0;n<3;++n)r+=("00"+(e=(e=t[n]).toString(16))).substr(e.length);return r}function s(t){return"rgba("+t.join(",")+")"}e.exports=function(t){var e,r,l,c,u,f,h,p,d,g;t||(t={});p=(t.nshades||72)-1,h=t.format||"hex",(f=t.colormap)||(f="jet");if("string"==typeof f){if(f=f.toLowerCase(),!n[f])throw Error(f+" not a supported colorscale");u=n[f]}else{if(!Array.isArray(f))throw Error("unsupported colormap option",f);u=f.slice()}if(u.length>p+1)throw new Error(f+" map requires nshades to be at least size "+u.length);d=Array.isArray(t.alpha)?2!==t.alpha.length?[1,1]:t.alpha.slice():"number"==typeof t.alpha?[t.alpha,t.alpha]:[1,1];e=u.map((function(t){return Math.round(t.index*p)})),d[0]=Math.min(Math.max(d[0],0),1),d[1]=Math.min(Math.max(d[1],0),1);var m=u.map((function(t,e){var r=u[e].index,n=u[e].rgb.slice();return 4===n.length&&n[3]>=0&&n[3]<=1||(n[3]=d[0]+(d[1]-d[0])*r),n})),v=[];for(g=0;g<e.length-1;++g){c=e[g+1]-e[g],r=m[g],l=m[g+1];for(var y=0;y<c;y++){var x=y/c;v.push([Math.round(i(r[0],l[0],x)),Math.round(i(r[1],l[1],x)),Math.round(i(r[2],l[2],x)),i(r[3],l[3],x)])}}v.push(u[u.length-1].rgb.concat(d[1])),"hex"===h?v=v.map(o):"rgbaString"===h?v=v.map(s):"float"===h&&(v=v.map(a));return v}},{"./colorScale":130,lerp:472}],132:[function(t,e,r){"use strict";e.exports=function(t,e,r,a){var o=n(e,r,a);if(0===o){var s=i(n(t,e,r)),c=i(n(t,e,a));if(s===c){if(0===s){var u=l(t,e,r),f=l(t,e,a);return u===f?0:u?1:-1}return 0}return 0===c?s>0||l(t,e,a)?-1:1:0===s?c>0||l(t,e,r)?1:-1:i(c-s)}var h=n(t,e,r);return h>0?o>0&&n(t,e,a)>0?1:-1:h<0?o>0||n(t,e,a)>0?1:-1:n(t,e,a)>0||l(t,e,r)?1:-1};var n=t("robust-orientation"),i=t("signum"),a=t("two-sum"),o=t("robust-product"),s=t("robust-sum");function l(t,e,r){var n=a(t[0],-e[0]),i=a(t[1],-e[1]),l=a(r[0],-e[0]),c=a(r[1],-e[1]),u=s(o(n,l),o(i,c));return u[u.length-1]>=0}},{"robust-orientation":548,"robust-product":549,"robust-sum":553,signum:554,"two-sum":583}],133:[function(t,e,r){e.exports=function(t,e){var r=t.length,a=t.length-e.length;if(a)return a;switch(r){case 0:return 0;case 1:return t[0]-e[0];case 2:return t[0]+t[1]-e[0]-e[1]||n(t[0],t[1])-n(e[0],e[1]);case 3:var o=t[0]+t[1],s=e[0]+e[1];if(a=o+t[2]-(s+e[2]))return a;var l=n(t[0],t[1]),c=n(e[0],e[1]);return n(l,t[2])-n(c,e[2])||n(l+t[2],o)-n(c+e[2],s);case 4:var u=t[0],f=t[1],h=t[2],p=t[3],d=e[0],g=e[1],m=e[2],v=e[3];return u+f+h+p-(d+g+m+v)||n(u,f,h,p)-n(d,g,m,v,d)||n(u+f,u+h,u+p,f+h,f+p,h+p)-n(d+g,d+m,d+v,g+m,g+v,m+v)||n(u+f+h,u+f+p,u+h+p,f+h+p)-n(d+g+m,d+g+v,d+m+v,g+m+v);default:for(var y=t.slice().sort(i),x=e.slice().sort(i),b=0;b<r;++b)if(a=y[b]-x[b])return a;return 0}};var n=Math.min;function i(t,e){return t-e}},{}],134:[function(t,e,r){"use strict";var n=t("compare-cell"),i=t("cell-orientation");e.exports=function(t,e){return n(t,e)||i(t)-i(e)}},{"cell-orientation":117,"compare-cell":133}],135:[function(t,e,r){"use strict";var n=t("./lib/ch1d"),i=t("./lib/ch2d"),a=t("./lib/chnd");e.exports=function(t){var e=t.length;if(0===e)return[];if(1===e)return[[0]];var r=t[0].length;if(0===r)return[];if(1===r)return n(t);if(2===r)return i(t);return a(t,r)}},{"./lib/ch1d":136,"./lib/ch2d":137,"./lib/chnd":138}],136:[function(t,e,r){"use strict";e.exports=function(t){for(var e=0,r=0,n=1;n<t.length;++n)t[n][0]<t[e][0]&&(e=n),t[n][0]>t[r][0]&&(r=n);return e<r?[[e],[r]]:e>r?[[r],[e]]:[[e]]}},{}],137:[function(t,e,r){"use strict";e.exports=function(t){var e=n(t),r=e.length;if(r<=2)return[];for(var i=new Array(r),a=e[r-1],o=0;o<r;++o){var s=e[o];i[o]=[a,s],a=s}return i};var n=t("monotone-convex-hull-2d")},{"monotone-convex-hull-2d":482}],138:[function(t,e,r){"use strict";e.exports=function(t,e){try{return n(t,!0)}catch(o){var r=i(t);if(r.length<=e)return[];var a=function(t,e){for(var r=t.length,n=new Array(r),i=0;i<e.length;++i)n[i]=t[e[i]];var a=e.length;for(i=0;i<r;++i)e.indexOf(i)<0&&(n[a++]=t[i]);return n}(t,r);return function(t,e){for(var r=t.length,n=e.length,i=0;i<r;++i)for(var a=t[i],o=0;o<a.length;++o){var s=a[o];if(s<n)a[o]=e[s];else{s-=n;for(var l=0;l<n;++l)s>=e[l]&&(s+=1);a[o]=s}}return t}(n(a,!0),r)}};var n=t("incremental-convex-hull"),i=t("affine-hull")},{"affine-hull":67,"incremental-convex-hull":459}],139:[function(t,e,r){e.exports={AFG:"afghan",ALA:"\\b\\wland",ALB:"albania",DZA:"algeria",ASM:"^(?=.*americ).*samoa",AND:"andorra",AGO:"angola",AIA:"anguill?a",ATA:"antarctica",ATG:"antigua",ARG:"argentin",ARM:"armenia",ABW:"^(?!.*bonaire).*\\baruba",AUS:"australia",AUT:"^(?!.*hungary).*austria|\\baustri.*\\bemp",AZE:"azerbaijan",BHS:"bahamas",BHR:"bahrain",BGD:"bangladesh|^(?=.*east).*paki?stan",BRB:"barbados",BLR:"belarus|byelo",BEL:"^(?!.*luxem).*belgium",BLZ:"belize|^(?=.*british).*honduras",BEN:"benin|dahome",BMU:"bermuda",BTN:"bhutan",BOL:"bolivia",BES:"^(?=.*bonaire).*eustatius|^(?=.*carib).*netherlands|\\bbes.?islands",BIH:"herzegovina|bosnia",BWA:"botswana|bechuana",BVT:"bouvet",BRA:"brazil",IOT:"british.?indian.?ocean",BRN:"brunei",BGR:"bulgaria",BFA:"burkina|\\bfaso|upper.?volta",BDI:"burundi",CPV:"verde",KHM:"cambodia|kampuchea|khmer",CMR:"cameroon",CAN:"canada",CYM:"cayman",CAF:"\\bcentral.african.republic",TCD:"\\bchad",CHL:"\\bchile",CHN:"^(?!.*\\bmac)(?!.*\\bhong)(?!.*\\btai)(?!.*\\brep).*china|^(?=.*peo)(?=.*rep).*china",CXR:"christmas",CCK:"\\bcocos|keeling",COL:"colombia",COM:"comoro",COG:"^(?!.*\\bdem)(?!.*\\bd[\\.]?r)(?!.*kinshasa)(?!.*zaire)(?!.*belg)(?!.*l.opoldville)(?!.*free).*\\bcongo",COK:"\\bcook",CRI:"costa.?rica",CIV:"ivoire|ivory",HRV:"croatia",CUB:"\\bcuba",CUW:"^(?!.*bonaire).*\\bcura(c|\xe7)ao",CYP:"cyprus",CSK:"czechoslovakia",CZE:"^(?=.*rep).*czech|czechia|bohemia",COD:"\\bdem.*congo|congo.*\\bdem|congo.*\\bd[\\.]?r|\\bd[\\.]?r.*congo|belgian.?congo|congo.?free.?state|kinshasa|zaire|l.opoldville|drc|droc|rdc",DNK:"denmark",DJI:"djibouti",DMA:"dominica(?!n)",DOM:"dominican.rep",ECU:"ecuador",EGY:"egypt",SLV:"el.?salvador",GNQ:"guine.*eq|eq.*guine|^(?=.*span).*guinea",ERI:"eritrea",EST:"estonia",ETH:"ethiopia|abyssinia",FLK:"falkland|malvinas",FRO:"faroe|faeroe",FJI:"fiji",FIN:"finland",FRA:"^(?!.*\\bdep)(?!.*martinique).*france|french.?republic|\\bgaul",GUF:"^(?=.*french).*guiana",PYF:"french.?polynesia|tahiti",ATF:"french.?southern",GAB:"gabon",GMB:"gambia",GEO:"^(?!.*south).*georgia",DDR:"german.?democratic.?republic|democratic.?republic.*germany|east.germany",DEU:"^(?!.*east).*germany|^(?=.*\\bfed.*\\brep).*german",GHA:"ghana|gold.?coast",GIB:"gibraltar",GRC:"greece|hellenic|hellas",GRL:"greenland",GRD:"grenada",GLP:"guadeloupe",GUM:"\\bguam",GTM:"guatemala",GGY:"guernsey",GIN:"^(?!.*eq)(?!.*span)(?!.*bissau)(?!.*portu)(?!.*new).*guinea",GNB:"bissau|^(?=.*portu).*guinea",GUY:"guyana|british.?guiana",HTI:"haiti",HMD:"heard.*mcdonald",VAT:"holy.?see|vatican|papal.?st",HND:"^(?!.*brit).*honduras",HKG:"hong.?kong",HUN:"^(?!.*austr).*hungary",ISL:"iceland",IND:"india(?!.*ocea)",IDN:"indonesia",IRN:"\\biran|persia",IRQ:"\\biraq|mesopotamia",IRL:"(^ireland)|(^republic.*ireland)",IMN:"^(?=.*isle).*\\bman",ISR:"israel",ITA:"italy",JAM:"jamaica",JPN:"japan",JEY:"jersey",JOR:"jordan",KAZ:"kazak",KEN:"kenya|british.?east.?africa|east.?africa.?prot",KIR:"kiribati",PRK:"^(?=.*democrat|people|north|d.*p.*.r).*\\bkorea|dprk|korea.*(d.*p.*r)",KWT:"kuwait",KGZ:"kyrgyz|kirghiz",LAO:"\\blaos?\\b",LVA:"latvia",LBN:"lebanon",LSO:"lesotho|basuto",LBR:"liberia",LBY:"libya",LIE:"liechtenstein",LTU:"lithuania",LUX:"^(?!.*belg).*luxem",MAC:"maca(o|u)",MDG:"madagascar|malagasy",MWI:"malawi|nyasa",MYS:"malaysia",MDV:"maldive",MLI:"\\bmali\\b",MLT:"\\bmalta",MHL:"marshall",MTQ:"martinique",MRT:"mauritania",MUS:"mauritius",MYT:"\\bmayotte",MEX:"\\bmexic",FSM:"fed.*micronesia|micronesia.*fed",MCO:"monaco",MNG:"mongolia",MNE:"^(?!.*serbia).*montenegro",MSR:"montserrat",MAR:"morocco|\\bmaroc",MOZ:"mozambique",MMR:"myanmar|burma",NAM:"namibia",NRU:"nauru",NPL:"nepal",NLD:"^(?!.*\\bant)(?!.*\\bcarib).*netherlands",ANT:"^(?=.*\\bant).*(nether|dutch)",NCL:"new.?caledonia",NZL:"new.?zealand",NIC:"nicaragua",NER:"\\bniger(?!ia)",NGA:"nigeria",NIU:"niue",NFK:"norfolk",MNP:"mariana",NOR:"norway",OMN:"\\boman|trucial",PAK:"^(?!.*east).*paki?stan",PLW:"palau",PSE:"palestin|\\bgaza|west.?bank",PAN:"panama",PNG:"papua|new.?guinea",PRY:"paraguay",PER:"peru",PHL:"philippines",PCN:"pitcairn",POL:"poland",PRT:"portugal",PRI:"puerto.?rico",QAT:"qatar",KOR:"^(?!.*d.*p.*r)(?!.*democrat)(?!.*people)(?!.*north).*\\bkorea(?!.*d.*p.*r)",MDA:"moldov|b(a|e)ssarabia",REU:"r(e|\xe9)union",ROU:"r(o|u|ou)mania",RUS:"\\brussia|soviet.?union|u\\.?s\\.?s\\.?r|socialist.?republics",RWA:"rwanda",BLM:"barth(e|\xe9)lemy",SHN:"helena",KNA:"kitts|\\bnevis",LCA:"\\blucia",MAF:"^(?=.*collectivity).*martin|^(?=.*france).*martin(?!ique)|^(?=.*french).*martin(?!ique)",SPM:"miquelon",VCT:"vincent",WSM:"^(?!.*amer).*samoa",SMR:"san.?marino",STP:"\\bs(a|\xe3)o.?tom(e|\xe9)",SAU:"\\bsa\\w*.?arabia",SEN:"senegal",SRB:"^(?!.*monte).*serbia",SYC:"seychell",SLE:"sierra",SGP:"singapore",SXM:"^(?!.*martin)(?!.*saba).*maarten",SVK:"^(?!.*cze).*slovak",SVN:"slovenia",SLB:"solomon",SOM:"somali",ZAF:"south.africa|s\\\\..?africa",SGS:"south.?georgia|sandwich",SSD:"\\bs\\w*.?sudan",ESP:"spain",LKA:"sri.?lanka|ceylon",SDN:"^(?!.*\\bs(?!u)).*sudan",SUR:"surinam|dutch.?guiana",SJM:"svalbard",SWZ:"swaziland",SWE:"sweden",CHE:"switz|swiss",SYR:"syria",TWN:"taiwan|taipei|formosa|^(?!.*peo)(?=.*rep).*china",TJK:"tajik",THA:"thailand|\\bsiam",MKD:"macedonia|fyrom",TLS:"^(?=.*leste).*timor|^(?=.*east).*timor",TGO:"togo",TKL:"tokelau",TON:"tonga",TTO:"trinidad|tobago",TUN:"tunisia",TUR:"turkey",TKM:"turkmen",TCA:"turks",TUV:"tuvalu",UGA:"uganda",UKR:"ukrain",ARE:"emirates|^u\\.?a\\.?e\\.?$|united.?arab.?em",GBR:"united.?kingdom|britain|^u\\.?k\\.?$",TZA:"tanzania",USA:"united.?states\\b(?!.*islands)|\\bu\\.?s\\.?a\\.?\\b|^\\s*u\\.?s\\.?\\b(?!.*islands)",UMI:"minor.?outlying.?is",URY:"uruguay",UZB:"uzbek",VUT:"vanuatu|new.?hebrides",VEN:"venezuela",VNM:"^(?!.*republic).*viet.?nam|^(?=.*socialist).*viet.?nam",VGB:"^(?=.*\\bu\\.?\\s?k).*virgin|^(?=.*brit).*virgin|^(?=.*kingdom).*virgin",VIR:"^(?=.*\\bu\\.?\\s?s).*virgin|^(?=.*states).*virgin",WLF:"futuna|wallis",ESH:"western.sahara",YEM:"^(?!.*arab)(?!.*north)(?!.*sana)(?!.*peo)(?!.*dem)(?!.*south)(?!.*aden)(?!.*\\bp\\.?d\\.?r).*yemen",YMD:"^(?=.*peo).*yemen|^(?!.*rep)(?=.*dem).*yemen|^(?=.*south).*yemen|^(?=.*aden).*yemen|^(?=.*\\bp\\.?d\\.?r).*yemen",YUG:"yugoslavia",ZMB:"zambia|northern.?rhodesia",EAZ:"zanzibar",ZWE:"zimbabwe|^(?!.*northern).*rhodesia"}},{}],140:[function(t,e,r){e.exports=["xx-small","x-small","small","medium","large","x-large","xx-large","larger","smaller"]},{}],141:[function(t,e,r){e.exports=["normal","condensed","semi-condensed","extra-condensed","ultra-condensed","expanded","semi-expanded","extra-expanded","ultra-expanded"]},{}],142:[function(t,e,r){e.exports=["normal","italic","oblique"]},{}],143:[function(t,e,r){e.exports=["normal","bold","bolder","lighter","100","200","300","400","500","600","700","800","900"]},{}],144:[function(t,e,r){"use strict";e.exports={parse:t("./parse"),stringify:t("./stringify")}},{"./parse":146,"./stringify":147}],145:[function(t,e,r){"use strict";var n=t("css-font-size-keywords");e.exports={isSize:function(t){return/^[\d\.]/.test(t)||-1!==t.indexOf("/")||-1!==n.indexOf(t)}}},{"css-font-size-keywords":140}],146:[function(t,e,r){"use strict";var n=t("unquote"),i=t("css-global-keywords"),a=t("css-system-font-keywords"),o=t("css-font-weight-keywords"),s=t("css-font-style-keywords"),l=t("css-font-stretch-keywords"),c=t("string-split-by"),u=t("./lib/util").isSize;e.exports=h;var f=h.cache={};function h(t){if("string"!=typeof t)throw new Error("Font argument must be a string.");if(f[t])return f[t];if(""===t)throw new Error("Cannot parse an empty string.");if(-1!==a.indexOf(t))return f[t]={system:t};for(var e,r={style:"normal",variant:"normal",weight:"normal",stretch:"normal",lineHeight:"normal",size:"1rem",family:["serif"]},h=c(t,/\s+/);e=h.shift();){if(-1!==i.indexOf(e))return["style","variant","weight","stretch"].forEach((function(t){r[t]=e})),f[t]=r;if(-1===s.indexOf(e))if("normal"!==e&&"small-caps"!==e)if(-1===l.indexOf(e)){if(-1===o.indexOf(e)){if(u(e)){var d=c(e,"/");if(r.size=d[0],null!=d[1]?r.lineHeight=p(d[1]):"/"===h[0]&&(h.shift(),r.lineHeight=p(h.shift())),!h.length)throw new Error("Missing required font-family.");return r.family=c(h.join(" "),/\s*,\s*/).map(n),f[t]=r}throw new Error("Unknown or unsupported font token: "+e)}r.weight=e}else r.stretch=e;else r.variant=e;else r.style=e}throw new Error("Missing required font-size.")}function p(t){var e=parseFloat(t);return e.toString()===t?e:t}},{"./lib/util":145,"css-font-stretch-keywords":141,"css-font-style-keywords":142,"css-font-weight-keywords":143,"css-global-keywords":148,"css-system-font-keywords":149,"string-split-by":568,unquote:598}],147:[function(t,e,r){"use strict";var n=t("pick-by-alias"),i=t("./lib/util").isSize,a=g(t("css-global-keywords")),o=g(t("css-system-font-keywords")),s=g(t("css-font-weight-keywords")),l=g(t("css-font-style-keywords")),c=g(t("css-font-stretch-keywords")),u={normal:1,"small-caps":1},f={serif:1,"sans-serif":1,monospace:1,cursive:1,fantasy:1,"system-ui":1},h="1rem",p="serif";function d(t,e){if(t&&!e[t]&&!a[t])throw Error("Unknown keyword `"+t+"`");return t}function g(t){for(var e={},r=0;r<t.length;r++)e[t[r]]=1;return e}e.exports=function(t){if((t=n(t,{style:"style fontstyle fontStyle font-style slope distinction",variant:"variant font-variant fontVariant fontvariant var capitalization",weight:"weight w font-weight fontWeight fontweight",stretch:"stretch font-stretch fontStretch fontstretch width",size:"size s font-size fontSize fontsize height em emSize",lineHeight:"lh line-height lineHeight lineheight leading",family:"font family fontFamily font-family fontfamily type typeface face",system:"system reserved default global"})).system)return t.system&&d(t.system,o),t.system;if(d(t.style,l),d(t.variant,u),d(t.weight,s),d(t.stretch,c),null==t.size&&(t.size=h),"number"==typeof t.size&&(t.size+="px"),!i)throw Error("Bad size value `"+t.size+"`");t.family||(t.family=p),Array.isArray(t.family)&&(t.family.length||(t.family=[p]),t.family=t.family.map((function(t){return f[t]?t:'"'+t+'"'})).join(", "));var e=[];return e.push(t.style),t.variant!==t.style&&e.push(t.variant),t.weight!==t.variant&&t.weight!==t.style&&e.push(t.weight),t.stretch!==t.weight&&t.stretch!==t.variant&&t.stretch!==t.style&&e.push(t.stretch),e.push(t.size+(null==t.lineHeight||"normal"===t.lineHeight||t.lineHeight+""=="1"?"":"/"+t.lineHeight)),e.push(t.family),e.filter(Boolean).join(" ")}},{"./lib/util":145,"css-font-stretch-keywords":141,"css-font-style-keywords":142,"css-font-weight-keywords":143,"css-global-keywords":148,"css-system-font-keywords":149,"pick-by-alias":511}],148:[function(t,e,r){e.exports=["inherit","initial","unset"]},{}],149:[function(t,e,r){e.exports=["caption","icon","menu","message-box","small-caption","status-bar"]},{}],150:[function(t,e,r){"use strict";e.exports=function(t,e,r,n,i,a){var o=i-1,s=i*i,l=o*o,c=(1+2*i)*l,u=i*l,f=s*(3-2*i),h=s*o;if(t.length){a||(a=new Array(t.length));for(var p=t.length-1;p>=0;--p)a[p]=c*t[p]+u*e[p]+f*r[p]+h*n[p];return a}return c*t+u*e+f*r+h*n},e.exports.derivative=function(t,e,r,n,i,a){var o=6*i*i-6*i,s=3*i*i-4*i+1,l=-6*i*i+6*i,c=3*i*i-2*i;if(t.length){a||(a=new Array(t.length));for(var u=t.length-1;u>=0;--u)a[u]=o*t[u]+s*e[u]+l*r[u]+c*n[u];return a}return o*t+s*e+l*r[u]+c*n}},{}],151:[function(t,e,r){"use strict";var n=t("./lib/thunk.js");function i(){this.argTypes=[],this.shimArgs=[],this.arrayArgs=[],this.arrayBlockIndices=[],this.scalarArgs=[],this.offsetArgs=[],this.offsetArgIndex=[],this.indexArgs=[],this.shapeArgs=[],this.funcName="",this.pre=null,this.body=null,this.post=null,this.debug=!1}e.exports=function(t){var e=new i;e.pre=t.pre,e.body=t.body,e.post=t.post;var r=t.args.slice(0);e.argTypes=r;for(var a=0;a<r.length;++a){var o=r[a];if("array"===o||"object"==typeof o&&o.blockIndices){if(e.argTypes[a]="array",e.arrayArgs.push(a),e.arrayBlockIndices.push(o.blockIndices?o.blockIndices:0),e.shimArgs.push("array"+a),a<e.pre.args.length&&e.pre.args[a].count>0)throw new Error("cwise: pre() block may not reference array args");if(a<e.post.args.length&&e.post.args[a].count>0)throw new Error("cwise: post() block may not reference array args")}else if("scalar"===o)e.scalarArgs.push(a),e.shimArgs.push("scalar"+a);else if("index"===o){if(e.indexArgs.push(a),a<e.pre.args.length&&e.pre.args[a].count>0)throw new Error("cwise: pre() block may not reference array index");if(a<e.body.args.length&&e.body.args[a].lvalue)throw new Error("cwise: body() block may not write to array index");if(a<e.post.args.length&&e.post.args[a].count>0)throw new Error("cwise: post() block may not reference array index")}else if("shape"===o){if(e.shapeArgs.push(a),a<e.pre.args.length&&e.pre.args[a].lvalue)throw new Error("cwise: pre() block may not write to array shape");if(a<e.body.args.length&&e.body.args[a].lvalue)throw new Error("cwise: body() block may not write to array shape");if(a<e.post.args.length&&e.post.args[a].lvalue)throw new Error("cwise: post() block may not write to array shape")}else{if("object"!=typeof o||!o.offset)throw new Error("cwise: Unknown argument type "+r[a]);e.argTypes[a]="offset",e.offsetArgs.push({array:o.array,offset:o.offset}),e.offsetArgIndex.push(a)}}if(e.arrayArgs.length<=0)throw new Error("cwise: No array arguments specified");if(e.pre.args.length>r.length)throw new Error("cwise: Too many arguments in pre() block");if(e.body.args.length>r.length)throw new Error("cwise: Too many arguments in body() block");if(e.post.args.length>r.length)throw new Error("cwise: Too many arguments in post() block");return e.debug=!!t.printCode||!!t.debug,e.funcName=t.funcName||"cwise",e.blockSize=t.blockSize||64,n(e)}},{"./lib/thunk.js":153}],152:[function(t,e,r){"use strict";var n=t("uniq");function i(t,e,r){var n,i,a=t.length,o=e.arrayArgs.length,s=e.indexArgs.length>0,l=[],c=[],u=0,f=0;for(n=0;n<a;++n)c.push(["i",n,"=0"].join(""));for(i=0;i<o;++i)for(n=0;n<a;++n)f=u,u=t[n],0===n?c.push(["d",i,"s",n,"=t",i,"p",u].join("")):c.push(["d",i,"s",n,"=(t",i,"p",u,"-s",f,"*t",i,"p",f,")"].join(""));for(c.length>0&&l.push("var "+c.join(",")),n=a-1;n>=0;--n)u=t[n],l.push(["for(i",n,"=0;i",n,"<s",u,";++i",n,"){"].join(""));for(l.push(r),n=0;n<a;++n){for(f=u,u=t[n],i=0;i<o;++i)l.push(["p",i,"+=d",i,"s",n].join(""));s&&(n>0&&l.push(["index[",f,"]-=s",f].join("")),l.push(["++index[",u,"]"].join(""))),l.push("}")}return l.join("\n")}function a(t,e,r){for(var n=t.body,i=[],a=[],o=0;o<t.args.length;++o){var s=t.args[o];if(!(s.count<=0)){var l=new RegExp(s.name,"g"),c="",u=e.arrayArgs.indexOf(o);switch(e.argTypes[o]){case"offset":var f=e.offsetArgIndex.indexOf(o);u=e.offsetArgs[f].array,c="+q"+f;case"array":c="p"+u+c;var h="l"+o,p="a"+u;if(0===e.arrayBlockIndices[u])1===s.count?"generic"===r[u]?s.lvalue?(i.push(["var ",h,"=",p,".get(",c,")"].join("")),n=n.replace(l,h),a.push([p,".set(",c,",",h,")"].join(""))):n=n.replace(l,[p,".get(",c,")"].join("")):n=n.replace(l,[p,"[",c,"]"].join("")):"generic"===r[u]?(i.push(["var ",h,"=",p,".get(",c,")"].join("")),n=n.replace(l,h),s.lvalue&&a.push([p,".set(",c,",",h,")"].join(""))):(i.push(["var ",h,"=",p,"[",c,"]"].join("")),n=n.replace(l,h),s.lvalue&&a.push([p,"[",c,"]=",h].join("")));else{for(var d=[s.name],g=[c],m=0;m<Math.abs(e.arrayBlockIndices[u]);m++)d.push("\\s*\\[([^\\]]+)\\]"),g.push("$"+(m+1)+"*t"+u+"b"+m);if(l=new RegExp(d.join(""),"g"),c=g.join("+"),"generic"===r[u])throw new Error("cwise: Generic arrays not supported in combination with blocks!");n=n.replace(l,[p,"[",c,"]"].join(""))}break;case"scalar":n=n.replace(l,"Y"+e.scalarArgs.indexOf(o));break;case"index":n=n.replace(l,"index");break;case"shape":n=n.replace(l,"shape")}}}return[i.join("\n"),n,a.join("\n")].join("\n").trim()}function o(t){for(var e=new Array(t.length),r=!0,n=0;n<t.length;++n){var i=t[n],a=i.match(/\d+/);a=a?a[0]:"",0===i.charAt(0)?e[n]="u"+i.charAt(1)+a:e[n]=i.charAt(0)+a,n>0&&(r=r&&e[n]===e[n-1])}return r?e[0]:e.join("")}e.exports=function(t,e){for(var r=e[1].length-Math.abs(t.arrayBlockIndices[0])|0,s=new Array(t.arrayArgs.length),l=new Array(t.arrayArgs.length),c=0;c<t.arrayArgs.length;++c)l[c]=e[2*c],s[c]=e[2*c+1];var u=[],f=[],h=[],p=[],d=[];for(c=0;c<t.arrayArgs.length;++c){t.arrayBlockIndices[c]<0?(h.push(0),p.push(r),u.push(r),f.push(r+t.arrayBlockIndices[c])):(h.push(t.arrayBlockIndices[c]),p.push(t.arrayBlockIndices[c]+r),u.push(0),f.push(t.arrayBlockIndices[c]));for(var g=[],m=0;m<s[c].length;m++)h[c]<=s[c][m]&&s[c][m]<p[c]&&g.push(s[c][m]-h[c]);d.push(g)}var v=["SS"],y=["'use strict'"],x=[];for(m=0;m<r;++m)x.push(["s",m,"=SS[",m,"]"].join(""));for(c=0;c<t.arrayArgs.length;++c){v.push("a"+c),v.push("t"+c),v.push("p"+c);for(m=0;m<r;++m)x.push(["t",c,"p",m,"=t",c,"[",h[c]+m,"]"].join(""));for(m=0;m<Math.abs(t.arrayBlockIndices[c]);++m)x.push(["t",c,"b",m,"=t",c,"[",u[c]+m,"]"].join(""))}for(c=0;c<t.scalarArgs.length;++c)v.push("Y"+c);if(t.shapeArgs.length>0&&x.push("shape=SS.slice(0)"),t.indexArgs.length>0){var b=new Array(r);for(c=0;c<r;++c)b[c]="0";x.push(["index=[",b.join(","),"]"].join(""))}for(c=0;c<t.offsetArgs.length;++c){var _=t.offsetArgs[c],w=[];for(m=0;m<_.offset.length;++m)0!==_.offset[m]&&(1===_.offset[m]?w.push(["t",_.array,"p",m].join("")):w.push([_.offset[m],"*t",_.array,"p",m].join("")));0===w.length?x.push("q"+c+"=0"):x.push(["q",c,"=",w.join("+")].join(""))}var T=n([].concat(t.pre.thisVars).concat(t.body.thisVars).concat(t.post.thisVars));for((x=x.concat(T)).length>0&&y.push("var "+x.join(",")),c=0;c<t.arrayArgs.length;++c)y.push("p"+c+"|=0");t.pre.body.length>3&&y.push(a(t.pre,t,l));var k=a(t.body,t,l),M=function(t){for(var e=0,r=t[0].length;e<r;){for(var n=1;n<t.length;++n)if(t[n][e]!==t[0][e])return e;++e}return e}(d);M<r?y.push(function(t,e,r,n){for(var a=e.length,o=r.arrayArgs.length,s=r.blockSize,l=r.indexArgs.length>0,c=[],u=0;u<o;++u)c.push(["var offset",u,"=p",u].join(""));for(u=t;u<a;++u)c.push(["for(var j"+u+"=SS[",e[u],"]|0;j",u,">0;){"].join("")),c.push(["if(j",u,"<",s,"){"].join("")),c.push(["s",e[u],"=j",u].join("")),c.push(["j",u,"=0"].join("")),c.push(["}else{s",e[u],"=",s].join("")),c.push(["j",u,"-=",s,"}"].join("")),l&&c.push(["index[",e[u],"]=j",u].join(""));for(u=0;u<o;++u){for(var f=["offset"+u],h=t;h<a;++h)f.push(["j",h,"*t",u,"p",e[h]].join(""));c.push(["p",u,"=(",f.join("+"),")"].join(""))}for(c.push(i(e,r,n)),u=t;u<a;++u)c.push("}");return c.join("\n")}(M,d[0],t,k)):y.push(i(d[0],t,k)),t.post.body.length>3&&y.push(a(t.post,t,l)),t.debug&&console.log("-----Generated cwise routine for ",e,":\n"+y.join("\n")+"\n----------");var A=[t.funcName||"unnamed","_cwise_loop_",s[0].join("s"),"m",M,o(l)].join("");return new Function(["function ",A,"(",v.join(","),"){",y.join("\n"),"} return ",A].join(""))()}},{uniq:597}],153:[function(t,e,r){"use strict";var n=t("./compile.js");e.exports=function(t){var e=["'use strict'","var CACHED={}"],r=[],i=t.funcName+"_cwise_thunk";e.push(["return function ",i,"(",t.shimArgs.join(","),"){"].join(""));for(var a=[],o=[],s=[["array",t.arrayArgs[0],".shape.slice(",Math.max(0,t.arrayBlockIndices[0]),t.arrayBlockIndices[0]<0?","+t.arrayBlockIndices[0]+")":")"].join("")],l=[],c=[],u=0;u<t.arrayArgs.length;++u){var f=t.arrayArgs[u];r.push(["t",f,"=array",f,".dtype,","r",f,"=array",f,".order"].join("")),a.push("t"+f),a.push("r"+f),o.push("t"+f),o.push("r"+f+".join()"),s.push("array"+f+".data"),s.push("array"+f+".stride"),s.push("array"+f+".offset|0"),u>0&&(l.push("array"+t.arrayArgs[0]+".shape.length===array"+f+".shape.length+"+(Math.abs(t.arrayBlockIndices[0])-Math.abs(t.arrayBlockIndices[u]))),c.push("array"+t.arrayArgs[0]+".shape[shapeIndex+"+Math.max(0,t.arrayBlockIndices[0])+"]===array"+f+".shape[shapeIndex+"+Math.max(0,t.arrayBlockIndices[u])+"]"))}for(t.arrayArgs.length>1&&(e.push("if (!("+l.join(" && ")+")) throw new Error('cwise: Arrays do not all have the same dimensionality!')"),e.push("for(var shapeIndex=array"+t.arrayArgs[0]+".shape.length-"+Math.abs(t.arrayBlockIndices[0])+"; shapeIndex--\x3e0;) {"),e.push("if (!("+c.join(" && ")+")) throw new Error('cwise: Arrays do not all have the same shape!')"),e.push("}")),u=0;u<t.scalarArgs.length;++u)s.push("scalar"+t.scalarArgs[u]);return r.push(["type=[",o.join(","),"].join()"].join("")),r.push("proc=CACHED[type]"),e.push("var "+r.join(",")),e.push(["if(!proc){","CACHED[type]=proc=compile([",a.join(","),"])}","return proc(",s.join(","),")}"].join("")),t.debug&&console.log("-----Generated thunk:\n"+e.join("\n")+"\n----------"),new Function("compile",e.join("\n"))(n.bind(void 0,t))}},{"./compile.js":152}],154:[function(t,e,r){"use strict";var n,i=t("type/value/is"),a=t("type/value/ensure"),o=t("type/plain-function/ensure"),s=t("es5-ext/object/copy"),l=t("es5-ext/object/normalize-options"),c=t("es5-ext/object/map"),u=Function.prototype.bind,f=Object.defineProperty,h=Object.prototype.hasOwnProperty;n=function(t,e,r){var n,i=a(e)&&o(e.value);return delete(n=s(e)).writable,delete n.value,n.get=function(){return!r.overwriteDefinition&&h.call(this,t)?i:(e.value=u.call(i,r.resolveContext?r.resolveContext(this):this),f(this,t,e),this[t])},n},e.exports=function(t){var e=l(arguments[1]);return i(e.resolveContext)&&o(e.resolveContext),c(t,(function(t,r){return n(r,t,e)}))}},{"es5-ext/object/copy":196,"es5-ext/object/map":204,"es5-ext/object/normalize-options":205,"type/plain-function/ensure":589,"type/value/ensure":593,"type/value/is":594}],155:[function(t,e,r){"use strict";var n=t("type/value/is"),i=t("type/plain-function/is"),a=t("es5-ext/object/assign"),o=t("es5-ext/object/normalize-options"),s=t("es5-ext/string/#/contains");(e.exports=function(t,e){var r,i,l,c,u;return arguments.length<2||"string"!=typeof t?(c=e,e=t,t=null):c=arguments[2],n(t)?(r=s.call(t,"c"),i=s.call(t,"e"),l=s.call(t,"w")):(r=l=!0,i=!1),u={value:e,configurable:r,enumerable:i,writable:l},c?a(o(c),u):u}).gs=function(t,e,r){var l,c,u,f;return"string"!=typeof t?(u=r,r=e,e=t,t=null):u=arguments[3],n(e)?i(e)?n(r)?i(r)||(u=r,r=void 0):r=void 0:(u=e,e=r=void 0):e=void 0,n(t)?(l=s.call(t,"c"),c=s.call(t,"e")):(l=!0,c=!1),f={get:e,set:r,configurable:l,enumerable:c},u?a(o(u),f):f}},{"es5-ext/object/assign":193,"es5-ext/object/normalize-options":205,"es5-ext/string/#/contains":212,"type/plain-function/is":590,"type/value/is":594}],156:[function(t,e,r){!function(t,n){n("object"==typeof r&&"undefined"!=typeof e?r:t.d3=t.d3||{})}(this,(function(t){"use strict";function e(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}function r(t){var r;return 1===t.length&&(r=t,t=function(t,n){return e(r(t),n)}),{left:function(e,r,n,i){for(null==n&&(n=0),null==i&&(i=e.length);n<i;){var a=n+i>>>1;t(e[a],r)<0?n=a+1:i=a}return n},right:function(e,r,n,i){for(null==n&&(n=0),null==i&&(i=e.length);n<i;){var a=n+i>>>1;t(e[a],r)>0?i=a:n=a+1}return n}}}var n=r(e),i=n.right,a=n.left;function o(t,e){return[t,e]}function s(t){return null===t?NaN:+t}function l(t,e){var r,n,i=t.length,a=0,o=-1,l=0,c=0;if(null==e)for(;++o<i;)isNaN(r=s(t[o]))||(c+=(n=r-l)*(r-(l+=n/++a)));else for(;++o<i;)isNaN(r=s(e(t[o],o,t)))||(c+=(n=r-l)*(r-(l+=n/++a)));if(a>1)return c/(a-1)}function c(t,e){var r=l(t,e);return r?Math.sqrt(r):r}function u(t,e){var r,n,i,a=t.length,o=-1;if(null==e){for(;++o<a;)if(null!=(r=t[o])&&r>=r)for(n=i=r;++o<a;)null!=(r=t[o])&&(n>r&&(n=r),i<r&&(i=r))}else for(;++o<a;)if(null!=(r=e(t[o],o,t))&&r>=r)for(n=i=r;++o<a;)null!=(r=e(t[o],o,t))&&(n>r&&(n=r),i<r&&(i=r));return[n,i]}var f=Array.prototype,h=f.slice,p=f.map;function d(t){return function(){return t}}function g(t){return t}function m(t,e,r){t=+t,e=+e,r=(i=arguments.length)<2?(e=t,t=0,1):i<3?1:+r;for(var n=-1,i=0|Math.max(0,Math.ceil((e-t)/r)),a=new Array(i);++n<i;)a[n]=t+n*r;return a}var v=Math.sqrt(50),y=Math.sqrt(10),x=Math.sqrt(2);function b(t,e,r){var n=(e-t)/Math.max(0,r),i=Math.floor(Math.log(n)/Math.LN10),a=n/Math.pow(10,i);return i>=0?(a>=v?10:a>=y?5:a>=x?2:1)*Math.pow(10,i):-Math.pow(10,-i)/(a>=v?10:a>=y?5:a>=x?2:1)}function _(t,e,r){var n=Math.abs(e-t)/Math.max(0,r),i=Math.pow(10,Math.floor(Math.log(n)/Math.LN10)),a=n/i;return a>=v?i*=10:a>=y?i*=5:a>=x&&(i*=2),e<t?-i:i}function w(t){return Math.ceil(Math.log(t.length)/Math.LN2)+1}function T(t,e,r){if(null==r&&(r=s),n=t.length){if((e=+e)<=0||n<2)return+r(t[0],0,t);if(e>=1)return+r(t[n-1],n-1,t);var n,i=(n-1)*e,a=Math.floor(i),o=+r(t[a],a,t);return o+(+r(t[a+1],a+1,t)-o)*(i-a)}}function k(t,e){var r,n,i=t.length,a=-1;if(null==e){for(;++a<i;)if(null!=(r=t[a])&&r>=r)for(n=r;++a<i;)null!=(r=t[a])&&n>r&&(n=r)}else for(;++a<i;)if(null!=(r=e(t[a],a,t))&&r>=r)for(n=r;++a<i;)null!=(r=e(t[a],a,t))&&n>r&&(n=r);return n}function M(t){if(!(i=t.length))return[];for(var e=-1,r=k(t,A),n=new Array(r);++e<r;)for(var i,a=-1,o=n[e]=new Array(i);++a<i;)o[a]=t[a][e];return n}function A(t){return t.length}t.bisect=i,t.bisectRight=i,t.bisectLeft=a,t.ascending=e,t.bisector=r,t.cross=function(t,e,r){var n,i,a,s,l=t.length,c=e.length,u=new Array(l*c);for(null==r&&(r=o),n=a=0;n<l;++n)for(s=t[n],i=0;i<c;++i,++a)u[a]=r(s,e[i]);return u},t.descending=function(t,e){return e<t?-1:e>t?1:e>=t?0:NaN},t.deviation=c,t.extent=u,t.histogram=function(){var t=g,e=u,r=w;function n(n){var a,o,s=n.length,l=new Array(s);for(a=0;a<s;++a)l[a]=t(n[a],a,n);var c=e(l),u=c[0],f=c[1],h=r(l,u,f);Array.isArray(h)||(h=_(u,f,h),h=m(Math.ceil(u/h)*h,f,h));for(var p=h.length;h[0]<=u;)h.shift(),--p;for(;h[p-1]>f;)h.pop(),--p;var d,g=new Array(p+1);for(a=0;a<=p;++a)(d=g[a]=[]).x0=a>0?h[a-1]:u,d.x1=a<p?h[a]:f;for(a=0;a<s;++a)u<=(o=l[a])&&o<=f&&g[i(h,o,0,p)].push(n[a]);return g}return n.value=function(e){return arguments.length?(t="function"==typeof e?e:d(e),n):t},n.domain=function(t){return arguments.length?(e="function"==typeof t?t:d([t[0],t[1]]),n):e},n.thresholds=function(t){return arguments.length?(r="function"==typeof t?t:Array.isArray(t)?d(h.call(t)):d(t),n):r},n},t.thresholdFreedmanDiaconis=function(t,r,n){return t=p.call(t,s).sort(e),Math.ceil((n-r)/(2*(T(t,.75)-T(t,.25))*Math.pow(t.length,-1/3)))},t.thresholdScott=function(t,e,r){return Math.ceil((r-e)/(3.5*c(t)*Math.pow(t.length,-1/3)))},t.thresholdSturges=w,t.max=function(t,e){var r,n,i=t.length,a=-1;if(null==e){for(;++a<i;)if(null!=(r=t[a])&&r>=r)for(n=r;++a<i;)null!=(r=t[a])&&r>n&&(n=r)}else for(;++a<i;)if(null!=(r=e(t[a],a,t))&&r>=r)for(n=r;++a<i;)null!=(r=e(t[a],a,t))&&r>n&&(n=r);return n},t.mean=function(t,e){var r,n=t.length,i=n,a=-1,o=0;if(null==e)for(;++a<n;)isNaN(r=s(t[a]))?--i:o+=r;else for(;++a<n;)isNaN(r=s(e(t[a],a,t)))?--i:o+=r;if(i)return o/i},t.median=function(t,r){var n,i=t.length,a=-1,o=[];if(null==r)for(;++a<i;)isNaN(n=s(t[a]))||o.push(n);else for(;++a<i;)isNaN(n=s(r(t[a],a,t)))||o.push(n);return T(o.sort(e),.5)},t.merge=function(t){for(var e,r,n,i=t.length,a=-1,o=0;++a<i;)o+=t[a].length;for(r=new Array(o);--i>=0;)for(e=(n=t[i]).length;--e>=0;)r[--o]=n[e];return r},t.min=k,t.pairs=function(t,e){null==e&&(e=o);for(var r=0,n=t.length-1,i=t[0],a=new Array(n<0?0:n);r<n;)a[r]=e(i,i=t[++r]);return a},t.permute=function(t,e){for(var r=e.length,n=new Array(r);r--;)n[r]=t[e[r]];return n},t.quantile=T,t.range=m,t.scan=function(t,r){if(n=t.length){var n,i,a=0,o=0,s=t[o];for(null==r&&(r=e);++a<n;)(r(i=t[a],s)<0||0!==r(s,s))&&(s=i,o=a);return 0===r(s,s)?o:void 0}},t.shuffle=function(t,e,r){for(var n,i,a=(null==r?t.length:r)-(e=null==e?0:+e);a;)i=Math.random()*a--|0,n=t[a+e],t[a+e]=t[i+e],t[i+e]=n;return t},t.sum=function(t,e){var r,n=t.length,i=-1,a=0;if(null==e)for(;++i<n;)(r=+t[i])&&(a+=r);else for(;++i<n;)(r=+e(t[i],i,t))&&(a+=r);return a},t.ticks=function(t,e,r){var n,i,a,o,s=-1;if(r=+r,(t=+t)===(e=+e)&&r>0)return[t];if((n=e<t)&&(i=t,t=e,e=i),0===(o=b(t,e,r))||!isFinite(o))return[];if(o>0)for(t=Math.ceil(t/o),e=Math.floor(e/o),a=new Array(i=Math.ceil(e-t+1));++s<i;)a[s]=(t+s)*o;else for(t=Math.floor(t*o),e=Math.ceil(e*o),a=new Array(i=Math.ceil(t-e+1));++s<i;)a[s]=(t-s)/o;return n&&a.reverse(),a},t.tickIncrement=b,t.tickStep=_,t.transpose=M,t.variance=l,t.zip=function(){return M(arguments)},Object.defineProperty(t,"__esModule",{value:!0})}))},{}],157:[function(t,e,r){!function(t,n){n("object"==typeof r&&"undefined"!=typeof e?r:t.d3=t.d3||{})}(this,(function(t){"use strict";function e(){}function r(t,r){var n=new e;if(t instanceof e)t.each((function(t,e){n.set(e,t)}));else if(Array.isArray(t)){var i,a=-1,o=t.length;if(null==r)for(;++a<o;)n.set(a,t[a]);else for(;++a<o;)n.set(r(i=t[a],a,t),i)}else if(t)for(var s in t)n.set(s,t[s]);return n}function n(){return{}}function i(t,e,r){t[e]=r}function a(){return r()}function o(t,e,r){t.set(e,r)}function s(){}e.prototype=r.prototype={constructor:e,has:function(t){return"$"+t in this},get:function(t){return this["$"+t]},set:function(t,e){return this["$"+t]=e,this},remove:function(t){var e="$"+t;return e in this&&delete this[e]},clear:function(){for(var t in this)"$"===t[0]&&delete this[t]},keys:function(){var t=[];for(var e in this)"$"===e[0]&&t.push(e.slice(1));return t},values:function(){var t=[];for(var e in this)"$"===e[0]&&t.push(this[e]);return t},entries:function(){var t=[];for(var e in this)"$"===e[0]&&t.push({key:e.slice(1),value:this[e]});return t},size:function(){var t=0;for(var e in this)"$"===e[0]&&++t;return t},empty:function(){for(var t in this)if("$"===t[0])return!1;return!0},each:function(t){for(var e in this)"$"===e[0]&&t(this[e],e.slice(1),this)}};var l=r.prototype;function c(t,e){var r=new s;if(t instanceof s)t.each((function(t){r.add(t)}));else if(t){var n=-1,i=t.length;if(null==e)for(;++n<i;)r.add(t[n]);else for(;++n<i;)r.add(e(t[n],n,t))}return r}s.prototype=c.prototype={constructor:s,has:l.has,add:function(t){return this["$"+(t+="")]=t,this},remove:l.remove,clear:l.clear,values:l.keys,size:l.size,empty:l.empty,each:l.each},t.nest=function(){var t,e,s,l=[],c=[];function u(n,i,a,o){if(i>=l.length)return null!=t&&n.sort(t),null!=e?e(n):n;for(var s,c,f,h=-1,p=n.length,d=l[i++],g=r(),m=a();++h<p;)(f=g.get(s=d(c=n[h])+""))?f.push(c):g.set(s,[c]);return g.each((function(t,e){o(m,e,u(t,i,a,o))})),m}return s={object:function(t){return u(t,0,n,i)},map:function(t){return u(t,0,a,o)},entries:function(t){return function t(r,n){if(++n>l.length)return r;var i,a=c[n-1];return null!=e&&n>=l.length?i=r.entries():(i=[],r.each((function(e,r){i.push({key:r,values:t(e,n)})}))),null!=a?i.sort((function(t,e){return a(t.key,e.key)})):i}(u(t,0,a,o),0)},key:function(t){return l.push(t),s},sortKeys:function(t){return c[l.length-1]=t,s},sortValues:function(e){return t=e,s},rollup:function(t){return e=t,s}}},t.set=c,t.map=r,t.keys=function(t){var e=[];for(var r in t)e.push(r);return e},t.values=function(t){var e=[];for(var r in t)e.push(t[r]);return e},t.entries=function(t){var e=[];for(var r in t)e.push({key:r,value:t[r]});return e},Object.defineProperty(t,"__esModule",{value:!0})}))},{}],158:[function(t,e,r){!function(t,n){"object"==typeof r&&"undefined"!=typeof e?n(r):n((t=t||self).d3=t.d3||{})}(this,(function(t){"use strict";function e(t,e,r){t.prototype=e.prototype=r,r.constructor=t}function r(t,e){var r=Object.create(t.prototype);for(var n in e)r[n]=e[n];return r}function n(){}var i="\\s*([+-]?\\d+)\\s*",a="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*",o="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*",s=/^#([0-9a-f]{3,8})$/,l=new RegExp("^rgb\\("+[i,i,i]+"\\)$"),c=new RegExp("^rgb\\("+[o,o,o]+"\\)$"),u=new RegExp("^rgba\\("+[i,i,i,a]+"\\)$"),f=new RegExp("^rgba\\("+[o,o,o,a]+"\\)$"),h=new RegExp("^hsl\\("+[a,o,o]+"\\)$"),p=new RegExp("^hsla\\("+[a,o,o,a]+"\\)$"),d={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function g(){return this.rgb().formatHex()}function m(){return this.rgb().formatRgb()}function v(t){var e,r;return t=(t+"").trim().toLowerCase(),(e=s.exec(t))?(r=e[1].length,e=parseInt(e[1],16),6===r?y(e):3===r?new w(e>>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):8===r?x(e>>24&255,e>>16&255,e>>8&255,(255&e)/255):4===r?x(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|240&e,((15&e)<<4|15&e)/255):null):(e=l.exec(t))?new w(e[1],e[2],e[3],1):(e=c.exec(t))?new w(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=u.exec(t))?x(e[1],e[2],e[3],e[4]):(e=f.exec(t))?x(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=h.exec(t))?A(e[1],e[2]/100,e[3]/100,1):(e=p.exec(t))?A(e[1],e[2]/100,e[3]/100,e[4]):d.hasOwnProperty(t)?y(d[t]):"transparent"===t?new w(NaN,NaN,NaN,0):null}function y(t){return new w(t>>16&255,t>>8&255,255&t,1)}function x(t,e,r,n){return n<=0&&(t=e=r=NaN),new w(t,e,r,n)}function b(t){return t instanceof n||(t=v(t)),t?new w((t=t.rgb()).r,t.g,t.b,t.opacity):new w}function _(t,e,r,n){return 1===arguments.length?b(t):new w(t,e,r,null==n?1:n)}function w(t,e,r,n){this.r=+t,this.g=+e,this.b=+r,this.opacity=+n}function T(){return"#"+M(this.r)+M(this.g)+M(this.b)}function k(){var t=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===t?")":", "+t+")")}function M(t){return((t=Math.max(0,Math.min(255,Math.round(t)||0)))<16?"0":"")+t.toString(16)}function A(t,e,r,n){return n<=0?t=e=r=NaN:r<=0||r>=1?t=e=NaN:e<=0&&(t=NaN),new C(t,e,r,n)}function S(t){if(t instanceof C)return new C(t.h,t.s,t.l,t.opacity);if(t instanceof n||(t=v(t)),!t)return new C;if(t instanceof C)return t;var e=(t=t.rgb()).r/255,r=t.g/255,i=t.b/255,a=Math.min(e,r,i),o=Math.max(e,r,i),s=NaN,l=o-a,c=(o+a)/2;return l?(s=e===o?(r-i)/l+6*(r<i):r===o?(i-e)/l+2:(e-r)/l+4,l/=c<.5?o+a:2-o-a,s*=60):l=c>0&&c<1?0:s,new C(s,l,c,t.opacity)}function E(t,e,r,n){return 1===arguments.length?S(t):new C(t,e,r,null==n?1:n)}function C(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}function L(t,e,r){return 255*(t<60?e+(r-e)*t/60:t<180?r:t<240?e+(r-e)*(240-t)/60:e)}e(n,v,{copy:function(t){return Object.assign(new this.constructor,this,t)},displayable:function(){return this.rgb().displayable()},hex:g,formatHex:g,formatHsl:function(){return S(this).formatHsl()},formatRgb:m,toString:m}),e(w,_,r(n,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new w(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new w(this.r*t,this.g*t,this.b*t,this.opacity)},rgb:function(){return this},displayable:function(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:T,formatHex:T,formatRgb:k,toString:k})),e(C,E,r(n,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new C(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new C(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=this.h%360+360*(this.h<0),e=isNaN(t)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*e,i=2*r-n;return new w(L(t>=240?t-240:t+120,i,n),L(t,i,n),L(t<120?t+240:t-120,i,n),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl:function(){var t=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?"hsl(":"hsla(")+(this.h||0)+", "+100*(this.s||0)+"%, "+100*(this.l||0)+"%"+(1===t?")":", "+t+")")}}));var I=Math.PI/180,P=180/Math.PI,z=6/29,O=3*z*z;function D(t){if(t instanceof F)return new F(t.l,t.a,t.b,t.opacity);if(t instanceof H)return G(t);t instanceof w||(t=b(t));var e,r,n=U(t.r),i=U(t.g),a=U(t.b),o=B((.2225045*n+.7168786*i+.0606169*a)/1);return n===i&&i===a?e=r=o:(e=B((.4360747*n+.3850649*i+.1430804*a)/.96422),r=B((.0139322*n+.0971045*i+.7141733*a)/.82521)),new F(116*o-16,500*(e-o),200*(o-r),t.opacity)}function R(t,e,r,n){return 1===arguments.length?D(t):new F(t,e,r,null==n?1:n)}function F(t,e,r,n){this.l=+t,this.a=+e,this.b=+r,this.opacity=+n}function B(t){return t>.008856451679035631?Math.pow(t,1/3):t/O+4/29}function N(t){return t>z?t*t*t:O*(t-4/29)}function j(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function U(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function V(t){if(t instanceof H)return new H(t.h,t.c,t.l,t.opacity);if(t instanceof F||(t=D(t)),0===t.a&&0===t.b)return new H(NaN,0<t.l&&t.l<100?0:NaN,t.l,t.opacity);var e=Math.atan2(t.b,t.a)*P;return new H(e<0?e+360:e,Math.sqrt(t.a*t.a+t.b*t.b),t.l,t.opacity)}function q(t,e,r,n){return 1===arguments.length?V(t):new H(t,e,r,null==n?1:n)}function H(t,e,r,n){this.h=+t,this.c=+e,this.l=+r,this.opacity=+n}function G(t){if(isNaN(t.h))return new F(t.l,0,0,t.opacity);var e=t.h*I;return new F(t.l,Math.cos(e)*t.c,Math.sin(e)*t.c,t.opacity)}e(F,R,r(n,{brighter:function(t){return new F(this.l+18*(null==t?1:t),this.a,this.b,this.opacity)},darker:function(t){return new F(this.l-18*(null==t?1:t),this.a,this.b,this.opacity)},rgb:function(){var t=(this.l+16)/116,e=isNaN(this.a)?t:t+this.a/500,r=isNaN(this.b)?t:t-this.b/200;return new w(j(3.1338561*(e=.96422*N(e))-1.6168667*(t=1*N(t))-.4906146*(r=.82521*N(r))),j(-.9787684*e+1.9161415*t+.033454*r),j(.0719453*e-.2289914*t+1.4052427*r),this.opacity)}})),e(H,q,r(n,{brighter:function(t){return new H(this.h,this.c,this.l+18*(null==t?1:t),this.opacity)},darker:function(t){return new H(this.h,this.c,this.l-18*(null==t?1:t),this.opacity)},rgb:function(){return G(this).rgb()}}));var Y=-.14861,W=1.78277,X=-.29227,Z=-.90649,J=1.97294,K=J*Z,Q=J*W,$=W*X-Z*Y;function tt(t){if(t instanceof rt)return new rt(t.h,t.s,t.l,t.opacity);t instanceof w||(t=b(t));var e=t.r/255,r=t.g/255,n=t.b/255,i=($*n+K*e-Q*r)/($+K-Q),a=n-i,o=(J*(r-i)-X*a)/Z,s=Math.sqrt(o*o+a*a)/(J*i*(1-i)),l=s?Math.atan2(o,a)*P-120:NaN;return new rt(l<0?l+360:l,s,i,t.opacity)}function et(t,e,r,n){return 1===arguments.length?tt(t):new rt(t,e,r,null==n?1:n)}function rt(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}e(rt,et,r(n,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new rt(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new rt(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=isNaN(this.h)?0:(this.h+120)*I,e=+this.l,r=isNaN(this.s)?0:this.s*e*(1-e),n=Math.cos(t),i=Math.sin(t);return new w(255*(e+r*(Y*n+W*i)),255*(e+r*(X*n+Z*i)),255*(e+r*(J*n)),this.opacity)}})),t.color=v,t.cubehelix=et,t.gray=function(t,e){return new F(t,0,0,null==e?1:e)},t.hcl=q,t.hsl=E,t.lab=R,t.lch=function(t,e,r,n){return 1===arguments.length?V(t):new H(r,e,t,null==n?1:n)},t.rgb=_,Object.defineProperty(t,"__esModule",{value:!0})}))},{}],159:[function(t,e,r){!function(t,n){"object"==typeof r&&"undefined"!=typeof e?n(r):n((t=t||self).d3=t.d3||{})}(this,(function(t){"use strict";var e={value:function(){}};function r(){for(var t,e=0,r=arguments.length,i={};e<r;++e){if(!(t=arguments[e]+"")||t in i||/[\s.]/.test(t))throw new Error("illegal type: "+t);i[t]=[]}return new n(i)}function n(t){this._=t}function i(t,e){return t.trim().split(/^|\s+/).map((function(t){var r="",n=t.indexOf(".");if(n>=0&&(r=t.slice(n+1),t=t.slice(0,n)),t&&!e.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name:r}}))}function a(t,e){for(var r,n=0,i=t.length;n<i;++n)if((r=t[n]).name===e)return r.value}function o(t,r,n){for(var i=0,a=t.length;i<a;++i)if(t[i].name===r){t[i]=e,t=t.slice(0,i).concat(t.slice(i+1));break}return null!=n&&t.push({name:r,value:n}),t}n.prototype=r.prototype={constructor:n,on:function(t,e){var r,n=this._,s=i(t+"",n),l=-1,c=s.length;if(!(arguments.length<2)){if(null!=e&&"function"!=typeof e)throw new Error("invalid callback: "+e);for(;++l<c;)if(r=(t=s[l]).type)n[r]=o(n[r],t.name,e);else if(null==e)for(r in n)n[r]=o(n[r],t.name,null);return this}for(;++l<c;)if((r=(t=s[l]).type)&&(r=a(n[r],t.name)))return r},copy:function(){var t={},e=this._;for(var r in e)t[r]=e[r].slice();return new n(t)},call:function(t,e){if((r=arguments.length-2)>0)for(var r,n,i=new Array(r),a=0;a<r;++a)i[a]=arguments[a+2];if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(a=0,r=(n=this._[t]).length;a<r;++a)n[a].value.apply(e,i)},apply:function(t,e,r){if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(var n=this._[t],i=0,a=n.length;i<a;++i)n[i].value.apply(e,r)}},t.dispatch=r,Object.defineProperty(t,"__esModule",{value:!0})}))},{}],160:[function(t,e,r){!function(n,i){"object"==typeof r&&"undefined"!=typeof e?i(r,t("d3-quadtree"),t("d3-collection"),t("d3-dispatch"),t("d3-timer")):i(n.d3=n.d3||{},n.d3,n.d3,n.d3,n.d3)}(this,(function(t,e,r,n,i){"use strict";function a(t){return function(){return t}}function o(){return 1e-6*(Math.random()-.5)}function s(t){return t.x+t.vx}function l(t){return t.y+t.vy}function c(t){return t.index}function u(t,e){var r=t.get(e);if(!r)throw new Error("missing: "+e);return r}function f(t){return t.x}function h(t){return t.y}var p=Math.PI*(3-Math.sqrt(5));t.forceCenter=function(t,e){var r;function n(){var n,i,a=r.length,o=0,s=0;for(n=0;n<a;++n)o+=(i=r[n]).x,s+=i.y;for(o=o/a-t,s=s/a-e,n=0;n<a;++n)(i=r[n]).x-=o,i.y-=s}return null==t&&(t=0),null==e&&(e=0),n.initialize=function(t){r=t},n.x=function(e){return arguments.length?(t=+e,n):t},n.y=function(t){return arguments.length?(e=+t,n):e},n},t.forceCollide=function(t){var r,n,i=1,c=1;function u(){for(var t,a,u,h,p,d,g,m=r.length,v=0;v<c;++v)for(a=e.quadtree(r,s,l).visitAfter(f),t=0;t<m;++t)u=r[t],d=n[u.index],g=d*d,h=u.x+u.vx,p=u.y+u.vy,a.visit(y);function y(t,e,r,n,a){var s=t.data,l=t.r,c=d+l;if(!s)return e>h+c||n<h-c||r>p+c||a<p-c;if(s.index>u.index){var f=h-s.x-s.vx,m=p-s.y-s.vy,v=f*f+m*m;v<c*c&&(0===f&&(v+=(f=o())*f),0===m&&(v+=(m=o())*m),v=(c-(v=Math.sqrt(v)))/v*i,u.vx+=(f*=v)*(c=(l*=l)/(g+l)),u.vy+=(m*=v)*c,s.vx-=f*(c=1-c),s.vy-=m*c)}}}function f(t){if(t.data)return t.r=n[t.data.index];for(var e=t.r=0;e<4;++e)t[e]&&t[e].r>t.r&&(t.r=t[e].r)}function h(){if(r){var e,i,a=r.length;for(n=new Array(a),e=0;e<a;++e)i=r[e],n[i.index]=+t(i,e,r)}}return"function"!=typeof t&&(t=a(null==t?1:+t)),u.initialize=function(t){r=t,h()},u.iterations=function(t){return arguments.length?(c=+t,u):c},u.strength=function(t){return arguments.length?(i=+t,u):i},u.radius=function(e){return arguments.length?(t="function"==typeof e?e:a(+e),h(),u):t},u},t.forceLink=function(t){var e,n,i,s,l,f=c,h=function(t){return 1/Math.min(s[t.source.index],s[t.target.index])},p=a(30),d=1;function g(r){for(var i=0,a=t.length;i<d;++i)for(var s,c,u,f,h,p,g,m=0;m<a;++m)c=(s=t[m]).source,f=(u=s.target).x+u.vx-c.x-c.vx||o(),h=u.y+u.vy-c.y-c.vy||o(),f*=p=((p=Math.sqrt(f*f+h*h))-n[m])/p*r*e[m],h*=p,u.vx-=f*(g=l[m]),u.vy-=h*g,c.vx+=f*(g=1-g),c.vy+=h*g}function m(){if(i){var a,o,c=i.length,h=t.length,p=r.map(i,f);for(a=0,s=new Array(c);a<h;++a)(o=t[a]).index=a,"object"!=typeof o.source&&(o.source=u(p,o.source)),"object"!=typeof o.target&&(o.target=u(p,o.target)),s[o.source.index]=(s[o.source.index]||0)+1,s[o.target.index]=(s[o.target.index]||0)+1;for(a=0,l=new Array(h);a<h;++a)o=t[a],l[a]=s[o.source.index]/(s[o.source.index]+s[o.target.index]);e=new Array(h),v(),n=new Array(h),y()}}function v(){if(i)for(var r=0,n=t.length;r<n;++r)e[r]=+h(t[r],r,t)}function y(){if(i)for(var e=0,r=t.length;e<r;++e)n[e]=+p(t[e],e,t)}return null==t&&(t=[]),g.initialize=function(t){i=t,m()},g.links=function(e){return arguments.length?(t=e,m(),g):t},g.id=function(t){return arguments.length?(f=t,g):f},g.iterations=function(t){return arguments.length?(d=+t,g):d},g.strength=function(t){return arguments.length?(h="function"==typeof t?t:a(+t),v(),g):h},g.distance=function(t){return arguments.length?(p="function"==typeof t?t:a(+t),y(),g):p},g},t.forceManyBody=function(){var t,r,n,i,s=a(-30),l=1,c=1/0,u=.81;function p(i){var a,o=t.length,s=e.quadtree(t,f,h).visitAfter(g);for(n=i,a=0;a<o;++a)r=t[a],s.visit(m)}function d(){if(t){var e,r,n=t.length;for(i=new Array(n),e=0;e<n;++e)r=t[e],i[r.index]=+s(r,e,t)}}function g(t){var e,r,n,a,o,s=0,l=0;if(t.length){for(n=a=o=0;o<4;++o)(e=t[o])&&(r=Math.abs(e.value))&&(s+=e.value,l+=r,n+=r*e.x,a+=r*e.y);t.x=n/l,t.y=a/l}else{(e=t).x=e.data.x,e.y=e.data.y;do{s+=i[e.data.index]}while(e=e.next)}t.value=s}function m(t,e,a,s){if(!t.value)return!0;var f=t.x-r.x,h=t.y-r.y,p=s-e,d=f*f+h*h;if(p*p/u<d)return d<c&&(0===f&&(d+=(f=o())*f),0===h&&(d+=(h=o())*h),d<l&&(d=Math.sqrt(l*d)),r.vx+=f*t.value*n/d,r.vy+=h*t.value*n/d),!0;if(!(t.length||d>=c)){(t.data!==r||t.next)&&(0===f&&(d+=(f=o())*f),0===h&&(d+=(h=o())*h),d<l&&(d=Math.sqrt(l*d)));do{t.data!==r&&(p=i[t.data.index]*n/d,r.vx+=f*p,r.vy+=h*p)}while(t=t.next)}}return p.initialize=function(e){t=e,d()},p.strength=function(t){return arguments.length?(s="function"==typeof t?t:a(+t),d(),p):s},p.distanceMin=function(t){return arguments.length?(l=t*t,p):Math.sqrt(l)},p.distanceMax=function(t){return arguments.length?(c=t*t,p):Math.sqrt(c)},p.theta=function(t){return arguments.length?(u=t*t,p):Math.sqrt(u)},p},t.forceRadial=function(t,e,r){var n,i,o,s=a(.1);function l(t){for(var a=0,s=n.length;a<s;++a){var l=n[a],c=l.x-e||1e-6,u=l.y-r||1e-6,f=Math.sqrt(c*c+u*u),h=(o[a]-f)*i[a]*t/f;l.vx+=c*h,l.vy+=u*h}}function c(){if(n){var e,r=n.length;for(i=new Array(r),o=new Array(r),e=0;e<r;++e)o[e]=+t(n[e],e,n),i[e]=isNaN(o[e])?0:+s(n[e],e,n)}}return"function"!=typeof t&&(t=a(+t)),null==e&&(e=0),null==r&&(r=0),l.initialize=function(t){n=t,c()},l.strength=function(t){return arguments.length?(s="function"==typeof t?t:a(+t),c(),l):s},l.radius=function(e){return arguments.length?(t="function"==typeof e?e:a(+e),c(),l):t},l.x=function(t){return arguments.length?(e=+t,l):e},l.y=function(t){return arguments.length?(r=+t,l):r},l},t.forceSimulation=function(t){var e,a=1,o=.001,s=1-Math.pow(o,1/300),l=0,c=.6,u=r.map(),f=i.timer(d),h=n.dispatch("tick","end");function d(){g(),h.call("tick",e),a<o&&(f.stop(),h.call("end",e))}function g(r){var n,i,o=t.length;void 0===r&&(r=1);for(var f=0;f<r;++f)for(a+=(l-a)*s,u.each((function(t){t(a)})),n=0;n<o;++n)null==(i=t[n]).fx?i.x+=i.vx*=c:(i.x=i.fx,i.vx=0),null==i.fy?i.y+=i.vy*=c:(i.y=i.fy,i.vy=0);return e}function m(){for(var e,r=0,n=t.length;r<n;++r){if((e=t[r]).index=r,null!=e.fx&&(e.x=e.fx),null!=e.fy&&(e.y=e.fy),isNaN(e.x)||isNaN(e.y)){var i=10*Math.sqrt(r),a=r*p;e.x=i*Math.cos(a),e.y=i*Math.sin(a)}(isNaN(e.vx)||isNaN(e.vy))&&(e.vx=e.vy=0)}}function v(e){return e.initialize&&e.initialize(t),e}return null==t&&(t=[]),m(),e={tick:g,restart:function(){return f.restart(d),e},stop:function(){return f.stop(),e},nodes:function(r){return arguments.length?(t=r,m(),u.each(v),e):t},alpha:function(t){return arguments.length?(a=+t,e):a},alphaMin:function(t){return arguments.length?(o=+t,e):o},alphaDecay:function(t){return arguments.length?(s=+t,e):+s},alphaTarget:function(t){return arguments.length?(l=+t,e):l},velocityDecay:function(t){return arguments.length?(c=1-t,e):1-c},force:function(t,r){return arguments.length>1?(null==r?u.remove(t):u.set(t,v(r)),e):u.get(t)},find:function(e,r,n){var i,a,o,s,l,c=0,u=t.length;for(null==n?n=1/0:n*=n,c=0;c<u;++c)(o=(i=e-(s=t[c]).x)*i+(a=r-s.y)*a)<n&&(l=s,n=o);return l},on:function(t,r){return arguments.length>1?(h.on(t,r),e):h.on(t)}}},t.forceX=function(t){var e,r,n,i=a(.1);function o(t){for(var i,a=0,o=e.length;a<o;++a)(i=e[a]).vx+=(n[a]-i.x)*r[a]*t}function s(){if(e){var a,o=e.length;for(r=new Array(o),n=new Array(o),a=0;a<o;++a)r[a]=isNaN(n[a]=+t(e[a],a,e))?0:+i(e[a],a,e)}}return"function"!=typeof t&&(t=a(null==t?0:+t)),o.initialize=function(t){e=t,s()},o.strength=function(t){return arguments.length?(i="function"==typeof t?t:a(+t),s(),o):i},o.x=function(e){return arguments.length?(t="function"==typeof e?e:a(+e),s(),o):t},o},t.forceY=function(t){var e,r,n,i=a(.1);function o(t){for(var i,a=0,o=e.length;a<o;++a)(i=e[a]).vy+=(n[a]-i.y)*r[a]*t}function s(){if(e){var a,o=e.length;for(r=new Array(o),n=new Array(o),a=0;a<o;++a)r[a]=isNaN(n[a]=+t(e[a],a,e))?0:+i(e[a],a,e)}}return"function"!=typeof t&&(t=a(null==t?0:+t)),o.initialize=function(t){e=t,s()},o.strength=function(t){return arguments.length?(i="function"==typeof t?t:a(+t),s(),o):i},o.y=function(e){return arguments.length?(t="function"==typeof e?e:a(+e),s(),o):t},o},Object.defineProperty(t,"__esModule",{value:!0})}))},{"d3-collection":157,"d3-dispatch":159,"d3-quadtree":164,"d3-timer":168}],161:[function(t,e,r){!function(t,n){"object"==typeof r&&"undefined"!=typeof e?n(r):n((t=t||self).d3=t.d3||{})}(this,(function(t){"use strict";function e(t,e){return t.parent===e.parent?1:2}function r(t,e){return t+e.x}function n(t,e){return Math.max(t,e.y)}function i(t){var e=0,r=t.children,n=r&&r.length;if(n)for(;--n>=0;)e+=r[n].value;else e=1;t.value=e}function a(t,e){var r,n,i,a,s,u=new c(t),f=+t.value&&(u.value=t.value),h=[u];for(null==e&&(e=o);r=h.pop();)if(f&&(r.value=+r.data.value),(i=e(r.data))&&(s=i.length))for(r.children=new Array(s),a=s-1;a>=0;--a)h.push(n=r.children[a]=new c(i[a])),n.parent=r,n.depth=r.depth+1;return u.eachBefore(l)}function o(t){return t.children}function s(t){t.data=t.data.data}function l(t){var e=0;do{t.height=e}while((t=t.parent)&&t.height<++e)}function c(t){this.data=t,this.depth=this.height=0,this.parent=null}c.prototype=a.prototype={constructor:c,count:function(){return this.eachAfter(i)},each:function(t){var e,r,n,i,a=this,o=[a];do{for(e=o.reverse(),o=[];a=e.pop();)if(t(a),r=a.children)for(n=0,i=r.length;n<i;++n)o.push(r[n])}while(o.length);return this},eachAfter:function(t){for(var e,r,n,i=this,a=[i],o=[];i=a.pop();)if(o.push(i),e=i.children)for(r=0,n=e.length;r<n;++r)a.push(e[r]);for(;i=o.pop();)t(i);return this},eachBefore:function(t){for(var e,r,n=this,i=[n];n=i.pop();)if(t(n),e=n.children)for(r=e.length-1;r>=0;--r)i.push(e[r]);return this},sum:function(t){return this.eachAfter((function(e){for(var r=+t(e.data)||0,n=e.children,i=n&&n.length;--i>=0;)r+=n[i].value;e.value=r}))},sort:function(t){return this.eachBefore((function(e){e.children&&e.children.sort(t)}))},path:function(t){for(var e=this,r=function(t,e){if(t===e)return t;var r=t.ancestors(),n=e.ancestors(),i=null;t=r.pop(),e=n.pop();for(;t===e;)i=t,t=r.pop(),e=n.pop();return i}(e,t),n=[e];e!==r;)e=e.parent,n.push(e);for(var i=n.length;t!==r;)n.splice(i,0,t),t=t.parent;return n},ancestors:function(){for(var t=this,e=[t];t=t.parent;)e.push(t);return e},descendants:function(){var t=[];return this.each((function(e){t.push(e)})),t},leaves:function(){var t=[];return this.eachBefore((function(e){e.children||t.push(e)})),t},links:function(){var t=this,e=[];return t.each((function(r){r!==t&&e.push({source:r.parent,target:r})})),e},copy:function(){return a(this).eachBefore(s)}};var u=Array.prototype.slice;function f(t){for(var e,r,n=0,i=(t=function(t){for(var e,r,n=t.length;n;)r=Math.random()*n--|0,e=t[n],t[n]=t[r],t[r]=e;return t}(u.call(t))).length,a=[];n<i;)e=t[n],r&&d(r,e)?++n:(r=m(a=h(a,e)),n=0);return r}function h(t,e){var r,n;if(g(e,t))return[e];for(r=0;r<t.length;++r)if(p(e,t[r])&&g(v(t[r],e),t))return[t[r],e];for(r=0;r<t.length-1;++r)for(n=r+1;n<t.length;++n)if(p(v(t[r],t[n]),e)&&p(v(t[r],e),t[n])&&p(v(t[n],e),t[r])&&g(y(t[r],t[n],e),t))return[t[r],t[n],e];throw new Error}function p(t,e){var r=t.r-e.r,n=e.x-t.x,i=e.y-t.y;return r<0||r*r<n*n+i*i}function d(t,e){var r=t.r-e.r+1e-6,n=e.x-t.x,i=e.y-t.y;return r>0&&r*r>n*n+i*i}function g(t,e){for(var r=0;r<e.length;++r)if(!d(t,e[r]))return!1;return!0}function m(t){switch(t.length){case 1:return{x:(e=t[0]).x,y:e.y,r:e.r};case 2:return v(t[0],t[1]);case 3:return y(t[0],t[1],t[2])}var e}function v(t,e){var r=t.x,n=t.y,i=t.r,a=e.x,o=e.y,s=e.r,l=a-r,c=o-n,u=s-i,f=Math.sqrt(l*l+c*c);return{x:(r+a+l/f*u)/2,y:(n+o+c/f*u)/2,r:(f+i+s)/2}}function y(t,e,r){var n=t.x,i=t.y,a=t.r,o=e.x,s=e.y,l=e.r,c=r.x,u=r.y,f=r.r,h=n-o,p=n-c,d=i-s,g=i-u,m=l-a,v=f-a,y=n*n+i*i-a*a,x=y-o*o-s*s+l*l,b=y-c*c-u*u+f*f,_=p*d-h*g,w=(d*b-g*x)/(2*_)-n,T=(g*m-d*v)/_,k=(p*x-h*b)/(2*_)-i,M=(h*v-p*m)/_,A=T*T+M*M-1,S=2*(a+w*T+k*M),E=w*w+k*k-a*a,C=-(A?(S+Math.sqrt(S*S-4*A*E))/(2*A):E/S);return{x:n+w+T*C,y:i+k+M*C,r:C}}function x(t,e,r){var n,i,a,o,s=t.x-e.x,l=t.y-e.y,c=s*s+l*l;c?(i=e.r+r.r,i*=i,o=t.r+r.r,i>(o*=o)?(n=(c+o-i)/(2*c),a=Math.sqrt(Math.max(0,o/c-n*n)),r.x=t.x-n*s-a*l,r.y=t.y-n*l+a*s):(n=(c+i-o)/(2*c),a=Math.sqrt(Math.max(0,i/c-n*n)),r.x=e.x+n*s-a*l,r.y=e.y+n*l+a*s)):(r.x=e.x+r.r,r.y=e.y)}function b(t,e){var r=t.r+e.r-1e-6,n=e.x-t.x,i=e.y-t.y;return r>0&&r*r>n*n+i*i}function _(t){var e=t._,r=t.next._,n=e.r+r.r,i=(e.x*r.r+r.x*e.r)/n,a=(e.y*r.r+r.y*e.r)/n;return i*i+a*a}function w(t){this._=t,this.next=null,this.previous=null}function T(t){if(!(i=t.length))return 0;var e,r,n,i,a,o,s,l,c,u,h;if((e=t[0]).x=0,e.y=0,!(i>1))return e.r;if(r=t[1],e.x=-r.r,r.x=e.r,r.y=0,!(i>2))return e.r+r.r;x(r,e,n=t[2]),e=new w(e),r=new w(r),n=new w(n),e.next=n.previous=r,r.next=e.previous=n,n.next=r.previous=e;t:for(s=3;s<i;++s){x(e._,r._,n=t[s]),n=new w(n),l=r.next,c=e.previous,u=r._.r,h=e._.r;do{if(u<=h){if(b(l._,n._)){r=l,e.next=r,r.previous=e,--s;continue t}u+=l._.r,l=l.next}else{if(b(c._,n._)){(e=c).next=r,r.previous=e,--s;continue t}h+=c._.r,c=c.previous}}while(l!==c.next);for(n.previous=e,n.next=r,e.next=r.previous=r=n,a=_(e);(n=n.next)!==r;)(o=_(n))<a&&(e=n,a=o);r=e.next}for(e=[r._],n=r;(n=n.next)!==r;)e.push(n._);for(n=f(e),s=0;s<i;++s)(e=t[s]).x-=n.x,e.y-=n.y;return n.r}function k(t){return null==t?null:M(t)}function M(t){if("function"!=typeof t)throw new Error;return t}function A(){return 0}function S(t){return function(){return t}}function E(t){return Math.sqrt(t.value)}function C(t){return function(e){e.children||(e.r=Math.max(0,+t(e)||0))}}function L(t,e){return function(r){if(n=r.children){var n,i,a,o=n.length,s=t(r)*e||0;if(s)for(i=0;i<o;++i)n[i].r+=s;if(a=T(n),s)for(i=0;i<o;++i)n[i].r-=s;r.r=a+s}}}function I(t){return function(e){var r=e.parent;e.r*=t,r&&(e.x=r.x+t*e.x,e.y=r.y+t*e.y)}}function P(t){t.x0=Math.round(t.x0),t.y0=Math.round(t.y0),t.x1=Math.round(t.x1),t.y1=Math.round(t.y1)}function z(t,e,r,n,i){for(var a,o=t.children,s=-1,l=o.length,c=t.value&&(n-e)/t.value;++s<l;)(a=o[s]).y0=r,a.y1=i,a.x0=e,a.x1=e+=a.value*c}var O={depth:-1},D={};function R(t){return t.id}function F(t){return t.parentId}function B(t,e){return t.parent===e.parent?1:2}function N(t){var e=t.children;return e?e[0]:t.t}function j(t){var e=t.children;return e?e[e.length-1]:t.t}function U(t,e,r){var n=r/(e.i-t.i);e.c-=n,e.s+=r,t.c+=n,e.z+=r,e.m+=r}function V(t,e,r){return t.a.parent===e.parent?t.a:r}function q(t,e){this._=t,this.parent=null,this.children=null,this.A=null,this.a=this,this.z=0,this.m=0,this.c=0,this.s=0,this.t=null,this.i=e}function H(t,e,r,n,i){for(var a,o=t.children,s=-1,l=o.length,c=t.value&&(i-r)/t.value;++s<l;)(a=o[s]).x0=e,a.x1=n,a.y0=r,a.y1=r+=a.value*c}q.prototype=Object.create(c.prototype);var G=(1+Math.sqrt(5))/2;function Y(t,e,r,n,i,a){for(var o,s,l,c,u,f,h,p,d,g,m,v=[],y=e.children,x=0,b=0,_=y.length,w=e.value;x<_;){l=i-r,c=a-n;do{u=y[b++].value}while(!u&&b<_);for(f=h=u,m=u*u*(g=Math.max(c/l,l/c)/(w*t)),d=Math.max(h/m,m/f);b<_;++b){if(u+=s=y[b].value,s<f&&(f=s),s>h&&(h=s),m=u*u*g,(p=Math.max(h/m,m/f))>d){u-=s;break}d=p}v.push(o={value:u,dice:l<c,children:y.slice(x,b)}),o.dice?z(o,r,n,i,w?n+=c*u/w:a):H(o,r,n,w?r+=l*u/w:i,a),w-=u,x=b}return v}var W=function t(e){function r(t,r,n,i,a){Y(e,t,r,n,i,a)}return r.ratio=function(e){return t((e=+e)>1?e:1)},r}(G);var X=function t(e){function r(t,r,n,i,a){if((o=t._squarify)&&o.ratio===e)for(var o,s,l,c,u,f=-1,h=o.length,p=t.value;++f<h;){for(l=(s=o[f]).children,c=s.value=0,u=l.length;c<u;++c)s.value+=l[c].value;s.dice?z(s,r,n,i,n+=(a-n)*s.value/p):H(s,r,n,r+=(i-r)*s.value/p,a),p-=s.value}else t._squarify=o=Y(e,t,r,n,i,a),o.ratio=e}return r.ratio=function(e){return t((e=+e)>1?e:1)},r}(G);t.cluster=function(){var t=e,i=1,a=1,o=!1;function s(e){var s,l=0;e.eachAfter((function(e){var i=e.children;i?(e.x=function(t){return t.reduce(r,0)/t.length}(i),e.y=function(t){return 1+t.reduce(n,0)}(i)):(e.x=s?l+=t(e,s):0,e.y=0,s=e)}));var c=function(t){for(var e;e=t.children;)t=e[0];return t}(e),u=function(t){for(var e;e=t.children;)t=e[e.length-1];return t}(e),f=c.x-t(c,u)/2,h=u.x+t(u,c)/2;return e.eachAfter(o?function(t){t.x=(t.x-e.x)*i,t.y=(e.y-t.y)*a}:function(t){t.x=(t.x-f)/(h-f)*i,t.y=(1-(e.y?t.y/e.y:1))*a})}return s.separation=function(e){return arguments.length?(t=e,s):t},s.size=function(t){return arguments.length?(o=!1,i=+t[0],a=+t[1],s):o?null:[i,a]},s.nodeSize=function(t){return arguments.length?(o=!0,i=+t[0],a=+t[1],s):o?[i,a]:null},s},t.hierarchy=a,t.pack=function(){var t=null,e=1,r=1,n=A;function i(i){return i.x=e/2,i.y=r/2,t?i.eachBefore(C(t)).eachAfter(L(n,.5)).eachBefore(I(1)):i.eachBefore(C(E)).eachAfter(L(A,1)).eachAfter(L(n,i.r/Math.min(e,r))).eachBefore(I(Math.min(e,r)/(2*i.r))),i}return i.radius=function(e){return arguments.length?(t=k(e),i):t},i.size=function(t){return arguments.length?(e=+t[0],r=+t[1],i):[e,r]},i.padding=function(t){return arguments.length?(n="function"==typeof t?t:S(+t),i):n},i},t.packEnclose=f,t.packSiblings=function(t){return T(t),t},t.partition=function(){var t=1,e=1,r=0,n=!1;function i(i){var a=i.height+1;return i.x0=i.y0=r,i.x1=t,i.y1=e/a,i.eachBefore(function(t,e){return function(n){n.children&&z(n,n.x0,t*(n.depth+1)/e,n.x1,t*(n.depth+2)/e);var i=n.x0,a=n.y0,o=n.x1-r,s=n.y1-r;o<i&&(i=o=(i+o)/2),s<a&&(a=s=(a+s)/2),n.x0=i,n.y0=a,n.x1=o,n.y1=s}}(e,a)),n&&i.eachBefore(P),i}return i.round=function(t){return arguments.length?(n=!!t,i):n},i.size=function(r){return arguments.length?(t=+r[0],e=+r[1],i):[t,e]},i.padding=function(t){return arguments.length?(r=+t,i):r},i},t.stratify=function(){var t=R,e=F;function r(r){var n,i,a,o,s,u,f,h=r.length,p=new Array(h),d={};for(i=0;i<h;++i)n=r[i],s=p[i]=new c(n),null!=(u=t(n,i,r))&&(u+="")&&(d[f="$"+(s.id=u)]=f in d?D:s);for(i=0;i<h;++i)if(s=p[i],null!=(u=e(r[i],i,r))&&(u+="")){if(!(o=d["$"+u]))throw new Error("missing: "+u);if(o===D)throw new Error("ambiguous: "+u);o.children?o.children.push(s):o.children=[s],s.parent=o}else{if(a)throw new Error("multiple roots");a=s}if(!a)throw new Error("no root");if(a.parent=O,a.eachBefore((function(t){t.depth=t.parent.depth+1,--h})).eachBefore(l),a.parent=null,h>0)throw new Error("cycle");return a}return r.id=function(e){return arguments.length?(t=M(e),r):t},r.parentId=function(t){return arguments.length?(e=M(t),r):e},r},t.tree=function(){var t=B,e=1,r=1,n=null;function i(i){var l=function(t){for(var e,r,n,i,a,o=new q(t,0),s=[o];e=s.pop();)if(n=e._.children)for(e.children=new Array(a=n.length),i=a-1;i>=0;--i)s.push(r=e.children[i]=new q(n[i],i)),r.parent=e;return(o.parent=new q(null,0)).children=[o],o}(i);if(l.eachAfter(a),l.parent.m=-l.z,l.eachBefore(o),n)i.eachBefore(s);else{var c=i,u=i,f=i;i.eachBefore((function(t){t.x<c.x&&(c=t),t.x>u.x&&(u=t),t.depth>f.depth&&(f=t)}));var h=c===u?1:t(c,u)/2,p=h-c.x,d=e/(u.x+h+p),g=r/(f.depth||1);i.eachBefore((function(t){t.x=(t.x+p)*d,t.y=t.depth*g}))}return i}function a(e){var r=e.children,n=e.parent.children,i=e.i?n[e.i-1]:null;if(r){!function(t){for(var e,r=0,n=0,i=t.children,a=i.length;--a>=0;)(e=i[a]).z+=r,e.m+=r,r+=e.s+(n+=e.c)}(e);var a=(r[0].z+r[r.length-1].z)/2;i?(e.z=i.z+t(e._,i._),e.m=e.z-a):e.z=a}else i&&(e.z=i.z+t(e._,i._));e.parent.A=function(e,r,n){if(r){for(var i,a=e,o=e,s=r,l=a.parent.children[0],c=a.m,u=o.m,f=s.m,h=l.m;s=j(s),a=N(a),s&&a;)l=N(l),(o=j(o)).a=e,(i=s.z+f-a.z-c+t(s._,a._))>0&&(U(V(s,e,n),e,i),c+=i,u+=i),f+=s.m,c+=a.m,h+=l.m,u+=o.m;s&&!j(o)&&(o.t=s,o.m+=f-u),a&&!N(l)&&(l.t=a,l.m+=c-h,n=e)}return n}(e,i,e.parent.A||n[0])}function o(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function s(t){t.x*=e,t.y=t.depth*r}return i.separation=function(e){return arguments.length?(t=e,i):t},i.size=function(t){return arguments.length?(n=!1,e=+t[0],r=+t[1],i):n?null:[e,r]},i.nodeSize=function(t){return arguments.length?(n=!0,e=+t[0],r=+t[1],i):n?[e,r]:null},i},t.treemap=function(){var t=W,e=!1,r=1,n=1,i=[0],a=A,o=A,s=A,l=A,c=A;function u(t){return t.x0=t.y0=0,t.x1=r,t.y1=n,t.eachBefore(f),i=[0],e&&t.eachBefore(P),t}function f(e){var r=i[e.depth],n=e.x0+r,u=e.y0+r,f=e.x1-r,h=e.y1-r;f<n&&(n=f=(n+f)/2),h<u&&(u=h=(u+h)/2),e.x0=n,e.y0=u,e.x1=f,e.y1=h,e.children&&(r=i[e.depth+1]=a(e)/2,n+=c(e)-r,u+=o(e)-r,(f-=s(e)-r)<n&&(n=f=(n+f)/2),(h-=l(e)-r)<u&&(u=h=(u+h)/2),t(e,n,u,f,h))}return u.round=function(t){return arguments.length?(e=!!t,u):e},u.size=function(t){return arguments.length?(r=+t[0],n=+t[1],u):[r,n]},u.tile=function(e){return arguments.length?(t=M(e),u):t},u.padding=function(t){return arguments.length?u.paddingInner(t).paddingOuter(t):u.paddingInner()},u.paddingInner=function(t){return arguments.length?(a="function"==typeof t?t:S(+t),u):a},u.paddingOuter=function(t){return arguments.length?u.paddingTop(t).paddingRight(t).paddingBottom(t).paddingLeft(t):u.paddingTop()},u.paddingTop=function(t){return arguments.length?(o="function"==typeof t?t:S(+t),u):o},u.paddingRight=function(t){return arguments.length?(s="function"==typeof t?t:S(+t),u):s},u.paddingBottom=function(t){return arguments.length?(l="function"==typeof t?t:S(+t),u):l},u.paddingLeft=function(t){return arguments.length?(c="function"==typeof t?t:S(+t),u):c},u},t.treemapBinary=function(t,e,r,n,i){var a,o,s=t.children,l=s.length,c=new Array(l+1);for(c[0]=o=a=0;a<l;++a)c[a+1]=o+=s[a].value;!function t(e,r,n,i,a,o,l){if(e>=r-1){var u=s[e];return u.x0=i,u.y0=a,u.x1=o,void(u.y1=l)}var f=c[e],h=n/2+f,p=e+1,d=r-1;for(;p<d;){var g=p+d>>>1;c[g]<h?p=g+1:d=g}h-c[p-1]<c[p]-h&&e+1<p&&--p;var m=c[p]-f,v=n-m;if(o-i>l-a){var y=(i*v+o*m)/n;t(e,p,m,i,a,y,l),t(p,r,v,y,a,o,l)}else{var x=(a*v+l*m)/n;t(e,p,m,i,a,o,x),t(p,r,v,i,x,o,l)}}(0,l,t.value,e,r,n,i)},t.treemapDice=z,t.treemapResquarify=X,t.treemapSlice=H,t.treemapSliceDice=function(t,e,r,n,i){(1&t.depth?H:z)(t,e,r,n,i)},t.treemapSquarify=W,Object.defineProperty(t,"__esModule",{value:!0})}))},{}],162:[function(t,e,r){!function(n,i){"object"==typeof r&&"undefined"!=typeof e?i(r,t("d3-color")):i((n=n||self).d3=n.d3||{},n.d3)}(this,(function(t,e){"use strict";function r(t,e,r,n,i){var a=t*t,o=a*t;return((1-3*t+3*a-o)*e+(4-6*a+3*o)*r+(1+3*t+3*a-3*o)*n+o*i)/6}function n(t){var e=t.length-1;return function(n){var i=n<=0?n=0:n>=1?(n=1,e-1):Math.floor(n*e),a=t[i],o=t[i+1],s=i>0?t[i-1]:2*a-o,l=i<e-1?t[i+2]:2*o-a;return r((n-i/e)*e,s,a,o,l)}}function i(t){var e=t.length;return function(n){var i=Math.floor(((n%=1)<0?++n:n)*e),a=t[(i+e-1)%e],o=t[i%e],s=t[(i+1)%e],l=t[(i+2)%e];return r((n-i/e)*e,a,o,s,l)}}function a(t){return function(){return t}}function o(t,e){return function(r){return t+r*e}}function s(t,e){var r=e-t;return r?o(t,r>180||r<-180?r-360*Math.round(r/360):r):a(isNaN(t)?e:t)}function l(t){return 1==(t=+t)?c:function(e,r){return r-e?function(t,e,r){return t=Math.pow(t,r),e=Math.pow(e,r)-t,r=1/r,function(n){return Math.pow(t+n*e,r)}}(e,r,t):a(isNaN(e)?r:e)}}function c(t,e){var r=e-t;return r?o(t,r):a(isNaN(t)?e:t)}var u=function t(r){var n=l(r);function i(t,r){var i=n((t=e.rgb(t)).r,(r=e.rgb(r)).r),a=n(t.g,r.g),o=n(t.b,r.b),s=c(t.opacity,r.opacity);return function(e){return t.r=i(e),t.g=a(e),t.b=o(e),t.opacity=s(e),t+""}}return i.gamma=t,i}(1);function f(t){return function(r){var n,i,a=r.length,o=new Array(a),s=new Array(a),l=new Array(a);for(n=0;n<a;++n)i=e.rgb(r[n]),o[n]=i.r||0,s[n]=i.g||0,l[n]=i.b||0;return o=t(o),s=t(s),l=t(l),i.opacity=1,function(t){return i.r=o(t),i.g=s(t),i.b=l(t),i+""}}}var h=f(n),p=f(i);function d(t,e){e||(e=[]);var r,n=t?Math.min(e.length,t.length):0,i=e.slice();return function(a){for(r=0;r<n;++r)i[r]=t[r]*(1-a)+e[r]*a;return i}}function g(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}function m(t,e){var r,n=e?e.length:0,i=t?Math.min(n,t.length):0,a=new Array(i),o=new Array(n);for(r=0;r<i;++r)a[r]=T(t[r],e[r]);for(;r<n;++r)o[r]=e[r];return function(t){for(r=0;r<i;++r)o[r]=a[r](t);return o}}function v(t,e){var r=new Date;return t=+t,e=+e,function(n){return r.setTime(t*(1-n)+e*n),r}}function y(t,e){return t=+t,e=+e,function(r){return t*(1-r)+e*r}}function x(t,e){var r,n={},i={};for(r in null!==t&&"object"==typeof t||(t={}),null!==e&&"object"==typeof e||(e={}),e)r in t?n[r]=T(t[r],e[r]):i[r]=e[r];return function(t){for(r in n)i[r]=n[r](t);return i}}var b=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,_=new RegExp(b.source,"g");function w(t,e){var r,n,i,a=b.lastIndex=_.lastIndex=0,o=-1,s=[],l=[];for(t+="",e+="";(r=b.exec(t))&&(n=_.exec(e));)(i=n.index)>a&&(i=e.slice(a,i),s[o]?s[o]+=i:s[++o]=i),(r=r[0])===(n=n[0])?s[o]?s[o]+=n:s[++o]=n:(s[++o]=null,l.push({i:o,x:y(r,n)})),a=_.lastIndex;return a<e.length&&(i=e.slice(a),s[o]?s[o]+=i:s[++o]=i),s.length<2?l[0]?function(t){return function(e){return t(e)+""}}(l[0].x):function(t){return function(){return t}}(e):(e=l.length,function(t){for(var r,n=0;n<e;++n)s[(r=l[n]).i]=r.x(t);return s.join("")})}function T(t,r){var n,i=typeof r;return null==r||"boolean"===i?a(r):("number"===i?y:"string"===i?(n=e.color(r))?(r=n,u):w:r instanceof e.color?u:r instanceof Date?v:g(r)?d:Array.isArray(r)?m:"function"!=typeof r.valueOf&&"function"!=typeof r.toString||isNaN(r)?x:y)(t,r)}var k,M,A,S,E=180/Math.PI,C={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function L(t,e,r,n,i,a){var o,s,l;return(o=Math.sqrt(t*t+e*e))&&(t/=o,e/=o),(l=t*r+e*n)&&(r-=t*l,n-=e*l),(s=Math.sqrt(r*r+n*n))&&(r/=s,n/=s,l/=s),t*n<e*r&&(t=-t,e=-e,l=-l,o=-o),{translateX:i,translateY:a,rotate:Math.atan2(e,t)*E,skewX:Math.atan(l)*E,scaleX:o,scaleY:s}}function I(t,e,r,n){function i(t){return t.length?t.pop()+" ":""}return function(a,o){var s=[],l=[];return a=t(a),o=t(o),function(t,n,i,a,o,s){if(t!==i||n!==a){var l=o.push("translate(",null,e,null,r);s.push({i:l-4,x:y(t,i)},{i:l-2,x:y(n,a)})}else(i||a)&&o.push("translate("+i+e+a+r)}(a.translateX,a.translateY,o.translateX,o.translateY,s,l),function(t,e,r,a){t!==e?(t-e>180?e+=360:e-t>180&&(t+=360),a.push({i:r.push(i(r)+"rotate(",null,n)-2,x:y(t,e)})):e&&r.push(i(r)+"rotate("+e+n)}(a.rotate,o.rotate,s,l),function(t,e,r,a){t!==e?a.push({i:r.push(i(r)+"skewX(",null,n)-2,x:y(t,e)}):e&&r.push(i(r)+"skewX("+e+n)}(a.skewX,o.skewX,s,l),function(t,e,r,n,a,o){if(t!==r||e!==n){var s=a.push(i(a)+"scale(",null,",",null,")");o.push({i:s-4,x:y(t,r)},{i:s-2,x:y(e,n)})}else 1===r&&1===n||a.push(i(a)+"scale("+r+","+n+")")}(a.scaleX,a.scaleY,o.scaleX,o.scaleY,s,l),a=o=null,function(t){for(var e,r=-1,n=l.length;++r<n;)s[(e=l[r]).i]=e.x(t);return s.join("")}}}var P=I((function(t){return"none"===t?C:(k||(k=document.createElement("DIV"),M=document.documentElement,A=document.defaultView),k.style.transform=t,t=A.getComputedStyle(M.appendChild(k),null).getPropertyValue("transform"),M.removeChild(k),L(+(t=t.slice(7,-1).split(","))[0],+t[1],+t[2],+t[3],+t[4],+t[5]))}),"px, ","px)","deg)"),z=I((function(t){return null==t?C:(S||(S=document.createElementNS("http://www.w3.org/2000/svg","g")),S.setAttribute("transform",t),(t=S.transform.baseVal.consolidate())?L((t=t.matrix).a,t.b,t.c,t.d,t.e,t.f):C)}),", ",")",")"),O=Math.SQRT2;function D(t){return((t=Math.exp(t))+1/t)/2}function R(t){return function(r,n){var i=t((r=e.hsl(r)).h,(n=e.hsl(n)).h),a=c(r.s,n.s),o=c(r.l,n.l),s=c(r.opacity,n.opacity);return function(t){return r.h=i(t),r.s=a(t),r.l=o(t),r.opacity=s(t),r+""}}}var F=R(s),B=R(c);function N(t){return function(r,n){var i=t((r=e.hcl(r)).h,(n=e.hcl(n)).h),a=c(r.c,n.c),o=c(r.l,n.l),s=c(r.opacity,n.opacity);return function(t){return r.h=i(t),r.c=a(t),r.l=o(t),r.opacity=s(t),r+""}}}var j=N(s),U=N(c);function V(t){return function r(n){function i(r,i){var a=t((r=e.cubehelix(r)).h,(i=e.cubehelix(i)).h),o=c(r.s,i.s),s=c(r.l,i.l),l=c(r.opacity,i.opacity);return function(t){return r.h=a(t),r.s=o(t),r.l=s(Math.pow(t,n)),r.opacity=l(t),r+""}}return n=+n,i.gamma=r,i}(1)}var q=V(s),H=V(c);t.interpolate=T,t.interpolateArray=function(t,e){return(g(e)?d:m)(t,e)},t.interpolateBasis=n,t.interpolateBasisClosed=i,t.interpolateCubehelix=q,t.interpolateCubehelixLong=H,t.interpolateDate=v,t.interpolateDiscrete=function(t){var e=t.length;return function(r){return t[Math.max(0,Math.min(e-1,Math.floor(r*e)))]}},t.interpolateHcl=j,t.interpolateHclLong=U,t.interpolateHsl=F,t.interpolateHslLong=B,t.interpolateHue=function(t,e){var r=s(+t,+e);return function(t){var e=r(t);return e-360*Math.floor(e/360)}},t.interpolateLab=function(t,r){var n=c((t=e.lab(t)).l,(r=e.lab(r)).l),i=c(t.a,r.a),a=c(t.b,r.b),o=c(t.opacity,r.opacity);return function(e){return t.l=n(e),t.a=i(e),t.b=a(e),t.opacity=o(e),t+""}},t.interpolateNumber=y,t.interpolateNumberArray=d,t.interpolateObject=x,t.interpolateRgb=u,t.interpolateRgbBasis=h,t.interpolateRgbBasisClosed=p,t.interpolateRound=function(t,e){return t=+t,e=+e,function(r){return Math.round(t*(1-r)+e*r)}},t.interpolateString=w,t.interpolateTransformCss=P,t.interpolateTransformSvg=z,t.interpolateZoom=function(t,e){var r,n,i=t[0],a=t[1],o=t[2],s=e[0],l=e[1],c=e[2],u=s-i,f=l-a,h=u*u+f*f;if(h<1e-12)n=Math.log(c/o)/O,r=function(t){return[i+t*u,a+t*f,o*Math.exp(O*t*n)]};else{var p=Math.sqrt(h),d=(c*c-o*o+4*h)/(2*o*2*p),g=(c*c-o*o-4*h)/(2*c*2*p),m=Math.log(Math.sqrt(d*d+1)-d),v=Math.log(Math.sqrt(g*g+1)-g);n=(v-m)/O,r=function(t){var e,r=t*n,s=D(m),l=o/(2*p)*(s*(e=O*r+m,((e=Math.exp(2*e))-1)/(e+1))-function(t){return((t=Math.exp(t))-1/t)/2}(m));return[i+l*u,a+l*f,o*s/D(O*r+m)]}}return r.duration=1e3*n,r},t.piecewise=function(t,e){for(var r=0,n=e.length-1,i=e[0],a=new Array(n<0?0:n);r<n;)a[r]=t(i,i=e[++r]);return function(t){var e=Math.max(0,Math.min(n-1,Math.floor(t*=n)));return a[e](t-e)}},t.quantize=function(t,e){for(var r=new Array(e),n=0;n<e;++n)r[n]=t(n/(e-1));return r},Object.defineProperty(t,"__esModule",{value:!0})}))},{"d3-color":158}],163:[function(t,e,r){!function(t,n){"object"==typeof r&&"undefined"!=typeof e?n(r):n((t=t||self).d3=t.d3||{})}(this,(function(t){"use strict";var e=Math.PI,r=2*e,n=r-1e-6;function i(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function a(){return new i}i.prototype=a.prototype={constructor:i,moveTo:function(t,e){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)},closePath:function(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(t,e){this._+="L"+(this._x1=+t)+","+(this._y1=+e)},quadraticCurveTo:function(t,e,r,n){this._+="Q"+ +t+","+ +e+","+(this._x1=+r)+","+(this._y1=+n)},bezierCurveTo:function(t,e,r,n,i,a){this._+="C"+ +t+","+ +e+","+ +r+","+ +n+","+(this._x1=+i)+","+(this._y1=+a)},arcTo:function(t,r,n,i,a){t=+t,r=+r,n=+n,i=+i,a=+a;var o=this._x1,s=this._y1,l=n-t,c=i-r,u=o-t,f=s-r,h=u*u+f*f;if(a<0)throw new Error("negative radius: "+a);if(null===this._x1)this._+="M"+(this._x1=t)+","+(this._y1=r);else if(h>1e-6)if(Math.abs(f*l-c*u)>1e-6&&a){var p=n-o,d=i-s,g=l*l+c*c,m=p*p+d*d,v=Math.sqrt(g),y=Math.sqrt(h),x=a*Math.tan((e-Math.acos((g+h-m)/(2*v*y)))/2),b=x/y,_=x/v;Math.abs(b-1)>1e-6&&(this._+="L"+(t+b*u)+","+(r+b*f)),this._+="A"+a+","+a+",0,0,"+ +(f*p>u*d)+","+(this._x1=t+_*l)+","+(this._y1=r+_*c)}else this._+="L"+(this._x1=t)+","+(this._y1=r);else;},arc:function(t,i,a,o,s,l){t=+t,i=+i,l=!!l;var c=(a=+a)*Math.cos(o),u=a*Math.sin(o),f=t+c,h=i+u,p=1^l,d=l?o-s:s-o;if(a<0)throw new Error("negative radius: "+a);null===this._x1?this._+="M"+f+","+h:(Math.abs(this._x1-f)>1e-6||Math.abs(this._y1-h)>1e-6)&&(this._+="L"+f+","+h),a&&(d<0&&(d=d%r+r),d>n?this._+="A"+a+","+a+",0,1,"+p+","+(t-c)+","+(i-u)+"A"+a+","+a+",0,1,"+p+","+(this._x1=f)+","+(this._y1=h):d>1e-6&&(this._+="A"+a+","+a+",0,"+ +(d>=e)+","+p+","+(this._x1=t+a*Math.cos(s))+","+(this._y1=i+a*Math.sin(s))))},rect:function(t,e,r,n){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)+"h"+ +r+"v"+ +n+"h"+-r+"Z"},toString:function(){return this._}},t.path=a,Object.defineProperty(t,"__esModule",{value:!0})}))},{}],164:[function(t,e,r){!function(t,n){"object"==typeof r&&"undefined"!=typeof e?n(r):n((t=t||self).d3=t.d3||{})}(this,(function(t){"use strict";function e(t,e,r,n){if(isNaN(e)||isNaN(r))return t;var i,a,o,s,l,c,u,f,h,p=t._root,d={data:n},g=t._x0,m=t._y0,v=t._x1,y=t._y1;if(!p)return t._root=d,t;for(;p.length;)if((c=e>=(a=(g+v)/2))?g=a:v=a,(u=r>=(o=(m+y)/2))?m=o:y=o,i=p,!(p=p[f=u<<1|c]))return i[f]=d,t;if(s=+t._x.call(null,p.data),l=+t._y.call(null,p.data),e===s&&r===l)return d.next=p,i?i[f]=d:t._root=d,t;do{i=i?i[f]=new Array(4):t._root=new Array(4),(c=e>=(a=(g+v)/2))?g=a:v=a,(u=r>=(o=(m+y)/2))?m=o:y=o}while((f=u<<1|c)==(h=(l>=o)<<1|s>=a));return i[h]=p,i[f]=d,t}function r(t,e,r,n,i){this.node=t,this.x0=e,this.y0=r,this.x1=n,this.y1=i}function n(t){return t[0]}function i(t){return t[1]}function a(t,e,r){var a=new o(null==e?n:e,null==r?i:r,NaN,NaN,NaN,NaN);return null==t?a:a.addAll(t)}function o(t,e,r,n,i,a){this._x=t,this._y=e,this._x0=r,this._y0=n,this._x1=i,this._y1=a,this._root=void 0}function s(t){for(var e={data:t.data},r=e;t=t.next;)r=r.next={data:t.data};return e}var l=a.prototype=o.prototype;l.copy=function(){var t,e,r=new o(this._x,this._y,this._x0,this._y0,this._x1,this._y1),n=this._root;if(!n)return r;if(!n.length)return r._root=s(n),r;for(t=[{source:n,target:r._root=new Array(4)}];n=t.pop();)for(var i=0;i<4;++i)(e=n.source[i])&&(e.length?t.push({source:e,target:n.target[i]=new Array(4)}):n.target[i]=s(e));return r},l.add=function(t){var r=+this._x.call(null,t),n=+this._y.call(null,t);return e(this.cover(r,n),r,n,t)},l.addAll=function(t){var r,n,i,a,o=t.length,s=new Array(o),l=new Array(o),c=1/0,u=1/0,f=-1/0,h=-1/0;for(n=0;n<o;++n)isNaN(i=+this._x.call(null,r=t[n]))||isNaN(a=+this._y.call(null,r))||(s[n]=i,l[n]=a,i<c&&(c=i),i>f&&(f=i),a<u&&(u=a),a>h&&(h=a));if(c>f||u>h)return this;for(this.cover(c,u).cover(f,h),n=0;n<o;++n)e(this,s[n],l[n],t[n]);return this},l.cover=function(t,e){if(isNaN(t=+t)||isNaN(e=+e))return this;var r=this._x0,n=this._y0,i=this._x1,a=this._y1;if(isNaN(r))i=(r=Math.floor(t))+1,a=(n=Math.floor(e))+1;else{for(var o,s,l=i-r,c=this._root;r>t||t>=i||n>e||e>=a;)switch(s=(e<n)<<1|t<r,(o=new Array(4))[s]=c,c=o,l*=2,s){case 0:i=r+l,a=n+l;break;case 1:r=i-l,a=n+l;break;case 2:i=r+l,n=a-l;break;case 3:r=i-l,n=a-l}this._root&&this._root.length&&(this._root=c)}return this._x0=r,this._y0=n,this._x1=i,this._y1=a,this},l.data=function(){var t=[];return this.visit((function(e){if(!e.length)do{t.push(e.data)}while(e=e.next)})),t},l.extent=function(t){return arguments.length?this.cover(+t[0][0],+t[0][1]).cover(+t[1][0],+t[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]},l.find=function(t,e,n){var i,a,o,s,l,c,u,f=this._x0,h=this._y0,p=this._x1,d=this._y1,g=[],m=this._root;for(m&&g.push(new r(m,f,h,p,d)),null==n?n=1/0:(f=t-n,h=e-n,p=t+n,d=e+n,n*=n);c=g.pop();)if(!(!(m=c.node)||(a=c.x0)>p||(o=c.y0)>d||(s=c.x1)<f||(l=c.y1)<h))if(m.length){var v=(a+s)/2,y=(o+l)/2;g.push(new r(m[3],v,y,s,l),new r(m[2],a,y,v,l),new r(m[1],v,o,s,y),new r(m[0],a,o,v,y)),(u=(e>=y)<<1|t>=v)&&(c=g[g.length-1],g[g.length-1]=g[g.length-1-u],g[g.length-1-u]=c)}else{var x=t-+this._x.call(null,m.data),b=e-+this._y.call(null,m.data),_=x*x+b*b;if(_<n){var w=Math.sqrt(n=_);f=t-w,h=e-w,p=t+w,d=e+w,i=m.data}}return i},l.remove=function(t){if(isNaN(a=+this._x.call(null,t))||isNaN(o=+this._y.call(null,t)))return this;var e,r,n,i,a,o,s,l,c,u,f,h,p=this._root,d=this._x0,g=this._y0,m=this._x1,v=this._y1;if(!p)return this;if(p.length)for(;;){if((c=a>=(s=(d+m)/2))?d=s:m=s,(u=o>=(l=(g+v)/2))?g=l:v=l,e=p,!(p=p[f=u<<1|c]))return this;if(!p.length)break;(e[f+1&3]||e[f+2&3]||e[f+3&3])&&(r=e,h=f)}for(;p.data!==t;)if(n=p,!(p=p.next))return this;return(i=p.next)&&delete p.next,n?(i?n.next=i:delete n.next,this):e?(i?e[f]=i:delete e[f],(p=e[0]||e[1]||e[2]||e[3])&&p===(e[3]||e[2]||e[1]||e[0])&&!p.length&&(r?r[h]=p:this._root=p),this):(this._root=i,this)},l.removeAll=function(t){for(var e=0,r=t.length;e<r;++e)this.remove(t[e]);return this},l.root=function(){return this._root},l.size=function(){var t=0;return this.visit((function(e){if(!e.length)do{++t}while(e=e.next)})),t},l.visit=function(t){var e,n,i,a,o,s,l=[],c=this._root;for(c&&l.push(new r(c,this._x0,this._y0,this._x1,this._y1));e=l.pop();)if(!t(c=e.node,i=e.x0,a=e.y0,o=e.x1,s=e.y1)&&c.length){var u=(i+o)/2,f=(a+s)/2;(n=c[3])&&l.push(new r(n,u,f,o,s)),(n=c[2])&&l.push(new r(n,i,f,u,s)),(n=c[1])&&l.push(new r(n,u,a,o,f)),(n=c[0])&&l.push(new r(n,i,a,u,f))}return this},l.visitAfter=function(t){var e,n=[],i=[];for(this._root&&n.push(new r(this._root,this._x0,this._y0,this._x1,this._y1));e=n.pop();){var a=e.node;if(a.length){var o,s=e.x0,l=e.y0,c=e.x1,u=e.y1,f=(s+c)/2,h=(l+u)/2;(o=a[0])&&n.push(new r(o,s,l,f,h)),(o=a[1])&&n.push(new r(o,f,l,c,h)),(o=a[2])&&n.push(new r(o,s,h,f,u)),(o=a[3])&&n.push(new r(o,f,h,c,u))}i.push(e)}for(;e=i.pop();)t(e.node,e.x0,e.y0,e.x1,e.y1);return this},l.x=function(t){return arguments.length?(this._x=t,this):this._x},l.y=function(t){return arguments.length?(this._y=t,this):this._y},t.quadtree=a,Object.defineProperty(t,"__esModule",{value:!0})}))},{}],165:[function(t,e,r){!function(n,i){"object"==typeof r&&"undefined"!=typeof e?i(r,t("d3-path")):i((n=n||self).d3=n.d3||{},n.d3)}(this,(function(t,e){"use strict";function r(t){return function(){return t}}var n=Math.abs,i=Math.atan2,a=Math.cos,o=Math.max,s=Math.min,l=Math.sin,c=Math.sqrt,u=Math.PI,f=u/2,h=2*u;function p(t){return t>1?0:t<-1?u:Math.acos(t)}function d(t){return t>=1?f:t<=-1?-f:Math.asin(t)}function g(t){return t.innerRadius}function m(t){return t.outerRadius}function v(t){return t.startAngle}function y(t){return t.endAngle}function x(t){return t&&t.padAngle}function b(t,e,r,n,i,a,o,s){var l=r-t,c=n-e,u=o-i,f=s-a,h=f*l-u*c;if(!(h*h<1e-12))return[t+(h=(u*(e-a)-f*(t-i))/h)*l,e+h*c]}function _(t,e,r,n,i,a,s){var l=t-r,u=e-n,f=(s?a:-a)/c(l*l+u*u),h=f*u,p=-f*l,d=t+h,g=e+p,m=r+h,v=n+p,y=(d+m)/2,x=(g+v)/2,b=m-d,_=v-g,w=b*b+_*_,T=i-a,k=d*v-m*g,M=(_<0?-1:1)*c(o(0,T*T*w-k*k)),A=(k*_-b*M)/w,S=(-k*b-_*M)/w,E=(k*_+b*M)/w,C=(-k*b+_*M)/w,L=A-y,I=S-x,P=E-y,z=C-x;return L*L+I*I>P*P+z*z&&(A=E,S=C),{cx:A,cy:S,x01:-h,y01:-p,x11:A*(i/T-1),y11:S*(i/T-1)}}function w(t){this._context=t}function T(t){return new w(t)}function k(t){return t[0]}function M(t){return t[1]}function A(){var t=k,n=M,i=r(!0),a=null,o=T,s=null;function l(r){var l,c,u,f=r.length,h=!1;for(null==a&&(s=o(u=e.path())),l=0;l<=f;++l)!(l<f&&i(c=r[l],l,r))===h&&((h=!h)?s.lineStart():s.lineEnd()),h&&s.point(+t(c,l,r),+n(c,l,r));if(u)return s=null,u+""||null}return l.x=function(e){return arguments.length?(t="function"==typeof e?e:r(+e),l):t},l.y=function(t){return arguments.length?(n="function"==typeof t?t:r(+t),l):n},l.defined=function(t){return arguments.length?(i="function"==typeof t?t:r(!!t),l):i},l.curve=function(t){return arguments.length?(o=t,null!=a&&(s=o(a)),l):o},l.context=function(t){return arguments.length?(null==t?a=s=null:s=o(a=t),l):a},l}function S(){var t=k,n=null,i=r(0),a=M,o=r(!0),s=null,l=T,c=null;function u(r){var u,f,h,p,d,g=r.length,m=!1,v=new Array(g),y=new Array(g);for(null==s&&(c=l(d=e.path())),u=0;u<=g;++u){if(!(u<g&&o(p=r[u],u,r))===m)if(m=!m)f=u,c.areaStart(),c.lineStart();else{for(c.lineEnd(),c.lineStart(),h=u-1;h>=f;--h)c.point(v[h],y[h]);c.lineEnd(),c.areaEnd()}m&&(v[u]=+t(p,u,r),y[u]=+i(p,u,r),c.point(n?+n(p,u,r):v[u],a?+a(p,u,r):y[u]))}if(d)return c=null,d+""||null}function f(){return A().defined(o).curve(l).context(s)}return u.x=function(e){return arguments.length?(t="function"==typeof e?e:r(+e),n=null,u):t},u.x0=function(e){return arguments.length?(t="function"==typeof e?e:r(+e),u):t},u.x1=function(t){return arguments.length?(n=null==t?null:"function"==typeof t?t:r(+t),u):n},u.y=function(t){return arguments.length?(i="function"==typeof t?t:r(+t),a=null,u):i},u.y0=function(t){return arguments.length?(i="function"==typeof t?t:r(+t),u):i},u.y1=function(t){return arguments.length?(a=null==t?null:"function"==typeof t?t:r(+t),u):a},u.lineX0=u.lineY0=function(){return f().x(t).y(i)},u.lineY1=function(){return f().x(t).y(a)},u.lineX1=function(){return f().x(n).y(i)},u.defined=function(t){return arguments.length?(o="function"==typeof t?t:r(!!t),u):o},u.curve=function(t){return arguments.length?(l=t,null!=s&&(c=l(s)),u):l},u.context=function(t){return arguments.length?(null==t?s=c=null:c=l(s=t),u):s},u}function E(t,e){return e<t?-1:e>t?1:e>=t?0:NaN}function C(t){return t}w.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:this._context.lineTo(t,e)}}};var L=P(T);function I(t){this._curve=t}function P(t){function e(e){return new I(t(e))}return e._curve=t,e}function z(t){var e=t.curve;return t.angle=t.x,delete t.x,t.radius=t.y,delete t.y,t.curve=function(t){return arguments.length?e(P(t)):e()._curve},t}function O(){return z(A().curve(L))}function D(){var t=S().curve(L),e=t.curve,r=t.lineX0,n=t.lineX1,i=t.lineY0,a=t.lineY1;return t.angle=t.x,delete t.x,t.startAngle=t.x0,delete t.x0,t.endAngle=t.x1,delete t.x1,t.radius=t.y,delete t.y,t.innerRadius=t.y0,delete t.y0,t.outerRadius=t.y1,delete t.y1,t.lineStartAngle=function(){return z(r())},delete t.lineX0,t.lineEndAngle=function(){return z(n())},delete t.lineX1,t.lineInnerRadius=function(){return z(i())},delete t.lineY0,t.lineOuterRadius=function(){return z(a())},delete t.lineY1,t.curve=function(t){return arguments.length?e(P(t)):e()._curve},t}function R(t,e){return[(e=+e)*Math.cos(t-=Math.PI/2),e*Math.sin(t)]}I.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(t,e){this._curve.point(e*Math.sin(t),e*-Math.cos(t))}};var F=Array.prototype.slice;function B(t){return t.source}function N(t){return t.target}function j(t){var n=B,i=N,a=k,o=M,s=null;function l(){var r,l=F.call(arguments),c=n.apply(this,l),u=i.apply(this,l);if(s||(s=r=e.path()),t(s,+a.apply(this,(l[0]=c,l)),+o.apply(this,l),+a.apply(this,(l[0]=u,l)),+o.apply(this,l)),r)return s=null,r+""||null}return l.source=function(t){return arguments.length?(n=t,l):n},l.target=function(t){return arguments.length?(i=t,l):i},l.x=function(t){return arguments.length?(a="function"==typeof t?t:r(+t),l):a},l.y=function(t){return arguments.length?(o="function"==typeof t?t:r(+t),l):o},l.context=function(t){return arguments.length?(s=null==t?null:t,l):s},l}function U(t,e,r,n,i){t.moveTo(e,r),t.bezierCurveTo(e=(e+n)/2,r,e,i,n,i)}function V(t,e,r,n,i){t.moveTo(e,r),t.bezierCurveTo(e,r=(r+i)/2,n,r,n,i)}function q(t,e,r,n,i){var a=R(e,r),o=R(e,r=(r+i)/2),s=R(n,r),l=R(n,i);t.moveTo(a[0],a[1]),t.bezierCurveTo(o[0],o[1],s[0],s[1],l[0],l[1])}var H={draw:function(t,e){var r=Math.sqrt(e/u);t.moveTo(r,0),t.arc(0,0,r,0,h)}},G={draw:function(t,e){var r=Math.sqrt(e/5)/2;t.moveTo(-3*r,-r),t.lineTo(-r,-r),t.lineTo(-r,-3*r),t.lineTo(r,-3*r),t.lineTo(r,-r),t.lineTo(3*r,-r),t.lineTo(3*r,r),t.lineTo(r,r),t.lineTo(r,3*r),t.lineTo(-r,3*r),t.lineTo(-r,r),t.lineTo(-3*r,r),t.closePath()}},Y=Math.sqrt(1/3),W=2*Y,X={draw:function(t,e){var r=Math.sqrt(e/W),n=r*Y;t.moveTo(0,-r),t.lineTo(n,0),t.lineTo(0,r),t.lineTo(-n,0),t.closePath()}},Z=Math.sin(u/10)/Math.sin(7*u/10),J=Math.sin(h/10)*Z,K=-Math.cos(h/10)*Z,Q={draw:function(t,e){var r=Math.sqrt(.8908130915292852*e),n=J*r,i=K*r;t.moveTo(0,-r),t.lineTo(n,i);for(var a=1;a<5;++a){var o=h*a/5,s=Math.cos(o),l=Math.sin(o);t.lineTo(l*r,-s*r),t.lineTo(s*n-l*i,l*n+s*i)}t.closePath()}},$={draw:function(t,e){var r=Math.sqrt(e),n=-r/2;t.rect(n,n,r,r)}},tt=Math.sqrt(3),et={draw:function(t,e){var r=-Math.sqrt(e/(3*tt));t.moveTo(0,2*r),t.lineTo(-tt*r,-r),t.lineTo(tt*r,-r),t.closePath()}},rt=-.5,nt=Math.sqrt(3)/2,it=1/Math.sqrt(12),at=3*(it/2+1),ot={draw:function(t,e){var r=Math.sqrt(e/at),n=r/2,i=r*it,a=n,o=r*it+r,s=-a,l=o;t.moveTo(n,i),t.lineTo(a,o),t.lineTo(s,l),t.lineTo(rt*n-nt*i,nt*n+rt*i),t.lineTo(rt*a-nt*o,nt*a+rt*o),t.lineTo(rt*s-nt*l,nt*s+rt*l),t.lineTo(rt*n+nt*i,rt*i-nt*n),t.lineTo(rt*a+nt*o,rt*o-nt*a),t.lineTo(rt*s+nt*l,rt*l-nt*s),t.closePath()}},st=[H,G,X,$,Q,et,ot];function lt(){}function ct(t,e,r){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+r)/6)}function ut(t){this._context=t}function ft(t){this._context=t}function ht(t){this._context=t}function pt(t,e){this._basis=new ut(t),this._beta=e}ut.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:ct(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:ct(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},ft.prototype={areaStart:lt,areaEnd:lt,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4)}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x2=t,this._y2=e;break;case 1:this._point=2,this._x3=t,this._y3=e;break;case 2:this._point=3,this._x4=t,this._y4=e,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:ct(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},ht.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var r=(this._x0+4*this._x1+t)/6,n=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(r,n):this._context.moveTo(r,n);break;case 3:this._point=4;default:ct(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},pt.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var t=this._x,e=this._y,r=t.length-1;if(r>0)for(var n,i=t[0],a=e[0],o=t[r]-i,s=e[r]-a,l=-1;++l<=r;)n=l/r,this._basis.point(this._beta*t[l]+(1-this._beta)*(i+n*o),this._beta*e[l]+(1-this._beta)*(a+n*s));this._x=this._y=null,this._basis.lineEnd()},point:function(t,e){this._x.push(+t),this._y.push(+e)}};var dt=function t(e){function r(t){return 1===e?new ut(t):new pt(t,e)}return r.beta=function(e){return t(+e)},r}(.85);function gt(t,e,r){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-e),t._y2+t._k*(t._y1-r),t._x2,t._y2)}function mt(t,e){this._context=t,this._k=(1-e)/6}mt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:gt(this,this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2,this._x1=t,this._y1=e;break;case 2:this._point=3;default:gt(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var vt=function t(e){function r(t){return new mt(t,e)}return r.tension=function(e){return t(+e)},r}(0);function yt(t,e){this._context=t,this._k=(1-e)/6}yt.prototype={areaStart:lt,areaEnd:lt,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:gt(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var xt=function t(e){function r(t){return new yt(t,e)}return r.tension=function(e){return t(+e)},r}(0);function bt(t,e){this._context=t,this._k=(1-e)/6}bt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:gt(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var _t=function t(e){function r(t){return new bt(t,e)}return r.tension=function(e){return t(+e)},r}(0);function wt(t,e,r){var n=t._x1,i=t._y1,a=t._x2,o=t._y2;if(t._l01_a>1e-12){var s=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,l=3*t._l01_a*(t._l01_a+t._l12_a);n=(n*s-t._x0*t._l12_2a+t._x2*t._l01_2a)/l,i=(i*s-t._y0*t._l12_2a+t._y2*t._l01_2a)/l}if(t._l23_a>1e-12){var c=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,u=3*t._l23_a*(t._l23_a+t._l12_a);a=(a*c+t._x1*t._l23_2a-e*t._l12_2a)/u,o=(o*c+t._y1*t._l23_2a-r*t._l12_2a)/u}t._context.bezierCurveTo(n,i,a,o,t._x2,t._y2)}function Tt(t,e){this._context=t,this._alpha=e}Tt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3;default:wt(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var kt=function t(e){function r(t){return e?new Tt(t,e):new mt(t,0)}return r.alpha=function(e){return t(+e)},r}(.5);function Mt(t,e){this._context=t,this._alpha=e}Mt.prototype={areaStart:lt,areaEnd:lt,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:wt(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var At=function t(e){function r(t){return e?new Mt(t,e):new yt(t,0)}return r.alpha=function(e){return t(+e)},r}(.5);function St(t,e){this._context=t,this._alpha=e}St.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:wt(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var Et=function t(e){function r(t){return e?new St(t,e):new bt(t,0)}return r.alpha=function(e){return t(+e)},r}(.5);function Ct(t){this._context=t}function Lt(t){return t<0?-1:1}function It(t,e,r){var n=t._x1-t._x0,i=e-t._x1,a=(t._y1-t._y0)/(n||i<0&&-0),o=(r-t._y1)/(i||n<0&&-0),s=(a*i+o*n)/(n+i);return(Lt(a)+Lt(o))*Math.min(Math.abs(a),Math.abs(o),.5*Math.abs(s))||0}function Pt(t,e){var r=t._x1-t._x0;return r?(3*(t._y1-t._y0)/r-e)/2:e}function zt(t,e,r){var n=t._x0,i=t._y0,a=t._x1,o=t._y1,s=(a-n)/3;t._context.bezierCurveTo(n+s,i+s*e,a-s,o-s*r,a,o)}function Ot(t){this._context=t}function Dt(t){this._context=new Rt(t)}function Rt(t){this._context=t}function Ft(t){this._context=t}function Bt(t){var e,r,n=t.length-1,i=new Array(n),a=new Array(n),o=new Array(n);for(i[0]=0,a[0]=2,o[0]=t[0]+2*t[1],e=1;e<n-1;++e)i[e]=1,a[e]=4,o[e]=4*t[e]+2*t[e+1];for(i[n-1]=2,a[n-1]=7,o[n-1]=8*t[n-1]+t[n],e=1;e<n;++e)r=i[e]/a[e-1],a[e]-=r,o[e]-=r*o[e-1];for(i[n-1]=o[n-1]/a[n-1],e=n-2;e>=0;--e)i[e]=(o[e]-i[e+1])/a[e];for(a[n-1]=(t[n]+i[n-1])/2,e=0;e<n-1;++e)a[e]=2*t[e+1]-i[e+1];return[i,a]}function Nt(t,e){this._context=t,this._t=e}function jt(t,e){if((i=t.length)>1)for(var r,n,i,a=1,o=t[e[0]],s=o.length;a<i;++a)for(n=o,o=t[e[a]],r=0;r<s;++r)o[r][1]+=o[r][0]=isNaN(n[r][1])?n[r][0]:n[r][1]}function Ut(t){for(var e=t.length,r=new Array(e);--e>=0;)r[e]=e;return r}function Vt(t,e){return t[e]}function qt(t){var e=t.map(Ht);return Ut(t).sort((function(t,r){return e[t]-e[r]}))}function Ht(t){for(var e,r=-1,n=0,i=t.length,a=-1/0;++r<i;)(e=+t[r][1])>a&&(a=e,n=r);return n}function Gt(t){var e=t.map(Yt);return Ut(t).sort((function(t,r){return e[t]-e[r]}))}function Yt(t){for(var e,r=0,n=-1,i=t.length;++n<i;)(e=+t[n][1])&&(r+=e);return r}Ct.prototype={areaStart:lt,areaEnd:lt,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(t,e){t=+t,e=+e,this._point?this._context.lineTo(t,e):(this._point=1,this._context.moveTo(t,e))}},Ot.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:zt(this,this._t0,Pt(this,this._t0))}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){var r=NaN;if(e=+e,(t=+t)!==this._x1||e!==this._y1){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,zt(this,Pt(this,r=It(this,t,e)),r);break;default:zt(this,this._t0,r=It(this,t,e))}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e,this._t0=r}}},(Dt.prototype=Object.create(Ot.prototype)).point=function(t,e){Ot.prototype.point.call(this,e,t)},Rt.prototype={moveTo:function(t,e){this._context.moveTo(e,t)},closePath:function(){this._context.closePath()},lineTo:function(t,e){this._context.lineTo(e,t)},bezierCurveTo:function(t,e,r,n,i,a){this._context.bezierCurveTo(e,t,n,r,a,i)}},Ft.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var t=this._x,e=this._y,r=t.length;if(r)if(this._line?this._context.lineTo(t[0],e[0]):this._context.moveTo(t[0],e[0]),2===r)this._context.lineTo(t[1],e[1]);else for(var n=Bt(t),i=Bt(e),a=0,o=1;o<r;++a,++o)this._context.bezierCurveTo(n[0][a],i[0][a],n[1][a],i[1][a],t[o],e[o]);(this._line||0!==this._line&&1===r)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(t,e){this._x.push(+t),this._y.push(+e)}},Nt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&2===this._point&&this._context.lineTo(this._x,this._y),(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var r=this._x*(1-this._t)+t*this._t;this._context.lineTo(r,this._y),this._context.lineTo(r,e)}}this._x=t,this._y=e}},t.arc=function(){var t=g,o=m,w=r(0),T=null,k=v,M=y,A=x,S=null;function E(){var r,g,m=+t.apply(this,arguments),v=+o.apply(this,arguments),y=k.apply(this,arguments)-f,x=M.apply(this,arguments)-f,E=n(x-y),C=x>y;if(S||(S=r=e.path()),v<m&&(g=v,v=m,m=g),v>1e-12)if(E>h-1e-12)S.moveTo(v*a(y),v*l(y)),S.arc(0,0,v,y,x,!C),m>1e-12&&(S.moveTo(m*a(x),m*l(x)),S.arc(0,0,m,x,y,C));else{var L,I,P=y,z=x,O=y,D=x,R=E,F=E,B=A.apply(this,arguments)/2,N=B>1e-12&&(T?+T.apply(this,arguments):c(m*m+v*v)),j=s(n(v-m)/2,+w.apply(this,arguments)),U=j,V=j;if(N>1e-12){var q=d(N/m*l(B)),H=d(N/v*l(B));(R-=2*q)>1e-12?(O+=q*=C?1:-1,D-=q):(R=0,O=D=(y+x)/2),(F-=2*H)>1e-12?(P+=H*=C?1:-1,z-=H):(F=0,P=z=(y+x)/2)}var G=v*a(P),Y=v*l(P),W=m*a(D),X=m*l(D);if(j>1e-12){var Z,J=v*a(z),K=v*l(z),Q=m*a(O),$=m*l(O);if(E<u&&(Z=b(G,Y,Q,$,J,K,W,X))){var tt=G-Z[0],et=Y-Z[1],rt=J-Z[0],nt=K-Z[1],it=1/l(p((tt*rt+et*nt)/(c(tt*tt+et*et)*c(rt*rt+nt*nt)))/2),at=c(Z[0]*Z[0]+Z[1]*Z[1]);U=s(j,(m-at)/(it-1)),V=s(j,(v-at)/(it+1))}}F>1e-12?V>1e-12?(L=_(Q,$,G,Y,v,V,C),I=_(J,K,W,X,v,V,C),S.moveTo(L.cx+L.x01,L.cy+L.y01),V<j?S.arc(L.cx,L.cy,V,i(L.y01,L.x01),i(I.y01,I.x01),!C):(S.arc(L.cx,L.cy,V,i(L.y01,L.x01),i(L.y11,L.x11),!C),S.arc(0,0,v,i(L.cy+L.y11,L.cx+L.x11),i(I.cy+I.y11,I.cx+I.x11),!C),S.arc(I.cx,I.cy,V,i(I.y11,I.x11),i(I.y01,I.x01),!C))):(S.moveTo(G,Y),S.arc(0,0,v,P,z,!C)):S.moveTo(G,Y),m>1e-12&&R>1e-12?U>1e-12?(L=_(W,X,J,K,m,-U,C),I=_(G,Y,Q,$,m,-U,C),S.lineTo(L.cx+L.x01,L.cy+L.y01),U<j?S.arc(L.cx,L.cy,U,i(L.y01,L.x01),i(I.y01,I.x01),!C):(S.arc(L.cx,L.cy,U,i(L.y01,L.x01),i(L.y11,L.x11),!C),S.arc(0,0,m,i(L.cy+L.y11,L.cx+L.x11),i(I.cy+I.y11,I.cx+I.x11),C),S.arc(I.cx,I.cy,U,i(I.y11,I.x11),i(I.y01,I.x01),!C))):S.arc(0,0,m,D,O,C):S.lineTo(W,X)}else S.moveTo(0,0);if(S.closePath(),r)return S=null,r+""||null}return E.centroid=function(){var e=(+t.apply(this,arguments)+ +o.apply(this,arguments))/2,r=(+k.apply(this,arguments)+ +M.apply(this,arguments))/2-u/2;return[a(r)*e,l(r)*e]},E.innerRadius=function(e){return arguments.length?(t="function"==typeof e?e:r(+e),E):t},E.outerRadius=function(t){return arguments.length?(o="function"==typeof t?t:r(+t),E):o},E.cornerRadius=function(t){return arguments.length?(w="function"==typeof t?t:r(+t),E):w},E.padRadius=function(t){return arguments.length?(T=null==t?null:"function"==typeof t?t:r(+t),E):T},E.startAngle=function(t){return arguments.length?(k="function"==typeof t?t:r(+t),E):k},E.endAngle=function(t){return arguments.length?(M="function"==typeof t?t:r(+t),E):M},E.padAngle=function(t){return arguments.length?(A="function"==typeof t?t:r(+t),E):A},E.context=function(t){return arguments.length?(S=null==t?null:t,E):S},E},t.area=S,t.areaRadial=D,t.curveBasis=function(t){return new ut(t)},t.curveBasisClosed=function(t){return new ft(t)},t.curveBasisOpen=function(t){return new ht(t)},t.curveBundle=dt,t.curveCardinal=vt,t.curveCardinalClosed=xt,t.curveCardinalOpen=_t,t.curveCatmullRom=kt,t.curveCatmullRomClosed=At,t.curveCatmullRomOpen=Et,t.curveLinear=T,t.curveLinearClosed=function(t){return new Ct(t)},t.curveMonotoneX=function(t){return new Ot(t)},t.curveMonotoneY=function(t){return new Dt(t)},t.curveNatural=function(t){return new Ft(t)},t.curveStep=function(t){return new Nt(t,.5)},t.curveStepAfter=function(t){return new Nt(t,1)},t.curveStepBefore=function(t){return new Nt(t,0)},t.line=A,t.lineRadial=O,t.linkHorizontal=function(){return j(U)},t.linkRadial=function(){var t=j(q);return t.angle=t.x,delete t.x,t.radius=t.y,delete t.y,t},t.linkVertical=function(){return j(V)},t.pie=function(){var t=C,e=E,n=null,i=r(0),a=r(h),o=r(0);function s(r){var s,l,c,u,f,p=r.length,d=0,g=new Array(p),m=new Array(p),v=+i.apply(this,arguments),y=Math.min(h,Math.max(-h,a.apply(this,arguments)-v)),x=Math.min(Math.abs(y)/p,o.apply(this,arguments)),b=x*(y<0?-1:1);for(s=0;s<p;++s)(f=m[g[s]=s]=+t(r[s],s,r))>0&&(d+=f);for(null!=e?g.sort((function(t,r){return e(m[t],m[r])})):null!=n&&g.sort((function(t,e){return n(r[t],r[e])})),s=0,c=d?(y-p*b)/d:0;s<p;++s,v=u)l=g[s],u=v+((f=m[l])>0?f*c:0)+b,m[l]={data:r[l],index:s,value:f,startAngle:v,endAngle:u,padAngle:x};return m}return s.value=function(e){return arguments.length?(t="function"==typeof e?e:r(+e),s):t},s.sortValues=function(t){return arguments.length?(e=t,n=null,s):e},s.sort=function(t){return arguments.length?(n=t,e=null,s):n},s.startAngle=function(t){return arguments.length?(i="function"==typeof t?t:r(+t),s):i},s.endAngle=function(t){return arguments.length?(a="function"==typeof t?t:r(+t),s):a},s.padAngle=function(t){return arguments.length?(o="function"==typeof t?t:r(+t),s):o},s},t.pointRadial=R,t.radialArea=D,t.radialLine=O,t.stack=function(){var t=r([]),e=Ut,n=jt,i=Vt;function a(r){var a,o,s=t.apply(this,arguments),l=r.length,c=s.length,u=new Array(c);for(a=0;a<c;++a){for(var f,h=s[a],p=u[a]=new Array(l),d=0;d<l;++d)p[d]=f=[0,+i(r[d],h,d,r)],f.data=r[d];p.key=h}for(a=0,o=e(u);a<c;++a)u[o[a]].index=a;return n(u,o),u}return a.keys=function(e){return arguments.length?(t="function"==typeof e?e:r(F.call(e)),a):t},a.value=function(t){return arguments.length?(i="function"==typeof t?t:r(+t),a):i},a.order=function(t){return arguments.length?(e=null==t?Ut:"function"==typeof t?t:r(F.call(t)),a):e},a.offset=function(t){return arguments.length?(n=null==t?jt:t,a):n},a},t.stackOffsetDiverging=function(t,e){if((s=t.length)>0)for(var r,n,i,a,o,s,l=0,c=t[e[0]].length;l<c;++l)for(a=o=0,r=0;r<s;++r)(i=(n=t[e[r]][l])[1]-n[0])>0?(n[0]=a,n[1]=a+=i):i<0?(n[1]=o,n[0]=o+=i):(n[0]=0,n[1]=i)},t.stackOffsetExpand=function(t,e){if((n=t.length)>0){for(var r,n,i,a=0,o=t[0].length;a<o;++a){for(i=r=0;r<n;++r)i+=t[r][a][1]||0;if(i)for(r=0;r<n;++r)t[r][a][1]/=i}jt(t,e)}},t.stackOffsetNone=jt,t.stackOffsetSilhouette=function(t,e){if((r=t.length)>0){for(var r,n=0,i=t[e[0]],a=i.length;n<a;++n){for(var o=0,s=0;o<r;++o)s+=t[o][n][1]||0;i[n][1]+=i[n][0]=-s/2}jt(t,e)}},t.stackOffsetWiggle=function(t,e){if((i=t.length)>0&&(n=(r=t[e[0]]).length)>0){for(var r,n,i,a=0,o=1;o<n;++o){for(var s=0,l=0,c=0;s<i;++s){for(var u=t[e[s]],f=u[o][1]||0,h=(f-(u[o-1][1]||0))/2,p=0;p<s;++p){var d=t[e[p]];h+=(d[o][1]||0)-(d[o-1][1]||0)}l+=f,c+=h*f}r[o-1][1]+=r[o-1][0]=a,l&&(a-=c/l)}r[o-1][1]+=r[o-1][0]=a,jt(t,e)}},t.stackOrderAppearance=qt,t.stackOrderAscending=Gt,t.stackOrderDescending=function(t){return Gt(t).reverse()},t.stackOrderInsideOut=function(t){var e,r,n=t.length,i=t.map(Yt),a=qt(t),o=0,s=0,l=[],c=[];for(e=0;e<n;++e)r=a[e],o<s?(o+=i[r],l.push(r)):(s+=i[r],c.push(r));return c.reverse().concat(l)},t.stackOrderNone=Ut,t.stackOrderReverse=function(t){return Ut(t).reverse()},t.symbol=function(){var t=r(H),n=r(64),i=null;function a(){var r;if(i||(i=r=e.path()),t.apply(this,arguments).draw(i,+n.apply(this,arguments)),r)return i=null,r+""||null}return a.type=function(e){return arguments.length?(t="function"==typeof e?e:r(e),a):t},a.size=function(t){return arguments.length?(n="function"==typeof t?t:r(+t),a):n},a.context=function(t){return arguments.length?(i=null==t?null:t,a):i},a},t.symbolCircle=H,t.symbolCross=G,t.symbolDiamond=X,t.symbolSquare=$,t.symbolStar=Q,t.symbolTriangle=et,t.symbolWye=ot,t.symbols=st,Object.defineProperty(t,"__esModule",{value:!0})}))},{"d3-path":163}],166:[function(t,e,r){!function(n,i){"object"==typeof r&&"undefined"!=typeof e?i(r,t("d3-time")):i((n=n||self).d3=n.d3||{},n.d3)}(this,(function(t,e){"use strict";function r(t){if(0<=t.y&&t.y<100){var e=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return e.setFullYear(t.y),e}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function n(t){if(0<=t.y&&t.y<100){var e=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return e.setUTCFullYear(t.y),e}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function i(t,e,r){return{y:t,m:e,d:r,H:0,M:0,S:0,L:0}}function a(t){var a=t.dateTime,o=t.date,l=t.time,c=t.periods,u=t.days,f=t.shortDays,h=t.months,yt=t.shortMonths,xt=p(c),bt=d(c),_t=p(u),wt=d(u),Tt=p(f),kt=d(f),Mt=p(h),At=d(h),St=p(yt),Et=d(yt),Ct={a:function(t){return f[t.getDay()]},A:function(t){return u[t.getDay()]},b:function(t){return yt[t.getMonth()]},B:function(t){return h[t.getMonth()]},c:null,d:D,e:D,f:j,H:R,I:F,j:B,L:N,m:U,M:V,p:function(t){return c[+(t.getHours()>=12)]},q:function(t){return 1+~~(t.getMonth()/3)},Q:mt,s:vt,S:q,u:H,U:G,V:Y,w:W,W:X,x:null,X:null,y:Z,Y:J,Z:K,"%":gt},Lt={a:function(t){return f[t.getUTCDay()]},A:function(t){return u[t.getUTCDay()]},b:function(t){return yt[t.getUTCMonth()]},B:function(t){return h[t.getUTCMonth()]},c:null,d:Q,e:Q,f:nt,H:$,I:tt,j:et,L:rt,m:it,M:at,p:function(t){return c[+(t.getUTCHours()>=12)]},q:function(t){return 1+~~(t.getUTCMonth()/3)},Q:mt,s:vt,S:ot,u:st,U:lt,V:ct,w:ut,W:ft,x:null,X:null,y:ht,Y:pt,Z:dt,"%":gt},It={a:function(t,e,r){var n=Tt.exec(e.slice(r));return n?(t.w=kt[n[0].toLowerCase()],r+n[0].length):-1},A:function(t,e,r){var n=_t.exec(e.slice(r));return n?(t.w=wt[n[0].toLowerCase()],r+n[0].length):-1},b:function(t,e,r){var n=St.exec(e.slice(r));return n?(t.m=Et[n[0].toLowerCase()],r+n[0].length):-1},B:function(t,e,r){var n=Mt.exec(e.slice(r));return n?(t.m=At[n[0].toLowerCase()],r+n[0].length):-1},c:function(t,e,r){return Ot(t,a,e,r)},d:M,e:M,f:I,H:S,I:S,j:A,L:L,m:k,M:E,p:function(t,e,r){var n=xt.exec(e.slice(r));return n?(t.p=bt[n[0].toLowerCase()],r+n[0].length):-1},q:T,Q:z,s:O,S:C,u:m,U:v,V:y,w:g,W:x,x:function(t,e,r){return Ot(t,o,e,r)},X:function(t,e,r){return Ot(t,l,e,r)},y:_,Y:b,Z:w,"%":P};function Pt(t,e){return function(r){var n,i,a,o=[],l=-1,c=0,u=t.length;for(r instanceof Date||(r=new Date(+r));++l<u;)37===t.charCodeAt(l)&&(o.push(t.slice(c,l)),null!=(i=s[n=t.charAt(++l)])?n=t.charAt(++l):i="e"===n?" ":"0",(a=e[n])&&(n=a(r,i)),o.push(n),c=l+1);return o.push(t.slice(c,l)),o.join("")}}function zt(t,a){return function(o){var s,l,c=i(1900,void 0,1);if(Ot(c,t,o+="",0)!=o.length)return null;if("Q"in c)return new Date(c.Q);if("s"in c)return new Date(1e3*c.s+("L"in c?c.L:0));if(a&&!("Z"in c)&&(c.Z=0),"p"in c&&(c.H=c.H%12+12*c.p),void 0===c.m&&(c.m="q"in c?c.q:0),"V"in c){if(c.V<1||c.V>53)return null;"w"in c||(c.w=1),"Z"in c?(l=(s=n(i(c.y,0,1))).getUTCDay(),s=l>4||0===l?e.utcMonday.ceil(s):e.utcMonday(s),s=e.utcDay.offset(s,7*(c.V-1)),c.y=s.getUTCFullYear(),c.m=s.getUTCMonth(),c.d=s.getUTCDate()+(c.w+6)%7):(l=(s=r(i(c.y,0,1))).getDay(),s=l>4||0===l?e.timeMonday.ceil(s):e.timeMonday(s),s=e.timeDay.offset(s,7*(c.V-1)),c.y=s.getFullYear(),c.m=s.getMonth(),c.d=s.getDate()+(c.w+6)%7)}else("W"in c||"U"in c)&&("w"in c||(c.w="u"in c?c.u%7:"W"in c?1:0),l="Z"in c?n(i(c.y,0,1)).getUTCDay():r(i(c.y,0,1)).getDay(),c.m=0,c.d="W"in c?(c.w+6)%7+7*c.W-(l+5)%7:c.w+7*c.U-(l+6)%7);return"Z"in c?(c.H+=c.Z/100|0,c.M+=c.Z%100,n(c)):r(c)}}function Ot(t,e,r,n){for(var i,a,o=0,l=e.length,c=r.length;o<l;){if(n>=c)return-1;if(37===(i=e.charCodeAt(o++))){if(i=e.charAt(o++),!(a=It[i in s?e.charAt(o++):i])||(n=a(t,r,n))<0)return-1}else if(i!=r.charCodeAt(n++))return-1}return n}return Ct.x=Pt(o,Ct),Ct.X=Pt(l,Ct),Ct.c=Pt(a,Ct),Lt.x=Pt(o,Lt),Lt.X=Pt(l,Lt),Lt.c=Pt(a,Lt),{format:function(t){var e=Pt(t+="",Ct);return e.toString=function(){return t},e},parse:function(t){var e=zt(t+="",!1);return e.toString=function(){return t},e},utcFormat:function(t){var e=Pt(t+="",Lt);return e.toString=function(){return t},e},utcParse:function(t){var e=zt(t+="",!0);return e.toString=function(){return t},e}}}var o,s={"-":"",_:" ",0:"0"},l=/^\s*\d+/,c=/^%/,u=/[\\^$*+?|[\]().{}]/g;function f(t,e,r){var n=t<0?"-":"",i=(n?-t:t)+"",a=i.length;return n+(a<r?new Array(r-a+1).join(e)+i:i)}function h(t){return t.replace(u,"\\$&")}function p(t){return new RegExp("^(?:"+t.map(h).join("|")+")","i")}function d(t){for(var e={},r=-1,n=t.length;++r<n;)e[t[r].toLowerCase()]=r;return e}function g(t,e,r){var n=l.exec(e.slice(r,r+1));return n?(t.w=+n[0],r+n[0].length):-1}function m(t,e,r){var n=l.exec(e.slice(r,r+1));return n?(t.u=+n[0],r+n[0].length):-1}function v(t,e,r){var n=l.exec(e.slice(r,r+2));return n?(t.U=+n[0],r+n[0].length):-1}function y(t,e,r){var n=l.exec(e.slice(r,r+2));return n?(t.V=+n[0],r+n[0].length):-1}function x(t,e,r){var n=l.exec(e.slice(r,r+2));return n?(t.W=+n[0],r+n[0].length):-1}function b(t,e,r){var n=l.exec(e.slice(r,r+4));return n?(t.y=+n[0],r+n[0].length):-1}function _(t,e,r){var n=l.exec(e.slice(r,r+2));return n?(t.y=+n[0]+(+n[0]>68?1900:2e3),r+n[0].length):-1}function w(t,e,r){var n=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(r,r+6));return n?(t.Z=n[1]?0:-(n[2]+(n[3]||"00")),r+n[0].length):-1}function T(t,e,r){var n=l.exec(e.slice(r,r+1));return n?(t.q=3*n[0]-3,r+n[0].length):-1}function k(t,e,r){var n=l.exec(e.slice(r,r+2));return n?(t.m=n[0]-1,r+n[0].length):-1}function M(t,e,r){var n=l.exec(e.slice(r,r+2));return n?(t.d=+n[0],r+n[0].length):-1}function A(t,e,r){var n=l.exec(e.slice(r,r+3));return n?(t.m=0,t.d=+n[0],r+n[0].length):-1}function S(t,e,r){var n=l.exec(e.slice(r,r+2));return n?(t.H=+n[0],r+n[0].length):-1}function E(t,e,r){var n=l.exec(e.slice(r,r+2));return n?(t.M=+n[0],r+n[0].length):-1}function C(t,e,r){var n=l.exec(e.slice(r,r+2));return n?(t.S=+n[0],r+n[0].length):-1}function L(t,e,r){var n=l.exec(e.slice(r,r+3));return n?(t.L=+n[0],r+n[0].length):-1}function I(t,e,r){var n=l.exec(e.slice(r,r+6));return n?(t.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function P(t,e,r){var n=c.exec(e.slice(r,r+1));return n?r+n[0].length:-1}function z(t,e,r){var n=l.exec(e.slice(r));return n?(t.Q=+n[0],r+n[0].length):-1}function O(t,e,r){var n=l.exec(e.slice(r));return n?(t.s=+n[0],r+n[0].length):-1}function D(t,e){return f(t.getDate(),e,2)}function R(t,e){return f(t.getHours(),e,2)}function F(t,e){return f(t.getHours()%12||12,e,2)}function B(t,r){return f(1+e.timeDay.count(e.timeYear(t),t),r,3)}function N(t,e){return f(t.getMilliseconds(),e,3)}function j(t,e){return N(t,e)+"000"}function U(t,e){return f(t.getMonth()+1,e,2)}function V(t,e){return f(t.getMinutes(),e,2)}function q(t,e){return f(t.getSeconds(),e,2)}function H(t){var e=t.getDay();return 0===e?7:e}function G(t,r){return f(e.timeSunday.count(e.timeYear(t)-1,t),r,2)}function Y(t,r){var n=t.getDay();return t=n>=4||0===n?e.timeThursday(t):e.timeThursday.ceil(t),f(e.timeThursday.count(e.timeYear(t),t)+(4===e.timeYear(t).getDay()),r,2)}function W(t){return t.getDay()}function X(t,r){return f(e.timeMonday.count(e.timeYear(t)-1,t),r,2)}function Z(t,e){return f(t.getFullYear()%100,e,2)}function J(t,e){return f(t.getFullYear()%1e4,e,4)}function K(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+f(e/60|0,"0",2)+f(e%60,"0",2)}function Q(t,e){return f(t.getUTCDate(),e,2)}function $(t,e){return f(t.getUTCHours(),e,2)}function tt(t,e){return f(t.getUTCHours()%12||12,e,2)}function et(t,r){return f(1+e.utcDay.count(e.utcYear(t),t),r,3)}function rt(t,e){return f(t.getUTCMilliseconds(),e,3)}function nt(t,e){return rt(t,e)+"000"}function it(t,e){return f(t.getUTCMonth()+1,e,2)}function at(t,e){return f(t.getUTCMinutes(),e,2)}function ot(t,e){return f(t.getUTCSeconds(),e,2)}function st(t){var e=t.getUTCDay();return 0===e?7:e}function lt(t,r){return f(e.utcSunday.count(e.utcYear(t)-1,t),r,2)}function ct(t,r){var n=t.getUTCDay();return t=n>=4||0===n?e.utcThursday(t):e.utcThursday.ceil(t),f(e.utcThursday.count(e.utcYear(t),t)+(4===e.utcYear(t).getUTCDay()),r,2)}function ut(t){return t.getUTCDay()}function ft(t,r){return f(e.utcMonday.count(e.utcYear(t)-1,t),r,2)}function ht(t,e){return f(t.getUTCFullYear()%100,e,2)}function pt(t,e){return f(t.getUTCFullYear()%1e4,e,4)}function dt(){return"+0000"}function gt(){return"%"}function mt(t){return+t}function vt(t){return Math.floor(+t/1e3)}function yt(e){return o=a(e),t.timeFormat=o.format,t.timeParse=o.parse,t.utcFormat=o.utcFormat,t.utcParse=o.utcParse,o}yt({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});var xt=Date.prototype.toISOString?function(t){return t.toISOString()}:t.utcFormat("%Y-%m-%dT%H:%M:%S.%LZ");var bt=+new Date("2000-01-01T00:00:00.000Z")?function(t){var e=new Date(t);return isNaN(e)?null:e}:t.utcParse("%Y-%m-%dT%H:%M:%S.%LZ");t.isoFormat=xt,t.isoParse=bt,t.timeFormatDefaultLocale=yt,t.timeFormatLocale=a,Object.defineProperty(t,"__esModule",{value:!0})}))},{"d3-time":167}],167:[function(t,e,r){!function(t,n){"object"==typeof r&&"undefined"!=typeof e?n(r):n((t=t||self).d3=t.d3||{})}(this,(function(t){"use strict";var e=new Date,r=new Date;function n(t,i,a,o){function s(e){return t(e=0===arguments.length?new Date:new Date(+e)),e}return s.floor=function(e){return t(e=new Date(+e)),e},s.ceil=function(e){return t(e=new Date(e-1)),i(e,1),t(e),e},s.round=function(t){var e=s(t),r=s.ceil(t);return t-e<r-t?e:r},s.offset=function(t,e){return i(t=new Date(+t),null==e?1:Math.floor(e)),t},s.range=function(e,r,n){var a,o=[];if(e=s.ceil(e),n=null==n?1:Math.floor(n),!(e<r&&n>0))return o;do{o.push(a=new Date(+e)),i(e,n),t(e)}while(a<e&&e<r);return o},s.filter=function(e){return n((function(r){if(r>=r)for(;t(r),!e(r);)r.setTime(r-1)}),(function(t,r){if(t>=t)if(r<0)for(;++r<=0;)for(;i(t,-1),!e(t););else for(;--r>=0;)for(;i(t,1),!e(t););}))},a&&(s.count=function(n,i){return e.setTime(+n),r.setTime(+i),t(e),t(r),Math.floor(a(e,r))},s.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?s.filter(o?function(e){return o(e)%t==0}:function(e){return s.count(0,e)%t==0}):s:null}),s}var i=n((function(){}),(function(t,e){t.setTime(+t+e)}),(function(t,e){return e-t}));i.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?n((function(e){e.setTime(Math.floor(e/t)*t)}),(function(e,r){e.setTime(+e+r*t)}),(function(e,r){return(r-e)/t})):i:null};var a=i.range,o=n((function(t){t.setTime(t-t.getMilliseconds())}),(function(t,e){t.setTime(+t+1e3*e)}),(function(t,e){return(e-t)/1e3}),(function(t){return t.getUTCSeconds()})),s=o.range,l=n((function(t){t.setTime(t-t.getMilliseconds()-1e3*t.getSeconds())}),(function(t,e){t.setTime(+t+6e4*e)}),(function(t,e){return(e-t)/6e4}),(function(t){return t.getMinutes()})),c=l.range,u=n((function(t){t.setTime(t-t.getMilliseconds()-1e3*t.getSeconds()-6e4*t.getMinutes())}),(function(t,e){t.setTime(+t+36e5*e)}),(function(t,e){return(e-t)/36e5}),(function(t){return t.getHours()})),f=u.range,h=n((function(t){t.setHours(0,0,0,0)}),(function(t,e){t.setDate(t.getDate()+e)}),(function(t,e){return(e-t-6e4*(e.getTimezoneOffset()-t.getTimezoneOffset()))/864e5}),(function(t){return t.getDate()-1})),p=h.range;function d(t){return n((function(e){e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)}),(function(t,e){t.setDate(t.getDate()+7*e)}),(function(t,e){return(e-t-6e4*(e.getTimezoneOffset()-t.getTimezoneOffset()))/6048e5}))}var g=d(0),m=d(1),v=d(2),y=d(3),x=d(4),b=d(5),_=d(6),w=g.range,T=m.range,k=v.range,M=y.range,A=x.range,S=b.range,E=_.range,C=n((function(t){t.setDate(1),t.setHours(0,0,0,0)}),(function(t,e){t.setMonth(t.getMonth()+e)}),(function(t,e){return e.getMonth()-t.getMonth()+12*(e.getFullYear()-t.getFullYear())}),(function(t){return t.getMonth()})),L=C.range,I=n((function(t){t.setMonth(0,1),t.setHours(0,0,0,0)}),(function(t,e){t.setFullYear(t.getFullYear()+e)}),(function(t,e){return e.getFullYear()-t.getFullYear()}),(function(t){return t.getFullYear()}));I.every=function(t){return isFinite(t=Math.floor(t))&&t>0?n((function(e){e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)}),(function(e,r){e.setFullYear(e.getFullYear()+r*t)})):null};var P=I.range,z=n((function(t){t.setUTCSeconds(0,0)}),(function(t,e){t.setTime(+t+6e4*e)}),(function(t,e){return(e-t)/6e4}),(function(t){return t.getUTCMinutes()})),O=z.range,D=n((function(t){t.setUTCMinutes(0,0,0)}),(function(t,e){t.setTime(+t+36e5*e)}),(function(t,e){return(e-t)/36e5}),(function(t){return t.getUTCHours()})),R=D.range,F=n((function(t){t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCDate(t.getUTCDate()+e)}),(function(t,e){return(e-t)/864e5}),(function(t){return t.getUTCDate()-1})),B=F.range;function N(t){return n((function(e){e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCDate(t.getUTCDate()+7*e)}),(function(t,e){return(e-t)/6048e5}))}var j=N(0),U=N(1),V=N(2),q=N(3),H=N(4),G=N(5),Y=N(6),W=j.range,X=U.range,Z=V.range,J=q.range,K=H.range,Q=G.range,$=Y.range,tt=n((function(t){t.setUTCDate(1),t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCMonth(t.getUTCMonth()+e)}),(function(t,e){return e.getUTCMonth()-t.getUTCMonth()+12*(e.getUTCFullYear()-t.getUTCFullYear())}),(function(t){return t.getUTCMonth()})),et=tt.range,rt=n((function(t){t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCFullYear(t.getUTCFullYear()+e)}),(function(t,e){return e.getUTCFullYear()-t.getUTCFullYear()}),(function(t){return t.getUTCFullYear()}));rt.every=function(t){return isFinite(t=Math.floor(t))&&t>0?n((function(e){e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)}),(function(e,r){e.setUTCFullYear(e.getUTCFullYear()+r*t)})):null};var nt=rt.range;t.timeDay=h,t.timeDays=p,t.timeFriday=b,t.timeFridays=S,t.timeHour=u,t.timeHours=f,t.timeInterval=n,t.timeMillisecond=i,t.timeMilliseconds=a,t.timeMinute=l,t.timeMinutes=c,t.timeMonday=m,t.timeMondays=T,t.timeMonth=C,t.timeMonths=L,t.timeSaturday=_,t.timeSaturdays=E,t.timeSecond=o,t.timeSeconds=s,t.timeSunday=g,t.timeSundays=w,t.timeThursday=x,t.timeThursdays=A,t.timeTuesday=v,t.timeTuesdays=k,t.timeWednesday=y,t.timeWednesdays=M,t.timeWeek=g,t.timeWeeks=w,t.timeYear=I,t.timeYears=P,t.utcDay=F,t.utcDays=B,t.utcFriday=G,t.utcFridays=Q,t.utcHour=D,t.utcHours=R,t.utcMillisecond=i,t.utcMilliseconds=a,t.utcMinute=z,t.utcMinutes=O,t.utcMonday=U,t.utcMondays=X,t.utcMonth=tt,t.utcMonths=et,t.utcSaturday=Y,t.utcSaturdays=$,t.utcSecond=o,t.utcSeconds=s,t.utcSunday=j,t.utcSundays=W,t.utcThursday=H,t.utcThursdays=K,t.utcTuesday=V,t.utcTuesdays=Z,t.utcWednesday=q,t.utcWednesdays=J,t.utcWeek=j,t.utcWeeks=W,t.utcYear=rt,t.utcYears=nt,Object.defineProperty(t,"__esModule",{value:!0})}))},{}],168:[function(t,e,r){!function(t,n){"object"==typeof r&&"undefined"!=typeof e?n(r):n((t=t||self).d3=t.d3||{})}(this,(function(t){"use strict";var e,r,n=0,i=0,a=0,o=0,s=0,l=0,c="object"==typeof performance&&performance.now?performance:Date,u="object"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function f(){return s||(u(h),s=c.now()+l)}function h(){s=0}function p(){this._call=this._time=this._next=null}function d(t,e,r){var n=new p;return n.restart(t,e,r),n}function g(){f(),++n;for(var t,r=e;r;)(t=s-r._time)>=0&&r._call.call(null,t),r=r._next;--n}function m(){s=(o=c.now())+l,n=i=0;try{g()}finally{n=0,function(){var t,n,i=e,a=1/0;for(;i;)i._call?(a>i._time&&(a=i._time),t=i,i=i._next):(n=i._next,i._next=null,i=t?t._next=n:e=n);r=t,y(a)}(),s=0}}function v(){var t=c.now(),e=t-o;e>1e3&&(l-=e,o=t)}function y(t){n||(i&&(i=clearTimeout(i)),t-s>24?(t<1/0&&(i=setTimeout(m,t-c.now()-l)),a&&(a=clearInterval(a))):(a||(o=c.now(),a=setInterval(v,1e3)),n=1,u(m)))}p.prototype=d.prototype={constructor:p,restart:function(t,n,i){if("function"!=typeof t)throw new TypeError("callback is not a function");i=(null==i?f():+i)+(null==n?0:+n),this._next||r===this||(r?r._next=this:e=this,r=this),this._call=t,this._time=i,y()},stop:function(){this._call&&(this._call=null,this._time=1/0,y())}},t.interval=function(t,e,r){var n=new p,i=e;return null==e?(n.restart(t,e,r),n):(e=+e,r=null==r?f():+r,n.restart((function a(o){o+=i,n.restart(a,i+=e,r),t(o)}),e,r),n)},t.now=f,t.timeout=function(t,e,r){var n=new p;return e=null==e?0:+e,n.restart((function(r){n.stop(),t(r+e)}),e,r),n},t.timer=d,t.timerFlush=g,Object.defineProperty(t,"__esModule",{value:!0})}))},{}],169:[function(t,e,r){!function(){var t={version:"3.5.17"},r=[].slice,n=function(t){return r.call(t)},i=this.document;function a(t){return t&&(t.ownerDocument||t.document||t).documentElement}function o(t){return t&&(t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView)}if(i)try{n(i.documentElement.childNodes)[0].nodeType}catch(t){n=function(t){for(var e=t.length,r=new Array(e);e--;)r[e]=t[e];return r}}if(Date.now||(Date.now=function(){return+new Date}),i)try{i.createElement("DIV").style.setProperty("opacity",0,"")}catch(t){var s=this.Element.prototype,l=s.setAttribute,c=s.setAttributeNS,u=this.CSSStyleDeclaration.prototype,f=u.setProperty;s.setAttribute=function(t,e){l.call(this,t,e+"")},s.setAttributeNS=function(t,e,r){c.call(this,t,e,r+"")},u.setProperty=function(t,e,r){f.call(this,t,e+"",r)}}function h(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}function p(t){return null===t?NaN:+t}function d(t){return!isNaN(t)}function g(t){return{left:function(e,r,n,i){for(arguments.length<3&&(n=0),arguments.length<4&&(i=e.length);n<i;){var a=n+i>>>1;t(e[a],r)<0?n=a+1:i=a}return n},right:function(e,r,n,i){for(arguments.length<3&&(n=0),arguments.length<4&&(i=e.length);n<i;){var a=n+i>>>1;t(e[a],r)>0?i=a:n=a+1}return n}}}t.ascending=h,t.descending=function(t,e){return e<t?-1:e>t?1:e>=t?0:NaN},t.min=function(t,e){var r,n,i=-1,a=t.length;if(1===arguments.length){for(;++i<a;)if(null!=(n=t[i])&&n>=n){r=n;break}for(;++i<a;)null!=(n=t[i])&&r>n&&(r=n)}else{for(;++i<a;)if(null!=(n=e.call(t,t[i],i))&&n>=n){r=n;break}for(;++i<a;)null!=(n=e.call(t,t[i],i))&&r>n&&(r=n)}return r},t.max=function(t,e){var r,n,i=-1,a=t.length;if(1===arguments.length){for(;++i<a;)if(null!=(n=t[i])&&n>=n){r=n;break}for(;++i<a;)null!=(n=t[i])&&n>r&&(r=n)}else{for(;++i<a;)if(null!=(n=e.call(t,t[i],i))&&n>=n){r=n;break}for(;++i<a;)null!=(n=e.call(t,t[i],i))&&n>r&&(r=n)}return r},t.extent=function(t,e){var r,n,i,a=-1,o=t.length;if(1===arguments.length){for(;++a<o;)if(null!=(n=t[a])&&n>=n){r=i=n;break}for(;++a<o;)null!=(n=t[a])&&(r>n&&(r=n),i<n&&(i=n))}else{for(;++a<o;)if(null!=(n=e.call(t,t[a],a))&&n>=n){r=i=n;break}for(;++a<o;)null!=(n=e.call(t,t[a],a))&&(r>n&&(r=n),i<n&&(i=n))}return[r,i]},t.sum=function(t,e){var r,n=0,i=t.length,a=-1;if(1===arguments.length)for(;++a<i;)d(r=+t[a])&&(n+=r);else for(;++a<i;)d(r=+e.call(t,t[a],a))&&(n+=r);return n},t.mean=function(t,e){var r,n=0,i=t.length,a=-1,o=i;if(1===arguments.length)for(;++a<i;)d(r=p(t[a]))?n+=r:--o;else for(;++a<i;)d(r=p(e.call(t,t[a],a)))?n+=r:--o;if(o)return n/o},t.quantile=function(t,e){var r=(t.length-1)*e+1,n=Math.floor(r),i=+t[n-1],a=r-n;return a?i+a*(t[n]-i):i},t.median=function(e,r){var n,i=[],a=e.length,o=-1;if(1===arguments.length)for(;++o<a;)d(n=p(e[o]))&&i.push(n);else for(;++o<a;)d(n=p(r.call(e,e[o],o)))&&i.push(n);if(i.length)return t.quantile(i.sort(h),.5)},t.variance=function(t,e){var r,n,i=t.length,a=0,o=0,s=-1,l=0;if(1===arguments.length)for(;++s<i;)d(r=p(t[s]))&&(o+=(n=r-a)*(r-(a+=n/++l)));else for(;++s<i;)d(r=p(e.call(t,t[s],s)))&&(o+=(n=r-a)*(r-(a+=n/++l)));if(l>1)return o/(l-1)},t.deviation=function(){var e=t.variance.apply(this,arguments);return e?Math.sqrt(e):e};var m=g(h);function v(t){return t.length}t.bisectLeft=m.left,t.bisect=t.bisectRight=m.right,t.bisector=function(t){return g(1===t.length?function(e,r){return h(t(e),r)}:t)},t.shuffle=function(t,e,r){(a=arguments.length)<3&&(r=t.length,a<2&&(e=0));for(var n,i,a=r-e;a;)i=Math.random()*a--|0,n=t[a+e],t[a+e]=t[i+e],t[i+e]=n;return t},t.permute=function(t,e){for(var r=e.length,n=new Array(r);r--;)n[r]=t[e[r]];return n},t.pairs=function(t){for(var e=0,r=t.length-1,n=t[0],i=new Array(r<0?0:r);e<r;)i[e]=[n,n=t[++e]];return i},t.transpose=function(e){if(!(a=e.length))return[];for(var r=-1,n=t.min(e,v),i=new Array(n);++r<n;)for(var a,o=-1,s=i[r]=new Array(a);++o<a;)s[o]=e[o][r];return i},t.zip=function(){return t.transpose(arguments)},t.keys=function(t){var e=[];for(var r in t)e.push(r);return e},t.values=function(t){var e=[];for(var r in t)e.push(t[r]);return e},t.entries=function(t){var e=[];for(var r in t)e.push({key:r,value:t[r]});return e},t.merge=function(t){for(var e,r,n,i=t.length,a=-1,o=0;++a<i;)o+=t[a].length;for(r=new Array(o);--i>=0;)for(e=(n=t[i]).length;--e>=0;)r[--o]=n[e];return r};var y=Math.abs;function x(t){for(var e=1;t*e%1;)e*=10;return e}function b(t,e){for(var r in e)Object.defineProperty(t.prototype,r,{value:e[r],enumerable:!1})}function _(){this._=Object.create(null)}t.range=function(t,e,r){if(arguments.length<3&&(r=1,arguments.length<2&&(e=t,t=0)),(e-t)/r==1/0)throw new Error("infinite range");var n,i=[],a=x(y(r)),o=-1;if(t*=a,e*=a,(r*=a)<0)for(;(n=t+r*++o)>e;)i.push(n/a);else for(;(n=t+r*++o)<e;)i.push(n/a);return i},t.map=function(t,e){var r=new _;if(t instanceof _)t.forEach((function(t,e){r.set(t,e)}));else if(Array.isArray(t)){var n,i=-1,a=t.length;if(1===arguments.length)for(;++i<a;)r.set(i,t[i]);else for(;++i<a;)r.set(e.call(t,n=t[i],i),n)}else for(var o in t)r.set(o,t[o]);return r};function w(t){return"__proto__"==(t+="")||"\0"===t[0]?"\0"+t:t}function T(t){return"\0"===(t+="")[0]?t.slice(1):t}function k(t){return w(t)in this._}function M(t){return(t=w(t))in this._&&delete this._[t]}function A(){var t=[];for(var e in this._)t.push(T(e));return t}function S(){var t=0;for(var e in this._)++t;return t}function E(){for(var t in this._)return!1;return!0}function C(){this._=Object.create(null)}function L(t){return t}function I(t,e,r){return function(){var n=r.apply(e,arguments);return n===e?t:n}}function P(t,e){if(e in t)return e;e=e.charAt(0).toUpperCase()+e.slice(1);for(var r=0,n=z.length;r<n;++r){var i=z[r]+e;if(i in t)return i}}b(_,{has:k,get:function(t){return this._[w(t)]},set:function(t,e){return this._[w(t)]=e},remove:M,keys:A,values:function(){var t=[];for(var e in this._)t.push(this._[e]);return t},entries:function(){var t=[];for(var e in this._)t.push({key:T(e),value:this._[e]});return t},size:S,empty:E,forEach:function(t){for(var e in this._)t.call(this,T(e),this._[e])}}),t.nest=function(){var e,r,n={},i=[],a=[];function o(t,a,s){if(s>=i.length)return r?r.call(n,a):e?a.sort(e):a;for(var l,c,u,f,h=-1,p=a.length,d=i[s++],g=new _;++h<p;)(f=g.get(l=d(c=a[h])))?f.push(c):g.set(l,[c]);return t?(c=t(),u=function(e,r){c.set(e,o(t,r,s))}):(c={},u=function(e,r){c[e]=o(t,r,s)}),g.forEach(u),c}return n.map=function(t,e){return o(e,t,0)},n.entries=function(e){return function t(e,r){if(r>=i.length)return e;var n=[],o=a[r++];return e.forEach((function(e,i){n.push({key:e,values:t(i,r)})})),o?n.sort((function(t,e){return o(t.key,e.key)})):n}(o(t.map,e,0),0)},n.key=function(t){return i.push(t),n},n.sortKeys=function(t){return a[i.length-1]=t,n},n.sortValues=function(t){return e=t,n},n.rollup=function(t){return r=t,n},n},t.set=function(t){var e=new C;if(t)for(var r=0,n=t.length;r<n;++r)e.add(t[r]);return e},b(C,{has:k,add:function(t){return this._[w(t+="")]=!0,t},remove:M,values:A,size:S,empty:E,forEach:function(t){for(var e in this._)t.call(this,T(e))}}),t.behavior={},t.rebind=function(t,e){for(var r,n=1,i=arguments.length;++n<i;)t[r=arguments[n]]=I(t,e,e[r]);return t};var z=["webkit","ms","moz","Moz","o","O"];function O(){}function D(){}function R(t){var e=[],r=new _;function n(){for(var r,n=e,i=-1,a=n.length;++i<a;)(r=n[i].on)&&r.apply(this,arguments);return t}return n.on=function(n,i){var a,o=r.get(n);return arguments.length<2?o&&o.on:(o&&(o.on=null,e=e.slice(0,a=e.indexOf(o)).concat(e.slice(a+1)),r.remove(n)),i&&e.push(r.set(n,{on:i})),t)},n}function F(){t.event.preventDefault()}function B(){for(var e,r=t.event;e=r.sourceEvent;)r=e;return r}function N(e){for(var r=new D,n=0,i=arguments.length;++n<i;)r[arguments[n]]=R(r);return r.of=function(n,i){return function(a){try{var o=a.sourceEvent=t.event;a.target=e,t.event=a,r[a.type].apply(n,i)}finally{t.event=o}}},r}t.dispatch=function(){for(var t=new D,e=-1,r=arguments.length;++e<r;)t[arguments[e]]=R(t);return t},D.prototype.on=function(t,e){var r=t.indexOf("."),n="";if(r>=0&&(n=t.slice(r+1),t=t.slice(0,r)),t)return arguments.length<2?this[t].on(n):this[t].on(n,e);if(2===arguments.length){if(null==e)for(t in this)this.hasOwnProperty(t)&&this[t].on(n,null);return this}},t.event=null,t.requote=function(t){return t.replace(j,"\\$&")};var j=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,U={}.__proto__?function(t,e){t.__proto__=e}:function(t,e){for(var r in e)t[r]=e[r]};function V(t){return U(t,Y),t}var q=function(t,e){return e.querySelector(t)},H=function(t,e){return e.querySelectorAll(t)},G=function(t,e){var r=t.matches||t[P(t,"matchesSelector")];return(G=function(t,e){return r.call(t,e)})(t,e)};"function"==typeof Sizzle&&(q=function(t,e){return Sizzle(t,e)[0]||null},H=Sizzle,G=Sizzle.matchesSelector),t.selection=function(){return t.select(i.documentElement)};var Y=t.selection.prototype=[];function W(t){return"function"==typeof t?t:function(){return q(t,this)}}function X(t){return"function"==typeof t?t:function(){return H(t,this)}}Y.select=function(t){var e,r,n,i,a=[];t=W(t);for(var o=-1,s=this.length;++o<s;){a.push(e=[]),e.parentNode=(n=this[o]).parentNode;for(var l=-1,c=n.length;++l<c;)(i=n[l])?(e.push(r=t.call(i,i.__data__,l,o)),r&&"__data__"in i&&(r.__data__=i.__data__)):e.push(null)}return V(a)},Y.selectAll=function(t){var e,r,i=[];t=X(t);for(var a=-1,o=this.length;++a<o;)for(var s=this[a],l=-1,c=s.length;++l<c;)(r=s[l])&&(i.push(e=n(t.call(r,r.__data__,l,a))),e.parentNode=r);return V(i)};var Z="http://www.w3.org/1999/xhtml",J={svg:"http://www.w3.org/2000/svg",xhtml:Z,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function K(e,r){return e=t.ns.qualify(e),null==r?e.local?function(){this.removeAttributeNS(e.space,e.local)}:function(){this.removeAttribute(e)}:"function"==typeof r?e.local?function(){var t=r.apply(this,arguments);null==t?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,t)}:function(){var t=r.apply(this,arguments);null==t?this.removeAttribute(e):this.setAttribute(e,t)}:e.local?function(){this.setAttributeNS(e.space,e.local,r)}:function(){this.setAttribute(e,r)}}function Q(t){return t.trim().replace(/\s+/g," ")}function $(e){return new RegExp("(?:^|\\s+)"+t.requote(e)+"(?:\\s+|$)","g")}function tt(t){return(t+"").trim().split(/^|\s+/)}function et(t,e){var r=(t=tt(t).map(rt)).length;return"function"==typeof e?function(){for(var n=-1,i=e.apply(this,arguments);++n<r;)t[n](this,i)}:function(){for(var n=-1;++n<r;)t[n](this,e)}}function rt(t){var e=$(t);return function(r,n){if(i=r.classList)return n?i.add(t):i.remove(t);var i=r.getAttribute("class")||"";n?(e.lastIndex=0,e.test(i)||r.setAttribute("class",Q(i+" "+t))):r.setAttribute("class",Q(i.replace(e," ")))}}function nt(t,e,r){return null==e?function(){this.style.removeProperty(t)}:"function"==typeof e?function(){var n=e.apply(this,arguments);null==n?this.style.removeProperty(t):this.style.setProperty(t,n,r)}:function(){this.style.setProperty(t,e,r)}}function it(t,e){return null==e?function(){delete this[t]}:"function"==typeof e?function(){var r=e.apply(this,arguments);null==r?delete this[t]:this[t]=r}:function(){this[t]=e}}function at(e){return"function"==typeof e?e:(e=t.ns.qualify(e)).local?function(){return this.ownerDocument.createElementNS(e.space,e.local)}:function(){var t=this.ownerDocument,r=this.namespaceURI;return r===Z&&t.documentElement.namespaceURI===Z?t.createElement(e):t.createElementNS(r,e)}}function ot(){var t=this.parentNode;t&&t.removeChild(this)}function st(t){return{__data__:t}}function lt(t){return function(){return G(this,t)}}function ct(t){return arguments.length||(t=h),function(e,r){return e&&r?t(e.__data__,r.__data__):!e-!r}}function ut(t,e){for(var r=0,n=t.length;r<n;r++)for(var i,a=t[r],o=0,s=a.length;o<s;o++)(i=a[o])&&e(i,o,r);return t}function ft(t){return U(t,ht),t}t.ns={prefix:J,qualify:function(t){var e=t.indexOf(":"),r=t;return e>=0&&"xmlns"!==(r=t.slice(0,e))&&(t=t.slice(e+1)),J.hasOwnProperty(r)?{space:J[r],local:t}:t}},Y.attr=function(e,r){if(arguments.length<2){if("string"==typeof e){var n=this.node();return(e=t.ns.qualify(e)).local?n.getAttributeNS(e.space,e.local):n.getAttribute(e)}for(r in e)this.each(K(r,e[r]));return this}return this.each(K(e,r))},Y.classed=function(t,e){if(arguments.length<2){if("string"==typeof t){var r=this.node(),n=(t=tt(t)).length,i=-1;if(e=r.classList){for(;++i<n;)if(!e.contains(t[i]))return!1}else for(e=r.getAttribute("class");++i<n;)if(!$(t[i]).test(e))return!1;return!0}for(e in t)this.each(et(e,t[e]));return this}return this.each(et(t,e))},Y.style=function(t,e,r){var n=arguments.length;if(n<3){if("string"!=typeof t){for(r in n<2&&(e=""),t)this.each(nt(r,t[r],e));return this}if(n<2){var i=this.node();return o(i).getComputedStyle(i,null).getPropertyValue(t)}r=""}return this.each(nt(t,e,r))},Y.property=function(t,e){if(arguments.length<2){if("string"==typeof t)return this.node()[t];for(e in t)this.each(it(e,t[e]));return this}return this.each(it(t,e))},Y.text=function(t){return arguments.length?this.each("function"==typeof t?function(){var e=t.apply(this,arguments);this.textContent=null==e?"":e}:null==t?function(){this.textContent=""}:function(){this.textContent=t}):this.node().textContent},Y.html=function(t){return arguments.length?this.each("function"==typeof t?function(){var e=t.apply(this,arguments);this.innerHTML=null==e?"":e}:null==t?function(){this.innerHTML=""}:function(){this.innerHTML=t}):this.node().innerHTML},Y.append=function(t){return t=at(t),this.select((function(){return this.appendChild(t.apply(this,arguments))}))},Y.insert=function(t,e){return t=at(t),e=W(e),this.select((function(){return this.insertBefore(t.apply(this,arguments),e.apply(this,arguments)||null)}))},Y.remove=function(){return this.each(ot)},Y.data=function(t,e){var r,n,i=-1,a=this.length;if(!arguments.length){for(t=new Array(a=(r=this[0]).length);++i<a;)(n=r[i])&&(t[i]=n.__data__);return t}function o(t,r){var n,i,a,o=t.length,u=r.length,f=Math.min(o,u),h=new Array(u),p=new Array(u),d=new Array(o);if(e){var g,m=new _,v=new Array(o);for(n=-1;++n<o;)(i=t[n])&&(m.has(g=e.call(i,i.__data__,n))?d[n]=i:m.set(g,i),v[n]=g);for(n=-1;++n<u;)(i=m.get(g=e.call(r,a=r[n],n)))?!0!==i&&(h[n]=i,i.__data__=a):p[n]=st(a),m.set(g,!0);for(n=-1;++n<o;)n in v&&!0!==m.get(v[n])&&(d[n]=t[n])}else{for(n=-1;++n<f;)i=t[n],a=r[n],i?(i.__data__=a,h[n]=i):p[n]=st(a);for(;n<u;++n)p[n]=st(r[n]);for(;n<o;++n)d[n]=t[n]}p.update=h,p.parentNode=h.parentNode=d.parentNode=t.parentNode,s.push(p),l.push(h),c.push(d)}var s=ft([]),l=V([]),c=V([]);if("function"==typeof t)for(;++i<a;)o(r=this[i],t.call(r,r.parentNode.__data__,i));else for(;++i<a;)o(r=this[i],t);return l.enter=function(){return s},l.exit=function(){return c},l},Y.datum=function(t){return arguments.length?this.property("__data__",t):this.property("__data__")},Y.filter=function(t){var e,r,n,i=[];"function"!=typeof t&&(t=lt(t));for(var a=0,o=this.length;a<o;a++){i.push(e=[]),e.parentNode=(r=this[a]).parentNode;for(var s=0,l=r.length;s<l;s++)(n=r[s])&&t.call(n,n.__data__,s,a)&&e.push(n)}return V(i)},Y.order=function(){for(var t=-1,e=this.length;++t<e;)for(var r,n=this[t],i=n.length-1,a=n[i];--i>=0;)(r=n[i])&&(a&&a!==r.nextSibling&&a.parentNode.insertBefore(r,a),a=r);return this},Y.sort=function(t){t=ct.apply(this,arguments);for(var e=-1,r=this.length;++e<r;)this[e].sort(t);return this.order()},Y.each=function(t){return ut(this,(function(e,r,n){t.call(e,e.__data__,r,n)}))},Y.call=function(t){var e=n(arguments);return t.apply(e[0]=this,e),this},Y.empty=function(){return!this.node()},Y.node=function(){for(var t=0,e=this.length;t<e;t++)for(var r=this[t],n=0,i=r.length;n<i;n++){var a=r[n];if(a)return a}return null},Y.size=function(){var t=0;return ut(this,(function(){++t})),t};var ht=[];function pt(t){var e,r;return function(n,i,a){var o,s=t[a].update,l=s.length;for(a!=r&&(r=a,e=0),i>=e&&(e=i+1);!(o=s[e])&&++e<l;);return o}}function dt(e,r,i){var a="__on"+e,o=e.indexOf("."),s=mt;o>0&&(e=e.slice(0,o));var l=gt.get(e);function c(){var t=this[a];t&&(this.removeEventListener(e,t,t.$),delete this[a])}return l&&(e=l,s=vt),o?r?function(){var t=s(r,n(arguments));c.call(this),this.addEventListener(e,this[a]=t,t.$=i),t._=r}:c:r?O:function(){var r,n=new RegExp("^__on([^.]+)"+t.requote(e)+"$");for(var i in this)if(r=i.match(n)){var a=this[i];this.removeEventListener(r[1],a,a.$),delete this[i]}}}t.selection.enter=ft,t.selection.enter.prototype=ht,ht.append=Y.append,ht.empty=Y.empty,ht.node=Y.node,ht.call=Y.call,ht.size=Y.size,ht.select=function(t){for(var e,r,n,i,a,o=[],s=-1,l=this.length;++s<l;){n=(i=this[s]).update,o.push(e=[]),e.parentNode=i.parentNode;for(var c=-1,u=i.length;++c<u;)(a=i[c])?(e.push(n[c]=r=t.call(i.parentNode,a.__data__,c,s)),r.__data__=a.__data__):e.push(null)}return V(o)},ht.insert=function(t,e){return arguments.length<2&&(e=pt(this)),Y.insert.call(this,t,e)},t.select=function(t){var e;return"string"==typeof t?(e=[q(t,i)]).parentNode=i.documentElement:(e=[t]).parentNode=a(t),V([e])},t.selectAll=function(t){var e;return"string"==typeof t?(e=n(H(t,i))).parentNode=i.documentElement:(e=n(t)).parentNode=null,V([e])},Y.on=function(t,e,r){var n=arguments.length;if(n<3){if("string"!=typeof t){for(r in n<2&&(e=!1),t)this.each(dt(r,t[r],e));return this}if(n<2)return(n=this.node()["__on"+t])&&n._;r=!1}return this.each(dt(t,e,r))};var gt=t.map({mouseenter:"mouseover",mouseleave:"mouseout"});function mt(e,r){return function(n){var i=t.event;t.event=n,r[0]=this.__data__;try{e.apply(this,r)}finally{t.event=i}}}function vt(t,e){var r=mt(t,e);return function(t){var e=t.relatedTarget;e&&(e===this||8&e.compareDocumentPosition(this))||r.call(this,t)}}i&>.forEach((function(t){"on"+t in i&>.remove(t)}));var yt,xt=0;function bt(e){var r=".dragsuppress-"+ ++xt,n="click"+r,i=t.select(o(e)).on("touchmove"+r,F).on("dragstart"+r,F).on("selectstart"+r,F);if(null==yt&&(yt=!("onselectstart"in e)&&P(e.style,"userSelect")),yt){var s=a(e).style,l=s[yt];s[yt]="none"}return function(t){if(i.on(r,null),yt&&(s[yt]=l),t){var e=function(){i.on(n,null)};i.on(n,(function(){F(),e()}),!0),setTimeout(e,0)}}}t.mouse=function(t){return wt(t,B())};var _t=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;function wt(e,r){r.changedTouches&&(r=r.changedTouches[0]);var n=e.ownerSVGElement||e;if(n.createSVGPoint){var i=n.createSVGPoint();if(_t<0){var a=o(e);if(a.scrollX||a.scrollY){var s=(n=t.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important"))[0][0].getScreenCTM();_t=!(s.f||s.e),n.remove()}}return _t?(i.x=r.pageX,i.y=r.pageY):(i.x=r.clientX,i.y=r.clientY),[(i=i.matrixTransform(e.getScreenCTM().inverse())).x,i.y]}var l=e.getBoundingClientRect();return[r.clientX-l.left-e.clientLeft,r.clientY-l.top-e.clientTop]}function Tt(){return t.event.changedTouches[0].identifier}t.touch=function(t,e,r){if(arguments.length<3&&(r=e,e=B().changedTouches),e)for(var n,i=0,a=e.length;i<a;++i)if((n=e[i]).identifier===r)return wt(t,n)},t.behavior.drag=function(){var e=N(a,"drag","dragstart","dragend"),r=null,n=s(O,t.mouse,o,"mousemove","mouseup"),i=s(Tt,t.touch,L,"touchmove","touchend");function a(){this.on("mousedown.drag",n).on("touchstart.drag",i)}function s(n,i,a,o,s){return function(){var l,c=this,u=t.event.target.correspondingElement||t.event.target,f=c.parentNode,h=e.of(c,arguments),p=0,d=n(),g=".drag"+(null==d?"":"-"+d),m=t.select(a(u)).on(o+g,x).on(s+g,b),v=bt(u),y=i(f,d);function x(){var t,e,r=i(f,d);r&&(t=r[0]-y[0],e=r[1]-y[1],p|=t|e,y=r,h({type:"drag",x:r[0]+l[0],y:r[1]+l[1],dx:t,dy:e}))}function b(){i(f,d)&&(m.on(o+g,null).on(s+g,null),v(p),h({type:"dragend"}))}l=r?[(l=r.apply(c,arguments)).x-y[0],l.y-y[1]]:[0,0],h({type:"dragstart"})}}return a.origin=function(t){return arguments.length?(r=t,a):r},t.rebind(a,e,"on")},t.touches=function(t,e){return arguments.length<2&&(e=B().touches),e?n(e).map((function(e){var r=wt(t,e);return r.identifier=e.identifier,r})):[]};var kt=1e-6,Mt=1e-12,At=Math.PI,St=2*At,Et=St-kt,Ct=At/2,Lt=At/180,It=180/At;function Pt(t){return t>0?1:t<0?-1:0}function zt(t,e,r){return(e[0]-t[0])*(r[1]-t[1])-(e[1]-t[1])*(r[0]-t[0])}function Ot(t){return t>1?0:t<-1?At:Math.acos(t)}function Dt(t){return t>1?Ct:t<-1?-Ct:Math.asin(t)}function Rt(t){return((t=Math.exp(t))+1/t)/2}function Ft(t){return(t=Math.sin(t/2))*t}var Bt=Math.SQRT2;t.interpolateZoom=function(t,e){var r,n,i=t[0],a=t[1],o=t[2],s=e[0],l=e[1],c=e[2],u=s-i,f=l-a,h=u*u+f*f;if(h<Mt)n=Math.log(c/o)/Bt,r=function(t){return[i+t*u,a+t*f,o*Math.exp(Bt*t*n)]};else{var p=Math.sqrt(h),d=(c*c-o*o+4*h)/(2*o*2*p),g=(c*c-o*o-4*h)/(2*c*2*p),m=Math.log(Math.sqrt(d*d+1)-d),v=Math.log(Math.sqrt(g*g+1)-g);n=(v-m)/Bt,r=function(t){var e,r=t*n,s=Rt(m),l=o/(2*p)*(s*(e=Bt*r+m,((e=Math.exp(2*e))-1)/(e+1))-function(t){return((t=Math.exp(t))-1/t)/2}(m));return[i+l*u,a+l*f,o*s/Rt(Bt*r+m)]}}return r.duration=1e3*n,r},t.behavior.zoom=function(){var e,r,n,a,s,l,c,u,f,h={x:0,y:0,k:1},p=[960,500],d=Ut,g=250,m=0,v="mousedown.zoom",y="mousemove.zoom",x="mouseup.zoom",b="touchstart.zoom",_=N(w,"zoomstart","zoom","zoomend");function w(t){t.on(v,I).on(jt+".zoom",z).on("dblclick.zoom",O).on(b,P)}function T(t){return[(t[0]-h.x)/h.k,(t[1]-h.y)/h.k]}function k(t){h.k=Math.max(d[0],Math.min(d[1],t))}function M(t,e){e=function(t){return[t[0]*h.k+h.x,t[1]*h.k+h.y]}(e),h.x+=t[0]-e[0],h.y+=t[1]-e[1]}function A(e,n,i,a){e.__chart__={x:h.x,y:h.y,k:h.k},k(Math.pow(2,a)),M(r=n,i),e=t.select(e),g>0&&(e=e.transition().duration(g)),e.call(w.event)}function S(){c&&c.domain(l.range().map((function(t){return(t-h.x)/h.k})).map(l.invert)),f&&f.domain(u.range().map((function(t){return(t-h.y)/h.k})).map(u.invert))}function E(t){m++||t({type:"zoomstart"})}function C(t){S(),t({type:"zoom",scale:h.k,translate:[h.x,h.y]})}function L(t){--m||(t({type:"zoomend"}),r=null)}function I(){var e=this,r=_.of(e,arguments),n=0,i=t.select(o(e)).on(y,l).on(x,c),a=T(t.mouse(e)),s=bt(e);function l(){n=1,M(t.mouse(e),a),C(r)}function c(){i.on(y,null).on(x,null),s(n),L(r)}vs.call(e),E(r)}function P(){var e,r=this,n=_.of(r,arguments),i={},a=0,o=".zoom-"+t.event.changedTouches[0].identifier,l="touchmove"+o,c="touchend"+o,u=[],f=t.select(r),p=bt(r);function d(){var n=t.touches(r);return e=h.k,n.forEach((function(t){t.identifier in i&&(i[t.identifier]=T(t))})),n}function g(){var e=t.event.target;t.select(e).on(l,m).on(c,y),u.push(e);for(var n=t.event.changedTouches,o=0,f=n.length;o<f;++o)i[n[o].identifier]=null;var p=d(),g=Date.now();if(1===p.length){if(g-s<500){var v=p[0];A(r,v,i[v.identifier],Math.floor(Math.log(h.k)/Math.LN2)+1),F()}s=g}else if(p.length>1){v=p[0];var x=p[1],b=v[0]-x[0],_=v[1]-x[1];a=b*b+_*_}}function m(){var o,l,c,u,f=t.touches(r);vs.call(r);for(var h=0,p=f.length;h<p;++h,u=null)if(c=f[h],u=i[c.identifier]){if(l)break;o=c,l=u}if(u){var d=(d=c[0]-o[0])*d+(d=c[1]-o[1])*d,g=a&&Math.sqrt(d/a);o=[(o[0]+c[0])/2,(o[1]+c[1])/2],l=[(l[0]+u[0])/2,(l[1]+u[1])/2],k(g*e)}s=null,M(o,l),C(n)}function y(){if(t.event.touches.length){for(var e=t.event.changedTouches,r=0,a=e.length;r<a;++r)delete i[e[r].identifier];for(var s in i)return void d()}t.selectAll(u).on(o,null),f.on(v,I).on(b,P),p(),L(n)}g(),E(n),f.on(v,null).on(b,g)}function z(){var i=_.of(this,arguments);a?clearTimeout(a):(vs.call(this),e=T(r=n||t.mouse(this)),E(i)),a=setTimeout((function(){a=null,L(i)}),50),F(),k(Math.pow(2,.002*Nt())*h.k),M(r,e),C(i)}function O(){var e=t.mouse(this),r=Math.log(h.k)/Math.LN2;A(this,e,T(e),t.event.shiftKey?Math.ceil(r)-1:Math.floor(r)+1)}return jt||(jt="onwheel"in i?(Nt=function(){return-t.event.deltaY*(t.event.deltaMode?120:1)},"wheel"):"onmousewheel"in i?(Nt=function(){return t.event.wheelDelta},"mousewheel"):(Nt=function(){return-t.event.detail},"MozMousePixelScroll")),w.event=function(e){e.each((function(){var e=_.of(this,arguments),n=h;bs?t.select(this).transition().each("start.zoom",(function(){h=this.__chart__||{x:0,y:0,k:1},E(e)})).tween("zoom:zoom",(function(){var i=p[0],a=p[1],o=r?r[0]:i/2,s=r?r[1]:a/2,l=t.interpolateZoom([(o-h.x)/h.k,(s-h.y)/h.k,i/h.k],[(o-n.x)/n.k,(s-n.y)/n.k,i/n.k]);return function(t){var r=l(t),n=i/r[2];this.__chart__=h={x:o-r[0]*n,y:s-r[1]*n,k:n},C(e)}})).each("interrupt.zoom",(function(){L(e)})).each("end.zoom",(function(){L(e)})):(this.__chart__=h,E(e),C(e),L(e))}))},w.translate=function(t){return arguments.length?(h={x:+t[0],y:+t[1],k:h.k},S(),w):[h.x,h.y]},w.scale=function(t){return arguments.length?(h={x:h.x,y:h.y,k:null},k(+t),S(),w):h.k},w.scaleExtent=function(t){return arguments.length?(d=null==t?Ut:[+t[0],+t[1]],w):d},w.center=function(t){return arguments.length?(n=t&&[+t[0],+t[1]],w):n},w.size=function(t){return arguments.length?(p=t&&[+t[0],+t[1]],w):p},w.duration=function(t){return arguments.length?(g=+t,w):g},w.x=function(t){return arguments.length?(c=t,l=t.copy(),h={x:0,y:0,k:1},w):c},w.y=function(t){return arguments.length?(f=t,u=t.copy(),h={x:0,y:0,k:1},w):f},t.rebind(w,_,"on")};var Nt,jt,Ut=[0,1/0];function Vt(){}function qt(t,e,r){return this instanceof qt?(this.h=+t,this.s=+e,void(this.l=+r)):arguments.length<2?t instanceof qt?new qt(t.h,t.s,t.l):le(""+t,ce,qt):new qt(t,e,r)}t.color=Vt,Vt.prototype.toString=function(){return this.rgb()+""},t.hsl=qt;var Ht=qt.prototype=new Vt;function Gt(t,e,r){var n,i;function a(t){return Math.round(255*function(t){return t>360?t-=360:t<0&&(t+=360),t<60?n+(i-n)*t/60:t<180?i:t<240?n+(i-n)*(240-t)/60:n}(t))}return t=isNaN(t)?0:(t%=360)<0?t+360:t,e=isNaN(e)||e<0?0:e>1?1:e,n=2*(r=r<0?0:r>1?1:r)-(i=r<=.5?r*(1+e):r+e-r*e),new ne(a(t+120),a(t),a(t-120))}function Yt(e,r,n){return this instanceof Yt?(this.h=+e,this.c=+r,void(this.l=+n)):arguments.length<2?e instanceof Yt?new Yt(e.h,e.c,e.l):$t(e instanceof Zt?e.l:(e=ue((e=t.rgb(e)).r,e.g,e.b)).l,e.a,e.b):new Yt(e,r,n)}Ht.brighter=function(t){return t=Math.pow(.7,arguments.length?t:1),new qt(this.h,this.s,this.l/t)},Ht.darker=function(t){return t=Math.pow(.7,arguments.length?t:1),new qt(this.h,this.s,t*this.l)},Ht.rgb=function(){return Gt(this.h,this.s,this.l)},t.hcl=Yt;var Wt=Yt.prototype=new Vt;function Xt(t,e,r){return isNaN(t)&&(t=0),isNaN(e)&&(e=0),new Zt(r,Math.cos(t*=Lt)*e,Math.sin(t)*e)}function Zt(t,e,r){return this instanceof Zt?(this.l=+t,this.a=+e,void(this.b=+r)):arguments.length<2?t instanceof Zt?new Zt(t.l,t.a,t.b):t instanceof Yt?Xt(t.h,t.c,t.l):ue((t=ne(t)).r,t.g,t.b):new Zt(t,e,r)}Wt.brighter=function(t){return new Yt(this.h,this.c,Math.min(100,this.l+Jt*(arguments.length?t:1)))},Wt.darker=function(t){return new Yt(this.h,this.c,Math.max(0,this.l-Jt*(arguments.length?t:1)))},Wt.rgb=function(){return Xt(this.h,this.c,this.l).rgb()},t.lab=Zt;var Jt=18,Kt=Zt.prototype=new Vt;function Qt(t,e,r){var n=(t+16)/116,i=n+e/500,a=n-r/200;return new ne(re(3.2404542*(i=.95047*te(i))-1.5371385*(n=1*te(n))-.4985314*(a=1.08883*te(a))),re(-.969266*i+1.8760108*n+.041556*a),re(.0556434*i-.2040259*n+1.0572252*a))}function $t(t,e,r){return t>0?new Yt(Math.atan2(r,e)*It,Math.sqrt(e*e+r*r),t):new Yt(NaN,NaN,t)}function te(t){return t>.206893034?t*t*t:(t-4/29)/7.787037}function ee(t){return t>.008856?Math.pow(t,1/3):7.787037*t+4/29}function re(t){return Math.round(255*(t<=.00304?12.92*t:1.055*Math.pow(t,1/2.4)-.055))}function ne(t,e,r){return this instanceof ne?(this.r=~~t,this.g=~~e,void(this.b=~~r)):arguments.length<2?t instanceof ne?new ne(t.r,t.g,t.b):le(""+t,ne,Gt):new ne(t,e,r)}function ie(t){return new ne(t>>16,t>>8&255,255&t)}function ae(t){return ie(t)+""}Kt.brighter=function(t){return new Zt(Math.min(100,this.l+Jt*(arguments.length?t:1)),this.a,this.b)},Kt.darker=function(t){return new Zt(Math.max(0,this.l-Jt*(arguments.length?t:1)),this.a,this.b)},Kt.rgb=function(){return Qt(this.l,this.a,this.b)},t.rgb=ne;var oe=ne.prototype=new Vt;function se(t){return t<16?"0"+Math.max(0,t).toString(16):Math.min(255,t).toString(16)}function le(t,e,r){var n,i,a,o=0,s=0,l=0;if(n=/([a-z]+)\((.*)\)/.exec(t=t.toLowerCase()))switch(i=n[2].split(","),n[1]){case"hsl":return r(parseFloat(i[0]),parseFloat(i[1])/100,parseFloat(i[2])/100);case"rgb":return e(he(i[0]),he(i[1]),he(i[2]))}return(a=pe.get(t))?e(a.r,a.g,a.b):(null==t||"#"!==t.charAt(0)||isNaN(a=parseInt(t.slice(1),16))||(4===t.length?(o=(3840&a)>>4,o|=o>>4,s=240&a,s|=s>>4,l=15&a,l|=l<<4):7===t.length&&(o=(16711680&a)>>16,s=(65280&a)>>8,l=255&a)),e(o,s,l))}function ce(t,e,r){var n,i,a=Math.min(t/=255,e/=255,r/=255),o=Math.max(t,e,r),s=o-a,l=(o+a)/2;return s?(i=l<.5?s/(o+a):s/(2-o-a),n=t==o?(e-r)/s+(e<r?6:0):e==o?(r-t)/s+2:(t-e)/s+4,n*=60):(n=NaN,i=l>0&&l<1?0:n),new qt(n,i,l)}function ue(t,e,r){var n=ee((.4124564*(t=fe(t))+.3575761*(e=fe(e))+.1804375*(r=fe(r)))/.95047),i=ee((.2126729*t+.7151522*e+.072175*r)/1);return Zt(116*i-16,500*(n-i),200*(i-ee((.0193339*t+.119192*e+.9503041*r)/1.08883)))}function fe(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function he(t){var e=parseFloat(t);return"%"===t.charAt(t.length-1)?Math.round(2.55*e):e}oe.brighter=function(t){t=Math.pow(.7,arguments.length?t:1);var e=this.r,r=this.g,n=this.b,i=30;return e||r||n?(e&&e<i&&(e=i),r&&r<i&&(r=i),n&&n<i&&(n=i),new ne(Math.min(255,e/t),Math.min(255,r/t),Math.min(255,n/t))):new ne(i,i,i)},oe.darker=function(t){return new ne((t=Math.pow(.7,arguments.length?t:1))*this.r,t*this.g,t*this.b)},oe.hsl=function(){return ce(this.r,this.g,this.b)},oe.toString=function(){return"#"+se(this.r)+se(this.g)+se(this.b)};var pe=t.map({aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074});function de(t){return"function"==typeof t?t:function(){return t}}function ge(t){return function(e,r,n){return 2===arguments.length&&"function"==typeof r&&(n=r,r=null),me(e,r,t,n)}}function me(e,r,i,a){var o={},s=t.dispatch("beforesend","progress","load","error"),l={},c=new XMLHttpRequest,u=null;function f(){var t,e=c.status;if(!e&&function(t){var e=t.responseType;return e&&"text"!==e?t.response:t.responseText}(c)||e>=200&&e<300||304===e){try{t=i.call(o,c)}catch(t){return void s.error.call(o,t)}s.load.call(o,t)}else s.error.call(o,c)}return this.XDomainRequest&&!("withCredentials"in c)&&/^(http(s)?:)?\/\//.test(e)&&(c=new XDomainRequest),"onload"in c?c.onload=c.onerror=f:c.onreadystatechange=function(){c.readyState>3&&f()},c.onprogress=function(e){var r=t.event;t.event=e;try{s.progress.call(o,c)}finally{t.event=r}},o.header=function(t,e){return t=(t+"").toLowerCase(),arguments.length<2?l[t]:(null==e?delete l[t]:l[t]=e+"",o)},o.mimeType=function(t){return arguments.length?(r=null==t?null:t+"",o):r},o.responseType=function(t){return arguments.length?(u=t,o):u},o.response=function(t){return i=t,o},["get","post"].forEach((function(t){o[t]=function(){return o.send.apply(o,[t].concat(n(arguments)))}})),o.send=function(t,n,i){if(2===arguments.length&&"function"==typeof n&&(i=n,n=null),c.open(t,e,!0),null==r||"accept"in l||(l.accept=r+",*/*"),c.setRequestHeader)for(var a in l)c.setRequestHeader(a,l[a]);return null!=r&&c.overrideMimeType&&c.overrideMimeType(r),null!=u&&(c.responseType=u),null!=i&&o.on("error",i).on("load",(function(t){i(null,t)})),s.beforesend.call(o,c),c.send(null==n?null:n),o},o.abort=function(){return c.abort(),o},t.rebind(o,s,"on"),null==a?o:o.get(function(t){return 1===t.length?function(e,r){t(null==e?r:null)}:t}(a))}pe.forEach((function(t,e){pe.set(t,ie(e))})),t.functor=de,t.xhr=ge(L),t.dsv=function(t,e){var r=new RegExp('["'+t+"\n]"),n=t.charCodeAt(0);function i(t,r,n){arguments.length<3&&(n=r,r=null);var i=me(t,e,null==r?a:o(r),n);return i.row=function(t){return arguments.length?i.response(null==(r=t)?a:o(t)):r},i}function a(t){return i.parse(t.responseText)}function o(t){return function(e){return i.parse(e.responseText,t)}}function s(e){return e.map(l).join(t)}function l(t){return r.test(t)?'"'+t.replace(/\"/g,'""')+'"':t}return i.parse=function(t,e){var r;return i.parseRows(t,(function(t,n){if(r)return r(t,n-1);var i=new Function("d","return {"+t.map((function(t,e){return JSON.stringify(t)+": d["+e+"]"})).join(",")+"}");r=e?function(t,r){return e(i(t),r)}:i}))},i.parseRows=function(t,e){var r,i,a={},o={},s=[],l=t.length,c=0,u=0;function f(){if(c>=l)return o;if(i)return i=!1,a;var e=c;if(34===t.charCodeAt(e)){for(var r=e;r++<l;)if(34===t.charCodeAt(r)){if(34!==t.charCodeAt(r+1))break;++r}return c=r+2,13===(s=t.charCodeAt(r+1))?(i=!0,10===t.charCodeAt(r+2)&&++c):10===s&&(i=!0),t.slice(e+1,r).replace(/""/g,'"')}for(;c<l;){var s,u=1;if(10===(s=t.charCodeAt(c++)))i=!0;else if(13===s)i=!0,10===t.charCodeAt(c)&&(++c,++u);else if(s!==n)continue;return t.slice(e,c-u)}return t.slice(e)}for(;(r=f())!==o;){for(var h=[];r!==a&&r!==o;)h.push(r),r=f();e&&null==(h=e(h,u++))||s.push(h)}return s},i.format=function(e){if(Array.isArray(e[0]))return i.formatRows(e);var r=new C,n=[];return e.forEach((function(t){for(var e in t)r.has(e)||n.push(r.add(e))})),[n.map(l).join(t)].concat(e.map((function(e){return n.map((function(t){return l(e[t])})).join(t)}))).join("\n")},i.formatRows=function(t){return t.map(s).join("\n")},i},t.csv=t.dsv(",","text/csv"),t.tsv=t.dsv("\t","text/tab-separated-values");var ve,ye,xe,be,_e=this[P(this,"requestAnimationFrame")]||function(t){setTimeout(t,17)};function we(t,e,r){var n=arguments.length;n<2&&(e=0),n<3&&(r=Date.now());var i=r+e,a={c:t,t:i,n:null};return ye?ye.n=a:ve=a,ye=a,xe||(be=clearTimeout(be),xe=1,_e(Te)),a}function Te(){var t=ke(),e=Me()-t;e>24?(isFinite(e)&&(clearTimeout(be),be=setTimeout(Te,e)),xe=0):(xe=1,_e(Te))}function ke(){for(var t=Date.now(),e=ve;e;)t>=e.t&&e.c(t-e.t)&&(e.c=null),e=e.n;return t}function Me(){for(var t,e=ve,r=1/0;e;)e.c?(e.t<r&&(r=e.t),e=(t=e).n):e=t?t.n=e.n:ve=e.n;return ye=t,r}function Ae(t,e){return e-(t?Math.ceil(Math.log(t)/Math.LN10):1)}t.timer=function(){we.apply(this,arguments)},t.timer.flush=function(){ke(),Me()},t.round=function(t,e){return e?Math.round(t*(e=Math.pow(10,e)))/e:Math.round(t)};var Se=["y","z","a","f","p","n","\xb5","m","","k","M","G","T","P","E","Z","Y"].map((function(t,e){var r=Math.pow(10,3*y(8-e));return{scale:e>8?function(t){return t/r}:function(t){return t*r},symbol:t}}));function Ee(e){var r=e.decimal,n=e.thousands,i=e.grouping,a=e.currency,o=i&&n?function(t,e){for(var r=t.length,a=[],o=0,s=i[0],l=0;r>0&&s>0&&(l+s+1>e&&(s=Math.max(1,e-l)),a.push(t.substring(r-=s,r+s)),!((l+=s+1)>e));)s=i[o=(o+1)%i.length];return a.reverse().join(n)}:L;return function(e){var n=Ce.exec(e),i=n[1]||" ",s=n[2]||">",l=n[3]||"-",c=n[4]||"",u=n[5],f=+n[6],h=n[7],p=n[8],d=n[9],g=1,m="",v="",y=!1,x=!0;switch(p&&(p=+p.substring(1)),(u||"0"===i&&"="===s)&&(u=i="0",s="="),d){case"n":h=!0,d="g";break;case"%":g=100,v="%",d="f";break;case"p":g=100,v="%",d="r";break;case"b":case"o":case"x":case"X":"#"===c&&(m="0"+d.toLowerCase());case"c":x=!1;case"d":y=!0,p=0;break;case"s":g=-1,d="r"}"$"===c&&(m=a[0],v=a[1]),"r"!=d||p||(d="g"),null!=p&&("g"==d?p=Math.max(1,Math.min(21,p)):"e"!=d&&"f"!=d||(p=Math.max(0,Math.min(20,p)))),d=Le.get(d)||Ie;var b=u&&h;return function(e){var n=v;if(y&&e%1)return"";var a=e<0||0===e&&1/e<0?(e=-e,"-"):"-"===l?"":l;if(g<0){var c=t.formatPrefix(e,p);e=c.scale(e),n=c.symbol+v}else e*=g;var _,w,T=(e=d(e,p)).lastIndexOf(".");if(T<0){var k=x?e.lastIndexOf("e"):-1;k<0?(_=e,w=""):(_=e.substring(0,k),w=e.substring(k))}else _=e.substring(0,T),w=r+e.substring(T+1);!u&&h&&(_=o(_,1/0));var M=m.length+_.length+w.length+(b?0:a.length),A=M<f?new Array(M=f-M+1).join(i):"";return b&&(_=o(A+_,A.length?f-w.length:1/0)),a+=m,e=_+w,("<"===s?a+e+A:">"===s?A+a+e:"^"===s?A.substring(0,M>>=1)+a+e+A.substring(M):a+(b?e:A+e))+n}}}t.formatPrefix=function(e,r){var n=0;return(e=+e)&&(e<0&&(e*=-1),r&&(e=t.round(e,Ae(e,r))),n=1+Math.floor(1e-12+Math.log(e)/Math.LN10),n=Math.max(-24,Math.min(24,3*Math.floor((n-1)/3)))),Se[8+n/3]};var Ce=/(?:([^{])?([<>=^]))?([+\- ])?([$#])?(0)?(\d+)?(,)?(\.-?\d+)?([a-z%])?/i,Le=t.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(e,r){return(e=t.round(e,Ae(e,r))).toFixed(Math.max(0,Math.min(20,Ae(e*(1+1e-15),r))))}});function Ie(t){return t+""}var Pe=t.time={},ze=Date;function Oe(){this._=new Date(arguments.length>1?Date.UTC.apply(this,arguments):arguments[0])}Oe.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(){De.setUTCDate.apply(this._,arguments)},setDay:function(){De.setUTCDay.apply(this._,arguments)},setFullYear:function(){De.setUTCFullYear.apply(this._,arguments)},setHours:function(){De.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){De.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){De.setUTCMinutes.apply(this._,arguments)},setMonth:function(){De.setUTCMonth.apply(this._,arguments)},setSeconds:function(){De.setUTCSeconds.apply(this._,arguments)},setTime:function(){De.setTime.apply(this._,arguments)}};var De=Date.prototype;function Re(t,e,r){function n(e){var r=t(e),n=a(r,1);return e-r<n-e?r:n}function i(r){return e(r=t(new ze(r-1)),1),r}function a(t,r){return e(t=new ze(+t),r),t}function o(t,n,a){var o=i(t),s=[];if(a>1)for(;o<n;)r(o)%a||s.push(new Date(+o)),e(o,1);else for(;o<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=Fe(t);return s.floor=s,s.round=Fe(n),s.ceil=Fe(i),s.offset=Fe(a),s.range=function(t,e,r){try{ze=Oe;var n=new Oe;return n._=t,o(n,e,r)}finally{ze=Date}},t}function Fe(t){return function(e,r){try{ze=Oe;var n=new Oe;return n._=e,t(n,r)._}finally{ze=Date}}}function Be(e){var r=e.dateTime,n=e.date,i=e.time,a=e.periods,o=e.days,s=e.shortDays,l=e.months,c=e.shortMonths;function u(t){var e=t.length;function r(r){for(var n,i,a,o=[],s=-1,l=0;++s<e;)37===t.charCodeAt(s)&&(o.push(t.slice(l,s)),null!=(i=Ne[n=t.charAt(++s)])&&(n=t.charAt(++s)),(a=_[n])&&(n=a(r,null==i?"e"===n?" ":"0":i)),o.push(n),l=s+1);return o.push(t.slice(l,s)),o.join("")}return r.parse=function(e){var r={y:1900,m:0,d:1,H:0,M:0,S:0,L:0,Z:null};if(f(r,t,e,0)!=e.length)return null;"p"in r&&(r.H=r.H%12+12*r.p);var n=null!=r.Z&&ze!==Oe,i=new(n?Oe:ze);return"j"in r?i.setFullYear(r.y,0,r.j):"W"in r||"U"in r?("w"in r||(r.w="W"in r?1:0),i.setFullYear(r.y,0,1),i.setFullYear(r.y,0,"W"in r?(r.w+6)%7+7*r.W-(i.getDay()+5)%7:r.w+7*r.U-(i.getDay()+6)%7)):i.setFullYear(r.y,r.m,r.d),i.setHours(r.H+(r.Z/100|0),r.M+r.Z%100,r.S,r.L),n?i._:i},r.toString=function(){return t},r}function f(t,e,r,n){for(var i,a,o,s=0,l=e.length,c=r.length;s<l;){if(n>=c)return-1;if(37===(i=e.charCodeAt(s++))){if(o=e.charAt(s++),!(a=w[o in Ne?e.charAt(s++):o])||(n=a(t,r,n))<0)return-1}else if(i!=r.charCodeAt(n++))return-1}return n}u.utc=function(t){var e=u(t);function r(t){try{var r=new(ze=Oe);return r._=t,e(r)}finally{ze=Date}}return r.parse=function(t){try{ze=Oe;var r=e.parse(t);return r&&r._}finally{ze=Date}},r.toString=e.toString,r},u.multi=u.utc.multi=or;var h=t.map(),p=qe(o),d=He(o),g=qe(s),m=He(s),v=qe(l),y=He(l),x=qe(c),b=He(c);a.forEach((function(t,e){h.set(t.toLowerCase(),e)}));var _={a:function(t){return s[t.getDay()]},A:function(t){return o[t.getDay()]},b:function(t){return c[t.getMonth()]},B:function(t){return l[t.getMonth()]},c:u(r),d:function(t,e){return Ve(t.getDate(),e,2)},e:function(t,e){return Ve(t.getDate(),e,2)},H:function(t,e){return Ve(t.getHours(),e,2)},I:function(t,e){return Ve(t.getHours()%12||12,e,2)},j:function(t,e){return Ve(1+Pe.dayOfYear(t),e,3)},L:function(t,e){return Ve(t.getMilliseconds(),e,3)},m:function(t,e){return Ve(t.getMonth()+1,e,2)},M:function(t,e){return Ve(t.getMinutes(),e,2)},p:function(t){return a[+(t.getHours()>=12)]},S:function(t,e){return Ve(t.getSeconds(),e,2)},U:function(t,e){return Ve(Pe.sundayOfYear(t),e,2)},w:function(t){return t.getDay()},W:function(t,e){return Ve(Pe.mondayOfYear(t),e,2)},x:u(n),X:u(i),y:function(t,e){return Ve(t.getFullYear()%100,e,2)},Y:function(t,e){return Ve(t.getFullYear()%1e4,e,4)},Z:ir,"%":function(){return"%"}},w={a:function(t,e,r){g.lastIndex=0;var n=g.exec(e.slice(r));return n?(t.w=m.get(n[0].toLowerCase()),r+n[0].length):-1},A:function(t,e,r){p.lastIndex=0;var n=p.exec(e.slice(r));return n?(t.w=d.get(n[0].toLowerCase()),r+n[0].length):-1},b:function(t,e,r){x.lastIndex=0;var n=x.exec(e.slice(r));return n?(t.m=b.get(n[0].toLowerCase()),r+n[0].length):-1},B:function(t,e,r){v.lastIndex=0;var n=v.exec(e.slice(r));return n?(t.m=y.get(n[0].toLowerCase()),r+n[0].length):-1},c:function(t,e,r){return f(t,_.c.toString(),e,r)},d:Qe,e:Qe,H:tr,I:tr,j:$e,L:nr,m:Ke,M:er,p:function(t,e,r){var n=h.get(e.slice(r,r+=2).toLowerCase());return null==n?-1:(t.p=n,r)},S:rr,U:Ye,w:Ge,W:We,x:function(t,e,r){return f(t,_.x.toString(),e,r)},X:function(t,e,r){return f(t,_.X.toString(),e,r)},y:Ze,Y:Xe,Z:Je,"%":ar};return u}Pe.year=Re((function(t){return(t=Pe.day(t)).setMonth(0,1),t}),(function(t,e){t.setFullYear(t.getFullYear()+e)}),(function(t){return t.getFullYear()})),Pe.years=Pe.year.range,Pe.years.utc=Pe.year.utc.range,Pe.day=Re((function(t){var e=new ze(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})),Pe.days=Pe.day.range,Pe.days.utc=Pe.day.utc.range,Pe.dayOfYear=function(t){var e=Pe.year(t);return Math.floor((t-e-6e4*(t.getTimezoneOffset()-e.getTimezoneOffset()))/864e5)},["sunday","monday","tuesday","wednesday","thursday","friday","saturday"].forEach((function(t,e){e=7-e;var r=Pe[t]=Re((function(t){return(t=Pe.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=Pe.year(t).getDay();return Math.floor((Pe.dayOfYear(t)+(r+e)%7)/7)-(r!==e)}));Pe[t+"s"]=r.range,Pe[t+"s"].utc=r.utc.range,Pe[t+"OfYear"]=function(t){var r=Pe.year(t).getDay();return Math.floor((Pe.dayOfYear(t)+(r+e)%7)/7)}})),Pe.week=Pe.sunday,Pe.weeks=Pe.sunday.range,Pe.weeks.utc=Pe.sunday.utc.range,Pe.weekOfYear=Pe.sundayOfYear;var Ne={"-":"",_:" ",0:"0"},je=/^\s*\d+/,Ue=/^%/;function Ve(t,e,r){var n=t<0?"-":"",i=(n?-t:t)+"",a=i.length;return n+(a<r?new Array(r-a+1).join(e)+i:i)}function qe(e){return new RegExp("^(?:"+e.map(t.requote).join("|")+")","i")}function He(t){for(var e=new _,r=-1,n=t.length;++r<n;)e.set(t[r].toLowerCase(),r);return e}function Ge(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+1));return n?(t.w=+n[0],r+n[0].length):-1}function Ye(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r));return n?(t.U=+n[0],r+n[0].length):-1}function We(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r));return n?(t.W=+n[0],r+n[0].length):-1}function Xe(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+4));return n?(t.y=+n[0],r+n[0].length):-1}function Ze(t,e,r){je.lastIndex=0;var n,i=je.exec(e.slice(r,r+2));return i?(t.y=(n=+i[0])+(n>68?1900:2e3),r+i[0].length):-1}function Je(t,e,r){return/^[+-]\d{4}$/.test(e=e.slice(r,r+5))?(t.Z=-e,r+5):-1}function Ke(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+2));return n?(t.m=n[0]-1,r+n[0].length):-1}function Qe(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+2));return n?(t.d=+n[0],r+n[0].length):-1}function $e(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+3));return n?(t.j=+n[0],r+n[0].length):-1}function tr(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+2));return n?(t.H=+n[0],r+n[0].length):-1}function er(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+2));return n?(t.M=+n[0],r+n[0].length):-1}function rr(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+2));return n?(t.S=+n[0],r+n[0].length):-1}function nr(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+3));return n?(t.L=+n[0],r+n[0].length):-1}function ir(t){var e=t.getTimezoneOffset(),r=e>0?"-":"+",n=y(e)/60|0,i=y(e)%60;return r+Ve(n,"0",2)+Ve(i,"0",2)}function ar(t,e,r){Ue.lastIndex=0;var n=Ue.exec(e.slice(r,r+1));return n?r+n[0].length:-1}function or(t){for(var e=t.length,r=-1;++r<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)}}t.locale=function(t){return{numberFormat:Ee(t),timeFormat:Be(t)}};var sr=t.locale({decimal:".",thousands:",",grouping:[3],currency:["$",""],dateTime:"%a %b %e %X %Y",date:"%m/%d/%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function lr(){}t.format=sr.numberFormat,t.geo={},lr.prototype={s:0,t:0,add:function(t){ur(t,this.t,cr),ur(cr.s,this.s,this),this.s?this.t+=cr.t:this.s=cr.t},reset:function(){this.s=this.t=0},valueOf:function(){return this.s}};var cr=new lr;function ur(t,e,r){var n=r.s=t+e,i=n-t,a=n-i;r.t=t-a+(e-i)}function fr(t,e){t&&pr.hasOwnProperty(t.type)&&pr[t.type](t,e)}t.geo.stream=function(t,e){t&&hr.hasOwnProperty(t.type)?hr[t.type](t,e):fr(t,e)};var hr={Feature:function(t,e){fr(t.geometry,e)},FeatureCollection:function(t,e){for(var r=t.features,n=-1,i=r.length;++n<i;)fr(r[n].geometry,e)}},pr={Sphere:function(t,e){e.sphere()},Point:function(t,e){t=t.coordinates,e.point(t[0],t[1],t[2])},MultiPoint:function(t,e){for(var r=t.coordinates,n=-1,i=r.length;++n<i;)t=r[n],e.point(t[0],t[1],t[2])},LineString:function(t,e){dr(t.coordinates,e,0)},MultiLineString:function(t,e){for(var r=t.coordinates,n=-1,i=r.length;++n<i;)dr(r[n],e,0)},Polygon:function(t,e){gr(t.coordinates,e)},MultiPolygon:function(t,e){for(var r=t.coordinates,n=-1,i=r.length;++n<i;)gr(r[n],e)},GeometryCollection:function(t,e){for(var r=t.geometries,n=-1,i=r.length;++n<i;)fr(r[n],e)}};function dr(t,e,r){var n,i=-1,a=t.length-r;for(e.lineStart();++i<a;)n=t[i],e.point(n[0],n[1],n[2]);e.lineEnd()}function gr(t,e){var r=-1,n=t.length;for(e.polygonStart();++r<n;)dr(t[r],e,1);e.polygonEnd()}t.geo.area=function(e){return mr=0,t.geo.stream(e,Cr),mr};var mr,vr,yr,xr,br,_r,wr,Tr,kr,Mr,Ar,Sr,Er=new lr,Cr={sphere:function(){mr+=4*At},point:O,lineStart:O,lineEnd:O,polygonStart:function(){Er.reset(),Cr.lineStart=Lr},polygonEnd:function(){var t=2*Er;mr+=t<0?4*At+t:t,Cr.lineStart=Cr.lineEnd=Cr.point=O}};function Lr(){var t,e,r,n,i;function a(t,e){e=e*Lt/2+At/4;var a=(t*=Lt)-r,o=a>=0?1:-1,s=o*a,l=Math.cos(e),c=Math.sin(e),u=i*c,f=n*l+u*Math.cos(s),h=u*o*Math.sin(s);Er.add(Math.atan2(h,f)),r=t,n=l,i=c}Cr.point=function(o,s){Cr.point=a,r=(t=o)*Lt,n=Math.cos(s=(e=s)*Lt/2+At/4),i=Math.sin(s)},Cr.lineEnd=function(){a(t,e)}}function Ir(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 Pr(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function zr(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 Or(t,e){t[0]+=e[0],t[1]+=e[1],t[2]+=e[2]}function Dr(t,e){return[t[0]*e,t[1]*e,t[2]*e]}function Rr(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 Fr(t){return[Math.atan2(t[1],t[0]),Dt(t[2])]}function Br(t,e){return y(t[0]-e[0])<kt&&y(t[1]-e[1])<kt}t.geo.bounds=function(){var e,r,n,i,a,o,s,l,c,u,f,h={point:p,lineStart:g,lineEnd:m,polygonStart:function(){h.point=v,h.lineStart=x,h.lineEnd=b,c=0,Cr.polygonStart()},polygonEnd:function(){Cr.polygonEnd(),h.point=p,h.lineStart=g,h.lineEnd=m,Er<0?(e=-(n=180),r=-(i=90)):c>kt?i=90:c<-kt&&(r=-90),f[0]=e,f[1]=n}};function p(t,a){u.push(f=[e=t,n=t]),a<r&&(r=a),a>i&&(i=a)}function d(t,o){var s=Ir([t*Lt,o*Lt]);if(l){var c=zr(l,s),u=zr([c[1],-c[0],0],c);Rr(u),u=Fr(u);var f=t-a,h=f>0?1:-1,d=u[0]*It*h,g=y(f)>180;if(g^(h*a<d&&d<h*t))(m=u[1]*It)>i&&(i=m);else if(g^(h*a<(d=(d+360)%360-180)&&d<h*t)){var m;(m=-u[1]*It)<r&&(r=m)}else o<r&&(r=o),o>i&&(i=o);g?t<a?_(e,t)>_(e,n)&&(n=t):_(t,n)>_(e,n)&&(e=t):n>=e?(t<e&&(e=t),t>n&&(n=t)):t>a?_(e,t)>_(e,n)&&(n=t):_(t,n)>_(e,n)&&(e=t)}else p(t,o);l=s,a=t}function g(){h.point=d}function m(){f[0]=e,f[1]=n,h.point=p,l=null}function v(t,e){if(l){var r=t-a;c+=y(r)>180?r+(r>0?360:-360):r}else o=t,s=e;Cr.point(t,e),d(t,e)}function x(){Cr.lineStart()}function b(){v(o,s),Cr.lineEnd(),y(c)>kt&&(e=-(n=180)),f[0]=e,f[1]=n,l=null}function _(t,e){return(e-=t)<0?e+360:e}function w(t,e){return t[0]-e[0]}function T(t,e){return e[0]<=e[1]?e[0]<=t&&t<=e[1]:t<e[0]||e[1]<t}return function(a){if(i=n=-(e=r=1/0),u=[],t.geo.stream(a,h),c=u.length){u.sort(w);for(var o=1,s=[g=u[0]];o<c;++o)T((p=u[o])[0],g)||T(p[1],g)?(_(g[0],p[1])>_(g[0],g[1])&&(g[1]=p[1]),_(p[0],g[1])>_(g[0],g[1])&&(g[0]=p[0])):s.push(g=p);for(var l,c,p,d=-1/0,g=(o=0,s[c=s.length-1]);o<=c;g=p,++o)p=s[o],(l=_(g[1],p[0]))>d&&(d=l,e=p[0],n=g[1])}return u=f=null,e===1/0||r===1/0?[[NaN,NaN],[NaN,NaN]]:[[e,r],[n,i]]}}(),t.geo.centroid=function(e){vr=yr=xr=br=_r=wr=Tr=kr=Mr=Ar=Sr=0,t.geo.stream(e,Nr);var r=Mr,n=Ar,i=Sr,a=r*r+n*n+i*i;return a<Mt&&(r=wr,n=Tr,i=kr,yr<kt&&(r=xr,n=br,i=_r),(a=r*r+n*n+i*i)<Mt)?[NaN,NaN]:[Math.atan2(n,r)*It,Dt(i/Math.sqrt(a))*It]};var Nr={sphere:O,point:jr,lineStart:Vr,lineEnd:qr,polygonStart:function(){Nr.lineStart=Hr},polygonEnd:function(){Nr.lineStart=Vr}};function jr(t,e){t*=Lt;var r=Math.cos(e*=Lt);Ur(r*Math.cos(t),r*Math.sin(t),Math.sin(e))}function Ur(t,e,r){++vr,xr+=(t-xr)/vr,br+=(e-br)/vr,_r+=(r-_r)/vr}function Vr(){var t,e,r;function n(n,i){n*=Lt;var a=Math.cos(i*=Lt),o=a*Math.cos(n),s=a*Math.sin(n),l=Math.sin(i),c=Math.atan2(Math.sqrt((c=e*l-r*s)*c+(c=r*o-t*l)*c+(c=t*s-e*o)*c),t*o+e*s+r*l);yr+=c,wr+=c*(t+(t=o)),Tr+=c*(e+(e=s)),kr+=c*(r+(r=l)),Ur(t,e,r)}Nr.point=function(i,a){i*=Lt;var o=Math.cos(a*=Lt);t=o*Math.cos(i),e=o*Math.sin(i),r=Math.sin(a),Nr.point=n,Ur(t,e,r)}}function qr(){Nr.point=jr}function Hr(){var t,e,r,n,i;function a(t,e){t*=Lt;var a=Math.cos(e*=Lt),o=a*Math.cos(t),s=a*Math.sin(t),l=Math.sin(e),c=n*l-i*s,u=i*o-r*l,f=r*s-n*o,h=Math.sqrt(c*c+u*u+f*f),p=r*o+n*s+i*l,d=h&&-Ot(p)/h,g=Math.atan2(h,p);Mr+=d*c,Ar+=d*u,Sr+=d*f,yr+=g,wr+=g*(r+(r=o)),Tr+=g*(n+(n=s)),kr+=g*(i+(i=l)),Ur(r,n,i)}Nr.point=function(o,s){t=o,e=s,Nr.point=a,o*=Lt;var l=Math.cos(s*=Lt);r=l*Math.cos(o),n=l*Math.sin(o),i=Math.sin(s),Ur(r,n,i)},Nr.lineEnd=function(){a(t,e),Nr.lineEnd=qr,Nr.point=jr}}function Gr(t,e){function r(r,n){return r=t(r,n),e(r[0],r[1])}return t.invert&&e.invert&&(r.invert=function(r,n){return(r=e.invert(r,n))&&t.invert(r[0],r[1])}),r}function Yr(){return!0}function Wr(t,e,r,n,i){var a=[],o=[];if(t.forEach((function(t){if(!((e=t.length-1)<=0)){var e,r=t[0],n=t[e];if(Br(r,n)){i.lineStart();for(var s=0;s<e;++s)i.point((r=t[s])[0],r[1]);i.lineEnd()}else{var l=new Zr(r,t,null,!0),c=new Zr(r,null,l,!1);l.o=c,a.push(l),o.push(c),l=new Zr(n,t,null,!1),c=new Zr(n,null,l,!0),l.o=c,a.push(l),o.push(c)}}})),o.sort(e),Xr(a),Xr(o),a.length){for(var s=0,l=r,c=o.length;s<c;++s)o[s].e=l=!l;for(var u,f,h=a[0];;){for(var p=h,d=!0;p.v;)if((p=p.n)===h)return;u=p.z,i.lineStart();do{if(p.v=p.o.v=!0,p.e){if(d)for(s=0,c=u.length;s<c;++s)i.point((f=u[s])[0],f[1]);else n(p.x,p.n.x,1,i);p=p.n}else{if(d)for(s=(u=p.p.z).length-1;s>=0;--s)i.point((f=u[s])[0],f[1]);else n(p.x,p.p.x,-1,i);p=p.p}u=(p=p.o).z,d=!d}while(!p.v);i.lineEnd()}}}function Xr(t){if(e=t.length){for(var e,r,n=0,i=t[0];++n<e;)i.n=r=t[n],r.p=i,i=r;i.n=r=t[0],r.p=i}}function Zr(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 Jr(e,r,n,i){return function(a,o){var s,l=r(o),c=a.invert(i[0],i[1]),u={point:f,lineStart:p,lineEnd:d,polygonStart:function(){u.point=b,u.lineStart=_,u.lineEnd=w,s=[],g=[]},polygonEnd:function(){u.point=f,u.lineStart=p,u.lineEnd=d,s=t.merge(s);var e=function(t,e){var r=t[0],n=t[1],i=[Math.sin(r),-Math.cos(r),0],a=0,o=0;Er.reset();for(var s=0,l=e.length;s<l;++s){var c=e[s],u=c.length;if(u)for(var f=c[0],h=f[0],p=f[1]/2+At/4,d=Math.sin(p),g=Math.cos(p),m=1;;){m===u&&(m=0);var v=(t=c[m])[0],y=t[1]/2+At/4,x=Math.sin(y),b=Math.cos(y),_=v-h,w=_>=0?1:-1,T=w*_,k=T>At,M=d*x;if(Er.add(Math.atan2(M*w*Math.sin(T),g*b+M*Math.cos(T))),a+=k?_+w*St:_,k^h>=r^v>=r){var A=zr(Ir(f),Ir(t));Rr(A);var S=zr(i,A);Rr(S);var E=(k^_>=0?-1:1)*Dt(S[2]);(n>E||n===E&&(A[0]||A[1]))&&(o+=k^_>=0?1:-1)}if(!m++)break;h=v,d=x,g=b,f=t}}return(a<-kt||a<kt&&Er<-kt)^1&o}(c,g);s.length?(x||(o.polygonStart(),x=!0),Wr(s,$r,e,n,o)):e&&(x||(o.polygonStart(),x=!0),o.lineStart(),n(null,null,1,o),o.lineEnd()),x&&(o.polygonEnd(),x=!1),s=g=null},sphere:function(){o.polygonStart(),o.lineStart(),n(null,null,1,o),o.lineEnd(),o.polygonEnd()}};function f(t,r){var n=a(t,r);e(t=n[0],r=n[1])&&o.point(t,r)}function h(t,e){var r=a(t,e);l.point(r[0],r[1])}function p(){u.point=h,l.lineStart()}function d(){u.point=f,l.lineEnd()}var g,m,v=Qr(),y=r(v),x=!1;function b(t,e){m.push([t,e]);var r=a(t,e);y.point(r[0],r[1])}function _(){y.lineStart(),m=[]}function w(){b(m[0][0],m[0][1]),y.lineEnd();var t,e=y.clean(),r=v.buffer(),n=r.length;if(m.pop(),g.push(m),m=null,n)if(1&e){var i,a=-1;if((n=(t=r[0]).length-1)>0){for(x||(o.polygonStart(),x=!0),o.lineStart();++a<n;)o.point((i=t[a])[0],i[1]);o.lineEnd()}}else n>1&&2&e&&r.push(r.pop().concat(r.shift())),s.push(r.filter(Kr))}return u}}function Kr(t){return t.length>1}function Qr(){var t,e=[];return{lineStart:function(){e.push(t=[])},point:function(e,r){t.push([e,r])},lineEnd:O,buffer:function(){var r=e;return e=[],t=null,r},rejoin:function(){e.length>1&&e.push(e.pop().concat(e.shift()))}}}function $r(t,e){return((t=t.x)[0]<0?t[1]-Ct-kt:Ct-t[1])-((e=e.x)[0]<0?e[1]-Ct-kt:Ct-e[1])}var tn=Jr(Yr,(function(t){var e,r=NaN,n=NaN,i=NaN;return{lineStart:function(){t.lineStart(),e=1},point:function(a,o){var s=a>0?At:-At,l=y(a-r);y(l-At)<kt?(t.point(r,n=(n+o)/2>0?Ct:-Ct),t.point(i,n),t.lineEnd(),t.lineStart(),t.point(s,n),t.point(a,n),e=0):i!==s&&l>=At&&(y(r-i)<kt&&(r-=i*kt),y(a-s)<kt&&(a-=s*kt),n=function(t,e,r,n){var i,a,o=Math.sin(t-r);return y(o)>kt?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*Ct,n.point(-At,i),n.point(0,i),n.point(At,i),n.point(At,0),n.point(At,-i),n.point(0,-i),n.point(-At,-i),n.point(-At,0),n.point(-At,i);else if(y(t[0]-e[0])>kt){var a=t[0]<e[0]?At:-At;i=r*a/2,n.point(-a,i),n.point(0,i),n.point(a,i)}else n.point(e[0],e[1])}),[-At,-At/2]);function en(t){var e=Math.cos(t),r=e>0,n=y(e)>kt;return Jr(i,(function(t){var e,s,l,c,u;return{lineStart:function(){c=l=!1,u=1},point:function(f,h){var p,d=[f,h],g=i(f,h),m=r?g?0:o(f,h):g?o(f+(f<0?At:-At),h):0;if(!e&&(c=l=g)&&t.lineStart(),g!==l&&(p=a(e,d),(Br(e,p)||Br(d,p))&&(d[0]+=kt,d[1]+=kt,g=i(d[0],d[1]))),g!==l)u=0,g?(t.lineStart(),p=a(d,e),t.point(p[0],p[1])):(p=a(e,d),t.point(p[0],p[1]),t.lineEnd()),e=p;else if(n&&e&&r^g){var v;m&s||!(v=a(d,e,!0))||(u=0,r?(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])))}!g||e&&Br(e,d)||t.point(d[0],d[1]),e=d,l=g,s=m},lineEnd:function(){l&&t.lineEnd(),e=null},clean:function(){return u|(c&&l)<<1}}}),Bn(t,6*Lt),r?[0,-t]:[-At,t-At]);function i(t,r){return Math.cos(t)*Math.cos(r)>e}function a(t,r,n){var i=[1,0,0],a=zr(Ir(t),Ir(r)),o=Pr(a,a),s=a[0],l=o-s*s;if(!l)return!n&&t;var c=e*o/l,u=-e*s/l,f=zr(i,a),h=Dr(i,c);Or(h,Dr(a,u));var p=f,d=Pr(h,p),g=Pr(p,p),m=d*d-g*(Pr(h,h)-1);if(!(m<0)){var v=Math.sqrt(m),x=Dr(p,(-d-v)/g);if(Or(x,h),x=Fr(x),!n)return x;var b,_=t[0],w=r[0],T=t[1],k=r[1];w<_&&(b=_,_=w,w=b);var M=w-_,A=y(M-At)<kt;if(!A&&k<T&&(b=T,T=k,k=b),A||M<kt?A?T+k>0^x[1]<(y(x[0]-_)<kt?T:k):T<=x[1]&&x[1]<=k:M>At^(_<=x[0]&&x[0]<=w)){var S=Dr(p,(-d+v)/g);return Or(S,h),[x,Fr(S)]}}}function o(e,n){var i=r?t:At-t,a=0;return e<-i?a|=1:e>i&&(a|=2),n<-i?a|=4:n>i&&(a|=8),a}}function rn(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,p=s.y-c;if(a=t-l,h||!(a>0)){if(a/=h,h<0){if(a<u)return;a<f&&(f=a)}else if(h>0){if(a>f)return;a>u&&(u=a)}if(a=r-l,h||!(a<0)){if(a/=h,h<0){if(a>f)return;a>u&&(u=a)}else if(h>0){if(a<u)return;a<f&&(f=a)}if(a=e-c,p||!(a>0)){if(a/=p,p<0){if(a<u)return;a<f&&(f=a)}else if(p>0){if(a>f)return;a>u&&(u=a)}if(a=n-c,p||!(a<0)){if(a/=p,p<0){if(a>f)return;a>u&&(u=a)}else if(p>0){if(a<u)return;a<f&&(f=a)}return u>0&&(i.a={x:l+u*h,y:c+u*p}),f<1&&(i.b={x:l+f*h,y:c+f*p}),i}}}}}}function nn(e,r,n,i){return function(l){var c,u,f,h,p,d,g,m,v,y,x,b=l,_=Qr(),w=rn(e,r,n,i),T={point:A,lineStart:function(){T.point=S,u&&u.push(f=[]);y=!0,v=!1,g=m=NaN},lineEnd:function(){c&&(S(h,p),d&&v&&_.rejoin(),c.push(_.buffer()));T.point=A,v&&l.lineEnd()},polygonStart:function(){l=_,c=[],u=[],x=!0},polygonEnd:function(){l=b,c=t.merge(c);var r=function(t){for(var e=0,r=u.length,n=t[1],i=0;i<r;++i)for(var a,o=1,s=u[i],l=s.length,c=s[0];o<l;++o)a=s[o],c[1]<=n?a[1]>n&&zt(c,a,t)>0&&++e:a[1]<=n&&zt(c,a,t)<0&&--e,c=a;return 0!==e}([e,i]),n=x&&r,a=c.length;(n||a)&&(l.polygonStart(),n&&(l.lineStart(),k(null,null,1,l),l.lineEnd()),a&&Wr(c,o,r,k,l),l.polygonEnd()),c=u=f=null}};function k(t,o,l,c){var u=0,f=0;if(null==t||(u=a(t,l))!==(f=a(o,l))||s(t,o)<0^l>0)do{c.point(0===u||3===u?e:n,u>1?i:r)}while((u=(u+l+4)%4)!==f);else c.point(o[0],o[1])}function M(t,a){return e<=t&&t<=n&&r<=a&&a<=i}function A(t,e){M(t,e)&&l.point(t,e)}function S(t,e){var r=M(t=Math.max(-1e9,Math.min(1e9,t)),e=Math.max(-1e9,Math.min(1e9,e)));if(u&&f.push([t,e]),y)h=t,p=e,d=r,y=!1,r&&(l.lineStart(),l.point(t,e));else if(r&&v)l.point(t,e);else{var n={a:{x:g,y:m},b:{x:t,y:e}};w(n)?(v||(l.lineStart(),l.point(n.a.x,n.a.y)),l.point(n.b.x,n.b.y),r||l.lineEnd(),x=!1):r&&(l.lineStart(),l.point(t,e),x=!1)}g=t,m=e,v=r}return T};function a(t,i){return y(t[0]-e)<kt?i>0?0:3:y(t[0]-n)<kt?i>0?2:1:y(t[1]-r)<kt?i>0?1:0:i>0?3:2}function o(t,e){return s(t.x,e.x)}function s(t,e){var r=a(t,1),n=a(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]}}function an(t){var e=0,r=At/3,n=Ln(t),i=n(e,r);return i.parallels=function(t){return arguments.length?n(e=t[0]*At/180,r=t[1]*At/180):[e/At*180,r/At*180]},i}function on(t,e){var r=Math.sin(t),n=(r+Math.sin(e))/2,i=1+r*(2*n-r),a=Math.sqrt(i)/n;function o(t,e){var r=Math.sqrt(i-2*n*Math.sin(e))/n;return[r*Math.sin(t*=n),a-r*Math.cos(t)]}return o.invert=function(t,e){var r=a-e;return[Math.atan2(t,r)/n,Dt((i-(t*t+r*r)*n*n)/(2*n))]},o}t.geo.clipExtent=function(){var t,e,r,n,i,a,o={stream:function(t){return i&&(i.valid=!1),(i=a(t)).valid=!0,i},extent:function(s){return arguments.length?(a=nn(t=+s[0][0],e=+s[0][1],r=+s[1][0],n=+s[1][1]),i&&(i.valid=!1,i=null),o):[[t,e],[r,n]]}};return o.extent([[0,0],[960,500]])},(t.geo.conicEqualArea=function(){return an(on)}).raw=on,t.geo.albers=function(){return t.geo.conicEqualArea().rotate([96,0]).center([-.6,38.7]).parallels([29.5,45.5]).scale(1070)},t.geo.albersUsa=function(){var e,r,n,i,a=t.geo.albers(),o=t.geo.conicEqualArea().rotate([154,0]).center([-2,58.5]).parallels([55,65]),s=t.geo.conicEqualArea().rotate([157,0]).center([-3,19.9]).parallels([8,18]),l={point:function(t,r){e=[t,r]}};function c(t){var a=t[0],o=t[1];return e=null,r(a,o),e||(n(a,o),e)||i(a,o),e}return c.invert=function(t){var e=a.scale(),r=a.translate(),n=(t[0]-r[0])/e,i=(t[1]-r[1])/e;return(i>=.12&&i<.234&&n>=-.425&&n<-.214?o:i>=.166&&i<.234&&n>=-.214&&n<-.115?s:a).invert(t)},c.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()}}},c.precision=function(t){return arguments.length?(a.precision(t),o.precision(t),s.precision(t),c):a.precision()},c.scale=function(t){return arguments.length?(a.scale(t),o.scale(.35*t),s.scale(t),c.translate(a.translate())):a.scale()},c.translate=function(t){if(!arguments.length)return a.translate();var e=a.scale(),u=+t[0],f=+t[1];return r=a.translate(t).clipExtent([[u-.455*e,f-.238*e],[u+.455*e,f+.238*e]]).stream(l).point,n=o.translate([u-.307*e,f+.201*e]).clipExtent([[u-.425*e+kt,f+.12*e+kt],[u-.214*e-kt,f+.234*e-kt]]).stream(l).point,i=s.translate([u-.205*e,f+.212*e]).clipExtent([[u-.214*e+kt,f+.166*e+kt],[u-.115*e-kt,f+.234*e-kt]]).stream(l).point,c},c.scale(1070)};var sn,ln,cn,un,fn,hn,pn={point:O,lineStart:O,lineEnd:O,polygonStart:function(){ln=0,pn.lineStart=dn},polygonEnd:function(){pn.lineStart=pn.lineEnd=pn.point=O,sn+=y(ln/2)}};function dn(){var t,e,r,n;function i(t,e){ln+=n*t-r*e,r=t,n=e}pn.point=function(a,o){pn.point=i,t=r=a,e=n=o},pn.lineEnd=function(){i(t,e)}}var gn={point:function(t,e){t<cn&&(cn=t);t>fn&&(fn=t);e<un&&(un=e);e>hn&&(hn=e)},lineStart:O,lineEnd:O,polygonStart:O,polygonEnd:O};function mn(){var t=vn(4.5),e=[],r={point:n,lineStart:function(){r.point=i},lineEnd:o,polygonStart:function(){r.lineEnd=s},polygonEnd:function(){r.lineEnd=o,r.point=n},pointRadius:function(e){return t=vn(e),r},result:function(){if(e.length){var t=e.join("");return e=[],t}}};function n(r,n){e.push("M",r,",",n,t)}function i(t,n){e.push("M",t,",",n),r.point=a}function a(t,r){e.push("L",t,",",r)}function o(){r.point=n}function s(){e.push("Z")}return r}function vn(t){return"m0,"+t+"a"+t+","+t+" 0 1,1 0,"+-2*t+"a"+t+","+t+" 0 1,1 0,"+2*t+"z"}var yn,xn={point:bn,lineStart:_n,lineEnd:wn,polygonStart:function(){xn.lineStart=Tn},polygonEnd:function(){xn.point=bn,xn.lineStart=_n,xn.lineEnd=wn}};function bn(t,e){xr+=t,br+=e,++_r}function _n(){var t,e;function r(r,n){var i=r-t,a=n-e,o=Math.sqrt(i*i+a*a);wr+=o*(t+r)/2,Tr+=o*(e+n)/2,kr+=o,bn(t=r,e=n)}xn.point=function(n,i){xn.point=r,bn(t=n,e=i)}}function wn(){xn.point=bn}function Tn(){var t,e,r,n;function i(t,e){var i=t-r,a=e-n,o=Math.sqrt(i*i+a*a);wr+=o*(r+t)/2,Tr+=o*(n+e)/2,kr+=o,Mr+=(o=n*t-r*e)*(r+t),Ar+=o*(n+e),Sr+=3*o,bn(r=t,n=e)}xn.point=function(a,o){xn.point=i,bn(t=r=a,e=n=o)},xn.lineEnd=function(){i(t,e)}}function kn(t){var e=4.5,r={point:n,lineStart:function(){r.point=i},lineEnd:o,polygonStart:function(){r.lineEnd=s},polygonEnd:function(){r.lineEnd=o,r.point=n},pointRadius:function(t){return e=t,r},result:O};function n(r,n){t.moveTo(r+e,n),t.arc(r,n,e,0,St)}function i(e,n){t.moveTo(e,n),r.point=a}function a(e,r){t.lineTo(e,r)}function o(){r.point=n}function s(){t.closePath()}return r}function Mn(t){var e=.5,r=Math.cos(30*Lt),n=16;function i(t){return(n?o:a)(t)}function a(e){return En(e,(function(r,n){r=t(r,n),e.point(r[0],r[1])}))}function o(e){var r,i,a,o,l,c,u,f,h,p,d,g,m={point:v,lineStart:y,lineEnd:b,polygonStart:function(){e.polygonStart(),m.lineStart=_},polygonEnd:function(){e.polygonEnd(),m.lineStart=y}};function v(r,n){r=t(r,n),e.point(r[0],r[1])}function y(){f=NaN,m.point=x,e.lineStart()}function x(r,i){var a=Ir([r,i]),o=t(r,i);s(f,h,u,p,d,g,f=o[0],h=o[1],u=r,p=a[0],d=a[1],g=a[2],n,e),e.point(f,h)}function b(){m.point=v,e.lineEnd()}function _(){y(),m.point=w,m.lineEnd=T}function w(t,e){x(r=t,e),i=f,a=h,o=p,l=d,c=g,m.point=x}function T(){s(f,h,u,p,d,g,i,a,r,o,l,c,n,e),m.lineEnd=b,b()}return m}function s(n,i,a,o,l,c,u,f,h,p,d,g,m,v){var x=u-n,b=f-i,_=x*x+b*b;if(_>4*e&&m--){var w=o+p,T=l+d,k=c+g,M=Math.sqrt(w*w+T*T+k*k),A=Math.asin(k/=M),S=y(y(k)-1)<kt||y(a-h)<kt?(a+h)/2:Math.atan2(T,w),E=t(S,A),C=E[0],L=E[1],I=C-n,P=L-i,z=b*I-x*P;(z*z/_>e||y((x*I+b*P)/_-.5)>.3||o*p+l*d+c*g<r)&&(s(n,i,a,o,l,c,C,L,S,w/=M,T/=M,k,m,v),v.point(C,L),s(C,L,S,w,T,k,u,f,h,p,d,g,m,v))}}return i.precision=function(t){return arguments.length?(n=(e=t*t)>0&&16,i):Math.sqrt(e)},i}function An(t){var e=Mn((function(e,r){return t([e*It,r*It])}));return function(t){return In(e(t))}}function Sn(t){this.stream=t}function En(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 Cn(t){return Ln((function(){return t}))()}function Ln(e){var r,n,i,a,o,s,l=Mn((function(t,e){return[(t=r(t,e))[0]*c+a,o-t[1]*c]})),c=150,u=480,f=250,h=0,p=0,d=0,g=0,m=0,v=tn,y=L,x=null,b=null;function _(t){return[(t=i(t[0]*Lt,t[1]*Lt))[0]*c+a,o-t[1]*c]}function w(t){return(t=i.invert((t[0]-a)/c,(o-t[1])/c))&&[t[0]*It,t[1]*It]}function T(){i=Gr(n=On(d,g,m),r);var t=r(h,p);return a=u-t[0]*c,o=f+t[1]*c,k()}function k(){return s&&(s.valid=!1,s=null),_}return _.stream=function(t){return s&&(s.valid=!1),(s=In(v(n,l(y(t))))).valid=!0,s},_.clipAngle=function(t){return arguments.length?(v=null==t?(x=t,tn):en((x=+t)*Lt),k()):x},_.clipExtent=function(t){return arguments.length?(b=t,y=t?nn(t[0][0],t[0][1],t[1][0],t[1][1]):L,k()):b},_.scale=function(t){return arguments.length?(c=+t,T()):c},_.translate=function(t){return arguments.length?(u=+t[0],f=+t[1],T()):[u,f]},_.center=function(t){return arguments.length?(h=t[0]%360*Lt,p=t[1]%360*Lt,T()):[h*It,p*It]},_.rotate=function(t){return arguments.length?(d=t[0]%360*Lt,g=t[1]%360*Lt,m=t.length>2?t[2]%360*Lt:0,T()):[d*It,g*It,m*It]},t.rebind(_,l,"precision"),function(){return r=e.apply(this,arguments),_.invert=r.invert&&w,T()}}function In(t){return En(t,(function(e,r){t.point(e*Lt,r*Lt)}))}function Pn(t,e){return[t,e]}function zn(t,e){return[t>At?t-St:t<-At?t+St:t,e]}function On(t,e,r){return t?e||r?Gr(Rn(t),Fn(e,r)):Rn(t):e||r?Fn(e,r):zn}function Dn(t){return function(e,r){return[(e+=t)>At?e-St:e<-At?e+St:e,r]}}function Rn(t){var e=Dn(t);return e.invert=Dn(-t),e}function Fn(t,e){var r=Math.cos(t),n=Math.sin(t),i=Math.cos(e),a=Math.sin(e);function o(t,e){var o=Math.cos(e),s=Math.cos(t)*o,l=Math.sin(t)*o,c=Math.sin(e),u=c*r+s*n;return[Math.atan2(l*i-u*a,s*r-c*n),Dt(u*i+l*a)]}return o.invert=function(t,e){var o=Math.cos(e),s=Math.cos(t)*o,l=Math.sin(t)*o,c=Math.sin(e),u=c*i-l*a;return[Math.atan2(l*i+c*a,s*r+u*n),Dt(u*r-s*n)]},o}function Bn(t,e){var r=Math.cos(t),n=Math.sin(t);return function(i,a,o,s){var l=o*e;null!=i?(i=Nn(r,i),a=Nn(r,a),(o>0?i<a:i>a)&&(i+=o*St)):(i=t+o*St,a=t-.5*l);for(var c,u=i;o>0?u>a:u<a;u-=l)s.point((c=Fr([r,-n*Math.cos(u),-n*Math.sin(u)]))[0],c[1])}}function Nn(t,e){var r=Ir(e);r[0]-=t,Rr(r);var n=Ot(-r[1]);return((-r[2]<0?-n:n)+2*Math.PI-kt)%(2*Math.PI)}function jn(e,r,n){var i=t.range(e,r-kt,n).concat(r);return function(t){return i.map((function(e){return[t,e]}))}}function Un(e,r,n){var i=t.range(e,r-kt,n).concat(r);return function(t){return i.map((function(e){return[e,t]}))}}function Vn(t){return t.source}function qn(t){return t.target}t.geo.path=function(){var e,r,n,i,a,o=4.5;function s(e){return e&&("function"==typeof o&&i.pointRadius(+o.apply(this,arguments)),a&&a.valid||(a=n(i)),t.geo.stream(e,a)),i.result()}function l(){return a=null,s}return s.area=function(e){return sn=0,t.geo.stream(e,n(pn)),sn},s.centroid=function(e){return xr=br=_r=wr=Tr=kr=Mr=Ar=Sr=0,t.geo.stream(e,n(xn)),Sr?[Mr/Sr,Ar/Sr]:kr?[wr/kr,Tr/kr]:_r?[xr/_r,br/_r]:[NaN,NaN]},s.bounds=function(e){return fn=hn=-(cn=un=1/0),t.geo.stream(e,n(gn)),[[cn,un],[fn,hn]]},s.projection=function(t){return arguments.length?(n=(e=t)?t.stream||An(t):L,l()):e},s.context=function(t){return arguments.length?(i=null==(r=t)?new mn:new kn(t),"function"!=typeof o&&i.pointRadius(o),l()):r},s.pointRadius=function(t){return arguments.length?(o="function"==typeof t?t:(i.pointRadius(+t),+t),s):o},s.projection(t.geo.albersUsa()).context(null)},t.geo.transform=function(t){return{stream:function(e){var r=new Sn(e);for(var n in t)r[n]=t[n];return r}}},Sn.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()}},t.geo.projection=Cn,t.geo.projectionMutator=Ln,(t.geo.equirectangular=function(){return Cn(Pn)}).raw=Pn.invert=Pn,t.geo.rotation=function(t){function e(e){return(e=t(e[0]*Lt,e[1]*Lt))[0]*=It,e[1]*=It,e}return t=On(t[0]%360*Lt,t[1]*Lt,t.length>2?t[2]*Lt:0),e.invert=function(e){return(e=t.invert(e[0]*Lt,e[1]*Lt))[0]*=It,e[1]*=It,e},e},zn.invert=Pn,t.geo.circle=function(){var t,e,r=[0,0],n=6;function i(){var t="function"==typeof r?r.apply(this,arguments):r,n=On(-t[0]*Lt,-t[1]*Lt,0).invert,i=[];return e(null,null,1,{point:function(t,e){i.push(t=n(t,e)),t[0]*=It,t[1]*=It}}),{type:"Polygon",coordinates:[i]}}return i.origin=function(t){return arguments.length?(r=t,i):r},i.angle=function(r){return arguments.length?(e=Bn((t=+r)*Lt,n*Lt),i):t},i.precision=function(r){return arguments.length?(e=Bn(t*Lt,(n=+r)*Lt),i):n},i.angle(90)},t.geo.distance=function(t,e){var r,n=(e[0]-t[0])*Lt,i=t[1]*Lt,a=e[1]*Lt,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)},t.geo.graticule=function(){var e,r,n,i,a,o,s,l,c,u,f,h,p=10,d=p,g=90,m=360,v=2.5;function x(){return{type:"MultiLineString",coordinates:b()}}function b(){return t.range(Math.ceil(i/g)*g,n,g).map(f).concat(t.range(Math.ceil(l/m)*m,s,m).map(h)).concat(t.range(Math.ceil(r/p)*p,e,p).filter((function(t){return y(t%g)>kt})).map(c)).concat(t.range(Math.ceil(o/d)*d,a,d).filter((function(t){return y(t%m)>kt})).map(u))}return x.lines=function(){return b().map((function(t){return{type:"LineString",coordinates:t}}))},x.outline=function(){return{type:"Polygon",coordinates:[f(i).concat(h(s).slice(1),f(n).reverse().slice(1),h(l).reverse().slice(1))]}},x.extent=function(t){return arguments.length?x.majorExtent(t).minorExtent(t):x.minorExtent()},x.majorExtent=function(t){return arguments.length?(i=+t[0][0],n=+t[1][0],l=+t[0][1],s=+t[1][1],i>n&&(t=i,i=n,n=t),l>s&&(t=l,l=s,s=t),x.precision(v)):[[i,l],[n,s]]},x.minorExtent=function(t){return arguments.length?(r=+t[0][0],e=+t[1][0],o=+t[0][1],a=+t[1][1],r>e&&(t=r,r=e,e=t),o>a&&(t=o,o=a,a=t),x.precision(v)):[[r,o],[e,a]]},x.step=function(t){return arguments.length?x.majorStep(t).minorStep(t):x.minorStep()},x.majorStep=function(t){return arguments.length?(g=+t[0],m=+t[1],x):[g,m]},x.minorStep=function(t){return arguments.length?(p=+t[0],d=+t[1],x):[p,d]},x.precision=function(t){return arguments.length?(v=+t,c=jn(o,a,90),u=Un(r,e,v),f=jn(l,s,90),h=Un(i,n,v),x):v},x.majorExtent([[-180,-90+kt],[180,90-kt]]).minorExtent([[-180,-80-kt],[180,80+kt]])},t.geo.greatArc=function(){var e,r,n=Vn,i=qn;function a(){return{type:"LineString",coordinates:[e||n.apply(this,arguments),r||i.apply(this,arguments)]}}return a.distance=function(){return t.geo.distance(e||n.apply(this,arguments),r||i.apply(this,arguments))},a.source=function(t){return arguments.length?(n=t,e="function"==typeof t?null:t,a):n},a.target=function(t){return arguments.length?(i=t,r="function"==typeof t?null:t,a):i},a.precision=function(){return arguments.length?a:0},a},t.geo.interpolate=function(t,e){return r=t[0]*Lt,n=t[1]*Lt,i=e[0]*Lt,a=e[1]*Lt,o=Math.cos(n),s=Math.sin(n),l=Math.cos(a),c=Math.sin(a),u=o*Math.cos(r),f=o*Math.sin(r),h=l*Math.cos(i),p=l*Math.sin(i),d=2*Math.asin(Math.sqrt(Ft(a-n)+o*l*Ft(i-r))),g=1/Math.sin(d),(m=d?function(t){var e=Math.sin(t*=d)*g,r=Math.sin(d-t)*g,n=r*u+e*h,i=r*f+e*p,a=r*s+e*c;return[Math.atan2(i,n)*It,Math.atan2(a,Math.sqrt(n*n+i*i))*It]}:function(){return[r*It,n*It]}).distance=d,m;var r,n,i,a,o,s,l,c,u,f,h,p,d,g,m},t.geo.length=function(e){return yn=0,t.geo.stream(e,Hn),yn};var Hn={sphere:O,point:O,lineStart:function(){var t,e,r;function n(n,i){var a=Math.sin(i*=Lt),o=Math.cos(i),s=y((n*=Lt)-t),l=Math.cos(s);yn+=Math.atan2(Math.sqrt((s=o*Math.sin(s))*s+(s=r*a-e*o*l)*s),e*a+r*o*l),t=n,e=a,r=o}Hn.point=function(i,a){t=i*Lt,e=Math.sin(a*=Lt),r=Math.cos(a),Hn.point=n},Hn.lineEnd=function(){Hn.point=Hn.lineEnd=O}},lineEnd:O,polygonStart:O,polygonEnd:O};function Gn(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&&r*a/n)]},r}var Yn=Gn((function(t){return Math.sqrt(2/(1+t))}),(function(t){return 2*Math.asin(t/2)}));(t.geo.azimuthalEqualArea=function(){return Cn(Yn)}).raw=Yn;var Wn=Gn((function(t){var e=Math.acos(t);return e&&e/Math.sin(e)}),L);function Xn(t,e){var r=Math.cos(t),n=function(t){return Math.tan(At/4+t/2)},i=t===e?Math.sin(t):Math.log(r/Math.cos(e))/Math.log(n(e)/n(t)),a=r*Math.pow(n(t),i)/i;if(!i)return Kn;function o(t,e){a>0?e<-Ct+kt&&(e=-Ct+kt):e>Ct-kt&&(e=Ct-kt);var r=a/Math.pow(n(e),i);return[r*Math.sin(i*t),a-r*Math.cos(i*t)]}return o.invert=function(t,e){var r=a-e,n=Pt(i)*Math.sqrt(t*t+r*r);return[Math.atan2(t,r)/i,2*Math.atan(Math.pow(a/n,1/i))-Ct]},o}function Zn(t,e){var r=Math.cos(t),n=t===e?Math.sin(t):(r-Math.cos(e))/(e-t),i=r/n+t;if(y(n)<kt)return Pn;function a(t,e){var r=i-e;return[r*Math.sin(n*t),i-r*Math.cos(n*t)]}return a.invert=function(t,e){var r=i-e;return[Math.atan2(t,r)/n,i-Pt(n)*Math.sqrt(t*t+r*r)]},a}(t.geo.azimuthalEquidistant=function(){return Cn(Wn)}).raw=Wn,(t.geo.conicConformal=function(){return an(Xn)}).raw=Xn,(t.geo.conicEquidistant=function(){return an(Zn)}).raw=Zn;var Jn=Gn((function(t){return 1/t}),Math.atan);function Kn(t,e){return[t,Math.log(Math.tan(At/4+e/2))]}function Qn(t){var e,r=Cn(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=At*n(),l=i();a([[l[0]-s,l[1]-s],[l[0]+s,l[1]+s]])}}else e&&(o=null);return o},r.clipExtent(null)}(t.geo.gnomonic=function(){return Cn(Jn)}).raw=Jn,Kn.invert=function(t,e){return[t,2*Math.atan(Math.exp(e))-Ct]},(t.geo.mercator=function(){return Qn(Kn)}).raw=Kn;var $n=Gn((function(){return 1}),Math.asin);(t.geo.orthographic=function(){return Cn($n)}).raw=$n;var ti=Gn((function(t){return 1/(1+t)}),(function(t){return 2*Math.atan(t)}));function ei(t,e){return[Math.log(Math.tan(At/4+e/2)),-t]}function ri(t){return t[0]}function ni(t){return t[1]}function ii(t){for(var e=t.length,r=[0,1],n=2,i=2;i<e;i++){for(;n>1&&zt(t[r[n-2]],t[r[n-1]],t[i])<=0;)--n;r[n++]=i}return r.slice(0,n)}function ai(t,e){return t[0]-e[0]||t[1]-e[1]}(t.geo.stereographic=function(){return Cn(ti)}).raw=ti,ei.invert=function(t,e){return[-e,2*Math.atan(Math.exp(t))-Ct]},(t.geo.transverseMercator=function(){var t=Qn(ei),e=t.center,r=t.rotate;return t.center=function(t){return t?e([-t[1],t[0]]):[(t=e())[1],-t[0]]},t.rotate=function(t){return t?r([t[0],t[1],t.length>2?t[2]+90:90]):[(t=r())[0],t[1],t[2]-90]},r([0,0,90])}).raw=ei,t.geom={},t.geom.hull=function(t){var e=ri,r=ni;if(arguments.length)return n(t);function n(t){if(t.length<3)return[];var n,i=de(e),a=de(r),o=t.length,s=[],l=[];for(n=0;n<o;n++)s.push([+i.call(this,t[n],n),+a.call(this,t[n],n),n]);for(s.sort(ai),n=0;n<o;n++)l.push([s[n][0],-s[n][1]]);var c=ii(s),u=ii(l),f=u[0]===c[0],h=u[u.length-1]===c[c.length-1],p=[];for(n=c.length-1;n>=0;--n)p.push(t[s[c[n]][2]]);for(n=+f;n<u.length-h;++n)p.push(t[s[u[n]][2]]);return p}return n.x=function(t){return arguments.length?(e=t,n):e},n.y=function(t){return arguments.length?(r=t,n):r},n},t.geom.polygon=function(t){return U(t,oi),t};var oi=t.geom.polygon.prototype=[];function si(t,e,r){return(r[0]-e[0])*(t[1]-e[1])<(r[1]-e[1])*(t[0]-e[0])}function li(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 ci(t){var e=t[0],r=t[t.length-1];return!(e[0]-r[0]||e[1]-r[1])}oi.area=function(){for(var t,e=-1,r=this.length,n=this[r-1],i=0;++e<r;)t=n,n=this[e],i+=t[1]*n[0]-t[0]*n[1];return.5*i},oi.centroid=function(t){var e,r,n=-1,i=this.length,a=0,o=0,s=this[i-1];for(arguments.length||(t=-1/(6*this.area()));++n<i;)e=s,s=this[n],r=e[0]*s[1]-s[0]*e[1],a+=(e[0]+s[0])*r,o+=(e[1]+s[1])*r;return[a*t,o*t]},oi.clip=function(t){for(var e,r,n,i,a,o,s=ci(t),l=-1,c=this.length-ci(this),u=this[c-1];++l<c;){for(e=t.slice(),t.length=0,i=this[l],a=e[(n=e.length-s)-1],r=-1;++r<n;)si(o=e[r],u,i)?(si(a,u,i)||t.push(li(a,o,u,i)),t.push(o)):si(a,u,i)&&t.push(li(a,o,u,i)),a=o;s&&t.push(t[0]),u=i}return t};var ui,fi,hi,pi,di,gi=[],mi=[];function vi(){Ri(this),this.edge=this.site=this.circle=null}function yi(t){var e=gi.pop()||new vi;return e.site=t,e}function xi(t){Ei(t),hi.remove(t),gi.push(t),Ri(t)}function bi(t){var e=t.circle,r=e.x,n=e.cy,i={x:r,y:n},a=t.P,o=t.N,s=[t];xi(t);for(var l=a;l.circle&&y(r-l.circle.x)<kt&&y(n-l.circle.cy)<kt;)a=l.P,s.unshift(l),xi(l),l=a;s.unshift(l),Ei(l);for(var c=o;c.circle&&y(r-c.circle.x)<kt&&y(n-c.circle.cy)<kt;)o=c.N,s.push(c),xi(c),c=o;s.push(c),Ei(c);var u,f=s.length;for(u=1;u<f;++u)c=s[u],l=s[u-1],zi(c.edge,l.site,c.site,i);l=s[0],(c=s[f-1]).edge=Ii(l.site,c.site,null,i),Si(l),Si(c)}function _i(t){for(var e,r,n,i,a=t.x,o=t.y,s=hi._;s;)if((n=wi(s,o)-a)>kt)s=s.L;else{if(!((i=a-Ti(s,o))>kt)){n>-kt?(e=s.P,r=s):i>-kt?(e=s,r=s.N):e=r=s;break}if(!s.R){e=s;break}s=s.R}var l=yi(t);if(hi.insert(e,l),e||r){if(e===r)return Ei(e),r=yi(e.site),hi.insert(l,r),l.edge=r.edge=Ii(e.site,l.site),Si(e),void Si(r);if(r){Ei(e),Ei(r);var c=e.site,u=c.x,f=c.y,h=t.x-u,p=t.y-f,d=r.site,g=d.x-u,m=d.y-f,v=2*(h*m-p*g),y=h*h+p*p,x=g*g+m*m,b={x:(m*y-p*x)/v+u,y:(h*x-g*y)/v+f};zi(r.edge,c,d,b),l.edge=Ii(c,t,null,b),r.edge=Ii(t,d,null,b),Si(e),Si(r)}else l.edge=Ii(e.site,l.site)}}function wi(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 Ti(t,e){var r=t.N;if(r)return wi(r,e);var n=t.site;return n.y===e?n.x:1/0}function ki(t){this.site=t,this.edges=[]}function Mi(t,e){return e.angle-t.angle}function Ai(){Ri(this),this.x=this.y=this.arc=this.site=this.cy=null}function Si(t){var e=t.P,r=t.N;if(e&&r){var n=e.site,i=t.site,a=r.site;if(n!==a){var o=i.x,s=i.y,l=n.x-o,c=n.y-s,u=a.x-o,f=2*(l*(m=a.y-s)-c*u);if(!(f>=-Mt)){var h=l*l+c*c,p=u*u+m*m,d=(m*h-c*p)/f,g=(l*p-u*h)/f,m=g+s,v=mi.pop()||new Ai;v.arc=t,v.site=i,v.x=d+o,v.y=m+Math.sqrt(d*d+g*g),v.cy=m,t.circle=v;for(var y=null,x=di._;x;)if(v.y<x.y||v.y===x.y&&v.x<=x.x){if(!x.L){y=x.P;break}x=x.L}else{if(!x.R){y=x;break}x=x.R}di.insert(y,v),y||(pi=v)}}}}function Ei(t){var e=t.circle;e&&(e.P||(pi=e.N),di.remove(e),mi.push(e),Ri(e),t.circle=null)}function Ci(t,e){var r=t.b;if(r)return!0;var n,i,a=t.a,o=e[0][0],s=e[1][0],l=e[0][1],c=e[1][1],u=t.l,f=t.r,h=u.x,p=u.y,d=f.x,g=f.y,m=(h+d)/2,v=(p+g)/2;if(g===p){if(m<o||m>=s)return;if(h>d){if(a){if(a.y>=c)return}else a={x:m,y:l};r={x:m,y:c}}else{if(a){if(a.y<l)return}else a={x:m,y:c};r={x:m,y:l}}}else if(i=v-(n=(h-d)/(g-p))*m,n<-1||n>1)if(h>d){if(a){if(a.y>=c)return}else a={x:(l-i)/n,y:l};r={x:(c-i)/n,y:c}}else{if(a){if(a.y<l)return}else a={x:(c-i)/n,y:c};r={x:(l-i)/n,y:l}}else if(p<g){if(a){if(a.x>=s)return}else a={x:o,y:n*o+i};r={x:s,y:n*s+i}}else{if(a){if(a.x<o)return}else a={x:s,y:n*s+i};r={x:o,y:n*o+i}}return t.a=a,t.b=r,!0}function Li(t,e){this.l=t,this.r=e,this.a=this.b=null}function Ii(t,e,r,n){var i=new Li(t,e);return ui.push(i),r&&zi(i,t,e,r),n&&zi(i,e,t,n),fi[t.i].edges.push(new Oi(i,t,e)),fi[e.i].edges.push(new Oi(i,e,t)),i}function Pi(t,e,r){var n=new Li(t,null);return n.a=e,n.b=r,ui.push(n),n}function zi(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 Oi(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 Di(){this._=null}function Ri(t){t.U=t.C=t.L=t.R=t.P=t.N=null}function Fi(t,e){var r=e,n=e.R,i=r.U;i?i.L===r?i.L=n:i.R=n:t._=n,n.U=i,r.U=n,r.R=n.L,r.R&&(r.R.U=r),n.L=r}function Bi(t,e){var r=e,n=e.L,i=r.U;i?i.L===r?i.L=n:i.R=n:t._=n,n.U=i,r.U=n,r.L=n.R,r.L&&(r.L.U=r),n.R=r}function Ni(t){for(;t.L;)t=t.L;return t}function ji(t,e){var r,n,i,a=t.sort(Ui).pop();for(ui=[],fi=new Array(t.length),hi=new Di,di=new Di;;)if(i=pi,a&&(!i||a.y<i.y||a.y===i.y&&a.x<i.x))a.x===r&&a.y===n||(fi[a.i]=new ki(a),_i(a),r=a.x,n=a.y),a=t.pop();else{if(!i)break;bi(i.arc)}e&&(function(t){for(var e,r=ui,n=rn(t[0][0],t[0][1],t[1][0],t[1][1]),i=r.length;i--;)(!Ci(e=r[i],t)||!n(e)||y(e.a.x-e.b.x)<kt&&y(e.a.y-e.b.y)<kt)&&(e.a=e.b=null,r.splice(i,1))}(e),function(t){for(var e,r,n,i,a,o,s,l,c,u,f=t[0][0],h=t[1][0],p=t[0][1],d=t[1][1],g=fi,m=g.length;m--;)if((a=g[m])&&a.prepare())for(l=(s=a.edges).length,o=0;o<l;)n=(u=s[o].end()).x,i=u.y,e=(c=s[++o%l].start()).x,r=c.y,(y(n-e)>kt||y(i-r)>kt)&&(s.splice(o,0,new Oi(Pi(a.site,u,y(n-f)<kt&&d-i>kt?{x:f,y:y(e-f)<kt?r:d}:y(i-d)<kt&&h-n>kt?{x:y(r-d)<kt?e:h,y:d}:y(n-h)<kt&&i-p>kt?{x:h,y:y(e-h)<kt?r:p}:y(i-p)<kt&&n-f>kt?{x:y(r-p)<kt?e:f,y:p}:null),a.site,null)),++l)}(e));var o={cells:fi,edges:ui};return hi=di=ui=fi=null,o}function Ui(t,e){return e.y-t.y||e.x-t.x}ki.prototype.prepare=function(){for(var t,e=this.edges,r=e.length;r--;)(t=e[r].edge).b&&t.a||e.splice(r,1);return e.sort(Mi),e.length},Oi.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}},Di.prototype={insert:function(t,e){var r,n,i;if(t){if(e.P=t,e.N=t.N,t.N&&(t.N.P=e),t.N=e,t.R){for(t=t.R;t.L;)t=t.L;t.L=e}else t.R=e;r=t}else this._?(t=Ni(this._),e.P=null,e.N=t,t.P=t.L=e,r=t):(e.P=e.N=null,this._=e,r=null);for(e.L=e.R=null,e.U=r,e.C=!0,t=e;r&&r.C;)r===(n=r.U).L?(i=n.R)&&i.C?(r.C=i.C=!1,n.C=!0,t=n):(t===r.R&&(Fi(this,r),r=(t=r).U),r.C=!1,n.C=!0,Bi(this,n)):(i=n.L)&&i.C?(r.C=i.C=!1,n.C=!0,t=n):(t===r.L&&(Bi(this,r),r=(t=r).U),r.C=!1,n.C=!0,Fi(this,n)),r=t.U;this._.C=!1},remove:function(t){t.N&&(t.N.P=t.P),t.P&&(t.P.N=t.N),t.N=t.P=null;var e,r,n,i=t.U,a=t.L,o=t.R;if(r=a?o?Ni(o):a:o,i?i.L===t?i.L=r:i.R=r:this._=r,a&&o?(n=r.C,r.C=t.C,r.L=a,a.U=r,r!==o?(i=r.U,r.U=t.U,t=r.R,i.L=t,r.R=o,o.U=r):(r.U=i,i=r,t=r.R)):(n=t.C,t=r),t&&(t.U=i),!n)if(t&&t.C)t.C=!1;else{do{if(t===this._)break;if(t===i.L){if((e=i.R).C&&(e.C=!1,i.C=!0,Fi(this,i),e=i.R),e.L&&e.L.C||e.R&&e.R.C){e.R&&e.R.C||(e.L.C=!1,e.C=!0,Bi(this,e),e=i.R),e.C=i.C,i.C=e.R.C=!1,Fi(this,i),t=this._;break}}else if((e=i.L).C&&(e.C=!1,i.C=!0,Bi(this,i),e=i.L),e.L&&e.L.C||e.R&&e.R.C){e.L&&e.L.C||(e.R.C=!1,e.C=!0,Fi(this,e),e=i.L),e.C=i.C,i.C=e.L.C=!1,Bi(this,i),t=this._;break}e.C=!0,t=i,i=i.U}while(!t.C);t&&(t.C=!1)}}},t.geom.voronoi=function(t){var e=ri,r=ni,n=e,i=r,a=Vi;if(t)return o(t);function o(t){var e=new Array(t.length),r=a[0][0],n=a[0][1],i=a[1][0],o=a[1][1];return ji(s(t),a).cells.forEach((function(a,s){var l=a.edges,c=a.site;(e[s]=l.length?l.map((function(t){var e=t.start();return[e.x,e.y]})):c.x>=r&&c.x<=i&&c.y>=n&&c.y<=o?[[r,o],[i,o],[i,n],[r,n]]:[]).point=t[s]})),e}function s(t){return t.map((function(t,e){return{x:Math.round(n(t,e)/kt)*kt,y:Math.round(i(t,e)/kt)*kt,i:e}}))}return o.links=function(t){return ji(s(t)).edges.filter((function(t){return t.l&&t.r})).map((function(e){return{source:t[e.l.i],target:t[e.r.i]}}))},o.triangles=function(t){var e=[];return ji(s(t)).cells.forEach((function(r,n){for(var i,a,o,s,l=r.site,c=r.edges.sort(Mi),u=-1,f=c.length,h=c[f-1].edge,p=h.l===l?h.r:h.l;++u<f;)h,i=p,p=(h=c[u].edge).l===l?h.r:h.l,n<i.i&&n<p.i&&(o=i,s=p,((a=l).x-s.x)*(o.y-a.y)-(a.x-o.x)*(s.y-a.y)<0)&&e.push([t[n],t[i.i],t[p.i]])})),e},o.x=function(t){return arguments.length?(n=de(e=t),o):e},o.y=function(t){return arguments.length?(i=de(r=t),o):r},o.clipExtent=function(t){return arguments.length?(a=null==t?Vi:t,o):a===Vi?null:a},o.size=function(t){return arguments.length?o.clipExtent(t&&[[0,0],t]):a===Vi?null:a&&a[1]},o};var Vi=[[-1e6,-1e6],[1e6,1e6]];function qi(t){return t.x}function Hi(t){return t.y}function Gi(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]&&Gi(t,l[0],r,n,o,s),l[1]&&Gi(t,l[1],o,n,i,s),l[2]&&Gi(t,l[2],r,s,o,a),l[3]&&Gi(t,l[3],o,s,i,a)}}function Yi(t,e,r,n,i,a,o){var s,l=1/0;return function t(c,u,f,h,p){if(!(u>a||f>o||h<n||p<i)){if(d=c.point){var d,g=e-c.x,m=r-c.y,v=g*g+m*m;if(v<l){var y=Math.sqrt(l=v);n=e-y,i=r-y,a=e+y,o=r+y,s=d}}for(var x=c.nodes,b=.5*(u+h),_=.5*(f+p),w=(r>=_)<<1|e>=b,T=w+4;w<T;++w)if(c=x[3&w])switch(3&w){case 0:t(c,u,f,b,_);break;case 1:t(c,b,f,h,_);break;case 2:t(c,u,_,b,p);break;case 3:t(c,b,_,h,p)}}}(t,n,i,a,o),s}function Wi(e,r){e=t.rgb(e),r=t.rgb(r);var n=e.r,i=e.g,a=e.b,o=r.r-n,s=r.g-i,l=r.b-a;return function(t){return"#"+se(Math.round(n+o*t))+se(Math.round(i+s*t))+se(Math.round(a+l*t))}}function Xi(t,e){var r,n={},i={};for(r in t)r in e?n[r]=$i(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 Zi(t,e){return t=+t,e=+e,function(r){return t*(1-r)+e*r}}function Ji(t,e){var r,n,i,a=Ki.lastIndex=Qi.lastIndex=0,o=-1,s=[],l=[];for(t+="",e+="";(r=Ki.exec(t))&&(n=Qi.exec(e));)(i=n.index)>a&&(i=e.slice(a,i),s[o]?s[o]+=i:s[++o]=i),(r=r[0])===(n=n[0])?s[o]?s[o]+=n:s[++o]=n:(s[++o]=null,l.push({i:o,x:Zi(r,n)})),a=Qi.lastIndex;return a<e.length&&(i=e.slice(a),s[o]?s[o]+=i:s[++o]=i),s.length<2?l[0]?(e=l[0].x,function(t){return e(t)+""}):function(){return e}:(e=l.length,function(t){for(var r,n=0;n<e;++n)s[(r=l[n]).i]=r.x(t);return s.join("")})}t.geom.delaunay=function(e){return t.geom.voronoi().triangles(e)},t.geom.quadtree=function(t,e,r,n,i){var a,o=ri,s=ni;if(a=arguments.length)return o=qi,s=Hi,3===a&&(i=r,n=e,r=e=0),l(t);function l(t){var l,c,u,f,h,p,d,g,m,v=de(o),x=de(s);if(null!=e)p=e,d=r,g=n,m=i;else if(g=m=-(p=d=1/0),c=[],u=[],h=t.length,a)for(f=0;f<h;++f)(l=t[f]).x<p&&(p=l.x),l.y<d&&(d=l.y),l.x>g&&(g=l.x),l.y>m&&(m=l.y),c.push(l.x),u.push(l.y);else for(f=0;f<h;++f){var b=+v(l=t[f],f),_=+x(l,f);b<p&&(p=b),_<d&&(d=_),b>g&&(g=b),_>m&&(m=_),c.push(b),u.push(_)}var w=g-p,T=m-d;function k(t,e,r,n,i,a,o,s){if(!isNaN(r)&&!isNaN(n))if(t.leaf){var l=t.x,c=t.y;if(null!=l)if(y(l-r)+y(c-n)<.01)M(t,e,r,n,i,a,o,s);else{var u=t.point;t.x=t.y=t.point=null,M(t,u,l,c,i,a,o,s),M(t,e,r,n,i,a,o,s)}else t.x=r,t.y=n,t.point=e}else M(t,e,r,n,i,a,o,s)}function M(t,e,r,n,i,a,o,s){var l=.5*(i+o),c=.5*(a+s),u=r>=l,f=n>=c,h=f<<1|u;t.leaf=!1,u?i=l:o=l,f?a=c:s=c,k(t=t.nodes[h]||(t.nodes[h]={leaf:!0,nodes:[],point:null,x:null,y:null}),e,r,n,i,a,o,s)}w>T?m=d+w:g=p+T;var A={leaf:!0,nodes:[],point:null,x:null,y:null,add:function(t){k(A,t,+v(t,++f),+x(t,f),p,d,g,m)},visit:function(t){Gi(t,A,p,d,g,m)},find:function(t){return Yi(A,t[0],t[1],p,d,g,m)}};if(f=-1,null==e){for(;++f<h;)k(A,t[f],c[f],u[f],p,d,g,m);--f}else t.forEach(A.add);return c=u=t=l=null,A}return l.x=function(t){return arguments.length?(o=t,l):o},l.y=function(t){return arguments.length?(s=t,l):s},l.extent=function(t){return arguments.length?(null==t?e=r=n=i=null:(e=+t[0][0],r=+t[0][1],n=+t[1][0],i=+t[1][1]),l):null==e?null:[[e,r],[n,i]]},l.size=function(t){return arguments.length?(null==t?e=r=n=i=null:(e=r=0,n=+t[0],i=+t[1]),l):null==e?null:[n-e,i-r]},l},t.interpolateRgb=Wi,t.interpolateObject=Xi,t.interpolateNumber=Zi,t.interpolateString=Ji;var Ki=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Qi=new RegExp(Ki.source,"g");function $i(e,r){for(var n,i=t.interpolators.length;--i>=0&&!(n=t.interpolators[i](e,r)););return n}function ta(t,e){var r,n=[],i=[],a=t.length,o=e.length,s=Math.min(t.length,e.length);for(r=0;r<s;++r)n.push($i(t[r],e[r]));for(;r<a;++r)i[r]=t[r];for(;r<o;++r)i[r]=e[r];return function(t){for(r=0;r<s;++r)i[r]=n[r](t);return i}}t.interpolate=$i,t.interpolators=[function(t,e){var r=typeof e;return("string"===r?pe.has(e.toLowerCase())||/^(#|rgb\(|hsl\()/i.test(e)?Wi:Ji:e instanceof Vt?Wi:Array.isArray(e)?ta:"object"===r&&isNaN(e)?Xi:Zi)(t,e)}],t.interpolateArray=ta;var ea=function(){return L},ra=t.map({linear:ea,poly:function(t){return function(e){return Math.pow(e,t)}},quad:function(){return sa},cubic:function(){return la},sin:function(){return ua},exp:function(){return fa},circle:function(){return ha},elastic:function(t,e){var r;arguments.length<2&&(e=.45);arguments.length?r=e/St*Math.asin(1/t):(t=1,r=e/4);return function(n){return 1+t*Math.pow(2,-10*n)*Math.sin((n-r)*St/e)}},back:function(t){t||(t=1.70158);return function(e){return e*e*((t+1)*e-t)}},bounce:function(){return pa}}),na=t.map({in:L,out:aa,"in-out":oa,"out-in":function(t){return oa(aa(t))}});function ia(t){return function(e){return e<=0?0:e>=1?1:t(e)}}function aa(t){return function(e){return 1-t(1-e)}}function oa(t){return function(e){return.5*(e<.5?t(2*e):2-t(2-2*e))}}function sa(t){return t*t}function la(t){return t*t*t}function ca(t){if(t<=0)return 0;if(t>=1)return 1;var e=t*t,r=e*t;return 4*(t<.5?r:3*(t-e)+r-.75)}function ua(t){return 1-Math.cos(t*Ct)}function fa(t){return Math.pow(2,10*(t-1))}function ha(t){return 1-Math.sqrt(1-t*t)}function pa(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375}function da(t,e){return e-=t,function(r){return Math.round(t+e*r)}}function ga(t){var e,r,n,i=[t.a,t.b],a=[t.c,t.d],o=va(i),s=ma(i,a),l=va(((e=a)[0]+=(n=-s)*(r=i)[0],e[1]+=n*r[1],e))||0;i[0]*a[1]<a[0]*i[1]&&(i[0]*=-1,i[1]*=-1,o*=-1,s*=-1),this.rotate=(o?Math.atan2(i[1],i[0]):Math.atan2(-a[0],a[1]))*It,this.translate=[t.e,t.f],this.scale=[o,l],this.skew=l?Math.atan2(s,l)*It:0}function ma(t,e){return t[0]*e[0]+t[1]*e[1]}function va(t){var e=Math.sqrt(ma(t,t));return e&&(t[0]/=e,t[1]/=e),e}t.ease=function(t){var e=t.indexOf("-"),n=e>=0?t.slice(0,e):t,i=e>=0?t.slice(e+1):"in";return n=ra.get(n)||ea,ia((i=na.get(i)||L)(n.apply(null,r.call(arguments,1))))},t.interpolateHcl=function(e,r){e=t.hcl(e),r=t.hcl(r);var n=e.h,i=e.c,a=e.l,o=r.h-n,s=r.c-i,l=r.l-a;isNaN(s)&&(s=0,i=isNaN(i)?r.c:i);isNaN(o)?(o=0,n=isNaN(n)?r.h:n):o>180?o-=360:o<-180&&(o+=360);return function(t){return Xt(n+o*t,i+s*t,a+l*t)+""}},t.interpolateHsl=function(e,r){e=t.hsl(e),r=t.hsl(r);var n=e.h,i=e.s,a=e.l,o=r.h-n,s=r.s-i,l=r.l-a;isNaN(s)&&(s=0,i=isNaN(i)?r.s:i);isNaN(o)?(o=0,n=isNaN(n)?r.h:n):o>180?o-=360:o<-180&&(o+=360);return function(t){return Gt(n+o*t,i+s*t,a+l*t)+""}},t.interpolateLab=function(e,r){e=t.lab(e),r=t.lab(r);var n=e.l,i=e.a,a=e.b,o=r.l-n,s=r.a-i,l=r.b-a;return function(t){return Qt(n+o*t,i+s*t,a+l*t)+""}},t.interpolateRound=da,t.transform=function(e){var r=i.createElementNS(t.ns.prefix.svg,"g");return(t.transform=function(t){if(null!=t){r.setAttribute("transform",t);var e=r.transform.baseVal.consolidate()}return new ga(e?e.matrix:ya)})(e)},ga.prototype.toString=function(){return"translate("+this.translate+")rotate("+this.rotate+")skewX("+this.skew+")scale("+this.scale+")"};var ya={a:1,b:0,c:0,d:1,e:0,f:0};function xa(t){return t.length?t.pop()+",":""}function ba(e,r){var n=[],i=[];return e=t.transform(e),r=t.transform(r),function(t,e,r,n){if(t[0]!==e[0]||t[1]!==e[1]){var i=r.push("translate(",null,",",null,")");n.push({i:i-4,x:Zi(t[0],e[0])},{i:i-2,x:Zi(t[1],e[1])})}else(e[0]||e[1])&&r.push("translate("+e+")")}(e.translate,r.translate,n,i),function(t,e,r,n){t!==e?(t-e>180?e+=360:e-t>180&&(t+=360),n.push({i:r.push(xa(r)+"rotate(",null,")")-2,x:Zi(t,e)})):e&&r.push(xa(r)+"rotate("+e+")")}(e.rotate,r.rotate,n,i),function(t,e,r,n){t!==e?n.push({i:r.push(xa(r)+"skewX(",null,")")-2,x:Zi(t,e)}):e&&r.push(xa(r)+"skewX("+e+")")}(e.skew,r.skew,n,i),function(t,e,r,n){if(t[0]!==e[0]||t[1]!==e[1]){var i=r.push(xa(r)+"scale(",null,",",null,")");n.push({i:i-4,x:Zi(t[0],e[0])},{i:i-2,x:Zi(t[1],e[1])})}else 1===e[0]&&1===e[1]||r.push(xa(r)+"scale("+e+")")}(e.scale,r.scale,n,i),e=r=null,function(t){for(var e,r=-1,a=i.length;++r<a;)n[(e=i[r]).i]=e.x(t);return n.join("")}}function _a(t,e){return e=(e-=t=+t)||1/e,function(r){return(r-t)/e}}function wa(t,e){return e=(e-=t=+t)||1/e,function(r){return Math.max(0,Math.min(1,(r-t)/e))}}function Ta(t){for(var e=t.source,r=t.target,n=function(t,e){if(t===e)return t;var r=ka(t),n=ka(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 ka(t){for(var e=[],r=t.parent;null!=r;)e.push(t),t=r,r=r.parent;return e.push(t),e}function Ma(t){t.fixed|=2}function Aa(t){t.fixed&=-7}function Sa(t){t.fixed|=4,t.px=t.x,t.py=t.y}function Ea(t){t.fixed&=-5}t.interpolateTransform=ba,t.layout={},t.layout.bundle=function(){return function(t){for(var e=[],r=-1,n=t.length;++r<n;)e.push(Ta(t[r]));return e}},t.layout.chord=function(){var e,r,n,i,a,o,s,l={},c=0;function u(){var l,u,h,p,d,g={},m=[],v=t.range(i),y=[];for(e=[],r=[],l=0,p=-1;++p<i;){for(u=0,d=-1;++d<i;)u+=n[p][d];m.push(u),y.push(t.range(i)),l+=u}for(a&&v.sort((function(t,e){return a(m[t],m[e])})),o&&y.forEach((function(t,e){t.sort((function(t,r){return o(n[e][t],n[e][r])}))})),l=(St-c*i)/l,u=0,p=-1;++p<i;){for(h=u,d=-1;++d<i;){var x=v[p],b=y[x][d],_=n[x][b],w=u,T=u+=_*l;g[x+"-"+b]={index:x,subindex:b,startAngle:w,endAngle:T,value:_}}r[x]={index:x,startAngle:h,endAngle:u,value:m[x]},u+=c}for(p=-1;++p<i;)for(d=p-1;++d<i;){var k=g[p+"-"+d],M=g[d+"-"+p];(k.value||M.value)&&e.push(k.value<M.value?{source:M,target:k}:{source:k,target:M})}s&&f()}function f(){e.sort((function(t,e){return s((t.source.value+t.target.value)/2,(e.source.value+e.target.value)/2)}))}return l.matrix=function(t){return arguments.length?(i=(n=t)&&n.length,e=r=null,l):n},l.padding=function(t){return arguments.length?(c=t,e=r=null,l):c},l.sortGroups=function(t){return arguments.length?(a=t,e=r=null,l):a},l.sortSubgroups=function(t){return arguments.length?(o=t,e=null,l):o},l.sortChords=function(t){return arguments.length?(s=t,e&&f(),l):s},l.chords=function(){return e||u(),e},l.groups=function(){return r||u(),r},l},t.layout.force=function(){var e,r,n,i,a,o,s={},l=t.dispatch("start","tick","end"),c=[1,1],u=.9,f=Ca,h=La,p=-30,d=Ia,g=.1,m=.64,v=[],y=[];function x(t){return function(e,r,n,i){if(e.point!==t){var a=e.cx-t.x,o=e.cy-t.y,s=i-r,l=a*a+o*o;if(s*s/m<l){if(l<d){var c=e.charge/l;t.px-=a*c,t.py-=o*c}return!0}if(e.point&&l&&l<d){c=e.pointCharge/l;t.px-=a*c,t.py-=o*c}}return!e.charge}}function b(e){e.px=t.event.x,e.py=t.event.y,s.resume()}return s.tick=function(){if((n*=.99)<.005)return e=null,l.end({type:"end",alpha:n=0}),!0;var r,s,f,h,d,m,b,_,w,T=v.length,k=y.length;for(s=0;s<k;++s)h=(f=y[s]).source,(m=(_=(d=f.target).x-h.x)*_+(w=d.y-h.y)*w)&&(_*=m=n*a[s]*((m=Math.sqrt(m))-i[s])/m,w*=m,d.x-=_*(b=h.weight+d.weight?h.weight/(h.weight+d.weight):.5),d.y-=w*b,h.x+=_*(b=1-b),h.y+=w*b);if((b=n*g)&&(_=c[0]/2,w=c[1]/2,s=-1,b))for(;++s<T;)(f=v[s]).x+=(_-f.x)*b,f.y+=(w-f.y)*b;if(p)for(!function t(e,r,n){var i=0,a=0;if(e.charge=0,!e.leaf)for(var o,s=e.nodes,l=s.length,c=-1;++c<l;)null!=(o=s[c])&&(t(o,r,n),e.charge+=o.charge,i+=o.charge*o.cx,a+=o.charge*o.cy);if(e.point){e.leaf||(e.point.x+=Math.random()-.5,e.point.y+=Math.random()-.5);var u=r*n[e.point.index];e.charge+=e.pointCharge=u,i+=u*e.point.x,a+=u*e.point.y}e.cx=i/e.charge,e.cy=a/e.charge}(r=t.geom.quadtree(v),n,o),s=-1;++s<T;)(f=v[s]).fixed||r.visit(x(f));for(s=-1;++s<T;)(f=v[s]).fixed?(f.x=f.px,f.y=f.py):(f.x-=(f.px-(f.px=f.x))*u,f.y-=(f.py-(f.py=f.y))*u);l.tick({type:"tick",alpha:n})},s.nodes=function(t){return arguments.length?(v=t,s):v},s.links=function(t){return arguments.length?(y=t,s):y},s.size=function(t){return arguments.length?(c=t,s):c},s.linkDistance=function(t){return arguments.length?(f="function"==typeof t?t:+t,s):f},s.distance=s.linkDistance,s.linkStrength=function(t){return arguments.length?(h="function"==typeof t?t:+t,s):h},s.friction=function(t){return arguments.length?(u=+t,s):u},s.charge=function(t){return arguments.length?(p="function"==typeof t?t:+t,s):p},s.chargeDistance=function(t){return arguments.length?(d=t*t,s):Math.sqrt(d)},s.gravity=function(t){return arguments.length?(g=+t,s):g},s.theta=function(t){return arguments.length?(m=t*t,s):Math.sqrt(m)},s.alpha=function(t){return arguments.length?(t=+t,n?t>0?n=t:(e.c=null,e.t=NaN,e=null,l.end({type:"end",alpha:n=0})):t>0&&(l.start({type:"start",alpha:n=t}),e=we(s.tick)),s):n},s.start=function(){var t,e,r,n=v.length,l=y.length,u=c[0],d=c[1];for(t=0;t<n;++t)(r=v[t]).index=t,r.weight=0;for(t=0;t<l;++t)"number"==typeof(r=y[t]).source&&(r.source=v[r.source]),"number"==typeof r.target&&(r.target=v[r.target]),++r.source.weight,++r.target.weight;for(t=0;t<n;++t)r=v[t],isNaN(r.x)&&(r.x=g("x",u)),isNaN(r.y)&&(r.y=g("y",d)),isNaN(r.px)&&(r.px=r.x),isNaN(r.py)&&(r.py=r.y);if(i=[],"function"==typeof f)for(t=0;t<l;++t)i[t]=+f.call(this,y[t],t);else for(t=0;t<l;++t)i[t]=f;if(a=[],"function"==typeof h)for(t=0;t<l;++t)a[t]=+h.call(this,y[t],t);else for(t=0;t<l;++t)a[t]=h;if(o=[],"function"==typeof p)for(t=0;t<n;++t)o[t]=+p.call(this,v[t],t);else for(t=0;t<n;++t)o[t]=p;function g(r,i){if(!e){for(e=new Array(n),c=0;c<n;++c)e[c]=[];for(c=0;c<l;++c){var a=y[c];e[a.source.index].push(a.target),e[a.target.index].push(a.source)}}for(var o,s=e[t],c=-1,u=s.length;++c<u;)if(!isNaN(o=s[c][r]))return o;return Math.random()*i}return s.resume()},s.resume=function(){return s.alpha(.1)},s.stop=function(){return s.alpha(0)},s.drag=function(){if(r||(r=t.behavior.drag().origin(L).on("dragstart.force",Ma).on("drag.force",b).on("dragend.force",Aa)),!arguments.length)return r;this.on("mouseover.force",Sa).on("mouseout.force",Ea).call(r)},t.rebind(s,l,"on")};var Ca=20,La=1,Ia=1/0;function Pa(e,r){return t.rebind(e,r,"sort","children","value"),e.nodes=e,e.links=Ba,e}function za(t,e){for(var r=[t];null!=(t=r.pop());)if(e(t),(i=t.children)&&(n=i.length))for(var n,i;--n>=0;)r.push(i[n])}function Oa(t,e){for(var r=[t],n=[];null!=(t=r.pop());)if(n.push(t),(a=t.children)&&(i=a.length))for(var i,a,o=-1;++o<i;)r.push(a[o]);for(;null!=(t=n.pop());)e(t)}function Da(t){return t.children}function Ra(t){return t.value}function Fa(t,e){return e.value-t.value}function Ba(e){return t.merge(e.map((function(t){return(t.children||[]).map((function(e){return{source:t,target:e}}))})))}t.layout.hierarchy=function(){var t=Fa,e=Da,r=Ra;function n(i){var a,o=[i],s=[];for(i.depth=0;null!=(a=o.pop());)if(s.push(a),(c=e.call(n,a,a.depth))&&(l=c.length)){for(var l,c,u;--l>=0;)o.push(u=c[l]),u.parent=a,u.depth=a.depth+1;r&&(a.value=0),a.children=c}else r&&(a.value=+r.call(n,a,a.depth)||0),delete a.children;return Oa(i,(function(e){var n,i;t&&(n=e.children)&&n.sort(t),r&&(i=e.parent)&&(i.value+=e.value)})),s}return n.sort=function(e){return arguments.length?(t=e,n):t},n.children=function(t){return arguments.length?(e=t,n):e},n.value=function(t){return arguments.length?(r=t,n):r},n.revalue=function(t){return r&&(za(t,(function(t){t.children&&(t.value=0)})),Oa(t,(function(t){var e;t.children||(t.value=+r.call(n,t,t.depth)||0),(e=t.parent)&&(e.value+=t.value)}))),t},n},t.layout.partition=function(){var e=t.layout.hierarchy(),r=[1,1];function n(t,n){var i=e.call(this,t,n);return function t(e,r,n,i){var a=e.children;if(e.x=r,e.y=e.depth*i,e.dx=n,e.dy=i,a&&(o=a.length)){var o,s,l,c=-1;for(n=e.value?n/e.value:0;++c<o;)t(s=a[c],r,l=s.value*n,i),r+=l}}(i[0],0,r[0],r[1]/function t(e){var r=e.children,n=0;if(r&&(i=r.length))for(var i,a=-1;++a<i;)n=Math.max(n,t(r[a]));return 1+n}(i[0])),i}return n.size=function(t){return arguments.length?(r=t,n):r},Pa(n,e)},t.layout.pie=function(){var e=Number,r=Na,n=0,i=St,a=0;function o(s){var l,c=s.length,u=s.map((function(t,r){return+e.call(o,t,r)})),f=+("function"==typeof n?n.apply(this,arguments):n),h=("function"==typeof i?i.apply(this,arguments):i)-f,p=Math.min(Math.abs(h)/c,+("function"==typeof a?a.apply(this,arguments):a)),d=p*(h<0?-1:1),g=t.sum(u),m=g?(h-c*d)/g:0,v=t.range(c),y=[];return null!=r&&v.sort(r===Na?function(t,e){return u[e]-u[t]}:function(t,e){return r(s[t],s[e])}),v.forEach((function(t){y[t]={data:s[t],value:l=u[t],startAngle:f,endAngle:f+=l*m+d,padAngle:p}})),y}return o.value=function(t){return arguments.length?(e=t,o):e},o.sort=function(t){return arguments.length?(r=t,o):r},o.startAngle=function(t){return arguments.length?(n=t,o):n},o.endAngle=function(t){return arguments.length?(i=t,o):i},o.padAngle=function(t){return arguments.length?(a=t,o):a},o};var Na={};function ja(t){return t.x}function Ua(t){return t.y}function Va(t,e,r){t.y0=e,t.y=r}t.layout.stack=function(){var e=L,r=Ga,n=Ya,i=Va,a=ja,o=Ua;function s(l,c){if(!(p=l.length))return l;var u=l.map((function(t,r){return e.call(s,t,r)})),f=u.map((function(t){return t.map((function(t,e){return[a.call(s,t,e),o.call(s,t,e)]}))})),h=r.call(s,f,c);u=t.permute(u,h),f=t.permute(f,h);var p,d,g,m,v=n.call(s,f,c),y=u[0].length;for(g=0;g<y;++g)for(i.call(s,u[0][g],m=v[g],f[0][g][1]),d=1;d<p;++d)i.call(s,u[d][g],m+=f[d-1][g][1],f[d][g][1]);return l}return s.values=function(t){return arguments.length?(e=t,s):e},s.order=function(t){return arguments.length?(r="function"==typeof t?t:qa.get(t)||Ga,s):r},s.offset=function(t){return arguments.length?(n="function"==typeof t?t:Ha.get(t)||Ya,s):n},s.x=function(t){return arguments.length?(a=t,s):a},s.y=function(t){return arguments.length?(o=t,s):o},s.out=function(t){return arguments.length?(i=t,s):i},s};var qa=t.map({"inside-out":function(e){var r,n,i=e.length,a=e.map(Wa),o=e.map(Xa),s=t.range(i).sort((function(t,e){return a[t]-a[e]})),l=0,c=0,u=[],f=[];for(r=0;r<i;++r)n=s[r],l<c?(l+=o[n],u.push(n)):(c+=o[n],f.push(n));return f.reverse().concat(u)},reverse:function(e){return t.range(e.length).reverse()},default:Ga}),Ha=t.map({silhouette:function(t){var e,r,n,i=t.length,a=t[0].length,o=[],s=0,l=[];for(r=0;r<a;++r){for(e=0,n=0;e<i;e++)n+=t[e][r][1];n>s&&(s=n),o.push(n)}for(r=0;r<a;++r)l[r]=(s-o[r])/2;return l},wiggle:function(t){var e,r,n,i,a,o,s,l,c,u=t.length,f=t[0],h=f.length,p=[];for(p[0]=l=c=0,r=1;r<h;++r){for(e=0,i=0;e<u;++e)i+=t[e][r][1];for(e=0,a=0,s=f[r][0]-f[r-1][0];e<u;++e){for(n=0,o=(t[e][r][1]-t[e][r-1][1])/(2*s);n<e;++n)o+=(t[n][r][1]-t[n][r-1][1])/s;a+=o*t[e][r][1]}p[r]=l-=i?a/i*s:0,l<c&&(c=l)}for(r=0;r<h;++r)p[r]-=c;return p},expand:function(t){var e,r,n,i=t.length,a=t[0].length,o=1/i,s=[];for(r=0;r<a;++r){for(e=0,n=0;e<i;e++)n+=t[e][r][1];if(n)for(e=0;e<i;e++)t[e][r][1]/=n;else for(e=0;e<i;e++)t[e][r][1]=o}for(r=0;r<a;++r)s[r]=0;return s},zero:Ya});function Ga(e){return t.range(e.length)}function Ya(t){for(var e=-1,r=t[0].length,n=[];++e<r;)n[e]=0;return n}function Wa(t){for(var e,r=1,n=0,i=t[0][1],a=t.length;r<a;++r)(e=t[r][1])>i&&(n=r,i=e);return n}function Xa(t){return t.reduce(Za,0)}function Za(t,e){return t+e[1]}function Ja(t,e){return Ka(t,Math.ceil(Math.log(e.length)/Math.LN2+1))}function Ka(t,e){for(var r=-1,n=+t[0],i=(t[1]-n)/e,a=[];++r<=e;)a[r]=i*r+n;return a}function Qa(e){return[t.min(e),t.max(e)]}function $a(t,e){return t.value-e.value}function to(t,e){var r=t._pack_next;t._pack_next=e,e._pack_prev=t,e._pack_next=r,r._pack_prev=e}function eo(t,e){t._pack_next=e,e._pack_prev=t}function ro(t,e){var r=e.x-t.x,n=e.y-t.y,i=t.r+e.r;return.999*i*i>r*r+n*n}function no(t){if((e=t.children)&&(l=e.length)){var e,r,n,i,a,o,s,l,c=1/0,u=-1/0,f=1/0,h=-1/0;if(e.forEach(io),(r=e[0]).x=-r.r,r.y=0,x(r),l>1&&((n=e[1]).x=n.r,n.y=0,x(n),l>2))for(oo(r,n,i=e[2]),x(i),to(r,i),r._pack_prev=i,to(i,n),n=r._pack_next,a=3;a<l;a++){oo(r,n,i=e[a]);var p=0,d=1,g=1;for(o=n._pack_next;o!==n;o=o._pack_next,d++)if(ro(o,i)){p=1;break}if(1==p)for(s=r._pack_prev;s!==o._pack_prev&&!ro(s,i);s=s._pack_prev,g++);p?(d<g||d==g&&n.r<r.r?eo(r,n=o):eo(r=s,n),a--):(to(r,i),n=i,x(i))}var m=(c+u)/2,v=(f+h)/2,y=0;for(a=0;a<l;a++)(i=e[a]).x-=m,i.y-=v,y=Math.max(y,i.r+Math.sqrt(i.x*i.x+i.y*i.y));t.r=y,e.forEach(ao)}function x(t){c=Math.min(t.x-t.r,c),u=Math.max(t.x+t.r,u),f=Math.min(t.y-t.r,f),h=Math.max(t.y+t.r,h)}}function io(t){t._pack_next=t._pack_prev=t}function ao(t){delete t._pack_next,delete t._pack_prev}function oo(t,e,r){var n=t.r+r.r,i=e.x-t.x,a=e.y-t.y;if(n&&(i||a)){var o=e.r+r.r,s=i*i+a*a,l=.5+((n*=n)-(o*=o))/(2*s),c=Math.sqrt(Math.max(0,2*o*(n+s)-(n-=s)*n-o*o))/(2*s);r.x=t.x+l*i+c*a,r.y=t.y+l*a-c*i}else r.x=t.x+n,r.y=t.y}function so(t,e){return t.parent==e.parent?1:2}function lo(t){var e=t.children;return e.length?e[0]:t.t}function co(t){var e,r=t.children;return(e=r.length)?r[e-1]:t.t}function uo(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 fo(t,e,r){return t.a.parent===e.parent?t.a:r}function ho(t){return{x:t.x,y:t.y,dx:t.dx,dy:t.dy}}function po(t,e){var r=t.x+e[3],n=t.y+e[0],i=t.dx-e[1]-e[3],a=t.dy-e[0]-e[2];return i<0&&(r+=i/2,i=0),a<0&&(n+=a/2,a=0),{x:r,y:n,dx:i,dy:a}}function go(t){var e=t[0],r=t[t.length-1];return e<r?[e,r]:[r,e]}function mo(t){return t.rangeExtent?t.rangeExtent():go(t.range())}function vo(t,e,r,n){var i=r(t[0],t[1]),a=n(e[0],e[1]);return function(t){return a(i(t))}}function yo(t,e){var r,n=0,i=t.length-1,a=t[n],o=t[i];return o<a&&(r=n,n=i,i=r,r=a,a=o,o=r),t[n]=e.floor(a),t[i]=e.ceil(o),t}function xo(t){return t?{floor:function(e){return Math.floor(e/t)*t},ceil:function(e){return Math.ceil(e/t)*t}}:bo}t.layout.histogram=function(){var e=!0,r=Number,n=Qa,i=Ja;function a(a,o){for(var s,l,c=[],u=a.map(r,this),f=n.call(this,u,o),h=i.call(this,f,u,o),p=(o=-1,u.length),d=h.length-1,g=e?1:1/p;++o<d;)(s=c[o]=[]).dx=h[o+1]-(s.x=h[o]),s.y=0;if(d>0)for(o=-1;++o<p;)(l=u[o])>=f[0]&&l<=f[1]&&((s=c[t.bisect(h,l,1,d)-1]).y+=g,s.push(a[o]));return c}return a.value=function(t){return arguments.length?(r=t,a):r},a.range=function(t){return arguments.length?(n=de(t),a):n},a.bins=function(t){return arguments.length?(i="number"==typeof t?function(e){return Ka(e,t)}:de(t),a):i},a.frequency=function(t){return arguments.length?(e=!!t,a):e},a},t.layout.pack=function(){var e,r=t.layout.hierarchy().sort($a),n=0,i=[1,1];function a(t,a){var o=r.call(this,t,a),s=o[0],l=i[0],c=i[1],u=null==e?Math.sqrt:"function"==typeof e?e:function(){return e};if(s.x=s.y=0,Oa(s,(function(t){t.r=+u(t.value)})),Oa(s,no),n){var f=n*(e?1:Math.max(2*s.r/l,2*s.r/c))/2;Oa(s,(function(t){t.r+=f})),Oa(s,no),Oa(s,(function(t){t.r-=f}))}return function t(e,r,n,i){var a=e.children;if(e.x=r+=i*e.x,e.y=n+=i*e.y,e.r*=i,a)for(var o=-1,s=a.length;++o<s;)t(a[o],r,n,i)}(s,l/2,c/2,e?1:1/Math.max(2*s.r/l,2*s.r/c)),o}return a.size=function(t){return arguments.length?(i=t,a):i},a.radius=function(t){return arguments.length?(e=null==t||"function"==typeof t?t:+t,a):e},a.padding=function(t){return arguments.length?(n=+t,a):n},Pa(a,r)},t.layout.tree=function(){var e=t.layout.hierarchy().sort(null).value(null),r=so,n=[1,1],i=null;function a(t,a){var c=e.call(this,t,a),u=c[0],f=function(t){var e,r={A:null,children:[t]},n=[r];for(;null!=(e=n.pop());)for(var i,a=e.children,o=0,s=a.length;o<s;++o)n.push((a[o]=i={_:a[o],parent:e,children:(i=a[o].children)&&i.slice()||[],A:null,a:null,z:0,m:0,c:0,s:0,t:null,i:o}).a=i);return r.children[0]}(u);if(Oa(f,o),f.parent.m=-f.z,za(f,s),i)za(u,l);else{var h=u,p=u,d=u;za(u,(function(t){t.x<h.x&&(h=t),t.x>p.x&&(p=t),t.depth>d.depth&&(d=t)}));var g=r(h,p)/2-h.x,m=n[0]/(p.x+r(p,h)/2+g),v=n[1]/(d.depth||1);za(u,(function(t){t.x=(t.x+g)*m,t.y=t.depth*v}))}return c}function o(t){var e=t.children,n=t.parent.children,i=t.i?n[t.i-1]:null;if(e.length){!function(t){var e,r=0,n=0,i=t.children,a=i.length;for(;--a>=0;)(e=i[a]).z+=r,e.m+=r,r+=e.s+(n+=e.c)}(t);var a=(e[0].z+e[e.length-1].z)/2;i?(t.z=i.z+r(t._,i._),t.m=t.z-a):t.z=a}else i&&(t.z=i.z+r(t._,i._));t.parent.A=function(t,e,n){if(e){for(var i,a=t,o=t,s=e,l=a.parent.children[0],c=a.m,u=o.m,f=s.m,h=l.m;s=co(s),a=lo(a),s&&a;)l=lo(l),(o=co(o)).a=t,(i=s.z+f-a.z-c+r(s._,a._))>0&&(uo(fo(s,t,n),t,i),c+=i,u+=i),f+=s.m,c+=a.m,h+=l.m,u+=o.m;s&&!co(o)&&(o.t=s,o.m+=f-u),a&&!lo(l)&&(l.t=a,l.m+=c-h,n=t)}return n}(t,i,t.parent.A||n[0])}function s(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function l(t){t.x*=n[0],t.y=t.depth*n[1]}return a.separation=function(t){return arguments.length?(r=t,a):r},a.size=function(t){return arguments.length?(i=null==(n=t)?l:null,a):i?null:n},a.nodeSize=function(t){return arguments.length?(i=null==(n=t)?null:l,a):i?n:null},Pa(a,e)},t.layout.cluster=function(){var e=t.layout.hierarchy().sort(null).value(null),r=so,n=[1,1],i=!1;function a(a,o){var s,l=e.call(this,a,o),c=l[0],u=0;Oa(c,(function(e){var n=e.children;n&&n.length?(e.x=function(t){return t.reduce((function(t,e){return t+e.x}),0)/t.length}(n),e.y=function(e){return 1+t.max(e,(function(t){return t.y}))}(n)):(e.x=s?u+=r(e,s):0,e.y=0,s=e)}));var f=function t(e){var r=e.children;return r&&r.length?t(r[0]):e}(c),h=function t(e){var r,n=e.children;return n&&(r=n.length)?t(n[r-1]):e}(c),p=f.x-r(f,h)/2,d=h.x+r(h,f)/2;return Oa(c,i?function(t){t.x=(t.x-c.x)*n[0],t.y=(c.y-t.y)*n[1]}:function(t){t.x=(t.x-p)/(d-p)*n[0],t.y=(1-(c.y?t.y/c.y:1))*n[1]}),l}return a.separation=function(t){return arguments.length?(r=t,a):r},a.size=function(t){return arguments.length?(i=null==(n=t),a):i?null:n},a.nodeSize=function(t){return arguments.length?(i=null!=(n=t),a):i?n:null},Pa(a,e)},t.layout.treemap=function(){var e,r=t.layout.hierarchy(),n=Math.round,i=[1,1],a=null,o=ho,s=!1,l="squarify",c=.5*(1+Math.sqrt(5));function u(t,e){for(var r,n,i=-1,a=t.length;++i<a;)n=(r=t[i]).value*(e<0?0:e),r.area=isNaN(n)||n<=0?0:n}function f(t){var e=t.children;if(e&&e.length){var r,n,i,a=o(t),s=[],c=e.slice(),h=1/0,g="slice"===l?a.dx:"dice"===l?a.dy:"slice-dice"===l?1&t.depth?a.dy:a.dx:Math.min(a.dx,a.dy);for(u(c,a.dx*a.dy/t.value),s.area=0;(i=c.length)>0;)s.push(r=c[i-1]),s.area+=r.area,"squarify"!==l||(n=p(s,g))<=h?(c.pop(),h=n):(s.area-=s.pop().area,d(s,g,a,!1),g=Math.min(a.dx,a.dy),s.length=s.area=0,h=1/0);s.length&&(d(s,g,a,!0),s.length=s.area=0),e.forEach(f)}}function h(t){var e=t.children;if(e&&e.length){var r,n=o(t),i=e.slice(),a=[];for(u(i,n.dx*n.dy/t.value),a.area=0;r=i.pop();)a.push(r),a.area+=r.area,null!=r.z&&(d(a,r.z?n.dx:n.dy,n,!i.length),a.length=a.area=0);e.forEach(h)}}function p(t,e){for(var r,n=t.area,i=0,a=1/0,o=-1,s=t.length;++o<s;)(r=t[o].area)&&(r<a&&(a=r),r>i&&(i=r));return e*=e,(n*=n)?Math.max(e*i*c/n,n/(e*a*c)):1/0}function d(t,e,r,i){var a,o=-1,s=t.length,l=r.x,c=r.y,u=e?n(t.area/e):0;if(e==r.dx){for((i||u>r.dy)&&(u=r.dy);++o<s;)(a=t[o]).x=l,a.y=c,a.dy=u,l+=a.dx=Math.min(r.x+r.dx-l,u?n(a.area/u):0);a.z=!0,a.dx+=r.x+r.dx-l,r.y+=u,r.dy-=u}else{for((i||u>r.dx)&&(u=r.dx);++o<s;)(a=t[o]).x=l,a.y=c,a.dx=u,c+=a.dy=Math.min(r.y+r.dy-c,u?n(a.area/u):0);a.z=!1,a.dy+=r.y+r.dy-c,r.x+=u,r.dx-=u}}function g(t){var n=e||r(t),a=n[0];return a.x=a.y=0,a.value?(a.dx=i[0],a.dy=i[1]):a.dx=a.dy=0,e&&r.revalue(a),u([a],a.dx*a.dy/a.value),(e?h:f)(a),s&&(e=n),n}return g.size=function(t){return arguments.length?(i=t,g):i},g.padding=function(t){if(!arguments.length)return a;function e(e){var r=t.call(g,e,e.depth);return null==r?ho(e):po(e,"number"==typeof r?[r,r,r,r]:r)}function r(e){return po(e,t)}var n;return o=null==(a=t)?ho:"function"==(n=typeof t)?e:"number"===n?(t=[t,t,t,t],r):r,g},g.round=function(t){return arguments.length?(n=t?Math.round:Number,g):n!=Number},g.sticky=function(t){return arguments.length?(s=t,e=null,g):s},g.ratio=function(t){return arguments.length?(c=t,g):c},g.mode=function(t){return arguments.length?(l=t+"",g):l},Pa(g,r)},t.random={normal:function(t,e){var r=arguments.length;return r<2&&(e=1),r<1&&(t=0),function(){var r,n,i;do{i=(r=2*Math.random()-1)*r+(n=2*Math.random()-1)*n}while(!i||i>1);return t+e*r*Math.sqrt(-2*Math.log(i)/i)}},logNormal:function(){var e=t.random.normal.apply(t,arguments);return function(){return Math.exp(e())}},bates:function(e){var r=t.random.irwinHall(e);return function(){return r()/e}},irwinHall:function(t){return function(){for(var e=0,r=0;r<t;r++)e+=Math.random();return e}}},t.scale={};var bo={floor:L,ceil:L};function _o(e,r,n,i){var a=[],o=[],s=0,l=Math.min(e.length,r.length)-1;for(e[l]<e[0]&&(e=e.slice().reverse(),r=r.slice().reverse());++s<=l;)a.push(n(e[s-1],e[s])),o.push(i(r[s-1],r[s]));return function(r){var n=t.bisect(e,r,1,l)-1;return o[n](a[n](r))}}function wo(e,r){return t.rebind(e,r,"range","rangeRound","interpolate","clamp")}function To(t,e){return yo(t,xo(ko(t,e)[2])),yo(t,xo(ko(t,e)[2])),t}function ko(t,e){null==e&&(e=10);var r=go(t),n=r[1]-r[0],i=Math.pow(10,Math.floor(Math.log(n/e)/Math.LN10)),a=e/n*i;return a<=.15?i*=10:a<=.35?i*=5:a<=.75&&(i*=2),r[0]=Math.ceil(r[0]/i)*i,r[1]=Math.floor(r[1]/i)*i+.5*i,r[2]=i,r}function Mo(e,r){return t.range.apply(t,ko(e,r))}function Ao(e,r,n){var i=ko(e,r);if(n){var a=Ce.exec(n);if(a.shift(),"s"===a[8]){var o=t.formatPrefix(Math.max(y(i[0]),y(i[1])));return a[7]||(a[7]="."+Eo(o.scale(i[2]))),a[8]="f",n=t.format(a.join("")),function(t){return n(o.scale(t))+o.symbol}}a[7]||(a[7]="."+function(t,e){var r=Eo(e[2]);return t in So?Math.abs(r-Eo(Math.max(y(e[0]),y(e[1]))))+ +("e"!==t):r-2*("%"===t)}(a[8],i)),n=a.join("")}else n=",."+Eo(i[2])+"f";return t.format(n)}t.scale.linear=function(){return function t(e,r,n,i){var a,o;function s(){var t=Math.min(e.length,r.length)>2?_o:vo,s=i?wa:_a;return a=t(e,r,s,n),o=t(r,e,s,$i),l}function l(t){return a(t)}return l.invert=function(t){return o(t)},l.domain=function(t){return arguments.length?(e=t.map(Number),s()):e},l.range=function(t){return arguments.length?(r=t,s()):r},l.rangeRound=function(t){return l.range(t).interpolate(da)},l.clamp=function(t){return arguments.length?(i=t,s()):i},l.interpolate=function(t){return arguments.length?(n=t,s()):n},l.ticks=function(t){return Mo(e,t)},l.tickFormat=function(t,r){return Ao(e,t,r)},l.nice=function(t){return To(e,t),s()},l.copy=function(){return t(e,r,n,i)},s()}([0,1],[0,1],$i,!1)};var So={s:1,g:1,p:1,r:1,e:1};function Eo(t){return-Math.floor(Math.log(t)/Math.LN10+.01)}t.scale.log=function(){return function e(r,n,i,a){function o(t){return(i?Math.log(t<0?0:t):-Math.log(t>0?0:-t))/Math.log(n)}function s(t){return i?Math.pow(n,t):-Math.pow(n,-t)}function l(t){return r(o(t))}return l.invert=function(t){return s(r.invert(t))},l.domain=function(t){return arguments.length?(i=t[0]>=0,r.domain((a=t.map(Number)).map(o)),l):a},l.base=function(t){return arguments.length?(n=+t,r.domain(a.map(o)),l):n},l.nice=function(){var t=yo(a.map(o),i?Math:Lo);return r.domain(t),a=t.map(s),l},l.ticks=function(){var t=go(a),e=[],r=t[0],l=t[1],c=Math.floor(o(r)),u=Math.ceil(o(l)),f=n%1?2:n;if(isFinite(u-c)){if(i){for(;c<u;c++)for(var h=1;h<f;h++)e.push(s(c)*h);e.push(s(c))}else for(e.push(s(c));c++<u;)for(h=f-1;h>0;h--)e.push(s(c)*h);for(c=0;e[c]<r;c++);for(u=e.length;e[u-1]>l;u--);e=e.slice(c,u)}return e},l.tickFormat=function(e,r){if(!arguments.length)return Co;arguments.length<2?r=Co:"function"!=typeof r&&(r=t.format(r));var i=Math.max(1,n*e/l.ticks().length);return function(t){var e=t/s(Math.round(o(t)));return e*n<n-.5&&(e*=n),e<=i?r(t):""}},l.copy=function(){return e(r.copy(),n,i,a)},wo(l,r)}(t.scale.linear().domain([0,1]),10,!0,[1,10])};var Co=t.format(".0e"),Lo={floor:function(t){return-Math.ceil(-t)},ceil:function(t){return-Math.floor(-t)}};function Io(t){return function(e){return e<0?-Math.pow(-e,t):Math.pow(e,t)}}t.scale.pow=function(){return function t(e,r,n){var i=Io(r),a=Io(1/r);function o(t){return e(i(t))}return o.invert=function(t){return a(e.invert(t))},o.domain=function(t){return arguments.length?(e.domain((n=t.map(Number)).map(i)),o):n},o.ticks=function(t){return Mo(n,t)},o.tickFormat=function(t,e){return Ao(n,t,e)},o.nice=function(t){return o.domain(To(n,t))},o.exponent=function(t){return arguments.length?(i=Io(r=t),a=Io(1/r),e.domain(n.map(i)),o):r},o.copy=function(){return t(e.copy(),r,n)},wo(o,e)}(t.scale.linear(),1,[0,1])},t.scale.sqrt=function(){return t.scale.pow().exponent(.5)},t.scale.ordinal=function(){return function e(r,n){var i,a,o;function s(t){return a[((i.get(t)||("range"===n.t?i.set(t,r.push(t)):NaN))-1)%a.length]}function l(e,n){return t.range(r.length).map((function(t){return e+n*t}))}return s.domain=function(t){if(!arguments.length)return r;r=[],i=new _;for(var e,a=-1,o=t.length;++a<o;)i.has(e=t[a])||i.set(e,r.push(e));return s[n.t].apply(s,n.a)},s.range=function(t){return arguments.length?(a=t,o=0,n={t:"range",a:arguments},s):a},s.rangePoints=function(t,e){arguments.length<2&&(e=0);var i=t[0],c=t[1],u=r.length<2?(i=(i+c)/2,0):(c-i)/(r.length-1+e);return a=l(i+u*e/2,u),o=0,n={t:"rangePoints",a:arguments},s},s.rangeRoundPoints=function(t,e){arguments.length<2&&(e=0);var i=t[0],c=t[1],u=r.length<2?(i=c=Math.round((i+c)/2),0):(c-i)/(r.length-1+e)|0;return a=l(i+Math.round(u*e/2+(c-i-(r.length-1+e)*u)/2),u),o=0,n={t:"rangeRoundPoints",a:arguments},s},s.rangeBands=function(t,e,i){arguments.length<2&&(e=0),arguments.length<3&&(i=e);var c=t[1]<t[0],u=t[c-0],f=t[1-c],h=(f-u)/(r.length-e+2*i);return a=l(u+h*i,h),c&&a.reverse(),o=h*(1-e),n={t:"rangeBands",a:arguments},s},s.rangeRoundBands=function(t,e,i){arguments.length<2&&(e=0),arguments.length<3&&(i=e);var c=t[1]<t[0],u=t[c-0],f=t[1-c],h=Math.floor((f-u)/(r.length-e+2*i));return a=l(u+Math.round((f-u-(r.length-e)*h)/2),h),c&&a.reverse(),o=Math.round(h*(1-e)),n={t:"rangeRoundBands",a:arguments},s},s.rangeBand=function(){return o},s.rangeExtent=function(){return go(n.a[0])},s.copy=function(){return e(r,n)},s.domain(r)}([],{t:"range",a:[[]]})},t.scale.category10=function(){return t.scale.ordinal().range(Po)},t.scale.category20=function(){return t.scale.ordinal().range(zo)},t.scale.category20b=function(){return t.scale.ordinal().range(Oo)},t.scale.category20c=function(){return t.scale.ordinal().range(Do)};var Po=[2062260,16744206,2924588,14034728,9725885,9197131,14907330,8355711,12369186,1556175].map(ae),zo=[2062260,11454440,16744206,16759672,2924588,10018698,14034728,16750742,9725885,12955861,9197131,12885140,14907330,16234194,8355711,13092807,12369186,14408589,1556175,10410725].map(ae),Oo=[3750777,5395619,7040719,10264286,6519097,9216594,11915115,13556636,9202993,12426809,15186514,15190932,8666169,11356490,14049643,15177372,8077683,10834324,13528509,14589654].map(ae),Do=[3244733,7057110,10406625,13032431,15095053,16616764,16625259,16634018,3253076,7652470,10607003,13101504,7695281,10394312,12369372,14342891,6513507,9868950,12434877,14277081].map(ae);function Ro(){return 0}t.scale.quantile=function(){return function e(r,n){var i;function a(){var e=0,a=n.length;for(i=[];++e<a;)i[e-1]=t.quantile(r,e/a);return o}function o(e){if(!isNaN(e=+e))return n[t.bisect(i,e)]}return o.domain=function(t){return arguments.length?(r=t.map(p).filter(d).sort(h),a()):r},o.range=function(t){return arguments.length?(n=t,a()):n},o.quantiles=function(){return i},o.invertExtent=function(t){return(t=n.indexOf(t))<0?[NaN,NaN]:[t>0?i[t-1]:r[0],t<i.length?i[t]:r[r.length-1]]},o.copy=function(){return e(r,n)},a()}([],[])},t.scale.quantize=function(){return function t(e,r,n){var i,a;function o(t){return n[Math.max(0,Math.min(a,Math.floor(i*(t-e))))]}function s(){return i=n.length/(r-e),a=n.length-1,o}return o.domain=function(t){return arguments.length?(e=+t[0],r=+t[t.length-1],s()):[e,r]},o.range=function(t){return arguments.length?(n=t,s()):n},o.invertExtent=function(t){return[t=(t=n.indexOf(t))<0?NaN:t/i+e,t+1/i]},o.copy=function(){return t(e,r,n)},s()}(0,1,[0,1])},t.scale.threshold=function(){return function e(r,n){function i(e){if(e<=e)return n[t.bisect(r,e)]}return i.domain=function(t){return arguments.length?(r=t,i):r},i.range=function(t){return arguments.length?(n=t,i):n},i.invertExtent=function(t){return t=n.indexOf(t),[r[t-1],r[t]]},i.copy=function(){return e(r,n)},i}([.5],[0,1])},t.scale.identity=function(){return function t(e){function r(t){return+t}return r.invert=r,r.domain=r.range=function(t){return arguments.length?(e=t.map(r),r):e},r.ticks=function(t){return Mo(e,t)},r.tickFormat=function(t,r){return Ao(e,t,r)},r.copy=function(){return t(e)},r}([0,1])},t.svg={},t.svg.arc=function(){var t=Bo,e=No,r=Ro,n=Fo,i=jo,a=Uo,o=Vo;function s(){var s=Math.max(0,+t.apply(this,arguments)),c=Math.max(0,+e.apply(this,arguments)),u=i.apply(this,arguments)-Ct,f=a.apply(this,arguments)-Ct,h=Math.abs(f-u),p=u>f?0:1;if(c<s&&(d=c,c=s,s=d),h>=Et)return l(c,p)+(s?l(s,1-p):"")+"Z";var d,g,m,v,y,x,b,_,w,T,k,M,A=0,S=0,E=[];if((v=(+o.apply(this,arguments)||0)/2)&&(m=n===Fo?Math.sqrt(s*s+c*c):+n.apply(this,arguments),p||(S*=-1),c&&(S=Dt(m/c*Math.sin(v))),s&&(A=Dt(m/s*Math.sin(v)))),c){y=c*Math.cos(u+S),x=c*Math.sin(u+S),b=c*Math.cos(f-S),_=c*Math.sin(f-S);var C=Math.abs(f-u-2*S)<=At?0:1;if(S&&qo(y,x,b,_)===p^C){var L=(u+f)/2;y=c*Math.cos(L),x=c*Math.sin(L),b=_=null}}else y=x=0;if(s){w=s*Math.cos(f-A),T=s*Math.sin(f-A),k=s*Math.cos(u+A),M=s*Math.sin(u+A);var I=Math.abs(u-f+2*A)<=At?0:1;if(A&&qo(w,T,k,M)===1-p^I){var P=(u+f)/2;w=s*Math.cos(P),T=s*Math.sin(P),k=M=null}}else w=T=0;if(h>kt&&(d=Math.min(Math.abs(c-s)/2,+r.apply(this,arguments)))>.001){g=s<c^p?0:1;var z=d,O=d;if(h<At){var D=null==k?[w,T]:null==b?[y,x]:li([y,x],[k,M],[b,_],[w,T]),R=y-D[0],F=x-D[1],B=b-D[0],N=_-D[1],j=1/Math.sin(Math.acos((R*B+F*N)/(Math.sqrt(R*R+F*F)*Math.sqrt(B*B+N*N)))/2),U=Math.sqrt(D[0]*D[0]+D[1]*D[1]);O=Math.min(d,(s-U)/(j-1)),z=Math.min(d,(c-U)/(j+1))}if(null!=b){var V=Ho(null==k?[w,T]:[k,M],[y,x],c,z,p),q=Ho([b,_],[w,T],c,z,p);d===z?E.push("M",V[0],"A",z,",",z," 0 0,",g," ",V[1],"A",c,",",c," 0 ",1-p^qo(V[1][0],V[1][1],q[1][0],q[1][1]),",",p," ",q[1],"A",z,",",z," 0 0,",g," ",q[0]):E.push("M",V[0],"A",z,",",z," 0 1,",g," ",q[0])}else E.push("M",y,",",x);if(null!=k){var H=Ho([y,x],[k,M],s,-O,p),G=Ho([w,T],null==b?[y,x]:[b,_],s,-O,p);d===O?E.push("L",G[0],"A",O,",",O," 0 0,",g," ",G[1],"A",s,",",s," 0 ",p^qo(G[1][0],G[1][1],H[1][0],H[1][1]),",",1-p," ",H[1],"A",O,",",O," 0 0,",g," ",H[0]):E.push("L",G[0],"A",O,",",O," 0 0,",g," ",H[0])}else E.push("L",w,",",T)}else E.push("M",y,",",x),null!=b&&E.push("A",c,",",c," 0 ",C,",",p," ",b,",",_),E.push("L",w,",",T),null!=k&&E.push("A",s,",",s," 0 ",I,",",1-p," ",k,",",M);return E.push("Z"),E.join("")}function l(t,e){return"M0,"+t+"A"+t+","+t+" 0 1,"+e+" 0,"+-t+"A"+t+","+t+" 0 1,"+e+" 0,"+t}return s.innerRadius=function(e){return arguments.length?(t=de(e),s):t},s.outerRadius=function(t){return arguments.length?(e=de(t),s):e},s.cornerRadius=function(t){return arguments.length?(r=de(t),s):r},s.padRadius=function(t){return arguments.length?(n=t==Fo?Fo:de(t),s):n},s.startAngle=function(t){return arguments.length?(i=de(t),s):i},s.endAngle=function(t){return arguments.length?(a=de(t),s):a},s.padAngle=function(t){return arguments.length?(o=de(t),s):o},s.centroid=function(){var r=(+t.apply(this,arguments)+ +e.apply(this,arguments))/2,n=(+i.apply(this,arguments)+ +a.apply(this,arguments))/2-Ct;return[Math.cos(n)*r,Math.sin(n)*r]},s};var Fo="auto";function Bo(t){return t.innerRadius}function No(t){return t.outerRadius}function jo(t){return t.startAngle}function Uo(t){return t.endAngle}function Vo(t){return t&&t.padAngle}function qo(t,e,r,n){return(t-r)*e-(e-n)*t>0?0:1}function Ho(t,e,r,n,i){var a=t[0]-e[0],o=t[1]-e[1],s=(i?n:-n)/Math.sqrt(a*a+o*o),l=s*o,c=-s*a,u=t[0]+l,f=t[1]+c,h=e[0]+l,p=e[1]+c,d=(u+h)/2,g=(f+p)/2,m=h-u,v=p-f,y=m*m+v*v,x=r-n,b=u*p-h*f,_=(v<0?-1:1)*Math.sqrt(Math.max(0,x*x*y-b*b)),w=(b*v-m*_)/y,T=(-b*m-v*_)/y,k=(b*v+m*_)/y,M=(-b*m+v*_)/y,A=w-d,S=T-g,E=k-d,C=M-g;return A*A+S*S>E*E+C*C&&(w=k,T=M),[[w-l,T-c],[w*r/x,T*r/x]]}function Go(t){var e=ri,r=ni,n=Yr,i=Wo,a=i.key,o=.7;function s(a){var s,l=[],c=[],u=-1,f=a.length,h=de(e),p=de(r);function d(){l.push("M",i(t(c),o))}for(;++u<f;)n.call(this,s=a[u],u)?c.push([+h.call(this,s,u),+p.call(this,s,u)]):c.length&&(d(),c=[]);return c.length&&d(),l.length?l.join(""):null}return s.x=function(t){return arguments.length?(e=t,s):e},s.y=function(t){return arguments.length?(r=t,s):r},s.defined=function(t){return arguments.length?(n=t,s):n},s.interpolate=function(t){return arguments.length?(a="function"==typeof t?i=t:(i=Yo.get(t)||Wo).key,s):a},s.tension=function(t){return arguments.length?(o=t,s):o},s}t.svg.line=function(){return Go(L)};var Yo=t.map({linear:Wo,"linear-closed":Xo,step:function(t){var e=0,r=t.length,n=t[0],i=[n[0],",",n[1]];for(;++e<r;)i.push("H",(n[0]+(n=t[e])[0])/2,"V",n[1]);r>1&&i.push("H",n[0]);return i.join("")},"step-before":Zo,"step-after":Jo,basis:$o,"basis-open":function(t){if(t.length<4)return Wo(t);var e,r=[],n=-1,i=t.length,a=[0],o=[0];for(;++n<3;)e=t[n],a.push(e[0]),o.push(e[1]);r.push(ts(ns,a)+","+ts(ns,o)),--n;for(;++n<i;)e=t[n],a.shift(),a.push(e[0]),o.shift(),o.push(e[1]),is(r,a,o);return r.join("")},"basis-closed":function(t){var e,r,n=-1,i=t.length,a=i+4,o=[],s=[];for(;++n<4;)r=t[n%i],o.push(r[0]),s.push(r[1]);e=[ts(ns,o),",",ts(ns,s)],--n;for(;++n<a;)r=t[n%i],o.shift(),o.push(r[0]),s.shift(),s.push(r[1]),is(e,o,s);return e.join("")},bundle:function(t,e){var r=t.length-1;if(r)for(var n,i,a=t[0][0],o=t[0][1],s=t[r][0]-a,l=t[r][1]-o,c=-1;++c<=r;)n=t[c],i=c/r,n[0]=e*n[0]+(1-e)*(a+i*s),n[1]=e*n[1]+(1-e)*(o+i*l);return $o(t)},cardinal:function(t,e){return t.length<3?Wo(t):t[0]+Ko(t,Qo(t,e))},"cardinal-open":function(t,e){return t.length<4?Wo(t):t[1]+Ko(t.slice(1,-1),Qo(t,e))},"cardinal-closed":function(t,e){return t.length<3?Xo(t):t[0]+Ko((t.push(t[0]),t),Qo([t[t.length-2]].concat(t,[t[1]]),e))},monotone:function(t){return t.length<3?Wo(t):t[0]+Ko(t,function(t){var e,r,n,i,a=[],o=function(t){var e=0,r=t.length-1,n=[],i=t[0],a=t[1],o=n[0]=as(i,a);for(;++e<r;)n[e]=(o+(o=as(i=a,a=t[e+1])))/2;return n[e]=o,n}(t),s=-1,l=t.length-1;for(;++s<l;)e=as(t[s],t[s+1]),y(e)<kt?o[s]=o[s+1]=0:(r=o[s]/e,n=o[s+1]/e,(i=r*r+n*n)>9&&(i=3*e/Math.sqrt(i),o[s]=i*r,o[s+1]=i*n));s=-1;for(;++s<=l;)i=(t[Math.min(l,s+1)][0]-t[Math.max(0,s-1)][0])/(6*(1+o[s]*o[s])),a.push([i||0,o[s]*i||0]);return a}(t))}});function Wo(t){return t.length>1?t.join("L"):t+"Z"}function Xo(t){return t.join("L")+"Z"}function Zo(t){for(var e=0,r=t.length,n=t[0],i=[n[0],",",n[1]];++e<r;)i.push("V",(n=t[e])[1],"H",n[0]);return i.join("")}function Jo(t){for(var e=0,r=t.length,n=t[0],i=[n[0],",",n[1]];++e<r;)i.push("H",(n=t[e])[0],"V",n[1]);return i.join("")}function Ko(t,e){if(e.length<1||t.length!=e.length&&t.length!=e.length+2)return Wo(t);var r=t.length!=e.length,n="",i=t[0],a=t[1],o=e[0],s=o,l=1;if(r&&(n+="Q"+(a[0]-2*o[0]/3)+","+(a[1]-2*o[1]/3)+","+a[0]+","+a[1],i=t[1],l=2),e.length>1){s=e[1],a=t[l],l++,n+="C"+(i[0]+o[0])+","+(i[1]+o[1])+","+(a[0]-s[0])+","+(a[1]-s[1])+","+a[0]+","+a[1];for(var c=2;c<e.length;c++,l++)a=t[l],s=e[c],n+="S"+(a[0]-s[0])+","+(a[1]-s[1])+","+a[0]+","+a[1]}if(r){var u=t[l];n+="Q"+(a[0]+2*s[0]/3)+","+(a[1]+2*s[1]/3)+","+u[0]+","+u[1]}return n}function Qo(t,e){for(var r,n=[],i=(1-e)/2,a=t[0],o=t[1],s=1,l=t.length;++s<l;)r=a,a=o,o=t[s],n.push([i*(o[0]-r[0]),i*(o[1]-r[1])]);return n}function $o(t){if(t.length<3)return Wo(t);var e=1,r=t.length,n=t[0],i=n[0],a=n[1],o=[i,i,i,(n=t[1])[0]],s=[a,a,a,n[1]],l=[i,",",a,"L",ts(ns,o),",",ts(ns,s)];for(t.push(t[r-1]);++e<=r;)n=t[e],o.shift(),o.push(n[0]),s.shift(),s.push(n[1]),is(l,o,s);return t.pop(),l.push("L",n),l.join("")}function ts(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]}Yo.forEach((function(t,e){e.key=t,e.closed=/-closed$/.test(t)}));var es=[0,2/3,1/3,0],rs=[0,1/3,2/3,0],ns=[0,1/6,2/3,1/6];function is(t,e,r){t.push("C",ts(es,e),",",ts(es,r),",",ts(rs,e),",",ts(rs,r),",",ts(ns,e),",",ts(ns,r))}function as(t,e){return(e[1]-t[1])/(e[0]-t[0])}function os(t){for(var e,r,n,i=-1,a=t.length;++i<a;)r=(e=t[i])[0],n=e[1]-Ct,e[0]=r*Math.cos(n),e[1]=r*Math.sin(n);return t}function ss(t){var e=ri,r=ri,n=0,i=ni,a=Yr,o=Wo,s=o.key,l=o,c="L",u=.7;function f(s){var f,h,p,d=[],g=[],m=[],v=-1,y=s.length,x=de(e),b=de(n),_=e===r?function(){return h}:de(r),w=n===i?function(){return p}:de(i);function T(){d.push("M",o(t(m),u),c,l(t(g.reverse()),u),"Z")}for(;++v<y;)a.call(this,f=s[v],v)?(g.push([h=+x.call(this,f,v),p=+b.call(this,f,v)]),m.push([+_.call(this,f,v),+w.call(this,f,v)])):g.length&&(T(),g=[],m=[]);return g.length&&T(),d.length?d.join(""):null}return f.x=function(t){return arguments.length?(e=r=t,f):r},f.x0=function(t){return arguments.length?(e=t,f):e},f.x1=function(t){return arguments.length?(r=t,f):r},f.y=function(t){return arguments.length?(n=i=t,f):i},f.y0=function(t){return arguments.length?(n=t,f):n},f.y1=function(t){return arguments.length?(i=t,f):i},f.defined=function(t){return arguments.length?(a=t,f):a},f.interpolate=function(t){return arguments.length?(s="function"==typeof t?o=t:(o=Yo.get(t)||Wo).key,l=o.reverse||o,c=o.closed?"M":"L",f):s},f.tension=function(t){return arguments.length?(u=t,f):u},f}function ls(t){return t.radius}function cs(t){return[t.x,t.y]}function us(t){return function(){var e=t.apply(this,arguments),r=e[0],n=e[1]-Ct;return[r*Math.cos(n),r*Math.sin(n)]}}function fs(){return 64}function hs(){return"circle"}function ps(t){var e=Math.sqrt(t/At);return"M0,"+e+"A"+e+","+e+" 0 1,1 0,"+-e+"A"+e+","+e+" 0 1,1 0,"+e+"Z"}t.svg.line.radial=function(){var t=Go(os);return t.radius=t.x,delete t.x,t.angle=t.y,delete t.y,t},Zo.reverse=Jo,Jo.reverse=Zo,t.svg.area=function(){return ss(L)},t.svg.area.radial=function(){var t=ss(os);return t.radius=t.x,delete t.x,t.innerRadius=t.x0,delete t.x0,t.outerRadius=t.x1,delete t.x1,t.angle=t.y,delete t.y,t.startAngle=t.y0,delete t.y0,t.endAngle=t.y1,delete t.y1,t},t.svg.chord=function(){var t=Vn,e=qn,r=ls,n=jo,i=Uo;function a(r,n){var i,a,c=o(this,t,r,n),u=o(this,e,r,n);return"M"+c.p0+s(c.r,c.p1,c.a1-c.a0)+(a=u,((i=c).a0==a.a0&&i.a1==a.a1?l(c.r,c.p1,c.r,c.p0):l(c.r,c.p1,u.r,u.p0)+s(u.r,u.p1,u.a1-u.a0)+l(u.r,u.p1,c.r,c.p0))+"Z")}function o(t,e,a,o){var s=e.call(t,a,o),l=r.call(t,s,o),c=n.call(t,s,o)-Ct,u=i.call(t,s,o)-Ct;return{r:l,a0:c,a1:u,p0:[l*Math.cos(c),l*Math.sin(c)],p1:[l*Math.cos(u),l*Math.sin(u)]}}function s(t,e,r){return"A"+t+","+t+" 0 "+ +(r>At)+",1 "+e}function l(t,e,r,n){return"Q 0,0 "+n}return a.radius=function(t){return arguments.length?(r=de(t),a):r},a.source=function(e){return arguments.length?(t=de(e),a):t},a.target=function(t){return arguments.length?(e=de(t),a):e},a.startAngle=function(t){return arguments.length?(n=de(t),a):n},a.endAngle=function(t){return arguments.length?(i=de(t),a):i},a},t.svg.diagonal=function(){var t=Vn,e=qn,r=cs;function n(n,i){var a=t.call(this,n,i),o=e.call(this,n,i),s=(a.y+o.y)/2,l=[a,{x:a.x,y:s},{x:o.x,y:s},o];return"M"+(l=l.map(r))[0]+"C"+l[1]+" "+l[2]+" "+l[3]}return n.source=function(e){return arguments.length?(t=de(e),n):t},n.target=function(t){return arguments.length?(e=de(t),n):e},n.projection=function(t){return arguments.length?(r=t,n):r},n},t.svg.diagonal.radial=function(){var e=t.svg.diagonal(),r=cs,n=e.projection;return e.projection=function(t){return arguments.length?n(us(r=t)):r},e},t.svg.symbol=function(){var t=hs,e=fs;function r(r,n){return(ds.get(t.call(this,r,n))||ps)(e.call(this,r,n))}return r.type=function(e){return arguments.length?(t=de(e),r):t},r.size=function(t){return arguments.length?(e=de(t),r):e},r};var ds=t.map({circle:ps,cross:function(t){var e=Math.sqrt(t/5)/2;return"M"+-3*e+","+-e+"H"+-e+"V"+-3*e+"H"+e+"V"+-e+"H"+3*e+"V"+e+"H"+e+"V"+3*e+"H"+-e+"V"+e+"H"+-3*e+"Z"},diamond:function(t){var e=Math.sqrt(t/(2*ms)),r=e*ms;return"M0,"+-e+"L"+r+",0 0,"+e+" "+-r+",0Z"},square:function(t){var e=Math.sqrt(t)/2;return"M"+-e+","+-e+"L"+e+","+-e+" "+e+","+e+" "+-e+","+e+"Z"},"triangle-down":function(t){var e=Math.sqrt(t/gs),r=e*gs/2;return"M0,"+r+"L"+e+","+-r+" "+-e+","+-r+"Z"},"triangle-up":function(t){var e=Math.sqrt(t/gs),r=e*gs/2;return"M0,"+-r+"L"+e+","+r+" "+-e+","+r+"Z"}});t.svg.symbolTypes=ds.keys();var gs=Math.sqrt(3),ms=Math.tan(30*Lt);Y.transition=function(t){for(var e,r,n=bs||++Ts,i=As(t),a=[],o=_s||{time:Date.now(),ease:ca,delay:0,duration:250},s=-1,l=this.length;++s<l;){a.push(e=[]);for(var c=this[s],u=-1,f=c.length;++u<f;)(r=c[u])&&Ss(r,u,i,n,o),e.push(r)}return xs(a,i,n)},Y.interrupt=function(t){return this.each(null==t?vs:ys(As(t)))};var vs=ys(As());function ys(t){return function(){var e,r,n;(e=this[t])&&(n=e[r=e.active])&&(n.timer.c=null,n.timer.t=NaN,--e.count?delete e[r]:delete this[t],e.active+=.5,n.event&&n.event.interrupt.call(this,this.__data__,n.index))}}function xs(t,e,r){return U(t,ws),t.namespace=e,t.id=r,t}var bs,_s,ws=[],Ts=0;function ks(t,e,r,n){var i=t.id,a=t.namespace;return ut(t,"function"==typeof r?function(t,o,s){t[a][i].tween.set(e,n(r.call(t,t.__data__,o,s)))}:(r=n(r),function(t){t[a][i].tween.set(e,r)}))}function Ms(t){return null==t&&(t=""),function(){this.textContent=t}}function As(t){return null==t?"__transition__":"__transition_"+t+"__"}function Ss(t,e,r,n,i){var a,o,s,l,c,u=t[r]||(t[r]={active:0,count:0}),f=u[n];function h(r){var i=u.active,h=u[i];for(var d in h&&(h.timer.c=null,h.timer.t=NaN,--u.count,delete u[i],h.event&&h.event.interrupt.call(t,t.__data__,h.index)),u)if(+d<n){var g=u[d];g.timer.c=null,g.timer.t=NaN,--u.count,delete u[d]}o.c=p,we((function(){return o.c&&p(r||1)&&(o.c=null,o.t=NaN),1}),0,a),u.active=n,f.event&&f.event.start.call(t,t.__data__,e),c=[],f.tween.forEach((function(r,n){(n=n.call(t,t.__data__,e))&&c.push(n)})),l=f.ease,s=f.duration}function p(i){for(var a=i/s,o=l(a),h=c.length;h>0;)c[--h].call(t,o);if(a>=1)return f.event&&f.event.end.call(t,t.__data__,e),--u.count?delete u[n]:delete t[r],1}f||(a=i.time,o=we((function(t){var e=f.delay;if(o.t=e+a,e<=t)return h(t-e);o.c=h}),0,a),f=u[n]={tween:new _,time:a,timer:o,delay:i.delay,duration:i.duration,ease:i.ease,index:e},i=null,++u.count)}ws.call=Y.call,ws.empty=Y.empty,ws.node=Y.node,ws.size=Y.size,t.transition=function(e,r){return e&&e.transition?bs?e.transition(r):e:t.selection().transition(e)},t.transition.prototype=ws,ws.select=function(t){var e,r,n,i=this.id,a=this.namespace,o=[];t=W(t);for(var s=-1,l=this.length;++s<l;){o.push(e=[]);for(var c=this[s],u=-1,f=c.length;++u<f;)(n=c[u])&&(r=t.call(n,n.__data__,u,s))?("__data__"in n&&(r.__data__=n.__data__),Ss(r,u,a,i,n[a][i]),e.push(r)):e.push(null)}return xs(o,a,i)},ws.selectAll=function(t){var e,r,n,i,a,o=this.id,s=this.namespace,l=[];t=X(t);for(var c=-1,u=this.length;++c<u;)for(var f=this[c],h=-1,p=f.length;++h<p;)if(n=f[h]){a=n[s][o],r=t.call(n,n.__data__,h,c),l.push(e=[]);for(var d=-1,g=r.length;++d<g;)(i=r[d])&&Ss(i,d,s,o,a),e.push(i)}return xs(l,s,o)},ws.filter=function(t){var e,r,n=[];"function"!=typeof t&&(t=lt(t));for(var i=0,a=this.length;i<a;i++){n.push(e=[]);for(var o,s=0,l=(o=this[i]).length;s<l;s++)(r=o[s])&&t.call(r,r.__data__,s,i)&&e.push(r)}return xs(n,this.namespace,this.id)},ws.tween=function(t,e){var r=this.id,n=this.namespace;return arguments.length<2?this.node()[n][r].tween.get(t):ut(this,null==e?function(e){e[n][r].tween.remove(t)}:function(i){i[n][r].tween.set(t,e)})},ws.attr=function(e,r){if(arguments.length<2){for(r in e)this.attr(r,e[r]);return this}var n="transform"==e?ba:$i,i=t.ns.qualify(e);function a(){this.removeAttribute(i)}function o(){this.removeAttributeNS(i.space,i.local)}function s(t){return null==t?a:(t+="",function(){var e,r=this.getAttribute(i);return r!==t&&(e=n(r,t),function(t){this.setAttribute(i,e(t))})})}function l(t){return null==t?o:(t+="",function(){var e,r=this.getAttributeNS(i.space,i.local);return r!==t&&(e=n(r,t),function(t){this.setAttributeNS(i.space,i.local,e(t))})})}return ks(this,"attr."+e,r,i.local?l:s)},ws.attrTween=function(e,r){var n=t.ns.qualify(e);return this.tween("attr."+e,n.local?function(t,e){var i=r.call(this,t,e,this.getAttributeNS(n.space,n.local));return i&&function(t){this.setAttributeNS(n.space,n.local,i(t))}}:function(t,e){var i=r.call(this,t,e,this.getAttribute(n));return i&&function(t){this.setAttribute(n,i(t))}})},ws.style=function(t,e,r){var n=arguments.length;if(n<3){if("string"!=typeof t){for(r in n<2&&(e=""),t)this.style(r,t[r],e);return this}r=""}function i(){this.style.removeProperty(t)}function a(e){return null==e?i:(e+="",function(){var n,i=o(this).getComputedStyle(this,null).getPropertyValue(t);return i!==e&&(n=$i(i,e),function(e){this.style.setProperty(t,n(e),r)})})}return ks(this,"style."+t,e,a)},ws.styleTween=function(t,e,r){function n(n,i){var a=e.call(this,n,i,o(this).getComputedStyle(this,null).getPropertyValue(t));return a&&function(e){this.style.setProperty(t,a(e),r)}}return arguments.length<3&&(r=""),this.tween("style."+t,n)},ws.text=function(t){return ks(this,"text",t,Ms)},ws.remove=function(){var t=this.namespace;return this.each("end.transition",(function(){var e;this[t].count<2&&(e=this.parentNode)&&e.removeChild(this)}))},ws.ease=function(e){var r=this.id,n=this.namespace;return arguments.length<1?this.node()[n][r].ease:("function"!=typeof e&&(e=t.ease.apply(t,arguments)),ut(this,(function(t){t[n][r].ease=e})))},ws.delay=function(t){var e=this.id,r=this.namespace;return arguments.length<1?this.node()[r][e].delay:ut(this,"function"==typeof t?function(n,i,a){n[r][e].delay=+t.call(n,n.__data__,i,a)}:(t=+t,function(n){n[r][e].delay=t}))},ws.duration=function(t){var e=this.id,r=this.namespace;return arguments.length<1?this.node()[r][e].duration:ut(this,"function"==typeof t?function(n,i,a){n[r][e].duration=Math.max(1,t.call(n,n.__data__,i,a))}:(t=Math.max(1,t),function(n){n[r][e].duration=t}))},ws.each=function(e,r){var n=this.id,i=this.namespace;if(arguments.length<2){var a=_s,o=bs;try{bs=n,ut(this,(function(t,r,a){_s=t[i][n],e.call(t,t.__data__,r,a)}))}finally{_s=a,bs=o}}else ut(this,(function(a){var o=a[i][n];(o.event||(o.event=t.dispatch("start","end","interrupt"))).on(e,r)}));return this},ws.transition=function(){for(var t,e,r,n=this.id,i=++Ts,a=this.namespace,o=[],s=0,l=this.length;s<l;s++){o.push(t=[]);for(var c,u=0,f=(c=this[s]).length;u<f;u++)(e=c[u])&&Ss(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 xs(o,a,i)},t.svg.axis=function(){var e,r=t.scale.linear(),i=Es,a=6,o=6,s=3,l=[10],c=null;function u(n){n.each((function(){var n,u=t.select(this),f=this.__chart__||r,h=this.__chart__=r.copy(),p=null==c?h.ticks?h.ticks.apply(h,l):h.domain():c,d=null==e?h.tickFormat?h.tickFormat.apply(h,l):L:e,g=u.selectAll(".tick").data(p,h),m=g.enter().insert("g",".domain").attr("class","tick").style("opacity",kt),v=t.transition(g.exit()).style("opacity",kt).remove(),y=t.transition(g.order()).style("opacity",1),x=Math.max(a,0)+s,b=mo(h),_=u.selectAll(".domain").data([0]),w=(_.enter().append("path").attr("class","domain"),t.transition(_));m.append("line"),m.append("text");var T,k,M,A,S=m.select("line"),E=y.select("line"),C=g.select("text").text(d),I=m.select("text"),P=y.select("text"),z="top"===i||"left"===i?-1:1;if("bottom"===i||"top"===i?(n=Ls,T="x",M="y",k="x2",A="y2",C.attr("dy",z<0?"0em":".71em").style("text-anchor","middle"),w.attr("d","M"+b[0]+","+z*o+"V0H"+b[1]+"V"+z*o)):(n=Is,T="y",M="x",k="y2",A="x2",C.attr("dy",".32em").style("text-anchor",z<0?"end":"start"),w.attr("d","M"+z*o+","+b[0]+"H0V"+b[1]+"H"+z*o)),S.attr(A,z*a),I.attr(M,z*x),E.attr(k,0).attr(A,z*a),P.attr(T,0).attr(M,z*x),h.rangeBand){var O=h,D=O.rangeBand()/2;f=h=function(t){return O(t)+D}}else f.rangeBand?f=h:v.call(n,h,f);m.call(n,f,h),y.call(n,h,h)}))}return u.scale=function(t){return arguments.length?(r=t,u):r},u.orient=function(t){return arguments.length?(i=t in Cs?t+"":Es,u):i},u.ticks=function(){return arguments.length?(l=n(arguments),u):l},u.tickValues=function(t){return arguments.length?(c=t,u):c},u.tickFormat=function(t){return arguments.length?(e=t,u):e},u.tickSize=function(t){var e=arguments.length;return e?(a=+t,o=+arguments[e-1],u):a},u.innerTickSize=function(t){return arguments.length?(a=+t,u):a},u.outerTickSize=function(t){return arguments.length?(o=+t,u):o},u.tickPadding=function(t){return arguments.length?(s=+t,u):s},u.tickSubdivide=function(){return arguments.length&&u},u};var Es="bottom",Cs={top:1,right:1,bottom:1,left:1};function Ls(t,e,r){t.attr("transform",(function(t){var n=e(t);return"translate("+(isFinite(n)?n:r(t))+",0)"}))}function Is(t,e,r){t.attr("transform",(function(t){var n=e(t);return"translate(0,"+(isFinite(n)?n:r(t))+")"}))}t.svg.brush=function(){var e,r,n=N(h,"brushstart","brush","brushend"),i=null,a=null,s=[0,0],l=[0,0],c=!0,u=!0,f=zs[0];function h(e){e.each((function(){var e=t.select(this).style("pointer-events","all").style("-webkit-tap-highlight-color","rgba(0,0,0,0)").on("mousedown.brush",m).on("touchstart.brush",m),r=e.selectAll(".background").data([0]);r.enter().append("rect").attr("class","background").style("visibility","hidden").style("cursor","crosshair"),e.selectAll(".extent").data([0]).enter().append("rect").attr("class","extent").style("cursor","move");var n=e.selectAll(".resize").data(f,L);n.exit().remove(),n.enter().append("g").attr("class",(function(t){return"resize "+t})).style("cursor",(function(t){return Ps[t]})).append("rect").attr("x",(function(t){return/[ew]$/.test(t)?-3:null})).attr("y",(function(t){return/^[ns]/.test(t)?-3:null})).attr("width",6).attr("height",6).style("visibility","hidden"),n.style("display",h.empty()?"none":null);var o,s=t.transition(e),l=t.transition(r);i&&(o=mo(i),l.attr("x",o[0]).attr("width",o[1]-o[0]),d(s)),a&&(o=mo(a),l.attr("y",o[0]).attr("height",o[1]-o[0]),g(s)),p(s)}))}function p(t){t.selectAll(".resize").attr("transform",(function(t){return"translate("+s[+/e$/.test(t)]+","+l[+/^s/.test(t)]+")"}))}function d(t){t.select(".extent").attr("x",s[0]),t.selectAll(".extent,.n>rect,.s>rect").attr("width",s[1]-s[0])}function g(t){t.select(".extent").attr("y",l[0]),t.selectAll(".extent,.e>rect,.w>rect").attr("height",l[1]-l[0])}function m(){var f,m,v=this,y=t.select(t.event.target),x=n.of(v,arguments),b=t.select(v),_=y.datum(),w=!/^(n|s)$/.test(_)&&i,T=!/^(e|w)$/.test(_)&&a,k=y.classed("extent"),M=bt(v),A=t.mouse(v),S=t.select(o(v)).on("keydown.brush",L).on("keyup.brush",I);if(t.event.changedTouches?S.on("touchmove.brush",P).on("touchend.brush",O):S.on("mousemove.brush",P).on("mouseup.brush",O),b.interrupt().selectAll("*").interrupt(),k)A[0]=s[0]-A[0],A[1]=l[0]-A[1];else if(_){var E=+/w$/.test(_),C=+/^n/.test(_);m=[s[1-E]-A[0],l[1-C]-A[1]],A[0]=s[E],A[1]=l[C]}else t.event.altKey&&(f=A.slice());function L(){32==t.event.keyCode&&(k||(f=null,A[0]-=s[1],A[1]-=l[1],k=2),F())}function I(){32==t.event.keyCode&&2==k&&(A[0]+=s[1],A[1]+=l[1],k=0,F())}function P(){var e=t.mouse(v),r=!1;m&&(e[0]+=m[0],e[1]+=m[1]),k||(t.event.altKey?(f||(f=[(s[0]+s[1])/2,(l[0]+l[1])/2]),A[0]=s[+(e[0]<f[0])],A[1]=l[+(e[1]<f[1])]):f=null),w&&z(e,i,0)&&(d(b),r=!0),T&&z(e,a,1)&&(g(b),r=!0),r&&(p(b),x({type:"brush",mode:k?"move":"resize"}))}function z(t,n,i){var a,o,h=mo(n),p=h[0],d=h[1],g=A[i],m=i?l:s,v=m[1]-m[0];if(k&&(p-=g,d-=v+g),a=(i?u:c)?Math.max(p,Math.min(d,t[i])):t[i],k?o=(a+=g)+v:(f&&(g=Math.max(p,Math.min(d,2*f[i]-a))),g<a?(o=a,a=g):o=g),m[0]!=a||m[1]!=o)return i?r=null:e=null,m[0]=a,m[1]=o,!0}function O(){P(),b.style("pointer-events","all").selectAll(".resize").style("display",h.empty()?"none":null),t.select("body").style("cursor",null),S.on("mousemove.brush",null).on("mouseup.brush",null).on("touchmove.brush",null).on("touchend.brush",null).on("keydown.brush",null).on("keyup.brush",null),M(),x({type:"brushend"})}b.style("pointer-events","none").selectAll(".resize").style("display",null),t.select("body").style("cursor",y.style("cursor")),x({type:"brushstart"}),P()}return h.event=function(i){i.each((function(){var i=n.of(this,arguments),a={x:s,y:l,i:e,j:r},o=this.__chart__||a;this.__chart__=a,bs?t.select(this).transition().each("start.brush",(function(){e=o.i,r=o.j,s=o.x,l=o.y,i({type:"brushstart"})})).tween("brush:brush",(function(){var t=ta(s,a.x),n=ta(l,a.y);return e=r=null,function(e){s=a.x=t(e),l=a.y=n(e),i({type:"brush",mode:"resize"})}})).each("end.brush",(function(){e=a.i,r=a.j,i({type:"brush",mode:"resize"}),i({type:"brushend"})})):(i({type:"brushstart"}),i({type:"brush",mode:"resize"}),i({type:"brushend"}))}))},h.x=function(t){return arguments.length?(f=zs[!(i=t)<<1|!a],h):i},h.y=function(t){return arguments.length?(f=zs[!i<<1|!(a=t)],h):a},h.clamp=function(t){return arguments.length?(i&&a?(c=!!t[0],u=!!t[1]):i?c=!!t:a&&(u=!!t),h):i&&a?[c,u]:i?c:a?u:null},h.extent=function(t){var n,o,c,u,f;return arguments.length?(i&&(n=t[0],o=t[1],a&&(n=n[0],o=o[0]),e=[n,o],i.invert&&(n=i(n),o=i(o)),o<n&&(f=n,n=o,o=f),n==s[0]&&o==s[1]||(s=[n,o])),a&&(c=t[0],u=t[1],i&&(c=c[1],u=u[1]),r=[c,u],a.invert&&(c=a(c),u=a(u)),u<c&&(f=c,c=u,u=f),c==l[0]&&u==l[1]||(l=[c,u])),h):(i&&(e?(n=e[0],o=e[1]):(n=s[0],o=s[1],i.invert&&(n=i.invert(n),o=i.invert(o)),o<n&&(f=n,n=o,o=f))),a&&(r?(c=r[0],u=r[1]):(c=l[0],u=l[1],a.invert&&(c=a.invert(c),u=a.invert(u)),u<c&&(f=c,c=u,u=f))),i&&a?[[n,c],[o,u]]:i?[n,o]:a&&[c,u])},h.clear=function(){return h.empty()||(s=[0,0],l=[0,0],e=r=null),h},h.empty=function(){return!!i&&s[0]==s[1]||!!a&&l[0]==l[1]},t.rebind(h,n,"on")};var Ps={n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},zs=[["n","e","s","w","nw","ne","se","sw"],["e","w"],["n","s"],[]],Os=Pe.format=sr.timeFormat,Ds=Os.utc,Rs=Ds("%Y-%m-%dT%H:%M:%S.%LZ");function Fs(t){return t.toISOString()}function Bs(e,r,n){function i(t){return e(t)}function a(e,n){var i=(e[1]-e[0])/n,a=t.bisect(js,i);return a==js.length?[r.year,ko(e.map((function(t){return t/31536e6})),n)[2]]:a?r[i/js[a-1]<js[a]/i?a-1:a]:[qs,ko(e,n)[2]]}return i.invert=function(t){return Ns(e.invert(t))},i.domain=function(t){return arguments.length?(e.domain(t),i):e.domain().map(Ns)},i.nice=function(t,e){var r=i.domain(),n=go(r),o=null==t?a(n,10):"number"==typeof t&&a(n,t);function s(r){return!isNaN(r)&&!t.range(r,Ns(+r+1),e).length}return o&&(t=o[0],e=o[1]),i.domain(yo(r,e>1?{floor:function(e){for(;s(e=t.floor(e));)e=Ns(e-1);return e},ceil:function(e){for(;s(e=t.ceil(e));)e=Ns(+e+1);return e}}:t))},i.ticks=function(t,e){var r=go(i.domain()),n=null==t?a(r,10):"number"==typeof t?a(r,t):!t.range&&[{range:t},e];return n&&(t=n[0],e=n[1]),t.range(r[0],Ns(+r[1]+1),e<1?1:e)},i.tickFormat=function(){return n},i.copy=function(){return Bs(e.copy(),r,n)},wo(i,e)}function Ns(t){return new Date(t)}Os.iso=Date.prototype.toISOString&&+new Date("2000-01-01T00:00:00.000Z")?Fs:Rs,Fs.parse=function(t){var e=new Date(t);return isNaN(e)?null:e},Fs.toString=Rs.toString,Pe.second=Re((function(t){return new ze(1e3*Math.floor(t/1e3))}),(function(t,e){t.setTime(t.getTime()+1e3*Math.floor(e))}),(function(t){return t.getSeconds()})),Pe.seconds=Pe.second.range,Pe.seconds.utc=Pe.second.utc.range,Pe.minute=Re((function(t){return new ze(6e4*Math.floor(t/6e4))}),(function(t,e){t.setTime(t.getTime()+6e4*Math.floor(e))}),(function(t){return t.getMinutes()})),Pe.minutes=Pe.minute.range,Pe.minutes.utc=Pe.minute.utc.range,Pe.hour=Re((function(t){var e=t.getTimezoneOffset()/60;return new ze(36e5*(Math.floor(t/36e5-e)+e))}),(function(t,e){t.setTime(t.getTime()+36e5*Math.floor(e))}),(function(t){return t.getHours()})),Pe.hours=Pe.hour.range,Pe.hours.utc=Pe.hour.utc.range,Pe.month=Re((function(t){return(t=Pe.day(t)).setDate(1),t}),(function(t,e){t.setMonth(t.getMonth()+e)}),(function(t){return t.getMonth()})),Pe.months=Pe.month.range,Pe.months.utc=Pe.month.utc.range;var js=[1e3,5e3,15e3,3e4,6e4,3e5,9e5,18e5,36e5,108e5,216e5,432e5,864e5,1728e5,6048e5,2592e6,7776e6,31536e6],Us=[[Pe.second,1],[Pe.second,5],[Pe.second,15],[Pe.second,30],[Pe.minute,1],[Pe.minute,5],[Pe.minute,15],[Pe.minute,30],[Pe.hour,1],[Pe.hour,3],[Pe.hour,6],[Pe.hour,12],[Pe.day,1],[Pe.day,2],[Pe.week,1],[Pe.month,1],[Pe.month,3],[Pe.year,1]],Vs=Os.multi([[".%L",function(t){return t.getMilliseconds()}],[":%S",function(t){return t.getSeconds()}],["%I:%M",function(t){return t.getMinutes()}],["%I %p",function(t){return t.getHours()}],["%a %d",function(t){return t.getDay()&&1!=t.getDate()}],["%b %d",function(t){return 1!=t.getDate()}],["%B",function(t){return t.getMonth()}],["%Y",Yr]]),qs={range:function(e,r,n){return t.range(Math.ceil(e/n)*n,+r,n).map(Ns)},floor:L,ceil:L};Us.year=Pe.year,Pe.scale=function(){return Bs(t.scale.linear(),Us,Vs)};var Hs=Us.map((function(t){return[t[0].utc,t[1]]})),Gs=Ds.multi([[".%L",function(t){return t.getUTCMilliseconds()}],[":%S",function(t){return t.getUTCSeconds()}],["%I:%M",function(t){return t.getUTCMinutes()}],["%I %p",function(t){return t.getUTCHours()}],["%a %d",function(t){return t.getUTCDay()&&1!=t.getUTCDate()}],["%b %d",function(t){return 1!=t.getUTCDate()}],["%B",function(t){return t.getUTCMonth()}],["%Y",Yr]]);function Ys(t){return JSON.parse(t.responseText)}function Ws(t){var e=i.createRange();return e.selectNode(i.body),e.createContextualFragment(t.responseText)}Hs.year=Pe.year.utc,Pe.scale.utc=function(){return Bs(t.scale.linear(),Hs,Gs)},t.text=ge((function(t){return t.responseText})),t.json=function(t,e){return me(t,"application/json",Ys,e)},t.html=function(t,e){return me(t,"text/html",Ws,e)},t.xml=ge((function(t){return t.responseXML})),"object"==typeof e&&e.exports?e.exports=t:this.d3=t}()},{}],170:[function(t,e,r){e.exports=function(){for(var t=0;t<arguments.length;t++)if(void 0!==arguments[t])return arguments[t]}},{}],171:[function(t,e,r){"use strict";var n=t("incremental-convex-hull"),i=t("uniq");function a(t,e){this.point=t,this.index=e}function o(t,e){for(var r=t.point,n=e.point,i=r.length,a=0;a<i;++a){var o=n[a]-r[a];if(o)return o}return 0}e.exports=function(t,e){var r=t.length;if(0===r)return[];var s=t[0].length;if(s<1)return[];if(1===s)return function(t,e,r){if(1===t)return r?[[-1,0]]:[];var n=e.map((function(t,e){return[t[0],e]}));n.sort((function(t,e){return t[0]-e[0]}));for(var i=new Array(t-1),a=1;a<t;++a){var o=n[a-1],s=n[a];i[a-1]=[o[1],s[1]]}r&&i.push([-1,i[0][1]],[i[t-1][1],-1]);return i}(r,t,e);for(var l=new Array(r),c=1,u=0;u<r;++u){for(var f=t[u],h=new Array(s+1),p=0,d=0;d<s;++d){var g=f[d];h[d]=g,p+=g*g}h[s]=p,l[u]=new a(h,u),c=Math.max(p,c)}i(l,o),r=l.length;var m=new Array(r+s+1),v=new Array(r+s+1),y=(s+1)*(s+1)*c,x=new Array(s+1);for(u=0;u<=s;++u)x[u]=0;x[s]=y,m[0]=x.slice(),v[0]=-1;for(u=0;u<=s;++u){(h=x.slice())[u]=1,m[u+1]=h,v[u+1]=-1}for(u=0;u<r;++u){var b=l[u];m[u+s+1]=b.point,v[u+s+1]=b.index}var _=n(m,!1);_=e?_.filter((function(t){for(var e=0,r=0;r<=s;++r){var n=v[t[r]];if(n<0&&++e>=2)return!1;t[r]=n}return!0})):_.filter((function(t){for(var e=0;e<=s;++e){var r=v[t[e]];if(r<0)return!1;t[e]=r}return!0}));if(1&s)for(u=0;u<_.length;++u){h=(b=_[u])[0];b[0]=b[1],b[1]=h}return _}},{"incremental-convex-hull":459,uniq:597}],172:[function(t,e,r){"use strict";e.exports=a;var n=(a.canvas=document.createElement("canvas")).getContext("2d"),i=o([32,126]);function a(t,e){Array.isArray(t)&&(t=t.join(", "));var r,a={},s=16,l=.05;e&&(2===e.length&&"number"==typeof e[0]?r=o(e):Array.isArray(e)?r=e:(e.o?r=o(e.o):e.pairs&&(r=e.pairs),e.fontSize&&(s=e.fontSize),null!=e.threshold&&(l=e.threshold))),r||(r=i),n.font=s+"px "+t;for(var c=0;c<r.length;c++){var u=r[c],f=n.measureText(u[0]).width+n.measureText(u[1]).width,h=n.measureText(u).width;if(Math.abs(f-h)>s*l){var p=(h-f)/s;a[u]=1e3*p}}return a}function o(t){for(var e=[],r=t[0];r<=t[1];r++)for(var n=String.fromCharCode(r),i=t[0];i<t[1];i++){var a=n+String.fromCharCode(i);e.push(a)}return e}a.createPairs=o,a.ascii=i},{}],173:[function(t,e,r){(function(t){(function(){var r=!1;if("undefined"!=typeof Float64Array){var n=new Float64Array(1),i=new Uint32Array(n.buffer);if(n[0]=1,r=!0,1072693248===i[1]){e.exports=function(t){return n[0]=t,[i[0],i[1]]},e.exports.pack=function(t,e){return i[0]=t,i[1]=e,n[0]},e.exports.lo=function(t){return n[0]=t,i[0]},e.exports.hi=function(t){return n[0]=t,i[1]}}else if(1072693248===i[0]){e.exports=function(t){return n[0]=t,[i[1],i[0]]},e.exports.pack=function(t,e){return i[1]=t,i[0]=e,n[0]},e.exports.lo=function(t){return n[0]=t,i[1]},e.exports.hi=function(t){return n[0]=t,i[0]}}else r=!1}if(!r){var a=new t(8);e.exports=function(t){return a.writeDoubleLE(t,0,!0),[a.readUInt32LE(0,!0),a.readUInt32LE(4,!0)]},e.exports.pack=function(t,e){return a.writeUInt32LE(t,0,!0),a.writeUInt32LE(e,4,!0),a.readDoubleLE(0,!0)},e.exports.lo=function(t){return a.writeDoubleLE(t,0,!0),a.readUInt32LE(0,!0)},e.exports.hi=function(t){return a.writeDoubleLE(t,0,!0),a.readUInt32LE(4,!0)}}e.exports.sign=function(t){return e.exports.hi(t)>>>31},e.exports.exponent=function(t){return(e.exports.hi(t)<<1>>>21)-1023},e.exports.fraction=function(t){var r=e.exports.lo(t),n=e.exports.hi(t),i=1048575&n;return 2146435072&n&&(i+=1<<20),[r,i]},e.exports.denormalized=function(t){return!(2146435072&e.exports.hi(t))}}).call(this)}).call(this,t("buffer").Buffer)},{buffer:111}],174:[function(t,e,r){var n=t("abs-svg-path"),i=t("normalize-svg-path"),a={M:"moveTo",C:"bezierCurveTo"};e.exports=function(t,e){t.beginPath(),i(n(e)).forEach((function(e){var r=e[0],n=e.slice(1);t[a[r]].apply(t,n)})),t.closePath()}},{"abs-svg-path":65,"normalize-svg-path":497}],175:[function(t,e,r){e.exports=function(t){switch(t){case"int8":return Int8Array;case"int16":return Int16Array;case"int32":return Int32Array;case"uint8":return Uint8Array;case"uint16":return Uint16Array;case"uint32":return Uint32Array;case"float32":return Float32Array;case"float64":return Float64Array;case"array":return Array;case"uint8_clamped":return Uint8ClampedArray}}},{}],176:[function(t,e,r){"use strict";e.exports=function(t,e){switch("undefined"==typeof e&&(e=0),typeof t){case"number":if(t>0)return function(t,e){var r,n;for(r=new Array(t),n=0;n<t;++n)r[n]=e;return r}(0|t,e);break;case"object":if("number"==typeof t.length)return function t(e,r,n){var i=0|e[n];if(i<=0)return[];var a,o=new Array(i);if(n===e.length-1)for(a=0;a<i;++a)o[a]=r;else for(a=0;a<i;++a)o[a]=t(e,r,n+1);return o}(t,e,0)}return[]}},{}],177:[function(t,e,r){"use strict";function n(t,e,r){r=r||2;var n,s,l,c,u,p,d,m=e&&e.length,v=m?e[0]*r:t.length,y=i(t,0,v,r,!0),x=[];if(!y||y.next===y.prev)return x;if(m&&(y=function(t,e,r,n){var o,s,l,c,u,p=[];for(o=0,s=e.length;o<s;o++)l=e[o]*n,c=o<s-1?e[o+1]*n:t.length,(u=i(t,l,c,n,!1))===u.next&&(u.steiner=!0),p.push(g(u));for(p.sort(f),o=0;o<p.length;o++)h(p[o],r),r=a(r,r.next);return r}(t,e,y,r)),t.length>80*r){n=l=t[0],s=c=t[1];for(var b=r;b<v;b+=r)(u=t[b])<n&&(n=u),(p=t[b+1])<s&&(s=p),u>l&&(l=u),p>c&&(c=p);d=0!==(d=Math.max(l-n,c-s))?1/d:0}return o(y,x,r,n,s,d),x}function i(t,e,r,n,i){var a,o;if(i===E(t,e,r,n)>0)for(a=e;a<r;a+=n)o=M(a,t[a],t[a+1],o);else for(a=r-n;a>=e;a-=n)o=M(a,t[a],t[a+1],o);return o&&x(o,o.next)&&(A(o),o=o.next),o}function a(t,e){if(!t)return t;e||(e=t);var r,n=t;do{if(r=!1,n.steiner||!x(n,n.next)&&0!==y(n.prev,n,n.next))n=n.next;else{if(A(n),(n=e=n.prev)===n.next)break;r=!0}}while(r||n!==e);return e}function o(t,e,r,n,i,f,h){if(t){!h&&f&&function(t,e,r,n){var i=t;do{null===i.z&&(i.z=d(i.x,i.y,e,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next}while(i!==t);i.prevZ.nextZ=null,i.prevZ=null,function(t){var e,r,n,i,a,o,s,l,c=1;do{for(r=t,t=null,a=null,o=0;r;){for(o++,n=r,s=0,e=0;e<c&&(s++,n=n.nextZ);e++);for(l=c;s>0||l>0&&n;)0!==s&&(0===l||!n||r.z<=n.z)?(i=r,r=r.nextZ,s--):(i=n,n=n.nextZ,l--),a?a.nextZ=i:t=i,i.prevZ=a,a=i;r=n}a.nextZ=null,c*=2}while(o>1)}(i)}(t,n,i,f);for(var p,g,m=t;t.prev!==t.next;)if(p=t.prev,g=t.next,f?l(t,n,i,f):s(t))e.push(p.i/r),e.push(t.i/r),e.push(g.i/r),A(t),t=g.next,m=g.next;else if((t=g)===m){h?1===h?o(t=c(a(t),e,r),e,r,n,i,f,2):2===h&&u(t,e,r,n,i,f):o(a(t),e,r,n,i,f,1);break}}}function s(t){var e=t.prev,r=t,n=t.next;if(y(e,r,n)>=0)return!1;for(var i=t.next.next;i!==t.prev;){if(m(e.x,e.y,r.x,r.y,n.x,n.y,i.x,i.y)&&y(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function l(t,e,r,n){var i=t.prev,a=t,o=t.next;if(y(i,a,o)>=0)return!1;for(var s=i.x<a.x?i.x<o.x?i.x:o.x:a.x<o.x?a.x:o.x,l=i.y<a.y?i.y<o.y?i.y:o.y:a.y<o.y?a.y:o.y,c=i.x>a.x?i.x>o.x?i.x:o.x:a.x>o.x?a.x:o.x,u=i.y>a.y?i.y>o.y?i.y:o.y:a.y>o.y?a.y:o.y,f=d(s,l,e,r,n),h=d(c,u,e,r,n),p=t.prevZ,g=t.nextZ;p&&p.z>=f&&g&&g.z<=h;){if(p!==t.prev&&p!==t.next&&m(i.x,i.y,a.x,a.y,o.x,o.y,p.x,p.y)&&y(p.prev,p,p.next)>=0)return!1;if(p=p.prevZ,g!==t.prev&&g!==t.next&&m(i.x,i.y,a.x,a.y,o.x,o.y,g.x,g.y)&&y(g.prev,g,g.next)>=0)return!1;g=g.nextZ}for(;p&&p.z>=f;){if(p!==t.prev&&p!==t.next&&m(i.x,i.y,a.x,a.y,o.x,o.y,p.x,p.y)&&y(p.prev,p,p.next)>=0)return!1;p=p.prevZ}for(;g&&g.z<=h;){if(g!==t.prev&&g!==t.next&&m(i.x,i.y,a.x,a.y,o.x,o.y,g.x,g.y)&&y(g.prev,g,g.next)>=0)return!1;g=g.nextZ}return!0}function c(t,e,r){var n=t;do{var i=n.prev,o=n.next.next;!x(i,o)&&b(i,n,n.next,o)&&T(i,o)&&T(o,i)&&(e.push(i.i/r),e.push(n.i/r),e.push(o.i/r),A(n),A(n.next),n=t=o),n=n.next}while(n!==t);return a(n)}function u(t,e,r,n,i,s){var l=t;do{for(var c=l.next.next;c!==l.prev;){if(l.i!==c.i&&v(l,c)){var u=k(l,c);return l=a(l,l.next),u=a(u,u.next),o(l,e,r,n,i,s),void o(u,e,r,n,i,s)}c=c.next}l=l.next}while(l!==t)}function f(t,e){return t.x-e.x}function h(t,e){if(e=function(t,e){var r,n=e,i=t.x,a=t.y,o=-1/0;do{if(a<=n.y&&a>=n.next.y&&n.next.y!==n.y){var s=n.x+(a-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(s<=i&&s>o){if(o=s,s===i){if(a===n.y)return n;if(a===n.next.y)return n.next}r=n.x<n.next.x?n:n.next}}n=n.next}while(n!==e);if(!r)return null;if(i===o)return r;var l,c=r,u=r.x,f=r.y,h=1/0;n=r;do{i>=n.x&&n.x>=u&&i!==n.x&&m(a<f?i:o,a,u,f,a<f?o:i,a,n.x,n.y)&&(l=Math.abs(a-n.y)/(i-n.x),T(n,t)&&(l<h||l===h&&(n.x>r.x||n.x===r.x&&p(r,n)))&&(r=n,h=l)),n=n.next}while(n!==c);return r}(t,e)){var r=k(e,t);a(e,e.next),a(r,r.next)}}function p(t,e){return y(t.prev,t,e.prev)<0&&y(e.next,t,t.next)<0}function d(t,e,r,n,i){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-r)*i)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)*i)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function g(t){var e=t,r=t;do{(e.x<r.x||e.x===r.x&&e.y<r.y)&&(r=e),e=e.next}while(e!==t);return r}function m(t,e,r,n,i,a,o,s){return(i-o)*(e-s)-(t-o)*(a-s)>=0&&(t-o)*(n-s)-(r-o)*(e-s)>=0&&(r-o)*(a-s)-(i-o)*(n-s)>=0}function v(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){var r=t;do{if(r.i!==t.i&&r.next.i!==t.i&&r.i!==e.i&&r.next.i!==e.i&&b(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}(t,e)&&(T(t,e)&&T(e,t)&&function(t,e){var r=t,n=!1,i=(t.x+e.x)/2,a=(t.y+e.y)/2;do{r.y>a!=r.next.y>a&&r.next.y!==r.y&&i<(r.next.x-r.x)*(a-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next}while(r!==t);return n}(t,e)&&(y(t.prev,t,e.prev)||y(t,e.prev,e))||x(t,e)&&y(t.prev,t,t.next)>0&&y(e.prev,e,e.next)>0)}function y(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function x(t,e){return t.x===e.x&&t.y===e.y}function b(t,e,r,n){var i=w(y(t,e,r)),a=w(y(t,e,n)),o=w(y(r,n,t)),s=w(y(r,n,e));return i!==a&&o!==s||(!(0!==i||!_(t,r,e))||(!(0!==a||!_(t,n,e))||(!(0!==o||!_(r,t,n))||!(0!==s||!_(r,e,n)))))}function _(t,e,r){return e.x<=Math.max(t.x,r.x)&&e.x>=Math.min(t.x,r.x)&&e.y<=Math.max(t.y,r.y)&&e.y>=Math.min(t.y,r.y)}function w(t){return t>0?1:t<0?-1:0}function T(t,e){return y(t.prev,t,t.next)<0?y(t,e,t.next)>=0&&y(t,t.prev,e)>=0:y(t,e,t.prev)<0||y(t,t.next,e)<0}function k(t,e){var r=new S(t.i,t.x,t.y),n=new S(e.i,e.x,e.y),i=t.next,a=e.prev;return t.next=e,e.prev=t,r.next=i,i.prev=r,n.next=r,r.prev=n,a.next=n,n.prev=a,n}function M(t,e,r,n){var i=new S(t,e,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function A(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function S(t,e,r){this.i=t,this.x=e,this.y=r,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function E(t,e,r,n){for(var i=0,a=e,o=r-n;a<r;a+=n)i+=(t[o]-t[a])*(t[a+1]+t[o+1]),o=a;return i}e.exports=n,e.exports.default=n,n.deviation=function(t,e,r,n){var i=e&&e.length,a=i?e[0]*r:t.length,o=Math.abs(E(t,0,a,r));if(i)for(var s=0,l=e.length;s<l;s++){var c=e[s]*r,u=s<l-1?e[s+1]*r:t.length;o-=Math.abs(E(t,c,u,r))}var f=0;for(s=0;s<n.length;s+=3){var h=n[s]*r,p=n[s+1]*r,d=n[s+2]*r;f+=Math.abs((t[h]-t[d])*(t[p+1]-t[h+1])-(t[h]-t[p])*(t[d+1]-t[h+1]))}return 0===o&&0===f?0:Math.abs((f-o)/o)},n.flatten=function(t){for(var e=t[0][0].length,r={vertices:[],holes:[],dimensions:e},n=0,i=0;i<t.length;i++){for(var a=0;a<t[i].length;a++)for(var o=0;o<e;o++)r.vertices.push(t[i][a][o]);i>0&&(n+=t[i-1].length,r.holes.push(n))}return r}},{}],178:[function(t,e,r){"use strict";e.exports=function(t,e){var r=t.length;if("number"!=typeof e){e=0;for(var i=0;i<r;++i){var a=t[i];e=Math.max(e,a[0],a[1])}e=1+(0|e)}e|=0;var o=new Array(e);for(i=0;i<e;++i)o[i]=[];for(i=0;i<r;++i){a=t[i];o[a[0]].push(a[1]),o[a[1]].push(a[0])}for(var s=0;s<e;++s)n(o[s],(function(t,e){return t-e}));return o};var n=t("uniq")},{uniq:597}],179:[function(t,e,r){var n=t("strongly-connected-components");e.exports=function(t,e){var r,i=[],a=[],o=[],s={},l=[];function c(t){var e,n,i=!1;for(a.push(t),o[t]=!0,e=0;e<l[t].length;e++)(n=l[t][e])===r?(u(r,a),i=!0):o[n]||(i=c(n));if(i)!function t(e){o[e]=!1,s.hasOwnProperty(e)&&Object.keys(s[e]).forEach((function(r){delete s[e][r],o[r]&&t(r)}))}(t);else for(e=0;e<l[t].length;e++){n=l[t][e];var f=s[n];f||(f={},s[n]=f),f[n]=!0}return a.pop(),i}function u(t,r){var n=[].concat(r).concat(t);e?e(c):i.push(n)}function f(e){!function(e){for(var r=0;r<t.length;r++)r<e&&(t[r]=[]),t[r]=t[r].filter((function(t){return t>=e}))}(e);for(var r,i=n(t).components.filter((function(t){return t.length>1})),a=1/0,o=0;o<i.length;o++)for(var s=0;s<i[o].length;s++)i[o][s]<a&&(a=i[o][s],r=o);var l=i[r];return!!l&&{leastVertex:a,adjList:t.map((function(t,e){return-1===l.indexOf(e)?[]:t.filter((function(t){return-1!==l.indexOf(t)}))}))}}r=0;for(var h=t.length;r<h;){var p=f(r);if(r=p.leastVertex,l=p.adjList){for(var d=0;d<l.length;d++)for(var g=0;g<l[d].length;g++){var m=l[d][g];o[+m]=!1,s[m]={}}c(r),r+=1}else r=h}return e?void 0:i}},{"strongly-connected-components":569}],180:[function(t,e,r){"use strict";var n=t("../../object/valid-value");e.exports=function(){return n(this).length=0,this}},{"../../object/valid-value":211}],181:[function(t,e,r){"use strict";e.exports=t("./is-implemented")()?Array.from:t("./shim")},{"./is-implemented":182,"./shim":183}],182:[function(t,e,r){"use strict";e.exports=function(){var t,e,r=Array.from;return"function"==typeof r&&(e=r(t=["raz","dwa"]),Boolean(e&&e!==t&&"dwa"===e[1]))}},{}],183:[function(t,e,r){"use strict";var n=t("es6-symbol").iterator,i=t("../../function/is-arguments"),a=t("../../function/is-function"),o=t("../../number/to-pos-integer"),s=t("../../object/valid-callable"),l=t("../../object/valid-value"),c=t("../../object/is-value"),u=t("../../string/is-string"),f=Array.isArray,h=Function.prototype.call,p={configurable:!0,enumerable:!0,writable:!0,value:null},d=Object.defineProperty;e.exports=function(t){var e,r,g,m,v,y,x,b,_,w,T=arguments[1],k=arguments[2];if(t=Object(l(t)),c(T)&&s(T),this&&this!==Array&&a(this))e=this;else{if(!T){if(i(t))return 1!==(v=t.length)?Array.apply(null,t):((m=new Array(1))[0]=t[0],m);if(f(t)){for(m=new Array(v=t.length),r=0;r<v;++r)m[r]=t[r];return m}}m=[]}if(!f(t))if(void 0!==(_=t[n])){for(x=s(_).call(t),e&&(m=new e),b=x.next(),r=0;!b.done;)w=T?h.call(T,k,b.value,r):b.value,e?(p.value=w,d(m,r,p)):m[r]=w,b=x.next(),++r;v=r}else if(u(t)){for(v=t.length,e&&(m=new e),r=0,g=0;r<v;++r)w=t[r],r+1<v&&(y=w.charCodeAt(0))>=55296&&y<=56319&&(w+=t[++r]),w=T?h.call(T,k,w,g):w,e?(p.value=w,d(m,g,p)):m[g]=w,++g;v=g}if(void 0===v)for(v=o(t.length),e&&(m=new e(v)),r=0;r<v;++r)w=T?h.call(T,k,t[r],r):t[r],e?(p.value=w,d(m,r,p)):m[r]=w;return e&&(p.value=null,m.length=v),m}},{"../../function/is-arguments":184,"../../function/is-function":185,"../../number/to-pos-integer":191,"../../object/is-value":200,"../../object/valid-callable":209,"../../object/valid-value":211,"../../string/is-string":215,"es6-symbol":225}],184:[function(t,e,r){"use strict";var n=Object.prototype.toString,i=n.call(function(){return arguments}());e.exports=function(t){return n.call(t)===i}},{}],185:[function(t,e,r){"use strict";var n=Object.prototype.toString,i=RegExp.prototype.test.bind(/^[object [A-Za-z0-9]*Function]$/);e.exports=function(t){return"function"==typeof t&&i(n.call(t))}},{}],186:[function(t,e,r){"use strict";e.exports=function(){}},{}],187:[function(t,e,r){"use strict";e.exports=t("./is-implemented")()?Math.sign:t("./shim")},{"./is-implemented":188,"./shim":189}],188:[function(t,e,r){"use strict";e.exports=function(){var t=Math.sign;return"function"==typeof t&&(1===t(10)&&-1===t(-20))}},{}],189:[function(t,e,r){"use strict";e.exports=function(t){return t=Number(t),isNaN(t)||0===t?t:t>0?1:-1}},{}],190:[function(t,e,r){"use strict";var n=t("../math/sign"),i=Math.abs,a=Math.floor;e.exports=function(t){return isNaN(t)?0:0!==(t=Number(t))&&isFinite(t)?n(t)*a(i(t)):t}},{"../math/sign":187}],191:[function(t,e,r){"use strict";var n=t("./to-integer"),i=Math.max;e.exports=function(t){return i(0,n(t))}},{"./to-integer":190}],192:[function(t,e,r){"use strict";var n=t("./valid-callable"),i=t("./valid-value"),a=Function.prototype.bind,o=Function.prototype.call,s=Object.keys,l=Object.prototype.propertyIsEnumerable;e.exports=function(t,e){return function(r,c){var u,f=arguments[2],h=arguments[3];return r=Object(i(r)),n(c),u=s(r),h&&u.sort("function"==typeof h?a.call(h,r):void 0),"function"!=typeof t&&(t=u[t]),o.call(t,u,(function(t,n){return l.call(r,t)?o.call(c,f,r[t],t,r,n):e}))}}},{"./valid-callable":209,"./valid-value":211}],193:[function(t,e,r){"use strict";e.exports=t("./is-implemented")()?Object.assign:t("./shim")},{"./is-implemented":194,"./shim":195}],194:[function(t,e,r){"use strict";e.exports=function(){var t,e=Object.assign;return"function"==typeof e&&(e(t={foo:"raz"},{bar:"dwa"},{trzy:"trzy"}),t.foo+t.bar+t.trzy==="razdwatrzy")}},{}],195:[function(t,e,r){"use strict";var n=t("../keys"),i=t("../valid-value"),a=Math.max;e.exports=function(t,e){var r,o,s,l=a(arguments.length,2);for(t=Object(i(t)),s=function(n){try{t[n]=e[n]}catch(t){r||(r=t)}},o=1;o<l;++o)n(e=arguments[o]).forEach(s);if(void 0!==r)throw r;return t}},{"../keys":201,"../valid-value":211}],196:[function(t,e,r){"use strict";var n=t("../array/from"),i=t("./assign"),a=t("./valid-value");e.exports=function(t){var e=Object(a(t)),r=arguments[1],o=Object(arguments[2]);if(e!==t&&!r)return e;var s={};return r?n(r,(function(e){(o.ensure||e in t)&&(s[e]=t[e])})):i(s,t),s}},{"../array/from":181,"./assign":193,"./valid-value":211}],197:[function(t,e,r){"use strict";var n,i,a,o,s=Object.create;t("./set-prototype-of/is-implemented")()||(n=t("./set-prototype-of/shim")),e.exports=n?1!==n.level?s:(i={},a={},o={configurable:!1,enumerable:!1,writable:!0,value:void 0},Object.getOwnPropertyNames(Object.prototype).forEach((function(t){a[t]="__proto__"!==t?o:{configurable:!0,enumerable:!1,writable:!0,value:void 0}})),Object.defineProperties(i,a),Object.defineProperty(n,"nullPolyfill",{configurable:!1,enumerable:!1,writable:!1,value:i}),function(t,e){return s(null===t?i:t,e)}):s},{"./set-prototype-of/is-implemented":207,"./set-prototype-of/shim":208}],198:[function(t,e,r){"use strict";e.exports=t("./_iterate")("forEach")},{"./_iterate":192}],199:[function(t,e,r){"use strict";var n=t("./is-value"),i={function:!0,object:!0};e.exports=function(t){return n(t)&&i[typeof t]||!1}},{"./is-value":200}],200:[function(t,e,r){"use strict";var n=t("../function/noop")();e.exports=function(t){return t!==n&&null!==t}},{"../function/noop":186}],201:[function(t,e,r){"use strict";e.exports=t("./is-implemented")()?Object.keys:t("./shim")},{"./is-implemented":202,"./shim":203}],202:[function(t,e,r){"use strict";e.exports=function(){try{return Object.keys("primitive"),!0}catch(t){return!1}}},{}],203:[function(t,e,r){"use strict";var n=t("../is-value"),i=Object.keys;e.exports=function(t){return i(n(t)?Object(t):t)}},{"../is-value":200}],204:[function(t,e,r){"use strict";var n=t("./valid-callable"),i=t("./for-each"),a=Function.prototype.call;e.exports=function(t,e){var r={},o=arguments[2];return n(e),i(t,(function(t,n,i,s){r[n]=a.call(e,o,t,n,i,s)})),r}},{"./for-each":198,"./valid-callable":209}],205:[function(t,e,r){"use strict";var n=t("./is-value"),i=Array.prototype.forEach,a=Object.create,o=function(t,e){var r;for(r in t)e[r]=t[r]};e.exports=function(t){var e=a(null);return i.call(arguments,(function(t){n(t)&&o(Object(t),e)})),e}},{"./is-value":200}],206:[function(t,e,r){"use strict";e.exports=t("./is-implemented")()?Object.setPrototypeOf:t("./shim")},{"./is-implemented":207,"./shim":208}],207:[function(t,e,r){"use strict";var n=Object.create,i=Object.getPrototypeOf,a={};e.exports=function(){var t=Object.setPrototypeOf,e=arguments[0]||n;return"function"==typeof t&&i(t(e(null),a))===a}},{}],208:[function(t,e,r){"use strict";var n,i=t("../is-object"),a=t("../valid-value"),o=Object.prototype.isPrototypeOf,s=Object.defineProperty,l={configurable:!0,enumerable:!1,writable:!0,value:void 0};n=function(t,e){if(a(t),null===e||i(e))return t;throw new TypeError("Prototype must be null or an object")},e.exports=function(t){var e,r;return t?(2===t.level?t.set?(r=t.set,e=function(t,e){return r.call(n(t,e),e),t}):e=function(t,e){return n(t,e).__proto__=e,t}:e=function t(e,r){var i;return n(e,r),(i=o.call(t.nullPolyfill,e))&&delete t.nullPolyfill.__proto__,null===r&&(r=t.nullPolyfill),e.__proto__=r,i&&s(t.nullPolyfill,"__proto__",l),e},Object.defineProperty(e,"level",{configurable:!1,enumerable:!1,writable:!1,value:t.level})):null}(function(){var t,e=Object.create(null),r={},n=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__");if(n){try{(t=n.set).call(e,r)}catch(t){}if(Object.getPrototypeOf(e)===r)return{set:t,level:2}}return e.__proto__=r,Object.getPrototypeOf(e)===r?{level:2}:((e={}).__proto__=r,Object.getPrototypeOf(e)===r&&{level:1})}()),t("../create")},{"../create":197,"../is-object":199,"../valid-value":211}],209:[function(t,e,r){"use strict";e.exports=function(t){if("function"!=typeof t)throw new TypeError(t+" is not a function");return t}},{}],210:[function(t,e,r){"use strict";var n=t("./is-object");e.exports=function(t){if(!n(t))throw new TypeError(t+" is not an Object");return t}},{"./is-object":199}],211:[function(t,e,r){"use strict";var n=t("./is-value");e.exports=function(t){if(!n(t))throw new TypeError("Cannot use null or undefined");return t}},{"./is-value":200}],212:[function(t,e,r){"use strict";e.exports=t("./is-implemented")()?String.prototype.contains:t("./shim")},{"./is-implemented":213,"./shim":214}],213:[function(t,e,r){"use strict";var n="razdwatrzy";e.exports=function(){return"function"==typeof n.contains&&(!0===n.contains("dwa")&&!1===n.contains("foo"))}},{}],214:[function(t,e,r){"use strict";var n=String.prototype.indexOf;e.exports=function(t){return n.call(this,t,arguments[1])>-1}},{}],215:[function(t,e,r){"use strict";var n=Object.prototype.toString,i=n.call("");e.exports=function(t){return"string"==typeof t||t&&"object"==typeof t&&(t instanceof String||n.call(t)===i)||!1}},{}],216:[function(t,e,r){"use strict";var n=Object.create(null),i=Math.random;e.exports=function(){var t;do{t=i().toString(36).slice(2)}while(n[t]);return t}},{}],217:[function(t,e,r){"use strict";var n,i=t("es5-ext/object/set-prototype-of"),a=t("es5-ext/string/#/contains"),o=t("d"),s=t("es6-symbol"),l=t("./"),c=Object.defineProperty;n=e.exports=function(t,e){if(!(this instanceof n))throw new TypeError("Constructor requires 'new'");l.call(this,t),e=e?a.call(e,"key+value")?"key+value":a.call(e,"key")?"key":"value":"value",c(this,"__kind__",o("",e))},i&&i(n,l),delete n.prototype.constructor,n.prototype=Object.create(l.prototype,{_resolve:o((function(t){return"value"===this.__kind__?this.__list__[t]:"key+value"===this.__kind__?[t,this.__list__[t]]:t}))}),c(n.prototype,s.toStringTag,o("c","Array Iterator"))},{"./":220,d:155,"es5-ext/object/set-prototype-of":206,"es5-ext/string/#/contains":212,"es6-symbol":225}],218:[function(t,e,r){"use strict";var n=t("es5-ext/function/is-arguments"),i=t("es5-ext/object/valid-callable"),a=t("es5-ext/string/is-string"),o=t("./get"),s=Array.isArray,l=Function.prototype.call,c=Array.prototype.some;e.exports=function(t,e){var r,u,f,h,p,d,g,m,v=arguments[2];if(s(t)||n(t)?r="array":a(t)?r="string":t=o(t),i(e),f=function(){h=!0},"array"!==r)if("string"!==r)for(u=t.next();!u.done;){if(l.call(e,v,u.value,f),h)return;u=t.next()}else for(d=t.length,p=0;p<d&&(g=t[p],p+1<d&&(m=g.charCodeAt(0))>=55296&&m<=56319&&(g+=t[++p]),l.call(e,v,g,f),!h);++p);else c.call(t,(function(t){return l.call(e,v,t,f),h}))}},{"./get":219,"es5-ext/function/is-arguments":184,"es5-ext/object/valid-callable":209,"es5-ext/string/is-string":215}],219:[function(t,e,r){"use strict";var n=t("es5-ext/function/is-arguments"),i=t("es5-ext/string/is-string"),a=t("./array"),o=t("./string"),s=t("./valid-iterable"),l=t("es6-symbol").iterator;e.exports=function(t){return"function"==typeof s(t)[l]?t[l]():n(t)?new a(t):i(t)?new o(t):new a(t)}},{"./array":217,"./string":222,"./valid-iterable":223,"es5-ext/function/is-arguments":184,"es5-ext/string/is-string":215,"es6-symbol":225}],220:[function(t,e,r){"use strict";var n,i=t("es5-ext/array/#/clear"),a=t("es5-ext/object/assign"),o=t("es5-ext/object/valid-callable"),s=t("es5-ext/object/valid-value"),l=t("d"),c=t("d/auto-bind"),u=t("es6-symbol"),f=Object.defineProperty,h=Object.defineProperties;e.exports=n=function(t,e){if(!(this instanceof n))throw new TypeError("Constructor requires 'new'");h(this,{__list__:l("w",s(t)),__context__:l("w",e),__nextIndex__:l("w",0)}),e&&(o(e.on),e.on("_add",this._onAdd),e.on("_delete",this._onDelete),e.on("_clear",this._onClear))},delete n.prototype.constructor,h(n.prototype,a({_next:l((function(){var t;if(this.__list__)return this.__redo__&&void 0!==(t=this.__redo__.shift())?t:this.__nextIndex__<this.__list__.length?this.__nextIndex__++:void this._unBind()})),next:l((function(){return this._createResult(this._next())})),_createResult:l((function(t){return void 0===t?{done:!0,value:void 0}:{done:!1,value:this._resolve(t)}})),_resolve:l((function(t){return this.__list__[t]})),_unBind:l((function(){this.__list__=null,delete this.__redo__,this.__context__&&(this.__context__.off("_add",this._onAdd),this.__context__.off("_delete",this._onDelete),this.__context__.off("_clear",this._onClear),this.__context__=null)})),toString:l((function(){return"[object "+(this[u.toStringTag]||"Object")+"]"}))},c({_onAdd:l((function(t){t>=this.__nextIndex__||(++this.__nextIndex__,this.__redo__?(this.__redo__.forEach((function(e,r){e>=t&&(this.__redo__[r]=++e)}),this),this.__redo__.push(t)):f(this,"__redo__",l("c",[t])))})),_onDelete:l((function(t){var e;t>=this.__nextIndex__||(--this.__nextIndex__,this.__redo__&&(-1!==(e=this.__redo__.indexOf(t))&&this.__redo__.splice(e,1),this.__redo__.forEach((function(e,r){e>t&&(this.__redo__[r]=--e)}),this)))})),_onClear:l((function(){this.__redo__&&i.call(this.__redo__),this.__nextIndex__=0}))}))),f(n.prototype,u.iterator,l((function(){return this})))},{d:155,"d/auto-bind":154,"es5-ext/array/#/clear":180,"es5-ext/object/assign":193,"es5-ext/object/valid-callable":209,"es5-ext/object/valid-value":211,"es6-symbol":225}],221:[function(t,e,r){"use strict";var n=t("es5-ext/function/is-arguments"),i=t("es5-ext/object/is-value"),a=t("es5-ext/string/is-string"),o=t("es6-symbol").iterator,s=Array.isArray;e.exports=function(t){return!!i(t)&&(!!s(t)||(!!a(t)||(!!n(t)||"function"==typeof t[o])))}},{"es5-ext/function/is-arguments":184,"es5-ext/object/is-value":200,"es5-ext/string/is-string":215,"es6-symbol":225}],222:[function(t,e,r){"use strict";var n,i=t("es5-ext/object/set-prototype-of"),a=t("d"),o=t("es6-symbol"),s=t("./"),l=Object.defineProperty;n=e.exports=function(t){if(!(this instanceof n))throw new TypeError("Constructor requires 'new'");t=String(t),s.call(this,t),l(this,"__length__",a("",t.length))},i&&i(n,s),delete n.prototype.constructor,n.prototype=Object.create(s.prototype,{_next:a((function(){if(this.__list__)return this.__nextIndex__<this.__length__?this.__nextIndex__++:void this._unBind()})),_resolve:a((function(t){var e,r=this.__list__[t];return this.__nextIndex__===this.__length__?r:(e=r.charCodeAt(0))>=55296&&e<=56319?r+this.__list__[this.__nextIndex__++]:r}))}),l(n.prototype,o.toStringTag,a("c","String Iterator"))},{"./":220,d:155,"es5-ext/object/set-prototype-of":206,"es6-symbol":225}],223:[function(t,e,r){"use strict";var n=t("./is-iterable");e.exports=function(t){if(!n(t))throw new TypeError(t+" is not iterable");return t}},{"./is-iterable":221}],224:[function(t,e,r){(function(n,i){(function(){ +/*! + * @overview es6-promise - a tiny implementation of Promises/A+. + * @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald) + * @license Licensed under MIT license + * See https://raw.githubusercontent.com/stefanpenner/es6-promise/master/LICENSE + * @version v4.2.8+1e68dce6 + */ +!function(t,n){"object"==typeof r&&"undefined"!=typeof e?e.exports=n():t.ES6Promise=n()}(this,(function(){"use strict";function e(t){return"function"==typeof t}var r=Array.isArray?Array.isArray:function(t){return"[object Array]"===Object.prototype.toString.call(t)},a=0,o=void 0,s=void 0,l=function(t,e){g[a]=t,g[a+1]=e,2===(a+=2)&&(s?s(m):_())};var c="undefined"!=typeof window?window:void 0,u=c||{},f=u.MutationObserver||u.WebKitMutationObserver,h="undefined"==typeof self&&"undefined"!=typeof n&&"[object process]"==={}.toString.call(n),p="undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof importScripts&&"undefined"!=typeof MessageChannel;function d(){var t=setTimeout;return function(){return t(m,1)}}var g=new Array(1e3);function m(){for(var t=0;t<a;t+=2){(0,g[t])(g[t+1]),g[t]=void 0,g[t+1]=void 0}a=0}var v,y,x,b,_=void 0;function w(t,e){var r=this,n=new this.constructor(M);void 0===n[k]&&D(n);var i=r._state;if(i){var a=arguments[i-1];l((function(){return z(i,n,a,r._result)}))}else I(r,n,t,e);return n}function T(t){if(t&&"object"==typeof t&&t.constructor===this)return t;var e=new this(M);return S(e,t),e}h?_=function(){return n.nextTick(m)}:f?(y=0,x=new f(m),b=document.createTextNode(""),x.observe(b,{characterData:!0}),_=function(){b.data=y=++y%2}):p?((v=new MessageChannel).port1.onmessage=m,_=function(){return v.port2.postMessage(0)}):_=void 0===c&&"function"==typeof t?function(){try{var t=Function("return this")().require("vertx");return"undefined"!=typeof(o=t.runOnLoop||t.runOnContext)?function(){o(m)}:d()}catch(t){return d()}}():d();var k=Math.random().toString(36).substring(2);function M(){}function A(t,r,n){r.constructor===t.constructor&&n===w&&r.constructor.resolve===T?function(t,e){1===e._state?C(t,e._result):2===e._state?L(t,e._result):I(e,void 0,(function(e){return S(t,e)}),(function(e){return L(t,e)}))}(t,r):void 0===n?C(t,r):e(n)?function(t,e,r){l((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?S(t,r):C(t,r))}),(function(e){n||(n=!0,L(t,e))}),t._label);!n&&i&&(n=!0,L(t,i))}),t)}(t,r,n):C(t,r)}function S(t,e){if(t===e)L(t,new TypeError("You cannot resolve a promise with itself"));else if(i=typeof(n=e),null===n||"object"!==i&&"function"!==i)C(t,e);else{var r=void 0;try{r=e.then}catch(e){return void L(t,e)}A(t,e,r)}var n,i}function E(t){t._onerror&&t._onerror(t._result),P(t)}function C(t,e){void 0===t._state&&(t._result=e,t._state=1,0!==t._subscribers.length&&l(P,t))}function L(t,e){void 0===t._state&&(t._state=2,t._result=e,l(E,t))}function I(t,e,r,n){var i=t._subscribers,a=i.length;t._onerror=null,i[a]=e,i[a+1]=r,i[a+2]=n,0===a&&t._state&&l(P,t)}function P(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<e.length;o+=3)n=e[o],i=e[o+r],n?z(r,n,i,a):i(a);t._subscribers.length=0}}function z(t,r,n,i){var a=e(n),o=void 0,s=void 0,l=!0;if(a){try{o=n(i)}catch(t){l=!1,s=t}if(r===o)return void L(r,new TypeError("A promises callback cannot return that same promise."))}else o=i;void 0!==r._state||(a&&l?S(r,o):!1===l?L(r,s):1===t?C(r,o):2===t&&L(r,o))}var O=0;function D(t){t[k]=O++,t._state=void 0,t._result=void 0,t._subscribers=[]}var R=function(){function t(t,e){this._instanceConstructor=t,this.promise=new t(M),this.promise[k]||D(this.promise),r(e)?(this.length=e.length,this._remaining=e.length,this._result=new Array(this.length),0===this.length?C(this.promise,this._result):(this.length=this.length||0,this._enumerate(e),0===this._remaining&&C(this.promise,this._result))):L(this.promise,new Error("Array Methods must be provided an Array"))}return t.prototype._enumerate=function(t){for(var e=0;void 0===this._state&&e<t.length;e++)this._eachEntry(t[e],e)},t.prototype._eachEntry=function(t,e){var r=this._instanceConstructor,n=r.resolve;if(n===T){var i=void 0,a=void 0,o=!1;try{i=t.then}catch(t){o=!0,a=t}if(i===w&&void 0!==t._state)this._settledAt(t._state,e,t._result);else if("function"!=typeof i)this._remaining--,this._result[e]=t;else if(r===F){var s=new r(M);o?L(s,a):A(s,t,i),this._willSettleAt(s,e)}else this._willSettleAt(new r((function(e){return e(t)})),e)}else this._willSettleAt(n(t),e)},t.prototype._settledAt=function(t,e,r){var n=this.promise;void 0===n._state&&(this._remaining--,2===t?L(n,r):this._result[e]=r),0===this._remaining&&C(n,this._result)},t.prototype._willSettleAt=function(t,e){var r=this;I(t,void 0,(function(t){return r._settledAt(1,e,t)}),(function(t){return r._settledAt(2,e,t)}))},t}();var F=function(){function t(e){this[k]=O++,this._result=this._state=void 0,this._subscribers=[],M!==e&&("function"!=typeof e&&function(){throw new TypeError("You must pass a resolver function as the first argument to the promise constructor")}(),this instanceof t?function(t,e){try{e((function(e){S(t,e)}),(function(e){L(t,e)}))}catch(e){L(t,e)}}(this,e):function(){throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.")}())}return t.prototype.catch=function(t){return this.then(null,t)},t.prototype.finally=function(t){var r=this.constructor;return e(t)?this.then((function(e){return r.resolve(t()).then((function(){return e}))}),(function(e){return r.resolve(t()).then((function(){throw e}))})):this.then(t,t)},t}();return F.prototype.then=w,F.all=function(t){return new R(this,t).promise},F.race=function(t){var e=this;return r(t)?new e((function(r,n){for(var i=t.length,a=0;a<i;a++)e.resolve(t[a]).then(r,n)})):new e((function(t,e){return e(new TypeError("You must pass an array to race."))}))},F.resolve=T,F.reject=function(t){var e=new this(M);return L(e,t),e},F._setScheduler=function(t){s=t},F._setAsap=function(t){l=t},F._asap=l,F.polyfill=function(){var t=void 0;if("undefined"!=typeof i)t=i;else if("undefined"!=typeof self)t=self;else try{t=Function("return this")()}catch(t){throw new Error("polyfill failed because global object is unavailable in this environment")}var e=t.Promise;if(e){var r=null;try{r=Object.prototype.toString.call(e.resolve())}catch(t){}if("[object Promise]"===r&&!e.cast)return}t.Promise=F},F.Promise=F,F}))}).call(this)}).call(this,t("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{_process:526}],225:[function(t,e,r){"use strict";e.exports=t("./is-implemented")()?t("ext/global-this").Symbol:t("./polyfill")},{"./is-implemented":226,"./polyfill":231,"ext/global-this":238}],226:[function(t,e,r){"use strict";var n=t("ext/global-this"),i={object:!0,symbol:!0};e.exports=function(){var t,e=n.Symbol;if("function"!=typeof e)return!1;t=e("test symbol");try{String(t)}catch(t){return!1}return!!i[typeof e.iterator]&&(!!i[typeof e.toPrimitive]&&!!i[typeof e.toStringTag])}},{"ext/global-this":238}],227:[function(t,e,r){"use strict";e.exports=function(t){return!!t&&("symbol"==typeof t||!!t.constructor&&("Symbol"===t.constructor.name&&"Symbol"===t[t.constructor.toStringTag]))}},{}],228:[function(t,e,r){"use strict";var n=t("d"),i=Object.create,a=Object.defineProperty,o=Object.prototype,s=i(null);e.exports=function(t){for(var e,r,i=0;s[t+(i||"")];)++i;return s[t+=i||""]=!0,a(o,e="@@"+t,n.gs(null,(function(t){r||(r=!0,a(this,e,n(t)),r=!1)}))),e}},{d:155}],229:[function(t,e,r){"use strict";var n=t("d"),i=t("ext/global-this").Symbol;e.exports=function(t){return Object.defineProperties(t,{hasInstance:n("",i&&i.hasInstance||t("hasInstance")),isConcatSpreadable:n("",i&&i.isConcatSpreadable||t("isConcatSpreadable")),iterator:n("",i&&i.iterator||t("iterator")),match:n("",i&&i.match||t("match")),replace:n("",i&&i.replace||t("replace")),search:n("",i&&i.search||t("search")),species:n("",i&&i.species||t("species")),split:n("",i&&i.split||t("split")),toPrimitive:n("",i&&i.toPrimitive||t("toPrimitive")),toStringTag:n("",i&&i.toStringTag||t("toStringTag")),unscopables:n("",i&&i.unscopables||t("unscopables"))})}},{d:155,"ext/global-this":238}],230:[function(t,e,r){"use strict";var n=t("d"),i=t("../../../validate-symbol"),a=Object.create(null);e.exports=function(t){return Object.defineProperties(t,{for:n((function(e){return a[e]?a[e]:a[e]=t(String(e))})),keyFor:n((function(t){var e;for(e in i(t),a)if(a[e]===t)return e}))})}},{"../../../validate-symbol":232,d:155}],231:[function(t,e,r){"use strict";var n,i,a,o=t("d"),s=t("./validate-symbol"),l=t("ext/global-this").Symbol,c=t("./lib/private/generate-name"),u=t("./lib/private/setup/standard-symbols"),f=t("./lib/private/setup/symbol-registry"),h=Object.create,p=Object.defineProperties,d=Object.defineProperty;if("function"==typeof l)try{String(l()),a=!0}catch(t){}else l=null;i=function(t){if(this instanceof i)throw new TypeError("Symbol is not a constructor");return n(t)},e.exports=n=function t(e){var r;if(this instanceof t)throw new TypeError("Symbol is not a constructor");return a?l(e):(r=h(i.prototype),e=void 0===e?"":String(e),p(r,{__description__:o("",e),__name__:o("",c(e))}))},u(n),f(n),p(i.prototype,{constructor:o(n),toString:o("",(function(){return this.__name__}))}),p(n.prototype,{toString:o((function(){return"Symbol ("+s(this).__description__+")"})),valueOf:o((function(){return s(this)}))}),d(n.prototype,n.toPrimitive,o("",(function(){var t=s(this);return"symbol"==typeof t?t:t.toString()}))),d(n.prototype,n.toStringTag,o("c","Symbol")),d(i.prototype,n.toStringTag,o("c",n.prototype[n.toStringTag])),d(i.prototype,n.toPrimitive,o("c",n.prototype[n.toPrimitive]))},{"./lib/private/generate-name":228,"./lib/private/setup/standard-symbols":229,"./lib/private/setup/symbol-registry":230,"./validate-symbol":232,d:155,"ext/global-this":238}],232:[function(t,e,r){"use strict";var n=t("./is-symbol");e.exports=function(t){if(!n(t))throw new TypeError(t+" is not a symbol");return t}},{"./is-symbol":227}],233:[function(t,e,r){"use strict";e.exports=t("./is-implemented")()?WeakMap:t("./polyfill")},{"./is-implemented":234,"./polyfill":236}],234:[function(t,e,r){"use strict";e.exports=function(){var t,e;if("function"!=typeof WeakMap)return!1;try{t=new WeakMap([[e={},"one"],[{},"two"],[{},"three"]])}catch(t){return!1}return"[object WeakMap]"===String(t)&&("function"==typeof t.set&&(t.set({},1)===t&&("function"==typeof t.delete&&("function"==typeof t.has&&"one"===t.get(e)))))}},{}],235:[function(t,e,r){"use strict";e.exports="function"==typeof WeakMap&&"[object WeakMap]"===Object.prototype.toString.call(new WeakMap)},{}],236:[function(t,e,r){"use strict";var n,i=t("es5-ext/object/is-value"),a=t("es5-ext/object/set-prototype-of"),o=t("es5-ext/object/valid-object"),s=t("es5-ext/object/valid-value"),l=t("es5-ext/string/random-uniq"),c=t("d"),u=t("es6-iterator/get"),f=t("es6-iterator/for-of"),h=t("es6-symbol").toStringTag,p=t("./is-native-implemented"),d=Array.isArray,g=Object.defineProperty,m=Object.prototype.hasOwnProperty,v=Object.getPrototypeOf;e.exports=n=function(){var t,e=arguments[0];if(!(this instanceof n))throw new TypeError("Constructor requires 'new'");return t=p&&a&&WeakMap!==n?a(new WeakMap,v(this)):this,i(e)&&(d(e)||(e=u(e))),g(t,"__weakMapData__",c("c","$weakMap$"+l())),e?(f(e,(function(e){s(e),t.set(e[0],e[1])})),t):t},p&&(a&&a(n,WeakMap),n.prototype=Object.create(WeakMap.prototype,{constructor:c(n)})),Object.defineProperties(n.prototype,{delete:c((function(t){return!!m.call(o(t),this.__weakMapData__)&&(delete t[this.__weakMapData__],!0)})),get:c((function(t){if(m.call(o(t),this.__weakMapData__))return t[this.__weakMapData__]})),has:c((function(t){return m.call(o(t),this.__weakMapData__)})),set:c((function(t,e){return g(o(t),this.__weakMapData__,c("c",e)),this})),toString:c((function(){return"[object WeakMap]"}))}),g(n.prototype,h,c("c","WeakMap"))},{"./is-native-implemented":235,d:155,"es5-ext/object/is-value":200,"es5-ext/object/set-prototype-of":206,"es5-ext/object/valid-object":210,"es5-ext/object/valid-value":211,"es5-ext/string/random-uniq":216,"es6-iterator/for-of":218,"es6-iterator/get":219,"es6-symbol":225}],237:[function(t,e,r){var n=function(){if("object"==typeof self&&self)return self;if("object"==typeof window&&window)return window;throw new Error("Unable to resolve global `this`")};e.exports=function(){if(this)return this;try{Object.defineProperty(Object.prototype,"__global__",{get:function(){return this},configurable:!0})}catch(t){return n()}try{return __global__||n()}finally{delete Object.prototype.__global__}}()},{}],238:[function(t,e,r){"use strict";e.exports=t("./is-implemented")()?globalThis:t("./implementation")},{"./implementation":237,"./is-implemented":239}],239:[function(t,e,r){"use strict";e.exports=function(){return"object"==typeof globalThis&&(!!globalThis&&globalThis.Array===Array)}},{}],240:[function(t,e,r){"use strict";e.exports=function(t,e,r){var n=e||0,i=r||1;return[[t[12]+t[0],t[13]+t[1],t[14]+t[2],t[15]+t[3]],[t[12]-t[0],t[13]-t[1],t[14]-t[2],t[15]-t[3]],[t[12]+t[4],t[13]+t[5],t[14]+t[6],t[15]+t[7]],[t[12]-t[4],t[13]-t[5],t[14]-t[6],t[15]-t[7]],[n*t[12]+t[8],n*t[13]+t[9],n*t[14]+t[10],n*t[15]+t[11]],[i*t[12]-t[8],i*t[13]-t[9],i*t[14]-t[10],i*t[15]-t[11]]]}},{}],241:[function(t,e,r){"use strict";var n=t("is-string-blank");e.exports=function(t){var e=typeof t;if("string"===e){var r=t;if(0===(t=+t)&&n(r))return!1}else if("number"!==e)return!1;return t-t<1}},{"is-string-blank":470}],242:[function(t,e,r){"use strict";e.exports=function(t,e,r){switch(arguments.length){case 0:return new o([0],[0],0);case 1:return"number"==typeof t?new o(n=l(t),n,0):new o(t,l(t.length),0);case 2:if("number"==typeof e){var n=l(t.length);return new o(t,n,+e)}r=0;case 3:if(t.length!==e.length)throw new Error("state and velocity lengths must match");return new o(t,e,r)}};var n=t("cubic-hermite"),i=t("binary-search-bounds");function a(t,e,r){return Math.min(e,Math.max(t,r))}function o(t,e,r){this.dimension=t.length,this.bounds=[new Array(this.dimension),new Array(this.dimension)];for(var n=0;n<this.dimension;++n)this.bounds[0][n]=-1/0,this.bounds[1][n]=1/0;this._state=t.slice().reverse(),this._velocity=e.slice().reverse(),this._time=[r],this._scratch=[t.slice(),t.slice(),t.slice(),t.slice(),t.slice()]}var s=o.prototype;function l(t){for(var e=new Array(t),r=0;r<t;++r)e[r]=0;return e}s.flush=function(t){var e=i.gt(this._time,t)-1;e<=0||(this._time.splice(0,e),this._state.splice(0,e*this.dimension),this._velocity.splice(0,e*this.dimension))},s.curve=function(t){var e=this._time,r=e.length,o=i.le(e,t),s=this._scratch[0],l=this._state,c=this._velocity,u=this.dimension,f=this.bounds;if(o<0)for(var h=u-1,p=0;p<u;++p,--h)s[p]=l[h];else if(o>=r-1){h=l.length-1;var d=t-e[r-1];for(p=0;p<u;++p,--h)s[p]=l[h]+d*c[h]}else{h=u*(o+1)-1;var g=e[o],m=e[o+1]-g||1,v=this._scratch[1],y=this._scratch[2],x=this._scratch[3],b=this._scratch[4],_=!0;for(p=0;p<u;++p,--h)v[p]=l[h],x[p]=c[h]*m,y[p]=l[h+u],b[p]=c[h+u]*m,_=_&&v[p]===y[p]&&x[p]===b[p]&&0===x[p];if(_)for(p=0;p<u;++p)s[p]=v[p];else n(v,x,y,b,(t-g)/m,s)}var w=f[0],T=f[1];for(p=0;p<u;++p)s[p]=a(w[p],T[p],s[p]);return s},s.dcurve=function(t){var e=this._time,r=e.length,a=i.le(e,t),o=this._scratch[0],s=this._state,l=this._velocity,c=this.dimension;if(a>=r-1)for(var u=s.length-1,f=(e[r-1],0);f<c;++f,--u)o[f]=l[u];else{u=c*(a+1)-1;var h=e[a],p=e[a+1]-h||1,d=this._scratch[1],g=this._scratch[2],m=this._scratch[3],v=this._scratch[4],y=!0;for(f=0;f<c;++f,--u)d[f]=s[u],m[f]=l[u]*p,g[f]=s[u+c],v[f]=l[u+c]*p,y=y&&d[f]===g[f]&&m[f]===v[f]&&0===m[f];if(y)for(f=0;f<c;++f)o[f]=0;else{n.derivative(d,m,g,v,(t-h)/p,o);for(f=0;f<c;++f)o[f]/=p}}return o},s.lastT=function(){var t=this._time;return t[t.length-1]},s.stable=function(){for(var t=this._velocity,e=t.length,r=this.dimension-1;r>=0;--r)if(t[--e])return!1;return!0},s.jump=function(t){var e=this.lastT(),r=this.dimension;if(!(t<e||arguments.length!==r+1)){var n=this._state,i=this._velocity,o=n.length-this.dimension,s=this.bounds,l=s[0],c=s[1];this._time.push(e,t);for(var u=0;u<2;++u)for(var f=0;f<r;++f)n.push(n[o++]),i.push(0);this._time.push(t);for(f=r;f>0;--f)n.push(a(l[f-1],c[f-1],arguments[f])),i.push(0)}},s.push=function(t){var e=this.lastT(),r=this.dimension;if(!(t<e||arguments.length!==r+1)){var n=this._state,i=this._velocity,o=n.length-this.dimension,s=t-e,l=this.bounds,c=l[0],u=l[1],f=s>1e-6?1/s:0;this._time.push(t);for(var h=r;h>0;--h){var p=a(c[h-1],u[h-1],arguments[h]);n.push(p),i.push((p-n[o++])*f)}}},s.set=function(t){var e=this.dimension;if(!(t<this.lastT()||arguments.length!==e+1)){var r=this._state,n=this._velocity,i=this.bounds,o=i[0],s=i[1];this._time.push(t);for(var l=e;l>0;--l)r.push(a(o[l-1],s[l-1],arguments[l])),n.push(0)}},s.move=function(t){var e=this.lastT(),r=this.dimension;if(!(t<=e||arguments.length!==r+1)){var n=this._state,i=this._velocity,o=n.length-this.dimension,s=this.bounds,l=s[0],c=s[1],u=t-e,f=u>1e-6?1/u:0;this._time.push(t);for(var h=r;h>0;--h){var p=arguments[h];n.push(a(l[h-1],c[h-1],n[o++]+p)),i.push(p*f)}}},s.idle=function(t){var e=this.lastT();if(!(t<e)){var r=this.dimension,n=this._state,i=this._velocity,o=n.length-r,s=this.bounds,l=s[0],c=s[1],u=t-e;this._time.push(t);for(var f=r-1;f>=0;--f)n.push(a(l[f],c[f],n[o]+u*i[o])),i.push(0),o+=1}}},{"binary-search-bounds":243,"cubic-hermite":150}],243:[function(t,e,r){"use strict";function n(t,e,r,n,i,a){var o=["function ",t,"(a,l,h,",n.join(","),"){",a?"":"var i=",r?"l-1":"h+1",";while(l<=h){var m=(l+h)>>>1,x=a",i?".get(m)":"[m]"];return a?e.indexOf("c")<0?o.push(";if(x===y){return m}else if(x<=y){"):o.push(";var p=c(x,y);if(p===0){return m}else if(p<=0){"):o.push(";if(",e,"){i=m;"),r?o.push("l=m+1}else{h=m-1}"):o.push("h=m-1}else{l=m+1}"),o.push("}"),a?o.push("return -1};"):o.push("return i};"),o.join("")}function i(t,e,r,i){return new Function([n("A","x"+t+"y",e,["y"],!1,i),n("B","x"+t+"y",e,["y"],!0,i),n("P","c(x,y)"+t+"0",e,["y","c"],!1,i),n("Q","c(x,y)"+t+"0",e,["y","c"],!0,i),"function dispatchBsearch",r,"(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",r].join(""))()}e.exports={ge:i(">=",!1,"GE"),gt:i(">",!1,"GT"),lt:i("<",!0,"LT"),le:i("<=",!0,"LE"),eq:i("-",!0,"EQ",!0)}},{}],244:[function(t,e,r){var n=t("dtype");e.exports=function(t,e,r){if(!t)throw new TypeError("must specify data as first parameter");if(r=0|+(r||0),Array.isArray(t)&&t[0]&&"number"==typeof t[0][0]){var i,a,o,s,l=t[0].length,c=t.length*l;e&&"string"!=typeof e||(e=new(n(e||"float32"))(c+r));var u=e.length-r;if(c!==u)throw new Error("source length "+c+" ("+l+"x"+t.length+") does not match destination length "+u);for(i=0,o=r;i<t.length;i++)for(a=0;a<l;a++)e[o++]=null===t[i][a]?NaN:t[i][a]}else if(e&&"string"!=typeof e)e.set(t,r);else{var f=n(e||"float32");if(Array.isArray(t)||"array"===e)for(e=new f(t.length+r),i=0,o=r,s=e.length;o<s;o++,i++)e[o]=null===t[i]?NaN:t[i];else 0===r?e=new f(t):(e=new f(t.length+r)).set(t,r)}return e}},{dtype:175}],245:[function(t,e,r){"use strict";var n=t("css-font/stringify"),i=[32,126];e.exports=function(t){var e=(t=t||{}).shape?t.shape:t.canvas?[t.canvas.width,t.canvas.height]:[512,512],r=t.canvas||document.createElement("canvas"),a=t.font,o="number"==typeof t.step?[t.step,t.step]:t.step||[32,32],s=t.chars||i;a&&"string"!=typeof a&&(a=n(a));if(Array.isArray(s)){if(2===s.length&&"number"==typeof s[0]&&"number"==typeof s[1]){for(var l=[],c=s[0],u=0;c<=s[1];c++)l[u++]=String.fromCharCode(c);s=l}}else s=String(s).split("");e=e.slice(),r.width=e[0],r.height=e[1];var f=r.getContext("2d");f.fillStyle="#000",f.fillRect(0,0,r.width,r.height),f.font=a,f.textAlign="center",f.textBaseline="middle",f.fillStyle="#fff";var h=o[0]/2,p=o[1]/2;for(c=0;c<s.length;c++)f.fillText(s[c],h,p),(h+=o[0])>e[0]-o[0]/2&&(h=o[0]/2,p+=o[1]);return r}},{"css-font/stringify":147}],246:[function(t,e,r){"use strict";function n(t,e){e||(e={}),("string"==typeof t||Array.isArray(t))&&(e.family=t);var r=Array.isArray(e.family)?e.family.join(", "):e.family;if(!r)throw Error("`family` must be defined");var s=e.size||e.fontSize||e.em||48,l=e.weight||e.fontWeight||"",c=(t=[e.style||e.fontStyle||"",l,s].join(" ")+"px "+r,e.origin||"top");if(n.cache[r]&&s<=n.cache[r].em)return i(n.cache[r],c);var u=e.canvas||n.canvas,f=u.getContext("2d"),h={upper:void 0!==e.upper?e.upper:"H",lower:void 0!==e.lower?e.lower:"x",descent:void 0!==e.descent?e.descent:"p",ascent:void 0!==e.ascent?e.ascent:"h",tittle:void 0!==e.tittle?e.tittle:"i",overshoot:void 0!==e.overshoot?e.overshoot:"O"},p=Math.ceil(1.5*s);u.height=p,u.width=.5*p,f.font=t;var d={top:0};f.clearRect(0,0,p,p),f.textBaseline="top",f.fillStyle="black",f.fillText("H",0,0);var g=a(f.getImageData(0,0,p,p));f.clearRect(0,0,p,p),f.textBaseline="bottom",f.fillText("H",0,p);var m=a(f.getImageData(0,0,p,p));d.lineHeight=d.bottom=p-m+g,f.clearRect(0,0,p,p),f.textBaseline="alphabetic",f.fillText("H",0,p);var v=p-a(f.getImageData(0,0,p,p))-1+g;d.baseline=d.alphabetic=v,f.clearRect(0,0,p,p),f.textBaseline="middle",f.fillText("H",0,.5*p);var y=a(f.getImageData(0,0,p,p));d.median=d.middle=p-y-1+g-.5*p,f.clearRect(0,0,p,p),f.textBaseline="hanging",f.fillText("H",0,.5*p);var x=a(f.getImageData(0,0,p,p));d.hanging=p-x-1+g-.5*p,f.clearRect(0,0,p,p),f.textBaseline="ideographic",f.fillText("H",0,p);var b=a(f.getImageData(0,0,p,p));if(d.ideographic=p-b-1+g,h.upper&&(f.clearRect(0,0,p,p),f.textBaseline="top",f.fillText(h.upper,0,0),d.upper=a(f.getImageData(0,0,p,p)),d.capHeight=d.baseline-d.upper),h.lower&&(f.clearRect(0,0,p,p),f.textBaseline="top",f.fillText(h.lower,0,0),d.lower=a(f.getImageData(0,0,p,p)),d.xHeight=d.baseline-d.lower),h.tittle&&(f.clearRect(0,0,p,p),f.textBaseline="top",f.fillText(h.tittle,0,0),d.tittle=a(f.getImageData(0,0,p,p))),h.ascent&&(f.clearRect(0,0,p,p),f.textBaseline="top",f.fillText(h.ascent,0,0),d.ascent=a(f.getImageData(0,0,p,p))),h.descent&&(f.clearRect(0,0,p,p),f.textBaseline="top",f.fillText(h.descent,0,0),d.descent=o(f.getImageData(0,0,p,p))),h.overshoot){f.clearRect(0,0,p,p),f.textBaseline="top",f.fillText(h.overshoot,0,0);var _=o(f.getImageData(0,0,p,p));d.overshoot=_-v}for(var w in d)d[w]/=s;return d.em=s,n.cache[r]=d,i(d,c)}function i(t,e){var r={};for(var n in"string"==typeof e&&(e=t[e]),t)"em"!==n&&(r[n]=t[n]-e);return r}function a(t){for(var e=t.height,r=t.data,n=3;n<r.length;n+=4)if(0!==r[n])return Math.floor(.25*(n-3)/e)}function o(t){for(var e=t.height,r=t.data,n=r.length-1;n>0;n-=4)if(0!==r[n])return Math.floor(.25*(n-3)/e)}e.exports=n,n.canvas=document.createElement("canvas"),n.cache={}},{}],247:[function(t,e,r){"use strict";e.exports=function(t){return new s(t||g,null)};function n(t,e,r,n,i,a){this._color=t,this.key=e,this.value=r,this.left=n,this.right=i,this._count=a}function i(t){return new n(t._color,t.key,t.value,t.left,t.right,t._count)}function a(t,e){return new n(t,e.key,e.value,e.left,e.right,e._count)}function o(t){t._count=1+(t.left?t.left._count:0)+(t.right?t.right._count:0)}function s(t,e){this._compare=t,this.root=e}var l=s.prototype;function c(t,e){var r;if(e.left&&(r=c(t,e.left)))return r;return(r=t(e.key,e.value))||(e.right?c(t,e.right):void 0)}function u(t,e,r,n){if(e(t,n.key)<=0){var i;if(n.left)if(i=u(t,e,r,n.left))return i;if(i=r(n.key,n.value))return i}if(n.right)return u(t,e,r,n.right)}function f(t,e,r,n,i){var a,o=r(t,i.key),s=r(e,i.key);if(o<=0){if(i.left&&(a=f(t,e,r,n,i.left)))return a;if(s>0&&(a=n(i.key,i.value)))return a}if(s>0&&i.right)return f(t,e,r,n,i.right)}function h(t,e){this.tree=t,this._stack=e}Object.defineProperty(l,"keys",{get:function(){var t=[];return this.forEach((function(e,r){t.push(e)})),t}}),Object.defineProperty(l,"values",{get:function(){var t=[];return this.forEach((function(e,r){t.push(r)})),t}}),Object.defineProperty(l,"length",{get:function(){return this.root?this.root._count:0}}),l.insert=function(t,e){for(var r=this._compare,i=this.root,l=[],c=[];i;){var u=r(t,i.key);l.push(i),c.push(u),i=u<=0?i.left:i.right}l.push(new n(0,t,e,null,null,1));for(var f=l.length-2;f>=0;--f){i=l[f];c[f]<=0?l[f]=new n(i._color,i.key,i.value,l[f+1],i.right,i._count+1):l[f]=new n(i._color,i.key,i.value,i.left,l[f+1],i._count+1)}for(f=l.length-1;f>1;--f){var h=l[f-1];i=l[f];if(1===h._color||1===i._color)break;var p=l[f-2];if(p.left===h)if(h.left===i){if(!(d=p.right)||0!==d._color){if(p._color=0,p.left=h.right,h._color=1,h.right=p,l[f-2]=h,l[f-1]=i,o(p),o(h),f>=3)(g=l[f-3]).left===p?g.left=h:g.right=h;break}h._color=1,p.right=a(1,d),p._color=0,f-=1}else{if(!(d=p.right)||0!==d._color){if(h.right=i.left,p._color=0,p.left=i.right,i._color=1,i.left=h,i.right=p,l[f-2]=i,l[f-1]=h,o(p),o(h),o(i),f>=3)(g=l[f-3]).left===p?g.left=i:g.right=i;break}h._color=1,p.right=a(1,d),p._color=0,f-=1}else if(h.right===i){if(!(d=p.left)||0!==d._color){if(p._color=0,p.right=h.left,h._color=1,h.left=p,l[f-2]=h,l[f-1]=i,o(p),o(h),f>=3)(g=l[f-3]).right===p?g.right=h:g.left=h;break}h._color=1,p.left=a(1,d),p._color=0,f-=1}else{var d;if(!(d=p.left)||0!==d._color){var g;if(h.left=i.right,p._color=0,p.right=i.left,i._color=1,i.right=h,i.left=p,l[f-2]=i,l[f-1]=h,o(p),o(h),o(i),f>=3)(g=l[f-3]).right===p?g.right=i:g.left=i;break}h._color=1,p.left=a(1,d),p._color=0,f-=1}}return l[0]._color=1,new s(r,l[0])},l.forEach=function(t,e,r){if(this.root)switch(arguments.length){case 1:return c(t,this.root);case 2:return u(e,this._compare,t,this.root);case 3:if(this._compare(e,r)>=0)return;return f(e,r,this._compare,t,this.root)}},Object.defineProperty(l,"begin",{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.left;return new h(this,t)}}),Object.defineProperty(l,"end",{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.right;return new h(this,t)}}),l.at=function(t){if(t<0)return new h(this,[]);for(var e=this.root,r=[];;){if(r.push(e),e.left){if(t<e.left._count){e=e.left;continue}t-=e.left._count}if(!t)return new h(this,r);if(t-=1,!e.right)break;if(t>=e.right._count)break;e=e.right}return new h(this,[])},l.ge=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a<=0&&(i=n.length),r=a<=0?r.left:r.right}return n.length=i,new h(this,n)},l.gt=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a<0&&(i=n.length),r=a<0?r.left:r.right}return n.length=i,new h(this,n)},l.lt=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a>0&&(i=n.length),r=a<=0?r.left:r.right}return n.length=i,new h(this,n)},l.le=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a>=0&&(i=n.length),r=a<0?r.left:r.right}return n.length=i,new h(this,n)},l.find=function(t){for(var e=this._compare,r=this.root,n=[];r;){var i=e(t,r.key);if(n.push(r),0===i)return new h(this,n);r=i<=0?r.left:r.right}return new h(this,[])},l.remove=function(t){var e=this.find(t);return e?e.remove():this},l.get=function(t){for(var e=this._compare,r=this.root;r;){var n=e(t,r.key);if(0===n)return r.value;r=n<=0?r.left:r.right}};var p=h.prototype;function d(t,e){t.key=e.key,t.value=e.value,t.left=e.left,t.right=e.right,t._color=e._color,t._count=e._count}function g(t,e){return t<e?-1:t>e?1:0}Object.defineProperty(p,"valid",{get:function(){return this._stack.length>0}}),Object.defineProperty(p,"node",{get:function(){return this._stack.length>0?this._stack[this._stack.length-1]:null},enumerable:!0}),p.clone=function(){return new h(this.tree,this._stack.slice())},p.remove=function(){var t=this._stack;if(0===t.length)return this.tree;var e=new Array(t.length),r=t[t.length-1];e[e.length-1]=new n(r._color,r.key,r.value,r.left,r.right,r._count);for(var l=t.length-2;l>=0;--l){(r=t[l]).left===t[l+1]?e[l]=new n(r._color,r.key,r.value,e[l+1],r.right,r._count):e[l]=new n(r._color,r.key,r.value,r.left,e[l+1],r._count)}if((r=e[e.length-1]).left&&r.right){var c=e.length;for(r=r.left;r.right;)e.push(r),r=r.right;var u=e[c-1];e.push(new n(r._color,u.key,u.value,r.left,r.right,r._count)),e[c-1].key=r.key,e[c-1].value=r.value;for(l=e.length-2;l>=c;--l)r=e[l],e[l]=new n(r._color,r.key,r.value,r.left,e[l+1],r._count);e[c-1].left=e[c]}if(0===(r=e[e.length-1])._color){var f=e[e.length-2];f.left===r?f.left=null:f.right===r&&(f.right=null),e.pop();for(l=0;l<e.length;++l)e[l]._count--;return new s(this.tree._compare,e[0])}if(r.left||r.right){r.left?d(r,r.left):r.right&&d(r,r.right),r._color=1;for(l=0;l<e.length-1;++l)e[l]._count--;return new s(this.tree._compare,e[0])}if(1===e.length)return new s(this.tree._compare,null);for(l=0;l<e.length;++l)e[l]._count--;var h=e[e.length-2];return function(t){for(var e,r,n,s,l=t.length-1;l>=0;--l){if(e=t[l],0===l)return void(e._color=1);if((r=t[l-1]).left===e){if((n=r.right).right&&0===n.right._color){if(s=(n=r.right=i(n)).right=i(n.right),r.right=n.left,n.left=r,n.right=s,n._color=r._color,e._color=1,r._color=1,s._color=1,o(r),o(n),l>1)(c=t[l-2]).left===r?c.left=n:c.right=n;return void(t[l-1]=n)}if(n.left&&0===n.left._color){if(s=(n=r.right=i(n)).left=i(n.left),r.right=s.left,n.left=s.right,s.left=r,s.right=n,s._color=r._color,r._color=1,n._color=1,e._color=1,o(r),o(n),o(s),l>1)(c=t[l-2]).left===r?c.left=s:c.right=s;return void(t[l-1]=s)}if(1===n._color){if(0===r._color)return r._color=1,void(r.right=a(0,n));r.right=a(0,n);continue}n=i(n),r.right=n.left,n.left=r,n._color=r._color,r._color=0,o(r),o(n),l>1&&((c=t[l-2]).left===r?c.left=n:c.right=n),t[l-1]=n,t[l]=r,l+1<t.length?t[l+1]=e:t.push(e),l+=2}else{if((n=r.left).left&&0===n.left._color){if(s=(n=r.left=i(n)).left=i(n.left),r.left=n.right,n.right=r,n.left=s,n._color=r._color,e._color=1,r._color=1,s._color=1,o(r),o(n),l>1)(c=t[l-2]).right===r?c.right=n:c.left=n;return void(t[l-1]=n)}if(n.right&&0===n.right._color){if(s=(n=r.left=i(n)).right=i(n.right),r.left=s.right,n.right=s.left,s.right=r,s.left=n,s._color=r._color,r._color=1,n._color=1,e._color=1,o(r),o(n),o(s),l>1)(c=t[l-2]).right===r?c.right=s:c.left=s;return void(t[l-1]=s)}if(1===n._color){if(0===r._color)return r._color=1,void(r.left=a(0,n));r.left=a(0,n);continue}var c;n=i(n),r.left=n.right,n.right=r,n._color=r._color,r._color=0,o(r),o(n),l>1&&((c=t[l-2]).right===r?c.right=n:c.left=n),t[l-1]=n,t[l]=r,l+1<t.length?t[l+1]=e:t.push(e),l+=2}}}(e),h.left===r?h.left=null:h.right=null,new s(this.tree._compare,e[0])},Object.defineProperty(p,"key",{get:function(){if(this._stack.length>0)return this._stack[this._stack.length-1].key},enumerable:!0}),Object.defineProperty(p,"value",{get:function(){if(this._stack.length>0)return this._stack[this._stack.length-1].value},enumerable:!0}),Object.defineProperty(p,"index",{get:function(){var t=0,e=this._stack;if(0===e.length){var r=this.tree.root;return r?r._count:0}e[e.length-1].left&&(t=e[e.length-1].left._count);for(var n=e.length-2;n>=0;--n)e[n+1]===e[n].right&&(++t,e[n].left&&(t+=e[n].left._count));return t},enumerable:!0}),p.next=function(){var t=this._stack;if(0!==t.length){var e=t[t.length-1];if(e.right)for(e=e.right;e;)t.push(e),e=e.left;else for(t.pop();t.length>0&&t[t.length-1].right===e;)e=t[t.length-1],t.pop()}},Object.defineProperty(p,"hasNext",{get:function(){var t=this._stack;if(0===t.length)return!1;if(t[t.length-1].right)return!0;for(var e=t.length-1;e>0;--e)if(t[e-1].left===t[e])return!0;return!1}}),p.update=function(t){var e=this._stack;if(0===e.length)throw new Error("Can't update empty node!");var r=new Array(e.length),i=e[e.length-1];r[r.length-1]=new n(i._color,i.key,t,i.left,i.right,i._count);for(var a=e.length-2;a>=0;--a)(i=e[a]).left===e[a+1]?r[a]=new n(i._color,i.key,i.value,r[a+1],i.right,i._count):r[a]=new n(i._color,i.key,i.value,i.left,r[a+1],i._count);return new s(this.tree._compare,r[0])},p.prev=function(){var t=this._stack;if(0!==t.length){var e=t[t.length-1];if(e.left)for(e=e.left;e;)t.push(e),e=e.right;else for(t.pop();t.length>0&&t[t.length-1].left===e;)e=t[t.length-1],t.pop()}},Object.defineProperty(p,"hasPrev",{get:function(){var t=this._stack;if(0===t.length)return!1;if(t[t.length-1].left)return!0;for(var e=t.length-1;e>0;--e)if(t[e-1].right===t[e])return!0;return!1}})},{}],248:[function(t,e,r){var n=[.9999999999998099,676.5203681218851,-1259.1392167224028,771.3234287776531,-176.6150291621406,12.507343278686905,-.13857109526572012,9984369578019572e-21,1.5056327351493116e-7],i=[.9999999999999971,57.15623566586292,-59.59796035547549,14.136097974741746,-.4919138160976202,3399464998481189e-20,4652362892704858e-20,-9837447530487956e-20,.0001580887032249125,-.00021026444172410488,.00021743961811521265,-.0001643181065367639,8441822398385275e-20,-26190838401581408e-21,36899182659531625e-22];function a(t){if(t<0)return Number("0/0");for(var e=i[0],r=i.length-1;r>0;--r)e+=i[r]/(t+r);var n=t+607/128+.5;return.5*Math.log(2*Math.PI)+(t+.5)*Math.log(n)-n+Math.log(e)-Math.log(t)}e.exports=function t(e){if(e<.5)return Math.PI/(Math.sin(Math.PI*e)*t(1-e));if(e>100)return Math.exp(a(e));e-=1;for(var r=n[0],i=1;i<9;i++)r+=n[i]/(e+i);var o=e+7+.5;return Math.sqrt(2*Math.PI)*Math.pow(o,e+.5)*Math.exp(-o)*r},e.exports.log=a},{}],249:[function(t,e,r){e.exports=function(t,e){if("string"!=typeof t)throw new TypeError("must specify type string");if(e=e||{},"undefined"==typeof document&&!e.canvas)return null;var r=e.canvas||document.createElement("canvas");"number"==typeof e.width&&(r.width=e.width);"number"==typeof e.height&&(r.height=e.height);var n,i=e;try{var a=[t];0===t.indexOf("webgl")&&a.push("experimental-"+t);for(var o=0;o<a.length;o++)if(n=r.getContext(a[o],i))return n}catch(t){n=null}return n||null}},{}],250:[function(t,e,r){"use strict";e.exports=function(t,e){var r=new u(t);return r.update(e),r};var n=t("./lib/text.js"),i=t("./lib/lines.js"),a=t("./lib/background.js"),o=t("./lib/cube.js"),s=t("./lib/ticks.js"),l=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]);function c(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function u(t){this.gl=t,this.pixelRatio=1,this.bounds=[[-10,-10,-10],[10,10,10]],this.ticks=[[],[],[]],this.autoTicks=!0,this.tickSpacing=[1,1,1],this.tickEnable=[!0,!0,!0],this.tickFont=["sans-serif","sans-serif","sans-serif"],this.tickSize=[12,12,12],this.tickAngle=[0,0,0],this.tickAlign=["auto","auto","auto"],this.tickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.tickPad=[10,10,10],this.lastCubeProps={cubeEdges:[0,0,0],axis:[0,0,0]},this.labels=["x","y","z"],this.labelEnable=[!0,!0,!0],this.labelFont="sans-serif",this.labelSize=[20,20,20],this.labelAngle=[0,0,0],this.labelAlign=["auto","auto","auto"],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.labelPad=[10,10,10],this.lineEnable=[!0,!0,!0],this.lineMirror=[!1,!1,!1],this.lineWidth=[1,1,1],this.lineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.lineTickEnable=[!0,!0,!0],this.lineTickMirror=[!1,!1,!1],this.lineTickLength=[0,0,0],this.lineTickWidth=[1,1,1],this.lineTickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.gridEnable=[!0,!0,!0],this.gridWidth=[1,1,1],this.gridColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroEnable=[!0,!0,!0],this.zeroLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroLineWidth=[2,2,2],this.backgroundEnable=[!1,!1,!1],this.backgroundColor=[[.8,.8,.8,.5],[.8,.8,.8,.5],[.8,.8,.8,.5]],this._firstInit=!0,this._text=null,this._lines=null,this._background=a(t)}var f=u.prototype;function h(){this.primalOffset=[0,0,0],this.primalMinor=[0,0,0],this.mirrorOffset=[0,0,0],this.mirrorMinor=[0,0,0]}f.update=function(t){function e(e,r,n){if(n in t){var i,a=t[n],o=this[n];(e?Array.isArray(a)&&Array.isArray(a[0]):Array.isArray(a))?this[n]=i=[r(a[0]),r(a[1]),r(a[2])]:this[n]=i=[r(a),r(a),r(a)];for(var s=0;s<3;++s)if(i[s]!==o[s])return!0}return!1}t=t||{};var r,a=e.bind(this,!1,Number),o=e.bind(this,!1,Boolean),l=e.bind(this,!1,String),c=e.bind(this,!0,(function(t){if(Array.isArray(t)){if(3===t.length)return[+t[0],+t[1],+t[2],1];if(4===t.length)return[+t[0],+t[1],+t[2],+t[3]]}return[0,0,0,1]})),u=!1,f=!1;if("bounds"in t)for(var h=t.bounds,p=0;p<2;++p)for(var d=0;d<3;++d)h[p][d]!==this.bounds[p][d]&&(f=!0),this.bounds[p][d]=h[p][d];if("ticks"in t){r=t.ticks,u=!0,this.autoTicks=!1;for(p=0;p<3;++p)this.tickSpacing[p]=0}else a("tickSpacing")&&(this.autoTicks=!0,f=!0);if(this._firstInit&&("ticks"in t||"tickSpacing"in t||(this.autoTicks=!0),f=!0,u=!0,this._firstInit=!1),f&&this.autoTicks&&(r=s.create(this.bounds,this.tickSpacing),u=!0),u){for(p=0;p<3;++p)r[p].sort((function(t,e){return t.x-e.x}));s.equal(r,this.ticks)?u=!1:this.ticks=r}o("tickEnable"),l("tickFont")&&(u=!0),a("tickSize"),a("tickAngle"),a("tickPad"),c("tickColor");var g=l("labels");l("labelFont")&&(g=!0),o("labelEnable"),a("labelSize"),a("labelPad"),c("labelColor"),o("lineEnable"),o("lineMirror"),a("lineWidth"),c("lineColor"),o("lineTickEnable"),o("lineTickMirror"),a("lineTickLength"),a("lineTickWidth"),c("lineTickColor"),o("gridEnable"),a("gridWidth"),c("gridColor"),o("zeroEnable"),c("zeroLineColor"),a("zeroLineWidth"),o("backgroundEnable"),c("backgroundColor"),this._text?this._text&&(g||u)&&this._text.update(this.bounds,this.labels,this.labelFont,this.ticks,this.tickFont):this._text=n(this.gl,this.bounds,this.labels,this.labelFont,this.ticks,this.tickFont),this._lines&&u&&(this._lines.dispose(),this._lines=null),this._lines||(this._lines=i(this.gl,this.bounds,this.ticks))};var p=[new h,new h,new h];function d(t,e,r,n,i){for(var a=t.primalOffset,o=t.primalMinor,s=t.mirrorOffset,l=t.mirrorMinor,c=n[e],u=0;u<3;++u)if(e!==u){var f=a,h=s,p=o,d=l;c&1<<u&&(f=s,h=a,p=l,d=o),f[u]=r[0][u],h[u]=r[1][u],i[u]>0?(p[u]=-1,d[u]=0):(p[u]=0,d[u]=1)}}var g=[0,0,0],m={model:l,view:l,projection:l,_ortho:!1};f.isOpaque=function(){return!0},f.isTransparent=function(){return!1},f.drawTransparent=function(t){};var v=[0,0,0],y=[0,0,0],x=[0,0,0];f.draw=function(t){t=t||m;for(var e=this.gl,r=t.model||l,n=t.view||l,i=t.projection||l,a=this.bounds,s=t._ortho||!1,u=o(r,n,i,a,s),f=u.cubeEdges,h=u.axis,b=n[12],_=n[13],w=n[14],T=n[15],k=(s?2:1)*this.pixelRatio*(i[3]*b+i[7]*_+i[11]*w+i[15]*T)/e.drawingBufferHeight,M=0;M<3;++M)this.lastCubeProps.cubeEdges[M]=f[M],this.lastCubeProps.axis[M]=h[M];var A=p;for(M=0;M<3;++M)d(p[M],M,this.bounds,f,h);e=this.gl;var S,E=g;for(M=0;M<3;++M)this.backgroundEnable[M]?E[M]=h[M]:E[M]=0;this._background.draw(r,n,i,a,E,this.backgroundColor),this._lines.bind(r,n,i,this);for(M=0;M<3;++M){var C=[0,0,0];h[M]>0?C[M]=a[1][M]:C[M]=a[0][M];for(var L=0;L<2;++L){var I=(M+1+L)%3,P=(M+1+(1^L))%3;this.gridEnable[I]&&this._lines.drawGrid(I,P,this.bounds,C,this.gridColor[I],this.gridWidth[I]*this.pixelRatio)}for(L=0;L<2;++L){I=(M+1+L)%3,P=(M+1+(1^L))%3;this.zeroEnable[P]&&Math.min(a[0][P],a[1][P])<=0&&Math.max(a[0][P],a[1][P])>=0&&this._lines.drawZero(I,P,this.bounds,C,this.zeroLineColor[P],this.zeroLineWidth[P]*this.pixelRatio)}}for(M=0;M<3;++M){this.lineEnable[M]&&this._lines.drawAxisLine(M,this.bounds,A[M].primalOffset,this.lineColor[M],this.lineWidth[M]*this.pixelRatio),this.lineMirror[M]&&this._lines.drawAxisLine(M,this.bounds,A[M].mirrorOffset,this.lineColor[M],this.lineWidth[M]*this.pixelRatio);var z=c(v,A[M].primalMinor),O=c(y,A[M].mirrorMinor),D=this.lineTickLength;for(L=0;L<3;++L){var R=k/r[5*L];z[L]*=D[L]*R,O[L]*=D[L]*R}this.lineTickEnable[M]&&this._lines.drawAxisTicks(M,A[M].primalOffset,z,this.lineTickColor[M],this.lineTickWidth[M]*this.pixelRatio),this.lineTickMirror[M]&&this._lines.drawAxisTicks(M,A[M].mirrorOffset,O,this.lineTickColor[M],this.lineTickWidth[M]*this.pixelRatio)}this._lines.unbind(),this._text.bind(r,n,i,this.pixelRatio);var F,B;function N(t){(B=[0,0,0])[t]=1}function j(t,e,r){var n=(t+1)%3,i=(t+2)%3,a=e[n],o=e[i],s=r[n],l=r[i];a>0&&l>0||a>0&&l<0||a<0&&l>0||a<0&&l<0?N(n):(o>0&&s>0||o>0&&s<0||o<0&&s>0||o<0&&s<0)&&N(i)}for(M=0;M<3;++M){var U=A[M].primalMinor,V=A[M].mirrorMinor,q=c(x,A[M].primalOffset);for(L=0;L<3;++L)this.lineTickEnable[M]&&(q[L]+=k*U[L]*Math.max(this.lineTickLength[L],0)/r[5*L]);var H=[0,0,0];if(H[M]=1,this.tickEnable[M]){-3600===this.tickAngle[M]?(this.tickAngle[M]=0,this.tickAlign[M]="auto"):this.tickAlign[M]=-1,F=1,"auto"===(S=[this.tickAlign[M],.5,F])[0]?S[0]=0:S[0]=parseInt(""+S[0]),B=[0,0,0],j(M,U,V);for(L=0;L<3;++L)q[L]+=k*U[L]*this.tickPad[L]/r[5*L];this._text.drawTicks(M,this.tickSize[M],this.tickAngle[M],q,this.tickColor[M],H,B,S)}if(this.labelEnable[M]){F=0,B=[0,0,0],this.labels[M].length>4&&(N(M),F=1),"auto"===(S=[this.labelAlign[M],.5,F])[0]?S[0]=0:S[0]=parseInt(""+S[0]);for(L=0;L<3;++L)q[L]+=k*U[L]*this.labelPad[L]/r[5*L];q[M]+=.5*(a[0][M]+a[1][M]),this._text.drawLabel(M,this.labelSize[M],this.labelAngle[M],q,this.labelColor[M],[0,0,0],B,S)}}this._text.unbind()},f.dispose=function(){this._text.dispose(),this._lines.dispose(),this._background.dispose(),this._lines=null,this._text=null,this._background=null,this.gl=null}},{"./lib/background.js":251,"./lib/cube.js":252,"./lib/lines.js":253,"./lib/text.js":255,"./lib/ticks.js":256}],251:[function(t,e,r){"use strict";e.exports=function(t){for(var e=[],r=[],s=0,l=0;l<3;++l)for(var c=(l+1)%3,u=(l+2)%3,f=[0,0,0],h=[0,0,0],p=-1;p<=1;p+=2){r.push(s,s+2,s+1,s+1,s+2,s+3),f[l]=p,h[l]=p;for(var d=-1;d<=1;d+=2){f[c]=d;for(var g=-1;g<=1;g+=2)f[u]=g,e.push(f[0],f[1],f[2],h[0],h[1],h[2]),s+=1}var m=c;c=u,u=m}var v=n(t,new Float32Array(e)),y=n(t,new Uint16Array(r),t.ELEMENT_ARRAY_BUFFER),x=i(t,[{buffer:v,type:t.FLOAT,size:3,offset:0,stride:24},{buffer:v,type:t.FLOAT,size:3,offset:12,stride:24}],y),b=a(t);return b.attributes.position.location=0,b.attributes.normal.location=1,new o(t,v,x,b)};var n=t("gl-buffer"),i=t("gl-vao"),a=t("./shaders").bg;function o(t,e,r,n){this.gl=t,this.buffer=e,this.vao=r,this.shader=n}var s=o.prototype;s.draw=function(t,e,r,n,i,a){for(var o=!1,s=0;s<3;++s)o=o||i[s];if(o){var l=this.gl;l.enable(l.POLYGON_OFFSET_FILL),l.polygonOffset(1,2),this.shader.bind(),this.shader.uniforms={model:t,view:e,projection:r,bounds:n,enable:i,colors:a},this.vao.bind(),this.vao.draw(this.gl.TRIANGLES,36),this.vao.unbind(),l.disable(l.POLYGON_OFFSET_FILL)}},s.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()}},{"./shaders":254,"gl-buffer":259,"gl-vao":358}],252:[function(t,e,r){"use strict";e.exports=function(t,e,r,a,p){i(s,e,t),i(s,r,s);for(var y=0,x=0;x<2;++x){u[2]=a[x][2];for(var b=0;b<2;++b){u[1]=a[b][1];for(var _=0;_<2;++_)u[0]=a[_][0],h(l[y],u,s),y+=1}}var w=-1;for(x=0;x<8;++x){for(var T=l[x][3],k=0;k<3;++k)c[x][k]=l[x][k]/T;p&&(c[x][2]*=-1),T<0&&(w<0||c[x][2]<c[w][2])&&(w=x)}if(w<0){w=0;for(var M=0;M<3;++M){for(var A=(M+2)%3,S=(M+1)%3,E=-1,C=-1,L=0;L<2;++L){var I=(z=L<<M)+(L<<A)+(1-L<<S),P=z+(1-L<<A)+(L<<S);o(c[z],c[I],c[P],f)<0||(L?E=1:C=1)}if(E<0||C<0)C>E&&(w|=1<<M);else{for(L=0;L<2;++L){I=(z=L<<M)+(L<<A)+(1-L<<S),P=z+(1-L<<A)+(L<<S);var z,O=d([l[z],l[I],l[P],l[z+(1<<A)+(1<<S)]]);L?E=O:C=O}C>E&&(w|=1<<M)}}}var D=7^w,R=-1;for(x=0;x<8;++x)x!==w&&x!==D&&(R<0||c[R][1]>c[x][1])&&(R=x);var F=-1;for(x=0;x<3;++x){if((N=R^1<<x)!==w&&N!==D)F<0&&(F=N),(S=c[N])[0]<c[F][0]&&(F=N)}var B=-1;for(x=0;x<3;++x){var N;if((N=R^1<<x)!==w&&N!==D&&N!==F)B<0&&(B=N),(S=c[N])[0]>c[B][0]&&(B=N)}var j=g;j[0]=j[1]=j[2]=0,j[n.log2(F^R)]=R&F,j[n.log2(R^B)]=R&B;var U=7^B;U===w||U===D?(U=7^F,j[n.log2(B^U)]=U&B):j[n.log2(F^U)]=U&F;var V=m,q=w;for(M=0;M<3;++M)V[M]=q&1<<M?-1:1;return v};var n=t("bit-twiddle"),i=t("gl-mat4/multiply"),a=t("split-polygon"),o=t("robust-orientation"),s=new Array(16),l=new Array(8),c=new Array(8),u=new Array(3),f=[0,0,0];function h(t,e,r){for(var n=0;n<4;++n){t[n]=r[12+n];for(var i=0;i<3;++i)t[n]+=e[i]*r[4*i+n]}}!function(){for(var t=0;t<8;++t)l[t]=[1,1,1,1],c[t]=[1,1,1]}();var p=[[0,0,1,0,0],[0,0,-1,1,0],[0,-1,0,1,0],[0,1,0,1,0],[-1,0,0,1,0],[1,0,0,1,0]];function d(t){for(var e=0;e<p.length;++e)if((t=a.positive(t,p[e])).length<3)return 0;var r=t[0],n=r[0]/r[3],i=r[1]/r[3],o=0;for(e=1;e+1<t.length;++e){var s=t[e],l=t[e+1],c=s[0]/s[3]-n,u=s[1]/s[3]-i,f=l[0]/l[3]-n,h=l[1]/l[3]-i;o+=Math.abs(c*h-u*f)}return o}var g=[1,1,1],m=[0,0,0],v={cubeEdges:g,axis:m}},{"bit-twiddle":97,"gl-mat4/multiply":295,"robust-orientation":548,"split-polygon":566}],253:[function(t,e,r){"use strict";e.exports=function(t,e,r){var o=[],s=[0,0,0],l=[0,0,0],c=[0,0,0],u=[0,0,0];o.push(0,0,1,0,1,1,0,0,-1,0,0,-1,0,1,1,0,1,-1);for(var f=0;f<3;++f){for(var h=o.length/3|0,d=0;d<r[f].length;++d){var g=+r[f][d].x;o.push(g,0,1,g,1,1,g,0,-1,g,0,-1,g,1,1,g,1,-1)}var m=o.length/3|0;s[f]=h,l[f]=m-h;h=o.length/3|0;for(var v=0;v<r[f].length;++v){g=+r[f][v].x;o.push(g,0,1,g,1,1,g,0,-1,g,0,-1,g,1,1,g,1,-1)}m=o.length/3|0;c[f]=h,u[f]=m-h}var y=n(t,new Float32Array(o)),x=i(t,[{buffer:y,type:t.FLOAT,size:3,stride:0,offset:0}]),b=a(t);return b.attributes.position.location=0,new p(t,y,x,b,l,s,u,c)};var n=t("gl-buffer"),i=t("gl-vao"),a=t("./shaders").line,o=[0,0,0],s=[0,0,0],l=[0,0,0],c=[0,0,0],u=[1,1];function f(t){return t[0]=t[1]=t[2]=0,t}function h(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function p(t,e,r,n,i,a,o,s){this.gl=t,this.vertBuffer=e,this.vao=r,this.shader=n,this.tickCount=i,this.tickOffset=a,this.gridCount=o,this.gridOffset=s}var d=p.prototype;d.bind=function(t,e,r){this.shader.bind(),this.shader.uniforms.model=t,this.shader.uniforms.view=e,this.shader.uniforms.projection=r,u[0]=this.gl.drawingBufferWidth,u[1]=this.gl.drawingBufferHeight,this.shader.uniforms.screenShape=u,this.vao.bind()},d.unbind=function(){this.vao.unbind()},d.drawAxisLine=function(t,e,r,n,i){var a=f(s);this.shader.uniforms.majorAxis=s,a[t]=e[1][t]-e[0][t],this.shader.uniforms.minorAxis=a;var o,u=h(c,r);u[t]+=e[0][t],this.shader.uniforms.offset=u,this.shader.uniforms.lineWidth=i,this.shader.uniforms.color=n,(o=f(l))[(t+2)%3]=1,this.shader.uniforms.screenAxis=o,this.vao.draw(this.gl.TRIANGLES,6),(o=f(l))[(t+1)%3]=1,this.shader.uniforms.screenAxis=o,this.vao.draw(this.gl.TRIANGLES,6)},d.drawAxisTicks=function(t,e,r,n,i){if(this.tickCount[t]){var a=f(o);a[t]=1,this.shader.uniforms.majorAxis=a,this.shader.uniforms.offset=e,this.shader.uniforms.minorAxis=r,this.shader.uniforms.color=n,this.shader.uniforms.lineWidth=i;var s=f(l);s[t]=1,this.shader.uniforms.screenAxis=s,this.vao.draw(this.gl.TRIANGLES,this.tickCount[t],this.tickOffset[t])}},d.drawGrid=function(t,e,r,n,i,a){if(this.gridCount[t]){var u=f(s);u[e]=r[1][e]-r[0][e],this.shader.uniforms.minorAxis=u;var p=h(c,n);p[e]+=r[0][e],this.shader.uniforms.offset=p;var d=f(o);d[t]=1,this.shader.uniforms.majorAxis=d;var g=f(l);g[t]=1,this.shader.uniforms.screenAxis=g,this.shader.uniforms.lineWidth=a,this.shader.uniforms.color=i,this.vao.draw(this.gl.TRIANGLES,this.gridCount[t],this.gridOffset[t])}},d.drawZero=function(t,e,r,n,i,a){var o=f(s);this.shader.uniforms.majorAxis=o,o[t]=r[1][t]-r[0][t],this.shader.uniforms.minorAxis=o;var u=h(c,n);u[t]+=r[0][t],this.shader.uniforms.offset=u;var p=f(l);p[e]=1,this.shader.uniforms.screenAxis=p,this.shader.uniforms.lineWidth=a,this.shader.uniforms.color=i,this.vao.draw(this.gl.TRIANGLES,6)},d.dispose=function(){this.vao.dispose(),this.vertBuffer.dispose(),this.shader.dispose()}},{"./shaders":254,"gl-buffer":259,"gl-vao":358}],254:[function(t,e,r){"use strict";var n=t("glslify"),i=t("gl-shader"),a=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\n\nuniform mat4 model, view, projection;\nuniform vec3 offset, majorAxis, minorAxis, screenAxis;\nuniform float lineWidth;\nuniform vec2 screenShape;\n\nvec3 project(vec3 p) {\n vec4 pp = projection * view * model * vec4(p, 1.0);\n return pp.xyz / max(pp.w, 0.0001);\n}\n\nvoid main() {\n vec3 major = position.x * majorAxis;\n vec3 minor = position.y * minorAxis;\n\n vec3 vPosition = major + minor + offset;\n vec3 pPosition = project(vPosition);\n vec3 offset = project(vPosition + screenAxis * position.z);\n\n vec2 screen = normalize((offset - pPosition).xy * screenShape) / screenShape;\n\n gl_Position = vec4(pPosition + vec3(0.5 * screen * lineWidth, 0), 1.0);\n}\n"]),o=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform vec4 color;\nvoid main() {\n gl_FragColor = color;\n}"]);r.line=function(t){return i(t,a,o,null,[{name:"position",type:"vec3"}])};var s=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\n\nuniform mat4 model, view, projection;\nuniform vec3 offset, axis, alignDir, alignOpt;\nuniform float scale, angle, pixelScale;\nuniform vec2 resolution;\n\nvec3 project(vec3 p) {\n vec4 pp = projection * view * model * vec4(p, 1.0);\n return pp.xyz / max(pp.w, 0.0001);\n}\n\nfloat computeViewAngle(vec3 a, vec3 b) {\n vec3 A = project(a);\n vec3 B = project(b);\n\n return atan(\n (B.y - A.y) * resolution.y,\n (B.x - A.x) * resolution.x\n );\n}\n\nconst float PI = 3.141592;\nconst float TWO_PI = 2.0 * PI;\nconst float HALF_PI = 0.5 * PI;\nconst float ONE_AND_HALF_PI = 1.5 * PI;\n\nint option = int(floor(alignOpt.x + 0.001));\nfloat hv_ratio = alignOpt.y;\nbool enableAlign = (alignOpt.z != 0.0);\n\nfloat mod_angle(float a) {\n return mod(a, PI);\n}\n\nfloat positive_angle(float a) {\n return mod_angle((a < 0.0) ?\n a + TWO_PI :\n a\n );\n}\n\nfloat look_upwards(float a) {\n float b = positive_angle(a);\n return ((b > HALF_PI) && (b <= ONE_AND_HALF_PI)) ?\n b - PI :\n b;\n}\n\nfloat look_horizontal_or_vertical(float a, float ratio) {\n // ratio controls the ratio between being horizontal to (vertical + horizontal)\n // if ratio is set to 0.5 then it is 50%, 50%.\n // when using a higher ratio e.g. 0.75 the result would\n // likely be more horizontal than vertical.\n\n float b = positive_angle(a);\n\n return\n (b < ( ratio) * HALF_PI) ? 0.0 :\n (b < (2.0 - ratio) * HALF_PI) ? -HALF_PI :\n (b < (2.0 + ratio) * HALF_PI) ? 0.0 :\n (b < (4.0 - ratio) * HALF_PI) ? HALF_PI :\n 0.0;\n}\n\nfloat roundTo(float a, float b) {\n return float(b * floor((a + 0.5 * b) / b));\n}\n\nfloat look_round_n_directions(float a, int n) {\n float b = positive_angle(a);\n float div = TWO_PI / float(n);\n float c = roundTo(b, div);\n return look_upwards(c);\n}\n\nfloat applyAlignOption(float rawAngle, float delta) {\n return\n (option > 2) ? look_round_n_directions(rawAngle + delta, option) : // option 3-n: round to n directions\n (option == 2) ? look_horizontal_or_vertical(rawAngle + delta, hv_ratio) : // horizontal or vertical\n (option == 1) ? rawAngle + delta : // use free angle, and flip to align with one direction of the axis\n (option == 0) ? look_upwards(rawAngle) : // use free angle, and stay upwards\n (option ==-1) ? 0.0 : // useful for backward compatibility, all texts remains horizontal\n rawAngle; // otherwise return back raw input angle\n}\n\nbool isAxisTitle = (axis.x == 0.0) &&\n (axis.y == 0.0) &&\n (axis.z == 0.0);\n\nvoid main() {\n //Compute world offset\n float axisDistance = position.z;\n vec3 dataPosition = axisDistance * axis + offset;\n\n float beta = angle; // i.e. user defined attributes for each tick\n\n float axisAngle;\n float clipAngle;\n float flip;\n\n if (enableAlign) {\n axisAngle = (isAxisTitle) ? HALF_PI :\n computeViewAngle(dataPosition, dataPosition + axis);\n clipAngle = computeViewAngle(dataPosition, dataPosition + alignDir);\n\n axisAngle += (sin(axisAngle) < 0.0) ? PI : 0.0;\n clipAngle += (sin(clipAngle) < 0.0) ? PI : 0.0;\n\n flip = (dot(vec2(cos(axisAngle), sin(axisAngle)),\n vec2(sin(clipAngle),-cos(clipAngle))) > 0.0) ? 1.0 : 0.0;\n\n beta += applyAlignOption(clipAngle, flip * PI);\n }\n\n //Compute plane offset\n vec2 planeCoord = position.xy * pixelScale;\n\n mat2 planeXform = scale * mat2(\n cos(beta), sin(beta),\n -sin(beta), cos(beta)\n );\n\n vec2 viewOffset = 2.0 * planeXform * planeCoord / resolution;\n\n //Compute clip position\n vec3 clipPosition = project(dataPosition);\n\n //Apply text offset in clip coordinates\n clipPosition += vec3(viewOffset, 0.0);\n\n //Done\n gl_Position = vec4(clipPosition, 1.0);\n}"]),l=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform vec4 color;\nvoid main() {\n gl_FragColor = color;\n}"]);r.text=function(t){return i(t,s,l,null,[{name:"position",type:"vec3"}])};var c=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec3 normal;\n\nuniform mat4 model, view, projection;\nuniform vec3 enable;\nuniform vec3 bounds[2];\n\nvarying vec3 colorChannel;\n\nvoid main() {\n\n vec3 signAxis = sign(bounds[1] - bounds[0]);\n\n vec3 realNormal = signAxis * normal;\n\n if(dot(realNormal, enable) > 0.0) {\n vec3 minRange = min(bounds[0], bounds[1]);\n vec3 maxRange = max(bounds[0], bounds[1]);\n vec3 nPosition = mix(minRange, maxRange, 0.5 * (position + 1.0));\n gl_Position = projection * view * model * vec4(nPosition, 1.0);\n } else {\n gl_Position = vec4(0,0,0,0);\n }\n\n colorChannel = abs(realNormal);\n}"]),u=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform vec4 colors[3];\n\nvarying vec3 colorChannel;\n\nvoid main() {\n gl_FragColor = colorChannel.x * colors[0] +\n colorChannel.y * colors[1] +\n colorChannel.z * colors[2];\n}"]);r.bg=function(t){return i(t,c,u,null,[{name:"position",type:"vec3"},{name:"normal",type:"vec3"}])}},{"gl-shader":335,glslify:257}],255:[function(t,e,r){(function(r){(function(){"use strict";e.exports=function(t,e,r,a,s,l){var u=n(t),f=i(t,[{buffer:u,size:3}]),h=o(t);h.attributes.position.location=0;var p=new c(t,h,u,f);return p.update(e,r,a,s,l),p};var n=t("gl-buffer"),i=t("gl-vao"),a=t("vectorize-text"),o=t("./shaders").text,s=window||r.global||{},l=s.__TEXT_CACHE||{};s.__TEXT_CACHE={};function c(t,e,r,n){this.gl=t,this.shader=e,this.buffer=r,this.vao=n,this.tickOffset=this.tickCount=this.labelOffset=this.labelCount=null}var u=c.prototype,f=[0,0];u.bind=function(t,e,r,n){this.vao.bind(),this.shader.bind();var i=this.shader.uniforms;i.model=t,i.view=e,i.projection=r,i.pixelScale=n,f[0]=this.gl.drawingBufferWidth,f[1]=this.gl.drawingBufferHeight,this.shader.uniforms.resolution=f},u.unbind=function(){this.vao.unbind()},u.update=function(t,e,r,n,i){var o=[];function s(t,e,r,n,i,s){var c=l[r];c||(c=l[r]={});var u=c[e];u||(u=c[e]=function(t,e){try{return a(t,e)}catch(e){return console.warn('error vectorizing text:"'+t+'" error:',e),{cells:[],positions:[]}}}(e,{triangles:!0,font:r,textAlign:"center",textBaseline:"middle",lineSpacing:i,styletags:s}));for(var f=(n||12)/12,h=u.positions,p=u.cells,d=0,g=p.length;d<g;++d)for(var m=p[d],v=2;v>=0;--v){var y=h[m[v]];o.push(f*y[0],-f*y[1],t)}}for(var c=[0,0,0],u=[0,0,0],f=[0,0,0],h=[0,0,0],p={breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0},d=0;d<3;++d){f[d]=o.length/3|0,s(.5*(t[0][d]+t[1][d]),e[d],r[d],12,1.25,p),h[d]=(o.length/3|0)-f[d],c[d]=o.length/3|0;for(var g=0;g<n[d].length;++g)n[d][g].text&&s(n[d][g].x,n[d][g].text,n[d][g].font||i,n[d][g].fontSize||12,1.25,p);u[d]=(o.length/3|0)-c[d]}this.buffer.update(o),this.tickOffset=c,this.tickCount=u,this.labelOffset=f,this.labelCount=h},u.drawTicks=function(t,e,r,n,i,a,o,s){this.tickCount[t]&&(this.shader.uniforms.axis=a,this.shader.uniforms.color=i,this.shader.uniforms.angle=r,this.shader.uniforms.scale=e,this.shader.uniforms.offset=n,this.shader.uniforms.alignDir=o,this.shader.uniforms.alignOpt=s,this.vao.draw(this.gl.TRIANGLES,this.tickCount[t],this.tickOffset[t]))},u.drawLabel=function(t,e,r,n,i,a,o,s){this.labelCount[t]&&(this.shader.uniforms.axis=a,this.shader.uniforms.color=i,this.shader.uniforms.angle=r,this.shader.uniforms.scale=e,this.shader.uniforms.offset=n,this.shader.uniforms.alignDir=o,this.shader.uniforms.alignOpt=s,this.vao.draw(this.gl.TRIANGLES,this.labelCount[t],this.labelOffset[t]))},u.dispose=function(){this.shader.dispose(),this.vao.dispose(),this.buffer.dispose()}}).call(this)}).call(this,t("_process"))},{"./shaders":254,_process:526,"gl-buffer":259,"gl-vao":358,"vectorize-text":600}],256:[function(t,e,r){"use strict";function n(t,e){var r=t+"",n=r.indexOf("."),i=0;n>=0&&(i=r.length-n-1);var a=Math.pow(10,i),o=Math.round(t*e*a),s=o+"";if(s.indexOf("e")>=0)return s;var l=o/a,c=o%a;o<0?(l=0|-Math.ceil(l),c=0|-c):(l=0|Math.floor(l),c|=0);var u=""+l;if(o<0&&(u="-"+u),i){for(var f=""+c;f.length<i;)f="0"+f;return u+"."+f}return u}r.create=function(t,e){for(var r=[],i=0;i<3;++i){for(var a=[],o=(t[0][i],t[1][i],0);o*e[i]<=t[1][i];++o)a.push({x:o*e[i],text:n(e[i],o)});for(o=-1;o*e[i]>=t[0][i];--o)a.push({x:o*e[i],text:n(e[i],o)});r.push(a)}return r},r.equal=function(t,e){for(var r=0;r<3;++r){if(t[r].length!==e[r].length)return!1;for(var n=0;n<t[r].length;++n){var i=t[r][n],a=e[r][n];if(i.x!==a.x||i.text!==a.text||i.font!==a.font||i.fontColor!==a.fontColor||i.fontSize!==a.fontSize||i.dx!==a.dx||i.dy!==a.dy)return!1}}return!0}},{}],257:[function(t,e,r){e.exports=function(t){"string"==typeof t&&(t=[t]);for(var e=[].slice.call(arguments,1),r=[],n=0;n<t.length-1;n++)r.push(t[n],e[n]||"");return r.push(t[n]),r.join("")}},{}],258:[function(t,e,r){"use strict";e.exports=function(t,e,r,l,f){var h=e.model||c,p=e.view||c,v=e.projection||c,y=e._ortho||!1,x=t.bounds,b=(f=f||a(h,p,v,x,y)).axis;o(u,p,h),o(u,v,u);for(var _=g,w=0;w<3;++w)_[w].lo=1/0,_[w].hi=-1/0,_[w].pixelsPerDataUnit=1/0;var T=n(s(u,u));s(u,u);for(var k=0;k<3;++k){var M=(k+1)%3,A=(k+2)%3,S=m;t:for(w=0;w<2;++w){var E=[];if(b[k]<0!=!!w){S[k]=x[w][k];for(var C=0;C<2;++C){S[M]=x[C^w][M];for(var L=0;L<2;++L)S[A]=x[L^C^w][A],E.push(S.slice())}var I=y?5:4;for(C=I;C===I;++C){if(0===E.length)continue t;E=i.positive(E,T[C])}for(C=0;C<E.length;++C){A=E[C];var P=d(m,u,A,r,l);for(L=0;L<3;++L)_[L].lo=Math.min(_[L].lo,A[L]),_[L].hi=Math.max(_[L].hi,A[L]),L!==k&&(_[L].pixelsPerDataUnit=Math.min(_[L].pixelsPerDataUnit,Math.abs(P[L])))}}}}return _};var n=t("extract-frustum-planes"),i=t("split-polygon"),a=t("./lib/cube.js"),o=t("gl-mat4/multiply"),s=t("gl-mat4/transpose"),l=t("gl-vec4/transformMat4"),c=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),u=new Float32Array(16);function f(t,e,r){this.lo=t,this.hi=e,this.pixelsPerDataUnit=r}var h=[0,0,0,1],p=[0,0,0,1];function d(t,e,r,n,i){for(var a=0;a<3;++a){for(var o=h,s=p,c=0;c<3;++c)s[c]=o[c]=r[c];s[3]=o[3]=1,s[a]+=1,l(s,s,e),s[3]<0&&(t[a]=1/0),o[a]-=1,l(o,o,e),o[3]<0&&(t[a]=1/0);var u=(o[0]/o[3]-s[0]/s[3])*n,f=(o[1]/o[3]-s[1]/s[3])*i;t[a]=.25*Math.sqrt(u*u+f*f)}return t}var g=[new f(1/0,-1/0,1/0),new f(1/0,-1/0,1/0),new f(1/0,-1/0,1/0)],m=[0,0,0]},{"./lib/cube.js":252,"extract-frustum-planes":240,"gl-mat4/multiply":295,"gl-mat4/transpose":306,"gl-vec4/transformMat4":429,"split-polygon":566}],259:[function(t,e,r){"use strict";var n=t("typedarray-pool"),i=t("ndarray-ops"),a=t("ndarray"),o=["uint8","uint8_clamped","uint16","uint32","int8","int16","int32","float32"];function s(t,e,r,n,i){this.gl=t,this.type=e,this.handle=r,this.length=n,this.usage=i}var l=s.prototype;function c(t,e,r,n,i,a){var o=i.length*i.BYTES_PER_ELEMENT;if(a<0)return t.bufferData(e,i,n),o;if(o+a>r)throw new Error("gl-buffer: If resizing buffer, must not specify offset");return t.bufferSubData(e,a,i),r}function u(t,e){for(var r=n.malloc(t.length,e),i=t.length,a=0;a<i;++a)r[a]=t[a];return r}l.bind=function(){this.gl.bindBuffer(this.type,this.handle)},l.unbind=function(){this.gl.bindBuffer(this.type,null)},l.dispose=function(){this.gl.deleteBuffer(this.handle)},l.update=function(t,e){if("number"!=typeof e&&(e=-1),this.bind(),"object"==typeof t&&"undefined"!=typeof t.shape){var r=t.dtype;if(o.indexOf(r)<0&&(r="float32"),this.type===this.gl.ELEMENT_ARRAY_BUFFER)r=gl.getExtension("OES_element_index_uint")&&"uint16"!==r?"uint32":"uint16";if(r===t.dtype&&function(t,e){for(var r=1,n=e.length-1;n>=0;--n){if(e[n]!==r)return!1;r*=t[n]}return!0}(t.shape,t.stride))0===t.offset&&t.data.length===t.shape[0]?this.length=c(this.gl,this.type,this.length,this.usage,t.data,e):this.length=c(this.gl,this.type,this.length,this.usage,t.data.subarray(t.offset,t.shape[0]),e);else{var s=n.malloc(t.size,r),l=a(s,t.shape);i.assign(l,t),this.length=c(this.gl,this.type,this.length,this.usage,e<0?s:s.subarray(0,t.size),e),n.free(s)}}else if(Array.isArray(t)){var f;f=this.type===this.gl.ELEMENT_ARRAY_BUFFER?u(t,"uint16"):u(t,"float32"),this.length=c(this.gl,this.type,this.length,this.usage,e<0?f:f.subarray(0,t.length),e),n.free(f)}else if("object"==typeof t&&"number"==typeof t.length)this.length=c(this.gl,this.type,this.length,this.usage,t,e);else{if("number"!=typeof t&&void 0!==t)throw new Error("gl-buffer: Invalid data type");if(e>=0)throw new Error("gl-buffer: Cannot specify offset when resizing buffer");(t|=0)<=0&&(t=1),this.gl.bufferData(this.type,0|t,this.usage),this.length=t}},e.exports=function(t,e,r,n){if(r=r||t.ARRAY_BUFFER,n=n||t.DYNAMIC_DRAW,r!==t.ARRAY_BUFFER&&r!==t.ELEMENT_ARRAY_BUFFER)throw new Error("gl-buffer: Invalid type for webgl buffer, must be either gl.ARRAY_BUFFER or gl.ELEMENT_ARRAY_BUFFER");if(n!==t.DYNAMIC_DRAW&&n!==t.STATIC_DRAW&&n!==t.STREAM_DRAW)throw new Error("gl-buffer: Invalid usage for buffer, must be either gl.DYNAMIC_DRAW, gl.STATIC_DRAW or gl.STREAM_DRAW");var i=t.createBuffer(),a=new s(t,r,i,0,n);return a.update(e),a}},{ndarray:495,"ndarray-ops":490,"typedarray-pool":595}],260:[function(t,e,r){"use strict";var n=t("gl-vec3");e.exports=function(t,e){var r=t.positions,i=t.vectors,a={positions:[],vertexIntensity:[],vertexIntensityBounds:t.vertexIntensityBounds,vectors:[],cells:[],coneOffset:t.coneOffset,colormap:t.colormap};if(0===t.positions.length)return e&&(e[0]=[0,0,0],e[1]=[0,0,0]),a;for(var o=0,s=1/0,l=-1/0,c=1/0,u=-1/0,f=1/0,h=-1/0,p=null,d=null,g=[],m=1/0,v=!1,y=0;y<r.length;y++){var x=r[y];s=Math.min(x[0],s),l=Math.max(x[0],l),c=Math.min(x[1],c),u=Math.max(x[1],u),f=Math.min(x[2],f),h=Math.max(x[2],h);var b=i[y];if(n.length(b)>o&&(o=n.length(b)),y){var _=2*n.distance(p,x)/(n.length(d)+n.length(b));_?(m=Math.min(m,_),v=!1):v=!0}v||(p=x,d=b),g.push(b)}var w=[s,c,f],T=[l,u,h];e&&(e[0]=w,e[1]=T),0===o&&(o=1);var k=1/o;isFinite(m)||(m=1),a.vectorScale=m;var M=t.coneSize||.5;t.absoluteConeSize&&(M=t.absoluteConeSize*k),a.coneScale=M;y=0;for(var A=0;y<r.length;y++)for(var S=(x=r[y])[0],E=x[1],C=x[2],L=g[y],I=n.length(L)*k,P=0;P<8;P++){a.positions.push([S,E,C,A++]),a.positions.push([S,E,C,A++]),a.positions.push([S,E,C,A++]),a.positions.push([S,E,C,A++]),a.positions.push([S,E,C,A++]),a.positions.push([S,E,C,A++]),a.vectors.push(L),a.vectors.push(L),a.vectors.push(L),a.vectors.push(L),a.vectors.push(L),a.vectors.push(L),a.vertexIntensity.push(I,I,I),a.vertexIntensity.push(I,I,I);var z=a.positions.length;a.cells.push([z-6,z-5,z-4],[z-3,z-2,z-1])}return a};var i=t("./lib/shaders");e.exports.createMesh=t("./create_mesh"),e.exports.createConeMesh=function(t,r){return e.exports.createMesh(t,r,{shaders:i,traceType:"cone"})}},{"./create_mesh":261,"./lib/shaders":262,"gl-vec3":377}],261:[function(t,e,r){"use strict";var n=t("gl-shader"),i=t("gl-buffer"),a=t("gl-vao"),o=t("gl-texture2d"),s=t("gl-mat4/multiply"),l=t("gl-mat4/invert"),c=t("ndarray"),u=t("colormap"),f=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function h(t,e,r,n,i,a,o,s,l,c,u){this.gl=t,this.pixelRatio=1,this.cells=[],this.positions=[],this.intensity=[],this.texture=e,this.dirty=!0,this.triShader=r,this.pickShader=n,this.trianglePositions=i,this.triangleVectors=a,this.triangleColors=s,this.triangleUVs=l,this.triangleIds=o,this.triangleVAO=c,this.triangleCount=0,this.pickId=1,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.lightPosition=[1e5,1e5,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.opacity=1,this.traceType=u,this.tubeScale=1,this.coneScale=2,this.vectorScale=1,this.coneOffset=.25,this._model=f,this._view=f,this._projection=f,this._resolution=[1,1]}var p=h.prototype;function d(t,e){var r=n(t,e.meshShader.vertex,e.meshShader.fragment,null,e.meshShader.attributes);return r.attributes.position.location=0,r.attributes.color.location=2,r.attributes.uv.location=3,r.attributes.vector.location=4,r}function g(t,e){var r=n(t,e.pickShader.vertex,e.pickShader.fragment,null,e.pickShader.attributes);return r.attributes.position.location=0,r.attributes.id.location=1,r.attributes.vector.location=4,r}p.isOpaque=function(){return this.opacity>=1},p.isTransparent=function(){return this.opacity<1},p.pickSlots=1,p.setPickBase=function(t){this.pickId=t},p.update=function(t){t=t||{};var e=this.gl;this.dirty=!0,"lightPosition"in t&&(this.lightPosition=t.lightPosition),"opacity"in t&&(this.opacity=t.opacity),"ambient"in t&&(this.ambientLight=t.ambient),"diffuse"in t&&(this.diffuseLight=t.diffuse),"specular"in t&&(this.specularLight=t.specular),"roughness"in t&&(this.roughness=t.roughness),"fresnel"in t&&(this.fresnel=t.fresnel),void 0!==t.tubeScale&&(this.tubeScale=t.tubeScale),void 0!==t.vectorScale&&(this.vectorScale=t.vectorScale),void 0!==t.coneScale&&(this.coneScale=t.coneScale),void 0!==t.coneOffset&&(this.coneOffset=t.coneOffset),t.colormap&&(this.texture.shape=[256,256],this.texture.minFilter=e.LINEAR_MIPMAP_LINEAR,this.texture.magFilter=e.LINEAR,this.texture.setPixels(function(t){for(var e=u({colormap:t,nshades:256,format:"rgba"}),r=new Uint8Array(1024),n=0;n<256;++n){for(var i=e[n],a=0;a<3;++a)r[4*n+a]=i[a];r[4*n+3]=255*i[3]}return c(r,[256,256,4],[4,0,1])}(t.colormap)),this.texture.generateMipmap());var r=t.cells,n=t.positions,i=t.vectors;if(n&&r&&i){var a=[],o=[],s=[],l=[],f=[];this.cells=r,this.positions=n,this.vectors=i;var h=t.meshColor||[1,1,1,1],p=t.vertexIntensity,d=1/0,g=-1/0;if(p)if(t.vertexIntensityBounds)d=+t.vertexIntensityBounds[0],g=+t.vertexIntensityBounds[1];else for(var m=0;m<p.length;++m){var v=p[m];d=Math.min(d,v),g=Math.max(g,v)}else for(m=0;m<n.length;++m){v=n[m][2];d=Math.min(d,v),g=Math.max(g,v)}this.intensity=p||function(t){for(var e=t.length,r=new Array(e),n=0;n<e;++n)r[n]=t[n][2];return r}(n),this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]];for(m=0;m<n.length;++m)for(var y=n[m],x=0;x<3;++x)!isNaN(y[x])&&isFinite(y[x])&&(this.bounds[0][x]=Math.min(this.bounds[0][x],y[x]),this.bounds[1][x]=Math.max(this.bounds[1][x],y[x]));var b=0;t:for(m=0;m<r.length;++m){var _=r[m];switch(_.length){case 3:for(x=0;x<3;++x){y=n[T=_[x]];for(var w=0;w<3;++w)if(isNaN(y[w])||!isFinite(y[w]))continue t}for(x=0;x<3;++x){var T;y=n[T=_[2-x]];a.push(y[0],y[1],y[2],y[3]);var k=i[T];o.push(k[0],k[1],k[2],k[3]||0);var M,A=h;3===A.length?s.push(A[0],A[1],A[2],1):s.push(A[0],A[1],A[2],A[3]),M=p?[(p[T]-d)/(g-d),0]:[(y[2]-d)/(g-d),0],l.push(M[0],M[1]),f.push(m)}b+=1}}this.triangleCount=b,this.trianglePositions.update(a),this.triangleVectors.update(o),this.triangleColors.update(s),this.triangleUVs.update(l),this.triangleIds.update(new Uint32Array(f))}},p.drawTransparent=p.draw=function(t){t=t||{};for(var e=this.gl,r=t.model||f,n=t.view||f,i=t.projection||f,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)a[0][o]=Math.max(a[0][o],this.clipBounds[0][o]),a[1][o]=Math.min(a[1][o],this.clipBounds[1][o]);var c={model:r,view:n,projection:i,inverseModel:f.slice(),clipBounds:a,kambient:this.ambientLight,kdiffuse:this.diffuseLight,kspecular:this.specularLight,roughness:this.roughness,fresnel:this.fresnel,eyePosition:[0,0,0],lightPosition:[0,0,0],opacity:this.opacity,tubeScale:this.tubeScale,vectorScale:this.vectorScale,coneScale:this.coneScale,coneOffset:this.coneOffset,texture:0};c.inverseModel=l(c.inverseModel,c.model),e.disable(e.CULL_FACE),this.texture.bind(0);var u=new Array(16);s(u,c.view,c.model),s(u,c.projection,u),l(u,u);for(o=0;o<3;++o)c.eyePosition[o]=u[12+o]/u[15];var h=u[15];for(o=0;o<3;++o)h+=this.lightPosition[o]*u[4*o+3];for(o=0;o<3;++o){for(var p=u[12+o],d=0;d<3;++d)p+=u[4*d+o]*this.lightPosition[d];c.lightPosition[o]=p/h}if(this.triangleCount>0){var g=this.triShader;g.bind(),g.uniforms=c,this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()}},p.drawPick=function(t){t=t||{};for(var e=this.gl,r=t.model||f,n=t.view||f,i=t.projection||f,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)a[0][o]=Math.max(a[0][o],this.clipBounds[0][o]),a[1][o]=Math.min(a[1][o],this.clipBounds[1][o]);this._model=[].slice.call(r),this._view=[].slice.call(n),this._projection=[].slice.call(i),this._resolution=[e.drawingBufferWidth,e.drawingBufferHeight];var s={model:r,view:n,projection:i,clipBounds:a,tubeScale:this.tubeScale,vectorScale:this.vectorScale,coneScale:this.coneScale,coneOffset:this.coneOffset,pickId:this.pickId/255},l=this.pickShader;l.bind(),l.uniforms=s,this.triangleCount>0&&(this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind())},p.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;var e=t.value[0]+256*t.value[1]+65536*t.value[2],r=this.cells[e],n=this.positions[r[1]].slice(0,3),i={position:n,dataCoordinate:n,index:Math.floor(r[1]/48)};return"cone"===this.traceType?i.index=Math.floor(r[1]/48):"streamtube"===this.traceType&&(i.intensity=this.intensity[r[1]],i.velocity=this.vectors[r[1]].slice(0,3),i.divergence=this.vectors[r[1]][3],i.index=e),i},p.dispose=function(){this.texture.dispose(),this.triShader.dispose(),this.pickShader.dispose(),this.triangleVAO.dispose(),this.trianglePositions.dispose(),this.triangleVectors.dispose(),this.triangleColors.dispose(),this.triangleUVs.dispose(),this.triangleIds.dispose()},e.exports=function(t,e,r){var n=r.shaders;1===arguments.length&&(t=(e=t).gl);var s=d(t,n),l=g(t,n),u=o(t,c(new Uint8Array([255,255,255,255]),[1,1,4]));u.generateMipmap(),u.minFilter=t.LINEAR_MIPMAP_LINEAR,u.magFilter=t.LINEAR;var f=i(t),p=i(t),m=i(t),v=i(t),y=i(t),x=a(t,[{buffer:f,type:t.FLOAT,size:4},{buffer:y,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:m,type:t.FLOAT,size:4},{buffer:v,type:t.FLOAT,size:2},{buffer:p,type:t.FLOAT,size:4}]),b=new h(t,u,s,l,f,p,y,m,v,x,r.traceType||"cone");return b.update(e),b}},{colormap:131,"gl-buffer":259,"gl-mat4/invert":293,"gl-mat4/multiply":295,"gl-shader":335,"gl-texture2d":353,"gl-vao":358,ndarray:495}],262:[function(t,e,r){var n=t("glslify"),i=n(["precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n // Return up-vector for only-z vector.\n // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the cone vertex and normal at the given index.\n//\n// The returned vertex is for a cone with its top at origin and height of 1.0,\n// pointing in the direction of the vector attribute.\n//\n// Each cone is made up of a top vertex, a center base vertex and base perimeter vertices.\n// These vertices are used to make up the triangles of the cone by the following:\n// segment + 0 top vertex\n// segment + 1 perimeter vertex a+1\n// segment + 2 perimeter vertex a\n// segment + 3 center base vertex\n// segment + 4 perimeter vertex a\n// segment + 5 perimeter vertex a+1\n// Where segment is the number of the radial segment * 6 and a is the angle at that radial segment.\n// To go from index to segment, floor(index / 6)\n// To go from segment to angle, 2*pi * (segment/segmentCount)\n// To go from index to segment index, index - (segment*6)\n//\nvec3 getConePosition(vec3 d, float rawIndex, float coneOffset, out vec3 normal) {\n\n const float segmentCount = 8.0;\n\n float index = rawIndex - floor(rawIndex /\n (segmentCount * 6.0)) *\n (segmentCount * 6.0);\n\n float segment = floor(0.001 + index/6.0);\n float segmentIndex = index - (segment*6.0);\n\n normal = -normalize(d);\n\n if (segmentIndex > 2.99 && segmentIndex < 3.01) {\n return mix(vec3(0.0), -d, coneOffset);\n }\n\n float nextAngle = (\n (segmentIndex > 0.99 && segmentIndex < 1.01) ||\n (segmentIndex > 4.99 && segmentIndex < 5.01)\n ) ? 1.0 : 0.0;\n float angle = 2.0 * 3.14159 * ((segment + nextAngle) / segmentCount);\n\n vec3 v1 = mix(d, vec3(0.0), coneOffset);\n vec3 v2 = v1 - d;\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d)*0.25;\n vec3 y = v * sin(angle) * length(d)*0.25;\n vec3 v3 = v2 + x + y;\n if (segmentIndex < 3.0) {\n vec3 tx = u * sin(angle);\n vec3 ty = v * -cos(angle);\n vec3 tangent = tx + ty;\n normal = normalize(cross(v3 - v1, tangent));\n }\n\n if (segmentIndex == 0.0) {\n return mix(d, vec3(0.0), coneOffset);\n }\n return v3;\n}\n\nattribute vec3 vector;\nattribute vec4 color, position;\nattribute vec2 uv;\n\nuniform float vectorScale, coneScale, coneOffset;\nuniform mat4 model, view, projection, inverseModel;\nuniform vec3 eyePosition, lightPosition;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n // Scale the vector magnitude to stay constant with\n // model & view changes.\n vec3 normal;\n vec3 XYZ = getConePosition(mat3(model) * ((vectorScale * coneScale) * vector), position.w, coneOffset, normal);\n vec4 conePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n\n //Lighting geometry parameters\n vec4 cameraCoordinate = view * conePosition;\n cameraCoordinate.xyz /= cameraCoordinate.w;\n f_lightDirection = lightPosition - cameraCoordinate.xyz;\n f_eyeDirection = eyePosition - cameraCoordinate.xyz;\n f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\n\n // vec4 m_position = model * vec4(conePosition, 1.0);\n vec4 t_position = view * conePosition;\n gl_Position = projection * t_position;\n\n f_color = color;\n f_data = conePosition.xyz;\n f_position = position.xyz;\n f_uv = uv;\n}\n"]),a=n(["#extension GL_OES_standard_derivatives : enable\n\nprecision highp float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution(float x, float roughness) {\n float NdotH = max(x, 0.0001);\n float cos2Alpha = NdotH * NdotH;\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n float roughness2 = roughness * roughness;\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n return exp(tan2Alpha / roughness2) / denom;\n}\n\nfloat cookTorranceSpecular(\n vec3 lightDirection,\n vec3 viewDirection,\n vec3 surfaceNormal,\n float roughness,\n float fresnel) {\n\n float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\n float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\n\n //Half angle vector\n vec3 H = normalize(lightDirection + viewDirection);\n\n //Geometric term\n float NdotH = max(dot(surfaceNormal, H), 0.0);\n float VdotH = max(dot(viewDirection, H), 0.000001);\n float LdotH = max(dot(lightDirection, H), 0.000001);\n float G1 = (2.0 * NdotH * VdotN) / VdotH;\n float G2 = (2.0 * NdotH * LdotN) / LdotH;\n float G = min(1.0, min(G1, G2));\n \n //Distribution term\n float D = beckmannDistribution(NdotH, roughness);\n\n //Fresnel term\n float F = pow(1.0 - VdotN, fresnel);\n\n //Multiply terms and done\n return G * F * D / max(3.14159265 * VdotN, 0.000001);\n}\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\nuniform sampler2D texture;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n vec3 N = normalize(f_normal);\n vec3 L = normalize(f_lightDirection);\n vec3 V = normalize(f_eyeDirection);\n\n if(gl_FrontFacing) {\n N = -N;\n }\n\n float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n vec4 surfaceColor = f_color * texture2D(texture, f_uv);\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\n\n gl_FragColor = litColor * opacity;\n}\n"]),o=n(["precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n // Return up-vector for only-z vector.\n // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the cone vertex and normal at the given index.\n//\n// The returned vertex is for a cone with its top at origin and height of 1.0,\n// pointing in the direction of the vector attribute.\n//\n// Each cone is made up of a top vertex, a center base vertex and base perimeter vertices.\n// These vertices are used to make up the triangles of the cone by the following:\n// segment + 0 top vertex\n// segment + 1 perimeter vertex a+1\n// segment + 2 perimeter vertex a\n// segment + 3 center base vertex\n// segment + 4 perimeter vertex a\n// segment + 5 perimeter vertex a+1\n// Where segment is the number of the radial segment * 6 and a is the angle at that radial segment.\n// To go from index to segment, floor(index / 6)\n// To go from segment to angle, 2*pi * (segment/segmentCount)\n// To go from index to segment index, index - (segment*6)\n//\nvec3 getConePosition(vec3 d, float rawIndex, float coneOffset, out vec3 normal) {\n\n const float segmentCount = 8.0;\n\n float index = rawIndex - floor(rawIndex /\n (segmentCount * 6.0)) *\n (segmentCount * 6.0);\n\n float segment = floor(0.001 + index/6.0);\n float segmentIndex = index - (segment*6.0);\n\n normal = -normalize(d);\n\n if (segmentIndex > 2.99 && segmentIndex < 3.01) {\n return mix(vec3(0.0), -d, coneOffset);\n }\n\n float nextAngle = (\n (segmentIndex > 0.99 && segmentIndex < 1.01) ||\n (segmentIndex > 4.99 && segmentIndex < 5.01)\n ) ? 1.0 : 0.0;\n float angle = 2.0 * 3.14159 * ((segment + nextAngle) / segmentCount);\n\n vec3 v1 = mix(d, vec3(0.0), coneOffset);\n vec3 v2 = v1 - d;\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d)*0.25;\n vec3 y = v * sin(angle) * length(d)*0.25;\n vec3 v3 = v2 + x + y;\n if (segmentIndex < 3.0) {\n vec3 tx = u * sin(angle);\n vec3 ty = v * -cos(angle);\n vec3 tangent = tx + ty;\n normal = normalize(cross(v3 - v1, tangent));\n }\n\n if (segmentIndex == 0.0) {\n return mix(d, vec3(0.0), coneOffset);\n }\n return v3;\n}\n\nattribute vec4 vector;\nattribute vec4 position;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform float vectorScale, coneScale, coneOffset;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n vec3 normal;\n vec3 XYZ = getConePosition(mat3(model) * ((vectorScale * coneScale) * vector.xyz), position.w, coneOffset, normal);\n vec4 conePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n gl_Position = projection * view * conePosition;\n f_id = id;\n f_position = position.xyz;\n}\n"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n\n gl_FragColor = vec4(pickId, f_id.xyz);\n}"]);r.meshShader={vertex:i,fragment:a,attributes:[{name:"position",type:"vec4"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"vector",type:"vec3"}]},r.pickShader={vertex:o,fragment:s,attributes:[{name:"position",type:"vec4"},{name:"id",type:"vec4"},{name:"vector",type:"vec3"}]}},{glslify:263}],263:[function(t,e,r){arguments[4][257][0].apply(r,arguments)},{dup:257}],264:[function(t,e,r){e.exports={0:"NONE",1:"ONE",2:"LINE_LOOP",3:"LINE_STRIP",4:"TRIANGLES",5:"TRIANGLE_STRIP",6:"TRIANGLE_FAN",256:"DEPTH_BUFFER_BIT",512:"NEVER",513:"LESS",514:"EQUAL",515:"LEQUAL",516:"GREATER",517:"NOTEQUAL",518:"GEQUAL",519:"ALWAYS",768:"SRC_COLOR",769:"ONE_MINUS_SRC_COLOR",770:"SRC_ALPHA",771:"ONE_MINUS_SRC_ALPHA",772:"DST_ALPHA",773:"ONE_MINUS_DST_ALPHA",774:"DST_COLOR",775:"ONE_MINUS_DST_COLOR",776:"SRC_ALPHA_SATURATE",1024:"STENCIL_BUFFER_BIT",1028:"FRONT",1029:"BACK",1032:"FRONT_AND_BACK",1280:"INVALID_ENUM",1281:"INVALID_VALUE",1282:"INVALID_OPERATION",1285:"OUT_OF_MEMORY",1286:"INVALID_FRAMEBUFFER_OPERATION",2304:"CW",2305:"CCW",2849:"LINE_WIDTH",2884:"CULL_FACE",2885:"CULL_FACE_MODE",2886:"FRONT_FACE",2928:"DEPTH_RANGE",2929:"DEPTH_TEST",2930:"DEPTH_WRITEMASK",2931:"DEPTH_CLEAR_VALUE",2932:"DEPTH_FUNC",2960:"STENCIL_TEST",2961:"STENCIL_CLEAR_VALUE",2962:"STENCIL_FUNC",2963:"STENCIL_VALUE_MASK",2964:"STENCIL_FAIL",2965:"STENCIL_PASS_DEPTH_FAIL",2966:"STENCIL_PASS_DEPTH_PASS",2967:"STENCIL_REF",2968:"STENCIL_WRITEMASK",2978:"VIEWPORT",3024:"DITHER",3042:"BLEND",3088:"SCISSOR_BOX",3089:"SCISSOR_TEST",3106:"COLOR_CLEAR_VALUE",3107:"COLOR_WRITEMASK",3317:"UNPACK_ALIGNMENT",3333:"PACK_ALIGNMENT",3379:"MAX_TEXTURE_SIZE",3386:"MAX_VIEWPORT_DIMS",3408:"SUBPIXEL_BITS",3410:"RED_BITS",3411:"GREEN_BITS",3412:"BLUE_BITS",3413:"ALPHA_BITS",3414:"DEPTH_BITS",3415:"STENCIL_BITS",3553:"TEXTURE_2D",4352:"DONT_CARE",4353:"FASTEST",4354:"NICEST",5120:"BYTE",5121:"UNSIGNED_BYTE",5122:"SHORT",5123:"UNSIGNED_SHORT",5124:"INT",5125:"UNSIGNED_INT",5126:"FLOAT",5386:"INVERT",5890:"TEXTURE",6401:"STENCIL_INDEX",6402:"DEPTH_COMPONENT",6406:"ALPHA",6407:"RGB",6408:"RGBA",6409:"LUMINANCE",6410:"LUMINANCE_ALPHA",7680:"KEEP",7681:"REPLACE",7682:"INCR",7683:"DECR",7936:"VENDOR",7937:"RENDERER",7938:"VERSION",9728:"NEAREST",9729:"LINEAR",9984:"NEAREST_MIPMAP_NEAREST",9985:"LINEAR_MIPMAP_NEAREST",9986:"NEAREST_MIPMAP_LINEAR",9987:"LINEAR_MIPMAP_LINEAR",10240:"TEXTURE_MAG_FILTER",10241:"TEXTURE_MIN_FILTER",10242:"TEXTURE_WRAP_S",10243:"TEXTURE_WRAP_T",10497:"REPEAT",10752:"POLYGON_OFFSET_UNITS",16384:"COLOR_BUFFER_BIT",32769:"CONSTANT_COLOR",32770:"ONE_MINUS_CONSTANT_COLOR",32771:"CONSTANT_ALPHA",32772:"ONE_MINUS_CONSTANT_ALPHA",32773:"BLEND_COLOR",32774:"FUNC_ADD",32777:"BLEND_EQUATION_RGB",32778:"FUNC_SUBTRACT",32779:"FUNC_REVERSE_SUBTRACT",32819:"UNSIGNED_SHORT_4_4_4_4",32820:"UNSIGNED_SHORT_5_5_5_1",32823:"POLYGON_OFFSET_FILL",32824:"POLYGON_OFFSET_FACTOR",32854:"RGBA4",32855:"RGB5_A1",32873:"TEXTURE_BINDING_2D",32926:"SAMPLE_ALPHA_TO_COVERAGE",32928:"SAMPLE_COVERAGE",32936:"SAMPLE_BUFFERS",32937:"SAMPLES",32938:"SAMPLE_COVERAGE_VALUE",32939:"SAMPLE_COVERAGE_INVERT",32968:"BLEND_DST_RGB",32969:"BLEND_SRC_RGB",32970:"BLEND_DST_ALPHA",32971:"BLEND_SRC_ALPHA",33071:"CLAMP_TO_EDGE",33170:"GENERATE_MIPMAP_HINT",33189:"DEPTH_COMPONENT16",33306:"DEPTH_STENCIL_ATTACHMENT",33635:"UNSIGNED_SHORT_5_6_5",33648:"MIRRORED_REPEAT",33901:"ALIASED_POINT_SIZE_RANGE",33902:"ALIASED_LINE_WIDTH_RANGE",33984:"TEXTURE0",33985:"TEXTURE1",33986:"TEXTURE2",33987:"TEXTURE3",33988:"TEXTURE4",33989:"TEXTURE5",33990:"TEXTURE6",33991:"TEXTURE7",33992:"TEXTURE8",33993:"TEXTURE9",33994:"TEXTURE10",33995:"TEXTURE11",33996:"TEXTURE12",33997:"TEXTURE13",33998:"TEXTURE14",33999:"TEXTURE15",34e3:"TEXTURE16",34001:"TEXTURE17",34002:"TEXTURE18",34003:"TEXTURE19",34004:"TEXTURE20",34005:"TEXTURE21",34006:"TEXTURE22",34007:"TEXTURE23",34008:"TEXTURE24",34009:"TEXTURE25",34010:"TEXTURE26",34011:"TEXTURE27",34012:"TEXTURE28",34013:"TEXTURE29",34014:"TEXTURE30",34015:"TEXTURE31",34016:"ACTIVE_TEXTURE",34024:"MAX_RENDERBUFFER_SIZE",34041:"DEPTH_STENCIL",34055:"INCR_WRAP",34056:"DECR_WRAP",34067:"TEXTURE_CUBE_MAP",34068:"TEXTURE_BINDING_CUBE_MAP",34069:"TEXTURE_CUBE_MAP_POSITIVE_X",34070:"TEXTURE_CUBE_MAP_NEGATIVE_X",34071:"TEXTURE_CUBE_MAP_POSITIVE_Y",34072:"TEXTURE_CUBE_MAP_NEGATIVE_Y",34073:"TEXTURE_CUBE_MAP_POSITIVE_Z",34074:"TEXTURE_CUBE_MAP_NEGATIVE_Z",34076:"MAX_CUBE_MAP_TEXTURE_SIZE",34338:"VERTEX_ATTRIB_ARRAY_ENABLED",34339:"VERTEX_ATTRIB_ARRAY_SIZE",34340:"VERTEX_ATTRIB_ARRAY_STRIDE",34341:"VERTEX_ATTRIB_ARRAY_TYPE",34342:"CURRENT_VERTEX_ATTRIB",34373:"VERTEX_ATTRIB_ARRAY_POINTER",34466:"NUM_COMPRESSED_TEXTURE_FORMATS",34467:"COMPRESSED_TEXTURE_FORMATS",34660:"BUFFER_SIZE",34661:"BUFFER_USAGE",34816:"STENCIL_BACK_FUNC",34817:"STENCIL_BACK_FAIL",34818:"STENCIL_BACK_PASS_DEPTH_FAIL",34819:"STENCIL_BACK_PASS_DEPTH_PASS",34877:"BLEND_EQUATION_ALPHA",34921:"MAX_VERTEX_ATTRIBS",34922:"VERTEX_ATTRIB_ARRAY_NORMALIZED",34930:"MAX_TEXTURE_IMAGE_UNITS",34962:"ARRAY_BUFFER",34963:"ELEMENT_ARRAY_BUFFER",34964:"ARRAY_BUFFER_BINDING",34965:"ELEMENT_ARRAY_BUFFER_BINDING",34975:"VERTEX_ATTRIB_ARRAY_BUFFER_BINDING",35040:"STREAM_DRAW",35044:"STATIC_DRAW",35048:"DYNAMIC_DRAW",35632:"FRAGMENT_SHADER",35633:"VERTEX_SHADER",35660:"MAX_VERTEX_TEXTURE_IMAGE_UNITS",35661:"MAX_COMBINED_TEXTURE_IMAGE_UNITS",35663:"SHADER_TYPE",35664:"FLOAT_VEC2",35665:"FLOAT_VEC3",35666:"FLOAT_VEC4",35667:"INT_VEC2",35668:"INT_VEC3",35669:"INT_VEC4",35670:"BOOL",35671:"BOOL_VEC2",35672:"BOOL_VEC3",35673:"BOOL_VEC4",35674:"FLOAT_MAT2",35675:"FLOAT_MAT3",35676:"FLOAT_MAT4",35678:"SAMPLER_2D",35680:"SAMPLER_CUBE",35712:"DELETE_STATUS",35713:"COMPILE_STATUS",35714:"LINK_STATUS",35715:"VALIDATE_STATUS",35716:"INFO_LOG_LENGTH",35717:"ATTACHED_SHADERS",35718:"ACTIVE_UNIFORMS",35719:"ACTIVE_UNIFORM_MAX_LENGTH",35720:"SHADER_SOURCE_LENGTH",35721:"ACTIVE_ATTRIBUTES",35722:"ACTIVE_ATTRIBUTE_MAX_LENGTH",35724:"SHADING_LANGUAGE_VERSION",35725:"CURRENT_PROGRAM",36003:"STENCIL_BACK_REF",36004:"STENCIL_BACK_VALUE_MASK",36005:"STENCIL_BACK_WRITEMASK",36006:"FRAMEBUFFER_BINDING",36007:"RENDERBUFFER_BINDING",36048:"FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE",36049:"FRAMEBUFFER_ATTACHMENT_OBJECT_NAME",36050:"FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL",36051:"FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE",36053:"FRAMEBUFFER_COMPLETE",36054:"FRAMEBUFFER_INCOMPLETE_ATTACHMENT",36055:"FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT",36057:"FRAMEBUFFER_INCOMPLETE_DIMENSIONS",36061:"FRAMEBUFFER_UNSUPPORTED",36064:"COLOR_ATTACHMENT0",36096:"DEPTH_ATTACHMENT",36128:"STENCIL_ATTACHMENT",36160:"FRAMEBUFFER",36161:"RENDERBUFFER",36162:"RENDERBUFFER_WIDTH",36163:"RENDERBUFFER_HEIGHT",36164:"RENDERBUFFER_INTERNAL_FORMAT",36168:"STENCIL_INDEX8",36176:"RENDERBUFFER_RED_SIZE",36177:"RENDERBUFFER_GREEN_SIZE",36178:"RENDERBUFFER_BLUE_SIZE",36179:"RENDERBUFFER_ALPHA_SIZE",36180:"RENDERBUFFER_DEPTH_SIZE",36181:"RENDERBUFFER_STENCIL_SIZE",36194:"RGB565",36336:"LOW_FLOAT",36337:"MEDIUM_FLOAT",36338:"HIGH_FLOAT",36339:"LOW_INT",36340:"MEDIUM_INT",36341:"HIGH_INT",36346:"SHADER_COMPILER",36347:"MAX_VERTEX_UNIFORM_VECTORS",36348:"MAX_VARYING_VECTORS",36349:"MAX_FRAGMENT_UNIFORM_VECTORS",37440:"UNPACK_FLIP_Y_WEBGL",37441:"UNPACK_PREMULTIPLY_ALPHA_WEBGL",37442:"CONTEXT_LOST_WEBGL",37443:"UNPACK_COLORSPACE_CONVERSION_WEBGL",37444:"BROWSER_DEFAULT_WEBGL"}},{}],265:[function(t,e,r){var n=t("./1.0/numbers");e.exports=function(t){return n[t]}},{"./1.0/numbers":264}],266:[function(t,e,r){"use strict";e.exports=function(t){var e=t.gl,r=n(e),o=i(e,[{buffer:r,type:e.FLOAT,size:3,offset:0,stride:40},{buffer:r,type:e.FLOAT,size:4,offset:12,stride:40},{buffer:r,type:e.FLOAT,size:3,offset:28,stride:40}]),l=a(e);l.attributes.position.location=0,l.attributes.color.location=1,l.attributes.offset.location=2;var c=new s(e,r,o,l);return c.update(t),c};var n=t("gl-buffer"),i=t("gl-vao"),a=t("./shaders/index"),o=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function s(t,e,r,n){this.gl=t,this.shader=n,this.buffer=e,this.vao=r,this.pixelRatio=1,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.lineWidth=[1,1,1],this.capSize=[10,10,10],this.lineCount=[0,0,0],this.lineOffset=[0,0,0],this.opacity=1,this.hasAlpha=!1}var l=s.prototype;function c(t,e){for(var r=0;r<3;++r)t[0][r]=Math.min(t[0][r],e[r]),t[1][r]=Math.max(t[1][r],e[r])}l.isOpaque=function(){return!this.hasAlpha},l.isTransparent=function(){return this.hasAlpha},l.drawTransparent=l.draw=function(t){var e=this.gl,r=this.shader.uniforms;this.shader.bind();var n=r.view=t.view||o,i=r.projection=t.projection||o;r.model=t.model||o,r.clipBounds=this.clipBounds,r.opacity=this.opacity;var a=n[12],s=n[13],l=n[14],c=n[15],u=(t._ortho||!1?2:1)*this.pixelRatio*(i[3]*a+i[7]*s+i[11]*l+i[15]*c)/e.drawingBufferHeight;this.vao.bind();for(var f=0;f<3;++f)e.lineWidth(this.lineWidth[f]*this.pixelRatio),r.capSize=this.capSize[f]*u,this.lineCount[f]&&e.drawArrays(e.LINES,this.lineOffset[f],this.lineCount[f]);this.vao.unbind()};var u=function(){for(var t=new Array(3),e=0;e<3;++e){for(var r=[],n=1;n<=2;++n)for(var i=-1;i<=1;i+=2){var a=[0,0,0];a[(n+e)%3]=i,r.push(a)}t[e]=r}return t}();function f(t,e,r,n){for(var i=u[n],a=0;a<i.length;++a){var o=i[a];t.push(e[0],e[1],e[2],r[0],r[1],r[2],r[3],o[0],o[1],o[2])}return i.length}l.update=function(t){"lineWidth"in(t=t||{})&&(this.lineWidth=t.lineWidth,Array.isArray(this.lineWidth)||(this.lineWidth=[this.lineWidth,this.lineWidth,this.lineWidth])),"capSize"in t&&(this.capSize=t.capSize,Array.isArray(this.capSize)||(this.capSize=[this.capSize,this.capSize,this.capSize])),this.hasAlpha=!1,"opacity"in t&&(this.opacity=+t.opacity,this.opacity<1&&(this.hasAlpha=!0));var e=t.color||[[0,0,0],[0,0,0],[0,0,0]],r=t.position,n=t.error;if(Array.isArray(e[0])||(e=[e,e,e]),r&&n){var i=[],a=r.length,o=0;this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.lineCount=[0,0,0];for(var s=0;s<3;++s){this.lineOffset[s]=o;t:for(var l=0;l<a;++l){for(var u=r[l],h=0;h<3;++h)if(isNaN(u[h])||!isFinite(u[h]))continue t;var p=n[l],d=e[s];if(Array.isArray(d[0])&&(d=e[l]),3===d.length?d=[d[0],d[1],d[2],1]:4===d.length&&(d=[d[0],d[1],d[2],d[3]],!this.hasAlpha&&d[3]<1&&(this.hasAlpha=!0)),!isNaN(p[0][s])&&!isNaN(p[1][s])){var g;if(p[0][s]<0)(g=u.slice())[s]+=p[0][s],i.push(u[0],u[1],u[2],d[0],d[1],d[2],d[3],0,0,0,g[0],g[1],g[2],d[0],d[1],d[2],d[3],0,0,0),c(this.bounds,g),o+=2+f(i,g,d,s);if(p[1][s]>0)(g=u.slice())[s]+=p[1][s],i.push(u[0],u[1],u[2],d[0],d[1],d[2],d[3],0,0,0,g[0],g[1],g[2],d[0],d[1],d[2],d[3],0,0,0),c(this.bounds,g),o+=2+f(i,g,d,s)}}this.lineCount[s]=o-this.lineOffset[s]}this.buffer.update(i)}},l.dispose=function(){this.shader.dispose(),this.buffer.dispose(),this.vao.dispose()}},{"./shaders/index":268,"gl-buffer":259,"gl-vao":358}],267:[function(t,e,r){arguments[4][257][0].apply(r,arguments)},{dup:257}],268:[function(t,e,r){"use strict";var n=t("glslify"),i=t("gl-shader"),a=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position, offset;\nattribute vec4 color;\nuniform mat4 model, view, projection;\nuniform float capSize;\nvarying vec4 fragColor;\nvarying vec3 fragPosition;\n\nvoid main() {\n vec4 worldPosition = model * vec4(position, 1.0);\n worldPosition = (worldPosition / worldPosition.w) + vec4(capSize * offset, 0.0);\n gl_Position = projection * view * worldPosition;\n fragColor = color;\n fragPosition = position;\n}"]),o=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float opacity;\nvarying vec3 fragPosition;\nvarying vec4 fragColor;\n\nvoid main() {\n if (\n outOfRange(clipBounds[0], clipBounds[1], fragPosition) ||\n fragColor.a * opacity == 0.\n ) discard;\n\n gl_FragColor = opacity * fragColor;\n}"]);e.exports=function(t){return i(t,a,o,null,[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"offset",type:"vec3"}])}},{"gl-shader":335,glslify:267}],269:[function(t,e,r){"use strict";var n=t("gl-texture2d");e.exports=function(t,e,r,n){i||(i=t.FRAMEBUFFER_UNSUPPORTED,a=t.FRAMEBUFFER_INCOMPLETE_ATTACHMENT,o=t.FRAMEBUFFER_INCOMPLETE_DIMENSIONS,s=t.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT);var c=t.getExtension("WEBGL_draw_buffers");!l&&c&&function(t,e){var r=t.getParameter(e.MAX_COLOR_ATTACHMENTS_WEBGL);l=new Array(r+1);for(var n=0;n<=r;++n){for(var i=new Array(r),a=0;a<n;++a)i[a]=t.COLOR_ATTACHMENT0+a;for(a=n;a<r;++a)i[a]=t.NONE;l[n]=i}}(t,c);Array.isArray(e)&&(n=r,r=0|e[1],e=0|e[0]);if("number"!=typeof e)throw new Error("gl-fbo: Missing shape parameter");var u=t.getParameter(t.MAX_RENDERBUFFER_SIZE);if(e<0||e>u||r<0||r>u)throw new Error("gl-fbo: Parameters are too large for FBO");var f=1;if("color"in(n=n||{})){if((f=Math.max(0|n.color,0))<0)throw new Error("gl-fbo: Must specify a nonnegative number of colors");if(f>1){if(!c)throw new Error("gl-fbo: Multiple draw buffer extension not supported");if(f>t.getParameter(c.MAX_COLOR_ATTACHMENTS_WEBGL))throw new Error("gl-fbo: Context does not support "+f+" draw buffers")}}var h=t.UNSIGNED_BYTE,p=t.getExtension("OES_texture_float");if(n.float&&f>0){if(!p)throw new Error("gl-fbo: Context does not support floating point textures");h=t.FLOAT}else n.preferFloat&&f>0&&p&&(h=t.FLOAT);var g=!0;"depth"in n&&(g=!!n.depth);var m=!1;"stencil"in n&&(m=!!n.stencil);return new d(t,e,r,h,f,g,m,c)};var i,a,o,s,l=null;function c(t){return[t.getParameter(t.FRAMEBUFFER_BINDING),t.getParameter(t.RENDERBUFFER_BINDING),t.getParameter(t.TEXTURE_BINDING_2D)]}function u(t,e){t.bindFramebuffer(t.FRAMEBUFFER,e[0]),t.bindRenderbuffer(t.RENDERBUFFER,e[1]),t.bindTexture(t.TEXTURE_2D,e[2])}function f(t){switch(t){case i:throw new Error("gl-fbo: Framebuffer unsupported");case a:throw new Error("gl-fbo: Framebuffer incomplete attachment");case o:throw new Error("gl-fbo: Framebuffer incomplete dimensions");case s:throw new Error("gl-fbo: Framebuffer incomplete missing attachment");default:throw new Error("gl-fbo: Framebuffer failed for unspecified reason")}}function h(t,e,r,i,a,o){if(!i)return null;var s=n(t,e,r,a,i);return s.magFilter=t.NEAREST,s.minFilter=t.NEAREST,s.mipSamples=1,s.bind(),t.framebufferTexture2D(t.FRAMEBUFFER,o,t.TEXTURE_2D,s.handle,0),s}function p(t,e,r,n,i){var a=t.createRenderbuffer();return t.bindRenderbuffer(t.RENDERBUFFER,a),t.renderbufferStorage(t.RENDERBUFFER,n,e,r),t.framebufferRenderbuffer(t.FRAMEBUFFER,i,t.RENDERBUFFER,a),a}function d(t,e,r,n,i,a,o,s){this.gl=t,this._shape=[0|e,0|r],this._destroyed=!1,this._ext=s,this.color=new Array(i);for(var d=0;d<i;++d)this.color[d]=null;this._color_rb=null,this.depth=null,this._depth_rb=null,this._colorType=n,this._useDepth=a,this._useStencil=o;var g=this,m=[0|e,0|r];Object.defineProperties(m,{0:{get:function(){return g._shape[0]},set:function(t){return g.width=t}},1:{get:function(){return g._shape[1]},set:function(t){return g.height=t}}}),this._shapeVector=m,function(t){var e=c(t.gl),r=t.gl,n=t.handle=r.createFramebuffer(),i=t._shape[0],a=t._shape[1],o=t.color.length,s=t._ext,d=t._useStencil,g=t._useDepth,m=t._colorType;r.bindFramebuffer(r.FRAMEBUFFER,n);for(var v=0;v<o;++v)t.color[v]=h(r,i,a,m,r.RGBA,r.COLOR_ATTACHMENT0+v);0===o?(t._color_rb=p(r,i,a,r.RGBA4,r.COLOR_ATTACHMENT0),s&&s.drawBuffersWEBGL(l[0])):o>1&&s.drawBuffersWEBGL(l[o]);var y=r.getExtension("WEBGL_depth_texture");y?d?t.depth=h(r,i,a,y.UNSIGNED_INT_24_8_WEBGL,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):g&&(t.depth=h(r,i,a,r.UNSIGNED_SHORT,r.DEPTH_COMPONENT,r.DEPTH_ATTACHMENT)):g&&d?t._depth_rb=p(r,i,a,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):g?t._depth_rb=p(r,i,a,r.DEPTH_COMPONENT16,r.DEPTH_ATTACHMENT):d&&(t._depth_rb=p(r,i,a,r.STENCIL_INDEX,r.STENCIL_ATTACHMENT));var x=r.checkFramebufferStatus(r.FRAMEBUFFER);if(x!==r.FRAMEBUFFER_COMPLETE){t._destroyed=!0,r.bindFramebuffer(r.FRAMEBUFFER,null),r.deleteFramebuffer(t.handle),t.handle=null,t.depth&&(t.depth.dispose(),t.depth=null),t._depth_rb&&(r.deleteRenderbuffer(t._depth_rb),t._depth_rb=null);for(v=0;v<t.color.length;++v)t.color[v].dispose(),t.color[v]=null;t._color_rb&&(r.deleteRenderbuffer(t._color_rb),t._color_rb=null),u(r,e),f(x)}u(r,e)}(this)}var g=d.prototype;function m(t,e,r){if(t._destroyed)throw new Error("gl-fbo: Can't resize destroyed FBO");if(t._shape[0]!==e||t._shape[1]!==r){var n=t.gl,i=n.getParameter(n.MAX_RENDERBUFFER_SIZE);if(e<0||e>i||r<0||r>i)throw new Error("gl-fbo: Can't resize FBO, invalid dimensions");t._shape[0]=e,t._shape[1]=r;for(var a=c(n),o=0;o<t.color.length;++o)t.color[o].shape=t._shape;t._color_rb&&(n.bindRenderbuffer(n.RENDERBUFFER,t._color_rb),n.renderbufferStorage(n.RENDERBUFFER,n.RGBA4,t._shape[0],t._shape[1])),t.depth&&(t.depth.shape=t._shape),t._depth_rb&&(n.bindRenderbuffer(n.RENDERBUFFER,t._depth_rb),t._useDepth&&t._useStencil?n.renderbufferStorage(n.RENDERBUFFER,n.DEPTH_STENCIL,t._shape[0],t._shape[1]):t._useDepth?n.renderbufferStorage(n.RENDERBUFFER,n.DEPTH_COMPONENT16,t._shape[0],t._shape[1]):t._useStencil&&n.renderbufferStorage(n.RENDERBUFFER,n.STENCIL_INDEX,t._shape[0],t._shape[1])),n.bindFramebuffer(n.FRAMEBUFFER,t.handle);var s=n.checkFramebufferStatus(n.FRAMEBUFFER);s!==n.FRAMEBUFFER_COMPLETE&&(t.dispose(),u(n,a),f(s)),u(n,a)}}Object.defineProperties(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("gl-fbo: Shape vector must be length 2");var e=0|t[0],r=0|t[1];return m(this,e,r),[e,r]},enumerable:!1},width:{get:function(){return this._destroyed?0:this._shape[0]},set:function(t){return m(this,t|=0,this._shape[1]),t},enumerable:!1},height:{get:function(){return this._destroyed?0:this._shape[1]},set:function(t){return t|=0,m(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&&(this.depth.dispose(),this.depth=null),this._depth_rb&&(t.deleteRenderbuffer(this._depth_rb),this._depth_rb=null);for(var e=0;e<this.color.length;++e)this.color[e].dispose(),this.color[e]=null;this._color_rb&&(t.deleteRenderbuffer(this._color_rb),this._color_rb=null)}}},{"gl-texture2d":353}],270:[function(t,e,r){var n=t("sprintf-js").sprintf,i=t("gl-constants/lookup"),a=t("glsl-shader-name"),o=t("add-line-numbers");e.exports=function(t,e,r){"use strict";var s=a(e)||"of unknown name (see npm glsl-shader-name)",l="unknown type";void 0!==r&&(l=r===i.FRAGMENT_SHADER?"fragment":"vertex");for(var c=n("Error compiling %s shader %s:\n",l,s),u=n("%s%s",c,t),f=t.split("\n"),h={},p=0;p<f.length;p++){var d=f[p];if(""!==d&&"\0"!==d){var g=parseInt(d.split(":")[2]);if(isNaN(g))throw new Error(n("Could not parse error: %s",d));h[g]=d}}var m=o(e).split("\n");for(p=0;p<m.length;p++)if(h[p+3]||h[p+2]||h[p+1]){var v=m[p];if(c+=v+"\n",h[p+1]){var y=h[p+1];y=y.substr(y.split(":",3).join(":").length+1).trim(),c+=n("^^^ %s\n\n",y)}}return{long:c.trim(),short:u.trim()}}},{"add-line-numbers":66,"gl-constants/lookup":265,"glsl-shader-name":431,"sprintf-js":567}],271:[function(t,e,r){"use strict";e.exports=function(t,e){var r=t.gl,n=o(r,l.vertex,l.fragment),i=o(r,l.pickVertex,l.pickFragment),a=s(r),u=s(r),f=s(r),h=s(r),p=new c(t,n,i,a,u,f,h);return p.update(e),t.addObject(p),p};var n=t("binary-search-bounds"),i=t("iota-array"),a=t("typedarray-pool"),o=t("gl-shader"),s=t("gl-buffer"),l=t("./lib/shaders");function c(t,e,r,n,i,a,o){this.plot=t,this.shader=e,this.pickShader=r,this.positionBuffer=n,this.weightBuffer=i,this.colorBuffer=a,this.idBuffer=o,this.xData=[],this.yData=[],this.shape=[0,0],this.bounds=[1/0,1/0,-1/0,-1/0],this.pickOffset=0}var u,f=c.prototype,h=[0,0,1,0,0,1,1,0,1,1,0,1];f.draw=(u=[1,0,0,0,1,0,0,0,1],function(){var t=this.plot,e=this.shader,r=this.bounds,n=this.numVertices;if(!(n<=0)){var i=t.gl,a=t.dataBox,o=r[2]-r[0],s=r[3]-r[1],l=a[2]-a[0],c=a[3]-a[1];u[0]=2*o/l,u[4]=2*s/c,u[6]=2*(r[0]-a[0])/l-1,u[7]=2*(r[1]-a[1])/c-1,e.bind();var f=e.uniforms;f.viewTransform=u,f.shape=this.shape;var h=e.attributes;this.positionBuffer.bind(),h.position.pointer(),this.weightBuffer.bind(),h.weight.pointer(i.UNSIGNED_BYTE,!1),this.colorBuffer.bind(),h.color.pointer(i.UNSIGNED_BYTE,!0),i.drawArrays(i.TRIANGLES,0,n)}}),f.drawPick=function(){var t=[1,0,0,0,1,0,0,0,1],e=[0,0,0,0];return function(r){var n=this.plot,i=this.pickShader,a=this.bounds,o=this.numVertices;if(!(o<=0)){var s=n.gl,l=n.dataBox,c=a[2]-a[0],u=a[3]-a[1],f=l[2]-l[0],h=l[3]-l[1];t[0]=2*c/f,t[4]=2*u/h,t[6]=2*(a[0]-l[0])/f-1,t[7]=2*(a[1]-l[1])/h-1;for(var p=0;p<4;++p)e[p]=r>>8*p&255;this.pickOffset=r,i.bind();var d=i.uniforms;d.viewTransform=t,d.pickOffset=e,d.shape=this.shape;var g=i.attributes;return this.positionBuffer.bind(),g.position.pointer(),this.weightBuffer.bind(),g.weight.pointer(s.UNSIGNED_BYTE,!1),this.idBuffer.bind(),g.pickId.pointer(s.UNSIGNED_BYTE,!1),s.drawArrays(s.TRIANGLES,0,o),r+this.shape[0]*this.shape[1]}}}(),f.pick=function(t,e,r){var n=this.pickOffset,i=this.shape[0]*this.shape[1];if(r<n||r>=n+i)return null;var a=r-n,o=this.xData,s=this.yData;return{object:this,pointId:a,dataCoord:[o[a%this.shape[0]],s[a/this.shape[0]|0]]}},f.update=function(t){var e=(t=t||{}).shape||[0,0],r=t.x||i(e[0]),o=t.y||i(e[1]),s=t.z||new Float32Array(e[0]*e[1]),l=!1!==t.zsmooth;this.xData=r,this.yData=o;var c,u,f,p,d=t.colorLevels||[0],g=t.colorValues||[0,0,0,1],m=d.length,v=this.bounds;l?(c=v[0]=r[0],u=v[1]=o[0],f=v[2]=r[r.length-1],p=v[3]=o[o.length-1]):(c=v[0]=r[0]+(r[1]-r[0])/2,u=v[1]=o[0]+(o[1]-o[0])/2,f=v[2]=r[r.length-1]+(r[r.length-1]-r[r.length-2])/2,p=v[3]=o[o.length-1]+(o[o.length-1]-o[o.length-2])/2);var y=1/(f-c),x=1/(p-u),b=e[0],_=e[1];this.shape=[b,_];var w=(l?(b-1)*(_-1):b*_)*(h.length>>>1);this.numVertices=w;for(var T=a.mallocUint8(4*w),k=a.mallocFloat32(2*w),M=a.mallocUint8(2*w),A=a.mallocUint32(w),S=0,E=l?b-1:b,C=l?_-1:_,L=0;L<C;++L){var I,P;l?(I=x*(o[L]-u),P=x*(o[L+1]-u)):(I=L<_-1?x*(o[L]-(o[L+1]-o[L])/2-u):x*(o[L]-(o[L]-o[L-1])/2-u),P=L<_-1?x*(o[L]+(o[L+1]-o[L])/2-u):x*(o[L]+(o[L]-o[L-1])/2-u));for(var z=0;z<E;++z){var O,D;l?(O=y*(r[z]-c),D=y*(r[z+1]-c)):(O=z<b-1?y*(r[z]-(r[z+1]-r[z])/2-c):y*(r[z]-(r[z]-r[z-1])/2-c),D=z<b-1?y*(r[z]+(r[z+1]-r[z])/2-c):y*(r[z]+(r[z]-r[z-1])/2-c));for(var R=0;R<h.length;R+=2){var F,B,N,j,U=h[R],V=h[R+1],q=s[l?(L+V)*b+(z+U):L*b+z],H=n.le(d,q);if(H<0)F=g[0],B=g[1],N=g[2],j=g[3];else if(H===m-1)F=g[4*m-4],B=g[4*m-3],N=g[4*m-2],j=g[4*m-1];else{var G=(q-d[H])/(d[H+1]-d[H]),Y=1-G,W=4*H,X=4*(H+1);F=Y*g[W]+G*g[X],B=Y*g[W+1]+G*g[X+1],N=Y*g[W+2]+G*g[X+2],j=Y*g[W+3]+G*g[X+3]}T[4*S]=255*F,T[4*S+1]=255*B,T[4*S+2]=255*N,T[4*S+3]=255*j,k[2*S]=.5*O+.5*D,k[2*S+1]=.5*I+.5*P,M[2*S]=U,M[2*S+1]=V,A[S]=L*b+z,S+=1}}}this.positionBuffer.update(k),this.weightBuffer.update(M),this.colorBuffer.update(T),this.idBuffer.update(A),a.free(k),a.free(T),a.free(M),a.free(A)},f.dispose=function(){this.shader.dispose(),this.pickShader.dispose(),this.positionBuffer.dispose(),this.weightBuffer.dispose(),this.colorBuffer.dispose(),this.idBuffer.dispose(),this.plot.removeObject(this)}},{"./lib/shaders":272,"binary-search-bounds":96,"gl-buffer":259,"gl-shader":335,"iota-array":463,"typedarray-pool":595}],272:[function(t,e,r){"use strict";var n=t("glslify");e.exports={fragment:n(["precision lowp float;\n#define GLSLIFY 1\nvarying vec4 fragColor;\nvoid main() {\n gl_FragColor = vec4(fragColor.rgb * fragColor.a, fragColor.a);\n}\n"]),vertex:n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 position;\nattribute vec4 color;\nattribute vec2 weight;\n\nuniform vec2 shape;\nuniform mat3 viewTransform;\n\nvarying vec4 fragColor;\n\nvoid main() {\n vec3 vPosition = viewTransform * vec3( position + (weight-.5)/(shape-1.) , 1.0);\n fragColor = color;\n gl_Position = vec4(vPosition.xy, 0, vPosition.z);\n}\n"]),pickFragment:n(["precision mediump float;\n#define GLSLIFY 1\n\nvarying vec4 fragId;\nvarying vec2 vWeight;\n\nuniform vec2 shape;\nuniform vec4 pickOffset;\n\nvoid main() {\n vec2 d = step(.5, vWeight);\n vec4 id = fragId + pickOffset;\n id.x += d.x + d.y*shape.x;\n\n id.y += floor(id.x / 256.0);\n id.x -= floor(id.x / 256.0) * 256.0;\n\n id.z += floor(id.y / 256.0);\n id.y -= floor(id.y / 256.0) * 256.0;\n\n id.w += floor(id.z / 256.0);\n id.z -= floor(id.z / 256.0) * 256.0;\n\n gl_FragColor = id/255.;\n}\n"]),pickVertex:n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 position;\nattribute vec4 pickId;\nattribute vec2 weight;\n\nuniform vec2 shape;\nuniform mat3 viewTransform;\n\nvarying vec4 fragId;\nvarying vec2 vWeight;\n\nvoid main() {\n vWeight = weight;\n\n fragId = pickId;\n\n vec3 vPosition = viewTransform * vec3( position + (weight-.5)/(shape-1.) , 1.0);\n gl_Position = vec4(vPosition.xy, 0, vPosition.z);\n}\n"])}},{glslify:273}],273:[function(t,e,r){arguments[4][257][0].apply(r,arguments)},{dup:257}],274:[function(t,e,r){var n=t("glslify"),i=t("gl-shader"),a=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position, nextPosition;\nattribute float arcLength, lineWidth;\nattribute vec4 color;\n\nuniform vec2 screenShape;\nuniform float pixelRatio;\nuniform mat4 model, view, projection;\n\nvarying vec4 fragColor;\nvarying vec3 worldPosition;\nvarying float pixelArcLength;\n\nvec4 project(vec3 p) {\n return projection * view * model * vec4(p, 1.0);\n}\n\nvoid main() {\n vec4 startPoint = project(position);\n vec4 endPoint = project(nextPosition);\n\n vec2 A = startPoint.xy / startPoint.w;\n vec2 B = endPoint.xy / endPoint.w;\n\n float clipAngle = atan(\n (B.y - A.y) * screenShape.y,\n (B.x - A.x) * screenShape.x\n );\n\n vec2 offset = 0.5 * pixelRatio * lineWidth * vec2(\n sin(clipAngle),\n -cos(clipAngle)\n ) / screenShape;\n\n gl_Position = vec4(startPoint.xy + startPoint.w * offset, startPoint.zw);\n\n worldPosition = position;\n pixelArcLength = arcLength;\n fragColor = color;\n}\n"]),o=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform sampler2D dashTexture;\nuniform float dashScale;\nuniform float opacity;\n\nvarying vec3 worldPosition;\nvarying float pixelArcLength;\nvarying vec4 fragColor;\n\nvoid main() {\n if (\n outOfRange(clipBounds[0], clipBounds[1], worldPosition) ||\n fragColor.a * opacity == 0.\n ) discard;\n\n float dashWeight = texture2D(dashTexture, vec2(dashScale * pixelArcLength, 0)).r;\n if(dashWeight < 0.5) {\n discard;\n }\n gl_FragColor = fragColor * opacity;\n}\n"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\n#define FLOAT_MAX 1.70141184e38\n#define FLOAT_MIN 1.17549435e-38\n\n// https://github.com/mikolalysenko/glsl-read-float/blob/master/index.glsl\nvec4 packFloat(float v) {\n float av = abs(v);\n\n //Handle special cases\n if(av < FLOAT_MIN) {\n return vec4(0.0, 0.0, 0.0, 0.0);\n } else if(v > FLOAT_MAX) {\n return vec4(127.0, 128.0, 0.0, 0.0) / 255.0;\n } else if(v < -FLOAT_MAX) {\n return vec4(255.0, 128.0, 0.0, 0.0) / 255.0;\n }\n\n vec4 c = vec4(0,0,0,0);\n\n //Compute exponent and mantissa\n float e = floor(log2(av));\n float m = av * pow(2.0, -e) - 1.0;\n\n //Unpack mantissa\n c[1] = floor(128.0 * m);\n m -= c[1] / 128.0;\n c[2] = floor(32768.0 * m);\n m -= c[2] / 32768.0;\n c[3] = floor(8388608.0 * m);\n\n //Unpack exponent\n float ebias = e + 127.0;\n c[0] = floor(ebias / 2.0);\n ebias -= c[0] * 2.0;\n c[1] += floor(ebias) * 128.0;\n\n //Unpack sign bit\n c[0] += 128.0 * step(0.0, -v);\n\n //Scale back to range\n return c / 255.0;\n}\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform float pickId;\nuniform vec3 clipBounds[2];\n\nvarying vec3 worldPosition;\nvarying float pixelArcLength;\nvarying vec4 fragColor;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], worldPosition)) discard;\n\n gl_FragColor = vec4(pickId/255.0, packFloat(pixelArcLength).xyz);\n}"]),l=[{name:"position",type:"vec3"},{name:"nextPosition",type:"vec3"},{name:"arcLength",type:"float"},{name:"lineWidth",type:"float"},{name:"color",type:"vec4"}];r.createShader=function(t){return i(t,a,o,null,l)},r.createPickShader=function(t){return i(t,a,s,null,l)}},{"gl-shader":335,glslify:276}],275:[function(t,e,r){"use strict";e.exports=function(t){var e=t.gl||t.scene&&t.scene.gl,r=f(e);r.attributes.position.location=0,r.attributes.nextPosition.location=1,r.attributes.arcLength.location=2,r.attributes.lineWidth.location=3,r.attributes.color.location=4;var o=h(e);o.attributes.position.location=0,o.attributes.nextPosition.location=1,o.attributes.arcLength.location=2,o.attributes.lineWidth.location=3,o.attributes.color.location=4;for(var s=n(e),l=i(e,[{buffer:s,size:3,offset:0,stride:48},{buffer:s,size:3,offset:12,stride:48},{buffer:s,size:1,offset:24,stride:48},{buffer:s,size:1,offset:28,stride:48},{buffer:s,size:4,offset:32,stride:48}]),u=c(new Array(1024),[256,1,4]),p=0;p<1024;++p)u.data[p]=255;var d=a(e,u);d.wrap=e.REPEAT;var g=new v(e,r,o,s,l,d);return g.update(t),g};var n=t("gl-buffer"),i=t("gl-vao"),a=t("gl-texture2d"),o=new Uint8Array(4),s=new Float32Array(o.buffer);var l=t("binary-search-bounds"),c=t("ndarray"),u=t("./lib/shaders"),f=u.createShader,h=u.createPickShader,p=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function d(t,e){for(var r=0,n=0;n<3;++n){var i=t[n]-e[n];r+=i*i}return Math.sqrt(r)}function g(t){for(var e=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],r=0;r<3;++r)e[0][r]=Math.max(t[0][r],e[0][r]),e[1][r]=Math.min(t[1][r],e[1][r]);return e}function m(t,e,r,n){this.arcLength=t,this.position=e,this.index=r,this.dataCoordinate=n}function v(t,e,r,n,i,a){this.gl=t,this.shader=e,this.pickShader=r,this.buffer=n,this.vao=i,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.points=[],this.arcLength=[],this.vertexCount=0,this.bounds=[[0,0,0],[0,0,0]],this.pickId=0,this.lineWidth=1,this.texture=a,this.dashScale=1,this.opacity=1,this.hasAlpha=!1,this.dirty=!0,this.pixelRatio=1}var y=v.prototype;y.isTransparent=function(){return this.hasAlpha},y.isOpaque=function(){return!this.hasAlpha},y.pickSlots=1,y.setPickBase=function(t){this.pickId=t},y.drawTransparent=y.draw=function(t){if(this.vertexCount){var e=this.gl,r=this.shader,n=this.vao;r.bind(),r.uniforms={model:t.model||p,view:t.view||p,projection:t.projection||p,clipBounds:g(this.clipBounds),dashTexture:this.texture.bind(),dashScale:this.dashScale/this.arcLength[this.arcLength.length-1],opacity:this.opacity,screenShape:[e.drawingBufferWidth,e.drawingBufferHeight],pixelRatio:this.pixelRatio},n.bind(),n.draw(e.TRIANGLE_STRIP,this.vertexCount),n.unbind()}},y.drawPick=function(t){if(this.vertexCount){var e=this.gl,r=this.pickShader,n=this.vao;r.bind(),r.uniforms={model:t.model||p,view:t.view||p,projection:t.projection||p,pickId:this.pickId,clipBounds:g(this.clipBounds),screenShape:[e.drawingBufferWidth,e.drawingBufferHeight],pixelRatio:this.pixelRatio},n.bind(),n.draw(e.TRIANGLE_STRIP,this.vertexCount),n.unbind()}},y.update=function(t){var e,r;this.dirty=!0;var n=!!t.connectGaps;"dashScale"in t&&(this.dashScale=t.dashScale),this.hasAlpha=!1,"opacity"in t&&(this.opacity=+t.opacity,this.opacity<1&&(this.hasAlpha=!0));var i=[],a=[],o=[],s=0,u=0,f=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],h=t.position||t.positions;if(h){var p=t.color||t.colors||[0,0,0,1],g=t.lineWidth||1,m=!1;t:for(e=1;e<h.length;++e){var v,y,x,b=h[e-1],_=h[e];for(a.push(s),o.push(b.slice()),r=0;r<3;++r){if(isNaN(b[r])||isNaN(_[r])||!isFinite(b[r])||!isFinite(_[r])){if(!n&&i.length>0){for(var w=0;w<24;++w)i.push(i[i.length-12]);u+=2,m=!0}continue t}f[0][r]=Math.min(f[0][r],b[r],_[r]),f[1][r]=Math.max(f[1][r],b[r],_[r])}Array.isArray(p[0])?(v=p.length>e-1?p[e-1]:p.length>0?p[p.length-1]:[0,0,0,1],y=p.length>e?p[e]:p.length>0?p[p.length-1]:[0,0,0,1]):v=y=p,3===v.length&&(v=[v[0],v[1],v[2],1]),3===y.length&&(y=[y[0],y[1],y[2],1]),!this.hasAlpha&&v[3]<1&&(this.hasAlpha=!0),x=Array.isArray(g)?g.length>e-1?g[e-1]:g.length>0?g[g.length-1]:[0,0,0,1]:g;var T=s;if(s+=d(b,_),m){for(r=0;r<2;++r)i.push(b[0],b[1],b[2],_[0],_[1],_[2],T,x,v[0],v[1],v[2],v[3]);u+=2,m=!1}i.push(b[0],b[1],b[2],_[0],_[1],_[2],T,x,v[0],v[1],v[2],v[3],b[0],b[1],b[2],_[0],_[1],_[2],T,-x,v[0],v[1],v[2],v[3],_[0],_[1],_[2],b[0],b[1],b[2],s,-x,y[0],y[1],y[2],y[3],_[0],_[1],_[2],b[0],b[1],b[2],s,x,y[0],y[1],y[2],y[3]),u+=4}}if(this.buffer.update(i),a.push(s),o.push(h[h.length-1].slice()),this.bounds=f,this.vertexCount=u,this.points=o,this.arcLength=a,"dashes"in t){var k=t.dashes.slice();for(k.unshift(0),e=1;e<k.length;++e)k[e]=k[e-1]+k[e];var M=c(new Array(1024),[256,1,4]);for(e=0;e<256;++e){for(r=0;r<4;++r)M.set(e,0,r,0);1&l.le(k,k[k.length-1]*e/255)?M.set(e,0,0,0):M.set(e,0,0,255)}this.texture.setPixels(M)}},y.dispose=function(){this.shader.dispose(),this.vao.dispose(),this.buffer.dispose()},y.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;var e=function(t,e,r,n){return o[0]=n,o[1]=r,o[2]=e,o[3]=t,s[0]}(t.value[0],t.value[1],t.value[2],0),r=l.le(this.arcLength,e);if(r<0)return null;if(r===this.arcLength.length-1)return new m(this.arcLength[this.arcLength.length-1],this.points[this.points.length-1].slice(),r);for(var n=this.points[r],i=this.points[Math.min(r+1,this.points.length-1)],a=(e-this.arcLength[r])/(this.arcLength[r+1]-this.arcLength[r]),c=1-a,u=[0,0,0],f=0;f<3;++f)u[f]=c*n[f]+a*i[f];var h=Math.min(a<.5?r:r+1,this.points.length-1);return new m(e,u,h,this.points[h])}},{"./lib/shaders":274,"binary-search-bounds":96,"gl-buffer":259,"gl-texture2d":353,"gl-vao":358,ndarray:495}],276:[function(t,e,r){arguments[4][257][0].apply(r,arguments)},{dup:257}],277:[function(t,e,r){e.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],c=e[7],u=e[8],f=e[9],h=e[10],p=e[11],d=e[12],g=e[13],m=e[14],v=e[15];return t[0]=s*(h*v-p*m)-f*(l*v-c*m)+g*(l*p-c*h),t[1]=-(n*(h*v-p*m)-f*(i*v-a*m)+g*(i*p-a*h)),t[2]=n*(l*v-c*m)-s*(i*v-a*m)+g*(i*c-a*l),t[3]=-(n*(l*p-c*h)-s*(i*p-a*h)+f*(i*c-a*l)),t[4]=-(o*(h*v-p*m)-u*(l*v-c*m)+d*(l*p-c*h)),t[5]=r*(h*v-p*m)-u*(i*v-a*m)+d*(i*p-a*h),t[6]=-(r*(l*v-c*m)-o*(i*v-a*m)+d*(i*c-a*l)),t[7]=r*(l*p-c*h)-o*(i*p-a*h)+u*(i*c-a*l),t[8]=o*(f*v-p*g)-u*(s*v-c*g)+d*(s*p-c*f),t[9]=-(r*(f*v-p*g)-u*(n*v-a*g)+d*(n*p-a*f)),t[10]=r*(s*v-c*g)-o*(n*v-a*g)+d*(n*c-a*s),t[11]=-(r*(s*p-c*f)-o*(n*p-a*f)+u*(n*c-a*s)),t[12]=-(o*(f*m-h*g)-u*(s*m-l*g)+d*(s*h-l*f)),t[13]=r*(f*m-h*g)-u*(n*m-i*g)+d*(n*h-i*f),t[14]=-(r*(s*m-l*g)-o*(n*m-i*g)+d*(n*l-i*s)),t[15]=r*(s*h-l*f)-o*(n*h-i*f)+u*(n*l-i*s),t}},{}],278:[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}},{}],279:[function(t,e,r){e.exports=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}},{}],280:[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}},{}],281:[function(t,e,r){e.exports=function(t){var e=t[0],r=t[1],n=t[2],i=t[3],a=t[4],o=t[5],s=t[6],l=t[7],c=t[8],u=t[9],f=t[10],h=t[11],p=t[12],d=t[13],g=t[14],m=t[15];return(e*o-r*a)*(f*m-h*g)-(e*s-n*a)*(u*m-h*d)+(e*l-i*a)*(u*g-f*d)+(r*s-n*o)*(c*m-h*p)-(r*l-i*o)*(c*g-f*p)+(n*l-i*s)*(c*d-u*p)}},{}],282:[function(t,e,r){e.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=r+r,s=n+n,l=i+i,c=r*o,u=n*o,f=n*s,h=i*o,p=i*s,d=i*l,g=a*o,m=a*s,v=a*l;return t[0]=1-f-d,t[1]=u+v,t[2]=h-m,t[3]=0,t[4]=u-v,t[5]=1-c-d,t[6]=p+g,t[7]=0,t[8]=h+m,t[9]=p-g,t[10]=1-c-f,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},{}],283:[function(t,e,r){e.exports=function(t,e,r){var n,i,a,o=r[0],s=r[1],l=r[2],c=Math.sqrt(o*o+s*s+l*l);if(Math.abs(c)<1e-6)return null;return o*=c=1/c,s*=c,l*=c,n=Math.sin(e),i=Math.cos(e),a=1-i,t[0]=o*o*a+i,t[1]=s*o*a+l*n,t[2]=l*o*a-s*n,t[3]=0,t[4]=o*s*a-l*n,t[5]=s*s*a+i,t[6]=l*s*a+o*n,t[7]=0,t[8]=o*l*a+s*n,t[9]=s*l*a-o*n,t[10]=l*l*a+i,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},{}],284:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=n+n,l=i+i,c=a+a,u=n*s,f=n*l,h=n*c,p=i*l,d=i*c,g=a*c,m=o*s,v=o*l,y=o*c;return t[0]=1-(p+g),t[1]=f+y,t[2]=h-v,t[3]=0,t[4]=f-y,t[5]=1-(u+g),t[6]=d+m,t[7]=0,t[8]=h+v,t[9]=d-m,t[10]=1-(u+p),t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1,t}},{}],285:[function(t,e,r){e.exports=function(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e[1],t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e[2],t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},{}],286:[function(t,e,r){e.exports=function(t,e){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=e[0],t[13]=e[1],t[14]=e[2],t[15]=1,t}},{}],287:[function(t,e,r){e.exports=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=n,t[6]=r,t[7]=0,t[8]=0,t[9]=-r,t[10]=n,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},{}],288:[function(t,e,r){e.exports=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=0,t[2]=-r,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=r,t[9]=0,t[10]=n,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},{}],289:[function(t,e,r){e.exports=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=r,t[2]=0,t[3]=0,t[4]=-r,t[5]=n,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},{}],290:[function(t,e,r){e.exports=function(t,e,r,n,i,a,o){var s=1/(r-e),l=1/(i-n),c=1/(a-o);return t[0]=2*a*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=2*a*l,t[6]=0,t[7]=0,t[8]=(r+e)*s,t[9]=(i+n)*l,t[10]=(o+a)*c,t[11]=-1,t[12]=0,t[13]=0,t[14]=o*a*2*c,t[15]=0,t}},{}],291:[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}},{}],292:[function(t,e,r){e.exports={create:t("./create"),clone:t("./clone"),copy:t("./copy"),identity:t("./identity"),transpose:t("./transpose"),invert:t("./invert"),adjoint:t("./adjoint"),determinant:t("./determinant"),multiply:t("./multiply"),translate:t("./translate"),scale:t("./scale"),rotate:t("./rotate"),rotateX:t("./rotateX"),rotateY:t("./rotateY"),rotateZ:t("./rotateZ"),fromRotation:t("./fromRotation"),fromRotationTranslation:t("./fromRotationTranslation"),fromScaling:t("./fromScaling"),fromTranslation:t("./fromTranslation"),fromXRotation:t("./fromXRotation"),fromYRotation:t("./fromYRotation"),fromZRotation:t("./fromZRotation"),fromQuat:t("./fromQuat"),frustum:t("./frustum"),perspective:t("./perspective"),perspectiveFromFieldOfView:t("./perspectiveFromFieldOfView"),ortho:t("./ortho"),lookAt:t("./lookAt"),str:t("./str")}},{"./adjoint":277,"./clone":278,"./copy":279,"./create":280,"./determinant":281,"./fromQuat":282,"./fromRotation":283,"./fromRotationTranslation":284,"./fromScaling":285,"./fromTranslation":286,"./fromXRotation":287,"./fromYRotation":288,"./fromZRotation":289,"./frustum":290,"./identity":291,"./invert":293,"./lookAt":294,"./multiply":295,"./ortho":296,"./perspective":297,"./perspectiveFromFieldOfView":298,"./rotate":299,"./rotateX":300,"./rotateY":301,"./rotateZ":302,"./scale":303,"./str":304,"./translate":305,"./transpose":306}],293:[function(t,e,r){e.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],c=e[7],u=e[8],f=e[9],h=e[10],p=e[11],d=e[12],g=e[13],m=e[14],v=e[15],y=r*s-n*o,x=r*l-i*o,b=r*c-a*o,_=n*l-i*s,w=n*c-a*s,T=i*c-a*l,k=u*g-f*d,M=u*m-h*d,A=u*v-p*d,S=f*m-h*g,E=f*v-p*g,C=h*v-p*m,L=y*C-x*E+b*S+_*A-w*M+T*k;if(!L)return null;return L=1/L,t[0]=(s*C-l*E+c*S)*L,t[1]=(i*E-n*C-a*S)*L,t[2]=(g*T-m*w+v*_)*L,t[3]=(h*w-f*T-p*_)*L,t[4]=(l*A-o*C-c*M)*L,t[5]=(r*C-i*A+a*M)*L,t[6]=(m*b-d*T-v*x)*L,t[7]=(u*T-h*b+p*x)*L,t[8]=(o*E-s*A+c*k)*L,t[9]=(n*A-r*E-a*k)*L,t[10]=(d*w-g*b+v*y)*L,t[11]=(f*b-u*w-p*y)*L,t[12]=(s*M-o*S-l*k)*L,t[13]=(r*S-n*M+i*k)*L,t[14]=(g*x-d*_-m*y)*L,t[15]=(u*_-f*x+h*y)*L,t}},{}],294:[function(t,e,r){var n=t("./identity");e.exports=function(t,e,r,i){var a,o,s,l,c,u,f,h,p,d,g=e[0],m=e[1],v=e[2],y=i[0],x=i[1],b=i[2],_=r[0],w=r[1],T=r[2];if(Math.abs(g-_)<1e-6&&Math.abs(m-w)<1e-6&&Math.abs(v-T)<1e-6)return n(t);f=g-_,h=m-w,p=v-T,d=1/Math.sqrt(f*f+h*h+p*p),a=x*(p*=d)-b*(h*=d),o=b*(f*=d)-y*p,s=y*h-x*f,(d=Math.sqrt(a*a+o*o+s*s))?(a*=d=1/d,o*=d,s*=d):(a=0,o=0,s=0);l=h*s-p*o,c=p*a-f*s,u=f*o-h*a,(d=Math.sqrt(l*l+c*c+u*u))?(l*=d=1/d,c*=d,u*=d):(l=0,c=0,u=0);return t[0]=a,t[1]=l,t[2]=f,t[3]=0,t[4]=o,t[5]=c,t[6]=h,t[7]=0,t[8]=s,t[9]=u,t[10]=p,t[11]=0,t[12]=-(a*g+o*m+s*v),t[13]=-(l*g+c*m+u*v),t[14]=-(f*g+h*m+p*v),t[15]=1,t}},{"./identity":291}],295:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],c=e[6],u=e[7],f=e[8],h=e[9],p=e[10],d=e[11],g=e[12],m=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*g,t[1]=x*i+b*l+_*h+w*m,t[2]=x*a+b*c+_*p+w*v,t[3]=x*o+b*u+_*d+w*y,x=r[4],b=r[5],_=r[6],w=r[7],t[4]=x*n+b*s+_*f+w*g,t[5]=x*i+b*l+_*h+w*m,t[6]=x*a+b*c+_*p+w*v,t[7]=x*o+b*u+_*d+w*y,x=r[8],b=r[9],_=r[10],w=r[11],t[8]=x*n+b*s+_*f+w*g,t[9]=x*i+b*l+_*h+w*m,t[10]=x*a+b*c+_*p+w*v,t[11]=x*o+b*u+_*d+w*y,x=r[12],b=r[13],_=r[14],w=r[15],t[12]=x*n+b*s+_*f+w*g,t[13]=x*i+b*l+_*h+w*m,t[14]=x*a+b*c+_*p+w*v,t[15]=x*o+b*u+_*d+w*y,t}},{}],296:[function(t,e,r){e.exports=function(t,e,r,n,i,a,o){var s=1/(e-r),l=1/(n-i),c=1/(a-o);return t[0]=-2*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*l,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*c,t[11]=0,t[12]=(e+r)*s,t[13]=(i+n)*l,t[14]=(o+a)*c,t[15]=1,t}},{}],297:[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}},{}],298:[function(t,e,r){e.exports=function(t,e,r,n){var i=Math.tan(e.upDegrees*Math.PI/180),a=Math.tan(e.downDegrees*Math.PI/180),o=Math.tan(e.leftDegrees*Math.PI/180),s=Math.tan(e.rightDegrees*Math.PI/180),l=2/(o+s),c=2/(i+a);return t[0]=l,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=c,t[6]=0,t[7]=0,t[8]=-(o-s)*l*.5,t[9]=(i-a)*c*.5,t[10]=n/(r-n),t[11]=-1,t[12]=0,t[13]=0,t[14]=n*r/(r-n),t[15]=0,t}},{}],299:[function(t,e,r){e.exports=function(t,e,r,n){var i,a,o,s,l,c,u,f,h,p,d,g,m,v,y,x,b,_,w,T,k,M,A,S,E=n[0],C=n[1],L=n[2],I=Math.sqrt(E*E+C*C+L*L);if(Math.abs(I)<1e-6)return null;E*=I=1/I,C*=I,L*=I,i=Math.sin(r),a=Math.cos(r),o=1-a,s=e[0],l=e[1],c=e[2],u=e[3],f=e[4],h=e[5],p=e[6],d=e[7],g=e[8],m=e[9],v=e[10],y=e[11],x=E*E*o+a,b=C*E*o+L*i,_=L*E*o-C*i,w=E*C*o-L*i,T=C*C*o+a,k=L*C*o+E*i,M=E*L*o+C*i,A=C*L*o-E*i,S=L*L*o+a,t[0]=s*x+f*b+g*_,t[1]=l*x+h*b+m*_,t[2]=c*x+p*b+v*_,t[3]=u*x+d*b+y*_,t[4]=s*w+f*T+g*k,t[5]=l*w+h*T+m*k,t[6]=c*w+p*T+v*k,t[7]=u*w+d*T+y*k,t[8]=s*M+f*A+g*S,t[9]=l*M+h*A+m*S,t[10]=c*M+p*A+v*S,t[11]=u*M+d*A+y*S,e!==t&&(t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]);return t}},{}],300:[function(t,e,r){e.exports=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[4],o=e[5],s=e[6],l=e[7],c=e[8],u=e[9],f=e[10],h=e[11];e!==t&&(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]);return t[4]=a*i+c*n,t[5]=o*i+u*n,t[6]=s*i+f*n,t[7]=l*i+h*n,t[8]=c*i-a*n,t[9]=u*i-o*n,t[10]=f*i-s*n,t[11]=h*i-l*n,t}},{}],301:[function(t,e,r){e.exports=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[0],o=e[1],s=e[2],l=e[3],c=e[8],u=e[9],f=e[10],h=e[11];e!==t&&(t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]);return t[0]=a*i-c*n,t[1]=o*i-u*n,t[2]=s*i-f*n,t[3]=l*i-h*n,t[8]=a*n+c*i,t[9]=o*n+u*i,t[10]=s*n+f*i,t[11]=l*n+h*i,t}},{}],302:[function(t,e,r){e.exports=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[0],o=e[1],s=e[2],l=e[3],c=e[4],u=e[5],f=e[6],h=e[7];e!==t&&(t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]);return t[0]=a*i+c*n,t[1]=o*i+u*n,t[2]=s*i+f*n,t[3]=l*i+h*n,t[4]=c*i-a*n,t[5]=u*i-o*n,t[6]=f*i-s*n,t[7]=h*i-l*n,t}},{}],303:[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}},{}],304:[function(t,e,r){e.exports=function(t){return"mat4("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+", "+t[6]+", "+t[7]+", "+t[8]+", "+t[9]+", "+t[10]+", "+t[11]+", "+t[12]+", "+t[13]+", "+t[14]+", "+t[15]+")"}},{}],305:[function(t,e,r){e.exports=function(t,e,r){var n,i,a,o,s,l,c,u,f,h,p,d,g=r[0],m=r[1],v=r[2];e===t?(t[12]=e[0]*g+e[4]*m+e[8]*v+e[12],t[13]=e[1]*g+e[5]*m+e[9]*v+e[13],t[14]=e[2]*g+e[6]*m+e[10]*v+e[14],t[15]=e[3]*g+e[7]*m+e[11]*v+e[15]):(n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],c=e[6],u=e[7],f=e[8],h=e[9],p=e[10],d=e[11],t[0]=n,t[1]=i,t[2]=a,t[3]=o,t[4]=s,t[5]=l,t[6]=c,t[7]=u,t[8]=f,t[9]=h,t[10]=p,t[11]=d,t[12]=n*g+s*m+f*v+e[12],t[13]=i*g+l*m+h*v+e[13],t[14]=a*g+c*m+p*v+e[14],t[15]=o*g+u*m+d*v+e[15]);return t}},{}],306:[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}},{}],307:[function(t,e,r){"use strict";var n=t("barycentric"),i=t("polytope-closest-point/lib/closest_point_2d.js");function a(t,e){for(var r=[0,0,0,0],n=0;n<4;++n)for(var i=0;i<4;++i)r[i]+=t[4*n+i]*e[n];return r}function o(t,e,r,n,i){for(var o=a(n,a(r,a(e,[t[0],t[1],t[2],1]))),s=0;s<3;++s)o[s]/=o[3];return[.5*i[0]*(1+o[0]),.5*i[1]*(1-o[1])]}function s(t,e){for(var r=[0,0,0],n=0;n<t.length;++n)for(var i=t[n],a=e[n],o=0;o<3;++o)r[o]+=a*i[o];return r}e.exports=function(t,e,r,a,l,c){if(1===t.length)return[0,t[0].slice()];for(var u=new Array(t.length),f=0;f<t.length;++f)u[f]=o(t[f],r,a,l,c);var h=0,p=1/0;for(f=0;f<u.length;++f){for(var d=0,g=0;g<2;++g)d+=Math.pow(u[f][g]-e[g],2);d<p&&(p=d,h=f)}var m=function(t,e){if(2===t.length){for(var r=0,a=0,o=0;o<2;++o)r+=Math.pow(e[o]-t[0][o],2),a+=Math.pow(e[o]-t[1][o],2);return r=Math.sqrt(r),a=Math.sqrt(a),r+a<1e-6?[1,0]:[a/(r+a),r/(a+r)]}if(3===t.length){var s=[0,0];return i(t[0],t[1],t[2],e,s),n(t,s)}return[]}(u,e),v=0;for(f=0;f<3;++f){if(m[f]<-.001||m[f]>1.0001)return null;v+=m[f]}if(Math.abs(v-1)>.001)return null;return[h,s(t,m),m]}},{barycentric:78,"polytope-closest-point/lib/closest_point_2d.js":525}],308:[function(t,e,r){var n=t("glslify"),i=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position, normal;\nattribute vec4 color;\nattribute vec2 uv;\n\nuniform mat4 model\n , view\n , projection\n , inverseModel;\nuniform vec3 eyePosition\n , lightPosition;\n\nvarying vec3 f_normal\n , f_lightDirection\n , f_eyeDirection\n , f_data;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvec4 project(vec3 p) {\n return projection * view * model * vec4(p, 1.0);\n}\n\nvoid main() {\n gl_Position = project(position);\n\n //Lighting geometry parameters\n vec4 cameraCoordinate = view * vec4(position , 1.0);\n cameraCoordinate.xyz /= cameraCoordinate.w;\n f_lightDirection = lightPosition - cameraCoordinate.xyz;\n f_eyeDirection = eyePosition - cameraCoordinate.xyz;\n f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\n\n f_color = color;\n f_data = position;\n f_uv = uv;\n}\n"]),a=n(["#extension GL_OES_standard_derivatives : enable\n\nprecision highp float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution(float x, float roughness) {\n float NdotH = max(x, 0.0001);\n float cos2Alpha = NdotH * NdotH;\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n float roughness2 = roughness * roughness;\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n return exp(tan2Alpha / roughness2) / denom;\n}\n\nfloat cookTorranceSpecular(\n vec3 lightDirection,\n vec3 viewDirection,\n vec3 surfaceNormal,\n float roughness,\n float fresnel) {\n\n float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\n float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\n\n //Half angle vector\n vec3 H = normalize(lightDirection + viewDirection);\n\n //Geometric term\n float NdotH = max(dot(surfaceNormal, H), 0.0);\n float VdotH = max(dot(viewDirection, H), 0.000001);\n float LdotH = max(dot(lightDirection, H), 0.000001);\n float G1 = (2.0 * NdotH * VdotN) / VdotH;\n float G2 = (2.0 * NdotH * LdotN) / LdotH;\n float G = min(1.0, min(G1, G2));\n \n //Distribution term\n float D = beckmannDistribution(NdotH, roughness);\n\n //Fresnel term\n float F = pow(1.0 - VdotN, fresnel);\n\n //Multiply terms and done\n return G * F * D / max(3.14159265 * VdotN, 0.000001);\n}\n\n//#pragma glslify: beckmann = require(glsl-specular-beckmann) // used in gl-surface3d\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float roughness\n , fresnel\n , kambient\n , kdiffuse\n , kspecular;\nuniform sampler2D texture;\n\nvarying vec3 f_normal\n , f_lightDirection\n , f_eyeDirection\n , f_data;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if (f_color.a == 0.0 ||\n outOfRange(clipBounds[0], clipBounds[1], f_data)\n ) discard;\n\n vec3 N = normalize(f_normal);\n vec3 L = normalize(f_lightDirection);\n vec3 V = normalize(f_eyeDirection);\n\n if(gl_FrontFacing) {\n N = -N;\n }\n\n float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\n //float specular = max(0.0, beckmann(L, V, N, roughness)); // used in gl-surface3d\n\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n vec4 surfaceColor = vec4(f_color.rgb, 1.0) * texture2D(texture, f_uv);\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\n\n gl_FragColor = litColor * f_color.a;\n}\n"]),o=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 uv;\n\nuniform mat4 model, view, projection;\n\nvarying vec4 f_color;\nvarying vec3 f_data;\nvarying vec2 f_uv;\n\nvoid main() {\n gl_Position = projection * view * model * vec4(position, 1.0);\n f_color = color;\n f_data = position;\n f_uv = uv;\n}"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform sampler2D texture;\nuniform float opacity;\n\nvarying vec4 f_color;\nvarying vec3 f_data;\nvarying vec2 f_uv;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_data)) discard;\n\n gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\n}"]),l=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 uv;\nattribute float pointSize;\n\nuniform mat4 model, view, projection;\nuniform vec3 clipBounds[2];\n\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0.0, 0.0 ,0.0 ,0.0);\n } else {\n gl_Position = projection * view * model * vec4(position, 1.0);\n }\n gl_PointSize = pointSize;\n f_color = color;\n f_uv = uv;\n}"]),c=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform sampler2D texture;\nuniform float opacity;\n\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n vec2 pointR = gl_PointCoord.xy - vec2(0.5, 0.5);\n if(dot(pointR, pointR) > 0.25) {\n discard;\n }\n gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\n}"]),u=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n gl_Position = projection * view * model * vec4(position, 1.0);\n f_id = id;\n f_position = position;\n}"]),f=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n\n gl_FragColor = vec4(pickId, f_id.xyz);\n}"]),h=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute float pointSize;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform vec3 clipBounds[2];\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0.0, 0.0, 0.0, 0.0);\n } else {\n gl_Position = projection * view * model * vec4(position, 1.0);\n gl_PointSize = pointSize;\n }\n f_id = id;\n f_position = position;\n}"]),p=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\n\nuniform mat4 model, view, projection;\n\nvoid main() {\n gl_Position = projection * view * model * vec4(position, 1.0);\n}"]),d=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform vec3 contourColor;\n\nvoid main() {\n gl_FragColor = vec4(contourColor, 1.0);\n}\n"]);r.meshShader={vertex:i,fragment:a,attributes:[{name:"position",type:"vec3"},{name:"normal",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"}]},r.wireShader={vertex:o,fragment:s,attributes:[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"}]},r.pointShader={vertex:l,fragment:c,attributes:[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"pointSize",type:"float"}]},r.pickShader={vertex:u,fragment:f,attributes:[{name:"position",type:"vec3"},{name:"id",type:"vec4"}]},r.pointPickShader={vertex:h,fragment:f,attributes:[{name:"position",type:"vec3"},{name:"pointSize",type:"float"},{name:"id",type:"vec4"}]},r.contourShader={vertex:p,fragment:d,attributes:[{name:"position",type:"vec3"}]}},{glslify:310}],309:[function(t,e,r){"use strict";var n=t("gl-shader"),i=t("gl-buffer"),a=t("gl-vao"),o=t("gl-texture2d"),s=t("normals"),l=t("gl-mat4/multiply"),c=t("gl-mat4/invert"),u=t("ndarray"),f=t("colormap"),h=t("simplicial-complex-contour"),p=t("typedarray-pool"),d=t("./lib/shaders"),g=t("./lib/closest-point"),m=d.meshShader,v=d.wireShader,y=d.pointShader,x=d.pickShader,b=d.pointPickShader,_=d.contourShader,w=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function T(t,e,r,n,i,a,o,s,l,c,u,f,h,p,d,g,m,v,y,x,b,_,T,k,M,A,S){this.gl=t,this.pixelRatio=1,this.cells=[],this.positions=[],this.intensity=[],this.texture=e,this.dirty=!0,this.triShader=r,this.lineShader=n,this.pointShader=i,this.pickShader=a,this.pointPickShader=o,this.contourShader=s,this.trianglePositions=l,this.triangleColors=u,this.triangleNormals=h,this.triangleUVs=f,this.triangleIds=c,this.triangleVAO=p,this.triangleCount=0,this.lineWidth=1,this.edgePositions=d,this.edgeColors=m,this.edgeUVs=v,this.edgeIds=g,this.edgeVAO=y,this.edgeCount=0,this.pointPositions=x,this.pointColors=_,this.pointUVs=T,this.pointSizes=k,this.pointIds=b,this.pointVAO=M,this.pointCount=0,this.contourLineWidth=1,this.contourPositions=A,this.contourVAO=S,this.contourCount=0,this.contourColor=[0,0,0],this.contourEnable=!0,this.pickVertex=!0,this.pickId=1,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.lightPosition=[1e5,1e5,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.opacity=1,this.hasAlpha=!1,this.opacityscale=!1,this._model=w,this._view=w,this._projection=w,this._resolution=[1,1]}var k=T.prototype;function M(t,e){if(!e)return 1;if(!e.length)return 1;for(var r=0;r<e.length;++r){if(e.length<2)return 1;if(e[r][0]===t)return e[r][1];if(e[r][0]>t&&r>0){var n=(e[r][0]-t)/(e[r][0]-e[r-1][0]);return e[r][1]*(1-n)+n*e[r-1][1]}}return 1}function A(t){var e=n(t,m.vertex,m.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e.attributes.normal.location=4,e}function S(t){var e=n(t,v.vertex,v.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e}function E(t){var e=n(t,y.vertex,y.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e.attributes.pointSize.location=4,e}function C(t){var e=n(t,x.vertex,x.fragment);return e.attributes.position.location=0,e.attributes.id.location=1,e}function L(t){var e=n(t,b.vertex,b.fragment);return e.attributes.position.location=0,e.attributes.id.location=1,e.attributes.pointSize.location=4,e}function I(t){var e=n(t,_.vertex,_.fragment);return e.attributes.position.location=0,e}k.isOpaque=function(){return!this.hasAlpha},k.isTransparent=function(){return this.hasAlpha},k.pickSlots=1,k.setPickBase=function(t){this.pickId=t},k.highlight=function(t){if(t&&this.contourEnable){for(var e=h(this.cells,this.intensity,t.intensity),r=e.cells,n=e.vertexIds,i=e.vertexWeights,a=r.length,o=p.mallocFloat32(6*a),s=0,l=0;l<a;++l)for(var c=r[l],u=0;u<2;++u){var f=c[0];2===c.length&&(f=c[u]);for(var d=n[f][0],g=n[f][1],m=i[f],v=1-m,y=this.positions[d],x=this.positions[g],b=0;b<3;++b)o[s++]=m*y[b]+v*x[b]}this.contourCount=s/3|0,this.contourPositions.update(o.subarray(0,s)),p.free(o)}else this.contourCount=0},k.update=function(t){t=t||{};var e=this.gl;this.dirty=!0,"contourEnable"in t&&(this.contourEnable=t.contourEnable),"contourColor"in t&&(this.contourColor=t.contourColor),"lineWidth"in t&&(this.lineWidth=t.lineWidth),"lightPosition"in t&&(this.lightPosition=t.lightPosition),this.hasAlpha=!1,"opacity"in t&&(this.opacity=t.opacity,this.opacity<1&&(this.hasAlpha=!0)),"opacityscale"in t&&(this.opacityscale=t.opacityscale,this.hasAlpha=!0),"ambient"in t&&(this.ambientLight=t.ambient),"diffuse"in t&&(this.diffuseLight=t.diffuse),"specular"in t&&(this.specularLight=t.specular),"roughness"in t&&(this.roughness=t.roughness),"fresnel"in t&&(this.fresnel=t.fresnel),t.texture?(this.texture.dispose(),this.texture=o(e,t.texture)):t.colormap&&(this.texture.shape=[256,256],this.texture.minFilter=e.LINEAR_MIPMAP_LINEAR,this.texture.magFilter=e.LINEAR,this.texture.setPixels(function(t,e){for(var r=f({colormap:t,nshades:256,format:"rgba"}),n=new Uint8Array(1024),i=0;i<256;++i){for(var a=r[i],o=0;o<3;++o)n[4*i+o]=a[o];n[4*i+3]=e?255*M(i/255,e):255*a[3]}return u(n,[256,256,4],[4,0,1])}(t.colormap,this.opacityscale)),this.texture.generateMipmap());var r=t.cells,n=t.positions;if(n&&r){var i=[],a=[],l=[],c=[],h=[],p=[],d=[],g=[],m=[],v=[],y=[],x=[],b=[],_=[];this.cells=r,this.positions=n;var w=t.vertexNormals,T=t.cellNormals,k=void 0===t.vertexNormalsEpsilon?1e-6:t.vertexNormalsEpsilon,A=void 0===t.faceNormalsEpsilon?1e-6:t.faceNormalsEpsilon;t.useFacetNormals&&!T&&(T=s.faceNormals(r,n,A)),T||w||(w=s.vertexNormals(r,n,k));var S=t.vertexColors,E=t.cellColors,C=t.meshColor||[1,1,1,1],L=t.vertexUVs,I=t.vertexIntensity,P=t.cellUVs,z=t.cellIntensity,O=1/0,D=-1/0;if(!L&&!P)if(I)if(t.vertexIntensityBounds)O=+t.vertexIntensityBounds[0],D=+t.vertexIntensityBounds[1];else for(var R=0;R<I.length;++R){var F=I[R];O=Math.min(O,F),D=Math.max(D,F)}else if(z)if(t.cellIntensityBounds)O=+t.cellIntensityBounds[0],D=+t.cellIntensityBounds[1];else for(R=0;R<z.length;++R){F=z[R];O=Math.min(O,F),D=Math.max(D,F)}else for(R=0;R<n.length;++R){F=n[R][2];O=Math.min(O,F),D=Math.max(D,F)}this.intensity=I||(z||function(t){for(var e=t.length,r=new Array(e),n=0;n<e;++n)r[n]=t[n][2];return r}(n)),this.pickVertex=!(z||E);var B=t.pointSizes,N=t.pointSize||1;this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]];for(R=0;R<n.length;++R)for(var j=n[R],U=0;U<3;++U)!isNaN(j[U])&&isFinite(j[U])&&(this.bounds[0][U]=Math.min(this.bounds[0][U],j[U]),this.bounds[1][U]=Math.max(this.bounds[1][U],j[U]));var V=0,q=0,H=0;t:for(R=0;R<r.length;++R){var G=r[R];switch(G.length){case 1:for(j=n[W=G[0]],U=0;U<3;++U)if(isNaN(j[U])||!isFinite(j[U]))continue t;v.push(j[0],j[1],j[2]),X=S?S[W]:E?E[R]:C,this.opacityscale&&I?a.push(X[0],X[1],X[2],this.opacity*M((I[W]-O)/(D-O),this.opacityscale)):3===X.length?y.push(X[0],X[1],X[2],this.opacity):(y.push(X[0],X[1],X[2],X[3]*this.opacity),X[3]<1&&(this.hasAlpha=!0)),Z=L?L[W]:I?[(I[W]-O)/(D-O),0]:P?P[R]:z?[(z[R]-O)/(D-O),0]:[(j[2]-O)/(D-O),0],x.push(Z[0],Z[1]),B?b.push(B[W]):b.push(N),_.push(R),H+=1;break;case 2:for(U=0;U<2;++U){j=n[W=G[U]];for(var Y=0;Y<3;++Y)if(isNaN(j[Y])||!isFinite(j[Y]))continue t}for(U=0;U<2;++U){j=n[W=G[U]];p.push(j[0],j[1],j[2]),X=S?S[W]:E?E[R]:C,this.opacityscale&&I?a.push(X[0],X[1],X[2],this.opacity*M((I[W]-O)/(D-O),this.opacityscale)):3===X.length?d.push(X[0],X[1],X[2],this.opacity):(d.push(X[0],X[1],X[2],X[3]*this.opacity),X[3]<1&&(this.hasAlpha=!0)),Z=L?L[W]:I?[(I[W]-O)/(D-O),0]:P?P[R]:z?[(z[R]-O)/(D-O),0]:[(j[2]-O)/(D-O),0],g.push(Z[0],Z[1]),m.push(R)}q+=1;break;case 3:for(U=0;U<3;++U)for(j=n[W=G[U]],Y=0;Y<3;++Y)if(isNaN(j[Y])||!isFinite(j[Y]))continue t;for(U=0;U<3;++U){var W,X,Z,J;j=n[W=G[2-U]];i.push(j[0],j[1],j[2]),(X=S?S[W]:E?E[R]:C)?this.opacityscale&&I?a.push(X[0],X[1],X[2],this.opacity*M((I[W]-O)/(D-O),this.opacityscale)):3===X.length?a.push(X[0],X[1],X[2],this.opacity):(a.push(X[0],X[1],X[2],X[3]*this.opacity),X[3]<1&&(this.hasAlpha=!0)):a.push(.5,.5,.5,1),Z=L?L[W]:I?[(I[W]-O)/(D-O),0]:P?P[R]:z?[(z[R]-O)/(D-O),0]:[(j[2]-O)/(D-O),0],c.push(Z[0],Z[1]),J=w?w[W]:T[R],l.push(J[0],J[1],J[2]),h.push(R)}V+=1}}this.pointCount=H,this.edgeCount=q,this.triangleCount=V,this.pointPositions.update(v),this.pointColors.update(y),this.pointUVs.update(x),this.pointSizes.update(b),this.pointIds.update(new Uint32Array(_)),this.edgePositions.update(p),this.edgeColors.update(d),this.edgeUVs.update(g),this.edgeIds.update(new Uint32Array(m)),this.trianglePositions.update(i),this.triangleColors.update(a),this.triangleUVs.update(c),this.triangleNormals.update(l),this.triangleIds.update(new Uint32Array(h))}},k.drawTransparent=k.draw=function(t){t=t||{};for(var e=this.gl,r=t.model||w,n=t.view||w,i=t.projection||w,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)a[0][o]=Math.max(a[0][o],this.clipBounds[0][o]),a[1][o]=Math.min(a[1][o],this.clipBounds[1][o]);var s={model:r,view:n,projection:i,inverseModel:w.slice(),clipBounds:a,kambient:this.ambientLight,kdiffuse:this.diffuseLight,kspecular:this.specularLight,roughness:this.roughness,fresnel:this.fresnel,eyePosition:[0,0,0],lightPosition:[0,0,0],contourColor:this.contourColor,texture:0};s.inverseModel=c(s.inverseModel,s.model),e.disable(e.CULL_FACE),this.texture.bind(0);var u=new Array(16);l(u,s.view,s.model),l(u,s.projection,u),c(u,u);for(o=0;o<3;++o)s.eyePosition[o]=u[12+o]/u[15];var f,h=u[15];for(o=0;o<3;++o)h+=this.lightPosition[o]*u[4*o+3];for(o=0;o<3;++o){for(var p=u[12+o],d=0;d<3;++d)p+=u[4*d+o]*this.lightPosition[d];s.lightPosition[o]=p/h}this.triangleCount>0&&((f=this.triShader).bind(),f.uniforms=s,this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind());this.edgeCount>0&&this.lineWidth>0&&((f=this.lineShader).bind(),f.uniforms=s,this.edgeVAO.bind(),e.lineWidth(this.lineWidth*this.pixelRatio),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind());this.pointCount>0&&((f=this.pointShader).bind(),f.uniforms=s,this.pointVAO.bind(),e.drawArrays(e.POINTS,0,this.pointCount),this.pointVAO.unbind());this.contourEnable&&this.contourCount>0&&this.contourLineWidth>0&&((f=this.contourShader).bind(),f.uniforms=s,this.contourVAO.bind(),e.drawArrays(e.LINES,0,this.contourCount),this.contourVAO.unbind())},k.drawPick=function(t){t=t||{};for(var e=this.gl,r=t.model||w,n=t.view||w,i=t.projection||w,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)a[0][o]=Math.max(a[0][o],this.clipBounds[0][o]),a[1][o]=Math.min(a[1][o],this.clipBounds[1][o]);this._model=[].slice.call(r),this._view=[].slice.call(n),this._projection=[].slice.call(i),this._resolution=[e.drawingBufferWidth,e.drawingBufferHeight];var s,l={model:r,view:n,projection:i,clipBounds:a,pickId:this.pickId/255};((s=this.pickShader).bind(),s.uniforms=l,this.triangleCount>0&&(this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()),this.edgeCount>0&&(this.edgeVAO.bind(),e.lineWidth(this.lineWidth*this.pixelRatio),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind()),this.pointCount>0)&&((s=this.pointPickShader).bind(),s.uniforms=l,this.pointVAO.bind(),e.drawArrays(e.POINTS,0,this.pointCount),this.pointVAO.unbind())},k.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;for(var e=t.value[0]+256*t.value[1]+65536*t.value[2],r=this.cells[e],n=this.positions,i=new Array(r.length),a=0;a<r.length;++a)i[a]=n[r[a]];var o=t.coord[0],s=t.coord[1];if(!this.pickVertex){var l=this.positions[r[0]],c=this.positions[r[1]],u=this.positions[r[2]],f=[(l[0]+c[0]+u[0])/3,(l[1]+c[1]+u[1])/3,(l[2]+c[2]+u[2])/3];return{_cellCenter:!0,position:[o,s],index:e,cell:r,cellId:e,intensity:this.intensity[e],dataCoordinate:f}}var h=g(i,[o*this.pixelRatio,this._resolution[1]-s*this.pixelRatio],this._model,this._view,this._projection,this._resolution);if(!h)return null;var p=h[2],d=0;for(a=0;a<r.length;++a)d+=p[a]*this.intensity[r[a]];return{position:h[1],index:r[h[0]],cell:r,cellId:e,intensity:d,dataCoordinate:this.positions[r[h[0]]]}},k.dispose=function(){this.texture.dispose(),this.triShader.dispose(),this.lineShader.dispose(),this.pointShader.dispose(),this.pickShader.dispose(),this.pointPickShader.dispose(),this.triangleVAO.dispose(),this.trianglePositions.dispose(),this.triangleColors.dispose(),this.triangleUVs.dispose(),this.triangleNormals.dispose(),this.triangleIds.dispose(),this.edgeVAO.dispose(),this.edgePositions.dispose(),this.edgeColors.dispose(),this.edgeUVs.dispose(),this.edgeIds.dispose(),this.pointVAO.dispose(),this.pointPositions.dispose(),this.pointColors.dispose(),this.pointUVs.dispose(),this.pointSizes.dispose(),this.pointIds.dispose(),this.contourVAO.dispose(),this.contourPositions.dispose(),this.contourShader.dispose()},e.exports=function(t,e){1===arguments.length&&(t=(e=t).gl);var r=t.getExtension("OES_standard_derivatives")||t.getExtension("MOZ_OES_standard_derivatives")||t.getExtension("WEBKIT_OES_standard_derivatives");if(!r)throw new Error("derivatives not supported");var n=A(t),s=S(t),l=E(t),c=C(t),f=L(t),h=I(t),p=o(t,u(new Uint8Array([255,255,255,255]),[1,1,4]));p.generateMipmap(),p.minFilter=t.LINEAR_MIPMAP_LINEAR,p.magFilter=t.LINEAR;var d=i(t),g=i(t),m=i(t),v=i(t),y=i(t),x=a(t,[{buffer:d,type:t.FLOAT,size:3},{buffer:y,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:g,type:t.FLOAT,size:4},{buffer:m,type:t.FLOAT,size:2},{buffer:v,type:t.FLOAT,size:3}]),b=i(t),_=i(t),w=i(t),k=i(t),M=a(t,[{buffer:b,type:t.FLOAT,size:3},{buffer:k,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:_,type:t.FLOAT,size:4},{buffer:w,type:t.FLOAT,size:2}]),P=i(t),z=i(t),O=i(t),D=i(t),R=i(t),F=a(t,[{buffer:P,type:t.FLOAT,size:3},{buffer:R,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:z,type:t.FLOAT,size:4},{buffer:O,type:t.FLOAT,size:2},{buffer:D,type:t.FLOAT,size:1}]),B=i(t),N=a(t,[{buffer:B,type:t.FLOAT,size:3}]),j=new T(t,p,n,s,l,c,f,h,d,y,g,m,v,x,b,k,_,w,M,P,R,z,O,D,F,B,N);return j.update(e),j}},{"./lib/closest-point":307,"./lib/shaders":308,colormap:131,"gl-buffer":259,"gl-mat4/invert":293,"gl-mat4/multiply":295,"gl-shader":335,"gl-texture2d":353,"gl-vao":358,ndarray:495,normals:498,"simplicial-complex-contour":556,"typedarray-pool":595}],310:[function(t,e,r){arguments[4][257][0].apply(r,arguments)},{dup:257}],311:[function(t,e,r){"use strict";e.exports=function(t){var e=t.gl,r=n(e,[0,0,0,1,1,0,1,1]),s=i(e,a.boxVert,a.lineFrag);return new o(t,r,s)};var n=t("gl-buffer"),i=t("gl-shader"),a=t("./shaders");function o(t,e,r){this.plot=t,this.vbo=e,this.shader=r}var s,l,c=o.prototype;c.bind=function(){var t=this.shader;this.vbo.bind(),this.shader.bind(),t.attributes.coord.pointer(),t.uniforms.screenBox=this.plot.screenBox},c.drawBox=(s=[0,0],l=[0,0],function(t,e,r,n,i){var a=this.plot,o=this.shader,c=a.gl;s[0]=t,s[1]=e,l[0]=r,l[1]=n,o.uniforms.lo=s,o.uniforms.hi=l,o.uniforms.color=i,c.drawArrays(c.TRIANGLE_STRIP,0,4)}),c.dispose=function(){this.vbo.dispose(),this.shader.dispose()}},{"./shaders":314,"gl-buffer":259,"gl-shader":335}],312:[function(t,e,r){"use strict";e.exports=function(t){var e=t.gl,r=n(e),a=i(e,o.gridVert,o.gridFrag),l=i(e,o.tickVert,o.gridFrag);return new s(t,r,a,l)};var n=t("gl-buffer"),i=t("gl-shader"),a=t("binary-search-bounds"),o=t("./shaders");function s(t,e,r,n){this.plot=t,this.vbo=e,this.shader=r,this.tickShader=n,this.ticks=[[],[]]}function l(t,e){return t-e}var c,u,f,h,p,d=s.prototype;d.draw=(c=[0,0],u=[0,0],f=[0,0],function(){for(var t=this.plot,e=this.vbo,r=this.shader,n=this.ticks,i=t.gl,a=t._tickBounds,o=t.dataBox,s=t.viewBox,l=t.gridLineWidth,h=t.gridLineColor,p=t.gridLineEnable,d=t.pixelRatio,g=0;g<2;++g){var m=a[g],v=a[g+2]-m,y=.5*(o[g+2]+o[g]),x=o[g+2]-o[g];u[g]=2*v/x,c[g]=2*(m-y)/x}r.bind(),e.bind(),r.attributes.dataCoord.pointer(),r.uniforms.dataShift=c,r.uniforms.dataScale=u;var b=0;for(g=0;g<2;++g){f[0]=f[1]=0,f[g]=1,r.uniforms.dataAxis=f,r.uniforms.lineWidth=l[g]/(s[g+2]-s[g])*d,r.uniforms.color=h[g];var _=6*n[g].length;p[g]&&_&&i.drawArrays(i.TRIANGLES,b,_),b+=_}}),d.drawTickMarks=function(){var t=[0,0],e=[0,0],r=[1,0],n=[0,1],i=[0,0],o=[0,0];return function(){for(var s=this.plot,c=this.vbo,u=this.tickShader,f=this.ticks,h=s.gl,p=s._tickBounds,d=s.dataBox,g=s.viewBox,m=s.pixelRatio,v=s.screenBox,y=v[2]-v[0],x=v[3]-v[1],b=g[2]-g[0],_=g[3]-g[1],w=0;w<2;++w){var T=p[w],k=p[w+2]-T,M=.5*(d[w+2]+d[w]),A=d[w+2]-d[w];e[w]=2*k/A,t[w]=2*(T-M)/A}e[0]*=b/y,t[0]*=b/y,e[1]*=_/x,t[1]*=_/x,u.bind(),c.bind(),u.attributes.dataCoord.pointer();var S=u.uniforms;S.dataShift=t,S.dataScale=e;var E=s.tickMarkLength,C=s.tickMarkWidth,L=s.tickMarkColor,I=6*f[0].length,P=Math.min(a.ge(f[0],(d[0]-p[0])/(p[2]-p[0]),l),f[0].length),z=Math.min(a.gt(f[0],(d[2]-p[0])/(p[2]-p[0]),l),f[0].length),O=0+6*P,D=6*Math.max(0,z-P),R=Math.min(a.ge(f[1],(d[1]-p[1])/(p[3]-p[1]),l),f[1].length),F=Math.min(a.gt(f[1],(d[3]-p[1])/(p[3]-p[1]),l),f[1].length),B=I+6*R,N=6*Math.max(0,F-R);i[0]=2*(g[0]-E[1])/y-1,i[1]=(g[3]+g[1])/x-1,o[0]=E[1]*m/y,o[1]=C[1]*m/x,N&&(S.color=L[1],S.tickScale=o,S.dataAxis=n,S.screenOffset=i,h.drawArrays(h.TRIANGLES,B,N)),i[0]=(g[2]+g[0])/y-1,i[1]=2*(g[1]-E[0])/x-1,o[0]=C[0]*m/y,o[1]=E[0]*m/x,D&&(S.color=L[0],S.tickScale=o,S.dataAxis=r,S.screenOffset=i,h.drawArrays(h.TRIANGLES,O,D)),i[0]=2*(g[2]+E[3])/y-1,i[1]=(g[3]+g[1])/x-1,o[0]=E[3]*m/y,o[1]=C[3]*m/x,N&&(S.color=L[3],S.tickScale=o,S.dataAxis=n,S.screenOffset=i,h.drawArrays(h.TRIANGLES,B,N)),i[0]=(g[2]+g[0])/y-1,i[1]=2*(g[3]+E[2])/x-1,o[0]=C[2]*m/y,o[1]=E[2]*m/x,D&&(S.color=L[2],S.tickScale=o,S.dataAxis=r,S.screenOffset=i,h.drawArrays(h.TRIANGLES,O,D))}}(),d.update=(h=[1,1,-1,-1,1,-1],p=[1,-1,1,1,-1,-1],function(t){for(var e=t.ticks,r=t.bounds,n=new Float32Array(18*(e[0].length+e[1].length)),i=(this.plot.zeroLineEnable,0),a=[[],[]],o=0;o<2;++o)for(var s=a[o],l=e[o],c=r[o],u=r[o+2],f=0;f<l.length;++f){var d=(l[f].x-c)/(u-c);s.push(d);for(var g=0;g<6;++g)n[i++]=d,n[i++]=h[g],n[i++]=p[g]}this.ticks=a,this.vbo.update(n)}),d.dispose=function(){this.vbo.dispose(),this.shader.dispose(),this.tickShader.dispose()}},{"./shaders":314,"binary-search-bounds":96,"gl-buffer":259,"gl-shader":335}],313:[function(t,e,r){"use strict";e.exports=function(t){var e=t.gl,r=n(e,[-1,-1,-1,1,1,-1,1,1]),s=i(e,a.lineVert,a.lineFrag);return new o(t,r,s)};var n=t("gl-buffer"),i=t("gl-shader"),a=t("./shaders");function o(t,e,r){this.plot=t,this.vbo=e,this.shader=r}var s,l,c=o.prototype;c.bind=function(){var t=this.shader;this.vbo.bind(),this.shader.bind(),t.attributes.coord.pointer(),t.uniforms.screenBox=this.plot.screenBox},c.drawLine=(s=[0,0],l=[0,0],function(t,e,r,n,i,a){var o=this.plot,c=this.shader,u=o.gl;s[0]=t,s[1]=e,l[0]=r,l[1]=n,c.uniforms.start=s,c.uniforms.end=l,c.uniforms.width=i*o.pixelRatio,c.uniforms.color=a,u.drawArrays(u.TRIANGLE_STRIP,0,4)}),c.dispose=function(){this.vbo.dispose(),this.shader.dispose()}},{"./shaders":314,"gl-buffer":259,"gl-shader":335}],314:[function(t,e,r){"use strict";var n=t("glslify"),i=n(["precision lowp float;\n#define GLSLIFY 1\nuniform vec4 color;\nvoid main() {\n gl_FragColor = vec4(color.xyz * color.w, color.w);\n}\n"]);e.exports={lineVert:n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 coord;\n\nuniform vec4 screenBox;\nuniform vec2 start, end;\nuniform float width;\n\nvec2 perp(vec2 v) {\n return vec2(v.y, -v.x);\n}\n\nvec2 screen(vec2 v) {\n return 2.0 * (v - screenBox.xy) / (screenBox.zw - screenBox.xy) - 1.0;\n}\n\nvoid main() {\n vec2 delta = normalize(perp(start - end));\n vec2 offset = mix(start, end, 0.5 * (coord.y+1.0));\n gl_Position = vec4(screen(offset + 0.5 * width * delta * coord.x), 0, 1);\n}\n"]),lineFrag:i,textVert:n(["#define GLSLIFY 1\nattribute vec3 textCoordinate;\n\nuniform vec2 dataScale, dataShift, dataAxis, screenOffset, textScale;\nuniform float angle;\n\nvoid main() {\n float dataOffset = textCoordinate.z;\n vec2 glyphOffset = textCoordinate.xy;\n mat2 glyphMatrix = mat2(cos(angle), sin(angle), -sin(angle), cos(angle));\n vec2 screenCoordinate = dataAxis * (dataScale * dataOffset + dataShift) +\n glyphMatrix * glyphOffset * textScale + screenOffset;\n gl_Position = vec4(screenCoordinate, 0, 1);\n}\n"]),textFrag:i,gridVert:n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec3 dataCoord;\n\nuniform vec2 dataAxis, dataShift, dataScale;\nuniform float lineWidth;\n\nvoid main() {\n vec2 pos = dataAxis * (dataScale * dataCoord.x + dataShift);\n pos += 10.0 * dataCoord.y * vec2(dataAxis.y, -dataAxis.x) + dataCoord.z * lineWidth;\n gl_Position = vec4(pos, 0, 1);\n}\n"]),gridFrag:i,boxVert:n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 coord;\n\nuniform vec4 screenBox;\nuniform vec2 lo, hi;\n\nvec2 screen(vec2 v) {\n return 2.0 * (v - screenBox.xy) / (screenBox.zw - screenBox.xy) - 1.0;\n}\n\nvoid main() {\n gl_Position = vec4(screen(mix(lo, hi, coord)), 0, 1);\n}\n"]),tickVert:n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec3 dataCoord;\n\nuniform vec2 dataAxis, dataShift, dataScale, screenOffset, tickScale;\n\nvoid main() {\n vec2 pos = dataAxis * (dataScale * dataCoord.x + dataShift);\n gl_Position = vec4(pos + tickScale*dataCoord.yz + screenOffset, 0, 1);\n}\n"])}},{glslify:316}],315:[function(t,e,r){"use strict";e.exports=function(t){var e=t.gl,r=n(e),a=i(e,s.textVert,s.textFrag);return new l(t,r,a)};var n=t("gl-buffer"),i=t("gl-shader"),a=t("text-cache"),o=t("binary-search-bounds"),s=t("./shaders");function l(t,e,r){this.plot=t,this.vbo=e,this.shader=r,this.tickOffset=[[],[]],this.tickX=[[],[]],this.labelOffset=[0,0],this.labelCount=[0,0]}var c,u,f,h,p,d,g=l.prototype;g.drawTicks=(c=[0,0],u=[0,0],f=[0,0],function(t){var e=this.plot,r=this.shader,n=this.tickX[t],i=this.tickOffset[t],a=e.gl,s=e.viewBox,l=e.dataBox,h=e.screenBox,p=e.pixelRatio,d=e.tickEnable,g=e.tickPad,m=e.tickColor,v=e.tickAngle,y=e.labelEnable,x=e.labelPad,b=e.labelColor,_=e.labelAngle,w=this.labelOffset[t],T=this.labelCount[t],k=o.lt(n,l[t]),M=o.le(n,l[t+2]);c[0]=c[1]=0,c[t]=1,u[t]=(s[2+t]+s[t])/(h[2+t]-h[t])-1;var A=2/h[2+(1^t)]-h[1^t];u[1^t]=A*s[1^t]-1,d[t]&&(u[1^t]-=A*p*g[t],k<M&&i[M]>i[k]&&(r.uniforms.dataAxis=c,r.uniforms.screenOffset=u,r.uniforms.color=m[t],r.uniforms.angle=v[t],a.drawArrays(a.TRIANGLES,i[k],i[M]-i[k]))),y[t]&&T&&(u[1^t]-=A*p*x[t],r.uniforms.dataAxis=f,r.uniforms.screenOffset=u,r.uniforms.color=b[t],r.uniforms.angle=_[t],a.drawArrays(a.TRIANGLES,w,T)),u[1^t]=A*s[2+(1^t)]-1,d[t+2]&&(u[1^t]+=A*p*g[t+2],k<M&&i[M]>i[k]&&(r.uniforms.dataAxis=c,r.uniforms.screenOffset=u,r.uniforms.color=m[t+2],r.uniforms.angle=v[t+2],a.drawArrays(a.TRIANGLES,i[k],i[M]-i[k]))),y[t+2]&&T&&(u[1^t]+=A*p*x[t+2],r.uniforms.dataAxis=f,r.uniforms.screenOffset=u,r.uniforms.color=b[t+2],r.uniforms.angle=_[t+2],a.drawArrays(a.TRIANGLES,w,T))}),g.drawTitle=function(){var t=[0,0],e=[0,0];return function(){var r=this.plot,n=this.shader,i=r.gl,a=r.screenBox,o=r.titleCenter,s=r.titleAngle,l=r.titleColor,c=r.pixelRatio;if(this.titleCount){for(var u=0;u<2;++u)e[u]=2*(o[u]*c-a[u])/(a[2+u]-a[u])-1;n.bind(),n.uniforms.dataAxis=t,n.uniforms.screenOffset=e,n.uniforms.angle=s,n.uniforms.color=l,i.drawArrays(i.TRIANGLES,this.titleOffset,this.titleCount)}}}(),g.bind=(h=[0,0],p=[0,0],d=[0,0],function(){var t=this.plot,e=this.shader,r=t._tickBounds,n=t.dataBox,i=t.screenBox,a=t.viewBox;e.bind();for(var o=0;o<2;++o){var s=r[o],l=r[o+2]-s,c=.5*(n[o+2]+n[o]),u=n[o+2]-n[o],f=a[o],g=a[o+2]-f,m=i[o],v=i[o+2]-m;p[o]=2*l/u*g/v,h[o]=2*(s-c)/u*g/v}d[1]=2*t.pixelRatio/(i[3]-i[1]),d[0]=d[1]*(i[3]-i[1])/(i[2]-i[0]),e.uniforms.dataScale=p,e.uniforms.dataShift=h,e.uniforms.textScale=d,this.vbo.bind(),e.attributes.textCoordinate.pointer()}),g.update=function(t){var e,r,n,i,o,s=[],l=t.ticks,c=t.bounds;for(o=0;o<2;++o){var u=[Math.floor(s.length/3)],f=[-1/0],h=l[o];for(e=0;e<h.length;++e){var p=h[e],d=p.x,g=p.text,m=p.font||"sans-serif";i=p.fontSize||12;for(var v=1/(c[o+2]-c[o]),y=c[o],x=g.split("\n"),b=0;b<x.length;b++)for(n=a(m,x[b]).data,r=0;r<n.length;r+=2)s.push(n[r]*i,-n[r+1]*i-b*i*1.2,(d-y)*v);u.push(Math.floor(s.length/3)),f.push(d)}this.tickOffset[o]=u,this.tickX[o]=f}for(o=0;o<2;++o){for(this.labelOffset[o]=Math.floor(s.length/3),n=a(t.labelFont[o],t.labels[o],{textAlign:"center"}).data,i=t.labelSize[o],e=0;e<n.length;e+=2)s.push(n[e]*i,-n[e+1]*i,0);this.labelCount[o]=Math.floor(s.length/3)-this.labelOffset[o]}for(this.titleOffset=Math.floor(s.length/3),n=a(t.titleFont,t.title).data,i=t.titleSize,e=0;e<n.length;e+=2)s.push(n[e]*i,-n[e+1]*i,0);this.titleCount=Math.floor(s.length/3)-this.titleOffset,this.vbo.update(s)},g.dispose=function(){this.vbo.dispose(),this.shader.dispose()}},{"./shaders":314,"binary-search-bounds":96,"gl-buffer":259,"gl-shader":335,"text-cache":575}],316:[function(t,e,r){arguments[4][257][0].apply(r,arguments)},{dup:257}],317:[function(t,e,r){"use strict";e.exports=function(t){var e=t.gl,r=n(e,[e.drawingBufferWidth,e.drawingBufferHeight]),c=new l(e,r);return c.grid=i(c),c.text=a(c),c.line=o(c),c.box=s(c),c.update(t),c};var n=t("gl-select-static"),i=t("./lib/grid"),a=t("./lib/text"),o=t("./lib/line"),s=t("./lib/box");function l(t,e){this.gl=t,this.pickBuffer=e,this.screenBox=[0,0,t.drawingBufferWidth,t.drawingBufferHeight],this.viewBox=[0,0,0,0],this.dataBox=[-10,-10,10,10],this.gridLineEnable=[!0,!0],this.gridLineWidth=[1,1],this.gridLineColor=[[0,0,0,1],[0,0,0,1]],this.pixelRatio=1,this.tickMarkLength=[0,0,0,0],this.tickMarkWidth=[0,0,0,0],this.tickMarkColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.tickPad=[15,15,15,15],this.tickAngle=[0,0,0,0],this.tickEnable=[!0,!0,!0,!0],this.tickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.labelPad=[15,15,15,15],this.labelAngle=[0,Math.PI/2,0,3*Math.PI/2],this.labelEnable=[!0,!0,!0,!0],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.titleCenter=[0,0],this.titleEnable=!0,this.titleAngle=0,this.titleColor=[0,0,0,1],this.borderColor=[0,0,0,0],this.backgroundColor=[0,0,0,0],this.zeroLineEnable=[!0,!0],this.zeroLineWidth=[4,4],this.zeroLineColor=[[0,0,0,1],[0,0,0,1]],this.borderLineEnable=[!0,!0,!0,!0],this.borderLineWidth=[2,2,2,2],this.borderLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.grid=null,this.text=null,this.line=null,this.box=null,this.objects=[],this.overlays=[],this._tickBounds=[1/0,1/0,-1/0,-1/0],this.static=!1,this.dirty=!1,this.pickDirty=!1,this.pickDelay=120,this.pickRadius=10,this._pickTimeout=null,this._drawPick=this.drawPick.bind(this),this._depthCounter=0}var c=l.prototype;function u(t){for(var e=t.slice(),r=0;r<e.length;++r)e[r]=e[r].slice();return e}function f(t,e){return t.x-e.x}c.setDirty=function(){this.dirty=this.pickDirty=!0},c.setOverlayDirty=function(){this.dirty=!0},c.nextDepthValue=function(){return this._depthCounter++/65536},c.draw=function(){var t=this.gl,e=this.screenBox,r=this.viewBox,n=this.dataBox,i=this.pixelRatio,a=this.grid,o=this.line,s=this.text,l=this.objects;if(this._depthCounter=0,this.pickDirty&&(this._pickTimeout&&clearTimeout(this._pickTimeout),this.pickDirty=!1,this._pickTimeout=setTimeout(this._drawPick,this.pickDelay)),this.dirty){if(this.dirty=!1,t.bindFramebuffer(t.FRAMEBUFFER,null),t.enable(t.SCISSOR_TEST),t.disable(t.DEPTH_TEST),t.depthFunc(t.LESS),t.depthMask(!1),t.enable(t.BLEND),t.blendEquation(t.FUNC_ADD,t.FUNC_ADD),t.blendFunc(t.ONE,t.ONE_MINUS_SRC_ALPHA),this.borderColor){t.scissor(e[0],e[1],e[2]-e[0],e[3]-e[1]);var c=this.borderColor;t.clearColor(c[0]*c[3],c[1]*c[3],c[2]*c[3],c[3]),t.clear(t.COLOR_BUFFER_BIT|t.DEPTH_BUFFER_BIT)}t.scissor(r[0],r[1],r[2]-r[0],r[3]-r[1]),t.viewport(r[0],r[1],r[2]-r[0],r[3]-r[1]);var u=this.backgroundColor;t.clearColor(u[0]*u[3],u[1]*u[3],u[2]*u[3],u[3]),t.clear(t.COLOR_BUFFER_BIT),a.draw();var f=this.zeroLineEnable,h=this.zeroLineColor,p=this.zeroLineWidth;if(f[0]||f[1]){o.bind();for(var d=0;d<2;++d)if(f[d]&&n[d]<=0&&n[d+2]>=0){var g=e[d]-n[d]*(e[d+2]-e[d])/(n[d+2]-n[d]);0===d?o.drawLine(g,e[1],g,e[3],p[d],h[d]):o.drawLine(e[0],g,e[2],g,p[d],h[d])}}for(d=0;d<l.length;++d)l[d].draw();t.viewport(e[0],e[1],e[2]-e[0],e[3]-e[1]),t.scissor(e[0],e[1],e[2]-e[0],e[3]-e[1]),this.grid.drawTickMarks(),o.bind();var m=this.borderLineEnable,v=this.borderLineWidth,y=this.borderLineColor;for(m[1]&&o.drawLine(r[0],r[1]-.5*v[1]*i,r[0],r[3]+.5*v[3]*i,v[1],y[1]),m[0]&&o.drawLine(r[0]-.5*v[0]*i,r[1],r[2]+.5*v[2]*i,r[1],v[0],y[0]),m[3]&&o.drawLine(r[2],r[1]-.5*v[1]*i,r[2],r[3]+.5*v[3]*i,v[3],y[3]),m[2]&&o.drawLine(r[0]-.5*v[0]*i,r[3],r[2]+.5*v[2]*i,r[3],v[2],y[2]),s.bind(),d=0;d<2;++d)s.drawTicks(d);this.titleEnable&&s.drawTitle();var x=this.overlays;for(d=0;d<x.length;++d)x[d].draw();t.disable(t.SCISSOR_TEST),t.disable(t.BLEND),t.depthMask(!0)}},c.drawPick=function(){if(!this.static){var t=this.pickBuffer;this.gl,this._pickTimeout=null,t.begin();for(var e=1,r=this.objects,n=0;n<r.length;++n)e=r[n].drawPick(e);t.end()}},c.pick=function(t,e){if(!this.static){var r=this.pixelRatio,n=this.pickPixelRatio,i=this.viewBox,a=0|Math.round((t-i[0]/r)*n),o=0|Math.round((e-i[1]/r)*n),s=this.pickBuffer.query(a,o,this.pickRadius);if(!s)return null;for(var l=s.id+(s.value[0]<<8)+(s.value[1]<<16)+(s.value[2]<<24),c=this.objects,u=0;u<c.length;++u){var f=c[u].pick(a,o,l);if(f)return f}return null}},c.setScreenBox=function(t){var e=this.screenBox,r=this.pixelRatio;e[0]=0|Math.round(t[0]*r),e[1]=0|Math.round(t[1]*r),e[2]=0|Math.round(t[2]*r),e[3]=0|Math.round(t[3]*r),this.setDirty()},c.setDataBox=function(t){var e=this.dataBox;(e[0]!==t[0]||e[1]!==t[1]||e[2]!==t[2]||e[3]!==t[3])&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],this.setDirty())},c.setViewBox=function(t){var e=this.pixelRatio,r=this.viewBox;r[0]=0|Math.round(t[0]*e),r[1]=0|Math.round(t[1]*e),r[2]=0|Math.round(t[2]*e),r[3]=0|Math.round(t[3]*e);var n=this.pickPixelRatio;this.pickBuffer.shape=[0|Math.round((t[2]-t[0])*n),0|Math.round((t[3]-t[1])*n)],this.setDirty()},c.update=function(t){t=t||{};var e=this.gl;this.pixelRatio=t.pixelRatio||1;var r=this.pixelRatio;this.pickPixelRatio=Math.max(r,1),this.setScreenBox(t.screenBox||[0,0,e.drawingBufferWidth/r,e.drawingBufferHeight/r]);this.screenBox;this.setViewBox(t.viewBox||[.125*(this.screenBox[2]-this.screenBox[0])/r,.125*(this.screenBox[3]-this.screenBox[1])/r,.875*(this.screenBox[2]-this.screenBox[0])/r,.875*(this.screenBox[3]-this.screenBox[1])/r]);var n=this.viewBox,i=(n[2]-n[0])/(n[3]-n[1]);this.setDataBox(t.dataBox||[-10,-10/i,10,10/i]),this.borderColor=!1!==t.borderColor&&(t.borderColor||[0,0,0,0]).slice(),this.backgroundColor=(t.backgroundColor||[0,0,0,0]).slice(),this.gridLineEnable=(t.gridLineEnable||[!0,!0]).slice(),this.gridLineWidth=(t.gridLineWidth||[1,1]).slice(),this.gridLineColor=u(t.gridLineColor||[[.5,.5,.5,1],[.5,.5,.5,1]]),this.zeroLineEnable=(t.zeroLineEnable||[!0,!0]).slice(),this.zeroLineWidth=(t.zeroLineWidth||[4,4]).slice(),this.zeroLineColor=u(t.zeroLineColor||[[0,0,0,1],[0,0,0,1]]),this.tickMarkLength=(t.tickMarkLength||[0,0,0,0]).slice(),this.tickMarkWidth=(t.tickMarkWidth||[0,0,0,0]).slice(),this.tickMarkColor=u(t.tickMarkColor||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]),this.titleCenter=(t.titleCenter||[.5*(n[0]+n[2])/r,(n[3]+120)/r]).slice(),this.titleEnable=!("titleEnable"in t)||!!t.titleEnable,this.titleAngle=t.titleAngle||0,this.titleColor=(t.titleColor||[0,0,0,1]).slice(),this.labelPad=(t.labelPad||[15,15,15,15]).slice(),this.labelAngle=(t.labelAngle||[0,Math.PI/2,0,3*Math.PI/2]).slice(),this.labelEnable=(t.labelEnable||[!0,!0,!0,!0]).slice(),this.labelColor=u(t.labelColor||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]),this.tickPad=(t.tickPad||[15,15,15,15]).slice(),this.tickAngle=(t.tickAngle||[0,0,0,0]).slice(),this.tickEnable=(t.tickEnable||[!0,!0,!0,!0]).slice(),this.tickColor=u(t.tickColor||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]),this.borderLineEnable=(t.borderLineEnable||[!0,!0,!0,!0]).slice(),this.borderLineWidth=(t.borderLineWidth||[2,2,2,2]).slice(),this.borderLineColor=u(t.borderLineColor||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]);var a=t.ticks||[[],[]],o=this._tickBounds;o[0]=o[1]=1/0,o[2]=o[3]=-1/0;for(var s=0;s<2;++s){var l=a[s].slice(0);0!==l.length&&(l.sort(f),o[s]=Math.min(o[s],l[0].x),o[s+2]=Math.max(o[s+2],l[l.length-1].x))}this.grid.update({bounds:o,ticks:a}),this.text.update({bounds:o,ticks:a,labels:t.labels||["x","y"],labelSize:t.labelSize||[12,12],labelFont:t.labelFont||["sans-serif","sans-serif"],title:t.title||"",titleSize:t.titleSize||18,titleFont:t.titleFont||"sans-serif"}),this.static=!!t.static,this.setDirty()},c.dispose=function(){this.box.dispose(),this.grid.dispose(),this.text.dispose(),this.line.dispose();for(var t=this.objects.length-1;t>=0;--t)this.objects[t].dispose();this.objects.length=0;for(t=this.overlays.length-1;t>=0;--t)this.overlays[t].dispose();this.overlays.length=0,this.gl=null},c.addObject=function(t){this.objects.indexOf(t)<0&&(this.objects.push(t),this.setDirty())},c.removeObject=function(t){for(var e=this.objects,r=0;r<e.length;++r)if(e[r]===t){e.splice(r,1),this.setDirty();break}},c.addOverlay=function(t){this.overlays.indexOf(t)<0&&(this.overlays.push(t),this.setOverlayDirty())},c.removeOverlay=function(t){for(var e=this.overlays,r=0;r<e.length;++r)if(e[r]===t){e.splice(r,1),this.setOverlayDirty();break}}},{"./lib/box":311,"./lib/grid":312,"./lib/line":313,"./lib/text":315,"gl-select-static":334}],318:[function(t,e,r){"use strict";e.exports=function(t,e){t=t||document.body,e=e||{};var r=[.01,1/0];"distanceLimits"in e&&(r[0]=e.distanceLimits[0],r[1]=e.distanceLimits[1]);"zoomMin"in e&&(r[0]=e.zoomMin);"zoomMax"in e&&(r[1]=e.zoomMax);var c=i({center:e.center||[0,0,0],up:e.up||[0,1,0],eye:e.eye||[0,0,10],mode:e.mode||"orbit",distanceLimits:r}),u=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],f=0,h=t.clientWidth,p=t.clientHeight,d={keyBindingMode:"rotate",enableWheel:!0,view:c,element:t,delay:e.delay||16,rotateSpeed:e.rotateSpeed||1,zoomSpeed:e.zoomSpeed||1,translateSpeed:e.translateSpeed||1,flipX:!!e.flipX,flipY:!!e.flipY,modes:c.modes,_ortho:e._ortho||e.projection&&"orthographic"===e.projection.type||!1,tick:function(){var e=n(),r=this.delay,i=e-2*r;c.idle(e-r),c.recalcMatrix(i),c.flush(e-(100+2*r));for(var a=!0,o=c.computedMatrix,s=0;s<16;++s)a=a&&u[s]===o[s],u[s]=o[s];var l=t.clientWidth===h&&t.clientHeight===p;return h=t.clientWidth,p=t.clientHeight,a?!l:(f=Math.exp(c.computedRadius[0]),!0)},lookAt:function(t,e,r){c.lookAt(c.lastT(),t,e,r)},rotate:function(t,e,r){c.rotate(c.lastT(),t,e,r)},pan:function(t,e,r){c.pan(c.lastT(),t,e,r)},translate:function(t,e,r){c.translate(c.lastT(),t,e,r)}};return Object.defineProperties(d,{matrix:{get:function(){return c.computedMatrix},set:function(t){return c.setMatrix(c.lastT(),t),c.computedMatrix},enumerable:!0},mode:{get:function(){return c.getMode()},set:function(t){var e=c.computedUp.slice(),r=c.computedEye.slice(),i=c.computedCenter.slice();if(c.setMode(t),"turntable"===t){var a=n();c._active.lookAt(a,r,i,e),c._active.lookAt(a+500,r,i,[0,0,1]),c._active.flush(a)}return c.getMode()},enumerable:!0},center:{get:function(){return c.computedCenter},set:function(t){return c.lookAt(c.lastT(),null,t),c.computedCenter},enumerable:!0},eye:{get:function(){return c.computedEye},set:function(t){return c.lookAt(c.lastT(),t),c.computedEye},enumerable:!0},up:{get:function(){return c.computedUp},set:function(t){return c.lookAt(c.lastT(),null,null,t),c.computedUp},enumerable:!0},distance:{get:function(){return f},set:function(t){return c.setDistance(c.lastT(),t),t},enumerable:!0},distanceLimits:{get:function(){return c.getDistanceLimits(r)},set:function(t){return c.setDistanceLimits(t),t},enumerable:!0}}),t.addEventListener("contextmenu",(function(t){return t.preventDefault(),!1})),d._lastX=-1,d._lastY=-1,d._lastMods={shift:!1,control:!1,alt:!1,meta:!1},d.enableMouseListeners=function(){function e(e,r,i,a){var o=d.keyBindingMode;if(!1!==o){var s="rotate"===o,l="pan"===o,u="zoom"===o,h=!!a.control,p=!!a.alt,g=!!a.shift,m=!!(1&e),v=!!(2&e),y=!!(4&e),x=1/t.clientHeight,b=x*(r-d._lastX),_=x*(i-d._lastY),w=d.flipX?1:-1,T=d.flipY?1:-1,k=Math.PI*d.rotateSpeed,M=n();if(-1!==d._lastX&&-1!==d._lastY&&((s&&m&&!h&&!p&&!g||m&&!h&&!p&&g)&&c.rotate(M,w*k*b,-T*k*_,0),(l&&m&&!h&&!p&&!g||v||m&&h&&!p&&!g)&&c.pan(M,-d.translateSpeed*b*f,d.translateSpeed*_*f,0),u&&m&&!h&&!p&&!g||y||m&&!h&&p&&!g)){var A=-d.zoomSpeed*_/window.innerHeight*(M-c.lastT())*100;c.pan(M,0,0,f*(Math.exp(A)-1))}return d._lastX=r,d._lastY=i,d._lastMods=a,!0}}d.mouseListener=a(t,e),t.addEventListener("touchstart",(function(r){var n=s(r.changedTouches[0],t);e(0,n[0],n[1],d._lastMods),e(1,n[0],n[1],d._lastMods)}),!!l&&{passive:!0}),t.addEventListener("touchmove",(function(r){var n=s(r.changedTouches[0],t);e(1,n[0],n[1],d._lastMods),r.preventDefault()}),!!l&&{passive:!1}),t.addEventListener("touchend",(function(t){e(0,d._lastX,d._lastY,d._lastMods)}),!!l&&{passive:!0}),d.wheelListener=o(t,(function(t,e){if(!1!==d.keyBindingMode&&d.enableWheel){var r=d.flipX?1:-1,i=d.flipY?1:-1,a=n();if(Math.abs(t)>Math.abs(e))c.rotate(a,0,0,-t*r*Math.PI*d.rotateSpeed/window.innerWidth);else if(!d._ortho){var o=-d.zoomSpeed*i*e/window.innerHeight*(a-c.lastT())/20;c.pan(a,0,0,f*(Math.exp(o)-1))}}}),!0)},d.enableMouseListeners(),d};var n=t("right-now"),i=t("3d-view"),a=t("mouse-change"),o=t("mouse-wheel"),s=t("mouse-event-offset"),l=t("has-passive-events")},{"3d-view":54,"has-passive-events":441,"mouse-change":483,"mouse-event-offset":484,"mouse-wheel":486,"right-now":542}],319:[function(t,e,r){var n=t("glslify"),i=t("gl-shader"),a=n(["precision mediump float;\n#define GLSLIFY 1\nattribute vec2 position;\nvarying vec2 uv;\nvoid main() {\n uv = position;\n gl_Position = vec4(position, 0, 1);\n}"]),o=n(["precision mediump float;\n#define GLSLIFY 1\n\nuniform sampler2D accumBuffer;\nvarying vec2 uv;\n\nvoid main() {\n vec4 accum = texture2D(accumBuffer, 0.5 * (uv + 1.0));\n gl_FragColor = min(vec4(1,1,1,1), accum);\n}"]);e.exports=function(t){return i(t,a,o,null,[{name:"position",type:"vec2"}])}},{"gl-shader":335,glslify:320}],320:[function(t,e,r){arguments[4][257][0].apply(r,arguments)},{dup:257}],321:[function(t,e,r){"use strict";var n=t("./camera.js"),i=t("gl-axes3d"),a=t("gl-axes3d/properties"),o=t("gl-spikes3d"),s=t("gl-select-static"),l=t("gl-fbo"),c=t("a-big-triangle"),u=t("mouse-change"),f=t("gl-mat4/perspective"),h=t("gl-mat4/ortho"),p=t("./lib/shader"),d=t("is-mobile")({tablet:!0,featureDetect:!0});function g(){this.mouse=[-1,-1],this.screen=null,this.distance=1/0,this.index=null,this.dataCoordinate=null,this.dataPosition=null,this.object=null,this.data=null}function m(t){var e=Math.round(Math.log(Math.abs(t))/Math.log(10));if(e<0){var r=Math.round(Math.pow(10,-e));return Math.ceil(t*r)/r}if(e>0){r=Math.round(Math.pow(10,e));return Math.ceil(t/r)*r}return Math.ceil(t)}function v(t){return"boolean"!=typeof t||t}e.exports={createScene:function(t){(t=t||{}).camera=t.camera||{};var e=t.canvas;if(!e){if(e=document.createElement("canvas"),t.container)t.container.appendChild(e);else document.body.appendChild(e)}var r=t.gl;r||(t.glOptions&&(d=!!t.glOptions.preserveDrawingBuffer),r=function(t,e){var r=null;try{(r=t.getContext("webgl",e))||(r=t.getContext("experimental-webgl",e))}catch(t){return null}return r}(e,t.glOptions||{premultipliedAlpha:!0,antialias:!0,preserveDrawingBuffer:d}));if(!r)throw new Error("webgl not supported");var y=t.bounds||[[-10,-10,-10],[10,10,10]],x=new g,b=l(r,r.drawingBufferWidth,r.drawingBufferHeight,{preferFloat:!d}),_=p(r),w=t.cameraObject&&!0===t.cameraObject._ortho||t.camera.projection&&"orthographic"===t.camera.projection.type||!1,T={eye:t.camera.eye||[2,0,0],center:t.camera.center||[0,0,0],up:t.camera.up||[0,1,0],zoomMin:t.camera.zoomMax||.1,zoomMax:t.camera.zoomMin||100,mode:t.camera.mode||"turntable",_ortho:w},k=t.axes||{},M=i(r,k);M.enable=!k.disable;var A=t.spikes||{},S=o(r,A),E=[],C=[],L=[],I=[],P=!0,z=!0,O=new Array(16),D=new Array(16),R={view:null,projection:O,model:D,_ortho:!1},F=(z=!0,[r.drawingBufferWidth,r.drawingBufferHeight]),B=t.cameraObject||n(e,T),N={gl:r,contextLost:!1,pixelRatio:t.pixelRatio||1,canvas:e,selection:x,camera:B,axes:M,axesPixels:null,spikes:S,bounds:y,objects:E,shape:F,aspect:t.aspectRatio||[1,1,1],pickRadius:t.pickRadius||10,zNear:t.zNear||.01,zFar:t.zFar||1e3,fovy:t.fovy||Math.PI/4,clearColor:t.clearColor||[0,0,0,0],autoResize:v(t.autoResize),autoBounds:v(t.autoBounds),autoScale:!!t.autoScale,autoCenter:v(t.autoCenter),clipToBounds:v(t.clipToBounds),snapToData:!!t.snapToData,onselect:t.onselect||null,onrender:t.onrender||null,onclick:t.onclick||null,cameraParams:R,oncontextloss:null,mouseListener:null,_stopped:!1,getAspectratio:function(){return{x:this.aspect[0],y:this.aspect[1],z:this.aspect[2]}},setAspectratio:function(t){this.aspect[0]=t.x,this.aspect[1]=t.y,this.aspect[2]=t.z,z=!0},setBounds:function(t,e){this.bounds[0][t]=e.min,this.bounds[1][t]=e.max},setClearColor:function(t){this.clearColor=t},clearRGBA:function(){this.gl.clearColor(this.clearColor[0],this.clearColor[1],this.clearColor[2],this.clearColor[3]),this.gl.clear(this.gl.COLOR_BUFFER_BIT|this.gl.DEPTH_BUFFER_BIT)}},j=[r.drawingBufferWidth/N.pixelRatio|0,r.drawingBufferHeight/N.pixelRatio|0];function U(){if(!N._stopped&&N.autoResize){var t=e.parentNode,r=1,n=1;t&&t!==document.body?(r=t.clientWidth,n=t.clientHeight):(r=window.innerWidth,n=window.innerHeight);var i=0|Math.ceil(r*N.pixelRatio),a=0|Math.ceil(n*N.pixelRatio);if(i!==e.width||a!==e.height){e.width=i,e.height=a;var o=e.style;o.position=o.position||"absolute",o.left="0px",o.top="0px",o.width=r+"px",o.height=n+"px",P=!0}}}N.autoResize&&U();function V(){for(var t=E.length,e=I.length,n=0;n<e;++n)L[n]=0;t:for(n=0;n<t;++n){var i=E[n],a=i.pickSlots;if(a){for(var o=0;o<e;++o)if(L[o]+a<255){C[n]=o,i.setPickBase(L[o]+1),L[o]+=a;continue t}var l=s(r,F);C[n]=e,I.push(l),L.push(a),i.setPickBase(1),e+=1}else C[n]=-1}for(;e>0&&0===L[e-1];)L.pop(),I.pop().dispose()}function q(){if(N.contextLost)return!0;r.isContextLost()&&(N.contextLost=!0,N.mouseListener.enabled=!1,N.selection.object=null,N.oncontextloss&&N.oncontextloss())}window.addEventListener("resize",U),N.update=function(t){N._stopped||(t=t||{},P=!0,z=!0)},N.add=function(t){N._stopped||(t.axes=M,E.push(t),C.push(-1),P=!0,z=!0,V())},N.remove=function(t){if(!N._stopped){var e=E.indexOf(t);e<0||(E.splice(e,1),C.pop(),P=!0,z=!0,V())}},N.dispose=function(){if(!N._stopped&&(N._stopped=!0,window.removeEventListener("resize",U),e.removeEventListener("webglcontextlost",q),N.mouseListener.enabled=!1,!N.contextLost)){M.dispose(),S.dispose();for(var t=0;t<E.length;++t)E[t].dispose();b.dispose();for(t=0;t<I.length;++t)I[t].dispose();_.dispose(),r=null,M=null,S=null,E=[]}},N._mouseRotating=!1,N._prevButtons=0,N.enableMouseListeners=function(){N.mouseListener=u(e,(function(t,e,r){if(!N._stopped){var n=I.length,i=E.length,a=x.object;x.distance=1/0,x.mouse[0]=e,x.mouse[1]=r,x.object=null,x.screen=null,x.dataCoordinate=x.dataPosition=null;var o=!1;if(t&&N._prevButtons)N._mouseRotating=!0;else{N._mouseRotating&&(z=!0),N._mouseRotating=!1;for(var s=0;s<n;++s){var l=I[s].query(e,j[1]-r-1,N.pickRadius);if(l){if(l.distance>x.distance)continue;for(var c=0;c<i;++c){var u=E[c];if(C[c]===s){var f=u.pick(l);f&&(x.buttons=t,x.screen=l.coord,x.distance=l.distance,x.object=u,x.index=f.distance,x.dataPosition=f.position,x.dataCoordinate=f.dataCoordinate,x.data=f,o=!0)}}}}}a&&a!==x.object&&(a.highlight&&a.highlight(null),P=!0),x.object&&(x.object.highlight&&x.object.highlight(x.data),P=!0),(o=o||x.object!==a)&&N.onselect&&N.onselect(x),1&t&&!(1&N._prevButtons)&&N.onclick&&N.onclick(x),N._prevButtons=t}}))},e.addEventListener("webglcontextlost",q);var H=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],G=[H[0].slice(),H[1].slice()];function Y(){if(!q()){U();var t=N.camera.tick();R.view=N.camera.matrix,P=P||t,z=z||t,M.pixelRatio=N.pixelRatio,S.pixelRatio=N.pixelRatio;var e=E.length,n=H[0],i=H[1];n[0]=n[1]=n[2]=1/0,i[0]=i[1]=i[2]=-1/0;for(var o=0;o<e;++o){(L=E[o]).pixelRatio=N.pixelRatio,L.axes=N.axes,P=P||!!L.dirty,z=z||!!L.dirty;var s=L.bounds;if(s)for(var l=s[0],u=s[1],p=0;p<3;++p)n[p]=Math.min(n[p],l[p]),i[p]=Math.max(i[p],u[p])}var d=N.bounds;if(N.autoBounds)for(p=0;p<3;++p){if(i[p]<n[p])n[p]=-1,i[p]=1;else{n[p]===i[p]&&(n[p]-=1,i[p]+=1);var g=.05*(i[p]-n[p]);n[p]=n[p]-g,i[p]=i[p]+g}d[0][p]=n[p],d[1][p]=i[p]}var v=!1;for(p=0;p<3;++p)v=v||G[0][p]!==d[0][p]||G[1][p]!==d[1][p],G[0][p]=d[0][p],G[1][p]=d[1][p];if(z=z||v,P=P||v){if(v){var y=[0,0,0];for(o=0;o<3;++o)y[o]=m((d[1][o]-d[0][o])/10);M.autoTicks?M.update({bounds:d,tickSpacing:y}):M.update({bounds:d})}var T=r.drawingBufferWidth,k=r.drawingBufferHeight;F[0]=T,F[1]=k,j[0]=0|Math.max(T/N.pixelRatio,1),j[1]=0|Math.max(k/N.pixelRatio,1),function(t,e){var r=t.bounds,n=t.cameraParams,i=n.projection,a=n.model,o=t.gl.drawingBufferWidth,s=t.gl.drawingBufferHeight,l=t.zNear,c=t.zFar,u=t.fovy,p=o/s;e?(h(i,-p,p,-1,1,l,c),n._ortho=!0):(f(i,u,p,l,c),n._ortho=!1);for(var d=0;d<16;++d)a[d]=0;a[15]=1;var g=0;for(d=0;d<3;++d)g=Math.max(g,r[1][d]-r[0][d]);for(d=0;d<3;++d)t.autoScale?a[5*d]=t.aspect[d]/(r[1][d]-r[0][d]):a[5*d]=1/g,t.autoCenter&&(a[12+d]=.5*-a[5*d]*(r[0][d]+r[1][d]))}(N,w);for(o=0;o<e;++o){(L=E[o]).axesBounds=d,N.clipToBounds&&(L.clipBounds=d)}x.object&&(N.snapToData?S.position=x.dataCoordinate:S.position=x.dataPosition,S.bounds=d),z&&(z=!1,function(){if(!q()){r.colorMask(!0,!0,!0,!0),r.depthMask(!0),r.disable(r.BLEND),r.enable(r.DEPTH_TEST),r.depthFunc(r.LEQUAL);for(var t=E.length,e=I.length,n=0;n<e;++n){var i=I[n];i.shape=j,i.begin();for(var a=0;a<t;++a)if(C[a]===n){var o=E[a];o.drawPick&&(o.pixelRatio=1,o.drawPick(R))}i.end()}}}()),N.axesPixels=a(N.axes,R,T,k),N.onrender&&N.onrender(),r.bindFramebuffer(r.FRAMEBUFFER,null),r.viewport(0,0,T,k),N.clearRGBA(),r.depthMask(!0),r.colorMask(!0,!0,!0,!0),r.enable(r.DEPTH_TEST),r.depthFunc(r.LEQUAL),r.disable(r.BLEND),r.disable(r.CULL_FACE);var A=!1;M.enable&&(A=A||M.isTransparent(),M.draw(R)),S.axes=M,x.object&&S.draw(R),r.disable(r.CULL_FACE);for(o=0;o<e;++o){(L=E[o]).axes=M,L.pixelRatio=N.pixelRatio,L.isOpaque&&L.isOpaque()&&L.draw(R),L.isTransparent&&L.isTransparent()&&(A=!0)}if(A){b.shape=F,b.bind(),r.clear(r.DEPTH_BUFFER_BIT),r.colorMask(!1,!1,!1,!1),r.depthMask(!0),r.depthFunc(r.LESS),M.enable&&M.isTransparent()&&M.drawTransparent(R);for(o=0;o<e;++o){(L=E[o]).isOpaque&&L.isOpaque()&&L.draw(R)}r.enable(r.BLEND),r.blendEquation(r.FUNC_ADD),r.blendFunc(r.ONE,r.ONE_MINUS_SRC_ALPHA),r.colorMask(!0,!0,!0,!0),r.depthMask(!1),r.clearColor(0,0,0,0),r.clear(r.COLOR_BUFFER_BIT),M.isTransparent()&&M.drawTransparent(R);for(o=0;o<e;++o){var L;(L=E[o]).isTransparent&&L.isTransparent()&&L.drawTransparent(R)}r.bindFramebuffer(r.FRAMEBUFFER,null),r.blendFunc(r.ONE,r.ONE_MINUS_SRC_ALPHA),r.disable(r.DEPTH_TEST),_.bind(),b.color[0].bind(0),_.uniforms.accumBuffer=0,c(r),r.disable(r.BLEND)}P=!1;for(o=0;o<e;++o)E[o].dirty=!1}}}return N.enableMouseListeners(),function t(){if(N._stopped||N.contextLost)return;Y(),requestAnimationFrame(t)}(),N.redraw=function(){N._stopped||(P=!0,Y())},N},createCamera:n}},{"./camera.js":318,"./lib/shader":319,"a-big-triangle":64,"gl-axes3d":250,"gl-axes3d/properties":258,"gl-fbo":269,"gl-mat4/ortho":296,"gl-mat4/perspective":297,"gl-select-static":334,"gl-spikes3d":345,"is-mobile":467,"mouse-change":483}],322:[function(t,e,r){var n=t("glslify");r.pointVertex=n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 position;\n\nuniform mat3 matrix;\nuniform float pointSize;\nuniform float pointCloud;\n\nhighp float rand(vec2 co) {\n highp float a = 12.9898;\n highp float b = 78.233;\n highp float c = 43758.5453;\n highp float d = dot(co.xy, vec2(a, b));\n highp float e = mod(d, 3.14);\n return fract(sin(e) * c);\n}\n\nvoid main() {\n vec3 hgPosition = matrix * vec3(position, 1);\n gl_Position = vec4(hgPosition.xy, 0, hgPosition.z);\n // if we don't jitter the point size a bit, overall point cloud\n // saturation 'jumps' on zooming, which is disturbing and confusing\n gl_PointSize = pointSize * ((19.5 + rand(position)) / 20.0);\n if(pointCloud != 0.0) { // pointCloud is truthy\n // get the same square surface as circle would be\n gl_PointSize *= 0.886;\n }\n}"]),r.pointFragment=n(["precision mediump float;\n#define GLSLIFY 1\n\nuniform vec4 color, borderColor;\nuniform float centerFraction;\nuniform float pointCloud;\n\nvoid main() {\n float radius;\n vec4 baseColor;\n if(pointCloud != 0.0) { // pointCloud is truthy\n if(centerFraction == 1.0) {\n gl_FragColor = color;\n } else {\n gl_FragColor = mix(borderColor, color, centerFraction);\n }\n } else {\n radius = length(2.0 * gl_PointCoord.xy - 1.0);\n if(radius > 1.0) {\n discard;\n }\n baseColor = mix(borderColor, color, step(radius, centerFraction));\n gl_FragColor = vec4(baseColor.rgb * baseColor.a, baseColor.a);\n }\n}\n"]),r.pickVertex=n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 position;\nattribute vec4 pickId;\n\nuniform mat3 matrix;\nuniform float pointSize;\nuniform vec4 pickOffset;\n\nvarying vec4 fragId;\n\nvoid main() {\n vec3 hgPosition = matrix * vec3(position, 1);\n gl_Position = vec4(hgPosition.xy, 0, hgPosition.z);\n gl_PointSize = pointSize;\n\n vec4 id = pickId + pickOffset;\n id.y += floor(id.x / 256.0);\n id.x -= floor(id.x / 256.0) * 256.0;\n\n id.z += floor(id.y / 256.0);\n id.y -= floor(id.y / 256.0) * 256.0;\n\n id.w += floor(id.z / 256.0);\n id.z -= floor(id.z / 256.0) * 256.0;\n\n fragId = id;\n}\n"]),r.pickFragment=n(["precision mediump float;\n#define GLSLIFY 1\n\nvarying vec4 fragId;\n\nvoid main() {\n float radius = length(2.0 * gl_PointCoord.xy - 1.0);\n if(radius > 1.0) {\n discard;\n }\n gl_FragColor = fragId / 255.0;\n}\n"])},{glslify:323}],323:[function(t,e,r){arguments[4][257][0].apply(r,arguments)},{dup:257}],324:[function(t,e,r){"use strict";var n=t("gl-shader"),i=t("gl-buffer"),a=t("typedarray-pool"),o=t("./lib/shader");function s(t,e,r,n,i){this.plot=t,this.offsetBuffer=e,this.pickBuffer=r,this.shader=n,this.pickShader=i,this.sizeMin=.5,this.sizeMinCap=2,this.sizeMax=20,this.areaRatio=1,this.pointCount=0,this.color=[1,0,0,1],this.borderColor=[0,0,0,1],this.blend=!1,this.pickOffset=0,this.points=null}e.exports=function(t,e){var r=t.gl,a=i(r),l=i(r),c=n(r,o.pointVertex,o.pointFragment),u=n(r,o.pickVertex,o.pickFragment),f=new s(t,a,l,c,u);return f.update(e),t.addObject(f),f};var l,c,u=s.prototype;u.dispose=function(){this.shader.dispose(),this.pickShader.dispose(),this.offsetBuffer.dispose(),this.pickBuffer.dispose(),this.plot.removeObject(this)},u.update=function(t){var e;function r(e,r){return e in t?t[e]:r}t=t||{},this.sizeMin=r("sizeMin",.5),this.sizeMax=r("sizeMax",20),this.color=r("color",[1,0,0,1]).slice(),this.areaRatio=r("areaRatio",1),this.borderColor=r("borderColor",[0,0,0,1]).slice(),this.blend=r("blend",!1);var n=t.positions.length>>>1,i=t.positions instanceof Float32Array,o=t.idToIndex instanceof Int32Array&&t.idToIndex.length>=n,s=t.positions,l=i?s:a.mallocFloat32(s.length),c=o?t.idToIndex:a.mallocInt32(n);if(i||l.set(s),!o)for(l.set(s),e=0;e<n;e++)c[e]=e;this.points=s,this.offsetBuffer.update(l),this.pickBuffer.update(c),i||a.free(l),o||a.free(c),this.pointCount=n,this.pickOffset=0},u.unifiedDraw=(l=[1,0,0,0,1,0,0,0,1],c=[0,0,0,0],function(t){var e=void 0!==t,r=e?this.pickShader:this.shader,n=this.plot.gl,i=this.plot.dataBox;if(0===this.pointCount)return t;var a=i[2]-i[0],o=i[3]-i[1],s=function(t,e){var r,n=0,i=t.length>>>1;for(r=0;r<i;r++){var a=t[2*r],o=t[2*r+1];a>=e[0]&&a<=e[2]&&o>=e[1]&&o<=e[3]&&n++}return n}(this.points,i),u=this.plot.pickPixelRatio*Math.max(Math.min(this.sizeMinCap,this.sizeMin),Math.min(this.sizeMax,this.sizeMax/Math.pow(s,.33333)));l[0]=2/a,l[4]=2/o,l[6]=-2*i[0]/a-1,l[7]=-2*i[1]/o-1,this.offsetBuffer.bind(),r.bind(),r.attributes.position.pointer(),r.uniforms.matrix=l,r.uniforms.color=this.color,r.uniforms.borderColor=this.borderColor,r.uniforms.pointCloud=u<5,r.uniforms.pointSize=u,r.uniforms.centerFraction=Math.min(1,Math.max(0,Math.sqrt(1-this.areaRatio))),e&&(c[0]=255&t,c[1]=t>>8&255,c[2]=t>>16&255,c[3]=t>>24&255,this.pickBuffer.bind(),r.attributes.pickId.pointer(n.UNSIGNED_BYTE),r.uniforms.pickOffset=c,this.pickOffset=t);var f=n.getParameter(n.BLEND),h=n.getParameter(n.DITHER);return f&&!this.blend&&n.disable(n.BLEND),h&&n.disable(n.DITHER),n.drawArrays(n.POINTS,0,this.pointCount),f&&!this.blend&&n.enable(n.BLEND),h&&n.enable(n.DITHER),t+this.pointCount}),u.draw=u.unifiedDraw,u.drawPick=u.unifiedDraw,u.pick=function(t,e,r){var n=this.pickOffset,i=this.pointCount;if(r<n||r>=n+i)return null;var a=r-n,o=this.points;return{object:this,pointId:a,dataCoord:[o[2*a],o[2*a+1]]}}},{"./lib/shader":322,"gl-buffer":259,"gl-shader":335,"typedarray-pool":595}],325:[function(t,e,r){e.exports=function(t,e,r,n){var i,a,o,s,l,c=e[0],u=e[1],f=e[2],h=e[3],p=r[0],d=r[1],g=r[2],m=r[3];(a=c*p+u*d+f*g+h*m)<0&&(a=-a,p=-p,d=-d,g=-g,m=-m);1-a>1e-6?(i=Math.acos(a),o=Math.sin(i),s=Math.sin((1-n)*i)/o,l=Math.sin(n*i)/o):(s=1-n,l=n);return t[0]=s*c+l*p,t[1]=s*u+l*d,t[2]=s*f+l*g,t[3]=s*h+l*m,t}},{}],326:[function(t,e,r){"use strict";e.exports=function(t){return t||0===t?t.toString():""}},{}],327:[function(t,e,r){"use strict";var n=t("vectorize-text");e.exports=function(t,e,r){var a=i[e];a||(a=i[e]={});if(t in a)return a[t];var o={textAlign:"center",textBaseline:"middle",lineHeight:1,font:e,lineSpacing:1.25,styletags:{breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0},triangles:!0},s=n(t,o);o.triangles=!1;var l,c,u=n(t,o);if(r&&1!==r){for(l=0;l<s.positions.length;++l)for(c=0;c<s.positions[l].length;++c)s.positions[l][c]/=r;for(l=0;l<u.positions.length;++l)for(c=0;c<u.positions[l].length;++c)u.positions[l][c]/=r}var f=[[1/0,1/0],[-1/0,-1/0]],h=u.positions.length;for(l=0;l<h;++l){var p=u.positions[l];for(c=0;c<2;++c)f[0][c]=Math.min(f[0][c],p[c]),f[1][c]=Math.max(f[1][c],p[c])}return a[t]=[s,u,f]};var i={}},{"vectorize-text":600}],328:[function(t,e,r){var n=t("gl-shader"),i=t("glslify"),a=i(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 glyph;\nattribute vec4 id;\n\nuniform vec4 highlightId;\nuniform float highlightScale;\nuniform mat4 model, view, projection;\nuniform vec3 clipBounds[2];\n\nvarying vec4 interpColor;\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0,0,0,0);\n } else {\n float scale = 1.0;\n if(distance(highlightId, id) < 0.0001) {\n scale = highlightScale;\n }\n\n vec4 worldPosition = model * vec4(position, 1);\n vec4 viewPosition = view * worldPosition;\n viewPosition = viewPosition / viewPosition.w;\n vec4 clipPosition = projection * (viewPosition + scale * vec4(glyph.x, -glyph.y, 0, 0));\n\n gl_Position = clipPosition;\n interpColor = color;\n pickId = id;\n dataCoordinate = position;\n }\n}"]),o=i(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 glyph;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform vec2 screenSize;\nuniform vec3 clipBounds[2];\nuniform float highlightScale, pixelRatio;\nuniform vec4 highlightId;\n\nvarying vec4 interpColor;\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0,0,0,0);\n } else {\n float scale = pixelRatio;\n if(distance(highlightId.bgr, id.bgr) < 0.001) {\n scale *= highlightScale;\n }\n\n vec4 worldPosition = model * vec4(position, 1.0);\n vec4 viewPosition = view * worldPosition;\n vec4 clipPosition = projection * viewPosition;\n clipPosition /= clipPosition.w;\n\n gl_Position = clipPosition + vec4(screenSize * scale * vec2(glyph.x, -glyph.y), 0.0, 0.0);\n interpColor = color;\n pickId = id;\n dataCoordinate = position;\n }\n}"]),s=i(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 glyph;\nattribute vec4 id;\n\nuniform float highlightScale;\nuniform vec4 highlightId;\nuniform vec3 axes[2];\nuniform mat4 model, view, projection;\nuniform vec2 screenSize;\nuniform vec3 clipBounds[2];\nuniform float scale, pixelRatio;\n\nvarying vec4 interpColor;\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0,0,0,0);\n } else {\n float lscale = pixelRatio * scale;\n if(distance(highlightId, id) < 0.0001) {\n lscale *= highlightScale;\n }\n\n vec4 clipCenter = projection * view * model * vec4(position, 1);\n vec3 dataPosition = position + 0.5*lscale*(axes[0] * glyph.x + axes[1] * glyph.y) * clipCenter.w * screenSize.y;\n vec4 clipPosition = projection * view * model * vec4(dataPosition, 1);\n\n gl_Position = clipPosition;\n interpColor = color;\n pickId = id;\n dataCoordinate = dataPosition;\n }\n}\n"]),l=i(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 fragClipBounds[2];\nuniform float opacity;\n\nvarying vec4 interpColor;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (\n outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate) ||\n interpColor.a * opacity == 0.\n ) discard;\n gl_FragColor = interpColor * opacity;\n}\n"]),c=i(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 fragClipBounds[2];\nuniform float pickGroup;\n\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate)) discard;\n\n gl_FragColor = vec4(pickGroup, pickId.bgr);\n}"]),u=[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"glyph",type:"vec2"},{name:"id",type:"vec4"}],f={vertex:a,fragment:l,attributes:u},h={vertex:o,fragment:l,attributes:u},p={vertex:s,fragment:l,attributes:u},d={vertex:a,fragment:c,attributes:u},g={vertex:o,fragment:c,attributes:u},m={vertex:s,fragment:c,attributes:u};function v(t,e){var r=n(t,e),i=r.attributes;return i.position.location=0,i.color.location=1,i.glyph.location=2,i.id.location=3,r}r.createPerspective=function(t){return v(t,f)},r.createOrtho=function(t){return v(t,h)},r.createProject=function(t){return v(t,p)},r.createPickPerspective=function(t){return v(t,d)},r.createPickOrtho=function(t){return v(t,g)},r.createPickProject=function(t){return v(t,m)}},{"gl-shader":335,glslify:329}],329:[function(t,e,r){arguments[4][257][0].apply(r,arguments)},{dup:257}],330:[function(t,e,r){"use strict";var n=t("is-string-blank"),i=t("gl-buffer"),a=t("gl-vao"),o=t("typedarray-pool"),s=t("gl-mat4/multiply"),l=t("./lib/shaders"),c=t("./lib/glyphs"),u=t("./lib/get-simple-string"),f=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function h(t,e){var r=t[0],n=t[1],i=t[2],a=t[3];return t[0]=e[0]*r+e[4]*n+e[8]*i+e[12]*a,t[1]=e[1]*r+e[5]*n+e[9]*i+e[13]*a,t[2]=e[2]*r+e[6]*n+e[10]*i+e[14]*a,t[3]=e[3]*r+e[7]*n+e[11]*i+e[15]*a,t}function p(t,e,r,n){return h(n,n),h(n,n),h(n,n)}function d(t,e){this.index=t,this.dataCoordinate=this.position=e}function g(t){return!0===t||t>1?1:t}function m(t,e,r,n,i,a,o,s,l,c,u,f){this.gl=t,this.pixelRatio=1,this.shader=e,this.orthoShader=r,this.projectShader=n,this.pointBuffer=i,this.colorBuffer=a,this.glyphBuffer=o,this.idBuffer=s,this.vao=l,this.vertexCount=0,this.lineVertexCount=0,this.opacity=1,this.hasAlpha=!1,this.lineWidth=0,this.projectScale=[2/3,2/3,2/3],this.projectOpacity=[1,1,1],this.projectHasAlpha=!1,this.pickId=0,this.pickPerspectiveShader=c,this.pickOrthoShader=u,this.pickProjectShader=f,this.points=[],this._selectResult=new d(0,[0,0,0]),this.useOrtho=!0,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.axesProject=[!0,!0,!0],this.axesBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.highlightId=[1,1,1,1],this.highlightScale=2,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.dirty=!0}e.exports=function(t){var e=t.gl,r=l.createPerspective(e),n=l.createOrtho(e),o=l.createProject(e),s=l.createPickPerspective(e),c=l.createPickOrtho(e),u=l.createPickProject(e),f=i(e),h=i(e),p=i(e),d=i(e),g=a(e,[{buffer:f,size:3,type:e.FLOAT},{buffer:h,size:4,type:e.FLOAT},{buffer:p,size:2,type:e.FLOAT},{buffer:d,size:4,type:e.UNSIGNED_BYTE,normalized:!0}]),v=new m(e,r,n,o,f,h,p,d,g,s,c,u);return v.update(t),v};var v=m.prototype;v.pickSlots=1,v.setPickBase=function(t){this.pickId=t},v.isTransparent=function(){if(this.hasAlpha)return!0;for(var t=0;t<3;++t)if(this.axesProject[t]&&this.projectHasAlpha)return!0;return!1},v.isOpaque=function(){if(!this.hasAlpha)return!0;for(var t=0;t<3;++t)if(this.axesProject[t]&&!this.projectHasAlpha)return!0;return!1};var y=[0,0],x=[0,0,0],b=[0,0,0],_=[0,0,0,1],w=[0,0,0,1],T=f.slice(),k=[0,0,0],M=[[0,0,0],[0,0,0]];function A(t){return t[0]=t[1]=t[2]=0,t}function S(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=1,t}function E(t,e,r,n){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[r]=n,t}function C(t,e,r,n){var i,a=e.axesProject,o=e.gl,l=t.uniforms,c=r.model||f,u=r.view||f,h=r.projection||f,d=e.axesBounds,g=function(t){for(var e=M,r=0;r<2;++r)for(var n=0;n<3;++n)e[r][n]=Math.max(Math.min(t[r][n],1e8),-1e8);return e}(e.clipBounds);i=e.axes&&e.axes.lastCubeProps?e.axes.lastCubeProps.axis:[1,1,1],y[0]=2/o.drawingBufferWidth,y[1]=2/o.drawingBufferHeight,t.bind(),l.view=u,l.projection=h,l.screenSize=y,l.highlightId=e.highlightId,l.highlightScale=e.highlightScale,l.clipBounds=g,l.pickGroup=e.pickId/255,l.pixelRatio=n;for(var m=0;m<3;++m)if(a[m]){l.scale=e.projectScale[m],l.opacity=e.projectOpacity[m];for(var v=T,C=0;C<16;++C)v[C]=0;for(C=0;C<4;++C)v[5*C]=1;v[5*m]=0,i[m]<0?v[12+m]=d[0][m]:v[12+m]=d[1][m],s(v,c,v),l.model=v;var L=(m+1)%3,I=(m+2)%3,P=A(x),z=A(b);P[L]=1,z[I]=1;var O=p(0,0,0,S(_,P)),D=p(0,0,0,S(w,z));if(Math.abs(O[1])>Math.abs(D[1])){var R=O;O=D,D=R,R=P,P=z,z=R;var F=L;L=I,I=F}O[0]<0&&(P[L]=-1),D[1]>0&&(z[I]=-1);var B=0,N=0;for(C=0;C<4;++C)B+=Math.pow(c[4*L+C],2),N+=Math.pow(c[4*I+C],2);P[L]/=Math.sqrt(B),z[I]/=Math.sqrt(N),l.axes[0]=P,l.axes[1]=z,l.fragClipBounds[0]=E(k,g[0],m,-1e8),l.fragClipBounds[1]=E(k,g[1],m,1e8),e.vao.bind(),e.vao.draw(o.TRIANGLES,e.vertexCount),e.lineWidth>0&&(o.lineWidth(e.lineWidth*n),e.vao.draw(o.LINES,e.lineVertexCount,e.vertexCount)),e.vao.unbind()}}var L=[[-1e8,-1e8,-1e8],[1e8,1e8,1e8]];function I(t,e,r,n,i,a,o){var s=r.gl;if((a===r.projectHasAlpha||o)&&C(e,r,n,i),a===r.hasAlpha||o){t.bind();var l=t.uniforms;l.model=n.model||f,l.view=n.view||f,l.projection=n.projection||f,y[0]=2/s.drawingBufferWidth,y[1]=2/s.drawingBufferHeight,l.screenSize=y,l.highlightId=r.highlightId,l.highlightScale=r.highlightScale,l.fragClipBounds=L,l.clipBounds=r.axes.bounds,l.opacity=r.opacity,l.pickGroup=r.pickId/255,l.pixelRatio=i,r.vao.bind(),r.vao.draw(s.TRIANGLES,r.vertexCount),r.lineWidth>0&&(s.lineWidth(r.lineWidth*i),r.vao.draw(s.LINES,r.lineVertexCount,r.vertexCount)),r.vao.unbind()}}function P(t,e,r,i){var a;a=Array.isArray(t)?e<t.length?t[e]:void 0:t,a=u(a);var o=!0;n(a)&&(a="\u25bc",o=!1);var s=c(a,r,i);return{mesh:s[0],lines:s[1],bounds:s[2],visible:o}}v.draw=function(t){I(this.useOrtho?this.orthoShader:this.shader,this.projectShader,this,t,this.pixelRatio,!1,!1)},v.drawTransparent=function(t){I(this.useOrtho?this.orthoShader:this.shader,this.projectShader,this,t,this.pixelRatio,!0,!1)},v.drawPick=function(t){I(this.useOrtho?this.pickOrthoShader:this.pickPerspectiveShader,this.pickProjectShader,this,t,1,!0,!0)},v.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;var e=t.value[2]+(t.value[1]<<8)+(t.value[0]<<16);if(e>=this.pointCount||e<0)return null;var r=this.points[e],n=this._selectResult;n.index=e;for(var i=0;i<3;++i)n.position[i]=n.dataCoordinate[i]=r[i];return n},v.highlight=function(t){if(t){var e=t.index,r=255&e,n=e>>8&255,i=e>>16&255;this.highlightId=[r/255,n/255,i/255,0]}else this.highlightId=[1,1,1,1]},v.update=function(t){if("perspective"in(t=t||{})&&(this.useOrtho=!t.perspective),"orthographic"in t&&(this.useOrtho=!!t.orthographic),"lineWidth"in t&&(this.lineWidth=t.lineWidth),"project"in t)if(Array.isArray(t.project))this.axesProject=t.project;else{var e=!!t.project;this.axesProject=[e,e,e]}if("projectScale"in t)if(Array.isArray(t.projectScale))this.projectScale=t.projectScale.slice();else{var r=+t.projectScale;this.projectScale=[r,r,r]}if(this.projectHasAlpha=!1,"projectOpacity"in t){if(Array.isArray(t.projectOpacity))this.projectOpacity=t.projectOpacity.slice();else{r=+t.projectOpacity;this.projectOpacity=[r,r,r]}for(var n=0;n<3;++n)this.projectOpacity[n]=g(this.projectOpacity[n]),this.projectOpacity[n]<1&&(this.projectHasAlpha=!0)}this.hasAlpha=!1,"opacity"in t&&(this.opacity=g(t.opacity),this.opacity<1&&(this.hasAlpha=!0)),this.dirty=!0;var i,a,s=t.position,l=t.font||"normal",c=t.alignment||[0,0];if(2===c.length)i=c[0],a=c[1];else{i=[],a=[];for(n=0;n<c.length;++n)i[n]=c[n][0],a[n]=c[n][1]}var u=[1/0,1/0,1/0],f=[-1/0,-1/0,-1/0],h=t.glyph,p=t.color,d=t.size,m=t.angle,v=t.lineColor,y=-1,x=0,b=0,_=0;if(s.length){_=s.length;t:for(n=0;n<_;++n){for(var w=s[n],T=0;T<3;++T)if(isNaN(w[T])||!isFinite(w[T]))continue t;var k=(N=P(h,n,l,this.pixelRatio)).mesh,M=N.lines,A=N.bounds;x+=3*k.cells.length,b+=2*M.edges.length}}var S=x+b,E=o.mallocFloat(3*S),C=o.mallocFloat(4*S),L=o.mallocFloat(2*S),I=o.mallocUint32(S);if(S>0){var z=0,O=x,D=[0,0,0,1],R=[0,0,0,1],F=Array.isArray(p)&&Array.isArray(p[0]),B=Array.isArray(v)&&Array.isArray(v[0]);t:for(n=0;n<_;++n){y+=1;for(w=s[n],T=0;T<3;++T){if(isNaN(w[T])||!isFinite(w[T]))continue t;f[T]=Math.max(f[T],w[T]),u[T]=Math.min(u[T],w[T])}k=(N=P(h,n,l,this.pixelRatio)).mesh,M=N.lines,A=N.bounds;var N,j=N.visible;if(j)if(Array.isArray(p)){if(3===(U=F?n<p.length?p[n]:[0,0,0,0]:p).length){for(T=0;T<3;++T)D[T]=U[T];D[3]=1}else if(4===U.length){for(T=0;T<4;++T)D[T]=U[T];!this.hasAlpha&&U[3]<1&&(this.hasAlpha=!0)}}else D[0]=D[1]=D[2]=0,D[3]=1;else D=[1,1,1,0];if(j)if(Array.isArray(v)){var U;if(3===(U=B?n<v.length?v[n]:[0,0,0,0]:v).length){for(T=0;T<3;++T)R[T]=U[T];R[T]=1}else if(4===U.length){for(T=0;T<4;++T)R[T]=U[T];!this.hasAlpha&&U[3]<1&&(this.hasAlpha=!0)}}else R[0]=R[1]=R[2]=0,R[3]=1;else R=[1,1,1,0];var V=.5;j?Array.isArray(d)?V=n<d.length?+d[n]:12:d?V=+d:this.useOrtho&&(V=12):V=0;var q=0;Array.isArray(m)?q=n<m.length?+m[n]:0:m&&(q=+m);var H=Math.cos(q),G=Math.sin(q);for(w=s[n],T=0;T<3;++T)f[T]=Math.max(f[T],w[T]),u[T]=Math.min(u[T],w[T]);var Y=i,W=a;Y=0;Array.isArray(i)?Y=n<i.length?i[n]:0:i&&(Y=i);W=0;Array.isArray(a)?W=n<a.length?a[n]:0:a&&(W=a);var X=[Y*=Y>0?1-A[0][0]:Y<0?1+A[1][0]:1,W*=W>0?1-A[0][1]:W<0?1+A[1][1]:1],Z=k.cells||[],J=k.positions||[];for(T=0;T<Z.length;++T)for(var K=Z[T],Q=0;Q<3;++Q){for(var $=0;$<3;++$)E[3*z+$]=w[$];for($=0;$<4;++$)C[4*z+$]=D[$];I[z]=y;var tt=J[K[Q]];L[2*z]=V*(H*tt[0]-G*tt[1]+X[0]),L[2*z+1]=V*(G*tt[0]+H*tt[1]+X[1]),z+=1}for(Z=M.edges,J=M.positions,T=0;T<Z.length;++T)for(K=Z[T],Q=0;Q<2;++Q){for($=0;$<3;++$)E[3*O+$]=w[$];for($=0;$<4;++$)C[4*O+$]=R[$];I[O]=y;tt=J[K[Q]];L[2*O]=V*(H*tt[0]-G*tt[1]+X[0]),L[2*O+1]=V*(G*tt[0]+H*tt[1]+X[1]),O+=1}}}this.bounds=[u,f],this.points=s,this.pointCount=s.length,this.vertexCount=x,this.lineVertexCount=b,this.pointBuffer.update(E),this.colorBuffer.update(C),this.glyphBuffer.update(L),this.idBuffer.update(I),o.free(E),o.free(C),o.free(L),o.free(I)},v.dispose=function(){this.shader.dispose(),this.orthoShader.dispose(),this.pickPerspectiveShader.dispose(),this.pickOrthoShader.dispose(),this.vao.dispose(),this.pointBuffer.dispose(),this.colorBuffer.dispose(),this.glyphBuffer.dispose(),this.idBuffer.dispose()}},{"./lib/get-simple-string":326,"./lib/glyphs":327,"./lib/shaders":328,"gl-buffer":259,"gl-mat4/multiply":295,"gl-vao":358,"is-string-blank":470,"typedarray-pool":595}],331:[function(t,e,r){"use strict";var n=t("glslify");r.boxVertex=n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 vertex;\n\nuniform vec2 cornerA, cornerB;\n\nvoid main() {\n gl_Position = vec4(mix(cornerA, cornerB, vertex), 0, 1);\n}\n"]),r.boxFragment=n(["precision mediump float;\n#define GLSLIFY 1\n\nuniform vec4 color;\n\nvoid main() {\n gl_FragColor = color;\n}\n"])},{glslify:332}],332:[function(t,e,r){arguments[4][257][0].apply(r,arguments)},{dup:257}],333:[function(t,e,r){"use strict";var n=t("gl-shader"),i=t("gl-buffer"),a=t("./lib/shaders");function o(t,e,r){this.plot=t,this.boxBuffer=e,this.boxShader=r,this.enabled=!0,this.selectBox=[1/0,1/0,-1/0,-1/0],this.borderColor=[0,0,0,1],this.innerFill=!1,this.innerColor=[0,0,0,.25],this.outerFill=!0,this.outerColor=[0,0,0,.5],this.borderWidth=10}e.exports=function(t,e){var r=t.gl,s=i(r,[0,0,0,1,1,0,1,1]),l=n(r,a.boxVertex,a.boxFragment),c=new o(t,s,l);return c.update(e),t.addOverlay(c),c};var s=o.prototype;s.draw=function(){if(this.enabled){var t=this.plot,e=this.selectBox,r=this.borderWidth,n=(this.innerFill,this.innerColor),i=(this.outerFill,this.outerColor),a=this.borderColor,o=t.box,s=t.screenBox,l=t.dataBox,c=t.viewBox,u=t.pixelRatio,f=(e[0]-l[0])*(c[2]-c[0])/(l[2]-l[0])+c[0],h=(e[1]-l[1])*(c[3]-c[1])/(l[3]-l[1])+c[1],p=(e[2]-l[0])*(c[2]-c[0])/(l[2]-l[0])+c[0],d=(e[3]-l[1])*(c[3]-c[1])/(l[3]-l[1])+c[1];if(f=Math.max(f,c[0]),h=Math.max(h,c[1]),p=Math.min(p,c[2]),d=Math.min(d,c[3]),!(p<f||d<h)){o.bind();var g=s[2]-s[0],m=s[3]-s[1];if(this.outerFill&&(o.drawBox(0,0,g,h,i),o.drawBox(0,h,f,d,i),o.drawBox(0,d,g,m,i),o.drawBox(p,h,g,d,i)),this.innerFill&&o.drawBox(f,h,p,d,n),r>0){var v=r*u;o.drawBox(f-v,h-v,p+v,h+v,a),o.drawBox(f-v,d-v,p+v,d+v,a),o.drawBox(f-v,h-v,f+v,d+v,a),o.drawBox(p-v,h-v,p+v,d+v,a)}}}},s.update=function(t){t=t||{},this.innerFill=!!t.innerFill,this.outerFill=!!t.outerFill,this.innerColor=(t.innerColor||[0,0,0,.5]).slice(),this.outerColor=(t.outerColor||[0,0,0,.5]).slice(),this.borderColor=(t.borderColor||[0,0,0,1]).slice(),this.borderWidth=t.borderWidth||0,this.selectBox=(t.selectBox||this.selectBox).slice()},s.dispose=function(){this.boxBuffer.dispose(),this.boxShader.dispose(),this.plot.removeOverlay(this)}},{"./lib/shaders":331,"gl-buffer":259,"gl-shader":335}],334:[function(t,e,r){"use strict";e.exports=function(t,e){var r=e[0],a=e[1],o=n(t,r,a,{}),s=i.mallocUint8(r*a*4);return new l(t,o,s)};var n=t("gl-fbo"),i=t("typedarray-pool"),a=t("ndarray"),o=t("bit-twiddle").nextPow2;function s(t,e,r,n,i){this.coord=[t,e],this.id=r,this.value=n,this.distance=i}function l(t,e,r){this.gl=t,this.fbo=e,this.buffer=r,this._readTimeout=null;var n=this;this._readCallback=function(){n.gl&&(e.bind(),t.readPixels(0,0,e.shape[0],e.shape[1],t.RGBA,t.UNSIGNED_BYTE,n.buffer),n._readTimeout=null)}}var c=l.prototype;Object.defineProperty(c,"shape",{get:function(){return this.gl?this.fbo.shape.slice():[0,0]},set:function(t){if(this.gl){this.fbo.shape=t;var e=this.fbo.shape[0],r=this.fbo.shape[1];if(r*e*4>this.buffer.length){i.free(this.buffer);for(var n=this.buffer=i.mallocUint8(o(r*e*4)),a=0;a<r*e*4;++a)n[a]=255}return t}}}),c.begin=function(){var t=this.gl;this.shape;t&&(this.fbo.bind(),t.clearColor(1,1,1,1),t.clear(t.COLOR_BUFFER_BIT|t.DEPTH_BUFFER_BIT))},c.end=function(){var t=this.gl;t&&(t.bindFramebuffer(t.FRAMEBUFFER,null),this._readTimeout||clearTimeout(this._readTimeout),this._readTimeout=setTimeout(this._readCallback,1))},c.query=function(t,e,r){if(!this.gl)return null;var n=this.fbo.shape.slice();t|=0,e|=0,"number"!=typeof r&&(r=1);var i=0|Math.min(Math.max(t-r,0),n[0]),o=0|Math.min(Math.max(t+r,0),n[0]),l=0|Math.min(Math.max(e-r,0),n[1]),c=0|Math.min(Math.max(e+r,0),n[1]);if(o<=i||c<=l)return null;var u=[o-i,c-l],f=a(this.buffer,[u[0],u[1],4],[4,4*n[0],1],4*(i+n[0]*l)),h=function(t,e,r){for(var n=1e8,i=-1,a=-1,o=t.shape[0],s=t.shape[1],l=0;l<o;l++)for(var c=0;c<s;c++){var u=t.get(l,c,0),f=t.get(l,c,1),h=t.get(l,c,2),p=t.get(l,c,3);if(u<255||f<255||h<255||p<255){var d=e-l,g=r-c,m=d*d+g*g;m<n&&(n=m,i=l,a=c)}}return[i,a,n]}(f.hi(u[0],u[1],1),r,r),p=h[0],d=h[1];return p<0||Math.pow(this.radius,2)<h[2]?null:new s(p+i|0,d+l|0,f.get(p,d,0),[f.get(p,d,1),f.get(p,d,2),f.get(p,d,3)],Math.sqrt(h[2]))},c.dispose=function(){this.gl&&(this.fbo.dispose(),i.free(this.buffer),this.gl=null,this._readTimeout&&clearTimeout(this._readTimeout))}},{"bit-twiddle":97,"gl-fbo":269,ndarray:495,"typedarray-pool":595}],335:[function(t,e,r){"use strict";var n=t("./lib/create-uniforms"),i=t("./lib/create-attributes"),a=t("./lib/reflect"),o=t("./lib/shader-cache"),s=t("./lib/runtime-reflect"),l=t("./lib/GLError");function c(t){this.gl=t,this.gl.lastAttribCount=0,this._vref=this._fref=this._relink=this.vertShader=this.fragShader=this.program=this.attributes=this.uniforms=this.types=null}var u=c.prototype;function f(t,e){return t.name<e.name?-1:1}u.bind=function(){var t;this.program||this._relink();var e=this.gl.getProgramParameter(this.program,this.gl.ACTIVE_ATTRIBUTES),r=this.gl.lastAttribCount;if(e>r)for(t=r;t<e;t++)this.gl.enableVertexAttribArray(t);else if(r>e)for(t=e;t<r;t++)this.gl.disableVertexAttribArray(t);this.gl.lastAttribCount=e,this.gl.useProgram(this.program)},u.dispose=function(){for(var t=this.gl.lastAttribCount,e=0;e<t;e++)this.gl.disableVertexAttribArray(e);this.gl.lastAttribCount=0,this._fref&&this._fref.dispose(),this._vref&&this._vref.dispose(),this.attributes=this.types=this.vertShader=this.fragShader=this.program=this._relink=this._fref=this._vref=null},u.update=function(t,e,r,c){if(!e||1===arguments.length){var u=t;t=u.vertex,e=u.fragment,r=u.uniforms,c=u.attributes}var h=this,p=h.gl,d=h._vref;h._vref=o.shader(p,p.VERTEX_SHADER,t),d&&d.dispose(),h.vertShader=h._vref.shader;var g=this._fref;if(h._fref=o.shader(p,p.FRAGMENT_SHADER,e),g&&g.dispose(),h.fragShader=h._fref.shader,!r||!c){var m=p.createProgram();if(p.attachShader(m,h.fragShader),p.attachShader(m,h.vertShader),p.linkProgram(m),!p.getProgramParameter(m,p.LINK_STATUS)){var v=p.getProgramInfoLog(m);throw new l(v,"Error linking program:"+v)}r=r||s.uniforms(p,m),c=c||s.attributes(p,m),p.deleteProgram(m)}(c=c.slice()).sort(f);var y,x=[],b=[],_=[];for(y=0;y<c.length;++y){var w=c[y];if(w.type.indexOf("mat")>=0){for(var T=0|w.type.charAt(w.type.length-1),k=new Array(T),M=0;M<T;++M)k[M]=_.length,b.push(w.name+"["+M+"]"),"number"==typeof w.location?_.push(w.location+M):Array.isArray(w.location)&&w.location.length===T&&"number"==typeof w.location[M]?_.push(0|w.location[M]):_.push(-1);x.push({name:w.name,type:w.type,locations:k})}else x.push({name:w.name,type:w.type,locations:[_.length]}),b.push(w.name),"number"==typeof w.location?_.push(0|w.location):_.push(-1)}var A=0;for(y=0;y<_.length;++y)if(_[y]<0){for(;_.indexOf(A)>=0;)A+=1;_[y]=A}var S=new Array(r.length);function E(){h.program=o.program(p,h._vref,h._fref,b,_);for(var t=0;t<r.length;++t)S[t]=p.getUniformLocation(h.program,r[t].name)}E(),h._relink=E,h.types={uniforms:a(r),attributes:a(c)},h.attributes=i(p,h,x,_),Object.defineProperty(h,"uniforms",n(p,h,r,S))},e.exports=function(t,e,r,n,i){var a=new c(t);return a.update(e,r,n,i),a}},{"./lib/GLError":336,"./lib/create-attributes":337,"./lib/create-uniforms":338,"./lib/reflect":339,"./lib/runtime-reflect":340,"./lib/shader-cache":341}],336:[function(t,e,r){function n(t,e,r){this.shortMessage=e||"",this.longMessage=r||"",this.rawError=t||"",this.message="gl-shader: "+(e||t||"")+(r?"\n"+r:""),this.stack=(new Error).stack}n.prototype=new Error,n.prototype.name="GLError",n.prototype.constructor=n,e.exports=n},{}],337:[function(t,e,r){"use strict";e.exports=function(t,e,r,i){for(var a={},l=0,c=r.length;l<c;++l){var u=r[l],f=u.name,h=u.type,p=u.locations;switch(h){case"bool":case"int":case"float":o(t,e,p[0],i,1,a,f);break;default:if(h.indexOf("vec")>=0){if((d=h.charCodeAt(h.length-1)-48)<2||d>4)throw new n("","Invalid data type for attribute "+f+": "+h);o(t,e,p[0],i,d,a,f)}else{if(!(h.indexOf("mat")>=0))throw new n("","Unknown data type for attribute "+f+": "+h);var d;if((d=h.charCodeAt(h.length-1)-48)<2||d>4)throw new n("","Invalid data type for attribute "+f+": "+h);s(t,e,p,i,d,a,f)}}}return a};var n=t("./GLError");function i(t,e,r,n,i,a){this._gl=t,this._wrapper=e,this._index=r,this._locations=n,this._dimension=i,this._constFunc=a}var a=i.prototype;function o(t,e,r,n,a,o,s){for(var l=["gl","v"],c=[],u=0;u<a;++u)l.push("x"+u),c.push("x"+u);l.push("if(x0.length===void 0){return gl.vertexAttrib"+a+"f(v,"+c.join()+")}else{return gl.vertexAttrib"+a+"fv(v,x0)}");var f=Function.apply(null,l),h=new i(t,e,r,n,a,f);Object.defineProperty(o,s,{set:function(e){return t.disableVertexAttribArray(n[r]),f(t,n[r],e),e},get:function(){return h},enumerable:!0})}function s(t,e,r,n,i,a,s){for(var l=new Array(i),c=new Array(i),u=0;u<i;++u)o(t,e,r[u],n,i,l,u),c[u]=l[u];Object.defineProperty(l,"location",{set:function(t){if(Array.isArray(t))for(var e=0;e<i;++e)c[e].location=t[e];else for(e=0;e<i;++e)c[e].location=t+e;return t},get:function(){for(var t=new Array(i),e=0;e<i;++e)t[e]=n[r[e]];return t},enumerable:!0}),l.pointer=function(e,a,o,s){e=e||t.FLOAT,a=!!a,o=o||i*i,s=s||0;for(var l=0;l<i;++l){var c=n[r[l]];t.vertexAttribPointer(c,i,e,a,o,s+l*i),t.enableVertexAttribArray(c)}};var f=new Array(i),h=t["vertexAttrib"+i+"fv"];Object.defineProperty(a,s,{set:function(e){for(var a=0;a<i;++a){var o=n[r[a]];if(t.disableVertexAttribArray(o),Array.isArray(e[0]))h.call(t,o,e[a]);else{for(var s=0;s<i;++s)f[s]=e[i*a+s];h.call(t,o,f)}}return e},get:function(){return l},enumerable:!0})}a.pointer=function(t,e,r,n){var i=this._gl,a=this._locations[this._index];i.vertexAttribPointer(a,this._dimension,t||i.FLOAT,!!e,r||0,n||0),i.enableVertexAttribArray(a)},a.set=function(t,e,r,n){return this._constFunc(this._locations[this._index],t,e,r,n)},Object.defineProperty(a,"location",{get:function(){return this._locations[this._index]},set:function(t){return t!==this._locations[this._index]&&(this._locations[this._index]=0|t,this._wrapper.program=null),0|t}})},{"./GLError":336}],338:[function(t,e,r){"use strict";var n=t("./reflect"),i=t("./GLError");function a(t){return new Function("y","return function(){return y}")(t)}function o(t,e){for(var r=new Array(t),n=0;n<t;++n)r[n]=e;return r}e.exports=function(t,e,r,s){function l(t,e,r){switch(r){case"bool":case"int":case"sampler2D":case"samplerCube":return"gl.uniform1i(locations["+e+"],obj"+t+")";case"float":return"gl.uniform1f(locations["+e+"],obj"+t+")";default:var n=r.indexOf("vec");if(!(0<=n&&n<=1&&r.length===4+n)){if(0===r.indexOf("mat")&&4===r.length){var a;if((a=r.charCodeAt(r.length-1)-48)<2||a>4)throw new i("","Invalid uniform dimension type for matrix "+name+": "+r);return"gl.uniformMatrix"+a+"fv(locations["+e+"],false,obj"+t+")"}throw new i("","Unknown uniform data type for "+name+": "+r)}if((a=r.charCodeAt(r.length-1)-48)<2||a>4)throw new i("","Invalid data type");switch(r.charAt(0)){case"b":case"i":return"gl.uniform"+a+"iv(locations["+e+"],obj"+t+")";case"v":return"gl.uniform"+a+"fv(locations["+e+"],obj"+t+")";default:throw new i("","Unrecognized data type for vector "+name+": "+r)}}}function c(e){for(var n=["return function updateProperty(obj){"],i=function t(e,r){if("object"!=typeof r)return[[e,r]];var n=[];for(var i in r){var a=r[i],o=e;parseInt(i)+""===i?o+="["+i+"]":o+="."+i,"object"==typeof a?n.push.apply(n,t(o,a)):n.push([o,a])}return n}("",e),a=0;a<i.length;++a){var o=i[a],c=o[0],u=o[1];s[u]&&n.push(l(c,u,r[u].type))}return n.push("return obj}"),new Function("gl","locations",n.join("\n"))(t,s)}function u(n,l,u){if("object"==typeof u){var h=f(u);Object.defineProperty(n,l,{get:a(h),set:c(u),enumerable:!0,configurable:!1})}else s[u]?Object.defineProperty(n,l,{get:(p=u,new Function("gl","wrapper","locations","return function(){return gl.getUniform(wrapper.program,locations["+p+"])}")(t,e,s)),set:c(u),enumerable:!0,configurable:!1}):n[l]=function(t){switch(t){case"bool":return!1;case"int":case"sampler2D":case"samplerCube":case"float":return 0;default:var e=t.indexOf("vec");if(0<=e&&e<=1&&t.length===4+e){if((r=t.charCodeAt(t.length-1)-48)<2||r>4)throw new i("","Invalid data type");return"b"===t.charAt(0)?o(r,!1):o(r,0)}if(0===t.indexOf("mat")&&4===t.length){var r;if((r=t.charCodeAt(t.length-1)-48)<2||r>4)throw new i("","Invalid uniform dimension type for matrix "+name+": "+t);return o(r*r,0)}throw new i("","Unknown uniform data type for "+name+": "+t)}}(r[u].type);var p}function f(t){var e;if(Array.isArray(t)){e=new Array(t.length);for(var r=0;r<t.length;++r)u(e,r,t[r])}else for(var n in e={},t)u(e,n,t[n]);return e}var h=n(r,!0);return{get:a(f(h)),set:c(h),enumerable:!0,configurable:!0}}},{"./GLError":336,"./reflect":339}],339:[function(t,e,r){"use strict";e.exports=function(t,e){for(var r={},n=0;n<t.length;++n)for(var i=t[n].name.split("."),a=r,o=0;o<i.length;++o){var s=i[o].split("[");if(s.length>1){s[0]in a||(a[s[0]]=[]),a=a[s[0]];for(var l=1;l<s.length;++l){var c=parseInt(s[l]);l<s.length-1||o<i.length-1?(c in a||(l<s.length-1?a[c]=[]:a[c]={}),a=a[c]):a[c]=e?n:t[n].type}}else o<i.length-1?(s[0]in a||(a[s[0]]={}),a=a[s[0]]):a[s[0]]=e?n:t[n].type}return r}},{}],340:[function(t,e,r){"use strict";r.uniforms=function(t,e){for(var r=t.getProgramParameter(e,t.ACTIVE_UNIFORMS),n=[],i=0;i<r;++i){var o=t.getActiveUniform(e,i);if(o){var s=a(t,o.type);if(o.size>1)for(var l=0;l<o.size;++l)n.push({name:o.name.replace("[0]","["+l+"]"),type:s});else n.push({name:o.name,type:s})}}return n},r.attributes=function(t,e){for(var r=t.getProgramParameter(e,t.ACTIVE_ATTRIBUTES),n=[],i=0;i<r;++i){var o=t.getActiveAttrib(e,i);o&&n.push({name:o.name,type:a(t,o.type)})}return n};var n={FLOAT:"float",FLOAT_VEC2:"vec2",FLOAT_VEC3:"vec3",FLOAT_VEC4:"vec4",INT:"int",INT_VEC2:"ivec2",INT_VEC3:"ivec3",INT_VEC4:"ivec4",BOOL:"bool",BOOL_VEC2:"bvec2",BOOL_VEC3:"bvec3",BOOL_VEC4:"bvec4",FLOAT_MAT2:"mat2",FLOAT_MAT3:"mat3",FLOAT_MAT4:"mat4",SAMPLER_2D:"sampler2D",SAMPLER_CUBE:"samplerCube"},i=null;function a(t,e){if(!i){var r=Object.keys(n);i={};for(var a=0;a<r.length;++a){var o=r[a];i[t[o]]=n[o]}}return i[e]}},{}],341:[function(t,e,r){"use strict";r.shader=function(t,e,r){return u(t).getShaderReference(e,r)},r.program=function(t,e,r,n,i){return u(t).getProgram(e,r,n,i)};var n=t("./GLError"),i=t("gl-format-compiler-error"),a=new("undefined"==typeof WeakMap?t("weakmap-shim"):WeakMap),o=0;function s(t,e,r,n,i,a,o){this.id=t,this.src=e,this.type=r,this.shader=n,this.count=a,this.programs=[],this.cache=o}function l(t){this.gl=t,this.shaders=[{},{}],this.programs={}}s.prototype.dispose=function(){if(0==--this.count){for(var t=this.cache,e=t.gl,r=this.programs,n=0,i=r.length;n<i;++n){var a=t.programs[r[n]];a&&(delete t.programs[n],e.deleteProgram(a))}e.deleteShader(this.shader),delete t.shaders[this.type===e.FRAGMENT_SHADER|0][this.src]}};var c=l.prototype;function u(t){var e=a.get(t);return e||(e=new l(t),a.set(t,e)),e}c.getShaderReference=function(t,e){var r=this.gl,a=this.shaders[t===r.FRAGMENT_SHADER|0],l=a[e];if(l&&r.isShader(l.shader))l.count+=1;else{var c=function(t,e,r){var a=t.createShader(e);if(t.shaderSource(a,r),t.compileShader(a),!t.getShaderParameter(a,t.COMPILE_STATUS)){var o=t.getShaderInfoLog(a);try{var s=i(o,r,e)}catch(t){throw console.warn("Failed to format compiler error: "+t),new n(o,"Error compiling shader:\n"+o)}throw new n(o,s.short,s.long)}return a}(r,t,e);l=a[e]=new s(o++,e,t,c,[],1,this)}return l},c.getProgram=function(t,e,r,i){var a=[t.id,e.id,r.join(":"),i.join(":")].join("@"),o=this.programs[a];return o&&this.gl.isProgram(o)||(this.programs[a]=o=function(t,e,r,i,a){var o=t.createProgram();t.attachShader(o,e),t.attachShader(o,r);for(var s=0;s<i.length;++s)t.bindAttribLocation(o,a[s],i[s]);if(t.linkProgram(o),!t.getProgramParameter(o,t.LINK_STATUS)){var l=t.getProgramInfoLog(o);throw new n(l,"Error linking program: "+l)}return o}(this.gl,t.shader,e.shader,r,i),t.programs.push(a),e.programs.push(a)),o}},{"./GLError":336,"gl-format-compiler-error":270,"weakmap-shim":605}],342:[function(t,e,r){"use strict";function n(t){this.plot=t,this.enable=[!0,!0,!1,!1],this.width=[1,1,1,1],this.color=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.center=[1/0,1/0]}e.exports=function(t,e){var r=new n(t);return r.update(e),t.addOverlay(r),r};var i=n.prototype;i.update=function(t){t=t||{},this.enable=(t.enable||[!0,!0,!1,!1]).slice(),this.width=(t.width||[1,1,1,1]).slice(),this.color=(t.color||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]).map((function(t){return t.slice()})),this.center=(t.center||[1/0,1/0]).slice(),this.plot.setOverlayDirty()},i.draw=function(){var t=this.enable,e=this.width,r=this.color,n=this.center,i=this.plot,a=i.line,o=i.dataBox,s=i.viewBox;if(a.bind(),o[0]<=n[0]&&n[0]<=o[2]&&o[1]<=n[1]&&n[1]<=o[3]){var l=s[0]+(n[0]-o[0])/(o[2]-o[0])*(s[2]-s[0]),c=s[1]+(n[1]-o[1])/(o[3]-o[1])*(s[3]-s[1]);t[0]&&a.drawLine(l,c,s[0],c,e[0],r[0]),t[1]&&a.drawLine(l,c,l,s[1],e[1],r[1]),t[2]&&a.drawLine(l,c,s[2],c,e[2],r[2]),t[3]&&a.drawLine(l,c,l,s[3],e[3],r[3])}},i.dispose=function(){this.plot.removeOverlay(this)}},{}],343:[function(t,e,r){arguments[4][257][0].apply(r,arguments)},{dup:257}],344:[function(t,e,r){"use strict";var n=t("glslify"),i=t("gl-shader"),a=n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec3 position, color;\nattribute float weight;\n\nuniform mat4 model, view, projection;\nuniform vec3 coordinates[3];\nuniform vec4 colors[3];\nuniform vec2 screenShape;\nuniform float lineWidth;\n\nvarying vec4 fragColor;\n\nvoid main() {\n vec3 vertexPosition = mix(coordinates[0],\n mix(coordinates[2], coordinates[1], 0.5 * (position + 1.0)), abs(position));\n\n vec4 clipPos = projection * view * model * vec4(vertexPosition, 1.0);\n vec2 clipOffset = (projection * view * model * vec4(color, 0.0)).xy;\n vec2 delta = weight * clipOffset * screenShape;\n vec2 lineOffset = normalize(vec2(delta.y, -delta.x)) / screenShape;\n\n gl_Position = vec4(clipPos.xy + clipPos.w * 0.5 * lineWidth * lineOffset, clipPos.z, clipPos.w);\n fragColor = color.x * colors[0] + color.y * colors[1] + color.z * colors[2];\n}\n"]),o=n(["precision mediump float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor;\n\nvoid main() {\n gl_FragColor = fragColor;\n}"]);e.exports=function(t){return i(t,a,o,null,[{name:"position",type:"vec3"},{name:"color",type:"vec3"},{name:"weight",type:"float"}])}},{"gl-shader":335,glslify:343}],345:[function(t,e,r){"use strict";var n=t("gl-buffer"),i=t("gl-vao"),a=t("./shaders/index");e.exports=function(t,e){var r=[];function o(t,e,n,i,a,o){var s=[t,e,n,0,0,0,1];s[i+3]=1,s[i]=a,r.push.apply(r,s),s[6]=-1,r.push.apply(r,s),s[i]=o,r.push.apply(r,s),r.push.apply(r,s),s[6]=1,r.push.apply(r,s),s[i]=a,r.push.apply(r,s)}o(0,0,0,0,0,1),o(0,0,0,1,0,1),o(0,0,0,2,0,1),o(1,0,0,1,-1,1),o(1,0,0,2,-1,1),o(0,1,0,0,-1,1),o(0,1,0,2,-1,1),o(0,0,1,0,-1,1),o(0,0,1,1,-1,1);var l=n(t,r),c=i(t,[{type:t.FLOAT,buffer:l,size:3,offset:0,stride:28},{type:t.FLOAT,buffer:l,size:3,offset:12,stride:28},{type:t.FLOAT,buffer:l,size:1,offset:24,stride:28}]),u=a(t);u.attributes.position.location=0,u.attributes.color.location=1,u.attributes.weight.location=2;var f=new s(t,l,c,u);return f.update(e),f};var o=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function s(t,e,r,n){this.gl=t,this.buffer=e,this.vao=r,this.shader=n,this.pixelRatio=1,this.bounds=[[-1e3,-1e3,-1e3],[1e3,1e3,1e3]],this.position=[0,0,0],this.lineWidth=[2,2,2],this.colors=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.enabled=[!0,!0,!0],this.drawSides=[!0,!0,!0],this.axes=null}var l=s.prototype,c=[0,0,0],u=[0,0,0],f=[0,0];l.isTransparent=function(){return!1},l.drawTransparent=function(t){},l.draw=function(t){var e=this.gl,r=this.vao,n=this.shader;r.bind(),n.bind();var i,a=t.model||o,s=t.view||o,l=t.projection||o;this.axes&&(i=this.axes.lastCubeProps.axis);for(var h=c,p=u,d=0;d<3;++d)i&&i[d]<0?(h[d]=this.bounds[0][d],p[d]=this.bounds[1][d]):(h[d]=this.bounds[1][d],p[d]=this.bounds[0][d]);f[0]=e.drawingBufferWidth,f[1]=e.drawingBufferHeight,n.uniforms.model=a,n.uniforms.view=s,n.uniforms.projection=l,n.uniforms.coordinates=[this.position,h,p],n.uniforms.colors=this.colors,n.uniforms.screenShape=f;for(d=0;d<3;++d)n.uniforms.lineWidth=this.lineWidth[d]*this.pixelRatio,this.enabled[d]&&(r.draw(e.TRIANGLES,6,6*d),this.drawSides[d]&&r.draw(e.TRIANGLES,12,18+12*d));r.unbind()},l.update=function(t){t&&("bounds"in t&&(this.bounds=t.bounds),"position"in t&&(this.position=t.position),"lineWidth"in t&&(this.lineWidth=t.lineWidth),"colors"in t&&(this.colors=t.colors),"enabled"in t&&(this.enabled=t.enabled),"drawSides"in t&&(this.drawSides=t.drawSides))},l.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()}},{"./shaders/index":344,"gl-buffer":259,"gl-vao":358}],346:[function(t,e,r){var n=t("glslify"),i=n(["precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n // Return up-vector for only-z vector.\n // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the tube vertex and normal at the given index.\n//\n// The returned vertex is for a tube ring with its center at origin, radius of length(d), pointing in the direction of d.\n//\n// Each tube segment is made up of a ring of vertices.\n// These vertices are used to make up the triangles of the tube by connecting them together in the vertex array.\n// The indexes of tube segments run from 0 to 8.\n//\nvec3 getTubePosition(vec3 d, float index, out vec3 normal) {\n float segmentCount = 8.0;\n\n float angle = 2.0 * 3.14159 * (index / segmentCount);\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d);\n vec3 y = v * sin(angle) * length(d);\n vec3 v3 = x + y;\n\n normal = normalize(v3);\n\n return v3;\n}\n\nattribute vec4 vector;\nattribute vec4 color, position;\nattribute vec2 uv;\n\nuniform float vectorScale, tubeScale;\nuniform mat4 model, view, projection, inverseModel;\nuniform vec3 eyePosition, lightPosition;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n // Scale the vector magnitude to stay constant with\n // model & view changes.\n vec3 normal;\n vec3 XYZ = getTubePosition(mat3(model) * (tubeScale * vector.w * normalize(vector.xyz)), position.w, normal);\n vec4 tubePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n\n //Lighting geometry parameters\n vec4 cameraCoordinate = view * tubePosition;\n cameraCoordinate.xyz /= cameraCoordinate.w;\n f_lightDirection = lightPosition - cameraCoordinate.xyz;\n f_eyeDirection = eyePosition - cameraCoordinate.xyz;\n f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\n\n // vec4 m_position = model * vec4(tubePosition, 1.0);\n vec4 t_position = view * tubePosition;\n gl_Position = projection * t_position;\n\n f_color = color;\n f_data = tubePosition.xyz;\n f_position = position.xyz;\n f_uv = uv;\n}\n"]),a=n(["#extension GL_OES_standard_derivatives : enable\n\nprecision highp float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution(float x, float roughness) {\n float NdotH = max(x, 0.0001);\n float cos2Alpha = NdotH * NdotH;\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n float roughness2 = roughness * roughness;\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n return exp(tan2Alpha / roughness2) / denom;\n}\n\nfloat cookTorranceSpecular(\n vec3 lightDirection,\n vec3 viewDirection,\n vec3 surfaceNormal,\n float roughness,\n float fresnel) {\n\n float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\n float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\n\n //Half angle vector\n vec3 H = normalize(lightDirection + viewDirection);\n\n //Geometric term\n float NdotH = max(dot(surfaceNormal, H), 0.0);\n float VdotH = max(dot(viewDirection, H), 0.000001);\n float LdotH = max(dot(lightDirection, H), 0.000001);\n float G1 = (2.0 * NdotH * VdotN) / VdotH;\n float G2 = (2.0 * NdotH * LdotN) / LdotH;\n float G = min(1.0, min(G1, G2));\n \n //Distribution term\n float D = beckmannDistribution(NdotH, roughness);\n\n //Fresnel term\n float F = pow(1.0 - VdotN, fresnel);\n\n //Multiply terms and done\n return G * F * D / max(3.14159265 * VdotN, 0.000001);\n}\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\nuniform sampler2D texture;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n vec3 N = normalize(f_normal);\n vec3 L = normalize(f_lightDirection);\n vec3 V = normalize(f_eyeDirection);\n\n if(gl_FrontFacing) {\n N = -N;\n }\n\n float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n vec4 surfaceColor = f_color * texture2D(texture, f_uv);\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\n\n gl_FragColor = litColor * opacity;\n}\n"]),o=n(["precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n // Return up-vector for only-z vector.\n // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the tube vertex and normal at the given index.\n//\n// The returned vertex is for a tube ring with its center at origin, radius of length(d), pointing in the direction of d.\n//\n// Each tube segment is made up of a ring of vertices.\n// These vertices are used to make up the triangles of the tube by connecting them together in the vertex array.\n// The indexes of tube segments run from 0 to 8.\n//\nvec3 getTubePosition(vec3 d, float index, out vec3 normal) {\n float segmentCount = 8.0;\n\n float angle = 2.0 * 3.14159 * (index / segmentCount);\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d);\n vec3 y = v * sin(angle) * length(d);\n vec3 v3 = x + y;\n\n normal = normalize(v3);\n\n return v3;\n}\n\nattribute vec4 vector;\nattribute vec4 position;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform float tubeScale;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n vec3 normal;\n vec3 XYZ = getTubePosition(mat3(model) * (tubeScale * vector.w * normalize(vector.xyz)), position.w, normal);\n vec4 tubePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n\n gl_Position = projection * view * tubePosition;\n f_id = id;\n f_position = position.xyz;\n}\n"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n\n gl_FragColor = vec4(pickId, f_id.xyz);\n}"]);r.meshShader={vertex:i,fragment:a,attributes:[{name:"position",type:"vec4"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"vector",type:"vec4"}]},r.pickShader={vertex:o,fragment:s,attributes:[{name:"position",type:"vec4"},{name:"id",type:"vec4"},{name:"vector",type:"vec4"}]}},{glslify:347}],347:[function(t,e,r){arguments[4][257][0].apply(r,arguments)},{dup:257}],348:[function(t,e,r){"use strict";var n=t("gl-vec3"),i=t("gl-vec4"),a=["xyz","xzy","yxz","yzx","zxy","zyx"],o=function(t,e,r,a){for(var o=0,s=0;s<t.length;s++)for(var l=t[s].velocities,c=0;c<l.length;c++)o=Math.max(o,n.length(l[c]));var u=t.map((function(t){return function(t,e,r,a){for(var o=t.points,s=t.velocities,l=t.divergences,c=[],u=[],f=[],h=[],p=[],d=[],g=0,m=0,v=i.create(),y=i.create(),x=0;x<o.length;x++){var b=o[x],_=s[x],w=l[x];0===e&&(w=.05*r),m=n.length(_)/a,v=i.create(),n.copy(v,_),v[3]=w;for(var T=0;T<8;T++)p[T]=[b[0],b[1],b[2],T];if(h.length>0)for(T=0;T<8;T++){var k=(T+1)%8;c.push(h[T],p[T],p[k],p[k],h[k],h[T]),f.push(y,v,v,v,y,y),d.push(g,m,m,m,g,g);var M=c.length;u.push([M-6,M-5,M-4],[M-3,M-2,M-1])}var A=h;h=p,p=A;var S=y;y=v,v=S;var E=g;g=m,m=E}return{positions:c,cells:u,vectors:f,vertexIntensity:d}}(t,r,a,o)})),f=[],h=[],p=[],d=[];for(s=0;s<u.length;s++){var g=u[s],m=f.length;f=f.concat(g.positions),p=p.concat(g.vectors),d=d.concat(g.vertexIntensity);for(c=0;c<g.cells.length;c++){var v=g.cells[c],y=[];h.push(y);for(var x=0;x<v.length;x++)y.push(v[x]+m)}}return{positions:f,cells:h,vectors:p,vertexIntensity:d,colormap:e}},s=function(t,e){var r,n=t.length;for(r=0;r<n;r++){var i=t[r];if(i===e)return r;if(i>e)return r-1}return r},l=function(t,e,r){return t<e?e:t>r?r:t},c=function(t){var e=1/0;t.sort((function(t,e){return t-e}));for(var r=t.length,n=1;n<r;n++){var i=Math.abs(t[n]-t[n-1]);i<e&&(e=i)}return e};e.exports=function(t,e){var r=t.startingPositions,i=t.maxLength||1e3,u=t.tubeSize||1,f=t.absoluteTubeSize,h=t.gridFill||"+x+y+z",p={};-1!==h.indexOf("-x")&&(p.reversedX=!0),-1!==h.indexOf("-y")&&(p.reversedY=!0),-1!==h.indexOf("-z")&&(p.reversedZ=!0),p.filled=a.indexOf(h.replace(/-/g,"").replace(/\+/g,""));var d=t.getVelocity||function(e){return function(t,e,r){var i=e.vectors,a=e.meshgrid,o=t[0],c=t[1],u=t[2],f=a[0].length,h=a[1].length,p=a[2].length,d=s(a[0],o),g=s(a[1],c),m=s(a[2],u),v=d+1,y=g+1,x=m+1;if(d=l(d,0,f-1),v=l(v,0,f-1),g=l(g,0,h-1),y=l(y,0,h-1),m=l(m,0,p-1),x=l(x,0,p-1),d<0||g<0||m<0||v>f-1||y>h-1||x>p-1)return n.create();var b,_,w,T,k,M,A=a[0][d],S=a[0][v],E=a[1][g],C=a[1][y],L=a[2][m],I=(o-A)/(S-A),P=(c-E)/(C-E),z=(u-L)/(a[2][x]-L);switch(isFinite(I)||(I=.5),isFinite(P)||(P=.5),isFinite(z)||(z=.5),r.reversedX&&(d=f-1-d,v=f-1-v),r.reversedY&&(g=h-1-g,y=h-1-y),r.reversedZ&&(m=p-1-m,x=p-1-x),r.filled){case 5:k=m,M=x,w=g*p,T=y*p,b=d*p*h,_=v*p*h;break;case 4:k=m,M=x,b=d*p,_=v*p,w=g*p*f,T=y*p*f;break;case 3:w=g,T=y,k=m*h,M=x*h,b=d*h*p,_=v*h*p;break;case 2:w=g,T=y,b=d*h,_=v*h,k=m*h*f,M=x*h*f;break;case 1:b=d,_=v,k=m*f,M=x*f,w=g*f*p,T=y*f*p;break;default:b=d,_=v,w=g*f,T=y*f,k=m*f*h,M=x*f*h}var O=i[b+w+k],D=i[b+w+M],R=i[b+T+k],F=i[b+T+M],B=i[_+w+k],N=i[_+w+M],j=i[_+T+k],U=i[_+T+M],V=n.create(),q=n.create(),H=n.create(),G=n.create();n.lerp(V,O,B,I),n.lerp(q,D,N,I),n.lerp(H,R,j,I),n.lerp(G,F,U,I);var Y=n.create(),W=n.create();n.lerp(Y,V,H,P),n.lerp(W,q,G,P);var X=n.create();return n.lerp(X,Y,W,z),X}(e,t,p)},g=t.getDivergence||function(t,e){var r=n.create(),i=1e-4;n.add(r,t,[i,0,0]);var a=d(r);n.subtract(a,a,e),n.scale(a,a,1/i),n.add(r,t,[0,i,0]);var o=d(r);n.subtract(o,o,e),n.scale(o,o,1/i),n.add(r,t,[0,0,i]);var s=d(r);return n.subtract(s,s,e),n.scale(s,s,1/i),n.add(r,a,o),n.add(r,r,s),r},m=[],v=e[0][0],y=e[0][1],x=e[0][2],b=e[1][0],_=e[1][1],w=e[1][2],T=function(t){var e=t[0],r=t[1],n=t[2];return!(e<v||e>b||r<y||r>_||n<x||n>w)},k=10*n.distance(e[0],e[1])/i,M=k*k,A=1,S=0,E=r.length;E>1&&(A=function(t){for(var e=[],r=[],n=[],i={},a={},o={},s=t.length,l=0;l<s;l++){var u=t[l],f=u[0],h=u[1],p=u[2];i[f]||(e.push(f),i[f]=!0),a[h]||(r.push(h),a[h]=!0),o[p]||(n.push(p),o[p]=!0)}var d=c(e),g=c(r),m=c(n),v=Math.min(d,g,m);return isFinite(v)?v:1}(r));for(var C=0;C<E;C++){var L=n.create();n.copy(L,r[C]);var I=[L],P=[],z=d(L),O=L;P.push(z);var D=[],R=g(L,z),F=n.length(R);isFinite(F)&&F>S&&(S=F),D.push(F),m.push({points:I,velocities:P,divergences:D});for(var B=0;B<100*i&&I.length<i&&T(L);){B++;var N=n.clone(z),j=n.squaredLength(N);if(0===j)break;if(j>M&&n.scale(N,N,k/Math.sqrt(j)),n.add(N,N,L),z=d(N),n.squaredDistance(O,N)-M>-1e-4*M){I.push(N),O=N,P.push(z);R=g(N,z),F=n.length(R);isFinite(F)&&F>S&&(S=F),D.push(F)}L=N}}var U=o(m,t.colormap,S,A);return f?U.tubeScale=f:(0===S&&(S=1),U.tubeScale=.5*u*A/S),U};var u=t("./lib/shaders"),f=t("gl-cone3d").createMesh;e.exports.createTubeMesh=function(t,e){return f(t,e,{shaders:u,traceType:"streamtube"})}},{"./lib/shaders":346,"gl-cone3d":260,"gl-vec3":377,"gl-vec4":413}],349:[function(t,e,r){var n=t("gl-shader"),i=t("glslify"),a=i(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec4 uv;\nattribute vec3 f;\nattribute vec3 normal;\n\nuniform vec3 objectOffset;\nuniform mat4 model, view, projection, inverseModel;\nuniform vec3 lightPosition, eyePosition;\nuniform sampler2D colormap;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec2 planeCoordinate;\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\nvarying vec4 vColor;\n\nvoid main() {\n vec3 localCoordinate = vec3(uv.zw, f.x);\n worldCoordinate = objectOffset + localCoordinate;\n vec4 worldPosition = model * vec4(worldCoordinate, 1.0);\n vec4 clipPosition = projection * view * worldPosition;\n gl_Position = clipPosition;\n kill = f.y;\n value = f.z;\n planeCoordinate = uv.xy;\n\n vColor = texture2D(colormap, vec2(value, value));\n\n //Lighting geometry parameters\n vec4 cameraCoordinate = view * worldPosition;\n cameraCoordinate.xyz /= cameraCoordinate.w;\n lightDirection = lightPosition - cameraCoordinate.xyz;\n eyeDirection = eyePosition - cameraCoordinate.xyz;\n surfaceNormal = normalize((vec4(normal,0) * inverseModel).xyz);\n}\n"]),o=i(["precision highp float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution(float x, float roughness) {\n float NdotH = max(x, 0.0001);\n float cos2Alpha = NdotH * NdotH;\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n float roughness2 = roughness * roughness;\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n return exp(tan2Alpha / roughness2) / denom;\n}\n\nfloat beckmannSpecular(\n vec3 lightDirection,\n vec3 viewDirection,\n vec3 surfaceNormal,\n float roughness) {\n return beckmannDistribution(dot(surfaceNormal, normalize(lightDirection + viewDirection)), roughness);\n}\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 lowerBound, upperBound;\nuniform float contourTint;\nuniform vec4 contourColor;\nuniform sampler2D colormap;\nuniform vec3 clipBounds[2];\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\nuniform float vertexColor;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\nvarying vec4 vColor;\n\nvoid main() {\n if (\n kill > 0.0 ||\n vColor.a == 0.0 ||\n outOfRange(clipBounds[0], clipBounds[1], worldCoordinate)\n ) discard;\n\n vec3 N = normalize(surfaceNormal);\n vec3 V = normalize(eyeDirection);\n vec3 L = normalize(lightDirection);\n\n if(gl_FrontFacing) {\n N = -N;\n }\n\n float specular = max(beckmannSpecular(L, V, N, roughness), 0.);\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n //decide how to interpolate color \u2014 in vertex or in fragment\n vec4 surfaceColor =\n step(vertexColor, .5) * texture2D(colormap, vec2(value, value)) +\n step(.5, vertexColor) * vColor;\n\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\n\n gl_FragColor = mix(litColor, contourColor, contourTint) * opacity;\n}\n"]),s=i(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec4 uv;\nattribute float f;\n\nuniform vec3 objectOffset;\nuniform mat3 permutation;\nuniform mat4 model, view, projection;\nuniform float height, zOffset;\nuniform sampler2D colormap;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec2 planeCoordinate;\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\nvarying vec4 vColor;\n\nvoid main() {\n vec3 dataCoordinate = permutation * vec3(uv.xy, height);\n worldCoordinate = objectOffset + dataCoordinate;\n vec4 worldPosition = model * vec4(worldCoordinate, 1.0);\n\n vec4 clipPosition = projection * view * worldPosition;\n clipPosition.z += zOffset;\n\n gl_Position = clipPosition;\n value = f + objectOffset.z;\n kill = -1.0;\n planeCoordinate = uv.zw;\n\n vColor = texture2D(colormap, vec2(value, value));\n\n //Don't do lighting for contours\n surfaceNormal = vec3(1,0,0);\n eyeDirection = vec3(0,1,0);\n lightDirection = vec3(0,0,1);\n}\n"]),l=i(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec2 shape;\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec2 planeCoordinate;\nvarying vec3 surfaceNormal;\n\nvec2 splitFloat(float v) {\n float vh = 255.0 * v;\n float upper = floor(vh);\n float lower = fract(vh);\n return vec2(upper / 255.0, floor(lower * 16.0) / 16.0);\n}\n\nvoid main() {\n if ((kill > 0.0) ||\n (outOfRange(clipBounds[0], clipBounds[1], worldCoordinate))) discard;\n\n vec2 ux = splitFloat(planeCoordinate.x / shape.x);\n vec2 uy = splitFloat(planeCoordinate.y / shape.y);\n gl_FragColor = vec4(pickId, ux.x, uy.x, ux.y + (uy.y/16.0));\n}\n"]);r.createShader=function(t){var e=n(t,a,o,null,[{name:"uv",type:"vec4"},{name:"f",type:"vec3"},{name:"normal",type:"vec3"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e.attributes.normal.location=2,e},r.createPickShader=function(t){var e=n(t,a,l,null,[{name:"uv",type:"vec4"},{name:"f",type:"vec3"},{name:"normal",type:"vec3"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e.attributes.normal.location=2,e},r.createContourShader=function(t){var e=n(t,s,o,null,[{name:"uv",type:"vec4"},{name:"f",type:"float"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e},r.createPickContourShader=function(t){var e=n(t,s,l,null,[{name:"uv",type:"vec4"},{name:"f",type:"float"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e}},{"gl-shader":335,glslify:350}],350:[function(t,e,r){arguments[4][257][0].apply(r,arguments)},{dup:257}],351:[function(t,e,r){"use strict";e.exports=function(t){var e=t.gl,r=y(e),n=b(e),s=x(e),l=_(e),c=i(e),u=a(e,[{buffer:c,size:4,stride:40,offset:0},{buffer:c,size:3,stride:40,offset:16},{buffer:c,size:3,stride:40,offset:28}]),f=i(e),h=a(e,[{buffer:f,size:4,stride:20,offset:0},{buffer:f,size:1,stride:20,offset:16}]),p=i(e),d=a(e,[{buffer:p,size:2,type:e.FLOAT}]),g=o(e,1,256,e.RGBA,e.UNSIGNED_BYTE);g.minFilter=e.LINEAR,g.magFilter=e.LINEAR;var m=new A(e,[0,0],[[0,0,0],[0,0,0]],r,n,c,u,g,s,l,f,h,p,d,[0,0,0]),v={levels:[[],[],[]]};for(var w in t)v[w]=t[w];return v.colormap=v.colormap||"jet",m.update(v),m};var n=t("bit-twiddle"),i=t("gl-buffer"),a=t("gl-vao"),o=t("gl-texture2d"),s=t("typedarray-pool"),l=t("colormap"),c=t("ndarray-ops"),u=t("ndarray-pack"),f=t("ndarray"),h=t("surface-nets"),p=t("gl-mat4/multiply"),d=t("gl-mat4/invert"),g=t("binary-search-bounds"),m=t("ndarray-gradient"),v=t("./lib/shaders"),y=v.createShader,x=v.createContourShader,b=v.createPickShader,_=v.createPickContourShader,w=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],T=[[0,0],[0,1],[1,0],[1,1],[1,0],[0,1]],k=[[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0]];function M(t,e,r,n,i){this.position=t,this.index=e,this.uv=r,this.level=n,this.dataCoordinate=i}!function(){for(var t=0;t<3;++t){var e=k[t],r=(t+2)%3;e[(t+1)%3+0]=1,e[r+3]=1,e[t+6]=1}}();function A(t,e,r,n,i,a,o,l,c,u,h,p,d,g,m){this.gl=t,this.shape=e,this.bounds=r,this.objectOffset=m,this.intensityBounds=[],this._shader=n,this._pickShader=i,this._coordinateBuffer=a,this._vao=o,this._colorMap=l,this._contourShader=c,this._contourPickShader=u,this._contourBuffer=h,this._contourVAO=p,this._contourOffsets=[[],[],[]],this._contourCounts=[[],[],[]],this._vertexCount=0,this._pickResult=new M([0,0,0],[0,0],[0,0],[0,0,0],[0,0,0]),this._dynamicBuffer=d,this._dynamicVAO=g,this._dynamicOffsets=[0,0,0],this._dynamicCounts=[0,0,0],this.contourWidth=[1,1,1],this.contourLevels=[[1],[1],[1]],this.contourTint=[0,0,0],this.contourColor=[[.5,.5,.5,1],[.5,.5,.5,1],[.5,.5,.5,1]],this.showContour=!0,this.showSurface=!0,this.enableHighlight=[!0,!0,!0],this.highlightColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.highlightTint=[1,1,1],this.highlightLevel=[-1,-1,-1],this.enableDynamic=[!0,!0,!0],this.dynamicLevel=[NaN,NaN,NaN],this.dynamicColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.dynamicTint=[1,1,1],this.dynamicWidth=[1,1,1],this.axesBounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.surfaceProject=[!1,!1,!1],this.contourProject=[[!1,!1,!1],[!1,!1,!1],[!1,!1,!1]],this.colorBounds=[!1,!1],this._field=[f(s.mallocFloat(1024),[0,0]),f(s.mallocFloat(1024),[0,0]),f(s.mallocFloat(1024),[0,0])],this.pickId=1,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.snapToData=!1,this.pixelRatio=1,this.opacity=1,this.lightPosition=[10,1e4,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.vertexColor=0,this.dirty=!0}var S=A.prototype;S.genColormap=function(t,e){var r=!1,n=u([l({colormap:t,nshades:256,format:"rgba"}).map((function(t,n){var i=e?function(t,e){if(!e)return 1;if(!e.length)return 1;for(var r=0;r<e.length;++r){if(e.length<2)return 1;if(e[r][0]===t)return e[r][1];if(e[r][0]>t&&r>0){var n=(e[r][0]-t)/(e[r][0]-e[r-1][0]);return e[r][1]*(1-n)+n*e[r-1][1]}}return 1}(n/255,e):t[3];return i<1&&(r=!0),[t[0],t[1],t[2],255*i]}))]);return c.divseq(n,255),this.hasAlphaScale=r,n},S.isTransparent=function(){return this.opacity<1||this.hasAlphaScale},S.isOpaque=function(){return!this.isTransparent()},S.pickSlots=1,S.setPickBase=function(t){this.pickId=t};var E=[0,0,0],C={showSurface:!1,showContour:!1,projections:[w.slice(),w.slice(),w.slice()],clipBounds:[[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]]]};function L(t,e){var r,n,i,a=e.axes&&e.axes.lastCubeProps.axis||E,o=e.showSurface,s=e.showContour;for(r=0;r<3;++r)for(o=o||e.surfaceProject[r],n=0;n<3;++n)s=s||e.contourProject[r][n];for(r=0;r<3;++r){var l=C.projections[r];for(n=0;n<16;++n)l[n]=0;for(n=0;n<4;++n)l[5*n]=1;l[5*r]=0,l[12+r]=e.axesBounds[+(a[r]>0)][r],p(l,t.model,l);var c=C.clipBounds[r];for(i=0;i<2;++i)for(n=0;n<3;++n)c[i][n]=t.clipBounds[i][n];c[0][r]=-1e8,c[1][r]=1e8}return C.showSurface=o,C.showContour=s,C}var I={model:w,view:w,projection:w,inverseModel:w.slice(),lowerBound:[0,0,0],upperBound:[0,0,0],colorMap:0,clipBounds:[[0,0,0],[0,0,0]],height:0,contourTint:0,contourColor:[0,0,0,1],permutation:[1,0,0,0,1,0,0,0,1],zOffset:-1e-4,objectOffset:[0,0,0],kambient:1,kdiffuse:1,kspecular:1,lightPosition:[1e3,1e3,1e3],eyePosition:[0,0,0],roughness:1,fresnel:1,opacity:1,vertexColor:0},P=w.slice(),z=[1,0,0,0,1,0,0,0,1];function O(t,e){t=t||{};var r=this.gl;r.disable(r.CULL_FACE),this._colorMap.bind(0);var n=I;n.model=t.model||w,n.view=t.view||w,n.projection=t.projection||w,n.lowerBound=[this.bounds[0][0],this.bounds[0][1],this.colorBounds[0]||this.bounds[0][2]],n.upperBound=[this.bounds[1][0],this.bounds[1][1],this.colorBounds[1]||this.bounds[1][2]],n.objectOffset=this.objectOffset,n.contourColor=this.contourColor[0],n.inverseModel=d(n.inverseModel,n.model);for(var i=0;i<2;++i)for(var a=n.clipBounds[i],o=0;o<3;++o)a[o]=Math.min(Math.max(this.clipBounds[i][o],-1e8),1e8);n.kambient=this.ambientLight,n.kdiffuse=this.diffuseLight,n.kspecular=this.specularLight,n.roughness=this.roughness,n.fresnel=this.fresnel,n.opacity=this.opacity,n.height=0,n.permutation=z,n.vertexColor=this.vertexColor;var s=P;for(p(s,n.view,n.model),p(s,n.projection,s),d(s,s),i=0;i<3;++i)n.eyePosition[i]=s[12+i]/s[15];var l=s[15];for(i=0;i<3;++i)l+=this.lightPosition[i]*s[4*i+3];for(i=0;i<3;++i){var c=s[12+i];for(o=0;o<3;++o)c+=s[4*o+i]*this.lightPosition[o];n.lightPosition[i]=c/l}var u=L(n,this);if(u.showSurface){for(this._shader.bind(),this._shader.uniforms=n,this._vao.bind(),this.showSurface&&this._vertexCount&&this._vao.draw(r.TRIANGLES,this._vertexCount),i=0;i<3;++i)this.surfaceProject[i]&&this.vertexCount&&(this._shader.uniforms.model=u.projections[i],this._shader.uniforms.clipBounds=u.clipBounds[i],this._vao.draw(r.TRIANGLES,this._vertexCount));this._vao.unbind()}if(u.showContour){var f=this._contourShader;n.kambient=1,n.kdiffuse=0,n.kspecular=0,n.opacity=1,f.bind(),f.uniforms=n;var h=this._contourVAO;for(h.bind(),i=0;i<3;++i)for(f.uniforms.permutation=k[i],r.lineWidth(this.contourWidth[i]*this.pixelRatio),o=0;o<this.contourLevels[i].length;++o)o===this.highlightLevel[i]?(f.uniforms.contourColor=this.highlightColor[i],f.uniforms.contourTint=this.highlightTint[i]):0!==o&&o-1!==this.highlightLevel[i]||(f.uniforms.contourColor=this.contourColor[i],f.uniforms.contourTint=this.contourTint[i]),this._contourCounts[i][o]&&(f.uniforms.height=this.contourLevels[i][o],h.draw(r.LINES,this._contourCounts[i][o],this._contourOffsets[i][o]));for(i=0;i<3;++i)for(f.uniforms.model=u.projections[i],f.uniforms.clipBounds=u.clipBounds[i],o=0;o<3;++o)if(this.contourProject[i][o]){f.uniforms.permutation=k[o],r.lineWidth(this.contourWidth[o]*this.pixelRatio);for(var g=0;g<this.contourLevels[o].length;++g)g===this.highlightLevel[o]?(f.uniforms.contourColor=this.highlightColor[o],f.uniforms.contourTint=this.highlightTint[o]):0!==g&&g-1!==this.highlightLevel[o]||(f.uniforms.contourColor=this.contourColor[o],f.uniforms.contourTint=this.contourTint[o]),this._contourCounts[o][g]&&(f.uniforms.height=this.contourLevels[o][g],h.draw(r.LINES,this._contourCounts[o][g],this._contourOffsets[o][g]))}for(h.unbind(),(h=this._dynamicVAO).bind(),i=0;i<3;++i)if(0!==this._dynamicCounts[i])for(f.uniforms.model=n.model,f.uniforms.clipBounds=n.clipBounds,f.uniforms.permutation=k[i],r.lineWidth(this.dynamicWidth[i]*this.pixelRatio),f.uniforms.contourColor=this.dynamicColor[i],f.uniforms.contourTint=this.dynamicTint[i],f.uniforms.height=this.dynamicLevel[i],h.draw(r.LINES,this._dynamicCounts[i],this._dynamicOffsets[i]),o=0;o<3;++o)this.contourProject[o][i]&&(f.uniforms.model=u.projections[o],f.uniforms.clipBounds=u.clipBounds[o],h.draw(r.LINES,this._dynamicCounts[i],this._dynamicOffsets[i]));h.unbind()}}S.draw=function(t){return O.call(this,t,!1)},S.drawTransparent=function(t){return O.call(this,t,!0)};var D={model:w,view:w,projection:w,inverseModel:w,clipBounds:[[0,0,0],[0,0,0]],height:0,shape:[0,0],pickId:0,lowerBound:[0,0,0],upperBound:[0,0,0],zOffset:0,objectOffset:[0,0,0],permutation:[1,0,0,0,1,0,0,0,1],lightPosition:[0,0,0],eyePosition:[0,0,0]};function R(t,e){return Array.isArray(t)?[e(t[0]),e(t[1]),e(t[2])]:[e(t),e(t),e(t)]}function F(t){return Array.isArray(t)?3===t.length?[t[0],t[1],t[2],1]:[t[0],t[1],t[2],t[3]]:[0,0,0,1]}function B(t){if(Array.isArray(t)){if(Array.isArray(t))return[F(t[0]),F(t[1]),F(t[2])];var e=F(t);return[e.slice(),e.slice(),e.slice()]}}S.drawPick=function(t){t=t||{};var e=this.gl;e.disable(e.CULL_FACE);var r=D;r.model=t.model||w,r.view=t.view||w,r.projection=t.projection||w,r.shape=this._field[2].shape,r.pickId=this.pickId/255,r.lowerBound=this.bounds[0],r.upperBound=this.bounds[1],r.objectOffset=this.objectOffset,r.permutation=z;for(var n=0;n<2;++n)for(var i=r.clipBounds[n],a=0;a<3;++a)i[a]=Math.min(Math.max(this.clipBounds[n][a],-1e8),1e8);var o=L(r,this);if(o.showSurface){for(this._pickShader.bind(),this._pickShader.uniforms=r,this._vao.bind(),this._vao.draw(e.TRIANGLES,this._vertexCount),n=0;n<3;++n)this.surfaceProject[n]&&(this._pickShader.uniforms.model=o.projections[n],this._pickShader.uniforms.clipBounds=o.clipBounds[n],this._vao.draw(e.TRIANGLES,this._vertexCount));this._vao.unbind()}if(o.showContour){var s=this._contourPickShader;s.bind(),s.uniforms=r;var l=this._contourVAO;for(l.bind(),a=0;a<3;++a)for(e.lineWidth(this.contourWidth[a]*this.pixelRatio),s.uniforms.permutation=k[a],n=0;n<this.contourLevels[a].length;++n)this._contourCounts[a][n]&&(s.uniforms.height=this.contourLevels[a][n],l.draw(e.LINES,this._contourCounts[a][n],this._contourOffsets[a][n]));for(n=0;n<3;++n)for(s.uniforms.model=o.projections[n],s.uniforms.clipBounds=o.clipBounds[n],a=0;a<3;++a)if(this.contourProject[n][a]){s.uniforms.permutation=k[a],e.lineWidth(this.contourWidth[a]*this.pixelRatio);for(var c=0;c<this.contourLevels[a].length;++c)this._contourCounts[a][c]&&(s.uniforms.height=this.contourLevels[a][c],l.draw(e.LINES,this._contourCounts[a][c],this._contourOffsets[a][c]))}l.unbind()}},S.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;var e=this._field[2].shape,r=this._pickResult,n=e[0]*(t.value[0]+(t.value[2]>>4)/16)/255,i=Math.floor(n),a=n-i,o=e[1]*(t.value[1]+(15&t.value[2])/16)/255,s=Math.floor(o),l=o-s;i+=1,s+=1;var c=r.position;c[0]=c[1]=c[2]=0;for(var u=0;u<2;++u)for(var f=u?a:1-a,h=0;h<2;++h)for(var p=i+u,d=s+h,m=f*(h?l:1-l),v=0;v<3;++v)c[v]+=this._field[v].get(p,d)*m;for(var y=this._pickResult.level,x=0;x<3;++x)if(y[x]=g.le(this.contourLevels[x],c[x]),y[x]<0)this.contourLevels[x].length>0&&(y[x]=0);else if(y[x]<this.contourLevels[x].length-1){var b=this.contourLevels[x][y[x]],_=this.contourLevels[x][y[x]+1];Math.abs(b-c[x])>Math.abs(_-c[x])&&(y[x]+=1)}for(r.index[0]=a<.5?i:i+1,r.index[1]=l<.5?s:s+1,r.uv[0]=n/e[0],r.uv[1]=o/e[1],v=0;v<3;++v)r.dataCoordinate[v]=this._field[v].get(r.index[0],r.index[1]);return r},S.padField=function(t,e){var r=e.shape.slice(),n=t.shape.slice();c.assign(t.lo(1,1).hi(r[0],r[1]),e),c.assign(t.lo(1).hi(r[0],1),e.hi(r[0],1)),c.assign(t.lo(1,n[1]-1).hi(r[0],1),e.lo(0,r[1]-1).hi(r[0],1)),c.assign(t.lo(0,1).hi(1,r[1]),e.hi(1)),c.assign(t.lo(n[0]-1,1).hi(1,r[1]),e.lo(r[0]-1)),t.set(0,0,e.get(0,0)),t.set(0,n[1]-1,e.get(0,r[1]-1)),t.set(n[0]-1,0,e.get(r[0]-1,0)),t.set(n[0]-1,n[1]-1,e.get(r[0]-1,r[1]-1))},S.update=function(t){t=t||{},this.objectOffset=t.objectOffset||this.objectOffset,this.dirty=!0,"contourWidth"in t&&(this.contourWidth=R(t.contourWidth,Number)),"showContour"in t&&(this.showContour=R(t.showContour,Boolean)),"showSurface"in t&&(this.showSurface=!!t.showSurface),"contourTint"in t&&(this.contourTint=R(t.contourTint,Boolean)),"contourColor"in t&&(this.contourColor=B(t.contourColor)),"contourProject"in t&&(this.contourProject=R(t.contourProject,(function(t){return R(t,Boolean)}))),"surfaceProject"in t&&(this.surfaceProject=t.surfaceProject),"dynamicColor"in t&&(this.dynamicColor=B(t.dynamicColor)),"dynamicTint"in t&&(this.dynamicTint=R(t.dynamicTint,Number)),"dynamicWidth"in t&&(this.dynamicWidth=R(t.dynamicWidth,Number)),"opacity"in t&&(this.opacity=t.opacity),"opacityscale"in t&&(this.opacityscale=t.opacityscale),"colorBounds"in t&&(this.colorBounds=t.colorBounds),"vertexColor"in t&&(this.vertexColor=t.vertexColor?1:0),"colormap"in t&&this._colorMap.setPixels(this.genColormap(t.colormap,this.opacityscale));var e=t.field||t.coords&&t.coords[2]||null,r=!1;if(e||(e=this._field[2].shape[0]||this._field[2].shape[2]?this._field[2].lo(1,1).hi(this._field[2].shape[0]-2,this._field[2].shape[1]-2):this._field[2].hi(0,0)),"field"in t||"coords"in t){var i=(e.shape[0]+2)*(e.shape[1]+2);i>this._field[2].data.length&&(s.freeFloat(this._field[2].data),this._field[2].data=s.mallocFloat(n.nextPow2(i))),this._field[2]=f(this._field[2].data,[e.shape[0]+2,e.shape[1]+2]),this.padField(this._field[2],e),this.shape=e.shape.slice();for(var a=this.shape,o=0;o<2;++o)this._field[2].size>this._field[o].data.length&&(s.freeFloat(this._field[o].data),this._field[o].data=s.mallocFloat(this._field[2].size)),this._field[o]=f(this._field[o].data,[a[0]+2,a[1]+2]);if(t.coords){var l=t.coords;if(!Array.isArray(l)||3!==l.length)throw new Error("gl-surface: invalid coordinates for x/y");for(o=0;o<2;++o){var c=l[o];for(v=0;v<2;++v)if(c.shape[v]!==a[v])throw new Error("gl-surface: coords have incorrect shape");this.padField(this._field[o],c)}}else if(t.ticks){var u=t.ticks;if(!Array.isArray(u)||2!==u.length)throw new Error("gl-surface: invalid ticks");for(o=0;o<2;++o){var p=u[o];if((Array.isArray(p)||p.length)&&(p=f(p)),p.shape[0]!==a[o])throw new Error("gl-surface: invalid tick length");var d=f(p.data,a);d.stride[o]=p.stride[0],d.stride[1^o]=0,this.padField(this._field[o],d)}}else{for(o=0;o<2;++o){var g=[0,0];g[o]=1,this._field[o]=f(this._field[o].data,[a[0]+2,a[1]+2],g,0)}this._field[0].set(0,0,0);for(var v=0;v<a[0];++v)this._field[0].set(v+1,0,v);for(this._field[0].set(a[0]+1,0,a[0]-1),this._field[1].set(0,0,0),v=0;v<a[1];++v)this._field[1].set(0,v+1,v);this._field[1].set(0,a[1]+1,a[1]-1)}var y=this._field,x=f(s.mallocFloat(3*y[2].size*2),[3,a[0]+2,a[1]+2,2]);for(o=0;o<3;++o)m(x.pick(o),y[o],"mirror");var b=f(s.mallocFloat(3*y[2].size),[a[0]+2,a[1]+2,3]);for(o=0;o<a[0]+2;++o)for(v=0;v<a[1]+2;++v){var _=x.get(0,o,v,0),w=x.get(0,o,v,1),k=x.get(1,o,v,0),M=x.get(1,o,v,1),A=x.get(2,o,v,0),S=x.get(2,o,v,1),E=k*S-M*A,C=A*w-S*_,L=_*M-w*k,I=Math.sqrt(E*E+C*C+L*L);I<1e-8?(I=Math.max(Math.abs(E),Math.abs(C),Math.abs(L)))<1e-8?(L=1,C=E=0,I=1):I=1/I:I=1/Math.sqrt(I),b.set(o,v,0,E*I),b.set(o,v,1,C*I),b.set(o,v,2,L*I)}s.free(x.data);var P=[1/0,1/0,1/0],z=[-1/0,-1/0,-1/0],O=1/0,D=-1/0,F=(a[0]-1)*(a[1]-1)*6,N=s.mallocFloat(n.nextPow2(10*F)),j=0,U=0;for(o=0;o<a[0]-1;++o)t:for(v=0;v<a[1]-1;++v){for(var V=0;V<2;++V)for(var q=0;q<2;++q)for(var H=0;H<3;++H){var G=this._field[H].get(1+o+V,1+v+q);if(isNaN(G)||!isFinite(G))continue t}for(H=0;H<6;++H){var Y=o+T[H][0],W=v+T[H][1],X=this._field[0].get(Y+1,W+1),Z=this._field[1].get(Y+1,W+1);G=this._field[2].get(Y+1,W+1),E=b.get(Y+1,W+1,0),C=b.get(Y+1,W+1,1),L=b.get(Y+1,W+1,2),t.intensity&&(J=t.intensity.get(Y,W));var J=t.intensity?t.intensity.get(Y,W):G+this.objectOffset[2];N[j++]=Y,N[j++]=W,N[j++]=X,N[j++]=Z,N[j++]=G,N[j++]=0,N[j++]=J,N[j++]=E,N[j++]=C,N[j++]=L,P[0]=Math.min(P[0],X+this.objectOffset[0]),P[1]=Math.min(P[1],Z+this.objectOffset[1]),P[2]=Math.min(P[2],G+this.objectOffset[2]),O=Math.min(O,J),z[0]=Math.max(z[0],X+this.objectOffset[0]),z[1]=Math.max(z[1],Z+this.objectOffset[1]),z[2]=Math.max(z[2],G+this.objectOffset[2]),D=Math.max(D,J),U+=1}}for(t.intensityBounds&&(O=+t.intensityBounds[0],D=+t.intensityBounds[1]),o=6;o<j;o+=10)N[o]=(N[o]-O)/(D-O);this._vertexCount=U,this._coordinateBuffer.update(N.subarray(0,j)),s.freeFloat(N),s.free(b.data),this.bounds=[P,z],this.intensity=t.intensity||this._field[2],this.intensityBounds[0]===O&&this.intensityBounds[1]===D||(r=!0),this.intensityBounds=[O,D]}if("levels"in t){var K=t.levels;for(K=Array.isArray(K[0])?K.slice():[[],[],K],o=0;o<3;++o)K[o]=K[o].slice(),K[o].sort((function(t,e){return t-e}));for(o=0;o<3;++o)for(v=0;v<K[o].length;++v)K[o][v]-=this.objectOffset[o];t:for(o=0;o<3;++o){if(K[o].length!==this.contourLevels[o].length){r=!0;break}for(v=0;v<K[o].length;++v)if(K[o][v]!==this.contourLevels[o][v]){r=!0;break t}}this.contourLevels=K}if(r){y=this._field,a=this.shape;for(var Q=[],$=0;$<3;++$){var tt=this.contourLevels[$],et=[],rt=[],nt=[0,0,0];for(o=0;o<tt.length;++o){var it=h(this._field[$],tt[o]);et.push(Q.length/5|0),U=0;t:for(v=0;v<it.cells.length;++v){var at=it.cells[v];for(H=0;H<2;++H){var ot=it.positions[at[H]],st=ot[0],lt=0|Math.floor(st),ct=st-lt,ut=ot[1],ft=0|Math.floor(ut),ht=ut-ft,pt=!1;e:for(var dt=0;dt<3;++dt){nt[dt]=0;var gt=($+dt+1)%3;for(V=0;V<2;++V){var mt=V?ct:1-ct;for(Y=0|Math.min(Math.max(lt+V,0),a[0]),q=0;q<2;++q){var vt=q?ht:1-ht;if(W=0|Math.min(Math.max(ft+q,0),a[1]),G=dt<2?this._field[gt].get(Y,W):(this.intensity.get(Y,W)-this.intensityBounds[0])/(this.intensityBounds[1]-this.intensityBounds[0]),!isFinite(G)||isNaN(G)){pt=!0;break e}var yt=mt*vt;nt[dt]+=yt*G}}}if(pt){if(H>0){for(var xt=0;xt<5;++xt)Q.pop();U-=1}continue t}Q.push(nt[0],nt[1],ot[0],ot[1],nt[2]),U+=1}}rt.push(U)}this._contourOffsets[$]=et,this._contourCounts[$]=rt}var bt=s.mallocFloat(Q.length);for(o=0;o<Q.length;++o)bt[o]=Q[o];this._contourBuffer.update(bt),s.freeFloat(bt)}},S.dispose=function(){this._shader.dispose(),this._vao.dispose(),this._coordinateBuffer.dispose(),this._colorMap.dispose(),this._contourBuffer.dispose(),this._contourVAO.dispose(),this._contourShader.dispose(),this._contourPickShader.dispose(),this._dynamicBuffer.dispose(),this._dynamicVAO.dispose();for(var t=0;t<3;++t)s.freeFloat(this._field[t].data)},S.highlight=function(t){var e,r;if(!t)return this._dynamicCounts=[0,0,0],this.dyanamicLevel=[NaN,NaN,NaN],void(this.highlightLevel=[-1,-1,-1]);for(e=0;e<3;++e)this.enableHighlight[e]?this.highlightLevel[e]=t.level[e]:this.highlightLevel[e]=-1;for(r=this.snapToData?t.dataCoordinate:t.position,e=0;e<3;++e)r[e]-=this.objectOffset[e];if(this.enableDynamic[0]&&r[0]!==this.dynamicLevel[0]||this.enableDynamic[1]&&r[1]!==this.dynamicLevel[1]||this.enableDynamic[2]&&r[2]!==this.dynamicLevel[2]){for(var n=0,i=this.shape,a=s.mallocFloat(12*i[0]*i[1]),o=0;o<3;++o)if(this.enableDynamic[o]){this.dynamicLevel[o]=r[o];var l=(o+1)%3,c=(o+2)%3,u=this._field[o],f=this._field[l],p=this._field[c],d=h(u,r[o]),g=d.cells,m=d.positions;for(this._dynamicOffsets[o]=n,e=0;e<g.length;++e)for(var v=g[e],y=0;y<2;++y){var x=m[v[y]],b=+x[0],_=0|b,w=0|Math.min(_+1,i[0]),T=b-_,k=1-T,M=+x[1],A=0|M,S=0|Math.min(A+1,i[1]),E=M-A,C=1-E,L=k*C,I=k*E,P=T*C,z=T*E,O=L*f.get(_,A)+I*f.get(_,S)+P*f.get(w,A)+z*f.get(w,S),D=L*p.get(_,A)+I*p.get(_,S)+P*p.get(w,A)+z*p.get(w,S);if(isNaN(O)||isNaN(D)){y&&(n-=1);break}a[2*n+0]=O,a[2*n+1]=D,n+=1}this._dynamicCounts[o]=n-this._dynamicOffsets[o]}else this.dynamicLevel[o]=NaN,this._dynamicCounts[o]=0;this._dynamicBuffer.update(a.subarray(0,2*n)),s.freeFloat(a)}}},{"./lib/shaders":349,"binary-search-bounds":96,"bit-twiddle":97,colormap:131,"gl-buffer":259,"gl-mat4/invert":293,"gl-mat4/multiply":295,"gl-texture2d":353,"gl-vao":358,ndarray:495,"ndarray-gradient":488,"ndarray-ops":490,"ndarray-pack":491,"surface-nets":570,"typedarray-pool":595}],352:[function(t,e,r){"use strict";var n=t("css-font"),i=t("pick-by-alias"),a=t("regl"),o=t("gl-util/context"),s=t("es6-weak-map"),l=t("color-normalize"),c=t("font-atlas"),u=t("typedarray-pool"),f=t("parse-rect"),h=t("is-plain-obj"),p=t("parse-unit"),d=t("to-px"),g=t("detect-kerning"),m=t("object-assign"),v=t("font-measure"),y=t("flatten-vertex-data"),x=t("bit-twiddle").nextPow2,b=new s,_=!1;if(document.body){var w=document.body.appendChild(document.createElement("div"));w.style.font="italic small-caps bold condensed 16px/2 cursive",getComputedStyle(w).fontStretch&&(_=!0),document.body.removeChild(w)}var T=function(t){!function(t){return"function"==typeof t&&t._gl&&t.prop&&t.texture&&t.buffer}(t)?this.gl=o(t):(t={regl:t},this.gl=t.regl._gl),this.shader=b.get(this.gl),this.shader?this.regl=this.shader.regl:this.regl=t.regl||a({gl:this.gl}),this.charBuffer=this.regl.buffer({type:"uint8",usage:"stream"}),this.sizeBuffer=this.regl.buffer({type:"float",usage:"stream"}),this.shader||(this.shader=this.createShader(),b.set(this.gl,this.shader)),this.batch=[],this.fontSize=[],this.font=[],this.fontAtlas=[],this.draw=this.shader.draw.bind(this),this.render=function(){this.regl._refresh(),this.draw(this.batch)},this.canvas=this.gl.canvas,this.update(h(t)?t:{})};T.prototype.createShader=function(){var t=this.regl,e=t({blend:{enable:!0,color:[0,0,0,1],func:{srcRGB:"src alpha",dstRGB:"one minus src alpha",srcAlpha:"one minus dst alpha",dstAlpha:"one"}},stencil:{enable:!1},depth:{enable:!1},count:t.prop("count"),offset:t.prop("offset"),attributes:{charOffset:{offset:4,stride:8,buffer:t.this("sizeBuffer")},width:{offset:0,stride:8,buffer:t.this("sizeBuffer")},char:t.this("charBuffer"),position:t.this("position")},uniforms:{atlasSize:function(t,e){return[e.atlas.width,e.atlas.height]},atlasDim:function(t,e){return[e.atlas.cols,e.atlas.rows]},atlas:function(t,e){return e.atlas.texture},charStep:function(t,e){return e.atlas.step},em:function(t,e){return e.atlas.em},color:t.prop("color"),opacity:t.prop("opacity"),viewport:t.this("viewportArray"),scale:t.this("scale"),align:t.prop("align"),baseline:t.prop("baseline"),translate:t.this("translate"),positionOffset:t.prop("positionOffset")},primitive:"points",viewport:t.this("viewport"),vert:"\n\t\t\tprecision highp float;\n\t\t\tattribute float width, charOffset, char;\n\t\t\tattribute vec2 position;\n\t\t\tuniform float fontSize, charStep, em, align, baseline;\n\t\t\tuniform vec4 viewport;\n\t\t\tuniform vec4 color;\n\t\t\tuniform vec2 atlasSize, atlasDim, scale, translate, positionOffset;\n\t\t\tvarying vec2 charCoord, charId;\n\t\t\tvarying float charWidth;\n\t\t\tvarying vec4 fontColor;\n\t\t\tvoid main () {\n\t\t\t\t"+(T.normalViewport?"":"vec2 positionOffset = vec2(positionOffset.x,- positionOffset.y);")+"\n\n\t\t\t\tvec2 offset = floor(em * (vec2(align + charOffset, baseline)\n\t\t\t\t\t+ positionOffset))\n\t\t\t\t\t/ (viewport.zw * scale.xy);\n\n\t\t\t\tvec2 position = (position + translate) * scale;\n\t\t\t\tposition += offset * scale;\n\n\t\t\t\t"+(T.normalViewport?"position.y = 1. - position.y;":"")+"\n\n\t\t\t\tcharCoord = position * viewport.zw + viewport.xy;\n\n\t\t\t\tgl_Position = vec4(position * 2. - 1., 0, 1);\n\n\t\t\t\tgl_PointSize = charStep;\n\n\t\t\t\tcharId.x = mod(char, atlasDim.x);\n\t\t\t\tcharId.y = floor(char / atlasDim.x);\n\n\t\t\t\tcharWidth = width * em;\n\n\t\t\t\tfontColor = color / 255.;\n\t\t\t}",frag:"\n\t\t\tprecision highp float;\n\t\t\tuniform sampler2D atlas;\n\t\t\tuniform float fontSize, charStep, opacity;\n\t\t\tuniform vec2 atlasSize;\n\t\t\tuniform vec4 viewport;\n\t\t\tvarying vec4 fontColor;\n\t\t\tvarying vec2 charCoord, charId;\n\t\t\tvarying float charWidth;\n\n\t\t\tfloat lightness(vec4 color) {\n\t\t\t\treturn color.r * 0.299 + color.g * 0.587 + color.b * 0.114;\n\t\t\t}\n\n\t\t\tvoid main () {\n\t\t\t\tvec2 uv = gl_FragCoord.xy - charCoord + charStep * .5;\n\t\t\t\tfloat halfCharStep = floor(charStep * .5 + .5);\n\n\t\t\t\t// invert y and shift by 1px (FF expecially needs that)\n\t\t\t\tuv.y = charStep - uv.y;\n\n\t\t\t\t// ignore points outside of character bounding box\n\t\t\t\tfloat halfCharWidth = ceil(charWidth * .5);\n\t\t\t\tif (floor(uv.x) > halfCharStep + halfCharWidth ||\n\t\t\t\t\tfloor(uv.x) < halfCharStep - halfCharWidth) return;\n\n\t\t\t\tuv += charId * charStep;\n\t\t\t\tuv = uv / atlasSize;\n\n\t\t\t\tvec4 color = fontColor;\n\t\t\t\tvec4 mask = texture2D(atlas, uv);\n\n\t\t\t\tfloat maskY = lightness(mask);\n\t\t\t\t// float colorY = lightness(color);\n\t\t\t\tcolor.a *= maskY;\n\t\t\t\tcolor.a *= opacity;\n\n\t\t\t\t// color.a += .1;\n\n\t\t\t\t// antialiasing, see yiq color space y-channel formula\n\t\t\t\t// color.rgb += (1. - color.rgb) * (1. - mask.rgb);\n\n\t\t\t\tgl_FragColor = color;\n\t\t\t}"});return{regl:t,draw:e,atlas:{}}},T.prototype.update=function(t){var e=this;if("string"==typeof t)t={text:t};else if(!t)return;null!=(t=i(t,{position:"position positions coord coords coordinates",font:"font fontFace fontface typeface cssFont css-font family fontFamily",fontSize:"fontSize fontsize size font-size",text:"text texts chars characters value values symbols",align:"align alignment textAlign textbaseline",baseline:"baseline textBaseline textbaseline",direction:"dir direction textDirection",color:"color colour fill fill-color fillColor textColor textcolor",kerning:"kerning kern",range:"range dataBox",viewport:"vp viewport viewBox viewbox viewPort",opacity:"opacity alpha transparency visible visibility opaque",offset:"offset positionOffset padding shift indent indentation"},!0)).opacity&&(Array.isArray(t.opacity)?this.opacity=t.opacity.map((function(t){return parseFloat(t)})):this.opacity=parseFloat(t.opacity)),null!=t.viewport&&(this.viewport=f(t.viewport),T.normalViewport&&(this.viewport.y=this.canvas.height-this.viewport.y-this.viewport.height),this.viewportArray=[this.viewport.x,this.viewport.y,this.viewport.width,this.viewport.height]),null==this.viewport&&(this.viewport={x:0,y:0,width:this.gl.drawingBufferWidth,height:this.gl.drawingBufferHeight},this.viewportArray=[this.viewport.x,this.viewport.y,this.viewport.width,this.viewport.height]),null!=t.kerning&&(this.kerning=t.kerning),null!=t.offset&&("number"==typeof t.offset&&(t.offset=[t.offset,0]),this.positionOffset=y(t.offset)),t.direction&&(this.direction=t.direction),t.range&&(this.range=t.range,this.scale=[1/(t.range[2]-t.range[0]),1/(t.range[3]-t.range[1])],this.translate=[-t.range[0],-t.range[1]]),t.scale&&(this.scale=t.scale),t.translate&&(this.translate=t.translate),this.scale||(this.scale=[1/this.viewport.width,1/this.viewport.height]),this.translate||(this.translate=[0,0]),this.font.length||t.font||(t.font=T.baseFontSize+"px sans-serif");var r,a=!1,o=!1;if(t.font&&(Array.isArray(t.font)?t.font:[t.font]).forEach((function(t,r){if("string"==typeof t)try{t=n.parse(t)}catch(e){t=n.parse(T.baseFontSize+"px "+t)}else t=n.parse(n.stringify(t));var i=n.stringify({size:T.baseFontSize,family:t.family,stretch:_?t.stretch:void 0,variant:t.variant,weight:t.weight,style:t.style}),s=p(t.size),l=Math.round(s[0]*d(s[1]));if(l!==e.fontSize[r]&&(o=!0,e.fontSize[r]=l),!(e.font[r]&&i==e.font[r].baseString||(a=!0,e.font[r]=T.fonts[i],e.font[r]))){var c=t.family.join(", "),u=[t.style];t.style!=t.variant&&u.push(t.variant),t.variant!=t.weight&&u.push(t.weight),_&&t.weight!=t.stretch&&u.push(t.stretch),e.font[r]={baseString:i,family:c,weight:t.weight,stretch:t.stretch,style:t.style,variant:t.variant,width:{},kerning:{},metrics:v(c,{origin:"top",fontSize:T.baseFontSize,fontStyle:u.join(" ")})},T.fonts[i]=e.font[r]}})),(a||o)&&this.font.forEach((function(r,i){var a=n.stringify({size:e.fontSize[i],family:r.family,stretch:_?r.stretch:void 0,variant:r.variant,weight:r.weight,style:r.style});if(e.fontAtlas[i]=e.shader.atlas[a],!e.fontAtlas[i]){var o=r.metrics;e.shader.atlas[a]=e.fontAtlas[i]={fontString:a,step:2*Math.ceil(e.fontSize[i]*o.bottom*.5),em:e.fontSize[i],cols:0,rows:0,height:0,width:0,chars:[],ids:{},texture:e.regl.texture()}}null==t.text&&(t.text=e.text)})),"string"==typeof t.text&&t.position&&t.position.length>2){for(var s=Array(.5*t.position.length),h=0;h<s.length;h++)s[h]=t.text;t.text=s}if(null!=t.text||a){if(this.textOffsets=[0],Array.isArray(t.text)){this.count=t.text[0].length,this.counts=[this.count];for(var b=1;b<t.text.length;b++)this.textOffsets[b]=this.textOffsets[b-1]+t.text[b-1].length,this.count+=t.text[b].length,this.counts.push(t.text[b].length);this.text=t.text.join("")}else this.text=t.text,this.count=this.text.length,this.counts=[this.count];r=[],this.font.forEach((function(t,n){T.atlasContext.font=t.baseString;for(var i=e.fontAtlas[n],a=0;a<e.text.length;a++){var o=e.text.charAt(a);if(null==i.ids[o]&&(i.ids[o]=i.chars.length,i.chars.push(o),r.push(o)),null==t.width[o]&&(t.width[o]=T.atlasContext.measureText(o).width/T.baseFontSize,e.kerning)){var s=[];for(var l in t.width)s.push(l+o,o+l);m(t.kerning,g(t.family,{pairs:s}))}}}))}if(t.position)if(t.position.length>2){for(var w=!t.position[0].length,k=u.mallocFloat(2*this.count),M=0,A=0;M<this.counts.length;M++){var S=this.counts[M];if(w)for(var E=0;E<S;E++)k[A++]=t.position[2*M],k[A++]=t.position[2*M+1];else for(var C=0;C<S;C++)k[A++]=t.position[M][0],k[A++]=t.position[M][1]}this.position.call?this.position({type:"float",data:k}):this.position=this.regl.buffer({type:"float",data:k}),u.freeFloat(k)}else this.position.destroy&&this.position.destroy(),this.position={constant:t.position};if(t.text||a){var L=u.mallocUint8(this.count),I=u.mallocFloat(2*this.count);this.textWidth=[];for(var P=0,z=0;P<this.counts.length;P++){for(var O=this.counts[P],D=this.font[P]||this.font[0],R=this.fontAtlas[P]||this.fontAtlas[0],F=0;F<O;F++){var B=this.text.charAt(z),N=this.text.charAt(z-1);if(L[z]=R.ids[B],I[2*z]=D.width[B],F){var j=I[2*z-2],U=I[2*z],V=I[2*z-1]+.5*j+.5*U;if(this.kerning){var q=D.kerning[N+B];q&&(V+=.001*q)}I[2*z+1]=V}else I[2*z+1]=.5*I[2*z];z++}this.textWidth.push(I.length?.5*I[2*z-2]+I[2*z-1]:0)}t.align||(t.align=this.align),this.charBuffer({data:L,type:"uint8",usage:"stream"}),this.sizeBuffer({data:I,type:"float",usage:"stream"}),u.freeUint8(L),u.freeFloat(I),r.length&&this.font.forEach((function(t,r){var n=e.fontAtlas[r],i=n.step,a=Math.floor(T.maxAtlasSize/i),o=Math.min(a,n.chars.length),s=Math.ceil(n.chars.length/o),l=x(o*i),u=x(s*i);n.width=l,n.height=u,n.rows=s,n.cols=o,n.em&&n.texture({data:c({canvas:T.atlasCanvas,font:n.fontString,chars:n.chars,shape:[l,u],step:[i,i]})})}))}if(t.align&&(this.align=t.align,this.alignOffset=this.textWidth.map((function(t,r){var n=Array.isArray(e.align)?e.align.length>1?e.align[r]:e.align[0]:e.align;if("number"==typeof n)return n;switch(n){case"right":case"end":return-t;case"center":case"centre":case"middle":return.5*-t}return 0}))),null==this.baseline&&null==t.baseline&&(t.baseline=0),null!=t.baseline&&(this.baseline=t.baseline,Array.isArray(this.baseline)||(this.baseline=[this.baseline]),this.baselineOffset=this.baseline.map((function(t,r){var n=(e.font[r]||e.font[0]).metrics,i=0;return i+=.5*n.bottom,i+="number"==typeof t?t-n.baseline:-n[t],T.normalViewport||(i*=-1),i}))),null!=t.color)if(t.color||(t.color="transparent"),"string"!=typeof t.color&&isNaN(t.color)){var H;if("number"==typeof t.color[0]&&t.color.length>this.counts.length){var G=t.color.length;H=u.mallocUint8(G);for(var Y=(t.color.subarray||t.color.slice).bind(t.color),W=0;W<G;W+=4)H.set(l(Y(W,W+4),"uint8"),W)}else{var X=t.color.length;H=u.mallocUint8(4*X);for(var Z=0;Z<X;Z++)H.set(l(t.color[Z]||0,"uint8"),4*Z)}this.color=H}else this.color=l(t.color,"uint8");if(t.position||t.text||t.color||t.baseline||t.align||t.font||t.offset||t.opacity)if(this.color.length>4||this.baselineOffset.length>1||this.align&&this.align.length>1||this.fontAtlas.length>1||this.positionOffset.length>2){var J=Math.max(.5*this.position.length||0,.25*this.color.length||0,this.baselineOffset.length||0,this.alignOffset.length||0,this.font.length||0,this.opacity.length||0,.5*this.positionOffset.length||0);this.batch=Array(J);for(var K=0;K<this.batch.length;K++)this.batch[K]={count:this.counts.length>1?this.counts[K]:this.counts[0],offset:this.textOffsets.length>1?this.textOffsets[K]:this.textOffsets[0],color:this.color?this.color.length<=4?this.color:this.color.subarray(4*K,4*K+4):[0,0,0,255],opacity:Array.isArray(this.opacity)?this.opacity[K]:this.opacity,baseline:null!=this.baselineOffset[K]?this.baselineOffset[K]:this.baselineOffset[0],align:this.align?null!=this.alignOffset[K]?this.alignOffset[K]:this.alignOffset[0]:0,atlas:this.fontAtlas[K]||this.fontAtlas[0],positionOffset:this.positionOffset.length>2?this.positionOffset.subarray(2*K,2*K+2):this.positionOffset}}else this.count?this.batch=[{count:this.count,offset:0,color:this.color||[0,0,0,255],opacity:Array.isArray(this.opacity)?this.opacity[0]:this.opacity,baseline:this.baselineOffset[0],align:this.alignOffset?this.alignOffset[0]:0,atlas:this.fontAtlas[0],positionOffset:this.positionOffset}]:this.batch=[]},T.prototype.destroy=function(){},T.prototype.kerning=!0,T.prototype.position={constant:new Float32Array(2)},T.prototype.translate=null,T.prototype.scale=null,T.prototype.font=null,T.prototype.text="",T.prototype.positionOffset=[0,0],T.prototype.opacity=1,T.prototype.color=new Uint8Array([0,0,0,255]),T.prototype.alignOffset=[0,0],T.normalViewport=!1,T.maxAtlasSize=1024,T.atlasCanvas=document.createElement("canvas"),T.atlasContext=T.atlasCanvas.getContext("2d",{alpha:!1}),T.baseFontSize=64,T.fonts={},e.exports=T},{"bit-twiddle":97,"color-normalize":125,"css-font":144,"detect-kerning":172,"es6-weak-map":233,"flatten-vertex-data":244,"font-atlas":245,"font-measure":246,"gl-util/context":354,"is-plain-obj":469,"object-assign":499,"parse-rect":504,"parse-unit":506,"pick-by-alias":511,regl:540,"to-px":578,"typedarray-pool":595}],353:[function(t,e,r){"use strict";var n=t("ndarray"),i=t("ndarray-ops"),a=t("typedarray-pool");e.exports=function(t){if(arguments.length<=1)throw new Error("gl-texture2d: Missing arguments for texture2d constructor");o||c(t);if("number"==typeof arguments[1])return v(t,arguments[1],arguments[2],arguments[3]||t.RGBA,arguments[4]||t.UNSIGNED_BYTE);if(Array.isArray(arguments[1]))return v(t,0|arguments[1][0],0|arguments[1][1],arguments[2]||t.RGBA,arguments[3]||t.UNSIGNED_BYTE);if("object"==typeof arguments[1]){var e=arguments[1],r=u(e)?e:e.raw;if(r)return y(t,r,0|e.width,0|e.height,arguments[2]||t.RGBA,arguments[3]||t.UNSIGNED_BYTE);if(e.shape&&e.data&&e.stride)return x(t,e)}throw new Error("gl-texture2d: Invalid arguments for texture2d constructor")};var o=null,s=null,l=null;function c(t){o=[t.LINEAR,t.NEAREST_MIPMAP_LINEAR,t.LINEAR_MIPMAP_NEAREST,t.LINEAR_MIPMAP_NEAREST],s=[t.NEAREST,t.LINEAR,t.NEAREST_MIPMAP_NEAREST,t.NEAREST_MIPMAP_LINEAR,t.LINEAR_MIPMAP_NEAREST,t.LINEAR_MIPMAP_LINEAR],l=[t.REPEAT,t.CLAMP_TO_EDGE,t.MIRRORED_REPEAT]}function u(t){return"undefined"!=typeof HTMLCanvasElement&&t instanceof HTMLCanvasElement||"undefined"!=typeof HTMLImageElement&&t instanceof HTMLImageElement||"undefined"!=typeof HTMLVideoElement&&t instanceof HTMLVideoElement||"undefined"!=typeof ImageData&&t instanceof ImageData}var f=function(t,e){i.muls(t,e,255)};function h(t,e,r){var n=t.gl,i=n.getParameter(n.MAX_TEXTURE_SIZE);if(e<0||e>i||r<0||r>i)throw new Error("gl-texture2d: Invalid texture size");return t._shape=[e,r],t.bind(),n.texImage2D(n.TEXTURE_2D,0,t.format,e,r,0,t.format,t.type,null),t._mipLevels=[0],t}function p(t,e,r,n,i,a){this.gl=t,this.handle=e,this.format=i,this.type=a,this._shape=[r,n],this._mipLevels=[0],this._magFilter=t.NEAREST,this._minFilter=t.NEAREST,this._wrapS=t.CLAMP_TO_EDGE,this._wrapT=t.CLAMP_TO_EDGE,this._anisoSamples=1;var o=this,s=[this._wrapS,this._wrapT];Object.defineProperties(s,[{get:function(){return o._wrapS},set:function(t){return o.wrapS=t}},{get:function(){return o._wrapT},set:function(t){return o.wrapT=t}}]),this._wrapVector=s;var l=[this._shape[0],this._shape[1]];Object.defineProperties(l,[{get:function(){return o._shape[0]},set:function(t){return o.width=t}},{get:function(){return o._shape[1]},set:function(t){return o.height=t}}]),this._shapeVector=l}var d=p.prototype;function g(t,e){return 3===t.length?1===e[2]&&e[1]===t[0]*t[2]&&e[0]===t[2]:1===e[0]&&e[1]===t[0]}function m(t){var e=t.createTexture();return t.bindTexture(t.TEXTURE_2D,e),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),e}function v(t,e,r,n,i){var a=t.getParameter(t.MAX_TEXTURE_SIZE);if(e<0||e>a||r<0||r>a)throw new Error("gl-texture2d: Invalid texture shape");if(i===t.FLOAT&&!t.getExtension("OES_texture_float"))throw new Error("gl-texture2d: Floating point textures not supported on this platform");var o=m(t);return t.texImage2D(t.TEXTURE_2D,0,n,e,r,0,n,i,null),new p(t,o,e,r,n,i)}function y(t,e,r,n,i,a){var o=m(t);return t.texImage2D(t.TEXTURE_2D,0,i,i,a,e),new p(t,o,r,n,i,a)}function x(t,e){var r=e.dtype,o=e.shape.slice(),s=t.getParameter(t.MAX_TEXTURE_SIZE);if(o[0]<0||o[0]>s||o[1]<0||o[1]>s)throw new Error("gl-texture2d: Invalid texture size");var l=g(o,e.stride.slice()),c=0;"float32"===r?c=t.FLOAT:"float64"===r?(c=t.FLOAT,l=!1,r="float32"):"uint8"===r?c=t.UNSIGNED_BYTE:(c=t.UNSIGNED_BYTE,l=!1,r="uint8");var u,h,d=0;if(2===o.length)d=t.LUMINANCE,o=[o[0],o[1],1],e=n(e.data,o,[e.stride[0],e.stride[1],1],e.offset);else{if(3!==o.length)throw new Error("gl-texture2d: Invalid shape for texture");if(1===o[2])d=t.ALPHA;else if(2===o[2])d=t.LUMINANCE_ALPHA;else if(3===o[2])d=t.RGB;else{if(4!==o[2])throw new Error("gl-texture2d: Invalid shape for pixel coords");d=t.RGBA}}c!==t.FLOAT||t.getExtension("OES_texture_float")||(c=t.UNSIGNED_BYTE,l=!1);var v=e.size;if(l)u=0===e.offset&&e.data.length===v?e.data:e.data.subarray(e.offset,e.offset+v);else{var y=[o[2],o[2]*o[0],1];h=a.malloc(v,r);var x=n(h,o,y,0);"float32"!==r&&"float64"!==r||c!==t.UNSIGNED_BYTE?i.assign(x,e):f(x,e),u=h.subarray(0,v)}var b=m(t);return t.texImage2D(t.TEXTURE_2D,0,d,o[0],o[1],0,d,c,u),l||a.free(h),new p(t,b,o[0],o[1],d,c)}Object.defineProperties(d,{minFilter:{get:function(){return this._minFilter},set:function(t){this.bind();var e=this.gl;if(this.type===e.FLOAT&&o.indexOf(t)>=0&&(e.getExtension("OES_texture_float_linear")||(t=e.NEAREST)),s.indexOf(t)<0)throw new Error("gl-texture2d: Unknown filter mode "+t);return e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,t),this._minFilter=t}},magFilter:{get:function(){return this._magFilter},set:function(t){this.bind();var e=this.gl;if(this.type===e.FLOAT&&o.indexOf(t)>=0&&(e.getExtension("OES_texture_float_linear")||(t=e.NEAREST)),s.indexOf(t)<0)throw new Error("gl-texture2d: Unknown filter mode "+t);return e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,t),this._magFilter=t}},mipSamples:{get:function(){return this._anisoSamples},set:function(t){var e=this._anisoSamples;if(this._anisoSamples=0|Math.max(t,1),e!==this._anisoSamples){var r=this.gl.getExtension("EXT_texture_filter_anisotropic");r&&this.gl.texParameterf(this.gl.TEXTURE_2D,r.TEXTURE_MAX_ANISOTROPY_EXT,this._anisoSamples)}return this._anisoSamples}},wrapS:{get:function(){return this._wrapS},set:function(t){if(this.bind(),l.indexOf(t)<0)throw new Error("gl-texture2d: Unknown wrap mode "+t);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_S,t),this._wrapS=t}},wrapT:{get:function(){return this._wrapT},set:function(t){if(this.bind(),l.indexOf(t)<0)throw new Error("gl-texture2d: Unknown wrap mode "+t);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_T,t),this._wrapT=t}},wrap:{get:function(){return this._wrapVector},set:function(t){if(Array.isArray(t)||(t=[t,t]),2!==t.length)throw new Error("gl-texture2d: Must specify wrap mode for rows and columns");for(var e=0;e<2;++e)if(l.indexOf(t[e])<0)throw new Error("gl-texture2d: Unknown wrap mode "+t);this._wrapS=t[0],this._wrapT=t[1];var r=this.gl;return this.bind(),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,this._wrapS),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,this._wrapT),t}},shape:{get:function(){return this._shapeVector},set:function(t){if(Array.isArray(t)){if(2!==t.length)throw new Error("gl-texture2d: Invalid texture shape")}else t=[0|t,0|t];return h(this,0|t[0],0|t[1]),[0|t[0],0|t[1]]}},width:{get:function(){return this._shape[0]},set:function(t){return h(this,t|=0,this._shape[1]),t}},height:{get:function(){return this._shape[1]},set:function(t){return t|=0,h(this,this._shape[0],t),t}}}),d.bind=function(t){var e=this.gl;return void 0!==t&&e.activeTexture(e.TEXTURE0+(0|t)),e.bindTexture(e.TEXTURE_2D,this.handle),void 0!==t?0|t:e.getParameter(e.ACTIVE_TEXTURE)-e.TEXTURE0},d.dispose=function(){this.gl.deleteTexture(this.handle)},d.generateMipmap=function(){this.bind(),this.gl.generateMipmap(this.gl.TEXTURE_2D);for(var t=Math.min(this._shape[0],this._shape[1]),e=0;t>0;++e,t>>>=1)this._mipLevels.indexOf(e)<0&&this._mipLevels.push(e)},d.setPixels=function(t,e,r,o){var s=this.gl;this.bind(),Array.isArray(e)?(o=r,r=0|e[1],e=0|e[0]):(e=e||0,r=r||0),o=o||0;var l=u(t)?t:t.raw;if(l){this._mipLevels.indexOf(o)<0?(s.texImage2D(s.TEXTURE_2D,0,this.format,this.format,this.type,l),this._mipLevels.push(o)):s.texSubImage2D(s.TEXTURE_2D,o,e,r,this.format,this.type,l)}else{if(!(t.shape&&t.stride&&t.data))throw new Error("gl-texture2d: Unsupported data type");if(t.shape.length<2||e+t.shape[1]>this._shape[1]>>>o||r+t.shape[0]>this._shape[0]>>>o||e<0||r<0)throw new Error("gl-texture2d: Texture dimensions are out of bounds");!function(t,e,r,o,s,l,c,u){var h=u.dtype,p=u.shape.slice();if(p.length<2||p.length>3)throw new Error("gl-texture2d: Invalid ndarray, must be 2d or 3d");var d=0,m=0,v=g(p,u.stride.slice());"float32"===h?d=t.FLOAT:"float64"===h?(d=t.FLOAT,v=!1,h="float32"):"uint8"===h?d=t.UNSIGNED_BYTE:(d=t.UNSIGNED_BYTE,v=!1,h="uint8");if(2===p.length)m=t.LUMINANCE,p=[p[0],p[1],1],u=n(u.data,p,[u.stride[0],u.stride[1],1],u.offset);else{if(3!==p.length)throw new Error("gl-texture2d: Invalid shape for texture");if(1===p[2])m=t.ALPHA;else if(2===p[2])m=t.LUMINANCE_ALPHA;else if(3===p[2])m=t.RGB;else{if(4!==p[2])throw new Error("gl-texture2d: Invalid shape for pixel coords");m=t.RGBA}p[2]}m!==t.LUMINANCE&&m!==t.ALPHA||s!==t.LUMINANCE&&s!==t.ALPHA||(m=s);if(m!==s)throw new Error("gl-texture2d: Incompatible texture format for setPixels");var y=u.size,x=c.indexOf(o)<0;x&&c.push(o);if(d===l&&v)0===u.offset&&u.data.length===y?x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,u.data):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,u.data):x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,u.data.subarray(u.offset,u.offset+y)):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,u.data.subarray(u.offset,u.offset+y));else{var b;b=l===t.FLOAT?a.mallocFloat32(y):a.mallocUint8(y);var _=n(b,p,[p[2],p[2]*p[0],1]);d===t.FLOAT&&l===t.UNSIGNED_BYTE?f(_,u):i.assign(_,u),x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,b.subarray(0,y)):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,b.subarray(0,y)),l===t.FLOAT?a.freeFloat32(b):a.freeUint8(b)}}(s,e,r,o,this.format,this.type,this._mipLevels,t)}}},{ndarray:495,"ndarray-ops":490,"typedarray-pool":595}],354:[function(t,e,r){(function(r){(function(){"use strict";var n=t("pick-by-alias");function i(t){if(t.container)if(t.container==document.body)document.body.style.width||(t.canvas.width=t.width||t.pixelRatio*r.innerWidth),document.body.style.height||(t.canvas.height=t.height||t.pixelRatio*r.innerHeight);else{var e=t.container.getBoundingClientRect();t.canvas.width=t.width||e.right-e.left,t.canvas.height=t.height||e.bottom-e.top}}function a(t){return"function"==typeof t.getContext&&"width"in t&&"height"in t}function o(){var t=document.createElement("canvas");return t.style.position="absolute",t.style.top=0,t.style.left=0,t}e.exports=function(t){var e;if(t?"string"==typeof t&&(t={container:t}):t={},a(t)?t={container:t}:t="string"==typeof(e=t).nodeName&&"function"==typeof e.appendChild&&"function"==typeof e.getBoundingClientRect?{container:t}:function(t){return"function"==typeof t.drawArrays||"function"==typeof t.drawElements}(t)?{gl:t}:n(t,{container:"container target element el canvas holder parent parentNode wrapper use ref root node",gl:"gl context webgl glContext",attrs:"attributes attrs contextAttributes",pixelRatio:"pixelRatio pxRatio px ratio pxratio pixelratio",width:"w width",height:"h height"},!0),t.pixelRatio||(t.pixelRatio=r.pixelRatio||1),t.gl)return t.gl;if(t.canvas&&(t.container=t.canvas.parentNode),t.container){if("string"==typeof t.container){var s=document.querySelector(t.container);if(!s)throw Error("Element "+t.container+" is not found");t.container=s}a(t.container)?(t.canvas=t.container,t.container=t.canvas.parentNode):t.canvas||(t.canvas=o(),t.container.appendChild(t.canvas),i(t))}else if(!t.canvas){if("undefined"==typeof document)throw Error("Not DOM environment. Use headless-gl.");t.container=document.body||document.documentElement,t.canvas=o(),t.container.appendChild(t.canvas),i(t)}if(!t.gl)try{t.gl=t.canvas.getContext("webgl",t.attrs)}catch(e){try{t.gl=t.canvas.getContext("experimental-webgl",t.attrs)}catch(e){t.gl=t.canvas.getContext("webgl-experimental",t.attrs)}}return t.gl}}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"pick-by-alias":511}],355:[function(t,e,r){"use strict";e.exports=function(t,e,r){e?e.bind():t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,null);var n=0|t.getParameter(t.MAX_VERTEX_ATTRIBS);if(r){if(r.length>n)throw new Error("gl-vao: Too many vertex attributes");for(var i=0;i<r.length;++i){var a=r[i];if(a.buffer){var o=a.buffer,s=a.size||4,l=a.type||t.FLOAT,c=!!a.normalized,u=a.stride||0,f=a.offset||0;o.bind(),t.enableVertexAttribArray(i),t.vertexAttribPointer(i,s,l,c,u,f)}else{if("number"==typeof a)t.vertexAttrib1f(i,a);else if(1===a.length)t.vertexAttrib1f(i,a[0]);else if(2===a.length)t.vertexAttrib2f(i,a[0],a[1]);else if(3===a.length)t.vertexAttrib3f(i,a[0],a[1],a[2]);else{if(4!==a.length)throw new Error("gl-vao: Invalid vertex attribute");t.vertexAttrib4f(i,a[0],a[1],a[2],a[3])}t.disableVertexAttribArray(i)}}for(;i<n;++i)t.disableVertexAttribArray(i)}else{t.bindBuffer(t.ARRAY_BUFFER,null);for(i=0;i<n;++i)t.disableVertexAttribArray(i)}}},{}],356:[function(t,e,r){"use strict";var n=t("./do-bind.js");function i(t){this.gl=t,this._elements=null,this._attributes=null,this._elementsType=t.UNSIGNED_SHORT}i.prototype.bind=function(){n(this.gl,this._elements,this._attributes)},i.prototype.update=function(t,e,r){this._elements=e,this._attributes=t,this._elementsType=r||this.gl.UNSIGNED_SHORT},i.prototype.dispose=function(){},i.prototype.unbind=function(){},i.prototype.draw=function(t,e,r){r=r||0;var n=this.gl;this._elements?n.drawElements(t,e,this._elementsType,r):n.drawArrays(t,r,e)},e.exports=function(t){return new i(t)}},{"./do-bind.js":355}],357:[function(t,e,r){"use strict";var n=t("./do-bind.js");function i(t,e,r,n,i,a){this.location=t,this.dimension=e,this.a=r,this.b=n,this.c=i,this.d=a}function a(t,e,r){this.gl=t,this._ext=e,this.handle=r,this._attribs=[],this._useElements=!1,this._elementsType=t.UNSIGNED_SHORT}i.prototype.bind=function(t){switch(this.dimension){case 1:t.vertexAttrib1f(this.location,this.a);break;case 2:t.vertexAttrib2f(this.location,this.a,this.b);break;case 3:t.vertexAttrib3f(this.location,this.a,this.b,this.c);break;case 4:t.vertexAttrib4f(this.location,this.a,this.b,this.c,this.d)}},a.prototype.bind=function(){this._ext.bindVertexArrayOES(this.handle);for(var t=0;t<this._attribs.length;++t)this._attribs[t].bind(this.gl)},a.prototype.unbind=function(){this._ext.bindVertexArrayOES(null)},a.prototype.dispose=function(){this._ext.deleteVertexArrayOES(this.handle)},a.prototype.update=function(t,e,r){if(this.bind(),n(this.gl,e,t),this.unbind(),this._attribs.length=0,t)for(var a=0;a<t.length;++a){var o=t[a];"number"==typeof o?this._attribs.push(new i(a,1,o)):Array.isArray(o)&&this._attribs.push(new i(a,o.length,o[0],o[1],o[2],o[3]))}this._useElements=!!e,this._elementsType=r||this.gl.UNSIGNED_SHORT},a.prototype.draw=function(t,e,r){r=r||0;var n=this.gl;this._useElements?n.drawElements(t,e,this._elementsType,r):n.drawArrays(t,r,e)},e.exports=function(t,e){return new a(t,e,e.createVertexArrayOES())}},{"./do-bind.js":355}],358:[function(t,e,r){"use strict";var n=t("./lib/vao-native.js"),i=t("./lib/vao-emulated.js");function a(t){this.bindVertexArrayOES=t.bindVertexArray.bind(t),this.createVertexArrayOES=t.createVertexArray.bind(t),this.deleteVertexArrayOES=t.deleteVertexArray.bind(t)}e.exports=function(t,e,r,o){var s,l=t.createVertexArray?new a(t):t.getExtension("OES_vertex_array_object");return(s=l?n(t,l):i(t)).update(e,r,o),s}},{"./lib/vao-emulated.js":356,"./lib/vao-native.js":357}],359:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t}},{}],360:[function(t,e,r){e.exports=function(t,e){var r=n(t[0],t[1],t[2]),o=n(e[0],e[1],e[2]);i(r,r),i(o,o);var s=a(r,o);return s>1?0:Math.acos(s)};var n=t("./fromValues"),i=t("./normalize"),a=t("./dot")},{"./dot":370,"./fromValues":376,"./normalize":387}],361:[function(t,e,r){e.exports=function(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t[2]=Math.ceil(e[2]),t}},{}],362:[function(t,e,r){e.exports=function(t){var e=new Float32Array(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}},{}],363:[function(t,e,r){e.exports=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}},{}],364:[function(t,e,r){e.exports=function(){var t=new Float32Array(3);return t[0]=0,t[1]=0,t[2]=0,t}},{}],365:[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}},{}],366:[function(t,e,r){e.exports=t("./distance")},{"./distance":367}],367:[function(t,e,r){e.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2];return Math.sqrt(r*r+n*n+i*i)}},{}],368:[function(t,e,r){e.exports=t("./divide")},{"./divide":369}],369:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t[2]=e[2]/r[2],t}},{}],370:[function(t,e,r){e.exports=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}},{}],371:[function(t,e,r){e.exports=1e-6},{}],372:[function(t,e,r){e.exports=function(t,e){var r=t[0],i=t[1],a=t[2],o=e[0],s=e[1],l=e[2];return Math.abs(r-o)<=n*Math.max(1,Math.abs(r),Math.abs(o))&&Math.abs(i-s)<=n*Math.max(1,Math.abs(i),Math.abs(s))&&Math.abs(a-l)<=n*Math.max(1,Math.abs(a),Math.abs(l))};var n=t("./epsilon")},{"./epsilon":371}],373:[function(t,e,r){e.exports=function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]}},{}],374:[function(t,e,r){e.exports=function(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t[2]=Math.floor(e[2]),t}},{}],375:[function(t,e,r){e.exports=function(t,e,r,i,a,o){var s,l;e||(e=3);r||(r=0);l=i?Math.min(i*e+r,t.length):t.length;for(s=r;s<l;s+=e)n[0]=t[s],n[1]=t[s+1],n[2]=t[s+2],a(n,n,o),t[s]=n[0],t[s+1]=n[1],t[s+2]=n[2];return t};var n=t("./create")()},{"./create":364}],376:[function(t,e,r){e.exports=function(t,e,r){var n=new Float32Array(3);return n[0]=t,n[1]=e,n[2]=r,n}},{}],377:[function(t,e,r){e.exports={EPSILON:t("./epsilon"),create:t("./create"),clone:t("./clone"),angle:t("./angle"),fromValues:t("./fromValues"),copy:t("./copy"),set:t("./set"),equals:t("./equals"),exactEquals:t("./exactEquals"),add:t("./add"),subtract:t("./subtract"),sub:t("./sub"),multiply:t("./multiply"),mul:t("./mul"),divide:t("./divide"),div:t("./div"),min:t("./min"),max:t("./max"),floor:t("./floor"),ceil:t("./ceil"),round:t("./round"),scale:t("./scale"),scaleAndAdd:t("./scaleAndAdd"),distance:t("./distance"),dist:t("./dist"),squaredDistance:t("./squaredDistance"),sqrDist:t("./sqrDist"),length:t("./length"),len:t("./len"),squaredLength:t("./squaredLength"),sqrLen:t("./sqrLen"),negate:t("./negate"),inverse:t("./inverse"),normalize:t("./normalize"),dot:t("./dot"),cross:t("./cross"),lerp:t("./lerp"),random:t("./random"),transformMat4:t("./transformMat4"),transformMat3:t("./transformMat3"),transformQuat:t("./transformQuat"),rotateX:t("./rotateX"),rotateY:t("./rotateY"),rotateZ:t("./rotateZ"),forEach:t("./forEach")}},{"./add":359,"./angle":360,"./ceil":361,"./clone":362,"./copy":363,"./create":364,"./cross":365,"./dist":366,"./distance":367,"./div":368,"./divide":369,"./dot":370,"./epsilon":371,"./equals":372,"./exactEquals":373,"./floor":374,"./forEach":375,"./fromValues":376,"./inverse":378,"./len":379,"./length":380,"./lerp":381,"./max":382,"./min":383,"./mul":384,"./multiply":385,"./negate":386,"./normalize":387,"./random":388,"./rotateX":389,"./rotateY":390,"./rotateZ":391,"./round":392,"./scale":393,"./scaleAndAdd":394,"./set":395,"./sqrDist":396,"./sqrLen":397,"./squaredDistance":398,"./squaredLength":399,"./sub":400,"./subtract":401,"./transformMat3":402,"./transformMat4":403,"./transformQuat":404}],378:[function(t,e,r){e.exports=function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t}},{}],379:[function(t,e,r){e.exports=t("./length")},{"./length":380}],380:[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)}},{}],381:[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}},{}],382:[function(t,e,r){e.exports=function(t,e,r){return t[0]=Math.max(e[0],r[0]),t[1]=Math.max(e[1],r[1]),t[2]=Math.max(e[2],r[2]),t}},{}],383:[function(t,e,r){e.exports=function(t,e,r){return t[0]=Math.min(e[0],r[0]),t[1]=Math.min(e[1],r[1]),t[2]=Math.min(e[2],r[2]),t}},{}],384:[function(t,e,r){e.exports=t("./multiply")},{"./multiply":385}],385:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t[2]=e[2]*r[2],t}},{}],386:[function(t,e,r){e.exports=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t}},{}],387:[function(t,e,r){e.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=r*r+n*n+i*i;a>0&&(a=1/Math.sqrt(a),t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a);return t}},{}],388:[function(t,e,r){e.exports=function(t,e){e=e||1;var r=2*Math.random()*Math.PI,n=2*Math.random()-1,i=Math.sqrt(1-n*n)*e;return t[0]=Math.cos(r)*i,t[1]=Math.sin(r)*i,t[2]=n*e,t}},{}],389:[function(t,e,r){e.exports=function(t,e,r,n){var i=r[1],a=r[2],o=e[1]-i,s=e[2]-a,l=Math.sin(n),c=Math.cos(n);return t[0]=e[0],t[1]=i+o*c-s*l,t[2]=a+o*l+s*c,t}},{}],390:[function(t,e,r){e.exports=function(t,e,r,n){var i=r[0],a=r[2],o=e[0]-i,s=e[2]-a,l=Math.sin(n),c=Math.cos(n);return t[0]=i+s*l+o*c,t[1]=e[1],t[2]=a+s*c-o*l,t}},{}],391:[function(t,e,r){e.exports=function(t,e,r,n){var i=r[0],a=r[1],o=e[0]-i,s=e[1]-a,l=Math.sin(n),c=Math.cos(n);return t[0]=i+o*c-s*l,t[1]=a+o*l+s*c,t[2]=e[2],t}},{}],392:[function(t,e,r){e.exports=function(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t[2]=Math.round(e[2]),t}},{}],393:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t}},{}],394:[function(t,e,r){e.exports=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t}},{}],395:[function(t,e,r){e.exports=function(t,e,r,n){return t[0]=e,t[1]=r,t[2]=n,t}},{}],396:[function(t,e,r){e.exports=t("./squaredDistance")},{"./squaredDistance":398}],397:[function(t,e,r){e.exports=t("./squaredLength")},{"./squaredLength":399}],398:[function(t,e,r){e.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2];return r*r+n*n+i*i}},{}],399:[function(t,e,r){e.exports=function(t){var e=t[0],r=t[1],n=t[2];return e*e+r*r+n*n}},{}],400:[function(t,e,r){e.exports=t("./subtract")},{"./subtract":401}],401:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t}},{}],402:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2];return t[0]=n*r[0]+i*r[3]+a*r[6],t[1]=n*r[1]+i*r[4]+a*r[7],t[2]=n*r[2]+i*r[5]+a*r[8],t}},{}],403:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[3]*n+r[7]*i+r[11]*a+r[15];return o=o||1,t[0]=(r[0]*n+r[4]*i+r[8]*a+r[12])/o,t[1]=(r[1]*n+r[5]*i+r[9]*a+r[13])/o,t[2]=(r[2]*n+r[6]*i+r[10]*a+r[14])/o,t}},{}],404:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2],c=r[3],u=c*n+s*a-l*i,f=c*i+l*n-o*a,h=c*a+o*i-s*n,p=-o*n-s*i-l*a;return t[0]=u*c+p*-o+f*-l-h*-s,t[1]=f*c+p*-s+h*-o-u*-l,t[2]=h*c+p*-l+u*-s-f*-o,t}},{}],405:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t[3]=e[3]+r[3],t}},{}],406:[function(t,e,r){e.exports=function(t){var e=new Float32Array(4);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e}},{}],407:[function(t,e,r){e.exports=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t}},{}],408:[function(t,e,r){e.exports=function(){var t=new Float32Array(4);return t[0]=0,t[1]=0,t[2]=0,t[3]=0,t}},{}],409:[function(t,e,r){e.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2],a=e[3]-t[3];return Math.sqrt(r*r+n*n+i*i+a*a)}},{}],410:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t[2]=e[2]/r[2],t[3]=e[3]/r[3],t}},{}],411:[function(t,e,r){e.exports=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]}},{}],412:[function(t,e,r){e.exports=function(t,e,r,n){var i=new Float32Array(4);return i[0]=t,i[1]=e,i[2]=r,i[3]=n,i}},{}],413:[function(t,e,r){e.exports={create:t("./create"),clone:t("./clone"),fromValues:t("./fromValues"),copy:t("./copy"),set:t("./set"),add:t("./add"),subtract:t("./subtract"),multiply:t("./multiply"),divide:t("./divide"),min:t("./min"),max:t("./max"),scale:t("./scale"),scaleAndAdd:t("./scaleAndAdd"),distance:t("./distance"),squaredDistance:t("./squaredDistance"),length:t("./length"),squaredLength:t("./squaredLength"),negate:t("./negate"),inverse:t("./inverse"),normalize:t("./normalize"),dot:t("./dot"),lerp:t("./lerp"),random:t("./random"),transformMat4:t("./transformMat4"),transformQuat:t("./transformQuat")}},{"./add":405,"./clone":406,"./copy":407,"./create":408,"./distance":409,"./divide":410,"./dot":411,"./fromValues":412,"./inverse":414,"./length":415,"./lerp":416,"./max":417,"./min":418,"./multiply":419,"./negate":420,"./normalize":421,"./random":422,"./scale":423,"./scaleAndAdd":424,"./set":425,"./squaredDistance":426,"./squaredLength":427,"./subtract":428,"./transformMat4":429,"./transformQuat":430}],414:[function(t,e,r){e.exports=function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t[3]=1/e[3],t}},{}],415:[function(t,e,r){e.exports=function(t){var e=t[0],r=t[1],n=t[2],i=t[3];return Math.sqrt(e*e+r*r+n*n+i*i)}},{}],416:[function(t,e,r){e.exports=function(t,e,r,n){var i=e[0],a=e[1],o=e[2],s=e[3];return t[0]=i+n*(r[0]-i),t[1]=a+n*(r[1]-a),t[2]=o+n*(r[2]-o),t[3]=s+n*(r[3]-s),t}},{}],417:[function(t,e,r){e.exports=function(t,e,r){return t[0]=Math.max(e[0],r[0]),t[1]=Math.max(e[1],r[1]),t[2]=Math.max(e[2],r[2]),t[3]=Math.max(e[3],r[3]),t}},{}],418:[function(t,e,r){e.exports=function(t,e,r){return t[0]=Math.min(e[0],r[0]),t[1]=Math.min(e[1],r[1]),t[2]=Math.min(e[2],r[2]),t[3]=Math.min(e[3],r[3]),t}},{}],419:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t[2]=e[2]*r[2],t[3]=e[3]*r[3],t}},{}],420:[function(t,e,r){e.exports=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t}},{}],421:[function(t,e,r){e.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=r*r+n*n+i*i+a*a;o>0&&(o=1/Math.sqrt(o),t[0]=r*o,t[1]=n*o,t[2]=i*o,t[3]=a*o);return t}},{}],422:[function(t,e,r){var n=t("./normalize"),i=t("./scale");e.exports=function(t,e){return e=e||1,t[0]=Math.random(),t[1]=Math.random(),t[2]=Math.random(),t[3]=Math.random(),n(t,t),i(t,t,e),t}},{"./normalize":421,"./scale":423}],423:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t}},{}],424:[function(t,e,r){e.exports=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t[3]=e[3]+r[3]*n,t}},{}],425:[function(t,e,r){e.exports=function(t,e,r,n,i){return t[0]=e,t[1]=r,t[2]=n,t[3]=i,t}},{}],426:[function(t,e,r){e.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2],a=e[3]-t[3];return r*r+n*n+i*i+a*a}},{}],427:[function(t,e,r){e.exports=function(t){var e=t[0],r=t[1],n=t[2],i=t[3];return e*e+r*r+n*n+i*i}},{}],428:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t[3]=e[3]-r[3],t}},{}],429:[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}},{}],430:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2],c=r[3],u=c*n+s*a-l*i,f=c*i+l*n-o*a,h=c*a+o*i-s*n,p=-o*n-s*i-l*a;return t[0]=u*c+p*-o+f*-l-h*-s,t[1]=f*c+p*-s+h*-o-u*-l,t[2]=h*c+p*-l+u*-s-f*-o,t[3]=e[3],t}},{}],431:[function(t,e,r){var n=t("glsl-tokenizer"),i=t("atob-lite");e.exports=function(t){for(var e=Array.isArray(t)?t:n(t),r=0;r<e.length;r++){var a=e[r];if("preprocessor"===a.type){var o=a.data.match(/\#define\s+SHADER_NAME(_B64)?\s+(.+)$/);if(o&&o[2]){var s=o[1],l=o[2];return(s?i(l):l).trim()}}}}},{"atob-lite":77,"glsl-tokenizer":438}],432:[function(t,e,r){e.exports=function(t){var e,r,c,u=0,f=0,h=999,p=[],d=[],g=1,m=0,v=0,y=!1,x=!1,b="",_=a,w=n;"300 es"===(t=t||{}).version&&(_=s,w=o);var T={},k={};for(u=0;u<_.length;u++)T[_[u]]=!0;for(u=0;u<w.length;u++)k[w[u]]=!0;return function(t){return d=[],null!==t?function(t){u=0,t.toString&&(t=t.toString());var r;b+=t.replace(/\r\n/g,"\n"),c=b.length;for(;e=b[u],u<c;){switch(r=u,h){case 0:u=C();break;case 1:case 2:u=E();break;case 3:u=L();break;case 4:u=z();break;case 11:u=P();break;case 5:u=O();break;case 9999:u=D();break;case 9:u=S();break;case 999:u=A()}if(r!==u)switch(b[r]){case"\n":m=0,++g;break;default:++m}}return f+=u,b=b.slice(u),d}(t):function(t){p.length&&M(p.join(""));return h=10,M("(eof)"),d}()};function M(t){t.length&&d.push({type:l[h],data:t,position:v,line:g,column:m})}function A(){return p=p.length?[]:p,"/"===r&&"*"===e?(v=f+u-1,h=0,r=e,u+1):"/"===r&&"/"===e?(v=f+u-1,h=1,r=e,u+1):"#"===e?(h=2,v=f+u,u):/\s/.test(e)?(h=9,v=f+u,u):(y=/\d/.test(e),x=/[^\w_]/.test(e),v=f+u,h=y?4:x?3:9999,u)}function S(){return/[^\s]/g.test(e)?(M(p.join("")),h=999,u):(p.push(e),r=e,u+1)}function E(){return"\r"!==e&&"\n"!==e||"\\"===r?(p.push(e),r=e,u+1):(M(p.join("")),h=999,u)}function C(){return"/"===e&&"*"===r?(p.push(e),M(p.join("")),h=999,u+1):(p.push(e),r=e,u+1)}function L(){if("."===r&&/\d/.test(e))return h=5,u;if("/"===r&&"*"===e)return h=0,u;if("/"===r&&"/"===e)return h=1,u;if("."===e&&p.length){for(;I(p););return h=5,u}if(";"===e||")"===e||"("===e){if(p.length)for(;I(p););return M(e),h=999,u+1}var t=2===p.length&&"="!==e;if(/[\w_\d\s]/.test(e)||t){for(;I(p););return h=999,u}return p.push(e),r=e,u+1}function I(t){for(var e,r,n=0;;){if(e=i.indexOf(t.slice(0,t.length+n).join("")),r=i[e],-1===e){if(n--+t.length>0)continue;r=t.slice(0,1).join("")}return M(r),v+=r.length,(p=p.slice(r.length)).length}}function P(){return/[^a-fA-F0-9]/.test(e)?(M(p.join("")),h=999,u):(p.push(e),r=e,u+1)}function z(){return"."===e||/[eE]/.test(e)?(p.push(e),h=5,r=e,u+1):"x"===e&&1===p.length&&"0"===p[0]?(h=11,p.push(e),r=e,u+1):/[^\d]/.test(e)?(M(p.join("")),h=999,u):(p.push(e),r=e,u+1)}function O(){return"f"===e&&(p.push(e),r=e,u+=1),/[eE]/.test(e)?(p.push(e),r=e,u+1):("-"!==e&&"+"!==e||!/[eE]/.test(r))&&/[^\d]/.test(e)?(M(p.join("")),h=999,u):(p.push(e),r=e,u+1)}function D(){if(/[^\d\w_]/.test(e)){var t=p.join("");return h=k[t]?8:T[t]?7:6,M(p.join("")),h=999,u}return p.push(e),r=e,u+1}};var n=t("./lib/literals"),i=t("./lib/operators"),a=t("./lib/builtins"),o=t("./lib/literals-300es"),s=t("./lib/builtins-300es"),l=["block-comment","line-comment","preprocessor","operator","integer","float","ident","builtin","keyword","whitespace","eof","integer"]},{"./lib/builtins":434,"./lib/builtins-300es":433,"./lib/literals":436,"./lib/literals-300es":435,"./lib/operators":437}],433:[function(t,e,r){var n=t("./builtins");n=n.slice().filter((function(t){return!/^(gl\_|texture)/.test(t)})),e.exports=n.concat(["gl_VertexID","gl_InstanceID","gl_Position","gl_PointSize","gl_FragCoord","gl_FrontFacing","gl_FragDepth","gl_PointCoord","gl_MaxVertexAttribs","gl_MaxVertexUniformVectors","gl_MaxVertexOutputVectors","gl_MaxFragmentInputVectors","gl_MaxVertexTextureImageUnits","gl_MaxCombinedTextureImageUnits","gl_MaxTextureImageUnits","gl_MaxFragmentUniformVectors","gl_MaxDrawBuffers","gl_MinProgramTexelOffset","gl_MaxProgramTexelOffset","gl_DepthRangeParameters","gl_DepthRange","trunc","round","roundEven","isnan","isinf","floatBitsToInt","floatBitsToUint","intBitsToFloat","uintBitsToFloat","packSnorm2x16","unpackSnorm2x16","packUnorm2x16","unpackUnorm2x16","packHalf2x16","unpackHalf2x16","outerProduct","transpose","determinant","inverse","texture","textureSize","textureProj","textureLod","textureOffset","texelFetch","texelFetchOffset","textureProjOffset","textureLodOffset","textureProjLod","textureProjLodOffset","textureGrad","textureGradOffset","textureProjGrad","textureProjGradOffset"])},{"./builtins":434}],434:[function(t,e,r){e.exports=["abs","acos","all","any","asin","atan","ceil","clamp","cos","cross","dFdx","dFdy","degrees","distance","dot","equal","exp","exp2","faceforward","floor","fract","gl_BackColor","gl_BackLightModelProduct","gl_BackLightProduct","gl_BackMaterial","gl_BackSecondaryColor","gl_ClipPlane","gl_ClipVertex","gl_Color","gl_DepthRange","gl_DepthRangeParameters","gl_EyePlaneQ","gl_EyePlaneR","gl_EyePlaneS","gl_EyePlaneT","gl_Fog","gl_FogCoord","gl_FogFragCoord","gl_FogParameters","gl_FragColor","gl_FragCoord","gl_FragData","gl_FragDepth","gl_FragDepthEXT","gl_FrontColor","gl_FrontFacing","gl_FrontLightModelProduct","gl_FrontLightProduct","gl_FrontMaterial","gl_FrontSecondaryColor","gl_LightModel","gl_LightModelParameters","gl_LightModelProducts","gl_LightProducts","gl_LightSource","gl_LightSourceParameters","gl_MaterialParameters","gl_MaxClipPlanes","gl_MaxCombinedTextureImageUnits","gl_MaxDrawBuffers","gl_MaxFragmentUniformComponents","gl_MaxLights","gl_MaxTextureCoords","gl_MaxTextureImageUnits","gl_MaxTextureUnits","gl_MaxVaryingFloats","gl_MaxVertexAttribs","gl_MaxVertexTextureImageUnits","gl_MaxVertexUniformComponents","gl_ModelViewMatrix","gl_ModelViewMatrixInverse","gl_ModelViewMatrixInverseTranspose","gl_ModelViewMatrixTranspose","gl_ModelViewProjectionMatrix","gl_ModelViewProjectionMatrixInverse","gl_ModelViewProjectionMatrixInverseTranspose","gl_ModelViewProjectionMatrixTranspose","gl_MultiTexCoord0","gl_MultiTexCoord1","gl_MultiTexCoord2","gl_MultiTexCoord3","gl_MultiTexCoord4","gl_MultiTexCoord5","gl_MultiTexCoord6","gl_MultiTexCoord7","gl_Normal","gl_NormalMatrix","gl_NormalScale","gl_ObjectPlaneQ","gl_ObjectPlaneR","gl_ObjectPlaneS","gl_ObjectPlaneT","gl_Point","gl_PointCoord","gl_PointParameters","gl_PointSize","gl_Position","gl_ProjectionMatrix","gl_ProjectionMatrixInverse","gl_ProjectionMatrixInverseTranspose","gl_ProjectionMatrixTranspose","gl_SecondaryColor","gl_TexCoord","gl_TextureEnvColor","gl_TextureMatrix","gl_TextureMatrixInverse","gl_TextureMatrixInverseTranspose","gl_TextureMatrixTranspose","gl_Vertex","greaterThan","greaterThanEqual","inversesqrt","length","lessThan","lessThanEqual","log","log2","matrixCompMult","max","min","mix","mod","normalize","not","notEqual","pow","radians","reflect","refract","sign","sin","smoothstep","sqrt","step","tan","texture2D","texture2DLod","texture2DProj","texture2DProjLod","textureCube","textureCubeLod","texture2DLodEXT","texture2DProjLodEXT","textureCubeLodEXT","texture2DGradEXT","texture2DProjGradEXT","textureCubeGradEXT"]},{}],435:[function(t,e,r){var n=t("./literals");e.exports=n.slice().concat(["layout","centroid","smooth","case","mat2x2","mat2x3","mat2x4","mat3x2","mat3x3","mat3x4","mat4x2","mat4x3","mat4x4","uvec2","uvec3","uvec4","samplerCubeShadow","sampler2DArray","sampler2DArrayShadow","isampler2D","isampler3D","isamplerCube","isampler2DArray","usampler2D","usampler3D","usamplerCube","usampler2DArray","coherent","restrict","readonly","writeonly","resource","atomic_uint","noperspective","patch","sample","subroutine","common","partition","active","filter","image1D","image2D","image3D","imageCube","iimage1D","iimage2D","iimage3D","iimageCube","uimage1D","uimage2D","uimage3D","uimageCube","image1DArray","image2DArray","iimage1DArray","iimage2DArray","uimage1DArray","uimage2DArray","image1DShadow","image2DShadow","image1DArrayShadow","image2DArrayShadow","imageBuffer","iimageBuffer","uimageBuffer","sampler1DArray","sampler1DArrayShadow","isampler1D","isampler1DArray","usampler1D","usampler1DArray","isampler2DRect","usampler2DRect","samplerBuffer","isamplerBuffer","usamplerBuffer","sampler2DMS","isampler2DMS","usampler2DMS","sampler2DMSArray","isampler2DMSArray","usampler2DMSArray"])},{"./literals":436}],436:[function(t,e,r){e.exports=["precision","highp","mediump","lowp","attribute","const","uniform","varying","break","continue","do","for","while","if","else","in","out","inout","float","int","uint","void","bool","true","false","discard","return","mat2","mat3","mat4","vec2","vec3","vec4","ivec2","ivec3","ivec4","bvec2","bvec3","bvec4","sampler1D","sampler2D","sampler3D","samplerCube","sampler1DShadow","sampler2DShadow","struct","asm","class","union","enum","typedef","template","this","packed","goto","switch","default","inline","noinline","volatile","public","static","extern","external","interface","long","short","double","half","fixed","unsigned","input","output","hvec2","hvec3","hvec4","dvec2","dvec3","dvec4","fvec2","fvec3","fvec4","sampler2DRect","sampler3DRect","sampler2DRectShadow","sizeof","cast","namespace","using"]},{}],437:[function(t,e,r){e.exports=["<<=",">>=","++","--","<<",">>","<=",">=","==","!=","&&","||","+=","-=","*=","/=","%=","&=","^^","^=","|=","(",")","[","]",".","!","~","*","/","%","+","-","<",">","&","^","|","?",":","=",",",";","{","}"]},{}],438:[function(t,e,r){var n=t("./index");e.exports=function(t,e){var r=n(e),i=[];return i=(i=i.concat(r(t))).concat(r(null))}},{"./index":432}],439:[function(t,e,r){arguments[4][257][0].apply(r,arguments)},{dup:257}],440:[function(t,e,r){(function(r){(function(){"use strict";var n,i=t("is-browser");n="function"==typeof r.matchMedia?!r.matchMedia("(hover: none)").matches:i,e.exports=n}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"is-browser":464}],441:[function(t,e,r){"use strict";var n=t("is-browser");e.exports=n&&function(){var t=!1;try{var e=Object.defineProperty({},"passive",{get:function(){t=!0}});window.addEventListener("test",null,e),window.removeEventListener("test",null,e)}catch(e){t=!1}return t}()},{"is-browser":464}],442:[function(t,e,r){r.read=function(t,e,r,n,i){var a,o,s=8*i-n-1,l=(1<<s)-1,c=l>>1,u=-7,f=r?i-1:0,h=r?-1:1,p=t[e+f];for(f+=h,a=p&(1<<-u)-1,p>>=-u,u+=s;u>0;a=256*a+t[e+f],f+=h,u-=8);for(o=a&(1<<-u)-1,a>>=-u,u+=n;u>0;o=256*o+t[e+f],f+=h,u-=8);if(0===a)a=1-c;else{if(a===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),a-=c}return(p?-1:1)*o*Math.pow(2,a-n)},r.write=function(t,e,r,n,i,a){var o,s,l,c=8*a-i-1,u=(1<<c)-1,f=u>>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-1,d=n?1:-1,g=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,o=u):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),(e+=o+f>=1?h/l:h*Math.pow(2,1-f))*l>=2&&(o++,l/=2),o+f>=u?(s=0,o=u):o+f>=1?(s=(e*l-1)*Math.pow(2,i),o+=f):(s=e*Math.pow(2,f-1)*Math.pow(2,i),o=0));i>=8;t[r+p]=255&s,p+=d,s/=256,i-=8);for(o=o<<i|s,c+=i;c>0;t[r+p]=255&o,p+=d,o/=256,c-=8);t[r+p-d]|=128*g}},{}],443:[function(t,e,r){"use strict";var n=t("./types");e.exports=function(t,e){var r;for(r in n)if(n[r].detect(t,e))return r}},{"./types":446}],444:[function(t,e,r){(function(r){(function(){"use strict";var n=t("fs"),i=t("path"),a=t("./types"),o=t("./detector");function s(t,e){var r=o(t,e);if(r in a){var n=a[r].calculate(t,e);if(!1!==n)return n.type=r,n}throw new TypeError("unsupported file type: "+r+" (file: "+e+")")}e.exports=function(t,e){if(r.isBuffer(t))return s(t);if("string"!=typeof t)throw new TypeError("invalid invocation");var a=i.resolve(t);if("function"!=typeof e)return s(function(t){var e=n.openSync(t,"r"),i=n.fstatSync(e).size,a=Math.min(i,524288),o=r.alloc(a);return n.readSync(e,o,0,a,0),n.closeSync(e),o}(a),a);!function(t,e){n.open(t,"r",(function(i,a){if(i)return e(i);n.fstat(a,(function(i,o){if(i)return e(i);var s=o.size;if(s<=0)return e(new Error("File size is not greater than 0 \u2014\u2014 "+t));var l=Math.min(s,524288),c=r.alloc(l);n.read(a,c,0,l,0,(function(t){if(t)return e(t);n.close(a,(function(t){e(t,c)}))}))}))}))}(a,(function(t,r){if(t)return e(t);var n;try{n=s(r,a)}catch(e){t=e}e(t,n)}))},e.exports.types=Object.keys(a)}).call(this)}).call(this,t("buffer").Buffer)},{"./detector":443,"./types":446,buffer:111,fs:109,path:507}],445:[function(t,e,r){"use strict";e.exports=function(t,e,r,n){return r=r||0,t["readUInt"+e+(n?"BE":"LE")].call(t,r)}},{}],446:[function(t,e,r){"use strict";var n={bmp:t("./types/bmp"),cur:t("./types/cur"),dds:t("./types/dds"),gif:t("./types/gif"),icns:t("./types/icns"),ico:t("./types/ico"),jpg:t("./types/jpg"),png:t("./types/png"),psd:t("./types/psd"),svg:t("./types/svg"),tiff:t("./types/tiff"),webp:t("./types/webp")};e.exports=n},{"./types/bmp":447,"./types/cur":448,"./types/dds":449,"./types/gif":450,"./types/icns":451,"./types/ico":452,"./types/jpg":453,"./types/png":454,"./types/psd":455,"./types/svg":456,"./types/tiff":457,"./types/webp":458}],447:[function(t,e,r){"use strict";e.exports={detect:function(t){return"BM"===t.toString("ascii",0,2)},calculate:function(t){return{width:t.readUInt32LE(18),height:Math.abs(t.readInt32LE(22))}}}},{}],448:[function(t,e,r){"use strict";e.exports={detect:function(t){return 0===t.readUInt16LE(0)&&2===t.readUInt16LE(2)},calculate:t("./ico").calculate}},{"./ico":452}],449:[function(t,e,r){"use strict";e.exports={detect:function(t){return 542327876===t.readUInt32LE(0)},calculate:function(t){return{height:t.readUInt32LE(12),width:t.readUInt32LE(16)}}}},{}],450:[function(t,e,r){"use strict";var n=/^GIF8[79]a/;e.exports={detect:function(t){var e=t.toString("ascii",0,6);return n.test(e)},calculate:function(t){return{width:t.readUInt16LE(6),height:t.readUInt16LE(8)}}}},{}],451:[function(t,e,r){"use strict";var n={ICON:32,"ICN#":32,"icm#":16,icm4:16,icm8:16,"ics#":16,ics4:16,ics8:16,is32:16,s8mk:16,icp4:16,icl4:32,icl8:32,il32:32,l8mk:32,icp5:32,ic11:32,ich4:48,ich8:48,ih32:48,h8mk:48,icp6:64,ic12:32,it32:128,t8mk:128,ic07:128,ic08:256,ic13:256,ic09:512,ic14:512,ic10:1024};function i(t,e){var r=e+4;return[t.toString("ascii",e,r),t.readUInt32BE(r)]}function a(t){var e=n[t];return{width:e,height:e,type:t}}e.exports={detect:function(t){return"icns"===t.toString("ascii",0,4)},calculate:function(t){var e,r,n,o=t.length,s=8,l=t.readUInt32BE(4);if(r=a((e=i(t,s))[0]),(s+=e[1])===l)return r;for(n={width:r.width,height:r.height,images:[r]};s<l&&s<o;)r=a((e=i(t,s))[0]),s+=e[1],n.images.push(r);return n}}},{}],452:[function(t,e,r){"use strict";function n(t,e){var r=t.readUInt8(e);return 0===r?256:r}function i(t,e){var r=6+16*e;return{width:n(t,r),height:n(t,r+1)}}e.exports={detect:function(t){return 0===t.readUInt16LE(0)&&1===t.readUInt16LE(2)},calculate:function(t){var e,r=t.readUInt16LE(4),n=i(t,0);if(1===r)return n;for(n.images=[{width:n.width,height:n.height}],e=1;e<r;e+=1)n.images.push(i(t,e));return n}}},{}],453:[function(t,e,r){"use strict";var n=t("../readUInt");function i(t){return"45786966"===t.toString("hex",2,6)}function a(t,e){return{height:t.readUInt16BE(e),width:t.readUInt16BE(e+2)}}function o(t,e){var r=t.slice(2,e),i=r.toString("hex",6,8),a="4d4d"===i;if(a||"4949"===i)return function(t,e){for(var r,i,a=n(t,16,14,e),o=0;o<a;o++){if(i=(r=16+12*o)+12,r>t.length)return;var s=t.slice(r,i);if(274===n(s,16,0,e)){if(3!==n(s,16,2,e))return;if(1!==n(s,32,4,e))return;return n(s,16,8,e)}}}(r,a)}function s(t,e){if(e>t.length)throw new TypeError("Corrupt JPG, exceeded buffer limits");if(255!==t[e])throw new TypeError("Invalid JPG, marker table corrupted")}e.exports={detect:function(t){return"ffd8"===t.toString("hex",0,2)},calculate:function(t){var e,r,n;for(t=t.slice(4);t.length;){if(r=t.readUInt16BE(0),i(t)&&(e=o(t,r)),s(t,r),192===(n=t[r+1])||193===n||194===n){var l=a(t,r+5);return e?{width:l.width,height:l.height,orientation:e}:l}t=t.slice(r+2)}throw new TypeError("Invalid JPG, no size found")}}},{"../readUInt":445}],454:[function(t,e,r){"use strict";e.exports={detect:function(t){if("PNG\r\n\x1a\n"===t.toString("ascii",1,8)){var e=t.toString("ascii",12,16);if("CgBI"===e&&(e=t.toString("ascii",28,32)),"IHDR"!==e)throw new TypeError("invalid png");return!0}},calculate:function(t){return"CgBI"===t.toString("ascii",12,16)?{width:t.readUInt32BE(32),height:t.readUInt32BE(36)}:{width:t.readUInt32BE(16),height:t.readUInt32BE(20)}}}},{}],455:[function(t,e,r){"use strict";e.exports={detect:function(t){return"8BPS"===t.toString("ascii",0,4)},calculate:function(t){return{width:t.readUInt32BE(18),height:t.readUInt32BE(14)}}}},{}],456:[function(t,e,r){"use strict";var n=/<svg\s([^>"']|"[^"]*"|'[^']*')*>/;var i={root:n,width:/\swidth=(['"])([^%]+?)\1/,height:/\sheight=(['"])([^%]+?)\1/,viewbox:/\sviewBox=(['"])(.+?)\1/},a={cm:96/2.54,mm:96/2.54/10,m:96/2.54*100,pt:96/72,pc:96/72/12,em:16,ex:8};function o(t){var e=/([0-9.]+)([a-z]*)/.exec(t);if(e)return Math.round(parseFloat(e[1])*(a[e[2]]||1))}function s(t){var e=t.split(" ");return{width:o(e[2]),height:o(e[3])}}e.exports={detect:function(t){return n.test(t)},calculate:function(t){var e=t.toString("utf8").match(i.root);if(e){var r=function(t){var e=t.match(i.width),r=t.match(i.height),n=t.match(i.viewbox);return{width:e&&o(e[2]),height:r&&o(r[2]),viewbox:n&&s(n[2])}}(e[0]);if(r.width&&r.height)return function(t){return{width:t.width,height:t.height}}(r);if(r.viewbox)return function(t){var e=t.viewbox.width/t.viewbox.height;return t.width?{width:t.width,height:Math.floor(t.width/e)}:t.height?{width:Math.floor(t.height*e),height:t.height}:{width:t.viewbox.width,height:t.viewbox.height}}(r)}throw new TypeError("invalid svg")}}},{}],457:[function(t,e,r){(function(r){(function(){"use strict";var n=t("fs"),i=t("../readUInt");function a(t,e){var r=i(t,16,8,e);return(i(t,16,10,e)<<16)+r}function o(t){if(t.length>24)return t.slice(12)}e.exports={detect:function(t){var e=t.toString("hex",0,4);return"49492a00"===e||"4d4d002a"===e},calculate:function(t,e){if(!e)throw new TypeError("Tiff doesn't support buffer");var s="BE"===function(t){var e=t.toString("ascii",0,2);return"II"===e?"LE":"MM"===e?"BE":void 0}(t),l=function(t,e){for(var r,n,s,l={};t&&t.length&&(r=i(t,16,0,e),n=i(t,16,2,e),s=i(t,32,4,e),0!==r);)1!==s||3!==n&&4!==n||(l[r]=a(t,e)),t=o(t);return l}(function(t,e,a){var o=i(t,32,4,a),s=1024,l=n.statSync(e).size;o+s>l&&(s=l-o-10);var c=r.alloc(s),u=n.openSync(e,"r");return n.readSync(u,c,0,s,o),c.slice(2)}(t,e,s),s),c=l[256],u=l[257];if(!c||!u)throw new TypeError("Invalid Tiff, missing tags");return{width:c,height:u}}}}).call(this)}).call(this,t("buffer").Buffer)},{"../readUInt":445,buffer:111,fs:109}],458:[function(t,e,r){"use strict";e.exports={detect:function(t){var e="RIFF"===t.toString("ascii",0,4),r="WEBP"===t.toString("ascii",8,12),n="VP8"===t.toString("ascii",12,15);return e&&r&&n},calculate:function(t){var e=t.toString("ascii",12,16);if(t=t.slice(20,30),"VP8X"===e){var r=t[0];return!(!(0==(192&r))||!(0==(1&r)))&&function(t){return{width:1+t.readUIntLE(4,3),height:1+t.readUIntLE(7,3)}}(t)}if("VP8 "===e&&47!==t[0])return function(t){return{width:16383&t.readInt16LE(6),height:16383&t.readInt16LE(8)}}(t);var n=t.toString("hex",3,6);return"VP8L"===e&&"9d012a"!==n&&function(t){return{width:1+((63&t[2])<<8|t[1]),height:1+((15&t[4])<<10|t[3]<<2|(192&t[2])>>6)}}(t)}}},{}],459:[function(t,e,r){"use strict";e.exports=function(t,e){var r=t.length;if(0===r)throw new Error("Must have at least d+1 points");var i=t[0].length;if(r<=i)throw new Error("Must input at least d+1 points");var o=t.slice(0,i+1),s=n.apply(void 0,o);if(0===s)throw new Error("Input not in general position");for(var l=new Array(i+1),u=0;u<=i;++u)l[u]=u;s<0&&(l[0]=1,l[1]=0);var f=new a(l,new Array(i+1),!1),h=f.adjacent,p=new Array(i+2);for(u=0;u<=i;++u){for(var d=l.slice(),g=0;g<=i;++g)g===u&&(d[g]=-1);var m=d[0];d[0]=d[1],d[1]=m;var v=new a(d,new Array(i+1),!0);h[u]=v,p[u]=v}p[i+1]=f;for(u=0;u<=i;++u){d=h[u].vertices;var y=h[u].adjacent;for(g=0;g<=i;++g){var x=d[g];if(x<0)y[g]=f;else for(var b=0;b<=i;++b)h[b].vertices.indexOf(x)<0&&(y[g]=h[b])}}var _=new c(i,o,p),w=!!e;for(u=i+1;u<r;++u)_.insert(t[u],w);return _.boundary()};var n=t("robust-orientation"),i=t("simplicial-complex").compareCells;function a(t,e,r){this.vertices=t,this.adjacent=e,this.boundary=r,this.lastVisited=-1}function o(t,e,r){this.vertices=t,this.cell=e,this.index=r}function s(t,e){return i(t.vertices,e.vertices)}a.prototype.flip=function(){var t=this.vertices[0];this.vertices[0]=this.vertices[1],this.vertices[1]=t;var e=this.adjacent[0];this.adjacent[0]=this.adjacent[1],this.adjacent[1]=e};var l=[];function c(t,e,r){this.dimension=t,this.vertices=e,this.simplices=r,this.interior=r.filter((function(t){return!t.boundary})),this.tuple=new Array(t+1);for(var i=0;i<=t;++i)this.tuple[i]=this.vertices[i];var a=l[t];a||(a=l[t]=function(t){for(var e=["function orient(){var tuple=this.tuple;return test("],r=0;r<=t;++r)r>0&&e.push(","),e.push("tuple[",r,"]");e.push(")}return orient");var i=new Function("test",e.join("")),a=n[t+1];return a||(a=n),i(a)}(t)),this.orient=a}var u=c.prototype;u.handleBoundaryDegeneracy=function(t,e){var r=this.dimension,n=this.vertices.length-1,i=this.tuple,a=this.vertices,o=[t];for(t.lastVisited=-n;o.length>0;){(t=o.pop()).vertices;for(var s=t.adjacent,l=0;l<=r;++l){var c=s[l];if(c.boundary&&!(c.lastVisited<=-n)){for(var u=c.vertices,f=0;f<=r;++f){var h=u[f];i[f]=h<0?e:a[h]}var p=this.orient();if(p>0)return c;c.lastVisited=-n,0===p&&o.push(c)}}}return null},u.walk=function(t,e){var r=this.vertices.length-1,n=this.dimension,i=this.vertices,a=this.tuple,o=e?this.interior.length*Math.random()|0:this.interior.length-1,s=this.interior[o];t:for(;!s.boundary;){for(var l=s.vertices,c=s.adjacent,u=0;u<=n;++u)a[u]=i[l[u]];s.lastVisited=r;for(u=0;u<=n;++u){var f=c[u];if(!(f.lastVisited>=r)){var h=a[u];a[u]=t;var p=this.orient();if(a[u]=h,p<0){s=f;continue t}f.boundary?f.lastVisited=-r:f.lastVisited=r}}return}return s},u.addPeaks=function(t,e){var r=this.vertices.length-1,n=this.dimension,i=this.vertices,l=this.tuple,c=this.interior,u=this.simplices,f=[e];e.lastVisited=r,e.vertices[e.vertices.indexOf(-1)]=r,e.boundary=!1,c.push(e);for(var h=[];f.length>0;){var p=(e=f.pop()).vertices,d=e.adjacent,g=p.indexOf(r);if(!(g<0))for(var m=0;m<=n;++m)if(m!==g){var v=d[m];if(v.boundary&&!(v.lastVisited>=r)){var y=v.vertices;if(v.lastVisited!==-r){for(var x=0,b=0;b<=n;++b)y[b]<0?(x=b,l[b]=t):l[b]=i[y[b]];if(this.orient()>0){y[x]=r,v.boundary=!1,c.push(v),f.push(v),v.lastVisited=r;continue}v.lastVisited=-r}var _=v.adjacent,w=p.slice(),T=d.slice(),k=new a(w,T,!0);u.push(k);var M=_.indexOf(e);if(!(M<0)){_[M]=k,T[g]=v,w[m]=-1,T[m]=e,d[m]=k,k.flip();for(b=0;b<=n;++b){var A=w[b];if(!(A<0||A===r)){for(var S=new Array(n-1),E=0,C=0;C<=n;++C){var L=w[C];L<0||C===b||(S[E++]=L)}h.push(new o(S,k,b))}}}}}}h.sort(s);for(m=0;m+1<h.length;m+=2){var I=h[m],P=h[m+1],z=I.index,O=P.index;z<0||O<0||(I.cell.adjacent[I.index]=P.cell,P.cell.adjacent[P.index]=I.cell)}},u.insert=function(t,e){var r=this.vertices;r.push(t);var n=this.walk(t,e);if(n){for(var i=this.dimension,a=this.tuple,o=0;o<=i;++o){var s=n.vertices[o];a[o]=s<0?t:r[s]}var l=this.orient(a);l<0||(0!==l||(n=this.handleBoundaryDegeneracy(n,t)))&&this.addPeaks(t,n)}},u.boundary=function(){for(var t=this.dimension,e=[],r=this.simplices,n=r.length,i=0;i<n;++i){var a=r[i];if(a.boundary){for(var o=new Array(t),s=a.vertices,l=0,c=0,u=0;u<=t;++u)s[u]>=0?o[l++]=s[u]:c=1&u;if(c===(1&t)){var f=o[0];o[0]=o[1],o[1]=f}e.push(o)}}return e}},{"robust-orientation":548,"simplicial-complex":558}],460:[function(t,e,r){"use strict";var n=t("binary-search-bounds");function i(t,e,r,n,i){this.mid=t,this.left=e,this.right=r,this.leftPoints=n,this.rightPoints=i,this.count=(e?e.count:0)+(r?r.count:0)+n.length}e.exports=function(t){if(!t||0===t.length)return new v(null);return new v(m(t))};var a=i.prototype;function o(t,e){t.mid=e.mid,t.left=e.left,t.right=e.right,t.leftPoints=e.leftPoints,t.rightPoints=e.rightPoints,t.count=e.count}function s(t,e){var r=m(e);t.mid=r.mid,t.left=r.left,t.right=r.right,t.leftPoints=r.leftPoints,t.rightPoints=r.rightPoints,t.count=r.count}function l(t,e){var r=t.intervals([]);r.push(e),s(t,r)}function c(t,e){var r=t.intervals([]),n=r.indexOf(e);return n<0?0:(r.splice(n,1),s(t,r),1)}function u(t,e,r){for(var n=0;n<t.length&&t[n][0]<=e;++n){var i=r(t[n]);if(i)return i}}function f(t,e,r){for(var n=t.length-1;n>=0&&t[n][1]>=e;--n){var i=r(t[n]);if(i)return i}}function h(t,e){for(var r=0;r<t.length;++r){var n=e(t[r]);if(n)return n}}function p(t,e){return t-e}function d(t,e){var r=t[0]-e[0];return r||t[1]-e[1]}function g(t,e){var r=t[1]-e[1];return r||t[0]-e[0]}function m(t){if(0===t.length)return null;for(var e=[],r=0;r<t.length;++r)e.push(t[r][0],t[r][1]);e.sort(p);var n=e[e.length>>1],a=[],o=[],s=[];for(r=0;r<t.length;++r){var l=t[r];l[1]<n?a.push(l):n<l[0]?o.push(l):s.push(l)}var c=s,u=s.slice();return c.sort(d),u.sort(g),new i(n,m(a),m(o),c,u)}function v(t){this.root=t}a.intervals=function(t){return t.push.apply(t,this.leftPoints),this.left&&this.left.intervals(t),this.right&&this.right.intervals(t),t},a.insert=function(t){var e=this.count-this.leftPoints.length;if(this.count+=1,t[1]<this.mid)this.left?4*(this.left.count+1)>3*(e+1)?l(this,t):this.left.insert(t):this.left=m([t]);else if(t[0]>this.mid)this.right?4*(this.right.count+1)>3*(e+1)?l(this,t):this.right.insert(t):this.right=m([t]);else{var r=n.ge(this.leftPoints,t,d),i=n.ge(this.rightPoints,t,g);this.leftPoints.splice(r,0,t),this.rightPoints.splice(i,0,t)}},a.remove=function(t){var e=this.count-this.leftPoints;if(t[1]<this.mid)return this.left?4*(this.right?this.right.count:0)>3*(e-1)?c(this,t):2===(s=this.left.remove(t))?(this.left=null,this.count-=1,1):(1===s&&(this.count-=1),s):0;if(t[0]>this.mid)return this.right?4*(this.left?this.left.count:0)>3*(e-1)?c(this,t):2===(s=this.right.remove(t))?(this.right=null,this.count-=1,1):(1===s&&(this.count-=1),s):0;if(1===this.count)return this.leftPoints[0]===t?2:0;if(1===this.leftPoints.length&&this.leftPoints[0]===t){if(this.left&&this.right){for(var r=this,i=this.left;i.right;)r=i,i=i.right;if(r===this)i.right=this.right;else{var a=this.left,s=this.right;r.count-=i.count,r.right=i.left,i.left=a,i.right=s}o(this,i),this.count=(this.left?this.left.count:0)+(this.right?this.right.count:0)+this.leftPoints.length}else this.left?o(this,this.left):o(this,this.right);return 1}for(a=n.ge(this.leftPoints,t,d);a<this.leftPoints.length&&this.leftPoints[a][0]===t[0];++a)if(this.leftPoints[a]===t){this.count-=1,this.leftPoints.splice(a,1);for(s=n.ge(this.rightPoints,t,g);s<this.rightPoints.length&&this.rightPoints[s][1]===t[1];++s)if(this.rightPoints[s]===t)return this.rightPoints.splice(s,1),1}return 0},a.queryPoint=function(t,e){if(t<this.mid){if(this.left)if(r=this.left.queryPoint(t,e))return r;return u(this.leftPoints,t,e)}if(t>this.mid){var r;if(this.right)if(r=this.right.queryPoint(t,e))return r;return f(this.rightPoints,t,e)}return h(this.leftPoints,e)},a.queryInterval=function(t,e,r){var n;if(t<this.mid&&this.left&&(n=this.left.queryInterval(t,e,r)))return n;if(e>this.mid&&this.right&&(n=this.right.queryInterval(t,e,r)))return n;return e<this.mid?u(this.leftPoints,e,r):t>this.mid?f(this.rightPoints,t,r):h(this.leftPoints,r)};var y=v.prototype;y.insert=function(t){this.root?this.root.insert(t):this.root=new i(t[0],null,null,[t],[t])},y.remove=function(t){if(this.root){var e=this.root.remove(t);return 2===e&&(this.root=null),0!==e}return!1},y.queryPoint=function(t,e){if(this.root)return this.root.queryPoint(t,e)},y.queryInterval=function(t,e,r){if(t<=e&&this.root)return this.root.queryInterval(t,e,r)},Object.defineProperty(y,"count",{get:function(){return this.root?this.root.count:0}}),Object.defineProperty(y,"intervals",{get:function(){return this.root?this.root.intervals([]):[]}})},{"binary-search-bounds":461}],461:[function(t,e,r){arguments[4][243][0].apply(r,arguments)},{dup:243}],462:[function(t,e,r){"use strict";e.exports=function(t,e){e=e||new Array(t.length);for(var r=0;r<t.length;++r)e[t[r]]=r;return e}},{}],463:[function(t,e,r){"use strict";e.exports=function(t){for(var e=new Array(t),r=0;r<t;++r)e[r]=r;return e}},{}],464:[function(t,e,r){e.exports=!0},{}],465:[function(t,e,r){function n(t){return!!t.constructor&&"function"==typeof t.constructor.isBuffer&&t.constructor.isBuffer(t)} +/*! + * Determine if an object is a Buffer + * + * @author Feross Aboukhadijeh <https://feross.org> + * @license MIT + */ +e.exports=function(t){return null!=t&&(n(t)||function(t){return"function"==typeof t.readFloatLE&&"function"==typeof t.slice&&n(t.slice(0,0))}(t)||!!t._isBuffer)}},{}],466:[function(t,e,r){"use strict";e.exports="undefined"!=typeof navigator&&(/MSIE/.test(navigator.userAgent)||/Trident\//.test(navigator.appVersion))},{}],467:[function(t,e,r){"use strict";e.exports=a,e.exports.isMobile=a,e.exports.default=a;var n=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series[46]0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i,i=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series[46]0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino|android|ipad|playbook|silk/i;function a(t){t||(t={});var e=t.ua;if(e||"undefined"==typeof navigator||(e=navigator.userAgent),e&&e.headers&&"string"==typeof e.headers["user-agent"]&&(e=e.headers["user-agent"]),"string"!=typeof e)return!1;var r=t.tablet?i.test(e):n.test(e);return!r&&t.tablet&&t.featureDetect&&navigator&&navigator.maxTouchPoints>1&&-1!==e.indexOf("Macintosh")&&-1!==e.indexOf("Safari")&&(r=!0),r}},{}],468:[function(t,e,r){"use strict";e.exports=function(t){var e=typeof t;return null!==t&&("object"===e||"function"===e)}},{}],469:[function(t,e,r){"use strict";var n=Object.prototype.toString;e.exports=function(t){var e;return"[object Object]"===n.call(t)&&(null===(e=Object.getPrototypeOf(t))||e===Object.getPrototypeOf({}))}},{}],470:[function(t,e,r){"use strict";e.exports=function(t){for(var e,r=t.length,n=0;n<r;n++)if(((e=t.charCodeAt(n))<9||e>13)&&32!==e&&133!==e&&160!==e&&5760!==e&&6158!==e&&(e<8192||e>8205)&&8232!==e&&8233!==e&&8239!==e&&8287!==e&&8288!==e&&12288!==e&&65279!==e)return!1;return!0}},{}],471:[function(t,e,r){"use strict";e.exports=function(t){return"string"==typeof t&&(t=t.trim(),!!(/^[mzlhvcsqta]\s*[-+.0-9][^mlhvzcsqta]+/i.test(t)&&/[\dz]$/i.test(t)&&t.length>4))}},{}],472:[function(t,e,r){e.exports=function(t,e,r){return t*(1-r)+e*r}},{}],473:[function(t,e,r){!function(t,n){"object"==typeof r&&"undefined"!=typeof e?e.exports=n():(t=t||self).mapboxgl=n()}(this,(function(){"use strict";var t,e,r;function n(n,i){if(t)if(e){var a="var sharedChunk = {}; ("+t+")(sharedChunk); ("+e+")(sharedChunk);",o={};t(o),(r=i(o)).workerUrl=window.URL.createObjectURL(new Blob([a],{type:"text/javascript"}))}else e=i;else t=i}return n(0,(function(t){function e(t,e){return t(e={exports:{}},e.exports),e.exports}var r=n;function n(t,e,r,n){this.cx=3*t,this.bx=3*(r-t)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*e,this.by=3*(n-e)-this.cy,this.ay=1-this.cy-this.by,this.p1x=t,this.p1y=n,this.p2x=r,this.p2y=n}n.prototype.sampleCurveX=function(t){return((this.ax*t+this.bx)*t+this.cx)*t},n.prototype.sampleCurveY=function(t){return((this.ay*t+this.by)*t+this.cy)*t},n.prototype.sampleCurveDerivativeX=function(t){return(3*this.ax*t+2*this.bx)*t+this.cx},n.prototype.solveCurveX=function(t,e){var r,n,i,a,o;for(void 0===e&&(e=1e-6),i=t,o=0;o<8;o++){if(a=this.sampleCurveX(i)-t,Math.abs(a)<e)return i;var s=this.sampleCurveDerivativeX(i);if(Math.abs(s)<1e-6)break;i-=a/s}if((i=t)<(r=0))return r;if(i>(n=1))return n;for(;r<n;){if(a=this.sampleCurveX(i),Math.abs(a-t)<e)return i;t>a?r=i:n=i,i=.5*(n-r)+r}return i},n.prototype.solve=function(t,e){return this.sampleCurveY(this.solveCurveX(t,e))};var i=a;function a(t,e){this.x=t,this.y=e}function o(t,e,n,i){var a=new r(t,e,n,i);return function(t){return a.solve(t)}}a.prototype={clone:function(){return new a(this.x,this.y)},add:function(t){return this.clone()._add(t)},sub:function(t){return this.clone()._sub(t)},multByPoint:function(t){return this.clone()._multByPoint(t)},divByPoint:function(t){return this.clone()._divByPoint(t)},mult:function(t){return this.clone()._mult(t)},div:function(t){return this.clone()._div(t)},rotate:function(t){return this.clone()._rotate(t)},rotateAround:function(t,e){return this.clone()._rotateAround(t,e)},matMult:function(t){return this.clone()._matMult(t)},unit:function(){return this.clone()._unit()},perp:function(){return this.clone()._perp()},round:function(){return this.clone()._round()},mag:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals:function(t){return this.x===t.x&&this.y===t.y},dist:function(t){return Math.sqrt(this.distSqr(t))},distSqr:function(t){var e=t.x-this.x,r=t.y-this.y;return e*e+r*r},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(t){return Math.atan2(this.y-t.y,this.x-t.x)},angleWith:function(t){return this.angleWithSep(t.x,t.y)},angleWithSep:function(t,e){return Math.atan2(this.x*e-this.y*t,this.x*t+this.y*e)},_matMult:function(t){var e=t[2]*this.x+t[3]*this.y;return this.x=t[0]*this.x+t[1]*this.y,this.y=e,this},_add:function(t){return this.x+=t.x,this.y+=t.y,this},_sub:function(t){return this.x-=t.x,this.y-=t.y,this},_mult:function(t){return this.x*=t,this.y*=t,this},_div:function(t){return this.x/=t,this.y/=t,this},_multByPoint:function(t){return this.x*=t.x,this.y*=t.y,this},_divByPoint:function(t){return this.x/=t.x,this.y/=t.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var t=this.y;return this.y=this.x,this.x=-t,this},_rotate:function(t){var e=Math.cos(t),r=Math.sin(t),n=r*this.x+e*this.y;return this.x=e*this.x-r*this.y,this.y=n,this},_rotateAround:function(t,e){var r=Math.cos(t),n=Math.sin(t),i=e.y+n*(this.x-e.x)+r*(this.y-e.y);return this.x=e.x+r*(this.x-e.x)-n*(this.y-e.y),this.y=i,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},a.convert=function(t){return t instanceof a?t:Array.isArray(t)?new a(t[0],t[1]):t};var s=o(.25,.1,.25,1);function l(t,e,r){return Math.min(r,Math.max(e,t))}function c(t,e,r){var n=r-e,i=((t-e)%n+n)%n+e;return i===e?r:i}function u(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];for(var n=0,i=e;n<i.length;n+=1){var a=i[n];for(var o in a)t[o]=a[o]}return t}var f=1;function h(){return f++}function p(){return function t(e){return e?(e^16*Math.random()>>e/4).toString(16):([1e7]+-[1e3]+-4e3+-8e3+-1e11).replace(/[018]/g,t)}()}function d(t){return!!t&&/^[0-9a-f]{8}-[0-9a-f]{4}-[4][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(t)}function g(t,e){t.forEach((function(t){e[t]&&(e[t]=e[t].bind(e))}))}function m(t,e){return-1!==t.indexOf(e,t.length-e.length)}function v(t,e,r){var n={};for(var i in t)n[i]=e.call(r||this,t[i],i,t);return n}function y(t,e,r){var n={};for(var i in t)e.call(r||this,t[i],i,t)&&(n[i]=t[i]);return n}function x(t){return Array.isArray(t)?t.map(x):"object"==typeof t&&t?v(t,x):t}var b={};function _(t){b[t]||("undefined"!=typeof console&&console.warn(t),b[t]=!0)}function w(t,e,r){return(r.y-t.y)*(e.x-t.x)>(e.y-t.y)*(r.x-t.x)}function T(t){for(var e=0,r=0,n=t.length,i=n-1,a=void 0,o=void 0;r<n;i=r++)e+=((o=t[i]).x-(a=t[r]).x)*(a.y+o.y);return e}function k(){return"undefined"!=typeof WorkerGlobalScope&&"undefined"!=typeof self&&self instanceof WorkerGlobalScope}function M(t){var e={};if(t.replace(/(?:^|(?:\s*\,\s*))([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g,(function(t,r,n,i){var a=n||i;return e[r]=!a||a.toLowerCase(),""})),e["max-age"]){var r=parseInt(e["max-age"],10);isNaN(r)?delete e["max-age"]:e["max-age"]=r}return e}var A=null;function S(t){if(null==A){var e=t.navigator?t.navigator.userAgent:null;A=!!t.safari||!(!e||!(/\b(iPad|iPhone|iPod)\b/.test(e)||e.match("Safari")&&!e.match("Chrome")))}return A}function E(t){try{var e=self[t];return e.setItem("_mapbox_test_",1),e.removeItem("_mapbox_test_"),!0}catch(t){return!1}}var C,L,I,P,z=self.performance&&self.performance.now?self.performance.now.bind(self.performance):Date.now.bind(Date),O=self.requestAnimationFrame||self.mozRequestAnimationFrame||self.webkitRequestAnimationFrame||self.msRequestAnimationFrame,D=self.cancelAnimationFrame||self.mozCancelAnimationFrame||self.webkitCancelAnimationFrame||self.msCancelAnimationFrame,R={now:z,frame:function(t){var e=O(t);return{cancel:function(){return D(e)}}},getImageData:function(t,e){void 0===e&&(e=0);var r=self.document.createElement("canvas"),n=r.getContext("2d");if(!n)throw new Error("failed to create canvas 2d context");return r.width=t.width,r.height=t.height,n.drawImage(t,0,0,t.width,t.height),n.getImageData(-e,-e,t.width+2*e,t.height+2*e)},resolveURL:function(t){return C||(C=self.document.createElement("a")),C.href=t,C.href},hardwareConcurrency:self.navigator.hardwareConcurrency||4,get devicePixelRatio(){return self.devicePixelRatio},get prefersReducedMotion(){return!!self.matchMedia&&(null==L&&(L=self.matchMedia("(prefers-reduced-motion: reduce)")),L.matches)}},F={API_URL:"https://api.mapbox.com",get EVENTS_URL(){return this.API_URL?0===this.API_URL.indexOf("https://api.mapbox.cn")?"https://events.mapbox.cn/events/v2":0===this.API_URL.indexOf("https://api.mapbox.com")?"https://events.mapbox.com/events/v2":null:null},FEEDBACK_URL:"https://apps.mapbox.com/feedback",REQUIRE_ACCESS_TOKEN:!0,ACCESS_TOKEN:null,MAX_PARALLEL_IMAGE_REQUESTS:16},B={supported:!1,testSupport:function(t){!N&&P&&(j?U(t):I=t)}},N=!1,j=!1;function U(t){var e=t.createTexture();t.bindTexture(t.TEXTURE_2D,e);try{if(t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,P),t.isContextLost())return;B.supported=!0}catch(t){}t.deleteTexture(e),N=!0}self.document&&((P=self.document.createElement("img")).onload=function(){I&&U(I),I=null,j=!0},P.onerror=function(){N=!0,I=null},P.src="data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=");var V="01",q=function(t,e){this._transformRequestFn=t,this._customAccessToken=e,this._createSkuToken()};function H(t){return 0===t.indexOf("mapbox:")}q.prototype._createSkuToken=function(){var t=function(){for(var t="",e=0;e<10;e++)t+="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"[Math.floor(62*Math.random())];return{token:["1",V,t].join(""),tokenExpiresAt:Date.now()+432e5}}();this._skuToken=t.token,this._skuTokenExpiresAt=t.tokenExpiresAt},q.prototype._isSkuTokenExpired=function(){return Date.now()>this._skuTokenExpiresAt},q.prototype.transformRequest=function(t,e){return this._transformRequestFn&&this._transformRequestFn(t,e)||{url:t}},q.prototype.normalizeStyleURL=function(t,e){if(!H(t))return t;var r=X(t);return r.path="/styles/v1"+r.path,this._makeAPIURL(r,this._customAccessToken||e)},q.prototype.normalizeGlyphsURL=function(t,e){if(!H(t))return t;var r=X(t);return r.path="/fonts/v1"+r.path,this._makeAPIURL(r,this._customAccessToken||e)},q.prototype.normalizeSourceURL=function(t,e){if(!H(t))return t;var r=X(t);return r.path="/v4/"+r.authority+".json",r.params.push("secure"),this._makeAPIURL(r,this._customAccessToken||e)},q.prototype.normalizeSpriteURL=function(t,e,r,n){var i=X(t);return H(t)?(i.path="/styles/v1"+i.path+"/sprite"+e+r,this._makeAPIURL(i,this._customAccessToken||n)):(i.path+=""+e+r,Z(i))},q.prototype.normalizeTileURL=function(t,e){if(this._isSkuTokenExpired()&&this._createSkuToken(),t&&!H(t))return t;var r=X(t);r.path=r.path.replace(/(\.(png|jpg)\d*)(?=$)/,(R.devicePixelRatio>=2||512===e?"@2x":"")+(B.supported?".webp":"$1")),r.path=r.path.replace(/^.+\/v4\//,"/"),r.path="/v4"+r.path;var n=this._customAccessToken||function(t){for(var e=0,r=t;e<r.length;e+=1){var n=r[e].match(/^access_token=(.*)$/);if(n)return n[1]}return null}(r.params)||F.ACCESS_TOKEN;return F.REQUIRE_ACCESS_TOKEN&&n&&this._skuToken&&r.params.push("sku="+this._skuToken),this._makeAPIURL(r,n)},q.prototype.canonicalizeTileURL=function(t,e){var r=X(t);if(!r.path.match(/(^\/v4\/)/)||!r.path.match(/\.[\w]+$/))return t;var n="mapbox://tiles/";n+=r.path.replace("/v4/","");var i=r.params;return e&&(i=i.filter((function(t){return!t.match(/^access_token=/)}))),i.length&&(n+="?"+i.join("&")),n},q.prototype.canonicalizeTileset=function(t,e){for(var r=!!e&&H(e),n=[],i=0,a=t.tiles||[];i<a.length;i+=1){var o=a[i];Y(o)?n.push(this.canonicalizeTileURL(o,r)):n.push(o)}return n},q.prototype._makeAPIURL=function(t,e){var r="See https://www.mapbox.com/api-documentation/#access-tokens-and-token-scopes",n=X(F.API_URL);if(t.protocol=n.protocol,t.authority=n.authority,"/"!==n.path&&(t.path=""+n.path+t.path),!F.REQUIRE_ACCESS_TOKEN)return Z(t);if(!(e=e||F.ACCESS_TOKEN))throw new Error("An API access token is required to use Mapbox GL. "+r);if("s"===e[0])throw new Error("Use a public access token (pk.*) with Mapbox GL, not a secret access token (sk.*). "+r);return t.params=t.params.filter((function(t){return-1===t.indexOf("access_token")})),t.params.push("access_token="+e),Z(t)};var G=/^((https?:)?\/\/)?([^\/]+\.)?mapbox\.c(n|om)(\/|\?|$)/i;function Y(t){return G.test(t)}var W=/^(\w+):\/\/([^/?]*)(\/[^?]+)?\??(.+)?/;function X(t){var e=t.match(W);if(!e)throw new Error("Unable to parse URL object");return{protocol:e[1],authority:e[2],path:e[3]||"/",params:e[4]?e[4].split("&"):[]}}function Z(t){var e=t.params.length?"?"+t.params.join("&"):"";return t.protocol+"://"+t.authority+t.path+e}function J(t){if(!t)return null;var e=t.split(".");if(!e||3!==e.length)return null;try{return JSON.parse(decodeURIComponent(self.atob(e[1]).split("").map((function(t){return"%"+("00"+t.charCodeAt(0).toString(16)).slice(-2)})).join("")))}catch(t){return null}}var K=function(t){this.type=t,this.anonId=null,this.eventData={},this.queue=[],this.pendingRequest=null};K.prototype.getStorageKey=function(t){var e,r=J(F.ACCESS_TOKEN);return e=r&&r.u?self.btoa(encodeURIComponent(r.u).replace(/%([0-9A-F]{2})/g,(function(t,e){return String.fromCharCode(Number("0x"+e))}))):F.ACCESS_TOKEN||"",t?"mapbox.eventData."+t+":"+e:"mapbox.eventData:"+e},K.prototype.fetchEventData=function(){var t=E("localStorage"),e=this.getStorageKey(),r=this.getStorageKey("uuid");if(t)try{var n=self.localStorage.getItem(e);n&&(this.eventData=JSON.parse(n));var i=self.localStorage.getItem(r);i&&(this.anonId=i)}catch(t){_("Unable to read from LocalStorage")}},K.prototype.saveEventData=function(){var t=E("localStorage"),e=this.getStorageKey(),r=this.getStorageKey("uuid");if(t)try{self.localStorage.setItem(r,this.anonId),Object.keys(this.eventData).length>=1&&self.localStorage.setItem(e,JSON.stringify(this.eventData))}catch(t){_("Unable to write to LocalStorage")}},K.prototype.processRequests=function(t){},K.prototype.postEvent=function(t,e,r,n){var i=this;if(F.EVENTS_URL){var a=X(F.EVENTS_URL);a.params.push("access_token="+(n||F.ACCESS_TOKEN||""));var o={event:this.type,created:new Date(t).toISOString(),sdkIdentifier:"mapbox-gl-js",sdkVersion:"1.10.1",skuId:V,userId:this.anonId},s=e?u(o,e):o,l={url:Z(a),headers:{"Content-Type":"text/plain"},body:JSON.stringify([s])};this.pendingRequest=xt(l,(function(t){i.pendingRequest=null,r(t),i.saveEventData(),i.processRequests(n)}))}},K.prototype.queueRequest=function(t,e){this.queue.push(t),this.processRequests(e)};var Q,$,tt=function(t){function e(){t.call(this,"map.load"),this.success={},this.skuToken=""}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.postMapLoadEvent=function(t,e,r,n){this.skuToken=r,(F.EVENTS_URL&&n||F.ACCESS_TOKEN&&Array.isArray(t)&&t.some((function(t){return H(t)||Y(t)})))&&this.queueRequest({id:e,timestamp:Date.now()},n)},e.prototype.processRequests=function(t){var e=this;if(!this.pendingRequest&&0!==this.queue.length){var r=this.queue.shift(),n=r.id,i=r.timestamp;n&&this.success[n]||(this.anonId||this.fetchEventData(),d(this.anonId)||(this.anonId=p()),this.postEvent(i,{skuToken:this.skuToken},(function(t){t||n&&(e.success[n]=!0)}),t))}},e}(K),et=new(function(t){function e(e){t.call(this,"appUserTurnstile"),this._customAccessToken=e}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.postTurnstileEvent=function(t,e){F.EVENTS_URL&&F.ACCESS_TOKEN&&Array.isArray(t)&&t.some((function(t){return H(t)||Y(t)}))&&this.queueRequest(Date.now(),e)},e.prototype.processRequests=function(t){var e=this;if(!this.pendingRequest&&0!==this.queue.length){this.anonId&&this.eventData.lastSuccess&&this.eventData.tokenU||this.fetchEventData();var r=J(F.ACCESS_TOKEN),n=r?r.u:F.ACCESS_TOKEN,i=n!==this.eventData.tokenU;d(this.anonId)||(this.anonId=p(),i=!0);var a=this.queue.shift();if(this.eventData.lastSuccess){var o=new Date(this.eventData.lastSuccess),s=new Date(a),l=(a-this.eventData.lastSuccess)/864e5;i=i||l>=1||l<-1||o.getDate()!==s.getDate()}else i=!0;if(!i)return this.processRequests();this.postEvent(a,{"enabled.telemetry":!1},(function(t){t||(e.eventData.lastSuccess=a,e.eventData.tokenU=n)}),t)}},e}(K)),rt=et.postTurnstileEvent.bind(et),nt=new tt,it=nt.postMapLoadEvent.bind(nt),at=500,ot=50;function st(){self.caches&&!Q&&(Q=self.caches.open("mapbox-tiles"))}function lt(t){var e=t.indexOf("?");return e<0?t:t.slice(0,e)}var ct,ut=1/0;function ft(){return null==ct&&(ct=self.OffscreenCanvas&&new self.OffscreenCanvas(1,1).getContext("2d")&&"function"==typeof self.createImageBitmap),ct}var ht={Unknown:"Unknown",Style:"Style",Source:"Source",Tile:"Tile",Glyphs:"Glyphs",SpriteImage:"SpriteImage",SpriteJSON:"SpriteJSON",Image:"Image"};"function"==typeof Object.freeze&&Object.freeze(ht);var pt,dt,gt=function(t){function e(e,r,n){401===r&&Y(n)&&(e+=": you may have provided an invalid Mapbox access token. See https://www.mapbox.com/api-documentation/#access-tokens-and-token-scopes"),t.call(this,e),this.status=r,this.url=n,this.name=this.constructor.name,this.message=e}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.toString=function(){return this.name+": "+this.message+" ("+this.status+"): "+this.url},e}(Error),mt=k()?function(){return self.worker&&self.worker.referrer}:function(){return("blob:"===self.location.protocol?self.parent:self).location.href},vt=function(t,e){if(!(/^file:/.test(r=t.url)||/^file:/.test(mt())&&!/^\w+:/.test(r))){if(self.fetch&&self.Request&&self.AbortController&&self.Request.prototype.hasOwnProperty("signal"))return function(t,e){var r,n=new self.AbortController,i=new self.Request(t.url,{method:t.method||"GET",body:t.body,credentials:t.credentials,headers:t.headers,referrer:mt(),signal:n.signal}),a=!1,o=!1,s=(r=i.url).indexOf("sku=")>0&&Y(r);"json"===t.type&&i.headers.set("Accept","application/json");var l=function(r,n,a){if(!o){if(r&&"SecurityError"!==r.message&&_(r),n&&a)return c(n);var l=Date.now();self.fetch(i).then((function(r){if(r.ok){var n=s?r.clone():null;return c(r,n,l)}return e(new gt(r.statusText,r.status,t.url))})).catch((function(t){20!==t.code&&e(new Error(t.message))}))}},c=function(r,n,s){("arrayBuffer"===t.type?r.arrayBuffer():"json"===t.type?r.json():r.text()).then((function(t){o||(n&&s&&function(t,e,r){if(st(),Q){var n={status:e.status,statusText:e.statusText,headers:new self.Headers};e.headers.forEach((function(t,e){return n.headers.set(e,t)}));var i=M(e.headers.get("Cache-Control")||"");i["no-store"]||(i["max-age"]&&n.headers.set("Expires",new Date(r+1e3*i["max-age"]).toUTCString()),new Date(n.headers.get("Expires")).getTime()-r<42e4||function(t,e){if(void 0===$)try{new Response(new ReadableStream),$=!0}catch(t){$=!1}$?e(t.body):t.blob().then(e)}(e,(function(e){var r=new self.Response(e,n);st(),Q&&Q.then((function(e){return e.put(lt(t.url),r)})).catch((function(t){return _(t.message)}))})))}}(i,n,s),a=!0,e(null,t,r.headers.get("Cache-Control"),r.headers.get("Expires")))})).catch((function(t){o||e(new Error(t.message))}))};return s?function(t,e){if(st(),!Q)return e(null);var r=lt(t.url);Q.then((function(t){t.match(r).then((function(n){var i=function(t){if(!t)return!1;var e=new Date(t.headers.get("Expires")||0),r=M(t.headers.get("Cache-Control")||"");return e>Date.now()&&!r["no-cache"]}(n);t.delete(r),i&&t.put(r,n.clone()),e(null,n,i)})).catch(e)})).catch(e)}(i,l):l(null,null),{cancel:function(){o=!0,a||n.abort()}}}(t,e);if(k()&&self.worker&&self.worker.actor)return self.worker.actor.send("getResource",t,e,void 0,!0)}var r;return function(t,e){var r=new self.XMLHttpRequest;for(var n in r.open(t.method||"GET",t.url,!0),"arrayBuffer"===t.type&&(r.responseType="arraybuffer"),t.headers)r.setRequestHeader(n,t.headers[n]);return"json"===t.type&&(r.responseType="text",r.setRequestHeader("Accept","application/json")),r.withCredentials="include"===t.credentials,r.onerror=function(){e(new Error(r.statusText))},r.onload=function(){if((r.status>=200&&r.status<300||0===r.status)&&null!==r.response){var n=r.response;if("json"===t.type)try{n=JSON.parse(r.response)}catch(t){return e(t)}e(null,n,r.getResponseHeader("Cache-Control"),r.getResponseHeader("Expires"))}else e(new gt(r.statusText,r.status,t.url))},r.send(t.body),{cancel:function(){return r.abort()}}}(t,e)},yt=function(t,e){return vt(u(t,{type:"arrayBuffer"}),e)},xt=function(t,e){return vt(u(t,{method:"POST"}),e)};pt=[],dt=0;var bt=function(t,e){if(B.supported&&(t.headers||(t.headers={}),t.headers.accept="image/webp,*/*"),dt>=F.MAX_PARALLEL_IMAGE_REQUESTS){var r={requestParameters:t,callback:e,cancelled:!1,cancel:function(){this.cancelled=!0}};return pt.push(r),r}dt++;var n=!1,i=function(){if(!n)for(n=!0,dt--;pt.length&&dt<F.MAX_PARALLEL_IMAGE_REQUESTS;){var t=pt.shift();t.cancelled||(t.cancel=bt(t.requestParameters,t.callback).cancel)}},a=yt(t,(function(t,r,n,a){i(),t?e(t):r&&(ft()?function(t,e){var r=new self.Blob([new Uint8Array(t)],{type:"image/png"});self.createImageBitmap(r).then((function(t){e(null,t)})).catch((function(t){e(new Error("Could not load image because of "+t.message+". Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported."))}))}(r,e):function(t,e,r,n){var i=new self.Image,a=self.URL;i.onload=function(){e(null,i),a.revokeObjectURL(i.src)},i.onerror=function(){return e(new Error("Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported."))};var o=new self.Blob([new Uint8Array(t)],{type:"image/png"});i.cacheControl=r,i.expires=n,i.src=t.byteLength?a.createObjectURL(o):"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII="}(r,e,n,a))}));return{cancel:function(){a.cancel(),i()}}};function _t(t,e,r){r[t]&&-1!==r[t].indexOf(e)||(r[t]=r[t]||[],r[t].push(e))}function wt(t,e,r){if(r&&r[t]){var n=r[t].indexOf(e);-1!==n&&r[t].splice(n,1)}}var Tt=function(t,e){void 0===e&&(e={}),u(this,e),this.type=t},kt=function(t){function e(e,r){void 0===r&&(r={}),t.call(this,"error",u({error:e},r))}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e}(Tt),Mt=function(){};Mt.prototype.on=function(t,e){return this._listeners=this._listeners||{},_t(t,e,this._listeners),this},Mt.prototype.off=function(t,e){return wt(t,e,this._listeners),wt(t,e,this._oneTimeListeners),this},Mt.prototype.once=function(t,e){return this._oneTimeListeners=this._oneTimeListeners||{},_t(t,e,this._oneTimeListeners),this},Mt.prototype.fire=function(t,e){"string"==typeof t&&(t=new Tt(t,e||{}));var r=t.type;if(this.listens(r)){t.target=this;for(var n=0,i=this._listeners&&this._listeners[r]?this._listeners[r].slice():[];n<i.length;n+=1)i[n].call(this,t);for(var a=0,o=this._oneTimeListeners&&this._oneTimeListeners[r]?this._oneTimeListeners[r].slice():[];a<o.length;a+=1){var s=o[a];wt(r,s,this._oneTimeListeners),s.call(this,t)}var l=this._eventedParent;l&&(u(t,"function"==typeof this._eventedParentData?this._eventedParentData():this._eventedParentData),l.fire(t))}else t instanceof kt&&console.error(t.error);return this},Mt.prototype.listens=function(t){return this._listeners&&this._listeners[t]&&this._listeners[t].length>0||this._oneTimeListeners&&this._oneTimeListeners[t]&&this._oneTimeListeners[t].length>0||this._eventedParent&&this._eventedParent.listens(t)},Mt.prototype.setEventedParent=function(t,e){return this._eventedParent=t,this._eventedParentData=e,this};var At={$version:8,$root:{version:{required:!0,type:"enum",values:[8]},name:{type:"string"},metadata:{type:"*"},center:{type:"array",value:"number"},zoom:{type:"number"},bearing:{type:"number",default:0,period:360,units:"degrees"},pitch:{type:"number",default:0,units:"degrees"},light:{type:"light"},sources:{required:!0,type:"sources"},sprite:{type:"string"},glyphs:{type:"string"},transition:{type:"transition"},layers:{required:!0,type:"array",value:"layer"}},sources:{"*":{type:"source"}},source:["source_vector","source_raster","source_raster_dem","source_geojson","source_video","source_image"],source_vector:{type:{required:!0,type:"enum",values:{vector:{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},scheme:{type:"enum",values:{xyz:{},tms:{}},default:"xyz"},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},attribution:{type:"string"},promoteId:{type:"promoteId"},"*":{type:"*"}},source_raster:{type:{required:!0,type:"enum",values:{raster:{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},tileSize:{type:"number",default:512,units:"pixels"},scheme:{type:"enum",values:{xyz:{},tms:{}},default:"xyz"},attribution:{type:"string"},"*":{type:"*"}},source_raster_dem:{type:{required:!0,type:"enum",values:{"raster-dem":{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},tileSize:{type:"number",default:512,units:"pixels"},attribution:{type:"string"},encoding:{type:"enum",values:{terrarium:{},mapbox:{}},default:"mapbox"},"*":{type:"*"}},source_geojson:{type:{required:!0,type:"enum",values:{geojson:{}}},data:{type:"*"},maxzoom:{type:"number",default:18},attribution:{type:"string"},buffer:{type:"number",default:128,maximum:512,minimum:0},tolerance:{type:"number",default:.375},cluster:{type:"boolean",default:!1},clusterRadius:{type:"number",default:50,minimum:0},clusterMaxZoom:{type:"number"},clusterProperties:{type:"*"},lineMetrics:{type:"boolean",default:!1},generateId:{type:"boolean",default:!1},promoteId:{type:"promoteId"}},source_video:{type:{required:!0,type:"enum",values:{video:{}}},urls:{required:!0,type:"array",value:"string"},coordinates:{required:!0,type:"array",length:4,value:{type:"array",length:2,value:"number"}}},source_image:{type:{required:!0,type:"enum",values:{image:{}}},url:{required:!0,type:"string"},coordinates:{required:!0,type:"array",length:4,value:{type:"array",length:2,value:"number"}}},layer:{id:{type:"string",required:!0},type:{type:"enum",values:{fill:{},line:{},symbol:{},circle:{},heatmap:{},"fill-extrusion":{},raster:{},hillshade:{},background:{}},required:!0},metadata:{type:"*"},source:{type:"string"},"source-layer":{type:"string"},minzoom:{type:"number",minimum:0,maximum:24},maxzoom:{type:"number",minimum:0,maximum:24},filter:{type:"filter"},layout:{type:"layout"},paint:{type:"paint"}},layout:["layout_fill","layout_line","layout_circle","layout_heatmap","layout_fill-extrusion","layout_symbol","layout_raster","layout_hillshade","layout_background"],layout_background:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_fill:{"fill-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_circle:{"circle-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_heatmap:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},"layout_fill-extrusion":{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_line:{"line-cap":{type:"enum",values:{butt:{},round:{},square:{}},default:"butt",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"line-join":{type:"enum",values:{bevel:{},round:{},miter:{}},default:"miter",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"line-miter-limit":{type:"number",default:2,requires:[{"line-join":"miter"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-round-limit":{type:"number",default:1.05,requires:[{"line-join":"round"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_symbol:{"symbol-placement":{type:"enum",values:{point:{},line:{},"line-center":{}},default:"point",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"symbol-spacing":{type:"number",default:250,minimum:1,units:"pixels",requires:[{"symbol-placement":"line"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"symbol-avoid-edges":{type:"boolean",default:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"symbol-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"symbol-z-order":{type:"enum",values:{auto:{},"viewport-y":{},source:{}},default:"auto",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-allow-overlap":{type:"boolean",default:!1,requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-ignore-placement":{type:"boolean",default:!1,requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-optional":{type:"boolean",default:!1,requires:["icon-image","text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-rotation-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-size":{type:"number",default:1,minimum:0,units:"factor of the original icon size",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-text-fit":{type:"enum",values:{none:{},width:{},height:{},both:{}},default:"none",requires:["icon-image","text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-text-fit-padding":{type:"array",value:"number",length:4,default:[0,0,0,0],units:"pixels",requires:["icon-image","text-field",{"icon-text-fit":["both","width","height"]}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-image":{type:"resolvedImage",tokens:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-rotate":{type:"number",default:0,period:360,units:"degrees",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-padding":{type:"number",default:2,minimum:0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-keep-upright":{type:"boolean",default:!1,requires:["icon-image",{"icon-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-offset":{type:"array",value:"number",length:2,default:[0,0],requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-anchor":{type:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},default:"center",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-pitch-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-pitch-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-rotation-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-field":{type:"formatted",default:"",tokens:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-font":{type:"array",value:"string",default:["Open Sans Regular","Arial Unicode MS Regular"],requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-size":{type:"number",default:16,minimum:0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-max-width":{type:"number",default:10,minimum:0,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-line-height":{type:"number",default:1.2,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-letter-spacing":{type:"number",default:0,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-justify":{type:"enum",values:{auto:{},left:{},center:{},right:{}},default:"center",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-radial-offset":{type:"number",units:"ems",default:0,requires:["text-field"],"property-type":"data-driven",expression:{interpolated:!0,parameters:["zoom","feature"]}},"text-variable-anchor":{type:"array",value:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-anchor":{type:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},default:"center",requires:["text-field",{"!":"text-variable-anchor"}],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-max-angle":{type:"number",default:45,units:"degrees",requires:["text-field",{"symbol-placement":["line","line-center"]}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-writing-mode":{type:"array",value:"enum",values:{horizontal:{},vertical:{}},requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-rotate":{type:"number",default:0,period:360,units:"degrees",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-padding":{type:"number",default:2,minimum:0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-keep-upright":{type:"boolean",default:!0,requires:["text-field",{"text-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-transform":{type:"enum",values:{none:{},uppercase:{},lowercase:{}},default:"none",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-offset":{type:"array",value:"number",units:"ems",length:2,default:[0,0],requires:["text-field",{"!":"text-radial-offset"}],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-allow-overlap":{type:"boolean",default:!1,requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-ignore-placement":{type:"boolean",default:!1,requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-optional":{type:"boolean",default:!1,requires:["text-field","icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_raster:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_hillshade:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},filter:{type:"array",value:"*"},filter_operator:{type:"enum",values:{"==":{},"!=":{},">":{},">=":{},"<":{},"<=":{},in:{},"!in":{},all:{},any:{},none:{},has:{},"!has":{},within:{}}},geometry_type:{type:"enum",values:{Point:{},LineString:{},Polygon:{}}},function:{expression:{type:"expression"},stops:{type:"array",value:"function_stop"},base:{type:"number",default:1,minimum:0},property:{type:"string",default:"$zoom"},type:{type:"enum",values:{identity:{},exponential:{},interval:{},categorical:{}},default:"exponential"},colorSpace:{type:"enum",values:{rgb:{},lab:{},hcl:{}},default:"rgb"},default:{type:"*",required:!1}},function_stop:{type:"array",minimum:0,maximum:24,value:["number","color"],length:2},expression:{type:"array",value:"*",minimum:1},expression_name:{type:"enum",values:{let:{group:"Variable binding"},var:{group:"Variable binding"},literal:{group:"Types"},array:{group:"Types"},at:{group:"Lookup"},in:{group:"Lookup"},"index-of":{group:"Lookup"},slice:{group:"Lookup"},case:{group:"Decision"},match:{group:"Decision"},coalesce:{group:"Decision"},step:{group:"Ramps, scales, curves"},interpolate:{group:"Ramps, scales, curves"},"interpolate-hcl":{group:"Ramps, scales, curves"},"interpolate-lab":{group:"Ramps, scales, curves"},ln2:{group:"Math"},pi:{group:"Math"},e:{group:"Math"},typeof:{group:"Types"},string:{group:"Types"},number:{group:"Types"},boolean:{group:"Types"},object:{group:"Types"},collator:{group:"Types"},format:{group:"Types"},image:{group:"Types"},"number-format":{group:"Types"},"to-string":{group:"Types"},"to-number":{group:"Types"},"to-boolean":{group:"Types"},"to-rgba":{group:"Color"},"to-color":{group:"Types"},rgb:{group:"Color"},rgba:{group:"Color"},get:{group:"Lookup"},has:{group:"Lookup"},length:{group:"Lookup"},properties:{group:"Feature data"},"feature-state":{group:"Feature data"},"geometry-type":{group:"Feature data"},id:{group:"Feature data"},zoom:{group:"Zoom"},"heatmap-density":{group:"Heatmap"},"line-progress":{group:"Feature data"},accumulated:{group:"Feature data"},"+":{group:"Math"},"*":{group:"Math"},"-":{group:"Math"},"/":{group:"Math"},"%":{group:"Math"},"^":{group:"Math"},sqrt:{group:"Math"},log10:{group:"Math"},ln:{group:"Math"},log2:{group:"Math"},sin:{group:"Math"},cos:{group:"Math"},tan:{group:"Math"},asin:{group:"Math"},acos:{group:"Math"},atan:{group:"Math"},min:{group:"Math"},max:{group:"Math"},round:{group:"Math"},abs:{group:"Math"},ceil:{group:"Math"},floor:{group:"Math"},distance:{group:"Math"},"==":{group:"Decision"},"!=":{group:"Decision"},">":{group:"Decision"},"<":{group:"Decision"},">=":{group:"Decision"},"<=":{group:"Decision"},all:{group:"Decision"},any:{group:"Decision"},"!":{group:"Decision"},within:{group:"Decision"},"is-supported-script":{group:"String"},upcase:{group:"String"},downcase:{group:"String"},concat:{group:"String"},"resolved-locale":{group:"String"}}},light:{anchor:{type:"enum",default:"viewport",values:{map:{},viewport:{}},"property-type":"data-constant",transition:!1,expression:{interpolated:!1,parameters:["zoom"]}},position:{type:"array",default:[1.15,210,30],length:3,value:"number","property-type":"data-constant",transition:!0,expression:{interpolated:!0,parameters:["zoom"]}},color:{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},intensity:{type:"number","property-type":"data-constant",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0}},paint:["paint_fill","paint_line","paint_circle","paint_heatmap","paint_fill-extrusion","paint_symbol","paint_raster","paint_hillshade","paint_background"],paint_fill:{"fill-antialias":{type:"boolean",default:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-outline-color":{type:"color",transition:!0,requires:[{"!":"fill-pattern"},{"fill-antialias":!0}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"}},"paint_fill-extrusion":{"fill-extrusion-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-extrusion-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-extrusion-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"fill-extrusion-height":{type:"number",default:0,minimum:0,units:"meters",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-base":{type:"number",default:0,minimum:0,units:"meters",transition:!0,requires:["fill-extrusion-height"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-vertical-gradient":{type:"boolean",default:!0,transition:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_line:{"line-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"line-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["line-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"line-width":{type:"number",default:1,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-gap-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-offset":{type:"number",default:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-dasharray":{type:"array",value:"number",minimum:0,transition:!0,units:"line widths",requires:[{"!":"line-pattern"}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"line-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"line-gradient":{type:"color",transition:!1,requires:[{"!":"line-dasharray"},{"!":"line-pattern"},{source:"geojson",has:{lineMetrics:!0}}],expression:{interpolated:!0,parameters:["line-progress"]},"property-type":"color-ramp"}},paint_circle:{"circle-radius":{type:"number",default:5,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-blur":{type:"number",default:0,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"circle-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["circle-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-scale":{type:"enum",values:{map:{},viewport:{}},default:"map",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-alignment":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-stroke-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"}},paint_heatmap:{"heatmap-radius":{type:"number",default:30,minimum:1,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-weight":{type:"number",default:1,minimum:0,transition:!1,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-intensity":{type:"number",default:1,minimum:0,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"heatmap-color":{type:"color",default:["interpolate",["linear"],["heatmap-density"],0,"rgba(0, 0, 255, 0)",.1,"royalblue",.3,"cyan",.5,"lime",.7,"yellow",1,"red"],transition:!1,expression:{interpolated:!0,parameters:["heatmap-density"]},"property-type":"color-ramp"},"heatmap-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_symbol:{"icon-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-color":{type:"color",default:"#000000",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["icon-image","icon-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-color":{type:"color",default:"#000000",transition:!0,overridable:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["text-field","text-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_raster:{"raster-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-hue-rotate":{type:"number",default:0,period:360,transition:!0,units:"degrees",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-min":{type:"number",default:0,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-max":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-saturation":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-contrast":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-resampling":{type:"enum",values:{linear:{},nearest:{}},default:"linear",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"raster-fade-duration":{type:"number",default:300,minimum:0,transition:!1,units:"milliseconds",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_hillshade:{"hillshade-illumination-direction":{type:"number",default:335,minimum:0,maximum:359,transition:!1,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-illumination-anchor":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-exaggeration":{type:"number",default:.5,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-shadow-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-highlight-color":{type:"color",default:"#FFFFFF",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-accent-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_background:{"background-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"background-pattern"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"background-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"background-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},transition:{duration:{type:"number",default:300,minimum:0,units:"milliseconds"},delay:{type:"number",default:0,minimum:0,units:"milliseconds"}},"property-type":{"data-driven":{type:"property-type"},"cross-faded":{type:"property-type"},"cross-faded-data-driven":{type:"property-type"},"color-ramp":{type:"property-type"},"data-constant":{type:"property-type"},constant:{type:"property-type"}},promoteId:{"*":{type:"string"}}},St=function(t,e,r,n){this.message=(t?t+": ":"")+r,n&&(this.identifier=n),null!=e&&e.__line__&&(this.line=e.__line__)};function Et(t){var e=t.value;return e?[new St(t.key,e,"constants have been deprecated as of v8")]:[]}function Ct(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];for(var n=0,i=e;n<i.length;n+=1){var a=i[n];for(var o in a)t[o]=a[o]}return t}function Lt(t){return t instanceof Number||t instanceof String||t instanceof Boolean?t.valueOf():t}function It(t){if(Array.isArray(t))return t.map(It);if(t instanceof Object&&!(t instanceof Number||t instanceof String||t instanceof Boolean)){var e={};for(var r in t)e[r]=It(t[r]);return e}return Lt(t)}var Pt=function(t){function e(e,r){t.call(this,r),this.message=r,this.key=e}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e}(Error),zt=function(t,e){void 0===e&&(e=[]),this.parent=t,this.bindings={};for(var r=0,n=e;r<n.length;r+=1){var i=n[r];this.bindings[i[0]]=i[1]}};zt.prototype.concat=function(t){return new zt(this,t)},zt.prototype.get=function(t){if(this.bindings[t])return this.bindings[t];if(this.parent)return this.parent.get(t);throw new Error(t+" not found in scope.")},zt.prototype.has=function(t){return!!this.bindings[t]||!!this.parent&&this.parent.has(t)};var Ot={kind:"null"},Dt={kind:"number"},Rt={kind:"string"},Ft={kind:"boolean"},Bt={kind:"color"},Nt={kind:"object"},jt={kind:"value"},Ut={kind:"collator"},Vt={kind:"formatted"},qt={kind:"resolvedImage"};function Ht(t,e){return{kind:"array",itemType:t,N:e}}function Gt(t){if("array"===t.kind){var e=Gt(t.itemType);return"number"==typeof t.N?"array<"+e+", "+t.N+">":"value"===t.itemType.kind?"array":"array<"+e+">"}return t.kind}var Yt=[Ot,Dt,Rt,Ft,Bt,Vt,Nt,Ht(jt),qt];function Wt(t,e){if("error"===e.kind)return null;if("array"===t.kind){if("array"===e.kind&&(0===e.N&&"value"===e.itemType.kind||!Wt(t.itemType,e.itemType))&&("number"!=typeof t.N||t.N===e.N))return null}else{if(t.kind===e.kind)return null;if("value"===t.kind)for(var r=0,n=Yt;r<n.length;r+=1)if(!Wt(n[r],e))return null}return"Expected "+Gt(t)+" but found "+Gt(e)+" instead."}function Xt(t,e){return e.some((function(e){return e.kind===t.kind}))}function Zt(t,e){return e.some((function(e){return"null"===e?null===t:"array"===e?Array.isArray(t):"object"===e?t&&!Array.isArray(t)&&"object"==typeof t:e===typeof t}))}var Jt=e((function(t,e){var r={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],rebeccapurple:[102,51,153,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};function n(t){return(t=Math.round(t))<0?0:t>255?255:t}function i(t){return n("%"===t[t.length-1]?parseFloat(t)/100*255:parseInt(t))}function a(t){return(e="%"===t[t.length-1]?parseFloat(t)/100:parseFloat(t))<0?0:e>1?1:e;var e}function o(t,e,r){return r<0?r+=1:r>1&&(r-=1),6*r<1?t+(e-t)*r*6:2*r<1?e:3*r<2?t+(e-t)*(2/3-r)*6:t}try{e.parseCSSColor=function(t){var e,s=t.replace(/ /g,"").toLowerCase();if(s in r)return r[s].slice();if("#"===s[0])return 4===s.length?(e=parseInt(s.substr(1),16))>=0&&e<=4095?[(3840&e)>>4|(3840&e)>>8,240&e|(240&e)>>4,15&e|(15&e)<<4,1]:null:7===s.length&&(e=parseInt(s.substr(1),16))>=0&&e<=16777215?[(16711680&e)>>16,(65280&e)>>8,255&e,1]:null;var l=s.indexOf("("),c=s.indexOf(")");if(-1!==l&&c+1===s.length){var u=s.substr(0,l),f=s.substr(l+1,c-(l+1)).split(","),h=1;switch(u){case"rgba":if(4!==f.length)return null;h=a(f.pop());case"rgb":return 3!==f.length?null:[i(f[0]),i(f[1]),i(f[2]),h];case"hsla":if(4!==f.length)return null;h=a(f.pop());case"hsl":if(3!==f.length)return null;var p=(parseFloat(f[0])%360+360)%360/360,d=a(f[1]),g=a(f[2]),m=g<=.5?g*(d+1):g+d-g*d,v=2*g-m;return[n(255*o(v,m,p+1/3)),n(255*o(v,m,p)),n(255*o(v,m,p-1/3)),h];default:return null}}return null}}catch(t){}})).parseCSSColor,Kt=function(t,e,r,n){void 0===n&&(n=1),this.r=t,this.g=e,this.b=r,this.a=n};Kt.parse=function(t){if(t){if(t instanceof Kt)return t;if("string"==typeof t){var e=Jt(t);if(e)return new Kt(e[0]/255*e[3],e[1]/255*e[3],e[2]/255*e[3],e[3])}}},Kt.prototype.toString=function(){var t=this.toArray(),e=t[1],r=t[2],n=t[3];return"rgba("+Math.round(t[0])+","+Math.round(e)+","+Math.round(r)+","+n+")"},Kt.prototype.toArray=function(){var t=this.a;return 0===t?[0,0,0,0]:[255*this.r/t,255*this.g/t,255*this.b/t,t]},Kt.black=new Kt(0,0,0,1),Kt.white=new Kt(1,1,1,1),Kt.transparent=new Kt(0,0,0,0),Kt.red=new Kt(1,0,0,1);var Qt=function(t,e,r){this.sensitivity=t?e?"variant":"case":e?"accent":"base",this.locale=r,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:"search"})};Qt.prototype.compare=function(t,e){return this.collator.compare(t,e)},Qt.prototype.resolvedLocale=function(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale};var $t=function(t,e,r,n,i){this.text=t,this.image=e,this.scale=r,this.fontStack=n,this.textColor=i},te=function(t){this.sections=t};te.fromString=function(t){return new te([new $t(t,null,null,null,null)])},te.prototype.isEmpty=function(){return 0===this.sections.length||!this.sections.some((function(t){return 0!==t.text.length||t.image&&0!==t.image.name.length}))},te.factory=function(t){return t instanceof te?t:te.fromString(t)},te.prototype.toString=function(){return 0===this.sections.length?"":this.sections.map((function(t){return t.text})).join("")},te.prototype.serialize=function(){for(var t=["format"],e=0,r=this.sections;e<r.length;e+=1){var n=r[e];if(n.image)t.push(["image",n.image.name]);else{t.push(n.text);var i={};n.fontStack&&(i["text-font"]=["literal",n.fontStack.split(",")]),n.scale&&(i["font-scale"]=n.scale),n.textColor&&(i["text-color"]=["rgba"].concat(n.textColor.toArray())),t.push(i)}}return t};var ee=function(t){this.name=t.name,this.available=t.available};function re(t,e,r,n){return"number"==typeof t&&t>=0&&t<=255&&"number"==typeof e&&e>=0&&e<=255&&"number"==typeof r&&r>=0&&r<=255?void 0===n||"number"==typeof n&&n>=0&&n<=1?null:"Invalid rgba value ["+[t,e,r,n].join(", ")+"]: 'a' must be between 0 and 1.":"Invalid rgba value ["+("number"==typeof n?[t,e,r,n]:[t,e,r]).join(", ")+"]: 'r', 'g', and 'b' must be between 0 and 255."}function ne(t){if(null===t)return!0;if("string"==typeof t)return!0;if("boolean"==typeof t)return!0;if("number"==typeof t)return!0;if(t instanceof Kt)return!0;if(t instanceof Qt)return!0;if(t instanceof te)return!0;if(t instanceof ee)return!0;if(Array.isArray(t)){for(var e=0,r=t;e<r.length;e+=1)if(!ne(r[e]))return!1;return!0}if("object"==typeof t){for(var n in t)if(!ne(t[n]))return!1;return!0}return!1}function ie(t){if(null===t)return Ot;if("string"==typeof t)return Rt;if("boolean"==typeof t)return Ft;if("number"==typeof t)return Dt;if(t instanceof Kt)return Bt;if(t instanceof Qt)return Ut;if(t instanceof te)return Vt;if(t instanceof ee)return qt;if(Array.isArray(t)){for(var e,r=t.length,n=0,i=t;n<i.length;n+=1){var a=ie(i[n]);if(e){if(e===a)continue;e=jt;break}e=a}return Ht(e||jt,r)}return Nt}function ae(t){var e=typeof t;return null===t?"":"string"===e||"number"===e||"boolean"===e?String(t):t instanceof Kt||t instanceof te||t instanceof ee?t.toString():JSON.stringify(t)}ee.prototype.toString=function(){return this.name},ee.fromString=function(t){return t?new ee({name:t,available:!1}):null},ee.prototype.serialize=function(){return["image",this.name]};var oe=function(t,e){this.type=t,this.value=e};oe.parse=function(t,e){if(2!==t.length)return e.error("'literal' expression requires exactly one argument, but found "+(t.length-1)+" instead.");if(!ne(t[1]))return e.error("invalid value");var r=t[1],n=ie(r),i=e.expectedType;return"array"!==n.kind||0!==n.N||!i||"array"!==i.kind||"number"==typeof i.N&&0!==i.N||(n=i),new oe(n,r)},oe.prototype.evaluate=function(){return this.value},oe.prototype.eachChild=function(){},oe.prototype.outputDefined=function(){return!0},oe.prototype.serialize=function(){return"array"===this.type.kind||"object"===this.type.kind?["literal",this.value]:this.value instanceof Kt?["rgba"].concat(this.value.toArray()):this.value instanceof te?this.value.serialize():this.value};var se=function(t){this.name="ExpressionEvaluationError",this.message=t};se.prototype.toJSON=function(){return this.message};var le={string:Rt,number:Dt,boolean:Ft,object:Nt},ce=function(t,e){this.type=t,this.args=e};ce.parse=function(t,e){if(t.length<2)return e.error("Expected at least one argument.");var r,n=1,i=t[0];if("array"===i){var a,o;if(t.length>2){var s=t[1];if("string"!=typeof s||!(s in le)||"object"===s)return e.error('The item type argument of "array" must be one of string, number, boolean',1);a=le[s],n++}else a=jt;if(t.length>3){if(null!==t[2]&&("number"!=typeof t[2]||t[2]<0||t[2]!==Math.floor(t[2])))return e.error('The length argument to "array" must be a positive integer literal',2);o=t[2],n++}r=Ht(a,o)}else r=le[i];for(var l=[];n<t.length;n++){var c=e.parse(t[n],n,jt);if(!c)return null;l.push(c)}return new ce(r,l)},ce.prototype.evaluate=function(t){for(var e=0;e<this.args.length;e++){var r=this.args[e].evaluate(t);if(!Wt(this.type,ie(r)))return r;if(e===this.args.length-1)throw new se("Expected value to be of type "+Gt(this.type)+", but found "+Gt(ie(r))+" instead.")}return null},ce.prototype.eachChild=function(t){this.args.forEach(t)},ce.prototype.outputDefined=function(){return this.args.every((function(t){return t.outputDefined()}))},ce.prototype.serialize=function(){var t=this.type,e=[t.kind];if("array"===t.kind){var r=t.itemType;if("string"===r.kind||"number"===r.kind||"boolean"===r.kind){e.push(r.kind);var n=t.N;("number"==typeof n||this.args.length>1)&&e.push(n)}}return e.concat(this.args.map((function(t){return t.serialize()})))};var ue=function(t){this.type=Vt,this.sections=t};ue.parse=function(t,e){if(t.length<2)return e.error("Expected at least one argument.");var r=t[1];if(!Array.isArray(r)&&"object"==typeof r)return e.error("First argument must be an image or text section.");for(var n=[],i=!1,a=1;a<=t.length-1;++a){var o=t[a];if(i&&"object"==typeof o&&!Array.isArray(o)){i=!1;var s=null;if(o["font-scale"]&&!(s=e.parse(o["font-scale"],1,Dt)))return null;var l=null;if(o["text-font"]&&!(l=e.parse(o["text-font"],1,Ht(Rt))))return null;var c=null;if(o["text-color"]&&!(c=e.parse(o["text-color"],1,Bt)))return null;var u=n[n.length-1];u.scale=s,u.font=l,u.textColor=c}else{var f=e.parse(t[a],1,jt);if(!f)return null;var h=f.type.kind;if("string"!==h&&"value"!==h&&"null"!==h&&"resolvedImage"!==h)return e.error("Formatted text type must be 'string', 'value', 'image' or 'null'.");i=!0,n.push({content:f,scale:null,font:null,textColor:null})}}return new ue(n)},ue.prototype.evaluate=function(t){return new te(this.sections.map((function(e){var r=e.content.evaluate(t);return ie(r)===qt?new $t("",r,null,null,null):new $t(ae(r),null,e.scale?e.scale.evaluate(t):null,e.font?e.font.evaluate(t).join(","):null,e.textColor?e.textColor.evaluate(t):null)})))},ue.prototype.eachChild=function(t){for(var e=0,r=this.sections;e<r.length;e+=1){var n=r[e];t(n.content),n.scale&&t(n.scale),n.font&&t(n.font),n.textColor&&t(n.textColor)}},ue.prototype.outputDefined=function(){return!1},ue.prototype.serialize=function(){for(var t=["format"],e=0,r=this.sections;e<r.length;e+=1){var n=r[e];t.push(n.content.serialize());var i={};n.scale&&(i["font-scale"]=n.scale.serialize()),n.font&&(i["text-font"]=n.font.serialize()),n.textColor&&(i["text-color"]=n.textColor.serialize()),t.push(i)}return t};var fe=function(t){this.type=qt,this.input=t};fe.parse=function(t,e){if(2!==t.length)return e.error("Expected two arguments.");var r=e.parse(t[1],1,Rt);return r?new fe(r):e.error("No image name provided.")},fe.prototype.evaluate=function(t){var e=this.input.evaluate(t),r=ee.fromString(e);return r&&t.availableImages&&(r.available=t.availableImages.indexOf(e)>-1),r},fe.prototype.eachChild=function(t){t(this.input)},fe.prototype.outputDefined=function(){return!1},fe.prototype.serialize=function(){return["image",this.input.serialize()]};var he={"to-boolean":Ft,"to-color":Bt,"to-number":Dt,"to-string":Rt},pe=function(t,e){this.type=t,this.args=e};pe.parse=function(t,e){if(t.length<2)return e.error("Expected at least one argument.");var r=t[0];if(("to-boolean"===r||"to-string"===r)&&2!==t.length)return e.error("Expected one argument.");for(var n=he[r],i=[],a=1;a<t.length;a++){var o=e.parse(t[a],a,jt);if(!o)return null;i.push(o)}return new pe(n,i)},pe.prototype.evaluate=function(t){if("boolean"===this.type.kind)return Boolean(this.args[0].evaluate(t));if("color"===this.type.kind){for(var e,r,n=0,i=this.args;n<i.length;n+=1){if(r=null,(e=i[n].evaluate(t))instanceof Kt)return e;if("string"==typeof e){var a=t.parseColor(e);if(a)return a}else if(Array.isArray(e)&&!(r=e.length<3||e.length>4?"Invalid rbga value "+JSON.stringify(e)+": expected an array containing either three or four numeric values.":re(e[0],e[1],e[2],e[3])))return new Kt(e[0]/255,e[1]/255,e[2]/255,e[3])}throw new se(r||"Could not parse color from value '"+("string"==typeof e?e:String(JSON.stringify(e)))+"'")}if("number"===this.type.kind){for(var o=null,s=0,l=this.args;s<l.length;s+=1){if(null===(o=l[s].evaluate(t)))return 0;var c=Number(o);if(!isNaN(c))return c}throw new se("Could not convert "+JSON.stringify(o)+" to number.")}return"formatted"===this.type.kind?te.fromString(ae(this.args[0].evaluate(t))):"resolvedImage"===this.type.kind?ee.fromString(ae(this.args[0].evaluate(t))):ae(this.args[0].evaluate(t))},pe.prototype.eachChild=function(t){this.args.forEach(t)},pe.prototype.outputDefined=function(){return this.args.every((function(t){return t.outputDefined()}))},pe.prototype.serialize=function(){if("formatted"===this.type.kind)return new ue([{content:this.args[0],scale:null,font:null,textColor:null}]).serialize();if("resolvedImage"===this.type.kind)return new fe(this.args[0]).serialize();var t=["to-"+this.type.kind];return this.eachChild((function(e){t.push(e.serialize())})),t};var de=["Unknown","Point","LineString","Polygon"],ge=function(){this.globals=null,this.feature=null,this.featureState=null,this.formattedSection=null,this._parseColorCache={},this.availableImages=null,this.canonical=null};ge.prototype.id=function(){return this.feature&&"id"in this.feature?this.feature.id:null},ge.prototype.geometryType=function(){return this.feature?"number"==typeof this.feature.type?de[this.feature.type]:this.feature.type:null},ge.prototype.geometry=function(){return this.feature&&"geometry"in this.feature?this.feature.geometry:null},ge.prototype.canonicalID=function(){return this.canonical},ge.prototype.properties=function(){return this.feature&&this.feature.properties||{}},ge.prototype.parseColor=function(t){var e=this._parseColorCache[t];return e||(e=this._parseColorCache[t]=Kt.parse(t)),e};var me=function(t,e,r,n){this.name=t,this.type=e,this._evaluate=r,this.args=n};me.prototype.evaluate=function(t){return this._evaluate(t,this.args)},me.prototype.eachChild=function(t){this.args.forEach(t)},me.prototype.outputDefined=function(){return!1},me.prototype.serialize=function(){return[this.name].concat(this.args.map((function(t){return t.serialize()})))},me.parse=function(t,e){var r,n=t[0],i=me.definitions[n];if(!i)return e.error('Unknown expression "'+n+'". If you wanted a literal array, use ["literal", [...]].',0);for(var a=Array.isArray(i)?i[0]:i.type,o=Array.isArray(i)?[[i[1],i[2]]]:i.overloads,s=o.filter((function(e){var r=e[0];return!Array.isArray(r)||r.length===t.length-1})),l=null,c=0,u=s;c<u.length;c+=1){var f=u[c],h=f[0],p=f[1];l=new Be(e.registry,e.path,null,e.scope);for(var d=[],g=!1,m=1;m<t.length;m++){var v=t[m],y=Array.isArray(h)?h[m-1]:h.type,x=l.parse(v,1+d.length,y);if(!x){g=!0;break}d.push(x)}if(!g)if(Array.isArray(h)&&h.length!==d.length)l.error("Expected "+h.length+" arguments, but found "+d.length+" instead.");else{for(var b=0;b<d.length;b++){var _=Array.isArray(h)?h[b]:h.type,w=d[b];l.concat(b+1).checkSubtype(_,w.type)}if(0===l.errors.length)return new me(n,a,p,d)}}if(1===s.length)(r=e.errors).push.apply(r,l.errors);else{for(var T=(s.length?s:o).map((function(t){var e;return e=t[0],Array.isArray(e)?"("+e.map(Gt).join(", ")+")":"("+Gt(e.type)+"...)"})).join(" | "),k=[],M=1;M<t.length;M++){var A=e.parse(t[M],1+k.length);if(!A)return null;k.push(Gt(A.type))}e.error("Expected arguments of type "+T+", but found ("+k.join(", ")+") instead.")}return null},me.register=function(t,e){for(var r in me.definitions=e,e)t[r]=me};var ve=function(t,e,r){this.type=Ut,this.locale=r,this.caseSensitive=t,this.diacriticSensitive=e};function ye(t,e){t[0]=Math.min(t[0],e[0]),t[1]=Math.min(t[1],e[1]),t[2]=Math.max(t[2],e[0]),t[3]=Math.max(t[3],e[1])}function xe(t,e){return!(t[0]<=e[0]||t[2]>=e[2]||t[1]<=e[1]||t[3]>=e[3])}function be(t,e){var r=(180+t[0])/360,n=(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t[1]*Math.PI/360)))/360,i=Math.pow(2,e.z);return[Math.round(r*i*8192),Math.round(n*i*8192)]}function _e(t,e,r){return e[1]>t[1]!=r[1]>t[1]&&t[0]<(r[0]-e[0])*(t[1]-e[1])/(r[1]-e[1])+e[0]}function we(t,e){for(var r,n,i,a,o,s,l,c=!1,u=0,f=e.length;u<f;u++)for(var h=e[u],p=0,d=h.length;p<d-1;p++){if((a=(r=t)[0]-(n=h[p])[0])*(l=r[1]-(i=h[p+1])[1])-(s=r[0]-i[0])*(o=r[1]-n[1])==0&&a*s<=0&&o*l<=0)return!1;_e(t,h[p],h[p+1])&&(c=!c)}return c}function Te(t,e){for(var r=0;r<e.length;r++)if(we(t,e[r]))return!0;return!1}function ke(t,e,r,n){var i=n[0]-r[0],a=n[1]-r[1],o=(t[0]-r[0])*a-i*(t[1]-r[1]),s=(e[0]-r[0])*a-i*(e[1]-r[1]);return o>0&&s<0||o<0&&s>0}function Me(t,e,r){for(var n=0,i=r;n<i.length;n+=1)for(var a=i[n],o=0;o<a.length-1;++o)if(0!=(f=[(u=a[o+1])[0]-(c=a[o])[0],u[1]-c[1]])[0]*(h=[(l=e)[0]-(s=t)[0],l[1]-s[1]])[1]-f[1]*h[0]&&ke(s,l,c,u)&&ke(c,u,s,l))return!0;var s,l,c,u,f,h;return!1}function Ae(t,e){for(var r=0;r<t.length;++r)if(!we(t[r],e))return!1;for(var n=0;n<t.length-1;++n)if(Me(t[n],t[n+1],e))return!1;return!0}function Se(t,e){for(var r=0;r<e.length;r++)if(Ae(t,e[r]))return!0;return!1}function Ee(t,e,r){for(var n=[],i=0;i<t.length;i++){for(var a=[],o=0;o<t[i].length;o++){var s=be(t[i][o],r);ye(e,s),a.push(s)}n.push(a)}return n}function Ce(t,e,r){for(var n=[],i=0;i<t.length;i++){var a=Ee(t[i],e,r);n.push(a)}return n}function Le(t,e,r,n){if(t[0]<r[0]||t[0]>r[2]){var i=.5*n,a=t[0]-r[0]>i?-n:r[0]-t[0]>i?n:0;0===a&&(a=t[0]-r[2]>i?-n:r[2]-t[0]>i?n:0),t[0]+=a}ye(e,t)}function Ie(t,e,r,n){for(var i=8192*Math.pow(2,n.z),a=[8192*n.x,8192*n.y],o=[],s=0,l=t;s<l.length;s+=1)for(var c=0,u=l[s];c<u.length;c+=1){var f=u[c],h=[f.x+a[0],f.y+a[1]];Le(h,e,r,i),o.push(h)}return o}function Pe(t,e,r,n){for(var i,a=8192*Math.pow(2,n.z),o=[8192*n.x,8192*n.y],s=[],l=0,c=t;l<c.length;l+=1){for(var u=[],f=0,h=c[l];f<h.length;f+=1){var p=h[f],d=[p.x+o[0],p.y+o[1]];ye(e,d),u.push(d)}s.push(u)}if(e[2]-e[0]<=a/2){(i=e)[0]=i[1]=1/0,i[2]=i[3]=-1/0;for(var g=0,m=s;g<m.length;g+=1)for(var v=0,y=m[g];v<y.length;v+=1)Le(y[v],e,r,a)}return s}ve.parse=function(t,e){if(2!==t.length)return e.error("Expected one argument.");var r=t[1];if("object"!=typeof r||Array.isArray(r))return e.error("Collator options argument must be an object.");var n=e.parse(void 0!==r["case-sensitive"]&&r["case-sensitive"],1,Ft);if(!n)return null;var i=e.parse(void 0!==r["diacritic-sensitive"]&&r["diacritic-sensitive"],1,Ft);if(!i)return null;var a=null;return r.locale&&!(a=e.parse(r.locale,1,Rt))?null:new ve(n,i,a)},ve.prototype.evaluate=function(t){return new Qt(this.caseSensitive.evaluate(t),this.diacriticSensitive.evaluate(t),this.locale?this.locale.evaluate(t):null)},ve.prototype.eachChild=function(t){t(this.caseSensitive),t(this.diacriticSensitive),this.locale&&t(this.locale)},ve.prototype.outputDefined=function(){return!1},ve.prototype.serialize=function(){var t={};return t["case-sensitive"]=this.caseSensitive.serialize(),t["diacritic-sensitive"]=this.diacriticSensitive.serialize(),this.locale&&(t.locale=this.locale.serialize()),["collator",t]};var ze=function(t,e){this.type=Ft,this.geojson=t,this.geometries=e};function Oe(t){if(t instanceof me){if("get"===t.name&&1===t.args.length)return!1;if("feature-state"===t.name)return!1;if("has"===t.name&&1===t.args.length)return!1;if("properties"===t.name||"geometry-type"===t.name||"id"===t.name)return!1;if(/^filter-/.test(t.name))return!1}if(t instanceof ze)return!1;var e=!0;return t.eachChild((function(t){e&&!Oe(t)&&(e=!1)})),e}function De(t){if(t instanceof me&&"feature-state"===t.name)return!1;var e=!0;return t.eachChild((function(t){e&&!De(t)&&(e=!1)})),e}function Re(t,e){if(t instanceof me&&e.indexOf(t.name)>=0)return!1;var r=!0;return t.eachChild((function(t){r&&!Re(t,e)&&(r=!1)})),r}ze.parse=function(t,e){if(2!==t.length)return e.error("'within' expression requires exactly one argument, but found "+(t.length-1)+" instead.");if(ne(t[1])){var r=t[1];if("FeatureCollection"===r.type)for(var n=0;n<r.features.length;++n){var i=r.features[n].geometry.type;if("Polygon"===i||"MultiPolygon"===i)return new ze(r,r.features[n].geometry)}else if("Feature"===r.type){var a=r.geometry.type;if("Polygon"===a||"MultiPolygon"===a)return new ze(r,r.geometry)}else if("Polygon"===r.type||"MultiPolygon"===r.type)return new ze(r,r)}return e.error("'within' expression requires valid geojson object that contains polygon geometry type.")},ze.prototype.evaluate=function(t){if(null!=t.geometry()&&null!=t.canonicalID()){if("Point"===t.geometryType())return function(t,e){var r=[1/0,1/0,-1/0,-1/0],n=[1/0,1/0,-1/0,-1/0],i=t.canonicalID();if("Polygon"===e.type){var a=Ee(e.coordinates,n,i),o=Ie(t.geometry(),r,n,i);if(!xe(r,n))return!1;for(var s=0,l=o;s<l.length;s+=1)if(!we(l[s],a))return!1}if("MultiPolygon"===e.type){var c=Ce(e.coordinates,n,i),u=Ie(t.geometry(),r,n,i);if(!xe(r,n))return!1;for(var f=0,h=u;f<h.length;f+=1)if(!Te(h[f],c))return!1}return!0}(t,this.geometries);if("LineString"===t.geometryType())return function(t,e){var r=[1/0,1/0,-1/0,-1/0],n=[1/0,1/0,-1/0,-1/0],i=t.canonicalID();if("Polygon"===e.type){var a=Ee(e.coordinates,n,i),o=Pe(t.geometry(),r,n,i);if(!xe(r,n))return!1;for(var s=0,l=o;s<l.length;s+=1)if(!Ae(l[s],a))return!1}if("MultiPolygon"===e.type){var c=Ce(e.coordinates,n,i),u=Pe(t.geometry(),r,n,i);if(!xe(r,n))return!1;for(var f=0,h=u;f<h.length;f+=1)if(!Se(h[f],c))return!1}return!0}(t,this.geometries)}return!1},ze.prototype.eachChild=function(){},ze.prototype.outputDefined=function(){return!0},ze.prototype.serialize=function(){return["within",this.geojson]};var Fe=function(t,e){this.type=e.type,this.name=t,this.boundExpression=e};Fe.parse=function(t,e){if(2!==t.length||"string"!=typeof t[1])return e.error("'var' expression requires exactly one string literal argument.");var r=t[1];return e.scope.has(r)?new Fe(r,e.scope.get(r)):e.error('Unknown variable "'+r+'". Make sure "'+r+'" has been bound in an enclosing "let" expression before using it.',1)},Fe.prototype.evaluate=function(t){return this.boundExpression.evaluate(t)},Fe.prototype.eachChild=function(){},Fe.prototype.outputDefined=function(){return!1},Fe.prototype.serialize=function(){return["var",this.name]};var Be=function(t,e,r,n,i){void 0===e&&(e=[]),void 0===n&&(n=new zt),void 0===i&&(i=[]),this.registry=t,this.path=e,this.key=e.map((function(t){return"["+t+"]"})).join(""),this.scope=n,this.errors=i,this.expectedType=r};function Ne(t,e){for(var r,n=t.length-1,i=0,a=n,o=0;i<=a;)if((r=t[o=Math.floor((i+a)/2)])<=e){if(o===n||e<t[o+1])return o;i=o+1}else{if(!(r>e))throw new se("Input is not a number.");a=o-1}return 0}Be.prototype.parse=function(t,e,r,n,i){return void 0===i&&(i={}),e?this.concat(e,r,n)._parse(t,i):this._parse(t,i)},Be.prototype._parse=function(t,e){function r(t,e,r){return"assert"===r?new ce(e,[t]):"coerce"===r?new pe(e,[t]):t}if(null!==t&&"string"!=typeof t&&"boolean"!=typeof t&&"number"!=typeof t||(t=["literal",t]),Array.isArray(t)){if(0===t.length)return this.error('Expected an array with at least one element. If you wanted a literal array, use ["literal", []].');var n=t[0];if("string"!=typeof n)return this.error("Expression name must be a string, but found "+typeof n+' instead. If you wanted a literal array, use ["literal", [...]].',0),null;var i=this.registry[n];if(i){var a=i.parse(t,this);if(!a)return null;if(this.expectedType){var o=this.expectedType,s=a.type;if("string"!==o.kind&&"number"!==o.kind&&"boolean"!==o.kind&&"object"!==o.kind&&"array"!==o.kind||"value"!==s.kind)if("color"!==o.kind&&"formatted"!==o.kind&&"resolvedImage"!==o.kind||"value"!==s.kind&&"string"!==s.kind){if(this.checkSubtype(o,s))return null}else a=r(a,o,e.typeAnnotation||"coerce");else a=r(a,o,e.typeAnnotation||"assert")}if(!(a instanceof oe)&&"resolvedImage"!==a.type.kind&&function t(e){if(e instanceof Fe)return t(e.boundExpression);if(e instanceof me&&"error"===e.name)return!1;if(e instanceof ve)return!1;if(e instanceof ze)return!1;var r=e instanceof pe||e instanceof ce,n=!0;return e.eachChild((function(e){n=r?n&&t(e):n&&e instanceof oe})),!!n&&Oe(e)&&Re(e,["zoom","heatmap-density","line-progress","accumulated","is-supported-script"])}(a)){var l=new ge;try{a=new oe(a.type,a.evaluate(l))}catch(t){return this.error(t.message),null}}return a}return this.error('Unknown expression "'+n+'". If you wanted a literal array, use ["literal", [...]].',0)}return this.error(void 0===t?"'undefined' value invalid. Use null instead.":"object"==typeof t?'Bare objects invalid. Use ["literal", {...}] instead.':"Expected an array, but found "+typeof t+" instead.")},Be.prototype.concat=function(t,e,r){var n="number"==typeof t?this.path.concat(t):this.path,i=r?this.scope.concat(r):this.scope;return new Be(this.registry,n,e||null,i,this.errors)},Be.prototype.error=function(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];var n=""+this.key+e.map((function(t){return"["+t+"]"})).join("");this.errors.push(new Pt(n,t))},Be.prototype.checkSubtype=function(t,e){var r=Wt(t,e);return r&&this.error(r),r};var je=function(t,e,r){this.type=t,this.input=e,this.labels=[],this.outputs=[];for(var n=0,i=r;n<i.length;n+=1){var a=i[n],o=a[1];this.labels.push(a[0]),this.outputs.push(o)}};function Ue(t,e,r){return t*(1-r)+e*r}je.parse=function(t,e){if(t.length-1<4)return e.error("Expected at least 4 arguments, but found only "+(t.length-1)+".");if((t.length-1)%2!=0)return e.error("Expected an even number of arguments.");var r=e.parse(t[1],1,Dt);if(!r)return null;var n=[],i=null;e.expectedType&&"value"!==e.expectedType.kind&&(i=e.expectedType);for(var a=1;a<t.length;a+=2){var o=1===a?-1/0:t[a],s=t[a+1],l=a,c=a+1;if("number"!=typeof o)return e.error('Input/output pairs for "step" expressions must be defined using literal numeric values (not computed expressions) for the input values.',l);if(n.length&&n[n.length-1][0]>=o)return e.error('Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.',l);var u=e.parse(s,c,i);if(!u)return null;i=i||u.type,n.push([o,u])}return new je(i,r,n)},je.prototype.evaluate=function(t){var e=this.labels,r=this.outputs;if(1===e.length)return r[0].evaluate(t);var n=this.input.evaluate(t);if(n<=e[0])return r[0].evaluate(t);var i=e.length;return n>=e[i-1]?r[i-1].evaluate(t):r[Ne(e,n)].evaluate(t)},je.prototype.eachChild=function(t){t(this.input);for(var e=0,r=this.outputs;e<r.length;e+=1)t(r[e])},je.prototype.outputDefined=function(){return this.outputs.every((function(t){return t.outputDefined()}))},je.prototype.serialize=function(){for(var t=["step",this.input.serialize()],e=0;e<this.labels.length;e++)e>0&&t.push(this.labels[e]),t.push(this.outputs[e].serialize());return t};var Ve=Object.freeze({__proto__:null,number:Ue,color:function(t,e,r){return new Kt(Ue(t.r,e.r,r),Ue(t.g,e.g,r),Ue(t.b,e.b,r),Ue(t.a,e.a,r))},array:function(t,e,r){return t.map((function(t,n){return Ue(t,e[n],r)}))}}),qe=6/29*3*(6/29),He=Math.PI/180,Ge=180/Math.PI;function Ye(t){return t>.008856451679035631?Math.pow(t,1/3):t/qe+4/29}function We(t){return t>6/29?t*t*t:qe*(t-4/29)}function Xe(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function Ze(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function Je(t){var e=Ze(t.r),r=Ze(t.g),n=Ze(t.b),i=Ye((.4124564*e+.3575761*r+.1804375*n)/.95047),a=Ye((.2126729*e+.7151522*r+.072175*n)/1);return{l:116*a-16,a:500*(i-a),b:200*(a-Ye((.0193339*e+.119192*r+.9503041*n)/1.08883)),alpha:t.a}}function Ke(t){var e=(t.l+16)/116,r=isNaN(t.a)?e:e+t.a/500,n=isNaN(t.b)?e:e-t.b/200;return e=1*We(e),r=.95047*We(r),n=1.08883*We(n),new Kt(Xe(3.2404542*r-1.5371385*e-.4985314*n),Xe(-.969266*r+1.8760108*e+.041556*n),Xe(.0556434*r-.2040259*e+1.0572252*n),t.alpha)}function Qe(t,e,r){var n=e-t;return t+r*(n>180||n<-180?n-360*Math.round(n/360):n)}var $e={forward:Je,reverse:Ke,interpolate:function(t,e,r){return{l:Ue(t.l,e.l,r),a:Ue(t.a,e.a,r),b:Ue(t.b,e.b,r),alpha:Ue(t.alpha,e.alpha,r)}}},tr={forward:function(t){var e=Je(t),r=e.l,n=e.a,i=e.b,a=Math.atan2(i,n)*Ge;return{h:a<0?a+360:a,c:Math.sqrt(n*n+i*i),l:r,alpha:t.a}},reverse:function(t){var e=t.h*He,r=t.c;return Ke({l:t.l,a:Math.cos(e)*r,b:Math.sin(e)*r,alpha:t.alpha})},interpolate:function(t,e,r){return{h:Qe(t.h,e.h,r),c:Ue(t.c,e.c,r),l:Ue(t.l,e.l,r),alpha:Ue(t.alpha,e.alpha,r)}}},er=Object.freeze({__proto__:null,lab:$e,hcl:tr}),rr=function(t,e,r,n,i){this.type=t,this.operator=e,this.interpolation=r,this.input=n,this.labels=[],this.outputs=[];for(var a=0,o=i;a<o.length;a+=1){var s=o[a],l=s[1];this.labels.push(s[0]),this.outputs.push(l)}};function nr(t,e,r,n){var i=n-r,a=t-r;return 0===i?0:1===e?a/i:(Math.pow(e,a)-1)/(Math.pow(e,i)-1)}rr.interpolationFactor=function(t,e,n,i){var a=0;if("exponential"===t.name)a=nr(e,t.base,n,i);else if("linear"===t.name)a=nr(e,1,n,i);else if("cubic-bezier"===t.name){var o=t.controlPoints;a=new r(o[0],o[1],o[2],o[3]).solve(nr(e,1,n,i))}return a},rr.parse=function(t,e){var r=t[0],n=t[1],i=t[2],a=t.slice(3);if(!Array.isArray(n)||0===n.length)return e.error("Expected an interpolation type expression.",1);if("linear"===n[0])n={name:"linear"};else if("exponential"===n[0]){var o=n[1];if("number"!=typeof o)return e.error("Exponential interpolation requires a numeric base.",1,1);n={name:"exponential",base:o}}else{if("cubic-bezier"!==n[0])return e.error("Unknown interpolation type "+String(n[0]),1,0);var s=n.slice(1);if(4!==s.length||s.some((function(t){return"number"!=typeof t||t<0||t>1})))return e.error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.",1);n={name:"cubic-bezier",controlPoints:s}}if(t.length-1<4)return e.error("Expected at least 4 arguments, but found only "+(t.length-1)+".");if((t.length-1)%2!=0)return e.error("Expected an even number of arguments.");if(!(i=e.parse(i,2,Dt)))return null;var l=[],c=null;"interpolate-hcl"===r||"interpolate-lab"===r?c=Bt:e.expectedType&&"value"!==e.expectedType.kind&&(c=e.expectedType);for(var u=0;u<a.length;u+=2){var f=a[u],h=a[u+1],p=u+3,d=u+4;if("number"!=typeof f)return e.error('Input/output pairs for "interpolate" expressions must be defined using literal numeric values (not computed expressions) for the input values.',p);if(l.length&&l[l.length-1][0]>=f)return e.error('Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.',p);var g=e.parse(h,d,c);if(!g)return null;c=c||g.type,l.push([f,g])}return"number"===c.kind||"color"===c.kind||"array"===c.kind&&"number"===c.itemType.kind&&"number"==typeof c.N?new rr(c,r,n,i,l):e.error("Type "+Gt(c)+" is not interpolatable.")},rr.prototype.evaluate=function(t){var e=this.labels,r=this.outputs;if(1===e.length)return r[0].evaluate(t);var n=this.input.evaluate(t);if(n<=e[0])return r[0].evaluate(t);var i=e.length;if(n>=e[i-1])return r[i-1].evaluate(t);var a=Ne(e,n),o=rr.interpolationFactor(this.interpolation,n,e[a],e[a+1]),s=r[a].evaluate(t),l=r[a+1].evaluate(t);return"interpolate"===this.operator?Ve[this.type.kind.toLowerCase()](s,l,o):"interpolate-hcl"===this.operator?tr.reverse(tr.interpolate(tr.forward(s),tr.forward(l),o)):$e.reverse($e.interpolate($e.forward(s),$e.forward(l),o))},rr.prototype.eachChild=function(t){t(this.input);for(var e=0,r=this.outputs;e<r.length;e+=1)t(r[e])},rr.prototype.outputDefined=function(){return this.outputs.every((function(t){return t.outputDefined()}))},rr.prototype.serialize=function(){var t;t="linear"===this.interpolation.name?["linear"]:"exponential"===this.interpolation.name?1===this.interpolation.base?["linear"]:["exponential",this.interpolation.base]:["cubic-bezier"].concat(this.interpolation.controlPoints);for(var e=[this.operator,t,this.input.serialize()],r=0;r<this.labels.length;r++)e.push(this.labels[r],this.outputs[r].serialize());return e};var ir=function(t,e){this.type=t,this.args=e};ir.parse=function(t,e){if(t.length<2)return e.error("Expectected at least one argument.");var r=null,n=e.expectedType;n&&"value"!==n.kind&&(r=n);for(var i=[],a=0,o=t.slice(1);a<o.length;a+=1){var s=e.parse(o[a],1+i.length,r,void 0,{typeAnnotation:"omit"});if(!s)return null;r=r||s.type,i.push(s)}var l=n&&i.some((function(t){return Wt(n,t.type)}));return new ir(l?jt:r,i)},ir.prototype.evaluate=function(t){for(var e,r=null,n=0,i=0,a=this.args;i<a.length&&(n++,(r=a[i].evaluate(t))&&r instanceof ee&&!r.available&&(e||(e=r.name),r=null,n===this.args.length&&(r=e)),null===r);i+=1);return r},ir.prototype.eachChild=function(t){this.args.forEach(t)},ir.prototype.outputDefined=function(){return this.args.every((function(t){return t.outputDefined()}))},ir.prototype.serialize=function(){var t=["coalesce"];return this.eachChild((function(e){t.push(e.serialize())})),t};var ar=function(t,e){this.type=e.type,this.bindings=[].concat(t),this.result=e};ar.prototype.evaluate=function(t){return this.result.evaluate(t)},ar.prototype.eachChild=function(t){for(var e=0,r=this.bindings;e<r.length;e+=1)t(r[e][1]);t(this.result)},ar.parse=function(t,e){if(t.length<4)return e.error("Expected at least 3 arguments, but found "+(t.length-1)+" instead.");for(var r=[],n=1;n<t.length-1;n+=2){var i=t[n];if("string"!=typeof i)return e.error("Expected string, but found "+typeof i+" instead.",n);if(/[^a-zA-Z0-9_]/.test(i))return e.error("Variable names must contain only alphanumeric characters or '_'.",n);var a=e.parse(t[n+1],n+1);if(!a)return null;r.push([i,a])}var o=e.parse(t[t.length-1],t.length-1,e.expectedType,r);return o?new ar(r,o):null},ar.prototype.outputDefined=function(){return this.result.outputDefined()},ar.prototype.serialize=function(){for(var t=["let"],e=0,r=this.bindings;e<r.length;e+=1){var n=r[e];t.push(n[0],n[1].serialize())}return t.push(this.result.serialize()),t};var or=function(t,e,r){this.type=t,this.index=e,this.input=r};or.parse=function(t,e){if(3!==t.length)return e.error("Expected 2 arguments, but found "+(t.length-1)+" instead.");var r=e.parse(t[1],1,Dt),n=e.parse(t[2],2,Ht(e.expectedType||jt));return r&&n?new or(n.type.itemType,r,n):null},or.prototype.evaluate=function(t){var e=this.index.evaluate(t),r=this.input.evaluate(t);if(e<0)throw new se("Array index out of bounds: "+e+" < 0.");if(e>=r.length)throw new se("Array index out of bounds: "+e+" > "+(r.length-1)+".");if(e!==Math.floor(e))throw new se("Array index must be an integer, but found "+e+" instead.");return r[e]},or.prototype.eachChild=function(t){t(this.index),t(this.input)},or.prototype.outputDefined=function(){return!1},or.prototype.serialize=function(){return["at",this.index.serialize(),this.input.serialize()]};var sr=function(t,e){this.type=Ft,this.needle=t,this.haystack=e};sr.parse=function(t,e){if(3!==t.length)return e.error("Expected 2 arguments, but found "+(t.length-1)+" instead.");var r=e.parse(t[1],1,jt),n=e.parse(t[2],2,jt);return r&&n?Xt(r.type,[Ft,Rt,Dt,Ot,jt])?new sr(r,n):e.error("Expected first argument to be of type boolean, string, number or null, but found "+Gt(r.type)+" instead"):null},sr.prototype.evaluate=function(t){var e=this.needle.evaluate(t),r=this.haystack.evaluate(t);if(!r)return!1;if(!Zt(e,["boolean","string","number","null"]))throw new se("Expected first argument to be of type boolean, string, number or null, but found "+Gt(ie(e))+" instead.");if(!Zt(r,["string","array"]))throw new se("Expected second argument to be of type array or string, but found "+Gt(ie(r))+" instead.");return r.indexOf(e)>=0},sr.prototype.eachChild=function(t){t(this.needle),t(this.haystack)},sr.prototype.outputDefined=function(){return!0},sr.prototype.serialize=function(){return["in",this.needle.serialize(),this.haystack.serialize()]};var lr=function(t,e,r){this.type=Dt,this.needle=t,this.haystack=e,this.fromIndex=r};lr.parse=function(t,e){if(t.length<=2||t.length>=5)return e.error("Expected 3 or 4 arguments, but found "+(t.length-1)+" instead.");var r=e.parse(t[1],1,jt),n=e.parse(t[2],2,jt);if(!r||!n)return null;if(!Xt(r.type,[Ft,Rt,Dt,Ot,jt]))return e.error("Expected first argument to be of type boolean, string, number or null, but found "+Gt(r.type)+" instead");if(4===t.length){var i=e.parse(t[3],3,Dt);return i?new lr(r,n,i):null}return new lr(r,n)},lr.prototype.evaluate=function(t){var e=this.needle.evaluate(t),r=this.haystack.evaluate(t);if(!Zt(e,["boolean","string","number","null"]))throw new se("Expected first argument to be of type boolean, string, number or null, but found "+Gt(ie(e))+" instead.");if(!Zt(r,["string","array"]))throw new se("Expected second argument to be of type array or string, but found "+Gt(ie(r))+" instead.");if(this.fromIndex){var n=this.fromIndex.evaluate(t);return r.indexOf(e,n)}return r.indexOf(e)},lr.prototype.eachChild=function(t){t(this.needle),t(this.haystack),this.fromIndex&&t(this.fromIndex)},lr.prototype.outputDefined=function(){return!1},lr.prototype.serialize=function(){if(null!=this.fromIndex&&void 0!==this.fromIndex){var t=this.fromIndex.serialize();return["index-of",this.needle.serialize(),this.haystack.serialize(),t]}return["index-of",this.needle.serialize(),this.haystack.serialize()]};var cr=function(t,e,r,n,i,a){this.inputType=t,this.type=e,this.input=r,this.cases=n,this.outputs=i,this.otherwise=a};cr.parse=function(t,e){if(t.length<5)return e.error("Expected at least 4 arguments, but found only "+(t.length-1)+".");if(t.length%2!=1)return e.error("Expected an even number of arguments.");var r,n;e.expectedType&&"value"!==e.expectedType.kind&&(n=e.expectedType);for(var i={},a=[],o=2;o<t.length-1;o+=2){var s=t[o],l=t[o+1];Array.isArray(s)||(s=[s]);var c=e.concat(o);if(0===s.length)return c.error("Expected at least one branch label.");for(var u=0,f=s;u<f.length;u+=1){var h=f[u];if("number"!=typeof h&&"string"!=typeof h)return c.error("Branch labels must be numbers or strings.");if("number"==typeof h&&Math.abs(h)>Number.MAX_SAFE_INTEGER)return c.error("Branch labels must be integers no larger than "+Number.MAX_SAFE_INTEGER+".");if("number"==typeof h&&Math.floor(h)!==h)return c.error("Numeric branch labels must be integer values.");if(r){if(c.checkSubtype(r,ie(h)))return null}else r=ie(h);if(void 0!==i[String(h)])return c.error("Branch labels must be unique.");i[String(h)]=a.length}var p=e.parse(l,o,n);if(!p)return null;n=n||p.type,a.push(p)}var d=e.parse(t[1],1,jt);if(!d)return null;var g=e.parse(t[t.length-1],t.length-1,n);return g?"value"!==d.type.kind&&e.concat(1).checkSubtype(r,d.type)?null:new cr(r,n,d,i,a,g):null},cr.prototype.evaluate=function(t){var e=this.input.evaluate(t);return(ie(e)===this.inputType&&this.outputs[this.cases[e]]||this.otherwise).evaluate(t)},cr.prototype.eachChild=function(t){t(this.input),this.outputs.forEach(t),t(this.otherwise)},cr.prototype.outputDefined=function(){return this.outputs.every((function(t){return t.outputDefined()}))&&this.otherwise.outputDefined()},cr.prototype.serialize=function(){for(var t=this,e=["match",this.input.serialize()],r=[],n={},i=0,a=Object.keys(this.cases).sort();i<a.length;i+=1){var o=a[i];void 0===(f=n[this.cases[o]])?(n[this.cases[o]]=r.length,r.push([this.cases[o],[o]])):r[f][1].push(o)}for(var s=function(e){return"number"===t.inputType.kind?Number(e):e},l=0,c=r;l<c.length;l+=1){var u=c[l],f=u[0],h=u[1];e.push(1===h.length?s(h[0]):h.map(s)),e.push(this.outputs[outputIndex$1].serialize())}return e.push(this.otherwise.serialize()),e};var ur=function(t,e,r){this.type=t,this.branches=e,this.otherwise=r};ur.parse=function(t,e){if(t.length<4)return e.error("Expected at least 3 arguments, but found only "+(t.length-1)+".");if(t.length%2!=0)return e.error("Expected an odd number of arguments.");var r;e.expectedType&&"value"!==e.expectedType.kind&&(r=e.expectedType);for(var n=[],i=1;i<t.length-1;i+=2){var a=e.parse(t[i],i,Ft);if(!a)return null;var o=e.parse(t[i+1],i+1,r);if(!o)return null;n.push([a,o]),r=r||o.type}var s=e.parse(t[t.length-1],t.length-1,r);return s?new ur(r,n,s):null},ur.prototype.evaluate=function(t){for(var e=0,r=this.branches;e<r.length;e+=1){var n=r[e],i=n[1];if(n[0].evaluate(t))return i.evaluate(t)}return this.otherwise.evaluate(t)},ur.prototype.eachChild=function(t){for(var e=0,r=this.branches;e<r.length;e+=1){var n=r[e],i=n[1];t(n[0]),t(i)}t(this.otherwise)},ur.prototype.outputDefined=function(){return this.branches.every((function(t){return t[1].outputDefined()}))&&this.otherwise.outputDefined()},ur.prototype.serialize=function(){var t=["case"];return this.eachChild((function(e){t.push(e.serialize())})),t};var fr=function(t,e,r,n){this.type=t,this.input=e,this.beginIndex=r,this.endIndex=n};function hr(t,e){return"=="===t||"!="===t?"boolean"===e.kind||"string"===e.kind||"number"===e.kind||"null"===e.kind||"value"===e.kind:"string"===e.kind||"number"===e.kind||"value"===e.kind}function pr(t,e,r,n){return 0===n.compare(e,r)}function dr(t,e,r){var n="=="!==t&&"!="!==t;return function(){function i(t,e,r){this.type=Ft,this.lhs=t,this.rhs=e,this.collator=r,this.hasUntypedArgument="value"===t.type.kind||"value"===e.type.kind}return i.parse=function(t,e){if(3!==t.length&&4!==t.length)return e.error("Expected two or three arguments.");var r=t[0],a=e.parse(t[1],1,jt);if(!a)return null;if(!hr(r,a.type))return e.concat(1).error('"'+r+"\" comparisons are not supported for type '"+Gt(a.type)+"'.");var o=e.parse(t[2],2,jt);if(!o)return null;if(!hr(r,o.type))return e.concat(2).error('"'+r+"\" comparisons are not supported for type '"+Gt(o.type)+"'.");if(a.type.kind!==o.type.kind&&"value"!==a.type.kind&&"value"!==o.type.kind)return e.error("Cannot compare types '"+Gt(a.type)+"' and '"+Gt(o.type)+"'.");n&&("value"===a.type.kind&&"value"!==o.type.kind?a=new ce(o.type,[a]):"value"!==a.type.kind&&"value"===o.type.kind&&(o=new ce(a.type,[o])));var s=null;if(4===t.length){if("string"!==a.type.kind&&"string"!==o.type.kind&&"value"!==a.type.kind&&"value"!==o.type.kind)return e.error("Cannot use collator to compare non-string types.");if(!(s=e.parse(t[3],3,Ut)))return null}return new i(a,o,s)},i.prototype.evaluate=function(i){var a=this.lhs.evaluate(i),o=this.rhs.evaluate(i);if(n&&this.hasUntypedArgument){var s=ie(a),l=ie(o);if(s.kind!==l.kind||"string"!==s.kind&&"number"!==s.kind)throw new se('Expected arguments for "'+t+'" to be (string, string) or (number, number), but found ('+s.kind+", "+l.kind+") instead.")}if(this.collator&&!n&&this.hasUntypedArgument){var c=ie(a),u=ie(o);if("string"!==c.kind||"string"!==u.kind)return e(i,a,o)}return this.collator?r(i,a,o,this.collator.evaluate(i)):e(i,a,o)},i.prototype.eachChild=function(t){t(this.lhs),t(this.rhs),this.collator&&t(this.collator)},i.prototype.outputDefined=function(){return!0},i.prototype.serialize=function(){var e=[t];return this.eachChild((function(t){e.push(t.serialize())})),e},i}()}fr.parse=function(t,e){if(t.length<=2||t.length>=5)return e.error("Expected 3 or 4 arguments, but found "+(t.length-1)+" instead.");var r=e.parse(t[1],1,jt),n=e.parse(t[2],2,Dt);if(!r||!n)return null;if(!Xt(r.type,[Ht(jt),Rt,jt]))return e.error("Expected first argument to be of type array or string, but found "+Gt(r.type)+" instead");if(4===t.length){var i=e.parse(t[3],3,Dt);return i?new fr(r.type,r,n,i):null}return new fr(r.type,r,n)},fr.prototype.evaluate=function(t){var e=this.input.evaluate(t),r=this.beginIndex.evaluate(t);if(!Zt(e,["string","array"]))throw new se("Expected first argument to be of type array or string, but found "+Gt(ie(e))+" instead.");if(this.endIndex){var n=this.endIndex.evaluate(t);return e.slice(r,n)}return e.slice(r)},fr.prototype.eachChild=function(t){t(this.input),t(this.beginIndex),this.endIndex&&t(this.endIndex)},fr.prototype.outputDefined=function(){return!1},fr.prototype.serialize=function(){if(null!=this.endIndex&&void 0!==this.endIndex){var t=this.endIndex.serialize();return["slice",this.input.serialize(),this.beginIndex.serialize(),t]}return["slice",this.input.serialize(),this.beginIndex.serialize()]};var gr=dr("==",(function(t,e,r){return e===r}),pr),mr=dr("!=",(function(t,e,r){return e!==r}),(function(t,e,r,n){return!pr(0,e,r,n)})),vr=dr("<",(function(t,e,r){return e<r}),(function(t,e,r,n){return n.compare(e,r)<0})),yr=dr(">",(function(t,e,r){return e>r}),(function(t,e,r,n){return n.compare(e,r)>0})),xr=dr("<=",(function(t,e,r){return e<=r}),(function(t,e,r,n){return n.compare(e,r)<=0})),br=dr(">=",(function(t,e,r){return e>=r}),(function(t,e,r,n){return n.compare(e,r)>=0})),_r=function(t,e,r,n,i){this.type=Rt,this.number=t,this.locale=e,this.currency=r,this.minFractionDigits=n,this.maxFractionDigits=i};_r.parse=function(t,e){if(3!==t.length)return e.error("Expected two arguments.");var r=e.parse(t[1],1,Dt);if(!r)return null;var n=t[2];if("object"!=typeof n||Array.isArray(n))return e.error("NumberFormat options argument must be an object.");var i=null;if(n.locale&&!(i=e.parse(n.locale,1,Rt)))return null;var a=null;if(n.currency&&!(a=e.parse(n.currency,1,Rt)))return null;var o=null;if(n["min-fraction-digits"]&&!(o=e.parse(n["min-fraction-digits"],1,Dt)))return null;var s=null;return n["max-fraction-digits"]&&!(s=e.parse(n["max-fraction-digits"],1,Dt))?null:new _r(r,i,a,o,s)},_r.prototype.evaluate=function(t){return new Intl.NumberFormat(this.locale?this.locale.evaluate(t):[],{style:this.currency?"currency":"decimal",currency:this.currency?this.currency.evaluate(t):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(t):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(t):void 0}).format(this.number.evaluate(t))},_r.prototype.eachChild=function(t){t(this.number),this.locale&&t(this.locale),this.currency&&t(this.currency),this.minFractionDigits&&t(this.minFractionDigits),this.maxFractionDigits&&t(this.maxFractionDigits)},_r.prototype.outputDefined=function(){return!1},_r.prototype.serialize=function(){var t={};return this.locale&&(t.locale=this.locale.serialize()),this.currency&&(t.currency=this.currency.serialize()),this.minFractionDigits&&(t["min-fraction-digits"]=this.minFractionDigits.serialize()),this.maxFractionDigits&&(t["max-fraction-digits"]=this.maxFractionDigits.serialize()),["number-format",this.number.serialize(),t]};var wr=function(t){this.type=Dt,this.input=t};wr.parse=function(t,e){if(2!==t.length)return e.error("Expected 1 argument, but found "+(t.length-1)+" instead.");var r=e.parse(t[1],1);return r?"array"!==r.type.kind&&"string"!==r.type.kind&&"value"!==r.type.kind?e.error("Expected argument of type string or array, but found "+Gt(r.type)+" instead."):new wr(r):null},wr.prototype.evaluate=function(t){var e=this.input.evaluate(t);if("string"==typeof e)return e.length;if(Array.isArray(e))return e.length;throw new se("Expected value to be of type string or array, but found "+Gt(ie(e))+" instead.")},wr.prototype.eachChild=function(t){t(this.input)},wr.prototype.outputDefined=function(){return!1},wr.prototype.serialize=function(){var t=["length"];return this.eachChild((function(e){t.push(e.serialize())})),t};var Tr={"==":gr,"!=":mr,">":yr,"<":vr,">=":br,"<=":xr,array:ce,at:or,boolean:ce,case:ur,coalesce:ir,collator:ve,format:ue,image:fe,in:sr,"index-of":lr,interpolate:rr,"interpolate-hcl":rr,"interpolate-lab":rr,length:wr,let:ar,literal:oe,match:cr,number:ce,"number-format":_r,object:ce,slice:fr,step:je,string:ce,"to-boolean":pe,"to-color":pe,"to-number":pe,"to-string":pe,var:Fe,within:ze};function kr(t,e){var r=e[0],n=e[1],i=e[2],a=e[3];r=r.evaluate(t),n=n.evaluate(t),i=i.evaluate(t);var o=a?a.evaluate(t):1,s=re(r,n,i,o);if(s)throw new se(s);return new Kt(r/255*o,n/255*o,i/255*o,o)}function Mr(t,e){return t in e}function Ar(t,e){var r=e[t];return void 0===r?null:r}function Sr(t){return{type:t}}function Er(t){return{result:"success",value:t}}function Cr(t){return{result:"error",value:t}}function Lr(t){return"data-driven"===t["property-type"]||"cross-faded-data-driven"===t["property-type"]}function Ir(t){return!!t.expression&&t.expression.parameters.indexOf("zoom")>-1}function Pr(t){return!!t.expression&&t.expression.interpolated}function zr(t){return t instanceof Number?"number":t instanceof String?"string":t instanceof Boolean?"boolean":Array.isArray(t)?"array":null===t?"null":typeof t}function Or(t){return"object"==typeof t&&null!==t&&!Array.isArray(t)}function Dr(t){return t}function Rr(t,e,r){return void 0!==t?t:void 0!==e?e:void 0!==r?r:void 0}function Fr(t,e,r,n,i){return Rr(typeof r===i?n[r]:void 0,t.default,e.default)}function Br(t,e,r){if("number"!==zr(r))return Rr(t.default,e.default);var n=t.stops.length;if(1===n)return t.stops[0][1];if(r<=t.stops[0][0])return t.stops[0][1];if(r>=t.stops[n-1][0])return t.stops[n-1][1];var i=Ne(t.stops.map((function(t){return t[0]})),r);return t.stops[i][1]}function Nr(t,e,r){var n=void 0!==t.base?t.base:1;if("number"!==zr(r))return Rr(t.default,e.default);var i=t.stops.length;if(1===i)return t.stops[0][1];if(r<=t.stops[0][0])return t.stops[0][1];if(r>=t.stops[i-1][0])return t.stops[i-1][1];var a=Ne(t.stops.map((function(t){return t[0]})),r),o=function(t,e,r,n){var i=n-r,a=t-r;return 0===i?0:1===e?a/i:(Math.pow(e,a)-1)/(Math.pow(e,i)-1)}(r,n,t.stops[a][0],t.stops[a+1][0]),s=t.stops[a][1],l=t.stops[a+1][1],c=Ve[e.type]||Dr;if(t.colorSpace&&"rgb"!==t.colorSpace){var u=er[t.colorSpace];c=function(t,e){return u.reverse(u.interpolate(u.forward(t),u.forward(e),o))}}return"function"==typeof s.evaluate?{evaluate:function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];var r=s.evaluate.apply(void 0,t),n=l.evaluate.apply(void 0,t);if(void 0!==r&&void 0!==n)return c(r,n,o)}}:c(s,l,o)}function jr(t,e,r){return"color"===e.type?r=Kt.parse(r):"formatted"===e.type?r=te.fromString(r.toString()):"resolvedImage"===e.type?r=ee.fromString(r.toString()):zr(r)===e.type||"enum"===e.type&&e.values[r]||(r=void 0),Rr(r,t.default,e.default)}me.register(Tr,{error:[{kind:"error"},[Rt],function(t,e){throw new se(e[0].evaluate(t))}],typeof:[Rt,[jt],function(t,e){return Gt(ie(e[0].evaluate(t)))}],"to-rgba":[Ht(Dt,4),[Bt],function(t,e){return e[0].evaluate(t).toArray()}],rgb:[Bt,[Dt,Dt,Dt],kr],rgba:[Bt,[Dt,Dt,Dt,Dt],kr],has:{type:Ft,overloads:[[[Rt],function(t,e){return Mr(e[0].evaluate(t),t.properties())}],[[Rt,Nt],function(t,e){var r=e[1];return Mr(e[0].evaluate(t),r.evaluate(t))}]]},get:{type:jt,overloads:[[[Rt],function(t,e){return Ar(e[0].evaluate(t),t.properties())}],[[Rt,Nt],function(t,e){var r=e[1];return Ar(e[0].evaluate(t),r.evaluate(t))}]]},"feature-state":[jt,[Rt],function(t,e){return Ar(e[0].evaluate(t),t.featureState||{})}],properties:[Nt,[],function(t){return t.properties()}],"geometry-type":[Rt,[],function(t){return t.geometryType()}],id:[jt,[],function(t){return t.id()}],zoom:[Dt,[],function(t){return t.globals.zoom}],"heatmap-density":[Dt,[],function(t){return t.globals.heatmapDensity||0}],"line-progress":[Dt,[],function(t){return t.globals.lineProgress||0}],accumulated:[jt,[],function(t){return void 0===t.globals.accumulated?null:t.globals.accumulated}],"+":[Dt,Sr(Dt),function(t,e){for(var r=0,n=0,i=e;n<i.length;n+=1)r+=i[n].evaluate(t);return r}],"*":[Dt,Sr(Dt),function(t,e){for(var r=1,n=0,i=e;n<i.length;n+=1)r*=i[n].evaluate(t);return r}],"-":{type:Dt,overloads:[[[Dt,Dt],function(t,e){var r=e[1];return e[0].evaluate(t)-r.evaluate(t)}],[[Dt],function(t,e){return-e[0].evaluate(t)}]]},"/":[Dt,[Dt,Dt],function(t,e){var r=e[1];return e[0].evaluate(t)/r.evaluate(t)}],"%":[Dt,[Dt,Dt],function(t,e){var r=e[1];return e[0].evaluate(t)%r.evaluate(t)}],ln2:[Dt,[],function(){return Math.LN2}],pi:[Dt,[],function(){return Math.PI}],e:[Dt,[],function(){return Math.E}],"^":[Dt,[Dt,Dt],function(t,e){var r=e[1];return Math.pow(e[0].evaluate(t),r.evaluate(t))}],sqrt:[Dt,[Dt],function(t,e){return Math.sqrt(e[0].evaluate(t))}],log10:[Dt,[Dt],function(t,e){return Math.log(e[0].evaluate(t))/Math.LN10}],ln:[Dt,[Dt],function(t,e){return Math.log(e[0].evaluate(t))}],log2:[Dt,[Dt],function(t,e){return Math.log(e[0].evaluate(t))/Math.LN2}],sin:[Dt,[Dt],function(t,e){return Math.sin(e[0].evaluate(t))}],cos:[Dt,[Dt],function(t,e){return Math.cos(e[0].evaluate(t))}],tan:[Dt,[Dt],function(t,e){return Math.tan(e[0].evaluate(t))}],asin:[Dt,[Dt],function(t,e){return Math.asin(e[0].evaluate(t))}],acos:[Dt,[Dt],function(t,e){return Math.acos(e[0].evaluate(t))}],atan:[Dt,[Dt],function(t,e){return Math.atan(e[0].evaluate(t))}],min:[Dt,Sr(Dt),function(t,e){return Math.min.apply(Math,e.map((function(e){return e.evaluate(t)})))}],max:[Dt,Sr(Dt),function(t,e){return Math.max.apply(Math,e.map((function(e){return e.evaluate(t)})))}],abs:[Dt,[Dt],function(t,e){return Math.abs(e[0].evaluate(t))}],round:[Dt,[Dt],function(t,e){var r=e[0].evaluate(t);return r<0?-Math.round(-r):Math.round(r)}],floor:[Dt,[Dt],function(t,e){return Math.floor(e[0].evaluate(t))}],ceil:[Dt,[Dt],function(t,e){return Math.ceil(e[0].evaluate(t))}],"filter-==":[Ft,[Rt,jt],function(t,e){var r=e[0],n=e[1];return t.properties()[r.value]===n.value}],"filter-id-==":[Ft,[jt],function(t,e){var r=e[0];return t.id()===r.value}],"filter-type-==":[Ft,[Rt],function(t,e){var r=e[0];return t.geometryType()===r.value}],"filter-<":[Ft,[Rt,jt],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i<a}],"filter-id-<":[Ft,[jt],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n<i}],"filter->":[Ft,[Rt,jt],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i>a}],"filter-id->":[Ft,[jt],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n>i}],"filter-<=":[Ft,[Rt,jt],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i<=a}],"filter-id-<=":[Ft,[jt],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n<=i}],"filter->=":[Ft,[Rt,jt],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i>=a}],"filter-id->=":[Ft,[jt],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n>=i}],"filter-has":[Ft,[jt],function(t,e){return e[0].value in t.properties()}],"filter-has-id":[Ft,[],function(t){return null!==t.id()&&void 0!==t.id()}],"filter-type-in":[Ft,[Ht(Rt)],function(t,e){return e[0].value.indexOf(t.geometryType())>=0}],"filter-id-in":[Ft,[Ht(jt)],function(t,e){return e[0].value.indexOf(t.id())>=0}],"filter-in-small":[Ft,[Rt,Ht(jt)],function(t,e){var r=e[0];return e[1].value.indexOf(t.properties()[r.value])>=0}],"filter-in-large":[Ft,[Rt,Ht(jt)],function(t,e){var r=e[0],n=e[1];return function(t,e,r,n){for(;r<=n;){var i=r+n>>1;if(e[i]===t)return!0;e[i]>t?n=i-1:r=i+1}return!1}(t.properties()[r.value],n.value,0,n.value.length-1)}],all:{type:Ft,overloads:[[[Ft,Ft],function(t,e){var r=e[1];return e[0].evaluate(t)&&r.evaluate(t)}],[Sr(Ft),function(t,e){for(var r=0,n=e;r<n.length;r+=1)if(!n[r].evaluate(t))return!1;return!0}]]},any:{type:Ft,overloads:[[[Ft,Ft],function(t,e){var r=e[1];return e[0].evaluate(t)||r.evaluate(t)}],[Sr(Ft),function(t,e){for(var r=0,n=e;r<n.length;r+=1)if(n[r].evaluate(t))return!0;return!1}]]},"!":[Ft,[Ft],function(t,e){return!e[0].evaluate(t)}],"is-supported-script":[Ft,[Rt],function(t,e){var r=t.globals&&t.globals.isSupportedScript;return!r||r(e[0].evaluate(t))}],upcase:[Rt,[Rt],function(t,e){return e[0].evaluate(t).toUpperCase()}],downcase:[Rt,[Rt],function(t,e){return e[0].evaluate(t).toLowerCase()}],concat:[Rt,Sr(jt),function(t,e){return e.map((function(e){return ae(e.evaluate(t))})).join("")}],"resolved-locale":[Rt,[Ut],function(t,e){return e[0].evaluate(t).resolvedLocale()}]});var Ur=function(t,e){this.expression=t,this._warningHistory={},this._evaluator=new ge,this._defaultValue=e?function(t){return"color"===t.type&&Or(t.default)?new Kt(0,0,0,0):"color"===t.type?Kt.parse(t.default)||null:void 0===t.default?null:t.default}(e):null,this._enumValues=e&&"enum"===e.type?e.values:null};function Vr(t){return Array.isArray(t)&&t.length>0&&"string"==typeof t[0]&&t[0]in Tr}function qr(t,e){var r=new Be(Tr,[],e?function(t){var e={color:Bt,string:Rt,number:Dt,enum:Rt,boolean:Ft,formatted:Vt,resolvedImage:qt};return"array"===t.type?Ht(e[t.value]||jt,t.length):e[t.type]}(e):void 0),n=r.parse(t,void 0,void 0,void 0,e&&"string"===e.type?{typeAnnotation:"coerce"}:void 0);return n?Er(new Ur(n,e)):Cr(r.errors)}Ur.prototype.evaluateWithoutErrorHandling=function(t,e,r,n,i,a){return this._evaluator.globals=t,this._evaluator.feature=e,this._evaluator.featureState=r,this._evaluator.canonical=n,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=a,this.expression.evaluate(this._evaluator)},Ur.prototype.evaluate=function(t,e,r,n,i,a){this._evaluator.globals=t,this._evaluator.feature=e||null,this._evaluator.featureState=r||null,this._evaluator.canonical=n,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=a||null;try{var o=this.expression.evaluate(this._evaluator);if(null==o||"number"==typeof o&&o!=o)return this._defaultValue;if(this._enumValues&&!(o in this._enumValues))throw new se("Expected value to be one of "+Object.keys(this._enumValues).map((function(t){return JSON.stringify(t)})).join(", ")+", but found "+JSON.stringify(o)+" instead.");return o}catch(t){return this._warningHistory[t.message]||(this._warningHistory[t.message]=!0,"undefined"!=typeof console&&console.warn(t.message)),this._defaultValue}};var Hr=function(t,e){this.kind=t,this._styleExpression=e,this.isStateDependent="constant"!==t&&!De(e.expression)};Hr.prototype.evaluateWithoutErrorHandling=function(t,e,r,n,i,a){return this._styleExpression.evaluateWithoutErrorHandling(t,e,r,n,i,a)},Hr.prototype.evaluate=function(t,e,r,n,i,a){return this._styleExpression.evaluate(t,e,r,n,i,a)};var Gr=function(t,e,r,n){this.kind=t,this.zoomStops=r,this._styleExpression=e,this.isStateDependent="camera"!==t&&!De(e.expression),this.interpolationType=n};function Yr(t,e){if("error"===(t=qr(t,e)).result)return t;var r=t.value.expression,n=Oe(r);if(!n&&!Lr(e))return Cr([new Pt("","data expressions not supported")]);var i=Re(r,["zoom"]);if(!i&&!Ir(e))return Cr([new Pt("","zoom expressions not supported")]);var a=function t(e){var r=null;if(e instanceof ar)r=t(e.result);else if(e instanceof ir)for(var n=0,i=e.args;n<i.length&&!(r=t(i[n]));n+=1);else(e instanceof je||e instanceof rr)&&e.input instanceof me&&"zoom"===e.input.name&&(r=e);return r instanceof Pt||e.eachChild((function(e){var n=t(e);n instanceof Pt?r=n:!r&&n?r=new Pt("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.'):r&&n&&r!==n&&(r=new Pt("",'Only one zoom-based "step" or "interpolate" subexpression may be used in an expression.'))})),r}(r);return a||i?a instanceof Pt?Cr([a]):a instanceof rr&&!Pr(e)?Cr([new Pt("",'"interpolate" expressions cannot be used with this property')]):Er(a?new Gr(n?"camera":"composite",t.value,a.labels,a instanceof rr?a.interpolation:void 0):new Hr(n?"constant":"source",t.value)):Cr([new Pt("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.')])}Gr.prototype.evaluateWithoutErrorHandling=function(t,e,r,n,i,a){return this._styleExpression.evaluateWithoutErrorHandling(t,e,r,n,i,a)},Gr.prototype.evaluate=function(t,e,r,n,i,a){return this._styleExpression.evaluate(t,e,r,n,i,a)},Gr.prototype.interpolationFactor=function(t,e,r){return this.interpolationType?rr.interpolationFactor(this.interpolationType,t,e,r):0};var Wr=function(t,e){this._parameters=t,this._specification=e,Ct(this,function t(e,r){var n,i,a,o="color"===r.type,s=e.stops&&"object"==typeof e.stops[0][0],l=s||!(s||void 0!==e.property),c=e.type||(Pr(r)?"exponential":"interval");if(o&&((e=Ct({},e)).stops&&(e.stops=e.stops.map((function(t){return[t[0],Kt.parse(t[1])]}))),e.default=Kt.parse(e.default?e.default:r.default)),e.colorSpace&&"rgb"!==e.colorSpace&&!er[e.colorSpace])throw new Error("Unknown color space: "+e.colorSpace);if("exponential"===c)n=Nr;else if("interval"===c)n=Br;else if("categorical"===c){n=Fr,i=Object.create(null);for(var u=0,f=e.stops;u<f.length;u+=1){var h=f[u];i[h[0]]=h[1]}a=typeof e.stops[0][0]}else{if("identity"!==c)throw new Error('Unknown function type "'+c+'"');n=jr}if(s){for(var p={},d=[],g=0;g<e.stops.length;g++){var m=e.stops[g],v=m[0].zoom;void 0===p[v]&&(p[v]={zoom:v,type:e.type,property:e.property,default:e.default,stops:[]},d.push(v)),p[v].stops.push([m[0].value,m[1]])}for(var y=[],x=0,b=d;x<b.length;x+=1){var _=b[x];y.push([p[_].zoom,t(p[_],r)])}var w={name:"linear"};return{kind:"composite",interpolationType:w,interpolationFactor:rr.interpolationFactor.bind(void 0,w),zoomStops:y.map((function(t){return t[0]})),evaluate:function(t,n){var i=t.zoom;return Nr({stops:y,base:e.base},r,i).evaluate(i,n)}}}if(l){var T="exponential"===c?{name:"exponential",base:void 0!==e.base?e.base:1}:null;return{kind:"camera",interpolationType:T,interpolationFactor:rr.interpolationFactor.bind(void 0,T),zoomStops:e.stops.map((function(t){return t[0]})),evaluate:function(t){return n(e,r,t.zoom,i,a)}}}return{kind:"source",evaluate:function(t,o){var s=o&&o.properties?o.properties[e.property]:void 0;return void 0===s?Rr(e.default,r.default):n(e,r,s,i,a)}}}(this._parameters,this._specification))};function Xr(t){var e=t.key,r=t.value,n=t.valueSpec||{},i=t.objectElementValidators||{},a=t.style,o=t.styleSpec,s=[],l=zr(r);if("object"!==l)return[new St(e,r,"object expected, "+l+" found")];for(var c in r){var u=c.split(".")[0],f=n[u]||n["*"],h=void 0;if(i[u])h=i[u];else if(n[u])h=bn;else if(i["*"])h=i["*"];else{if(!n["*"]){s.push(new St(e,r[c],'unknown property "'+c+'"'));continue}h=bn}s=s.concat(h({key:(e?e+".":e)+c,value:r[c],valueSpec:f,style:a,styleSpec:o,object:r,objectKey:c},r))}for(var p in n)i[p]||n[p].required&&void 0===n[p].default&&void 0===r[p]&&s.push(new St(e,r,'missing required property "'+p+'"'));return s}function Zr(t){var e=t.value,r=t.valueSpec,n=t.style,i=t.styleSpec,a=t.key,o=t.arrayElementValidator||bn;if("array"!==zr(e))return[new St(a,e,"array expected, "+zr(e)+" found")];if(r.length&&e.length!==r.length)return[new St(a,e,"array length "+r.length+" expected, length "+e.length+" found")];if(r["min-length"]&&e.length<r["min-length"])return[new St(a,e,"array length at least "+r["min-length"]+" expected, length "+e.length+" found")];var s={type:r.value,values:r.values};i.$version<7&&(s.function=r.function),"object"===zr(r.value)&&(s=r.value);for(var l=[],c=0;c<e.length;c++)l=l.concat(o({array:e,arrayIndex:c,value:e[c],valueSpec:s,style:n,styleSpec:i,key:a+"["+c+"]"}));return l}function Jr(t){var e=t.key,r=t.value,n=t.valueSpec,i=zr(r);return"number"===i&&r!=r&&(i="NaN"),"number"!==i?[new St(e,r,"number expected, "+i+" found")]:"minimum"in n&&r<n.minimum?[new St(e,r,r+" is less than the minimum value "+n.minimum)]:"maximum"in n&&r>n.maximum?[new St(e,r,r+" is greater than the maximum value "+n.maximum)]:[]}function Kr(t){var e,r,n,i=t.valueSpec,a=Lt(t.value.type),o={},s="categorical"!==a&&void 0===t.value.property,l=!s,c="array"===zr(t.value.stops)&&"array"===zr(t.value.stops[0])&&"object"===zr(t.value.stops[0][0]),u=Xr({key:t.key,value:t.value,valueSpec:t.styleSpec.function,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{stops:function(t){if("identity"===a)return[new St(t.key,t.value,'identity function may not have a "stops" property')];var e=[],r=t.value;return e=e.concat(Zr({key:t.key,value:r,valueSpec:t.valueSpec,style:t.style,styleSpec:t.styleSpec,arrayElementValidator:f})),"array"===zr(r)&&0===r.length&&e.push(new St(t.key,r,"array must have at least one stop")),e},default:function(t){return bn({key:t.key,value:t.value,valueSpec:i,style:t.style,styleSpec:t.styleSpec})}}});return"identity"===a&&s&&u.push(new St(t.key,t.value,'missing required property "property"')),"identity"===a||t.value.stops||u.push(new St(t.key,t.value,'missing required property "stops"')),"exponential"===a&&t.valueSpec.expression&&!Pr(t.valueSpec)&&u.push(new St(t.key,t.value,"exponential functions not supported")),t.styleSpec.$version>=8&&(l&&!Lr(t.valueSpec)?u.push(new St(t.key,t.value,"property functions not supported")):s&&!Ir(t.valueSpec)&&u.push(new St(t.key,t.value,"zoom functions not supported"))),"categorical"!==a&&!c||void 0!==t.value.property||u.push(new St(t.key,t.value,'"property" property is required')),u;function f(t){var e=[],a=t.value,s=t.key;if("array"!==zr(a))return[new St(s,a,"array expected, "+zr(a)+" found")];if(2!==a.length)return[new St(s,a,"array length 2 expected, length "+a.length+" found")];if(c){if("object"!==zr(a[0]))return[new St(s,a,"object expected, "+zr(a[0])+" found")];if(void 0===a[0].zoom)return[new St(s,a,"object stop key must have zoom")];if(void 0===a[0].value)return[new St(s,a,"object stop key must have value")];if(n&&n>Lt(a[0].zoom))return[new St(s,a[0].zoom,"stop zoom values must appear in ascending order")];Lt(a[0].zoom)!==n&&(n=Lt(a[0].zoom),r=void 0,o={}),e=e.concat(Xr({key:s+"[0]",value:a[0],valueSpec:{zoom:{}},style:t.style,styleSpec:t.styleSpec,objectElementValidators:{zoom:Jr,value:h}}))}else e=e.concat(h({key:s+"[0]",value:a[0],valueSpec:{},style:t.style,styleSpec:t.styleSpec},a));return Vr(It(a[1]))?e.concat([new St(s+"[1]",a[1],"expressions are not allowed in function stops.")]):e.concat(bn({key:s+"[1]",value:a[1],valueSpec:i,style:t.style,styleSpec:t.styleSpec}))}function h(t,n){var s=zr(t.value),l=Lt(t.value),c=null!==t.value?t.value:n;if(e){if(s!==e)return[new St(t.key,c,s+" stop domain type must match previous stop domain type "+e)]}else e=s;if("number"!==s&&"string"!==s&&"boolean"!==s)return[new St(t.key,c,"stop domain value must be a number, string, or boolean")];if("number"!==s&&"categorical"!==a){var u="number expected, "+s+" found";return Lr(i)&&void 0===a&&(u+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'),[new St(t.key,c,u)]}return"categorical"!==a||"number"!==s||isFinite(l)&&Math.floor(l)===l?"categorical"!==a&&"number"===s&&void 0!==r&&l<r?[new St(t.key,c,"stop domain values must appear in ascending order")]:(r=l,"categorical"===a&&l in o?[new St(t.key,c,"stop domain values must be unique")]:(o[l]=!0,[])):[new St(t.key,c,"integer expected, found "+l)]}}function Qr(t){var e=("property"===t.expressionContext?Yr:qr)(It(t.value),t.valueSpec);if("error"===e.result)return e.value.map((function(e){return new St(""+t.key+e.key,t.value,e.message)}));var r=e.value.expression||e.value._styleExpression.expression;if("property"===t.expressionContext&&"text-font"===t.propertyKey&&!r.outputDefined())return[new St(t.key,t.value,'Invalid data expression for "'+t.propertyKey+'". Output values must be contained as literals within the expression.')];if("property"===t.expressionContext&&"layout"===t.propertyType&&!De(r))return[new St(t.key,t.value,'"feature-state" data expressions are not supported with layout properties.')];if("filter"===t.expressionContext&&!De(r))return[new St(t.key,t.value,'"feature-state" data expressions are not supported with filters.')];if(t.expressionContext&&0===t.expressionContext.indexOf("cluster")){if(!Re(r,["zoom","feature-state"]))return[new St(t.key,t.value,'"zoom" and "feature-state" expressions are not supported with cluster properties.')];if("cluster-initial"===t.expressionContext&&!Oe(r))return[new St(t.key,t.value,"Feature data expressions are not supported with initial expression part of cluster properties.")]}return[]}function $r(t){var e=t.key,r=t.value,n=t.valueSpec,i=[];return Array.isArray(n.values)?-1===n.values.indexOf(Lt(r))&&i.push(new St(e,r,"expected one of ["+n.values.join(", ")+"], "+JSON.stringify(r)+" found")):-1===Object.keys(n.values).indexOf(Lt(r))&&i.push(new St(e,r,"expected one of ["+Object.keys(n.values).join(", ")+"], "+JSON.stringify(r)+" found")),i}function tn(t){if(!0===t||!1===t)return!0;if(!Array.isArray(t)||0===t.length)return!1;switch(t[0]){case"has":return t.length>=2&&"$id"!==t[1]&&"$type"!==t[1];case"in":return t.length>=3&&("string"!=typeof t[1]||Array.isArray(t[2]));case"!in":case"!has":case"none":return!1;case"==":case"!=":case">":case">=":case"<":case"<=":return 3!==t.length||Array.isArray(t[1])||Array.isArray(t[2]);case"any":case"all":for(var e=0,r=t.slice(1);e<r.length;e+=1){var n=r[e];if(!tn(n)&&"boolean"!=typeof n)return!1}return!0;default:return!0}}Wr.deserialize=function(t){return new Wr(t._parameters,t._specification)},Wr.serialize=function(t){return{_parameters:t._parameters,_specification:t._specification}};var en={type:"boolean",default:!1,transition:!1,"property-type":"data-driven",expression:{interpolated:!1,parameters:["zoom","feature"]}};function rn(t){if(null==t)return{filter:function(){return!0},needGeometry:!1};tn(t)||(t=an(t));var e=qr(t,en);if("error"===e.result)throw new Error(e.value.map((function(t){return t.key+": "+t.message})).join(", "));return{filter:function(t,r,n){return e.value.evaluate(t,r,{},n)},needGeometry:function t(e){if(!Array.isArray(e))return!1;if("within"===e[0])return!0;for(var r=1;r<e.length;r++)if(t(e[r]))return!0;return!1}(t)}}function nn(t,e){return t<e?-1:t>e?1:0}function an(t){if(!t)return!0;var e,r=t[0];return t.length<=1?"any"!==r:"=="===r?on(t[1],t[2],"=="):"!="===r?cn(on(t[1],t[2],"==")):"<"===r||">"===r||"<="===r||">="===r?on(t[1],t[2],r):"any"===r?(e=t.slice(1),["any"].concat(e.map(an))):"all"===r?["all"].concat(t.slice(1).map(an)):"none"===r?["all"].concat(t.slice(1).map(an).map(cn)):"in"===r?sn(t[1],t.slice(2)):"!in"===r?cn(sn(t[1],t.slice(2))):"has"===r?ln(t[1]):"!has"===r?cn(ln(t[1])):"within"!==r||t}function on(t,e,r){switch(t){case"$type":return["filter-type-"+r,e];case"$id":return["filter-id-"+r,e];default:return["filter-"+r,t,e]}}function sn(t,e){if(0===e.length)return!1;switch(t){case"$type":return["filter-type-in",["literal",e]];case"$id":return["filter-id-in",["literal",e]];default:return e.length>200&&!e.some((function(t){return typeof t!=typeof e[0]}))?["filter-in-large",t,["literal",e.sort(nn)]]:["filter-in-small",t,["literal",e]]}}function ln(t){switch(t){case"$type":return!0;case"$id":return["filter-has-id"];default:return["filter-has",t]}}function cn(t){return["!",t]}function un(t){return tn(It(t.value))?Qr(Ct({},t,{expressionContext:"filter",valueSpec:{value:"boolean"}})):function t(e){var r=e.value,n=e.key;if("array"!==zr(r))return[new St(n,r,"array expected, "+zr(r)+" found")];var i,a=e.styleSpec,o=[];if(r.length<1)return[new St(n,r,"filter array must have at least 1 element")];switch(o=o.concat($r({key:n+"[0]",value:r[0],valueSpec:a.filter_operator,style:e.style,styleSpec:e.styleSpec})),Lt(r[0])){case"<":case"<=":case">":case">=":r.length>=2&&"$type"===Lt(r[1])&&o.push(new St(n,r,'"$type" cannot be use with operator "'+r[0]+'"'));case"==":case"!=":3!==r.length&&o.push(new St(n,r,'filter array for operator "'+r[0]+'" must have 3 elements'));case"in":case"!in":r.length>=2&&"string"!==(i=zr(r[1]))&&o.push(new St(n+"[1]",r[1],"string expected, "+i+" found"));for(var s=2;s<r.length;s++)i=zr(r[s]),"$type"===Lt(r[1])?o=o.concat($r({key:n+"["+s+"]",value:r[s],valueSpec:a.geometry_type,style:e.style,styleSpec:e.styleSpec})):"string"!==i&&"number"!==i&&"boolean"!==i&&o.push(new St(n+"["+s+"]",r[s],"string, number, or boolean expected, "+i+" found"));break;case"any":case"all":case"none":for(var l=1;l<r.length;l++)o=o.concat(t({key:n+"["+l+"]",value:r[l],style:e.style,styleSpec:e.styleSpec}));break;case"has":case"!has":i=zr(r[1]),2!==r.length?o.push(new St(n,r,'filter array for "'+r[0]+'" operator must have 2 elements')):"string"!==i&&o.push(new St(n+"[1]",r[1],"string expected, "+i+" found"));break;case"within":i=zr(r[1]),2!==r.length?o.push(new St(n,r,'filter array for "'+r[0]+'" operator must have 2 elements')):"object"!==i&&o.push(new St(n+"[1]",r[1],"object expected, "+i+" found"))}return o}(t)}function fn(t,e){var r=t.key,n=t.style,i=t.styleSpec,a=t.value,o=t.objectKey,s=i[e+"_"+t.layerType];if(!s)return[];var l=o.match(/^(.*)-transition$/);if("paint"===e&&l&&s[l[1]]&&s[l[1]].transition)return bn({key:r,value:a,valueSpec:i.transition,style:n,styleSpec:i});var c,u=t.valueSpec||s[o];if(!u)return[new St(r,a,'unknown property "'+o+'"')];if("string"===zr(a)&&Lr(u)&&!u.tokens&&(c=/^{([^}]+)}$/.exec(a)))return[new St(r,a,'"'+o+'" does not support interpolation syntax\nUse an identity property function instead: `{ "type": "identity", "property": '+JSON.stringify(c[1])+" }`.")];var f=[];return"symbol"===t.layerType&&("text-field"===o&&n&&!n.glyphs&&f.push(new St(r,a,'use of "text-field" requires a style "glyphs" property')),"text-font"===o&&Or(It(a))&&"identity"===Lt(a.type)&&f.push(new St(r,a,'"text-font" does not support identity functions'))),f.concat(bn({key:t.key,value:a,valueSpec:u,style:n,styleSpec:i,expressionContext:"property",propertyType:e,propertyKey:o}))}function hn(t){return fn(t,"paint")}function pn(t){return fn(t,"layout")}function dn(t){var e=[],r=t.value,n=t.key,i=t.style,a=t.styleSpec;r.type||r.ref||e.push(new St(n,r,'either "type" or "ref" is required'));var o,s=Lt(r.type),l=Lt(r.ref);if(r.id)for(var c=Lt(r.id),u=0;u<t.arrayIndex;u++){var f=i.layers[u];Lt(f.id)===c&&e.push(new St(n,r.id,'duplicate layer id "'+r.id+'", previously used at line '+f.id.__line__))}if("ref"in r)["type","source","source-layer","filter","layout"].forEach((function(t){t in r&&e.push(new St(n,r[t],'"'+t+'" is prohibited for ref layers'))})),i.layers.forEach((function(t){Lt(t.id)===l&&(o=t)})),o?o.ref?e.push(new St(n,r.ref,"ref cannot reference another ref layer")):s=Lt(o.type):e.push(new St(n,r.ref,'ref layer "'+l+'" not found'));else if("background"!==s)if(r.source){var h=i.sources&&i.sources[r.source],p=h&&Lt(h.type);h?"vector"===p&&"raster"===s?e.push(new St(n,r.source,'layer "'+r.id+'" requires a raster source')):"raster"===p&&"raster"!==s?e.push(new St(n,r.source,'layer "'+r.id+'" requires a vector source')):"vector"!==p||r["source-layer"]?"raster-dem"===p&&"hillshade"!==s?e.push(new St(n,r.source,"raster-dem source can only be used with layer type 'hillshade'.")):"line"!==s||!r.paint||!r.paint["line-gradient"]||"geojson"===p&&h.lineMetrics||e.push(new St(n,r,'layer "'+r.id+'" specifies a line-gradient, which requires a GeoJSON source with `lineMetrics` enabled.')):e.push(new St(n,r,'layer "'+r.id+'" must specify a "source-layer"')):e.push(new St(n,r.source,'source "'+r.source+'" not found'))}else e.push(new St(n,r,'missing required property "source"'));return e=e.concat(Xr({key:n,value:r,valueSpec:a.layer,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{"*":function(){return[]},type:function(){return bn({key:n+".type",value:r.type,valueSpec:a.layer.type,style:t.style,styleSpec:t.styleSpec,object:r,objectKey:"type"})},filter:un,layout:function(t){return Xr({layer:r,key:t.key,value:t.value,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{"*":function(t){return pn(Ct({layerType:s},t))}}})},paint:function(t){return Xr({layer:r,key:t.key,value:t.value,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{"*":function(t){return hn(Ct({layerType:s},t))}}})}}}))}function gn(t){var e=t.value,r=t.key,n=zr(e);return"string"!==n?[new St(r,e,"string expected, "+n+" found")]:[]}var mn={promoteId:function(t){var e=t.key,r=t.value;if("string"===zr(r))return gn({key:e,value:r});var n=[];for(var i in r)n.push.apply(n,gn({key:e+"."+i,value:r[i]}));return n}};function vn(t){var e=t.value,r=t.key,n=t.styleSpec,i=t.style;if(!e.type)return[new St(r,e,'"type" is required')];var a,o=Lt(e.type);switch(o){case"vector":case"raster":case"raster-dem":return Xr({key:r,value:e,valueSpec:n["source_"+o.replace("-","_")],style:t.style,styleSpec:n,objectElementValidators:mn});case"geojson":if(a=Xr({key:r,value:e,valueSpec:n.source_geojson,style:i,styleSpec:n,objectElementValidators:mn}),e.cluster)for(var s in e.clusterProperties){var l=e.clusterProperties[s],c=l[0],u="string"==typeof c?[c,["accumulated"],["get",s]]:c;a.push.apply(a,Qr({key:r+"."+s+".map",value:l[1],expressionContext:"cluster-map"})),a.push.apply(a,Qr({key:r+"."+s+".reduce",value:u,expressionContext:"cluster-reduce"}))}return a;case"video":return Xr({key:r,value:e,valueSpec:n.source_video,style:i,styleSpec:n});case"image":return Xr({key:r,value:e,valueSpec:n.source_image,style:i,styleSpec:n});case"canvas":return[new St(r,null,"Please use runtime APIs to add canvas sources, rather than including them in stylesheets.","source.canvas")];default:return $r({key:r+".type",value:e.type,valueSpec:{values:["vector","raster","raster-dem","geojson","video","image"]},style:i,styleSpec:n})}}function yn(t){var e=t.value,r=t.styleSpec,n=r.light,i=t.style,a=[],o=zr(e);if(void 0===e)return a;if("object"!==o)return a.concat([new St("light",e,"object expected, "+o+" found")]);for(var s in e){var l=s.match(/^(.*)-transition$/);a=a.concat(l&&n[l[1]]&&n[l[1]].transition?bn({key:s,value:e[s],valueSpec:r.transition,style:i,styleSpec:r}):n[s]?bn({key:s,value:e[s],valueSpec:n[s],style:i,styleSpec:r}):[new St(s,e[s],'unknown property "'+s+'"')])}return a}var xn={"*":function(){return[]},array:Zr,boolean:function(t){var e=t.value,r=t.key,n=zr(e);return"boolean"!==n?[new St(r,e,"boolean expected, "+n+" found")]:[]},number:Jr,color:function(t){var e=t.key,r=t.value,n=zr(r);return"string"!==n?[new St(e,r,"color expected, "+n+" found")]:null===Jt(r)?[new St(e,r,'color expected, "'+r+'" found')]:[]},constants:Et,enum:$r,filter:un,function:Kr,layer:dn,object:Xr,source:vn,light:yn,string:gn,formatted:function(t){return 0===gn(t).length?[]:Qr(t)},resolvedImage:function(t){return 0===gn(t).length?[]:Qr(t)}};function bn(t){var e=t.value,r=t.valueSpec,n=t.styleSpec;return r.expression&&Or(Lt(e))?Kr(t):r.expression&&Vr(It(e))?Qr(t):r.type&&xn[r.type]?xn[r.type](t):Xr(Ct({},t,{valueSpec:r.type?n[r.type]:r}))}function _n(t){var e=t.value,r=t.key,n=gn(t);return n.length||(-1===e.indexOf("{fontstack}")&&n.push(new St(r,e,'"glyphs" url must include a "{fontstack}" token')),-1===e.indexOf("{range}")&&n.push(new St(r,e,'"glyphs" url must include a "{range}" token'))),n}function wn(t,e){void 0===e&&(e=At);var r=[];return r=r.concat(bn({key:"",value:t,valueSpec:e.$root,styleSpec:e,style:t,objectElementValidators:{glyphs:_n,"*":function(){return[]}}})),t.constants&&(r=r.concat(Et({key:"constants",value:t.constants,style:t,styleSpec:e}))),Tn(r)}function Tn(t){return[].concat(t).sort((function(t,e){return t.line-e.line}))}function kn(t){return function(){for(var e=[],r=arguments.length;r--;)e[r]=arguments[r];return Tn(t.apply(this,e))}}wn.source=kn(vn),wn.light=kn(yn),wn.layer=kn(dn),wn.filter=kn(un),wn.paintProperty=kn(hn),wn.layoutProperty=kn(pn);var Mn=wn,An=Mn.light,Sn=Mn.paintProperty,En=Mn.layoutProperty;function Cn(t,e){var r=!1;if(e&&e.length)for(var n=0,i=e;n<i.length;n+=1)t.fire(new kt(new Error(i[n].message))),r=!0;return r}var Ln=In;function In(t,e,r){var n=this.cells=[];if(t instanceof ArrayBuffer){this.arrayBuffer=t;var i=new Int32Array(this.arrayBuffer);t=i[0],this.d=(e=i[1])+2*(r=i[2]);for(var a=0;a<this.d*this.d;a++){var o=i[3+a],s=i[3+a+1];n.push(o===s?null:i.subarray(o,s))}var l=i[3+n.length+1];this.keys=i.subarray(i[3+n.length],l),this.bboxes=i.subarray(l),this.insert=this._insertReadonly}else{this.d=e+2*r;for(var c=0;c<this.d*this.d;c++)n.push([]);this.keys=[],this.bboxes=[]}this.n=e,this.extent=t,this.padding=r,this.scale=e/t,this.uid=0;var u=r/e*t;this.min=-u,this.max=t+u}In.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)},In.prototype._insertReadonly=function(){throw"Cannot insert into a GridIndex created from an ArrayBuffer."},In.prototype._insertCell=function(t,e,r,n,i,a){this.cells[i].push(a)},In.prototype.query=function(t,e,r,n,i){var a=this.min,o=this.max;if(t<=a&&e<=a&&o<=r&&o<=n&&!i)return Array.prototype.slice.call(this.keys);var s=[];return this._forEachCell(t,e,r,n,this._queryCell,s,{},i),s},In.prototype._queryCell=function(t,e,r,n,i,a,o,s){var l=this.cells[i];if(null!==l)for(var c=this.keys,u=this.bboxes,f=0;f<l.length;f++){var h=l[f];if(void 0===o[h]){var p=4*h;(s?s(u[p+0],u[p+1],u[p+2],u[p+3]):t<=u[p+2]&&e<=u[p+3]&&r>=u[p+0]&&n>=u[p+1])?(o[h]=!0,a.push(c[h])):o[h]=!1}}},In.prototype._forEachCell=function(t,e,r,n,i,a,o,s){for(var l=this._convertToCellCoord(t),c=this._convertToCellCoord(e),u=this._convertToCellCoord(r),f=this._convertToCellCoord(n),h=l;h<=u;h++)for(var p=c;p<=f;p++){var d=this.d*p+h;if((!s||s(this._convertFromCellCoord(h),this._convertFromCellCoord(p),this._convertFromCellCoord(h+1),this._convertFromCellCoord(p+1)))&&i.call(this,t,e,r,n,d,a,o,s))return}},In.prototype._convertFromCellCoord=function(t){return(t-this.padding)/this.scale},In.prototype._convertToCellCoord=function(t){return Math.max(0,Math.min(this.d-1,Math.floor(t*this.scale)+this.padding))},In.prototype.toArrayBuffer=function(){if(this.arrayBuffer)return this.arrayBuffer;for(var t=this.cells,e=3+this.cells.length+1+1,r=0,n=0;n<this.cells.length;n++)r+=this.cells[n].length;var i=new Int32Array(e+r+this.keys.length+this.bboxes.length);i[0]=this.extent,i[1]=this.n,i[2]=this.padding;for(var a=e,o=0;o<t.length;o++){var s=t[o];i[3+o]=a,i.set(s,a),a+=s.length}return i[3+t.length]=a,i.set(this.keys,a),i[3+t.length+1]=a+=this.keys.length,i.set(this.bboxes,a),a+=this.bboxes.length,i.buffer};var Pn=self.ImageData,zn=self.ImageBitmap,On={};function Dn(t,e,r){void 0===r&&(r={}),Object.defineProperty(e,"_classRegistryKey",{value:t,writeable:!1}),On[t]={klass:e,omit:r.omit||[],shallow:r.shallow||[]}}for(var Rn in Dn("Object",Object),Ln.serialize=function(t,e){var r=t.toArrayBuffer();return e&&e.push(r),{buffer:r}},Ln.deserialize=function(t){return new Ln(t.buffer)},Dn("Grid",Ln),Dn("Color",Kt),Dn("Error",Error),Dn("ResolvedImage",ee),Dn("StylePropertyFunction",Wr),Dn("StyleExpression",Ur,{omit:["_evaluator"]}),Dn("ZoomDependentExpression",Gr),Dn("ZoomConstantExpression",Hr),Dn("CompoundExpression",me,{omit:["_evaluate"]}),Tr)Tr[Rn]._classRegistryKey||Dn("Expression_"+Rn,Tr[Rn]);function Fn(t){return t&&"undefined"!=typeof ArrayBuffer&&(t instanceof ArrayBuffer||t.constructor&&"ArrayBuffer"===t.constructor.name)}function Bn(t){return zn&&t instanceof zn}function Nn(t,e){if(null==t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||t instanceof Boolean||t instanceof Number||t instanceof String||t instanceof Date||t instanceof RegExp)return t;if(Fn(t)||Bn(t))return e&&e.push(t),t;if(ArrayBuffer.isView(t)){var r=t;return e&&e.push(r.buffer),r}if(t instanceof Pn)return e&&e.push(t.data.buffer),t;if(Array.isArray(t)){for(var n=[],i=0,a=t;i<a.length;i+=1)n.push(Nn(a[i],e));return n}if("object"==typeof t){var o=t.constructor,s=o._classRegistryKey;if(!s)throw new Error("can't serialize object of unregistered class");var l=o.serialize?o.serialize(t,e):{};if(!o.serialize){for(var c in t)if(t.hasOwnProperty(c)&&!(On[s].omit.indexOf(c)>=0)){var u=t[c];l[c]=On[s].shallow.indexOf(c)>=0?u:Nn(u,e)}t instanceof Error&&(l.message=t.message)}if(l.$name)throw new Error("$name property is reserved for worker serialization logic.");return"Object"!==s&&(l.$name=s),l}throw new Error("can't serialize object of type "+typeof t)}function jn(t){if(null==t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||t instanceof Boolean||t instanceof Number||t instanceof String||t instanceof Date||t instanceof RegExp||Fn(t)||Bn(t)||ArrayBuffer.isView(t)||t instanceof Pn)return t;if(Array.isArray(t))return t.map(jn);if("object"==typeof t){var e=t.$name||"Object",r=On[e].klass;if(!r)throw new Error("can't deserialize unregistered class "+e);if(r.deserialize)return r.deserialize(t);for(var n=Object.create(r.prototype),i=0,a=Object.keys(t);i<a.length;i+=1){var o=a[i];if("$name"!==o){var s=t[o];n[o]=On[e].shallow.indexOf(o)>=0?s:jn(s)}}return n}throw new Error("can't deserialize object of type "+typeof t)}var Un=function(){this.first=!0};Un.prototype.update=function(t,e){var r=Math.floor(t);return this.first?(this.first=!1,this.lastIntegerZoom=r,this.lastIntegerZoomTime=0,this.lastZoom=t,this.lastFloorZoom=r,!0):(this.lastFloorZoom>r?(this.lastIntegerZoom=r+1,this.lastIntegerZoomTime=e):this.lastFloorZoom<r&&(this.lastIntegerZoom=r,this.lastIntegerZoomTime=e),t!==this.lastZoom&&(this.lastZoom=t,this.lastFloorZoom=r,!0))};var Vn={"Latin-1 Supplement":function(t){return t>=128&&t<=255},Arabic:function(t){return t>=1536&&t<=1791},"Arabic Supplement":function(t){return t>=1872&&t<=1919},"Arabic Extended-A":function(t){return t>=2208&&t<=2303},"Hangul Jamo":function(t){return t>=4352&&t<=4607},"Unified Canadian Aboriginal Syllabics":function(t){return t>=5120&&t<=5759},Khmer:function(t){return t>=6016&&t<=6143},"Unified Canadian Aboriginal Syllabics Extended":function(t){return t>=6320&&t<=6399},"General Punctuation":function(t){return t>=8192&&t<=8303},"Letterlike Symbols":function(t){return t>=8448&&t<=8527},"Number Forms":function(t){return t>=8528&&t<=8591},"Miscellaneous Technical":function(t){return t>=8960&&t<=9215},"Control Pictures":function(t){return t>=9216&&t<=9279},"Optical Character Recognition":function(t){return t>=9280&&t<=9311},"Enclosed Alphanumerics":function(t){return t>=9312&&t<=9471},"Geometric Shapes":function(t){return t>=9632&&t<=9727},"Miscellaneous Symbols":function(t){return t>=9728&&t<=9983},"Miscellaneous Symbols and Arrows":function(t){return t>=11008&&t<=11263},"CJK Radicals Supplement":function(t){return t>=11904&&t<=12031},"Kangxi Radicals":function(t){return t>=12032&&t<=12255},"Ideographic Description Characters":function(t){return t>=12272&&t<=12287},"CJK Symbols and Punctuation":function(t){return t>=12288&&t<=12351},Hiragana:function(t){return t>=12352&&t<=12447},Katakana:function(t){return t>=12448&&t<=12543},Bopomofo:function(t){return t>=12544&&t<=12591},"Hangul Compatibility Jamo":function(t){return t>=12592&&t<=12687},Kanbun:function(t){return t>=12688&&t<=12703},"Bopomofo Extended":function(t){return t>=12704&&t<=12735},"CJK Strokes":function(t){return t>=12736&&t<=12783},"Katakana Phonetic Extensions":function(t){return t>=12784&&t<=12799},"Enclosed CJK Letters and Months":function(t){return t>=12800&&t<=13055},"CJK Compatibility":function(t){return t>=13056&&t<=13311},"CJK Unified Ideographs Extension A":function(t){return t>=13312&&t<=19903},"Yijing Hexagram Symbols":function(t){return t>=19904&&t<=19967},"CJK Unified Ideographs":function(t){return t>=19968&&t<=40959},"Yi Syllables":function(t){return t>=40960&&t<=42127},"Yi Radicals":function(t){return t>=42128&&t<=42191},"Hangul Jamo Extended-A":function(t){return t>=43360&&t<=43391},"Hangul Syllables":function(t){return t>=44032&&t<=55215},"Hangul Jamo Extended-B":function(t){return t>=55216&&t<=55295},"Private Use Area":function(t){return t>=57344&&t<=63743},"CJK Compatibility Ideographs":function(t){return t>=63744&&t<=64255},"Arabic Presentation Forms-A":function(t){return t>=64336&&t<=65023},"Vertical Forms":function(t){return t>=65040&&t<=65055},"CJK Compatibility Forms":function(t){return t>=65072&&t<=65103},"Small Form Variants":function(t){return t>=65104&&t<=65135},"Arabic Presentation Forms-B":function(t){return t>=65136&&t<=65279},"Halfwidth and Fullwidth Forms":function(t){return t>=65280&&t<=65519}};function qn(t){for(var e=0,r=t;e<r.length;e+=1)if(Hn(r[e].charCodeAt(0)))return!0;return!1}function Hn(t){return!(746!==t&&747!==t&&(t<4352||!(Vn["Bopomofo Extended"](t)||Vn.Bopomofo(t)||Vn["CJK Compatibility Forms"](t)&&!(t>=65097&&t<=65103)||Vn["CJK Compatibility Ideographs"](t)||Vn["CJK Compatibility"](t)||Vn["CJK Radicals Supplement"](t)||Vn["CJK Strokes"](t)||!(!Vn["CJK Symbols and Punctuation"](t)||t>=12296&&t<=12305||t>=12308&&t<=12319||12336===t)||Vn["CJK Unified Ideographs Extension A"](t)||Vn["CJK Unified Ideographs"](t)||Vn["Enclosed CJK Letters and Months"](t)||Vn["Hangul Compatibility Jamo"](t)||Vn["Hangul Jamo Extended-A"](t)||Vn["Hangul Jamo Extended-B"](t)||Vn["Hangul Jamo"](t)||Vn["Hangul Syllables"](t)||Vn.Hiragana(t)||Vn["Ideographic Description Characters"](t)||Vn.Kanbun(t)||Vn["Kangxi Radicals"](t)||Vn["Katakana Phonetic Extensions"](t)||Vn.Katakana(t)&&12540!==t||!(!Vn["Halfwidth and Fullwidth Forms"](t)||65288===t||65289===t||65293===t||t>=65306&&t<=65310||65339===t||65341===t||65343===t||t>=65371&&t<=65503||65507===t||t>=65512&&t<=65519)||!(!Vn["Small Form Variants"](t)||t>=65112&&t<=65118||t>=65123&&t<=65126)||Vn["Unified Canadian Aboriginal Syllabics"](t)||Vn["Unified Canadian Aboriginal Syllabics Extended"](t)||Vn["Vertical Forms"](t)||Vn["Yijing Hexagram Symbols"](t)||Vn["Yi Syllables"](t)||Vn["Yi Radicals"](t))))}function Gn(t){return!(Hn(t)||function(t){return!!(Vn["Latin-1 Supplement"](t)&&(167===t||169===t||174===t||177===t||188===t||189===t||190===t||215===t||247===t)||Vn["General Punctuation"](t)&&(8214===t||8224===t||8225===t||8240===t||8241===t||8251===t||8252===t||8258===t||8263===t||8264===t||8265===t||8273===t)||Vn["Letterlike Symbols"](t)||Vn["Number Forms"](t)||Vn["Miscellaneous Technical"](t)&&(t>=8960&&t<=8967||t>=8972&&t<=8991||t>=8996&&t<=9e3||9003===t||t>=9085&&t<=9114||t>=9150&&t<=9165||9167===t||t>=9169&&t<=9179||t>=9186&&t<=9215)||Vn["Control Pictures"](t)&&9251!==t||Vn["Optical Character Recognition"](t)||Vn["Enclosed Alphanumerics"](t)||Vn["Geometric Shapes"](t)||Vn["Miscellaneous Symbols"](t)&&!(t>=9754&&t<=9759)||Vn["Miscellaneous Symbols and Arrows"](t)&&(t>=11026&&t<=11055||t>=11088&&t<=11097||t>=11192&&t<=11243)||Vn["CJK Symbols and Punctuation"](t)||Vn.Katakana(t)||Vn["Private Use Area"](t)||Vn["CJK Compatibility Forms"](t)||Vn["Small Form Variants"](t)||Vn["Halfwidth and Fullwidth Forms"](t)||8734===t||8756===t||8757===t||t>=9984&&t<=10087||t>=10102&&t<=10131||65532===t||65533===t)}(t))}function Yn(t){return t>=1424&&t<=2303||Vn["Arabic Presentation Forms-A"](t)||Vn["Arabic Presentation Forms-B"](t)}function Wn(t,e){return!(!e&&Yn(t)||t>=2304&&t<=3583||t>=3840&&t<=4255||Vn.Khmer(t))}function Xn(t){for(var e=0,r=t;e<r.length;e+=1)if(Yn(r[e].charCodeAt(0)))return!0;return!1}var Zn=null,Jn="unavailable",Kn=null,Qn=function(t){t&&"string"==typeof t&&t.indexOf("NetworkError")>-1&&(Jn="error"),Zn&&Zn(t)};function $n(){ti.fire(new Tt("pluginStateChange",{pluginStatus:Jn,pluginURL:Kn}))}var ti=new Mt,ei=function(){return Jn},ri=function(){if("deferred"!==Jn||!Kn)throw new Error("rtl-text-plugin cannot be downloaded unless a pluginURL is specified");Jn="loading",$n(),Kn&&yt({url:Kn},(function(t){t?Qn(t):(Jn="loaded",$n())}))},ni={applyArabicShaping:null,processBidirectionalText:null,processStyledBidirectionalText:null,isLoaded:function(){return"loaded"===Jn||null!=ni.applyArabicShaping},isLoading:function(){return"loading"===Jn},setState:function(t){Jn=t.pluginStatus,Kn=t.pluginURL},isParsed:function(){return null!=ni.applyArabicShaping&&null!=ni.processBidirectionalText&&null!=ni.processStyledBidirectionalText},getPluginURL:function(){return Kn}},ii=function(t,e){this.zoom=t,e?(this.now=e.now,this.fadeDuration=e.fadeDuration,this.zoomHistory=e.zoomHistory,this.transition=e.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new Un,this.transition={})};ii.prototype.isSupportedScript=function(t){return function(t,e){for(var r=0,n=t;r<n.length;r+=1)if(!Wn(n[r].charCodeAt(0),e))return!1;return!0}(t,ni.isLoaded())},ii.prototype.crossFadingFactor=function(){return 0===this.fadeDuration?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)},ii.prototype.getCrossfadeParameters=function(){var t=this.zoom,e=t-Math.floor(t),r=this.crossFadingFactor();return t>this.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:e+(1-e)*r}:{fromScale:.5,toScale:1,t:1-(1-r)*e}};var ai=function(t,e){this.property=t,this.value=e,this.expression=function(t,e){if(Or(t))return new Wr(t,e);if(Vr(t)){var r=Yr(t,e);if("error"===r.result)throw new Error(r.value.map((function(t){return t.key+": "+t.message})).join(", "));return r.value}var n=t;return"string"==typeof t&&"color"===e.type&&(n=Kt.parse(t)),{kind:"constant",evaluate:function(){return n}}}(void 0===e?t.specification.default:e,t.specification)};ai.prototype.isDataDriven=function(){return"source"===this.expression.kind||"composite"===this.expression.kind},ai.prototype.possiblyEvaluate=function(t,e,r){return this.property.possiblyEvaluate(this,t,e,r)};var oi=function(t){this.property=t,this.value=new ai(t,void 0)};oi.prototype.transitioned=function(t,e){return new li(this.property,this.value,e,u({},t.transition,this.transition),t.now)},oi.prototype.untransitioned=function(){return new li(this.property,this.value,null,{},0)};var si=function(t){this._properties=t,this._values=Object.create(t.defaultTransitionablePropertyValues)};si.prototype.getValue=function(t){return x(this._values[t].value.value)},si.prototype.setValue=function(t,e){this._values.hasOwnProperty(t)||(this._values[t]=new oi(this._values[t].property)),this._values[t].value=new ai(this._values[t].property,null===e?void 0:x(e))},si.prototype.getTransition=function(t){return x(this._values[t].transition)},si.prototype.setTransition=function(t,e){this._values.hasOwnProperty(t)||(this._values[t]=new oi(this._values[t].property)),this._values[t].transition=x(e)||void 0},si.prototype.serialize=function(){for(var t={},e=0,r=Object.keys(this._values);e<r.length;e+=1){var n=r[e],i=this.getValue(n);void 0!==i&&(t[n]=i);var a=this.getTransition(n);void 0!==a&&(t[n+"-transition"]=a)}return t},si.prototype.transitioned=function(t,e){for(var r=new ci(this._properties),n=0,i=Object.keys(this._values);n<i.length;n+=1){var a=i[n];r._values[a]=this._values[a].transitioned(t,e._values[a])}return r},si.prototype.untransitioned=function(){for(var t=new ci(this._properties),e=0,r=Object.keys(this._values);e<r.length;e+=1){var n=r[e];t._values[n]=this._values[n].untransitioned()}return t};var li=function(t,e,r,n,i){this.property=t,this.value=e,this.begin=i+n.delay||0,this.end=this.begin+n.duration||0,t.specification.transition&&(n.delay||n.duration)&&(this.prior=r)};li.prototype.possiblyEvaluate=function(t,e,r){var n=t.now||0,i=this.value.possiblyEvaluate(t,e,r),a=this.prior;if(a){if(n>this.end)return this.prior=null,i;if(this.value.isDataDriven())return this.prior=null,i;if(n<this.begin)return a.possiblyEvaluate(t,e,r);var o=(n-this.begin)/(this.end-this.begin);return this.property.interpolate(a.possiblyEvaluate(t,e,r),i,function(t){if(t<=0)return 0;if(t>=1)return 1;var e=t*t,r=e*t;return 4*(t<.5?r:3*(t-e)+r-.75)}(o))}return i};var ci=function(t){this._properties=t,this._values=Object.create(t.defaultTransitioningPropertyValues)};ci.prototype.possiblyEvaluate=function(t,e,r){for(var n=new hi(this._properties),i=0,a=Object.keys(this._values);i<a.length;i+=1){var o=a[i];n._values[o]=this._values[o].possiblyEvaluate(t,e,r)}return n},ci.prototype.hasTransition=function(){for(var t=0,e=Object.keys(this._values);t<e.length;t+=1)if(this._values[e[t]].prior)return!0;return!1};var ui=function(t){this._properties=t,this._values=Object.create(t.defaultPropertyValues)};ui.prototype.getValue=function(t){return x(this._values[t].value)},ui.prototype.setValue=function(t,e){this._values[t]=new ai(this._values[t].property,null===e?void 0:x(e))},ui.prototype.serialize=function(){for(var t={},e=0,r=Object.keys(this._values);e<r.length;e+=1){var n=r[e],i=this.getValue(n);void 0!==i&&(t[n]=i)}return t},ui.prototype.possiblyEvaluate=function(t,e,r){for(var n=new hi(this._properties),i=0,a=Object.keys(this._values);i<a.length;i+=1){var o=a[i];n._values[o]=this._values[o].possiblyEvaluate(t,e,r)}return n};var fi=function(t,e,r){this.property=t,this.value=e,this.parameters=r};fi.prototype.isConstant=function(){return"constant"===this.value.kind},fi.prototype.constantOr=function(t){return"constant"===this.value.kind?this.value.value:t},fi.prototype.evaluate=function(t,e,r,n){return this.property.evaluate(this.value,this.parameters,t,e,r,n)};var hi=function(t){this._properties=t,this._values=Object.create(t.defaultPossiblyEvaluatedValues)};hi.prototype.get=function(t){return this._values[t]};var pi=function(t){this.specification=t};pi.prototype.possiblyEvaluate=function(t,e){return t.expression.evaluate(e)},pi.prototype.interpolate=function(t,e,r){var n=Ve[this.specification.type];return n?n(t,e,r):t};var di=function(t,e){this.specification=t,this.overrides=e};di.prototype.possiblyEvaluate=function(t,e,r,n){return new fi(this,"constant"===t.expression.kind||"camera"===t.expression.kind?{kind:"constant",value:t.expression.evaluate(e,null,{},r,n)}:t.expression,e)},di.prototype.interpolate=function(t,e,r){if("constant"!==t.value.kind||"constant"!==e.value.kind)return t;if(void 0===t.value.value||void 0===e.value.value)return new fi(this,{kind:"constant",value:void 0},t.parameters);var n=Ve[this.specification.type];return n?new fi(this,{kind:"constant",value:n(t.value.value,e.value.value,r)},t.parameters):t},di.prototype.evaluate=function(t,e,r,n,i,a){return"constant"===t.kind?t.value:t.evaluate(e,r,n,i,a)};var gi=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.possiblyEvaluate=function(t,e,r,n){if(void 0===t.value)return new fi(this,{kind:"constant",value:void 0},e);if("constant"===t.expression.kind){var i=t.expression.evaluate(e,null,{},r,n),a="resolvedImage"===t.property.specification.type&&"string"!=typeof i?i.name:i,o=this._calculate(a,a,a,e);return new fi(this,{kind:"constant",value:o},e)}if("camera"===t.expression.kind){var s=this._calculate(t.expression.evaluate({zoom:e.zoom-1}),t.expression.evaluate({zoom:e.zoom}),t.expression.evaluate({zoom:e.zoom+1}),e);return new fi(this,{kind:"constant",value:s},e)}return new fi(this,t.expression,e)},e.prototype.evaluate=function(t,e,r,n,i,a){if("source"===t.kind){var o=t.evaluate(e,r,n,i,a);return this._calculate(o,o,o,e)}return"composite"===t.kind?this._calculate(t.evaluate({zoom:Math.floor(e.zoom)-1},r,n),t.evaluate({zoom:Math.floor(e.zoom)},r,n),t.evaluate({zoom:Math.floor(e.zoom)+1},r,n),e):t.value},e.prototype._calculate=function(t,e,r,n){return n.zoom>n.zoomHistory.lastIntegerZoom?{from:t,to:e}:{from:r,to:e}},e.prototype.interpolate=function(t){return t},e}(di),mi=function(t){this.specification=t};mi.prototype.possiblyEvaluate=function(t,e,r,n){if(void 0!==t.value){if("constant"===t.expression.kind){var i=t.expression.evaluate(e,null,{},r,n);return this._calculate(i,i,i,e)}return this._calculate(t.expression.evaluate(new ii(Math.floor(e.zoom-1),e)),t.expression.evaluate(new ii(Math.floor(e.zoom),e)),t.expression.evaluate(new ii(Math.floor(e.zoom+1),e)),e)}},mi.prototype._calculate=function(t,e,r,n){return n.zoom>n.zoomHistory.lastIntegerZoom?{from:t,to:e}:{from:r,to:e}},mi.prototype.interpolate=function(t){return t};var vi=function(t){this.specification=t};vi.prototype.possiblyEvaluate=function(t,e,r,n){return!!t.expression.evaluate(e,null,{},r,n)},vi.prototype.interpolate=function(){return!1};var yi=function(t){for(var e in this.properties=t,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[],t){var r=t[e];r.specification.overridable&&this.overridableProperties.push(e);var n=this.defaultPropertyValues[e]=new ai(r,void 0),i=this.defaultTransitionablePropertyValues[e]=new oi(r);this.defaultTransitioningPropertyValues[e]=i.untransitioned(),this.defaultPossiblyEvaluatedValues[e]=n.possiblyEvaluate({})}};Dn("DataDrivenProperty",di),Dn("DataConstantProperty",pi),Dn("CrossFadedDataDrivenProperty",gi),Dn("CrossFadedProperty",mi),Dn("ColorRampProperty",vi);var xi=function(t){function e(e,r){if(t.call(this),this.id=e.id,this.type=e.type,this._featureFilter={filter:function(){return!0},needGeometry:!1},"custom"!==e.type&&(this.metadata=(e=e).metadata,this.minzoom=e.minzoom,this.maxzoom=e.maxzoom,"background"!==e.type&&(this.source=e.source,this.sourceLayer=e["source-layer"],this.filter=e.filter),r.layout&&(this._unevaluatedLayout=new ui(r.layout)),r.paint)){for(var n in this._transitionablePaint=new si(r.paint),e.paint)this.setPaintProperty(n,e.paint[n],{validate:!1});for(var i in e.layout)this.setLayoutProperty(i,e.layout[i],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new hi(r.paint)}}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getCrossfadeParameters=function(){return this._crossfadeParameters},e.prototype.getLayoutProperty=function(t){return"visibility"===t?this.visibility:this._unevaluatedLayout.getValue(t)},e.prototype.setLayoutProperty=function(t,e,r){void 0===r&&(r={}),null!=e&&this._validate(En,"layers."+this.id+".layout."+t,t,e,r)||("visibility"!==t?this._unevaluatedLayout.setValue(t,e):this.visibility=e)},e.prototype.getPaintProperty=function(t){return m(t,"-transition")?this._transitionablePaint.getTransition(t.slice(0,-"-transition".length)):this._transitionablePaint.getValue(t)},e.prototype.setPaintProperty=function(t,e,r){if(void 0===r&&(r={}),null!=e&&this._validate(Sn,"layers."+this.id+".paint."+t,t,e,r))return!1;if(m(t,"-transition"))return this._transitionablePaint.setTransition(t.slice(0,-"-transition".length),e||void 0),!1;var n=this._transitionablePaint._values[t],i="cross-faded-data-driven"===n.property.specification["property-type"],a=n.value.isDataDriven(),o=n.value;this._transitionablePaint.setValue(t,e),this._handleSpecialPaintPropertyUpdate(t);var s=this._transitionablePaint._values[t].value;return s.isDataDriven()||a||i||this._handleOverridablePaintPropertyUpdate(t,o,s)},e.prototype._handleSpecialPaintPropertyUpdate=function(t){},e.prototype._handleOverridablePaintPropertyUpdate=function(t,e,r){return!1},e.prototype.isHidden=function(t){return!!(this.minzoom&&t<this.minzoom)||!!(this.maxzoom&&t>=this.maxzoom)||"none"===this.visibility},e.prototype.updateTransitions=function(t){this._transitioningPaint=this._transitionablePaint.transitioned(t,this._transitioningPaint)},e.prototype.hasTransition=function(){return this._transitioningPaint.hasTransition()},e.prototype.recalculate=function(t,e){t.getCrossfadeParameters&&(this._crossfadeParameters=t.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(t,void 0,e)),this.paint=this._transitioningPaint.possiblyEvaluate(t,void 0,e)},e.prototype.serialize=function(){var t={id:this.id,type:this.type,source:this.source,"source-layer":this.sourceLayer,metadata:this.metadata,minzoom:this.minzoom,maxzoom:this.maxzoom,filter:this.filter,layout:this._unevaluatedLayout&&this._unevaluatedLayout.serialize(),paint:this._transitionablePaint&&this._transitionablePaint.serialize()};return this.visibility&&(t.layout=t.layout||{},t.layout.visibility=this.visibility),y(t,(function(t,e){return!(void 0===t||"layout"===e&&!Object.keys(t).length||"paint"===e&&!Object.keys(t).length)}))},e.prototype._validate=function(t,e,r,n,i){return void 0===i&&(i={}),(!i||!1!==i.validate)&&Cn(this,t.call(Mn,{key:e,layerType:this.type,objectKey:r,value:n,styleSpec:At,style:{glyphs:!0,sprite:!0}}))},e.prototype.is3D=function(){return!1},e.prototype.isTileClipped=function(){return!1},e.prototype.hasOffscreenPass=function(){return!1},e.prototype.resize=function(){},e.prototype.isStateDependent=function(){for(var t in this.paint._values){var e=this.paint.get(t);if(e instanceof fi&&Lr(e.property.specification)&&("source"===e.value.kind||"composite"===e.value.kind)&&e.value.isStateDependent)return!0}return!1},e}(Mt),bi={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array},_i=function(t,e){this._structArray=t,this._pos1=e*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8},wi=function(){this.isTransferred=!1,this.capacity=-1,this.resize(0)};function Ti(t,e){void 0===e&&(e=1);var r=0,n=0;return{members:t.map((function(t){var i=bi[t.type].BYTES_PER_ELEMENT,a=r=ki(r,Math.max(e,i)),o=t.components||1;return n=Math.max(n,i),r+=i*o,{name:t.name,type:t.type,components:o,offset:a}})),size:ki(r,Math.max(n,e)),alignment:e}}function ki(t,e){return Math.ceil(t/e)*e}wi.serialize=function(t,e){return t._trim(),e&&(t.isTransferred=!0,e.push(t.arrayBuffer)),{length:t.length,arrayBuffer:t.arrayBuffer}},wi.deserialize=function(t){var e=Object.create(this.prototype);return e.arrayBuffer=t.arrayBuffer,e.length=t.length,e.capacity=t.arrayBuffer.byteLength/e.bytesPerElement,e._refreshViews(),e},wi.prototype._trim=function(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())},wi.prototype.clear=function(){this.length=0},wi.prototype.resize=function(t){this.reserve(t),this.length=t},wi.prototype.reserve=function(t){if(t>this.capacity){this.capacity=Math.max(t,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);var e=this.uint8;this._refreshViews(),e&&this.uint8.set(e)}},wi.prototype._refreshViews=function(){throw new Error("_refreshViews() must be implemented by each concrete StructArray layout")};var Mi=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e){var r=this.length;return this.resize(r+1),this.emplace(r,t,e)},e.prototype.emplace=function(t,e,r){var n=2*t;return this.int16[n+0]=e,this.int16[n+1]=r,t},e}(wi);Mi.prototype.bytesPerElement=4,Dn("StructArrayLayout2i4",Mi);var Ai=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n){var i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n)},e.prototype.emplace=function(t,e,r,n,i){var a=4*t;return this.int16[a+0]=e,this.int16[a+1]=r,this.int16[a+2]=n,this.int16[a+3]=i,t},e}(wi);Ai.prototype.bytesPerElement=8,Dn("StructArrayLayout4i8",Ai);var Si=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a){var o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,i,a)},e.prototype.emplace=function(t,e,r,n,i,a,o){var s=6*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.int16[s+2]=n,this.int16[s+3]=i,this.int16[s+4]=a,this.int16[s+5]=o,t},e}(wi);Si.prototype.bytesPerElement=12,Dn("StructArrayLayout2i4i12",Si);var Ei=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a){var o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,i,a)},e.prototype.emplace=function(t,e,r,n,i,a,o){var s=4*t,l=8*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.uint8[l+4]=n,this.uint8[l+5]=i,this.uint8[l+6]=a,this.uint8[l+7]=o,t},e}(wi);Ei.prototype.bytesPerElement=8,Dn("StructArrayLayout2i4ub8",Ei);var Ci=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,l,c){var u=this.length;return this.resize(u+1),this.emplace(u,t,e,r,n,i,a,o,s,l,c)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,l,c,u){var f=9*t,h=18*t;return this.uint16[f+0]=e,this.uint16[f+1]=r,this.uint16[f+2]=n,this.uint16[f+3]=i,this.uint16[f+4]=a,this.uint16[f+5]=o,this.uint16[f+6]=s,this.uint16[f+7]=l,this.uint8[h+16]=c,this.uint8[h+17]=u,t},e}(wi);Ci.prototype.bytesPerElement=18,Dn("StructArrayLayout8ui2ub18",Ci);var Li=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,l,c,u,f){var h=this.length;return this.resize(h+1),this.emplace(h,t,e,r,n,i,a,o,s,l,c,u,f)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,l,c,u,f,h){var p=12*t;return this.int16[p+0]=e,this.int16[p+1]=r,this.int16[p+2]=n,this.int16[p+3]=i,this.uint16[p+4]=a,this.uint16[p+5]=o,this.uint16[p+6]=s,this.uint16[p+7]=l,this.int16[p+8]=c,this.int16[p+9]=u,this.int16[p+10]=f,this.int16[p+11]=h,t},e}(wi);Li.prototype.bytesPerElement=24,Dn("StructArrayLayout4i4ui4i24",Li);var Ii=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var i=3*t;return this.float32[i+0]=e,this.float32[i+1]=r,this.float32[i+2]=n,t},e}(wi);Ii.prototype.bytesPerElement=12,Dn("StructArrayLayout3f12",Ii);var Pi=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t){var e=this.length;return this.resize(e+1),this.emplace(e,t)},e.prototype.emplace=function(t,e){return this.uint32[1*t+0]=e,t},e}(wi);Pi.prototype.bytesPerElement=4,Dn("StructArrayLayout1ul4",Pi);var zi=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,l){var c=this.length;return this.resize(c+1),this.emplace(c,t,e,r,n,i,a,o,s,l)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,l,c){var u=10*t,f=5*t;return this.int16[u+0]=e,this.int16[u+1]=r,this.int16[u+2]=n,this.int16[u+3]=i,this.int16[u+4]=a,this.int16[u+5]=o,this.uint32[f+3]=s,this.uint16[u+8]=l,this.uint16[u+9]=c,t},e}(wi);zi.prototype.bytesPerElement=20,Dn("StructArrayLayout6i1ul2ui20",zi);var Oi=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a){var o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,i,a)},e.prototype.emplace=function(t,e,r,n,i,a,o){var s=6*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.int16[s+2]=n,this.int16[s+3]=i,this.int16[s+4]=a,this.int16[s+5]=o,t},e}(wi);Oi.prototype.bytesPerElement=12,Dn("StructArrayLayout2i2i2i12",Oi);var Di=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i){var a=this.length;return this.resize(a+1),this.emplace(a,t,e,r,n,i)},e.prototype.emplace=function(t,e,r,n,i,a){var o=4*t,s=8*t;return this.float32[o+0]=e,this.float32[o+1]=r,this.float32[o+2]=n,this.int16[s+6]=i,this.int16[s+7]=a,t},e}(wi);Di.prototype.bytesPerElement=16,Dn("StructArrayLayout2f1f2i16",Di);var Ri=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n){var i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n)},e.prototype.emplace=function(t,e,r,n,i){var a=12*t,o=3*t;return this.uint8[a+0]=e,this.uint8[a+1]=r,this.float32[o+1]=n,this.float32[o+2]=i,t},e}(wi);Ri.prototype.bytesPerElement=12,Dn("StructArrayLayout2ub2f12",Ri);var Fi=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var i=3*t;return this.uint16[i+0]=e,this.uint16[i+1]=r,this.uint16[i+2]=n,t},e}(wi);Fi.prototype.bytesPerElement=6,Dn("StructArrayLayout3ui6",Fi);var Bi=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,l,c,u,f,h,p,d,g,m){var v=this.length;return this.resize(v+1),this.emplace(v,t,e,r,n,i,a,o,s,l,c,u,f,h,p,d,g,m)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,l,c,u,f,h,p,d,g,m,v){var y=24*t,x=12*t,b=48*t;return this.int16[y+0]=e,this.int16[y+1]=r,this.uint16[y+2]=n,this.uint16[y+3]=i,this.uint32[x+2]=a,this.uint32[x+3]=o,this.uint32[x+4]=s,this.uint16[y+10]=l,this.uint16[y+11]=c,this.uint16[y+12]=u,this.float32[x+7]=f,this.float32[x+8]=h,this.uint8[b+36]=p,this.uint8[b+37]=d,this.uint8[b+38]=g,this.uint32[x+10]=m,this.int16[y+22]=v,t},e}(wi);Bi.prototype.bytesPerElement=48,Dn("StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48",Bi);var Ni=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,l,c,u,f,h,p,d,g,m,v,y,x,b,_,w,T,k,M,A,S){var E=this.length;return this.resize(E+1),this.emplace(E,t,e,r,n,i,a,o,s,l,c,u,f,h,p,d,g,m,v,y,x,b,_,w,T,k,M,A,S)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,l,c,u,f,h,p,d,g,m,v,y,x,b,_,w,T,k,M,A,S,E){var C=34*t,L=17*t;return this.int16[C+0]=e,this.int16[C+1]=r,this.int16[C+2]=n,this.int16[C+3]=i,this.int16[C+4]=a,this.int16[C+5]=o,this.int16[C+6]=s,this.int16[C+7]=l,this.uint16[C+8]=c,this.uint16[C+9]=u,this.uint16[C+10]=f,this.uint16[C+11]=h,this.uint16[C+12]=p,this.uint16[C+13]=d,this.uint16[C+14]=g,this.uint16[C+15]=m,this.uint16[C+16]=v,this.uint16[C+17]=y,this.uint16[C+18]=x,this.uint16[C+19]=b,this.uint16[C+20]=_,this.uint16[C+21]=w,this.uint16[C+22]=T,this.uint32[L+12]=k,this.float32[L+13]=M,this.float32[L+14]=A,this.float32[L+15]=S,this.float32[L+16]=E,t},e}(wi);Ni.prototype.bytesPerElement=68,Dn("StructArrayLayout8i15ui1ul4f68",Ni);var ji=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t){var e=this.length;return this.resize(e+1),this.emplace(e,t)},e.prototype.emplace=function(t,e){return this.float32[1*t+0]=e,t},e}(wi);ji.prototype.bytesPerElement=4,Dn("StructArrayLayout1f4",ji);var Ui=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var i=3*t;return this.int16[i+0]=e,this.int16[i+1]=r,this.int16[i+2]=n,t},e}(wi);Ui.prototype.bytesPerElement=6,Dn("StructArrayLayout3i6",Ui);var Vi=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var i=4*t;return this.uint32[2*t+0]=e,this.uint16[i+2]=r,this.uint16[i+3]=n,t},e}(wi);Vi.prototype.bytesPerElement=8,Dn("StructArrayLayout1ul2ui8",Vi);var qi=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e){var r=this.length;return this.resize(r+1),this.emplace(r,t,e)},e.prototype.emplace=function(t,e,r){var n=2*t;return this.uint16[n+0]=e,this.uint16[n+1]=r,t},e}(wi);qi.prototype.bytesPerElement=4,Dn("StructArrayLayout2ui4",qi);var Hi=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t){var e=this.length;return this.resize(e+1),this.emplace(e,t)},e.prototype.emplace=function(t,e){return this.uint16[1*t+0]=e,t},e}(wi);Hi.prototype.bytesPerElement=2,Dn("StructArrayLayout1ui2",Hi);var Gi=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e){var r=this.length;return this.resize(r+1),this.emplace(r,t,e)},e.prototype.emplace=function(t,e,r){var n=2*t;return this.float32[n+0]=e,this.float32[n+1]=r,t},e}(wi);Gi.prototype.bytesPerElement=8,Dn("StructArrayLayout2f8",Gi);var Yi=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n){var i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n)},e.prototype.emplace=function(t,e,r,n,i){var a=4*t;return this.float32[a+0]=e,this.float32[a+1]=r,this.float32[a+2]=n,this.float32[a+3]=i,t},e}(wi);Yi.prototype.bytesPerElement=16,Dn("StructArrayLayout4f16",Yi);var Wi=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e;var r={anchorPointX:{configurable:!0},anchorPointY:{configurable:!0},x1:{configurable:!0},y1:{configurable:!0},x2:{configurable:!0},y2:{configurable:!0},featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0},anchorPoint:{configurable:!0}};return r.anchorPointX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorPointY.get=function(){return this._structArray.int16[this._pos2+1]},r.x1.get=function(){return this._structArray.int16[this._pos2+2]},r.y1.get=function(){return this._structArray.int16[this._pos2+3]},r.x2.get=function(){return this._structArray.int16[this._pos2+4]},r.y2.get=function(){return this._structArray.int16[this._pos2+5]},r.featureIndex.get=function(){return this._structArray.uint32[this._pos4+3]},r.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+8]},r.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+9]},r.anchorPoint.get=function(){return new i(this.anchorPointX,this.anchorPointY)},Object.defineProperties(e.prototype,r),e}(_i);Wi.prototype.size=20;var Xi=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.get=function(t){return new Wi(this,t)},e}(zi);Dn("CollisionBoxArray",Xi);var Zi=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e;var r={anchorX:{configurable:!0},anchorY:{configurable:!0},glyphStartIndex:{configurable:!0},numGlyphs:{configurable:!0},vertexStartIndex:{configurable:!0},lineStartIndex:{configurable:!0},lineLength:{configurable:!0},segment:{configurable:!0},lowerSize:{configurable:!0},upperSize:{configurable:!0},lineOffsetX:{configurable:!0},lineOffsetY:{configurable:!0},writingMode:{configurable:!0},placedOrientation:{configurable:!0},hidden:{configurable:!0},crossTileID:{configurable:!0},associatedIconIndex:{configurable:!0}};return r.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},r.glyphStartIndex.get=function(){return this._structArray.uint16[this._pos2+2]},r.numGlyphs.get=function(){return this._structArray.uint16[this._pos2+3]},r.vertexStartIndex.get=function(){return this._structArray.uint32[this._pos4+2]},r.lineStartIndex.get=function(){return this._structArray.uint32[this._pos4+3]},r.lineLength.get=function(){return this._structArray.uint32[this._pos4+4]},r.segment.get=function(){return this._structArray.uint16[this._pos2+10]},r.lowerSize.get=function(){return this._structArray.uint16[this._pos2+11]},r.upperSize.get=function(){return this._structArray.uint16[this._pos2+12]},r.lineOffsetX.get=function(){return this._structArray.float32[this._pos4+7]},r.lineOffsetY.get=function(){return this._structArray.float32[this._pos4+8]},r.writingMode.get=function(){return this._structArray.uint8[this._pos1+36]},r.placedOrientation.get=function(){return this._structArray.uint8[this._pos1+37]},r.placedOrientation.set=function(t){this._structArray.uint8[this._pos1+37]=t},r.hidden.get=function(){return this._structArray.uint8[this._pos1+38]},r.hidden.set=function(t){this._structArray.uint8[this._pos1+38]=t},r.crossTileID.get=function(){return this._structArray.uint32[this._pos4+10]},r.crossTileID.set=function(t){this._structArray.uint32[this._pos4+10]=t},r.associatedIconIndex.get=function(){return this._structArray.int16[this._pos2+22]},Object.defineProperties(e.prototype,r),e}(_i);Zi.prototype.size=48;var Ji=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.get=function(t){return new Zi(this,t)},e}(Bi);Dn("PlacedSymbolArray",Ji);var Ki=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e;var r={anchorX:{configurable:!0},anchorY:{configurable:!0},rightJustifiedTextSymbolIndex:{configurable:!0},centerJustifiedTextSymbolIndex:{configurable:!0},leftJustifiedTextSymbolIndex:{configurable:!0},verticalPlacedTextSymbolIndex:{configurable:!0},placedIconSymbolIndex:{configurable:!0},verticalPlacedIconSymbolIndex:{configurable:!0},key:{configurable:!0},textBoxStartIndex:{configurable:!0},textBoxEndIndex:{configurable:!0},verticalTextBoxStartIndex:{configurable:!0},verticalTextBoxEndIndex:{configurable:!0},iconBoxStartIndex:{configurable:!0},iconBoxEndIndex:{configurable:!0},verticalIconBoxStartIndex:{configurable:!0},verticalIconBoxEndIndex:{configurable:!0},featureIndex:{configurable:!0},numHorizontalGlyphVertices:{configurable:!0},numVerticalGlyphVertices:{configurable:!0},numIconVertices:{configurable:!0},numVerticalIconVertices:{configurable:!0},useRuntimeCollisionCircles:{configurable:!0},crossTileID:{configurable:!0},textBoxScale:{configurable:!0},textOffset0:{configurable:!0},textOffset1:{configurable:!0},collisionCircleDiameter:{configurable:!0}};return r.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},r.rightJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+2]},r.centerJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+3]},r.leftJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+4]},r.verticalPlacedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+5]},r.placedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+6]},r.verticalPlacedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+7]},r.key.get=function(){return this._structArray.uint16[this._pos2+8]},r.textBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+9]},r.textBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+10]},r.verticalTextBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+11]},r.verticalTextBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+12]},r.iconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+13]},r.iconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+14]},r.verticalIconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+15]},r.verticalIconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+16]},r.featureIndex.get=function(){return this._structArray.uint16[this._pos2+17]},r.numHorizontalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+18]},r.numVerticalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+19]},r.numIconVertices.get=function(){return this._structArray.uint16[this._pos2+20]},r.numVerticalIconVertices.get=function(){return this._structArray.uint16[this._pos2+21]},r.useRuntimeCollisionCircles.get=function(){return this._structArray.uint16[this._pos2+22]},r.crossTileID.get=function(){return this._structArray.uint32[this._pos4+12]},r.crossTileID.set=function(t){this._structArray.uint32[this._pos4+12]=t},r.textBoxScale.get=function(){return this._structArray.float32[this._pos4+13]},r.textOffset0.get=function(){return this._structArray.float32[this._pos4+14]},r.textOffset1.get=function(){return this._structArray.float32[this._pos4+15]},r.collisionCircleDiameter.get=function(){return this._structArray.float32[this._pos4+16]},Object.defineProperties(e.prototype,r),e}(_i);Ki.prototype.size=68;var Qi=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.get=function(t){return new Ki(this,t)},e}(Ni);Dn("SymbolInstanceArray",Qi);var $i=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getoffsetX=function(t){return this.float32[1*t+0]},e}(ji);Dn("GlyphOffsetArray",$i);var ta=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getx=function(t){return this.int16[3*t+0]},e.prototype.gety=function(t){return this.int16[3*t+1]},e.prototype.gettileUnitDistanceFromAnchor=function(t){return this.int16[3*t+2]},e}(Ui);Dn("SymbolLineVertexArray",ta);var ea=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e;var r={featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0}};return r.featureIndex.get=function(){return this._structArray.uint32[this._pos4+0]},r.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+2]},r.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+3]},Object.defineProperties(e.prototype,r),e}(_i);ea.prototype.size=8;var ra=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.get=function(t){return new ea(this,t)},e}(Vi);Dn("FeatureIndexArray",ra);var na=Ti([{name:"a_pos",components:2,type:"Int16"}],4).members,ia=function(t){void 0===t&&(t=[]),this.segments=t};function aa(t,e){return 256*(t=l(Math.floor(t),0,255))+l(Math.floor(e),0,255)}ia.prototype.prepareSegment=function(t,e,r,n){var i=this.segments[this.segments.length-1];return t>ia.MAX_VERTEX_ARRAY_LENGTH&&_("Max vertices per segment is "+ia.MAX_VERTEX_ARRAY_LENGTH+": bucket requested "+t),(!i||i.vertexLength+t>ia.MAX_VERTEX_ARRAY_LENGTH||i.sortKey!==n)&&(i={vertexOffset:e.length,primitiveOffset:r.length,vertexLength:0,primitiveLength:0},void 0!==n&&(i.sortKey=n),this.segments.push(i)),i},ia.prototype.get=function(){return this.segments},ia.prototype.destroy=function(){for(var t=0,e=this.segments;t<e.length;t+=1){var r=e[t];for(var n in r.vaos)r.vaos[n].destroy()}},ia.simpleSegment=function(t,e,r,n){return new ia([{vertexOffset:t,primitiveOffset:e,vertexLength:r,primitiveLength:n,vaos:{},sortKey:0}])},ia.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,Dn("SegmentVector",ia);var oa=Ti([{name:"a_pattern_from",components:4,type:"Uint16"},{name:"a_pattern_to",components:4,type:"Uint16"},{name:"a_pixel_ratio_from",components:1,type:"Uint8"},{name:"a_pixel_ratio_to",components:1,type:"Uint8"}]),sa=e((function(t){t.exports=function(t,e){var r,n,i,a,o,s,l,c;for(n=t.length-(r=3&t.length),i=e,o=3432918353,s=461845907,c=0;c<n;)l=255&t.charCodeAt(c)|(255&t.charCodeAt(++c))<<8|(255&t.charCodeAt(++c))<<16|(255&t.charCodeAt(++c))<<24,++c,i=27492+(65535&(a=5*(65535&(i=(i^=l=(65535&(l=(l=(65535&l)*o+(((l>>>16)*o&65535)<<16)&4294967295)<<15|l>>>17))*s+(((l>>>16)*s&65535)<<16)&4294967295)<<13|i>>>19))+((5*(i>>>16)&65535)<<16)&4294967295))+((58964+(a>>>16)&65535)<<16);switch(l=0,r){case 3:l^=(255&t.charCodeAt(c+2))<<16;case 2:l^=(255&t.charCodeAt(c+1))<<8;case 1:i^=l=(65535&(l=(l=(65535&(l^=255&t.charCodeAt(c)))*o+(((l>>>16)*o&65535)<<16)&4294967295)<<15|l>>>17))*s+(((l>>>16)*s&65535)<<16)&4294967295}return i^=t.length,i=2246822507*(65535&(i^=i>>>16))+((2246822507*(i>>>16)&65535)<<16)&4294967295,i=3266489909*(65535&(i^=i>>>13))+((3266489909*(i>>>16)&65535)<<16)&4294967295,(i^=i>>>16)>>>0}})),la=e((function(t){t.exports=function(t,e){for(var r,n=t.length,i=e^n,a=0;n>=4;)r=1540483477*(65535&(r=255&t.charCodeAt(a)|(255&t.charCodeAt(++a))<<8|(255&t.charCodeAt(++a))<<16|(255&t.charCodeAt(++a))<<24))+((1540483477*(r>>>16)&65535)<<16),i=1540483477*(65535&i)+((1540483477*(i>>>16)&65535)<<16)^(r=1540483477*(65535&(r^=r>>>24))+((1540483477*(r>>>16)&65535)<<16)),n-=4,++a;switch(n){case 3:i^=(255&t.charCodeAt(a+2))<<16;case 2:i^=(255&t.charCodeAt(a+1))<<8;case 1:i=1540483477*(65535&(i^=255&t.charCodeAt(a)))+((1540483477*(i>>>16)&65535)<<16)}return i=1540483477*(65535&(i^=i>>>13))+((1540483477*(i>>>16)&65535)<<16),(i^=i>>>15)>>>0}})),ca=sa,ua=la;ca.murmur3=sa,ca.murmur2=ua;var fa=function(){this.ids=[],this.positions=[],this.indexed=!1};fa.prototype.add=function(t,e,r,n){this.ids.push(pa(t)),this.positions.push(e,r,n)},fa.prototype.getPositions=function(t){for(var e=pa(t),r=0,n=this.ids.length-1;r<n;){var i=r+n>>1;this.ids[i]>=e?n=i:r=i+1}for(var a=[];this.ids[r]===e;)a.push({index:this.positions[3*r],start:this.positions[3*r+1],end:this.positions[3*r+2]}),r++;return a},fa.serialize=function(t,e){var r=new Float64Array(t.ids),n=new Uint32Array(t.positions);return function t(e,r,n,i){for(;n<i;){for(var a=e[n+i>>1],o=n-1,s=i+1;;){do{o++}while(e[o]<a);do{s--}while(e[s]>a);if(o>=s)break;da(e,o,s),da(r,3*o,3*s),da(r,3*o+1,3*s+1),da(r,3*o+2,3*s+2)}s-n<i-s?(t(e,r,n,s),n=s+1):(t(e,r,s+1,i),i=s)}}(r,n,0,r.length-1),e&&e.push(r.buffer,n.buffer),{ids:r,positions:n}},fa.deserialize=function(t){var e=new fa;return e.ids=t.ids,e.positions=t.positions,e.indexed=!0,e};var ha=Math.pow(2,53)-1;function pa(t){var e=+t;return!isNaN(e)&&e<=ha?e:ca(String(t))}function da(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}Dn("FeaturePositionMap",fa);var ga=function(t,e){this.gl=t.gl,this.location=e},ma=function(t){function e(e,r){t.call(this,e,r),this.current=0}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.set=function(t){this.current!==t&&(this.current=t,this.gl.uniform1i(this.location,t))},e}(ga),va=function(t){function e(e,r){t.call(this,e,r),this.current=0}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.set=function(t){this.current!==t&&(this.current=t,this.gl.uniform1f(this.location,t))},e}(ga),ya=function(t){function e(e,r){t.call(this,e,r),this.current=[0,0]}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.set=function(t){t[0]===this.current[0]&&t[1]===this.current[1]||(this.current=t,this.gl.uniform2f(this.location,t[0],t[1]))},e}(ga),xa=function(t){function e(e,r){t.call(this,e,r),this.current=[0,0,0]}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.set=function(t){t[0]===this.current[0]&&t[1]===this.current[1]&&t[2]===this.current[2]||(this.current=t,this.gl.uniform3f(this.location,t[0],t[1],t[2]))},e}(ga),ba=function(t){function e(e,r){t.call(this,e,r),this.current=[0,0,0,0]}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.set=function(t){t[0]===this.current[0]&&t[1]===this.current[1]&&t[2]===this.current[2]&&t[3]===this.current[3]||(this.current=t,this.gl.uniform4f(this.location,t[0],t[1],t[2],t[3]))},e}(ga),_a=function(t){function e(e,r){t.call(this,e,r),this.current=Kt.transparent}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.set=function(t){t.r===this.current.r&&t.g===this.current.g&&t.b===this.current.b&&t.a===this.current.a||(this.current=t,this.gl.uniform4f(this.location,t.r,t.g,t.b,t.a))},e}(ga),wa=new Float32Array(16),Ta=function(t){function e(e,r){t.call(this,e,r),this.current=wa}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.set=function(t){if(t[12]!==this.current[12]||t[0]!==this.current[0])return this.current=t,void this.gl.uniformMatrix4fv(this.location,!1,t);for(var e=1;e<16;e++)if(t[e]!==this.current[e]){this.current=t,this.gl.uniformMatrix4fv(this.location,!1,t);break}},e}(ga);function ka(t){return[aa(255*t.r,255*t.g),aa(255*t.b,255*t.a)]}var Ma=function(t,e,r){this.value=t,this.uniformNames=e.map((function(t){return"u_"+t})),this.type=r};Ma.prototype.setUniform=function(t,e,r){t.set(r.constantOr(this.value))},Ma.prototype.getBinding=function(t,e,r){return"color"===this.type?new _a(t,e):new va(t,e)};var Aa=function(t,e){this.uniformNames=e.map((function(t){return"u_"+t})),this.patternFrom=null,this.patternTo=null,this.pixelRatioFrom=1,this.pixelRatioTo=1};Aa.prototype.setConstantPatternPositions=function(t,e){this.pixelRatioFrom=e.pixelRatio,this.pixelRatioTo=t.pixelRatio,this.patternFrom=e.tlbr,this.patternTo=t.tlbr},Aa.prototype.setUniform=function(t,e,r,n){var i="u_pattern_to"===n?this.patternTo:"u_pattern_from"===n?this.patternFrom:"u_pixel_ratio_to"===n?this.pixelRatioTo:"u_pixel_ratio_from"===n?this.pixelRatioFrom:null;i&&t.set(i)},Aa.prototype.getBinding=function(t,e,r){return"u_pattern"===r.substr(0,9)?new ba(t,e):new va(t,e)};var Sa=function(t,e,r,n){this.expression=t,this.type=r,this.maxValue=0,this.paintVertexAttributes=e.map((function(t){return{name:"a_"+t,type:"Float32",components:"color"===r?2:1,offset:0}})),this.paintVertexArray=new n};Sa.prototype.populatePaintArray=function(t,e,r,n,i){var a=this.paintVertexArray.length,o=this.expression.evaluate(new ii(0),e,{},n,[],i);this.paintVertexArray.resize(t),this._setPaintValue(a,t,o)},Sa.prototype.updatePaintArray=function(t,e,r,n){var i=this.expression.evaluate({zoom:0},r,n);this._setPaintValue(t,e,i)},Sa.prototype._setPaintValue=function(t,e,r){if("color"===this.type)for(var n=ka(r),i=t;i<e;i++)this.paintVertexArray.emplace(i,n[0],n[1]);else{for(var a=t;a<e;a++)this.paintVertexArray.emplace(a,r);this.maxValue=Math.max(this.maxValue,Math.abs(r))}},Sa.prototype.upload=function(t){this.paintVertexArray&&this.paintVertexArray.arrayBuffer&&(this.paintVertexBuffer&&this.paintVertexBuffer.buffer?this.paintVertexBuffer.updateData(this.paintVertexArray):this.paintVertexBuffer=t.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes,this.expression.isStateDependent))},Sa.prototype.destroy=function(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy()};var Ea=function(t,e,r,n,i,a){this.expression=t,this.uniformNames=e.map((function(t){return"u_"+t+"_t"})),this.type=r,this.useIntegerZoom=n,this.zoom=i,this.maxValue=0,this.paintVertexAttributes=e.map((function(t){return{name:"a_"+t,type:"Float32",components:"color"===r?4:2,offset:0}})),this.paintVertexArray=new a};Ea.prototype.populatePaintArray=function(t,e,r,n,i){var a=this.expression.evaluate(new ii(this.zoom),e,{},n,[],i),o=this.expression.evaluate(new ii(this.zoom+1),e,{},n,[],i),s=this.paintVertexArray.length;this.paintVertexArray.resize(t),this._setPaintValue(s,t,a,o)},Ea.prototype.updatePaintArray=function(t,e,r,n){var i=this.expression.evaluate({zoom:this.zoom},r,n),a=this.expression.evaluate({zoom:this.zoom+1},r,n);this._setPaintValue(t,e,i,a)},Ea.prototype._setPaintValue=function(t,e,r,n){if("color"===this.type)for(var i=ka(r),a=ka(n),o=t;o<e;o++)this.paintVertexArray.emplace(o,i[0],i[1],a[0],a[1]);else{for(var s=t;s<e;s++)this.paintVertexArray.emplace(s,r,n);this.maxValue=Math.max(this.maxValue,Math.abs(r),Math.abs(n))}},Ea.prototype.upload=function(t){this.paintVertexArray&&this.paintVertexArray.arrayBuffer&&(this.paintVertexBuffer&&this.paintVertexBuffer.buffer?this.paintVertexBuffer.updateData(this.paintVertexArray):this.paintVertexBuffer=t.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes,this.expression.isStateDependent))},Ea.prototype.destroy=function(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy()},Ea.prototype.setUniform=function(t,e){var r=this.useIntegerZoom?Math.floor(e.zoom):e.zoom,n=l(this.expression.interpolationFactor(r,this.zoom,this.zoom+1),0,1);t.set(n)},Ea.prototype.getBinding=function(t,e,r){return new va(t,e)};var Ca=function(t,e,r,n,i,a){this.expression=t,this.type=e,this.useIntegerZoom=r,this.zoom=n,this.layerId=a,this.zoomInPaintVertexArray=new i,this.zoomOutPaintVertexArray=new i};Ca.prototype.populatePaintArray=function(t,e,r){var n=this.zoomInPaintVertexArray.length;this.zoomInPaintVertexArray.resize(t),this.zoomOutPaintVertexArray.resize(t),this._setPaintValues(n,t,e.patterns&&e.patterns[this.layerId],r)},Ca.prototype.updatePaintArray=function(t,e,r,n,i){this._setPaintValues(t,e,r.patterns&&r.patterns[this.layerId],i)},Ca.prototype._setPaintValues=function(t,e,r,n){if(n&&r){var i=n[r.min],a=n[r.mid],o=n[r.max];if(i&&a&&o)for(var s=t;s<e;s++)this.zoomInPaintVertexArray.emplace(s,a.tl[0],a.tl[1],a.br[0],a.br[1],i.tl[0],i.tl[1],i.br[0],i.br[1],a.pixelRatio,i.pixelRatio),this.zoomOutPaintVertexArray.emplace(s,a.tl[0],a.tl[1],a.br[0],a.br[1],o.tl[0],o.tl[1],o.br[0],o.br[1],a.pixelRatio,o.pixelRatio)}},Ca.prototype.upload=function(t){this.zoomInPaintVertexArray&&this.zoomInPaintVertexArray.arrayBuffer&&this.zoomOutPaintVertexArray&&this.zoomOutPaintVertexArray.arrayBuffer&&(this.zoomInPaintVertexBuffer=t.createVertexBuffer(this.zoomInPaintVertexArray,oa.members,this.expression.isStateDependent),this.zoomOutPaintVertexBuffer=t.createVertexBuffer(this.zoomOutPaintVertexArray,oa.members,this.expression.isStateDependent))},Ca.prototype.destroy=function(){this.zoomOutPaintVertexBuffer&&this.zoomOutPaintVertexBuffer.destroy(),this.zoomInPaintVertexBuffer&&this.zoomInPaintVertexBuffer.destroy()};var La=function(t,e,r,n){this.binders={},this.layoutAttributes=n,this._buffers=[];var i=[];for(var a in t.paint._values)if(r(a)){var o=t.paint.get(a);if(o instanceof fi&&Lr(o.property.specification)){var s=Pa(a,t.type),l=o.value,c=o.property.specification.type,u=o.property.useIntegerZoom,f=o.property.specification["property-type"],h="cross-faded"===f||"cross-faded-data-driven"===f;if("constant"===l.kind)this.binders[a]=h?new Aa(l.value,s):new Ma(l.value,s,c),i.push("/u_"+a);else if("source"===l.kind||h){var p=za(a,c,"source");this.binders[a]=h?new Ca(l,c,u,e,p,t.id):new Sa(l,s,c,p),i.push("/a_"+a)}else{var d=za(a,c,"composite");this.binders[a]=new Ea(l,s,c,u,e,d),i.push("/z_"+a)}}}this.cacheKey=i.sort().join("")};La.prototype.getMaxValue=function(t){var e=this.binders[t];return e instanceof Sa||e instanceof Ea?e.maxValue:0},La.prototype.populatePaintArrays=function(t,e,r,n,i){for(var a in this.binders){var o=this.binders[a];(o instanceof Sa||o instanceof Ea||o instanceof Ca)&&o.populatePaintArray(t,e,r,n,i)}},La.prototype.setConstantPatternPositions=function(t,e){for(var r in this.binders){var n=this.binders[r];n instanceof Aa&&n.setConstantPatternPositions(t,e)}},La.prototype.updatePaintArrays=function(t,e,r,n,i){var a=!1;for(var o in t)for(var s=0,l=e.getPositions(o);s<l.length;s+=1){var c=l[s],u=r.feature(c.index);for(var f in this.binders){var h=this.binders[f];if((h instanceof Sa||h instanceof Ea||h instanceof Ca)&&!0===h.expression.isStateDependent){var p=n.paint.get(f);h.expression=p.value,h.updatePaintArray(c.start,c.end,u,t[o],i),a=!0}}}return a},La.prototype.defines=function(){var t=[];for(var e in this.binders){var r=this.binders[e];(r instanceof Ma||r instanceof Aa)&&t.push.apply(t,r.uniformNames.map((function(t){return"#define HAS_UNIFORM_"+t})))}return t},La.prototype.getPaintVertexBuffers=function(){return this._buffers},La.prototype.getUniforms=function(t,e){var r=[];for(var n in this.binders){var i=this.binders[n];if(i instanceof Ma||i instanceof Aa||i instanceof Ea)for(var a=0,o=i.uniformNames;a<o.length;a+=1){var s=o[a];if(e[s]){var l=i.getBinding(t,e[s],s);r.push({name:s,property:n,binding:l})}}}return r},La.prototype.setUniforms=function(t,e,r,n){for(var i=0,a=e;i<a.length;i+=1){var o=a[i],s=o.name,l=o.property;this.binders[l].setUniform(o.binding,n,r.get(l),s)}},La.prototype.updatePaintBuffers=function(t){for(var e in this._buffers=[],this.binders){var r=this.binders[e];if(t&&r instanceof Ca){var n=2===t.fromScale?r.zoomInPaintVertexBuffer:r.zoomOutPaintVertexBuffer;n&&this._buffers.push(n)}else(r instanceof Sa||r instanceof Ea)&&r.paintVertexBuffer&&this._buffers.push(r.paintVertexBuffer)}},La.prototype.upload=function(t){for(var e in this.binders){var r=this.binders[e];(r instanceof Sa||r instanceof Ea||r instanceof Ca)&&r.upload(t)}this.updatePaintBuffers()},La.prototype.destroy=function(){for(var t in this.binders){var e=this.binders[t];(e instanceof Sa||e instanceof Ea||e instanceof Ca)&&e.destroy()}};var Ia=function(t,e,r,n){void 0===n&&(n=function(){return!0}),this.programConfigurations={};for(var i=0,a=e;i<a.length;i+=1){var o=a[i];this.programConfigurations[o.id]=new La(o,r,n,t)}this.needsUpload=!1,this._featureMap=new fa,this._bufferOffset=0};function Pa(t,e){return{"text-opacity":["opacity"],"icon-opacity":["opacity"],"text-color":["fill_color"],"icon-color":["fill_color"],"text-halo-color":["halo_color"],"icon-halo-color":["halo_color"],"text-halo-blur":["halo_blur"],"icon-halo-blur":["halo_blur"],"text-halo-width":["halo_width"],"icon-halo-width":["halo_width"],"line-gap-width":["gapwidth"],"line-pattern":["pattern_to","pattern_from","pixel_ratio_to","pixel_ratio_from"],"fill-pattern":["pattern_to","pattern_from","pixel_ratio_to","pixel_ratio_from"],"fill-extrusion-pattern":["pattern_to","pattern_from","pixel_ratio_to","pixel_ratio_from"]}[t]||[t.replace(e+"-","").replace(/-/g,"_")]}function za(t,e,r){var n={color:{source:Gi,composite:Yi},number:{source:ji,composite:Gi}},i=function(t){return{"line-pattern":{source:Ci,composite:Ci},"fill-pattern":{source:Ci,composite:Ci},"fill-extrusion-pattern":{source:Ci,composite:Ci}}[t]}(t);return i&&i[r]||n[e][r]}Ia.prototype.populatePaintArrays=function(t,e,r,n,i,a){for(var o in this.programConfigurations)this.programConfigurations[o].populatePaintArrays(t,e,n,i,a);void 0!==e.id&&this._featureMap.add(e.id,r,this._bufferOffset,t),this._bufferOffset=t,this.needsUpload=!0},Ia.prototype.updatePaintArrays=function(t,e,r,n){for(var i=0,a=r;i<a.length;i+=1){var o=a[i];this.needsUpload=this.programConfigurations[o.id].updatePaintArrays(t,this._featureMap,e,o,n)||this.needsUpload}},Ia.prototype.get=function(t){return this.programConfigurations[t]},Ia.prototype.upload=function(t){if(this.needsUpload){for(var e in this.programConfigurations)this.programConfigurations[e].upload(t);this.needsUpload=!1}},Ia.prototype.destroy=function(){for(var t in this.programConfigurations)this.programConfigurations[t].destroy()},Dn("ConstantBinder",Ma),Dn("CrossFadedConstantBinder",Aa),Dn("SourceExpressionBinder",Sa),Dn("CrossFadedCompositeBinder",Ca),Dn("CompositeExpressionBinder",Ea),Dn("ProgramConfiguration",La,{omit:["_buffers"]}),Dn("ProgramConfigurationSet",Ia);var Oa={min:-1*Math.pow(2,14),max:Math.pow(2,14)-1};function Da(t){for(var e=8192/t.extent,r=t.loadGeometry(),n=0;n<r.length;n++)for(var i=r[n],a=0;a<i.length;a++){var o=i[a];o.x=Math.round(o.x*e),o.y=Math.round(o.y*e),(o.x<Oa.min||o.x>Oa.max||o.y<Oa.min||o.y>Oa.max)&&(_("Geometry exceeds allowed extent, reduce your vector tile buffer size"),o.x=l(o.x,Oa.min,Oa.max),o.y=l(o.y,Oa.min,Oa.max))}return r}function Ra(t,e,r,n,i){t.emplaceBack(2*e+(n+1)/2,2*r+(i+1)/2)}var Fa=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((function(t){return t.id})),this.index=t.index,this.hasPattern=!1,this.layoutVertexArray=new Mi,this.indexArray=new Fi,this.segments=new ia,this.programConfigurations=new Ia(na,t.layers,t.zoom),this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id}))};function Ba(t,e){for(var r=0;r<t.length;r++)if(Wa(e,t[r]))return!0;for(var n=0;n<e.length;n++)if(Wa(t,e[n]))return!0;return!!Va(t,e)}function Na(t,e,r){return!!Wa(t,e)||!!Ha(e,t,r)}function ja(t,e){if(1===t.length)return Ya(e,t[0]);for(var r=0;r<e.length;r++)for(var n=e[r],i=0;i<n.length;i++)if(Wa(t,n[i]))return!0;for(var a=0;a<t.length;a++)if(Ya(e,t[a]))return!0;for(var o=0;o<e.length;o++)if(Va(t,e[o]))return!0;return!1}function Ua(t,e,r){if(t.length>1){if(Va(t,e))return!0;for(var n=0;n<e.length;n++)if(Ha(e[n],t,r))return!0}for(var i=0;i<t.length;i++)if(Ha(t[i],e,r))return!0;return!1}function Va(t,e){if(0===t.length||0===e.length)return!1;for(var r=0;r<t.length-1;r++)for(var n=t[r],i=t[r+1],a=0;a<e.length-1;a++)if(qa(n,i,e[a],e[a+1]))return!0;return!1}function qa(t,e,r,n){return w(t,r,n)!==w(e,r,n)&&w(t,e,r)!==w(t,e,n)}function Ha(t,e,r){var n=r*r;if(1===e.length)return t.distSqr(e[0])<n;for(var i=1;i<e.length;i++)if(Ga(t,e[i-1],e[i])<n)return!0;return!1}function Ga(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 t.distSqr(i<0?e:i>1?r:r.sub(e)._mult(i)._add(e))}function Ya(t,e){for(var r,n,i,a=!1,o=0;o<t.length;o++)for(var s=0,l=(r=t[o]).length-1;s<r.length;l=s++)(n=r[s]).y>e.y!=(i=r[l]).y>e.y&&e.x<(i.x-n.x)*(e.y-n.y)/(i.y-n.y)+n.x&&(a=!a);return a}function Wa(t,e){for(var r=!1,n=0,i=t.length-1;n<t.length;i=n++){var a=t[n],o=t[i];a.y>e.y!=o.y>e.y&&e.x<(o.x-a.x)*(e.y-a.y)/(o.y-a.y)+a.x&&(r=!r)}return r}function Xa(t,e,r){var n=r[0],i=r[2];if(t.x<n.x&&e.x<n.x||t.x>i.x&&e.x>i.x||t.y<n.y&&e.y<n.y||t.y>i.y&&e.y>i.y)return!1;var a=w(t,e,r[0]);return a!==w(t,e,r[1])||a!==w(t,e,r[2])||a!==w(t,e,r[3])}function Za(t,e,r){var n=e.paint.get(t).value;return"constant"===n.kind?n.value:r.programConfigurations.get(e.id).getMaxValue(t)}function Ja(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])}function Ka(t,e,r,n,a){if(!e[0]&&!e[1])return t;var o=i.convert(e)._mult(a);"viewport"===r&&o._rotate(-n);for(var s=[],l=0;l<t.length;l++)s.push(t[l].sub(o));return s}Fa.prototype.populate=function(t,e,r){var n=this.layers[0],i=[],a=null;"circle"===n.type&&(a=n.layout.get("circle-sort-key"));for(var o=0,s=t;o<s.length;o+=1){var l=s[o],c=l.feature,u=l.id,f=l.index,h=l.sourceLayerIndex,p=this.layers[0]._featureFilter.needGeometry,d={type:c.type,id:u,properties:c.properties,geometry:p?Da(c):[]};if(this.layers[0]._featureFilter.filter(new ii(this.zoom),d,r)){p||(d.geometry=Da(c));var g=a?a.evaluate(d,{},r):void 0;i.push({id:u,properties:c.properties,type:c.type,sourceLayerIndex:h,index:f,geometry:d.geometry,patterns:{},sortKey:g})}}a&&i.sort((function(t,e){return t.sortKey-e.sortKey}));for(var m=0,v=i;m<v.length;m+=1){var y=v[m],x=y.geometry,b=y.index,_=y.sourceLayerIndex,w=t[b].feature;this.addFeature(y,x,b,r),e.featureIndex.insert(w,x,b,_,this.index)}},Fa.prototype.update=function(t,e,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r)},Fa.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},Fa.prototype.uploadPending=function(){return!this.uploaded||this.programConfigurations.needsUpload},Fa.prototype.upload=function(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,na),this.indexBuffer=t.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(t),this.uploaded=!0},Fa.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())},Fa.prototype.addFeature=function(t,e,r,n){for(var i=0,a=e;i<a.length;i+=1)for(var o=0,s=a[i];o<s.length;o+=1){var l=s[o],c=l.x,u=l.y;if(!(c<0||c>=8192||u<0||u>=8192)){var f=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,t.sortKey),h=f.vertexLength;Ra(this.layoutVertexArray,c,u,-1,-1),Ra(this.layoutVertexArray,c,u,1,-1),Ra(this.layoutVertexArray,c,u,1,1),Ra(this.layoutVertexArray,c,u,-1,1),this.indexArray.emplaceBack(h,h+1,h+2),this.indexArray.emplaceBack(h,h+3,h+2),f.vertexLength+=4,f.primitiveLength+=2}}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,r,{},n)},Dn("CircleBucket",Fa,{omit:["layers"]});var Qa=new yi({"circle-sort-key":new di(At.layout_circle["circle-sort-key"])}),$a={paint:new yi({"circle-radius":new di(At.paint_circle["circle-radius"]),"circle-color":new di(At.paint_circle["circle-color"]),"circle-blur":new di(At.paint_circle["circle-blur"]),"circle-opacity":new di(At.paint_circle["circle-opacity"]),"circle-translate":new pi(At.paint_circle["circle-translate"]),"circle-translate-anchor":new pi(At.paint_circle["circle-translate-anchor"]),"circle-pitch-scale":new pi(At.paint_circle["circle-pitch-scale"]),"circle-pitch-alignment":new pi(At.paint_circle["circle-pitch-alignment"]),"circle-stroke-width":new di(At.paint_circle["circle-stroke-width"]),"circle-stroke-color":new di(At.paint_circle["circle-stroke-color"]),"circle-stroke-opacity":new di(At.paint_circle["circle-stroke-opacity"])}),layout:Qa},to="undefined"!=typeof Float32Array?Float32Array:Array;function eo(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function ro(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],c=e[6],u=e[7],f=e[8],h=e[9],p=e[10],d=e[11],g=e[12],m=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*g,t[1]=x*i+b*l+_*h+w*m,t[2]=x*a+b*c+_*p+w*v,t[3]=x*o+b*u+_*d+w*y,t[4]=(x=r[4])*n+(b=r[5])*s+(_=r[6])*f+(w=r[7])*g,t[5]=x*i+b*l+_*h+w*m,t[6]=x*a+b*c+_*p+w*v,t[7]=x*o+b*u+_*d+w*y,t[8]=(x=r[8])*n+(b=r[9])*s+(_=r[10])*f+(w=r[11])*g,t[9]=x*i+b*l+_*h+w*m,t[10]=x*a+b*c+_*p+w*v,t[11]=x*o+b*u+_*d+w*y,t[12]=(x=r[12])*n+(b=r[13])*s+(_=r[14])*f+(w=r[15])*g,t[13]=x*i+b*l+_*h+w*m,t[14]=x*a+b*c+_*p+w*v,t[15]=x*o+b*u+_*d+w*y,t}Math.hypot||(Math.hypot=function(){for(var t=arguments,e=0,r=arguments.length;r--;)e+=t[r]*t[r];return Math.sqrt(e)});var no,io=ro;function ao(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}no=new to(3),to!=Float32Array&&(no[0]=0,no[1]=0,no[2]=0),function(){var t=new to(4);to!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0,t[3]=0)}();var oo=(function(){var t=new to(2);to!=Float32Array&&(t[0]=0,t[1]=0)}(),function(t){function e(e){t.call(this,e,$a)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.createBucket=function(t){return new Fa(t)},e.prototype.queryRadius=function(t){var e=t;return Za("circle-radius",this,e)+Za("circle-stroke-width",this,e)+Ja(this.paint.get("circle-translate"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,a,o,s){for(var l=Ka(t,this.paint.get("circle-translate"),this.paint.get("circle-translate-anchor"),a.angle,o),c=this.paint.get("circle-radius").evaluate(e,r)+this.paint.get("circle-stroke-width").evaluate(e,r),u="map"===this.paint.get("circle-pitch-alignment"),f=u?l:function(t,e){return t.map((function(t){return so(t,e)}))}(l,s),h=u?c*o:c,p=0,d=n;p<d.length;p+=1)for(var g=0,m=d[p];g<m.length;g+=1){var v=m[g],y=u?v:so(v,s),x=h,b=ao([],[v.x,v.y,0,1],s);if("viewport"===this.paint.get("circle-pitch-scale")&&"map"===this.paint.get("circle-pitch-alignment")?x*=b[3]/a.cameraToCenterDistance:"map"===this.paint.get("circle-pitch-scale")&&"viewport"===this.paint.get("circle-pitch-alignment")&&(x*=a.cameraToCenterDistance/b[3]),Na(f,y,x))return!0}return!1},e}(xi));function so(t,e){var r=ao([],[t.x,t.y,0,1],e);return new i(r[0]/r[3],r[1]/r[3])}var lo=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e}(Fa);function co(t,e,r,n){var i=e.width,a=e.height;if(n){if(n instanceof Uint8ClampedArray)n=new Uint8Array(n.buffer);else if(n.length!==i*a*r)throw new RangeError("mismatched image size")}else n=new Uint8Array(i*a*r);return t.width=i,t.height=a,t.data=n,t}function uo(t,e,r){var n=e.width,i=e.height;if(n!==t.width||i!==t.height){var a=co({},{width:n,height:i},r);fo(t,a,{x:0,y:0},{x:0,y:0},{width:Math.min(t.width,n),height:Math.min(t.height,i)},r),t.width=n,t.height=i,t.data=a.data}}function fo(t,e,r,n,i,a){if(0===i.width||0===i.height)return e;if(i.width>t.width||i.height>t.height||r.x>t.width-i.width||r.y>t.height-i.height)throw new RangeError("out of range source coordinates for image copy");if(i.width>e.width||i.height>e.height||n.x>e.width-i.width||n.y>e.height-i.height)throw new RangeError("out of range destination coordinates for image copy");for(var o=t.data,s=e.data,l=0;l<i.height;l++)for(var c=((r.y+l)*t.width+r.x)*a,u=((n.y+l)*e.width+n.x)*a,f=0;f<i.width*a;f++)s[u+f]=o[c+f];return e}Dn("HeatmapBucket",lo,{omit:["layers"]});var ho=function(t,e){co(this,t,1,e)};ho.prototype.resize=function(t){uo(this,t,1)},ho.prototype.clone=function(){return new ho({width:this.width,height:this.height},new Uint8Array(this.data))},ho.copy=function(t,e,r,n,i){fo(t,e,r,n,i,1)};var po=function(t,e){co(this,t,4,e)};po.prototype.resize=function(t){uo(this,t,4)},po.prototype.replace=function(t,e){e?this.data.set(t):this.data=t instanceof Uint8ClampedArray?new Uint8Array(t.buffer):t},po.prototype.clone=function(){return new po({width:this.width,height:this.height},new Uint8Array(this.data))},po.copy=function(t,e,r,n,i){fo(t,e,r,n,i,4)},Dn("AlphaImage",ho),Dn("RGBAImage",po);var go={paint:new yi({"heatmap-radius":new di(At.paint_heatmap["heatmap-radius"]),"heatmap-weight":new di(At.paint_heatmap["heatmap-weight"]),"heatmap-intensity":new pi(At.paint_heatmap["heatmap-intensity"]),"heatmap-color":new vi(At.paint_heatmap["heatmap-color"]),"heatmap-opacity":new pi(At.paint_heatmap["heatmap-opacity"])})};function mo(t,e){for(var r=new Uint8Array(1024),n={},i=0,a=0;i<256;i++,a+=4){n[e]=i/255;var o=t.evaluate(n);r[a+0]=Math.floor(255*o.r/o.a),r[a+1]=Math.floor(255*o.g/o.a),r[a+2]=Math.floor(255*o.b/o.a),r[a+3]=Math.floor(255*o.a)}return new po({width:256,height:1},r)}var vo=function(t){function e(e){t.call(this,e,go),this._updateColorRamp()}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.createBucket=function(t){return new lo(t)},e.prototype._handleSpecialPaintPropertyUpdate=function(t){"heatmap-color"===t&&this._updateColorRamp()},e.prototype._updateColorRamp=function(){this.colorRamp=mo(this._transitionablePaint._values["heatmap-color"].value.expression,"heatmapDensity"),this.colorRampTexture=null},e.prototype.resize=function(){this.heatmapFbo&&(this.heatmapFbo.destroy(),this.heatmapFbo=null)},e.prototype.queryRadius=function(){return 0},e.prototype.queryIntersectsFeature=function(){return!1},e.prototype.hasOffscreenPass=function(){return 0!==this.paint.get("heatmap-opacity")&&"none"!==this.visibility},e}(xi),yo={paint:new yi({"hillshade-illumination-direction":new pi(At.paint_hillshade["hillshade-illumination-direction"]),"hillshade-illumination-anchor":new pi(At.paint_hillshade["hillshade-illumination-anchor"]),"hillshade-exaggeration":new pi(At.paint_hillshade["hillshade-exaggeration"]),"hillshade-shadow-color":new pi(At.paint_hillshade["hillshade-shadow-color"]),"hillshade-highlight-color":new pi(At.paint_hillshade["hillshade-highlight-color"]),"hillshade-accent-color":new pi(At.paint_hillshade["hillshade-accent-color"])})},xo=function(t){function e(e){t.call(this,e,yo)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.hasOffscreenPass=function(){return 0!==this.paint.get("hillshade-exaggeration")&&"none"!==this.visibility},e}(xi),bo=Ti([{name:"a_pos",components:2,type:"Int16"}],4).members,_o=To,wo=To;function To(t,e,r){r=r||2;var n,i,a,o,s,l,c,u=e&&e.length,f=u?e[0]*r:t.length,h=ko(t,0,f,r,!0),p=[];if(!h||h.next===h.prev)return p;if(u&&(h=function(t,e,r,n){var i,a,o,s=[];for(i=0,a=e.length;i<a;i++)(o=ko(t,e[i]*n,i<a-1?e[i+1]*n:t.length,n,!1))===o.next&&(o.steiner=!0),s.push(Do(o));for(s.sort(Io),i=0;i<s.length;i++)Po(s[i],r),r=Mo(r,r.next);return r}(t,e,h,r)),t.length>80*r){n=a=t[0],i=o=t[1];for(var d=r;d<f;d+=r)(s=t[d])<n&&(n=s),(l=t[d+1])<i&&(i=l),s>a&&(a=s),l>o&&(o=l);c=0!==(c=Math.max(a-n,o-i))?1/c:0}return Ao(h,p,r,n,i,c),p}function ko(t,e,r,n,i){var a,o;if(i===Xo(t,e,r,n)>0)for(a=e;a<r;a+=n)o=Go(a,t[a],t[a+1],o);else for(a=r-n;a>=e;a-=n)o=Go(a,t[a],t[a+1],o);return o&&No(o,o.next)&&(Yo(o),o=o.next),o}function Mo(t,e){if(!t)return t;e||(e=t);var r,n=t;do{if(r=!1,n.steiner||!No(n,n.next)&&0!==Bo(n.prev,n,n.next))n=n.next;else{if(Yo(n),(n=e=n.prev)===n.next)break;r=!0}}while(r||n!==e);return e}function Ao(t,e,r,n,i,a,o){if(t){!o&&a&&function(t,e,r,n){var i=t;do{null===i.z&&(i.z=Oo(i.x,i.y,e,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next}while(i!==t);i.prevZ.nextZ=null,i.prevZ=null,function(t){var e,r,n,i,a,o,s,l,c=1;do{for(r=t,t=null,a=null,o=0;r;){for(o++,n=r,s=0,e=0;e<c&&(s++,n=n.nextZ);e++);for(l=c;s>0||l>0&&n;)0!==s&&(0===l||!n||r.z<=n.z)?(i=r,r=r.nextZ,s--):(i=n,n=n.nextZ,l--),a?a.nextZ=i:t=i,i.prevZ=a,a=i;r=n}a.nextZ=null,c*=2}while(o>1)}(i)}(t,n,i,a);for(var s,l,c=t;t.prev!==t.next;)if(s=t.prev,l=t.next,a?Eo(t,n,i,a):So(t))e.push(s.i/r),e.push(t.i/r),e.push(l.i/r),Yo(t),t=l.next,c=l.next;else if((t=l)===c){o?1===o?Ao(t=Co(Mo(t),e,r),e,r,n,i,a,2):2===o&&Lo(t,e,r,n,i,a):Ao(Mo(t),e,r,n,i,a,1);break}}}function So(t){var e=t.prev,r=t,n=t.next;if(Bo(e,r,n)>=0)return!1;for(var i=t.next.next;i!==t.prev;){if(Ro(e.x,e.y,r.x,r.y,n.x,n.y,i.x,i.y)&&Bo(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function Eo(t,e,r,n){var i=t.prev,a=t,o=t.next;if(Bo(i,a,o)>=0)return!1;for(var s=i.x>a.x?i.x>o.x?i.x:o.x:a.x>o.x?a.x:o.x,l=i.y>a.y?i.y>o.y?i.y:o.y:a.y>o.y?a.y:o.y,c=Oo(i.x<a.x?i.x<o.x?i.x:o.x:a.x<o.x?a.x:o.x,i.y<a.y?i.y<o.y?i.y:o.y:a.y<o.y?a.y:o.y,e,r,n),u=Oo(s,l,e,r,n),f=t.prevZ,h=t.nextZ;f&&f.z>=c&&h&&h.z<=u;){if(f!==t.prev&&f!==t.next&&Ro(i.x,i.y,a.x,a.y,o.x,o.y,f.x,f.y)&&Bo(f.prev,f,f.next)>=0)return!1;if(f=f.prevZ,h!==t.prev&&h!==t.next&&Ro(i.x,i.y,a.x,a.y,o.x,o.y,h.x,h.y)&&Bo(h.prev,h,h.next)>=0)return!1;h=h.nextZ}for(;f&&f.z>=c;){if(f!==t.prev&&f!==t.next&&Ro(i.x,i.y,a.x,a.y,o.x,o.y,f.x,f.y)&&Bo(f.prev,f,f.next)>=0)return!1;f=f.prevZ}for(;h&&h.z<=u;){if(h!==t.prev&&h!==t.next&&Ro(i.x,i.y,a.x,a.y,o.x,o.y,h.x,h.y)&&Bo(h.prev,h,h.next)>=0)return!1;h=h.nextZ}return!0}function Co(t,e,r){var n=t;do{var i=n.prev,a=n.next.next;!No(i,a)&&jo(i,n,n.next,a)&&qo(i,a)&&qo(a,i)&&(e.push(i.i/r),e.push(n.i/r),e.push(a.i/r),Yo(n),Yo(n.next),n=t=a),n=n.next}while(n!==t);return Mo(n)}function Lo(t,e,r,n,i,a){var o=t;do{for(var s=o.next.next;s!==o.prev;){if(o.i!==s.i&&Fo(o,s)){var l=Ho(o,s);return o=Mo(o,o.next),l=Mo(l,l.next),Ao(o,e,r,n,i,a),void Ao(l,e,r,n,i,a)}s=s.next}o=o.next}while(o!==t)}function Io(t,e){return t.x-e.x}function Po(t,e){if(e=function(t,e){var r,n=e,i=t.x,a=t.y,o=-1/0;do{if(a<=n.y&&a>=n.next.y&&n.next.y!==n.y){var s=n.x+(a-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(s<=i&&s>o){if(o=s,s===i){if(a===n.y)return n;if(a===n.next.y)return n.next}r=n.x<n.next.x?n:n.next}}n=n.next}while(n!==e);if(!r)return null;if(i===o)return r;var l,c=r,u=r.x,f=r.y,h=1/0;n=r;do{i>=n.x&&n.x>=u&&i!==n.x&&Ro(a<f?i:o,a,u,f,a<f?o:i,a,n.x,n.y)&&(l=Math.abs(a-n.y)/(i-n.x),qo(n,t)&&(l<h||l===h&&(n.x>r.x||n.x===r.x&&zo(r,n)))&&(r=n,h=l)),n=n.next}while(n!==c);return r}(t,e)){var r=Ho(e,t);Mo(e,e.next),Mo(r,r.next)}}function zo(t,e){return Bo(t.prev,t,e.prev)<0&&Bo(e.next,t,t.next)<0}function Oo(t,e,r,n,i){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-r)*i)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)*i)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function Do(t){var e=t,r=t;do{(e.x<r.x||e.x===r.x&&e.y<r.y)&&(r=e),e=e.next}while(e!==t);return r}function Ro(t,e,r,n,i,a,o,s){return(i-o)*(e-s)-(t-o)*(a-s)>=0&&(t-o)*(n-s)-(r-o)*(e-s)>=0&&(r-o)*(a-s)-(i-o)*(n-s)>=0}function Fo(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){var r=t;do{if(r.i!==t.i&&r.next.i!==t.i&&r.i!==e.i&&r.next.i!==e.i&&jo(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}(t,e)&&(qo(t,e)&&qo(e,t)&&function(t,e){var r=t,n=!1,i=(t.x+e.x)/2,a=(t.y+e.y)/2;do{r.y>a!=r.next.y>a&&r.next.y!==r.y&&i<(r.next.x-r.x)*(a-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next}while(r!==t);return n}(t,e)&&(Bo(t.prev,t,e.prev)||Bo(t,e.prev,e))||No(t,e)&&Bo(t.prev,t,t.next)>0&&Bo(e.prev,e,e.next)>0)}function Bo(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function No(t,e){return t.x===e.x&&t.y===e.y}function jo(t,e,r,n){var i=Vo(Bo(t,e,r)),a=Vo(Bo(t,e,n)),o=Vo(Bo(r,n,t)),s=Vo(Bo(r,n,e));return i!==a&&o!==s||!(0!==i||!Uo(t,r,e))||!(0!==a||!Uo(t,n,e))||!(0!==o||!Uo(r,t,n))||!(0!==s||!Uo(r,e,n))}function Uo(t,e,r){return e.x<=Math.max(t.x,r.x)&&e.x>=Math.min(t.x,r.x)&&e.y<=Math.max(t.y,r.y)&&e.y>=Math.min(t.y,r.y)}function Vo(t){return t>0?1:t<0?-1:0}function qo(t,e){return Bo(t.prev,t,t.next)<0?Bo(t,e,t.next)>=0&&Bo(t,t.prev,e)>=0:Bo(t,e,t.prev)<0||Bo(t,t.next,e)<0}function Ho(t,e){var r=new Wo(t.i,t.x,t.y),n=new Wo(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 Go(t,e,r,n){var i=new Wo(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 Yo(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function Wo(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 Xo(t,e,r,n){for(var i=0,a=e,o=r-n;a<r;a+=n)i+=(t[o]-t[a])*(t[a+1]+t[o+1]),o=a;return i}function Zo(t,e,r,n,i){!function t(e,r,n,i,a){for(;i>n;){if(i-n>600){var o=i-n+1,s=r-n+1,l=Math.log(o),c=.5*Math.exp(2*l/3),u=.5*Math.sqrt(l*c*(o-c)/o)*(s-o/2<0?-1:1);t(e,r,Math.max(n,Math.floor(r-s*c/o+u)),Math.min(i,Math.floor(r+(o-s)*c/o+u)),a)}var f=e[r],h=n,p=i;for(Jo(e,n,r),a(e[i],f)>0&&Jo(e,n,i);h<p;){for(Jo(e,h,p),h++,p--;a(e[h],f)<0;)h++;for(;a(e[p],f)>0;)p--}0===a(e[n],f)?Jo(e,n,p):Jo(e,++p,i),p<=r&&(n=p+1),r<=p&&(i=p-1)}}(t,e,r||0,n||t.length-1,i||Ko)}function Jo(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function Ko(t,e){return t<e?-1:t>e?1:0}function Qo(t,e){var r=t.length;if(r<=1)return[t];for(var n,i,a=[],o=0;o<r;o++){var s=T(t[o]);0!==s&&(t[o].area=Math.abs(s),void 0===i&&(i=s<0),i===s<0?(n&&a.push(n),n=[t[o]]):n.push(t[o]))}if(n&&a.push(n),e>1)for(var l=0;l<a.length;l++)a[l].length<=e||(Zo(a[l],e,1,a[l].length-1,$o),a[l]=a[l].slice(0,e));return a}function $o(t,e){return e.area-t.area}function ts(t,e,r){for(var n=r.patternDependencies,i=!1,a=0,o=e;a<o.length;a+=1){var s=o[a].paint.get(t+"-pattern");s.isConstant()||(i=!0);var l=s.constantOr(null);l&&(i=!0,n[l.to]=!0,n[l.from]=!0)}return i}function es(t,e,r,n,i){for(var a=i.patternDependencies,o=0,s=e;o<s.length;o+=1){var l=s[o],c=l.paint.get(t+"-pattern").value;if("constant"!==c.kind){var u=c.evaluate({zoom:n-1},r,{},i.availableImages),f=c.evaluate({zoom:n},r,{},i.availableImages),h=c.evaluate({zoom:n+1},r,{},i.availableImages);f=f&&f.name?f.name:f,h=h&&h.name?h.name:h,a[u=u&&u.name?u.name:u]=!0,a[f]=!0,a[h]=!0,r.patterns[l.id]={min:u,mid:f,max:h}}}return r}To.deviation=function(t,e,r,n){var i=e&&e.length,a=Math.abs(Xo(t,0,i?e[0]*r:t.length,r));if(i)for(var o=0,s=e.length;o<s;o++)a-=Math.abs(Xo(t,e[o]*r,o<s-1?e[o+1]*r:t.length,r));var l=0;for(o=0;o<n.length;o+=3){var c=n[o]*r,u=n[o+1]*r,f=n[o+2]*r;l+=Math.abs((t[c]-t[f])*(t[u+1]-t[c+1])-(t[c]-t[u])*(t[f+1]-t[c+1]))}return 0===a&&0===l?0:Math.abs((l-a)/a)},To.flatten=function(t){for(var e=t[0][0].length,r={vertices:[],holes:[],dimensions:e},n=0,i=0;i<t.length;i++){for(var a=0;a<t[i].length;a++)for(var o=0;o<e;o++)r.vertices.push(t[i][a][o]);i>0&&r.holes.push(n+=t[i-1].length)}return r},_o.default=wo;var rs=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((function(t){return t.id})),this.index=t.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new Mi,this.indexArray=new Fi,this.indexArray2=new qi,this.programConfigurations=new Ia(bo,t.layers,t.zoom),this.segments=new ia,this.segments2=new ia,this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id}))};rs.prototype.populate=function(t,e,r){this.hasPattern=ts("fill",this.layers,e);for(var n=this.layers[0].layout.get("fill-sort-key"),i=[],a=0,o=t;a<o.length;a+=1){var s=o[a],l=s.feature,c=s.id,u=s.index,f=s.sourceLayerIndex,h=this.layers[0]._featureFilter.needGeometry,p={type:l.type,id:c,properties:l.properties,geometry:h?Da(l):[]};if(this.layers[0]._featureFilter.filter(new ii(this.zoom),p,r)){h||(p.geometry=Da(l));var d=n?n.evaluate(p,{},r,e.availableImages):void 0;i.push({id:c,properties:l.properties,type:l.type,sourceLayerIndex:f,index:u,geometry:p.geometry,patterns:{},sortKey:d})}}n&&i.sort((function(t,e){return t.sortKey-e.sortKey}));for(var g=0,m=i;g<m.length;g+=1){var v=m[g],y=v.geometry,x=v.index,b=v.sourceLayerIndex;if(this.hasPattern){var _=es("fill",this.layers,v,this.zoom,e);this.patternFeatures.push(_)}else this.addFeature(v,y,x,r,{});e.featureIndex.insert(t[x].feature,y,x,b,this.index)}},rs.prototype.update=function(t,e,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r)},rs.prototype.addFeatures=function(t,e,r){for(var n=0,i=this.patternFeatures;n<i.length;n+=1){var a=i[n];this.addFeature(a,a.geometry,a.index,e,r)}},rs.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},rs.prototype.uploadPending=function(){return!this.uploaded||this.programConfigurations.needsUpload},rs.prototype.upload=function(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,bo),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.indexBuffer2=t.createIndexBuffer(this.indexArray2)),this.programConfigurations.upload(t),this.uploaded=!0},rs.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.indexBuffer2.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.segments2.destroy())},rs.prototype.addFeature=function(t,e,r,n,i){for(var a=0,o=Qo(e,500);a<o.length;a+=1){for(var s=o[a],l=0,c=0,u=s;c<u.length;c+=1)l+=u[c].length;for(var f=this.segments.prepareSegment(l,this.layoutVertexArray,this.indexArray),h=f.vertexLength,p=[],d=[],g=0,m=s;g<m.length;g+=1){var v=m[g];if(0!==v.length){v!==s[0]&&d.push(p.length/2);var y=this.segments2.prepareSegment(v.length,this.layoutVertexArray,this.indexArray2),x=y.vertexLength;this.layoutVertexArray.emplaceBack(v[0].x,v[0].y),this.indexArray2.emplaceBack(x+v.length-1,x),p.push(v[0].x),p.push(v[0].y);for(var b=1;b<v.length;b++)this.layoutVertexArray.emplaceBack(v[b].x,v[b].y),this.indexArray2.emplaceBack(x+b-1,x+b),p.push(v[b].x),p.push(v[b].y);y.vertexLength+=v.length,y.primitiveLength+=v.length}}for(var _=_o(p,d),w=0;w<_.length;w+=3)this.indexArray.emplaceBack(h+_[w],h+_[w+1],h+_[w+2]);f.vertexLength+=l,f.primitiveLength+=_.length/3}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,r,i,n)},Dn("FillBucket",rs,{omit:["layers","patternFeatures"]});var ns=new yi({"fill-sort-key":new di(At.layout_fill["fill-sort-key"])}),is={paint:new yi({"fill-antialias":new pi(At.paint_fill["fill-antialias"]),"fill-opacity":new di(At.paint_fill["fill-opacity"]),"fill-color":new di(At.paint_fill["fill-color"]),"fill-outline-color":new di(At.paint_fill["fill-outline-color"]),"fill-translate":new pi(At.paint_fill["fill-translate"]),"fill-translate-anchor":new pi(At.paint_fill["fill-translate-anchor"]),"fill-pattern":new gi(At.paint_fill["fill-pattern"])}),layout:ns},as=function(t){function e(e){t.call(this,e,is)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.recalculate=function(e,r){t.prototype.recalculate.call(this,e,r);var n=this.paint._values["fill-outline-color"];"constant"===n.value.kind&&void 0===n.value.value&&(this.paint._values["fill-outline-color"]=this.paint._values["fill-color"])},e.prototype.createBucket=function(t){return new rs(t)},e.prototype.queryRadius=function(){return Ja(this.paint.get("fill-translate"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,a,o){return ja(Ka(t,this.paint.get("fill-translate"),this.paint.get("fill-translate-anchor"),a.angle,o),n)},e.prototype.isTileClipped=function(){return!0},e}(xi),os=Ti([{name:"a_pos",components:2,type:"Int16"},{name:"a_normal_ed",components:4,type:"Int16"}],4).members,ss=ls;function ls(t,e,r,n,i){this.properties={},this.extent=r,this.type=0,this._pbf=t,this._geometry=-1,this._keys=n,this._values=i,t.readFields(cs,this,e)}function cs(t,e,r){1==t?e.id=r.readVarint():2==t?function(t,e){for(var r=t.readVarint()+t.pos;t.pos<r;){var n=e._keys[t.readVarint()],i=e._values[t.readVarint()];e.properties[n]=i}}(r,e):3==t?e.type=r.readVarint():4==t&&(e._geometry=r.pos)}function us(t){for(var e,r,n=0,i=0,a=t.length,o=a-1;i<a;o=i++)n+=((r=t[o]).x-(e=t[i]).x)*(e.y+r.y);return n}ls.types=["Unknown","Point","LineString","Polygon"],ls.prototype.loadGeometry=function(){var t=this._pbf;t.pos=this._geometry;for(var e,r=t.readVarint()+t.pos,n=1,a=0,o=0,s=0,l=[];t.pos<r;){if(a<=0){var c=t.readVarint();n=7&c,a=c>>3}if(a--,1===n||2===n)o+=t.readSVarint(),s+=t.readSVarint(),1===n&&(e&&l.push(e),e=[]),e.push(new i(o,s));else{if(7!==n)throw new Error("unknown command "+n);e&&e.push(e[0].clone())}}return e&&l.push(e),l},ls.prototype.bbox=function(){var t=this._pbf;t.pos=this._geometry;for(var e=t.readVarint()+t.pos,r=1,n=0,i=0,a=0,o=1/0,s=-1/0,l=1/0,c=-1/0;t.pos<e;){if(n<=0){var u=t.readVarint();r=7&u,n=u>>3}if(n--,1===r||2===r)(i+=t.readSVarint())<o&&(o=i),i>s&&(s=i),(a+=t.readSVarint())<l&&(l=a),a>c&&(c=a);else if(7!==r)throw new Error("unknown command "+r)}return[o,l,s,c]},ls.prototype.toGeoJSON=function(t,e,r){var n,i,a=this.extent*Math.pow(2,r),o=this.extent*t,s=this.extent*e,l=this.loadGeometry(),c=ls.types[this.type];function u(t){for(var e=0;e<t.length;e++){var r=t[e];t[e]=[360*(r.x+o)/a-180,360/Math.PI*Math.atan(Math.exp((180-360*(r.y+s)/a)*Math.PI/180))-90]}}switch(this.type){case 1:var f=[];for(n=0;n<l.length;n++)f[n]=l[n][0];u(l=f);break;case 2:for(n=0;n<l.length;n++)u(l[n]);break;case 3:for(l=function(t){var e=t.length;if(e<=1)return[t];for(var r,n,i=[],a=0;a<e;a++){var o=us(t[a]);0!==o&&(void 0===n&&(n=o<0),n===o<0?(r&&i.push(r),r=[t[a]]):r.push(t[a]))}return r&&i.push(r),i}(l),n=0;n<l.length;n++)for(i=0;i<l[n].length;i++)u(l[n][i])}1===l.length?l=l[0]:c="Multi"+c;var h={type:"Feature",geometry:{type:c,coordinates:l},properties:this.properties};return"id"in this&&(h.id=this.id),h};var fs=hs;function hs(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(ps,this,e),this.length=this._features.length}function ps(t,e,r){15===t?e.version=r.readVarint():1===t?e.name=r.readString():5===t?e.extent=r.readVarint():2===t?e._features.push(r.pos):3===t?e._keys.push(r.readString()):4===t&&e._values.push(function(t){for(var e=null,r=t.readVarint()+t.pos;t.pos<r;){var n=t.readVarint()>>3;e=1===n?t.readString():2===n?t.readFloat():3===n?t.readDouble():4===n?t.readVarint64():5===n?t.readVarint():6===n?t.readSVarint():7===n?t.readBoolean():null}return e}(r))}function ds(t,e,r){if(3===t){var n=new fs(r,r.readVarint()+r.pos);n.length&&(e[n.name]=n)}}hs.prototype.feature=function(t){if(t<0||t>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[t];var e=this._pbf.readVarint()+this._pbf.pos;return new ss(this._pbf,e,this.extent,this._keys,this._values)};var gs={VectorTile:function(t,e){this.layers=t.readFields(ds,{},e)},VectorTileFeature:ss,VectorTileLayer:fs},ms=gs.VectorTileFeature.types,vs=Math.pow(2,13);function ys(t,e,r,n,i,a,o,s){t.emplaceBack(e,r,2*Math.floor(n*vs)+o,i*vs*2,a*vs*2,Math.round(s))}var xs=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((function(t){return t.id})),this.index=t.index,this.hasPattern=!1,this.layoutVertexArray=new Si,this.indexArray=new Fi,this.programConfigurations=new Ia(os,t.layers,t.zoom),this.segments=new ia,this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id}))};function bs(t,e){return t.x===e.x&&(t.x<0||t.x>8192)||t.y===e.y&&(t.y<0||t.y>8192)}xs.prototype.populate=function(t,e,r){this.features=[],this.hasPattern=ts("fill-extrusion",this.layers,e);for(var n=0,i=t;n<i.length;n+=1){var a=i[n],o=a.feature,s=a.id,l=a.index,c=a.sourceLayerIndex,u=this.layers[0]._featureFilter.needGeometry,f={type:o.type,id:s,properties:o.properties,geometry:u?Da(o):[]};if(this.layers[0]._featureFilter.filter(new ii(this.zoom),f,r)){var h={id:s,sourceLayerIndex:c,index:l,geometry:u?f.geometry:Da(o),properties:o.properties,type:o.type,patterns:{}};void 0!==o.id&&(h.id=o.id),this.hasPattern?this.features.push(es("fill-extrusion",this.layers,h,this.zoom,e)):this.addFeature(h,h.geometry,l,r,{}),e.featureIndex.insert(o,h.geometry,l,c,this.index,!0)}}},xs.prototype.addFeatures=function(t,e,r){for(var n=0,i=this.features;n<i.length;n+=1){var a=i[n];this.addFeature(a,a.geometry,a.index,e,r)}},xs.prototype.update=function(t,e,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r)},xs.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},xs.prototype.uploadPending=function(){return!this.uploaded||this.programConfigurations.needsUpload},xs.prototype.upload=function(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,os),this.indexBuffer=t.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(t),this.uploaded=!0},xs.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())},xs.prototype.addFeature=function(t,e,r,n,i){for(var a=0,o=Qo(e,500);a<o.length;a+=1){for(var s=o[a],l=0,c=0,u=s;c<u.length;c+=1)l+=u[c].length;for(var f=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray),h=0,p=s;h<p.length;h+=1){var d=p[h];if(0!==d.length&&!((P=d).every((function(t){return t.x<0}))||P.every((function(t){return t.x>8192}))||P.every((function(t){return t.y<0}))||P.every((function(t){return t.y>8192}))))for(var g=0,m=0;m<d.length;m++){var v=d[m];if(m>=1){var y=d[m-1];if(!bs(v,y)){f.vertexLength+4>ia.MAX_VERTEX_ARRAY_LENGTH&&(f=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));var x=v.sub(y)._perp()._unit(),b=y.dist(v);g+b>32768&&(g=0),ys(this.layoutVertexArray,v.x,v.y,x.x,x.y,0,0,g),ys(this.layoutVertexArray,v.x,v.y,x.x,x.y,0,1,g),ys(this.layoutVertexArray,y.x,y.y,x.x,x.y,0,0,g+=b),ys(this.layoutVertexArray,y.x,y.y,x.x,x.y,0,1,g);var _=f.vertexLength;this.indexArray.emplaceBack(_,_+2,_+1),this.indexArray.emplaceBack(_+1,_+2,_+3),f.vertexLength+=4,f.primitiveLength+=2}}}}if(f.vertexLength+l>ia.MAX_VERTEX_ARRAY_LENGTH&&(f=this.segments.prepareSegment(l,this.layoutVertexArray,this.indexArray)),"Polygon"===ms[t.type]){for(var w=[],T=[],k=f.vertexLength,M=0,A=s;M<A.length;M+=1){var S=A[M];if(0!==S.length){S!==s[0]&&T.push(w.length/2);for(var E=0;E<S.length;E++){var C=S[E];ys(this.layoutVertexArray,C.x,C.y,0,0,1,1,0),w.push(C.x),w.push(C.y)}}}for(var L=_o(w,T),I=0;I<L.length;I+=3)this.indexArray.emplaceBack(k+L[I],k+L[I+2],k+L[I+1]);f.primitiveLength+=L.length/3,f.vertexLength+=l}}var P;this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,r,i,n)},Dn("FillExtrusionBucket",xs,{omit:["layers","features"]});var _s={paint:new yi({"fill-extrusion-opacity":new pi(At["paint_fill-extrusion"]["fill-extrusion-opacity"]),"fill-extrusion-color":new di(At["paint_fill-extrusion"]["fill-extrusion-color"]),"fill-extrusion-translate":new pi(At["paint_fill-extrusion"]["fill-extrusion-translate"]),"fill-extrusion-translate-anchor":new pi(At["paint_fill-extrusion"]["fill-extrusion-translate-anchor"]),"fill-extrusion-pattern":new gi(At["paint_fill-extrusion"]["fill-extrusion-pattern"]),"fill-extrusion-height":new di(At["paint_fill-extrusion"]["fill-extrusion-height"]),"fill-extrusion-base":new di(At["paint_fill-extrusion"]["fill-extrusion-base"]),"fill-extrusion-vertical-gradient":new pi(At["paint_fill-extrusion"]["fill-extrusion-vertical-gradient"])})},ws=function(t){function e(e){t.call(this,e,_s)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.createBucket=function(t){return new xs(t)},e.prototype.queryRadius=function(){return Ja(this.paint.get("fill-extrusion-translate"))},e.prototype.is3D=function(){return!0},e.prototype.queryIntersectsFeature=function(t,e,r,n,a,o,s,l){var c=Ka(t,this.paint.get("fill-extrusion-translate"),this.paint.get("fill-extrusion-translate-anchor"),o.angle,s),u=this.paint.get("fill-extrusion-height").evaluate(e,r),f=this.paint.get("fill-extrusion-base").evaluate(e,r),h=function(t,e,r,n){for(var a=[],o=0,s=t;o<s.length;o+=1){var l=s[o],c=[l.x,l.y,0,1];ao(c,c,e),a.push(new i(c[0]/c[3],c[1]/c[3]))}return a}(c,l),p=function(t,e,r,n){for(var a=[],o=[],s=n[8]*e,l=n[9]*e,c=n[10]*e,u=n[11]*e,f=n[8]*r,h=n[9]*r,p=n[10]*r,d=n[11]*r,g=0,m=t;g<m.length;g+=1){for(var v=[],y=[],x=0,b=m[g];x<b.length;x+=1){var _=b[x],w=_.x,T=_.y,k=n[0]*w+n[4]*T+n[12],M=n[1]*w+n[5]*T+n[13],A=n[2]*w+n[6]*T+n[14],S=n[3]*w+n[7]*T+n[15],E=A+c,C=S+u,L=k+f,I=M+h,P=A+p,z=S+d,O=new i((k+s)/C,(M+l)/C);O.z=E/C,v.push(O);var D=new i(L/z,I/z);D.z=P/z,y.push(D)}a.push(v),o.push(y)}return[a,o]}(n,f,u,l);return function(t,e,r){var n=1/0;ja(r,e)&&(n=ks(r,e[0]));for(var i=0;i<e.length;i++)for(var a=e[i],o=t[i],s=0;s<a.length-1;s++){var l=a[s],c=[l,a[s+1],o[s+1],o[s],l];Ba(r,c)&&(n=Math.min(n,ks(r,c)))}return n!==1/0&&n}(p[0],p[1],h)},e}(xi);function Ts(t,e){return t.x*e.x+t.y*e.y}function ks(t,e){if(1===t.length){for(var r,n=0,i=e[n++];!r||i.equals(r);)if(!(r=e[n++]))return 1/0;for(;n<e.length;n++){var a=e[n],o=t[0],s=r.sub(i),l=a.sub(i),c=o.sub(i),u=Ts(s,s),f=Ts(s,l),h=Ts(l,l),p=Ts(c,s),d=Ts(c,l),g=u*h-f*f,m=(h*p-f*d)/g,v=(u*d-f*p)/g,y=i.z*(1-m-v)+r.z*m+a.z*v;if(isFinite(y))return y}return 1/0}for(var x=1/0,b=0,_=e;b<_.length;b+=1)x=Math.min(x,_[b].z);return x}var Ms=Ti([{name:"a_pos_normal",components:2,type:"Int16"},{name:"a_data",components:4,type:"Uint8"}],4).members,As=gs.VectorTileFeature.types,Ss=Math.cos(Math.PI/180*37.5),Es=Math.pow(2,14)/.5,Cs=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((function(t){return t.id})),this.index=t.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new Ei,this.indexArray=new Fi,this.programConfigurations=new Ia(Ms,t.layers,t.zoom),this.segments=new ia,this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id}))};Cs.prototype.populate=function(t,e,r){this.hasPattern=ts("line",this.layers,e);for(var n=this.layers[0].layout.get("line-sort-key"),i=[],a=0,o=t;a<o.length;a+=1){var s=o[a],l=s.feature,c=s.id,u=s.index,f=s.sourceLayerIndex,h=this.layers[0]._featureFilter.needGeometry,p={type:l.type,id:c,properties:l.properties,geometry:h?Da(l):[]};if(this.layers[0]._featureFilter.filter(new ii(this.zoom),p,r)){h||(p.geometry=Da(l));var d=n?n.evaluate(p,{},r):void 0;i.push({id:c,properties:l.properties,type:l.type,sourceLayerIndex:f,index:u,geometry:p.geometry,patterns:{},sortKey:d})}}n&&i.sort((function(t,e){return t.sortKey-e.sortKey}));for(var g=0,m=i;g<m.length;g+=1){var v=m[g],y=v.geometry,x=v.index,b=v.sourceLayerIndex;if(this.hasPattern){var _=es("line",this.layers,v,this.zoom,e);this.patternFeatures.push(_)}else this.addFeature(v,y,x,r,{});e.featureIndex.insert(t[x].feature,y,x,b,this.index)}},Cs.prototype.update=function(t,e,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r)},Cs.prototype.addFeatures=function(t,e,r){for(var n=0,i=this.patternFeatures;n<i.length;n+=1){var a=i[n];this.addFeature(a,a.geometry,a.index,e,r)}},Cs.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},Cs.prototype.uploadPending=function(){return!this.uploaded||this.programConfigurations.needsUpload},Cs.prototype.upload=function(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,Ms),this.indexBuffer=t.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(t),this.uploaded=!0},Cs.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())},Cs.prototype.addFeature=function(t,e,r,n,i){for(var a=this.layers[0].layout,o=a.get("line-join").evaluate(t,{}),s=a.get("line-cap"),l=a.get("line-miter-limit"),c=a.get("line-round-limit"),u=0,f=e;u<f.length;u+=1)this.addLine(f[u],t,o,s,l,c);this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,r,i,n)},Cs.prototype.addLine=function(t,e,r,n,i,a){if(this.distance=0,this.scaledDistance=0,this.totalDistance=0,e.properties&&e.properties.hasOwnProperty("mapbox_clip_start")&&e.properties.hasOwnProperty("mapbox_clip_end")){this.clipStart=+e.properties.mapbox_clip_start,this.clipEnd=+e.properties.mapbox_clip_end;for(var o=0;o<t.length-1;o++)this.totalDistance+=t[o].dist(t[o+1]);this.updateScaledDistance()}for(var s="Polygon"===As[e.type],l=t.length;l>=2&&t[l-1].equals(t[l-2]);)l--;for(var c=0;c<l-1&&t[c].equals(t[c+1]);)c++;if(!(l<(s?3:2))){"bevel"===r&&(i=1.05);var u,f=this.overscaling<=16?122880/(512*this.overscaling):0,h=this.segments.prepareSegment(10*l,this.layoutVertexArray,this.indexArray),p=void 0,d=void 0,g=void 0,m=void 0;this.e1=this.e2=-1,s&&(m=t[c].sub(u=t[l-2])._unit()._perp());for(var v=c;v<l;v++)if(!(d=v===l-1?s?t[c+1]:void 0:t[v+1])||!t[v].equals(d)){m&&(g=m),u&&(p=u),u=t[v],m=d?d.sub(u)._unit()._perp():g;var y=(g=g||m).add(m);0===y.x&&0===y.y||y._unit();var x=g.x*m.x+g.y*m.y,b=y.x*m.x+y.y*m.y,_=0!==b?1/b:1/0,w=2*Math.sqrt(2-2*b),T=b<Ss&&p&&d,k=g.x*m.y-g.y*m.x>0;if(T&&v>c){var M=u.dist(p);if(M>2*f){var A=u.sub(u.sub(p)._mult(f/M)._round());this.updateDistance(p,A),this.addCurrentVertex(A,g,0,0,h),p=A}}var S=p&&d,E=S?r:s?"butt":n;if(S&&"round"===E&&(_<a?E="miter":_<=2&&(E="fakeround")),"miter"===E&&_>i&&(E="bevel"),"bevel"===E&&(_>2&&(E="flipbevel"),_<i&&(E="miter")),p&&this.updateDistance(p,u),"miter"===E)y._mult(_),this.addCurrentVertex(u,y,0,0,h);else if("flipbevel"===E){if(_>100)y=m.mult(-1);else{var C=_*g.add(m).mag()/g.sub(m).mag();y._perp()._mult(C*(k?-1:1))}this.addCurrentVertex(u,y,0,0,h),this.addCurrentVertex(u,y.mult(-1),0,0,h)}else if("bevel"===E||"fakeround"===E){var L=-Math.sqrt(_*_-1),I=k?L:0,P=k?0:L;if(p&&this.addCurrentVertex(u,g,I,P,h),"fakeround"===E)for(var z=Math.round(180*w/Math.PI/20),O=1;O<z;O++){var D=O/z;if(.5!==D){var R=D-.5;D+=D*R*(D-1)*((1.0904+x*(x*(3.55645-1.43519*x)-3.2452))*R*R+(.848013+x*(.215638*x-1.06021)))}var F=m.sub(g)._mult(D)._add(g)._unit()._mult(k?-1:1);this.addHalfVertex(u,F.x,F.y,!1,k,0,h)}d&&this.addCurrentVertex(u,m,-I,-P,h)}else if("butt"===E)this.addCurrentVertex(u,y,0,0,h);else if("square"===E){var B=p?1:-1;this.addCurrentVertex(u,y,B,B,h)}else"round"===E&&(p&&(this.addCurrentVertex(u,g,0,0,h),this.addCurrentVertex(u,g,1,1,h,!0)),d&&(this.addCurrentVertex(u,m,-1,-1,h,!0),this.addCurrentVertex(u,m,0,0,h)));if(T&&v<l-1){var N=u.dist(d);if(N>2*f){var j=u.add(d.sub(u)._mult(f/N)._round());this.updateDistance(u,j),this.addCurrentVertex(j,m,0,0,h),u=j}}}}},Cs.prototype.addCurrentVertex=function(t,e,r,n,i,a){void 0===a&&(a=!1);var o=e.y*n-e.x,s=-e.y-e.x*n;this.addHalfVertex(t,e.x+e.y*r,e.y-e.x*r,a,!1,r,i),this.addHalfVertex(t,o,s,a,!0,-n,i),this.distance>Es/2&&0===this.totalDistance&&(this.distance=0,this.addCurrentVertex(t,e,r,n,i,a))},Cs.prototype.addHalfVertex=function(t,e,r,n,i,a,o){var s=.5*this.scaledDistance;this.layoutVertexArray.emplaceBack((t.x<<1)+(n?1:0),(t.y<<1)+(i?1:0),Math.round(63*e)+128,Math.round(63*r)+128,1+(0===a?0:a<0?-1:1)|(63&s)<<2,s>>6);var l=o.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,l),o.primitiveLength++),i?this.e2=l:this.e1=l},Cs.prototype.updateScaledDistance=function(){this.scaledDistance=this.totalDistance>0?(this.clipStart+(this.clipEnd-this.clipStart)*this.distance/this.totalDistance)*(Es-1):this.distance},Cs.prototype.updateDistance=function(t,e){this.distance+=t.dist(e),this.updateScaledDistance()},Dn("LineBucket",Cs,{omit:["layers","patternFeatures"]});var Ls=new yi({"line-cap":new pi(At.layout_line["line-cap"]),"line-join":new di(At.layout_line["line-join"]),"line-miter-limit":new pi(At.layout_line["line-miter-limit"]),"line-round-limit":new pi(At.layout_line["line-round-limit"]),"line-sort-key":new di(At.layout_line["line-sort-key"])}),Is={paint:new yi({"line-opacity":new di(At.paint_line["line-opacity"]),"line-color":new di(At.paint_line["line-color"]),"line-translate":new pi(At.paint_line["line-translate"]),"line-translate-anchor":new pi(At.paint_line["line-translate-anchor"]),"line-width":new di(At.paint_line["line-width"]),"line-gap-width":new di(At.paint_line["line-gap-width"]),"line-offset":new di(At.paint_line["line-offset"]),"line-blur":new di(At.paint_line["line-blur"]),"line-dasharray":new mi(At.paint_line["line-dasharray"]),"line-pattern":new gi(At.paint_line["line-pattern"]),"line-gradient":new vi(At.paint_line["line-gradient"])}),layout:Ls},Ps=new(function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.possiblyEvaluate=function(e,r){return r=new ii(Math.floor(r.zoom),{now:r.now,fadeDuration:r.fadeDuration,zoomHistory:r.zoomHistory,transition:r.transition}),t.prototype.possiblyEvaluate.call(this,e,r)},e.prototype.evaluate=function(e,r,n,i){return r=u({},r,{zoom:Math.floor(r.zoom)}),t.prototype.evaluate.call(this,e,r,n,i)},e}(di))(Is.paint.properties["line-width"].specification);Ps.useIntegerZoom=!0;var zs=function(t){function e(e){t.call(this,e,Is)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._handleSpecialPaintPropertyUpdate=function(t){"line-gradient"===t&&this._updateGradient()},e.prototype._updateGradient=function(){this.gradient=mo(this._transitionablePaint._values["line-gradient"].value.expression,"lineProgress"),this.gradientTexture=null},e.prototype.recalculate=function(e,r){t.prototype.recalculate.call(this,e,r),this.paint._values["line-floorwidth"]=Ps.possiblyEvaluate(this._transitioningPaint._values["line-width"].value,e)},e.prototype.createBucket=function(t){return new Cs(t)},e.prototype.queryRadius=function(t){var e=t,r=Os(Za("line-width",this,e),Za("line-gap-width",this,e)),n=Za("line-offset",this,e);return r/2+Math.abs(n)+Ja(this.paint.get("line-translate"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,a,o,s){var l=Ka(t,this.paint.get("line-translate"),this.paint.get("line-translate-anchor"),o.angle,s),c=s/2*Os(this.paint.get("line-width").evaluate(e,r),this.paint.get("line-gap-width").evaluate(e,r)),u=this.paint.get("line-offset").evaluate(e,r);return u&&(n=function(t,e){for(var r=[],n=new i(0,0),a=0;a<t.length;a++){for(var o=t[a],s=[],l=0;l<o.length;l++){var c=o[l],u=o[l+1],f=0===l?n:c.sub(o[l-1])._unit()._perp(),h=l===o.length-1?n:u.sub(c)._unit()._perp(),p=f._add(h)._unit();p._mult(1/(p.x*h.x+p.y*h.y)),s.push(p._mult(e)._add(c))}r.push(s)}return r}(n,u*s)),function(t,e,r){for(var n=0;n<e.length;n++){var i=e[n];if(t.length>=3)for(var a=0;a<i.length;a++)if(Wa(t,i[a]))return!0;if(Ua(t,i,r))return!0}return!1}(l,n,c)},e.prototype.isTileClipped=function(){return!0},e}(xi);function Os(t,e){return e>0?e+2*t:t}var Ds=Ti([{name:"a_pos_offset",components:4,type:"Int16"},{name:"a_data",components:4,type:"Uint16"},{name:"a_pixeloffset",components:4,type:"Int16"}],4),Rs=Ti([{name:"a_projected_pos",components:3,type:"Float32"}],4),Fs=(Ti([{name:"a_fade_opacity",components:1,type:"Uint32"}],4),Ti([{name:"a_placed",components:2,type:"Uint8"},{name:"a_shift",components:2,type:"Float32"}])),Bs=(Ti([{type:"Int16",name:"anchorPointX"},{type:"Int16",name:"anchorPointY"},{type:"Int16",name:"x1"},{type:"Int16",name:"y1"},{type:"Int16",name:"x2"},{type:"Int16",name:"y2"},{type:"Uint32",name:"featureIndex"},{type:"Uint16",name:"sourceLayerIndex"},{type:"Uint16",name:"bucketIndex"}]),Ti([{name:"a_pos",components:2,type:"Int16"},{name:"a_anchor_pos",components:2,type:"Int16"},{name:"a_extrude",components:2,type:"Int16"}],4)),Ns=Ti([{name:"a_pos",components:2,type:"Float32"},{name:"a_radius",components:1,type:"Float32"},{name:"a_flags",components:2,type:"Int16"}],4);function js(t,e,r){return t.sections.forEach((function(t){t.text=function(t,e,r){var n=e.layout.get("text-transform").evaluate(r,{});return"uppercase"===n?t=t.toLocaleUpperCase():"lowercase"===n&&(t=t.toLocaleLowerCase()),ni.applyArabicShaping&&(t=ni.applyArabicShaping(t)),t}(t.text,e,r)})),t}Ti([{name:"triangle",components:3,type:"Uint16"}]),Ti([{type:"Int16",name:"anchorX"},{type:"Int16",name:"anchorY"},{type:"Uint16",name:"glyphStartIndex"},{type:"Uint16",name:"numGlyphs"},{type:"Uint32",name:"vertexStartIndex"},{type:"Uint32",name:"lineStartIndex"},{type:"Uint32",name:"lineLength"},{type:"Uint16",name:"segment"},{type:"Uint16",name:"lowerSize"},{type:"Uint16",name:"upperSize"},{type:"Float32",name:"lineOffsetX"},{type:"Float32",name:"lineOffsetY"},{type:"Uint8",name:"writingMode"},{type:"Uint8",name:"placedOrientation"},{type:"Uint8",name:"hidden"},{type:"Uint32",name:"crossTileID"},{type:"Int16",name:"associatedIconIndex"}]),Ti([{type:"Int16",name:"anchorX"},{type:"Int16",name:"anchorY"},{type:"Int16",name:"rightJustifiedTextSymbolIndex"},{type:"Int16",name:"centerJustifiedTextSymbolIndex"},{type:"Int16",name:"leftJustifiedTextSymbolIndex"},{type:"Int16",name:"verticalPlacedTextSymbolIndex"},{type:"Int16",name:"placedIconSymbolIndex"},{type:"Int16",name:"verticalPlacedIconSymbolIndex"},{type:"Uint16",name:"key"},{type:"Uint16",name:"textBoxStartIndex"},{type:"Uint16",name:"textBoxEndIndex"},{type:"Uint16",name:"verticalTextBoxStartIndex"},{type:"Uint16",name:"verticalTextBoxEndIndex"},{type:"Uint16",name:"iconBoxStartIndex"},{type:"Uint16",name:"iconBoxEndIndex"},{type:"Uint16",name:"verticalIconBoxStartIndex"},{type:"Uint16",name:"verticalIconBoxEndIndex"},{type:"Uint16",name:"featureIndex"},{type:"Uint16",name:"numHorizontalGlyphVertices"},{type:"Uint16",name:"numVerticalGlyphVertices"},{type:"Uint16",name:"numIconVertices"},{type:"Uint16",name:"numVerticalIconVertices"},{type:"Uint16",name:"useRuntimeCollisionCircles"},{type:"Uint32",name:"crossTileID"},{type:"Float32",name:"textBoxScale"},{type:"Float32",components:2,name:"textOffset"},{type:"Float32",name:"collisionCircleDiameter"}]),Ti([{type:"Float32",name:"offsetX"}]),Ti([{type:"Int16",name:"x"},{type:"Int16",name:"y"},{type:"Int16",name:"tileUnitDistanceFromAnchor"}]);var Us={"!":"\ufe15","#":"\uff03",$:"\uff04","%":"\uff05","&":"\uff06","(":"\ufe35",")":"\ufe36","*":"\uff0a","+":"\uff0b",",":"\ufe10","-":"\ufe32",".":"\u30fb","/":"\uff0f",":":"\ufe13",";":"\ufe14","<":"\ufe3f","=":"\uff1d",">":"\ufe40","?":"\ufe16","@":"\uff20","[":"\ufe47","\\":"\uff3c","]":"\ufe48","^":"\uff3e",_:"\ufe33","`":"\uff40","{":"\ufe37","|":"\u2015","}":"\ufe38","~":"\uff5e","\xa2":"\uffe0","\xa3":"\uffe1","\xa5":"\uffe5","\xa6":"\uffe4","\xac":"\uffe2","\xaf":"\uffe3","\u2013":"\ufe32","\u2014":"\ufe31","\u2018":"\ufe43","\u2019":"\ufe44","\u201c":"\ufe41","\u201d":"\ufe42","\u2026":"\ufe19","\u2027":"\u30fb","\u20a9":"\uffe6","\u3001":"\ufe11","\u3002":"\ufe12","\u3008":"\ufe3f","\u3009":"\ufe40","\u300a":"\ufe3d","\u300b":"\ufe3e","\u300c":"\ufe41","\u300d":"\ufe42","\u300e":"\ufe43","\u300f":"\ufe44","\u3010":"\ufe3b","\u3011":"\ufe3c","\u3014":"\ufe39","\u3015":"\ufe3a","\u3016":"\ufe17","\u3017":"\ufe18","\uff01":"\ufe15","\uff08":"\ufe35","\uff09":"\ufe36","\uff0c":"\ufe10","\uff0d":"\ufe32","\uff0e":"\u30fb","\uff1a":"\ufe13","\uff1b":"\ufe14","\uff1c":"\ufe3f","\uff1e":"\ufe40","\uff1f":"\ufe16","\uff3b":"\ufe47","\uff3d":"\ufe48","\uff3f":"\ufe33","\uff5b":"\ufe37","\uff5c":"\u2015","\uff5d":"\ufe38","\uff5f":"\ufe35","\uff60":"\ufe36","\uff61":"\ufe12","\uff62":"\ufe41","\uff63":"\ufe42"},Vs=function(t,e,r,n,i){var a,o,s=8*i-n-1,l=(1<<s)-1,c=l>>1,u=-7,f=r?i-1:0,h=r?-1:1,p=t[e+f];for(f+=h,a=p&(1<<-u)-1,p>>=-u,u+=s;u>0;a=256*a+t[e+f],f+=h,u-=8);for(o=a&(1<<-u)-1,a>>=-u,u+=n;u>0;o=256*o+t[e+f],f+=h,u-=8);if(0===a)a=1-c;else{if(a===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),a-=c}return(p?-1:1)*o*Math.pow(2,a-n)},qs=function(t,e,r,n,i,a){var o,s,l,c=8*a-i-1,u=(1<<c)-1,f=u>>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-1,d=n?1:-1,g=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,o=u):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),(e+=o+f>=1?h/l:h*Math.pow(2,1-f))*l>=2&&(o++,l/=2),o+f>=u?(s=0,o=u):o+f>=1?(s=(e*l-1)*Math.pow(2,i),o+=f):(s=e*Math.pow(2,f-1)*Math.pow(2,i),o=0));i>=8;t[r+p]=255&s,p+=d,s/=256,i-=8);for(o=o<<i|s,c+=i;c>0;t[r+p]=255&o,p+=d,o/=256,c-=8);t[r+p-d]|=128*g},Hs=Gs;function Gs(t){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(t)?t:new Uint8Array(t||0),this.pos=0,this.type=0,this.length=this.buf.length}Gs.Varint=0,Gs.Fixed64=1,Gs.Bytes=2,Gs.Fixed32=5;var Ys="undefined"==typeof TextDecoder?null:new TextDecoder("utf8");function Ws(t){return t.type===Gs.Bytes?t.readVarint()+t.pos:t.pos+1}function Xs(t,e,r){return r?4294967296*e+(t>>>0):4294967296*(e>>>0)+(t>>>0)}function Zs(t,e,r){var n=e<=16383?1:e<=2097151?2:e<=268435455?3:Math.floor(Math.log(e)/(7*Math.LN2));r.realloc(n);for(var i=r.pos-1;i>=t;i--)r.buf[i+n]=r.buf[i]}function Js(t,e){for(var r=0;r<t.length;r++)e.writeVarint(t[r])}function Ks(t,e){for(var r=0;r<t.length;r++)e.writeSVarint(t[r])}function Qs(t,e){for(var r=0;r<t.length;r++)e.writeFloat(t[r])}function $s(t,e){for(var r=0;r<t.length;r++)e.writeDouble(t[r])}function tl(t,e){for(var r=0;r<t.length;r++)e.writeBoolean(t[r])}function el(t,e){for(var r=0;r<t.length;r++)e.writeFixed32(t[r])}function rl(t,e){for(var r=0;r<t.length;r++)e.writeSFixed32(t[r])}function nl(t,e){for(var r=0;r<t.length;r++)e.writeFixed64(t[r])}function il(t,e){for(var r=0;r<t.length;r++)e.writeSFixed64(t[r])}function al(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+16777216*t[e+3]}function ol(t,e,r){t[r]=e,t[r+1]=e>>>8,t[r+2]=e>>>16,t[r+3]=e>>>24}function sl(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+(t[e+3]<<24)}function ll(t,e,r){1===t&&r.readMessage(cl,e)}function cl(t,e,r){if(3===t){var n=r.readMessage(ul,{}),i=n.width,a=n.height,o=n.left,s=n.top,l=n.advance;e.push({id:n.id,bitmap:new ho({width:i+6,height:a+6},n.bitmap),metrics:{width:i,height:a,left:o,top:s,advance:l}})}}function ul(t,e,r){1===t?e.id=r.readVarint():2===t?e.bitmap=r.readBytes():3===t?e.width=r.readVarint():4===t?e.height=r.readVarint():5===t?e.left=r.readSVarint():6===t?e.top=r.readSVarint():7===t&&(e.advance=r.readVarint())}function fl(t){for(var e=0,r=0,n=0,i=t;n<i.length;n+=1){var a=i[n];e+=a.w*a.h,r=Math.max(r,a.w)}t.sort((function(t,e){return e.h-t.h}));for(var o=[{x:0,y:0,w:Math.max(Math.ceil(Math.sqrt(e/.95)),r),h:1/0}],s=0,l=0,c=0,u=t;c<u.length;c+=1)for(var f=u[c],h=o.length-1;h>=0;h--){var p=o[h];if(!(f.w>p.w||f.h>p.h)){if(f.x=p.x,f.y=p.y,l=Math.max(l,f.y+f.h),s=Math.max(s,f.x+f.w),f.w===p.w&&f.h===p.h){var d=o.pop();h<o.length&&(o[h]=d)}else f.h===p.h?(p.x+=f.w,p.w-=f.w):f.w===p.w?(p.y+=f.h,p.h-=f.h):(o.push({x:p.x+f.w,y:p.y,w:p.w-f.w,h:f.h}),p.y+=f.h,p.h-=f.h);break}}return{w:s,h:l,fill:e/(s*l)||0}}Gs.prototype={destroy:function(){this.buf=null},readFields:function(t,e,r){for(r=r||this.length;this.pos<r;){var n=this.readVarint(),i=n>>3,a=this.pos;this.type=7&n,t(i,e,this),this.pos===a&&this.skip(n)}return e},readMessage:function(t,e){return this.readFields(t,e,this.readVarint()+this.pos)},readFixed32:function(){var t=al(this.buf,this.pos);return this.pos+=4,t},readSFixed32:function(){var t=sl(this.buf,this.pos);return this.pos+=4,t},readFixed64:function(){var t=al(this.buf,this.pos)+4294967296*al(this.buf,this.pos+4);return this.pos+=8,t},readSFixed64:function(){var t=al(this.buf,this.pos)+4294967296*sl(this.buf,this.pos+4);return this.pos+=8,t},readFloat:function(){var t=Vs(this.buf,this.pos,!0,23,4);return this.pos+=4,t},readDouble:function(){var t=Vs(this.buf,this.pos,!0,52,8);return this.pos+=8,t},readVarint:function(t){var e,r,n=this.buf;return e=127&(r=n[this.pos++]),r<128?e:(e|=(127&(r=n[this.pos++]))<<7,r<128?e:(e|=(127&(r=n[this.pos++]))<<14,r<128?e:(e|=(127&(r=n[this.pos++]))<<21,r<128?e:function(t,e,r){var n,i,a=r.buf;if(n=(112&(i=a[r.pos++]))>>4,i<128)return Xs(t,n,e);if(n|=(127&(i=a[r.pos++]))<<3,i<128)return Xs(t,n,e);if(n|=(127&(i=a[r.pos++]))<<10,i<128)return Xs(t,n,e);if(n|=(127&(i=a[r.pos++]))<<17,i<128)return Xs(t,n,e);if(n|=(127&(i=a[r.pos++]))<<24,i<128)return Xs(t,n,e);if(n|=(1&(i=a[r.pos++]))<<31,i<128)return Xs(t,n,e);throw new Error("Expected varint not more than 10 bytes")}(e|=(15&(r=n[this.pos]))<<28,t,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var t=this.readVarint();return t%2==1?(t+1)/-2:t/2},readBoolean:function(){return Boolean(this.readVarint())},readString:function(){var t=this.readVarint()+this.pos,e=this.pos;return this.pos=t,t-e>=12&&Ys?function(t,e,r){return Ys.decode(t.subarray(e,r))}(this.buf,e,t):function(t,e,r){for(var n="",i=e;i<r;){var a,o,s,l=t[i],c=null,u=l>239?4:l>223?3:l>191?2:1;if(i+u>r)break;1===u?l<128&&(c=l):2===u?128==(192&(a=t[i+1]))&&(c=(31&l)<<6|63&a)<=127&&(c=null):3===u?(o=t[i+2],128==(192&(a=t[i+1]))&&128==(192&o)&&((c=(15&l)<<12|(63&a)<<6|63&o)<=2047||c>=55296&&c<=57343)&&(c=null)):4===u&&(o=t[i+2],s=t[i+3],128==(192&(a=t[i+1]))&&128==(192&o)&&128==(192&s)&&((c=(15&l)<<18|(63&a)<<12|(63&o)<<6|63&s)<=65535||c>=1114112)&&(c=null)),null===c?(c=65533,u=1):c>65535&&(c-=65536,n+=String.fromCharCode(c>>>10&1023|55296),c=56320|1023&c),n+=String.fromCharCode(c),i+=u}return n}(this.buf,e,t)},readBytes:function(){var t=this.readVarint()+this.pos,e=this.buf.subarray(this.pos,t);return this.pos=t,e},readPackedVarint:function(t,e){if(this.type!==Gs.Bytes)return t.push(this.readVarint(e));var r=Ws(this);for(t=t||[];this.pos<r;)t.push(this.readVarint(e));return t},readPackedSVarint:function(t){if(this.type!==Gs.Bytes)return t.push(this.readSVarint());var e=Ws(this);for(t=t||[];this.pos<e;)t.push(this.readSVarint());return t},readPackedBoolean:function(t){if(this.type!==Gs.Bytes)return t.push(this.readBoolean());var e=Ws(this);for(t=t||[];this.pos<e;)t.push(this.readBoolean());return t},readPackedFloat:function(t){if(this.type!==Gs.Bytes)return t.push(this.readFloat());var e=Ws(this);for(t=t||[];this.pos<e;)t.push(this.readFloat());return t},readPackedDouble:function(t){if(this.type!==Gs.Bytes)return t.push(this.readDouble());var e=Ws(this);for(t=t||[];this.pos<e;)t.push(this.readDouble());return t},readPackedFixed32:function(t){if(this.type!==Gs.Bytes)return t.push(this.readFixed32());var e=Ws(this);for(t=t||[];this.pos<e;)t.push(this.readFixed32());return t},readPackedSFixed32:function(t){if(this.type!==Gs.Bytes)return t.push(this.readSFixed32());var e=Ws(this);for(t=t||[];this.pos<e;)t.push(this.readSFixed32());return t},readPackedFixed64:function(t){if(this.type!==Gs.Bytes)return t.push(this.readFixed64());var e=Ws(this);for(t=t||[];this.pos<e;)t.push(this.readFixed64());return t},readPackedSFixed64:function(t){if(this.type!==Gs.Bytes)return t.push(this.readSFixed64());var e=Ws(this);for(t=t||[];this.pos<e;)t.push(this.readSFixed64());return t},skip:function(t){var e=7&t;if(e===Gs.Varint)for(;this.buf[this.pos++]>127;);else if(e===Gs.Bytes)this.pos=this.readVarint()+this.pos;else if(e===Gs.Fixed32)this.pos+=4;else{if(e!==Gs.Fixed64)throw new Error("Unimplemented type: "+e);this.pos+=8}},writeTag:function(t,e){this.writeVarint(t<<3|e)},realloc:function(t){for(var e=this.length||16;e<this.pos+t;)e*=2;if(e!==this.length){var r=new Uint8Array(e);r.set(this.buf),this.buf=r,this.length=e}},finish:function(){return this.length=this.pos,this.pos=0,this.buf.subarray(0,this.length)},writeFixed32:function(t){this.realloc(4),ol(this.buf,t,this.pos),this.pos+=4},writeSFixed32:function(t){this.realloc(4),ol(this.buf,t,this.pos),this.pos+=4},writeFixed64:function(t){this.realloc(8),ol(this.buf,-1&t,this.pos),ol(this.buf,Math.floor(t*(1/4294967296)),this.pos+4),this.pos+=8},writeSFixed64:function(t){this.realloc(8),ol(this.buf,-1&t,this.pos),ol(this.buf,Math.floor(t*(1/4294967296)),this.pos+4),this.pos+=8},writeVarint:function(t){(t=+t||0)>268435455||t<0?function(t,e){var r,n;if(t>=0?(r=t%4294967296|0,n=t/4294967296|0):(n=~(-t/4294967296),4294967295^(r=~(-t%4294967296))?r=r+1|0:(r=0,n=n+1|0)),t>=0x10000000000000000||t<-0x10000000000000000)throw new Error("Given varint doesn't fit into 10 bytes");e.realloc(10),function(t,e,r){r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,r.buf[r.pos]=127&(t>>>=7)}(r,0,e),function(t,e){var r=(7&t)<<4;e.buf[e.pos++]|=r|((t>>>=3)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t)))))}(n,e)}(t,this):(this.realloc(4),this.buf[this.pos++]=127&t|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=t>>>7&127))))},writeSVarint:function(t){this.writeVarint(t<0?2*-t-1:2*t)},writeBoolean:function(t){this.writeVarint(Boolean(t))},writeString:function(t){t=String(t),this.realloc(4*t.length),this.pos++;var e=this.pos;this.pos=function(t,e,r){for(var n,i,a=0;a<e.length;a++){if((n=e.charCodeAt(a))>55295&&n<57344){if(!i){n>56319||a+1===e.length?(t[r++]=239,t[r++]=191,t[r++]=189):i=n;continue}if(n<56320){t[r++]=239,t[r++]=191,t[r++]=189,i=n;continue}n=i-55296<<10|n-56320|65536,i=null}else i&&(t[r++]=239,t[r++]=191,t[r++]=189,i=null);n<128?t[r++]=n:(n<2048?t[r++]=n>>6|192:(n<65536?t[r++]=n>>12|224:(t[r++]=n>>18|240,t[r++]=n>>12&63|128),t[r++]=n>>6&63|128),t[r++]=63&n|128)}return r}(this.buf,t,this.pos);var r=this.pos-e;r>=128&&Zs(e,r,this),this.pos=e-1,this.writeVarint(r),this.pos+=r},writeFloat:function(t){this.realloc(4),qs(this.buf,t,this.pos,!0,23,4),this.pos+=4},writeDouble:function(t){this.realloc(8),qs(this.buf,t,this.pos,!0,52,8),this.pos+=8},writeBytes:function(t){var e=t.length;this.writeVarint(e),this.realloc(e);for(var r=0;r<e;r++)this.buf[this.pos++]=t[r]},writeRawMessage:function(t,e){this.pos++;var r=this.pos;t(e,this);var n=this.pos-r;n>=128&&Zs(r,n,this),this.pos=r-1,this.writeVarint(n),this.pos+=n},writeMessage:function(t,e,r){this.writeTag(t,Gs.Bytes),this.writeRawMessage(e,r)},writePackedVarint:function(t,e){e.length&&this.writeMessage(t,Js,e)},writePackedSVarint:function(t,e){e.length&&this.writeMessage(t,Ks,e)},writePackedBoolean:function(t,e){e.length&&this.writeMessage(t,tl,e)},writePackedFloat:function(t,e){e.length&&this.writeMessage(t,Qs,e)},writePackedDouble:function(t,e){e.length&&this.writeMessage(t,$s,e)},writePackedFixed32:function(t,e){e.length&&this.writeMessage(t,el,e)},writePackedSFixed32:function(t,e){e.length&&this.writeMessage(t,rl,e)},writePackedFixed64:function(t,e){e.length&&this.writeMessage(t,nl,e)},writePackedSFixed64:function(t,e){e.length&&this.writeMessage(t,il,e)},writeBytesField:function(t,e){this.writeTag(t,Gs.Bytes),this.writeBytes(e)},writeFixed32Field:function(t,e){this.writeTag(t,Gs.Fixed32),this.writeFixed32(e)},writeSFixed32Field:function(t,e){this.writeTag(t,Gs.Fixed32),this.writeSFixed32(e)},writeFixed64Field:function(t,e){this.writeTag(t,Gs.Fixed64),this.writeFixed64(e)},writeSFixed64Field:function(t,e){this.writeTag(t,Gs.Fixed64),this.writeSFixed64(e)},writeVarintField:function(t,e){this.writeTag(t,Gs.Varint),this.writeVarint(e)},writeSVarintField:function(t,e){this.writeTag(t,Gs.Varint),this.writeSVarint(e)},writeStringField:function(t,e){this.writeTag(t,Gs.Bytes),this.writeString(e)},writeFloatField:function(t,e){this.writeTag(t,Gs.Fixed32),this.writeFloat(e)},writeDoubleField:function(t,e){this.writeTag(t,Gs.Fixed64),this.writeDouble(e)},writeBooleanField:function(t,e){this.writeVarintField(t,Boolean(e))}};var hl=function(t,e){var r=e.pixelRatio,n=e.version,i=e.stretchX,a=e.stretchY,o=e.content;this.paddedRect=t,this.pixelRatio=r,this.stretchX=i,this.stretchY=a,this.content=o,this.version=n},pl={tl:{configurable:!0},br:{configurable:!0},tlbr:{configurable:!0},displaySize:{configurable:!0}};pl.tl.get=function(){return[this.paddedRect.x+1,this.paddedRect.y+1]},pl.br.get=function(){return[this.paddedRect.x+this.paddedRect.w-1,this.paddedRect.y+this.paddedRect.h-1]},pl.tlbr.get=function(){return this.tl.concat(this.br)},pl.displaySize.get=function(){return[(this.paddedRect.w-2)/this.pixelRatio,(this.paddedRect.h-2)/this.pixelRatio]},Object.defineProperties(hl.prototype,pl);var dl=function(t,e){var r={},n={};this.haveRenderCallbacks=[];var i=[];this.addImages(t,r,i),this.addImages(e,n,i);var a=fl(i),o=new po({width:a.w||1,height:a.h||1});for(var s in t){var l=t[s],c=r[s].paddedRect;po.copy(l.data,o,{x:0,y:0},{x:c.x+1,y:c.y+1},l.data)}for(var u in e){var f=e[u],h=n[u].paddedRect,p=h.x+1,d=h.y+1,g=f.data.width,m=f.data.height;po.copy(f.data,o,{x:0,y:0},{x:p,y:d},f.data),po.copy(f.data,o,{x:0,y:m-1},{x:p,y:d-1},{width:g,height:1}),po.copy(f.data,o,{x:0,y:0},{x:p,y:d+m},{width:g,height:1}),po.copy(f.data,o,{x:g-1,y:0},{x:p-1,y:d},{width:1,height:m}),po.copy(f.data,o,{x:0,y:0},{x:p+g,y:d},{width:1,height:m})}this.image=o,this.iconPositions=r,this.patternPositions=n};dl.prototype.addImages=function(t,e,r){for(var n in t){var i=t[n],a={x:0,y:0,w:i.data.width+2,h:i.data.height+2};r.push(a),e[n]=new hl(a,i),i.hasRenderCallback&&this.haveRenderCallbacks.push(n)}},dl.prototype.patchUpdatedImages=function(t,e){for(var r in t.dispatchRenderCallbacks(this.haveRenderCallbacks),t.updatedImages)this.patchUpdatedImage(this.iconPositions[r],t.getImage(r),e),this.patchUpdatedImage(this.patternPositions[r],t.getImage(r),e)},dl.prototype.patchUpdatedImage=function(t,e,r){if(t&&e&&t.version!==e.version){t.version=e.version;var n=t.tl;r.update(e.data,void 0,{x:n[0],y:n[1]})}},Dn("ImagePosition",hl),Dn("ImageAtlas",dl);var gl={horizontal:1,vertical:2,horizontalOnly:3},ml=function(){this.scale=1,this.fontStack="",this.imageName=null};ml.forText=function(t,e){var r=new ml;return r.scale=t||1,r.fontStack=e,r},ml.forImage=function(t){var e=new ml;return e.imageName=t,e};var vl=function(){this.text="",this.sectionIndex=[],this.sections=[],this.imageSectionID=null};function yl(t,e,r,n,i,a,o,s,l,c,u,f,h,p,d,g){var m,v=vl.fromFeature(t,i);f===gl.vertical&&v.verticalizePunctuation();var y=ni.processBidirectionalText,x=ni.processStyledBidirectionalText;if(y&&1===v.sections.length){m=[];for(var b=0,_=y(v.toString(),Ml(v,c,a,e,n,p,d));b<_.length;b+=1){var w=_[b],T=new vl;T.text=w,T.sections=v.sections;for(var k=0;k<w.length;k++)T.sectionIndex.push(0);m.push(T)}}else if(x){m=[];for(var M=0,A=x(v.text,v.sectionIndex,Ml(v,c,a,e,n,p,d));M<A.length;M+=1){var S=A[M],E=new vl;E.text=S[0],E.sectionIndex=S[1],E.sections=v.sections,m.push(E)}}else m=function(t,e){for(var r=[],n=t.text,i=0,a=0,o=e;a<o.length;a+=1){var s=o[a];r.push(t.substring(i,s)),i=s}return i<n.length&&r.push(t.substring(i,n.length)),r}(v,Ml(v,c,a,e,n,p,d));var C=[],L={positionedLines:C,text:v.toString(),top:u[1],bottom:u[1],left:u[0],right:u[0],writingMode:f,iconsInText:!1,verticalizable:!1};return function(t,e,r,n,i,a,o,s,l,c,u,f){for(var h=0,p=-17,d=0,g=0,m="right"===s?1:"left"===s?0:.5,v=0,y=0,x=i;y<x.length;y+=1){var b=x[y];b.trim();var _=b.getMaxScale(),w=24*(_-1),T={positionedGlyphs:[],lineOffset:0};t.positionedLines[v]=T;var k=T.positionedGlyphs,M=0;if(b.length()){for(var A=0;A<b.length();A++){var S=b.getSection(A),E=b.getSectionIndex(A),C=b.getCharCode(A),L=0,I=null,P=null,z=null,O=24,D=!(l===gl.horizontal||!u&&!Hn(C)||u&&(xl[C]||(H=C,Vn.Arabic(H)||Vn["Arabic Supplement"](H)||Vn["Arabic Extended-A"](H)||Vn["Arabic Presentation Forms-A"](H)||Vn["Arabic Presentation Forms-B"](H))));if(S.imageName){var R=n[S.imageName];if(!R)continue;z=S.imageName,t.iconsInText=t.iconsInText||!0,P=R.paddedRect;var F=R.displaySize;S.scale=24*S.scale/f,L=w+(24-F[1]*S.scale),O=(I={width:F[0],height:F[1],left:1,top:-3,advance:D?F[1]:F[0]}).advance;var B=D?F[0]*S.scale-24*_:F[1]*S.scale-24*_;B>0&&B>M&&(M=B)}else{var N=r[S.fontStack],j=N&&N[C];if(j&&j.rect)P=j.rect,I=j.metrics;else{var U=e[S.fontStack],V=U&&U[C];if(!V)continue;I=V.metrics}L=24*(_-S.scale)}D?(t.verticalizable=!0,k.push({glyph:C,imageName:z,x:h,y:p+L,vertical:D,scale:S.scale,fontStack:S.fontStack,sectionIndex:E,metrics:I,rect:P}),h+=O*S.scale+c):(k.push({glyph:C,imageName:z,x:h,y:p+L,vertical:D,scale:S.scale,fontStack:S.fontStack,sectionIndex:E,metrics:I,rect:P}),h+=I.advance*S.scale+c)}0!==k.length&&(d=Math.max(h-c,d),Sl(k,0,k.length-1,m,M)),h=0;var q=a*_+M;T.lineOffset=Math.max(M,w),p+=q,g=Math.max(q,g),++v}else p+=a,++v}var H,G=p- -17,Y=Al(o),W=Y.horizontalAlign,X=Y.verticalAlign;(function(t,e,r,n,i,a,o,s,l){var c,u=(e-r)*i;c=a!==o?-s*n- -17:(-n*l+.5)*o;for(var f=0,h=t;f<h.length;f+=1)for(var p=0,d=h[f].positionedGlyphs;p<d.length;p+=1){var g=d[p];g.x+=u,g.y+=c}})(t.positionedLines,m,W,X,d,g,a,G,i.length),t.top+=-X*G,t.bottom=t.top+G,t.left+=-W*d,t.right=t.left+d}(L,e,r,n,m,o,s,l,f,c,h,g),!function(t){for(var e=0,r=t;e<r.length;e+=1)if(0!==r[e].positionedGlyphs.length)return!1;return!0}(C)&&L}vl.fromFeature=function(t,e){for(var r=new vl,n=0;n<t.sections.length;n++){var i=t.sections[n];i.image?r.addImageSection(i):r.addTextSection(i,e)}return r},vl.prototype.length=function(){return this.text.length},vl.prototype.getSection=function(t){return this.sections[this.sectionIndex[t]]},vl.prototype.getSectionIndex=function(t){return this.sectionIndex[t]},vl.prototype.getCharCode=function(t){return this.text.charCodeAt(t)},vl.prototype.verticalizePunctuation=function(){this.text=function(t){for(var e="",r=0;r<t.length;r++){var n=t.charCodeAt(r+1)||null,i=t.charCodeAt(r-1)||null;e+=n&&Gn(n)&&!Us[t[r+1]]||i&&Gn(i)&&!Us[t[r-1]]||!Us[t[r]]?t[r]:Us[t[r]]}return e}(this.text)},vl.prototype.trim=function(){for(var t=0,e=0;e<this.text.length&&xl[this.text.charCodeAt(e)];e++)t++;for(var r=this.text.length,n=this.text.length-1;n>=0&&n>=t&&xl[this.text.charCodeAt(n)];n--)r--;this.text=this.text.substring(t,r),this.sectionIndex=this.sectionIndex.slice(t,r)},vl.prototype.substring=function(t,e){var r=new vl;return r.text=this.text.substring(t,e),r.sectionIndex=this.sectionIndex.slice(t,e),r.sections=this.sections,r},vl.prototype.toString=function(){return this.text},vl.prototype.getMaxScale=function(){var t=this;return this.sectionIndex.reduce((function(e,r){return Math.max(e,t.sections[r].scale)}),0)},vl.prototype.addTextSection=function(t,e){this.text+=t.text,this.sections.push(ml.forText(t.scale,t.fontStack||e));for(var r=this.sections.length-1,n=0;n<t.text.length;++n)this.sectionIndex.push(r)},vl.prototype.addImageSection=function(t){var e=t.image?t.image.name:"";if(0!==e.length){var r=this.getNextImageSectionCharCode();r?(this.text+=String.fromCharCode(r),this.sections.push(ml.forImage(e)),this.sectionIndex.push(this.sections.length-1)):_("Reached maximum number of images 6401")}else _("Can't add FormattedSection with an empty image.")},vl.prototype.getNextImageSectionCharCode=function(){return this.imageSectionID?this.imageSectionID>=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)};var xl={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},bl={};function _l(t,e,r,n,i,a){if(e.imageName){var o=n[e.imageName];return o?o.displaySize[0]*e.scale*24/a+i:0}var s=r[e.fontStack],l=s&&s[t];return l?l.metrics.advance*e.scale+i:0}function wl(t,e,r,n){var i=Math.pow(t-e,2);return n?t<e?i/2:2*i:i+Math.abs(r)*r}function Tl(t,e,r){var n=0;return 10===t&&(n-=1e4),r&&(n+=150),40!==t&&65288!==t||(n+=50),41!==e&&65289!==e||(n+=50),n}function kl(t,e,r,n,i,a){for(var o=null,s=wl(e,r,i,a),l=0,c=n;l<c.length;l+=1){var u=c[l],f=wl(e-u.x,r,i,a)+u.badness;f<=s&&(o=u,s=f)}return{index:t,x:e,priorBreak:o,badness:s}}function Ml(t,e,r,n,i,a,o){if("point"!==a)return[];if(!t)return[];for(var s,l=[],c=function(t,e,r,n,i,a){for(var o=0,s=0;s<t.length();s++){var l=t.getSection(s);o+=_l(t.getCharCode(s),l,n,i,e,a)}return o/Math.max(1,Math.ceil(o/r))}(t,e,r,n,i,o),u=t.text.indexOf("\u200b")>=0,f=0,h=0;h<t.length();h++){var p=t.getSection(h),d=t.getCharCode(h);if(xl[d]||(f+=_l(d,p,n,i,e,o)),h<t.length()-1){var g=!((s=d)<11904||!(Vn["Bopomofo Extended"](s)||Vn.Bopomofo(s)||Vn["CJK Compatibility Forms"](s)||Vn["CJK Compatibility Ideographs"](s)||Vn["CJK Compatibility"](s)||Vn["CJK Radicals Supplement"](s)||Vn["CJK Strokes"](s)||Vn["CJK Symbols and Punctuation"](s)||Vn["CJK Unified Ideographs Extension A"](s)||Vn["CJK Unified Ideographs"](s)||Vn["Enclosed CJK Letters and Months"](s)||Vn["Halfwidth and Fullwidth Forms"](s)||Vn.Hiragana(s)||Vn["Ideographic Description Characters"](s)||Vn["Kangxi Radicals"](s)||Vn["Katakana Phonetic Extensions"](s)||Vn.Katakana(s)||Vn["Vertical Forms"](s)||Vn["Yi Radicals"](s)||Vn["Yi Syllables"](s)));(bl[d]||g||p.imageName)&&l.push(kl(h+1,f,c,l,Tl(d,t.getCharCode(h+1),g&&u),!1))}}return function t(e){return e?t(e.priorBreak).concat(e.index):[]}(kl(t.length(),f,c,l,0,!0))}function Al(t){var e=.5,r=.5;switch(t){case"right":case"top-right":case"bottom-right":e=1;break;case"left":case"top-left":case"bottom-left":e=0}switch(t){case"bottom":case"bottom-right":case"bottom-left":r=1;break;case"top":case"top-right":case"top-left":r=0}return{horizontalAlign:e,verticalAlign:r}}function Sl(t,e,r,n,i){if(n||i)for(var a=t[r],o=(t[r].x+a.metrics.advance*a.scale)*n,s=e;s<=r;s++)t[s].x-=o,t[s].y+=i}function El(t,e,r,n,i,a){var o,s=t.image;if(s.content){var l=s.content,c=s.pixelRatio||1;o=[l[0]/c,l[1]/c,s.displaySize[0]-l[2]/c,s.displaySize[1]-l[3]/c]}var u,f,h,p,d=e.left*a,g=e.right*a;"width"===r||"both"===r?(p=i[0]+d-n[3],f=i[0]+g+n[1]):f=(p=i[0]+(d+g-s.displaySize[0])/2)+s.displaySize[0];var m=e.top*a,v=e.bottom*a;return"height"===r||"both"===r?(u=i[1]+m-n[0],h=i[1]+v+n[2]):h=(u=i[1]+(m+v-s.displaySize[1])/2)+s.displaySize[1],{image:s,top:u,right:f,bottom:h,left:p,collisionPadding:o}}bl[10]=!0,bl[32]=!0,bl[38]=!0,bl[40]=!0,bl[41]=!0,bl[43]=!0,bl[45]=!0,bl[47]=!0,bl[173]=!0,bl[183]=!0,bl[8203]=!0,bl[8208]=!0,bl[8211]=!0,bl[8231]=!0;var Cl=function(t){function e(e,r,n,i){t.call(this,e,r),this.angle=n,void 0!==i&&(this.segment=i)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.clone=function(){return new e(this.x,this.y,this.angle,this.segment)},e}(i);function Ll(t,e){var r=e.expression;if("constant"===r.kind)return{kind:"constant",layoutSize:r.evaluate(new ii(t+1))};if("source"===r.kind)return{kind:"source"};for(var n=r.zoomStops,i=r.interpolationType,a=0;a<n.length&&n[a]<=t;)a++;for(var o=a=Math.max(0,a-1);o<n.length&&n[o]<t+1;)o++;o=Math.min(n.length-1,o);var s=n[a],l=n[o];return"composite"===r.kind?{kind:"composite",minZoom:s,maxZoom:l,interpolationType:i}:{kind:"camera",minZoom:s,maxZoom:l,minSize:r.evaluate(new ii(s)),maxSize:r.evaluate(new ii(l)),interpolationType:i}}function Il(t,e,r){var n=e.uSize,i=r.lowerSize;return"source"===t.kind?i/128:"composite"===t.kind?Ue(i/128,r.upperSize/128,e.uSizeT):n}function Pl(t,e){var r=0,n=0;if("constant"===t.kind)n=t.layoutSize;else if("source"!==t.kind){var i=t.interpolationType,a=i?l(rr.interpolationFactor(i,e,t.minZoom,t.maxZoom),0,1):0;"camera"===t.kind?n=Ue(t.minSize,t.maxSize,a):r=a}return{uSizeT:r,uSize:n}}Dn("Anchor",Cl);var zl=Object.freeze({__proto__:null,getSizeData:Ll,evaluateSizeForFeature:Il,evaluateSizeForZoom:Pl,SIZE_PACK_FACTOR:128});function Ol(t,e,r,n,i){if(void 0===e.segment)return!0;for(var a=e,o=e.segment+1,s=0;s>-r/2;){if(--o<0)return!1;s-=t[o].dist(a),a=t[o]}s+=t[o].dist(t[o+1]),o++;for(var l=[],c=0;s<r/2;){var u=t[o],f=t[o+1];if(!f)return!1;var h=t[o-1].angleTo(u)-u.angleTo(f);for(h=Math.abs((h+3*Math.PI)%(2*Math.PI)-Math.PI),l.push({distance:s,angleDelta:h}),c+=h;s-l[0].distance>n;)c-=l.shift().angleDelta;if(c>i)return!1;o++,s+=u.dist(f)}return!0}function Dl(t){for(var e=0,r=0;r<t.length-1;r++)e+=t[r].dist(t[r+1]);return e}function Rl(t,e,r){return t?.6*e*r:0}function Fl(t,e){return Math.max(t?t.right-t.left:0,e?e.right-e.left:0)}function Bl(t,e,r,n,i,a){for(var o=Rl(r,i,a),s=Fl(r,n)*a,l=0,c=Dl(t)/2,u=0;u<t.length-1;u++){var f=t[u],h=t[u+1],p=f.dist(h);if(l+p>c){var d=(c-l)/p,g=Ue(f.x,h.x,d),m=Ue(f.y,h.y,d),v=new Cl(g,m,h.angleTo(f),u);return v._round(),!o||Ol(t,v,s,o,e)?v:void 0}l+=p}}function Nl(t,e,r,n,i,a,o,s,l){var c=Rl(n,a,o),u=Fl(n,i),f=u*o,h=0===t[0].x||t[0].x===l||0===t[0].y||t[0].y===l;return e-f<e/4&&(e=f+e/4),function t(e,r,n,i,a,o,s,l,c){for(var u=o/2,f=Dl(e),h=0,p=r-n,d=[],g=0;g<e.length-1;g++){for(var m=e[g],v=e[g+1],y=m.dist(v),x=v.angleTo(m);p+n<h+y;){var b=((p+=n)-h)/y,_=Ue(m.x,v.x,b),w=Ue(m.y,v.y,b);if(_>=0&&_<c&&w>=0&&w<c&&p-u>=0&&p+u<=f){var T=new Cl(_,w,x,g);T._round(),i&&!Ol(e,T,o,i,a)||d.push(T)}}h+=y}return l||d.length||s||(d=t(e,h/2,n,i,a,o,s,!0,c)),d}(t,h?e/2*s%e:(u/2+2*a)*o*s%e,e,c,r,f,h,!1,l)}function jl(t,e,r,n,a){for(var o=[],s=0;s<t.length;s++)for(var l=t[s],c=void 0,u=0;u<l.length-1;u++){var f=l[u],h=l[u+1];f.x<e&&h.x<e||(f.x<e?f=new i(e,f.y+(e-f.x)/(h.x-f.x)*(h.y-f.y))._round():h.x<e&&(h=new i(e,f.y+(e-f.x)/(h.x-f.x)*(h.y-f.y))._round()),f.y<r&&h.y<r||(f.y<r?f=new i(f.x+(r-f.y)/(h.y-f.y)*(h.x-f.x),r)._round():h.y<r&&(h=new i(f.x+(r-f.y)/(h.y-f.y)*(h.x-f.x),r)._round()),f.x>=n&&h.x>=n||(f.x>=n?f=new i(n,f.y+(n-f.x)/(h.x-f.x)*(h.y-f.y))._round():h.x>=n&&(h=new i(n,f.y+(n-f.x)/(h.x-f.x)*(h.y-f.y))._round()),f.y>=a&&h.y>=a||(f.y>=a?f=new i(f.x+(a-f.y)/(h.y-f.y)*(h.x-f.x),a)._round():h.y>=a&&(h=new i(f.x+(a-f.y)/(h.y-f.y)*(h.x-f.x),a)._round()),c&&f.equals(c[c.length-1])||o.push(c=[f]),c.push(h)))))}return o}function Ul(t,e,r,n){var a=[],o=t.image,s=o.pixelRatio,l=o.paddedRect.w-2,c=o.paddedRect.h-2,u=t.right-t.left,f=t.bottom-t.top,h=o.stretchX||[[0,l]],p=o.stretchY||[[0,c]],d=function(t,e){return t+e[1]-e[0]},g=h.reduce(d,0),m=p.reduce(d,0),v=l-g,y=c-m,x=0,b=g,_=0,w=m,T=0,k=v,M=0,A=y;if(o.content&&n){var S=o.content;x=Vl(h,0,S[0]),_=Vl(p,0,S[1]),b=Vl(h,S[0],S[2]),w=Vl(p,S[1],S[3]),T=S[0]-x,M=S[1]-_,k=S[2]-S[0]-b,A=S[3]-S[1]-w}var E=function(n,a,l,c){var h=Hl(n.stretch-x,b,u,t.left),p=Gl(n.fixed-T,k,n.stretch,g),d=Hl(a.stretch-_,w,f,t.top),v=Gl(a.fixed-M,A,a.stretch,m),y=Hl(l.stretch-x,b,u,t.left),S=Gl(l.fixed-T,k,l.stretch,g),E=Hl(c.stretch-_,w,f,t.top),C=Gl(c.fixed-M,A,c.stretch,m),L=new i(h,d),I=new i(y,d),P=new i(y,E),z=new i(h,E),O=new i(p/s,v/s),D=new i(S/s,C/s),R=e*Math.PI/180;if(R){var F=Math.sin(R),B=Math.cos(R),N=[B,-F,F,B];L._matMult(N),I._matMult(N),z._matMult(N),P._matMult(N)}var j=n.stretch+n.fixed,U=a.stretch+a.fixed;return{tl:L,tr:I,bl:z,br:P,tex:{x:o.paddedRect.x+1+j,y:o.paddedRect.y+1+U,w:l.stretch+l.fixed-j,h:c.stretch+c.fixed-U},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:O,pixelOffsetBR:D,minFontScaleX:k/s/u,minFontScaleY:A/s/f,isSDF:r}};if(n&&(o.stretchX||o.stretchY))for(var C=ql(h,v,g),L=ql(p,y,m),I=0;I<C.length-1;I++)for(var P=C[I],z=C[I+1],O=0;O<L.length-1;O++)a.push(E(P,L[O],z,L[O+1]));else a.push(E({fixed:0,stretch:-1},{fixed:0,stretch:-1},{fixed:0,stretch:l+1},{fixed:0,stretch:c+1}));return a}function Vl(t,e,r){for(var n=0,i=0,a=t;i<a.length;i+=1){var o=a[i];n+=Math.max(e,Math.min(r,o[1]))-Math.max(e,Math.min(r,o[0]))}return n}function ql(t,e,r){for(var n=[{fixed:-1,stretch:0}],i=0,a=t;i<a.length;i+=1){var o=a[i],s=o[0],l=o[1],c=n[n.length-1];n.push({fixed:s-c.stretch,stretch:c.stretch}),n.push({fixed:s-c.stretch,stretch:c.stretch+(l-s)})}return n.push({fixed:e+1,stretch:r}),n}function Hl(t,e,r,n){return t/e*r+n}function Gl(t,e,r,n){return t-e*r/n}var Yl=function(t,e,r,n,a,o,s,l,c,u){if(this.boxStartIndex=t.length,c){var f=o.top,h=o.bottom,p=o.collisionPadding;p&&(f-=p[1],h+=p[3]);var d=h-f;d>0&&(d=Math.max(10,d),this.circleDiameter=d)}else{var g=o.top*s-l,m=o.bottom*s+l,v=o.left*s-l,y=o.right*s+l,x=o.collisionPadding;if(x&&(v-=x[0]*s,g-=x[1]*s,y+=x[2]*s,m+=x[3]*s),u){var b=new i(v,g),_=new i(y,g),w=new i(v,m),T=new i(y,m),k=u*Math.PI/180;b._rotate(k),_._rotate(k),w._rotate(k),T._rotate(k),v=Math.min(b.x,_.x,w.x,T.x),y=Math.max(b.x,_.x,w.x,T.x),g=Math.min(b.y,_.y,w.y,T.y),m=Math.max(b.y,_.y,w.y,T.y)}t.emplaceBack(e.x,e.y,v,g,y,m,r,n,a)}this.boxEndIndex=t.length},Wl=function(t,e){if(void 0===t&&(t=[]),void 0===e&&(e=Xl),this.data=t,this.length=this.data.length,this.compare=e,this.length>0)for(var r=(this.length>>1)-1;r>=0;r--)this._down(r)};function Xl(t,e){return t<e?-1:t>e?1:0}function Zl(t,e,r){void 0===e&&(e=1),void 0===r&&(r=!1);for(var n=1/0,a=1/0,o=-1/0,s=-1/0,l=t[0],c=0;c<l.length;c++){var u=l[c];(!c||u.x<n)&&(n=u.x),(!c||u.y<a)&&(a=u.y),(!c||u.x>o)&&(o=u.x),(!c||u.y>s)&&(s=u.y)}var f=Math.min(o-n,s-a),h=f/2,p=new Wl([],Jl);if(0===f)return new i(n,a);for(var d=n;d<o;d+=f)for(var g=a;g<s;g+=f)p.push(new Kl(d+h,g+h,h,t));for(var m=function(t){for(var e=0,r=0,n=0,i=t[0],a=0,o=i.length,s=o-1;a<o;s=a++){var l=i[a],c=i[s],u=l.x*c.y-c.x*l.y;r+=(l.x+c.x)*u,n+=(l.y+c.y)*u,e+=3*u}return new Kl(r/e,n/e,0,t)}(t),v=p.length;p.length;){var y=p.pop();(y.d>m.d||!m.d)&&(m=y,r&&console.log("found best %d after %d probes",Math.round(1e4*y.d)/1e4,v)),y.max-m.d<=e||(p.push(new Kl(y.p.x-(h=y.h/2),y.p.y-h,h,t)),p.push(new Kl(y.p.x+h,y.p.y-h,h,t)),p.push(new Kl(y.p.x-h,y.p.y+h,h,t)),p.push(new Kl(y.p.x+h,y.p.y+h,h,t)),v+=4)}return r&&(console.log("num probes: "+v),console.log("best distance: "+m.d)),m.p}function Jl(t,e){return e.max-t.max}function Kl(t,e,r,n){this.p=new i(t,e),this.h=r,this.d=function(t,e){for(var r=!1,n=1/0,i=0;i<e.length;i++)for(var a=e[i],o=0,s=a.length,l=s-1;o<s;l=o++){var c=a[o],u=a[l];c.y>t.y!=u.y>t.y&&t.x<(u.x-c.x)*(t.y-c.y)/(u.y-c.y)+c.x&&(r=!r),n=Math.min(n,Ga(t,c,u))}return(r?1:-1)*Math.sqrt(n)}(this.p,n),this.max=this.d+this.h*Math.SQRT2}Wl.prototype.push=function(t){this.data.push(t),this.length++,this._up(this.length-1)},Wl.prototype.pop=function(){if(0!==this.length){var t=this.data[0],e=this.data.pop();return this.length--,this.length>0&&(this.data[0]=e,this._down(0)),t}},Wl.prototype.peek=function(){return this.data[0]},Wl.prototype._up=function(t){for(var e=this.data,r=this.compare,n=e[t];t>0;){var i=t-1>>1,a=e[i];if(r(n,a)>=0)break;e[t]=a,t=i}e[t]=n},Wl.prototype._down=function(t){for(var e=this.data,r=this.compare,n=this.length>>1,i=e[t];t<n;){var a=1+(t<<1),o=e[a],s=a+1;if(s<this.length&&r(e[s],o)<0&&(a=s,o=e[s]),r(o,i)>=0)break;e[t]=o,t=a}e[t]=i};var Ql=Number.POSITIVE_INFINITY;function $l(t,e){return e[1]!==Ql?function(t,e,r){var n=0,i=0;switch(e=Math.abs(e),r=Math.abs(r),t){case"top-right":case"top-left":case"top":i=r-7;break;case"bottom-right":case"bottom-left":case"bottom":i=7-r}switch(t){case"top-right":case"bottom-right":case"right":n=-e;break;case"top-left":case"bottom-left":case"left":n=e}return[n,i]}(t,e[0],e[1]):function(t,e){var r=0,n=0;e<0&&(e=0);var i=e/Math.sqrt(2);switch(t){case"top-right":case"top-left":n=i-7;break;case"bottom-right":case"bottom-left":n=7-i;break;case"bottom":n=7-e;break;case"top":n=e-7}switch(t){case"top-right":case"bottom-right":r=-i;break;case"top-left":case"bottom-left":r=i;break;case"left":r=e;break;case"right":r=-e}return[r,n]}(t,e[0])}function tc(t){switch(t){case"right":case"top-right":case"bottom-right":return"right";case"left":case"top-left":case"bottom-left":return"left"}return"center"}function ec(t,e,r,n,a,o,s,l,c,u,f,h,p,d,g){var m=function(t,e,r,n,a,o,s,l){for(var c=n.layout.get("text-rotate").evaluate(o,{})*Math.PI/180,u=[],f=0,h=e.positionedLines;f<h.length;f+=1)for(var p=h[f],d=0,g=p.positionedGlyphs;d<g.length;d+=1){var m=g[d];if(m.rect){var v=m.rect||{},y=4,x=!0,b=1,_=0,w=(a||l)&&m.vertical,T=m.metrics.advance*m.scale/2;if(l&&e.verticalizable&&(_=p.lineOffset/2-(m.imageName?-(24-m.metrics.width*m.scale)/2:24*(m.scale-1))),m.imageName){var k=s[m.imageName];x=k.sdf,y=1/(b=k.pixelRatio)}var M=a?[m.x+T,m.y]:[0,0],A=a?[0,0]:[m.x+T+r[0],m.y+r[1]-_],S=[0,0];w&&(S=A,A=[0,0]);var E=(m.metrics.left-y)*m.scale-T+A[0],C=(-m.metrics.top-y)*m.scale+A[1],L=E+v.w*m.scale/b,I=C+v.h*m.scale/b,P=new i(E,C),z=new i(L,C),O=new i(E,I),D=new i(L,I);if(w){var R=new i(-T,T- -17),F=-Math.PI/2,B=12-T,N=new i(22-B,-(m.imageName?B:0)),j=new(Function.prototype.bind.apply(i,[null].concat(S)));P._rotateAround(F,R)._add(N)._add(j),z._rotateAround(F,R)._add(N)._add(j),O._rotateAround(F,R)._add(N)._add(j),D._rotateAround(F,R)._add(N)._add(j)}if(c){var U=Math.sin(c),V=Math.cos(c),q=[V,-U,U,V];P._matMult(q),z._matMult(q),O._matMult(q),D._matMult(q)}var H=new i(0,0),G=new i(0,0);u.push({tl:P,tr:z,bl:O,br:D,tex:v,writingMode:e.writingMode,glyphOffset:M,sectionIndex:m.sectionIndex,isSDF:x,pixelOffsetTL:H,pixelOffsetBR:G,minFontScaleX:0,minFontScaleY:0})}}return u}(0,r,l,a,o,s,n,t.allowVerticalPlacement),v=t.textSizeData,y=null;"source"===v.kind?(y=[128*a.layout.get("text-size").evaluate(s,{})])[0]>32640&&_(t.layerIds[0]+': Value for "text-size" is >= 255. Reduce your "text-size".'):"composite"===v.kind&&((y=[128*d.compositeTextSizes[0].evaluate(s,{},g),128*d.compositeTextSizes[1].evaluate(s,{},g)])[0]>32640||y[1]>32640)&&_(t.layerIds[0]+': Value for "text-size" is >= 255. Reduce your "text-size".'),t.addSymbols(t.text,m,y,l,o,s,u,e,c.lineStartIndex,c.lineLength,p,g);for(var x=0,b=f;x<b.length;x+=1)h[b[x]]=t.text.placedSymbolArray.length-1;return 4*m.length}function rc(t){for(var e in t)return t[e];return null}function nc(t,e,r,n){var i=t.compareText;if(e in i){for(var a=i[e],o=a.length-1;o>=0;o--)if(n.dist(a[o])<r)return!0}else i[e]=[];return i[e].push(n),!1}var ic=gs.VectorTileFeature.types,ac=[{name:"a_fade_opacity",components:1,type:"Uint8",offset:0}];function oc(t,e,r,n,i,a,o,s,l,c,u,f,h){var p=s?Math.min(32640,Math.round(s[0])):0,d=s?Math.min(32640,Math.round(s[1])):0;t.emplaceBack(e,r,Math.round(32*n),Math.round(32*i),a,o,(p<<1)+(l?1:0),d,16*c,16*u,256*f,256*h)}function sc(t,e,r){t.emplaceBack(e.x,e.y,r),t.emplaceBack(e.x,e.y,r),t.emplaceBack(e.x,e.y,r),t.emplaceBack(e.x,e.y,r)}function lc(t){for(var e=0,r=t.sections;e<r.length;e+=1)if(Xn(r[e].text))return!0;return!1}var cc=function(t){this.layoutVertexArray=new Li,this.indexArray=new Fi,this.programConfigurations=t,this.segments=new ia,this.dynamicLayoutVertexArray=new Ii,this.opacityVertexArray=new Pi,this.placedSymbolArray=new Ji};cc.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length&&0===this.indexArray.length&&0===this.dynamicLayoutVertexArray.length&&0===this.opacityVertexArray.length},cc.prototype.upload=function(t,e,r,n){this.isEmpty()||(r&&(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,Ds.members),this.indexBuffer=t.createIndexBuffer(this.indexArray,e),this.dynamicLayoutVertexBuffer=t.createVertexBuffer(this.dynamicLayoutVertexArray,Rs.members,!0),this.opacityVertexBuffer=t.createVertexBuffer(this.opacityVertexArray,ac,!0),this.opacityVertexBuffer.itemSize=1),(r||n)&&this.programConfigurations.upload(t))},cc.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.dynamicLayoutVertexBuffer.destroy(),this.opacityVertexBuffer.destroy())},Dn("SymbolBuffers",cc);var uc=function(t,e,r){this.layoutVertexArray=new t,this.layoutAttributes=e,this.indexArray=new r,this.segments=new ia,this.collisionVertexArray=new Ri};uc.prototype.upload=function(t){this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,this.layoutAttributes),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.collisionVertexBuffer=t.createVertexBuffer(this.collisionVertexArray,Fs.members,!0)},uc.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.collisionVertexBuffer.destroy())},Dn("CollisionBuffers",uc);var fc=function(t){this.collisionBoxArray=t.collisionBoxArray,this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((function(t){return t.id})),this.index=t.index,this.pixelRatio=t.pixelRatio,this.sourceLayerIndex=t.sourceLayerIndex,this.hasPattern=!1,this.hasRTLText=!1,this.sortKeyRanges=[],this.collisionCircleArray=[],this.placementInvProjMatrix=eo([]),this.placementViewportMatrix=eo([]);var e=this.layers[0]._unevaluatedLayout._values;this.textSizeData=Ll(this.zoom,e["text-size"]),this.iconSizeData=Ll(this.zoom,e["icon-size"]);var r=this.layers[0].layout,n=r.get("symbol-sort-key"),i=r.get("symbol-z-order");this.sortFeaturesByKey="viewport-y"!==i&&void 0!==n.constantOr(1),this.sortFeaturesByY=("viewport-y"===i||"auto"===i&&!this.sortFeaturesByKey)&&(r.get("text-allow-overlap")||r.get("icon-allow-overlap")||r.get("text-ignore-placement")||r.get("icon-ignore-placement")),"point"===r.get("symbol-placement")&&(this.writingModes=r.get("text-writing-mode").map((function(t){return gl[t]}))),this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id})),this.sourceID=t.sourceID};fc.prototype.createArrays=function(){this.text=new cc(new Ia(Ds.members,this.layers,this.zoom,(function(t){return/^text/.test(t)}))),this.icon=new cc(new Ia(Ds.members,this.layers,this.zoom,(function(t){return/^icon/.test(t)}))),this.glyphOffsetArray=new $i,this.lineVertexArray=new ta,this.symbolInstances=new Qi},fc.prototype.calculateGlyphDependencies=function(t,e,r,n,i){for(var a=0;a<t.length;a++)if(e[t.charCodeAt(a)]=!0,(r||n)&&i){var o=Us[t.charAt(a)];o&&(e[o.charCodeAt(0)]=!0)}},fc.prototype.populate=function(t,e,r){var n=this.layers[0],i=n.layout,a=i.get("text-font"),o=i.get("text-field"),s=i.get("icon-image"),l=("constant"!==o.value.kind||o.value.value instanceof te&&!o.value.value.isEmpty()||o.value.value.toString().length>0)&&("constant"!==a.value.kind||a.value.value.length>0),c="constant"!==s.value.kind||!!s.value.value||Object.keys(s.parameters).length>0,u=i.get("symbol-sort-key");if(this.features=[],l||c){for(var f=e.iconDependencies,h=e.glyphDependencies,p=e.availableImages,d=new ii(this.zoom),g=0,m=t;g<m.length;g+=1){var v=m[g],y=v.feature,x=v.id,b=v.index,_=v.sourceLayerIndex,w=n._featureFilter.needGeometry,T={type:y.type,id:x,properties:y.properties,geometry:w?Da(y):[]};if(n._featureFilter.filter(d,T,r)){w||(T.geometry=Da(y));var k=void 0;if(l){var M=n.getValueAndResolveTokens("text-field",T,r,p),A=te.factory(M);lc(A)&&(this.hasRTLText=!0),(!this.hasRTLText||"unavailable"===ei()||this.hasRTLText&&ni.isParsed())&&(k=js(A,n,T))}var S=void 0;if(c){var E=n.getValueAndResolveTokens("icon-image",T,r,p);S=E instanceof ee?E:ee.fromString(E)}if(k||S){var C=this.sortFeaturesByKey?u.evaluate(T,{},r):void 0,L={id:x,text:k,icon:S,index:b,sourceLayerIndex:_,geometry:Da(y),properties:y.properties,type:ic[y.type],sortKey:C};if(this.features.push(L),S&&(f[S.name]=!0),k){var I=a.evaluate(T,{},r).join(","),P="map"===i.get("text-rotation-alignment")&&"point"!==i.get("symbol-placement");this.allowVerticalPlacement=this.writingModes&&this.writingModes.indexOf(gl.vertical)>=0;for(var z=0,O=k.sections;z<O.length;z+=1){var D=O[z];if(D.image)f[D.image.name]=!0;else{var R=qn(k.toString()),F=D.fontStack||I,B=h[F]=h[F]||{};this.calculateGlyphDependencies(D.text,B,P,this.allowVerticalPlacement,R)}}}}}}"line"===i.get("symbol-placement")&&(this.features=function(t){var e={},r={},n=[],i=0;function a(e){n.push(t[e]),i++}function o(t,e,i){var a=r[t];return delete r[t],r[e]=a,n[a].geometry[0].pop(),n[a].geometry[0]=n[a].geometry[0].concat(i[0]),a}function s(t,r,i){var a=e[r];return delete e[r],e[t]=a,n[a].geometry[0].shift(),n[a].geometry[0]=i[0].concat(n[a].geometry[0]),a}function l(t,e,r){var n=r?e[0][e[0].length-1]:e[0][0];return t+":"+n.x+":"+n.y}for(var c=0;c<t.length;c++){var u=t[c],f=u.geometry,h=u.text?u.text.toString():null;if(h){var p=l(h,f),d=l(h,f,!0);if(p in r&&d in e&&r[p]!==e[d]){var g=s(p,d,f),m=o(p,d,n[g].geometry);delete e[p],delete r[d],r[l(h,n[m].geometry,!0)]=m,n[g].geometry=null}else p in r?o(p,d,f):d in e?s(p,d,f):(a(c),e[p]=i-1,r[d]=i-1)}else a(c)}return n.filter((function(t){return t.geometry}))}(this.features)),this.sortFeaturesByKey&&this.features.sort((function(t,e){return t.sortKey-e.sortKey}))}},fc.prototype.update=function(t,e,r){this.stateDependentLayers.length&&(this.text.programConfigurations.updatePaintArrays(t,e,this.layers,r),this.icon.programConfigurations.updatePaintArrays(t,e,this.layers,r))},fc.prototype.isEmpty=function(){return 0===this.symbolInstances.length&&!this.hasRTLText},fc.prototype.uploadPending=function(){return!this.uploaded||this.text.programConfigurations.needsUpload||this.icon.programConfigurations.needsUpload},fc.prototype.upload=function(t){!this.uploaded&&this.hasDebugData()&&(this.textCollisionBox.upload(t),this.iconCollisionBox.upload(t)),this.text.upload(t,this.sortFeaturesByY,!this.uploaded,this.text.programConfigurations.needsUpload),this.icon.upload(t,this.sortFeaturesByY,!this.uploaded,this.icon.programConfigurations.needsUpload),this.uploaded=!0},fc.prototype.destroyDebugData=function(){this.textCollisionBox.destroy(),this.iconCollisionBox.destroy()},fc.prototype.destroy=function(){this.text.destroy(),this.icon.destroy(),this.hasDebugData()&&this.destroyDebugData()},fc.prototype.addToLineVertexArray=function(t,e){var r=this.lineVertexArray.length;if(void 0!==t.segment){for(var n=t.dist(e[t.segment+1]),i=t.dist(e[t.segment]),a={},o=t.segment+1;o<e.length;o++)a[o]={x:e[o].x,y:e[o].y,tileUnitDistanceFromAnchor:n},o<e.length-1&&(n+=e[o+1].dist(e[o]));for(var s=t.segment||0;s>=0;s--)a[s]={x:e[s].x,y:e[s].y,tileUnitDistanceFromAnchor:i},s>0&&(i+=e[s-1].dist(e[s]));for(var l=0;l<e.length;l++){var c=a[l];this.lineVertexArray.emplaceBack(c.x,c.y,c.tileUnitDistanceFromAnchor)}}return{lineStartIndex:r,lineLength:this.lineVertexArray.length-r}},fc.prototype.addSymbols=function(t,e,r,n,i,a,o,s,l,c,u,f){for(var h=t.indexArray,p=t.layoutVertexArray,d=t.segments.prepareSegment(4*e.length,p,h,a.sortKey),g=this.glyphOffsetArray.length,m=d.vertexLength,v=this.allowVerticalPlacement&&o===gl.vertical?Math.PI/2:0,y=a.text&&a.text.sections,x=0;x<e.length;x++){var b=e[x],_=b.tl,w=b.tr,T=b.bl,k=b.br,M=b.tex,A=b.pixelOffsetTL,S=b.pixelOffsetBR,E=b.minFontScaleX,C=b.minFontScaleY,L=b.glyphOffset,I=b.isSDF,P=b.sectionIndex,z=d.vertexLength,O=L[1];oc(p,s.x,s.y,_.x,O+_.y,M.x,M.y,r,I,A.x,A.y,E,C),oc(p,s.x,s.y,w.x,O+w.y,M.x+M.w,M.y,r,I,S.x,A.y,E,C),oc(p,s.x,s.y,T.x,O+T.y,M.x,M.y+M.h,r,I,A.x,S.y,E,C),oc(p,s.x,s.y,k.x,O+k.y,M.x+M.w,M.y+M.h,r,I,S.x,S.y,E,C),sc(t.dynamicLayoutVertexArray,s,v),h.emplaceBack(z,z+1,z+2),h.emplaceBack(z+1,z+2,z+3),d.vertexLength+=4,d.primitiveLength+=2,this.glyphOffsetArray.emplaceBack(L[0]),x!==e.length-1&&P===e[x+1].sectionIndex||t.programConfigurations.populatePaintArrays(p.length,a,a.index,{},f,y&&y[P])}t.placedSymbolArray.emplaceBack(s.x,s.y,g,this.glyphOffsetArray.length-g,m,l,c,s.segment,r?r[0]:0,r?r[1]:0,n[0],n[1],o,0,!1,0,u)},fc.prototype._addCollisionDebugVertex=function(t,e,r,n,i,a){return e.emplaceBack(0,0),t.emplaceBack(r.x,r.y,n,i,Math.round(a.x),Math.round(a.y))},fc.prototype.addCollisionDebugVertices=function(t,e,r,n,a,o,s){var l=a.segments.prepareSegment(4,a.layoutVertexArray,a.indexArray),c=l.vertexLength,u=a.layoutVertexArray,f=a.collisionVertexArray,h=s.anchorX,p=s.anchorY;this._addCollisionDebugVertex(u,f,o,h,p,new i(t,e)),this._addCollisionDebugVertex(u,f,o,h,p,new i(r,e)),this._addCollisionDebugVertex(u,f,o,h,p,new i(r,n)),this._addCollisionDebugVertex(u,f,o,h,p,new i(t,n)),l.vertexLength+=4;var d=a.indexArray;d.emplaceBack(c,c+1),d.emplaceBack(c+1,c+2),d.emplaceBack(c+2,c+3),d.emplaceBack(c+3,c),l.primitiveLength+=4},fc.prototype.addDebugCollisionBoxes=function(t,e,r,n){for(var i=t;i<e;i++){var a=this.collisionBoxArray.get(i);this.addCollisionDebugVertices(a.x1,a.y1,a.x2,a.y2,n?this.textCollisionBox:this.iconCollisionBox,a.anchorPoint,r)}},fc.prototype.generateCollisionDebugBuffers=function(){this.hasDebugData()&&this.destroyDebugData(),this.textCollisionBox=new uc(Oi,Bs.members,qi),this.iconCollisionBox=new uc(Oi,Bs.members,qi);for(var t=0;t<this.symbolInstances.length;t++){var e=this.symbolInstances.get(t);this.addDebugCollisionBoxes(e.textBoxStartIndex,e.textBoxEndIndex,e,!0),this.addDebugCollisionBoxes(e.verticalTextBoxStartIndex,e.verticalTextBoxEndIndex,e,!0),this.addDebugCollisionBoxes(e.iconBoxStartIndex,e.iconBoxEndIndex,e,!1),this.addDebugCollisionBoxes(e.verticalIconBoxStartIndex,e.verticalIconBoxEndIndex,e,!1)}},fc.prototype._deserializeCollisionBoxesForSymbol=function(t,e,r,n,i,a,o,s,l){for(var c={},u=e;u<r;u++){var f=t.get(u);c.textBox={x1:f.x1,y1:f.y1,x2:f.x2,y2:f.y2,anchorPointX:f.anchorPointX,anchorPointY:f.anchorPointY},c.textFeatureIndex=f.featureIndex;break}for(var h=n;h<i;h++){var p=t.get(h);c.verticalTextBox={x1:p.x1,y1:p.y1,x2:p.x2,y2:p.y2,anchorPointX:p.anchorPointX,anchorPointY:p.anchorPointY},c.verticalTextFeatureIndex=p.featureIndex;break}for(var d=a;d<o;d++){var g=t.get(d);c.iconBox={x1:g.x1,y1:g.y1,x2:g.x2,y2:g.y2,anchorPointX:g.anchorPointX,anchorPointY:g.anchorPointY},c.iconFeatureIndex=g.featureIndex;break}for(var m=s;m<l;m++){var v=t.get(m);c.verticalIconBox={x1:v.x1,y1:v.y1,x2:v.x2,y2:v.y2,anchorPointX:v.anchorPointX,anchorPointY:v.anchorPointY},c.verticalIconFeatureIndex=v.featureIndex;break}return c},fc.prototype.deserializeCollisionBoxes=function(t){this.collisionArrays=[];for(var e=0;e<this.symbolInstances.length;e++){var r=this.symbolInstances.get(e);this.collisionArrays.push(this._deserializeCollisionBoxesForSymbol(t,r.textBoxStartIndex,r.textBoxEndIndex,r.verticalTextBoxStartIndex,r.verticalTextBoxEndIndex,r.iconBoxStartIndex,r.iconBoxEndIndex,r.verticalIconBoxStartIndex,r.verticalIconBoxEndIndex))}},fc.prototype.hasTextData=function(){return this.text.segments.get().length>0},fc.prototype.hasIconData=function(){return this.icon.segments.get().length>0},fc.prototype.hasDebugData=function(){return this.textCollisionBox&&this.iconCollisionBox},fc.prototype.hasTextCollisionBoxData=function(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0},fc.prototype.hasIconCollisionBoxData=function(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0},fc.prototype.addIndicesForPlacedSymbol=function(t,e){for(var r=t.placedSymbolArray.get(e),n=r.vertexStartIndex+4*r.numGlyphs,i=r.vertexStartIndex;i<n;i+=4)t.indexArray.emplaceBack(i,i+1,i+2),t.indexArray.emplaceBack(i+1,i+2,i+3)},fc.prototype.getSortedSymbolIndexes=function(t){if(this.sortedAngle===t&&void 0!==this.symbolInstanceIndexes)return this.symbolInstanceIndexes;for(var e=Math.sin(t),r=Math.cos(t),n=[],i=[],a=[],o=0;o<this.symbolInstances.length;++o){a.push(o);var s=this.symbolInstances.get(o);n.push(0|Math.round(e*s.anchorX+r*s.anchorY)),i.push(s.featureIndex)}return a.sort((function(t,e){return n[t]-n[e]||i[e]-i[t]})),a},fc.prototype.addToSortKeyRanges=function(t,e){var r=this.sortKeyRanges[this.sortKeyRanges.length-1];r&&r.sortKey===e?r.symbolInstanceEnd=t+1:this.sortKeyRanges.push({sortKey:e,symbolInstanceStart:t,symbolInstanceEnd:t+1})},fc.prototype.sortFeatures=function(t){var e=this;if(this.sortFeaturesByY&&this.sortedAngle!==t&&!(this.text.segments.get().length>1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(t),this.sortedAngle=t,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(var r=0,n=this.symbolInstanceIndexes;r<n.length;r+=1){var i=this.symbolInstances.get(n[r]);this.featureSortOrder.push(i.featureIndex),[i.rightJustifiedTextSymbolIndex,i.centerJustifiedTextSymbolIndex,i.leftJustifiedTextSymbolIndex].forEach((function(t,r,n){t>=0&&n.indexOf(t)===r&&e.addIndicesForPlacedSymbol(e.text,t)})),i.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,i.verticalPlacedTextSymbolIndex),i.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,i.placedIconSymbolIndex),i.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,i.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}},Dn("SymbolBucket",fc,{omit:["layers","collisionBoxArray","features","compareText"]}),fc.MAX_GLYPHS=65535,fc.addDynamicAttributes=sc;var hc=new yi({"symbol-placement":new pi(At.layout_symbol["symbol-placement"]),"symbol-spacing":new pi(At.layout_symbol["symbol-spacing"]),"symbol-avoid-edges":new pi(At.layout_symbol["symbol-avoid-edges"]),"symbol-sort-key":new di(At.layout_symbol["symbol-sort-key"]),"symbol-z-order":new pi(At.layout_symbol["symbol-z-order"]),"icon-allow-overlap":new pi(At.layout_symbol["icon-allow-overlap"]),"icon-ignore-placement":new pi(At.layout_symbol["icon-ignore-placement"]),"icon-optional":new pi(At.layout_symbol["icon-optional"]),"icon-rotation-alignment":new pi(At.layout_symbol["icon-rotation-alignment"]),"icon-size":new di(At.layout_symbol["icon-size"]),"icon-text-fit":new pi(At.layout_symbol["icon-text-fit"]),"icon-text-fit-padding":new pi(At.layout_symbol["icon-text-fit-padding"]),"icon-image":new di(At.layout_symbol["icon-image"]),"icon-rotate":new di(At.layout_symbol["icon-rotate"]),"icon-padding":new pi(At.layout_symbol["icon-padding"]),"icon-keep-upright":new pi(At.layout_symbol["icon-keep-upright"]),"icon-offset":new di(At.layout_symbol["icon-offset"]),"icon-anchor":new di(At.layout_symbol["icon-anchor"]),"icon-pitch-alignment":new pi(At.layout_symbol["icon-pitch-alignment"]),"text-pitch-alignment":new pi(At.layout_symbol["text-pitch-alignment"]),"text-rotation-alignment":new pi(At.layout_symbol["text-rotation-alignment"]),"text-field":new di(At.layout_symbol["text-field"]),"text-font":new di(At.layout_symbol["text-font"]),"text-size":new di(At.layout_symbol["text-size"]),"text-max-width":new di(At.layout_symbol["text-max-width"]),"text-line-height":new pi(At.layout_symbol["text-line-height"]),"text-letter-spacing":new di(At.layout_symbol["text-letter-spacing"]),"text-justify":new di(At.layout_symbol["text-justify"]),"text-radial-offset":new di(At.layout_symbol["text-radial-offset"]),"text-variable-anchor":new pi(At.layout_symbol["text-variable-anchor"]),"text-anchor":new di(At.layout_symbol["text-anchor"]),"text-max-angle":new pi(At.layout_symbol["text-max-angle"]),"text-writing-mode":new pi(At.layout_symbol["text-writing-mode"]),"text-rotate":new di(At.layout_symbol["text-rotate"]),"text-padding":new pi(At.layout_symbol["text-padding"]),"text-keep-upright":new pi(At.layout_symbol["text-keep-upright"]),"text-transform":new di(At.layout_symbol["text-transform"]),"text-offset":new di(At.layout_symbol["text-offset"]),"text-allow-overlap":new pi(At.layout_symbol["text-allow-overlap"]),"text-ignore-placement":new pi(At.layout_symbol["text-ignore-placement"]),"text-optional":new pi(At.layout_symbol["text-optional"])}),pc={paint:new yi({"icon-opacity":new di(At.paint_symbol["icon-opacity"]),"icon-color":new di(At.paint_symbol["icon-color"]),"icon-halo-color":new di(At.paint_symbol["icon-halo-color"]),"icon-halo-width":new di(At.paint_symbol["icon-halo-width"]),"icon-halo-blur":new di(At.paint_symbol["icon-halo-blur"]),"icon-translate":new pi(At.paint_symbol["icon-translate"]),"icon-translate-anchor":new pi(At.paint_symbol["icon-translate-anchor"]),"text-opacity":new di(At.paint_symbol["text-opacity"]),"text-color":new di(At.paint_symbol["text-color"],{runtimeType:Bt,getOverride:function(t){return t.textColor},hasOverride:function(t){return!!t.textColor}}),"text-halo-color":new di(At.paint_symbol["text-halo-color"]),"text-halo-width":new di(At.paint_symbol["text-halo-width"]),"text-halo-blur":new di(At.paint_symbol["text-halo-blur"]),"text-translate":new pi(At.paint_symbol["text-translate"]),"text-translate-anchor":new pi(At.paint_symbol["text-translate-anchor"])}),layout:hc},dc=function(t){this.type=t.property.overrides?t.property.overrides.runtimeType:Ot,this.defaultValue=t};dc.prototype.evaluate=function(t){if(t.formattedSection){var e=this.defaultValue.property.overrides;if(e&&e.hasOverride(t.formattedSection))return e.getOverride(t.formattedSection)}return t.feature&&t.featureState?this.defaultValue.evaluate(t.feature,t.featureState):this.defaultValue.property.specification.default},dc.prototype.eachChild=function(t){this.defaultValue.isConstant()||t(this.defaultValue.value._styleExpression.expression)},dc.prototype.outputDefined=function(){return!1},dc.prototype.serialize=function(){return null},Dn("FormatSectionOverride",dc,{omit:["defaultValue"]});var gc=function(t){function e(e){t.call(this,e,pc)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.recalculate=function(e,r){if(t.prototype.recalculate.call(this,e,r),"auto"===this.layout.get("icon-rotation-alignment")&&(this.layout._values["icon-rotation-alignment"]="point"!==this.layout.get("symbol-placement")?"map":"viewport"),"auto"===this.layout.get("text-rotation-alignment")&&(this.layout._values["text-rotation-alignment"]="point"!==this.layout.get("symbol-placement")?"map":"viewport"),"auto"===this.layout.get("text-pitch-alignment")&&(this.layout._values["text-pitch-alignment"]=this.layout.get("text-rotation-alignment")),"auto"===this.layout.get("icon-pitch-alignment")&&(this.layout._values["icon-pitch-alignment"]=this.layout.get("icon-rotation-alignment")),"point"===this.layout.get("symbol-placement")){var n=this.layout.get("text-writing-mode");if(n){for(var i=[],a=0,o=n;a<o.length;a+=1){var s=o[a];i.indexOf(s)<0&&i.push(s)}this.layout._values["text-writing-mode"]=i}else this.layout._values["text-writing-mode"]=["horizontal"]}this._setPaintOverrides()},e.prototype.getValueAndResolveTokens=function(t,e,r,n){var i=this.layout.get(t).evaluate(e,{},r,n),a=this._unevaluatedLayout._values[t];return a.isDataDriven()||Vr(a.value)||!i?i:function(t,e){return e.replace(/{([^{}]+)}/g,(function(e,r){return r in t?String(t[r]):""}))}(e.properties,i)},e.prototype.createBucket=function(t){return new fc(t)},e.prototype.queryRadius=function(){return 0},e.prototype.queryIntersectsFeature=function(){return!1},e.prototype._setPaintOverrides=function(){for(var t=0,r=pc.paint.overridableProperties;t<r.length;t+=1){var n=r[t];if(e.hasPaintOverride(this.layout,n)){var i,a=this.paint.get(n),o=new dc(a),s=new Ur(o,a.property.specification);i="constant"===a.value.kind||"source"===a.value.kind?new Hr("source",s):new Gr("composite",s,a.value.zoomStops,a.value._interpolationType),this.paint._values[n]=new fi(a.property,i,a.parameters)}}},e.prototype._handleOverridablePaintPropertyUpdate=function(t,r,n){return!(!this.layout||r.isDataDriven()||n.isDataDriven())&&e.hasPaintOverride(this.layout,t)},e.hasPaintOverride=function(t,e){var r=t.get("text-field"),n=pc.paint.properties[e],i=!1,a=function(t){for(var e=0,r=t;e<r.length;e+=1)if(n.overrides&&n.overrides.hasOverride(r[e]))return void(i=!0)};if("constant"===r.value.kind&&r.value.value instanceof te)a(r.value.value.sections);else if("source"===r.value.kind){var o=function(t){i||(t instanceof oe&&ie(t.value)===Vt?a(t.value.sections):t instanceof ue?a(t.sections):t.eachChild(o))},s=r.value;s._styleExpression&&o(s._styleExpression.expression)}return i},e}(xi),mc={paint:new yi({"background-color":new pi(At.paint_background["background-color"]),"background-pattern":new mi(At.paint_background["background-pattern"]),"background-opacity":new pi(At.paint_background["background-opacity"])})},vc=function(t){function e(e){t.call(this,e,mc)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e}(xi),yc={paint:new yi({"raster-opacity":new pi(At.paint_raster["raster-opacity"]),"raster-hue-rotate":new pi(At.paint_raster["raster-hue-rotate"]),"raster-brightness-min":new pi(At.paint_raster["raster-brightness-min"]),"raster-brightness-max":new pi(At.paint_raster["raster-brightness-max"]),"raster-saturation":new pi(At.paint_raster["raster-saturation"]),"raster-contrast":new pi(At.paint_raster["raster-contrast"]),"raster-resampling":new pi(At.paint_raster["raster-resampling"]),"raster-fade-duration":new pi(At.paint_raster["raster-fade-duration"])})},xc=function(t){function e(e){t.call(this,e,yc)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e}(xi),bc=function(t){function e(e){t.call(this,e,{}),this.implementation=e}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.is3D=function(){return"3d"===this.implementation.renderingMode},e.prototype.hasOffscreenPass=function(){return void 0!==this.implementation.prerender},e.prototype.recalculate=function(){},e.prototype.updateTransitions=function(){},e.prototype.hasTransition=function(){},e.prototype.serialize=function(){},e.prototype.onAdd=function(t){this.implementation.onAdd&&this.implementation.onAdd(t,t.painter.context.gl)},e.prototype.onRemove=function(t){this.implementation.onRemove&&this.implementation.onRemove(t,t.painter.context.gl)},e}(xi),_c={circle:oo,heatmap:vo,hillshade:xo,fill:as,"fill-extrusion":ws,line:zs,symbol:gc,background:vc,raster:xc},wc=self.HTMLImageElement,Tc=self.HTMLCanvasElement,kc=self.HTMLVideoElement,Mc=self.ImageData,Ac=self.ImageBitmap,Sc=function(t,e,r,n){this.context=t,this.format=r,this.texture=t.gl.createTexture(),this.update(e,n)};Sc.prototype.update=function(t,e,r){var n=t.width,i=t.height,a=!(this.size&&this.size[0]===n&&this.size[1]===i||r),o=this.context,s=o.gl;if(this.useMipmap=Boolean(e&&e.useMipmap),s.bindTexture(s.TEXTURE_2D,this.texture),o.pixelStoreUnpackFlipY.set(!1),o.pixelStoreUnpack.set(1),o.pixelStoreUnpackPremultiplyAlpha.set(this.format===s.RGBA&&(!e||!1!==e.premultiply)),a)this.size=[n,i],t instanceof wc||t instanceof Tc||t instanceof kc||t instanceof Mc||Ac&&t instanceof Ac?s.texImage2D(s.TEXTURE_2D,0,this.format,this.format,s.UNSIGNED_BYTE,t):s.texImage2D(s.TEXTURE_2D,0,this.format,n,i,0,this.format,s.UNSIGNED_BYTE,t.data);else{var l=r||{x:0,y:0},c=l.x,u=l.y;t instanceof wc||t instanceof Tc||t instanceof kc||t instanceof Mc||Ac&&t instanceof Ac?s.texSubImage2D(s.TEXTURE_2D,0,c,u,s.RGBA,s.UNSIGNED_BYTE,t):s.texSubImage2D(s.TEXTURE_2D,0,c,u,n,i,s.RGBA,s.UNSIGNED_BYTE,t.data)}this.useMipmap&&this.isSizePowerOfTwo()&&s.generateMipmap(s.TEXTURE_2D)},Sc.prototype.bind=function(t,e,r){var n=this.context.gl;n.bindTexture(n.TEXTURE_2D,this.texture),r!==n.LINEAR_MIPMAP_NEAREST||this.isSizePowerOfTwo()||(r=n.LINEAR),t!==this.filter&&(n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,t),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,r||t),this.filter=t),e!==this.wrap&&(n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,e),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,e),this.wrap=e)},Sc.prototype.isSizePowerOfTwo=function(){return this.size[0]===this.size[1]&&Math.log(this.size[0])/Math.LN2%1==0},Sc.prototype.destroy=function(){this.context.gl.deleteTexture(this.texture),this.texture=null};var Ec=function(t){var e=this;this._callback=t,this._triggered=!1,"undefined"!=typeof MessageChannel&&(this._channel=new MessageChannel,this._channel.port2.onmessage=function(){e._triggered=!1,e._callback()})};Ec.prototype.trigger=function(){var t=this;this._triggered||(this._triggered=!0,this._channel?this._channel.port1.postMessage(!0):setTimeout((function(){t._triggered=!1,t._callback()}),0))},Ec.prototype.remove=function(){delete this._channel,this._callback=function(){}};var Cc=function(t,e,r){this.target=t,this.parent=e,this.mapId=r,this.callbacks={},this.tasks={},this.taskQueue=[],this.cancelCallbacks={},g(["receive","process"],this),this.invoker=new Ec(this.process),this.target.addEventListener("message",this.receive,!1),this.globalScope=k()?t:self};function Lc(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]}Cc.prototype.send=function(t,e,r,n,i){var a=this;void 0===i&&(i=!1);var o=Math.round(1e18*Math.random()).toString(36).substring(0,10);r&&(this.callbacks[o]=r);var s=S(this.globalScope)?void 0:[];return this.target.postMessage({id:o,type:t,hasCallback:!!r,targetMapId:n,mustQueue:i,sourceMapId:this.mapId,data:Nn(e,s)},s),{cancel:function(){r&&delete a.callbacks[o],a.target.postMessage({id:o,type:"<cancel>",targetMapId:n,sourceMapId:a.mapId})}}},Cc.prototype.receive=function(t){var e=t.data,r=e.id;if(r&&(!e.targetMapId||this.mapId===e.targetMapId))if("<cancel>"===e.type){delete this.tasks[r];var n=this.cancelCallbacks[r];delete this.cancelCallbacks[r],n&&n()}else k()||e.mustQueue?(this.tasks[r]=e,this.taskQueue.push(r),this.invoker.trigger()):this.processTask(r,e)},Cc.prototype.process=function(){if(this.taskQueue.length){var t=this.taskQueue.shift(),e=this.tasks[t];delete this.tasks[t],this.taskQueue.length&&this.invoker.trigger(),e&&this.processTask(t,e)}},Cc.prototype.processTask=function(t,e){var r=this;if("<response>"===e.type){var n=this.callbacks[t];delete this.callbacks[t],n&&(e.error?n(jn(e.error)):n(null,jn(e.data)))}else{var i=!1,a=S(this.globalScope)?void 0:[],o=e.hasCallback?function(e,n){i=!0,delete r.cancelCallbacks[t],r.target.postMessage({id:t,type:"<response>",sourceMapId:r.mapId,error:e?Nn(e):null,data:Nn(n,a)},a)}:function(t){i=!0},s=null,l=jn(e.data);if(this.parent[e.type])s=this.parent[e.type](e.sourceMapId,l,o);else if(this.parent.getWorkerSource){var c=e.type.split(".");s=this.parent.getWorkerSource(e.sourceMapId,c[0],l.source)[c[1]](l,o)}else o(new Error("Could not find function "+e.type));!i&&s&&s.cancel&&(this.cancelCallbacks[t]=s.cancel)}},Cc.prototype.remove=function(){this.invoker.remove(),this.target.removeEventListener("message",this.receive,!1)};var Ic=function(t,e){t&&(e?this.setSouthWest(t).setNorthEast(e):4===t.length?this.setSouthWest([t[0],t[1]]).setNorthEast([t[2],t[3]]):this.setSouthWest(t[0]).setNorthEast(t[1]))};Ic.prototype.setNorthEast=function(t){return this._ne=t instanceof Pc?new Pc(t.lng,t.lat):Pc.convert(t),this},Ic.prototype.setSouthWest=function(t){return this._sw=t instanceof Pc?new Pc(t.lng,t.lat):Pc.convert(t),this},Ic.prototype.extend=function(t){var e,r,n=this._sw,i=this._ne;if(t instanceof Pc)e=t,r=t;else{if(!(t instanceof Ic))return Array.isArray(t)?4===t.length||t.every(Array.isArray)?this.extend(Ic.convert(t)):this.extend(Pc.convert(t)):this;if(r=t._ne,!(e=t._sw)||!r)return this}return n||i?(n.lng=Math.min(e.lng,n.lng),n.lat=Math.min(e.lat,n.lat),i.lng=Math.max(r.lng,i.lng),i.lat=Math.max(r.lat,i.lat)):(this._sw=new Pc(e.lng,e.lat),this._ne=new Pc(r.lng,r.lat)),this},Ic.prototype.getCenter=function(){return new Pc((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)},Ic.prototype.getSouthWest=function(){return this._sw},Ic.prototype.getNorthEast=function(){return this._ne},Ic.prototype.getNorthWest=function(){return new Pc(this.getWest(),this.getNorth())},Ic.prototype.getSouthEast=function(){return new Pc(this.getEast(),this.getSouth())},Ic.prototype.getWest=function(){return this._sw.lng},Ic.prototype.getSouth=function(){return this._sw.lat},Ic.prototype.getEast=function(){return this._ne.lng},Ic.prototype.getNorth=function(){return this._ne.lat},Ic.prototype.toArray=function(){return[this._sw.toArray(),this._ne.toArray()]},Ic.prototype.toString=function(){return"LngLatBounds("+this._sw.toString()+", "+this._ne.toString()+")"},Ic.prototype.isEmpty=function(){return!(this._sw&&this._ne)},Ic.prototype.contains=function(t){var e=Pc.convert(t),r=e.lng,n=e.lat,i=this._sw.lng<=r&&r<=this._ne.lng;return this._sw.lng>this._ne.lng&&(i=this._sw.lng>=r&&r>=this._ne.lng),this._sw.lat<=n&&n<=this._ne.lat&&i},Ic.convert=function(t){return!t||t instanceof Ic?t:new Ic(t)};var Pc=function(t,e){if(isNaN(t)||isNaN(e))throw new Error("Invalid LngLat object: ("+t+", "+e+")");if(this.lng=+t,this.lat=+e,this.lat>90||this.lat<-90)throw new Error("Invalid LngLat latitude value: must be between -90 and 90")};Pc.prototype.wrap=function(){return new Pc(c(this.lng,-180,180),this.lat)},Pc.prototype.toArray=function(){return[this.lng,this.lat]},Pc.prototype.toString=function(){return"LngLat("+this.lng+", "+this.lat+")"},Pc.prototype.distanceTo=function(t){var e=Math.PI/180,r=this.lat*e,n=t.lat*e,i=Math.sin(r)*Math.sin(n)+Math.cos(r)*Math.cos(n)*Math.cos((t.lng-this.lng)*e);return 6371008.8*Math.acos(Math.min(i,1))},Pc.prototype.toBounds=function(t){void 0===t&&(t=0);var e=360*t/40075017,r=e/Math.cos(Math.PI/180*this.lat);return new Ic(new Pc(this.lng-r,this.lat-e),new Pc(this.lng+r,this.lat+e))},Pc.convert=function(t){if(t instanceof Pc)return t;if(Array.isArray(t)&&(2===t.length||3===t.length))return new Pc(Number(t[0]),Number(t[1]));if(!Array.isArray(t)&&"object"==typeof t&&null!==t)return new Pc(Number("lng"in t?t.lng:t.lon),Number(t.lat));throw new Error("`LngLatLike` argument must be specified as a LngLat instance, an object {lng: <lng>, lat: <lat>}, an object {lon: <lng>, lat: <lat>}, or an array of [<lng>, <lat>]")};var zc=2*Math.PI*6371008.8;function Oc(t){return zc*Math.cos(t*Math.PI/180)}function Dc(t){return(180+t)/360}function Rc(t){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t*Math.PI/360)))/360}function Fc(t,e){return t/Oc(e)}function Bc(t){return 360/Math.PI*Math.atan(Math.exp((180-360*t)*Math.PI/180))-90}var Nc=function(t,e,r){void 0===r&&(r=0),this.x=+t,this.y=+e,this.z=+r};Nc.fromLngLat=function(t,e){void 0===e&&(e=0);var r=Pc.convert(t);return new Nc(Dc(r.lng),Rc(r.lat),Fc(e,r.lat))},Nc.prototype.toLngLat=function(){return new Pc(360*this.x-180,Bc(this.y))},Nc.prototype.toAltitude=function(){return this.z*Oc(Bc(this.y))},Nc.prototype.meterInMercatorCoordinateUnits=function(){return 1/zc*(t=Bc(this.y),1/Math.cos(t*Math.PI/180));var t};var jc=function(t,e,r){this.z=t,this.x=e,this.y=r,this.key=qc(0,t,t,e,r)};jc.prototype.equals=function(t){return this.z===t.z&&this.x===t.x&&this.y===t.y},jc.prototype.url=function(t,e){var r,n,i,a,o,s=(n=this.y,i=this.z,a=Lc(256*(r=this.x),256*(n=Math.pow(2,i)-n-1),i),o=Lc(256*(r+1),256*(n+1),i),a[0]+","+a[1]+","+o[0]+","+o[1]),l=function(t,e,r){for(var n,i="",a=t;a>0;a--)i+=(e&(n=1<<a-1)?1:0)+(r&n?2:0);return i}(this.z,this.x,this.y);return t[(this.x+this.y)%t.length].replace("{prefix}",(this.x%16).toString(16)+(this.y%16).toString(16)).replace("{z}",String(this.z)).replace("{x}",String(this.x)).replace("{y}",String("tms"===e?Math.pow(2,this.z)-this.y-1:this.y)).replace("{quadkey}",l).replace("{bbox-epsg-3857}",s)},jc.prototype.getTilePoint=function(t){var e=Math.pow(2,this.z);return new i(8192*(t.x*e-this.x),8192*(t.y*e-this.y))},jc.prototype.toString=function(){return this.z+"/"+this.x+"/"+this.y};var Uc=function(t,e){this.wrap=t,this.canonical=e,this.key=qc(t,e.z,e.z,e.x,e.y)},Vc=function(t,e,r,n,i){this.overscaledZ=t,this.wrap=e,this.canonical=new jc(r,+n,+i),this.key=qc(e,t,r,n,i)};function qc(t,e,r,n,i){(t*=2)<0&&(t=-1*t-1);var a=1<<r;return(a*a*t+a*i+n).toString(36)+r.toString(36)+e.toString(36)}Vc.prototype.equals=function(t){return this.overscaledZ===t.overscaledZ&&this.wrap===t.wrap&&this.canonical.equals(t.canonical)},Vc.prototype.scaledTo=function(t){var e=this.canonical.z-t;return t>this.canonical.z?new Vc(t,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new Vc(t,this.wrap,t,this.canonical.x>>e,this.canonical.y>>e)},Vc.prototype.calculateScaledKey=function(t,e){var r=this.canonical.z-t;return t>this.canonical.z?qc(this.wrap*+e,t,this.canonical.z,this.canonical.x,this.canonical.y):qc(this.wrap*+e,t,t,this.canonical.x>>r,this.canonical.y>>r)},Vc.prototype.isChildOf=function(t){if(t.wrap!==this.wrap)return!1;var e=this.canonical.z-t.canonical.z;return 0===t.overscaledZ||t.overscaledZ<this.overscaledZ&&t.canonical.x===this.canonical.x>>e&&t.canonical.y===this.canonical.y>>e},Vc.prototype.children=function(t){if(this.overscaledZ>=t)return[new Vc(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];var e=this.canonical.z+1,r=2*this.canonical.x,n=2*this.canonical.y;return[new Vc(e,this.wrap,e,r,n),new Vc(e,this.wrap,e,r+1,n),new Vc(e,this.wrap,e,r,n+1),new Vc(e,this.wrap,e,r+1,n+1)]},Vc.prototype.isLessThan=function(t){return this.wrap<t.wrap||!(this.wrap>t.wrap)&&(this.overscaledZ<t.overscaledZ||!(this.overscaledZ>t.overscaledZ)&&(this.canonical.x<t.canonical.x||!(this.canonical.x>t.canonical.x)&&this.canonical.y<t.canonical.y))},Vc.prototype.wrapped=function(){return new Vc(this.overscaledZ,0,this.canonical.z,this.canonical.x,this.canonical.y)},Vc.prototype.unwrapTo=function(t){return new Vc(this.overscaledZ,t,this.canonical.z,this.canonical.x,this.canonical.y)},Vc.prototype.overscaleFactor=function(){return Math.pow(2,this.overscaledZ-this.canonical.z)},Vc.prototype.toUnwrapped=function(){return new Uc(this.wrap,this.canonical)},Vc.prototype.toString=function(){return this.overscaledZ+"/"+this.canonical.x+"/"+this.canonical.y},Vc.prototype.getTilePoint=function(t){return this.canonical.getTilePoint(new Nc(t.x-this.wrap,t.y))},Dn("CanonicalTileID",jc),Dn("OverscaledTileID",Vc,{omit:["posMatrix"]});var Hc=function(t,e,r){if(this.uid=t,e.height!==e.width)throw new RangeError("DEM tiles must be square");if(r&&"mapbox"!==r&&"terrarium"!==r)return _('"'+r+'" is not a valid encoding type. Valid types include "mapbox" and "terrarium".');this.stride=e.height;var n=this.dim=e.height-2;this.data=new Uint32Array(e.data.buffer),this.encoding=r||"mapbox";for(var i=0;i<n;i++)this.data[this._idx(-1,i)]=this.data[this._idx(0,i)],this.data[this._idx(n,i)]=this.data[this._idx(n-1,i)],this.data[this._idx(i,-1)]=this.data[this._idx(i,0)],this.data[this._idx(i,n)]=this.data[this._idx(i,n-1)];this.data[this._idx(-1,-1)]=this.data[this._idx(0,0)],this.data[this._idx(n,-1)]=this.data[this._idx(n-1,0)],this.data[this._idx(-1,n)]=this.data[this._idx(0,n-1)],this.data[this._idx(n,n)]=this.data[this._idx(n-1,n-1)]};Hc.prototype.get=function(t,e){var r=new Uint8Array(this.data.buffer),n=4*this._idx(t,e);return("terrarium"===this.encoding?this._unpackTerrarium:this._unpackMapbox)(r[n],r[n+1],r[n+2])},Hc.prototype.getUnpackVector=function(){return"terrarium"===this.encoding?[256,1,1/256,32768]:[6553.6,25.6,.1,1e4]},Hc.prototype._idx=function(t,e){if(t<-1||t>=this.dim+1||e<-1||e>=this.dim+1)throw new RangeError("out of range source coordinates for DEM data");return(e+1)*this.stride+(t+1)},Hc.prototype._unpackMapbox=function(t,e,r){return(256*t*256+256*e+r)/10-1e4},Hc.prototype._unpackTerrarium=function(t,e,r){return 256*t+e+r/256-32768},Hc.prototype.getPixels=function(){return new po({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))},Hc.prototype.backfillBorder=function(t,e,r){if(this.dim!==t.dim)throw new Error("dem dimension mismatch");var n=e*this.dim,i=e*this.dim+this.dim,a=r*this.dim,o=r*this.dim+this.dim;switch(e){case-1:n=i-1;break;case 1:i=n+1}switch(r){case-1:a=o-1;break;case 1:o=a+1}for(var s=-e*this.dim,l=-r*this.dim,c=a;c<o;c++)for(var u=n;u<i;u++)this.data[this._idx(u,c)]=t.data[this._idx(u+s,c+l)]},Dn("DEMData",Hc);var Gc=function(t){this._stringToNumber={},this._numberToString=[];for(var e=0;e<t.length;e++){var r=t[e];this._stringToNumber[r]=e,this._numberToString[e]=r}};Gc.prototype.encode=function(t){return this._stringToNumber[t]},Gc.prototype.decode=function(t){return this._numberToString[t]};var Yc=function(t,e,r,n,i){this.type="Feature",this._vectorTileFeature=t,t._z=e,t._x=r,t._y=n,this.properties=t.properties,this.id=i},Wc={geometry:{configurable:!0}};Wc.geometry.get=function(){return void 0===this._geometry&&(this._geometry=this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x,this._vectorTileFeature._y,this._vectorTileFeature._z).geometry),this._geometry},Wc.geometry.set=function(t){this._geometry=t},Yc.prototype.toJSON=function(){var t={geometry:this.geometry};for(var e in this)"_geometry"!==e&&"_vectorTileFeature"!==e&&(t[e]=this[e]);return t},Object.defineProperties(Yc.prototype,Wc);var Xc=function(){this.state={},this.stateChanges={},this.deletedStates={}};Xc.prototype.updateState=function(t,e,r){var n=String(e);if(this.stateChanges[t]=this.stateChanges[t]||{},this.stateChanges[t][n]=this.stateChanges[t][n]||{},u(this.stateChanges[t][n],r),null===this.deletedStates[t])for(var i in this.deletedStates[t]={},this.state[t])i!==n&&(this.deletedStates[t][i]=null);else if(this.deletedStates[t]&&null===this.deletedStates[t][n])for(var a in this.deletedStates[t][n]={},this.state[t][n])r[a]||(this.deletedStates[t][n][a]=null);else for(var o in r)this.deletedStates[t]&&this.deletedStates[t][n]&&null===this.deletedStates[t][n][o]&&delete this.deletedStates[t][n][o]},Xc.prototype.removeFeatureState=function(t,e,r){if(null!==this.deletedStates[t]){var n=String(e);if(this.deletedStates[t]=this.deletedStates[t]||{},r&&void 0!==e)null!==this.deletedStates[t][n]&&(this.deletedStates[t][n]=this.deletedStates[t][n]||{},this.deletedStates[t][n][r]=null);else if(void 0!==e)if(this.stateChanges[t]&&this.stateChanges[t][n])for(r in this.deletedStates[t][n]={},this.stateChanges[t][n])this.deletedStates[t][n][r]=null;else this.deletedStates[t][n]=null;else this.deletedStates[t]=null}},Xc.prototype.getState=function(t,e){var r=String(e),n=u({},(this.state[t]||{})[r],(this.stateChanges[t]||{})[r]);if(null===this.deletedStates[t])return{};if(this.deletedStates[t]){var i=this.deletedStates[t][e];if(null===i)return{};for(var a in i)delete n[a]}return n},Xc.prototype.initializeTileState=function(t,e){t.setFeatureState(this.state,e)},Xc.prototype.coalesceChanges=function(t,e){var r={};for(var n in this.stateChanges){this.state[n]=this.state[n]||{};var i={};for(var a in this.stateChanges[n])this.state[n][a]||(this.state[n][a]={}),u(this.state[n][a],this.stateChanges[n][a]),i[a]=this.state[n][a];r[n]=i}for(var o in this.deletedStates){this.state[o]=this.state[o]||{};var s={};if(null===this.deletedStates[o])for(var l in this.state[o])s[l]={},this.state[o][l]={};else for(var c in this.deletedStates[o]){if(null===this.deletedStates[o][c])this.state[o][c]={};else for(var f=0,h=Object.keys(this.deletedStates[o][c]);f<h.length;f+=1)delete this.state[o][c][h[f]];s[c]=this.state[o][c]}r[o]=r[o]||{},u(r[o],s)}if(this.stateChanges={},this.deletedStates={},0!==Object.keys(r).length)for(var p in t)t[p].setFeatureState(r,e)};var Zc=function(t,e){this.tileID=t,this.x=t.canonical.x,this.y=t.canonical.y,this.z=t.canonical.z,this.grid=new Ln(8192,16,0),this.grid3D=new Ln(8192,16,0),this.featureIndexArray=new ra,this.promoteId=e};function Jc(t,e,r,n,i){return v(t,(function(t,a){var o=e instanceof hi?e.get(a):null;return o&&o.evaluate?o.evaluate(r,n,i):o}))}function Kc(t){for(var e=1/0,r=1/0,n=-1/0,i=-1/0,a=0,o=t;a<o.length;a+=1){var s=o[a];e=Math.min(e,s.x),r=Math.min(r,s.y),n=Math.max(n,s.x),i=Math.max(i,s.y)}return{minX:e,minY:r,maxX:n,maxY:i}}function Qc(t,e){return e-t}Zc.prototype.insert=function(t,e,r,n,i,a){var o=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(r,n,i);for(var s=a?this.grid3D:this.grid,l=0;l<e.length;l++){for(var c=e[l],u=[1/0,1/0,-1/0,-1/0],f=0;f<c.length;f++){var h=c[f];u[0]=Math.min(u[0],h.x),u[1]=Math.min(u[1],h.y),u[2]=Math.max(u[2],h.x),u[3]=Math.max(u[3],h.y)}u[0]<8192&&u[1]<8192&&u[2]>=0&&u[3]>=0&&s.insert(o,u[0],u[1],u[2],u[3])}},Zc.prototype.loadVTLayers=function(){return this.vtLayers||(this.vtLayers=new gs.VectorTile(new Hs(this.rawTileData)).layers,this.sourceLayerCoder=new Gc(this.vtLayers?Object.keys(this.vtLayers).sort():["_geojsonTileLayer"])),this.vtLayers},Zc.prototype.query=function(t,e,r,n){var a=this;this.loadVTLayers();for(var o=t.params||{},s=8192/t.tileSize/t.scale,l=rn(o.filter),c=t.queryGeometry,u=t.queryPadding*s,f=Kc(c),h=this.grid.query(f.minX-u,f.minY-u,f.maxX+u,f.maxY+u),p=Kc(t.cameraQueryGeometry),d=0,g=this.grid3D.query(p.minX-u,p.minY-u,p.maxX+u,p.maxY+u,(function(e,r,n,a){return function(t,e,r,n,a){for(var o=0,s=t;o<s.length;o+=1){var l=s[o];if(e<=l.x&&r<=l.y&&n>=l.x&&a>=l.y)return!0}var c=[new i(e,r),new i(e,a),new i(n,a),new i(n,r)];if(t.length>2)for(var u=0,f=c;u<f.length;u+=1)if(Wa(t,f[u]))return!0;for(var h=0;h<t.length-1;h++)if(Xa(t[h],t[h+1],c))return!0;return!1}(t.cameraQueryGeometry,e-u,r-u,n+u,a+u)}));d<g.length;d+=1)h.push(g[d]);h.sort(Qc);for(var m,v={},y=function(i){var u=h[i];if(u!==m){m=u;var f=a.featureIndexArray.get(u),p=null;a.loadMatchingFeature(v,f.bucketIndex,f.sourceLayerIndex,f.featureIndex,l,o.layers,o.availableImages,e,r,n,(function(e,r,n){return p||(p=Da(e)),r.queryIntersectsFeature(c,e,n,p,a.z,t.transform,s,t.pixelPosMatrix)}))}},x=0;x<h.length;x++)y(x);return v},Zc.prototype.loadMatchingFeature=function(t,e,r,n,i,a,o,s,l,c,u){var f=this.bucketLayerIDs[e];if(!a||function(t,e){for(var r=0;r<t.length;r++)if(e.indexOf(t[r])>=0)return!0;return!1}(a,f)){var h=this.sourceLayerCoder.decode(r),p=this.vtLayers[h].feature(n);if(i.filter(new ii(this.tileID.overscaledZ),p))for(var d=this.getId(p,h),g=0;g<f.length;g++){var m=f[g];if(!(a&&a.indexOf(m)<0)){var v=s[m];if(v){var y={};void 0!==d&&c&&(y=c.getState(v.sourceLayer||"_geojsonTileLayer",d));var x=l[m];x.paint=Jc(x.paint,v.paint,p,y,o),x.layout=Jc(x.layout,v.layout,p,y,o);var b=!u||u(p,v,y);if(b){var _=new Yc(p,this.z,this.x,this.y,d);_.layer=x;var w=t[m];void 0===w&&(w=t[m]=[]),w.push({featureIndex:n,feature:_,intersectionZ:b})}}}}}},Zc.prototype.lookupSymbolFeatures=function(t,e,r,n,i,a,o,s){var l={};this.loadVTLayers();for(var c=rn(i),u=0,f=t;u<f.length;u+=1)this.loadMatchingFeature(l,r,n,f[u],c,a,o,s,e);return l},Zc.prototype.hasLayer=function(t){for(var e=0,r=this.bucketLayerIDs;e<r.length;e+=1)for(var n=0,i=r[e];n<i.length;n+=1)if(t===i[n])return!0;return!1},Zc.prototype.getId=function(t,e){var r=t.id;return this.promoteId&&"boolean"==typeof(r=t.properties["string"==typeof this.promoteId?this.promoteId:this.promoteId[e]])&&(r=Number(r)),r},Dn("FeatureIndex",Zc,{omit:["rawTileData","sourceLayerCoder"]});var $c=function(t,e){this.tileID=t,this.uid=h(),this.uses=0,this.tileSize=e,this.buckets={},this.expirationTime=null,this.queryPadding=0,this.hasSymbolBuckets=!1,this.hasRTLText=!1,this.dependencies={},this.expiredRequestCount=0,this.state="loading"};$c.prototype.registerFadeDuration=function(t){var e=t+this.timeAdded;e<R.now()||this.fadeEndTime&&e<this.fadeEndTime||(this.fadeEndTime=e)},$c.prototype.wasRequested=function(){return"errored"===this.state||"loaded"===this.state||"reloading"===this.state},$c.prototype.loadVectorData=function(t,e,r){if(this.hasData()&&this.unloadVectorData(),this.state="loaded",t){for(var n in t.featureIndex&&(this.latestFeatureIndex=t.featureIndex,t.rawTileData?(this.latestRawTileData=t.rawTileData,this.latestFeatureIndex.rawTileData=t.rawTileData):this.latestRawTileData&&(this.latestFeatureIndex.rawTileData=this.latestRawTileData)),this.collisionBoxArray=t.collisionBoxArray,this.buckets=function(t,e){var r={};if(!e)return r;for(var n=function(){var t=a[i],n=t.layerIds.map((function(t){return e.getLayer(t)})).filter(Boolean);if(0!==n.length){t.layers=n,t.stateDependentLayerIds&&(t.stateDependentLayers=t.stateDependentLayerIds.map((function(t){return n.filter((function(e){return e.id===t}))[0]})));for(var o=0,s=n;o<s.length;o+=1)r[s[o].id]=t}},i=0,a=t;i<a.length;i+=1)n();return r}(t.buckets,e.style),this.hasSymbolBuckets=!1,this.buckets){var i=this.buckets[n];if(i instanceof fc){if(this.hasSymbolBuckets=!0,!r)break;i.justReloaded=!0}}if(this.hasRTLText=!1,this.hasSymbolBuckets)for(var a in this.buckets){var o=this.buckets[a];if(o instanceof fc&&o.hasRTLText){this.hasRTLText=!0,ni.isLoading()||ni.isLoaded()||"deferred"!==ei()||ri();break}}for(var s in this.queryPadding=0,this.buckets){var l=this.buckets[s];this.queryPadding=Math.max(this.queryPadding,e.style.getLayer(s).queryRadius(l))}t.imageAtlas&&(this.imageAtlas=t.imageAtlas),t.glyphAtlasImage&&(this.glyphAtlasImage=t.glyphAtlasImage)}else this.collisionBoxArray=new Xi},$c.prototype.unloadVectorData=function(){for(var t in this.buckets)this.buckets[t].destroy();this.buckets={},this.imageAtlasTexture&&this.imageAtlasTexture.destroy(),this.imageAtlas&&(this.imageAtlas=null),this.glyphAtlasTexture&&this.glyphAtlasTexture.destroy(),this.latestFeatureIndex=null,this.state="unloaded"},$c.prototype.getBucket=function(t){return this.buckets[t.id]},$c.prototype.upload=function(t){for(var e in this.buckets){var r=this.buckets[e];r.uploadPending()&&r.upload(t)}var n=t.gl;this.imageAtlas&&!this.imageAtlas.uploaded&&(this.imageAtlasTexture=new Sc(t,this.imageAtlas.image,n.RGBA),this.imageAtlas.uploaded=!0),this.glyphAtlasImage&&(this.glyphAtlasTexture=new Sc(t,this.glyphAtlasImage,n.ALPHA),this.glyphAtlasImage=null)},$c.prototype.prepare=function(t){this.imageAtlas&&this.imageAtlas.patchUpdatedImages(t,this.imageAtlasTexture)},$c.prototype.queryRenderedFeatures=function(t,e,r,n,i,a,o,s,l,c){return this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData?this.latestFeatureIndex.query({queryGeometry:n,cameraQueryGeometry:i,scale:a,tileSize:this.tileSize,pixelPosMatrix:c,transform:s,params:o,queryPadding:this.queryPadding*l},t,e,r):{}},$c.prototype.querySourceFeatures=function(t,e){var r=this.latestFeatureIndex;if(r&&r.rawTileData){var n=r.loadVTLayers(),i=e?e.sourceLayer:"",a=n._geojsonTileLayer||n[i];if(a)for(var o=rn(e&&e.filter),s=this.tileID.canonical,l=s.z,c=s.x,u=s.y,f={z:l,x:c,y:u},h=0;h<a.length;h++){var p=a.feature(h);if(o.filter(new ii(this.tileID.overscaledZ),p)){var d=r.getId(p,i),g=new Yc(p,l,c,u,d);g.tile=f,t.push(g)}}}},$c.prototype.hasData=function(){return"loaded"===this.state||"reloading"===this.state||"expired"===this.state},$c.prototype.patternsLoaded=function(){return this.imageAtlas&&!!Object.keys(this.imageAtlas.patternPositions).length},$c.prototype.setExpiryData=function(t){var e=this.expirationTime;if(t.cacheControl){var r=M(t.cacheControl);r["max-age"]&&(this.expirationTime=Date.now()+1e3*r["max-age"])}else t.expires&&(this.expirationTime=new Date(t.expires).getTime());if(this.expirationTime){var n=Date.now(),i=!1;if(this.expirationTime>n)i=!1;else if(e)if(this.expirationTime<e)i=!0;else{var a=this.expirationTime-e;a?this.expirationTime=n+Math.max(a,3e4):i=!0}else i=!0;i?(this.expiredRequestCount++,this.state="expired"):this.expiredRequestCount=0}},$c.prototype.getExpiryTimeout=function(){if(this.expirationTime)return this.expiredRequestCount?1e3*(1<<Math.min(this.expiredRequestCount-1,31)):Math.min(this.expirationTime-(new Date).getTime(),Math.pow(2,31)-1)},$c.prototype.setFeatureState=function(t,e){if(this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData&&0!==Object.keys(t).length){var r=this.latestFeatureIndex.loadVTLayers();for(var n in this.buckets)if(e.style.hasLayer(n)){var i=this.buckets[n],a=i.layers[0].sourceLayer||"_geojsonTileLayer",o=r[a],s=t[a];if(o&&s&&0!==Object.keys(s).length){i.update(s,o,this.imageAtlas&&this.imageAtlas.patternPositions||{});var l=e&&e.style&&e.style.getLayer(n);l&&(this.queryPadding=Math.max(this.queryPadding,l.queryRadius(i)))}}}},$c.prototype.holdingForFade=function(){return void 0!==this.symbolFadeHoldUntil},$c.prototype.symbolFadeFinished=function(){return!this.symbolFadeHoldUntil||this.symbolFadeHoldUntil<R.now()},$c.prototype.clearFadeHold=function(){this.symbolFadeHoldUntil=void 0},$c.prototype.setHoldDuration=function(t){this.symbolFadeHoldUntil=R.now()+t},$c.prototype.setDependencies=function(t,e){for(var r={},n=0,i=e;n<i.length;n+=1)r[i[n]]=!0;this.dependencies[t]=r},$c.prototype.hasDependency=function(t,e){for(var r=0,n=t;r<n.length;r+=1){var i=this.dependencies[n[r]];if(i)for(var a=0,o=e;a<o.length;a+=1)if(i[o[a]])return!0}return!1};var tu=self.performance,eu=function(t){this._marks={start:[t.url,"start"].join("#"),end:[t.url,"end"].join("#"),measure:t.url.toString()},tu.mark(this._marks.start)};eu.prototype.finish=function(){tu.mark(this._marks.end);var t=tu.getEntriesByName(this._marks.measure);return 0===t.length&&(tu.measure(this._marks.measure,this._marks.start,this._marks.end),t=tu.getEntriesByName(this._marks.measure),tu.clearMarks(this._marks.start),tu.clearMarks(this._marks.end),tu.clearMeasures(this._marks.measure)),t},t.Actor=Cc,t.AlphaImage=ho,t.CanonicalTileID=jc,t.CollisionBoxArray=Xi,t.Color=Kt,t.DEMData=Hc,t.DataConstantProperty=pi,t.DictionaryCoder=Gc,t.EXTENT=8192,t.ErrorEvent=kt,t.EvaluationParameters=ii,t.Event=Tt,t.Evented=Mt,t.FeatureIndex=Zc,t.FillBucket=rs,t.FillExtrusionBucket=xs,t.ImageAtlas=dl,t.ImagePosition=hl,t.LineBucket=Cs,t.LngLat=Pc,t.LngLatBounds=Ic,t.MercatorCoordinate=Nc,t.ONE_EM=24,t.OverscaledTileID=Vc,t.Point=i,t.Point$1=i,t.Properties=yi,t.Protobuf=Hs,t.RGBAImage=po,t.RequestManager=q,t.RequestPerformance=eu,t.ResourceType=ht,t.SegmentVector=ia,t.SourceFeatureState=Xc,t.StructArrayLayout1ui2=Hi,t.StructArrayLayout2f1f2i16=Di,t.StructArrayLayout2i4=Mi,t.StructArrayLayout3ui6=Fi,t.StructArrayLayout4i8=Ai,t.SymbolBucket=fc,t.Texture=Sc,t.Tile=$c,t.Transitionable=si,t.Uniform1f=va,t.Uniform1i=ma,t.Uniform2f=ya,t.Uniform3f=xa,t.Uniform4f=ba,t.UniformColor=_a,t.UniformMatrix4f=Ta,t.UnwrappedTileID=Uc,t.ValidationError=St,t.WritingMode=gl,t.ZoomHistory=Un,t.add=function(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t},t.addDynamicAttributes=sc,t.asyncAll=function(t,e,r){if(!t.length)return r(null,[]);var n=t.length,i=new Array(t.length),a=null;t.forEach((function(t,o){e(t,(function(t,e){t&&(a=t),i[o]=e,0==--n&&r(a,i)}))}))},t.bezier=o,t.bindAll=g,t.browser=R,t.cacheEntryPossiblyAdded=function(t){++ut>ot&&(t.getActor().send("enforceCacheSizeLimit",at),ut=0)},t.clamp=l,t.clearTileCache=function(t){var e=self.caches.delete("mapbox-tiles");t&&e.catch(t).then((function(){return t()}))},t.clipLine=jl,t.clone=function(t){var e=new to(16);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},t.clone$1=x,t.clone$2=function(t){var e=new to(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e},t.collisionCircleLayout=Ns,t.config=F,t.create=function(){var t=new to(16);return to!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0),t[0]=1,t[5]=1,t[10]=1,t[15]=1,t},t.create$1=function(){var t=new to(9);return to!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[5]=0,t[6]=0,t[7]=0),t[0]=1,t[4]=1,t[8]=1,t},t.create$2=function(){var t=new to(4);return to!=Float32Array&&(t[1]=0,t[2]=0),t[0]=1,t[3]=1,t},t.createCommonjsModule=e,t.createExpression=qr,t.createLayout=Ti,t.createStyleLayer=function(t){return"custom"===t.type?new bc(t):new _c[t.type](t)},t.cross=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2];return t[0]=i*l-a*s,t[1]=a*o-n*l,t[2]=n*s-i*o,t},t.deepEqual=function t(e,r){if(Array.isArray(e)){if(!Array.isArray(r)||e.length!==r.length)return!1;for(var n=0;n<e.length;n++)if(!t(e[n],r[n]))return!1;return!0}if("object"==typeof e&&null!==e&&null!==r){if("object"!=typeof r)return!1;if(Object.keys(e).length!==Object.keys(r).length)return!1;for(var i in e)if(!t(e[i],r[i]))return!1;return!0}return e===r},t.dot=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]},t.dot$1=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]},t.ease=s,t.emitValidationErrors=Cn,t.endsWith=m,t.enforceCacheSizeLimit=function(t){st(),Q&&Q.then((function(e){e.keys().then((function(r){for(var n=0;n<r.length-t;n++)e.delete(r[n])}))}))},t.evaluateSizeForFeature=Il,t.evaluateSizeForZoom=Pl,t.evaluateVariableOffset=$l,t.evented=ti,t.extend=u,t.featureFilter=rn,t.filterObject=y,t.fromRotation=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=r,t[2]=0,t[3]=-r,t[4]=n,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},t.getAnchorAlignment=Al,t.getAnchorJustification=tc,t.getArrayBuffer=yt,t.getImage=bt,t.getJSON=function(t,e){return vt(u(t,{type:"json"}),e)},t.getRTLTextPluginStatus=ei,t.getReferrer=mt,t.getVideo=function(t,e){var r,n,i=self.document.createElement("video");i.muted=!0,i.onloadstart=function(){e(null,i)};for(var a=0;a<t.length;a++){var o=self.document.createElement("source");r=t[a],n=void 0,(n=self.document.createElement("a")).href=r,(n.protocol!==self.document.location.protocol||n.host!==self.document.location.host)&&(i.crossOrigin="Anonymous"),o.src=t[a],i.appendChild(o)}return{cancel:function(){}}},t.identity=eo,t.invert=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],c=e[7],u=e[8],f=e[9],h=e[10],p=e[11],d=e[12],g=e[13],m=e[14],v=e[15],y=r*s-n*o,x=r*l-i*o,b=r*c-a*o,_=n*l-i*s,w=n*c-a*s,T=i*c-a*l,k=u*g-f*d,M=u*m-h*d,A=u*v-p*d,S=f*m-h*g,E=f*v-p*g,C=h*v-p*m,L=y*C-x*E+b*S+_*A-w*M+T*k;return L?(t[0]=(s*C-l*E+c*S)*(L=1/L),t[1]=(i*E-n*C-a*S)*L,t[2]=(g*T-m*w+v*_)*L,t[3]=(h*w-f*T-p*_)*L,t[4]=(l*A-o*C-c*M)*L,t[5]=(r*C-i*A+a*M)*L,t[6]=(m*b-d*T-v*x)*L,t[7]=(u*T-h*b+p*x)*L,t[8]=(o*E-s*A+c*k)*L,t[9]=(n*A-r*E-a*k)*L,t[10]=(d*w-g*b+v*y)*L,t[11]=(f*b-u*w-p*y)*L,t[12]=(s*M-o*S-l*k)*L,t[13]=(r*S-n*M+i*k)*L,t[14]=(g*x-d*_-m*y)*L,t[15]=(u*_-f*x+h*y)*L,t):null},t.isChar=Vn,t.isMapboxURL=H,t.keysDifference=function(t,e){var r=[];for(var n in t)n in e||r.push(n);return r},t.makeRequest=vt,t.mapObject=v,t.mercatorXfromLng=Dc,t.mercatorYfromLat=Rc,t.mercatorZfromAltitude=Fc,t.mul=io,t.multiply=ro,t.mvt=gs,t.normalize=function(t,e){var r=e[0],n=e[1],i=e[2],a=r*r+n*n+i*i;return a>0&&(a=1/Math.sqrt(a)),t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a,t},t.number=Ue,t.offscreenCanvasSupported=ft,t.ortho=function(t,e,r,n,i,a,o){var s=1/(e-r),l=1/(n-i),c=1/(a-o);return t[0]=-2*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*l,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*c,t[11]=0,t[12]=(e+r)*s,t[13]=(i+n)*l,t[14]=(o+a)*c,t[15]=1,t},t.parseGlyphPBF=function(t){return new Hs(t).readFields(ll,[])},t.pbf=Hs,t.performSymbolLayout=function(t,e,r,n,i,a,o){t.createArrays(),t.tilePixelRatio=8192/(512*t.overscaling),t.compareText={},t.iconsNeedLinear=!1;var s=t.layers[0].layout,l=t.layers[0]._unevaluatedLayout._values,c={};if("composite"===t.textSizeData.kind){var u=t.textSizeData,f=u.maxZoom;c.compositeTextSizes=[l["text-size"].possiblyEvaluate(new ii(u.minZoom),o),l["text-size"].possiblyEvaluate(new ii(f),o)]}if("composite"===t.iconSizeData.kind){var h=t.iconSizeData,p=h.maxZoom;c.compositeIconSizes=[l["icon-size"].possiblyEvaluate(new ii(h.minZoom),o),l["icon-size"].possiblyEvaluate(new ii(p),o)]}c.layoutTextSize=l["text-size"].possiblyEvaluate(new ii(t.zoom+1),o),c.layoutIconSize=l["icon-size"].possiblyEvaluate(new ii(t.zoom+1),o),c.textMaxSize=l["text-size"].possiblyEvaluate(new ii(18));for(var d=24*s.get("text-line-height"),g="map"===s.get("text-rotation-alignment")&&"point"!==s.get("symbol-placement"),m=s.get("text-keep-upright"),v=s.get("text-size"),y=function(){var a=b[x],l=s.get("text-font").evaluate(a,{},o).join(","),u=v.evaluate(a,{},o),f=c.layoutTextSize.evaluate(a,{},o),h=c.layoutIconSize.evaluate(a,{},o),p={horizontal:{},vertical:void 0},y=a.text,w=[0,0];if(y){var T=y.toString(),k=24*s.get("text-letter-spacing").evaluate(a,{},o),M=function(t){for(var e=0,r=t;e<r.length;e+=1)if(n=r[e].charCodeAt(0),Vn.Arabic(n)||Vn["Arabic Supplement"](n)||Vn["Arabic Extended-A"](n)||Vn["Arabic Presentation Forms-A"](n)||Vn["Arabic Presentation Forms-B"](n))return!1;var n;return!0}(T)?k:0,A=s.get("text-anchor").evaluate(a,{},o),S=s.get("text-variable-anchor");if(!S){var E=s.get("text-radial-offset").evaluate(a,{},o);w=E?$l(A,[24*E,Ql]):s.get("text-offset").evaluate(a,{},o).map((function(t){return 24*t}))}var C=g?"center":s.get("text-justify").evaluate(a,{},o),L=s.get("symbol-placement"),I="point"===L?24*s.get("text-max-width").evaluate(a,{},o):0,P=function(){t.allowVerticalPlacement&&qn(T)&&(p.vertical=yl(y,e,r,i,l,I,d,A,"left",M,w,gl.vertical,!0,L,f,u))};if(!g&&S){for(var z="auto"===C?S.map((function(t){return tc(t)})):[C],O=!1,D=0;D<z.length;D++){var R=z[D];if(!p.horizontal[R])if(O)p.horizontal[R]=p.horizontal[0];else{var F=yl(y,e,r,i,l,I,d,"center",R,M,w,gl.horizontal,!1,L,f,u);F&&(p.horizontal[R]=F,O=1===F.positionedLines.length)}}P()}else{"auto"===C&&(C=tc(A));var B=yl(y,e,r,i,l,I,d,A,C,M,w,gl.horizontal,!1,L,f,u);B&&(p.horizontal[C]=B),P(),qn(T)&&g&&m&&(p.vertical=yl(y,e,r,i,l,I,d,A,C,M,w,gl.vertical,!1,L,f,u))}}var N=void 0,j=!1;if(a.icon&&a.icon.name){var U=n[a.icon.name];U&&(N=function(t,e,r){var n=Al(r),i=e[0]-t.displaySize[0]*n.horizontalAlign,a=e[1]-t.displaySize[1]*n.verticalAlign;return{image:t,top:a,bottom:a+t.displaySize[1],left:i,right:i+t.displaySize[0]}}(i[a.icon.name],s.get("icon-offset").evaluate(a,{},o),s.get("icon-anchor").evaluate(a,{},o)),j=U.sdf,void 0===t.sdfIcons?t.sdfIcons=U.sdf:t.sdfIcons!==U.sdf&&_("Style sheet warning: Cannot mix SDF and non-SDF icons in one buffer"),(U.pixelRatio!==t.pixelRatio||0!==s.get("icon-rotate").constantOr(1))&&(t.iconsNeedLinear=!0))}var V=rc(p.horizontal)||p.vertical;t.iconsInText=!!V&&V.iconsInText,(V||N)&&function(t,e,r,n,i,a,o,s,l,c,u){var f=a.textMaxSize.evaluate(e,{});void 0===f&&(f=o);var h,p=t.layers[0].layout,d=p.get("icon-offset").evaluate(e,{},u),g=rc(r.horizontal),m=o/24,v=t.tilePixelRatio*m,y=t.tilePixelRatio*f/24,x=t.tilePixelRatio*s,b=t.tilePixelRatio*p.get("symbol-spacing"),w=p.get("text-padding")*t.tilePixelRatio,T=p.get("icon-padding")*t.tilePixelRatio,k=p.get("text-max-angle")/180*Math.PI,M="map"===p.get("text-rotation-alignment")&&"point"!==p.get("symbol-placement"),A="map"===p.get("icon-rotation-alignment")&&"point"!==p.get("symbol-placement"),S=p.get("symbol-placement"),E=b/2,C=p.get("icon-text-fit");n&&"none"!==C&&(t.allowVerticalPlacement&&r.vertical&&(h=El(n,r.vertical,C,p.get("icon-text-fit-padding"),d,m)),g&&(n=El(n,g,C,p.get("icon-text-fit-padding"),d,m)));var L=function(s,f){f.x<0||f.x>=8192||f.y<0||f.y>=8192||function(t,e,r,n,i,a,o,s,l,c,u,f,h,p,d,g,m,v,y,x,b,w,T,k,M){var A,S,E,C,L,I=t.addToLineVertexArray(e,r),P=0,z=0,O=0,D=0,R=-1,F=-1,B={},N=ca(""),j=0,U=0;if(void 0===s._unevaluatedLayout.getValue("text-radial-offset")?(j=(A=s.layout.get("text-offset").evaluate(b,{},k).map((function(t){return 24*t})))[0],U=A[1]):(j=24*s.layout.get("text-radial-offset").evaluate(b,{},k),U=Ql),t.allowVerticalPlacement&&n.vertical){var V=s.layout.get("text-rotate").evaluate(b,{},k)+90;C=new Yl(l,e,c,u,f,n.vertical,h,p,d,V),o&&(L=new Yl(l,e,c,u,f,o,m,v,d,V))}if(i){var q=s.layout.get("icon-rotate").evaluate(b,{}),H="none"!==s.layout.get("icon-text-fit"),G=Ul(i,q,T,H),Y=o?Ul(o,q,T,H):void 0;E=new Yl(l,e,c,u,f,i,m,v,!1,q),P=4*G.length;var W=t.iconSizeData,X=null;"source"===W.kind?(X=[128*s.layout.get("icon-size").evaluate(b,{})])[0]>32640&&_(t.layerIds[0]+': Value for "icon-size" is >= 255. Reduce your "icon-size".'):"composite"===W.kind&&((X=[128*w.compositeIconSizes[0].evaluate(b,{},k),128*w.compositeIconSizes[1].evaluate(b,{},k)])[0]>32640||X[1]>32640)&&_(t.layerIds[0]+': Value for "icon-size" is >= 255. Reduce your "icon-size".'),t.addSymbols(t.icon,G,X,x,y,b,!1,e,I.lineStartIndex,I.lineLength,-1,k),R=t.icon.placedSymbolArray.length-1,Y&&(z=4*Y.length,t.addSymbols(t.icon,Y,X,x,y,b,gl.vertical,e,I.lineStartIndex,I.lineLength,-1,k),F=t.icon.placedSymbolArray.length-1)}for(var Z in n.horizontal){var J=n.horizontal[Z];if(!S){N=ca(J.text);var K=s.layout.get("text-rotate").evaluate(b,{},k);S=new Yl(l,e,c,u,f,J,h,p,d,K)}var Q=1===J.positionedLines.length;if(O+=ec(t,e,J,a,s,d,b,g,I,n.vertical?gl.horizontal:gl.horizontalOnly,Q?Object.keys(n.horizontal):[Z],B,R,w,k),Q)break}n.vertical&&(D+=ec(t,e,n.vertical,a,s,d,b,g,I,gl.vertical,["vertical"],B,F,w,k));var $=S?S.boxStartIndex:t.collisionBoxArray.length,tt=S?S.boxEndIndex:t.collisionBoxArray.length,et=C?C.boxStartIndex:t.collisionBoxArray.length,rt=C?C.boxEndIndex:t.collisionBoxArray.length,nt=E?E.boxStartIndex:t.collisionBoxArray.length,it=E?E.boxEndIndex:t.collisionBoxArray.length,at=L?L.boxStartIndex:t.collisionBoxArray.length,ot=L?L.boxEndIndex:t.collisionBoxArray.length,st=-1,lt=function(t,e){return t&&t.circleDiameter?Math.max(t.circleDiameter,e):e};st=lt(S,st),st=lt(C,st),st=lt(E,st);var ct=(st=lt(L,st))>-1?1:0;ct&&(st*=M/24),t.glyphOffsetArray.length>=fc.MAX_GLYPHS&&_("Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907"),void 0!==b.sortKey&&t.addToSortKeyRanges(t.symbolInstances.length,b.sortKey),t.symbolInstances.emplaceBack(e.x,e.y,B.right>=0?B.right:-1,B.center>=0?B.center:-1,B.left>=0?B.left:-1,B.vertical||-1,R,F,N,$,tt,et,rt,nt,it,at,ot,c,O,D,P,z,ct,0,h,j,U,st)}(t,f,s,r,n,i,h,t.layers[0],t.collisionBoxArray,e.index,e.sourceLayerIndex,t.index,v,w,M,l,x,T,A,d,e,a,c,u,o)};if("line"===S)for(var I=0,P=jl(e.geometry,0,0,8192,8192);I<P.length;I+=1)for(var z=P[I],O=0,D=Nl(z,b,k,r.vertical||g,n,24,y,t.overscaling,8192);O<D.length;O+=1){var R=D[O];g&&nc(t,g.text,E,R)||L(z,R)}else if("line-center"===S)for(var F=0,B=e.geometry;F<B.length;F+=1){var N=B[F];if(N.length>1){var j=Bl(N,k,r.vertical||g,n,24,y);j&&L(N,j)}}else if("Polygon"===e.type)for(var U=0,V=Qo(e.geometry,0);U<V.length;U+=1){var q=V[U],H=Zl(q,16);L(q[0],new Cl(H.x,H.y,0))}else if("LineString"===e.type)for(var G=0,Y=e.geometry;G<Y.length;G+=1){var W=Y[G];L(W,new Cl(W[0].x,W[0].y,0))}else if("Point"===e.type)for(var X=0,Z=e.geometry;X<Z.length;X+=1)for(var J=0,K=Z[X];J<K.length;J+=1){var Q=K[J];L([Q],new Cl(Q.x,Q.y,0))}}(t,a,p,N,n,c,f,h,w,j,o)},x=0,b=t.features;x<b.length;x+=1)y();a&&t.generateCollisionDebugBuffers()},t.perspective=function(t,e,r,n,i){var a,o=1/Math.tan(e/2);return t[0]=o/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=o,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=-1,t[12]=0,t[13]=0,t[15]=0,null!=i&&i!==1/0?(t[10]=(i+n)*(a=1/(n-i)),t[14]=2*i*n*a):(t[10]=-1,t[14]=-2*n),t},t.pick=function(t,e){for(var r={},n=0;n<e.length;n++){var i=e[n];i in t&&(r[i]=t[i])}return r},t.plugin=ni,t.polygonIntersectsPolygon=Ba,t.postMapLoadEvent=it,t.postTurnstileEvent=rt,t.potpack=fl,t.refProperties=["type","source","source-layer","minzoom","maxzoom","filter","layout"],t.register=Dn,t.registerForPluginStateChange=function(t){return t({pluginStatus:Jn,pluginURL:Kn}),ti.on("pluginStateChange",t),t},t.rotate=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=Math.sin(r),l=Math.cos(r);return t[0]=n*l+a*s,t[1]=i*l+o*s,t[2]=n*-s+a*l,t[3]=i*-s+o*l,t},t.rotateX=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[4],o=e[5],s=e[6],l=e[7],c=e[8],u=e[9],f=e[10],h=e[11];return e!==t&&(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[4]=a*i+c*n,t[5]=o*i+u*n,t[6]=s*i+f*n,t[7]=l*i+h*n,t[8]=c*i-a*n,t[9]=u*i-o*n,t[10]=f*i-s*n,t[11]=h*i-l*n,t},t.rotateZ=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[0],o=e[1],s=e[2],l=e[3],c=e[4],u=e[5],f=e[6],h=e[7];return e!==t&&(t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=a*i+c*n,t[1]=o*i+u*n,t[2]=s*i+f*n,t[3]=l*i+h*n,t[4]=c*i-a*n,t[5]=u*i-o*n,t[6]=f*i-s*n,t[7]=h*i-l*n,t},t.scale=function(t,e,r){var n=r[0],i=r[1],a=r[2];return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t[4]=e[4]*i,t[5]=e[5]*i,t[6]=e[6]*i,t[7]=e[7]*i,t[8]=e[8]*a,t[9]=e[9]*a,t[10]=e[10]*a,t[11]=e[11]*a,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},t.scale$1=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t},t.scale$2=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t},t.setCacheLimits=function(t,e){at=t,ot=e},t.setRTLTextPlugin=function(t,e,r){if(void 0===r&&(r=!1),"deferred"===Jn||"loading"===Jn||"loaded"===Jn)throw new Error("setRTLTextPlugin cannot be called multiple times.");Kn=R.resolveURL(t),Jn="deferred",Zn=e,$n(),r||ri()},t.sphericalToCartesian=function(t){var e=t[0],r=t[1],n=t[2];return r+=90,r*=Math.PI/180,n*=Math.PI/180,{x:e*Math.cos(r)*Math.sin(n),y:e*Math.sin(r)*Math.sin(n),z:e*Math.cos(n)}},t.sqrLen=function(t){var e=t[0],r=t[1];return e*e+r*r},t.styleSpec=At,t.sub=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t},t.symbolSize=zl,t.transformMat3=function(t,e,r){var n=e[0],i=e[1],a=e[2];return t[0]=n*r[0]+i*r[3]+a*r[6],t[1]=n*r[1]+i*r[4]+a*r[7],t[2]=n*r[2]+i*r[5]+a*r[8],t},t.transformMat4=ao,t.translate=function(t,e,r){var n,i,a,o,s,l,c,u,f,h,p,d,g=r[0],m=r[1],v=r[2];return e===t?(t[12]=e[0]*g+e[4]*m+e[8]*v+e[12],t[13]=e[1]*g+e[5]*m+e[9]*v+e[13],t[14]=e[2]*g+e[6]*m+e[10]*v+e[14],t[15]=e[3]*g+e[7]*m+e[11]*v+e[15]):(i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],c=e[6],u=e[7],f=e[8],h=e[9],p=e[10],d=e[11],t[0]=n=e[0],t[1]=i,t[2]=a,t[3]=o,t[4]=s,t[5]=l,t[6]=c,t[7]=u,t[8]=f,t[9]=h,t[10]=p,t[11]=d,t[12]=n*g+s*m+f*v+e[12],t[13]=i*g+l*m+h*v+e[13],t[14]=a*g+c*m+p*v+e[14],t[15]=o*g+u*m+d*v+e[15]),t},t.triggerPluginCompletionEvent=Qn,t.uniqueId=h,t.validateCustomStyleLayer=function(t){var e=[],r=t.id;return void 0===r&&e.push({message:"layers."+r+': missing required property "id"'}),void 0===t.render&&e.push({message:"layers."+r+': missing required method "render"'}),t.renderingMode&&"2d"!==t.renderingMode&&"3d"!==t.renderingMode&&e.push({message:"layers."+r+': property "renderingMode" must be either "2d" or "3d"'}),e},t.validateLight=An,t.validateStyle=Mn,t.values=function(t){var e=[];for(var r in t)e.push(t[r]);return e},t.vectorTile=gs,t.version="1.10.1",t.warnOnce=_,t.webpSupported=B,t.window=self,t.wrap=c})),n(0,(function(t){function e(t){var r=typeof t;if("number"===r||"boolean"===r||"string"===r||null==t)return JSON.stringify(t);if(Array.isArray(t)){for(var n="[",i=0,a=t;i<a.length;i+=1)n+=e(a[i])+",";return n+"]"}for(var o=Object.keys(t).sort(),s="{",l=0;l<o.length;l++)s+=JSON.stringify(o[l])+":"+e(t[o[l]])+",";return s+"}"}function r(r){for(var n="",i=0,a=t.refProperties;i<a.length;i+=1)n+="/"+e(r[a[i]]);return n}var n=function(t){this.keyCache={},t&&this.replace(t)};n.prototype.replace=function(t){this._layerConfigs={},this._layers={},this.update(t,[])},n.prototype.update=function(e,n){for(var i=this,a=0,o=e;a<o.length;a+=1){var s=o[a];this._layerConfigs[s.id]=s;var l=this._layers[s.id]=t.createStyleLayer(s);l._featureFilter=t.featureFilter(l.filter),this.keyCache[s.id]&&delete this.keyCache[s.id]}for(var c=0,u=n;c<u.length;c+=1){var f=u[c];delete this.keyCache[f],delete this._layerConfigs[f],delete this._layers[f]}this.familiesBySource={};for(var h=0,p=function(t,e){for(var n={},i=0;i<t.length;i++){var a=e&&e[t[i].id]||r(t[i]);e&&(e[t[i].id]=a);var o=n[a];o||(o=n[a]=[]),o.push(t[i])}var s=[];for(var l in n)s.push(n[l]);return s}(t.values(this._layerConfigs),this.keyCache);h<p.length;h+=1){var d=p[h].map((function(t){return i._layers[t.id]})),g=d[0];if("none"!==g.visibility){var m=g.source||"",v=this.familiesBySource[m];v||(v=this.familiesBySource[m]={});var y=g.sourceLayer||"_geojsonTileLayer",x=v[y];x||(x=v[y]=[]),x.push(d)}}};var i=function(e){var r={},n=[];for(var i in e){var a=e[i],o=r[i]={};for(var s in a){var l=a[+s];if(l&&0!==l.bitmap.width&&0!==l.bitmap.height){var c={x:0,y:0,w:l.bitmap.width+2,h:l.bitmap.height+2};n.push(c),o[s]={rect:c,metrics:l.metrics}}}}var u=t.potpack(n),f=new t.AlphaImage({width:u.w||1,height:u.h||1});for(var h in e){var p=e[h];for(var d in p){var g=p[+d];if(g&&0!==g.bitmap.width&&0!==g.bitmap.height){var m=r[h][d].rect;t.AlphaImage.copy(g.bitmap,f,{x:0,y:0},{x:m.x+1,y:m.y+1},g.bitmap)}}}this.image=f,this.positions=r};t.register("GlyphAtlas",i);var a=function(e){this.tileID=new t.OverscaledTileID(e.tileID.overscaledZ,e.tileID.wrap,e.tileID.canonical.z,e.tileID.canonical.x,e.tileID.canonical.y),this.uid=e.uid,this.zoom=e.zoom,this.pixelRatio=e.pixelRatio,this.tileSize=e.tileSize,this.source=e.source,this.overscaling=this.tileID.overscaleFactor(),this.showCollisionBoxes=e.showCollisionBoxes,this.collectResourceTiming=!!e.collectResourceTiming,this.returnDependencies=!!e.returnDependencies,this.promoteId=e.promoteId};function o(e,r,n){for(var i=new t.EvaluationParameters(r),a=0,o=e;a<o.length;a+=1)o[a].recalculate(i,n)}function s(e,r){var n=t.getArrayBuffer(e.request,(function(e,n,i,a){e?r(e):n&&r(null,{vectorTile:new t.vectorTile.VectorTile(new t.pbf(n)),rawData:n,cacheControl:i,expires:a})}));return function(){n.cancel(),r()}}a.prototype.parse=function(e,r,n,a,s){var l=this;this.status="parsing",this.data=e,this.collisionBoxArray=new t.CollisionBoxArray;var c=new t.DictionaryCoder(Object.keys(e.layers).sort()),u=new t.FeatureIndex(this.tileID,this.promoteId);u.bucketLayerIDs=[];var f,h,p,d,g={},m={featureIndex:u,iconDependencies:{},patternDependencies:{},glyphDependencies:{},availableImages:n},v=r.familiesBySource[this.source];for(var y in v){var x=e.layers[y];if(x){1===x.version&&t.warnOnce('Vector tile source "'+this.source+'" layer "'+y+'" does not use vector tile spec v2 and therefore may have some rendering errors.');for(var b=c.encode(y),_=[],w=0;w<x.length;w++){var T=x.feature(w),k=u.getId(T,y);_.push({feature:T,id:k,index:w,sourceLayerIndex:b})}for(var M=0,A=v[y];M<A.length;M+=1){var S=A[M],E=S[0];E.minzoom&&this.zoom<Math.floor(E.minzoom)||E.maxzoom&&this.zoom>=E.maxzoom||"none"!==E.visibility&&(o(S,this.zoom,n),(g[E.id]=E.createBucket({index:u.bucketLayerIDs.length,layers:S,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:b,sourceID:this.source})).populate(_,m,this.tileID.canonical),u.bucketLayerIDs.push(S.map((function(t){return t.id}))))}}}var C=t.mapObject(m.glyphDependencies,(function(t){return Object.keys(t).map(Number)}));Object.keys(C).length?a.send("getGlyphs",{uid:this.uid,stacks:C},(function(t,e){f||(f=t,h=e,P.call(l))})):h={};var L=Object.keys(m.iconDependencies);L.length?a.send("getImages",{icons:L,source:this.source,tileID:this.tileID,type:"icons"},(function(t,e){f||(f=t,p=e,P.call(l))})):p={};var I=Object.keys(m.patternDependencies);function P(){if(f)return s(f);if(h&&p&&d){var e=new i(h),r=new t.ImageAtlas(p,d);for(var a in g){var l=g[a];l instanceof t.SymbolBucket?(o(l.layers,this.zoom,n),t.performSymbolLayout(l,h,e.positions,p,r.iconPositions,this.showCollisionBoxes,this.tileID.canonical)):l.hasPattern&&(l instanceof t.LineBucket||l instanceof t.FillBucket||l instanceof t.FillExtrusionBucket)&&(o(l.layers,this.zoom,n),l.addFeatures(m,this.tileID.canonical,r.patternPositions))}this.status="done",s(null,{buckets:t.values(g).filter((function(t){return!t.isEmpty()})),featureIndex:u,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:e.image,imageAtlas:r,glyphMap:this.returnDependencies?h:null,iconMap:this.returnDependencies?p:null,glyphPositions:this.returnDependencies?e.positions:null})}}I.length?a.send("getImages",{icons:I,source:this.source,tileID:this.tileID,type:"patterns"},(function(t,e){f||(f=t,d=e,P.call(l))})):d={},P.call(this)};var l=function(t,e,r,n){this.actor=t,this.layerIndex=e,this.availableImages=r,this.loadVectorData=n||s,this.loading={},this.loaded={}};l.prototype.loadTile=function(e,r){var n=this,i=e.uid;this.loading||(this.loading={});var o=!!(e&&e.request&&e.request.collectResourceTiming)&&new t.RequestPerformance(e.request),s=this.loading[i]=new a(e);s.abort=this.loadVectorData(e,(function(e,a){if(delete n.loading[i],e||!a)return s.status="done",n.loaded[i]=s,r(e);var l=a.rawData,c={};a.expires&&(c.expires=a.expires),a.cacheControl&&(c.cacheControl=a.cacheControl);var u={};if(o){var f=o.finish();f&&(u.resourceTiming=JSON.parse(JSON.stringify(f)))}s.vectorTile=a.vectorTile,s.parse(a.vectorTile,n.layerIndex,n.availableImages,n.actor,(function(e,n){if(e||!n)return r(e);r(null,t.extend({rawTileData:l.slice(0)},n,c,u))})),n.loaded=n.loaded||{},n.loaded[i]=s}))},l.prototype.reloadTile=function(t,e){var r=this,n=this.loaded,i=t.uid,a=this;if(n&&n[i]){var o=n[i];o.showCollisionBoxes=t.showCollisionBoxes;var s=function(t,n){var i=o.reloadCallback;i&&(delete o.reloadCallback,o.parse(o.vectorTile,a.layerIndex,r.availableImages,a.actor,i)),e(t,n)};"parsing"===o.status?o.reloadCallback=s:"done"===o.status&&(o.vectorTile?o.parse(o.vectorTile,this.layerIndex,this.availableImages,this.actor,s):s())}},l.prototype.abortTile=function(t,e){var r=this.loading,n=t.uid;r&&r[n]&&r[n].abort&&(r[n].abort(),delete r[n]),e()},l.prototype.removeTile=function(t,e){var r=this.loaded,n=t.uid;r&&r[n]&&delete r[n],e()};var c=t.window.ImageBitmap,u=function(){this.loaded={}};function f(t,e){if(0!==t.length){h(t[0],e);for(var r=1;r<t.length;r++)h(t[r],!e)}}function h(t,e){for(var r=0,n=0,i=t.length,a=i-1;n<i;a=n++)r+=(t[n][0]-t[a][0])*(t[a][1]+t[n][1]);r>=0!=!!e&&t.reverse()}u.prototype.loadTile=function(e,r){var n=e.uid,i=e.encoding,a=e.rawImageData,o=c&&a instanceof c?this.getImageData(a):a,s=new t.DEMData(n,o,i);this.loaded=this.loaded||{},this.loaded[n]=s,r(null,s)},u.prototype.getImageData=function(e){this.offscreenCanvas&&this.offscreenCanvasContext||(this.offscreenCanvas=new OffscreenCanvas(e.width,e.height),this.offscreenCanvasContext=this.offscreenCanvas.getContext("2d")),this.offscreenCanvas.width=e.width,this.offscreenCanvas.height=e.height,this.offscreenCanvasContext.drawImage(e,0,0,e.width,e.height);var r=this.offscreenCanvasContext.getImageData(-1,-1,e.width+2,e.height+2);return this.offscreenCanvasContext.clearRect(0,0,this.offscreenCanvas.width,this.offscreenCanvas.height),new t.RGBAImage({width:r.width,height:r.height},r.data)},u.prototype.removeTile=function(t){var e=this.loaded,r=t.uid;e&&e[r]&&delete e[r]};var p=t.vectorTile.VectorTileFeature.prototype.toGeoJSON,d=function(e){this._feature=e,this.extent=t.EXTENT,this.type=e.type,this.properties=e.tags,"id"in e&&!isNaN(e.id)&&(this.id=parseInt(e.id,10))};d.prototype.loadGeometry=function(){if(1===this._feature.type){for(var e=[],r=0,n=this._feature.geometry;r<n.length;r+=1){var i=n[r];e.push([new t.Point$1(i[0],i[1])])}return e}for(var a=[],o=0,s=this._feature.geometry;o<s.length;o+=1){for(var l=[],c=0,u=s[o];c<u.length;c+=1){var f=u[c];l.push(new t.Point$1(f[0],f[1]))}a.push(l)}return a},d.prototype.toGeoJSON=function(t,e,r){return p.call(this,t,e,r)};var g=function(e){this.layers={_geojsonTileLayer:this},this.name="_geojsonTileLayer",this.extent=t.EXTENT,this.length=e.length,this._features=e};g.prototype.feature=function(t){return new d(this._features[t])};var m=t.vectorTile.VectorTileFeature,v=y;function y(t,e){this.options=e||{},this.features=t,this.length=t.length}function x(t,e){this.id="number"==typeof t.id?t.id:void 0,this.type=t.type,this.rawGeometry=1===t.type?[t.geometry]:t.geometry,this.properties=t.tags,this.extent=e||4096}y.prototype.feature=function(t){return new x(this.features[t],this.options.extent)},x.prototype.loadGeometry=function(){var e=this.rawGeometry;this.geometry=[];for(var r=0;r<e.length;r++){for(var n=e[r],i=[],a=0;a<n.length;a++)i.push(new t.Point$1(n[a][0],n[a][1]));this.geometry.push(i)}return this.geometry},x.prototype.bbox=function(){this.geometry||this.loadGeometry();for(var t=this.geometry,e=1/0,r=-1/0,n=1/0,i=-1/0,a=0;a<t.length;a++)for(var o=t[a],s=0;s<o.length;s++){var l=o[s];e=Math.min(e,l.x),r=Math.max(r,l.x),n=Math.min(n,l.y),i=Math.max(i,l.y)}return[e,n,r,i]},x.prototype.toGeoJSON=m.prototype.toGeoJSON;var b=w,_=v;function w(e){var r=new t.pbf;return function(t,e){for(var r in t.layers)e.writeMessage(3,T,t.layers[r])}(e,r),r.finish()}function T(t,e){var r;e.writeVarintField(15,t.version||1),e.writeStringField(1,t.name||""),e.writeVarintField(5,t.extent||4096);var n={keys:[],values:[],keycache:{},valuecache:{}};for(r=0;r<t.length;r++)n.feature=t.feature(r),e.writeMessage(2,k,n);var i=n.keys;for(r=0;r<i.length;r++)e.writeStringField(3,i[r]);var a=n.values;for(r=0;r<a.length;r++)e.writeMessage(4,C,a[r])}function k(t,e){var r=t.feature;void 0!==r.id&&e.writeVarintField(1,r.id),e.writeMessage(2,M,t),e.writeVarintField(3,r.type),e.writeMessage(4,E,r)}function M(t,e){var r=t.feature,n=t.keys,i=t.values,a=t.keycache,o=t.valuecache;for(var s in r.properties){var l=a[s];void 0===l&&(n.push(s),a[s]=l=n.length-1),e.writeVarint(l);var c=r.properties[s],u=typeof c;"string"!==u&&"boolean"!==u&&"number"!==u&&(c=JSON.stringify(c));var f=u+":"+c,h=o[f];void 0===h&&(i.push(c),o[f]=h=i.length-1),e.writeVarint(h)}}function A(t,e){return(e<<3)+(7&t)}function S(t){return t<<1^t>>31}function E(t,e){for(var r=t.loadGeometry(),n=t.type,i=0,a=0,o=r.length,s=0;s<o;s++){var l=r[s],c=1;1===n&&(c=l.length),e.writeVarint(A(1,c));for(var u=3===n?l.length-1:l.length,f=0;f<u;f++){1===f&&1!==n&&e.writeVarint(A(2,u-1));var h=l[f].x-i,p=l[f].y-a;e.writeVarint(S(h)),e.writeVarint(S(p)),i+=h,a+=p}3===n&&e.writeVarint(A(7,1))}}function C(t,e){var r=typeof t;"string"===r?e.writeStringField(1,t):"boolean"===r?e.writeBooleanField(7,t):"number"===r&&(t%1!=0?e.writeDoubleField(3,t):t<0?e.writeSVarintField(6,t):e.writeVarintField(5,t))}function L(t,e,r,n){I(t,r,n),I(e,2*r,2*n),I(e,2*r+1,2*n+1)}function I(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function P(t,e,r,n){var i=t-r,a=e-n;return i*i+a*a}b.fromVectorTileJs=w,b.fromGeojsonVt=function(t,e){e=e||{};var r={};for(var n in t)r[n]=new v(t[n].features,e),r[n].name=n,r[n].version=e.version,r[n].extent=e.extent;return w({layers:r})},b.GeoJSONWrapper=_;var z=function(t){return t[0]},O=function(t){return t[1]},D=function(t,e,r,n,i){void 0===e&&(e=z),void 0===r&&(r=O),void 0===n&&(n=64),void 0===i&&(i=Float64Array),this.nodeSize=n,this.points=t;for(var a=t.length<65536?Uint16Array:Uint32Array,o=this.ids=new a(t.length),s=this.coords=new i(2*t.length),l=0;l<t.length;l++)o[l]=l,s[2*l]=e(t[l]),s[2*l+1]=r(t[l]);!function t(e,r,n,i,a,o){if(!(a-i<=n)){var s=i+a>>1;!function t(e,r,n,i,a,o){for(;a>i;){if(a-i>600){var s=a-i+1,l=n-i+1,c=Math.log(s),u=.5*Math.exp(2*c/3),f=.5*Math.sqrt(c*u*(s-u)/s)*(l-s/2<0?-1:1);t(e,r,n,Math.max(i,Math.floor(n-l*u/s+f)),Math.min(a,Math.floor(n+(s-l)*u/s+f)),o)}var h=r[2*n+o],p=i,d=a;for(L(e,r,i,n),r[2*a+o]>h&&L(e,r,i,a);p<d;){for(L(e,r,p,d),p++,d--;r[2*p+o]<h;)p++;for(;r[2*d+o]>h;)d--}r[2*i+o]===h?L(e,r,i,d):L(e,r,++d,a),d<=n&&(i=d+1),n<=d&&(a=d-1)}}(e,r,s,i,a,o%2),t(e,r,n,i,s-1,o+1),t(e,r,n,s+1,a,o+1)}}(o,s,n,0,o.length-1,0)};D.prototype.range=function(t,e,r,n){return function(t,e,r,n,i,a,o){for(var s,l,c=[0,t.length-1,0],u=[];c.length;){var f=c.pop(),h=c.pop(),p=c.pop();if(h-p<=o)for(var d=p;d<=h;d++)l=e[2*d+1],(s=e[2*d])>=r&&s<=i&&l>=n&&l<=a&&u.push(t[d]);else{var g=Math.floor((p+h)/2);l=e[2*g+1],(s=e[2*g])>=r&&s<=i&&l>=n&&l<=a&&u.push(t[g]);var m=(f+1)%2;(0===f?r<=s:n<=l)&&(c.push(p),c.push(g-1),c.push(m)),(0===f?i>=s:a>=l)&&(c.push(g+1),c.push(h),c.push(m))}}return u}(this.ids,this.coords,t,e,r,n,this.nodeSize)},D.prototype.within=function(t,e,r){return function(t,e,r,n,i,a){for(var o=[0,t.length-1,0],s=[],l=i*i;o.length;){var c=o.pop(),u=o.pop(),f=o.pop();if(u-f<=a)for(var h=f;h<=u;h++)P(e[2*h],e[2*h+1],r,n)<=l&&s.push(t[h]);else{var p=Math.floor((f+u)/2),d=e[2*p],g=e[2*p+1];P(d,g,r,n)<=l&&s.push(t[p]);var m=(c+1)%2;(0===c?r-i<=d:n-i<=g)&&(o.push(f),o.push(p-1),o.push(m)),(0===c?r+i>=d:n+i>=g)&&(o.push(p+1),o.push(u),o.push(m))}}return s}(this.ids,this.coords,t,e,r,this.nodeSize)};var R={minZoom:0,maxZoom:16,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:function(t){return t}},F=function(t){this.options=H(Object.create(R),t),this.trees=new Array(this.options.maxZoom+1)};function B(t,e,r,n,i){return{x:t,y:e,zoom:1/0,id:r,parentId:-1,numPoints:n,properties:i}}function N(t,e){var r=t.geometry.coordinates,n=r[1];return{x:V(r[0]),y:q(n),zoom:1/0,index:e,parentId:-1}}function j(t){return{type:"Feature",id:t.id,properties:U(t),geometry:{type:"Point",coordinates:[(n=t.x,360*(n-.5)),(e=t.y,r=(180-360*e)*Math.PI/180,360*Math.atan(Math.exp(r))/Math.PI-90)]}};var e,r,n}function U(t){var e=t.numPoints,r=e>=1e4?Math.round(e/1e3)+"k":e>=1e3?Math.round(e/100)/10+"k":e;return H(H({},t.properties),{cluster:!0,cluster_id:t.id,point_count:e,point_count_abbreviated:r})}function V(t){return t/360+.5}function q(t){var e=Math.sin(t*Math.PI/180),r=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return r<0?0:r>1?1:r}function H(t,e){for(var r in e)t[r]=e[r];return t}function G(t){return t.x}function Y(t){return t.y}function W(t,e,r,n,i,a){var o=i-r,s=a-n;if(0!==o||0!==s){var l=((t-r)*o+(e-n)*s)/(o*o+s*s);l>1?(r=i,n=a):l>0&&(r+=o*l,n+=s*l)}return(o=t-r)*o+(s=e-n)*s}function X(t,e,r,n){var i={id:void 0===t?null:t,type:e,geometry:r,tags:n,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};return function(t){var e=t.geometry,r=t.type;if("Point"===r||"MultiPoint"===r||"LineString"===r)Z(t,e);else if("Polygon"===r||"MultiLineString"===r)for(var n=0;n<e.length;n++)Z(t,e[n]);else if("MultiPolygon"===r)for(n=0;n<e.length;n++)for(var i=0;i<e[n].length;i++)Z(t,e[n][i])}(i),i}function Z(t,e){for(var r=0;r<e.length;r+=3)t.minX=Math.min(t.minX,e[r]),t.minY=Math.min(t.minY,e[r+1]),t.maxX=Math.max(t.maxX,e[r]),t.maxY=Math.max(t.maxY,e[r+1])}function J(t,e,r,n){if(e.geometry){var i=e.geometry.coordinates,a=e.geometry.type,o=Math.pow(r.tolerance/((1<<r.maxZoom)*r.extent),2),s=[],l=e.id;if(r.promoteId?l=e.properties[r.promoteId]:r.generateId&&(l=n||0),"Point"===a)K(i,s);else if("MultiPoint"===a)for(var c=0;c<i.length;c++)K(i[c],s);else if("LineString"===a)Q(i,s,o,!1);else if("MultiLineString"===a){if(r.lineMetrics){for(c=0;c<i.length;c++)Q(i[c],s=[],o,!1),t.push(X(l,"LineString",s,e.properties));return}$(i,s,o,!1)}else if("Polygon"===a)$(i,s,o,!0);else{if("MultiPolygon"!==a){if("GeometryCollection"===a){for(c=0;c<e.geometry.geometries.length;c++)J(t,{id:l,geometry:e.geometry.geometries[c],properties:e.properties},r,n);return}throw new Error("Input data is not a valid GeoJSON object.")}for(c=0;c<i.length;c++){var u=[];$(i[c],u,o,!0),s.push(u)}}t.push(X(l,a,s,e.properties))}}function K(t,e){e.push(tt(t[0])),e.push(et(t[1])),e.push(0)}function Q(t,e,r,n){for(var i,a,o=0,s=0;s<t.length;s++){var l=tt(t[s][0]),c=et(t[s][1]);e.push(l),e.push(c),e.push(0),s>0&&(o+=n?(i*c-l*a)/2:Math.sqrt(Math.pow(l-i,2)+Math.pow(c-a,2))),i=l,a=c}var u=e.length-3;e[2]=1,function t(e,r,n,i){for(var a,o=i,s=n-r>>1,l=n-r,c=e[r],u=e[r+1],f=e[n],h=e[n+1],p=r+3;p<n;p+=3){var d=W(e[p],e[p+1],c,u,f,h);if(d>o)a=p,o=d;else if(d===o){var g=Math.abs(p-s);g<l&&(a=p,l=g)}}o>i&&(a-r>3&&t(e,r,a,i),e[a+2]=o,n-a>3&&t(e,a,n,i))}(e,0,u,r),e[u+2]=1,e.size=Math.abs(o),e.start=0,e.end=e.size}function $(t,e,r,n){for(var i=0;i<t.length;i++){var a=[];Q(t[i],a,r,n),e.push(a)}}function tt(t){return t/360+.5}function et(t){var e=Math.sin(t*Math.PI/180),r=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return r<0?0:r>1?1:r}function rt(t,e,r,n,i,a,o,s){if(n/=e,a>=(r/=e)&&o<n)return t;if(o<r||a>=n)return null;for(var l=[],c=0;c<t.length;c++){var u=t[c],f=u.geometry,h=u.type,p=0===i?u.minX:u.minY,d=0===i?u.maxX:u.maxY;if(p>=r&&d<n)l.push(u);else if(!(d<r||p>=n)){var g=[];if("Point"===h||"MultiPoint"===h)nt(f,g,r,n,i);else if("LineString"===h)it(f,g,r,n,i,!1,s.lineMetrics);else if("MultiLineString"===h)ot(f,g,r,n,i,!1);else if("Polygon"===h)ot(f,g,r,n,i,!0);else if("MultiPolygon"===h)for(var m=0;m<f.length;m++){var v=[];ot(f[m],v,r,n,i,!0),v.length&&g.push(v)}if(g.length){if(s.lineMetrics&&"LineString"===h){for(m=0;m<g.length;m++)l.push(X(u.id,h,g[m],u.tags));continue}"LineString"!==h&&"MultiLineString"!==h||(1===g.length?(h="LineString",g=g[0]):h="MultiLineString"),"Point"!==h&&"MultiPoint"!==h||(h=3===g.length?"Point":"MultiPoint"),l.push(X(u.id,h,g,u.tags))}}}return l.length?l:null}function nt(t,e,r,n,i){for(var a=0;a<t.length;a+=3){var o=t[a+i];o>=r&&o<=n&&(e.push(t[a]),e.push(t[a+1]),e.push(t[a+2]))}}function it(t,e,r,n,i,a,o){for(var s,l,c=at(t),u=0===i?lt:ct,f=t.start,h=0;h<t.length-3;h+=3){var p=t[h],d=t[h+1],g=t[h+2],m=t[h+3],v=t[h+4],y=0===i?p:d,x=0===i?m:v,b=!1;o&&(s=Math.sqrt(Math.pow(p-m,2)+Math.pow(d-v,2))),y<r?x>r&&(l=u(c,p,d,m,v,r),o&&(c.start=f+s*l)):y>n?x<n&&(l=u(c,p,d,m,v,n),o&&(c.start=f+s*l)):st(c,p,d,g),x<r&&y>=r&&(l=u(c,p,d,m,v,r),b=!0),x>n&&y<=n&&(l=u(c,p,d,m,v,n),b=!0),!a&&b&&(o&&(c.end=f+s*l),e.push(c),c=at(t)),o&&(f+=s)}var _=t.length-3;p=t[_],d=t[_+1],g=t[_+2],(y=0===i?p:d)>=r&&y<=n&&st(c,p,d,g),_=c.length-3,a&&_>=3&&(c[_]!==c[0]||c[_+1]!==c[1])&&st(c,c[0],c[1],c[2]),c.length&&e.push(c)}function at(t){var e=[];return e.size=t.size,e.start=t.start,e.end=t.end,e}function ot(t,e,r,n,i,a){for(var o=0;o<t.length;o++)it(t[o],e,r,n,i,a,!1)}function st(t,e,r,n){t.push(e),t.push(r),t.push(n)}function lt(t,e,r,n,i,a){var o=(a-e)/(n-e);return t.push(a),t.push(r+(i-r)*o),t.push(1),o}function ct(t,e,r,n,i,a){var o=(a-r)/(i-r);return t.push(e+(n-e)*o),t.push(a),t.push(1),o}function ut(t,e){for(var r=[],n=0;n<t.length;n++){var i,a=t[n],o=a.type;if("Point"===o||"MultiPoint"===o||"LineString"===o)i=ft(a.geometry,e);else if("MultiLineString"===o||"Polygon"===o){i=[];for(var s=0;s<a.geometry.length;s++)i.push(ft(a.geometry[s],e))}else if("MultiPolygon"===o)for(i=[],s=0;s<a.geometry.length;s++){for(var l=[],c=0;c<a.geometry[s].length;c++)l.push(ft(a.geometry[s][c],e));i.push(l)}r.push(X(a.id,o,i,a.tags))}return r}function ft(t,e){var r=[];r.size=t.size,void 0!==t.start&&(r.start=t.start,r.end=t.end);for(var n=0;n<t.length;n+=3)r.push(t[n]+e,t[n+1],t[n+2]);return r}function ht(t,e){if(t.transformed)return t;var r,n,i,a=1<<t.z,o=t.x,s=t.y;for(r=0;r<t.features.length;r++){var l=t.features[r],c=l.geometry,u=l.type;if(l.geometry=[],1===u)for(n=0;n<c.length;n+=2)l.geometry.push(pt(c[n],c[n+1],e,a,o,s));else for(n=0;n<c.length;n++){var f=[];for(i=0;i<c[n].length;i+=2)f.push(pt(c[n][i],c[n][i+1],e,a,o,s));l.geometry.push(f)}}return t.transformed=!0,t}function pt(t,e,r,n,i,a){return[Math.round(r*(t*n-i)),Math.round(r*(e*n-a))]}function dt(t,e,r,n,i){for(var a=e===i.maxZoom?0:i.tolerance/((1<<e)*i.extent),o={features:[],numPoints:0,numSimplified:0,numFeatures:0,source:null,x:r,y:n,z:e,transformed:!1,minX:2,minY:1,maxX:-1,maxY:0},s=0;s<t.length;s++){o.numFeatures++,gt(o,t[s],a,i);var l=t[s].minX,c=t[s].minY,u=t[s].maxX,f=t[s].maxY;l<o.minX&&(o.minX=l),c<o.minY&&(o.minY=c),u>o.maxX&&(o.maxX=u),f>o.maxY&&(o.maxY=f)}return o}function gt(t,e,r,n){var i=e.geometry,a=e.type,o=[];if("Point"===a||"MultiPoint"===a)for(var s=0;s<i.length;s+=3)o.push(i[s]),o.push(i[s+1]),t.numPoints++,t.numSimplified++;else if("LineString"===a)mt(o,i,t,r,!1,!1);else if("MultiLineString"===a||"Polygon"===a)for(s=0;s<i.length;s++)mt(o,i[s],t,r,"Polygon"===a,0===s);else if("MultiPolygon"===a)for(var l=0;l<i.length;l++){var c=i[l];for(s=0;s<c.length;s++)mt(o,c[s],t,r,!0,0===s)}if(o.length){var u=e.tags||null;if("LineString"===a&&n.lineMetrics){for(var f in u={},e.tags)u[f]=e.tags[f];u.mapbox_clip_start=i.start/i.size,u.mapbox_clip_end=i.end/i.size}var h={geometry:o,type:"Polygon"===a||"MultiPolygon"===a?3:"LineString"===a||"MultiLineString"===a?2:1,tags:u};null!==e.id&&(h.id=e.id),t.features.push(h)}}function mt(t,e,r,n,i,a){var o=n*n;if(n>0&&e.size<(i?o:n))r.numPoints+=e.length/3;else{for(var s=[],l=0;l<e.length;l+=3)(0===n||e[l+2]>o)&&(r.numSimplified++,s.push(e[l]),s.push(e[l+1])),r.numPoints++;i&&function(t,e){for(var r=0,n=0,i=t.length,a=i-2;n<i;a=n,n+=2)r+=(t[n]-t[a])*(t[n+1]+t[a+1]);if(r>0===e)for(n=0,i=t.length;n<i/2;n+=2){var o=t[n],s=t[n+1];t[n]=t[i-2-n],t[n+1]=t[i-1-n],t[i-2-n]=o,t[i-1-n]=s}}(s,a),t.push(s)}}function vt(t,e){var r=(e=this.options=function(t,e){for(var r in e)t[r]=e[r];return t}(Object.create(this.options),e)).debug;if(r&&console.time("preprocess data"),e.maxZoom<0||e.maxZoom>24)throw new Error("maxZoom should be in the 0-24 range");if(e.promoteId&&e.generateId)throw new Error("promoteId and generateId cannot be used together.");var n=function(t,e){var r=[];if("FeatureCollection"===t.type)for(var n=0;n<t.features.length;n++)J(r,t.features[n],e,n);else J(r,"Feature"===t.type?t:{geometry:t},e);return r}(t,e);this.tiles={},this.tileCoords=[],r&&(console.timeEnd("preprocess data"),console.log("index: maxZoom: %d, maxPoints: %d",e.indexMaxZoom,e.indexMaxPoints),console.time("generate tiles"),this.stats={},this.total=0),(n=function(t,e){var r=e.buffer/e.extent,n=t,i=rt(t,1,-1-r,r,0,-1,2,e),a=rt(t,1,1-r,2+r,0,-1,2,e);return(i||a)&&(n=rt(t,1,-r,1+r,0,-1,2,e)||[],i&&(n=ut(i,1).concat(n)),a&&(n=n.concat(ut(a,-1)))),n}(n,e)).length&&this.splitTile(n,0,0,0),r&&(n.length&&console.log("features: %d, points: %d",this.tiles[0].numFeatures,this.tiles[0].numPoints),console.timeEnd("generate tiles"),console.log("tiles generated:",this.total,JSON.stringify(this.stats)))}function yt(t,e,r){return 32*((1<<t)*r+e)+t}function xt(t,e){var r=t.tileID.canonical;if(!this._geoJSONIndex)return e(null,null);var n=this._geoJSONIndex.getTile(r.z,r.x,r.y);if(!n)return e(null,null);var i=new g(n.features),a=b(i);0===a.byteOffset&&a.byteLength===a.buffer.byteLength||(a=new Uint8Array(a)),e(null,{vectorTile:i,rawData:a.buffer})}F.prototype.load=function(t){var e=this.options,r=e.log,n=e.minZoom,i=e.maxZoom,a=e.nodeSize;r&&console.time("total time");var o="prepare "+t.length+" points";r&&console.time(o),this.points=t;for(var s=[],l=0;l<t.length;l++)t[l].geometry&&s.push(N(t[l],l));this.trees[i+1]=new D(s,G,Y,a,Float32Array),r&&console.timeEnd(o);for(var c=i;c>=n;c--){var u=+Date.now();s=this._cluster(s,c),this.trees[c]=new D(s,G,Y,a,Float32Array),r&&console.log("z%d: %d clusters in %dms",c,s.length,+Date.now()-u)}return r&&console.timeEnd("total time"),this},F.prototype.getClusters=function(t,e){var r=((t[0]+180)%360+360)%360-180,n=Math.max(-90,Math.min(90,t[1])),i=180===t[2]?180:((t[2]+180)%360+360)%360-180,a=Math.max(-90,Math.min(90,t[3]));if(t[2]-t[0]>=360)r=-180,i=180;else if(r>i){var o=this.getClusters([r,n,180,a],e),s=this.getClusters([-180,n,i,a],e);return o.concat(s)}for(var l=this.trees[this._limitZoom(e)],c=[],u=0,f=l.range(V(r),q(a),V(i),q(n));u<f.length;u+=1){var h=l.points[f[u]];c.push(h.numPoints?j(h):this.points[h.index])}return c},F.prototype.getChildren=function(t){var e=this._getOriginId(t),r=this._getOriginZoom(t),n="No cluster with the specified id.",i=this.trees[r];if(!i)throw new Error(n);var a=i.points[e];if(!a)throw new Error(n);for(var o=this.options.radius/(this.options.extent*Math.pow(2,r-1)),s=[],l=0,c=i.within(a.x,a.y,o);l<c.length;l+=1){var u=i.points[c[l]];u.parentId===t&&s.push(u.numPoints?j(u):this.points[u.index])}if(0===s.length)throw new Error(n);return s},F.prototype.getLeaves=function(t,e,r){var n=[];return this._appendLeaves(n,t,e=e||10,r=r||0,0),n},F.prototype.getTile=function(t,e,r){var n=this.trees[this._limitZoom(t)],i=Math.pow(2,t),a=this.options,o=a.radius/a.extent,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&&this._addTileFeatures(n.range(1-o/i,s,1,l),n.points,i,r,i,c),e===i-1&&this._addTileFeatures(n.range(0,s,o/i,l),n.points,-1,r,i,c),c.features.length?c:null},F.prototype.getClusterExpansionZoom=function(t){for(var e=this._getOriginZoom(t)-1;e<=this.options.maxZoom;){var r=this.getChildren(t);if(e++,1!==r.length)break;t=r[0].properties.cluster_id}return e},F.prototype._appendLeaves=function(t,e,r,n,i){for(var a=0,o=this.getChildren(e);a<o.length;a+=1){var s=o[a],l=s.properties;if(l&&l.cluster?i+l.point_count<=n?i+=l.point_count:i=this._appendLeaves(t,l.cluster_id,r,n,i):i<n?i++:t.push(s),t.length===r)break}return i},F.prototype._addTileFeatures=function(t,e,r,n,i,a){for(var o=0,s=t;o<s.length;o+=1){var l=e[s[o]],c=l.numPoints,u={type:1,geometry:[[Math.round(this.options.extent*(l.x*i-r)),Math.round(this.options.extent*(l.y*i-n))]],tags:c?U(l):this.points[l.index].properties},f=void 0;c?f=l.id:this.options.generateId?f=l.index:this.points[l.index].id&&(f=this.points[l.index].id),void 0!==f&&(u.id=f),a.features.push(u)}},F.prototype._limitZoom=function(t){return Math.max(this.options.minZoom,Math.min(t,this.options.maxZoom+1))},F.prototype._cluster=function(t,e){for(var r=[],n=this.options,i=n.reduce,a=n.radius/(n.extent*Math.pow(2,e)),o=0;o<t.length;o++){var s=t[o];if(!(s.zoom<=e)){s.zoom=e;for(var l=this.trees[e+1],c=l.within(s.x,s.y,a),u=s.numPoints||1,f=s.x*u,h=s.y*u,p=i&&u>1?this._map(s,!0):null,d=(o<<5)+(e+1)+this.points.length,g=0,m=c;g<m.length;g+=1){var v=l.points[m[g]];if(!(v.zoom<=e)){v.zoom=e;var y=v.numPoints||1;f+=v.x*y,h+=v.y*y,u+=y,v.parentId=d,i&&(p||(p=this._map(s,!0)),i(p,this._map(v)))}}1===u?r.push(s):(s.parentId=d,r.push(B(f/u,h/u,d,u,p)))}}return r},F.prototype._getOriginId=function(t){return t-this.points.length>>5},F.prototype._getOriginZoom=function(t){return(t-this.points.length)%32},F.prototype._map=function(t,e){if(t.numPoints)return e?H({},t.properties):t.properties;var r=this.points[t.index].properties,n=this.options.map(r);return e&&n===r?H({},n):n},vt.prototype.options={maxZoom:14,indexMaxZoom:5,indexMaxPoints:1e5,tolerance:3,extent:4096,buffer:64,lineMetrics:!1,promoteId:null,generateId:!1,debug:0},vt.prototype.splitTile=function(t,e,r,n,i,a,o){for(var s=[t,e,r,n],l=this.options,c=l.debug;s.length;){n=s.pop(),r=s.pop(),e=s.pop(),t=s.pop();var u=1<<e,f=yt(e,r,n),h=this.tiles[f];if(!h&&(c>1&&console.time("creation"),h=this.tiles[f]=dt(t,e,r,n,l),this.tileCoords.push({z:e,x:r,y:n}),c)){c>1&&(console.log("tile z%d-%d-%d (features: %d, points: %d, simplified: %d)",e,r,n,h.numFeatures,h.numPoints,h.numSimplified),console.timeEnd("creation"));var p="z"+e;this.stats[p]=(this.stats[p]||0)+1,this.total++}if(h.source=t,i){if(e===l.maxZoom||e===i)continue;var d=1<<i-e;if(r!==Math.floor(a/d)||n!==Math.floor(o/d))continue}else if(e===l.indexMaxZoom||h.numPoints<=l.indexMaxPoints)continue;if(h.source=null,0!==t.length){c>1&&console.time("clipping");var g,m,v,y,x,b,_=.5*l.buffer/l.extent,w=.5-_,T=.5+_,k=1+_;g=m=v=y=null,x=rt(t,u,r-_,r+T,0,h.minX,h.maxX,l),b=rt(t,u,r+w,r+k,0,h.minX,h.maxX,l),t=null,x&&(g=rt(x,u,n-_,n+T,1,h.minY,h.maxY,l),m=rt(x,u,n+w,n+k,1,h.minY,h.maxY,l),x=null),b&&(v=rt(b,u,n-_,n+T,1,h.minY,h.maxY,l),y=rt(b,u,n+w,n+k,1,h.minY,h.maxY,l),b=null),c>1&&console.timeEnd("clipping"),s.push(g||[],e+1,2*r,2*n),s.push(m||[],e+1,2*r,2*n+1),s.push(v||[],e+1,2*r+1,2*n),s.push(y||[],e+1,2*r+1,2*n+1)}}},vt.prototype.getTile=function(t,e,r){var n=this.options,i=n.extent,a=n.debug;if(t<0||t>24)return null;var o=1<<t,s=yt(t,e=(e%o+o)%o,r);if(this.tiles[s])return ht(this.tiles[s],i);a>1&&console.log("drilling down to z%d-%d-%d",t,e,r);for(var l,c=t,u=e,f=r;!l&&c>0;)c--,u=Math.floor(u/2),f=Math.floor(f/2),l=this.tiles[yt(c,u,f)];return l&&l.source?(a>1&&console.log("found parent tile z%d-%d-%d",c,u,f),a>1&&console.time("drilling down"),this.splitTile(l.source,c,u,f,t,e,r),a>1&&console.timeEnd("drilling down"),this.tiles[s]?ht(this.tiles[s],i):null):null};var bt=function(e){function r(t,r,n,i){e.call(this,t,r,n,xt),i&&(this.loadGeoJSON=i)}return e&&(r.__proto__=e),(r.prototype=Object.create(e&&e.prototype)).constructor=r,r.prototype.loadData=function(t,e){this._pendingCallback&&this._pendingCallback(null,{abandoned:!0}),this._pendingCallback=e,this._pendingLoadDataParams=t,this._state&&"Idle"!==this._state?this._state="NeedsLoadData":(this._state="Coalescing",this._loadData())},r.prototype._loadData=function(){var e=this;if(this._pendingCallback&&this._pendingLoadDataParams){var r=this._pendingCallback,n=this._pendingLoadDataParams;delete this._pendingCallback,delete this._pendingLoadDataParams;var i=!!(n&&n.request&&n.request.collectResourceTiming)&&new t.RequestPerformance(n.request);this.loadGeoJSON(n,(function(a,o){if(a||!o)return r(a);if("object"!=typeof o)return r(new Error("Input data given to '"+n.source+"' is not a valid GeoJSON object."));!function t(e,r){var n,i=e&&e.type;if("FeatureCollection"===i)for(n=0;n<e.features.length;n++)t(e.features[n],r);else if("GeometryCollection"===i)for(n=0;n<e.geometries.length;n++)t(e.geometries[n],r);else if("Feature"===i)t(e.geometry,r);else if("Polygon"===i)f(e.coordinates,r);else if("MultiPolygon"===i)for(n=0;n<e.coordinates.length;n++)f(e.coordinates[n],r);return e}(o,!0);try{e._geoJSONIndex=n.cluster?new F(function(e){var r=e.superclusterOptions,n=e.clusterProperties;if(!n||!r)return r;for(var i={},a={},o={accumulated:null,zoom:0},s={properties:null},l=Object.keys(n),c=0,u=l;c<u.length;c+=1){var f=u[c],h=n[f],p=h[0],d=t.createExpression(h[1]),g=t.createExpression("string"==typeof p?[p,["accumulated"],["get",f]]:p);i[f]=d.value,a[f]=g.value}return r.map=function(t){s.properties=t;for(var e={},r=0,n=l;r<n.length;r+=1){var a=n[r];e[a]=i[a].evaluate(o,s)}return e},r.reduce=function(t,e){s.properties=e;for(var r=0,n=l;r<n.length;r+=1){var i=n[r];o.accumulated=t[i],t[i]=a[i].evaluate(o,s)}},r}(n)).load(o.features):function(t,e){return new vt(t,e)}(o,n.geojsonVtOptions)}catch(a){return r(a)}e.loaded={};var s={};if(i){var l=i.finish();l&&(s.resourceTiming={},s.resourceTiming[n.source]=JSON.parse(JSON.stringify(l)))}r(null,s)}))}},r.prototype.coalesce=function(){"Coalescing"===this._state?this._state="Idle":"NeedsLoadData"===this._state&&(this._state="Coalescing",this._loadData())},r.prototype.reloadTile=function(t,r){var n=this.loaded;return n&&n[t.uid]?e.prototype.reloadTile.call(this,t,r):this.loadTile(t,r)},r.prototype.loadGeoJSON=function(e,r){if(e.request)t.getJSON(e.request,r);else{if("string"!=typeof e.data)return r(new Error("Input data given to '"+e.source+"' is not a valid GeoJSON object."));try{return r(null,JSON.parse(e.data))}catch(t){return r(new Error("Input data given to '"+e.source+"' is not a valid GeoJSON object."))}}},r.prototype.removeSource=function(t,e){this._pendingCallback&&this._pendingCallback(null,{abandoned:!0}),e()},r.prototype.getClusterExpansionZoom=function(t,e){try{e(null,this._geoJSONIndex.getClusterExpansionZoom(t.clusterId))}catch(t){e(t)}},r.prototype.getClusterChildren=function(t,e){try{e(null,this._geoJSONIndex.getChildren(t.clusterId))}catch(t){e(t)}},r.prototype.getClusterLeaves=function(t,e){try{e(null,this._geoJSONIndex.getLeaves(t.clusterId,t.limit,t.offset))}catch(t){e(t)}},r}(l),_t=function(e){var r=this;this.self=e,this.actor=new t.Actor(e,this),this.layerIndexes={},this.availableImages={},this.workerSourceTypes={vector:l,geojson:bt},this.workerSources={},this.demWorkerSources={},this.self.registerWorkerSource=function(t,e){if(r.workerSourceTypes[t])throw new Error('Worker source with name "'+t+'" already registered.');r.workerSourceTypes[t]=e},this.self.registerRTLTextPlugin=function(e){if(t.plugin.isParsed())throw new Error("RTL text plugin already registered.");t.plugin.applyArabicShaping=e.applyArabicShaping,t.plugin.processBidirectionalText=e.processBidirectionalText,t.plugin.processStyledBidirectionalText=e.processStyledBidirectionalText}};return _t.prototype.setReferrer=function(t,e){this.referrer=e},_t.prototype.setImages=function(t,e,r){for(var n in this.availableImages[t]=e,this.workerSources[t]){var i=this.workerSources[t][n];for(var a in i)i[a].availableImages=e}r()},_t.prototype.setLayers=function(t,e,r){this.getLayerIndex(t).replace(e),r()},_t.prototype.updateLayers=function(t,e,r){this.getLayerIndex(t).update(e.layers,e.removedIds),r()},_t.prototype.loadTile=function(t,e,r){this.getWorkerSource(t,e.type,e.source).loadTile(e,r)},_t.prototype.loadDEMTile=function(t,e,r){this.getDEMWorkerSource(t,e.source).loadTile(e,r)},_t.prototype.reloadTile=function(t,e,r){this.getWorkerSource(t,e.type,e.source).reloadTile(e,r)},_t.prototype.abortTile=function(t,e,r){this.getWorkerSource(t,e.type,e.source).abortTile(e,r)},_t.prototype.removeTile=function(t,e,r){this.getWorkerSource(t,e.type,e.source).removeTile(e,r)},_t.prototype.removeDEMTile=function(t,e){this.getDEMWorkerSource(t,e.source).removeTile(e)},_t.prototype.removeSource=function(t,e,r){if(this.workerSources[t]&&this.workerSources[t][e.type]&&this.workerSources[t][e.type][e.source]){var n=this.workerSources[t][e.type][e.source];delete this.workerSources[t][e.type][e.source],void 0!==n.removeSource?n.removeSource(e,r):r()}},_t.prototype.loadWorkerSource=function(t,e,r){try{this.self.importScripts(e.url),r()}catch(t){r(t.toString())}},_t.prototype.syncRTLPluginState=function(e,r,n){try{t.plugin.setState(r);var i=t.plugin.getPluginURL();if(t.plugin.isLoaded()&&!t.plugin.isParsed()&&null!=i){this.self.importScripts(i);var a=t.plugin.isParsed();n(a?void 0:new Error("RTL Text Plugin failed to import scripts from "+i),a)}}catch(t){n(t.toString())}},_t.prototype.getAvailableImages=function(t){var e=this.availableImages[t];return e||(e=[]),e},_t.prototype.getLayerIndex=function(t){var e=this.layerIndexes[t];return e||(e=this.layerIndexes[t]=new n),e},_t.prototype.getWorkerSource=function(t,e,r){var n=this;return this.workerSources[t]||(this.workerSources[t]={}),this.workerSources[t][e]||(this.workerSources[t][e]={}),this.workerSources[t][e][r]||(this.workerSources[t][e][r]=new this.workerSourceTypes[e]({send:function(e,r,i){n.actor.send(e,r,i,t)}},this.getLayerIndex(t),this.getAvailableImages(t))),this.workerSources[t][e][r]},_t.prototype.getDEMWorkerSource=function(t,e){return this.demWorkerSources[t]||(this.demWorkerSources[t]={}),this.demWorkerSources[t][e]||(this.demWorkerSources[t][e]=new u),this.demWorkerSources[t][e]},_t.prototype.enforceCacheSizeLimit=function(e,r){t.enforceCacheSizeLimit(r)},"undefined"!=typeof WorkerGlobalScope&&void 0!==t.window&&t.window instanceof WorkerGlobalScope&&(t.window.worker=new _t(t.window)),_t})),n(0,(function(t){var e=t.createCommonjsModule((function(t){function e(t){return!r(t)}function r(t){return"undefined"==typeof window||"undefined"==typeof document?"not a browser":Array.prototype&&Array.prototype.every&&Array.prototype.filter&&Array.prototype.forEach&&Array.prototype.indexOf&&Array.prototype.lastIndexOf&&Array.prototype.map&&Array.prototype.some&&Array.prototype.reduce&&Array.prototype.reduceRight&&Array.isArray?Function.prototype&&Function.prototype.bind?Object.keys&&Object.create&&Object.getPrototypeOf&&Object.getOwnPropertyNames&&Object.isSealed&&Object.isFrozen&&Object.isExtensible&&Object.getOwnPropertyDescriptor&&Object.defineProperty&&Object.defineProperties&&Object.seal&&Object.freeze&&Object.preventExtensions?"JSON"in window&&"parse"in JSON&&"stringify"in JSON?function(){if(!("Worker"in window&&"Blob"in window&&"URL"in window))return!1;var t,e,r=new Blob([""],{type:"text/javascript"}),n=URL.createObjectURL(r);try{e=new Worker(n),t=!0}catch(e){t=!1}return e&&e.terminate(),URL.revokeObjectURL(n),t}()?"Uint8ClampedArray"in window?ArrayBuffer.isView?function(){var t=document.createElement("canvas");t.width=t.height=1;var e=t.getContext("2d");if(!e)return!1;var r=e.getImageData(0,0,1,1);return r&&r.width===t.width}()?(void 0===n[r=t&&t.failIfMajorPerformanceCaveat]&&(n[r]=function(t){var r=function(t){var r=document.createElement("canvas"),n=Object.create(e.webGLContextAttributes);return n.failIfMajorPerformanceCaveat=t,r.probablySupportsContext?r.probablySupportsContext("webgl",n)||r.probablySupportsContext("experimental-webgl",n):r.supportsContext?r.supportsContext("webgl",n)||r.supportsContext("experimental-webgl",n):r.getContext("webgl",n)||r.getContext("experimental-webgl",n)}(t);if(!r)return!1;var n=r.createShader(r.VERTEX_SHADER);return!(!n||r.isContextLost())&&(r.shaderSource(n,"void main() {}"),r.compileShader(n),!0===r.getShaderParameter(n,r.COMPILE_STATUS))}(r)),n[r]?void 0:"insufficient WebGL support"):"insufficient Canvas/getImageData support":"insufficient ArrayBuffer support":"insufficient Uint8ClampedArray support":"insufficient worker support":"insufficient JSON support":"insufficient Object support":"insufficient Function support":"insufficent Array support";var r}t.exports?t.exports=e:window&&(window.mapboxgl=window.mapboxgl||{},window.mapboxgl.supported=e,window.mapboxgl.notSupportedReason=r);var n={};e.webGLContextAttributes={antialias:!1,alpha:!0,stencil:!0,depth:!0}})),r={create:function(e,r,n){var i=t.window.document.createElement(e);return void 0!==r&&(i.className=r),n&&n.appendChild(i),i},createNS:function(e,r){return t.window.document.createElementNS(e,r)}},n=t.window.document.documentElement.style;function i(t){if(!n)return t[0];for(var e=0;e<t.length;e++)if(t[e]in n)return t[e];return t[0]}var a,o=i(["userSelect","MozUserSelect","WebkitUserSelect","msUserSelect"]);r.disableDrag=function(){n&&o&&(a=n[o],n[o]="none")},r.enableDrag=function(){n&&o&&(n[o]=a)};var s=i(["transform","WebkitTransform"]);r.setTransform=function(t,e){t.style[s]=e};var l=!1;try{var c=Object.defineProperty({},"passive",{get:function(){l=!0}});t.window.addEventListener("test",c,c),t.window.removeEventListener("test",c,c)}catch(t){l=!1}r.addEventListener=function(t,e,r,n){void 0===n&&(n={}),t.addEventListener(e,r,"passive"in n&&l?n:n.capture)},r.removeEventListener=function(t,e,r,n){void 0===n&&(n={}),t.removeEventListener(e,r,"passive"in n&&l?n:n.capture)};var u=function(e){e.preventDefault(),e.stopPropagation(),t.window.removeEventListener("click",u,!0)};function f(t){var e=t.userImage;return!!(e&&e.render&&e.render())&&(t.data.replace(new Uint8Array(e.data.buffer)),!0)}r.suppressClick=function(){t.window.addEventListener("click",u,!0),t.window.setTimeout((function(){t.window.removeEventListener("click",u,!0)}),0)},r.mousePos=function(e,r){var n=e.getBoundingClientRect();return new t.Point(r.clientX-n.left-e.clientLeft,r.clientY-n.top-e.clientTop)},r.touchPos=function(e,r){for(var n=e.getBoundingClientRect(),i=[],a=0;a<r.length;a++)i.push(new t.Point(r[a].clientX-n.left-e.clientLeft,r[a].clientY-n.top-e.clientTop));return i},r.mouseButton=function(e){return void 0!==t.window.InstallTrigger&&2===e.button&&e.ctrlKey&&t.window.navigator.platform.toUpperCase().indexOf("MAC")>=0?0:e.button},r.remove=function(t){t.parentNode&&t.parentNode.removeChild(t)};var h=function(e){function r(){e.call(this),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new t.RGBAImage({width:1,height:1}),this.dirty=!0}return e&&(r.__proto__=e),(r.prototype=Object.create(e&&e.prototype)).constructor=r,r.prototype.isLoaded=function(){return this.loaded},r.prototype.setLoaded=function(t){if(this.loaded!==t&&(this.loaded=t,t)){for(var e=0,r=this.requestors;e<r.length;e+=1){var n=r[e];this._notify(n.ids,n.callback)}this.requestors=[]}},r.prototype.getImage=function(t){return this.images[t]},r.prototype.addImage=function(t,e){this._validate(t,e)&&(this.images[t]=e)},r.prototype._validate=function(e,r){var n=!0;return this._validateStretch(r.stretchX,r.data&&r.data.width)||(this.fire(new t.ErrorEvent(new Error('Image "'+e+'" has invalid "stretchX" value'))),n=!1),this._validateStretch(r.stretchY,r.data&&r.data.height)||(this.fire(new t.ErrorEvent(new Error('Image "'+e+'" has invalid "stretchY" value'))),n=!1),this._validateContent(r.content,r)||(this.fire(new t.ErrorEvent(new Error('Image "'+e+'" has invalid "content" value'))),n=!1),n},r.prototype._validateStretch=function(t,e){if(!t)return!0;for(var r=0,n=0,i=t;n<i.length;n+=1){var a=i[n];if(a[0]<r||a[1]<a[0]||e<a[1])return!1;r=a[1]}return!0},r.prototype._validateContent=function(t,e){return!(t&&(4!==t.length||t[0]<0||e.data.width<t[0]||t[1]<0||e.data.height<t[1]||t[2]<0||e.data.width<t[2]||t[3]<0||e.data.height<t[3]||t[2]<t[0]||t[3]<t[1]))},r.prototype.updateImage=function(t,e){e.version=this.images[t].version+1,this.images[t]=e,this.updatedImages[t]=!0},r.prototype.removeImage=function(t){var e=this.images[t];delete this.images[t],delete this.patterns[t],e.userImage&&e.userImage.onRemove&&e.userImage.onRemove()},r.prototype.listImages=function(){return Object.keys(this.images)},r.prototype.getImages=function(t,e){var r=!0;if(!this.isLoaded())for(var n=0,i=t;n<i.length;n+=1)this.images[i[n]]||(r=!1);this.isLoaded()||r?this._notify(t,e):this.requestors.push({ids:t,callback:e})},r.prototype._notify=function(e,r){for(var n={},i=0,a=e;i<a.length;i+=1){var o=a[i];this.images[o]||this.fire(new t.Event("styleimagemissing",{id:o}));var s=this.images[o];s?n[o]={data:s.data.clone(),pixelRatio:s.pixelRatio,sdf:s.sdf,version:s.version,stretchX:s.stretchX,stretchY:s.stretchY,content:s.content,hasRenderCallback:Boolean(s.userImage&&s.userImage.render)}:t.warnOnce('Image "'+o+'" could not be loaded. Please make sure you have added the image with map.addImage() or a "sprite" property in your style. You can provide missing images by listening for the "styleimagemissing" map event.')}r(null,n)},r.prototype.getPixelSize=function(){var t=this.atlasImage;return{width:t.width,height:t.height}},r.prototype.getPattern=function(e){var r=this.patterns[e],n=this.getImage(e);if(!n)return null;if(r&&r.position.version===n.version)return r.position;if(r)r.position.version=n.version;else{var i={w:n.data.width+2,h:n.data.height+2,x:0,y:0},a=new t.ImagePosition(i,n);this.patterns[e]={bin:i,position:a}}return this._updatePatternAtlas(),this.patterns[e].position},r.prototype.bind=function(e){var r=e.gl;this.atlasTexture?this.dirty&&(this.atlasTexture.update(this.atlasImage),this.dirty=!1):this.atlasTexture=new t.Texture(e,this.atlasImage,r.RGBA),this.atlasTexture.bind(r.LINEAR,r.CLAMP_TO_EDGE)},r.prototype._updatePatternAtlas=function(){var e=[];for(var r in this.patterns)e.push(this.patterns[r].bin);var n=t.potpack(e),i=n.w,a=n.h,o=this.atlasImage;for(var s in o.resize({width:i||1,height:a||1}),this.patterns){var l=this.patterns[s].bin,c=l.x+1,u=l.y+1,f=this.images[s].data,h=f.width,p=f.height;t.RGBAImage.copy(f,o,{x:0,y:0},{x:c,y:u},{width:h,height:p}),t.RGBAImage.copy(f,o,{x:0,y:p-1},{x:c,y:u-1},{width:h,height:1}),t.RGBAImage.copy(f,o,{x:0,y:0},{x:c,y:u+p},{width:h,height:1}),t.RGBAImage.copy(f,o,{x:h-1,y:0},{x:c-1,y:u},{width:1,height:p}),t.RGBAImage.copy(f,o,{x:0,y:0},{x:c+h,y:u},{width:1,height:p})}this.dirty=!0},r.prototype.beginFrame=function(){this.callbackDispatchedThisFrame={}},r.prototype.dispatchRenderCallbacks=function(t){for(var e=0,r=t;e<r.length;e+=1){var n=r[e];if(!this.callbackDispatchedThisFrame[n]){this.callbackDispatchedThisFrame[n]=!0;var i=this.images[n];f(i)&&this.updateImage(n,i)}}},r}(t.Evented),p=m,d=m,g=1e20;function m(t,e,r,n,i,a){this.fontSize=t||24,this.buffer=void 0===e?3:e,this.cutoff=n||.25,this.fontFamily=i||"sans-serif",this.fontWeight=a||"normal",this.radius=r||8;var o=this.size=this.fontSize+2*this.buffer;this.canvas=document.createElement("canvas"),this.canvas.width=this.canvas.height=o,this.ctx=this.canvas.getContext("2d"),this.ctx.font=this.fontWeight+" "+this.fontSize+"px "+this.fontFamily,this.ctx.textBaseline="middle",this.ctx.fillStyle="black",this.gridOuter=new Float64Array(o*o),this.gridInner=new Float64Array(o*o),this.f=new Float64Array(o),this.d=new Float64Array(o),this.z=new Float64Array(o+1),this.v=new Int16Array(o),this.middle=Math.round(o/2*(navigator.userAgent.indexOf("Gecko/")>=0?1.2:1))}function v(t,e,r,n,i,a,o){for(var s=0;s<e;s++){for(var l=0;l<r;l++)n[l]=t[l*e+s];for(y(n,i,a,o,r),l=0;l<r;l++)t[l*e+s]=i[l]}for(l=0;l<r;l++){for(s=0;s<e;s++)n[s]=t[l*e+s];for(y(n,i,a,o,e),s=0;s<e;s++)t[l*e+s]=Math.sqrt(i[s])}}function y(t,e,r,n,i){r[0]=0,n[0]=-g,n[1]=+g;for(var a=1,o=0;a<i;a++){for(var s=(t[a]+a*a-(t[r[o]]+r[o]*r[o]))/(2*a-2*r[o]);s<=n[o];)o--,s=(t[a]+a*a-(t[r[o]]+r[o]*r[o]))/(2*a-2*r[o]);r[++o]=a,n[o]=s,n[o+1]=+g}for(a=0,o=0;a<i;a++){for(;n[o+1]<a;)o++;e[a]=(a-r[o])*(a-r[o])+t[r[o]]}}m.prototype.draw=function(t){this.ctx.clearRect(0,0,this.size,this.size),this.ctx.fillText(t,this.buffer,this.middle);for(var e=this.ctx.getImageData(0,0,this.size,this.size),r=new Uint8ClampedArray(this.size*this.size),n=0;n<this.size*this.size;n++){var i=e.data[4*n+3]/255;this.gridOuter[n]=1===i?0:0===i?g:Math.pow(Math.max(0,.5-i),2),this.gridInner[n]=1===i?g:0===i?0:Math.pow(Math.max(0,i-.5),2)}for(v(this.gridOuter,this.size,this.size,this.f,this.d,this.v,this.z),v(this.gridInner,this.size,this.size,this.f,this.d,this.v,this.z),n=0;n<this.size*this.size;n++)r[n]=Math.max(0,Math.min(255,Math.round(255-255*((this.gridOuter[n]-this.gridInner[n])/this.radius+this.cutoff))));return r},p.default=d;var x=function(t,e){this.requestManager=t,this.localIdeographFontFamily=e,this.entries={}};x.prototype.setURL=function(t){this.url=t},x.prototype.getGlyphs=function(e,r){var n=this,i=[];for(var a in e)for(var o=0,s=e[a];o<s.length;o+=1)i.push({stack:a,id:s[o]});t.asyncAll(i,(function(t,e){var r=t.stack,i=t.id,a=n.entries[r];a||(a=n.entries[r]={glyphs:{},requests:{},ranges:{}});var o=a.glyphs[i];if(void 0===o){if(o=n._tinySDF(a,r,i))return a.glyphs[i]=o,void e(null,{stack:r,id:i,glyph:o});var s=Math.floor(i/256);if(256*s>65535)e(new Error("glyphs > 65535 not supported"));else if(a.ranges[s])e(null,{stack:r,id:i,glyph:o});else{var l=a.requests[s];l||(l=a.requests[s]=[],x.loadGlyphRange(r,s,n.url,n.requestManager,(function(t,e){if(e){for(var r in e)n._doesCharSupportLocalGlyph(+r)||(a.glyphs[+r]=e[+r]);a.ranges[s]=!0}for(var i=0,o=l;i<o.length;i+=1)(0,o[i])(t,e);delete a.requests[s]}))),l.push((function(t,n){t?e(t):n&&e(null,{stack:r,id:i,glyph:n[i]||null})}))}}else e(null,{stack:r,id:i,glyph:o})}),(function(t,e){if(t)r(t);else if(e){for(var n={},i=0,a=e;i<a.length;i+=1){var o=a[i],s=o.stack,l=o.id,c=o.glyph;(n[s]||(n[s]={}))[l]=c&&{id:c.id,bitmap:c.bitmap.clone(),metrics:c.metrics}}r(null,n)}}))},x.prototype._doesCharSupportLocalGlyph=function(e){return!!this.localIdeographFontFamily&&(t.isChar["CJK Unified Ideographs"](e)||t.isChar["Hangul Syllables"](e)||t.isChar.Hiragana(e)||t.isChar.Katakana(e))},x.prototype._tinySDF=function(e,r,n){var i=this.localIdeographFontFamily;if(i&&this._doesCharSupportLocalGlyph(n)){var a=e.tinySDF;if(!a){var o="400";/bold/i.test(r)?o="900":/medium/i.test(r)?o="500":/light/i.test(r)&&(o="200"),a=e.tinySDF=new x.TinySDF(24,3,8,.25,i,o)}return{id:n,bitmap:new t.AlphaImage({width:30,height:30},a.draw(String.fromCharCode(n))),metrics:{width:24,height:24,left:0,top:-8,advance:24}}}},x.loadGlyphRange=function(e,r,n,i,a){var o=256*r,s=o+255,l=i.transformRequest(i.normalizeGlyphsURL(n).replace("{fontstack}",e).replace("{range}",o+"-"+s),t.ResourceType.Glyphs);t.getArrayBuffer(l,(function(e,r){if(e)a(e);else if(r){for(var n={},i=0,o=t.parseGlyphPBF(r);i<o.length;i+=1){var s=o[i];n[s.id]=s}a(null,n)}}))},x.TinySDF=p;var b=function(){this.specification=t.styleSpec.light.position};b.prototype.possiblyEvaluate=function(e,r){return t.sphericalToCartesian(e.expression.evaluate(r))},b.prototype.interpolate=function(e,r,n){return{x:t.number(e.x,r.x,n),y:t.number(e.y,r.y,n),z:t.number(e.z,r.z,n)}};var _=new t.Properties({anchor:new t.DataConstantProperty(t.styleSpec.light.anchor),position:new b,color:new t.DataConstantProperty(t.styleSpec.light.color),intensity:new t.DataConstantProperty(t.styleSpec.light.intensity)}),w=function(e){function r(r){e.call(this),this._transitionable=new t.Transitionable(_),this.setLight(r),this._transitioning=this._transitionable.untransitioned()}return e&&(r.__proto__=e),(r.prototype=Object.create(e&&e.prototype)).constructor=r,r.prototype.getLight=function(){return this._transitionable.serialize()},r.prototype.setLight=function(e,r){if(void 0===r&&(r={}),!this._validate(t.validateLight,e,r))for(var n in e){var i=e[n];t.endsWith(n,"-transition")?this._transitionable.setTransition(n.slice(0,-"-transition".length),i):this._transitionable.setValue(n,i)}},r.prototype.updateTransitions=function(t){this._transitioning=this._transitionable.transitioned(t,this._transitioning)},r.prototype.hasTransition=function(){return this._transitioning.hasTransition()},r.prototype.recalculate=function(t){this.properties=this._transitioning.possiblyEvaluate(t)},r.prototype._validate=function(e,r,n){return(!n||!1!==n.validate)&&t.emitValidationErrors(this,e.call(t.validateStyle,t.extend({value:r,style:{glyphs:!0,sprite:!0},styleSpec:t.styleSpec})))},r}(t.Evented),T=function(t,e){this.width=t,this.height=e,this.nextRow=0,this.data=new Uint8Array(this.width*this.height),this.dashEntry={}};T.prototype.getDash=function(t,e){var r=t.join(",")+String(e);return this.dashEntry[r]||(this.dashEntry[r]=this.addDash(t,e)),this.dashEntry[r]},T.prototype.getDashRanges=function(t,e,r){var n=[],i=t.length%2==1?-t[t.length-1]*r:0,a=t[0]*r,o=!0;n.push({left:i,right:a,isDash:o,zeroLength:0===t[0]});for(var s=t[0],l=1;l<t.length;l++){var c=t[l];n.push({left:i=s*r,right:a=(s+=c)*r,isDash:o=!o,zeroLength:0===c})}return n},T.prototype.addRoundDash=function(t,e,r){for(var n=e/2,i=-r;i<=r;i++)for(var a=this.width*(this.nextRow+r+i),o=0,s=t[o],l=0;l<this.width;l++){l/s.right>1&&(s=t[++o]);var c=Math.abs(l-s.left),u=Math.abs(l-s.right),f=Math.min(c,u),h=void 0,p=i/r*(n+1);if(s.isDash){var d=n-Math.abs(p);h=Math.sqrt(f*f+d*d)}else h=n-Math.sqrt(f*f+p*p);this.data[a+l]=Math.max(0,Math.min(255,h+128))}},T.prototype.addRegularDash=function(t){for(var e=t.length-1;e>=0;--e){var r=t[e],n=t[e+1];r.zeroLength?t.splice(e,1):n&&n.isDash===r.isDash&&(n.left=r.left,t.splice(e,1))}var i=t[0],a=t[t.length-1];i.isDash===a.isDash&&(i.left=a.left-this.width,a.right=i.right+this.width);for(var o=this.width*this.nextRow,s=0,l=t[s],c=0;c<this.width;c++){c/l.right>1&&(l=t[++s]);var u=Math.abs(c-l.left),f=Math.abs(c-l.right),h=Math.min(u,f);this.data[o+c]=Math.max(0,Math.min(255,(l.isDash?h:-h)+128))}},T.prototype.addDash=function(e,r){var n=r?7:0,i=2*n+1;if(this.nextRow+i>this.height)return t.warnOnce("LineAtlas out of space"),null;for(var a=0,o=0;o<e.length;o++)a+=e[o];if(0!==a){var s=this.width/a,l=this.getDashRanges(e,this.width,s);r?this.addRoundDash(l,s,n):this.addRegularDash(l)}var c={y:(this.nextRow+n+.5)/this.height,height:2*n/this.height,width:a};return this.nextRow+=i,this.dirty=!0,c},T.prototype.bind=function(t){var e=t.gl;this.texture?(e.bindTexture(e.TEXTURE_2D,this.texture),this.dirty&&(this.dirty=!1,e.texSubImage2D(e.TEXTURE_2D,0,0,0,this.width,this.height,e.ALPHA,e.UNSIGNED_BYTE,this.data))):(this.texture=e.createTexture(),e.bindTexture(e.TEXTURE_2D,this.texture),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.REPEAT),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.REPEAT),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR),e.texImage2D(e.TEXTURE_2D,0,e.ALPHA,this.width,this.height,0,e.ALPHA,e.UNSIGNED_BYTE,this.data))};var k=function e(r,n){this.workerPool=r,this.actors=[],this.currentActor=0,this.id=t.uniqueId();for(var i=this.workerPool.acquire(this.id),a=0;a<i.length;a++){var o=new e.Actor(i[a],n,this.id);o.name="Worker "+a,this.actors.push(o)}};function M(e,r,n){var i=function(i,a){if(i)return n(i);if(a){var o=t.pick(t.extend(a,e),["tiles","minzoom","maxzoom","attribution","mapbox_logo","bounds","scheme","tileSize","encoding"]);a.vector_layers&&(o.vectorLayers=a.vector_layers,o.vectorLayerIds=o.vectorLayers.map((function(t){return t.id}))),o.tiles=r.canonicalizeTileset(o,e.url),n(null,o)}};return e.url?t.getJSON(r.transformRequest(r.normalizeSourceURL(e.url),t.ResourceType.Source),i):t.browser.frame((function(){return i(null,e)}))}k.prototype.broadcast=function(e,r,n){t.asyncAll(this.actors,(function(t,n){t.send(e,r,n)}),n=n||function(){})},k.prototype.getActor=function(){return this.currentActor=(this.currentActor+1)%this.actors.length,this.actors[this.currentActor]},k.prototype.remove=function(){this.actors.forEach((function(t){t.remove()})),this.actors=[],this.workerPool.release(this.id)},k.Actor=t.Actor;var A=function(e,r,n){this.bounds=t.LngLatBounds.convert(this.validateBounds(e)),this.minzoom=r||0,this.maxzoom=n||24};A.prototype.validateBounds=function(t){return Array.isArray(t)&&4===t.length?[Math.max(-180,t[0]),Math.max(-90,t[1]),Math.min(180,t[2]),Math.min(90,t[3])]:[-180,-90,180,90]},A.prototype.contains=function(e){var r=Math.pow(2,e.z),n=Math.floor(t.mercatorXfromLng(this.bounds.getWest())*r),i=Math.floor(t.mercatorYfromLat(this.bounds.getNorth())*r),a=Math.ceil(t.mercatorXfromLng(this.bounds.getEast())*r),o=Math.ceil(t.mercatorYfromLat(this.bounds.getSouth())*r);return e.x>=n&&e.x<a&&e.y>=i&&e.y<o};var S=function(e){function r(r,n,i,a){if(e.call(this),this.id=r,this.dispatcher=i,this.type="vector",this.minzoom=0,this.maxzoom=22,this.scheme="xyz",this.tileSize=512,this.reparseOverscaled=!0,this.isTileClipped=!0,this._loaded=!1,t.extend(this,t.pick(n,["url","scheme","tileSize","promoteId"])),this._options=t.extend({type:"vector"},n),this._collectResourceTiming=n.collectResourceTiming,512!==this.tileSize)throw new Error("vector tile sources must have a tileSize of 512");this.setEventedParent(a)}return e&&(r.__proto__=e),(r.prototype=Object.create(e&&e.prototype)).constructor=r,r.prototype.load=function(){var e=this;this._loaded=!1,this.fire(new t.Event("dataloading",{dataType:"source"})),this._tileJSONRequest=M(this._options,this.map._requestManager,(function(r,n){e._tileJSONRequest=null,e._loaded=!0,r?e.fire(new t.ErrorEvent(r)):n&&(t.extend(e,n),n.bounds&&(e.tileBounds=new A(n.bounds,e.minzoom,e.maxzoom)),t.postTurnstileEvent(n.tiles,e.map._requestManager._customAccessToken),t.postMapLoadEvent(n.tiles,e.map._getMapId(),e.map._requestManager._skuToken,e.map._requestManager._customAccessToken),e.fire(new t.Event("data",{dataType:"source",sourceDataType:"metadata"})),e.fire(new t.Event("data",{dataType:"source",sourceDataType:"content"})))}))},r.prototype.loaded=function(){return this._loaded},r.prototype.hasTile=function(t){return!this.tileBounds||this.tileBounds.contains(t.canonical)},r.prototype.onAdd=function(t){this.map=t,this.load()},r.prototype.onRemove=function(){this._tileJSONRequest&&(this._tileJSONRequest.cancel(),this._tileJSONRequest=null)},r.prototype.serialize=function(){return t.extend({},this._options)},r.prototype.loadTile=function(e,r){var n=this.map._requestManager.normalizeTileURL(e.tileID.canonical.url(this.tiles,this.scheme)),i={request:this.map._requestManager.transformRequest(n,t.ResourceType.Tile),uid:e.uid,tileID:e.tileID,zoom:e.tileID.overscaledZ,tileSize:this.tileSize*e.tileID.overscaleFactor(),type:this.type,source:this.id,pixelRatio:t.browser.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};function a(n,i){return delete e.request,e.aborted?r(null):n&&404!==n.status?r(n):(i&&i.resourceTiming&&(e.resourceTiming=i.resourceTiming),this.map._refreshExpiredTiles&&i&&e.setExpiryData(i),e.loadVectorData(i,this.map.painter),t.cacheEntryPossiblyAdded(this.dispatcher),r(null),void(e.reloadCallback&&(this.loadTile(e,e.reloadCallback),e.reloadCallback=null)))}i.request.collectResourceTiming=this._collectResourceTiming,e.actor&&"expired"!==e.state?"loading"===e.state?e.reloadCallback=r:e.request=e.actor.send("reloadTile",i,a.bind(this)):(e.actor=this.dispatcher.getActor(),e.request=e.actor.send("loadTile",i,a.bind(this)))},r.prototype.abortTile=function(t){t.request&&(t.request.cancel(),delete t.request),t.actor&&t.actor.send("abortTile",{uid:t.uid,type:this.type,source:this.id},void 0)},r.prototype.unloadTile=function(t){t.unloadVectorData(),t.actor&&t.actor.send("removeTile",{uid:t.uid,type:this.type,source:this.id},void 0)},r.prototype.hasTransition=function(){return!1},r}(t.Evented),E=function(e){function r(r,n,i,a){e.call(this),this.id=r,this.dispatcher=i,this.setEventedParent(a),this.type="raster",this.minzoom=0,this.maxzoom=22,this.roundZoom=!0,this.scheme="xyz",this.tileSize=512,this._loaded=!1,this._options=t.extend({type:"raster"},n),t.extend(this,t.pick(n,["url","scheme","tileSize"]))}return e&&(r.__proto__=e),(r.prototype=Object.create(e&&e.prototype)).constructor=r,r.prototype.load=function(){var e=this;this._loaded=!1,this.fire(new t.Event("dataloading",{dataType:"source"})),this._tileJSONRequest=M(this._options,this.map._requestManager,(function(r,n){e._tileJSONRequest=null,e._loaded=!0,r?e.fire(new t.ErrorEvent(r)):n&&(t.extend(e,n),n.bounds&&(e.tileBounds=new A(n.bounds,e.minzoom,e.maxzoom)),t.postTurnstileEvent(n.tiles),t.postMapLoadEvent(n.tiles,e.map._getMapId(),e.map._requestManager._skuToken),e.fire(new t.Event("data",{dataType:"source",sourceDataType:"metadata"})),e.fire(new t.Event("data",{dataType:"source",sourceDataType:"content"})))}))},r.prototype.loaded=function(){return this._loaded},r.prototype.onAdd=function(t){this.map=t,this.load()},r.prototype.onRemove=function(){this._tileJSONRequest&&(this._tileJSONRequest.cancel(),this._tileJSONRequest=null)},r.prototype.serialize=function(){return t.extend({},this._options)},r.prototype.hasTile=function(t){return!this.tileBounds||this.tileBounds.contains(t.canonical)},r.prototype.loadTile=function(e,r){var n=this,i=this.map._requestManager.normalizeTileURL(e.tileID.canonical.url(this.tiles,this.scheme),this.tileSize);e.request=t.getImage(this.map._requestManager.transformRequest(i,t.ResourceType.Tile),(function(i,a){if(delete e.request,e.aborted)e.state="unloaded",r(null);else if(i)e.state="errored",r(i);else if(a){n.map._refreshExpiredTiles&&e.setExpiryData(a),delete a.cacheControl,delete a.expires;var o=n.map.painter.context,s=o.gl;e.texture=n.map.painter.getTileTexture(a.width),e.texture?e.texture.update(a,{useMipmap:!0}):(e.texture=new t.Texture(o,a,s.RGBA,{useMipmap:!0}),e.texture.bind(s.LINEAR,s.CLAMP_TO_EDGE,s.LINEAR_MIPMAP_NEAREST),o.extTextureFilterAnisotropic&&s.texParameterf(s.TEXTURE_2D,o.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,o.extTextureFilterAnisotropicMax)),e.state="loaded",t.cacheEntryPossiblyAdded(n.dispatcher),r(null)}}))},r.prototype.abortTile=function(t,e){t.request&&(t.request.cancel(),delete t.request),e()},r.prototype.unloadTile=function(t,e){t.texture&&this.map.painter.saveTileTexture(t.texture),e()},r.prototype.hasTransition=function(){return!1},r}(t.Evented),C=function(e){function r(r,n,i,a){e.call(this,r,n,i,a),this.type="raster-dem",this.maxzoom=22,this._options=t.extend({type:"raster-dem"},n),this.encoding=n.encoding||"mapbox"}return e&&(r.__proto__=e),(r.prototype=Object.create(e&&e.prototype)).constructor=r,r.prototype.serialize=function(){return{type:"raster-dem",url:this.url,tileSize:this.tileSize,tiles:this.tiles,bounds:this.bounds,encoding:this.encoding}},r.prototype.loadTile=function(e,r){var n=this.map._requestManager.normalizeTileURL(e.tileID.canonical.url(this.tiles,this.scheme),this.tileSize);function i(t,n){t&&(e.state="errored",r(t)),n&&(e.dem=n,e.needsHillshadePrepare=!0,e.state="loaded",r(null))}e.request=t.getImage(this.map._requestManager.transformRequest(n,t.ResourceType.Tile),function(n,a){if(delete e.request,e.aborted)e.state="unloaded",r(null);else if(n)e.state="errored",r(n);else if(a){this.map._refreshExpiredTiles&&e.setExpiryData(a),delete a.cacheControl,delete a.expires;var o=t.window.ImageBitmap&&a instanceof t.window.ImageBitmap&&t.offscreenCanvasSupported()?a:t.browser.getImageData(a,1),s={uid:e.uid,coord:e.tileID,source:this.id,rawImageData:o,encoding:this.encoding};e.actor&&"expired"!==e.state||(e.actor=this.dispatcher.getActor(),e.actor.send("loadDEMTile",s,i.bind(this)))}}.bind(this)),e.neighboringTiles=this._getNeighboringTiles(e.tileID)},r.prototype._getNeighboringTiles=function(e){var r=e.canonical,n=Math.pow(2,r.z),i=(r.x-1+n)%n,a=0===r.x?e.wrap-1:e.wrap,o=(r.x+1+n)%n,s=r.x+1===n?e.wrap+1:e.wrap,l={};return l[new t.OverscaledTileID(e.overscaledZ,a,r.z,i,r.y).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,s,r.z,o,r.y).key]={backfilled:!1},r.y>0&&(l[new t.OverscaledTileID(e.overscaledZ,a,r.z,i,r.y-1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,e.wrap,r.z,r.x,r.y-1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,s,r.z,o,r.y-1).key]={backfilled:!1}),r.y+1<n&&(l[new t.OverscaledTileID(e.overscaledZ,a,r.z,i,r.y+1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,e.wrap,r.z,r.x,r.y+1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,s,r.z,o,r.y+1).key]={backfilled:!1}),l},r.prototype.unloadTile=function(t){t.demTexture&&this.map.painter.saveTileTexture(t.demTexture),t.fbo&&(t.fbo.destroy(),delete t.fbo),t.dem&&delete t.dem,delete t.neighboringTiles,t.state="unloaded",t.actor&&t.actor.send("removeDEMTile",{uid:t.uid,source:this.id})},r}(E),L=function(e){function r(r,n,i,a){e.call(this),this.id=r,this.type="geojson",this.minzoom=0,this.maxzoom=18,this.tileSize=512,this.isTileClipped=!0,this.reparseOverscaled=!0,this._removed=!1,this._loaded=!1,this.actor=i.getActor(),this.setEventedParent(a),this._data=n.data,this._options=t.extend({},n),this._collectResourceTiming=n.collectResourceTiming,this._resourceTiming=[],void 0!==n.maxzoom&&(this.maxzoom=n.maxzoom),n.type&&(this.type=n.type),n.attribution&&(this.attribution=n.attribution),this.promoteId=n.promoteId;var o=t.EXTENT/this.tileSize;this.workerOptions=t.extend({source:this.id,cluster:n.cluster||!1,geojsonVtOptions:{buffer:(void 0!==n.buffer?n.buffer:128)*o,tolerance:(void 0!==n.tolerance?n.tolerance:.375)*o,extent:t.EXTENT,maxZoom:this.maxzoom,lineMetrics:n.lineMetrics||!1,generateId:n.generateId||!1},superclusterOptions:{maxZoom:void 0!==n.clusterMaxZoom?Math.min(n.clusterMaxZoom,this.maxzoom-1):this.maxzoom-1,extent:t.EXTENT,radius:(n.clusterRadius||50)*o,log:!1,generateId:n.generateId||!1},clusterProperties:n.clusterProperties},n.workerOptions)}return e&&(r.__proto__=e),(r.prototype=Object.create(e&&e.prototype)).constructor=r,r.prototype.load=function(){var e=this;this.fire(new t.Event("dataloading",{dataType:"source"})),this._updateWorkerData((function(r){if(r)e.fire(new t.ErrorEvent(r));else{var n={dataType:"source",sourceDataType:"metadata"};e._collectResourceTiming&&e._resourceTiming&&e._resourceTiming.length>0&&(n.resourceTiming=e._resourceTiming,e._resourceTiming=[]),e.fire(new t.Event("data",n))}}))},r.prototype.onAdd=function(t){this.map=t,this.load()},r.prototype.setData=function(e){var r=this;return this._data=e,this.fire(new t.Event("dataloading",{dataType:"source"})),this._updateWorkerData((function(e){if(e)r.fire(new t.ErrorEvent(e));else{var n={dataType:"source",sourceDataType:"content"};r._collectResourceTiming&&r._resourceTiming&&r._resourceTiming.length>0&&(n.resourceTiming=r._resourceTiming,r._resourceTiming=[]),r.fire(new t.Event("data",n))}})),this},r.prototype.getClusterExpansionZoom=function(t,e){return this.actor.send("geojson.getClusterExpansionZoom",{clusterId:t,source:this.id},e),this},r.prototype.getClusterChildren=function(t,e){return this.actor.send("geojson.getClusterChildren",{clusterId:t,source:this.id},e),this},r.prototype.getClusterLeaves=function(t,e,r,n){return this.actor.send("geojson.getClusterLeaves",{source:this.id,clusterId:t,limit:e,offset:r},n),this},r.prototype._updateWorkerData=function(e){var r=this;this._loaded=!1;var n=t.extend({},this.workerOptions),i=this._data;"string"==typeof i?(n.request=this.map._requestManager.transformRequest(t.browser.resolveURL(i),t.ResourceType.Source),n.request.collectResourceTiming=this._collectResourceTiming):n.data=JSON.stringify(i),this.actor.send(this.type+".loadData",n,(function(t,i){r._removed||i&&i.abandoned||(r._loaded=!0,i&&i.resourceTiming&&i.resourceTiming[r.id]&&(r._resourceTiming=i.resourceTiming[r.id].slice(0)),r.actor.send(r.type+".coalesce",{source:n.source},null),e(t))}))},r.prototype.loaded=function(){return this._loaded},r.prototype.loadTile=function(e,r){var n=this,i=e.actor?"reloadTile":"loadTile";e.actor=this.actor,e.request=this.actor.send(i,{type:this.type,uid:e.uid,tileID:e.tileID,zoom:e.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:t.browser.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId},(function(t,a){return delete e.request,e.unloadVectorData(),e.aborted?r(null):t?r(t):(e.loadVectorData(a,n.map.painter,"reloadTile"===i),r(null))}))},r.prototype.abortTile=function(t){t.request&&(t.request.cancel(),delete t.request),t.aborted=!0},r.prototype.unloadTile=function(t){t.unloadVectorData(),this.actor.send("removeTile",{uid:t.uid,type:this.type,source:this.id})},r.prototype.onRemove=function(){this._removed=!0,this.actor.send("removeSource",{type:this.type,source:this.id})},r.prototype.serialize=function(){return t.extend({},this._options,{type:this.type,data:this._data})},r.prototype.hasTransition=function(){return!1},r}(t.Evented),I=t.createLayout([{name:"a_pos",type:"Int16",components:2},{name:"a_texture_pos",type:"Int16",components:2}]),P=function(e){function r(t,r,n,i){e.call(this),this.id=t,this.dispatcher=n,this.coordinates=r.coordinates,this.type="image",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(i),this.options=r}return e&&(r.__proto__=e),(r.prototype=Object.create(e&&e.prototype)).constructor=r,r.prototype.load=function(e,r){var n=this;this._loaded=!1,this.fire(new t.Event("dataloading",{dataType:"source"})),this.url=this.options.url,t.getImage(this.map._requestManager.transformRequest(this.url,t.ResourceType.Image),(function(i,a){n._loaded=!0,i?n.fire(new t.ErrorEvent(i)):a&&(n.image=a,e&&(n.coordinates=e),r&&r(),n._finishLoading())}))},r.prototype.loaded=function(){return this._loaded},r.prototype.updateImage=function(t){var e=this;return this.image&&t.url?(this.options.url=t.url,this.load(t.coordinates,(function(){e.texture=null})),this):this},r.prototype._finishLoading=function(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new t.Event("data",{dataType:"source",sourceDataType:"metadata"})))},r.prototype.onAdd=function(t){this.map=t,this.load()},r.prototype.setCoordinates=function(e){var r=this;this.coordinates=e;var n=e.map(t.MercatorCoordinate.fromLngLat);this.tileID=function(e){for(var r=1/0,n=1/0,i=-1/0,a=-1/0,o=0,s=e;o<s.length;o+=1){var l=s[o];r=Math.min(r,l.x),n=Math.min(n,l.y),i=Math.max(i,l.x),a=Math.max(a,l.y)}var c=Math.max(i-r,a-n),u=Math.max(0,Math.floor(-Math.log(c)/Math.LN2)),f=Math.pow(2,u);return new t.CanonicalTileID(u,Math.floor((r+i)/2*f),Math.floor((n+a)/2*f))}(n),this.minzoom=this.maxzoom=this.tileID.z;var i=n.map((function(t){return r.tileID.getTilePoint(t)._round()}));return this._boundsArray=new t.StructArrayLayout4i8,this._boundsArray.emplaceBack(i[0].x,i[0].y,0,0),this._boundsArray.emplaceBack(i[1].x,i[1].y,t.EXTENT,0),this._boundsArray.emplaceBack(i[3].x,i[3].y,0,t.EXTENT),this._boundsArray.emplaceBack(i[2].x,i[2].y,t.EXTENT,t.EXTENT),this.boundsBuffer&&(this.boundsBuffer.destroy(),delete this.boundsBuffer),this.fire(new t.Event("data",{dataType:"source",sourceDataType:"content"})),this},r.prototype.prepare=function(){if(0!==Object.keys(this.tiles).length&&this.image){var e=this.map.painter.context,r=e.gl;for(var n in this.boundsBuffer||(this.boundsBuffer=e.createVertexBuffer(this._boundsArray,I.members)),this.boundsSegments||(this.boundsSegments=t.SegmentVector.simpleSegment(0,0,4,2)),this.texture||(this.texture=new t.Texture(e,this.image,r.RGBA),this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE)),this.tiles){var i=this.tiles[n];"loaded"!==i.state&&(i.state="loaded",i.texture=this.texture)}}},r.prototype.loadTile=function(t,e){this.tileID&&this.tileID.equals(t.tileID.canonical)?(this.tiles[String(t.tileID.wrap)]=t,t.buckets={},e(null)):(t.state="errored",e(null))},r.prototype.serialize=function(){return{type:"image",url:this.options.url,coordinates:this.coordinates}},r.prototype.hasTransition=function(){return!1},r}(t.Evented),z=function(e){function r(t,r,n,i){e.call(this,t,r,n,i),this.roundZoom=!0,this.type="video",this.options=r}return e&&(r.__proto__=e),(r.prototype=Object.create(e&&e.prototype)).constructor=r,r.prototype.load=function(){var e=this;this._loaded=!1;var r=this.options;this.urls=[];for(var n=0,i=r.urls;n<i.length;n+=1)this.urls.push(this.map._requestManager.transformRequest(i[n],t.ResourceType.Source).url);t.getVideo(this.urls,(function(r,n){e._loaded=!0,r?e.fire(new t.ErrorEvent(r)):n&&(e.video=n,e.video.loop=!0,e.video.addEventListener("playing",(function(){e.map.triggerRepaint()})),e.map&&e.video.play(),e._finishLoading())}))},r.prototype.pause=function(){this.video&&this.video.pause()},r.prototype.play=function(){this.video&&this.video.play()},r.prototype.seek=function(e){if(this.video){var r=this.video.seekable;e<r.start(0)||e>r.end(0)?this.fire(new t.ErrorEvent(new t.ValidationError("sources."+this.id,null,"Playback for this video can be set only between the "+r.start(0)+" and "+r.end(0)+"-second mark."))):this.video.currentTime=e}},r.prototype.getVideo=function(){return this.video},r.prototype.onAdd=function(t){this.map||(this.map=t,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))},r.prototype.prepare=function(){if(!(0===Object.keys(this.tiles).length||this.video.readyState<2)){var e=this.map.painter.context,r=e.gl;for(var n in this.boundsBuffer||(this.boundsBuffer=e.createVertexBuffer(this._boundsArray,I.members)),this.boundsSegments||(this.boundsSegments=t.SegmentVector.simpleSegment(0,0,4,2)),this.texture?this.video.paused||(this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE),r.texSubImage2D(r.TEXTURE_2D,0,0,0,r.RGBA,r.UNSIGNED_BYTE,this.video)):(this.texture=new t.Texture(e,this.video,r.RGBA),this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE)),this.tiles){var i=this.tiles[n];"loaded"!==i.state&&(i.state="loaded",i.texture=this.texture)}}},r.prototype.serialize=function(){return{type:"video",urls:this.urls,coordinates:this.coordinates}},r.prototype.hasTransition=function(){return this.video&&!this.video.paused},r}(P),O=function(e){function r(r,n,i,a){e.call(this,r,n,i,a),n.coordinates?Array.isArray(n.coordinates)&&4===n.coordinates.length&&!n.coordinates.some((function(t){return!Array.isArray(t)||2!==t.length||t.some((function(t){return"number"!=typeof t}))}))||this.fire(new t.ErrorEvent(new t.ValidationError("sources."+r,null,'"coordinates" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new t.ErrorEvent(new t.ValidationError("sources."+r,null,'missing required property "coordinates"'))),n.animate&&"boolean"!=typeof n.animate&&this.fire(new t.ErrorEvent(new t.ValidationError("sources."+r,null,'optional "animate" property must be a boolean value'))),n.canvas?"string"==typeof n.canvas||n.canvas instanceof t.window.HTMLCanvasElement||this.fire(new t.ErrorEvent(new t.ValidationError("sources."+r,null,'"canvas" must be either a string representing the ID of the canvas element from which to read, or an HTMLCanvasElement instance'))):this.fire(new t.ErrorEvent(new t.ValidationError("sources."+r,null,'missing required property "canvas"'))),this.options=n,this.animate=void 0===n.animate||n.animate}return e&&(r.__proto__=e),(r.prototype=Object.create(e&&e.prototype)).constructor=r,r.prototype.load=function(){this._loaded=!0,this.canvas||(this.canvas=this.options.canvas instanceof t.window.HTMLCanvasElement?this.options.canvas:t.window.document.getElementById(this.options.canvas)),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()?this.fire(new t.ErrorEvent(new Error("Canvas dimensions cannot be less than or equal to zero."))):(this.play=function(){this._playing=!0,this.map.triggerRepaint()},this.pause=function(){this._playing&&(this.prepare(),this._playing=!1)},this._finishLoading())},r.prototype.getCanvas=function(){return this.canvas},r.prototype.onAdd=function(t){this.map=t,this.load(),this.canvas&&this.animate&&this.play()},r.prototype.onRemove=function(){this.pause()},r.prototype.prepare=function(){var e=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,e=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,e=!0),!this._hasInvalidDimensions()&&0!==Object.keys(this.tiles).length){var r=this.map.painter.context,n=r.gl;for(var i in this.boundsBuffer||(this.boundsBuffer=r.createVertexBuffer(this._boundsArray,I.members)),this.boundsSegments||(this.boundsSegments=t.SegmentVector.simpleSegment(0,0,4,2)),this.texture?(e||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new t.Texture(r,this.canvas,n.RGBA,{premultiply:!0}),this.tiles){var a=this.tiles[i];"loaded"!==a.state&&(a.state="loaded",a.texture=this.texture)}}},r.prototype.serialize=function(){return{type:"canvas",coordinates:this.coordinates}},r.prototype.hasTransition=function(){return this._playing},r.prototype._hasInvalidDimensions=function(){for(var t=0,e=[this.canvas.width,this.canvas.height];t<e.length;t+=1){var r=e[t];if(isNaN(r)||r<=0)return!0}return!1},r}(P),D={vector:S,raster:E,"raster-dem":C,geojson:L,video:z,image:P,canvas:O};function R(e,r){var n=t.identity([]);return t.translate(n,n,[1,1,0]),t.scale(n,n,[.5*e.width,.5*e.height,1]),t.multiply(n,n,e.calculatePosMatrix(r.toUnwrapped()))}function F(t,e,r,n,i,a){var o=function(t,e,r){if(t)for(var n=0,i=t;n<i.length;n+=1){var a=e[i[n]];if(a&&a.source===r&&"fill-extrusion"===a.type)return!0}else for(var o in e){var s=e[o];if(s.source===r&&"fill-extrusion"===s.type)return!0}return!1}(i&&i.layers,e,t.id),s=a.maxPitchScaleFactor(),l=t.tilesIn(n,s,o);l.sort(B);for(var c=[],u=0,f=l;u<f.length;u+=1){var h=f[u];c.push({wrappedTileID:h.tileID.wrapped().key,queryResults:h.tile.queryRenderedFeatures(e,r,t._state,h.queryGeometry,h.cameraQueryGeometry,h.scale,i,a,s,R(t.transform,h.tileID))})}var p=function(t){for(var e={},r={},n=0,i=t;n<i.length;n+=1){var a=i[n],o=a.queryResults,s=a.wrappedTileID,l=r[s]=r[s]||{};for(var c in o)for(var u=o[c],f=l[c]=l[c]||{},h=e[c]=e[c]||[],p=0,d=u;p<d.length;p+=1){var g=d[p];f[g.featureIndex]||(f[g.featureIndex]=!0,h.push(g))}}return e}(c);for(var d in p)p[d].forEach((function(e){var r=e.feature,n=t.getFeatureState(r.layer["source-layer"],r.id);r.source=r.layer.source,r.layer["source-layer"]&&(r.sourceLayer=r.layer["source-layer"]),r.state=n}));return p}function B(t,e){var r=t.tileID,n=e.tileID;return r.overscaledZ-n.overscaledZ||r.canonical.y-n.canonical.y||r.wrap-n.wrap||r.canonical.x-n.canonical.x}var N=function(t,e){this.max=t,this.onRemove=e,this.reset()};N.prototype.reset=function(){for(var t in this.data)for(var e=0,r=this.data[t];e<r.length;e+=1){var n=r[e];n.timeout&&clearTimeout(n.timeout),this.onRemove(n.value)}return this.data={},this.order=[],this},N.prototype.add=function(t,e,r){var n=this,i=t.wrapped().key;void 0===this.data[i]&&(this.data[i]=[]);var a={value:e,timeout:void 0};if(void 0!==r&&(a.timeout=setTimeout((function(){n.remove(t,a)}),r)),this.data[i].push(a),this.order.push(i),this.order.length>this.max){var o=this._getAndRemoveByKey(this.order[0]);o&&this.onRemove(o)}return this},N.prototype.has=function(t){return t.wrapped().key in this.data},N.prototype.getAndRemove=function(t){return this.has(t)?this._getAndRemoveByKey(t.wrapped().key):null},N.prototype._getAndRemoveByKey=function(t){var e=this.data[t].shift();return e.timeout&&clearTimeout(e.timeout),0===this.data[t].length&&delete this.data[t],this.order.splice(this.order.indexOf(t),1),e.value},N.prototype.getByKey=function(t){var e=this.data[t];return e?e[0].value:null},N.prototype.get=function(t){return this.has(t)?this.data[t.wrapped().key][0].value:null},N.prototype.remove=function(t,e){if(!this.has(t))return this;var r=t.wrapped().key,n=void 0===e?0:this.data[r].indexOf(e),i=this.data[r][n];return this.data[r].splice(n,1),i.timeout&&clearTimeout(i.timeout),0===this.data[r].length&&delete this.data[r],this.onRemove(i.value),this.order.splice(this.order.indexOf(r),1),this},N.prototype.setMaxSize=function(t){for(this.max=t;this.order.length>this.max;){var e=this._getAndRemoveByKey(this.order[0]);e&&this.onRemove(e)}return this},N.prototype.filter=function(t){var e=[];for(var r in this.data)for(var n=0,i=this.data[r];n<i.length;n+=1){var a=i[n];t(a.value)||e.push(a)}for(var o=0,s=e;o<s.length;o+=1){var l=s[o];this.remove(l.value.tileID,l)}};var j=function(t,e,r){this.context=t;var n=t.gl;this.buffer=n.createBuffer(),this.dynamicDraw=Boolean(r),this.context.unbindVAO(),t.bindElementBuffer.set(this.buffer),n.bufferData(n.ELEMENT_ARRAY_BUFFER,e.arrayBuffer,this.dynamicDraw?n.DYNAMIC_DRAW:n.STATIC_DRAW),this.dynamicDraw||delete e.arrayBuffer};j.prototype.bind=function(){this.context.bindElementBuffer.set(this.buffer)},j.prototype.updateData=function(t){var e=this.context.gl;this.context.unbindVAO(),this.bind(),e.bufferSubData(e.ELEMENT_ARRAY_BUFFER,0,t.arrayBuffer)},j.prototype.destroy=function(){this.buffer&&(this.context.gl.deleteBuffer(this.buffer),delete this.buffer)};var U={Int8:"BYTE",Uint8:"UNSIGNED_BYTE",Int16:"SHORT",Uint16:"UNSIGNED_SHORT",Int32:"INT",Uint32:"UNSIGNED_INT",Float32:"FLOAT"},V=function(t,e,r,n){this.length=e.length,this.attributes=r,this.itemSize=e.bytesPerElement,this.dynamicDraw=n,this.context=t;var i=t.gl;this.buffer=i.createBuffer(),t.bindVertexBuffer.set(this.buffer),i.bufferData(i.ARRAY_BUFFER,e.arrayBuffer,this.dynamicDraw?i.DYNAMIC_DRAW:i.STATIC_DRAW),this.dynamicDraw||delete e.arrayBuffer};V.prototype.bind=function(){this.context.bindVertexBuffer.set(this.buffer)},V.prototype.updateData=function(t){var e=this.context.gl;this.bind(),e.bufferSubData(e.ARRAY_BUFFER,0,t.arrayBuffer)},V.prototype.enableAttributes=function(t,e){for(var r=0;r<this.attributes.length;r++){var n=e.attributes[this.attributes[r].name];void 0!==n&&t.enableVertexAttribArray(n)}},V.prototype.setVertexAttribPointers=function(t,e,r){for(var n=0;n<this.attributes.length;n++){var i=this.attributes[n],a=e.attributes[i.name];void 0!==a&&t.vertexAttribPointer(a,i.components,t[U[i.type]],!1,this.itemSize,i.offset+this.itemSize*(r||0))}},V.prototype.destroy=function(){this.buffer&&(this.context.gl.deleteBuffer(this.buffer),delete this.buffer)};var q=function(t){this.gl=t.gl,this.default=this.getDefault(),this.current=this.default,this.dirty=!1};q.prototype.get=function(){return this.current},q.prototype.set=function(t){},q.prototype.getDefault=function(){return this.default},q.prototype.setDefault=function(){this.set(this.default)};var H=function(e){function r(){e.apply(this,arguments)}return e&&(r.__proto__=e),(r.prototype=Object.create(e&&e.prototype)).constructor=r,r.prototype.getDefault=function(){return t.Color.transparent},r.prototype.set=function(t){var e=this.current;(t.r!==e.r||t.g!==e.g||t.b!==e.b||t.a!==e.a||this.dirty)&&(this.gl.clearColor(t.r,t.g,t.b,t.a),this.current=t,this.dirty=!1)},r}(q),G=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return 1},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.clearDepth(t),this.current=t,this.dirty=!1)},e}(q),Y=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return 0},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.clearStencil(t),this.current=t,this.dirty=!1)},e}(q),W=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return[!0,!0,!0,!0]},e.prototype.set=function(t){var e=this.current;(t[0]!==e[0]||t[1]!==e[1]||t[2]!==e[2]||t[3]!==e[3]||this.dirty)&&(this.gl.colorMask(t[0],t[1],t[2],t[3]),this.current=t,this.dirty=!1)},e}(q),X=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return!0},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.depthMask(t),this.current=t,this.dirty=!1)},e}(q),Z=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return 255},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.stencilMask(t),this.current=t,this.dirty=!1)},e}(q),J=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return{func:this.gl.ALWAYS,ref:0,mask:255}},e.prototype.set=function(t){var e=this.current;(t.func!==e.func||t.ref!==e.ref||t.mask!==e.mask||this.dirty)&&(this.gl.stencilFunc(t.func,t.ref,t.mask),this.current=t,this.dirty=!1)},e}(q),K=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){var t=this.gl;return[t.KEEP,t.KEEP,t.KEEP]},e.prototype.set=function(t){var e=this.current;(t[0]!==e[0]||t[1]!==e[1]||t[2]!==e[2]||this.dirty)&&(this.gl.stencilOp(t[0],t[1],t[2]),this.current=t,this.dirty=!1)},e}(q),Q=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return!1},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;t?e.enable(e.STENCIL_TEST):e.disable(e.STENCIL_TEST),this.current=t,this.dirty=!1}},e}(q),$=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return[0,1]},e.prototype.set=function(t){var e=this.current;(t[0]!==e[0]||t[1]!==e[1]||this.dirty)&&(this.gl.depthRange(t[0],t[1]),this.current=t,this.dirty=!1)},e}(q),tt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return!1},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;t?e.enable(e.DEPTH_TEST):e.disable(e.DEPTH_TEST),this.current=t,this.dirty=!1}},e}(q),et=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return this.gl.LESS},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.depthFunc(t),this.current=t,this.dirty=!1)},e}(q),rt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return!1},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;t?e.enable(e.BLEND):e.disable(e.BLEND),this.current=t,this.dirty=!1}},e}(q),nt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){var t=this.gl;return[t.ONE,t.ZERO]},e.prototype.set=function(t){var e=this.current;(t[0]!==e[0]||t[1]!==e[1]||this.dirty)&&(this.gl.blendFunc(t[0],t[1]),this.current=t,this.dirty=!1)},e}(q),it=function(e){function r(){e.apply(this,arguments)}return e&&(r.__proto__=e),(r.prototype=Object.create(e&&e.prototype)).constructor=r,r.prototype.getDefault=function(){return t.Color.transparent},r.prototype.set=function(t){var e=this.current;(t.r!==e.r||t.g!==e.g||t.b!==e.b||t.a!==e.a||this.dirty)&&(this.gl.blendColor(t.r,t.g,t.b,t.a),this.current=t,this.dirty=!1)},r}(q),at=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return this.gl.FUNC_ADD},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.blendEquation(t),this.current=t,this.dirty=!1)},e}(q),ot=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return!1},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;t?e.enable(e.CULL_FACE):e.disable(e.CULL_FACE),this.current=t,this.dirty=!1}},e}(q),st=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return this.gl.BACK},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.cullFace(t),this.current=t,this.dirty=!1)},e}(q),lt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return this.gl.CCW},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.frontFace(t),this.current=t,this.dirty=!1)},e}(q),ct=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return null},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.useProgram(t),this.current=t,this.dirty=!1)},e}(q),ut=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return this.gl.TEXTURE0},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.activeTexture(t),this.current=t,this.dirty=!1)},e}(q),ft=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){var t=this.gl;return[0,0,t.drawingBufferWidth,t.drawingBufferHeight]},e.prototype.set=function(t){var e=this.current;(t[0]!==e[0]||t[1]!==e[1]||t[2]!==e[2]||t[3]!==e[3]||this.dirty)&&(this.gl.viewport(t[0],t[1],t[2],t[3]),this.current=t,this.dirty=!1)},e}(q),ht=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return null},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;e.bindFramebuffer(e.FRAMEBUFFER,t),this.current=t,this.dirty=!1}},e}(q),pt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return null},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;e.bindRenderbuffer(e.RENDERBUFFER,t),this.current=t,this.dirty=!1}},e}(q),dt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return null},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;e.bindTexture(e.TEXTURE_2D,t),this.current=t,this.dirty=!1}},e}(q),gt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return null},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;e.bindBuffer(e.ARRAY_BUFFER,t),this.current=t,this.dirty=!1}},e}(q),mt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return null},e.prototype.set=function(t){var e=this.gl;e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,t),this.current=t,this.dirty=!1},e}(q),vt=function(t){function e(e){t.call(this,e),this.vao=e.extVertexArrayObject}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return null},e.prototype.set=function(t){this.vao&&(t!==this.current||this.dirty)&&(this.vao.bindVertexArrayOES(t),this.current=t,this.dirty=!1)},e}(q),yt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return 4},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;e.pixelStorei(e.UNPACK_ALIGNMENT,t),this.current=t,this.dirty=!1}},e}(q),xt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return!1},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;e.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL,t),this.current=t,this.dirty=!1}},e}(q),bt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return!1},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,t),this.current=t,this.dirty=!1}},e}(q),_t=function(t){function e(e,r){t.call(this,e),this.context=e,this.parent=r}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return null},e}(q),wt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.setDirty=function(){this.dirty=!0},e.prototype.set=function(t){if(t!==this.current||this.dirty){this.context.bindFramebuffer.set(this.parent);var e=this.gl;e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,t,0),this.current=t,this.dirty=!1}},e}(_t),Tt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.set=function(t){if(t!==this.current||this.dirty){this.context.bindFramebuffer.set(this.parent);var e=this.gl;e.framebufferRenderbuffer(e.FRAMEBUFFER,e.DEPTH_ATTACHMENT,e.RENDERBUFFER,t),this.current=t,this.dirty=!1}},e}(_t),kt=function(t,e,r,n){this.context=t,this.width=e,this.height=r;var i=this.framebuffer=t.gl.createFramebuffer();this.colorAttachment=new wt(t,i),n&&(this.depthAttachment=new Tt(t,i))};kt.prototype.destroy=function(){var t=this.context.gl,e=this.colorAttachment.get();if(e&&t.deleteTexture(e),this.depthAttachment){var r=this.depthAttachment.get();r&&t.deleteRenderbuffer(r)}t.deleteFramebuffer(this.framebuffer)};var Mt=function(t,e,r){this.func=t,this.mask=e,this.range=r};Mt.ReadOnly=!1,Mt.ReadWrite=!0,Mt.disabled=new Mt(519,Mt.ReadOnly,[0,1]);var At=function(t,e,r,n,i,a){this.test=t,this.ref=e,this.mask=r,this.fail=n,this.depthFail=i,this.pass=a};At.disabled=new At({func:519,mask:0},0,0,7680,7680,7680);var St=function(t,e,r){this.blendFunction=t,this.blendColor=e,this.mask=r};St.disabled=new St(St.Replace=[1,0],t.Color.transparent,[!1,!1,!1,!1]),St.unblended=new St(St.Replace,t.Color.transparent,[!0,!0,!0,!0]),St.alphaBlended=new St([1,771],t.Color.transparent,[!0,!0,!0,!0]);var Et=function(t,e,r){this.enable=t,this.mode=e,this.frontFace=r};Et.disabled=new Et(!1,1029,2305),Et.backCCW=new Et(!0,1029,2305);var Ct=function(t){this.gl=t,this.extVertexArrayObject=this.gl.getExtension("OES_vertex_array_object"),this.clearColor=new H(this),this.clearDepth=new G(this),this.clearStencil=new Y(this),this.colorMask=new W(this),this.depthMask=new X(this),this.stencilMask=new Z(this),this.stencilFunc=new J(this),this.stencilOp=new K(this),this.stencilTest=new Q(this),this.depthRange=new $(this),this.depthTest=new tt(this),this.depthFunc=new et(this),this.blend=new rt(this),this.blendFunc=new nt(this),this.blendColor=new it(this),this.blendEquation=new at(this),this.cullFace=new ot(this),this.cullFaceSide=new st(this),this.frontFace=new lt(this),this.program=new ct(this),this.activeTexture=new ut(this),this.viewport=new ft(this),this.bindFramebuffer=new ht(this),this.bindRenderbuffer=new pt(this),this.bindTexture=new dt(this),this.bindVertexBuffer=new gt(this),this.bindElementBuffer=new mt(this),this.bindVertexArrayOES=this.extVertexArrayObject&&new vt(this),this.pixelStoreUnpack=new yt(this),this.pixelStoreUnpackPremultiplyAlpha=new xt(this),this.pixelStoreUnpackFlipY=new bt(this),this.extTextureFilterAnisotropic=t.getExtension("EXT_texture_filter_anisotropic")||t.getExtension("MOZ_EXT_texture_filter_anisotropic")||t.getExtension("WEBKIT_EXT_texture_filter_anisotropic"),this.extTextureFilterAnisotropic&&(this.extTextureFilterAnisotropicMax=t.getParameter(this.extTextureFilterAnisotropic.MAX_TEXTURE_MAX_ANISOTROPY_EXT)),this.extTextureHalfFloat=t.getExtension("OES_texture_half_float"),this.extTextureHalfFloat&&(t.getExtension("OES_texture_half_float_linear"),this.extRenderToTextureHalfFloat=t.getExtension("EXT_color_buffer_half_float")),this.extTimerQuery=t.getExtension("EXT_disjoint_timer_query")};Ct.prototype.setDefault=function(){this.unbindVAO(),this.clearColor.setDefault(),this.clearDepth.setDefault(),this.clearStencil.setDefault(),this.colorMask.setDefault(),this.depthMask.setDefault(),this.stencilMask.setDefault(),this.stencilFunc.setDefault(),this.stencilOp.setDefault(),this.stencilTest.setDefault(),this.depthRange.setDefault(),this.depthTest.setDefault(),this.depthFunc.setDefault(),this.blend.setDefault(),this.blendFunc.setDefault(),this.blendColor.setDefault(),this.blendEquation.setDefault(),this.cullFace.setDefault(),this.cullFaceSide.setDefault(),this.frontFace.setDefault(),this.program.setDefault(),this.activeTexture.setDefault(),this.bindFramebuffer.setDefault(),this.pixelStoreUnpack.setDefault(),this.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.pixelStoreUnpackFlipY.setDefault()},Ct.prototype.setDirty=function(){this.clearColor.dirty=!0,this.clearDepth.dirty=!0,this.clearStencil.dirty=!0,this.colorMask.dirty=!0,this.depthMask.dirty=!0,this.stencilMask.dirty=!0,this.stencilFunc.dirty=!0,this.stencilOp.dirty=!0,this.stencilTest.dirty=!0,this.depthRange.dirty=!0,this.depthTest.dirty=!0,this.depthFunc.dirty=!0,this.blend.dirty=!0,this.blendFunc.dirty=!0,this.blendColor.dirty=!0,this.blendEquation.dirty=!0,this.cullFace.dirty=!0,this.cullFaceSide.dirty=!0,this.frontFace.dirty=!0,this.program.dirty=!0,this.activeTexture.dirty=!0,this.viewport.dirty=!0,this.bindFramebuffer.dirty=!0,this.bindRenderbuffer.dirty=!0,this.bindTexture.dirty=!0,this.bindVertexBuffer.dirty=!0,this.bindElementBuffer.dirty=!0,this.extVertexArrayObject&&(this.bindVertexArrayOES.dirty=!0),this.pixelStoreUnpack.dirty=!0,this.pixelStoreUnpackPremultiplyAlpha.dirty=!0,this.pixelStoreUnpackFlipY.dirty=!0},Ct.prototype.createIndexBuffer=function(t,e){return new j(this,t,e)},Ct.prototype.createVertexBuffer=function(t,e,r){return new V(this,t,e,r)},Ct.prototype.createRenderbuffer=function(t,e,r){var n=this.gl,i=n.createRenderbuffer();return this.bindRenderbuffer.set(i),n.renderbufferStorage(n.RENDERBUFFER,t,e,r),this.bindRenderbuffer.set(null),i},Ct.prototype.createFramebuffer=function(t,e,r){return new kt(this,t,e,r)},Ct.prototype.clear=function(t){var e=t.color,r=t.depth,n=this.gl,i=0;e&&(i|=n.COLOR_BUFFER_BIT,this.clearColor.set(e),this.colorMask.set([!0,!0,!0,!0])),void 0!==r&&(i|=n.DEPTH_BUFFER_BIT,this.depthRange.set([0,1]),this.clearDepth.set(r),this.depthMask.set(!0)),n.clear(i)},Ct.prototype.setCullFace=function(t){!1===t.enable?this.cullFace.set(!1):(this.cullFace.set(!0),this.cullFaceSide.set(t.mode),this.frontFace.set(t.frontFace))},Ct.prototype.setDepthMode=function(t){t.func!==this.gl.ALWAYS||t.mask?(this.depthTest.set(!0),this.depthFunc.set(t.func),this.depthMask.set(t.mask),this.depthRange.set(t.range)):this.depthTest.set(!1)},Ct.prototype.setStencilMode=function(t){t.test.func!==this.gl.ALWAYS||t.mask?(this.stencilTest.set(!0),this.stencilMask.set(t.mask),this.stencilOp.set([t.fail,t.depthFail,t.pass]),this.stencilFunc.set({func:t.test.func,ref:t.ref,mask:t.test.mask})):this.stencilTest.set(!1)},Ct.prototype.setColorMode=function(e){t.deepEqual(e.blendFunction,St.Replace)?this.blend.set(!1):(this.blend.set(!0),this.blendFunc.set(e.blendFunction),this.blendColor.set(e.blendColor)),this.colorMask.set(e.mask)},Ct.prototype.unbindVAO=function(){this.extVertexArrayObject&&this.bindVertexArrayOES.set(null)};var Lt=function(e){function r(r,n,i){var a=this;e.call(this),this.id=r,this.dispatcher=i,this.on("data",(function(t){"source"===t.dataType&&"metadata"===t.sourceDataType&&(a._sourceLoaded=!0),a._sourceLoaded&&!a._paused&&"source"===t.dataType&&"content"===t.sourceDataType&&(a.reload(),a.transform&&a.update(a.transform))})),this.on("error",(function(){a._sourceErrored=!0})),this._source=function(e,r,n,i){var a=new D[r.type](e,r,n,i);if(a.id!==e)throw new Error("Expected Source id to be "+e+" instead of "+a.id);return t.bindAll(["load","abort","unload","serialize","prepare"],a),a}(r,n,i,this),this._tiles={},this._cache=new N(0,this._unloadTile.bind(this)),this._timers={},this._cacheTimers={},this._maxTileCacheSize=null,this._loadedParentTiles={},this._coveredTiles={},this._state=new t.SourceFeatureState}return e&&(r.__proto__=e),(r.prototype=Object.create(e&&e.prototype)).constructor=r,r.prototype.onAdd=function(t){this.map=t,this._maxTileCacheSize=t?t._maxTileCacheSize:null,this._source&&this._source.onAdd&&this._source.onAdd(t)},r.prototype.onRemove=function(t){this._source&&this._source.onRemove&&this._source.onRemove(t)},r.prototype.loaded=function(){if(this._sourceErrored)return!0;if(!this._sourceLoaded)return!1;if(!this._source.loaded())return!1;for(var t in this._tiles){var e=this._tiles[t];if("loaded"!==e.state&&"errored"!==e.state)return!1}return!0},r.prototype.getSource=function(){return this._source},r.prototype.pause=function(){this._paused=!0},r.prototype.resume=function(){if(this._paused){var t=this._shouldReloadOnResume;this._paused=!1,this._shouldReloadOnResume=!1,t&&this.reload(),this.transform&&this.update(this.transform)}},r.prototype._loadTile=function(t,e){return this._source.loadTile(t,e)},r.prototype._unloadTile=function(t){if(this._source.unloadTile)return this._source.unloadTile(t,(function(){}))},r.prototype._abortTile=function(t){if(this._source.abortTile)return this._source.abortTile(t,(function(){}))},r.prototype.serialize=function(){return this._source.serialize()},r.prototype.prepare=function(t){for(var e in this._source.prepare&&this._source.prepare(),this._state.coalesceChanges(this._tiles,this.map?this.map.painter:null),this._tiles){var r=this._tiles[e];r.upload(t),r.prepare(this.map.style.imageManager)}},r.prototype.getIds=function(){return t.values(this._tiles).map((function(t){return t.tileID})).sort(It).map((function(t){return t.key}))},r.prototype.getRenderableIds=function(e){var r=this,n=[];for(var i in this._tiles)this._isIdRenderable(i,e)&&n.push(this._tiles[i]);return e?n.sort((function(e,n){var i=e.tileID,a=n.tileID,o=new t.Point(i.canonical.x,i.canonical.y)._rotate(r.transform.angle),s=new t.Point(a.canonical.x,a.canonical.y)._rotate(r.transform.angle);return i.overscaledZ-a.overscaledZ||s.y-o.y||s.x-o.x})).map((function(t){return t.tileID.key})):n.map((function(t){return t.tileID})).sort(It).map((function(t){return t.key}))},r.prototype.hasRenderableParent=function(t){var e=this.findLoadedParent(t,0);return!!e&&this._isIdRenderable(e.tileID.key)},r.prototype._isIdRenderable=function(t,e){return this._tiles[t]&&this._tiles[t].hasData()&&!this._coveredTiles[t]&&(e||!this._tiles[t].holdingForFade())},r.prototype.reload=function(){if(this._paused)this._shouldReloadOnResume=!0;else for(var t in this._cache.reset(),this._tiles)"errored"!==this._tiles[t].state&&this._reloadTile(t,"reloading")},r.prototype._reloadTile=function(t,e){var r=this._tiles[t];r&&("loading"!==r.state&&(r.state=e),this._loadTile(r,this._tileLoaded.bind(this,r,t,e)))},r.prototype._tileLoaded=function(e,r,n,i){if(i)return e.state="errored",void(404!==i.status?this._source.fire(new t.ErrorEvent(i,{tile:e})):this.update(this.transform));e.timeAdded=t.browser.now(),"expired"===n&&(e.refreshedUponExpiration=!0),this._setTileReloadTimer(r,e),"raster-dem"===this.getSource().type&&e.dem&&this._backfillDEM(e),this._state.initializeTileState(e,this.map?this.map.painter:null),this._source.fire(new t.Event("data",{dataType:"source",tile:e,coord:e.tileID}))},r.prototype._backfillDEM=function(t){for(var e=this.getRenderableIds(),r=0;r<e.length;r++){var n=e[r];if(t.neighboringTiles&&t.neighboringTiles[n]){var i=this.getTileByID(n);a(t,i),a(i,t)}}function a(t,e){t.needsHillshadePrepare=!0;var r=e.tileID.canonical.x-t.tileID.canonical.x,n=e.tileID.canonical.y-t.tileID.canonical.y,i=Math.pow(2,t.tileID.canonical.z),a=e.tileID.key;0===r&&0===n||Math.abs(n)>1||(Math.abs(r)>1&&(1===Math.abs(r+i)?r+=i:1===Math.abs(r-i)&&(r-=i)),e.dem&&t.dem&&(t.dem.backfillBorder(e.dem,r,n),t.neighboringTiles&&t.neighboringTiles[a]&&(t.neighboringTiles[a].backfilled=!0)))}},r.prototype.getTile=function(t){return this.getTileByID(t.key)},r.prototype.getTileByID=function(t){return this._tiles[t]},r.prototype._retainLoadedChildren=function(t,e,r,n){for(var i in this._tiles){var a=this._tiles[i];if(!(n[i]||!a.hasData()||a.tileID.overscaledZ<=e||a.tileID.overscaledZ>r)){for(var o=a.tileID;a&&a.tileID.overscaledZ>e+1;){var s=a.tileID.scaledTo(a.tileID.overscaledZ-1);(a=this._tiles[s.key])&&a.hasData()&&(o=s)}for(var l=o;l.overscaledZ>e;)if(t[(l=l.scaledTo(l.overscaledZ-1)).key]){n[o.key]=o;break}}}},r.prototype.findLoadedParent=function(t,e){if(t.key in this._loadedParentTiles){var r=this._loadedParentTiles[t.key];return r&&r.tileID.overscaledZ>=e?r:null}for(var n=t.overscaledZ-1;n>=e;n--){var i=t.scaledTo(n),a=this._getLoadedTile(i);if(a)return a}},r.prototype._getLoadedTile=function(t){var e=this._tiles[t.key];return e&&e.hasData()?e:this._cache.getByKey(t.wrapped().key)},r.prototype.updateCacheSize=function(t){var e=Math.ceil(t.width/this._source.tileSize)+1,r=Math.ceil(t.height/this._source.tileSize)+1,n=Math.floor(e*r*5),i="number"==typeof this._maxTileCacheSize?Math.min(this._maxTileCacheSize,n):n;this._cache.setMaxSize(i)},r.prototype.handleWrapJump=function(t){var e=Math.round((t-(void 0===this._prevLng?t:this._prevLng))/360);if(this._prevLng=t,e){var r={};for(var n in this._tiles){var i=this._tiles[n];i.tileID=i.tileID.unwrapTo(i.tileID.wrap+e),r[i.tileID.key]=i}for(var a in this._tiles=r,this._timers)clearTimeout(this._timers[a]),delete this._timers[a];for(var o in this._tiles)this._setTileReloadTimer(o,this._tiles[o])}},r.prototype.update=function(e){var n=this;if(this.transform=e,this._sourceLoaded&&!this._paused){var i;this.updateCacheSize(e),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used?this._source.tileID?i=e.getVisibleUnwrappedCoordinates(this._source.tileID).map((function(e){return new t.OverscaledTileID(e.canonical.z,e.wrap,e.canonical.z,e.canonical.x,e.canonical.y)})):(i=e.coveringTiles({tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled}),this._source.hasTile&&(i=i.filter((function(t){return n._source.hasTile(t)})))):i=[];var a=e.coveringZoomLevel(this._source),o=Math.max(a-r.maxOverzooming,this._source.minzoom),s=Math.max(a+r.maxUnderzooming,this._source.minzoom),l=this._updateRetainedTiles(i,a);if(Pt(this._source.type)){for(var c={},u={},f=0,h=Object.keys(l);f<h.length;f+=1){var p=h[f],d=l[p],g=this._tiles[p];if(g&&!(g.fadeEndTime&&g.fadeEndTime<=t.browser.now())){var m=this.findLoadedParent(d,o);m&&(this._addTile(m.tileID),c[m.tileID.key]=m.tileID),u[p]=d}}for(var v in this._retainLoadedChildren(u,a,s,l),c)l[v]||(this._coveredTiles[v]=!0,l[v]=c[v])}for(var y in l)this._tiles[y].clearFadeHold();for(var x=0,b=t.keysDifference(this._tiles,l);x<b.length;x+=1){var _=b[x],w=this._tiles[_];w.hasSymbolBuckets&&!w.holdingForFade()?w.setHoldDuration(this.map._fadeDuration):w.hasSymbolBuckets&&!w.symbolFadeFinished()||this._removeTile(_)}this._updateLoadedParentTileCache()}},r.prototype.releaseSymbolFadeTiles=function(){for(var t in this._tiles)this._tiles[t].holdingForFade()&&this._removeTile(t)},r.prototype._updateRetainedTiles=function(t,e){for(var n={},i={},a=Math.max(e-r.maxOverzooming,this._source.minzoom),o=Math.max(e+r.maxUnderzooming,this._source.minzoom),s={},l=0,c=t;l<c.length;l+=1){var u=c[l],f=this._addTile(u);n[u.key]=u,f.hasData()||e<this._source.maxzoom&&(s[u.key]=u)}this._retainLoadedChildren(s,e,o,n);for(var h=0,p=t;h<p.length;h+=1){var d=p[h],g=this._tiles[d.key];if(!g.hasData()){if(e+1>this._source.maxzoom){var m=d.children(this._source.maxzoom)[0],v=this.getTile(m);if(v&&v.hasData()){n[m.key]=m;continue}}else{var y=d.children(this._source.maxzoom);if(n[y[0].key]&&n[y[1].key]&&n[y[2].key]&&n[y[3].key])continue}for(var x=g.wasRequested(),b=d.overscaledZ-1;b>=a;--b){var _=d.scaledTo(b);if(i[_.key])break;if(i[_.key]=!0,!(g=this.getTile(_))&&x&&(g=this._addTile(_)),g&&(n[_.key]=_,x=g.wasRequested(),g.hasData()))break}}}return n},r.prototype._updateLoadedParentTileCache=function(){for(var t in this._loadedParentTiles={},this._tiles){for(var e=[],r=void 0,n=this._tiles[t].tileID;n.overscaledZ>0;){if(n.key in this._loadedParentTiles){r=this._loadedParentTiles[n.key];break}e.push(n.key);var i=n.scaledTo(n.overscaledZ-1);if(r=this._getLoadedTile(i))break;n=i}for(var a=0,o=e;a<o.length;a+=1)this._loadedParentTiles[o[a]]=r}},r.prototype._addTile=function(e){var r=this._tiles[e.key];if(r)return r;(r=this._cache.getAndRemove(e))&&(this._setTileReloadTimer(e.key,r),r.tileID=e,this._state.initializeTileState(r,this.map?this.map.painter:null),this._cacheTimers[e.key]&&(clearTimeout(this._cacheTimers[e.key]),delete this._cacheTimers[e.key],this._setTileReloadTimer(e.key,r)));var n=Boolean(r);return n||(r=new t.Tile(e,this._source.tileSize*e.overscaleFactor()),this._loadTile(r,this._tileLoaded.bind(this,r,e.key,r.state))),r?(r.uses++,this._tiles[e.key]=r,n||this._source.fire(new t.Event("dataloading",{tile:r,coord:r.tileID,dataType:"source"})),r):null},r.prototype._setTileReloadTimer=function(t,e){var r=this;t in this._timers&&(clearTimeout(this._timers[t]),delete this._timers[t]);var n=e.getExpiryTimeout();n&&(this._timers[t]=setTimeout((function(){r._reloadTile(t,"expired"),delete r._timers[t]}),n))},r.prototype._removeTile=function(t){var e=this._tiles[t];e&&(e.uses--,delete this._tiles[t],this._timers[t]&&(clearTimeout(this._timers[t]),delete this._timers[t]),e.uses>0||(e.hasData()&&"reloading"!==e.state?this._cache.add(e.tileID,e,e.getExpiryTimeout()):(e.aborted=!0,this._abortTile(e),this._unloadTile(e))))},r.prototype.clearTiles=function(){for(var t in this._shouldReloadOnResume=!1,this._paused=!1,this._tiles)this._removeTile(t);this._cache.reset()},r.prototype.tilesIn=function(e,r,n){var i=this,a=[],o=this.transform;if(!o)return a;for(var s=n?o.getCameraQueryGeometry(e):e,l=e.map((function(t){return o.pointCoordinate(t)})),c=s.map((function(t){return o.pointCoordinate(t)})),u=this.getIds(),f=1/0,h=1/0,p=-1/0,d=-1/0,g=0,m=c;g<m.length;g+=1){var v=m[g];f=Math.min(f,v.x),h=Math.min(h,v.y),p=Math.max(p,v.x),d=Math.max(d,v.y)}for(var y=function(e){var n=i._tiles[u[e]];if(!n.holdingForFade()){var s=n.tileID,g=Math.pow(2,o.zoom-n.tileID.overscaledZ),m=r*n.queryPadding*t.EXTENT/n.tileSize/g,v=[s.getTilePoint(new t.MercatorCoordinate(f,h)),s.getTilePoint(new t.MercatorCoordinate(p,d))];if(v[0].x-m<t.EXTENT&&v[0].y-m<t.EXTENT&&v[1].x+m>=0&&v[1].y+m>=0){var y=l.map((function(t){return s.getTilePoint(t)})),x=c.map((function(t){return s.getTilePoint(t)}));a.push({tile:n,tileID:s,queryGeometry:y,cameraQueryGeometry:x,scale:g})}}},x=0;x<u.length;x++)y(x);return a},r.prototype.getVisibleCoordinates=function(t){for(var e=this,r=this.getRenderableIds(t).map((function(t){return e._tiles[t].tileID})),n=0,i=r;n<i.length;n+=1){var a=i[n];a.posMatrix=this.transform.calculatePosMatrix(a.toUnwrapped())}return r},r.prototype.hasTransition=function(){if(this._source.hasTransition())return!0;if(Pt(this._source.type))for(var e in this._tiles){var r=this._tiles[e];if(void 0!==r.fadeEndTime&&r.fadeEndTime>=t.browser.now())return!0}return!1},r.prototype.setFeatureState=function(t,e,r){this._state.updateState(t=t||"_geojsonTileLayer",e,r)},r.prototype.removeFeatureState=function(t,e,r){this._state.removeFeatureState(t=t||"_geojsonTileLayer",e,r)},r.prototype.getFeatureState=function(t,e){return this._state.getState(t=t||"_geojsonTileLayer",e)},r.prototype.setDependencies=function(t,e,r){var n=this._tiles[t];n&&n.setDependencies(e,r)},r.prototype.reloadTilesForDependencies=function(t,e){for(var r in this._tiles)this._tiles[r].hasDependency(t,e)&&this._reloadTile(r,"reloading");this._cache.filter((function(r){return!r.hasDependency(t,e)}))},r}(t.Evented);function It(t,e){var r=Math.abs(2*t.wrap)-+(t.wrap<0),n=Math.abs(2*e.wrap)-+(e.wrap<0);return t.overscaledZ-e.overscaledZ||n-r||e.canonical.y-t.canonical.y||e.canonical.x-t.canonical.x}function Pt(t){return"raster"===t||"image"===t||"video"===t}function zt(){return new t.window.Worker(Yi.workerUrl)}Lt.maxOverzooming=10,Lt.maxUnderzooming=3;var Ot="mapboxgl_preloaded_worker_pool",Dt=function(){this.active={}};Dt.prototype.acquire=function(t){if(!this.workers)for(this.workers=[];this.workers.length<Dt.workerCount;)this.workers.push(new zt);return this.active[t]=!0,this.workers.slice()},Dt.prototype.release=function(t){delete this.active[t],0===this.numActive()&&(this.workers.forEach((function(t){t.terminate()})),this.workers=null)},Dt.prototype.isPreloaded=function(){return!!this.active[Ot]},Dt.prototype.numActive=function(){return Object.keys(this.active).length};var Rt,Ft=Math.floor(t.browser.hardwareConcurrency/2);function Bt(){return Rt||(Rt=new Dt),Rt}function Nt(e,r){var n={};for(var i in e)"ref"!==i&&(n[i]=e[i]);return t.refProperties.forEach((function(t){t in r&&(n[t]=r[t])})),n}function jt(t){t=t.slice();for(var e=Object.create(null),r=0;r<t.length;r++)e[t[r].id]=t[r];for(var n=0;n<t.length;n++)"ref"in t[n]&&(t[n]=Nt(t[n],e[t[n].ref]));return t}Dt.workerCount=Math.max(Math.min(Ft,6),1);var Ut={setStyle:"setStyle",addLayer:"addLayer",removeLayer:"removeLayer",setPaintProperty:"setPaintProperty",setLayoutProperty:"setLayoutProperty",setFilter:"setFilter",addSource:"addSource",removeSource:"removeSource",setGeoJSONSourceData:"setGeoJSONSourceData",setLayerZoomRange:"setLayerZoomRange",setLayerProperty:"setLayerProperty",setCenter:"setCenter",setZoom:"setZoom",setBearing:"setBearing",setPitch:"setPitch",setSprite:"setSprite",setGlyphs:"setGlyphs",setTransition:"setTransition",setLight:"setLight"};function Vt(t,e,r){r.push({command:Ut.addSource,args:[t,e[t]]})}function qt(t,e,r){e.push({command:Ut.removeSource,args:[t]}),r[t]=!0}function Ht(t,e,r,n){qt(t,r,n),Vt(t,e,r)}function Gt(e,r,n){var i;for(i in e[n])if(e[n].hasOwnProperty(i)&&"data"!==i&&!t.deepEqual(e[n][i],r[n][i]))return!1;for(i in r[n])if(r[n].hasOwnProperty(i)&&"data"!==i&&!t.deepEqual(e[n][i],r[n][i]))return!1;return!0}function Yt(e,r,n,i,a,o){var s;for(s in r=r||{},e=e||{})e.hasOwnProperty(s)&&(t.deepEqual(e[s],r[s])||n.push({command:o,args:[i,s,r[s],a]}));for(s in r)r.hasOwnProperty(s)&&!e.hasOwnProperty(s)&&(t.deepEqual(e[s],r[s])||n.push({command:o,args:[i,s,r[s],a]}))}function Wt(t){return t.id}function Xt(t,e){return t[e.id]=e,t}var Zt=function(t,e){this.reset(t,e)};Zt.prototype.reset=function(t,e){this.points=t||[],this._distances=[0];for(var r=1;r<this.points.length;r++)this._distances[r]=this._distances[r-1]+this.points[r].dist(this.points[r-1]);this.length=this._distances[this._distances.length-1],this.padding=Math.min(e||0,.5*this.length),this.paddedLength=this.length-2*this.padding},Zt.prototype.lerp=function(e){if(1===this.points.length)return this.points[0];e=t.clamp(e,0,1);for(var r=1,n=this._distances[r],i=e*this.paddedLength+this.padding;n<i&&r<this._distances.length;)n=this._distances[++r];var a=r-1,o=this._distances[a],s=n-o,l=s>0?(i-o)/s:0;return this.points[a].mult(1-l).add(this.points[r].mult(l))};var Jt=function(t,e,r){var n=this.boxCells=[],i=this.circleCells=[];this.xCellCount=Math.ceil(t/r),this.yCellCount=Math.ceil(e/r);for(var a=0;a<this.xCellCount*this.yCellCount;a++)n.push([]),i.push([]);this.circleKeys=[],this.boxKeys=[],this.bboxes=[],this.circles=[],this.width=t,this.height=e,this.xScale=this.xCellCount/t,this.yScale=this.yCellCount/e,this.boxUid=0,this.circleUid=0};function Kt(e,r,n,i,a){var o=t.create();return r?(t.scale(o,o,[1/a,1/a,1]),n||t.rotateZ(o,o,i.angle)):t.multiply(o,i.labelPlaneMatrix,e),o}function Qt(e,r,n,i,a){if(r){var o=t.clone(e);return t.scale(o,o,[a,a,1]),n||t.rotateZ(o,o,-i.angle),o}return i.glCoordMatrix}function $t(e,r){var n=[e.x,e.y,0,1];ue(n,n,r);var i=n[3];return{point:new t.Point(n[0]/i,n[1]/i),signedDistanceFromCamera:i}}function te(t,e){return.5+t/e*.5}function ee(t,e){var r=t[0]/t[3],n=t[1]/t[3];return r>=-e[0]&&r<=e[0]&&n>=-e[1]&&n<=e[1]}function re(e,r,n,i,a,o,s,l){var c=i?e.textSizeData:e.iconSizeData,u=t.evaluateSizeForZoom(c,n.transform.zoom),f=[256/n.width*2+1,256/n.height*2+1],h=i?e.text.dynamicLayoutVertexArray:e.icon.dynamicLayoutVertexArray;h.clear();for(var p=e.lineVertexArray,d=i?e.text.placedSymbolArray:e.icon.placedSymbolArray,g=n.transform.width/n.transform.height,m=!1,v=0;v<d.length;v++){var y=d.get(v);if(y.hidden||y.writingMode===t.WritingMode.vertical&&!m)ce(y.numGlyphs,h);else{m=!1;var x=[y.anchorX,y.anchorY,0,1];if(t.transformMat4(x,x,r),ee(x,f)){var b=te(n.transform.cameraToCenterDistance,x[3]),_=t.evaluateSizeForFeature(c,u,y),w=s?_/b:_*b,T=new t.Point(y.anchorX,y.anchorY),k=$t(T,a).point,M={},A=ae(y,w,!1,l,r,a,o,e.glyphOffsetArray,p,h,k,T,M,g);m=A.useVertical,(A.notEnoughRoom||m||A.needsFlipping&&ae(y,w,!0,l,r,a,o,e.glyphOffsetArray,p,h,k,T,M,g).notEnoughRoom)&&ce(y.numGlyphs,h)}else ce(y.numGlyphs,h)}}i?e.text.dynamicLayoutVertexBuffer.updateData(h):e.icon.dynamicLayoutVertexBuffer.updateData(h)}function ne(t,e,r,n,i,a,o,s,l,c,u){var f=s.glyphStartIndex+s.numGlyphs,h=s.lineStartIndex,p=s.lineStartIndex+s.lineLength,d=e.getoffsetX(s.glyphStartIndex),g=e.getoffsetX(f-1),m=se(t*d,r,n,i,a,o,s.segment,h,p,l,c,u);if(!m)return null;var v=se(t*g,r,n,i,a,o,s.segment,h,p,l,c,u);return v?{first:m,last:v}:null}function ie(e,r,n,i){return e===t.WritingMode.horizontal&&Math.abs(n.y-r.y)>Math.abs(n.x-r.x)*i?{useVertical:!0}:(e===t.WritingMode.vertical?r.y<n.y:r.x>n.x)?{needsFlipping:!0}:null}function ae(e,r,n,i,a,o,s,l,c,u,f,h,p,d){var g,m=r/24,v=e.lineOffsetX*m,y=e.lineOffsetY*m;if(e.numGlyphs>1){var x=e.glyphStartIndex+e.numGlyphs,b=e.lineStartIndex,_=e.lineStartIndex+e.lineLength,w=ne(m,l,v,y,n,f,h,e,c,o,p);if(!w)return{notEnoughRoom:!0};var T=$t(w.first.point,s).point,k=$t(w.last.point,s).point;if(i&&!n){var M=ie(e.writingMode,T,k,d);if(M)return M}g=[w.first];for(var A=e.glyphStartIndex+1;A<x-1;A++)g.push(se(m*l.getoffsetX(A),v,y,n,f,h,e.segment,b,_,c,o,p));g.push(w.last)}else{if(i&&!n){var S=$t(h,a).point,E=e.lineStartIndex+e.segment+1,C=new t.Point(c.getx(E),c.gety(E)),L=$t(C,a),I=L.signedDistanceFromCamera>0?L.point:oe(h,C,S,1,a),P=ie(e.writingMode,S,I,d);if(P)return P}var z=se(m*l.getoffsetX(e.glyphStartIndex),v,y,n,f,h,e.segment,e.lineStartIndex,e.lineStartIndex+e.lineLength,c,o,p);if(!z)return{notEnoughRoom:!0};g=[z]}for(var O=0,D=g;O<D.length;O+=1){var R=D[O];t.addDynamicAttributes(u,R.point,R.angle)}return{}}function oe(t,e,r,n,i){var a=$t(t.add(t.sub(e)._unit()),i).point,o=r.sub(a);return r.add(o._mult(n/o.mag()))}function se(e,r,n,i,a,o,s,l,c,u,f,h){var p=i?e-r:e+r,d=p>0?1:-1,g=0;i&&(d*=-1,g=Math.PI),d<0&&(g+=Math.PI);for(var m=d>0?l+s:l+s+1,v=a,y=a,x=0,b=0,_=Math.abs(p),w=[];x+b<=_;){if((m+=d)<l||m>=c)return null;if(y=v,w.push(v),void 0===(v=h[m])){var T=new t.Point(u.getx(m),u.gety(m)),k=$t(T,f);if(k.signedDistanceFromCamera>0)v=h[m]=k.point;else{var M=m-d;v=oe(0===x?o:new t.Point(u.getx(M),u.gety(M)),T,y,_-x+1,f)}}x+=b,b=y.dist(v)}var A=(_-x)/b,S=v.sub(y),E=S.mult(A)._add(y);E._add(S._unit()._perp()._mult(n*d));var C=g+Math.atan2(v.y-y.y,v.x-y.x);return w.push(E),{point:E,angle:C,path:w}}Jt.prototype.keysLength=function(){return this.boxKeys.length+this.circleKeys.length},Jt.prototype.insert=function(t,e,r,n,i){this._forEachCell(e,r,n,i,this._insertBoxCell,this.boxUid++),this.boxKeys.push(t),this.bboxes.push(e),this.bboxes.push(r),this.bboxes.push(n),this.bboxes.push(i)},Jt.prototype.insertCircle=function(t,e,r,n){this._forEachCell(e-n,r-n,e+n,r+n,this._insertCircleCell,this.circleUid++),this.circleKeys.push(t),this.circles.push(e),this.circles.push(r),this.circles.push(n)},Jt.prototype._insertBoxCell=function(t,e,r,n,i,a){this.boxCells[i].push(a)},Jt.prototype._insertCircleCell=function(t,e,r,n,i,a){this.circleCells[i].push(a)},Jt.prototype._query=function(t,e,r,n,i,a){if(r<0||t>this.width||n<0||e>this.height)return!i&&[];var o=[];if(t<=0&&e<=0&&this.width<=r&&this.height<=n){if(i)return!0;for(var s=0;s<this.boxKeys.length;s++)o.push({key:this.boxKeys[s],x1:this.bboxes[4*s],y1:this.bboxes[4*s+1],x2:this.bboxes[4*s+2],y2:this.bboxes[4*s+3]});for(var l=0;l<this.circleKeys.length;l++){var c=this.circles[3*l],u=this.circles[3*l+1],f=this.circles[3*l+2];o.push({key:this.circleKeys[l],x1:c-f,y1:u-f,x2:c+f,y2:u+f})}return a?o.filter(a):o}return this._forEachCell(t,e,r,n,this._queryCell,o,{hitTest:i,seenUids:{box:{},circle:{}}},a),i?o.length>0:o},Jt.prototype._queryCircle=function(t,e,r,n,i){var a=t-r,o=t+r,s=e-r,l=e+r;if(o<0||a>this.width||l<0||s>this.height)return!n&&[];var c=[];return this._forEachCell(a,s,o,l,this._queryCellCircle,c,{hitTest:n,circle:{x:t,y:e,radius:r},seenUids:{box:{},circle:{}}},i),n?c.length>0:c},Jt.prototype.query=function(t,e,r,n,i){return this._query(t,e,r,n,!1,i)},Jt.prototype.hitTest=function(t,e,r,n,i){return this._query(t,e,r,n,!0,i)},Jt.prototype.hitTestCircle=function(t,e,r,n){return this._queryCircle(t,e,r,!0,n)},Jt.prototype._queryCell=function(t,e,r,n,i,a,o,s){var l=o.seenUids,c=this.boxCells[i];if(null!==c)for(var u=this.bboxes,f=0,h=c;f<h.length;f+=1){var p=h[f];if(!l.box[p]){l.box[p]=!0;var d=4*p;if(t<=u[d+2]&&e<=u[d+3]&&r>=u[d+0]&&n>=u[d+1]&&(!s||s(this.boxKeys[p]))){if(o.hitTest)return a.push(!0),!0;a.push({key:this.boxKeys[p],x1:u[d],y1:u[d+1],x2:u[d+2],y2:u[d+3]})}}}var g=this.circleCells[i];if(null!==g)for(var m=this.circles,v=0,y=g;v<y.length;v+=1){var x=y[v];if(!l.circle[x]){l.circle[x]=!0;var b=3*x;if(this._circleAndRectCollide(m[b],m[b+1],m[b+2],t,e,r,n)&&(!s||s(this.circleKeys[x]))){if(o.hitTest)return a.push(!0),!0;var _=m[b],w=m[b+1],T=m[b+2];a.push({key:this.circleKeys[x],x1:_-T,y1:w-T,x2:_+T,y2:w+T})}}}},Jt.prototype._queryCellCircle=function(t,e,r,n,i,a,o,s){var l=o.circle,c=o.seenUids,u=this.boxCells[i];if(null!==u)for(var f=this.bboxes,h=0,p=u;h<p.length;h+=1){var d=p[h];if(!c.box[d]){c.box[d]=!0;var g=4*d;if(this._circleAndRectCollide(l.x,l.y,l.radius,f[g+0],f[g+1],f[g+2],f[g+3])&&(!s||s(this.boxKeys[d])))return a.push(!0),!0}}var m=this.circleCells[i];if(null!==m)for(var v=this.circles,y=0,x=m;y<x.length;y+=1){var b=x[y];if(!c.circle[b]){c.circle[b]=!0;var _=3*b;if(this._circlesCollide(v[_],v[_+1],v[_+2],l.x,l.y,l.radius)&&(!s||s(this.circleKeys[b])))return a.push(!0),!0}}},Jt.prototype._forEachCell=function(t,e,r,n,i,a,o,s){for(var l=this._convertToXCellCoord(t),c=this._convertToYCellCoord(e),u=this._convertToXCellCoord(r),f=this._convertToYCellCoord(n),h=l;h<=u;h++)for(var p=c;p<=f;p++)if(i.call(this,t,e,r,n,this.xCellCount*p+h,a,o,s))return},Jt.prototype._convertToXCellCoord=function(t){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(t*this.xScale)))},Jt.prototype._convertToYCellCoord=function(t){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(t*this.yScale)))},Jt.prototype._circlesCollide=function(t,e,r,n,i,a){var o=n-t,s=i-e,l=r+a;return l*l>o*o+s*s},Jt.prototype._circleAndRectCollide=function(t,e,r,n,i,a,o){var s=(a-n)/2,l=Math.abs(t-(n+s));if(l>s+r)return!1;var c=(o-i)/2,u=Math.abs(e-(i+c));if(u>c+r)return!1;if(l<=s||u<=c)return!0;var f=l-s,h=u-c;return f*f+h*h<=r*r};var le=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function ce(t,e){for(var r=0;r<t;r++){var n=e.length;e.resize(n+4),e.float32.set(le,3*n)}}function ue(t,e,r){var n=e[0],i=e[1];return t[0]=r[0]*n+r[4]*i+r[12],t[1]=r[1]*n+r[5]*i+r[13],t[3]=r[3]*n+r[7]*i+r[15],t}var fe=function(t,e,r){void 0===e&&(e=new Jt(t.width+200,t.height+200,25)),void 0===r&&(r=new Jt(t.width+200,t.height+200,25)),this.transform=t,this.grid=e,this.ignoredGrid=r,this.pitchfactor=Math.cos(t._pitch)*t.cameraToCenterDistance,this.screenRightBoundary=t.width+100,this.screenBottomBoundary=t.height+100,this.gridRightBoundary=t.width+200,this.gridBottomBoundary=t.height+200};function he(e,r,n){return r*(t.EXTENT/(e.tileSize*Math.pow(2,n-e.tileID.overscaledZ)))}fe.prototype.placeCollisionBox=function(t,e,r,n,i){var a=this.projectAndGetPerspectiveRatio(n,t.anchorPointX,t.anchorPointY),o=r*a.perspectiveRatio,s=t.x1*o+a.point.x,l=t.y1*o+a.point.y,c=t.x2*o+a.point.x,u=t.y2*o+a.point.y;return!this.isInsideGrid(s,l,c,u)||!e&&this.grid.hitTest(s,l,c,u,i)?{box:[],offscreen:!1}:{box:[s,l,c,u],offscreen:this.isOffscreen(s,l,c,u)}},fe.prototype.placeCollisionCircles=function(e,r,n,i,a,o,s,l,c,u,f,h,p){var d=[],g=new t.Point(r.anchorX,r.anchorY),m=$t(g,o),v=te(this.transform.cameraToCenterDistance,m.signedDistanceFromCamera),y=(u?a/v:a*v)/t.ONE_EM,x=$t(g,s).point,b=ne(y,i,r.lineOffsetX*y,r.lineOffsetY*y,!1,x,g,r,n,s,{}),_=!1,w=!1,T=!0;if(b){for(var k=.5*h*v+p,M=new t.Point(-100,-100),A=new t.Point(this.screenRightBoundary,this.screenBottomBoundary),S=new Zt,E=b.first,C=b.last,L=[],I=E.path.length-1;I>=1;I--)L.push(E.path[I]);for(var P=1;P<C.path.length;P++)L.push(C.path[P]);var z=2.5*k;if(l){var O=L.map((function(t){return $t(t,l)}));L=O.some((function(t){return t.signedDistanceFromCamera<=0}))?[]:O.map((function(t){return t.point}))}var D=[];if(L.length>0){for(var R=L[0].clone(),F=L[0].clone(),B=1;B<L.length;B++)R.x=Math.min(R.x,L[B].x),R.y=Math.min(R.y,L[B].y),F.x=Math.max(F.x,L[B].x),F.y=Math.max(F.y,L[B].y);D=R.x>=M.x&&F.x<=A.x&&R.y>=M.y&&F.y<=A.y?[L]:F.x<M.x||R.x>A.x||F.y<M.y||R.y>A.y?[]:t.clipLine([L],M.x,M.y,A.x,A.y)}for(var N=0,j=D;N<j.length;N+=1){var U;S.reset(j[N],.25*k),U=S.length<=.5*k?1:Math.ceil(S.paddedLength/z)+1;for(var V=0;V<U;V++){var q=V/Math.max(U-1,1),H=S.lerp(q),G=H.x+100,Y=H.y+100;d.push(G,Y,k,0);var W=G-k,X=Y-k,Z=G+k,J=Y+k;if(T=T&&this.isOffscreen(W,X,Z,J),w=w||this.isInsideGrid(W,X,Z,J),!e&&this.grid.hitTestCircle(G,Y,k,f)&&(_=!0,!c))return{circles:[],offscreen:!1,collisionDetected:_}}}}return{circles:!c&&_||!w?[]:d,offscreen:T,collisionDetected:_}},fe.prototype.queryRenderedSymbols=function(e){if(0===e.length||0===this.grid.keysLength()&&0===this.ignoredGrid.keysLength())return{};for(var r=[],n=1/0,i=1/0,a=-1/0,o=-1/0,s=0,l=e;s<l.length;s+=1){var c=l[s],u=new t.Point(c.x+100,c.y+100);n=Math.min(n,u.x),i=Math.min(i,u.y),a=Math.max(a,u.x),o=Math.max(o,u.y),r.push(u)}for(var f={},h={},p=0,d=this.grid.query(n,i,a,o).concat(this.ignoredGrid.query(n,i,a,o));p<d.length;p+=1){var g=d[p],m=g.key;if(void 0===f[m.bucketInstanceId]&&(f[m.bucketInstanceId]={}),!f[m.bucketInstanceId][m.featureIndex]){var v=[new t.Point(g.x1,g.y1),new t.Point(g.x2,g.y1),new t.Point(g.x2,g.y2),new t.Point(g.x1,g.y2)];t.polygonIntersectsPolygon(r,v)&&(f[m.bucketInstanceId][m.featureIndex]=!0,void 0===h[m.bucketInstanceId]&&(h[m.bucketInstanceId]=[]),h[m.bucketInstanceId].push(m.featureIndex))}}return h},fe.prototype.insertCollisionBox=function(t,e,r,n,i){(e?this.ignoredGrid:this.grid).insert({bucketInstanceId:r,featureIndex:n,collisionGroupID:i},t[0],t[1],t[2],t[3])},fe.prototype.insertCollisionCircles=function(t,e,r,n,i){for(var a=e?this.ignoredGrid:this.grid,o={bucketInstanceId:r,featureIndex:n,collisionGroupID:i},s=0;s<t.length;s+=4)a.insertCircle(o,t[s],t[s+1],t[s+2])},fe.prototype.projectAndGetPerspectiveRatio=function(e,r,n){var i=[r,n,0,1];return ue(i,i,e),{point:new t.Point((i[0]/i[3]+1)/2*this.transform.width+100,(-i[1]/i[3]+1)/2*this.transform.height+100),perspectiveRatio:.5+this.transform.cameraToCenterDistance/i[3]*.5}},fe.prototype.isOffscreen=function(t,e,r,n){return r<100||t>=this.screenRightBoundary||n<100||e>this.screenBottomBoundary},fe.prototype.isInsideGrid=function(t,e,r,n){return r>=0&&t<this.gridRightBoundary&&n>=0&&e<this.gridBottomBoundary},fe.prototype.getViewportMatrix=function(){var e=t.identity([]);return t.translate(e,e,[-100,-100,0]),e};var pe=function(t,e,r,n){this.opacity=t?Math.max(0,Math.min(1,t.opacity+(t.placed?e:-e))):n&&r?1:0,this.placed=r};pe.prototype.isHidden=function(){return 0===this.opacity&&!this.placed};var de=function(t,e,r,n,i){this.text=new pe(t?t.text:null,e,r,i),this.icon=new pe(t?t.icon:null,e,n,i)};de.prototype.isHidden=function(){return this.text.isHidden()&&this.icon.isHidden()};var ge=function(t,e,r){this.text=t,this.icon=e,this.skipFade=r},me=function(){this.invProjMatrix=t.create(),this.viewportMatrix=t.create(),this.circles=[]},ve=function(t,e,r,n,i){this.bucketInstanceId=t,this.featureIndex=e,this.sourceLayerIndex=r,this.bucketIndex=n,this.tileID=i},ye=function(t){this.crossSourceCollisions=t,this.maxGroupID=0,this.collisionGroups={}};function xe(e,r,n,i,a){var o=t.getAnchorAlignment(e),s=-(o.horizontalAlign-.5)*r,l=-(o.verticalAlign-.5)*n,c=t.evaluateVariableOffset(e,i);return new t.Point(s+c[0]*a,l+c[1]*a)}function be(e,r,n,i,a,o){var s=e.x1,l=e.x2,c=e.y1,u=e.y2,f=e.anchorPointX,h=e.anchorPointY,p=new t.Point(r,n);return i&&p._rotate(a?o:-o),{x1:s+p.x,y1:c+p.y,x2:l+p.x,y2:u+p.y,anchorPointX:f,anchorPointY:h}}ye.prototype.get=function(t){if(this.crossSourceCollisions)return{ID:0,predicate:null};if(!this.collisionGroups[t]){var e=++this.maxGroupID;this.collisionGroups[t]={ID:e,predicate:function(t){return t.collisionGroupID===e}}}return this.collisionGroups[t]};var _e=function(t,e,r,n){this.transform=t.clone(),this.collisionIndex=new fe(this.transform),this.placements={},this.opacities={},this.variableOffsets={},this.stale=!1,this.commitTime=0,this.fadeDuration=e,this.retainedQueryData={},this.collisionGroups=new ye(r),this.collisionCircleArrays={},this.prevPlacement=n,n&&(n.prevPlacement=void 0),this.placedOrientations={}};function we(t,e,r,n,i){t.emplaceBack(e?1:0,r?1:0,n||0,i||0),t.emplaceBack(e?1:0,r?1:0,n||0,i||0),t.emplaceBack(e?1:0,r?1:0,n||0,i||0),t.emplaceBack(e?1:0,r?1:0,n||0,i||0)}_e.prototype.getBucketParts=function(e,r,n,i){var a=n.getBucket(r),o=n.latestFeatureIndex;if(a&&o&&r.id===a.layerIds[0]){var s=n.collisionBoxArray,l=a.layers[0].layout,c=Math.pow(2,this.transform.zoom-n.tileID.overscaledZ),u=n.tileSize/t.EXTENT,f=this.transform.calculatePosMatrix(n.tileID.toUnwrapped()),h="map"===l.get("text-pitch-alignment"),p="map"===l.get("text-rotation-alignment"),d=he(n,1,this.transform.zoom),g=Kt(f,h,p,this.transform,d),m=null;if(h){var v=Qt(f,h,p,this.transform,d);m=t.multiply([],this.transform.labelPlaneMatrix,v)}this.retainedQueryData[a.bucketInstanceId]=new ve(a.bucketInstanceId,o,a.sourceLayerIndex,a.index,n.tileID);var y={bucket:a,layout:l,posMatrix:f,textLabelPlaneMatrix:g,labelToScreenMatrix:m,scale:c,textPixelRatio:u,holdingForFade:n.holdingForFade(),collisionBoxArray:s,partiallyEvaluatedTextSize:t.evaluateSizeForZoom(a.textSizeData,this.transform.zoom),collisionGroup:this.collisionGroups.get(a.sourceID)};if(i)for(var x=0,b=a.sortKeyRanges;x<b.length;x+=1){var _=b[x];e.push({sortKey:_.sortKey,symbolInstanceStart:_.symbolInstanceStart,symbolInstanceEnd:_.symbolInstanceEnd,parameters:y})}else e.push({symbolInstanceStart:0,symbolInstanceEnd:a.symbolInstances.length,parameters:y})}},_e.prototype.attemptAnchorPlacement=function(t,e,r,n,i,a,o,s,l,c,u,f,h,p,d){var g,m=[f.textOffset0,f.textOffset1],v=xe(t,r,n,m,i),y=this.collisionIndex.placeCollisionBox(be(e,v.x,v.y,a,o,this.transform.angle),u,s,l,c.predicate);if(!d||0!==this.collisionIndex.placeCollisionBox(be(d,v.x,v.y,a,o,this.transform.angle),u,s,l,c.predicate).box.length)return y.box.length>0?(this.prevPlacement&&this.prevPlacement.variableOffsets[f.crossTileID]&&this.prevPlacement.placements[f.crossTileID]&&this.prevPlacement.placements[f.crossTileID].text&&(g=this.prevPlacement.variableOffsets[f.crossTileID].anchor),this.variableOffsets[f.crossTileID]={textOffset:m,width:r,height:n,anchor:t,textBoxScale:i,prevAnchor:g},this.markUsedJustification(h,t,f,p),h.allowVerticalPlacement&&(this.markUsedOrientation(h,p,f),this.placedOrientations[f.crossTileID]=p),{shift:v,placedGlyphBoxes:y}):void 0},_e.prototype.placeLayerBucketPart=function(e,r,n){var i=this,a=e.parameters,o=a.bucket,s=a.layout,l=a.posMatrix,c=a.textLabelPlaneMatrix,u=a.labelToScreenMatrix,f=a.textPixelRatio,h=a.holdingForFade,p=a.collisionBoxArray,d=a.partiallyEvaluatedTextSize,g=a.collisionGroup,m=s.get("text-optional"),v=s.get("icon-optional"),y=s.get("text-allow-overlap"),x=s.get("icon-allow-overlap"),b="map"===s.get("text-rotation-alignment"),_="map"===s.get("text-pitch-alignment"),w="none"!==s.get("icon-text-fit"),T="viewport-y"===s.get("symbol-z-order"),k=y&&(x||!o.hasIconData()||v),M=x&&(y||!o.hasTextData()||m);!o.collisionArrays&&p&&o.deserializeCollisionBoxes(p);var A=function(e,a){if(!r[e.crossTileID])if(h)i.placements[e.crossTileID]=new ge(!1,!1,!1);else{var p,T=!1,A=!1,S=!0,E=null,C={box:null,offscreen:null},L={box:null,offscreen:null},I=null,P=null,z=0,O=0,D=0;a.textFeatureIndex?z=a.textFeatureIndex:e.useRuntimeCollisionCircles&&(z=e.featureIndex),a.verticalTextFeatureIndex&&(O=a.verticalTextFeatureIndex);var R=a.textBox;if(R){var F=function(r){var n=t.WritingMode.horizontal;if(o.allowVerticalPlacement&&!r&&i.prevPlacement){var a=i.prevPlacement.placedOrientations[e.crossTileID];a&&(i.placedOrientations[e.crossTileID]=a,i.markUsedOrientation(o,n=a,e))}return n},B=function(r,n){if(o.allowVerticalPlacement&&e.numVerticalGlyphVertices>0&&a.verticalTextBox)for(var i=0,s=o.writingModes;i<s.length&&(s[i]===t.WritingMode.vertical?(C=n(),L=C):C=r(),!(C&&C.box&&C.box.length));i+=1);else C=r()};if(s.get("text-variable-anchor")){var N=s.get("text-variable-anchor");if(i.prevPlacement&&i.prevPlacement.variableOffsets[e.crossTileID]){var j=i.prevPlacement.variableOffsets[e.crossTileID];N.indexOf(j.anchor)>0&&(N=N.filter((function(t){return t!==j.anchor}))).unshift(j.anchor)}var U=function(t,r,n){for(var a=t.x2-t.x1,s=t.y2-t.y1,c=e.textBoxScale,u=w&&!x?r:null,h={box:[],offscreen:!1},p=y?2*N.length:N.length,d=0;d<p;++d){var m=i.attemptAnchorPlacement(N[d%N.length],t,a,s,c,b,_,f,l,g,d>=N.length,e,o,n,u);if(m&&(h=m.placedGlyphBoxes)&&h.box&&h.box.length){T=!0,E=m.shift;break}}return h};B((function(){return U(R,a.iconBox,t.WritingMode.horizontal)}),(function(){var r=a.verticalTextBox;return o.allowVerticalPlacement&&!(C&&C.box&&C.box.length)&&e.numVerticalGlyphVertices>0&&r?U(r,a.verticalIconBox,t.WritingMode.vertical):{box:null,offscreen:null}})),C&&(T=C.box,S=C.offscreen);var V=F(C&&C.box);if(!T&&i.prevPlacement){var q=i.prevPlacement.variableOffsets[e.crossTileID];q&&(i.variableOffsets[e.crossTileID]=q,i.markUsedJustification(o,q.anchor,e,V))}}else{var H=function(t,r){var n=i.collisionIndex.placeCollisionBox(t,y,f,l,g.predicate);return n&&n.box&&n.box.length&&(i.markUsedOrientation(o,r,e),i.placedOrientations[e.crossTileID]=r),n};B((function(){return H(R,t.WritingMode.horizontal)}),(function(){var r=a.verticalTextBox;return o.allowVerticalPlacement&&e.numVerticalGlyphVertices>0&&r?H(r,t.WritingMode.vertical):{box:null,offscreen:null}})),F(C&&C.box&&C.box.length)}}if(T=(p=C)&&p.box&&p.box.length>0,S=p&&p.offscreen,e.useRuntimeCollisionCircles){var G=o.text.placedSymbolArray.get(e.centerJustifiedTextSymbolIndex),Y=t.evaluateSizeForFeature(o.textSizeData,d,G),W=s.get("text-padding");I=i.collisionIndex.placeCollisionCircles(y,G,o.lineVertexArray,o.glyphOffsetArray,Y,l,c,u,n,_,g.predicate,e.collisionCircleDiameter,W),T=y||I.circles.length>0&&!I.collisionDetected,S=S&&I.offscreen}if(a.iconFeatureIndex&&(D=a.iconFeatureIndex),a.iconBox){var X=function(t){var e=w&&E?be(t,E.x,E.y,b,_,i.transform.angle):t;return i.collisionIndex.placeCollisionBox(e,x,f,l,g.predicate)};A=L&&L.box&&L.box.length&&a.verticalIconBox?(P=X(a.verticalIconBox)).box.length>0:(P=X(a.iconBox)).box.length>0,S=S&&P.offscreen}var Z=m||0===e.numHorizontalGlyphVertices&&0===e.numVerticalGlyphVertices,J=v||0===e.numIconVertices;if(Z||J?J?Z||(A=A&&T):T=A&&T:A=T=A&&T,T&&p&&p.box&&i.collisionIndex.insertCollisionBox(p.box,s.get("text-ignore-placement"),o.bucketInstanceId,L&&L.box&&O?O:z,g.ID),A&&P&&i.collisionIndex.insertCollisionBox(P.box,s.get("icon-ignore-placement"),o.bucketInstanceId,D,g.ID),I&&(T&&i.collisionIndex.insertCollisionCircles(I.circles,s.get("text-ignore-placement"),o.bucketInstanceId,z,g.ID),n)){var K=o.bucketInstanceId,Q=i.collisionCircleArrays[K];void 0===Q&&(Q=i.collisionCircleArrays[K]=new me);for(var $=0;$<I.circles.length;$+=4)Q.circles.push(I.circles[$+0]),Q.circles.push(I.circles[$+1]),Q.circles.push(I.circles[$+2]),Q.circles.push(I.collisionDetected?1:0)}i.placements[e.crossTileID]=new ge(T||k,A||M,S||o.justReloaded),r[e.crossTileID]=!0}};if(T)for(var S=o.getSortedSymbolIndexes(this.transform.angle),E=S.length-1;E>=0;--E){var C=S[E];A(o.symbolInstances.get(C),o.collisionArrays[C])}else for(var L=e.symbolInstanceStart;L<e.symbolInstanceEnd;L++)A(o.symbolInstances.get(L),o.collisionArrays[L]);if(n&&o.bucketInstanceId in this.collisionCircleArrays){var I=this.collisionCircleArrays[o.bucketInstanceId];t.invert(I.invProjMatrix,l),I.viewportMatrix=this.collisionIndex.getViewportMatrix()}o.justReloaded=!1},_e.prototype.markUsedJustification=function(e,r,n,i){var a;a=i===t.WritingMode.vertical?n.verticalPlacedTextSymbolIndex:{left:n.leftJustifiedTextSymbolIndex,center:n.centerJustifiedTextSymbolIndex,right:n.rightJustifiedTextSymbolIndex}[t.getAnchorJustification(r)];for(var o=0,s=[n.leftJustifiedTextSymbolIndex,n.centerJustifiedTextSymbolIndex,n.rightJustifiedTextSymbolIndex,n.verticalPlacedTextSymbolIndex];o<s.length;o+=1){var l=s[o];l>=0&&(e.text.placedSymbolArray.get(l).crossTileID=a>=0&&l!==a?0:n.crossTileID)}},_e.prototype.markUsedOrientation=function(e,r,n){for(var i=r===t.WritingMode.horizontal||r===t.WritingMode.horizontalOnly?r:0,a=r===t.WritingMode.vertical?r:0,o=0,s=[n.leftJustifiedTextSymbolIndex,n.centerJustifiedTextSymbolIndex,n.rightJustifiedTextSymbolIndex];o<s.length;o+=1)e.text.placedSymbolArray.get(s[o]).placedOrientation=i;n.verticalPlacedTextSymbolIndex&&(e.text.placedSymbolArray.get(n.verticalPlacedTextSymbolIndex).placedOrientation=a)},_e.prototype.commit=function(t){this.commitTime=t,this.zoomAtLastRecencyCheck=this.transform.zoom;var e=this.prevPlacement,r=!1;this.prevZoomAdjustment=e?e.zoomAdjustment(this.transform.zoom):0;var n=e?e.symbolFadeChange(t):1,i=e?e.opacities:{},a=e?e.variableOffsets:{},o=e?e.placedOrientations:{};for(var s in this.placements){var l=this.placements[s],c=i[s];c?(this.opacities[s]=new de(c,n,l.text,l.icon),r=r||l.text!==c.text.placed||l.icon!==c.icon.placed):(this.opacities[s]=new de(null,n,l.text,l.icon,l.skipFade),r=r||l.text||l.icon)}for(var u in i){var f=i[u];if(!this.opacities[u]){var h=new de(f,n,!1,!1);h.isHidden()||(this.opacities[u]=h,r=r||f.text.placed||f.icon.placed)}}for(var p in a)this.variableOffsets[p]||!this.opacities[p]||this.opacities[p].isHidden()||(this.variableOffsets[p]=a[p]);for(var d in o)this.placedOrientations[d]||!this.opacities[d]||this.opacities[d].isHidden()||(this.placedOrientations[d]=o[d]);r?this.lastPlacementChangeTime=t:"number"!=typeof this.lastPlacementChangeTime&&(this.lastPlacementChangeTime=e?e.lastPlacementChangeTime:t)},_e.prototype.updateLayerOpacities=function(t,e){for(var r={},n=0,i=e;n<i.length;n+=1){var a=i[n],o=a.getBucket(t);o&&a.latestFeatureIndex&&t.id===o.layerIds[0]&&this.updateBucketOpacities(o,r,a.collisionBoxArray)}},_e.prototype.updateBucketOpacities=function(e,r,n){var i=this;e.hasTextData()&&e.text.opacityVertexArray.clear(),e.hasIconData()&&e.icon.opacityVertexArray.clear(),e.hasIconCollisionBoxData()&&e.iconCollisionBox.collisionVertexArray.clear(),e.hasTextCollisionBoxData()&&e.textCollisionBox.collisionVertexArray.clear();var a=e.layers[0].layout,o=new de(null,0,!1,!1,!0),s=a.get("text-allow-overlap"),l=a.get("icon-allow-overlap"),c=a.get("text-variable-anchor"),u="map"===a.get("text-rotation-alignment"),f="map"===a.get("text-pitch-alignment"),h="none"!==a.get("icon-text-fit"),p=new de(null,0,s&&(l||!e.hasIconData()||a.get("icon-optional")),l&&(s||!e.hasTextData()||a.get("text-optional")),!0);!e.collisionArrays&&n&&(e.hasIconCollisionBoxData()||e.hasTextCollisionBoxData())&&e.deserializeCollisionBoxes(n);for(var d=function(t,e,r){for(var n=0;n<e/4;n++)t.opacityVertexArray.emplaceBack(r)},g=function(n){var a=e.symbolInstances.get(n),s=a.numHorizontalGlyphVertices,l=a.numVerticalGlyphVertices,g=a.crossTileID,m=i.opacities[g];r[g]?m=o:m||(i.opacities[g]=m=p),r[g]=!0;var v=a.numIconVertices>0,y=i.placedOrientations[a.crossTileID],x=y===t.WritingMode.vertical,b=y===t.WritingMode.horizontal||y===t.WritingMode.horizontalOnly;if(s>0||l>0){var _=Le(m.text);d(e.text,s,x?Ie:_),d(e.text,l,b?Ie:_);var w=m.text.isHidden();[a.rightJustifiedTextSymbolIndex,a.centerJustifiedTextSymbolIndex,a.leftJustifiedTextSymbolIndex].forEach((function(t){t>=0&&(e.text.placedSymbolArray.get(t).hidden=w||x?1:0)})),a.verticalPlacedTextSymbolIndex>=0&&(e.text.placedSymbolArray.get(a.verticalPlacedTextSymbolIndex).hidden=w||b?1:0);var T=i.variableOffsets[a.crossTileID];T&&i.markUsedJustification(e,T.anchor,a,y);var k=i.placedOrientations[a.crossTileID];k&&(i.markUsedJustification(e,"left",a,k),i.markUsedOrientation(e,k,a))}if(v){var M=Le(m.icon),A=!(h&&a.verticalPlacedIconSymbolIndex&&x);a.placedIconSymbolIndex>=0&&(d(e.icon,a.numIconVertices,A?M:Ie),e.icon.placedSymbolArray.get(a.placedIconSymbolIndex).hidden=m.icon.isHidden()),a.verticalPlacedIconSymbolIndex>=0&&(d(e.icon,a.numVerticalIconVertices,A?Ie:M),e.icon.placedSymbolArray.get(a.verticalPlacedIconSymbolIndex).hidden=m.icon.isHidden())}if(e.hasIconCollisionBoxData()||e.hasTextCollisionBoxData()){var S=e.collisionArrays[n];if(S){var E=new t.Point(0,0);if(S.textBox||S.verticalTextBox){var C=!0;if(c){var L=i.variableOffsets[g];L?(E=xe(L.anchor,L.width,L.height,L.textOffset,L.textBoxScale),u&&E._rotate(f?i.transform.angle:-i.transform.angle)):C=!1}S.textBox&&we(e.textCollisionBox.collisionVertexArray,m.text.placed,!C||x,E.x,E.y),S.verticalTextBox&&we(e.textCollisionBox.collisionVertexArray,m.text.placed,!C||b,E.x,E.y)}var I=Boolean(!b&&S.verticalIconBox);S.iconBox&&we(e.iconCollisionBox.collisionVertexArray,m.icon.placed,I,h?E.x:0,h?E.y:0),S.verticalIconBox&&we(e.iconCollisionBox.collisionVertexArray,m.icon.placed,!I,h?E.x:0,h?E.y:0)}}},m=0;m<e.symbolInstances.length;m++)g(m);if(e.sortFeatures(this.transform.angle),this.retainedQueryData[e.bucketInstanceId]&&(this.retainedQueryData[e.bucketInstanceId].featureSortOrder=e.featureSortOrder),e.hasTextData()&&e.text.opacityVertexBuffer&&e.text.opacityVertexBuffer.updateData(e.text.opacityVertexArray),e.hasIconData()&&e.icon.opacityVertexBuffer&&e.icon.opacityVertexBuffer.updateData(e.icon.opacityVertexArray),e.hasIconCollisionBoxData()&&e.iconCollisionBox.collisionVertexBuffer&&e.iconCollisionBox.collisionVertexBuffer.updateData(e.iconCollisionBox.collisionVertexArray),e.hasTextCollisionBoxData()&&e.textCollisionBox.collisionVertexBuffer&&e.textCollisionBox.collisionVertexBuffer.updateData(e.textCollisionBox.collisionVertexArray),e.bucketInstanceId in this.collisionCircleArrays){var v=this.collisionCircleArrays[e.bucketInstanceId];e.placementInvProjMatrix=v.invProjMatrix,e.placementViewportMatrix=v.viewportMatrix,e.collisionCircleArray=v.circles,delete this.collisionCircleArrays[e.bucketInstanceId]}},_e.prototype.symbolFadeChange=function(t){return 0===this.fadeDuration?1:(t-this.commitTime)/this.fadeDuration+this.prevZoomAdjustment},_e.prototype.zoomAdjustment=function(t){return Math.max(0,(this.transform.zoom-t)/1.5)},_e.prototype.hasTransitions=function(t){return this.stale||t-this.lastPlacementChangeTime<this.fadeDuration},_e.prototype.stillRecent=function(t,e){var r=this.zoomAtLastRecencyCheck===e?1-this.zoomAdjustment(e):1;return this.zoomAtLastRecencyCheck=e,this.commitTime+this.fadeDuration*r>t},_e.prototype.setStale=function(){this.stale=!0};var Te=Math.pow(2,25),ke=Math.pow(2,24),Me=Math.pow(2,17),Ae=Math.pow(2,16),Se=Math.pow(2,9),Ee=Math.pow(2,8),Ce=Math.pow(2,1);function Le(t){if(0===t.opacity&&!t.placed)return 0;if(1===t.opacity&&t.placed)return 4294967295;var e=t.placed?1:0,r=Math.floor(127*t.opacity);return r*Te+e*ke+r*Me+e*Ae+r*Se+e*Ee+r*Ce+e}var Ie=0,Pe=function(t){this._sortAcrossTiles="viewport-y"!==t.layout.get("symbol-z-order")&&void 0!==t.layout.get("symbol-sort-key").constantOr(1),this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[]};Pe.prototype.continuePlacement=function(t,e,r,n,i){for(var a=this._bucketParts;this._currentTileIndex<t.length;)if(e.getBucketParts(a,n,t[this._currentTileIndex],this._sortAcrossTiles),this._currentTileIndex++,i())return!0;for(this._sortAcrossTiles&&(this._sortAcrossTiles=!1,a.sort((function(t,e){return t.sortKey-e.sortKey})));this._currentPartIndex<a.length;)if(e.placeLayerBucketPart(a[this._currentPartIndex],this._seenCrossTileIDs,r),this._currentPartIndex++,i())return!0;return!1};var ze=function(t,e,r,n,i,a,o){this.placement=new _e(t,i,a,o),this._currentPlacementIndex=e.length-1,this._forceFullPlacement=r,this._showCollisionBoxes=n,this._done=!1};ze.prototype.isDone=function(){return this._done},ze.prototype.continuePlacement=function(e,r,n){for(var i=this,a=t.browser.now(),o=function(){var e=t.browser.now()-a;return!i._forceFullPlacement&&e>2};this._currentPlacementIndex>=0;){var s=r[e[this._currentPlacementIndex]],l=this.placement.collisionIndex.transform.zoom;if("symbol"===s.type&&(!s.minzoom||s.minzoom<=l)&&(!s.maxzoom||s.maxzoom>l)){if(this._inProgressLayer||(this._inProgressLayer=new Pe(s)),this._inProgressLayer.continuePlacement(n[s.source],this.placement,this._showCollisionBoxes,s,o))return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0},ze.prototype.commit=function(t){return this.placement.commit(t),this.placement};var Oe=512/t.EXTENT/2,De=function(t,e,r){this.tileID=t,this.indexedSymbolInstances={},this.bucketInstanceId=r;for(var n=0;n<e.length;n++){var i=e.get(n),a=i.key;this.indexedSymbolInstances[a]||(this.indexedSymbolInstances[a]=[]),this.indexedSymbolInstances[a].push({crossTileID:i.crossTileID,coord:this.getScaledCoordinates(i,t)})}};De.prototype.getScaledCoordinates=function(e,r){var n=Oe/Math.pow(2,r.canonical.z-this.tileID.canonical.z);return{x:Math.floor((r.canonical.x*t.EXTENT+e.anchorX)*n),y:Math.floor((r.canonical.y*t.EXTENT+e.anchorY)*n)}},De.prototype.findMatches=function(t,e,r){for(var n=this.tileID.canonical.z<e.canonical.z?1:Math.pow(2,this.tileID.canonical.z-e.canonical.z),i=0;i<t.length;i++){var a=t.get(i);if(!a.crossTileID){var o=this.indexedSymbolInstances[a.key];if(o)for(var s=this.getScaledCoordinates(a,e),l=0,c=o;l<c.length;l+=1){var u=c[l];if(Math.abs(u.coord.x-s.x)<=n&&Math.abs(u.coord.y-s.y)<=n&&!r[u.crossTileID]){r[u.crossTileID]=!0,a.crossTileID=u.crossTileID;break}}}}};var Re=function(){this.maxCrossTileID=0};Re.prototype.generate=function(){return++this.maxCrossTileID};var Fe=function(){this.indexes={},this.usedCrossTileIDs={},this.lng=0};Fe.prototype.handleWrapJump=function(t){var e=Math.round((t-this.lng)/360);if(0!==e)for(var r in this.indexes){var n=this.indexes[r],i={};for(var a in n){var o=n[a];o.tileID=o.tileID.unwrapTo(o.tileID.wrap+e),i[o.tileID.key]=o}this.indexes[r]=i}this.lng=t},Fe.prototype.addBucket=function(t,e,r){if(this.indexes[t.overscaledZ]&&this.indexes[t.overscaledZ][t.key]){if(this.indexes[t.overscaledZ][t.key].bucketInstanceId===e.bucketInstanceId)return!1;this.removeBucketCrossTileIDs(t.overscaledZ,this.indexes[t.overscaledZ][t.key])}for(var n=0;n<e.symbolInstances.length;n++)e.symbolInstances.get(n).crossTileID=0;this.usedCrossTileIDs[t.overscaledZ]||(this.usedCrossTileIDs[t.overscaledZ]={});var i=this.usedCrossTileIDs[t.overscaledZ];for(var a in this.indexes){var o=this.indexes[a];if(Number(a)>t.overscaledZ)for(var s in o){var l=o[s];l.tileID.isChildOf(t)&&l.findMatches(e.symbolInstances,t,i)}else{var c=o[t.scaledTo(Number(a)).key];c&&c.findMatches(e.symbolInstances,t,i)}}for(var u=0;u<e.symbolInstances.length;u++){var f=e.symbolInstances.get(u);f.crossTileID||(f.crossTileID=r.generate(),i[f.crossTileID]=!0)}return void 0===this.indexes[t.overscaledZ]&&(this.indexes[t.overscaledZ]={}),this.indexes[t.overscaledZ][t.key]=new De(t,e.symbolInstances,e.bucketInstanceId),!0},Fe.prototype.removeBucketCrossTileIDs=function(t,e){for(var r in e.indexedSymbolInstances)for(var n=0,i=e.indexedSymbolInstances[r];n<i.length;n+=1)delete this.usedCrossTileIDs[t][i[n].crossTileID]},Fe.prototype.removeStaleBuckets=function(t){var e=!1;for(var r in this.indexes){var n=this.indexes[r];for(var i in n)t[n[i].bucketInstanceId]||(this.removeBucketCrossTileIDs(r,n[i]),delete n[i],e=!0)}return e};var Be=function(){this.layerIndexes={},this.crossTileIDs=new Re,this.maxBucketInstanceId=0,this.bucketsInCurrentPlacement={}};Be.prototype.addLayer=function(t,e,r){var n=this.layerIndexes[t.id];void 0===n&&(n=this.layerIndexes[t.id]=new Fe);var i=!1,a={};n.handleWrapJump(r);for(var o=0,s=e;o<s.length;o+=1){var l=s[o],c=l.getBucket(t);c&&t.id===c.layerIds[0]&&(c.bucketInstanceId||(c.bucketInstanceId=++this.maxBucketInstanceId),n.addBucket(l.tileID,c,this.crossTileIDs)&&(i=!0),a[c.bucketInstanceId]=!0)}return n.removeStaleBuckets(a)&&(i=!0),i},Be.prototype.pruneUnusedLayers=function(t){var e={};for(var r in t.forEach((function(t){e[t]=!0})),this.layerIndexes)e[r]||delete this.layerIndexes[r]};var Ne=function(e,r){return t.emitValidationErrors(e,r&&r.filter((function(t){return"source.canvas"!==t.identifier})))},je=t.pick(Ut,["addLayer","removeLayer","setPaintProperty","setLayoutProperty","setFilter","addSource","removeSource","setLayerZoomRange","setLight","setTransition","setGeoJSONSourceData"]),Ue=t.pick(Ut,["setCenter","setZoom","setBearing","setPitch"]),Ve=function(){var e={},r=t.styleSpec.$version;for(var n in t.styleSpec.$root){var i,a=t.styleSpec.$root[n];a.required&&null!=(i="version"===n?r:"array"===a.type?[]:{})&&(e[n]=i)}return e}(),qe=function(e){function r(n,i){var a=this;void 0===i&&(i={}),e.call(this),this.map=n,this.dispatcher=new k(Bt(),this),this.imageManager=new h,this.imageManager.setEventedParent(this),this.glyphManager=new x(n._requestManager,i.localIdeographFontFamily),this.lineAtlas=new T(256,512),this.crossTileSymbolIndex=new Be,this._layers={},this._serializedLayers={},this._order=[],this.sourceCaches={},this.zoomHistory=new t.ZoomHistory,this._loaded=!1,this._availableImages=[],this._resetUpdates(),this.dispatcher.broadcast("setReferrer",t.getReferrer());var o=this;this._rtlTextPluginCallback=r.registerForPluginStateChange((function(e){o.dispatcher.broadcast("syncRTLPluginState",{pluginStatus:e.pluginStatus,pluginURL:e.pluginURL},(function(e,r){if(t.triggerPluginCompletionEvent(e),r&&r.every((function(t){return t})))for(var n in o.sourceCaches)o.sourceCaches[n].reload()}))})),this.on("data",(function(t){if("source"===t.dataType&&"metadata"===t.sourceDataType){var e=a.sourceCaches[t.sourceId];if(e){var r=e.getSource();if(r&&r.vectorLayerIds)for(var n in a._layers){var i=a._layers[n];i.source===r.id&&a._validateLayer(i)}}}}))}return e&&(r.__proto__=e),(r.prototype=Object.create(e&&e.prototype)).constructor=r,r.prototype.loadURL=function(e,r){var n=this;void 0===r&&(r={}),this.fire(new t.Event("dataloading",{dataType:"style"}));var i="boolean"==typeof r.validate?r.validate:!t.isMapboxURL(e);e=this.map._requestManager.normalizeStyleURL(e,r.accessToken);var a=this.map._requestManager.transformRequest(e,t.ResourceType.Style);this._request=t.getJSON(a,(function(e,r){n._request=null,e?n.fire(new t.ErrorEvent(e)):r&&n._load(r,i)}))},r.prototype.loadJSON=function(e,r){var n=this;void 0===r&&(r={}),this.fire(new t.Event("dataloading",{dataType:"style"})),this._request=t.browser.frame((function(){n._request=null,n._load(e,!1!==r.validate)}))},r.prototype.loadEmpty=function(){this.fire(new t.Event("dataloading",{dataType:"style"})),this._load(Ve,!1)},r.prototype._load=function(e,r){if(!r||!Ne(this,t.validateStyle(e))){for(var n in this._loaded=!0,this.stylesheet=e,e.sources)this.addSource(n,e.sources[n],{validate:!1});e.sprite?this._loadSprite(e.sprite):this.imageManager.setLoaded(!0),this.glyphManager.setURL(e.glyphs);var i=jt(this.stylesheet.layers);this._order=i.map((function(t){return t.id})),this._layers={},this._serializedLayers={};for(var a=0,o=i;a<o.length;a+=1){var s=o[a];(s=t.createStyleLayer(s)).setEventedParent(this,{layer:{id:s.id}}),this._layers[s.id]=s,this._serializedLayers[s.id]=s.serialize()}this.dispatcher.broadcast("setLayers",this._serializeLayers(this._order)),this.light=new w(this.stylesheet.light),this.fire(new t.Event("data",{dataType:"style"})),this.fire(new t.Event("style.load"))}},r.prototype._loadSprite=function(e){var r=this;this._spriteRequest=function(e,r,n){var i,a,o,s=t.browser.devicePixelRatio>1?"@2x":"",l=t.getJSON(r.transformRequest(r.normalizeSpriteURL(e,s,".json"),t.ResourceType.SpriteJSON),(function(t,e){l=null,o||(o=t,i=e,u())})),c=t.getImage(r.transformRequest(r.normalizeSpriteURL(e,s,".png"),t.ResourceType.SpriteImage),(function(t,e){c=null,o||(o=t,a=e,u())}));function u(){if(o)n(o);else if(i&&a){var e=t.browser.getImageData(a),r={};for(var s in i){var l=i[s],c=l.width,u=l.height,f=l.x,h=l.y,p=l.sdf,d=l.pixelRatio,g=l.stretchX,m=l.stretchY,v=l.content,y=new t.RGBAImage({width:c,height:u});t.RGBAImage.copy(e,y,{x:f,y:h},{x:0,y:0},{width:c,height:u}),r[s]={data:y,pixelRatio:d,sdf:p,stretchX:g,stretchY:m,content:v}}n(null,r)}}return{cancel:function(){l&&(l.cancel(),l=null),c&&(c.cancel(),c=null)}}}(e,this.map._requestManager,(function(e,n){if(r._spriteRequest=null,e)r.fire(new t.ErrorEvent(e));else if(n)for(var i in n)r.imageManager.addImage(i,n[i]);r.imageManager.setLoaded(!0),r._availableImages=r.imageManager.listImages(),r.dispatcher.broadcast("setImages",r._availableImages),r.fire(new t.Event("data",{dataType:"style"}))}))},r.prototype._validateLayer=function(e){var r=this.sourceCaches[e.source];if(r){var n=e.sourceLayer;if(n){var i=r.getSource();("geojson"===i.type||i.vectorLayerIds&&-1===i.vectorLayerIds.indexOf(n))&&this.fire(new t.ErrorEvent(new Error('Source layer "'+n+'" does not exist on source "'+i.id+'" as specified by style layer "'+e.id+'"')))}}},r.prototype.loaded=function(){if(!this._loaded)return!1;if(Object.keys(this._updatedSources).length)return!1;for(var t in this.sourceCaches)if(!this.sourceCaches[t].loaded())return!1;return!!this.imageManager.isLoaded()},r.prototype._serializeLayers=function(t){for(var e=[],r=0,n=t;r<n.length;r+=1){var i=this._layers[n[r]];"custom"!==i.type&&e.push(i.serialize())}return e},r.prototype.hasTransitions=function(){if(this.light&&this.light.hasTransition())return!0;for(var t in this.sourceCaches)if(this.sourceCaches[t].hasTransition())return!0;for(var e in this._layers)if(this._layers[e].hasTransition())return!0;return!1},r.prototype._checkLoaded=function(){if(!this._loaded)throw new Error("Style is not done loading")},r.prototype.update=function(e){if(this._loaded){var r=this._changed;if(this._changed){var n=Object.keys(this._updatedLayers),i=Object.keys(this._removedLayers);for(var a in(n.length||i.length)&&this._updateWorkerLayers(n,i),this._updatedSources){var o=this._updatedSources[a];"reload"===o?this._reloadSource(a):"clear"===o&&this._clearSource(a)}for(var s in this._updateTilesForChangedImages(),this._updatedPaintProps)this._layers[s].updateTransitions(e);this.light.updateTransitions(e),this._resetUpdates()}for(var l in this.sourceCaches)this.sourceCaches[l].used=!1;for(var c=0,u=this._order;c<u.length;c+=1){var f=this._layers[u[c]];f.recalculate(e,this._availableImages),!f.isHidden(e.zoom)&&f.source&&(this.sourceCaches[f.source].used=!0)}this.light.recalculate(e),this.z=e.zoom,r&&this.fire(new t.Event("data",{dataType:"style"}))}},r.prototype._updateTilesForChangedImages=function(){var t=Object.keys(this._changedImages);if(t.length){for(var e in this.sourceCaches)this.sourceCaches[e].reloadTilesForDependencies(["icons","patterns"],t);this._changedImages={}}},r.prototype._updateWorkerLayers=function(t,e){this.dispatcher.broadcast("updateLayers",{layers:this._serializeLayers(t),removedIds:e})},r.prototype._resetUpdates=function(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSources={},this._updatedPaintProps={},this._changedImages={}},r.prototype.setState=function(e){var r=this;if(this._checkLoaded(),Ne(this,t.validateStyle(e)))return!1;(e=t.clone$1(e)).layers=jt(e.layers);var n=function(e,r){if(!e)return[{command:Ut.setStyle,args:[r]}];var n=[];try{if(!t.deepEqual(e.version,r.version))return[{command:Ut.setStyle,args:[r]}];t.deepEqual(e.center,r.center)||n.push({command:Ut.setCenter,args:[r.center]}),t.deepEqual(e.zoom,r.zoom)||n.push({command:Ut.setZoom,args:[r.zoom]}),t.deepEqual(e.bearing,r.bearing)||n.push({command:Ut.setBearing,args:[r.bearing]}),t.deepEqual(e.pitch,r.pitch)||n.push({command:Ut.setPitch,args:[r.pitch]}),t.deepEqual(e.sprite,r.sprite)||n.push({command:Ut.setSprite,args:[r.sprite]}),t.deepEqual(e.glyphs,r.glyphs)||n.push({command:Ut.setGlyphs,args:[r.glyphs]}),t.deepEqual(e.transition,r.transition)||n.push({command:Ut.setTransition,args:[r.transition]}),t.deepEqual(e.light,r.light)||n.push({command:Ut.setLight,args:[r.light]});var i={},a=[];!function(e,r,n,i){var a;for(a in r=r||{},e=e||{})e.hasOwnProperty(a)&&(r.hasOwnProperty(a)||qt(a,n,i));for(a in r)r.hasOwnProperty(a)&&(e.hasOwnProperty(a)?t.deepEqual(e[a],r[a])||("geojson"===e[a].type&&"geojson"===r[a].type&&Gt(e,r,a)?n.push({command:Ut.setGeoJSONSourceData,args:[a,r[a].data]}):Ht(a,r,n,i)):Vt(a,r,n))}(e.sources,r.sources,a,i);var o=[];e.layers&&e.layers.forEach((function(t){i[t.source]?n.push({command:Ut.removeLayer,args:[t.id]}):o.push(t)})),n=n.concat(a),function(e,r,n){r=r||[];var i,a,o,s,l,c,u,f=(e=e||[]).map(Wt),h=r.map(Wt),p=e.reduce(Xt,{}),d=r.reduce(Xt,{}),g=f.slice(),m=Object.create(null);for(i=0,a=0;i<f.length;i++)d.hasOwnProperty(o=f[i])?a++:(n.push({command:Ut.removeLayer,args:[o]}),g.splice(g.indexOf(o,a),1));for(i=0,a=0;i<h.length;i++)g[g.length-1-i]!==(o=h[h.length-1-i])&&(p.hasOwnProperty(o)?(n.push({command:Ut.removeLayer,args:[o]}),g.splice(g.lastIndexOf(o,g.length-a),1)):a++,n.push({command:Ut.addLayer,args:[d[o],c=g[g.length-i]]}),g.splice(g.length-i,0,o),m[o]=!0);for(i=0;i<h.length;i++)if(s=p[o=h[i]],l=d[o],!m[o]&&!t.deepEqual(s,l))if(t.deepEqual(s.source,l.source)&&t.deepEqual(s["source-layer"],l["source-layer"])&&t.deepEqual(s.type,l.type)){for(u in Yt(s.layout,l.layout,n,o,null,Ut.setLayoutProperty),Yt(s.paint,l.paint,n,o,null,Ut.setPaintProperty),t.deepEqual(s.filter,l.filter)||n.push({command:Ut.setFilter,args:[o,l.filter]}),t.deepEqual(s.minzoom,l.minzoom)&&t.deepEqual(s.maxzoom,l.maxzoom)||n.push({command:Ut.setLayerZoomRange,args:[o,l.minzoom,l.maxzoom]}),s)s.hasOwnProperty(u)&&"layout"!==u&&"paint"!==u&&"filter"!==u&&"metadata"!==u&&"minzoom"!==u&&"maxzoom"!==u&&(0===u.indexOf("paint.")?Yt(s[u],l[u],n,o,u.slice(6),Ut.setPaintProperty):t.deepEqual(s[u],l[u])||n.push({command:Ut.setLayerProperty,args:[o,u,l[u]]}));for(u in l)l.hasOwnProperty(u)&&!s.hasOwnProperty(u)&&"layout"!==u&&"paint"!==u&&"filter"!==u&&"metadata"!==u&&"minzoom"!==u&&"maxzoom"!==u&&(0===u.indexOf("paint.")?Yt(s[u],l[u],n,o,u.slice(6),Ut.setPaintProperty):t.deepEqual(s[u],l[u])||n.push({command:Ut.setLayerProperty,args:[o,u,l[u]]}))}else n.push({command:Ut.removeLayer,args:[o]}),c=g[g.lastIndexOf(o)+1],n.push({command:Ut.addLayer,args:[l,c]})}(o,r.layers,n)}catch(t){console.warn("Unable to compute style diff:",t),n=[{command:Ut.setStyle,args:[r]}]}return n}(this.serialize(),e).filter((function(t){return!(t.command in Ue)}));if(0===n.length)return!1;var i=n.filter((function(t){return!(t.command in je)}));if(i.length>0)throw new Error("Unimplemented: "+i.map((function(t){return t.command})).join(", ")+".");return n.forEach((function(t){"setTransition"!==t.command&&r[t.command].apply(r,t.args)})),this.stylesheet=e,!0},r.prototype.addImage=function(e,r){if(this.getImage(e))return this.fire(new t.ErrorEvent(new Error("An image with this name already exists.")));this.imageManager.addImage(e,r),this._availableImages=this.imageManager.listImages(),this._changedImages[e]=!0,this._changed=!0,this.fire(new t.Event("data",{dataType:"style"}))},r.prototype.updateImage=function(t,e){this.imageManager.updateImage(t,e)},r.prototype.getImage=function(t){return this.imageManager.getImage(t)},r.prototype.removeImage=function(e){if(!this.getImage(e))return this.fire(new t.ErrorEvent(new Error("No image with this name exists.")));this.imageManager.removeImage(e),this._availableImages=this.imageManager.listImages(),this._changedImages[e]=!0,this._changed=!0,this.fire(new t.Event("data",{dataType:"style"}))},r.prototype.listImages=function(){return this._checkLoaded(),this.imageManager.listImages()},r.prototype.addSource=function(e,r,n){var i=this;if(void 0===n&&(n={}),this._checkLoaded(),void 0!==this.sourceCaches[e])throw new Error("There is already a source with this ID");if(!r.type)throw new Error("The type property must be defined, but the only the following properties were given: "+Object.keys(r).join(", ")+".");if(!(["vector","raster","geojson","video","image"].indexOf(r.type)>=0&&this._validate(t.validateStyle.source,"sources."+e,r,null,n))){this.map&&this.map._collectResourceTiming&&(r.collectResourceTiming=!0);var a=this.sourceCaches[e]=new Lt(e,r,this.dispatcher);a.style=this,a.setEventedParent(this,(function(){return{isSourceLoaded:i.loaded(),source:a.serialize(),sourceId:e}})),a.onAdd(this.map),this._changed=!0}},r.prototype.removeSource=function(e){if(this._checkLoaded(),void 0===this.sourceCaches[e])throw new Error("There is no source with this ID");for(var r in this._layers)if(this._layers[r].source===e)return this.fire(new t.ErrorEvent(new Error('Source "'+e+'" cannot be removed while layer "'+r+'" is using it.')));var n=this.sourceCaches[e];delete this.sourceCaches[e],delete this._updatedSources[e],n.fire(new t.Event("data",{sourceDataType:"metadata",dataType:"source",sourceId:e})),n.setEventedParent(null),n.clearTiles(),n.onRemove&&n.onRemove(this.map),this._changed=!0},r.prototype.setGeoJSONSourceData=function(t,e){this._checkLoaded(),this.sourceCaches[t].getSource().setData(e),this._changed=!0},r.prototype.getSource=function(t){return this.sourceCaches[t]&&this.sourceCaches[t].getSource()},r.prototype.addLayer=function(e,r,n){void 0===n&&(n={}),this._checkLoaded();var i=e.id;if(this.getLayer(i))this.fire(new t.ErrorEvent(new Error('Layer with id "'+i+'" already exists on this map')));else{var a;if("custom"===e.type){if(Ne(this,t.validateCustomStyleLayer(e)))return;a=t.createStyleLayer(e)}else{if("object"==typeof e.source&&(this.addSource(i,e.source),e=t.clone$1(e),e=t.extend(e,{source:i})),this._validate(t.validateStyle.layer,"layers."+i,e,{arrayIndex:-1},n))return;a=t.createStyleLayer(e),this._validateLayer(a),a.setEventedParent(this,{layer:{id:i}}),this._serializedLayers[a.id]=a.serialize()}var o=r?this._order.indexOf(r):this._order.length;if(r&&-1===o)this.fire(new t.ErrorEvent(new Error('Layer with id "'+r+'" does not exist on this map.')));else{if(this._order.splice(o,0,i),this._layerOrderChanged=!0,this._layers[i]=a,this._removedLayers[i]&&a.source&&"custom"!==a.type){var s=this._removedLayers[i];delete this._removedLayers[i],s.type!==a.type?this._updatedSources[a.source]="clear":(this._updatedSources[a.source]="reload",this.sourceCaches[a.source].pause())}this._updateLayer(a),a.onAdd&&a.onAdd(this.map)}}},r.prototype.moveLayer=function(e,r){if(this._checkLoaded(),this._changed=!0,this._layers[e]){if(e!==r){var n=this._order.indexOf(e);this._order.splice(n,1);var i=r?this._order.indexOf(r):this._order.length;r&&-1===i?this.fire(new t.ErrorEvent(new Error('Layer with id "'+r+'" does not exist on this map.'))):(this._order.splice(i,0,e),this._layerOrderChanged=!0)}}else this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be moved.")))},r.prototype.removeLayer=function(e){this._checkLoaded();var r=this._layers[e];if(r){r.setEventedParent(null);var n=this._order.indexOf(e);this._order.splice(n,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[e]=r,delete this._layers[e],delete this._serializedLayers[e],delete this._updatedLayers[e],delete this._updatedPaintProps[e],r.onRemove&&r.onRemove(this.map)}else this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be removed.")))},r.prototype.getLayer=function(t){return this._layers[t]},r.prototype.hasLayer=function(t){return t in this._layers},r.prototype.setLayerZoomRange=function(e,r,n){this._checkLoaded();var i=this.getLayer(e);i?i.minzoom===r&&i.maxzoom===n||(null!=r&&(i.minzoom=r),null!=n&&(i.maxzoom=n),this._updateLayer(i)):this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot have zoom extent.")))},r.prototype.setFilter=function(e,r,n){void 0===n&&(n={}),this._checkLoaded();var i=this.getLayer(e);if(i){if(!t.deepEqual(i.filter,r))return null==r?(i.filter=void 0,void this._updateLayer(i)):void(this._validate(t.validateStyle.filter,"layers."+i.id+".filter",r,null,n)||(i.filter=t.clone$1(r),this._updateLayer(i)))}else this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be filtered.")))},r.prototype.getFilter=function(e){return t.clone$1(this.getLayer(e).filter)},r.prototype.setLayoutProperty=function(e,r,n,i){void 0===i&&(i={}),this._checkLoaded();var a=this.getLayer(e);a?t.deepEqual(a.getLayoutProperty(r),n)||(a.setLayoutProperty(r,n,i),this._updateLayer(a)):this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be styled.")))},r.prototype.getLayoutProperty=function(e,r){var n=this.getLayer(e);if(n)return n.getLayoutProperty(r);this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style.")))},r.prototype.setPaintProperty=function(e,r,n,i){void 0===i&&(i={}),this._checkLoaded();var a=this.getLayer(e);a?t.deepEqual(a.getPaintProperty(r),n)||(a.setPaintProperty(r,n,i)&&this._updateLayer(a),this._changed=!0,this._updatedPaintProps[e]=!0):this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be styled.")))},r.prototype.getPaintProperty=function(t,e){return this.getLayer(t).getPaintProperty(e)},r.prototype.setFeatureState=function(e,r){this._checkLoaded();var n=e.source,i=e.sourceLayer,a=this.sourceCaches[n];if(void 0!==a){var o=a.getSource().type;"geojson"===o&&i?this.fire(new t.ErrorEvent(new Error("GeoJSON sources cannot have a sourceLayer parameter."))):"vector"!==o||i?(void 0===e.id&&this.fire(new t.ErrorEvent(new Error("The feature id parameter must be provided."))),a.setFeatureState(i,e.id,r)):this.fire(new t.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")))}else this.fire(new t.ErrorEvent(new Error("The source '"+n+"' does not exist in the map's style.")))},r.prototype.removeFeatureState=function(e,r){this._checkLoaded();var n=e.source,i=this.sourceCaches[n];if(void 0!==i){var a=i.getSource().type,o="vector"===a?e.sourceLayer:void 0;"vector"!==a||o?r&&"string"!=typeof e.id&&"number"!=typeof e.id?this.fire(new t.ErrorEvent(new Error("A feature id is requred to remove its specific state property."))):i.removeFeatureState(o,e.id,r):this.fire(new t.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")))}else this.fire(new t.ErrorEvent(new Error("The source '"+n+"' does not exist in the map's style.")))},r.prototype.getFeatureState=function(e){this._checkLoaded();var r=e.source,n=e.sourceLayer,i=this.sourceCaches[r];if(void 0!==i){if("vector"!==i.getSource().type||n)return void 0===e.id&&this.fire(new t.ErrorEvent(new Error("The feature id parameter must be provided."))),i.getFeatureState(n,e.id);this.fire(new t.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")))}else this.fire(new t.ErrorEvent(new Error("The source '"+r+"' does not exist in the map's style.")))},r.prototype.getTransition=function(){return t.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)},r.prototype.serialize=function(){return t.filterObject({version:this.stylesheet.version,name:this.stylesheet.name,metadata:this.stylesheet.metadata,light:this.stylesheet.light,center:this.stylesheet.center,zoom:this.stylesheet.zoom,bearing:this.stylesheet.bearing,pitch:this.stylesheet.pitch,sprite:this.stylesheet.sprite,glyphs:this.stylesheet.glyphs,transition:this.stylesheet.transition,sources:t.mapObject(this.sourceCaches,(function(t){return t.serialize()})),layers:this._serializeLayers(this._order)},(function(t){return void 0!==t}))},r.prototype._updateLayer=function(t){this._updatedLayers[t.id]=!0,t.source&&!this._updatedSources[t.source]&&"raster"!==this.sourceCaches[t.source].getSource().type&&(this._updatedSources[t.source]="reload",this.sourceCaches[t.source].pause()),this._changed=!0},r.prototype._flattenAndSortRenderedFeatures=function(t){for(var e=this,r=function(t){return"fill-extrusion"===e._layers[t].type},n={},i=[],a=this._order.length-1;a>=0;a--){var o=this._order[a];if(r(o)){n[o]=a;for(var s=0,l=t;s<l.length;s+=1){var c=l[s][o];if(c)for(var u=0,f=c;u<f.length;u+=1)i.push(f[u])}}}i.sort((function(t,e){return e.intersectionZ-t.intersectionZ}));for(var h=[],p=this._order.length-1;p>=0;p--){var d=this._order[p];if(r(d))for(var g=i.length-1;g>=0;g--){var m=i[g].feature;if(n[m.layer.id]<p)break;h.push(m),i.pop()}else for(var v=0,y=t;v<y.length;v+=1){var x=y[v][d];if(x)for(var b=0,_=x;b<_.length;b+=1)h.push(_[b].feature)}}return h},r.prototype.queryRenderedFeatures=function(e,r,n){r&&r.filter&&this._validate(t.validateStyle.filter,"queryRenderedFeatures.filter",r.filter,null,r);var i={};if(r&&r.layers){if(!Array.isArray(r.layers))return this.fire(new t.ErrorEvent(new Error("parameters.layers must be an Array."))),[];for(var a=0,o=r.layers;a<o.length;a+=1){var s=o[a],l=this._layers[s];if(!l)return this.fire(new t.ErrorEvent(new Error("The layer '"+s+"' does not exist in the map's style and cannot be queried for features."))),[];i[l.source]=!0}}var c=[];for(var u in r.availableImages=this._availableImages,this.sourceCaches)r.layers&&!i[u]||c.push(F(this.sourceCaches[u],this._layers,this._serializedLayers,e,r,n));return this.placement&&c.push(function(t,e,r,n,i,a,o){for(var s={},l=a.queryRenderedSymbols(n),c=[],u=0,f=Object.keys(l).map(Number);u<f.length;u+=1)c.push(o[f[u]]);c.sort(B);for(var h=function(){var r=d[p],n=r.featureIndex.lookupSymbolFeatures(l[r.bucketInstanceId],e,r.bucketIndex,r.sourceLayerIndex,i.filter,i.layers,i.availableImages,t);for(var a in n){var o=s[a]=s[a]||[],c=n[a];c.sort((function(t,e){var n=r.featureSortOrder;if(n){var i=n.indexOf(t.featureIndex);return n.indexOf(e.featureIndex)-i}return e.featureIndex-t.featureIndex}));for(var u=0,f=c;u<f.length;u+=1)o.push(f[u])}},p=0,d=c;p<d.length;p+=1)h();var g=function(e){s[e].forEach((function(n){var i=n.feature,a=r[t[e].source].getFeatureState(i.layer["source-layer"],i.id);i.source=i.layer.source,i.layer["source-layer"]&&(i.sourceLayer=i.layer["source-layer"]),i.state=a}))};for(var m in s)g(m);return s}(this._layers,this._serializedLayers,this.sourceCaches,e,r,this.placement.collisionIndex,this.placement.retainedQueryData)),this._flattenAndSortRenderedFeatures(c)},r.prototype.querySourceFeatures=function(e,r){r&&r.filter&&this._validate(t.validateStyle.filter,"querySourceFeatures.filter",r.filter,null,r);var n=this.sourceCaches[e];return n?function(t,e){for(var r=t.getRenderableIds().map((function(e){return t.getTileByID(e)})),n=[],i={},a=0;a<r.length;a++){var o=r[a],s=o.tileID.canonical.key;i[s]||(i[s]=!0,o.querySourceFeatures(n,e))}return n}(n,r):[]},r.prototype.addSourceType=function(t,e,n){return r.getSourceType(t)?n(new Error('A source type called "'+t+'" already exists.')):(r.setSourceType(t,e),e.workerSourceURL?void this.dispatcher.broadcast("loadWorkerSource",{name:t,url:e.workerSourceURL},n):n(null,null))},r.prototype.getLight=function(){return this.light.getLight()},r.prototype.setLight=function(e,r){void 0===r&&(r={}),this._checkLoaded();var n=this.light.getLight(),i=!1;for(var a in e)if(!t.deepEqual(e[a],n[a])){i=!0;break}if(i){var o={now:t.browser.now(),transition:t.extend({duration:300,delay:0},this.stylesheet.transition)};this.light.setLight(e,r),this.light.updateTransitions(o)}},r.prototype._validate=function(e,r,n,i,a){return void 0===a&&(a={}),(!a||!1!==a.validate)&&Ne(this,e.call(t.validateStyle,t.extend({key:r,style:this.serialize(),value:n,styleSpec:t.styleSpec},i)))},r.prototype._remove=function(){for(var e in this._request&&(this._request.cancel(),this._request=null),this._spriteRequest&&(this._spriteRequest.cancel(),this._spriteRequest=null),t.evented.off("pluginStateChange",this._rtlTextPluginCallback),this._layers)this._layers[e].setEventedParent(null);for(var r in this.sourceCaches)this.sourceCaches[r].clearTiles(),this.sourceCaches[r].setEventedParent(null);this.imageManager.setEventedParent(null),this.setEventedParent(null),this.dispatcher.remove()},r.prototype._clearSource=function(t){this.sourceCaches[t].clearTiles()},r.prototype._reloadSource=function(t){this.sourceCaches[t].resume(),this.sourceCaches[t].reload()},r.prototype._updateSources=function(t){for(var e in this.sourceCaches)this.sourceCaches[e].update(t)},r.prototype._generateCollisionBoxes=function(){for(var t in this.sourceCaches)this._reloadSource(t)},r.prototype._updatePlacement=function(e,r,n,i,a){void 0===a&&(a=!1);for(var o=!1,s=!1,l={},c=0,u=this._order;c<u.length;c+=1){var f=this._layers[u[c]];if("symbol"===f.type){if(!l[f.source]){var h=this.sourceCaches[f.source];l[f.source]=h.getRenderableIds(!0).map((function(t){return h.getTileByID(t)})).sort((function(t,e){return e.tileID.overscaledZ-t.tileID.overscaledZ||(t.tileID.isLessThan(e.tileID)?-1:1)}))}var p=this.crossTileSymbolIndex.addLayer(f,l[f.source],e.center.lng);o=o||p}}if(this.crossTileSymbolIndex.pruneUnusedLayers(this._order),((a=a||this._layerOrderChanged||0===n)||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(t.browser.now(),e.zoom))&&(this.pauseablePlacement=new ze(e,this._order,a,r,n,i,this.placement),this._layerOrderChanged=!1),this.pauseablePlacement.isDone()?this.placement.setStale():(this.pauseablePlacement.continuePlacement(this._order,this._layers,l),this.pauseablePlacement.isDone()&&(this.placement=this.pauseablePlacement.commit(t.browser.now()),s=!0),o&&this.pauseablePlacement.placement.setStale()),s||o)for(var d=0,g=this._order;d<g.length;d+=1){var m=this._layers[g[d]];"symbol"===m.type&&this.placement.updateLayerOpacities(m,l[m.source])}return!this.pauseablePlacement.isDone()||this.placement.hasTransitions(t.browser.now())},r.prototype._releaseSymbolFadeTiles=function(){for(var t in this.sourceCaches)this.sourceCaches[t].releaseSymbolFadeTiles()},r.prototype.getImages=function(t,e,r){this.imageManager.getImages(e.icons,r),this._updateTilesForChangedImages();var n=this.sourceCaches[e.source];n&&n.setDependencies(e.tileID.key,e.type,e.icons)},r.prototype.getGlyphs=function(t,e,r){this.glyphManager.getGlyphs(e.stacks,r)},r.prototype.getResource=function(e,r,n){return t.makeRequest(r,n)},r}(t.Evented);qe.getSourceType=function(t){return D[t]},qe.setSourceType=function(t,e){D[t]=e},qe.registerForPluginStateChange=t.registerForPluginStateChange;var He=t.createLayout([{name:"a_pos",type:"Int16",components:2}]),Ge=vr("#ifdef GL_ES\nprecision mediump float;\n#else\n#if !defined(lowp)\n#define lowp\n#endif\n#if !defined(mediump)\n#define mediump\n#endif\n#if !defined(highp)\n#define highp\n#endif\n#endif","#ifdef GL_ES\nprecision highp float;\n#else\n#if !defined(lowp)\n#define lowp\n#endif\n#if !defined(mediump)\n#define mediump\n#endif\n#if !defined(highp)\n#define highp\n#endif\n#endif\nvec2 unpack_float(const float packedValue) {int packedIntValue=int(packedValue);int v0=packedIntValue/256;return vec2(v0,packedIntValue-v0*256);}vec2 unpack_opacity(const float packedOpacity) {int intOpacity=int(packedOpacity)/2;return vec2(float(intOpacity)/127.0,mod(packedOpacity,2.0));}vec4 decode_color(const vec2 encodedColor) {return vec4(unpack_float(encodedColor[0])/255.0,unpack_float(encodedColor[1])/255.0\n);}float unpack_mix_vec2(const vec2 packedValue,const float t) {return mix(packedValue[0],packedValue[1],t);}vec4 unpack_mix_color(const vec4 packedColors,const float t) {vec4 minColor=decode_color(vec2(packedColors[0],packedColors[1]));vec4 maxColor=decode_color(vec2(packedColors[2],packedColors[3]));return mix(minColor,maxColor,t);}vec2 get_pattern_pos(const vec2 pixel_coord_upper,const vec2 pixel_coord_lower,const vec2 pattern_size,const float tile_units_to_pixels,const vec2 pos) {vec2 offset=mod(mod(mod(pixel_coord_upper,pattern_size)*256.0,pattern_size)*256.0+pixel_coord_lower,pattern_size);return (tile_units_to_pixels*pos+offset)/pattern_size;}"),Ye=vr("uniform vec4 u_color;uniform float u_opacity;void main() {gl_FragColor=u_color*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}"),We=vr("uniform vec2 u_pattern_tl_a;uniform vec2 u_pattern_br_a;uniform vec2 u_pattern_tl_b;uniform vec2 u_pattern_br_b;uniform vec2 u_texsize;uniform float u_mix;uniform float u_opacity;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(u_pattern_tl_a/u_texsize,u_pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(u_pattern_tl_b/u_texsize,u_pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_mix)*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_pattern_size_a;uniform vec2 u_pattern_size_b;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_scale_a;uniform float u_scale_b;uniform float u_tile_units_to_pixels;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_a*u_pattern_size_a,u_tile_units_to_pixels,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_b*u_pattern_size_b,u_tile_units_to_pixels,a_pos);}"),Xe=vr("varying vec3 v_data;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define mediump float radius\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define highp vec4 stroke_color\n#pragma mapbox: define mediump float stroke_width\n#pragma mapbox: define lowp float stroke_opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize mediump float radius\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize highp vec4 stroke_color\n#pragma mapbox: initialize mediump float stroke_width\n#pragma mapbox: initialize lowp float stroke_opacity\nvec2 extrude=v_data.xy;float extrude_length=length(extrude);lowp float antialiasblur=v_data.z;float antialiased_blur=-max(blur,antialiasblur);float opacity_t=smoothstep(0.0,antialiased_blur,extrude_length-1.0);float color_t=stroke_width < 0.01 ? 0.0 : smoothstep(antialiased_blur,0.0,extrude_length-radius/(radius+stroke_width));gl_FragColor=opacity_t*mix(color*opacity,stroke_color*stroke_opacity,color_t);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform bool u_scale_with_map;uniform bool u_pitch_with_map;uniform vec2 u_extrude_scale;uniform lowp float u_device_pixel_ratio;uniform highp float u_camera_to_center_distance;attribute vec2 a_pos;varying vec3 v_data;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define mediump float radius\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define highp vec4 stroke_color\n#pragma mapbox: define mediump float stroke_width\n#pragma mapbox: define lowp float stroke_opacity\nvoid main(void) {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize mediump float radius\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize highp vec4 stroke_color\n#pragma mapbox: initialize mediump float stroke_width\n#pragma mapbox: initialize lowp float stroke_opacity\nvec2 extrude=vec2(mod(a_pos,2.0)*2.0-1.0);vec2 circle_center=floor(a_pos*0.5);if (u_pitch_with_map) {vec2 corner_position=circle_center;if (u_scale_with_map) {corner_position+=extrude*(radius+stroke_width)*u_extrude_scale;} else {vec4 projected_center=u_matrix*vec4(circle_center,0,1);corner_position+=extrude*(radius+stroke_width)*u_extrude_scale*(projected_center.w/u_camera_to_center_distance);}gl_Position=u_matrix*vec4(corner_position,0,1);} else {gl_Position=u_matrix*vec4(circle_center,0,1);if (u_scale_with_map) {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*u_camera_to_center_distance;} else {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*gl_Position.w;}}lowp float antialiasblur=1.0/u_device_pixel_ratio/(radius+stroke_width);v_data=vec3(extrude.x,extrude.y,antialiasblur);}"),Ze=vr("void main() {gl_FragColor=vec4(1.0);}","attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}"),Je=vr("uniform highp float u_intensity;varying vec2 v_extrude;\n#pragma mapbox: define highp float weight\n#define GAUSS_COEF 0.3989422804014327\nvoid main() {\n#pragma mapbox: initialize highp float weight\nfloat d=-0.5*3.0*3.0*dot(v_extrude,v_extrude);float val=weight*u_intensity*GAUSS_COEF*exp(d);gl_FragColor=vec4(val,1.0,1.0,1.0);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform float u_extrude_scale;uniform float u_opacity;uniform float u_intensity;attribute vec2 a_pos;varying vec2 v_extrude;\n#pragma mapbox: define highp float weight\n#pragma mapbox: define mediump float radius\nconst highp float ZERO=1.0/255.0/16.0;\n#define GAUSS_COEF 0.3989422804014327\nvoid main(void) {\n#pragma mapbox: initialize highp float weight\n#pragma mapbox: initialize mediump float radius\nvec2 unscaled_extrude=vec2(mod(a_pos,2.0)*2.0-1.0);float S=sqrt(-2.0*log(ZERO/weight/u_intensity/GAUSS_COEF))/3.0;v_extrude=S*unscaled_extrude;vec2 extrude=v_extrude*radius*u_extrude_scale;vec4 pos=vec4(floor(a_pos*0.5)+extrude,0,1);gl_Position=u_matrix*pos;}"),Ke=vr("uniform sampler2D u_image;uniform sampler2D u_color_ramp;uniform float u_opacity;varying vec2 v_pos;void main() {float t=texture2D(u_image,v_pos).r;vec4 color=texture2D(u_color_ramp,vec2(t,0.5));gl_FragColor=color*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(0.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_world;attribute vec2 a_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos*u_world,0,1);v_pos.x=a_pos.x;v_pos.y=1.0-a_pos.y;}"),Qe=vr("varying float v_placed;varying float v_notUsed;void main() {float alpha=0.5;gl_FragColor=vec4(1.0,0.0,0.0,1.0)*alpha;if (v_placed > 0.5) {gl_FragColor=vec4(0.0,0.0,1.0,0.5)*alpha;}if (v_notUsed > 0.5) {gl_FragColor*=.1;}}","attribute vec2 a_pos;attribute vec2 a_anchor_pos;attribute vec2 a_extrude;attribute vec2 a_placed;attribute vec2 a_shift;uniform mat4 u_matrix;uniform vec2 u_extrude_scale;uniform float u_camera_to_center_distance;varying float v_placed;varying float v_notUsed;void main() {vec4 projectedPoint=u_matrix*vec4(a_anchor_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);gl_Position=u_matrix*vec4(a_pos,0.0,1.0);gl_Position.xy+=(a_extrude+a_shift)*u_extrude_scale*gl_Position.w*collision_perspective_ratio;v_placed=a_placed.x;v_notUsed=a_placed.y;}"),$e=vr("varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;void main() {float alpha=0.5*min(v_perspective_ratio,1.0);float stroke_radius=0.9*max(v_perspective_ratio,1.0);float distance_to_center=length(v_extrude);float distance_to_edge=abs(distance_to_center-v_radius);float opacity_t=smoothstep(-stroke_radius,0.0,-distance_to_edge);vec4 color=mix(vec4(0.0,0.0,1.0,0.5),vec4(1.0,0.0,0.0,1.0),v_collision);gl_FragColor=color*alpha*opacity_t;}","attribute vec2 a_pos;attribute float a_radius;attribute vec2 a_flags;uniform mat4 u_matrix;uniform mat4 u_inv_matrix;uniform vec2 u_viewport_size;uniform float u_camera_to_center_distance;varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;vec3 toTilePosition(vec2 screenPos) {vec4 rayStart=u_inv_matrix*vec4(screenPos,-1.0,1.0);vec4 rayEnd =u_inv_matrix*vec4(screenPos, 1.0,1.0);rayStart.xyz/=rayStart.w;rayEnd.xyz /=rayEnd.w;highp float t=(0.0-rayStart.z)/(rayEnd.z-rayStart.z);return mix(rayStart.xyz,rayEnd.xyz,t);}void main() {vec2 quadCenterPos=a_pos;float radius=a_radius;float collision=a_flags.x;float vertexIdx=a_flags.y;vec2 quadVertexOffset=vec2(mix(-1.0,1.0,float(vertexIdx >=2.0)),mix(-1.0,1.0,float(vertexIdx >=1.0 && vertexIdx <=2.0)));vec2 quadVertexExtent=quadVertexOffset*radius;vec3 tilePos=toTilePosition(quadCenterPos);vec4 clipPos=u_matrix*vec4(tilePos,1.0);highp float camera_to_anchor_distance=clipPos.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);float padding_factor=1.2;v_radius=radius;v_extrude=quadVertexExtent*padding_factor;v_perspective_ratio=collision_perspective_ratio;v_collision=collision;gl_Position=vec4(clipPos.xyz/clipPos.w,1.0)+vec4(quadVertexExtent*padding_factor/u_viewport_size*2.0,0.0,0.0);}"),tr=vr("uniform highp vec4 u_color;uniform sampler2D u_overlay;varying vec2 v_uv;void main() {vec4 overlay_color=texture2D(u_overlay,v_uv);gl_FragColor=mix(u_color,overlay_color,overlay_color.a);}","attribute vec2 a_pos;varying vec2 v_uv;uniform mat4 u_matrix;uniform float u_overlay_scale;void main() {v_uv=a_pos/8192.0;gl_Position=u_matrix*vec4(a_pos*u_overlay_scale,0,1);}"),er=vr("#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float opacity\ngl_FragColor=color*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec2 a_pos;uniform mat4 u_matrix;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float opacity\ngl_Position=u_matrix*vec4(a_pos,0,1);}"),rr=vr("varying vec2 v_pos;\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 outline_color\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=outline_color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec2 a_pos;uniform mat4 u_matrix;uniform vec2 u_world;varying vec2 v_pos;\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 outline_color\n#pragma mapbox: initialize lowp float opacity\ngl_Position=u_matrix*vec4(a_pos,0,1);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}"),nr=vr("uniform vec2 u_texsize;uniform sampler2D u_image;uniform float u_fade;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);float dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=mix(color1,color2,u_fade)*alpha*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_world;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;gl_Position=u_matrix*vec4(a_pos,0,1);vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,a_pos);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}"),ir=vr("uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_fade)*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileZoomRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileZoomRatio,a_pos);}"),ar=vr("varying vec4 v_color;void main() {gl_FragColor=v_color;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;uniform float u_vertical_gradient;uniform lowp float u_opacity;attribute vec2 a_pos;attribute vec4 a_normal_ed;varying vec4 v_color;\n#pragma mapbox: define highp float base\n#pragma mapbox: define highp float height\n#pragma mapbox: define highp vec4 color\nvoid main() {\n#pragma mapbox: initialize highp float base\n#pragma mapbox: initialize highp float height\n#pragma mapbox: initialize highp vec4 color\nvec3 normal=a_normal_ed.xyz;base=max(0.0,base);height=max(0.0,height);float t=mod(normal.x,2.0);gl_Position=u_matrix*vec4(a_pos,t > 0.0 ? height : base,1);float colorvalue=color.r*0.2126+color.g*0.7152+color.b*0.0722;v_color=vec4(0.0,0.0,0.0,1.0);vec4 ambientlight=vec4(0.03,0.03,0.03,1.0);color+=ambientlight;float directional=clamp(dot(normal/16384.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((1.0-colorvalue+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_color.r+=clamp(color.r*directional*u_lightcolor.r,mix(0.0,0.3,1.0-u_lightcolor.r),1.0);v_color.g+=clamp(color.g*directional*u_lightcolor.g,mix(0.0,0.3,1.0-u_lightcolor.g),1.0);v_color.b+=clamp(color.b*directional*u_lightcolor.b,mix(0.0,0.3,1.0-u_lightcolor.b),1.0);v_color*=u_opacity;}"),or=vr("uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);vec4 mixedColor=mix(color1,color2,u_fade);gl_FragColor=mixedColor*v_lighting;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_height_factor;uniform vec3 u_scale;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;attribute vec2 a_pos;attribute vec4 a_normal_ed;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec3 normal=a_normal_ed.xyz;float edgedistance=a_normal_ed.w;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;base=max(0.0,base);height=max(0.0,height);float t=mod(normal.x,2.0);float z=t > 0.0 ? height : base;gl_Position=u_matrix*vec4(a_pos,z,1);vec2 pos=normal.x==1.0 && normal.y==0.0 && normal.z==16384.0\n? a_pos\n: vec2(edgedistance,z*u_height_factor);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,pos);v_lighting=vec4(0.0,0.0,0.0,1.0);float directional=clamp(dot(normal/16383.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((0.5+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_lighting.rgb+=clamp(directional*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));v_lighting*=u_opacity;}"),sr=vr("#ifdef GL_ES\nprecision highp float;\n#endif\nuniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_dimension;uniform float u_zoom;uniform float u_maxzoom;uniform vec4 u_unpack;float getElevation(vec2 coord,float bias) {vec4 data=texture2D(u_image,coord)*255.0;data.a=-1.0;return dot(data,u_unpack)/4.0;}void main() {vec2 epsilon=1.0/u_dimension;float a=getElevation(v_pos+vec2(-epsilon.x,-epsilon.y),0.0);float b=getElevation(v_pos+vec2(0,-epsilon.y),0.0);float c=getElevation(v_pos+vec2(epsilon.x,-epsilon.y),0.0);float d=getElevation(v_pos+vec2(-epsilon.x,0),0.0);float e=getElevation(v_pos,0.0);float f=getElevation(v_pos+vec2(epsilon.x,0),0.0);float g=getElevation(v_pos+vec2(-epsilon.x,epsilon.y),0.0);float h=getElevation(v_pos+vec2(0,epsilon.y),0.0);float i=getElevation(v_pos+vec2(epsilon.x,epsilon.y),0.0);float exaggeration=u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;vec2 deriv=vec2((c+f+f+i)-(a+d+d+g),(g+h+h+i)-(a+b+b+c))/ pow(2.0,(u_zoom-u_maxzoom)*exaggeration+19.2562-u_zoom);gl_FragColor=clamp(vec4(deriv.x/2.0+0.5,deriv.y/2.0+0.5,1.0,1.0),0.0,1.0);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_dimension;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);highp vec2 epsilon=1.0/u_dimension;float scale=(u_dimension.x-2.0)/u_dimension.x;v_pos=(a_texture_pos/8192.0)*scale+epsilon;}"),lr=vr("uniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_latrange;uniform vec2 u_light;uniform vec4 u_shadow;uniform vec4 u_highlight;uniform vec4 u_accent;\n#define PI 3.141592653589793\nvoid main() {vec4 pixel=texture2D(u_image,v_pos);vec2 deriv=((pixel.rg*2.0)-1.0);float scaleFactor=cos(radians((u_latrange[0]-u_latrange[1])*(1.0-v_pos.y)+u_latrange[1]));float slope=atan(1.25*length(deriv)/scaleFactor);float aspect=deriv.x !=0.0 ? atan(deriv.y,-deriv.x) : PI/2.0*(deriv.y > 0.0 ? 1.0 :-1.0);float intensity=u_light.x;float azimuth=u_light.y+PI;float base=1.875-intensity*1.75;float maxValue=0.5*PI;float scaledSlope=intensity !=0.5 ? ((pow(base,slope)-1.0)/(pow(base,maxValue)-1.0))*maxValue : slope;float accent=cos(scaledSlope);vec4 accent_color=(1.0-accent)*u_accent*clamp(intensity*2.0,0.0,1.0);float shade=abs(mod((aspect+azimuth)/PI+0.5,2.0)-1.0);vec4 shade_color=mix(u_shadow,u_highlight,shade)*sin(scaledSlope)*clamp(intensity*2.0,0.0,1.0);gl_FragColor=accent_color*(1.0-shade_color.a)+shade_color;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=a_texture_pos/8192.0;}"),cr=vr("uniform lowp float u_device_pixel_ratio;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform vec2 u_units_to_pixels;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp float v_linesofar;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;v_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*2.0;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_width2=vec2(outset,inset);}"),ur=vr("uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;varying highp float v_lineprogress;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);vec4 color=texture2D(u_image,vec2(v_lineprogress,0.5));gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define MAX_LINE_DISTANCE 32767.0\n#define scale 0.015873016\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_units_to_pixels;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp float v_lineprogress;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;v_lineprogress=(floor(a_data.z/4.0)+a_data.w*64.0)*2.0/MAX_LINE_DISTANCE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_width2=vec2(outset,inset);}"),fr=vr("uniform lowp float u_device_pixel_ratio;uniform vec2 u_texsize;uniform float u_fade;uniform mediump vec3 u_scale;uniform sampler2D u_image;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;vec2 pattern_size_a=vec2(display_size_a.x*fromScale/tileZoomRatio,display_size_a.y);vec2 pattern_size_b=vec2(display_size_b.x*toScale/tileZoomRatio,display_size_b.y);float aspect_a=display_size_a.y/v_width;float aspect_b=display_size_b.y/v_width;float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float x_a=mod(v_linesofar/pattern_size_a.x*aspect_a,1.0);float x_b=mod(v_linesofar/pattern_size_b.x*aspect_b,1.0);float y=0.5*v_normal.y+0.5;vec2 texel_size=1.0/u_texsize;vec2 pos_a=mix(pattern_tl_a*texel_size-texel_size,pattern_br_a*texel_size+texel_size,vec2(x_a,y));vec2 pos_b=mix(pattern_tl_b*texel_size-texel_size,pattern_br_b*texel_size+texel_size,vec2(x_b,y));vec4 color=mix(texture2D(u_image,pos_a),texture2D(u_image,pos_b),u_fade);gl_FragColor=color*alpha*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\n#define LINE_DISTANCE_SCALE 2.0\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform vec2 u_units_to_pixels;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;}"),hr=vr("uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;uniform float u_sdfgamma;uniform float u_mix;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float sdfdist_a=texture2D(u_image,v_tex_a).a;float sdfdist_b=texture2D(u_image,v_tex_b).a;float sdfdist=mix(sdfdist_a,sdfdist_b,u_mix);alpha*=smoothstep(0.5-u_sdfgamma/floorwidth,0.5+u_sdfgamma/floorwidth,sdfdist);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\n#define LINE_DISTANCE_SCALE 2.0\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_patternscale_a;uniform float u_tex_y_a;uniform vec2 u_patternscale_b;uniform float u_tex_y_b;uniform vec2 u_units_to_pixels;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_tex_a=vec2(a_linesofar*u_patternscale_a.x/floorwidth,normal.y*u_patternscale_a.y+u_tex_y_a);v_tex_b=vec2(a_linesofar*u_patternscale_b.x/floorwidth,normal.y*u_patternscale_b.y+u_tex_y_b);v_width2=vec2(outset,inset);}"),pr=vr("uniform float u_fade_t;uniform float u_opacity;uniform sampler2D u_image0;uniform sampler2D u_image1;varying vec2 v_pos0;varying vec2 v_pos1;uniform float u_brightness_low;uniform float u_brightness_high;uniform float u_saturation_factor;uniform float u_contrast_factor;uniform vec3 u_spin_weights;void main() {vec4 color0=texture2D(u_image0,v_pos0);vec4 color1=texture2D(u_image1,v_pos1);if (color0.a > 0.0) {color0.rgb=color0.rgb/color0.a;}if (color1.a > 0.0) {color1.rgb=color1.rgb/color1.a;}vec4 color=mix(color0,color1,u_fade_t);color.a*=u_opacity;vec3 rgb=color.rgb;rgb=vec3(dot(rgb,u_spin_weights.xyz),dot(rgb,u_spin_weights.zxy),dot(rgb,u_spin_weights.yzx));float average=(color.r+color.g+color.b)/3.0;rgb+=(average-rgb)*u_saturation_factor;rgb=(rgb-0.5)*u_contrast_factor+0.5;vec3 u_high_vec=vec3(u_brightness_low,u_brightness_low,u_brightness_low);vec3 u_low_vec=vec3(u_brightness_high,u_brightness_high,u_brightness_high);gl_FragColor=vec4(mix(u_high_vec,u_low_vec,rgb)*color.a,color.a);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_tl_parent;uniform float u_scale_parent;uniform float u_buffer_scale;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos0;varying vec2 v_pos1;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos0=(((a_texture_pos/8192.0)-0.5)/u_buffer_scale )+0.5;v_pos1=(v_pos0*u_scale_parent)+u_tl_parent;}"),dr=vr("uniform sampler2D u_texture;varying vec2 v_tex;varying float v_fade_opacity;\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\nlowp float alpha=opacity*v_fade_opacity;gl_FragColor=texture2D(u_texture,v_tex)*alpha;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform highp float u_camera_to_center_distance;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform float u_fade_change;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform vec2 u_texsize;varying vec2 v_tex;varying float v_fade_opacity;\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;vec2 a_minFontScale=a_pixeloffset.zw/256.0;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*max(a_minFontScale,fontScale)+a_pxoffset/16.0),0.0,1.0);v_tex=a_tex/u_texsize;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;v_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));}"),gr=vr("#define SDF_PX 8.0\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;uniform bool u_is_text;varying vec2 v_data0;varying vec3 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nfloat EDGE_GAMMA=0.105/u_device_pixel_ratio;vec2 tex=v_data0.xy;float gamma_scale=v_data1.x;float size=v_data1.y;float fade_opacity=v_data1[2];float fontScale=u_is_text ? size/24.0 : size;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;varying vec2 v_data0;varying vec3 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale+a_pxoffset),0.0,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));v_data0=a_tex/u_texsize;v_data1=vec3(gamma_scale,size,interpolated_fade_opacity);}"),mr=vr("#define SDF_PX 8.0\n#define SDF 1.0\n#define ICON 0.0\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform sampler2D u_texture_icon;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;varying vec4 v_data0;varying vec4 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nfloat fade_opacity=v_data1[2];if (v_data1.w==ICON) {vec2 tex_icon=v_data0.zw;lowp float alpha=opacity*fade_opacity;gl_FragColor=texture2D(u_texture_icon,tex_icon)*alpha;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\nreturn;}vec2 tex=v_data0.xy;float EDGE_GAMMA=0.105/u_device_pixel_ratio;float gamma_scale=v_data1.x;float size=v_data1.y;float fontScale=size/24.0;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec2 u_texsize_icon;varying vec4 v_data0;varying vec4 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);float is_sdf=a_size[0]-2.0*a_size_min;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=size/24.0;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale),0.0,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));v_data0.xy=a_tex/u_texsize;v_data0.zw=a_tex/u_texsize_icon;v_data1=vec4(gamma_scale,size,interpolated_fade_opacity,is_sdf);}");function vr(t,e){var r=/#pragma mapbox: ([\w]+) ([\w]+) ([\w]+) ([\w]+)/g,n={};return{fragmentSource:t=t.replace(r,(function(t,e,r,i,a){return n[a]=!0,"define"===e?"\n#ifndef HAS_UNIFORM_u_"+a+"\nvarying "+r+" "+i+" "+a+";\n#else\nuniform "+r+" "+i+" u_"+a+";\n#endif\n":"\n#ifdef HAS_UNIFORM_u_"+a+"\n "+r+" "+i+" "+a+" = u_"+a+";\n#endif\n"})),vertexSource:e=e.replace(r,(function(t,e,r,i,a){var o="float"===i?"vec2":"vec4",s=a.match(/color/)?"color":o;return n[a]?"define"===e?"\n#ifndef HAS_UNIFORM_u_"+a+"\nuniform lowp float u_"+a+"_t;\nattribute "+r+" "+o+" a_"+a+";\nvarying "+r+" "+i+" "+a+";\n#else\nuniform "+r+" "+i+" u_"+a+";\n#endif\n":"vec4"===s?"\n#ifndef HAS_UNIFORM_u_"+a+"\n "+a+" = a_"+a+";\n#else\n "+r+" "+i+" "+a+" = u_"+a+";\n#endif\n":"\n#ifndef HAS_UNIFORM_u_"+a+"\n "+a+" = unpack_mix_"+s+"(a_"+a+", u_"+a+"_t);\n#else\n "+r+" "+i+" "+a+" = u_"+a+";\n#endif\n":"define"===e?"\n#ifndef HAS_UNIFORM_u_"+a+"\nuniform lowp float u_"+a+"_t;\nattribute "+r+" "+o+" a_"+a+";\n#else\nuniform "+r+" "+i+" u_"+a+";\n#endif\n":"vec4"===s?"\n#ifndef HAS_UNIFORM_u_"+a+"\n "+r+" "+i+" "+a+" = a_"+a+";\n#else\n "+r+" "+i+" "+a+" = u_"+a+";\n#endif\n":"\n#ifndef HAS_UNIFORM_u_"+a+"\n "+r+" "+i+" "+a+" = unpack_mix_"+s+"(a_"+a+", u_"+a+"_t);\n#else\n "+r+" "+i+" "+a+" = u_"+a+";\n#endif\n"}))}}var yr=Object.freeze({__proto__:null,prelude:Ge,background:Ye,backgroundPattern:We,circle:Xe,clippingMask:Ze,heatmap:Je,heatmapTexture:Ke,collisionBox:Qe,collisionCircle:$e,debug:tr,fill:er,fillOutline:rr,fillOutlinePattern:nr,fillPattern:ir,fillExtrusion:ar,fillExtrusionPattern:or,hillshadePrepare:sr,hillshade:lr,line:cr,lineGradient:ur,linePattern:fr,lineSDF:hr,raster:pr,symbolIcon:dr,symbolSDF:gr,symbolTextAndIcon:mr}),xr=function(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null};xr.prototype.bind=function(t,e,r,n,i,a,o,s){this.context=t;for(var l=this.boundPaintVertexBuffers.length!==n.length,c=0;!l&&c<n.length;c++)this.boundPaintVertexBuffers[c]!==n[c]&&(l=!0);t.extVertexArrayObject&&this.vao&&this.boundProgram===e&&this.boundLayoutVertexBuffer===r&&!l&&this.boundIndexBuffer===i&&this.boundVertexOffset===a&&this.boundDynamicVertexBuffer===o&&this.boundDynamicVertexBuffer2===s?(t.bindVertexArrayOES.set(this.vao),o&&o.bind(),i&&i.dynamicDraw&&i.bind(),s&&s.bind()):this.freshBind(e,r,n,i,a,o,s)},xr.prototype.freshBind=function(t,e,r,n,i,a,o){var s,l=t.numAttributes,c=this.context,u=c.gl;if(c.extVertexArrayObject)this.vao&&this.destroy(),this.vao=c.extVertexArrayObject.createVertexArrayOES(),c.bindVertexArrayOES.set(this.vao),s=0,this.boundProgram=t,this.boundLayoutVertexBuffer=e,this.boundPaintVertexBuffers=r,this.boundIndexBuffer=n,this.boundVertexOffset=i,this.boundDynamicVertexBuffer=a,this.boundDynamicVertexBuffer2=o;else{s=c.currentNumAttributes||0;for(var f=l;f<s;f++)u.disableVertexAttribArray(f)}e.enableAttributes(u,t);for(var h=0,p=r;h<p.length;h+=1)p[h].enableAttributes(u,t);a&&a.enableAttributes(u,t),o&&o.enableAttributes(u,t),e.bind(),e.setVertexAttribPointers(u,t,i);for(var d=0,g=r;d<g.length;d+=1){var m=g[d];m.bind(),m.setVertexAttribPointers(u,t,i)}a&&(a.bind(),a.setVertexAttribPointers(u,t,i)),n&&n.bind(),o&&(o.bind(),o.setVertexAttribPointers(u,t,i)),c.currentNumAttributes=l},xr.prototype.destroy=function(){this.vao&&(this.context.extVertexArrayObject.deleteVertexArrayOES(this.vao),this.vao=null)};var br=function(t,e,r,n,i){var a=t.gl;this.program=a.createProgram();var o=r?r.defines():[];i&&o.push("#define OVERDRAW_INSPECTOR;");var s=o.concat(Ge.fragmentSource,e.fragmentSource).join("\n"),l=o.concat(Ge.vertexSource,e.vertexSource).join("\n"),c=a.createShader(a.FRAGMENT_SHADER);if(a.isContextLost())this.failedToCreate=!0;else{a.shaderSource(c,s),a.compileShader(c),a.attachShader(this.program,c);var u=a.createShader(a.VERTEX_SHADER);if(a.isContextLost())this.failedToCreate=!0;else{a.shaderSource(u,l),a.compileShader(u),a.attachShader(this.program,u);for(var f=r?r.layoutAttributes:[],h=0;h<f.length;h++)a.bindAttribLocation(this.program,h,f[h].name);a.linkProgram(this.program),a.deleteShader(u),a.deleteShader(c),this.numAttributes=a.getProgramParameter(this.program,a.ACTIVE_ATTRIBUTES),this.attributes={};for(var p={},d=0;d<this.numAttributes;d++){var g=a.getActiveAttrib(this.program,d);g&&(this.attributes[g.name]=a.getAttribLocation(this.program,g.name))}for(var m=a.getProgramParameter(this.program,a.ACTIVE_UNIFORMS),v=0;v<m;v++){var y=a.getActiveUniform(this.program,v);y&&(p[y.name]=a.getUniformLocation(this.program,y.name))}this.fixedUniforms=n(t,p),this.binderUniforms=r?r.getUniforms(t,p):[]}}};function _r(t,e,r){var n=1/he(r,1,e.transform.tileZoom),i=Math.pow(2,r.tileID.overscaledZ),a=r.tileSize*Math.pow(2,e.transform.tileZoom)/i,o=a*(r.tileID.canonical.x+r.tileID.wrap*i),s=a*r.tileID.canonical.y;return{u_image:0,u_texsize:r.imageAtlasTexture.size,u_scale:[n,t.fromScale,t.toScale],u_fade:t.t,u_pixel_coord_upper:[o>>16,s>>16],u_pixel_coord_lower:[65535&o,65535&s]}}br.prototype.draw=function(t,e,r,n,i,a,o,s,l,c,u,f,h,p,d,g){var m,v=t.gl;if(!this.failedToCreate){for(var y in t.program.set(this.program),t.setDepthMode(r),t.setStencilMode(n),t.setColorMode(i),t.setCullFace(a),this.fixedUniforms)this.fixedUniforms[y].set(o[y]);p&&p.setUniforms(t,this.binderUniforms,f,{zoom:h});for(var x=(m={},m[v.LINES]=2,m[v.TRIANGLES]=3,m[v.LINE_STRIP]=1,m)[e],b=0,_=u.get();b<_.length;b+=1){var w=_[b],T=w.vaos||(w.vaos={});(T[s]||(T[s]=new xr)).bind(t,this,l,p?p.getPaintVertexBuffers():[],c,w.vertexOffset,d,g),v.drawElements(e,w.primitiveLength*x,v.UNSIGNED_SHORT,w.primitiveOffset*x*2)}}};var wr=function(e,r,n,i){var a=r.style.light,o=a.properties.get("position"),s=[o.x,o.y,o.z],l=t.create$1();"viewport"===a.properties.get("anchor")&&t.fromRotation(l,-r.transform.angle),t.transformMat3(s,s,l);var c=a.properties.get("color");return{u_matrix:e,u_lightpos:s,u_lightintensity:a.properties.get("intensity"),u_lightcolor:[c.r,c.g,c.b],u_vertical_gradient:+n,u_opacity:i}},Tr=function(e,r,n,i,a,o,s){return t.extend(wr(e,r,n,i),_r(o,r,s),{u_height_factor:-Math.pow(2,a.overscaledZ)/s.tileSize/8})},kr=function(t){return{u_matrix:t}},Mr=function(e,r,n,i){return t.extend(kr(e),_r(n,r,i))},Ar=function(t,e){return{u_matrix:t,u_world:e}},Sr=function(e,r,n,i,a){return t.extend(Mr(e,r,n,i),{u_world:a})},Er=function(e,r,n,i){var a,o,s=e.transform;if("map"===i.paint.get("circle-pitch-alignment")){var l=he(n,1,s.zoom);a=!0,o=[l,l]}else a=!1,o=s.pixelsToGLUnits;return{u_camera_to_center_distance:s.cameraToCenterDistance,u_scale_with_map:+("map"===i.paint.get("circle-pitch-scale")),u_matrix:e.translatePosMatrix(r.posMatrix,n,i.paint.get("circle-translate"),i.paint.get("circle-translate-anchor")),u_pitch_with_map:+a,u_device_pixel_ratio:t.browser.devicePixelRatio,u_extrude_scale:o}},Cr=function(t,e,r){var n=he(r,1,e.zoom),i=Math.pow(2,e.zoom-r.tileID.overscaledZ),a=r.tileID.overscaleFactor();return{u_matrix:t,u_camera_to_center_distance:e.cameraToCenterDistance,u_pixels_to_tile_units:n,u_extrude_scale:[e.pixelsToGLUnits[0]/(n*i),e.pixelsToGLUnits[1]/(n*i)],u_overscale_factor:a}},Lr=function(t,e,r){return{u_matrix:t,u_inv_matrix:e,u_camera_to_center_distance:r.cameraToCenterDistance,u_viewport_size:[r.width,r.height]}},Ir=function(t,e,r){return void 0===r&&(r=1),{u_matrix:t,u_color:e,u_overlay:0,u_overlay_scale:r}},Pr=function(t){return{u_matrix:t}},zr=function(t,e,r,n){return{u_matrix:t,u_extrude_scale:he(e,1,r),u_intensity:n}},Or=function(e,r,n){var i=e.transform;return{u_matrix:Nr(e,r,n),u_ratio:1/he(r,1,i.zoom),u_device_pixel_ratio:t.browser.devicePixelRatio,u_units_to_pixels:[1/i.pixelsToGLUnits[0],1/i.pixelsToGLUnits[1]]}},Dr=function(e,r,n){return t.extend(Or(e,r,n),{u_image:0})},Rr=function(e,r,n,i){var a=e.transform,o=Br(r,a);return{u_matrix:Nr(e,r,n),u_texsize:r.imageAtlasTexture.size,u_ratio:1/he(r,1,a.zoom),u_device_pixel_ratio:t.browser.devicePixelRatio,u_image:0,u_scale:[o,i.fromScale,i.toScale],u_fade:i.t,u_units_to_pixels:[1/a.pixelsToGLUnits[0],1/a.pixelsToGLUnits[1]]}},Fr=function(e,r,n,i,a){var o=e.lineAtlas,s=Br(r,e.transform),l="round"===n.layout.get("line-cap"),c=o.getDash(i.from,l),u=o.getDash(i.to,l),f=c.width*a.fromScale,h=u.width*a.toScale;return t.extend(Or(e,r,n),{u_patternscale_a:[s/f,-c.height/2],u_patternscale_b:[s/h,-u.height/2],u_sdfgamma:o.width/(256*Math.min(f,h)*t.browser.devicePixelRatio)/2,u_image:0,u_tex_y_a:c.y,u_tex_y_b:u.y,u_mix:a.t})};function Br(t,e){return 1/he(t,1,e.tileZoom)}function Nr(t,e,r){return t.translatePosMatrix(e.tileID.posMatrix,e,r.paint.get("line-translate"),r.paint.get("line-translate-anchor"))}var jr=function(t,e,r,n,i){return{u_matrix:t,u_tl_parent:e,u_scale_parent:r,u_buffer_scale:1,u_fade_t:n.mix,u_opacity:n.opacity*i.paint.get("raster-opacity"),u_image0:0,u_image1:1,u_brightness_low:i.paint.get("raster-brightness-min"),u_brightness_high:i.paint.get("raster-brightness-max"),u_saturation_factor:(o=i.paint.get("raster-saturation"),o>0?1-1/(1.001-o):-o),u_contrast_factor:(a=i.paint.get("raster-contrast"),a>0?1/(1-a):1+a),u_spin_weights:Ur(i.paint.get("raster-hue-rotate"))};var a,o};function Ur(t){t*=Math.PI/180;var e=Math.sin(t),r=Math.cos(t);return[(2*r+1)/3,(-Math.sqrt(3)*e-r+1)/3,(Math.sqrt(3)*e-r+1)/3]}var Vr,qr=function(t,e,r,n,i,a,o,s,l,c){var u=i.transform;return{u_is_size_zoom_constant:+("constant"===t||"source"===t),u_is_size_feature_constant:+("constant"===t||"camera"===t),u_size_t:e?e.uSizeT:0,u_size:e?e.uSize:0,u_camera_to_center_distance:u.cameraToCenterDistance,u_pitch:u.pitch/360*2*Math.PI,u_rotate_symbol:+r,u_aspect_ratio:u.width/u.height,u_fade_change:i.options.fadeDuration?i.symbolFadeChange:1,u_matrix:a,u_label_plane_matrix:o,u_coord_matrix:s,u_is_text:+l,u_pitch_with_map:+n,u_texsize:c,u_texture:0}},Hr=function(e,r,n,i,a,o,s,l,c,u,f){var h=a.transform;return t.extend(qr(e,r,n,i,a,o,s,l,c,u),{u_gamma_scale:i?Math.cos(h._pitch)*h.cameraToCenterDistance:1,u_device_pixel_ratio:t.browser.devicePixelRatio,u_is_halo:+f})},Gr=function(e,r,n,i,a,o,s,l,c,u){return t.extend(Hr(e,r,n,i,a,o,s,l,!0,c,!0),{u_texsize_icon:u,u_texture_icon:1})},Yr=function(t,e,r){return{u_matrix:t,u_opacity:e,u_color:r}},Wr=function(e,r,n,i,a,o){return t.extend(function(t,e,r,n){var i=r.imageManager.getPattern(t.from.toString()),a=r.imageManager.getPattern(t.to.toString()),o=r.imageManager.getPixelSize(),s=o.width,l=o.height,c=Math.pow(2,n.tileID.overscaledZ),u=n.tileSize*Math.pow(2,r.transform.tileZoom)/c,f=u*(n.tileID.canonical.x+n.tileID.wrap*c),h=u*n.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:i.tl,u_pattern_br_a:i.br,u_pattern_tl_b:a.tl,u_pattern_br_b:a.br,u_texsize:[s,l],u_mix:e.t,u_pattern_size_a:i.displaySize,u_pattern_size_b:a.displaySize,u_scale_a:e.fromScale,u_scale_b:e.toScale,u_tile_units_to_pixels:1/he(n,1,r.transform.tileZoom),u_pixel_coord_upper:[f>>16,h>>16],u_pixel_coord_lower:[65535&f,65535&h]}}(i,o,n,a),{u_matrix:e,u_opacity:r})},Xr={fillExtrusion:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_lightpos:new t.Uniform3f(e,r.u_lightpos),u_lightintensity:new t.Uniform1f(e,r.u_lightintensity),u_lightcolor:new t.Uniform3f(e,r.u_lightcolor),u_vertical_gradient:new t.Uniform1f(e,r.u_vertical_gradient),u_opacity:new t.Uniform1f(e,r.u_opacity)}},fillExtrusionPattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_lightpos:new t.Uniform3f(e,r.u_lightpos),u_lightintensity:new t.Uniform1f(e,r.u_lightintensity),u_lightcolor:new t.Uniform3f(e,r.u_lightcolor),u_vertical_gradient:new t.Uniform1f(e,r.u_vertical_gradient),u_height_factor:new t.Uniform1f(e,r.u_height_factor),u_image:new t.Uniform1i(e,r.u_image),u_texsize:new t.Uniform2f(e,r.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,r.u_pixel_coord_lower),u_scale:new t.Uniform3f(e,r.u_scale),u_fade:new t.Uniform1f(e,r.u_fade),u_opacity:new t.Uniform1f(e,r.u_opacity)}},fill:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},fillPattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_image:new t.Uniform1i(e,r.u_image),u_texsize:new t.Uniform2f(e,r.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,r.u_pixel_coord_lower),u_scale:new t.Uniform3f(e,r.u_scale),u_fade:new t.Uniform1f(e,r.u_fade)}},fillOutline:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_world:new t.Uniform2f(e,r.u_world)}},fillOutlinePattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_world:new t.Uniform2f(e,r.u_world),u_image:new t.Uniform1i(e,r.u_image),u_texsize:new t.Uniform2f(e,r.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,r.u_pixel_coord_lower),u_scale:new t.Uniform3f(e,r.u_scale),u_fade:new t.Uniform1f(e,r.u_fade)}},circle:function(e,r){return{u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_scale_with_map:new t.Uniform1i(e,r.u_scale_with_map),u_pitch_with_map:new t.Uniform1i(e,r.u_pitch_with_map),u_extrude_scale:new t.Uniform2f(e,r.u_extrude_scale),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},collisionBox:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_pixels_to_tile_units:new t.Uniform1f(e,r.u_pixels_to_tile_units),u_extrude_scale:new t.Uniform2f(e,r.u_extrude_scale),u_overscale_factor:new t.Uniform1f(e,r.u_overscale_factor)}},collisionCircle:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_inv_matrix:new t.UniformMatrix4f(e,r.u_inv_matrix),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_viewport_size:new t.Uniform2f(e,r.u_viewport_size)}},debug:function(e,r){return{u_color:new t.UniformColor(e,r.u_color),u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_overlay:new t.Uniform1i(e,r.u_overlay),u_overlay_scale:new t.Uniform1f(e,r.u_overlay_scale)}},clippingMask:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},heatmap:function(e,r){return{u_extrude_scale:new t.Uniform1f(e,r.u_extrude_scale),u_intensity:new t.Uniform1f(e,r.u_intensity),u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},heatmapTexture:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_world:new t.Uniform2f(e,r.u_world),u_image:new t.Uniform1i(e,r.u_image),u_color_ramp:new t.Uniform1i(e,r.u_color_ramp),u_opacity:new t.Uniform1f(e,r.u_opacity)}},hillshade:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_image:new t.Uniform1i(e,r.u_image),u_latrange:new t.Uniform2f(e,r.u_latrange),u_light:new t.Uniform2f(e,r.u_light),u_shadow:new t.UniformColor(e,r.u_shadow),u_highlight:new t.UniformColor(e,r.u_highlight),u_accent:new t.UniformColor(e,r.u_accent)}},hillshadePrepare:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_image:new t.Uniform1i(e,r.u_image),u_dimension:new t.Uniform2f(e,r.u_dimension),u_zoom:new t.Uniform1f(e,r.u_zoom),u_maxzoom:new t.Uniform1f(e,r.u_maxzoom),u_unpack:new t.Uniform4f(e,r.u_unpack)}},line:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_ratio:new t.Uniform1f(e,r.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,r.u_units_to_pixels)}},lineGradient:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_ratio:new t.Uniform1f(e,r.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,r.u_units_to_pixels),u_image:new t.Uniform1i(e,r.u_image)}},linePattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_texsize:new t.Uniform2f(e,r.u_texsize),u_ratio:new t.Uniform1f(e,r.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_image:new t.Uniform1i(e,r.u_image),u_units_to_pixels:new t.Uniform2f(e,r.u_units_to_pixels),u_scale:new t.Uniform3f(e,r.u_scale),u_fade:new t.Uniform1f(e,r.u_fade)}},lineSDF:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_ratio:new t.Uniform1f(e,r.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,r.u_units_to_pixels),u_patternscale_a:new t.Uniform2f(e,r.u_patternscale_a),u_patternscale_b:new t.Uniform2f(e,r.u_patternscale_b),u_sdfgamma:new t.Uniform1f(e,r.u_sdfgamma),u_image:new t.Uniform1i(e,r.u_image),u_tex_y_a:new t.Uniform1f(e,r.u_tex_y_a),u_tex_y_b:new t.Uniform1f(e,r.u_tex_y_b),u_mix:new t.Uniform1f(e,r.u_mix)}},raster:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_tl_parent:new t.Uniform2f(e,r.u_tl_parent),u_scale_parent:new t.Uniform1f(e,r.u_scale_parent),u_buffer_scale:new t.Uniform1f(e,r.u_buffer_scale),u_fade_t:new t.Uniform1f(e,r.u_fade_t),u_opacity:new t.Uniform1f(e,r.u_opacity),u_image0:new t.Uniform1i(e,r.u_image0),u_image1:new t.Uniform1i(e,r.u_image1),u_brightness_low:new t.Uniform1f(e,r.u_brightness_low),u_brightness_high:new t.Uniform1f(e,r.u_brightness_high),u_saturation_factor:new t.Uniform1f(e,r.u_saturation_factor),u_contrast_factor:new t.Uniform1f(e,r.u_contrast_factor),u_spin_weights:new t.Uniform3f(e,r.u_spin_weights)}},symbolIcon:function(e,r){return{u_is_size_zoom_constant:new t.Uniform1i(e,r.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,r.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,r.u_size_t),u_size:new t.Uniform1f(e,r.u_size),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,r.u_pitch),u_rotate_symbol:new t.Uniform1i(e,r.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,r.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,r.u_fade_change),u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,r.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,r.u_coord_matrix),u_is_text:new t.Uniform1i(e,r.u_is_text),u_pitch_with_map:new t.Uniform1i(e,r.u_pitch_with_map),u_texsize:new t.Uniform2f(e,r.u_texsize),u_texture:new t.Uniform1i(e,r.u_texture)}},symbolSDF:function(e,r){return{u_is_size_zoom_constant:new t.Uniform1i(e,r.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,r.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,r.u_size_t),u_size:new t.Uniform1f(e,r.u_size),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,r.u_pitch),u_rotate_symbol:new t.Uniform1i(e,r.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,r.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,r.u_fade_change),u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,r.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,r.u_coord_matrix),u_is_text:new t.Uniform1i(e,r.u_is_text),u_pitch_with_map:new t.Uniform1i(e,r.u_pitch_with_map),u_texsize:new t.Uniform2f(e,r.u_texsize),u_texture:new t.Uniform1i(e,r.u_texture),u_gamma_scale:new t.Uniform1f(e,r.u_gamma_scale),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_is_halo:new t.Uniform1i(e,r.u_is_halo)}},symbolTextAndIcon:function(e,r){return{u_is_size_zoom_constant:new t.Uniform1i(e,r.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,r.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,r.u_size_t),u_size:new t.Uniform1f(e,r.u_size),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,r.u_pitch),u_rotate_symbol:new t.Uniform1i(e,r.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,r.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,r.u_fade_change),u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,r.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,r.u_coord_matrix),u_is_text:new t.Uniform1i(e,r.u_is_text),u_pitch_with_map:new t.Uniform1i(e,r.u_pitch_with_map),u_texsize:new t.Uniform2f(e,r.u_texsize),u_texsize_icon:new t.Uniform2f(e,r.u_texsize_icon),u_texture:new t.Uniform1i(e,r.u_texture),u_texture_icon:new t.Uniform1i(e,r.u_texture_icon),u_gamma_scale:new t.Uniform1f(e,r.u_gamma_scale),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_is_halo:new t.Uniform1i(e,r.u_is_halo)}},background:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_opacity:new t.Uniform1f(e,r.u_opacity),u_color:new t.UniformColor(e,r.u_color)}},backgroundPattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_opacity:new t.Uniform1f(e,r.u_opacity),u_image:new t.Uniform1i(e,r.u_image),u_pattern_tl_a:new t.Uniform2f(e,r.u_pattern_tl_a),u_pattern_br_a:new t.Uniform2f(e,r.u_pattern_br_a),u_pattern_tl_b:new t.Uniform2f(e,r.u_pattern_tl_b),u_pattern_br_b:new t.Uniform2f(e,r.u_pattern_br_b),u_texsize:new t.Uniform2f(e,r.u_texsize),u_mix:new t.Uniform1f(e,r.u_mix),u_pattern_size_a:new t.Uniform2f(e,r.u_pattern_size_a),u_pattern_size_b:new t.Uniform2f(e,r.u_pattern_size_b),u_scale_a:new t.Uniform1f(e,r.u_scale_a),u_scale_b:new t.Uniform1f(e,r.u_scale_b),u_pixel_coord_upper:new t.Uniform2f(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,r.u_pixel_coord_lower),u_tile_units_to_pixels:new t.Uniform1f(e,r.u_tile_units_to_pixels)}}};function Zr(e,r,n,i,a,o,s){for(var l=e.context,c=l.gl,u=e.useProgram("collisionBox"),f=[],h=0,p=0,d=0;d<i.length;d++){var g=i[d],m=r.getTile(g),v=m.getBucket(n);if(v){var y=g.posMatrix;0===a[0]&&0===a[1]||(y=e.translatePosMatrix(g.posMatrix,m,a,o));var x=s?v.textCollisionBox:v.iconCollisionBox,b=v.collisionCircleArray;if(b.length>0){var _=t.create(),w=y;t.mul(_,v.placementInvProjMatrix,e.transform.glCoordMatrix),t.mul(_,_,v.placementViewportMatrix),f.push({circleArray:b,circleOffset:p,transform:w,invTransform:_}),p=h+=b.length/4}x&&u.draw(l,c.LINES,Mt.disabled,At.disabled,e.colorModeForRenderPass(),Et.disabled,Cr(y,e.transform,m),n.id,x.layoutVertexBuffer,x.indexBuffer,x.segments,null,e.transform.zoom,null,null,x.collisionVertexBuffer)}}if(s&&f.length){var T=e.useProgram("collisionCircle"),k=new t.StructArrayLayout2f1f2i16;k.resize(4*h),k._trim();for(var M=0,A=0,S=f;A<S.length;A+=1)for(var E=S[A],C=0;C<E.circleArray.length/4;C++){var L=4*C,I=E.circleArray[L+0],P=E.circleArray[L+1],z=E.circleArray[L+2],O=E.circleArray[L+3];k.emplace(M++,I,P,z,O,0),k.emplace(M++,I,P,z,O,1),k.emplace(M++,I,P,z,O,2),k.emplace(M++,I,P,z,O,3)}(!Vr||Vr.length<2*h)&&(Vr=function(e){var r=2*e,n=new t.StructArrayLayout3ui6;n.resize(r),n._trim();for(var i=0;i<r;i++){var a=6*i;n.uint16[a+0]=4*i+0,n.uint16[a+1]=4*i+1,n.uint16[a+2]=4*i+2,n.uint16[a+3]=4*i+2,n.uint16[a+4]=4*i+3,n.uint16[a+5]=4*i+0}return n}(h));for(var D=l.createIndexBuffer(Vr,!0),R=l.createVertexBuffer(k,t.collisionCircleLayout.members,!0),F=0,B=f;F<B.length;F+=1){var N=B[F],j=Lr(N.transform,N.invTransform,e.transform);T.draw(l,c.TRIANGLES,Mt.disabled,At.disabled,e.colorModeForRenderPass(),Et.disabled,j,n.id,R,D,t.SegmentVector.simpleSegment(0,2*N.circleOffset,N.circleArray.length,N.circleArray.length/2),null,e.transform.zoom,null,null,null)}R.destroy(),D.destroy()}}var Jr=t.identity(new Float32Array(16));function Kr(e,r,n,i,a,o){var s=t.getAnchorAlignment(e),l=-(s.horizontalAlign-.5)*r,c=-(s.verticalAlign-.5)*n,u=t.evaluateVariableOffset(e,i);return new t.Point((l/a+u[0])*o,(c/a+u[1])*o)}function Qr(e,r,n,i,a,o,s,l,c,u,f){var h=e.text.placedSymbolArray,p=e.text.dynamicLayoutVertexArray,d=e.icon.dynamicLayoutVertexArray,g={};p.clear();for(var m=0;m<h.length;m++){var v=h.get(m),y=v.hidden||!v.crossTileID||e.allowVerticalPlacement&&!v.placedOrientation?null:i[v.crossTileID];if(y){var x=new t.Point(v.anchorX,v.anchorY),b=$t(x,n?l:s),_=te(o.cameraToCenterDistance,b.signedDistanceFromCamera),w=a.evaluateSizeForFeature(e.textSizeData,u,v)*_/t.ONE_EM;n&&(w*=e.tilePixelRatio/c);for(var T=Kr(y.anchor,y.width,y.height,y.textOffset,y.textBoxScale,w),k=n?$t(x.add(T),s).point:b.point.add(r?T.rotate(-o.angle):T),M=e.allowVerticalPlacement&&v.placedOrientation===t.WritingMode.vertical?Math.PI/2:0,A=0;A<v.numGlyphs;A++)t.addDynamicAttributes(p,k,M);f&&v.associatedIconIndex>=0&&(g[v.associatedIconIndex]={shiftedAnchor:k,angle:M})}else ce(v.numGlyphs,p)}if(f){d.clear();for(var S=e.icon.placedSymbolArray,E=0;E<S.length;E++){var C=S.get(E);if(C.hidden)ce(C.numGlyphs,d);else{var L=g[E];if(L)for(var I=0;I<C.numGlyphs;I++)t.addDynamicAttributes(d,L.shiftedAnchor,L.angle);else ce(C.numGlyphs,d)}}e.icon.dynamicLayoutVertexBuffer.updateData(d)}e.text.dynamicLayoutVertexBuffer.updateData(p)}function $r(t,e,r){return r.iconsInText&&e?"symbolTextAndIcon":t?"symbolSDF":"symbolIcon"}function tn(e,r,n,i,a,o,s,l,c,u,f,h){for(var p=e.context,d=p.gl,g=e.transform,m="map"===l,v="map"===c,y=m&&"point"!==n.layout.get("symbol-placement"),x=m&&!v&&!y,b=void 0!==n.layout.get("symbol-sort-key").constantOr(1),_=e.depthModeForSublayer(0,Mt.ReadOnly),w=n.layout.get("text-variable-anchor"),T=[],k=0,M=i;k<M.length;k+=1){var A=M[k],S=r.getTile(A),E=S.getBucket(n);if(E){var C=a?E.text:E.icon;if(C&&C.segments.get().length){var L=C.programConfigurations.get(n.id),I=a||E.sdfIcons,P=a?E.textSizeData:E.iconSizeData,z=v||0!==g.pitch,O=e.useProgram($r(I,a,E),L),D=t.evaluateSizeForZoom(P,g.zoom),R=void 0,F=[0,0],B=void 0,N=void 0,j=null,U=void 0;if(a)B=S.glyphAtlasTexture,N=d.LINEAR,R=S.glyphAtlasTexture.size,E.iconsInText&&(F=S.imageAtlasTexture.size,j=S.imageAtlasTexture,U=z||e.options.rotating||e.options.zooming||"composite"===P.kind||"camera"===P.kind?d.LINEAR:d.NEAREST);else{var V=1!==n.layout.get("icon-size").constantOr(0)||E.iconsNeedLinear;B=S.imageAtlasTexture,N=I||e.options.rotating||e.options.zooming||V||z?d.LINEAR:d.NEAREST,R=S.imageAtlasTexture.size}var q=he(S,1,e.transform.zoom),H=Kt(A.posMatrix,v,m,e.transform,q),G=Qt(A.posMatrix,v,m,e.transform,q),Y=w&&E.hasTextData(),W="none"!==n.layout.get("icon-text-fit")&&Y&&E.hasIconData();y&&re(E,A.posMatrix,e,a,H,G,v,u);var X=e.translatePosMatrix(A.posMatrix,S,o,s),Z=y||a&&w||W?Jr:H,J=e.translatePosMatrix(G,S,o,s,!0),K=I&&0!==n.paint.get(a?"text-halo-width":"icon-halo-width").constantOr(1),Q={program:O,buffers:C,uniformValues:I?E.iconsInText?Gr(P.kind,D,x,v,e,X,Z,J,R,F):Hr(P.kind,D,x,v,e,X,Z,J,a,R,!0):qr(P.kind,D,x,v,e,X,Z,J,a,R),atlasTexture:B,atlasTextureIcon:j,atlasInterpolation:N,atlasInterpolationIcon:U,isSDF:I,hasHalo:K};if(b)for(var $=0,tt=C.segments.get();$<tt.length;$+=1){var et=tt[$];T.push({segments:new t.SegmentVector([et]),sortKey:et.sortKey,state:Q})}else T.push({segments:C.segments,sortKey:0,state:Q})}}}b&&T.sort((function(t,e){return t.sortKey-e.sortKey}));for(var rt=0,nt=T;rt<nt.length;rt+=1){var it=nt[rt],at=it.state;if(p.activeTexture.set(d.TEXTURE0),at.atlasTexture.bind(at.atlasInterpolation,d.CLAMP_TO_EDGE),at.atlasTextureIcon&&(p.activeTexture.set(d.TEXTURE1),at.atlasTextureIcon&&at.atlasTextureIcon.bind(at.atlasInterpolationIcon,d.CLAMP_TO_EDGE)),at.isSDF){var ot=at.uniformValues;at.hasHalo&&(ot.u_is_halo=1,en(at.buffers,it.segments,n,e,at.program,_,f,h,ot)),ot.u_is_halo=0}en(at.buffers,it.segments,n,e,at.program,_,f,h,at.uniformValues)}}function en(t,e,r,n,i,a,o,s,l){var c=n.context;i.draw(c,c.gl.TRIANGLES,a,o,s,Et.disabled,l,r.id,t.layoutVertexBuffer,t.indexBuffer,e,r.paint,n.transform.zoom,t.programConfigurations.get(r.id),t.dynamicLayoutVertexBuffer,t.opacityVertexBuffer)}function rn(t,e,r,n,i,a,o){var s,l,c,u,f,h=t.context.gl,p=r.paint.get("fill-pattern"),d=p&&p.constantOr(1),g=r.getCrossfadeParameters();o?(l=d&&!r.getPaintProperty("fill-outline-color")?"fillOutlinePattern":"fillOutline",s=h.LINES):(l=d?"fillPattern":"fill",s=h.TRIANGLES);for(var m=0,v=n;m<v.length;m+=1){var y=v[m],x=e.getTile(y);if(!d||x.patternsLoaded()){var b=x.getBucket(r);if(b){var _=b.programConfigurations.get(r.id),w=t.useProgram(l,_);d&&(t.context.activeTexture.set(h.TEXTURE0),x.imageAtlasTexture.bind(h.LINEAR,h.CLAMP_TO_EDGE),_.updatePaintBuffers(g));var T=p.constantOr(null);if(T&&x.imageAtlas){var k=x.imageAtlas,M=k.patternPositions[T.to.toString()],A=k.patternPositions[T.from.toString()];M&&A&&_.setConstantPatternPositions(M,A)}var S=t.translatePosMatrix(y.posMatrix,x,r.paint.get("fill-translate"),r.paint.get("fill-translate-anchor"));if(o){u=b.indexBuffer2,f=b.segments2;var E=[h.drawingBufferWidth,h.drawingBufferHeight];c="fillOutlinePattern"===l&&d?Sr(S,t,g,x,E):Ar(S,E)}else u=b.indexBuffer,f=b.segments,c=d?Mr(S,t,g,x):kr(S);w.draw(t.context,s,i,t.stencilModeForClipping(y),a,Et.disabled,c,r.id,b.layoutVertexBuffer,u,f,r.paint,t.transform.zoom,_)}}}}function nn(t,e,r,n,i,a,o){for(var s=t.context,l=s.gl,c=r.paint.get("fill-extrusion-pattern"),u=c.constantOr(1),f=r.getCrossfadeParameters(),h=r.paint.get("fill-extrusion-opacity"),p=0,d=n;p<d.length;p+=1){var g=d[p],m=e.getTile(g),v=m.getBucket(r);if(v){var y=v.programConfigurations.get(r.id),x=t.useProgram(u?"fillExtrusionPattern":"fillExtrusion",y);u&&(t.context.activeTexture.set(l.TEXTURE0),m.imageAtlasTexture.bind(l.LINEAR,l.CLAMP_TO_EDGE),y.updatePaintBuffers(f));var b=c.constantOr(null);if(b&&m.imageAtlas){var _=m.imageAtlas,w=_.patternPositions[b.to.toString()],T=_.patternPositions[b.from.toString()];w&&T&&y.setConstantPatternPositions(w,T)}var k=t.translatePosMatrix(g.posMatrix,m,r.paint.get("fill-extrusion-translate"),r.paint.get("fill-extrusion-translate-anchor")),M=r.paint.get("fill-extrusion-vertical-gradient"),A=u?Tr(k,t,M,h,g,f,m):wr(k,t,M,h);x.draw(s,s.gl.TRIANGLES,i,a,o,Et.backCCW,A,r.id,v.layoutVertexBuffer,v.indexBuffer,v.segments,r.paint,t.transform.zoom,y)}}}function an(e,r,n,i,a,o){var s=e.context,l=s.gl,c=r.fbo;if(c){var u=e.useProgram("hillshade");s.activeTexture.set(l.TEXTURE0),l.bindTexture(l.TEXTURE_2D,c.colorAttachment.get());var f=function(e,r,n){var i=n.paint.get("hillshade-shadow-color"),a=n.paint.get("hillshade-highlight-color"),o=n.paint.get("hillshade-accent-color"),s=n.paint.get("hillshade-illumination-direction")*(Math.PI/180);"viewport"===n.paint.get("hillshade-illumination-anchor")&&(s-=e.transform.angle);var l,c,u,f=!e.options.moving;return{u_matrix:e.transform.calculatePosMatrix(r.tileID.toUnwrapped(),f),u_image:0,u_latrange:(l=r.tileID,c=Math.pow(2,l.canonical.z),u=l.canonical.y,[new t.MercatorCoordinate(0,u/c).toLngLat().lat,new t.MercatorCoordinate(0,(u+1)/c).toLngLat().lat]),u_light:[n.paint.get("hillshade-exaggeration"),s],u_shadow:i,u_highlight:a,u_accent:o}}(e,r,n);u.draw(s,l.TRIANGLES,i,a,o,Et.disabled,f,n.id,e.rasterBoundsBuffer,e.quadTriangleIndexBuffer,e.rasterBoundsSegments)}}function on(e,r,n,i,a,o,s){var l=e.context,c=l.gl,u=r.dem;if(u&&u.data){var f=u.dim,h=u.stride,p=u.getPixels();if(l.activeTexture.set(c.TEXTURE1),l.pixelStoreUnpackPremultiplyAlpha.set(!1),r.demTexture=r.demTexture||e.getTileTexture(h),r.demTexture){var d=r.demTexture;d.update(p,{premultiply:!1}),d.bind(c.NEAREST,c.CLAMP_TO_EDGE)}else r.demTexture=new t.Texture(l,p,c.RGBA,{premultiply:!1}),r.demTexture.bind(c.NEAREST,c.CLAMP_TO_EDGE);l.activeTexture.set(c.TEXTURE0);var g=r.fbo;if(!g){var m=new t.Texture(l,{width:f,height:f,data:null},c.RGBA);m.bind(c.LINEAR,c.CLAMP_TO_EDGE),(g=r.fbo=l.createFramebuffer(f,f,!0)).colorAttachment.set(m.texture)}l.bindFramebuffer.set(g.framebuffer),l.viewport.set([0,0,f,f]),e.useProgram("hillshadePrepare").draw(l,c.TRIANGLES,a,o,s,Et.disabled,function(e,r,n){var i=r.stride,a=t.create();return t.ortho(a,0,t.EXTENT,-t.EXTENT,0,0,1),t.translate(a,a,[0,-t.EXTENT,0]),{u_matrix:a,u_image:1,u_dimension:[i,i],u_zoom:e.overscaledZ,u_maxzoom:n,u_unpack:r.getUnpackVector()}}(r.tileID,u,i),n.id,e.rasterBoundsBuffer,e.quadTriangleIndexBuffer,e.rasterBoundsSegments),r.needsHillshadePrepare=!1}}function sn(e,r,n,i,a){var o=i.paint.get("raster-fade-duration");if(o>0){var s=t.browser.now(),l=(s-e.timeAdded)/o,c=r?(s-r.timeAdded)/o:-1,u=n.getSource(),f=a.coveringZoomLevel({tileSize:u.tileSize,roundZoom:u.roundZoom}),h=!r||Math.abs(r.tileID.overscaledZ-f)>Math.abs(e.tileID.overscaledZ-f),p=h&&e.refreshedUponExpiration?1:t.clamp(h?l:1-c,0,1);return e.refreshedUponExpiration&&l>=1&&(e.refreshedUponExpiration=!1),r?{opacity:1,mix:1-p}:{opacity:p,mix:0}}return{opacity:1,mix:0}}var ln=new t.Color(1,0,0,1),cn=new t.Color(0,1,0,1),un=new t.Color(0,0,1,1),fn=new t.Color(1,0,1,1),hn=new t.Color(0,1,1,1);function pn(t,e,r,n){gn(t,0,e+r/2,t.transform.width,r,n)}function dn(t,e,r,n){gn(t,e-r/2,0,r,t.transform.height,n)}function gn(e,r,n,i,a,o){var s=e.context,l=s.gl;l.enable(l.SCISSOR_TEST),l.scissor(r*t.browser.devicePixelRatio,n*t.browser.devicePixelRatio,i*t.browser.devicePixelRatio,a*t.browser.devicePixelRatio),s.clear({color:o}),l.disable(l.SCISSOR_TEST)}function mn(e,r,n){var i=e.context,a=i.gl,o=n.posMatrix,s=e.useProgram("debug"),l=Mt.disabled,c=At.disabled,u=e.colorModeForRenderPass();i.activeTexture.set(a.TEXTURE0),e.emptyTexture.bind(a.LINEAR,a.CLAMP_TO_EDGE),s.draw(i,a.LINE_STRIP,l,c,u,Et.disabled,Ir(o,t.Color.red),"$debug",e.debugBuffer,e.tileBorderIndexBuffer,e.debugSegments);var f=r.getTileByID(n.key).latestRawTileData,h=Math.floor((f&&f.byteLength||0)/1024),p=r.getTile(n).tileSize,d=512/Math.min(p,512)*(n.overscaledZ/e.transform.zoom)*.5,g=n.canonical.toString();n.overscaledZ!==n.canonical.z&&(g+=" => "+n.overscaledZ),function(t,e){t.initDebugOverlayCanvas();var r=t.debugOverlayCanvas,n=t.context.gl,i=t.debugOverlayCanvas.getContext("2d");i.clearRect(0,0,r.width,r.height),i.shadowColor="white",i.shadowBlur=2,i.lineWidth=1.5,i.strokeStyle="white",i.textBaseline="top",i.font="bold 36px Open Sans, sans-serif",i.fillText(e,5,5),i.strokeText(e,5,5),t.debugOverlayTexture.update(r),t.debugOverlayTexture.bind(n.LINEAR,n.CLAMP_TO_EDGE)}(e,g+" "+h+"kb"),s.draw(i,a.TRIANGLES,l,c,St.alphaBlended,Et.disabled,Ir(o,t.Color.transparent,d),"$debug",e.debugBuffer,e.quadTriangleIndexBuffer,e.debugSegments)}var vn={symbol:function(e,r,n,i,a){if("translucent"===e.renderPass){var o=At.disabled,s=e.colorModeForRenderPass();n.layout.get("text-variable-anchor")&&function(e,r,n,i,a,o,s){for(var l=r.transform,c="map"===a,u="map"===o,f=0,h=e;f<h.length;f+=1){var p=h[f],d=i.getTile(p),g=d.getBucket(n);if(g&&g.text&&g.text.segments.get().length){var m=t.evaluateSizeForZoom(g.textSizeData,l.zoom),v=he(d,1,r.transform.zoom),y=Kt(p.posMatrix,u,c,r.transform,v),x="none"!==n.layout.get("icon-text-fit")&&g.hasIconData();if(m){var b=Math.pow(2,l.zoom-d.tileID.overscaledZ);Qr(g,c,u,s,t.symbolSize,l,y,p.posMatrix,b,m,x)}}}}(i,e,n,r,n.layout.get("text-rotation-alignment"),n.layout.get("text-pitch-alignment"),a),0!==n.paint.get("icon-opacity").constantOr(1)&&tn(e,r,n,i,!1,n.paint.get("icon-translate"),n.paint.get("icon-translate-anchor"),n.layout.get("icon-rotation-alignment"),n.layout.get("icon-pitch-alignment"),n.layout.get("icon-keep-upright"),o,s),0!==n.paint.get("text-opacity").constantOr(1)&&tn(e,r,n,i,!0,n.paint.get("text-translate"),n.paint.get("text-translate-anchor"),n.layout.get("text-rotation-alignment"),n.layout.get("text-pitch-alignment"),n.layout.get("text-keep-upright"),o,s),r.map.showCollisionBoxes&&(Zr(e,r,n,i,n.paint.get("text-translate"),n.paint.get("text-translate-anchor"),!0),Zr(e,r,n,i,n.paint.get("icon-translate"),n.paint.get("icon-translate-anchor"),!1))}},circle:function(e,r,n,i){if("translucent"===e.renderPass){var a=n.paint.get("circle-opacity"),o=n.paint.get("circle-stroke-width"),s=n.paint.get("circle-stroke-opacity"),l=void 0!==n.layout.get("circle-sort-key").constantOr(1);if(0!==a.constantOr(1)||0!==o.constantOr(1)&&0!==s.constantOr(1)){for(var c=e.context,u=c.gl,f=e.depthModeForSublayer(0,Mt.ReadOnly),h=At.disabled,p=e.colorModeForRenderPass(),d=[],g=0;g<i.length;g++){var m=i[g],v=r.getTile(m),y=v.getBucket(n);if(y){var x=y.programConfigurations.get(n.id),b={programConfiguration:x,program:e.useProgram("circle",x),layoutVertexBuffer:y.layoutVertexBuffer,indexBuffer:y.indexBuffer,uniformValues:Er(e,m,v,n)};if(l)for(var _=0,w=y.segments.get();_<w.length;_+=1){var T=w[_];d.push({segments:new t.SegmentVector([T]),sortKey:T.sortKey,state:b})}else d.push({segments:y.segments,sortKey:0,state:b})}}l&&d.sort((function(t,e){return t.sortKey-e.sortKey}));for(var k=0,M=d;k<M.length;k+=1){var A=M[k],S=A.state;S.program.draw(c,u.TRIANGLES,f,h,p,Et.disabled,S.uniformValues,n.id,S.layoutVertexBuffer,S.indexBuffer,A.segments,n.paint,e.transform.zoom,S.programConfiguration)}}}},heatmap:function(e,r,n,i){if(0!==n.paint.get("heatmap-opacity"))if("offscreen"===e.renderPass){var a=e.context,o=a.gl,s=At.disabled,l=new St([o.ONE,o.ONE],t.Color.transparent,[!0,!0,!0,!0]);!function(t,e,r){var n=t.gl;t.activeTexture.set(n.TEXTURE1),t.viewport.set([0,0,e.width/4,e.height/4]);var i=r.heatmapFbo;if(i)n.bindTexture(n.TEXTURE_2D,i.colorAttachment.get()),t.bindFramebuffer.set(i.framebuffer);else{var a=n.createTexture();n.bindTexture(n.TEXTURE_2D,a),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,n.LINEAR),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,n.LINEAR),i=r.heatmapFbo=t.createFramebuffer(e.width/4,e.height/4,!1),function(t,e,r,n){var i=t.gl;i.texImage2D(i.TEXTURE_2D,0,i.RGBA,e.width/4,e.height/4,0,i.RGBA,t.extRenderToTextureHalfFloat?t.extTextureHalfFloat.HALF_FLOAT_OES:i.UNSIGNED_BYTE,null),n.colorAttachment.set(r)}(t,e,a,i)}}(a,e,n),a.clear({color:t.Color.transparent});for(var c=0;c<i.length;c++){var u=i[c];if(!r.hasRenderableParent(u)){var f=r.getTile(u),h=f.getBucket(n);if(h){var p=h.programConfigurations.get(n.id);e.useProgram("heatmap",p).draw(a,o.TRIANGLES,Mt.disabled,s,l,Et.disabled,zr(u.posMatrix,f,e.transform.zoom,n.paint.get("heatmap-intensity")),n.id,h.layoutVertexBuffer,h.indexBuffer,h.segments,n.paint,e.transform.zoom,p)}}}a.viewport.set([0,0,e.width,e.height])}else"translucent"===e.renderPass&&(e.context.setColorMode(e.colorModeForRenderPass()),function(e,r){var n=e.context,i=n.gl,a=r.heatmapFbo;if(a){n.activeTexture.set(i.TEXTURE0),i.bindTexture(i.TEXTURE_2D,a.colorAttachment.get()),n.activeTexture.set(i.TEXTURE1);var o=r.colorRampTexture;o||(o=r.colorRampTexture=new t.Texture(n,r.colorRamp,i.RGBA)),o.bind(i.LINEAR,i.CLAMP_TO_EDGE),e.useProgram("heatmapTexture").draw(n,i.TRIANGLES,Mt.disabled,At.disabled,e.colorModeForRenderPass(),Et.disabled,function(e,r,n,i){var a=t.create();t.ortho(a,0,e.width,e.height,0,0,1);var o=e.context.gl;return{u_matrix:a,u_world:[o.drawingBufferWidth,o.drawingBufferHeight],u_image:0,u_color_ramp:1,u_opacity:r.paint.get("heatmap-opacity")}}(e,r),r.id,e.viewportBuffer,e.quadTriangleIndexBuffer,e.viewportSegments,r.paint,e.transform.zoom)}}(e,n))},line:function(e,r,n,i){if("translucent"===e.renderPass){var a=n.paint.get("line-opacity"),o=n.paint.get("line-width");if(0!==a.constantOr(1)&&0!==o.constantOr(1)){var s=e.depthModeForSublayer(0,Mt.ReadOnly),l=e.colorModeForRenderPass(),c=n.paint.get("line-dasharray"),u=n.paint.get("line-pattern"),f=u.constantOr(1),h=n.paint.get("line-gradient"),p=n.getCrossfadeParameters(),d=f?"linePattern":c?"lineSDF":h?"lineGradient":"line",g=e.context,m=g.gl,v=!0;if(h){g.activeTexture.set(m.TEXTURE0);var y=n.gradientTexture;if(!n.gradient)return;y||(y=n.gradientTexture=new t.Texture(g,n.gradient,m.RGBA)),y.bind(m.LINEAR,m.CLAMP_TO_EDGE)}for(var x=0,b=i;x<b.length;x+=1){var _=b[x],w=r.getTile(_);if(!f||w.patternsLoaded()){var T=w.getBucket(n);if(T){var k=T.programConfigurations.get(n.id),M=e.context.program.get(),A=e.useProgram(d,k),S=v||A.program!==M,E=u.constantOr(null);if(E&&w.imageAtlas){var C=w.imageAtlas,L=C.patternPositions[E.to.toString()],I=C.patternPositions[E.from.toString()];L&&I&&k.setConstantPatternPositions(L,I)}var P=f?Rr(e,w,n,p):c?Fr(e,w,n,c,p):h?Dr(e,w,n):Or(e,w,n);f?(g.activeTexture.set(m.TEXTURE0),w.imageAtlasTexture.bind(m.LINEAR,m.CLAMP_TO_EDGE),k.updatePaintBuffers(p)):c&&(S||e.lineAtlas.dirty)&&(g.activeTexture.set(m.TEXTURE0),e.lineAtlas.bind(g)),A.draw(g,m.TRIANGLES,s,e.stencilModeForClipping(_),l,Et.disabled,P,n.id,T.layoutVertexBuffer,T.indexBuffer,T.segments,n.paint,e.transform.zoom,k),v=!1}}}}}},fill:function(e,r,n,i){var a=n.paint.get("fill-color"),o=n.paint.get("fill-opacity");if(0!==o.constantOr(1)){var s=e.colorModeForRenderPass(),l=n.paint.get("fill-pattern"),c=e.opaquePassEnabledForLayer()&&!l.constantOr(1)&&1===a.constantOr(t.Color.transparent).a&&1===o.constantOr(0)?"opaque":"translucent";if(e.renderPass===c){var u=e.depthModeForSublayer(1,"opaque"===e.renderPass?Mt.ReadWrite:Mt.ReadOnly);rn(e,r,n,i,u,s,!1)}if("translucent"===e.renderPass&&n.paint.get("fill-antialias")){var f=e.depthModeForSublayer(n.getPaintProperty("fill-outline-color")?2:0,Mt.ReadOnly);rn(e,r,n,i,f,s,!0)}}},"fill-extrusion":function(t,e,r,n){var i=r.paint.get("fill-extrusion-opacity");if(0!==i&&"translucent"===t.renderPass){var a=new Mt(t.context.gl.LEQUAL,Mt.ReadWrite,t.depthRangeFor3D);if(1!==i||r.paint.get("fill-extrusion-pattern").constantOr(1))nn(t,e,r,n,a,At.disabled,St.disabled),nn(t,e,r,n,a,t.stencilModeFor3D(),t.colorModeForRenderPass());else{var o=t.colorModeForRenderPass();nn(t,e,r,n,a,At.disabled,o)}}},hillshade:function(t,e,r,n){if("offscreen"===t.renderPass||"translucent"===t.renderPass){for(var i=t.context,a=e.getSource().maxzoom,o=t.depthModeForSublayer(0,Mt.ReadOnly),s=t.colorModeForRenderPass(),l="translucent"===t.renderPass?t.stencilConfigForOverlap(n):[{},n],c=l[0],u=0,f=l[1];u<f.length;u+=1){var h=f[u],p=e.getTile(h);p.needsHillshadePrepare&&"offscreen"===t.renderPass?on(t,p,r,a,o,At.disabled,s):"translucent"===t.renderPass&&an(t,p,r,o,c[h.overscaledZ],s)}i.viewport.set([0,0,t.width,t.height])}},raster:function(t,e,r,n){if("translucent"===t.renderPass&&0!==r.paint.get("raster-opacity")&&n.length)for(var i=t.context,a=i.gl,o=e.getSource(),s=t.useProgram("raster"),l=t.colorModeForRenderPass(),c=o instanceof P?[{},n]:t.stencilConfigForOverlap(n),u=c[0],f=c[1],h=f[f.length-1].overscaledZ,p=!t.options.moving,d=0,g=f;d<g.length;d+=1){var m=g[d],v=t.depthModeForSublayer(m.overscaledZ-h,1===r.paint.get("raster-opacity")?Mt.ReadWrite:Mt.ReadOnly,a.LESS),y=e.getTile(m),x=t.transform.calculatePosMatrix(m.toUnwrapped(),p);y.registerFadeDuration(r.paint.get("raster-fade-duration"));var b=e.findLoadedParent(m,0),_=sn(y,b,e,r,t.transform),w=void 0,T=void 0,k="nearest"===r.paint.get("raster-resampling")?a.NEAREST:a.LINEAR;i.activeTexture.set(a.TEXTURE0),y.texture.bind(k,a.CLAMP_TO_EDGE,a.LINEAR_MIPMAP_NEAREST),i.activeTexture.set(a.TEXTURE1),b?(b.texture.bind(k,a.CLAMP_TO_EDGE,a.LINEAR_MIPMAP_NEAREST),w=Math.pow(2,b.tileID.overscaledZ-y.tileID.overscaledZ),T=[y.tileID.canonical.x*w%1,y.tileID.canonical.y*w%1]):y.texture.bind(k,a.CLAMP_TO_EDGE,a.LINEAR_MIPMAP_NEAREST);var M=jr(x,T||[0,0],w||1,_,r);o instanceof P?s.draw(i,a.TRIANGLES,v,At.disabled,l,Et.disabled,M,r.id,o.boundsBuffer,t.quadTriangleIndexBuffer,o.boundsSegments):s.draw(i,a.TRIANGLES,v,u[m.overscaledZ],l,Et.disabled,M,r.id,t.rasterBoundsBuffer,t.quadTriangleIndexBuffer,t.rasterBoundsSegments)}},background:function(t,e,r){var n=r.paint.get("background-color"),i=r.paint.get("background-opacity");if(0!==i){var a=t.context,o=a.gl,s=t.transform,l=s.tileSize,c=r.paint.get("background-pattern");if(!t.isPatternMissing(c)){var u=!c&&1===n.a&&1===i&&t.opaquePassEnabledForLayer()?"opaque":"translucent";if(t.renderPass===u){var f=At.disabled,h=t.depthModeForSublayer(0,"opaque"===u?Mt.ReadWrite:Mt.ReadOnly),p=t.colorModeForRenderPass(),d=t.useProgram(c?"backgroundPattern":"background"),g=s.coveringTiles({tileSize:l});c&&(a.activeTexture.set(o.TEXTURE0),t.imageManager.bind(t.context));for(var m=r.getCrossfadeParameters(),v=0,y=g;v<y.length;v+=1){var x=y[v],b=t.transform.calculatePosMatrix(x.toUnwrapped()),_=c?Wr(b,i,t,c,{tileID:x,tileSize:l},m):Yr(b,i,n);d.draw(a,o.TRIANGLES,h,f,p,Et.disabled,_,r.id,t.tileExtentBuffer,t.quadTriangleIndexBuffer,t.tileExtentSegments)}}}}},debug:function(t,e,r){for(var n=0;n<r.length;n++)mn(t,e,r[n])},custom:function(t,e,r){var n=t.context,i=r.implementation;if("offscreen"===t.renderPass){var a=i.prerender;a&&(t.setCustomLayerDefaults(),n.setColorMode(t.colorModeForRenderPass()),a.call(i,n.gl,t.transform.customLayerMatrix()),n.setDirty(),t.setBaseState())}else if("translucent"===t.renderPass){t.setCustomLayerDefaults(),n.setColorMode(t.colorModeForRenderPass()),n.setStencilMode(At.disabled);var o="3d"===i.renderingMode?new Mt(t.context.gl.LEQUAL,Mt.ReadWrite,t.depthRangeFor3D):t.depthModeForSublayer(0,Mt.ReadOnly);n.setDepthMode(o),i.render(n.gl,t.transform.customLayerMatrix()),n.setDirty(),t.setBaseState(),n.bindFramebuffer.set(null)}}},yn=function(t,e){this.context=new Ct(t),this.transform=e,this._tileTextures={},this.setup(),this.numSublayers=Lt.maxUnderzooming+Lt.maxOverzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.crossTileSymbolIndex=new Be,this.gpuTimers={}};yn.prototype.resize=function(e,r){if(this.width=e*t.browser.devicePixelRatio,this.height=r*t.browser.devicePixelRatio,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(var n=0,i=this.style._order;n<i.length;n+=1)this.style._layers[i[n]].resize()},yn.prototype.setup=function(){var e=this.context,r=new t.StructArrayLayout2i4;r.emplaceBack(0,0),r.emplaceBack(t.EXTENT,0),r.emplaceBack(0,t.EXTENT),r.emplaceBack(t.EXTENT,t.EXTENT),this.tileExtentBuffer=e.createVertexBuffer(r,He.members),this.tileExtentSegments=t.SegmentVector.simpleSegment(0,0,4,2);var n=new t.StructArrayLayout2i4;n.emplaceBack(0,0),n.emplaceBack(t.EXTENT,0),n.emplaceBack(0,t.EXTENT),n.emplaceBack(t.EXTENT,t.EXTENT),this.debugBuffer=e.createVertexBuffer(n,He.members),this.debugSegments=t.SegmentVector.simpleSegment(0,0,4,5);var i=new t.StructArrayLayout4i8;i.emplaceBack(0,0,0,0),i.emplaceBack(t.EXTENT,0,t.EXTENT,0),i.emplaceBack(0,t.EXTENT,0,t.EXTENT),i.emplaceBack(t.EXTENT,t.EXTENT,t.EXTENT,t.EXTENT),this.rasterBoundsBuffer=e.createVertexBuffer(i,I.members),this.rasterBoundsSegments=t.SegmentVector.simpleSegment(0,0,4,2);var a=new t.StructArrayLayout2i4;a.emplaceBack(0,0),a.emplaceBack(1,0),a.emplaceBack(0,1),a.emplaceBack(1,1),this.viewportBuffer=e.createVertexBuffer(a,He.members),this.viewportSegments=t.SegmentVector.simpleSegment(0,0,4,2);var o=new t.StructArrayLayout1ui2;o.emplaceBack(0),o.emplaceBack(1),o.emplaceBack(3),o.emplaceBack(2),o.emplaceBack(0),this.tileBorderIndexBuffer=e.createIndexBuffer(o);var s=new t.StructArrayLayout3ui6;s.emplaceBack(0,1,2),s.emplaceBack(2,1,3),this.quadTriangleIndexBuffer=e.createIndexBuffer(s),this.emptyTexture=new t.Texture(e,{width:1,height:1,data:new Uint8Array([0,0,0,0])},e.gl.RGBA);var l=this.context.gl;this.stencilClearMode=new At({func:l.ALWAYS,mask:0},0,255,l.ZERO,l.ZERO,l.ZERO)},yn.prototype.clearStencil=function(){var e=this.context,r=e.gl;this.nextStencilID=1,this.currentStencilSource=void 0;var n=t.create();t.ortho(n,0,this.width,this.height,0,0,1),t.scale(n,n,[r.drawingBufferWidth,r.drawingBufferHeight,0]),this.useProgram("clippingMask").draw(e,r.TRIANGLES,Mt.disabled,this.stencilClearMode,St.disabled,Et.disabled,Pr(n),"$clipping",this.viewportBuffer,this.quadTriangleIndexBuffer,this.viewportSegments)},yn.prototype._renderTileClippingMasks=function(t,e){if(this.currentStencilSource!==t.source&&t.isTileClipped()&&e&&e.length){this.currentStencilSource=t.source;var r=this.context,n=r.gl;this.nextStencilID+e.length>256&&this.clearStencil(),r.setColorMode(St.disabled),r.setDepthMode(Mt.disabled);var i=this.useProgram("clippingMask");this._tileClippingMaskIDs={};for(var a=0,o=e;a<o.length;a+=1){var s=o[a],l=this._tileClippingMaskIDs[s.key]=this.nextStencilID++;i.draw(r,n.TRIANGLES,Mt.disabled,new At({func:n.ALWAYS,mask:0},l,255,n.KEEP,n.KEEP,n.REPLACE),St.disabled,Et.disabled,Pr(s.posMatrix),"$clipping",this.tileExtentBuffer,this.quadTriangleIndexBuffer,this.tileExtentSegments)}}},yn.prototype.stencilModeFor3D=function(){this.currentStencilSource=void 0,this.nextStencilID+1>256&&this.clearStencil();var t=this.nextStencilID++,e=this.context.gl;return new At({func:e.NOTEQUAL,mask:255},t,255,e.KEEP,e.KEEP,e.REPLACE)},yn.prototype.stencilModeForClipping=function(t){var e=this.context.gl;return new At({func:e.EQUAL,mask:255},this._tileClippingMaskIDs[t.key],0,e.KEEP,e.KEEP,e.REPLACE)},yn.prototype.stencilConfigForOverlap=function(t){var e,r=this.context.gl,n=t.sort((function(t,e){return e.overscaledZ-t.overscaledZ})),i=n[n.length-1].overscaledZ,a=n[0].overscaledZ-i+1;if(a>1){this.currentStencilSource=void 0,this.nextStencilID+a>256&&this.clearStencil();for(var o={},s=0;s<a;s++)o[s+i]=new At({func:r.GEQUAL,mask:255},s+this.nextStencilID,255,r.KEEP,r.KEEP,r.REPLACE);return this.nextStencilID+=a,[o,n]}return[(e={},e[i]=At.disabled,e),n]},yn.prototype.colorModeForRenderPass=function(){var e=this.context.gl;return this._showOverdrawInspector?new St([e.CONSTANT_COLOR,e.ONE],new t.Color(1/8,1/8,1/8,0),[!0,!0,!0,!0]):"opaque"===this.renderPass?St.unblended:St.alphaBlended},yn.prototype.depthModeForSublayer=function(t,e,r){if(!this.opaquePassEnabledForLayer())return Mt.disabled;var n=1-((1+this.currentLayer)*this.numSublayers+t)*this.depthEpsilon;return new Mt(r||this.context.gl.LEQUAL,e,[n,n])},yn.prototype.opaquePassEnabledForLayer=function(){return this.currentLayer<this.opaquePassCutoff},yn.prototype.render=function(e,r){var n=this;this.style=e,this.options=r,this.lineAtlas=e.lineAtlas,this.imageManager=e.imageManager,this.glyphManager=e.glyphManager,this.symbolFadeChange=e.placement.symbolFadeChange(t.browser.now()),this.imageManager.beginFrame();var i=this.style._order,a=this.style.sourceCaches;for(var o in a){var s=a[o];s.used&&s.prepare(this.context)}var l,c,u={},f={},h={};for(var p in a){var d=a[p];u[p]=d.getVisibleCoordinates(),f[p]=u[p].slice().reverse(),h[p]=d.getVisibleCoordinates(!0).reverse()}this.opaquePassCutoff=1/0;for(var g=0;g<i.length;g++)if(this.style._layers[i[g]].is3D()){this.opaquePassCutoff=g;break}this.renderPass="offscreen";for(var m=0,v=i;m<v.length;m+=1){var y=this.style._layers[v[m]];if(y.hasOffscreenPass()&&!y.isHidden(this.transform.zoom)){var x=f[y.source];("custom"===y.type||x.length)&&this.renderLayer(this,a[y.source],y,x)}}for(this.context.bindFramebuffer.set(null),this.context.clear({color:r.showOverdrawInspector?t.Color.black:t.Color.transparent,depth:1}),this.clearStencil(),this._showOverdrawInspector=r.showOverdrawInspector,this.depthRangeFor3D=[0,1-(e._order.length+2)*this.numSublayers*this.depthEpsilon],this.renderPass="opaque",this.currentLayer=i.length-1;this.currentLayer>=0;this.currentLayer--){var b=this.style._layers[i[this.currentLayer]],_=a[b.source],w=u[b.source];this._renderTileClippingMasks(b,w),this.renderLayer(this,_,b,w)}for(this.renderPass="translucent",this.currentLayer=0;this.currentLayer<i.length;this.currentLayer++){var T=this.style._layers[i[this.currentLayer]],k=a[T.source],M=("symbol"===T.type?h:f)[T.source];this._renderTileClippingMasks(T,u[T.source]),this.renderLayer(this,k,T,M)}this.options.showTileBoundaries&&(t.values(this.style._layers).forEach((function(t){t.source&&!t.isHidden(n.transform.zoom)&&(t.source!==(c&&c.id)&&(c=n.style.sourceCaches[t.source]),(!l||l.getSource().maxzoom<c.getSource().maxzoom)&&(l=c))})),l&&vn.debug(this,l,l.getVisibleCoordinates())),this.options.showPadding&&function(t){var e=t.transform.padding;pn(t,t.transform.height-(e.top||0),3,ln),pn(t,e.bottom||0,3,cn),dn(t,e.left||0,3,un),dn(t,t.transform.width-(e.right||0),3,fn);var r=t.transform.centerPoint;!function(t,e,r,n){gn(t,e-1,r-10,2,20,n),gn(t,e-10,r-1,20,2,n)}(t,r.x,t.transform.height-r.y,hn)}(this),this.context.setDefault()},yn.prototype.renderLayer=function(t,e,r,n){r.isHidden(this.transform.zoom)||("background"===r.type||"custom"===r.type||n.length)&&(this.id=r.id,this.gpuTimingStart(r),vn[r.type](t,e,r,n,this.style.placement.variableOffsets),this.gpuTimingEnd())},yn.prototype.gpuTimingStart=function(t){if(this.options.gpuTiming){var e=this.context.extTimerQuery,r=this.gpuTimers[t.id];r||(r=this.gpuTimers[t.id]={calls:0,cpuTime:0,query:e.createQueryEXT()}),r.calls++,e.beginQueryEXT(e.TIME_ELAPSED_EXT,r.query)}},yn.prototype.gpuTimingEnd=function(){if(this.options.gpuTiming){var t=this.context.extTimerQuery;t.endQueryEXT(t.TIME_ELAPSED_EXT)}},yn.prototype.collectGpuTimers=function(){var t=this.gpuTimers;return this.gpuTimers={},t},yn.prototype.queryGpuTimers=function(t){var e={};for(var r in t){var n=t[r],i=this.context.extTimerQuery,a=i.getQueryObjectEXT(n.query,i.QUERY_RESULT_EXT)/1e6;i.deleteQueryEXT(n.query),e[r]=a}return e},yn.prototype.translatePosMatrix=function(e,r,n,i,a){if(!n[0]&&!n[1])return e;var o=a?"map"===i?this.transform.angle:0:"viewport"===i?-this.transform.angle:0;if(o){var s=Math.sin(o),l=Math.cos(o);n=[n[0]*l-n[1]*s,n[0]*s+n[1]*l]}var c=[a?n[0]:he(r,n[0],this.transform.zoom),a?n[1]:he(r,n[1],this.transform.zoom),0],u=new Float32Array(16);return t.translate(u,e,c),u},yn.prototype.saveTileTexture=function(t){var e=this._tileTextures[t.size[0]];e?e.push(t):this._tileTextures[t.size[0]]=[t]},yn.prototype.getTileTexture=function(t){var e=this._tileTextures[t];return e&&e.length>0?e.pop():null},yn.prototype.isPatternMissing=function(t){if(!t)return!1;if(!t.from||!t.to)return!0;var e=this.imageManager.getPattern(t.from.toString()),r=this.imageManager.getPattern(t.to.toString());return!e||!r},yn.prototype.useProgram=function(t,e){this.cache=this.cache||{};var r=""+t+(e?e.cacheKey:"")+(this._showOverdrawInspector?"/overdraw":"");return this.cache[r]||(this.cache[r]=new br(this.context,yr[t],e,Xr[t],this._showOverdrawInspector)),this.cache[r]},yn.prototype.setCustomLayerDefaults=function(){this.context.unbindVAO(),this.context.cullFace.setDefault(),this.context.activeTexture.setDefault(),this.context.pixelStoreUnpack.setDefault(),this.context.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.context.pixelStoreUnpackFlipY.setDefault()},yn.prototype.setBaseState=function(){var t=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(t.FUNC_ADD)},yn.prototype.initDebugOverlayCanvas=function(){null==this.debugOverlayCanvas&&(this.debugOverlayCanvas=t.window.document.createElement("canvas"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512,this.debugOverlayTexture=new t.Texture(this.context,this.debugOverlayCanvas,this.context.gl.RGBA))},yn.prototype.destroy=function(){this.emptyTexture.destroy(),this.debugOverlayTexture&&this.debugOverlayTexture.destroy()};var xn=function(t,e){this.points=t,this.planes=e};xn.fromInvProjectionMatrix=function(e,r,n){var i=Math.pow(2,n),a=[[-1,1,-1,1],[1,1,-1,1],[1,-1,-1,1],[-1,-1,-1,1],[-1,1,1,1],[1,1,1,1],[1,-1,1,1],[-1,-1,1,1]].map((function(r){return t.transformMat4([],r,e)})).map((function(e){return t.scale$1([],e,1/e[3]/r*i)})),o=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]].map((function(e){var r=t.sub([],a[e[0]],a[e[1]]),n=t.sub([],a[e[2]],a[e[1]]),i=t.normalize([],t.cross([],r,n)),o=-t.dot(i,a[e[1]]);return i.concat(o)}));return new xn(a,o)};var bn=function(e,r){this.min=e,this.max=r,this.center=t.scale$2([],t.add([],this.min,this.max),.5)};bn.prototype.quadrant=function(e){for(var r=[e%2==0,e<2],n=t.clone$2(this.min),i=t.clone$2(this.max),a=0;a<r.length;a++)n[a]=r[a]?this.min[a]:this.center[a],i[a]=r[a]?this.center[a]:this.max[a];return i[2]=this.max[2],new bn(n,i)},bn.prototype.distanceX=function(t){return Math.max(Math.min(this.max[0],t[0]),this.min[0])-t[0]},bn.prototype.distanceY=function(t){return Math.max(Math.min(this.max[1],t[1]),this.min[1])-t[1]},bn.prototype.intersects=function(e){for(var r=[[this.min[0],this.min[1],0,1],[this.max[0],this.min[1],0,1],[this.max[0],this.max[1],0,1],[this.min[0],this.max[1],0,1]],n=!0,i=0;i<e.planes.length;i++){for(var a=e.planes[i],o=0,s=0;s<r.length;s++)o+=t.dot$1(a,r[s])>=0;if(0===o)return 0;o!==r.length&&(n=!1)}if(n)return 2;for(var l=0;l<3;l++){for(var c=Number.MAX_VALUE,u=-Number.MAX_VALUE,f=0;f<e.points.length;f++){var h=e.points[f][l]-this.min[l];c=Math.min(c,h),u=Math.max(u,h)}if(u<0||c>this.max[l]-this.min[l])return 0}return 1};var _n=function(t,e,r,n){if(void 0===t&&(t=0),void 0===e&&(e=0),void 0===r&&(r=0),void 0===n&&(n=0),isNaN(t)||t<0||isNaN(e)||e<0||isNaN(r)||r<0||isNaN(n)||n<0)throw new Error("Invalid value for edge-insets, top, bottom, left and right must all be numbers");this.top=t,this.bottom=e,this.left=r,this.right=n};_n.prototype.interpolate=function(e,r,n){return null!=r.top&&null!=e.top&&(this.top=t.number(e.top,r.top,n)),null!=r.bottom&&null!=e.bottom&&(this.bottom=t.number(e.bottom,r.bottom,n)),null!=r.left&&null!=e.left&&(this.left=t.number(e.left,r.left,n)),null!=r.right&&null!=e.right&&(this.right=t.number(e.right,r.right,n)),this},_n.prototype.getCenter=function(e,r){var n=t.clamp((this.left+e-this.right)/2,0,e),i=t.clamp((this.top+r-this.bottom)/2,0,r);return new t.Point(n,i)},_n.prototype.equals=function(t){return this.top===t.top&&this.bottom===t.bottom&&this.left===t.left&&this.right===t.right},_n.prototype.clone=function(){return new _n(this.top,this.bottom,this.left,this.right)},_n.prototype.toJSON=function(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}};var wn=function(e,r,n,i,a){this.tileSize=512,this.maxValidLatitude=85.051129,this._renderWorldCopies=void 0===a||a,this._minZoom=e||0,this._maxZoom=r||22,this._minPitch=null==n?0:n,this._maxPitch=null==i?60:i,this.setMaxBounds(),this.width=0,this.height=0,this._center=new t.LngLat(0,0),this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._edgeInsets=new _n,this._posMatrixCache={},this._alignedPosMatrixCache={}},Tn={minZoom:{configurable:!0},maxZoom:{configurable:!0},minPitch:{configurable:!0},maxPitch:{configurable:!0},renderWorldCopies:{configurable:!0},worldSize:{configurable:!0},centerOffset:{configurable:!0},size:{configurable:!0},bearing:{configurable:!0},pitch:{configurable:!0},fov:{configurable:!0},zoom:{configurable:!0},center:{configurable:!0},padding:{configurable:!0},centerPoint:{configurable:!0},unmodified:{configurable:!0},point:{configurable:!0}};wn.prototype.clone=function(){var t=new wn(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies);return t.tileSize=this.tileSize,t.latRange=this.latRange,t.width=this.width,t.height=this.height,t._center=this._center,t.zoom=this.zoom,t.angle=this.angle,t._fov=this._fov,t._pitch=this._pitch,t._unmodified=this._unmodified,t._edgeInsets=this._edgeInsets.clone(),t._calcMatrices(),t},Tn.minZoom.get=function(){return this._minZoom},Tn.minZoom.set=function(t){this._minZoom!==t&&(this._minZoom=t,this.zoom=Math.max(this.zoom,t))},Tn.maxZoom.get=function(){return this._maxZoom},Tn.maxZoom.set=function(t){this._maxZoom!==t&&(this._maxZoom=t,this.zoom=Math.min(this.zoom,t))},Tn.minPitch.get=function(){return this._minPitch},Tn.minPitch.set=function(t){this._minPitch!==t&&(this._minPitch=t,this.pitch=Math.max(this.pitch,t))},Tn.maxPitch.get=function(){return this._maxPitch},Tn.maxPitch.set=function(t){this._maxPitch!==t&&(this._maxPitch=t,this.pitch=Math.min(this.pitch,t))},Tn.renderWorldCopies.get=function(){return this._renderWorldCopies},Tn.renderWorldCopies.set=function(t){void 0===t?t=!0:null===t&&(t=!1),this._renderWorldCopies=t},Tn.worldSize.get=function(){return this.tileSize*this.scale},Tn.centerOffset.get=function(){return this.centerPoint._sub(this.size._div(2))},Tn.size.get=function(){return new t.Point(this.width,this.height)},Tn.bearing.get=function(){return-this.angle/Math.PI*180},Tn.bearing.set=function(e){var r=-t.wrap(e,-180,180)*Math.PI/180;this.angle!==r&&(this._unmodified=!1,this.angle=r,this._calcMatrices(),this.rotationMatrix=t.create$2(),t.rotate(this.rotationMatrix,this.rotationMatrix,this.angle))},Tn.pitch.get=function(){return this._pitch/Math.PI*180},Tn.pitch.set=function(e){var r=t.clamp(e,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==r&&(this._unmodified=!1,this._pitch=r,this._calcMatrices())},Tn.fov.get=function(){return this._fov/Math.PI*180},Tn.fov.set=function(t){t=Math.max(.01,Math.min(60,t)),this._fov!==t&&(this._unmodified=!1,this._fov=t/180*Math.PI,this._calcMatrices())},Tn.zoom.get=function(){return this._zoom},Tn.zoom.set=function(t){var e=Math.min(Math.max(t,this.minZoom),this.maxZoom);this._zoom!==e&&(this._unmodified=!1,this._zoom=e,this.scale=this.zoomScale(e),this.tileZoom=Math.floor(e),this.zoomFraction=e-this.tileZoom,this._constrain(),this._calcMatrices())},Tn.center.get=function(){return this._center},Tn.center.set=function(t){t.lat===this._center.lat&&t.lng===this._center.lng||(this._unmodified=!1,this._center=t,this._constrain(),this._calcMatrices())},Tn.padding.get=function(){return this._edgeInsets.toJSON()},Tn.padding.set=function(t){this._edgeInsets.equals(t)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,t,1),this._calcMatrices())},Tn.centerPoint.get=function(){return this._edgeInsets.getCenter(this.width,this.height)},wn.prototype.isPaddingEqual=function(t){return this._edgeInsets.equals(t)},wn.prototype.interpolatePadding=function(t,e,r){this._unmodified=!1,this._edgeInsets.interpolate(t,e,r),this._constrain(),this._calcMatrices()},wn.prototype.coveringZoomLevel=function(t){var e=(t.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/t.tileSize));return Math.max(0,e)},wn.prototype.getVisibleUnwrappedCoordinates=function(e){var r=[new t.UnwrappedTileID(0,e)];if(this._renderWorldCopies)for(var n=this.pointCoordinate(new t.Point(0,0)),i=this.pointCoordinate(new t.Point(this.width,0)),a=this.pointCoordinate(new t.Point(this.width,this.height)),o=this.pointCoordinate(new t.Point(0,this.height)),s=Math.floor(Math.min(n.x,i.x,a.x,o.x)),l=Math.floor(Math.max(n.x,i.x,a.x,o.x)),c=s-1;c<=l+1;c++)0!==c&&r.push(new t.UnwrappedTileID(c,e));return r},wn.prototype.coveringTiles=function(e){var r=this.coveringZoomLevel(e),n=r;if(void 0!==e.minzoom&&r<e.minzoom)return[];void 0!==e.maxzoom&&r>e.maxzoom&&(r=e.maxzoom);var i=t.MercatorCoordinate.fromLngLat(this.center),a=Math.pow(2,r),o=[a*i.x,a*i.y,0],s=xn.fromInvProjectionMatrix(this.invProjMatrix,this.worldSize,r),l=e.minzoom||0;this.pitch<=60&&this._edgeInsets.top<.1&&(l=r);var c=function(t){return{aabb:new bn([t*a,0,0],[(t+1)*a,a,0]),zoom:0,x:0,y:0,wrap:t,fullyVisible:!1}},u=[],f=[],h=r,p=e.reparseOverscaled?n:r;if(this._renderWorldCopies)for(var d=1;d<=3;d++)u.push(c(-d)),u.push(c(d));for(u.push(c(0));u.length>0;){var g=u.pop(),m=g.x,v=g.y,y=g.fullyVisible;if(!y){var x=g.aabb.intersects(s);if(0===x)continue;y=2===x}var b=g.aabb.distanceX(o),_=g.aabb.distanceY(o),w=Math.max(Math.abs(b),Math.abs(_));if(g.zoom===h||w>3+(1<<h-g.zoom)-2&&g.zoom>=l)f.push({tileID:new t.OverscaledTileID(g.zoom===h?p:g.zoom,g.wrap,g.zoom,m,v),distanceSq:t.sqrLen([o[0]-.5-m,o[1]-.5-v])});else for(var T=0;T<4;T++){var k=(m<<1)+T%2,M=(v<<1)+(T>>1);u.push({aabb:g.aabb.quadrant(T),zoom:g.zoom+1,x:k,y:M,wrap:g.wrap,fullyVisible:y})}}return f.sort((function(t,e){return t.distanceSq-e.distanceSq})).map((function(t){return t.tileID}))},wn.prototype.resize=function(t,e){this.width=t,this.height=e,this.pixelsToGLUnits=[2/t,-2/e],this._constrain(),this._calcMatrices()},Tn.unmodified.get=function(){return this._unmodified},wn.prototype.zoomScale=function(t){return Math.pow(2,t)},wn.prototype.scaleZoom=function(t){return Math.log(t)/Math.LN2},wn.prototype.project=function(e){var r=t.clamp(e.lat,-this.maxValidLatitude,this.maxValidLatitude);return new t.Point(t.mercatorXfromLng(e.lng)*this.worldSize,t.mercatorYfromLat(r)*this.worldSize)},wn.prototype.unproject=function(e){return new t.MercatorCoordinate(e.x/this.worldSize,e.y/this.worldSize).toLngLat()},Tn.point.get=function(){return this.project(this.center)},wn.prototype.setLocationAtPoint=function(e,r){var n=this.pointCoordinate(r),i=this.pointCoordinate(this.centerPoint),a=this.locationCoordinate(e),o=new t.MercatorCoordinate(a.x-(n.x-i.x),a.y-(n.y-i.y));this.center=this.coordinateLocation(o),this._renderWorldCopies&&(this.center=this.center.wrap())},wn.prototype.locationPoint=function(t){return this.coordinatePoint(this.locationCoordinate(t))},wn.prototype.pointLocation=function(t){return this.coordinateLocation(this.pointCoordinate(t))},wn.prototype.locationCoordinate=function(e){return t.MercatorCoordinate.fromLngLat(e)},wn.prototype.coordinateLocation=function(t){return t.toLngLat()},wn.prototype.pointCoordinate=function(e){var r=[e.x,e.y,0,1],n=[e.x,e.y,1,1];t.transformMat4(r,r,this.pixelMatrixInverse),t.transformMat4(n,n,this.pixelMatrixInverse);var i=r[3],a=n[3],o=r[1]/i,s=n[1]/a,l=r[2]/i,c=n[2]/a,u=l===c?0:(0-l)/(c-l);return new t.MercatorCoordinate(t.number(r[0]/i,n[0]/a,u)/this.worldSize,t.number(o,s,u)/this.worldSize)},wn.prototype.coordinatePoint=function(e){var r=[e.x*this.worldSize,e.y*this.worldSize,0,1];return t.transformMat4(r,r,this.pixelMatrix),new t.Point(r[0]/r[3],r[1]/r[3])},wn.prototype.getBounds=function(){return(new t.LngLatBounds).extend(this.pointLocation(new t.Point(0,0))).extend(this.pointLocation(new t.Point(this.width,0))).extend(this.pointLocation(new t.Point(this.width,this.height))).extend(this.pointLocation(new t.Point(0,this.height)))},wn.prototype.getMaxBounds=function(){return this.latRange&&2===this.latRange.length&&this.lngRange&&2===this.lngRange.length?new t.LngLatBounds([this.lngRange[0],this.latRange[0]],[this.lngRange[1],this.latRange[1]]):null},wn.prototype.setMaxBounds=function(t){t?(this.lngRange=[t.getWest(),t.getEast()],this.latRange=[t.getSouth(),t.getNorth()],this._constrain()):(this.lngRange=null,this.latRange=[-this.maxValidLatitude,this.maxValidLatitude])},wn.prototype.calculatePosMatrix=function(e,r){void 0===r&&(r=!1);var n=e.key,i=r?this._alignedPosMatrixCache:this._posMatrixCache;if(i[n])return i[n];var a=e.canonical,o=this.worldSize/this.zoomScale(a.z),s=a.x+Math.pow(2,a.z)*e.wrap,l=t.identity(new Float64Array(16));return t.translate(l,l,[s*o,a.y*o,0]),t.scale(l,l,[o/t.EXTENT,o/t.EXTENT,1]),t.multiply(l,r?this.alignedProjMatrix:this.projMatrix,l),i[n]=new Float32Array(l),i[n]},wn.prototype.customLayerMatrix=function(){return this.mercatorMatrix.slice()},wn.prototype._constrain=function(){if(this.center&&this.width&&this.height&&!this._constraining){this._constraining=!0;var e,r,n,i,a=-90,o=90,s=-180,l=180,c=this.size,u=this._unmodified;if(this.latRange){var f=this.latRange;a=t.mercatorYfromLat(f[1])*this.worldSize,e=(o=t.mercatorYfromLat(f[0])*this.worldSize)-a<c.y?c.y/(o-a):0}if(this.lngRange){var h=this.lngRange;s=t.mercatorXfromLng(h[0])*this.worldSize,r=(l=t.mercatorXfromLng(h[1])*this.worldSize)-s<c.x?c.x/(l-s):0}var p=this.point,d=Math.max(r||0,e||0);if(d)return this.center=this.unproject(new t.Point(r?(l+s)/2:p.x,e?(o+a)/2:p.y)),this.zoom+=this.scaleZoom(d),this._unmodified=u,void(this._constraining=!1);if(this.latRange){var g=p.y,m=c.y/2;g-m<a&&(i=a+m),g+m>o&&(i=o-m)}if(this.lngRange){var v=p.x,y=c.x/2;v-y<s&&(n=s+y),v+y>l&&(n=l-y)}void 0===n&&void 0===i||(this.center=this.unproject(new t.Point(void 0!==n?n:p.x,void 0!==i?i:p.y))),this._unmodified=u,this._constraining=!1}},wn.prototype._calcMatrices=function(){if(this.height){var e=this.centerOffset;this.cameraToCenterDistance=.5/Math.tan(this._fov/2)*this.height;var r=Math.PI/2+this._pitch,n=this._fov*(.5+e.y/this.height),i=Math.sin(n)*this.cameraToCenterDistance/Math.sin(t.clamp(Math.PI-r-n,.01,Math.PI-.01)),a=this.point,o=a.x,s=a.y,l=1.01*(Math.cos(Math.PI/2-this._pitch)*i+this.cameraToCenterDistance),c=this.height/50,u=new Float64Array(16);t.perspective(u,this._fov,this.width/this.height,c,l),u[8]=2*-e.x/this.width,u[9]=2*e.y/this.height,t.scale(u,u,[1,-1,1]),t.translate(u,u,[0,0,-this.cameraToCenterDistance]),t.rotateX(u,u,this._pitch),t.rotateZ(u,u,this.angle),t.translate(u,u,[-o,-s,0]),this.mercatorMatrix=t.scale([],u,[this.worldSize,this.worldSize,this.worldSize]),t.scale(u,u,[1,1,t.mercatorZfromAltitude(1,this.center.lat)*this.worldSize,1]),this.projMatrix=u,this.invProjMatrix=t.invert([],this.projMatrix);var f=this.width%2/2,h=this.height%2/2,p=Math.cos(this.angle),d=Math.sin(this.angle),g=o-Math.round(o)+p*f+d*h,m=s-Math.round(s)+p*h+d*f,v=new Float64Array(u);if(t.translate(v,v,[g>.5?g-1:g,m>.5?m-1:m,0]),this.alignedProjMatrix=v,u=t.create(),t.scale(u,u,[this.width/2,-this.height/2,1]),t.translate(u,u,[1,-1,0]),this.labelPlaneMatrix=u,u=t.create(),t.scale(u,u,[1,-1,1]),t.translate(u,u,[-1,-1,0]),t.scale(u,u,[2/this.width,2/this.height,1]),this.glCoordMatrix=u,this.pixelMatrix=t.multiply(new Float64Array(16),this.labelPlaneMatrix,this.projMatrix),!(u=t.invert(new Float64Array(16),this.pixelMatrix)))throw new Error("failed to invert matrix");this.pixelMatrixInverse=u,this._posMatrixCache={},this._alignedPosMatrixCache={}}},wn.prototype.maxPitchScaleFactor=function(){if(!this.pixelMatrixInverse)return 1;var e=this.pointCoordinate(new t.Point(0,0)),r=[e.x*this.worldSize,e.y*this.worldSize,0,1];return t.transformMat4(r,r,this.pixelMatrix)[3]/this.cameraToCenterDistance},wn.prototype.getCameraPoint=function(){var e=Math.tan(this._pitch)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new t.Point(0,e))},wn.prototype.getCameraQueryGeometry=function(e){var r=this.getCameraPoint();if(1===e.length)return[e[0],r];for(var n=r.x,i=r.y,a=r.x,o=r.y,s=0,l=e;s<l.length;s+=1){var c=l[s];n=Math.min(n,c.x),i=Math.min(i,c.y),a=Math.max(a,c.x),o=Math.max(o,c.y)}return[new t.Point(n,i),new t.Point(a,i),new t.Point(a,o),new t.Point(n,o),new t.Point(n,i)]},Object.defineProperties(wn.prototype,Tn);var kn=function(e){var r,n,i,a;this._hashName=e&&encodeURIComponent(e),t.bindAll(["_getCurrentHash","_onHashChange","_updateHash"],this),this._updateHash=(r=this._updateHashUnthrottled.bind(this),n=!1,i=null,a=function(){i=null,n&&(r(),i=setTimeout(a,300),n=!1)},function(){return n=!0,i||a(),i})};kn.prototype.addTo=function(e){return this._map=e,t.window.addEventListener("hashchange",this._onHashChange,!1),this._map.on("moveend",this._updateHash),this},kn.prototype.remove=function(){return t.window.removeEventListener("hashchange",this._onHashChange,!1),this._map.off("moveend",this._updateHash),clearTimeout(this._updateHash()),delete this._map,this},kn.prototype.getHashString=function(e){var r=this._map.getCenter(),n=Math.round(100*this._map.getZoom())/100,i=Math.ceil((n*Math.LN2+Math.log(512/360/.5))/Math.LN10),a=Math.pow(10,i),o=Math.round(r.lng*a)/a,s=Math.round(r.lat*a)/a,l=this._map.getBearing(),c=this._map.getPitch(),u="";if(u+=e?"/"+o+"/"+s+"/"+n:n+"/"+s+"/"+o,(l||c)&&(u+="/"+Math.round(10*l)/10),c&&(u+="/"+Math.round(c)),this._hashName){var f=this._hashName,h=!1,p=t.window.location.hash.slice(1).split("&").map((function(t){var e=t.split("=")[0];return e===f?(h=!0,e+"="+u):t})).filter((function(t){return t}));return h||p.push(f+"="+u),"#"+p.join("&")}return"#"+u},kn.prototype._getCurrentHash=function(){var e,r=this,n=t.window.location.hash.replace("#","");return this._hashName?(n.split("&").map((function(t){return t.split("=")})).forEach((function(t){t[0]===r._hashName&&(e=t)})),(e&&e[1]||"").split("/")):n.split("/")},kn.prototype._onHashChange=function(){var t=this._getCurrentHash();if(t.length>=3&&!t.some((function(t){return isNaN(t)}))){var e=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(t[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+t[2],+t[1]],zoom:+t[0],bearing:e,pitch:+(t[4]||0)}),!0}return!1},kn.prototype._updateHashUnthrottled=function(){var e=this.getHashString();try{t.window.history.replaceState(t.window.history.state,"",e)}catch(t){}};var Mn={linearity:.3,easing:t.bezier(0,0,.3,1)},An=t.extend({deceleration:2500,maxSpeed:1400},Mn),Sn=t.extend({deceleration:20,maxSpeed:1400},Mn),En=t.extend({deceleration:1e3,maxSpeed:360},Mn),Cn=t.extend({deceleration:1e3,maxSpeed:90},Mn),Ln=function(t){this._map=t,this.clear()};function In(t,e){(!t.duration||t.duration<e.duration)&&(t.duration=e.duration,t.easing=e.easing)}function Pn(e,r,n){var i=n.maxSpeed,a=n.linearity,o=n.deceleration,s=t.clamp(e*a/(r/1e3),-i,i),l=Math.abs(s)/(o*a);return{easing:n.easing,duration:1e3*l,amount:s*(l/2)}}Ln.prototype.clear=function(){this._inertiaBuffer=[]},Ln.prototype.record=function(e){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:t.browser.now(),settings:e})},Ln.prototype._drainInertiaBuffer=function(){for(var e=this._inertiaBuffer,r=t.browser.now();e.length>0&&r-e[0].time>160;)e.shift()},Ln.prototype._onMoveEnd=function(e){if(this._drainInertiaBuffer(),!(this._inertiaBuffer.length<2)){for(var r={zoom:0,bearing:0,pitch:0,pan:new t.Point(0,0),pinchAround:void 0,around:void 0},n=0,i=this._inertiaBuffer;n<i.length;n+=1){var a=i[n].settings;r.zoom+=a.zoomDelta||0,r.bearing+=a.bearingDelta||0,r.pitch+=a.pitchDelta||0,a.panDelta&&r.pan._add(a.panDelta),a.around&&(r.around=a.around),a.pinchAround&&(r.pinchAround=a.pinchAround)}var o=this._inertiaBuffer[this._inertiaBuffer.length-1].time-this._inertiaBuffer[0].time,s={};if(r.pan.mag()){var l=Pn(r.pan.mag(),o,t.extend({},An,e||{}));s.offset=r.pan.mult(l.amount/r.pan.mag()),s.center=this._map.transform.center,In(s,l)}if(r.zoom){var c=Pn(r.zoom,o,Sn);s.zoom=this._map.transform.zoom+c.amount,In(s,c)}if(r.bearing){var u=Pn(r.bearing,o,En);s.bearing=this._map.transform.bearing+t.clamp(u.amount,-179,179),In(s,u)}if(r.pitch){var f=Pn(r.pitch,o,Cn);s.pitch=this._map.transform.pitch+f.amount,In(s,f)}if(s.zoom||s.bearing){var h=void 0===r.pinchAround?r.around:r.pinchAround;s.around=h?this._map.unproject(h):this._map.getCenter()}return this.clear(),t.extend(s,{noMoveStart:!0})}};var zn=function(e){function n(n,i,a,o){void 0===o&&(o={});var s=r.mousePos(i.getCanvasContainer(),a),l=i.unproject(s);e.call(this,n,t.extend({point:s,lngLat:l,originalEvent:a},o)),this._defaultPrevented=!1,this.target=i}e&&(n.__proto__=e),(n.prototype=Object.create(e&&e.prototype)).constructor=n;var i={defaultPrevented:{configurable:!0}};return n.prototype.preventDefault=function(){this._defaultPrevented=!0},i.defaultPrevented.get=function(){return this._defaultPrevented},Object.defineProperties(n.prototype,i),n}(t.Event),On=function(e){function n(n,i,a){var o="touchend"===n?a.changedTouches:a.touches,s=r.touchPos(i.getCanvasContainer(),o),l=s.map((function(t){return i.unproject(t)})),c=s.reduce((function(t,e,r,n){return t.add(e.div(n.length))}),new t.Point(0,0)),u=i.unproject(c);e.call(this,n,{points:s,point:c,lngLats:l,lngLat:u,originalEvent:a}),this._defaultPrevented=!1}e&&(n.__proto__=e),(n.prototype=Object.create(e&&e.prototype)).constructor=n;var i={defaultPrevented:{configurable:!0}};return n.prototype.preventDefault=function(){this._defaultPrevented=!0},i.defaultPrevented.get=function(){return this._defaultPrevented},Object.defineProperties(n.prototype,i),n}(t.Event),Dn=function(t){function e(e,r,n){t.call(this,e,{originalEvent:n}),this._defaultPrevented=!1}t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e;var r={defaultPrevented:{configurable:!0}};return e.prototype.preventDefault=function(){this._defaultPrevented=!0},r.defaultPrevented.get=function(){return this._defaultPrevented},Object.defineProperties(e.prototype,r),e}(t.Event),Rn=function(t,e){this._map=t,this._clickTolerance=e.clickTolerance};Rn.prototype.reset=function(){delete this._mousedownPos},Rn.prototype.wheel=function(t){return this._firePreventable(new Dn(t.type,this._map,t))},Rn.prototype.mousedown=function(t,e){return this._mousedownPos=e,this._firePreventable(new zn(t.type,this._map,t))},Rn.prototype.mouseup=function(t){this._map.fire(new zn(t.type,this._map,t))},Rn.prototype.click=function(t,e){this._mousedownPos&&this._mousedownPos.dist(e)>=this._clickTolerance||this._map.fire(new zn(t.type,this._map,t))},Rn.prototype.dblclick=function(t){return this._firePreventable(new zn(t.type,this._map,t))},Rn.prototype.mouseover=function(t){this._map.fire(new zn(t.type,this._map,t))},Rn.prototype.mouseout=function(t){this._map.fire(new zn(t.type,this._map,t))},Rn.prototype.touchstart=function(t){return this._firePreventable(new On(t.type,this._map,t))},Rn.prototype.touchmove=function(t){this._map.fire(new On(t.type,this._map,t))},Rn.prototype.touchend=function(t){this._map.fire(new On(t.type,this._map,t))},Rn.prototype.touchcancel=function(t){this._map.fire(new On(t.type,this._map,t))},Rn.prototype._firePreventable=function(t){if(this._map.fire(t),t.defaultPrevented)return{}},Rn.prototype.isEnabled=function(){return!0},Rn.prototype.isActive=function(){return!1},Rn.prototype.enable=function(){},Rn.prototype.disable=function(){};var Fn=function(t){this._map=t};Fn.prototype.reset=function(){this._delayContextMenu=!1,delete this._contextMenuEvent},Fn.prototype.mousemove=function(t){this._map.fire(new zn(t.type,this._map,t))},Fn.prototype.mousedown=function(){this._delayContextMenu=!0},Fn.prototype.mouseup=function(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new zn("contextmenu",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)},Fn.prototype.contextmenu=function(t){this._delayContextMenu?this._contextMenuEvent=t:this._map.fire(new zn(t.type,this._map,t)),this._map.listens("contextmenu")&&t.preventDefault()},Fn.prototype.isEnabled=function(){return!0},Fn.prototype.isActive=function(){return!1},Fn.prototype.enable=function(){},Fn.prototype.disable=function(){};var Bn=function(t,e){this._map=t,this._el=t.getCanvasContainer(),this._container=t.getContainer(),this._clickTolerance=e.clickTolerance||1};function Nn(t,e){for(var r={},n=0;n<t.length;n++)r[t[n].identifier]=e[n];return r}Bn.prototype.isEnabled=function(){return!!this._enabled},Bn.prototype.isActive=function(){return!!this._active},Bn.prototype.enable=function(){this.isEnabled()||(this._enabled=!0)},Bn.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)},Bn.prototype.mousedown=function(t,e){this.isEnabled()&&t.shiftKey&&0===t.button&&(r.disableDrag(),this._startPos=this._lastPos=e,this._active=!0)},Bn.prototype.mousemoveWindow=function(t,e){if(this._active){var n=e;if(!(this._lastPos.equals(n)||!this._box&&n.dist(this._startPos)<this._clickTolerance)){var i=this._startPos;this._lastPos=n,this._box||(this._box=r.create("div","mapboxgl-boxzoom",this._container),this._container.classList.add("mapboxgl-crosshair"),this._fireEvent("boxzoomstart",t));var a=Math.min(i.x,n.x),o=Math.max(i.x,n.x),s=Math.min(i.y,n.y),l=Math.max(i.y,n.y);r.setTransform(this._box,"translate("+a+"px,"+s+"px)"),this._box.style.width=o-a+"px",this._box.style.height=l-s+"px"}}},Bn.prototype.mouseupWindow=function(e,n){var i=this;if(this._active&&0===e.button){var a=this._startPos,o=n;if(this.reset(),r.suppressClick(),a.x!==o.x||a.y!==o.y)return this._map.fire(new t.Event("boxzoomend",{originalEvent:e})),{cameraAnimation:function(t){return t.fitScreenCoordinates(a,o,i._map.getBearing(),{linear:!0})}};this._fireEvent("boxzoomcancel",e)}},Bn.prototype.keydown=function(t){this._active&&27===t.keyCode&&(this.reset(),this._fireEvent("boxzoomcancel",t))},Bn.prototype.reset=function(){this._active=!1,this._container.classList.remove("mapboxgl-crosshair"),this._box&&(r.remove(this._box),this._box=null),r.enableDrag(),delete this._startPos,delete this._lastPos},Bn.prototype._fireEvent=function(e,r){return this._map.fire(new t.Event(e,{originalEvent:r}))};var jn=function(t){this.reset(),this.numTouches=t.numTouches};jn.prototype.reset=function(){delete this.centroid,delete this.startTime,delete this.touches,this.aborted=!1},jn.prototype.touchstart=function(e,r,n){(this.centroid||n.length>this.numTouches)&&(this.aborted=!0),this.aborted||(void 0===this.startTime&&(this.startTime=e.timeStamp),n.length===this.numTouches&&(this.centroid=function(e){for(var r=new t.Point(0,0),n=0,i=e;n<i.length;n+=1)r._add(i[n]);return r.div(e.length)}(r),this.touches=Nn(n,r)))},jn.prototype.touchmove=function(t,e,r){if(!this.aborted&&this.centroid){var n=Nn(r,e);for(var i in this.touches){var a=n[i];(!a||a.dist(this.touches[i])>30)&&(this.aborted=!0)}}},jn.prototype.touchend=function(t,e,r){if((!this.centroid||t.timeStamp-this.startTime>500)&&(this.aborted=!0),0===r.length){var n=!this.aborted&&this.centroid;if(this.reset(),n)return n}};var Un=function(t){this.singleTap=new jn(t),this.numTaps=t.numTaps,this.reset()};Un.prototype.reset=function(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()},Un.prototype.touchstart=function(t,e,r){this.singleTap.touchstart(t,e,r)},Un.prototype.touchmove=function(t,e,r){this.singleTap.touchmove(t,e,r)},Un.prototype.touchend=function(t,e,r){var n=this.singleTap.touchend(t,e,r);if(n){var i=t.timeStamp-this.lastTime<500,a=!this.lastTap||this.lastTap.dist(n)<30;if(i&&a||this.reset(),this.count++,this.lastTime=t.timeStamp,this.lastTap=n,this.count===this.numTaps)return this.reset(),n}};var Vn=function(){this._zoomIn=new Un({numTouches:1,numTaps:2}),this._zoomOut=new Un({numTouches:2,numTaps:1}),this.reset()};Vn.prototype.reset=function(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset()},Vn.prototype.touchstart=function(t,e,r){this._zoomIn.touchstart(t,e,r),this._zoomOut.touchstart(t,e,r)},Vn.prototype.touchmove=function(t,e,r){this._zoomIn.touchmove(t,e,r),this._zoomOut.touchmove(t,e,r)},Vn.prototype.touchend=function(t,e,r){var n=this,i=this._zoomIn.touchend(t,e,r),a=this._zoomOut.touchend(t,e,r);return i?(this._active=!0,t.preventDefault(),setTimeout((function(){return n.reset()}),0),{cameraAnimation:function(e){return e.easeTo({duration:300,zoom:e.getZoom()+1,around:e.unproject(i)},{originalEvent:t})}}):a?(this._active=!0,t.preventDefault(),setTimeout((function(){return n.reset()}),0),{cameraAnimation:function(e){return e.easeTo({duration:300,zoom:e.getZoom()-1,around:e.unproject(a)},{originalEvent:t})}}):void 0},Vn.prototype.touchcancel=function(){this.reset()},Vn.prototype.enable=function(){this._enabled=!0},Vn.prototype.disable=function(){this._enabled=!1,this.reset()},Vn.prototype.isEnabled=function(){return this._enabled},Vn.prototype.isActive=function(){return this._active};var qn=function(t){this.reset(),this._clickTolerance=t.clickTolerance||1};qn.prototype.reset=function(){this._active=!1,this._moved=!1,delete this._lastPoint,delete this._eventButton},qn.prototype._correctButton=function(t,e){return!1},qn.prototype._move=function(t,e){return{}},qn.prototype.mousedown=function(t,e){if(!this._lastPoint){var n=r.mouseButton(t);this._correctButton(t,n)&&(this._lastPoint=e,this._eventButton=n)}},qn.prototype.mousemoveWindow=function(t,e){var r=this._lastPoint;if(r&&(t.preventDefault(),this._moved||!(e.dist(r)<this._clickTolerance)))return this._moved=!0,this._lastPoint=e,this._move(r,e)},qn.prototype.mouseupWindow=function(t){r.mouseButton(t)===this._eventButton&&(this._moved&&r.suppressClick(),this.reset())},qn.prototype.enable=function(){this._enabled=!0},qn.prototype.disable=function(){this._enabled=!1,this.reset()},qn.prototype.isEnabled=function(){return this._enabled},qn.prototype.isActive=function(){return this._active};var Hn=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.mousedown=function(e,r){t.prototype.mousedown.call(this,e,r),this._lastPoint&&(this._active=!0)},e.prototype._correctButton=function(t,e){return 0===e&&!t.ctrlKey},e.prototype._move=function(t,e){return{around:e,panDelta:e.sub(t)}},e}(qn),Gn=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._correctButton=function(t,e){return 0===e&&t.ctrlKey||2===e},e.prototype._move=function(t,e){var r=.8*(e.x-t.x);if(r)return this._active=!0,{bearingDelta:r}},e.prototype.contextmenu=function(t){t.preventDefault()},e}(qn),Yn=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._correctButton=function(t,e){return 0===e&&t.ctrlKey||2===e},e.prototype._move=function(t,e){var r=-.5*(e.y-t.y);if(r)return this._active=!0,{pitchDelta:r}},e.prototype.contextmenu=function(t){t.preventDefault()},e}(qn),Wn=function(t){this._minTouches=1,this._clickTolerance=t.clickTolerance||1,this.reset()};Wn.prototype.reset=function(){this._active=!1,this._touches={},this._sum=new t.Point(0,0)},Wn.prototype.touchstart=function(t,e,r){return this._calculateTransform(t,e,r)},Wn.prototype.touchmove=function(t,e,r){if(this._active)return t.preventDefault(),this._calculateTransform(t,e,r)},Wn.prototype.touchend=function(t,e,r){this._calculateTransform(t,e,r),this._active&&r.length<this._minTouches&&this.reset()},Wn.prototype.touchcancel=function(){this.reset()},Wn.prototype._calculateTransform=function(e,r,n){n.length>0&&(this._active=!0);var i=Nn(n,r),a=new t.Point(0,0),o=new t.Point(0,0),s=0;for(var l in i){var c=i[l],u=this._touches[l];u&&(a._add(c),o._add(c.sub(u)),s++,i[l]=c)}if(this._touches=i,!(s<this._minTouches)&&o.mag()){var f=o.div(s);if(this._sum._add(f),!(this._sum.mag()<this._clickTolerance))return{around:a.div(s),panDelta:f}}},Wn.prototype.enable=function(){this._enabled=!0},Wn.prototype.disable=function(){this._enabled=!1,this.reset()},Wn.prototype.isEnabled=function(){return this._enabled},Wn.prototype.isActive=function(){return this._active};var Xn=function(){this.reset()};function Zn(t,e,r){for(var n=0;n<t.length;n++)if(t[n].identifier===r)return e[n]}function Jn(t,e){return Math.log(t/e)/Math.LN2}Xn.prototype.reset=function(){this._active=!1,delete this._firstTwoTouches},Xn.prototype._start=function(t){},Xn.prototype._move=function(t,e,r){return{}},Xn.prototype.touchstart=function(t,e,r){this._firstTwoTouches||r.length<2||(this._firstTwoTouches=[r[0].identifier,r[1].identifier],this._start([e[0],e[1]]))},Xn.prototype.touchmove=function(t,e,r){if(this._firstTwoTouches){t.preventDefault();var n=this._firstTwoTouches,i=n[1],a=Zn(r,e,n[0]),o=Zn(r,e,i);if(a&&o){var s=this._aroundCenter?null:a.add(o).div(2);return this._move([a,o],s,t)}}},Xn.prototype.touchend=function(t,e,n){if(this._firstTwoTouches){var i=this._firstTwoTouches,a=i[1],o=Zn(n,e,i[0]),s=Zn(n,e,a);o&&s||(this._active&&r.suppressClick(),this.reset())}},Xn.prototype.touchcancel=function(){this.reset()},Xn.prototype.enable=function(t){this._enabled=!0,this._aroundCenter=!!t&&"center"===t.around},Xn.prototype.disable=function(){this._enabled=!1,this.reset()},Xn.prototype.isEnabled=function(){return this._enabled},Xn.prototype.isActive=function(){return this._active};var Kn=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.reset=function(){t.prototype.reset.call(this),delete this._distance,delete this._startDistance},e.prototype._start=function(t){this._startDistance=this._distance=t[0].dist(t[1])},e.prototype._move=function(t,e){var r=this._distance;if(this._distance=t[0].dist(t[1]),this._active||!(Math.abs(Jn(this._distance,this._startDistance))<.1))return this._active=!0,{zoomDelta:Jn(this._distance,r),pinchAround:e}},e}(Xn);function Qn(t,e){return 180*t.angleWith(e)/Math.PI}var $n=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.reset=function(){t.prototype.reset.call(this),delete this._minDiameter,delete this._startVector,delete this._vector},e.prototype._start=function(t){this._startVector=this._vector=t[0].sub(t[1]),this._minDiameter=t[0].dist(t[1])},e.prototype._move=function(t,e){var r=this._vector;if(this._vector=t[0].sub(t[1]),this._active||!this._isBelowThreshold(this._vector))return this._active=!0,{bearingDelta:Qn(this._vector,r),pinchAround:e}},e.prototype._isBelowThreshold=function(t){this._minDiameter=Math.min(this._minDiameter,t.mag());var e=25/(Math.PI*this._minDiameter)*360,r=Qn(t,this._startVector);return Math.abs(r)<e},e}(Xn);function ti(t){return Math.abs(t.y)>Math.abs(t.x)}var ei=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.reset=function(){t.prototype.reset.call(this),this._valid=void 0,delete this._firstMove,delete this._lastPoints},e.prototype._start=function(t){this._lastPoints=t,ti(t[0].sub(t[1]))&&(this._valid=!1)},e.prototype._move=function(t,e,r){var n=t[0].sub(this._lastPoints[0]),i=t[1].sub(this._lastPoints[1]);if(this._valid=this.gestureBeginsVertically(n,i,r.timeStamp),this._valid)return this._lastPoints=t,this._active=!0,{pitchDelta:(n.y+i.y)/2*-.5}},e.prototype.gestureBeginsVertically=function(t,e,r){if(void 0!==this._valid)return this._valid;var n=t.mag()>=2,i=e.mag()>=2;if(n||i){if(!n||!i)return void 0===this._firstMove&&(this._firstMove=r),r-this._firstMove<100&&void 0;var a=t.y>0==e.y>0;return ti(t)&&ti(e)&&a}},e}(Xn),ri={panStep:100,bearingStep:15,pitchStep:10},ni=function(){var t=ri;this._panStep=t.panStep,this._bearingStep=t.bearingStep,this._pitchStep=t.pitchStep};function ii(t){return t*(2-t)}ni.prototype.reset=function(){this._active=!1},ni.prototype.keydown=function(t){var e=this;if(!(t.altKey||t.ctrlKey||t.metaKey)){var r=0,n=0,i=0,a=0,o=0;switch(t.keyCode){case 61:case 107:case 171:case 187:r=1;break;case 189:case 109:case 173:r=-1;break;case 37:t.shiftKey?n=-1:(t.preventDefault(),a=-1);break;case 39:t.shiftKey?n=1:(t.preventDefault(),a=1);break;case 38:t.shiftKey?i=1:(t.preventDefault(),o=-1);break;case 40:t.shiftKey?i=-1:(t.preventDefault(),o=1);break;default:return}return{cameraAnimation:function(s){var l=s.getZoom();s.easeTo({duration:300,easeId:"keyboardHandler",easing:ii,zoom:r?Math.round(l)+r*(t.shiftKey?2:1):l,bearing:s.getBearing()+n*e._bearingStep,pitch:s.getPitch()+i*e._pitchStep,offset:[-a*e._panStep,-o*e._panStep],center:s.getCenter()},{originalEvent:t})}}}},ni.prototype.enable=function(){this._enabled=!0},ni.prototype.disable=function(){this._enabled=!1,this.reset()},ni.prototype.isEnabled=function(){return this._enabled},ni.prototype.isActive=function(){return this._active};var ai=function(e,r){this._map=e,this._el=e.getCanvasContainer(),this._handler=r,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=1/450,t.bindAll(["_onWheel","_onTimeout","_onScrollFrame","_onScrollFinished"],this)};ai.prototype.setZoomRate=function(t){this._defaultZoomRate=t},ai.prototype.setWheelZoomRate=function(t){this._wheelZoomRate=t},ai.prototype.isEnabled=function(){return!!this._enabled},ai.prototype.isActive=function(){return!!this._active||void 0!==this._finishTimeout},ai.prototype.isZooming=function(){return!!this._zooming},ai.prototype.enable=function(t){this.isEnabled()||(this._enabled=!0,this._aroundCenter=t&&"center"===t.around)},ai.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)},ai.prototype.wheel=function(e){if(this.isEnabled()){var r=e.deltaMode===t.window.WheelEvent.DOM_DELTA_LINE?40*e.deltaY:e.deltaY,n=t.browser.now(),i=n-(this._lastWheelEventTime||0);this._lastWheelEventTime=n,0!==r&&r%4.000244140625==0?this._type="wheel":0!==r&&Math.abs(r)<4?this._type="trackpad":i>400?(this._type=null,this._lastValue=r,this._timeout=setTimeout(this._onTimeout,40,e)):this._type||(this._type=Math.abs(i*r)<200?"trackpad":"wheel",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,r+=this._lastValue)),e.shiftKey&&r&&(r/=4),this._type&&(this._lastWheelEvent=e,this._delta-=r,this._active||this._start(e)),e.preventDefault()}},ai.prototype._onTimeout=function(t){this._type="wheel",this._delta-=this._lastValue,this._active||this._start(t)},ai.prototype._start=function(e){if(this._delta){this._frameId&&(this._frameId=null),this._active=!0,this.isZooming()||(this._zooming=!0),this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout);var n=r.mousePos(this._el,e);this._around=t.LngLat.convert(this._aroundCenter?this._map.getCenter():this._map.unproject(n)),this._aroundPoint=this._map.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._handler._triggerRenderFrame())}},ai.prototype.renderFrame=function(){return this._onScrollFrame()},ai.prototype._onScrollFrame=function(){var e=this;if(this._frameId&&(this._frameId=null,this.isActive())){var r=this._map.transform;if(0!==this._delta){var n="wheel"===this._type&&Math.abs(this._delta)>4.000244140625?this._wheelZoomRate:this._defaultZoomRate,i=2/(1+Math.exp(-Math.abs(this._delta*n)));this._delta<0&&0!==i&&(i=1/i);var a="number"==typeof this._targetZoom?r.zoomScale(this._targetZoom):r.scale;this._targetZoom=Math.min(r.maxZoom,Math.max(r.minZoom,r.scaleZoom(a*i))),"wheel"===this._type&&(this._startZoom=r.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}var o,s="number"==typeof this._targetZoom?this._targetZoom:r.zoom,l=this._startZoom,c=this._easing,u=!1;if("wheel"===this._type&&l&&c){var f=Math.min((t.browser.now()-this._lastWheelEventTime)/200,1),h=c(f);o=t.number(l,s,h),f<1?this._frameId||(this._frameId=!0):u=!0}else o=s,u=!0;return this._active=!0,u&&(this._active=!1,this._finishTimeout=setTimeout((function(){e._zooming=!1,e._handler._triggerRenderFrame(),delete e._targetZoom,delete e._finishTimeout}),200)),{noInertia:!0,needsRenderFrame:!u,zoomDelta:o-r.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}},ai.prototype._smoothOutEasing=function(e){var r=t.ease;if(this._prevEase){var n=this._prevEase,i=(t.browser.now()-n.start)/n.duration,a=n.easing(i+.01)-n.easing(i),o=.27/Math.sqrt(a*a+1e-4)*.01,s=Math.sqrt(.0729-o*o);r=t.bezier(o,s,.25,1)}return this._prevEase={start:t.browser.now(),duration:e,easing:r},r},ai.prototype.reset=function(){this._active=!1};var oi=function(t,e){this._clickZoom=t,this._tapZoom=e};oi.prototype.enable=function(){this._clickZoom.enable(),this._tapZoom.enable()},oi.prototype.disable=function(){this._clickZoom.disable(),this._tapZoom.disable()},oi.prototype.isEnabled=function(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()},oi.prototype.isActive=function(){return this._clickZoom.isActive()||this._tapZoom.isActive()};var si=function(){this.reset()};si.prototype.reset=function(){this._active=!1},si.prototype.dblclick=function(t,e){return t.preventDefault(),{cameraAnimation:function(r){r.easeTo({duration:300,zoom:r.getZoom()+(t.shiftKey?-1:1),around:r.unproject(e)},{originalEvent:t})}}},si.prototype.enable=function(){this._enabled=!0},si.prototype.disable=function(){this._enabled=!1,this.reset()},si.prototype.isEnabled=function(){return this._enabled},si.prototype.isActive=function(){return this._active};var li=function(){this._tap=new Un({numTouches:1,numTaps:1}),this.reset()};li.prototype.reset=function(){this._active=!1,delete this._swipePoint,delete this._swipeTouch,delete this._tapTime,this._tap.reset()},li.prototype.touchstart=function(t,e,r){this._swipePoint||(this._tapTime&&t.timeStamp-this._tapTime>500&&this.reset(),this._tapTime?r.length>0&&(this._swipePoint=e[0],this._swipeTouch=r[0].identifier):this._tap.touchstart(t,e,r))},li.prototype.touchmove=function(t,e,r){if(this._tapTime){if(this._swipePoint){if(r[0].identifier!==this._swipeTouch)return;var n=e[0],i=n.y-this._swipePoint.y;return this._swipePoint=n,t.preventDefault(),this._active=!0,{zoomDelta:i/128}}}else this._tap.touchmove(t,e,r)},li.prototype.touchend=function(t,e,r){this._tapTime?this._swipePoint&&0===r.length&&this.reset():this._tap.touchend(t,e,r)&&(this._tapTime=t.timeStamp)},li.prototype.touchcancel=function(){this.reset()},li.prototype.enable=function(){this._enabled=!0},li.prototype.disable=function(){this._enabled=!1,this.reset()},li.prototype.isEnabled=function(){return this._enabled},li.prototype.isActive=function(){return this._active};var ci=function(t,e,r){this._el=t,this._mousePan=e,this._touchPan=r};ci.prototype.enable=function(t){this._inertiaOptions=t||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add("mapboxgl-touch-drag-pan")},ci.prototype.disable=function(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove("mapboxgl-touch-drag-pan")},ci.prototype.isEnabled=function(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()},ci.prototype.isActive=function(){return this._mousePan.isActive()||this._touchPan.isActive()};var ui=function(t,e,r){this._pitchWithRotate=t.pitchWithRotate,this._mouseRotate=e,this._mousePitch=r};ui.prototype.enable=function(){this._mouseRotate.enable(),this._pitchWithRotate&&this._mousePitch.enable()},ui.prototype.disable=function(){this._mouseRotate.disable(),this._mousePitch.disable()},ui.prototype.isEnabled=function(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())},ui.prototype.isActive=function(){return this._mouseRotate.isActive()||this._mousePitch.isActive()};var fi=function(t,e,r,n){this._el=t,this._touchZoom=e,this._touchRotate=r,this._tapDragZoom=n,this._rotationDisabled=!1,this._enabled=!0};fi.prototype.enable=function(t){this._touchZoom.enable(t),this._rotationDisabled||this._touchRotate.enable(t),this._tapDragZoom.enable(),this._el.classList.add("mapboxgl-touch-zoom-rotate")},fi.prototype.disable=function(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove("mapboxgl-touch-zoom-rotate")},fi.prototype.isEnabled=function(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()},fi.prototype.isActive=function(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()},fi.prototype.disableRotation=function(){this._rotationDisabled=!0,this._touchRotate.disable()},fi.prototype.enableRotation=function(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable()};var hi=function(t){return t.zoom||t.drag||t.pitch||t.rotate},pi=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e}(t.Event);function di(t){return t.panDelta&&t.panDelta.mag()||t.zoomDelta||t.bearingDelta||t.pitchDelta}var gi=function(e,n){this._map=e,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new Ln(e),this._bearingSnap=n.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(n),t.bindAll(["handleEvent","handleWindowEvent"],this);var i=this._el;this._listeners=[[i,"touchstart",{passive:!1}],[i,"touchmove",{passive:!1}],[i,"touchend",void 0],[i,"touchcancel",void 0],[i,"mousedown",void 0],[i,"mousemove",void 0],[i,"mouseup",void 0],[t.window.document,"mousemove",{capture:!0}],[t.window.document,"mouseup",void 0],[i,"mouseover",void 0],[i,"mouseout",void 0],[i,"dblclick",void 0],[i,"click",void 0],[i,"keydown",{capture:!1}],[i,"keyup",void 0],[i,"wheel",{passive:!1}],[i,"contextmenu",void 0],[t.window,"blur",void 0]];for(var a=0,o=this._listeners;a<o.length;a+=1){var s=o[a],l=s[0];r.addEventListener(l,s[1],l===t.window.document?this.handleWindowEvent:this.handleEvent,s[2])}};gi.prototype.destroy=function(){for(var e=0,n=this._listeners;e<n.length;e+=1){var i=n[e],a=i[0];r.removeEventListener(a,i[1],a===t.window.document?this.handleWindowEvent:this.handleEvent,i[2])}},gi.prototype._addDefaultHandlers=function(t){var e=this._map,r=e.getCanvasContainer();this._add("mapEvent",new Rn(e,t));var n=e.boxZoom=new Bn(e,t);this._add("boxZoom",n);var i=new Vn,a=new si;e.doubleClickZoom=new oi(a,i),this._add("tapZoom",i),this._add("clickZoom",a);var o=new li;this._add("tapDragZoom",o);var s=e.touchPitch=new ei;this._add("touchPitch",s);var l=new Gn(t),c=new Yn(t);e.dragRotate=new ui(t,l,c),this._add("mouseRotate",l,["mousePitch"]),this._add("mousePitch",c,["mouseRotate"]);var u=new Hn(t),f=new Wn(t);e.dragPan=new ci(r,u,f),this._add("mousePan",u),this._add("touchPan",f,["touchZoom","touchRotate"]);var h=new $n,p=new Kn;e.touchZoomRotate=new fi(r,p,h,o),this._add("touchRotate",h,["touchPan","touchZoom"]),this._add("touchZoom",p,["touchPan","touchRotate"]);var d=e.scrollZoom=new ai(e,this);this._add("scrollZoom",d,["mousePan"]);var g=e.keyboard=new ni;this._add("keyboard",g),this._add("blockableMapEvent",new Fn(e));for(var m=0,v=["boxZoom","doubleClickZoom","tapDragZoom","touchPitch","dragRotate","dragPan","touchZoomRotate","scrollZoom","keyboard"];m<v.length;m+=1){var y=v[m];t.interactive&&t[y]&&e[y].enable(t[y])}},gi.prototype._add=function(t,e,r){this._handlers.push({handlerName:t,handler:e,allowed:r}),this._handlersById[t]=e},gi.prototype.stop=function(){if(!this._updatingCamera){for(var t=0,e=this._handlers;t<e.length;t+=1)e[t].handler.reset();this._inertia.clear(),this._fireEvents({},{}),this._changes=[]}},gi.prototype.isActive=function(){for(var t=0,e=this._handlers;t<e.length;t+=1)if(e[t].handler.isActive())return!0;return!1},gi.prototype.isZooming=function(){return!!this._eventsInProgress.zoom||this._map.scrollZoom.isZooming()},gi.prototype.isRotating=function(){return!!this._eventsInProgress.rotate},gi.prototype.isMoving=function(){return Boolean(hi(this._eventsInProgress))||this.isZooming()},gi.prototype._blockedByActive=function(t,e,r){for(var n in t)if(n!==r&&(!e||e.indexOf(n)<0))return!0;return!1},gi.prototype.handleWindowEvent=function(t){this.handleEvent(t,t.type+"Window")},gi.prototype._getMapTouches=function(t){for(var e=[],r=0,n=t;r<n.length;r+=1){var i=n[r];this._el.contains(i.target)&&e.push(i)}return e},gi.prototype.handleEvent=function(t,e){if("blur"!==t.type){this._updatingCamera=!0;for(var n="renderFrame"===t.type?void 0:t,i={needsRenderFrame:!1},a={},o={},s=t.touches?this._getMapTouches(t.touches):void 0,l=s?r.touchPos(this._el,s):r.mousePos(this._el,t),c=0,u=this._handlers;c<u.length;c+=1){var f=u[c],h=f.handlerName,p=f.handler,d=f.allowed;if(p.isEnabled()){var g=void 0;this._blockedByActive(o,d,h)?p.reset():p[e||t.type]&&(g=p[e||t.type](t,l,s),this.mergeHandlerResult(i,a,g,h,n),g&&g.needsRenderFrame&&this._triggerRenderFrame()),(g||p.isActive())&&(o[h]=p)}}var m={};for(var v in this._previousActiveHandlers)o[v]||(m[v]=n);this._previousActiveHandlers=o,(Object.keys(m).length||di(i))&&(this._changes.push([i,a,m]),this._triggerRenderFrame()),(Object.keys(o).length||di(i))&&this._map._stop(!0),this._updatingCamera=!1;var y=i.cameraAnimation;y&&(this._inertia.clear(),this._fireEvents({},{}),this._changes=[],y(this._map))}else this.stop()},gi.prototype.mergeHandlerResult=function(e,r,n,i,a){if(n){t.extend(e,n);var o={handlerName:i,originalEvent:n.originalEvent||a};void 0!==n.zoomDelta&&(r.zoom=o),void 0!==n.panDelta&&(r.drag=o),void 0!==n.pitchDelta&&(r.pitch=o),void 0!==n.bearingDelta&&(r.rotate=o)}},gi.prototype._applyChanges=function(){for(var e={},r={},n={},i=0,a=this._changes;i<a.length;i+=1){var o=a[i],s=o[0],l=o[1],c=o[2];s.panDelta&&(e.panDelta=(e.panDelta||new t.Point(0,0))._add(s.panDelta)),s.zoomDelta&&(e.zoomDelta=(e.zoomDelta||0)+s.zoomDelta),s.bearingDelta&&(e.bearingDelta=(e.bearingDelta||0)+s.bearingDelta),s.pitchDelta&&(e.pitchDelta=(e.pitchDelta||0)+s.pitchDelta),void 0!==s.around&&(e.around=s.around),void 0!==s.pinchAround&&(e.pinchAround=s.pinchAround),s.noInertia&&(e.noInertia=s.noInertia),t.extend(r,l),t.extend(n,c)}this._updateMapTransform(e,r,n),this._changes=[]},gi.prototype._updateMapTransform=function(t,e,r){var n=this._map,i=n.transform;if(!di(t))return this._fireEvents(e,r);var a=t.panDelta,o=t.zoomDelta,s=t.bearingDelta,l=t.pitchDelta,c=t.around,u=t.pinchAround;void 0!==u&&(c=u),n._stop(!0),c=c||n.transform.centerPoint;var f=i.pointLocation(a?c.sub(a):c);s&&(i.bearing+=s),l&&(i.pitch+=l),o&&(i.zoom+=o),i.setLocationAtPoint(f,c),this._map._update(),t.noInertia||this._inertia.record(t),this._fireEvents(e,r)},gi.prototype._fireEvents=function(e,r){var n=this,i=hi(this._eventsInProgress),a=hi(e),o={};for(var s in e)this._eventsInProgress[s]||(o[s+"start"]=e[s].originalEvent),this._eventsInProgress[s]=e[s];for(var l in!i&&a&&this._fireEvent("movestart",a.originalEvent),o)this._fireEvent(l,o[l]);for(var c in e.rotate&&(this._bearingChanged=!0),a&&this._fireEvent("move",a.originalEvent),e)this._fireEvent(c,e[c].originalEvent);var u,f={};for(var h in this._eventsInProgress){var p=this._eventsInProgress[h],d=p.handlerName,g=p.originalEvent;this._handlersById[d].isActive()||(delete this._eventsInProgress[h],f[h+"end"]=u=r[d]||g)}for(var m in f)this._fireEvent(m,f[m]);var v=hi(this._eventsInProgress);if((i||a)&&!v){this._updatingCamera=!0;var y=this._inertia._onMoveEnd(this._map.dragPan._inertiaOptions),x=function(t){return 0!==t&&-n._bearingSnap<t&&t<n._bearingSnap};y?(x(y.bearing||this._map.getBearing())&&(y.bearing=0),this._map.easeTo(y,{originalEvent:u})):(this._map.fire(new t.Event("moveend",{originalEvent:u})),x(this._map.getBearing())&&this._map.resetNorth()),this._bearingChanged=!1,this._updatingCamera=!1}},gi.prototype._fireEvent=function(e,r){this._map.fire(new t.Event(e,r?{originalEvent:r}:{}))},gi.prototype._triggerRenderFrame=function(){var t=this;void 0===this._frameId&&(this._frameId=this._map._requestRenderFrame((function(e){delete t._frameId,t.handleEvent(new pi("renderFrame",{timeStamp:e})),t._applyChanges()})))};var mi=function(e){function r(r,n){e.call(this),this._moving=!1,this._zooming=!1,this.transform=r,this._bearingSnap=n.bearingSnap,t.bindAll(["_renderFrameCallback"],this)}return e&&(r.__proto__=e),(r.prototype=Object.create(e&&e.prototype)).constructor=r,r.prototype.getCenter=function(){return new t.LngLat(this.transform.center.lng,this.transform.center.lat)},r.prototype.setCenter=function(t,e){return this.jumpTo({center:t},e)},r.prototype.panBy=function(e,r,n){return e=t.Point.convert(e).mult(-1),this.panTo(this.transform.center,t.extend({offset:e},r),n)},r.prototype.panTo=function(e,r,n){return this.easeTo(t.extend({center:e},r),n)},r.prototype.getZoom=function(){return this.transform.zoom},r.prototype.setZoom=function(t,e){return this.jumpTo({zoom:t},e),this},r.prototype.zoomTo=function(e,r,n){return this.easeTo(t.extend({zoom:e},r),n)},r.prototype.zoomIn=function(t,e){return this.zoomTo(this.getZoom()+1,t,e),this},r.prototype.zoomOut=function(t,e){return this.zoomTo(this.getZoom()-1,t,e),this},r.prototype.getBearing=function(){return this.transform.bearing},r.prototype.setBearing=function(t,e){return this.jumpTo({bearing:t},e),this},r.prototype.getPadding=function(){return this.transform.padding},r.prototype.setPadding=function(t,e){return this.jumpTo({padding:t},e),this},r.prototype.rotateTo=function(e,r,n){return this.easeTo(t.extend({bearing:e},r),n)},r.prototype.resetNorth=function(e,r){return this.rotateTo(0,t.extend({duration:1e3},e),r),this},r.prototype.resetNorthPitch=function(e,r){return this.easeTo(t.extend({bearing:0,pitch:0,duration:1e3},e),r),this},r.prototype.snapToNorth=function(t,e){return Math.abs(this.getBearing())<this._bearingSnap?this.resetNorth(t,e):this},r.prototype.getPitch=function(){return this.transform.pitch},r.prototype.setPitch=function(t,e){return this.jumpTo({pitch:t},e),this},r.prototype.cameraForBounds=function(e,r){return e=t.LngLatBounds.convert(e),this._cameraForBoxAndBearing(e.getNorthWest(),e.getSouthEast(),0,r)},r.prototype._cameraForBoxAndBearing=function(e,r,n,i){var a={top:0,bottom:0,right:0,left:0};if("number"==typeof(i=t.extend({padding:a,offset:[0,0],maxZoom:this.transform.maxZoom},i)).padding){var o=i.padding;i.padding={top:o,bottom:o,right:o,left:o}}i.padding=t.extend(a,i.padding);var s=this.transform,l=s.padding,c=s.project(t.LngLat.convert(e)),u=s.project(t.LngLat.convert(r)),f=c.rotate(-n*Math.PI/180),h=u.rotate(-n*Math.PI/180),p=new t.Point(Math.max(f.x,h.x),Math.max(f.y,h.y)),d=new t.Point(Math.min(f.x,h.x),Math.min(f.y,h.y)),g=p.sub(d),m=(s.width-(l.left+l.right+i.padding.left+i.padding.right))/g.x,v=(s.height-(l.top+l.bottom+i.padding.top+i.padding.bottom))/g.y;if(!(v<0||m<0)){var y=Math.min(s.scaleZoom(s.scale*Math.min(m,v)),i.maxZoom),x=t.Point.convert(i.offset),b=new t.Point(x.x+(i.padding.left-i.padding.right)/2,x.y+(i.padding.top-i.padding.bottom)/2).mult(s.scale/s.zoomScale(y));return{center:s.unproject(c.add(u).div(2).sub(b)),zoom:y,bearing:n}}t.warnOnce("Map cannot fit within canvas with the given bounds, padding, and/or offset.")},r.prototype.fitBounds=function(t,e,r){return this._fitInternal(this.cameraForBounds(t,e),e,r)},r.prototype.fitScreenCoordinates=function(e,r,n,i,a){return this._fitInternal(this._cameraForBoxAndBearing(this.transform.pointLocation(t.Point.convert(e)),this.transform.pointLocation(t.Point.convert(r)),n,i),i,a)},r.prototype._fitInternal=function(e,r,n){return e?(delete(r=t.extend(e,r)).padding,r.linear?this.easeTo(r,n):this.flyTo(r,n)):this},r.prototype.jumpTo=function(e,r){this.stop();var n=this.transform,i=!1,a=!1,o=!1;return"zoom"in e&&n.zoom!==+e.zoom&&(i=!0,n.zoom=+e.zoom),void 0!==e.center&&(n.center=t.LngLat.convert(e.center)),"bearing"in e&&n.bearing!==+e.bearing&&(a=!0,n.bearing=+e.bearing),"pitch"in e&&n.pitch!==+e.pitch&&(o=!0,n.pitch=+e.pitch),null==e.padding||n.isPaddingEqual(e.padding)||(n.padding=e.padding),this.fire(new t.Event("movestart",r)).fire(new t.Event("move",r)),i&&this.fire(new t.Event("zoomstart",r)).fire(new t.Event("zoom",r)).fire(new t.Event("zoomend",r)),a&&this.fire(new t.Event("rotatestart",r)).fire(new t.Event("rotate",r)).fire(new t.Event("rotateend",r)),o&&this.fire(new t.Event("pitchstart",r)).fire(new t.Event("pitch",r)).fire(new t.Event("pitchend",r)),this.fire(new t.Event("moveend",r))},r.prototype.easeTo=function(e,r){var n=this;this._stop(!1,e.easeId),(!1===(e=t.extend({offset:[0,0],duration:500,easing:t.ease},e)).animate||!e.essential&&t.browser.prefersReducedMotion)&&(e.duration=0);var i=this.transform,a=this.getZoom(),o=this.getBearing(),s=this.getPitch(),l=this.getPadding(),c="zoom"in e?+e.zoom:a,u="bearing"in e?this._normalizeBearing(e.bearing,o):o,f="pitch"in e?+e.pitch:s,h="padding"in e?e.padding:i.padding,p=t.Point.convert(e.offset),d=i.centerPoint.add(p),g=i.pointLocation(d),m=t.LngLat.convert(e.center||g);this._normalizeCenter(m);var v,y,x=i.project(g),b=i.project(m).sub(x),_=i.zoomScale(c-a);e.around&&(v=t.LngLat.convert(e.around),y=i.locationPoint(v));var w={moving:this._moving,zooming:this._zooming,rotating:this._rotating,pitching:this._pitching};return this._zooming=this._zooming||c!==a,this._rotating=this._rotating||o!==u,this._pitching=this._pitching||f!==s,this._padding=!i.isPaddingEqual(h),this._easeId=e.easeId,this._prepareEase(r,e.noMoveStart,w),clearTimeout(this._easeEndTimeoutID),this._ease((function(e){if(n._zooming&&(i.zoom=t.number(a,c,e)),n._rotating&&(i.bearing=t.number(o,u,e)),n._pitching&&(i.pitch=t.number(s,f,e)),n._padding&&(i.interpolatePadding(l,h,e),d=i.centerPoint.add(p)),v)i.setLocationAtPoint(v,y);else{var g=i.zoomScale(i.zoom-a),m=c>a?Math.min(2,_):Math.max(.5,_),w=Math.pow(m,1-e),T=i.unproject(x.add(b.mult(e*w)).mult(g));i.setLocationAtPoint(i.renderWorldCopies?T.wrap():T,d)}n._fireMoveEvents(r)}),(function(t){n._afterEase(r,t)}),e),this},r.prototype._prepareEase=function(e,r,n){void 0===n&&(n={}),this._moving=!0,r||n.moving||this.fire(new t.Event("movestart",e)),this._zooming&&!n.zooming&&this.fire(new t.Event("zoomstart",e)),this._rotating&&!n.rotating&&this.fire(new t.Event("rotatestart",e)),this._pitching&&!n.pitching&&this.fire(new t.Event("pitchstart",e))},r.prototype._fireMoveEvents=function(e){this.fire(new t.Event("move",e)),this._zooming&&this.fire(new t.Event("zoom",e)),this._rotating&&this.fire(new t.Event("rotate",e)),this._pitching&&this.fire(new t.Event("pitch",e))},r.prototype._afterEase=function(e,r){if(!this._easeId||!r||this._easeId!==r){delete this._easeId;var n=this._zooming,i=this._rotating,a=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,n&&this.fire(new t.Event("zoomend",e)),i&&this.fire(new t.Event("rotateend",e)),a&&this.fire(new t.Event("pitchend",e)),this.fire(new t.Event("moveend",e))}},r.prototype.flyTo=function(e,r){var n=this;if(!e.essential&&t.browser.prefersReducedMotion){var i=t.pick(e,["center","zoom","bearing","pitch","around"]);return this.jumpTo(i,r)}this.stop(),e=t.extend({offset:[0,0],speed:1.2,curve:1.42,easing:t.ease},e);var a=this.transform,o=this.getZoom(),s=this.getBearing(),l=this.getPitch(),c=this.getPadding(),u="zoom"in e?t.clamp(+e.zoom,a.minZoom,a.maxZoom):o,f="bearing"in e?this._normalizeBearing(e.bearing,s):s,h="pitch"in e?+e.pitch:l,p="padding"in e?e.padding:a.padding,d=a.zoomScale(u-o),g=t.Point.convert(e.offset),m=a.centerPoint.add(g),v=a.pointLocation(m),y=t.LngLat.convert(e.center||v);this._normalizeCenter(y);var x=a.project(v),b=a.project(y).sub(x),_=e.curve,w=Math.max(a.width,a.height),T=w/d,k=b.mag();if("minZoom"in e){var M=t.clamp(Math.min(e.minZoom,o,u),a.minZoom,a.maxZoom),A=w/a.zoomScale(M-o);_=Math.sqrt(A/k*2)}var S=_*_;function E(t){var e=(T*T-w*w+(t?-1:1)*S*S*k*k)/(2*(t?T:w)*S*k);return Math.log(Math.sqrt(e*e+1)-e)}function C(t){return(Math.exp(t)-Math.exp(-t))/2}function L(t){return(Math.exp(t)+Math.exp(-t))/2}var I=E(0),P=function(t){return L(I)/L(I+_*t)},z=function(t){return w*((L(I)*(C(e=I+_*t)/L(e))-C(I))/S)/k;var e},O=(E(1)-I)/_;if(Math.abs(k)<1e-6||!isFinite(O)){if(Math.abs(w-T)<1e-6)return this.easeTo(e,r);var D=T<w?-1:1;O=Math.abs(Math.log(T/w))/_,z=function(){return 0},P=function(t){return Math.exp(D*_*t)}}return e.duration="duration"in e?+e.duration:1e3*O/("screenSpeed"in e?+e.screenSpeed/_:+e.speed),e.maxDuration&&e.duration>e.maxDuration&&(e.duration=0),this._zooming=!0,this._rotating=s!==f,this._pitching=h!==l,this._padding=!a.isPaddingEqual(p),this._prepareEase(r,!1),this._ease((function(e){var i=e*O,d=1/P(i);a.zoom=1===e?u:o+a.scaleZoom(d),n._rotating&&(a.bearing=t.number(s,f,e)),n._pitching&&(a.pitch=t.number(l,h,e)),n._padding&&(a.interpolatePadding(c,p,e),m=a.centerPoint.add(g));var v=1===e?y:a.unproject(x.add(b.mult(z(i))).mult(d));a.setLocationAtPoint(a.renderWorldCopies?v.wrap():v,m),n._fireMoveEvents(r)}),(function(){return n._afterEase(r)}),e),this},r.prototype.isEasing=function(){return!!this._easeFrameId},r.prototype.stop=function(){return this._stop()},r.prototype._stop=function(t,e){if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){var r=this._onEaseEnd;delete this._onEaseEnd,r.call(this,e)}if(!t){var n=this.handlers;n&&n.stop()}return this},r.prototype._ease=function(e,r,n){!1===n.animate||0===n.duration?(e(1),r()):(this._easeStart=t.browser.now(),this._easeOptions=n,this._onEaseFrame=e,this._onEaseEnd=r,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))},r.prototype._renderFrameCallback=function(){var e=Math.min((t.browser.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(e)),e<1?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},r.prototype._normalizeBearing=function(e,r){e=t.wrap(e,-180,180);var n=Math.abs(e-r);return Math.abs(e-360-r)<n&&(e-=360),Math.abs(e+360-r)<n&&(e+=360),e},r.prototype._normalizeCenter=function(t){var e=this.transform;if(e.renderWorldCopies&&!e.lngRange){var r=t.lng-e.center.lng;t.lng+=r>180?-360:r<-180?360:0}},r}(t.Evented),vi=function(e){void 0===e&&(e={}),this.options=e,t.bindAll(["_updateEditLink","_updateData","_updateCompact"],this)};vi.prototype.getDefaultPosition=function(){return"bottom-right"},vi.prototype.onAdd=function(t){var e=this.options&&this.options.compact;return this._map=t,this._container=r.create("div","mapboxgl-ctrl mapboxgl-ctrl-attrib"),this._innerContainer=r.create("div","mapboxgl-ctrl-attrib-inner",this._container),e&&this._container.classList.add("mapboxgl-compact"),this._updateAttributions(),this._updateEditLink(),this._map.on("styledata",this._updateData),this._map.on("sourcedata",this._updateData),this._map.on("moveend",this._updateEditLink),void 0===e&&(this._map.on("resize",this._updateCompact),this._updateCompact()),this._container},vi.prototype.onRemove=function(){r.remove(this._container),this._map.off("styledata",this._updateData),this._map.off("sourcedata",this._updateData),this._map.off("moveend",this._updateEditLink),this._map.off("resize",this._updateCompact),this._map=void 0,this._attribHTML=void 0},vi.prototype._updateEditLink=function(){var e=this._editLink;e||(e=this._editLink=this._container.querySelector(".mapbox-improve-map"));var r=[{key:"owner",value:this.styleOwner},{key:"id",value:this.styleId},{key:"access_token",value:this._map._requestManager._customAccessToken||t.config.ACCESS_TOKEN}];if(e){var n=r.reduce((function(t,e,n){return e.value&&(t+=e.key+"="+e.value+(n<r.length-1?"&":"")),t}),"?");e.href=t.config.FEEDBACK_URL+"/"+n+(this._map._hash?this._map._hash.getHashString(!0):""),e.rel="noopener nofollow"}},vi.prototype._updateData=function(t){!t||"metadata"!==t.sourceDataType&&"style"!==t.dataType||(this._updateAttributions(),this._updateEditLink())},vi.prototype._updateAttributions=function(){if(this._map.style){var t=[];if(this.options.customAttribution&&(Array.isArray(this.options.customAttribution)?t=t.concat(this.options.customAttribution.map((function(t){return"string"!=typeof t?"":t}))):"string"==typeof this.options.customAttribution&&t.push(this.options.customAttribution)),this._map.style.stylesheet){var e=this._map.style.stylesheet;this.styleOwner=e.owner,this.styleId=e.id}var r=this._map.style.sourceCaches;for(var n in r){var i=r[n];if(i.used){var a=i.getSource();a.attribution&&t.indexOf(a.attribution)<0&&t.push(a.attribution)}}t.sort((function(t,e){return t.length-e.length}));var o=(t=t.filter((function(e,r){for(var n=r+1;n<t.length;n++)if(t[n].indexOf(e)>=0)return!1;return!0}))).join(" | ");o!==this._attribHTML&&(this._attribHTML=o,t.length?(this._innerContainer.innerHTML=o,this._container.classList.remove("mapboxgl-attrib-empty")):this._container.classList.add("mapboxgl-attrib-empty"),this._editLink=null)}},vi.prototype._updateCompact=function(){this._map.getCanvasContainer().offsetWidth<=640?this._container.classList.add("mapboxgl-compact"):this._container.classList.remove("mapboxgl-compact")};var yi=function(){t.bindAll(["_updateLogo"],this),t.bindAll(["_updateCompact"],this)};yi.prototype.onAdd=function(t){this._map=t,this._container=r.create("div","mapboxgl-ctrl");var e=r.create("a","mapboxgl-ctrl-logo");return e.target="_blank",e.rel="noopener nofollow",e.href="https://www.mapbox.com/",e.setAttribute("aria-label",this._map._getUIString("LogoControl.Title")),e.setAttribute("rel","noopener nofollow"),this._container.appendChild(e),this._container.style.display="none",this._map.on("sourcedata",this._updateLogo),this._updateLogo(),this._map.on("resize",this._updateCompact),this._updateCompact(),this._container},yi.prototype.onRemove=function(){r.remove(this._container),this._map.off("sourcedata",this._updateLogo),this._map.off("resize",this._updateCompact)},yi.prototype.getDefaultPosition=function(){return"bottom-left"},yi.prototype._updateLogo=function(t){t&&"metadata"!==t.sourceDataType||(this._container.style.display=this._logoRequired()?"block":"none")},yi.prototype._logoRequired=function(){if(this._map.style){var t=this._map.style.sourceCaches;for(var e in t)if(t[e].getSource().mapbox_logo)return!0;return!1}},yi.prototype._updateCompact=function(){var t=this._container.children;if(t.length){var e=t[0];this._map.getCanvasContainer().offsetWidth<250?e.classList.add("mapboxgl-compact"):e.classList.remove("mapboxgl-compact")}};var xi=function(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1};xi.prototype.add=function(t){var e=++this._id;return this._queue.push({callback:t,id:e,cancelled:!1}),e},xi.prototype.remove=function(t){for(var e=this._currentlyRunning,r=0,n=e?this._queue.concat(e):this._queue;r<n.length;r+=1){var i=n[r];if(i.id===t)return void(i.cancelled=!0)}},xi.prototype.run=function(t){void 0===t&&(t=0);var e=this._currentlyRunning=this._queue;this._queue=[];for(var r=0,n=e;r<n.length;r+=1){var i=n[r];if(!i.cancelled&&(i.callback(t),this._cleared))break}this._cleared=!1,this._currentlyRunning=!1},xi.prototype.clear=function(){this._currentlyRunning&&(this._cleared=!0),this._queue=[]};var bi={"FullscreenControl.Enter":"Enter fullscreen","FullscreenControl.Exit":"Exit fullscreen","GeolocateControl.FindMyLocation":"Find my location","GeolocateControl.LocationNotAvailable":"Location not available","LogoControl.Title":"Mapbox logo","NavigationControl.ResetBearing":"Reset bearing to north","NavigationControl.ZoomIn":"Zoom in","NavigationControl.ZoomOut":"Zoom out","ScaleControl.Feet":"ft","ScaleControl.Meters":"m","ScaleControl.Kilometers":"km","ScaleControl.Miles":"mi","ScaleControl.NauticalMiles":"nm"},_i=t.window.HTMLImageElement,wi=t.window.HTMLElement,Ti=t.window.ImageBitmap,ki={center:[0,0],zoom:0,bearing:0,pitch:0,minZoom:-2,maxZoom:22,minPitch:0,maxPitch:60,interactive:!0,scrollZoom:!0,boxZoom:!0,dragRotate:!0,dragPan:!0,keyboard:!0,doubleClickZoom:!0,touchZoomRotate:!0,touchPitch:!0,bearingSnap:7,clickTolerance:3,pitchWithRotate:!0,hash:!1,attributionControl:!0,failIfMajorPerformanceCaveat:!1,preserveDrawingBuffer:!1,trackResize:!0,renderWorldCopies:!0,refreshExpiredTiles:!0,maxTileCacheSize:null,localIdeographFontFamily:"sans-serif",transformRequest:null,accessToken:null,fadeDuration:300,crossSourceCollisions:!0},Mi=function(n){function i(e){var r=this;if(null!=(e=t.extend({},ki,e)).minZoom&&null!=e.maxZoom&&e.minZoom>e.maxZoom)throw new Error("maxZoom must be greater than or equal to minZoom");if(null!=e.minPitch&&null!=e.maxPitch&&e.minPitch>e.maxPitch)throw new Error("maxPitch must be greater than or equal to minPitch");if(null!=e.minPitch&&e.minPitch<0)throw new Error("minPitch must be greater than or equal to 0");if(null!=e.maxPitch&&e.maxPitch>60)throw new Error("maxPitch must be less than or equal to 60");var i=new wn(e.minZoom,e.maxZoom,e.minPitch,e.maxPitch,e.renderWorldCopies);if(n.call(this,i,e),this._interactive=e.interactive,this._maxTileCacheSize=e.maxTileCacheSize,this._failIfMajorPerformanceCaveat=e.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=e.preserveDrawingBuffer,this._antialias=e.antialias,this._trackResize=e.trackResize,this._bearingSnap=e.bearingSnap,this._refreshExpiredTiles=e.refreshExpiredTiles,this._fadeDuration=e.fadeDuration,this._crossSourceCollisions=e.crossSourceCollisions,this._crossFadingFactor=1,this._collectResourceTiming=e.collectResourceTiming,this._renderTaskQueue=new xi,this._controls=[],this._mapId=t.uniqueId(),this._locale=t.extend({},bi,e.locale),this._requestManager=new t.RequestManager(e.transformRequest,e.accessToken),"string"==typeof e.container){if(this._container=t.window.document.getElementById(e.container),!this._container)throw new Error("Container '"+e.container+"' not found.")}else{if(!(e.container instanceof wi))throw new Error("Invalid type: 'container' must be a String or HTMLElement.");this._container=e.container}if(e.maxBounds&&this.setMaxBounds(e.maxBounds),t.bindAll(["_onWindowOnline","_onWindowResize","_contextLost","_contextRestored"],this),this._setupContainer(),this._setupPainter(),void 0===this.painter)throw new Error("Failed to initialize WebGL.");this.on("move",(function(){return r._update(!1)})),this.on("moveend",(function(){return r._update(!1)})),this.on("zoom",(function(){return r._update(!0)})),void 0!==t.window&&(t.window.addEventListener("online",this._onWindowOnline,!1),t.window.addEventListener("resize",this._onWindowResize,!1)),this.handlers=new gi(this,e),this._hash=e.hash&&new kn("string"==typeof e.hash&&e.hash||void 0).addTo(this),this._hash&&this._hash._onHashChange()||(this.jumpTo({center:e.center,zoom:e.zoom,bearing:e.bearing,pitch:e.pitch}),e.bounds&&(this.resize(),this.fitBounds(e.bounds,t.extend({},e.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=e.localIdeographFontFamily,e.style&&this.setStyle(e.style,{localIdeographFontFamily:e.localIdeographFontFamily}),e.attributionControl&&this.addControl(new vi({customAttribution:e.customAttribution})),this.addControl(new yi,e.logoPosition),this.on("style.load",(function(){r.transform.unmodified&&r.jumpTo(r.style.stylesheet)})),this.on("data",(function(e){r._update("style"===e.dataType),r.fire(new t.Event(e.dataType+"data",e))})),this.on("dataloading",(function(e){r.fire(new t.Event(e.dataType+"dataloading",e))}))}n&&(i.__proto__=n),(i.prototype=Object.create(n&&n.prototype)).constructor=i;var a={showTileBoundaries:{configurable:!0},showPadding:{configurable:!0},showCollisionBoxes:{configurable:!0},showOverdrawInspector:{configurable:!0},repaint:{configurable:!0},vertices:{configurable:!0},version:{configurable:!0}};return i.prototype._getMapId=function(){return this._mapId},i.prototype.addControl=function(e,r){if(void 0===r&&e.getDefaultPosition&&(r=e.getDefaultPosition()),void 0===r&&(r="top-right"),!e||!e.onAdd)return this.fire(new t.ErrorEvent(new Error("Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.")));var n=e.onAdd(this);this._controls.push(e);var i=this._controlPositions[r];return-1!==r.indexOf("bottom")?i.insertBefore(n,i.firstChild):i.appendChild(n),this},i.prototype.removeControl=function(e){if(!e||!e.onRemove)return this.fire(new t.ErrorEvent(new Error("Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.")));var r=this._controls.indexOf(e);return r>-1&&this._controls.splice(r,1),e.onRemove(this),this},i.prototype.resize=function(e){var r=this._containerDimensions(),n=r[0],i=r[1];this._resizeCanvas(n,i),this.transform.resize(n,i),this.painter.resize(n,i);var a=!this._moving;return a&&(this.stop(),this.fire(new t.Event("movestart",e)).fire(new t.Event("move",e))),this.fire(new t.Event("resize",e)),a&&this.fire(new t.Event("moveend",e)),this},i.prototype.getBounds=function(){return this.transform.getBounds()},i.prototype.getMaxBounds=function(){return this.transform.getMaxBounds()},i.prototype.setMaxBounds=function(e){return this.transform.setMaxBounds(t.LngLatBounds.convert(e)),this._update()},i.prototype.setMinZoom=function(t){if((t=null==t?-2:t)>=-2&&t<=this.transform.maxZoom)return this.transform.minZoom=t,this._update(),this.getZoom()<t&&this.setZoom(t),this;throw new Error("minZoom must be between -2 and the current maxZoom, inclusive")},i.prototype.getMinZoom=function(){return this.transform.minZoom},i.prototype.setMaxZoom=function(t){if((t=null==t?22:t)>=this.transform.minZoom)return this.transform.maxZoom=t,this._update(),this.getZoom()>t&&this.setZoom(t),this;throw new Error("maxZoom must be greater than the current minZoom")},i.prototype.getMaxZoom=function(){return this.transform.maxZoom},i.prototype.setMinPitch=function(t){if((t=null==t?0:t)<0)throw new Error("minPitch must be greater than or equal to 0");if(t>=0&&t<=this.transform.maxPitch)return this.transform.minPitch=t,this._update(),this.getPitch()<t&&this.setPitch(t),this;throw new Error("minPitch must be between 0 and the current maxPitch, inclusive")},i.prototype.getMinPitch=function(){return this.transform.minPitch},i.prototype.setMaxPitch=function(t){if((t=null==t?60:t)>60)throw new Error("maxPitch must be less than or equal to 60");if(t>=this.transform.minPitch)return this.transform.maxPitch=t,this._update(),this.getPitch()>t&&this.setPitch(t),this;throw new Error("maxPitch must be greater than the current minPitch")},i.prototype.getMaxPitch=function(){return this.transform.maxPitch},i.prototype.getRenderWorldCopies=function(){return this.transform.renderWorldCopies},i.prototype.setRenderWorldCopies=function(t){return this.transform.renderWorldCopies=t,this._update()},i.prototype.project=function(e){return this.transform.locationPoint(t.LngLat.convert(e))},i.prototype.unproject=function(e){return this.transform.pointLocation(t.Point.convert(e))},i.prototype.isMoving=function(){return this._moving||this.handlers.isMoving()},i.prototype.isZooming=function(){return this._zooming||this.handlers.isZooming()},i.prototype.isRotating=function(){return this._rotating||this.handlers.isRotating()},i.prototype._createDelegatedListener=function(t,e,r){var n,i=this;if("mouseenter"===t||"mouseover"===t){var a=!1;return{layer:e,listener:r,delegates:{mousemove:function(n){var o=i.getLayer(e)?i.queryRenderedFeatures(n.point,{layers:[e]}):[];o.length?a||(a=!0,r.call(i,new zn(t,i,n.originalEvent,{features:o}))):a=!1},mouseout:function(){a=!1}}}}if("mouseleave"===t||"mouseout"===t){var o=!1;return{layer:e,listener:r,delegates:{mousemove:function(n){(i.getLayer(e)?i.queryRenderedFeatures(n.point,{layers:[e]}):[]).length?o=!0:o&&(o=!1,r.call(i,new zn(t,i,n.originalEvent)))},mouseout:function(e){o&&(o=!1,r.call(i,new zn(t,i,e.originalEvent)))}}}}return{layer:e,listener:r,delegates:(n={},n[t]=function(t){var n=i.getLayer(e)?i.queryRenderedFeatures(t.point,{layers:[e]}):[];n.length&&(t.features=n,r.call(i,t),delete t.features)},n)}},i.prototype.on=function(t,e,r){if(void 0===r)return n.prototype.on.call(this,t,e);var i=this._createDelegatedListener(t,e,r);for(var a in this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[t]=this._delegatedListeners[t]||[],this._delegatedListeners[t].push(i),i.delegates)this.on(a,i.delegates[a]);return this},i.prototype.once=function(t,e,r){if(void 0===r)return n.prototype.once.call(this,t,e);var i=this._createDelegatedListener(t,e,r);for(var a in i.delegates)this.once(a,i.delegates[a]);return this},i.prototype.off=function(t,e,r){var i=this;return void 0===r?n.prototype.off.call(this,t,e):(this._delegatedListeners&&this._delegatedListeners[t]&&function(n){for(var a=n[t],o=0;o<a.length;o++){var s=a[o];if(s.layer===e&&s.listener===r){for(var l in s.delegates)i.off(l,s.delegates[l]);return a.splice(o,1),i}}}(this._delegatedListeners),this)},i.prototype.queryRenderedFeatures=function(e,r){if(!this.style)return[];var n;if(void 0!==r||void 0===e||e instanceof t.Point||Array.isArray(e)||(r=e,e=void 0),r=r||{},(e=e||[[0,0],[this.transform.width,this.transform.height]])instanceof t.Point||"number"==typeof e[0])n=[t.Point.convert(e)];else{var i=t.Point.convert(e[0]),a=t.Point.convert(e[1]);n=[i,new t.Point(a.x,i.y),a,new t.Point(i.x,a.y),i]}return this.style.queryRenderedFeatures(n,r,this.transform)},i.prototype.querySourceFeatures=function(t,e){return this.style.querySourceFeatures(t,e)},i.prototype.setStyle=function(e,r){return!1!==(r=t.extend({},{localIdeographFontFamily:this._localIdeographFontFamily},r)).diff&&r.localIdeographFontFamily===this._localIdeographFontFamily&&this.style&&e?(this._diffStyle(e,r),this):(this._localIdeographFontFamily=r.localIdeographFontFamily,this._updateStyle(e,r))},i.prototype._getUIString=function(t){var e=this._locale[t];if(null==e)throw new Error("Missing UI string '"+t+"'");return e},i.prototype._updateStyle=function(t,e){return this.style&&(this.style.setEventedParent(null),this.style._remove()),t?(this.style=new qe(this,e||{}),this.style.setEventedParent(this,{style:this.style}),"string"==typeof t?this.style.loadURL(t):this.style.loadJSON(t),this):(delete this.style,this)},i.prototype._lazyInitEmptyStyle=function(){this.style||(this.style=new qe(this,{}),this.style.setEventedParent(this,{style:this.style}),this.style.loadEmpty())},i.prototype._diffStyle=function(e,r){var n=this;if("string"==typeof e){var i=this._requestManager.normalizeStyleURL(e),a=this._requestManager.transformRequest(i,t.ResourceType.Style);t.getJSON(a,(function(e,i){e?n.fire(new t.ErrorEvent(e)):i&&n._updateDiff(i,r)}))}else"object"==typeof e&&this._updateDiff(e,r)},i.prototype._updateDiff=function(e,r){try{this.style.setState(e)&&this._update(!0)}catch(n){t.warnOnce("Unable to perform style diff: "+(n.message||n.error||n)+". Rebuilding the style from scratch."),this._updateStyle(e,r)}},i.prototype.getStyle=function(){if(this.style)return this.style.serialize()},i.prototype.isStyleLoaded=function(){return this.style?this.style.loaded():t.warnOnce("There is no style added to the map.")},i.prototype.addSource=function(t,e){return this._lazyInitEmptyStyle(),this.style.addSource(t,e),this._update(!0)},i.prototype.isSourceLoaded=function(e){var r=this.style&&this.style.sourceCaches[e];if(void 0!==r)return r.loaded();this.fire(new t.ErrorEvent(new Error("There is no source with ID '"+e+"'")))},i.prototype.areTilesLoaded=function(){var t=this.style&&this.style.sourceCaches;for(var e in t){var r=t[e]._tiles;for(var n in r){var i=r[n];if("loaded"!==i.state&&"errored"!==i.state)return!1}}return!0},i.prototype.addSourceType=function(t,e,r){return this._lazyInitEmptyStyle(),this.style.addSourceType(t,e,r)},i.prototype.removeSource=function(t){return this.style.removeSource(t),this._update(!0)},i.prototype.getSource=function(t){return this.style.getSource(t)},i.prototype.addImage=function(e,r,n){void 0===n&&(n={});var i=n.pixelRatio;void 0===i&&(i=1);var a=n.sdf;void 0===a&&(a=!1);var o=n.stretchX,s=n.stretchY,l=n.content;if(this._lazyInitEmptyStyle(),r instanceof _i||Ti&&r instanceof Ti){var c=t.browser.getImageData(r);this.style.addImage(e,{data:new t.RGBAImage({width:c.width,height:c.height},c.data),pixelRatio:i,stretchX:o,stretchY:s,content:l,sdf:a,version:0})}else{if(void 0===r.width||void 0===r.height)return this.fire(new t.ErrorEvent(new Error("Invalid arguments to map.addImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`")));var u=r;this.style.addImage(e,{data:new t.RGBAImage({width:r.width,height:r.height},new Uint8Array(r.data)),pixelRatio:i,stretchX:o,stretchY:s,content:l,sdf:a,version:0,userImage:u}),u.onAdd&&u.onAdd(this,e)}},i.prototype.updateImage=function(e,r){var n=this.style.getImage(e);if(!n)return this.fire(new t.ErrorEvent(new Error("The map has no image with that id. If you are adding a new image use `map.addImage(...)` instead.")));var i=r instanceof _i||Ti&&r instanceof Ti?t.browser.getImageData(r):r,a=i.width,o=i.height,s=i.data;return void 0===a||void 0===o?this.fire(new t.ErrorEvent(new Error("Invalid arguments to map.updateImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`"))):a!==n.data.width||o!==n.data.height?this.fire(new t.ErrorEvent(new Error("The width and height of the updated image must be that same as the previous version of the image"))):(n.data.replace(s,!(r instanceof _i||Ti&&r instanceof Ti)),void this.style.updateImage(e,n))},i.prototype.hasImage=function(e){return e?!!this.style.getImage(e):(this.fire(new t.ErrorEvent(new Error("Missing required image id"))),!1)},i.prototype.removeImage=function(t){this.style.removeImage(t)},i.prototype.loadImage=function(e,r){t.getImage(this._requestManager.transformRequest(e,t.ResourceType.Image),r)},i.prototype.listImages=function(){return this.style.listImages()},i.prototype.addLayer=function(t,e){return this._lazyInitEmptyStyle(),this.style.addLayer(t,e),this._update(!0)},i.prototype.moveLayer=function(t,e){return this.style.moveLayer(t,e),this._update(!0)},i.prototype.removeLayer=function(t){return this.style.removeLayer(t),this._update(!0)},i.prototype.getLayer=function(t){return this.style.getLayer(t)},i.prototype.setLayerZoomRange=function(t,e,r){return this.style.setLayerZoomRange(t,e,r),this._update(!0)},i.prototype.setFilter=function(t,e,r){return void 0===r&&(r={}),this.style.setFilter(t,e,r),this._update(!0)},i.prototype.getFilter=function(t){return this.style.getFilter(t)},i.prototype.setPaintProperty=function(t,e,r,n){return void 0===n&&(n={}),this.style.setPaintProperty(t,e,r,n),this._update(!0)},i.prototype.getPaintProperty=function(t,e){return this.style.getPaintProperty(t,e)},i.prototype.setLayoutProperty=function(t,e,r,n){return void 0===n&&(n={}),this.style.setLayoutProperty(t,e,r,n),this._update(!0)},i.prototype.getLayoutProperty=function(t,e){return this.style.getLayoutProperty(t,e)},i.prototype.setLight=function(t,e){return void 0===e&&(e={}),this._lazyInitEmptyStyle(),this.style.setLight(t,e),this._update(!0)},i.prototype.getLight=function(){return this.style.getLight()},i.prototype.setFeatureState=function(t,e){return this.style.setFeatureState(t,e),this._update()},i.prototype.removeFeatureState=function(t,e){return this.style.removeFeatureState(t,e),this._update()},i.prototype.getFeatureState=function(t){return this.style.getFeatureState(t)},i.prototype.getContainer=function(){return this._container},i.prototype.getCanvasContainer=function(){return this._canvasContainer},i.prototype.getCanvas=function(){return this._canvas},i.prototype._containerDimensions=function(){var t=0,e=0;return this._container&&(t=this._container.clientWidth||400,e=this._container.clientHeight||300),[t,e]},i.prototype._detectMissingCSS=function(){"rgb(250, 128, 114)"!==t.window.getComputedStyle(this._missingCSSCanary).getPropertyValue("background-color")&&t.warnOnce("This page appears to be missing CSS declarations for Mapbox GL JS, which may cause the map to display incorrectly. Please ensure your page includes mapbox-gl.css, as described in https://www.mapbox.com/mapbox-gl-js/api/.")},i.prototype._setupContainer=function(){var t=this._container;t.classList.add("mapboxgl-map"),(this._missingCSSCanary=r.create("div","mapboxgl-canary",t)).style.visibility="hidden",this._detectMissingCSS();var e=this._canvasContainer=r.create("div","mapboxgl-canvas-container",t);this._interactive&&e.classList.add("mapboxgl-interactive"),this._canvas=r.create("canvas","mapboxgl-canvas",e),this._canvas.addEventListener("webglcontextlost",this._contextLost,!1),this._canvas.addEventListener("webglcontextrestored",this._contextRestored,!1),this._canvas.setAttribute("tabindex","0"),this._canvas.setAttribute("aria-label","Map");var n=this._containerDimensions();this._resizeCanvas(n[0],n[1]);var i=this._controlContainer=r.create("div","mapboxgl-control-container",t),a=this._controlPositions={};["top-left","top-right","bottom-left","bottom-right"].forEach((function(t){a[t]=r.create("div","mapboxgl-ctrl-"+t,i)}))},i.prototype._resizeCanvas=function(e,r){var n=t.browser.devicePixelRatio||1;this._canvas.width=n*e,this._canvas.height=n*r,this._canvas.style.width=e+"px",this._canvas.style.height=r+"px"},i.prototype._setupPainter=function(){var r=t.extend({},e.webGLContextAttributes,{failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer,antialias:this._antialias||!1}),n=this._canvas.getContext("webgl",r)||this._canvas.getContext("experimental-webgl",r);n?(this.painter=new yn(n,this.transform),t.webpSupported.testSupport(n)):this.fire(new t.ErrorEvent(new Error("Failed to initialize WebGL")))},i.prototype._contextLost=function(e){e.preventDefault(),this._frame&&(this._frame.cancel(),this._frame=null),this.fire(new t.Event("webglcontextlost",{originalEvent:e}))},i.prototype._contextRestored=function(e){this._setupPainter(),this.resize(),this._update(),this.fire(new t.Event("webglcontextrestored",{originalEvent:e}))},i.prototype.loaded=function(){return!this._styleDirty&&!this._sourcesDirty&&!!this.style&&this.style.loaded()},i.prototype._update=function(t){return this.style?(this._styleDirty=this._styleDirty||t,this._sourcesDirty=!0,this.triggerRepaint(),this):this},i.prototype._requestRenderFrame=function(t){return this._update(),this._renderTaskQueue.add(t)},i.prototype._cancelRenderFrame=function(t){this._renderTaskQueue.remove(t)},i.prototype._render=function(e){var r,n=this,i=0,a=this.painter.context.extTimerQuery;if(this.listens("gpu-timing-frame")&&(r=a.createQueryEXT(),a.beginQueryEXT(a.TIME_ELAPSED_EXT,r),i=t.browser.now()),this.painter.context.setDirty(),this.painter.setBaseState(),this._renderTaskQueue.run(e),!this._removed){var o=!1;if(this.style&&this._styleDirty){this._styleDirty=!1;var s=this.transform.zoom,l=t.browser.now();this.style.zoomHistory.update(s,l);var c=new t.EvaluationParameters(s,{now:l,fadeDuration:this._fadeDuration,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()}),u=c.crossFadingFactor();1===u&&u===this._crossFadingFactor||(o=!0,this._crossFadingFactor=u),this.style.update(c)}if(this.style&&this._sourcesDirty&&(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this._placementDirty=this.style&&this.style._updatePlacement(this.painter.transform,this.showCollisionBoxes,this._fadeDuration,this._crossSourceCollisions),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.isRotating(),zooming:this.isZooming(),moving:this.isMoving(),fadeDuration:this._fadeDuration,showPadding:this.showPadding,gpuTiming:!!this.listens("gpu-timing-layer")}),this.fire(new t.Event("render")),this.loaded()&&!this._loaded&&(this._loaded=!0,this.fire(new t.Event("load"))),this.style&&(this.style.hasTransitions()||o)&&(this._styleDirty=!0),this.style&&!this._placementDirty&&this.style._releaseSymbolFadeTiles(),this.listens("gpu-timing-frame")){var f=t.browser.now()-i;a.endQueryEXT(a.TIME_ELAPSED_EXT,r),setTimeout((function(){var e=a.getQueryObjectEXT(r,a.QUERY_RESULT_EXT)/1e6;a.deleteQueryEXT(r),n.fire(new t.Event("gpu-timing-frame",{cpuTime:f,gpuTime:e}))}),50)}if(this.listens("gpu-timing-layer")){var h=this.painter.collectGpuTimers();setTimeout((function(){var e=n.painter.queryGpuTimers(h);n.fire(new t.Event("gpu-timing-layer",{layerTimes:e}))}),50)}return this._sourcesDirty||this._styleDirty||this._placementDirty||this._repaint?this.triggerRepaint():!this.isMoving()&&this.loaded()&&(this._fullyLoaded||(this._fullyLoaded=!0),this.fire(new t.Event("idle"))),this}},i.prototype.remove=function(){this._hash&&this._hash.remove();for(var e=0,r=this._controls;e<r.length;e+=1)r[e].onRemove(this);this._controls=[],this._frame&&(this._frame.cancel(),this._frame=null),this._renderTaskQueue.clear(),this.painter.destroy(),this.handlers.destroy(),delete this.handlers,this.setStyle(null),void 0!==t.window&&(t.window.removeEventListener("resize",this._onWindowResize,!1),t.window.removeEventListener("online",this._onWindowOnline,!1));var n=this.painter.context.gl.getExtension("WEBGL_lose_context");n&&n.loseContext(),Ai(this._canvasContainer),Ai(this._controlContainer),Ai(this._missingCSSCanary),this._container.classList.remove("mapboxgl-map"),this._removed=!0,this.fire(new t.Event("remove"))},i.prototype.triggerRepaint=function(){var e=this;this.style&&!this._frame&&(this._frame=t.browser.frame((function(t){e._frame=null,e._render(t)})))},i.prototype._onWindowOnline=function(){this._update()},i.prototype._onWindowResize=function(t){this._trackResize&&this.resize({originalEvent:t})._update()},a.showTileBoundaries.get=function(){return!!this._showTileBoundaries},a.showTileBoundaries.set=function(t){this._showTileBoundaries!==t&&(this._showTileBoundaries=t,this._update())},a.showPadding.get=function(){return!!this._showPadding},a.showPadding.set=function(t){this._showPadding!==t&&(this._showPadding=t,this._update())},a.showCollisionBoxes.get=function(){return!!this._showCollisionBoxes},a.showCollisionBoxes.set=function(t){this._showCollisionBoxes!==t&&(this._showCollisionBoxes=t,t?this.style._generateCollisionBoxes():this._update())},a.showOverdrawInspector.get=function(){return!!this._showOverdrawInspector},a.showOverdrawInspector.set=function(t){this._showOverdrawInspector!==t&&(this._showOverdrawInspector=t,this._update())},a.repaint.get=function(){return!!this._repaint},a.repaint.set=function(t){this._repaint!==t&&(this._repaint=t,this.triggerRepaint())},a.vertices.get=function(){return!!this._vertices},a.vertices.set=function(t){this._vertices=t,this._update()},i.prototype._setCacheLimits=function(e,r){t.setCacheLimits(e,r)},a.version.get=function(){return t.version},Object.defineProperties(i.prototype,a),i}(mi);function Ai(t){t.parentNode&&t.parentNode.removeChild(t)}var Si={showCompass:!0,showZoom:!0,visualizePitch:!1},Ei=function(e){var n=this;this.options=t.extend({},Si,e),this._container=r.create("div","mapboxgl-ctrl mapboxgl-ctrl-group"),this._container.addEventListener("contextmenu",(function(t){return t.preventDefault()})),this.options.showZoom&&(t.bindAll(["_setButtonTitle","_updateZoomButtons"],this),this._zoomInButton=this._createButton("mapboxgl-ctrl-zoom-in",(function(t){return n._map.zoomIn({},{originalEvent:t})})),r.create("span","mapboxgl-ctrl-icon",this._zoomInButton).setAttribute("aria-hidden",!0),this._zoomOutButton=this._createButton("mapboxgl-ctrl-zoom-out",(function(t){return n._map.zoomOut({},{originalEvent:t})})),r.create("span","mapboxgl-ctrl-icon",this._zoomOutButton).setAttribute("aria-hidden",!0)),this.options.showCompass&&(t.bindAll(["_rotateCompassArrow"],this),this._compass=this._createButton("mapboxgl-ctrl-compass",(function(t){n.options.visualizePitch?n._map.resetNorthPitch({},{originalEvent:t}):n._map.resetNorth({},{originalEvent:t})})),this._compassIcon=r.create("span","mapboxgl-ctrl-icon",this._compass),this._compassIcon.setAttribute("aria-hidden",!0))};Ei.prototype._updateZoomButtons=function(){var t=this._map.getZoom();this._zoomInButton.disabled=t===this._map.getMaxZoom(),this._zoomOutButton.disabled=t===this._map.getMinZoom()},Ei.prototype._rotateCompassArrow=function(){var t=this.options.visualizePitch?"scale("+1/Math.pow(Math.cos(this._map.transform.pitch*(Math.PI/180)),.5)+") rotateX("+this._map.transform.pitch+"deg) rotateZ("+this._map.transform.angle*(180/Math.PI)+"deg)":"rotate("+this._map.transform.angle*(180/Math.PI)+"deg)";this._compassIcon.style.transform=t},Ei.prototype.onAdd=function(t){return this._map=t,this.options.showZoom&&(this._setButtonTitle(this._zoomInButton,"ZoomIn"),this._setButtonTitle(this._zoomOutButton,"ZoomOut"),this._map.on("zoom",this._updateZoomButtons),this._updateZoomButtons()),this.options.showCompass&&(this._setButtonTitle(this._compass,"ResetBearing"),this.options.visualizePitch&&this._map.on("pitch",this._rotateCompassArrow),this._map.on("rotate",this._rotateCompassArrow),this._rotateCompassArrow(),this._handler=new Ci(this._map,this._compass,this.options.visualizePitch)),this._container},Ei.prototype.onRemove=function(){r.remove(this._container),this.options.showZoom&&this._map.off("zoom",this._updateZoomButtons),this.options.showCompass&&(this.options.visualizePitch&&this._map.off("pitch",this._rotateCompassArrow),this._map.off("rotate",this._rotateCompassArrow),this._handler.off(),delete this._handler),delete this._map},Ei.prototype._createButton=function(t,e){var n=r.create("button",t,this._container);return n.type="button",n.addEventListener("click",e),n},Ei.prototype._setButtonTitle=function(t,e){var r=this._map._getUIString("NavigationControl."+e);t.title=r,t.setAttribute("aria-label",r)};var Ci=function(e,n,i){void 0===i&&(i=!1),this._clickTolerance=10,this.element=n,this.mouseRotate=new Gn({clickTolerance:e.dragRotate._mouseRotate._clickTolerance}),this.map=e,i&&(this.mousePitch=new Yn({clickTolerance:e.dragRotate._mousePitch._clickTolerance})),t.bindAll(["mousedown","mousemove","mouseup","touchstart","touchmove","touchend","reset"],this),r.addEventListener(n,"mousedown",this.mousedown),r.addEventListener(n,"touchstart",this.touchstart,{passive:!1}),r.addEventListener(n,"touchmove",this.touchmove),r.addEventListener(n,"touchend",this.touchend),r.addEventListener(n,"touchcancel",this.reset)};function Li(e,r,n){if(e=new t.LngLat(e.lng,e.lat),r){var i=new t.LngLat(e.lng-360,e.lat),a=new t.LngLat(e.lng+360,e.lat),o=n.locationPoint(e).distSqr(r);n.locationPoint(i).distSqr(r)<o?e=i:n.locationPoint(a).distSqr(r)<o&&(e=a)}for(;Math.abs(e.lng-n.center.lng)>180;){var s=n.locationPoint(e);if(s.x>=0&&s.y>=0&&s.x<=n.width&&s.y<=n.height)break;e.lng>n.center.lng?e.lng-=360:e.lng+=360}return e}Ci.prototype.down=function(t,e){this.mouseRotate.mousedown(t,e),this.mousePitch&&this.mousePitch.mousedown(t,e),r.disableDrag()},Ci.prototype.move=function(t,e){var r=this.map,n=this.mouseRotate.mousemoveWindow(t,e);if(n&&n.bearingDelta&&r.setBearing(r.getBearing()+n.bearingDelta),this.mousePitch){var i=this.mousePitch.mousemoveWindow(t,e);i&&i.pitchDelta&&r.setPitch(r.getPitch()+i.pitchDelta)}},Ci.prototype.off=function(){var t=this.element;r.removeEventListener(t,"mousedown",this.mousedown),r.removeEventListener(t,"touchstart",this.touchstart,{passive:!1}),r.removeEventListener(t,"touchmove",this.touchmove),r.removeEventListener(t,"touchend",this.touchend),r.removeEventListener(t,"touchcancel",this.reset),this.offTemp()},Ci.prototype.offTemp=function(){r.enableDrag(),r.removeEventListener(t.window,"mousemove",this.mousemove),r.removeEventListener(t.window,"mouseup",this.mouseup)},Ci.prototype.mousedown=function(e){this.down(t.extend({},e,{ctrlKey:!0,preventDefault:function(){return e.preventDefault()}}),r.mousePos(this.element,e)),r.addEventListener(t.window,"mousemove",this.mousemove),r.addEventListener(t.window,"mouseup",this.mouseup)},Ci.prototype.mousemove=function(t){this.move(t,r.mousePos(this.element,t))},Ci.prototype.mouseup=function(t){this.mouseRotate.mouseupWindow(t),this.mousePitch&&this.mousePitch.mouseupWindow(t),this.offTemp()},Ci.prototype.touchstart=function(t){1!==t.targetTouches.length?this.reset():(this._startPos=this._lastPos=r.touchPos(this.element,t.targetTouches)[0],this.down({type:"mousedown",button:0,ctrlKey:!0,preventDefault:function(){return t.preventDefault()}},this._startPos))},Ci.prototype.touchmove=function(t){1!==t.targetTouches.length?this.reset():(this._lastPos=r.touchPos(this.element,t.targetTouches)[0],this.move({preventDefault:function(){return t.preventDefault()}},this._lastPos))},Ci.prototype.touchend=function(t){0===t.targetTouches.length&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos)<this._clickTolerance&&this.element.click(),this.reset()},Ci.prototype.reset=function(){this.mouseRotate.reset(),this.mousePitch&&this.mousePitch.reset(),delete this._startPos,delete this._lastPos,this.offTemp()};var Ii={center:"translate(-50%,-50%)",top:"translate(-50%,0)","top-left":"translate(0,0)","top-right":"translate(-100%,0)",bottom:"translate(-50%,-100%)","bottom-left":"translate(0,-100%)","bottom-right":"translate(-100%,-100%)",left:"translate(0,-50%)",right:"translate(-100%,-50%)"};function Pi(t,e,r){var n=t.classList;for(var i in Ii)n.remove("mapboxgl-"+r+"-anchor-"+i);n.add("mapboxgl-"+r+"-anchor-"+e)}var zi,Oi=function(e){function n(n,i){var a=this;if(e.call(this),(n instanceof t.window.HTMLElement||i)&&(n=t.extend({element:n},i)),t.bindAll(["_update","_onMove","_onUp","_addDragHandler","_onMapClick","_onKeyPress"],this),this._anchor=n&&n.anchor||"center",this._color=n&&n.color||"#3FB1CE",this._draggable=n&&n.draggable||!1,this._state="inactive",this._rotation=n&&n.rotation||0,this._rotationAlignment=n&&n.rotationAlignment||"auto",this._pitchAlignment=n&&n.pitchAlignment&&"auto"!==n.pitchAlignment?n.pitchAlignment:this._rotationAlignment,n&&n.element)this._element=n.element,this._offset=t.Point.convert(n&&n.offset||[0,0]);else{this._defaultMarker=!0,this._element=r.create("div"),this._element.setAttribute("aria-label","Map marker");var o=r.createNS("http://www.w3.org/2000/svg","svg");o.setAttributeNS(null,"display","block"),o.setAttributeNS(null,"height","41px"),o.setAttributeNS(null,"width","27px"),o.setAttributeNS(null,"viewBox","0 0 27 41");var s=r.createNS("http://www.w3.org/2000/svg","g");s.setAttributeNS(null,"stroke","none"),s.setAttributeNS(null,"stroke-width","1"),s.setAttributeNS(null,"fill","none"),s.setAttributeNS(null,"fill-rule","evenodd");var l=r.createNS("http://www.w3.org/2000/svg","g");l.setAttributeNS(null,"fill-rule","nonzero");var c=r.createNS("http://www.w3.org/2000/svg","g");c.setAttributeNS(null,"transform","translate(3.0, 29.0)"),c.setAttributeNS(null,"fill","#000000");for(var u=0,f=[{rx:"10.5",ry:"5.25002273"},{rx:"10.5",ry:"5.25002273"},{rx:"9.5",ry:"4.77275007"},{rx:"8.5",ry:"4.29549936"},{rx:"7.5",ry:"3.81822308"},{rx:"6.5",ry:"3.34094679"},{rx:"5.5",ry:"2.86367051"},{rx:"4.5",ry:"2.38636864"}];u<f.length;u+=1){var h=f[u],p=r.createNS("http://www.w3.org/2000/svg","ellipse");p.setAttributeNS(null,"opacity","0.04"),p.setAttributeNS(null,"cx","10.5"),p.setAttributeNS(null,"cy","5.80029008"),p.setAttributeNS(null,"rx",h.rx),p.setAttributeNS(null,"ry",h.ry),c.appendChild(p)}var d=r.createNS("http://www.w3.org/2000/svg","g");d.setAttributeNS(null,"fill",this._color);var g=r.createNS("http://www.w3.org/2000/svg","path");g.setAttributeNS(null,"d","M27,13.5 C27,19.074644 20.250001,27.000002 14.75,34.500002 C14.016665,35.500004 12.983335,35.500004 12.25,34.500002 C6.7499993,27.000002 0,19.222562 0,13.5 C0,6.0441559 6.0441559,0 13.5,0 C20.955844,0 27,6.0441559 27,13.5 Z"),d.appendChild(g);var m=r.createNS("http://www.w3.org/2000/svg","g");m.setAttributeNS(null,"opacity","0.25"),m.setAttributeNS(null,"fill","#000000");var v=r.createNS("http://www.w3.org/2000/svg","path");v.setAttributeNS(null,"d","M13.5,0 C6.0441559,0 0,6.0441559 0,13.5 C0,19.222562 6.7499993,27 12.25,34.5 C13,35.522727 14.016664,35.500004 14.75,34.5 C20.250001,27 27,19.074644 27,13.5 C27,6.0441559 20.955844,0 13.5,0 Z M13.5,1 C20.415404,1 26,6.584596 26,13.5 C26,15.898657 24.495584,19.181431 22.220703,22.738281 C19.945823,26.295132 16.705119,30.142167 13.943359,33.908203 C13.743445,34.180814 13.612715,34.322738 13.5,34.441406 C13.387285,34.322738 13.256555,34.180814 13.056641,33.908203 C10.284481,30.127985 7.4148684,26.314159 5.015625,22.773438 C2.6163816,19.232715 1,15.953538 1,13.5 C1,6.584596 6.584596,1 13.5,1 Z"),m.appendChild(v);var y=r.createNS("http://www.w3.org/2000/svg","g");y.setAttributeNS(null,"transform","translate(6.0, 7.0)"),y.setAttributeNS(null,"fill","#FFFFFF");var x=r.createNS("http://www.w3.org/2000/svg","g");x.setAttributeNS(null,"transform","translate(8.0, 8.0)");var b=r.createNS("http://www.w3.org/2000/svg","circle");b.setAttributeNS(null,"fill","#000000"),b.setAttributeNS(null,"opacity","0.25"),b.setAttributeNS(null,"cx","5.5"),b.setAttributeNS(null,"cy","5.5"),b.setAttributeNS(null,"r","5.4999962");var _=r.createNS("http://www.w3.org/2000/svg","circle");_.setAttributeNS(null,"fill","#FFFFFF"),_.setAttributeNS(null,"cx","5.5"),_.setAttributeNS(null,"cy","5.5"),_.setAttributeNS(null,"r","5.4999962"),x.appendChild(b),x.appendChild(_),l.appendChild(c),l.appendChild(d),l.appendChild(m),l.appendChild(y),l.appendChild(x),o.appendChild(l),this._element.appendChild(o),this._offset=t.Point.convert(n&&n.offset||[0,-14])}this._element.classList.add("mapboxgl-marker"),this._element.addEventListener("dragstart",(function(t){t.preventDefault()})),this._element.addEventListener("mousedown",(function(t){t.preventDefault()})),this._element.addEventListener("focus",(function(){var t=a._map.getContainer();t.scrollTop=0,t.scrollLeft=0})),Pi(this._element,this._anchor,"marker"),this._popup=null}return e&&(n.__proto__=e),(n.prototype=Object.create(e&&e.prototype)).constructor=n,n.prototype.addTo=function(t){return this.remove(),this._map=t,t.getCanvasContainer().appendChild(this._element),t.on("move",this._update),t.on("moveend",this._update),this.setDraggable(this._draggable),this._update(),this._map.on("click",this._onMapClick),this},n.prototype.remove=function(){return this._map&&(this._map.off("click",this._onMapClick),this._map.off("move",this._update),this._map.off("moveend",this._update),this._map.off("mousedown",this._addDragHandler),this._map.off("touchstart",this._addDragHandler),this._map.off("mouseup",this._onUp),this._map.off("touchend",this._onUp),this._map.off("mousemove",this._onMove),this._map.off("touchmove",this._onMove),delete this._map),r.remove(this._element),this._popup&&this._popup.remove(),this},n.prototype.getLngLat=function(){return this._lngLat},n.prototype.setLngLat=function(e){return this._lngLat=t.LngLat.convert(e),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this},n.prototype.getElement=function(){return this._element},n.prototype.setPopup=function(t){if(this._popup&&(this._popup.remove(),this._popup=null,this._element.removeEventListener("keypress",this._onKeyPress),this._originalTabIndex||this._element.removeAttribute("tabindex")),t){if(!("offset"in t.options)){var e=Math.sqrt(Math.pow(13.5,2)/2);t.options.offset=this._defaultMarker?{top:[0,0],"top-left":[0,0],"top-right":[0,0],bottom:[0,-38.1],"bottom-left":[e,-1*(24.6+e)],"bottom-right":[-e,-1*(24.6+e)],left:[13.5,-24.6],right:[-13.5,-24.6]}:this._offset}this._popup=t,this._lngLat&&this._popup.setLngLat(this._lngLat),this._originalTabIndex=this._element.getAttribute("tabindex"),this._originalTabIndex||this._element.setAttribute("tabindex","0"),this._element.addEventListener("keypress",this._onKeyPress)}return this},n.prototype._onKeyPress=function(t){var e=t.code,r=t.charCode||t.keyCode;"Space"!==e&&"Enter"!==e&&32!==r&&13!==r||this.togglePopup()},n.prototype._onMapClick=function(t){var e=t.originalEvent.target,r=this._element;this._popup&&(e===r||r.contains(e))&&this.togglePopup()},n.prototype.getPopup=function(){return this._popup},n.prototype.togglePopup=function(){var t=this._popup;return t?(t.isOpen()?t.remove():t.addTo(this._map),this):this},n.prototype._update=function(t){if(this._map){this._map.transform.renderWorldCopies&&(this._lngLat=Li(this._lngLat,this._pos,this._map.transform)),this._pos=this._map.project(this._lngLat)._add(this._offset);var e="";"viewport"===this._rotationAlignment||"auto"===this._rotationAlignment?e="rotateZ("+this._rotation+"deg)":"map"===this._rotationAlignment&&(e="rotateZ("+(this._rotation-this._map.getBearing())+"deg)");var n="";"viewport"===this._pitchAlignment||"auto"===this._pitchAlignment?n="rotateX(0deg)":"map"===this._pitchAlignment&&(n="rotateX("+this._map.getPitch()+"deg)"),t&&"moveend"!==t.type||(this._pos=this._pos.round()),r.setTransform(this._element,Ii[this._anchor]+" translate("+this._pos.x+"px, "+this._pos.y+"px) "+n+" "+e)}},n.prototype.getOffset=function(){return this._offset},n.prototype.setOffset=function(e){return this._offset=t.Point.convert(e),this._update(),this},n.prototype._onMove=function(e){this._pos=e.point.sub(this._positionDelta),this._lngLat=this._map.unproject(this._pos),this.setLngLat(this._lngLat),this._element.style.pointerEvents="none","pending"===this._state&&(this._state="active",this.fire(new t.Event("dragstart"))),this.fire(new t.Event("drag"))},n.prototype._onUp=function(){this._element.style.pointerEvents="auto",this._positionDelta=null,this._map.off("mousemove",this._onMove),this._map.off("touchmove",this._onMove),"active"===this._state&&this.fire(new t.Event("dragend")),this._state="inactive"},n.prototype._addDragHandler=function(t){this._element.contains(t.originalEvent.target)&&(t.preventDefault(),this._positionDelta=t.point.sub(this._pos).add(this._offset),this._state="pending",this._map.on("mousemove",this._onMove),this._map.on("touchmove",this._onMove),this._map.once("mouseup",this._onUp),this._map.once("touchend",this._onUp))},n.prototype.setDraggable=function(t){return this._draggable=!!t,this._map&&(t?(this._map.on("mousedown",this._addDragHandler),this._map.on("touchstart",this._addDragHandler)):(this._map.off("mousedown",this._addDragHandler),this._map.off("touchstart",this._addDragHandler))),this},n.prototype.isDraggable=function(){return this._draggable},n.prototype.setRotation=function(t){return this._rotation=t||0,this._update(),this},n.prototype.getRotation=function(){return this._rotation},n.prototype.setRotationAlignment=function(t){return this._rotationAlignment=t||"auto",this._update(),this},n.prototype.getRotationAlignment=function(){return this._rotationAlignment},n.prototype.setPitchAlignment=function(t){return this._pitchAlignment=t&&"auto"!==t?t:this._rotationAlignment,this._update(),this},n.prototype.getPitchAlignment=function(){return this._pitchAlignment},n}(t.Evented),Di={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0},Ri=0,Fi=!1,Bi=function(e){function n(r){e.call(this),this.options=t.extend({},Di,r),t.bindAll(["_onSuccess","_onError","_onZoom","_finish","_setupUI","_updateCamera","_updateMarker"],this)}return e&&(n.__proto__=e),(n.prototype=Object.create(e&&e.prototype)).constructor=n,n.prototype.onAdd=function(e){var n;return this._map=e,this._container=r.create("div","mapboxgl-ctrl mapboxgl-ctrl-group"),n=this._setupUI,void 0!==zi?n(zi):void 0!==t.window.navigator.permissions?t.window.navigator.permissions.query({name:"geolocation"}).then((function(t){n(zi="denied"!==t.state)})):n(zi=!!t.window.navigator.geolocation),this._container},n.prototype.onRemove=function(){void 0!==this._geolocationWatchID&&(t.window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0),this.options.showUserLocation&&this._userLocationDotMarker&&this._userLocationDotMarker.remove(),this.options.showAccuracyCircle&&this._accuracyCircleMarker&&this._accuracyCircleMarker.remove(),r.remove(this._container),this._map.off("zoom",this._onZoom),this._map=void 0,Ri=0,Fi=!1},n.prototype._isOutOfMapMaxBounds=function(t){var e=this._map.getMaxBounds(),r=t.coords;return e&&(r.longitude<e.getWest()||r.longitude>e.getEast()||r.latitude<e.getSouth()||r.latitude>e.getNorth())},n.prototype._setErrorState=function(){switch(this._watchState){case"WAITING_ACTIVE":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error");break;case"ACTIVE_LOCK":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting");break;case"BACKGROUND":this._watchState="BACKGROUND_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting")}},n.prototype._onSuccess=function(e){if(this._map){if(this._isOutOfMapMaxBounds(e))return this._setErrorState(),this.fire(new t.Event("outofmaxbounds",e)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=e,this._watchState){case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"BACKGROUND":case"BACKGROUND_ERROR":this._watchState="BACKGROUND",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background")}this.options.showUserLocation&&"OFF"!==this._watchState&&this._updateMarker(e),this.options.trackUserLocation&&"ACTIVE_LOCK"!==this._watchState||this._updateCamera(e),this.options.showUserLocation&&this._dotElement.classList.remove("mapboxgl-user-location-dot-stale"),this.fire(new t.Event("geolocate",e)),this._finish()}},n.prototype._updateCamera=function(e){var r=new t.LngLat(e.coords.longitude,e.coords.latitude),n=e.coords.accuracy,i=this._map.getBearing(),a=t.extend({bearing:i},this.options.fitBoundsOptions);this._map.fitBounds(r.toBounds(n),a,{geolocateSource:!0})},n.prototype._updateMarker=function(e){if(e){var r=new t.LngLat(e.coords.longitude,e.coords.latitude);this._accuracyCircleMarker.setLngLat(r).addTo(this._map),this._userLocationDotMarker.setLngLat(r).addTo(this._map),this._accuracy=e.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove()},n.prototype._updateCircleRadius=function(){var t=this._map._container.clientHeight/2,e=this._map.unproject([0,t]),r=this._map.unproject([1,t]),n=e.distanceTo(r),i=Math.ceil(2*this._accuracy/n);this._circleElement.style.width=i+"px",this._circleElement.style.height=i+"px"},n.prototype._onZoom=function(){this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()},n.prototype._onError=function(e){if(this._map){if(this.options.trackUserLocation)if(1===e.code){this._watchState="OFF",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.disabled=!0;var r=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.title=r,this._geolocateButton.setAttribute("aria-label",r),void 0!==this._geolocationWatchID&&this._clearWatch()}else{if(3===e.code&&Fi)return;this._setErrorState()}"OFF"!==this._watchState&&this.options.showUserLocation&&this._dotElement.classList.add("mapboxgl-user-location-dot-stale"),this.fire(new t.Event("error",e)),this._finish()}},n.prototype._finish=function(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},n.prototype._setupUI=function(e){var n=this;if(this._container.addEventListener("contextmenu",(function(t){return t.preventDefault()})),this._geolocateButton=r.create("button","mapboxgl-ctrl-geolocate",this._container),r.create("span","mapboxgl-ctrl-icon",this._geolocateButton).setAttribute("aria-hidden",!0),this._geolocateButton.type="button",!1===e){t.warnOnce("Geolocation support is not available so the GeolocateControl will be disabled.");var i=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.disabled=!0,this._geolocateButton.title=i,this._geolocateButton.setAttribute("aria-label",i)}else{var a=this._map._getUIString("GeolocateControl.FindMyLocation");this._geolocateButton.title=a,this._geolocateButton.setAttribute("aria-label",a)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute("aria-pressed","false"),this._watchState="OFF"),this.options.showUserLocation&&(this._dotElement=r.create("div","mapboxgl-user-location-dot"),this._userLocationDotMarker=new Oi(this._dotElement),this._circleElement=r.create("div","mapboxgl-user-location-accuracy-circle"),this._accuracyCircleMarker=new Oi({element:this._circleElement,pitchAlignment:"map"}),this.options.trackUserLocation&&(this._watchState="OFF"),this._map.on("zoom",this._onZoom)),this._geolocateButton.addEventListener("click",this.trigger.bind(this)),this._setup=!0,this.options.trackUserLocation&&this._map.on("movestart",(function(e){e.geolocateSource||"ACTIVE_LOCK"!==n._watchState||e.originalEvent&&"resize"===e.originalEvent.type||(n._watchState="BACKGROUND",n._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background"),n._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),n.fire(new t.Event("trackuserlocationend")))}))},n.prototype.trigger=function(){if(!this._setup)return t.warnOnce("Geolocate control triggered before added to a map"),!1;if(this.options.trackUserLocation){switch(this._watchState){case"OFF":this._watchState="WAITING_ACTIVE",this.fire(new t.Event("trackuserlocationstart"));break;case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":case"BACKGROUND_ERROR":Ri--,Fi=!1,this._watchState="OFF",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),this.fire(new t.Event("trackuserlocationend"));break;case"BACKGROUND":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(new t.Event("trackuserlocationstart"))}switch(this._watchState){case"WAITING_ACTIVE":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"ACTIVE_LOCK":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"ACTIVE_ERROR":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error");break;case"BACKGROUND":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background");break;case"BACKGROUND_ERROR":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background-error")}if("OFF"===this._watchState&&void 0!==this._geolocationWatchID)this._clearWatch();else if(void 0===this._geolocationWatchID){var e;this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","true"),++Ri>1?(e={maximumAge:6e5,timeout:0},Fi=!0):(e=this.options.positionOptions,Fi=!1),this._geolocationWatchID=t.window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,e)}}else t.window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return!0},n.prototype._clearWatch=function(){t.window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0,this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","false"),this.options.showUserLocation&&this._updateMarker(null)},n}(t.Evented),Ni={maxWidth:100,unit:"metric"},ji=function(e){this.options=t.extend({},Ni,e),t.bindAll(["_onMove","setUnit"],this)};function Ui(t,e,r){var n=r&&r.maxWidth||100,i=t._container.clientHeight/2,a=t.unproject([0,i]),o=t.unproject([n,i]),s=a.distanceTo(o);if(r&&"imperial"===r.unit){var l=3.2808*s;l>5280?Vi(e,n,l/5280,t._getUIString("ScaleControl.Miles")):Vi(e,n,l,t._getUIString("ScaleControl.Feet"))}else r&&"nautical"===r.unit?Vi(e,n,s/1852,t._getUIString("ScaleControl.NauticalMiles")):s>=1e3?Vi(e,n,s/1e3,t._getUIString("ScaleControl.Kilometers")):Vi(e,n,s,t._getUIString("ScaleControl.Meters"))}function Vi(t,e,r,n){var i,a,o,s=(i=r,(a=Math.pow(10,(""+Math.floor(i)).length-1))*(o=(o=i/a)>=10?10:o>=5?5:o>=3?3:o>=2?2:o>=1?1:function(t){var e=Math.pow(10,Math.ceil(-Math.log(t)/Math.LN10));return Math.round(t*e)/e}(o)));t.style.width=e*(s/r)+"px",t.innerHTML=s+" "+n}ji.prototype.getDefaultPosition=function(){return"bottom-left"},ji.prototype._onMove=function(){Ui(this._map,this._container,this.options)},ji.prototype.onAdd=function(t){return this._map=t,this._container=r.create("div","mapboxgl-ctrl mapboxgl-ctrl-scale",t.getContainer()),this._map.on("move",this._onMove),this._onMove(),this._container},ji.prototype.onRemove=function(){r.remove(this._container),this._map.off("move",this._onMove),this._map=void 0},ji.prototype.setUnit=function(t){this.options.unit=t,Ui(this._map,this._container,this.options)};var qi=function(e){this._fullscreen=!1,e&&e.container&&(e.container instanceof t.window.HTMLElement?this._container=e.container:t.warnOnce("Full screen control 'container' must be a DOM element.")),t.bindAll(["_onClickFullscreen","_changeIcon"],this),"onfullscreenchange"in t.window.document?this._fullscreenchange="fullscreenchange":"onmozfullscreenchange"in t.window.document?this._fullscreenchange="mozfullscreenchange":"onwebkitfullscreenchange"in t.window.document?this._fullscreenchange="webkitfullscreenchange":"onmsfullscreenchange"in t.window.document&&(this._fullscreenchange="MSFullscreenChange")};qi.prototype.onAdd=function(e){return this._map=e,this._container||(this._container=this._map.getContainer()),this._controlContainer=r.create("div","mapboxgl-ctrl mapboxgl-ctrl-group"),this._checkFullscreenSupport()?this._setupUI():(this._controlContainer.style.display="none",t.warnOnce("This device does not support fullscreen mode.")),this._controlContainer},qi.prototype.onRemove=function(){r.remove(this._controlContainer),this._map=null,t.window.document.removeEventListener(this._fullscreenchange,this._changeIcon)},qi.prototype._checkFullscreenSupport=function(){return!!(t.window.document.fullscreenEnabled||t.window.document.mozFullScreenEnabled||t.window.document.msFullscreenEnabled||t.window.document.webkitFullscreenEnabled)},qi.prototype._setupUI=function(){var e=this._fullscreenButton=r.create("button","mapboxgl-ctrl-fullscreen",this._controlContainer);r.create("span","mapboxgl-ctrl-icon",e).setAttribute("aria-hidden",!0),e.type="button",this._updateTitle(),this._fullscreenButton.addEventListener("click",this._onClickFullscreen),t.window.document.addEventListener(this._fullscreenchange,this._changeIcon)},qi.prototype._updateTitle=function(){var t=this._getTitle();this._fullscreenButton.setAttribute("aria-label",t),this._fullscreenButton.title=t},qi.prototype._getTitle=function(){return this._map._getUIString(this._isFullscreen()?"FullscreenControl.Exit":"FullscreenControl.Enter")},qi.prototype._isFullscreen=function(){return this._fullscreen},qi.prototype._changeIcon=function(){(t.window.document.fullscreenElement||t.window.document.mozFullScreenElement||t.window.document.webkitFullscreenElement||t.window.document.msFullscreenElement)===this._container!==this._fullscreen&&(this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle("mapboxgl-ctrl-shrink"),this._fullscreenButton.classList.toggle("mapboxgl-ctrl-fullscreen"),this._updateTitle())},qi.prototype._onClickFullscreen=function(){this._isFullscreen()?t.window.document.exitFullscreen?t.window.document.exitFullscreen():t.window.document.mozCancelFullScreen?t.window.document.mozCancelFullScreen():t.window.document.msExitFullscreen?t.window.document.msExitFullscreen():t.window.document.webkitCancelFullScreen&&t.window.document.webkitCancelFullScreen():this._container.requestFullscreen?this._container.requestFullscreen():this._container.mozRequestFullScreen?this._container.mozRequestFullScreen():this._container.msRequestFullscreen?this._container.msRequestFullscreen():this._container.webkitRequestFullscreen&&this._container.webkitRequestFullscreen()};var Hi={closeButton:!0,closeOnClick:!0,className:"",maxWidth:"240px"},Gi=function(e){function n(r){e.call(this),this.options=t.extend(Object.create(Hi),r),t.bindAll(["_update","_onClose","remove","_onMouseMove","_onMouseUp","_onDrag"],this)}return e&&(n.__proto__=e),(n.prototype=Object.create(e&&e.prototype)).constructor=n,n.prototype.addTo=function(e){return this._map&&this.remove(),this._map=e,this.options.closeOnClick&&this._map.on("click",this._onClose),this.options.closeOnMove&&this._map.on("move",this._onClose),this._map.on("remove",this.remove),this._update(),this._trackPointer?(this._map.on("mousemove",this._onMouseMove),this._map.on("mouseup",this._onMouseUp),this._container&&this._container.classList.add("mapboxgl-popup-track-pointer"),this._map._canvasContainer.classList.add("mapboxgl-track-pointer")):this._map.on("move",this._update),this.fire(new t.Event("open")),this},n.prototype.isOpen=function(){return!!this._map},n.prototype.remove=function(){return this._content&&r.remove(this._content),this._container&&(r.remove(this._container),delete this._container),this._map&&(this._map.off("move",this._update),this._map.off("move",this._onClose),this._map.off("click",this._onClose),this._map.off("remove",this.remove),this._map.off("mousemove",this._onMouseMove),this._map.off("mouseup",this._onMouseUp),this._map.off("drag",this._onDrag),delete this._map),this.fire(new t.Event("close")),this},n.prototype.getLngLat=function(){return this._lngLat},n.prototype.setLngLat=function(e){return this._lngLat=t.LngLat.convert(e),this._pos=null,this._trackPointer=!1,this._update(),this._map&&(this._map.on("move",this._update),this._map.off("mousemove",this._onMouseMove),this._container&&this._container.classList.remove("mapboxgl-popup-track-pointer"),this._map._canvasContainer.classList.remove("mapboxgl-track-pointer")),this},n.prototype.trackPointer=function(){return this._trackPointer=!0,this._pos=null,this._update(),this._map&&(this._map.off("move",this._update),this._map.on("mousemove",this._onMouseMove),this._map.on("drag",this._onDrag),this._container&&this._container.classList.add("mapboxgl-popup-track-pointer"),this._map._canvasContainer.classList.add("mapboxgl-track-pointer")),this},n.prototype.getElement=function(){return this._container},n.prototype.setText=function(e){return this.setDOMContent(t.window.document.createTextNode(e))},n.prototype.setHTML=function(e){var r,n=t.window.document.createDocumentFragment(),i=t.window.document.createElement("body");for(i.innerHTML=e;r=i.firstChild;)n.appendChild(r);return this.setDOMContent(n)},n.prototype.getMaxWidth=function(){return this._container&&this._container.style.maxWidth},n.prototype.setMaxWidth=function(t){return this.options.maxWidth=t,this._update(),this},n.prototype.setDOMContent=function(t){return this._createContent(),this._content.appendChild(t),this._update(),this},n.prototype.addClassName=function(t){this._container&&this._container.classList.add(t)},n.prototype.removeClassName=function(t){this._container&&this._container.classList.remove(t)},n.prototype.toggleClassName=function(t){if(this._container)return this._container.classList.toggle(t)},n.prototype._createContent=function(){this._content&&r.remove(this._content),this._content=r.create("div","mapboxgl-popup-content",this._container),this.options.closeButton&&(this._closeButton=r.create("button","mapboxgl-popup-close-button",this._content),this._closeButton.type="button",this._closeButton.setAttribute("aria-label","Close popup"),this._closeButton.innerHTML="×",this._closeButton.addEventListener("click",this._onClose))},n.prototype._onMouseUp=function(t){this._update(t.point)},n.prototype._onMouseMove=function(t){this._update(t.point)},n.prototype._onDrag=function(t){this._update(t.point)},n.prototype._update=function(e){var n=this;if(this._map&&(this._lngLat||this._trackPointer)&&this._content&&(this._container||(this._container=r.create("div","mapboxgl-popup",this._map.getContainer()),this._tip=r.create("div","mapboxgl-popup-tip",this._container),this._container.appendChild(this._content),this.options.className&&this.options.className.split(" ").forEach((function(t){return n._container.classList.add(t)})),this._trackPointer&&this._container.classList.add("mapboxgl-popup-track-pointer")),this.options.maxWidth&&this._container.style.maxWidth!==this.options.maxWidth&&(this._container.style.maxWidth=this.options.maxWidth),this._map.transform.renderWorldCopies&&!this._trackPointer&&(this._lngLat=Li(this._lngLat,this._pos,this._map.transform)),!this._trackPointer||e)){var i=this._pos=this._trackPointer&&e?e:this._map.project(this._lngLat),a=this.options.anchor,o=function e(r){if(r){if("number"==typeof r){var n=Math.round(Math.sqrt(.5*Math.pow(r,2)));return{center:new t.Point(0,0),top:new t.Point(0,r),"top-left":new t.Point(n,n),"top-right":new t.Point(-n,n),bottom:new t.Point(0,-r),"bottom-left":new t.Point(n,-n),"bottom-right":new t.Point(-n,-n),left:new t.Point(r,0),right:new t.Point(-r,0)}}if(r instanceof t.Point||Array.isArray(r)){var i=t.Point.convert(r);return{center:i,top:i,"top-left":i,"top-right":i,bottom:i,"bottom-left":i,"bottom-right":i,left:i,right:i}}return{center:t.Point.convert(r.center||[0,0]),top:t.Point.convert(r.top||[0,0]),"top-left":t.Point.convert(r["top-left"]||[0,0]),"top-right":t.Point.convert(r["top-right"]||[0,0]),bottom:t.Point.convert(r.bottom||[0,0]),"bottom-left":t.Point.convert(r["bottom-left"]||[0,0]),"bottom-right":t.Point.convert(r["bottom-right"]||[0,0]),left:t.Point.convert(r.left||[0,0]),right:t.Point.convert(r.right||[0,0])}}return e(new t.Point(0,0))}(this.options.offset);if(!a){var s,l=this._container.offsetWidth,c=this._container.offsetHeight;s=i.y+o.bottom.y<c?["top"]:i.y>this._map.transform.height-c?["bottom"]:[],i.x<l/2?s.push("left"):i.x>this._map.transform.width-l/2&&s.push("right"),a=0===s.length?"bottom":s.join("-")}var u=i.add(o[a]).round();r.setTransform(this._container,Ii[a]+" translate("+u.x+"px,"+u.y+"px)"),Pi(this._container,a,"popup")}},n.prototype._onClose=function(){this.remove()},n}(t.Evented),Yi={version:t.version,supported:e,setRTLTextPlugin:t.setRTLTextPlugin,getRTLTextPluginStatus:t.getRTLTextPluginStatus,Map:Mi,NavigationControl:Ei,GeolocateControl:Bi,AttributionControl:vi,ScaleControl:ji,FullscreenControl:qi,Popup:Gi,Marker:Oi,Style:qe,LngLat:t.LngLat,LngLatBounds:t.LngLatBounds,Point:t.Point,MercatorCoordinate:t.MercatorCoordinate,Evented:t.Evented,config:t.config,prewarm:function(){Bt().acquire(Ot)},clearPrewarmedResources:function(){var t=Rt;t&&(t.isPreloaded()&&1===t.numActive()?(t.release(Ot),Rt=null):console.warn("Could not clear WebWorkers since there are active Map instances that still reference it. The pre-warmed WebWorker pool can only be cleared when all map instances have been removed with map.remove()"))},get accessToken(){return t.config.ACCESS_TOKEN},set accessToken(e){t.config.ACCESS_TOKEN=e},get baseApiUrl(){return t.config.API_URL},set baseApiUrl(e){t.config.API_URL=e},get workerCount(){return Dt.workerCount},set workerCount(t){Dt.workerCount=t},get maxParallelImageRequests(){return t.config.MAX_PARALLEL_IMAGE_REQUESTS},set maxParallelImageRequests(e){t.config.MAX_PARALLEL_IMAGE_REQUESTS=e},clearStorage:function(e){t.clearTileCache(e)},workerUrl:""};return Yi})),r}))},{}],474:[function(t,e,r){"use strict";e.exports=function(t){for(var e=1<<t+1,r=new Array(e),n=0;n<e;++n)r[n]=a(t,n);return r};var n=t("convex-hull");function i(t,e,r){for(var n=new Array(t),i=0;i<t;++i)n[i]=0,i===e&&(n[i]+=.5),i===r&&(n[i]+=.5);return n}function a(t,e){if(0===e||e===(1<<t+1)-1)return[];for(var r=[],a=[],o=0;o<=t;++o)if(e&1<<o){r.push(i(t,o-1,o-1)),a.push(null);for(var s=0;s<=t;++s)~e&1<<s&&(r.push(i(t,o-1,s-1)),a.push([o,s]))}var l=n(r),c=[];t:for(o=0;o<l.length;++o){var u=l[o],f=[];for(s=0;s<u.length;++s){if(!a[u[s]])continue t;f.push(a[u[s]].slice())}c.push(f)}return c}},{"convex-hull":135}],475:[function(t,e,r){var n=t("./normalize"),i=t("gl-mat4/create"),a=t("gl-mat4/clone"),o=t("gl-mat4/determinant"),s=t("gl-mat4/invert"),l=t("gl-mat4/transpose"),c={length:t("gl-vec3/length"),normalize:t("gl-vec3/normalize"),dot:t("gl-vec3/dot"),cross:t("gl-vec3/cross")},u=i(),f=i(),h=[0,0,0,0],p=[[0,0,0],[0,0,0],[0,0,0]],d=[0,0,0];function g(t,e,r,n,i){t[0]=e[0]*n+r[0]*i,t[1]=e[1]*n+r[1]*i,t[2]=e[2]*n+r[2]*i}e.exports=function(t,e,r,i,m,v){if(e||(e=[0,0,0]),r||(r=[0,0,0]),i||(i=[0,0,0]),m||(m=[0,0,0,1]),v||(v=[0,0,0,1]),!n(u,t))return!1;if(a(f,u),f[3]=0,f[7]=0,f[11]=0,f[15]=1,Math.abs(o(f)<1e-8))return!1;var y,x,b,_,w,T,k,M=u[3],A=u[7],S=u[11],E=u[12],C=u[13],L=u[14],I=u[15];if(0!==M||0!==A||0!==S){if(h[0]=M,h[1]=A,h[2]=S,h[3]=I,!s(f,f))return!1;l(f,f),y=m,b=f,_=(x=h)[0],w=x[1],T=x[2],k=x[3],y[0]=b[0]*_+b[4]*w+b[8]*T+b[12]*k,y[1]=b[1]*_+b[5]*w+b[9]*T+b[13]*k,y[2]=b[2]*_+b[6]*w+b[10]*T+b[14]*k,y[3]=b[3]*_+b[7]*w+b[11]*T+b[15]*k}else m[0]=m[1]=m[2]=0,m[3]=1;if(e[0]=E,e[1]=C,e[2]=L,function(t,e){t[0][0]=e[0],t[0][1]=e[1],t[0][2]=e[2],t[1][0]=e[4],t[1][1]=e[5],t[1][2]=e[6],t[2][0]=e[8],t[2][1]=e[9],t[2][2]=e[10]}(p,u),r[0]=c.length(p[0]),c.normalize(p[0],p[0]),i[0]=c.dot(p[0],p[1]),g(p[1],p[1],p[0],1,-i[0]),r[1]=c.length(p[1]),c.normalize(p[1],p[1]),i[0]/=r[1],i[1]=c.dot(p[0],p[2]),g(p[2],p[2],p[0],1,-i[1]),i[2]=c.dot(p[1],p[2]),g(p[2],p[2],p[1],1,-i[2]),r[2]=c.length(p[2]),c.normalize(p[2],p[2]),i[1]/=r[2],i[2]/=r[2],c.cross(d,p[1],p[2]),c.dot(p[0],d)<0)for(var P=0;P<3;P++)r[P]*=-1,p[P][0]*=-1,p[P][1]*=-1,p[P][2]*=-1;return v[0]=.5*Math.sqrt(Math.max(1+p[0][0]-p[1][1]-p[2][2],0)),v[1]=.5*Math.sqrt(Math.max(1-p[0][0]+p[1][1]-p[2][2],0)),v[2]=.5*Math.sqrt(Math.max(1-p[0][0]-p[1][1]+p[2][2],0)),v[3]=.5*Math.sqrt(Math.max(1+p[0][0]+p[1][1]+p[2][2],0)),p[2][1]>p[1][2]&&(v[0]=-v[0]),p[0][2]>p[2][0]&&(v[1]=-v[1]),p[1][0]>p[0][1]&&(v[2]=-v[2]),!0}},{"./normalize":476,"gl-mat4/clone":278,"gl-mat4/create":280,"gl-mat4/determinant":281,"gl-mat4/invert":293,"gl-mat4/transpose":306,"gl-vec3/cross":365,"gl-vec3/dot":370,"gl-vec3/length":380,"gl-vec3/normalize":387}],476:[function(t,e,r){e.exports=function(t,e){var r=e[15];if(0===r)return!1;for(var n=1/r,i=0;i<16;i++)t[i]=e[i]*n;return!0}},{}],477:[function(t,e,r){var n=t("gl-vec3/lerp"),i=t("mat4-recompose"),a=t("mat4-decompose"),o=t("gl-mat4/determinant"),s=t("quat-slerp"),l=f(),c=f(),u=f();function f(){return{translate:h(),scale:h(1),skew:h(),perspective:[0,0,0,1],quaternion:[0,0,0,1]}}function h(t){return[t||0,t||0,t||0]}e.exports=function(t,e,r,f){if(0===o(e)||0===o(r))return!1;var h=a(e,l.translate,l.scale,l.skew,l.perspective,l.quaternion),p=a(r,c.translate,c.scale,c.skew,c.perspective,c.quaternion);return!(!h||!p)&&(n(u.translate,l.translate,c.translate,f),n(u.skew,l.skew,c.skew,f),n(u.scale,l.scale,c.scale,f),n(u.perspective,l.perspective,c.perspective,f),s(u.quaternion,l.quaternion,c.quaternion,f),i(t,u.translate,u.scale,u.skew,u.perspective,u.quaternion),!0)}},{"gl-mat4/determinant":281,"gl-vec3/lerp":381,"mat4-decompose":475,"mat4-recompose":478,"quat-slerp":527}],478:[function(t,e,r){var n={identity:t("gl-mat4/identity"),translate:t("gl-mat4/translate"),multiply:t("gl-mat4/multiply"),create:t("gl-mat4/create"),scale:t("gl-mat4/scale"),fromRotationTranslation:t("gl-mat4/fromRotationTranslation")},i=(n.create(),n.create());e.exports=function(t,e,r,a,o,s){return n.identity(t),n.fromRotationTranslation(t,s,e),t[3]=o[0],t[7]=o[1],t[11]=o[2],t[15]=o[3],n.identity(i),0!==a[2]&&(i[9]=a[2],n.multiply(t,t,i)),0!==a[1]&&(i[9]=0,i[8]=a[1],n.multiply(t,t,i)),0!==a[0]&&(i[8]=0,i[4]=a[0],n.multiply(t,t,i)),n.scale(t,t,r),t}},{"gl-mat4/create":280,"gl-mat4/fromRotationTranslation":284,"gl-mat4/identity":291,"gl-mat4/multiply":295,"gl-mat4/scale":303,"gl-mat4/translate":305}],479:[function(t,e,r){"use strict";e.exports=Math.log2||function(t){return Math.log(t)*Math.LOG2E}},{}],480:[function(t,e,r){"use strict";var n=t("binary-search-bounds"),i=t("mat4-interpolate"),a=t("gl-mat4/invert"),o=t("gl-mat4/rotateX"),s=t("gl-mat4/rotateY"),l=t("gl-mat4/rotateZ"),c=t("gl-mat4/lookAt"),u=t("gl-mat4/translate"),f=(t("gl-mat4/scale"),t("gl-vec3/normalize")),h=[0,0,0];function p(t){this._components=t.slice(),this._time=[0],this.prevMatrix=t.slice(),this.nextMatrix=t.slice(),this.computedMatrix=t.slice(),this.computedInverse=t.slice(),this.computedEye=[0,0,0],this.computedUp=[0,0,0],this.computedCenter=[0,0,0],this.computedRadius=[0],this._limits=[-1/0,1/0]}e.exports=function(t){return new p((t=t||{}).matrix||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])};var d=p.prototype;d.recalcMatrix=function(t){var e=this._time,r=n.le(e,t),o=this.computedMatrix;if(!(r<0)){var s=this._components;if(r===e.length-1)for(var l=16*r,c=0;c<16;++c)o[c]=s[l++];else{var u=e[r+1]-e[r],h=(l=16*r,this.prevMatrix),p=!0;for(c=0;c<16;++c)h[c]=s[l++];var d=this.nextMatrix;for(c=0;c<16;++c)d[c]=s[l++],p=p&&h[c]===d[c];if(u<1e-6||p)for(c=0;c<16;++c)o[c]=h[c];else i(o,h,d,(t-e[r])/u)}var g=this.computedUp;g[0]=o[1],g[1]=o[5],g[2]=o[9],f(g,g);var m=this.computedInverse;a(m,o);var v=this.computedEye,y=m[15];v[0]=m[12]/y,v[1]=m[13]/y,v[2]=m[14]/y;var x=this.computedCenter,b=Math.exp(this.computedRadius[0]);for(c=0;c<3;++c)x[c]=v[c]-o[2+4*c]*b}},d.idle=function(t){if(!(t<this.lastT())){for(var e=this._components,r=e.length-16,n=0;n<16;++n)e.push(e[r++]);this._time.push(t)}},d.flush=function(t){var e=n.gt(this._time,t)-2;e<0||(this._time.splice(0,e),this._components.splice(0,16*e))},d.lastT=function(){return this._time[this._time.length-1]},d.lookAt=function(t,e,r,n){this.recalcMatrix(t),e=e||this.computedEye,r=r||h,n=n||this.computedUp,this.setMatrix(t,c(this.computedMatrix,e,r,n));for(var i=0,a=0;a<3;++a)i+=Math.pow(r[a]-e[a],2);i=Math.log(Math.sqrt(i)),this.computedRadius[0]=i},d.rotate=function(t,e,r,n){this.recalcMatrix(t);var i=this.computedInverse;e&&s(i,i,e),r&&o(i,i,r),n&&l(i,i,n),this.setMatrix(t,a(this.computedMatrix,i))};var g=[0,0,0];d.pan=function(t,e,r,n){g[0]=-(e||0),g[1]=-(r||0),g[2]=-(n||0),this.recalcMatrix(t);var i=this.computedInverse;u(i,i,g),this.setMatrix(t,a(i,i))},d.translate=function(t,e,r,n){g[0]=e||0,g[1]=r||0,g[2]=n||0,this.recalcMatrix(t);var i=this.computedMatrix;u(i,i,g),this.setMatrix(t,i)},d.setMatrix=function(t,e){if(!(t<this.lastT())){this._time.push(t);for(var r=0;r<16;++r)this._components.push(e[r])}},d.setDistance=function(t,e){this.computedRadius[0]=e},d.setDistanceLimits=function(t,e){var r=this._limits;r[0]=t,r[1]=e},d.getDistanceLimits=function(t){var e=this._limits;return t?(t[0]=e[0],t[1]=e[1],t):e}},{"binary-search-bounds":481,"gl-mat4/invert":293,"gl-mat4/lookAt":294,"gl-mat4/rotateX":300,"gl-mat4/rotateY":301,"gl-mat4/rotateZ":302,"gl-mat4/scale":303,"gl-mat4/translate":305,"gl-vec3/normalize":387,"mat4-interpolate":477}],481:[function(t,e,r){arguments[4][243][0].apply(r,arguments)},{dup:243}],482:[function(t,e,r){"use strict";e.exports=function(t){var e=t.length;if(e<3){for(var r=new Array(e),i=0;i<e;++i)r[i]=i;return 2===e&&t[0][0]===t[1][0]&&t[0][1]===t[1][1]?[0]:r}var a=new Array(e);for(i=0;i<e;++i)a[i]=i;a.sort((function(e,r){var n=t[e][0]-t[r][0];return n||t[e][1]-t[r][1]}));var o=[a[0],a[1]],s=[a[0],a[1]];for(i=2;i<e;++i){for(var l=a[i],c=t[l],u=o.length;u>1&&n(t[o[u-2]],t[o[u-1]],c)<=0;)u-=1,o.pop();for(o.push(l),u=s.length;u>1&&n(t[s[u-2]],t[s[u-1]],c)>=0;)u-=1,s.pop();s.push(l)}r=new Array(s.length+o.length-2);for(var f=0,h=(i=0,o.length);i<h;++i)r[f++]=o[i];for(var p=s.length-2;p>0;--p)r[f++]=s[p];return r};var n=t("robust-orientation")[3]},{"robust-orientation":548}],483:[function(t,e,r){"use strict";e.exports=function(t,e){e||(e=t,t=window);var r=0,i=0,a=0,o={shift:!1,alt:!1,control:!1,meta:!1},s=!1;function l(t){var e=!1;return"altKey"in t&&(e=e||t.altKey!==o.alt,o.alt=!!t.altKey),"shiftKey"in t&&(e=e||t.shiftKey!==o.shift,o.shift=!!t.shiftKey),"ctrlKey"in t&&(e=e||t.ctrlKey!==o.control,o.control=!!t.ctrlKey),"metaKey"in t&&(e=e||t.metaKey!==o.meta,o.meta=!!t.metaKey),e}function c(t,s){var c=n.x(s),u=n.y(s);"buttons"in s&&(t=0|s.buttons),(t!==r||c!==i||u!==a||l(s))&&(r=0|t,i=c||0,a=u||0,e&&e(r,i,a,o))}function u(t){c(0,t)}function f(){(r||i||a||o.shift||o.alt||o.meta||o.control)&&(i=a=0,r=0,o.shift=o.alt=o.control=o.meta=!1,e&&e(0,0,0,o))}function h(t){l(t)&&e&&e(r,i,a,o)}function p(t){0===n.buttons(t)?c(0,t):c(r,t)}function d(t){c(r|n.buttons(t),t)}function g(t){c(r&~n.buttons(t),t)}function m(){s||(s=!0,t.addEventListener("mousemove",p),t.addEventListener("mousedown",d),t.addEventListener("mouseup",g),t.addEventListener("mouseleave",u),t.addEventListener("mouseenter",u),t.addEventListener("mouseout",u),t.addEventListener("mouseover",u),t.addEventListener("blur",f),t.addEventListener("keyup",h),t.addEventListener("keydown",h),t.addEventListener("keypress",h),t!==window&&(window.addEventListener("blur",f),window.addEventListener("keyup",h),window.addEventListener("keydown",h),window.addEventListener("keypress",h)))}m();var v={element:t};return Object.defineProperties(v,{enabled:{get:function(){return s},set:function(e){e?m():function(){if(!s)return;s=!1,t.removeEventListener("mousemove",p),t.removeEventListener("mousedown",d),t.removeEventListener("mouseup",g),t.removeEventListener("mouseleave",u),t.removeEventListener("mouseenter",u),t.removeEventListener("mouseout",u),t.removeEventListener("mouseover",u),t.removeEventListener("blur",f),t.removeEventListener("keyup",h),t.removeEventListener("keydown",h),t.removeEventListener("keypress",h),t!==window&&(window.removeEventListener("blur",f),window.removeEventListener("keyup",h),window.removeEventListener("keydown",h),window.removeEventListener("keypress",h))}()},enumerable:!0},buttons:{get:function(){return r},enumerable:!0},x:{get:function(){return i},enumerable:!0},y:{get:function(){return a},enumerable:!0},mods:{get:function(){return o},enumerable:!0}}),v};var n=t("mouse-event")},{"mouse-event":485}],484:[function(t,e,r){var n={left:0,top:0};e.exports=function(t,e,r){e=e||t.currentTarget||t.srcElement,Array.isArray(r)||(r=[0,0]);var i=t.clientX||0,a=t.clientY||0,o=(s=e,s===window||s===document||s===document.body?n:s.getBoundingClientRect());var s;return r[0]=i-o.left,r[1]=a-o.top,r}},{}],485:[function(t,e,r){"use strict";function n(t){return t.target||t.srcElement||window}r.buttons=function(t){if("object"==typeof t){if("buttons"in t)return t.buttons;if("which"in t){if(2===(e=t.which))return 4;if(3===e)return 2;if(e>0)return 1<<e-1}else if("button"in t){var e;if(1===(e=t.button))return 4;if(2===e)return 2;if(e>=0)return 1<<e}}return 0},r.element=n,r.x=function(t){if("object"==typeof t){if("offsetX"in t)return t.offsetX;var e=n(t).getBoundingClientRect();return t.clientX-e.left}return 0},r.y=function(t){if("object"==typeof t){if("offsetY"in t)return t.offsetY;var e=n(t).getBoundingClientRect();return t.clientY-e.top}return 0}},{}],486:[function(t,e,r){"use strict";var n=t("to-px");e.exports=function(t,e,r){"function"==typeof t&&(r=!!e,e=t,t=window);var i=n("ex",t),a=function(t){r&&t.preventDefault();var n=t.deltaX||0,a=t.deltaY||0,o=t.deltaZ||0,s=1;switch(t.deltaMode){case 1:s=i;break;case 2:s=window.innerHeight}if(a*=s,o*=s,(n*=s)||a||o)return e(n,a,o,t)};return t.addEventListener("wheel",a),a}},{"to-px":578}],487:[function(t,e,r){"use strict";var n=t("typedarray-pool");function i(t){return"a"+t}function a(t){return"d"+t}function o(t,e){return"c"+t+"_"+e}function s(t){return"s"+t}function l(t,e){return"t"+t+"_"+e}function c(t){return"o"+t}function u(t){return"x"+t}function f(t){return"p"+t}function h(t,e){return"d"+t+"_"+e}function p(t){return"i"+t}function d(t,e){return"u"+t+"_"+e}function g(t){return"b"+t}function m(t){return"y"+t}function v(t){return"e"+t}function y(t){return"v"+t}e.exports=function(t){function e(t){throw new Error("ndarray-extract-contour: "+t)}"object"!=typeof t&&e("Must specify arguments");var r=t.order;Array.isArray(r)||e("Must specify order");var b=t.arrayArguments||1;b<1&&e("Must have at least one array argument");var _=t.scalarArguments||0;_<0&&e("Scalar arg count must be > 0");"function"!=typeof t.vertex&&e("Must specify vertex creation function");"function"!=typeof t.cell&&e("Must specify cell creation function");"function"!=typeof t.phase&&e("Must specify phase function");for(var w=t.getters||[],T=new Array(b),k=0;k<b;++k)w.indexOf(k)>=0?T[k]=!0:T[k]=!1;return function(t,e,r,b,_,w){var T=w.length,k=_.length;if(k<2)throw new Error("ndarray-extract-contour: Dimension must be at least 2");for(var M="extractContour"+_.join("_"),A=[],S=[],E=[],C=0;C<T;++C)E.push(i(C));for(C=0;C<b;++C)E.push(u(C));for(C=0;C<k;++C)S.push(s(C)+"="+i(0)+".shape["+C+"]|0");for(C=0;C<T;++C){S.push(a(C)+"="+i(C)+".data",c(C)+"="+i(C)+".offset|0");for(var L=0;L<k;++L)S.push(l(C,L)+"="+i(C)+".stride["+L+"]|0")}for(C=0;C<T;++C){S.push(f(C)+"="+c(C)),S.push(o(C,0));for(L=1;L<1<<k;++L){for(var I=[],P=0;P<k;++P)L&1<<P&&I.push("-"+l(C,P));S.push(h(C,L)+"=("+I.join("")+")|0"),S.push(o(C,L)+"=0")}}for(C=0;C<T;++C)for(L=0;L<k;++L){var z=[l(C,_[L])];L>0&&z.push(l(C,_[L-1])+"*"+s(_[L-1])),S.push(d(C,_[L])+"=("+z.join("-")+")|0")}for(C=0;C<k;++C)S.push(p(C)+"=0");S.push("N=0");var O=["2"];for(C=k-2;C>=0;--C)O.push(s(_[C]));S.push("Q=("+O.join("*")+")|0","P=mallocUint32(Q)","V=mallocUint32(Q)","X=0"),S.push(g(0)+"=0");for(L=1;L<1<<k;++L){var D=[],R=[];for(P=0;P<k;++P)L&1<<P&&(0===R.length?D.push("1"):D.unshift(R.join("*"))),R.push(s(_[P]));var F="";D[0].indexOf(s(_[k-2]))<0&&(F="-");var B=x(k,L,_);S.push(v(B)+"=(-"+D.join("-")+")|0",m(B)+"=("+F+D.join("-")+")|0",g(B)+"=0")}function N(t,e){A.push("for(",p(_[t]),"=",e,";",p(_[t]),"<",s(_[t]),";","++",p(_[t]),"){")}function j(t){for(var e=0;e<T;++e)A.push(f(e),"+=",d(e,_[t]),";");A.push("}")}function U(){for(var t=1;t<1<<k;++t)A.push("T","=",v(t),";",v(t),"=",m(t),";",m(t),"=","T",";")}S.push(y(0)+"=0","T=0"),function t(e,r){if(e<0)!function(t){for(var e=0;e<T;++e)w[e]?A.push(o(e,0),"=",a(e),".get(",f(e),");"):A.push(o(e,0),"=",a(e),"[",f(e),"];");var r=[];for(e=0;e<T;++e)r.push(o(e,0));for(e=0;e<b;++e)r.push(u(e));A.push(g(0),"=","P","[","X","]=phase(",r.join(),");");for(var n=1;n<1<<k;++n)A.push(g(n),"=","P","[","X","+",v(n),"];");var i=[];for(n=1;n<1<<k;++n)i.push("("+g(0)+"!=="+g(n)+")");A.push("if(",i.join("||"),"){");var s=[];for(e=0;e<k;++e)s.push(p(e));for(e=0;e<T;++e){s.push(o(e,0));for(n=1;n<1<<k;++n)w[e]?A.push(o(e,n),"=",a(e),".get(",f(e),"+",h(e,n),");"):A.push(o(e,n),"=",a(e),"[",f(e),"+",h(e,n),"];"),s.push(o(e,n))}for(e=0;e<1<<k;++e)s.push(g(e));for(e=0;e<b;++e)s.push(u(e));A.push("vertex(",s.join(),");",y(0),"=","V","[","X","]=","N","++;");var l=(1<<k)-1,c=g(l);for(n=0;n<k;++n)if(0==(t&~(1<<n))){for(var d=l^1<<n,m=g(d),x=[],_=d;_>0;_=_-1&d)x.push("V[X+"+v(_)+"]");x.push(y(0));for(_=0;_<T;++_)1&n?x.push(o(_,l),o(_,d)):x.push(o(_,d),o(_,l));1&n?x.push(c,m):x.push(m,c);for(_=0;_<b;++_)x.push(u(_));A.push("if(",c,"!==",m,"){","face(",x.join(),")}")}A.push("}","X","+=1;")}(r);else{!function(t){for(var e=t-1;e>=0;--e)N(e,0);var r=[];for(e=0;e<T;++e)w[e]?r.push(a(e)+".get("+f(e)+")"):r.push(a(e)+"["+f(e)+"]");for(e=0;e<b;++e)r.push(u(e));for(A.push("P","[","X","++]=phase(",r.join(),");"),e=0;e<t;++e)j(e);for(var n=0;n<T;++n)A.push(f(n),"+=",d(n,_[t]),";")}(e),A.push("if(",s(_[e]),">0){",p(_[e]),"=1;"),t(e-1,r|1<<_[e]);for(var n=0;n<T;++n)A.push(f(n),"+=",d(n,_[e]),";");e===k-1&&(A.push("X","=0;"),U()),N(e,2),t(e-1,r),e===k-1&&(A.push("if(",p(_[k-1]),"&1){","X","=0;}"),U()),j(e),A.push("}")}}(k-1,0),A.push("freeUint32(","V",");freeUint32(","P",");");var V=["'use strict';","function ",M,"(",E.join(),"){","var ",S.join(),";",A.join(""),"}","return ",M].join("");return new Function("vertex","face","phase","mallocUint32","freeUint32",V)(t,e,r,n.mallocUint32,n.freeUint32)}(t.vertex,t.cell,t.phase,_,r,T)};function x(t,e,r){for(var n=0,i=0;i<t;++i)e&1<<i&&(n|=1<<r[i]);return n}},{"typedarray-pool":595}],488:[function(t,e,r){"use strict";e.exports=function(t,e,r){if(Array.isArray(r)){if(r.length!==e.dimension)throw new Error("ndarray-gradient: invalid boundary conditions")}else r=n(e.dimension,"string"==typeof r?r:"clamp");if(t.dimension!==e.dimension+1)throw new Error("ndarray-gradient: output dimension must be +1 input dimension");if(t.shape[e.dimension]!==e.dimension)throw new Error("ndarray-gradient: output shape must match input shape");for(var i=0;i<e.dimension;++i)if(t.shape[i]!==e.shape[i])throw new Error("ndarray-gradient: shape mismatch");if(0===e.size)return t;if(e.dimension<=0)return t.set(0),t;return function(t){var e=t.join();if(v=o[e])return v;var r=t.length,n=["function gradient(dst,src){var s=src.shape.slice();"];function i(e){for(var i=r-e.length,a=[],o=[],s=[],l=0;l<r;++l)e.indexOf(l+1)>=0?s.push("0"):e.indexOf(-(l+1))>=0?s.push("s["+l+"]-1"):(s.push("-1"),a.push("1"),o.push("s["+l+"]-2"));var c=".lo("+a.join()+").hi("+o.join()+")";if(0===a.length&&(c=""),i>0){n.push("if(1");for(l=0;l<r;++l)e.indexOf(l+1)>=0||e.indexOf(-(l+1))>=0||n.push("&&s[",l,"]>2");n.push("){grad",i,"(src.pick(",s.join(),")",c);for(l=0;l<r;++l)e.indexOf(l+1)>=0||e.indexOf(-(l+1))>=0||n.push(",dst.pick(",s.join(),",",l,")",c);n.push(");")}for(l=0;l<e.length;++l){var u=Math.abs(e[l])-1,f="dst.pick("+s.join()+","+u+")"+c;switch(t[u]){case"clamp":var h=s.slice(),p=s.slice();e[l]<0?h[u]="s["+u+"]-2":p[u]="1",0===i?n.push("if(s[",u,"]>1){dst.set(",s.join(),",",u,",0.5*(src.get(",h.join(),")-src.get(",p.join(),")))}else{dst.set(",s.join(),",",u,",0)};"):n.push("if(s[",u,"]>1){diff(",f,",src.pick(",h.join(),")",c,",src.pick(",p.join(),")",c,");}else{zero(",f,");};");break;case"mirror":0===i?n.push("dst.set(",s.join(),",",u,",0);"):n.push("zero(",f,");");break;case"wrap":var d=s.slice(),g=s.slice();e[l]<0?(d[u]="s["+u+"]-2",g[u]="0"):(d[u]="s["+u+"]-1",g[u]="1"),0===i?n.push("if(s[",u,"]>2){dst.set(",s.join(),",",u,",0.5*(src.get(",d.join(),")-src.get(",g.join(),")))}else{dst.set(",s.join(),",",u,",0)};"):n.push("if(s[",u,"]>2){diff(",f,",src.pick(",d.join(),")",c,",src.pick(",g.join(),")",c,");}else{zero(",f,");};");break;default:throw new Error("ndarray-gradient: Invalid boundary condition")}}i>0&&n.push("};")}for(var s=0;s<1<<r;++s){for(var f=[],h=0;h<r;++h)s&1<<h&&f.push(h+1);for(var p=0;p<1<<f.length;++p){var d=f.slice();for(h=0;h<f.length;++h)p&1<<h&&(d[h]=-d[h]);i(d)}}n.push("return dst;};return gradient");var g=["diff","zero"],m=[l,c];for(s=1;s<=r;++s)g.push("grad"+s),m.push(u(s));g.push(n.join(""));var v=Function.apply(void 0,g).apply(void 0,m);return a[e]=v,v}(r)(t,e)};var n=t("dup"),i=t("cwise-compiler"),a={},o={},s={body:"",args:[],thisVars:[],localVars:[]},l=i({args:["array","array","array"],pre:s,post:s,body:{args:[{name:"out",lvalue:!0,rvalue:!1,count:1},{name:"left",lvalue:!1,rvalue:!0,count:1},{name:"right",lvalue:!1,rvalue:!0,count:1}],body:"out=0.5*(left-right)",thisVars:[],localVars:[]},funcName:"cdiff"}),c=i({args:["array"],pre:s,post:s,body:{args:[{name:"out",lvalue:!0,rvalue:!1,count:1}],body:"out=0",thisVars:[],localVars:[]},funcName:"zero"});function u(t){if(t in a)return a[t];for(var e=[],r=0;r<t;++r)e.push("out",r,"s=0.5*(inp",r,"l-inp",r,"r);");var o=["array"],l=["junk"];for(r=0;r<t;++r){o.push("array"),l.push("out"+r+"s");var c=n(t);c[r]=-1,o.push({array:0,offset:c.slice()}),c[r]=1,o.push({array:0,offset:c.slice()}),l.push("inp"+r+"l","inp"+r+"r")}return a[t]=i({args:o,pre:s,post:s,body:{body:e.join(""),args:l.map((function(t){return{name:t,lvalue:0===t.indexOf("out"),rvalue:0===t.indexOf("inp"),count:"junk"!==t|0}})),thisVars:[],localVars:[]},funcName:"fdTemplate"+t})}},{"cwise-compiler":151,dup:176}],489:[function(t,e,r){"use strict";function n(t,e){var r=Math.floor(e),n=e-r,i=0<=r&&r<t.shape[0],a=0<=r+1&&r+1<t.shape[0];return(1-n)*(i?+t.get(r):0)+n*(a?+t.get(r+1):0)}function i(t,e,r){var n=Math.floor(e),i=e-n,a=0<=n&&n<t.shape[0],o=0<=n+1&&n+1<t.shape[0],s=Math.floor(r),l=r-s,c=0<=s&&s<t.shape[1],u=0<=s+1&&s+1<t.shape[1],f=a&&c?t.get(n,s):0,h=a&&u?t.get(n,s+1):0;return(1-l)*((1-i)*f+i*(o&&c?t.get(n+1,s):0))+l*((1-i)*h+i*(o&&u?t.get(n+1,s+1):0))}function a(t,e,r,n){var i=Math.floor(e),a=e-i,o=0<=i&&i<t.shape[0],s=0<=i+1&&i+1<t.shape[0],l=Math.floor(r),c=r-l,u=0<=l&&l<t.shape[1],f=0<=l+1&&l+1<t.shape[1],h=Math.floor(n),p=n-h,d=0<=h&&h<t.shape[2],g=0<=h+1&&h+1<t.shape[2],m=o&&u&&d?t.get(i,l,h):0,v=o&&f&&d?t.get(i,l+1,h):0,y=s&&u&&d?t.get(i+1,l,h):0,x=s&&f&&d?t.get(i+1,l+1,h):0,b=o&&u&&g?t.get(i,l,h+1):0,_=o&&f&&g?t.get(i,l+1,h+1):0;return(1-p)*((1-c)*((1-a)*m+a*y)+c*((1-a)*v+a*x))+p*((1-c)*((1-a)*b+a*(s&&u&&g?t.get(i+1,l,h+1):0))+c*((1-a)*_+a*(s&&f&&g?t.get(i+1,l+1,h+1):0)))}function o(t){var e,r,n=0|t.shape.length,i=new Array(n),a=new Array(n),o=new Array(n),s=new Array(n);for(e=0;e<n;++e)r=+arguments[e+1],i[e]=Math.floor(r),a[e]=r-i[e],o[e]=0<=i[e]&&i[e]<t.shape[e],s[e]=0<=i[e]+1&&i[e]+1<t.shape[e];var l,c,u,f=0;t:for(e=0;e<1<<n;++e){for(c=1,u=t.offset,l=0;l<n;++l)if(e&1<<l){if(!s[l])continue t;c*=a[l],u+=t.stride[l]*(i[l]+1)}else{if(!o[l])continue t;c*=1-a[l],u+=t.stride[l]*i[l]}f+=c*t.data[u]}return f}e.exports=function(t,e,r,s){switch(t.shape.length){case 0:return 0;case 1:return n(t,e);case 2:return i(t,e,r);case 3:return a(t,e,r,s);default:return o.apply(void 0,arguments)}},e.exports.d1=n,e.exports.d2=i,e.exports.d3=a},{}],490:[function(t,e,r){"use strict";var n=t("cwise-compiler"),i={body:"",args:[],thisVars:[],localVars:[]};function a(t){if(!t)return i;for(var e=0;e<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 o(t){for(var e=[],r=0;r<t.args.length;++r)e.push("a"+r);return new Function("P",["return function ",t.funcName,"_ndarrayops(",e.join(","),") {P(",e.join(","),");return a0}"].join(""))(function(t){return n({args:t.args,pre:a(t.pre),body:a(t.body),post:a(t.proc),funcName:t.funcName})}(t))}var s={add:"+",sub:"-",mul:"*",div:"/",mod:"%",band:"&",bor:"|",bxor:"^",lshift:"<<",rshift:">>",rrshift:">>>"};!function(){for(var t in s){var e=s[t];r[t]=o({args:["array","array","array"],body:{args:["a","b","c"],body:"a=b"+e+"c"},funcName:t}),r[t+"eq"]=o({args:["array","array"],body:{args:["a","b"],body:"a"+e+"=b"},rvalue:!0,funcName:t+"eq"}),r[t+"s"]=o({args:["array","array","scalar"],body:{args:["a","b","s"],body:"a=b"+e+"s"},funcName:t+"s"}),r[t+"seq"]=o({args:["array","scalar"],body:{args:["a","s"],body:"a"+e+"=s"},rvalue:!0,funcName:t+"seq"})}}();var l={not:"!",bnot:"~",neg:"-",recip:"1.0/"};!function(){for(var t in l){var e=l[t];r[t]=o({args:["array","array"],body:{args:["a","b"],body:"a="+e+"b"},funcName:t}),r[t+"eq"]=o({args:["array"],body:{args:["a"],body:"a="+e+"a"},rvalue:!0,count:2,funcName:t+"eq"})}}();var c={and:"&&",or:"||",eq:"===",neq:"!==",lt:"<",gt:">",leq:"<=",geq:">="};!function(){for(var t in c){var e=c[t];r[t]=o({args:["array","array","array"],body:{args:["a","b","c"],body:"a=b"+e+"c"},funcName:t}),r[t+"s"]=o({args:["array","array","scalar"],body:{args:["a","b","s"],body:"a=b"+e+"s"},funcName:t+"s"}),r[t+"eq"]=o({args:["array","array"],body:{args:["a","b"],body:"a=a"+e+"b"},rvalue:!0,count:2,funcName:t+"eq"}),r[t+"seq"]=o({args:["array","scalar"],body:{args:["a","s"],body:"a=a"+e+"s"},rvalue:!0,count:2,funcName:t+"seq"})}}();var u=["abs","acos","asin","atan","ceil","cos","exp","floor","log","round","sin","sqrt","tan"];!function(){for(var t=0;t<u.length;++t){var e=u[t];r[e]=o({args:["array","array"],pre:{args:[],body:"this_f=Math."+e,thisVars:["this_f"]},body:{args:["a","b"],body:"a=this_f(b)",thisVars:["this_f"]},funcName:e}),r[e+"eq"]=o({args:["array"],pre:{args:[],body:"this_f=Math."+e,thisVars:["this_f"]},body:{args:["a"],body:"a=this_f(a)",thisVars:["this_f"]},rvalue:!0,count:2,funcName:e+"eq"})}}();var f=["max","min","atan2","pow"];!function(){for(var t=0;t<f.length;++t){var e=f[t];r[e]=o({args:["array","array","array"],pre:{args:[],body:"this_f=Math."+e,thisVars:["this_f"]},body:{args:["a","b","c"],body:"a=this_f(b,c)",thisVars:["this_f"]},funcName:e}),r[e+"s"]=o({args:["array","array","scalar"],pre:{args:[],body:"this_f=Math."+e,thisVars:["this_f"]},body:{args:["a","b","c"],body:"a=this_f(b,c)",thisVars:["this_f"]},funcName:e+"s"}),r[e+"eq"]=o({args:["array","array"],pre:{args:[],body:"this_f=Math."+e,thisVars:["this_f"]},body:{args:["a","b"],body:"a=this_f(a,b)",thisVars:["this_f"]},rvalue:!0,count:2,funcName:e+"eq"}),r[e+"seq"]=o({args:["array","scalar"],pre:{args:[],body:"this_f=Math."+e,thisVars:["this_f"]},body:{args:["a","b"],body:"a=this_f(a,b)",thisVars:["this_f"]},rvalue:!0,count:2,funcName:e+"seq"})}}();var h=["atan2","pow"];!function(){for(var t=0;t<h.length;++t){var e=h[t];r[e+"op"]=o({args:["array","array","array"],pre:{args:[],body:"this_f=Math."+e,thisVars:["this_f"]},body:{args:["a","b","c"],body:"a=this_f(c,b)",thisVars:["this_f"]},funcName:e+"op"}),r[e+"ops"]=o({args:["array","array","scalar"],pre:{args:[],body:"this_f=Math."+e,thisVars:["this_f"]},body:{args:["a","b","c"],body:"a=this_f(c,b)",thisVars:["this_f"]},funcName:e+"ops"}),r[e+"opeq"]=o({args:["array","array"],pre:{args:[],body:"this_f=Math."+e,thisVars:["this_f"]},body:{args:["a","b"],body:"a=this_f(b,a)",thisVars:["this_f"]},rvalue:!0,count:2,funcName:e+"opeq"}),r[e+"opseq"]=o({args:["array","scalar"],pre:{args:[],body:"this_f=Math."+e,thisVars:["this_f"]},body:{args:["a","b"],body:"a=this_f(b,a)",thisVars:["this_f"]},rvalue:!0,count:2,funcName:e+"opseq"})}}(),r.any=n({args:["array"],pre:i,body:{args:[{name:"a",lvalue:!1,rvalue:!0,count:1}],body:"if(a){return true}",localVars:[],thisVars:[]},post:{args:[],localVars:[],thisVars:[],body:"return false"},funcName:"any"}),r.all=n({args:["array"],pre:i,body:{args:[{name:"x",lvalue:!1,rvalue:!0,count:1}],body:"if(!x){return false}",localVars:[],thisVars:[]},post:{args:[],localVars:[],thisVars:[],body:"return true"},funcName:"all"}),r.sum=n({args:["array"],pre:{args:[],localVars:[],thisVars:["this_s"],body:"this_s=0"},body:{args:[{name:"a",lvalue:!1,rvalue:!0,count:1}],body:"this_s+=a",localVars:[],thisVars:["this_s"]},post:{args:[],localVars:[],thisVars:["this_s"],body:"return this_s"},funcName:"sum"}),r.prod=n({args:["array"],pre:{args:[],localVars:[],thisVars:["this_s"],body:"this_s=1"},body:{args:[{name:"a",lvalue:!1,rvalue:!0,count:1}],body:"this_s*=a",localVars:[],thisVars:["this_s"]},post:{args:[],localVars:[],thisVars:["this_s"],body:"return this_s"},funcName:"prod"}),r.norm2squared=n({args:["array"],pre:{args:[],localVars:[],thisVars:["this_s"],body:"this_s=0"},body:{args:[{name:"a",lvalue:!1,rvalue:!0,count:2}],body:"this_s+=a*a",localVars:[],thisVars:["this_s"]},post:{args:[],localVars:[],thisVars:["this_s"],body:"return this_s"},funcName:"norm2squared"}),r.norm2=n({args:["array"],pre:{args:[],localVars:[],thisVars:["this_s"],body:"this_s=0"},body:{args:[{name:"a",lvalue:!1,rvalue:!0,count:2}],body:"this_s+=a*a",localVars:[],thisVars:["this_s"]},post:{args:[],localVars:[],thisVars:["this_s"],body:"return Math.sqrt(this_s)"},funcName:"norm2"}),r.norminf=n({args:["array"],pre:{args:[],localVars:[],thisVars:["this_s"],body:"this_s=0"},body:{args:[{name:"a",lvalue:!1,rvalue:!0,count:4}],body:"if(-a>this_s){this_s=-a}else if(a>this_s){this_s=a}",localVars:[],thisVars:["this_s"]},post:{args:[],localVars:[],thisVars:["this_s"],body:"return this_s"},funcName:"norminf"}),r.norm1=n({args:["array"],pre:{args:[],localVars:[],thisVars:["this_s"],body:"this_s=0"},body:{args:[{name:"a",lvalue:!1,rvalue:!0,count:3}],body:"this_s+=a<0?-a:a",localVars:[],thisVars:["this_s"]},post:{args:[],localVars:[],thisVars:["this_s"],body:"return this_s"},funcName:"norm1"}),r.sup=n({args:["array"],pre:{body:"this_h=-Infinity",args:[],thisVars:["this_h"],localVars:[]},body:{body:"if(_inline_1_arg0_>this_h)this_h=_inline_1_arg0_",args:[{name:"_inline_1_arg0_",lvalue:!1,rvalue:!0,count:2}],thisVars:["this_h"],localVars:[]},post:{body:"return this_h",args:[],thisVars:["this_h"],localVars:[]}}),r.inf=n({args:["array"],pre:{body:"this_h=Infinity",args:[],thisVars:["this_h"],localVars:[]},body:{body:"if(_inline_1_arg0_<this_h)this_h=_inline_1_arg0_",args:[{name:"_inline_1_arg0_",lvalue:!1,rvalue:!0,count:2}],thisVars:["this_h"],localVars:[]},post:{body:"return this_h",args:[],thisVars:["this_h"],localVars:[]}}),r.argmin=n({args:["index","array","shape"],pre:{body:"{this_v=Infinity;this_i=_inline_0_arg2_.slice(0)}",args:[{name:"_inline_0_arg0_",lvalue:!1,rvalue:!1,count:0},{name:"_inline_0_arg1_",lvalue:!1,rvalue:!1,count:0},{name:"_inline_0_arg2_",lvalue:!1,rvalue:!0,count:1}],thisVars:["this_i","this_v"],localVars:[]},body:{body:"{if(_inline_1_arg1_<this_v){this_v=_inline_1_arg1_;for(var _inline_1_k=0;_inline_1_k<_inline_1_arg0_.length;++_inline_1_k){this_i[_inline_1_k]=_inline_1_arg0_[_inline_1_k]}}}",args:[{name:"_inline_1_arg0_",lvalue:!1,rvalue:!0,count:2},{name:"_inline_1_arg1_",lvalue:!1,rvalue:!0,count:2}],thisVars:["this_i","this_v"],localVars:["_inline_1_k"]},post:{body:"{return this_i}",args:[],thisVars:["this_i"],localVars:[]}}),r.argmax=n({args:["index","array","shape"],pre:{body:"{this_v=-Infinity;this_i=_inline_0_arg2_.slice(0)}",args:[{name:"_inline_0_arg0_",lvalue:!1,rvalue:!1,count:0},{name:"_inline_0_arg1_",lvalue:!1,rvalue:!1,count:0},{name:"_inline_0_arg2_",lvalue:!1,rvalue:!0,count:1}],thisVars:["this_i","this_v"],localVars:[]},body:{body:"{if(_inline_1_arg1_>this_v){this_v=_inline_1_arg1_;for(var _inline_1_k=0;_inline_1_k<_inline_1_arg0_.length;++_inline_1_k){this_i[_inline_1_k]=_inline_1_arg0_[_inline_1_k]}}}",args:[{name:"_inline_1_arg0_",lvalue:!1,rvalue:!0,count:2},{name:"_inline_1_arg1_",lvalue:!1,rvalue:!0,count:2}],thisVars:["this_i","this_v"],localVars:["_inline_1_k"]},post:{body:"{return this_i}",args:[],thisVars:["this_i"],localVars:[]}}),r.random=o({args:["array"],pre:{args:[],body:"this_f=Math.random",thisVars:["this_f"]},body:{args:["a"],body:"a=this_f()",thisVars:["this_f"]},funcName:"random"}),r.assign=o({args:["array","array"],body:{args:["a","b"],body:"a=b"},funcName:"assign"}),r.assigns=o({args:["array","scalar"],body:{args:["a","b"],body:"a=b"},funcName:"assigns"}),r.equals=n({args:["array","array"],pre:i,body:{args:[{name:"x",lvalue:!1,rvalue:!0,count:1},{name:"y",lvalue:!1,rvalue:!0,count:1}],body:"if(x!==y){return false}",localVars:[],thisVars:[]},post:{args:[],localVars:[],thisVars:[],body:"return true"},funcName:"equals"})},{"cwise-compiler":151}],491:[function(t,e,r){"use strict";var n=t("ndarray"),i=t("./doConvert.js");e.exports=function(t,e){for(var r=[],a=t,o=1;Array.isArray(a);)r.push(a.length),o*=a.length,a=a[0];return 0===r.length?n():(e||(e=n(new Float64Array(o),r)),i(e,t),e)}},{"./doConvert.js":492,ndarray:495}],492:[function(t,e,r){e.exports=t("cwise-compiler")({args:["array","scalar","index"],pre:{body:"{}",args:[],thisVars:[],localVars:[]},body:{body:"{\nvar _inline_1_v=_inline_1_arg1_,_inline_1_i\nfor(_inline_1_i=0;_inline_1_i<_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}",args:[{name:"_inline_1_arg0_",lvalue:!0,rvalue:!1,count:1},{name:"_inline_1_arg1_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_1_arg2_",lvalue:!1,rvalue:!0,count:4}],thisVars:[],localVars:["_inline_1_i","_inline_1_v"]},post:{body:"{}",args:[],thisVars:[],localVars:[]},funcName:"convert",blockSize:64})},{"cwise-compiler":151}],493:[function(t,e,r){"use strict";var n=t("typedarray-pool"),i=32;function a(t){switch(t){case"uint8":return[n.mallocUint8,n.freeUint8];case"uint16":return[n.mallocUint16,n.freeUint16];case"uint32":return[n.mallocUint32,n.freeUint32];case"int8":return[n.mallocInt8,n.freeInt8];case"int16":return[n.mallocInt16,n.freeInt16];case"int32":return[n.mallocInt32,n.freeInt32];case"float32":return[n.mallocFloat,n.freeFloat];case"float64":return[n.mallocDouble,n.freeDouble];default:return null}}function o(t){for(var e=[],r=0;r<t;++r)e.push("s"+r);for(r=0;r<t;++r)e.push("n"+r);for(r=1;r<t;++r)e.push("d"+r);for(r=1;r<t;++r)e.push("e"+r);for(r=1;r<t;++r)e.push("f"+r);return e}e.exports=function(t,e){var r=["'use strict'"],n=["ndarraySortWrapper",t.join("d"),e].join("");r.push(["function ",n,"(",["array"].join(","),"){"].join(""));for(var s=["data=array.data,offset=array.offset|0,shape=array.shape,stride=array.stride"],l=0;l<t.length;++l)s.push(["s",l,"=stride[",l,"]|0,n",l,"=shape[",l,"]|0"].join(""));var c=new Array(t.length),u=[];for(l=0;l<t.length;++l){0!==(p=t[l])&&(0===u.length?c[p]="1":c[p]=u.join("*"),u.push("n"+p))}var f=-1,h=-1;for(l=0;l<t.length;++l){var p,d=t[l];0!==d&&(f>0?s.push(["d",d,"=s",d,"-d",f,"*n",f].join("")):s.push(["d",d,"=s",d].join("")),f=d),0!==(p=t.length-1-l)&&(h>0?s.push(["e",p,"=s",p,"-e",h,"*n",h,",f",p,"=",c[p],"-f",h,"*n",h].join("")):s.push(["e",p,"=s",p,",f",p,"=",c[p]].join("")),h=p)}r.push("var "+s.join(","));var g=["0","n0-1","data","offset"].concat(o(t.length));r.push(["if(n0<=",i,"){","insertionSort(",g.join(","),")}else{","quickSort(",g.join(","),")}"].join("")),r.push("}return "+n);var m=new Function("insertionSort","quickSort",r.join("\n")),v=function(t,e){var r=["'use strict'"],n=["ndarrayInsertionSort",t.join("d"),e].join(""),i=["left","right","data","offset"].concat(o(t.length)),s=a(e),l=["i,j,cptr,ptr=left*s0+offset"];if(t.length>1){for(var c=[],u=1;u<t.length;++u)l.push("i"+u),c.push("n"+u);s?l.push("scratch=malloc("+c.join("*")+")"):l.push("scratch=new Array("+c.join("*")+")"),l.push("dptr","sptr","a","b")}else l.push("scratch");function f(t){return"generic"===e?["data.get(",t,")"].join(""):["data[",t,"]"].join("")}function h(t,r){return"generic"===e?["data.set(",t,",",r,")"].join(""):["data[",t,"]=",r].join("")}if(r.push(["function ",n,"(",i.join(","),"){var ",l.join(",")].join(""),"for(i=left+1;i<=right;++i){","j=i;ptr+=s0","cptr=ptr"),t.length>1){r.push("dptr=0;sptr=ptr");for(u=t.length-1;u>=0;--u){0!==(p=t[u])&&r.push(["for(i",p,"=0;i",p,"<n",p,";++i",p,"){"].join(""))}r.push("scratch[dptr++]=",f("sptr"));for(u=0;u<t.length;++u){0!==(p=t[u])&&r.push("sptr+=d"+p,"}")}r.push("__g:while(j--\x3eleft){","dptr=0","sptr=cptr-s0");for(u=1;u<t.length;++u)1===u&&r.push("__l:"),r.push(["for(i",u,"=0;i",u,"<n",u,";++i",u,"){"].join(""));r.push(["a=",f("sptr"),"\nb=scratch[dptr]\nif(a<b){break __g}\nif(a>b){break __l}"].join(""));for(u=t.length-1;u>=1;--u)r.push("sptr+=e"+u,"dptr+=f"+u,"}");r.push("dptr=cptr;sptr=cptr-s0");for(u=t.length-1;u>=0;--u){0!==(p=t[u])&&r.push(["for(i",p,"=0;i",p,"<n",p,";++i",p,"){"].join(""))}r.push(h("dptr",f("sptr")));for(u=0;u<t.length;++u){0!==(p=t[u])&&r.push(["dptr+=d",p,";sptr+=d",p].join(""),"}")}r.push("cptr-=s0\n}"),r.push("dptr=cptr;sptr=0");for(u=t.length-1;u>=0;--u){0!==(p=t[u])&&r.push(["for(i",p,"=0;i",p,"<n",p,";++i",p,"){"].join(""))}r.push(h("dptr","scratch[sptr++]"));for(u=0;u<t.length;++u){var p;0!==(p=t[u])&&r.push("dptr+=d"+p,"}")}}else r.push("scratch="+f("ptr"),"while((j--\x3eleft)&&("+f("cptr-s0")+">scratch)){",h("cptr",f("cptr-s0")),"cptr-=s0","}",h("cptr","scratch"));return r.push("}"),t.length>1&&s&&r.push("free(scratch)"),r.push("} return "+n),s?new Function("malloc","free",r.join("\n"))(s[0],s[1]):new Function(r.join("\n"))()}(t,e),y=function(t,e,r){var n=["'use strict'"],s=["ndarrayQuickSort",t.join("d"),e].join(""),l=["left","right","data","offset"].concat(o(t.length)),c=a(e),u=0;n.push(["function ",s,"(",l.join(","),"){"].join(""));var f=["sixth=((right-left+1)/6)|0","index1=left+sixth","index5=right-sixth","index3=(left+right)>>1","index2=index3-sixth","index4=index3+sixth","el1=index1","el2=index2","el3=index3","el4=index4","el5=index5","less=left+1","great=right-1","pivots_are_equal=true","tmp","tmp0","x","y","z","k","ptr0","ptr1","ptr2","comp_pivot1=0","comp_pivot2=0","comp=0"];if(t.length>1){for(var h=[],p=1;p<t.length;++p)h.push("n"+p),f.push("i"+p);for(p=0;p<8;++p)f.push("b_ptr"+p);f.push("ptr3","ptr4","ptr5","ptr6","ptr7","pivot_ptr","ptr_shift","elementSize="+h.join("*")),c?f.push("pivot1=malloc(elementSize)","pivot2=malloc(elementSize)"):f.push("pivot1=new Array(elementSize),pivot2=new Array(elementSize)")}else f.push("pivot1","pivot2");function d(t){return["(offset+",t,"*s0)"].join("")}function g(t){return"generic"===e?["data.get(",t,")"].join(""):["data[",t,"]"].join("")}function m(t,r){return"generic"===e?["data.set(",t,",",r,")"].join(""):["data[",t,"]=",r].join("")}function v(e,r,i){if(1===e.length)n.push("ptr0="+d(e[0]));else for(var a=0;a<e.length;++a)n.push(["b_ptr",a,"=s0*",e[a]].join(""));r&&n.push("pivot_ptr=0"),n.push("ptr_shift=offset");for(a=t.length-1;a>=0;--a){0!==(o=t[a])&&n.push(["for(i",o,"=0;i",o,"<n",o,";++i",o,"){"].join(""))}if(e.length>1)for(a=0;a<e.length;++a)n.push(["ptr",a,"=b_ptr",a,"+ptr_shift"].join(""));n.push(i),r&&n.push("++pivot_ptr");for(a=0;a<t.length;++a){var o;0!==(o=t[a])&&(e.length>1?n.push("ptr_shift+=d"+o):n.push("ptr0+=d"+o),n.push("}"))}}function y(e,r,i,a){if(1===r.length)n.push("ptr0="+d(r[0]));else{for(var o=0;o<r.length;++o)n.push(["b_ptr",o,"=s0*",r[o]].join(""));n.push("ptr_shift=offset")}i&&n.push("pivot_ptr=0"),e&&n.push(e+":");for(o=1;o<t.length;++o)n.push(["for(i",o,"=0;i",o,"<n",o,";++i",o,"){"].join(""));if(r.length>1)for(o=0;o<r.length;++o)n.push(["ptr",o,"=b_ptr",o,"+ptr_shift"].join(""));n.push(a);for(o=t.length-1;o>=1;--o)i&&n.push("pivot_ptr+=f"+o),r.length>1?n.push("ptr_shift+=e"+o):n.push("ptr0+=e"+o),n.push("}")}function x(){t.length>1&&c&&n.push("free(pivot1)","free(pivot2)")}function b(e,r){var i="el"+e,a="el"+r;if(t.length>1){var o="__l"+ ++u;y(o,[i,a],!1,["comp=",g("ptr0"),"-",g("ptr1"),"\n","if(comp>0){tmp0=",i,";",i,"=",a,";",a,"=tmp0;break ",o,"}\n","if(comp<0){break ",o,"}"].join(""))}else n.push(["if(",g(d(i)),">",g(d(a)),"){tmp0=",i,";",i,"=",a,";",a,"=tmp0}"].join(""))}function _(e,r){t.length>1?v([e,r],!1,m("ptr0",g("ptr1"))):n.push(m(d(e),g(d(r))))}function w(e,r,i){if(t.length>1){var a="__l"+ ++u;y(a,[r],!0,[e,"=",g("ptr0"),"-pivot",i,"[pivot_ptr]\n","if(",e,"!==0){break ",a,"}"].join(""))}else n.push([e,"=",g(d(r)),"-pivot",i].join(""))}function T(e,r){t.length>1?v([e,r],!1,["tmp=",g("ptr0"),"\n",m("ptr0",g("ptr1")),"\n",m("ptr1","tmp")].join("")):n.push(["ptr0=",d(e),"\n","ptr1=",d(r),"\n","tmp=",g("ptr0"),"\n",m("ptr0",g("ptr1")),"\n",m("ptr1","tmp")].join(""))}function k(e,r,i){t.length>1?(v([e,r,i],!1,["tmp=",g("ptr0"),"\n",m("ptr0",g("ptr1")),"\n",m("ptr1",g("ptr2")),"\n",m("ptr2","tmp")].join("")),n.push("++"+r,"--"+i)):n.push(["ptr0=",d(e),"\n","ptr1=",d(r),"\n","ptr2=",d(i),"\n","++",r,"\n","--",i,"\n","tmp=",g("ptr0"),"\n",m("ptr0",g("ptr1")),"\n",m("ptr1",g("ptr2")),"\n",m("ptr2","tmp")].join(""))}function M(t,e){T(t,e),n.push("--"+e)}function A(e,r,i){t.length>1?v([e,r],!0,[m("ptr0",g("ptr1")),"\n",m("ptr1",["pivot",i,"[pivot_ptr]"].join(""))].join("")):n.push(m(d(e),g(d(r))),m(d(r),"pivot"+i))}function S(e,r){n.push(["if((",r,"-",e,")<=",i,"){\n","insertionSort(",e,",",r,",data,offset,",o(t.length).join(","),")\n","}else{\n",s,"(",e,",",r,",data,offset,",o(t.length).join(","),")\n","}"].join(""))}function E(e,r,i){t.length>1?(n.push(["__l",++u,":while(true){"].join("")),v([e],!0,["if(",g("ptr0"),"!==pivot",r,"[pivot_ptr]){break __l",u,"}"].join("")),n.push(i,"}")):n.push(["while(",g(d(e)),"===pivot",r,"){",i,"}"].join(""))}return n.push("var "+f.join(",")),b(1,2),b(4,5),b(1,3),b(2,3),b(1,4),b(3,4),b(2,5),b(2,3),b(4,5),t.length>1?v(["el1","el2","el3","el4","el5","index1","index3","index5"],!0,["pivot1[pivot_ptr]=",g("ptr1"),"\n","pivot2[pivot_ptr]=",g("ptr3"),"\n","pivots_are_equal=pivots_are_equal&&(pivot1[pivot_ptr]===pivot2[pivot_ptr])\n","x=",g("ptr0"),"\n","y=",g("ptr2"),"\n","z=",g("ptr4"),"\n",m("ptr5","x"),"\n",m("ptr6","y"),"\n",m("ptr7","z")].join("")):n.push(["pivot1=",g(d("el2")),"\n","pivot2=",g(d("el4")),"\n","pivots_are_equal=pivot1===pivot2\n","x=",g(d("el1")),"\n","y=",g(d("el3")),"\n","z=",g(d("el5")),"\n",m(d("index1"),"x"),"\n",m(d("index3"),"y"),"\n",m(d("index5"),"z")].join("")),_("index2","left"),_("index4","right"),n.push("if(pivots_are_equal){"),n.push("for(k=less;k<=great;++k){"),w("comp","k",1),n.push("if(comp===0){continue}"),n.push("if(comp<0){"),n.push("if(k!==less){"),T("k","less"),n.push("}"),n.push("++less"),n.push("}else{"),n.push("while(true){"),w("comp","great",1),n.push("if(comp>0){"),n.push("great--"),n.push("}else if(comp<0){"),k("k","less","great"),n.push("break"),n.push("}else{"),M("k","great"),n.push("break"),n.push("}"),n.push("}"),n.push("}"),n.push("}"),n.push("}else{"),n.push("for(k=less;k<=great;++k){"),w("comp_pivot1","k",1),n.push("if(comp_pivot1<0){"),n.push("if(k!==less){"),T("k","less"),n.push("}"),n.push("++less"),n.push("}else{"),w("comp_pivot2","k",2),n.push("if(comp_pivot2>0){"),n.push("while(true){"),w("comp","great",2),n.push("if(comp>0){"),n.push("if(--great<k){break}"),n.push("continue"),n.push("}else{"),w("comp","great",1),n.push("if(comp<0){"),k("k","less","great"),n.push("}else{"),M("k","great"),n.push("}"),n.push("break"),n.push("}"),n.push("}"),n.push("}"),n.push("}"),n.push("}"),n.push("}"),A("left","(less-1)",1),A("right","(great+1)",2),S("left","(less-2)"),S("(great+2)","right"),n.push("if(pivots_are_equal){"),x(),n.push("return"),n.push("}"),n.push("if(less<index1&&great>index5){"),E("less",1,"++less"),E("great",2,"--great"),n.push("for(k=less;k<=great;++k){"),w("comp_pivot1","k",1),n.push("if(comp_pivot1===0){"),n.push("if(k!==less){"),T("k","less"),n.push("}"),n.push("++less"),n.push("}else{"),w("comp_pivot2","k",2),n.push("if(comp_pivot2===0){"),n.push("while(true){"),w("comp","great",2),n.push("if(comp===0){"),n.push("if(--great<k){break}"),n.push("continue"),n.push("}else{"),w("comp","great",1),n.push("if(comp<0){"),k("k","less","great"),n.push("}else{"),M("k","great"),n.push("}"),n.push("break"),n.push("}"),n.push("}"),n.push("}"),n.push("}"),n.push("}"),n.push("}"),x(),S("less","great"),n.push("}return "+s),t.length>1&&c?new Function("insertionSort","malloc","free",n.join("\n"))(r,c[0],c[1]):new Function("insertionSort",n.join("\n"))(r)}(t,e,v);return m(v,y)}},{"typedarray-pool":595}],494:[function(t,e,r){"use strict";var n=t("./lib/compile_sort.js"),i={};e.exports=function(t){var e=t.order,r=t.dtype,a=[e,r].join(":"),o=i[a];return o||(i[a]=o=n(e,r)),o(t),t}},{"./lib/compile_sort.js":493}],495:[function(t,e,r){var n=t("iota-array"),i=t("is-buffer"),a="undefined"!=typeof Float64Array;function o(t,e){return t[0]-e[0]}function s(){var t,e=this.stride,r=new Array(e.length);for(t=0;t<r.length;++t)r[t]=[Math.abs(e[t]),t];r.sort(o);var n=new Array(r.length);for(t=0;t<n.length;++t)n[t]=r[t][1];return n}function l(t,e){var r=["View",e,"d",t].join("");e<0&&(r="View_Nil"+t);var i="generic"===t;if(-1===e){var a="function "+r+"(a){this.data=a;};var proto="+r+".prototype;proto.dtype='"+t+"';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 "+r+"(this.data);};proto.get=proto.set=function(){};proto.pick=function(){return null};return function construct_"+r+"(a){return new "+r+"(a);}";return new Function(a)()}if(0===e){a="function "+r+"(a,d) {this.data = a;this.offset = d};var proto="+r+".prototype;proto.dtype='"+t+"';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 "+r+"_copy() {return new "+r+"(this.data,this.offset)};proto.pick=function "+r+"_pick(){return TrivialArray(this.data);};proto.valueOf=proto.get=function "+r+"_get(){return "+(i?"this.data.get(this.offset)":"this.data[this.offset]")+"};proto.set=function "+r+"_set(v){return "+(i?"this.data.set(this.offset,v)":"this.data[this.offset]=v")+"};return function construct_"+r+"(a,b,c,d){return new "+r+"(a,d)}";return new Function("TrivialArray",a)(c[t][0])}a=["'use strict'"];var o=n(e),l=o.map((function(t){return"i"+t})),u="this.offset+"+o.map((function(t){return"this.stride["+t+"]*i"+t})).join("+"),f=o.map((function(t){return"b"+t})).join(","),h=o.map((function(t){return"c"+t})).join(",");a.push("function "+r+"(a,"+f+","+h+",d){this.data=a","this.shape=["+f+"]","this.stride=["+h+"]","this.offset=d|0}","var proto="+r+".prototype","proto.dtype='"+t+"'","proto.dimension="+e),a.push("Object.defineProperty(proto,'size',{get:function "+r+"_size(){return "+o.map((function(t){return"this.shape["+t+"]"})).join("*"),"}})"),1===e?a.push("proto.order=[0]"):(a.push("Object.defineProperty(proto,'order',{get:"),e<4?(a.push("function "+r+"_order(){"),2===e?a.push("return (Math.abs(this.stride[0])>Math.abs(this.stride[1]))?[1,0]:[0,1]}})"):3===e&&a.push("var s0=Math.abs(this.stride[0]),s1=Math.abs(this.stride[1]),s2=Math.abs(this.stride[2]);if(s0>s1){if(s1>s2){return [2,1,0];}else if(s0>s2){return [1,2,0];}else{return [1,0,2];}}else if(s0>s2){return [2,0,1];}else if(s2>s1){return [0,1,2];}else{return [0,2,1];}}})")):a.push("ORDER})")),a.push("proto.set=function "+r+"_set("+l.join(",")+",v){"),i?a.push("return this.data.set("+u+",v)}"):a.push("return this.data["+u+"]=v}"),a.push("proto.get=function "+r+"_get("+l.join(",")+"){"),i?a.push("return this.data.get("+u+")}"):a.push("return this.data["+u+"]}"),a.push("proto.index=function "+r+"_index(",l.join(),"){return "+u+"}"),a.push("proto.hi=function "+r+"_hi("+l.join(",")+"){return new "+r+"(this.data,"+o.map((function(t){return["(typeof i",t,"!=='number'||i",t,"<0)?this.shape[",t,"]:i",t,"|0"].join("")})).join(",")+","+o.map((function(t){return"this.stride["+t+"]"})).join(",")+",this.offset)}");var p=o.map((function(t){return"a"+t+"=this.shape["+t+"]"})),d=o.map((function(t){return"c"+t+"=this.stride["+t+"]"}));a.push("proto.lo=function "+r+"_lo("+l.join(",")+"){var b=this.offset,d=0,"+p.join(",")+","+d.join(","));for(var g=0;g<e;++g)a.push("if(typeof i"+g+"==='number'&&i"+g+">=0){d=i"+g+"|0;b+=c"+g+"*d;a"+g+"-=d}");a.push("return new "+r+"(this.data,"+o.map((function(t){return"a"+t})).join(",")+","+o.map((function(t){return"c"+t})).join(",")+",b)}"),a.push("proto.step=function "+r+"_step("+l.join(",")+"){var "+o.map((function(t){return"a"+t+"=this.shape["+t+"]"})).join(",")+","+o.map((function(t){return"b"+t+"=this.stride["+t+"]"})).join(",")+",c=this.offset,d=0,ceil=Math.ceil");for(g=0;g<e;++g)a.push("if(typeof i"+g+"==='number'){d=i"+g+"|0;if(d<0){c+=b"+g+"*(a"+g+"-1);a"+g+"=ceil(-a"+g+"/d)}else{a"+g+"=ceil(a"+g+"/d)}b"+g+"*=d}");a.push("return new "+r+"(this.data,"+o.map((function(t){return"a"+t})).join(",")+","+o.map((function(t){return"b"+t})).join(",")+",c)}");var m=new Array(e),v=new Array(e);for(g=0;g<e;++g)m[g]="a[i"+g+"]",v[g]="b[i"+g+"]";a.push("proto.transpose=function "+r+"_transpose("+l+"){"+l.map((function(t,e){return t+"=("+t+"===undefined?"+e+":"+t+"|0)"})).join(";"),"var a=this.shape,b=this.stride;return new "+r+"(this.data,"+m.join(",")+","+v.join(",")+",this.offset)}"),a.push("proto.pick=function "+r+"_pick("+l+"){var a=[],b=[],c=this.offset");for(g=0;g<e;++g)a.push("if(typeof i"+g+"==='number'&&i"+g+">=0){c=(c+this.stride["+g+"]*i"+g+")|0}else{a.push(this.shape["+g+"]);b.push(this.stride["+g+"])}");return a.push("var ctor=CTOR_LIST[a.length+1];return ctor(this.data,a,b,c)}"),a.push("return function construct_"+r+"(data,shape,stride,offset){return new "+r+"(data,"+o.map((function(t){return"shape["+t+"]"})).join(",")+","+o.map((function(t){return"stride["+t+"]"})).join(",")+",offset)}"),new Function("CTOR_LIST","ORDER",a.join("\n"))(c[t],s)}var c={float32:[],float64:[],int8:[],int16:[],int32:[],uint8:[],uint16:[],uint32:[],array:[],uint8_clamped:[],bigint64:[],biguint64:[],buffer:[],generic:[]};e.exports=function(t,e,r,n){if(void 0===t)return(0,c.array[0])([]);"number"==typeof t&&(t=[t]),void 0===e&&(e=[t.length]);var o=e.length;if(void 0===r){r=new Array(o);for(var s=o-1,u=1;s>=0;--s)r[s]=u,u*=e[s]}if(void 0===n){n=0;for(s=0;s<o;++s)r[s]<0&&(n-=(e[s]-1)*r[s])}for(var f=function(t){if(i(t))return"buffer";if(a)switch(Object.prototype.toString.call(t)){case"[object Float64Array]":return"float64";case"[object Float32Array]":return"float32";case"[object Int8Array]":return"int8";case"[object Int16Array]":return"int16";case"[object Int32Array]":return"int32";case"[object Uint8Array]":return"uint8";case"[object Uint16Array]":return"uint16";case"[object Uint32Array]":return"uint32";case"[object Uint8ClampedArray]":return"uint8_clamped";case"[object BigInt64Array]":return"bigint64";case"[object BigUint64Array]":return"biguint64"}return Array.isArray(t)?"array":"generic"}(t),h=c[f];h.length<=o+1;)h.push(l(f,h.length-1));return(0,h[o+1])(t,e,r,n)}},{"iota-array":463,"is-buffer":465}],496:[function(t,e,r){"use strict";var n=t("double-bits"),i=Math.pow(2,-1074);e.exports=function(t,e){if(isNaN(t)||isNaN(e))return NaN;if(t===e)return t;if(0===t)return e<0?-i:i;var r=n.hi(t),a=n.lo(t);e>t==t>0?a===-1>>>0?(r+=1,a=0):a+=1:0===a?(a=-1>>>0,r-=1):a-=1;return n.pack(a,r)}},{"double-bits":173}],497:[function(t,e,r){var n=Math.PI,i=c(120);function a(t,e,r,n){return["C",t,e,r,n,r,n]}function o(t,e,r,n,i,a){return["C",t/3+2/3*r,e/3+2/3*n,i/3+2/3*r,a/3+2/3*n,i,a]}function s(t,e,r,a,o,c,u,f,h,p){if(p)T=p[0],k=p[1],_=p[2],w=p[3];else{var d=l(t,e,-o);t=d.x,e=d.y;var g=(t-(f=(d=l(f,h,-o)).x))/2,m=(e-(h=d.y))/2,v=g*g/(r*r)+m*m/(a*a);v>1&&(r*=v=Math.sqrt(v),a*=v);var y=r*r,x=a*a,b=(c==u?-1:1)*Math.sqrt(Math.abs((y*x-y*m*m-x*g*g)/(y*m*m+x*g*g)));b==1/0&&(b=1);var _=b*r*m/a+(t+f)/2,w=b*-a*g/r+(e+h)/2,T=Math.asin(((e-w)/a).toFixed(9)),k=Math.asin(((h-w)/a).toFixed(9));(T=t<_?n-T:T)<0&&(T=2*n+T),(k=f<_?n-k:k)<0&&(k=2*n+k),u&&T>k&&(T-=2*n),!u&&k>T&&(k-=2*n)}if(Math.abs(k-T)>i){var M=k,A=f,S=h;k=T+i*(u&&k>T?1:-1);var E=s(f=_+r*Math.cos(k),h=w+a*Math.sin(k),r,a,o,0,u,A,S,[k,M,_,w])}var C=Math.tan((k-T)/4),L=4/3*r*C,I=4/3*a*C,P=[2*t-(t+L*Math.sin(T)),2*e-(e-I*Math.cos(T)),f+L*Math.sin(k),h-I*Math.cos(k),f,h];if(p)return P;E&&(P=P.concat(E));for(var z=0;z<P.length;){var O=l(P[z],P[z+1],o);P[z++]=O.x,P[z++]=O.y}return P}function l(t,e,r){return{x:t*Math.cos(r)-e*Math.sin(r),y:t*Math.sin(r)+e*Math.cos(r)}}function c(t){return t*(n/180)}e.exports=function(t){for(var e,r=[],n=0,i=0,l=0,u=0,f=null,h=null,p=0,d=0,g=0,m=t.length;g<m;g++){var v=t[g],y=v[0];switch(y){case"M":l=v[1],u=v[2];break;case"A":(v=s(p,d,v[1],v[2],c(v[3]),v[4],v[5],v[6],v[7])).unshift("C"),v.length>7&&(r.push(v.splice(0,7)),v.unshift("C"));break;case"S":var x=p,b=d;"C"!=e&&"S"!=e||(x+=x-n,b+=b-i),v=["C",x,b,v[1],v[2],v[3],v[4]];break;case"T":"Q"==e||"T"==e?(f=2*p-f,h=2*d-h):(f=p,h=d),v=o(p,d,f,h,v[1],v[2]);break;case"Q":f=v[1],h=v[2],v=o(p,d,v[1],v[2],v[3],v[4]);break;case"L":v=a(p,d,v[1],v[2]);break;case"H":v=a(p,d,v[1],d);break;case"V":v=a(p,d,p,v[1]);break;case"Z":v=a(p,d,l,u)}e=y,p=v[v.length-2],d=v[v.length-1],v.length>4?(n=v[v.length-4],i=v[v.length-3]):(n=p,i=d),r.push(v)}return r}},{}],498:[function(t,e,r){r.vertexNormals=function(t,e,r){for(var n=e.length,i=new Array(n),a=void 0===r?1e-6:r,o=0;o<n;++o)i[o]=[0,0,0];for(o=0;o<t.length;++o)for(var s=t[o],l=0,c=s[s.length-1],u=s[0],f=0;f<s.length;++f){l=c,c=u,u=s[(f+1)%s.length];for(var h=e[l],p=e[c],d=e[u],g=new Array(3),m=0,v=new Array(3),y=0,x=0;x<3;++x)g[x]=h[x]-p[x],m+=g[x]*g[x],v[x]=d[x]-p[x],y+=v[x]*v[x];if(m*y>a){var b=i[c],_=1/Math.sqrt(m*y);for(x=0;x<3;++x){var w=(x+1)%3,T=(x+2)%3;b[x]+=_*(v[w]*g[T]-v[T]*g[w])}}}for(o=0;o<n;++o){b=i[o];var k=0;for(x=0;x<3;++x)k+=b[x]*b[x];if(k>a)for(_=1/Math.sqrt(k),x=0;x<3;++x)b[x]*=_;else for(x=0;x<3;++x)b[x]=0}return i},r.faceNormals=function(t,e,r){for(var n=t.length,i=new Array(n),a=void 0===r?1e-6:r,o=0;o<n;++o){for(var s=t[o],l=new Array(3),c=0;c<3;++c)l[c]=e[s[c]];var u=new Array(3),f=new Array(3);for(c=0;c<3;++c)u[c]=l[1][c]-l[0][c],f[c]=l[2][c]-l[0][c];var h=new Array(3),p=0;for(c=0;c<3;++c){var d=(c+1)%3,g=(c+2)%3;h[c]=u[d]*f[g]-u[g]*f[d],p+=h[c]*h[c]}p=p>a?1/Math.sqrt(p):0;for(c=0;c<3;++c)h[c]*=p;i[o]=h}return i}},{}],499:[function(t,e,r){ +/* +object-assign +(c) Sindre Sorhus +@license MIT +*/ +"use strict";var n=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;function o(t){if(null==t)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(t)}e.exports=function(){try{if(!Object.assign)return!1;var t=new String("abc");if(t[5]="de","5"===Object.getOwnPropertyNames(t)[0])return!1;for(var e={},r=0;r<10;r++)e["_"+String.fromCharCode(r)]=r;if("0123456789"!==Object.getOwnPropertyNames(e).map((function(t){return e[t]})).join(""))return!1;var n={};return"abcdefghijklmnopqrst".split("").forEach((function(t){n[t]=t})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},n)).join("")}catch(t){return!1}}()?Object.assign:function(t,e){for(var r,s,l=o(t),c=1;c<arguments.length;c++){for(var u in r=Object(arguments[c]))i.call(r,u)&&(l[u]=r[u]);if(n){s=n(r);for(var f=0;f<s.length;f++)a.call(r,s[f])&&(l[s[f]]=r[s[f]])}}return l}},{}],500:[function(t,e,r){"use strict";e.exports=function(t,e,r,n,i,a,o,s,l,c){var u=e+a+c;if(f>0){var f=Math.sqrt(u+1);t[0]=.5*(o-l)/f,t[1]=.5*(s-n)/f,t[2]=.5*(r-a)/f,t[3]=.5*f}else{var h=Math.max(e,a,c);f=Math.sqrt(2*h-u+1);e>=h?(t[0]=.5*f,t[1]=.5*(i+r)/f,t[2]=.5*(s+n)/f,t[3]=.5*(o-l)/f):a>=h?(t[0]=.5*(r+i)/f,t[1]=.5*f,t[2]=.5*(l+o)/f,t[3]=.5*(s-n)/f):(t[0]=.5*(n+s)/f,t[1]=.5*(o+l)/f,t[2]=.5*f,t[3]=.5*(r-i)/f)}return t}},{}],501:[function(t,e,r){"use strict";e.exports=function(t){var e=(t=t||{}).center||[0,0,0],r=t.rotation||[0,0,0,1],n=t.radius||1;e=[].slice.call(e,0,3),u(r=[].slice.call(r,0,4),r);var i=new f(r,e,Math.log(n));i.setDistanceLimits(t.zoomMin,t.zoomMax),("eye"in t||"up"in t)&&i.lookAt(0,t.eye,t.center,t.up);return i};var n=t("filtered-vector"),i=t("gl-mat4/lookAt"),a=t("gl-mat4/fromQuat"),o=t("gl-mat4/invert"),s=t("./lib/quatFromFrame");function l(t,e,r){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2))}function c(t,e,r,n){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2)+Math.pow(n,2))}function u(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=c(r,n,i,a);o>1e-6?(t[0]=r/o,t[1]=n/o,t[2]=i/o,t[3]=a/o):(t[0]=t[1]=t[2]=0,t[3]=1)}function f(t,e,r){this.radius=n([r]),this.center=n(e),this.rotation=n(t),this.computedRadius=this.radius.curve(0),this.computedCenter=this.center.curve(0),this.computedRotation=this.rotation.curve(0),this.computedUp=[.1,0,0],this.computedEye=[.1,0,0],this.computedMatrix=[.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],this.recalcMatrix(0)}var h=f.prototype;h.lastT=function(){return Math.max(this.radius.lastT(),this.center.lastT(),this.rotation.lastT())},h.recalcMatrix=function(t){this.radius.curve(t),this.center.curve(t),this.rotation.curve(t);var e=this.computedRotation;u(e,e);var r=this.computedMatrix;a(r,e);var n=this.computedCenter,i=this.computedEye,o=this.computedUp,s=Math.exp(this.computedRadius[0]);i[0]=n[0]+s*r[2],i[1]=n[1]+s*r[6],i[2]=n[2]+s*r[10],o[0]=r[1],o[1]=r[5],o[2]=r[9];for(var l=0;l<3;++l){for(var c=0,f=0;f<3;++f)c+=r[l+4*f]*i[f];r[12+l]=-c}},h.getMatrix=function(t,e){this.recalcMatrix(t);var r=this.computedMatrix;if(e){for(var n=0;n<16;++n)e[n]=r[n];return e}return r},h.idle=function(t){this.center.idle(t),this.radius.idle(t),this.rotation.idle(t)},h.flush=function(t){this.center.flush(t),this.radius.flush(t),this.rotation.flush(t)},h.pan=function(t,e,r,n){e=e||0,r=r||0,n=n||0,this.recalcMatrix(t);var i=this.computedMatrix,a=i[1],o=i[5],s=i[9],c=l(a,o,s);a/=c,o/=c,s/=c;var u=i[0],f=i[4],h=i[8],p=u*a+f*o+h*s,d=l(u-=a*p,f-=o*p,h-=s*p);u/=d,f/=d,h/=d;var g=i[2],m=i[6],v=i[10],y=g*a+m*o+v*s,x=g*u+m*f+v*h,b=l(g-=y*a+x*u,m-=y*o+x*f,v-=y*s+x*h);g/=b,m/=b,v/=b;var _=u*e+a*r,w=f*e+o*r,T=h*e+s*r;this.center.move(t,_,w,T);var k=Math.exp(this.computedRadius[0]);k=Math.max(1e-4,k+n),this.radius.set(t,Math.log(k))},h.rotate=function(t,e,r,n){this.recalcMatrix(t),e=e||0,r=r||0;var i=this.computedMatrix,a=i[0],o=i[4],s=i[8],u=i[1],f=i[5],h=i[9],p=i[2],d=i[6],g=i[10],m=e*a+r*u,v=e*o+r*f,y=e*s+r*h,x=-(d*y-g*v),b=-(g*m-p*y),_=-(p*v-d*m),w=Math.sqrt(Math.max(0,1-Math.pow(x,2)-Math.pow(b,2)-Math.pow(_,2))),T=c(x,b,_,w);T>1e-6?(x/=T,b/=T,_/=T,w/=T):(x=b=_=0,w=1);var k=this.computedRotation,M=k[0],A=k[1],S=k[2],E=k[3],C=M*w+E*x+A*_-S*b,L=A*w+E*b+S*x-M*_,I=S*w+E*_+M*b-A*x,P=E*w-M*x-A*b-S*_;if(n){x=p,b=d,_=g;var z=Math.sin(n)/l(x,b,_);x*=z,b*=z,_*=z,P=P*(w=Math.cos(e))-(C=C*w+P*x+L*_-I*b)*x-(L=L*w+P*b+I*x-C*_)*b-(I=I*w+P*_+C*b-L*x)*_}var O=c(C,L,I,P);O>1e-6?(C/=O,L/=O,I/=O,P/=O):(C=L=I=0,P=1),this.rotation.set(t,C,L,I,P)},h.lookAt=function(t,e,r,n){this.recalcMatrix(t),r=r||this.computedCenter,e=e||this.computedEye,n=n||this.computedUp;var a=this.computedMatrix;i(a,e,r,n);var o=this.computedRotation;s(o,a[0],a[1],a[2],a[4],a[5],a[6],a[8],a[9],a[10]),u(o,o),this.rotation.set(t,o[0],o[1],o[2],o[3]);for(var l=0,c=0;c<3;++c)l+=Math.pow(r[c]-e[c],2);this.radius.set(t,.5*Math.log(Math.max(l,1e-6))),this.center.set(t,r[0],r[1],r[2])},h.translate=function(t,e,r,n){this.center.move(t,e||0,r||0,n||0)},h.setMatrix=function(t,e){var r=this.computedRotation;s(r,e[0],e[1],e[2],e[4],e[5],e[6],e[8],e[9],e[10]),u(r,r),this.rotation.set(t,r[0],r[1],r[2],r[3]);var n=this.computedMatrix;o(n,e);var i=n[15];if(Math.abs(i)>1e-6){var a=n[12]/i,l=n[13]/i,c=n[14]/i;this.recalcMatrix(t);var f=Math.exp(this.computedRadius[0]);this.center.set(t,a-n[2]*f,l-n[6]*f,c-n[10]*f),this.radius.idle(t)}else this.center.idle(t),this.radius.idle(t)},h.setDistance=function(t,e){e>0&&this.radius.set(t,Math.log(e))},h.setDistanceLimits=function(t,e){t=t>0?Math.log(t):-1/0,e=e>0?Math.log(e):1/0,e=Math.max(e,t),this.radius.bounds[0][0]=t,this.radius.bounds[1][0]=e},h.getDistanceLimits=function(t){var e=this.radius.bounds;return t?(t[0]=Math.exp(e[0][0]),t[1]=Math.exp(e[1][0]),t):[Math.exp(e[0][0]),Math.exp(e[1][0])]},h.toJSON=function(){return this.recalcMatrix(this.lastT()),{center:this.computedCenter.slice(),rotation:this.computedRotation.slice(),distance:Math.log(this.computedRadius[0]),zoomMin:this.radius.bounds[0][0],zoomMax:this.radius.bounds[1][0]}},h.fromJSON=function(t){var e=this.lastT(),r=t.center;r&&this.center.set(e,r[0],r[1],r[2]);var n=t.rotation;n&&this.rotation.set(e,n[0],n[1],n[2],n[3]);var i=t.distance;i&&i>0&&this.radius.set(e,Math.log(i)),this.setDistanceLimits(t.zoomMin,t.zoomMax)}},{"./lib/quatFromFrame":500,"filtered-vector":242,"gl-mat4/fromQuat":282,"gl-mat4/invert":293,"gl-mat4/lookAt":294}],502:[function(t,e,r){ +/*! + * pad-left <https://github.com/jonschlinkert/pad-left> + * + * Copyright (c) 2014-2015, Jon Schlinkert. + * Licensed under the MIT license. + */ +"use strict";var n=t("repeat-string");e.exports=function(t,e,r){return n(r="undefined"!=typeof r?r+"":" ",e)+t}},{"repeat-string":541}],503:[function(t,e,r){"use strict";function n(t,e){if("string"!=typeof t)return[t];var r=[t];"string"==typeof e||Array.isArray(e)?e={brackets:e}:e||(e={});var n=e.brackets?Array.isArray(e.brackets)?e.brackets:[e.brackets]:["{}","[]","()"],i=e.escape||"___",a=!!e.flat;n.forEach((function(t){var e=new RegExp(["\\",t[0],"[^\\",t[0],"\\",t[1],"]*\\",t[1]].join("")),n=[];function a(e,a,o){var s=r.push(e.slice(t[0].length,-t[1].length))-1;return n.push(s),i+s+i}r.forEach((function(t,n){for(var i,o=0;t!=i;)if(i=t,t=t.replace(e,a),o++>1e4)throw Error("References have circular dependency. Please, check them.");r[n]=t})),n=n.reverse(),r=r.map((function(e){return n.forEach((function(r){e=e.replace(new RegExp("(\\"+i+r+"\\"+i+")","g"),t[0]+"$1"+t[1])})),e}))}));var o=new RegExp("\\"+i+"([0-9]+)\\"+i);return a?r:function t(e,r,n){for(var i,a=[],s=0;i=o.exec(e);){if(s++>1e4)throw Error("Circular references in parenthesis");a.push(e.slice(0,i.index)),a.push(t(r[i[1]],r)),e=e.slice(i.index+i[0].length)}return a.push(e),a}(r[0],r)}function i(t,e){if(e&&e.flat){var r,n=e&&e.escape||"___",i=t[0];if(!i)return"";for(var a=new RegExp("\\"+n+"([0-9]+)\\"+n),o=0;i!=r;){if(o++>1e4)throw Error("Circular references in "+t);r=i,i=i.replace(a,s)}return i}return t.reduce((function t(e,r){return Array.isArray(r)&&(r=r.reduce(t,"")),e+r}),"");function s(e,r){if(null==t[r])throw Error("Reference "+r+"is undefined");return t[r]}}function a(t,e){return Array.isArray(t)?i(t,e):n(t,e)}a.parse=n,a.stringify=i,e.exports=a},{}],504:[function(t,e,r){"use strict";var n=t("pick-by-alias");e.exports=function(t){var e;arguments.length>1&&(t=arguments);"string"==typeof t?t=t.split(/\s/).map(parseFloat):"number"==typeof t&&(t=[t]);t.length&&"number"==typeof t[0]?e=1===t.length?{width:t[0],height:t[0],x:0,y:0}:2===t.length?{width:t[0],height:t[1],x:0,y:0}:{x:t[0],y:t[1],width:t[2]-t[0]||0,height:t[3]-t[1]||0}:t&&(t=n(t,{left:"x l left Left",top:"y t top Top",width:"w width W Width",height:"h height W Width",bottom:"b bottom Bottom",right:"r right Right"}),e={x:t.left||0,y:t.top||0},null==t.width?t.right?e.width=t.right-e.x:e.width=0:e.width=t.width,null==t.height?t.bottom?e.height=t.bottom-e.y:e.height=0:e.height=t.height);return e}},{"pick-by-alias":511}],505:[function(t,e,r){e.exports=function(t){var e=[];return t.replace(i,(function(t,r,i){var o=r.toLowerCase();for(i=function(t){var e=t.match(a);return e?e.map(Number):[]}(i),"m"==o&&i.length>2&&(e.push([r].concat(i.splice(0,2))),o="l",r="m"==r?"l":"L");;){if(i.length==n[o])return i.unshift(r),e.push(i);if(i.length<n[o])throw new Error("malformed path data");e.push([r].concat(i.splice(0,n[o])))}})),e};var n={a:7,c:6,h:1,l:2,m:2,q:4,s:4,t:2,v:1,z:0},i=/([astvzqmhlc])([^astvzqmhlc]*)/gi;var a=/-?[0-9]*\.?[0-9]+(?:e[-+]?\d+)?/gi},{}],506:[function(t,e,r){e.exports=function(t,e){e||(e=[0,""]),t=String(t);var r=parseFloat(t,10);return e[0]=r,e[1]=t.match(/[\d.\-\+]*\s*(.*)/)[1]||"",e}},{}],507:[function(t,e,r){(function(t){(function(){"use strict";function r(t){if("string"!=typeof t)throw new TypeError("Path must be a string. Received "+JSON.stringify(t))}function n(t,e){for(var r,n="",i=0,a=-1,o=0,s=0;s<=t.length;++s){if(s<t.length)r=t.charCodeAt(s);else{if(47===r)break;r=47}if(47===r){if(a===s-1||1===o);else if(a!==s-1&&2===o){if(n.length<2||2!==i||46!==n.charCodeAt(n.length-1)||46!==n.charCodeAt(n.length-2))if(n.length>2){var l=n.lastIndexOf("/");if(l!==n.length-1){-1===l?(n="",i=0):i=(n=n.slice(0,l)).length-1-n.lastIndexOf("/"),a=s,o=0;continue}}else if(2===n.length||1===n.length){n="",i=0,a=s,o=0;continue}e&&(n.length>0?n+="/..":n="..",i=2)}else n.length>0?n+="/"+t.slice(a+1,s):n=t.slice(a+1,s),i=s-a-1;a=s,o=0}else 46===r&&-1!==o?++o:o=-1}return n}var i={resolve:function(){for(var e,i="",a=!1,o=arguments.length-1;o>=-1&&!a;o--){var s;o>=0?s=arguments[o]:(void 0===e&&(e=t.cwd()),s=e),r(s),0!==s.length&&(i=s+"/"+i,a=47===s.charCodeAt(0))}return i=n(i,!a),a?i.length>0?"/"+i:"/":i.length>0?i:"."},normalize:function(t){if(r(t),0===t.length)return".";var e=47===t.charCodeAt(0),i=47===t.charCodeAt(t.length-1);return 0!==(t=n(t,!e)).length||e||(t="."),t.length>0&&i&&(t+="/"),e?"/"+t:t},isAbsolute:function(t){return r(t),t.length>0&&47===t.charCodeAt(0)},join:function(){if(0===arguments.length)return".";for(var t,e=0;e<arguments.length;++e){var n=arguments[e];r(n),n.length>0&&(void 0===t?t=n:t+="/"+n)}return void 0===t?".":i.normalize(t)},relative:function(t,e){if(r(t),r(e),t===e)return"";if((t=i.resolve(t))===(e=i.resolve(e)))return"";for(var n=1;n<t.length&&47===t.charCodeAt(n);++n);for(var a=t.length,o=a-n,s=1;s<e.length&&47===e.charCodeAt(s);++s);for(var l=e.length-s,c=o<l?o:l,u=-1,f=0;f<=c;++f){if(f===c){if(l>c){if(47===e.charCodeAt(s+f))return e.slice(s+f+1);if(0===f)return e.slice(s+f)}else o>c&&(47===t.charCodeAt(n+f)?u=f:0===f&&(u=0));break}var h=t.charCodeAt(n+f);if(h!==e.charCodeAt(s+f))break;47===h&&(u=f)}var p="";for(f=n+u+1;f<=a;++f)f!==a&&47!==t.charCodeAt(f)||(0===p.length?p+="..":p+="/..");return p.length>0?p+e.slice(s+u):(s+=u,47===e.charCodeAt(s)&&++s,e.slice(s))},_makeLong:function(t){return t},dirname:function(t){if(r(t),0===t.length)return".";for(var e=t.charCodeAt(0),n=47===e,i=-1,a=!0,o=t.length-1;o>=1;--o)if(47===(e=t.charCodeAt(o))){if(!a){i=o;break}}else a=!1;return-1===i?n?"/":".":n&&1===i?"//":t.slice(0,i)},basename:function(t,e){if(void 0!==e&&"string"!=typeof e)throw new TypeError('"ext" argument must be a string');r(t);var n,i=0,a=-1,o=!0;if(void 0!==e&&e.length>0&&e.length<=t.length){if(e.length===t.length&&e===t)return"";var s=e.length-1,l=-1;for(n=t.length-1;n>=0;--n){var c=t.charCodeAt(n);if(47===c){if(!o){i=n+1;break}}else-1===l&&(o=!1,l=n+1),s>=0&&(c===e.charCodeAt(s)?-1==--s&&(a=n):(s=-1,a=l))}return i===a?a=l:-1===a&&(a=t.length),t.slice(i,a)}for(n=t.length-1;n>=0;--n)if(47===t.charCodeAt(n)){if(!o){i=n+1;break}}else-1===a&&(o=!1,a=n+1);return-1===a?"":t.slice(i,a)},extname:function(t){r(t);for(var e=-1,n=0,i=-1,a=!0,o=0,s=t.length-1;s>=0;--s){var l=t.charCodeAt(s);if(47!==l)-1===i&&(a=!1,i=s+1),46===l?-1===e?e=s:1!==o&&(o=1):-1!==e&&(o=-1);else if(!a){n=s+1;break}}return-1===e||-1===i||0===o||1===o&&e===i-1&&e===n+1?"":t.slice(e,i)},format:function(t){if(null===t||"object"!=typeof t)throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof t);return function(t,e){var r=e.dir||e.root,n=e.base||(e.name||"")+(e.ext||"");return r?r===e.root?r+n:r+t+n:n}("/",t)},parse:function(t){r(t);var e={root:"",dir:"",base:"",ext:"",name:""};if(0===t.length)return e;var n,i=t.charCodeAt(0),a=47===i;a?(e.root="/",n=1):n=0;for(var o=-1,s=0,l=-1,c=!0,u=t.length-1,f=0;u>=n;--u)if(47!==(i=t.charCodeAt(u)))-1===l&&(c=!1,l=u+1),46===i?-1===o?o=u:1!==f&&(f=1):-1!==o&&(f=-1);else if(!c){s=u+1;break}return-1===o||-1===l||0===f||1===f&&o===l-1&&o===s+1?-1!==l&&(e.base=e.name=0===s&&a?t.slice(1,l):t.slice(s,l)):(0===s&&a?(e.name=t.slice(1,o),e.base=t.slice(1,l)):(e.name=t.slice(s,o),e.base=t.slice(s,l)),e.ext=t.slice(o,l)),s>0?e.dir=t.slice(0,s-1):a&&(e.dir="/"),e},sep:"/",delimiter:":",win32:null,posix:null};i.posix=i,e.exports=i}).call(this)}).call(this,t("_process"))},{_process:526}],508:[function(t,e,r){(function(t){(function(){(function(){var r,n,i,a,o,s;"undefined"!=typeof performance&&null!==performance&&performance.now?e.exports=function(){return performance.now()}:"undefined"!=typeof t&&null!==t&&t.hrtime?(e.exports=function(){return(r()-o)/1e6},n=t.hrtime,a=(r=function(){var t;return 1e9*(t=n())[0]+t[1]})(),s=1e9*t.uptime(),o=a-s):Date.now?(e.exports=function(){return Date.now()-i},i=Date.now()):(e.exports=function(){return(new Date).getTime()-i},i=(new Date).getTime())}).call(this)}).call(this)}).call(this,t("_process"))},{_process:526}],509:[function(t,e,r){"use strict";e.exports=function(t){var e=t.length;if(e<32){for(var r=1,i=0;i<e;++i)for(var a=0;a<i;++a)if(t[i]<t[a])r=-r;else if(t[i]===t[a])return 0;return r}var o=n.mallocUint8(e);for(i=0;i<e;++i)o[i]=0;for(r=1,i=0;i<e;++i)if(!o[i]){var s=1;o[i]=1;for(a=t[i];a!==i;a=t[a]){if(o[a])return n.freeUint8(o),0;s+=1,o[a]=1}1&s||(r=-r)}return n.freeUint8(o),r};var n=t("typedarray-pool")},{"typedarray-pool":595}],510:[function(t,e,r){"use strict";var n=t("typedarray-pool"),i=t("invert-permutation");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<e;++o)s[o]=t[o];for(o=e-1;o>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<t;++a)r[a]=a,o=o*a|0;for(a=t-1;a>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}},{"invert-permutation":462,"typedarray-pool":595}],511:[function(t,e,r){"use strict";e.exports=function(t,e,r){var n,a,o={};if("string"==typeof e&&(e=i(e)),Array.isArray(e)){var s={};for(a=0;a<e.length;a++)s[e[a]]=!0;e=s}for(n in e)e[n]=i(e[n]);var l={};for(n in e){var c=e[n];if(Array.isArray(c))for(a=0;a<c.length;a++){var u=c[a];if(r&&(l[u]=!0),u in t){if(o[n]=t[u],r)for(var f=a;f<c.length;f++)l[c[f]]=!0;break}}else n in t&&(e[n]&&(o[n]=t[n]),r&&(l[n]=!0))}if(r)for(n in t)l[n]||(o[n]=t[n]);return o};var n={};function i(t){return n[t]?n[t]:("string"==typeof t&&(t=n[t]=t.split(/\s*,\s*|\s+/)),t)}},{}],512:[function(t,e,r){"use strict";e.exports=function(t,e){for(var r=0|e.length,i=t.length,a=[new Array(r),new Array(r)],o=0;o<r;++o)a[0][o]=[],a[1][o]=[];for(o=0;o<i;++o){var s=t[o];a[0][s[0]].push(s),a[1][s[1]].push(s)}var l=[];for(o=0;o<r;++o)a[0][o].length+a[1][o].length===0&&l.push([o]);function c(t,e){var r=a[e][t[e]];r.splice(r.indexOf(t),1)}function u(t,r,i){for(var o,s,l,u=0;u<2;++u)if(a[u][r].length>0){o=a[u][r][0],l=u;break}s=o[1^l];for(var f=0;f<2;++f)for(var h=a[f][r],p=0;p<h.length;++p){var d=h[p],g=d[1^f];n(e[t],e[r],e[s],e[g])>0&&(o=d,s=g,l=f)}return i||o&&c(o,l),s}function f(t,r){var i=a[r][t][0],o=[t];c(i,r);for(var s=i[1^r];;){for(;s!==t;)o.push(s),s=u(o[o.length-2],s,!1);if(a[0][t].length+a[1][t].length===0)break;var l=o[o.length-1],f=t,h=o[1],p=u(l,f,!0);if(n(e[l],e[f],e[h],e[p])<0)break;o.push(t),s=u(l,f)}return o}function h(t,e){return e[1]===e[e.length-1]}for(o=0;o<r;++o)for(var p=0;p<2;++p){for(var d=[];a[p][o].length>0;){a[0][o].length;var g=f(o,p);h(0,g)?d.push.apply(d,g):(d.length>0&&l.push(d),d=g)}d.length>0&&l.push(d)}return l};var n=t("compare-angle")},{"compare-angle":132}],513:[function(t,e,r){"use strict";e.exports=function(t,e){for(var r=n(t,e.length),i=new Array(e.length),a=new Array(e.length),o=[],s=0;s<e.length;++s){var l=r[s].length;a[s]=l,i[s]=!0,l<=1&&o.push(s)}for(;o.length>0;){var c=o.pop();i[c]=!1;var u=r[c];for(s=0;s<u.length;++s){var f=u[s];0==--a[f]&&o.push(f)}}var h=new Array(e.length),p=[];for(s=0;s<e.length;++s)if(i[s]){c=p.length;h[s]=c,p.push(e[s])}else h[s]=-1;var d=[];for(s=0;s<t.length;++s){var g=t[s];i[g[0]]&&i[g[1]]&&d.push([h[g[0]],h[g[1]]])}return[d,p]};var n=t("edges-to-adjacency-list")},{"edges-to-adjacency-list":178}],514:[function(t,e,r){"use strict";e.exports=function(t,e){var r=c(t,e);t=r[0];for(var f=(e=r[1]).length,h=(t.length,n(t,e.length)),p=0;p<f;++p)if(h[p].length%2==1)throw new Error("planar-graph-to-polyline: graph must be manifold");var d=i(t,e);var g=(d=d.filter((function(t){for(var r=t.length,n=[0],i=0;i<r;++i){var a=e[t[i]],l=e[t[(i+1)%r]],c=o(-a[0],a[1]),u=o(-a[0],l[1]),f=o(l[0],a[1]),h=o(l[0],l[1]);n=s(n,s(s(c,u),s(f,h)))}return n[n.length-1]>0}))).length,m=new Array(g),v=new Array(g);for(p=0;p<g;++p){m[p]=p;var y=new Array(g),x=d[p].map((function(t){return e[t]})),b=a([x]),_=0;t:for(var w=0;w<g;++w)if(y[w]=0,p!==w){for(var T=(q=d[w]).length,k=0;k<T;++k){var M=b(e[q[k]]);if(0!==M){M<0&&(y[w]=1,_+=1);continue t}}y[w]=1,_+=1}v[p]=[_,p,y]}v.sort((function(t,e){return e[0]-t[0]}));for(p=0;p<g;++p){var A=(y=v[p])[1],S=y[2];for(w=0;w<g;++w)S[w]&&(m[w]=A)}var E=function(t){for(var e=new Array(t),r=0;r<t;++r)e[r]=[];return e}(g);for(p=0;p<g;++p)E[p].push(m[p]),E[m[p]].push(p);var C={},L=u(f,!1);for(p=0;p<g;++p)for(T=(q=d[p]).length,w=0;w<T;++w){var I=q[w],P=q[(w+1)%T],z=Math.min(I,P)+":"+Math.max(I,P);if(z in C){var O=C[z];E[O].push(p),E[p].push(O),L[I]=L[P]=!0}else C[z]=p}function D(t){for(var e=t.length,r=0;r<e;++r)if(!L[t[r]])return!1;return!0}var R=[],F=u(g,-1);for(p=0;p<g;++p)m[p]!==p||D(d[p])?F[p]=-1:(R.push(p),F[p]=0);r=[];for(;R.length>0;){var B=R.pop(),N=E[B];l(N,(function(t,e){return t-e}));var j,U=N.length,V=F[B];if(0===V){var q=d[B];j=[q]}for(p=0;p<U;++p){var H=N[p];if(!(F[H]>=0))if(F[H]=1^V,R.push(H),0===V)D(q=d[H])||(q.reverse(),j.push(q))}0===V&&r.push(j)}return r};var n=t("edges-to-adjacency-list"),i=t("planar-dual"),a=t("point-in-big-polygon"),o=t("two-product"),s=t("robust-sum"),l=t("uniq"),c=t("./lib/trim-leaves");function u(t,e){for(var r=new Array(t),n=0;n<t;++n)r[n]=e;return r}},{"./lib/trim-leaves":513,"edges-to-adjacency-list":178,"planar-dual":512,"point-in-big-polygon":516,"robust-sum":553,"two-product":582,uniq:597}],515:[function(t,e,r){arguments[4][243][0].apply(r,arguments)},{dup:243}],516:[function(t,e,r){e.exports=function(t){for(var e=t.length,r=[],a=[],s=0;s<e;++s)for(var u=t[s],f=u.length,h=f-1,p=0;p<f;h=p++){var d=u[h],g=u[p];d[0]===g[0]?a.push([d,g]):r.push([d,g])}if(0===r.length)return 0===a.length?c:(m=l(a),function(t){return m(t[0],t[1])?0:1});var m;var v=i(r),y=function(t,e){return function(r){var i=o.le(e,r[0]);if(i<0)return 1;var a=t[i];if(!a){if(!(i>0&&e[i]===r[0]))return 1;a=t[i-1]}for(var s=1;a;){var l=a.key,c=n(r,l[0],l[1]);if(l[0][0]<l[1][0])if(c<0)a=a.left;else{if(!(c>0))return 0;s=-1,a=a.right}else if(c>0)a=a.left;else{if(!(c<0))return 0;s=1,a=a.right}}return s}}(v.slabs,v.coordinates);return 0===a.length?y:function(t,e){return function(r){return t(r[0],r[1])?0:e(r)}}(l(a),y)};var n=t("robust-orientation")[3],i=t("slab-decomposition"),a=t("interval-tree-1d"),o=t("binary-search-bounds");function s(){return!0}function l(t){for(var e={},r=0;r<t.length;++r){var n=t[r],i=n[0][0],o=n[0][1],l=n[1][1],c=[Math.min(o,l),Math.max(o,l)];i in e?e[i].push(c):e[i]=[c]}var u={},f=Object.keys(e);for(r=0;r<f.length;++r){var h=e[f[r]];u[f[r]]=a(h)}return function(t){return function(e,r){var n=t[e];return!!n&&!!n.queryPoint(r,s)}}(u)}function c(t){return 1}},{"binary-search-bounds":515,"interval-tree-1d":460,"robust-orientation":548,"slab-decomposition":565}],517:[function(t,e,r){ +/* + * @copyright 2016 Sean Connelly (@voidqk), http://syntheti.cc + * @license MIT + * @preserve Project Home: https://github.com/voidqk/polybooljs + */ +var n,i=t("./lib/build-log"),a=t("./lib/epsilon"),o=t("./lib/intersecter"),s=t("./lib/segment-chainer"),l=t("./lib/segment-selector"),c=t("./lib/geojson"),u=!1,f=a();function h(t,e,r){var i=n.segments(t),a=n.segments(e),o=r(n.combine(i,a));return n.polygon(o)}n={buildLog:function(t){return!0===t?u=i():!1===t&&(u=!1),!1!==u&&u.list},epsilon:function(t){return f.epsilon(t)},segments:function(t){var e=o(!0,f,u);return t.regions.forEach(e.addRegion),{segments:e.calculate(t.inverted),inverted:t.inverted}},combine:function(t,e){return{combined:o(!1,f,u).calculate(t.segments,t.inverted,e.segments,e.inverted),inverted1:t.inverted,inverted2:e.inverted}},selectUnion:function(t){return{segments:l.union(t.combined,u),inverted:t.inverted1||t.inverted2}},selectIntersect:function(t){return{segments:l.intersect(t.combined,u),inverted:t.inverted1&&t.inverted2}},selectDifference:function(t){return{segments:l.difference(t.combined,u),inverted:t.inverted1&&!t.inverted2}},selectDifferenceRev:function(t){return{segments:l.differenceRev(t.combined,u),inverted:!t.inverted1&&t.inverted2}},selectXor:function(t){return{segments:l.xor(t.combined,u),inverted:t.inverted1!==t.inverted2}},polygon:function(t){return{regions:s(t.segments,f,u),inverted:t.inverted}},polygonFromGeoJSON:function(t){return c.toPolygon(n,t)},polygonToGeoJSON:function(t){return c.fromPolygon(n,f,t)},union:function(t,e){return h(t,e,n.selectUnion)},intersect:function(t,e){return h(t,e,n.selectIntersect)},difference:function(t,e){return h(t,e,n.selectDifference)},differenceRev:function(t,e){return h(t,e,n.selectDifferenceRev)},xor:function(t,e){return h(t,e,n.selectXor)}},"object"==typeof window&&(window.PolyBool=n),e.exports=n},{"./lib/build-log":518,"./lib/epsilon":519,"./lib/geojson":520,"./lib/intersecter":521,"./lib/segment-chainer":523,"./lib/segment-selector":524}],518:[function(t,e,r){e.exports=function(){var t,e=0,r=!1;function n(e,r){return t.list.push({type:e,data:r?JSON.parse(JSON.stringify(r)):void 0}),t}return t={list:[],segmentId:function(){return e++},checkIntersection:function(t,e){return n("check",{seg1:t,seg2:e})},segmentChop:function(t,e){return n("div_seg",{seg:t,pt:e}),n("chop",{seg:t,pt:e})},statusRemove:function(t){return n("pop_seg",{seg:t})},segmentUpdate:function(t){return n("seg_update",{seg:t})},segmentNew:function(t,e){return n("new_seg",{seg:t,primary:e})},segmentRemove:function(t){return n("rem_seg",{seg:t})},tempStatus:function(t,e,r){return n("temp_status",{seg:t,above:e,below:r})},rewind:function(t){return n("rewind",{seg:t})},status:function(t,e,r){return n("status",{seg:t,above:e,below:r})},vert:function(e){return e===r?t:(r=e,n("vert",{x:e}))},log:function(t){return"string"!=typeof t&&(t=JSON.stringify(t,!1," ")),n("log",{txt:t})},reset:function(){return n("reset")},selected:function(t){return n("selected",{segs:t})},chainStart:function(t){return n("chain_start",{seg:t})},chainRemoveHead:function(t,e){return n("chain_rem_head",{index:t,pt:e})},chainRemoveTail:function(t,e){return n("chain_rem_tail",{index:t,pt:e})},chainNew:function(t,e){return n("chain_new",{pt1:t,pt2:e})},chainMatch:function(t){return n("chain_match",{index:t})},chainClose:function(t){return n("chain_close",{index:t})},chainAddHead:function(t,e){return n("chain_add_head",{index:t,pt:e})},chainAddTail:function(t,e){return n("chain_add_tail",{index:t,pt:e})},chainConnect:function(t,e){return n("chain_con",{index1:t,index2:e})},chainReverse:function(t){return n("chain_rev",{index:t})},chainJoin:function(t,e){return n("chain_join",{index1:t,index2:e})},done:function(){return n("done")}}}},{}],519:[function(t,e,r){e.exports=function(t){"number"!=typeof t&&(t=1e-10);var e={epsilon:function(e){return"number"==typeof e&&(t=e),t},pointAboveOrOnLine:function(e,r,n){var i=r[0],a=r[1],o=n[0],s=n[1],l=e[0];return(o-i)*(e[1]-a)-(s-a)*(l-i)>=-t},pointBetween:function(e,r,n){var i=e[1]-r[1],a=n[0]-r[0],o=e[0]-r[0],s=n[1]-r[1],l=o*a+i*s;return!(l<t)&&!(l-(a*a+s*s)>-t)},pointsSameX:function(e,r){return Math.abs(e[0]-r[0])<t},pointsSameY:function(e,r){return Math.abs(e[1]-r[1])<t},pointsSame:function(t,r){return e.pointsSameX(t,r)&&e.pointsSameY(t,r)},pointsCompare:function(t,r){return e.pointsSameX(t,r)?e.pointsSameY(t,r)?0:t[1]<r[1]?-1:1:t[0]<r[0]?-1:1},pointsCollinear:function(e,r,n){var i=e[0]-r[0],a=e[1]-r[1],o=r[0]-n[0],s=r[1]-n[1];return Math.abs(i*s-o*a)<t},linesIntersect:function(e,r,n,i){var a=r[0]-e[0],o=r[1]-e[1],s=i[0]-n[0],l=i[1]-n[1],c=a*l-o*s;if(Math.abs(c)<t)return!1;var u=e[0]-n[0],f=e[1]-n[1],h=(s*f-l*u)/c,p=(a*f-o*u)/c,d={alongA:0,alongB:0,pt:[e[0]+h*a,e[1]+h*o]};return d.alongA=h<=-t?-2:h<t?-1:h-1<=-t?0:h-1<t?1:2,d.alongB=p<=-t?-2:p<t?-1:p-1<=-t?0:p-1<t?1:2,d},pointInsideRegion:function(e,r){for(var n=e[0],i=e[1],a=r[r.length-1][0],o=r[r.length-1][1],s=!1,l=0;l<r.length;l++){var c=r[l][0],u=r[l][1];u-i>t!=o-i>t&&(a-c)*(i-u)/(o-u)+c-n>t&&(s=!s),a=c,o=u}return s}};return e}},{}],520:[function(t,e,r){var n={toPolygon:function(t,e){function r(e){if(e.length<=0)return t.segments({inverted:!1,regions:[]});function r(e){var r=e.slice(0,e.length-1);return t.segments({inverted:!1,regions:[r]})}for(var n=r(e[0]),i=1;i<e.length;i++)n=t.selectDifference(t.combine(n,r(e[i])));return n}if("Polygon"===e.type)return t.polygon(r(e.coordinates));if("MultiPolygon"===e.type){for(var n=t.segments({inverted:!1,regions:[]}),i=0;i<e.coordinates.length;i++)n=t.selectUnion(t.combine(n,r(e.coordinates[i])));return t.polygon(n)}throw new Error("PolyBool: Cannot convert GeoJSON object to PolyBool polygon")},fromPolygon:function(t,e,r){function n(t,r){return e.pointInsideRegion([.5*(t[0][0]+t[1][0]),.5*(t[0][1]+t[1][1])],r)}function i(t){return{region:t,children:[]}}r=t.polygon(t.segments(r));var a=i(null);function o(t,e){for(var r=0;r<t.children.length;r++){if(n(e,(s=t.children[r]).region))return void o(s,e)}var a=i(e);for(r=0;r<t.children.length;r++){var s;n((s=t.children[r]).region,e)&&(a.children.push(s),t.children.splice(r,1),r--)}t.children.push(a)}for(var s=0;s<r.regions.length;s++){var l=r.regions[s];l.length<3||o(a,l)}function c(t,e){for(var r=0,n=t[t.length-1][0],i=t[t.length-1][1],a=[],o=0;o<t.length;o++){var s=t[o][0],l=t[o][1];a.push([s,l]),r+=l*n-s*i,n=s,i=l}return r<0!==e&&a.reverse(),a.push([a[0][0],a[0][1]]),a}var u=[];function f(t){var e=[c(t.region,!1)];u.push(e);for(var r=0;r<t.children.length;r++)e.push(h(t.children[r]))}function h(t){for(var e=0;e<t.children.length;e++)f(t.children[e]);return c(t.region,!0)}for(s=0;s<a.children.length;s++)f(a.children[s]);return u.length<=0?{type:"Polygon",coordinates:[]}:1==u.length?{type:"Polygon",coordinates:u[0]}:{type:"MultiPolygon",coordinates:u}}};e.exports=n},{}],521:[function(t,e,r){var n=t("./linked-list");e.exports=function(t,e,r){function i(t,e,n){return{id:r?r.segmentId():-1,start:t,end:e,myFill:{above:n.myFill.above,below:n.myFill.below},otherFill:null}}var a=n.create();function o(t,r){a.insertBefore(t,(function(n){return function(t,r,n,i,a,o){var s=e.pointsCompare(r,a);return 0!==s?s:e.pointsSame(n,o)?0:t!==i?t?1:-1:e.pointAboveOrOnLine(n,i?a:o,i?o:a)?1:-1}(t.isStart,t.pt,r,n.isStart,n.pt,n.other.pt)<0}))}function s(t,e){var r=function(t,e){var r=n.node({isStart:!0,pt:t.start,seg:t,primary:e,other:null,status:null});return o(r,t.end),r}(t,e);return function(t,e,r){var i=n.node({isStart:!1,pt:e.end,seg:e,primary:r,other:t,status:null});t.other=i,o(i,t.pt)}(r,t,e),r}function l(t,e){var n=i(e,t.seg.end,t.seg);return function(t,e){r&&r.segmentChop(t.seg,e),t.other.remove(),t.seg.end=e,t.other.pt=e,o(t.other,t.pt)}(t,e),s(n,t.primary)}function c(i,o){var s=n.create();function c(t){return s.findTransition((function(r){var n,i,a,o,s,l;return(n=t,i=r.ev,a=n.seg.start,o=n.seg.end,s=i.seg.start,l=i.seg.end,e.pointsCollinear(a,s,l)?e.pointsCollinear(o,s,l)||e.pointAboveOrOnLine(o,s,l)?1:-1:e.pointAboveOrOnLine(a,s,l)?1:-1)>0}))}function u(t,n){var i=t.seg,a=n.seg,o=i.start,s=i.end,c=a.start,u=a.end;r&&r.checkIntersection(i,a);var f=e.linesIntersect(o,s,c,u);if(!1===f){if(!e.pointsCollinear(o,s,c))return!1;if(e.pointsSame(o,u)||e.pointsSame(s,c))return!1;var h=e.pointsSame(o,c),p=e.pointsSame(s,u);if(h&&p)return n;var d=!h&&e.pointBetween(o,c,u),g=!p&&e.pointBetween(s,c,u);if(h)return g?l(n,s):l(t,u),n;d&&(p||(g?l(n,s):l(t,u)),l(n,o))}else 0===f.alongA&&(-1===f.alongB?l(t,c):0===f.alongB?l(t,f.pt):1===f.alongB&&l(t,u)),0===f.alongB&&(-1===f.alongA?l(n,o):0===f.alongA?l(n,f.pt):1===f.alongA&&l(n,s));return!1}for(var f=[];!a.isEmpty();){var h=a.getHead();if(r&&r.vert(h.pt[0]),h.isStart){r&&r.segmentNew(h.seg,h.primary);var p=c(h),d=p.before?p.before.ev:null,g=p.after?p.after.ev:null;function m(){if(d){var t=u(h,d);if(t)return t}return!!g&&u(h,g)}r&&r.tempStatus(h.seg,!!d&&d.seg,!!g&&g.seg);var v,y=m();if(y){var x;if(t)(x=null===h.seg.myFill.below||h.seg.myFill.above!==h.seg.myFill.below)&&(y.seg.myFill.above=!y.seg.myFill.above);else y.seg.otherFill=h.seg.myFill;r&&r.segmentUpdate(y.seg),h.other.remove(),h.remove()}if(a.getHead()!==h){r&&r.rewind(h.seg);continue}if(t)x=null===h.seg.myFill.below||h.seg.myFill.above!==h.seg.myFill.below,h.seg.myFill.below=g?g.seg.myFill.above:i,h.seg.myFill.above=x?!h.seg.myFill.below:h.seg.myFill.below;else if(null===h.seg.otherFill)v=g?h.primary===g.primary?g.seg.otherFill.above:g.seg.myFill.above:h.primary?o:i,h.seg.otherFill={above:v,below:v};r&&r.status(h.seg,!!d&&d.seg,!!g&&g.seg),h.other.status=p.insert(n.node({ev:h}))}else{var b=h.status;if(null===b)throw new Error("PolyBool: Zero-length segment detected; your epsilon is probably too small or too large");if(s.exists(b.prev)&&s.exists(b.next)&&u(b.prev.ev,b.next.ev),r&&r.statusRemove(b.ev.seg),b.remove(),!h.primary){var _=h.seg.myFill;h.seg.myFill=h.seg.otherFill,h.seg.otherFill=_}f.push(h.seg)}a.getHead().remove()}return r&&r.done(),f}return t?{addRegion:function(t){for(var n,i,a,o=t[t.length-1],l=0;l<t.length;l++){n=o,o=t[l];var c=e.pointsCompare(n,o);0!==c&&s((i=c<0?n:o,a=c<0?o:n,{id:r?r.segmentId():-1,start:i,end:a,myFill:{above:null,below:null},otherFill:null}),!0)}},calculate:function(t){return c(t,!1)}}:{calculate:function(t,e,r,n){return t.forEach((function(t){s(i(t.start,t.end,t),!0)})),r.forEach((function(t){s(i(t.start,t.end,t),!1)})),c(e,n)}}}},{"./linked-list":522}],522:[function(t,e,r){e.exports={create:function(){var t={root:{root:!0,next:null},exists:function(e){return null!==e&&e!==t.root},isEmpty:function(){return null===t.root.next},getHead:function(){return t.root.next},insertBefore:function(e,r){for(var n=t.root,i=t.root.next;null!==i;){if(r(i))return e.prev=i.prev,e.next=i,i.prev.next=e,void(i.prev=e);n=i,i=i.next}n.next=e,e.prev=n,e.next=null},findTransition:function(e){for(var r=t.root,n=t.root.next;null!==n&&!e(n);)r=n,n=n.next;return{before:r===t.root?null:r,after:n,insert:function(t){return t.prev=r,t.next=n,r.next=t,null!==n&&(n.prev=t),t}}}};return t},node:function(t){return t.prev=null,t.next=null,t.remove=function(){t.prev.next=t.next,t.next&&(t.next.prev=t.prev),t.prev=null,t.next=null},t}}},{}],523:[function(t,e,r){e.exports=function(t,e,r){var n=[],i=[];return t.forEach((function(t){var a=t.start,o=t.end;if(e.pointsSame(a,o))console.warn("PolyBool: Warning: Zero-length segment detected; your epsilon is probably too small or too large");else{r&&r.chainStart(t);for(var s={index:0,matches_head:!1,matches_pt1:!1},l={index:0,matches_head:!1,matches_pt1:!1},c=s,u=0;u<n.length;u++){var f=(m=n[u])[0],h=(m[1],m[m.length-1]);m[m.length-2];if(e.pointsSame(f,a)){if(k(u,!0,!0))break}else if(e.pointsSame(f,o)){if(k(u,!0,!1))break}else if(e.pointsSame(h,a)){if(k(u,!1,!0))break}else if(e.pointsSame(h,o)&&k(u,!1,!1))break}if(c===s)return n.push([a,o]),void(r&&r.chainNew(a,o));if(c===l){r&&r.chainMatch(s.index);var p=s.index,d=s.matches_pt1?o:a,g=s.matches_head,m=n[p],v=g?m[0]:m[m.length-1],y=g?m[1]:m[m.length-2],x=g?m[m.length-1]:m[0],b=g?m[m.length-2]:m[1];return e.pointsCollinear(y,v,d)&&(g?(r&&r.chainRemoveHead(s.index,d),m.shift()):(r&&r.chainRemoveTail(s.index,d),m.pop()),v=y),e.pointsSame(x,d)?(n.splice(p,1),e.pointsCollinear(b,x,v)&&(g?(r&&r.chainRemoveTail(s.index,v),m.pop()):(r&&r.chainRemoveHead(s.index,v),m.shift())),r&&r.chainClose(s.index),void i.push(m)):void(g?(r&&r.chainAddHead(s.index,d),m.unshift(d)):(r&&r.chainAddTail(s.index,d),m.push(d)))}var _=s.index,w=l.index;r&&r.chainConnect(_,w);var T=n[_].length<n[w].length;s.matches_head?l.matches_head?T?(M(_),A(_,w)):(M(w),A(w,_)):A(w,_):l.matches_head?A(_,w):T?(M(_),A(w,_)):(M(w),A(_,w))}function k(t,e,r){return c.index=t,c.matches_head=e,c.matches_pt1=r,c===s?(c=l,!1):(c=null,!0)}function M(t){r&&r.chainReverse(t),n[t].reverse()}function A(t,i){var a=n[t],o=n[i],s=a[a.length-1],l=a[a.length-2],c=o[0],u=o[1];e.pointsCollinear(l,s,c)&&(r&&r.chainRemoveTail(t,s),a.pop(),s=l),e.pointsCollinear(s,c,u)&&(r&&r.chainRemoveHead(i,c),o.shift()),r&&r.chainJoin(t,i),n[t]=a.concat(o),n.splice(i,1)}})),i}},{}],524:[function(t,e,r){function n(t,e,r){var n=[];return t.forEach((function(t){var i=(t.myFill.above?8:0)+(t.myFill.below?4:0)+(t.otherFill&&t.otherFill.above?2:0)+(t.otherFill&&t.otherFill.below?1:0);0!==e[i]&&n.push({id:r?r.segmentId():-1,start:t.start,end:t.end,myFill:{above:1===e[i],below:2===e[i]},otherFill:null})})),r&&r.selected(n),n}var i={union:function(t,e){return n(t,[0,2,1,0,2,2,0,0,1,0,1,0,0,0,0,0],e)},intersect:function(t,e){return n(t,[0,0,0,0,0,2,0,2,0,0,1,1,0,2,1,0],e)},difference:function(t,e){return n(t,[0,0,0,0,2,0,2,0,1,1,0,0,0,1,2,0],e)},differenceRev:function(t,e){return n(t,[0,2,1,0,0,0,1,1,0,2,0,2,0,0,0,0],e)},xor:function(t,e){return n(t,[0,2,1,0,2,0,0,1,1,0,0,2,0,1,2,0],e)}};e.exports=i},{}],525:[function(t,e,r){"use strict";var n=new Float64Array(4),i=new Float64Array(4),a=new Float64Array(4);e.exports=function(t,e,r,o,s){n.length<o.length&&(n=new Float64Array(o.length),i=new Float64Array(o.length),a=new Float64Array(o.length));for(var l=0;l<o.length;++l)n[l]=t[l]-o[l],i[l]=e[l]-t[l],a[l]=r[l]-t[l];var c=0,u=0,f=0,h=0,p=0,d=0;for(l=0;l<o.length;++l){var g=i[l],m=a[l],v=n[l];c+=g*g,u+=g*m,f+=m*m,h+=v*g,p+=v*m,d+=v*v}var y,x,b,_,w,T=Math.abs(c*f-u*u),k=u*p-f*h,M=u*h-c*p;if(k+M<=T)if(k<0)M<0&&h<0?(M=0,-h>=c?(k=1,y=c+2*h+d):y=h*(k=-h/c)+d):(k=0,p>=0?(M=0,y=d):-p>=f?(M=1,y=f+2*p+d):y=p*(M=-p/f)+d);else if(M<0)M=0,h>=0?(k=0,y=d):-h>=c?(k=1,y=c+2*h+d):y=h*(k=-h/c)+d;else{var A=1/T;y=(k*=A)*(c*k+u*(M*=A)+2*h)+M*(u*k+f*M+2*p)+d}else k<0?(b=f+p)>(x=u+h)?(_=b-x)>=(w=c-2*u+f)?(k=1,M=0,y=c+2*h+d):y=(k=_/w)*(c*k+u*(M=1-k)+2*h)+M*(u*k+f*M+2*p)+d:(k=0,b<=0?(M=1,y=f+2*p+d):p>=0?(M=0,y=d):y=p*(M=-p/f)+d):M<0?(b=c+h)>(x=u+p)?(_=b-x)>=(w=c-2*u+f)?(M=1,k=0,y=f+2*p+d):y=(k=1-(M=_/w))*(c*k+u*M+2*h)+M*(u*k+f*M+2*p)+d:(M=0,b<=0?(k=1,y=c+2*h+d):h>=0?(k=0,y=d):y=h*(k=-h/c)+d):(_=f+p-u-h)<=0?(k=0,M=1,y=f+2*p+d):_>=(w=c-2*u+f)?(k=1,M=0,y=c+2*h+d):y=(k=_/w)*(c*k+u*(M=1-k)+2*h)+M*(u*k+f*M+2*p)+d;var S=1-k-M;for(l=0;l<o.length;++l)s[l]=S*t[l]+k*e[l]+M*r[l];return y<0?0:y}},{}],526:[function(t,e,r){var n,i,a=e.exports={};function o(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}function l(t){if(n===setTimeout)return setTimeout(t,0);if((n===o||!n)&&setTimeout)return n=setTimeout,setTimeout(t,0);try{return n(t,0)}catch(e){try{return n.call(null,t,0)}catch(e){return n.call(this,t,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:o}catch(t){n=o}try{i="function"==typeof clearTimeout?clearTimeout:s}catch(t){i=s}}();var c,u=[],f=!1,h=-1;function p(){f&&c&&(f=!1,c.length?u=c.concat(u):h=-1,u.length&&d())}function d(){if(!f){var t=l(p);f=!0;for(var e=u.length;e;){for(c=u,u=[];++h<e;)c&&c[h].run();h=-1,e=u.length}c=null,f=!1,function(t){if(i===clearTimeout)return clearTimeout(t);if((i===s||!i)&&clearTimeout)return i=clearTimeout,clearTimeout(t);try{i(t)}catch(e){try{return i.call(null,t)}catch(e){return i.call(this,t)}}}(t)}}function g(t,e){this.fun=t,this.array=e}function m(){}a.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)e[r-1]=arguments[r];u.push(new g(t,e)),1!==u.length||f||l(d)},g.prototype.run=function(){this.fun.apply(null,this.array)},a.title="browser",a.browser=!0,a.env={},a.argv=[],a.version="",a.versions={},a.on=m,a.addListener=m,a.once=m,a.off=m,a.removeListener=m,a.removeAllListeners=m,a.emit=m,a.prependListener=m,a.prependOnceListener=m,a.listeners=function(t){return[]},a.binding=function(t){throw new Error("process.binding is not supported")},a.cwd=function(){return"/"},a.chdir=function(t){throw new Error("process.chdir is not supported")},a.umask=function(){return 0}},{}],527:[function(t,e,r){e.exports=t("gl-quat/slerp")},{"gl-quat/slerp":325}],528:[function(t,e,r){(function(r){(function(){for(var n=t("performance-now"),i="undefined"==typeof window?r:window,a=["moz","webkit"],o="AnimationFrame",s=i["request"+o],l=i["cancel"+o]||i["cancelRequest"+o],c=0;!s&&c<a.length;c++)s=i[a[c]+"Request"+o],l=i[a[c]+"Cancel"+o]||i[a[c]+"CancelRequest"+o];if(!s||!l){var u=0,f=0,h=[];s=function(t){if(0===h.length){var e=n(),r=Math.max(0,1e3/60-(e-u));u=r+e,setTimeout((function(){var t=h.slice(0);h.length=0;for(var e=0;e<t.length;e++)if(!t[e].cancelled)try{t[e].callback(u)}catch(t){setTimeout((function(){throw t}),0)}}),Math.round(r))}return h.push({handle:++f,callback:t,cancelled:!1}),f},l=function(t){for(var e=0;e<h.length;e++)h[e].handle===t&&(h[e].cancelled=!0)}}e.exports=function(t){return s.call(i,t)},e.exports.cancel=function(){l.apply(i,arguments)},e.exports.polyfill=function(t){t||(t=i),t.requestAnimationFrame=s,t.cancelAnimationFrame=l}}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"performance-now":508}],529:[function(t,e,r){"use strict";var n=t("big-rat/add");e.exports=function(t,e){for(var r=t.length,i=new Array(r),a=0;a<r;++a)i[a]=n(t[a],e[a]);return i}},{"big-rat/add":80}],530:[function(t,e,r){"use strict";e.exports=function(t){for(var e=new Array(t.length),r=0;r<t.length;++r)e[r]=n(t[r]);return e};var n=t("big-rat")},{"big-rat":83}],531:[function(t,e,r){"use strict";var n=t("big-rat"),i=t("big-rat/mul");e.exports=function(t,e){for(var r=n(e),a=t.length,o=new Array(a),s=0;s<a;++s)o[s]=i(t[s],r);return o}},{"big-rat":83,"big-rat/mul":92}],532:[function(t,e,r){"use strict";var n=t("big-rat/sub");e.exports=function(t,e){for(var r=t.length,i=new Array(r),a=0;a<r;++a)i[a]=n(t[a],e[a]);return i}},{"big-rat/sub":94}],533:[function(t,e,r){"use strict";var n=t("compare-cell"),i=t("compare-oriented-cell"),a=t("cell-orientation");e.exports=function(t){t.sort(i);for(var e=t.length,r=0,o=0;o<e;++o){var s=t[o],l=a(s);if(0!==l){if(r>0){var c=t[r-1];if(0===n(s,c)&&a(c)!==l){r-=1;continue}}t[r++]=s}}return t.length=r,t}},{"cell-orientation":117,"compare-cell":133,"compare-oriented-cell":134}],534:[function(t,e,r){"use strict";var n=t("array-bounds"),i=t("color-normalize"),a=t("update-diff"),o=t("pick-by-alias"),s=t("object-assign"),l=t("flatten-vertex-data"),c=t("to-float32"),u=c.float32,f=c.fract32;e.exports=function(t,e){"function"==typeof t?(e||(e={}),e.regl=t):e=t;e.length&&(e.positions=e);if(!(t=e.regl).hasExtension("ANGLE_instanced_arrays"))throw Error("regl-error2d: `ANGLE_instanced_arrays` extension should be enabled");var r,c,p,d,g,m,v=t._gl,y={color:"black",capSize:5,lineWidth:1,opacity:1,viewport:null,range:null,offset:0,count:0,bounds:null,positions:[],errors:[]},x=[];return d=t.buffer({usage:"dynamic",type:"uint8",data:new Uint8Array(0)}),c=t.buffer({usage:"dynamic",type:"float",data:new Uint8Array(0)}),p=t.buffer({usage:"dynamic",type:"float",data:new Uint8Array(0)}),g=t.buffer({usage:"dynamic",type:"float",data:new Uint8Array(0)}),m=t.buffer({usage:"static",type:"float",data:h}),T(e),r=t({vert:"\n\t\tprecision highp float;\n\n\t\tattribute vec2 position, positionFract;\n\t\tattribute vec4 error;\n\t\tattribute vec4 color;\n\n\t\tattribute vec2 direction, lineOffset, capOffset;\n\n\t\tuniform vec4 viewport;\n\t\tuniform float lineWidth, capSize;\n\t\tuniform vec2 scale, scaleFract, translate, translateFract;\n\n\t\tvarying vec4 fragColor;\n\n\t\tvoid main() {\n\t\t\tfragColor = color / 255.;\n\n\t\t\tvec2 pixelOffset = lineWidth * lineOffset + (capSize + lineWidth) * capOffset;\n\n\t\t\tvec2 dxy = -step(.5, direction.xy) * error.xz + step(direction.xy, vec2(-.5)) * error.yw;\n\n\t\t\tvec2 position = position + dxy;\n\n\t\t\tvec2 pos = (position + translate) * scale\n\t\t\t\t+ (positionFract + translateFract) * scale\n\t\t\t\t+ (position + translate) * scaleFract\n\t\t\t\t+ (positionFract + translateFract) * scaleFract;\n\n\t\t\tpos += pixelOffset / viewport.zw;\n\n\t\t\tgl_Position = vec4(pos * 2. - 1., 0, 1);\n\t\t}\n\t\t",frag:"\n\t\tprecision highp float;\n\n\t\tvarying vec4 fragColor;\n\n\t\tuniform float opacity;\n\n\t\tvoid main() {\n\t\t\tgl_FragColor = fragColor;\n\t\t\tgl_FragColor.a *= opacity;\n\t\t}\n\t\t",uniforms:{range:t.prop("range"),lineWidth:t.prop("lineWidth"),capSize:t.prop("capSize"),opacity:t.prop("opacity"),scale:t.prop("scale"),translate:t.prop("translate"),scaleFract:t.prop("scaleFract"),translateFract:t.prop("translateFract"),viewport:function(t,e){return[e.viewport.x,e.viewport.y,t.viewportWidth,t.viewportHeight]}},attributes:{color:{buffer:d,offset:function(t,e){return 4*e.offset},divisor:1},position:{buffer:c,offset:function(t,e){return 8*e.offset},divisor:1},positionFract:{buffer:p,offset:function(t,e){return 8*e.offset},divisor:1},error:{buffer:g,offset:function(t,e){return 16*e.offset},divisor:1},direction:{buffer:m,stride:24,offset:0},lineOffset:{buffer:m,stride:24,offset:8},capOffset:{buffer:m,stride:24,offset:16}},primitive:"triangles",blend:{enable:!0,color:[0,0,0,0],equation:{rgb:"add",alpha:"add"},func:{srcRGB:"src alpha",dstRGB:"one minus src alpha",srcAlpha:"one minus dst alpha",dstAlpha:"one"}},depth:{enable:!1},scissor:{enable:!0,box:t.prop("viewport")},viewport:t.prop("viewport"),stencil:!1,instances:t.prop("count"),count:h.length}),s(b,{update:T,draw:_,destroy:k,regl:t,gl:v,canvas:v.canvas,groups:x}),b;function b(t){t?T(t):null===t&&k(),_()}function _(e){if("number"==typeof e)return w(e);e&&!Array.isArray(e)&&(e=[e]),t._refresh(),x.forEach((function(t,r){t&&(e&&(e[r]?t.draw=!0:t.draw=!1),t.draw?w(r):t.draw=!0)}))}function w(t){"number"==typeof t&&(t=x[t]),null!=t&&t&&t.count&&t.color&&t.opacity&&t.positions&&t.positions.length>1&&(t.scaleRatio=[t.scale[0]*t.viewport.width,t.scale[1]*t.viewport.height],r(t),t.after&&t.after(t))}function T(t){if(t){null!=t.length?"number"==typeof t[0]&&(t=[{positions:t}]):Array.isArray(t)||(t=[t]);var e=0,r=0;if(b.groups=x=t.map((function(t,c){var u=x[c];return t?("function"==typeof t?t={after:t}:"number"==typeof t[0]&&(t={positions:t}),t=o(t,{color:"color colors fill",capSize:"capSize cap capsize cap-size",lineWidth:"lineWidth line-width width line thickness",opacity:"opacity alpha",range:"range dataBox",viewport:"viewport viewBox",errors:"errors error",positions:"positions position data points"}),u||(x[c]=u={id:c,scale:null,translate:null,scaleFract:null,translateFract:null,draw:!0},t=s({},y,t)),a(u,t,[{lineWidth:function(t){return.5*+t},capSize:function(t){return.5*+t},opacity:parseFloat,errors:function(t){return t=l(t),r+=t.length,t},positions:function(t,r){return t=l(t,"float64"),r.count=Math.floor(t.length/2),r.bounds=n(t,2),r.offset=e,e+=r.count,t}},{color:function(t,e){var r=e.count;if(t||(t="transparent"),!Array.isArray(t)||"number"==typeof t[0]){var n=t;t=Array(r);for(var a=0;a<r;a++)t[a]=n}if(t.length<r)throw Error("Not enough colors");for(var o=new Uint8Array(4*r),s=0;s<r;s++){var l=i(t[s],"uint8");o.set(l,4*s)}return o},range:function(t,e,r){var n=e.bounds;return t||(t=n),e.scale=[1/(t[2]-t[0]),1/(t[3]-t[1])],e.translate=[-t[0],-t[1]],e.scaleFract=f(e.scale),e.translateFract=f(e.translate),t},viewport:function(t){var e;return Array.isArray(t)?e={x:t[0],y:t[1],width:t[2]-t[0],height:t[3]-t[1]}:t?(e={x:t.x||t.left||0,y:t.y||t.top||0},t.right?e.width=t.right-e.x:e.width=t.w||t.width||0,t.bottom?e.height=t.bottom-e.y:e.height=t.h||t.height||0):e={x:0,y:0,width:v.drawingBufferWidth,height:v.drawingBufferHeight},e}}]),u):u})),e||r){var h=x.reduce((function(t,e,r){return t+(e?e.count:0)}),0),m=new Float64Array(2*h),_=new Uint8Array(4*h),w=new Float32Array(4*h);x.forEach((function(t,e){if(t){var r=t.positions,n=t.count,i=t.offset,a=t.color,o=t.errors;n&&(_.set(a,4*i),w.set(o,4*i),m.set(r,2*i))}})),c(u(m)),p(f(m)),d(_),g(w)}}}function k(){c.destroy(),p.destroy(),d.destroy(),g.destroy(),m.destroy()}};var h=[[1,0,0,1,0,0],[1,0,0,-1,0,0],[-1,0,0,-1,0,0],[-1,0,0,-1,0,0],[-1,0,0,1,0,0],[1,0,0,1,0,0],[1,0,-1,0,0,1],[1,0,-1,0,0,-1],[1,0,1,0,0,-1],[1,0,1,0,0,-1],[1,0,1,0,0,1],[1,0,-1,0,0,1],[-1,0,-1,0,0,1],[-1,0,-1,0,0,-1],[-1,0,1,0,0,-1],[-1,0,1,0,0,-1],[-1,0,1,0,0,1],[-1,0,-1,0,0,1],[0,1,1,0,0,0],[0,1,-1,0,0,0],[0,-1,-1,0,0,0],[0,-1,-1,0,0,0],[0,1,1,0,0,0],[0,-1,1,0,0,0],[0,1,0,-1,1,0],[0,1,0,-1,-1,0],[0,1,0,1,-1,0],[0,1,0,1,1,0],[0,1,0,-1,1,0],[0,1,0,1,-1,0],[0,-1,0,-1,1,0],[0,-1,0,-1,-1,0],[0,-1,0,1,-1,0],[0,-1,0,1,1,0],[0,-1,0,-1,1,0],[0,-1,0,1,-1,0]]},{"array-bounds":70,"color-normalize":125,"flatten-vertex-data":244,"object-assign":499,"pick-by-alias":511,"to-float32":577,"update-diff":599}],535:[function(t,e,r){"use strict";var n=t("color-normalize"),i=t("array-bounds"),a=t("object-assign"),o=t("glslify"),s=t("pick-by-alias"),l=t("flatten-vertex-data"),c=t("earcut"),u=t("array-normalize"),f=t("to-float32"),h=f.float32,p=f.fract32,d=t("es6-weak-map"),g=t("parse-rect");function m(t,e){if(!(this instanceof m))return new m(t,e);if("function"==typeof t?(e||(e={}),e.regl=t):e=t,e.length&&(e.positions=e),!(t=e.regl).hasExtension("ANGLE_instanced_arrays"))throw Error("regl-error2d: `ANGLE_instanced_arrays` extension should be enabled");this.gl=t._gl,this.regl=t,this.passes=[],this.shaders=m.shaders.has(t)?m.shaders.get(t):m.shaders.set(t,m.createShaders(t)).get(t),this.update(e)}e.exports=m,m.dashMult=2,m.maxPatternLength=256,m.precisionThreshold=3e6,m.maxPoints=1e4,m.maxLines=2048,m.shaders=new d,m.createShaders=function(t){var e,r=t.buffer({usage:"static",type:"float",data:[0,1,0,0,1,1,1,0]}),n={primitive:"triangle strip",instances:t.prop("count"),count:4,offset:0,uniforms:{miterMode:function(t,e){return"round"===e.join?2:1},miterLimit:t.prop("miterLimit"),scale:t.prop("scale"),scaleFract:t.prop("scaleFract"),translateFract:t.prop("translateFract"),translate:t.prop("translate"),thickness:t.prop("thickness"),dashPattern:t.prop("dashTexture"),opacity:t.prop("opacity"),pixelRatio:t.context("pixelRatio"),id:t.prop("id"),dashSize:t.prop("dashLength"),viewport:function(t,e){return[e.viewport.x,e.viewport.y,t.viewportWidth,t.viewportHeight]},depth:t.prop("depth")},blend:{enable:!0,color:[0,0,0,0],equation:{rgb:"add",alpha:"add"},func:{srcRGB:"src alpha",dstRGB:"one minus src alpha",srcAlpha:"one minus dst alpha",dstAlpha:"one"}},depth:{enable:function(t,e){return!e.overlay}},stencil:{enable:!1},scissor:{enable:!0,box:t.prop("viewport")},viewport:t.prop("viewport")},i=t(a({vert:o(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec2 aCoord, bCoord, aCoordFract, bCoordFract;\nattribute vec4 color;\nattribute float lineEnd, lineTop;\n\nuniform vec2 scale, scaleFract, translate, translateFract;\nuniform float thickness, pixelRatio, id, depth;\nuniform vec4 viewport;\n\nvarying vec4 fragColor;\nvarying vec2 tangent;\n\nvec2 project(vec2 position, vec2 positionFract, vec2 scale, vec2 scaleFract, vec2 translate, vec2 translateFract) {\n\t// the order is important\n\treturn position * scale + translate\n + positionFract * scale + translateFract\n + position * scaleFract\n + positionFract * scaleFract;\n}\n\nvoid main() {\n\tfloat lineStart = 1. - lineEnd;\n\tfloat lineOffset = lineTop * 2. - 1.;\n\n\tvec2 diff = (bCoord + bCoordFract - aCoord - aCoordFract);\n\ttangent = normalize(diff * scale * viewport.zw);\n\tvec2 normal = vec2(-tangent.y, tangent.x);\n\n\tvec2 position = project(aCoord, aCoordFract, scale, scaleFract, translate, translateFract) * lineStart\n\t\t+ project(bCoord, bCoordFract, scale, scaleFract, translate, translateFract) * lineEnd\n\n\t\t+ thickness * normal * .5 * lineOffset / viewport.zw;\n\n\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\n\n\tfragColor = color / 255.;\n}\n"]),frag:o(["precision highp float;\n#define GLSLIFY 1\n\nuniform sampler2D dashPattern;\n\nuniform float dashSize, 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) / dashSize) * .5 + .25;\n\tfloat dash = texture2D(dashPattern, vec2(t, .5)).r;\n\n\tgl_FragColor = fragColor;\n\tgl_FragColor.a *= alpha * opacity * dash;\n}\n"]),attributes:{lineEnd:{buffer:r,divisor:0,stride:8,offset:0},lineTop:{buffer:r,divisor:0,stride:8,offset:4},aCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:8,divisor:1},bCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:16,divisor:1},aCoordFract:{buffer:t.prop("positionFractBuffer"),stride:8,offset:8,divisor:1},bCoordFract:{buffer:t.prop("positionFractBuffer"),stride:8,offset:16,divisor:1},color:{buffer:t.prop("colorBuffer"),stride:4,offset:0,divisor:1}}},n));try{e=t(a({cull:{enable:!0,face:"back"},vert:o(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec2 aCoord, bCoord, nextCoord, prevCoord;\nattribute vec4 aColor, bColor;\nattribute float lineEnd, lineTop;\n\nuniform vec2 scale, translate;\nuniform float thickness, pixelRatio, id, depth;\nuniform vec4 viewport;\nuniform float miterLimit, miterMode;\n\nvarying vec4 fragColor;\nvarying vec4 startCutoff, endCutoff;\nvarying vec2 tangent;\nvarying vec2 startCoord, endCoord;\nvarying float enableStartMiter, enableEndMiter;\n\nconst float REVERSE_THRESHOLD = -.875;\nconst float MIN_DIFF = 1e-6;\n\n// TODO: possible optimizations: avoid overcalculating all for vertices and calc just one instead\n// TODO: precalculate dot products, normalize things beforehead etc.\n// TODO: refactor to rectangular algorithm\n\nfloat distToLine(vec2 p, vec2 a, vec2 b) {\n\tvec2 diff = b - a;\n\tvec2 perp = normalize(vec2(-diff.y, diff.x));\n\treturn dot(p - a, perp);\n}\n\nbool isNaN( float val ){\n return ( val < 0.0 || 0.0 < val || val == 0.0 ) ? false : true;\n}\n\nvoid main() {\n\tvec2 aCoord = aCoord, bCoord = bCoord, prevCoord = prevCoord, nextCoord = nextCoord;\n\n vec2 adjustedScale;\n adjustedScale.x = (abs(scale.x) < MIN_DIFF) ? MIN_DIFF : scale.x;\n adjustedScale.y = (abs(scale.y) < MIN_DIFF) ? MIN_DIFF : scale.y;\n\n vec2 scaleRatio = adjustedScale * viewport.zw;\n\tvec2 normalWidth = thickness / scaleRatio;\n\n\tfloat lineStart = 1. - lineEnd;\n\tfloat lineBot = 1. - lineTop;\n\n\tfragColor = (lineStart * aColor + lineEnd * bColor) / 255.;\n\n\tif (isNaN(aCoord.x) || isNaN(aCoord.y) || isNaN(bCoord.x) || isNaN(bCoord.y)) return;\n\n\tif (aCoord == prevCoord) prevCoord = aCoord + normalize(bCoord - aCoord);\n\tif (bCoord == nextCoord) nextCoord = bCoord - normalize(bCoord - aCoord);\n\n\tvec2 prevDiff = aCoord - prevCoord;\n\tvec2 currDiff = bCoord - aCoord;\n\tvec2 nextDiff = nextCoord - bCoord;\n\n\tvec2 prevTangent = normalize(prevDiff * scaleRatio);\n\tvec2 currTangent = normalize(currDiff * scaleRatio);\n\tvec2 nextTangent = normalize(nextDiff * scaleRatio);\n\n\tvec2 prevNormal = vec2(-prevTangent.y, prevTangent.x);\n\tvec2 currNormal = vec2(-currTangent.y, currTangent.x);\n\tvec2 nextNormal = vec2(-nextTangent.y, nextTangent.x);\n\n\tvec2 startJoinDirection = normalize(prevTangent - currTangent);\n\tvec2 endJoinDirection = normalize(currTangent - nextTangent);\n\n\t// collapsed/unidirectional segment cases\n\t// FIXME: there should be more elegant solution\n\tvec2 prevTanDiff = abs(prevTangent - currTangent);\n\tvec2 nextTanDiff = abs(nextTangent - currTangent);\n\tif (max(prevTanDiff.x, prevTanDiff.y) < MIN_DIFF) {\n\t\tstartJoinDirection = currNormal;\n\t}\n\tif (max(nextTanDiff.x, nextTanDiff.y) < MIN_DIFF) {\n\t\tendJoinDirection = currNormal;\n\t}\n\tif (aCoord == bCoord) {\n\t\tendJoinDirection = startJoinDirection;\n\t\tcurrNormal = prevNormal;\n\t\tcurrTangent = prevTangent;\n\t}\n\n\ttangent = currTangent;\n\n\t//calculate join shifts relative to normals\n\tfloat startJoinShift = dot(currNormal, startJoinDirection);\n\tfloat endJoinShift = dot(currNormal, endJoinDirection);\n\n\tfloat startMiterRatio = abs(1. / startJoinShift);\n\tfloat endMiterRatio = abs(1. / endJoinShift);\n\n\tvec2 startJoin = startJoinDirection * startMiterRatio;\n\tvec2 endJoin = endJoinDirection * endMiterRatio;\n\n\tvec2 startTopJoin, startBotJoin, endTopJoin, endBotJoin;\n\tstartTopJoin = sign(startJoinShift) * startJoin * .5;\n\tstartBotJoin = -startTopJoin;\n\n\tendTopJoin = sign(endJoinShift) * endJoin * .5;\n\tendBotJoin = -endTopJoin;\n\n\tvec2 aTopCoord = aCoord + normalWidth * startTopJoin;\n\tvec2 bTopCoord = bCoord + normalWidth * endTopJoin;\n\tvec2 aBotCoord = aCoord + normalWidth * startBotJoin;\n\tvec2 bBotCoord = bCoord + normalWidth * endBotJoin;\n\n\t//miter anti-clipping\n\tfloat baClipping = distToLine(bCoord, aCoord, aBotCoord) / dot(normalize(normalWidth * endBotJoin), normalize(normalWidth.yx * vec2(-startBotJoin.y, startBotJoin.x)));\n\tfloat abClipping = distToLine(aCoord, bCoord, bTopCoord) / dot(normalize(normalWidth * startBotJoin), normalize(normalWidth.yx * vec2(-endBotJoin.y, endBotJoin.x)));\n\n\t//prevent close to reverse direction switch\n\tbool prevReverse = dot(currTangent, prevTangent) <= REVERSE_THRESHOLD && abs(dot(currTangent, prevNormal)) * min(length(prevDiff), length(currDiff)) < length(normalWidth * currNormal);\n\tbool nextReverse = dot(currTangent, nextTangent) <= REVERSE_THRESHOLD && abs(dot(currTangent, nextNormal)) * min(length(nextDiff), length(currDiff)) < length(normalWidth * currNormal);\n\n\tif (prevReverse) {\n\t\t//make join rectangular\n\t\tvec2 miterShift = normalWidth * startJoinDirection * miterLimit * .5;\n\t\tfloat normalAdjust = 1. - min(miterLimit / startMiterRatio, 1.);\n\t\taBotCoord = aCoord + miterShift - normalAdjust * normalWidth * currNormal * .5;\n\t\taTopCoord = aCoord + miterShift + normalAdjust * normalWidth * currNormal * .5;\n\t}\n\telse if (!nextReverse && baClipping > 0. && baClipping < length(normalWidth * endBotJoin)) {\n\t\t//handle miter clipping\n\t\tbTopCoord -= normalWidth * endTopJoin;\n\t\tbTopCoord += normalize(endTopJoin * normalWidth) * baClipping;\n\t}\n\n\tif (nextReverse) {\n\t\t//make join rectangular\n\t\tvec2 miterShift = normalWidth * endJoinDirection * miterLimit * .5;\n\t\tfloat normalAdjust = 1. - min(miterLimit / endMiterRatio, 1.);\n\t\tbBotCoord = bCoord + miterShift - normalAdjust * normalWidth * currNormal * .5;\n\t\tbTopCoord = bCoord + miterShift + normalAdjust * normalWidth * currNormal * .5;\n\t}\n\telse if (!prevReverse && abClipping > 0. && abClipping < length(normalWidth * startBotJoin)) {\n\t\t//handle miter clipping\n\t\taBotCoord -= normalWidth * startBotJoin;\n\t\taBotCoord += normalize(startBotJoin * normalWidth) * abClipping;\n\t}\n\n\tvec2 aTopPosition = (aTopCoord) * adjustedScale + translate;\n\tvec2 aBotPosition = (aBotCoord) * adjustedScale + translate;\n\n\tvec2 bTopPosition = (bTopCoord) * adjustedScale + translate;\n\tvec2 bBotPosition = (bBotCoord) * adjustedScale + translate;\n\n\t//position is normalized 0..1 coord on the screen\n\tvec2 position = (aTopPosition * lineTop + aBotPosition * lineBot) * lineStart + (bTopPosition * lineTop + bBotPosition * lineBot) * lineEnd;\n\n\tstartCoord = aCoord * scaleRatio + translate * viewport.zw + viewport.xy;\n\tendCoord = bCoord * scaleRatio + translate * viewport.zw + viewport.xy;\n\n\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\n\n\tenableStartMiter = step(dot(currTangent, prevTangent), .5);\n\tenableEndMiter = step(dot(currTangent, nextTangent), .5);\n\n\t//bevel miter cutoffs\n\tif (miterMode == 1.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tvec2 startMiterWidth = vec2(startJoinDirection) * thickness * miterLimit * .5;\n\t\t\tstartCutoff = vec4(aCoord, aCoord);\n\t\t\tstartCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio;\n\t\t\tstartCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tstartCutoff += viewport.xyxy;\n\t\t\tstartCutoff += startMiterWidth.xyxy;\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tvec2 endMiterWidth = vec2(endJoinDirection) * thickness * miterLimit * .5;\n\t\t\tendCutoff = vec4(bCoord, bCoord);\n\t\t\tendCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x) / scaleRatio;\n\t\t\tendCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tendCutoff += viewport.xyxy;\n\t\t\tendCutoff += endMiterWidth.xyxy;\n\t\t}\n\t}\n\n\t//round miter cutoffs\n\telse if (miterMode == 2.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tvec2 startMiterWidth = vec2(startJoinDirection) * thickness * abs(dot(startJoinDirection, currNormal)) * .5;\n\t\t\tstartCutoff = vec4(aCoord, aCoord);\n\t\t\tstartCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio;\n\t\t\tstartCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tstartCutoff += viewport.xyxy;\n\t\t\tstartCutoff += startMiterWidth.xyxy;\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tvec2 endMiterWidth = vec2(endJoinDirection) * thickness * abs(dot(endJoinDirection, currNormal)) * .5;\n\t\t\tendCutoff = vec4(bCoord, bCoord);\n\t\t\tendCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x) / scaleRatio;\n\t\t\tendCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tendCutoff += viewport.xyxy;\n\t\t\tendCutoff += endMiterWidth.xyxy;\n\t\t}\n\t}\n}\n"]),frag:o(["precision highp float;\n#define GLSLIFY 1\n\nuniform sampler2D dashPattern;\nuniform float dashSize, 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 < -1.) {\n\t\t\t\tdiscard;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\talpha *= min(max(distToStart + 1., 0.), 1.);\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tdistToEnd = distToLine(gl_FragCoord.xy, endCutoff.xy, endCutoff.zw);\n\t\t\tif (distToEnd < -1.) {\n\t\t\t\tdiscard;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\talpha *= min(max(distToEnd + 1., 0.), 1.);\n\t\t}\n\t}\n\n\t// round miter\n\telse if (miterMode == 2.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tdistToStart = distToLine(gl_FragCoord.xy, startCutoff.xy, startCutoff.zw);\n\t\t\tif (distToStart < 0.) {\n\t\t\t\tfloat radius = length(gl_FragCoord.xy - startCoord);\n\n\t\t\t\tif(radius > cutoff + .5) {\n\t\t\t\t\tdiscard;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\talpha -= smoothstep(cutoff - .5, cutoff + .5, radius);\n\t\t\t}\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tdistToEnd = distToLine(gl_FragCoord.xy, endCutoff.xy, endCutoff.zw);\n\t\t\tif (distToEnd < 0.) {\n\t\t\t\tfloat radius = length(gl_FragCoord.xy - endCoord);\n\n\t\t\t\tif(radius > cutoff + .5) {\n\t\t\t\t\tdiscard;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\talpha -= smoothstep(cutoff - .5, cutoff + .5, radius);\n\t\t\t}\n\t\t}\n\t}\n\n\tfloat t = fract(dot(tangent, gl_FragCoord.xy) / dashSize) * .5 + .25;\n\tfloat dash = texture2D(dashPattern, vec2(t, .5)).r;\n\n\tgl_FragColor = fragColor;\n\tgl_FragColor.a *= alpha * opacity * dash;\n}\n"]),attributes:{lineEnd:{buffer:r,divisor:0,stride:8,offset:0},lineTop:{buffer:r,divisor:0,stride:8,offset:4},aColor:{buffer:t.prop("colorBuffer"),stride:4,offset:0,divisor:1},bColor:{buffer:t.prop("colorBuffer"),stride:4,offset:4,divisor:1},prevCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:0,divisor:1},aCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:8,divisor:1},bCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:16,divisor:1},nextCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:24,divisor:1}}},n))}catch(t){e=i}return{fill:t({primitive:"triangle",elements:function(t,e){return e.triangles},offset:0,vert:o(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec2 position, positionFract;\n\nuniform vec4 color;\nuniform vec2 scale, scaleFract, translate, translateFract;\nuniform float pixelRatio, id;\nuniform vec4 viewport;\nuniform float opacity;\n\nvarying vec4 fragColor;\n\nconst float MAX_LINES = 256.;\n\nvoid main() {\n\tfloat depth = (MAX_LINES - 4. - id) / (MAX_LINES);\n\n\tvec2 position = position * scale + translate\n + positionFract * scale + translateFract\n + position * scaleFract\n + positionFract * scaleFract;\n\n\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\n\n\tfragColor = color / 255.;\n\tfragColor.a *= opacity;\n}\n"]),frag:o(["precision highp float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor;\n\nvoid main() {\n\tgl_FragColor = fragColor;\n}\n"]),uniforms:{scale:t.prop("scale"),color:t.prop("fill"),scaleFract:t.prop("scaleFract"),translateFract:t.prop("translateFract"),translate:t.prop("translate"),opacity:t.prop("opacity"),pixelRatio:t.context("pixelRatio"),id:t.prop("id"),viewport:function(t,e){return[e.viewport.x,e.viewport.y,t.viewportWidth,t.viewportHeight]}},attributes:{position:{buffer:t.prop("positionBuffer"),stride:8,offset:8},positionFract:{buffer:t.prop("positionFractBuffer"),stride:8,offset:8}},blend:n.blend,depth:{enable:!1},scissor:n.scissor,stencil:n.stencil,viewport:n.viewport}),rect:i,miter:e}},m.defaults={dashes:null,join:"miter",miterLimit:1,thickness:10,cap:"square",color:"black",opacity:1,overlay:!1,viewport:null,range:null,close:!1,fill:null},m.prototype.render=function(){for(var t,e=[],r=arguments.length;r--;)e[r]=arguments[r];e.length&&(t=this).update.apply(t,e),this.draw()},m.prototype.draw=function(){for(var t=this,e=[],r=arguments.length;r--;)e[r]=arguments[r];return(e.length?e:this.passes).forEach((function(e,r){var n;if(e&&Array.isArray(e))return(n=t).draw.apply(n,e);"number"==typeof e&&(e=t.passes[e]),e&&e.count>1&&e.opacity&&(t.regl._refresh(),e.fill&&e.triangles&&e.triangles.length>2&&t.shaders.fill(e),e.thickness&&(e.scale[0]*e.viewport.width>m.precisionThreshold||e.scale[1]*e.viewport.height>m.precisionThreshold||"rect"===e.join||!e.join&&(e.thickness<=2||e.count>=m.maxPoints)?t.shaders.rect(e):t.shaders.miter(e)))})),this},m.prototype.update=function(t){var e=this;if(t){null!=t.length?"number"==typeof t[0]&&(t=[{positions:t}]):Array.isArray(t)||(t=[t]);var r=this.regl,o=this.gl;if(t.forEach((function(t,f){var d=e.passes[f];if(void 0!==t)if(null!==t){if("number"==typeof t[0]&&(t={positions:t}),t=s(t,{positions:"positions points data coords",thickness:"thickness lineWidth lineWidths line-width linewidth width stroke-width strokewidth strokeWidth",join:"lineJoin linejoin join type mode",miterLimit:"miterlimit miterLimit",dashes:"dash dashes dasharray dash-array dashArray",color:"color colour stroke colors colours stroke-color strokeColor",fill:"fill fill-color fillColor",opacity:"alpha opacity",overlay:"overlay crease overlap intersect",close:"closed close closed-path closePath",range:"range dataBox",viewport:"viewport viewBox",hole:"holes hole hollow"}),d||(e.passes[f]=d={id:f,scale:null,scaleFract:null,translate:null,translateFract:null,count:0,hole:[],depth:0,dashLength:1,dashTexture:r.texture({channels:1,data:new Uint8Array([255]),width:1,height:1,mag:"linear",min:"linear"}),colorBuffer:r.buffer({usage:"dynamic",type:"uint8",data:new Uint8Array}),positionBuffer:r.buffer({usage:"dynamic",type:"float",data:new Uint8Array}),positionFractBuffer:r.buffer({usage:"dynamic",type:"float",data:new Uint8Array})},t=a({},m.defaults,t)),null!=t.thickness&&(d.thickness=parseFloat(t.thickness)),null!=t.opacity&&(d.opacity=parseFloat(t.opacity)),null!=t.miterLimit&&(d.miterLimit=parseFloat(t.miterLimit)),null!=t.overlay&&(d.overlay=!!t.overlay,f<m.maxLines&&(d.depth=2*(m.maxLines-1-f%m.maxLines)/m.maxLines-1)),null!=t.join&&(d.join=t.join),null!=t.hole&&(d.hole=t.hole),null!=t.fill&&(d.fill=t.fill?n(t.fill,"uint8"):null),null!=t.viewport&&(d.viewport=g(t.viewport)),d.viewport||(d.viewport=g([o.drawingBufferWidth,o.drawingBufferHeight])),null!=t.close&&(d.close=t.close),null===t.positions&&(t.positions=[]),t.positions){var v,y;if(t.positions.x&&t.positions.y){var x=t.positions.x,b=t.positions.y;y=d.count=Math.max(x.length,b.length),v=new Float64Array(2*y);for(var _=0;_<y;_++)v[2*_]=x[_],v[2*_+1]=b[_]}else v=l(t.positions,"float64"),y=d.count=Math.floor(v.length/2);var w=d.bounds=i(v,2);if(d.fill){for(var T=[],k={},M=0,A=0,S=0,E=d.count;A<E;A++){var C=v[2*A],L=v[2*A+1];isNaN(C)||isNaN(L)||null==C||null==L?(C=v[2*M],L=v[2*M+1],k[A]=M):M=A,T[S++]=C,T[S++]=L}for(var I=c(T,d.hole||[]),P=0,z=I.length;P<z;P++)null!=k[I[P]]&&(I[P]=k[I[P]]);d.triangles=I}var O=new Float64Array(v);u(O,2,w);var D=new Float64Array(2*y+6);d.close?v[0]===v[2*y-2]&&v[1]===v[2*y-1]?(D[0]=O[2*y-4],D[1]=O[2*y-3]):(D[0]=O[2*y-2],D[1]=O[2*y-1]):(D[0]=O[0],D[1]=O[1]),D.set(O,2),d.close?v[0]===v[2*y-2]&&v[1]===v[2*y-1]?(D[2*y+2]=O[2],D[2*y+3]=O[3],d.count-=1):(D[2*y+2]=O[0],D[2*y+3]=O[1],D[2*y+4]=O[2],D[2*y+5]=O[3]):(D[2*y+2]=O[2*y-2],D[2*y+3]=O[2*y-1],D[2*y+4]=O[2*y-2],D[2*y+5]=O[2*y-1]),d.positionBuffer(h(D)),d.positionFractBuffer(p(D))}if(t.range?d.range=t.range:d.range||(d.range=d.bounds),(t.range||t.positions)&&d.count){var R=d.bounds,F=R[2]-R[0],B=R[3]-R[1],N=d.range[2]-d.range[0],j=d.range[3]-d.range[1];d.scale=[F/N,B/j],d.translate=[-d.range[0]/N+R[0]/N||0,-d.range[1]/j+R[1]/j||0],d.scaleFract=p(d.scale),d.translateFract=p(d.translate)}if(t.dashes){var U,V=0;if(!t.dashes||t.dashes.length<2)V=1,U=new Uint8Array([255,255,255,255,255,255,255,255]);else{V=0;for(var q=0;q<t.dashes.length;++q)V+=t.dashes[q];U=new Uint8Array(V*m.dashMult);for(var H=0,G=255,Y=0;Y<2;Y++)for(var W=0;W<t.dashes.length;++W){for(var X=0,Z=t.dashes[W]*m.dashMult*.5;X<Z;++X)U[H++]=G;G^=255}}d.dashLength=V,d.dashTexture({channels:1,data:U,width:U.length,height:1,mag:"linear",min:"linear"},0,0)}if(t.color){var J=d.count,K=t.color;K||(K="transparent");var Q=new Uint8Array(4*J+4);if(Array.isArray(K)&&"number"!=typeof K[0]){for(var $=0;$<J;$++){var tt=n(K[$],"uint8");Q.set(tt,4*$)}Q.set(n(K[0],"uint8"),4*J)}else for(var et=n(K,"uint8"),rt=0;rt<J+1;rt++)Q.set(et,4*rt);d.colorBuffer({usage:"dynamic",type:"uint8",data:Q})}}else e.passes[f]=null})),t.length<this.passes.length){for(var f=t.length;f<this.passes.length;f++){var d=this.passes[f];d&&(d.colorBuffer.destroy(),d.positionBuffer.destroy(),d.dashTexture.destroy())}this.passes.length=t.length}for(var v=[],y=0;y<this.passes.length;y++)null!==this.passes[y]&&v.push(this.passes[y]);return this.passes=v,this}},m.prototype.destroy=function(){return this.passes.forEach((function(t){t.colorBuffer.destroy(),t.positionBuffer.destroy(),t.dashTexture.destroy()})),this.passes.length=0,this}},{"array-bounds":70,"array-normalize":71,"color-normalize":125,earcut:177,"es6-weak-map":233,"flatten-vertex-data":244,glslify:536,"object-assign":499,"parse-rect":504,"pick-by-alias":511,"to-float32":577}],536:[function(t,e,r){arguments[4][257][0].apply(r,arguments)},{dup:257}],537:[function(t,e,r){"use strict";function n(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(t)))return;var r=[],n=!0,i=!1,a=void 0;try{for(var o,s=t[Symbol.iterator]();!(n=(o=s.next()).done)&&(r.push(o.value),!e||r.length!==e);n=!0);}catch(t){i=!0,a=t}finally{try{n||null==s.return||s.return()}finally{if(i)throw a}}return r}(t,e)||a(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function i(t){return function(t){if(Array.isArray(t))return o(t)}(t)||function(t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(t))return Array.from(t)}(t)||a(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function a(t,e){if(t){if("string"==typeof t)return o(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?o(t,e):void 0}}function o(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}var s=t("color-normalize"),l=t("array-bounds"),c=t("color-id"),u=t("@plotly/point-cluster"),f=t("object-assign"),h=t("glslify"),p=t("pick-by-alias"),d=t("update-diff"),g=t("flatten-vertex-data"),m=t("is-iexplorer"),v=t("to-float32"),y=t("parse-rect"),x=b;function b(t,e){var r=this;if(!(this instanceof b))return new b(t,e);"function"==typeof t?(e||(e={}),e.regl=t):(e=t,t=null),e&&e.length&&(e.positions=e);var n,i=(t=e.regl)._gl,a=[];this.tooManyColors=m,n=t.texture({data:new Uint8Array(1020),width:255,height:1,type:"uint8",format:"rgba",wrapS:"clamp",wrapT:"clamp",mag:"nearest",min:"nearest"}),f(this,{regl:t,gl:i,groups:[],markerCache:[null],markerTextures:[null],palette:a,paletteIds:{},paletteTexture:n,maxColors:255,maxSize:100,canvas:i.canvas}),this.update(e);var o={uniforms:{constPointSize:!!e.constPointSize,pixelRatio:t.context("pixelRatio"),palette:n,paletteSize:function(t,e){return[r.tooManyColors?0:255,n.height]},scale:t.prop("scale"),scaleFract:t.prop("scaleFract"),translate:t.prop("translate"),translateFract:t.prop("translateFract"),opacity:t.prop("opacity"),marker:t.prop("markerTexture")},attributes:{x:function(t,e){return e.xAttr||{buffer:e.positionBuffer,stride:8,offset:0}},y:function(t,e){return e.yAttr||{buffer:e.positionBuffer,stride:8,offset:4}},xFract:function(t,e){return e.xAttr?{constant:[0,0]}:{buffer:e.positionFractBuffer,stride:8,offset:0}},yFract:function(t,e){return e.yAttr?{constant:[0,0]}:{buffer:e.positionFractBuffer,stride:8,offset:4}},size:function(t,e){return e.size.length?{buffer:e.sizeBuffer,stride:2,offset:0}:{constant:[Math.round(255*e.size/r.maxSize)]}},borderSize:function(t,e){return e.borderSize.length?{buffer:e.sizeBuffer,stride:2,offset:1}:{constant:[Math.round(255*e.borderSize/r.maxSize)]}},colorId:function(t,e){return e.color.length?{buffer:e.colorBuffer,stride:r.tooManyColors?8:4,offset:0}:{constant:r.tooManyColors?a.slice(4*e.color,4*e.color+4):[e.color]}},borderColorId:function(t,e){return e.borderColor.length?{buffer:e.colorBuffer,stride:r.tooManyColors?8:4,offset:r.tooManyColors?4:2}:{constant:r.tooManyColors?a.slice(4*e.borderColor,4*e.borderColor+4):[e.borderColor]}},isActive:function(t,e){return!0===e.activation?{constant:[1]}:e.activation?e.activation:{constant:[0]}}},blend:{enable:!0,color:[0,0,0,1],func:{srcRGB:"src alpha",dstRGB:"one minus src alpha",srcAlpha:"one minus dst alpha",dstAlpha:"one"}},scissor:{enable:!0,box:t.prop("viewport")},viewport:t.prop("viewport"),stencil:{enable:!1},depth:{enable:!1},elements:t.prop("elements"),count:t.prop("count"),offset:t.prop("offset"),primitive:"points"},s=f({},o);s.frag=h(["precision highp float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor, fragBorderColor;\nvarying float fragWidth, fragBorderColorLevel, fragColorLevel;\n\nuniform sampler2D marker;\nuniform float 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 < 0.003) discard;\n\n // null-border case\n if (fragBorderColorLevel == fragColorLevel || fragBorderColor.a == 0.) {\n float colorAmt = smoothstep(.5 - delta, .5 + delta, dist);\n gl_FragColor = vec4(fragColor.rgb, colorAmt * fragColor.a * opacity);\n }\n else {\n float borderColorAmt = smoothstep(fragBorderColorLevel - delta, fragBorderColorLevel + delta, dist);\n float colorAmt = smoothstep(fragColorLevel - delta, fragColorLevel + delta, dist);\n\n vec4 color = fragBorderColor;\n color.a *= borderColorAmt;\n color = mix(color, fragColor, colorAmt);\n color.a *= opacity;\n\n gl_FragColor = color;\n }\n\n}\n"]),s.vert=h(["precision highp float;\n#define GLSLIFY 1\n\nattribute float x, y, xFract, yFract;\nattribute float size, borderSize;\nattribute vec4 colorId, borderColorId;\nattribute float isActive;\n\nuniform vec2 scale, scaleFract, translate, translateFract, paletteSize;\nuniform float pixelRatio;\nuniform bool constPointSize;\nuniform sampler2D palette;\n\nconst float maxSize = 100.;\nconst float borderLevel = .5;\n\nvarying vec4 fragColor, fragBorderColor;\nvarying float fragPointSize, fragBorderRadius, fragWidth, fragBorderColorLevel, fragColorLevel;\n\nfloat pointSizeScale = (constPointSize) ? 2. : pixelRatio;\n\nbool isDirect = (paletteSize.x < 1.);\n\nvec4 getColor(vec4 id) {\n return isDirect ? id / 255. : texture2D(palette,\n vec2(\n (id.x + .5) / paletteSize.x,\n (id.y + .5) / paletteSize.y\n )\n );\n}\n\nvoid main() {\n // ignore inactive points\n if (isActive == 0.) return;\n\n vec2 position = vec2(x, y);\n vec2 positionFract = vec2(xFract, yFract);\n\n vec4 color = getColor(colorId);\n vec4 borderColor = getColor(borderColorId);\n\n float size = size * maxSize / 255.;\n float borderSize = borderSize * maxSize / 255.;\n\n gl_PointSize = 2. * size * pointSizeScale;\n fragPointSize = size * pixelRatio;\n\n vec2 pos = (position + translate) * scale\n + (positionFract + translateFract) * scale\n + (position + translate) * scaleFract\n + (positionFract + translateFract) * scaleFract;\n\n gl_Position = vec4(pos * 2. - 1., 0., 1.);\n\n fragColor = color;\n fragBorderColor = borderColor;\n fragWidth = 1. / gl_PointSize;\n\n fragBorderColorLevel = clamp(borderLevel - borderLevel * borderSize / size, 0., 1.);\n fragColorLevel = clamp(borderLevel + (1. - borderLevel) * borderSize / size, 0., 1.);\n}"]),this.drawMarker=t(s);var l=f({},o);l.frag=h(["precision highp float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor, fragBorderColor;\n\nuniform float opacity;\nvarying float fragBorderRadius, fragWidth;\n\nfloat smoothStep(float edge0, float edge1, float x) {\n\tfloat t;\n\tt = clamp((x - edge0) / (edge1 - edge0), 0.0, 1.0);\n\treturn t * t * (3.0 - 2.0 * t);\n}\n\nvoid main() {\n\tfloat radius, alpha = 1.0, delta = fragWidth;\n\n\tradius = length(2.0 * gl_PointCoord.xy - 1.0);\n\n\tif (radius > 1.0 + delta) {\n\t\tdiscard;\n\t}\n\n\talpha -= smoothstep(1.0 - delta, 1.0 + delta, radius);\n\n\tfloat borderRadius = fragBorderRadius;\n\tfloat ratio = smoothstep(borderRadius - delta, borderRadius + delta, radius);\n\tvec4 color = mix(fragColor, fragBorderColor, ratio);\n\tcolor.a *= alpha * opacity;\n\tgl_FragColor = color;\n}\n"]),l.vert=h(["precision highp float;\n#define GLSLIFY 1\n\nattribute float x, y, xFract, yFract;\nattribute float size, borderSize;\nattribute vec4 colorId, borderColorId;\nattribute float isActive;\n\nuniform vec2 scale, scaleFract, translate, translateFract;\nuniform float pixelRatio;\nuniform bool constPointSize;\nuniform sampler2D palette;\nuniform vec2 paletteSize;\n\nconst float maxSize = 100.;\n\nvarying vec4 fragColor, fragBorderColor;\nvarying float fragBorderRadius, fragWidth;\n\nfloat pointSizeScale = (constPointSize) ? 2. : pixelRatio;\n\nbool isDirect = (paletteSize.x < 1.);\n\nvec4 getColor(vec4 id) {\n return isDirect ? id / 255. : texture2D(palette,\n vec2(\n (id.x + .5) / paletteSize.x,\n (id.y + .5) / paletteSize.y\n )\n );\n}\n\nvoid main() {\n // ignore inactive points\n if (isActive == 0.) return;\n\n vec2 position = vec2(x, y);\n vec2 positionFract = vec2(xFract, yFract);\n\n vec4 color = getColor(colorId);\n vec4 borderColor = getColor(borderColorId);\n\n float size = size * maxSize / 255.;\n float borderSize = borderSize * maxSize / 255.;\n\n gl_PointSize = (size + borderSize) * pointSizeScale;\n\n vec2 pos = (position + translate) * scale\n + (positionFract + translateFract) * scale\n + (position + translate) * scaleFract\n + (positionFract + translateFract) * scaleFract;\n\n gl_Position = vec4(pos * 2. - 1., 0., 1.);\n\n fragBorderRadius = 1. - 2. * borderSize / (size + borderSize);\n fragColor = color;\n fragBorderColor = borderColor.a == 0. || borderSize == 0. ? vec4(color.rgb, 0.) : borderColor;\n fragWidth = 1. / gl_PointSize;\n}\n"]),m&&(l.frag=l.frag.replace("smoothstep","smoothStep"),s.frag=s.frag.replace("smoothstep","smoothStep")),this.drawCircle=t(l)}b.defaults={color:"black",borderColor:"transparent",borderSize:0,size:12,opacity:1,marker:void 0,viewport:null,range:null,pixelSize:null,count:0,offset:0,bounds:null,positions:[],snap:1e4},b.prototype.render=function(){return arguments.length&&this.update.apply(this,arguments),this.draw(),this},b.prototype.draw=function(){for(var t=this,e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];var i=this.groups;if(1===r.length&&Array.isArray(r[0])&&(null===r[0][0]||Array.isArray(r[0][0]))&&(r=r[0]),this.regl._refresh(),r.length)for(var a=0;a<r.length;a++)this.drawItem(a,r[a]);else i.forEach((function(e,r){t.drawItem(r)}));return this},b.prototype.drawItem=function(t,e){var r=this.groups,n=r[t];if("number"==typeof e&&(t=e,n=r[e],e=null),n&&n.count&&n.opacity){n.activation[0]&&this.drawCircle(this.getMarkerDrawOptions(0,n,e));for(var a=[],o=1;o<n.activation.length;o++)n.activation[o]&&(!0===n.activation[o]||n.activation[o].data.length)&&a.push.apply(a,i(this.getMarkerDrawOptions(o,n,e)));a.length&&this.drawMarker(a)}},b.prototype.getMarkerDrawOptions=function(t,e,r){var i=e.range,a=e.tree,o=e.viewport,s=e.activation,l=e.selectionBuffer,c=e.count;this.regl;if(!a)return r?[f({},e,{markerTexture:this.markerTextures[t],activation:s[t],count:r.length,elements:r,offset:0})]:[f({},e,{markerTexture:this.markerTextures[t],activation:s[t],offset:0})];var u=[],h=a.range(i,{lod:!0,px:[(i[2]-i[0])/o.width,(i[3]-i[1])/o.height]});if(r){for(var p=s[t].data,d=new Uint8Array(c),g=0;g<r.length;g++){var m=r[g];d[m]=p?p[m]:1}l.subdata(d)}for(var v=h.length;v--;){var y=n(h[v],2),x=y[0],b=y[1];u.push(f({},e,{markerTexture:this.markerTextures[t],activation:r?l:s[t],offset:x,count:b-x}))}return u},b.prototype.update=function(){for(var t=this,e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];if(r.length){1===r.length&&Array.isArray(r[0])&&(r=r[0]);var i=this.groups,a=this.gl,o=this.regl,s=this.maxSize,c=this.maxColors,h=this.palette;this.groups=i=r.map((function(e,r){var n=i[r];if(void 0===e)return n;null===e?e={positions:null}:"function"==typeof e?e={ondraw:e}:"number"==typeof e[0]&&(e={positions:e}),null===(e=p(e,{positions:"positions data points",snap:"snap cluster lod tree",size:"sizes size radius",borderSize:"borderSizes borderSize border-size bordersize borderWidth borderWidths border-width borderwidth stroke-width strokeWidth strokewidth outline",color:"colors color fill fill-color fillColor",borderColor:"borderColors borderColor stroke stroke-color strokeColor",marker:"markers marker shape",range:"range dataBox databox",viewport:"viewport viewPort viewBox viewbox",opacity:"opacity alpha transparency",bounds:"bound bounds boundaries limits",tooManyColors:"tooManyColors palette paletteMode optimizePalette enablePalette"})).positions&&(e.positions=[]),null!=e.tooManyColors&&(t.tooManyColors=e.tooManyColors),n||(i[r]=n={id:r,scale:null,translate:null,scaleFract:null,translateFract:null,activation:[],selectionBuffer:o.buffer({data:new Uint8Array(0),usage:"stream",type:"uint8"}),sizeBuffer:o.buffer({data:new Uint8Array(0),usage:"dynamic",type:"uint8"}),colorBuffer:o.buffer({data:new Uint8Array(0),usage:"dynamic",type:"uint8"}),positionBuffer:o.buffer({data:new Uint8Array(0),usage:"dynamic",type:"float"}),positionFractBuffer:o.buffer({data:new Uint8Array(0),usage:"dynamic",type:"float"})},e=f({},b.defaults,e)),e.positions&&!("marker"in e)&&(e.marker=n.marker,delete n.marker),e.marker&&!("positions"in e)&&(e.positions=n.positions,delete n.positions);var m=0,x=0;if(d(n,e,[{snap:!0,size:function(t,e){return null==t&&(t=b.defaults.size),m+=t&&t.length?1:0,t},borderSize:function(t,e){return null==t&&(t=b.defaults.borderSize),m+=t&&t.length?1:0,t},opacity:parseFloat,color:function(e,r){return null==e&&(e=b.defaults.color),e=t.updateColor(e),x++,e},borderColor:function(e,r){return null==e&&(e=b.defaults.borderColor),e=t.updateColor(e),x++,e},bounds:function(t,e,r){return"range"in r||(r.range=null),t},positions:function(t,e,r){var n=e.snap,i=e.positionBuffer,a=e.positionFractBuffer,s=e.selectionBuffer;if(t.x||t.y)return t.x.length?e.xAttr={buffer:o.buffer(t.x),offset:0,stride:4,count:t.x.length}:e.xAttr={buffer:t.x.buffer,offset:4*t.x.offset||0,stride:4*(t.x.stride||1),count:t.x.count},t.y.length?e.yAttr={buffer:o.buffer(t.y),offset:0,stride:4,count:t.y.length}:e.yAttr={buffer:t.y.buffer,offset:4*t.y.offset||0,stride:4*(t.y.stride||1),count:t.y.count},e.count=Math.max(e.xAttr.count,e.yAttr.count),t;t=g(t,"float64");var c=e.count=Math.floor(t.length/2),f=e.bounds=c?l(t,2):null;if(r.range||e.range||(delete e.range,r.range=f),r.marker||e.marker||(delete e.marker,r.marker=null),n&&(!0===n||c>n)?e.tree=u(t,{bounds:f}):n&&n.length&&(e.tree=n),e.tree){var h={primitive:"points",usage:"static",data:e.tree,type:"uint32"};e.elements?e.elements(h):e.elements=o.elements(h)}return i({data:v.float(t),usage:"dynamic"}),a({data:v.fract(t),usage:"dynamic"}),s({data:new Uint8Array(c),type:"uint8",usage:"stream"}),t}},{marker:function(e,r,n){var i=r.activation;if(i.forEach((function(t){return t&&t.destroy&&t.destroy()})),i.length=0,e&&"number"!=typeof e[0]){for(var a=[],s=0,l=Math.min(e.length,r.count);s<l;s++){var c=t.addMarker(e[s]);a[c]||(a[c]=new Uint8Array(r.count)),a[c][s]=1}for(var u=0;u<a.length;u++)if(a[u]){var f={data:a[u],type:"uint8",usage:"static"};i[u]?i[u](f):i[u]=o.buffer(f),i[u].data=a[u]}}else{i[t.addMarker(e)]=!0}return e},range:function(t,e,r){var n=e.bounds;if(n)return t||(t=n),e.scale=[1/(t[2]-t[0]),1/(t[3]-t[1])],e.translate=[-t[0],-t[1]],e.scaleFract=v.fract(e.scale),e.translateFract=v.fract(e.translate),t},viewport:function(t){return y(t||[a.drawingBufferWidth,a.drawingBufferHeight])}}]),m){var _=n,w=_.count,T=_.size,k=_.borderSize,M=_.sizeBuffer,A=new Uint8Array(2*w);if(T.length||k.length)for(var S=0;S<w;S++)A[2*S]=Math.round(255*(null==T[S]?T:T[S])/s),A[2*S+1]=Math.round(255*(null==k[S]?k:k[S])/s);M({data:A,usage:"dynamic"})}if(x){var E,C=n,L=C.count,I=C.color,P=C.borderColor,z=C.colorBuffer;if(t.tooManyColors){if(I.length||P.length){E=new Uint8Array(8*L);for(var O=0;O<L;O++){var D=I[O];E[8*O]=h[4*D],E[8*O+1]=h[4*D+1],E[8*O+2]=h[4*D+2],E[8*O+3]=h[4*D+3];var R=P[O];E[8*O+4]=h[4*R],E[8*O+5]=h[4*R+1],E[8*O+6]=h[4*R+2],E[8*O+7]=h[4*R+3]}}}else if(I.length||P.length){E=new Uint8Array(4*L+2);for(var F=0;F<L;F++)null!=I[F]&&(E[4*F]=I[F]%c,E[4*F+1]=Math.floor(I[F]/c)),null!=P[F]&&(E[4*F+2]=P[F]%c,E[4*F+3]=Math.floor(P[F]/c))}z({data:E||new Uint8Array(0),type:"uint8",usage:"dynamic"})}return n}))}},b.prototype.addMarker=function(t){var e,r=this.markerTextures,n=this.regl,i=this.markerCache,a=null==t?0:i.indexOf(t);if(a>=0)return a;if(t instanceof Uint8Array||t instanceof Uint8ClampedArray)e=t;else{e=new Uint8Array(t.length);for(var o=0,s=t.length;o<s;o++)e[o]=255*t[o]}var l=Math.floor(Math.sqrt(e.length));return a=r.length,i.push(t),r.push(n.texture({channels:1,data:e,radius:l,mag:"linear",min:"linear"})),a},b.prototype.updateColor=function(t){var e=this.paletteIds,r=this.palette,n=this.maxColors;Array.isArray(t)||(t=[t]);var i=[];if("number"==typeof t[0]){var a=[];if(Array.isArray(t))for(var o=0;o<t.length;o+=4)a.push(t.slice(o,o+4));else for(var l=0;l<t.length;l+=4)a.push(t.subarray(l,l+4));t=a}for(var u=0;u<t.length;u++){var f=t[u];f=s(f,"uint8");var h=c(f,!1);if(null==e[h]){var p=r.length;e[h]=Math.floor(p/4),r[p]=f[0],r[p+1]=f[1],r[p+2]=f[2],r[p+3]=f[3]}i[u]=e[h]}return!this.tooManyColors&&r.length>4*n&&(this.tooManyColors=!0),this.updatePalette(r),1===i.length?i[0]:i},b.prototype.updatePalette=function(t){if(!this.tooManyColors){var e=this.maxColors,r=this.paletteTexture,n=Math.ceil(.25*t.length/e);if(n>1)for(var i=.25*(t=t.slice()).length%e;i<n*e;i++)t.push(0,0,0,0);r.height<n&&r.resize(e,n),r.subimage({width:Math.min(.25*t.length,e),height:n,data:t},0,0)}},b.prototype.destroy=function(){return this.groups.forEach((function(t){t.sizeBuffer.destroy(),t.positionBuffer.destroy(),t.positionFractBuffer.destroy(),t.colorBuffer.destroy(),t.activation.forEach((function(t){return t&&t.destroy&&t.destroy()})),t.selectionBuffer.destroy(),t.elements&&t.elements.destroy()})),this.groups.length=0,this.paletteTexture.destroy(),this.markerTextures.forEach((function(t){return t&&t.destroy&&t.destroy()})),this};var _=t("object-assign");e.exports=function(t,e){var r=new x(t,e),n=r.render.bind(r);return _(n,{render:n,update:r.update.bind(r),draw:r.draw.bind(r),destroy:r.destroy.bind(r),regl:r.regl,gl:r.gl,canvas:r.gl.canvas,groups:r.groups,markers:r.markerCache,palette:r.palette}),n}},{"@plotly/point-cluster":57,"array-bounds":70,"color-id":123,"color-normalize":125,"flatten-vertex-data":244,glslify:538,"is-iexplorer":466,"object-assign":499,"parse-rect":504,"pick-by-alias":511,"to-float32":577,"update-diff":599}],538:[function(t,e,r){arguments[4][257][0].apply(r,arguments)},{dup:257}],539:[function(t,e,r){"use strict";var n=t("regl-scatter2d"),i=t("pick-by-alias"),a=t("array-bounds"),o=t("raf"),s=t("array-range"),l=t("parse-rect"),c=t("flatten-vertex-data");function u(t,e){if(!(this instanceof u))return new u(t,e);this.traces=[],this.passes={},this.regl=t,this.scatter=n(t),this.canvas=this.scatter.canvas}function f(t,e,r){return(null!=t.id?t.id:t)<<16|(255&e)<<8|255&r}function h(t,e,r){var n,i,a,o,s=t[e],l=t[r];return s.length>2?(s[0],s[2],n=s[1],i=s[3]):s.length?(n=s[0],i=s[1]):(s.x,n=s.y,s.x+s.width,i=s.y+s.height),l.length>2?(a=l[0],o=l[2],l[1],l[3]):l.length?(a=l[0],o=l[1]):(a=l.x,l.y,o=l.x+l.width,l.y+l.height),[a,n,o,i]}function p(t){if("number"==typeof t)return[t,t,t,t];if(2===t.length)return[t[0],t[1],t[0],t[1]];var e=l(t);return[e.x,e.y,e.x+e.width,e.y+e.height]}e.exports=u,u.prototype.render=function(){for(var t,e=this,r=[],n=arguments.length;n--;)r[n]=arguments[n];return r.length&&(t=this).update.apply(t,r),this.regl.attributes.preserveDrawingBuffer?this.draw():(this.dirty?null==this.planned&&(this.planned=o((function(){e.draw(),e.dirty=!0,e.planned=null}))):(this.draw(),this.dirty=!0,o((function(){e.dirty=!1}))),this)},u.prototype.update=function(){for(var t,e=[],r=arguments.length;r--;)e[r]=arguments[r];if(e.length){for(var n=0;n<e.length;n++)this.updateItem(n,e[n]);this.traces=this.traces.filter(Boolean);for(var i=[],a=0,o=0;o<this.traces.length;o++){for(var s=this.traces[o],l=this.traces[o].passes,c=0;c<l.length;c++)i.push(this.passes[l[c]]);s.passOffset=a,a+=s.passes.length}return(t=this.scatter).update.apply(t,i),this}},u.prototype.updateItem=function(t,e){var r=this.regl;if(null===e)return this.traces[t]=null,this;if(!e)return this;var n,o=i(e,{data:"data items columns rows values dimensions samples x",snap:"snap cluster",size:"sizes size radius",color:"colors color fill fill-color fillColor",opacity:"opacity alpha transparency opaque",borderSize:"borderSizes borderSize border-size bordersize borderWidth borderWidths border-width borderwidth stroke-width strokeWidth strokewidth outline",borderColor:"borderColors borderColor bordercolor stroke stroke-color strokeColor",marker:"markers marker shape",range:"range ranges databox dataBox",viewport:"viewport viewBox viewbox",domain:"domain domains area areas",padding:"pad padding paddings pads margin margins",transpose:"transpose transposed",diagonal:"diagonal diag showDiagonal",upper:"upper up top upperhalf upperHalf showupperhalf showUpper showUpperHalf",lower:"lower low bottom lowerhalf lowerHalf showlowerhalf showLowerHalf showLower"}),s=this.traces[t]||(this.traces[t]={id:t,buffer:r.buffer({usage:"dynamic",type:"float",data:new Uint8Array}),color:"black",marker:null,size:12,borderColor:"transparent",borderSize:1,viewport:l([r._gl.drawingBufferWidth,r._gl.drawingBufferHeight]),padding:[0,0,0,0],opacity:1,diagonal:!0,upper:!0,lower:!0});if(null!=o.color&&(s.color=o.color),null!=o.size&&(s.size=o.size),null!=o.marker&&(s.marker=o.marker),null!=o.borderColor&&(s.borderColor=o.borderColor),null!=o.borderSize&&(s.borderSize=o.borderSize),null!=o.opacity&&(s.opacity=o.opacity),o.viewport&&(s.viewport=l(o.viewport)),null!=o.diagonal&&(s.diagonal=o.diagonal),null!=o.upper&&(s.upper=o.upper),null!=o.lower&&(s.lower=o.lower),o.data){s.buffer(c(o.data)),s.columns=o.data.length,s.count=o.data[0].length,s.bounds=[];for(var u=0;u<s.columns;u++)s.bounds[u]=a(o.data[u],1)}o.range&&(s.range=o.range,n=s.range&&"number"!=typeof s.range[0]),o.domain&&(s.domain=o.domain);var d=!1;null!=o.padding&&(Array.isArray(o.padding)&&o.padding.length===s.columns&&"number"==typeof o.padding[o.padding.length-1]?(s.padding=o.padding.map(p),d=!0):s.padding=p(o.padding));var g=s.columns,m=s.count,v=s.viewport.width,y=s.viewport.height,x=s.viewport.x,b=s.viewport.y,_=v/g,w=y/g;s.passes=[];for(var T=0;T<g;T++)for(var k=0;k<g;k++)if((s.diagonal||k!==T)&&(s.upper||!(T>k))&&(s.lower||!(T<k))){var M=f(s.id,T,k),A=this.passes[M]||(this.passes[M]={});if(o.data&&(o.transpose?A.positions={x:{buffer:s.buffer,offset:k,count:m,stride:g},y:{buffer:s.buffer,offset:T,count:m,stride:g}}:A.positions={x:{buffer:s.buffer,offset:k*m,count:m},y:{buffer:s.buffer,offset:T*m,count:m}},A.bounds=h(s.bounds,T,k)),o.domain||o.viewport||o.data){var S=d?h(s.padding,T,k):s.padding;if(s.domain){var E=h(s.domain,T,k),C=E[0],L=E[1],I=E[2],P=E[3];A.viewport=[x+C*v+S[0],b+L*y+S[1],x+I*v-S[2],b+P*y-S[3]]}else A.viewport=[x+k*_+_*S[0],b+T*w+w*S[1],x+(k+1)*_-_*S[2],b+(T+1)*w-w*S[3]]}o.color&&(A.color=s.color),o.size&&(A.size=s.size),o.marker&&(A.marker=s.marker),o.borderSize&&(A.borderSize=s.borderSize),o.borderColor&&(A.borderColor=s.borderColor),o.opacity&&(A.opacity=s.opacity),o.range&&(A.range=n?h(s.range,T,k):s.range||A.bounds),s.passes.push(M)}return this},u.prototype.draw=function(){for(var t,e=[],r=arguments.length;r--;)e[r]=arguments[r];if(e.length){for(var n=[],i=0;i<e.length;i++)if("number"==typeof e[i]){var a=this.traces[e[i]],o=a.passes,l=a.passOffset;n.push.apply(n,s(l,l+o.length))}else if(e[i].length){var c=e[i],u=this.traces[i],f=u.passes,h=u.passOffset;f=f.map((function(t,e){n[h+e]=c}))}(t=this.scatter).draw.apply(t,n)}else this.scatter.draw();return this},u.prototype.destroy=function(){return this.traces.forEach((function(t){t.buffer&&t.buffer.destroy&&t.buffer.destroy()})),this.traces=null,this.passes=null,this.scatter.destroy(),this}},{"array-bounds":70,"array-range":72,"flatten-vertex-data":244,"parse-rect":504,"pick-by-alias":511,raf:528,"regl-scatter2d":537}],540:[function(t,e,r){!function(t,n){"object"==typeof r&&"undefined"!=typeof e?e.exports=n():t.createREGL=n()}(this,(function(){function t(t,e){this.id=V++,this.type=t,this.data=e}function e(t){return"["+function t(e){if(0===e.length)return[];var r=e.charAt(0),n=e.charAt(e.length-1);if(1<e.length&&r===n&&('"'===r||"'"===r))return['"'+e.substr(1,e.length-2).replace(/\\/g,"\\\\").replace(/"/g,'\\"')+'"'];if(r=/\[(false|true|null|\d+|'[^']*'|"[^"]*")\]/.exec(e))return t(e.substr(0,r.index)).concat(t(r[1])).concat(t(e.substr(r.index+r[0].length)));if(1===(r=e.split(".")).length)return['"'+e.replace(/\\/g,"\\\\").replace(/"/g,'\\"')+'"'];for(e=[],n=0;n<r.length;++n)e=e.concat(t(r[n]));return e}(t).join("][")+"]"}function r(t){return"string"==typeof t?t.split():t}function n(t){return"string"==typeof t?document.querySelector(t):t}function i(t){var e,i,a,o,s=t||{};t={};var l=[],c=[],u="undefined"==typeof window?1:window.devicePixelRatio,f=!1,h=function(t){},p=function(){};if("string"==typeof s?e=document.querySelector(s):"object"==typeof s&&("string"==typeof s.nodeName&&"function"==typeof s.appendChild&&"function"==typeof s.getBoundingClientRect?e=s:"function"==typeof s.drawArrays||"function"==typeof s.drawElements?a=(o=s).canvas:("gl"in s?o=s.gl:"canvas"in s?a=n(s.canvas):"container"in s&&(i=n(s.container)),"attributes"in s&&(t=s.attributes),"extensions"in s&&(l=r(s.extensions)),"optionalExtensions"in s&&(c=r(s.optionalExtensions)),"onDone"in s&&(h=s.onDone),"profile"in s&&(f=!!s.profile),"pixelRatio"in s&&(u=+s.pixelRatio))),e&&("canvas"===e.nodeName.toLowerCase()?a=e:i=e),!o){if(!a){if(!(e=function(t,e,r){function n(){var e=window.innerWidth,n=window.innerHeight;t!==document.body&&(e=(n=t.getBoundingClientRect()).right-n.left,n=n.bottom-n.top),a.width=r*e,a.height=r*n,U(a.style,{width:e+"px",height:n+"px"})}var i,a=document.createElement("canvas");return U(a.style,{border:0,margin:0,padding:0,top:0,left:0}),t.appendChild(a),t===document.body&&(a.style.position="absolute",U(t.style,{margin:0,padding:0})),t!==document.body&&"function"==typeof ResizeObserver?(i=new ResizeObserver((function(){setTimeout(n)}))).observe(t):window.addEventListener("resize",n,!1),n(),{canvas:a,onDestroy:function(){i?i.disconnect():window.removeEventListener("resize",n),t.removeChild(a)}}}(i||document.body,0,u)))return null;a=e.canvas,p=e.onDestroy}void 0===t.premultipliedAlpha&&(t.premultipliedAlpha=!0),o=function(t,e){function r(r){try{return t.getContext(r,e)}catch(t){return null}}return r("webgl")||r("experimental-webgl")||r("webgl-experimental")}(a,t)}return o?{gl:o,canvas:a,container:i,extensions:l,optionalExtensions:c,pixelRatio:u,profile:f,onDone:h,onDestroy:p}:(p(),h("webgl not supported, try upgrading your browser or graphics drivers http://get.webgl.org"),null)}function a(t,e){for(var r=Array(t),n=0;n<t;++n)r[n]=e(n);return r}function o(t){var e,r;return e=(65535<t)<<4,e|=r=(255<(t>>>=e))<<3,(e|=r=(15<(t>>>=r))<<2)|(r=(3<(t>>>=r))<<1)|t>>>r>>1}function s(){function t(t){t:{for(var e=16;268435456>=e;e*=16)if(t<=e){t=e;break t}t=0}return 0<(e=r[o(t)>>2]).length?e.pop():new ArrayBuffer(t)}function e(t){r[o(t.byteLength)>>2].push(t)}var r=a(8,(function(){return[]}));return{alloc:t,free:e,allocType:function(e,r){var n=null;switch(e){case 5120:n=new Int8Array(t(r),0,r);break;case 5121:n=new Uint8Array(t(r),0,r);break;case 5122:n=new Int16Array(t(2*r),0,r);break;case 5123:n=new Uint16Array(t(2*r),0,r);break;case 5124:n=new Int32Array(t(4*r),0,r);break;case 5125:n=new Uint32Array(t(4*r),0,r);break;case 5126:n=new Float32Array(t(4*r),0,r);break;default:return null}return n.length!==r?n.subarray(0,r):n},freeType:function(t){e(t.buffer)}}}function l(t){return!!t&&"object"==typeof t&&Array.isArray(t.shape)&&Array.isArray(t.stride)&&"number"==typeof t.offset&&t.shape.length===t.stride.length&&(Array.isArray(t.data)||X(t.data))}function c(t,e,r,n,i,a){for(var o=0;o<e;++o)for(var s=t[o],l=0;l<r;++l)for(var c=s[l],u=0;u<n;++u)i[a++]=c[u]}function u(t){return 0|K[Object.prototype.toString.call(t)]}function f(t,e){for(var r=0;r<e.length;++r)t[r]=e[r]}function h(t,e,r,n,i,a,o){for(var s=0,l=0;l<r;++l)for(var c=0;c<n;++c)t[s++]=e[i*l+a*c+o]}function p(t,e,r,n){function i(e){this.id=c++,this.buffer=t.createBuffer(),this.type=e,this.usage=35044,this.byteLength=0,this.dimension=1,this.dtype=5121,this.persistentData=null,r.profile&&(this.stats={size:0})}function a(e,r,n){e.byteLength=r.byteLength,t.bufferData(e.type,r,n)}function o(t,e,r,n,i,o){if(t.usage=r,Array.isArray(e)){if(t.dtype=n||5126,0<e.length)if(Array.isArray(e[0])){i=et(e);for(var s=n=1;s<i.length;++s)n*=i[s];t.dimension=n,a(t,e=tt(e,i,t.dtype),r),o?t.persistentData=e:Y.freeType(e)}else"number"==typeof e[0]?(t.dimension=i,f(i=Y.allocType(t.dtype,e.length),e),a(t,i,r),o?t.persistentData=i:Y.freeType(i)):X(e[0])&&(t.dimension=e[0].length,t.dtype=n||u(e[0])||5126,a(t,e=tt(e,[e.length,e[0].length],t.dtype),r),o?t.persistentData=e:Y.freeType(e))}else if(X(e))t.dtype=n||u(e),t.dimension=i,a(t,e,r),o&&(t.persistentData=new Uint8Array(new Uint8Array(e.buffer)));else if(l(e)){i=e.shape;var c=e.stride,p=(s=e.offset,0),d=0,g=0,m=0;1===i.length?(p=i[0],d=1,g=c[0],m=0):2===i.length&&(p=i[0],d=i[1],g=c[0],m=c[1]),t.dtype=n||u(e.data)||5126,t.dimension=d,h(i=Y.allocType(t.dtype,p*d),e.data,p,d,g,m,s),a(t,i,r),o?t.persistentData=i:Y.freeType(i)}else e instanceof ArrayBuffer&&(t.dtype=5121,t.dimension=i,a(t,e,r),o&&(t.persistentData=new Uint8Array(new Uint8Array(e))))}function s(r){e.bufferCount--,n(r),t.deleteBuffer(r.buffer),r.buffer=null,delete p[r.id]}var c=0,p={};i.prototype.bind=function(){t.bindBuffer(this.type,this.buffer)},i.prototype.destroy=function(){s(this)};var d=[];return r.profile&&(e.getTotalBufferSize=function(){var t=0;return Object.keys(p).forEach((function(e){t+=p[e].stats.size})),t}),{create:function(n,a,c,d){function g(e){var n=35044,i=null,a=0,s=0,c=1;return Array.isArray(e)||X(e)||l(e)||e instanceof ArrayBuffer?i=e:"number"==typeof e?a=0|e:e&&("data"in e&&(i=e.data),"usage"in e&&(n=$[e.usage]),"type"in e&&(s=Q[e.type]),"dimension"in e&&(c=0|e.dimension),"length"in e&&(a=0|e.length)),m.bind(),i?o(m,i,n,s,c,d):(a&&t.bufferData(m.type,a,n),m.dtype=s||5121,m.usage=n,m.dimension=c,m.byteLength=a),r.profile&&(m.stats.size=m.byteLength*rt[m.dtype]),g}e.bufferCount++;var m=new i(a);return p[m.id]=m,c||g(n),g._reglType="buffer",g._buffer=m,g.subdata=function(e,r){var n,i=0|(r||0);if(m.bind(),X(e)||e instanceof ArrayBuffer)t.bufferSubData(m.type,i,e);else if(Array.isArray(e)){if(0<e.length)if("number"==typeof e[0]){var a=Y.allocType(m.dtype,e.length);f(a,e),t.bufferSubData(m.type,i,a),Y.freeType(a)}else(Array.isArray(e[0])||X(e[0]))&&(n=et(e),a=tt(e,n,m.dtype),t.bufferSubData(m.type,i,a),Y.freeType(a))}else if(l(e)){n=e.shape;var o=e.stride,s=a=0,c=0,p=0;1===n.length?(a=n[0],s=1,c=o[0],p=0):2===n.length&&(a=n[0],s=n[1],c=o[0],p=o[1]),n=Array.isArray(e.data)?m.dtype:u(e.data),h(n=Y.allocType(n,a*s),e.data,a,s,c,p,e.offset),t.bufferSubData(m.type,i,n),Y.freeType(n)}return g},r.profile&&(g.stats=m.stats),g.destroy=function(){s(m)},g},createStream:function(t,e){var r=d.pop();return r||(r=new i(t)),r.bind(),o(r,e,35040,0,1,!1),r},destroyStream:function(t){d.push(t)},clear:function(){Z(p).forEach(s),d.forEach(s)},getBuffer:function(t){return t&&t._buffer instanceof i?t._buffer:null},restore:function(){Z(p).forEach((function(e){e.buffer=t.createBuffer(),t.bindBuffer(e.type,e.buffer),t.bufferData(e.type,e.persistentData||e.byteLength,e.usage)}))},_initBuffer:o}}function d(t,e,r,n){function i(t){this.id=c++,s[this.id]=this,this.buffer=t,this.primType=4,this.type=this.vertCount=0}function a(n,i,a,o,s,c,u){var f;if(n.buffer.bind(),i?((f=u)||X(i)&&(!l(i)||X(i.data))||(f=e.oes_element_index_uint?5125:5123),r._initBuffer(n.buffer,i,a,f,3)):(t.bufferData(34963,c,a),n.buffer.dtype=f||5121,n.buffer.usage=a,n.buffer.dimension=3,n.buffer.byteLength=c),f=u,!u){switch(n.buffer.dtype){case 5121:case 5120:f=5121;break;case 5123:case 5122:f=5123;break;case 5125:case 5124:f=5125}n.buffer.dtype=f}n.type=f,0>(i=s)&&(i=n.buffer.byteLength,5123===f?i>>=1:5125===f&&(i>>=2)),n.vertCount=i,i=o,0>o&&(i=4,1===(o=n.buffer.dimension)&&(i=0),2===o&&(i=1),3===o&&(i=4)),n.primType=i}function o(t){n.elementsCount--,delete s[t.id],t.buffer.destroy(),t.buffer=null}var s={},c=0,u={uint8:5121,uint16:5123};e.oes_element_index_uint&&(u.uint32=5125),i.prototype.bind=function(){this.buffer.bind()};var f=[];return{create:function(t,e){function s(t){if(t)if("number"==typeof t)c(t),f.primType=4,f.vertCount=0|t,f.type=5121;else{var e=null,r=35044,n=-1,i=-1,o=0,h=0;Array.isArray(t)||X(t)||l(t)?e=t:("data"in t&&(e=t.data),"usage"in t&&(r=$[t.usage]),"primitive"in t&&(n=nt[t.primitive]),"count"in t&&(i=0|t.count),"type"in t&&(h=u[t.type]),"length"in t?o=0|t.length:(o=i,5123===h||5122===h?o*=2:5125!==h&&5124!==h||(o*=4))),a(f,e,r,n,i,o,h)}else c(),f.primType=4,f.vertCount=0,f.type=5121;return s}var c=r.create(null,34963,!0),f=new i(c._buffer);return n.elementsCount++,s(t),s._reglType="elements",s._elements=f,s.subdata=function(t,e){return c.subdata(t,e),s},s.destroy=function(){o(f)},s},createStream:function(t){var e=f.pop();return e||(e=new i(r.create(null,34963,!0,!1)._buffer)),a(e,t,35040,-1,-1,0,0),e},destroyStream:function(t){f.push(t)},getElements:function(t){return"function"==typeof t&&t._elements instanceof i?t._elements:null},clear:function(){Z(s).forEach(o)}}}function g(t){for(var e=Y.allocType(5123,t.length),r=0;r<t.length;++r)if(isNaN(t[r]))e[r]=65535;else if(1/0===t[r])e[r]=31744;else if(-1/0===t[r])e[r]=64512;else{it[0]=t[r];var n=(a=at[0])>>>31<<15,i=(a<<1>>>24)-127,a=a>>13&1023;e[r]=-24>i?n:-14>i?n+(a+1024>>-14-i):15<i?n+31744:n+(i+15<<10)+a}return e}function m(t){return Array.isArray(t)||X(t)}function v(t){return"[object "+t+"]"}function y(t){return Array.isArray(t)&&(0===t.length||"number"==typeof t[0])}function x(t){return!(!Array.isArray(t)||0===t.length||!m(t[0]))}function b(t){return Object.prototype.toString.call(t)}function _(t){if(!t)return!1;var e=b(t);return 0<=gt.indexOf(e)||(y(t)||x(t)||l(t))}function w(t,e){36193===t.type?(t.data=g(e),Y.freeType(e)):t.data=e}function T(t,e,r,n,i,a){if(t="undefined"!=typeof vt[t]?vt[t]:lt[t]*mt[e],a&&(t*=6),i){for(n=0;1<=r;)n+=t*r*r,r/=2;return n}return t*r*n}function k(t,e,r,n,i,a,o){function s(){this.format=this.internalformat=6408,this.type=5121,this.flipY=this.premultiplyAlpha=this.compressed=!1,this.unpackAlignment=1,this.colorSpace=37444,this.channels=this.height=this.width=0}function c(t,e){t.internalformat=e.internalformat,t.format=e.format,t.type=e.type,t.compressed=e.compressed,t.premultiplyAlpha=e.premultiplyAlpha,t.flipY=e.flipY,t.unpackAlignment=e.unpackAlignment,t.colorSpace=e.colorSpace,t.width=e.width,t.height=e.height,t.channels=e.channels}function u(t,e){if("object"==typeof e&&e){"premultiplyAlpha"in e&&(t.premultiplyAlpha=e.premultiplyAlpha),"flipY"in e&&(t.flipY=e.flipY),"alignment"in e&&(t.unpackAlignment=e.alignment),"colorSpace"in e&&(t.colorSpace=q[e.colorSpace]),"type"in e&&(t.type=H[e.type]);var r=t.width,n=t.height,i=t.channels,a=!1;"shape"in e?(r=e.shape[0],n=e.shape[1],3===e.shape.length&&(i=e.shape[2],a=!0)):("radius"in e&&(r=n=e.radius),"width"in e&&(r=e.width),"height"in e&&(n=e.height),"channels"in e&&(i=e.channels,a=!0)),t.width=0|r,t.height=0|n,t.channels=0|i,r=!1,"format"in e&&(r=e.format,n=t.internalformat=G[r],t.format=at[n],r in H&&!("type"in e)&&(t.type=H[r]),r in W&&(t.compressed=!0),r=!0),!a&&r?t.channels=lt[t.format]:a&&!r&&t.channels!==st[t.format]&&(t.format=t.internalformat=st[t.channels])}}function f(e){t.pixelStorei(37440,e.flipY),t.pixelStorei(37441,e.premultiplyAlpha),t.pixelStorei(37443,e.colorSpace),t.pixelStorei(3317,e.unpackAlignment)}function h(){s.call(this),this.yOffset=this.xOffset=0,this.data=null,this.needsFree=!1,this.element=null,this.needsCopy=!1}function p(t,e){var r=null;if(_(e)?r=e:e&&(u(t,e),"x"in e&&(t.xOffset=0|e.x),"y"in e&&(t.yOffset=0|e.y),_(e.data)&&(r=e.data)),e.copy){var n=i.viewportWidth,a=i.viewportHeight;t.width=t.width||n-t.xOffset,t.height=t.height||a-t.yOffset,t.needsCopy=!0}else if(r){if(X(r))t.channels=t.channels||4,t.data=r,"type"in e||5121!==t.type||(t.type=0|K[Object.prototype.toString.call(r)]);else if(y(r)){switch(t.channels=t.channels||4,a=(n=r).length,t.type){case 5121:case 5123:case 5125:case 5126:(a=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(l(r)){n=r.data,Array.isArray(n)||5121!==t.type||(t.type=0|K[Object.prototype.toString.call(n)]);a=r.shape;var o,s,c,f,h=r.stride;3===a.length?(c=a[2],f=h[2]):f=c=1,o=a[0],s=a[1],a=h[0],h=h[1],t.alignment=1,t.width=o,t.height=s,t.channels=c,t.format=t.internalformat=st[c],t.needsFree=!0,o=f,r=r.offset,c=t.width,f=t.height,s=t.channels;for(var p=Y.allocType(36193===t.type?5126:t.type,c*f*s),d=0,v=0;v<f;++v)for(var T=0;T<c;++T)for(var k=0;k<s;++k)p[d++]=n[a*T+h*v+o*k+r];w(t,p)}else if(b(r)===ct||b(r)===ut||b(r)===ft)b(r)===ct||b(r)===ut?t.element=r:t.element=r.canvas,t.width=t.element.width,t.height=t.element.height,t.channels=4;else if(b(r)===ht)t.element=r,t.width=r.width,t.height=r.height,t.channels=4;else if(b(r)===pt)t.element=r,t.width=r.naturalWidth,t.height=r.naturalHeight,t.channels=4;else if(b(r)===dt)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=m(r[0][0])?h||r[0][0].length:h||1,o=J.shape(r),c=1,f=0;f<o.length;++f)c*=o[f];c=Y.allocType(36193===t.type?5126:t.type,c),J.flatten(r,o,"",c),w(t,c),t.alignment=1,t.width=n,t.height=a,t.channels=h,t.format=t.internalformat=st[h],t.needsFree=!0}}else t.width=t.width||1,t.height=t.height||1,t.channels=t.channels||4}function d(e,r,i,a,o){var s=e.element,l=e.data,c=e.internalformat,u=e.format,h=e.type,p=e.width,d=e.height;f(e),s?t.texSubImage2D(r,o,i,a,u,h,s):e.compressed?t.compressedTexSubImage2D(r,o,i,a,c,p,d,l):e.needsCopy?(n(),t.copyTexSubImage2D(r,o,i,a,e.xOffset,e.yOffset,p,d)):t.texSubImage2D(r,o,i,a,p,d,u,h,l)}function v(){return gt.pop()||new h}function k(t){t.needsFree&&Y.freeType(t.data),h.call(t),gt.push(t)}function M(){s.call(this),this.genMipmaps=!1,this.mipmapHint=4352,this.mipmask=0,this.images=Array(16)}function A(t,e,r){var n=t.images[0]=v();t.mipmask=1,n.width=t.width=e,n.height=t.height=r,n.channels=t.channels=4}function S(t,e){var r=null;if(_(e))c(r=t.images[0]=v(),t),p(r,e),t.mipmask=1;else if(u(t,e),Array.isArray(e.mipmap))for(var n=e.mipmap,i=0;i<n.length;++i)c(r=t.images[i]=v(),t),r.width>>=i,r.height>>=i,p(r,n[i]),t.mipmask|=1<<i;else c(r=t.images[0]=v(),t),p(r,e),t.mipmask=1;c(t,t.images[0])}function E(e,r){for(var i=e.images,a=0;a<i.length&&i[a];++a){var o=i[a],s=r,l=a,c=o.element,u=o.data,h=o.internalformat,p=o.format,d=o.type,g=o.width,m=o.height;f(o),c?t.texImage2D(s,l,p,p,d,c):o.compressed?t.compressedTexImage2D(s,l,h,g,m,0,u):o.needsCopy?(n(),t.copyTexImage2D(s,l,p,o.xOffset,o.yOffset,g,m,0)):t.texImage2D(s,l,p,g,m,0,p,d,u||null)}}function C(){var t=mt.pop()||new M;s.call(t);for(var e=t.mipmask=0;16>e;++e)t.images[e]=null;return t}function L(t){for(var e=t.images,r=0;r<e.length;++r)e[r]&&k(e[r]),e[r]=null;mt.push(t)}function I(){this.magFilter=this.minFilter=9728,this.wrapT=this.wrapS=33071,this.anisotropic=1,this.genMipmaps=!1,this.mipmapHint=4352}function P(t,e){"min"in e&&(t.minFilter=V[e.min],0<=ot.indexOf(t.minFilter)&&!("faces"in e)&&(t.genMipmaps=!0)),"mag"in e&&(t.magFilter=j[e.mag]);var r=t.wrapS,n=t.wrapT;if("wrap"in e){var i=e.wrap;"string"==typeof i?r=n=N[i]:Array.isArray(i)&&(r=N[i[0]],n=N[i[1]])}else"wrapS"in e&&(r=N[e.wrapS]),"wrapT"in e&&(n=N[e.wrapT]);if(t.wrapS=r,t.wrapT=n,"anisotropic"in e&&(t.anisotropic=e.anisotropic),"mipmap"in e){switch(r=!1,typeof e.mipmap){case"string":t.mipmapHint=B[e.mipmap],r=t.genMipmaps=!0;break;case"boolean":r=t.genMipmaps=e.mipmap;break;case"object":t.genMipmaps=!1,r=!0}!r||"min"in e||(t.minFilter=9984)}}function z(r,n){t.texParameteri(n,10241,r.minFilter),t.texParameteri(n,10240,r.magFilter),t.texParameteri(n,10242,r.wrapS),t.texParameteri(n,10243,r.wrapT),e.ext_texture_filter_anisotropic&&t.texParameteri(n,34046,r.anisotropic),r.genMipmaps&&(t.hint(33170,r.mipmapHint),t.generateMipmap(n))}function O(e){s.call(this),this.mipmask=0,this.internalformat=6408,this.id=vt++,this.refCount=1,this.target=e,this.texture=t.createTexture(),this.unit=-1,this.bindCount=0,this.texInfo=new I,o.profile&&(this.stats={size:0})}function D(e){t.activeTexture(33984),t.bindTexture(e.target,e.texture)}function R(){var e=bt[0];e?t.bindTexture(e.target,e.texture):t.bindTexture(3553,null)}function F(e){var r=e.texture,n=e.unit,i=e.target;0<=n&&(t.activeTexture(33984+n),t.bindTexture(i,null),bt[n]=null),t.deleteTexture(r),e.texture=null,e.params=null,e.pixels=null,e.refCount=0,delete yt[e.id],a.textureCount--}var B={"don't care":4352,"dont care":4352,nice:4354,fast:4353},N={repeat:10497,clamp:33071,mirror:33648},j={nearest:9728,linear:9729},V=U({mipmap:9987,"nearest mipmap nearest":9984,"linear mipmap nearest":9985,"nearest mipmap linear":9986,"linear mipmap linear":9987},j),q={none:0,browser:37444},H={uint8:5121,rgba4:32819,rgb565:33635,"rgb5 a1":32820},G={alpha:6406,luminance:6409,"luminance alpha":6410,rgb:6407,rgba:6408,rgba4:32854,"rgb5 a1":32855,rgb565:36194},W={};e.ext_srgb&&(G.srgb=35904,G.srgba=35906),e.oes_texture_float&&(H.float32=H.float=5126),e.oes_texture_half_float&&(H.float16=H["half float"]=36193),e.webgl_depth_texture&&(U(G,{depth:6402,"depth stencil":34041}),U(H,{uint16:5123,uint32:5125,"depth stencil":34042})),e.webgl_compressed_texture_s3tc&&U(W,{"rgb s3tc dxt1":33776,"rgba s3tc dxt1":33777,"rgba s3tc dxt3":33778,"rgba s3tc dxt5":33779}),e.webgl_compressed_texture_atc&&U(W,{"rgb atc":35986,"rgba atc explicit alpha":35987,"rgba atc interpolated alpha":34798}),e.webgl_compressed_texture_pvrtc&&U(W,{"rgb pvrtc 4bppv1":35840,"rgb pvrtc 2bppv1":35841,"rgba pvrtc 4bppv1":35842,"rgba pvrtc 2bppv1":35843}),e.webgl_compressed_texture_etc1&&(W["rgb etc1"]=36196);var Q=Array.prototype.slice.call(t.getParameter(34467));Object.keys(W).forEach((function(t){var e=W[t];0<=Q.indexOf(e)&&(G[t]=e)}));var $=Object.keys(G);r.textureFormats=$;var tt=[];Object.keys(G).forEach((function(t){tt[G[t]]=t}));var et=[];Object.keys(H).forEach((function(t){et[H[t]]=t}));var rt=[];Object.keys(j).forEach((function(t){rt[j[t]]=t}));var nt=[];Object.keys(V).forEach((function(t){nt[V[t]]=t}));var it=[];Object.keys(N).forEach((function(t){it[N[t]]=t}));var at=$.reduce((function(t,r){var n=G[r];return 6409===n||6406===n||6409===n||6410===n||6402===n||34041===n||e.ext_srgb&&(35904===n||35906===n)?t[n]=n:32855===n||0<=r.indexOf("rgba")?t[n]=6408:t[n]=6407,t}),{}),gt=[],mt=[],vt=0,yt={},xt=r.maxTextureUnits,bt=Array(xt).map((function(){return null}));return U(O.prototype,{bind:function(){this.bindCount+=1;var e=this.unit;if(0>e){for(var r=0;r<xt;++r){var n=bt[r];if(n){if(0<n.bindCount)continue;n.unit=-1}bt[r]=this,e=r;break}o.profile&&a.maxTextureUnits<e+1&&(a.maxTextureUnits=e+1),this.unit=e,t.activeTexture(33984+e),t.bindTexture(this.target,this.texture)}return e},unbind:function(){--this.bindCount},decRef:function(){0>=--this.refCount&&F(this)}}),o.profile&&(a.getTotalTextureSize=function(){var t=0;return Object.keys(yt).forEach((function(e){t+=yt[e].stats.size})),t}),{create2D:function(e,r){function n(t,e){var r=i.texInfo;I.call(r);var a=C();return"number"==typeof t?A(a,0|t,"number"==typeof e?0|e:0|t):t?(P(r,t),S(a,t)):A(a,1,1),r.genMipmaps&&(a.mipmask=(a.width<<1)-1),i.mipmask=a.mipmask,c(i,a),i.internalformat=a.internalformat,n.width=a.width,n.height=a.height,D(i),E(a,3553),z(r,3553),R(),L(a),o.profile&&(i.stats.size=T(i.internalformat,i.type,a.width,a.height,r.genMipmaps,!1)),n.format=tt[i.internalformat],n.type=et[i.type],n.mag=rt[r.magFilter],n.min=nt[r.minFilter],n.wrapS=it[r.wrapS],n.wrapT=it[r.wrapT],n}var i=new O(3553);return yt[i.id]=i,a.textureCount++,n(e,r),n.subimage=function(t,e,r,a){e|=0,r|=0,a|=0;var o=v();return c(o,i),o.width=0,o.height=0,p(o,t),o.width=o.width||(i.width>>a)-e,o.height=o.height||(i.height>>a)-r,D(i),d(o,3553,e,r,a),R(),k(o),n},n.resize=function(e,r){var a=0|e,s=0|r||a;if(a===i.width&&s===i.height)return n;n.width=i.width=a,n.height=i.height=s,D(i);for(var l=0;i.mipmask>>l;++l){var c=a>>l,u=s>>l;if(!c||!u)break;t.texImage2D(3553,l,i.format,c,u,0,i.format,i.type,null)}return R(),o.profile&&(i.stats.size=T(i.internalformat,i.type,a,s,!1,!1)),n},n._reglType="texture2d",n._texture=i,o.profile&&(n.stats=i.stats),n.destroy=function(){i.decRef()},n},createCube:function(e,r,n,i,s,l){function f(t,e,r,n,i,a){var s,l=h.texInfo;for(I.call(l),s=0;6>s;++s)g[s]=C();if("number"!=typeof t&&t){if("object"==typeof t)if(e)S(g[0],t),S(g[1],e),S(g[2],r),S(g[3],n),S(g[4],i),S(g[5],a);else if(P(l,t),u(h,t),"faces"in t)for(t=t.faces,s=0;6>s;++s)c(g[s],h),S(g[s],t[s]);else for(s=0;6>s;++s)S(g[s],t)}else for(t=0|t||1,s=0;6>s;++s)A(g[s],t,t);for(c(h,g[0]),h.mipmask=l.genMipmaps?(g[0].width<<1)-1:g[0].mipmask,h.internalformat=g[0].internalformat,f.width=g[0].width,f.height=g[0].height,D(h),s=0;6>s;++s)E(g[s],34069+s);for(z(l,34067),R(),o.profile&&(h.stats.size=T(h.internalformat,h.type,f.width,f.height,l.genMipmaps,!0)),f.format=tt[h.internalformat],f.type=et[h.type],f.mag=rt[l.magFilter],f.min=nt[l.minFilter],f.wrapS=it[l.wrapS],f.wrapT=it[l.wrapT],s=0;6>s;++s)L(g[s]);return f}var h=new O(34067);yt[h.id]=h,a.cubeCount++;var g=Array(6);return f(e,r,n,i,s,l),f.subimage=function(t,e,r,n,i){r|=0,n|=0,i|=0;var a=v();return c(a,h),a.width=0,a.height=0,p(a,e),a.width=a.width||(h.width>>i)-r,a.height=a.height||(h.height>>i)-n,D(h),d(a,34069+t,r,n,i),R(),k(a),f},f.resize=function(e){if((e|=0)!==h.width){f.width=h.width=e,f.height=h.height=e,D(h);for(var r=0;6>r;++r)for(var n=0;h.mipmask>>n;++n)t.texImage2D(34069+r,n,h.format,e>>n,e>>n,0,h.format,h.type,null);return R(),o.profile&&(h.stats.size=T(h.internalformat,h.type,f.width,f.height,!1,!0)),f}},f._reglType="textureCube",f._texture=h,o.profile&&(f.stats=h.stats),f.destroy=function(){h.decRef()},f},clear:function(){for(var e=0;e<xt;++e)t.activeTexture(33984+e),t.bindTexture(3553,null),bt[e]=null;Z(yt).forEach(F),a.cubeCount=0,a.textureCount=0},getTexture:function(t){return null},restore:function(){for(var e=0;e<xt;++e){var r=bt[e];r&&(r.bindCount=0,r.unit=-1,bt[e]=null)}Z(yt).forEach((function(e){e.texture=t.createTexture(),t.bindTexture(e.target,e.texture);for(var r=0;32>r;++r)if(0!=(e.mipmask&1<<r))if(3553===e.target)t.texImage2D(3553,r,e.internalformat,e.width>>r,e.height>>r,0,e.internalformat,e.type,null);else for(var n=0;6>n;++n)t.texImage2D(34069+n,r,e.internalformat,e.width>>r,e.height>>r,0,e.internalformat,e.type,null);z(e.texInfo,e.target)}))}}}function M(t,e,r,n,i,a){function o(t,e,r){this.target=t,this.texture=e,this.renderbuffer=r;var n=t=0;e?(t=e.width,n=e.height):r&&(t=r.width,n=r.height),this.width=t,this.height=n}function s(t){t&&(t.texture&&t.texture._texture.decRef(),t.renderbuffer&&t.renderbuffer._renderbuffer.decRef())}function l(t,e,r){t&&(t.texture?t.texture._texture.refCount+=1:t.renderbuffer._renderbuffer.refCount+=1)}function c(e,r){r&&(r.texture?t.framebufferTexture2D(36160,e,r.target,r.texture._texture.texture,0):t.framebufferRenderbuffer(36160,e,36161,r.renderbuffer._renderbuffer.renderbuffer))}function u(t){var e=3553,r=null,n=null,i=t;return"object"==typeof t&&(i=t.data,"target"in t&&(e=0|t.target)),"texture2d"===(t=i._reglType)||"textureCube"===t?r=i:"renderbuffer"===t&&(n=i,e=36161),new o(e,r,n)}function f(t,e,r,a,s){return r?((t=n.create2D({width:t,height:e,format:a,type:s}))._texture.refCount=0,new o(3553,t,null)):((t=i.create({width:t,height:e,format:a}))._renderbuffer.refCount=0,new o(36161,null,t))}function h(t){return t&&(t.texture||t.renderbuffer)}function p(t,e,r){t&&(t.texture?t.texture.resize(e,r):t.renderbuffer&&t.renderbuffer.resize(e,r),t.width=e,t.height=r)}function d(){this.id=T++,k[this.id]=this,this.framebuffer=t.createFramebuffer(),this.height=this.width=0,this.colorAttachments=[],this.depthStencilAttachment=this.stencilAttachment=this.depthAttachment=null}function g(t){t.colorAttachments.forEach(s),s(t.depthAttachment),s(t.stencilAttachment),s(t.depthStencilAttachment)}function m(e){t.deleteFramebuffer(e.framebuffer),e.framebuffer=null,a.framebufferCount--,delete k[e.id]}function v(e){var n;t.bindFramebuffer(36160,e.framebuffer);var i=e.colorAttachments;for(n=0;n<i.length;++n)c(36064+n,i[n]);for(n=i.length;n<r.maxColorAttachments;++n)t.framebufferTexture2D(36160,36064+n,3553,null,0);t.framebufferTexture2D(36160,33306,3553,null,0),t.framebufferTexture2D(36160,36096,3553,null,0),t.framebufferTexture2D(36160,36128,3553,null,0),c(36096,e.depthAttachment),c(36128,e.stencilAttachment),c(33306,e.depthStencilAttachment),t.checkFramebufferStatus(36160),t.isContextLost(),t.bindFramebuffer(36160,x.next?x.next.framebuffer:null),x.cur=x.next,t.getError()}function y(t,e){function r(t,e){var i,a=0,o=0,s=!0,c=!0;i=null;var p=!0,d="rgba",m="uint8",y=1,x=null,w=null,T=null,k=!1;"number"==typeof t?(a=0|t,o=0|e||a):t?("shape"in t?(a=(o=t.shape)[0],o=o[1]):("radius"in t&&(a=o=t.radius),"width"in t&&(a=t.width),"height"in t&&(o=t.height)),("color"in t||"colors"in t)&&(i=t.color||t.colors,Array.isArray(i)),i||("colorCount"in t&&(y=0|t.colorCount),"colorTexture"in t&&(p=!!t.colorTexture,d="rgba4"),"colorType"in t&&(m=t.colorType,!p)&&("half float"===m||"float16"===m?d="rgba16f":"float"!==m&&"float32"!==m||(d="rgba32f")),"colorFormat"in t&&(d=t.colorFormat,0<=b.indexOf(d)?p=!0:0<=_.indexOf(d)&&(p=!1))),("depthTexture"in t||"depthStencilTexture"in t)&&(k=!(!t.depthTexture&&!t.depthStencilTexture)),"depth"in t&&("boolean"==typeof t.depth?s=t.depth:(x=t.depth,c=!1)),"stencil"in t&&("boolean"==typeof t.stencil?c=t.stencil:(w=t.stencil,s=!1)),"depthStencil"in t&&("boolean"==typeof t.depthStencil?s=c=t.depthStencil:(T=t.depthStencil,c=s=!1))):a=o=1;var M=null,A=null,S=null,E=null;if(Array.isArray(i))M=i.map(u);else if(i)M=[u(i)];else for(M=Array(y),i=0;i<y;++i)M[i]=f(a,o,p,d,m);for(a=a||M[0].width,o=o||M[0].height,x?A=u(x):s&&!c&&(A=f(a,o,k,"depth","uint32")),w?S=u(w):c&&!s&&(S=f(a,o,!1,"stencil","uint8")),T?E=u(T):!x&&!w&&c&&s&&(E=f(a,o,k,"depth stencil","depth stencil")),s=null,i=0;i<M.length;++i)l(M[i]),M[i]&&M[i].texture&&(c=bt[M[i].texture._texture.format]*_t[M[i].texture._texture.type],null===s&&(s=c));return l(A),l(S),l(E),g(n),n.width=a,n.height=o,n.colorAttachments=M,n.depthAttachment=A,n.stencilAttachment=S,n.depthStencilAttachment=E,r.color=M.map(h),r.depth=h(A),r.stencil=h(S),r.depthStencil=h(E),r.width=n.width,r.height=n.height,v(n),r}var n=new d;return a.framebufferCount++,r(t,e),U(r,{resize:function(t,e){var i=Math.max(0|t,1),a=Math.max(0|e||i,1);if(i===n.width&&a===n.height)return r;for(var o=n.colorAttachments,s=0;s<o.length;++s)p(o[s],i,a);return p(n.depthAttachment,i,a),p(n.stencilAttachment,i,a),p(n.depthStencilAttachment,i,a),n.width=r.width=i,n.height=r.height=a,v(n),r},_reglType:"framebuffer",_framebuffer:n,destroy:function(){m(n),g(n)},use:function(t){x.setFBO({framebuffer:r},t)}})}var x={cur:null,next:null,dirty:!1,setFBO:null},b=["rgba"],_=["rgba4","rgb565","rgb5 a1"];e.ext_srgb&&_.push("srgba"),e.ext_color_buffer_half_float&&_.push("rgba16f","rgb16f"),e.webgl_color_buffer_float&&_.push("rgba32f");var w=["uint8"];e.oes_texture_half_float&&w.push("half float","float16"),e.oes_texture_float&&w.push("float","float32");var T=0,k={};return U(x,{getFramebuffer:function(t){return"function"==typeof t&&"framebuffer"===t._reglType&&(t=t._framebuffer)instanceof d?t:null},create:y,createCube:function(t){function e(t){var i,a={color:null},o=0,s=null;i="rgba";var l="uint8",c=1;if("number"==typeof t?o=0|t:t?("shape"in t?o=t.shape[0]:("radius"in t&&(o=0|t.radius),"width"in t?o=0|t.width:"height"in t&&(o=0|t.height)),("color"in t||"colors"in t)&&(s=t.color||t.colors,Array.isArray(s)),s||("colorCount"in t&&(c=0|t.colorCount),"colorType"in t&&(l=t.colorType),"colorFormat"in t&&(i=t.colorFormat)),"depth"in t&&(a.depth=t.depth),"stencil"in t&&(a.stencil=t.stencil),"depthStencil"in t&&(a.depthStencil=t.depthStencil)):o=1,s)if(Array.isArray(s))for(t=[],i=0;i<s.length;++i)t[i]=s[i];else t=[s];else for(t=Array(c),s={radius:o,format:i,type:l},i=0;i<c;++i)t[i]=n.createCube(s);for(a.color=Array(t.length),i=0;i<t.length;++i)c=t[i],o=o||c.width,a.color[i]={target:34069,data:t[i]};for(i=0;6>i;++i){for(c=0;c<t.length;++c)a.color[c].target=34069+i;0<i&&(a.depth=r[0].depth,a.stencil=r[0].stencil,a.depthStencil=r[0].depthStencil),r[i]?r[i](a):r[i]=y(a)}return U(e,{width:o,height:o,color:t})}var r=Array(6);return e(t),U(e,{faces:r,resize:function(t){var n=0|t;if(n===e.width)return e;var i=e.color;for(t=0;t<i.length;++t)i[t].resize(n);for(t=0;6>t;++t)r[t].resize(n);return e.width=e.height=n,e},_reglType:"framebufferCube",destroy:function(){r.forEach((function(t){t.destroy()}))}})},clear:function(){Z(k).forEach(m)},restore:function(){x.cur=null,x.next=null,x.dirty=!0,Z(k).forEach((function(e){e.framebuffer=t.createFramebuffer(),v(e)}))}})}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 S(t,e,r,n,i){function a(){this.id=++c,this.attributes=[];var t=e.oes_vertex_array_object;this.vao=t?t.createVertexArrayOES():null,u[this.id]=this,this.buffers=[]}var o=r.maxAttributes,s=Array(o);for(r=0;r<o;++r)s[r]=new A;var c=0,u={},f={Record:A,scope:{},state:s,currentVAO:null,targetVAO:null,restore:e.oes_vertex_array_object?function(){e.oes_vertex_array_object&&Z(u).forEach((function(t){t.refresh()}))}:function(){},createVAO:function(t){function e(t){for(var n=0;n<r.buffers.length;++n)r.buffers[n].destroy();r.buffers.length=0,(n=r.attributes).length=t.length;for(var a=0;a<t.length;++a){var o=t[a],s=n[a]=new A;Array.isArray(o)||X(o)||l(o)?(o=i.create(o,34962,!1,!0),s.buffer=i.getBuffer(o),s.size=0|s.buffer.dimension,s.normalized=!1,s.type=s.buffer.dtype,s.offset=0,s.stride=0,s.divisor=0,s.state=1,r.buffers.push(o)):i.getBuffer(o)?(s.buffer=i.getBuffer(o),s.size=0|s.buffer.dimension,s.normalized=!1,s.type=s.buffer.dtype,s.offset=0,s.stride=0,s.divisor=0,s.state=1):i.getBuffer(o.buffer)?(s.buffer=i.getBuffer(o.buffer),s.size=0|(+o.size||s.buffer.dimension),s.normalized=!!o.normalized||!1,s.type="type"in o?Q[o.type]:s.buffer.dtype,s.offset=0|(o.offset||0),s.stride=0|(o.stride||0),s.divisor=0|(o.divisor||0),s.state=1):"x"in o&&(s.x=+o.x||0,s.y=+o.y||0,s.z=+o.z||0,s.w=+o.w||0,s.state=2)}return r.refresh(),e}var r=new a;return n.vaoCount+=1,e.destroy=function(){r.destroy()},e._vao=r,e._reglType="vao",e(t)},getVAO:function(t){return"function"==typeof t&&t._vao?t._vao:null},destroyBuffer:function(e){for(var r=0;r<s.length;++r){var n=s[r];n.buffer===e&&(t.disableVertexAttribArray(r),n.buffer=null)}},setVAO:e.oes_vertex_array_object?function(t){if(t!==f.currentVAO){var r=e.oes_vertex_array_object;t?r.bindVertexArrayOES(t.vao):r.bindVertexArrayOES(null),f.currentVAO=t}}:function(r){if(r!==f.currentVAO){if(r)r.bindAttrs();else for(var n=e.angle_instanced_arrays,i=0;i<s.length;++i){var a=s[i];a.buffer?(t.enableVertexAttribArray(i),t.vertexAttribPointer(i,a.size,a.type,a.normalized,a.stride,a.offfset),n&&n.vertexAttribDivisorANGLE(i,a.divisor)):(t.disableVertexAttribArray(i),t.vertexAttrib4f(i,a.x,a.y,a.z,a.w))}f.currentVAO=r}},clear:e.oes_vertex_array_object?function(){Z(u).forEach((function(t){t.destroy()}))}:function(){}};return a.prototype.bindAttrs=function(){for(var r=e.angle_instanced_arrays,n=this.attributes,i=0;i<n.length;++i){var a=n[i];a.buffer?(t.enableVertexAttribArray(i),t.bindBuffer(34962,a.buffer.buffer),t.vertexAttribPointer(i,a.size,a.type,a.normalized,a.stride,a.offset),r&&r.vertexAttribDivisorANGLE(i,a.divisor)):(t.disableVertexAttribArray(i),t.vertexAttrib4f(i,a.x,a.y,a.z,a.w))}for(r=n.length;r<o;++r)t.disableVertexAttribArray(r)},a.prototype.refresh=function(){var t=e.oes_vertex_array_object;t&&(t.bindVertexArrayOES(this.vao),this.bindAttrs(),f.currentVAO=this)},a.prototype.destroy=function(){if(this.vao){var t=e.oes_vertex_array_object;this===f.currentVAO&&(f.currentVAO=null,t.bindVertexArrayOES(null)),t.deleteVertexArrayOES(this.vao),this.vao=null}u[this.id]&&(delete u[this.id],--n.vaoCount)},f}function E(t,e,r,n){function i(t,e,r,n){this.name=t,this.id=e,this.location=r,this.info=n}function a(t,e){for(var r=0;r<t.length;++r)if(t[r].id===e.id)return void(t[r].location=e.location);t.push(e)}function o(r,n,i){if(!(o=(i=35632===r?c:u)[n])){var a=e.str(n),o=t.createShader(r);t.shaderSource(o,a),t.compileShader(o),i[n]=o}return o}function s(t,e){this.id=p++,this.fragId=t,this.vertId=e,this.program=null,this.uniforms=[],this.attributes=[],n.profile&&(this.stats={uniformsCount:0,attributesCount:0})}function l(r,s,l){var c;c=o(35632,r.fragId);var u=o(35633,r.vertId);if(s=r.program=t.createProgram(),t.attachShader(s,c),t.attachShader(s,u),l)for(c=0;c<l.length;++c)u=l[c],t.bindAttribLocation(s,u[0],u[1]);t.linkProgram(s),u=t.getProgramParameter(s,35718),n.profile&&(r.stats.uniformsCount=u);var f=r.uniforms;for(c=0;c<u;++c)if(l=t.getActiveUniform(s,c))if(1<l.size)for(var h=0;h<l.size;++h){var p=l.name.replace("[0]","["+h+"]");a(f,new i(p,e.id(p),t.getUniformLocation(s,p),l))}else a(f,new i(l.name,e.id(l.name),t.getUniformLocation(s,l.name),l));for(u=t.getProgramParameter(s,35721),n.profile&&(r.stats.attributesCount=u),r=r.attributes,c=0;c<u;++c)(l=t.getActiveAttrib(s,c))&&a(r,new i(l.name,e.id(l.name),t.getAttribLocation(s,l.name),l))}var c={},u={},f={},h=[],p=0;return n.profile&&(r.getMaxUniformsCount=function(){var t=0;return h.forEach((function(e){e.stats.uniformsCount>t&&(t=e.stats.uniformsCount)})),t},r.getMaxAttributesCount=function(){var t=0;return h.forEach((function(e){e.stats.attributesCount>t&&(t=e.stats.attributesCount)})),t}),{clear:function(){var e=t.deleteShader.bind(t);Z(c).forEach(e),c={},Z(u).forEach(e),u={},h.forEach((function(e){t.deleteProgram(e.program)})),h.length=0,f={},r.shaderCount=0},program:function(t,e,n,i){var a=f[e];a||(a=f[e]={});var o=a[t];return o&&!i?o:(e=new s(e,t),r.shaderCount++,l(e,n,i),o||(a[t]=e),h.push(e),e)},restore:function(){c={},u={};for(var t=0;t<h.length;++t)l(h[t],null,h[t].attributes.map((function(t){return[t.location,t.name]})))},shader:o,frag:-1,vert:-1}}function C(t,e,r,n,i,a,o){function s(i){var a;a=null===e.next?5121:e.next.colorAttachments[0].texture._texture.type;var o=0,s=0,l=n.framebufferWidth,c=n.framebufferHeight,u=null;return X(i)?u=i:i&&(o=0|i.x,s=0|i.y,l=0|(i.width||n.framebufferWidth-o),c=0|(i.height||n.framebufferHeight-s),u=i.data||null),r(),i=l*c*4,u||(5121===a?u=new Uint8Array(i):5126===a&&(u=u||new Float32Array(i))),t.pixelStorei(3333,4),t.readPixels(o,s,l,c,6408,a,u),u}return function(t){return t&&"framebuffer"in t?function(t){var r;return e.setFBO({framebuffer:t.framebuffer},(function(){r=s(t)})),r}(t):s(t)}}function L(t){return Array.prototype.slice.call(t)}function I(t){return L(t).join("")}function P(){function t(){var t=[],e=[];return U((function(){t.push.apply(t,L(arguments))}),{def:function(){var n="v"+r++;return e.push(n),0<arguments.length&&(t.push(n,"="),t.push.apply(t,L(arguments)),t.push(";")),n},toString:function(){return I([0<e.length?"var "+e.join(",")+";":"",I(t)])}})}function e(){function e(t,e){n(t,e,"=",r.def(t,e),";")}var r=t(),n=t(),i=r.toString,a=n.toString;return U((function(){r.apply(r,L(arguments))}),{def:r.def,entry:r,exit:n,save:e,set:function(t,n,i){e(t,n),r(t,n,"=",i,";")},toString:function(){return i()+a()}})}var r=0,n=[],i=[],a=t(),o={};return{global:a,link:function(t){for(var e=0;e<i.length;++e)if(i[e]===t)return n[e];return e="g"+r++,n.push(e),i.push(t),e},block:t,proc:function(t,r){function n(){var t="a"+i.length;return i.push(t),t}var i=[];r=r||0;for(var a=0;a<r;++a)n();var s=(a=e()).toString;return o[t]=U(a,{arg:n,toString:function(){return I(["function(",i.join(),"){",s(),"}"])}})},scope:e,cond:function(){var t=I(arguments),r=e(),n=e(),i=r.toString,a=n.toString;return U(r,{then:function(){return r.apply(r,L(arguments)),this},else:function(){return n.apply(n,L(arguments)),this},toString:function(){var e=a();return e&&(e="else{"+e+"}"),I(["if(",t,"){",i(),"}",e])}})},compile:function(){var t=['"use strict";',a,"return {"];Object.keys(o).forEach((function(e){t.push('"',e,'":',o[e].toString(),",")})),t.push("}");var e=I(t).replace(/;/g,";\n").replace(/}/g,"}\n").replace(/{/g,"{\n");return Function.apply(null,n.concat(e)).apply(null,i)}}}function z(t){return Array.isArray(t)||X(t)||l(t)}function O(t){return t.sort((function(t,e){return"viewport"===t?-1:"viewport"===e?1:t<e?-1:1}))}function D(t,e,r,n){this.thisDep=t,this.contextDep=e,this.propDep=r,this.append=n}function R(t){return t&&!(t.thisDep||t.contextDep||t.propDep)}function F(t){return new D(!1,!1,!1,t)}function B(t,e){var r=t.type;return 0===r?new D(!0,1<=(r=t.data.length),2<=r,e):4===r?new D((r=t.data).thisDep,r.contextDep,r.propDep,e):new D(3===r,2===r,1===r,e)}function N(t,e,r,n,i,o,s,l,c,u,f,h,p,d,g){function v(t){return t.replace(".","_")}function y(t,e,r){var n=v(t);rt.push(t),et[n]=tt[n]=!!r,it[n]=e}function x(t,e,r){var n=v(t);rt.push(t),Array.isArray(r)?(tt[n]=r.slice(),et[n]=r.slice()):tt[n]=et[n]=r,at[n]=e}function b(){var t=P(),r=t.link,n=t.global;t.id=lt++,t.batchId="0";var i=r(ot),a=t.shared={props:"a0"};Object.keys(ot).forEach((function(t){a[t]=n.def(i,".",t)}));var o=t.next={},s=t.current={};Object.keys(at).forEach((function(t){Array.isArray(tt[t])&&(o[t]=n.def(a.next,".",t),s[t]=n.def(a.current,".",t))}));var l=t.constants={};Object.keys(st).forEach((function(t){l[t]=n.def(JSON.stringify(st[t]))})),t.invoke=function(e,n){switch(n.type){case 0:var i=["this",a.context,a.props,t.batchId];return e.def(r(n.data),".call(",i.slice(0,Math.max(n.data.length+1,4)),")");case 1:return e.def(a.props,n.data);case 2:return e.def(a.context,n.data);case 3:return e.def("this",n.data);case 4:return n.data.append(t,e),n.data.ref}},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 Z),c[t]=r(n)},t}function _(t,e){var r=t.static,n=t.dynamic;if("framebuffer"in r){var i=r.framebuffer;return i?(i=l.getFramebuffer(i),F((function(t,e){var r=t.link(i),n=t.shared;return e.set(n.framebuffer,".next",r),n=n.context,e.set(n,".framebufferWidth",r+".width"),e.set(n,".framebufferHeight",r+".height"),r}))):F((function(t,e){var r=t.shared;return e.set(r.framebuffer,".next","null"),r=r.context,e.set(r,".framebufferWidth",r+".drawingBufferWidth"),e.set(r,".framebufferHeight",r+".drawingBufferHeight"),"null"}))}if("framebuffer"in n){var a=n.framebuffer;return B(a,(function(t,e){var r=t.invoke(e,a),n=t.shared,i=n.framebuffer;r=e.def(i,".getFramebuffer(",r,")");return e.set(i,".next",r),n=n.context,e.set(n,".framebufferWidth",r+"?"+r+".width:"+n+".drawingBufferWidth"),e.set(n,".framebufferHeight",r+"?"+r+".height:"+n+".drawingBufferHeight"),r}))}return null}function w(t,r,n){function i(t){if(t in a){var r=e.id(a[t]);return(t=F((function(){return r}))).id=r,t}if(t in o){var n=o[t];return B(n,(function(t,e){var r=t.invoke(e,n);return e.def(t.shared.strings,".id(",r,")")}))}return null}var a=t.static,o=t.dynamic,s=i("frag"),l=i("vert"),c=null;return R(s)&&R(l)?(c=f.program(l.id,s.id,null,n),t=F((function(t,e){return t.link(c)}))):t=new D(s&&s.thisDep||l&&l.thisDep,s&&s.contextDep||l&&l.contextDep,s&&s.propDep||l&&l.propDep,(function(t,e){var r,n,i=t.shared.shader;return r=s?s.append(t,e):e.def(i,".","frag"),n=l?l.append(t,e):e.def(i,".","vert"),e.def(i+".program("+n+","+r+")")})),{frag:s,vert:l,progVar:t,program:c}}function T(t,e){function r(t,e){if(t in n){var r=0|n[t];return F((function(t,n){return e&&(t.OFFSET=r),r}))}if(t in i){var o=i[t];return B(o,(function(t,r){var n=t.invoke(r,o);return e&&(t.OFFSET=n),n}))}return e&&a?F((function(t,e){return t.OFFSET="0",0})):null}var n=t.static,i=t.dynamic,a=function(){if("elements"in n){var t=n.elements;z(t)?t=o.getElements(o.create(t,!0)):t&&(t=o.getElements(t));var e=F((function(e,r){if(t){var n=e.link(t);return e.ELEMENTS=n}return e.ELEMENTS=null}));return e.value=t,e}if("elements"in i){var r=i.elements;return B(r,(function(t,e){var n=(i=t.shared).isBufferArgs,i=i.elements,a=t.invoke(e,r),o=e.def("null");n=e.def(n,"(",a,")"),a=t.cond(n).then(o,"=",i,".createStream(",a,");").else(o,"=",i,".getElements(",a,");");return e.entry(a),e.exit(t.cond(n).then(i,".destroyStream(",o,");")),t.ELEMENTS=o}))}return null}(),s=r("offset",!0);return{elements:a,primitive:function(){if("primitive"in n){var t=n.primitive;return F((function(e,r){return nt[t]}))}if("primitive"in i){var e=i.primitive;return B(e,(function(t,r){var n=t.constants.primTypes,i=t.invoke(r,e);return r.def(n,"[",i,"]")}))}return a?R(a)?a.value?F((function(t,e){return e.def(t.ELEMENTS,".primType")})):F((function(){return 4})):new D(a.thisDep,a.contextDep,a.propDep,(function(t,e){var r=t.ELEMENTS;return e.def(r,"?",r,".primType:",4)})):null}(),count:function(){if("count"in n){var t=0|n.count;return F((function(){return t}))}if("count"in i){var e=i.count;return B(e,(function(t,r){return t.invoke(r,e)}))}return a?R(a)?a?s?new D(s.thisDep,s.contextDep,s.propDep,(function(t,e){return e.def(t.ELEMENTS,".vertCount-",t.OFFSET)})):F((function(t,e){return e.def(t.ELEMENTS,".vertCount")})):F((function(){return-1})):new D(a.thisDep||s.thisDep,a.contextDep||s.contextDep,a.propDep||s.propDep,(function(t,e){var r=t.ELEMENTS;return t.OFFSET?e.def(r,"?",r,".vertCount-",t.OFFSET,":-1"):e.def(r,"?",r,".vertCount:-1")})):null}(),instances:r("instances",!1),offset:s}}function k(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 Z;if(z(r))s.state=1,s.buffer=i.getBuffer(i.create(r,34962,!1,!0)),s.type=0;else if(c=i.getBuffer(r))s.state=1,s.buffer=c,s.type=0;else if("constant"in r){var l=r.constant;s.buffer="null",s.state=2,"number"==typeof l?s.x=l:wt.forEach((function(t,e){e<l.length&&(s[t]=l[e])}))}else{var c=z(r.buffer)?i.getBuffer(i.create(r.buffer,34962,!1,!0)):i.getBuffer(r.buffer),u=0|r.offset,f=0|r.stride,h=0|r.size,p=!!r.normalized,d=0;"type"in r&&(d=Q[r.type]),r=0|r.divisor,s.buffer=c,s.state=1,s.size=h,s.normalized=p,s.type=d||c.dtype,s.offset=u,s.stride=f,s.divisor=r}o[t]=F((function(t,e){var r=t.attribCache;if(a in r)return r[a];var n={isStream:!1};return Object.keys(s).forEach((function(t){n[t]=s[t]})),s.buffer&&(n.buffer=t.link(s.buffer),n.type=n.type||n.buffer+".dtype"),r[a]=n}))})),Object.keys(a).forEach((function(t){var e=a[t];o[t]=B(e,(function(t,r){function n(t){r(l[t],"=",i,".",t,"|0;")}var i=t.invoke(r,e),a=t.shared,o=t.constants,s=a.isBufferArgs,l=(a=a.buffer,{isStream:r.def(!1)}),c=new Z;c.state=1,Object.keys(c).forEach((function(t){l[t]=r.def(""+c[t])}));var u=l.buffer,f=l.type;return r("if(",s,"(",i,")){",l.isStream,"=true;",u,"=",a,".createStream(",34962,",",i,");",f,"=",u,".dtype;","}else{",u,"=",a,".getBuffer(",i,");","if(",u,"){",f,"=",u,".dtype;",'}else if("constant" in ',i,"){",l.state,"=",2,";","if(typeof "+i+'.constant === "number"){',l[wt[0]],"=",i,".constant;",wt.slice(1).map((function(t){return l[t]})).join("="),"=0;","}else{",wt.map((function(t,e){return l[t]+"="+i+".constant.length>"+e+"?"+i+".constant["+e+"]:0;"})).join(""),"}}else{","if(",s,"(",i,".buffer)){",u,"=",a,".createStream(",34962,",",i,".buffer);","}else{",u,"=",a,".getBuffer(",i,".buffer);","}",f,'="type" in ',i,"?",o.glTypes,"[",i,".type]:",u,".dtype;",l.normalized,"=!!",i,".normalized;"),n("size"),n("offset"),n("stride"),n("divisor"),r("}}"),r.exit("if(",l.isStream,"){",a,".destroyStream(",u,");","}"),l}))})),o}function M(t,e,n,i,o){function s(t){var e=c[t];e&&(h[t]=e)}var l=function(t,e){if("string"==typeof(r=t.static).frag&&"string"==typeof r.vert){if(0<Object.keys(e.dynamic).length)return null;var r=e.static,n=Object.keys(r);if(0<n.length&&"number"==typeof r[n[0]]){for(var i=[],a=0;a<n.length;++a)i.push([0|r[n[a]],n[a]]);return i}}return null}(t,e),c=function(t,e,r){function n(t){if(t in i){var r=i[t];t=!0;var n,o,s=0|r.x,l=0|r.y;return"width"in r?n=0|r.width:t=!1,"height"in r?o=0|r.height:t=!1,new D(!t&&e&&e.thisDep,!t&&e&&e.contextDep,!t&&e&&e.propDep,(function(t,e){var i=t.shared.context,a=n;"width"in r||(a=e.def(i,".","framebufferWidth","-",s));var c=o;return"height"in r||(c=e.def(i,".","framebufferHeight","-",l)),[s,l,a,c]}))}if(t in a){var c=a[t];return t=B(c,(function(t,e){var r=t.invoke(e,c),n=t.shared.context,i=e.def(r,".x|0"),a=e.def(r,".y|0");return[i,a,e.def('"width" in ',r,"?",r,".width|0:","(",n,".","framebufferWidth","-",i,")"),r=e.def('"height" in ',r,"?",r,".height|0:","(",n,".","framebufferHeight","-",a,")")]})),e&&(t.thisDep=t.thisDep||e.thisDep,t.contextDep=t.contextDep||e.contextDep,t.propDep=t.propDep||e.propDep),t}return e?new D(e.thisDep,e.contextDep,e.propDep,(function(t,e){var r=t.shared.context;return[0,0,e.def(r,".","framebufferWidth"),e.def(r,".","framebufferHeight")]})):null}var i=t.static,a=t.dynamic;if(t=n("viewport")){var o=t;t=new D(t.thisDep,t.contextDep,t.propDep,(function(t,e){var r=o.append(t,e),n=t.shared.context;return e.set(n,".viewportWidth",r[2]),e.set(n,".viewportHeight",r[3]),r}))}return{viewport:t,scissor_box:n("scissor.box")}}(t,d=_(t)),f=T(t),h=function(t,e){var r=t.static,n=t.dynamic,i={};return rt.forEach((function(t){function e(e,a){if(t in r){var s=e(r[t]);i[o]=F((function(){return s}))}else if(t in n){var l=n[t];i[o]=B(l,(function(t,e){return a(t,e,t.invoke(e,l))}))}}var o=v(t);switch(t){case"cull.enable":case"blend.enable":case"dither":case"stencil.enable":case"depth.enable":case"scissor.enable":case"polygonOffset.enable":case"sample.alpha":case"sample.enable":case"depth.mask":return e((function(t){return t}),(function(t,e,r){return r}));case"depth.func":return e((function(t){return Mt[t]}),(function(t,e,r){return e.def(t.constants.compareFuncs,"[",r,"]")}));case"depth.range":return e((function(t){return t}),(function(t,e,r){return[e.def("+",r,"[0]"),e=e.def("+",r,"[1]")]}));case"blend.func":return e((function(t){return[kt["srcRGB"in t?t.srcRGB:t.src],kt["dstRGB"in t?t.dstRGB:t.dst],kt["srcAlpha"in t?t.srcAlpha:t.src],kt["dstAlpha"in t?t.dstAlpha:t.dst]]}),(function(t,e,r){function n(t,n){return e.def('"',t,n,'" in ',r,"?",r,".",t,n,":",r,".",t)}t=t.constants.blendFuncs;var i=n("src","RGB"),a=n("dst","RGB"),o=(i=e.def(t,"[",i,"]"),e.def(t,"[",n("src","Alpha"),"]"));return[i,a=e.def(t,"[",a,"]"),o,t=e.def(t,"[",n("dst","Alpha"),"]")]}));case"blend.equation":return e((function(t){return"string"==typeof t?[J[t],J[t]]:"object"==typeof t?[J[t.rgb],J[t.alpha]]:void 0}),(function(t,e,r){var n=t.constants.blendEquations,i=e.def(),a=e.def();return(t=t.cond("typeof ",r,'==="string"')).then(i,"=",a,"=",n,"[",r,"];"),t.else(i,"=",n,"[",r,".rgb];",a,"=",n,"[",r,".alpha];"),e(t),[i,a]}));case"blend.color":return e((function(t){return a(4,(function(e){return+t[e]}))}),(function(t,e,r){return a(4,(function(t){return e.def("+",r,"[",t,"]")}))}));case"stencil.mask":return e((function(t){return 0|t}),(function(t,e,r){return e.def(r,"|0")}));case"stencil.func":return e((function(t){return[Mt[t.cmp||"keep"],t.ref||0,"mask"in t?t.mask:-1]}),(function(t,e,r){return[t=e.def('"cmp" in ',r,"?",t.constants.compareFuncs,"[",r,".cmp]",":",7680),e.def(r,".ref|0"),e=e.def('"mask" in ',r,"?",r,".mask|0:-1")]}));case"stencil.opFront":case"stencil.opBack":return e((function(e){return["stencil.opBack"===t?1029:1028,At[e.fail||"keep"],At[e.zfail||"keep"],At[e.zpass||"keep"]]}),(function(e,r,n){function i(t){return r.def('"',t,'" in ',n,"?",a,"[",n,".",t,"]:",7680)}var a=e.constants.stencilOps;return["stencil.opBack"===t?1029:1028,i("fail"),i("zfail"),i("zpass")]}));case"polygonOffset.offset":return e((function(t){return[0|t.factor,0|t.units]}),(function(t,e,r){return[e.def(r,".factor|0"),e=e.def(r,".units|0")]}));case"cull.face":return e((function(t){var e=0;return"front"===t?e=1028:"back"===t&&(e=1029),e}),(function(t,e,r){return e.def(r,'==="front"?',1028,":",1029)}));case"lineWidth":return e((function(t){return t}),(function(t,e,r){return r}));case"frontFace":return e((function(t){return St[t]}),(function(t,e,r){return e.def(r+'==="cw"?2304:2305')}));case"colorMask":return e((function(t){return t.map((function(t){return!!t}))}),(function(t,e,r){return a(4,(function(t){return"!!"+r+"["+t+"]"}))}));case"sample.coverage":return e((function(t){return["value"in t?t.value:1,!!t.invert]}),(function(t,e,r){return[e.def('"value" in ',r,"?+",r,".value:1"),e=e.def("!!",r,".invert")]}))}})),i}(t),p=w(t,0,l);s("viewport"),s(v("scissor.box"));var d,g=0<Object.keys(h).length;if((d={framebuffer:d,draw:f,shader:p,state:h,dirty:g,scopeVAO:null,drawVAO:null,useVAO:!1,attributes:{}}).profile=function(t){var e,r=t.static;if(t=t.dynamic,"profile"in r){var n=!!r.profile;(e=F((function(t,e){return n}))).enable=n}else if("profile"in t){var i=t.profile;e=B(i,(function(t,e){return t.invoke(e,i)}))}return e}(t),d.uniforms=function(t,e){var r=t.static,n=t.dynamic,i={};return Object.keys(r).forEach((function(t){var e,n=r[t];if("number"==typeof n||"boolean"==typeof n)e=F((function(){return n}));else if("function"==typeof n){var o=n._reglType;"texture2d"===o||"textureCube"===o?e=F((function(t){return t.link(n)})):"framebuffer"!==o&&"framebufferCube"!==o||(e=F((function(t){return t.link(n.color[0])})))}else m(n)&&(e=F((function(t){return t.global.def("[",a(n.length,(function(t){return n[t]})),"]")})));e.value=n,i[t]=e})),Object.keys(n).forEach((function(t){var e=n[t];i[t]=B(e,(function(t,r){return t.invoke(r,e)}))})),i}(n),d.drawVAO=d.scopeVAO=function(t,e){var r=t.static,n=t.dynamic;if("vao"in r){var i=r.vao;return null!==i&&null===u.getVAO(i)&&(i=u.createVAO(i)),F((function(t){return t.link(u.getVAO(i))}))}if("vao"in n){var a=n.vao;return B(a,(function(t,e){var r=t.invoke(e,a);return e.def(t.shared.vao+".getVAO("+r+")")}))}return null}(t),!d.drawVAO&&p.program&&!l&&r.angle_instanced_arrays){var y=!0;if(t=p.program.attributes.map((function(t){return t=e.static[t],y=y&&!!t,t})),y&&0<t.length){var x=u.getVAO(u.createVAO(t));d.drawVAO=new D(null,null,null,(function(t,e){return t.link(x)})),d.useVAO=!0}}return l?d.useVAO=!0:d.attributes=k(e),d.context=function(t){var e=t.static,r=t.dynamic,n={};return Object.keys(e).forEach((function(t){var r=e[t];n[t]=F((function(t,e){return"number"==typeof r||"boolean"==typeof r?""+r:t.link(r)}))})),Object.keys(r).forEach((function(t){var e=r[t];n[t]=B(e,(function(t,r){return t.invoke(r,e)}))})),n}(i),d}function A(t,e,r){var n=t.shared.context,i=t.scope();Object.keys(r).forEach((function(a){e.save(n,"."+a),i(n,".",a,"=",r[a].append(t,e),";")})),e(i)}function S(t,e,r,n){var i,a=(s=t.shared).gl,o=s.framebuffer;$&&(i=e.def(s.extensions,".webgl_draw_buffers"));var s=(l=t.constants).drawBuffer,l=l.backBuffer;t=r?r.append(t,e):e.def(o,".next"),n||e("if(",t,"!==",o,".cur){"),e("if(",t,"){",a,".bindFramebuffer(",36160,",",t,".framebuffer);"),$&&e(i,".drawBuffersWEBGL(",s,"[",t,".colorAttachments.length]);"),e("}else{",a,".bindFramebuffer(",36160,",null);"),$&&e(i,".drawBuffersWEBGL(",l,");"),e("}",o,".cur=",t,";"),n||e("}")}function E(t,e,r){var n=t.shared,i=n.gl,o=t.current,s=t.next,l=n.current,c=n.next,u=t.cond(l,".dirty");rt.forEach((function(e){var n,f;if(!((e=v(e))in r.state))if(e in s){n=s[e],f=o[e];var h=a(tt[e].length,(function(t){return u.def(n,"[",t,"]")}));u(t.cond(h.map((function(t,e){return t+"!=="+f+"["+e+"]"})).join("||")).then(i,".",at[e],"(",h,");",h.map((function(t,e){return f+"["+e+"]="+t})).join(";"),";"))}else n=u.def(c,".",e),h=t.cond(n,"!==",l,".",e),u(h),e in it?h(t.cond(n).then(i,".enable(",it[e],");").else(i,".disable(",it[e],");"),l,".",e,"=",n,";"):h(i,".",at[e],"(",n,");",l,".",e,"=",n,";")})),0===Object.keys(r.state).length&&u(l,".dirty=false;"),e(u)}function C(t,e,r,n){var i=t.shared,a=t.current,o=i.current,s=i.gl;O(Object.keys(r)).forEach((function(i){var l=r[i];if(!n||n(l)){var c=l.append(t,e);if(it[i]){var u=it[i];R(l)?e(s,c?".enable(":".disable(",u,");"):e(t.cond(c).then(s,".enable(",u,");").else(s,".disable(",u,");")),e(o,".",i,"=",c,";")}else if(m(c)){var f=a[i];e(s,".",at[i],"(",c,");",c.map((function(t,e){return f+"["+e+"]="+t})).join(";"),";")}else e(s,".",at[i],"(",c,");",o,".",i,"=",c,";")}}))}function L(t,e){K&&(t.instancing=e.def(t.shared.extensions,".angle_instanced_arrays"))}function I(t,e,r,n,i){function a(){return"undefined"==typeof performance?"Date.now()":"performance.now()"}function o(t){t(c=e.def(),"=",a(),";"),"string"==typeof i?t(h,".count+=",i,";"):t(h,".count++;"),d&&(n?t(u=e.def(),"=",g,".getNumPendingQueries();"):t(g,".beginQuery(",h,");"))}function s(t){t(h,".cpuTime+=",a(),"-",c,";"),d&&(n?t(g,".pushScopeStats(",u,",",g,".getNumPendingQueries(),",h,");"):t(g,".endQuery();"))}function l(t){var r=e.def(p,".profile");e(p,".profile=",t,";"),e.exit(p,".profile=",r,";")}var c,u,f=t.shared,h=t.stats,p=f.current,g=f.timer;if(r=r.profile){if(R(r))return void(r.enable?(o(e),s(e.exit),l("true")):l("false"));l(r=r.append(t,e))}else r=e.def(p,".profile");o(f=t.block()),e("if(",r,"){",f,"}"),s(t=t.block()),e.exit("if(",r,"){",t,"}")}function N(t,e,r,n,i){function a(r,n,i){function a(){e("if(!",u,".buffer){",l,".enableVertexAttribArray(",c,");}");var r,a=i.type;r=i.size?e.def(i.size,"||",n):n,e("if(",u,".type!==",a,"||",u,".size!==",r,"||",p.map((function(t){return u+"."+t+"!=="+i[t]})).join("||"),"){",l,".bindBuffer(",34962,",",f,".buffer);",l,".vertexAttribPointer(",[c,r,a,i.normalized,i.stride,i.offset],");",u,".type=",a,";",u,".size=",r,";",p.map((function(t){return u+"."+t+"="+i[t]+";"})).join(""),"}"),K&&(a=i.divisor,e("if(",u,".divisor!==",a,"){",t.instancing,".vertexAttribDivisorANGLE(",[c,a],");",u,".divisor=",a,";}"))}function s(){e("if(",u,".buffer){",l,".disableVertexAttribArray(",c,");",u,".buffer=null;","}if(",wt.map((function(t,e){return u+"."+t+"!=="+h[e]})).join("||"),"){",l,".vertexAttrib4f(",c,",",h,");",wt.map((function(t,e){return u+"."+t+"="+h[e]+";"})).join(""),"}")}var l=o.gl,c=e.def(r,".location"),u=e.def(o.attributes,"[",c,"]");r=i.state;var f=i.buffer,h=[i.x,i.y,i.z,i.w],p=["buffer","normalized","offset","stride"];1===r?a():2===r?s():(e("if(",r,"===",1,"){"),a(),e("}else{"),s(),e("}"))}var o=t.shared;n.forEach((function(n){var o,s=n.name,l=r.attributes[s];if(l){if(!i(l))return;o=l.append(t,e)}else{if(!i(Et))return;var c=t.scopeAttrib(s);o={},Object.keys(new Z).forEach((function(t){o[t]=e.def(c,".",t)}))}a(t.link(n),function(t){switch(t){case 35664:case 35667:case 35671:return 2;case 35665:case 35668:case 35672:return 3;case 35666:case 35669:case 35673:return 4;default:return 1}}(n.info.type),o)}))}function j(t,r,n,i,o){for(var s,l=t.shared,c=l.gl,u=0;u<i.length;++u){var f,h=(g=i[u]).name,p=g.info.type,d=n.uniforms[h],g=t.link(g)+".location";if(d){if(!o(d))continue;if(R(d)){if(h=d.value,35678===p||35680===p)r(c,".uniform1i(",g,",",(p=t.link(h._texture||h.color[0]._texture))+".bind());"),r.exit(p,".unbind();");else if(35674===p||35675===p||35676===p)d=2,35675===p?d=3:35676===p&&(d=4),r(c,".uniformMatrix",d,"fv(",g,",false,",h=t.global.def("new Float32Array(["+Array.prototype.slice.call(h)+"])"),");");else{switch(p){case 5126:s="1f";break;case 35664:s="2f";break;case 35665:s="3f";break;case 35666:s="4f";break;case 35670:case 5124:s="1i";break;case 35671:case 35667:s="2i";break;case 35672:case 35668:s="3i";break;case 35673:s="4i";break;case 35669:s="4i"}r(c,".uniform",s,"(",g,",",m(h)?Array.prototype.slice.call(h):h,");")}continue}f=d.append(t,r)}else{if(!o(Et))continue;f=r.def(l.uniforms,"[",e.id(h),"]")}switch(35678===p?r("if(",f,"&&",f,'._reglType==="framebuffer"){',f,"=",f,".color[0];","}"):35680===p&&r("if(",f,"&&",f,'._reglType==="framebufferCube"){',f,"=",f,".color[0];","}"),h=1,p){case 35678:case 35680:p=r.def(f,"._texture"),r(c,".uniform1i(",g,",",p,".bind());"),r.exit(p,".unbind();");continue;case 5124:case 35670:s="1i";break;case 35667:case 35671:s="2i",h=2;break;case 35668:case 35672:s="3i",h=3;break;case 35669:case 35673:s="4i",h=4;break;case 5126:s="1f";break;case 35664:s="2f",h=2;break;case 35665:s="3f",h=3;break;case 35666:s="4f",h=4;break;case 35674:s="Matrix2fv";break;case 35675:s="Matrix3fv";break;case 35676:s="Matrix4fv"}if(r(c,".uniform",s,"(",g,","),"M"===s.charAt(0)){g=Math.pow(p-35674+2,2);var v=t.global.def("new Float32Array(",g,")");r("false,(Array.isArray(",f,")||",f," instanceof Float32Array)?",f,":(",a(g,(function(t){return v+"["+t+"]="+f+"["+t+"]"})),",",v,")")}else r(1<h?a(h,(function(t){return f+"["+t+"]"})):f);r(");")}}function U(t,e,r,n){function i(i){var a=h[i];return a?a.contextDep&&n.contextDynamic||a.propDep?a.append(t,r):a.append(t,e):e.def(f,".",i)}function a(){function t(){r(l,".drawElementsInstancedANGLE(",[d,m,v,g+"<<(("+v+"-5121)>>1)",s],");")}function e(){r(l,".drawArraysInstancedANGLE(",[d,g,m,s],");")}p?y?t():(r("if(",p,"){"),t(),r("}else{"),e(),r("}")):e()}function o(){function t(){r(u+".drawElements("+[d,m,v,g+"<<(("+v+"-5121)>>1)"]+");")}function e(){r(u+".drawArrays("+[d,g,m]+");")}p?y?t():(r("if(",p,"){"),t(),r("}else{"),e(),r("}")):e()}var s,l,c=t.shared,u=c.gl,f=c.draw,h=n.draw,p=function(){var i=h.elements,a=e;return i?((i.contextDep&&n.contextDynamic||i.propDep)&&(a=r),i=i.append(t,a)):i=a.def(f,".","elements"),i&&a("if("+i+")"+u+".bindBuffer(34963,"+i+".buffer.buffer);"),i}(),d=i("primitive"),g=i("offset"),m=function(){var i=h.count,a=e;return i?((i.contextDep&&n.contextDynamic||i.propDep)&&(a=r),i=i.append(t,a)):i=a.def(f,".","count"),i}();if("number"==typeof m){if(0===m)return}else r("if(",m,"){"),r.exit("}");K&&(s=i("instances"),l=t.instancing);var v=p+".type",y=h.elements&&R(h.elements);K&&("number"!=typeof s||0<=s)?"string"==typeof s?(r("if(",s,">0){"),a(),r("}else if(",s,"<0){"),o(),r("}")):a():o()}function V(t,e,r,n,i){return i=(e=b()).proc("body",i),K&&(e.instancing=i.def(e.shared.extensions,".angle_instanced_arrays")),t(e,i,r,n),e.compile().body}function H(t,e,r,n){L(t,e),r.useVAO?r.drawVAO?e(t.shared.vao,".setVAO(",r.drawVAO.append(t,e),");"):e(t.shared.vao,".setVAO(",t.shared.vao,".targetVAO);"):(e(t.shared.vao,".setVAO(null);"),N(t,e,r,n.attributes,(function(){return!0}))),j(t,e,r,n.uniforms,(function(){return!0})),U(t,e,e,r)}function G(t,e,r,n){function i(){return!0}t.batchId="a1",L(t,e),N(t,e,r,n.attributes,i),j(t,e,r,n.uniforms,i),U(t,e,e,r)}function Y(t,e,r,n){function i(t){return t.contextDep&&o||t.propDep}function a(t){return!i(t)}L(t,e);var o=r.contextDep,s=e.def(),l=e.def();t.shared.props=l,t.batchId=s;var c=t.scope(),u=t.scope();e(c.entry,"for(",s,"=0;",s,"<","a1",";++",s,"){",l,"=","a0","[",s,"];",u,"}",c.exit),r.needsContext&&A(t,u,r.context),r.needsFramebuffer&&S(t,u,r.framebuffer),C(t,u,r.state,i),r.profile&&i(r.profile)&&I(t,u,r,!1,!0),n?(r.useVAO?r.drawVAO?i(r.drawVAO)?u(t.shared.vao,".setVAO(",r.drawVAO.append(t,u),");"):c(t.shared.vao,".setVAO(",r.drawVAO.append(t,c),");"):c(t.shared.vao,".setVAO(",t.shared.vao,".targetVAO);"):(c(t.shared.vao,".setVAO(null);"),N(t,c,r,n.attributes,a),N(t,u,r,n.attributes,i)),j(t,c,r,n.uniforms,a),j(t,u,r,n.uniforms,i),U(t,c,u,r)):(e=t.global.def("{}"),n=r.shader.progVar.append(t,u),l=u.def(n,".id"),c=u.def(e,"[",l,"]"),u(t.shared.gl,".useProgram(",n,".program);","if(!",c,"){",c,"=",e,"[",l,"]=",t.link((function(e){return V(G,t,r,e,2)})),"(",n,");}",c,".call(this,a0[",s,"],",s,");"))}function W(t,r){function n(e){var n=r.shader[e];n&&i.set(a.shader,"."+e,n.append(t,i))}var i=t.proc("scope",3);t.batchId="a2";var a=t.shared,o=a.current;A(t,i,r.context),r.framebuffer&&r.framebuffer.append(t,i),O(Object.keys(r.state)).forEach((function(e){var n=r.state[e].append(t,i);m(n)?n.forEach((function(r,n){i.set(t.next[e],"["+n+"]",r)})):i.set(a.next,"."+e,n)})),I(t,i,r,!0,!0),["elements","offset","count","instances","primitive"].forEach((function(e){var n=r.draw[e];n&&i.set(a.draw,"."+e,""+n.append(t,i))})),Object.keys(r.uniforms).forEach((function(n){i.set(a.uniforms,"["+e.id(n)+"]",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 Z).forEach((function(t){i.set(a,"."+t,n[t])}))})),r.scopeVAO&&i.set(a.vao,".targetVAO",r.scopeVAO.append(t,i)),n("vert"),n("frag"),0<Object.keys(r.state).length&&(i(o,".dirty=true;"),i.exit(o,".dirty=true;")),i("a1(",t.shared.context,",a0,",t.batchId,");")}function X(t,e,r){var n=e.static[r];if(n&&function(t){if("object"==typeof t&&!m(t)){for(var e=Object.keys(t),r=0;r<e.length;++r)if(q.isDynamic(t[e[r]]))return!0;return!1}}(n)){var i=t.global,a=Object.keys(n),o=!1,s=!1,l=!1,c=t.global.def("{}");a.forEach((function(e){var r=n[e];if(q.isDynamic(r))"function"==typeof r&&(r=n[e]=q.unbox(r)),e=B(r,null),o=o||e.thisDep,l=l||e.propDep,s=s||e.contextDep;else{switch(i(c,".",e,"="),typeof r){case"number":i(r);break;case"string":i('"',r,'"');break;case"object":Array.isArray(r)&&i("[",r.join(),"]");break;default:i(t.link(r))}i(";")}})),e.dynamic[r]=new q.DynamicVariable(4,{thisDep:o,contextDep:s,propDep:l,ref:c,append:function(t,e){a.forEach((function(r){var i=n[r];q.isDynamic(i)&&(i=t.invoke(e,i),e(c,".",r,"=",i,";"))}))}}),delete e.static[r]}}var Z=u.Record,J={add:32774,subtract:32778,"reverse subtract":32779};r.ext_blend_minmax&&(J.min=32775,J.max=32776);var K=r.angle_instanced_arrays,$=r.webgl_draw_buffers,tt={dirty:!0,profile:g.profile},et={},rt=[],it={},at={};y("dither",3024),y("blend.enable",3042),x("blend.color","blendColor",[0,0,0,0]),x("blend.equation","blendEquationSeparate",[32774,32774]),x("blend.func","blendFuncSeparate",[1,0,1,0]),y("depth.enable",2929,!0),x("depth.func","depthFunc",513),x("depth.range","depthRange",[0,1]),x("depth.mask","depthMask",!0),x("colorMask","colorMask",[!0,!0,!0,!0]),y("cull.enable",2884),x("cull.face","cullFace",1029),x("frontFace","frontFace",2305),x("lineWidth","lineWidth",1),y("polygonOffset.enable",32823),x("polygonOffset.offset","polygonOffset",[0,0]),y("sample.alpha",32926),y("sample.enable",32928),x("sample.coverage","sampleCoverage",[1,!1]),y("stencil.enable",2960),x("stencil.mask","stencilMask",-1),x("stencil.func","stencilFunc",[519,0,-1]),x("stencil.opFront","stencilOpSeparate",[1028,7680,7680,7680]),x("stencil.opBack","stencilOpSeparate",[1029,7680,7680,7680]),y("scissor.enable",3089),x("scissor.box","scissor",[0,0,t.drawingBufferWidth,t.drawingBufferHeight]),x("viewport","viewport",[0,0,t.drawingBufferWidth,t.drawingBufferHeight]);var ot={gl:t,context:p,strings:e,next:et,current:tt,draw:h,elements:o,buffer:i,shader:f,attributes:u.state,vao:u,uniforms:c,framebuffer:l,extensions:r,timer:d,isBufferArgs:z},st={primTypes:nt,compareFuncs:Mt,blendFuncs:kt,blendEquations:J,stencilOps:At,glTypes:Q,orientationType:St};$&&(st.backBuffer=[1029],st.drawBuffer=a(n.maxDrawbuffers,(function(t){return 0===t?[0]:a(t,(function(t){return 36064+t}))})));var lt=0;return{next:et,current:tt,procs:function(){var t=b(),e=t.proc("poll"),i=t.proc("refresh"),o=t.block();e(o),i(o);var s,l=t.shared,c=l.gl,u=l.next,f=l.current;o(f,".dirty=false;"),S(t,e),S(t,i,null,!0),K&&(s=t.link(K)),r.oes_vertex_array_object&&i(t.link(r.oes_vertex_array_object),".bindVertexArrayOES(null);");for(var h=0;h<n.maxAttributes;++h){var p=i.def(l.attributes,"[",h,"]"),d=t.cond(p,".buffer");d.then(c,".enableVertexAttribArray(",h,");",c,".bindBuffer(",34962,",",p,".buffer.buffer);",c,".vertexAttribPointer(",h,",",p,".size,",p,".type,",p,".normalized,",p,".stride,",p,".offset);").else(c,".disableVertexAttribArray(",h,");",c,".vertexAttrib4f(",h,",",p,".x,",p,".y,",p,".z,",p,".w);",p,".buffer=null;"),i(d),K&&i(s,".vertexAttribDivisorANGLE(",h,",",p,".divisor);")}return i(t.shared.vao,".currentVAO=null;",t.shared.vao,".setVAO(",t.shared.vao,".targetVAO);"),Object.keys(it).forEach((function(r){var n=it[r],a=o.def(u,".",r),s=t.block();s("if(",a,"){",c,".enable(",n,")}else{",c,".disable(",n,")}",f,".",r,"=",a,";"),i(s),e("if(",a,"!==",f,".",r,"){",s,"}")})),Object.keys(at).forEach((function(r){var n,s,l=at[r],h=tt[r],p=t.block();p(c,".",l,"("),m(h)?(l=h.length,n=t.global.def(u,".",r),s=t.global.def(f,".",r),p(a(l,(function(t){return n+"["+t+"]"})),");",a(l,(function(t){return s+"["+t+"]="+n+"["+t+"];"})).join("")),e("if(",a(l,(function(t){return n+"["+t+"]!=="+s+"["+t+"]"})).join("||"),"){",p,"}")):(n=o.def(u,".",r),s=o.def(f,".",r),p(n,");",f,".",r,"=",n,";"),e("if(",n,"!==",s,"){",p,"}")),i(p)})),t.compile()}(),compile:function(t,e,r,n,i){var a=b();return a.stats=a.link(i),Object.keys(e.static).forEach((function(t){X(a,e,t)})),Tt.forEach((function(e){X(a,t,e)})),r=M(t,e,r,n),function(t,e){var r=t.proc("draw",1);L(t,r),A(t,r,e.context),S(t,r,e.framebuffer),E(t,r,e),C(t,r,e.state),I(t,r,e,!1,!0);var n=e.shader.progVar.append(t,r);if(r(t.shared.gl,".useProgram(",n,".program);"),e.shader.program)H(t,r,e,e.shader.program);else{r(t.shared.vao,".setVAO(null);");var i=t.global.def("{}"),a=r.def(n,".id"),o=r.def(i,"[",a,"]");r(t.cond(o).then(o,".call(this,a0);").else(o,"=",i,"[",a,"]=",t.link((function(r){return V(H,t,e,r,1)})),"(",n,");",o,".call(this,a0);"))}0<Object.keys(e.state).length&&r(t.shared.current,".dirty=true;")}(a,r),W(a,r),function(t,e){function r(t){return t.contextDep&&i||t.propDep}var n=t.proc("batch",2);t.batchId="0",L(t,n);var i=!1,a=!0;Object.keys(e.context).forEach((function(t){i=i||e.context[t].propDep})),i||(A(t,n,e.context),a=!1);var o=!1;if((s=e.framebuffer)?(s.propDep?i=o=!0:s.contextDep&&i&&(o=!0),o||S(t,n,s)):S(t,n,null),e.state.viewport&&e.state.viewport.propDep&&(i=!0),E(t,n,e),C(t,n,e.state,(function(t){return!r(t)})),e.profile&&r(e.profile)||I(t,n,e,!1,"a1"),e.contextDep=i,e.needsContext=a,e.needsFramebuffer=o,(a=e.shader.progVar).contextDep&&i||a.propDep)Y(t,n,e,null);else if(a=a.append(t,n),n(t.shared.gl,".useProgram(",a,".program);"),e.shader.program)Y(t,n,e,e.shader.program);else{n(t.shared.vao,".setVAO(null);");var s=t.global.def("{}"),l=(o=n.def(a,".id"),n.def(s,"[",o,"]"));n(t.cond(l).then(l,".call(this,a0,a1);").else(l,"=",s,"[",o,"]=",t.link((function(r){return V(Y,t,e,r,2)})),"(",a,");",l,".call(this,a0,a1);"))}0<Object.keys(e.state).length&&n(t.shared.current,".dirty=true;")}(a,r),a.compile()}}}function j(t,e){for(var r=0;r<t.length;++r)if(t[r]===e)return r;return-1}var U=function(t,e){for(var r=Object.keys(e),n=0;n<r.length;++n)t[r[n]]=e[r[n]];return t},V=0,q={DynamicVariable:t,define:function(r,n){return new t(r,e(n+""))},isDynamic:function(e){return"function"==typeof e&&!e._reglType||e instanceof t},unbox:function(e,r){return"function"==typeof e?new t(0,e):e},accessor:e},H={next:"function"==typeof requestAnimationFrame?function(t){return requestAnimationFrame(t)}:function(t){return setTimeout(t,16)},cancel:"function"==typeof cancelAnimationFrame?function(t){return cancelAnimationFrame(t)}:clearTimeout},G="undefined"!=typeof performance&&performance.now?function(){return performance.now()}:function(){return+new Date},Y=s();Y.zero=s();var W=function(t,e){var r=1;e.ext_texture_filter_anisotropic&&(r=t.getParameter(34047));var n=1,i=1;e.webgl_draw_buffers&&(n=t.getParameter(34852),i=t.getParameter(36063));var a=!!e.oes_texture_float;if(a){a=t.createTexture(),t.bindTexture(3553,a),t.texImage2D(3553,0,6408,1,1,0,6408,5126,null);var o=t.createFramebuffer();if(t.bindFramebuffer(36160,o),t.framebufferTexture2D(36160,36064,3553,a,0),t.bindTexture(3553,null),36053!==t.checkFramebufferStatus(36160))a=!1;else{t.viewport(0,0,1,1),t.clearColor(1,0,0,1),t.clear(16384);var s=Y.allocType(5126,4);t.readPixels(0,0,1,1,6408,5126,s),t.getError()?a=!1:(t.deleteFramebuffer(o),t.deleteTexture(a),a=1===s[0]),Y.freeType(s)}}return s=!0,"undefined"!=typeof navigator&&(/MSIE/.test(navigator.userAgent)||/Trident\//.test(navigator.appVersion)||/Edge/.test(navigator.userAgent))||(s=t.createTexture(),o=Y.allocType(5121,36),t.activeTexture(33984),t.bindTexture(34067,s),t.texImage2D(34069,0,6408,3,3,0,6408,5121,o),Y.freeType(o),t.bindTexture(34067,null),t.deleteTexture(s),s=!t.getError()),{colorBits:[t.getParameter(3410),t.getParameter(3411),t.getParameter(3412),t.getParameter(3413)],depthBits:t.getParameter(3414),stencilBits:t.getParameter(3415),subpixelBits:t.getParameter(3408),extensions:Object.keys(e).filter((function(t){return!!e[t]})),maxAnisotropic:r,maxDrawbuffers:n,maxColorAttachments:i,pointSizeDims:t.getParameter(33901),lineWidthDims:t.getParameter(33902),maxViewportDims:t.getParameter(3386),maxCombinedTextureUnits:t.getParameter(35661),maxCubeMapSize:t.getParameter(34076),maxRenderbufferSize:t.getParameter(34024),maxTextureUnits:t.getParameter(34930),maxTextureSize:t.getParameter(3379),maxAttributes:t.getParameter(34921),maxVertexUniforms:t.getParameter(36347),maxVertexTextureUnits:t.getParameter(35660),maxVaryingVectors:t.getParameter(36348),maxFragmentUniforms:t.getParameter(36349),glsl:t.getParameter(35724),renderer:t.getParameter(7937),vendor:t.getParameter(7936),version:t.getParameter(7938),readFloat:a,npotTextureCube:s}},X=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},Z=function(t){return Object.keys(t).map((function(e){return t[e]}))},J={shape:function(t){for(var e=[];t.length;t=t[0])e.push(t.length);return e},flatten:function(t,e,r,n){var i=1;if(e.length)for(var a=0;a<e.length;++a)i*=e[a];else i=0;switch(r=n||Y.allocType(r,i),e.length){case 0:break;case 1:for(n=e[0],e=0;e<n;++e)r[e]=t[e];break;case 2:for(n=e[0],e=e[1],a=i=0;a<n;++a)for(var o=t[a],s=0;s<e;++s)r[i++]=o[s];break;case 3:c(t,e[0],e[1],e[2],r,0);break;default:!function t(e,r,n,i,a){for(var o=1,s=n+1;s<r.length;++s)o*=r[s];var l=r[n];if(4==r.length-n){var u=r[n+1],f=r[n+2];for(r=r[n+3],s=0;s<l;++s)c(e[s],u,f,r,i,a),a+=o}else for(s=0;s<l;++s)t(e[s],r,n+1,i,a),a+=o}(t,e,0,r,0)}return r}},K={"[object Int8Array]":5120,"[object Int16Array]":5122,"[object Int32Array]":5124,"[object Uint8Array]":5121,"[object Uint8ClampedArray]":5121,"[object Uint16Array]":5123,"[object Uint32Array]":5125,"[object Float32Array]":5126,"[object Float64Array]":5121,"[object ArrayBuffer]":5121},Q={int8:5120,int16:5122,int32:5124,uint8:5121,uint16:5123,uint32:5125,float:5126,float32:5126},$={dynamic:35048,stream:35040,static:35044},tt=J.flatten,et=J.shape,rt=[];rt[5120]=1,rt[5122]=2,rt[5124]=4,rt[5121]=1,rt[5123]=2,rt[5125]=4,rt[5126]=4;var nt={points:0,point:0,lines:1,line:1,triangles:4,triangle:4,"line loop":2,"line strip":3,"triangle strip":5,"triangle fan":6},it=new Float32Array(1),at=new Uint32Array(it.buffer),ot=[9984,9986,9985,9987],st=[0,6409,6410,6407,6408],lt={};lt[6409]=lt[6406]=lt[6402]=1,lt[34041]=lt[6410]=2,lt[6407]=lt[35904]=3,lt[6408]=lt[35906]=4;var ct=v("HTMLCanvasElement"),ut=v("OffscreenCanvas"),ft=v("CanvasRenderingContext2D"),ht=v("ImageBitmap"),pt=v("HTMLImageElement"),dt=v("HTMLVideoElement"),gt=Object.keys(K).concat([ct,ut,ft,ht,pt,dt]),mt=[];mt[5121]=1,mt[5126]=4,mt[36193]=2,mt[5123]=2,mt[5125]=4;var vt=[];vt[32854]=2,vt[32855]=2,vt[36194]=2,vt[34041]=4,vt[33776]=.5,vt[33777]=.5,vt[33778]=1,vt[33779]=1,vt[35986]=.5,vt[35987]=1,vt[34798]=1,vt[35840]=.5,vt[35841]=.25,vt[35842]=.5,vt[35843]=.25,vt[36196]=.5;var yt=[];yt[32854]=2,yt[32855]=2,yt[36194]=2,yt[33189]=2,yt[36168]=1,yt[34041]=4,yt[35907]=4,yt[34836]=16,yt[34842]=8,yt[34843]=6;var xt=function(t,e,r,n,i){function a(t){this.id=c++,this.refCount=1,this.renderbuffer=t,this.format=32854,this.height=this.width=0,i.profile&&(this.stats={size:0})}function o(e){var r=e.renderbuffer;t.bindRenderbuffer(36161,null),t.deleteRenderbuffer(r),e.renderbuffer=null,e.refCount=0,delete u[e.id],n.renderbufferCount--}var s={rgba4:32854,rgb565:36194,"rgb5 a1":32855,depth:33189,stencil:36168,"depth stencil":34041};e.ext_srgb&&(s.srgba=35907),e.ext_color_buffer_half_float&&(s.rgba16f=34842,s.rgb16f=34843),e.webgl_color_buffer_float&&(s.rgba32f=34836);var l=[];Object.keys(s).forEach((function(t){l[s[t]]=t}));var c=0,u={};return a.prototype.decRef=function(){0>=--this.refCount&&o(this)},i.profile&&(n.getTotalRenderbufferSize=function(){var t=0;return Object.keys(u).forEach((function(e){t+=u[e].stats.size})),t}),{create:function(e,r){function o(e,r){var n=0,a=0,u=32854;if("object"==typeof e&&e?("shape"in e?(n=0|(a=e.shape)[0],a=0|a[1]):("radius"in e&&(n=a=0|e.radius),"width"in e&&(n=0|e.width),"height"in e&&(a=0|e.height)),"format"in e&&(u=s[e.format])):"number"==typeof e?(n=0|e,a="number"==typeof r?0|r:n):e||(n=a=1),n!==c.width||a!==c.height||u!==c.format)return o.width=c.width=n,o.height=c.height=a,c.format=u,t.bindRenderbuffer(36161,c.renderbuffer),t.renderbufferStorage(36161,u,n,a),i.profile&&(c.stats.size=yt[c.format]*c.width*c.height),o.format=l[c.format],o}var c=new a(t.createRenderbuffer());return u[c.id]=c,n.renderbufferCount++,o(e,r),o.resize=function(e,r){var n=0|e,a=0|r||n;return n===c.width&&a===c.height||(o.width=c.width=n,o.height=c.height=a,t.bindRenderbuffer(36161,c.renderbuffer),t.renderbufferStorage(36161,c.format,n,a),i.profile&&(c.stats.size=yt[c.format]*c.width*c.height)),o},o._reglType="renderbuffer",o._renderbuffer=c,i.profile&&(o.stats=c.stats),o.destroy=function(){c.decRef()},o},clear:function(){Z(u).forEach(o)},restore:function(){Z(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)}}},bt=[];bt[6408]=4,bt[6407]=3;var _t=[];_t[5121]=1,_t[5126]=4,_t[36193]=2;var wt=["x","y","z","w"],Tt="blend.func blend.equation stencil.func stencil.opFront stencil.opBack sample.coverage viewport scissor.box polygonOffset.offset".split(" "),kt={0:0,1:1,zero:0,one:1,"src color":768,"one minus src color":769,"src alpha":770,"one minus src alpha":771,"dst color":774,"one minus dst color":775,"dst alpha":772,"one minus dst alpha":773,"constant color":32769,"one minus constant color":32770,"constant alpha":32771,"one minus constant alpha":32772,"src alpha saturate":776},Mt={never:512,less:513,"<":513,equal:514,"=":514,"==":514,"===":514,lequal:515,"<=":515,greater:516,">":516,notequal:517,"!=":517,"!==":517,gequal:518,">=":518,always:519},At={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,"increment wrap":34055,"decrement wrap":34056,invert:5386},St={cw:2304,ccw:2305},Et=new D(!1,!1,!1,(function(){}));return function(t){function e(){if(0===J.length)w&&w.update(),tt=null;else{tt=H.next(e),f();for(var t=J.length-1;0<=t;--t){var r=J[t];r&&r(I,null,0)}m.flush(),w&&w.update()}}function r(){!tt&&0<J.length&&(tt=H.next(e))}function n(){tt&&(H.cancel(e),tt=null)}function a(t){t.preventDefault(),n(),K.forEach((function(t){t()}))}function o(t){m.getError(),y.restore(),R.restore(),z.restore(),F.restore(),B.restore(),V.restore(),O.restore(),w&&w.restore(),Y.procs.refresh(),r(),Q.forEach((function(t){t()}))}function s(t){function e(t){var e={},r={};return Object.keys(t).forEach((function(n){var i=t[n];q.isDynamic(i)?r[n]=q.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(t){function e(t){if(t in r){var e=r[t];delete r[t],Object.keys(e).forEach((function(n){r[t+"."+n]=e[n]}))}}var r=U({},t);return delete r.uniforms,delete r.attributes,delete r.context,delete r.vao,"stencil"in r&&r.stencil.op&&(r.stencil.opBack=r.stencil.opFront=r.stencil.op,delete r.stencil.op),e("blend"),e("depth"),e("cull"),e("stencil"),e("polygonOffset"),e("scissor"),e("sample"),"vao"in t&&(r.vao=t.vao),r}(t));t={gpuTime:0,cpuTime:0,count:0};var o=(r=Y.compile(a,i,n,r,t)).draw,s=r.batch,l=r.scope,c=[];return U((function(t,e){var r;if("function"==typeof t)return l.call(this,null,t,0);if("function"==typeof e)if("number"==typeof t)for(r=0;r<t;++r)l.call(this,null,e,r);else{if(!Array.isArray(t))return l.call(this,t,e,0);for(r=0;r<t.length;++r)l.call(this,t[r],e,r)}else if("number"==typeof t){if(0<t)return s.call(this,function(t){for(;c.length<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 l(t,e){var r=0;Y.procs.poll();var n=e.color;n&&(m.clearColor(+n[0]||0,+n[1]||0,+n[2]||0,+n[3]||0),r|=16384),"depth"in e&&(m.clearDepth(+e.depth),r|=256),"stencil"in e&&(m.clearStencil(0|e.stencil),r|=1024),m.clear(r)}function c(t){return J.push(t),r(),{cancel:function(){var e=j(J,t);J[e]=function t(){var e=j(J,t);J[e]=J[J.length-1],--J.length,0>=J.length&&n()}}}}function u(){var t=X.viewport,e=X.scissor_box;t[0]=t[1]=e[0]=e[1]=0,I.viewportWidth=I.framebufferWidth=I.drawingBufferWidth=t[2]=e[2]=m.drawingBufferWidth,I.viewportHeight=I.framebufferHeight=I.drawingBufferHeight=t[3]=e[3]=m.drawingBufferHeight}function f(){I.tick+=1,I.time=g(),u(),Y.procs.poll()}function h(){u(),Y.procs.refresh(),w&&w.update()}function g(){return(G()-T)/1e3}if(!(t=i(t)))return null;var m=t.gl,v=m.getContextAttributes();m.isContextLost();var y=function(t,e){function r(e){var r;e=e.toLowerCase();try{r=n[e]=t.getExtension(e)}catch(t){}return!!r}for(var n={},i=0;i<e.extensions.length;++i){var a=e.extensions[i];if(!r(a))return e.onDestroy(),e.onDone('"'+a+'" extension is not supported by the current WebGL context, try upgrading your system or a different browser'),null}return e.optionalExtensions.forEach(r),{extensions:n,restore:function(){Object.keys(n).forEach((function(t){if(n[t]&&!r(t))throw Error("(regl): error restoring extension "+t)}))}}}(m,t);if(!y)return null;var x=function(){var t={"":0},e=[""];return{id:function(r){var n=t[r];return n||(n=t[r]=e.length,e.push(r),n)},str:function(t){return e[t]}}}(),b={vaoCount:0,bufferCount:0,elementsCount:0,framebufferCount:0,shaderCount:0,textureCount:0,cubeCount:0,renderbufferCount:0,maxTextureUnits:0},_=y.extensions,w=function(t,e){function r(){this.endQueryIndex=this.startQueryIndex=-1,this.sum=0,this.stats=null}function n(t,e,n){var i=o.pop()||new r;i.startQueryIndex=t,i.endQueryIndex=e,i.sum=0,i.stats=n,s.push(i)}if(!e.ext_disjoint_timer_query)return null;var i=[],a=[],o=[],s=[],l=[],c=[];return{beginQuery:function(t){var r=i.pop()||e.ext_disjoint_timer_query.createQueryEXT();e.ext_disjoint_timer_query.beginQueryEXT(35007,r),a.push(r),n(a.length-1,a.length,t)},endQuery:function(){e.ext_disjoint_timer_query.endQueryEXT(35007)},pushScopeStats:n,update:function(){var t,r;if(0!==(t=a.length)){c.length=Math.max(c.length,t+1),l.length=Math.max(l.length,t+1),l[0]=0;var n=c[0]=0;for(r=t=0;r<a.length;++r){var u=a[r];e.ext_disjoint_timer_query.getQueryObjectEXT(u,34919)?(n+=e.ext_disjoint_timer_query.getQueryObjectEXT(u,34918),i.push(u)):a[t++]=u,l[r+1]=n,c[r+1]=t}for(a.length=t,r=t=0;r<s.length;++r){var f=(n=s[r]).startQueryIndex;u=n.endQueryIndex;n.sum+=l[u]-l[f],f=c[f],(u=c[u])===f?(n.stats.gpuTime+=n.sum/1e6,o.push(n)):(n.startQueryIndex=f,n.endQueryIndex=u,s[t++]=n)}s.length=t}},getNumPendingQueries:function(){return a.length},clear:function(){i.push.apply(i,a);for(var t=0;t<i.length;t++)e.ext_disjoint_timer_query.deleteQueryEXT(i[t]);a.length=0,i.length=0},restore:function(){a.length=0,i.length=0}}}(0,_),T=G(),A=m.drawingBufferWidth,L=m.drawingBufferHeight,I={tick:0,time:0,viewportWidth:A,viewportHeight:L,framebufferWidth:A,framebufferHeight:L,drawingBufferWidth:A,drawingBufferHeight:L,pixelRatio:t.pixelRatio},P=W(m,_),z=p(m,b,t,(function(t){return O.destroyBuffer(t)})),O=S(m,_,P,b,z),D=d(m,_,z,b),R=E(m,x,b,t),F=k(m,_,P,(function(){Y.procs.poll()}),I,b,t),B=xt(m,_,0,b,t),V=M(m,_,P,F,B,b),Y=N(m,x,_,P,z,D,0,V,{},O,R,{elements:null,primitive:4,count:-1,offset:0,instances:-1},I,w,t),X=(x=C(m,V,Y.procs.poll,I),Y.next),Z=m.canvas,J=[],K=[],Q=[],$=[t.onDestroy],tt=null;Z&&(Z.addEventListener("webglcontextlost",a,!1),Z.addEventListener("webglcontextrestored",o,!1));var et=V.setFBO=s({framebuffer:q.define.call(null,1,"framebuffer")});return h(),v=U(s,{clear:function(t){if("framebuffer"in t)if(t.framebuffer&&"framebufferCube"===t.framebuffer_reglType)for(var e=0;6>e;++e)et(U({framebuffer:t.framebuffer.faces[e]},t),l);else et(t,l);else l(0,t)},prop:q.define.bind(null,1),context:q.define.bind(null,2),this:q.define.bind(null,3),draw:s({}),buffer:function(t){return z.create(t,34962,!1,!1)},elements:function(t){return D.create(t,!1)},texture:F.create2D,cube:F.createCube,renderbuffer:B.create,framebuffer:V.create,framebufferCube:V.createCube,vao:O.createVAO,attributes:v,frame:c,on:function(t,e){var r;switch(t){case"frame":return c(e);case"lost":r=K;break;case"restore":r=Q;break;case"destroy":r=$}return r.push(e),{cancel:function(){for(var t=0;t<r.length;++t)if(r[t]===e){r[t]=r[r.length-1],r.pop();break}}}},limits:P,hasExtension:function(t){return 0<=P.extensions.indexOf(t.toLowerCase())},read:x,destroy:function(){J.length=0,n(),Z&&(Z.removeEventListener("webglcontextlost",a),Z.removeEventListener("webglcontextrestored",o)),R.clear(),V.clear(),B.clear(),F.clear(),D.clear(),z.clear(),O.clear(),w&&w.clear(),$.forEach((function(t){t()}))},_gl:m,_refresh:h,poll:function(){f(),w&&w.update()},now:g,stats:b}),t.onDone(null,v),v}}))},{}],541:[function(t,e,r){ +/*! + * repeat-string <https://github.com/jonschlinkert/repeat-string> + * + * Copyright (c) 2014-2015, Jon Schlinkert. + * Licensed under the MIT License. + */ +"use strict";var n,i="";e.exports=function(t,e){if("string"!=typeof t)throw new TypeError("expected a string");if(1===e)return t;if(2===e)return t+t;var r=t.length*e;if(n!==t||"undefined"==typeof n)n=t,i="";else if(i.length>=r)return i.substr(0,r);for(;r>i.length&&e>1;)1&e&&(i+=t),e>>=1,t+=t;return i=(i+=t).substr(0,r)}},{}],542:[function(t,e,r){(function(t){(function(){e.exports=t.performance&&t.performance.now?function(){return performance.now()}:Date.now||function(){return+new Date}}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],543:[function(t,e,r){"use strict";e.exports=function(t){for(var e=t.length,r=t[t.length-1],n=e,i=e-2;i>=0;--i){var a=r,o=t[i];(l=o-((r=a+o)-a))&&(t[--n]=r,r=l)}var s=0;for(i=n;i<e;++i){var l;a=t[i];(l=(o=r)-((r=a+o)-a))&&(t[s++]=l)}return t[s++]=r,t.length=s,t}},{}],544:[function(t,e,r){"use strict";var n=t("two-product"),i=t("robust-sum"),a=t("robust-scale"),o=t("robust-compress");function s(t,e){for(var r=new Array(t.length-1),n=1;n<t.length;++n)for(var i=r[n-1]=new Array(t.length-1),a=0,o=0;a<t.length;++a)a!==e&&(i[o++]=t[n][a]);return r}function l(t){for(var e=new Array(t),r=0;r<t;++r){e[r]=new Array(t);for(var n=0;n<t;++n)e[r][n]=["m[",r,"][",n,"]"].join("")}return e}function c(t){if(2===t.length)return["sum(prod(",t[0][0],",",t[1][1],"),prod(-",t[0][1],",",t[1][0],"))"].join("");for(var e=[],r=0;r<t.length;++r)e.push(["scale(",c(s(t,r)),",",(n=r,1&n?"-":""),t[0][r],")"].join(""));return function t(e){if(1===e.length)return e[0];if(2===e.length)return["sum(",e[0],",",e[1],")"].join("");var r=e.length>>1;return["sum(",t(e.slice(0,r)),",",t(e.slice(r)),")"].join("")}(e);var n}function u(t){return new Function("sum","scale","prod","compress",["function robustDeterminant",t,"(m){return compress(",c(l(t)),")};return robustDeterminant",t].join(""))(i,a,n,o)}var f=[function(){return[0]},function(t){return[t[0][0]]}];!function(){for(;f.length<6;)f.push(u(f.length));for(var t=[],r=["function robustDeterminant(m){switch(m.length){"],n=0;n<6;++n)t.push("det"+n),r.push("case ",n,":return det",n,"(m);");r.push("}var det=CACHE[m.length];if(!det)det=CACHE[m.length]=gen(m.length);return det(m);}return robustDeterminant"),t.push("CACHE","gen",r.join(""));var i=Function.apply(void 0,t);for(e.exports=i.apply(void 0,f.concat([f,u])),n=0;n<f.length;++n)e.exports[n]=f[n]}()},{"robust-compress":543,"robust-scale":550,"robust-sum":553,"two-product":582}],545:[function(t,e,r){"use strict";var n=t("two-product"),i=t("robust-sum");e.exports=function(t,e){for(var r=n(t[0],e[0]),a=1;a<t.length;++a)r=i(r,n(t[a],e[a]));return r}},{"robust-sum":553,"two-product":582}],546:[function(t,e,r){"use strict";var n=t("two-product"),i=t("robust-sum"),a=t("robust-subtract"),o=t("robust-scale");function s(t,e){for(var r=new Array(t.length-1),n=1;n<t.length;++n)for(var i=r[n-1]=new Array(t.length-1),a=0,o=0;a<t.length;++a)a!==e&&(i[o++]=t[n][a]);return r}function l(t){if(1===t.length)return t[0];if(2===t.length)return["sum(",t[0],",",t[1],")"].join("");var e=t.length>>1;return["sum(",l(t.slice(0,e)),",",l(t.slice(e)),")"].join("")}function c(t,e){if("m"===t.charAt(0)){if("w"===e.charAt(0)){var r=t.split("[");return["w",e.substr(1),"m",r[0].substr(1)].join("")}return["prod(",t,",",e,")"].join("")}return c(e,t)}function u(t){if(2===t.length)return[["diff(",c(t[0][0],t[1][1]),",",c(t[1][0],t[0][1]),")"].join("")];for(var e=[],r=0;r<t.length;++r)e.push(["scale(",l(u(s(t,r))),",",(n=r,!0&n?"-":""),t[0][r],")"].join(""));return e;var n}function f(t,e){for(var r=[],n=0;n<e-2;++n)r.push(["prod(m",t,"[",n,"],m",t,"[",n,"])"].join(""));return l(r)}function h(t){for(var e=[],r=[],c=function(t){for(var e=new Array(t),r=0;r<t;++r){e[r]=new Array(t);for(var n=0;n<t;++n)e[r][n]=["m",n,"[",t-r-2,"]"].join("")}return e}(t),h=0;h<t;++h)c[0][h]="1",c[t-1][h]="w"+h;for(h=0;h<t;++h)0==(1&h)?e.push.apply(e,u(s(c,h))):r.push.apply(r,u(s(c,h)));var p=l(e),d=l(r),g="exactInSphere"+t,m=[];for(h=0;h<t;++h)m.push("m"+h);var v=["function ",g,"(",m.join(),"){"];for(h=0;h<t;++h){v.push("var w",h,"=",f(h,t),";");for(var y=0;y<t;++y)y!==h&&v.push("var w",h,"m",y,"=scale(w",h,",m",y,"[0]);")}return v.push("var p=",p,",n=",d,",d=diff(p,n);return d[d.length-1];}return ",g),new Function("sum","diff","prod","scale",v.join(""))(i,a,n,o)}var p=[function(){return 0},function(){return 0},function(){return 0}];function d(t){var e=p[t.length];return e||(e=p[t.length]=h(t.length)),e.apply(void 0,t)}!function(){for(;p.length<=6;)p.push(h(p.length));for(var t=[],r=["slow"],n=0;n<=6;++n)t.push("a"+n),r.push("o"+n);var i=["function testInSphere(",t.join(),"){switch(arguments.length){case 0:case 1:return 0;"];for(n=2;n<=6;++n)i.push("case ",n,":return o",n,"(",t.slice(0,n).join(),");");i.push("}var s=new Array(arguments.length);for(var i=0;i<arguments.length;++i){s[i]=arguments[i]};return slow(s);}return testInSphere"),r.push(i.join(""));var a=Function.apply(void 0,r);for(e.exports=a.apply(void 0,[d].concat(p)),n=0;n<=6;++n)e.exports[n]=p[n]}()},{"robust-scale":550,"robust-subtract":552,"robust-sum":553,"two-product":582}],547:[function(t,e,r){"use strict";var n=t("robust-determinant");function i(t){for(var e="robustLinearSolve"+t+"d",r=["function ",e,"(A,b){return ["],i=0;i<t;++i){r.push("det([");for(var a=0;a<t;++a){a>0&&r.push(","),r.push("[");for(var o=0;o<t;++o)o>0&&r.push(","),o===i?r.push("+b[",a,"]"):r.push("+A[",a,"][",o,"]");r.push("]")}r.push("]),")}r.push("det(A)]}return ",e);var s=new Function("det",r.join(""));return s(t<6?n[t]:n)}var a=[function(){return[0]},function(t,e){return[[e[0]],[t[0][0]]]}];!function(){for(;a.length<6;)a.push(i(a.length));for(var t=[],r=["function dispatchLinearSolve(A,b){switch(A.length){"],n=0;n<6;++n)t.push("s"+n),r.push("case ",n,":return s",n,"(A,b);");r.push("}var s=CACHE[A.length];if(!s)s=CACHE[A.length]=g(A.length);return s(A,b)}return dispatchLinearSolve"),t.push("CACHE","g",r.join(""));var o=Function.apply(void 0,t);for(e.exports=o.apply(void 0,a.concat([a,i])),n=0;n<6;++n)e.exports[n]=a[n]}()},{"robust-determinant":544}],548:[function(t,e,r){"use strict";var n=t("two-product"),i=t("robust-sum"),a=t("robust-scale"),o=t("robust-subtract");function s(t,e){for(var r=new Array(t.length-1),n=1;n<t.length;++n)for(var i=r[n-1]=new Array(t.length-1),a=0,o=0;a<t.length;++a)a!==e&&(i[o++]=t[n][a]);return r}function l(t){if(1===t.length)return t[0];if(2===t.length)return["sum(",t[0],",",t[1],")"].join("");var e=t.length>>1;return["sum(",l(t.slice(0,e)),",",l(t.slice(e)),")"].join("")}function c(t){if(2===t.length)return[["sum(prod(",t[0][0],",",t[1][1],"),prod(-",t[0][1],",",t[1][0],"))"].join("")];for(var e=[],r=0;r<t.length;++r)e.push(["scale(",l(c(s(t,r))),",",(n=r,1&n?"-":""),t[0][r],")"].join(""));return e;var n}function u(t){for(var e=[],r=[],u=function(t){for(var e=new Array(t),r=0;r<t;++r){e[r]=new Array(t);for(var n=0;n<t;++n)e[r][n]=["m",n,"[",t-r-1,"]"].join("")}return e}(t),f=[],h=0;h<t;++h)0==(1&h)?e.push.apply(e,c(s(u,h))):r.push.apply(r,c(s(u,h))),f.push("m"+h);var p=l(e),d=l(r),g="orientation"+t+"Exact",m=["function ",g,"(",f.join(),"){var p=",p,",n=",d,",d=sub(p,n);return d[d.length-1];};return ",g].join("");return new Function("sum","prod","scale","sub",m)(i,n,a,o)}var f=u(3),h=u(4),p=[function(){return 0},function(){return 0},function(t,e){return e[0]-t[0]},function(t,e,r){var n,i=(t[1]-r[1])*(e[0]-r[0]),a=(t[0]-r[0])*(e[1]-r[1]),o=i-a;if(i>0){if(a<=0)return o;n=i+a}else{if(!(i<0))return o;if(a>=0)return o;n=-(i+a)}var s=33306690738754716e-32*n;return o>=s||o<=-s?o:f(t,e,r)},function(t,e,r,n){var i=t[0]-n[0],a=e[0]-n[0],o=r[0]-n[0],s=t[1]-n[1],l=e[1]-n[1],c=r[1]-n[1],u=t[2]-n[2],f=e[2]-n[2],p=r[2]-n[2],d=a*c,g=o*l,m=o*s,v=i*c,y=i*l,x=a*s,b=u*(d-g)+f*(m-v)+p*(y-x),_=7771561172376103e-31*((Math.abs(d)+Math.abs(g))*Math.abs(u)+(Math.abs(m)+Math.abs(v))*Math.abs(f)+(Math.abs(y)+Math.abs(x))*Math.abs(p));return b>_||-b>_?b:h(t,e,r,n)}];function d(t){var e=p[t.length];return e||(e=p[t.length]=u(t.length)),e.apply(void 0,t)}!function(){for(;p.length<=5;)p.push(u(p.length));for(var t=[],r=["slow"],n=0;n<=5;++n)t.push("a"+n),r.push("o"+n);var i=["function getOrientation(",t.join(),"){switch(arguments.length){case 0:case 1:return 0;"];for(n=2;n<=5;++n)i.push("case ",n,":return o",n,"(",t.slice(0,n).join(),");");i.push("}var s=new Array(arguments.length);for(var i=0;i<arguments.length;++i){s[i]=arguments[i]};return slow(s);}return getOrientation"),r.push(i.join(""));var a=Function.apply(void 0,r);for(e.exports=a.apply(void 0,[d].concat(p)),n=0;n<=5;++n)e.exports[n]=p[n]}()},{"robust-scale":550,"robust-subtract":552,"robust-sum":553,"two-product":582}],549:[function(t,e,r){"use strict";var n=t("robust-sum"),i=t("robust-scale");e.exports=function(t,e){if(1===t.length)return i(e,t[0]);if(1===e.length)return i(t,e[0]);if(0===t.length||0===e.length)return[0];var r=[0];if(t.length<e.length)for(var a=0;a<t.length;++a)r=n(r,i(e,t[a]));else for(a=0;a<e.length;++a)r=n(r,i(t,e[a]));return r}},{"robust-scale":550,"robust-sum":553}],550:[function(t,e,r){"use strict";var n=t("two-product"),i=t("two-sum");e.exports=function(t,e){var r=t.length;if(1===r){var a=n(t[0],e);return a[0]?a:[a[1]]}var o=new Array(2*r),s=[.1,.1],l=[.1,.1],c=0;n(t[0],e,s),s[0]&&(o[c++]=s[0]);for(var u=1;u<r;++u){n(t[u],e,l);var f=s[1];i(f,l[0],s),s[0]&&(o[c++]=s[0]);var h=l[1],p=s[1],d=h+p,g=p-(d-h);s[1]=d,g&&(o[c++]=g)}s[1]&&(o[c++]=s[1]);0===c&&(o[c++]=0);return o.length=c,o}},{"two-product":582,"two-sum":583}],551:[function(t,e,r){"use strict";e.exports=function(t,e,r,i){var a=n(t,r,i),o=n(e,r,i);if(a>0&&o>0||a<0&&o<0)return!1;var s=n(r,t,e),l=n(i,t,e);if(s>0&&l>0||s<0&&l<0)return!1;if(0===a&&0===o&&0===s&&0===l)return function(t,e,r,n){for(var i=0;i<2;++i){var a=t[i],o=e[i],s=Math.min(a,o),l=Math.max(a,o),c=r[i],u=n[i],f=Math.min(c,u);if(Math.max(c,u)<s||l<f)return!1}return!0}(t,e,r,i);return!0};var n=t("robust-orientation")[3]},{"robust-orientation":548}],552:[function(t,e,r){"use strict";e.exports=function(t,e){var r=0|t.length,n=0|e.length;if(1===r&&1===n)return function(t,e){var r=t+e,n=r-t,i=t-(r-n)+(e-n);if(i)return[i,r];return[r]}(t[0],-e[0]);var i,a,o=new Array(r+n),s=0,l=0,c=0,u=Math.abs,f=t[l],h=u(f),p=-e[c],d=u(p);h<d?(a=f,(l+=1)<r&&(f=t[l],h=u(f))):(a=p,(c+=1)<n&&(p=-e[c],d=u(p)));l<r&&h<d||c>=n?(i=f,(l+=1)<r&&(f=t[l],h=u(f))):(i=p,(c+=1)<n&&(p=-e[c],d=u(p)));var g,m,v=i+a,y=v-i,x=a-y,b=x,_=v;for(;l<r&&c<n;)h<d?(i=f,(l+=1)<r&&(f=t[l],h=u(f))):(i=p,(c+=1)<n&&(p=-e[c],d=u(p))),(x=(a=b)-(y=(v=i+a)-i))&&(o[s++]=x),b=_-((g=_+v)-(m=g-_))+(v-m),_=g;for(;l<r;)(x=(a=b)-(y=(v=(i=f)+a)-i))&&(o[s++]=x),b=_-((g=_+v)-(m=g-_))+(v-m),_=g,(l+=1)<r&&(f=t[l]);for(;c<n;)(x=(a=b)-(y=(v=(i=p)+a)-i))&&(o[s++]=x),b=_-((g=_+v)-(m=g-_))+(v-m),_=g,(c+=1)<n&&(p=-e[c]);b&&(o[s++]=b);_&&(o[s++]=_);s||(o[s++]=0);return o.length=s,o}},{}],553:[function(t,e,r){"use strict";e.exports=function(t,e){var r=0|t.length,n=0|e.length;if(1===r&&1===n)return function(t,e){var r=t+e,n=r-t,i=t-(r-n)+(e-n);if(i)return[i,r];return[r]}(t[0],e[0]);var i,a,o=new Array(r+n),s=0,l=0,c=0,u=Math.abs,f=t[l],h=u(f),p=e[c],d=u(p);h<d?(a=f,(l+=1)<r&&(f=t[l],h=u(f))):(a=p,(c+=1)<n&&(p=e[c],d=u(p)));l<r&&h<d||c>=n?(i=f,(l+=1)<r&&(f=t[l],h=u(f))):(i=p,(c+=1)<n&&(p=e[c],d=u(p)));var g,m,v=i+a,y=v-i,x=a-y,b=x,_=v;for(;l<r&&c<n;)h<d?(i=f,(l+=1)<r&&(f=t[l],h=u(f))):(i=p,(c+=1)<n&&(p=e[c],d=u(p))),(x=(a=b)-(y=(v=i+a)-i))&&(o[s++]=x),b=_-((g=_+v)-(m=g-_))+(v-m),_=g;for(;l<r;)(x=(a=b)-(y=(v=(i=f)+a)-i))&&(o[s++]=x),b=_-((g=_+v)-(m=g-_))+(v-m),_=g,(l+=1)<r&&(f=t[l]);for(;c<n;)(x=(a=b)-(y=(v=(i=p)+a)-i))&&(o[s++]=x),b=_-((g=_+v)-(m=g-_))+(v-m),_=g,(c+=1)<n&&(p=e[c]);b&&(o[s++]=b);_&&(o[s++]=_);s||(o[s++]=0);return o.length=s,o}},{}],554:[function(t,e,r){"use strict";e.exports=function(t){return t<0?-1:t>0?1:0}},{}],555:[function(t,e,r){"use strict";e.exports=function(t){return i(n(t))};var n=t("boundary-cells"),i=t("reduce-simplicial-complex")},{"boundary-cells":100,"reduce-simplicial-complex":533}],556:[function(t,e,r){"use strict";e.exports=function(t,e,r,s){r=r||0,"undefined"==typeof s&&(s=function(t){for(var e=t.length,r=0,n=0;n<e;++n)r=0|Math.max(r,t[n].length);return r-1}(t));if(0===t.length||s<1)return{cells:[],vertexIds:[],vertexWeights:[]};var l=function(t,e){for(var r=t.length,n=i.mallocUint8(r),a=0;a<r;++a)n[a]=t[a]<e|0;return n}(e,+r),c=function(t,e){for(var r=t.length,o=e*(e+1)/2*r|0,s=i.mallocUint32(2*o),l=0,c=0;c<r;++c)for(var u=t[c],f=(e=u.length,0);f<e;++f)for(var h=0;h<f;++h){var p=u[h],d=u[f];s[l++]=0|Math.min(p,d),s[l++]=0|Math.max(p,d)}a(n(s,[l/2|0,2]));var g=2;for(c=2;c<l;c+=2)s[c-2]===s[c]&&s[c-1]===s[c+1]||(s[g++]=s[c],s[g++]=s[c+1]);return n(s,[g/2|0,2])}(t,s),u=function(t,e,r,a){for(var o=t.data,s=t.shape[0],l=i.mallocDouble(s),c=0,u=0;u<s;++u){var f=o[2*u],h=o[2*u+1];if(r[f]!==r[h]){var p=e[f],d=e[h];o[2*c]=f,o[2*c+1]=h,l[c++]=(d-a)/(d-p)}}return t.shape[0]=c,n(l,[c])}(c,e,l,+r),f=function(t,e){var r=i.mallocInt32(2*e),n=t.shape[0],a=t.data;r[0]=0;for(var o=0,s=0;s<n;++s){var l=a[2*s];if(l!==o){for(r[2*o+1]=s;++o<l;)r[2*o]=s,r[2*o+1]=s;r[2*o]=s}}r[2*o+1]=n;for(;++o<e;)r[2*o]=r[2*o+1]=n;return r}(c,0|e.length),h=o(s)(t,c.data,f,l),p=function(t){for(var e=0|t.shape[0],r=t.data,n=new Array(e),i=0;i<e;++i)n[i]=[r[2*i],r[2*i+1]];return n}(c),d=[].slice.call(u.data,0,u.shape[0]);return i.free(l),i.free(c.data),i.free(u.data),i.free(f),{cells:h,vertexIds:p,vertexWeights:d}};var n=t("ndarray"),i=t("typedarray-pool"),a=t("ndarray-sort"),o=t("./lib/codegen")},{"./lib/codegen":557,ndarray:495,"ndarray-sort":494,"typedarray-pool":595}],557:[function(t,e,r){"use strict";e.exports=function(t){var e=a[t];e||(e=a[t]=function(t){var e=0,r=new Array(t+1);r[0]=[[]];for(var a=1;a<=t;++a)for(var o=r[a]=i(a),s=0;s<o.length;++s)e=Math.max(e,o[a].length);var l=["function B(C,E,i,j){","var a=Math.min(i,j)|0,b=Math.max(i,j)|0,l=C[2*a],h=C[2*a+1];","while(l<h){","var m=(l+h)>>1,v=E[2*m+1];","if(v===b){return m}","if(b<v){h=m}else{l=m+1}","}","return l;","};","function getContour",t,"d(F,E,C,S){","var n=F.length,R=[];","for(var i=0;i<n;++i){var c=F[i],l=c.length;"];function c(t){if(!(t.length<=0)){l.push("R.push(");for(var e=0;e<t.length;++e){var r=t[e];e>0&&l.push(","),l.push("[");for(var n=0;n<r.length;++n){var i=r[n];n>0&&l.push(","),l.push("B(C,E,c[",i[0],"],c[",i[1],"])")}l.push("]")}l.push(");")}}for(a=t+1;a>1;--a){a<t+1&&l.push("else "),l.push("if(l===",a,"){");var u=[];for(s=0;s<a;++s)u.push("(S[c["+s+"]]<<"+s+")");l.push("var M=",u.join("+"),";if(M===0||M===",(1<<a)-1,"){continue}switch(M){");for(o=r[a-1],s=0;s<o.length;++s)l.push("case ",s,":"),c(o[s]),l.push("break;");l.push("}}")}return l.push("}return R;};return getContour",t,"d"),new Function("pool",l.join(""))(n)}(t));return e};var n=t("typedarray-pool"),i=t("marching-simplex-table"),a={}},{"marching-simplex-table":474,"typedarray-pool":595}],558:[function(t,e,r){"use strict";var n=t("bit-twiddle"),i=t("union-find");function a(t,e){var r=t.length,n=t.length-e.length,i=Math.min;if(n)return n;switch(r){case 0:return 0;case 1:return t[0]-e[0];case 2:return(s=t[0]+t[1]-e[0]-e[1])||i(t[0],t[1])-i(e[0],e[1]);case 3:var a=t[0]+t[1],o=e[0]+e[1];if(s=a+t[2]-(o+e[2]))return s;var s,l=i(t[0],t[1]),c=i(e[0],e[1]);return(s=i(l,t[2])-i(c,e[2]))||i(l+t[2],a)-i(c+e[2],o);default:var u=t.slice(0);u.sort();var f=e.slice(0);f.sort();for(var h=0;h<r;++h)if(n=u[h]-f[h])return n;return 0}}function o(t,e){return a(t[0],e[0])}function s(t,e){if(e){for(var r=t.length,n=new Array(r),i=0;i<r;++i)n[i]=[t[i],e[i]];n.sort(o);for(i=0;i<r;++i)t[i]=n[i][0],e[i]=n[i][1];return t}return t.sort(a),t}function l(t){if(0===t.length)return[];for(var e=1,r=t.length,n=1;n<r;++n){var i=t[n];if(a(i,t[n-1])){if(n===e){e++;continue}t[e++]=i}}return t.length=e,t}function c(t,e){for(var r=0,n=t.length-1,i=-1;r<=n;){var o=r+n>>1,s=a(t[o],e);s<=0?(0===s&&(i=o),r=o+1):s>0&&(n=o-1)}return i}function u(t,e){for(var r=new Array(t.length),i=0,o=r.length;i<o;++i)r[i]=[];for(var s=[],l=(i=0,e.length);i<l;++i)for(var u=e[i],f=u.length,h=1,p=1<<f;h<p;++h){s.length=n.popCount(h);for(var d=0,g=0;g<f;++g)h&1<<g&&(s[d++]=u[g]);var m=c(t,s);if(!(m<0))for(;r[m++].push(i),!(m>=t.length||0!==a(t[m],s)););}return r}function f(t,e){if(e<0)return[];for(var r=[],i=(1<<e+1)-1,a=0;a<t.length;++a)for(var o=t[a],l=i;l<1<<o.length;l=n.nextCombination(l)){for(var c=new Array(e+1),u=0,f=0;f<o.length;++f)l&1<<f&&(c[u++]=o[f]);r.push(c)}return s(r)}r.dimension=function(t){for(var e=0,r=Math.max,n=0,i=t.length;n<i;++n)e=r(e,t[n].length);return e-1},r.countVertices=function(t){for(var e=-1,r=Math.max,n=0,i=t.length;n<i;++n)for(var a=t[n],o=0,s=a.length;o<s;++o)e=r(e,a[o]);return e+1},r.cloneCells=function(t){for(var e=new Array(t.length),r=0,n=t.length;r<n;++r)e[r]=t[r].slice(0);return e},r.compareCells=a,r.normalize=s,r.unique=l,r.findCell=c,r.incidence=u,r.dual=function(t,e){if(!e)return u(l(f(t,0)),t);for(var r=new Array(e),n=0;n<e;++n)r[n]=[];n=0;for(var i=t.length;n<i;++n)for(var a=t[n],o=0,s=a.length;o<s;++o)r[a[o]].push(n);return r},r.explode=function(t){for(var e=[],r=0,n=t.length;r<n;++r)for(var i=t[r],a=0|i.length,o=1,l=1<<a;o<l;++o){for(var c=[],u=0;u<a;++u)o>>>u&1&&c.push(i[u]);e.push(c)}return s(e)},r.skeleton=f,r.boundary=function(t){for(var e=[],r=0,n=t.length;r<n;++r)for(var i=t[r],a=0,o=i.length;a<o;++a){for(var l=new Array(i.length-1),c=0,u=0;c<o;++c)c!==a&&(l[u++]=i[c]);e.push(l)}return s(e)},r.connectedComponents=function(t,e){return e?function(t,e){for(var r=new i(e),n=0;n<t.length;++n)for(var a=t[n],o=0;o<a.length;++o)for(var s=o+1;s<a.length;++s)r.link(a[o],a[s]);var l=[],c=r.ranks;for(n=0;n<c.length;++n)c[n]=-1;for(n=0;n<t.length;++n){var u=r.find(t[n][0]);c[u]<0?(c[u]=l.length,l.push([t[n].slice(0)])):l[c[u]].push(t[n].slice(0))}return l}(t,e):function(t){for(var e=l(s(f(t,0))),r=new i(e.length),n=0;n<t.length;++n)for(var a=t[n],o=0;o<a.length;++o)for(var u=c(e,[a[o]]),h=o+1;h<a.length;++h)r.link(u,c(e,[a[h]]));var p=[],d=r.ranks;for(n=0;n<d.length;++n)d[n]=-1;for(n=0;n<t.length;++n){var g=r.find(c(e,[t[n][0]]));d[g]<0?(d[g]=p.length,p.push([t[n].slice(0)])):p[d[g]].push(t[n].slice(0))}return p}(t)}},{"bit-twiddle":97,"union-find":596}],559:[function(t,e,r){arguments[4][97][0].apply(r,arguments)},{dup:97}],560:[function(t,e,r){arguments[4][558][0].apply(r,arguments)},{"bit-twiddle":559,dup:558,"union-find":561}],561:[function(t,e,r){"use strict";function n(t){this.roots=new Array(t),this.ranks=new Array(t);for(var e=0;e<t;++e)this.roots[e]=e,this.ranks[e]=0}e.exports=n,n.prototype.length=function(){return this.roots.length},n.prototype.makeSet=function(){var t=this.roots.length;return this.roots.push(t),this.ranks.push(0),t},n.prototype.find=function(t){for(var e=this.roots;e[t]!==t;){var r=e[t];e[t]=e[r],t=r}return t},n.prototype.link=function(t,e){var r=this.find(t),n=this.find(e);if(r!==n){var i=this.ranks,a=this.roots,o=i[r],s=i[n];o<s?a[r]=n:s<o?a[n]=r:(a[n]=r,++i[r])}}},{}],562:[function(t,e,r){"use strict";e.exports=function(t,e,r){for(var a=e.length,o=t.length,s=new Array(a),l=new Array(a),c=new Array(a),u=new Array(a),f=0;f<a;++f)s[f]=l[f]=-1,c[f]=1/0,u[f]=!1;for(f=0;f<o;++f){var h=t[f];if(2!==h.length)throw new Error("Input must be a graph");var p=h[1],d=h[0];-1!==l[d]?l[d]=-2:l[d]=p,-1!==s[p]?s[p]=-2:s[p]=d}function g(t){if(u[t])return 1/0;var r,i,a,o,c,f=s[t],h=l[t];return f<0||h<0?1/0:(r=e[t],i=e[f],a=e[h],o=Math.abs(n(r,i,a)),c=Math.sqrt(Math.pow(i[0]-a[0],2)+Math.pow(i[1]-a[1],2)),o/c)}function m(t,e){var r=k[t],n=k[e];k[t]=n,k[e]=r,M[r]=e,M[n]=t}function v(t){return c[k[t]]}function y(t){return 1&t?t-1>>1:(t>>1)-1}function x(t){for(var e=v(t);;){var r=e,n=2*t+1,i=2*(t+1),a=t;if(n<A){var o=v(n);o<r&&(a=n,r=o)}if(i<A)v(i)<r&&(a=i);if(a===t)return t;m(t,a),t=a}}function b(t){for(var e=v(t);t>0;){var r=y(t);if(r>=0)if(e<v(r)){m(t,r),t=r;continue}return t}}function _(){if(A>0){var t=k[0];return m(0,A-1),A-=1,x(0),t}return-1}function w(t,e){var r=k[t];return c[r]===e?t:(c[r]=-1/0,b(t),_(),c[r]=e,b((A+=1)-1))}function T(t){if(!u[t]){u[t]=!0;var e=s[t],r=l[t];s[r]>=0&&(s[r]=e),l[e]>=0&&(l[e]=r),M[e]>=0&&w(M[e],g(e)),M[r]>=0&&w(M[r],g(r))}}var k=[],M=new Array(a);for(f=0;f<a;++f){(c[f]=g(f))<1/0?(M[f]=k.length,k.push(f)):M[f]=-1}var A=k.length;for(f=A>>1;f>=0;--f)x(f);for(;;){var S=_();if(S<0||c[S]>r)break;T(S)}var E=[];for(f=0;f<a;++f)u[f]||(M[f]=E.length,E.push(e[f].slice()));E.length;function C(t,e){if(t[e]<0)return e;var r=e,n=e;do{var i=t[n];if(!u[n]||i<0||i===n)break;if(i=t[n=i],!u[n]||i<0||i===n)break;n=i,r=t[r]}while(r!==n);for(var a=e;a!==n;a=t[a])t[a]=n;return n}var L=[];return t.forEach((function(t){var e=C(s,t[0]),r=C(l,t[1]);if(e>=0&&r>=0&&e!==r){var n=M[e],i=M[r];n!==i&&L.push([n,i])}})),i.unique(i.normalize(L)),{positions:E,edges:L}};var n=t("robust-orientation"),i=t("simplicial-complex")},{"robust-orientation":548,"simplicial-complex":560}],563:[function(t,e,r){"use strict";e.exports=function(t,e){var r,a,o,s;if(e[0][0]<e[1][0])r=e[0],a=e[1];else{if(!(e[0][0]>e[1][0]))return i(e,t);r=e[1],a=e[0]}if(t[0][0]<t[1][0])o=t[0],s=t[1];else{if(!(t[0][0]>t[1][0]))return-i(t,e);o=t[1],s=t[0]}var l=n(r,a,s),c=n(r,a,o);if(l<0){if(c<=0)return l}else if(l>0){if(c>=0)return l}else if(c)return c;if(l=n(s,o,a),c=n(s,o,r),l<0){if(c<=0)return l}else if(l>0){if(c>=0)return l}else if(c)return c;return a[0]-s[0]};var n=t("robust-orientation");function i(t,e){var r,i,a,o;if(e[0][0]<e[1][0])r=e[0],i=e[1];else{if(!(e[0][0]>e[1][0])){var s=Math.min(t[0][1],t[1][1]),l=Math.max(t[0][1],t[1][1]),c=Math.min(e[0][1],e[1][1]),u=Math.max(e[0][1],e[1][1]);return l<c?l-c:s>u?s-u:l-u}r=e[1],i=e[0]}t[0][1]<t[1][1]?(a=t[0],o=t[1]):(a=t[1],o=t[0]);var f=n(i,r,a);return f||((f=n(i,r,o))||o-i)}},{"robust-orientation":548}],564:[function(t,e,r){arguments[4][243][0].apply(r,arguments)},{dup:243}],565:[function(t,e,r){"use strict";e.exports=function(t){for(var e=t.length,r=2*e,n=new Array(r),a=0;a<e;++a){var l=t[a],c=l[0][0]<l[1][0];n[2*a]=new f(l[0][0],l,c,a),n[2*a+1]=new f(l[1][0],l,!c,a)}n.sort((function(t,e){var r=t.x-e.x;return r||((r=t.create-e.create)||Math.min(t.segment[0][1],t.segment[1][1])-Math.min(e.segment[0][1],e.segment[1][1]))}));var h=i(o),p=[],d=[],g=[];for(a=0;a<r;){for(var m=n[a].x,v=[];a<r;){var y=n[a];if(y.x!==m)break;a+=1,y.segment[0][0]===y.x&&y.segment[1][0]===y.x?y.create&&(y.segment[0][1]<y.segment[1][1]?(v.push(new u(y.segment[0][1],y.index,!0,!0)),v.push(new u(y.segment[1][1],y.index,!1,!1))):(v.push(new u(y.segment[1][1],y.index,!0,!1)),v.push(new u(y.segment[0][1],y.index,!1,!0)))):h=y.create?h.insert(y.segment,y.index):h.remove(y.segment)}p.push(h.root),d.push(m),g.push(v)}return new s(p,d,g)};var n=t("binary-search-bounds"),i=t("functional-red-black-tree"),a=t("robust-orientation"),o=t("./lib/order-segments");function s(t,e,r){this.slabs=t,this.coordinates=e,this.horizontal=r}function l(t,e){return t.y-e}function c(t,e){for(var r=null;t;){var n,i,o=t.key;o[0][0]<o[1][0]?(n=o[0],i=o[1]):(n=o[1],i=o[0]);var s=a(n,i,e);if(s<0)t=t.left;else if(s>0)if(e[0]!==o[1][0])r=t,t=t.right;else{if(l=c(t.right,e))return l;t=t.left}else{if(e[0]!==o[1][0])return t;var l;if(l=c(t.right,e))return l;t=t.left}}return r}function u(t,e,r,n){this.y=t,this.index=e,this.start=r,this.closed=n}function f(t,e,r,n){this.x=t,this.segment=e,this.create=r,this.index=n}s.prototype.castUp=function(t){var e=n.le(this.coordinates,t[0]);if(e<0)return-1;this.slabs[e];var r=c(this.slabs[e],t),i=-1;if(r&&(i=r.value),this.coordinates[e]===t[0]){var s=null;if(r&&(s=r.key),e>0){var u=c(this.slabs[e-1],t);u&&(s?o(u.key,s)>0&&(s=u.key,i=u.value):(i=u.value,s=u.key))}var f=this.horizontal[e];if(f.length>0){var h=n.ge(f,t[1],l);if(h<f.length){var p=f[h];if(t[1]===p.y){if(p.closed)return p.index;for(;h<f.length-1&&f[h+1].y===t[1];)if((p=f[h+=1]).closed)return p.index;if(p.y===t[1]&&!p.start){if((h+=1)>=f.length)return i;p=f[h]}}if(p.start)if(s){var d=a(s[0],s[1],[t[0],p.y]);s[0][0]>s[1][0]&&(d=-d),d>0&&(i=p.index)}else i=p.index;else p.y!==t[1]&&(i=p.index)}}}return i}},{"./lib/order-segments":563,"binary-search-bounds":564,"functional-red-black-tree":247,"robust-orientation":548}],566:[function(t,e,r){"use strict";var n=t("robust-dot-product"),i=t("robust-sum");function a(t,e){var r=i(n(t,e),[e[e.length-1]]);return r[r.length-1]}function o(t,e,r,n){var i=-e/(n-e);i<0?i=0:i>1&&(i=1);for(var a=1-i,o=t.length,s=new Array(o),l=0;l<o;++l)s[l]=i*t[l]+a*r[l];return s}e.exports=function(t,e){for(var r=[],n=[],i=a(t[t.length-1],e),s=t[t.length-1],l=t[0],c=0;c<t.length;++c,s=l){var u=a(l=t[c],e);if(i<0&&u>0||i>0&&u<0){var f=o(s,u,l,i);r.push(f),n.push(f.slice())}u<0?n.push(l.slice()):u>0?r.push(l.slice()):(r.push(l.slice()),n.push(l.slice())),i=u}return{positive:r,negative:n}},e.exports.positive=function(t,e){for(var r=[],n=a(t[t.length-1],e),i=t[t.length-1],s=t[0],l=0;l<t.length;++l,i=s){var c=a(s=t[l],e);(n<0&&c>0||n>0&&c<0)&&r.push(o(i,c,s,n)),c>=0&&r.push(s.slice()),n=c}return r},e.exports.negative=function(t,e){for(var r=[],n=a(t[t.length-1],e),i=t[t.length-1],s=t[0],l=0;l<t.length;++l,i=s){var c=a(s=t[l],e);(n<0&&c>0||n>0&&c<0)&&r.push(o(i,c,s,n)),c<=0&&r.push(s.slice()),n=c}return r}},{"robust-dot-product":545,"robust-sum":553}],567:[function(t,e,r){!function(){"use strict";var t={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function e(t){return i(o(t),arguments)}function n(t,r){return e.apply(null,[t].concat(r||[]))}function i(r,n){var i,a,o,s,l,c,u,f,h,p=1,d=r.length,g="";for(a=0;a<d;a++)if("string"==typeof r[a])g+=r[a];else if("object"==typeof r[a]){if((s=r[a]).keys)for(i=n[p],o=0;o<s.keys.length;o++){if(null==i)throw new Error(e('[sprintf] Cannot access property "%s" of undefined value "%s"',s.keys[o],s.keys[o-1]));i=i[s.keys[o]]}else i=s.param_no?n[s.param_no]:n[p++];if(t.not_type.test(s.type)&&t.not_primitive.test(s.type)&&i instanceof Function&&(i=i()),t.numeric_arg.test(s.type)&&"number"!=typeof i&&isNaN(i))throw new TypeError(e("[sprintf] expecting number but found %T",i));switch(t.number.test(s.type)&&(f=i>=0),s.type){case"b":i=parseInt(i,10).toString(2);break;case"c":i=String.fromCharCode(parseInt(i,10));break;case"d":case"i":i=parseInt(i,10);break;case"j":i=JSON.stringify(i,null,s.width?parseInt(s.width):0);break;case"e":i=s.precision?parseFloat(i).toExponential(s.precision):parseFloat(i).toExponential();break;case"f":i=s.precision?parseFloat(i).toFixed(s.precision):parseFloat(i);break;case"g":i=s.precision?String(Number(i.toPrecision(s.precision))):parseFloat(i);break;case"o":i=(parseInt(i,10)>>>0).toString(8);break;case"s":i=String(i),i=s.precision?i.substring(0,s.precision):i;break;case"t":i=String(!!i),i=s.precision?i.substring(0,s.precision):i;break;case"T":i=Object.prototype.toString.call(i).slice(8,-1).toLowerCase(),i=s.precision?i.substring(0,s.precision):i;break;case"u":i=parseInt(i,10)>>>0;break;case"v":i=i.valueOf(),i=s.precision?i.substring(0,s.precision):i;break;case"x":i=(parseInt(i,10)>>>0).toString(16);break;case"X":i=(parseInt(i,10)>>>0).toString(16).toUpperCase()}t.json.test(s.type)?g+=i:(!t.number.test(s.type)||f&&!s.sign?h="":(h=f?"+":"-",i=i.toString().replace(t.sign,"")),c=s.pad_char?"0"===s.pad_char?"0":s.pad_char.charAt(1):" ",u=s.width-(h+i).length,l=s.width&&u>0?c.repeat(u):"",g+=s.align?h+i+l:"0"===c?h+l+i:l+h+i)}return g}var a=Object.create(null);function o(e){if(a[e])return a[e];for(var r,n=e,i=[],o=0;n;){if(null!==(r=t.text.exec(n)))i.push(r[0]);else if(null!==(r=t.modulo.exec(n)))i.push("%");else{if(null===(r=t.placeholder.exec(n)))throw new SyntaxError("[sprintf] unexpected placeholder");if(r[2]){o|=1;var s=[],l=r[2],c=[];if(null===(c=t.key.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(s.push(c[1]);""!==(l=l.substring(c[0].length));)if(null!==(c=t.key_access.exec(l)))s.push(c[1]);else{if(null===(c=t.index_access.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");s.push(c[1])}r[2]=s}else o|=2;if(3===o)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");i.push({placeholder:r[0],param_no:r[1],keys:r[2],sign:r[3],pad_char:r[4],align:r[5],width:r[6],precision:r[7],type:r[8]})}n=n.substring(r[0].length)}return a[e]=i}"undefined"!=typeof r&&(r.sprintf=e,r.vsprintf=n),"undefined"!=typeof window&&(window.sprintf=e,window.vsprintf=n)}()},{}],568:[function(t,e,r){"use strict";var n=t("parenthesis");e.exports=function(t,e,r){if(null==t)throw Error("First argument should be a string");if(null==e)throw Error("Separator should be a string or a RegExp");r?("string"==typeof r||Array.isArray(r))&&(r={ignore:r}):r={},null==r.escape&&(r.escape=!0),null==r.ignore?r.ignore=["[]","()","{}","<>",'""',"''","``","\u201c\u201d","\xab\xbb"]:("string"==typeof r.ignore&&(r.ignore=[r.ignore]),r.ignore=r.ignore.map((function(t){return 1===t.length&&(t+=t),t})));var i=n.parse(t,{flat:!0,brackets:r.ignore}),a=i[0].split(e);if(r.escape){for(var o=[],s=0;s<a.length;s++){var l=a[s],c=a[s+1];"\\"===l[l.length-1]&&"\\"!==l[l.length-2]?(o.push(l+e+c),s++):o.push(l)}a=o}for(s=0;s<a.length;s++)i[0]=a[s],a[s]=n.stringify(i,{flat:!0});return a}},{parenthesis:503}],569:[function(t,e,r){"use strict";e.exports=function(t){for(var e=t.length,r=new Array(e),n=new Array(e),i=new Array(e),a=new Array(e),o=new Array(e),s=new Array(e),l=0;l<e;++l)r[l]=-1,n[l]=0,i[l]=!1,a[l]=0,o[l]=-1,s[l]=[];var c,u=0,f=[],h=[];function p(e){var l=[e],c=[e];for(r[e]=n[e]=u,i[e]=!0,u+=1;c.length>0;){e=c[c.length-1];var p=t[e];if(a[e]<p.length){for(var d=a[e];d<p.length;++d){var g=p[d];if(r[g]<0){r[g]=n[g]=u,i[g]=!0,u+=1,l.push(g),c.push(g);break}i[g]&&(n[e]=0|Math.min(n[e],n[g])),o[g]>=0&&s[e].push(o[g])}a[e]=d}else{if(n[e]===r[e]){var m=[],v=[],y=0;for(d=l.length-1;d>=0;--d){var x=l[d];if(i[x]=!1,m.push(x),v.push(s[x]),y+=s[x].length,o[x]=f.length,x===e){l.length=d;break}}f.push(m);var b=new Array(y);for(d=0;d<v.length;d++)for(var _=0;_<v[d].length;_++)b[--y]=v[d][_];h.push(b)}c.pop()}}}for(l=0;l<e;++l)r[l]<0&&p(l);for(l=0;l<h.length;l++){var d=h[l];if(0!==d.length){d.sort((function(t,e){return t-e})),c=[d[0]];for(var g=1;g<d.length;g++)d[g]!==d[g-1]&&c.push(d[g]);h[l]=c}}return{components:f,adjacencyList:h}}},{}],570:[function(t,e,r){"use strict";e.exports=function(t,e){if(t.dimension<=0)return{positions:[],cells:[]};if(1===t.dimension)return function(t,e){for(var r=a(t,e),n=r.length,i=new Array(n),o=new Array(n),s=0;s<n;++s)i[s]=[r[s]],o[s]=[s];return{positions:i,cells:o}}(t,e);var r=t.order.join()+"-"+t.dtype,s=o[r];e=+e||0;s||(s=o[r]=function(t,e){var r=t.length,a=["'use strict';"],o="surfaceNets"+t.join("_")+"d"+e;a.push("var contour=genContour({","order:[",t.join(),"],","scalarArguments: 3,","phase:function phaseFunc(p,a,b,c) { return (p > c)|0 },"),"generic"===e&&a.push("getters:[0],");for(var s=[],l=[],c=0;c<r;++c)s.push("d"+c),l.push("d"+c);for(c=0;c<1<<r;++c)s.push("v"+c),l.push("v"+c);for(c=0;c<1<<r;++c)s.push("p"+c),l.push("p"+c);s.push("a","b","c"),l.push("a","c"),a.push("vertex:function vertexFunc(",s.join(),"){");var u=[];for(c=0;c<1<<r;++c)u.push("(p"+c+"<<"+c+")");a.push("var m=(",u.join("+"),")|0;if(m===0||m===",(1<<(1<<r))-1,"){return}");var f=[],h=[];1<<(1<<r)<=128?(a.push("switch(m){"),h=a):a.push("switch(m>>>7){");for(c=0;c<1<<(1<<r);++c){if(1<<(1<<r)>128&&c%128==0){f.length>0&&h.push("}}");var p="vExtra"+f.length;a.push("case ",c>>>7,":",p,"(m&0x7f,",l.join(),");break;"),h=["function ",p,"(m,",l.join(),"){switch(m){"],f.push(h)}h.push("case ",127&c,":");for(var d=new Array(r),g=new Array(r),m=new Array(r),v=new Array(r),y=0,x=0;x<r;++x)d[x]=[],g[x]=[],m[x]=0,v[x]=0;for(x=0;x<1<<r;++x)for(var b=0;b<r;++b){var _=x^1<<b;if(!(_>x)&&!(c&1<<_)!=!(c&1<<x)){var w=1;c&1<<_?g[b].push("v"+_+"-v"+x):(g[b].push("v"+x+"-v"+_),w=-w),w<0?(d[b].push("-v"+x+"-v"+_),m[b]+=2):(d[b].push("v"+x+"+v"+_),m[b]-=2),y+=1;for(var T=0;T<r;++T)T!==b&&(_&1<<T?v[T]+=1:v[T]-=1)}}var k=[];for(b=0;b<r;++b)if(0===d[b].length)k.push("d"+b+"-0.5");else{var M="";m[b]<0?M=m[b]+"*c":m[b]>0&&(M="+"+m[b]+"*c");var A=d[b].length/y*.5,S=.5+v[b]/y*.5;k.push("d"+b+"-"+S+"-"+A+"*("+d[b].join("+")+M+")/("+g[b].join("+")+")")}h.push("a.push([",k.join(),"]);","break;")}a.push("}},"),f.length>0&&h.push("}}");var E=[];for(c=0;c<1<<r-1;++c)E.push("v"+c);E.push("c0","c1","p0","p1","a","b","c"),a.push("cell:function cellFunc(",E.join(),"){");var C=i(r-1);a.push("if(p0){b.push(",C.map((function(t){return"["+t.map((function(t){return"v"+t}))+"]"})).join(),")}else{b.push(",C.map((function(t){var e=t.slice();return e.reverse(),"["+e.map((function(t){return"v"+t}))+"]"})).join(),")}}});function ",o,"(array,level){var verts=[],cells=[];contour(array,verts,cells,level);return {positions:verts,cells:cells};} return ",o,";");for(c=0;c<f.length;++c)a.push(f[c].join(""));return new Function("genContour",a.join(""))(n)}(t.order,t.dtype));return s(t,e)};var n=t("ndarray-extract-contour"),i=t("triangulate-hypercube"),a=t("zero-crossings");var o={}},{"ndarray-extract-contour":487,"triangulate-hypercube":580,"zero-crossings":624}],571:[function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=function(t,e){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return function(t,e){var r=[],n=!0,i=!1,a=void 0;try{for(var o,s=t[Symbol.iterator]();!(n=(o=s.next()).done)&&(r.push(o.value),!e||r.length!==e);n=!0);}catch(t){i=!0,a=t}finally{try{!n&&s.return&&s.return()}finally{if(i)throw a}}return r}(t,e);throw new TypeError("Invalid attempt to destructure non-iterable instance")},i=2*Math.PI,a=function(t,e,r,n,i,a,o){var s=t.x,l=t.y;return{x:n*(s*=e)-i*(l*=r)+a,y:i*s+n*l+o}},o=function(t,e){var r=1.5707963267948966===e?.551915024494:-1.5707963267948966===e?-.551915024494:4/3*Math.tan(e/4),n=Math.cos(t),i=Math.sin(t),a=Math.cos(t+e),o=Math.sin(t+e);return[{x:n-i*r,y:i+n*r},{x:a+o*r,y:o-a*r},{x:a,y:o}]},s=function(t,e,r,n){var i=t*r+e*n;return i>1&&(i=1),i<-1&&(i=-1),(t*n-e*r<0?-1:1)*Math.acos(i)};r.default=function(t){var e=t.px,r=t.py,l=t.cx,c=t.cy,u=t.rx,f=t.ry,h=t.xAxisRotation,p=void 0===h?0:h,d=t.largeArcFlag,g=void 0===d?0:d,m=t.sweepFlag,v=void 0===m?0:m,y=[];if(0===u||0===f)return[];var x=Math.sin(p*i/360),b=Math.cos(p*i/360),_=b*(e-l)/2+x*(r-c)/2,w=-x*(e-l)/2+b*(r-c)/2;if(0===_&&0===w)return[];u=Math.abs(u),f=Math.abs(f);var T=Math.pow(_,2)/Math.pow(u,2)+Math.pow(w,2)/Math.pow(f,2);T>1&&(u*=Math.sqrt(T),f*=Math.sqrt(T));var k=function(t,e,r,n,a,o,l,c,u,f,h,p){var d=Math.pow(a,2),g=Math.pow(o,2),m=Math.pow(h,2),v=Math.pow(p,2),y=d*g-d*v-g*m;y<0&&(y=0),y/=d*v+g*m;var x=(y=Math.sqrt(y)*(l===c?-1:1))*a/o*p,b=y*-o/a*h,_=f*x-u*b+(t+r)/2,w=u*x+f*b+(e+n)/2,T=(h-x)/a,k=(p-b)/o,M=(-h-x)/a,A=(-p-b)/o,S=s(1,0,T,k),E=s(T,k,M,A);return 0===c&&E>0&&(E-=i),1===c&&E<0&&(E+=i),[_,w,S,E]}(e,r,l,c,u,f,g,v,x,b,_,w),M=n(k,4),A=M[0],S=M[1],E=M[2],C=M[3],L=Math.abs(C)/(i/4);Math.abs(1-L)<1e-7&&(L=1);var I=Math.max(Math.ceil(L),1);C/=I;for(var P=0;P<I;P++)y.push(o(E,C)),E+=C;return y.map((function(t){var e=a(t[0],u,f,b,x,A,S),r=e.x,n=e.y,i=a(t[1],u,f,b,x,A,S),o=i.x,s=i.y,l=a(t[2],u,f,b,x,A,S);return{x1:r,y1:n,x2:o,y2:s,x:l.x,y:l.y}}))},e.exports=r.default},{}],572:[function(t,e,r){"use strict";var n=t("parse-svg-path"),i=t("abs-svg-path"),a=t("normalize-svg-path"),o=t("is-svg-path"),s=t("assert");e.exports=function(t){Array.isArray(t)&&1===t.length&&"string"==typeof t[0]&&(t=t[0]);"string"==typeof t&&(s(o(t),"String is not an SVG path."),t=n(t));if(s(Array.isArray(t),"Argument should be a string or an array of path segments."),t=i(t),!(t=a(t)).length)return[0,0,0,0];for(var e=[1/0,1/0,-1/0,-1/0],r=0,l=t.length;r<l;r++)for(var c=t[r].slice(1),u=0;u<c.length;u+=2)c[u+0]<e[0]&&(e[0]=c[u+0]),c[u+1]<e[1]&&(e[1]=c[u+1]),c[u+0]>e[2]&&(e[2]=c[u+0]),c[u+1]>e[3]&&(e[3]=c[u+1]);return e}},{"abs-svg-path":65,assert:73,"is-svg-path":471,"normalize-svg-path":573,"parse-svg-path":505}],573:[function(t,e,r){"use strict";e.exports=function(t){for(var e,r=[],o=0,s=0,l=0,c=0,u=null,f=null,h=0,p=0,d=0,g=t.length;d<g;d++){var m=t[d],v=m[0];switch(v){case"M":l=m[1],c=m[2];break;case"A":var y=n({px:h,py:p,cx:m[6],cy:m[7],rx:m[1],ry:m[2],xAxisRotation:m[3],largeArcFlag:m[4],sweepFlag:m[5]});if(!y.length)continue;for(var x,b=0;b<y.length;b++)x=y[b],m=["C",x.x1,x.y1,x.x2,x.y2,x.x,x.y],b<y.length-1&&r.push(m);break;case"S":var _=h,w=p;"C"!=e&&"S"!=e||(_+=_-o,w+=w-s),m=["C",_,w,m[1],m[2],m[3],m[4]];break;case"T":"Q"==e||"T"==e?(u=2*h-u,f=2*p-f):(u=h,f=p),m=a(h,p,u,f,m[1],m[2]);break;case"Q":u=m[1],f=m[2],m=a(h,p,m[1],m[2],m[3],m[4]);break;case"L":m=i(h,p,m[1],m[2]);break;case"H":m=i(h,p,m[1],p);break;case"V":m=i(h,p,h,m[1]);break;case"Z":m=i(h,p,l,c)}e=v,h=m[m.length-2],p=m[m.length-1],m.length>4?(o=m[m.length-4],s=m[m.length-3]):(o=h,s=p),r.push(m)}return r};var n=t("svg-arc-to-cubic-bezier");function i(t,e,r,n){return["C",t,e,r,n,r,n]}function a(t,e,r,n,i,a){return["C",t/3+2/3*r,e/3+2/3*n,i/3+2/3*r,a/3+2/3*n,i,a]}},{"svg-arc-to-cubic-bezier":571}],574:[function(t,e,r){"use strict";var n,i=t("svg-path-bounds"),a=t("parse-svg-path"),o=t("draw-svg-path"),s=t("is-svg-path"),l=t("bitmap-sdf"),c=document.createElement("canvas"),u=c.getContext("2d");e.exports=function(t,e){if(!s(t))throw Error("Argument should be valid svg path string");e||(e={});var r,f;e.shape?(r=e.shape[0],f=e.shape[1]):(r=c.width=e.w||e.width||200,f=c.height=e.h||e.height||200);var h=Math.min(r,f),p=e.stroke||0,d=e.viewbox||e.viewBox||i(t),g=[r/(d[2]-d[0]),f/(d[3]-d[1])],m=Math.min(g[0]||0,g[1]||0)/2;u.fillStyle="black",u.fillRect(0,0,r,f),u.fillStyle="white",p&&("number"!=typeof p&&(p=1),u.strokeStyle=p>0?"white":"black",u.lineWidth=Math.abs(p));if(u.translate(.5*r,.5*f),u.scale(m,m),function(){if(null!=n)return n;var t=document.createElement("canvas").getContext("2d");if(t.canvas.width=t.canvas.height=1,!window.Path2D)return n=!1;var e=new Path2D("M0,0h1v1h-1v-1Z");t.fillStyle="black",t.fill(e);var r=t.getImageData(0,0,1,1);return n=r&&r.data&&255===r.data[3]}()){var v=new Path2D(t);u.fill(v),p&&u.stroke(v)}else{var y=a(t);o(u,y),u.fill(),p&&u.stroke()}return u.setTransform(1,0,0,1,0,0),l(u,{cutoff:null!=e.cutoff?e.cutoff:.5,radius:null!=e.radius?e.radius:.5*h})}},{"bitmap-sdf":98,"draw-svg-path":174,"is-svg-path":471,"parse-svg-path":505,"svg-path-bounds":572}],575:[function(t,e,r){(function(r){(function(){"use strict";e.exports=function t(e,r,i){i=i||{};var o=a[e];o||(o=a[e]={" ":{data:new Float32Array(0),shape:.2}});var s=o[r];if(!s)if(r.length<=1||!/\d/.test(r))s=o[r]=function(t){for(var e=t.cells,r=t.positions,n=new Float32Array(6*e.length),i=0,a=0,o=0;o<e.length;++o)for(var s=e[o],l=0;l<3;++l){var c=r[s[l]];n[i++]=c[0],n[i++]=c[1]+1.4,a=Math.max(c[0],a)}return{data:n,shape:a}}(n(r,{triangles:!0,font:e,textAlign:i.textAlign||"left",textBaseline:"alphabetic",styletags:{breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0}}));else{for(var l=r.split(/(\d|\s)/),c=new Array(l.length),u=0,f=0,h=0;h<l.length;++h)c[h]=t(e,l[h]),u+=c[h].data.length,f+=c[h].shape,h>0&&(f+=.02);var p=new Float32Array(u),d=0,g=-.5*f;for(h=0;h<c.length;++h){for(var m=c[h].data,v=0;v<m.length;v+=2)p[d++]=m[v]+g,p[d++]=m[v+1];g+=c[h].shape+.02}s=o[r]={data:p,shape:f}}return s};var n=t("vectorize-text"),i=window||r.global||{},a=i.__TEXT_CACHE||{};i.__TEXT_CACHE={}}).call(this)}).call(this,t("_process"))},{_process:526,"vectorize-text":600}],576:[function(t,e,r){!function(t){var r=/^\s+/,n=/\s+$/,i=0,a=t.round,o=t.min,s=t.max,l=t.random;function c(e,l){if(l=l||{},(e=e||"")instanceof c)return e;if(!(this instanceof c))return new c(e,l);var u=function(e){var i={r:0,g:0,b:0},a=1,l=null,c=null,u=null,f=!1,h=!1;"string"==typeof e&&(e=function(t){t=t.replace(r,"").replace(n,"").toLowerCase();var e,i=!1;if(S[t])t=S[t],i=!0;else if("transparent"==t)return{r:0,g:0,b:0,a:0,format:"name"};if(e=j.rgb.exec(t))return{r:e[1],g:e[2],b:e[3]};if(e=j.rgba.exec(t))return{r:e[1],g:e[2],b:e[3],a:e[4]};if(e=j.hsl.exec(t))return{h:e[1],s:e[2],l:e[3]};if(e=j.hsla.exec(t))return{h:e[1],s:e[2],l:e[3],a:e[4]};if(e=j.hsv.exec(t))return{h:e[1],s:e[2],v:e[3]};if(e=j.hsva.exec(t))return{h:e[1],s:e[2],v:e[3],a:e[4]};if(e=j.hex8.exec(t))return{r:P(e[1]),g:P(e[2]),b:P(e[3]),a:R(e[4]),format:i?"name":"hex8"};if(e=j.hex6.exec(t))return{r:P(e[1]),g:P(e[2]),b:P(e[3]),format:i?"name":"hex"};if(e=j.hex4.exec(t))return{r:P(e[1]+""+e[1]),g:P(e[2]+""+e[2]),b:P(e[3]+""+e[3]),a:R(e[4]+""+e[4]),format:i?"name":"hex8"};if(e=j.hex3.exec(t))return{r:P(e[1]+""+e[1]),g:P(e[2]+""+e[2]),b:P(e[3]+""+e[3]),format:i?"name":"hex"};return!1}(e));"object"==typeof e&&(U(e.r)&&U(e.g)&&U(e.b)?(p=e.r,d=e.g,g=e.b,i={r:255*L(p,255),g:255*L(d,255),b:255*L(g,255)},f=!0,h="%"===String(e.r).substr(-1)?"prgb":"rgb"):U(e.h)&&U(e.s)&&U(e.v)?(l=O(e.s),c=O(e.v),i=function(e,r,n){e=6*L(e,360),r=L(r,100),n=L(n,100);var i=t.floor(e),a=e-i,o=n*(1-r),s=n*(1-a*r),l=n*(1-(1-a)*r),c=i%6;return{r:255*[n,s,o,o,l,n][c],g:255*[l,n,n,s,o,o][c],b:255*[o,o,l,n,n,s][c]}}(e.h,l,c),f=!0,h="hsv"):U(e.h)&&U(e.s)&&U(e.l)&&(l=O(e.s),u=O(e.l),i=function(t,e,r){var n,i,a;function o(t,e,r){return r<0&&(r+=1),r>1&&(r-=1),r<1/6?t+6*(e-t)*r:r<.5?e:r<2/3?t+(e-t)*(2/3-r)*6:t}if(t=L(t,360),e=L(e,100),r=L(r,100),0===e)n=i=a=r;else{var s=r<.5?r*(1+e):r+e-r*e,l=2*r-s;n=o(l,s,t+1/3),i=o(l,s,t),a=o(l,s,t-1/3)}return{r:255*n,g:255*i,b:255*a}}(e.h,l,u),f=!0,h="hsl"),e.hasOwnProperty("a")&&(a=e.a));var p,d,g;return a=C(a),{ok:f,format:e.format||h,r:o(255,s(i.r,0)),g:o(255,s(i.g,0)),b:o(255,s(i.b,0)),a:a}}(e);this._originalInput=e,this._r=u.r,this._g=u.g,this._b=u.b,this._a=u.a,this._roundA=a(100*this._a)/100,this._format=l.format||u.format,this._gradientType=l.gradientType,this._r<1&&(this._r=a(this._r)),this._g<1&&(this._g=a(this._g)),this._b<1&&(this._b=a(this._b)),this._ok=u.ok,this._tc_id=i++}function u(t,e,r){t=L(t,255),e=L(e,255),r=L(r,255);var n,i,a=s(t,e,r),l=o(t,e,r),c=(a+l)/2;if(a==l)n=i=0;else{var u=a-l;switch(i=c>.5?u/(2-a-l):u/(a+l),a){case t:n=(e-r)/u+(e<r?6:0);break;case e:n=(r-t)/u+2;break;case r:n=(t-e)/u+4}n/=6}return{h:n,s:i,l:c}}function f(t,e,r){t=L(t,255),e=L(e,255),r=L(r,255);var n,i,a=s(t,e,r),l=o(t,e,r),c=a,u=a-l;if(i=0===a?0:u/a,a==l)n=0;else{switch(a){case t:n=(e-r)/u+(e<r?6:0);break;case e:n=(r-t)/u+2;break;case r:n=(t-e)/u+4}n/=6}return{h:n,s:i,v:c}}function h(t,e,r,n){var i=[z(a(t).toString(16)),z(a(e).toString(16)),z(a(r).toString(16))];return n&&i[0].charAt(0)==i[0].charAt(1)&&i[1].charAt(0)==i[1].charAt(1)&&i[2].charAt(0)==i[2].charAt(1)?i[0].charAt(0)+i[1].charAt(0)+i[2].charAt(0):i.join("")}function p(t,e,r,n){return[z(D(n)),z(a(t).toString(16)),z(a(e).toString(16)),z(a(r).toString(16))].join("")}function d(t,e){e=0===e?0:e||10;var r=c(t).toHsl();return r.s-=e/100,r.s=I(r.s),c(r)}function g(t,e){e=0===e?0:e||10;var r=c(t).toHsl();return r.s+=e/100,r.s=I(r.s),c(r)}function m(t){return c(t).desaturate(100)}function v(t,e){e=0===e?0:e||10;var r=c(t).toHsl();return r.l+=e/100,r.l=I(r.l),c(r)}function y(t,e){e=0===e?0:e||10;var r=c(t).toRgb();return r.r=s(0,o(255,r.r-a(-e/100*255))),r.g=s(0,o(255,r.g-a(-e/100*255))),r.b=s(0,o(255,r.b-a(-e/100*255))),c(r)}function x(t,e){e=0===e?0:e||10;var r=c(t).toHsl();return r.l-=e/100,r.l=I(r.l),c(r)}function b(t,e){var r=c(t).toHsl(),n=(r.h+e)%360;return r.h=n<0?360+n:n,c(r)}function _(t){var e=c(t).toHsl();return e.h=(e.h+180)%360,c(e)}function w(t){var e=c(t).toHsl(),r=e.h;return[c(t),c({h:(r+120)%360,s:e.s,l:e.l}),c({h:(r+240)%360,s:e.s,l:e.l})]}function T(t){var e=c(t).toHsl(),r=e.h;return[c(t),c({h:(r+90)%360,s:e.s,l:e.l}),c({h:(r+180)%360,s:e.s,l:e.l}),c({h:(r+270)%360,s:e.s,l:e.l})]}function k(t){var e=c(t).toHsl(),r=e.h;return[c(t),c({h:(r+72)%360,s:e.s,l:e.l}),c({h:(r+216)%360,s:e.s,l:e.l})]}function M(t,e,r){e=e||6,r=r||30;var n=c(t).toHsl(),i=360/r,a=[c(t)];for(n.h=(n.h-(i*e>>1)+720)%360;--e;)n.h=(n.h+i)%360,a.push(c(n));return a}function A(t,e){e=e||6;for(var r=c(t).toHsv(),n=r.h,i=r.s,a=r.v,o=[],s=1/e;e--;)o.push(c({h:n,s:i,v:a})),a=(a+s)%1;return o}c.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var t=this.toRgb();return(299*t.r+587*t.g+114*t.b)/1e3},getLuminance:function(){var e,r,n,i=this.toRgb();return e=i.r/255,r=i.g/255,n=i.b/255,.2126*(e<=.03928?e/12.92:t.pow((e+.055)/1.055,2.4))+.7152*(r<=.03928?r/12.92:t.pow((r+.055)/1.055,2.4))+.0722*(n<=.03928?n/12.92:t.pow((n+.055)/1.055,2.4))},setAlpha:function(t){return this._a=C(t),this._roundA=a(100*this._a)/100,this},toHsv:function(){var t=f(this._r,this._g,this._b);return{h:360*t.h,s:t.s,v:t.v,a:this._a}},toHsvString:function(){var t=f(this._r,this._g,this._b),e=a(360*t.h),r=a(100*t.s),n=a(100*t.v);return 1==this._a?"hsv("+e+", "+r+"%, "+n+"%)":"hsva("+e+", "+r+"%, "+n+"%, "+this._roundA+")"},toHsl:function(){var t=u(this._r,this._g,this._b);return{h:360*t.h,s:t.s,l:t.l,a:this._a}},toHslString:function(){var t=u(this._r,this._g,this._b),e=a(360*t.h),r=a(100*t.s),n=a(100*t.l);return 1==this._a?"hsl("+e+", "+r+"%, "+n+"%)":"hsla("+e+", "+r+"%, "+n+"%, "+this._roundA+")"},toHex:function(t){return h(this._r,this._g,this._b,t)},toHexString:function(t){return"#"+this.toHex(t)},toHex8:function(t){return function(t,e,r,n,i){var o=[z(a(t).toString(16)),z(a(e).toString(16)),z(a(r).toString(16)),z(D(n))];if(i&&o[0].charAt(0)==o[0].charAt(1)&&o[1].charAt(0)==o[1].charAt(1)&&o[2].charAt(0)==o[2].charAt(1)&&o[3].charAt(0)==o[3].charAt(1))return o[0].charAt(0)+o[1].charAt(0)+o[2].charAt(0)+o[3].charAt(0);return o.join("")}(this._r,this._g,this._b,this._a,t)},toHex8String:function(t){return"#"+this.toHex8(t)},toRgb:function(){return{r:a(this._r),g:a(this._g),b:a(this._b),a:this._a}},toRgbString:function(){return 1==this._a?"rgb("+a(this._r)+", "+a(this._g)+", "+a(this._b)+")":"rgba("+a(this._r)+", "+a(this._g)+", "+a(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:a(100*L(this._r,255))+"%",g:a(100*L(this._g,255))+"%",b:a(100*L(this._b,255))+"%",a:this._a}},toPercentageRgbString:function(){return 1==this._a?"rgb("+a(100*L(this._r,255))+"%, "+a(100*L(this._g,255))+"%, "+a(100*L(this._b,255))+"%)":"rgba("+a(100*L(this._r,255))+"%, "+a(100*L(this._g,255))+"%, "+a(100*L(this._b,255))+"%, "+this._roundA+")"},toName:function(){return 0===this._a?"transparent":!(this._a<1)&&(E[h(this._r,this._g,this._b,!0)]||!1)},toFilter:function(t){var e="#"+p(this._r,this._g,this._b,this._a),r=e,n=this._gradientType?"GradientType = 1, ":"";if(t){var i=c(t);r="#"+p(i._r,i._g,i._b,i._a)}return"progid:DXImageTransform.Microsoft.gradient("+n+"startColorstr="+e+",endColorstr="+r+")"},toString:function(t){var e=!!t;t=t||this._format;var r=!1,n=this._a<1&&this._a>=0;return e||!n||"hex"!==t&&"hex6"!==t&&"hex3"!==t&&"hex4"!==t&&"hex8"!==t&&"name"!==t?("rgb"===t&&(r=this.toRgbString()),"prgb"===t&&(r=this.toPercentageRgbString()),"hex"!==t&&"hex6"!==t||(r=this.toHexString()),"hex3"===t&&(r=this.toHexString(!0)),"hex4"===t&&(r=this.toHex8String(!0)),"hex8"===t&&(r=this.toHex8String()),"name"===t&&(r=this.toName()),"hsl"===t&&(r=this.toHslString()),"hsv"===t&&(r=this.toHsvString()),r||this.toHexString()):"name"===t&&0===this._a?this.toName():this.toRgbString()},clone:function(){return c(this.toString())},_applyModification:function(t,e){var r=t.apply(null,[this].concat([].slice.call(e)));return this._r=r._r,this._g=r._g,this._b=r._b,this.setAlpha(r._a),this},lighten:function(){return this._applyModification(v,arguments)},brighten:function(){return this._applyModification(y,arguments)},darken:function(){return this._applyModification(x,arguments)},desaturate:function(){return this._applyModification(d,arguments)},saturate:function(){return this._applyModification(g,arguments)},greyscale:function(){return this._applyModification(m,arguments)},spin:function(){return this._applyModification(b,arguments)},_applyCombination:function(t,e){return t.apply(null,[this].concat([].slice.call(e)))},analogous:function(){return this._applyCombination(M,arguments)},complement:function(){return this._applyCombination(_,arguments)},monochromatic:function(){return this._applyCombination(A,arguments)},splitcomplement:function(){return this._applyCombination(k,arguments)},triad:function(){return this._applyCombination(w,arguments)},tetrad:function(){return this._applyCombination(T,arguments)}},c.fromRatio=function(t,e){if("object"==typeof t){var r={};for(var n in t)t.hasOwnProperty(n)&&(r[n]="a"===n?t[n]:O(t[n]));t=r}return c(t,e)},c.equals=function(t,e){return!(!t||!e)&&c(t).toRgbString()==c(e).toRgbString()},c.random=function(){return c.fromRatio({r:l(),g:l(),b:l()})},c.mix=function(t,e,r){r=0===r?0:r||50;var n=c(t).toRgb(),i=c(e).toRgb(),a=r/100;return c({r:(i.r-n.r)*a+n.r,g:(i.g-n.g)*a+n.g,b:(i.b-n.b)*a+n.b,a:(i.a-n.a)*a+n.a})},c.readability=function(e,r){var n=c(e),i=c(r);return(t.max(n.getLuminance(),i.getLuminance())+.05)/(t.min(n.getLuminance(),i.getLuminance())+.05)},c.isReadable=function(t,e,r){var n,i,a=c.readability(t,e);switch(i=!1,(n=function(t){var e,r;e=((t=t||{level:"AA",size:"small"}).level||"AA").toUpperCase(),r=(t.size||"small").toLowerCase(),"AA"!==e&&"AAA"!==e&&(e="AA");"small"!==r&&"large"!==r&&(r="small");return{level:e,size:r}}(r)).level+n.size){case"AAsmall":case"AAAlarge":i=a>=4.5;break;case"AAlarge":i=a>=3;break;case"AAAsmall":i=a>=7}return i},c.mostReadable=function(t,e,r){var n,i,a,o,s=null,l=0;i=(r=r||{}).includeFallbackColors,a=r.level,o=r.size;for(var u=0;u<e.length;u++)(n=c.readability(t,e[u]))>l&&(l=n,s=c(e[u]));return c.isReadable(t,s,{level:a,size:o})||!i?s:(r.includeFallbackColors=!1,c.mostReadable(t,["#fff","#000"],r))};var S=c.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},E=c.hexNames=function(t){var e={};for(var r in t)t.hasOwnProperty(r)&&(e[t[r]]=r);return e}(S);function C(t){return t=parseFloat(t),(isNaN(t)||t<0||t>1)&&(t=1),t}function L(e,r){(function(t){return"string"==typeof t&&-1!=t.indexOf(".")&&1===parseFloat(t)})(e)&&(e="100%");var n=function(t){return"string"==typeof t&&-1!=t.indexOf("%")}(e);return e=o(r,s(0,parseFloat(e))),n&&(e=parseInt(e*r,10)/100),t.abs(e-r)<1e-6?1:e%r/parseFloat(r)}function I(t){return o(1,s(0,t))}function P(t){return parseInt(t,16)}function z(t){return 1==t.length?"0"+t:""+t}function O(t){return t<=1&&(t=100*t+"%"),t}function D(e){return t.round(255*parseFloat(e)).toString(16)}function R(t){return P(t)/255}var F,B,N,j=(B="[\\s|\\(]+("+(F="(?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?)")+")[,|\\s]+("+F+")[,|\\s]+("+F+")\\s*\\)?",N="[\\s|\\(]+("+F+")[,|\\s]+("+F+")[,|\\s]+("+F+")[,|\\s]+("+F+")\\s*\\)?",{CSS_UNIT:new RegExp(F),rgb:new RegExp("rgb"+B),rgba:new RegExp("rgba"+N),hsl:new RegExp("hsl"+B),hsla:new RegExp("hsla"+N),hsv:new RegExp("hsv"+B),hsva:new RegExp("hsva"+N),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/});function U(t){return!!j.CSS_UNIT.exec(t)}"undefined"!=typeof e&&e.exports?e.exports=c:window.tinycolor=c}(Math)},{}],577:[function(t,e,r){"use strict";e.exports=i,e.exports.float32=e.exports.float=i,e.exports.fract32=e.exports.fract=function(t){if(t.length){for(var e=i(t),r=0,n=e.length;r<n;r++)e[r]=t[r]-e[r];return e}return i(t-i(t))};var n=new Float32Array(1);function i(t){if(t.length){if(t instanceof Float32Array)return t;var e=new Float32Array(t);return e.set(t),e}return n[0]=t,n[0]}},{}],578:[function(t,e,r){"use strict";var n=t("parse-unit");e.exports=a;function i(t,e){var r=n(getComputedStyle(t).getPropertyValue(e));return r[0]*a(r[1],t)}function a(t,e){switch(e=e||document.body,t=(t||"px").trim().toLowerCase(),e!==window&&e!==document||(e=document.body),t){case"%":return e.clientHeight/100;case"ch":case"ex":return function(t,e){var r=document.createElement("div");r.style["font-size"]="128"+t,e.appendChild(r);var n=i(r,"font-size")/128;return e.removeChild(r),n}(t,e);case"em":return i(e,"font-size");case"rem":return i(document.body,"font-size");case"vw":return window.innerWidth/100;case"vh":return window.innerHeight/100;case"vmin":return Math.min(window.innerWidth,window.innerHeight)/100;case"vmax":return Math.max(window.innerWidth,window.innerHeight)/100;case"in":return 96;case"cm":return 96/2.54;case"mm":return 96/25.4;case"pt":return 96/72;case"pc":return 16}return 1}},{"parse-unit":506}],579:[function(t,e,r){!function(t,n){"object"==typeof r&&"undefined"!=typeof e?n(r):n((t=t||self).topojson=t.topojson||{})}(this,(function(t){"use strict";function e(t){return t}function r(t){if(null==t)return e;var r,n,i=t.scale[0],a=t.scale[1],o=t.translate[0],s=t.translate[1];return function(t,e){e||(r=n=0);var l=2,c=t.length,u=new Array(c);for(u[0]=(r+=t[0])*i+o,u[1]=(n+=t[1])*a+s;l<c;)u[l]=t[l],++l;return u}}function n(t){var e,n=r(t.transform),i=1/0,a=i,o=-i,s=-i;function l(t){(t=n(t))[0]<i&&(i=t[0]),t[0]>o&&(o=t[0]),t[1]<a&&(a=t[1]),t[1]>s&&(s=t[1])}function c(t){switch(t.type){case"GeometryCollection":t.geometries.forEach(c);break;case"Point":l(t.coordinates);break;case"MultiPoint":t.coordinates.forEach(l)}}for(e in t.arcs.forEach((function(t){for(var e,r=-1,l=t.length;++r<l;)(e=n(t[r],r))[0]<i&&(i=e[0]),e[0]>o&&(o=e[0]),e[1]<a&&(a=e[1]),e[1]>s&&(s=e[1])})),t.objects)c(t.objects[e]);return[i,a,o,s]}function i(t,e){var r=e.id,n=e.bbox,i=null==e.properties?{}:e.properties,o=a(t,e);return null==r&&null==n?{type:"Feature",properties:i,geometry:o}:null==n?{type:"Feature",id:r,properties:i,geometry:o}:{type:"Feature",id:r,bbox:n,properties:i,geometry:o}}function a(t,e){var n=r(t.transform),i=t.arcs;function a(t,e){e.length&&e.pop();for(var r=i[t<0?~t:t],a=0,o=r.length;a<o;++a)e.push(n(r[a],a));t<0&&function(t,e){for(var r,n=t.length,i=n-e;i<--n;)r=t[i],t[i++]=t[n],t[n]=r}(e,o)}function o(t){return n(t)}function s(t){for(var e=[],r=0,n=t.length;r<n;++r)a(t[r],e);return e.length<2&&e.push(e[0]),e}function l(t){for(var e=s(t);e.length<4;)e.push(e[0]);return e}function c(t){return t.map(l)}return function t(e){var r,n=e.type;switch(n){case"GeometryCollection":return{type:n,geometries:e.geometries.map(t)};case"Point":r=o(e.coordinates);break;case"MultiPoint":r=e.coordinates.map(o);break;case"LineString":r=s(e.arcs);break;case"MultiLineString":r=e.arcs.map(s);break;case"Polygon":r=c(e.arcs);break;case"MultiPolygon":r=e.arcs.map(c);break;default:return null}return{type:n,coordinates:r}}(e)}function o(t,e){var r={},n={},i={},a=[],o=-1;function s(t,e){for(var n in t){var i=t[n];delete e[i.start],delete i.start,delete i.end,i.forEach((function(t){r[t<0?~t:t]=1})),a.push(i)}}return e.forEach((function(r,n){var i,a=t.arcs[r<0?~r:r];a.length<3&&!a[1][0]&&!a[1][1]&&(i=e[++o],e[o]=r,e[n]=i)})),e.forEach((function(e){var r,a,o=function(e){var r,n=t.arcs[e<0?~e:e],i=n[0];t.transform?(r=[0,0],n.forEach((function(t){r[0]+=t[0],r[1]+=t[1]}))):r=n[n.length-1];return e<0?[r,i]:[i,r]}(e),s=o[0],l=o[1];if(r=i[s])if(delete i[r.end],r.push(e),r.end=l,a=n[l]){delete n[a.start];var c=a===r?r:r.concat(a);n[c.start=r.start]=i[c.end=a.end]=c}else n[r.start]=i[r.end]=r;else if(r=n[l])if(delete n[r.start],r.unshift(e),r.start=s,a=i[s]){delete i[a.end];var u=a===r?r:a.concat(r);n[u.start=a.start]=i[u.end=r.end]=u}else n[r.start]=i[r.end]=r;else n[(r=[e]).start=s]=i[r.end=l]=r})),s(i,n),s(n,i),e.forEach((function(t){r[t<0?~t:t]||a.push([t])})),a}function s(t,e,r){var n,i,a;if(arguments.length>1)n=l(t,e,r);else for(i=0,n=new Array(a=t.arcs.length);i<a;++i)n[i]=i;return{type:"MultiLineString",arcs:o(t,n)}}function l(t,e,r){var n,i=[],a=[];function o(t){var e=t<0?~t:t;(a[e]||(a[e]=[])).push({i:t,g:n})}function s(t){t.forEach(o)}function l(t){t.forEach(s)}return function t(e){switch(n=e,e.type){case"GeometryCollection":e.geometries.forEach(t);break;case"LineString":s(e.arcs);break;case"MultiLineString":case"Polygon":l(e.arcs);break;case"MultiPolygon":!function(t){t.forEach(l)}(e.arcs)}}(e),a.forEach(null==r?function(t){i.push(t[0].i)}:function(t){r(t[0].g,t[t.length-1].g)&&i.push(t[0].i)}),i}function c(t,e){var r={},n=[],i=[];function s(t){t.forEach((function(e){e.forEach((function(e){(r[e=e<0?~e:e]||(r[e]=[])).push(t)}))})),n.push(t)}function l(e){return function(t){for(var e,r=-1,n=t.length,i=t[n-1],a=0;++r<n;)e=i,i=t[r],a+=e[0]*i[1]-e[1]*i[0];return Math.abs(a)}(a(t,{type:"Polygon",arcs:[e]}).coordinates[0])}return e.forEach((function t(e){switch(e.type){case"GeometryCollection":e.geometries.forEach(t);break;case"Polygon":s(e.arcs);break;case"MultiPolygon":e.arcs.forEach(s)}})),n.forEach((function(t){if(!t._){var e=[],n=[t];for(t._=1,i.push(e);t=n.pop();)e.push(t),t.forEach((function(t){t.forEach((function(t){r[t<0?~t:t].forEach((function(t){t._||(t._=1,n.push(t))}))}))}))}})),n.forEach((function(t){delete t._})),{type:"MultiPolygon",arcs:i.map((function(e){var n,i=[];if(e.forEach((function(t){t.forEach((function(t){t.forEach((function(t){r[t<0?~t:t].length<2&&i.push(t)}))}))})),(n=(i=o(t,i)).length)>1)for(var a,s,c=1,u=l(i[0]);c<n;++c)(a=l(i[c]))>u&&(s=i[0],i[0]=i[c],i[c]=s,u=a);return i})).filter((function(t){return t.length>0}))}}function u(t,e){for(var r=0,n=t.length;r<n;){var i=r+n>>>1;t[i]<e?r=i+1:n=i}return r}function f(t){if(null==t)return e;var r,n,i=t.scale[0],a=t.scale[1],o=t.translate[0],s=t.translate[1];return function(t,e){e||(r=n=0);var l=2,c=t.length,u=new Array(c),f=Math.round((t[0]-o)/i),h=Math.round((t[1]-s)/a);for(u[0]=f-r,r=f,u[1]=h-n,n=h;l<c;)u[l]=t[l],++l;return u}}t.bbox=n,t.feature=function(t,e){return"string"==typeof e&&(e=t.objects[e]),"GeometryCollection"===e.type?{type:"FeatureCollection",features:e.geometries.map((function(e){return i(t,e)}))}:i(t,e)},t.merge=function(t){return a(t,c.apply(this,arguments))},t.mergeArcs=c,t.mesh=function(t){return a(t,s.apply(this,arguments))},t.meshArcs=s,t.neighbors=function(t){var e={},r=t.map((function(){return[]}));function n(t,r){t.forEach((function(t){t<0&&(t=~t);var n=e[t];n?n.push(r):e[t]=[r]}))}function i(t,e){t.forEach((function(t){n(t,e)}))}var a={LineString:n,MultiLineString:i,Polygon:i,MultiPolygon:function(t,e){t.forEach((function(t){i(t,e)}))}};for(var o in t.forEach((function t(e,r){"GeometryCollection"===e.type?e.geometries.forEach((function(e){t(e,r)})):e.type in a&&a[e.type](e.arcs,r)})),e)for(var s=e[o],l=s.length,c=0;c<l;++c)for(var f=c+1;f<l;++f){var h,p=s[c],d=s[f];(h=r[p])[o=u(h,d)]!==d&&h.splice(o,0,d),(h=r[d])[o=u(h,p)]!==p&&h.splice(o,0,p)}return r},t.quantize=function(t,e){if(t.transform)throw new Error("already quantized");if(e&&e.scale)l=t.bbox;else{if(!((r=Math.floor(e))>=2))throw new Error("n must be \u22652");var r,i=(l=t.bbox||n(t))[0],a=l[1],o=l[2],s=l[3];e={scale:[o-i?(o-i)/(r-1):1,s-a?(s-a)/(r-1):1],translate:[i,a]}}var l,c,u=f(e),h=t.objects,p={};function d(t){return u(t)}function g(t){var e;switch(t.type){case"GeometryCollection":e={type:"GeometryCollection",geometries:t.geometries.map(g)};break;case"Point":e={type:"Point",coordinates:d(t.coordinates)};break;case"MultiPoint":e={type:"MultiPoint",coordinates:t.coordinates.map(d)};break;default:return t}return null!=t.id&&(e.id=t.id),null!=t.bbox&&(e.bbox=t.bbox),null!=t.properties&&(e.properties=t.properties),e}for(c in h)p[c]=g(h[c]);return{type:"Topology",bbox:l,transform:e,objects:p,arcs:t.arcs.map((function(t){var e,r=0,n=1,i=t.length,a=new Array(i);for(a[0]=u(t[0],0);++r<i;)((e=u(t[r],r))[0]||e[1])&&(a[n++]=e);return 1===n&&(a[n++]=[0,0]),a.length=n,a}))}},t.transform=r,t.untransform=f,Object.defineProperty(t,"__esModule",{value:!0})}))},{}],580:[function(t,e,r){"use strict";e.exports=function(t){if(t<0)return[];if(0===t)return[[0]];for(var e=0|Math.round(a(t+1)),r=[],o=0;o<e;++o){for(var s=n.unrank(t,o),l=[0],c=0,u=0;u<s.length;++u)c+=1<<s[u],l.push(c);i(s)<1&&(l[0]=c,l[t]=0),r.push(l)}return r};var n=t("permutation-rank"),i=t("permutation-parity"),a=t("gamma")},{gamma:248,"permutation-parity":509,"permutation-rank":510}],581:[function(t,e,r){"use strict";e.exports=function(t){var e=(t=t||{}).center||[0,0,0],r=t.up||[0,1,0],n=t.right||f(r),i=t.radius||1,a=t.theta||0,u=t.phi||0;if(e=[].slice.call(e,0,3),r=[].slice.call(r,0,3),s(r,r),n=[].slice.call(n,0,3),s(n,n),"eye"in t){var p=t.eye,d=[p[0]-e[0],p[1]-e[1],p[2]-e[2]];o(n,d,r),c(n[0],n[1],n[2])<1e-6?n=f(r):s(n,n),i=c(d[0],d[1],d[2]);var g=l(r,d)/i,m=l(n,d)/i;u=Math.acos(g),a=Math.acos(m)}return i=Math.log(i),new h(t.zoomMin,t.zoomMax,e,r,n,i,a,u)};var n=t("filtered-vector"),i=t("gl-mat4/invert"),a=t("gl-mat4/rotate"),o=t("gl-vec3/cross"),s=t("gl-vec3/normalize"),l=t("gl-vec3/dot");function c(t,e,r){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2))}function u(t){return Math.min(1,Math.max(-1,t))}function f(t){var e=Math.abs(t[0]),r=Math.abs(t[1]),n=Math.abs(t[2]),i=[0,0,0];e>Math.max(r,n)?i[2]=1:r>Math.max(e,n)?i[0]=1:i[1]=1;for(var a=0,o=0,l=0;l<3;++l)a+=t[l]*t[l],o+=i[l]*t[l];for(l=0;l<3;++l)i[l]-=o/a*t[l];return s(i,i),i}function h(t,e,r,i,a,o,s,l){this.center=n(r),this.up=n(i),this.right=n(a),this.radius=n([o]),this.angle=n([s,l]),this.angle.bounds=[[-1/0,-Math.PI/2],[1/0,Math.PI/2]],this.setDistanceLimits(t,e),this.computedCenter=this.center.curve(0),this.computedUp=this.up.curve(0),this.computedRight=this.right.curve(0),this.computedRadius=this.radius.curve(0),this.computedAngle=this.angle.curve(0),this.computedToward=[0,0,0],this.computedEye=[0,0,0],this.computedMatrix=new Array(16);for(var c=0;c<16;++c)this.computedMatrix[c]=.5;this.recalcMatrix(0)}var p=h.prototype;p.setDistanceLimits=function(t,e){t=t>0?Math.log(t):-1/0,e=e>0?Math.log(e):1/0,e=Math.max(e,t),this.radius.bounds[0][0]=t,this.radius.bounds[1][0]=e},p.getDistanceLimits=function(t){var e=this.radius.bounds[0];return t?(t[0]=Math.exp(e[0][0]),t[1]=Math.exp(e[1][0]),t):[Math.exp(e[0][0]),Math.exp(e[1][0])]},p.recalcMatrix=function(t){this.center.curve(t),this.up.curve(t),this.right.curve(t),this.radius.curve(t),this.angle.curve(t);for(var e=this.computedUp,r=this.computedRight,n=0,i=0,a=0;a<3;++a)i+=e[a]*r[a],n+=e[a]*e[a];var l=Math.sqrt(n),u=0;for(a=0;a<3;++a)r[a]-=e[a]*i/n,u+=r[a]*r[a],e[a]/=l;var f=Math.sqrt(u);for(a=0;a<3;++a)r[a]/=f;var h=this.computedToward;o(h,e,r),s(h,h);var p=Math.exp(this.computedRadius[0]),d=this.computedAngle[0],g=this.computedAngle[1],m=Math.cos(d),v=Math.sin(d),y=Math.cos(g),x=Math.sin(g),b=this.computedCenter,_=m*y,w=v*y,T=x,k=-m*x,M=-v*x,A=y,S=this.computedEye,E=this.computedMatrix;for(a=0;a<3;++a){var C=_*r[a]+w*h[a]+T*e[a];E[4*a+1]=k*r[a]+M*h[a]+A*e[a],E[4*a+2]=C,E[4*a+3]=0}var L=E[1],I=E[5],P=E[9],z=E[2],O=E[6],D=E[10],R=I*D-P*O,F=P*z-L*D,B=L*O-I*z,N=c(R,F,B);R/=N,F/=N,B/=N,E[0]=R,E[4]=F,E[8]=B;for(a=0;a<3;++a)S[a]=b[a]+E[2+4*a]*p;for(a=0;a<3;++a){u=0;for(var j=0;j<3;++j)u+=E[a+4*j]*S[j];E[12+a]=-u}E[15]=1},p.getMatrix=function(t,e){this.recalcMatrix(t);var r=this.computedMatrix;if(e){for(var n=0;n<16;++n)e[n]=r[n];return e}return r};var d=[0,0,0];p.rotate=function(t,e,r,n){if(this.angle.move(t,e,r),n){this.recalcMatrix(t);var i=this.computedMatrix;d[0]=i[2],d[1]=i[6],d[2]=i[10];for(var o=this.computedUp,s=this.computedRight,l=this.computedToward,c=0;c<3;++c)i[4*c]=o[c],i[4*c+1]=s[c],i[4*c+2]=l[c];a(i,i,n,d);for(c=0;c<3;++c)o[c]=i[4*c],s[c]=i[4*c+1];this.up.set(t,o[0],o[1],o[2]),this.right.set(t,s[0],s[1],s[2])}},p.pan=function(t,e,r,n){e=e||0,r=r||0,n=n||0,this.recalcMatrix(t);var i=this.computedMatrix,a=(Math.exp(this.computedRadius[0]),i[1]),o=i[5],s=i[9],l=c(a,o,s);a/=l,o/=l,s/=l;var u=i[0],f=i[4],h=i[8],p=u*a+f*o+h*s,d=c(u-=a*p,f-=o*p,h-=s*p),g=(u/=d)*e+a*r,m=(f/=d)*e+o*r,v=(h/=d)*e+s*r;this.center.move(t,g,m,v);var y=Math.exp(this.computedRadius[0]);y=Math.max(1e-4,y+n),this.radius.set(t,Math.log(y))},p.translate=function(t,e,r,n){this.center.move(t,e||0,r||0,n||0)},p.setMatrix=function(t,e,r,n){var a=1;"number"==typeof r&&(a=0|r),(a<0||a>3)&&(a=1);var o=(a+2)%3;e||(this.recalcMatrix(t),e=this.computedMatrix);var s=e[a],l=e[a+4],f=e[a+8];if(n){var h=Math.abs(s),p=Math.abs(l),d=Math.abs(f),g=Math.max(h,p,d);h===g?(s=s<0?-1:1,l=f=0):d===g?(f=f<0?-1:1,s=l=0):(l=l<0?-1:1,s=f=0)}else{var m=c(s,l,f);s/=m,l/=m,f/=m}var v,y,x=e[o],b=e[o+4],_=e[o+8],w=x*s+b*l+_*f,T=c(x-=s*w,b-=l*w,_-=f*w),k=l*(_/=T)-f*(b/=T),M=f*(x/=T)-s*_,A=s*b-l*x,S=c(k,M,A);if(k/=S,M/=S,A/=S,this.center.jump(t,H,G,Y),this.radius.idle(t),this.up.jump(t,s,l,f),this.right.jump(t,x,b,_),2===a){var E=e[1],C=e[5],L=e[9],I=E*x+C*b+L*_,P=E*k+C*M+L*A;v=R<0?-Math.PI/2:Math.PI/2,y=Math.atan2(P,I)}else{var z=e[2],O=e[6],D=e[10],R=z*s+O*l+D*f,F=z*x+O*b+D*_,B=z*k+O*M+D*A;v=Math.asin(u(R)),y=Math.atan2(B,F)}this.angle.jump(t,y,v),this.recalcMatrix(t);var N=e[2],j=e[6],U=e[10],V=this.computedMatrix;i(V,e);var 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-N*W,G-j*W,Y-U*W)},p.lastT=function(){return Math.max(this.center.lastT(),this.up.lastT(),this.right.lastT(),this.radius.lastT(),this.angle.lastT())},p.idle=function(t){this.center.idle(t),this.up.idle(t),this.right.idle(t),this.radius.idle(t),this.angle.idle(t)},p.flush=function(t){this.center.flush(t),this.up.flush(t),this.right.flush(t),this.radius.flush(t),this.angle.flush(t)},p.setDistance=function(t,e){e>0&&this.radius.set(t,Math.log(e))},p.lookAt=function(t,e,r,n){this.recalcMatrix(t),e=e||this.computedEye,r=r||this.computedCenter;var i=(n=n||this.computedUp)[0],a=n[1],o=n[2],s=c(i,a,o);if(!(s<1e-6)){i/=s,a/=s,o/=s;var l=e[0]-r[0],f=e[1]-r[1],h=e[2]-r[2],p=c(l,f,h);if(!(p<1e-6)){l/=p,f/=p,h/=p;var d=this.computedRight,g=d[0],m=d[1],v=d[2],y=i*g+a*m+o*v,x=c(g-=y*i,m-=y*a,v-=y*o);if(!(x<.01&&(x=c(g=a*h-o*f,m=o*l-i*h,v=i*f-a*l))<1e-6)){g/=x,m/=x,v/=x,this.up.set(t,i,a,o),this.right.set(t,g,m,v),this.center.set(t,r[0],r[1],r[2]),this.radius.set(t,Math.log(p));var b=a*v-o*m,_=o*g-i*v,w=i*m-a*g,T=c(b,_,w),k=i*l+a*f+o*h,M=g*l+m*f+v*h,A=(b/=T)*l+(_/=T)*f+(w/=T)*h,S=Math.asin(u(k)),E=Math.atan2(A,M),C=this.angle._state,L=C[C.length-1],I=C[C.length-2];L%=2*Math.PI;var P=Math.abs(L+2*Math.PI-E),z=Math.abs(L-E),O=Math.abs(L-2*Math.PI-E);P<z&&(L+=2*Math.PI),O<z&&(L-=2*Math.PI),this.angle.jump(this.angle.lastT(),L,I),this.angle.set(t,E,S)}}}}},{"filtered-vector":242,"gl-mat4/invert":293,"gl-mat4/rotate":299,"gl-vec3/cross":365,"gl-vec3/dot":370,"gl-vec3/normalize":387}],582:[function(t,e,r){"use strict";e.exports=function(t,e,r){var i=t*e,a=n*t,o=a-(a-t),s=t-o,l=n*e,c=l-(l-e),u=e-c,f=s*u-(i-o*c-s*c-o*u);if(r)return r[0]=f,r[1]=i,r;return[f,i]};var n=+(Math.pow(2,27)+1)},{}],583:[function(t,e,r){"use strict";e.exports=function(t,e,r){var n=t+e,i=n-t,a=e-i,o=t-(n-i);if(r)return r[0]=o+a,r[1]=n,r;return[o+a,n]}},{}],584:[function(t,e,r){"use strict";var n=t("../prototype/is");e.exports=function(t){if("function"!=typeof t)return!1;if(!hasOwnProperty.call(t,"length"))return!1;try{if("number"!=typeof t.length)return!1;if("function"!=typeof t.call)return!1;if("function"!=typeof t.apply)return!1}catch(t){return!1}return!n(t)}},{"../prototype/is":591}],585:[function(t,e,r){"use strict";var n=t("../value/is"),i=t("../object/is"),a=t("../string/coerce"),o=t("./to-short-string"),s=function(t,e){return t.replace("%v",o(e))};e.exports=function(t,e,r){if(!i(r))throw new TypeError(s(e,t));if(!n(t)){if("default"in r)return r.default;if(r.isOptional)return null}var o=a(r.errorMessage);throw n(o)||(o=e),new TypeError(s(o,t))}},{"../object/is":588,"../string/coerce":592,"../value/is":594,"./to-short-string":587}],586:[function(t,e,r){"use strict";e.exports=function(t){try{return t.toString()}catch(e){try{return String(t)}catch(t){return null}}}},{}],587:[function(t,e,r){"use strict";var n=t("./safe-to-string"),i=/[\n\r\u2028\u2029]/g;e.exports=function(t){var e=n(t);return null===e?"<Non-coercible to string value>":(e.length>100&&(e=e.slice(0,99)+"\u2026"),e=e.replace(i,(function(t){switch(t){case"\n":return"\\n";case"\r":return"\\r";case"\u2028":return"\\u2028";case"\u2029":return"\\u2029";default:throw new Error("Unexpected character")}})))}},{"./safe-to-string":586}],588:[function(t,e,r){"use strict";var n=t("../value/is"),i={object:!0,function:!0,undefined:!0};e.exports=function(t){return!!n(t)&&hasOwnProperty.call(i,typeof t)}},{"../value/is":594}],589:[function(t,e,r){"use strict";var n=t("../lib/resolve-exception"),i=t("./is");e.exports=function(t){return i(t)?t:n(t,"%v is not a plain function",arguments[1])}},{"../lib/resolve-exception":585,"./is":590}],590:[function(t,e,r){"use strict";var n=t("../function/is"),i=/^\s*class[\s{/}]/,a=Function.prototype.toString;e.exports=function(t){return!!n(t)&&!i.test(a.call(t))}},{"../function/is":584}],591:[function(t,e,r){"use strict";var n=t("../object/is");e.exports=function(t){if(!n(t))return!1;try{return!!t.constructor&&t.constructor.prototype===t}catch(t){return!1}}},{"../object/is":588}],592:[function(t,e,r){"use strict";var n=t("../value/is"),i=t("../object/is"),a=Object.prototype.toString;e.exports=function(t){if(!n(t))return null;if(i(t)){var e=t.toString;if("function"!=typeof e)return null;if(e===a)return null}try{return""+t}catch(t){return null}}},{"../object/is":588,"../value/is":594}],593:[function(t,e,r){"use strict";var n=t("../lib/resolve-exception"),i=t("./is");e.exports=function(t){return i(t)?t:n(t,"Cannot use %v",arguments[1])}},{"../lib/resolve-exception":585,"./is":594}],594:[function(t,e,r){"use strict";e.exports=function(t){return null!=t}},{}],595:[function(t,e,r){(function(e){(function(){"use strict";var n=t("bit-twiddle"),i=t("dup"),a=t("buffer").Buffer;e.__TYPEDARRAY_POOL||(e.__TYPEDARRAY_POOL={UINT8:i([32,0]),UINT16:i([32,0]),UINT32:i([32,0]),BIGUINT64:i([32,0]),INT8:i([32,0]),INT16:i([32,0]),INT32:i([32,0]),BIGINT64:i([32,0]),FLOAT:i([32,0]),DOUBLE:i([32,0]),DATA:i([32,0]),UINT8C:i([32,0]),BUFFER:i([32,0])});var o="undefined"!=typeof Uint8ClampedArray,s="undefined"!=typeof BigUint64Array,l="undefined"!=typeof BigInt64Array,c=e.__TYPEDARRAY_POOL;c.UINT8C||(c.UINT8C=i([32,0])),c.BIGUINT64||(c.BIGUINT64=i([32,0])),c.BIGINT64||(c.BIGINT64=i([32,0])),c.BUFFER||(c.BUFFER=i([32,0]));var u=c.DATA,f=c.BUFFER;function h(t){if(t){var e=t.length||t.byteLength,r=n.log2(e);u[r].push(t)}}function p(t){t=n.nextPow2(t);var e=n.log2(t),r=u[e];return r.length>0?r.pop():new ArrayBuffer(t)}function d(t){return new Uint8Array(p(t),0,t)}function g(t){return new Uint16Array(p(2*t),0,t)}function m(t){return new Uint32Array(p(4*t),0,t)}function v(t){return new Int8Array(p(t),0,t)}function y(t){return new Int16Array(p(2*t),0,t)}function x(t){return new Int32Array(p(4*t),0,t)}function b(t){return new Float32Array(p(4*t),0,t)}function _(t){return new Float64Array(p(8*t),0,t)}function w(t){return o?new Uint8ClampedArray(p(t),0,t):d(t)}function T(t){return s?new BigUint64Array(p(8*t),0,t):null}function k(t){return l?new BigInt64Array(p(8*t),0,t):null}function M(t){return new DataView(p(t),0,t)}function A(t){t=n.nextPow2(t);var e=n.log2(t),r=f[e];return r.length>0?r.pop():new a(t)}r.free=function(t){if(a.isBuffer(t))f[n.log2(t.length)].push(t);else{if("[object ArrayBuffer]"!==Object.prototype.toString.call(t)&&(t=t.buffer),!t)return;var e=t.length||t.byteLength,r=0|n.log2(e);u[r].push(t)}},r.freeUint8=r.freeUint16=r.freeUint32=r.freeBigUint64=r.freeInt8=r.freeInt16=r.freeInt32=r.freeBigInt64=r.freeFloat32=r.freeFloat=r.freeFloat64=r.freeDouble=r.freeUint8Clamped=r.freeDataView=function(t){h(t.buffer)},r.freeArrayBuffer=h,r.freeBuffer=function(t){f[n.log2(t.length)].push(t)},r.malloc=function(t,e){if(void 0===e||"arraybuffer"===e)return p(t);switch(e){case"uint8":return d(t);case"uint16":return g(t);case"uint32":return m(t);case"int8":return v(t);case"int16":return y(t);case"int32":return x(t);case"float":case"float32":return b(t);case"double":case"float64":return _(t);case"uint8_clamped":return w(t);case"bigint64":return k(t);case"biguint64":return T(t);case"buffer":return A(t);case"data":case"dataview":return M(t);default:return null}return null},r.mallocArrayBuffer=p,r.mallocUint8=d,r.mallocUint16=g,r.mallocUint32=m,r.mallocInt8=v,r.mallocInt16=y,r.mallocInt32=x,r.mallocFloat32=r.mallocFloat=b,r.mallocFloat64=r.mallocDouble=_,r.mallocUint8Clamped=w,r.mallocBigUint64=T,r.mallocBigInt64=k,r.mallocDataView=M,r.mallocBuffer=A,r.clearCache=function(){for(var t=0;t<32;++t)c.UINT8[t].length=0,c.UINT16[t].length=0,c.UINT32[t].length=0,c.INT8[t].length=0,c.INT16[t].length=0,c.INT32[t].length=0,c.FLOAT[t].length=0,c.DOUBLE[t].length=0,c.BIGUINT64[t].length=0,c.BIGINT64[t].length=0,c.UINT8C[t].length=0,u[t].length=0,f[t].length=0}}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"bit-twiddle":97,buffer:111,dup:176}],596:[function(t,e,r){"use strict";function n(t){this.roots=new Array(t),this.ranks=new Array(t);for(var e=0;e<t;++e)this.roots[e]=e,this.ranks[e]=0}e.exports=n;var i=n.prototype;Object.defineProperty(i,"length",{get:function(){return this.roots.length}}),i.makeSet=function(){var t=this.roots.length;return this.roots.push(t),this.ranks.push(0),t},i.find=function(t){for(var e=t,r=this.roots;r[t]!==t;)t=r[t];for(;r[e]!==t;){var n=r[e];r[e]=t,e=n}return t},i.link=function(t,e){var r=this.find(t),n=this.find(e);if(r!==n){var i=this.ranks,a=this.roots,o=i[r],s=i[n];o<s?a[r]=n:s<o?a[n]=r:(a[n]=r,++i[r])}}},{}],597:[function(t,e,r){"use strict";e.exports=function(t,e,r){return 0===t.length?t:e?(r||t.sort(e),function(t,e){for(var r=1,n=t.length,i=t[0],a=t[0],o=1;o<n;++o)if(a=i,e(i=t[o],a)){if(o===r){r++;continue}t[r++]=i}return t.length=r,t}(t,e)):(r||t.sort(),function(t){for(var e=1,r=t.length,n=t[0],i=t[0],a=1;a<r;++a,i=n)if(i=n,(n=t[a])!==i){if(a===e){e++;continue}t[e++]=n}return t.length=e,t}(t))}},{}],598:[function(t,e,r){var n=/[\'\"]/;e.exports=function(t){return t?(n.test(t.charAt(0))&&(t=t.substr(1)),n.test(t.charAt(t.length-1))&&(t=t.substr(0,t.length-1)),t):""}},{}],599:[function(t,e,r){"use strict";e.exports=function(t,e,r){Array.isArray(r)||(r=[].slice.call(arguments,2));for(var n=0,i=r.length;n<i;n++){var a=r[n];for(var o in a)if((void 0===e[o]||Array.isArray(e[o])||t[o]!==e[o])&&o in e){var s;if(!0===a[o])s=e[o];else{if(!1===a[o])continue;if("function"==typeof a[o]&&void 0===(s=a[o](e[o],t,e)))continue}t[o]=s}}return t}},{}],600:[function(t,e,r){"use strict";e.exports=function(t,e){"object"==typeof e&&null!==e||(e={});return n(t,e.canvas||i,e.context||a,e)};var n=t("./lib/vtext"),i=null,a=null;"undefined"!=typeof document&&((i=document.createElement("canvas")).width=8192,i.height=1024,a=i.getContext("2d"))},{"./lib/vtext":601}],601:[function(t,e,r){e.exports=function(t,e,r,n){var a=64,o=1.25,s={breaklines:!1,bolds:!1,italics:!1,subscripts:!1,superscripts:!1};n&&(n.size&&n.size>0&&(a=n.size),n.lineSpacing&&n.lineSpacing>0&&(o=n.lineSpacing),n.styletags&&n.styletags.breaklines&&(s.breaklines=!!n.styletags.breaklines),n.styletags&&n.styletags.bolds&&(s.bolds=!!n.styletags.bolds),n.styletags&&n.styletags.italics&&(s.italics=!!n.styletags.italics),n.styletags&&n.styletags.subscripts&&(s.subscripts=!!n.styletags.subscripts),n.styletags&&n.styletags.superscripts&&(s.superscripts=!!n.styletags.superscripts));return r.font=[n.fontStyle,n.fontVariant,n.fontWeight,a+"px",n.font].filter((function(t){return t})).join(" "),r.textAlign="start",r.textBaseline="alphabetic",r.direction="ltr",h(function(t,e,r,n,a,o){r=r.replace(/\n/g,""),r=!0===o.breaklines?r.replace(/\<br\>/g,"\n"):r.replace(/\<br\>/g," ");var s="",l=[];for(p=0;p<r.length;++p)l[p]=s;!0===o.bolds&&(l=c("b","b|",r,l));!0===o.italics&&(l=c("i","i|",r,l));!0===o.superscripts&&(l=c("sup","+1",r,l));!0===o.subscripts&&(l=c("sub","-1",r,l));var u=[],f="";for(p=0;p<r.length;++p)null!==l[p]&&(f+=r[p],u.push(l[p]));var h,p,d,g,m,v=f.split("\n"),y=v.length,x=Math.round(a*n),b=n,_=2*n,w=0,T=y*x+_;t.height<T&&(t.height=T);e.fillStyle="#000",e.fillRect(0,0,t.width,t.height),e.fillStyle="#fff";var k=0,M="";function A(){if(""!==M){var t=e.measureText(M).width;e.fillText(M,b+d,_+g),d+=t}}function S(){return Math.round(m)+"px "}function E(t,r){var n=""+e.font;if(!0===o.subscripts){var i=t.indexOf("-"),a=r.indexOf("-"),s=i>-1?parseInt(t[1+i]):0,l=a>-1?parseInt(r[1+a]):0;s!==l&&(n=n.replace(S(),"?px "),m*=Math.pow(.75,l-s),n=n.replace("?px ",S())),g+=.25*x*(l-s)}if(!0===o.superscripts){var c=t.indexOf("+"),u=r.indexOf("+"),f=c>-1?parseInt(t[1+c]):0,h=u>-1?parseInt(r[1+u]):0;f!==h&&(n=n.replace(S(),"?px "),m*=Math.pow(.75,h-f),n=n.replace("?px ",S())),g-=.25*x*(h-f)}if(!0===o.bolds){var p=t.indexOf("b|")>-1,d=r.indexOf("b|")>-1;!p&&d&&(n=v?n.replace("italic ","italic bold "):"bold "+n),p&&!d&&(n=n.replace("bold ",""))}if(!0===o.italics){var v=t.indexOf("i|")>-1,y=r.indexOf("i|")>-1;!v&&y&&(n="italic "+n),v&&!y&&(n=n.replace("italic ",""))}e.font=n}for(h=0;h<y;++h){var C=v[h]+"\n";for(d=0,g=h*x,m=n,M="",p=0;p<C.length;++p){var L=p+k<u.length?u[p+k]:u[u.length-1];s===L?M+=C[p]:(A(),M=C[p],void 0!==L&&(E(s,L),s=L))}A(),k+=C.length;var I=0|Math.round(d+2*b);w<I&&(w=I)}var P=w,z=_+x*y;return i(e.getImageData(0,0,P,z).data,[z,P,4]).pick(-1,-1,0).transpose(1,0)}(e,r,t,a,o,s),n,a)},e.exports.processPixels=h;var n=t("surface-nets"),i=t("ndarray"),a=t("simplify-planar-graph"),o=t("clean-pslg"),s=t("cdt2d"),l=t("planar-graph-to-polyline");function c(t,e,r,n){for(var i="<"+t+">",a="</"+t+">",o=i.length,s=a.length,l="+"===e[0]||"-"===e[0],c=0,u=-s;c>-1&&-1!==(c=r.indexOf(i,c))&&-1!==(u=r.indexOf(a,c+o))&&!(u<=c);){for(var f=c;f<u+s;++f)if(f<c+o||f>=u)n[f]=null,r=r.substr(0,f)+" "+r.substr(f+1);else if(null!==n[f]){var h=n[f].indexOf(e[0]);-1===h?n[f]+=e:l&&(n[f]=n[f].substr(0,h+1)+(1+parseInt(n[f][h+1]))+n[f].substr(h+2))}var p=c+o,d=r.substr(p,u-p).indexOf(i);c=-1!==d?d:u+s}return n}function u(t,e){var r=n(t,128);return e?a(r.cells,r.positions,.25):{edges:r.cells,positions:r.positions}}function f(t,e,r,n){var i=u(t,n),a=function(t,e,r){for(var n=e.textAlign||"start",i=e.textBaseline||"alphabetic",a=[1<<30,1<<30],o=[0,0],s=t.length,l=0;l<s;++l)for(var c=t[l],u=0;u<2;++u)a[u]=0|Math.min(a[u],c[u]),o[u]=0|Math.max(o[u],c[u]);var f=0;switch(n){case"center":f=-.5*(a[0]+o[0]);break;case"right":case"end":f=-o[0];break;case"left":case"start":f=-a[0];break;default:throw new Error("vectorize-text: Unrecognized textAlign: '"+n+"'")}var h=0;switch(i){case"hanging":case"top":h=-a[1];break;case"middle":h=-.5*(a[1]+o[1]);break;case"alphabetic":case"ideographic":h=-3*r;break;case"bottom":h=-o[1];break;default:throw new Error("vectorize-text: Unrecoginized textBaseline: '"+i+"'")}var p=1/r;return"lineHeight"in e?p*=+e.lineHeight:"width"in e?p=e.width/(o[0]-a[0]):"height"in e&&(p=e.height/(o[1]-a[1])),t.map((function(t){return[p*(t[0]+f),p*(t[1]+h)]}))}(i.positions,e,r),c=i.edges,f="ccw"===e.orientation;if(o(a,c),e.polygons||e.polygon||e.polyline){for(var h=l(c,a),p=new Array(h.length),d=0;d<h.length;++d){for(var g=h[d],m=new Array(g.length),v=0;v<g.length;++v){for(var y=g[v],x=new Array(y.length),b=0;b<y.length;++b)x[b]=a[y[b]].slice();f&&x.reverse(),m[v]=x}p[d]=m}return p}return e.triangles||e.triangulate||e.triangle?{cells:s(a,c,{delaunay:!1,exterior:!1,interior:!0}),positions:a}:{edges:c,positions:a}}function h(t,e,r){try{return f(t,e,r,!0)}catch(t){}try{return f(t,e,r,!1)}catch(t){}return e.polygons||e.polyline||e.polygon?[]:e.triangles||e.triangulate||e.triangle?{cells:[],positions:[]}:{edges:[],positions:[]}}},{cdt2d:112,"clean-pslg":121,ndarray:495,"planar-graph-to-polyline":514,"simplify-planar-graph":562,"surface-nets":570}],602:[function(t,e,r){!function(){"use strict";if("undefined"==typeof ses||!ses.ok||ses.ok()){"undefined"!=typeof ses&&(ses.weakMapPermitHostObjects=g);var t=!1;if("function"==typeof WeakMap){var r=WeakMap;if("undefined"!=typeof navigator&&/Firefox/.test(navigator.userAgent));else{var n=new r,i=Object.freeze({});if(n.set(i,1),1===n.get(i))return void(e.exports=WeakMap);t=!0}}Object.prototype.hasOwnProperty;var a=Object.getOwnPropertyNames,o=Object.defineProperty,s=Object.isExtensible,l="weakmap:ident:"+Math.random()+"___";if("undefined"!=typeof crypto&&"function"==typeof crypto.getRandomValues&&"function"==typeof ArrayBuffer&&"function"==typeof Uint8Array){var c=new ArrayBuffer(25),u=new Uint8Array(c);crypto.getRandomValues(u),l="weakmap:rand:"+Array.prototype.map.call(u,(function(t){return(t%36).toString(36)})).join("")+"___"}if(o(Object,"getOwnPropertyNames",{value:function(t){return a(t).filter(m)}}),"getPropertyNames"in Object){var f=Object.getPropertyNames;o(Object,"getPropertyNames",{value:function(t){return f(t).filter(m)}})}!function(){var t=Object.freeze;o(Object,"freeze",{value:function(e){return v(e),t(e)}});var e=Object.seal;o(Object,"seal",{value:function(t){return v(t),e(t)}});var r=Object.preventExtensions;o(Object,"preventExtensions",{value:function(t){return v(t),r(t)}})}();var h=!1,p=0,d=function(){this instanceof d||x();var t=[],e=[],r=p++;return Object.create(d.prototype,{get___:{value:y((function(n,i){var a,o=v(n);return o?r in o?o[r]:i:(a=t.indexOf(n))>=0?e[a]:i}))},has___:{value:y((function(e){var n=v(e);return n?r in n:t.indexOf(e)>=0}))},set___:{value:y((function(n,i){var a,o=v(n);return o?o[r]=i:(a=t.indexOf(n))>=0?e[a]=i:(a=t.length,e[a]=i,t[a]=n),this}))},delete___:{value:y((function(n){var i,a,o=v(n);return o?r in o&&delete o[r]:!((i=t.indexOf(n))<0)&&(a=t.length-1,t[i]=void 0,e[i]=e[a],t[i]=t[a],t.length=a,e.length=a,!0)}))}})};d.prototype=Object.create(Object.prototype,{get:{value:function(t,e){return this.get___(t,e)},writable:!0,configurable:!0},has:{value:function(t){return this.has___(t)},writable:!0,configurable:!0},set:{value:function(t,e){return this.set___(t,e)},writable:!0,configurable:!0},delete:{value:function(t){return this.delete___(t)},writable:!0,configurable:!0}}),"function"==typeof r?function(){function n(){this instanceof d||x();var e,n=new r,i=void 0,a=!1;return e=t?function(t,e){return n.set(t,e),n.has(t)||(i||(i=new d),i.set(t,e)),this}:function(t,e){if(a)try{n.set(t,e)}catch(r){i||(i=new d),i.set___(t,e)}else n.set(t,e);return this},Object.create(d.prototype,{get___:{value:y((function(t,e){return i?n.has(t)?n.get(t):i.get___(t,e):n.get(t,e)}))},has___:{value:y((function(t){return n.has(t)||!!i&&i.has___(t)}))},set___:{value:y(e)},delete___:{value:y((function(t){var e=!!n.delete(t);return i&&i.delete___(t)||e}))},permitHostObjects___:{value:y((function(t){if(t!==g)throw new Error("bogus call to permitHostObjects___");a=!0}))}})}t&&"undefined"!=typeof Proxy&&(Proxy=void 0),n.prototype=d.prototype,e.exports=n,Object.defineProperty(WeakMap.prototype,"constructor",{value:WeakMap,enumerable:!1,configurable:!0,writable:!0})}():("undefined"!=typeof Proxy&&(Proxy=void 0),e.exports=d)}function g(t){t.permitHostObjects___&&t.permitHostObjects___(g)}function m(t){return!("weakmap:"==t.substr(0,"weakmap:".length)&&"___"===t.substr(t.length-3))}function v(t){if(t!==Object(t))throw new TypeError("Not an object: "+t);var e=t[l];if(e&&e.key===t)return e;if(s(t)){e={key:t};try{return o(t,l,{value:e,writable:!1,enumerable:!1,configurable:!1}),e}catch(t){return}}}function y(t){return t.prototype=null,Object.freeze(t)}function x(){h||"undefined"==typeof console||(h=!0,console.warn("WeakMap should be invoked as new WeakMap(), not WeakMap(). This will be an error in the future."))}}()},{}],603:[function(t,e,r){var n=t("./hidden-store.js");e.exports=function(){var t={};return function(e){if(("object"!=typeof e||null===e)&&"function"!=typeof e)throw new Error("Weakmap-shim: Key must be object");var r=e.valueOf(t);return r&&r.identity===t?r:n(e,t)}}},{"./hidden-store.js":604}],604:[function(t,e,r){e.exports=function(t,e){var r={identity:e},n=t.valueOf;return Object.defineProperty(t,"valueOf",{value:function(t){return t!==e?n.apply(this,arguments):r},writable:!0}),r}},{}],605:[function(t,e,r){var n=t("./create-store.js");e.exports=function(){var t=n();return{get:function(e,r){var n=t(e);return n.hasOwnProperty("value")?n.value:r},set:function(e,r){return t(e).value=r,this},has:function(e){return"value"in t(e)},delete:function(e){return delete t(e).value}}}},{"./create-store.js":603}],606:[function(t,e,r){var n=t("get-canvas-context");e.exports=function(t){return n("webgl",t)}},{"get-canvas-context":249}],607:[function(t,e,r){var n=t("../main"),i=t("object-assign"),a=n.instance();function o(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}o.prototype=new n.baseCalendar,i(o.prototype,{name:"Chinese",jdEpoch:1721425.5,hasYearZero:!1,minMonth:0,firstMonth:0,minDay:1,regionalOptions:{"":{name:"Chinese",epochs:["BEC","EC"],monthNumbers:function(t,e){if("string"==typeof t){var r=t.match(l);return r?r[0]:""}var n=this._validateYear(t),i=t.month(),a=""+this.toChineseMonth(n,i);return e&&a.length<2&&(a="0"+a),this.isIntercalaryMonth(n,i)&&(a+="i"),a},monthNames:function(t){if("string"==typeof t){var e=t.match(c);return e?e[0]:""}var r=this._validateYear(t),n=t.month(),i=["\u4e00\u6708","\u4e8c\u6708","\u4e09\u6708","\u56db\u6708","\u4e94\u6708","\u516d\u6708","\u4e03\u6708","\u516b\u6708","\u4e5d\u6708","\u5341\u6708","\u5341\u4e00\u6708","\u5341\u4e8c\u6708"][this.toChineseMonth(r,n)-1];return this.isIntercalaryMonth(r,n)&&(i="\u95f0"+i),i},monthNamesShort:function(t){if("string"==typeof t){var e=t.match(u);return e?e[0]:""}var r=this._validateYear(t),n=t.month(),i=["\u4e00","\u4e8c","\u4e09","\u56db","\u4e94","\u516d","\u4e03","\u516b","\u4e5d","\u5341","\u5341\u4e00","\u5341\u4e8c"][this.toChineseMonth(r,n)-1];return this.isIntercalaryMonth(r,n)&&(i="\u95f0"+i),i},parseMonth:function(t,e){t=this._validateYear(t);var r,n=parseInt(e);if(isNaN(n))"\u95f0"===e[0]&&(r=!0,e=e.substring(1)),"\u6708"===e[e.length-1]&&(e=e.substring(0,e.length-1)),n=1+["\u4e00","\u4e8c","\u4e09","\u56db","\u4e94","\u516d","\u4e03","\u516b","\u4e5d","\u5341","\u5341\u4e00","\u5341\u4e8c"].indexOf(e);else{var i=e[e.length-1];r="i"===i||"I"===i}return this.toMonthIndex(t,n,r)},dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:1,isRTL:!1}},_validateYear:function(t,e){if(t.year&&(t=t.year()),"number"!=typeof t||t<1888||t>2111)throw e.replace(/\{0\}/,this.local.name);return t},toMonthIndex:function(t,e,r){var i=this.intercalaryMonth(t);if(r&&e!==i||e<1||e>12)throw n.local.invalidMonth.replace(/\{0\}/,this.local.name);return i?!r&&e<=i?e-1:e:e-1},toChineseMonth:function(t,e){t.year&&(e=(t=t.year()).month());var r=this.intercalaryMonth(t);if(e<0||e>(r?12:11))throw n.local.invalidMonth.replace(/\{0\}/,this.local.name);return r?e<r?e+1:e:e+1},intercalaryMonth:function(t){return t=this._validateYear(t),f[t-f[0]]>>13},isIntercalaryMonth:function(t,e){t.year&&(e=(t=t.year()).month());var r=this.intercalaryMonth(t);return!!r&&r===e},leapYear:function(t){return 0!==this.intercalaryMonth(t)},weekOfYear:function(t,e,r){var i,o=this._validateYear(t,n.local.invalidyear),s=h[o-h[0]],l=s>>9&4095,c=s>>5&15,u=31&s;(i=a.newDate(l,c,u)).add(4-(i.dayOfWeek()||7),"d");var f=this.toJD(t,e,r)-i.toJD();return 1+Math.floor(f/7)},monthsInYear:function(t){return this.leapYear(t)?13:12},daysInMonth:function(t,e){t.year&&(e=t.month(),t=t.year()),t=this._validateYear(t);var r=f[t-f[0]];if(e>(r>>13?12:11))throw n.local.invalidMonth.replace(/\{0\}/,this.local.name);return r&1<<12-e?30:29},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,s,r,n.local.invalidDate);t=this._validateYear(i.year()),e=i.month(),r=i.day();var o=this.isIntercalaryMonth(t,e),s=this.toChineseMonth(t,e),l=function(t,e,r,n,i){var a,o,s;if("object"==typeof t)o=t,a=e||{};else{var l;if(!("number"==typeof t&&t>=1888&&t<=2111))throw new Error("Lunar year outside range 1888-2111");if(!("number"==typeof e&&e>=1&&e<=12))throw new Error("Lunar month outside range 1 - 12");if(!("number"==typeof r&&r>=1&&r<=30))throw new Error("Lunar day outside range 1 - 30");"object"==typeof n?(l=!1,a=n):(l=!!n,a=i||{}),o={year:t,month:e,day:r,isIntercalary:l}}s=o.day-1;var c,u=f[o.year-f[0]],p=u>>13;c=p&&(o.month>p||o.isIntercalary)?o.month:o.month-1;for(var d=0;d<c;d++){s+=u&1<<12-d?30:29}var g=h[o.year-h[0]],m=new Date(g>>9&4095,(g>>5&15)-1,(31&g)+s);return a.year=m.getFullYear(),a.month=1+m.getMonth(),a.day=m.getDate(),a}(t,s,r,o);return a.toJD(l.year,l.month,l.day)},fromJD:function(t){var e=a.fromJD(t),r=function(t,e,r,n){var i,a;if("object"==typeof t)i=t,a=e||{};else{if(!("number"==typeof t&&t>=1888&&t<=2111))throw new Error("Solar year outside range 1888-2111");if(!("number"==typeof e&&e>=1&&e<=12))throw new Error("Solar month outside range 1 - 12");if(!("number"==typeof r&&r>=1&&r<=31))throw new Error("Solar day outside range 1 - 31");i={year:t,month:e,day:r},a=n||{}}var o=h[i.year-h[0]],s=i.year<<9|i.month<<5|i.day;a.year=s>=o?i.year:i.year-1,o=h[a.year-h[0]];var l,c=new Date(o>>9&4095,(o>>5&15)-1,31&o),u=new Date(i.year,i.month-1,i.day);l=Math.round((u-c)/864e5);var p,d=f[a.year-f[0]];for(p=0;p<13;p++){var g=d&1<<12-p?30:29;if(l<g)break;l-=g}var m=d>>13;!m||p<m?(a.isIntercalary=!1,a.month=1+p):p===m?(a.isIntercalary=!0,a.month=p):(a.isIntercalary=!1,a.month=p);return a.day=1+l,a}(e.year(),e.month(),e.day()),n=this.toMonthIndex(r.year,r.month,r.isIntercalary);return this.newDate(r.year,n,r.day)},fromString:function(t){var e=t.match(s),r=this._validateYear(+e[1]),n=+e[2],i=!!e[3],a=this.toMonthIndex(r,n,i),o=+e[4];return this.newDate(r,a,o)},add:function(t,e,r){var n=t.year(),i=t.month(),a=this.isIntercalaryMonth(n,i),s=this.toChineseMonth(n,i),l=Object.getPrototypeOf(o.prototype).add.call(this,t,e,r);if("y"===r){var c=l.year(),u=l.month(),f=this.isIntercalaryMonth(c,s),h=a&&f?this.toMonthIndex(c,s,!0):this.toMonthIndex(c,s,!1);h!==u&&l.month(h)}return l}});var s=/^\s*(-?\d\d\d\d|\d\d)[-/](\d?\d)([iI]?)[-/](\d?\d)/m,l=/^\d?\d[iI]?/m,c=/^\u95f0?\u5341?[\u4e00\u4e8c\u4e09\u56db\u4e94\u516d\u4e03\u516b\u4e5d]?\u6708/m,u=/^\u95f0?\u5341?[\u4e00\u4e8c\u4e09\u56db\u4e94\u516d\u4e03\u516b\u4e5d]?/m;n.calendars.chinese=o;var f=[1887,5780,5802,19157,2742,50359,1198,2646,46378,7466,3412,30122,5482,67949,2396,5294,43597,6732,6954,36181,2772,4954,18781,2396,54427,5274,6730,47781,5800,6868,21210,4790,59703,2350,5270,46667,3402,3496,38325,1388,4782,18735,2350,52374,6804,7498,44457,2906,1388,29294,4700,63789,6442,6804,56138,5802,2772,38235,1210,4698,22827,5418,63125,3476,5802,43701,2484,5302,27223,2646,70954,7466,3412,54698,5482,2412,38062,5294,2636,32038,6954,60245,2772,4826,43357,2394,5274,39501,6730,72357,5800,5844,53978,4790,2358,38039,5270,87627,3402,3496,54708,5484,4782,43311,2350,3222,27978,7498,68965,2904,5484,45677,4700,6444,39573,6804,6986,19285,2772,62811,1210,4698,47403,5418,5780,38570,5546,76469,2420,5302,51799,2646,5414,36501,3412,5546,18869,2412,54446,5276,6732,48422,6822,2900,28010,4826,92509,2394,5274,55883,6730,6820,47956,5812,2778,18779,2358,62615,5270,5450,46757,3492,5556,27318,4718,67887,2350,3222,52554,7498,3428,38252,5468,4700,31022,6444,64149,6804,6986,43861,2772,5338,35421,2650,70955,5418,5780,54954,5546,2740,38074,5302,2646,29991,3366,61011,3412,5546,43445,2412,5294,35406,6732,72998,6820,6996,52586,2778,2396,38045,5274,6698,23333,6820,64338,5812,2746,43355,2358,5270,39499,5450,79525,3492,5548],h=[1887,966732,967231,967733,968265,968766,969297,969798,970298,970829,971330,971830,972362,972863,973395,973896,974397,974928,975428,975929,976461,976962,977462,977994,978494,979026,979526,980026,980558,981059,981559,982091,982593,983124,983624,984124,984656,985157,985656,986189,986690,987191,987722,988222,988753,989254,989754,990286,990788,991288,991819,992319,992851,993352,993851,994383,994885,995385,995917,996418,996918,997450,997949,998481,998982,999483,1000014,1000515,1001016,1001548,1002047,1002578,1003080,1003580,1004111,1004613,1005113,1005645,1006146,1006645,1007177,1007678,1008209,1008710,1009211,1009743,1010243,1010743,1011275,1011775,1012306,1012807,1013308,1013840,1014341,1014841,1015373,1015874,1016404,1016905,1017405,1017937,1018438,1018939,1019471,1019972,1020471,1021002,1021503,1022035,1022535,1023036,1023568,1024069,1024568,1025100,1025601,1026102,1026633,1027133,1027666,1028167,1028666,1029198,1029699,1030199,1030730,1031231,1031763,1032264,1032764,1033296,1033797,1034297,1034828,1035329,1035830,1036362,1036861,1037393,1037894,1038394,1038925,1039427,1039927,1040459,1040959,1041491,1041992,1042492,1043023,1043524,1044024,1044556,1045057,1045558,1046090,1046590,1047121,1047622,1048122,1048654,1049154,1049655,1050187,1050689,1051219,1051720,1052220,1052751,1053252,1053752,1054284,1054786,1055285,1055817,1056317,1056849,1057349,1057850,1058382,1058883,1059383,1059915,1060415,1060947,1061447,1061947,1062479,1062981,1063480,1064012,1064514,1065014,1065545,1066045,1066577,1067078,1067578,1068110,1068611,1069112,1069642,1070142,1070674,1071175,1071675,1072207,1072709,1073209,1073740,1074241,1074741,1075273,1075773,1076305,1076807,1077308,1077839,1078340,1078840,1079372,1079871,1080403,1080904]},{"../main":621,"object-assign":499}],608:[function(t,e,r){var n=t("../main"),i=t("object-assign");function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Coptic",jdEpoch:1825029.5,daysPerMonth:[30,30,30,30,30,30,30,30,30,30,30,30,5],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Coptic",epochs:["BAM","AM"],monthNames:["Thout","Paopi","Hathor","Koiak","Tobi","Meshir","Paremhat","Paremoude","Pashons","Paoni","Epip","Mesori","Pi Kogi Enavot"],monthNamesShort:["Tho","Pao","Hath","Koi","Tob","Mesh","Pat","Pad","Pash","Pao","Epi","Meso","PiK"],dayNames:["Tkyriaka","Pesnau","Pshoment","Peftoou","Ptiou","Psoou","Psabbaton"],dayNamesShort:["Tky","Pes","Psh","Pef","Pti","Pso","Psa"],dayNamesMin:["Tk","Pes","Psh","Pef","Pt","Pso","Psa"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return(t=e.year()+(e.year()<0?1:0))%4==3||t%4==-1},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear||n.regionalOptions[""].invalidYear),13},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(13===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return(t=i.year())<0&&t++,i.day()+30*(i.month()-1)+365*(t-1)+Math.floor(t/4)+this.jdEpoch-1},fromJD:function(t){var e=Math.floor(t)+.5-this.jdEpoch,r=Math.floor((e-Math.floor((e+366)/1461))/365)+1;r<=0&&r--,e=Math.floor(t)+.5-this.newDate(r,1,1).toJD();var n=Math.floor(e/30)+1,i=e-30*(n-1)+1;return this.newDate(r,n,i)}}),n.calendars.coptic=a},{"../main":621,"object-assign":499}],609:[function(t,e,r){var n=t("../main"),i=t("object-assign");function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Discworld",jdEpoch:1721425.5,daysPerMonth:[16,32,32,32,32,32,32,32,32,32,32,32,32],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Discworld",epochs:["BUC","UC"],monthNames:["Ick","Offle","February","March","April","May","June","Grune","August","Spune","Sektober","Ember","December"],monthNamesShort:["Ick","Off","Feb","Mar","Apr","May","Jun","Gru","Aug","Spu","Sek","Emb","Dec"],dayNames:["Sunday","Octeday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Oct","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Oc","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:2,isRTL:!1}},leapYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),!1},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),13},daysInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),400},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/8)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]},daysInWeek:function(){return 8},dayOfWeek:function(t,e,r){return(this._validate(t,e,r,n.local.invalidDate).day()+1)%8},weekDay:function(t,e,r){var n=this.dayOfWeek(t,e,r);return n>=2&&n<=6},extraInfo:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return{century:o[Math.floor((i.year()-1)/100)+1]||""}},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return t=i.year()+(i.year()<0?1:0),e=i.month(),(r=i.day())+(e>1?16:0)+(e>2?32*(e-2):0)+400*(t-1)+this.jdEpoch-1},fromJD:function(t){t=Math.floor(t+.5)-Math.floor(this.jdEpoch)-1;var e=Math.floor(t/400)+1;t-=400*(e-1),t+=t>15?16:0;var r=Math.floor(t/32)+1,n=t-32*(r-1)+1;return this.newDate(e<=0?e-1:e,r,n)}});var o={20:"Fruitbat",21:"Anchovy"};n.calendars.discworld=a},{"../main":621,"object-assign":499}],610:[function(t,e,r){var n=t("../main"),i=t("object-assign");function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Ethiopian",jdEpoch:1724220.5,daysPerMonth:[30,30,30,30,30,30,30,30,30,30,30,30,5],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Ethiopian",epochs:["BEE","EE"],monthNames:["Meskerem","Tikemet","Hidar","Tahesas","Tir","Yekatit","Megabit","Miazia","Genbot","Sene","Hamle","Nehase","Pagume"],monthNamesShort:["Mes","Tik","Hid","Tah","Tir","Yek","Meg","Mia","Gen","Sen","Ham","Neh","Pag"],dayNames:["Ehud","Segno","Maksegno","Irob","Hamus","Arb","Kidame"],dayNamesShort:["Ehu","Seg","Mak","Iro","Ham","Arb","Kid"],dayNamesMin:["Eh","Se","Ma","Ir","Ha","Ar","Ki"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return(t=e.year()+(e.year()<0?1:0))%4==3||t%4==-1},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear||n.regionalOptions[""].invalidYear),13},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(13===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return(t=i.year())<0&&t++,i.day()+30*(i.month()-1)+365*(t-1)+Math.floor(t/4)+this.jdEpoch-1},fromJD:function(t){var e=Math.floor(t)+.5-this.jdEpoch,r=Math.floor((e-Math.floor((e+366)/1461))/365)+1;r<=0&&r--,e=Math.floor(t)+.5-this.newDate(r,1,1).toJD();var n=Math.floor(e/30)+1,i=e-30*(n-1)+1;return this.newDate(r,n,i)}}),n.calendars.ethiopian=a},{"../main":621,"object-assign":499}],611:[function(t,e,r){var n=t("../main"),i=t("object-assign");function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}function o(t,e){return t-e*Math.floor(t/e)}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Hebrew",jdEpoch:347995.5,daysPerMonth:[30,29,30,29,30,29,30,29,30,29,30,29,29],hasYearZero:!1,minMonth:1,firstMonth:7,minDay:1,regionalOptions:{"":{name:"Hebrew",epochs:["BAM","AM"],monthNames:["Nisan","Iyar","Sivan","Tammuz","Av","Elul","Tishrei","Cheshvan","Kislev","Tevet","Shevat","Adar","Adar II"],monthNamesShort:["Nis","Iya","Siv","Tam","Av","Elu","Tis","Che","Kis","Tev","She","Ada","Ad2"],dayNames:["Yom Rishon","Yom Sheni","Yom Shlishi","Yom Revi'i","Yom Chamishi","Yom Shishi","Yom Shabbat"],dayNamesShort:["Ris","She","Shl","Rev","Cha","Shi","Sha"],dayNamesMin:["Ri","She","Shl","Re","Ch","Shi","Sha"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return this._leapYear(e.year())},_leapYear:function(t){return o(7*(t=t<0?t+1:t)+1,19)<7},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),this._leapYear(t.year?t.year():t)?13:12},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){return t=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year(),this.toJD(-1===t?1:t+1,7,1)-this.toJD(t,7,1)},daysInMonth:function(t,e){return t.year&&(e=t.month(),t=t.year()),this._validate(t,e,this.minDay,n.local.invalidMonth),12===e&&this.leapYear(t)||8===e&&5===o(this.daysInYear(t),10)?30:9===e&&3===o(this.daysInYear(t),10)?29:this.daysPerMonth[e-1]},weekDay:function(t,e,r){return 6!==this.dayOfWeek(t,e,r)},extraInfo:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return{yearType:(this.leapYear(i)?"embolismic":"common")+" "+["deficient","regular","complete"][this.daysInYear(i)%10-3]}},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);t=i.year(),e=i.month(),r=i.day();var a=t<=0?t+1:t,o=this.jdEpoch+this._delay1(a)+this._delay2(a)+r+1;if(e<7){for(var s=7;s<=this.monthsInYear(t);s++)o+=this.daysInMonth(t,s);for(s=1;s<e;s++)o+=this.daysInMonth(t,s)}else for(s=7;s<e;s++)o+=this.daysInMonth(t,s);return o},_delay1:function(t){var e=Math.floor((235*t-234)/19),r=12084+13753*e,n=29*e+Math.floor(r/25920);return o(3*(n+1),7)<3&&n++,n},_delay2:function(t){var e=this._delay1(t-1),r=this._delay1(t);return this._delay1(t+1)-r==356?2:r-e==382?1:0},fromJD:function(t){t=Math.floor(t)+.5;for(var e=Math.floor(98496*(t-this.jdEpoch)/35975351)-1;t>=this.toJD(-1===e?1:e+1,7,1);)e++;for(var r=t<this.toJD(e,1,1)?7:1;t>this.toJD(e,r,this.daysInMonth(e,r));)r++;var n=t-this.toJD(e,r,1)+1;return this.newDate(e,r,n)}}),n.calendars.hebrew=a},{"../main":621,"object-assign":499}],612:[function(t,e,r){var n=t("../main"),i=t("object-assign");function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Islamic",jdEpoch:1948439.5,daysPerMonth:[30,29,30,29,30,29,30,29,30,29,30,29],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Islamic",epochs:["BH","AH"],monthNames:["Muharram","Safar","Rabi' al-awwal","Rabi' al-thani","Jumada al-awwal","Jumada al-thani","Rajab","Sha'aban","Ramadan","Shawwal","Dhu al-Qi'dah","Dhu al-Hijjah"],monthNamesShort:["Muh","Saf","Rab1","Rab2","Jum1","Jum2","Raj","Sha'","Ram","Shaw","DhuQ","DhuH"],dayNames:["Yawm al-ahad","Yawm al-ithnayn","Yawm ath-thulaathaa'","Yawm al-arbi'aa'","Yawm al-kham\u012bs","Yawm al-jum'a","Yawm as-sabt"],dayNamesShort:["Aha","Ith","Thu","Arb","Kha","Jum","Sab"],dayNamesMin:["Ah","It","Th","Ar","Kh","Ju","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:6,isRTL:!1}},leapYear:function(t){return(11*this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year()+14)%30<11},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){return this.leapYear(t)?355:354},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return t=i.year(),e=i.month(),t=t<=0?t+1:t,(r=i.day())+Math.ceil(29.5*(e-1))+354*(t-1)+Math.floor((3+11*t)/30)+this.jdEpoch-1},fromJD:function(t){t=Math.floor(t)+.5;var e=Math.floor((30*(t-this.jdEpoch)+10646)/10631);e=e<=0?e-1:e;var r=Math.min(12,Math.ceil((t-29-this.toJD(e,1,1))/29.5)+1),n=t-this.toJD(e,r,1)+1;return this.newDate(e,r,n)}}),n.calendars.islamic=a},{"../main":621,"object-assign":499}],613:[function(t,e,r){var n=t("../main"),i=t("object-assign");function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Julian",jdEpoch:1721423.5,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Julian",epochs:["BC","AD"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"mm/dd/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return(t=e.year()<0?e.year()+1:e.year())%4==0},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(4-(n.dayOfWeek()||7),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return t=i.year(),e=i.month(),r=i.day(),t<0&&t++,e<=2&&(t--,e+=12),Math.floor(365.25*(t+4716))+Math.floor(30.6001*(e+1))+r-1524.5},fromJD:function(t){var e=Math.floor(t+.5)+1524,r=Math.floor((e-122.1)/365.25),n=Math.floor(365.25*r),i=Math.floor((e-n)/30.6001),a=i-Math.floor(i<14?1:13),o=r-Math.floor(a>2?4716:4715),s=e-n-Math.floor(30.6001*i);return o<=0&&o--,this.newDate(o,a,s)}}),n.calendars.julian=a},{"../main":621,"object-assign":499}],614:[function(t,e,r){var n=t("../main"),i=t("object-assign");function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}function o(t,e){return t-e*Math.floor(t/e)}function s(t,e){return o(t-1,e)+1}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Mayan",jdEpoch:584282.5,hasYearZero:!0,minMonth:0,firstMonth:0,minDay:0,regionalOptions:{"":{name:"Mayan",epochs:["",""],monthNames:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17"],monthNamesShort:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17"],dayNames:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"],dayNamesShort:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"],dayNamesMin:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"],digits:null,dateFormat:"YYYY.m.d",firstDay:0,isRTL:!1,haabMonths:["Pop","Uo","Zip","Zotz","Tzec","Xul","Yaxkin","Mol","Chen","Yax","Zac","Ceh","Mac","Kankin","Muan","Pax","Kayab","Cumku","Uayeb"],tzolkinMonths:["Imix","Ik","Akbal","Kan","Chicchan","Cimi","Manik","Lamat","Muluc","Oc","Chuen","Eb","Ben","Ix","Men","Cib","Caban","Etznab","Cauac","Ahau"]}},leapYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),!1},formatYear:function(t){t=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year();var e=Math.floor(t/400);return t%=400,t+=t<0?400:0,e+"."+Math.floor(t/20)+"."+t%20},forYear:function(t){if((t=t.split(".")).length<3)throw"Invalid Mayan year";for(var e=0,r=0;r<t.length;r++){var n=parseInt(t[r],10);if(Math.abs(n)>19||r>0&&n<0)throw"Invalid Mayan year";e=20*e+n}return e},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),18},weekOfYear:function(t,e,r){return this._validate(t,e,r,n.local.invalidDate),0},daysInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),360},daysInMonth:function(t,e){return this._validate(t,e,this.minDay,n.local.invalidMonth),20},daysInWeek:function(){return 5},dayOfWeek:function(t,e,r){return this._validate(t,e,r,n.local.invalidDate).day()},weekDay:function(t,e,r){return this._validate(t,e,r,n.local.invalidDate),!0},extraInfo:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate).toJD(),a=this._toHaab(i),o=this._toTzolkin(i);return{haabMonthName:this.local.haabMonths[a[0]-1],haabMonth:a[0],haabDay:a[1],tzolkinDayName:this.local.tzolkinMonths[o[0]-1],tzolkinDay:o[0],tzolkinTrecena:o[1]}},_toHaab:function(t){var e=o((t-=this.jdEpoch)+8+340,365);return[Math.floor(e/20)+1,o(e,20)]},_toTzolkin:function(t){return[s((t-=this.jdEpoch)+20,20),s(t+4,13)]},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return i.day()+20*i.month()+360*i.year()+this.jdEpoch},fromJD:function(t){t=Math.floor(t)+.5-this.jdEpoch;var e=Math.floor(t/360);t%=360,t+=t<0?360:0;var r=Math.floor(t/20),n=t%20;return this.newDate(e,r,n)}}),n.calendars.mayan=a},{"../main":621,"object-assign":499}],615:[function(t,e,r){var n=t("../main"),i=t("object-assign");function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar;var o=n.instance("gregorian");i(a.prototype,{name:"Nanakshahi",jdEpoch:2257673.5,daysPerMonth:[31,31,31,31,31,30,30,30,30,30,30,30],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Nanakshahi",epochs:["BN","AN"],monthNames:["Chet","Vaisakh","Jeth","Harh","Sawan","Bhadon","Assu","Katak","Maghar","Poh","Magh","Phagun"],monthNamesShort:["Che","Vai","Jet","Har","Saw","Bha","Ass","Kat","Mgr","Poh","Mgh","Pha"],dayNames:["Somvaar","Mangalvar","Budhvaar","Veervaar","Shukarvaar","Sanicharvaar","Etvaar"],dayNamesShort:["Som","Mangal","Budh","Veer","Shukar","Sanichar","Et"],dayNamesMin:["So","Ma","Bu","Ve","Sh","Sa","Et"],digits:null,dateFormat:"dd-mm-yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear||n.regionalOptions[""].invalidYear);return o.leapYear(e.year()+(e.year()<1?1:0)+1469)},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(1-(n.dayOfWeek()||7),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidMonth);(t=i.year())<0&&t++;for(var a=i.day(),s=1;s<i.month();s++)a+=this.daysPerMonth[s-1];return a+o.toJD(t+1468,3,13)},fromJD:function(t){t=Math.floor(t+.5);for(var e=Math.floor((t-(this.jdEpoch-1))/366);t>=this.toJD(e+1,1,1);)e++;for(var r=t-Math.floor(this.toJD(e,1,1)+.5)+1,n=1;r>this.daysInMonth(e,n);)r-=this.daysInMonth(e,n),n++;return this.newDate(e,n,r)}}),n.calendars.nanakshahi=a},{"../main":621,"object-assign":499}],616:[function(t,e,r){var n=t("../main"),i=t("object-assign");function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Nepali",jdEpoch:1700709.5,daysPerMonth:[31,31,32,32,31,30,30,29,30,29,30,30],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,daysPerYear:365,regionalOptions:{"":{name:"Nepali",epochs:["BBS","ABS"],monthNames:["Baisakh","Jestha","Ashadh","Shrawan","Bhadra","Ashwin","Kartik","Mangsir","Paush","Mangh","Falgun","Chaitra"],monthNamesShort:["Bai","Je","As","Shra","Bha","Ash","Kar","Mang","Pau","Ma","Fal","Chai"],dayNames:["Aaitabaar","Sombaar","Manglbaar","Budhabaar","Bihibaar","Shukrabaar","Shanibaar"],dayNamesShort:["Aaita","Som","Mangl","Budha","Bihi","Shukra","Shani"],dayNamesMin:["Aai","So","Man","Bu","Bi","Shu","Sha"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:1,isRTL:!1}},leapYear:function(t){return this.daysInYear(t)!==this.daysPerYear},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){if(t=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year(),"undefined"==typeof this.NEPALI_CALENDAR_DATA[t])return this.daysPerYear;for(var e=0,r=this.minMonth;r<=12;r++)e+=this.NEPALI_CALENDAR_DATA[t][r];return e},daysInMonth:function(t,e){return t.year&&(e=t.month(),t=t.year()),this._validate(t,e,this.minDay,n.local.invalidMonth),"undefined"==typeof this.NEPALI_CALENDAR_DATA[t]?this.daysPerMonth[e-1]:this.NEPALI_CALENDAR_DATA[t][e]},weekDay:function(t,e,r){return 6!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);t=i.year(),e=i.month(),r=i.day();var a=n.instance(),o=0,s=e,l=t;this._createMissingCalendarData(t);var c=t-(s>9||9===s&&r>=this.NEPALI_CALENDAR_DATA[l][0]?56:57);for(9!==e&&(o=r,s--);9!==s;)s<=0&&(s=12,l--),o+=this.NEPALI_CALENDAR_DATA[l][s],s--;return 9===e?(o+=r-this.NEPALI_CALENDAR_DATA[l][0])<0&&(o+=a.daysInYear(c)):o+=this.NEPALI_CALENDAR_DATA[l][9]-this.NEPALI_CALENDAR_DATA[l][0],a.newDate(c,1,1).add(o,"d").toJD()},fromJD:function(t){var e=n.instance().fromJD(t),r=e.year(),i=e.dayOfYear(),a=r+56;this._createMissingCalendarData(a);for(var o=9,s=this.NEPALI_CALENDAR_DATA[a][0],l=this.NEPALI_CALENDAR_DATA[a][o]-s+1;i>l;)++o>12&&(o=1,a++),l+=this.NEPALI_CALENDAR_DATA[a][o];var c=this.NEPALI_CALENDAR_DATA[a][o]-(l-i);return this.newDate(a,o,c)},_createMissingCalendarData:function(t){var e=this.daysPerMonth.slice(0);e.unshift(17);for(var r=t-1;r<t+2;r++)"undefined"==typeof this.NEPALI_CALENDAR_DATA[r]&&(this.NEPALI_CALENDAR_DATA[r]=e)},NEPALI_CALENDAR_DATA:{1970:[18,31,31,32,31,31,31,30,29,30,29,30,30],1971:[18,31,31,32,31,32,30,30,29,30,29,30,30],1972:[17,31,32,31,32,31,30,30,30,29,29,30,30],1973:[19,30,32,31,32,31,30,30,30,29,30,29,31],1974:[19,31,31,32,30,31,31,30,29,30,29,30,30],1975:[18,31,31,32,32,30,31,30,29,30,29,30,30],1976:[17,31,32,31,32,31,30,30,30,29,29,30,31],1977:[18,31,32,31,32,31,31,29,30,29,30,29,31],1978:[18,31,31,32,31,31,31,30,29,30,29,30,30],1979:[18,31,31,32,32,31,30,30,29,30,29,30,30],1980:[17,31,32,31,32,31,30,30,30,29,29,30,31],1981:[18,31,31,31,32,31,31,29,30,30,29,30,30],1982:[18,31,31,32,31,31,31,30,29,30,29,30,30],1983:[18,31,31,32,32,31,30,30,29,30,29,30,30],1984:[17,31,32,31,32,31,30,30,30,29,29,30,31],1985:[18,31,31,31,32,31,31,29,30,30,29,30,30],1986:[18,31,31,32,31,31,31,30,29,30,29,30,30],1987:[18,31,32,31,32,31,30,30,29,30,29,30,30],1988:[17,31,32,31,32,31,30,30,30,29,29,30,31],1989:[18,31,31,31,32,31,31,30,29,30,29,30,30],1990:[18,31,31,32,31,31,31,30,29,30,29,30,30],1991:[18,31,32,31,32,31,30,30,29,30,29,30,30],1992:[17,31,32,31,32,31,30,30,30,29,30,29,31],1993:[18,31,31,31,32,31,31,30,29,30,29,30,30],1994:[18,31,31,32,31,31,31,30,29,30,29,30,30],1995:[17,31,32,31,32,31,30,30,30,29,29,30,30],1996:[17,31,32,31,32,31,30,30,30,29,30,29,31],1997:[18,31,31,32,31,31,31,30,29,30,29,30,30],1998:[18,31,31,32,31,31,31,30,29,30,29,30,30],1999:[17,31,32,31,32,31,30,30,30,29,29,30,31],2e3:[17,30,32,31,32,31,30,30,30,29,30,29,31],2001:[18,31,31,32,31,31,31,30,29,30,29,30,30],2002:[18,31,31,32,32,31,30,30,29,30,29,30,30],2003:[17,31,32,31,32,31,30,30,30,29,29,30,31],2004:[17,30,32,31,32,31,30,30,30,29,30,29,31],2005:[18,31,31,32,31,31,31,30,29,30,29,30,30],2006:[18,31,31,32,32,31,30,30,29,30,29,30,30],2007:[17,31,32,31,32,31,30,30,30,29,29,30,31],2008:[17,31,31,31,32,31,31,29,30,30,29,29,31],2009:[18,31,31,32,31,31,31,30,29,30,29,30,30],2010:[18,31,31,32,32,31,30,30,29,30,29,30,30],2011:[17,31,32,31,32,31,30,30,30,29,29,30,31],2012:[17,31,31,31,32,31,31,29,30,30,29,30,30],2013:[18,31,31,32,31,31,31,30,29,30,29,30,30],2014:[18,31,31,32,32,31,30,30,29,30,29,30,30],2015:[17,31,32,31,32,31,30,30,30,29,29,30,31],2016:[17,31,31,31,32,31,31,29,30,30,29,30,30],2017:[18,31,31,32,31,31,31,30,29,30,29,30,30],2018:[18,31,32,31,32,31,30,30,29,30,29,30,30],2019:[17,31,32,31,32,31,30,30,30,29,30,29,31],2020:[17,31,31,31,32,31,31,30,29,30,29,30,30],2021:[18,31,31,32,31,31,31,30,29,30,29,30,30],2022:[17,31,32,31,32,31,30,30,30,29,29,30,30],2023:[17,31,32,31,32,31,30,30,30,29,30,29,31],2024:[17,31,31,31,32,31,31,30,29,30,29,30,30],2025:[18,31,31,32,31,31,31,30,29,30,29,30,30],2026:[17,31,32,31,32,31,30,30,30,29,29,30,31],2027:[17,30,32,31,32,31,30,30,30,29,30,29,31],2028:[17,31,31,32,31,31,31,30,29,30,29,30,30],2029:[18,31,31,32,31,32,30,30,29,30,29,30,30],2030:[17,31,32,31,32,31,30,30,30,30,30,30,31],2031:[17,31,32,31,32,31,31,31,31,31,31,31,31],2032:[17,32,32,32,32,32,32,32,32,32,32,32,32],2033:[18,31,31,32,32,31,30,30,29,30,29,30,30],2034:[17,31,32,31,32,31,30,30,30,29,29,30,31],2035:[17,30,32,31,32,31,31,29,30,30,29,29,31],2036:[17,31,31,32,31,31,31,30,29,30,29,30,30],2037:[18,31,31,32,32,31,30,30,29,30,29,30,30],2038:[17,31,32,31,32,31,30,30,30,29,29,30,31],2039:[17,31,31,31,32,31,31,29,30,30,29,30,30],2040:[17,31,31,32,31,31,31,30,29,30,29,30,30],2041:[18,31,31,32,32,31,30,30,29,30,29,30,30],2042:[17,31,32,31,32,31,30,30,30,29,29,30,31],2043:[17,31,31,31,32,31,31,29,30,30,29,30,30],2044:[17,31,31,32,31,31,31,30,29,30,29,30,30],2045:[18,31,32,31,32,31,30,30,29,30,29,30,30],2046:[17,31,32,31,32,31,30,30,30,29,29,30,31],2047:[17,31,31,31,32,31,31,30,29,30,29,30,30],2048:[17,31,31,32,31,31,31,30,29,30,29,30,30],2049:[17,31,32,31,32,31,30,30,30,29,29,30,30],2050:[17,31,32,31,32,31,30,30,30,29,30,29,31],2051:[17,31,31,31,32,31,31,30,29,30,29,30,30],2052:[17,31,31,32,31,31,31,30,29,30,29,30,30],2053:[17,31,32,31,32,31,30,30,30,29,29,30,30],2054:[17,31,32,31,32,31,30,30,30,29,30,29,31],2055:[17,31,31,32,31,31,31,30,29,30,30,29,30],2056:[17,31,31,32,31,32,30,30,29,30,29,30,30],2057:[17,31,32,31,32,31,30,30,30,29,29,30,31],2058:[17,30,32,31,32,31,30,30,30,29,30,29,31],2059:[17,31,31,32,31,31,31,30,29,30,29,30,30],2060:[17,31,31,32,32,31,30,30,29,30,29,30,30],2061:[17,31,32,31,32,31,30,30,30,29,29,30,31],2062:[17,30,32,31,32,31,31,29,30,29,30,29,31],2063:[17,31,31,32,31,31,31,30,29,30,29,30,30],2064:[17,31,31,32,32,31,30,30,29,30,29,30,30],2065:[17,31,32,31,32,31,30,30,30,29,29,30,31],2066:[17,31,31,31,32,31,31,29,30,30,29,29,31],2067:[17,31,31,32,31,31,31,30,29,30,29,30,30],2068:[17,31,31,32,32,31,30,30,29,30,29,30,30],2069:[17,31,32,31,32,31,30,30,30,29,29,30,31],2070:[17,31,31,31,32,31,31,29,30,30,29,30,30],2071:[17,31,31,32,31,31,31,30,29,30,29,30,30],2072:[17,31,32,31,32,31,30,30,29,30,29,30,30],2073:[17,31,32,31,32,31,30,30,30,29,29,30,31],2074:[17,31,31,31,32,31,31,30,29,30,29,30,30],2075:[17,31,31,32,31,31,31,30,29,30,29,30,30],2076:[16,31,32,31,32,31,30,30,30,29,29,30,30],2077:[17,31,32,31,32,31,30,30,30,29,30,29,31],2078:[17,31,31,31,32,31,31,30,29,30,29,30,30],2079:[17,31,31,32,31,31,31,30,29,30,29,30,30],2080:[16,31,32,31,32,31,30,30,30,29,29,30,30],2081:[17,31,31,32,32,31,30,30,30,29,30,30,30],2082:[17,31,32,31,32,31,30,30,30,29,30,30,30],2083:[17,31,31,32,31,31,30,30,30,29,30,30,30],2084:[17,31,31,32,31,31,30,30,30,29,30,30,30],2085:[17,31,32,31,32,31,31,30,30,29,30,30,30],2086:[17,31,32,31,32,31,30,30,30,29,30,30,30],2087:[16,31,31,32,31,31,31,30,30,29,30,30,30],2088:[16,30,31,32,32,30,31,30,30,29,30,30,30],2089:[17,31,32,31,32,31,30,30,30,29,30,30,30],2090:[17,31,32,31,32,31,30,30,30,29,30,30,30],2091:[16,31,31,32,31,31,31,30,30,29,30,30,30],2092:[16,31,31,32,32,31,30,30,30,29,30,30,30],2093:[17,31,32,31,32,31,30,30,30,29,30,30,30],2094:[17,31,31,32,31,31,30,30,30,29,30,30,30],2095:[17,31,31,32,31,31,31,30,29,30,30,30,30],2096:[17,30,31,32,32,31,30,30,29,30,29,30,30],2097:[17,31,32,31,32,31,30,30,30,29,30,30,30],2098:[17,31,31,32,31,31,31,29,30,29,30,30,31],2099:[17,31,31,32,31,31,31,30,29,29,30,30,30],2100:[17,31,32,31,32,30,31,30,29,30,29,30,30]}}),n.calendars.nepali=a},{"../main":621,"object-assign":499}],617:[function(t,e,r){var n=t("../main"),i=t("object-assign");function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}function o(t,e){return t-e*Math.floor(t/e)}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Persian",jdEpoch:1948320.5,daysPerMonth:[31,31,31,31,31,31,30,30,30,30,30,29],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Persian",epochs:["BP","AP"],monthNames:["Farvardin","Ordibehesht","Khordad","Tir","Mordad","Shahrivar","Mehr","Aban","Azar","Day","Bahman","Esfand"],monthNamesShort:["Far","Ord","Kho","Tir","Mor","Sha","Meh","Aba","Aza","Day","Bah","Esf"],dayNames:["Yekshambe","Doshambe","Seshambe","Ch\xe6harshambe","Panjshambe","Jom'e","Shambe"],dayNamesShort:["Yek","Do","Se","Ch\xe6","Panj","Jom","Sha"],dayNamesMin:["Ye","Do","Se","Ch","Pa","Jo","Sh"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:6,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return 682*((e.year()-(e.year()>0?474:473))%2820+474+38)%2816<682},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-(n.dayOfWeek()+1)%7,"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);t=i.year(),e=i.month(),r=i.day();var a=t-(t>=0?474:473),s=474+o(a,2820);return r+(e<=7?31*(e-1):30*(e-1)+6)+Math.floor((682*s-110)/2816)+365*(s-1)+1029983*Math.floor(a/2820)+this.jdEpoch-1},fromJD:function(t){var e=(t=Math.floor(t)+.5)-this.toJD(475,1,1),r=Math.floor(e/1029983),n=o(e,1029983),i=2820;if(1029982!==n){var a=Math.floor(n/366),s=o(n,366);i=Math.floor((2134*a+2816*s+2815)/1028522)+a+1}var l=i+2820*r+474;l=l<=0?l-1:l;var c=t-this.toJD(l,1,1)+1,u=c<=186?Math.ceil(c/31):Math.ceil((c-6)/30),f=t-this.toJD(l,u,1)+1;return this.newDate(l,u,f)}}),n.calendars.persian=a,n.calendars.jalali=a},{"../main":621,"object-assign":499}],618:[function(t,e,r){var n=t("../main"),i=t("object-assign"),a=n.instance();function o(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}o.prototype=new n.baseCalendar,i(o.prototype,{name:"Taiwan",jdEpoch:2419402.5,yearsOffset:1911,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Taiwan",epochs:["BROC","ROC"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:1,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);t=this._t2gYear(e.year());return a.leapYear(t)},weekOfYear:function(t,e,r){var i=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);t=this._t2gYear(i.year());return a.weekOfYear(t,i.month(),i.day())},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);t=this._t2gYear(i.year());return a.toJD(t,i.month(),i.day())},fromJD:function(t){var e=a.fromJD(t),r=this._g2tYear(e.year());return this.newDate(r,e.month(),e.day())},_t2gYear:function(t){return t+this.yearsOffset+(t>=-this.yearsOffset&&t<=-1?1:0)},_g2tYear:function(t){return t-this.yearsOffset-(t>=1&&t<=this.yearsOffset?1:0)}}),n.calendars.taiwan=o},{"../main":621,"object-assign":499}],619:[function(t,e,r){var n=t("../main"),i=t("object-assign"),a=n.instance();function o(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}o.prototype=new n.baseCalendar,i(o.prototype,{name:"Thai",jdEpoch:1523098.5,yearsOffset:543,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Thai",epochs:["BBE","BE"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);t=this._t2gYear(e.year());return a.leapYear(t)},weekOfYear:function(t,e,r){var i=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);t=this._t2gYear(i.year());return a.weekOfYear(t,i.month(),i.day())},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);t=this._t2gYear(i.year());return a.toJD(t,i.month(),i.day())},fromJD:function(t){var e=a.fromJD(t),r=this._g2tYear(e.year());return this.newDate(r,e.month(),e.day())},_t2gYear:function(t){return t-this.yearsOffset-(t>=1&&t<=this.yearsOffset?1:0)},_g2tYear:function(t){return t+this.yearsOffset+(t>=-this.yearsOffset&&t<=-1?1:0)}}),n.calendars.thai=o},{"../main":621,"object-assign":499}],620:[function(t,e,r){var n=t("../main"),i=t("object-assign");function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar,i(a.prototype,{name:"UmmAlQura",hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Umm al-Qura",epochs:["BH","AH"],monthNames:["Al-Muharram","Safar","Rabi' al-awwal","Rabi' Al-Thani","Jumada Al-Awwal","Jumada Al-Thani","Rajab","Sha'aban","Ramadan","Shawwal","Dhu al-Qi'dah","Dhu al-Hijjah"],monthNamesShort:["Muh","Saf","Rab1","Rab2","Jum1","Jum2","Raj","Sha'","Ram","Shaw","DhuQ","DhuH"],dayNames:["Yawm al-Ahad","Yawm al-Ithnain","Yawm al-Thal\u0101th\u0101\u2019","Yawm al-Arba\u2018\u0101\u2019","Yawm al-Kham\u012bs","Yawm al-Jum\u2018a","Yawm al-Sabt"],dayNamesMin:["Ah","Ith","Th","Ar","Kh","Ju","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:6,isRTL:!0}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return 355===this.daysInYear(e.year())},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){for(var e=0,r=1;r<=12;r++)e+=this.daysInMonth(t,r);return e},daysInMonth:function(t,e){for(var r=this._validate(t,e,this.minDay,n.local.invalidMonth).toJD()-24e5+.5,i=0,a=0;a<o.length;a++){if(o[a]>r)return o[i]-o[i-1];i++}return 30},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate),a=12*(i.year()-1)+i.month()-15292;return i.day()+o[a-1]-1+24e5-.5},fromJD:function(t){for(var e=t-24e5+.5,r=0,n=0;n<o.length&&!(o[n]>e);n++)r++;var i=r+15292,a=Math.floor((i-1)/12),s=a+1,l=i-12*a,c=e-o[r-1]+1;return this.newDate(s,l,c)},isValid:function(t,e,r){var i=n.baseCalendar.prototype.isValid.apply(this,arguments);return i&&(i=(t=null!=t.year?t.year:t)>=1276&&t<=1500),i},_validate:function(t,e,r,i){var a=n.baseCalendar.prototype._validate.apply(this,arguments);if(a.year<1276||a.year>1500)throw i.replace(/\{0\}/,this.local.name);return a}}),n.calendars.ummalqura=a;var o=[20,50,79,109,138,168,197,227,256,286,315,345,374,404,433,463,492,522,551,581,611,641,670,700,729,759,788,818,847,877,906,936,965,995,1024,1054,1083,1113,1142,1172,1201,1231,1260,1290,1320,1350,1379,1409,1438,1468,1497,1527,1556,1586,1615,1645,1674,1704,1733,1763,1792,1822,1851,1881,1910,1940,1969,1999,2028,2058,2087,2117,2146,2176,2205,2235,2264,2294,2323,2353,2383,2413,2442,2472,2501,2531,2560,2590,2619,2649,2678,2708,2737,2767,2796,2826,2855,2885,2914,2944,2973,3003,3032,3062,3091,3121,3150,3180,3209,3239,3268,3298,3327,3357,3386,3416,3446,3476,3505,3535,3564,3594,3623,3653,3682,3712,3741,3771,3800,3830,3859,3889,3918,3948,3977,4007,4036,4066,4095,4125,4155,4185,4214,4244,4273,4303,4332,4362,4391,4421,4450,4480,4509,4539,4568,4598,4627,4657,4686,4716,4745,4775,4804,4834,4863,4893,4922,4952,4981,5011,5040,5070,5099,5129,5158,5188,5218,5248,5277,5307,5336,5366,5395,5425,5454,5484,5513,5543,5572,5602,5631,5661,5690,5720,5749,5779,5808,5838,5867,5897,5926,5956,5985,6015,6044,6074,6103,6133,6162,6192,6221,6251,6281,6311,6340,6370,6399,6429,6458,6488,6517,6547,6576,6606,6635,6665,6694,6724,6753,6783,6812,6842,6871,6901,6930,6960,6989,7019,7048,7078,7107,7137,7166,7196,7225,7255,7284,7314,7344,7374,7403,7433,7462,7492,7521,7551,7580,7610,7639,7669,7698,7728,7757,7787,7816,7846,7875,7905,7934,7964,7993,8023,8053,8083,8112,8142,8171,8201,8230,8260,8289,8319,8348,8378,8407,8437,8466,8496,8525,8555,8584,8614,8643,8673,8702,8732,8761,8791,8821,8850,8880,8909,8938,8968,8997,9027,9056,9086,9115,9145,9175,9205,9234,9264,9293,9322,9352,9381,9410,9440,9470,9499,9529,9559,9589,9618,9648,9677,9706,9736,9765,9794,9824,9853,9883,9913,9943,9972,10002,10032,10061,10090,10120,10149,10178,10208,10237,10267,10297,10326,10356,10386,10415,10445,10474,10504,10533,10562,10592,10621,10651,10680,10710,10740,10770,10799,10829,10858,10888,10917,10947,10976,11005,11035,11064,11094,11124,11153,11183,11213,11242,11272,11301,11331,11360,11389,11419,11448,11478,11507,11537,11567,11596,11626,11655,11685,11715,11744,11774,11803,11832,11862,11891,11921,11950,11980,12010,12039,12069,12099,12128,12158,12187,12216,12246,12275,12304,12334,12364,12393,12423,12453,12483,12512,12542,12571,12600,12630,12659,12688,12718,12747,12777,12807,12837,12866,12896,12926,12955,12984,13014,13043,13072,13102,13131,13161,13191,13220,13250,13280,13310,13339,13368,13398,13427,13456,13486,13515,13545,13574,13604,13634,13664,13693,13723,13752,13782,13811,13840,13870,13899,13929,13958,13988,14018,14047,14077,14107,14136,14166,14195,14224,14254,14283,14313,14342,14372,14401,14431,14461,14490,14520,14550,14579,14609,14638,14667,14697,14726,14756,14785,14815,14844,14874,14904,14933,14963,14993,15021,15051,15081,15110,15140,15169,15199,15228,15258,15287,15317,15347,15377,15406,15436,15465,15494,15524,15553,15582,15612,15641,15671,15701,15731,15760,15790,15820,15849,15878,15908,15937,15966,15996,16025,16055,16085,16114,16144,16174,16204,16233,16262,16292,16321,16350,16380,16409,16439,16468,16498,16528,16558,16587,16617,16646,16676,16705,16734,16764,16793,16823,16852,16882,16912,16941,16971,17001,17030,17060,17089,17118,17148,17177,17207,17236,17266,17295,17325,17355,17384,17414,17444,17473,17502,17532,17561,17591,17620,17650,17679,17709,17738,17768,17798,17827,17857,17886,17916,17945,17975,18004,18034,18063,18093,18122,18152,18181,18211,18241,18270,18300,18330,18359,18388,18418,18447,18476,18506,18535,18565,18595,18625,18654,18684,18714,18743,18772,18802,18831,18860,18890,18919,18949,18979,19008,19038,19068,19098,19127,19156,19186,19215,19244,19274,19303,19333,19362,19392,19422,19452,19481,19511,19540,19570,19599,19628,19658,19687,19717,19746,19776,19806,19836,19865,19895,19924,19954,19983,20012,20042,20071,20101,20130,20160,20190,20219,20249,20279,20308,20338,20367,20396,20426,20455,20485,20514,20544,20573,20603,20633,20662,20692,20721,20751,20780,20810,20839,20869,20898,20928,20957,20987,21016,21046,21076,21105,21135,21164,21194,21223,21253,21282,21312,21341,21371,21400,21430,21459,21489,21519,21548,21578,21607,21637,21666,21696,21725,21754,21784,21813,21843,21873,21902,21932,21962,21991,22021,22050,22080,22109,22138,22168,22197,22227,22256,22286,22316,22346,22375,22405,22434,22464,22493,22522,22552,22581,22611,22640,22670,22700,22730,22759,22789,22818,22848,22877,22906,22936,22965,22994,23024,23054,23083,23113,23143,23173,23202,23232,23261,23290,23320,23349,23379,23408,23438,23467,23497,23527,23556,23586,23616,23645,23674,23704,23733,23763,23792,23822,23851,23881,23910,23940,23970,23999,24029,24058,24088,24117,24147,24176,24206,24235,24265,24294,24324,24353,24383,24413,24442,24472,24501,24531,24560,24590,24619,24648,24678,24707,24737,24767,24796,24826,24856,24885,24915,24944,24974,25003,25032,25062,25091,25121,25150,25180,25210,25240,25269,25299,25328,25358,25387,25416,25446,25475,25505,25534,25564,25594,25624,25653,25683,25712,25742,25771,25800,25830,25859,25888,25918,25948,25977,26007,26037,26067,26096,26126,26155,26184,26214,26243,26272,26302,26332,26361,26391,26421,26451,26480,26510,26539,26568,26598,26627,26656,26686,26715,26745,26775,26805,26834,26864,26893,26923,26952,26982,27011,27041,27070,27099,27129,27159,27188,27218,27248,27277,27307,27336,27366,27395,27425,27454,27484,27513,27542,27572,27602,27631,27661,27691,27720,27750,27779,27809,27838,27868,27897,27926,27956,27985,28015,28045,28074,28104,28134,28163,28193,28222,28252,28281,28310,28340,28369,28399,28428,28458,28488,28517,28547,28577,28607,28636,28665,28695,28724,28754,28783,28813,28843,28872,28901,28931,28960,28990,29019,29049,29078,29108,29137,29167,29196,29226,29255,29285,29315,29345,29375,29404,29434,29463,29492,29522,29551,29580,29610,29640,29669,29699,29729,29759,29788,29818,29847,29876,29906,29935,29964,29994,30023,30053,30082,30112,30141,30171,30200,30230,30259,30289,30318,30348,30378,30408,30437,30467,30496,30526,30555,30585,30614,30644,30673,30703,30732,30762,30791,30821,30850,30880,30909,30939,30968,30998,31027,31057,31086,31116,31145,31175,31204,31234,31263,31293,31322,31352,31381,31411,31441,31471,31500,31530,31559,31589,31618,31648,31676,31706,31736,31766,31795,31825,31854,31884,31913,31943,31972,32002,32031,32061,32090,32120,32150,32180,32209,32239,32268,32298,32327,32357,32386,32416,32445,32475,32504,32534,32563,32593,32622,32652,32681,32711,32740,32770,32799,32829,32858,32888,32917,32947,32976,33006,33035,33065,33094,33124,33153,33183,33213,33243,33272,33302,33331,33361,33390,33420,33450,33479,33509,33539,33568,33598,33627,33657,33686,33716,33745,33775,33804,33834,33863,33893,33922,33952,33981,34011,34040,34069,34099,34128,34158,34187,34217,34247,34277,34306,34336,34365,34395,34424,34454,34483,34512,34542,34571,34601,34631,34660,34690,34719,34749,34778,34808,34837,34867,34896,34926,34955,34985,35015,35044,35074,35103,35133,35162,35192,35222,35251,35280,35310,35340,35370,35399,35429,35458,35488,35517,35547,35576,35605,35635,35665,35694,35723,35753,35782,35811,35841,35871,35901,35930,35960,35989,36019,36048,36078,36107,36136,36166,36195,36225,36254,36284,36314,36343,36373,36403,36433,36462,36492,36521,36551,36580,36610,36639,36669,36698,36728,36757,36786,36816,36845,36875,36904,36934,36963,36993,37022,37052,37081,37111,37141,37170,37200,37229,37259,37288,37318,37347,37377,37406,37436,37465,37495,37524,37554,37584,37613,37643,37672,37701,37731,37760,37790,37819,37849,37878,37908,37938,37967,37997,38027,38056,38085,38115,38144,38174,38203,38233,38262,38292,38322,38351,38381,38410,38440,38469,38499,38528,38558,38587,38617,38646,38676,38705,38735,38764,38794,38823,38853,38882,38912,38941,38971,39001,39030,39059,39089,39118,39148,39178,39208,39237,39267,39297,39326,39355,39385,39414,39444,39473,39503,39532,39562,39592,39621,39650,39680,39709,39739,39768,39798,39827,39857,39886,39916,39946,39975,40005,40035,40064,40094,40123,40153,40182,40212,40241,40271,40300,40330,40359,40389,40418,40448,40477,40507,40536,40566,40595,40625,40655,40685,40714,40744,40773,40803,40832,40862,40892,40921,40951,40980,41009,41039,41068,41098,41127,41157,41186,41216,41245,41275,41304,41334,41364,41393,41422,41452,41481,41511,41540,41570,41599,41629,41658,41688,41718,41748,41777,41807,41836,41865,41894,41924,41953,41983,42012,42042,42072,42102,42131,42161,42190,42220,42249,42279,42308,42337,42367,42397,42426,42456,42485,42515,42545,42574,42604,42633,42662,42692,42721,42751,42780,42810,42839,42869,42899,42929,42958,42988,43017,43046,43076,43105,43135,43164,43194,43223,43253,43283,43312,43342,43371,43401,43430,43460,43489,43519,43548,43578,43607,43637,43666,43696,43726,43755,43785,43814,43844,43873,43903,43932,43962,43991,44021,44050,44080,44109,44139,44169,44198,44228,44258,44287,44317,44346,44375,44405,44434,44464,44493,44523,44553,44582,44612,44641,44671,44700,44730,44759,44788,44818,44847,44877,44906,44936,44966,44996,45025,45055,45084,45114,45143,45172,45202,45231,45261,45290,45320,45350,45380,45409,45439,45468,45498,45527,45556,45586,45615,45644,45674,45704,45733,45763,45793,45823,45852,45882,45911,45940,45970,45999,46028,46058,46088,46117,46147,46177,46206,46236,46265,46295,46324,46354,46383,46413,46442,46472,46501,46531,46560,46590,46620,46649,46679,46708,46738,46767,46797,46826,46856,46885,46915,46944,46974,47003,47033,47063,47092,47122,47151,47181,47210,47240,47269,47298,47328,47357,47387,47417,47446,47476,47506,47535,47565,47594,47624,47653,47682,47712,47741,47771,47800,47830,47860,47890,47919,47949,47978,48008,48037,48066,48096,48125,48155,48184,48214,48244,48273,48303,48333,48362,48392,48421,48450,48480,48509,48538,48568,48598,48627,48657,48687,48717,48746,48776,48805,48834,48864,48893,48922,48952,48982,49011,49041,49071,49100,49130,49160,49189,49218,49248,49277,49306,49336,49365,49395,49425,49455,49484,49514,49543,49573,49602,49632,49661,49690,49720,49749,49779,49809,49838,49868,49898,49927,49957,49986,50016,50045,50075,50104,50133,50163,50192,50222,50252,50281,50311,50340,50370,50400,50429,50459,50488,50518,50547,50576,50606,50635,50665,50694,50724,50754,50784,50813,50843,50872,50902,50931,50960,50990,51019,51049,51078,51108,51138,51167,51197,51227,51256,51286,51315,51345,51374,51403,51433,51462,51492,51522,51552,51582,51611,51641,51670,51699,51729,51758,51787,51816,51846,51876,51906,51936,51965,51995,52025,52054,52083,52113,52142,52171,52200,52230,52260,52290,52319,52349,52379,52408,52438,52467,52497,52526,52555,52585,52614,52644,52673,52703,52733,52762,52792,52822,52851,52881,52910,52939,52969,52998,53028,53057,53087,53116,53146,53176,53205,53235,53264,53294,53324,53353,53383,53412,53441,53471,53500,53530,53559,53589,53619,53648,53678,53708,53737,53767,53796,53825,53855,53884,53913,53943,53973,54003,54032,54062,54092,54121,54151,54180,54209,54239,54268,54297,54327,54357,54387,54416,54446,54476,54505,54535,54564,54593,54623,54652,54681,54711,54741,54770,54800,54830,54859,54889,54919,54948,54977,55007,55036,55066,55095,55125,55154,55184,55213,55243,55273,55302,55332,55361,55391,55420,55450,55479,55508,55538,55567,55597,55627,55657,55686,55716,55745,55775,55804,55834,55863,55892,55922,55951,55981,56011,56040,56070,56100,56129,56159,56188,56218,56247,56276,56306,56335,56365,56394,56424,56454,56483,56513,56543,56572,56601,56631,56660,56690,56719,56749,56778,56808,56837,56867,56897,56926,56956,56985,57015,57044,57074,57103,57133,57162,57192,57221,57251,57280,57310,57340,57369,57399,57429,57458,57487,57517,57546,57576,57605,57634,57664,57694,57723,57753,57783,57813,57842,57871,57901,57930,57959,57989,58018,58048,58077,58107,58137,58167,58196,58226,58255,58285,58314,58343,58373,58402,58432,58461,58491,58521,58551,58580,58610,58639,58669,58698,58727,58757,58786,58816,58845,58875,58905,58934,58964,58994,59023,59053,59082,59111,59141,59170,59200,59229,59259,59288,59318,59348,59377,59407,59436,59466,59495,59525,59554,59584,59613,59643,59672,59702,59731,59761,59791,59820,59850,59879,59909,59939,59968,59997,60027,60056,60086,60115,60145,60174,60204,60234,60264,60293,60323,60352,60381,60411,60440,60469,60499,60528,60558,60588,60618,60648,60677,60707,60736,60765,60795,60824,60853,60883,60912,60942,60972,61002,61031,61061,61090,61120,61149,61179,61208,61237,61267,61296,61326,61356,61385,61415,61445,61474,61504,61533,61563,61592,61621,61651,61680,61710,61739,61769,61799,61828,61858,61888,61917,61947,61976,62006,62035,62064,62094,62123,62153,62182,62212,62242,62271,62301,62331,62360,62390,62419,62448,62478,62507,62537,62566,62596,62625,62655,62685,62715,62744,62774,62803,62832,62862,62891,62921,62950,62980,63009,63039,63069,63099,63128,63157,63187,63216,63246,63275,63305,63334,63363,63393,63423,63453,63482,63512,63541,63571,63600,63630,63659,63689,63718,63747,63777,63807,63836,63866,63895,63925,63955,63984,64014,64043,64073,64102,64131,64161,64190,64220,64249,64279,64309,64339,64368,64398,64427,64457,64486,64515,64545,64574,64603,64633,64663,64692,64722,64752,64782,64811,64841,64870,64899,64929,64958,64987,65017,65047,65076,65106,65136,65166,65195,65225,65254,65283,65313,65342,65371,65401,65431,65460,65490,65520,65549,65579,65608,65638,65667,65697,65726,65755,65785,65815,65844,65874,65903,65933,65963,65992,66022,66051,66081,66110,66140,66169,66199,66228,66258,66287,66317,66346,66376,66405,66435,66465,66494,66524,66553,66583,66612,66641,66671,66700,66730,66760,66789,66819,66849,66878,66908,66937,66967,66996,67025,67055,67084,67114,67143,67173,67203,67233,67262,67292,67321,67351,67380,67409,67439,67468,67497,67527,67557,67587,67617,67646,67676,67705,67735,67764,67793,67823,67852,67882,67911,67941,67971,68e3,68030,68060,68089,68119,68148,68177,68207,68236,68266,68295,68325,68354,68384,68414,68443,68473,68502,68532,68561,68591,68620,68650,68679,68708,68738,68768,68797,68827,68857,68886,68916,68946,68975,69004,69034,69063,69092,69122,69152,69181,69211,69240,69270,69300,69330,69359,69388,69418,69447,69476,69506,69535,69565,69595,69624,69654,69684,69713,69743,69772,69802,69831,69861,69890,69919,69949,69978,70008,70038,70067,70097,70126,70156,70186,70215,70245,70274,70303,70333,70362,70392,70421,70451,70481,70510,70540,70570,70599,70629,70658,70687,70717,70746,70776,70805,70835,70864,70894,70924,70954,70983,71013,71042,71071,71101,71130,71159,71189,71218,71248,71278,71308,71337,71367,71397,71426,71455,71485,71514,71543,71573,71602,71632,71662,71691,71721,71751,71781,71810,71839,71869,71898,71927,71957,71986,72016,72046,72075,72105,72135,72164,72194,72223,72253,72282,72311,72341,72370,72400,72429,72459,72489,72518,72548,72577,72607,72637,72666,72695,72725,72754,72784,72813,72843,72872,72902,72931,72961,72991,73020,73050,73080,73109,73139,73168,73197,73227,73256,73286,73315,73345,73375,73404,73434,73464,73493,73523,73552,73581,73611,73640,73669,73699,73729,73758,73788,73818,73848,73877,73907,73936,73965,73995,74024,74053,74083,74113,74142,74172,74202,74231,74261,74291,74320,74349,74379,74408,74437,74467,74497,74526,74556,74586,74615,74645,74675,74704,74733,74763,74792,74822,74851,74881,74910,74940,74969,74999,75029,75058,75088,75117,75147,75176,75206,75235,75264,75294,75323,75353,75383,75412,75442,75472,75501,75531,75560,75590,75619,75648,75678,75707,75737,75766,75796,75826,75856,75885,75915,75944,75974,76003,76032,76062,76091,76121,76150,76180,76210,76239,76269,76299,76328,76358,76387,76416,76446,76475,76505,76534,76564,76593,76623,76653,76682,76712,76741,76771,76801,76830,76859,76889,76918,76948,76977,77007,77036,77066,77096,77125,77155,77185,77214,77243,77273,77302,77332,77361,77390,77420,77450,77479,77509,77539,77569,77598,77627,77657,77686,77715,77745,77774,77804,77833,77863,77893,77923,77952,77982,78011,78041,78070,78099,78129,78158,78188,78217,78247,78277,78307,78336,78366,78395,78425,78454,78483,78513,78542,78572,78601,78631,78661,78690,78720,78750,78779,78808,78838,78867,78897,78926,78956,78985,79015,79044,79074,79104,79133,79163,79192,79222,79251,79281,79310,79340,79369,79399,79428,79458,79487,79517,79546,79576,79606,79635,79665,79695,79724,79753,79783,79812,79841,79871,79900,79930,79960,79990]},{"../main":621,"object-assign":499}],621:[function(t,e,r){var n=t("object-assign");function i(){this.regionalOptions=[],this.regionalOptions[""]={invalidCalendar:"Calendar {0} not found",invalidDate:"Invalid {0} date",invalidMonth:"Invalid {0} month",invalidYear:"Invalid {0} year",differentCalendars:"Cannot mix {0} and {1} dates"},this.local=this.regionalOptions[""],this.calendars={},this._localCals={}}function a(t,e,r,n){if(this._calendar=t,this._year=e,this._month=r,this._day=n,0===this._calendar._validateLevel&&!this._calendar.isValid(this._year,this._month,this._day))throw(c.local.invalidDate||c.regionalOptions[""].invalidDate).replace(/\{0\}/,this._calendar.local.name)}function o(t,e){return"000000".substring(0,e-(t=""+t).length)+t}function s(){this.shortYearCutoff="+10"}function l(t){this.local=this.regionalOptions[t]||this.regionalOptions[""]}n(i.prototype,{instance:function(t,e){t=(t||"gregorian").toLowerCase(),e=e||"";var r=this._localCals[t+"-"+e];if(!r&&this.calendars[t]&&(r=new this.calendars[t](e),this._localCals[t+"-"+e]=r),!r)throw(this.local.invalidCalendar||this.regionalOptions[""].invalidCalendar).replace(/\{0\}/,t);return r},newDate:function(t,e,r,n,i){return(n=(null!=t&&t.year?t.calendar():"string"==typeof n?this.instance(n,i):n)||this.instance()).newDate(t,e,r)},substituteDigits:function(t){return function(e){return(e+"").replace(/[0-9]/g,(function(e){return t[e]}))}},substituteChineseDigits:function(t,e){return function(r){for(var n="",i=0;r>0;){var a=r%10;n=(0===a?"":t[a]+e[i])+n,i++,r=Math.floor(r/10)}return 0===n.indexOf(t[1]+e[1])&&(n=n.substr(1)),n||t[0]}}}),n(a.prototype,{newDate:function(t,e,r){return this._calendar.newDate(null==t?this:t,e,r)},year:function(t){return 0===arguments.length?this._year:this.set(t,"y")},month:function(t){return 0===arguments.length?this._month:this.set(t,"m")},day:function(t){return 0===arguments.length?this._day:this.set(t,"d")},date:function(t,e,r){if(!this._calendar.isValid(t,e,r))throw(c.local.invalidDate||c.regionalOptions[""].invalidDate).replace(/\{0\}/,this._calendar.local.name);return this._year=t,this._month=e,this._day=r,this},leapYear:function(){return this._calendar.leapYear(this)},epoch:function(){return this._calendar.epoch(this)},formatYear:function(){return this._calendar.formatYear(this)},monthOfYear:function(){return this._calendar.monthOfYear(this)},weekOfYear:function(){return this._calendar.weekOfYear(this)},daysInYear:function(){return this._calendar.daysInYear(this)},dayOfYear:function(){return this._calendar.dayOfYear(this)},daysInMonth:function(){return this._calendar.daysInMonth(this)},dayOfWeek:function(){return this._calendar.dayOfWeek(this)},weekDay:function(){return this._calendar.weekDay(this)},extraInfo:function(){return this._calendar.extraInfo(this)},add:function(t,e){return this._calendar.add(this,t,e)},set:function(t,e){return this._calendar.set(this,t,e)},compareTo:function(t){if(this._calendar.name!==t._calendar.name)throw(c.local.differentCalendars||c.regionalOptions[""].differentCalendars).replace(/\{0\}/,this._calendar.local.name).replace(/\{1\}/,t._calendar.local.name);var e=this._year!==t._year?this._year-t._year:this._month!==t._month?this.monthOfYear()-t.monthOfYear():this._day-t._day;return 0===e?0:e<0?-1:1},calendar:function(){return this._calendar},toJD:function(){return this._calendar.toJD(this)},fromJD:function(t){return this._calendar.fromJD(t)},toJSDate:function(){return this._calendar.toJSDate(this)},fromJSDate:function(t){return this._calendar.fromJSDate(t)},toString:function(){return(this.year()<0?"-":"")+o(Math.abs(this.year()),4)+"-"+o(this.month(),2)+"-"+o(this.day(),2)}}),n(s.prototype,{_validateLevel:0,newDate:function(t,e,r){return null==t?this.today():(t.year&&(this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[""].invalidDate),r=t.day(),e=t.month(),t=t.year()),new a(this,t,e,r))},today:function(){return this.fromJSDate(new Date)},epoch:function(t){return this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[""].invalidYear).year()<0?this.local.epochs[0]:this.local.epochs[1]},formatYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[""].invalidYear);return(e.year()<0?"-":"")+o(Math.abs(e.year()),4)},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[""].invalidYear),12},monthOfYear:function(t,e){var r=this._validate(t,e,this.minDay,c.local.invalidMonth||c.regionalOptions[""].invalidMonth);return(r.month()+this.monthsInYear(r)-this.firstMonth)%this.monthsInYear(r)+this.minMonth},fromMonthOfYear:function(t,e){var r=(e+this.firstMonth-2*this.minMonth)%this.monthsInYear(t)+this.minMonth;return this._validate(t,r,this.minDay,c.local.invalidMonth||c.regionalOptions[""].invalidMonth),r},daysInYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[""].invalidYear);return this.leapYear(e)?366:365},dayOfYear:function(t,e,r){var n=this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[""].invalidDate);return n.toJD()-this.newDate(n.year(),this.fromMonthOfYear(n.year(),this.minMonth),this.minDay).toJD()+1},daysInWeek:function(){return 7},dayOfWeek:function(t,e,r){var n=this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[""].invalidDate);return(Math.floor(this.toJD(n))+2)%this.daysInWeek()},extraInfo:function(t,e,r){return this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[""].invalidDate),{}},add:function(t,e,r){return this._validate(t,this.minMonth,this.minDay,c.local.invalidDate||c.regionalOptions[""].invalidDate),this._correctAdd(t,this._add(t,e,r),e,r)},_add:function(t,e,r){if(this._validateLevel++,"d"===r||"w"===r){var n=t.toJD()+e*("w"===r?this.daysInWeek():1),i=t.calendar().fromJD(n);return this._validateLevel--,[i.year(),i.month(),i.day()]}try{var a=t.year()+("y"===r?e:0),o=t.monthOfYear()+("m"===r?e:0);i=t.day();"y"===r?(t.month()!==this.fromMonthOfYear(a,o)&&(o=this.newDate(a,t.month(),this.minDay).monthOfYear()),o=Math.min(o,this.monthsInYear(a)),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o)))):"m"===r&&(!function(t){for(;o<t.minMonth;)a--,o+=t.monthsInYear(a);for(var e=t.monthsInYear(a);o>e-1+t.minMonth;)a++,o-=e,e=t.monthsInYear(a)}(this),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o))));var s=[a,this.fromMonthOfYear(a,o),i];return this._validateLevel--,s}catch(t){throw this._validateLevel--,t}},_correctAdd:function(t,e,r,n){if(!(this.hasYearZero||"y"!==n&&"m"!==n||0!==e[0]&&t.year()>0==e[0]>0)){var i={y:[1,1,"y"],m:[1,this.monthsInYear(-1),"m"],w:[this.daysInWeek(),this.daysInYear(-1),"d"],d:[1,this.daysInYear(-1),"d"]}[n],a=r<0?-1:1;e=this._add(t,r*i[0]+a*i[1],i[2])}return t.date(e[0],e[1],e[2])},set:function(t,e,r){this._validate(t,this.minMonth,this.minDay,c.local.invalidDate||c.regionalOptions[""].invalidDate);var n="y"===r?e:t.year(),i="m"===r?e:t.month(),a="d"===r?e:t.day();return"y"!==r&&"m"!==r||(a=Math.min(a,this.daysInMonth(n,i))),t.date(n,i,a)},isValid:function(t,e,r){this._validateLevel++;var n=this.hasYearZero||0!==t;if(n){var i=this.newDate(t,e,this.minDay);n=e>=this.minMonth&&e-this.minMonth<this.monthsInYear(i)&&r>=this.minDay&&r-this.minDay<this.daysInMonth(i)}return this._validateLevel--,n},toJSDate:function(t,e,r){var n=this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[""].invalidDate);return c.instance().fromJD(this.toJD(n)).toJSDate()},fromJSDate:function(t){return this.fromJD(c.instance().fromJSDate(t).toJD())},_validate:function(t,e,r,n){if(t.year){if(0===this._validateLevel&&this.name!==t.calendar().name)throw(c.local.differentCalendars||c.regionalOptions[""].differentCalendars).replace(/\{0\}/,this.local.name).replace(/\{1\}/,t.calendar().local.name);return t}try{if(this._validateLevel++,1===this._validateLevel&&!this.isValid(t,e,r))throw n.replace(/\{0\}/,this.local.name);var i=this.newDate(t,e,r);return this._validateLevel--,i}catch(t){throw this._validateLevel--,t}}}),l.prototype=new s,n(l.prototype,{name:"Gregorian",jdEpoch:1721425.5,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Gregorian",epochs:["BCE","CE"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"mm/dd/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[""].invalidYear);return(t=e.year()+(e.year()<0?1:0))%4==0&&(t%100!=0||t%400==0)},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(4-(n.dayOfWeek()||7),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,c.local.invalidMonth||c.regionalOptions[""].invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var n=this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[""].invalidDate);t=n.year(),e=n.month(),r=n.day(),t<0&&t++,e<3&&(e+=12,t--);var i=Math.floor(t/100),a=2-i+Math.floor(i/4);return Math.floor(365.25*(t+4716))+Math.floor(30.6001*(e+1))+r+a-1524.5},fromJD:function(t){var e=Math.floor(t+.5),r=Math.floor((e-1867216.25)/36524.25),n=(r=e+1+r-Math.floor(r/4))+1524,i=Math.floor((n-122.1)/365.25),a=Math.floor(365.25*i),o=Math.floor((n-a)/30.6001),s=n-a-Math.floor(30.6001*o),l=o-(o>13.5?13:1),c=i-(l>2.5?4716:4715);return c<=0&&c--,this.newDate(c,l,s)},toJSDate:function(t,e,r){var n=this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[""].invalidDate),i=new Date(n.year(),n.month()-1,n.day());return i.setHours(0),i.setMinutes(0),i.setSeconds(0),i.setMilliseconds(0),i.setHours(i.getHours()>12?i.getHours()+2:0),i},fromJSDate:function(t){return this.newDate(t.getFullYear(),t.getMonth()+1,t.getDate())}});var c=e.exports=new i;c.cdate=a,c.baseCalendar=s,c.calendars.gregorian=l},{"object-assign":499}],622:[function(t,e,r){var n=t("object-assign"),i=t("./main");n(i.regionalOptions[""],{invalidArguments:"Invalid arguments",invalidFormat:"Cannot format a date from another calendar",missingNumberAt:"Missing number at position {0}",unknownNameAt:"Unknown name at position {0}",unexpectedLiteralAt:"Unexpected literal at position {0}",unexpectedText:"Additional text found at end"}),i.local=i.regionalOptions[""],n(i.cdate.prototype,{formatDate:function(t,e){return"string"!=typeof t&&(e=t,t=""),this._calendar.formatDate(t||"",this,e)}}),n(i.baseCalendar.prototype,{UNIX_EPOCH:i.instance().newDate(1970,1,1).toJD(),SECS_PER_DAY:86400,TICKS_EPOCH:i.instance().jdEpoch,TICKS_PER_DAY:864e9,ATOM:"yyyy-mm-dd",COOKIE:"D, dd M yyyy",FULL:"DD, MM d, yyyy",ISO_8601:"yyyy-mm-dd",JULIAN:"J",RFC_822:"D, d M yy",RFC_850:"DD, dd-M-yy",RFC_1036:"D, d M yy",RFC_1123:"D, d M yyyy",RFC_2822:"D, d M yyyy",RSS:"D, d M yy",TICKS:"!",TIMESTAMP:"@",W3C:"yyyy-mm-dd",formatDate:function(t,e,r){if("string"!=typeof t&&(r=e,e=t,t=""),!e)return"";if(e.calendar()!==this)throw i.local.invalidFormat||i.regionalOptions[""].invalidFormat;t=t||this.local.dateFormat;for(var n,a,o,s,l=(r=r||{}).dayNamesShort||this.local.dayNamesShort,c=r.dayNames||this.local.dayNames,u=r.monthNumbers||this.local.monthNumbers,f=r.monthNamesShort||this.local.monthNamesShort,h=r.monthNames||this.local.monthNames,p=(r.calculateWeek||this.local.calculateWeek,function(e,r){for(var n=1;w+n<t.length&&t.charAt(w+n)===e;)n++;return w+=n-1,Math.floor(n/(r||1))>1}),d=function(t,e,r,n){var i=""+e;if(p(t,n))for(;i.length<r;)i="0"+i;return i},g=this,m=function(t){return"function"==typeof u?u.call(g,t,p("m")):x(d("m",t.month(),2))},v=function(t,e){return e?"function"==typeof h?h.call(g,t):h[t.month()-g.minMonth]:"function"==typeof f?f.call(g,t):f[t.month()-g.minMonth]},y=this.local.digits,x=function(t){return r.localNumbers&&y?y(t):t},b="",_=!1,w=0;w<t.length;w++)if(_)"'"!==t.charAt(w)||p("'")?b+=t.charAt(w):_=!1;else switch(t.charAt(w)){case"d":b+=x(d("d",e.day(),2));break;case"D":b+=(n="D",a=e.dayOfWeek(),o=l,s=c,p(n)?s[a]:o[a]);break;case"o":b+=d("o",e.dayOfYear(),3);break;case"w":b+=d("w",e.weekOfYear(),2);break;case"m":b+=m(e);break;case"M":b+=v(e,p("M"));break;case"y":b+=p("y",2)?e.year():(e.year()%100<10?"0":"")+e.year()%100;break;case"Y":p("Y",2),b+=e.formatYear();break;case"J":b+=e.toJD();break;case"@":b+=(e.toJD()-this.UNIX_EPOCH)*this.SECS_PER_DAY;break;case"!":b+=(e.toJD()-this.TICKS_EPOCH)*this.TICKS_PER_DAY;break;case"'":p("'")?b+="'":_=!0;break;default:b+=t.charAt(w)}return b},parseDate:function(t,e,r){if(null==e)throw i.local.invalidArguments||i.regionalOptions[""].invalidArguments;if(""===(e="object"==typeof e?e.toString():e+""))return null;t=t||this.local.dateFormat;var n=(r=r||{}).shortYearCutoff||this.shortYearCutoff;n="string"!=typeof n?n:this.today().year()%100+parseInt(n,10);for(var a=r.dayNamesShort||this.local.dayNamesShort,o=r.dayNames||this.local.dayNames,s=r.parseMonth||this.local.parseMonth,l=r.monthNumbers||this.local.monthNumbers,c=r.monthNamesShort||this.local.monthNamesShort,u=r.monthNames||this.local.monthNames,f=-1,h=-1,p=-1,d=-1,g=-1,m=!1,v=!1,y=function(e,r){for(var n=1;A+n<t.length&&t.charAt(A+n)===e;)n++;return A+=n-1,Math.floor(n/(r||1))>1},x=function(t,r){var n=y(t,r),a=[2,3,n?4:2,n?4:2,10,11,20]["oyYJ@!".indexOf(t)+1],o=new RegExp("^-?\\d{1,"+a+"}"),s=e.substring(M).match(o);if(!s)throw(i.local.missingNumberAt||i.regionalOptions[""].missingNumberAt).replace(/\{0\}/,M);return M+=s[0].length,parseInt(s[0],10)},b=this,_=function(){if("function"==typeof l){y("m");var t=l.call(b,e.substring(M));return M+=t.length,t}return x("m")},w=function(t,r,n,a){for(var o=y(t,a)?n:r,s=0;s<o.length;s++)if(e.substr(M,o[s].length).toLowerCase()===o[s].toLowerCase())return M+=o[s].length,s+b.minMonth;throw(i.local.unknownNameAt||i.regionalOptions[""].unknownNameAt).replace(/\{0\}/,M)},T=function(){if("function"==typeof u){var t=y("M")?u.call(b,e.substring(M)):c.call(b,e.substring(M));return M+=t.length,t}return w("M",c,u)},k=function(){if(e.charAt(M)!==t.charAt(A))throw(i.local.unexpectedLiteralAt||i.regionalOptions[""].unexpectedLiteralAt).replace(/\{0\}/,M);M++},M=0,A=0;A<t.length;A++)if(v)"'"!==t.charAt(A)||y("'")?k():v=!1;else switch(t.charAt(A)){case"d":d=x("d");break;case"D":w("D",a,o);break;case"o":g=x("o");break;case"w":x("w");break;case"m":p=_();break;case"M":p=T();break;case"y":var S=A;m=!y("y",2),A=S,h=x("y",2);break;case"Y":h=x("Y",2);break;case"J":f=x("J")+.5,"."===e.charAt(M)&&(M++,x("J"));break;case"@":f=x("@")/this.SECS_PER_DAY+this.UNIX_EPOCH;break;case"!":f=x("!")/this.TICKS_PER_DAY+this.TICKS_EPOCH;break;case"*":M=e.length;break;case"'":y("'")?k():v=!0;break;default:k()}if(M<e.length)throw i.local.unexpectedText||i.regionalOptions[""].unexpectedText;if(-1===h?h=this.today().year():h<100&&m&&(h+=-1===n?1900:this.today().year()-this.today().year()%100-(h<=n?0:100)),"string"==typeof p&&(p=s.call(this,h,p)),g>-1){p=1,d=g;for(var E=this.daysInMonth(h,p);d>E;E=this.daysInMonth(h,p))p++,d-=E}return f>-1?this.fromJD(f):this.newDate(h,p,d)},determineDate:function(t,e,r,n,i){r&&"object"!=typeof r&&(i=n,n=r,r=null),"string"!=typeof n&&(i=n,n="");var a=this;return e=e?e.newDate():null,t=null==t?e:"string"==typeof t?function(t){try{return a.parseDate(n,t,i)}catch(t){}for(var e=((t=t.toLowerCase()).match(/^c/)&&r?r.newDate():null)||a.today(),o=/([+-]?[0-9]+)\s*(d|w|m|y)?/g,s=o.exec(t);s;)e.add(parseInt(s[1],10),s[2]||"d"),s=o.exec(t);return e}(t):"number"==typeof t?isNaN(t)||t===1/0||t===-1/0?e:a.today().add(t,"d"):a.newDate(t)}})},{"./main":621,"object-assign":499}],623:[function(t,e,r){e.exports=t("cwise-compiler")({args:["array",{offset:[1],array:0},"scalar","scalar","index"],pre:{body:"{}",args:[],thisVars:[],localVars:[]},post:{body:"{}",args:[],thisVars:[],localVars:[]},body:{body:"{\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 >= 0) !== (_inline_1_db >= 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 }",args:[{name:"_inline_1_arg0_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_1_arg1_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_1_arg2_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_1_arg3_",lvalue:!1,rvalue:!0,count:2},{name:"_inline_1_arg4_",lvalue:!1,rvalue:!0,count:1}],thisVars:[],localVars:["_inline_1_da","_inline_1_db"]},funcName:"zeroCrossings"})},{"cwise-compiler":151}],624:[function(t,e,r){"use strict";e.exports=function(t,e){var r=[];return e=+e||0,n(t.hi(t.shape[0]-1),r,e),r};var n=t("./lib/zc-core")},{"./lib/zc-core":623}],625:[function(t,e,r){"use strict";e.exports=[{path:"",backoff:0},{path:"M-2.4,-3V3L0.6,0Z",backoff:.6},{path:"M-3.7,-2.5V2.5L1.3,0Z",backoff:1.3},{path:"M-4.45,-3L-1.65,-0.2V0.2L-4.45,3L1.55,0Z",backoff:1.55},{path:"M-2.2,-2.2L-0.2,-0.2V0.2L-2.2,2.2L-1.4,3L1.6,0L-1.4,-3Z",backoff:1.6},{path:"M-4.4,-2.1L-0.6,-0.2V0.2L-4.4,2.1L-4,3L2,0L-4,-3Z",backoff:2},{path:"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z",backoff:0,noRotate:!0},{path:"M2,2V-2H-2V2Z",backoff:0,noRotate:!0}]},{}],626:[function(t,e,r){"use strict";var n=t("./arrow_paths"),i=t("../../plots/font_attributes"),a=t("../../plots/cartesian/constants"),o=t("../../plot_api/plot_template").templatedArray;t("../../constants/axis_placeable_objects");e.exports=o("annotation",{visible:{valType:"boolean",dflt:!0,editType:"calc+arraydraw"},text:{valType:"string",editType:"calc+arraydraw"},textangle:{valType:"angle",dflt:0,editType:"calc+arraydraw"},font:i({editType:"calc+arraydraw",colorEditType:"arraydraw"}),width:{valType:"number",min:1,dflt:null,editType:"calc+arraydraw"},height:{valType:"number",min:1,dflt:null,editType:"calc+arraydraw"},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"arraydraw"},align:{valType:"enumerated",values:["left","center","right"],dflt:"center",editType:"arraydraw"},valign:{valType:"enumerated",values:["top","middle","bottom"],dflt:"middle",editType:"arraydraw"},bgcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"arraydraw"},bordercolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"arraydraw"},borderpad:{valType:"number",min:0,dflt:1,editType:"calc+arraydraw"},borderwidth:{valType:"number",min:0,dflt:1,editType:"calc+arraydraw"},showarrow:{valType:"boolean",dflt:!0,editType:"calc+arraydraw"},arrowcolor:{valType:"color",editType:"arraydraw"},arrowhead:{valType:"integer",min:0,max:n.length,dflt:1,editType:"arraydraw"},startarrowhead:{valType:"integer",min:0,max:n.length,dflt:1,editType:"arraydraw"},arrowside:{valType:"flaglist",flags:["end","start"],extras:["none"],dflt:"end",editType:"arraydraw"},arrowsize:{valType:"number",min:.3,dflt:1,editType:"calc+arraydraw"},startarrowsize:{valType:"number",min:.3,dflt:1,editType:"calc+arraydraw"},arrowwidth:{valType:"number",min:.1,editType:"calc+arraydraw"},standoff:{valType:"number",min:0,dflt:0,editType:"calc+arraydraw"},startstandoff:{valType:"number",min:0,dflt:0,editType:"calc+arraydraw"},ax:{valType:"any",editType:"calc+arraydraw"},ay:{valType:"any",editType:"calc+arraydraw"},axref:{valType:"enumerated",dflt:"pixel",values:["pixel",a.idRegex.x.toString()],editType:"calc"},ayref:{valType:"enumerated",dflt:"pixel",values:["pixel",a.idRegex.y.toString()],editType:"calc"},xref:{valType:"enumerated",values:["paper",a.idRegex.x.toString()],editType:"calc"},x:{valType:"any",editType:"calc+arraydraw"},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"auto",editType:"calc+arraydraw"},xshift:{valType:"number",dflt:0,editType:"calc+arraydraw"},yref:{valType:"enumerated",values:["paper",a.idRegex.y.toString()],editType:"calc"},y:{valType:"any",editType:"calc+arraydraw"},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"auto",editType:"calc+arraydraw"},yshift:{valType:"number",dflt:0,editType:"calc+arraydraw"},clicktoshow:{valType:"enumerated",values:[!1,"onoff","onout"],dflt:!1,editType:"arraydraw"},xclick:{valType:"any",editType:"arraydraw"},yclick:{valType:"any",editType:"arraydraw"},hovertext:{valType:"string",editType:"arraydraw"},hoverlabel:{bgcolor:{valType:"color",editType:"arraydraw"},bordercolor:{valType:"color",editType:"arraydraw"},font:i({editType:"arraydraw"}),editType:"arraydraw"},captureevents:{valType:"boolean",editType:"arraydraw"},editType:"calc",_deprecated:{ref:{valType:"string",editType:"calc"}}})},{"../../constants/axis_placeable_objects":746,"../../plot_api/plot_template":817,"../../plots/cartesian/constants":834,"../../plots/font_attributes":856,"./arrow_paths":625}],627:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../plots/cartesian/axes"),a=t("./draw").draw;function o(t){var e=t._fullLayout;n.filterVisible(e.annotations).forEach((function(e){var r=i.getFromId(t,e.xref),n=i.getFromId(t,e.yref),a=i.getRefType(e.xref),o=i.getRefType(e.yref);e._extremes={},"range"===a&&s(e,r),"range"===o&&s(e,n)}))}function s(t,e){var r,n=e._id,a=n.charAt(0),o=t[a],s=t["a"+a],l=t[a+"ref"],c=t["a"+a+"ref"],u=t["_"+a+"padplus"],f=t["_"+a+"padminus"],h={x:1,y:-1}[a]*t[a+"shift"],p=3*t.arrowsize*t.arrowwidth||0,d=p+h,g=p-h,m=3*t.startarrowsize*t.arrowwidth||0,v=m+h,y=m-h;if(c===l){var x=i.findExtremes(e,[e.r2c(o)],{ppadplus:d,ppadminus:g}),b=i.findExtremes(e,[e.r2c(s)],{ppadplus:Math.max(u,v),ppadminus:Math.max(f,y)});r={min:[x.min[0],b.min[0]],max:[x.max[0],b.max[0]]}}else v=s?v+s:v,y=s?y-s:y,r=i.findExtremes(e,[e.r2c(o)],{ppadplus:Math.max(u,d,v),ppadminus:Math.max(f,g,y)});t._extremes[n]=r}e.exports=function(t){var e=t._fullLayout;if(n.filterVisible(e.annotations).length&&t._fullData.length)return n.syncOrAsync([a,o],t)}},{"../../lib":778,"../../plots/cartesian/axes":828,"./draw":632}],628:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../registry"),a=t("../../plot_api/plot_template").arrayEditor;function o(t,e){var r,n,i,a,o,l,c,u=t._fullLayout.annotations,f=[],h=[],p=[],d=(e||[]).length;for(r=0;r<u.length;r++)if(a=(i=u[r]).clicktoshow){for(n=0;n<d;n++)if(l=(o=e[n]).xaxis,c=o.yaxis,l._id===i.xref&&c._id===i.yref&&l.d2r(o.x)===s(i._xclick,l)&&c.d2r(o.y)===s(i._yclick,c)){(i.visible?"onout"===a?h:p:f).push(r);break}n===d&&i.visible&&"onout"===a&&h.push(r)}return{on:f,off:h,explicitOff:p}}function s(t,e){return"log"===e.type?e.l2r(t):e.d2r(t)}e.exports={hasClickToShow:function(t,e){var r=o(t,e);return r.on.length>0||r.explicitOff.length>0},onClick:function(t,e){var r,s,l=o(t,e),c=l.on,u=l.off.concat(l.explicitOff),f={},h=t._fullLayout.annotations;if(!c.length&&!u.length)return;for(r=0;r<c.length;r++)(s=a(t.layout,"annotations",h[c[r]])).modifyItem("visible",!0),n.extendFlat(f,s.getUpdateObj());for(r=0;r<u.length;r++)(s=a(t.layout,"annotations",h[u[r]])).modifyItem("visible",!1),n.extendFlat(f,s.getUpdateObj());return i.call("update",t,{},f)}}},{"../../lib":778,"../../plot_api/plot_template":817,"../../registry":911}],629:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../color");e.exports=function(t,e,r,a){a("opacity");var o=a("bgcolor"),s=a("bordercolor"),l=i.opacity(s);a("borderpad");var c=a("borderwidth"),u=a("showarrow");if(a("text",u?" ":r._dfltTitle.annotation),a("textangle"),n.coerceFont(a,"font",r.font),a("width"),a("align"),a("height")&&a("valign"),u){var f,h,p=a("arrowside");-1!==p.indexOf("end")&&(f=a("arrowhead"),h=a("arrowsize")),-1!==p.indexOf("start")&&(a("startarrowhead",f),a("startarrowsize",h)),a("arrowcolor",l?e.bordercolor:i.defaultLine),a("arrowwidth",2*(l&&c||1)),a("standoff"),a("startstandoff")}var d=a("hovertext"),g=r.hoverlabel||{};if(d){var m=a("hoverlabel.bgcolor",g.bgcolor||(i.opacity(o)?i.rgb(o):i.defaultLine)),v=a("hoverlabel.bordercolor",g.bordercolor||i.contrast(m));n.coerceFont(a,"hoverlabel.font",{family:g.font.family,size:g.font.size,color:g.font.color||v})}a("captureevents",!!d)}},{"../../lib":778,"../color":643}],630:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../lib/to_log_range");e.exports=function(t,e,r,a){e=e||{};var o="log"===r&&"linear"===e.type,s="linear"===r&&"log"===e.type;if(o||s)for(var l,c,u=t._fullLayout.annotations,f=e._id.charAt(0),h=0;h<u.length;h++)l=u[h],c="annotations["+h+"].",l[f+"ref"]===e._id&&p(f),l["a"+f+"ref"]===e._id&&p("a"+f);function p(t){var r=l[t],s=null;s=o?i(r,e.range):Math.pow(10,r),n(s)||(s=null),a(c+t,s)}}},{"../../lib/to_log_range":805,"fast-isnumeric":241}],631:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../plots/cartesian/axes"),a=t("../../plots/array_container_defaults"),o=t("./common_defaults"),s=t("./attributes");function l(t,e,r){function a(r,i){return n.coerce(t,e,s,r,i)}var l=a("visible"),c=a("clicktoshow");if(l||c){o(t,e,r,a);for(var u=e.showarrow,f=["x","y"],h=[-10,-30],p={_fullLayout:r},d=0;d<2;d++){var g=f[d],m=i.coerceRef(t,e,p,g,"","paper");if("paper"!==m)i.getFromId(p,m)._annIndices.push(e._index);if(i.coercePosition(e,p,a,m,g,.5),u){var v="a"+g,y=i.coerceRef(t,e,p,v,"pixel",["pixel","paper"]);"pixel"!==y&&y!==m&&(y=e[v]="pixel");var x="pixel"===y?h[d]:.4;i.coercePosition(e,p,a,y,v,x)}a(g+"anchor"),a(g+"shift")}if(n.noneOrAll(t,e,["x","y"]),u&&n.noneOrAll(t,e,["ax","ay"]),c){var b=a("xclick"),_=a("yclick");e._xclick=void 0===b?e.x:i.cleanPosition(b,p,e.xref),e._yclick=void 0===_?e.y:i.cleanPosition(_,p,e.yref)}}}e.exports=function(t,e){a(t,e,{name:"annotations",handleItemDefaults:l})}},{"../../lib":778,"../../plots/array_container_defaults":823,"../../plots/cartesian/axes":828,"./attributes":626,"./common_defaults":629}],632:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../registry"),a=t("../../plots/plots"),o=t("../../lib"),s=o.strTranslate,l=t("../../plots/cartesian/axes"),c=t("../color"),u=t("../drawing"),f=t("../fx"),h=t("../../lib/svg_text_utils"),p=t("../../lib/setcursor"),d=t("../dragelement"),g=t("../../plot_api/plot_template").arrayEditor,m=t("./draw_arrow_head");function v(t,e){var r=t._fullLayout.annotations[e]||{},n=l.getFromId(t,r.xref),i=l.getFromId(t,r.yref);n&&n.setScale(),i&&i.setScale(),x(t,r,e,!1,n,i)}function y(t,e,r,n,i){var a=i[r],o=i[r+"ref"],s=-1!==r.indexOf("y"),c="domain"===l.getRefType(o),u=s?n.h:n.w;return t?c?a+(s?-e:e)/t._length:t.p2r(t.r2p(a)+e):a+(s?-e:e)/u}function x(t,e,r,a,v,x){var b,_,w=t._fullLayout,T=t._fullLayout._size,k=t._context.edits;a?(b="annotation-"+a,_=a+".annotations"):(b="annotation",_="annotations");var M=g(t.layout,_,e),A=M.modifyBase,S=M.modifyItem,E=M.getUpdateObj;w._infolayer.selectAll("."+b+'[data-index="'+r+'"]').remove();var C="clip"+w._uid+"_ann"+r;if(e._input&&!1!==e.visible){var L={x:{},y:{}},I=+e.textangle||0,P=w._infolayer.append("g").classed(b,!0).attr("data-index",String(r)).style("opacity",e.opacity),z=P.append("g").classed("annotation-text-g",!0),O=k[e.showarrow?"annotationTail":"annotationPosition"],D=e.captureevents||k.annotationText||O,R=z.append("g").style("pointer-events",D?"all":null).call(p,"pointer").on("click",(function(){t._dragging=!1,t.emit("plotly_clickannotation",Y(n.event))}));e.hovertext&&R.on("mouseover",(function(){var r=e.hoverlabel,n=r.font,i=this.getBoundingClientRect(),a=t.getBoundingClientRect();f.loneHover({x0:i.left-a.left,x1:i.right-a.left,y:(i.top+i.bottom)/2-a.top,text:e.hovertext,color:r.bgcolor,borderColor:r.bordercolor,fontFamily:n.family,fontSize:n.size,fontColor:n.color},{container:w._hoverlayer.node(),outerContainer:w._paper.node(),gd:t})})).on("mouseout",(function(){f.loneUnhover(w._hoverlayer.node())}));var F=e.borderwidth,B=e.borderpad,N=F+B,j=R.append("rect").attr("class","bg").style("stroke-width",F+"px").call(c.stroke,e.bordercolor).call(c.fill,e.bgcolor),U=e.width||e.height,V=w._topclips.selectAll("#"+C).data(U?[0]:[]);V.enter().append("clipPath").classed("annclip",!0).attr("id",C).append("rect"),V.exit().remove();var q=e.font,H=w._meta?o.templateString(e.text,w._meta):e.text,G=R.append("text").classed("annotation-text",!0).text(H);k.annotationText?G.call(h.makeEditable,{delegate:R,gd:t}).call(W).on("edit",(function(r){e.text=r,this.call(W),S("text",r),v&&v.autorange&&A(v._name+".autorange",!0),x&&x.autorange&&A(x._name+".autorange",!0),i.call("_guiRelayout",t,E())})):G.call(W)}else n.selectAll("#"+C).remove();function Y(t){var n={index:r,annotation:e._input,fullAnnotation:e,event:t};return a&&(n.subplotId=a),n}function W(r){return r.call(u.font,q).attr({"text-anchor":{left:"start",right:"end"}[e.align]||"middle"}),h.convertToTspans(r,t,X),r}function X(){var r=G.selectAll("a");1===r.size()&&r.text()===G.text()&&R.insert("a",":first-child").attr({"xlink:xlink:href":r.attr("xlink:href"),"xlink:xlink:show":r.attr("xlink:show")}).style({cursor:"pointer"}).node().appendChild(j.node());var n=R.select(".annotation-text-math-group"),f=!n.empty(),g=u.bBox((f?n:G).node()),b=g.width,_=g.height,M=e.width||b,D=e.height||_,B=Math.round(M+2*N),q=Math.round(D+2*N);function H(t,e){return"auto"===e&&(e=t<1/3?"left":t>2/3?"right":"center"),{center:0,middle:0,left:.5,bottom:-.5,right:-.5,top:.5}[e]}for(var W=!1,X=["x","y"],Z=0;Z<X.length;Z++){var J,K,Q,$,tt,et=X[Z],rt=e[et+"ref"]||et,nt=e["a"+et+"ref"],it={x:v,y:x}[et],at=(I+("x"===et?0:-90))*Math.PI/180,ot=B*Math.cos(at),st=q*Math.sin(at),lt=Math.abs(ot)+Math.abs(st),ct=e[et+"anchor"],ut=e[et+"shift"]*("x"===et?1:-1),ft=L[et],ht=l.getRefType(rt);if(it&&"domain"!==ht){var pt=it.r2fraction(e[et]);(pt<0||pt>1)&&(nt===rt?((pt=it.r2fraction(e["a"+et]))<0||pt>1)&&(W=!0):W=!0),J=it._offset+it.r2p(e[et]),$=.5}else{var dt="domain"===ht;"x"===et?(Q=e[et],J=dt?it._offset+it._length*Q:J=T.l+T.w*Q):(Q=1-e[et],J=dt?it._offset+it._length*Q:J=T.t+T.h*Q),$=e.showarrow?.5:Q}if(e.showarrow){ft.head=J;var gt=e["a"+et];if(tt=ot*H(.5,e.xanchor)-st*H(.5,e.yanchor),nt===rt){var mt=l.getRefType(nt);"domain"===mt?("y"===et&&(gt=1-gt),ft.tail=it._offset+it._length*gt):"paper"===mt?"y"===et?(gt=1-gt,ft.tail=T.t+T.h*gt):ft.tail=T.l+T.w*gt:ft.tail=it._offset+it.r2p(gt),K=tt}else ft.tail=J+gt,K=tt+gt;ft.text=ft.tail+tt;var vt=w["x"===et?"width":"height"];if("paper"===rt&&(ft.head=o.constrain(ft.head,1,vt-1)),"pixel"===nt){var yt=-Math.max(ft.tail-3,ft.text),xt=Math.min(ft.tail+3,ft.text)-vt;yt>0?(ft.tail+=yt,ft.text+=yt):xt>0&&(ft.tail-=xt,ft.text-=xt)}ft.tail+=ut,ft.head+=ut}else K=tt=lt*H($,ct),ft.text=J+tt;ft.text+=ut,tt+=ut,K+=ut,e["_"+et+"padplus"]=lt/2+K,e["_"+et+"padminus"]=lt/2-K,e["_"+et+"size"]=lt,e["_"+et+"shift"]=tt}if(W)R.remove();else{var bt=0,_t=0;if("left"!==e.align&&(bt=(M-b)*("center"===e.align?.5:1)),"top"!==e.valign&&(_t=(D-_)*("middle"===e.valign?.5:1)),f)n.select("svg").attr({x:N+bt-1,y:N+_t}).call(u.setClipUrl,U?C:null,t);else{var wt=N+_t-g.top,Tt=N+bt-g.left;G.call(h.positionText,Tt,wt).call(u.setClipUrl,U?C:null,t)}V.select("rect").call(u.setRect,N,N,M,D),j.call(u.setRect,F/2,F/2,B-F,q-F),R.call(u.setTranslate,Math.round(L.x.text-B/2),Math.round(L.y.text-q/2)),z.attr({transform:"rotate("+I+","+L.x.text+","+L.y.text+")"});var kt,Mt=function(r,n){P.selectAll(".annotation-arrow-g").remove();var l=L.x.head,f=L.y.head,h=L.x.tail+r,p=L.y.tail+n,g=L.x.text+r,b=L.y.text+n,_=o.rotationXYMatrix(I,g,b),w=o.apply2DTransform(_),M=o.apply2DTransform2(_),C=+j.attr("width"),O=+j.attr("height"),D=g-.5*C,F=D+C,B=b-.5*O,N=B+O,U=[[D,B,D,N],[D,N,F,N],[F,N,F,B],[F,B,D,B]].map(M);if(!U.reduce((function(t,e){return t^!!o.segmentsIntersect(l,f,l+1e6,f+1e6,e[0],e[1],e[2],e[3])}),!1)){U.forEach((function(t){var e=o.segmentsIntersect(h,p,l,f,t[0],t[1],t[2],t[3]);e&&(h=e.x,p=e.y)}));var V=e.arrowwidth,q=e.arrowcolor,H=e.arrowside,G=P.append("g").style({opacity:c.opacity(q)}).classed("annotation-arrow-g",!0),Y=G.append("path").attr("d","M"+h+","+p+"L"+l+","+f).style("stroke-width",V+"px").call(c.stroke,c.rgb(q));if(m(Y,H,e),k.annotationPosition&&Y.node().parentNode&&!a){var W=l,X=f;if(e.standoff){var Z=Math.sqrt(Math.pow(l-h,2)+Math.pow(f-p,2));W+=e.standoff*(h-l)/Z,X+=e.standoff*(p-f)/Z}var J,K,Q=G.append("path").classed("annotation-arrow",!0).classed("anndrag",!0).classed("cursor-move",!0).attr({d:"M3,3H-3V-3H3ZM0,0L"+(h-W)+","+(p-X),transform:s(W,X)}).style("stroke-width",V+6+"px").call(c.stroke,"rgba(0,0,0,0)").call(c.fill,"rgba(0,0,0,0)");d.init({element:Q.node(),gd:t,prepFn:function(){var t=u.getTranslate(R);J=t.x,K=t.y,v&&v.autorange&&A(v._name+".autorange",!0),x&&x.autorange&&A(x._name+".autorange",!0)},moveFn:function(t,r){var n=w(J,K),i=n[0]+t,a=n[1]+r;R.call(u.setTranslate,i,a),S("x",y(v,t,"x",T,e)),S("y",y(x,r,"y",T,e)),e.axref===e.xref&&S("ax",y(v,t,"ax",T,e)),e.ayref===e.yref&&S("ay",y(x,r,"ay",T,e)),G.attr("transform",s(t,r)),z.attr({transform:"rotate("+I+","+i+","+a+")"})},doneFn:function(){i.call("_guiRelayout",t,E());var e=document.querySelector(".js-notes-box-panel");e&&e.redraw(e.selectedObj)}})}}};if(e.showarrow&&Mt(0,0),O)d.init({element:R.node(),gd:t,prepFn:function(){kt=z.attr("transform")},moveFn:function(t,r){var n="pointer";if(e.showarrow)e.axref===e.xref?S("ax",y(v,t,"ax",T,e)):S("ax",e.ax+t),e.ayref===e.yref?S("ay",y(x,r,"ay",T.w,e)):S("ay",e.ay+r),Mt(t,r);else{if(a)return;var i,o;if(v)i=y(v,t,"x",T,e);else{var l=e._xsize/T.w,c=e.x+(e._xshift-e.xshift)/T.w-l/2;i=d.align(c+t/T.w,l,0,1,e.xanchor)}if(x)o=y(x,r,"y",T,e);else{var u=e._ysize/T.h,f=e.y-(e._yshift+e.yshift)/T.h-u/2;o=d.align(f-r/T.h,u,0,1,e.yanchor)}S("x",i),S("y",o),v&&x||(n=d.getCursor(v?.5:i,x?.5:o,e.xanchor,e.yanchor))}z.attr({transform:s(t,r)+kt}),p(R,n)},clickFn:function(r,n){e.captureevents&&t.emit("plotly_clickannotation",Y(n))},doneFn:function(){p(R),i.call("_guiRelayout",t,E());var e=document.querySelector(".js-notes-box-panel");e&&e.redraw(e.selectedObj)}})}}}e.exports={draw:function(t){var e=t._fullLayout;e._infolayer.selectAll(".annotation").remove();for(var r=0;r<e.annotations.length;r++)e.annotations[r].visible&&v(t,r);return a.previousPromises(t)},drawOne:v,drawRaw:x}},{"../../lib":778,"../../lib/setcursor":799,"../../lib/svg_text_utils":803,"../../plot_api/plot_template":817,"../../plots/cartesian/axes":828,"../../plots/plots":891,"../../registry":911,"../color":643,"../dragelement":662,"../drawing":665,"../fx":683,"./draw_arrow_head":633,d3:169}],633:[function(t,e,r){"use strict";var n=t("d3"),i=t("../color"),a=t("./arrow_paths"),o=t("../../lib"),s=o.strScale,l=o.strRotate,c=o.strTranslate;e.exports=function(t,e,r){var o,u,f,h,p=t.node(),d=a[r.arrowhead||0],g=a[r.startarrowhead||0],m=(r.arrowwidth||1)*(r.arrowsize||1),v=(r.arrowwidth||1)*(r.startarrowsize||1),y=e.indexOf("start")>=0,x=e.indexOf("end")>=0,b=d.backoff*m+r.standoff,_=g.backoff*v+r.startstandoff;if("line"===p.nodeName){o={x:+t.attr("x1"),y:+t.attr("y1")},u={x:+t.attr("x2"),y:+t.attr("y2")};var w=o.x-u.x,T=o.y-u.y;if(h=(f=Math.atan2(T,w))+Math.PI,b&&_&&b+_>Math.sqrt(w*w+T*T))return void O();if(b){if(b*b>w*w+T*T)return void O();var k=b*Math.cos(f),M=b*Math.sin(f);u.x+=k,u.y+=M,t.attr({x2:u.x,y2:u.y})}if(_){if(_*_>w*w+T*T)return void O();var A=_*Math.cos(f),S=_*Math.sin(f);o.x-=A,o.y-=S,t.attr({x1:o.x,y1:o.y})}}else if("path"===p.nodeName){var E=p.getTotalLength(),C="";if(E<b+_)return void O();var L=p.getPointAtLength(0),I=p.getPointAtLength(.1);f=Math.atan2(L.y-I.y,L.x-I.x),o=p.getPointAtLength(Math.min(_,E)),C="0px,"+_+"px,";var P=p.getPointAtLength(E),z=p.getPointAtLength(E-.1);h=Math.atan2(P.y-z.y,P.x-z.x),u=p.getPointAtLength(Math.max(0,E-b)),C+=E-(C?_+b:b)+"px,"+E+"px",t.style("stroke-dasharray",C)}function O(){t.style("stroke-dasharray","0px,100px")}function D(e,a,o,u){e.path&&(e.noRotate&&(o=0),n.select(p.parentNode).append("path").attr({class:t.attr("class"),d:e.path,transform:c(a.x,a.y)+l(180*o/Math.PI)+s(u)}).style({fill:i.rgb(r.arrowcolor),"stroke-width":0}))}y&&D(g,o,f,v),x&&D(d,u,h,m)}},{"../../lib":778,"../color":643,"./arrow_paths":625,d3:169}],634:[function(t,e,r){"use strict";var n=t("./draw"),i=t("./click");e.exports={moduleType:"component",name:"annotations",layoutAttributes:t("./attributes"),supplyLayoutDefaults:t("./defaults"),includeBasePlot:t("../../plots/cartesian/include_components")("annotations"),calcAutorange:t("./calc_autorange"),draw:n.draw,drawOne:n.drawOne,drawRaw:n.drawRaw,hasClickToShow:i.hasClickToShow,onClick:i.onClick,convertCoords:t("./convert_coords")}},{"../../plots/cartesian/include_components":840,"./attributes":626,"./calc_autorange":627,"./click":628,"./convert_coords":630,"./defaults":631,"./draw":632}],635:[function(t,e,r){"use strict";var n=t("../annotations/attributes"),i=t("../../plot_api/edit_types").overrideAll,a=t("../../plot_api/plot_template").templatedArray;e.exports=i(a("annotation",{visible:n.visible,x:{valType:"any"},y:{valType:"any"},z:{valType:"any"},ax:{valType:"number"},ay:{valType:"number"},xanchor:n.xanchor,xshift:n.xshift,yanchor:n.yanchor,yshift:n.yshift,text:n.text,textangle:n.textangle,font:n.font,width:n.width,height:n.height,opacity:n.opacity,align:n.align,valign:n.valign,bgcolor:n.bgcolor,bordercolor:n.bordercolor,borderpad:n.borderpad,borderwidth:n.borderwidth,showarrow:n.showarrow,arrowcolor:n.arrowcolor,arrowhead:n.arrowhead,startarrowhead:n.startarrowhead,arrowside:n.arrowside,arrowsize:n.arrowsize,startarrowsize:n.startarrowsize,arrowwidth:n.arrowwidth,standoff:n.standoff,startstandoff:n.startstandoff,hovertext:n.hovertext,hoverlabel:n.hoverlabel,captureevents:n.captureevents}),"calc","from-root")},{"../../plot_api/edit_types":810,"../../plot_api/plot_template":817,"../annotations/attributes":626}],636:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../plots/cartesian/axes");function a(t,e){var r=e.fullSceneLayout.domain,a=e.fullLayout._size,o={pdata:null,type:"linear",autorange:!1,range:[-1/0,1/0]};t._xa={},n.extendFlat(t._xa,o),i.setConvert(t._xa),t._xa._offset=a.l+r.x[0]*a.w,t._xa.l2p=function(){return.5*(1+t._pdata[0]/t._pdata[3])*a.w*(r.x[1]-r.x[0])},t._ya={},n.extendFlat(t._ya,o),i.setConvert(t._ya),t._ya._offset=a.t+(1-r.y[1])*a.h,t._ya.l2p=function(){return.5*(1-t._pdata[1]/t._pdata[3])*a.h*(r.y[1]-r.y[0])}}e.exports=function(t){for(var e=t.fullSceneLayout.annotations,r=0;r<e.length;r++)a(e[r],t);t.fullLayout._infolayer.selectAll(".annotation-"+t.id).remove()}},{"../../lib":778,"../../plots/cartesian/axes":828}],637:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../plots/cartesian/axes"),a=t("../../plots/array_container_defaults"),o=t("../annotations/common_defaults"),s=t("./attributes");function l(t,e,r,a){function l(r,i){return n.coerce(t,e,s,r,i)}function c(t){var n=t+"axis",a={_fullLayout:{}};return a._fullLayout[n]=r[n],i.coercePosition(e,a,l,t,t,.5)}l("visible")&&(o(t,e,a.fullLayout,l),c("x"),c("y"),c("z"),n.noneOrAll(t,e,["x","y","z"]),e.xref="x",e.yref="y",e.zref="z",l("xanchor"),l("yanchor"),l("xshift"),l("yshift"),e.showarrow&&(e.axref="pixel",e.ayref="pixel",l("ax",-10),l("ay",-30),n.noneOrAll(t,e,["ax","ay"])))}e.exports=function(t,e,r){a(t,e,{name:"annotations",handleItemDefaults:l,fullLayout:r.fullLayout})}},{"../../lib":778,"../../plots/array_container_defaults":823,"../../plots/cartesian/axes":828,"../annotations/common_defaults":629,"./attributes":635}],638:[function(t,e,r){"use strict";var n=t("../annotations/draw").drawRaw,i=t("../../plots/gl3d/project"),a=["x","y","z"];e.exports=function(t){for(var e=t.fullSceneLayout,r=t.dataScale,o=e.annotations,s=0;s<o.length;s++){for(var l=o[s],c=!1,u=0;u<3;u++){var f=a[u],h=l[f],p=e[f+"axis"].r2fraction(h);if(p<0||p>1){c=!0;break}}c?t.fullLayout._infolayer.select(".annotation-"+t.id+'[data-index="'+s+'"]').remove():(l._pdata=i(t.glplot.cameraParams,[e.xaxis.r2l(l.x)*r[0],e.yaxis.r2l(l.y)*r[1],e.zaxis.r2l(l.z)*r[2]]),n(t.graphDiv,l,s,t.id,l._xa,l._ya))}}},{"../../plots/gl3d/project":879,"../annotations/draw":632}],639:[function(t,e,r){"use strict";var n=t("../../registry"),i=t("../../lib");e.exports={moduleType:"component",name:"annotations3d",schema:{subplots:{scene:{annotations:t("./attributes")}}},layoutAttributes:t("./attributes"),handleDefaults:t("./defaults"),includeBasePlot:function(t,e){var r=n.subplotsRegistry.gl3d;if(!r)return;for(var a=r.attrRegex,o=Object.keys(t),s=0;s<o.length;s++){var l=o[s];a.test(l)&&(t[l].annotations||[]).length&&(i.pushUnique(e._basePlotModules,r),i.pushUnique(e._subplots.gl3d,l))}},convert:t("./convert"),draw:t("./draw")}},{"../../lib":778,"../../registry":911,"./attributes":635,"./convert":636,"./defaults":637,"./draw":638}],640:[function(t,e,r){"use strict";e.exports=t("world-calendars/dist/main"),t("world-calendars/dist/plus"),t("world-calendars/dist/calendars/chinese"),t("world-calendars/dist/calendars/coptic"),t("world-calendars/dist/calendars/discworld"),t("world-calendars/dist/calendars/ethiopian"),t("world-calendars/dist/calendars/hebrew"),t("world-calendars/dist/calendars/islamic"),t("world-calendars/dist/calendars/julian"),t("world-calendars/dist/calendars/mayan"),t("world-calendars/dist/calendars/nanakshahi"),t("world-calendars/dist/calendars/nepali"),t("world-calendars/dist/calendars/persian"),t("world-calendars/dist/calendars/taiwan"),t("world-calendars/dist/calendars/thai"),t("world-calendars/dist/calendars/ummalqura")},{"world-calendars/dist/calendars/chinese":607,"world-calendars/dist/calendars/coptic":608,"world-calendars/dist/calendars/discworld":609,"world-calendars/dist/calendars/ethiopian":610,"world-calendars/dist/calendars/hebrew":611,"world-calendars/dist/calendars/islamic":612,"world-calendars/dist/calendars/julian":613,"world-calendars/dist/calendars/mayan":614,"world-calendars/dist/calendars/nanakshahi":615,"world-calendars/dist/calendars/nepali":616,"world-calendars/dist/calendars/persian":617,"world-calendars/dist/calendars/taiwan":618,"world-calendars/dist/calendars/thai":619,"world-calendars/dist/calendars/ummalqura":620,"world-calendars/dist/main":621,"world-calendars/dist/plus":622}],641:[function(t,e,r){"use strict";var n=t("./calendars"),i=t("../../lib"),a=t("../../constants/numerical"),o=a.EPOCHJD,s=a.ONEDAY,l={valType:"enumerated",values:Object.keys(n.calendars),editType:"calc",dflt:"gregorian"},c=function(t,e,r,n){var a={};return a[r]=l,i.coerce(t,e,a,r,n)},u={d:{0:"dd","-":"d"},e:{0:"d","-":"d"},a:{0:"D","-":"D"},A:{0:"DD","-":"DD"},j:{0:"oo","-":"o"},W:{0:"ww","-":"w"},m:{0:"mm","-":"m"},b:{0:"M","-":"M"},B:{0:"MM","-":"MM"},y:{0:"yy","-":"yy"},Y:{0:"yyyy","-":"yyyy"},U:"##",w:"##",c:{0:"D M d %X yyyy","-":"D M d %X yyyy"},x:{0:"mm/dd/yyyy","-":"mm/dd/yyyy"}};var f={};function h(t){var e=f[t];return e||(e=f[t]=n.instance(t))}function p(t){return i.extendFlat({},l,{description:t})}function d(t){return"Sets the calendar system to use with `"+t+"` date data."}var g={xcalendar:p(d("x"))},m=i.extendFlat({},g,{ycalendar:p(d("y"))}),v=i.extendFlat({},m,{zcalendar:p(d("z"))}),y=p(["Sets the calendar system to use for `range` and `tick0`","if this is a date axis. This does not set the calendar for","interpreting data on this axis, that's specified in the trace","or via the global `layout.calendar`"].join(" "));e.exports={moduleType:"component",name:"calendars",schema:{traces:{scatter:m,bar:m,box:m,heatmap:m,contour:m,histogram:m,histogram2d:m,histogram2dcontour:m,scatter3d:v,surface:v,mesh3d:v,scattergl:m,ohlc:g,candlestick:g},layout:{calendar:p(["Sets the default calendar system to use for interpreting and","displaying dates throughout the plot."].join(" "))},subplots:{xaxis:{calendar:y},yaxis:{calendar:y},scene:{xaxis:{calendar:y},yaxis:{calendar:y},zaxis:{calendar:y}},polar:{radialaxis:{calendar:y}}},transforms:{filter:{valuecalendar:p(["Sets the calendar system to use for `value`, if it is a date."].join(" ")),targetcalendar:p(["Sets the calendar system to use for `target`, if it is an","array of dates. If `target` is a string (eg *x*) we use the","corresponding trace attribute (eg `xcalendar`) if it exists,","even if `targetcalendar` is provided."].join(" "))}}},layoutAttributes:l,handleDefaults:c,handleTraceDefaults:function(t,e,r,n){for(var i=0;i<r.length;i++)c(t,e,r[i]+"calendar",n.calendar)},CANONICAL_SUNDAY:{chinese:"2000-01-02",coptic:"2000-01-03",discworld:"2000-01-03",ethiopian:"2000-01-05",hebrew:"5000-01-01",islamic:"1000-01-02",julian:"2000-01-03",mayan:"5000-01-01",nanakshahi:"1000-01-05",nepali:"2000-01-05",persian:"1000-01-01",jalali:"1000-01-01",taiwan:"1000-01-04",thai:"2000-01-04",ummalqura:"1400-01-06"},CANONICAL_TICK:{chinese:"2000-01-01",coptic:"2000-01-01",discworld:"2000-01-01",ethiopian:"2000-01-01",hebrew:"5000-01-01",islamic:"1000-01-01",julian:"2000-01-01",mayan:"5000-01-01",nanakshahi:"1000-01-01",nepali:"2000-01-01",persian:"1000-01-01",jalali:"1000-01-01",taiwan:"1000-01-01",thai:"2000-01-01",ummalqura:"1400-01-01"},DFLTRANGE:{chinese:["2000-01-01","2001-01-01"],coptic:["1700-01-01","1701-01-01"],discworld:["1800-01-01","1801-01-01"],ethiopian:["2000-01-01","2001-01-01"],hebrew:["5700-01-01","5701-01-01"],islamic:["1400-01-01","1401-01-01"],julian:["2000-01-01","2001-01-01"],mayan:["5200-01-01","5201-01-01"],nanakshahi:["0500-01-01","0501-01-01"],nepali:["2000-01-01","2001-01-01"],persian:["1400-01-01","1401-01-01"],jalali:["1400-01-01","1401-01-01"],taiwan:["0100-01-01","0101-01-01"],thai:["2500-01-01","2501-01-01"],ummalqura:["1400-01-01","1401-01-01"]},getCal:h,worldCalFmt:function(t,e,r){for(var n,i,a,l,c,f=Math.floor((e+.05)/s)+o,p=h(r).fromJD(f),d=0;-1!==(d=t.indexOf("%",d));)"0"===(n=t.charAt(d+1))||"-"===n||"_"===n?(a=3,i=t.charAt(d+2),"_"===n&&(n="-")):(i=n,n="0",a=2),(l=u[i])?(c="##"===l?"##":p.formatDate(l[n]),t=t.substr(0,d)+c+t.substr(d+a),d+=c.length):d+=a;return t}}},{"../../constants/numerical":753,"../../lib":778,"./calendars":640}],642:[function(t,e,r){"use strict";r.defaults=["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf"],r.defaultLine="#444",r.lightLine="#eee",r.background="#fff",r.borderLine="#BEC8D9",r.lightFraction=1e3/11},{}],643:[function(t,e,r){"use strict";var n=t("tinycolor2"),i=t("fast-isnumeric"),a=e.exports={},o=t("./attributes");a.defaults=o.defaults;var s=a.defaultLine=o.defaultLine;a.lightLine=o.lightLine;var l=a.background=o.background;function c(t){if(i(t)||"string"!=typeof t)return t;var e=t.trim();if("rgb"!==e.substr(0,3))return t;var r=e.match(/^rgba?\s*\(([^()]*)\)$/);if(!r)return t;var n=r[1].trim().split(/\s*[\s,]\s*/),a="a"===e.charAt(3)&&4===n.length;if(!a&&3!==n.length)return t;for(var o=0;o<n.length;o++){if(!n[o].length)return t;if(n[o]=Number(n[o]),!(n[o]>=0))return t;if(3===o)n[o]>1&&(n[o]=1);else if(n[o]>=1)return t}var s=Math.round(255*n[0])+", "+Math.round(255*n[1])+", "+Math.round(255*n[2]);return a?"rgba("+s+", "+n[3]+")":"rgb("+s+")"}a.tinyRGB=function(t){var e=t.toRgb();return"rgb("+Math.round(e.r)+", "+Math.round(e.g)+", "+Math.round(e.b)+")"},a.rgb=function(t){return a.tinyRGB(n(t))},a.opacity=function(t){return t?n(t).getAlpha():0},a.addOpacity=function(t,e){var r=n(t).toRgb();return"rgba("+Math.round(r.r)+", "+Math.round(r.g)+", "+Math.round(r.b)+", "+e+")"},a.combine=function(t,e){var r=n(t).toRgb();if(1===r.a)return n(t).toRgbString();var i=n(e||l).toRgb(),a=1===i.a?i:{r:255*(1-i.a)+i.r*i.a,g:255*(1-i.a)+i.g*i.a,b:255*(1-i.a)+i.b*i.a},o={r:a.r*(1-r.a)+r.r*r.a,g:a.g*(1-r.a)+r.g*r.a,b:a.b*(1-r.a)+r.b*r.a};return n(o).toRgbString()},a.contrast=function(t,e,r){var i=n(t);return 1!==i.getAlpha()&&(i=n(a.combine(t,l))),(i.isDark()?e?i.lighten(e):l:r?i.darken(r):s).toString()},a.stroke=function(t,e){var r=n(e);t.style({stroke:a.tinyRGB(r),"stroke-opacity":r.getAlpha()})},a.fill=function(t,e){var r=n(e);t.style({fill:a.tinyRGB(r),"fill-opacity":r.getAlpha()})},a.clean=function(t){if(t&&"object"==typeof t){var e,r,n,i,o=Object.keys(t);for(e=0;e<o.length;e++)if(i=t[n=o[e]],"color"===n.substr(n.length-5))if(Array.isArray(i))for(r=0;r<i.length;r++)i[r]=c(i[r]);else t[n]=c(i);else if("colorscale"===n.substr(n.length-10)&&Array.isArray(i))for(r=0;r<i.length;r++)Array.isArray(i[r])&&(i[r][1]=c(i[r][1]));else if(Array.isArray(i)){var s=i[0];if(!Array.isArray(s)&&s&&"object"==typeof s)for(r=0;r<i.length;r++)a.clean(i[r])}else i&&"object"==typeof i&&a.clean(i)}}},{"./attributes":642,"fast-isnumeric":241,tinycolor2:576}],644:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/layout_attributes"),i=t("../../plots/font_attributes"),a=t("../../lib/extend").extendFlat,o=t("../../plot_api/edit_types").overrideAll;e.exports=o({thicknessmode:{valType:"enumerated",values:["fraction","pixels"],dflt:"pixels"},thickness:{valType:"number",min:0,dflt:30},lenmode:{valType:"enumerated",values:["fraction","pixels"],dflt:"fraction"},len:{valType:"number",min:0,dflt:1},x:{valType:"number",dflt:1.02,min:-2,max:3},xanchor:{valType:"enumerated",values:["left","center","right"],dflt:"left"},xpad:{valType:"number",min:0,dflt:10},y:{valType:"number",dflt:.5,min:-2,max:3},yanchor:{valType:"enumerated",values:["top","middle","bottom"],dflt:"middle"},ypad:{valType:"number",min:0,dflt:10},outlinecolor:n.linecolor,outlinewidth:n.linewidth,bordercolor:n.linecolor,borderwidth:{valType:"number",min:0,dflt:0},bgcolor:{valType:"color",dflt:"rgba(0,0,0,0)"},tickmode:n.tickmode,nticks:n.nticks,tick0:n.tick0,dtick:n.dtick,tickvals:n.tickvals,ticktext:n.ticktext,ticks:a({},n.ticks,{dflt:""}),ticklabelposition:{valType:"enumerated",values:["outside","inside","outside top","inside top","outside bottom","inside bottom"],dflt:"outside"},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,minexponent:n.minexponent,showexponent:n.showexponent,title:{text:{valType:"string"},font:i({}),side:{valType:"enumerated",values:["right","top","bottom"],dflt:"top"}},_deprecated:{title:{valType:"string"},titlefont:i({}),titleside:{valType:"enumerated",values:["right","top","bottom"],dflt:"top"}}},"colorbars","from-root")},{"../../lib/extend":768,"../../plot_api/edit_types":810,"../../plots/cartesian/layout_attributes":842,"../../plots/font_attributes":856}],645:[function(t,e,r){"use strict";e.exports={cn:{colorbar:"colorbar",cbbg:"cbbg",cbfill:"cbfill",cbfills:"cbfills",cbline:"cbline",cblines:"cblines",cbaxis:"cbaxis",cbtitleunshift:"cbtitleunshift",cbtitle:"cbtitle",cboutline:"cboutline",crisp:"crisp",jsPlaceholder:"js-placeholder"}}},{}],646:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../plot_api/plot_template"),a=t("../../plots/cartesian/tick_value_defaults"),o=t("../../plots/cartesian/tick_mark_defaults"),s=t("../../plots/cartesian/tick_label_defaults"),l=t("./attributes");e.exports=function(t,e,r){var c=i.newContainer(e,"colorbar"),u=t.colorbar||{};function f(t,e){return n.coerce(u,c,l,t,e)}var h=f("thicknessmode");f("thickness","fraction"===h?30/(r.width-r.margin.l-r.margin.r):30);var p=f("lenmode");f("len","fraction"===p?1:r.height-r.margin.t-r.margin.b),f("x"),f("xanchor"),f("xpad"),f("y"),f("yanchor"),f("ypad"),n.noneOrAll(u,c,["x","y"]),f("outlinecolor"),f("outlinewidth"),f("bordercolor"),f("borderwidth"),f("bgcolor");var d=f("ticklabelposition");a(u,c,f,"linear");var g={outerTicks:!1,font:r.font};-1!==d.indexOf("inside")&&(g.bgColor="black"),s(u,c,f,"linear",g),o(u,c,f,"linear",g),f("title.text",r._dfltTitle.colorbar),n.coerceFont(f,"title.font",r.font),f("title.side")}},{"../../lib":778,"../../plot_api/plot_template":817,"../../plots/cartesian/tick_label_defaults":849,"../../plots/cartesian/tick_mark_defaults":850,"../../plots/cartesian/tick_value_defaults":851,"./attributes":644}],647:[function(t,e,r){"use strict";var n=t("d3"),i=t("tinycolor2"),a=t("../../plots/plots"),o=t("../../registry"),s=t("../../plots/cartesian/axes"),l=t("../dragelement"),c=t("../../lib"),u=c.strTranslate,f=t("../../lib/extend").extendFlat,h=t("../../lib/setcursor"),p=t("../drawing"),d=t("../color"),g=t("../titles"),m=t("../../lib/svg_text_utils"),v=t("../colorscale/helpers").flipScale,y=t("../../plots/cartesian/axis_defaults"),x=t("../../plots/cartesian/position_defaults"),b=t("../../plots/cartesian/layout_attributes"),_=t("../../constants/alignment"),w=_.LINE_SPACING,T=_.FROM_TL,k=_.FROM_BR,M=t("./constants").cn;e.exports={draw:function(t){var e=t._fullLayout._infolayer.selectAll("g."+M.colorbar).data(function(t){var e,r,n,i,a=t._fullLayout,o=t.calcdata,s=[];function l(t){return f(t,{_fillcolor:null,_line:{color:null,width:null,dash:null},_levels:{start:null,end:null,size:null},_filllevels:null,_fillgradient:null,_zrange:null})}function c(){"function"==typeof i.calc?i.calc(t,n,e):(e._fillgradient=r.reversescale?v(r.colorscale):r.colorscale,e._zrange=[r[i.min],r[i.max]])}for(var u=0;u<o.length;u++){var h=o[u],p=(n=h[0].trace)._module.colorbar;if(!0===n.visible&&p)for(var d=Array.isArray(p),g=d?p:[p],m=0;m<g.length;m++){var y=(i=g[m]).container;(r=y?n[y]:n)&&r.showscale&&((e=l(r.colorbar))._id="cb"+n.uid+(d&&y?"-"+y:""),e._traceIndex=n.index,e._propPrefix=(y?y+".":"")+"colorbar.",e._meta=n._meta,c(),s.push(e))}}for(var x in a._colorAxes)if((r=a[x]).showscale){var b=a._colorAxes[x];(e=l(r.colorbar))._id="cb"+x,e._propPrefix=x+".colorbar.",e._meta=a._meta,i={min:"cmin",max:"cmax"},"heatmap"!==b[0]&&(n=b[1],i.calc=n._module.colorbar.calc),c(),s.push(e)}return s}(t),(function(t){return t._id}));e.enter().append("g").attr("class",(function(t){return t._id})).classed(M.colorbar,!0),e.each((function(e){var r=n.select(this);c.ensureSingle(r,"rect",M.cbbg),c.ensureSingle(r,"g",M.cbfills),c.ensureSingle(r,"g",M.cblines),c.ensureSingle(r,"g",M.cbaxis,(function(t){t.classed(M.crisp,!0)})),c.ensureSingle(r,"g",M.cbtitleunshift,(function(t){t.append("g").classed(M.cbtitle,!0)})),c.ensureSingle(r,"rect",M.cboutline);var v=function(t,e,r){var o=r._fullLayout,l=o._size,h=e._fillcolor,v=e._line,_=e.title,A=_.side,S=e._zrange||n.extent(("function"==typeof h?h:v.color).domain()),E="function"==typeof v.color?v.color:function(){return v.color},C="function"==typeof h?h:function(){return h},L=e._levels,I=function(t,e,r){var n,i,a=e._levels,o=[],s=[],l=a.end+a.size/100,c=a.size,u=1.001*r[0]-.001*r[1],f=1.001*r[1]-.001*r[0];for(i=0;i<1e5&&(n=a.start+i*c,!(c>0?n>=l:n<=l));i++)n>u&&n<f&&o.push(n);if(e._fillgradient)s=[0];else if("function"==typeof e._fillcolor){var h=e._filllevels;if(h)for(l=h.end+h.size/100,c=h.size,i=0;i<1e5&&(n=h.start+i*c,!(c>0?n>=l:n<=l));i++)n>r[0]&&n<r[1]&&s.push(n);else(s=o.map((function(t){return t-a.size/2}))).push(s[s.length-1]+a.size)}else e._fillcolor&&"string"==typeof e._fillcolor&&(s=[0]);a.size<0&&(o.reverse(),s.reverse());return{line:o,fill:s}}(0,e,S),P=I.fill,z=I.line,O=Math.round(e.thickness*("fraction"===e.thicknessmode?l.w:1)),D=O/l.w,R=Math.round(e.len*("fraction"===e.lenmode?l.h:1)),F=R/l.h,B=e.xpad/l.w,N=(e.borderwidth+e.outlinewidth)/2,j=e.ypad/l.h,U=Math.round(e.x*l.w+e.xpad),V=e.x-D*({middle:.5,right:1}[e.xanchor]||0),q=e.y+F*(({top:-.5,bottom:.5}[e.yanchor]||0)-.5),H=Math.round(l.h*(1-q)),G=H-R;e._lenFrac=F,e._thickFrac=D,e._xLeftFrac=V,e._yBottomFrac=q;var Y=e._axis=function(t,e,r){var n=t._fullLayout,i={type:"linear",range:r,tickmode:e.tickmode,nticks:e.nticks,tick0:e.tick0,dtick:e.dtick,tickvals:e.tickvals,ticktext:e.ticktext,ticks:e.ticks,ticklen:e.ticklen,tickwidth:e.tickwidth,tickcolor:e.tickcolor,showticklabels:e.showticklabels,ticklabelposition:e.ticklabelposition,tickfont:e.tickfont,tickangle:e.tickangle,tickformat:e.tickformat,exponentformat:e.exponentformat,minexponent:e.minexponent,separatethousands:e.separatethousands,showexponent:e.showexponent,showtickprefix:e.showtickprefix,tickprefix:e.tickprefix,showticksuffix:e.showticksuffix,ticksuffix:e.ticksuffix,title:e.title,showline:!0,anchor:"free",side:"right",position:1},a={type:"linear",_id:"y"+e._id},o={letter:"y",font:n.font,noHover:!0,noTickson:!0,noTicklabelmode:!0,calendar:n.calendar};function s(t,e){return c.coerce(i,a,b,t,e)}return y(i,a,s,o,n),x(i,a,s,o),a}(r,e,S);Y.position=e.x+B+D,-1!==["top","bottom"].indexOf(A)&&(Y.title.side=A,Y.titlex=e.x+B,Y.titley=q+("top"===_.side?F-j:j));if(v.color&&"auto"===e.tickmode){Y.tickmode="linear",Y.tick0=L.start;var W=L.size,X=c.constrain((H-G)/50,4,15)+1,Z=(S[1]-S[0])/((e.nticks||X)*W);if(Z>1){var J=Math.pow(10,Math.floor(Math.log(Z)/Math.LN10));W*=J*c.roundUp(Z/J,[2,5,10]),(Math.abs(L.start)/L.size+1e-6)%1<2e-6&&(Y.tick0=0)}Y.dtick=W}Y.domain=[q+j,q+F-j],Y.setScale(),t.attr("transform",u(Math.round(l.l),Math.round(l.t)));var K,Q=t.select("."+M.cbtitleunshift).attr("transform",u(-Math.round(l.l),-Math.round(l.t))),$=t.select("."+M.cbaxis),tt=0;function et(n,i){var a={propContainer:Y,propName:e._propPrefix+"title",traceIndex:e._traceIndex,_meta:e._meta,placeholder:o._dfltTitle.colorbar,containerGroup:t.select("."+M.cbtitle)},s="h"===n.charAt(0)?n.substr(1):"h"+n;t.selectAll("."+s+",."+s+"-math-group").remove(),g.draw(r,n,f(a,i||{}))}return c.syncOrAsync([a.previousPromises,function(){if(-1!==["top","bottom"].indexOf(A)){var t,r=l.l+(e.x+B)*l.w,n=Y.title.font.size;t="top"===A?(1-(q+F-j))*l.h+l.t+3+.75*n:(1-(q+j))*l.h+l.t-3-.25*n,et(Y._id+"title",{attributes:{x:r,y:t,"text-anchor":"start"}})}},function(){if(-1!==["top","bottom"].indexOf(A)){var a=t.select("."+M.cbtitle),o=a.select("text"),f=[-e.outlinewidth/2,e.outlinewidth/2],h=a.select(".h"+Y._id+"title-math-group").node(),d=15.6;if(o.node()&&(d=parseInt(o.node().style.fontSize,10)*w),h?(tt=p.bBox(h).height)>d&&(f[1]-=(tt-d)/2):o.node()&&!o.classed(M.jsPlaceholder)&&(tt=p.bBox(o.node()).height),tt){if(tt+=5,"top"===A)Y.domain[1]-=tt/l.h,f[1]*=-1;else{Y.domain[0]+=tt/l.h;var g=m.lineCount(o);f[1]+=(1-g)*d}a.attr("transform",u(f[0],f[1])),Y.setScale()}}t.selectAll("."+M.cbfills+",."+M.cblines).attr("transform",u(0,Math.round(l.h*(1-Y.domain[1])))),$.attr("transform",u(0,Math.round(-l.t)));var y=t.select("."+M.cbfills).selectAll("rect."+M.cbfill).attr("style","").data(P);y.enter().append("rect").classed(M.cbfill,!0).style("stroke","none"),y.exit().remove();var x=S.map(Y.c2p).map(Math.round).sort((function(t,e){return t-e}));y.each((function(t,a){var o=[0===a?S[0]:(P[a]+P[a-1])/2,a===P.length-1?S[1]:(P[a]+P[a+1])/2].map(Y.c2p).map(Math.round);o[1]=c.constrain(o[1]+(o[1]>o[0])?1:-1,x[0],x[1]);var s=n.select(this).attr({x:U,width:Math.max(O,2),y:n.min(o),height:Math.max(n.max(o)-n.min(o),2)});if(e._fillgradient)p.gradient(s,r,e._id,"vertical",e._fillgradient,"fill");else{var l=C(t).replace("e-","");s.attr("fill",i(l).toHexString())}}));var b=t.select("."+M.cblines).selectAll("path."+M.cbline).data(v.color&&v.width?z:[]);b.enter().append("path").classed(M.cbline,!0),b.exit().remove(),b.each((function(t){n.select(this).attr("d","M"+U+","+(Math.round(Y.c2p(t))+v.width/2%1)+"h"+O).call(p.lineGroupStyle,v.width,E(t),v.dash)})),$.selectAll("g."+Y._id+"tick,path").remove();var _=U+O+(e.outlinewidth||0)/2-("outside"===e.ticks?1:0),T=s.calcTicks(Y),k=s.getTickSigns(Y)[2];return s.drawTicks(r,Y,{vals:"inside"===Y.ticks?s.clipEnds(Y,T):T,layer:$,path:s.makeTickPath(Y,_,k),transFn:s.makeTransTickFn(Y)}),s.drawLabels(r,Y,{vals:T,layer:$,transFn:s.makeTransTickLabelFn(Y),labelFns:s.makeLabelFns(Y,_)})},function(){if(-1===["top","bottom"].indexOf(A)){var t=Y.title.font.size,e=Y._offset+Y._length/2,i=l.l+(Y.position||0)*l.w+("right"===Y.side?10+t*(Y.showticklabels?1:.5):-10-t*(Y.showticklabels?.5:0));et("h"+Y._id+"title",{avoid:{selection:n.select(r).selectAll("g."+Y._id+"tick"),side:A,offsetLeft:l.l,offsetTop:0,maxShift:o.width},attributes:{x:i,y:e,"text-anchor":"middle"},transform:{rotate:"-90",offset:0}})}},a.previousPromises,function(){var n=O+e.outlinewidth/2;if(-1===Y.ticklabelposition.indexOf("inside")&&(n+=p.bBox($.node()).width),(K=Q.select("text")).node()&&!K.classed(M.jsPlaceholder)){var i,o=Q.select(".h"+Y._id+"title-math-group").node();i=o&&-1!==["top","bottom"].indexOf(A)?p.bBox(o).width:p.bBox(Q.node()).right-U-l.l,n=Math.max(n,i)}var s=2*e.xpad+n+e.borderwidth+e.outlinewidth/2,c=H-G;t.select("."+M.cbbg).attr({x:U-e.xpad-(e.borderwidth+e.outlinewidth)/2,y:G-N,width:Math.max(s,2),height:Math.max(c+2*N,2)}).call(d.fill,e.bgcolor).call(d.stroke,e.bordercolor).style("stroke-width",e.borderwidth),t.selectAll("."+M.cboutline).attr({x:U,y:G+e.ypad+("top"===A?tt:0),width:Math.max(O,2),height:Math.max(c-2*e.ypad-tt,2)}).call(d.stroke,e.outlinecolor).style({fill:"none","stroke-width":e.outlinewidth});var f=({center:.5,right:1}[e.xanchor]||0)*s;t.attr("transform",u(l.l-f,l.t));var h={},g=T[e.yanchor],m=k[e.yanchor];"pixels"===e.lenmode?(h.y=e.y,h.t=c*g,h.b=c*m):(h.t=h.b=0,h.yt=e.y+e.len*g,h.yb=e.y-e.len*m);var v=T[e.xanchor],y=k[e.xanchor];if("pixels"===e.thicknessmode)h.x=e.x,h.l=s*v,h.r=s*y;else{var x=s-O;h.l=x*v,h.r=x*y,h.xl=e.x-e.thickness*v,h.xr=e.x+e.thickness*y}a.autoMargin(r,e._id,h)}],r)}(r,e,t);v&&v.then&&(t._promises||[]).push(v),t._context.edits.colorbarPosition&&function(t,e,r){var n,i,a,s=r._fullLayout._size;l.init({element:t.node(),gd:r,prepFn:function(){n=t.attr("transform"),h(t)},moveFn:function(r,o){t.attr("transform",n+u(r,o)),i=l.align(e._xLeftFrac+r/s.w,e._thickFrac,0,1,e.xanchor),a=l.align(e._yBottomFrac-o/s.h,e._lenFrac,0,1,e.yanchor);var c=l.getCursor(i,a,e.xanchor,e.yanchor);h(t,c)},doneFn:function(){if(h(t),void 0!==i&&void 0!==a){var n={};n[e._propPrefix+"x"]=i,n[e._propPrefix+"y"]=a,void 0!==e._traceIndex?o.call("_guiRestyle",r,n,e._traceIndex):o.call("_guiRelayout",r,n)}}})}(r,e,t)})),e.exit().each((function(e){a.autoMargin(t,e._id)})).remove(),e.order()}}},{"../../constants/alignment":745,"../../lib":778,"../../lib/extend":768,"../../lib/setcursor":799,"../../lib/svg_text_utils":803,"../../plots/cartesian/axes":828,"../../plots/cartesian/axis_defaults":830,"../../plots/cartesian/layout_attributes":842,"../../plots/cartesian/position_defaults":845,"../../plots/plots":891,"../../registry":911,"../color":643,"../colorscale/helpers":654,"../dragelement":662,"../drawing":665,"../titles":738,"./constants":645,d3:169,tinycolor2:576}],648:[function(t,e,r){"use strict";var n=t("../../lib");e.exports=function(t){return n.isPlainObject(t.colorbar)}},{"../../lib":778}],649:[function(t,e,r){"use strict";e.exports={moduleType:"component",name:"colorbar",attributes:t("./attributes"),supplyDefaults:t("./defaults"),draw:t("./draw").draw,hasColorbar:t("./has_colorbar")}},{"./attributes":644,"./defaults":646,"./draw":647,"./has_colorbar":648}],650:[function(t,e,r){"use strict";var n=t("../colorbar/attributes"),i=t("../../lib/regex").counter,a=t("./scales.js").scales;Object.keys(a);function o(t){return"`"+t+"`"}e.exports=function(t,e){t=t||"";var r,s=(e=e||{}).cLetter||"c",l=("onlyIfNumerical"in e?e.onlyIfNumerical:Boolean(t),"noScale"in e?e.noScale:"marker.line"===t),c="showScaleDflt"in e?e.showScaleDflt:"z"===s,u="string"==typeof e.colorscaleDflt?a[e.colorscaleDflt]:null,f=e.editTypeOverride||"",h=t?t+".":"";"colorAttr"in e?(r=e.colorAttr,e.colorAttr):o(h+(r={z:"z",c:"color"}[s]));var p=s+"auto",d=s+"min",g=s+"max",m=s+"mid",v=(o(h+p),o(h+d),o(h+g),{});v[d]=v[g]=void 0;var y={};y[p]=!1;var x={};return"color"===r&&(x.color={valType:"color",arrayOk:!0,editType:f||"style"},e.anim&&(x.color.anim=!0)),x[p]={valType:"boolean",dflt:!0,editType:"calc",impliedEdits:v},x[d]={valType:"number",dflt:null,editType:f||"plot",impliedEdits:y},x[g]={valType:"number",dflt:null,editType:f||"plot",impliedEdits:y},x[m]={valType:"number",dflt:null,editType:"calc",impliedEdits:v},x.colorscale={valType:"colorscale",editType:"calc",dflt:u,impliedEdits:{autocolorscale:!1}},x.autocolorscale={valType:"boolean",dflt:!1!==e.autoColorDflt,editType:"calc",impliedEdits:{colorscale:void 0}},x.reversescale={valType:"boolean",dflt:!1,editType:"plot"},l||(x.showscale={valType:"boolean",dflt:c,editType:"calc"},x.colorbar=n),e.noColorAxis||(x.coloraxis={valType:"subplotid",regex:i("coloraxis"),dflt:null,editType:"calc"}),x}},{"../../lib/regex":795,"../colorbar/attributes":644,"./scales.js":658}],651:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../lib"),a=t("./helpers").extractOpts;e.exports=function(t,e,r){var o,s=t._fullLayout,l=r.vals,c=r.containerStr,u=c?i.nestedProperty(e,c).get():e,f=a(u),h=!1!==f.auto,p=f.min,d=f.max,g=f.mid,m=function(){return i.aggNums(Math.min,null,l)},v=function(){return i.aggNums(Math.max,null,l)};(void 0===p?p=m():h&&(p=u._colorAx&&n(p)?Math.min(p,m()):m()),void 0===d?d=v():h&&(d=u._colorAx&&n(d)?Math.max(d,v()):v()),h&&void 0!==g&&(d-g>g-p?p=g-(d-g):d-g<g-p&&(d=g+(g-p))),p===d&&(p-=.5,d+=.5),f._sync("min",p),f._sync("max",d),f.autocolorscale)&&(o=p*d<0?s.colorscale.diverging:p>=0?s.colorscale.sequential:s.colorscale.sequentialminus,f._sync("colorscale",o))}},{"../../lib":778,"./helpers":654,"fast-isnumeric":241}],652:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./helpers").hasColorscale,a=t("./helpers").extractOpts;e.exports=function(t,e){function r(t,e){var r=t["_"+e];void 0!==r&&(t[e]=r)}function o(t,i){var o=i.container?n.nestedProperty(t,i.container).get():t;if(o)if(o.coloraxis)o._colorAx=e[o.coloraxis];else{var s=a(o),l=s.auto;(l||void 0===s.min)&&r(o,i.min),(l||void 0===s.max)&&r(o,i.max),s.autocolorscale&&r(o,"colorscale")}}for(var s=0;s<t.length;s++){var l=t[s],c=l._module.colorbar;if(c)if(Array.isArray(c))for(var u=0;u<c.length;u++)o(l,c[u]);else o(l,c);i(l,"marker.line")&&o(l,{container:"marker.line",min:"cmin",max:"cmax"})}for(var f in e._colorAxes)o(e[f],{min:"cmin",max:"cmax"})}},{"../../lib":778,"./helpers":654}],653:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../lib"),a=t("../colorbar/has_colorbar"),o=t("../colorbar/defaults"),s=t("./scales").isValid,l=t("../../registry").traceIs;function c(t,e){var r=e.slice(0,e.length-1);return e?i.nestedProperty(t,r).get()||{}:t}e.exports=function t(e,r,u,f,h){var p=h.prefix,d=h.cLetter,g="_module"in r,m=c(e,p),v=c(r,p),y=c(r._template||{},p)||{},x=function(){return delete e.coloraxis,delete r.coloraxis,t(e,r,u,f,h)};if(g){var b=u._colorAxes||{},_=f(p+"coloraxis");if(_){var w=l(r,"contour")&&i.nestedProperty(r,"contours.coloring").get()||"heatmap",T=b[_];return void(T?(T[2].push(x),T[0]!==w&&(T[0]=!1,i.warn(["Ignoring coloraxis:",_,"setting","as it is linked to incompatible colorscales."].join(" ")))):b[_]=[w,r,[x]])}}var k=m[d+"min"],M=m[d+"max"],A=n(k)&&n(M)&&k<M;f(p+d+"auto",!A)?f(p+d+"mid"):(f(p+d+"min"),f(p+d+"max"));var S,E,C=m.colorscale,L=y.colorscale;(void 0!==C&&(S=!s(C)),void 0!==L&&(S=!s(L)),f(p+"autocolorscale",S),f(p+"colorscale"),f(p+"reversescale"),"marker.line."!==p)&&(p&&g&&(E=a(m)),f(p+"showscale",E)&&(p&&y&&(v._template=y),o(m,v,u)))}},{"../../lib":778,"../../registry":911,"../colorbar/defaults":646,"../colorbar/has_colorbar":648,"./scales":658,"fast-isnumeric":241}],654:[function(t,e,r){"use strict";var n=t("d3"),i=t("tinycolor2"),a=t("fast-isnumeric"),o=t("../../lib"),s=t("../color"),l=t("./scales").isValid;var c=["showscale","autocolorscale","colorscale","reversescale","colorbar"],u=["min","max","mid","auto"];function f(t){var e,r,n,i=t._colorAx,a=i||t,o={};for(r=0;r<c.length;r++)o[n=c[r]]=a[n];if(i)for(e="c",r=0;r<u.length;r++)o[n=u[r]]=a["c"+n];else{var s;for(r=0;r<u.length;r++)((s="c"+(n=u[r]))in a||(s="z"+n)in a)&&(o[n]=a[s]);e=s.charAt(0)}return o._sync=function(t,r){var n=-1!==u.indexOf(t)?e+t:t;a[n]=a["_"+n]=r},o}function h(t){for(var e=f(t),r=e.min,n=e.max,i=e.reversescale?p(e.colorscale):e.colorscale,a=i.length,o=new Array(a),s=new Array(a),l=0;l<a;l++){var c=i[l];o[l]=r+c[0]*(n-r),s[l]=c[1]}return{domain:o,range:s}}function p(t){for(var e=t.length,r=new Array(e),n=e-1,i=0;n>=0;n--,i++){var a=t[n];r[i]=[1-a[0],a[1]]}return r}function d(t,e){e=e||{};for(var r=t.domain,o=t.range,l=o.length,c=new Array(l),u=0;u<l;u++){var f=i(o[u]).toRgb();c[u]=[f.r,f.g,f.b,f.a]}var h,p=n.scale.linear().domain(r).range(c).clamp(!0),d=e.noNumericCheck,m=e.returnArray;return(h=d&&m?p:d?function(t){return g(p(t))}:m?function(t){return a(t)?p(t):i(t).isValid()?t:s.defaultLine}:function(t){return a(t)?g(p(t)):i(t).isValid()?t:s.defaultLine}).domain=p.domain,h.range=function(){return o},h}function g(t){var e={r:t[0],g:t[1],b:t[2],a:t[3]};return i(e).toRgbString()}e.exports={hasColorscale:function(t,e,r){var n=e?o.nestedProperty(t,e).get()||{}:t,i=n[r||"color"],s=!1;if(o.isArrayOrTypedArray(i))for(var c=0;c<i.length;c++)if(a(i[c])){s=!0;break}return o.isPlainObject(n)&&(s||!0===n.showscale||a(n.cmin)&&a(n.cmax)||l(n.colorscale)||o.isPlainObject(n.colorbar))},extractOpts:f,extractScale:h,flipScale:p,makeColorScaleFunc:d,makeColorScaleFuncFromTrace:function(t,e){return d(h(t),e)}}},{"../../lib":778,"../color":643,"./scales":658,d3:169,"fast-isnumeric":241,tinycolor2:576}],655:[function(t,e,r){"use strict";var n=t("./scales"),i=t("./helpers");e.exports={moduleType:"component",name:"colorscale",attributes:t("./attributes"),layoutAttributes:t("./layout_attributes"),supplyLayoutDefaults:t("./layout_defaults"),handleDefaults:t("./defaults"),crossTraceDefaults:t("./cross_trace_defaults"),calc:t("./calc"),scales:n.scales,defaultScale:n.defaultScale,getScale:n.get,isValidScale:n.isValid,hasColorscale:i.hasColorscale,extractOpts:i.extractOpts,extractScale:i.extractScale,flipScale:i.flipScale,makeColorScaleFunc:i.makeColorScaleFunc,makeColorScaleFuncFromTrace:i.makeColorScaleFuncFromTrace}},{"./attributes":650,"./calc":651,"./cross_trace_defaults":652,"./defaults":653,"./helpers":654,"./layout_attributes":656,"./layout_defaults":657,"./scales":658}],656:[function(t,e,r){"use strict";var n=t("../../lib/extend").extendFlat,i=t("./attributes"),a=t("./scales").scales;e.exports={editType:"calc",colorscale:{editType:"calc",sequential:{valType:"colorscale",dflt:a.Reds,editType:"calc"},sequentialminus:{valType:"colorscale",dflt:a.Blues,editType:"calc"},diverging:{valType:"colorscale",dflt:a.RdBu,editType:"calc"}},coloraxis:n({_isSubplotObj:!0,editType:"calc"},i("",{colorAttr:"corresponding trace color array(s)",noColorAxis:!0,showScaleDflt:!0}))}},{"../../lib/extend":768,"./attributes":650,"./scales":658}],657:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../plot_api/plot_template"),a=t("./layout_attributes"),o=t("./defaults");e.exports=function(t,e){function r(r,i){return n.coerce(t,e,a,r,i)}r("colorscale.sequential"),r("colorscale.sequentialminus"),r("colorscale.diverging");var s,l,c=e._colorAxes;function u(t,e){return n.coerce(s,l,a.coloraxis,t,e)}for(var f in c){var h=c[f];if(h[0])s=t[f]||{},(l=i.newContainer(e,f,"coloraxis"))._name=f,o(s,l,e,u,{prefix:"",cLetter:"c"});else{for(var p=0;p<h[2].length;p++)h[2][p]();delete e._colorAxes[f]}}}},{"../../lib":778,"../../plot_api/plot_template":817,"./defaults":653,"./layout_attributes":656}],658:[function(t,e,r){"use strict";var n=t("tinycolor2"),i={Greys:[[0,"rgb(0,0,0)"],[1,"rgb(255,255,255)"]],YlGnBu:[[0,"rgb(8,29,88)"],[.125,"rgb(37,52,148)"],[.25,"rgb(34,94,168)"],[.375,"rgb(29,145,192)"],[.5,"rgb(65,182,196)"],[.625,"rgb(127,205,187)"],[.75,"rgb(199,233,180)"],[.875,"rgb(237,248,217)"],[1,"rgb(255,255,217)"]],Greens:[[0,"rgb(0,68,27)"],[.125,"rgb(0,109,44)"],[.25,"rgb(35,139,69)"],[.375,"rgb(65,171,93)"],[.5,"rgb(116,196,118)"],[.625,"rgb(161,217,155)"],[.75,"rgb(199,233,192)"],[.875,"rgb(229,245,224)"],[1,"rgb(247,252,245)"]],YlOrRd:[[0,"rgb(128,0,38)"],[.125,"rgb(189,0,38)"],[.25,"rgb(227,26,28)"],[.375,"rgb(252,78,42)"],[.5,"rgb(253,141,60)"],[.625,"rgb(254,178,76)"],[.75,"rgb(254,217,118)"],[.875,"rgb(255,237,160)"],[1,"rgb(255,255,204)"]],Bluered:[[0,"rgb(0,0,255)"],[1,"rgb(255,0,0)"]],RdBu:[[0,"rgb(5,10,172)"],[.35,"rgb(106,137,247)"],[.5,"rgb(190,190,190)"],[.6,"rgb(220,170,132)"],[.7,"rgb(230,145,90)"],[1,"rgb(178,10,28)"]],Reds:[[0,"rgb(220,220,220)"],[.2,"rgb(245,195,157)"],[.4,"rgb(245,160,105)"],[1,"rgb(178,10,28)"]],Blues:[[0,"rgb(5,10,172)"],[.35,"rgb(40,60,190)"],[.5,"rgb(70,100,245)"],[.6,"rgb(90,120,245)"],[.7,"rgb(106,137,247)"],[1,"rgb(220,220,220)"]],Picnic:[[0,"rgb(0,0,255)"],[.1,"rgb(51,153,255)"],[.2,"rgb(102,204,255)"],[.3,"rgb(153,204,255)"],[.4,"rgb(204,204,255)"],[.5,"rgb(255,255,255)"],[.6,"rgb(255,204,255)"],[.7,"rgb(255,153,255)"],[.8,"rgb(255,102,204)"],[.9,"rgb(255,102,102)"],[1,"rgb(255,0,0)"]],Rainbow:[[0,"rgb(150,0,90)"],[.125,"rgb(0,0,200)"],[.25,"rgb(0,25,255)"],[.375,"rgb(0,152,255)"],[.5,"rgb(44,255,150)"],[.625,"rgb(151,255,0)"],[.75,"rgb(255,234,0)"],[.875,"rgb(255,111,0)"],[1,"rgb(255,0,0)"]],Portland:[[0,"rgb(12,51,131)"],[.25,"rgb(10,136,186)"],[.5,"rgb(242,211,56)"],[.75,"rgb(242,143,56)"],[1,"rgb(217,30,30)"]],Jet:[[0,"rgb(0,0,131)"],[.125,"rgb(0,60,170)"],[.375,"rgb(5,255,255)"],[.625,"rgb(255,255,0)"],[.875,"rgb(250,0,0)"],[1,"rgb(128,0,0)"]],Hot:[[0,"rgb(0,0,0)"],[.3,"rgb(230,0,0)"],[.6,"rgb(255,210,0)"],[1,"rgb(255,255,255)"]],Blackbody:[[0,"rgb(0,0,0)"],[.2,"rgb(230,0,0)"],[.4,"rgb(230,210,0)"],[.7,"rgb(255,255,255)"],[1,"rgb(160,200,255)"]],Earth:[[0,"rgb(0,0,130)"],[.1,"rgb(0,180,180)"],[.2,"rgb(40,210,40)"],[.4,"rgb(230,230,50)"],[.6,"rgb(120,70,20)"],[1,"rgb(255,255,255)"]],Electric:[[0,"rgb(0,0,0)"],[.15,"rgb(30,0,100)"],[.4,"rgb(120,0,100)"],[.6,"rgb(160,90,0)"],[.8,"rgb(230,200,0)"],[1,"rgb(255,250,220)"]],Viridis:[[0,"#440154"],[.06274509803921569,"#48186a"],[.12549019607843137,"#472d7b"],[.18823529411764706,"#424086"],[.25098039215686274,"#3b528b"],[.3137254901960784,"#33638d"],[.3764705882352941,"#2c728e"],[.4392156862745098,"#26828e"],[.5019607843137255,"#21918c"],[.5647058823529412,"#1fa088"],[.6274509803921569,"#28ae80"],[.6901960784313725,"#3fbc73"],[.7529411764705882,"#5ec962"],[.8156862745098039,"#84d44b"],[.8784313725490196,"#addc30"],[.9411764705882353,"#d8e219"],[1,"#fde725"]],Cividis:[[0,"rgb(0,32,76)"],[.058824,"rgb(0,42,102)"],[.117647,"rgb(0,52,110)"],[.176471,"rgb(39,63,108)"],[.235294,"rgb(60,74,107)"],[.294118,"rgb(76,85,107)"],[.352941,"rgb(91,95,109)"],[.411765,"rgb(104,106,112)"],[.470588,"rgb(117,117,117)"],[.529412,"rgb(131,129,120)"],[.588235,"rgb(146,140,120)"],[.647059,"rgb(161,152,118)"],[.705882,"rgb(176,165,114)"],[.764706,"rgb(192,177,109)"],[.823529,"rgb(209,191,102)"],[.882353,"rgb(225,204,92)"],[.941176,"rgb(243,219,79)"],[1,"rgb(255,233,69)"]]},a=i.RdBu;function o(t){var e=0;if(!Array.isArray(t)||t.length<2)return!1;if(!t[0]||!t[t.length-1])return!1;if(0!=+t[0][0]||1!=+t[t.length-1][0])return!1;for(var r=0;r<t.length;r++){var i=t[r];if(2!==i.length||+i[0]<e||!n(i[1]).isValid())return!1;e=+i[0]}return!0}e.exports={scales:i,defaultScale:a,get:function(t,e){if(e||(e=a),!t)return e;function r(){try{t=i[t]||JSON.parse(t)}catch(r){t=e}}return"string"==typeof t&&(r(),"string"==typeof t&&r()),o(t)?t:e},isValid:function(t){return void 0!==i[t]||o(t)}}},{tinycolor2:576}],659:[function(t,e,r){"use strict";e.exports=function(t,e,r,n,i){var a=(t-r)/(n-r),o=a+e/(n-r),s=(a+o)/2;return"left"===i||"bottom"===i?a:"center"===i||"middle"===i?s:"right"===i||"top"===i?o:a<2/3-s?a:o>4/3-s?o:s}},{}],660:[function(t,e,r){"use strict";var n=t("../../lib"),i=[["sw-resize","s-resize","se-resize"],["w-resize","move","e-resize"],["nw-resize","n-resize","ne-resize"]];e.exports=function(t,e,r,a){return t="left"===r?0:"center"===r?1:"right"===r?2:n.constrain(Math.floor(3*t),0,2),e="bottom"===a?0:"middle"===a?1:"top"===a?2:n.constrain(Math.floor(3*e),0,2),i[e][t]}},{"../../lib":778}],661:[function(t,e,r){"use strict";r.selectMode=function(t){return"lasso"===t||"select"===t},r.drawMode=function(t){return"drawclosedpath"===t||"drawopenpath"===t||"drawline"===t||"drawrect"===t||"drawcircle"===t},r.openMode=function(t){return"drawline"===t||"drawopenpath"===t},r.rectMode=function(t){return"select"===t||"drawline"===t||"drawrect"===t||"drawcircle"===t},r.freeMode=function(t){return"lasso"===t||"drawclosedpath"===t||"drawopenpath"===t},r.selectingOrDrawing=function(t){return r.freeMode(t)||r.rectMode(t)}},{}],662:[function(t,e,r){"use strict";var n=t("mouse-event-offset"),i=t("has-hover"),a=t("has-passive-events"),o=t("../../lib").removeElement,s=t("../../plots/cartesian/constants"),l=e.exports={};l.align=t("./align"),l.getCursor=t("./cursor");var c=t("./unhover");function u(){var t=document.createElement("div");t.className="dragcover";var e=t.style;return e.position="fixed",e.left=0,e.right=0,e.top=0,e.bottom=0,e.zIndex=999999999,e.background="none",document.body.appendChild(t),t}function f(t){return n(t.changedTouches?t.changedTouches[0]:t,document.body)}l.unhover=c.wrapped,l.unhoverRaw=c.raw,l.init=function(t){var e,r,n,c,h,p,d,g,m=t.gd,v=1,y=m._context.doubleClickDelay,x=t.element;m._mouseDownTime||(m._mouseDownTime=0),x.style.pointerEvents="all",x.onmousedown=_,a?(x._ontouchstart&&x.removeEventListener("touchstart",x._ontouchstart),x._ontouchstart=_,x.addEventListener("touchstart",_,{passive:!1})):x.ontouchstart=_;var b=t.clampFn||function(t,e,r){return Math.abs(t)<r&&(t=0),Math.abs(e)<r&&(e=0),[t,e]};function _(a){m._dragged=!1,m._dragging=!0;var o=f(a);e=o[0],r=o[1],d=a.target,p=a,g=2===a.buttons||a.ctrlKey,"undefined"==typeof a.clientX&&"undefined"==typeof a.clientY&&(a.clientX=e,a.clientY=r),(n=(new Date).getTime())-m._mouseDownTime<y?v+=1:(v=1,m._mouseDownTime=n),t.prepFn&&t.prepFn(a,e,r),i&&!g?(h=u()).style.cursor=window.getComputedStyle(x).cursor:i||(h=document,c=window.getComputedStyle(document.documentElement).cursor,document.documentElement.style.cursor=window.getComputedStyle(x).cursor),document.addEventListener("mouseup",T),document.addEventListener("touchend",T),!1!==t.dragmode&&(a.preventDefault(),document.addEventListener("mousemove",w),document.addEventListener("touchmove",w,{passive:!1}))}function w(n){n.preventDefault();var i=f(n),a=t.minDrag||s.MINDRAG,o=b(i[0]-e,i[1]-r,a),c=o[0],u=o[1];(c||u)&&(m._dragged=!0,l.unhover(m)),m._dragged&&t.moveFn&&!g&&(m._dragdata={element:x,dx:c,dy:u},t.moveFn(c,u))}function T(e){if(delete m._dragdata,!1!==t.dragmode&&(e.preventDefault(),document.removeEventListener("mousemove",w),document.removeEventListener("touchmove",w)),document.removeEventListener("mouseup",T),document.removeEventListener("touchend",T),i?o(h):c&&(h.documentElement.style.cursor=c,c=null),m._dragging){if(m._dragging=!1,(new Date).getTime()-m._mouseDownTime>y&&(v=Math.max(v-1,1)),m._dragged)t.doneFn&&t.doneFn();else if(t.clickFn&&t.clickFn(v,p),!g){var r;try{r=new MouseEvent("click",e)}catch(t){var n=f(e);(r=document.createEvent("MouseEvents")).initMouseEvent("click",e.bubbles,e.cancelable,e.view,e.detail,e.screenX,e.screenY,n[0],n[1],e.ctrlKey,e.altKey,e.shiftKey,e.metaKey,e.button,e.relatedTarget)}d.dispatchEvent(r)}m._dragging=!1,m._dragged=!1}else m._dragged=!1}},l.coverSlip=u},{"../../lib":778,"../../plots/cartesian/constants":834,"./align":659,"./cursor":660,"./unhover":663,"has-hover":440,"has-passive-events":441,"mouse-event-offset":484}],663:[function(t,e,r){"use strict";var n=t("../../lib/events"),i=t("../../lib/throttle"),a=t("../../lib/dom").getGraphDiv,o=t("../fx/constants"),s=e.exports={};s.wrapped=function(t,e,r){(t=a(t))._fullLayout&&i.clear(t._fullLayout._uid+o.HOVERID),s.raw(t,e,r)},s.raw=function(t,e){var r=t._fullLayout,i=t._hoverdata;e||(e={}),e.target&&!1===n.triggerHandler(t,"plotly_beforehover",e)||(r._hoverlayer.selectAll("g").remove(),r._hoverlayer.selectAll("line").remove(),r._hoverlayer.selectAll("circle").remove(),t._hoverdata=void 0,e.target&&i&&t.emit("plotly_unhover",{event:e,points:i}))}},{"../../lib/dom":766,"../../lib/events":767,"../../lib/throttle":804,"../fx/constants":677}],664:[function(t,e,r){"use strict";r.dash={valType:"string",values:["solid","dot","dash","longdash","dashdot","longdashdot"],dflt:"solid",editType:"style"}},{}],665:[function(t,e,r){"use strict";var n=t("d3"),i=t("fast-isnumeric"),a=t("tinycolor2"),o=t("../../registry"),s=t("../color"),l=t("../colorscale"),c=t("../../lib"),u=c.strTranslate,f=t("../../lib/svg_text_utils"),h=t("../../constants/xmlns_namespaces"),p=t("../../constants/alignment").LINE_SPACING,d=t("../../constants/interactions").DESELECTDIM,g=t("../../traces/scatter/subtypes"),m=t("../../traces/scatter/make_bubble_size_func"),v=t("../../components/fx/helpers").appendArrayPointValue,y=e.exports={};y.font=function(t,e,r,n){c.isPlainObject(e)&&(n=e.color,r=e.size,e=e.family),e&&t.style("font-family",e),r+1&&t.style("font-size",r+"px"),n&&t.call(s.fill,n)},y.setPosition=function(t,e,r){t.attr("x",e).attr("y",r)},y.setSize=function(t,e,r){t.attr("width",e).attr("height",r)},y.setRect=function(t,e,r,n,i){t.call(y.setPosition,e,r).call(y.setSize,n,i)},y.translatePoint=function(t,e,r,n){var a=r.c2p(t.x),o=n.c2p(t.y);return!!(i(a)&&i(o)&&e.node())&&("text"===e.node().nodeName?e.attr("x",a).attr("y",o):e.attr("transform",u(a,o)),!0)},y.translatePoints=function(t,e,r){t.each((function(t){var i=n.select(this);y.translatePoint(t,i,e,r)}))},y.hideOutsideRangePoint=function(t,e,r,n,i,a){e.attr("display",r.isPtWithinRange(t,i)&&n.isPtWithinRange(t,a)?null:"none")},y.hideOutsideRangePoints=function(t,e){if(e._hasClipOnAxisFalse){var r=e.xaxis,i=e.yaxis;t.each((function(e){var a=e[0].trace,s=a.xcalendar,l=a.ycalendar,c=o.traceIs(a,"bar-like")?".bartext":".point,.textpoint";t.selectAll(c).each((function(t){y.hideOutsideRangePoint(t,n.select(this),r,i,s,l)}))}))}},y.crispRound=function(t,e,r){return e&&i(e)?t._context.staticPlot?e:e<1?1:Math.round(e):r||0},y.singleLineStyle=function(t,e,r,n,i){e.style("fill","none");var a=(((t||[])[0]||{}).trace||{}).line||{},o=r||a.width||0,l=i||a.dash||"";s.stroke(e,n||a.color),y.dashLine(e,l,o)},y.lineGroupStyle=function(t,e,r,i){t.style("fill","none").each((function(t){var a=(((t||[])[0]||{}).trace||{}).line||{},o=e||a.width||0,l=i||a.dash||"";n.select(this).call(s.stroke,r||a.color).call(y.dashLine,l,o)}))},y.dashLine=function(t,e,r){r=+r||0,e=y.dashStyle(e,r),t.style({"stroke-dasharray":e,"stroke-width":r+"px"})},y.dashStyle=function(t,e){e=+e||1;var r=Math.max(e,3);return"solid"===t?t="":"dot"===t?t=r+"px,"+r+"px":"dash"===t?t=3*r+"px,"+3*r+"px":"longdash"===t?t=5*r+"px,"+5*r+"px":"dashdot"===t?t=3*r+"px,"+r+"px,"+r+"px,"+r+"px":"longdashdot"===t&&(t=5*r+"px,"+2*r+"px,"+r+"px,"+2*r+"px"),t},y.singleFillStyle=function(t){var e=(((n.select(t.node()).data()[0]||[])[0]||{}).trace||{}).fillcolor;e&&t.call(s.fill,e)},y.fillGroupStyle=function(t){t.style("stroke-width",0).each((function(t){var e=n.select(this);t[0].trace&&e.call(s.fill,t[0].trace.fillcolor)}))};var x=t("./symbol_defs");y.symbolNames=[],y.symbolFuncs=[],y.symbolNeedLines={},y.symbolNoDot={},y.symbolNoFill={},y.symbolList=[],Object.keys(x).forEach((function(t){var e=x[t],r=e.n;y.symbolList.push(r,String(r),t,r+100,String(r+100),t+"-open"),y.symbolNames[r]=t,y.symbolFuncs[r]=e.f,e.needLine&&(y.symbolNeedLines[r]=!0),e.noDot?y.symbolNoDot[r]=!0:y.symbolList.push(r+200,String(r+200),t+"-dot",r+300,String(r+300),t+"-open-dot"),e.noFill&&(y.symbolNoFill[r]=!0)}));var b=y.symbolNames.length;function _(t,e){var r=t%100;return y.symbolFuncs[r](e)+(t>=200?"M0,0.5L0.5,0L0,-0.5L-0.5,0Z":"")}y.symbolNumber=function(t){if(i(t))t=+t;else if("string"==typeof t){var e=0;t.indexOf("-open")>0&&(e=100,t=t.replace("-open","")),t.indexOf("-dot")>0&&(e+=200,t=t.replace("-dot","")),(t=y.symbolNames.indexOf(t))>=0&&(t+=e)}return t%100>=b||t>=400?0:Math.floor(Math.max(t,0))};var w={x1:1,x2:0,y1:0,y2:0},T={x1:0,x2:0,y1:1,y2:0},k=n.format("~.1f"),M={radial:{node:"radialGradient"},radialreversed:{node:"radialGradient",reversed:!0},horizontal:{node:"linearGradient",attrs:w},horizontalreversed:{node:"linearGradient",attrs:w,reversed:!0},vertical:{node:"linearGradient",attrs:T},verticalreversed:{node:"linearGradient",attrs:T,reversed:!0}};y.gradient=function(t,e,r,i,o,l){for(var u=o.length,f=M[i],h=new Array(u),p=0;p<u;p++)f.reversed?h[u-1-p]=[k(100*(1-o[p][0])),o[p][1]]:h[p]=[k(100*o[p][0]),o[p][1]];var d=e._fullLayout,g="g"+d._uid+"-"+r,m=d._defs.select(".gradients").selectAll("#"+g).data([i+h.join(";")],c.identity);m.exit().remove(),m.enter().append(f.node).each((function(){var t=n.select(this);f.attrs&&t.attr(f.attrs),t.attr("id",g);var e=t.selectAll("stop").data(h);e.exit().remove(),e.enter().append("stop"),e.each((function(t){var e=a(t[1]);n.select(this).attr({offset:t[0]+"%","stop-color":s.tinyRGB(e),"stop-opacity":e.getAlpha()})}))})),t.style(l,O(g,e)).style(l+"-opacity",null);var v=function(t){return"."+t.attr("class").replace(/\s/g,".")},y=v(n.select(t.node().parentNode))+">"+v(t);d._gradientUrlQueryParts[y]=1},y.initGradients=function(t){var e=t._fullLayout;c.ensureSingle(e._defs,"g","gradients").selectAll("linearGradient,radialGradient").remove(),e._gradientUrlQueryParts={}},y.pointStyle=function(t,e,r){if(t.size()){var i=y.makePointStyleFns(e);t.each((function(t){y.singlePointStyle(t,n.select(this),e,i,r)}))}},y.singlePointStyle=function(t,e,r,n,i){var a=r.marker,o=a.line;if(e.style("opacity",n.selectedOpacityFn?n.selectedOpacityFn(t):void 0===t.mo?a.opacity:t.mo),n.ms2mrc){var l;l="various"===t.ms||"various"===a.size?3:n.ms2mrc(t.ms),t.mrc=l,n.selectedSizeFn&&(l=t.mrc=n.selectedSizeFn(t));var u=y.symbolNumber(t.mx||a.symbol)||0;t.om=u%200>=100,e.attr("d",_(u,l))}var f,h,p,d=!1;if(t.so)p=o.outlierwidth,h=o.outliercolor,f=a.outliercolor;else{var g=(o||{}).width;p=(t.mlw+1||g+1||(t.trace?(t.trace.marker.line||{}).width:0)+1)-1||0,h="mlc"in t?t.mlcc=n.lineScale(t.mlc):c.isArrayOrTypedArray(o.color)?s.defaultLine:o.color,c.isArrayOrTypedArray(a.color)&&(f=s.defaultLine,d=!0),f="mc"in t?t.mcc=n.markerScale(t.mc):a.color||"rgba(0,0,0,0)",n.selectedColorFn&&(f=n.selectedColorFn(t))}if(t.om)e.call(s.stroke,f).style({"stroke-width":(p||1)+"px",fill:"none"});else{e.style("stroke-width",(t.isBlank?0:p)+"px");var m=a.gradient,v=t.mgt;if(v?d=!0:v=m&&m.type,Array.isArray(v)&&(v=v[0],M[v]||(v=0)),v&&"none"!==v){var x=t.mgc;x?d=!0:x=m.color;var b=r.uid;d&&(b+="-"+t.i),y.gradient(e,i,b,v,[[0,x],[1,f]],"fill")}else s.fill(e,f);p&&s.stroke(e,h)}},y.makePointStyleFns=function(t){var e={},r=t.marker;return e.markerScale=y.tryColorscale(r,""),e.lineScale=y.tryColorscale(r,"line"),o.traceIs(t,"symbols")&&(e.ms2mrc=g.isBubble(t)?m(t):function(){return(r.size||6)/2}),t.selectedpoints&&c.extendFlat(e,y.makeSelectedPointStyleFns(t)),e},y.makeSelectedPointStyleFns=function(t){var e={},r=t.selected||{},n=t.unselected||{},i=t.marker||{},a=r.marker||{},s=n.marker||{},l=i.opacity,u=a.opacity,f=s.opacity,h=void 0!==u,p=void 0!==f;(c.isArrayOrTypedArray(l)||h||p)&&(e.selectedOpacityFn=function(t){var e=void 0===t.mo?i.opacity:t.mo;return t.selected?h?u:e:p?f:d*e});var g=i.color,m=a.color,v=s.color;(m||v)&&(e.selectedColorFn=function(t){var e=t.mcc||g;return t.selected?m||e:v||e});var y=i.size,x=a.size,b=s.size,_=void 0!==x,w=void 0!==b;return o.traceIs(t,"symbols")&&(_||w)&&(e.selectedSizeFn=function(t){var e=t.mrc||y/2;return t.selected?_?x/2:e:w?b/2:e}),e},y.makeSelectedTextStyleFns=function(t){var e={},r=t.selected||{},n=t.unselected||{},i=t.textfont||{},a=r.textfont||{},o=n.textfont||{},l=i.color,c=a.color,u=o.color;return e.selectedTextColorFn=function(t){var e=t.tc||l;return t.selected?c||e:u||(c?e:s.addOpacity(e,d))},e},y.selectedPointStyle=function(t,e){if(t.size()&&e.selectedpoints){var r=y.makeSelectedPointStyleFns(e),i=e.marker||{},a=[];r.selectedOpacityFn&&a.push((function(t,e){t.style("opacity",r.selectedOpacityFn(e))})),r.selectedColorFn&&a.push((function(t,e){s.fill(t,r.selectedColorFn(e))})),r.selectedSizeFn&&a.push((function(t,e){var n=e.mx||i.symbol||0,a=r.selectedSizeFn(e);t.attr("d",_(y.symbolNumber(n),a)),e.mrc2=a})),a.length&&t.each((function(t){for(var e=n.select(this),r=0;r<a.length;r++)a[r](e,t)}))}},y.tryColorscale=function(t,e){var r=e?c.nestedProperty(t,e).get():t;if(r){var n=r.color;if((r.colorscale||r._colorAx)&&c.isArrayOrTypedArray(n))return l.makeColorScaleFuncFromTrace(r)}return c.identity};var A={start:1,end:-1,middle:0,bottom:1,top:-1};function S(t,e,r,i){var a=n.select(t.node().parentNode),o=-1!==e.indexOf("top")?"top":-1!==e.indexOf("bottom")?"bottom":"middle",s=-1!==e.indexOf("left")?"end":-1!==e.indexOf("right")?"start":"middle",l=i?i/.8+1:0,c=(f.lineCount(t)-1)*p+1,h=A[s]*l,d=.75*r+A[o]*l+(A[o]-1)*c*r/2;t.attr("text-anchor",s),a.attr("transform",u(h,d))}function E(t,e){var r=t.ts||e.textfont.size;return i(r)&&r>0?r:0}y.textPointStyle=function(t,e,r){if(t.size()){var i;if(e.selectedpoints){var a=y.makeSelectedTextStyleFns(e);i=a.selectedTextColorFn}var o=e.texttemplate,s=r._fullLayout;t.each((function(t){var a=n.select(this),l=o?c.extractOption(t,e,"txt","texttemplate"):c.extractOption(t,e,"tx","text");if(l||0===l){if(o){var u=e._module.formatLabels?e._module.formatLabels(t,e,s):{},h={};v(h,e,t.i);var p=e._meta||{};l=c.texttemplateString(l,u,s._d3locale,h,t,p)}var d=t.tp||e.textposition,g=E(t,e),m=i?i(t):t.tc||e.textfont.color;a.call(y.font,t.tf||e.textfont.family,g,m).text(l).call(f.convertToTspans,r).call(S,d,g,t.mrc)}else a.remove()}))}},y.selectedTextStyle=function(t,e){if(t.size()&&e.selectedpoints){var r=y.makeSelectedTextStyleFns(e);t.each((function(t){var i=n.select(this),a=r.selectedTextColorFn(t),o=t.tp||e.textposition,l=E(t,e);s.fill(i,a),S(i,o,l,t.mrc2||t.mrc)}))}};function C(t,e,r,i){var a=t[0]-e[0],o=t[1]-e[1],s=r[0]-e[0],l=r[1]-e[1],c=Math.pow(a*a+o*o,.25),u=Math.pow(s*s+l*l,.25),f=(u*u*a-c*c*s)*i,h=(u*u*o-c*c*l)*i,p=3*u*(c+u),d=3*c*(c+u);return[[n.round(e[0]+(p&&f/p),2),n.round(e[1]+(p&&h/p),2)],[n.round(e[0]-(d&&f/d),2),n.round(e[1]-(d&&h/d),2)]]}y.smoothopen=function(t,e){if(t.length<3)return"M"+t.join("L");var r,n="M"+t[0],i=[];for(r=1;r<t.length-1;r++)i.push(C(t[r-1],t[r],t[r+1],e));for(n+="Q"+i[0][0]+" "+t[1],r=2;r<t.length-1;r++)n+="C"+i[r-2][1]+" "+i[r-1][0]+" "+t[r];return n+="Q"+i[t.length-3][1]+" "+t[t.length-1]},y.smoothclosed=function(t,e){if(t.length<3)return"M"+t.join("L")+"Z";var r,n="M"+t[0],i=t.length-1,a=[C(t[i],t[0],t[1],e)];for(r=1;r<i;r++)a.push(C(t[r-1],t[r],t[r+1],e));for(a.push(C(t[i-1],t[i],t[0],e)),r=1;r<=i;r++)n+="C"+a[r-1][1]+" "+a[r][0]+" "+t[r];return n+="C"+a[i][1]+" "+a[0][0]+" "+t[0]+"Z"};var L={hv:function(t,e){return"H"+n.round(e[0],2)+"V"+n.round(e[1],2)},vh:function(t,e){return"V"+n.round(e[1],2)+"H"+n.round(e[0],2)},hvh:function(t,e){return"H"+n.round((t[0]+e[0])/2,2)+"V"+n.round(e[1],2)+"H"+n.round(e[0],2)},vhv:function(t,e){return"V"+n.round((t[1]+e[1])/2,2)+"H"+n.round(e[0],2)+"V"+n.round(e[1],2)}},I=function(t,e){return"L"+n.round(e[0],2)+","+n.round(e[1],2)};y.steps=function(t){var e=L[t]||I;return function(t){for(var r="M"+n.round(t[0][0],2)+","+n.round(t[0][1],2),i=1;i<t.length;i++)r+=e(t[i-1],t[i]);return r}},y.makeTester=function(){var t=c.ensureSingleById(n.select("body"),"svg","js-plotly-tester",(function(t){t.attr(h.svgAttrs).style({position:"absolute",left:"-10000px",top:"-10000px",width:"9000px",height:"9000px","z-index":"1"})})),e=c.ensureSingle(t,"path","js-reference-point",(function(t){t.attr("d","M0,0H1V1H0Z").style({"stroke-width":0,fill:"black"})}));y.tester=t,y.testref=e},y.savedBBoxes={};var P=0;function z(t){var e=t.getAttribute("data-unformatted");if(null!==e)return e+t.getAttribute("data-math")+t.getAttribute("text-anchor")+t.getAttribute("style")}function O(t,e){if(!t)return null;var r=e._context;return"url('"+(r._exportedPlot?"":r._baseUrl||"")+"#"+t+"')"}y.bBox=function(t,e,r){var i,a,o;if(r||(r=z(t)),r){if(i=y.savedBBoxes[r])return c.extendFlat({},i)}else if(1===t.childNodes.length){var s=t.childNodes[0];if(r=z(s)){var l=+s.getAttribute("x")||0,u=+s.getAttribute("y")||0,h=s.getAttribute("transform");if(!h){var p=y.bBox(s,!1,r);return l&&(p.left+=l,p.right+=l),u&&(p.top+=u,p.bottom+=u),p}if(r+="~"+l+"~"+u+"~"+h,i=y.savedBBoxes[r])return c.extendFlat({},i)}}e?a=t:(o=y.tester.node(),a=t.cloneNode(!0),o.appendChild(a)),n.select(a).attr("transform",null).call(f.positionText,0,0);var d=a.getBoundingClientRect(),g=y.testref.node().getBoundingClientRect();e||o.removeChild(a);var m={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 P>=1e4&&(y.savedBBoxes={},P=0),r&&(y.savedBBoxes[r]=m),P++,c.extendFlat({},m)},y.setClipUrl=function(t,e,r){t.attr("clip-path",O(e,r))},y.getTranslate=function(t){var e=(t[t.attr?"attr":"getAttribute"]("transform")||"").replace(/.*\btranslate\((-?\d*\.?\d*)[^-\d]*(-?\d*\.?\d*)[^\d].*/,(function(t,e,r){return[e,r].join(" ")})).split(" ");return{x:+e[0]||0,y:+e[1]||0}},y.setTranslate=function(t,e,r){var n=t.attr?"attr":"getAttribute",i=t.attr?"attr":"setAttribute",a=t[n]("transform")||"";return e=e||0,r=r||0,a=a.replace(/(\btranslate\(.*?\);?)/,"").trim(),a=(a+=u(e,r)).trim(),t[i]("transform",a),a},y.getScale=function(t){var e=(t[t.attr?"attr":"getAttribute"]("transform")||"").replace(/.*\bscale\((\d*\.?\d*)[^\d]*(\d*\.?\d*)[^\d].*/,(function(t,e,r){return[e,r].join(" ")})).split(" ");return{x:+e[0]||1,y:+e[1]||1}},y.setScale=function(t,e,r){var n=t.attr?"attr":"getAttribute",i=t.attr?"attr":"setAttribute",a=t[n]("transform")||"";return e=e||1,r=r||1,a=a.replace(/(\bscale\(.*?\);?)/,"").trim(),a=(a+="scale("+e+","+r+")").trim(),t[i]("transform",a),a};var D=/\s*sc.*/;y.setPointGroupScale=function(t,e,r){if(e=e||1,r=r||1,t){var n=1===e&&1===r?"":"scale("+e+","+r+")";t.each((function(){var t=(this.getAttribute("transform")||"").replace(D,"");t=(t+=n).trim(),this.setAttribute("transform",t)}))}};var R=/translate\([^)]*\)\s*$/;y.setTextPointsScale=function(t,e,r){t&&t.each((function(){var t,i=n.select(this),a=i.select("text");if(a.node()){var o=parseFloat(a.attr("x")||0),s=parseFloat(a.attr("y")||0),l=(i.attr("transform")||"").match(R);t=1===e&&1===r?[]:[u(o,s),"scale("+e+","+r+")",u(-o,-s)],l&&t.push(l),i.attr("transform",t.join(""))}}))}},{"../../components/fx/helpers":679,"../../constants/alignment":745,"../../constants/interactions":752,"../../constants/xmlns_namespaces":754,"../../lib":778,"../../lib/svg_text_utils":803,"../../registry":911,"../../traces/scatter/make_bubble_size_func":1204,"../../traces/scatter/subtypes":1212,"../color":643,"../colorscale":655,"./symbol_defs":666,d3:169,"fast-isnumeric":241,tinycolor2:576}],666:[function(t,e,r){"use strict";var n=t("d3");e.exports={circle:{n:0,f:function(t){var e=n.round(t,2);return"M"+e+",0A"+e+","+e+" 0 1,1 0,-"+e+"A"+e+","+e+" 0 0,1 "+e+",0Z"}},square:{n:1,f:function(t){var e=n.round(t,2);return"M"+e+","+e+"H-"+e+"V-"+e+"H"+e+"Z"}},diamond:{n:2,f:function(t){var e=n.round(1.3*t,2);return"M"+e+",0L0,"+e+"L-"+e+",0L0,-"+e+"Z"}},cross:{n:3,f:function(t){var e=n.round(.4*t,2),r=n.round(1.2*t,2);return"M"+r+","+e+"H"+e+"V"+r+"H-"+e+"V"+e+"H-"+r+"V-"+e+"H-"+e+"V-"+r+"H"+e+"V-"+e+"H"+r+"Z"}},x:{n:4,f:function(t){var e=n.round(.8*t/Math.sqrt(2),2),r="l"+e+","+e,i="l"+e+",-"+e,a="l-"+e+",-"+e,o="l-"+e+","+e;return"M0,"+e+r+i+a+i+a+o+a+o+r+o+r+"Z"}},"triangle-up":{n:5,f:function(t){var e=n.round(2*t/Math.sqrt(3),2);return"M-"+e+","+n.round(t/2,2)+"H"+e+"L0,-"+n.round(t,2)+"Z"}},"triangle-down":{n:6,f:function(t){var e=n.round(2*t/Math.sqrt(3),2);return"M-"+e+",-"+n.round(t/2,2)+"H"+e+"L0,"+n.round(t,2)+"Z"}},"triangle-left":{n:7,f:function(t){var e=n.round(2*t/Math.sqrt(3),2);return"M"+n.round(t/2,2)+",-"+e+"V"+e+"L-"+n.round(t,2)+",0Z"}},"triangle-right":{n:8,f:function(t){var e=n.round(2*t/Math.sqrt(3),2);return"M-"+n.round(t/2,2)+",-"+e+"V"+e+"L"+n.round(t,2)+",0Z"}},"triangle-ne":{n:9,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return"M-"+r+",-"+e+"H"+e+"V"+r+"Z"}},"triangle-se":{n:10,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return"M"+e+",-"+r+"V"+e+"H-"+r+"Z"}},"triangle-sw":{n:11,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return"M"+r+","+e+"H-"+e+"V-"+r+"Z"}},"triangle-nw":{n:12,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return"M-"+e+","+r+"V-"+e+"H"+r+"Z"}},pentagon:{n:13,f:function(t){var e=n.round(.951*t,2),r=n.round(.588*t,2),i=n.round(-t,2),a=n.round(-.309*t,2);return"M"+e+","+a+"L"+r+","+n.round(.809*t,2)+"H-"+r+"L-"+e+","+a+"L0,"+i+"Z"}},hexagon:{n:14,f:function(t){var e=n.round(t,2),r=n.round(t/2,2),i=n.round(t*Math.sqrt(3)/2,2);return"M"+i+",-"+r+"V"+r+"L0,"+e+"L-"+i+","+r+"V-"+r+"L0,-"+e+"Z"}},hexagon2:{n:15,f:function(t){var e=n.round(t,2),r=n.round(t/2,2),i=n.round(t*Math.sqrt(3)/2,2);return"M-"+r+","+i+"H"+r+"L"+e+",0L"+r+",-"+i+"H-"+r+"L-"+e+",0Z"}},octagon:{n:16,f:function(t){var e=n.round(.924*t,2),r=n.round(.383*t,2);return"M-"+r+",-"+e+"H"+r+"L"+e+",-"+r+"V"+r+"L"+r+","+e+"H-"+r+"L-"+e+","+r+"V-"+r+"Z"}},star:{n:17,f:function(t){var e=1.4*t,r=n.round(.225*e,2),i=n.round(.951*e,2),a=n.round(.363*e,2),o=n.round(.588*e,2),s=n.round(-e,2),l=n.round(-.309*e,2),c=n.round(.118*e,2),u=n.round(.809*e,2);return"M"+r+","+l+"H"+i+"L"+a+","+c+"L"+o+","+u+"L0,"+n.round(.382*e,2)+"L-"+o+","+u+"L-"+a+","+c+"L-"+i+","+l+"H-"+r+"L0,"+s+"Z"}},hexagram:{n:18,f:function(t){var e=n.round(.66*t,2),r=n.round(.38*t,2),i=n.round(.76*t,2);return"M-"+i+",0l-"+r+",-"+e+"h"+i+"l"+r+",-"+e+"l"+r+","+e+"h"+i+"l-"+r+","+e+"l"+r+","+e+"h-"+i+"l-"+r+","+e+"l-"+r+",-"+e+"h-"+i+"Z"}},"star-triangle-up":{n:19,f:function(t){var e=n.round(t*Math.sqrt(3)*.8,2),r=n.round(.8*t,2),i=n.round(1.6*t,2),a=n.round(4*t,2),o="A "+a+","+a+" 0 0 1 ";return"M-"+e+","+r+o+e+","+r+o+"0,-"+i+o+"-"+e+","+r+"Z"}},"star-triangle-down":{n:20,f:function(t){var e=n.round(t*Math.sqrt(3)*.8,2),r=n.round(.8*t,2),i=n.round(1.6*t,2),a=n.round(4*t,2),o="A "+a+","+a+" 0 0 1 ";return"M"+e+",-"+r+o+"-"+e+",-"+r+o+"0,"+i+o+e+",-"+r+"Z"}},"star-square":{n:21,f:function(t){var e=n.round(1.1*t,2),r=n.round(2*t,2),i="A "+r+","+r+" 0 0 1 ";return"M-"+e+",-"+e+i+"-"+e+","+e+i+e+","+e+i+e+",-"+e+i+"-"+e+",-"+e+"Z"}},"star-diamond":{n:22,f:function(t){var e=n.round(1.4*t,2),r=n.round(1.9*t,2),i="A "+r+","+r+" 0 0 1 ";return"M-"+e+",0"+i+"0,"+e+i+e+",0"+i+"0,-"+e+i+"-"+e+",0Z"}},"diamond-tall":{n:23,f:function(t){var e=n.round(.7*t,2),r=n.round(1.4*t,2);return"M0,"+r+"L"+e+",0L0,-"+r+"L-"+e+",0Z"}},"diamond-wide":{n:24,f:function(t){var e=n.round(1.4*t,2),r=n.round(.7*t,2);return"M0,"+r+"L"+e+",0L0,-"+r+"L-"+e+",0Z"}},hourglass:{n:25,f:function(t){var e=n.round(t,2);return"M"+e+","+e+"H-"+e+"L"+e+",-"+e+"H-"+e+"Z"},noDot:!0},bowtie:{n:26,f:function(t){var e=n.round(t,2);return"M"+e+","+e+"V-"+e+"L-"+e+","+e+"V-"+e+"Z"},noDot:!0},"circle-cross":{n:27,f:function(t){var e=n.round(t,2);return"M0,"+e+"V-"+e+"M"+e+",0H-"+e+"M"+e+",0A"+e+","+e+" 0 1,1 0,-"+e+"A"+e+","+e+" 0 0,1 "+e+",0Z"},needLine:!0,noDot:!0},"circle-x":{n:28,f:function(t){var e=n.round(t,2),r=n.round(t/Math.sqrt(2),2);return"M"+r+","+r+"L-"+r+",-"+r+"M"+r+",-"+r+"L-"+r+","+r+"M"+e+",0A"+e+","+e+" 0 1,1 0,-"+e+"A"+e+","+e+" 0 0,1 "+e+",0Z"},needLine:!0,noDot:!0},"square-cross":{n:29,f:function(t){var e=n.round(t,2);return"M0,"+e+"V-"+e+"M"+e+",0H-"+e+"M"+e+","+e+"H-"+e+"V-"+e+"H"+e+"Z"},needLine:!0,noDot:!0},"square-x":{n:30,f:function(t){var e=n.round(t,2);return"M"+e+","+e+"L-"+e+",-"+e+"M"+e+",-"+e+"L-"+e+","+e+"M"+e+","+e+"H-"+e+"V-"+e+"H"+e+"Z"},needLine:!0,noDot:!0},"diamond-cross":{n:31,f:function(t){var e=n.round(1.3*t,2);return"M"+e+",0L0,"+e+"L-"+e+",0L0,-"+e+"ZM0,-"+e+"V"+e+"M-"+e+",0H"+e},needLine:!0,noDot:!0},"diamond-x":{n:32,f:function(t){var e=n.round(1.3*t,2),r=n.round(.65*t,2);return"M"+e+",0L0,"+e+"L-"+e+",0L0,-"+e+"ZM-"+r+",-"+r+"L"+r+","+r+"M-"+r+","+r+"L"+r+",-"+r},needLine:!0,noDot:!0},"cross-thin":{n:33,f:function(t){var e=n.round(1.4*t,2);return"M0,"+e+"V-"+e+"M"+e+",0H-"+e},needLine:!0,noDot:!0,noFill:!0},"x-thin":{n:34,f:function(t){var e=n.round(t,2);return"M"+e+","+e+"L-"+e+",-"+e+"M"+e+",-"+e+"L-"+e+","+e},needLine:!0,noDot:!0,noFill:!0},asterisk:{n:35,f:function(t){var e=n.round(1.2*t,2),r=n.round(.85*t,2);return"M0,"+e+"V-"+e+"M"+e+",0H-"+e+"M"+r+","+r+"L-"+r+",-"+r+"M"+r+",-"+r+"L-"+r+","+r},needLine:!0,noDot:!0,noFill:!0},hash:{n:36,f:function(t){var e=n.round(t/2,2),r=n.round(t,2);return"M"+e+","+r+"V-"+r+"m-"+r+",0V"+r+"M"+r+","+e+"H-"+r+"m0,-"+r+"H"+r},needLine:!0,noFill:!0},"y-up":{n:37,f:function(t){var e=n.round(1.2*t,2),r=n.round(1.6*t,2),i=n.round(.8*t,2);return"M-"+e+","+i+"L0,0M"+e+","+i+"L0,0M0,-"+r+"L0,0"},needLine:!0,noDot:!0,noFill:!0},"y-down":{n:38,f:function(t){var e=n.round(1.2*t,2),r=n.round(1.6*t,2),i=n.round(.8*t,2);return"M-"+e+",-"+i+"L0,0M"+e+",-"+i+"L0,0M0,"+r+"L0,0"},needLine:!0,noDot:!0,noFill:!0},"y-left":{n:39,f:function(t){var e=n.round(1.2*t,2),r=n.round(1.6*t,2),i=n.round(.8*t,2);return"M"+i+","+e+"L0,0M"+i+",-"+e+"L0,0M-"+r+",0L0,0"},needLine:!0,noDot:!0,noFill:!0},"y-right":{n:40,f:function(t){var e=n.round(1.2*t,2),r=n.round(1.6*t,2),i=n.round(.8*t,2);return"M-"+i+","+e+"L0,0M-"+i+",-"+e+"L0,0M"+r+",0L0,0"},needLine:!0,noDot:!0,noFill:!0},"line-ew":{n:41,f:function(t){var e=n.round(1.4*t,2);return"M"+e+",0H-"+e},needLine:!0,noDot:!0,noFill:!0},"line-ns":{n:42,f:function(t){var e=n.round(1.4*t,2);return"M0,"+e+"V-"+e},needLine:!0,noDot:!0,noFill:!0},"line-ne":{n:43,f:function(t){var e=n.round(t,2);return"M"+e+",-"+e+"L-"+e+","+e},needLine:!0,noDot:!0,noFill:!0},"line-nw":{n:44,f:function(t){var e=n.round(t,2);return"M"+e+","+e+"L-"+e+",-"+e},needLine:!0,noDot:!0,noFill:!0},"arrow-up":{n:45,f:function(t){var e=n.round(t,2);return"M0,0L-"+e+","+n.round(2*t,2)+"H"+e+"Z"},noDot:!0},"arrow-down":{n:46,f:function(t){var e=n.round(t,2);return"M0,0L-"+e+",-"+n.round(2*t,2)+"H"+e+"Z"},noDot:!0},"arrow-left":{n:47,f:function(t){var e=n.round(2*t,2),r=n.round(t,2);return"M0,0L"+e+",-"+r+"V"+r+"Z"},noDot:!0},"arrow-right":{n:48,f:function(t){var e=n.round(2*t,2),r=n.round(t,2);return"M0,0L-"+e+",-"+r+"V"+r+"Z"},noDot:!0},"arrow-bar-up":{n:49,f:function(t){var e=n.round(t,2);return"M-"+e+",0H"+e+"M0,0L-"+e+","+n.round(2*t,2)+"H"+e+"Z"},needLine:!0,noDot:!0},"arrow-bar-down":{n:50,f:function(t){var e=n.round(t,2);return"M-"+e+",0H"+e+"M0,0L-"+e+",-"+n.round(2*t,2)+"H"+e+"Z"},needLine:!0,noDot:!0},"arrow-bar-left":{n:51,f:function(t){var e=n.round(2*t,2),r=n.round(t,2);return"M0,-"+r+"V"+r+"M0,0L"+e+",-"+r+"V"+r+"Z"},needLine:!0,noDot:!0},"arrow-bar-right":{n:52,f:function(t){var e=n.round(2*t,2),r=n.round(t,2);return"M0,-"+r+"V"+r+"M0,0L-"+e+",-"+r+"V"+r+"Z"},needLine:!0,noDot:!0}}},{d3:169}],667:[function(t,e,r){"use strict";e.exports={visible:{valType:"boolean",editType:"calc"},type:{valType:"enumerated",values:["percent","constant","sqrt","data"],editType:"calc"},symmetric:{valType:"boolean",editType:"calc"},array:{valType:"data_array",editType:"calc"},arrayminus:{valType:"data_array",editType:"calc"},value:{valType:"number",min:0,dflt:10,editType:"calc"},valueminus:{valType:"number",min:0,dflt:10,editType:"calc"},traceref:{valType:"integer",min:0,dflt:0,editType:"style"},tracerefminus:{valType:"integer",min:0,dflt:0,editType:"style"},copy_ystyle:{valType:"boolean",editType:"plot"},copy_zstyle:{valType:"boolean",editType:"style"},color:{valType:"color",editType:"style"},thickness:{valType:"number",min:0,dflt:2,editType:"style"},width:{valType:"number",min:0,editType:"plot"},editType:"calc",_deprecated:{opacity:{valType:"number",editType:"style"}}}},{}],668:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../registry"),a=t("../../plots/cartesian/axes"),o=t("../../lib"),s=t("./compute_error");function l(t,e,r,i){var l=e["error_"+i]||{},c=[];if(l.visible&&-1!==["linear","log"].indexOf(r.type)){for(var u=s(l),f=0;f<t.length;f++){var h=t[f],p=h.i;if(void 0===p)p=f;else if(null===p)continue;var d=h[i];if(n(r.c2l(d))){var g=u(d,p);if(n(g[0])&&n(g[1])){var m=h[i+"s"]=d-g[0],v=h[i+"h"]=d+g[1];c.push(m,v)}}}var y=r._id,x=e._extremes[y],b=a.findExtremes(r,c,o.extendFlat({tozero:x.opts.tozero},{padded:!0}));x.min=x.min.concat(b.min),x.max=x.max.concat(b.max)}}e.exports=function(t){for(var e=t.calcdata,r=0;r<e.length;r++){var n=e[r],o=n[0].trace;if(!0===o.visible&&i.traceIs(o,"errorBarsOK")){var s=a.getFromId(t,o.xaxis),c=a.getFromId(t,o.yaxis);l(n,o,s,"x"),l(n,o,c,"y")}}}},{"../../lib":778,"../../plots/cartesian/axes":828,"../../registry":911,"./compute_error":669,"fast-isnumeric":241}],669:[function(t,e,r){"use strict";function n(t,e){return"percent"===t?function(t){return Math.abs(t*e/100)}:"constant"===t?function(){return Math.abs(e)}:"sqrt"===t?function(t){return Math.sqrt(Math.abs(t))}:void 0}e.exports=function(t){var e=t.type,r=t.symmetric;if("data"===e){var i=t.array||[];if(r)return function(t,e){var r=+i[e];return[r,r]};var a=t.arrayminus||[];return function(t,e){var r=+i[e],n=+a[e];return isNaN(r)&&isNaN(n)?[NaN,NaN]:[n||0,r||0]}}var o=n(e,t.value),s=n(e,t.valueminus);return r||void 0===t.valueminus?function(t){var e=o(t);return[e,e]}:function(t){return[s(t),o(t)]}}},{}],670:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../registry"),a=t("../../lib"),o=t("../../plot_api/plot_template"),s=t("./attributes");e.exports=function(t,e,r,l){var c="error_"+l.axis,u=o.newContainer(e,c),f=t[c]||{};function h(t,e){return a.coerce(f,u,s,t,e)}if(!1!==h("visible",void 0!==f.array||void 0!==f.value||"sqrt"===f.type)){var p=h("type","array"in f?"data":"percent"),d=!0;"sqrt"!==p&&(d=h("symmetric",!(("data"===p?"arrayminus":"valueminus")in f))),"data"===p?(h("array"),h("traceref"),d||(h("arrayminus"),h("tracerefminus"))):"percent"!==p&&"constant"!==p||(h("value"),d||h("valueminus"));var g="copy_"+l.inherit+"style";if(l.inherit)(e["error_"+l.inherit]||{}).visible&&h(g,!(f.color||n(f.thickness)||n(f.width)));l.inherit&&u[g]||(h("color",r),h("thickness"),h("width",i.traceIs(e,"gl3d")?0:4))}}},{"../../lib":778,"../../plot_api/plot_template":817,"../../registry":911,"./attributes":667,"fast-isnumeric":241}],671:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../plot_api/edit_types").overrideAll,a=t("./attributes"),o={error_x:n.extendFlat({},a),error_y:n.extendFlat({},a)};delete o.error_x.copy_zstyle,delete o.error_y.copy_zstyle,delete o.error_y.copy_ystyle;var s={error_x:n.extendFlat({},a),error_y:n.extendFlat({},a),error_z:n.extendFlat({},a)};delete s.error_x.copy_ystyle,delete s.error_y.copy_ystyle,delete s.error_z.copy_ystyle,delete s.error_z.copy_zstyle,e.exports={moduleType:"component",name:"errorbars",schema:{traces:{scatter:o,bar:o,histogram:o,scatter3d:i(s,"calc","nested"),scattergl:i(o,"calc","nested")}},supplyDefaults:t("./defaults"),calc:t("./calc"),makeComputeError:t("./compute_error"),plot:t("./plot"),style:t("./style"),hoverInfo:function(t,e,r){(e.error_y||{}).visible&&(r.yerr=t.yh-t.y,e.error_y.symmetric||(r.yerrneg=t.y-t.ys));(e.error_x||{}).visible&&(r.xerr=t.xh-t.x,e.error_x.symmetric||(r.xerrneg=t.x-t.xs))}}},{"../../lib":778,"../../plot_api/edit_types":810,"./attributes":667,"./calc":668,"./compute_error":669,"./defaults":670,"./plot":672,"./style":673}],672:[function(t,e,r){"use strict";var n=t("d3"),i=t("fast-isnumeric"),a=t("../drawing"),o=t("../../traces/scatter/subtypes");e.exports=function(t,e,r,s){var l=r.xaxis,c=r.yaxis,u=s&&s.duration>0;e.each((function(e){var f,h=e[0].trace,p=h.error_x||{},d=h.error_y||{};h.ids&&(f=function(t){return t.id});var g=o.hasMarkers(h)&&h.marker.maxdisplayed>0;d.visible||p.visible||(e=[]);var m=n.select(this).selectAll("g.errorbar").data(e,f);if(m.exit().remove(),e.length){p.visible||m.selectAll("path.xerror").remove(),d.visible||m.selectAll("path.yerror").remove(),m.style("opacity",1);var v=m.enter().append("g").classed("errorbar",!0);u&&v.style("opacity",0).transition().duration(s.duration).style("opacity",1),a.setClipUrl(m,r.layerClipId,t),m.each((function(t){var e=n.select(this),r=function(t,e,r){var n={x:e.c2p(t.x),y:r.c2p(t.y)};void 0!==t.yh&&(n.yh=r.c2p(t.yh),n.ys=r.c2p(t.ys),i(n.ys)||(n.noYS=!0,n.ys=r.c2p(t.ys,!0)));void 0!==t.xh&&(n.xh=e.c2p(t.xh),n.xs=e.c2p(t.xs),i(n.xs)||(n.noXS=!0,n.xs=e.c2p(t.xs,!0)));return n}(t,l,c);if(!g||t.vis){var a,o=e.select("path.yerror");if(d.visible&&i(r.x)&&i(r.yh)&&i(r.ys)){var f=d.width;a="M"+(r.x-f)+","+r.yh+"h"+2*f+"m-"+f+",0V"+r.ys,r.noYS||(a+="m-"+f+",0h"+2*f),!o.size()?o=e.append("path").style("vector-effect","non-scaling-stroke").classed("yerror",!0):u&&(o=o.transition().duration(s.duration).ease(s.easing)),o.attr("d",a)}else o.remove();var h=e.select("path.xerror");if(p.visible&&i(r.y)&&i(r.xh)&&i(r.xs)){var m=(p.copy_ystyle?d:p).width;a="M"+r.xh+","+(r.y-m)+"v"+2*m+"m0,-"+m+"H"+r.xs,r.noXS||(a+="m0,-"+m+"v"+2*m),!h.size()?h=e.append("path").style("vector-effect","non-scaling-stroke").classed("xerror",!0):u&&(h=h.transition().duration(s.duration).ease(s.easing)),h.attr("d",a)}else h.remove()}}))}}))}},{"../../traces/scatter/subtypes":1212,"../drawing":665,d3:169,"fast-isnumeric":241}],673:[function(t,e,r){"use strict";var n=t("d3"),i=t("../color");e.exports=function(t){t.each((function(t){var e=t[0].trace,r=e.error_y||{},a=e.error_x||{},o=n.select(this);o.selectAll("path.yerror").style("stroke-width",r.thickness+"px").call(i.stroke,r.color),a.copy_ystyle&&(a=r),o.selectAll("path.xerror").style("stroke-width",a.thickness+"px").call(i.stroke,a.color)}))}},{"../color":643,d3:169}],674:[function(t,e,r){"use strict";var n=t("../../plots/font_attributes"),i=t("./layout_attributes").hoverlabel,a=t("../../lib/extend").extendFlat;e.exports={hoverlabel:{bgcolor:a({},i.bgcolor,{arrayOk:!0}),bordercolor:a({},i.bordercolor,{arrayOk:!0}),font:n({arrayOk:!0,editType:"none"}),align:a({},i.align,{arrayOk:!0}),namelength:a({},i.namelength,{arrayOk:!0}),editType:"none"}}},{"../../lib/extend":768,"../../plots/font_attributes":856,"./layout_attributes":684}],675:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../registry");function a(t,e,r,i){i=i||n.identity,Array.isArray(t)&&(e[0][r]=i(t))}e.exports=function(t){var e=t.calcdata,r=t._fullLayout;function o(t){return function(e){return n.coerceHoverinfo({hoverinfo:e},{_module:t._module},r)}}for(var s=0;s<e.length;s++){var l=e[s],c=l[0].trace;if(!i.traceIs(c,"pie-like")){var u=i.traceIs(c,"2dMap")?a:n.fillArray;u(c.hoverinfo,l,"hi",o(c)),c.hovertemplate&&u(c.hovertemplate,l,"ht"),c.hoverlabel&&(u(c.hoverlabel.bgcolor,l,"hbg"),u(c.hoverlabel.bordercolor,l,"hbc"),u(c.hoverlabel.font.size,l,"hts"),u(c.hoverlabel.font.color,l,"htc"),u(c.hoverlabel.font.family,l,"htf"),u(c.hoverlabel.namelength,l,"hnl"),u(c.hoverlabel.align,l,"hta"))}}}},{"../../lib":778,"../../registry":911}],676:[function(t,e,r){"use strict";var n=t("../../registry"),i=t("./hover").hover;e.exports=function(t,e,r){var a=n.getComponentMethod("annotations","onClick")(t,t._hoverdata);function o(){t.emit("plotly_click",{points:t._hoverdata,event:e})}void 0!==r&&i(t,e,r,!0),t._hoverdata&&e&&e.target&&(a&&a.then?a.then(o):o(),e.stopImmediatePropagation&&e.stopImmediatePropagation())}},{"../../registry":911,"./hover":680}],677:[function(t,e,r){"use strict";e.exports={YANGLE:60,HOVERARROWSIZE:6,HOVERTEXTPAD:3,HOVERFONTSIZE:13,HOVERFONT:"Arial, sans-serif",HOVERMINTIME:50,HOVERID:"-hover"}},{}],678:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./attributes"),a=t("./hoverlabel_defaults");e.exports=function(t,e,r,o){var s=n.extendFlat({},o.hoverlabel);e.hovertemplate&&(s.namelength=-1),a(t,e,(function(r,a){return n.coerce(t,e,i,r,a)}),s)}},{"../../lib":778,"./attributes":674,"./hoverlabel_defaults":681}],679:[function(t,e,r){"use strict";var n=t("../../lib");r.getSubplot=function(t){return t.subplot||t.xaxis+t.yaxis||t.geo},r.isTraceInSubplots=function(t,e){if("splom"===t.type){for(var n=t.xaxes||[],i=t.yaxes||[],a=0;a<n.length;a++)for(var o=0;o<i.length;o++)if(-1!==e.indexOf(n[a]+i[o]))return!0;return!1}return-1!==e.indexOf(r.getSubplot(t))},r.flat=function(t,e){for(var r=new Array(t.length),n=0;n<t.length;n++)r[n]=e;return r},r.p2c=function(t,e){for(var r=new Array(t.length),n=0;n<t.length;n++)r[n]=t[n].p2c(e);return r},r.getDistanceFunction=function(t,e,n,i){return"closest"===t?i||r.quadrature(e,n):"x"===t.charAt(0)?e:n},r.getClosest=function(t,e,r){if(!1!==r.index)r.index>=0&&r.index<t.length?r.distance=0:r.index=!1;else for(var n=0;n<t.length;n++){var i=e(t[n]);i<=r.distance&&(r.index=n,r.distance=i)}return r},r.inbox=function(t,e,r){return t*e<0||0===t?r:1/0},r.quadrature=function(t,e){return function(r){var n=t(r),i=e(r);return Math.sqrt(n*n+i*i)}},r.makeEventData=function(t,e,n){var i="index"in t?t.index:t.pointNumber,a={data:e._input,fullData:e,curveNumber:e.index,pointNumber:i};if(e._indexToPoints){var o=e._indexToPoints[i];1===o.length?a.pointIndex=o[0]:a.pointIndices=o}else a.pointIndex=i;return e._module.eventData?a=e._module.eventData(a,t,e,n,i):("xVal"in t?a.x=t.xVal:"x"in t&&(a.x=t.x),"yVal"in t?a.y=t.yVal:"y"in t&&(a.y=t.y),t.xa&&(a.xaxis=t.xa),t.ya&&(a.yaxis=t.ya),void 0!==t.zLabelVal&&(a.z=t.zLabelVal)),r.appendArrayPointValue(a,e,i),a},r.appendArrayPointValue=function(t,e,r){var i=e._arrayAttrs;if(i)for(var s=0;s<i.length;s++){var l=i[s],c=a(l);if(void 0===t[c]){var u=o(n.nestedProperty(e,l).get(),r);void 0!==u&&(t[c]=u)}}},r.appendArrayMultiPointValues=function(t,e,r){var i=e._arrayAttrs;if(i)for(var s=0;s<i.length;s++){var l=i[s],c=a(l);if(void 0===t[c]){for(var u=n.nestedProperty(e,l).get(),f=new Array(r.length),h=0;h<r.length;h++)f[h]=o(u,r[h]);t[c]=f}}};var i={ids:"id",locations:"location",labels:"label",values:"value","marker.colors":"color",parents:"parent"};function a(t){return i[t]||t}function o(t,e){return Array.isArray(e)?Array.isArray(t)&&Array.isArray(t[e[0]])?t[e[0]][e[1]]:void 0:t[e]}var s={x:!0,y:!0},l={"x unified":!0,"y unified":!0};r.isUnifiedHover=function(t){return"string"==typeof t&&!!l[t]},r.isXYhover=function(t){return"string"==typeof t&&!!s[t]}},{"../../lib":778}],680:[function(t,e,r){"use strict";var n=t("d3"),i=t("fast-isnumeric"),a=t("tinycolor2"),o=t("../../lib"),s=o.strTranslate,l=o.strRotate,c=t("../../lib/events"),u=t("../../lib/svg_text_utils"),f=t("../../lib/override_cursor"),h=t("../drawing"),p=t("../color"),d=t("../dragelement"),g=t("../../plots/cartesian/axes"),m=t("../../registry"),v=t("./helpers"),y=t("./constants"),x=t("../legend/defaults"),b=t("../legend/draw"),_=y.YANGLE,w=Math.PI*_/180,T=1/Math.sin(w),k=Math.cos(w),M=Math.sin(w),A=y.HOVERARROWSIZE,S=y.HOVERTEXTPAD;function E(t){return[t.trace.index,t.index,t.x0,t.y0,t.name,t.attr,t.xa,t.ya||""].join(",")}r.hover=function(t,e,r,a){t=o.getGraphDiv(t),o.throttle(t._fullLayout._uid+y.HOVERID,y.HOVERMINTIME,(function(){!function(t,e,r,a){r||(r="xy");var s=Array.isArray(r)?r:[r],l=t._fullLayout,u=l._plots||[],h=u[r],g=l._has("cartesian");if(h){var y=h.overlays.map((function(t){return t.id}));s=s.concat(y)}for(var x=s.length,b=new Array(x),_=new Array(x),w=!1,k=0;k<x;k++){var M=s[k];if(u[M])w=!0,b[k]=u[M].xaxis,_[k]=u[M].yaxis;else{if(!l[M]||!l[M]._subplot)return void o.warn("Unrecognized subplot: "+M);var A=l[M]._subplot;b[k]=A.xaxis,_[k]=A.yaxis}}var S=e.hovermode||l.hovermode;S&&!w&&(S="closest");if(-1===["x","y","closest","x unified","y unified"].indexOf(S)||!t.calcdata||t.querySelector(".zoombox")||t._dragging)return d.unhoverRaw(t,e);var C,I,R,F,B,N,j,U,V,q,H,G,Y,W=-1===l.hoverdistance?1/0:l.hoverdistance,X=-1===l.spikedistance?1/0:l.spikedistance,Z=[],J=[],K={hLinePoint:null,vLinePoint:null},Q=!1;if(Array.isArray(e))for(S="array",R=0;R<e.length;R++)(B=t.calcdata[e[R].curveNumber||0])&&(N=B[0].trace,"skip"!==B[0].trace.hoverinfo&&(J.push(B),"h"===N.orientation&&(Q=!0)));else{for(F=0;F<t.calcdata.length;F++)B=t.calcdata[F],"skip"!==(N=B[0].trace).hoverinfo&&v.isTraceInSubplots(N,s)&&(J.push(B),"h"===N.orientation&&(Q=!0));var $,tt;if(!e.target)$="xpx"in e?e.xpx:b[0]._length/2,tt="ypx"in e?e.ypx:_[0]._length/2;else{if(!1===c.triggerHandler(t,"plotly_beforehover",e))return;var et=e.target.getBoundingClientRect();$=e.clientX-et.left,tt=e.clientY-et.top,l._calcInverseTransform(t);var rt=o.apply3DTransform(l._invTransform)($,tt);if($=rt[0],tt=rt[1],$<0||$>b[0]._length||tt<0||tt>_[0]._length)return d.unhoverRaw(t,e)}if(e.pointerX=$+b[0]._offset,e.pointerY=tt+_[0]._offset,C="xval"in e?v.flat(s,e.xval):v.p2c(b,$),I="yval"in e?v.flat(s,e.yval):v.p2c(_,tt),!i(C[0])||!i(I[0]))return o.warn("Fx.hover failed",e,t),d.unhoverRaw(t,e)}var nt=1/0;function it(t,r){for(F=0;F<J.length;F++)if((B=J[F])&&B[0]&&B[0].trace&&!0===(N=B[0].trace).visible&&0!==N._length&&-1===["carpet","contourcarpet"].indexOf(N._module.name)){if("splom"===N.type?j=s[U=0]:(j=v.getSubplot(N),U=s.indexOf(j)),V=S,v.isUnifiedHover(V)&&(V=V.charAt(0)),G={cd:B,trace:N,xa:b[U],ya:_[U],maxHoverDistance:W,maxSpikeDistance:X,index:!1,distance:Math.min(nt,W),spikeDistance:1/0,xSpike:void 0,ySpike:void 0,color:p.defaultLine,name:N.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},l[j]&&(G.subplot=l[j]._subplot),l._splomScenes&&l._splomScenes[N.uid]&&(G.scene=l._splomScenes[N.uid]),Y=Z.length,"array"===V){var n=e[F];"pointNumber"in n?(G.index=n.pointNumber,V="closest"):(V="","xval"in n&&(q=n.xval,V="x"),"yval"in n&&(H=n.yval,V=V?"closest":"y"))}else void 0!==t&&void 0!==r?(q=t,H=r):(q=C[U],H=I[U]);if(0!==W)if(N._module&&N._module.hoverPoints){var a=N._module.hoverPoints(G,q,H,V,l._hoverlayer);if(a)for(var c,u=0;u<a.length;u++)c=a[u],i(c.x0)&&i(c.y0)&&Z.push(z(c,S))}else o.log("Unrecognized trace type in hover:",N);if("closest"===S&&Z.length>Y&&(Z.splice(0,Y),nt=Z[0].distance),g&&0!==X&&0===Z.length){G.distance=X,G.index=!1;var f=N._module.hoverPoints(G,q,H,"closest",l._hoverlayer);if(f&&(f=f.filter((function(t){return t.spikeDistance<=X}))),f&&f.length){var h,d=f.filter((function(t){return t.xa.showspikes&&"hovered data"!==t.xa.spikesnap}));if(d.length){var m=d[0];i(m.x0)&&i(m.y0)&&(h=ot(m),(!K.vLinePoint||K.vLinePoint.spikeDistance>h.spikeDistance)&&(K.vLinePoint=h))}var y=f.filter((function(t){return t.ya.showspikes&&"hovered data"!==t.ya.spikesnap}));if(y.length){var x=y[0];i(x.x0)&&i(x.y0)&&(h=ot(x),(!K.hLinePoint||K.hLinePoint.spikeDistance>h.spikeDistance)&&(K.hLinePoint=h))}}}}}function at(t,e){for(var r,n=null,i=1/0,a=0;a<t.length;a++)(r=t[a].spikeDistance)<=i&&r<=e&&(n=t[a],i=r);return n}function ot(t){return t?{xa:t.xa,ya:t.ya,x:void 0!==t.xSpike?t.xSpike:(t.x0+t.x1)/2,y:void 0!==t.ySpike?t.ySpike:(t.y0+t.y1)/2,distance:t.distance,spikeDistance:t.spikeDistance,curveNumber:t.trace.index,color:t.color,pointNumber:t.index}:null}it();var st={fullLayout:l,container:l._hoverlayer,outerContainer:l._paperdiv,event:e},lt=t._spikepoints,ct={vLinePoint:K.vLinePoint,hLinePoint:K.hLinePoint};if(t._spikepoints=ct,g&&0!==X&&0!==Z.length){var ut=at(Z.filter((function(t){return t.ya.showspikes})),X);K.hLinePoint=ot(ut);var ft=at(Z.filter((function(t){return t.xa.showspikes})),X);K.vLinePoint=ot(ft)}if(0===Z.length){var ht=d.unhoverRaw(t,e);return!g||null===K.hLinePoint&&null===K.vLinePoint||D(lt)&&O(t,K,st),ht}g&&D(lt)&&O(t,K,st);if(Z.sort((function(t,e){return t.distance-e.distance})),v.isXYhover(V)&&0!==Z[0].length&&"splom"!==Z[0].trace.type){var pt=Z[0],dt=pt.cd[pt.index],gt="group"===l.boxmode||"group"===l.violinmode,mt=pt.xVal,vt=pt.xa;"category"===vt.type&&(mt=vt._categoriesMap[mt]),"date"===vt.type&&(mt=vt.d2c(mt)),dt&&dt.t&&dt.t.posLetter===vt._id&>&&(mt+=dt.t.dPos);var yt=pt.yVal;"category"===(vt=pt.ya).type&&(yt=vt._categoriesMap[yt]),"date"===vt.type&&(yt=vt.d2c(yt)),dt&&dt.t&&dt.t.posLetter===vt._id&>&&(yt+=dt.t.dPos),it(mt,yt);var xt={};Z=Z.filter((function(t){var e=E(t);if(!xt[e])return xt[e]=!0,xt[e]}))}var bt=t._hoverdata,_t=[];for(R=0;R<Z.length;R++){var wt=Z[R],Tt=v.makeEventData(wt,wt.trace,wt.cd);if(!1!==wt.hovertemplate){var kt=!1;wt.cd[wt.index]&&wt.cd[wt.index].ht&&(kt=wt.cd[wt.index].ht),wt.hovertemplate=kt||wt.trace.hovertemplate||!1}wt.eventData=[Tt],_t.push(Tt)}t._hoverdata=_t;var Mt="y"===S&&(J.length>1||Z.length>1)||"closest"===S&&Q&&Z.length>1,At=p.combine(l.plot_bgcolor||p.background,l.paper_bgcolor),St={hovermode:S,rotateLabels:Mt,bgColor:At,container:l._hoverlayer,outerContainer:l._paperdiv,commonLabelOpts:l.hoverlabel,hoverdistance:l.hoverdistance},Et=L(Z,St,t);v.isUnifiedHover(S)||(!function(t,e,r){var n,i,a,o,s,l,c,u=0,f=1,h=t.size(),p=new Array(h),d=0;function g(t){var e=t[0],r=t[t.length-1];if(i=e.pmin-e.pos-e.dp+e.size,a=r.pos+r.dp+r.size-e.pmax,i>.01){for(s=t.length-1;s>=0;s--)t[s].dp+=i;n=!1}if(!(a<.01)){if(i<-.01){for(s=t.length-1;s>=0;s--)t[s].dp-=a;n=!1}if(n){var c=0;for(o=0;o<t.length;o++)(l=t[o]).pos+l.dp+l.size>e.pmax&&c++;for(o=t.length-1;o>=0&&!(c<=0);o--)(l=t[o]).pos>e.pmax-1&&(l.del=!0,c--);for(o=0;o<t.length&&!(c<=0);o++)if((l=t[o]).pos<e.pmin+1)for(l.del=!0,c--,a=2*l.size,s=t.length-1;s>=0;s--)t[s].dp-=a;for(o=t.length-1;o>=0&&!(c<=0);o--)(l=t[o]).pos+l.dp+l.size>e.pmax&&(l.del=!0,c--)}}}t.each((function(t){var n=t[e],i="x"===n._id.charAt(0),a=n.range;0===d&&a&&a[0]>a[1]!==i&&(f=-1),p[d++]=[{datum:t,traceIndex:t.trace.index,dp:0,pos:t.pos,posref:t.posref,size:t.by*(i?T:1)/2,pmin:0,pmax:i?r.width:r.height}]})),p.sort((function(t,e){return t[0].posref-e[0].posref||f*(e[0].traceIndex-t[0].traceIndex)}));for(;!n&&u<=h;){for(u++,n=!0,o=0;o<p.length-1;){var m=p[o],v=p[o+1],y=m[m.length-1],x=v[0];if((i=y.pos+y.dp+y.size-x.pos-x.dp+x.size)>.01&&y.pmin===x.pmin&&y.pmax===x.pmax){for(s=v.length-1;s>=0;s--)v[s].dp+=i;for(m.push.apply(m,v),p.splice(o+1,1),c=0,s=m.length-1;s>=0;s--)c+=m[s].dp;for(a=c/m.length,s=m.length-1;s>=0;s--)m[s].dp-=a;n=!1}else o++}p.forEach(g)}for(o=p.length-1;o>=0;o--){var b=p[o];for(s=b.length-1;s>=0;s--){var _=b[s],w=_.datum;w.offset=_.dp,w.del=_.del}}}(Et,Mt?"xa":"ya",l),P(Et,Mt,l._invScaleX,l._invScaleY));if(e.target&&e.target.tagName){var Ct=m.getComponentMethod("annotations","hasClickToShow")(t,_t);f(n.select(e.target),Ct?"pointer":"")}if(!e.target||a||!function(t,e,r){if(!r||r.length!==t._hoverdata.length)return!0;for(var n=r.length-1;n>=0;n--){var i=r[n],a=t._hoverdata[n];if(i.curveNumber!==a.curveNumber||String(i.pointNumber)!==String(a.pointNumber)||String(i.pointNumbers)!==String(a.pointNumbers))return!0}return!1}(t,0,bt))return;bt&&t.emit("plotly_unhover",{event:e,points:bt});t.emit("plotly_hover",{event:e,points:t._hoverdata,xaxes:b,yaxes:_,xvals:C,yvals:I})}(t,e,r,a)}))},r.loneHover=function(t,e){var r=!0;Array.isArray(t)||(r=!1,t=[t]);var i=t.map((function(t){return{color:t.color||p.defaultLine,x0:t.x0||t.x||0,x1:t.x1||t.x||0,y0:t.y0||t.y||0,y1:t.y1||t.y||0,xLabel:t.xLabel,yLabel:t.yLabel,zLabel:t.zLabel,text:t.text,name:t.name,idealAlign:t.idealAlign,borderColor:t.borderColor,fontFamily:t.fontFamily,fontSize:t.fontSize,fontColor:t.fontColor,nameLength:t.nameLength,textAlign:t.textAlign,trace:t.trace||{index:0,hoverinfo:""},xa:{_offset:0},ya:{_offset:0},index:0,hovertemplate:t.hovertemplate||!1,eventData:t.eventData||!1,hovertemplateLabels:t.hovertemplateLabels||!1}})),a=n.select(e.container),o=e.outerContainer?n.select(e.outerContainer):a,s={hovermode:"closest",rotateLabels:!1,bgColor:e.bgColor||p.background,container:a,outerContainer:o},l=L(i,s,e.gd),c=0,u=0;l.sort((function(t,e){return t.y0-e.y0})).each((function(t,r){var n=t.y0-t.by/2;t.offset=n-5<c?c-n+5:0,c=n+t.by+t.offset,r===e.anchorIndex&&(u=t.offset)})).each((function(t){t.offset-=u}));var f=e.gd._fullLayout._invScaleX,h=e.gd._fullLayout._invScaleY;return P(l,s.rotateLabels,f,h),r?l:l.node()};var C=/<extra>([\s\S]*)<\/extra>/;function L(t,e,r){var i=r._fullLayout,a=e.hovermode,c=e.rotateLabels,f=e.bgColor,d=e.container,g=e.outerContainer,m=e.commonLabelOpts||{},w=e.fontFamily||y.HOVERFONT,T=e.fontSize||y.HOVERFONTSIZE,k=t[0],M=k.xa,C=k.ya,L="y"===a.charAt(0)?"yLabel":"xLabel",P=k[L],z=(String(P)||"").split(" ")[0],O=g.node().getBoundingClientRect(),D=O.top,R=O.width,F=O.height,B=void 0!==P&&k.distance<=e.hoverdistance&&("x"===a||"y"===a);if(B){var N,j,U=!0;for(N=0;N<t.length;N++)if(U&&void 0===t[N].zLabel&&(U=!1),j=t[N].hoverinfo||t[N].trace.hoverinfo){var V=Array.isArray(j)?j:j.split("+");if(-1===V.indexOf("all")&&-1===V.indexOf(a)){B=!1;break}}U&&(B=!1)}var q=d.selectAll("g.axistext").data(B?[0]:[]);function H(t){return t.filter((function(t){return void 0!==t.zLabelVal||(t[L]||"").split(" ")[0]===z}))}if(q.enter().append("g").classed("axistext",!0),q.exit().remove(),q.each((function(){var e=n.select(this),l=o.ensureSingle(e,"path","",(function(t){t.style({"stroke-width":"1px"})})),c=o.ensureSingle(e,"text","",(function(t){t.attr("data-notex",1)})),f=m.bgcolor||p.defaultLine,d=m.bordercolor||p.contrast(f),g=p.contrast(f),v={family:m.font.family||w,size:m.font.size||T,color:m.font.color||g};l.style({fill:f,stroke:d}),c.text(P).call(h.font,v).call(u.positionText,0,0).call(u.convertToTspans,r),e.attr("transform","");var y,x,b=c.node().getBoundingClientRect();if("x"===a){var _="top"===M.side?"-":"";c.attr("text-anchor","middle").call(u.positionText,0,"top"===M.side?D-b.bottom-A-S:D-b.top+A+S),y=M._offset+(k.x0+k.x1)/2,x=C._offset+("top"===M.side?0:C._length);var E=b.width/2+S;y<E?(y=E,l.attr("d","M-"+(E-A)+",0L-"+(E-2*A)+","+_+A+"H"+(S+b.width/2)+"v"+_+(2*S+b.height)+"H-"+E+"V"+_+A+"Z")):y>i.width-E?(y=i.width-E,l.attr("d","M"+(E-A)+",0L"+E+","+_+A+"v"+_+(2*S+b.height)+"H-"+E+"V"+_+A+"H"+(E-2*A)+"Z")):l.attr("d","M0,0L"+A+","+_+A+"H"+(S+b.width/2)+"v"+_+(2*S+b.height)+"H-"+(S+b.width/2)+"V"+_+A+"H-"+A+"Z")}else{var L,I,z;"right"===C.side?(L="start",I=1,z="",y=M._offset+M._length):(L="end",I=-1,z="-",y=M._offset),x=C._offset+(k.y0+k.y1)/2,c.attr("text-anchor",L),l.attr("d","M0,0L"+z+A+","+A+"V"+(S+b.height/2)+"h"+z+(2*S+b.width)+"V-"+(S+b.height/2)+"H"+z+A+"V-"+A+"Z");var O,R=b.height/2,F=D-b.top-R,B="clip"+i._uid+"commonlabel"+C._id;if(y<b.width+2*S+A){O="M-"+(A+S)+"-"+R+"h-"+(b.width-S)+"V"+R+"h"+(b.width-S)+"Z";var N=b.width-y+S;u.positionText(c,N,F),"end"===L&&c.selectAll("tspan").each((function(){var t=n.select(this),e=h.tester.append("text").text(t.text()).call(h.font,v),r=e.node().getBoundingClientRect();Math.round(r.width)<Math.round(b.width)&&t.attr("x",N-r.width),e.remove()}))}else u.positionText(c,I*(S+A),F),O=null;var j=i._topclips.selectAll("#"+B).data(O?[0]:[]);j.enter().append("clipPath").attr("id",B).append("path"),j.exit().remove(),j.select("path").attr("d",O),h.setClipUrl(c,O?B:null,r)}e.attr("transform",s(y,x)),t=H(t)})),v.isUnifiedHover(a)){if(d.selectAll("g.hovertext").remove(),void 0!==P&&k.distance<=e.hoverdistance&&(t=H(t)),0===t.length)return;var G={showlegend:!0,legend:{title:{text:P,font:i.hoverlabel.font},font:i.hoverlabel.font,bgcolor:i.hoverlabel.bgcolor,bordercolor:i.hoverlabel.bordercolor,borderwidth:1,tracegroupgap:7,traceorder:i.legend?i.legend.traceorder:void 0,orientation:"v"}},Y={};x(G,Y,r._fullData);var W=Y.legend;W.entries=[];for(var X=0;X<t.length;X++){var Z=I(t[X],!0,a,i,P),J=Z[0],K=Z[1],Q=t[X];Q.name=K,Q.text=""!==K?K+" : "+J:J;var $=Q.cd[Q.index];$&&($.mc&&(Q.mc=$.mc),$.mcc&&(Q.mc=$.mcc),$.mlc&&(Q.mlc=$.mlc),$.mlcc&&(Q.mlc=$.mlcc),$.mlw&&(Q.mlw=$.mlw),$.mrc&&(Q.mrc=$.mrc),$.dir&&(Q.dir=$.dir)),Q._distinct=!0,W.entries.push([Q])}W.entries.sort((function(t,e){return t[0].trace.index-e[0].trace.index})),W.layer=d,b(r,W);var tt=o.mean(t.map((function(t){return(t.y0+t.y1)/2}))),et=o.mean(t.map((function(t){return(t.x0+t.x1)/2}))),rt=d.select("g.legend"),nt=rt.node().getBoundingClientRect();et+=M._offset,tt+=C._offset-nt.height/2;var it=nt.width+2*S;!(et+it<=R)&&et-it>=0?et-=it:et+=2*S;var at=nt.height+2*S,ot=tt+at>=F;return at<=F&&(tt<=D?tt=C._offset+2*S:ot&&(tt=F-at)),rt.attr("transform",s(et,tt)),rt}var st=d.selectAll("g.hovertext").data(t,(function(t){return E(t)}));return st.enter().append("g").classed("hovertext",!0).each((function(){var t=n.select(this);t.append("rect").call(p.fill,p.addOpacity(f,.8)),t.append("text").classed("name",!0),t.append("path").style("stroke-width","1px"),t.append("text").classed("nums",!0).call(h.font,w,T)})),st.exit().remove(),st.each((function(t){var e=n.select(this).attr("transform",""),o=t.color;Array.isArray(o)&&(o=o[t.eventData[0].pointNumber]);var d=t.bgcolor||o,g=p.combine(p.opacity(d)?d:p.defaultLine,f),m=p.combine(p.opacity(o)?o:p.defaultLine,f),v=t.borderColor||p.contrast(g),y=I(t,B,a,i,P,e),x=y[0],b=y[1],k=e.select("text.nums").call(h.font,t.fontFamily||w,t.fontSize||T,t.fontColor||v).text(x).attr("data-notex",1).call(u.positionText,0,0).call(u.convertToTspans,r),M=e.select("text.name"),E=0,C=0;if(b&&b!==x){M.call(h.font,t.fontFamily||w,t.fontSize||T,m).text(b).attr("data-notex",1).call(u.positionText,0,0).call(u.convertToTspans,r);var L=M.node().getBoundingClientRect();E=L.width+2*S,C=L.height+2*S}else M.remove(),e.select("rect").remove();e.select("path").style({fill:g,stroke:v});var z,O,N=k.node().getBoundingClientRect(),j=t.xa._offset+(t.x0+t.x1)/2,U=t.ya._offset+(t.y0+t.y1)/2,V=Math.abs(t.x1-t.x0),q=Math.abs(t.y1-t.y0),H=N.width+A+S+E;if(t.ty0=D-N.top,t.bx=N.width+2*S,t.by=Math.max(N.height+2*S,C),t.anchor="start",t.txwidth=N.width,t.tx2width=E,t.offset=0,c)t.pos=j,z=U+q/2+H<=F,O=U-q/2-H>=0,"top"!==t.idealAlign&&z||!O?z?(U+=q/2,t.anchor="start"):t.anchor="middle":(U-=q/2,t.anchor="end");else if(t.pos=U,z=j+V/2+H<=R,O=j-V/2-H>=0,"left"!==t.idealAlign&&z||!O)if(z)j+=V/2,t.anchor="start";else{t.anchor="middle";var G=H/2,Y=j+G-R,W=j-G;Y>0&&(j-=Y),W<0&&(j+=-W)}else j-=V/2,t.anchor="end";k.attr("text-anchor",t.anchor),E&&M.attr("text-anchor",t.anchor),e.attr("transform",s(j,U)+(c?l(_):""))})),st}function I(t,e,r,n,i,a){var s="",l="";void 0!==t.nameOverride&&(t.name=t.nameOverride),t.name&&(t.trace._meta&&(t.name=o.templateString(t.name,t.trace._meta)),s=R(t.name,t.nameLength)),void 0!==t.zLabel?(void 0!==t.xLabel&&(l+="x: "+t.xLabel+"<br>"),void 0!==t.yLabel&&(l+="y: "+t.yLabel+"<br>"),"choropleth"!==t.trace.type&&"choroplethmapbox"!==t.trace.type&&(l+=(l?"z: ":"")+t.zLabel)):e&&t[r.charAt(0)+"Label"]===i?l=t[("x"===r.charAt(0)?"y":"x")+"Label"]||"":void 0===t.xLabel?void 0!==t.yLabel&&"scattercarpet"!==t.trace.type&&(l=t.yLabel):l=void 0===t.yLabel?t.xLabel:"("+t.xLabel+", "+t.yLabel+")",!t.text&&0!==t.text||Array.isArray(t.text)||(l+=(l?"<br>":"")+t.text),void 0!==t.extraText&&(l+=(l?"<br>":"")+t.extraText),a&&""===l&&!t.hovertemplate&&(""===s&&a.remove(),l=s);var c=n._d3locale,u=t.hovertemplate||!1,f=t.hovertemplateLabels||t,h=t.eventData[0]||{};return u&&(l=(l=o.hovertemplateString(u,f,c,h,t.trace._meta)).replace(C,(function(e,r){return s=R(r,t.nameLength),""}))),[l,s]}function P(t,e,r,i){var a=function(t){return t*r},o=function(t){return t*i};t.each((function(t){var r=n.select(this);if(t.del)return r.remove();var i=r.select("text.nums"),s=t.anchor,l="end"===s?-1:1,c={start:1,end:-1,middle:0}[s],f=c*(A+S),p=f+c*(t.txwidth+S),d=0,g=t.offset,m="middle"===s;m&&(f-=t.tx2width/2,p+=t.txwidth/2+S),e&&(g*=-M,d=t.offset*k),r.select("path").attr("d",m?"M-"+a(t.bx/2+t.tx2width/2)+","+o(g-t.by/2)+"h"+a(t.bx)+"v"+o(t.by)+"h-"+a(t.bx)+"Z":"M0,0L"+a(l*A+d)+","+o(A+g)+"v"+o(t.by/2-A)+"h"+a(l*t.bx)+"v-"+o(t.by)+"H"+a(l*A+d)+"V"+o(g-A)+"Z");var v=d+f,y=g+t.ty0-t.by/2+S,x=t.textAlign||"auto";"auto"!==x&&("left"===x&&"start"!==s?(i.attr("text-anchor","start"),v=m?-t.bx/2-t.tx2width/2+S:-t.bx-S):"right"===x&&"end"!==s&&(i.attr("text-anchor","end"),v=m?t.bx/2-t.tx2width/2-S:t.bx+S)),i.call(u.positionText,a(v),o(y)),t.tx2width&&(r.select("text.name").call(u.positionText,a(p+c*S+d),o(g+t.ty0-t.by/2+S)),r.select("rect").call(h.setRect,a(p+(c-1)*t.tx2width/2+d),o(g-t.by/2-1),a(t.tx2width),o(t.by+2)))}))}function z(t,e){var r=t.index,n=t.trace||{},a=t.cd[0],s=t.cd[r]||{};function l(t){return t||i(t)&&0===t}var c=Array.isArray(r)?function(t,e){var i=o.castOption(a,r,t);return l(i)?i:o.extractOption({},n,"",e)}:function(t,e){return o.extractOption(s,n,t,e)};function u(e,r,n){var i=c(r,n);l(i)&&(t[e]=i)}if(u("hoverinfo","hi","hoverinfo"),u("bgcolor","hbg","hoverlabel.bgcolor"),u("borderColor","hbc","hoverlabel.bordercolor"),u("fontFamily","htf","hoverlabel.font.family"),u("fontSize","hts","hoverlabel.font.size"),u("fontColor","htc","hoverlabel.font.color"),u("nameLength","hnl","hoverlabel.namelength"),u("textAlign","hta","hoverlabel.align"),t.posref="y"===e||"closest"===e&&"h"===n.orientation?t.xa._offset+(t.x0+t.x1)/2:t.ya._offset+(t.y0+t.y1)/2,t.x0=o.constrain(t.x0,0,t.xa._length),t.x1=o.constrain(t.x1,0,t.xa._length),t.y0=o.constrain(t.y0,0,t.ya._length),t.y1=o.constrain(t.y1,0,t.ya._length),void 0!==t.xLabelVal&&(t.xLabel="xLabel"in t?t.xLabel:g.hoverLabelText(t.xa,t.xLabelVal),t.xVal=t.xa.c2d(t.xLabelVal)),void 0!==t.yLabelVal&&(t.yLabel="yLabel"in t?t.yLabel:g.hoverLabelText(t.ya,t.yLabelVal),t.yVal=t.ya.c2d(t.yLabelVal)),void 0!==t.zLabelVal&&void 0===t.zLabel&&(t.zLabel=String(t.zLabelVal)),!(isNaN(t.xerr)||"log"===t.xa.type&&t.xerr<=0)){var f=g.tickText(t.xa,t.xa.c2l(t.xerr),"hover").text;void 0!==t.xerrneg?t.xLabel+=" +"+f+" / -"+g.tickText(t.xa,t.xa.c2l(t.xerrneg),"hover").text:t.xLabel+=" \xb1 "+f,"x"===e&&(t.distance+=1)}if(!(isNaN(t.yerr)||"log"===t.ya.type&&t.yerr<=0)){var h=g.tickText(t.ya,t.ya.c2l(t.yerr),"hover").text;void 0!==t.yerrneg?t.yLabel+=" +"+h+" / -"+g.tickText(t.ya,t.ya.c2l(t.yerrneg),"hover").text:t.yLabel+=" \xb1 "+h,"y"===e&&(t.distance+=1)}var p=t.hoverinfo||t.trace.hoverinfo;return p&&"all"!==p&&(-1===(p=Array.isArray(p)?p:p.split("+")).indexOf("x")&&(t.xLabel=void 0),-1===p.indexOf("y")&&(t.yLabel=void 0),-1===p.indexOf("z")&&(t.zLabel=void 0),-1===p.indexOf("text")&&(t.text=void 0),-1===p.indexOf("name")&&(t.name=void 0)),t}function O(t,e,r){var n,i,o=r.container,s=r.fullLayout,l=s._size,c=r.event,u=!!e.hLinePoint,f=!!e.vLinePoint;if(o.selectAll(".spikeline").remove(),f||u){var d=p.combine(s.plot_bgcolor,s.paper_bgcolor);if(u){var m,v,y=e.hLinePoint;n=y&&y.xa,"cursor"===(i=y&&y.ya).spikesnap?(m=c.pointerX,v=c.pointerY):(m=n._offset+y.x,v=i._offset+y.y);var x,b,_=a.readability(y.color,d)<1.5?p.contrast(d):y.color,w=i.spikemode,T=i.spikethickness,k=i.spikecolor||_,M=g.getPxPosition(t,i);if(-1!==w.indexOf("toaxis")||-1!==w.indexOf("across")){if(-1!==w.indexOf("toaxis")&&(x=M,b=m),-1!==w.indexOf("across")){var A=i._counterDomainMin,S=i._counterDomainMax;"free"===i.anchor&&(A=Math.min(A,i.position),S=Math.max(S,i.position)),x=l.l+A*l.w,b=l.l+S*l.w}o.insert("line",":first-child").attr({x1:x,x2:b,y1:v,y2:v,"stroke-width":T,stroke:k,"stroke-dasharray":h.dashStyle(i.spikedash,T)}).classed("spikeline",!0).classed("crisp",!0),o.insert("line",":first-child").attr({x1:x,x2:b,y1:v,y2:v,"stroke-width":T+2,stroke:d}).classed("spikeline",!0).classed("crisp",!0)}-1!==w.indexOf("marker")&&o.insert("circle",":first-child").attr({cx:M+("right"!==i.side?T:-T),cy:v,r:T,fill:k}).classed("spikeline",!0)}if(f){var E,C,L=e.vLinePoint;n=L&&L.xa,i=L&&L.ya,"cursor"===n.spikesnap?(E=c.pointerX,C=c.pointerY):(E=n._offset+L.x,C=i._offset+L.y);var I,P,z=a.readability(L.color,d)<1.5?p.contrast(d):L.color,O=n.spikemode,D=n.spikethickness,R=n.spikecolor||z,F=g.getPxPosition(t,n);if(-1!==O.indexOf("toaxis")||-1!==O.indexOf("across")){if(-1!==O.indexOf("toaxis")&&(I=F,P=C),-1!==O.indexOf("across")){var B=n._counterDomainMin,N=n._counterDomainMax;"free"===n.anchor&&(B=Math.min(B,n.position),N=Math.max(N,n.position)),I=l.t+(1-N)*l.h,P=l.t+(1-B)*l.h}o.insert("line",":first-child").attr({x1:E,x2:E,y1:I,y2:P,"stroke-width":D,stroke:R,"stroke-dasharray":h.dashStyle(n.spikedash,D)}).classed("spikeline",!0).classed("crisp",!0),o.insert("line",":first-child").attr({x1:E,x2:E,y1:I,y2:P,"stroke-width":D+2,stroke:d}).classed("spikeline",!0).classed("crisp",!0)}-1!==O.indexOf("marker")&&o.insert("circle",":first-child").attr({cx:E,cy:F-("top"!==n.side?D:-D),r:D,fill:R}).classed("spikeline",!0)}}}function D(t,e){return!e||(e.vLinePoint!==t._spikepoints.vLinePoint||e.hLinePoint!==t._spikepoints.hLinePoint)}function R(t,e){return u.plainText(t||"",{len:e,allowedTags:["br","sub","sup","b","i","em"]})}},{"../../lib":778,"../../lib/events":767,"../../lib/override_cursor":789,"../../lib/svg_text_utils":803,"../../plots/cartesian/axes":828,"../../registry":911,"../color":643,"../dragelement":662,"../drawing":665,"../legend/defaults":695,"../legend/draw":696,"./constants":677,"./helpers":679,d3:169,"fast-isnumeric":241,tinycolor2:576}],681:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../color"),a=t("./helpers").isUnifiedHover;e.exports=function(t,e,r,o){function s(t){o.font[t]||(o.font[t]=e.legend?e.legend.font[t]:e.font[t])}o=o||{},e&&a(e.hovermode)&&(o.font||(o.font={}),s("size"),s("family"),s("color"),e.legend?(o.bgcolor||(o.bgcolor=i.combine(e.legend.bgcolor,e.paper_bgcolor)),o.bordercolor||(o.bordercolor=e.legend.bordercolor)):o.bgcolor||(o.bgcolor=e.paper_bgcolor)),r("hoverlabel.bgcolor",o.bgcolor),r("hoverlabel.bordercolor",o.bordercolor),r("hoverlabel.namelength",o.namelength),n.coerceFont(r,"hoverlabel.font",o.font),r("hoverlabel.align",o.align)}},{"../../lib":778,"../color":643,"./helpers":679}],682:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./layout_attributes");e.exports=function(t,e,r){function a(r,a){return void 0!==e[r]?e[r]:n.coerce(t,e,i,r,a)}var o,s=a("clickmode");return e._has("cartesian")?s.indexOf("select")>-1?o="closest":(e._isHoriz=function(t,e){for(var r=e._scatterStackOpts||{},n=0;n<t.length;n++){var i=t[n],a=i.xaxis+i.yaxis,o=(r[a]||{})[i.stackgroup]||{};if("h"!==i.orientation&&"h"!==o.orientation)return!1}return!0}(r,e),o=e._isHoriz?"y":"x"):o="closest",a("hovermode",o)}},{"../../lib":778,"./layout_attributes":684}],683:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../lib"),a=t("../dragelement"),o=t("./helpers"),s=t("./layout_attributes"),l=t("./hover");e.exports={moduleType:"component",name:"fx",constants:t("./constants"),schema:{layout:s},attributes:t("./attributes"),layoutAttributes:s,supplyLayoutGlobalDefaults:t("./layout_global_defaults"),supplyDefaults:t("./defaults"),supplyLayoutDefaults:t("./layout_defaults"),calc:t("./calc"),getDistanceFunction:o.getDistanceFunction,getClosest:o.getClosest,inbox:o.inbox,quadrature:o.quadrature,appendArrayPointValue:o.appendArrayPointValue,castHoverOption:function(t,e,r){return i.castOption(t,e,"hoverlabel."+r)},castHoverinfo:function(t,e,r){return i.castOption(t,r,"hoverinfo",(function(r){return i.coerceHoverinfo({hoverinfo:r},{_module:t._module},e)}))},hover:l.hover,unhover:a.unhover,loneHover:l.loneHover,loneUnhover:function(t){var e=i.isD3Selection(t)?t:n.select(t);e.selectAll("g.hovertext").remove(),e.selectAll(".spikeline").remove()},click:t("./click")}},{"../../lib":778,"../dragelement":662,"./attributes":674,"./calc":675,"./click":676,"./constants":677,"./defaults":678,"./helpers":679,"./hover":680,"./layout_attributes":684,"./layout_defaults":685,"./layout_global_defaults":686,d3:169}],684:[function(t,e,r){"use strict";var n=t("./constants"),i=t("../../plots/font_attributes")({editType:"none"});i.family.dflt=n.HOVERFONT,i.size.dflt=n.HOVERFONTSIZE,e.exports={clickmode:{valType:"flaglist",flags:["event","select"],dflt:"event",editType:"plot",extras:["none"]},dragmode:{valType:"enumerated",values:["zoom","pan","select","lasso","drawclosedpath","drawopenpath","drawline","drawrect","drawcircle","orbit","turntable",!1],dflt:"zoom",editType:"modebar"},hovermode:{valType:"enumerated",values:["x","y","closest",!1,"x unified","y unified"],editType:"modebar"},hoverdistance:{valType:"integer",min:-1,dflt:20,editType:"none"},spikedistance:{valType:"integer",min:-1,dflt:20,editType:"none"},hoverlabel:{bgcolor:{valType:"color",editType:"none"},bordercolor:{valType:"color",editType:"none"},font:i,align:{valType:"enumerated",values:["left","right","auto"],dflt:"auto",editType:"none"},namelength:{valType:"integer",min:-1,dflt:15,editType:"none"},editType:"none"},selectdirection:{valType:"enumerated",values:["h","v","d","any"],dflt:"any",editType:"none"}}},{"../../plots/font_attributes":856,"./constants":677}],685:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./helpers").isUnifiedHover,a=t("./layout_attributes"),o=t("./hovermode_defaults"),s=t("./hoverlabel_defaults");e.exports=function(t,e,r){function l(r,i){return n.coerce(t,e,a,r,i)}var c=o(t,e,r);c&&(l("hoverdistance"),l("spikedistance",i(c)?-1:void 0)),"select"===l("dragmode")&&l("selectdirection");var u=e._has("mapbox"),f=e._has("geo"),h=e._basePlotModules.length;"zoom"===e.dragmode&&((u||f)&&1===h||u&&f&&2===h)&&(e.dragmode="pan"),s(t,e,l)}},{"../../lib":778,"./helpers":679,"./hoverlabel_defaults":681,"./hovermode_defaults":682,"./layout_attributes":684}],686:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./hoverlabel_defaults"),a=t("./layout_attributes");e.exports=function(t,e){i(t,e,(function(r,i){return n.coerce(t,e,a,r,i)}))}},{"../../lib":778,"./hoverlabel_defaults":681,"./layout_attributes":684}],687:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../lib/regex").counter,a=t("../../plots/domain").attributes,o=t("../../plots/cartesian/constants").idRegex,s=t("../../plot_api/plot_template"),l={rows:{valType:"integer",min:1,editType:"plot"},roworder:{valType:"enumerated",values:["top to bottom","bottom to top"],dflt:"top to bottom",editType:"plot"},columns:{valType:"integer",min:1,editType:"plot"},subplots:{valType:"info_array",freeLength:!0,dimensions:2,items:{valType:"enumerated",values:[i("xy").toString(),""],editType:"plot"},editType:"plot"},xaxes:{valType:"info_array",freeLength:!0,items:{valType:"enumerated",values:[o.x.toString(),""],editType:"plot"},editType:"plot"},yaxes:{valType:"info_array",freeLength:!0,items:{valType:"enumerated",values:[o.y.toString(),""],editType:"plot"},editType:"plot"},pattern:{valType:"enumerated",values:["independent","coupled"],dflt:"coupled",editType:"plot"},xgap:{valType:"number",min:0,max:1,editType:"plot"},ygap:{valType:"number",min:0,max:1,editType:"plot"},domain:a({name:"grid",editType:"plot",noGridCell:!0},{}),xside:{valType:"enumerated",values:["bottom","bottom plot","top plot","top"],dflt:"bottom plot",editType:"plot"},yside:{valType:"enumerated",values:["left","left plot","right plot","right"],dflt:"left plot",editType:"plot"},editType:"plot"};function c(t,e,r){var n=e[r+"axes"],i=Object.keys((t._splomAxes||{})[r]||{});return Array.isArray(n)?n:i.length?i:void 0}function u(t,e,r,n,i,a){var o=e(t+"gap",r),s=e("domain."+t);e(t+"side",n);for(var l=new Array(i),c=s[0],u=(s[1]-c)/(i-o),f=u*(1-o),h=0;h<i;h++){var p=c+u*h;l[a?i-1-h:h]=[p,p+f]}return l}function f(t,e,r,n,i){var a,o=new Array(r);function s(t,r){-1!==e.indexOf(r)&&void 0===n[r]?(o[t]=r,n[r]=t):o[t]=""}if(Array.isArray(t))for(a=0;a<r;a++)s(a,t[a]);else for(s(0,i),a=1;a<r;a++)s(a,i+(a+1));return o}e.exports={moduleType:"component",name:"grid",schema:{layout:{grid:l}},layoutAttributes:l,sizeDefaults:function(t,e){var r=t.grid||{},i=c(e,r,"x"),a=c(e,r,"y");if(t.grid||i||a){var o,f,h=Array.isArray(r.subplots)&&Array.isArray(r.subplots[0]),p=Array.isArray(i),d=Array.isArray(a),g=p&&i!==r.xaxes&&d&&a!==r.yaxes;h?(o=r.subplots.length,f=r.subplots[0].length):(d&&(o=a.length),p&&(f=i.length));var m=s.newContainer(e,"grid"),v=k("rows",o),y=k("columns",f);if(v*y>1){if(!h&&!p&&!d)"independent"===k("pattern")&&(h=!0);m._hasSubplotGrid=h;var x,b,_="top to bottom"===k("roworder"),w=h?.2:.1,T=h?.3:.1;g&&e._splomGridDflt&&(x=e._splomGridDflt.xside,b=e._splomGridDflt.yside),m._domains={x:u("x",k,w,x,y),y:u("y",k,T,b,v,_)}}else delete e.grid}function k(t,e){return n.coerce(r,m,l,t,e)}},contentDefaults:function(t,e){var r=e.grid;if(r&&r._domains){var n,i,a,o,s,l,u,h=t.grid||{},p=e._subplots,d=r._hasSubplotGrid,g=r.rows,m=r.columns,v="independent"===r.pattern,y=r._axisMap={};if(d){var x=h.subplots||[];l=r.subplots=new Array(g);var b=1;for(n=0;n<g;n++){var _=l[n]=new Array(m),w=x[n]||[];for(i=0;i<m;i++)if(v?(s=1===b?"xy":"x"+b+"y"+b,b++):s=w[i],_[i]="",-1!==p.cartesian.indexOf(s)){if(u=s.indexOf("y"),a=s.slice(0,u),o=s.slice(u),void 0!==y[a]&&y[a]!==i||void 0!==y[o]&&y[o]!==n)continue;_[i]=s,y[a]=i,y[o]=n}}}else{var T=c(e,h,"x"),k=c(e,h,"y");r.xaxes=f(T,p.xaxis,m,y,"x"),r.yaxes=f(k,p.yaxis,g,y,"y")}var M=r._anchors={},A="top to bottom"===r.roworder;for(var S in y){var E,C,L,I=S.charAt(0),P=r[I+"side"];if(P.length<8)M[S]="free";else if("x"===I){if("t"===P.charAt(0)===A?(E=0,C=1,L=g):(E=g-1,C=-1,L=-1),d){var z=y[S];for(n=E;n!==L;n+=C)if((s=l[n][z])&&(u=s.indexOf("y"),s.slice(0,u)===S)){M[S]=s.slice(u);break}}else for(n=E;n!==L;n+=C)if(o=r.yaxes[n],-1!==p.cartesian.indexOf(S+o)){M[S]=o;break}}else if("l"===P.charAt(0)?(E=0,C=1,L=m):(E=m-1,C=-1,L=-1),d){var O=y[S];for(n=E;n!==L;n+=C)if((s=l[O][n])&&(u=s.indexOf("y"),s.slice(u)===S)){M[S]=s.slice(0,u);break}}else for(n=E;n!==L;n+=C)if(a=r.xaxes[n],-1!==p.cartesian.indexOf(a+S)){M[S]=a;break}}}}}},{"../../lib":778,"../../lib/regex":795,"../../plot_api/plot_template":817,"../../plots/cartesian/constants":834,"../../plots/domain":855}],688:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/constants"),i=t("../../plot_api/plot_template").templatedArray;t("../../constants/axis_placeable_objects");e.exports=i("image",{visible:{valType:"boolean",dflt:!0,editType:"arraydraw"},source:{valType:"string",editType:"arraydraw"},layer:{valType:"enumerated",values:["below","above"],dflt:"above",editType:"arraydraw"},sizex:{valType:"number",dflt:0,editType:"arraydraw"},sizey:{valType:"number",dflt:0,editType:"arraydraw"},sizing:{valType:"enumerated",values:["fill","contain","stretch"],dflt:"contain",editType:"arraydraw"},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"arraydraw"},x:{valType:"any",dflt:0,editType:"arraydraw"},y:{valType:"any",dflt:0,editType:"arraydraw"},xanchor:{valType:"enumerated",values:["left","center","right"],dflt:"left",editType:"arraydraw"},yanchor:{valType:"enumerated",values:["top","middle","bottom"],dflt:"top",editType:"arraydraw"},xref:{valType:"enumerated",values:["paper",n.idRegex.x.toString()],dflt:"paper",editType:"arraydraw"},yref:{valType:"enumerated",values:["paper",n.idRegex.y.toString()],dflt:"paper",editType:"arraydraw"},editType:"arraydraw"})},{"../../constants/axis_placeable_objects":746,"../../plot_api/plot_template":817,"../../plots/cartesian/constants":834}],689:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../lib/to_log_range");e.exports=function(t,e,r,a){e=e||{};var o="log"===r&&"linear"===e.type,s="linear"===r&&"log"===e.type;if(o||s)for(var l,c,u=t._fullLayout.images,f=e._id.charAt(0),h=0;h<u.length;h++)if(c="images["+h+"].",(l=u[h])[f+"ref"]===e._id){var p=l[f],d=l["size"+f],g=null,m=null;if(o){g=i(p,e.range);var v=d/Math.pow(10,g)/2;m=2*Math.log(v+Math.sqrt(1+v*v))/Math.LN10}else m=(g=Math.pow(10,p))*(Math.pow(10,d/2)-Math.pow(10,-d/2));n(g)?n(m)||(m=null):(g=null,m=null),a(c+f,g),a(c+"size"+f,m)}}},{"../../lib/to_log_range":805,"fast-isnumeric":241}],690:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../plots/cartesian/axes"),a=t("../../plots/array_container_defaults"),o=t("./attributes");function s(t,e,r){function a(r,i){return n.coerce(t,e,o,r,i)}var s=a("source");if(!a("visible",!!s))return e;a("layer"),a("xanchor"),a("yanchor"),a("sizex"),a("sizey"),a("sizing"),a("opacity");for(var l={_fullLayout:r},c=["x","y"],u=0;u<2;u++){var f=c[u],h=i.coerceRef(t,e,l,f,"paper",void 0);if("paper"!==h)i.getFromId(l,h)._imgIndices.push(e._index);i.coercePosition(e,l,a,h,f,0)}return e}e.exports=function(t,e){a(t,e,{name:"images",handleItemDefaults:s})}},{"../../lib":778,"../../plots/array_container_defaults":823,"../../plots/cartesian/axes":828,"./attributes":688}],691:[function(t,e,r){"use strict";var n=t("d3"),i=t("../drawing"),a=t("../../plots/cartesian/axes"),o=t("../../plots/cartesian/axis_ids"),s=t("../../constants/xmlns_namespaces");e.exports=function(t){var e,r,l=t._fullLayout,c=[],u={},f=[];for(r=0;r<l.images.length;r++){var h=l.images[r];if(h.visible)if("below"===h.layer&&"paper"!==h.xref&&"paper"!==h.yref){e=o.ref2id(h.xref)+o.ref2id(h.yref);var p=l._plots[e];if(!p){f.push(h);continue}p.mainplot&&(e=p.mainplot.id),u[e]||(u[e]=[]),u[e].push(h)}else"above"===h.layer?c.push(h):f.push(h)}var d={left:{sizing:"xMin",offset:0},center:{sizing:"xMid",offset:-.5},right:{sizing:"xMax",offset:-1}},g={top:{sizing:"YMin",offset:0},middle:{sizing:"YMid",offset:-.5},bottom:{sizing:"YMax",offset:-1}};function m(e){var r=n.select(this);if(this._imgSrc!==e.source)if(r.attr("xmlns",s.svg),e.source&&"data:"===e.source.slice(0,5))r.attr("xlink:href",e.source),this._imgSrc=e.source;else{var i=new Promise(function(t){var n=new Image;function i(){r.remove(),t()}this.img=n,n.setAttribute("crossOrigin","anonymous"),n.onerror=i,n.onload=function(){var e=document.createElement("canvas");e.width=this.width,e.height=this.height,e.getContext("2d").drawImage(this,0,0);var n=e.toDataURL("image/png");r.attr("xlink:href",n),t()},r.on("error",i),n.src=e.source,this._imgSrc=e.source}.bind(this));t._promises.push(i)}}function v(e){var r,o,s=n.select(this),c=a.getFromId(t,e.xref),u=a.getFromId(t,e.yref),f="domain"===a.getRefType(e.xref),h="domain"===a.getRefType(e.yref),p=l._size;r=void 0!==c?"string"==typeof e.xref&&f?c._length*e.sizex:Math.abs(c.l2p(e.sizex)-c.l2p(0)):e.sizex*p.w,o=void 0!==u?"string"==typeof e.yref&&h?u._length*e.sizey:Math.abs(u.l2p(e.sizey)-u.l2p(0)):e.sizey*p.h;var m,v,y=r*d[e.xanchor].offset,x=o*g[e.yanchor].offset,b=d[e.xanchor].sizing+g[e.yanchor].sizing;switch(m=void 0!==c?"string"==typeof e.xref&&f?c._length*e.x+c._offset:c.r2p(e.x)+c._offset:e.x*p.w+p.l,m+=y,v=void 0!==u?"string"==typeof e.yref&&h?u._length*(1-e.y)+u._offset:u.r2p(e.y)+u._offset:p.h-e.y*p.h+p.t,v+=x,e.sizing){case"fill":b+=" slice";break;case"stretch":b="none"}s.attr({x:m,y:v,width:r,height:o,preserveAspectRatio:b,opacity:e.opacity});var _=(c&&"domain"!==a.getRefType(e.xref)?c._id:"")+(u&&"domain"!==a.getRefType(e.yref)?u._id:"");i.setClipUrl(s,_?"clip"+l._uid+_:null,t)}var y=l._imageLowerLayer.selectAll("image").data(f),x=l._imageUpperLayer.selectAll("image").data(c);y.enter().append("image"),x.enter().append("image"),y.exit().remove(),x.exit().remove(),y.each((function(t){m.bind(this)(t),v.bind(this)(t)})),x.each((function(t){m.bind(this)(t),v.bind(this)(t)}));var b=Object.keys(l._plots);for(r=0;r<b.length;r++){e=b[r];var _=l._plots[e];if(_.imagelayer){var w=_.imagelayer.selectAll("image").data(u[e]||[]);w.enter().append("image"),w.exit().remove(),w.each((function(t){m.bind(this)(t),v.bind(this)(t)}))}}}},{"../../constants/xmlns_namespaces":754,"../../plots/cartesian/axes":828,"../../plots/cartesian/axis_ids":831,"../drawing":665,d3:169}],692:[function(t,e,r){"use strict";e.exports={moduleType:"component",name:"images",layoutAttributes:t("./attributes"),supplyLayoutDefaults:t("./defaults"),includeBasePlot:t("../../plots/cartesian/include_components")("images"),draw:t("./draw"),convertCoords:t("./convert_coords")}},{"../../plots/cartesian/include_components":840,"./attributes":688,"./convert_coords":689,"./defaults":690,"./draw":691}],693:[function(t,e,r){"use strict";var n=t("../../plots/font_attributes"),i=t("../color/attributes");e.exports={bgcolor:{valType:"color",editType:"legend"},bordercolor:{valType:"color",dflt:i.defaultLine,editType:"legend"},borderwidth:{valType:"number",min:0,dflt:0,editType:"legend"},font:n({editType:"legend"}),orientation:{valType:"enumerated",values:["v","h"],dflt:"v",editType:"legend"},traceorder:{valType:"flaglist",flags:["reversed","grouped"],extras:["normal"],editType:"legend"},tracegroupgap:{valType:"number",min:0,dflt:10,editType:"legend"},itemsizing:{valType:"enumerated",values:["trace","constant"],dflt:"trace",editType:"legend"},itemwidth:{valType:"number",min:30,dflt:30,editType:"legend"},itemclick:{valType:"enumerated",values:["toggle","toggleothers",!1],dflt:"toggle",editType:"legend"},itemdoubleclick:{valType:"enumerated",values:["toggle","toggleothers",!1],dflt:"toggleothers",editType:"legend"},x:{valType:"number",min:-2,max:3,editType:"legend"},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"left",editType:"legend"},y:{valType:"number",min:-2,max:3,editType:"legend"},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],editType:"legend"},uirevision:{valType:"any",editType:"none"},valign:{valType:"enumerated",values:["top","middle","bottom"],dflt:"middle",editType:"legend"},title:{text:{valType:"string",dflt:"",editType:"legend"},font:n({editType:"legend"}),side:{valType:"enumerated",values:["top","left","top left"],editType:"legend"},editType:"legend"},editType:"legend"}},{"../../plots/font_attributes":856,"../color/attributes":642}],694:[function(t,e,r){"use strict";e.exports={scrollBarWidth:6,scrollBarMinHeight:20,scrollBarColor:"#808BA4",scrollBarMargin:4,scrollBarEnterAttrs:{rx:20,ry:3,width:0,height:0},titlePad:2,itemGap:5}},{}],695:[function(t,e,r){"use strict";var n=t("../../registry"),i=t("../../lib"),a=t("../../plot_api/plot_template"),o=t("./attributes"),s=t("../../plots/layout_attributes"),l=t("./helpers");e.exports=function(t,e,r){for(var c=t.legend||{},u=0,f=!1,h="normal",p=0;p<r.length;p++){var d=r[p];d.visible&&((d.showlegend||d._dfltShowLegend&&!(d._module&&d._module.attributes&&d._module.attributes.showlegend&&!1===d._module.attributes.showlegend.dflt))&&(u++,d.showlegend&&(f=!0,(n.traceIs(d,"pie-like")||!0===d._input.showlegend)&&u++)),(n.traceIs(d,"bar")&&"stack"===e.barmode||-1!==["tonextx","tonexty"].indexOf(d.fill))&&(h=l.isGrouped({traceorder:h})?"grouped+reversed":"reversed"),void 0!==d.legendgroup&&""!==d.legendgroup&&(h=l.isReversed({traceorder:h})?"reversed+grouped":"grouped"))}var g=i.coerce(t,e,s,"showlegend",f&&u>1);if(!1!==g||c.uirevision){var m=a.newContainer(e,"legend");if(_("uirevision",e.uirevision),!1!==g){_("bgcolor",e.paper_bgcolor),_("bordercolor"),_("borderwidth"),i.coerceFont(_,"font",e.font);var v,y,x,b=_("orientation");"h"===b?(v=0,n.getComponentMethod("rangeslider","isVisible")(t.xaxis)?(y=1.1,x="bottom"):(y=-.1,x="top")):(v=1.02,y=1,x="auto"),_("traceorder",h),l.isGrouped(e.legend)&&_("tracegroupgap"),_("itemsizing"),_("itemwidth"),_("itemclick"),_("itemdoubleclick"),_("x",v),_("xanchor"),_("y",y),_("yanchor",x),_("valign"),i.noneOrAll(c,m,["x","y"]),_("title.text")&&(_("title.side","h"===b?"left":"top"),i.coerceFont(_,"title.font",e.font))}}function _(t,e){return i.coerce(c,m,o,t,e)}}},{"../../lib":778,"../../plot_api/plot_template":817,"../../plots/layout_attributes":882,"../../registry":911,"./attributes":693,"./helpers":699}],696:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../lib"),a=t("../../plots/plots"),o=t("../../registry"),s=t("../../lib/events"),l=t("../dragelement"),c=t("../drawing"),u=t("../color"),f=t("../../lib/svg_text_utils"),h=t("./handle_click"),p=t("./constants"),d=t("../../constants/alignment"),g=d.LINE_SPACING,m=d.FROM_TL,v=d.FROM_BR,y=t("./get_legend_data"),x=t("./style"),b=t("./helpers");function _(t,e,r,n,i){var a=r.data()[0][0].trace,l={event:i,node:r.node(),curveNumber:a.index,expandedIndex:a._expandedIndex,data:t.data,layout:t.layout,frames:t._transitionData._frames,config:t._context,fullData:t._fullData,fullLayout:t._fullLayout};if(a._group&&(l.group=a._group),o.traceIs(a,"pie-like")&&(l.label=r.datum()[0].label),!1!==s.triggerHandler(t,"plotly_legendclick",l))if(1===n)e._clickTimeout=setTimeout((function(){h(r,t,n)}),t._context.doubleClickDelay);else if(2===n){e._clickTimeout&&clearTimeout(e._clickTimeout),t._legendMouseDownTime=0,!1!==s.triggerHandler(t,"plotly_legenddoubleclick",l)&&h(r,t,n)}}function w(t,e,r){var n,a=t.data()[0][0],s=a.trace,l=o.traceIs(s,"pie-like"),u=s.index,h=r._main&&e._context.edits.legendText&&!l,d=r._maxNameLength;r.entries?n=a.text:(n=l?a.label:s.name,s._meta&&(n=i.templateString(n,s._meta)));var g=i.ensureSingle(t,"text","legendtext");g.attr("text-anchor","start").call(c.font,r.font).text(h?T(n,d):n);var m=r.itemwidth+2*p.itemGap;f.positionText(g,m,0),h?g.call(f.makeEditable,{gd:e,text:n}).call(M,t,e,r).on("edit",(function(n){this.text(T(n,d)).call(M,t,e,r);var s=a.trace._fullInput||{},l={};if(o.hasTransform(s,"groupby")){var c=o.getTransformIndices(s,"groupby"),f=c[c.length-1],h=i.keyedContainer(s,"transforms["+f+"].styles","target","value.name");h.set(a.trace._group,n),l=h.constructUpdate()}else l.name=n;return o.call("_guiRestyle",e,l,u)})):M(g,t,e,r)}function T(t,e){var r=Math.max(4,e);if(t&&t.trim().length>=r/2)return t;for(var n=r-(t=t||"").length;n>0;n--)t+=" ";return t}function k(t,e){var r,a=e._context.doubleClickDelay,o=1,s=i.ensureSingle(t,"rect","legendtoggle",(function(t){e._context.staticPlot||t.style("cursor","pointer").attr("pointer-events","all"),t.call(u.fill,"rgba(0,0,0,0)")}));e._context.staticPlot||(s.on("mousedown",(function(){(r=(new Date).getTime())-e._legendMouseDownTime<a?o+=1:(o=1,e._legendMouseDownTime=r)})),s.on("mouseup",(function(){if(!e._dragged&&!e._editing){var r=e._fullLayout.legend;(new Date).getTime()-e._legendMouseDownTime>a&&(o=Math.max(o-1,1)),_(e,r,t,o,n.event)}})))}function M(t,e,r,n){n._main||t.attr("data-notex",!0),f.convertToTspans(t,r,(function(){!function(t,e,r){var n=t.data()[0][0];if(r._main&&n&&!n.trace.showlegend)return void t.remove();var i=t.select("g[class*=math-group]"),a=i.node();r||(r=e._fullLayout.legend);var o,s,l=r.borderwidth,u=(n?r:r.title).font.size*g;if(a){var h=c.bBox(a);o=h.height,s=h.width,n?c.setTranslate(i,0,.25*o):c.setTranslate(i,l,.75*o+l)}else{var d=t.select(n?".legendtext":".legendtitletext"),m=f.lineCount(d),v=d.node();o=u*m,s=v?c.bBox(v).width:0;var y=u*((m-1)/2-.3);if(n){var x=r.itemwidth+2*p.itemGap;f.positionText(d,x,-y)}else f.positionText(d,p.titlePad+l,u+l)}n?(n.lineHeight=u,n.height=Math.max(o,16)+3,n.width=s):(r._titleWidth=s,r._titleHeight=o)}(e,r,n)}))}function A(t){return i.isRightAnchor(t)?"right":i.isCenterAnchor(t)?"center":"left"}function S(t){return i.isBottomAnchor(t)?"bottom":i.isMiddleAnchor(t)?"middle":"top"}e.exports=function(t,e){var r,s=t._fullLayout,f="legend"+s._uid;if(e?(r=e.layer,f+="-hover"):((e=s.legend||{})._main=!0,r=s._infolayer),r){var h;if(t._legendMouseDownTime||(t._legendMouseDownTime=0),e._main){if(!t.calcdata)return;h=s.showlegend&&y(t.calcdata,e)}else{if(!e.entries)return;h=y(e.entries,e)}var d=s.hiddenlabels||[];if(e._main&&(!s.showlegend||!h.length))return r.selectAll(".legend").remove(),s._topdefs.select("#"+f).remove(),a.autoMargin(t,"legend");var g=i.ensureSingle(r,"g","legend",(function(t){e._main&&t.attr("pointer-events","all")})),T=i.ensureSingleById(s._topdefs,"clipPath",f,(function(t){t.append("rect")})),E=i.ensureSingle(g,"rect","bg",(function(t){t.attr("shape-rendering","crispEdges")}));E.call(u.stroke,e.bordercolor).call(u.fill,e.bgcolor).style("stroke-width",e.borderwidth+"px");var C=i.ensureSingle(g,"g","scrollbox"),L=e.title;if(e._titleWidth=0,e._titleHeight=0,L.text){var I=i.ensureSingle(C,"text","legendtitletext");I.attr("text-anchor","start").call(c.font,L.font).text(L.text),M(I,C,t,e)}else C.selectAll(".legendtitletext").remove();var P=i.ensureSingle(g,"rect","scrollbar",(function(t){t.attr(p.scrollBarEnterAttrs).call(u.fill,p.scrollBarColor)})),z=C.selectAll("g.groups").data(h);z.enter().append("g").attr("class","groups"),z.exit().remove();var O=z.selectAll("g.traces").data(i.identity);O.enter().append("g").attr("class","traces"),O.exit().remove(),O.style("opacity",(function(t){var e=t[0].trace;return o.traceIs(e,"pie-like")?-1!==d.indexOf(t[0].label)?.5:1:"legendonly"===e.visible?.5:1})).each((function(){n.select(this).call(w,t,e)})).call(x,t,e).each((function(){e._main&&n.select(this).call(k,t)})),i.syncOrAsync([a.previousPromises,function(){return function(t,e,r,i){var a=t._fullLayout;i||(i=a.legend);var o=a._size,s=b.isVertical(i),l=b.isGrouped(i),u=i.borderwidth,f=2*u,h=p.itemGap,d=i.itemwidth+2*h,g=2*(u+h),m=S(i),v=i.y<0||0===i.y&&"top"===m,y=i.y>1||1===i.y&&"bottom"===m;i._maxHeight=Math.max(v||y?a.height/2:o.h,30);var x=0;i._width=0,i._height=0;var _=function(t){var e=0,r=0,n=t.title.side;n&&(-1!==n.indexOf("left")&&(e=t._titleWidth),-1!==n.indexOf("top")&&(r=t._titleHeight));return[e,r]}(i);if(s)r.each((function(t){var e=t[0].height;c.setTranslate(this,u+_[0],u+_[1]+i._height+e/2+h),i._height+=e,i._width=Math.max(i._width,t[0].width)})),x=d+i._width,i._width+=h+d+f,i._height+=g,l&&(e.each((function(t,e){c.setTranslate(this,0,e*i.tracegroupgap)})),i._height+=(i._lgroupsLength-1)*i.tracegroupgap);else{var w=A(i),T=i.x<0||0===i.x&&"right"===w,k=i.x>1||1===i.x&&"left"===w,M=y||v,E=a.width/2;i._maxWidth=Math.max(T?M&&"left"===w?o.l+o.w:E:k?M&&"right"===w?o.r+o.w:E:o.w,2*d);var C=0,L=0;r.each((function(t){var e=t[0].width+d;C=Math.max(C,e),L+=e})),x=null;var I=0;if(l){var P=0,z=0,O=0;e.each((function(){var t=0,e=0;n.select(this).selectAll("g.traces").each((function(r){var n=r[0].height;c.setTranslate(this,_[0],_[1]+u+h+n/2+e),e+=n,t=Math.max(t,d+r[0].width)})),P=Math.max(P,e);var r=t+h;r+u+z>i._maxWidth&&(I=Math.max(I,z),z=0,O+=P+i.tracegroupgap,P=e),c.setTranslate(this,z,O),z+=r})),i._width=Math.max(I,z)+u,i._height=O+P+g}else{var D=r.size(),R=L+f+(D-1)*h<i._maxWidth,F=0,B=0,N=0,j=0;r.each((function(t){var e=t[0].height,r=d+t[0].width,n=(R?r:C)+h;n+u+B-h>=i._maxWidth&&(I=Math.max(I,j),B=0,N+=F,i._height+=F,F=0),c.setTranslate(this,_[0]+u+B,_[1]+u+N+e/2+h),j=B+r+h,B+=n,F=Math.max(F,e)})),R?(i._width=B+f,i._height=F+g):(i._width=Math.max(I,j)+f,i._height+=F+g)}}i._width=Math.ceil(Math.max(i._width+_[0],i._titleWidth+2*(u+p.titlePad))),i._height=Math.ceil(Math.max(i._height+_[1],i._titleHeight+2*(u+p.itemGap))),i._effHeight=Math.min(i._height,i._maxHeight);var U=t._context.edits,V=U.legendText||U.legendPosition;r.each((function(t){var e=n.select(this).select(".legendtoggle"),r=t[0].height,i=V?d:x||d+t[0].width;s||(i+=h/2),c.setRect(e,0,-r/2,i,r)}))}(t,z,O,e)},function(){if(!e._main||!function(t){var e=t._fullLayout.legend,r=A(e),n=S(e);return a.autoMargin(t,"legend",{x:e.x,y:e.y,l:e._width*m[r],r:e._width*v[r],b:e._effHeight*v[n],t:e._effHeight*m[n]})}(t)){var u,h,d,y,x=s._size,b=e.borderwidth,w=x.l+x.w*e.x-m[A(e)]*e._width,k=x.t+x.h*(1-e.y)-m[S(e)]*e._effHeight;if(e._main&&s.margin.autoexpand){var M=w,L=k;w=i.constrain(w,0,s.width-e._width),k=i.constrain(k,0,s.height-e._effHeight),w!==M&&i.log("Constrain legend.x to make legend fit inside graph"),k!==L&&i.log("Constrain legend.y to make legend fit inside graph")}if(e._main&&c.setTranslate(g,w,k),P.on(".drag",null),g.on("wheel",null),!e._main||e._height<=e._maxHeight||t._context.staticPlot){var I=e._effHeight;e._main||(I=e._height),E.attr({width:e._width-b,height:I-b,x:b/2,y:b/2}),c.setTranslate(C,0,0),T.select("rect").attr({width:e._width-2*b,height:I-2*b,x:b,y:b}),c.setClipUrl(C,f,t),c.setRect(P,0,0,0,0),delete e._scrollY}else{var z,O,D,R=Math.max(p.scrollBarMinHeight,e._effHeight*e._effHeight/e._height),F=e._effHeight-R-2*p.scrollBarMargin,B=e._height-e._effHeight,N=F/B,j=Math.min(e._scrollY||0,B);E.attr({width:e._width-2*b+p.scrollBarWidth+p.scrollBarMargin,height:e._effHeight-b,x:b/2,y:b/2}),T.select("rect").attr({width:e._width-2*b+p.scrollBarWidth+p.scrollBarMargin,height:e._effHeight-2*b,x:b,y:b+j}),c.setClipUrl(C,f,t),q(j,R,N),g.on("wheel",(function(){q(j=i.constrain(e._scrollY+n.event.deltaY/F*B,0,B),R,N),0!==j&&j!==B&&n.event.preventDefault()}));var U=n.behavior.drag().on("dragstart",(function(){var t=n.event.sourceEvent;z="touchstart"===t.type?t.changedTouches[0].clientY:t.clientY,D=j})).on("drag",(function(){var t=n.event.sourceEvent;2===t.buttons||t.ctrlKey||(O="touchmove"===t.type?t.changedTouches[0].clientY:t.clientY,q(j=function(t,e,r){var n=(r-e)/N+t;return i.constrain(n,0,B)}(D,z,O),R,N))}));P.call(U);var V=n.behavior.drag().on("dragstart",(function(){var t=n.event.sourceEvent;"touchstart"===t.type&&(z=t.changedTouches[0].clientY,D=j)})).on("drag",(function(){var t=n.event.sourceEvent;"touchmove"===t.type&&(O=t.changedTouches[0].clientY,q(j=function(t,e,r){var n=(e-r)/N+t;return i.constrain(n,0,B)}(D,z,O),R,N))}));C.call(V)}if(t._context.edits.legendPosition)g.classed("cursor-move",!0),l.init({element:g.node(),gd:t,prepFn:function(){var t=c.getTranslate(g);d=t.x,y=t.y},moveFn:function(t,r){var n=d+t,i=y+r;c.setTranslate(g,n,i),u=l.align(n,0,x.l,x.l+x.w,e.xanchor),h=l.align(i,0,x.t+x.h,x.t,e.yanchor)},doneFn:function(){void 0!==u&&void 0!==h&&o.call("_guiRelayout",t,{"legend.x":u,"legend.y":h})},clickFn:function(e,n){var i=r.selectAll("g.traces").filter((function(){var t=this.getBoundingClientRect();return n.clientX>=t.left&&n.clientX<=t.right&&n.clientY>=t.top&&n.clientY<=t.bottom}));i.size()>0&&_(t,g,i,e,n)}})}function q(r,n,i){e._scrollY=t._fullLayout.legend._scrollY=r,c.setTranslate(C,0,-r),c.setRect(P,e._width,p.scrollBarMargin+r*i,p.scrollBarWidth,n),T.select("rect").attr("y",b+r)}}],t)}}},{"../../constants/alignment":745,"../../lib":778,"../../lib/events":767,"../../lib/svg_text_utils":803,"../../plots/plots":891,"../../registry":911,"../color":643,"../dragelement":662,"../drawing":665,"./constants":694,"./get_legend_data":697,"./handle_click":698,"./helpers":699,"./style":701,d3:169}],697:[function(t,e,r){"use strict";var n=t("../../registry"),i=t("./helpers");e.exports=function(t,e){var r,a,o={},s=[],l=!1,c={},u=0,f=0,h=e._main;function p(t,r){if(""!==t&&i.isGrouped(e))-1===s.indexOf(t)?(s.push(t),l=!0,o[t]=[[r]]):o[t].push([r]);else{var n="~~i"+u;s.push(n),o[n]=[[r]],u++}}for(r=0;r<t.length;r++){var d=t[r],g=d[0],m=g.trace,v=m.legendgroup;if(!h||m.visible&&m.showlegend)if(n.traceIs(m,"pie-like"))for(c[v]||(c[v]={}),a=0;a<d.length;a++){var y=d[a].label;c[v][y]||(p(v,{label:y,color:d[a].color,i:d[a].i,trace:m,pts:d[a].pts}),c[v][y]=!0,f=Math.max(f,(y||"").length))}else p(v,g),f=Math.max(f,(m.name||"").length)}if(!s.length)return[];var x,b,_=s.length;if(l&&i.isGrouped(e))for(b=new Array(_),r=0;r<_;r++)x=o[s[r]],b[r]=i.isReversed(e)?x.reverse():x;else{for(b=[new Array(_)],r=0;r<_;r++)x=o[s[r]][0],b[0][i.isReversed(e)?_-r-1:r]=x;_=1}return e._lgroupsLength=_,e._maxNameLength=f,b}},{"../../registry":911,"./helpers":699}],698:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../registry"),a=!0;e.exports=function(t,e,r){var o=e._fullLayout;if(!e._dragged&&!e._editing){var s,l=o.legend.itemclick,c=o.legend.itemdoubleclick;if(1===r&&"toggle"===l&&"toggleothers"===c&&a&&e.data&&e._context.showTips?(n.notifier(n._(e,"Double-click on legend to isolate one trace"),"long"),a=!1):a=!1,1===r?s=l:2===r&&(s=c),s){var u,f,h,p,d,g=o.hiddenlabels?o.hiddenlabels.slice():[],m=t.data()[0][0],v=e._fullData,y=m.trace,x=y.legendgroup,b={},_=[],w=[],T=[];if(i.traceIs(y,"pie-like")){var k=m.label,M=g.indexOf(k);"toggle"===s?-1===M?g.push(k):g.splice(M,1):"toggleothers"===s&&(g=[],e.calcdata[0].forEach((function(t){k!==t.label&&g.push(t.label)})),e._fullLayout.hiddenlabels&&e._fullLayout.hiddenlabels.length===g.length&&-1===M&&(g=[])),i.call("_guiRelayout",e,"hiddenlabels",g)}else{var A,S=x&&x.length,E=[];if(S)for(u=0;u<v.length;u++)(A=v[u]).visible&&A.legendgroup===x&&E.push(u);if("toggle"===s){var C;switch(y.visible){case!0:C="legendonly";break;case!1:C=!1;break;case"legendonly":C=!0}if(S)for(u=0;u<v.length;u++)!1!==v[u].visible&&v[u].legendgroup===x&&B(v[u],C);else B(y,C)}else if("toggleothers"===s){var L,I,P,z,O=!0;for(u=0;u<v.length;u++)if(L=v[u]===y,P=!0!==v[u].showlegend,!(L||P||(I=S&&v[u].legendgroup===x)||!0!==v[u].visible||i.traceIs(v[u],"notLegendIsolatable"))){O=!1;break}for(u=0;u<v.length;u++)if(!1!==v[u].visible&&!i.traceIs(v[u],"notLegendIsolatable"))switch(y.visible){case"legendonly":B(v[u],!0);break;case!0:z=!!O||"legendonly",L=v[u]===y,P=!0!==v[u].showlegend&&!v[u].legendgroup,I=L||S&&v[u].legendgroup===x,B(v[u],!(!I&&!P)||z)}}for(u=0;u<w.length;u++)if(h=w[u]){var D=h.constructUpdate(),R=Object.keys(D);for(f=0;f<R.length;f++)p=R[f],(b[p]=b[p]||[])[T[u]]=D[p]}for(d=Object.keys(b),u=0;u<d.length;u++)for(p=d[u],f=0;f<_.length;f++)b[p].hasOwnProperty(f)||(b[p][f]=void 0);i.call("_guiRestyle",e,b,_)}}}function F(t,e,r){var n=_.indexOf(t),i=b[e];return i||(i=b[e]=[]),-1===_.indexOf(t)&&(_.push(t),n=_.length-1),i[n]=r,n}function B(t,e){var r=t._fullInput;if(i.hasTransform(r,"groupby")){var a=w[r.index];if(!a){var o=i.getTransformIndices(r,"groupby"),s=o[o.length-1];a=n.keyedContainer(r,"transforms["+s+"].styles","target","value.visible"),w[r.index]=a}var l=a.get(t._group);void 0===l&&(l=!0),!1!==l&&a.set(t._group,e),T[r.index]=F(r.index,"visible",!1!==r.visible)}else{var c=!1!==r.visible&&e;F(r.index,"visible",c)}}}},{"../../lib":778,"../../registry":911}],699:[function(t,e,r){"use strict";r.isGrouped=function(t){return-1!==(t.traceorder||"").indexOf("grouped")},r.isVertical=function(t){return"h"!==t.orientation},r.isReversed=function(t){return-1!==(t.traceorder||"").indexOf("reversed")}},{}],700:[function(t,e,r){"use strict";e.exports={moduleType:"component",name:"legend",layoutAttributes:t("./attributes"),supplyLayoutDefaults:t("./defaults"),draw:t("./draw"),style:t("./style")}},{"./attributes":693,"./defaults":695,"./draw":696,"./style":701}],701:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../registry"),a=t("../../lib"),o=a.strTranslate,s=t("../drawing"),l=t("../color"),c=t("../colorscale/helpers").extractOpts,u=t("../../traces/scatter/subtypes"),f=t("../../traces/pie/style_one"),h=t("../../traces/pie/helpers").castOption,p=t("./constants");function d(t,e){return(e?"radial":"horizontal")+(t?"":"reversed")}e.exports=function(t,e,r){var g=e._fullLayout;r||(r=g.legend);var m="constant"===r.itemsizing,v=r.itemwidth,y=(v+2*p.itemGap)/2,x=o(y,0),b=function(t,e,r,n){var i;if(t+1)i=t;else{if(!(e&&e.width>0))return 0;i=e.width}return m?n:Math.min(i,r)};function _(t,e,r){var a=t[0].trace,o=a.marker||{},s=o.line||{},c=r?a.visible&&a.type===r:i.traceIs(a,"bar"),u=n.select(e).select("g.legendpoints").selectAll("path.legend"+r).data(c?[t]:[]);u.enter().append("path").classed("legend"+r,!0).attr("d","M6,6H-6V-6H6Z").attr("transform",x),u.exit().remove(),u.each((function(t){var e=n.select(this),r=t[0],i=b(r.mlw,o.line,5,2);e.style("stroke-width",i+"px").call(l.fill,r.mc||o.color),i&&l.stroke(e,r.mlc||s.color)}))}function w(t,e,r){var o=t[0],s=o.trace,l=r?s.visible&&s.type===r:i.traceIs(s,r),c=n.select(e).select("g.legendpoints").selectAll("path.legend"+r).data(l?[t]:[]);if(c.enter().append("path").classed("legend"+r,!0).attr("d","M6,6H-6V-6H6Z").attr("transform",x),c.exit().remove(),c.size()){var u=(s.marker||{}).line,p=b(h(u.width,o.pts),u,5,2),d=a.minExtend(s,{marker:{line:{width:p}}});d.marker.line.color=u.color;var g=a.minExtend(o,{trace:d});f(c,g,d)}}t.each((function(t){var e=n.select(this),i=a.ensureSingle(e,"g","layers");i.style("opacity",t[0].trace.opacity);var s=r.valign,l=t[0].lineHeight,c=t[0].height;if("middle"!==s&&l&&c){var u={top:1,bottom:-1}[s]*(.5*(l-c+3));i.attr("transform",o(0,u))}else i.attr("transform",null);i.selectAll("g.legendfill").data([t]).enter().append("g").classed("legendfill",!0),i.selectAll("g.legendlines").data([t]).enter().append("g").classed("legendlines",!0);var f=i.selectAll("g.legendsymbols").data([t]);f.enter().append("g").classed("legendsymbols",!0),f.selectAll("g.legendpoints").data([t]).enter().append("g").classed("legendpoints",!0)})).each((function(t){var r,i=t[0].trace,o=[];if(i.visible)switch(i.type){case"histogram2d":case"heatmap":o=[["M-15,-2V4H15V-2Z"]],r=!0;break;case"choropleth":case"choroplethmapbox":o=[["M-6,-6V6H6V-6Z"]],r=!0;break;case"densitymapbox":o=[["M-6,0 a6,6 0 1,0 12,0 a 6,6 0 1,0 -12,0"]],r="radial";break;case"cone":o=[["M-6,2 A2,2 0 0,0 -6,6 V6L6,4Z"],["M-6,-6 A2,2 0 0,0 -6,-2 L6,-4Z"],["M-6,-2 A2,2 0 0,0 -6,2 L6,0Z"]],r=!1;break;case"streamtube":o=[["M-6,2 A2,2 0 0,0 -6,6 H6 A2,2 0 0,1 6,2 Z"],["M-6,-6 A2,2 0 0,0 -6,-2 H6 A2,2 0 0,1 6,-6 Z"],["M-6,-2 A2,2 0 0,0 -6,2 H6 A2,2 0 0,1 6,-2 Z"]],r=!1;break;case"surface":o=[["M-6,-6 A2,3 0 0,0 -6,0 H6 A2,3 0 0,1 6,-6 Z"],["M-6,1 A2,3 0 0,1 -6,6 H6 A2,3 0 0,0 6,0 Z"]],r=!0;break;case"mesh3d":o=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6H6L0,6Z"]],r=!1;break;case"volume":o=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6H6L0,6Z"]],r=!0;break;case"isosurface":o=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6 A12,24 0 0,0 6,-6 L0,6Z"]],r=!1}var u=n.select(this).select("g.legendpoints").selectAll("path.legend3dandfriends").data(o);u.enter().append("path").classed("legend3dandfriends",!0).attr("transform",x).style("stroke-miterlimit",1),u.exit().remove(),u.each((function(t,o){var u,f=n.select(this),h=c(i),p=h.colorscale,g=h.reversescale;if(p){if(!r){var m=p.length;u=0===o?p[g?m-1:0][1]:1===o?p[g?0:m-1][1]:p[Math.floor((m-1)/2)][1]}}else{var v=i.vertexcolor||i.facecolor||i.color;u=a.isArrayOrTypedArray(v)?v[o]||v[0]:v}f.attr("d",t[0]),u?f.call(l.fill,u):f.call((function(t){if(t.size()){var n="legendfill-"+i.uid;s.gradient(t,e,n,d(g,"radial"===r),p,"fill")}}))}))})).each((function(t){var e=t[0].trace,r="waterfall"===e.type;if(t[0]._distinct&&r){var i=t[0].trace[t[0].dir].marker;return t[0].mc=i.color,t[0].mlw=i.line.width,t[0].mlc=i.line.color,_(t,this,"waterfall")}var a=[];e.visible&&r&&(a=t[0].hasTotals?[["increasing","M-6,-6V6H0Z"],["totals","M6,6H0L-6,-6H-0Z"],["decreasing","M6,6V-6H0Z"]]:[["increasing","M-6,-6V6H6Z"],["decreasing","M6,6V-6H-6Z"]]);var o=n.select(this).select("g.legendpoints").selectAll("path.legendwaterfall").data(a);o.enter().append("path").classed("legendwaterfall",!0).attr("transform",x).style("stroke-miterlimit",1),o.exit().remove(),o.each((function(t){var r=n.select(this),i=e[t[0]].marker,a=b(void 0,i.line,5,2);r.attr("d",t[1]).style("stroke-width",a+"px").call(l.fill,i.color),a&&r.call(l.stroke,i.line.color)}))})).each((function(t){_(t,this,"funnel")})).each((function(t){_(t,this)})).each((function(t){var r=t[0].trace,o=n.select(this).select("g.legendpoints").selectAll("path.legendbox").data(r.visible&&i.traceIs(r,"box-violin")?[t]:[]);o.enter().append("path").classed("legendbox",!0).attr("d","M6,6H-6V-6H6Z").attr("transform",x),o.exit().remove(),o.each((function(){var t=n.select(this);if("all"!==r.boxpoints&&"all"!==r.points||0!==l.opacity(r.fillcolor)||0!==l.opacity((r.line||{}).color)){var i=b(void 0,r.line,5,2);t.style("stroke-width",i+"px").call(l.fill,r.fillcolor),i&&l.stroke(t,r.line.color)}else{var c=a.minExtend(r,{marker:{size:m?12:a.constrain(r.marker.size,2,16),sizeref:1,sizemin:1,sizemode:"diameter"}});o.call(s.pointStyle,c,e)}}))})).each((function(t){w(t,this,"funnelarea")})).each((function(t){w(t,this,"pie")})).each((function(t){var r,i,o=t[0],l=o.trace,f=l.visible&&l.fill&&"none"!==l.fill,h=u.hasLines(l),p=l.contours,g=!1,m=!1,y=c(l),x=y.colorscale,_=y.reversescale;if(p){var w=p.coloring;"lines"===w?g=!0:h="none"===w||"heatmap"===w||p.showlines,"constraint"===p.type?f="="!==p._operation:"fill"!==w&&"heatmap"!==w||(m=!0)}var T=u.hasMarkers(l)||u.hasText(l),k=f||m,M=h||g,A=T||!k?"M5,0":M?"M5,-2":"M5,-3",S=n.select(this),E=S.select(".legendfill").selectAll("path").data(f||m?[t]:[]);if(E.enter().append("path").classed("js-fill",!0),E.exit().remove(),E.attr("d",A+"h"+v+"v6h-"+v+"z").call(f?s.fillGroupStyle:function(t){if(t.size()){var r="legendfill-"+l.uid;s.gradient(t,e,r,d(_),x,"fill")}}),h||g){var C=b(void 0,l.line,10,5);i=a.minExtend(l,{line:{width:C}}),r=[a.minExtend(o,{trace:i})]}var L=S.select(".legendlines").selectAll("path").data(h||g?[r]:[]);L.enter().append("path").classed("js-line",!0),L.exit().remove(),L.attr("d",A+(g?"l"+v+",0.0001":"h"+v)).call(h?s.lineGroupStyle:function(t){if(t.size()){var r="legendline-"+l.uid;s.lineGroupStyle(t),s.gradient(t,e,r,d(_),x,"stroke")}})})).each((function(t){var r,i,o=t[0],l=o.trace,c=u.hasMarkers(l),f=u.hasText(l),h=u.hasLines(l);function p(t,e,r,n){var i=a.nestedProperty(l,t).get(),o=a.isArrayOrTypedArray(i)&&e?e(i):i;if(m&&o&&void 0!==n&&(o=n),r){if(o<r[0])return r[0];if(o>r[1])return r[1]}return o}function d(t){return o._distinct&&o.index&&t[o.index]?t[o.index]:t[0]}if(c||f||h){var g={},v={};if(c){g.mc=p("marker.color",d),g.mx=p("marker.symbol",d),g.mo=p("marker.opacity",a.mean,[.2,1]),g.mlc=p("marker.line.color",d),g.mlw=p("marker.line.width",a.mean,[0,5],2),v.marker={sizeref:1,sizemin:1,sizemode:"diameter"};var y=p("marker.size",a.mean,[2,16],12);g.ms=y,v.marker.size=y}h&&(v.line={width:p("line.width",d,[0,10],5)}),f&&(g.tx="Aa",g.tp=p("textposition",d),g.ts=10,g.tc=p("textfont.color",d),g.tf=p("textfont.family",d)),r=[a.minExtend(o,g)],(i=a.minExtend(l,v)).selectedpoints=null,i.texttemplate=null}var b=n.select(this).select("g.legendpoints"),_=b.selectAll("path.scatterpts").data(c?r:[]);_.enter().insert("path",":first-child").classed("scatterpts",!0).attr("transform",x),_.exit().remove(),_.call(s.pointStyle,i,e),c&&(r[0].mrc=3);var w=b.selectAll("g.pointtext").data(f?r:[]);w.enter().append("g").classed("pointtext",!0).append("text").attr("transform",x),w.exit().remove(),w.selectAll("text").call(s.textPointStyle,i,e)})).each((function(t){var e=t[0].trace,r=n.select(this).select("g.legendpoints").selectAll("path.legendcandle").data(e.visible&&"candlestick"===e.type?[t,t]:[]);r.enter().append("path").classed("legendcandle",!0).attr("d",(function(t,e){return e?"M-15,0H-8M-8,6V-6H8Z":"M15,0H8M8,-6V6H-8Z"})).attr("transform",x).style("stroke-miterlimit",1),r.exit().remove(),r.each((function(t,r){var i=n.select(this),a=e[r?"increasing":"decreasing"],o=b(void 0,a.line,5,2);i.style("stroke-width",o+"px").call(l.fill,a.fillcolor),o&&l.stroke(i,a.line.color)}))})).each((function(t){var e=t[0].trace,r=n.select(this).select("g.legendpoints").selectAll("path.legendohlc").data(e.visible&&"ohlc"===e.type?[t,t]:[]);r.enter().append("path").classed("legendohlc",!0).attr("d",(function(t,e){return e?"M-15,0H0M-8,-6V0":"M15,0H0M8,6V0"})).attr("transform",x).style("stroke-miterlimit",1),r.exit().remove(),r.each((function(t,r){var i=n.select(this),a=e[r?"increasing":"decreasing"],o=b(void 0,a.line,5,2);i.style("fill","none").call(s.dashLine,a.line.dash,o),o&&l.stroke(i,a.line.color)}))}))}},{"../../lib":778,"../../registry":911,"../../traces/pie/helpers":1166,"../../traces/pie/style_one":1172,"../../traces/scatter/subtypes":1212,"../color":643,"../colorscale/helpers":654,"../drawing":665,"./constants":694,d3:169}],702:[function(t,e,r){"use strict";var n=t("../../registry"),i=t("../../plots/plots"),a=t("../../plots/cartesian/axis_ids"),o=t("../../fonts/ploticon"),s=t("../shapes/draw").eraseActiveShape,l=t("../../lib"),c=l._,u=e.exports={};function f(t,e){var r,i,o=e.currentTarget,s=o.getAttribute("data-attr"),l=o.getAttribute("data-val")||!0,c=t._fullLayout,u={},f=a.list(t,null,!0),h=c._cartesianSpikesEnabled;if("zoom"===s){var p,d="in"===l?.5:2,g=(1+d)/2,m=(1-d)/2;for(i=0;i<f.length;i++)if(!(r=f[i]).fixedrange)if(p=r._name,"auto"===l)u[p+".autorange"]=!0;else if("reset"===l){if(void 0===r._rangeInitial)u[p+".autorange"]=!0;else{var v=r._rangeInitial.slice();u[p+".range[0]"]=v[0],u[p+".range[1]"]=v[1]}void 0!==r._showSpikeInitial&&(u[p+".showspikes"]=r._showSpikeInitial,"on"!==h||r._showSpikeInitial||(h="off"))}else{var y=[r.r2l(r.range[0]),r.r2l(r.range[1])],x=[g*y[0]+m*y[1],g*y[1]+m*y[0]];u[p+".range[0]"]=r.l2r(x[0]),u[p+".range[1]"]=r.l2r(x[1])}}else"hovermode"!==s||"x"!==l&&"y"!==l||(l=c._isHoriz?"y":"x",o.setAttribute("data-val",l)),u[s]=l;c._cartesianSpikesEnabled=h,n.call("_guiRelayout",t,u)}function h(t,e){for(var r=e.currentTarget,i=r.getAttribute("data-attr"),a=r.getAttribute("data-val")||!0,o=t._fullLayout._subplots.gl3d||[],s={},l=i.split("."),c=0;c<o.length;c++)s[o[c]+"."+l[1]]=a;var u="pan"===a?a:"zoom";s.dragmode=u,n.call("_guiRelayout",t,s)}function p(t,e){for(var r=e.currentTarget.getAttribute("data-attr"),i="resetLastSave"===r,a="resetDefault"===r,o=t._fullLayout,s=o._subplots.gl3d||[],l={},c=0;c<s.length;c++){var u,f=s[c],h=f+".camera",p=f+".aspectratio",d=f+".aspectmode",g=o[f]._scene;i?(l[h+".up"]=g.viewInitial.up,l[h+".eye"]=g.viewInitial.eye,l[h+".center"]=g.viewInitial.center,u=!0):a&&(l[h+".up"]=null,l[h+".eye"]=null,l[h+".center"]=null,u=!0),u&&(l[p+".x"]=g.viewInitial.aspectratio.x,l[p+".y"]=g.viewInitial.aspectratio.y,l[p+".z"]=g.viewInitial.aspectratio.z,l[d]=g.viewInitial.aspectmode)}n.call("_guiRelayout",t,l)}function d(t,e){var r=e.currentTarget,n=r._previousVal,i=t._fullLayout,a=i._subplots.gl3d||[],o=["xaxis","yaxis","zaxis"],s={},l={};if(n)l=n,r._previousVal=null;else{for(var c=0;c<a.length;c++){var u=a[c],f=i[u],h=u+".hovermode";s[h]=f.hovermode,l[h]=!1;for(var p=0;p<3;p++){var d=o[p],g=u+"."+d+".showspikes";l[g]=!1,s[g]=f[d].showspikes}}r._previousVal=s}return l}function g(t,e){for(var r=e.currentTarget,i=r.getAttribute("data-attr"),a=r.getAttribute("data-val")||!0,o=t._fullLayout,s=o._subplots.geo||[],l=0;l<s.length;l++){var c=s[l],u=o[c];if("zoom"===i){var f=u.projection.scale,h="in"===a?2*f:.5*f;n.call("_guiRelayout",t,c+".projection.scale",h)}}"reset"===i&&x(t,"geo")}function m(t){var e=t._fullLayout;return!e.hovermode&&(e._has("cartesian")?e._isHoriz?"y":"x":"closest")}function v(t){var e=m(t);n.call("_guiRelayout",t,"hovermode",e)}function y(t,e){for(var r=e.currentTarget.getAttribute("data-val"),i=t._fullLayout,a=i._subplots.mapbox||[],o={},s=0;s<a.length;s++){var l=a[s],c=i[l].zoom,u="in"===r?1.05*c:c/1.05;o[l+".zoom"]=u}n.call("_guiRelayout",t,o)}function x(t,e){for(var r=t._fullLayout,i=r._subplots[e]||[],a={},o=0;o<i.length;o++)for(var s=i[o],l=r[s]._subplot.viewInitial,c=Object.keys(l),u=0;u<c.length;u++){var f=c[u];a[s+"."+f]=l[f]}n.call("_guiRelayout",t,a)}u.toImage={name:"toImage",title:function(t){var e=(t._context.toImageButtonOptions||{}).format||"png";return c(t,"png"===e?"Download plot as a png":"Download plot")},icon:o.camera,click:function(t){var e=t._context.toImageButtonOptions,r={format:e.format||"png"};l.notifier(c(t,"Taking snapshot - this may take a few seconds"),"long"),"svg"!==r.format&&l.isIE()&&(l.notifier(c(t,"IE only supports svg. Changing format to svg."),"long"),r.format="svg"),["filename","width","height","scale"].forEach((function(t){t in e&&(r[t]=e[t])})),n.call("downloadImage",t,r).then((function(e){l.notifier(c(t,"Snapshot succeeded")+" - "+e,"long")})).catch((function(){l.notifier(c(t,"Sorry, there was a problem downloading your snapshot!"),"long")}))}},u.sendDataToCloud={name:"sendDataToCloud",title:function(t){return c(t,"Edit in Chart Studio")},icon:o.disk,click:function(t){i.sendDataToCloud(t)}},u.editInChartStudio={name:"editInChartStudio",title:function(t){return c(t,"Edit in Chart Studio")},icon:o.pencil,click:function(t){i.sendDataToCloud(t)}},u.zoom2d={name:"zoom2d",title:function(t){return c(t,"Zoom")},attr:"dragmode",val:"zoom",icon:o.zoombox,click:f},u.pan2d={name:"pan2d",title:function(t){return c(t,"Pan")},attr:"dragmode",val:"pan",icon:o.pan,click:f},u.select2d={name:"select2d",title:function(t){return c(t,"Box Select")},attr:"dragmode",val:"select",icon:o.selectbox,click:f},u.lasso2d={name:"lasso2d",title:function(t){return c(t,"Lasso Select")},attr:"dragmode",val:"lasso",icon:o.lasso,click:f},u.drawclosedpath={name:"drawclosedpath",title:function(t){return c(t,"Draw closed freeform")},attr:"dragmode",val:"drawclosedpath",icon:o.drawclosedpath,click:f},u.drawopenpath={name:"drawopenpath",title:function(t){return c(t,"Draw open freeform")},attr:"dragmode",val:"drawopenpath",icon:o.drawopenpath,click:f},u.drawline={name:"drawline",title:function(t){return c(t,"Draw line")},attr:"dragmode",val:"drawline",icon:o.drawline,click:f},u.drawrect={name:"drawrect",title:function(t){return c(t,"Draw rectangle")},attr:"dragmode",val:"drawrect",icon:o.drawrect,click:f},u.drawcircle={name:"drawcircle",title:function(t){return c(t,"Draw circle")},attr:"dragmode",val:"drawcircle",icon:o.drawcircle,click:f},u.eraseshape={name:"eraseshape",title:function(t){return c(t,"Erase active shape")},icon:o.eraseshape,click:s},u.zoomIn2d={name:"zoomIn2d",title:function(t){return c(t,"Zoom in")},attr:"zoom",val:"in",icon:o.zoom_plus,click:f},u.zoomOut2d={name:"zoomOut2d",title:function(t){return c(t,"Zoom out")},attr:"zoom",val:"out",icon:o.zoom_minus,click:f},u.autoScale2d={name:"autoScale2d",title:function(t){return c(t,"Autoscale")},attr:"zoom",val:"auto",icon:o.autoscale,click:f},u.resetScale2d={name:"resetScale2d",title:function(t){return c(t,"Reset axes")},attr:"zoom",val:"reset",icon:o.home,click:f},u.hoverClosestCartesian={name:"hoverClosestCartesian",title:function(t){return c(t,"Show closest data on hover")},attr:"hovermode",val:"closest",icon:o.tooltip_basic,gravity:"ne",click:f},u.hoverCompareCartesian={name:"hoverCompareCartesian",title:function(t){return c(t,"Compare data on hover")},attr:"hovermode",val:function(t){return t._fullLayout._isHoriz?"y":"x"},icon:o.tooltip_compare,gravity:"ne",click:f},u.zoom3d={name:"zoom3d",title:function(t){return c(t,"Zoom")},attr:"scene.dragmode",val:"zoom",icon:o.zoombox,click:h},u.pan3d={name:"pan3d",title:function(t){return c(t,"Pan")},attr:"scene.dragmode",val:"pan",icon:o.pan,click:h},u.orbitRotation={name:"orbitRotation",title:function(t){return c(t,"Orbital rotation")},attr:"scene.dragmode",val:"orbit",icon:o["3d_rotate"],click:h},u.tableRotation={name:"tableRotation",title:function(t){return c(t,"Turntable rotation")},attr:"scene.dragmode",val:"turntable",icon:o["z-axis"],click:h},u.resetCameraDefault3d={name:"resetCameraDefault3d",title:function(t){return c(t,"Reset camera to default")},attr:"resetDefault",icon:o.home,click:p},u.resetCameraLastSave3d={name:"resetCameraLastSave3d",title:function(t){return c(t,"Reset camera to last save")},attr:"resetLastSave",icon:o.movie,click:p},u.hoverClosest3d={name:"hoverClosest3d",title:function(t){return c(t,"Toggle show closest data on hover")},attr:"hovermode",val:null,toggle:!0,icon:o.tooltip_basic,gravity:"ne",click:function(t,e){var r=d(t,e);n.call("_guiRelayout",t,r)}},u.zoomInGeo={name:"zoomInGeo",title:function(t){return c(t,"Zoom in")},attr:"zoom",val:"in",icon:o.zoom_plus,click:g},u.zoomOutGeo={name:"zoomOutGeo",title:function(t){return c(t,"Zoom out")},attr:"zoom",val:"out",icon:o.zoom_minus,click:g},u.resetGeo={name:"resetGeo",title:function(t){return c(t,"Reset")},attr:"reset",val:null,icon:o.autoscale,click:g},u.hoverClosestGeo={name:"hoverClosestGeo",title:function(t){return c(t,"Toggle show closest data on hover")},attr:"hovermode",val:null,toggle:!0,icon:o.tooltip_basic,gravity:"ne",click:v},u.hoverClosestGl2d={name:"hoverClosestGl2d",title:function(t){return c(t,"Toggle show closest data on hover")},attr:"hovermode",val:null,toggle:!0,icon:o.tooltip_basic,gravity:"ne",click:v},u.hoverClosestPie={name:"hoverClosestPie",title:function(t){return c(t,"Toggle show closest data on hover")},attr:"hovermode",val:"closest",icon:o.tooltip_basic,gravity:"ne",click:v},u.resetViewSankey={name:"resetSankeyGroup",title:function(t){return c(t,"Reset view")},icon:o.home,click:function(t){for(var e={"node.groups":[],"node.x":[],"node.y":[]},r=0;r<t._fullData.length;r++){var i=t._fullData[r]._viewInitial;e["node.groups"].push(i.node.groups.slice()),e["node.x"].push(i.node.x.slice()),e["node.y"].push(i.node.y.slice())}n.call("restyle",t,e)}},u.toggleHover={name:"toggleHover",title:function(t){return c(t,"Toggle show closest data on hover")},attr:"hovermode",val:null,toggle:!0,icon:o.tooltip_basic,gravity:"ne",click:function(t,e){var r=d(t,e);r.hovermode=m(t),n.call("_guiRelayout",t,r)}},u.resetViews={name:"resetViews",title:function(t){return c(t,"Reset views")},icon:o.home,click:function(t,e){var r=e.currentTarget;r.setAttribute("data-attr","zoom"),r.setAttribute("data-val","reset"),f(t,e),r.setAttribute("data-attr","resetLastSave"),p(t,e),x(t,"geo"),x(t,"mapbox")}},u.toggleSpikelines={name:"toggleSpikelines",title:function(t){return c(t,"Toggle Spike Lines")},icon:o.spikeline,attr:"_cartesianSpikesEnabled",val:"on",click:function(t){var e=t._fullLayout,r=e._cartesianSpikesEnabled;e._cartesianSpikesEnabled="on"===r?"off":"on",n.call("_guiRelayout",t,function(t){for(var e="on"===t._fullLayout._cartesianSpikesEnabled,r=a.list(t,null,!0),n={},i=0;i<r.length;i++){var o=r[i];n[o._name+".showspikes"]=!!e||o._showSpikeInitial}return n}(t))}},u.resetViewMapbox={name:"resetViewMapbox",title:function(t){return c(t,"Reset view")},attr:"reset",icon:o.home,click:function(t){x(t,"mapbox")}},u.zoomInMapbox={name:"zoomInMapbox",title:function(t){return c(t,"Zoom in")},attr:"zoom",val:"in",icon:o.zoom_plus,click:y},u.zoomOutMapbox={name:"zoomOutMapbox",title:function(t){return c(t,"Zoom out")},attr:"zoom",val:"out",icon:o.zoom_minus,click:y}},{"../../fonts/ploticon":757,"../../lib":778,"../../plots/cartesian/axis_ids":831,"../../plots/plots":891,"../../registry":911,"../shapes/draw":724}],703:[function(t,e,r){"use strict";r.manage=t("./manage")},{"./manage":704}],704:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axis_ids"),i=t("../../traces/scatter/subtypes"),a=t("../../registry"),o=t("../fx/helpers").isUnifiedHover,s=t("./modebar"),l=t("./buttons");e.exports=function(t){var e=t._fullLayout,r=t._context,u=e._modeBar;if(r.displayModeBar||r.watermark){if(!Array.isArray(r.modeBarButtonsToRemove))throw new Error(["*modeBarButtonsToRemove* configuration options","must be an array."].join(" "));if(!Array.isArray(r.modeBarButtonsToAdd))throw new Error(["*modeBarButtonsToAdd* configuration options","must be an array."].join(" "));var f,h=r.modeBarButtons;f=Array.isArray(h)&&h.length?function(t){for(var e=0;e<t.length;e++)for(var r=t[e],n=0;n<r.length;n++){var i=r[n];if("string"==typeof i){if(void 0===l[i])throw new Error(["*modeBarButtons* configuration options","invalid button name"].join(" "));t[e][n]=l[i]}}return t}(h):!r.displayModeBar&&r.watermark?[]:function(t){var e=t._fullLayout,r=t._fullData,s=t._context,u=s.modeBarButtonsToRemove,f=s.modeBarButtonsToAdd,h=e._has("cartesian"),p=e._has("gl3d"),d=e._has("geo"),g=e._has("pie"),m=e._has("funnelarea"),v=e._has("gl2d"),y=e._has("ternary"),x=e._has("mapbox"),b=e._has("polar"),_=e._has("sankey"),w=function(t){for(var e=n.list({_fullLayout:t},null,!0),r=0;r<e.length;r++)if(!e[r].fixedrange)return!1;return!0}(e),T=o(e.hovermode),k=[];function M(t){if(t.length){for(var e=[],r=0;r<t.length;r++){var n=t[r];-1===u.indexOf(n)&&e.push(l[n])}k.push(e)}}var A=["toImage"];s.showEditInChartStudio?A.push("editInChartStudio"):s.showSendToCloud&&A.push("sendDataToCloud");M(A);var S=[],E=[],C=[],L=[];(h||v||g||m||y)+d+p+x+b>1?(E=["toggleHover"],C=["resetViews"]):d?(S=["zoomInGeo","zoomOutGeo"],E=["hoverClosestGeo"],C=["resetGeo"]):p?(E=["hoverClosest3d"],C=["resetCameraDefault3d","resetCameraLastSave3d"]):x?(S=["zoomInMapbox","zoomOutMapbox"],E=["toggleHover"],C=["resetViewMapbox"]):v?E=["hoverClosestGl2d"]:g?E=["hoverClosestPie"]:_?(E=["hoverClosestCartesian","hoverCompareCartesian"],C=["resetViewSankey"]):E=["toggleHover"];h&&(E=["toggleSpikelines","hoverClosestCartesian","hoverCompareCartesian"]);(function(t){for(var e=0;e<t.length;e++)if(!a.traceIs(t[e],"noHover"))return!1;return!0}(r)||T)&&(E=[]);!h&&!v||w||(S=["zoomIn2d","zoomOut2d","autoScale2d"],"resetViews"!==C[0]&&(C=["resetScale2d"]));p?L=["zoom3d","pan3d","orbitRotation","tableRotation"]:(h||v)&&!w||y?L=["zoom2d","pan2d"]:x||d?L=["pan2d"]:b&&(L=["zoom2d"]);(function(t){for(var e=!1,r=0;r<t.length&&!e;r++){var n=t[r];n._module&&n._module.selectPoints&&(a.traceIs(n,"scatter-like")?(i.hasMarkers(n)||i.hasText(n))&&(e=!0):a.traceIs(n,"box-violin")&&"all"!==n.boxpoints&&"all"!==n.points||(e=!0))}return e})(r)&&L.push("select2d","lasso2d");if(Array.isArray(f)){for(var I=[],P=0;P<f.length;P++){var z=f[P];"string"==typeof z?-1!==c.indexOf(z)&&(e._has("mapbox")||e._has("cartesian"))&&L.push(z):I.push(z)}f=I}return M(L),M(S.concat(C)),M(E),function(t,e){if(e.length)if(Array.isArray(e[0]))for(var r=0;r<e.length;r++)t.push(e[r]);else t.push(e);return t}(k,f)}(t),u?u.update(t,f):e._modeBar=s(t,f)}else u&&(u.destroy(),delete e._modeBar)};var c=["drawline","drawopenpath","drawclosedpath","drawcircle","drawrect","eraseshape"]},{"../../plots/cartesian/axis_ids":831,"../../registry":911,"../../traces/scatter/subtypes":1212,"../fx/helpers":679,"./buttons":702,"./modebar":705}],705:[function(t,e,r){"use strict";var n=t("d3"),i=t("fast-isnumeric"),a=t("../../lib"),o=t("../../fonts/ploticon"),s=new DOMParser;function l(t){this.container=t.container,this.element=document.createElement("div"),this.update(t.graphInfo,t.buttons),this.container.appendChild(this.element)}var c=l.prototype;c.update=function(t,e){this.graphInfo=t;var r=this.graphInfo._context,n=this.graphInfo._fullLayout,i="modebar-"+n._uid;this.element.setAttribute("id",i),this._uid=i,this.element.className="modebar","hover"===r.displayModeBar&&(this.element.className+=" modebar--hover ease-bg"),"v"===n.modebar.orientation&&(this.element.className+=" vertical",e=e.reverse());var o=n.modebar,s="hover"===r.displayModeBar?".js-plotly-plot .plotly:hover ":"";a.deleteRelatedStyleRule(i),a.addRelatedStyleRule(i,s+"#"+i+" .modebar-group","background-color: "+o.bgcolor),a.addRelatedStyleRule(i,"#"+i+" .modebar-btn .icon path","fill: "+o.color),a.addRelatedStyleRule(i,"#"+i+" .modebar-btn:hover .icon path","fill: "+o.activecolor),a.addRelatedStyleRule(i,"#"+i+" .modebar-btn.active .icon path","fill: "+o.activecolor);var l=!this.hasButtons(e),c=this.hasLogo!==r.displaylogo,u=this.locale!==r.locale;if(this.locale=r.locale,(l||c||u)&&(this.removeAllButtons(),this.updateButtons(e),r.watermark||r.displaylogo)){var f=this.getLogo();r.watermark&&(f.className=f.className+" watermark"),"v"===n.modebar.orientation?this.element.insertBefore(f,this.element.childNodes[0]):this.element.appendChild(f),this.hasLogo=!0}this.updateActiveButton()},c.updateButtons=function(t){var e=this;this.buttons=t,this.buttonElements=[],this.buttonsNames=[],this.buttons.forEach((function(t){var r=e.createGroup();t.forEach((function(t){var n=t.name;if(!n)throw new Error("must provide button 'name' in button config");if(-1!==e.buttonsNames.indexOf(n))throw new Error("button name '"+n+"' is taken");e.buttonsNames.push(n);var i=e.createButton(t);e.buttonElements.push(i),r.appendChild(i)})),e.element.appendChild(r)}))},c.createGroup=function(){var t=document.createElement("div");return t.className="modebar-group",t},c.createButton=function(t){var e=this,r=document.createElement("a");r.setAttribute("rel","tooltip"),r.className="modebar-btn";var i=t.title;void 0===i?i=t.name:"function"==typeof i&&(i=i(this.graphInfo)),(i||0===i)&&r.setAttribute("data-title",i),void 0!==t.attr&&r.setAttribute("data-attr",t.attr);var a=t.val;if(void 0!==a&&("function"==typeof a&&(a=a(this.graphInfo)),r.setAttribute("data-val",a)),"function"!=typeof t.click)throw new Error("must provide button 'click' function in button config");r.addEventListener("click",(function(r){t.click(e.graphInfo,r),e.updateActiveButton(r.currentTarget)})),r.setAttribute("data-toggle",t.toggle||!1),t.toggle&&n.select(r).classed("active",!0);var s=t.icon;return"function"==typeof s?r.appendChild(s()):r.appendChild(this.createIcon(s||o.question)),r.setAttribute("data-gravity",t.gravity||"n"),r},c.createIcon=function(t){var e,r=i(t.height)?Number(t.height):t.ascent-t.descent,n="http://www.w3.org/2000/svg";if(t.path){(e=document.createElementNS(n,"svg")).setAttribute("viewBox",[0,0,t.width,r].join(" ")),e.setAttribute("class","icon");var a=document.createElementNS(n,"path");a.setAttribute("d",t.path),t.transform?a.setAttribute("transform",t.transform):void 0!==t.ascent&&a.setAttribute("transform","matrix(1 0 0 -1 0 "+t.ascent+")"),e.appendChild(a)}t.svg&&(e=s.parseFromString(t.svg,"application/xml").childNodes[0]);return e.setAttribute("height","1em"),e.setAttribute("width","1em"),e},c.updateActiveButton=function(t){var e=this.graphInfo._fullLayout,r=void 0!==t?t.getAttribute("data-attr"):null;this.buttonElements.forEach((function(t){var i=t.getAttribute("data-val")||!0,o=t.getAttribute("data-attr"),s="true"===t.getAttribute("data-toggle"),l=n.select(t);if(s)o===r&&l.classed("active",!l.classed("active"));else{var c=null===o?o:a.nestedProperty(e,o).get();l.classed("active",c===i)}}))},c.hasButtons=function(t){var e=this.buttons;if(!e)return!1;if(t.length!==e.length)return!1;for(var r=0;r<t.length;++r){if(t[r].length!==e[r].length)return!1;for(var n=0;n<t[r].length;n++)if(t[r][n].name!==e[r][n].name)return!1}return!0},c.getLogo=function(){var t=this.createGroup(),e=document.createElement("a");return e.href="https://plotly.com/",e.target="_blank",e.setAttribute("data-title",a._(this.graphInfo,"Produced with Plotly")),e.className="modebar-btn plotlyjsicon modebar-btn--logo",e.appendChild(this.createIcon(o.newplotlylogo)),t.appendChild(e),t},c.removeAllButtons=function(){for(;this.element.firstChild;)this.element.removeChild(this.element.firstChild);this.hasLogo=!1},c.destroy=function(){a.removeElement(this.container.querySelector(".modebar")),a.deleteRelatedStyleRule(this._uid)},e.exports=function(t,e){var r=t._fullLayout,i=new l({graphInfo:t,container:r._modebardiv.node(),buttons:e});return r._privateplot&&n.select(i.element).append("span").classed("badge-private float--left",!0).text("PRIVATE"),i}},{"../../fonts/ploticon":757,"../../lib":778,d3:169,"fast-isnumeric":241}],706:[function(t,e,r){"use strict";var n=t("../../plots/font_attributes"),i=t("../color/attributes"),a=(0,t("../../plot_api/plot_template").templatedArray)("button",{visible:{valType:"boolean",dflt:!0,editType:"plot"},step:{valType:"enumerated",values:["month","year","day","hour","minute","second","all"],dflt:"month",editType:"plot"},stepmode:{valType:"enumerated",values:["backward","todate"],dflt:"backward",editType:"plot"},count:{valType:"number",min:0,dflt:1,editType:"plot"},label:{valType:"string",editType:"plot"},editType:"plot"});e.exports={visible:{valType:"boolean",editType:"plot"},buttons:a,x:{valType:"number",min:-2,max:3,editType:"plot"},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"left",editType:"plot"},y:{valType:"number",min:-2,max:3,editType:"plot"},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"bottom",editType:"plot"},font:n({editType:"plot"}),bgcolor:{valType:"color",dflt:i.lightLine,editType:"plot"},activecolor:{valType:"color",editType:"plot"},bordercolor:{valType:"color",dflt:i.defaultLine,editType:"plot"},borderwidth:{valType:"number",min:0,dflt:0,editType:"plot"},editType:"plot"}},{"../../plot_api/plot_template":817,"../../plots/font_attributes":856,"../color/attributes":642}],707:[function(t,e,r){"use strict";e.exports={yPad:.02,minButtonWidth:30,rx:3,ry:3,lightAmount:25,darkAmount:10}},{}],708:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../color"),a=t("../../plot_api/plot_template"),o=t("../../plots/array_container_defaults"),s=t("./attributes"),l=t("./constants");function c(t,e,r,i){var a=i.calendar;function o(r,i){return n.coerce(t,e,s.buttons,r,i)}if(o("visible")){var l=o("step");"all"!==l&&(!a||"gregorian"===a||"month"!==l&&"year"!==l?o("stepmode"):e.stepmode="backward",o("count")),o("label")}}e.exports=function(t,e,r,u,f){var h=t.rangeselector||{},p=a.newContainer(e,"rangeselector");function d(t,e){return n.coerce(h,p,s,t,e)}if(d("visible",o(h,p,{name:"buttons",handleItemDefaults:c,calendar:f}).length>0)){var g=function(t,e,r){for(var n=r.filter((function(r){return e[r].anchor===t._id})),i=0,a=0;a<n.length;a++){var o=e[n[a]].domain;o&&(i=Math.max(o[1],i))}return[t.domain[0],i+l.yPad]}(e,r,u);d("x",g[0]),d("y",g[1]),n.noneOrAll(t,e,["x","y"]),d("xanchor"),d("yanchor"),n.coerceFont(d,"font",r.font);var m=d("bgcolor");d("activecolor",i.contrast(m,l.lightAmount,l.darkAmount)),d("bordercolor"),d("borderwidth")}}},{"../../lib":778,"../../plot_api/plot_template":817,"../../plots/array_container_defaults":823,"../color":643,"./attributes":706,"./constants":707}],709:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../registry"),a=t("../../plots/plots"),o=t("../color"),s=t("../drawing"),l=t("../../lib"),c=l.strTranslate,u=t("../../lib/svg_text_utils"),f=t("../../plots/cartesian/axis_ids"),h=t("../../constants/alignment"),p=h.LINE_SPACING,d=h.FROM_TL,g=h.FROM_BR,m=t("./constants"),v=t("./get_update_object");function y(t){return t._id}function x(t,e,r){var n=l.ensureSingle(t,"rect","selector-rect",(function(t){t.attr("shape-rendering","crispEdges")}));n.attr({rx:m.rx,ry:m.ry}),n.call(o.stroke,e.bordercolor).call(o.fill,function(t,e){return e._isActive||e._isHovered?t.activecolor:t.bgcolor}(e,r)).style("stroke-width",e.borderwidth+"px")}function b(t,e,r,n){l.ensureSingle(t,"text","selector-text",(function(t){t.attr("text-anchor","middle")})).call(s.font,e.font).text(function(t,e){if(t.label)return e?l.templateString(t.label,e):t.label;return"all"===t.step?"all":t.count+t.step.charAt(0)}(r,n._fullLayout._meta)).call((function(t){u.convertToTspans(t,n)}))}e.exports=function(t){var e=t._fullLayout._infolayer.selectAll(".rangeselector").data(function(t){for(var e=f.list(t,"x",!0),r=[],n=0;n<e.length;n++){var i=e[n];i.rangeselector&&i.rangeselector.visible&&r.push(i)}return r}(t),y);e.enter().append("g").classed("rangeselector",!0),e.exit().remove(),e.style({cursor:"pointer","pointer-events":"all"}),e.each((function(e){var r=n.select(this),o=e,f=o.rangeselector,h=r.selectAll("g.button").data(l.filterVisible(f.buttons));h.enter().append("g").classed("button",!0),h.exit().remove(),h.each((function(e){var r=n.select(this),a=v(o,e);e._isActive=function(t,e,r){if("all"===e.step)return!0===t.autorange;var n=Object.keys(r);return t.range[0]===r[n[0]]&&t.range[1]===r[n[1]]}(o,e,a),r.call(x,f,e),r.call(b,f,e,t),r.on("click",(function(){t._dragged||i.call("_guiRelayout",t,a)})),r.on("mouseover",(function(){e._isHovered=!0,r.call(x,f,e)})),r.on("mouseout",(function(){e._isHovered=!1,r.call(x,f,e)}))})),function(t,e,r,i,o){var f=0,h=0,v=r.borderwidth;e.each((function(){var t=n.select(this).select(".selector-text"),e=r.font.size*p,i=Math.max(e*u.lineCount(t),16)+3;h=Math.max(h,i)})),e.each((function(){var t=n.select(this),e=t.select(".selector-rect"),i=t.select(".selector-text"),a=i.node()&&s.bBox(i.node()).width,o=r.font.size*p,l=u.lineCount(i),d=Math.max(a+10,m.minButtonWidth);t.attr("transform",c(v+f,v)),e.attr({x:0,y:0,width:d,height:h}),u.positionText(i,d/2,h/2-(l-1)*o/2+3),f+=d+5}));var y=t._fullLayout._size,x=y.l+y.w*r.x,b=y.t+y.h*(1-r.y),_="left";l.isRightAnchor(r)&&(x-=f,_="right");l.isCenterAnchor(r)&&(x-=f/2,_="center");var w="top";l.isBottomAnchor(r)&&(b-=h,w="bottom");l.isMiddleAnchor(r)&&(b-=h/2,w="middle");f=Math.ceil(f),h=Math.ceil(h),x=Math.round(x),b=Math.round(b),a.autoMargin(t,i+"-range-selector",{x:r.x,y:r.y,l:f*d[_],r:f*g[_],b:h*g[w],t:h*d[w]}),o.attr("transform",c(x,b))}(t,h,f,o._name,r)}))}},{"../../constants/alignment":745,"../../lib":778,"../../lib/svg_text_utils":803,"../../plots/cartesian/axis_ids":831,"../../plots/plots":891,"../../registry":911,"../color":643,"../drawing":665,"./constants":707,"./get_update_object":710,d3:169}],710:[function(t,e,r){"use strict";var n=t("d3");e.exports=function(t,e){var r=t._name,i={};if("all"===e.step)i[r+".autorange"]=!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"backward":r=t.l2r(+n.time[o].utc.offset(a,-s));break;case"todate":var l=n.time[o].utc.offset(a,-s);r=t.l2r(+n.time[o].utc.ceil(l))}var c=i[1];return[r,c]}(t,e);i[r+".range[0]"]=a[0],i[r+".range[1]"]=a[1]}return i}},{d3:169}],711:[function(t,e,r){"use strict";e.exports={moduleType:"component",name:"rangeselector",schema:{subplots:{xaxis:{rangeselector:t("./attributes")}}},layoutAttributes:t("./attributes"),handleDefaults:t("./defaults"),draw:t("./draw")}},{"./attributes":706,"./defaults":708,"./draw":709}],712:[function(t,e,r){"use strict";var n=t("../color/attributes");e.exports={bgcolor:{valType:"color",dflt:n.background,editType:"plot"},bordercolor:{valType:"color",dflt:n.defaultLine,editType:"plot"},borderwidth:{valType:"integer",dflt:0,min:0,editType:"plot"},autorange:{valType:"boolean",dflt:!0,editType:"calc",impliedEdits:{"range[0]":void 0,"range[1]":void 0}},range:{valType:"info_array",items:[{valType:"any",editType:"calc",impliedEdits:{"^autorange":!1}},{valType:"any",editType:"calc",impliedEdits:{"^autorange":!1}}],editType:"calc",impliedEdits:{autorange:!1}},thickness:{valType:"number",dflt:.15,min:0,max:1,editType:"plot"},visible:{valType:"boolean",dflt:!0,editType:"calc"},editType:"calc"}},{"../color/attributes":642}],713:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axis_ids").list,i=t("../../plots/cartesian/autorange").getAutoRange,a=t("./constants");e.exports=function(t){for(var e=n(t,"x",!0),r=0;r<e.length;r++){var o=e[r],s=o[a.name];s&&s.visible&&s.autorange&&(s._input.autorange=!0,s._input.range=s.range=i(t,o))}}},{"../../plots/cartesian/autorange":827,"../../plots/cartesian/axis_ids":831,"./constants":714}],714:[function(t,e,r){"use strict";e.exports={name:"rangeslider",containerClassName:"rangeslider-container",bgClassName:"rangeslider-bg",rangePlotClassName:"rangeslider-rangeplot",maskMinClassName:"rangeslider-mask-min",maskMaxClassName:"rangeslider-mask-max",slideBoxClassName:"rangeslider-slidebox",grabberMinClassName:"rangeslider-grabber-min",grabAreaMinClassName:"rangeslider-grabarea-min",handleMinClassName:"rangeslider-handle-min",grabberMaxClassName:"rangeslider-grabber-max",grabAreaMaxClassName:"rangeslider-grabarea-max",handleMaxClassName:"rangeslider-handle-max",maskMinOppAxisClassName:"rangeslider-mask-min-opp-axis",maskMaxOppAxisClassName:"rangeslider-mask-max-opp-axis",maskColor:"rgba(0,0,0,0.4)",maskOppAxisColor:"rgba(0,0,0,0.2)",slideBoxFill:"transparent",slideBoxCursor:"ew-resize",grabAreaFill:"transparent",grabAreaCursor:"col-resize",grabAreaWidth:10,handleWidth:4,handleRadius:1,handleStrokeWidth:1,extraPad:15}},{}],715:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../plot_api/plot_template"),a=t("../../plots/cartesian/axis_ids"),o=t("./attributes"),s=t("./oppaxis_attributes");e.exports=function(t,e,r){var l=t[r],c=e[r];if(l.rangeslider||e._requestRangeslider[c._id]){n.isPlainObject(l.rangeslider)||(l.rangeslider={});var u,f,h=l.rangeslider,p=i.newContainer(c,"rangeslider");if(_("visible")){_("bgcolor",e.plot_bgcolor),_("bordercolor"),_("borderwidth"),_("thickness"),_("autorange",!c.isValidRange(h.range)),_("range");var d=e._subplots;if(d)for(var g=d.cartesian.filter((function(t){return t.substr(0,t.indexOf("y"))===a.name2id(r)})).map((function(t){return t.substr(t.indexOf("y"),t.length)})),m=n.simpleMap(g,a.id2name),v=0;v<m.length;v++){var y=m[v];u=h[y]||{},f=i.newContainer(p,y,"yaxis");var x,b=e[y];u.range&&b.isValidRange(u.range)&&(x="fixed"),"match"!==w("rangemode",x)&&w("range",b.range.slice())}p._input=h}}function _(t,e){return n.coerce(h,p,o,t,e)}function w(t,e){return n.coerce(u,f,s,t,e)}}},{"../../lib":778,"../../plot_api/plot_template":817,"../../plots/cartesian/axis_ids":831,"./attributes":712,"./oppaxis_attributes":719}],716:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../registry"),a=t("../../plots/plots"),o=t("../../lib"),s=o.strTranslate,l=t("../drawing"),c=t("../color"),u=t("../titles"),f=t("../../plots/cartesian"),h=t("../../plots/cartesian/axis_ids"),p=t("../dragelement"),d=t("../../lib/setcursor"),g=t("./constants");function m(t,e,r,n){var i=o.ensureSingle(t,"rect",g.bgClassName,(function(t){t.attr({x:0,y:0,"shape-rendering":"crispEdges"})})),a=n.borderwidth%2==0?n.borderwidth:n.borderwidth-1,c=-n._offsetShift,u=l.crispRound(e,n.borderwidth);i.attr({width:n._width+a,height:n._height+a,transform:s(c,c),fill:n.bgcolor,stroke:n.bordercolor,"stroke-width":u})}function v(t,e,r,n){var i=e._fullLayout;o.ensureSingleById(i._topdefs,"clipPath",n._clipId,(function(t){t.append("rect").attr({x:0,y:0})})).select("rect").attr({width:n._width,height:n._height})}function y(t,e,r,i){var s,c=e.calcdata,u=t.selectAll("g."+g.rangePlotClassName).data(r._subplotsWith,o.identity);u.enter().append("g").attr("class",(function(t){return g.rangePlotClassName+" "+t})).call(l.setClipUrl,i._clipId,e),u.order(),u.exit().remove(),u.each((function(t,o){var l=n.select(this),u=0===o,p=h.getFromId(e,t,"y"),d=p._name,g=i[d],m={data:[],layout:{xaxis:{type:r.type,domain:[0,1],range:i.range.slice(),calendar:r.calendar},width:i._width,height:i._height,margin:{t:0,b:0,l:0,r:0}},_context:e._context};r.rangebreaks&&(m.layout.xaxis.rangebreaks=r.rangebreaks),m.layout[d]={type:p.type,domain:[0,1],range:"match"!==g.rangemode?g.range.slice():p.range.slice(),calendar:p.calendar},p.rangebreaks&&(m.layout[d].rangebreaks=p.rangebreaks),a.supplyDefaults(m);var v=m._fullLayout.xaxis,y=m._fullLayout[d];v.clearCalc(),v.setScale(),y.clearCalc(),y.setScale();var x={id:t,plotgroup:l,xaxis:v,yaxis:y,isRangePlot:!0};u?s=x:(x.mainplot="xy",x.mainplotinfo=s),f.rangePlot(e,x,function(t,e){for(var r=[],n=0;n<t.length;n++){var i=t[n],a=i[0].trace;a.xaxis+a.yaxis===e&&r.push(i)}return r}(c,t))}))}function x(t,e,r,n,i){(o.ensureSingle(t,"rect",g.maskMinClassName,(function(t){t.attr({x:0,y:0,"shape-rendering":"crispEdges"})})).attr("height",n._height).call(c.fill,g.maskColor),o.ensureSingle(t,"rect",g.maskMaxClassName,(function(t){t.attr({y:0,"shape-rendering":"crispEdges"})})).attr("height",n._height).call(c.fill,g.maskColor),"match"!==i.rangemode)&&(o.ensureSingle(t,"rect",g.maskMinOppAxisClassName,(function(t){t.attr({y:0,"shape-rendering":"crispEdges"})})).attr("width",n._width).call(c.fill,g.maskOppAxisColor),o.ensureSingle(t,"rect",g.maskMaxOppAxisClassName,(function(t){t.attr({y:0,"shape-rendering":"crispEdges"})})).attr("width",n._width).style("border-top",g.maskOppBorder).call(c.fill,g.maskOppAxisColor))}function b(t,e,r,n){e._context.staticPlot||o.ensureSingle(t,"rect",g.slideBoxClassName,(function(t){t.attr({y:0,cursor:g.slideBoxCursor,"shape-rendering":"crispEdges"})})).attr({height:n._height,fill:g.slideBoxFill})}function _(t,e,r,n){var i=o.ensureSingle(t,"g",g.grabberMinClassName),a=o.ensureSingle(t,"g",g.grabberMaxClassName),s={x:0,width:g.handleWidth,rx:g.handleRadius,fill:c.background,stroke:c.defaultLine,"stroke-width":g.handleStrokeWidth,"shape-rendering":"crispEdges"},l={y:Math.round(n._height/4),height:Math.round(n._height/2)};o.ensureSingle(i,"rect",g.handleMinClassName,(function(t){t.attr(s)})).attr(l),o.ensureSingle(a,"rect",g.handleMaxClassName,(function(t){t.attr(s)})).attr(l);var u={width:g.grabAreaWidth,x:0,y:0,fill:g.grabAreaFill,cursor:e._context.staticPlot?void 0:g.grabAreaCursor};o.ensureSingle(i,"rect",g.grabAreaMinClassName,(function(t){t.attr(u)})).attr("height",n._height),o.ensureSingle(a,"rect",g.grabAreaMaxClassName,(function(t){t.attr(u)})).attr("height",n._height)}e.exports=function(t){for(var e=t._fullLayout,r=e._rangeSliderData,a=0;a<r.length;a++){var l=r[a][g.name];l._clipId=l._id+"-"+e._uid}var c=e._infolayer.selectAll("g."+g.containerClassName).data(r,(function(t){return t._name}));c.exit().each((function(t){var r=t[g.name];e._topdefs.select("#"+r._clipId).remove()})).remove(),0!==r.length&&(c.enter().append("g").classed(g.containerClassName,!0).attr("pointer-events","all"),c.each((function(r){var a=n.select(this),l=r[g.name],c=e[h.id2name(r.anchor)],f=l[h.id2name(r.anchor)];if(l.range){var w,T=o.simpleMap(l.range,r.r2l),k=o.simpleMap(r.range,r.r2l);w=k[0]<k[1]?[Math.min(T[0],k[0]),Math.max(T[1],k[1])]:[Math.max(T[0],k[0]),Math.min(T[1],k[1])],l.range=l._input.range=o.simpleMap(w,r.l2r)}r.cleanRange("rangeslider.range");var M=e._size,A=r.domain;l._width=M.w*(A[1]-A[0]);var S=Math.round(M.l+M.w*A[0]),E=Math.round(M.t+M.h*(1-r._counterDomainMin)+("bottom"===r.side?r._depth:0)+l._offsetShift+g.extraPad);a.attr("transform",s(S,E)),l._rl=o.simpleMap(l.range,r.r2l);var C=l._rl[0],L=l._rl[1],I=L-C;if(l.p2d=function(t){return t/l._width*I+C},l.d2p=function(t){return(t-C)/I*l._width},r.rangebreaks){var P=r.locateBreaks(C,L);if(P.length){var z,O,D=0;for(z=0;z<P.length;z++)D+=(O=P[z]).max-O.min;var R=l._width/(L-C-D),F=[-R*C];for(z=0;z<P.length;z++)O=P[z],F.push(F[F.length-1]-R*(O.max-O.min));for(l.d2p=function(t){for(var e=F[0],r=0;r<P.length;r++){var n=P[r];if(t>=n.max)e=F[r+1];else if(t<n.min)break}return e+R*t},z=0;z<P.length;z++)(O=P[z]).pmin=l.d2p(O.min),O.pmax=l.d2p(O.max);l.p2d=function(t){for(var e=F[0],r=0;r<P.length;r++){var n=P[r];if(t>=n.pmax)e=F[r+1];else if(t<n.pmin)break}return(t-e)/R}}}if("match"!==f.rangemode){var B=c.r2l(f.range[0]),N=c.r2l(f.range[1])-B;l.d2pOppAxis=function(t){return(t-B)/N*l._height}}a.call(m,t,r,l).call(v,t,r,l).call(y,t,r,l).call(x,t,r,l,f).call(b,t,r,l).call(_,t,r,l),function(t,e,r,a){if(e._context.staticPlot)return;var s=t.select("rect."+g.slideBoxClassName).node(),l=t.select("rect."+g.grabAreaMinClassName).node(),c=t.select("rect."+g.grabAreaMaxClassName).node();function u(){var u=n.event,f=u.target,h=u.clientX||u.touches[0].clientX,g=h-t.node().getBoundingClientRect().left,m=a.d2p(r._rl[0]),v=a.d2p(r._rl[1]),y=p.coverSlip();function x(t){var u,p,x,b=+(t.clientX||t.touches[0].clientX)-h;switch(f){case s:x="ew-resize",u=m+b,p=v+b;break;case l:x="col-resize",u=m+b,p=v;break;case c:x="col-resize",u=m,p=v+b;break;default:x="ew-resize",u=g,p=g+b}if(p<u){var _=p;p=u,u=_}a._pixelMin=u,a._pixelMax=p,d(n.select(y),x),function(t,e,r,n){function a(t){return r.l2r(o.constrain(t,n._rl[0],n._rl[1]))}var s=a(n.p2d(n._pixelMin)),l=a(n.p2d(n._pixelMax));window.requestAnimationFrame((function(){i.call("_guiRelayout",e,r._name+".range",[s,l])}))}(0,e,r,a)}function b(){y.removeEventListener("mousemove",x),y.removeEventListener("mouseup",b),this.removeEventListener("touchmove",x),this.removeEventListener("touchend",b),o.removeElement(y)}this.addEventListener("touchmove",x),this.addEventListener("touchend",b),y.addEventListener("mousemove",x),y.addEventListener("mouseup",b)}t.on("mousedown",u),t.on("touchstart",u)}(a,t,r,l),function(t,e,r,n,i,a){var l=g.handleWidth/2;function c(t){return o.constrain(t,0,n._width)}function u(t){return o.constrain(t,0,n._height)}function f(t){return o.constrain(t,-l,n._width+l)}var h=c(n.d2p(r._rl[0])),p=c(n.d2p(r._rl[1]));if(t.select("rect."+g.slideBoxClassName).attr("x",h).attr("width",p-h),t.select("rect."+g.maskMinClassName).attr("width",h),t.select("rect."+g.maskMaxClassName).attr("x",p).attr("width",n._width-p),"match"!==a.rangemode){var d=n._height-u(n.d2pOppAxis(i._rl[1])),m=n._height-u(n.d2pOppAxis(i._rl[0]));t.select("rect."+g.maskMinOppAxisClassName).attr("x",h).attr("height",d).attr("width",p-h),t.select("rect."+g.maskMaxOppAxisClassName).attr("x",h).attr("y",m).attr("height",n._height-m).attr("width",p-h),t.select("rect."+g.slideBoxClassName).attr("y",d).attr("height",m-d)}var v=Math.round(f(h-l))-.5,y=Math.round(f(p-l))+.5;t.select("g."+g.grabberMinClassName).attr("transform",s(v,.5)),t.select("g."+g.grabberMaxClassName).attr("transform",s(y,.5))}(a,0,r,l,c,f),"bottom"===r.side&&u.draw(t,r._id+"title",{propContainer:r,propName:r._name+".title",placeholder:e._dfltTitle.x,attributes:{x:r._offset+r._length/2,y:E+l._height+l._offsetShift+10+1.5*r.title.font.size,"text-anchor":"middle"}})})))}},{"../../lib":778,"../../lib/setcursor":799,"../../plots/cartesian":841,"../../plots/cartesian/axis_ids":831,"../../plots/plots":891,"../../registry":911,"../color":643,"../dragelement":662,"../drawing":665,"../titles":738,"./constants":714,d3:169}],717:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axis_ids"),i=t("../../lib/svg_text_utils"),a=t("./constants"),o=t("../../constants/alignment").LINE_SPACING,s=a.name;function l(t){var e=t&&t[s];return e&&e.visible}r.isVisible=l,r.makeData=function(t){var e=n.list({_fullLayout:t},"x",!0),r=t.margin,i=[];if(!t._has("gl2d"))for(var a=0;a<e.length;a++){var o=e[a];if(l(o)){i.push(o);var c=o[s];c._id=s+o._id,c._height=(t.height-r.b-r.t)*c.thickness,c._offsetShift=Math.floor(c.borderwidth/2)}}t._rangeSliderData=i},r.autoMarginOpts=function(t,e){var r=t._fullLayout,n=e[s],l=e._id.charAt(0),c=0,u=0;"bottom"===e.side&&(c=e._depth,e.title.text!==r._dfltTitle[l]&&(u=1.5*e.title.font.size+10+n._offsetShift,u+=(e.title.text.match(i.BR_TAG_ALL)||[]).length*e.title.font.size*o));return{x:0,y:e._counterDomainMin,l:0,r:0,t:0,b:n._height+c+Math.max(r.margin.b,u),pad:a.extraPad+2*n._offsetShift}}},{"../../constants/alignment":745,"../../lib/svg_text_utils":803,"../../plots/cartesian/axis_ids":831,"./constants":714}],718:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./attributes"),a=t("./oppaxis_attributes"),o=t("./helpers");e.exports={moduleType:"component",name:"rangeslider",schema:{subplots:{xaxis:{rangeslider:n.extendFlat({},i,{yaxis:a})}}},layoutAttributes:t("./attributes"),handleDefaults:t("./defaults"),calcAutorange:t("./calc_autorange"),draw:t("./draw"),isVisible:o.isVisible,makeData:o.makeData,autoMarginOpts:o.autoMarginOpts}},{"../../lib":778,"./attributes":712,"./calc_autorange":713,"./defaults":715,"./draw":716,"./helpers":717,"./oppaxis_attributes":719}],719:[function(t,e,r){"use strict";e.exports={_isSubplotObj:!0,rangemode:{valType:"enumerated",values:["auto","fixed","match"],dflt:"match",editType:"calc"},range:{valType:"info_array",items:[{valType:"any",editType:"plot"},{valType:"any",editType:"plot"}],editType:"plot"},editType:"calc"}},{}],720:[function(t,e,r){"use strict";var n=t("../annotations/attributes"),i=t("../../traces/scatter/attributes").line,a=t("../drawing/attributes").dash,o=t("../../lib/extend").extendFlat,s=t("../../plot_api/plot_template").templatedArray;t("../../constants/axis_placeable_objects");e.exports=s("shape",{visible:{valType:"boolean",dflt:!0,editType:"calc+arraydraw"},type:{valType:"enumerated",values:["circle","rect","path","line"],editType:"calc+arraydraw"},layer:{valType:"enumerated",values:["below","above"],dflt:"above",editType:"arraydraw"},xref:o({},n.xref,{}),xsizemode:{valType:"enumerated",values:["scaled","pixel"],dflt:"scaled",editType:"calc+arraydraw"},xanchor:{valType:"any",editType:"calc+arraydraw"},x0:{valType:"any",editType:"calc+arraydraw"},x1:{valType:"any",editType:"calc+arraydraw"},yref:o({},n.yref,{}),ysizemode:{valType:"enumerated",values:["scaled","pixel"],dflt:"scaled",editType:"calc+arraydraw"},yanchor:{valType:"any",editType:"calc+arraydraw"},y0:{valType:"any",editType:"calc+arraydraw"},y1:{valType:"any",editType:"calc+arraydraw"},path:{valType:"string",editType:"calc+arraydraw"},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"arraydraw"},line:{color:o({},i.color,{editType:"arraydraw"}),width:o({},i.width,{editType:"calc+arraydraw"}),dash:o({},a,{editType:"arraydraw"}),editType:"calc+arraydraw"},fillcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"arraydraw"},fillrule:{valType:"enumerated",values:["evenodd","nonzero"],dflt:"evenodd",editType:"arraydraw"},editable:{valType:"boolean",dflt:!1,editType:"calc+arraydraw"},editType:"arraydraw"})},{"../../constants/axis_placeable_objects":746,"../../lib/extend":768,"../../plot_api/plot_template":817,"../../traces/scatter/attributes":1187,"../annotations/attributes":626,"../drawing/attributes":664}],721:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../plots/cartesian/axes"),a=t("./constants"),o=t("./helpers");function s(t){return c(t.line.width,t.xsizemode,t.x0,t.x1,t.path,!1)}function l(t){return c(t.line.width,t.ysizemode,t.y0,t.y1,t.path,!0)}function c(t,e,r,i,s,l){var c=t/2,u=l;if("pixel"===e){var f=s?o.extractPathCoords(s,l?a.paramIsY:a.paramIsX):[r,i],h=n.aggNums(Math.max,null,f),p=n.aggNums(Math.min,null,f),d=p<0?Math.abs(p)+c:c,g=h>0?h+c:c;return{ppad:c,ppadplus:u?d:g,ppadminus:u?g:d}}return{ppad:c}}function u(t,e,r,n,i){var s="category"===t.type||"multicategory"===t.type?t.r2c:t.d2c;if(void 0!==e)return[s(e),s(r)];if(n){var l,c,u,f,h=1/0,p=-1/0,d=n.match(a.segmentRE);for("date"===t.type&&(s=o.decodeDate(s)),l=0;l<d.length;l++)void 0!==(c=i[d[l].charAt(0)].drawn)&&(!(u=d[l].substr(1).match(a.paramRE))||u.length<c||((f=s(u[c]))<h&&(h=f),f>p&&(p=f)));return p>=h?[h,p]:void 0}}e.exports=function(t){var e=t._fullLayout,r=n.filterVisible(e.shapes);if(r.length&&t._fullData.length)for(var o=0;o<r.length;o++){var c,f,h=r[o];h._extremes={};var p=i.getRefType(h.xref),d=i.getRefType(h.yref);if("paper"!==h.xref&&"domain"!==p){var g="pixel"===h.xsizemode?h.xanchor:h.x0,m="pixel"===h.xsizemode?h.xanchor:h.x1;(f=u(c=i.getFromId(t,h.xref),g,m,h.path,a.paramIsX))&&(h._extremes[c._id]=i.findExtremes(c,f,s(h)))}if("paper"!==h.yref&&"domain"!==d){var v="pixel"===h.ysizemode?h.yanchor:h.y0,y="pixel"===h.ysizemode?h.yanchor:h.y1;(f=u(c=i.getFromId(t,h.yref),v,y,h.path,a.paramIsY))&&(h._extremes[c._id]=i.findExtremes(c,f,l(h)))}}}},{"../../lib":778,"../../plots/cartesian/axes":828,"./constants":722,"./helpers":731}],722:[function(t,e,r){"use strict";e.exports={segmentRE:/[MLHVQCTSZ][^MLHVQCTSZ]*/g,paramRE:/[^\s,]+/g,paramIsX:{M:{0:!0,drawn:0},L:{0:!0,drawn:0},H:{0:!0,drawn:0},V:{},Q:{0:!0,2:!0,drawn:2},C:{0:!0,2:!0,4:!0,drawn:4},T:{0:!0,drawn:0},S:{0:!0,2:!0,drawn:2},Z:{}},paramIsY:{M:{1:!0,drawn:1},L:{1:!0,drawn:1},H:{},V:{0:!0,drawn:0},Q:{1:!0,3:!0,drawn:3},C:{1:!0,3:!0,5:!0,drawn:5},T:{1:!0,drawn:1},S:{1:!0,3:!0,drawn:5},Z:{}},numParams:{M:2,L:2,H:1,V:1,Q:4,C:6,T:2,S:4,Z:0}}},{}],723:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../plots/cartesian/axes"),a=t("../../plots/array_container_defaults"),o=t("./attributes"),s=t("./helpers");function l(t,e,r){function a(r,i){return n.coerce(t,e,o,r,i)}if(a("visible")){var l=a("path"),c=a("type",l?"path":"rect");"path"!==e.type&&delete e.path,a("editable"),a("layer"),a("opacity"),a("fillcolor"),a("fillrule"),a("line.width")&&(a("line.color"),a("line.dash"));for(var u=a("xsizemode"),f=a("ysizemode"),h=["x","y"],p=0;p<2;p++){var d,g,m,v=h[p],y=v+"anchor",x="x"===v?u:f,b={_fullLayout:r},_=i.coerceRef(t,e,b,v,void 0,"paper");if("range"===i.getRefType(_)?((d=i.getFromId(b,_))._shapeIndices.push(e._index),m=s.rangeToShapePosition(d),g=s.shapePositionToRange(d)):g=m=n.identity,"path"!==c){var w=v+"0",T=v+"1",k=t[w],M=t[T];t[w]=g(t[w],!0),t[T]=g(t[T],!0),"pixel"===x?(a(w,0),a(T,10)):(i.coercePosition(e,b,a,_,w,.25),i.coercePosition(e,b,a,_,T,.75)),e[w]=m(e[w]),e[T]=m(e[T]),t[w]=k,t[T]=M}if("pixel"===x){var A=t[y];t[y]=g(t[y],!0),i.coercePosition(e,b,a,_,y,.25),e[y]=m(e[y]),t[y]=A}}"path"===c?a("path"):n.noneOrAll(t,e,["x0","x1","y0","y1"])}}e.exports=function(t,e){a(t,e,{name:"shapes",handleItemDefaults:l})}},{"../../lib":778,"../../plots/array_container_defaults":823,"../../plots/cartesian/axes":828,"./attributes":720,"./helpers":731}],724:[function(t,e,r){"use strict";var n=t("../../registry"),i=t("../../lib"),a=t("../../plots/cartesian/axes"),o=t("./draw_newshape/helpers").readPaths,s=t("./draw_newshape/display_outlines"),l=t("../../plots/cartesian/handle_outline").clearOutlineControllers,c=t("../color"),u=t("../drawing"),f=t("../../plot_api/plot_template").arrayEditor,h=t("../dragelement"),p=t("../../lib/setcursor"),d=t("./constants"),g=t("./helpers");function m(t){var e=t._fullLayout;for(var r in e._shapeUpperLayer.selectAll("path").remove(),e._shapeLowerLayer.selectAll("path").remove(),e._plots){var n=e._plots[r].shapelayer;n&&n.selectAll("path").remove()}for(var i=0;i<e.shapes.length;i++)e.shapes[i].visible&&x(t,i)}function v(t){return!!t._fullLayout._drawing}function y(t){return!t._context.edits.shapePosition}function x(t,e){t._fullLayout._paperdiv.selectAll('.shapelayer [data-index="'+e+'"]').remove();var r=g.makeOptionsAndPlotinfo(t,e),l=r.options,x=r.plotinfo;if(l._input&&!1!==l.visible)if("below"!==l.layer)k(t._fullLayout._shapeUpperLayer);else if("paper"===l.xref||"paper"===l.yref)k(t._fullLayout._shapeLowerLayer);else{if(x._hadPlotinfo)k((x.mainplotinfo||x).shapelayer);else k(t._fullLayout._shapeLowerLayer)}function k(r){var k=_(t,l),M={"data-index":e,"fill-rule":l.fillrule,d:k},A=l.opacity,S=l.fillcolor,E=l.line.width?l.line.color:"rgba(0,0,0,0)",C=l.line.width,L=l.line.dash;C||!0!==l.editable||(C=5,L="solid");var I="Z"!==k[k.length-1],P=y(t)&&l.editable&&t._fullLayout._activeShapeIndex===e;P&&(S=I?"rgba(0,0,0,0)":t._fullLayout.activeshape.fillcolor,A=t._fullLayout.activeshape.opacity);var z,O=r.append("path").attr(M).style("opacity",A).call(c.stroke,E).call(c.fill,S).call(u.dashLine,L,C);if(b(O,t,l),(P||t._context.edits.shapePosition)&&(z=f(t.layout,"shapes",l)),P){O.style({cursor:"move"});var D={element:O.node(),plotinfo:x,gd:t,editHelpers:z,isActiveShape:!0},R=o(k,t);s(R,O,D)}else t._context.edits.shapePosition?function(t,e,r,o,s,l){var c,f,m,y,x,T,k,M,A,S,E,C,L,I,P,z,O="pixel"===r.xsizemode,D="pixel"===r.ysizemode,R="line"===r.type,F="path"===r.type,B=l.modifyItem,N=a.getFromId(t,r.xref),j=a.getRefType(r.xref),U=a.getFromId(t,r.yref),V=a.getRefType(r.yref),q=g.getDataToPixel(t,N,!1,j),H=g.getDataToPixel(t,U,!0,V),G=g.getPixelToData(t,N,!1,j),Y=g.getPixelToData(t,U,!0,V),W=R?function(){var t=Math.max(r.line.width,10),n=s.append("g").attr("data-index",o);n.append("path").attr("d",e.attr("d")).style({cursor:"move","stroke-width":t,"stroke-opacity":"0"});var i={"fill-opacity":"0"},a=Math.max(t/2,10);return n.append("circle").attr({"data-line-point":"start-point",cx:O?q(r.xanchor)+r.x0:q(r.x0),cy:D?H(r.yanchor)-r.y0:H(r.y0),r:a}).style(i).classed("cursor-grab",!0),n.append("circle").attr({"data-line-point":"end-point",cx:O?q(r.xanchor)+r.x1:q(r.x1),cy:D?H(r.yanchor)-r.y1:H(r.y1),r:a}).style(i).classed("cursor-grab",!0),n}():e,X={element:W.node(),gd:t,prepFn:function(n){if(v(t))return;O&&(x=q(r.xanchor));D&&(T=H(r.yanchor));"path"===r.type?P=r.path:(c=O?r.x0:q(r.x0),f=D?r.y0:H(r.y0),m=O?r.x1:q(r.x1),y=D?r.y1:H(r.y1));c<m?(A=c,L="x0",S=m,I="x1"):(A=m,L="x1",S=c,I="x0");!D&&f<y||D&&f>y?(k=f,E="y0",M=y,C="y1"):(k=y,E="y1",M=f,C="y0");Z(n),Q(s,r),function(t,e,r){var n=e.xref,i=e.yref,o=a.getFromId(r,n),s=a.getFromId(r,i),l="";"paper"===n||o.autorange||(l+=n);"paper"===i||s.autorange||(l+=i);u.setClipUrl(t,l?"clip"+r._fullLayout._uid+l:null,r)}(e,r,t),X.moveFn="move"===z?J:K,X.altKey=n.altKey},doneFn:function(){if(v(t))return;p(e),$(s),b(e,t,r),n.call("_guiRelayout",t,l.getUpdateObj())},clickFn:function(){if(v(t))return;$(s)}};function Z(r){if(v(t))z=null;else if(R)z="path"===r.target.tagName?"move":"start-point"===r.target.attributes["data-line-point"].value?"resize-over-start-point":"resize-over-end-point";else{var n=X.element.getBoundingClientRect(),i=n.right-n.left,a=n.bottom-n.top,o=r.clientX-n.left,s=r.clientY-n.top,l=!F&&i>10&&a>10&&!r.shiftKey?h.getCursor(o/i,1-s/a):"move";p(e,l),z=l.split("-")[0]}}function J(n,i){if("path"===r.type){var a=function(t){return t},o=a,l=a;O?B("xanchor",r.xanchor=G(x+n)):(o=function(t){return G(q(t)+n)},N&&"date"===N.type&&(o=g.encodeDate(o))),D?B("yanchor",r.yanchor=Y(T+i)):(l=function(t){return Y(H(t)+i)},U&&"date"===U.type&&(l=g.encodeDate(l))),B("path",r.path=w(P,o,l))}else O?B("xanchor",r.xanchor=G(x+n)):(B("x0",r.x0=G(c+n)),B("x1",r.x1=G(m+n))),D?B("yanchor",r.yanchor=Y(T+i)):(B("y0",r.y0=Y(f+i)),B("y1",r.y1=Y(y+i)));e.attr("d",_(t,r)),Q(s,r)}function K(n,i){if(F){var a=function(t){return t},o=a,l=a;O?B("xanchor",r.xanchor=G(x+n)):(o=function(t){return G(q(t)+n)},N&&"date"===N.type&&(o=g.encodeDate(o))),D?B("yanchor",r.yanchor=Y(T+i)):(l=function(t){return Y(H(t)+i)},U&&"date"===U.type&&(l=g.encodeDate(l))),B("path",r.path=w(P,o,l))}else if(R){if("resize-over-start-point"===z){var u=c+n,h=D?f-i:f+i;B("x0",r.x0=O?u:G(u)),B("y0",r.y0=D?h:Y(h))}else if("resize-over-end-point"===z){var p=m+n,d=D?y-i:y+i;B("x1",r.x1=O?p:G(p)),B("y1",r.y1=D?d:Y(d))}}else{var v=function(t){return-1!==z.indexOf(t)},b=v("n"),j=v("s"),V=v("w"),W=v("e"),X=b?k+i:k,Z=j?M+i:M,J=V?A+n:A,K=W?S+n:S;D&&(b&&(X=k-i),j&&(Z=M-i)),(!D&&Z-X>10||D&&X-Z>10)&&(B(E,r[E]=D?X:Y(X)),B(C,r[C]=D?Z:Y(Z))),K-J>10&&(B(L,r[L]=O?J:G(J)),B(I,r[I]=O?K:G(K)))}e.attr("d",_(t,r)),Q(s,r)}function Q(t,e){(O||D)&&function(){var r="path"!==e.type,n=t.selectAll(".visual-cue").data([0]);n.enter().append("path").attr({fill:"#fff","fill-rule":"evenodd",stroke:"#000","stroke-width":1}).classed("visual-cue",!0);var a=q(O?e.xanchor:i.midRange(r?[e.x0,e.x1]:g.extractPathCoords(e.path,d.paramIsX))),o=H(D?e.yanchor:i.midRange(r?[e.y0,e.y1]:g.extractPathCoords(e.path,d.paramIsY)));if(a=g.roundPositionForSharpStrokeRendering(a,1),o=g.roundPositionForSharpStrokeRendering(o,1),O&&D){var s="M"+(a-1-1)+","+(o-1-1)+"h-8v2h8 v8h2v-8 h8v-2h-8 v-8h-2 Z";n.attr("d",s)}else if(O){var l="M"+(a-1-1)+","+(o-9-1)+"v18 h2 v-18 Z";n.attr("d",l)}else{var c="M"+(a-9-1)+","+(o-1-1)+"h18 v2 h-18 Z";n.attr("d",c)}}()}function $(t){t.selectAll(".visual-cue").remove()}h.init(X),W.node().onmousemove=Z}(t,O,l,e,r,z):!0===l.editable&&O.style("pointer-events",I||c.opacity(S)*A<=.5?"stroke":"all");O.node().addEventListener("click",(function(){return function(t,e){if(!y(t))return;var r=+e.node().getAttribute("data-index");if(r>=0){if(r===t._fullLayout._activeShapeIndex)return void T(t);t._fullLayout._activeShapeIndex=r,t._fullLayout._deactivateShape=T,m(t)}}(t,O)}))}}function b(t,e,r){var n=(r.xref+r.yref).replace(/paper/g,"").replace(/[xyz][1-9]* *domain/g,"");u.setClipUrl(t,n?"clip"+e._fullLayout._uid+n:null,e)}function _(t,e){var r,n,o,s,l,c,u,f,h=e.type,p=a.getRefType(e.xref),m=a.getRefType(e.yref),v=a.getFromId(t,e.xref),y=a.getFromId(t,e.yref),x=t._fullLayout._size;if(v?"domain"===p?n=function(t){return v._offset+v._length*t}:(r=g.shapePositionToRange(v),n=function(t){return v._offset+v.r2p(r(t,!0))}):n=function(t){return x.l+x.w*t},y?"domain"===m?s=function(t){return y._offset+y._length*(1-t)}:(o=g.shapePositionToRange(y),s=function(t){return y._offset+y.r2p(o(t,!0))}):s=function(t){return x.t+x.h*(1-t)},"path"===h)return v&&"date"===v.type&&(n=g.decodeDate(n)),y&&"date"===y.type&&(s=g.decodeDate(s)),function(t,e,r){var n=t.path,a=t.xsizemode,o=t.ysizemode,s=t.xanchor,l=t.yanchor;return n.replace(d.segmentRE,(function(t){var n=0,c=t.charAt(0),u=d.paramIsX[c],f=d.paramIsY[c],h=d.numParams[c],p=t.substr(1).replace(d.paramRE,(function(t){return u[n]?t="pixel"===a?e(s)+Number(t):e(t):f[n]&&(t="pixel"===o?r(l)-Number(t):r(t)),++n>h&&(t="X"),t}));return n>h&&(p=p.replace(/[\s,]*X.*/,""),i.log("Ignoring extra params in segment "+t)),c+p}))}(e,n,s);if("pixel"===e.xsizemode){var b=n(e.xanchor);l=b+e.x0,c=b+e.x1}else l=n(e.x0),c=n(e.x1);if("pixel"===e.ysizemode){var _=s(e.yanchor);u=_-e.y0,f=_-e.y1}else u=s(e.y0),f=s(e.y1);if("line"===h)return"M"+l+","+u+"L"+c+","+f;if("rect"===h)return"M"+l+","+u+"H"+c+"V"+f+"H"+l+"Z";var w=(l+c)/2,T=(u+f)/2,k=Math.abs(w-l),M=Math.abs(T-u),A="A"+k+","+M,S=w+k+","+T;return"M"+S+A+" 0 1,1 "+(w+","+(T-M))+A+" 0 0,1 "+S+"Z"}function w(t,e,r){return t.replace(d.segmentRE,(function(t){var n=0,i=t.charAt(0),a=d.paramIsX[i],o=d.paramIsY[i],s=d.numParams[i];return i+t.substr(1).replace(d.paramRE,(function(t){return n>=s||(a[n]?t=e(t):o[n]&&(t=r(t)),n++),t}))}))}function T(t){y(t)&&(t._fullLayout._activeShapeIndex>=0&&(l(t),delete t._fullLayout._activeShapeIndex,m(t)))}e.exports={draw:m,drawOne:x,eraseActiveShape:function(t){if(!y(t))return;l(t);var e=t._fullLayout._activeShapeIndex,r=(t.layout||{}).shapes||[];if(e<r.length){for(var i=[],a=0;a<r.length;a++)a!==e&&i.push(r[a]);delete t._fullLayout._activeShapeIndex,n.call("_guiRelayout",t,{shapes:i})}}}},{"../../lib":778,"../../lib/setcursor":799,"../../plot_api/plot_template":817,"../../plots/cartesian/axes":828,"../../plots/cartesian/handle_outline":838,"../../registry":911,"../color":643,"../dragelement":662,"../drawing":665,"./constants":722,"./draw_newshape/display_outlines":728,"./draw_newshape/helpers":729,"./helpers":731}],725:[function(t,e,r){"use strict";var n=t("../../drawing/attributes").dash,i=t("../../../lib/extend").extendFlat;e.exports={newshape:{line:{color:{valType:"color",editType:"none"},width:{valType:"number",min:0,dflt:4,editType:"none"},dash:i({},n,{dflt:"solid",editType:"none"}),editType:"none"},fillcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"none"},fillrule:{valType:"enumerated",values:["evenodd","nonzero"],dflt:"evenodd",editType:"none"},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"none"},layer:{valType:"enumerated",values:["below","above"],dflt:"above",editType:"none"},drawdirection:{valType:"enumerated",values:["ortho","horizontal","vertical","diagonal"],dflt:"diagonal",editType:"none"},editType:"none"},activeshape:{fillcolor:{valType:"color",dflt:"rgb(255,0,255)",editType:"none"},opacity:{valType:"number",min:0,max:1,dflt:.5,editType:"none"},editType:"none"}}},{"../../../lib/extend":768,"../../drawing/attributes":664}],726:[function(t,e,r){"use strict";e.exports={CIRCLE_SIDES:32,i000:0,i090:8,i180:16,i270:24,cos45:Math.cos(Math.PI/4),sin45:Math.sin(Math.PI/4),SQRT2:Math.sqrt(2)}},{}],727:[function(t,e,r){"use strict";var n=t("../../color");e.exports=function(t,e,r){if(r("newshape.drawdirection"),r("newshape.layer"),r("newshape.fillcolor"),r("newshape.fillrule"),r("newshape.opacity"),r("newshape.line.width")){var i=(t||{}).plot_bgcolor||"#FFF";r("newshape.line.color",n.contrast(i)),r("newshape.line.dash")}r("activeshape.fillcolor"),r("activeshape.opacity")}},{"../../color":643}],728:[function(t,e,r){"use strict";var n=t("../../dragelement"),i=t("../../dragelement/helpers").drawMode,a=t("../../../registry"),o=t("./constants"),s=o.i000,l=o.i090,c=o.i180,u=o.i270,f=t("../../../plots/cartesian/handle_outline").clearOutlineControllers,h=t("./helpers"),p=h.pointsShapeRectangle,d=h.pointsShapeEllipse,g=h.writePaths,m=t("./newshapes");e.exports=function t(e,r,o,h){h||(h=0);var v=o.gd;function y(){t(e,r,o,h++),d(e[0])&&x({redrawing:!0})}function x(t){o.isActiveShape=!1;var e=m(r,o);Object.keys(e).length&&a.call((t||{}).redrawing?"relayout":"_guiRelayout",v,e)}var b,_,w,T,k,M=o.isActiveShape,A=v._fullLayout._zoomlayer,S=o.dragmode;(i(S)?v._fullLayout._drawing=!0:v._fullLayout._activeShapeIndex>=0&&f(v),r.attr("d",g(e)),M&&!h)&&(k=function(t,e){for(var r=0;r<e.length;r++){var n=e[r];t[r]=[];for(var i=0;i<n.length;i++){t[r][i]=[];for(var a=0;a<n[i].length;a++)t[r][i][a]=n[i][a]}}return t}([],e),function(t){b=[];for(var r=0;r<e.length;r++){var i=e[r],a=!p(i)&&d(i);b[r]=[];for(var o=0;o<i.length;o++)if("Z"!==i[o][0]&&(!a||o===s||o===l||o===c||o===u)){var f=i[o][1],h=i[o][2],g=t.append("circle").classed("cursor-grab",!0).attr("data-i",r).attr("data-j",o).attr("cx",f).attr("cy",h).attr("r",4).style({"mix-blend-mode":"luminosity",fill:"black",stroke:"white","stroke-width":1});b[r][o]={element:g.node(),gd:v,prepFn:E,doneFn:L,clickFn:I},n.init(b[r][o])}}}(A.append("g").attr("class","outline-controllers")),function(){if(_=[],!e.length)return;_[0]={element:r[0][0],gd:v,prepFn:z,doneFn:O},n.init(_[0])}());function E(t){w=+t.srcElement.getAttribute("data-i"),T=+t.srcElement.getAttribute("data-j"),b[w][T].moveFn=C}function C(t,r){if(e.length){var n=k[w][T][1],i=k[w][T][2],a=e[w],o=a.length;if(p(a)){for(var s=0;s<o;s++)if(s!==T){var l=a[s];l[1]===a[T][1]&&(l[1]=n+t),l[2]===a[T][2]&&(l[2]=i+r)}if(a[T][1]=n+t,a[T][2]=i+r,!p(a))for(var c=0;c<o;c++)for(var u=0;u<a[c].length;u++)a[c][u]=k[w][c][u]}else a[T][1]=n+t,a[T][2]=i+r;y()}}function L(){x()}function I(t,r){if(2===t){w=+r.srcElement.getAttribute("data-i"),T=+r.srcElement.getAttribute("data-j");var n=e[w];p(n)||d(n)||function(){if(e.length&&e[w]&&e[w].length){for(var t=[],r=0;r<e[w].length;r++)r!==T&&t.push(e[w][r]);t.length>1&&(2!==t.length||"Z"!==t[1][0])&&(0===T&&(t[0][0]="M"),e[w]=t,y(),x())}}()}}function P(t,r){!function(t,r){if(e.length)for(var n=0;n<e.length;n++)for(var i=0;i<e[n].length;i++)for(var a=0;a+2<e[n][i].length;a+=2)e[n][i][a+1]=k[n][i][a+1]+t,e[n][i][a+2]=k[n][i][a+2]+r}(t,r),y()}function z(t){(w=+t.srcElement.getAttribute("data-i"))||(w=0),_[w].moveFn=P}function O(){x()}}},{"../../../plots/cartesian/handle_outline":838,"../../../registry":911,"../../dragelement":662,"../../dragelement/helpers":661,"./constants":726,"./helpers":729,"./newshapes":730}],729:[function(t,e,r){"use strict";var n=t("parse-svg-path"),i=t("./constants"),a=i.CIRCLE_SIDES,o=i.SQRT2,s=t("../../../plots/cartesian/helpers"),l=s.p2r,c=s.r2p,u=[0,3,4,5,6,1,2],f=[0,3,4,1,2];function h(t,e){return Math.abs(t-e)<=1e-6}function p(t,e){var r=e[1]-t[1],n=e[2]-t[2];return Math.sqrt(r*r+n*n)}r.writePaths=function(t){var e=t.length;if(!e)return"M0,0Z";for(var r="",n=0;n<e;n++)for(var i=t[n].length,a=0;a<i;a++){var o=t[n][a][0];if("Z"===o)r+="Z";else for(var s=t[n][a].length,l=0;l<s;l++){var c=l;"Q"===o||"S"===o?c=f[l]:"C"===o&&(c=u[l]),r+=t[n][a][c],l>0&&l<s-1&&(r+=",")}}return r},r.readPaths=function(t,e,r,i){var o,s,u,f=n(t),h=[],p=-1,d=0,g=0,m=function(){s=d,u=g};m();for(var v=0;v<f.length;v++){var y,x,b,_,w=[],T=f[v][0],k=T;switch(T){case"M":p++,h[p]=[],d=+f[v][1],g=+f[v][2],w.push([k,d,g]),m();break;case"Q":case"S":y=+f[v][1],b=+f[v][2],d=+f[v][3],g=+f[v][4],w.push([k,d,g,y,b]);break;case"C":y=+f[v][1],b=+f[v][2],x=+f[v][3],_=+f[v][4],d=+f[v][5],g=+f[v][6],w.push([k,d,g,y,b,x,_]);break;case"T":case"L":d=+f[v][1],g=+f[v][2],w.push([k,d,g]);break;case"H":k="L",d=+f[v][1],w.push([k,d,g]);break;case"V":k="L",g=+f[v][1],w.push([k,d,g]);break;case"A":k="L";var M=+f[v][1],A=+f[v][2];+f[v][4]||(M=-M,A=-A);var S=d-M,E=g;for(o=1;o<=a/2;o++){var C=2*Math.PI*o/a;w.push([k,S+M*Math.cos(C),E+A*Math.sin(C)])}break;case"Z":d===s&&g===u||(d=s,g=u,w.push([k,d,g]))}for(var L=(r||{}).domain,I=e._fullLayout._size,P=r&&"pixel"===r.xsizemode,z=r&&"pixel"===r.ysizemode,O=!1===i,D=0;D<w.length;D++){for(o=0;o+2<7;o+=2){var R=w[D][o+1],F=w[D][o+2];void 0!==R&&void 0!==F&&(d=R,g=F,r&&(r.xaxis&&r.xaxis.p2r?(O&&(R-=r.xaxis._offset),R=P?c(r.xaxis,r.xanchor)+R:l(r.xaxis,R)):(O&&(R-=I.l),L?R=L.x[0]+R/I.w:R/=I.w),r.yaxis&&r.yaxis.p2r?(O&&(F-=r.yaxis._offset),F=z?c(r.yaxis,r.yanchor)-F:l(r.yaxis,F)):(O&&(F-=I.t),F=L?L.y[1]-F/I.h:1-F/I.h)),w[D][o+1]=R,w[D][o+2]=F)}h[p].push(w[D].slice())}}return h},r.pointsShapeRectangle=function(t){if(5!==t.length)return!1;for(var e=1;e<3;e++){if(!h(t[0][e]-t[1][e],t[3][e]-t[2][e]))return!1;if(!h(t[0][e]-t[3][e],t[1][e]-t[2][e]))return!1}return!(!h(t[0][1],t[1][1])&&!h(t[0][1],t[3][1]))&&!!(p(t[0],t[1])*p(t[0],t[3]))},r.pointsShapeEllipse=function(t){var e=t.length;if(e!==a+1)return!1;e=a;for(var r=0;r<e;r++){var n=(2*e-r)%e,i=(e/2+n)%e,o=(e/2+r)%e;if(!h(p(t[r],t[o]),p(t[n],t[i])))return!1}return!0},r.handleEllipse=function(t,e,n){if(!t)return[e,n];var i=r.ellipseOver({x0:e[0],y0:e[1],x1:n[0],y1:n[1]}),s=(i.x1+i.x0)/2,l=(i.y1+i.y0)/2,c=(i.x1-i.x0)/2,u=(i.y1-i.y0)/2;c||(c=u/=o),u||(u=c/=o);for(var f=[],h=0;h<a;h++){var p=2*h*Math.PI/a;f.push([s+c*Math.cos(p),l+u*Math.sin(p)])}return f},r.ellipseOver=function(t){var e=t.x0,r=t.y0,n=t.x1,i=t.y1,a=n-e,s=i-r,l=((e-=a)+n)/2,c=((r-=s)+i)/2;return{x0:l-(a*=o),y0:c-(s*=o),x1:l+a,y1:c+s}}},{"../../../plots/cartesian/helpers":839,"./constants":726,"parse-svg-path":505}],730:[function(t,e,r){"use strict";var n=t("../../dragelement/helpers"),i=n.drawMode,a=n.openMode,o=t("./constants"),s=o.i000,l=o.i090,c=o.i180,u=o.i270,f=o.cos45,h=o.sin45,p=t("../../../plots/cartesian/helpers"),d=p.p2r,g=p.r2p,m=t("../../../plots/cartesian/handle_outline").clearSelect,v=t("./helpers"),y=v.readPaths,x=v.writePaths,b=v.ellipseOver;e.exports=function(t,e){if(t.length){var r=t[0][0];if(r){var n=r.getAttribute("d"),o=e.gd,p=o._fullLayout.newshape,v=e.plotinfo,_=v.xaxis,w=v.yaxis,T=!!v.domain||!v.xaxis,k=!!v.domain||!v.yaxis,M=e.isActiveShape,A=e.dragmode,S=(o.layout||{}).shapes||[];if(!i(A)&&void 0!==M){var E=o._fullLayout._activeShapeIndex;if(E<S.length)switch(o._fullLayout.shapes[E].type){case"rect":A="drawrect";break;case"circle":A="drawcircle";break;case"line":A="drawline";break;case"path":var C=S[E].path||"";A="Z"===C[C.length-1]?"drawclosedpath":"drawopenpath"}}var L,I=a(A),P=y(n,o,v,M),z={editable:!0,xref:T?"paper":_._id,yref:k?"paper":w._id,layer:p.layer,opacity:p.opacity,line:{color:p.line.color,width:p.line.width,dash:p.line.dash}};if(I||(z.fillcolor=p.fillcolor,z.fillrule=p.fillrule),1===P.length&&(L=P[0]),L&&"drawrect"===A)z.type="rect",z.x0=L[0][1],z.y0=L[0][2],z.x1=L[2][1],z.y1=L[2][2];else if(L&&"drawline"===A)z.type="line",z.x0=L[0][1],z.y0=L[0][2],z.x1=L[1][1],z.y1=L[1][2];else if(L&&"drawcircle"===A){z.type="circle";var O=L[s][1],D=L[l][1],R=L[c][1],F=L[u][1],B=L[s][2],N=L[l][2],j=L[c][2],U=L[u][2],V=v.xaxis&&("date"===v.xaxis.type||"log"===v.xaxis.type),q=v.yaxis&&("date"===v.yaxis.type||"log"===v.yaxis.type);V&&(O=g(v.xaxis,O),D=g(v.xaxis,D),R=g(v.xaxis,R),F=g(v.xaxis,F)),q&&(B=g(v.yaxis,B),N=g(v.yaxis,N),j=g(v.yaxis,j),U=g(v.yaxis,U));var H=(D+F)/2,G=(B+j)/2,Y=b({x0:H,y0:G,x1:H+(F-D+R-O)/2*f,y1:G+(U-N+j-B)/2*h});V&&(Y.x0=d(v.xaxis,Y.x0),Y.x1=d(v.xaxis,Y.x1)),q&&(Y.y0=d(v.yaxis,Y.y0),Y.y1=d(v.yaxis,Y.y1)),z.x0=Y.x0,z.y0=Y.y0,z.x1=Y.x1,z.y1=Y.y1}else z.type="path",_&&w&&function(t,e,r){var n="date"===e.type,i="date"===r.type;if(!n&&!i)return t;for(var a=0;a<t.length;a++)for(var o=0;o<t[a].length;o++)for(var s=0;s+2<t[a][o].length;s+=2)n&&(t[a][o][s+1]=t[a][o][s+1].replace(" ","_")),i&&(t[a][o][s+2]=t[a][o][s+2].replace(" ","_"))}(P,_,w),z.path=x(P),L=null;m(o);for(var W=e.editHelpers,X=(W||{}).modifyItem,Z=[],J=0;J<S.length;J++){var K=o._fullLayout.shapes[J];if(Z[J]=K._input,void 0!==M&&J===o._fullLayout._activeShapeIndex){var Q=z;switch(K.type){case"line":case"rect":case"circle":X("x0",Q.x0),X("x1",Q.x1),X("y0",Q.y0),X("y1",Q.y1);break;case"path":X("path",Q.path)}}}return void 0===M?(Z.push(z),Z):W?W.getUpdateObj():{}}}}},{"../../../plots/cartesian/handle_outline":838,"../../../plots/cartesian/helpers":839,"../../dragelement/helpers":661,"./constants":726,"./helpers":729}],731:[function(t,e,r){"use strict";var n=t("./constants"),i=t("../../lib");r.rangeToShapePosition=function(t){return"log"===t.type?t.r2d:function(t){return t}},r.shapePositionToRange=function(t){return"log"===t.type?t.d2r:function(t){return t}},r.decodeDate=function(t){return function(e){return e.replace&&(e=e.replace("_"," ")),t(e)}},r.encodeDate=function(t){return function(e){return t(e).replace(" ","_")}},r.extractPathCoords=function(t,e){var r=[];return t.match(n.segmentRE).forEach((function(t){var a=e[t.charAt(0)].drawn;if(void 0!==a){var o=t.substr(1).match(n.paramRE);!o||o.length<a||r.push(i.cleanNumber(o[a]))}})),r},r.getDataToPixel=function(t,e,n,i){var a,o=t._fullLayout._size;if(e)if("domain"===i)a=function(t){return e._length*(n?1-t:t)+e._offset};else{var s=r.shapePositionToRange(e);a=function(t){return e._offset+e.r2p(s(t,!0))},"date"===e.type&&(a=r.decodeDate(a))}else a=n?function(t){return o.t+o.h*(1-t)}:function(t){return o.l+o.w*t};return a},r.getPixelToData=function(t,e,n,i){var a,o=t._fullLayout._size;if(e)if("domain"===i)a=function(t){var r=(t-e._offset)/e._length;return n?1-r:r};else{var s=r.rangeToShapePosition(e);a=function(t){return s(e.p2r(t-e._offset))}}else a=n?function(t){return 1-(t-o.t)/o.h}:function(t){return(t-o.l)/o.w};return a},r.roundPositionForSharpStrokeRendering=function(t,e){var r=1===Math.round(e%2),n=Math.round(t);return r?n+.5:n},r.makeOptionsAndPlotinfo=function(t,e){var r=t._fullLayout.shapes[e]||{},n=t._fullLayout._plots[r.xref+r.yref];return!!n?n._hadPlotinfo=!0:(n={},r.xref&&"paper"!==r.xref&&(n.xaxis=t._fullLayout[r.xref+"axis"]),r.yref&&"paper"!==r.yref&&(n.yaxis=t._fullLayout[r.yref+"axis"])),n.xsizemode=r.xsizemode,n.ysizemode=r.ysizemode,n.xanchor=r.xanchor,n.yanchor=r.yanchor,{options:r,plotinfo:n}}},{"../../lib":778,"./constants":722}],732:[function(t,e,r){"use strict";var n=t("./draw");e.exports={moduleType:"component",name:"shapes",layoutAttributes:t("./attributes"),supplyLayoutDefaults:t("./defaults"),supplyDrawNewShapeDefaults:t("./draw_newshape/defaults"),includeBasePlot:t("../../plots/cartesian/include_components")("shapes"),calcAutorange:t("./calc_autorange"),draw:n.draw,drawOne:n.drawOne}},{"../../plots/cartesian/include_components":840,"./attributes":720,"./calc_autorange":721,"./defaults":723,"./draw":724,"./draw_newshape/defaults":727}],733:[function(t,e,r){"use strict";var n=t("../../plots/font_attributes"),i=t("../../plots/pad_attributes"),a=t("../../lib/extend").extendDeepAll,o=t("../../plot_api/edit_types").overrideAll,s=t("../../plots/animation_attributes"),l=t("../../plot_api/plot_template").templatedArray,c=t("./constants"),u=l("step",{visible:{valType:"boolean",dflt:!0},method:{valType:"enumerated",values:["restyle","relayout","animate","update","skip"],dflt:"restyle"},args:{valType:"info_array",freeLength:!0,items:[{valType:"any"},{valType:"any"},{valType:"any"}]},label:{valType:"string"},value:{valType:"string"},execute:{valType:"boolean",dflt:!0}});e.exports=o(l("slider",{visible:{valType:"boolean",dflt:!0},active:{valType:"number",min:0,dflt:0},steps:u,lenmode:{valType:"enumerated",values:["fraction","pixels"],dflt:"fraction"},len:{valType:"number",min:0,dflt:1},x:{valType:"number",min:-2,max:3,dflt:0},pad:a(i({editType:"arraydraw"}),{},{t:{dflt:20}}),xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"left"},y:{valType:"number",min:-2,max:3,dflt:0},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"top"},transition:{duration:{valType:"number",min:0,dflt:150},easing:{valType:"enumerated",values:s.transition.easing.values,dflt:"cubic-in-out"}},currentvalue:{visible:{valType:"boolean",dflt:!0},xanchor:{valType:"enumerated",values:["left","center","right"],dflt:"left"},offset:{valType:"number",dflt:10},prefix:{valType:"string"},suffix:{valType:"string"},font:n({})},font:n({}),activebgcolor:{valType:"color",dflt:c.gripBgActiveColor},bgcolor:{valType:"color",dflt:c.railBgColor},bordercolor:{valType:"color",dflt:c.railBorderColor},borderwidth:{valType:"number",min:0,dflt:c.railBorderWidth},ticklen:{valType:"number",min:0,dflt:c.tickLength},tickcolor:{valType:"color",dflt:c.tickColor},tickwidth:{valType:"number",min:0,dflt:1},minorticklen:{valType:"number",min:0,dflt:c.minorTickLength}}),"arraydraw","from-root")},{"../../lib/extend":768,"../../plot_api/edit_types":810,"../../plot_api/plot_template":817,"../../plots/animation_attributes":822,"../../plots/font_attributes":856,"../../plots/pad_attributes":890,"./constants":734}],734:[function(t,e,r){"use strict";e.exports={name:"sliders",containerClassName:"slider-container",groupClassName:"slider-group",inputAreaClass:"slider-input-area",railRectClass:"slider-rail-rect",railTouchRectClass:"slider-rail-touch-rect",gripRectClass:"slider-grip-rect",tickRectClass:"slider-tick-rect",inputProxyClass:"slider-input-proxy",labelsClass:"slider-labels",labelGroupClass:"slider-label-group",labelClass:"slider-label",currentValueClass:"slider-current-value",railHeight:5,menuIndexAttrName:"slider-active-index",autoMarginIdRoot:"slider-",minWidth:30,minHeight:30,textPadX:40,arrowOffsetX:4,railRadius:2,railWidth:5,railBorder:4,railBorderWidth:1,railBorderColor:"#bec8d9",railBgColor:"#f8fafc",railInset:8,stepInset:10,gripRadius:10,gripWidth:20,gripHeight:20,gripBorder:20,gripBorderWidth:1,gripBorderColor:"#bec8d9",gripBgColor:"#f6f8fa",gripBgActiveColor:"#dbdde0",labelPadding:8,labelOffset:0,tickWidth:1,tickColor:"#333",tickOffset:25,tickLength:7,minorTickOffset:25,minorTickColor:"#333",minorTickLength:4,currentValuePadding:8,currentValueInset:0}},{}],735:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../plots/array_container_defaults"),a=t("./attributes"),o=t("./constants").name,s=a.steps;function l(t,e,r){function o(r,i){return n.coerce(t,e,a,r,i)}for(var s=i(t,e,{name:"steps",handleItemDefaults:c}),l=0,u=0;u<s.length;u++)s[u].visible&&l++;if(l<2?e.visible=!1:o("visible")){e._stepCount=l;var f=e._visibleSteps=n.filterVisible(s);(s[o("active")]||{}).visible||(e.active=f[0]._index),o("x"),o("y"),n.noneOrAll(t,e,["x","y"]),o("xanchor"),o("yanchor"),o("len"),o("lenmode"),o("pad.t"),o("pad.r"),o("pad.b"),o("pad.l"),n.coerceFont(o,"font",r.font),o("currentvalue.visible")&&(o("currentvalue.xanchor"),o("currentvalue.prefix"),o("currentvalue.suffix"),o("currentvalue.offset"),n.coerceFont(o,"currentvalue.font",e.font)),o("transition.duration"),o("transition.easing"),o("bgcolor"),o("activebgcolor"),o("bordercolor"),o("borderwidth"),o("ticklen"),o("tickwidth"),o("tickcolor"),o("minorticklen")}}function c(t,e){function r(r,i){return n.coerce(t,e,s,r,i)}if("skip"===t.method||Array.isArray(t.args)?r("visible"):e.visible=!1){r("method"),r("args");var i=r("label","step-"+e._index);r("value",i),r("execute")}}e.exports=function(t,e){i(t,e,{name:o,handleItemDefaults:l})}},{"../../lib":778,"../../plots/array_container_defaults":823,"./attributes":733,"./constants":734}],736:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../plots/plots"),a=t("../color"),o=t("../drawing"),s=t("../../lib"),l=s.strTranslate,c=t("../../lib/svg_text_utils"),u=t("../../plot_api/plot_template").arrayEditor,f=t("./constants"),h=t("../../constants/alignment"),p=h.LINE_SPACING,d=h.FROM_TL,g=h.FROM_BR;function m(t){return f.autoMarginIdRoot+t._index}function v(t){return t._index}function y(t,e){var r=o.tester.selectAll("g."+f.labelGroupClass).data(e._visibleSteps);r.enter().append("g").classed(f.labelGroupClass,!0);var a=0,l=0;r.each((function(t){var r=_(n.select(this),{step:t},e).node();if(r){var i=o.bBox(r);l=Math.max(l,i.height),a=Math.max(a,i.width)}})),r.remove();var u=e._dims={};u.inputAreaWidth=Math.max(f.railWidth,f.gripHeight);var h=t._fullLayout._size;u.lx=h.l+h.w*e.x,u.ly=h.t+h.h*(1-e.y),"fraction"===e.lenmode?u.outerLength=Math.round(h.w*e.len):u.outerLength=e.len,u.inputAreaStart=0,u.inputAreaLength=Math.round(u.outerLength-e.pad.l-e.pad.r);var p=(u.inputAreaLength-2*f.stepInset)/(e._stepCount-1),v=a+f.labelPadding;if(u.labelStride=Math.max(1,Math.ceil(v/p)),u.labelHeight=l,u.currentValueMaxWidth=0,u.currentValueHeight=0,u.currentValueTotalHeight=0,u.currentValueMaxLines=1,e.currentvalue.visible){var y=o.tester.append("g");r.each((function(t){var r=x(y,e,t.label),n=r.node()&&o.bBox(r.node())||{width:0,height:0},i=c.lineCount(r);u.currentValueMaxWidth=Math.max(u.currentValueMaxWidth,Math.ceil(n.width)),u.currentValueHeight=Math.max(u.currentValueHeight,Math.ceil(n.height)),u.currentValueMaxLines=Math.max(u.currentValueMaxLines,i)})),u.currentValueTotalHeight=u.currentValueHeight+e.currentvalue.offset,y.remove()}u.height=u.currentValueTotalHeight+f.tickOffset+e.ticklen+f.labelOffset+u.labelHeight+e.pad.t+e.pad.b;var b="left";s.isRightAnchor(e)&&(u.lx-=u.outerLength,b="right"),s.isCenterAnchor(e)&&(u.lx-=u.outerLength/2,b="center");var w="top";s.isBottomAnchor(e)&&(u.ly-=u.height,w="bottom"),s.isMiddleAnchor(e)&&(u.ly-=u.height/2,w="middle"),u.outerLength=Math.ceil(u.outerLength),u.height=Math.ceil(u.height),u.lx=Math.round(u.lx),u.ly=Math.round(u.ly);var T={y:e.y,b:u.height*g[w],t:u.height*d[w]};"fraction"===e.lenmode?(T.l=0,T.xl=e.x-e.len*d[b],T.r=0,T.xr=e.x+e.len*g[b]):(T.x=e.x,T.l=u.outerLength*d[b],T.r=u.outerLength*g[b]),i.autoMargin(t,m(e),T)}function x(t,e,r){if(e.currentvalue.visible){var n,i,a=e._dims;switch(e.currentvalue.xanchor){case"right":n=a.inputAreaLength-f.currentValueInset-a.currentValueMaxWidth,i="left";break;case"center":n=.5*a.inputAreaLength,i="middle";break;default:n=f.currentValueInset,i="left"}var l=s.ensureSingle(t,"text",f.labelClass,(function(t){t.attr({"text-anchor":i,"data-notex":1})})),u=e.currentvalue.prefix?e.currentvalue.prefix:"";if("string"==typeof r)u+=r;else{var h=e.steps[e.active].label,d=e._gd._fullLayout._meta;d&&(h=s.templateString(h,d)),u+=h}e.currentvalue.suffix&&(u+=e.currentvalue.suffix),l.call(o.font,e.currentvalue.font).text(u).call(c.convertToTspans,e._gd);var g=c.lineCount(l),m=(a.currentValueMaxLines+1-g)*e.currentvalue.font.size*p;return c.positionText(l,n,m),l}}function b(t,e,r){s.ensureSingle(t,"rect",f.gripRectClass,(function(n){n.call(M,e,t,r).style("pointer-events","all")})).attr({width:f.gripWidth,height:f.gripHeight,rx:f.gripRadius,ry:f.gripRadius}).call(a.stroke,r.bordercolor).call(a.fill,r.bgcolor).style("stroke-width",r.borderwidth+"px")}function _(t,e,r){var n=s.ensureSingle(t,"text",f.labelClass,(function(t){t.attr({"text-anchor":"middle","data-notex":1})})),i=e.step.label,a=r._gd._fullLayout._meta;return a&&(i=s.templateString(i,a)),n.call(o.font,r.font).text(i).call(c.convertToTspans,r._gd),n}function w(t,e){var r=s.ensureSingle(t,"g",f.labelsClass),i=e._dims,a=r.selectAll("g."+f.labelGroupClass).data(i.labelSteps);a.enter().append("g").classed(f.labelGroupClass,!0),a.exit().remove(),a.each((function(t){var r=n.select(this);r.call(_,t,e),o.setTranslate(r,E(e,t.fraction),f.tickOffset+e.ticklen+e.font.size*p+f.labelOffset+i.currentValueTotalHeight)}))}function T(t,e,r,n,i){var a=Math.round(n*(r._stepCount-1)),o=r._visibleSteps[a]._index;o!==r.active&&k(t,e,r,o,!0,i)}function k(t,e,r,n,a,o){var s=r.active;r.active=n,u(t.layout,f.name,r).applyUpdate("active",n);var l=r.steps[r.active];e.call(S,r,o),e.call(x,r),t.emit("plotly_sliderchange",{slider:r,step:r.steps[r.active],interaction:a,previousActive:s}),l&&l.method&&a&&(e._nextMethod?(e._nextMethod.step=l,e._nextMethod.doCallback=a,e._nextMethod.doTransition=o):(e._nextMethod={step:l,doCallback:a,doTransition:o},e._nextMethodRaf=window.requestAnimationFrame((function(){var r=e._nextMethod.step;r.method&&(r.execute&&i.executeAPICommand(t,r.method,r.args),e._nextMethod=null,e._nextMethodRaf=null)}))))}function M(t,e,r){var i=r.node(),o=n.select(e);function s(){return r.data()[0]}t.on("mousedown",(function(){var t=s();e.emit("plotly_sliderstart",{slider:t});var l=r.select("."+f.gripRectClass);n.event.stopPropagation(),n.event.preventDefault(),l.call(a.fill,t.activebgcolor);var c=C(t,n.mouse(i)[0]);T(e,r,t,c,!0),t._dragging=!0,o.on("mousemove",(function(){var t=s(),a=C(t,n.mouse(i)[0]);T(e,r,t,a,!1)})),o.on("mouseup",(function(){var t=s();t._dragging=!1,l.call(a.fill,t.bgcolor),o.on("mouseup",null),o.on("mousemove",null),e.emit("plotly_sliderend",{slider:t,step:t.steps[t.active]})}))}))}function A(t,e){var r=t.selectAll("rect."+f.tickRectClass).data(e._visibleSteps),i=e._dims;r.enter().append("rect").classed(f.tickRectClass,!0),r.exit().remove(),r.attr({width:e.tickwidth+"px","shape-rendering":"crispEdges"}),r.each((function(t,r){var s=r%i.labelStride==0,l=n.select(this);l.attr({height:s?e.ticklen:e.minorticklen}).call(a.fill,e.tickcolor),o.setTranslate(l,E(e,r/(e._stepCount-1))-.5*e.tickwidth,(s?f.tickOffset:f.minorTickOffset)+i.currentValueTotalHeight)}))}function S(t,e,r){for(var n=t.select("rect."+f.gripRectClass),i=0,a=0;a<e._stepCount;a++)if(e._visibleSteps[a]._index===e.active){i=a;break}var o=E(e,i/(e._stepCount-1));if(!e._invokingCommand){var s=n;r&&e.transition.duration>0&&(s=s.transition().duration(e.transition.duration).ease(e.transition.easing)),s.attr("transform",l(o-.5*f.gripWidth,e._dims.currentValueTotalHeight))}}function E(t,e){var r=t._dims;return r.inputAreaStart+f.stepInset+(r.inputAreaLength-2*f.stepInset)*Math.min(1,Math.max(0,e))}function C(t,e){var r=t._dims;return Math.min(1,Math.max(0,(e-f.stepInset-r.inputAreaStart)/(r.inputAreaLength-2*f.stepInset-2*r.inputAreaStart)))}function L(t,e,r){var n=r._dims,i=s.ensureSingle(t,"rect",f.railTouchRectClass,(function(n){n.call(M,e,t,r).style("pointer-events","all")}));i.attr({width:n.inputAreaLength,height:Math.max(n.inputAreaWidth,f.tickOffset+r.ticklen+n.labelHeight)}).call(a.fill,r.bgcolor).attr("opacity",0),o.setTranslate(i,0,n.currentValueTotalHeight)}function I(t,e){var r=e._dims,n=r.inputAreaLength-2*f.railInset,i=s.ensureSingle(t,"rect",f.railRectClass);i.attr({width:n,height:f.railWidth,rx:f.railRadius,ry:f.railRadius,"shape-rendering":"crispEdges"}).call(a.stroke,e.bordercolor).call(a.fill,e.bgcolor).style("stroke-width",e.borderwidth+"px"),o.setTranslate(i,f.railInset,.5*(r.inputAreaWidth-f.railWidth)+r.currentValueTotalHeight)}e.exports=function(t){var e=t._fullLayout,r=function(t,e){for(var r=t[f.name],n=[],i=0;i<r.length;i++){var a=r[i];a.visible&&(a._gd=e,n.push(a))}return n}(e,t),a=e._infolayer.selectAll("g."+f.containerClassName).data(r.length>0?[0]:[]);function s(e){e._commandObserver&&(e._commandObserver.remove(),delete e._commandObserver),i.autoMargin(t,m(e))}if(a.enter().append("g").classed(f.containerClassName,!0).style("cursor","ew-resize"),a.exit().each((function(){n.select(this).selectAll("g."+f.groupClassName).each(s)})).remove(),0!==r.length){var l=a.selectAll("g."+f.groupClassName).data(r,v);l.enter().append("g").classed(f.groupClassName,!0),l.exit().each(s).remove();for(var c=0;c<r.length;c++){var u=r[c];y(t,u)}l.each((function(e){var r=n.select(this);!function(t){var e=t._dims;e.labelSteps=[];for(var r=t._stepCount,n=0;n<r;n+=e.labelStride)e.labelSteps.push({fraction:n/(r-1),step:t._visibleSteps[n]})}(e),i.manageCommandObserver(t,e,e._visibleSteps,(function(e){var n=r.data()[0];n.active!==e.index&&(n._dragging||k(t,r,n,e.index,!1,!0))})),function(t,e,r){(r.steps[r.active]||{}).visible||(r.active=r._visibleSteps[0]._index);e.call(x,r).call(I,r).call(w,r).call(A,r).call(L,t,r).call(b,t,r);var n=r._dims;o.setTranslate(e,n.lx+r.pad.l,n.ly+r.pad.t),e.call(S,r,!1),e.call(x,r)}(t,n.select(this),e)}))}}},{"../../constants/alignment":745,"../../lib":778,"../../lib/svg_text_utils":803,"../../plot_api/plot_template":817,"../../plots/plots":891,"../color":643,"../drawing":665,"./constants":734,d3:169}],737:[function(t,e,r){"use strict";var n=t("./constants");e.exports={moduleType:"component",name:n.name,layoutAttributes:t("./attributes"),supplyLayoutDefaults:t("./defaults"),draw:t("./draw")}},{"./attributes":733,"./constants":734,"./defaults":735,"./draw":736}],738:[function(t,e,r){"use strict";var n=t("d3"),i=t("fast-isnumeric"),a=t("../../plots/plots"),o=t("../../registry"),s=t("../../lib"),l=s.strTranslate,c=t("../drawing"),u=t("../color"),f=t("../../lib/svg_text_utils"),h=t("../../constants/interactions"),p=t("../../constants/alignment").OPPOSITE_SIDE,d=/ [XY][0-9]* /;e.exports={draw:function(t,e,r){var g,m=r.propContainer,v=r.propName,y=r.placeholder,x=r.traceIndex,b=r.avoid||{},_=r.attributes,w=r.transform,T=r.containerGroup,k=t._fullLayout,M=1,A=!1,S=m.title,E=(S&&S.text?S.text:"").trim(),C=S&&S.font?S.font:{},L=C.family,I=C.size,P=C.color;"title.text"===v?g="titleText":-1!==v.indexOf("axis")?g="axisTitleText":v.indexOf(!0)&&(g="colorbarTitleText");var z=t._context.edits[g];""===E?M=0:E.replace(d," % ")===y.replace(d," % ")&&(M=.2,A=!0,z||(E="")),r._meta?E=s.templateString(E,r._meta):k._meta&&(E=s.templateString(E,k._meta));var O=E||z;T||(T=s.ensureSingle(k._infolayer,"g","g-"+e));var D=T.selectAll("text").data(O?[0]:[]);if(D.enter().append("text"),D.text(E).attr("class",e),D.exit().remove(),!O)return T;function R(t){s.syncOrAsync([F,B],t)}function F(e){var r;return w?(r="",w.rotate&&(r+="rotate("+[w.rotate,_.x,_.y]+")"),w.offset&&(r+=l(0,w.offset))):r=null,e.attr("transform",r),e.style({"font-family":L,"font-size":n.round(I,2)+"px",fill:u.rgb(P),opacity:M*u.opacity(P),"font-weight":a.fontWeight}).attr(_).call(f.convertToTspans,t),a.previousPromises(t)}function B(t){var e=n.select(t.node().parentNode);if(b&&b.selection&&b.side&&E){e.attr("transform",null);var r=p[b.side],a="left"===b.side||"top"===b.side?-1:1,o=i(b.pad)?b.pad:2,u=c.bBox(e.node()),f={left:0,top:0,right:k.width,bottom:k.height},h=b.maxShift||a*(f[b.side]-u[b.side]),d=0;if(h<0)d=h;else{var g=b.offsetLeft||0,m=b.offsetTop||0;u.left-=g,u.right-=g,u.top-=m,u.bottom-=m,b.selection.each((function(){var t=c.bBox(this);s.bBoxIntersect(u,t,o)&&(d=Math.max(d,a*(t[b.side]-u[r])+o))})),d=Math.min(h,d)}if(d>0||h<0){var v={left:[-d,0],right:[d,0],top:[0,-d],bottom:[0,d]}[b.side];e.attr("transform",l(v[0],v[1]))}}}return D.call(R),z&&(E?D.on(".opacity",null):(M=0,A=!0,D.text(y).on("mouseover.opacity",(function(){n.select(this).transition().duration(h.SHOW_PLACEHOLDER).style("opacity",1)})).on("mouseout.opacity",(function(){n.select(this).transition().duration(h.HIDE_PLACEHOLDER).style("opacity",0)}))),D.call(f.makeEditable,{gd:t}).on("edit",(function(e){void 0!==x?o.call("_guiRestyle",t,v,e,x):o.call("_guiRelayout",t,v,e)})).on("cancel",(function(){this.text(this.attr("data-unformatted")).call(R)})).on("input",(function(t){this.text(t||" ").call(f.positionText,_.x,_.y)}))),D.classed("js-placeholder",A),T}}},{"../../constants/alignment":745,"../../constants/interactions":752,"../../lib":778,"../../lib/svg_text_utils":803,"../../plots/plots":891,"../../registry":911,"../color":643,"../drawing":665,d3:169,"fast-isnumeric":241}],739:[function(t,e,r){"use strict";var n=t("../../plots/font_attributes"),i=t("../color/attributes"),a=t("../../lib/extend").extendFlat,o=t("../../plot_api/edit_types").overrideAll,s=t("../../plots/pad_attributes"),l=t("../../plot_api/plot_template").templatedArray,c=l("button",{visible:{valType:"boolean"},method:{valType:"enumerated",values:["restyle","relayout","animate","update","skip"],dflt:"restyle"},args:{valType:"info_array",freeLength:!0,items:[{valType:"any"},{valType:"any"},{valType:"any"}]},args2:{valType:"info_array",freeLength:!0,items:[{valType:"any"},{valType:"any"},{valType:"any"}]},label:{valType:"string",dflt:""},execute:{valType:"boolean",dflt:!0}});e.exports=o(l("updatemenu",{_arrayAttrRegexps:[/^updatemenus\[(0|[1-9][0-9]+)\]\.buttons/],visible:{valType:"boolean"},type:{valType:"enumerated",values:["dropdown","buttons"],dflt:"dropdown"},direction:{valType:"enumerated",values:["left","right","up","down"],dflt:"down"},active:{valType:"integer",min:-1,dflt:0},showactive:{valType:"boolean",dflt:!0},buttons:c,x:{valType:"number",min:-2,max:3,dflt:-.05},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"right"},y:{valType:"number",min:-2,max:3,dflt:1},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"top"},pad:a(s({editType:"arraydraw"}),{}),font:n({}),bgcolor:{valType:"color"},bordercolor:{valType:"color",dflt:i.borderLine},borderwidth:{valType:"number",min:0,dflt:1,editType:"arraydraw"}}),"arraydraw","from-root")},{"../../lib/extend":768,"../../plot_api/edit_types":810,"../../plot_api/plot_template":817,"../../plots/font_attributes":856,"../../plots/pad_attributes":890,"../color/attributes":642}],740:[function(t,e,r){"use strict";e.exports={name:"updatemenus",containerClassName:"updatemenu-container",headerGroupClassName:"updatemenu-header-group",headerClassName:"updatemenu-header",headerArrowClassName:"updatemenu-header-arrow",dropdownButtonGroupClassName:"updatemenu-dropdown-button-group",dropdownButtonClassName:"updatemenu-dropdown-button",buttonClassName:"updatemenu-button",itemRectClassName:"updatemenu-item-rect",itemTextClassName:"updatemenu-item-text",menuIndexAttrName:"updatemenu-active-index",autoMarginIdRoot:"updatemenu-",blankHeaderOpts:{label:" "},minWidth:30,minHeight:30,textPadX:24,arrowPadX:16,rx:2,ry:2,textOffsetX:12,textOffsetY:3,arrowOffsetX:4,gapButtonHeader:5,gapButton:2,activeColor:"#F4FAFF",hoverColor:"#F4FAFF",arrowSymbol:{left:"\u25c4",right:"\u25ba",up:"\u25b2",down:"\u25bc"}}},{}],741:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../plots/array_container_defaults"),a=t("./attributes"),o=t("./constants").name,s=a.buttons;function l(t,e,r){function o(r,i){return n.coerce(t,e,a,r,i)}o("visible",i(t,e,{name:"buttons",handleItemDefaults:c}).length>0)&&(o("active"),o("direction"),o("type"),o("showactive"),o("x"),o("y"),n.noneOrAll(t,e,["x","y"]),o("xanchor"),o("yanchor"),o("pad.t"),o("pad.r"),o("pad.b"),o("pad.l"),n.coerceFont(o,"font",r.font),o("bgcolor",r.paper_bgcolor),o("bordercolor"),o("borderwidth"))}function c(t,e){function r(r,i){return n.coerce(t,e,s,r,i)}r("visible","skip"===t.method||Array.isArray(t.args))&&(r("method"),r("args"),r("args2"),r("label"),r("execute"))}e.exports=function(t,e){i(t,e,{name:o,handleItemDefaults:l})}},{"../../lib":778,"../../plots/array_container_defaults":823,"./attributes":739,"./constants":740}],742:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../plots/plots"),a=t("../color"),o=t("../drawing"),s=t("../../lib"),l=t("../../lib/svg_text_utils"),c=t("../../plot_api/plot_template").arrayEditor,u=t("../../constants/alignment").LINE_SPACING,f=t("./constants"),h=t("./scrollbox");function p(t){return t._index}function d(t,e){return+t.attr(f.menuIndexAttrName)===e._index}function g(t,e,r,n,i,a,o,s){e.active=o,c(t.layout,f.name,e).applyUpdate("active",o),"buttons"===e.type?v(t,n,null,null,e):"dropdown"===e.type&&(i.attr(f.menuIndexAttrName,"-1"),m(t,n,i,a,e),s||v(t,n,i,a,e))}function m(t,e,r,n,i){var a=s.ensureSingle(e,"g",f.headerClassName,(function(t){t.style("pointer-events","all")})),l=i._dims,c=i.active,u=i.buttons[c]||f.blankHeaderOpts,h={y:i.pad.t,yPad:0,x:i.pad.l,xPad:0,index:0},p={width:l.headerWidth,height:l.headerHeight};a.call(y,i,u,t).call(A,i,h,p),s.ensureSingle(e,"text",f.headerArrowClassName,(function(t){t.attr("text-anchor","end").call(o.font,i.font).text(f.arrowSymbol[i.direction])})).attr({x:l.headerWidth-f.arrowOffsetX+i.pad.l,y:l.headerHeight/2+f.textOffsetY+i.pad.t}),a.on("click",(function(){r.call(S,String(d(r,i)?-1:i._index)),v(t,e,r,n,i)})),a.on("mouseover",(function(){a.call(w)})),a.on("mouseout",(function(){a.call(T,i)})),o.setTranslate(e,l.lx,l.ly)}function v(t,e,r,a,o){r||(r=e).attr("pointer-events","all");var l=function(t){return-1==+t.attr(f.menuIndexAttrName)}(r)&&"buttons"!==o.type?[]:o.buttons,c="dropdown"===o.type?f.dropdownButtonClassName:f.buttonClassName,u=r.selectAll("g."+c).data(s.filterVisible(l)),h=u.enter().append("g").classed(c,!0),p=u.exit();"dropdown"===o.type?(h.attr("opacity","0").transition().attr("opacity","1"),p.transition().attr("opacity","0").remove()):p.remove();var d=0,m=0,v=o._dims,x=-1!==["up","down"].indexOf(o.direction);"dropdown"===o.type&&(x?m=v.headerHeight+f.gapButtonHeader:d=v.headerWidth+f.gapButtonHeader),"dropdown"===o.type&&"up"===o.direction&&(m=-f.gapButtonHeader+f.gapButton-v.openHeight),"dropdown"===o.type&&"left"===o.direction&&(d=-f.gapButtonHeader+f.gapButton-v.openWidth);var b={x:v.lx+d+o.pad.l,y:v.ly+m+o.pad.t,yPad:f.gapButton,xPad:f.gapButton,index:0},k={l:b.x+o.borderwidth,t:b.y+o.borderwidth};u.each((function(s,l){var c=n.select(this);c.call(y,o,s,t).call(A,o,b),c.on("click",(function(){n.event.defaultPrevented||(s.execute&&(s.args2&&o.active===l?(g(t,o,0,e,r,a,-1),i.executeAPICommand(t,s.method,s.args2)):(g(t,o,0,e,r,a,l),i.executeAPICommand(t,s.method,s.args))),t.emit("plotly_buttonclicked",{menu:o,button:s,active:o.active}))})),c.on("mouseover",(function(){c.call(w)})),c.on("mouseout",(function(){c.call(T,o),u.call(_,o)}))})),u.call(_,o),x?(k.w=Math.max(v.openWidth,v.headerWidth),k.h=b.y-k.t):(k.w=b.x-k.l,k.h=Math.max(v.openHeight,v.headerHeight)),k.direction=o.direction,a&&(u.size()?function(t,e,r,n,i,a){var o,s,l,c=i.direction,u="up"===c||"down"===c,h=i._dims,p=i.active;if(u)for(s=0,l=0;l<p;l++)s+=h.heights[l]+f.gapButton;else for(o=0,l=0;l<p;l++)o+=h.widths[l]+f.gapButton;n.enable(a,o,s),n.hbar&&n.hbar.attr("opacity","0").transition().attr("opacity","1");n.vbar&&n.vbar.attr("opacity","0").transition().attr("opacity","1")}(0,0,0,a,o,k):function(t){var e=!!t.hbar,r=!!t.vbar;e&&t.hbar.transition().attr("opacity","0").each("end",(function(){e=!1,r||t.disable()}));r&&t.vbar.transition().attr("opacity","0").each("end",(function(){r=!1,e||t.disable()}))}(a))}function y(t,e,r,n){t.call(x,e).call(b,e,r,n)}function x(t,e){s.ensureSingle(t,"rect",f.itemRectClassName,(function(t){t.attr({rx:f.rx,ry:f.ry,"shape-rendering":"crispEdges"})})).call(a.stroke,e.bordercolor).call(a.fill,e.bgcolor).style("stroke-width",e.borderwidth+"px")}function b(t,e,r,n){var i=s.ensureSingle(t,"text",f.itemTextClassName,(function(t){t.attr({"text-anchor":"start","data-notex":1})})),a=r.label,c=n._fullLayout._meta;c&&(a=s.templateString(a,c)),i.call(o.font,e.font).text(a).call(l.convertToTspans,n)}function _(t,e){var r=e.active;t.each((function(t,i){var o=n.select(this);i===r&&e.showactive&&o.select("rect."+f.itemRectClassName).call(a.fill,f.activeColor)}))}function w(t){t.select("rect."+f.itemRectClassName).call(a.fill,f.hoverColor)}function T(t,e){t.select("rect."+f.itemRectClassName).call(a.fill,e.bgcolor)}function k(t,e){var r=e._dims={width1:0,height1:0,heights:[],widths:[],totalWidth:0,totalHeight:0,openWidth:0,openHeight:0,lx:0,ly:0},a=o.tester.selectAll("g."+f.dropdownButtonClassName).data(s.filterVisible(e.buttons));a.enter().append("g").classed(f.dropdownButtonClassName,!0);var c=-1!==["up","down"].indexOf(e.direction);a.each((function(i,a){var s=n.select(this);s.call(y,e,i,t);var h=s.select("."+f.itemTextClassName),p=h.node()&&o.bBox(h.node()).width,d=Math.max(p+f.textPadX,f.minWidth),g=e.font.size*u,m=l.lineCount(h),v=Math.max(g*m,f.minHeight)+f.textOffsetY;v=Math.ceil(v),d=Math.ceil(d),r.widths[a]=d,r.heights[a]=v,r.height1=Math.max(r.height1,v),r.width1=Math.max(r.width1,d),c?(r.totalWidth=Math.max(r.totalWidth,d),r.openWidth=r.totalWidth,r.totalHeight+=v+f.gapButton,r.openHeight+=v+f.gapButton):(r.totalWidth+=d+f.gapButton,r.openWidth+=d+f.gapButton,r.totalHeight=Math.max(r.totalHeight,v),r.openHeight=r.totalHeight)})),c?r.totalHeight-=f.gapButton:r.totalWidth-=f.gapButton,r.headerWidth=r.width1+f.arrowPadX,r.headerHeight=r.height1,"dropdown"===e.type&&(c?(r.width1+=f.arrowPadX,r.totalHeight=r.height1):r.totalWidth=r.width1,r.totalWidth+=f.arrowPadX),a.remove();var h=r.totalWidth+e.pad.l+e.pad.r,p=r.totalHeight+e.pad.t+e.pad.b,d=t._fullLayout._size;r.lx=d.l+d.w*e.x,r.ly=d.t+d.h*(1-e.y);var g="left";s.isRightAnchor(e)&&(r.lx-=h,g="right"),s.isCenterAnchor(e)&&(r.lx-=h/2,g="center");var m="top";s.isBottomAnchor(e)&&(r.ly-=p,m="bottom"),s.isMiddleAnchor(e)&&(r.ly-=p/2,m="middle"),r.totalWidth=Math.ceil(r.totalWidth),r.totalHeight=Math.ceil(r.totalHeight),r.lx=Math.round(r.lx),r.ly=Math.round(r.ly),i.autoMargin(t,M(e),{x:e.x,y:e.y,l:h*({right:1,center:.5}[g]||0),r:h*({left:1,center:.5}[g]||0),b:p*({top:1,middle:.5}[m]||0),t:p*({bottom:1,middle:.5}[m]||0)})}function M(t){return f.autoMarginIdRoot+t._index}function A(t,e,r,n){n=n||{};var i=t.select("."+f.itemRectClassName),a=t.select("."+f.itemTextClassName),s=e.borderwidth,c=r.index,h=e._dims;o.setTranslate(t,s+r.x,s+r.y);var p=-1!==["up","down"].indexOf(e.direction),d=n.height||(p?h.heights[c]:h.height1);i.attr({x:0,y:0,width:n.width||(p?h.width1:h.widths[c]),height:d});var g=e.font.size*u,m=(l.lineCount(a)-1)*g/2;l.positionText(a,f.textOffsetX,d/2-m+f.textOffsetY),p?r.y+=h.heights[c]+r.yPad:r.x+=h.widths[c]+r.xPad,r.index++}function S(t,e){t.attr(f.menuIndexAttrName,e||"-1").selectAll("g."+f.dropdownButtonClassName).remove()}e.exports=function(t){var e=t._fullLayout,r=s.filterVisible(e[f.name]);function a(e){i.autoMargin(t,M(e))}var o=e._menulayer.selectAll("g."+f.containerClassName).data(r.length>0?[0]:[]);if(o.enter().append("g").classed(f.containerClassName,!0).style("cursor","pointer"),o.exit().each((function(){n.select(this).selectAll("g."+f.headerGroupClassName).each(a)})).remove(),0!==r.length){var l=o.selectAll("g."+f.headerGroupClassName).data(r,p);l.enter().append("g").classed(f.headerGroupClassName,!0);for(var c=s.ensureSingle(o,"g",f.dropdownButtonGroupClassName,(function(t){t.style("pointer-events","all")})),u=0;u<r.length;u++){var y=r[u];k(t,y)}var x="updatemenus"+e._uid,b=new h(t,c,x);l.enter().size()&&(c.node().parentNode.appendChild(c.node()),c.call(S)),l.exit().each((function(t){c.call(S),a(t)})).remove(),l.each((function(e){var r=n.select(this),a="dropdown"===e.type?c:null;i.manageCommandObserver(t,e,e.buttons,(function(n){g(t,e,e.buttons[n.index],r,a,b,n.index,!0)})),"dropdown"===e.type?(m(t,r,c,b,e),d(c,e)&&v(t,r,c,b,e)):v(t,r,null,null,e)}))}}},{"../../constants/alignment":745,"../../lib":778,"../../lib/svg_text_utils":803,"../../plot_api/plot_template":817,"../../plots/plots":891,"../color":643,"../drawing":665,"./constants":740,"./scrollbox":744,d3:169}],743:[function(t,e,r){arguments[4][737][0].apply(r,arguments)},{"./attributes":739,"./constants":740,"./defaults":741,"./draw":742,dup:737}],744:[function(t,e,r){"use strict";e.exports=s;var n=t("d3"),i=t("../color"),a=t("../drawing"),o=t("../../lib");function s(t,e,r){this.gd=t,this.container=e,this.id=r,this.position=null,this.translateX=null,this.translateY=null,this.hbar=null,this.vbar=null,this.bg=this.container.selectAll("rect.scrollbox-bg").data([0]),this.bg.exit().on(".drag",null).on("wheel",null).remove(),this.bg.enter().append("rect").classed("scrollbox-bg",!0).style("pointer-events","all").attr({opacity:0,x:0,y:0,width:0,height:0})}s.barWidth=2,s.barLength=20,s.barRadius=2,s.barPad=1,s.barColor="#808BA4",s.prototype.enable=function(t,e,r){var o=this.gd._fullLayout,l=o.width,c=o.height;this.position=t;var u,f,h,p,d=this.position.l,g=this.position.w,m=this.position.t,v=this.position.h,y=this.position.direction,x="down"===y,b="left"===y,_="up"===y,w=g,T=v;x||b||"right"===y||_||(this.position.direction="down",x=!0),x||_?(f=(u=d)+w,x?(h=m,T=(p=Math.min(h+T,c))-h):T=(p=m+T)-(h=Math.max(p-T,0))):(p=(h=m)+T,b?w=(f=d+w)-(u=Math.max(f-w,0)):(u=d,w=(f=Math.min(u+w,l))-u)),this._box={l:u,t:h,w:w,h:T};var k=g>w,M=s.barLength+2*s.barPad,A=s.barWidth+2*s.barPad,S=d,E=m+v;E+A>c&&(E=c-A);var C=this.container.selectAll("rect.scrollbar-horizontal").data(k?[0]:[]);C.exit().on(".drag",null).remove(),C.enter().append("rect").classed("scrollbar-horizontal",!0).call(i.fill,s.barColor),k?(this.hbar=C.attr({rx:s.barRadius,ry:s.barRadius,x:S,y:E,width:M,height:A}),this._hbarXMin=S+M/2,this._hbarTranslateMax=w-M):(delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax);var L=v>T,I=s.barWidth+2*s.barPad,P=s.barLength+2*s.barPad,z=d+g,O=m;z+I>l&&(z=l-I);var D=this.container.selectAll("rect.scrollbar-vertical").data(L?[0]:[]);D.exit().on(".drag",null).remove(),D.enter().append("rect").classed("scrollbar-vertical",!0).call(i.fill,s.barColor),L?(this.vbar=D.attr({rx:s.barRadius,ry:s.barRadius,x:z,y:O,width:I,height:P}),this._vbarYMin=O+P/2,this._vbarTranslateMax=T-P):(delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax);var R=this.id,F=u-.5,B=L?f+I+.5:f+.5,N=h-.5,j=k?p+A+.5:p+.5,U=o._topdefs.selectAll("#"+R).data(k||L?[0]:[]);if(U.exit().remove(),U.enter().append("clipPath").attr("id",R).append("rect"),k||L?(this._clipRect=U.select("rect").attr({x:Math.floor(F),y:Math.floor(N),width:Math.ceil(B)-Math.floor(F),height:Math.ceil(j)-Math.floor(N)}),this.container.call(a.setClipUrl,R,this.gd),this.bg.attr({x:d,y:m,width:g,height:v})):(this.bg.attr({width:0,height:0}),this.container.on("wheel",null).on(".drag",null).call(a.setClipUrl,null),delete this._clipRect),k||L){var V=n.behavior.drag().on("dragstart",(function(){n.event.sourceEvent.preventDefault()})).on("drag",this._onBoxDrag.bind(this));this.container.on("wheel",null).on("wheel",this._onBoxWheel.bind(this)).on(".drag",null).call(V);var q=n.behavior.drag().on("dragstart",(function(){n.event.sourceEvent.preventDefault(),n.event.sourceEvent.stopPropagation()})).on("drag",this._onBarDrag.bind(this));k&&this.hbar.on(".drag",null).call(q),L&&this.vbar.on(".drag",null).call(q)}this.setTranslate(e,r)},s.prototype.disable=function(){(this.hbar||this.vbar)&&(this.bg.attr({width:0,height:0}),this.container.on("wheel",null).on(".drag",null).call(a.setClipUrl,null),delete this._clipRect),this.hbar&&(this.hbar.on(".drag",null),this.hbar.remove(),delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax),this.vbar&&(this.vbar.on(".drag",null),this.vbar.remove(),delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax)},s.prototype._onBoxDrag=function(){var t=this.translateX,e=this.translateY;this.hbar&&(t-=n.event.dx),this.vbar&&(e-=n.event.dy),this.setTranslate(t,e)},s.prototype._onBoxWheel=function(){var t=this.translateX,e=this.translateY;this.hbar&&(t+=n.event.deltaY),this.vbar&&(e+=n.event.deltaY),this.setTranslate(t,e)},s.prototype._onBarDrag=function(){var t=this.translateX,e=this.translateY;if(this.hbar){var r=t+this._hbarXMin,i=r+this._hbarTranslateMax;t=(o.constrain(n.event.x,r,i)-r)/(i-r)*(this.position.w-this._box.w)}if(this.vbar){var a=e+this._vbarYMin,s=a+this._vbarTranslateMax;e=(o.constrain(n.event.y,a,s)-a)/(s-a)*(this.position.h-this._box.h)}this.setTranslate(t,e)},s.prototype.setTranslate=function(t,e){var r=this.position.w-this._box.w,n=this.position.h-this._box.h;if(t=o.constrain(t||0,0,r),e=o.constrain(e||0,0,n),this.translateX=t,this.translateY=e,this.container.call(a.setTranslate,this._box.l-this.position.l-t,this._box.t-this.position.t-e),this._clipRect&&this._clipRect.attr({x:Math.floor(this.position.l+t-.5),y:Math.floor(this.position.t+e-.5)}),this.hbar){var i=t/r;this.hbar.call(a.setTranslate,t+i*this._hbarTranslateMax,e)}if(this.vbar){var s=e/n;this.vbar.call(a.setTranslate,t,e+s*this._vbarTranslateMax)}}},{"../../lib":778,"../color":643,"../drawing":665,d3:169}],745:[function(t,e,r){"use strict";e.exports={FROM_BL:{left:0,center:.5,right:1,bottom:0,middle:.5,top:1},FROM_TL:{left:0,center:.5,right:1,bottom:1,middle:.5,top:0},FROM_BR:{left:1,center:.5,right:0,bottom:0,middle:.5,top:1},LINE_SPACING:1.3,CAP_SHIFT:.7,MID_SHIFT:.35,OPPOSITE_SIDE:{left:"right",right:"left",top:"bottom",bottom:"top"}}},{}],746:[function(t,e,r){"use strict";e.exports={axisRefDescription:function(t,e,r){return["If set to a",t,"axis id (e.g. *"+t+"* or","*"+t+"2*), the `"+t+"` position refers to a",t,"coordinate. If set to *paper*, the `"+t+"`","position refers to the distance from the",e,"of the plotting","area in normalized coordinates where *0* (*1*) corresponds to the",e,"("+r+"). If set to a",t,"axis ID followed by","*domain* (separated by a space), the position behaves like for","*paper*, but refers to the distance in fractions of the domain","length from the",e,"of the domain of that axis: e.g.,","*"+t+"2 domain* refers to the domain of the second",t," axis and a",t,"position of 0.5 refers to the","point between the",e,"and the",r,"of the domain of the","second",t,"axis."].join(" ")}}},{}],747:[function(t,e,r){"use strict";e.exports={INCREASING:{COLOR:"#3D9970",SYMBOL:"\u25b2"},DECREASING:{COLOR:"#FF4136",SYMBOL:"\u25bc"}}},{}],748:[function(t,e,r){"use strict";e.exports={FORMAT_LINK:"https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#d3_format",DATE_FORMAT_LINK:"https://github.com/d3/d3-time-format#locale_format"}},{}],749:[function(t,e,r){"use strict";e.exports={COMPARISON_OPS:["=","!=","<",">=",">","<="],COMPARISON_OPS2:["=","<",">=",">","<="],INTERVAL_OPS:["[]","()","[)","(]","][",")(","](",")["],SET_OPS:["{}","}{"],CONSTRAINT_REDUCTION:{"=":"=","<":"<","<=":"<",">":">",">=":">","[]":"[]","()":"[]","[)":"[]","(]":"[]","][":"][",")(":"][","](":"][",")[":"]["}}},{}],750:[function(t,e,r){"use strict";e.exports={solid:[[],0],dot:[[.5,1],200],dash:[[.5,1],50],longdash:[[.5,1],10],dashdot:[[.5,.625,.875,1],50],longdashdot:[[.5,.7,.8,1],10]}},{}],751:[function(t,e,r){"use strict";e.exports={circle:"\u25cf","circle-open":"\u25cb",square:"\u25a0","square-open":"\u25a1",diamond:"\u25c6","diamond-open":"\u25c7",cross:"+",x:"\u274c"}},{}],752:[function(t,e,r){"use strict";e.exports={SHOW_PLACEHOLDER:100,HIDE_PLACEHOLDER:1e3,DESELECTDIM:.2}},{}],753:[function(t,e,r){"use strict";e.exports={BADNUM:void 0,FP_SAFE:Number.MAX_VALUE/1e4,ONEMAXYEAR:316224e5,ONEAVGYEAR:315576e5,ONEMINYEAR:31536e6,ONEMAXQUARTER:79488e5,ONEAVGQUARTER:78894e5,ONEMINQUARTER:76896e5,ONEMAXMONTH:26784e5,ONEAVGMONTH:26298e5,ONEMINMONTH:24192e5,ONEWEEK:6048e5,ONEDAY:864e5,ONEHOUR:36e5,ONEMIN:6e4,ONESEC:1e3,EPOCHJD:2440587.5,ALMOST_EQUAL:.999999,LOG_CLIP:10,MINUS_SIGN:"\u2212"}},{}],754:[function(t,e,r){"use strict";r.xmlns="http://www.w3.org/2000/xmlns/",r.svg="http://www.w3.org/2000/svg",r.xlink="http://www.w3.org/1999/xlink",r.svgAttrs={xmlns:r.svg,"xmlns:xlink":r.xlink}},{}],755:[function(t,e,r){"use strict";r.version=t("./version").version,t("es6-promise").polyfill(),t("../build/plotcss"),t("./fonts/mathjax_config")();for(var n=t("./registry"),i=r.register=n.register,a=t("./plot_api"),o=Object.keys(a),s=0;s<o.length;s++){var l=o[s];"_"!==l.charAt(0)&&(r[l]=a[l]),i({moduleType:"apiMethod",name:l,fn:a[l]})}i(t("./traces/scatter")),i([t("./components/legend"),t("./components/fx"),t("./components/annotations"),t("./components/annotations3d"),t("./components/shapes"),t("./components/images"),t("./components/updatemenus"),t("./components/sliders"),t("./components/rangeslider"),t("./components/rangeselector"),t("./components/grid"),t("./components/errorbars"),t("./components/colorscale"),t("./components/colorbar")]),i([t("./locale-en"),t("./locale-en-us")]),window.PlotlyLocales&&Array.isArray(window.PlotlyLocales)&&(i(window.PlotlyLocales),delete window.PlotlyLocales),r.Icons=t("./fonts/ploticon"),r.Plots=t("./plots/plots"),r.Fx=t("./components/fx"),r.Snapshot=t("./snapshot"),r.PlotSchema=t("./plot_api/plot_schema"),r.Queue=t("./lib/queue"),r.d3=t("d3")},{"../build/plotcss":1,"./components/annotations":634,"./components/annotations3d":639,"./components/colorbar":649,"./components/colorscale":655,"./components/errorbars":671,"./components/fx":683,"./components/grid":687,"./components/images":692,"./components/legend":700,"./components/rangeselector":711,"./components/rangeslider":718,"./components/shapes":732,"./components/sliders":737,"./components/updatemenus":743,"./fonts/mathjax_config":756,"./fonts/ploticon":757,"./lib/queue":794,"./locale-en":808,"./locale-en-us":807,"./plot_api":812,"./plot_api/plot_schema":816,"./plots/plots":891,"./registry":911,"./snapshot":916,"./traces/scatter":1199,"./version":1370,d3:169,"es6-promise":224}],756:[function(t,e,r){"use strict";e.exports=function(){"undefined"!=typeof MathJax&&("local"!==(window.PlotlyConfig||{}).MathJaxConfig&&(MathJax.Hub.Config({messageStyle:"none",skipStartupTypeset:!0,displayAlign:"left",tex2jax:{inlineMath:[["$","$"],["\\(","\\)"]]}}),MathJax.Hub.Configured()))}},{}],757:[function(t,e,r){"use strict";e.exports={undo:{width:857.1,height:1e3,path:"m857 350q0-87-34-166t-91-137-137-92-166-34q-96 0-183 41t-147 114q-4 6-4 13t5 11l76 77q6 5 14 5 9-1 13-7 41-53 100-82t126-29q58 0 110 23t92 61 61 91 22 111-22 111-61 91-92 61-110 23q-55 0-105-20t-90-57l77-77q17-16 8-38-10-23-33-23h-250q-15 0-25 11t-11 25v250q0 24 22 33 22 10 39-8l72-72q60 57 137 88t159 31q87 0 166-34t137-92 91-137 34-166z",transform:"matrix(1 0 0 -1 0 850)"},home:{width:928.6,height:1e3,path:"m786 296v-267q0-15-11-26t-25-10h-214v214h-143v-214h-214q-15 0-25 10t-11 26v267q0 1 0 2t0 2l321 264 321-264q1-1 1-4z m124 39l-34-41q-5-5-12-6h-2q-7 0-12 3l-386 322-386-322q-7-4-13-4-7 2-12 7l-35 41q-4 5-3 13t6 12l401 334q18 15 42 15t43-15l136-114v109q0 8 5 13t13 5h107q8 0 13-5t5-13v-227l122-102q5-5 6-12t-4-13z",transform:"matrix(1 0 0 -1 0 850)"},"camera-retro":{width:1e3,height:1e3,path:"m518 386q0 8-5 13t-13 5q-37 0-63-27t-26-63q0-8 5-13t13-5 12 5 5 13q0 23 16 38t38 16q8 0 13 5t5 13z m125-73q0-59-42-101t-101-42-101 42-42 101 42 101 101 42 101-42 42-101z m-572-320h858v71h-858v-71z m643 320q0 89-62 152t-152 62-151-62-63-152 63-151 151-63 152 63 62 151z m-571 358h214v72h-214v-72z m-72-107h858v143h-462l-36-71h-360v-72z m929 143v-714q0-30-21-51t-50-21h-858q-29 0-50 21t-21 51v714q0 30 21 51t50 21h858q29 0 50-21t21-51z",transform:"matrix(1 0 0 -1 0 850)"},zoombox:{width:1e3,height:1e3,path:"m1000-25l-250 251c40 63 63 138 63 218 0 224-182 406-407 406-224 0-406-182-406-406s183-406 407-406c80 0 155 22 218 62l250-250 125 125z m-812 250l0 438 437 0 0-438-437 0z m62 375l313 0 0-312-313 0 0 312z",transform:"matrix(1 0 0 -1 0 850)"},pan:{width:1e3,height:1e3,path:"m1000 350l-187 188 0-125-250 0 0 250 125 0-188 187-187-187 125 0 0-250-250 0 0 125-188-188 186-187 0 125 252 0 0-250-125 0 187-188 188 188-125 0 0 250 250 0 0-126 187 188z",transform:"matrix(1 0 0 -1 0 850)"},zoom_plus:{width:875,height:1e3,path:"m1 787l0-875 875 0 0 875-875 0z m687-500l-187 0 0-187-125 0 0 187-188 0 0 125 188 0 0 187 125 0 0-187 187 0 0-125z",transform:"matrix(1 0 0 -1 0 850)"},zoom_minus:{width:875,height:1e3,path:"m0 788l0-876 875 0 0 876-875 0z m688-500l-500 0 0 125 500 0 0-125z",transform:"matrix(1 0 0 -1 0 850)"},autoscale:{width:1e3,height:1e3,path:"m250 850l-187 0-63 0 0-62 0-188 63 0 0 188 187 0 0 62z m688 0l-188 0 0-62 188 0 0-188 62 0 0 188 0 62-62 0z m-875-938l0 188-63 0 0-188 0-62 63 0 187 0 0 62-187 0z m875 188l0-188-188 0 0-62 188 0 62 0 0 62 0 188-62 0z m-125 188l-1 0-93-94-156 156 156 156 92-93 2 0 0 250-250 0 0-2 93-92-156-156-156 156 94 92 0 2-250 0 0-250 0 0 93 93 157-156-157-156-93 94 0 0 0-250 250 0 0 0-94 93 156 157 156-157-93-93 0 0 250 0 0 250z",transform:"matrix(1 0 0 -1 0 850)"},tooltip_basic:{width:1500,height:1e3,path:"m375 725l0 0-375-375 375-374 0-1 1125 0 0 750-1125 0z",transform:"matrix(1 0 0 -1 0 850)"},tooltip_compare:{width:1125,height:1e3,path:"m187 786l0 2-187-188 188-187 0 0 937 0 0 373-938 0z m0-499l0 1-187-188 188-188 0 0 937 0 0 376-938-1z",transform:"matrix(1 0 0 -1 0 850)"},plotlylogo:{width:1542,height:1e3,path:"m0-10h182v-140h-182v140z m228 146h183v-286h-183v286z m225 714h182v-1000h-182v1000z m225-285h182v-715h-182v715z m225 142h183v-857h-183v857z m231-428h182v-429h-182v429z m225-291h183v-138h-183v138z",transform:"matrix(1 0 0 -1 0 850)"},"z-axis":{width:1e3,height:1e3,path:"m833 5l-17 108v41l-130-65 130-66c0 0 0 38 0 39 0-1 36-14 39-25 4-15-6-22-16-30-15-12-39-16-56-20-90-22-187-23-279-23-261 0-341 34-353 59 3 60 228 110 228 110-140-8-351-35-351-116 0-120 293-142 474-142 155 0 477 22 477 142 0 50-74 79-163 96z m-374 94c-58-5-99-21-99-40 0-24 65-43 144-43 79 0 143 19 143 43 0 19-42 34-98 40v216h87l-132 135-133-135h88v-216z m167 515h-136v1c16 16 31 34 46 52l84 109v54h-230v-71h124v-1c-16-17-28-32-44-51l-89-114v-51h245v72z",transform:"matrix(1 0 0 -1 0 850)"},"3d_rotate":{width:1e3,height:1e3,path:"m922 660c-5 4-9 7-14 11-359 263-580-31-580-31l-102 28 58-400c0 1 1 1 2 2 118 108 351 249 351 249s-62 27-100 42c88 83 222 183 347 122 16-8 30-17 44-27-2 1-4 2-6 4z m36-329c0 0 64 229-88 296-62 27-124 14-175-11 157-78 225-208 249-266 8-19 11-31 11-31 2 5 6 15 11 32-5-13-8-20-8-20z m-775-239c70-31 117-50 198-32-121 80-199 346-199 346l-96-15-58-12c0 0 55-226 155-287z m603 133l-317-139c0 0 4-4 19-14 7-5 24-15 24-15s-177-147-389 4c235-287 536-112 536-112l31-22 100 299-4-1z m-298-153c6-4 14-9 24-15 0 0-17 10-24 15z",transform:"matrix(1 0 0 -1 0 850)"},camera:{width:1e3,height:1e3,path:"m500 450c-83 0-150-67-150-150 0-83 67-150 150-150 83 0 150 67 150 150 0 83-67 150-150 150z m400 150h-120c-16 0-34 13-39 29l-31 93c-6 15-23 28-40 28h-340c-16 0-34-13-39-28l-31-94c-6-15-23-28-40-28h-120c-55 0-100-45-100-100v-450c0-55 45-100 100-100h800c55 0 100 45 100 100v450c0 55-45 100-100 100z m-400-550c-138 0-250 112-250 250 0 138 112 250 250 250 138 0 250-112 250-250 0-138-112-250-250-250z m365 380c-19 0-35 16-35 35 0 19 16 35 35 35 19 0 35-16 35-35 0-19-16-35-35-35z",transform:"matrix(1 0 0 -1 0 850)"},movie:{width:1e3,height:1e3,path:"m938 413l-188-125c0 37-17 71-44 94 64 38 107 107 107 187 0 121-98 219-219 219-121 0-219-98-219-219 0-61 25-117 66-156h-115c30 33 49 76 49 125 0 103-84 187-187 187s-188-84-188-187c0-57 26-107 65-141-38-22-65-62-65-109v-250c0-70 56-126 125-126h500c69 0 125 56 125 126l188-126c34 0 62 28 62 63v375c0 35-28 63-62 63z m-750 0c-69 0-125 56-125 125s56 125 125 125 125-56 125-125-56-125-125-125z m406-1c-87 0-157 70-157 157 0 86 70 156 157 156s156-70 156-156-70-157-156-157z",transform:"matrix(1 0 0 -1 0 850)"},question:{width:857.1,height:1e3,path:"m500 82v107q0 8-5 13t-13 5h-107q-8 0-13-5t-5-13v-107q0-8 5-13t13-5h107q8 0 13 5t5 13z m143 375q0 49-31 91t-77 65-95 23q-136 0-207-119-9-14 4-24l74-55q4-4 10-4 9 0 14 7 30 38 48 51 19 14 48 14 27 0 48-15t21-33q0-21-11-34t-38-25q-35-16-65-48t-29-70v-20q0-8 5-13t13-5h107q8 0 13 5t5 13q0 10 12 27t30 28q18 10 28 16t25 19 25 27 16 34 7 45z m214-107q0-117-57-215t-156-156-215-58-216 58-155 156-58 215 58 215 155 156 216 58 215-58 156-156 57-215z",transform:"matrix(1 0 0 -1 0 850)"},disk:{width:857.1,height:1e3,path:"m214-7h429v214h-429v-214z m500 0h72v500q0 8-6 21t-11 20l-157 156q-5 6-19 12t-22 5v-232q0-22-15-38t-38-16h-322q-22 0-37 16t-16 38v232h-72v-714h72v232q0 22 16 38t37 16h465q22 0 38-16t15-38v-232z m-214 518v178q0 8-5 13t-13 5h-107q-7 0-13-5t-5-13v-178q0-8 5-13t13-5h107q7 0 13 5t5 13z m357-18v-518q0-22-15-38t-38-16h-750q-23 0-38 16t-16 38v750q0 22 16 38t38 16h517q23 0 50-12t42-26l156-157q16-15 27-42t11-49z",transform:"matrix(1 0 0 -1 0 850)"},drawopenpath:{width:70,height:70,path:"M33.21,85.65a7.31,7.31,0,0,1-2.59-.48c-8.16-3.11-9.27-19.8-9.88-41.3-.1-3.58-.19-6.68-.35-9-.15-2.1-.67-3.48-1.43-3.79-2.13-.88-7.91,2.32-12,5.86L3,32.38c1.87-1.64,11.55-9.66,18.27-6.9,2.13.87,4.75,3.14,5.17,9,.17,2.43.26,5.59.36,9.25a224.17,224.17,0,0,0,1.5,23.4c1.54,10.76,4,12.22,4.48,12.4.84.32,2.79-.46,5.76-3.59L43,80.07C41.53,81.57,37.68,85.64,33.21,85.65ZM74.81,69a11.34,11.34,0,0,0,6.09-6.72L87.26,44.5,74.72,32,56.9,38.35c-2.37.86-5.57,3.42-6.61,6L38.65,72.14l8.42,8.43ZM55,46.27a7.91,7.91,0,0,1,3.64-3.17l14.8-5.3,8,8L76.11,60.6l-.06.19a6.37,6.37,0,0,1-3,3.43L48.25,74.59,44.62,71Zm16.57,7.82A6.9,6.9,0,1,0,64.64,61,6.91,6.91,0,0,0,71.54,54.09Zm-4.05,0a2.85,2.85,0,1,1-2.85-2.85A2.86,2.86,0,0,1,67.49,54.09Zm-4.13,5.22L60.5,56.45,44.26,72.7l2.86,2.86ZM97.83,35.67,84.14,22l-8.57,8.57L89.26,44.24Zm-13.69-8,8,8-2.85,2.85-8-8Z",transform:"matrix(1 0 0 1 -15 -15)"},drawclosedpath:{width:90,height:90,path:"M88.41,21.12a26.56,26.56,0,0,0-36.18,0l-2.07,2-2.07-2a26.57,26.57,0,0,0-36.18,0,23.74,23.74,0,0,0,0,34.8L48,90.12a3.22,3.22,0,0,0,4.42,0l36-34.21a23.73,23.73,0,0,0,0-34.79ZM84,51.24,50.16,83.35,16.35,51.25a17.28,17.28,0,0,1,0-25.47,20,20,0,0,1,27.3,0l4.29,4.07a3.23,3.23,0,0,0,4.44,0l4.29-4.07a20,20,0,0,1,27.3,0,17.27,17.27,0,0,1,0,25.46ZM66.76,47.68h-33v6.91h33ZM53.35,35H46.44V68h6.91Z",transform:"matrix(1 0 0 1 -5 -5)"},lasso:{width:1031,height:1e3,path:"m1018 538c-36 207-290 336-568 286-277-48-473-256-436-463 10-57 36-108 76-151-13-66 11-137 68-183 34-28 75-41 114-42l-55-70 0 0c-2-1-3-2-4-3-10-14-8-34 5-45 14-11 34-8 45 4 1 1 2 3 2 5l0 0 113 140c16 11 31 24 45 40 4 3 6 7 8 11 48-3 100 0 151 9 278 48 473 255 436 462z m-624-379c-80 14-149 48-197 96 42 42 109 47 156 9 33-26 47-66 41-105z m-187-74c-19 16-33 37-39 60 50-32 109-55 174-68-42-25-95-24-135 8z m360 75c-34-7-69-9-102-8 8 62-16 128-68 170-73 59-175 54-244-5-9 20-16 40-20 61-28 159 121 317 333 354s407-60 434-217c28-159-121-318-333-355z",transform:"matrix(1 0 0 -1 0 850)"},selectbox:{width:1e3,height:1e3,path:"m0 850l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m285 0l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m-857-286l0-143 143 0 0 143-143 0z m857 0l0-143 143 0 0 143-143 0z m-857-285l0-143 143 0 0 143-143 0z m857 0l0-143 143 0 0 143-143 0z m-857-286l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m285 0l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z",transform:"matrix(1 0 0 -1 0 850)"},drawline:{width:70,height:70,path:"M60.64,62.3a11.29,11.29,0,0,0,6.09-6.72l6.35-17.72L60.54,25.31l-17.82,6.4c-2.36.86-5.57,3.41-6.6,6L24.48,65.5l8.42,8.42ZM40.79,39.63a7.89,7.89,0,0,1,3.65-3.17l14.79-5.31,8,8L61.94,54l-.06.19a6.44,6.44,0,0,1-3,3.43L34.07,68l-3.62-3.63Zm16.57,7.81a6.9,6.9,0,1,0-6.89,6.9A6.9,6.9,0,0,0,57.36,47.44Zm-4,0a2.86,2.86,0,1,1-2.85-2.85A2.86,2.86,0,0,1,53.32,47.44Zm-4.13,5.22L46.33,49.8,30.08,66.05l2.86,2.86ZM83.65,29,70,15.34,61.4,23.9,75.09,37.59ZM70,21.06l8,8-2.84,2.85-8-8ZM87,80.49H10.67V87H87Z",transform:"matrix(1 0 0 1 -15 -15)"},drawrect:{width:80,height:80,path:"M78,22V79H21V22H78m9-9H12V88H87V13ZM68,46.22H31V54H68ZM53,32H45.22V69H53Z",transform:"matrix(1 0 0 1 -10 -10)"},drawcircle:{width:80,height:80,path:"M50,84.72C26.84,84.72,8,69.28,8,50.3S26.84,15.87,50,15.87,92,31.31,92,50.3,73.16,84.72,50,84.72Zm0-60.59c-18.6,0-33.74,11.74-33.74,26.17S31.4,76.46,50,76.46,83.74,64.72,83.74,50.3,68.6,24.13,50,24.13Zm17.15,22h-34v7.11h34Zm-13.8-13H46.24v34h7.11Z",transform:"matrix(1 0 0 1 -10 -10)"},eraseshape:{width:80,height:80,path:"M82.77,78H31.85L6,49.57,31.85,21.14H82.77a8.72,8.72,0,0,1,8.65,8.77V69.24A8.72,8.72,0,0,1,82.77,78ZM35.46,69.84H82.77a.57.57,0,0,0,.49-.6V29.91a.57.57,0,0,0-.49-.61H35.46L17,49.57Zm32.68-34.7-24,24,5,5,24-24Zm-19,.53-5,5,24,24,5-5Z",transform:"matrix(1 0 0 1 -10 -10)"},spikeline:{width:1e3,height:1e3,path:"M512 409c0-57-46-104-103-104-57 0-104 47-104 104 0 57 47 103 104 103 57 0 103-46 103-103z m-327-39l92 0 0 92-92 0z m-185 0l92 0 0 92-92 0z m370-186l92 0 0 93-92 0z m0-184l92 0 0 92-92 0z",transform:"matrix(1.5 0 0 -1.5 0 850)"},pencil:{width:1792,height:1792,path:"M491 1536l91-91-235-235-91 91v107h128v128h107zm523-928q0-22-22-22-10 0-17 7l-542 542q-7 7-7 17 0 22 22 22 10 0 17-7l542-542q7-7 7-17zm-54-192l416 416-832 832h-416v-416zm683 96q0 53-37 90l-166 166-416-416 166-165q36-38 90-38 53 0 91 38l235 234q37 39 37 91z",transform:"matrix(1 0 0 1 0 1)"},newplotlylogo:{name:"newplotlylogo",svg:"<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 132 132'><defs><style>.cls-1 {fill: #3f4f75;} .cls-2 {fill: #80cfbe;} .cls-3 {fill: #fff;}</style></defs><title>plotly-logomark</title><g id='symbol'><rect class='cls-1' width='132' height='132' rx='6' ry='6'/><circle class='cls-2' cx='78' cy='54' r='6'/><circle class='cls-2' cx='102' cy='30' r='6'/><circle class='cls-2' cx='78' cy='30' r='6'/><circle class='cls-2' cx='54' cy='30' r='6'/><circle class='cls-2' cx='30' cy='30' r='6'/><circle class='cls-2' cx='30' cy='54' r='6'/><path class='cls-3' d='M30,72a6,6,0,0,0-6,6v24a6,6,0,0,0,12,0V78A6,6,0,0,0,30,72Z'/><path class='cls-3' d='M78,72a6,6,0,0,0-6,6v24a6,6,0,0,0,12,0V78A6,6,0,0,0,78,72Z'/><path class='cls-3' d='M54,48a6,6,0,0,0-6,6v48a6,6,0,0,0,12,0V54A6,6,0,0,0,54,48Z'/><path class='cls-3' d='M102,48a6,6,0,0,0-6,6v48a6,6,0,0,0,12,0V54A6,6,0,0,0,102,48Z'/></g></svg>"}}},{}],758:[function(t,e,r){"use strict";r.isLeftAnchor=function(t){return"left"===t.xanchor||"auto"===t.xanchor&&t.x<=1/3},r.isCenterAnchor=function(t){return"center"===t.xanchor||"auto"===t.xanchor&&t.x>1/3&&t.x<2/3},r.isRightAnchor=function(t){return"right"===t.xanchor||"auto"===t.xanchor&&t.x>=2/3},r.isTopAnchor=function(t){return"top"===t.yanchor||"auto"===t.yanchor&&t.y>=2/3},r.isMiddleAnchor=function(t){return"middle"===t.yanchor||"auto"===t.yanchor&&t.y>1/3&&t.y<2/3},r.isBottomAnchor=function(t){return"bottom"===t.yanchor||"auto"===t.yanchor&&t.y<=1/3}},{}],759:[function(t,e,r){"use strict";var n=t("./mod"),i=n.mod,a=n.modHalf,o=Math.PI,s=2*o;function l(t){return Math.abs(t[1]-t[0])>s-1e-14}function c(t,e){return a(e-t,s)}function u(t,e){if(l(e))return!0;var r,n;e[0]<e[1]?(r=e[0],n=e[1]):(r=e[1],n=e[0]),(r=i(r,s))>(n=i(n,s))&&(n+=s);var a=i(t,s),o=a+s;return a>=r&&a<=n||o>=r&&o<=n}function f(t,e,r,n,i,a,c){i=i||0,a=a||0;var u,f,h,p,d,g=l([r,n]);function m(t,e){return[t*Math.cos(e)+i,a-t*Math.sin(e)]}g?(u=0,f=o,h=s):r<n?(u=r,h=n):(u=n,h=r),t<e?(p=t,d=e):(p=e,d=t);var v,y=Math.abs(h-u)<=o?0:1;function x(t,e,r){return"A"+[t,t]+" "+[0,y,r]+" "+m(t,e)}return g?v=null===p?"M"+m(d,u)+x(d,f,0)+x(d,h,0)+"Z":"M"+m(p,u)+x(p,f,0)+x(p,h,0)+"ZM"+m(d,u)+x(d,f,1)+x(d,h,1)+"Z":null===p?(v="M"+m(d,u)+x(d,h,0),c&&(v+="L0,0Z")):v="M"+m(p,u)+"L"+m(d,u)+x(d,h,0)+"L"+m(p,h)+x(p,u,1)+"Z",v}e.exports={deg2rad:function(t){return t/180*o},rad2deg:function(t){return t/o*180},angleDelta:c,angleDist:function(t,e){return Math.abs(c(t,e))},isFullCircle:l,isAngleInsideSector:u,isPtInsideSector:function(t,e,r,n){return!!u(e,n)&&(r[0]<r[1]?(i=r[0],a=r[1]):(i=r[1],a=r[0]),t>=i&&t<=a);var i,a},pathArc:function(t,e,r,n,i){return f(null,t,e,r,n,i,0)},pathSector:function(t,e,r,n,i){return f(null,t,e,r,n,i,1)},pathAnnulus:function(t,e,r,n,i,a){return f(t,e,r,n,i,a,1)}}},{"./mod":785}],760:[function(t,e,r){"use strict";var n=Array.isArray,i="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer:{isView:function(){return!1}},a="undefined"==typeof DataView?function(){}:DataView;function o(t){return i.isView(t)&&!(t instanceof a)}function s(t){return n(t)||o(t)}function l(t,e,r){if(s(t)){if(s(t[0])){for(var n=r,i=0;i<t.length;i++)n=e(n,t[i].length);return n}return t.length}return 0}r.isTypedArray=o,r.isArrayOrTypedArray=s,r.isArray1D=function(t){return!s(t[0])},r.ensureArray=function(t,e){return n(t)||(t=[]),t.length=e,t},r.concat=function(){var t,e,r,i,a,o,s,l,c=[],u=!0,f=0;for(r=0;r<arguments.length;r++)(o=(i=arguments[r]).length)&&(e?c.push(i):(e=i,a=o),n(i)?t=!1:(u=!1,f?t!==i.constructor&&(t=!1):t=i.constructor),f+=o);if(!f)return[];if(!c.length)return e;if(u)return e.concat.apply(e,c);if(t){for((s=new t(f)).set(e),r=0;r<c.length;r++)i=c[r],s.set(i,a),a+=i.length;return s}for(s=new Array(f),l=0;l<e.length;l++)s[l]=e[l];for(r=0;r<c.length;r++){for(i=c[r],l=0;l<i.length;l++)s[a+l]=i[l];a+=l}return s},r.maxRowLength=function(t){return l(t,Math.max,0)},r.minRowLength=function(t){return l(t,Math.min,1/0)}},{}],761:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../constants/numerical").BADNUM,a=/^['"%,$#\s']+|[, ]|['"%,$#\s']+$/g;e.exports=function(t){return"string"==typeof t&&(t=t.replace(a,"")),n(t)?Number(t):i}},{"../constants/numerical":753,"fast-isnumeric":241}],762:[function(t,e,r){"use strict";e.exports=function(t){var e=t._fullLayout;e._glcanvas&&e._glcanvas.size()&&e._glcanvas.each((function(t){t.regl&&t.regl.clear({color:!0,depth:!0})}))}},{}],763:[function(t,e,r){"use strict";e.exports=function(t){t._responsiveChartHandler&&(window.removeEventListener("resize",t._responsiveChartHandler),delete t._responsiveChartHandler)}},{}],764:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("tinycolor2"),a=t("../plots/attributes"),o=t("../components/colorscale/scales"),s=t("../constants/interactions").DESELECTDIM,l=t("./nested_property"),c=t("./regex").counter,u=t("./mod").modHalf,f=t("./array").isArrayOrTypedArray;function h(t,e){var n=r.valObjectMeta[e.valType];if(e.arrayOk&&f(t))return!0;if(n.validateFunction)return n.validateFunction(t,e);var i={},a=i,o={set:function(t){a=t}};return n.coerceFunction(t,o,i,e),a!==i}r.valObjectMeta={data_array:{coerceFunction:function(t,e,r){f(t)?e.set(t):void 0!==r&&e.set(r)}},enumerated:{coerceFunction:function(t,e,r,n){n.coerceNumber&&(t=+t),-1===n.values.indexOf(t)?e.set(r):e.set(t)},validateFunction:function(t,e){e.coerceNumber&&(t=+t);for(var r=e.values,n=0;n<r.length;n++){var i=String(r[n]);if("/"===i.charAt(0)&&"/"===i.charAt(i.length-1)){if(new RegExp(i.substr(1,i.length-2)).test(t))return!0}else if(t===r[n])return!0}return!1}},boolean:{coerceFunction:function(t,e,r){!0===t||!1===t?e.set(t):e.set(r)}},number:{coerceFunction:function(t,e,r,i){!n(t)||void 0!==i.min&&t<i.min||void 0!==i.max&&t>i.max?e.set(r):e.set(+t)}},integer:{coerceFunction:function(t,e,r,i){t%1||!n(t)||void 0!==i.min&&t<i.min||void 0!==i.max&&t>i.max?e.set(r):e.set(+t)}},string:{coerceFunction:function(t,e,r,n){if("string"!=typeof t){var i="number"==typeof t;!0!==n.strict&&i?e.set(String(t)):e.set(r)}else n.noBlank&&!t?e.set(r):e.set(t)}},color:{coerceFunction:function(t,e,r){i(t).isValid()?e.set(t):e.set(r)}},colorlist:{coerceFunction:function(t,e,r){Array.isArray(t)&&t.length&&t.every((function(t){return i(t).isValid()}))?e.set(t):e.set(r)}},colorscale:{coerceFunction:function(t,e,r){e.set(o.get(t,r))}},angle:{coerceFunction:function(t,e,r){"auto"===t?e.set("auto"):n(t)?e.set(u(+t,360)):e.set(r)}},subplotid:{coerceFunction:function(t,e,r,n){var i=n.regex||c(r);"string"==typeof t&&i.test(t)?e.set(t):e.set(r)},validateFunction:function(t,e){var r=e.dflt;return t===r||"string"==typeof t&&!!c(r).test(t)}},flaglist:{coerceFunction:function(t,e,r,n){if("string"==typeof t)if(-1===(n.extras||[]).indexOf(t)){for(var i=t.split("+"),a=0;a<i.length;){var o=i[a];-1===n.flags.indexOf(o)||i.indexOf(o)<a?i.splice(a,1):a++}i.length?e.set(i.join("+")):e.set(r)}else e.set(t);else e.set(r)}},any:{coerceFunction:function(t,e,r){void 0===t?e.set(r):e.set(t)}},info_array:{coerceFunction:function(t,e,n,i){function a(t,e,n){var i,a={set:function(t){i=t}};return void 0===n&&(n=e.dflt),r.valObjectMeta[e.valType].coerceFunction(t,a,n,e),i}var o=2===i.dimensions||"1-2"===i.dimensions&&Array.isArray(t)&&Array.isArray(t[0]);if(Array.isArray(t)){var s,l,c,u,f,h,p=i.items,d=[],g=Array.isArray(p),m=g&&o&&Array.isArray(p[0]),v=o&&g&&!m,y=g&&!v?p.length:t.length;if(n=Array.isArray(n)?n:[],o)for(s=0;s<y;s++)for(d[s]=[],c=Array.isArray(t[s])?t[s]:[],f=v?p.length:g?p[s].length:c.length,l=0;l<f;l++)u=v?p[l]:g?p[s][l]:p,void 0!==(h=a(c[l],u,(n[s]||[])[l]))&&(d[s][l]=h);else for(s=0;s<y;s++)void 0!==(h=a(t[s],g?p[s]:p,n[s]))&&(d[s]=h);e.set(d)}else e.set(n)},validateFunction:function(t,e){if(!Array.isArray(t))return!1;var r=e.items,n=Array.isArray(r),i=2===e.dimensions;if(!e.freeLength&&t.length!==r.length)return!1;for(var a=0;a<t.length;a++)if(i){if(!Array.isArray(t[a])||!e.freeLength&&t[a].length!==r[a].length)return!1;for(var o=0;o<t[a].length;o++)if(!h(t[a][o],n?r[a][o]:r))return!1}else if(!h(t[a],n?r[a]:r))return!1;return!0}}},r.coerce=function(t,e,n,i,a){var o=l(n,i).get(),s=l(t,i),c=l(e,i),u=s.get(),p=e._template;if(void 0===u&&p&&(u=l(p,i).get(),p=0),void 0===a&&(a=o.dflt),o.arrayOk&&f(u))return c.set(u),u;var d=r.valObjectMeta[o.valType].coerceFunction;d(u,c,a,o);var g=c.get();return p&&g===a&&!h(u,o)&&(d(u=l(p,i).get(),c,a,o),g=c.get()),g},r.coerce2=function(t,e,n,i,a){var o=l(t,i),s=r.coerce(t,e,n,i,a),c=o.get();return null!=c&&s},r.coerceFont=function(t,e,r){var n={};return r=r||{},n.family=t(e+".family",r.family),n.size=t(e+".size",r.size),n.color=t(e+".color",r.color),n},r.coerceHoverinfo=function(t,e,n){var i,o=e._module.attributes,s=o.hoverinfo?o:a,l=s.hoverinfo;if(1===n._dataLength){var c="all"===l.dflt?l.flags.slice():l.dflt.split("+");c.splice(c.indexOf("name"),1),i=c.join("+")}return r.coerce(t,e,s,"hoverinfo",i)},r.coerceSelectionMarkerOpacity=function(t,e){if(t.marker){var r,n,i=t.marker.opacity;if(void 0!==i)f(i)||t.selected||t.unselected||(r=i,n=s*i),e("selected.marker.opacity",r),e("unselected.marker.opacity",n)}},r.validate=h},{"../components/colorscale/scales":658,"../constants/interactions":752,"../plots/attributes":824,"./array":760,"./mod":785,"./nested_property":786,"./regex":795,"fast-isnumeric":241,tinycolor2:576}],765:[function(t,e,r){"use strict";var n,i,a=t("d3-time-format").timeFormat,o=t("fast-isnumeric"),s=t("./loggers"),l=t("./mod").mod,c=t("../constants/numerical"),u=c.BADNUM,f=c.ONEDAY,h=c.ONEHOUR,p=c.ONEMIN,d=c.ONESEC,g=c.EPOCHJD,m=t("../registry"),v=t("d3-time-format").utcFormat,y=/^\s*(-?\d\d\d\d|\d\d)(-(\d?\d)(-(\d?\d)([ Tt]([01]?\d|2[0-3])(:([0-5]\d)(:([0-5]\d(\.\d+)?))?(Z|z|[+\-]\d\d(:?\d\d)?)?)?)?)?)?\s*$/m,x=/^\s*(-?\d\d\d\d|\d\d)(-(\d?\di?)(-(\d?\d)([ Tt]([01]?\d|2[0-3])(:([0-5]\d)(:([0-5]\d(\.\d+)?))?(Z|z|[+\-]\d\d(:?\d\d)?)?)?)?)?)?\s*$/m,b=(new Date).getFullYear()-70;function _(t){return t&&m.componentsRegistry.calendars&&"string"==typeof t&&"gregorian"!==t}function w(t,e){return String(t+Math.pow(10,e)).substr(1)}r.dateTick0=function(t,e){var n=function(t,e){return _(t)?e?m.getComponentMethod("calendars","CANONICAL_SUNDAY")[t]:m.getComponentMethod("calendars","CANONICAL_TICK")[t]:e?"2000-01-02":"2000-01-01"}(t,!!e);if(e<2)return n;var i=r.dateTime2ms(n,t);return i+=f*(e-1),r.ms2DateTime(i,0,t)},r.dfltRange=function(t){return _(t)?m.getComponentMethod("calendars","DFLTRANGE")[t]:["2000-01-01","2001-01-01"]},r.isJSDate=function(t){return"object"==typeof t&&null!==t&&"function"==typeof t.getTime},r.dateTime2ms=function(t,e){if(r.isJSDate(t)){var a=t.getTimezoneOffset()*p,o=(t.getUTCMinutes()-t.getMinutes())*p+(t.getUTCSeconds()-t.getSeconds())*d+(t.getUTCMilliseconds()-t.getMilliseconds());if(o){var s=3*p;a=a-s/2+l(o-a+s/2,s)}return(t=Number(t)-a)>=n&&t<=i?t:u}if("string"!=typeof t&&"number"!=typeof t)return u;t=String(t);var c=_(e),v=t.charAt(0);!c||"G"!==v&&"g"!==v||(t=t.substr(1),e="");var w=c&&"chinese"===e.substr(0,7),T=t.match(w?x:y);if(!T)return u;var k=T[1],M=T[3]||"1",A=Number(T[5]||1),S=Number(T[7]||0),E=Number(T[9]||0),C=Number(T[11]||0);if(c){if(2===k.length)return u;var L;k=Number(k);try{var I=m.getComponentMethod("calendars","getCal")(e);if(w){var P="i"===M.charAt(M.length-1);M=parseInt(M,10),L=I.newDate(k,I.toMonthIndex(k,M,P),A)}else L=I.newDate(k,Number(M),A)}catch(t){return u}return L?(L.toJD()-g)*f+S*h+E*p+C*d:u}k=2===k.length?(Number(k)+2e3-b)%100+b:Number(k),M-=1;var z=new Date(Date.UTC(2e3,M,A,S,E));return z.setUTCFullYear(k),z.getUTCMonth()!==M||z.getUTCDate()!==A?u:z.getTime()+C*d},n=r.MIN_MS=r.dateTime2ms("-9999"),i=r.MAX_MS=r.dateTime2ms("9999-12-31 23:59:59.9999"),r.isDateTime=function(t,e){return r.dateTime2ms(t,e)!==u};var T=90*f,k=3*h,M=5*p;function A(t,e,r,n,i){if((e||r||n||i)&&(t+=" "+w(e,2)+":"+w(r,2),(n||i)&&(t+=":"+w(n,2),i))){for(var a=4;i%10==0;)a-=1,i/=10;t+="."+w(i,a)}return t}r.ms2DateTime=function(t,e,r){if("number"!=typeof t||!(t>=n&&t<=i))return u;e||(e=0);var a,o,s,c,y,x,b=Math.floor(10*l(t+.05,1)),w=Math.round(t-b/10);if(_(r)){var S=Math.floor(w/f)+g,E=Math.floor(l(t,f));try{a=m.getComponentMethod("calendars","getCal")(r).fromJD(S).formatDate("yyyy-mm-dd")}catch(t){a=v("G%Y-%m-%d")(new Date(w))}if("-"===a.charAt(0))for(;a.length<11;)a="-0"+a.substr(1);else for(;a.length<10;)a="0"+a;o=e<T?Math.floor(E/h):0,s=e<T?Math.floor(E%h/p):0,c=e<k?Math.floor(E%p/d):0,y=e<M?E%d*10+b:0}else x=new Date(w),a=v("%Y-%m-%d")(x),o=e<T?x.getUTCHours():0,s=e<T?x.getUTCMinutes():0,c=e<k?x.getUTCSeconds():0,y=e<M?10*x.getUTCMilliseconds()+b:0;return A(a,o,s,c,y)},r.ms2DateTimeLocal=function(t){if(!(t>=n+f&&t<=i-f))return u;var e=Math.floor(10*l(t+.05,1)),r=new Date(Math.round(t-e/10));return A(a("%Y-%m-%d")(r),r.getHours(),r.getMinutes(),r.getSeconds(),10*r.getUTCMilliseconds()+e)},r.cleanDate=function(t,e,n){if(t===u)return e;if(r.isJSDate(t)||"number"==typeof t&&isFinite(t)){if(_(n))return s.error("JS Dates and milliseconds are incompatible with world calendars",t),e;if(!(t=r.ms2DateTimeLocal(+t))&&void 0!==e)return e}else if(!r.isDateTime(t,n))return s.error("unrecognized date",t),e;return t};var S=/%\d?f/g;function E(t,e,r,n){t=t.replace(S,(function(t){var r=Math.min(+t.charAt(1)||6,6);return(e/1e3%1+2).toFixed(r).substr(2).replace(/0+$/,"")||"0"}));var i=new Date(Math.floor(e+.05));if(_(n))try{t=m.getComponentMethod("calendars","worldCalFmt")(t,e,n)}catch(t){return"Invalid"}return r(t)(i)}var C=[59,59.9,59.99,59.999,59.9999];r.formatDate=function(t,e,r,n,i,a){if(i=_(i)&&i,!e)if("y"===r)e=a.year;else if("m"===r)e=a.month;else{if("d"!==r)return function(t,e){var r=l(t+.05,f),n=w(Math.floor(r/h),2)+":"+w(l(Math.floor(r/p),60),2);if("M"!==e){o(e)||(e=0);var i=(100+Math.min(l(t/d,60),C[e])).toFixed(e).substr(1);e>0&&(i=i.replace(/0+$/,"").replace(/[\.]$/,"")),n+=":"+i}return n}(t,r)+"\n"+E(a.dayMonthYear,t,n,i);e=a.dayMonth+"\n"+a.year}return E(e,t,n,i)};var L=3*f;r.incrementMonth=function(t,e,r){r=_(r)&&r;var n=l(t,f);if(t=Math.round(t-n),r)try{var i=Math.round(t/f)+g,a=m.getComponentMethod("calendars","getCal")(r),o=a.fromJD(i);return e%12?a.add(o,e,"m"):a.add(o,e/12,"y"),(o.toJD()-g)*f+n}catch(e){s.error("invalid ms "+t+" in calendar "+r)}var c=new Date(t+L);return c.setUTCMonth(c.getUTCMonth()+e)+n-L},r.findExactDates=function(t,e){for(var r,n,i=0,a=0,s=0,l=0,c=_(e)&&m.getComponentMethod("calendars","getCal")(e),u=0;u<t.length;u++)if(n=t[u],o(n)){if(!(n%f))if(c)try{1===(r=c.fromJD(n/f+g)).day()?1===r.month()?i++:a++:s++}catch(t){}else 1===(r=new Date(n)).getUTCDate()?0===r.getUTCMonth()?i++:a++:s++}else l++;s+=a+=i;var h=t.length-l;return{exactYears:i/h,exactMonths:a/h,exactDays:s/h}}},{"../constants/numerical":753,"../registry":911,"./loggers":782,"./mod":785,"d3-time-format":166,"fast-isnumeric":241}],766:[function(t,e,r){"use strict";var n=t("d3"),i=t("./loggers"),a=t("./matrix"),o=t("gl-mat4");function s(t){var e=t&&t.parentNode;e&&e.removeChild(t)}function l(t,e,r){var n="plotly.js-style-"+t,a=document.getElementById(n);a||((a=document.createElement("style")).setAttribute("id",n),a.appendChild(document.createTextNode("")),document.head.appendChild(a));var o=a.sheet;o.insertRule?o.insertRule(e+"{"+r+"}",0):o.addRule?o.addRule(e,r,0):i.warn("addStyleRule failed")}function c(t){var e=window.getComputedStyle(t,null),r=e.getPropertyValue("-webkit-transform")||e.getPropertyValue("-moz-transform")||e.getPropertyValue("-ms-transform")||e.getPropertyValue("-o-transform")||e.getPropertyValue("transform");return"none"===r?null:r.replace("matrix","").replace("3d","").slice(1,-1).split(",").map((function(t){return+t}))}function u(t){for(var e=[];f(t);)e.push(t),t=t.parentNode;return e}function f(t){return t&&(t instanceof Element||t instanceof HTMLElement)}e.exports={getGraphDiv:function(t){var e;if("string"==typeof t){if(null===(e=document.getElementById(t)))throw new Error("No DOM element with id '"+t+"' exists on the page.");return e}if(null==t)throw new Error("DOM element provided is null or undefined");return t},isPlotDiv:function(t){var e=n.select(t);return e.node()instanceof HTMLElement&&e.size()&&e.classed("js-plotly-plot")},removeElement:s,addStyleRule:function(t,e){l("global",t,e)},addRelatedStyleRule:l,deleteRelatedStyleRule:function(t){var e="plotly.js-style-"+t,r=document.getElementById(e);r&&s(r)},getFullTransformMatrix:function(t){var e=u(t),r=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];return e.forEach((function(t){var e=c(t);if(e){var n=a.convertCssMatrix(e);r=o.multiply(r,r,n)}})),r},getElementTransformMatrix:c,getElementAndAncestors:u,equalDomRects:function(t,e){return t&&e&&t.x===e.x&&t.y===e.y&&t.top===e.top&&t.left===e.left&&t.right===e.right&&t.bottom===e.bottom}}},{"./loggers":782,"./matrix":784,d3:169,"gl-mat4":292}],767:[function(t,e,r){"use strict";var n=t("events").EventEmitter,i={init:function(t){if(t._ev instanceof n)return t;var e=new n,r=new n;return t._ev=e,t._internalEv=r,t.on=e.on.bind(e),t.once=e.once.bind(e),t.removeListener=e.removeListener.bind(e),t.removeAllListeners=e.removeAllListeners.bind(e),t._internalOn=r.on.bind(r),t._internalOnce=r.once.bind(r),t._removeInternalListener=r.removeListener.bind(r),t._removeAllInternalListeners=r.removeAllListeners.bind(r),t.emit=function(n,i){"undefined"!=typeof jQuery&&jQuery(t).trigger(n,i),e.emit(n,i),r.emit(n,i)},t},triggerHandler:function(t,e,r){var n,i;"undefined"!=typeof jQuery&&(n=jQuery(t).triggerHandler(e,r));var a=t._ev;if(!a)return n;var o,s=a._events[e];if(!s)return n;function l(t){return t.listener?(a.removeListener(e,t.listener),t.fired?void 0:(t.fired=!0,t.listener.apply(a,[r]))):t.apply(a,[r])}for(s=Array.isArray(s)?s:[s],o=0;o<s.length-1;o++)l(s[o]);return i=l(s[o]),void 0!==n?n:i},purge:function(t){return delete t._ev,delete t.on,delete t.once,delete t.removeListener,delete t.removeAllListeners,delete t.emit,delete t._ev,delete t._internalEv,delete t._internalOn,delete t._internalOnce,delete t._removeInternalListener,delete t._removeAllInternalListeners,t}};e.exports=i},{events:110}],768:[function(t,e,r){"use strict";var n=t("./is_plain_object.js"),i=Array.isArray;function a(t,e,r,o){var s,l,c,u,f,h,p=t[0],d=t.length;if(2===d&&i(p)&&i(t[1])&&0===p.length){if(function(t,e){var r,n;for(r=0;r<t.length;r++){if(null!==(n=t[r])&&"object"==typeof n)return!1;void 0!==n&&(e[r]=n)}return!0}(t[1],p))return p;p.splice(0,p.length)}for(var g=1;g<d;g++)for(l in s=t[g])c=p[l],u=s[l],o&&i(u)?p[l]=u:e&&u&&(n(u)||(f=i(u)))?(f?(f=!1,h=c&&i(c)?c:[]):h=c&&n(c)?c:{},p[l]=a([h,u],e,r,o)):("undefined"!=typeof u||r)&&(p[l]=u);return p}r.extendFlat=function(){return a(arguments,!1,!1,!1)},r.extendDeep=function(){return a(arguments,!0,!1,!1)},r.extendDeepAll=function(){return a(arguments,!0,!0,!1)},r.extendDeepNoArrays=function(){return a(arguments,!0,!1,!0)}},{"./is_plain_object.js":779}],769:[function(t,e,r){"use strict";e.exports=function(t){for(var e={},r=[],n=0,i=0;i<t.length;i++){var a=t[i];1!==e[a]&&(e[a]=1,r[n++]=a)}return r}},{}],770:[function(t,e,r){"use strict";function n(t){return!0===t.visible}function i(t){var e=t[0].trace;return!0===e.visible&&0!==e._length}e.exports=function(t){for(var e,r=(e=t,Array.isArray(e)&&Array.isArray(e[0])&&e[0][0]&&e[0][0].trace?i:n),a=[],o=0;o<t.length;o++){var s=t[o];r(s)&&a.push(s)}return a}},{}],771:[function(t,e,r){"use strict";var n=t("d3"),i=t("country-regex"),a=t("@turf/area"),o=t("@turf/centroid"),s=t("@turf/bbox"),l=t("./identity"),c=t("./loggers"),u=t("./is_plain_object"),f=t("./nested_property"),h=t("./polygon"),p=Object.keys(i),d={"ISO-3":l,"USA-states":l,"country names":function(t){for(var e=0;e<p.length;e++){var r=p[e];if(new RegExp(i[r]).test(t.trim().toLowerCase()))return r}return c.log("Unrecognized country name: "+t+"."),!1}};function g(t){var e=t.geojson,r=window.PlotlyGeoAssets||{},n="string"==typeof e?r[e]:e;return u(n)?n:(c.error("Oops ... something went wrong when fetching "+e),!1)}e.exports={locationToFeature:function(t,e,r){if(!e||"string"!=typeof e)return!1;var n,i,a,o=d[t](e);if(o){if("USA-states"===t)for(n=[],a=0;a<r.length;a++)(i=r[a]).properties&&i.properties.gu&&"USA"===i.properties.gu&&n.push(i);else n=r;for(a=0;a<n.length;a++)if((i=n[a]).id===o)return i;c.log(["Location with id",o,"does not have a matching topojson feature at this resolution."].join(" "))}return!1},feature2polygons:function(t){var e,r,n,i,a=t.geometry,o=a.coordinates,s=t.id,l=[];function c(t){for(var e=0;e<t.length-1;e++)if(t[e][0]>0&&t[e+1][0]<0)return e;return null}switch(e="RUS"===s||"FJI"===s?function(t){var e;if(null===c(t))e=t;else for(e=new Array(t.length),i=0;i<t.length;i++)e[i]=[t[i][0]<0?t[i][0]+360:t[i][0],t[i][1]];l.push(h.tester(e))}:"ATA"===s?function(t){var e=c(t);if(null===e)return l.push(h.tester(t));var r=new Array(t.length+1),n=0;for(i=0;i<t.length;i++)i>e?r[n++]=[t[i][0]+360,t[i][1]]:i===e?(r[n++]=t[i],r[n++]=[t[i][0],-90]):r[n++]=t[i];var a=h.tester(r);a.pts.pop(),l.push(a)}:function(t){l.push(h.tester(t))},a.type){case"MultiPolygon":for(r=0;r<o.length;r++)for(n=0;n<o[r].length;n++)e(o[r][n]);break;case"Polygon":for(r=0;r<o.length;r++)e(o[r])}return l},getTraceGeojson:g,extractTraceFeature:function(t){var e=t[0].trace,r=g(e);if(!r)return!1;var n,i={},s=[];for(n=0;n<e._length;n++){var l=t[n];(l.loc||0===l.loc)&&(i[l.loc]=l)}function u(t){var r=f(t,e.featureidkey||"id").get(),n=i[r];if(n){var l=t.geometry;if("Polygon"===l.type||"MultiPolygon"===l.type){var u={type:"Feature",id:r,geometry:l,properties:{}};u.properties.ct=function(t){var e,r=t.geometry;if("MultiPolygon"===r.type)for(var n=r.coordinates,i=0,s=0;s<n.length;s++){var l={type:"Polygon",coordinates:n[s]},c=a.default(l);c>i&&(i=c,e=l)}else e=r;return o.default(e).geometry.coordinates}(u),n.fIn=t,n.fOut=u,s.push(u)}else c.log(["Location",n.loc,"does not have a valid GeoJSON geometry.","Traces with locationmode *geojson-id* only support","*Polygon* and *MultiPolygon* geometries."].join(" "))}delete i[r]}switch(r.type){case"FeatureCollection":var h=r.features;for(n=0;n<h.length;n++)u(h[n]);break;case"Feature":u(r);break;default:return c.warn(["Invalid GeoJSON type",(r.type||"none")+".","Traces with locationmode *geojson-id* only support","*FeatureCollection* and *Feature* types."].join(" ")),!1}for(var p in i)c.log(["Location *"+p+"*","does not have a matching feature with id-key","*"+e.featureidkey+"*."].join(" "));return s},fetchTraceGeoData:function(t){var e=window.PlotlyGeoAssets||{},r=[];function i(t){return new Promise((function(r,i){n.json(t,(function(n,a){if(n){delete e[t];var o=404===n.status?'GeoJSON at URL "'+t+'" does not exist.':"Unexpected error while fetching from "+t;return i(new Error(o))}return e[t]=a,r(a)}))}))}function a(t){return new Promise((function(r,n){var i=0,a=setInterval((function(){return e[t]&&"pending"!==e[t]?(clearInterval(a),r(e[t])):i>100?(clearInterval(a),n("Unexpected error while fetching from "+t)):void i++}),50)}))}for(var o=0;o<t.length;o++){var s=t[o][0].trace.geojson;"string"==typeof s&&(e[s]?"pending"===e[s]&&r.push(a(s)):(e[s]="pending",r.push(i(s))))}return r},computeBbox:function(t){return s.default(t)}}},{"./identity":776,"./is_plain_object":779,"./loggers":782,"./nested_property":786,"./polygon":790,"@turf/area":59,"@turf/bbox":60,"@turf/centroid":61,"country-regex":139,d3:169}],772:[function(t,e,r){"use strict";var n=t("../constants/numerical").BADNUM;r.calcTraceToLineCoords=function(t){for(var e=t[0].trace.connectgaps,r=[],i=[],a=0;a<t.length;a++){var o=t[a].lonlat;o[0]!==n?i.push(o):!e&&i.length>0&&(r.push(i),i=[])}return i.length>0&&r.push(i),r},r.makeLine=function(t){return 1===t.length?{type:"LineString",coordinates:t[0]}:{type:"MultiLineString",coordinates:t}},r.makePolygon=function(t){if(1===t.length)return{type:"Polygon",coordinates:t};for(var e=new Array(t.length),r=0;r<t.length;r++)e[r]=[t[r]];return{type:"MultiPolygon",coordinates:e}},r.makeBlank=function(){return{type:"Point",coordinates:[]}}},{"../constants/numerical":753}],773:[function(t,e,r){"use strict";var n,i,a,o=t("./mod").mod;function s(t,e,r,n,i,a,o,s){var l=r-t,c=i-t,u=o-i,f=n-e,h=a-e,p=s-a,d=l*p-u*f;if(0===d)return null;var g=(c*p-u*h)/d,m=(c*f-l*h)/d;return m<0||m>1||g<0||g>1?null:{x:t+l*g,y:e+f*g}}function l(t,e,r,n,i){var a=n*t+i*e;if(a<0)return n*n+i*i;if(a>r){var o=n-t,s=i-e;return o*o+s*s}var l=n*e-i*t;return l*l/r}r.segmentsIntersect=s,r.segmentDistance=function(t,e,r,n,i,a,o,c){if(s(t,e,r,n,i,a,o,c))return 0;var u=r-t,f=n-e,h=o-i,p=c-a,d=u*u+f*f,g=h*h+p*p,m=Math.min(l(u,f,d,i-t,a-e),l(u,f,d,o-t,c-e),l(h,p,g,t-i,e-a),l(h,p,g,r-i,n-a));return Math.sqrt(m)},r.getTextLocation=function(t,e,r,s){if(t===i&&s===a||(n={},i=t,a=s),n[r])return n[r];var l=t.getPointAtLength(o(r-s/2,e)),c=t.getPointAtLength(o(r+s/2,e)),u=Math.atan((c.y-l.y)/(c.x-l.x)),f=t.getPointAtLength(o(r,e)),h={x:(4*f.x+l.x+c.x)/6,y:(4*f.y+l.y+c.y)/6,theta:u};return n[r]=h,h},r.clearLocationCache=function(){i=null},r.getVisibleSegment=function(t,e,r){var n,i,a=e.left,o=e.right,s=e.top,l=e.bottom,c=0,u=t.getTotalLength(),f=u;function h(e){var r=t.getPointAtLength(e);0===e?n=r:e===u&&(i=r);var c=r.x<a?a-r.x:r.x>o?r.x-o:0,f=r.y<s?s-r.y:r.y>l?r.y-l:0;return Math.sqrt(c*c+f*f)}for(var p=h(c);p;){if((c+=p+r)>f)return;p=h(c)}for(p=h(f);p;){if(c>(f-=p+r))return;p=h(f)}return{min:c,max:f,len:f-c,total:u,isClosed:0===c&&f===u&&Math.abs(n.x-i.x)<.1&&Math.abs(n.y-i.y)<.1}},r.findPointOnPath=function(t,e,r,n){for(var i,a,o,s=(n=n||{}).pathLength||t.getTotalLength(),l=n.tolerance||.001,c=n.iterationLimit||30,u=t.getPointAtLength(0)[r]>t.getPointAtLength(s)[r]?-1:1,f=0,h=0,p=s;f<c;){if(i=(h+p)/2,o=(a=t.getPointAtLength(i))[r]-e,Math.abs(o)<l)return a;u*o>0?p=i:h=i,f++}return a}},{"./mod":785}],774:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("tinycolor2"),a=t("color-normalize"),o=t("../components/colorscale"),s=t("../components/color/attributes").defaultLine,l=t("./array").isArrayOrTypedArray,c=a(s);function u(t,e){var r=t;return r[3]*=e,r}function f(t){if(n(t))return c;var e=a(t);return e.length?e:c}function h(t){return n(t)?t:1}e.exports={formatColor:function(t,e,r){var n,i,s,p,d,g=t.color,m=l(g),v=l(e),y=o.extractOpts(t),x=[];if(n=void 0!==y.colorscale?o.makeColorScaleFuncFromTrace(t):f,i=m?function(t,e){return void 0===t[e]?c:a(n(t[e]))}:f,s=v?function(t,e){return void 0===t[e]?1:h(t[e])}:h,m||v)for(var b=0;b<r;b++)p=i(g,b),d=s(e,b),x[b]=u(p,d);else x=u(a(g),e);return x},parseColorScale:function(t){var e=o.extractOpts(t),r=e.colorscale;return e.reversescale&&(r=o.flipScale(e.colorscale)),r.map((function(t){var e=t[0],r=i(t[1]).toRgb();return{index:e,rgb:[r.r,r.g,r.b,r.a]}}))}}},{"../components/color/attributes":642,"../components/colorscale":655,"./array":760,"color-normalize":125,"fast-isnumeric":241,tinycolor2:576}],775:[function(t,e,r){"use strict";var n=t("./identity");function i(t){return[t]}e.exports={keyFun:function(t){return t.key},repeat:i,descend:n,wrap:i,unwrap:function(t){return t[0]}}},{"./identity":776}],776:[function(t,e,r){"use strict";e.exports=function(t){return t}},{}],777:[function(t,e,r){"use strict";e.exports=function(t,e){if(!e)return t;var r=1/Math.abs(e),n=r>1?(r*t+r*e)/r:t+e,i=String(n).length;if(i>16){var a=String(e).length;if(i>=String(t).length+a){var o=parseFloat(n).toPrecision(12);-1===o.indexOf("e+")&&(n=+o)}}return n}},{}],778:[function(t,e,r){"use strict";var n=t("d3"),i=t("d3-time-format").utcFormat,a=t("fast-isnumeric"),o=t("../constants/numerical"),s=o.FP_SAFE,l=o.BADNUM,c=e.exports={};c.nestedProperty=t("./nested_property"),c.keyedContainer=t("./keyed_container"),c.relativeAttr=t("./relative_attr"),c.isPlainObject=t("./is_plain_object"),c.toLogRange=t("./to_log_range"),c.relinkPrivateKeys=t("./relink_private");var u=t("./array");c.isTypedArray=u.isTypedArray,c.isArrayOrTypedArray=u.isArrayOrTypedArray,c.isArray1D=u.isArray1D,c.ensureArray=u.ensureArray,c.concat=u.concat,c.maxRowLength=u.maxRowLength,c.minRowLength=u.minRowLength;var f=t("./mod");c.mod=f.mod,c.modHalf=f.modHalf;var h=t("./coerce");c.valObjectMeta=h.valObjectMeta,c.coerce=h.coerce,c.coerce2=h.coerce2,c.coerceFont=h.coerceFont,c.coerceHoverinfo=h.coerceHoverinfo,c.coerceSelectionMarkerOpacity=h.coerceSelectionMarkerOpacity,c.validate=h.validate;var p=t("./dates");c.dateTime2ms=p.dateTime2ms,c.isDateTime=p.isDateTime,c.ms2DateTime=p.ms2DateTime,c.ms2DateTimeLocal=p.ms2DateTimeLocal,c.cleanDate=p.cleanDate,c.isJSDate=p.isJSDate,c.formatDate=p.formatDate,c.incrementMonth=p.incrementMonth,c.dateTick0=p.dateTick0,c.dfltRange=p.dfltRange,c.findExactDates=p.findExactDates,c.MIN_MS=p.MIN_MS,c.MAX_MS=p.MAX_MS;var d=t("./search");c.findBin=d.findBin,c.sorterAsc=d.sorterAsc,c.sorterDes=d.sorterDes,c.distinctVals=d.distinctVals,c.roundUp=d.roundUp,c.sort=d.sort,c.findIndexOfMin=d.findIndexOfMin;var g=t("./stats");c.aggNums=g.aggNums,c.len=g.len,c.mean=g.mean,c.median=g.median,c.midRange=g.midRange,c.variance=g.variance,c.stdev=g.stdev,c.interp=g.interp;var m=t("./matrix");c.init2dArray=m.init2dArray,c.transposeRagged=m.transposeRagged,c.dot=m.dot,c.translationMatrix=m.translationMatrix,c.rotationMatrix=m.rotationMatrix,c.rotationXYMatrix=m.rotationXYMatrix,c.apply3DTransform=m.apply3DTransform,c.apply2DTransform=m.apply2DTransform,c.apply2DTransform2=m.apply2DTransform2,c.convertCssMatrix=m.convertCssMatrix,c.inverseTransformMatrix=m.inverseTransformMatrix;var v=t("./angles");c.deg2rad=v.deg2rad,c.rad2deg=v.rad2deg,c.angleDelta=v.angleDelta,c.angleDist=v.angleDist,c.isFullCircle=v.isFullCircle,c.isAngleInsideSector=v.isAngleInsideSector,c.isPtInsideSector=v.isPtInsideSector,c.pathArc=v.pathArc,c.pathSector=v.pathSector,c.pathAnnulus=v.pathAnnulus;var y=t("./anchor_utils");c.isLeftAnchor=y.isLeftAnchor,c.isCenterAnchor=y.isCenterAnchor,c.isRightAnchor=y.isRightAnchor,c.isTopAnchor=y.isTopAnchor,c.isMiddleAnchor=y.isMiddleAnchor,c.isBottomAnchor=y.isBottomAnchor;var x=t("./geometry2d");c.segmentsIntersect=x.segmentsIntersect,c.segmentDistance=x.segmentDistance,c.getTextLocation=x.getTextLocation,c.clearLocationCache=x.clearLocationCache,c.getVisibleSegment=x.getVisibleSegment,c.findPointOnPath=x.findPointOnPath;var b=t("./extend");c.extendFlat=b.extendFlat,c.extendDeep=b.extendDeep,c.extendDeepAll=b.extendDeepAll,c.extendDeepNoArrays=b.extendDeepNoArrays;var _=t("./loggers");c.log=_.log,c.warn=_.warn,c.error=_.error;var w=t("./regex");c.counterRegex=w.counter;var T=t("./throttle");c.throttle=T.throttle,c.throttleDone=T.done,c.clearThrottle=T.clear;var k=t("./dom");function M(t){var e={};for(var r in t)for(var n=t[r],i=0;i<n.length;i++)e[n[i]]=+r;return e}c.getGraphDiv=k.getGraphDiv,c.isPlotDiv=k.isPlotDiv,c.removeElement=k.removeElement,c.addStyleRule=k.addStyleRule,c.addRelatedStyleRule=k.addRelatedStyleRule,c.deleteRelatedStyleRule=k.deleteRelatedStyleRule,c.getFullTransformMatrix=k.getFullTransformMatrix,c.getElementTransformMatrix=k.getElementTransformMatrix,c.getElementAndAncestors=k.getElementAndAncestors,c.equalDomRects=k.equalDomRects,c.clearResponsive=t("./clear_responsive"),c.preserveDrawingBuffer=t("./preserve_drawing_buffer"),c.makeTraceGroups=t("./make_trace_groups"),c._=t("./localize"),c.notifier=t("./notifier"),c.filterUnique=t("./filter_unique"),c.filterVisible=t("./filter_visible"),c.pushUnique=t("./push_unique"),c.increment=t("./increment"),c.cleanNumber=t("./clean_number"),c.ensureNumber=function(t){return a(t)?(t=Number(t))<-s||t>s?l:a(t)?Number(t):l:l},c.isIndex=function(t,e){return!(void 0!==e&&t>=e)&&(a(t)&&t>=0&&t%1==0)},c.noop=t("./noop"),c.identity=t("./identity"),c.repeat=function(t,e){for(var r=new Array(e),n=0;n<e;n++)r[n]=t;return r},c.swapAttrs=function(t,e,r,n){r||(r="x"),n||(n="y");for(var i=0;i<e.length;i++){var a=e[i],o=c.nestedProperty(t,a.replace("?",r)),s=c.nestedProperty(t,a.replace("?",n)),l=o.get();o.set(s.get()),s.set(l)}},c.raiseToTop=function(t){t.parentNode.appendChild(t)},c.cancelTransition=function(t){return t.transition().duration(0)},c.constrain=function(t,e,r){return e>r?Math.max(r,Math.min(e,t)):Math.max(e,Math.min(r,t))},c.bBoxIntersect=function(t,e,r){return r=r||0,t.left<=e.right+r&&e.left<=t.right+r&&t.top<=e.bottom+r&&e.top<=t.bottom+r},c.simpleMap=function(t,e,r,n,i){for(var a=t.length,o=new Array(a),s=0;s<a;s++)o[s]=e(t[s],r,n,i);return o},c.randstr=function t(e,r,n,i){if(n||(n=16),void 0===r&&(r=24),r<=0)return"0";var a,o,s=Math.log(Math.pow(2,r))/Math.log(n),l="";for(a=2;s===1/0;a*=2)s=Math.log(Math.pow(2,r/a))/Math.log(n)*a;var u=s-Math.floor(s);for(a=0;a<Math.floor(s);a++)l=Math.floor(Math.random()*n).toString(n)+l;u&&(o=Math.pow(n,u),l=Math.floor(Math.random()*o).toString(n)+l);var f=parseInt(l,n);return e&&e[l]||f!==1/0&&f>=Math.pow(2,r)?i>10?(c.warn("randstr failed uniqueness"),l):t(e,r,n,(i||0)+1):l},c.OptionControl=function(t,e){t||(t={}),e||(e="opt");var r={optionList:[],_newoption:function(n){n[e]=t,r[n.name]=n,r.optionList.push(n)}};return r["_"+e]=t,r},c.smooth=function(t,e){if((e=Math.round(e)||0)<2)return t;var r,n,i,a,o=t.length,s=2*o,l=2*e-1,c=new Array(l),u=new Array(o);for(r=0;r<l;r++)c[r]=(1-Math.cos(Math.PI*(r+1)/e))/(2*e);for(r=0;r<o;r++){for(a=0,n=0;n<l;n++)(i=r+n+1-e)<-o?i-=s*Math.round(i/s):i>=s&&(i-=s*Math.floor(i/s)),i<0?i=-1-i:i>=o&&(i=s-1-i),a+=t[i]*c[n];u[r]=a}return u},c.syncOrAsync=function(t,e,r){var n;function i(){return c.syncOrAsync(t,e,r)}for(;t.length;)if((n=(0,t.splice(0,1)[0])(e))&&n.then)return n.then(i).then(void 0,c.promiseError);return r&&r(e)},c.stripTrailingSlash=function(t){return"/"===t.substr(-1)?t.substr(0,t.length-1):t},c.noneOrAll=function(t,e,r){if(t){var n,i=!1,a=!0;for(n=0;n<r.length;n++)null!=t[r[n]]?i=!0:a=!1;if(i&&!a)for(n=0;n<r.length;n++)t[r[n]]=e[r[n]]}},c.mergeArray=function(t,e,r,n){var i="function"==typeof n;if(c.isArrayOrTypedArray(t))for(var a=Math.min(t.length,e.length),o=0;o<a;o++){var s=t[o];e[o][r]=i?n(s):s}},c.mergeArrayCastPositive=function(t,e,r){return c.mergeArray(t,e,r,(function(t){var e=+t;return isFinite(e)&&e>0?e:0}))},c.fillArray=function(t,e,r,n){if(n=n||c.identity,c.isArrayOrTypedArray(t))for(var i=0;i<e.length;i++)e[i][r]=n(t[i])},c.castOption=function(t,e,r,n){n=n||c.identity;var i=c.nestedProperty(t,r).get();return c.isArrayOrTypedArray(i)?Array.isArray(e)&&c.isArrayOrTypedArray(i[e[0]])?n(i[e[0]][e[1]]):n(i[e]):i},c.extractOption=function(t,e,r,n){if(r in t)return t[r];var i=c.nestedProperty(e,n).get();return Array.isArray(i)?void 0:i},c.tagSelected=function(t,e,r){var n,i,a=e.selectedpoints,o=e._indexToPoints;o&&(n=M(o));for(var s=0;s<a.length;s++){var l=a[s];if(c.isIndex(l)||c.isArrayOrTypedArray(l)&&c.isIndex(l[0])&&c.isIndex(l[1])){var u=n?n[l]:l,f=r?r[u]:u;void 0!==(i=f)&&i<t.length&&(t[f].selected=1)}}},c.selIndices2selPoints=function(t){var e=t.selectedpoints,r=t._indexToPoints;if(r){for(var n=M(r),i=[],a=0;a<e.length;a++){var o=e[a];if(c.isIndex(o)){var s=n[o];c.isIndex(s)&&i.push(s)}}return i}return e},c.getTargetArray=function(t,e){var r=e.target;if("string"==typeof r&&r){var n=c.nestedProperty(t,r).get();return!!Array.isArray(n)&&n}return!!Array.isArray(r)&&r},c.minExtend=function(t,e){var r={};"object"!=typeof e&&(e={});var n,i,a,o=Object.keys(t);for(n=0;n<o.length;n++)a=t[i=o[n]],"_"!==i.charAt(0)&&"function"!=typeof a&&("module"===i?r[i]=a:Array.isArray(a)?r[i]="colorscale"===i?a.slice():a.slice(0,3):c.isTypedArray(a)?r[i]=a.subarray(0,3):r[i]=a&&"object"==typeof a?c.minExtend(t[i],e[i]):a);for(o=Object.keys(e),n=0;n<o.length;n++)"object"==typeof(a=e[i=o[n]])&&i in r&&"object"==typeof r[i]||(r[i]=a);return r},c.titleCase=function(t){return t.charAt(0).toUpperCase()+t.substr(1)},c.containsAny=function(t,e){for(var r=0;r<e.length;r++)if(-1!==t.indexOf(e[r]))return!0;return!1},c.isIE=function(){return"undefined"!=typeof window.navigator.msSaveBlob};var A=/MSIE [1-9]\./;c.isIE9orBelow=function(){return c.isIE()&&A.test(window.navigator.userAgent)};var S=/Version\/[\d\.]+.*Safari/;c.isSafari=function(){return S.test(window.navigator.userAgent)};var E=/iPad|iPhone|iPod/;c.isIOS=function(){return E.test(window.navigator.userAgent)},c.isD3Selection=function(t){return t&&"function"==typeof t.classed},c.ensureSingle=function(t,e,r,n){var i=t.select(e+(r?"."+r:""));if(i.size())return i;var a=t.append(e);return r&&a.classed(r,!0),n&&a.call(n),a},c.ensureSingleById=function(t,e,r,n){var i=t.select(e+"#"+r);if(i.size())return i;var a=t.append(e).attr("id",r);return n&&a.call(n),a},c.objectFromPath=function(t,e){for(var r,n=t.split("."),i=r={},a=0;a<n.length;a++){var o=n[a],s=null,l=n[a].match(/(.*)\[([0-9]+)\]/);l?(o=l[1],s=l[2],r=r[o]=[],a===n.length-1?r[s]=e:r[s]={},r=r[s]):(a===n.length-1?r[o]=e:r[o]={},r=r[o])}return i};var C=/^([^\[\.]+)\.(.+)?/,L=/^([^\.]+)\[([0-9]+)\](\.)?(.+)?/;c.expandObjectPaths=function(t){var e,r,n,i,a,o,s;if("object"==typeof t&&!Array.isArray(t))for(r in t)t.hasOwnProperty(r)&&((e=r.match(C))?(i=t[r],n=e[1],delete t[r],t[n]=c.extendDeepNoArrays(t[n]||{},c.objectFromPath(r,c.expandObjectPaths(i))[n])):(e=r.match(L))?(i=t[r],n=e[1],a=parseInt(e[2]),delete t[r],t[n]=t[n]||[],"."===e[3]?(s=e[4],o=t[n][a]=t[n][a]||{},c.extendDeepNoArrays(o,c.objectFromPath(s,c.expandObjectPaths(i)))):t[n][a]=c.expandObjectPaths(i)):t[r]=c.expandObjectPaths(t[r]));return t},c.numSeparate=function(t,e,r){if(r||(r=!1),"string"!=typeof e||0===e.length)throw new Error("Separator string required for formatting!");"number"==typeof t&&(t=String(t));var n=/(\d+)(\d{3})/,i=e.charAt(0),a=e.charAt(1),o=t.split("."),s=o[0],l=o.length>1?i+o[1]:"";if(a&&(o.length>1||s.length>4||r))for(;n.test(s);)s=s.replace(n,"$1"+a+"$2");return s+l},c.TEMPLATE_STRING_REGEX=/%{([^\s%{}:]*)([:|\|][^}]*)?}/g;var I=/^\w*$/;c.templateString=function(t,e){var r={};return t.replace(c.TEMPLATE_STRING_REGEX,(function(t,n){var i;return I.test(n)?i=e[n]:(r[n]=r[n]||c.nestedProperty(e,n).get,i=r[n]()),c.isValidTextValue(i)?i:""}))};var P={max:10,count:0,name:"hovertemplate"};c.hovertemplateString=function(){return D.apply(P,arguments)};var z={max:10,count:0,name:"texttemplate"};c.texttemplateString=function(){return D.apply(z,arguments)};var O=/^[:|\|]/;function D(t,e,r){var a=this,o=arguments;e||(e={});var s={};return t.replace(c.TEMPLATE_STRING_REGEX,(function(t,l,u){var f,h,p,d;for(p=3;p<o.length;p++)if(f=o[p]){if(f.hasOwnProperty(l)){h=f[l];break}if(I.test(l)||(h=s[l]||c.nestedProperty(f,l).get())&&(s[l]=h),void 0!==h)break}if(void 0===h&&a)return a.count<a.max&&(c.warn("Variable '"+l+"' in "+a.name+" could not be found!"),h=t),a.count===a.max&&c.warn("Too many "+a.name+" warnings - additional warnings will be suppressed"),a.count++,t;if(u){if(":"===u[0]&&(h=(d=r?r.numberFormat:n.format)(u.replace(O,""))(h)),"|"===u[0]){d=r?r.timeFormat:i;var g=c.dateTime2ms(h);h=c.formatDate(g,u.replace(O,""),!1,d)}}else e.hasOwnProperty(l+"Label")&&(h=e[l+"Label"]);return h}))}c.subplotSort=function(t,e){for(var r=Math.min(t.length,e.length)+1,n=0,i=0,a=0;a<r;a++){var o=t.charCodeAt(a)||0,s=e.charCodeAt(a)||0,l=o>=48&&o<=57,c=s>=48&&s<=57;if(l&&(n=10*n+o-48),c&&(i=10*i+s-48),!l||!c){if(n!==i)return n-i;if(o!==s)return o-s}}return i-n};var R=2e9;c.seedPseudoRandom=function(){R=2e9},c.pseudoRandom=function(){var t=R;return R=(69069*R+1)%4294967296,Math.abs(R-t)<429496729?c.pseudoRandom():R/4294967296},c.fillText=function(t,e,r){var n=Array.isArray(r)?function(t){r.push(t)}:function(t){r.text=t},i=c.extractOption(t,e,"htx","hovertext");if(c.isValidTextValue(i))return n(i);var a=c.extractOption(t,e,"tx","text");return c.isValidTextValue(a)?n(a):void 0},c.isValidTextValue=function(t){return t||0===t},c.formatPercent=function(t,e){e=e||0;for(var r=(Math.round(100*t*Math.pow(10,e))*Math.pow(.1,e)).toFixed(e)+"%",n=0;n<e;n++)-1!==r.indexOf(".")&&(r=(r=r.replace("0%","%")).replace(".%","%"));return r},c.isHidden=function(t){var e=window.getComputedStyle(t).display;return!e||"none"===e},c.strTranslate=function(t,e){return t||e?"translate("+t+","+e+")":""},c.strRotate=function(t){return t?"rotate("+t+")":""},c.strScale=function(t){return 1!==t?"scale("+t+")":""},c.getTextTransform=function(t){var e=t.noCenter,r=t.textX,n=t.textY,i=t.targetX,a=t.targetY,o=t.anchorX||0,s=t.anchorY||0,l=t.rotate,u=t.scale;return u?u>1&&(u=1):u=0,c.strTranslate(i-u*(r+o),a-u*(n+s))+c.strScale(u)+(l?"rotate("+l+(e?"":" "+r+" "+n)+")":"")},c.ensureUniformFontSize=function(t,e){var r=c.extendFlat({},e);return r.size=Math.max(e.size,t._fullLayout.uniformtext.minsize||0),r},c.join2=function(t,e,r){var n=t.length;return n>1?t.slice(0,-1).join(e)+r+t[n-1]:t.join(e)}},{"../constants/numerical":753,"./anchor_utils":758,"./angles":759,"./array":760,"./clean_number":761,"./clear_responsive":763,"./coerce":764,"./dates":765,"./dom":766,"./extend":768,"./filter_unique":769,"./filter_visible":770,"./geometry2d":773,"./identity":776,"./increment":777,"./is_plain_object":779,"./keyed_container":780,"./localize":781,"./loggers":782,"./make_trace_groups":783,"./matrix":784,"./mod":785,"./nested_property":786,"./noop":787,"./notifier":788,"./preserve_drawing_buffer":792,"./push_unique":793,"./regex":795,"./relative_attr":796,"./relink_private":797,"./search":798,"./stats":801,"./throttle":804,"./to_log_range":805,d3:169,"d3-time-format":166,"fast-isnumeric":241}],779:[function(t,e,r){"use strict";e.exports=function(t){return window&&window.process&&window.process.versions?"[object Object]"===Object.prototype.toString.call(t):"[object Object]"===Object.prototype.toString.call(t)&&Object.getPrototypeOf(t)===Object.prototype}},{}],780:[function(t,e,r){"use strict";var n=t("./nested_property"),i=/^\w*$/;e.exports=function(t,e,r,a){var o,s,l;r=r||"name",a=a||"value";var c={};e&&e.length?(l=n(t,e),s=l.get()):s=t,e=e||"";var u={};if(s)for(o=0;o<s.length;o++)u[s[o][r]]=o;var f=i.test(a),h={set:function(t,e){var i=null===e?4:0;if(!s){if(!l||4===i)return;s=[],l.set(s)}var o=u[t];if(void 0===o){if(4===i)return;i|=3,o=s.length,u[t]=o}else e!==(f?s[o][a]:n(s[o],a).get())&&(i|=2);var p=s[o]=s[o]||{};return p[r]=t,f?p[a]=e:n(p,a).set(e),null!==e&&(i&=-5),c[o]=c[o]|i,h},get:function(t){if(s){var e=u[t];return void 0===e?void 0:f?s[e][a]:n(s[e],a).get()}},rename:function(t,e){var n=u[t];return void 0===n||(c[n]=1|c[n],u[e]=n,delete u[t],s[n][r]=e),h},remove:function(t){var e=u[t];if(void 0===e)return h;var i=s[e];if(Object.keys(i).length>2)return c[e]=2|c[e],h.set(t,null);if(f){for(o=e;o<s.length;o++)c[o]=3|c[o];for(o=e;o<s.length;o++)u[s[o][r]]--;s.splice(e,1),delete u[t]}else n(i,a).set(null),c[e]=6|c[e];return h},constructUpdate:function(){for(var t,i,o={},l=Object.keys(c),u=0;u<l.length;u++)i=l[u],t=e+"["+i+"]",s[i]?(1&c[i]&&(o[t+"."+r]=s[i][r]),2&c[i]&&(o[t+"."+a]=f?4&c[i]?null:s[i][a]:4&c[i]?null:n(s[i],a).get())):o[t]=null;return o}};return h}},{"./nested_property":786}],781:[function(t,e,r){"use strict";var n=t("../registry");e.exports=function(t,e){for(var r=t._context.locale,i=0;i<2;i++){for(var a=t._context.locales,o=0;o<2;o++){var s=(a[r]||{}).dictionary;if(s){var l=s[e];if(l)return l}a=n.localeRegistry}var c=r.split("-")[0];if(c===r)break;r=c}return e}},{"../registry":911}],782:[function(t,e,r){"use strict";var n=t("../plot_api/plot_config").dfltConfig,i=t("./notifier"),a=e.exports={};function o(t,e){if(t&&t.apply)try{return void t.apply(console,e)}catch(t){}for(var r=0;r<e.length;r++)try{t(e[r])}catch(t){console.log(e[r])}}a.log=function(){var t;if(n.logging>1){var e=["LOG:"];for(t=0;t<arguments.length;t++)e.push(arguments[t]);o(console.trace||console.log,e)}if(n.notifyOnLogging>1){var r=[];for(t=0;t<arguments.length;t++)r.push(arguments[t]);i(r.join("<br>"),"long")}},a.warn=function(){var t;if(n.logging>0){var e=["WARN:"];for(t=0;t<arguments.length;t++)e.push(arguments[t]);o(console.trace||console.log,e)}if(n.notifyOnLogging>0){var r=[];for(t=0;t<arguments.length;t++)r.push(arguments[t]);i(r.join("<br>"),"stick")}},a.error=function(){var t;if(n.logging>0){var e=["ERROR:"];for(t=0;t<arguments.length;t++)e.push(arguments[t]);o(console.error,e)}if(n.notifyOnLogging>0){var r=[];for(t=0;t<arguments.length;t++)r.push(arguments[t]);i(r.join("<br>"),"stick")}}},{"../plot_api/plot_config":815,"./notifier":788}],783:[function(t,e,r){"use strict";var n=t("d3");e.exports=function(t,e,r){var i=t.selectAll("g."+r.replace(/\s/g,".")).data(e,(function(t){return t[0].trace.uid}));i.exit().remove(),i.enter().append("g").attr("class",r),i.order();var a=t.classed("rangeplot")?"nodeRangePlot3":"node3";return i.each((function(t){t[0][a]=n.select(this)})),i}},{d3:169}],784:[function(t,e,r){"use strict";var n=t("gl-mat4");r.init2dArray=function(t,e){for(var r=new Array(t),n=0;n<t;n++)r[n]=new Array(e);return r},r.transposeRagged=function(t){var e,r,n=0,i=t.length;for(e=0;e<i;e++)n=Math.max(n,t[e].length);var a=new Array(n);for(e=0;e<n;e++)for(a[e]=new Array(i),r=0;r<i;r++)a[e][r]=t[r][e];return a},r.dot=function(t,e){if(!t.length||!e.length||t.length!==e.length)return null;var n,i,a=t.length;if(t[0].length)for(n=new Array(a),i=0;i<a;i++)n[i]=r.dot(t[i],e);else if(e[0].length){var o=r.transposeRagged(e);for(n=new Array(o.length),i=0;i<o.length;i++)n[i]=r.dot(t,o[i])}else for(n=0,i=0;i<a;i++)n+=t[i]*e[i];return n},r.translationMatrix=function(t,e){return[[1,0,t],[0,1,e],[0,0,1]]},r.rotationMatrix=function(t){var e=t*Math.PI/180;return[[Math.cos(e),-Math.sin(e),0],[Math.sin(e),Math.cos(e),0],[0,0,1]]},r.rotationXYMatrix=function(t,e,n){return r.dot(r.dot(r.translationMatrix(e,n),r.rotationMatrix(t)),r.translationMatrix(-e,-n))},r.apply3DTransform=function(t){return function(){var e=arguments,n=1===arguments.length?e[0]:[e[0],e[1],e[2]||0];return r.dot(t,[n[0],n[1],n[2],1]).slice(0,3)}},r.apply2DTransform=function(t){return function(){var e=arguments;3===e.length&&(e=e[0]);var n=1===arguments.length?e[0]:[e[0],e[1]];return r.dot(t,[n[0],n[1],1]).slice(0,2)}},r.apply2DTransform2=function(t){var e=r.apply2DTransform(t);return function(t){return e(t.slice(0,2)).concat(e(t.slice(2,4)))}},r.convertCssMatrix=function(t){if(t){var e=t.length;if(16===e)return t;if(6===e)return[t[0],t[1],0,0,t[2],t[3],0,0,0,0,1,0,t[4],t[5],0,1]}return[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},r.inverseTransformMatrix=function(t){var e=[];return n.invert(e,t),[[e[0],e[1],e[2],e[3]],[e[4],e[5],e[6],e[7]],[e[8],e[9],e[10],e[11]],[e[12],e[13],e[14],e[15]]]}},{"gl-mat4":292}],785:[function(t,e,r){"use strict";e.exports={mod:function(t,e){var r=t%e;return r<0?r+e:r},modHalf:function(t,e){return Math.abs(t)>e/2?t-Math.round(t/e)*e:t}}},{}],786:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("./array").isArrayOrTypedArray;function a(t,e){return function(){var r,n,o,s,l,c=t;for(s=0;s<e.length-1;s++){if(-1===(r=e[s])){for(n=!0,o=[],l=0;l<c.length;l++)o[l]=a(c[l],e.slice(s+1))(),o[l]!==o[0]&&(n=!1);return n?o[0]:o}if("number"==typeof r&&!i(c))return;if("object"!=typeof(c=c[r])||null===c)return}if("object"==typeof c&&null!==c&&null!==(o=c[e[s]]))return o}}e.exports=function(t,e){if(n(e))e=String(e);else if("string"!=typeof e||"[-1]"===e.substr(e.length-4))throw"bad property string";for(var r,i,o,s=0,c=e.split(".");s<c.length;){if(r=String(c[s]).match(/^([^\[\]]*)((\[\-?[0-9]*\])+)$/)){if(r[1])c[s]=r[1];else{if(0!==s)throw"bad property string";c.splice(0,1)}for(i=r[2].substr(1,r[2].length-2).split("]["),o=0;o<i.length;o++)s++,c.splice(s,0,Number(i[o]))}s++}return"object"!=typeof t?function(t,e,r){return{set:function(){throw"bad container"},get:function(){},astr:e,parts:r,obj:t}}(t,e,c):{set:l(t,c,e),get:a(t,c),astr:e,parts:c,obj:t}};var o=/(^|\.)args\[/;function s(t,e){return void 0===t||null===t&&!e.match(o)}function l(t,e,r){return function(n){var a,o,l=t,h="",p=[[t,h]],d=s(n,r);for(o=0;o<e.length-1;o++){if("number"==typeof(a=e[o])&&!i(l))throw"array index but container is not an array";if(-1===a){if(d=!u(l,e.slice(o+1),n,r))break;return}if(!f(l,a,e[o+1],d))break;if("object"!=typeof(l=l[a])||null===l)throw"container is not an object";h=c(h,a),p.push([l,h])}if(d){if(o===e.length-1&&(delete l[e[o]],Array.isArray(l)&&+e[o]==l.length-1))for(;l.length&&void 0===l[l.length-1];)l.pop()}else l[e[o]]=n}}function c(t,e){var r=e;return n(e)?r="["+e+"]":t&&(r="."+e),t+r}function u(t,e,r,n){var a,o=i(r),c=!0,u=r,h=n.replace("-1",0),p=!o&&s(r,h),d=e[0];for(a=0;a<t.length;a++)h=n.replace("-1",a),o&&(p=s(u=r[a%r.length],h)),p&&(c=!1),f(t,a,d,p)&&l(t[a],e,n.replace("-1",a))(u);return c}function f(t,e,r,n){if(void 0===t[e]){if(n)return!1;t[e]="number"==typeof r?[]:{}}return!0}},{"./array":760,"fast-isnumeric":241}],787:[function(t,e,r){"use strict";e.exports=function(){}},{}],788:[function(t,e,r){"use strict";var n=t("d3"),i=t("fast-isnumeric"),a=[];e.exports=function(t,e){if(-1===a.indexOf(t)){a.push(t);var r=1e3;i(e)?r=e:"long"===e&&(r=3e3);var o=n.select("body").selectAll(".plotly-notifier").data([0]);o.enter().append("div").classed("plotly-notifier",!0),o.selectAll(".notifier-note").data(a).enter().append("div").classed("notifier-note",!0).style("opacity",0).each((function(t){var i=n.select(this);i.append("button").classed("notifier-close",!0).html("×").on("click",(function(){i.transition().call(s)}));for(var a=i.append("p"),o=t.split(/<br\s*\/?>/g),l=0;l<o.length;l++)l&&a.append("br"),a.append("span").text(o[l]);"stick"===e?i.transition().duration(350).style("opacity",1):i.transition().duration(700).style("opacity",1).transition().delay(r).call(s)}))}function s(t){t.duration(700).style("opacity",0).each("end",(function(t){var e=a.indexOf(t);-1!==e&&a.splice(e,1),n.select(this).remove()}))}}},{d3:169,"fast-isnumeric":241}],789:[function(t,e,r){"use strict";var n=t("./setcursor"),i="data-savedcursor";e.exports=function(t,e){var r=t.attr(i);if(e){if(!r){for(var a=(t.attr("class")||"").split(" "),o=0;o<a.length;o++){var s=a[o];0===s.indexOf("cursor-")&&t.attr(i,s.substr(7)).classed(s,!1)}t.attr(i)||t.attr(i,"!!")}n(t,e)}else r&&(t.attr(i,null),"!!"===r?n(t):n(t,r))}},{"./setcursor":799}],790:[function(t,e,r){"use strict";var n=t("./matrix").dot,i=t("../constants/numerical").BADNUM,a=e.exports={};a.tester=function(t){var e,r=t.slice(),n=r[0][0],a=n,o=r[0][1],s=o;for(r.push(r[0]),e=1;e<r.length;e++)n=Math.min(n,r[e][0]),a=Math.max(a,r[e][0]),o=Math.min(o,r[e][1]),s=Math.max(s,r[e][1]);var l,c=!1;5===r.length&&(r[0][0]===r[1][0]?r[2][0]===r[3][0]&&r[0][1]===r[3][1]&&r[1][1]===r[2][1]&&(c=!0,l=function(t){return t[0]===r[0][0]}):r[0][1]===r[1][1]&&r[2][1]===r[3][1]&&r[0][0]===r[3][0]&&r[1][0]===r[2][0]&&(c=!0,l=function(t){return t[1]===r[0][1]}));var u=!0,f=r[0];for(e=1;e<r.length;e++)if(f[0]!==r[e][0]||f[1]!==r[e][1]){u=!1;break}return{xmin:n,xmax:a,ymin:o,ymax:s,pts:r,contains:c?function(t,e){var r=t[0],c=t[1];return!(r===i||r<n||r>a||c===i||c<o||c>s)&&(!e||!l(t))}:function(t,e){var l=t[0],c=t[1];if(l===i||l<n||l>a||c===i||c<o||c>s)return!1;var u,f,h,p,d,g=r.length,m=r[0][0],v=r[0][1],y=0;for(u=1;u<g;u++)if(f=m,h=v,m=r[u][0],v=r[u][1],!(l<(p=Math.min(f,m))||l>Math.max(f,m)||c>Math.max(h,v)))if(c<Math.min(h,v))l!==p&&y++;else{if(c===(d=m===f?c:h+(l-f)*(v-h)/(m-f)))return 1!==u||!e;c<=d&&l!==p&&y++}return y%2==1},isRect:c,degenerate:u}},a.isSegmentBent=function(t,e,r,i){var a,o,s,l=t[e],c=[t[r][0]-l[0],t[r][1]-l[1]],u=n(c,c),f=Math.sqrt(u),h=[-c[1]/f,c[0]/f];for(a=e+1;a<r;a++)if(o=[t[a][0]-l[0],t[a][1]-l[1]],(s=n(o,c))<0||s>u||Math.abs(n(o,h))>i)return!0;return!1},a.filter=function(t,e){var r=[t[0]],n=0,i=0;function o(o){t.push(o);var s=r.length,l=n;r.splice(i+1);for(var c=l+1;c<t.length;c++)(c===t.length-1||a.isSegmentBent(t,l,c+1,e))&&(r.push(t[c]),r.length<s-2&&(n=c,i=r.length-1),l=c)}t.length>1&&o(t.pop());return{addPt:o,raw:t,filtered:r}}},{"../constants/numerical":753,"./matrix":784}],791:[function(t,e,r){(function(r){(function(){"use strict";var n=t("./show_no_webgl_msg"),i=t("regl");e.exports=function(t,e){var a=t._fullLayout,o=!0;return a._glcanvas.each((function(n){if(!n.regl&&(!n.pick||a._has("parcoords"))){try{n.regl=i({canvas:this,attributes:{antialias:!n.pick,preserveDrawingBuffer:!0},pixelRatio:t._context.plotGlPixelRatio||r.devicePixelRatio,extensions:e||[]})}catch(t){o=!1}n.regl||(o=!1),o&&this.addEventListener("webglcontextlost",(function(e){t&&t.emit&&t.emit("plotly_webglcontextlost",{event:e,layer:n.key})}),!1)}})),o||n({container:a._glcontainer.node()}),o}}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./show_no_webgl_msg":800,regl:540}],792:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("is-mobile");e.exports=function(t){var e;if("string"!=typeof(e=t&&t.hasOwnProperty("userAgent")?t.userAgent:function(){var t;"undefined"!=typeof navigator&&(t=navigator.userAgent);t&&t.headers&&"string"==typeof t.headers["user-agent"]&&(t=t.headers["user-agent"]);return t}()))return!0;var r=i({ua:{headers:{"user-agent":e}},tablet:!0,featureDetect:!1});if(!r)for(var a=e.split(" "),o=1;o<a.length;o++){if(-1!==a[o].indexOf("Safari"))for(var s=o-1;s>-1;s--){var l=a[s];if("Version/"===l.substr(0,8)){var c=l.substr(8).split(".")[0];if(n(c)&&(c=+c),c>=13)return!0}}}return r}},{"fast-isnumeric":241,"is-mobile":467}],793:[function(t,e,r){"use strict";e.exports=function(t,e){if(e instanceof RegExp){for(var r=e.toString(),n=0;n<t.length;n++)if(t[n]instanceof RegExp&&t[n].toString()===r)return t;t.push(e)}else!e&&0!==e||-1!==t.indexOf(e)||t.push(e);return t}},{}],794:[function(t,e,r){"use strict";var n=t("../lib"),i=t("../plot_api/plot_config").dfltConfig;var a={add:function(t,e,r,n,a){var o,s;t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},s=t.undoQueue.index,t.autoplay?t.undoQueue.inSequence||(t.autoplay=!1):(!t.undoQueue.sequence||t.undoQueue.beginSequence?(o={undo:{calls:[],args:[]},redo:{calls:[],args:[]}},t.undoQueue.queue.splice(s,t.undoQueue.queue.length-s,o),t.undoQueue.index+=1):o=t.undoQueue.queue[s-1],t.undoQueue.beginSequence=!1,o&&(o.undo.calls.unshift(e),o.undo.args.unshift(r),o.redo.calls.push(n),o.redo.args.push(a)),t.undoQueue.queue.length>i.queueLength&&(t.undoQueue.queue.shift(),t.undoQueue.index--))},startSequence:function(t){t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},t.undoQueue.sequence=!0,t.undoQueue.beginSequence=!0},stopSequence:function(t){t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},t.undoQueue.sequence=!1,t.undoQueue.beginSequence=!1},undo:function(t){var e,r;if(t.framework&&t.framework.isPolar)t.framework.undo();else if(!(void 0===t.undoQueue||isNaN(t.undoQueue.index)||t.undoQueue.index<=0)){for(t.undoQueue.index--,e=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,r=0;r<e.undo.calls.length;r++)a.plotDo(t,e.undo.calls[r],e.undo.args[r]);t.undoQueue.inSequence=!1,t.autoplay=!1}},redo:function(t){var e,r;if(t.framework&&t.framework.isPolar)t.framework.redo();else if(!(void 0===t.undoQueue||isNaN(t.undoQueue.index)||t.undoQueue.index>=t.undoQueue.queue.length)){for(e=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,r=0;r<e.redo.calls.length;r++)a.plotDo(t,e.redo.calls[r],e.redo.args[r]);t.undoQueue.inSequence=!1,t.autoplay=!1,t.undoQueue.index++}}};a.plotDo=function(t,e,r){t.autoplay=!0,r=function(t,e){for(var r,i=[],a=0;a<e.length;a++)r=e[a],i[a]=r===t?r:"object"==typeof r?Array.isArray(r)?n.extendDeep([],r):n.extendDeepAll({},r):r;return i}(t,r),e.apply(null,r)},e.exports=a},{"../lib":778,"../plot_api/plot_config":815}],795:[function(t,e,r){"use strict";r.counter=function(t,e,r,n){var i=(e||"")+(r?"":"$"),a=!1===n?"":"^";return"xy"===t?new RegExp(a+"x([2-9]|[1-9][0-9]+)?y([2-9]|[1-9][0-9]+)?"+i):new RegExp(a+t+"([2-9]|[1-9][0-9]+)?"+i)}},{}],796:[function(t,e,r){"use strict";var n=/^(.*)(\.[^\.\[\]]+|\[\d\])$/,i=/^[^\.\[\]]+$/;e.exports=function(t,e){for(;e;){var r=t.match(n);if(r)t=r[1];else{if(!t.match(i))throw new Error("bad relativeAttr call:"+[t,e]);t=""}if("^"!==e.charAt(0))break;e=e.slice(1)}return t&&"["!==e.charAt(0)?t+"."+e:t+e}},{}],797:[function(t,e,r){"use strict";var n=t("./array").isArrayOrTypedArray,i=t("./is_plain_object");e.exports=function t(e,r){for(var a in r){var o=r[a],s=e[a];if(s!==o)if("_"===a.charAt(0)||"function"==typeof o){if(a in e)continue;e[a]=o}else if(n(o)&&n(s)&&i(o[0])){if("customdata"===a||"ids"===a)continue;for(var l=Math.min(o.length,s.length),c=0;c<l;c++)s[c]!==o[c]&&i(o[c])&&i(s[c])&&t(s[c],o[c])}else i(o)&&i(s)&&(t(s,o),Object.keys(s).length||delete e[a])}}},{"./array":760,"./is_plain_object":779}],798:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("./loggers"),a=t("./identity"),o=t("../constants/numerical").BADNUM;function s(t,e){return t<e}function l(t,e){return t<=e}function c(t,e){return t>e}function u(t,e){return t>=e}r.findBin=function(t,e,r){if(n(e.start))return r?Math.ceil((t-e.start)/e.size-1e-9)-1:Math.floor((t-e.start)/e.size+1e-9);var a,o,f=0,h=e.length,p=0,d=h>1?(e[h-1]-e[0])/(h-1):1;for(o=d>=0?r?s:l:r?u:c,t+=1e-9*d*(r?-1:1)*(d>=0?1:-1);f<h&&p++<100;)o(e[a=Math.floor((f+h)/2)],t)?f=a+1:h=a;return p>90&&i.log("Long binary search..."),f-1},r.sorterAsc=function(t,e){return t-e},r.sorterDes=function(t,e){return e-t},r.distinctVals=function(t,e){var n,i=(e||{}).unitMinDiff,a=t.slice();for(a.sort(r.sorterAsc),n=a.length-1;n>-1&&a[n]===o;n--);var s=1;i||(s=a[n]-a[0]||1);for(var l,c=s/(n||1)/1e4,u=[],f=0;f<=n;f++){var h=a[f],p=h-l;void 0===l?(u.push(h),l=h):p>c&&(s=Math.min(s,p),u.push(h),l=h)}return{vals:u,minDiff:s}},r.roundUp=function(t,e,r){for(var n,i=0,a=e.length-1,o=0,s=r?0:1,l=r?1:0,c=r?Math.ceil:Math.floor;i<a&&o++<100;)e[n=c((i+a)/2)]<=t?i=n+s:a=n-l;return e[i]},r.sort=function(t,e){for(var r=0,n=0,i=1;i<t.length;i++){var a=e(t[i],t[i-1]);if(a<0?r=1:a>0&&(n=1),r&&n)return t.sort(e)}return n?t:t.reverse()},r.findIndexOfMin=function(t,e){e=e||a;for(var r,n=1/0,i=0;i<t.length;i++){var o=e(t[i]);o<n&&(n=o,r=i)}return r}},{"../constants/numerical":753,"./identity":776,"./loggers":782,"fast-isnumeric":241}],799:[function(t,e,r){"use strict";e.exports=function(t,e){(t.attr("class")||"").split(" ").forEach((function(e){0===e.indexOf("cursor-")&&t.classed(e,!1)})),e&&t.classed("cursor-"+e,!0)}},{}],800:[function(t,e,r){"use strict";var n=t("../components/color"),i=function(){};e.exports=function(t){for(var e in t)"function"==typeof t[e]&&(t[e]=i);t.destroy=function(){t.container.parentNode.removeChild(t.container)};var r=document.createElement("div");r.className="no-webgl",r.style.cursor="pointer",r.style.fontSize="24px",r.style.color=n.defaults[0],r.style.position="absolute",r.style.left=r.style.top="0px",r.style.width=r.style.height="100%",r.style["background-color"]=n.lightLine,r.style["z-index"]=30;var a=document.createElement("p");return a.textContent="WebGL is not supported by your browser - visit https://get.webgl.org for more info",a.style.position="relative",a.style.top="50%",a.style.left="50%",a.style.height="30%",a.style.width="50%",a.style.margin="-15% 0 0 -25%",r.appendChild(a),t.container.appendChild(r),t.container.style.background="#FFFFFF",t.container.onclick=function(){window.open("https://get.webgl.org")},!1}},{"../components/color":643}],801:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("./array").isArrayOrTypedArray;r.aggNums=function(t,e,a,o){var s,l;if((!o||o>a.length)&&(o=a.length),n(e)||(e=!1),i(a[0])){for(l=new Array(o),s=0;s<o;s++)l[s]=r.aggNums(t,e,a[s]);a=l}for(s=0;s<o;s++)n(e)?n(a[s])&&(e=t(+e,+a[s])):e=a[s];return e},r.len=function(t){return r.aggNums((function(t){return t+1}),0,t)},r.mean=function(t,e){return e||(e=r.len(t)),r.aggNums((function(t,e){return t+e}),0,t)/e},r.midRange=function(t){if(void 0!==t&&0!==t.length)return(r.aggNums(Math.max,null,t)+r.aggNums(Math.min,null,t))/2},r.variance=function(t,e,i){return e||(e=r.len(t)),n(i)||(i=r.mean(t,e)),r.aggNums((function(t,e){return t+Math.pow(e-i,2)}),0,t)/e},r.stdev=function(t,e,n){return Math.sqrt(r.variance(t,e,n))},r.median=function(t){var e=t.slice().sort();return r.interp(e,.5)},r.interp=function(t,e){if(!n(e))throw"n should be a finite number";if((e=e*t.length-.5)<0)return t[0];if(e>t.length-1)return t[t.length-1];var r=e%1;return r*t[Math.ceil(e)]+(1-r)*t[Math.floor(e)]}},{"./array":760,"fast-isnumeric":241}],802:[function(t,e,r){"use strict";var n=t("color-normalize");e.exports=function(t){return t?n(t):[0,0,0,1]}},{"color-normalize":125}],803:[function(t,e,r){"use strict";var n=t("d3"),i=t("../lib"),a=i.strTranslate,o=t("../constants/xmlns_namespaces"),s=t("../constants/alignment").LINE_SPACING;function l(t,e){return t.node().getBoundingClientRect()[e]}var c=/([^$]*)([$]+[^$]*[$]+)([^$]*)/;r.convertToTspans=function(t,e,A){var S=t.text(),C=!t.attr("data-notex")&&"undefined"!=typeof MathJax&&S.match(c),L=n.select(t.node().parentNode);if(!L.empty()){var I=t.attr("class")?t.attr("class").split(" ")[0]:"text";return I+="-math",L.selectAll("svg."+I).remove(),L.selectAll("g."+I+"-group").remove(),t.style("display",null).attr({"data-unformatted":S,"data-math":"N"}),C?(e&&e._promises||[]).push(new Promise((function(e){t.style("display","none");var r=parseInt(t.node().style.fontSize,10),o={fontSize:r};!function(t,e,r){var a,o,s,l;MathJax.Hub.Queue((function(){return o=i.extendDeepAll({},MathJax.Hub.config),s=MathJax.Hub.processSectionDelay,void 0!==MathJax.Hub.processSectionDelay&&(MathJax.Hub.processSectionDelay=0),MathJax.Hub.Config({messageStyle:"none",tex2jax:{inlineMath:[["$","$"],["\\(","\\)"]]},displayAlign:"left"})}),(function(){if("SVG"!==(a=MathJax.Hub.config.menuSettings.renderer))return MathJax.Hub.setRenderer("SVG")}),(function(){var r="math-output-"+i.randstr({},64);return l=n.select("body").append("div").attr({id:r}).style({visibility:"hidden",position:"absolute"}).style({"font-size":e.fontSize+"px"}).text(t.replace(u,"\\lt ").replace(f,"\\gt ")),MathJax.Hub.Typeset(l.node())}),(function(){var e=n.select("body").select("#MathJax_SVG_glyphs");if(l.select(".MathJax_SVG").empty()||!l.select("svg").node())i.log("There was an error in the tex syntax.",t),r();else{var o=l.select("svg").node().getBoundingClientRect();r(l.select(".MathJax_SVG"),e,o)}if(l.remove(),"SVG"!==a)return MathJax.Hub.setRenderer(a)}),(function(){return void 0!==s&&(MathJax.Hub.processSectionDelay=s),MathJax.Hub.Config(o)}))}(C[2],o,(function(n,i,o){L.selectAll("svg."+I).remove(),L.selectAll("g."+I+"-group").remove();var s=n&&n.select("svg");if(!s||!s.node())return P(),void e();var c=L.append("g").classed(I+"-group",!0).attr({"pointer-events":"none","data-unformatted":S,"data-math":"Y"});c.node().appendChild(s.node()),i&&i.node()&&s.node().insertBefore(i.node().cloneNode(!0),s.node().firstChild),s.attr({class:I,height:o.height,preserveAspectRatio:"xMinYMin meet"}).style({overflow:"visible","pointer-events":"none"});var u=t.node().style.fill||"black",f=s.select("g");f.attr({fill:u,stroke:u});var h=l(f,"width"),p=l(f,"height"),d=+t.attr("x")-h*{start:0,middle:.5,end:1}[t.attr("text-anchor")||"start"],g=-(r||l(t,"height"))/4;"y"===I[0]?(c.attr({transform:"rotate("+[-90,+t.attr("x"),+t.attr("y")]+")"+a(-h/2,g-p/2)}),s.attr({x:+t.attr("x"),y:+t.attr("y")})):"l"===I[0]?s.attr({x:t.attr("x"),y:g-p/2}):"a"===I[0]&&0!==I.indexOf("atitle")?s.attr({x:0,y:g}):s.attr({x:d,y:+t.attr("y")+g-p/2}),A&&A.call(t,c),e(c)}))}))):P(),t}function P(){L.empty()||(I=t.attr("class")+"-math",L.select("svg."+I).remove()),t.text("").style("white-space","pre"),function(t,e){e=e.replace(m," ");var r,a=!1,l=[],c=-1;function u(){c++;var e=document.createElementNS(o.svg,"tspan");n.select(e).attr({class:"line",dy:c*s+"em"}),t.appendChild(e),r=e;var i=l;if(l=[{node:e}],i.length>1)for(var a=1;a<i.length;a++)f(i[a])}function f(t){var e,i=t.type,a={};if("a"===i){e="a";var s=t.target,c=t.href,u=t.popup;c&&(a={"xlink:xlink:show":"_blank"===s||"_"!==s.charAt(0)?"new":"replace",target:s,"xlink:xlink:href":c},u&&(a.onclick='window.open(this.href.baseVal,this.target.baseVal,"'+u+'");return false;'))}else e="tspan";t.style&&(a.style=t.style);var f=document.createElementNS(o.svg,e);if("sup"===i||"sub"===i){A(r,"\u200b"),r.appendChild(f);var h=document.createElementNS(o.svg,"tspan");A(h,"\u200b"),n.select(h).attr("dy",d[i]),a.dy=p[i],r.appendChild(f),r.appendChild(h)}else r.appendChild(f);n.select(f).attr(a),r=t.node=f,l.push(t)}function A(t,e){t.appendChild(document.createTextNode(e))}function S(t){if(1!==l.length){var n=l.pop();t!==n.type&&i.log("Start tag <"+n.type+"> doesnt match end tag <"+t+">. Pretending it did match.",e),r=l[l.length-1].node}else i.log("Ignoring unexpected end tag </"+t+">.",e)}x.test(e)?u():(r=t,l=[{node:t}]);for(var C=e.split(v),L=0;L<C.length;L++){var I=C[L],P=I.match(y),z=P&&P[2].toLowerCase(),O=h[z];if("br"===z)u();else if(void 0===O)A(r,E(I));else if(P[1])S(z);else{var D=P[4],R={type:z},F=k(D,b);if(F?(F=F.replace(M,"$1 fill:"),O&&(F+=";"+O)):O&&(F=O),F&&(R.style=F),"a"===z){a=!0;var B=k(D,_);if(B){var N=document.createElement("a");N.href=B,-1!==g.indexOf(N.protocol)&&(R.href=encodeURI(decodeURI(B)),R.target=k(D,w)||"_blank",R.popup=k(D,T))}}f(R)}}return a}(t.node(),S)&&t.style("pointer-events","all"),r.positionText(t),A&&A.call(t)}};var u=/(<|<|<)/g,f=/(>|>|>)/g;var h={sup:"font-size:70%",sub:"font-size:70%",b:"font-weight:bold",i:"font-style:italic",a:"cursor:pointer",span:"",em:"font-style:italic;font-weight:bold"},p={sub:"0.3em",sup:"-0.6em"},d={sub:"-0.21em",sup:"0.42em"},g=["http:","https:","mailto:","",void 0,":"],m=r.NEWLINES=/(\r\n?|\n)/g,v=/(<[^<>]*>)/,y=/<(\/?)([^ >]*)(\s+(.*))?>/i,x=/<br(\s+.*)?>/i;r.BR_TAG_ALL=/<br(\s+.*)?>/gi;var b=/(^|[\s"'])style\s*=\s*("([^"]*);?"|'([^']*);?')/i,_=/(^|[\s"'])href\s*=\s*("([^"]*)"|'([^']*)')/i,w=/(^|[\s"'])target\s*=\s*("([^"\s]*)"|'([^'\s]*)')/i,T=/(^|[\s"'])popup\s*=\s*("([\w=,]*)"|'([\w=,]*)')/i;function k(t,e){if(!t)return null;var r=t.match(e),n=r&&(r[3]||r[4]);return n&&E(n)}var M=/(^|;)\s*color:/;r.plainText=function(t,e){for(var r=void 0!==(e=e||{}).len&&-1!==e.len?e.len:1/0,n=void 0!==e.allowedTags?e.allowedTags:["br"],i="...".length,a=t.split(v),o=[],s="",l=0,c=0;c<a.length;c++){var u=a[c],f=u.match(y),h=f&&f[2].toLowerCase();if(h)-1!==n.indexOf(h)&&(o.push(u),s=h);else{var p=u.length;if(l+p<r)o.push(u),l+=p;else if(l<r){var d=r-l;s&&("br"!==s||d<=i||p<=i)&&o.pop(),r>i?o.push(u.substr(0,d-i)+"..."):o.push(u.substr(0,d));break}s=""}}return o.join("")};var A={mu:"\u03bc",amp:"&",lt:"<",gt:">",nbsp:"\xa0",times:"\xd7",plusmn:"\xb1",deg:"\xb0"},S=/&(#\d+|#x[\da-fA-F]+|[a-z]+);/g;function E(t){return t.replace(S,(function(t,e){return("#"===e.charAt(0)?function(t){if(t>1114111)return;var e=String.fromCodePoint;if(e)return e(t);var r=String.fromCharCode;return t<=65535?r(t):r(55232+(t>>10),t%1024+56320)}("x"===e.charAt(1)?parseInt(e.substr(2),16):parseInt(e.substr(1),10)):A[e])||t}))}function C(t,e,r){var n,a,o,s=r.horizontalAlign,l=r.verticalAlign||"top",c=t.node().getBoundingClientRect(),u=e.node().getBoundingClientRect();return a="bottom"===l?function(){return c.bottom-n.height}:"middle"===l?function(){return c.top+(c.height-n.height)/2}:function(){return c.top},o="right"===s?function(){return c.right-n.width}:"center"===s?function(){return c.left+(c.width-n.width)/2}:function(){return c.left},function(){n=this.node().getBoundingClientRect();var t=o()-u.left,e=a()-u.top,s=r.gd||{};if(r.gd){s._fullLayout._calcInverseTransform(s);var l=i.apply3DTransform(s._fullLayout._invTransform)(t,e);t=l[0],e=l[1]}return this.style({top:e+"px",left:t+"px","z-index":1e3}),this}}r.convertEntities=E,r.sanitizeHTML=function(t){t=t.replace(m," ");for(var e=document.createElement("p"),r=e,i=[],a=t.split(v),o=0;o<a.length;o++){var s=a[o],l=s.match(y),c=l&&l[2].toLowerCase();if(c in h)if(l[1])i.length&&(r=i.pop());else{var u=l[4],f=k(u,b),p=f?{style:f}:{};if("a"===c){var d=k(u,_);if(d){var x=document.createElement("a");if(x.href=d,-1!==g.indexOf(x.protocol)){p.href=encodeURI(decodeURI(d));var T=k(u,w);T&&(p.target=T)}}}var M=document.createElement(c);r.appendChild(M),n.select(M).attr(p),r=M,i.push(M)}else r.appendChild(document.createTextNode(E(s)))}return e.innerHTML},r.lineCount=function(t){return t.selectAll("tspan.line").size()||1},r.positionText=function(t,e,r){return t.each((function(){var t=n.select(this);function i(e,r){return void 0===r?null===(r=t.attr(e))&&(t.attr(e,0),r=0):t.attr(e,r),r}var a=i("x",e),o=i("y",r);"text"===this.nodeName&&t.selectAll("tspan.line").attr({x:a,y:o})}))},r.makeEditable=function(t,e){var r=e.gd,i=e.delegate,a=n.dispatch("edit","input","cancel"),o=i||t;if(t.style({"pointer-events":i?"none":"all"}),1!==t.size())throw new Error("boo");function s(){!function(){var i=n.select(r).select(".svg-container"),o=i.append("div"),s=t.node().style,c=parseFloat(s.fontSize||12),u=e.text;void 0===u&&(u=t.attr("data-unformatted"));o.classed("plugin-editable editable",!0).style({position:"absolute","font-family":s.fontFamily||"Arial","font-size":c,color:e.fill||s.fill||"black",opacity:1,"background-color":e.background||"transparent",outline:"#ffffff33 1px solid",margin:[-c/8+1,0,0,-1].join("px ")+"px",padding:"0","box-sizing":"border-box"}).attr({contenteditable:!0}).text(u).call(C(t,i,e)).on("blur",(function(){r._editing=!1,t.text(this.textContent).style({opacity:1});var e,i=n.select(this).attr("class");(e=i?"."+i.split(" ")[0]+"-math-group":"[class*=-math-group]")&&n.select(t.node().parentNode).select(e).style({opacity:0});var o=this.textContent;n.select(this).transition().duration(0).remove(),n.select(document).on("mouseup",null),a.edit.call(t,o)})).on("focus",(function(){var t=this;r._editing=!0,n.select(document).on("mouseup",(function(){if(n.event.target===t)return!1;document.activeElement===o.node()&&o.node().blur()}))})).on("keyup",(function(){27===n.event.which?(r._editing=!1,t.style({opacity:1}),n.select(this).style({opacity:0}).on("blur",(function(){return!1})).transition().remove(),a.cancel.call(t,this.textContent)):(a.input.call(t,this.textContent),n.select(this).call(C(t,i,e)))})).on("keydown",(function(){13===n.event.which&&this.blur()})).call(l)}(),t.style({opacity:0});var i,s=o.attr("class");(i=s?"."+s.split(" ")[0]+"-math-group":"[class*=-math-group]")&&n.select(t.node().parentNode).select(i).style({opacity:0})}function l(t){var e=t.node(),r=document.createRange();r.selectNodeContents(e);var n=window.getSelection();n.removeAllRanges(),n.addRange(r),e.focus()}return e.immediate?s():o.on("click",s),n.rebind(t,a,"on")}},{"../constants/alignment":745,"../constants/xmlns_namespaces":754,"../lib":778,d3:169}],804:[function(t,e,r){"use strict";var n={};function i(t){t&&null!==t.timer&&(clearTimeout(t.timer),t.timer=null)}r.throttle=function(t,e,r){var a=n[t],o=Date.now();if(!a){for(var s in n)n[s].ts<o-6e4&&delete n[s];a=n[t]={ts:0,timer:null}}function l(){r(),a.ts=Date.now(),a.onDone&&(a.onDone(),a.onDone=null)}i(a),o>a.ts+e?l():a.timer=setTimeout((function(){l(),a.timer=null}),e)},r.done=function(t){var e=n[t];return e&&e.timer?new Promise((function(t){var r=e.onDone;e.onDone=function(){r&&r(),t(),e.onDone=null}})):Promise.resolve()},r.clear=function(t){if(t)i(n[t]),delete n[t];else for(var e in n)r.clear(e)}},{}],805:[function(t,e,r){"use strict";var n=t("fast-isnumeric");e.exports=function(t,e){if(t>0)return Math.log(t)/Math.LN10;var r=Math.log(Math.min(e[0],e[1]))/Math.LN10;return n(r)||(r=Math.log(Math.max(e[0],e[1]))/Math.LN10-6),r}},{"fast-isnumeric":241}],806:[function(t,e,r){"use strict";var n=e.exports={},i=t("../plots/geo/constants").locationmodeToLayer,a=t("topojson-client").feature;n.getTopojsonName=function(t){return[t.scope.replace(/ /g,"-"),"_",t.resolution.toString(),"m"].join("")},n.getTopojsonPath=function(t,e){return t+e+".json"},n.getTopojsonFeatures=function(t,e){var r=i[t.locationmode],n=e.objects[r];return a(e,n).features}},{"../plots/geo/constants":858,"topojson-client":579}],807:[function(t,e,r){"use strict";e.exports={moduleType:"locale",name:"en-US",dictionary:{"Click to enter Colorscale title":"Click to enter Colorscale title"},format:{date:"%m/%d/%Y"}}},{}],808:[function(t,e,r){"use strict";e.exports={moduleType:"locale",name:"en",dictionary:{"Click to enter Colorscale title":"Click to enter Colourscale title"},format:{days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],periods:["AM","PM"],dateTime:"%a %b %e %X %Y",date:"%d/%m/%Y",time:"%H:%M:%S",decimal:".",thousands:",",grouping:[3],currency:["$",""],year:"%Y",month:"%b %Y",dayMonth:"%b %-d",dayMonthYear:"%b %-d, %Y"}}},{}],809:[function(t,e,r){"use strict";var n=t("../registry");e.exports=function(t){for(var e,r,i=n.layoutArrayContainers,a=n.layoutArrayRegexes,o=t.split("[")[0],s=0;s<a.length;s++)if((r=t.match(a[s]))&&0===r.index){e=r[0];break}if(e||(e=i[i.indexOf(o)]),!e)return!1;var l=t.substr(e.length);return l?!!(r=l.match(/^\[(0|[1-9][0-9]*)\](\.(.+))?$/))&&{array:e,index:Number(r[1]),property:r[3]||""}:{array:e,index:"",property:""}}},{"../registry":911}],810:[function(t,e,r){"use strict";var n=t("../lib"),i=n.extendFlat,a=n.isPlainObject,o={valType:"flaglist",extras:["none"],flags:["calc","clearAxisTypes","plot","style","markerSize","colorbars"]},s={valType:"flaglist",extras:["none"],flags:["calc","plot","legend","ticks","axrange","layoutstyle","modebar","camera","arraydraw","colorbars"]},l=o.flags.slice().concat(["fullReplot"]),c=s.flags.slice().concat("layoutReplot");function u(t){for(var e={},r=0;r<t.length;r++)e[t[r]]=!1;return e}function f(t,e,r){var n=i({},t);for(var o in n){var s=n[o];a(s)&&(n[o]=h(s,e,r,o))}return"from-root"===r&&(n.editType=e),n}function h(t,e,r,n){if(t.valType){var a=i({},t);if(a.editType=e,Array.isArray(t.items)){a.items=new Array(t.items.length);for(var o=0;o<t.items.length;o++)a.items[o]=h(t.items[o],e,"from-root")}return a}return f(t,e,"_"===n.charAt(0)?"nested":"from-root")}e.exports={traces:o,layout:s,traceFlags:function(){return u(l)},layoutFlags:function(){return u(c)},update:function(t,e){var r=e.editType;if(r&&"none"!==r)for(var n=r.split("+"),i=0;i<n.length;i++)t[n[i]]=!0},overrideAll:f}},{"../lib":778}],811:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("gl-mat4/fromQuat"),a=t("../registry"),o=t("../lib"),s=t("../plots/plots"),l=t("../plots/cartesian/axis_ids"),c=t("../components/color"),u=l.cleanId,f=l.getFromTrace,h=a.traceIs;function p(t,e){var r=t[e],n=e.charAt(0);r&&"paper"!==r&&(t[e]=u(r,n,!0))}function d(t){function e(e,r){var n=t[e],i=t.title&&t.title[r];n&&!i&&(t.title||(t.title={}),t.title[r]=t[e],delete t[e])}t&&("string"!=typeof t.title&&"number"!=typeof t.title||(t.title={text:t.title}),e("titlefont","font"),e("titleposition","position"),e("titleside","side"),e("titleoffset","offset"))}function g(t){if(!o.isPlainObject(t))return!1;var e=t.name;return delete t.name,delete t.showlegend,("string"==typeof e||"number"==typeof e)&&String(e)}function m(t,e,r,n){if(r&&!n)return t;if(n&&!r)return e;if(!t.trim())return e;if(!e.trim())return t;var i,a=Math.min(t.length,e.length);for(i=0;i<a&&t.charAt(i)===e.charAt(i);i++);return t.substr(0,i).trim()}function v(t){var e="middle",r="center";return"string"==typeof t&&(-1!==t.indexOf("top")?e="top":-1!==t.indexOf("bottom")&&(e="bottom"),-1!==t.indexOf("left")?r="left":-1!==t.indexOf("right")&&(r="right")),e+" "+r}function y(t,e){return e in t&&"object"==typeof t[e]&&0===Object.keys(t[e]).length}r.clearPromiseQueue=function(t){Array.isArray(t._promises)&&t._promises.length>0&&o.log("Clearing previous rejected promises from queue."),t._promises=[]},r.cleanLayout=function(t){var e,n;t||(t={}),t.xaxis1&&(t.xaxis||(t.xaxis=t.xaxis1),delete t.xaxis1),t.yaxis1&&(t.yaxis||(t.yaxis=t.yaxis1),delete t.yaxis1),t.scene1&&(t.scene||(t.scene=t.scene1),delete t.scene1);var a=(s.subplotsRegistry.cartesian||{}).attrRegex,l=(s.subplotsRegistry.polar||{}).attrRegex,f=(s.subplotsRegistry.ternary||{}).attrRegex,h=(s.subplotsRegistry.gl3d||{}).attrRegex,g=Object.keys(t);for(e=0;e<g.length;e++){var m=g[e];if(a&&a.test(m)){var v=t[m];v.anchor&&"free"!==v.anchor&&(v.anchor=u(v.anchor)),v.overlaying&&(v.overlaying=u(v.overlaying)),v.type||(v.isdate?v.type="date":v.islog?v.type="log":!1===v.isdate&&!1===v.islog&&(v.type="linear")),"withzero"!==v.autorange&&"tozero"!==v.autorange||(v.autorange=!0,v.rangemode="tozero"),delete v.islog,delete v.isdate,delete v.categories,y(v,"domain")&&delete v.domain,void 0!==v.autotick&&(void 0===v.tickmode&&(v.tickmode=v.autotick?"auto":"linear"),delete v.autotick),d(v)}else if(l&&l.test(m)){d(t[m].radialaxis)}else if(f&&f.test(m)){var x=t[m];d(x.aaxis),d(x.baxis),d(x.caxis)}else if(h&&h.test(m)){var b=t[m],_=b.cameraposition;if(Array.isArray(_)&&4===_[0].length){var w=_[0],T=_[1],k=_[2],M=i([],w),A=[];for(n=0;n<3;++n)A[n]=T[n]+k*M[2+4*n];b.camera={eye:{x:A[0],y:A[1],z:A[2]},center:{x:T[0],y:T[1],z:T[2]},up:{x:0,y:0,z:1}},delete b.cameraposition}d(b.xaxis),d(b.yaxis),d(b.zaxis)}}var S=Array.isArray(t.annotations)?t.annotations.length:0;for(e=0;e<S;e++){var E=t.annotations[e];o.isPlainObject(E)&&(E.ref&&("paper"===E.ref?(E.xref="paper",E.yref="paper"):"data"===E.ref&&(E.xref="x",E.yref="y"),delete E.ref),p(E,"xref"),p(E,"yref"))}var C=Array.isArray(t.shapes)?t.shapes.length:0;for(e=0;e<C;e++){var L=t.shapes[e];o.isPlainObject(L)&&(p(L,"xref"),p(L,"yref"))}var I=Array.isArray(t.images)?t.images.length:0;for(e=0;e<I;e++){var P=t.images[e];o.isPlainObject(P)&&(p(P,"xref"),p(P,"yref"))}var z=t.legend;return z&&(z.x>3?(z.x=1.02,z.xanchor="left"):z.x<-2&&(z.x=-.02,z.xanchor="right"),z.y>3?(z.y=1.02,z.yanchor="bottom"):z.y<-2&&(z.y=-.02,z.yanchor="top")),d(t),"rotate"===t.dragmode&&(t.dragmode="orbit"),c.clean(t),t.template&&t.template.layout&&r.cleanLayout(t.template.layout),t},r.cleanData=function(t){for(var e=0;e<t.length;e++){var n,i=t[e];if("histogramy"===i.type&&"xbins"in i&&!("ybins"in i)&&(i.ybins=i.xbins,delete i.xbins),i.error_y&&"opacity"in i.error_y){var l=c.defaults,f=i.error_y.color||(h(i,"bar")?c.defaultLine:l[e%l.length]);i.error_y.color=c.addOpacity(c.rgb(f),c.opacity(f)*i.error_y.opacity),delete i.error_y.opacity}if("bardir"in i&&("h"!==i.bardir||!h(i,"bar")&&"histogram"!==i.type.substr(0,9)||(i.orientation="h",r.swapXYData(i)),delete i.bardir),"histogramy"===i.type&&r.swapXYData(i),"histogramx"!==i.type&&"histogramy"!==i.type||(i.type="histogram"),"scl"in i&&!("colorscale"in i)&&(i.colorscale=i.scl,delete i.scl),"reversescl"in i&&!("reversescale"in i)&&(i.reversescale=i.reversescl,delete i.reversescl),i.xaxis&&(i.xaxis=u(i.xaxis,"x")),i.yaxis&&(i.yaxis=u(i.yaxis,"y")),h(i,"gl3d")&&i.scene&&(i.scene=s.subplotsRegistry.gl3d.cleanId(i.scene)),!h(i,"pie-like")&&!h(i,"bar-like"))if(Array.isArray(i.textposition))for(n=0;n<i.textposition.length;n++)i.textposition[n]=v(i.textposition[n]);else i.textposition&&(i.textposition=v(i.textposition));var p=a.getModule(i);if(p&&p.colorbar){var x=p.colorbar.container,b=x?i[x]:i;b&&b.colorscale&&("YIGnBu"===b.colorscale&&(b.colorscale="YlGnBu"),"YIOrRd"===b.colorscale&&(b.colorscale="YlOrRd"))}if("surface"===i.type&&o.isPlainObject(i.contours)){var _=["x","y","z"];for(n=0;n<_.length;n++){var w=i.contours[_[n]];o.isPlainObject(w)&&(w.highlightColor&&(w.highlightcolor=w.highlightColor,delete w.highlightColor),w.highlightWidth&&(w.highlightwidth=w.highlightWidth,delete w.highlightWidth))}}if("candlestick"===i.type||"ohlc"===i.type){var T=!1!==(i.increasing||{}).showlegend,k=!1!==(i.decreasing||{}).showlegend,M=g(i.increasing),A=g(i.decreasing);if(!1!==M&&!1!==A){var S=m(M,A,T,k);S&&(i.name=S)}else!M&&!A||i.name||(i.name=M||A)}if(Array.isArray(i.transforms)){var E=i.transforms;for(n=0;n<E.length;n++){var C=E[n];if(o.isPlainObject(C))switch(C.type){case"filter":C.filtersrc&&(C.target=C.filtersrc,delete C.filtersrc),C.calendar&&(C.valuecalendar||(C.valuecalendar=C.calendar),delete C.calendar);break;case"groupby":if(C.styles=C.styles||C.style,C.styles&&!Array.isArray(C.styles)){var L=C.styles,I=Object.keys(L);C.styles=[];for(var P=0;P<I.length;P++)C.styles.push({target:I[P],value:L[I[P]]})}}}}y(i,"line")&&delete i.line,"marker"in i&&(y(i.marker,"line")&&delete i.marker.line,y(i,"marker")&&delete i.marker),c.clean(i),i.autobinx&&(delete i.autobinx,delete i.xbins),i.autobiny&&(delete i.autobiny,delete i.ybins),d(i),i.colorbar&&d(i.colorbar),i.marker&&i.marker.colorbar&&d(i.marker.colorbar),i.line&&i.line.colorbar&&d(i.line.colorbar),i.aaxis&&d(i.aaxis),i.baxis&&d(i.baxis)}},r.swapXYData=function(t){var e;if(o.swapAttrs(t,["?","?0","d?","?bins","nbins?","autobin?","?src","error_?"]),Array.isArray(t.z)&&Array.isArray(t.z[0])&&(t.transpose?delete t.transpose:t.transpose=!0),t.error_x&&t.error_y){var r=t.error_y,n="copy_ystyle"in r?r.copy_ystyle:!(r.color||r.thickness||r.width);o.swapAttrs(t,["error_?.copy_ystyle"]),n&&o.swapAttrs(t,["error_?.color","error_?.thickness","error_?.width"])}if("string"==typeof t.hoverinfo){var i=t.hoverinfo.split("+");for(e=0;e<i.length;e++)"x"===i[e]?i[e]="y":"y"===i[e]&&(i[e]="x");t.hoverinfo=i.join("+")}},r.coerceTraceIndices=function(t,e){if(n(e))return[e];if(!Array.isArray(e)||!e.length)return t.data.map((function(t,e){return e}));if(Array.isArray(e)){for(var r=[],i=0;i<e.length;i++)o.isIndex(e[i],t.data.length)?r.push(e[i]):o.warn("trace index (",e[i],") is not a number or is out of bounds");return r}return e},r.manageArrayContainers=function(t,e,r){var i=t.obj,a=t.parts,s=a.length,l=a[s-1],c=n(l);if(c&&null===e){var u=a.slice(0,s-1).join(".");o.nestedProperty(i,u).get().splice(l,1)}else c&&void 0===t.get()?(void 0===t.get()&&(r[t.astr]=null),t.set(e)):t.set(e)};var x=/(\.[^\[\]\.]+|\[[^\[\]\.]+\])$/;function b(t){var e=t.search(x);if(e>0)return t.substr(0,e)}r.hasParent=function(t,e){for(var r=b(e);r;){if(r in t)return!0;r=b(r)}return!1};var _=["x","y","z"];r.clearAxisTypes=function(t,e,r){for(var n=0;n<e.length;n++)for(var i=t._fullData[n],a=0;a<3;a++){var s=f(t,i,_[a]);if(s&&"log"!==s.type){var l=s._name,c=s._id.substr(1);if("scene"===c.substr(0,5)){if(void 0!==r[c])continue;l=c+"."+l}var u=l+".type";void 0===r[l]&&void 0===r[u]&&o.nestedProperty(t.layout,u).set(null)}}}},{"../components/color":643,"../lib":778,"../plots/cartesian/axis_ids":831,"../plots/plots":891,"../registry":911,"fast-isnumeric":241,"gl-mat4/fromQuat":282}],812:[function(t,e,r){"use strict";var n=t("./plot_api");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._guiRestyle=n._guiRestyle,r._guiRelayout=n._guiRelayout,r._guiUpdate=n._guiUpdate,r._storeDirectGUIEdit=n._storeDirectGUIEdit,r.react=n.react,r.extendTraces=n.extendTraces,r.prependTraces=n.prependTraces,r.addTraces=n.addTraces,r.deleteTraces=n.deleteTraces,r.moveTraces=n.moveTraces,r.purge=n.purge,r.addFrames=n.addFrames,r.deleteFrames=n.deleteFrames,r.animate=n.animate,r.setPlotConfig=n.setPlotConfig,r.toImage=t("./to_image"),r.validate=t("./validate"),r.downloadImage=t("../snapshot/download");var i=t("./template_api");r.makeTemplate=i.makeTemplate,r.validateTemplate=i.validateTemplate},{"../snapshot/download":913,"./plot_api":814,"./template_api":819,"./to_image":820,"./validate":821}],813:[function(t,e,r){"use strict";var n=t("../lib/is_plain_object"),i=t("../lib/noop"),a=t("../lib/loggers"),o=t("../lib/search").sorterAsc,s=t("../registry");r.containerArrayMatch=t("./container_array_match");var l=r.isAddVal=function(t){return"add"===t||n(t)},c=r.isRemoveVal=function(t){return null===t||"remove"===t};r.applyContainerArrayChanges=function(t,e,r,n,u){var f=e.astr,h=s.getComponentMethod(f,"supplyLayoutDefaults"),p=s.getComponentMethod(f,"draw"),d=s.getComponentMethod(f,"drawOne"),g=n.replot||n.recalc||h===i||p===i,m=t.layout,v=t._fullLayout;if(r[""]){Object.keys(r).length>1&&a.warn("Full array edits are incompatible with other edits",f);var y=r[""][""];if(c(y))e.set(null);else{if(!Array.isArray(y))return a.warn("Unrecognized full array edit value",f,y),!0;e.set(y)}return!g&&(h(m,v),p(t),!0)}var x,b,_,w,T,k,M,A,S=Object.keys(r).map(Number).sort(o),E=e.get(),C=E||[],L=u(v,f).get(),I=[],P=-1,z=C.length;for(x=0;x<S.length;x++)if(w=r[_=S[x]],T=Object.keys(w),k=w[""],M=l(k),_<0||_>C.length-(M?0:1))a.warn("index out of range",f,_);else if(void 0!==k)T.length>1&&a.warn("Insertion & removal are incompatible with edits to the same index.",f,_),c(k)?I.push(_):M?("add"===k&&(k={}),C.splice(_,0,k),L&&L.splice(_,0,{})):a.warn("Unrecognized full object edit value",f,_,k),-1===P&&(P=_);else for(b=0;b<T.length;b++)A=f+"["+_+"].",u(C[_],T[b],A).set(w[T[b]]);for(x=I.length-1;x>=0;x--)C.splice(I[x],1),L&&L.splice(I[x],1);if(C.length?E||e.set(C):e.set(null),g)return!1;if(h(m,v),d!==i){var O;if(-1===P)O=S;else{for(z=Math.max(C.length,z),O=[],x=0;x<S.length&&!((_=S[x])>=P);x++)O.push(_);for(x=P;x<z;x++)O.push(x)}for(x=0;x<O.length;x++)d(t,O[x])}else p(t);return!0}},{"../lib/is_plain_object":779,"../lib/loggers":782,"../lib/noop":787,"../lib/search":798,"../registry":911,"./container_array_match":809}],814:[function(t,e,r){"use strict";var n=t("d3"),i=t("fast-isnumeric"),a=t("has-hover"),o=t("../lib"),s=o.nestedProperty,l=t("../lib/events"),c=t("../lib/queue"),u=t("../registry"),f=t("./plot_schema"),h=t("../plots/plots"),p=t("../plots/polar/legacy"),d=t("../plots/cartesian/axes"),g=t("../components/drawing"),m=t("../components/color"),v=t("../plots/cartesian/graph_interact").initInteractions,y=t("../constants/xmlns_namespaces"),x=t("../lib/svg_text_utils"),b=t("../plots/cartesian/select").clearSelect,_=t("./plot_config").dfltConfig,w=t("./manage_arrays"),T=t("./helpers"),k=t("./subroutines"),M=t("./edit_types"),A=t("../plots/cartesian/constants").AX_NAME_PATTERN,S=0;function E(t){var e=t._fullLayout;e._redrawFromAutoMarginCount?e._redrawFromAutoMarginCount--:t.emit("plotly_afterplot")}function C(t,e){try{t._fullLayout._paper.style("background",e)}catch(t){o.error(t)}}function L(t,e){C(t,m.combine(e,"white"))}function I(t,e){if(!t._context){t._context=o.extendDeep({},_);var r=n.select("base");t._context._baseUrl=r.size()&&r.attr("href")?window.location.href.split("#")[0]:""}var i,s,l,c=t._context;if(e){for(s=Object.keys(e),i=0;i<s.length;i++)"editable"!==(l=s[i])&&"edits"!==l&&l in c&&("setBackground"===l&&"opaque"===e[l]?c[l]=L:c[l]=e[l]);e.plot3dPixelRatio&&!c.plotGlPixelRatio&&(c.plotGlPixelRatio=c.plot3dPixelRatio);var u=e.editable;if(void 0!==u)for(c.editable=u,s=Object.keys(c.edits),i=0;i<s.length;i++)c.edits[s[i]]=u;if(e.edits)for(s=Object.keys(e.edits),i=0;i<s.length;i++)(l=s[i])in c.edits&&(c.edits[l]=e.edits[l]);c._exportedPlot=e._exportedPlot}c.staticPlot&&(c.editable=!1,c.edits={},c.autosizable=!1,c.scrollZoom=!1,c.doubleClick=!1,c.showTips=!1,c.showLink=!1,c.displayModeBar=!1),"hover"!==c.displayModeBar||a||(c.displayModeBar=!0),"transparent"!==c.setBackground&&"function"==typeof c.setBackground||(c.setBackground=C),c._hasZeroHeight=c._hasZeroHeight||0===t.clientHeight,c._hasZeroWidth=c._hasZeroWidth||0===t.clientWidth;var f=c.scrollZoom,h=c._scrollZoom={};if(!0===f)h.cartesian=1,h.gl3d=1,h.geo=1,h.mapbox=1;else if("string"==typeof f){var p=f.split("+");for(i=0;i<p.length;i++)h[p[i]]=1}else!1!==f&&(h.gl3d=1,h.geo=1,h.mapbox=1)}function P(t,e){var r,n,i=e+1,a=[];for(r=0;r<t.length;r++)(n=t[r])<0?a.push(i+n):a.push(n);return a}function z(t,e,r){var n,i;for(n=0;n<e.length;n++){if((i=e[n])!==parseInt(i,10))throw new Error("all values in "+r+" must be integers");if(i>=t.data.length||i<-t.data.length)throw new Error(r+" must be valid indices for gd.data.");if(e.indexOf(i,n+1)>-1||i>=0&&e.indexOf(-t.data.length+i)>-1||i<0&&e.indexOf(t.data.length+i)>-1)throw new Error("each index in "+r+" must be unique.")}}function O(t,e,r){if(!Array.isArray(t.data))throw new Error("gd.data must be an array.");if("undefined"==typeof e)throw new Error("currentIndices is a required argument.");if(Array.isArray(e)||(e=[e]),z(t,e,"currentIndices"),"undefined"==typeof r||Array.isArray(r)||(r=[r]),"undefined"!=typeof r&&z(t,r,"newIndices"),"undefined"!=typeof r&&e.length!==r.length)throw new Error("current and new indices must be of equal length.")}function D(t,e,r,n,a){!function(t,e,r,n){var i=o.isPlainObject(n);if(!Array.isArray(t.data))throw new Error("gd.data must be an array");if(!o.isPlainObject(e))throw new Error("update must be a key:value object");if("undefined"==typeof r)throw new Error("indices must be an integer or array of integers");for(var a in z(t,r,"indices"),e){if(!Array.isArray(e[a])||e[a].length!==r.length)throw new Error("attribute "+a+" must be an array of length equal to indices array length");if(i&&(!(a in n)||!Array.isArray(n[a])||n[a].length!==e[a].length))throw new Error("when maxPoints is set as a key:value object it must contain a 1:1 corrispondence with the keys and number of traces in the update object")}}(t,e,r,n);for(var l=function(t,e,r,n){var a,l,c,u,f,h=o.isPlainObject(n),p=[];for(var d in Array.isArray(r)||(r=[r]),r=P(r,t.data.length-1),e)for(var g=0;g<r.length;g++){if(a=t.data[r[g]],l=(c=s(a,d)).get(),u=e[d][g],!o.isArrayOrTypedArray(u))throw new Error("attribute: "+d+" index: "+g+" must be an array");if(!o.isArrayOrTypedArray(l))throw new Error("cannot extend missing or non-array attribute: "+d);if(l.constructor!==u.constructor)throw new Error("cannot extend array with an array of a different type: "+d);f=h?n[d][g]:n,i(f)||(f=-1),p.push({prop:c,target:l,insert:u,maxp:Math.floor(f)})}return p}(t,e,r,n),c={},u={},f=0;f<l.length;f++){var h=l[f].prop,p=l[f].maxp,d=a(l[f].target,l[f].insert,p);h.set(d[0]),Array.isArray(c[h.astr])||(c[h.astr]=[]),c[h.astr].push(d[1]),Array.isArray(u[h.astr])||(u[h.astr]=[]),u[h.astr].push(l[f].target.length)}return{update:c,maxPoints:u}}function R(t,e){var r=new t.constructor(t.length+e.length);return r.set(t),r.set(e,t.length),r}function F(t,e,n,i){t=o.getGraphDiv(t),T.clearPromiseQueue(t);var a={};if("string"==typeof e)a[e]=n;else{if(!o.isPlainObject(e))return o.warn("Restyle fail.",e,n,i),Promise.reject();a=o.extendFlat({},e),void 0===i&&(i=n)}Object.keys(a).length&&(t.changed=!0);var s=T.coerceTraceIndices(t,i),l=U(t,a,s),u=l.flags;u.calc&&(t.calcdata=void 0),u.clearAxisTypes&&T.clearAxisTypes(t,s,{});var f=[];u.fullReplot?f.push(r.plot):(f.push(h.previousPromises),h.supplyDefaults(t),u.markerSize&&(h.doCalcdata(t),G(f)),u.style&&f.push(k.doTraceStyle),u.colorbars&&f.push(k.doColorBars),f.push(E)),f.push(h.rehover,h.redrag),c.add(t,F,[t,l.undoit,l.traces],F,[t,l.redoit,l.traces]);var p=o.syncOrAsync(f,t);return p&&p.then||(p=Promise.resolve()),p.then((function(){return t.emit("plotly_restyle",l.eventData),t}))}function B(t){return void 0===t?null:t}function N(t,e){return e?function(e,r,n){var i=s(e,r),a=i.set;return i.set=function(e){j((n||"")+r,i.get(),e,t),a(e)},i}:s}function j(t,e,r,n){if(Array.isArray(e)||Array.isArray(r))for(var i=Array.isArray(e)?e:[],a=Array.isArray(r)?r:[],s=Math.max(i.length,a.length),l=0;l<s;l++)j(t+"["+l+"]",i[l],a[l],n);else if(o.isPlainObject(e)||o.isPlainObject(r)){var c=o.isPlainObject(e)?e:{},u=o.isPlainObject(r)?r:{},f=o.extendFlat({},c,u);for(var h in f)j(t+"."+h,c[h],u[h],n)}else void 0===n[t]&&(n[t]=B(e))}function U(t,e,r){var n,i=t._fullLayout,a=t._fullData,l=t.data,c=i._guiEditing,p=N(i._preGUI,c),g=o.extendDeepAll({},e);V(e);var m,v=M.traceFlags(),y={},x={};function b(){return r.map((function(){}))}function _(t){var e=d.id2name(t);-1===m.indexOf(e)&&m.push(e)}function w(t){return"LAYOUT"+t+".autorange"}function k(t){return"LAYOUT"+t+".range"}function A(t){for(var e=t;e<a.length;e++)if(a[e]._input===l[t])return a[e]}function S(n,a,o){if(Array.isArray(n))n.forEach((function(t){S(t,a,o)}));else if(!(n in e)&&!T.hasParent(e,n)){var s;if("LAYOUT"===n.substr(0,6))s=p(t.layout,n.replace("LAYOUT",""));else{var u=r[o];s=N(i._tracePreGUI[A(u)._fullInput.uid],c)(l[u],n)}n in x||(x[n]=b()),void 0===x[n][o]&&(x[n][o]=B(s.get())),void 0!==a&&s.set(a)}}function E(t){return function(e){return a[e][t]}}function C(t){return function(e,n){return!1===e?a[r[n]][t]:null}}for(var L in e){if(T.hasParent(e,L))throw new Error("cannot set "+L+" and a parent attribute simultaneously");var I,P,z,O,D,R,F=e[L];if("autobinx"!==L&&"autobiny"!==L||(L=L.charAt(L.length-1)+"bins",F=Array.isArray(F)?F.map(C(L)):!1===F?r.map(E(L)):null),y[L]=F,"LAYOUT"!==L.substr(0,6)){for(x[L]=b(),n=0;n<r.length;n++){if(I=l[r[n]],P=A(r[n]),O=(z=N(i._tracePreGUI[P._fullInput.uid],c)(I,L)).get(),void 0!==(D=Array.isArray(F)?F[n%F.length]:F)){var j=z.parts[z.parts.length-1],U=L.substr(0,L.length-j.length-1),q=U?U+".":"",H=U?s(P,U).get():P;if((R=f.getTraceValObject(P,z.parts))&&R.impliedEdits&&null!==D)for(var G in R.impliedEdits)S(o.relativeAttr(L,G),R.impliedEdits[G],n);else if("thicknessmode"!==j&&"lenmode"!==j||O===D||"fraction"!==D&&"pixels"!==D||!H){if("type"===L&&("pie"===D!=("pie"===O)||"funnelarea"===D!=("funnelarea"===O))){var Y="x",W="y";"bar"!==D&&"bar"!==O||"h"!==I.orientation||(Y="y",W="x"),o.swapAttrs(I,["?","?src"],"labels",Y),o.swapAttrs(I,["d?","?0"],"label",Y),o.swapAttrs(I,["?","?src"],"values",W),"pie"===O||"funnelarea"===O?(s(I,"marker.color").set(s(I,"marker.colors").get()),i._pielayer.selectAll("g.trace").remove()):u.traceIs(I,"cartesian")&&s(I,"marker.colors").set(s(I,"marker.color").get())}}else{var X=i._size,Z=H.orient,J="top"===Z||"bottom"===Z;if("thicknessmode"===j){var K=J?X.h:X.w;S(q+"thickness",H.thickness*("fraction"===D?1/K:K),n)}else{var Q=J?X.w:X.h;S(q+"len",H.len*("fraction"===D?1/Q:Q),n)}}x[L][n]=B(O);if(-1!==["swapxy","swapxyaxes","orientation","orientationaxes"].indexOf(L)){if("orientation"===L){z.set(D);var $=I.x&&!I.y?"h":"v";if((z.get()||$)===P.orientation)continue}else"orientationaxes"===L&&(I.orientation={v:"h",h:"v"}[P.orientation]);T.swapXYData(I),v.calc=v.clearAxisTypes=!0}else-1!==h.dataArrayContainers.indexOf(z.parts[0])?(T.manageArrayContainers(z,D,x),v.calc=!0):(R?R.arrayOk&&!u.traceIs(P,"regl")&&(o.isArrayOrTypedArray(D)||o.isArrayOrTypedArray(O))?v.calc=!0:M.update(v,R):v.calc=!0,z.set(D))}}if(-1!==["swapxyaxes","orientationaxes"].indexOf(L)&&d.swap(t,r),"orientationaxes"===L){var tt=s(t.layout,"hovermode"),et=tt.get();"x"===et?tt.set("y"):"y"===et?tt.set("x"):"x unified"===et?tt.set("y unified"):"y unified"===et&&tt.set("x unified")}if(-1!==["orientation","type"].indexOf(L)){for(m=[],n=0;n<r.length;n++){var rt=l[r[n]];u.traceIs(rt,"cartesian")&&(_(rt.xaxis||"x"),_(rt.yaxis||"y"))}S(m.map(w),!0,0),S(m.map(k),[0,1],0)}}else z=p(t.layout,L.replace("LAYOUT","")),x[L]=[B(z.get())],z.set(Array.isArray(F)?F[0]:F),v.calc=!0}return(v.calc||v.plot)&&(v.fullReplot=!0),{flags:v,undoit:x,redoit:y,traces:r,eventData:o.extendDeepNoArrays([],[g,r])}}function V(t){var e,r,n,i=o.counterRegex("axis",".title",!1,!1),a=/colorbar\.title$/,s=Object.keys(t);for(e=0;e<s.length;e++)r=s[e],n=t[r],"title"!==r&&!i.test(r)&&!a.test(r)||"string"!=typeof n&&"number"!=typeof n?r.indexOf("titlefont")>-1?l(r,r.replace("titlefont","title.font")):r.indexOf("titleposition")>-1?l(r,r.replace("titleposition","title.position")):r.indexOf("titleside")>-1?l(r,r.replace("titleside","title.side")):r.indexOf("titleoffset")>-1&&l(r,r.replace("titleoffset","title.offset")):l(r,r.replace("title","title.text"));function l(e,r){t[r]=t[e],delete t[e]}}function q(t,e,r){if(t=o.getGraphDiv(t),T.clearPromiseQueue(t),t.framework&&t.framework.isPolar)return Promise.resolve(t);var n={};if("string"==typeof e)n[e]=r;else{if(!o.isPlainObject(e))return o.warn("Relayout fail.",e,r),Promise.reject();n=o.extendFlat({},e)}Object.keys(n).length&&(t.changed=!0);var i=Z(t,n),a=i.flags;a.calc&&(t.calcdata=void 0);var s=[h.previousPromises];a.layoutReplot?s.push(k.layoutReplot):Object.keys(n).length&&(H(t,a,i)||h.supplyDefaults(t),a.legend&&s.push(k.doLegend),a.layoutstyle&&s.push(k.layoutStyles),a.axrange&&G(s,i.rangesAltered),a.ticks&&s.push(k.doTicksRelayout),a.modebar&&s.push(k.doModeBar),a.camera&&s.push(k.doCamera),a.colorbars&&s.push(k.doColorBars),s.push(E)),s.push(h.rehover,h.redrag),c.add(t,q,[t,i.undoit],q,[t,i.redoit]);var l=o.syncOrAsync(s,t);return l&&l.then||(l=Promise.resolve(t)),l.then((function(){return t.emit("plotly_relayout",i.eventData),t}))}function H(t,e,r){var n=t._fullLayout;if(!e.axrange)return!1;for(var i in e)if("axrange"!==i&&e[i])return!1;for(var a in r.rangesAltered){var o=d.id2name(a),s=t.layout[o],l=n[o];if(l.autorange=s.autorange,s.range&&(l.range=s.range.slice()),l.cleanRange(),l._matchGroup)for(var c in l._matchGroup)if(c!==a){var u=n[d.id2name(c)];u.autorange=l.autorange,u.range=l.range.slice(),u._input.range=l.range.slice()}}return!0}function G(t,e){var r=e?function(t){var r=[],n=!0;for(var i in e){var a=d.getFromId(t,i);if(r.push(i),-1!==(a.ticklabelposition||"").indexOf("inside")&&a._anchorAxis&&r.push(a._anchorAxis._id),a._matchGroup)for(var o in a._matchGroup)e[o]||r.push(o);a.automargin&&(n=!1)}return d.draw(t,r,{skipTitle:n})}:function(t){return d.draw(t,"redraw")};t.push(b,k.doAutoRangeAndConstraints,r,k.drawData,k.finalDraw)}var Y=/^[xyz]axis[0-9]*\.range(\[[0|1]\])?$/,W=/^[xyz]axis[0-9]*\.autorange$/,X=/^[xyz]axis[0-9]*\.domain(\[[0|1]\])?$/;function Z(t,e){var r,n,i,a=t.layout,l=t._fullLayout,c=l._guiEditing,h=N(l._preGUI,c),p=Object.keys(e),g=d.list(t),m=o.extendDeepAll({},e),v={};for(V(e),p=Object.keys(e),n=0;n<p.length;n++)if(0===p[n].indexOf("allaxes")){for(i=0;i<g.length;i++){var y=g[i]._id.substr(1),x=-1!==y.indexOf("scene")?y+".":"",b=p[n].replace("allaxes",x+g[i]._name);e[b]||(e[b]=e[p[n]])}delete e[p[n]]}var _=M.layoutFlags(),k={},S={};function E(t,r){if(Array.isArray(t))t.forEach((function(t){E(t,r)}));else if(!(t in e)&&!T.hasParent(e,t)){var n=h(a,t);t in S||(S[t]=B(n.get())),void 0!==r&&n.set(r)}}var C,L={};function I(t){var e=d.name2id(t.split(".")[0]);return L[e]=1,e}for(var P in e){if(T.hasParent(e,P))throw new Error("cannot set "+P+" and a parent attribute simultaneously");for(var z=h(a,P),O=e[P],D=z.parts.length-1;D>0&&"string"!=typeof z.parts[D];)D--;var R=z.parts[D],F=z.parts[D-1]+"."+R,j=z.parts.slice(0,D).join("."),U=s(t.layout,j).get(),q=s(l,j).get(),H=z.get();if(void 0!==O){k[P]=O,S[P]="reverse"===R?O:B(H);var G=f.getLayoutValObject(l,z.parts);if(G&&G.impliedEdits&&null!==O)for(var Z in G.impliedEdits)E(o.relativeAttr(P,Z),G.impliedEdits[Z]);if(-1!==["width","height"].indexOf(P))if(O){E("autosize",null);var K="height"===P?"width":"height";E(K,l[K])}else l[P]=t._initialAutoSize[P];else if("autosize"===P)E("width",O?null:l.width),E("height",O?null:l.height);else if(F.match(Y))I(F),s(l,j+"._inputRange").set(null);else if(F.match(W)){I(F),s(l,j+"._inputRange").set(null);var Q=s(l,j).get();Q._inputDomain&&(Q._input.domain=Q._inputDomain.slice())}else F.match(X)&&s(l,j+"._inputDomain").set(null);if("type"===R){C=U;var $="linear"===q.type&&"log"===O,tt="log"===q.type&&"linear"===O;if($||tt){if(C&&C.range)if(q.autorange)$&&(C.range=C.range[1]>C.range[0]?[1,2]:[2,1]);else{var et=C.range[0],rt=C.range[1];$?(et<=0&&rt<=0&&E(j+".autorange",!0),et<=0?et=rt/1e6:rt<=0&&(rt=et/1e6),E(j+".range[0]",Math.log(et)/Math.LN10),E(j+".range[1]",Math.log(rt)/Math.LN10)):(E(j+".range[0]",Math.pow(10,et)),E(j+".range[1]",Math.pow(10,rt)))}else E(j+".autorange",!0);Array.isArray(l._subplots.polar)&&l._subplots.polar.length&&l[z.parts[0]]&&"radialaxis"===z.parts[1]&&delete l[z.parts[0]]._subplot.viewInitial["radialaxis.range"],u.getComponentMethod("annotations","convertCoords")(t,q,O,E),u.getComponentMethod("images","convertCoords")(t,q,O,E)}else E(j+".autorange",!0),E(j+".range",null);s(l,j+"._inputRange").set(null)}else if(R.match(A)){var nt=s(l,P).get(),it=(O||{}).type;it&&"-"!==it||(it="linear"),u.getComponentMethod("annotations","convertCoords")(t,nt,it,E),u.getComponentMethod("images","convertCoords")(t,nt,it,E)}var at=w.containerArrayMatch(P);if(at){r=at.array,n=at.index;var ot=at.property,st=G||{editType:"calc"};""!==n&&""===ot&&(w.isAddVal(O)?S[P]=null:w.isRemoveVal(O)?S[P]=(s(a,r).get()||[])[n]:o.warn("unrecognized full object value",e)),M.update(_,st),v[r]||(v[r]={});var lt=v[r][n];lt||(lt=v[r][n]={}),lt[ot]=O,delete e[P]}else"reverse"===R?(U.range?U.range.reverse():(E(j+".autorange",!0),U.range=[1,0]),q.autorange?_.calc=!0:_.plot=!0):(l._has("scatter-like")&&l._has("regl")&&"dragmode"===P&&("lasso"===O||"select"===O)&&"lasso"!==H&&"select"!==H||l._has("gl2d")?_.plot=!0:G?M.update(_,G):_.calc=!0,z.set(O))}}for(r in v){w.applyContainerArrayChanges(t,h(a,r),v[r],_,h)||(_.plot=!0)}for(var ct in L){var ut=(C=d.getFromId(t,ct))&&C._constraintGroup;if(ut)for(var ft in _.calc=!0,ut)L[ft]||(d.getFromId(t,ft)._constraintShrinkable=!0)}return(J(t)||e.height||e.width)&&(_.plot=!0),(_.plot||_.calc)&&(_.layoutReplot=!0),{flags:_,rangesAltered:L,undoit:S,redoit:k,eventData:m}}function J(t){var e=t._fullLayout,r=e.width,n=e.height;return t.layout.autosize&&h.plotAutoSize(t,t.layout,e),e.width!==r||e.height!==n}function K(t,e,n,i){if(t=o.getGraphDiv(t),T.clearPromiseQueue(t),t.framework&&t.framework.isPolar)return Promise.resolve(t);o.isPlainObject(e)||(e={}),o.isPlainObject(n)||(n={}),Object.keys(e).length&&(t.changed=!0),Object.keys(n).length&&(t.changed=!0);var a=T.coerceTraceIndices(t,i),s=U(t,o.extendFlat({},e),a),l=s.flags,u=Z(t,o.extendFlat({},n)),f=u.flags;(l.calc||f.calc)&&(t.calcdata=void 0),l.clearAxisTypes&&T.clearAxisTypes(t,a,n);var p=[];f.layoutReplot?p.push(k.layoutReplot):l.fullReplot?p.push(r.plot):(p.push(h.previousPromises),H(t,f,u)||h.supplyDefaults(t),l.style&&p.push(k.doTraceStyle),(l.colorbars||f.colorbars)&&p.push(k.doColorBars),f.legend&&p.push(k.doLegend),f.layoutstyle&&p.push(k.layoutStyles),f.axrange&&G(p,u.rangesAltered),f.ticks&&p.push(k.doTicksRelayout),f.modebar&&p.push(k.doModeBar),f.camera&&p.push(k.doCamera),p.push(E)),p.push(h.rehover,h.redrag),c.add(t,K,[t,s.undoit,u.undoit,s.traces],K,[t,s.redoit,u.redoit,s.traces]);var d=o.syncOrAsync(p,t);return d&&d.then||(d=Promise.resolve(t)),d.then((function(){return t.emit("plotly_update",{data:s.eventData,layout:u.eventData}),t}))}function Q(t){return function(e){e._fullLayout._guiEditing=!0;var r=t.apply(null,arguments);return e._fullLayout._guiEditing=!1,r}}var $=[{pattern:/^hiddenlabels/,attr:"legend.uirevision"},{pattern:/^((x|y)axis\d*)\.((auto)?range|title\.text)/},{pattern:/axis\d*\.showspikes$/,attr:"modebar.uirevision"},{pattern:/(hover|drag)mode$/,attr:"modebar.uirevision"},{pattern:/^(scene\d*)\.camera/},{pattern:/^(geo\d*)\.(projection|center|fitbounds)/},{pattern:/^(ternary\d*\.[abc]axis)\.(min|title\.text)$/},{pattern:/^(polar\d*\.radialaxis)\.((auto)?range|angle|title\.text)/},{pattern:/^(polar\d*\.angularaxis)\.rotation/},{pattern:/^(mapbox\d*)\.(center|zoom|bearing|pitch)/},{pattern:/^legend\.(x|y)$/,attr:"editrevision"},{pattern:/^(shapes|annotations)/,attr:"editrevision"},{pattern:/^title\.text$/,attr:"editrevision"}],tt=[{pattern:/^selectedpoints$/,attr:"selectionrevision"},{pattern:/(^|value\.)visible$/,attr:"legend.uirevision"},{pattern:/^dimensions\[\d+\]\.constraintrange/},{pattern:/^node\.(x|y|groups)/},{pattern:/^level$/},{pattern:/(^|value\.)name$/},{pattern:/colorbar\.title\.text$/},{pattern:/colorbar\.(x|y)$/,attr:"editrevision"}];function et(t,e){for(var r=0;r<e.length;r++){var n=e[r],i=t.match(n.pattern);if(i)return{head:i[1],attr:n.attr}}}function rt(t,e){var r=s(e,t).get();if(void 0!==r)return r;var n=t.split(".");for(n.pop();n.length>1;)if(n.pop(),void 0!==(r=s(e,n.join(".")+".uirevision").get()))return r;return e.uirevision}function nt(t,e){for(var r=0;r<e.length;r++)if(e[r]._fullInput.uid===t)return r;return-1}function it(t,e,r){for(var n=0;n<e.length;n++)if(e[n].uid===t)return n;return!e[r]||e[r].uid?-1:r}function at(t,e){var r=o.isPlainObject(t),n=Array.isArray(t);return r||n?(r&&o.isPlainObject(e)||n&&Array.isArray(e))&&JSON.stringify(t)===JSON.stringify(e):t===e}function ot(t,e,r,n){var i,a,l,c=n.getValObject,u=n.flags,f=n.immutable,h=n.inArray,p=n.arrayIndex;function d(){var t=i.editType;h&&-1!==t.indexOf("arraydraw")?o.pushUnique(u.arrays[h],p):(M.update(u,i),"none"!==t&&u.nChanges++,n.transition&&i.anim&&u.nChangesAnim++,(Y.test(l)||W.test(l))&&(u.rangesAltered[r[0]]=1),X.test(l)&&s(e,"_inputDomain").set(null),"datarevision"===a&&(u.newDataRevision=1))}function g(t){return"data_array"===t.valType||t.arrayOk}for(a in t){if(u.calc&&!n.transition)return;var m=t[a],v=e[a],y=r.concat(a);if(l=y.join("."),"_"!==a.charAt(0)&&"function"!=typeof m&&m!==v){if(("tick0"===a||"dtick"===a)&&"geo"!==r[0]){var x=e.tickmode;if("auto"===x||"array"===x||!x)continue}if(("range"!==a||!e.autorange)&&("zmin"!==a&&"zmax"!==a||"contourcarpet"!==e.type)&&(i=c(y))&&(!i._compareAsJSON||JSON.stringify(m)!==JSON.stringify(v))){var b,_=i.valType,w=g(i),T=Array.isArray(m),k=Array.isArray(v);if(T&&k){var A="_input_"+a,S=t[A],E=e[A];if(Array.isArray(S)&&S===E)continue}if(void 0===v)w&&T?u.calc=!0:d();else if(i._isLinkedToArray){var C=[],L=!1;h||(u.arrays[a]=C);var I=Math.min(m.length,v.length),P=Math.max(m.length,v.length);if(I!==P){if("arraydraw"!==i.editType){d();continue}L=!0}for(b=0;b<I;b++)ot(m[b],v[b],y.concat(b),o.extendFlat({inArray:a,arrayIndex:b},n));if(L)for(b=I;b<P;b++)C.push(b)}else!_&&o.isPlainObject(m)?ot(m,v,y,n):w?T&&k?(f&&(u.calc=!0),(f||n.newDataRevision)&&d()):T!==k?u.calc=!0:d():T&&k&&m.length===v.length&&String(m)===String(v)||d()}}}for(a in e)if(!(a in t)&&"_"!==a.charAt(0)&&"function"!=typeof e[a]){if(g(i=c(r.concat(a)))&&Array.isArray(e[a]))return void(u.calc=!0);d()}}function st(t){var e=t._fullLayout,r=t.getBoundingClientRect();if(!o.equalDomRects(r,e._lastBBox)){var n=e._invTransform=o.inverseTransformMatrix(o.getFullTransformMatrix(t));e._invScaleX=Math.sqrt(n[0][0]*n[0][0]+n[0][1]*n[0][1]+n[0][2]*n[0][2]),e._invScaleY=Math.sqrt(n[1][0]*n[1][0]+n[1][1]*n[1][1]+n[1][2]*n[1][2]),e._lastBBox=r}}function lt(t){var e=n.select(t),r=t._fullLayout;if(r._calcInverseTransform=st,r._calcInverseTransform(t),r._container=e.selectAll(".plot-container").data([0]),r._container.enter().insert("div",":first-child").classed("plot-container",!0).classed("plotly",!0),r._paperdiv=r._container.selectAll(".svg-container").data([0]),r._paperdiv.enter().append("div").classed("user-select-none",!0).classed("svg-container",!0).style("position","relative"),r._glcontainer=r._paperdiv.selectAll(".gl-container").data([{}]),r._glcontainer.enter().append("div").classed("gl-container",!0),r._paperdiv.selectAll(".main-svg").remove(),r._paperdiv.select(".modebar-container").remove(),r._paper=r._paperdiv.insert("svg",":first-child").classed("main-svg",!0),r._toppaper=r._paperdiv.append("svg").classed("main-svg",!0),r._modebardiv=r._paperdiv.append("div"),delete r._modeBar,r._hoverpaper=r._paperdiv.append("svg").classed("main-svg",!0),!r._uid){var i={};n.selectAll("defs").each((function(){this.id&&(i[this.id.split("-")[1]]=1)})),r._uid=o.randstr(i)}r._paperdiv.selectAll(".main-svg").attr(y.svgAttrs),r._defs=r._paper.append("defs").attr("id","defs-"+r._uid),r._clips=r._defs.append("g").classed("clips",!0),r._topdefs=r._toppaper.append("defs").attr("id","topdefs-"+r._uid),r._topclips=r._topdefs.append("g").classed("clips",!0),r._bgLayer=r._paper.append("g").classed("bglayer",!0),r._draggers=r._paper.append("g").classed("draglayer",!0);var a=r._paper.append("g").classed("layer-below",!0);r._imageLowerLayer=a.append("g").classed("imagelayer",!0),r._shapeLowerLayer=a.append("g").classed("shapelayer",!0),r._cartesianlayer=r._paper.append("g").classed("cartesianlayer",!0),r._polarlayer=r._paper.append("g").classed("polarlayer",!0),r._ternarylayer=r._paper.append("g").classed("ternarylayer",!0),r._geolayer=r._paper.append("g").classed("geolayer",!0),r._funnelarealayer=r._paper.append("g").classed("funnelarealayer",!0),r._pielayer=r._paper.append("g").classed("pielayer",!0),r._treemaplayer=r._paper.append("g").classed("treemaplayer",!0),r._sunburstlayer=r._paper.append("g").classed("sunburstlayer",!0),r._indicatorlayer=r._toppaper.append("g").classed("indicatorlayer",!0),r._glimages=r._paper.append("g").classed("glimages",!0);var s=r._toppaper.append("g").classed("layer-above",!0);r._imageUpperLayer=s.append("g").classed("imagelayer",!0),r._shapeUpperLayer=s.append("g").classed("shapelayer",!0),r._infolayer=r._toppaper.append("g").classed("infolayer",!0),r._menulayer=r._toppaper.append("g").classed("menulayer",!0),r._zoomlayer=r._toppaper.append("g").classed("zoomlayer",!0),r._hoverlayer=r._hoverpaper.append("g").classed("hoverlayer",!0),r._modebardiv.classed("modebar-container",!0).style("position","absolute").style("top","0px").style("right","0px"),t.emit("plotly_framework")}r.animate=function(t,e,r){if(t=o.getGraphDiv(t),!o.isPlotDiv(t))throw new Error("This element is not a Plotly plot: "+t+". It's likely that you've failed to create a plot before animating it. For more details, see https://plotly.com/javascript/animations/");var n=t._transitionData;n._frameQueue||(n._frameQueue=[]);var i=(r=h.supplyAnimationDefaults(r)).transition,a=r.frame;function s(t){return Array.isArray(i)?t>=i.length?i[0]:i[t]:i}function l(t){return Array.isArray(a)?t>=a.length?a[0]:a[t]:a}function c(t,e){var r=0;return function(){if(t&&++r===e)return t()}}return void 0===n._frameWaitingCnt&&(n._frameWaitingCnt=0),new Promise((function(a,u){function f(){n._currentFrame&&n._currentFrame.onComplete&&n._currentFrame.onComplete();var e=n._currentFrame=n._frameQueue.shift();if(e){var r=e.name?e.name.toString():null;t._fullLayout._currentFrame=r,n._lastFrameAt=Date.now(),n._timeToNext=e.frameOpts.duration,h.transition(t,e.frame.data,e.frame.layout,T.coerceTraceIndices(t,e.frame.traces),e.frameOpts,e.transitionOpts).then((function(){e.onComplete&&e.onComplete()})),t.emit("plotly_animatingframe",{name:r,frame:e.frame,animation:{frame:e.frameOpts,transition:e.transitionOpts}})}else t.emit("plotly_animated"),window.cancelAnimationFrame(n._animationRaf),n._animationRaf=null}function p(){t.emit("plotly_animating"),n._lastFrameAt=-1/0,n._timeToNext=0,n._runningTransitions=0,n._currentFrame=null;var e=function(){n._animationRaf=window.requestAnimationFrame(e),Date.now()-n._lastFrameAt>n._timeToNext&&f()};e()}var d,g,m=0;function v(t){return Array.isArray(i)?m>=i.length?t.transitionOpts=i[m]:t.transitionOpts=i[0]:t.transitionOpts=i,m++,t}var y=[],x=null==e,b=Array.isArray(e);if(!x&&!b&&o.isPlainObject(e))y.push({type:"object",data:v(o.extendFlat({},e))});else if(x||-1!==["string","number"].indexOf(typeof e))for(d=0;d<n._frames.length;d++)(g=n._frames[d])&&(x||String(g.group)===String(e))&&y.push({type:"byname",name:String(g.name),data:v({name:g.name})});else if(b)for(d=0;d<e.length;d++){var _=e[d];-1!==["number","string"].indexOf(typeof _)?(_=String(_),y.push({type:"byname",name:_,data:v({name:_})})):o.isPlainObject(_)&&y.push({type:"object",data:v(o.extendFlat({},_))})}for(d=0;d<y.length;d++)if("byname"===(g=y[d]).type&&!n._frameHash[g.data.name])return o.warn('animate failure: frame not found: "'+g.data.name+'"'),void u();-1!==["next","immediate"].indexOf(r.mode)&&function(){if(0!==n._frameQueue.length){for(;n._frameQueue.length;){var e=n._frameQueue.pop();e.onInterrupt&&e.onInterrupt()}t.emit("plotly_animationinterrupted",[])}}(),"reverse"===r.direction&&y.reverse();var w=t._fullLayout._currentFrame;if(w&&r.fromcurrent){var k=-1;for(d=0;d<y.length;d++)if("byname"===(g=y[d]).type&&g.name===w){k=d;break}if(k>0&&k<y.length-1){var M=[];for(d=0;d<y.length;d++)g=y[d],("byname"!==y[d].type||d>k)&&M.push(g);y=M}}y.length>0?function(e){if(0!==e.length){for(var i=0;i<e.length;i++){var o;o="byname"===e[i].type?h.computeFrame(t,e[i].name):e[i].data;var f=l(i),d=s(i);d.duration=Math.min(d.duration,f.duration);var g={frame:o,name:e[i].name,frameOpts:f,transitionOpts:d};i===e.length-1&&(g.onComplete=c(a,2),g.onInterrupt=u),n._frameQueue.push(g)}"immediate"===r.mode&&(n._lastFrameAt=-1/0),n._animationRaf||p()}}(y):(t.emit("plotly_animated"),a())}))},r.addFrames=function(t,e,r){if(t=o.getGraphDiv(t),null==e)return Promise.resolve();if(!o.isPlotDiv(t))throw new Error("This element is not a Plotly plot: "+t+". It's likely that you've failed to create a plot before adding frames. For more details, see https://plotly.com/javascript/animations/");var n,i,a,s,l=t._transitionData._frames,u=t._transitionData._frameHash;if(!Array.isArray(e))throw new Error("addFrames failure: frameList must be an Array of frame definitions"+e);var f=l.length+2*e.length,p=[],d={};for(n=e.length-1;n>=0;n--)if(o.isPlainObject(e[n])){var g=e[n].name,m=(u[g]||d[g]||{}).name,v=e[n].name,y=u[m]||d[m];m&&v&&"number"==typeof v&&y&&S<5&&(S++,o.warn('addFrames: overwriting frame "'+(u[m]||d[m]).name+'" with a frame whose name of type "number" also equates to "'+m+'". This is valid but may potentially lead to unexpected behavior since all plotly.js frame names are stored internally as strings.'),5===S&&o.warn("addFrames: This API call has yielded too many of these warnings. For the rest of this call, further warnings about numeric frame names will be suppressed.")),d[g]={name:g},p.push({frame:h.supplyFrameDefaults(e[n]),index:r&&void 0!==r[n]&&null!==r[n]?r[n]:f+n})}p.sort((function(t,e){return t.index>e.index?-1:t.index<e.index?1:0}));var x=[],b=[],_=l.length;for(n=p.length-1;n>=0;n--){if("number"==typeof(i=p[n].frame).name&&o.warn("Warning: addFrames accepts frames with numeric names, but the numbers areimplicitly cast to strings"),!i.name)for(;u[i.name="frame "+t._transitionData._counter++];);if(u[i.name]){for(a=0;a<l.length&&(l[a]||{}).name!==i.name;a++);x.push({type:"replace",index:a,value:i}),b.unshift({type:"replace",index:a,value:l[a]})}else s=Math.max(0,Math.min(p[n].index,_)),x.push({type:"insert",index:s,value:i}),b.unshift({type:"delete",index:s}),_++}var w=h.modifyFrames,T=h.modifyFrames,k=[t,b],M=[t,x];return c&&c.add(t,w,k,T,M),h.modifyFrames(t,x)},r.deleteFrames=function(t,e){if(t=o.getGraphDiv(t),!o.isPlotDiv(t))throw new Error("This element is not a Plotly plot: "+t);var r,n,i=t._transitionData._frames,a=[],s=[];if(!e)for(e=[],r=0;r<i.length;r++)e.push(r);for((e=e.slice()).sort(),r=e.length-1;r>=0;r--)n=e[r],a.push({type:"delete",index:n}),s.unshift({type:"insert",index:n,value:i[n]});var l=h.modifyFrames,u=h.modifyFrames,f=[t,s],p=[t,a];return c&&c.add(t,l,f,u,p),h.modifyFrames(t,a)},r.addTraces=function t(e,n,i){e=o.getGraphDiv(e);var a,s,l=[],u=r.deleteTraces,f=t,h=[e,l],p=[e,n];for(function(t,e,r){var n,i;if(!Array.isArray(t.data))throw new Error("gd.data must be an array.");if("undefined"==typeof e)throw new Error("traces must be defined.");for(Array.isArray(e)||(e=[e]),n=0;n<e.length;n++)if("object"!=typeof(i=e[n])||Array.isArray(i)||null===i)throw new Error("all values in traces array must be non-array objects");if("undefined"==typeof r||Array.isArray(r)||(r=[r]),"undefined"!=typeof r&&r.length!==e.length)throw new Error("if indices is specified, traces.length must equal indices.length")}(e,n,i),Array.isArray(n)||(n=[n]),n=n.map((function(t){return o.extendFlat({},t)})),T.cleanData(n),a=0;a<n.length;a++)e.data.push(n[a]);for(a=0;a<n.length;a++)l.push(-n.length+a);if("undefined"==typeof i)return s=r.redraw(e),c.add(e,u,h,f,p),s;Array.isArray(i)||(i=[i]);try{O(e,l,i)}catch(t){throw e.data.splice(e.data.length-n.length,n.length),t}return c.startSequence(e),c.add(e,u,h,f,p),s=r.moveTraces(e,l,i),c.stopSequence(e),s},r.deleteTraces=function t(e,n){e=o.getGraphDiv(e);var i,a,s=[],l=r.addTraces,u=t,f=[e,s,n],h=[e,n];if("undefined"==typeof n)throw new Error("indices must be an integer or array of integers.");for(Array.isArray(n)||(n=[n]),z(e,n,"indices"),(n=P(n,e.data.length-1)).sort(o.sorterDes),i=0;i<n.length;i+=1)a=e.data.splice(n[i],1)[0],s.push(a);var p=r.redraw(e);return c.add(e,l,f,u,h),p},r.extendTraces=function t(e,n,i,a){function s(t,e,r){var n,i;if(o.isTypedArray(t))if(r<0){var a=new t.constructor(0),s=R(t,e);r<0?(n=s,i=a):(n=a,i=s)}else if(n=new t.constructor(r),i=new t.constructor(t.length+e.length-r),r===e.length)n.set(e),i.set(t);else if(r<e.length){var l=e.length-r;n.set(e.subarray(l)),i.set(t),i.set(e.subarray(0,l),t.length)}else{var c=r-e.length,u=t.length-c;n.set(t.subarray(u)),n.set(e,c),i.set(t.subarray(0,u))}else n=t.concat(e),i=r>=0&&r<n.length?n.splice(0,n.length-r):[];return[n,i]}var l=D(e=o.getGraphDiv(e),n,i,a,s),u=r.redraw(e),f=[e,l.update,i,l.maxPoints];return c.add(e,r.prependTraces,f,t,arguments),u},r.moveTraces=function t(e,n,i){var a,s=[],l=[],u=t,f=t,h=[e=o.getGraphDiv(e),i,n],p=[e,n,i];if(O(e,n,i),n=Array.isArray(n)?n:[n],"undefined"==typeof i)for(i=[],a=0;a<n.length;a++)i.push(-n.length+a);for(i=Array.isArray(i)?i:[i],n=P(n,e.data.length-1),i=P(i,e.data.length-1),a=0;a<e.data.length;a++)-1===n.indexOf(a)&&s.push(e.data[a]);for(a=0;a<n.length;a++)l.push({newIndex:i[a],trace:e.data[n[a]]});for(l.sort((function(t,e){return t.newIndex-e.newIndex})),a=0;a<l.length;a+=1)s.splice(l[a].newIndex,0,l[a].trace);e.data=s;var d=r.redraw(e);return c.add(e,u,h,f,p),d},r.prependTraces=function t(e,n,i,a){function s(t,e,r){var n,i;if(o.isTypedArray(t))if(r<=0){var a=new t.constructor(0),s=R(e,t);r<0?(n=s,i=a):(n=a,i=s)}else if(n=new t.constructor(r),i=new t.constructor(t.length+e.length-r),r===e.length)n.set(e),i.set(t);else if(r<e.length){var l=e.length-r;n.set(e.subarray(0,l)),i.set(e.subarray(l)),i.set(t,l)}else{var c=r-e.length;n.set(e),n.set(t.subarray(0,c),e.length),i.set(t.subarray(c))}else n=e.concat(t),i=r>=0&&r<n.length?n.splice(r,n.length):[];return[n,i]}var l=D(e=o.getGraphDiv(e),n,i,a,s),u=r.redraw(e),f=[e,l.update,i,l.maxPoints];return c.add(e,r.extendTraces,f,t,arguments),u},r.newPlot=function(t,e,n,i){return t=o.getGraphDiv(t),h.cleanPlot([],{},t._fullData||[],t._fullLayout||{}),h.purge(t),r.plot(t,e,n,i)},r.plot=function(t,e,i,a){var s;if(t=o.getGraphDiv(t),l.init(t),o.isPlainObject(e)){var c=e;e=c.data,i=c.layout,a=c.config,s=c.frames}if(!1===l.triggerHandler(t,"plotly_beforeplot",[e,i,a]))return Promise.reject();e||i||o.isPlotDiv(t)||o.warn("Calling Plotly.plot as if redrawing but this container doesn't yet have a plot.",t),I(t,a),i||(i={}),n.select(t).classed("js-plotly-plot",!0),g.makeTester(),Array.isArray(t._promises)||(t._promises=[]);var f=0===(t.data||[]).length&&Array.isArray(e);Array.isArray(e)&&(T.cleanData(e),f?t.data=e:t.data.push.apply(t.data,e),t.empty=!1),t.layout&&!f||(t.layout=T.cleanLayout(i)),h.supplyDefaults(t);var m=t._fullLayout,y=m._has("cartesian");if(!m._has("polar")&&e&&e[0]&&e[0].r)return o.log("Legacy polar charts are deprecated!"),function(t,e,r){var i=n.select(t).selectAll(".plot-container").data([0]);i.enter().insert("div",":first-child").classed("plot-container plotly",!0);var a=i.selectAll(".svg-container").data([0]);a.enter().append("div").classed("svg-container",!0).style("position","relative"),a.html(""),e&&(t.data=e);r&&(t.layout=r);p.manager.fillLayout(t),a.style({width:t._fullLayout.width+"px",height:t._fullLayout.height+"px"}),t.framework=p.manager.framework(t),t.framework({data:t.data,layout:t.layout},a.node()),t.framework.setUndoPoint();var s=t.framework.svg(),l=1,c=t._fullLayout.title?t._fullLayout.title.text:"";""!==c&&c||(l=0);var u=function(){this.call(x.convertToTspans,t)},f=s.select(".title-group text").call(u);if(t._context.edits.titleText){var d=o._(t,"Click to enter Plot title");c&&c!==d||(l=.2,f.attr({"data-unformatted":d}).text(d).style({opacity:l}).on("mouseover.opacity",(function(){n.select(this).transition().duration(100).style("opacity",1)})).on("mouseout.opacity",(function(){n.select(this).transition().duration(1e3).style("opacity",0)})));var g=function(){this.call(x.makeEditable,{gd:t}).on("edit",(function(e){t.framework({layout:{title:{text:e}}}),this.text(e).call(u),this.call(g)})).on("cancel",(function(){var t=this.attr("data-unformatted");this.text(t).call(u)}))};f.call(g)}return t._context.setBackground(t,t._fullLayout.paper_bgcolor),h.addLinks(t),Promise.resolve()}(t,e,i);m._replotting=!0,(f||m._shouldCreateBgLayer)&&(lt(t),m._shouldCreateBgLayer&&delete m._shouldCreateBgLayer),t.framework!==lt&&(t.framework=lt,lt(t)),g.initGradients(t),f&&d.saveShowSpikeInitial(t);var b=!t.calcdata||t.calcdata.length!==(t._fullData||[]).length;b&&h.doCalcdata(t);for(var _=0;_<t.calcdata.length;_++)t.calcdata[_][0].trace=t._fullData[_];t._context.responsive?t._responsiveChartHandler||(t._responsiveChartHandler=function(){o.isHidden(t)||h.resize(t)},window.addEventListener("resize",t._responsiveChartHandler)):o.clearResponsive(t);var w=o.extendFlat({},m._size),M=0;function A(){if(h.clearAutoMarginIds(t),k.drawMarginPushers(t),d.allowAutoMargin(t),m._has("pie"))for(var e=t._fullData,r=0;r<e.length;r++){var n=e[r];"pie"===n.type&&n.automargin&&h.allowAutoMargin(t,"pie."+n.uid+".automargin")}return h.doAutoMargin(t),h.previousPromises(t)}function S(){t._transitioning||(k.doAutoRangeAndConstraints(t),f&&d.saveRangeInitial(t),u.getComponentMethod("rangeslider","calcAutorange")(t))}var C=[h.previousPromises,function(){if(s)return r.addFrames(t,s)},function e(){for(var r=m._basePlotModules,n=0;n<r.length;n++)r[n].drawFramework&&r[n].drawFramework(t);if(!m._glcanvas&&m._has("gl")&&(m._glcanvas=m._glcontainer.selectAll(".gl-canvas").data([{key:"contextLayer",context:!0,pick:!1},{key:"focusLayer",context:!1,pick:!1},{key:"pickLayer",context:!1,pick:!0}],(function(t){return t.key})),m._glcanvas.enter().append("canvas").attr("class",(function(t){return"gl-canvas gl-canvas-"+t.key.replace("Layer","")})).style({position:"absolute",top:0,left:0,overflow:"visible","pointer-events":"none"})),m._glcanvas){m._glcanvas.attr("width",m.width).attr("height",m.height);var i=m._glcanvas.data()[0].regl;if(i&&(Math.floor(m.width)!==i._gl.drawingBufferWidth||Math.floor(m.height)!==i._gl.drawingBufferHeight)){var a="WebGL context buffer and canvas dimensions do not match due to browser/WebGL bug.";if(!M)return o.log(a+" Clearing graph and plotting again."),h.cleanPlot([],{},t._fullData,m),h.supplyDefaults(t),m=t._fullLayout,h.doCalcdata(t),M++,e();o.error(a)}}return"h"===m.modebar.orientation?m._modebardiv.style("height",null).style("width","100%"):m._modebardiv.style("width",null).style("height",m.height+"px"),h.previousPromises(t)},A,function(){if(h.didMarginChange(w,m._size))return o.syncOrAsync([A,k.layoutStyles],t)}];y&&C.push((function(){if(b)return o.syncOrAsync([u.getComponentMethod("shapes","calcAutorange"),u.getComponentMethod("annotations","calcAutorange"),S],t);S()})),C.push(k.layoutStyles),y&&C.push((function(){return d.draw(t,f?"":"redraw")}),(function(t){t._fullLayout._insideTickLabelsAutorange&&q(t,t._fullLayout._insideTickLabelsAutorange).then((function(){t._fullLayout._insideTickLabelsAutorange=void 0}))})),C.push(k.drawData,k.finalDraw,v,h.addLinks,h.rehover,h.redrag,h.doAutoMargin,(function(t){t._fullLayout._insideTickLabelsAutorange&&f&&d.saveRangeInitial(t,!0)}),h.previousPromises);var L=o.syncOrAsync(C,t);return L&&L.then||(L=Promise.resolve()),L.then((function(){return E(t),t}))},r.purge=function(t){var e=(t=o.getGraphDiv(t))._fullLayout||{},r=t._fullData||[];return h.cleanPlot([],{},r,e),h.purge(t),l.purge(t),e._container&&e._container.remove(),delete t._context,t},r.react=function(t,e,n,i){var a,l;t=o.getGraphDiv(t),T.clearPromiseQueue(t);var c=t._fullData,p=t._fullLayout;if(o.isPlotDiv(t)&&c&&p){if(o.isPlainObject(e)){var d=e;e=d.data,n=d.layout,i=d.config,a=d.frames}var g=!1;if(i){var m=o.extendDeep({},t._context);t._context=void 0,I(t,i),g=function t(e,r){var n;for(n in e)if("_"!==n.charAt(0)){var i=e[n],a=r[n];if(i!==a)if(o.isPlainObject(i)&&o.isPlainObject(a)){if(t(i,a))return!0}else{if(!Array.isArray(i)||!Array.isArray(a))return!0;if(i.length!==a.length)return!0;for(var s=0;s<i.length;s++)if(i[s]!==a[s]){if(!o.isPlainObject(i[s])||!o.isPlainObject(a[s]))return!0;if(t(i[s],a[s]))return!0}}}}(m,t._context)}t.data=e||[],T.cleanData(t.data),t.layout=n||{},T.cleanLayout(t.layout),function(t,e,r,n){var i,a,l,c,u,f,h,p,d=n._preGUI,g=[],m={};for(i in d){if(u=et(i,$)){if(a=u.attr||u.head+".uirevision",(c=(l=s(n,a).get())&&rt(a,e))&&c===l&&(null===(f=d[i])&&(f=void 0),at(p=(h=s(e,i)).get(),f))){void 0===p&&"autorange"===i.substr(i.length-9)&&g.push(i.substr(0,i.length-10)),h.set(B(s(n,i).get()));continue}}else o.warn("unrecognized GUI edit: "+i);delete d[i],"range["===i.substr(i.length-8,6)&&(m[i.substr(0,i.length-9)]=1)}for(var v=0;v<g.length;v++){var y=g[v];if(m[y]){var x=s(e,y).get();x&&delete x.autorange}}var b=n._tracePreGUI;for(var _ in b){var w,T=b[_],k=null;for(i in T){if(!k){var M=nt(_,r);if(M<0){delete b[_];break}var A=it(_,t,(w=r[M]._fullInput).index);if(A<0){delete b[_];break}k=t[A]}if(u=et(i,tt)){if(u.attr?c=(l=s(n,u.attr).get())&&rt(u.attr,e):(l=w.uirevision,void 0===(c=k.uirevision)&&(c=e.uirevision)),c&&c===l&&(null===(f=T[i])&&(f=void 0),at(p=(h=s(k,i)).get(),f))){h.set(B(s(w,i).get()));continue}}else o.warn("unrecognized GUI edit: "+i+" in trace uid "+_);delete T[i]}}}(t.data,t.layout,c,p),h.supplyDefaults(t,{skipUpdateCalc:!0});var v=t._fullData,y=t._fullLayout,x=void 0===y.datarevision,b=y.transition,_=function(t,e,r,n,i){var a=M.layoutFlags();function o(t){return f.getLayoutValObject(r,t)}a.arrays={},a.rangesAltered={},a.nChanges=0,a.nChangesAnim=0,ot(e,r,[],{getValObject:o,flags:a,immutable:n,transition:i,gd:t}),(a.plot||a.calc)&&(a.layoutReplot=!0);i&&a.nChanges&&a.nChangesAnim&&(a.anim=a.nChanges===a.nChangesAnim?"all":"some");return a}(t,p,y,x,b),w=_.newDataRevision,A=function(t,e,r,n,i,a){var o=e.length===r.length;if(!i&&!o)return{fullReplot:!0,calc:!0};var s,l,c=M.traceFlags();c.arrays={},c.nChanges=0,c.nChangesAnim=0;var u={getValObject:function(t){var e=f.getTraceValObject(l,t);return!l._module.animatable&&e.anim&&(e.anim=!1),e},flags:c,immutable:n,transition:i,newDataRevision:a,gd:t},p={};for(s=0;s<e.length;s++)if(r[s]){if(l=r[s]._fullInput,h.hasMakesDataTransform(l)&&(l=r[s]),p[l.uid])continue;p[l.uid]=1,ot(e[s]._fullInput,l,[],u)}(c.calc||c.plot)&&(c.fullReplot=!0);i&&c.nChanges&&c.nChangesAnim&&(c.anim=c.nChanges===c.nChangesAnim&&o?"all":"some");return c}(t,c,v,x,b,w);if(J(t)&&(_.layoutReplot=!0),A.calc||_.calc){t.calcdata=void 0;for(var S=Object.getOwnPropertyNames(y),C=0;C<S.length;C++){var L=S[C],P=L.substring(0,5);if("xaxis"===P||"yaxis"===P){var z=y[L]._emptyCategories;z&&z()}}}else h.supplyDefaultsUpdateCalc(t.calcdata,v);var O=[];if(a&&(t._transitionData={},h.createTransitionData(t),O.push((function(){return r.addFrames(t,a)}))),y.transition&&!g&&(A.anim||_.anim))_.ticks&&O.push(k.doTicksRelayout),h.doCalcdata(t),k.doAutoRangeAndConstraints(t),O.push((function(){return h.transitionFromReact(t,A,_,p)}));else if(A.fullReplot||_.layoutReplot||g)t._fullLayout._skipDefaults=!0,O.push(r.plot);else{for(var D in _.arrays){var R=_.arrays[D];if(R.length){var F=u.getComponentMethod(D,"drawOne");if(F!==o.noop)for(var N=0;N<R.length;N++)F(t,R[N]);else{var j=u.getComponentMethod(D,"draw");if(j===o.noop)throw new Error("cannot draw components: "+D);j(t)}}}O.push(h.previousPromises),A.style&&O.push(k.doTraceStyle),(A.colorbars||_.colorbars)&&O.push(k.doColorBars),_.legend&&O.push(k.doLegend),_.layoutstyle&&O.push(k.layoutStyles),_.axrange&&G(O),_.ticks&&O.push(k.doTicksRelayout),_.modebar&&O.push(k.doModeBar),_.camera&&O.push(k.doCamera),O.push(E)}O.push(h.rehover,h.redrag),(l=o.syncOrAsync(O,t))&&l.then||(l=Promise.resolve(t))}else l=r.newPlot(t,e,n,i);return l.then((function(){return t.emit("plotly_react",{data:e,layout:n}),t}))},r.redraw=function(t){if(t=o.getGraphDiv(t),!o.isPlotDiv(t))throw new Error("This element is not a Plotly plot: "+t);return T.cleanData(t.data),T.cleanLayout(t.layout),t.calcdata=void 0,r.plot(t).then((function(){return t.emit("plotly_redraw"),t}))},r.relayout=q,r.restyle=F,r.setPlotConfig=function(t){return o.extendFlat(_,t)},r.update=K,r._guiRelayout=Q(q),r._guiRestyle=Q(F),r._guiUpdate=Q(K),r._storeDirectGUIEdit=function(t,e,r){for(var n in r){j(n,s(t,n).get(),r[n],e)}}},{"../components/color":643,"../components/drawing":665,"../constants/xmlns_namespaces":754,"../lib":778,"../lib/events":767,"../lib/queue":794,"../lib/svg_text_utils":803,"../plots/cartesian/axes":828,"../plots/cartesian/constants":834,"../plots/cartesian/graph_interact":837,"../plots/cartesian/select":847,"../plots/plots":891,"../plots/polar/legacy":899,"../registry":911,"./edit_types":810,"./helpers":811,"./manage_arrays":813,"./plot_config":815,"./plot_schema":816,"./subroutines":818,d3:169,"fast-isnumeric":241,"has-hover":440}],815:[function(t,e,r){"use strict";var n={staticPlot:{valType:"boolean",dflt:!1},plotlyServerURL:{valType:"string",dflt:""},editable:{valType:"boolean",dflt:!1},edits:{annotationPosition:{valType:"boolean",dflt:!1},annotationTail:{valType:"boolean",dflt:!1},annotationText:{valType:"boolean",dflt:!1},axisTitleText:{valType:"boolean",dflt:!1},colorbarPosition:{valType:"boolean",dflt:!1},colorbarTitleText:{valType:"boolean",dflt:!1},legendPosition:{valType:"boolean",dflt:!1},legendText:{valType:"boolean",dflt:!1},shapePosition:{valType:"boolean",dflt:!1},titleText:{valType:"boolean",dflt:!1}},autosizable:{valType:"boolean",dflt:!1},responsive:{valType:"boolean",dflt:!1},fillFrame:{valType:"boolean",dflt:!1},frameMargins:{valType:"number",dflt:0,min:0,max:.5},scrollZoom:{valType:"flaglist",flags:["cartesian","gl3d","geo","mapbox"],extras:[!0,!1],dflt:"gl3d+geo+mapbox"},doubleClick:{valType:"enumerated",values:[!1,"reset","autosize","reset+autosize"],dflt:"reset+autosize"},doubleClickDelay:{valType:"number",dflt:300,min:0},showAxisDragHandles:{valType:"boolean",dflt:!0},showAxisRangeEntryBoxes:{valType:"boolean",dflt:!0},showTips:{valType:"boolean",dflt:!0},showLink:{valType:"boolean",dflt:!1},linkText:{valType:"string",dflt:"Edit chart",noBlank:!0},sendData:{valType:"boolean",dflt:!0},showSources:{valType:"any",dflt:!1},displayModeBar:{valType:"enumerated",values:["hover",!0,!1],dflt:"hover"},showSendToCloud:{valType:"boolean",dflt:!1},showEditInChartStudio:{valType:"boolean",dflt:!1},modeBarButtonsToRemove:{valType:"any",dflt:[]},modeBarButtonsToAdd:{valType:"any",dflt:[]},modeBarButtons:{valType:"any",dflt:!1},toImageButtonOptions:{valType:"any",dflt:{}},displaylogo:{valType:"boolean",dflt:!0},watermark:{valType:"boolean",dflt:!1},plotGlPixelRatio:{valType:"number",dflt:2,min:1,max:4},setBackground:{valType:"any",dflt:"transparent"},topojsonURL:{valType:"string",noBlank:!0,dflt:"https://cdn.plot.ly/"},mapboxAccessToken:{valType:"string",dflt:null},logging:{valType:"integer",min:0,max:2,dflt:1},notifyOnLogging:{valType:"integer",min:0,max:2,dflt:0},queueLength:{valType:"integer",min:0,dflt:0},globalTransforms:{valType:"any",dflt:[]},locale:{valType:"string",dflt:"en-US"},locales:{valType:"any",dflt:{}}},i={};!function t(e,r){for(var n in e){var i=e[n];i.valType?r[n]=i.dflt:(r[n]||(r[n]={}),t(i,r[n]))}}(n,i),e.exports={configAttributes:n,dfltConfig:i}},{}],816:[function(t,e,r){"use strict";var n=t("../registry"),i=t("../lib"),a=t("../plots/attributes"),o=t("../plots/layout_attributes"),s=t("../plots/frame_attributes"),l=t("../plots/animation_attributes"),c=t("./plot_config").configAttributes,u=t("../plots/polar/legacy/area_attributes"),f=t("../plots/polar/legacy/axis_attributes"),h=t("./edit_types"),p=i.extendFlat,d=i.extendDeepAll,g=i.isPlainObject,m=i.isArrayOrTypedArray,v=i.nestedProperty,y=i.valObjectMeta,x=["_isSubplotObj","_isLinkedToArray","_arrayAttrRegexps","_deprecated"];function b(t,e,r){if(!t)return!1;if(t._isLinkedToArray)if(_(e[r]))r++;else if(r<e.length)return!1;for(;r<e.length;r++){var n=t[e[r]];if(!g(n))break;if(t=n,r===e.length-1)break;if(t._isLinkedToArray){if(!_(e[++r]))return!1}else if("info_array"===t.valType){var i=e[++r];if(!_(i))return!1;var a=t.items;if(Array.isArray(a)){if(i>=a.length)return!1;if(2===t.dimensions){if(r++,e.length===r)return t;var o=e[r];if(!_(o))return!1;t=a[i][o]}else t=a[i]}else t=a}}return t}function _(t){return t===Math.round(t)&&t>=0}function w(){var t,e,r={};for(t in d(r,o),n.subplotsRegistry){if((e=n.subplotsRegistry[t]).layoutAttributes)if(Array.isArray(e.attr))for(var i=0;i<e.attr.length;i++)M(r,e,e.attr[i]);else M(r,e,"subplot"===e.attr?e.name:e.attr)}for(t in r=function(t){return p(t,{radialaxis:f.radialaxis,angularaxis:f.angularaxis}),p(t,f.layout),t}(r),n.componentsRegistry){var a=(e=n.componentsRegistry[t]).schema;if(a&&(a.subplots||a.layout)){var s=a.subplots;if(s&&s.xaxis&&!s.yaxis)for(var l in s.xaxis)delete r.yaxis[l]}else"colorscale"===e.name?d(r,e.layoutAttributes):e.layoutAttributes&&A(r,e.layoutAttributes,e.name)}return{layoutAttributes:k(r)}}function T(){var t={frames:d({},s)};return k(t),t.frames}function k(t){return function(t){r.crawl(t,(function(t,e,n){r.isValObject(t)?"data_array"===t.valType?(t.role="data",n[e+"src"]={valType:"string",editType:"none"}):!0===t.arrayOk&&(n[e+"src"]={valType:"string",editType:"none"}):g(t)&&(t.role="object")}))}(t),function(t){r.crawl(t,(function(t,e,r){if(t){var n=t._isLinkedToArray;n&&(delete t._isLinkedToArray,r[e]={items:{}},r[e].items[n]=t,r[e].role="object")}}))}(t),function(t){!function t(e){for(var r in e)if(g(e[r]))t(e[r]);else if(Array.isArray(e[r]))for(var n=0;n<e[r].length;n++)t(e[r][n]);else e[r]instanceof RegExp&&(e[r]=e[r].toString())}(t)}(t),t}function M(t,e,r){var n=v(t,r),i=d({},e.layoutAttributes);i._isSubplotObj=!0,n.set(i)}function A(t,e,r){var n=v(t,r);n.set(d(n.get()||{},e))}r.IS_SUBPLOT_OBJ="_isSubplotObj",r.IS_LINKED_TO_ARRAY="_isLinkedToArray",r.DEPRECATED="_deprecated",r.UNDERSCORE_ATTRS=x,r.get=function(){var t={};n.allTypes.concat("area").forEach((function(e){t[e]=function(t){var e,i;"area"===t?(e={attributes:u},i={}):(e=n.modules[t]._module,i=e.basePlotModule);var o={type:null},s=d({},a),l=d({},e.attributes);r.crawl(l,(function(t,e,r,n,i){v(s,i).set(void 0),void 0===t&&v(l,i).set(void 0)})),d(o,s),n.traceIs(t,"noOpacity")&&delete o.opacity;n.traceIs(t,"showLegend")||(delete o.showlegend,delete o.legendgroup);n.traceIs(t,"noHover")&&(delete o.hoverinfo,delete o.hoverlabel);e.selectPoints||delete o.selectedpoints;d(o,l),i.attributes&&d(o,i.attributes);o.type=t;var c={meta:e.meta||{},categories:e.categories||{},animatable:Boolean(e.animatable),type:t,attributes:k(o)};if(e.layoutAttributes){var f={};d(f,e.layoutAttributes),c.layoutAttributes=k(f)}e.animatable||r.crawl(c,(function(t){r.isValObject(t)&&"anim"in t&&delete t.anim}));return c}(e)}));var e={};return Object.keys(n.transformsRegistry).forEach((function(t){e[t]=function(t){var e=n.transformsRegistry[t],r=d({},e.attributes);return Object.keys(n.componentsRegistry).forEach((function(e){var i=n.componentsRegistry[e];i.schema&&i.schema.transforms&&i.schema.transforms[t]&&Object.keys(i.schema.transforms[t]).forEach((function(e){A(r,i.schema.transforms[t][e],e)}))})),{attributes:k(r)}}(t)})),{defs:{valObjects:y,metaKeys:x.concat(["description","role","editType","impliedEdits"]),editType:{traces:h.traces,layout:h.layout},impliedEdits:{}},traces:t,layout:w(),transforms:e,frames:T(),animation:k(l),config:k(c)}},r.crawl=function(t,e,n,i){var a=n||0;i=i||"",Object.keys(t).forEach((function(n){var o=t[n];if(-1===x.indexOf(n)){var s=(i?i+".":"")+n;e(o,n,t,a,s),r.isValObject(o)||g(o)&&"impliedEdits"!==n&&r.crawl(o,e,a+1,s)}}))},r.isValObject=function(t){return t&&void 0!==t.valType},r.findArrayAttributes=function(t){var e,n,i=[],o=[],s=[];function l(t,r,a,l){o=o.slice(0,l).concat([r]),s=s.slice(0,l).concat([t&&t._isLinkedToArray]),t&&("data_array"===t.valType||!0===t.arrayOk)&&!("colorbar"===o[l-1]&&("ticktext"===r||"tickvals"===r))&&function t(e,r,a){var l=e[o[r]],c=a+o[r];if(r===o.length-1)m(l)&&i.push(n+c);else if(s[r]){if(Array.isArray(l))for(var u=0;u<l.length;u++)g(l[u])&&t(l[u],r+1,c+"["+u+"].")}else g(l)&&t(l,r+1,c+".")}(e,0,"")}e=t,n="",r.crawl(a,l),t._module&&t._module.attributes&&r.crawl(t._module.attributes,l);var c=t.transforms;if(c)for(var u=0;u<c.length;u++){var f=c[u],h=f._module;h&&(n="transforms["+u+"].",e=f,r.crawl(h.attributes,l))}return i},r.getTraceValObject=function(t,e){var r,i,o=e[0],s=1;if("transforms"===o){if(1===e.length)return a.transforms;var l=t.transforms;if(!Array.isArray(l)||!l.length)return!1;var c=e[1];if(!_(c)||c>=l.length)return!1;i=(r=(n.transformsRegistry[l[c].type]||{}).attributes)&&r[e[2]],s=3}else if("area"===t.type)i=u[o];else{var f=t._module;if(f||(f=(n.modules[t.type||a.type.dflt]||{})._module),!f)return!1;if(!(i=(r=f.attributes)&&r[o])){var h=f.basePlotModule;h&&h.attributes&&(i=h.attributes[o])}i||(i=a[o])}return b(i,e,s)},r.getLayoutValObject=function(t,e){return b(function(t,e){var r,i,a,s,l=t._basePlotModules;if(l){var c;for(r=0;r<l.length;r++){if((a=l[r]).attrRegex&&a.attrRegex.test(e)){if(a.layoutAttrOverrides)return a.layoutAttrOverrides;!c&&a.layoutAttributes&&(c=a.layoutAttributes)}var u=a.baseLayoutAttrOverrides;if(u&&e in u)return u[e]}if(c)return c}var h=t._modules;if(h)for(r=0;r<h.length;r++)if((s=h[r].layoutAttributes)&&e in s)return s[e];for(i in n.componentsRegistry){if("colorscale"===(a=n.componentsRegistry[i]).name&&0===e.indexOf("coloraxis"))return a.layoutAttributes[e];if(!a.schema&&e===a.name)return a.layoutAttributes}if(e in o)return o[e];if("radialaxis"===e||"angularaxis"===e)return f[e];return f.layout[e]||!1}(t,e[0]),e,1)}},{"../lib":778,"../plots/animation_attributes":822,"../plots/attributes":824,"../plots/frame_attributes":857,"../plots/layout_attributes":882,"../plots/polar/legacy/area_attributes":897,"../plots/polar/legacy/axis_attributes":898,"../registry":911,"./edit_types":810,"./plot_config":815}],817:[function(t,e,r){"use strict";var n=t("../lib"),i=t("../plots/attributes"),a={name:{valType:"string",editType:"none"}};function o(t){return t&&"string"==typeof t}function s(t){var e=t.length-1;return"s"!==t.charAt(e)&&n.warn("bad argument to arrayDefaultKey: "+t),t.substr(0,t.length-1)+"defaults"}a.templateitemname={valType:"string",editType:"calc"},r.templatedArray=function(t,e){return e._isLinkedToArray=t,e.name=a.name,e.templateitemname=a.templateitemname,e},r.traceTemplater=function(t){var e,r,a={};for(e in t)r=t[e],Array.isArray(r)&&r.length&&(a[e]=0);return{newTrace:function(o){var s={type:e=n.coerce(o,{},i,"type"),_template:null};if(e in a){r=t[e];var l=a[e]%r.length;a[e]++,s._template=r[l]}return s}}},r.newContainer=function(t,e,r){var i=t._template,a=i&&(i[e]||r&&i[r]);return n.isPlainObject(a)||(a=null),t[e]={_template:a}},r.arrayTemplater=function(t,e,r){var n=t._template,i=n&&n[s(e)],a=n&&n[e];Array.isArray(a)&&a.length||(a=[]);var l={};return{newItem:function(t){var e={name:t.name,_input:t},n=e.templateitemname=t.templateitemname;if(!o(n))return e._template=i,e;for(var s=0;s<a.length;s++){var c=a[s];if(c.name===n)return l[n]=1,e._template=c,e}return e[r]=t[r]||!1,e._template=!1,e},defaultItems:function(){for(var t=[],e=0;e<a.length;e++){var r=a[e],n=r.name;if(o(n)&&!l[n]){var i={_template:r,name:n,_input:{_templateitemname:n}};i.templateitemname=r.templateitemname,t.push(i),l[n]=1}}return t}}},r.arrayDefaultKey=s,r.arrayEditor=function(t,e,r){var i=(n.nestedProperty(t,e).get()||[]).length,a=r._index,o=a>=i&&(r._input||{})._templateitemname;o&&(a=i);var s,l=e+"["+a+"]";function c(){s={},o&&(s[l]={},s[l].templateitemname=o)}function u(t,e){o?n.nestedProperty(s[l],t).set(e):s[l+"."+t]=e}function f(){var t=s;return c(),t}return c(),{modifyBase:function(t,e){s[t]=e},modifyItem:u,getUpdateObj:f,applyUpdate:function(e,r){e&&u(e,r);var i=f();for(var a in i)n.nestedProperty(t,a).set(i[a])}}}},{"../lib":778,"../plots/attributes":824}],818:[function(t,e,r){"use strict";var n=t("d3"),i=t("../registry"),a=t("../plots/plots"),o=t("../lib"),s=t("../lib/clear_gl_canvases"),l=t("../components/color"),c=t("../components/drawing"),u=t("../components/titles"),f=t("../components/modebar"),h=t("../plots/cartesian/axes"),p=t("../constants/alignment"),d=t("../plots/cartesian/constraints"),g=d.enforce,m=d.clean,v=t("../plots/cartesian/autorange").doAutoRange;function y(t,e,r){for(var n=0;n<r.length;n++){var i=r[n][0],a=r[n][1];if(!(i[0]>=t[1]||i[1]<=t[0])&&(a[0]<e[1]&&a[1]>e[0]))return!0}return!1}function x(t){var e,i,s,u,d,g,m=t._fullLayout,v=m._size,x=v.p,_=h.list(t,"",!0);if(m._paperdiv.style({width:t._context.responsive&&m.autosize&&!t._context._hasZeroWidth&&!t.layout.width?"100%":m.width+"px",height:t._context.responsive&&m.autosize&&!t._context._hasZeroHeight&&!t.layout.height?"100%":m.height+"px"}).selectAll(".main-svg").call(c.setSize,m.width,m.height),t._context.setBackground(t,m.paper_bgcolor),r.drawMainTitle(t),f.manage(t),!m._has("cartesian"))return a.previousPromises(t);function T(t,e,r){var n=t._lw/2;return"x"===t._id.charAt(0)?e?"top"===r?e._offset-x-n:e._offset+e._length+x+n:v.t+v.h*(1-(t.position||0))+n%1:e?"right"===r?e._offset+e._length+x+n:e._offset-x-n:v.l+v.w*(t.position||0)+n%1}for(e=0;e<_.length;e++){var k=(u=_[e])._anchorAxis;u._linepositions={},u._lw=c.crispRound(t,u.linewidth,1),u._mainLinePosition=T(u,k,u.side),u._mainMirrorPosition=u.mirror&&k?T(u,k,p.OPPOSITE_SIDE[u.side]):null}var M=[],A=[],S=[],E=1===l.opacity(m.paper_bgcolor)&&1===l.opacity(m.plot_bgcolor)&&m.paper_bgcolor===m.plot_bgcolor;for(i in m._plots)if((s=m._plots[i]).mainplot)s.bg&&s.bg.remove(),s.bg=void 0;else{var C=s.xaxis.domain,L=s.yaxis.domain,I=s.plotgroup;if(y(C,L,S)){var P=I.node(),z=s.bg=o.ensureSingle(I,"rect","bg");P.insertBefore(z.node(),P.childNodes[0]),A.push(i)}else I.select("rect.bg").remove(),S.push([C,L]),E||(M.push(i),A.push(i))}var O,D,R,F,B,N,j,U,V,q,H,G,Y,W=m._bgLayer.selectAll(".bg").data(M);for(W.enter().append("rect").classed("bg",!0),W.exit().remove(),W.each((function(t){m._plots[t].bg=n.select(this)})),e=0;e<A.length;e++)s=m._plots[A[e]],d=s.xaxis,g=s.yaxis,s.bg&&void 0!==d._offset&&void 0!==g._offset&&s.bg.call(c.setRect,d._offset-x,g._offset-x,d._length+2*x,g._length+2*x).call(l.fill,m.plot_bgcolor).style("stroke-width",0);if(!m._hasOnlyLargeSploms)for(i in m._plots){s=m._plots[i],d=s.xaxis,g=s.yaxis;var X,Z,J=s.clipId="clip"+m._uid+i+"plot",K=o.ensureSingleById(m._clips,"clipPath",J,(function(t){t.classed("plotclip",!0).append("rect")}));s.clipRect=K.select("rect").attr({width:d._length,height:g._length}),c.setTranslate(s.plot,d._offset,g._offset),s._hasClipOnAxisFalse?(X=null,Z=J):(X=J,Z=null),c.setClipUrl(s.plot,X,t),s.layerClipId=Z}function Q(t){return"M"+O+","+t+"H"+D}function $(t){return"M"+d._offset+","+t+"h"+d._length}function tt(t){return"M"+t+","+U+"V"+j}function et(t){return"M"+t+","+g._offset+"v"+g._length}function rt(t,e,r){if(!t.showline||i!==t._mainSubplot)return"";if(!t._anchorAxis)return r(t._mainLinePosition);var n=e(t._mainLinePosition);return t.mirror&&(n+=e(t._mainMirrorPosition)),n}for(i in m._plots){s=m._plots[i],d=s.xaxis,g=s.yaxis;var nt="M0,0";b(d,i)&&(B=w(d,"left",g,_),O=d._offset-(B?x+B:0),N=w(d,"right",g,_),D=d._offset+d._length+(N?x+N:0),R=T(d,g,"bottom"),F=T(d,g,"top"),!(Y=!d._anchorAxis||i!==d._mainSubplot)||"allticks"!==d.mirror&&"all"!==d.mirror||(d._linepositions[i]=[R,F]),nt=rt(d,Q,$),Y&&d.showline&&("all"===d.mirror||"allticks"===d.mirror)&&(nt+=Q(R)+Q(F)),s.xlines.style("stroke-width",d._lw+"px").call(l.stroke,d.showline?d.linecolor:"rgba(0,0,0,0)")),s.xlines.attr("d",nt);var it="M0,0";b(g,i)&&(H=w(g,"bottom",d,_),j=g._offset+g._length+(H?x:0),G=w(g,"top",d,_),U=g._offset-(G?x:0),V=T(g,d,"left"),q=T(g,d,"right"),!(Y=!g._anchorAxis||i!==g._mainSubplot)||"allticks"!==g.mirror&&"all"!==g.mirror||(g._linepositions[i]=[V,q]),it=rt(g,tt,et),Y&&g.showline&&("all"===g.mirror||"allticks"===g.mirror)&&(it+=tt(V)+tt(q)),s.ylines.style("stroke-width",g._lw+"px").call(l.stroke,g.showline?g.linecolor:"rgba(0,0,0,0)")),s.ylines.attr("d",it)}return h.makeClipPaths(t),a.previousPromises(t)}function b(t,e){return(t.ticks||t.showline)&&(e===t._mainSubplot||"all"===t.mirror||"allticks"===t.mirror)}function _(t,e,r){if(!r.showline||!r._lw)return!1;if("all"===r.mirror||"allticks"===r.mirror)return!0;var n=r._anchorAxis;if(!n)return!1;var i=p.FROM_BL[e];return r.side===e?n.domain[i]===t.domain[i]:r.mirror&&n.domain[1-i]===t.domain[1-i]}function w(t,e,r,n){if(_(t,e,r))return r._lw;for(var i=0;i<n.length;i++){var a=n[i];if(a._mainAxis===r._mainAxis&&_(t,e,a))return a._lw}return 0}function T(t,e){var r=t.title,n=t._size,i=0;switch("start"===e?i=r.pad.l:"end"===e&&(i=-r.pad.r),r.xref){case"paper":return n.l+n.w*r.x+i;case"container":default:return t.width*r.x+i}}function k(t,e){var r=t.title,n=t._size,i=0;if("0em"!==e&&e?e===p.CAP_SHIFT+"em"&&(i=r.pad.t):i=-r.pad.b,"auto"===r.y)return n.t/2;switch(r.yref){case"paper":return n.t+n.h-n.h*r.y+i;case"container":default:return t.height-t.height*r.y+i}}r.layoutStyles=function(t){return o.syncOrAsync([a.doAutoMargin,x],t)},r.drawMainTitle=function(t){var e=t._fullLayout,r=function(t){var e=t.title,r="middle";o.isRightAnchor(e)?r="end":o.isLeftAnchor(e)&&(r="start");return r}(e),n=function(t){var e=t.title,r="0em";o.isTopAnchor(e)?r=p.CAP_SHIFT+"em":o.isMiddleAnchor(e)&&(r=p.MID_SHIFT+"em");return r}(e);u.draw(t,"gtitle",{propContainer:e,propName:"title.text",placeholder:e._dfltTitle.plot,attributes:{x:T(e,r),y:k(e,n),"text-anchor":r,dy:n}})},r.doTraceStyle=function(t){var e,n=t.calcdata,o=[];for(e=0;e<n.length;e++){var l=n[e],c=l[0]||{},u=c.trace||{},f=u._module||{},h=f.arraysToCalcdata;h&&h(l,u);var p=f.editStyle;p&&o.push({fn:p,cd0:c})}if(o.length){for(e=0;e<o.length;e++){var d=o[e];d.fn(t,d.cd0)}s(t),r.redrawReglTraces(t)}return a.style(t),i.getComponentMethod("legend","draw")(t),a.previousPromises(t)},r.doColorBars=function(t){return i.getComponentMethod("colorbar","draw")(t),a.previousPromises(t)},r.layoutReplot=function(t){var e=t.layout;return t.layout=void 0,i.call("plot",t,"",e)},r.doLegend=function(t){return i.getComponentMethod("legend","draw")(t),a.previousPromises(t)},r.doTicksRelayout=function(t){return h.draw(t,"redraw"),t._fullLayout._hasOnlyLargeSploms&&(i.subplotsRegistry.splom.updateGrid(t),s(t),r.redrawReglTraces(t)),r.drawMainTitle(t),a.previousPromises(t)},r.doModeBar=function(t){var e=t._fullLayout;f.manage(t);for(var r=0;r<e._basePlotModules.length;r++){var n=e._basePlotModules[r].updateFx;n&&n(t)}return a.previousPromises(t)},r.doCamera=function(t){for(var e=t._fullLayout,r=e._subplots.gl3d,n=0;n<r.length;n++){var i=e[r[n]];i._scene.setViewport(i)}},r.drawData=function(t){var e=t._fullLayout;s(t);for(var n=e._basePlotModules,o=0;o<n.length;o++)n[o].plot(t);return r.redrawReglTraces(t),a.style(t),i.getComponentMethod("shapes","draw")(t),i.getComponentMethod("annotations","draw")(t),i.getComponentMethod("images","draw")(t),e._replotting=!1,a.previousPromises(t)},r.redrawReglTraces=function(t){var e=t._fullLayout;if(e._has("regl")){var r,n,i=t._fullData,a=[],s=[];for(e._hasOnlyLargeSploms&&e._splomGrid.draw(),r=0;r<i.length;r++){var l=i[r];!0===l.visible&&0!==l._length&&("splom"===l.type?e._splomScenes[l.uid].draw():"scattergl"===l.type?o.pushUnique(a,l.xaxis+l.yaxis):"scatterpolargl"===l.type&&o.pushUnique(s,l.subplot))}for(r=0;r<a.length;r++)(n=e._plots[a[r]])._scene&&n._scene.draw();for(r=0;r<s.length;r++)(n=e[s[r]]._subplot)._scene&&n._scene.draw()}},r.doAutoRangeAndConstraints=function(t){for(var e,r=h.list(t,"",!0),n={},i=0;i<r.length;i++)if(!n[(e=r[i])._id]){n[e._id]=1,m(t,e),v(t,e);var a=e._matchGroup;if(a)for(var o in a){var s=h.getFromId(t,o);v(t,s,e.range),n[o]=1}}g(t)},r.finalDraw=function(t){i.getComponentMethod("rangeslider","draw")(t),i.getComponentMethod("rangeselector","draw")(t)},r.drawMarginPushers=function(t){i.getComponentMethod("legend","draw")(t),i.getComponentMethod("rangeselector","draw")(t),i.getComponentMethod("sliders","draw")(t),i.getComponentMethod("updatemenus","draw")(t),i.getComponentMethod("colorbar","draw")(t)}},{"../components/color":643,"../components/drawing":665,"../components/modebar":703,"../components/titles":738,"../constants/alignment":745,"../lib":778,"../lib/clear_gl_canvases":762,"../plots/cartesian/autorange":827,"../plots/cartesian/axes":828,"../plots/cartesian/constraints":835,"../plots/plots":891,"../registry":911,d3:169}],819:[function(t,e,r){"use strict";var n=t("../lib"),i=n.isPlainObject,a=t("./plot_schema"),o=t("../plots/plots"),s=t("../plots/attributes"),l=t("./plot_template"),c=t("./plot_config").dfltConfig;function u(t,e){t=n.extendDeep({},t);var r,a,o=Object.keys(t).sort();function s(e,r,n){if(i(r)&&i(e))u(e,r);else if(Array.isArray(r)&&Array.isArray(e)){var o=l.arrayTemplater({_template:t},n);for(a=0;a<r.length;a++){var s=r[a],c=o.newItem(s)._template;c&&u(c,s)}var f=o.defaultItems();for(a=0;a<f.length;a++)r.push(f[a]._template);for(a=0;a<r.length;a++)delete r[a].templateitemname}}for(r=0;r<o.length;r++){var c=o[r],h=t[c];if(c in e?s(h,e[c],c):e[c]=h,f(c)===c)for(var p in e){var d=f(p);p===d||d!==c||p in t||s(h,e[p],c)}}}function f(t){return t.replace(/[0-9]+$/,"")}function h(t,e,r,a,o){var s=o&&r(o);for(var c in t){var u=t[c],p=g(t,c,a),d=g(t,c,o),m=r(d);if(!m){var v=f(c);v!==c&&(m=r(d=g(t,v,o)))}if((!s||s!==m)&&!(!m||m._noTemplating||"data_array"===m.valType||m.arrayOk&&Array.isArray(u)))if(!m.valType&&i(u))h(u,e,r,p,d);else if(m._isLinkedToArray&&Array.isArray(u))for(var y=!1,x=0,b={},_=0;_<u.length;_++){var w=u[_];if(i(w)){var T=w.name;if(T)b[T]||(h(w,e,r,g(u,x,p),g(u,x,d)),x++,b[T]=1);else if(!y){var k=g(t,l.arrayDefaultKey(c),a),M=g(u,x,p);h(w,e,r,M,g(u,x,d));var A=n.nestedProperty(e,M);n.nestedProperty(e,k).set(A.get()),A.set(null),y=!0}}}else{n.nestedProperty(e,p).set(u)}}}function p(t,e){return a.getLayoutValObject(t,n.nestedProperty({},e).parts)}function d(t,e){return a.getTraceValObject(t,n.nestedProperty({},e).parts)}function g(t,e,r){return r?Array.isArray(t)?r+"["+e+"]":r+"."+e:e}function m(t){for(var e=0;e<t.length;e++)if(i(t[e]))return!0}function v(t){var e;switch(t.code){case"data":e="The template has no key data.";break;case"layout":e="The template has no key layout.";break;case"missing":e=t.path?"There are no templates for item "+t.path+" with name "+t.templateitemname:"There are no templates for trace "+t.index+", of type "+t.traceType+".";break;case"unused":e=t.path?"The template item at "+t.path+" was not used in constructing the plot.":t.dataCount?"Some of the templates of type "+t.traceType+" were not used. The template has "+t.templateCount+" traces, the data only has "+t.dataCount+" of this type.":"The template has "+t.templateCount+" traces of type "+t.traceType+" but there are none in the data.";break;case"reused":e="Some of the templates of type "+t.traceType+" were used more than once. The template has "+t.templateCount+" traces, the data has "+t.dataCount+" of this type."}return t.msg=e,t}r.makeTemplate=function(t){t=n.isPlainObject(t)?t:n.getGraphDiv(t),t=n.extendDeep({_context:c},{data:t.data,layout:t.layout}),o.supplyDefaults(t);var e=t.data||[],r=t.layout||{};r._basePlotModules=t._fullLayout._basePlotModules,r._modules=t._fullLayout._modules;var a={data:{},layout:{}};e.forEach((function(t){var e={};h(t,e,d.bind(null,t));var r=n.coerce(t,{},s,"type"),i=a.data[r];i||(i=a.data[r]=[]),i.push(e)})),h(r,a.layout,p.bind(null,r)),delete a.layout.template;var l=r.template;if(i(l)){var f,g,m,v,y,x,b=l.layout;i(b)&&u(b,a.layout);var _=l.data;if(i(_)){for(g in a.data)if(m=_[g],Array.isArray(m)){for(x=(y=a.data[g]).length,v=m.length,f=0;f<x;f++)u(m[f%v],y[f]);for(f=x;f<v;f++)y.push(n.extendDeep({},m[f]))}for(g in _)g in a.data||(a.data[g]=n.extendDeep([],_[g]))}}return a},r.validateTemplate=function(t,e){var r=n.extendDeep({},{_context:c,data:t.data,layout:t.layout}),a=r.layout||{};i(e)||(e=a.template||{});var s=e.layout,l=e.data,u=[];r.layout=a,r.layout.template=e,o.supplyDefaults(r);var h=r._fullLayout,p=r._fullData,d={};if(i(s)?(!function t(e,r){for(var n in e)if("_"!==n.charAt(0)&&i(e[n])){var a,o=f(n),s=[];for(a=0;a<r.length;a++)s.push(g(e,n,r[a])),o!==n&&s.push(g(e,o,r[a]));for(a=0;a<s.length;a++)d[s[a]]=1;t(e[n],s)}}(h,["layout"]),function t(e,r){for(var n in e)if(-1===n.indexOf("defaults")&&i(e[n])){var a=g(e,n,r);d[a]?t(e[n],a):u.push({code:"unused",path:a})}}(s,"layout")):u.push({code:"layout"}),i(l)){for(var y,x={},b=0;b<p.length;b++){var _=p[b];x[y=_.type]=(x[y]||0)+1,_._fullInput._template||u.push({code:"missing",index:_._fullInput.index,traceType:y})}for(y in l){var w=l[y].length,T=x[y]||0;w>T?u.push({code:"unused",traceType:y,templateCount:w,dataCount:T}):T>w&&u.push({code:"reused",traceType:y,templateCount:w,dataCount:T})}}else u.push({code:"data"});if(function t(e,r){for(var n in e)if("_"!==n.charAt(0)){var a=e[n],o=g(e,n,r);i(a)?(Array.isArray(e)&&!1===a._template&&a.templateitemname&&u.push({code:"missing",path:o,templateitemname:a.templateitemname}),t(a,o)):Array.isArray(a)&&m(a)&&t(a,o)}}({data:p,layout:h},""),u.length)return u.map(v)}},{"../lib":778,"../plots/attributes":824,"../plots/plots":891,"./plot_config":815,"./plot_schema":816,"./plot_template":817}],820:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("./plot_api"),a=t("../plots/plots"),o=t("../lib"),s=t("../snapshot/helpers"),l=t("../snapshot/tosvg"),c=t("../snapshot/svgtoimg"),u=t("../version").version,f={format:{valType:"enumerated",values:["png","jpeg","webp","svg","full-json"],dflt:"png"},width:{valType:"number",min:1},height:{valType:"number",min:1},scale:{valType:"number",min:0,dflt:1},setBackground:{valType:"any",dflt:!1},imageDataOnly:{valType:"boolean",dflt:!1}};e.exports=function(t,e){var r,h,p,d;function g(t){return!(t in e)||o.validate(e[t],f[t])}if(e=e||{},o.isPlainObject(t)?(r=t.data||[],h=t.layout||{},p=t.config||{},d={}):(t=o.getGraphDiv(t),r=o.extendDeep([],t.data),h=o.extendDeep({},t.layout),p=t._context,d=t._fullLayout||{}),!g("width")&&null!==e.width||!g("height")&&null!==e.height)throw new Error("Height and width should be pixel values.");if(!g("format"))throw new Error("Export format is not "+o.join2(f.format.values,", "," or ")+".");var m={};function v(t,r){return o.coerce(e,m,f,t,r)}var y=v("format"),x=v("width"),b=v("height"),_=v("scale"),w=v("setBackground"),T=v("imageDataOnly"),k=document.createElement("div");k.style.position="absolute",k.style.left="-5000px",document.body.appendChild(k);var M=o.extendFlat({},h);x?M.width=x:null===e.width&&n(d.width)&&(M.width=d.width),b?M.height=b:null===e.height&&n(d.height)&&(M.height=d.height);var A=o.extendFlat({},p,{_exportedPlot:!0,staticPlot:!0,setBackground:w}),S=s.getRedrawFunc(k);function E(){return new Promise((function(t){setTimeout(t,s.getDelay(k._fullLayout))}))}function C(){return new Promise((function(t,e){var r=l(k,y,_),n=k._fullLayout.width,f=k._fullLayout.height;function h(){i.purge(k),document.body.removeChild(k)}if("full-json"===y){var p=a.graphJson(k,!1,"keepdata","object",!0,!0);return p.version=u,p=JSON.stringify(p),h(),t(T?p:s.encodeJSON(p))}if(h(),"svg"===y)return t(T?r:s.encodeSVG(r));var d=document.createElement("canvas");d.id=o.randstr(),c({format:y,width:n,height:f,scale:_,canvas:d,svg:r,promise:!0}).then(t).catch(e)}))}return new Promise((function(t,e){i.plot(k,r,M,A).then(S).then(E).then(C).then((function(e){t(function(t){return T?t.replace(s.IMAGE_URL_PREFIX,""):t}(e))})).catch((function(t){e(t)}))}))}},{"../lib":778,"../plots/plots":891,"../snapshot/helpers":915,"../snapshot/svgtoimg":917,"../snapshot/tosvg":919,"../version":1370,"./plot_api":814,"fast-isnumeric":241}],821:[function(t,e,r){"use strict";var n=t("../lib"),i=t("../plots/plots"),a=t("./plot_schema"),o=t("./plot_config").dfltConfig,s=n.isPlainObject,l=Array.isArray,c=n.isArrayOrTypedArray;function u(t,e,r,i,a,o){o=o||[];for(var f=Object.keys(t),h=0;h<f.length;h++){var p=f[h];if("transforms"!==p){var v=o.slice();v.push(p);var y=t[p],x=e[p],b=m(r,p),_=(b||{}).valType,w="info_array"===_,T="colorscale"===_,k=(b||{}).items;if(g(r,p))if(s(y)&&s(x)&&"any"!==_)u(y,x,b,i,a,v);else if(w&&l(y)){y.length>x.length&&i.push(d("unused",a,v.concat(x.length)));var M,A,S,E,C,L=x.length,I=Array.isArray(k);if(I&&(L=Math.min(L,k.length)),2===b.dimensions)for(A=0;A<L;A++)if(l(y[A])){y[A].length>x[A].length&&i.push(d("unused",a,v.concat(A,x[A].length)));var P=x[A].length;for(M=0;M<(I?Math.min(P,k[A].length):P);M++)S=I?k[A][M]:k,E=y[A][M],C=x[A][M],n.validate(E,S)?C!==E&&C!==+E&&i.push(d("dynamic",a,v.concat(A,M),E,C)):i.push(d("value",a,v.concat(A,M),E))}else i.push(d("array",a,v.concat(A),y[A]));else for(A=0;A<L;A++)S=I?k[A]:k,E=y[A],C=x[A],n.validate(E,S)?C!==E&&C!==+E&&i.push(d("dynamic",a,v.concat(A),E,C)):i.push(d("value",a,v.concat(A),E))}else if(b.items&&!w&&l(y)){var z,O,D=k[Object.keys(k)[0]],R=[];for(z=0;z<x.length;z++){var F=x[z]._index||z;if((O=v.slice()).push(F),s(y[F])&&s(x[z])){R.push(F);var B=y[F],N=x[z];s(B)&&!1!==B.visible&&!1===N.visible?i.push(d("invisible",a,O)):u(B,N,D,i,a,O)}}for(z=0;z<y.length;z++)(O=v.slice()).push(z),s(y[z])?-1===R.indexOf(z)&&i.push(d("unused",a,O)):i.push(d("object",a,O,y[z]))}else!s(y)&&s(x)?i.push(d("object",a,v,y)):c(y)||!c(x)||w||T?p in e?n.validate(y,b)?"enumerated"===b.valType&&(b.coerceNumber&&y!==+x||y!==x)&&i.push(d("dynamic",a,v,y,x)):i.push(d("value",a,v,y)):i.push(d("unused",a,v,y)):i.push(d("array",a,v,y));else i.push(d("schema",a,v))}}return i}function f(t,e){for(var r=t.layout.layoutAttributes,i=0;i<e.length;i++){var a=e[i],o=t.traces[a.type],s=o.layoutAttributes;s&&(a.subplot?n.extendFlat(r[o.attributes.subplot.dflt],s):n.extendFlat(r,s))}return r}e.exports=function(t,e){void 0===t&&(t=[]),void 0===e&&(e={});var r,c,h=a.get(),p=[],g={_context:n.extendFlat({},o)};l(t)?(g.data=n.extendDeep([],t),r=t):(g.data=[],r=[],p.push(d("array","data"))),s(e)?(g.layout=n.extendDeep({},e),c=e):(g.layout={},c={},arguments.length>1&&p.push(d("object","layout"))),i.supplyDefaults(g);for(var m=g._fullData,v=r.length,y=0;y<v;y++){var x=r[y],b=["data",y];if(s(x)){var _=m[y],w=_.type,T=h.traces[w].attributes;T.type={valType:"enumerated",values:[w]},!1===_.visible&&!1!==x.visible&&p.push(d("invisible",b)),u(x,_,T,p,b);var k=x.transforms,M=_.transforms;if(k){l(k)||p.push(d("array",b,["transforms"])),b.push("transforms");for(var A=0;A<k.length;A++){var S=["transforms",A],E=k[A].type;if(s(k[A])){var C=h.transforms[E]?h.transforms[E].attributes:{};C.type={valType:"enumerated",values:Object.keys(h.transforms)},u(k[A],M[A],C,p,b,S)}else p.push(d("object",b,S))}}}else p.push(d("object",b))}var L=g._fullLayout,I=f(h,m);return u(c,L,I,p,"layout"),0===p.length?void 0:p};var h={object:function(t,e){return("layout"===t&&""===e?"The layout argument":"data"===t[0]&&""===e?"Trace "+t[1]+" in the data argument":p(t)+"key "+e)+" must be linked to an object container"},array:function(t,e){return("data"===t?"The data argument":p(t)+"key "+e)+" must be linked to an array container"},schema:function(t,e){return p(t)+"key "+e+" is not part of the schema"},unused:function(t,e,r){var n=s(r)?"container":"key";return p(t)+n+" "+e+" did not get coerced"},dynamic:function(t,e,r,n){return[p(t)+"key",e,"(set to '"+r+"')","got reset to","'"+n+"'","during defaults."].join(" ")},invisible:function(t,e){return(e?p(t)+"item "+e:"Trace "+t[1])+" got defaulted to be not visible"},value:function(t,e,r){return[p(t)+"key "+e,"is set to an invalid value ("+r+")"].join(" ")}};function p(t){return l(t)?"In data trace "+t[1]+", ":"In "+t+", "}function d(t,e,r,i,a){var o,s;r=r||"",l(e)?(o=e[0],s=e[1]):(o=e,s=null);var c=function(t){if(!l(t))return String(t);for(var e="",r=0;r<t.length;r++){var n=t[r];"number"==typeof n?e=e.substr(0,e.length-1)+"["+n+"]":e+=n,r<t.length-1&&(e+=".")}return e}(r),u=h[t](e,c,i,a);return n.log(u),{code:t,container:o,trace:s,path:r,astr:c,msg:u}}function g(t,e){var r=y(e),n=r.keyMinusId,i=r.id;return!!(n in t&&t[n]._isSubplotObj&&i)||e in t}function m(t,e){return e in t?t[e]:t[y(e).keyMinusId]}var v=n.counterRegex("([a-z]+)");function y(t){var e=t.match(v);return{keyMinusId:e&&e[1],id:e&&e[2]}}},{"../lib":778,"../plots/plots":891,"./plot_config":815,"./plot_schema":816}],822:[function(t,e,r){"use strict";e.exports={mode:{valType:"enumerated",dflt:"afterall",values:["immediate","next","afterall"]},direction:{valType:"enumerated",values:["forward","reverse"],dflt:"forward"},fromcurrent:{valType:"boolean",dflt:!1},frame:{duration:{valType:"number",min:0,dflt:500},redraw:{valType:"boolean",dflt:!0}},transition:{duration:{valType:"number",min:0,dflt:500,editType:"none"},easing:{valType:"enumerated",dflt:"cubic-in-out",values:["linear","quad","cubic","sin","exp","circle","elastic","back","bounce","linear-in","quad-in","cubic-in","sin-in","exp-in","circle-in","elastic-in","back-in","bounce-in","linear-out","quad-out","cubic-out","sin-out","exp-out","circle-out","elastic-out","back-out","bounce-out","linear-in-out","quad-in-out","cubic-in-out","sin-in-out","exp-in-out","circle-in-out","elastic-in-out","back-in-out","bounce-in-out"],editType:"none"},ordering:{valType:"enumerated",values:["layout first","traces first"],dflt:"layout first",editType:"none"}}}},{}],823:[function(t,e,r){"use strict";var n=t("../lib"),i=t("../plot_api/plot_template");e.exports=function(t,e,r){var a,o,s=r.name,l=r.inclusionAttr||"visible",c=e[s],u=n.isArrayOrTypedArray(t[s])?t[s]:[],f=e[s]=[],h=i.arrayTemplater(e,s,l);for(a=0;a<u.length;a++){var p=u[a];n.isPlainObject(p)?o=h.newItem(p):(o=h.newItem({}))[l]=!1,o._index=a,!1!==o[l]&&r.handleItemDefaults(p,o,e,r),f.push(o)}var d=h.defaultItems();for(a=0;a<d.length;a++)(o=d[a])._index=f.length,r.handleItemDefaults({},o,e,r,{}),f.push(o);if(n.isArrayOrTypedArray(c)){var g=Math.min(c.length,f.length);for(a=0;a<g;a++)n.relinkPrivateKeys(f[a],c[a])}return f}},{"../lib":778,"../plot_api/plot_template":817}],824:[function(t,e,r){"use strict";var n=t("../components/fx/attributes");e.exports={type:{valType:"enumerated",values:[],dflt:"scatter",editType:"calc+clearAxisTypes",_noTemplating:!0},visible:{valType:"enumerated",values:[!0,!1,"legendonly"],dflt:!0,editType:"calc"},showlegend:{valType:"boolean",dflt:!0,editType:"style"},legendgroup:{valType:"string",dflt:"",editType:"style"},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"style"},name:{valType:"string",editType:"style"},uid:{valType:"string",editType:"plot",anim:!0},ids:{valType:"data_array",editType:"calc",anim:!0},customdata:{valType:"data_array",editType:"calc"},meta:{valType:"any",arrayOk:!0,editType:"plot"},selectedpoints:{valType:"any",editType:"calc"},hoverinfo:{valType:"flaglist",flags:["x","y","z","text","name"],extras:["all","none","skip"],arrayOk:!0,dflt:"all",editType:"none"},hoverlabel:n.hoverlabel,stream:{token:{valType:"string",noBlank:!0,strict:!0,editType:"calc"},maxpoints:{valType:"number",min:0,max:1e4,dflt:500,editType:"calc"},editType:"calc"},transforms:{_isLinkedToArray:"transform",editType:"calc"},uirevision:{valType:"any",editType:"none"}}},{"../components/fx/attributes":674}],825:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../lib"),a=i.dateTime2ms,o=i.incrementMonth,s=t("../../constants/numerical").ONEAVGMONTH;e.exports=function(t,e,r,i){if("date"!==e.type)return i;var l=t[r+"periodalignment"];if(!l)return i;var c,u=t[r+"period"];if(n(u)){if((u=+u)<=0)return i}else if("string"==typeof u&&"M"===u.charAt(0)){var f=+u.substring(1);if(!(f>0&&Math.round(f)===f))return i;c=f}for(var h=e.calendar,p="start"===l,d="end"===l,g=t[r+"period0"],m=a(g,h)||0,v=[],y=i.length,x=0;x<y;x++){var b,_,w,T=i[x];if(c){for(b=Math.round((T-m)/(c*s)),w=o(m,c*b,h);w>T;)w=o(w,-c,h);for(;w<=T;)w=o(w,c,h);_=o(w,-c,h)}else{for(w=m+(b=Math.round((T-m)/u))*u;w>T;)w-=u;for(;w<=T;)w+=u;_=w-u}v[x]=p?_:d?w:(_+w)/2}return v}},{"../../constants/numerical":753,"../../lib":778,"fast-isnumeric":241}],826:[function(t,e,r){"use strict";e.exports={xaxis:{valType:"subplotid",dflt:"x",editType:"calc+clearAxisTypes"},yaxis:{valType:"subplotid",dflt:"y",editType:"calc+clearAxisTypes"}}},{}],827:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../lib"),a=t("../../constants/numerical").FP_SAFE,o=t("../../registry"),s=t("./axis_ids"),l=s.getFromId,c=s.isLinked;function u(t,e){var r,n,a=[],o=t._fullLayout,s=h(o,e,0),l=h(o,e,1),c=p(t,e),u=c.min,d=c.max;if(0===u.length||0===d.length)return i.simpleMap(e.range,e.r2l);var g=u[0].val,m=d[0].val;for(r=1;r<u.length&&g===m;r++)g=Math.min(g,u[r].val);for(r=1;r<d.length&&g===m;r++)m=Math.max(m,d[r].val);var v=!1;if(e.range){var y=i.simpleMap(e.range,e.r2l);v=y[1]<y[0]}"reversed"===e.autorange&&(v=!0,e.autorange=!0);var x,b,_,w,T,k,M=e.rangemode,A="tozero"===M,S="nonnegative"===M,E=e._length,C=E/10,L=0;for(r=0;r<u.length;r++)for(x=u[r],n=0;n<d.length;n++)(k=(b=d[n]).val-x.val-f(e,x.val,b.val))>0&&((T=E-s(x)-l(b))>C?k/T>L&&(_=x,w=b,L=k/T):k/E>L&&(_={val:x.val,nopad:1},w={val:b.val,nopad:1},L=k/E));if(g===m){var I=g-1,P=g+1;if(A)if(0===g)a=[0,1];else{var z=(g>0?d:u).reduce((function(t,e){return Math.max(t,l(e))}),0),O=g/(1-Math.min(.5,z/E));a=g>0?[0,O]:[O,0]}else a=S?[Math.max(0,I),Math.max(1,P)]:[I,P]}else A?(_.val>=0&&(_={val:0,nopad:1}),w.val<=0&&(w={val:0,nopad:1})):S&&(_.val-L*s(_)<0&&(_={val:0,nopad:1}),w.val<=0&&(w={val:1,nopad:1})),L=(w.val-_.val-f(e,x.val,b.val))/(E-s(_)-l(w)),a=[_.val-L*s(_),w.val+L*l(w)];return v&&a.reverse(),i.simpleMap(a,e.l2r||Number)}function f(t,e,r){var n=0;if(t.rangebreaks)for(var i=t.locateBreaks(e,r),a=0;a<i.length;a++){var o=i[a];n+=o.max-o.min}return n}function h(t,e,r){var n=.05*e._length,a=e._anchorAxis||{};if(-1!==(e.ticklabelposition||"").indexOf("inside")||-1!==(a.ticklabelposition||"").indexOf("inside")){var o="reversed"===e.autorange;if(!o){var s=i.simpleMap(e.range,e.r2l);o=s[1]<s[0]}o&&(r=!r)}var l=0;return c(t,e._id)||(l=function(t,e){var r=0,n=t._anchorAxis||{};if(-1!==(n.ticklabelposition||"").indexOf("inside")&&(!e&&("left"===n.side||"bottom"===n.side)||e&&("top"===n.side||"right"===n.side))){var a="x"===t._id.charAt(0);if(n._vals){var o=i.deg2rad(n._tickAngles[n._id+"tick"]||0),s=Math.abs(Math.cos(o)),l=Math.abs(Math.sin(o));n._vals.forEach((function(t){if(t.bb){var e=6+t.bb.width,n=6+t.bb.height;r=Math.max(r,a?Math.max(e*s,n*l):Math.max(n*s,e*l))}}))}"inside"===n.ticks&&"inside"===n.ticklabelposition&&(r+=n.ticklen||0)}return r}(e,r)),n=Math.max(l,n),"domain"===e.constrain&&e._inputDomain&&(n*=(e._inputDomain[1]-e._inputDomain[0])/(e.domain[1]-e.domain[0])),function(t){return t.nopad?0:t.pad+(t.extrapad?n:l)}}e.exports={getAutoRange:u,makePadFn:h,doAutoRange:function(t,e,r){if(e.setScale(),e.autorange){e.range=r?r.slice():u(t,e),e._r=e.range.slice(),e._rl=i.simpleMap(e._r,e.r2l);var n=e._input,a={};a[e._attr+".range"]=e.range,a[e._attr+".autorange"]=e.autorange,o.call("_storeDirectGUIEdit",t.layout,t._fullLayout._preGUI,a),n.range=e.range.slice(),n.autorange=e.autorange}var s=e._anchorAxis;if(s&&s.rangeslider){var l=s.rangeslider[e._name];l&&"auto"===l.rangemode&&(l.range=u(t,e)),s._input.rangeslider[e._name]=i.extendFlat({},l)}},findExtremes:function(t,e,r){r||(r={});t._m||t.setScale();var i,o,s,l,c,u,f,h,p,m=[],y=[],x=e.length,b=r.padded||!1,_=r.tozero&&("linear"===t.type||"-"===t.type),w="log"===t.type,T=!1,k=r.vpadLinearized||!1;function M(t){if(Array.isArray(t))return T=!0,function(e){return Math.max(Number(t[e]||0),0)};var e=Math.max(Number(t||0),0);return function(){return e}}var A=M((t._m>0?r.ppadplus:r.ppadminus)||r.ppad||0),S=M((t._m>0?r.ppadminus:r.ppadplus)||r.ppad||0),E=M(r.vpadplus||r.vpad),C=M(r.vpadminus||r.vpad);if(!T){if(h=1/0,p=-1/0,w)for(i=0;i<x;i++)(o=e[i])<h&&o>0&&(h=o),o>p&&o<a&&(p=o);else for(i=0;i<x;i++)(o=e[i])<h&&o>-a&&(h=o),o>p&&o<a&&(p=o);e=[h,p],x=2}var L={tozero:_,extrapad:b};function I(r){s=e[r],n(s)&&(u=A(r),f=S(r),k?(l=t.c2l(s)-C(r),c=t.c2l(s)+E(r)):(h=s-C(r),p=s+E(r),w&&h<p/10&&(h=p/10),l=t.c2l(h),c=t.c2l(p)),_&&(l=Math.min(0,l),c=Math.max(0,c)),v(l)&&d(m,l,f,L),v(c)&&g(y,c,u,L))}var P=Math.min(6,x);for(i=0;i<P;i++)I(i);for(i=x-1;i>=P;i--)I(i);return{min:m,max:y,opts:r}},concatExtremes:p};function p(t,e,r){var n,i,a,o=e._id,s=t._fullData,c=t._fullLayout,u=[],f=[];function h(t,e){for(n=0;n<e.length;n++){var r=t[e[n]],s=(r._extremes||{})[o];if(!0===r.visible&&s){for(i=0;i<s.min.length;i++)a=s.min[i],d(u,a.val,a.pad,{extrapad:a.extrapad});for(i=0;i<s.max.length;i++)a=s.max[i],g(f,a.val,a.pad,{extrapad:a.extrapad})}}}if(h(s,e._traceIndices),h(c.annotations||[],e._annIndices||[]),h(c.shapes||[],e._shapeIndices||[]),e._matchGroup&&!r)for(var m in e._matchGroup)if(m!==e._id){var v=l(t,m),y=p(t,v,!0),x=e._length/v._length;for(i=0;i<y.min.length;i++)a=y.min[i],d(u,a.val,a.pad*x,{extrapad:a.extrapad});for(i=0;i<y.max.length;i++)a=y.max[i],g(f,a.val,a.pad*x,{extrapad:a.extrapad})}return{min:u,max:f}}function d(t,e,r,n){m(t,e,r,n,y)}function g(t,e,r,n){m(t,e,r,n,x)}function m(t,e,r,n,i){for(var a=n.tozero,o=n.extrapad,s=!0,l=0;l<t.length&&s;l++){var c=t[l];if(i(c.val,e)&&c.pad>=r&&(c.extrapad||!o)){s=!1;break}i(e,c.val)&&c.pad<=r&&(o||!c.extrapad)&&(t.splice(l,1),l--)}if(s){var u=a&&0===e;t.push({val:e,pad:u?0:r,extrapad:!u&&o})}}function v(t){return n(t)&&Math.abs(t)<a}function y(t,e){return t<=e}function x(t,e){return t>=e}},{"../../constants/numerical":753,"../../lib":778,"../../registry":911,"./axis_ids":831,"fast-isnumeric":241}],828:[function(t,e,r){"use strict";var n=t("d3"),i=t("fast-isnumeric"),a=t("../../plots/plots"),o=t("../../registry"),s=t("../../lib"),l=s.strTranslate,c=t("../../lib/svg_text_utils"),u=t("../../components/titles"),f=t("../../components/color"),h=t("../../components/drawing"),p=t("./layout_attributes"),d=t("./clean_ticks"),g=t("../../constants/numerical"),m=g.ONEMAXYEAR,v=g.ONEAVGYEAR,y=g.ONEMINYEAR,x=g.ONEMAXQUARTER,b=g.ONEAVGQUARTER,_=g.ONEMINQUARTER,w=g.ONEMAXMONTH,T=g.ONEAVGMONTH,k=g.ONEMINMONTH,M=g.ONEWEEK,A=g.ONEDAY,S=A/2,E=g.ONEHOUR,C=g.ONEMIN,L=g.ONESEC,I=g.MINUS_SIGN,P=g.BADNUM,z=t("../../constants/alignment"),O=z.MID_SHIFT,D=z.CAP_SHIFT,R=z.LINE_SPACING,F=z.OPPOSITE_SIDE,B=e.exports={};B.setConvert=t("./set_convert");var N=t("./axis_autotype"),j=t("./axis_ids"),U=j.idSort,V=j.isLinked;B.id2name=j.id2name,B.name2id=j.name2id,B.cleanId=j.cleanId,B.list=j.list,B.listIds=j.listIds,B.getFromId=j.getFromId,B.getFromTrace=j.getFromTrace;var q=t("./autorange");B.getAutoRange=q.getAutoRange,B.findExtremes=q.findExtremes;function H(t){var e=1e-4*(t[1]-t[0]);return[t[0]-e,t[1]+e]}B.coerceRef=function(t,e,r,n,i,a){var o=n.charAt(n.length-1),l=r._fullLayout._subplots[o+"axis"],c=n+"ref",u={};return i||(i=l[0]||("string"==typeof a?a:a[0])),a||(a=i),l=l.concat(l.map((function(t){return t+" domain"}))),u[c]={valType:"enumerated",values:l.concat(a?"string"==typeof a?[a]:a:[]),dflt:i},s.coerce(t,e,u,c)},B.getRefType=function(t){return void 0===t?t:"paper"===t?"paper":"pixel"===t?"pixel":/( domain)$/.test(t)?"domain":"range"},B.coercePosition=function(t,e,r,n,i,a){var o,l;if("range"!==B.getRefType(n))o=s.ensureNumber,l=r(i,a);else{var c=B.getFromId(e,n);l=r(i,a=c.fraction2r(a)),o=c.cleanPos}t[i]=o(l)},B.cleanPosition=function(t,e,r){return("paper"===r||"pixel"===r?s.ensureNumber:B.getFromId(e,r).cleanPos)(t)},B.redrawComponents=function(t,e){e=e||B.listIds(t);var r=t._fullLayout;function n(n,i,a,s){for(var l=o.getComponentMethod(n,i),c={},u=0;u<e.length;u++)for(var f=r[B.id2name(e[u])][a],h=0;h<f.length;h++){var p=f[h];if(!c[p]&&(l(t,p),c[p]=1,s))return}}n("annotations","drawOne","_annIndices"),n("shapes","drawOne","_shapeIndices"),n("images","draw","_imgIndices",!0)};var G=B.getDataConversions=function(t,e,r,n){var i,a="x"===r||"y"===r||"z"===r?r:n;if(Array.isArray(a)){if(i={type:N(n,void 0,{autotypenumbers:t._fullLayout.autotypenumbers}),_categories:[]},B.setConvert(i),"category"===i.type)for(var o=0;o<n.length;o++)i.d2c(n[o])}else i=B.getFromTrace(t,e,a);return i?{d2c:i.d2c,c2d:i.c2d}:"ids"===a?{d2c:W,c2d:W}:{d2c:Y,c2d:Y}};function Y(t){return+t}function W(t){return String(t)}function X(t){return+t.substring(1)}B.getDataToCoordFunc=function(t,e,r,n){return G(t,e,r,n).d2c},B.counterLetter=function(t){var e=t.charAt(0);return"x"===e?"y":"y"===e?"x":void 0},B.minDtick=function(t,e,r,n){-1===["log","category","multicategory"].indexOf(t.type)&&n?void 0===t._minDtick?(t._minDtick=e,t._forceTick0=r):t._minDtick&&((t._minDtick/e+1e-6)%1<2e-6&&((r-t._forceTick0)/e%1+1.000001)%1<2e-6?(t._minDtick=e,t._forceTick0=r):((e/t._minDtick+1e-6)%1>2e-6||((r-t._forceTick0)/t._minDtick%1+1.000001)%1>2e-6)&&(t._minDtick=0)):t._minDtick=0},B.saveRangeInitial=function(t,e){for(var r=B.list(t,"",!0),n=!1,i=0;i<r.length;i++){var a=r[i],o=void 0===a._rangeInitial,s=o||!(a.range[0]===a._rangeInitial[0]&&a.range[1]===a._rangeInitial[1]);(o&&!1===a.autorange||e&&s)&&(a._rangeInitial=a.range.slice(),n=!0)}return n},B.saveShowSpikeInitial=function(t,e){for(var r=B.list(t,"",!0),n=!1,i="on",a=0;a<r.length;a++){var o=r[a],s=void 0===o._showSpikeInitial,l=s||!(o.showspikes===o._showspikes);(s||e&&l)&&(o._showSpikeInitial=o.showspikes,n=!0),"on"!==i||o.showspikes||(i="off")}return t._fullLayout._cartesianSpikesEnabled=i,n},B.autoBin=function(t,e,r,n,a,o){var l,c=s.aggNums(Math.min,null,t),u=s.aggNums(Math.max,null,t);if("category"===e.type||"multicategory"===e.type)return{start:c-.5,end:u+.5,size:Math.max(1,Math.round(o)||1),_dataSpan:u-c};if(a||(a=e.calendar),l="log"===e.type?{type:"linear",range:[c,u]}:{type:e.type,range:s.simpleMap([c,u],e.c2r,0,a),calendar:a},B.setConvert(l),o=o&&d.dtick(o,l.type))l.dtick=o,l.tick0=d.tick0(void 0,l.type,a);else{var f;if(r)f=(u-c)/r;else{var h=s.distinctVals(t),p=Math.pow(10,Math.floor(Math.log(h.minDiff)/Math.LN10)),g=p*s.roundUp(h.minDiff/p,[.9,1.9,4.9,9.9],!0);f=Math.max(g,2*s.stdev(t)/Math.pow(t.length,n?.25:.4)),i(f)||(f=1)}B.autoTicks(l,f)}var m,v=l.dtick,y=B.tickIncrement(B.tickFirst(l),v,"reverse",a);if("number"==typeof v)m=(y=function(t,e,r,n,a){var o=0,s=0,l=0,c=0;function u(e){return(1+100*(e-t)/r.dtick)%100<2}for(var f=0;f<e.length;f++)e[f]%1==0?l++:i(e[f])||c++,u(e[f])&&o++,u(e[f]+r.dtick/2)&&s++;var h=e.length-c;if(l===h&&"date"!==r.type)r.dtick<1?t=n-.5*r.dtick:(t-=.5)+r.dtick<n&&(t+=r.dtick);else if(s<.1*h&&(o>.3*h||u(n)||u(a))){var p=r.dtick/2;t+=t+p<n?p:-p}return t}(y,t,l,c,u))+(1+Math.floor((u-y)/v))*v;else for("M"===l.dtick.charAt(0)&&(y=function(t,e,r,n,i){var a=s.findExactDates(e,i);if(a.exactDays>.8){var o=Number(r.substr(1));a.exactYears>.8&&o%12==0?t=B.tickIncrement(t,"M6","reverse")+1.5*A:a.exactMonths>.8?t=B.tickIncrement(t,"M1","reverse")+15.5*A:t-=S;var l=B.tickIncrement(t,r);if(l<=n)return l}return t}(y,t,v,c,a)),m=y,0;m<=u;)m=B.tickIncrement(m,v,!1,a);return{start:e.c2r(y,0,a),end:e.c2r(m,0,a),size:v,_dataSpan:u-c}},B.prepTicks=function(t,e){var r=s.simpleMap(t.range,t.r2l,void 0,void 0,e);if(t._dtickInit=t.dtick,t._tick0Init=t.tick0,"auto"===t.tickmode||!t.dtick){var n,a=t.nticks;a||("category"===t.type||"multicategory"===t.type?(n=t.tickfont?1.2*(t.tickfont.size||12):15,a=t._length/n):(n="y"===t._id.charAt(0)?40:80,a=s.constrain(t._length/n,4,9)+1),"radialaxis"===t._name&&(a*=2)),"array"===t.tickmode&&(a*=100),t._roughDTick=Math.abs(r[1]-r[0])/a,B.autoTicks(t,t._roughDTick),t._minDtick>0&&t.dtick<2*t._minDtick&&(t.dtick=t._minDtick,t.tick0=t.l2r(t._forceTick0))}"period"===t.ticklabelmode&&function(t){var e;function r(){return!(i(t.dtick)||"M"!==t.dtick.charAt(0))}var n=r(),a=B.getTickFormat(t);if(a){var o=t._dtickInit!==t.dtick;/%[fLQsSMX]/.test(a)||(/%[HI]/.test(a)?(e=E,o&&!n&&t.dtick<E&&(t.dtick=E)):/%p/.test(a)?(e=S,o&&!n&&t.dtick<S&&(t.dtick=S)):/%[Aadejuwx]/.test(a)?(e=A,o&&!n&&t.dtick<A&&(t.dtick=A)):/%[UVW]/.test(a)?(e=M,o&&!n&&t.dtick<M&&(t.dtick=M)):/%[Bbm]/.test(a)?(e=T,o&&(n?X(t.dtick)<1:t.dtick<k)&&(t.dtick="M1")):/%[q]/.test(a)?(e=b,o&&(n?X(t.dtick)<3:t.dtick<_)&&(t.dtick="M3")):/%[Yy]/.test(a)&&(e=v,o&&(n?X(t.dtick)<12:t.dtick<y)&&(t.dtick="M12")))}(n=r())&&t.tick0===t._dowTick0&&(t.tick0=t._rawTick0);t._definedDelta=e}(t),t.tick0||(t.tick0="date"===t.type?"2000-01-01":0),"date"===t.type&&t.dtick<.1&&(t.dtick=.1),nt(t)},B.calcTicks=function(t,e){B.prepTicks(t,e);var r=s.simpleMap(t.range,t.r2l,void 0,void 0,e);if("array"===t.tickmode)return function(t){var e=t.tickvals,r=t.ticktext,n=new Array(e.length),i=H(s.simpleMap(t.range,t.r2l)),a=Math.min(i[0],i[1]),o=Math.max(i[0],i[1]),l=0;Array.isArray(r)||(r=[]);var c="category"===t.type?t.d2l_noadd:t.d2l;"log"===t.type&&"L"!==String(t.dtick).charAt(0)&&(t.dtick="L"+Math.pow(10,Math.floor(Math.min(t.range[0],t.range[1]))-1));for(var u=0;u<e.length;u++){var f=c(e[u]);f>a&&f<o&&(void 0===r[u]?n[l]=B.tickText(t,f):n[l]=it(t,f,String(r[u])),l++)}l<e.length&&n.splice(l,e.length-l);t.rangebreaks&&(n=n.filter((function(e){return t.maskBreaks(e.x)!==P})));return n}(t);var n=H(r),a=n[0],o=n[1],l=r[1]<r[0],c=Math.min(r[0],r[1]),u=Math.max(r[0],r[1]),f="log"===t.type&&!(i(t.dtick)||"L"===t.dtick.charAt(0)),h="period"===t.ticklabelmode;if(t._tmin=B.tickFirst(t,e),t._tmin<a!==l)return[];"category"!==t.type&&"multicategory"!==t.type||(o=l?Math.max(-.5,o):Math.min(t._categories.length-.5,o));var p=t._tmin;t.rangebreaks&&t._tick0Init!==t.tick0&&(p=wt(p,t),l||(p=B.tickIncrement(p,t.dtick,!l,t.calendar))),h&&(p=B.tickIncrement(p,t.dtick,!l,t.calendar));for(var d,g=Math.max(1e3,t._length||0),C=[],L=null;l?p>=o:p<=o;p=B.tickIncrement(p,t.dtick,l,t.calendar)){if(t.rangebreaks&&!l){if(p<a)continue;if(t.maskBreaks(p)===P&&wt(p,t)>=u)break}if(C.length>g||p===L)break;L=p;var I=!1;f&&p!==(0|p)&&(I=!0),C.push({minor:I,value:p})}if(h&&function(t,e,r){for(var n=0;n<t.length;n++){var i=t[n].value,a=n,o=n+1;n<t.length-1?(a=n,o=n+1):n>0?(a=n-1,o=n):(a=n,o=n);var s,l=t[a].value,c=t[o].value,u=Math.abs(c-l),f=r||u,h=0;f>=y?h=u>=y&&u<=m?u:v:r===b&&f>=_?h=u>=_&&u<=x?u:b:f>=k?h=u>=k&&u<=w?u:T:r===M&&f>=M?h=M:f>=A?h=A:r===S&&f>=S?h=S:r===E&&f>=E&&(h=E),h>=u&&(h=u,s=!0);var p=i+h;if(e.rangebreaks&&h>0){for(var d=0,g=0;g<84;g++){var C=(g+.5)/84;e.maskBreaks(i*(1-C)+C*p)!==P&&d++}(h*=d/84)||(t[n].drop=!0),s&&u>M&&(h=u)}(h>0||0===n)&&(t[n].periodX=i+h/2)}}(C,t,t._definedDelta),t.rangebreaks){var z="y"===t._id.charAt(0),O=1;"auto"===t.tickmode&&(O=t.tickfont?t.tickfont.size:12);var D=NaN;for(d=C.length-1;d>-1;d--)if(C[d].drop)C.splice(d,1);else{C[d].value=wt(C[d].value,t);var R=t.c2p(C[d].value);(z?D>R-O:D<R+O)?C.splice(l?d+1:d,1):D=R}}_t(t)&&360===Math.abs(r[1]-r[0])&&C.pop(),t._tmax=(C[C.length-1]||{}).value,t._prevDateHead="",t._inCalcTicks=!0;var F,N,j=[];for(d=0;d<C.length;d++){var U=C[d].minor,V=C[d].value;F=B.tickText(t,V,!1,U),void 0!==(N=C[d].periodX)&&(F.periodX=N,(N>u||N<c)&&(N>u&&(F.periodX=u),N<c&&(F.periodX=c),F.text=" ",t._prevDateHead="")),j.push(F)}return t._inCalcTicks=!1,j};var Z=[2,5,10],J=[1,2,3,6,12],K=[1,2,5,10,15,30],Q=[1,2,3,7,14],$=[-.046,0,.301,.477,.602,.699,.778,.845,.903,.954,1],tt=[-.301,0,.301,.699,1],et=[15,30,45,90,180];function rt(t,e,r){return e*s.roundUp(t/e,r)}function nt(t){var e=t.dtick;if(t._tickexponent=0,i(e)||"string"==typeof e||(e=1),"category"!==t.type&&"multicategory"!==t.type||(t._tickround=null),"date"===t.type){var r=t.r2l(t.tick0),n=t.l2r(r).replace(/(^-|i)/g,""),a=n.length;if("M"===String(e).charAt(0))a>10||"01-01"!==n.substr(5)?t._tickround="d":t._tickround=+e.substr(1)%12==0?"y":"m";else if(e>=A&&a<=10||e>=15*A)t._tickround="d";else if(e>=C&&a<=16||e>=E)t._tickround="M";else if(e>=L&&a<=19||e>=C)t._tickround="S";else{var o=t.l2r(r+e).replace(/^-/,"").length;t._tickround=Math.max(a,o)-20,t._tickround<0&&(t._tickround=4)}}else if(i(e)||"L"===e.charAt(0)){var s=t.range.map(t.r2d||Number);i(e)||(e=Number(e.substr(1))),t._tickround=2-Math.floor(Math.log(e)/Math.LN10+.01);var l=Math.max(Math.abs(s[0]),Math.abs(s[1])),c=Math.floor(Math.log(l)/Math.LN10+.01),u=void 0===t.minexponent?3:t.minexponent;Math.abs(c)>u&&(ot(t.exponentformat)&&!st(c)?t._tickexponent=3*Math.round((c-1)/3):t._tickexponent=c)}else t._tickround=null}function it(t,e,r){var n=t.tickfont||{};return{x:e,dx:0,dy:0,text:r||"",fontSize:n.size,font:n.family,fontColor:n.color}}B.autoTicks=function(t,e){var r;function n(t){return Math.pow(t,Math.floor(Math.log(e)/Math.LN10))}if("date"===t.type){t.tick0=s.dateTick0(t.calendar,0);var a=2*e;if(a>v)e/=v,r=n(10),t.dtick="M"+12*rt(e,r,Z);else if(a>T)e/=T,t.dtick="M"+rt(e,1,J);else if(a>A){t.dtick=rt(e,A,t._hasDayOfWeekBreaks?[1,2,7,14]:Q);var o=B.getTickFormat(t),l="period"===t.ticklabelmode;l&&(t._rawTick0=t.tick0),/%[uVW]/.test(o)?t.tick0=s.dateTick0(t.calendar,2):t.tick0=s.dateTick0(t.calendar,1),l&&(t._dowTick0=t.tick0)}else a>E?t.dtick=rt(e,E,J):a>C?t.dtick=rt(e,C,K):a>L?t.dtick=rt(e,L,K):(r=n(10),t.dtick=rt(e,r,Z))}else if("log"===t.type){t.tick0=0;var c=s.simpleMap(t.range,t.r2l);if(e>.7)t.dtick=Math.ceil(e);else if(Math.abs(c[1]-c[0])<1){var u=1.5*Math.abs((c[1]-c[0])/e);e=Math.abs(Math.pow(10,c[1])-Math.pow(10,c[0]))/u,r=n(10),t.dtick="L"+rt(e,r,Z)}else t.dtick=e>.3?"D2":"D1"}else"category"===t.type||"multicategory"===t.type?(t.tick0=0,t.dtick=Math.ceil(Math.max(e,1))):_t(t)?(t.tick0=0,r=1,t.dtick=rt(e,r,et)):(t.tick0=0,r=n(10),t.dtick=rt(e,r,Z));if(0===t.dtick&&(t.dtick=1),!i(t.dtick)&&"string"!=typeof t.dtick){var f=t.dtick;throw t.dtick=1,"ax.dtick error: "+String(f)}},B.tickIncrement=function(t,e,r,a){var o=r?-1:1;if(i(e))return s.increment(t,o*e);var l=e.charAt(0),c=o*Number(e.substr(1));if("M"===l)return s.incrementMonth(t,c,a);if("L"===l)return Math.log(Math.pow(10,t)+c)/Math.LN10;if("D"===l){var u="D2"===e?tt:$,f=t+.01*o,h=s.roundUp(s.mod(f,1),u,r);return Math.floor(f)+Math.log(n.round(Math.pow(10,h),1))/Math.LN10}throw"unrecognized dtick "+String(e)},B.tickFirst=function(t,e){var r=t.r2l||Number,a=s.simpleMap(t.range,r,void 0,void 0,e),o=a[1]<a[0],l=o?Math.floor:Math.ceil,c=H(a)[0],u=t.dtick,f=r(t.tick0);if(i(u)){var h=l((c-f)/u)*u+f;return"category"!==t.type&&"multicategory"!==t.type||(h=s.constrain(h,0,t._categories.length-1)),h}var p=u.charAt(0),d=Number(u.substr(1));if("M"===p){for(var g,m,v,y=0,x=f;y<10;){if(((g=B.tickIncrement(x,u,o,t.calendar))-c)*(x-c)<=0)return o?Math.min(x,g):Math.max(x,g);m=(c-(x+g)/2)/(g-x),v=p+(Math.abs(Math.round(m))||1)*d,x=B.tickIncrement(x,v,m<0?!o:o,t.calendar),y++}return s.error("tickFirst did not converge",t),x}if("L"===p)return Math.log(l((Math.pow(10,c)-f)/d)*d+f)/Math.LN10;if("D"===p){var b="D2"===u?tt:$,_=s.roundUp(s.mod(c,1),b,o);return Math.floor(c)+Math.log(n.round(Math.pow(10,_),1))/Math.LN10}throw"unrecognized dtick "+String(u)},B.tickText=function(t,e,r,n){var a,o=it(t,e),l="array"===t.tickmode,c=r||l,u=t.type,f="category"===u?t.d2l_noadd:t.d2l;if(l&&Array.isArray(t.ticktext)){var h=s.simpleMap(t.range,t.r2l),p=(Math.abs(h[1]-h[0])-(t._lBreaks||0))/1e4;for(a=0;a<t.ticktext.length&&!(Math.abs(e-f(t.tickvals[a]))<p);a++);if(a<t.ticktext.length)return o.text=String(t.ticktext[a]),o}function d(n){if(void 0===n)return!0;if(r)return"none"===n;var i={first:t._tmin,last:t._tmax}[n];return"all"!==n&&e!==i}var g=r?"never":"none"!==t.exponentformat&&d(t.showexponent)?"hide":"";if("date"===u?function(t,e,r,n){var a=t._tickround,o=r&&t.hoverformat||B.getTickFormat(t);n&&(a=i(a)?4:{y:"m",m:"d",d:"M",M:"S",S:4}[a]);var l,c=s.formatDate(e.x,o,a,t._dateFormat,t.calendar,t._extraFormat),u=c.indexOf("\n");-1!==u&&(l=c.substr(u+1),c=c.substr(0,u));n&&("00:00:00"===c||"00:00"===c?(c=l,l=""):8===c.length&&(c=c.replace(/:00$/,"")));if(l)if(r)"d"===a?c+=", "+l:c=l+(c?", "+c:"");else if(t._inCalcTicks&&t._prevDateHead===l){var f=-1!==(t.ticklabelposition||"").indexOf("inside"),h=t._realSide||t.side;(!f&&"top"===h||f&&"bottom"===h)&&(c+="<br> ")}else t._prevDateHead=l,c+="<br>"+l;e.text=c}(t,o,r,c):"log"===u?function(t,e,r,n,a){var o=t.dtick,l=e.x,c=t.tickformat,u="string"==typeof o&&o.charAt(0);"never"===a&&(a="");n&&"L"!==u&&(o="L3",u="L");if(c||"L"===u)e.text=lt(Math.pow(10,l),t,a,n);else if(i(o)||"D"===u&&s.mod(l+.01,1)<.1){var f=Math.round(l),h=Math.abs(f),p=t.exponentformat;"power"===p||ot(p)&&st(f)?(e.text=0===f?1:1===f?"10":"10<sup>"+(f>1?"":I)+h+"</sup>",e.fontSize*=1.25):("e"===p||"E"===p)&&h>2?e.text="1"+p+(f>0?"+":I)+h:(e.text=lt(Math.pow(10,l),t,"","fakehover"),"D1"===o&&"y"===t._id.charAt(0)&&(e.dy-=e.fontSize/6))}else{if("D"!==u)throw"unrecognized dtick "+String(o);e.text=String(Math.round(Math.pow(10,s.mod(l,1)))),e.fontSize*=.75}if("D1"===t.dtick){var d=String(e.text).charAt(0);"0"!==d&&"1"!==d||("y"===t._id.charAt(0)?e.dx-=e.fontSize/4:(e.dy+=e.fontSize/2,e.dx+=(t.range[1]>t.range[0]?1:-1)*e.fontSize*(l<0?.5:.25)))}}(t,o,0,c,g):"category"===u?function(t,e){var r=t._categories[Math.round(e.x)];void 0===r&&(r="");e.text=String(r)}(t,o):"multicategory"===u?function(t,e,r){var n=Math.round(e.x),i=t._categories[n]||[],a=void 0===i[1]?"":String(i[1]),o=void 0===i[0]?"":String(i[0]);r?e.text=o+" - "+a:(e.text=a,e.text2=o)}(t,o,r):_t(t)?function(t,e,r,n,i){if("radians"!==t.thetaunit||r)e.text=lt(e.x,t,i,n);else{var a=e.x/180;if(0===a)e.text="0";else{var o=function(t){function e(t,e){return Math.abs(t-e)<=1e-6}var r=function(t){for(var r=1;!e(Math.round(t*r)/r,t);)r*=10;return r}(t),n=t*r,i=Math.abs(function t(r,n){return e(n,0)?r:t(n,r%n)}(n,r));return[Math.round(n/i),Math.round(r/i)]}(a);if(o[1]>=100)e.text=lt(s.deg2rad(e.x),t,i,n);else{var l=e.x<0;1===o[1]?1===o[0]?e.text="\u03c0":e.text=o[0]+"\u03c0":e.text=["<sup>",o[0],"</sup>","\u2044","<sub>",o[1],"</sub>","\u03c0"].join(""),l&&(e.text=I+e.text)}}}}(t,o,r,c,g):function(t,e,r,n,i){"never"===i?i="":"all"===t.showexponent&&Math.abs(e.x/t.dtick)<1e-6&&(i="hide");e.text=lt(e.x,t,i,n)}(t,o,0,c,g),n||(t.tickprefix&&!d(t.showtickprefix)&&(o.text=t.tickprefix+o.text),t.ticksuffix&&!d(t.showticksuffix)&&(o.text+=t.ticksuffix)),"boundaries"===t.tickson||t.showdividers){var m=function(e){var r=t.l2p(e);return r>=0&&r<=t._length?e:null};o.xbnd=[m(o.x-.5),m(o.x+t.dtick-.5)]}return o},B.hoverLabelText=function(t,e,r){if(r!==P&&r!==e)return B.hoverLabelText(t,e)+" - "+B.hoverLabelText(t,r);var n="log"===t.type&&e<=0,i=B.tickText(t,t.c2l(n?-e:e),"hover").text;return n?0===e?"0":I+i:i};var at=["f","p","n","\u03bc","m","","k","M","G","T"];function ot(t){return"SI"===t||"B"===t}function st(t){return t>14||t<-15}function lt(t,e,r,n){var a=t<0,o=e._tickround,l=r||e.exponentformat||"B",c=e._tickexponent,u=B.getTickFormat(e),f=e.separatethousands;if(n){var h={exponentformat:l,minexponent:e.minexponent,dtick:"none"===e.showexponent?e.dtick:i(t)&&Math.abs(t)||1,range:"none"===e.showexponent?e.range.map(e.r2d):[0,t||1]};nt(h),o=(Number(h._tickround)||0)+4,c=h._tickexponent,e.hoverformat&&(u=e.hoverformat)}if(u)return e._numFormat(u)(t).replace(/-/g,I);var p,d=Math.pow(10,-o)/2;if("none"===l&&(c=0),(t=Math.abs(t))<d)t="0",a=!1;else{if(t+=d,c&&(t*=Math.pow(10,-c),o+=c),0===o)t=String(Math.floor(t));else if(o<0){t=(t=String(Math.round(t))).substr(0,t.length+o);for(var g=o;g<0;g++)t+="0"}else{var m=(t=String(t)).indexOf(".")+1;m&&(t=t.substr(0,m+o).replace(/\.?0+$/,""))}t=s.numSeparate(t,e._separators,f)}c&&"hide"!==l&&(ot(l)&&st(c)&&(l="power"),p=c<0?I+-c:"power"!==l?"+"+c:String(c),"e"===l||"E"===l?t+=l+p:"power"===l?t+="\xd710<sup>"+p+"</sup>":"B"===l&&9===c?t+="B":ot(l)&&(t+=at[c/3+5]));return a?I+t:t}function ct(t,e){for(var r=[],n={},i=0;i<e.length;i++){var a=e[i];n[a.text2]?n[a.text2].push(a.x):n[a.text2]=[a.x]}for(var o in n)r.push(it(t,s.interp(n[o],.5),o));return r}function ut(t){return void 0!==t.periodX?t.periodX:t.x}function ft(t){return[t.text,t.x,t.axInfo,t.font,t.fontSize,t.fontColor].join("_")}function ht(t){var e=t.title.font.size,r=(t.title.text.match(c.BR_TAG_ALL)||[]).length;return t.title.hasOwnProperty("standoff")?r?e*(D+r*R):e*D:r?e*(r+1)*R:e}function pt(t,e){var r=t.l2p(e);return r>1&&r<t._length-1}function dt(t){var e=n.select(t),r=e.select(".text-math-group");return r.empty()?e.select("text"):r}function gt(t){return t._id+".automargin"}function mt(t){return gt(t)+".mirror"}function vt(t){return t._id+".rangeslider"}function yt(t,e){for(var r=0;r<e.length;r++)-1===t.indexOf(e[r])&&t.push(e[r])}function xt(t,e,r){var n,i,a=[],o=[],l=t.layout;for(n=0;n<e.length;n++)a.push(B.getFromId(t,e[n]));for(n=0;n<r.length;n++)o.push(B.getFromId(t,r[n]));var c=Object.keys(p),u=["anchor","domain","overlaying","position","side","tickangle","editType"],f=["linear","log"];for(n=0;n<c.length;n++){var h=c[n],d=a[0][h],g=o[0][h],m=!0,v=!1,y=!1;if("_"!==h.charAt(0)&&"function"!=typeof d&&-1===u.indexOf(h)){for(i=1;i<a.length&&m;i++){var x=a[i][h];"type"===h&&-1!==f.indexOf(d)&&-1!==f.indexOf(x)&&d!==x?v=!0:x!==d&&(m=!1)}for(i=1;i<o.length&&m;i++){var b=o[i][h];"type"===h&&-1!==f.indexOf(g)&&-1!==f.indexOf(b)&&g!==b?y=!0:o[i][h]!==g&&(m=!1)}m&&(v&&(l[a[0]._name].type="linear"),y&&(l[o[0]._name].type="linear"),bt(l,h,a,o,t._fullLayout._dfltTitle))}}for(n=0;n<t._fullLayout.annotations.length;n++){var _=t._fullLayout.annotations[n];-1!==e.indexOf(_.xref)&&-1!==r.indexOf(_.yref)&&s.swapAttrs(l.annotations[n],["?"])}}function bt(t,e,r,n,i){var a,o=s.nestedProperty,l=o(t[r[0]._name],e).get(),c=o(t[n[0]._name],e).get();for("title"===e&&(l&&l.text===i.x&&(l.text=i.y),c&&c.text===i.y&&(c.text=i.x)),a=0;a<r.length;a++)o(t,r[a]._name+"."+e).set(c);for(a=0;a<n.length;a++)o(t,n[a]._name+"."+e).set(l)}function _t(t){return"angularaxis"===t._id}function wt(t,e){for(var r=e._rangebreaks.length,n=0;n<r;n++){var i=e._rangebreaks[n];if(t>=i.min&&t<i.max)return i.max}return t}B.getTickFormat=function(t){var e,r,n,i,a,o,s,l;function c(t){return"string"!=typeof t?t:Number(t.replace("M",""))*T}function u(t,e){var r=["L","D"];if(typeof t==typeof e){if("number"==typeof t)return t-e;var n=r.indexOf(t.charAt(0)),i=r.indexOf(e.charAt(0));return n===i?Number(t.replace(/(L|D)/g,""))-Number(e.replace(/(L|D)/g,"")):n-i}return"number"==typeof t?1:-1}function f(t,e){var r=null===e[0],n=null===e[1],i=u(t,e[0])>=0,a=u(t,e[1])<=0;return(r||i)&&(n||a)}if(t.tickformatstops&&t.tickformatstops.length>0)switch(t.type){case"date":case"linear":for(e=0;e<t.tickformatstops.length;e++)if((n=t.tickformatstops[e]).enabled&&(i=t.dtick,a=n.dtickrange,o=void 0,s=void 0,l=void 0,o=c||function(t){return t},s=a[0],l=a[1],(!s&&"number"!=typeof s||o(s)<=o(i))&&(!l&&"number"!=typeof l||o(l)>=o(i)))){r=n;break}break;case"log":for(e=0;e<t.tickformatstops.length;e++)if((n=t.tickformatstops[e]).enabled&&f(t.dtick,n.dtickrange)){r=n;break}}return r?r.value:t.tickformat},B.getSubplots=function(t,e){var r=t._fullLayout._subplots,n=r.cartesian.concat(r.gl2d||[]),i=e?B.findSubplotsWithAxis(n,e):n;return i.sort((function(t,e){var r=t.substr(1).split("y"),n=e.substr(1).split("y");return r[0]===n[0]?+r[1]-+n[1]:+r[0]-+n[0]})),i},B.findSubplotsWithAxis=function(t,e){for(var r=new RegExp("x"===e._id.charAt(0)?"^"+e._id+"y":e._id+"$"),n=[],i=0;i<t.length;i++){var a=t[i];r.test(a)&&n.push(a)}return n},B.makeClipPaths=function(t){var e=t._fullLayout;if(!e._hasOnlyLargeSploms){var r,i,a={_offset:0,_length:e.width,_id:""},o={_offset:0,_length:e.height,_id:""},s=B.list(t,"x",!0),l=B.list(t,"y",!0),c=[];for(r=0;r<s.length;r++)for(c.push({x:s[r],y:o}),i=0;i<l.length;i++)0===r&&c.push({x:a,y:l[i]}),c.push({x:s[r],y:l[i]});var u=e._clips.selectAll(".axesclip").data(c,(function(t){return t.x._id+t.y._id}));u.enter().append("clipPath").classed("axesclip",!0).attr("id",(function(t){return"clip"+e._uid+t.x._id+t.y._id})).append("rect"),u.exit().remove(),u.each((function(t){n.select(this).select("rect").attr({x:t.x._offset||0,y:t.y._offset||0,width:t.x._length||1,height:t.y._length||1})}))}},B.draw=function(t,e,r){var n=t._fullLayout;"redraw"===e&&n._paper.selectAll("g.subplot").each((function(t){var e=t[0],r=n._plots[e];if(r){var i=r.xaxis,a=r.yaxis;r.xaxislayer.selectAll("."+i._id+"tick").remove(),r.yaxislayer.selectAll("."+a._id+"tick").remove(),r.xaxislayer.selectAll("."+i._id+"tick2").remove(),r.yaxislayer.selectAll("."+a._id+"tick2").remove(),r.xaxislayer.selectAll("."+i._id+"divider").remove(),r.yaxislayer.selectAll("."+a._id+"divider").remove(),r.gridlayer&&r.gridlayer.selectAll("path").remove(),r.zerolinelayer&&r.zerolinelayer.selectAll("path").remove(),n._infolayer.select(".g-"+i._id+"title").remove(),n._infolayer.select(".g-"+a._id+"title").remove()}}));var i=e&&"redraw"!==e?e:B.listIds(t);return s.syncOrAsync(i.map((function(e){return function(){if(e){var n=B.getFromId(t,e),i=B.drawOne(t,n,r);return n._r=n.range.slice(),n._rl=s.simpleMap(n._r,n.r2l),i}}})))},B.drawOne=function(t,e,r){var n,i,l;r=r||{},e.setScale();var c=t._fullLayout,p=e._id,d=p.charAt(0),g=B.counterLetter(p),m=c._plots[e._mainSubplot];if(m){var v=m[d+"axislayer"],y=e._mainLinePosition,x=e._mainMirrorPosition,b=e._vals=B.calcTicks(e),_=[e.mirror,y,x].join("_");for(n=0;n<b.length;n++)b[n].axInfo=_;e._selections={},e._tickAngles&&(e._prevTickAngles=e._tickAngles),e._tickAngles={},e._depth=null;var w={};if(e.visible){var T,k,M=B.makeTransTickFn(e),A=B.makeTransTickLabelFn(e),S="inside"===e.ticks,E="outside"===e.ticks;if("boundaries"===e.tickson){var C=function(t,e){var r,n=[],i=function(t,e){var r=t.xbnd[e];null!==r&&n.push(s.extendFlat({},t,{x:r}))};if(e.length){for(r=0;r<e.length;r++)i(e[r],0);i(e[r-1],1)}return n}(0,b);k=B.clipEnds(e,C),T=S?k:C}else k=B.clipEnds(e,b),T=S&&"period"!==e.ticklabelmode?k:b;var L=e._gridVals=k,I=function(t,e){var r,n,i=[],a=e.length&&e[e.length-1].x<e[0].x,o=function(t,e){var r=t.xbnd[e];null!==r&&i.push(s.extendFlat({},t,{x:r}))};if(t.showdividers&&e.length){for(r=0;r<e.length;r++){var l=e[r];l.text2!==n&&o(l,a?1:0),n=l.text2}o(e[r-1],a?0:1)}return i}(e,b);if(!c._hasOnlyLargeSploms){var P=e._subplotsWith,z={};for(n=0;n<P.length;n++){i=P[n];var O=(l=c._plots[i])[g+"axis"],D=O._mainAxis._id;if(!z[D]){z[D]=1;var N="x"===d?"M0,"+O._offset+"v"+O._length:"M"+O._offset+",0h"+O._length;B.drawGrid(t,e,{vals:L,counterAxis:O,layer:l.gridlayer.select("."+p),path:N,transFn:M}),B.drawZeroLine(t,e,{counterAxis:O,layer:l.zerolinelayer,path:N,transFn:M})}}}var j=B.getTickSigns(e),U=[];if(e.ticks){var V,q,H,G=B.makeTickPath(e,y,j[2]);if(e._anchorAxis&&e.mirror&&!0!==e.mirror?(V=B.makeTickPath(e,x,j[3]),q=G+V):(V="",q=G),e.showdividers&&E&&"boundaries"===e.tickson){var Y={};for(n=0;n<I.length;n++)Y[I[n].x]=1;H=function(t){return Y[t.x]?V:q}}else H=q;B.drawTicks(t,e,{vals:T,layer:v,path:H,transFn:M}),"allticks"===e.mirror&&(U=Object.keys(e._linepositions||{}))}for(n=0;n<U.length;n++){i=U[n],l=c._plots[i];var W=e._linepositions[i]||[],X=B.makeTickPath(e,W[0],j[0])+B.makeTickPath(e,W[1],j[1]);B.drawTicks(t,e,{vals:T,layer:l[d+"axislayer"],path:X,transFn:M})}var Z=[];if(Z.push((function(){return B.drawLabels(t,e,{vals:b,layer:v,transFn:A,labelFns:B.makeLabelFns(e,y)})})),"multicategory"===e.type){var J={x:2,y:10}[d];Z.push((function(){var r={x:"height",y:"width"}[d],n=Q()[r]+J+(e._tickAngles[p+"tick"]?e.tickfont.size*R:0);return B.drawLabels(t,e,{vals:ct(e,b),layer:v,cls:p+"tick2",repositionOnUpdate:!0,secondary:!0,transFn:M,labelFns:B.makeLabelFns(e,y+n*j[4])})})),Z.push((function(){return e._depth=j[4]*(Q("tick2")[e.side]-y),function(t,e,r){var n=e._id+"divider",i=r.vals,a=r.layer.selectAll("path."+n).data(i,ft);a.exit().remove(),a.enter().insert("path",":first-child").classed(n,1).classed("crisp",1).call(f.stroke,e.dividercolor).style("stroke-width",h.crispRound(t,e.dividerwidth,1)+"px"),a.attr("transform",r.transFn).attr("d",r.path)}(t,e,{vals:I,layer:v,path:B.makeTickPath(e,y,j[4],e._depth),transFn:M})}))}else e.title.hasOwnProperty("standoff")&&Z.push((function(){e._depth=j[4]*(Q()[e.side]-y)}));var K=o.getComponentMethod("rangeslider","isVisible")(e);return Z.push((function(){var r,n,i,s,l=e.side.charAt(0),u=F[e.side].charAt(0),f=B.getPxPosition(t,e),h=E?e.ticklen:0;if((e.automargin||K)&&("multicategory"===e.type?r=Q("tick2"):(r=Q(),"x"===d&&"b"===l&&(e._depth=Math.max(r.width>0?r.bottom-f:0,h)))),e.automargin){n={x:0,y:0,r:0,l:0,t:0,b:0};var p=[0,1];if("x"===d){if("b"===l?n[l]=e._depth:(n[l]=e._depth=Math.max(r.width>0?f-r.top:0,h),p.reverse()),r.width>0){var m=r.right-(e._offset+e._length);m>0&&(n.xr=1,n.r=m);var v=e._offset-r.left;v>0&&(n.xl=0,n.l=v)}}else if("l"===l?n[l]=e._depth=Math.max(r.height>0?f-r.left:0,h):(n[l]=e._depth=Math.max(r.height>0?r.right-f:0,h),p.reverse()),r.height>0){var y=r.bottom-(e._offset+e._length);y>0&&(n.yb=0,n.b=y);var x=e._offset-r.top;x>0&&(n.yt=1,n.t=x)}n[g]="free"===e.anchor?e.position:e._anchorAxis.domain[p[0]],e.title.text!==c._dfltTitle[d]&&(n[l]+=ht(e)+(e.title.standoff||0)),e.mirror&&"free"!==e.anchor&&((i={x:0,y:0,r:0,l:0,t:0,b:0})[u]=e.linewidth,e.mirror&&!0!==e.mirror&&(i[u]+=h),!0===e.mirror||"ticks"===e.mirror?i[g]=e._anchorAxis.domain[p[1]]:"all"!==e.mirror&&"allticks"!==e.mirror||(i[g]=[e._counterDomainMin,e._counterDomainMax][p[1]]))}K&&(s=o.getComponentMethod("rangeslider","autoMarginOpts")(t,e)),a.autoMargin(t,gt(e),n),a.autoMargin(t,mt(e),i),a.autoMargin(t,vt(e),s)})),r.skipTitle||K&&"bottom"===e.side||Z.push((function(){return function(t,e){var r,n=t._fullLayout,i=e._id,a=i.charAt(0),o=e.title.font.size;if(e.title.hasOwnProperty("standoff"))r=e._depth+e.title.standoff+ht(e);else{var s=-1!==(e.ticklabelposition||"").indexOf("inside");if("multicategory"===e.type)r=e._depth;else{var l=1.5*o;s&&(l=.5*o,"outside"===e.ticks&&(l+=e.ticklen)),r=10+l+(e.linewidth?e.linewidth-1:0)}s||(r+="x"===a?"top"===e.side?o*(e.showticklabels?1:0):o*(e.showticklabels?1.5:.5):"right"===e.side?o*(e.showticklabels?1:.5):o*(e.showticklabels?.5:0))}var c,f,p,d,g=B.getPxPosition(t,e);"x"===a?(f=e._offset+e._length/2,p="top"===e.side?g-r:g+r):(p=e._offset+e._length/2,f="right"===e.side?g+r:g-r,c={rotate:"-90",offset:0});if("multicategory"!==e.type){var m=e._selections[e._id+"tick"];if(d={selection:m,side:e.side},m&&m.node()&&m.node().parentNode){var v=h.getTranslate(m.node().parentNode);d.offsetLeft=v.x,d.offsetTop=v.y}e.title.hasOwnProperty("standoff")&&(d.pad=0)}return u.draw(t,i+"title",{propContainer:e,propName:e._name+".title.text",placeholder:n._dfltTitle[a],avoid:d,transform:c,attributes:{x:f,y:p,"text-anchor":"middle"}})}(t,e)})),s.syncOrAsync(Z)}}function Q(t){var r=p+(t||"tick");return w[r]||(w[r]=function(t,e){var r,n,i,a;t._selections[e].size()?(r=1/0,n=-1/0,i=1/0,a=-1/0,t._selections[e].each((function(){var t=dt(this),e=h.bBox(t.node().parentNode);r=Math.min(r,e.top),n=Math.max(n,e.bottom),i=Math.min(i,e.left),a=Math.max(a,e.right)}))):(r=0,n=0,i=0,a=0);return{top:r,bottom:n,left:i,right:a,height:n-r,width:a-i}}(e,r)),w[r]}},B.getTickSigns=function(t){var e=t._id.charAt(0),r={x:"top",y:"right"}[e],n=t.side===r?1:-1,i=[-1,1,n,-n];return"inside"!==t.ticks==("x"===e)&&(i=i.map((function(t){return-t}))),t.side&&i.push({l:-1,t:-1,r:1,b:1}[t.side.charAt(0)]),i},B.makeTransTickFn=function(t){return"x"===t._id.charAt(0)?function(e){return l(t._offset+t.l2p(e.x),0)}:function(e){return l(0,t._offset+t.l2p(e.x))}},B.makeTransTickLabelFn=function(t){var e=function(t){var e=t.ticklabelposition||"",r=function(t){return-1!==e.indexOf(t)},n=r("top"),i=r("left"),a=r("right"),o=r("bottom"),s=r("inside"),l=o||i||n||a;if(!l&&!s)return[0,0];var c=t.side,u=l?(t.tickwidth||0)/2:0,f=3,h=t.tickfont?t.tickfont.size:12;(o||n)&&(u+=h*D,f+=(t.linewidth||0)/2);(i||a)&&(u+=(t.linewidth||0)/2,f+=3);s&&"top"===c&&(f-=h*(1-D));(i||n)&&(u=-u);"bottom"!==c&&"right"!==c||(f=-f);return[l?u:0,s?f:0]}(t),r=e[0],n=e[1];return"x"===t._id.charAt(0)?function(e){return l(r+t._offset+t.l2p(ut(e)),n)}:function(e){return l(n,r+t._offset+t.l2p(ut(e)))}},B.makeTickPath=function(t,e,r,n){n=void 0!==n?n:t.ticklen;var i=t._id.charAt(0),a=(t.linewidth||1)/2;return"x"===i?"M0,"+(e+a*r)+"v"+n*r:"M"+(e+a*r)+",0h"+n*r},B.makeLabelFns=function(t,e,r){var n=t.ticklabelposition||"",a=function(t){return-1!==n.indexOf(t)},o=a("top"),l=a("left"),c=a("right"),u=a("bottom")||l||o||c,f=a("inside"),h="inside"===n&&"inside"===t.ticks||!f&&"outside"===t.ticks&&"boundaries"!==t.tickson,p=0,d=0,g=h?t.ticklen:0;if(f?g*=-1:u&&(g=0),h&&(p+=g,r)){var m=s.deg2rad(r);p=g*Math.cos(m)+1,d=g*Math.sin(m)}t.showticklabels&&(h||t.showline)&&(p+=.2*t.tickfont.size);var v,y,x,b,_,w={labelStandoff:p+=(t.linewidth||1)/2*(f?-1:1),labelShift:d},T=0,k=t.side,M=t._id.charAt(0),A=t.tickangle;if("x"===M)b=(_=!f&&"bottom"===k||f&&"top"===k)?1:-1,f&&(b*=-1),v=d*b,y=e+p*b,x=_?1:-.2,90===Math.abs(A)&&(f?x+=O:x=-90===A&&"bottom"===k?D:90===A&&"top"===k?O:.5,T=O/2*(A/90)),w.xFn=function(t){return t.dx+v+T*t.fontSize},w.yFn=function(t){return t.dy+y+t.fontSize*x},w.anchorFn=function(t,e){if(u){if(l)return"end";if(c)return"start"}return i(e)&&0!==e&&180!==e?e*b<0!==f?"end":"start":"middle"},w.heightFn=function(e,r,n){return r<-60||r>60?-.5*n:"top"===t.side!==f?-n:0};else if("y"===M){if(b=(_=!f&&"left"===k||f&&"right"===k)?1:-1,f&&(b*=-1),v=p,y=d*b,x=0,f||90!==Math.abs(A)||(x=-90===A&&"left"===k||90===A&&"right"===k?D:.5),f){var S=i(A)?+A:0;if(0!==S){var E=s.deg2rad(S);T=Math.abs(Math.sin(E))*D*b,x=0}}w.xFn=function(t){return t.dx+e-(v+t.fontSize*x)*b+T*t.fontSize},w.yFn=function(t){return t.dy+y+t.fontSize*O},w.anchorFn=function(t,e){return i(e)&&90===Math.abs(e)?"middle":_?"end":"start"},w.heightFn=function(e,r,n){return"right"===t.side&&(r*=-1),r<-30?-n:r<30?-.5*n:0}}return w},B.drawTicks=function(t,e,r){r=r||{};var n=e._id+"tick",i=r.vals;"period"===e.ticklabelmode&&(i=i.slice()).shift();var a=r.layer.selectAll("path."+n).data(e.ticks?i:[],ft);a.exit().remove(),a.enter().append("path").classed(n,1).classed("ticks",1).classed("crisp",!1!==r.crisp).call(f.stroke,e.tickcolor).style("stroke-width",h.crispRound(t,e.tickwidth,1)+"px").attr("d",r.path),a.attr("transform",r.transFn)},B.drawGrid=function(t,e,r){r=r||{};var n=e._id+"grid",i=r.vals,a=r.counterAxis;if(!1===e.showgrid)i=[];else if(a&&B.shouldShowZeroLine(t,e,a))for(var o="array"===e.tickmode,s=0;s<i.length;s++){var l=i[s].x;if(o?!l:Math.abs(l)<e.dtick/100){if(i=i.slice(0,s).concat(i.slice(s+1)),!o)break;s--}}var c=r.layer.selectAll("path."+n).data(i,ft);c.exit().remove(),c.enter().append("path").classed(n,1).classed("crisp",!1!==r.crisp),e._gw=h.crispRound(t,e.gridwidth,1),c.attr("transform",r.transFn).attr("d",r.path).call(f.stroke,e.gridcolor||"#ddd").style("stroke-width",e._gw+"px"),"function"==typeof r.path&&c.attr("d",r.path)},B.drawZeroLine=function(t,e,r){r=r||r;var n=e._id+"zl",i=B.shouldShowZeroLine(t,e,r.counterAxis),a=r.layer.selectAll("path."+n).data(i?[{x:0,id:e._id}]:[]);a.exit().remove(),a.enter().append("path").classed(n,1).classed("zl",1).classed("crisp",!1!==r.crisp).each((function(){r.layer.selectAll("path").sort((function(t,e){return U(t.id,e.id)}))})),a.attr("transform",r.transFn).attr("d",r.path).call(f.stroke,e.zerolinecolor||f.defaultLine).style("stroke-width",h.crispRound(t,e.zerolinewidth,e._gw||1)+"px")},B.drawLabels=function(t,e,r){r=r||{};var a=t._fullLayout,o=e._id,u=o.charAt(0),f=r.cls||o+"tick",p=r.vals,d=r.labelFns,g=r.secondary?0:e.tickangle,m=(e._prevTickAngles||{})[f],v=r.layer.selectAll("g."+f).data(e.showticklabels?p:[],ft),y=[];function x(t,a){var o=-1!==(e.ticklabelposition||"").indexOf("inside");t.each((function(t){var s=n.select(this),u=s.select(".text-math-group"),f=d.anchorFn(t,a),p=r.transFn.call(s.node(),t)+(i(a)&&0!=+a?" rotate("+a+","+d.xFn(t)+","+(d.yFn(t)-t.fontSize/2)+")":""),g=c.lineCount(s),m=R*t.fontSize,v=d.heightFn(t,i(a)?+a:0,(g-1)*m);if(v&&(p+=l(0,v)),u.empty()){var y=s.select("text");y.attr({transform:p,"text-anchor":f}),o&&(y.style({opacity:100}),e._hideOutOfRangeInsideTickLabels&&e._hideOutOfRangeInsideTickLabels())}else{var x=h.bBox(u.node()).width*{end:-.5,start:.5}[f];u.attr("transform",p+l(x,0))}}))}v.enter().append("g").classed(f,1).append("text").attr("text-anchor","middle").each((function(e){var r=n.select(this),i=t._promises.length;r.call(c.positionText,d.xFn(e),d.yFn(e)).call(h.font,e.font,e.fontSize,e.fontColor).text(e.text).call(c.convertToTspans,t),t._promises[i]?y.push(t._promises.pop().then((function(){x(r,g)}))):x(r,g)})),v.exit().remove(),r.repositionOnUpdate&&v.each((function(t){n.select(this).select("text").call(c.positionText,d.xFn(t),d.yFn(t))})),e._hideOutOfRangeInsideTickLabels=void 0,-1!==(e.ticklabelposition||"").indexOf("inside")&&(e._hideOutOfRangeInsideTickLabels=function(){var t=s.simpleMap(e.range,e.r2l),r=e.l2p(t[0]),i=e.l2p(t[1]),a=Math.min(r,i)+e._offset,o=Math.max(r,i)+e._offset,l="x"===e._id.charAt(0);v.each((function(t){var r=n.select(this);if(r.select(".text-math-group").empty()){var i=h.bBox(r.node()),s=!1;l?(i.right>o||i.left<a)&&(s=!0):(i.bottom>o||i.top+(e.tickangle?0:t.fontSize/4)<a)&&(s=!0),s&&r.select("text").style({opacity:0})}}))}),x(v,m+1?m:g);var b=null;e._selections&&(e._selections[f]=v);var _=[function(){return y.length&&Promise.all(y)}];e.automargin&&a._redrawFromAutoMarginCount&&90===m?(b=90,_.push((function(){x(v,m)}))):_.push((function(){if(x(v,g),p.length&&"x"===u&&!i(g)&&("log"!==e.type||"D"!==String(e.dtick).charAt(0))){b=0;var t,n=0,a=[];if(v.each((function(t){n=Math.max(n,t.fontSize);var r=e.l2p(t.x),i=dt(this),o=h.bBox(i.node());a.push({top:0,bottom:10,height:10,left:r-o.width/2,right:r+o.width/2+2,width:o.width+2})})),"boundaries"!==e.tickson&&!e.showdividers||r.secondary){var o=p.length,l=Math.abs((p[o-1].x-p[0].x)*e._m)/(o-1),c=e.ticklabelposition||"",f=function(t){return-1!==c.indexOf(t)},d=f("top"),m=f("left"),y=f("right"),_=f("bottom")||m||d||y?(e.tickwidth||0)+6:0,w=l<2.5*n||"multicategory"===e.type;for(t=0;t<a.length-1;t++)if(s.bBoxIntersect(a[t],a[t+1],_)){b=w?90:30;break}}else{var T=2;for(e.ticks&&(T+=e.tickwidth/2),t=0;t<a.length;t++){var k=p[t].xbnd,M=a[t];if(null!==k[0]&&M.left-e.l2p(k[0])<T||null!==k[1]&&e.l2p(k[1])-M.right<T){b=90;break}}}b&&x(v,b)}})),e._tickAngles&&_.push((function(){e._tickAngles[f]=null===b?i(g)?g:0:b}));var w=e._anchorAxis;w&&w.autorange&&-1!==(e.ticklabelposition||"").indexOf("inside")&&!V(a,e._id)&&(a._insideTickLabelsAutorange||(a._insideTickLabelsAutorange={}),a._insideTickLabelsAutorange[w._name+".autorange"]=w.autorange,_.push((function(){v.each((function(t,r){var n=dt(this);e._vals[r].bb=h.bBox(n.node())}))})));var T=s.syncOrAsync(_);return T&&T.then&&t._promises.push(T),T},B.getPxPosition=function(t,e){var r,n=t._fullLayout._size,i=e._id.charAt(0),a=e.side;return"free"!==e.anchor?r=e._anchorAxis:"x"===i?r={_offset:n.t+(1-(e.position||0))*n.h,_length:0}:"y"===i&&(r={_offset:n.l+(e.position||0)*n.w,_length:0}),"top"===a||"left"===a?r._offset:"bottom"===a||"right"===a?r._offset+r._length:void 0},B.shouldShowZeroLine=function(t,e,r){var n=s.simpleMap(e.range,e.r2l);return n[0]*n[1]<=0&&e.zeroline&&("linear"===e.type||"-"===e.type)&&!(e.rangebreaks&&e.maskBreaks(0)===P)&&(pt(e,0)||!function(t,e,r,n){var i=r._mainAxis;if(!i)return;var a=t._fullLayout,o=e._id.charAt(0),s=B.counterLetter(e._id),l=e._offset+(Math.abs(n[0])<Math.abs(n[1])==("x"===o)?0:e._length);function c(t){if(!t.showline||!t.linewidth)return!1;var r=Math.max((t.linewidth+e.zerolinewidth)/2,1);function n(t){return"number"==typeof t&&Math.abs(t-l)<r}if(n(t._mainLinePosition)||n(t._mainMirrorPosition))return!0;var i=t._linepositions||{};for(var a in i)if(n(i[a][0])||n(i[a][1]))return!0}var u=a._plots[r._mainSubplot];if(!(u.mainplotinfo||u).overlays.length)return c(r);for(var f=B.list(t,s),h=0;h<f.length;h++){var p=f[h];if(p._mainAxis===i&&c(p))return!0}}(t,e,r,n)||function(t,e){for(var r=t._fullData,n=e._mainSubplot,i=e._id.charAt(0),a=0;a<r.length;a++){var s=r[a];if(!0===s.visible&&s.xaxis+s.yaxis===n){if(o.traceIs(s,"bar-like")&&s.orientation==={x:"h",y:"v"}[i])return!0;if(s.fill&&s.fill.charAt(s.fill.length-1)===i)return!0}}return!1}(t,e))},B.clipEnds=function(t,e){return e.filter((function(e){return pt(t,e.x)}))},B.allowAutoMargin=function(t){for(var e=B.list(t,"",!0),r=0;r<e.length;r++){var n=e[r];n.automargin&&(a.allowAutoMargin(t,gt(n)),n.mirror&&a.allowAutoMargin(t,mt(n))),o.getComponentMethod("rangeslider","isVisible")(n)&&a.allowAutoMargin(t,vt(n))}},B.swap=function(t,e){for(var r=function(t,e){var r,n,i=[];for(r=0;r<e.length;r++){var a=[],o=t._fullData[e[r]].xaxis,s=t._fullData[e[r]].yaxis;if(o&&s){for(n=0;n<i.length;n++)-1===i[n].x.indexOf(o)&&-1===i[n].y.indexOf(s)||a.push(n);if(a.length){var l,c=i[a[0]];if(a.length>1)for(n=1;n<a.length;n++)l=i[a[n]],yt(c.x,l.x),yt(c.y,l.y);yt(c.x,[o]),yt(c.y,[s])}else i.push({x:[o],y:[s]})}}return i}(t,e),n=0;n<r.length;n++)xt(t,r[n].x,r[n].y)}},{"../../components/color":643,"../../components/drawing":665,"../../components/titles":738,"../../constants/alignment":745,"../../constants/numerical":753,"../../lib":778,"../../lib/svg_text_utils":803,"../../plots/plots":891,"../../registry":911,"./autorange":827,"./axis_autotype":829,"./axis_ids":831,"./clean_ticks":833,"./layout_attributes":842,"./set_convert":848,d3:169,"fast-isnumeric":241}],829:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../lib"),a=t("../../constants/numerical").BADNUM,o=i.isArrayOrTypedArray,s=i.isDateTime,l=i.cleanNumber,c=Math.round;function u(t,e){return e?n(t):"number"==typeof t}function f(t){return Math.max(1,(t-1)/1e3)}e.exports=function(t,e,r){var i=t,h=r.noMultiCategory;if(o(i)&&!i.length)return"-";if(!h&&function(t){return o(t[0])&&o(t[1])}(i))return"multicategory";if(h&&Array.isArray(i[0])){for(var p=[],d=0;d<i.length;d++)if(o(i[d]))for(var g=0;g<i[d].length;g++)p.push(i[d][g]);i=p}if(function(t,e){for(var r=t.length,i=f(r),a=0,o=0,l={},u=0;u<r;u+=i){var h=c(u),p=t[h],d=String(p);l[d]||(l[d]=1,s(p,e)&&a++,n(p)&&o++)}return a>2*o}(i,e))return"date";var m="strict"!==r.autotypenumbers;return function(t,e){for(var r=t.length,n=f(r),i=0,o=0,s={},u=0;u<r;u+=n){var h=c(u),p=t[h],d=String(p);if(!s[d]){s[d]=1;var g=typeof p;"boolean"===g?o++:(e?l(p)!==a:"number"===g)?i++:"string"===g&&o++}}return o>2*i}(i,m)?"category":function(t,e){for(var r=t.length,n=0;n<r;n++)if(u(t[n],e))return!0;return!1}(i,m)?"linear":"-"}},{"../../constants/numerical":753,"../../lib":778,"fast-isnumeric":241}],830:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../registry"),a=t("../../lib"),o=t("../array_container_defaults"),s=t("./layout_attributes"),l=t("./tick_value_defaults"),c=t("./tick_mark_defaults"),u=t("./tick_label_defaults"),f=t("./category_order_defaults"),h=t("./line_grid_defaults"),p=t("./set_convert"),d=t("./constants").WEEKDAY_PATTERN,g=t("./constants").HOUR_PATTERN;function m(t,e,r){function i(r,n){return a.coerce(t,e,s.rangebreaks,r,n)}if(i("enabled")){var o=i("bounds");if(o&&o.length>=2){var l,c,u="";if(2===o.length)for(l=0;l<2;l++)if(c=y(o[l])){u=d;break}var f=i("pattern",u);if(f===d)for(l=0;l<2;l++)(c=y(o[l]))&&(e.bounds[l]=o[l]=c-1);if(f)for(l=0;l<2;l++)switch(c=o[l],f){case d:if(!n(c))return void(e.enabled=!1);if((c=+c)!==Math.floor(c)||c<0||c>=7)return void(e.enabled=!1);e.bounds[l]=o[l]=c;break;case g:if(!n(c))return void(e.enabled=!1);if((c=+c)<0||c>24)return void(e.enabled=!1);e.bounds[l]=o[l]=c}if(!1===r.autorange){var h=r.range;if(h[0]<h[1]){if(o[0]<h[0]&&o[1]>h[1])return void(e.enabled=!1)}else if(o[0]>h[0]&&o[1]<h[1])return void(e.enabled=!1)}}else{var p=i("values");if(!p||!p.length)return void(e.enabled=!1);i("dvalue")}}}e.exports=function(t,e,r,n,g){var v,y=n.letter,x=n.font||{},b=n.splomStash||{},_=r("visible",!n.visibleDflt),w=e._template||{},T=e.type||w.type||"-";"date"===T&&(i.getComponentMethod("calendars","handleDefaults")(t,e,"calendar",n.calendar),n.noTicklabelmode||(v=r("ticklabelmode")));n.noTicklabelposition&&"multicategory"!==T||a.coerce(t,e,{ticklabelposition:{valType:"enumerated",dflt:"outside",values:"period"===v?["outside","inside"]:"x"===y?["outside","inside","outside left","inside left","outside right","inside right"]:["outside","inside","outside top","inside top","outside bottom","inside bottom"]}},"ticklabelposition"),p(e,g);var k=!e.isValidRange(t.range);k&&n.reverseDflt&&(k="reversed"),!r("autorange",k)||"linear"!==T&&"-"!==T||r("rangemode"),r("range"),e.cleanRange(),f(t,e,r,n),"category"===T||n.noHover||r("hoverformat");var M=r("color"),A=M!==s.color.dflt?M:x.color,S=b.label||g._dfltTitle[y];if(u(t,e,r,T,n,{pass:1}),!_)return e;r("title.text",S),a.coerceFont(r,"title.font",{family:x.family,size:Math.round(1.2*x.size),color:A}),l(t,e,r,T),u(t,e,r,T,n,{pass:2}),c(t,e,r,n),h(t,e,r,{dfltColor:M,bgColor:n.bgColor,showGrid:n.showGrid,attributes:s}),(e.showline||e.ticks)&&r("mirror"),n.automargin&&r("automargin");var E,C="multicategory"===T;n.noTickson||"category"!==T&&!C||!e.ticks&&!e.showgrid||(C&&(E="boundaries"),"boundaries"===r("tickson",E)&&delete e.ticklabelposition);C&&(r("showdividers")&&(r("dividercolor"),r("dividerwidth")));if("date"===T)if(o(t,e,{name:"rangebreaks",inclusionAttr:"enabled",handleItemDefaults:m}),e.rangebreaks.length){for(var L=0;L<e.rangebreaks.length;L++)if(e.rangebreaks[L].pattern===d){e._hasDayOfWeekBreaks=!0;break}if(p(e,g),g._has("scattergl")||g._has("splom"))for(var I=0;I<n.data.length;I++){var P=n.data[I];"scattergl"!==P.type&&"splom"!==P.type||(P.visible=!1,a.warn(P.type+" traces do not work on axes with rangebreaks. Setting trace "+P.index+" to `visible: false`."))}}else delete e.rangebreaks;return e};var v={sun:1,mon:2,tue:3,wed:4,thu:5,fri:6,sat:7};function y(t){if("string"==typeof t)return v[t.substr(0,3).toLowerCase()]}},{"../../lib":778,"../../registry":911,"../array_container_defaults":823,"./category_order_defaults":832,"./constants":834,"./layout_attributes":842,"./line_grid_defaults":844,"./set_convert":848,"./tick_label_defaults":849,"./tick_mark_defaults":850,"./tick_value_defaults":851,"fast-isnumeric":241}],831:[function(t,e,r){"use strict";var n=t("../../registry"),i=t("./constants");function a(t,e){if(e&&e.length)for(var r=0;r<e.length;r++)if(e[r][t])return!0;return!1}r.id2name=function(t){if("string"==typeof t&&t.match(i.AX_ID_PATTERN)){var e=t.split(" ")[0].substr(1);return"1"===e&&(e=""),t.charAt(0)+"axis"+e}},r.name2id=function(t){if(t.match(i.AX_NAME_PATTERN)){var e=t.substr(5);return"1"===e&&(e=""),t.charAt(0)+e}},r.cleanId=function(t,e,r){var n=/( domain)$/.test(t);if("string"==typeof t&&t.match(i.AX_ID_PATTERN)&&(!e||t.charAt(0)===e)&&(!n||r)){var a=t.split(" ")[0].substr(1).replace(/^0+/,"");return"1"===a&&(a=""),t.charAt(0)+a+(n&&r?" domain":"")}},r.list=function(t,e,n){var i=t._fullLayout;if(!i)return[];var a,o=r.listIds(t,e),s=new Array(o.length);for(a=0;a<o.length;a++){var l=o[a];s[a]=i[l.charAt(0)+"axis"+l.substr(1)]}if(!n){var c=i._subplots.gl3d||[];for(a=0;a<c.length;a++){var u=i[c[a]];e?s.push(u[e+"axis"]):s.push(u.xaxis,u.yaxis,u.zaxis)}}return s},r.listIds=function(t,e){var r=t._fullLayout;if(!r)return[];var n=r._subplots;return e?n[e+"axis"]:n.xaxis.concat(n.yaxis)},r.getFromId=function(t,e,n){var i=t._fullLayout;return e=void 0===e||"string"!=typeof e?e:e.replace(" domain",""),"x"===n?e=e.replace(/y[0-9]*/,""):"y"===n&&(e=e.replace(/x[0-9]*/,"")),i[r.id2name(e)]},r.getFromTrace=function(t,e,i){var a=t._fullLayout,o=null;if(n.traceIs(e,"gl3d")){var s=e.scene;"scene"===s.substr(0,5)&&(o=a[s][i+"axis"])}else o=r.getFromId(t,e[i+"axis"]||i);return o},r.idSort=function(t,e){var r=t.charAt(0),n=e.charAt(0);return r!==n?r>n?1:-1:+(t.substr(1)||1)-+(e.substr(1)||1)},r.ref2id=function(t){return!!/^[xyz]/.test(t)&&t.split(" ")[0]},r.isLinked=function(t,e){return a(e,t._axisMatchGroups)||a(e,t._axisConstraintGroups)}},{"../../registry":911,"./constants":834}],832:[function(t,e,r){"use strict";e.exports=function(t,e,r,n){if("category"===e.type){var i,a=t.categoryarray,o=Array.isArray(a)&&a.length>0;o&&(i="array");var s,l=r("categoryorder",i);"array"===l&&(s=r("categoryarray")),o||"array"!==l||(l=e.categoryorder="trace"),"trace"===l?e._initialCategories=[]:"array"===l?e._initialCategories=s.slice():(s=function(t,e){var r,n,i,a=e.dataAttr||t._id.charAt(0),o={};if(e.axData)r=e.axData;else for(r=[],n=0;n<e.data.length;n++){var s=e.data[n];s[a+"axis"]===t._id&&r.push(s)}for(n=0;n<r.length;n++){var l=r[n][a];for(i=0;i<l.length;i++){var c=l[i];null!=c&&(o[c]=1)}}return Object.keys(o)}(e,n).sort(),"category ascending"===l?e._initialCategories=s:"category descending"===l&&(e._initialCategories=s.reverse()))}}},{}],833:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../lib"),a=t("../../constants/numerical"),o=a.ONEDAY,s=a.ONEWEEK;r.dtick=function(t,e){var r="log"===e,i="date"===e,a="category"===e,s=i?o:1;if(!t)return s;if(n(t))return(t=Number(t))<=0?s:a?Math.max(1,Math.round(t)):i?Math.max(.1,t):t;if("string"!=typeof t||!i&&!r)return s;var l=t.charAt(0),c=t.substr(1);return(c=n(c)?Number(c):0)<=0||!(i&&"M"===l&&c===Math.round(c)||r&&"L"===l||r&&"D"===l&&(1===c||2===c))?s:t},r.tick0=function(t,e,r,a){return"date"===e?i.cleanDate(t,i.dateTick0(r,a%s==0?1:0)):"D1"!==a&&"D2"!==a?n(t)?Number(t):0:void 0}},{"../../constants/numerical":753,"../../lib":778,"fast-isnumeric":241}],834:[function(t,e,r){"use strict";var n=t("../../lib/regex").counter;e.exports={idRegex:{x:n("x","( domain)?"),y:n("y","( domain)?")},attrRegex:n("[xy]axis"),xAxisMatch:n("xaxis"),yAxisMatch:n("yaxis"),AX_ID_PATTERN:/^[xyz][0-9]*( domain)?$/,AX_NAME_PATTERN:/^[xyz]axis[0-9]*$/,SUBPLOT_PATTERN:/^x([0-9]*)y([0-9]*)$/,HOUR_PATTERN:"hour",WEEKDAY_PATTERN:"day of week",MINDRAG:8,MINSELECT:12,MINZOOM:20,DRAGGERSIZE:20,BENDPX:1.5,REDRAWDELAY:50,SELECTDELAY:100,SELECTID:"-select",DFLTRANGEX:[-1,6],DFLTRANGEY:[-1,4],traceLayerClasses:["imagelayer","heatmaplayer","contourcarpetlayer","contourlayer","funnellayer","waterfalllayer","barlayer","carpetlayer","violinlayer","boxlayer","ohlclayer","scattercarpetlayer","scatterlayer"],clipOnAxisFalseQuery:[".scatterlayer",".barlayer",".funnellayer",".waterfalllayer"],layerValue2layerClass:{"above traces":"above","below traces":"below"}}},{"../../lib/regex":795}],835:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./autorange"),a=t("./axis_ids").id2name,o=t("./layout_attributes"),s=t("./scale_zoom"),l=t("./set_convert"),c=t("../../constants/numerical").ALMOST_EQUAL,u=t("../../constants/alignment").FROM_BL;function f(t,e,r){var i=r.axIds,s=r.layoutOut,l=r.hasImage,c=s._axisConstraintGroups,u=s._axisMatchGroups,f=e._id,g=f.charAt(0),m=((s._splomAxes||{})[g]||{})[f]||{},v=e._id,y="x"===v.charAt(0);function x(r,i){return n.coerce(t,e,o,r,i)}e._matchGroup=null,e._constraintGroup=null,x("constrain",l?"domain":"range"),n.coerce(t,e,{constraintoward:{valType:"enumerated",values:y?["left","center","right"]:["bottom","middle","top"],dflt:y?"center":"middle"}},"constraintoward");var b,_,w=e.type,T=[];for(b=0;b<i.length;b++){if((_=i[b])!==v)s[a(_)].type===w&&T.push(_)}var k=p(c,v);if(k){var M=[];for(b=0;b<T.length;b++)k[_=T[b]]||M.push(_);T=M}var A,S,E=T.length;E&&(t.matches||m.matches)&&(A=n.coerce(t,e,{matches:{valType:"enumerated",values:T,dflt:-1!==T.indexOf(m.matches)?m.matches:void 0}},"matches"));var C=l&&!y?e.anchor:void 0;if(E&&!A&&(t.scaleanchor||C)&&(S=n.coerce(t,e,{scaleanchor:{valType:"enumerated",values:T}},"scaleanchor",C)),A){e._matchGroup=d(u,v,A,1);var L=s[a(A)],I=h(s,e)/h(s,L);y!==("x"===A.charAt(0))&&(I=(y?"x":"y")+I),d(c,v,A,I)}else t.matches&&-1!==i.indexOf(t.matches)&&n.warn("ignored "+e._name+'.matches: "'+t.matches+'" to avoid an infinite loop');if(S){var P=x("scaleratio");P||(P=e.scaleratio=1),d(c,v,S,P)}else t.scaleanchor&&-1!==i.indexOf(t.scaleanchor)&&n.warn("ignored "+e._name+'.scaleanchor: "'+t.scaleanchor+'" to avoid either an infinite loop and possibly inconsistent scaleratios, or because this axis declares a *matches* constraint.')}function h(t,e){var r=e.domain;return r||(r=t[a(e.overlaying)].domain),r[1]-r[0]}function p(t,e){for(var r=0;r<t.length;r++)if(t[r][e])return t[r];return null}function d(t,e,r,n){var i,a,o,s,l,c=p(t,e);null===c?((c={})[e]=1,l=t.length,t.push(c)):l=t.indexOf(c);var u=Object.keys(c);for(i=0;i<t.length;i++)if(o=t[i],i!==l&&o[r]){var f=o[r];for(a=0;a<u.length;a++)o[s=u[a]]=g(f,g(n,c[s]));return void t.splice(l,1)}if(1!==n)for(a=0;a<u.length;a++){var h=u[a];c[h]=g(n,c[h])}c[r]=1}function g(t,e){var r,n,i="",a="";"string"==typeof t&&(r=(i=t.match(/^[xy]*/)[0]).length,t=+t.substr(r)),"string"==typeof e&&(n=(a=e.match(/^[xy]*/)[0]).length,e=+e.substr(n));var o=t*e;return r||n?r&&n&&i.charAt(0)!==a.charAt(0)?r===n?o:(r>n?i.substr(n):a.substr(r))+o:i+a+t*e:o}function m(t,e){for(var r=e._size,n=r.h/r.w,i={},a=Object.keys(t),o=0;o<a.length;o++){var s=a[o],l=t[s];if("string"==typeof l){var c=l.match(/^[xy]*/)[0],u=c.length;l=+l.substr(u);for(var f="y"===c.charAt(0)?n:1/n,h=0;h<u;h++)l*=f}i[s]=l}return i}function v(t,e){var r=t._inputDomain,n=u[t.constraintoward],i=r[0]+(r[1]-r[0])*n;t.domain=t._input.domain=[i+(r[0]-i)/e,i+(r[1]-i)/e],t.setScale()}r.handleDefaults=function(t,e,r){var i,o,s,c,u,h,p,d,g=r.axIds,m=r.axHasImage,v=e._axisConstraintGroups=[],y=e._axisMatchGroups=[];for(i=0;i<g.length;i++)f(u=t[c=a(g[i])],h=e[c],{axIds:g,layoutOut:e,hasImage:m[c]});function x(t,r){for(i=0;i<t.length;i++)for(s in o=t[i])e[a(s)][r]=o}for(x(y,"_matchGroup"),i=0;i<v.length;i++)for(s in o=v[i])if((h=e[a(s)]).fixedrange){for(var b in o){var _=a(b);!1===(t[_]||{}).fixedrange&&n.warn("fixedrange was specified as false for axis "+_+" but was overridden because another axis in its constraint group has fixedrange true"),e[_].fixedrange=!0}break}for(i=0;i<v.length;){for(s in o=v[i]){(h=e[a(s)])._matchGroup&&Object.keys(h._matchGroup).length===Object.keys(o).length&&(v.splice(i,1),i--);break}i++}x(v,"_constraintGroup");var w=["constrain","range","autorange","rangemode","rangebreaks","categoryorder","categoryarray"],T=!1,k=!1;function M(){d=h[p],"rangebreaks"===p&&(k=h._hasDayOfWeekBreaks)}for(i=0;i<y.length;i++){o=y[i];for(var A=0;A<w.length;A++){var S;for(s in p=w[A],d=null,o)if(u=t[c=a(s)],h=e[c],p in h){if(!h.matches&&(S=h,p in u)){M();break}null===d&&p in u&&M()}if("range"===p&&d&&(T=!0),"autorange"===p&&null===d&&T&&(d=!1),null===d&&p in S&&(d=S[p]),null!==d)for(s in o)(h=e[a(s)])[p]="range"===p?d.slice():d,"rangebreaks"===p&&(h._hasDayOfWeekBreaks=k,l(h,e))}}},r.enforce=function(t){var e,r,n,o,l,u,f,h,p=t._fullLayout,d=p._axisConstraintGroups||[];for(e=0;e<d.length;e++){n=m(d[e],p);var g=Object.keys(n),y=1/0,x=0,b=1/0,_={},w={},T=!1;for(r=0;r<g.length;r++)w[o=g[r]]=l=p[a(o)],l._inputDomain?l.domain=l._inputDomain.slice():l._inputDomain=l.domain.slice(),l._inputRange||(l._inputRange=l.range.slice()),l.setScale(),_[o]=u=Math.abs(l._m)/n[o],y=Math.min(y,u),"domain"!==l.constrain&&l._constraintShrinkable||(b=Math.min(b,u)),delete l._constraintShrinkable,x=Math.max(x,u),"domain"===l.constrain&&(T=!0);if(!(y>c*x)||T)for(r=0;r<g.length;r++)if(u=_[o=g[r]],f=(l=w[o]).constrain,u!==b||"domain"===f)if(h=u/b,"range"===f)s(l,h);else{var k=l._inputDomain,M=(l.domain[1]-l.domain[0])/(k[1]-k[0]),A=(l.r2l(l.range[1])-l.r2l(l.range[0]))/(l.r2l(l._inputRange[1])-l.r2l(l._inputRange[0]));if((h/=M)*A<1){l.domain=l._input.domain=k.slice(),s(l,h);continue}if(A<1&&(l.range=l._input.range=l._inputRange.slice(),h*=A),l.autorange){var S=l.r2l(l.range[0]),E=l.r2l(l.range[1]),C=(S+E)/2,L=C,I=C,P=Math.abs(E-C),z=C-P*h*1.0001,O=C+P*h*1.0001,D=i.makePadFn(p,l,0),R=i.makePadFn(p,l,1);v(l,h);var F,B,N=Math.abs(l._m),j=i.concatExtremes(t,l),U=j.min,V=j.max;for(B=0;B<U.length;B++)(F=U[B].val-D(U[B])/N)>z&&F<L&&(L=F);for(B=0;B<V.length;B++)(F=V[B].val+R(V[B])/N)<O&&F>I&&(I=F);h/=(I-L)/(2*P),L=l.l2r(L),I=l.l2r(I),l.range=l._input.range=S<E?[L,I]:[I,L]}v(l,h)}}},r.getAxisGroup=function(t,e){for(var r=t._axisMatchGroups,n=0;n<r.length;n++){if(r[n][e])return"g"+n}return e},r.clean=function(t,e){if(e._inputDomain){for(var r=!1,n=e._id,i=t._fullLayout._axisConstraintGroups,a=0;a<i.length;a++)if(i[a][n]){r=!0;break}r&&"domain"===e.constrain||(e._input.domain=e.domain=e._inputDomain,delete e._inputDomain)}}},{"../../constants/alignment":745,"../../constants/numerical":753,"../../lib":778,"./autorange":827,"./axis_ids":831,"./layout_attributes":842,"./scale_zoom":846,"./set_convert":848}],836:[function(t,e,r){"use strict";var n=t("d3"),i=t("tinycolor2"),a=t("has-passive-events"),o=t("../../registry"),s=t("../../lib"),l=s.strTranslate,c=t("../../lib/svg_text_utils"),u=t("../../components/color"),f=t("../../components/drawing"),h=t("../../components/fx"),p=t("./axes"),d=t("../../lib/setcursor"),g=t("../../components/dragelement"),m=t("../../components/dragelement/helpers"),v=m.selectingOrDrawing,y=m.freeMode,x=t("../../constants/alignment").FROM_TL,b=t("../../lib/clear_gl_canvases"),_=t("../../plot_api/subroutines").redrawReglTraces,w=t("../plots"),T=t("./axis_ids").getFromId,k=t("./select").prepSelect,M=t("./select").clearSelect,A=t("./select").selectOnClick,S=t("./scale_zoom"),E=t("./constants"),C=E.MINDRAG,L=E.MINZOOM,I=!0;function P(t,e,r,n){var i=s.ensureSingle(t.draglayer,e,r,(function(e){e.classed("drag",!0).style({fill:"transparent","stroke-width":0}).attr("data-subplot",t.id)}));return i.call(d,n),i.node()}function z(t,e,r,i,a,o,s){var l=P(t,"rect",e,r);return n.select(l).call(f.setRect,i,a,o,s),l}function O(t,e){for(var r=0;r<t.length;r++)if(!t[r].fixedrange)return e;return""}function D(t,e,r,n,i){for(var a=0;a<t.length;a++){var o=t[a];if(!o.fixedrange)if(o.rangebreaks){var s="y"===o._id.charAt(0),l=s?1-e:e,c=s?1-r:r;n[o._name+".range[0]"]=o.l2r(o.p2l(l*o._length)),n[o._name+".range[1]"]=o.l2r(o.p2l(c*o._length))}else{var u=o._rl[0],f=o._rl[1]-u;n[o._name+".range[0]"]=o.l2r(u+f*e),n[o._name+".range[1]"]=o.l2r(u+f*r)}}if(i&&i.length){var h=(e+(1-r))/2;D(i,h,1-h,n,[])}}function R(t,e){for(var r=0;r<t.length;r++){var n=t[r];if(!n.fixedrange)if(n.rangebreaks){var i=n._length,a=(n.p2l(0+e)-n.p2l(0)+(n.p2l(i+e)-n.p2l(i)))/2;n.range=[n.l2r(n._rl[0]-a),n.l2r(n._rl[1]-a)]}else n.range=[n.l2r(n._rl[0]-e/n._m),n.l2r(n._rl[1]-e/n._m)]}}function F(t){return 1-(t>=0?Math.min(t,.9):1/(1/Math.max(t,-.3)+3.222))}function B(t,e,r,n,i){return t.append("path").attr("class","zoombox").style({fill:e>.2?"rgba(0,0,0,0)":"rgba(255,255,255,0)","stroke-width":0}).attr("transform",l(r,n)).attr("d",i+"Z")}function N(t,e,r){return t.append("path").attr("class","zoombox-corners").style({fill:u.background,stroke:u.defaultLine,"stroke-width":1,opacity:0}).attr("transform",l(e,r)).attr("d","M0,0Z")}function j(t,e,r,n,i,a){t.attr("d",n+"M"+r.l+","+r.t+"v"+r.h+"h"+r.w+"v-"+r.h+"h-"+r.w+"Z"),U(t,e,i,a)}function U(t,e,r,n){r||(t.transition().style("fill",n>.2?"rgba(0,0,0,0.4)":"rgba(255,255,255,0.3)").duration(200),e.transition().style("opacity",1).duration(200))}function V(t){n.select(t).selectAll(".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners").remove()}function q(t){I&&t.data&&t._context.showTips&&(s.notifier(s._(t,"Double-click to zoom back out"),"long"),I=!1)}function H(t){var e=Math.floor(Math.min(t.b-t.t,t.r-t.l,L)/2);return"M"+(t.l-3.5)+","+(t.t-.5+e)+"h3v"+-e+"h"+e+"v-3h-"+(e+3)+"ZM"+(t.r+3.5)+","+(t.t-.5+e)+"h-3v"+-e+"h"+-e+"v-3h"+(e+3)+"ZM"+(t.r+3.5)+","+(t.b+.5-e)+"h-3v"+e+"h"+-e+"v3h"+(e+3)+"ZM"+(t.l-3.5)+","+(t.b+.5-e)+"h3v"+e+"h"+e+"v3h-"+(e+3)+"Z"}function G(t,e,r,n,i){for(var a,o,l,c,u=!1,f={},h={},p=(i||{}).xaHash,d=(i||{}).yaHash,g=0;g<e.length;g++){var m=e[g];for(a in r)if(m[a]){for(l in m)i&&(p[l]||d[l])||("x"===l.charAt(0)?r:n)[l]||(f[l]=a);for(o in n)i&&(p[o]||d[o])||!m[o]||(u=!0)}for(o in n)if(m[o])for(c in m)i&&(p[c]||d[c])||("x"===c.charAt(0)?r:n)[c]||(h[c]=o)}u&&(s.extendFlat(f,h),h={});var v={},y=[];for(l in f){var x=T(t,l);y.push(x),v[x._id]=x}var b={},_=[];for(c in h){var w=T(t,c);_.push(w),b[w._id]=w}return{xaHash:v,yaHash:b,xaxes:y,yaxes:_,xLinks:f,yLinks:h,isSubplotConstrained:u}}function Y(t,e){if(a){var r=void 0!==t.onwheel?"wheel":"mousewheel";t._onwheel&&t.removeEventListener(r,t._onwheel),t._onwheel=e,t.addEventListener(r,e,{passive:!1})}else void 0!==t.onwheel?t.onwheel=e:void 0!==t.onmousewheel?t.onmousewheel=e:t.isAddedWheelEvent||(t.isAddedWheelEvent=!0,t.addEventListener("wheel",e,{passive:!1}))}function W(t){var e=[];for(var r in t)e.push(t[r]);return e}e.exports={makeDragBox:function(t,e,r,a,l,u,d,m){var I,P,U,X,Z,J,K,Q,$,tt,et,rt,nt,it,at,ot,st,lt,ct,ut,ft,ht,pt,dt=t._fullLayout._zoomlayer,gt=d+m==="nsew",mt=1===(d+m).length;function vt(){if(I=e.xaxis,P=e.yaxis,$=I._length,tt=P._length,K=I._offset,Q=P._offset,(U={})[I._id]=I,(X={})[P._id]=P,d&&m)for(var r=e.overlays,n=0;n<r.length;n++){var i=r[n].xaxis;U[i._id]=i;var a=r[n].yaxis;X[a._id]=a}Z=W(U),J=W(X),nt=O(Z,m),it=O(J,d),at=!it&&!nt,rt=G(t,t._fullLayout._axisMatchGroups,U,X);var o=(et=G(t,t._fullLayout._axisConstraintGroups,U,X,rt)).isSubplotConstrained||rt.isSubplotConstrained;ot=m||o,st=d||o;var s=t._fullLayout;lt=s._has("scattergl"),ct=s._has("splom"),ut=s._has("svg")}vt();var yt=function(t,e,r){if(!t)return"pointer";if("nsew"===t)return r?"":"pan"===e?"move":"crosshair";return t.toLowerCase()+"-resize"}(it+nt,t._fullLayout.dragmode,gt),xt=z(e,d+m+"drag",yt,r,a,l,u);if(at&&!gt)return xt.onmousedown=null,xt.style.pointerEvents="none",xt;var bt,_t,wt,Tt,kt,Mt,At,St,Et,Ct,Lt={element:xt,gd:t,plotinfo:e};function It(){Lt.plotinfo.selection=!1,M(t)}function Pt(t,r){var i=Lt.gd;if(i._fullLayout._activeShapeIndex>=0)i._fullLayout._deactivateShape(i);else{var a=i._fullLayout.clickmode;if(V(i),2!==t||mt||qt(),gt)a.indexOf("select")>-1&&A(r,i,Z,J,e.id,Lt),a.indexOf("event")>-1&&h.click(i,r,e.id);else if(1===t&&mt){var s=d?P:I,l="s"===d||"w"===m?0:1,u=s._name+".range["+l+"]",f=function(t,e){var r,i=t.range[e],a=Math.abs(i-t.range[1-e]);return"date"===t.type?i:"log"===t.type?(r=Math.ceil(Math.max(0,-Math.log(a)/Math.LN10))+3,n.format("."+r+"g")(Math.pow(10,i))):(r=Math.floor(Math.log(Math.abs(i))/Math.LN10)-Math.floor(Math.log(a)/Math.LN10)+4,n.format("."+String(r)+"g")(i))}(s,l),p="left",g="middle";if(s.fixedrange)return;d?(g="n"===d?"top":"bottom","right"===s.side&&(p="right")):"e"===m&&(p="right"),i._context.showAxisRangeEntryBoxes&&n.select(xt).call(c.makeEditable,{gd:i,immediate:!0,background:i._fullLayout.paper_bgcolor,text:String(f),fill:s.tickfont?s.tickfont.color:"#444",horizontalAlign:p,verticalAlign:g}).on("edit",(function(t){var e=s.d2r(t);void 0!==e&&o.call("_guiRelayout",i,u,e)}))}}}function zt(e,r){if(t._transitioningWithDuration)return!1;var n=Math.max(0,Math.min($,ht*e+bt)),i=Math.max(0,Math.min(tt,pt*r+_t)),a=Math.abs(n-bt),o=Math.abs(i-_t);function s(){At="",wt.r=wt.l,wt.t=wt.b,Et.attr("d","M0,0Z")}if(wt.l=Math.min(bt,n),wt.r=Math.max(bt,n),wt.t=Math.min(_t,i),wt.b=Math.max(_t,i),et.isSubplotConstrained)a>L||o>L?(At="xy",a/$>o/tt?(o=a*tt/$,_t>i?wt.t=_t-o:wt.b=_t+o):(a=o*$/tt,bt>n?wt.l=bt-a:wt.r=bt+a),Et.attr("d",H(wt))):s();else if(rt.isSubplotConstrained)if(a>L||o>L){At="xy";var l=Math.min(wt.l/$,(tt-wt.b)/tt),c=Math.max(wt.r/$,(tt-wt.t)/tt);wt.l=l*$,wt.r=c*$,wt.b=(1-l)*tt,wt.t=(1-c)*tt,Et.attr("d",H(wt))}else s();else!it||o<Math.min(Math.max(.6*a,C),L)?a<C||!nt?s():(wt.t=0,wt.b=tt,At="x",Et.attr("d",function(t,e){return"M"+(t.l-.5)+","+(e-L-.5)+"h-3v"+(2*L+1)+"h3ZM"+(t.r+.5)+","+(e-L-.5)+"h3v"+(2*L+1)+"h-3Z"}(wt,_t))):!nt||a<Math.min(.6*o,L)?(wt.l=0,wt.r=$,At="y",Et.attr("d",function(t,e){return"M"+(e-L-.5)+","+(t.t-.5)+"v-3h"+(2*L+1)+"v3ZM"+(e-L-.5)+","+(t.b+.5)+"v3h"+(2*L+1)+"v-3Z"}(wt,bt))):(At="xy",Et.attr("d",H(wt)));wt.w=wt.r-wt.l,wt.h=wt.b-wt.t,At&&(Ct=!0),t._dragged=Ct,j(St,Et,wt,kt,Mt,Tt),Ot(),t.emit("plotly_relayouting",ft),Mt=!0}function Ot(){ft={},"xy"!==At&&"x"!==At||(D(Z,wt.l/$,wt.r/$,ft,et.xaxes),Ut("x",ft)),"xy"!==At&&"y"!==At||(D(J,(tt-wt.b)/tt,(tt-wt.t)/tt,ft,et.yaxes),Ut("y",ft))}function Dt(){Ot(),V(t),Ht(),q(t)}Lt.prepFn=function(e,r,n){var a=Lt.dragmode,o=t._fullLayout.dragmode;o!==a&&(Lt.dragmode=o),vt(),ht=t._fullLayout._invScaleX,pt=t._fullLayout._invScaleY,at||(gt?e.shiftKey?"pan"===o?o="zoom":v(o)||(o="pan"):e.ctrlKey&&(o="pan"):o="pan"),y(o)?Lt.minDrag=1:Lt.minDrag=void 0,v(o)?(Lt.xaxes=Z,Lt.yaxes=J,k(e,r,n,Lt,o)):(Lt.clickFn=Pt,v(a)&&It(),at||("zoom"===o?(Lt.moveFn=zt,Lt.doneFn=Dt,Lt.minDrag=1,function(e,r,n){var a=xt.getBoundingClientRect();bt=r-a.left,_t=n-a.top,t._fullLayout._calcInverseTransform(t);var o=s.apply3DTransform(t._fullLayout._invTransform)(bt,_t);bt=o[0],_t=o[1],wt={l:bt,r:bt,w:0,t:_t,b:_t,h:0},Tt=t._hmpixcount?t._hmlumcount/t._hmpixcount:i(t._fullLayout.plot_bgcolor).getLuminance(),Mt=!1,At="xy",Ct=!1,St=B(dt,Tt,K,Q,kt="M0,0H"+$+"V"+tt+"H0V0"),Et=N(dt,K,Q)}(0,r,n)):"pan"===o&&(Lt.moveFn=jt,Lt.doneFn=Ht))),t._fullLayout._redrag=function(){var e=t._dragdata;if(e&&e.element===xt){var r=t._fullLayout.dragmode;v(r)||(vt(),Gt([0,0,$,tt]),Lt.moveFn(e.dx,e.dy))}}},g.init(Lt);var Rt=[0,0,$,tt],Ft=null,Bt=E.REDRAWDELAY,Nt=e.mainplot?t._fullLayout._plots[e.mainplot]:e;function jt(e,r){if(e*=ht,r*=pt,!t._transitioningWithDuration){if(t._fullLayout._replotting=!0,"ew"===nt||"ns"===it){var n=nt?-e:0,i=it?-r:0;if(rt.isSubplotConstrained){if(nt&&it){var a=(e/$-r/tt)/2;n=-(e=a*$),i=-(r=-a*tt)}it?n=-i*$/tt:i=-n*tt/$}return nt&&(R(Z,e),Ut("x")),it&&(R(J,r),Ut("y")),Gt([n,i,$,tt]),Vt(),void t.emit("plotly_relayouting",ft)}var o,s,l="w"===nt==("n"===it)?1:-1;if(nt&&it&&(et.isSubplotConstrained||rt.isSubplotConstrained)){var c=(e/$+l*r/tt)/2;e=c*$,r=l*c*tt}if("w"===nt?e=p(Z,0,e):"e"===nt?e=p(Z,1,-e):nt||(e=0),"n"===it?r=p(J,1,r):"s"===it?r=p(J,0,-r):it||(r=0),o="w"===nt?e:0,s="n"===it?r:0,et.isSubplotConstrained&&!rt.isSubplotConstrained||rt.isSubplotConstrained&&nt&&it&&l>0){var u;if(rt.isSubplotConstrained||!nt&&1===it.length){for(u=0;u<Z.length;u++)Z[u].range=Z[u]._r.slice(),S(Z[u],1-r/tt);o=(e=r*$/tt)/2}if(rt.isSubplotConstrained||!it&&1===nt.length){for(u=0;u<J.length;u++)J[u].range=J[u]._r.slice(),S(J[u],1-e/$);s=(r=e*tt/$)/2}}rt.isSubplotConstrained&&it||Ut("x"),rt.isSubplotConstrained&&nt||Ut("y");var f=$-e,h=tt-r;!rt.isSubplotConstrained||nt&&it||(nt?(s=o?0:e*tt/$,h=f*tt/$):(o=s?0:r*$/tt,f=h*$/tt)),Gt([o,s,f,h]),Vt(),t.emit("plotly_relayouting",ft)}function p(t,e,r){for(var n,i,a=1-e,o=0;o<t.length;o++){var s=t[o];if(!s.fixedrange){n=s,i=s._rl[a]+(s._rl[e]-s._rl[a])/F(r/s._length);var l=s.l2r(i);!1!==l&&void 0!==l&&(s.range[e]=l)}}return n._length*(n._rl[e]-i)/(n._rl[e]-n._rl[a])}}function Ut(t,e){for(var r=rt.isSubplotConstrained?{x:J,y:Z}[t]:rt[t+"axes"],n=rt.isSubplotConstrained?{x:Z,y:J}[t]:[],i=0;i<r.length;i++){var a=r[i],o=a._id,s=rt.xLinks[o]||rt.yLinks[o],l=n[0]||U[s]||X[s];l&&(e?(e[a._name+".range[0]"]=e[l._name+".range[0]"],e[a._name+".range[1]"]=e[l._name+".range[1]"]):a.range=l.range.slice())}}function Vt(){var e,r=[];function n(t){for(e=0;e<t.length;e++)t[e].fixedrange||r.push(t[e]._id)}for(ot&&(n(Z),n(et.xaxes),n(rt.xaxes)),st&&(n(J),n(et.yaxes),n(rt.yaxes)),ft={},e=0;e<r.length;e++){var i=r[e],a=T(t,i);p.drawOne(t,a,{skipTitle:!0}),ft[a._name+".range[0]"]=a.range[0],ft[a._name+".range[1]"]=a.range[1]}p.redrawComponents(t,r)}function qt(){if(!t._transitioningWithDuration){var e=t._context.doubleClick,r=[];nt&&(r=r.concat(Z)),it&&(r=r.concat(J)),rt.xaxes&&(r=r.concat(rt.xaxes)),rt.yaxes&&(r=r.concat(rt.yaxes));var n,i,a,s={};if("reset+autosize"===e)for(e="autosize",i=0;i<r.length;i++)if((n=r[i])._rangeInitial&&(n.range[0]!==n._rangeInitial[0]||n.range[1]!==n._rangeInitial[1])||!n._rangeInitial&&!n.autorange){e="reset";break}if("autosize"===e)for(i=0;i<r.length;i++)(n=r[i]).fixedrange||(s[n._name+".autorange"]=!0);else if("reset"===e)for((nt||et.isSubplotConstrained)&&(r=r.concat(et.xaxes)),it&&!et.isSubplotConstrained&&(r=r.concat(et.yaxes)),et.isSubplotConstrained&&(nt?it||(r=r.concat(J)):r=r.concat(Z)),i=0;i<r.length;i++)(n=r[i]).fixedrange||(n._rangeInitial?(a=n._rangeInitial,s[n._name+".range[0]"]=a[0],s[n._name+".range[1]"]=a[1]):s[n._name+".autorange"]=!0);t.emit("plotly_doubleclick",null),o.call("_guiRelayout",t,s)}}function Ht(){Gt([0,0,$,tt]),s.syncOrAsync([w.previousPromises,function(){t._fullLayout._replotting=!1,o.call("_guiRelayout",t,ft)}],t)}function Gt(e){var r,n,i,a,l=t._fullLayout,c=l._plots,u=l._subplots.cartesian;if(ct&&o.subplotsRegistry.splom.drag(t),lt)for(r=0;r<u.length;r++)if(i=(n=c[u[r]]).xaxis,a=n.yaxis,n._scene){var h=s.simpleMap(i.range,i.r2l),p=s.simpleMap(a.range,a.r2l);n._scene.update({range:[h[0],p[0],h[1],p[1]]})}if((ct||lt)&&(b(t),_(t)),ut){var g=e[2]/I._length,v=e[3]/P._length;for(r=0;r<u.length;r++){i=(n=c[u[r]]).xaxis,a=n.yaxis;var y,x,w,T,k=(ot||rt.isSubplotConstrained)&&!i.fixedrange&&U[i._id],M=(st||rt.isSubplotConstrained)&&!a.fixedrange&&X[a._id];if(k?(y=g,w=m||rt.isSubplotConstrained?e[0]:Xt(i,y)):rt.xaHash[i._id]?(y=g,w=e[0]*i._length/I._length):rt.yaHash[i._id]?(y=v,w="ns"===it?-e[1]*i._length/P._length:Xt(i,y,{n:"top",s:"bottom"}[it])):w=Wt(i,y=Yt(i,g,v)),M?(x=v,T=d||rt.isSubplotConstrained?e[1]:Xt(a,x)):rt.yaHash[a._id]?(x=v,T=e[1]*a._length/P._length):rt.xaHash[a._id]?(x=g,T="ew"===nt?-e[0]*a._length/I._length:Xt(a,x,{e:"right",w:"left"}[nt])):T=Wt(a,x=Yt(a,g,v)),y||x){y||(y=1),x||(x=1);var A=i._offset-w/y,S=a._offset-T/x;n.clipRect.call(f.setTranslate,w,T).call(f.setScale,y,x),n.plot.call(f.setTranslate,A,S).call(f.setScale,1/y,1/x),y===n.xScaleFactor&&x===n.yScaleFactor||(f.setPointGroupScale(n.zoomScalePts,y,x),f.setTextPointsScale(n.zoomScaleTxt,y,x)),f.hideOutsideRangePoints(n.clipOnAxisFalseTraces,n),n.xScaleFactor=y,n.yScaleFactor=x}}}}function Yt(t,e,r){return t.fixedrange?0:ot&&et.xaHash[t._id]?e:st&&(et.isSubplotConstrained?et.xaHash:et.yaHash)[t._id]?r:0}function Wt(t,e){return e?(t.range=t._r.slice(),S(t,e),Xt(t,e)):0}function Xt(t,e,r){return t._length*(1-e)*x[r||t.constraintoward||"middle"]}return d.length*m.length!=1&&Y(xt,(function(e){if(t._context._scrollZoom.cartesian||t._fullLayout._enablescrollzoom){if(It(),t._transitioningWithDuration)return e.preventDefault(),void e.stopPropagation();vt(),clearTimeout(Ft);var r=-e.deltaY;if(isFinite(r)||(r=e.wheelDelta/10),isFinite(r)){var n,i=Math.exp(-Math.min(Math.max(r,-20),20)/200),a=Nt.draglayer.select(".nsewdrag").node().getBoundingClientRect(),o=(e.clientX-a.left)/a.width,l=(a.bottom-e.clientY)/a.height;if(ot){for(m||(o=.5),n=0;n<Z.length;n++)c(Z[n],o,i);Ut("x"),Rt[2]*=i,Rt[0]+=Rt[2]*o*(1/i-1)}if(st){for(d||(l=.5),n=0;n<J.length;n++)c(J[n],l,i);Ut("y"),Rt[3]*=i,Rt[1]+=Rt[3]*(1-l)*(1/i-1)}Gt(Rt),Vt(),t.emit("plotly_relayouting",ft),Ft=setTimeout((function(){Rt=[0,0,$,tt],Ht()}),Bt),e.preventDefault()}else s.log("Did not find wheel motion attributes: ",e)}function c(t,e,r){if(!t.fixedrange){var n=s.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)}))}}})),xt},makeDragger:P,makeRectDragger:z,makeZoombox:B,makeCorners:N,updateZoombox:j,xyCorners:H,transitionZoombox:U,removeZoombox:V,showDoubleClickNotifier:q,attachWheelEventHandler:Y}},{"../../components/color":643,"../../components/dragelement":662,"../../components/dragelement/helpers":661,"../../components/drawing":665,"../../components/fx":683,"../../constants/alignment":745,"../../lib":778,"../../lib/clear_gl_canvases":762,"../../lib/setcursor":799,"../../lib/svg_text_utils":803,"../../plot_api/subroutines":818,"../../registry":911,"../plots":891,"./axes":828,"./axis_ids":831,"./constants":834,"./scale_zoom":846,"./select":847,d3:169,"has-passive-events":441,tinycolor2:576}],837:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../components/fx"),a=t("../../components/dragelement"),o=t("../../lib/setcursor"),s=t("./dragbox").makeDragBox,l=t("./constants").DRAGGERSIZE;r.initInteractions=function(t){var e=t._fullLayout;if(t._context.staticPlot)n.select(t).selectAll(".drag").remove();else if(e._has("cartesian")||e._has("splom")){Object.keys(e._plots||{}).sort((function(t,r){if((e._plots[t].mainplot&&!0)===(e._plots[r].mainplot&&!0)){var n=t.split("y"),i=r.split("y");return n[0]===i[0]?Number(n[1]||1)-Number(i[1]||1):Number(n[0]||1)-Number(i[0]||1)}return e._plots[t].mainplot?1:-1})).forEach((function(r){var n=e._plots[r],o=n.xaxis,c=n.yaxis;if(!n.mainplot){var u=s(t,n,o._offset,c._offset,o._length,c._length,"ns","ew");u.onmousemove=function(e){t._fullLayout._rehover=function(){t._fullLayout._hoversubplot===r&&t._fullLayout._plots[r]&&i.hover(t,e,r)},i.hover(t,e,r),t._fullLayout._lasthover=u,t._fullLayout._hoversubplot=r},u.onmouseout=function(e){t._dragging||(t._fullLayout._hoversubplot=null,a.unhover(t,e))},t._context.showAxisDragHandles&&(s(t,n,o._offset-l,c._offset-l,l,l,"n","w"),s(t,n,o._offset+o._length,c._offset-l,l,l,"n","e"),s(t,n,o._offset-l,c._offset+c._length,l,l,"s","w"),s(t,n,o._offset+o._length,c._offset+c._length,l,l,"s","e"))}if(t._context.showAxisDragHandles){if(r===o._mainSubplot){var f=o._mainLinePosition;"top"===o.side&&(f-=l),s(t,n,o._offset+.1*o._length,f,.8*o._length,l,"","ew"),s(t,n,o._offset,f,.1*o._length,l,"","w"),s(t,n,o._offset+.9*o._length,f,.1*o._length,l,"","e")}if(r===c._mainSubplot){var h=c._mainLinePosition;"right"!==c.side&&(h-=l),s(t,n,h,c._offset+.1*c._length,l,.8*c._length,"ns",""),s(t,n,h,c._offset+.9*c._length,l,.1*c._length,"s",""),s(t,n,h,c._offset,l,.1*c._length,"n","")}}}));var o=e._hoverlayer.node();o.onmousemove=function(r){r.target=t._fullLayout._lasthover,i.hover(t,r,e._hoversubplot)},o.onclick=function(e){e.target=t._fullLayout._lasthover,i.click(t,e)},o.onmousedown=function(e){t._fullLayout._lasthover.onmousedown(e)},r.updateFx(t)}},r.updateFx=function(t){var e=t._fullLayout,r="pan"===e.dragmode?"move":"crosshair";o(e._draggers,r)}},{"../../components/dragelement":662,"../../components/fx":683,"../../lib/setcursor":799,"./constants":834,"./dragbox":836,d3:169}],838:[function(t,e,r){"use strict";e.exports={clearOutlineControllers:function(t){var e=t._fullLayout._zoomlayer;e&&e.selectAll(".outline-controllers").remove()},clearSelect:function(t){var e=t._fullLayout._zoomlayer;e&&e.selectAll(".select-outline").remove(),t._fullLayout._drawing=!1}}},{}],839:[function(t,e,r){"use strict";var n=t("../../lib").strTranslate;function i(t,e){switch(t.type){case"log":return t.p2d(e);case"date":return t.p2r(e,0,t.calendar);default:return t.p2r(e)}}e.exports={p2r:i,r2p:function(t,e){switch(t.type){case"log":return t.d2p(e);case"date":return t.r2p(e,0,t.calendar);default:return t.r2p(e)}},axValue:function(t){var e="y"===t._id.charAt(0)?1:0;return function(r){return i(t,r[e])}},getTransform:function(t){return n(t.xaxis._offset,t.yaxis._offset)}}},{"../../lib":778}],840:[function(t,e,r){"use strict";var n=t("../../registry"),i=t("../../lib"),a=t("./axis_ids");e.exports=function(t){return function(e,r){var o=e[t];if(Array.isArray(o))for(var s=n.subplotsRegistry.cartesian,l=s.idRegex,c=r._subplots,u=c.xaxis,f=c.yaxis,h=c.cartesian,p=r._has("cartesian")||r._has("gl2d"),d=0;d<o.length;d++){var g=o[d];if(i.isPlainObject(g)){var m=a.cleanId(g.xref,"x",!1),v=a.cleanId(g.yref,"y",!1),y=l.x.test(m),x=l.y.test(v);if(y||x){p||i.pushUnique(r._basePlotModules,s);var b=!1;y&&-1===u.indexOf(m)&&(u.push(m),b=!0),x&&-1===f.indexOf(v)&&(f.push(v),b=!0),b&&y&&x&&h.push(m+v)}}}}}},{"../../lib":778,"../../registry":911,"./axis_ids":831}],841:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../registry"),a=t("../../lib"),o=t("../plots"),s=t("../../components/drawing"),l=t("../get_data").getModuleCalcData,c=t("./axis_ids"),u=t("./constants"),f=t("../../constants/xmlns_namespaces"),h=a.ensureSingle;function p(t,e,r){return a.ensureSingle(t,e,r,(function(t){t.datum(r)}))}function d(t,e,r,a,o){for(var c,f,h,p=u.traceLayerClasses,d=t._fullLayout,g=d._modules,m=[],v=[],y=0;y<g.length;y++){var x=(c=g[y]).name,b=i.modules[x].categories;if(b.svg){var _=c.layerName||x+"layer",w=c.plot;h=(f=l(r,w))[0],r=f[1],h.length&&m.push({i:p.indexOf(_),className:_,plotMethod:w,cdModule:h}),b.zoomScale&&v.push("."+_)}}m.sort((function(t,e){return t.i-e.i}));var T=e.plot.selectAll("g.mlayer").data(m,(function(t){return t.className}));if(T.enter().append("g").attr("class",(function(t){return t.className})).classed("mlayer",!0).classed("rangeplot",e.isRangePlot),T.exit().remove(),T.order(),T.each((function(r){var i=n.select(this),l=r.className;r.plotMethod(t,e,r.cdModule,i,a,o),-1===u.clipOnAxisFalseQuery.indexOf("."+l)&&s.setClipUrl(i,e.layerClipId,t)})),d._has("scattergl")&&(c=i.getModule("scattergl"),h=l(r,c)[0],c.plot(t,e,h)),!t._context.staticPlot&&(e._hasClipOnAxisFalse&&(e.clipOnAxisFalseTraces=e.plot.selectAll(u.clipOnAxisFalseQuery.join(",")).selectAll(".trace")),v.length)){var k=e.plot.selectAll(v.join(",")).selectAll(".trace");e.zoomScalePts=k.selectAll("path.point"),e.zoomScaleTxt=k.selectAll(".textpoint")}}function g(t,e){var r=e.plotgroup,n=e.id,i=u.layerValue2layerClass[e.xaxis.layer],a=u.layerValue2layerClass[e.yaxis.layer],o=t._fullLayout._hasOnlyLargeSploms;if(e.mainplot){var s=e.mainplotinfo,l=s.plotgroup,f=n+"-x",d=n+"-y";e.gridlayer=s.gridlayer,e.zerolinelayer=s.zerolinelayer,h(s.overlinesBelow,"path",f),h(s.overlinesBelow,"path",d),h(s.overaxesBelow,"g",f),h(s.overaxesBelow,"g",d),e.plot=h(s.overplot,"g",n),h(s.overlinesAbove,"path",f),h(s.overlinesAbove,"path",d),h(s.overaxesAbove,"g",f),h(s.overaxesAbove,"g",d),e.xlines=l.select(".overlines-"+i).select("."+f),e.ylines=l.select(".overlines-"+a).select("."+d),e.xaxislayer=l.select(".overaxes-"+i).select("."+f),e.yaxislayer=l.select(".overaxes-"+a).select("."+d)}else if(o)e.xlines=h(r,"path","xlines-above"),e.ylines=h(r,"path","ylines-above"),e.xaxislayer=h(r,"g","xaxislayer-above"),e.yaxislayer=h(r,"g","yaxislayer-above");else{var g=h(r,"g","layer-subplot");e.shapelayer=h(g,"g","shapelayer"),e.imagelayer=h(g,"g","imagelayer"),e.gridlayer=h(r,"g","gridlayer"),e.zerolinelayer=h(r,"g","zerolinelayer"),h(r,"path","xlines-below"),h(r,"path","ylines-below"),e.overlinesBelow=h(r,"g","overlines-below"),h(r,"g","xaxislayer-below"),h(r,"g","yaxislayer-below"),e.overaxesBelow=h(r,"g","overaxes-below"),e.plot=h(r,"g","plot"),e.overplot=h(r,"g","overplot"),e.xlines=h(r,"path","xlines-above"),e.ylines=h(r,"path","ylines-above"),e.overlinesAbove=h(r,"g","overlines-above"),h(r,"g","xaxislayer-above"),h(r,"g","yaxislayer-above"),e.overaxesAbove=h(r,"g","overaxes-above"),e.xlines=r.select(".xlines-"+i),e.ylines=r.select(".ylines-"+a),e.xaxislayer=r.select(".xaxislayer-"+i),e.yaxislayer=r.select(".yaxislayer-"+a)}o||(p(e.gridlayer,"g",e.xaxis._id),p(e.gridlayer,"g",e.yaxis._id),e.gridlayer.selectAll("g").map((function(t){return t[0]})).sort(c.idSort)),e.xlines.style("fill","none").classed("crisp",!0),e.ylines.style("fill","none").classed("crisp",!0)}function m(t,e){if(t){var r={};for(var i in t.each((function(t){var i=t[0];n.select(this).remove(),v(i,e),r[i]=!0})),e._plots)for(var a=e._plots[i].overlays||[],o=0;o<a.length;o++){var s=a[o];r[s.id]&&s.plot.selectAll(".trace").remove()}}}function v(t,e){e._draggers.selectAll("g."+t).remove(),e._defs.select("#clip"+e._uid+t+"plot").remove()}r.name="cartesian",r.attr=["xaxis","yaxis"],r.idRoot=["x","y"],r.idRegex=u.idRegex,r.attrRegex=u.attrRegex,r.attributes=t("./attributes"),r.layoutAttributes=t("./layout_attributes"),r.supplyLayoutDefaults=t("./layout_defaults"),r.transitionAxes=t("./transition_axes"),r.finalizeSubplots=function(t,e){var r,n,i,o=e._subplots,s=o.xaxis,l=o.yaxis,f=o.cartesian,h=f.concat(o.gl2d||[]),p={},d={};for(r=0;r<h.length;r++){var g=h[r].split("y");p[g[0]]=1,d["y"+g[1]]=1}for(r=0;r<s.length;r++)p[n=s[r]]||(i=(t[c.id2name(n)]||{}).anchor,u.idRegex.y.test(i)||(i="y"),f.push(n+i),h.push(n+i),d[i]||(d[i]=1,a.pushUnique(l,i)));for(r=0;r<l.length;r++)d[i=l[r]]||(n=(t[c.id2name(i)]||{}).anchor,u.idRegex.x.test(n)||(n="x"),f.push(n+i),h.push(n+i),p[n]||(p[n]=1,a.pushUnique(s,n)));if(!h.length){for(var m in n="",i="",t){if(u.attrRegex.test(m))"x"===m.charAt(0)?(!n||+m.substr(5)<+n.substr(5))&&(n=m):(!i||+m.substr(5)<+i.substr(5))&&(i=m)}n=n?c.name2id(n):"x",i=i?c.name2id(i):"y",s.push(n),l.push(i),f.push(n+i)}},r.plot=function(t,e,r,n){var i,a=t._fullLayout,o=a._subplots.cartesian,s=t.calcdata;if(!Array.isArray(e))for(e=[],i=0;i<s.length;i++)e.push(i);for(i=0;i<o.length;i++){for(var l,c=o[i],u=a._plots[c],f=[],h=0;h<s.length;h++){var p=s[h],g=p[0].trace;g.xaxis+g.yaxis===c&&((-1!==e.indexOf(g.index)||g.carpet)&&(l&&l[0].trace.xaxis+l[0].trace.yaxis===c&&-1!==["tonextx","tonexty","tonext"].indexOf(g.fill)&&-1===f.indexOf(l)&&f.push(l),f.push(p)),l=p)}d(t,u,f,r,n)}},r.clean=function(t,e,r,n){var i,a,o,s=n._plots||{},l=e._plots||{},u=n._subplots||{};if(n._hasOnlyLargeSploms&&!e._hasOnlyLargeSploms)for(o in s)(i=s[o]).plotgroup&&i.plotgroup.remove();var f=n._has&&n._has("gl"),h=e._has&&e._has("gl");if(f&&!h)for(o in s)(i=s[o])._scene&&i._scene.destroy();if(u.xaxis&&u.yaxis){var p=c.listIds({_fullLayout:n});for(a=0;a<p.length;a++){var d=p[a];e[c.id2name(d)]||n._infolayer.selectAll(".g-"+d+"title").remove()}}var g=n._has&&n._has("cartesian"),y=e._has&&e._has("cartesian");if(g&&!y)m(n._cartesianlayer.selectAll(".subplot"),n),n._defs.selectAll(".axesclip").remove(),delete n._axisConstraintGroups,delete n._axisMatchGroups;else if(u.cartesian)for(a=0;a<u.cartesian.length;a++){var x=u.cartesian[a];if(!l[x]){var b="."+x+",."+x+"-x,."+x+"-y";n._cartesianlayer.selectAll(b).remove(),v(x,n)}}},r.drawFramework=function(t){var e=t._fullLayout,r=function(t){var e,r,n,i,a,o,s=t._fullLayout,l=s._subplots.cartesian,c=l.length,u=[],f=[];for(e=0;e<c;e++){n=l[e],i=s._plots[n],a=i.xaxis,o=i.yaxis;var h=a._mainAxis,p=o._mainAxis,d=h._id+p._id,g=s._plots[d];i.overlays=[],d!==n&&g?(i.mainplot=d,i.mainplotinfo=g,f.push(n)):(i.mainplot=void 0,i.mainplotinfo=void 0,u.push(n))}for(e=0;e<f.length;e++)n=f[e],(i=s._plots[n]).mainplotinfo.overlays.push(i);var m=u.concat(f),v=new Array(c);for(e=0;e<c;e++){n=m[e],i=s._plots[n],a=i.xaxis,o=i.yaxis;var y=[n,a.layer,o.layer,a.overlaying||"",o.overlaying||""];for(r=0;r<i.overlays.length;r++)y.push(i.overlays[r].id);v[e]=y}return v}(t),i=e._cartesianlayer.selectAll(".subplot").data(r,String);i.enter().append("g").attr("class",(function(t){return"subplot "+t[0]})),i.order(),i.exit().call(m,e),i.each((function(r){var i=r[0],a=e._plots[i];a.plotgroup=n.select(this),g(t,a),a.draglayer=h(e._draggers,"g",i)}))},r.rangePlot=function(t,e,r){g(t,e),d(t,e,r),o.style(t)},r.toSVG=function(t){var e=t._fullLayout._glimages,r=n.select(t).selectAll(".svg-container");r.filter((function(t,e){return e===r.size()-1})).selectAll(".gl-canvas-context, .gl-canvas-focus").each((function(){var t=this.toDataURL("image/png");e.append("svg:image").attr({xmlns:f.svg,"xlink:href":t,preserveAspectRatio:"none",x:0,y:0,width:this.width,height:this.height})}))},r.updateFx=t("./graph_interact").updateFx},{"../../components/drawing":665,"../../constants/xmlns_namespaces":754,"../../lib":778,"../../registry":911,"../get_data":865,"../plots":891,"./attributes":826,"./axis_ids":831,"./constants":834,"./graph_interact":837,"./layout_attributes":842,"./layout_defaults":843,"./transition_axes":852,d3:169}],842:[function(t,e,r){"use strict";var n=t("../font_attributes"),i=t("../../components/color/attributes"),a=t("../../components/drawing/attributes").dash,o=t("../../lib/extend").extendFlat,s=t("../../plot_api/plot_template").templatedArray,l=(t("../../constants/docs").FORMAT_LINK,t("../../constants/docs").DATE_FORMAT_LINK,t("../../constants/numerical").ONEDAY),c=t("./constants"),u=c.HOUR_PATTERN,f=c.WEEKDAY_PATTERN;e.exports={visible:{valType:"boolean",editType:"plot"},color:{valType:"color",dflt:i.defaultLine,editType:"ticks"},title:{text:{valType:"string",editType:"ticks"},font:n({editType:"ticks"}),standoff:{valType:"number",min:0,editType:"ticks"},editType:"ticks"},type:{valType:"enumerated",values:["-","linear","log","date","category","multicategory"],dflt:"-",editType:"calc",_noTemplating:!0},autotypenumbers:{valType:"enumerated",values:["convert types","strict"],dflt:"convert types",editType:"calc"},autorange:{valType:"enumerated",values:[!0,!1,"reversed"],dflt:!0,editType:"axrange",impliedEdits:{"range[0]":void 0,"range[1]":void 0}},rangemode:{valType:"enumerated",values:["normal","tozero","nonnegative"],dflt:"normal",editType:"plot"},range:{valType:"info_array",items:[{valType:"any",editType:"axrange",impliedEdits:{"^autorange":!1},anim:!0},{valType:"any",editType:"axrange",impliedEdits:{"^autorange":!1},anim:!0}],editType:"axrange",impliedEdits:{autorange:!1},anim:!0},fixedrange:{valType:"boolean",dflt:!1,editType:"calc"},scaleanchor:{valType:"enumerated",values:[c.idRegex.x.toString(),c.idRegex.y.toString()],editType:"plot"},scaleratio:{valType:"number",min:0,dflt:1,editType:"plot"},constrain:{valType:"enumerated",values:["range","domain"],editType:"plot"},constraintoward:{valType:"enumerated",values:["left","center","right","top","middle","bottom"],editType:"plot"},matches:{valType:"enumerated",values:[c.idRegex.x.toString(),c.idRegex.y.toString()],editType:"calc"},rangebreaks:s("rangebreak",{enabled:{valType:"boolean",dflt:!0,editType:"calc"},bounds:{valType:"info_array",items:[{valType:"any",editType:"calc"},{valType:"any",editType:"calc"}],editType:"calc"},pattern:{valType:"enumerated",values:[f,u,""],editType:"calc"},values:{valType:"info_array",freeLength:!0,editType:"calc",items:{valType:"any",editType:"calc"}},dvalue:{valType:"number",editType:"calc",min:0,dflt:l},editType:"calc"}),tickmode:{valType:"enumerated",values:["auto","linear","array"],editType:"ticks",impliedEdits:{tick0:void 0,dtick:void 0}},nticks:{valType:"integer",min:0,dflt:0,editType:"ticks"},tick0:{valType:"any",editType:"ticks",impliedEdits:{tickmode:"linear"}},dtick:{valType:"any",editType:"ticks",impliedEdits:{tickmode:"linear"}},tickvals:{valType:"data_array",editType:"ticks"},ticktext:{valType:"data_array",editType:"ticks"},ticks:{valType:"enumerated",values:["outside","inside",""],editType:"ticks"},tickson:{valType:"enumerated",values:["labels","boundaries"],dflt:"labels",editType:"ticks"},ticklabelmode:{valType:"enumerated",values:["instant","period"],dflt:"instant",editType:"ticks"},ticklabelposition:{valType:"enumerated",values:["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"],dflt:"outside",editType:"calc"},mirror:{valType:"enumerated",values:[!0,"ticks",!1,"all","allticks"],dflt:!1,editType:"ticks+layoutstyle"},ticklen:{valType:"number",min:0,dflt:5,editType:"ticks"},tickwidth:{valType:"number",min:0,dflt:1,editType:"ticks"},tickcolor:{valType:"color",dflt:i.defaultLine,editType:"ticks"},showticklabels:{valType:"boolean",dflt:!0,editType:"ticks"},automargin:{valType:"boolean",dflt:!1,editType:"ticks"},showspikes:{valType:"boolean",dflt:!1,editType:"modebar"},spikecolor:{valType:"color",dflt:null,editType:"none"},spikethickness:{valType:"number",dflt:3,editType:"none"},spikedash:o({},a,{dflt:"dash",editType:"none"}),spikemode:{valType:"flaglist",flags:["toaxis","across","marker"],dflt:"toaxis",editType:"none"},spikesnap:{valType:"enumerated",values:["data","cursor","hovered data"],dflt:"data",editType:"none"},tickfont:n({editType:"ticks"}),tickangle:{valType:"angle",dflt:"auto",editType:"ticks"},tickprefix:{valType:"string",dflt:"",editType:"ticks"},showtickprefix:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"ticks"},ticksuffix:{valType:"string",dflt:"",editType:"ticks"},showticksuffix:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"ticks"},showexponent:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"ticks"},exponentformat:{valType:"enumerated",values:["none","e","E","power","SI","B"],dflt:"B",editType:"ticks"},minexponent:{valType:"number",dflt:3,min:0,editType:"ticks"},separatethousands:{valType:"boolean",dflt:!1,editType:"ticks"},tickformat:{valType:"string",dflt:"",editType:"ticks"},tickformatstops:s("tickformatstop",{enabled:{valType:"boolean",dflt:!0,editType:"ticks"},dtickrange:{valType:"info_array",items:[{valType:"any",editType:"ticks"},{valType:"any",editType:"ticks"}],editType:"ticks"},value:{valType:"string",dflt:"",editType:"ticks"},editType:"ticks"}),hoverformat:{valType:"string",dflt:"",editType:"none"},showline:{valType:"boolean",dflt:!1,editType:"ticks+layoutstyle"},linecolor:{valType:"color",dflt:i.defaultLine,editType:"layoutstyle"},linewidth:{valType:"number",min:0,dflt:1,editType:"ticks+layoutstyle"},showgrid:{valType:"boolean",editType:"ticks"},gridcolor:{valType:"color",dflt:i.lightLine,editType:"ticks"},gridwidth:{valType:"number",min:0,dflt:1,editType:"ticks"},zeroline:{valType:"boolean",editType:"ticks"},zerolinecolor:{valType:"color",dflt:i.defaultLine,editType:"ticks"},zerolinewidth:{valType:"number",dflt:1,editType:"ticks"},showdividers:{valType:"boolean",dflt:!0,editType:"ticks"},dividercolor:{valType:"color",dflt:i.defaultLine,editType:"ticks"},dividerwidth:{valType:"number",dflt:1,editType:"ticks"},anchor:{valType:"enumerated",values:["free",c.idRegex.x.toString(),c.idRegex.y.toString()],editType:"plot"},side:{valType:"enumerated",values:["top","bottom","left","right"],editType:"plot"},overlaying:{valType:"enumerated",values:["free",c.idRegex.x.toString(),c.idRegex.y.toString()],editType:"plot"},layer:{valType:"enumerated",values:["above traces","below traces"],dflt:"above traces",editType:"plot"},domain:{valType:"info_array",items:[{valType:"number",min:0,max:1,editType:"plot"},{valType:"number",min:0,max:1,editType:"plot"}],dflt:[0,1],editType:"plot"},position:{valType:"number",min:0,max:1,dflt:0,editType:"plot"},categoryorder:{valType:"enumerated",values:["trace","category ascending","category descending","array","total ascending","total descending","min ascending","min descending","max ascending","max descending","sum ascending","sum descending","mean ascending","mean descending","median ascending","median descending"],dflt:"trace",editType:"calc"},categoryarray:{valType:"data_array",editType:"calc"},uirevision:{valType:"any",editType:"none"},editType:"calc",_deprecated:{autotick:{valType:"boolean",editType:"ticks"},title:{valType:"string",editType:"ticks"},titlefont:n({editType:"ticks"})}}},{"../../components/color/attributes":642,"../../components/drawing/attributes":664,"../../constants/docs":748,"../../constants/numerical":753,"../../lib/extend":768,"../../plot_api/plot_template":817,"../font_attributes":856,"./constants":834}],843:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../components/color"),a=t("../../components/fx/helpers").isUnifiedHover,o=t("../../components/fx/hovermode_defaults"),s=t("../../plot_api/plot_template"),l=t("../layout_attributes"),c=t("./layout_attributes"),u=t("./type_defaults"),f=t("./axis_defaults"),h=t("./constraints"),p=t("./position_defaults"),d=t("./axis_ids"),g=d.id2name,m=d.name2id,v=t("./constants").AX_ID_PATTERN,y=t("../../registry"),x=y.traceIs,b=y.getComponentMethod;function _(t,e,r){Array.isArray(t[e])?t[e].push(r):t[e]=[r]}e.exports=function(t,e,r){var y,w,T=e.autotypenumbers,k={},M={},A={},S={},E={},C={},L={},I={},P={},z={};for(y=0;y<r.length;y++){var O=r[y];if(x(O,"cartesian")||x(O,"gl2d")){var D,R;if(O.xaxis)D=g(O.xaxis),_(k,D,O);else if(O.xaxes)for(w=0;w<O.xaxes.length;w++)_(k,g(O.xaxes[w]),O);if(O.yaxis)R=g(O.yaxis),_(k,R,O);else if(O.yaxes)for(w=0;w<O.yaxes.length;w++)_(k,g(O.yaxes[w]),O);if("funnel"===O.type?"h"===O.orientation?(D&&(M[D]=!0),R&&(L[R]=!0)):R&&(A[R]=!0):"image"===O.type?(R&&(I[R]=!0),D&&(I[D]=!0)):(R&&(E[R]=!0,C[R]=!0),x(O,"carpet")&&("carpet"!==O.type||O._cheater)||D&&(S[D]=!0)),"carpet"===O.type&&O._cheater&&D&&(M[D]=!0),x(O,"2dMap")&&(P[D]=!0,P[R]=!0),x(O,"oriented"))z["h"===O.orientation?R:D]=!0}}var F=e._subplots,B=F.xaxis,N=F.yaxis,j=n.simpleMap(B,g),U=n.simpleMap(N,g),V=j.concat(U),q=i.background;B.length&&N.length&&(q=n.coerce(t,e,l,"plot_bgcolor"));var H,G,Y,W,X,Z=i.combine(q,e.paper_bgcolor);function J(){var t=k[H]||[];X._traceIndices=t.map((function(t){return t._expandedIndex})),X._annIndices=[],X._shapeIndices=[],X._imgIndices=[],X._subplotsWith=[],X._counterAxes=[],X._name=X._attr=H,X._id=G}function K(t,e){return n.coerce(W,X,c,t,e)}function Q(t,e){return n.coerce2(W,X,c,t,e)}function $(t){return"x"===t?N:B}function tt(e,r){for(var n="x"===e?j:U,i=[],a=0;a<n.length;a++){var o=n[a];o===r||(t[o]||{}).overlaying||i.push(m(o))}return i}var et={x:$("x"),y:$("y")},rt=et.x.concat(et.y),nt={},it=[];function at(){var t=W.matches;v.test(t)&&-1===rt.indexOf(t)&&(nt[t]=W.type,it=Object.keys(nt))}var ot=o(t,e,r),st=a(ot);for(y=0;y<V.length;y++){H=V[y],G=m(H),Y=H.charAt(0),n.isPlainObject(t[H])||(t[H]={}),W=t[H],X=s.newContainer(e,H,Y+"axis"),J();var lt="x"===Y&&!S[H]&&M[H]||"y"===Y&&!E[H]&&A[H],ct="y"===Y&&(!C[H]&&L[H]||I[H]),ut={letter:Y,font:e.font,outerTicks:P[H],showGrid:!z[H],data:k[H]||[],bgColor:Z,calendar:e.calendar,automargin:!0,visibleDflt:lt,reverseDflt:ct,autotypenumbersDflt:T,splomStash:((e._splomAxes||{})[Y]||{})[G]};K("uirevision",e.uirevision),u(W,X,K,ut),f(W,X,K,ut,e);var ft=st&&Y===ot.charAt(0),ht=Q("spikecolor",st?X.color:void 0),pt=Q("spikethickness",st?1.5:void 0),dt=Q("spikedash",st?"dot":void 0),gt=Q("spikemode",st?"across":void 0),mt=Q("spikesnap",st?"hovered data":void 0);K("showspikes",!!(ft||ht||pt||dt||gt||mt))||(delete X.spikecolor,delete X.spikethickness,delete X.spikedash,delete X.spikemode,delete X.spikesnap),p(W,X,K,{letter:Y,counterAxes:et[Y],overlayableAxes:tt(Y,H),grid:e.grid}),K("title.standoff"),at(),X._input=W}for(y=0;y<it.length;){G=it[y++],Y=(H=g(G)).charAt(0),n.isPlainObject(t[H])||(t[H]={}),W=t[H],X=s.newContainer(e,H,Y+"axis"),J();var vt={letter:Y,font:e.font,outerTicks:P[H],showGrid:!z[H],data:[],bgColor:Z,calendar:e.calendar,automargin:!0,visibleDflt:!1,reverseDflt:!1,autotypenumbersDflt:T,splomStash:((e._splomAxes||{})[Y]||{})[G]};K("uirevision",e.uirevision),X.type=nt[G]||"linear",f(W,X,K,vt,e),p(W,X,K,{letter:Y,counterAxes:et[Y],overlayableAxes:tt(Y,H),grid:e.grid}),K("fixedrange"),at(),X._input=W}var yt=b("rangeslider","handleDefaults"),xt=b("rangeselector","handleDefaults");for(y=0;y<j.length;y++)H=j[y],W=t[H],X=e[H],yt(t,e,H),"date"===X.type&&xt(W,X,e,U,X.calendar),K("fixedrange");for(y=0;y<U.length;y++){H=U[y],W=t[H],X=e[H];var bt=e[g(X.anchor)];K("fixedrange",b("rangeslider","isVisible")(bt))}h.handleDefaults(t,e,{axIds:rt.concat(it).sort(d.idSort),axHasImage:I})}},{"../../components/color":643,"../../components/fx/helpers":679,"../../components/fx/hovermode_defaults":682,"../../lib":778,"../../plot_api/plot_template":817,"../../registry":911,"../layout_attributes":882,"./axis_defaults":830,"./axis_ids":831,"./constants":834,"./constraints":835,"./layout_attributes":842,"./position_defaults":845,"./type_defaults":853}],844:[function(t,e,r){"use strict";var n=t("tinycolor2").mix,i=t("../../components/color/attributes").lightFraction,a=t("../../lib");e.exports=function(t,e,r,o){var s=(o=o||{}).dfltColor;function l(r,n){return a.coerce2(t,e,o.attributes,r,n)}var c=l("linecolor",s),u=l("linewidth");r("showline",o.showLine||!!c||!!u)||(delete e.linecolor,delete e.linewidth);var f=l("gridcolor",n(s,o.bgColor,o.blend||i).toRgbString()),h=l("gridwidth");if(r("showgrid",o.showGrid||!!f||!!h)||(delete e.gridcolor,delete e.gridwidth),!o.noZeroLine){var p=l("zerolinecolor",s),d=l("zerolinewidth");r("zeroline",o.showGrid||!!p||!!d)||(delete e.zerolinecolor,delete e.zerolinewidth)}}},{"../../components/color/attributes":642,"../../lib":778,tinycolor2:576}],845:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../lib");e.exports=function(t,e,r,a){var o,s,l,c,u=a.counterAxes||[],f=a.overlayableAxes||[],h=a.letter,p=a.grid;p&&(s=p._domains[h][p._axisMap[e._id]],o=p._anchors[e._id],s&&(l=p[h+"side"].split(" ")[0],c=p.domain[h]["right"===l||"top"===l?1:0])),s=s||[0,1],o=o||(n(t.position)?"free":u[0]||"free"),l=l||("x"===h?"bottom":"left"),c=c||0,"free"===i.coerce(t,e,{anchor:{valType:"enumerated",values:["free"].concat(u),dflt:o}},"anchor")&&r("position",c),i.coerce(t,e,{side:{valType:"enumerated",values:"x"===h?["bottom","top"]:["left","right"],dflt:l}},"side");var d=!1;if(f.length&&(d=i.coerce(t,e,{overlaying:{valType:"enumerated",values:[!1].concat(f),dflt:!1}},"overlaying")),!d){var g=r("domain",s);g[0]>g[1]-1/4096&&(e.domain=s),i.noneOrAll(t.domain,e.domain,s)}return r("layer"),e}},{"../../lib":778,"fast-isnumeric":241}],846:[function(t,e,r){"use strict";var n=t("../../constants/alignment").FROM_BL;e.exports=function(t,e,r){void 0===r&&(r=n[t.constraintoward||"center"]);var i=[t.r2l(t.range[0]),t.r2l(t.range[1])],a=i[0]+(i[1]-i[0])*r;t.range=t._input.range=[t.l2r(a+(i[0]-a)*e),t.l2r(a+(i[1]-a)*e)],t.setScale()}},{"../../constants/alignment":745}],847:[function(t,e,r){"use strict";var n=t("polybooljs"),i=t("../../registry"),a=t("../../components/drawing").dashStyle,o=t("../../components/color"),s=t("../../components/fx"),l=t("../../components/fx/helpers").makeEventData,c=t("../../components/dragelement/helpers"),u=c.freeMode,f=c.rectMode,h=c.drawMode,p=c.openMode,d=c.selectMode,g=t("../../components/shapes/draw_newshape/display_outlines"),m=t("../../components/shapes/draw_newshape/helpers").handleEllipse,v=t("../../components/shapes/draw_newshape/newshapes"),y=t("../../lib"),x=t("../../lib/polygon"),b=t("../../lib/throttle"),_=t("./axis_ids").getFromId,w=t("../../lib/clear_gl_canvases"),T=t("../../plot_api/subroutines").redrawReglTraces,k=t("./constants"),M=k.MINSELECT,A=x.filter,S=x.tester,E=t("./handle_outline").clearSelect,C=t("./helpers"),L=C.p2r,I=C.axValue,P=C.getTransform;function z(t,e,r,n,i,a,o){var s,l,c,u,f,h,d,m,v,y=e._hoverdata,x=e._fullLayout.clickmode.indexOf("event")>-1,b=[];if(function(t){return t&&Array.isArray(t)&&!0!==t[0].hoverOnBox}(y)){F(t,e,a);var _=function(t,e){var r,n,i=t[0],a=-1,o=[];for(n=0;n<e.length;n++)if(r=e[n],i.fullData._expandedIndex===r.cd[0].trace._expandedIndex){if(!0===i.hoverOnBox)break;void 0!==i.pointNumber?a=i.pointNumber:void 0!==i.binNumber&&(a=i.binNumber,o=i.pointNumbers);break}return{pointNumber:a,pointNumbers:o,searchInfo:r}}(y,s=N(e,r,n,i));if(_.pointNumbers.length>0?function(t,e){var r,n,i,a=[];for(i=0;i<t.length;i++)(r=t[i]).cd[0].trace.selectedpoints&&r.cd[0].trace.selectedpoints.length>0&&a.push(r);if(1===a.length&&a[0]===e.searchInfo&&(n=e.searchInfo.cd[0].trace).selectedpoints.length===e.pointNumbers.length){for(i=0;i<e.pointNumbers.length;i++)if(n.selectedpoints.indexOf(e.pointNumbers[i])<0)return!1;return!0}return!1}(s,_):function(t){var e,r,n,i=0;for(n=0;n<t.length;n++)if(e=t[n],(r=e.cd[0].trace).selectedpoints){if(r.selectedpoints.length>1)return!1;if((i+=r.selectedpoints.length)>1)return!1}return 1===i}(s)&&(h=j(_))){for(o&&o.remove(),v=0;v<s.length;v++)(l=s[v])._module.selectPoints(l,!1);U(e,s),B(a),x&&e.emit("plotly_deselect",null)}else{for(d=t.shiftKey&&(void 0!==h?h:j(_)),c=function(t,e,r){return{pointNumber:t,searchInfo:e,subtract:r}}(_.pointNumber,_.searchInfo,d),u=R(a.selectionDefs.concat([c])),v=0;v<s.length;v++)if(f=V(s[v]._module.selectPoints(s[v],u),s[v]),b.length)for(var w=0;w<f.length;w++)b.push(f[w]);else b=f;if(U(e,s,m={points:b}),c&&a&&a.selectionDefs.push(c),o){var T=a.mergedPolygons,k=p(a.dragmode);g(q(T,k),o,a)}x&&e.emit("plotly_selected",m)}}}function O(t){return"pointNumber"in t&&"searchInfo"in t}function D(t){return{xmin:0,xmax:0,ymin:0,ymax:0,pts:[],contains:function(e,r,n,i){var a=t.searchInfo.cd[0].trace._expandedIndex;return i.cd[0].trace._expandedIndex===a&&n===t.pointNumber},isRect:!1,degenerate:!1,subtract:t.subtract}}function R(t){for(var e=[],r=O(t[0])?0:t[0][0][0],n=r,i=O(t[0])?0:t[0][0][1],a=i,o=0;o<t.length;o++)if(O(t[o]))e.push(D(t[o]));else{var s=x.tester(t[o]);s.subtract=t[o].subtract,e.push(s),r=Math.min(r,s.xmin),n=Math.max(n,s.xmax),i=Math.min(i,s.ymin),a=Math.max(a,s.ymax)}return{xmin:r,xmax:n,ymin:i,ymax:a,pts:[],contains:function(t,r,n,i){for(var a=!1,o=0;o<e.length;o++)e[o].contains(t,r,n,i)&&(a=!1===e[o].subtract);return a},isRect:!1,degenerate:!1}}function F(t,e,r){e._fullLayout._drawing=!1;var n=e._fullLayout,i=r.plotinfo,a=r.dragmode,o=n._lastSelectedSubplot&&n._lastSelectedSubplot===i.id,s=(t.shiftKey||t.altKey)&&!(h(a)&&p(a));o&&s&&i.selection&&i.selection.selectionDefs&&!r.selectionDefs?(r.selectionDefs=i.selection.selectionDefs,r.mergedPolygons=i.selection.mergedPolygons):s&&i.selection||B(r),o||(E(e),n._lastSelectedSubplot=i.id)}function B(t){var e=t.dragmode,r=t.plotinfo,n=t.gd;if(n._fullLayout._activeShapeIndex>=0&&n._fullLayout._deactivateShape(n),h(e)){var a=n._fullLayout._zoomlayer.selectAll(".select-outline-"+r.id);if(a&&n._fullLayout._drawing){var o=v(a,t);o&&i.call("_guiRelayout",n,{shapes:o}),n._fullLayout._drawing=!1}}r.selection={},r.selection.selectionDefs=t.selectionDefs=[],r.selection.mergedPolygons=t.mergedPolygons=[]}function N(t,e,r,n){var i,a,o,s=[],l=e.map((function(t){return t._id})),c=r.map((function(t){return t._id}));for(o=0;o<t.calcdata.length;o++)if(!0===(a=(i=t.calcdata[o])[0].trace).visible&&a._module&&a._module.selectPoints)if(!n||a.subplot!==n&&a.geo!==n)if("splom"===a.type&&a._xaxes[l[0]]&&a._yaxes[c[0]]){var u=h(a._module,i,e[0],r[0]);u.scene=t._fullLayout._splomScenes[a.uid],s.push(u)}else if("sankey"===a.type){var f=h(a._module,i,e[0],r[0]);s.push(f)}else{if(-1===l.indexOf(a.xaxis))continue;if(-1===c.indexOf(a.yaxis))continue;s.push(h(a._module,i,_(t,a.xaxis),_(t,a.yaxis)))}else s.push(h(a._module,i,e[0],r[0]));return s;function h(t,e,r,n){return{_module:t,cd:e,xaxis:r,yaxis:n}}}function j(t){var e=t.searchInfo.cd[0].trace,r=t.pointNumber,n=t.pointNumbers,i=n.length>0?n[0]:r;return!!e.selectedpoints&&e.selectedpoints.indexOf(i)>-1}function U(t,e,r){var n,a,o,s;for(n=0;n<e.length;n++){var l=e[n].cd[0].trace._fullInput,c=t._fullLayout._tracePreGUI[l.uid]||{};void 0===c.selectedpoints&&(c.selectedpoints=l._input.selectedpoints||null)}if(r){var u=r.points||[];for(n=0;n<e.length;n++)(s=e[n].cd[0].trace)._input.selectedpoints=s._fullInput.selectedpoints=[],s._fullInput!==s&&(s.selectedpoints=[]);for(n=0;n<u.length;n++){var f=u[n],h=f.data,p=f.fullData;f.pointIndices?([].push.apply(h.selectedpoints,f.pointIndices),s._fullInput!==s&&[].push.apply(p.selectedpoints,f.pointIndices)):(h.selectedpoints.push(f.pointIndex),s._fullInput!==s&&p.selectedpoints.push(f.pointIndex))}}else for(n=0;n<e.length;n++)delete(s=e[n].cd[0].trace).selectedpoints,delete s._input.selectedpoints,s._fullInput!==s&&delete s._fullInput.selectedpoints;var d=!1;for(n=0;n<e.length;n++){s=(o=(a=e[n]).cd)[0].trace,i.traceIs(s,"regl")&&(d=!0);var g=a._module,m=g.styleOnSelect||g.style;m&&(m(t,o,o[0].node3),o[0].nodeRangePlot3&&m(t,o,o[0].nodeRangePlot3))}d&&(w(t),T(t))}function V(t,e){if(Array.isArray(t))for(var r=e.cd,n=e.cd[0].trace,i=0;i<t.length;i++)t[i]=l(t[i],n,r);return t}function q(t,e){for(var r=[],n=0;n<t.length;n++){r[n]=[];for(var i=0;i<t[n].length;i++){r[n][i]=[],r[n][i][0]=i?"L":"M";for(var a=0;a<t[n][i].length;a++)r[n][i].push(t[n][i][a])}e||r[n].push(["Z",r[n][0][1],r[n][0][2]])}return r}e.exports={prepSelect:function(t,e,r,i,l){var c=u(l),v=f(l),x=p(l),_=h(l),w=d(l),T="drawcircle"===l,E="drawline"===l||T,C=i.gd,O=C._fullLayout,D=O._zoomlayer,j=i.element.getBoundingClientRect(),H=i.plotinfo,G=P(H),Y=e-j.left,W=r-j.top;O._calcInverseTransform(C);var X=y.apply3DTransform(O._invTransform)(Y,W);Y=X[0],W=X[1];var Z,J,K,Q,$,tt,et,rt=O._invScaleX,nt=O._invScaleY,it=Y,at=W,ot="M"+Y+","+W,st=i.xaxes[0]._length,lt=i.yaxes[0]._length,ct=i.xaxes.concat(i.yaxes),ut=t.altKey&&!(h(l)&&x);F(t,C,i),c&&(Z=A([[Y,W]],k.BENDPX));var ft=D.selectAll("path.select-outline-"+H.id).data(_?[0]:[1,2]),ht=O.newshape;ft.enter().append("path").attr("class",(function(t){return"select-outline select-outline-"+t+" select-outline-"+H.id})).style(_?{opacity:ht.opacity/2,fill:x?void 0:ht.fillcolor,stroke:ht.line.color,"stroke-dasharray":a(ht.line.dash,ht.line.width),"stroke-width":ht.line.width+"px"}:{}).attr("fill-rule",ht.fillrule).classed("cursor-move",!!_).attr("transform",G).attr("d",ot+"Z");var pt,dt=D.append("path").attr("class","zoombox-corners").style({fill:o.background,stroke:o.defaultLine,"stroke-width":1}).attr("transform",G).attr("d","M0,0Z"),gt=O._uid+k.SELECTID,mt=[],vt=N(C,i.xaxes,i.yaxes,i.subplot);function yt(t,e){return t-e}pt=H.fillRangeItems?H.fillRangeItems:v?function(t,e){var r=t.range={};for($=0;$<ct.length;$++){var n=ct[$],i=n._id.charAt(0);r[n._id]=[L(n,e[i+"min"]),L(n,e[i+"max"])].sort(yt)}}:function(t,e,r){var n=t.lassoPoints={};for($=0;$<ct.length;$++){var i=ct[$];n[i._id]=r.filtered.map(I(i))}},i.moveFn=function(t,e){it=Math.max(0,Math.min(st,rt*t+Y)),at=Math.max(0,Math.min(lt,nt*e+W));var r=Math.abs(it-Y),a=Math.abs(at-W);if(v){var o,s,l;if(w){var u=O.selectdirection;switch(o="any"===u?a<Math.min(.6*r,M)?"h":r<Math.min(.6*a,M)?"v":"d":u){case"h":s=T?lt/2:0,l=lt;break;case"v":s=T?st/2:0,l=st}}if(_)switch(O.newshape.drawdirection){case"vertical":o="h",s=T?lt/2:0,l=lt;break;case"horizontal":o="v",s=T?st/2:0,l=st;break;case"ortho":r<a?(o="h",s=W,l=at):(o="v",s=Y,l=it);break;default:o="d"}"h"===o?((Q=E?m(T,[it,s],[it,l]):[[Y,s],[Y,l],[it,l],[it,s]]).xmin=E?it:Math.min(Y,it),Q.xmax=E?it:Math.max(Y,it),Q.ymin=Math.min(s,l),Q.ymax=Math.max(s,l),dt.attr("d","M"+Q.xmin+","+(W-M)+"h-4v"+2*M+"h4ZM"+(Q.xmax-1)+","+(W-M)+"h4v"+2*M+"h-4Z")):"v"===o?((Q=E?m(T,[s,at],[l,at]):[[s,W],[s,at],[l,at],[l,W]]).xmin=Math.min(s,l),Q.xmax=Math.max(s,l),Q.ymin=E?at:Math.min(W,at),Q.ymax=E?at:Math.max(W,at),dt.attr("d","M"+(Y-M)+","+Q.ymin+"v-4h"+2*M+"v4ZM"+(Y-M)+","+(Q.ymax-1)+"v4h"+2*M+"v-4Z")):"d"===o&&((Q=E?m(T,[Y,W],[it,at]):[[Y,W],[Y,at],[it,at],[it,W]]).xmin=Math.min(Y,it),Q.xmax=Math.max(Y,it),Q.ymin=Math.min(W,at),Q.ymax=Math.max(W,at),dt.attr("d","M0,0Z"))}else c&&(Z.addPt([it,at]),Q=Z.filtered);i.selectionDefs&&i.selectionDefs.length?(K=function(t,e,r){if(r)return n.difference({regions:t,inverted:!1},{regions:[e],inverted:!1}).regions;return n.union({regions:t,inverted:!1},{regions:[e],inverted:!1}).regions}(i.mergedPolygons,Q,ut),Q.subtract=ut,J=R(i.selectionDefs.concat([Q]))):(K=[Q],J=S(Q)),g(q(K,x),ft,i),w&&b.throttle(gt,k.SELECTDELAY,(function(){var t;mt=[];var e,r=[];for($=0;$<vt.length;$++)if(e=(tt=vt[$])._module.selectPoints(tt,J),r.push(e),t=V(e,tt),mt.length)for(var n=0;n<t.length;n++)mt.push(t[n]);else mt=t;U(C,vt,et={points:mt}),pt(et,Q,Z),i.gd.emit("plotly_selecting",et)}))},i.clickFn=function(t,e){if(dt.remove(),C._fullLayout._activeShapeIndex>=0)C._fullLayout._deactivateShape(C);else if(!_){var r=O.clickmode;b.done(gt).then((function(){if(b.clear(gt),2===t){for(ft.remove(),$=0;$<vt.length;$++)(tt=vt[$])._module.selectPoints(tt,!1);U(C,vt),B(i),C.emit("plotly_deselect",null)}else r.indexOf("select")>-1&&z(e,C,i.xaxes,i.yaxes,i.subplot,i,ft),"event"===r&&C.emit("plotly_selected",void 0);s.click(C,e)})).catch(y.error)}},i.doneFn=function(){dt.remove(),b.done(gt).then((function(){b.clear(gt),i.gd.emit("plotly_selected",et),Q&&i.selectionDefs&&(Q.subtract=ut,i.selectionDefs.push(Q),i.mergedPolygons.length=0,[].push.apply(i.mergedPolygons,K)),i.doneFnCompleted&&i.doneFnCompleted(mt)})).catch(y.error),_&&B(i)}},clearSelect:E,clearSelectionsCache:B,selectOnClick:z}},{"../../components/color":643,"../../components/dragelement/helpers":661,"../../components/drawing":665,"../../components/fx":683,"../../components/fx/helpers":679,"../../components/shapes/draw_newshape/display_outlines":728,"../../components/shapes/draw_newshape/helpers":729,"../../components/shapes/draw_newshape/newshapes":730,"../../lib":778,"../../lib/clear_gl_canvases":762,"../../lib/polygon":790,"../../lib/throttle":804,"../../plot_api/subroutines":818,"../../registry":911,"./axis_ids":831,"./constants":834,"./handle_outline":838,"./helpers":839,polybooljs:517}],848:[function(t,e,r){"use strict";var n=t("d3"),i=t("d3-time-format").utcFormat,a=t("fast-isnumeric"),o=t("../../lib"),s=o.cleanNumber,l=o.ms2DateTime,c=o.dateTime2ms,u=o.ensureNumber,f=o.isArrayOrTypedArray,h=t("../../constants/numerical"),p=h.FP_SAFE,d=h.BADNUM,g=h.LOG_CLIP,m=h.ONEWEEK,v=h.ONEDAY,y=h.ONEHOUR,x=h.ONEMIN,b=h.ONESEC,_=t("./axis_ids"),w=t("./constants"),T=w.HOUR_PATTERN,k=w.WEEKDAY_PATTERN;function M(t){return Math.pow(10,t)}function A(t){return null!=t}e.exports=function(t,e){e=e||{};var r=t._id||"x",h=r.charAt(0);function S(e,r){if(e>0)return Math.log(e)/Math.LN10;if(e<=0&&r&&t.range&&2===t.range.length){var n=t.range[0],i=t.range[1];return.5*(n+i-2*g*Math.abs(n-i))}return d}function E(e,r,n,i){if((i||{}).msUTC&&a(e))return+e;var s=c(e,n||t.calendar);if(s===d){if(!a(e))return d;e=+e;var l=Math.floor(10*o.mod(e+.05,1)),u=Math.round(e-l/10);s=c(new Date(u))+l/10}return s}function C(e,r,n){return l(e,r,n||t.calendar)}function L(e){return t._categories[Math.round(e)]}function I(e){if(A(e)){if(void 0===t._categoriesMap&&(t._categoriesMap={}),void 0!==t._categoriesMap[e])return t._categoriesMap[e];t._categories.push("number"==typeof e?String(e):e);var r=t._categories.length-1;return t._categoriesMap[e]=r,r}return d}function P(e){if(t._categoriesMap)return t._categoriesMap[e]}function z(t){var e=P(t);return void 0!==e?e:a(t)?+t:void 0}function O(t){return a(t)?+t:P(t)}function D(t,e,r){return n.round(r+e*t,2)}function R(t,e,r){return(t-r)/e}var F=function(e){return a(e)?D(e,t._m,t._b):d},B=function(e){return R(e,t._m,t._b)};if(t.rangebreaks){var N="y"===h;F=function(e){if(!a(e))return d;var r=t._rangebreaks.length;if(!r)return D(e,t._m,t._b);var n=N;t.range[0]>t.range[1]&&(n=!n);for(var i=n?-1:1,o=i*e,s=0,l=0;l<r;l++){var c=i*t._rangebreaks[l].min,u=i*t._rangebreaks[l].max;if(o<c)break;if(!(o>u)){s=o<(c+u)/2?l:l+1;break}s=l+1}var f=t._B[s]||0;return isFinite(f)?D(e,t._m2,f):0},B=function(e){var r=t._rangebreaks.length;if(!r)return R(e,t._m,t._b);for(var n=0,i=0;i<r&&!(e<t._rangebreaks[i].pmin);i++)e>t._rangebreaks[i].pmax&&(n=i+1);return R(e,t._m2,t._B[n])}}t.c2l="log"===t.type?S:u,t.l2c="log"===t.type?M:u,t.l2p=F,t.p2l=B,t.c2p="log"===t.type?function(t,e){return F(S(t,e))}:F,t.p2c="log"===t.type?function(t){return M(B(t))}:B,-1!==["linear","-"].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=B,t.cleanPos=u):"log"===t.type?(t.d2r=t.d2l=function(t,e){return S(s(t),e)},t.r2d=t.r2c=function(t){return M(s(t))},t.d2c=t.r2l=s,t.c2d=t.l2r=u,t.c2r=S,t.l2d=M,t.d2p=function(e,r){return t.l2p(t.d2r(e,r))},t.p2d=function(t){return M(B(t))},t.r2p=function(e){return t.l2p(s(e))},t.p2r=B,t.cleanPos=u):"date"===t.type?(t.d2r=t.r2d=o.identity,t.d2c=t.r2c=t.d2l=t.r2l=E,t.c2d=t.c2r=t.l2d=t.l2r=C,t.d2p=t.r2p=function(e,r,n){return t.l2p(E(e,0,n))},t.p2d=t.p2r=function(t,e,r){return C(B(t),e,r)},t.cleanPos=function(e){return o.cleanDate(e,d,t.calendar)}):"category"===t.type?(t.d2c=t.d2l=I,t.r2d=t.c2d=t.l2d=L,t.d2r=t.d2l_noadd=z,t.r2c=function(e){var r=O(e);return void 0!==r?r:t.fraction2r(.5)},t.l2r=t.c2r=u,t.r2l=O,t.d2p=function(e){return t.l2p(t.r2c(e))},t.p2d=function(t){return L(B(t))},t.r2p=t.d2p,t.p2r=B,t.cleanPos=function(t){return"string"==typeof t&&""!==t?t:u(t)}):"multicategory"===t.type&&(t.r2d=t.c2d=t.l2d=L,t.d2r=t.d2l_noadd=z,t.r2c=function(e){var r=z(e);return void 0!==r?r:t.fraction2r(.5)},t.r2c_just_indices=P,t.l2r=t.c2r=u,t.r2l=z,t.d2p=function(e){return t.l2p(t.r2c(e))},t.p2d=function(t){return L(B(t))},t.r2p=t.d2p,t.p2r=B,t.cleanPos=function(t){return Array.isArray(t)||"string"==typeof t&&""!==t?t:u(t)},t.setupMultiCategory=function(n){var i,a,s=t._traceIndices,l=t._matchGroup;if(l&&0===t._categories.length)for(var c in l)if(c!==r){var u=e[_.id2name(c)];s=s.concat(u._traceIndices)}var p=[[0,{}],[0,{}]],d=[];for(i=0;i<s.length;i++){var g=n[s[i]];if(h in g){var m=g[h],v=g._length||o.minRowLength(m);if(f(m[0])&&f(m[1]))for(a=0;a<v;a++){var y=m[0][a],x=m[1][a];A(y)&&A(x)&&(d.push([y,x]),y in p[0][1]||(p[0][1][y]=p[0][0]++),x in p[1][1]||(p[1][1][x]=p[1][0]++))}}}for(d.sort((function(t,e){var r=p[0][1],n=r[t[0]]-r[e[0]];if(n)return n;var i=p[1][1];return i[t[1]]-i[e[1]]})),i=0;i<d.length;i++)I(d[i])}),t.fraction2r=function(e){var r=t.r2l(t.range[0]),n=t.r2l(t.range[1]);return t.l2r(r+e*(n-r))},t.r2fraction=function(e){var r=t.r2l(t.range[0]),n=t.r2l(t.range[1]);return(t.r2l(e)-r)/(n-r)},t.cleanRange=function(e,r){r||(r={}),e||(e="range");var n,i,s=o.nestedProperty(t,e).get();if(i=(i="date"===t.type?o.dfltRange(t.calendar):"y"===h?w.DFLTRANGEY:r.dfltRange||w.DFLTRANGEX).slice(),"tozero"!==t.rangemode&&"nonnegative"!==t.rangemode||(i[0]=0),s&&2===s.length)for("date"!==t.type||t.autorange||(s[0]=o.cleanDate(s[0],d,t.calendar),s[1]=o.cleanDate(s[1],d,t.calendar)),n=0;n<2;n++)if("date"===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]<-p?s[n]=-p:s[n]>p&&(s[n]=p),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.overlaying){var i=_.getFromId({_fullLayout:e},t.overlaying);t.domain=i.domain}var a=r&&t._r?"_r":"range",o=t.calendar;t.cleanRange(a);var s,l,c=t.r2l(t[a][0],o),u=t.r2l(t[a][1],o),f="y"===h;if((f?(t._offset=n.t+(1-t.domain[1])*n.h,t._length=n.h*(t.domain[1]-t.domain[0]),t._m=t._length/(c-u),t._b=-t._m*u):(t._offset=n.l+t.domain[0]*n.w,t._length=n.w*(t.domain[1]-t.domain[0]),t._m=t._length/(u-c),t._b=-t._m*c),t._rangebreaks=[],t._lBreaks=0,t._m2=0,t._B=[],t.rangebreaks)&&(t._rangebreaks=t.locateBreaks(Math.min(c,u),Math.max(c,u)),t._rangebreaks.length)){for(s=0;s<t._rangebreaks.length;s++)l=t._rangebreaks[s],t._lBreaks+=Math.abs(l.max-l.min);var p=f;c>u&&(p=!p),p&&t._rangebreaks.reverse();var d=p?-1:1;for(t._m2=d*t._length/(Math.abs(u-c)-t._lBreaks),t._B.push(-t._m2*(f?u:c)),s=0;s<t._rangebreaks.length;s++)l=t._rangebreaks[s],t._B.push(t._B[t._B.length-1]-d*t._m2*(l.max-l.min));for(s=0;s<t._rangebreaks.length;s++)(l=t._rangebreaks[s]).pmin=F(l.min),l.pmax=F(l.max)}if(!isFinite(t._m)||!isFinite(t._b)||t._length<0)throw e._replotting=!1,new Error("Something went wrong with axis scaling")},t.maskBreaks=function(e){for(var r,n,i,a,l,c=t.rangebreaks||[],u=0;u<c.length;u++){var f=c[u];if(f.enabled)if(f.bounds){var h=f.pattern;switch(n=(r=o.simpleMap(f.bounds,h?s:t.d2c))[0],i=r[1],h){case k:a=(l=new Date(e)).getUTCDay(),n>i&&(i+=7,a<n&&(a+=7));break;case T:a=(l=new Date(e)).getUTCHours()+(l.getUTCMinutes()/60+l.getUTCSeconds()/3600+l.getUTCMilliseconds()/36e5),n>i&&(i+=24,a<n&&(a+=24));break;case"":a=e}if(a>=n&&a<i)return d}else for(var p=o.simpleMap(f.values,t.d2c).sort(o.sorterAsc),g=0;g<p.length;g++)if(i=(n=p[g])+f.dvalue,e>=n&&e<i)return d}return e},t.locateBreaks=function(e,r){var n,i,a,l,c=[];if(!t.rangebreaks)return c;var u=t.rangebreaks.slice().sort((function(t,e){return t.pattern===k&&e.pattern===T?-1:e.pattern===k&&t.pattern===T?1:0})),f=function(t,n){if((t=o.constrain(t,e,r))!==(n=o.constrain(n,e,r))){for(var i=!0,a=0;a<c.length;a++){var s=c[a];t<s.max&&n>=s.min&&(t<s.min&&(s.min=t),n>s.max&&(s.max=n),i=!1)}i&&c.push({min:t,max:n})}};for(n=0;n<u.length;n++){var h=u[n];if(h.enabled)if(h.bounds){var p=e,d=r;h.pattern&&(p=Math.floor(p)),a=(i=o.simpleMap(h.bounds,h.pattern?s:t.r2l))[0],l=i[1];var g,_,w=new Date(p);switch(h.pattern){case k:_=m,g=(l-a+(l<a?7:0))*v,p+=a*v-(w.getUTCDay()*v+w.getUTCHours()*y+w.getUTCMinutes()*x+w.getUTCSeconds()*b+w.getUTCMilliseconds());break;case T:_=v,g=(l-a+(l<a?24:0))*y,p+=a*y-(w.getUTCHours()*y+w.getUTCMinutes()*x+w.getUTCSeconds()*b+w.getUTCMilliseconds());break;default:p=Math.min(i[0],i[1]),g=_=(d=Math.max(i[0],i[1]))-p}for(var M=p;M<d;M+=_)f(M,M+g)}else for(var A=o.simpleMap(h.values,t.d2c),S=0;S<A.length;S++)f(a=A[S],l=a+h.dvalue)}return c.sort((function(t,e){return t.min-e.min})),c},t.makeCalcdata=function(e,r,n){var i,a,s,l,c=t.type,u="date"===c&&e[r+"calendar"];if(r in e){if(i=e[r],l=e._length||o.minRowLength(i),o.isTypedArray(i)&&("linear"===c||"log"===c)){if(l===i.length)return i;if(i.subarray)return i.subarray(0,l)}if("multicategory"===c)return function(t,e){for(var r=new Array(e),n=0;n<e;n++){var i=(t[0]||[])[n],a=(t[1]||[])[n];r[n]=P([i,a])}return r}(i,l);for(a=new Array(l),s=0;s<l;s++)a[s]=t.d2c(i[s],0,u,n)}else{var f=r+"0"in e?t.d2c(e[r+"0"],0,u):0,h=e["d"+r]?Number(e["d"+r]):1;for(i=e[{x:"y",y:"x"}[r]],l=e._length||i.length,a=new Array(l),s=0;s<l;s++)a[s]=f+s*h}if(t.rangebreaks)for(s=0;s<l;s++)a[s]=t.maskBreaks(a[s]);return a},t.isValidRange=function(e){return Array.isArray(e)&&2===e.length&&a(t.r2l(e[0]))&&a(t.r2l(e[1]))},t.isPtWithinRange=function(e,r){var n=t.c2l(e[h],null,r),i=t.r2l(t.range[0]),a=t.r2l(t.range[1]);return i<a?i<=n&&n<=a:a<=n&&n<=i},t._emptyCategories=function(){t._categories=[],t._categoriesMap={}},t.clearCalc=function(){var r=t._matchGroup;if(r){var n=null,i=null;for(var a in r){var o=e[_.id2name(a)];if(o._categories){n=o._categories,i=o._categoriesMap;break}}n&&i?(t._categories=n,t._categoriesMap=i):t._emptyCategories()}else t._emptyCategories();if(t._initialCategories)for(var s=0;s<t._initialCategories.length;s++)I(t._initialCategories[s])},t.sortByInitialCategories=function(){var n=[];if(t._emptyCategories(),t._initialCategories)for(var i=0;i<t._initialCategories.length;i++)I(t._initialCategories[i]);n=n.concat(t._traceIndices);var a=t._matchGroup;for(var o in a)if(r!==o){var s=e[_.id2name(o)];s._categories=t._categories,s._categoriesMap=t._categoriesMap,n=n.concat(s._traceIndices)}return n};var j=e._d3locale;"date"===t.type&&(t._dateFormat=j?j.timeFormat:i,t._extraFormat=e._extraFormat),t._separators=e.separators,t._numFormat=j?j.numberFormat:n.format,delete t._minDtick,delete t._forceTick0}},{"../../constants/numerical":753,"../../lib":778,"./axis_ids":831,"./constants":834,d3:169,"d3-time-format":166,"fast-isnumeric":241}],849:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../components/color").contrast,a=t("./layout_attributes"),o=t("../array_container_defaults");function s(t){var e=["showexponent","showtickprefix","showticksuffix"].filter((function(e){return void 0!==t[e]}));if(e.every((function(r){return t[r]===t[e[0]]}))||1===e.length)return t[e[0]]}function l(t,e){function r(r,i){return n.coerce(t,e,a.tickformatstops,r,i)}r("enabled")&&(r("dtickrange"),r("value"))}e.exports=function(t,e,r,c,u,f){f&&1!==f.pass||function(t,e,r,n,i){var a=s(t);r("tickprefix")&&r("showtickprefix",a);r("ticksuffix",i.tickSuffixDflt)&&r("showticksuffix",a)}(t,0,r,0,u),f&&2!==f.pass||function(t,e,r,c,u){var f=s(t);r("tickprefix")&&r("showtickprefix",f);r("ticksuffix",u.tickSuffixDflt)&&r("showticksuffix",f);if(r("showticklabels")){var h=u.font||{},p=e.color,d=-1!==(e.ticklabelposition||"").indexOf("inside")?i(u.bgColor):p&&p!==a.color.dflt?p:h.color;if(n.coerceFont(r,"tickfont",{family:h.family,size:h.size,color:d}),r("tickangle"),"category"!==c){var g=r("tickformat");o(t,e,{name:"tickformatstops",inclusionAttr:"enabled",handleItemDefaults:l}),e.tickformatstops.length||delete e.tickformatstops,g||"date"===c||(r("showexponent",f),r("exponentformat"),r("minexponent"),r("separatethousands"))}}}(t,e,r,c,u)}},{"../../components/color":643,"../../lib":778,"../array_container_defaults":823,"./layout_attributes":842}],850:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./layout_attributes");e.exports=function(t,e,r,a){var o=n.coerce2(t,e,i,"ticklen"),s=n.coerce2(t,e,i,"tickwidth"),l=n.coerce2(t,e,i,"tickcolor",e.color);r("ticks",a.outerTicks||o||s||l?"outside":"")||(delete e.ticklen,delete e.tickwidth,delete e.tickcolor)}},{"../../lib":778,"./layout_attributes":842}],851:[function(t,e,r){"use strict";var n=t("./clean_ticks"),i=t("../../lib").isArrayOrTypedArray;e.exports=function(t,e,r,a){function o(r){var n=t[r];return void 0!==n?n:(e._template||{})[r]}var s=o("tick0"),l=o("dtick"),c=o("tickvals"),u=r("tickmode",i(c)?"array":l?"linear":"auto");if("auto"===u)r("nticks");else if("linear"===u){var f=e.dtick=n.dtick(l,a);e.tick0=n.tick0(s,a,e.calendar,f)}else if("multicategory"!==a){void 0===r("tickvals")?e.tickmode="auto":r("ticktext")}}},{"../../lib":778,"./clean_ticks":833}],852:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../registry"),a=t("../../lib"),o=t("../../components/drawing"),s=t("./axes");e.exports=function(t,e,r,l){var c=t._fullLayout;if(0!==e.length){var u,f,h,p;l&&(u=l());var d=n.ease(r.easing);return t._transitionData._interruptCallbacks.push((function(){return window.cancelAnimationFrame(p),p=null,function(){for(var r={},n=0;n<e.length;n++){var a=e[n],o=a.plotinfo.xaxis,s=a.plotinfo.yaxis;a.xr0&&(r[o._name+".range"]=a.xr0.slice()),a.yr0&&(r[s._name+".range"]=a.yr0.slice())}return i.call("relayout",t,r).then((function(){for(var t=0;t<e.length;t++)g(e[t].plotinfo)}))}()})),f=Date.now(),p=window.requestAnimationFrame((function n(){h=Date.now();for(var a=Math.min(1,(h-f)/r.duration),o=d(a),s=0;s<e.length;s++)m(e[s],o);h-f>r.duration?(!function(){for(var r={},n=0;n<e.length;n++){var a=e[n],o=a.plotinfo.xaxis,s=a.plotinfo.yaxis;a.xr1&&(r[o._name+".range"]=a.xr1.slice()),a.yr1&&(r[s._name+".range"]=a.yr1.slice())}u&&u(),i.call("relayout",t,r).then((function(){for(var t=0;t<e.length;t++)g(e[t].plotinfo)}))}(),p=window.cancelAnimationFrame(n)):p=window.requestAnimationFrame(n)})),Promise.resolve()}function g(t){var e=t.xaxis,r=t.yaxis;c._defs.select("#"+t.clipId+"> rect").call(o.setTranslate,0,0).call(o.setScale,1,1),t.plot.call(o.setTranslate,e._offset,r._offset).call(o.setScale,1,1);var n=t.plot.selectAll(".scatterlayer .trace");n.selectAll(".point").call(o.setPointGroupScale,1,1),n.selectAll(".textpoint").call(o.setTextPointsScale,1,1),n.call(o.hideOutsideRangePoints,t)}function m(e,r){var n=e.plotinfo,i=n.xaxis,l=n.yaxis,c=i._length,u=l._length,f=!!e.xr1,h=!!e.yr1,p=[];if(f){var d=a.simpleMap(e.xr0,i.r2l),g=a.simpleMap(e.xr1,i.r2l),m=d[1]-d[0],v=g[1]-g[0];p[0]=(d[0]*(1-r)+r*g[0]-d[0])/(d[1]-d[0])*c,p[2]=c*(1-r+r*v/m),i.range[0]=i.l2r(d[0]*(1-r)+r*g[0]),i.range[1]=i.l2r(d[1]*(1-r)+r*g[1])}else p[0]=0,p[2]=c;if(h){var y=a.simpleMap(e.yr0,l.r2l),x=a.simpleMap(e.yr1,l.r2l),b=y[1]-y[0],_=x[1]-x[0];p[1]=(y[1]*(1-r)+r*x[1]-y[1])/(y[0]-y[1])*u,p[3]=u*(1-r+r*_/b),l.range[0]=i.l2r(y[0]*(1-r)+r*x[0]),l.range[1]=l.l2r(y[1]*(1-r)+r*x[1])}else p[1]=0,p[3]=u;s.drawOne(t,i,{skipTitle:!0}),s.drawOne(t,l,{skipTitle:!0}),s.redrawComponents(t,[i._id,l._id]);var w=f?c/p[2]:1,T=h?u/p[3]:1,k=f?p[0]:0,M=h?p[1]:0,A=f?p[0]/p[2]*c:0,S=h?p[1]/p[3]*u:0,E=i._offset-A,C=l._offset-S;n.clipRect.call(o.setTranslate,k,M).call(o.setScale,1/w,1/T),n.plot.call(o.setTranslate,E,C).call(o.setScale,w,T),o.setPointGroupScale(n.zoomScalePts,1/w,1/T),o.setTextPointsScale(n.zoomScaleTxt,1/w,1/T)}s.redrawComponents(t)}},{"../../components/drawing":665,"../../lib":778,"../../registry":911,"./axes":828,d3:169}],853:[function(t,e,r){"use strict";var n=t("../../registry").traceIs,i=t("./axis_autotype");function a(t){return{v:"x",h:"y"}[t.orientation||"v"]}function o(t,e){var r=a(t),i=n(t,"box-violin"),o=n(t._fullInput||{},"candlestick");return i&&!o&&e===r&&void 0===t[r]&&void 0===t[r+"0"]}e.exports=function(t,e,r,s){r("autotypenumbers",s.autotypenumbersDflt),"-"===r("type",(s.splomStash||{}).type)&&(!function(t,e){if("-"!==t.type)return;var r,s=t._id,l=s.charAt(0);-1!==s.indexOf("scene")&&(s=l);var c=function(t,e,r){for(var n=0;n<t.length;n++){var i=t[n];if("splom"===i.type&&i._length>0&&(i["_"+r+"axes"]||{})[e])return i;if((i[r+"axis"]||r)===e){if(o(i,r))return i;if((i[r]||[]).length||i[r+"0"])return i}}}(e,s,l);if(!c)return;if("histogram"===c.type&&l==={v:"y",h:"x"}[c.orientation||"v"])return void(t.type="linear");var u=l+"calendar",f=c[u],h={noMultiCategory:!n(c,"cartesian")||n(c,"noMultiCategory")};"box"===c.type&&c._hasPreCompStats&&l==={h:"x",v:"y"}[c.orientation||"v"]&&(h.noMultiCategory=!0);if(h.autotypenumbers=t.autotypenumbers,o(c,l)){var p=a(c),d=[];for(r=0;r<e.length;r++){var g=e[r];n(g,"box-violin")&&(g[l+"axis"]||l)===s&&(void 0!==g[p]?d.push(g[p][0]):void 0!==g.name?d.push(g.name):d.push("text"),g[u]!==f&&(f=void 0))}t.type=i(d,f,h)}else if("splom"===c.type){var m=c.dimensions[c._axesDim[s]];m.visible&&(t.type=i(m.values,f,h))}else t.type=i(c[l]||[c[l+"0"]],f,h)}(e,s.data),"-"===e.type?e.type="linear":t.type=e.type)}},{"../../registry":911,"./axis_autotype":829}],854:[function(t,e,r){"use strict";var n=t("../registry"),i=t("../lib");function a(t,e,r){var n,a,o,s=!1;if("data"===e.type)n=t._fullData[null!==e.traces?e.traces[0]:0];else{if("layout"!==e.type)return!1;n=t._fullLayout}return a=i.nestedProperty(n,e.prop).get(),(o=r[e.type]=r[e.type]||{}).hasOwnProperty(e.prop)&&o[e.prop]!==a&&(s=!0),o[e.prop]=a,{changed:s,value:a}}function o(t,e){var r=[],n=e[0],a={};if("string"==typeof n)a[n]=e[1];else{if(!i.isPlainObject(n))return r;a=n}return l(a,(function(t,e,n){r.push({type:"layout",prop:t,value:n})}),"",0),r}function s(t,e){var r,n,a,o,s=[];if(n=e[0],a=e[1],r=e[2],o={},"string"==typeof n)o[n]=a;else{if(!i.isPlainObject(n))return s;o=n,void 0===r&&(r=a)}return void 0===r&&(r=null),l(o,(function(e,n,i){var a,o;if(Array.isArray(i)){o=i.slice();var l=Math.min(o.length,t.data.length);r&&(l=Math.min(l,r.length)),a=[];for(var c=0;c<l;c++)a[c]=r?r[c]:c}else o=i,a=r?r.slice():null;if(null===a)Array.isArray(o)&&(o=o[0]);else if(Array.isArray(a)){if(!Array.isArray(o)){var u=o;o=[];for(var f=0;f<a.length;f++)o[f]=u}o.length=Math.min(a.length,o.length)}s.push({type:"data",prop:e,traces:a,value:o})}),"",0),s}function l(t,e,r,n){Object.keys(t).forEach((function(a){var o=t[a];if("_"!==a[0]){var s=r+(n>0?".":"")+a;i.isPlainObject(o)?l(o,e,s,n+1):e(s,a,o)}}))}r.manageCommandObserver=function(t,e,n,o){var s={},l=!0;e&&e._commandObserver&&(s=e._commandObserver),s.cache||(s.cache={}),s.lookupTable={};var c=r.hasSimpleAPICommandBindings(t,n,s.lookupTable);if(e&&e._commandObserver){if(c)return s;if(e._commandObserver.remove)return e._commandObserver.remove(),e._commandObserver=null,s}if(c){a(t,c,s.cache),s.check=function(){if(l){var e=a(t,c,s.cache);return e.changed&&o&&void 0!==s.lookupTable[e.value]&&(s.disable(),Promise.resolve(o({value:e.value,type:c.type,prop:c.prop,traces:c.traces,index:s.lookupTable[e.value]})).then(s.enable,s.enable)),e.changed}};for(var u=["plotly_relayout","plotly_redraw","plotly_restyle","plotly_update","plotly_animatingframe","plotly_afterplot"],f=0;f<u.length;f++)t._internalOn(u[f],s.check);s.remove=function(){for(var e=0;e<u.length;e++)t._removeInternalListener(u[e],s.check)}}else i.log("Unable to automatically bind plot updates to API command"),s.lookupTable={},s.remove=function(){};return s.disable=function(){l=!1},s.enable=function(){l=!0},e&&(e._commandObserver=s),s},r.hasSimpleAPICommandBindings=function(t,e,n){var i,a,o=e.length;for(i=0;i<o;i++){var s,l=e[i],c=l.method,u=l.args;if(Array.isArray(u)||(u=[]),!c)return!1;var f=r.computeAPICommandBindings(t,c,u);if(1!==f.length)return!1;if(a){if((s=f[0]).type!==a.type)return!1;if(s.prop!==a.prop)return!1;if(Array.isArray(a.traces)){if(!Array.isArray(s.traces))return!1;s.traces.sort();for(var h=0;h<a.traces.length;h++)if(a.traces[h]!==s.traces[h])return!1}else if(s.prop!==a.prop)return!1}else a=f[0],Array.isArray(a.traces)&&a.traces.sort();var p=(s=f[0]).value;if(Array.isArray(p)){if(1!==p.length)return!1;p=p[0]}n&&(n[p]=i)}return a},r.executeAPICommand=function(t,e,r){if("skip"===e)return Promise.resolve();var a=n.apiMethodRegistry[e],o=[t];Array.isArray(r)||(r=[]);for(var s=0;s<r.length;s++)o.push(r[s]);return a.apply(null,o).catch((function(t){return i.warn("API call to Plotly."+e+" rejected.",t),Promise.reject(t)}))},r.computeAPICommandBindings=function(t,e,r){var n;switch(Array.isArray(r)||(r=[]),e){case"restyle":n=s(t,r);break;case"relayout":n=o(t,r);break;case"update":n=s(t,[r[0],r[2]]).concat(o(t,[r[1]]));break;case"animate":n=function(t,e){return Array.isArray(e[0])&&1===e[0].length&&-1!==["string","number"].indexOf(typeof e[0][0])?[{type:"layout",prop:"_currentFrame",value:e[0][0].toString()}]:[]}(0,r);break;default:n=[]}return n}},{"../lib":778,"../registry":911}],855:[function(t,e,r){"use strict";var n=t("../lib/extend").extendFlat;r.attributes=function(t,e){e=e||{};var r={valType:"info_array",editType:(t=t||{}).editType,items:[{valType:"number",min:0,max:1,editType:t.editType},{valType:"number",min:0,max:1,editType:t.editType}],dflt:[0,1]},i=(t.name&&t.name,t.trace,e.description&&e.description,{x:n({},r,{}),y:n({},r,{}),editType:t.editType});return t.noGridCell||(i.row={valType:"integer",min:0,dflt:0,editType:t.editType},i.column={valType:"integer",min:0,dflt:0,editType:t.editType}),i},r.defaults=function(t,e,r,n){var i=n&&n.x||[0,1],a=n&&n.y||[0,1],o=e.grid;if(o){var s=r("domain.column");void 0!==s&&(s<o.columns?i=o._domains.x[s]:delete t.domain.column);var l=r("domain.row");void 0!==l&&(l<o.rows?a=o._domains.y[l]:delete t.domain.row)}var c=r("domain.x",i),u=r("domain.y",a);c[0]<c[1]||(t.domain.x=i.slice()),u[0]<u[1]||(t.domain.y=a.slice())}},{"../lib/extend":768}],856:[function(t,e,r){"use strict";e.exports=function(t){var e=t.editType,r=t.colorEditType;void 0===r&&(r=e);var n={family:{valType:"string",noBlank:!0,strict:!0,editType:e},size:{valType:"number",min:1,editType:e},color:{valType:"color",editType:r},editType:e};return t.arrayOk&&(n.family.arrayOk=!0,n.size.arrayOk=!0,n.color.arrayOk=!0),n}},{}],857:[function(t,e,r){"use strict";e.exports={_isLinkedToArray:"frames_entry",group:{valType:"string"},name:{valType:"string"},traces:{valType:"any"},baseframe:{valType:"string"},data:{valType:"any"},layout:{valType:"any"}}},{}],858:[function(t,e,r){"use strict";r.projNames={equirectangular:"equirectangular",mercator:"mercator",orthographic:"orthographic","natural earth":"naturalEarth",kavrayskiy7:"kavrayskiy7",miller:"miller",robinson:"robinson",eckert4:"eckert4","azimuthal equal area":"azimuthalEqualArea","azimuthal equidistant":"azimuthalEquidistant","conic equal area":"conicEqualArea","conic conformal":"conicConformal","conic equidistant":"conicEquidistant",gnomonic:"gnomonic",stereographic:"stereographic",mollweide:"mollweide",hammer:"hammer","transverse mercator":"transverseMercator","albers usa":"albersUsa","winkel tripel":"winkel3",aitoff:"aitoff",sinusoidal:"sinusoidal"},r.axesNames=["lonaxis","lataxis"],r.lonaxisSpan={orthographic:180,"azimuthal equal area":360,"azimuthal equidistant":360,"conic conformal":180,gnomonic:160,stereographic:180,"transverse mercator":180,"*":360},r.lataxisSpan={"conic conformal":150,stereographic:179.5,"*":180},r.scopeDefaults={world:{lonaxisRange:[-180,180],lataxisRange:[-90,90],projType:"equirectangular",projRotate:[0,0,0]},usa:{lonaxisRange:[-180,-50],lataxisRange:[15,80],projType:"albers usa"},europe:{lonaxisRange:[-30,60],lataxisRange:[30,85],projType:"conic conformal",projRotate:[15,0,0],projParallels:[0,60]},asia:{lonaxisRange:[22,160],lataxisRange:[-15,55],projType:"mercator",projRotate:[0,0,0]},africa:{lonaxisRange:[-30,60],lataxisRange:[-40,40],projType:"mercator",projRotate:[0,0,0]},"north america":{lonaxisRange:[-180,-45],lataxisRange:[5,85],projType:"conic conformal",projRotate:[-100,0,0],projParallels:[29.5,45.5]},"south america":{lonaxisRange:[-100,-30],lataxisRange:[-60,15],projType:"mercator",projRotate:[0,0,0]}},r.clipPad=.001,r.precision=.1,r.landColor="#F0DC82",r.waterColor="#3399FF",r.locationmodeToLayer={"ISO-3":"countries","USA-states":"subunits","country names":"countries"},r.sphereSVG={type:"Sphere"},r.fillLayers={ocean:1,land:1,lakes:1},r.lineLayers={subunits:1,countries:1,coastlines:1,rivers:1,frame:1},r.layers=["bg","ocean","land","lakes","subunits","countries","coastlines","rivers","lataxis","lonaxis","frame","backplot","frontplot"],r.layersForChoropleth=["bg","ocean","land","subunits","countries","coastlines","lataxis","lonaxis","frame","backplot","rivers","lakes","frontplot"],r.layerNameToAdjective={ocean:"ocean",land:"land",lakes:"lake",subunits:"subunit",countries:"country",coastlines:"coastline",rivers:"river",frame:"frame"}},{}],859:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../registry"),a=t("../../lib"),o=a.strTranslate,s=t("../../components/color"),l=t("../../components/drawing"),c=t("../../components/fx"),u=t("../plots"),f=t("../cartesian/axes"),h=t("../cartesian/autorange").getAutoRange,p=t("../../components/dragelement"),d=t("../cartesian/select").prepSelect,g=t("../cartesian/select").clearSelect,m=t("../cartesian/select").selectOnClick,v=t("./zoom"),y=t("./constants"),x=t("../../lib/geo_location_utils"),b=t("../../lib/topojson_utils"),_=t("topojson-client").feature;function w(t){this.id=t.id,this.graphDiv=t.graphDiv,this.container=t.container,this.topojsonURL=t.topojsonURL,this.isStatic=t.staticPlot,this.topojsonName=null,this.topojson=null,this.projection=null,this.scope=null,this.viewInitial=null,this.fitScale=null,this.bounds=null,this.midPt=null,this.hasChoropleth=!1,this.traceHash={},this.layers={},this.basePaths={},this.dataPaths={},this.dataPoints={},this.clipDef=null,this.clipRect=null,this.bgRect=null,this.makeFramework()}t("./projections")(n);var T=w.prototype;function k(t,e){var r=y.clipPad,n=t[0]+r,i=t[1]-r,a=e[0]+r,o=e[1]-r;n>0&&i<0&&(i+=360);var s=(i-n)/4;return{type:"Polygon",coordinates:[[[n,a],[n,o],[n+s,o],[n+2*s,o],[n+3*s,o],[i,o],[i,a],[i-s,a],[i-2*s,a],[i-3*s,a],[n,a]]]}}e.exports=function(t){return new w(t)},T.plot=function(t,e,r){var n=this,i=e[this.id],a=[],o=!1;for(var s in y.layerNameToAdjective)if("frame"!==s&&i["show"+s]){o=!0;break}for(var l=0;l<t.length;l++)if(t[0][0].trace.locationmode){o=!0;break}if(o){var c=b.getTopojsonName(i);null!==n.topojson&&c===n.topojsonName||(n.topojsonName=c,void 0===PlotlyGeoAssets.topojson[n.topojsonName]&&a.push(n.fetchTopojson()))}a=a.concat(x.fetchTraceGeoData(t)),r.push(new Promise((function(r,i){Promise.all(a).then((function(){n.topojson=PlotlyGeoAssets.topojson[n.topojsonName],n.update(t,e),r()})).catch(i)})))},T.fetchTopojson=function(){var t=this,e=b.getTopojsonPath(t.topojsonURL,t.topojsonName);return new Promise((function(r,i){n.json(e,(function(n,a){if(n)return 404===n.status?i(new Error(["plotly.js could not find topojson file at",e,".","Make sure the *topojsonURL* plot config option","is set properly."].join(" "))):i(new Error(["unexpected error while fetching topojson file at",e].join(" ")));PlotlyGeoAssets.topojson[t.topojsonName]=a,r()}))}))},T.update=function(t,e){var r=e[this.id];this.hasChoropleth=!1;for(var n=0;n<t.length;n++){var i=t[n],a=i[0].trace;"choropleth"===a.type&&(this.hasChoropleth=!0),!0===a.visible&&a._length>0&&a._module.calcGeoJSON(i,e)}if(!this.updateProjection(t,e)){this.viewInitial&&this.scope===r.scope||this.saveViewInitial(r),this.scope=r.scope,this.updateBaseLayers(e,r),this.updateDims(e,r),this.updateFx(e,r),u.generalUpdatePerTraceModule(this.graphDiv,this,t,r);var o=this.layers.frontplot.select(".scatterlayer");this.dataPoints.point=o.selectAll(".point"),this.dataPoints.text=o.selectAll("text"),this.dataPaths.line=o.selectAll(".js-line");var s=this.layers.backplot.select(".choroplethlayer");this.dataPaths.choropleth=s.selectAll("path"),this.render()}},T.updateProjection=function(t,e){var r=this.graphDiv,o=e[this.id],s=e._size,l=o.domain,c=o.projection,u=o.lonaxis,f=o.lataxis,p=u._ax,d=f._ax,g=this.projection=function(t){for(var e=t.projection.type,r=n.geo[y.projNames[e]](),i=t._isClipped?y.lonaxisSpan[e]/2:null,a=["center","rotate","parallels","clipExtent"],o=function(t){return t?r:[]},s=0;s<a.length;s++){var l=a[s];"function"!=typeof r[l]&&(r[l]=o)}r.isLonLatOverEdges=function(t){if(null===r(t))return!0;if(i){var e=r.rotate();return n.geo.distance(t,[-e[0],-e[1]])>i*Math.PI/180}return!1},r.getPath=function(){return n.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&&r.clipExtent();r.scale(150).translate([0,0]),a&&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&&r.clipExtent(a),r.scale(150*s).translate([l,c])},r.precision(y.precision),i&&r.clipAngle(i-y.clipPad);return r}(o),m=[[s.l+s.w*l.x[0],s.t+s.h*(1-l.y[1])],[s.l+s.w*l.x[1],s.t+s.h*(1-l.y[0])]],v=o.center||{},x=c.rotation||{},b=u.range||[],_=f.range||[];if(o.fitbounds){p._length=m[1][0]-m[0][0],d._length=m[1][1]-m[0][1],p.range=h(r,p),d.range=h(r,d);var w=(p.range[0]+p.range[1])/2,T=(d.range[0]+d.range[1])/2;if(o._isScoped)v={lon:w,lat:T};else if(o._isClipped){v={lon:w,lat:T},x={lon:w,lat:T,roll:x.roll};var M=c.type,A=y.lonaxisSpan[M]/2||180,S=y.lataxisSpan[M]/2||90;b=[w-A,w+A],_=[T-S,T+S]}else v={lon:w,lat:T},x={lon:w,lat:x.lat,roll:x.roll}}g.center([v.lon-x.lon,v.lat-x.lat]).rotate([-x.lon,-x.lat,x.roll]).parallels(c.parallels);var E=k(b,_);g.fitExtent(m,E);var C=this.bounds=g.getBounds(E),L=this.fitScale=g.scale(),I=g.translate();if(!isFinite(C[0][0])||!isFinite(C[0][1])||!isFinite(C[1][0])||!isFinite(C[1][1])||isNaN(I[0])||isNaN(I[0])){for(var P=["fitbounds","projection.rotation","center","lonaxis.range","lataxis.range"],z="Invalid geo settings, relayout'ing to default view.",O={},D=0;D<P.length;D++)O[this.id+"."+P[D]]=null;return this.viewInitial=null,a.warn(z),r._promises.push(i.call("relayout",r,O)),z}if(o.fitbounds){var R=g.getBounds(k(p.range,d.range)),F=Math.min((C[1][0]-C[0][0])/(R[1][0]-R[0][0]),(C[1][1]-C[0][1])/(R[1][1]-R[0][1]));isFinite(F)?g.scale(F*L):a.warn("Something went wrong during"+this.id+"fitbounds computations.")}else g.scale(c.scale*L);var B=this.midPt=[(C[0][0]+C[1][0])/2,(C[0][1]+C[1][1])/2];if(g.translate([I[0]+(B[0]-I[0]),I[1]+(B[1]-I[1])]).clipExtent(C),o._isAlbersUsa){var N=g([v.lon,v.lat]),j=g.translate();g.translate([j[0]-(N[0]-j[0]),j[1]-(N[1]-j[1])])}},T.updateBaseLayers=function(t,e){var r=this,i=r.topojson,a=r.layers,o=r.basePaths;function c(t){return"lonaxis"===t||"lataxis"===t}function u(t){return Boolean(y.lineLayers[t])}function h(t){return Boolean(y.fillLayers[t])}var p=(this.hasChoropleth?y.layersForChoropleth:y.layers).filter((function(t){return u(t)||h(t)?e["show"+t]:!c(t)||e[t].showgrid})),d=r.framework.selectAll(".layer").data(p,String);d.exit().each((function(t){delete a[t],delete o[t],n.select(this).remove()})),d.enter().append("g").attr("class",(function(t){return"layer "+t})).each((function(t){var e=a[t]=n.select(this);"bg"===t?r.bgRect=e.append("rect").style("pointer-events","all"):c(t)?o[t]=e.append("path").style("fill","none"):"backplot"===t?e.append("g").classed("choroplethlayer",!0):"frontplot"===t?e.append("g").classed("scatterlayer",!0):u(t)?o[t]=e.append("path").style("fill","none").style("stroke-miterlimit",2):h(t)&&(o[t]=e.append("path").style("stroke","none"))})),d.order(),d.each((function(r){var n=o[r],a=y.layerNameToAdjective[r];"frame"===r?n.datum(y.sphereSVG):u(r)||h(r)?n.datum(_(i,i.objects[r])):c(r)&&n.datum(function(t,e,r){var n,i,a,o=e[t],s=y.scopeDefaults[e.scope];"lonaxis"===t?(n=s.lonaxisRange,i=s.lataxisRange,a=function(t,e){return[t,e]}):"lataxis"===t&&(n=s.lataxisRange,i=s.lonaxisRange,a=function(t,e){return[e,t]});var l={type:"linear",range:[n[0],n[1]-1e-6],tick0:o.tick0,dtick:o.dtick};f.setConvert(l,r);var c=f.calcTicks(l);e.isScoped||"lonaxis"!==t||c.pop();for(var u=c.length,h=new Array(u),p=0;p<u;p++)for(var d=c[p].x,g=h[p]=[],m=i[0];m<i[1]+2.5;m+=2.5)g.push(a(d,m));return{type:"MultiLineString",coordinates:h}}(r,e,t)).call(s.stroke,e[r].gridcolor).call(l.dashLine,"",e[r].gridwidth),u(r)?n.call(s.stroke,e[a+"color"]).call(l.dashLine,"",e[a+"width"]):h(r)&&n.call(s.fill,e[a+"color"])}))},T.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},T.updateFx=function(t,e){var r=this,a=r.graphDiv,o=r.bgRect,s=t.dragmode,l=t.clickmode;if(!r.isStatic){var u;"select"===s?u=function(t,e){(t.range={})[r.id]=[h([e.xmin,e.ymin]),h([e.xmax,e.ymax])]}:"lasso"===s&&(u=function(t,e,n){(t.lassoPoints={})[r.id]=n.filtered.map(h)});var f={element:r.bgRect.node(),gd:a,plotinfo:{id:r.id,xaxis:r.xaxis,yaxis:r.yaxis,fillRangeItems:u},xaxes:[r.xaxis],yaxes:[r.yaxis],subplot:r.id,clickFn:function(t){2===t&&g(a)}};"pan"===s?(o.node().onmousedown=null,o.call(v(r,e)),o.on("dblclick.zoom",(function(){var t=r.viewInitial,e={};for(var n in t)e[r.id+"."+n]=t[n];i.call("_guiRelayout",a,e),a.emit("plotly_doubleclick",null)})),a._context._scrollZoom.geo||o.on("wheel.zoom",null)):"select"!==s&&"lasso"!==s||(o.on(".zoom",null),f.prepFn=function(t,e,r){d(t,e,r,f,s)},p.init(f)),o.on("mousemove",(function(){var t=r.projection.invert(n.mouse(this));if(!t||isNaN(t[0])||isNaN(t[1]))return p.unhover(a,n.event);r.xaxis.p2c=function(){return t[0]},r.yaxis.p2c=function(){return t[1]},c.hover(a,n.event,r.id)})),o.on("mouseout",(function(){a._dragging||p.unhover(a,n.event)})),o.on("click",(function(){"select"!==s&&"lasso"!==s&&(l.indexOf("select")>-1&&m(n.event,a,[r.xaxis],[r.yaxis],r.id,f),l.indexOf("event")>-1&&c.click(a,n.event))}))}function h(t){return r.projection.invert([t[0]+r.xaxis._offset,t[1]+r.yaxis._offset])}},T.makeFramework=function(){var t=this,e=t.graphDiv,r=e._fullLayout,i="clip"+r._uid+t.id;t.clipDef=r._clips.append("clipPath").attr("id",i),t.clipRect=t.clipDef.append("rect"),t.framework=n.select(t.container).append("g").attr("class","geo "+t.id).call(l.setClipUrl,i,e),t.project=function(e){var r=t.projection(e);return r?[r[0]-t.xaxis._offset,r[1]-t.yaxis._offset]:[null,null]},t.xaxis={_id:"x",c2p:function(e){return t.project(e)[0]}},t.yaxis={_id:"y",c2p:function(e){return t.project(e)[1]}},t.mockAxis={type:"linear",showexponent:"all",exponentformat:"B"},f.setConvert(t.mockAxis,r)},T.saveViewInitial=function(t){var e,r=t.center||{},n=t.projection,i=n.rotation||{};this.viewInitial={fitbounds:t.fitbounds,"projection.scale":n.scale},e=t._isScoped?{"center.lon":r.lon,"center.lat":r.lat}:t._isClipped?{"projection.rotation.lon":i.lon,"projection.rotation.lat":i.lat}:{"center.lon":r.lon,"center.lat":r.lat,"projection.rotation.lon":i.lon},a.extendFlat(this.viewInitial,e)},T.render=function(){var t,e=this.projection,r=e.getPath();function n(t){var r=e(t.lonlat);return r?o(r[0],r[1]):null}function i(t){return e.isLonLatOverEdges(t.lonlat)?"none":null}for(t in this.basePaths)this.basePaths[t].attr("d",r);for(t in this.dataPaths)this.dataPaths[t].attr("d",(function(t){return r(t.geojson)}));for(t in this.dataPoints)this.dataPoints[t].attr("display",i).attr("transform",n)}},{"../../components/color":643,"../../components/dragelement":662,"../../components/drawing":665,"../../components/fx":683,"../../lib":778,"../../lib/geo_location_utils":771,"../../lib/topojson_utils":806,"../../registry":911,"../cartesian/autorange":827,"../cartesian/axes":828,"../cartesian/select":847,"../plots":891,"./constants":858,"./projections":863,"./zoom":864,d3:169,"topojson-client":579}],860:[function(t,e,r){"use strict";var n=t("../../plots/get_data").getSubplotCalcData,i=t("../../lib").counterRegex,a=t("./geo"),o="geo",s=i(o),l={};l.geo={valType:"subplotid",dflt:o,editType:"calc"},e.exports={attr:o,name:o,idRoot:o,idRegex:s,attrRegex:s,attributes:l,layoutAttributes:t("./layout_attributes"),supplyLayoutDefaults:t("./layout_defaults"),plot:function(t){for(var e=t._fullLayout,r=t.calcdata,i=e._subplots.geo,s=0;s<i.length;s++){var l=i[s],c=n(r,o,l),u=e[l]._subplot;u||(u=a({id:l,graphDiv:t,container:e._geolayer.node(),topojsonURL:t._context.topojsonURL,staticPlot:t._context.staticPlot}),e[l]._subplot=u),u.plot(c,e,t._promises)}},updateFx:function(t){for(var e=t._fullLayout,r=e._subplots.geo,n=0;n<r.length;n++){var i=e[r[n]];i._subplot.updateFx(e,i)}},clean:function(t,e,r,n){for(var i=n._subplots.geo||[],a=0;a<i.length;a++){var o=i[a],s=n[o]._subplot;!e[o]&&s&&(s.framework.remove(),s.clipDef.remove())}}}},{"../../lib":778,"../../plots/get_data":865,"./geo":859,"./layout_attributes":861,"./layout_defaults":862}],861:[function(t,e,r){"use strict";var n=t("../../components/color/attributes"),i=t("../domain").attributes,a=t("./constants"),o=t("../../plot_api/edit_types").overrideAll,s={range:{valType:"info_array",items:[{valType:"number"},{valType:"number"}]},showgrid:{valType:"boolean",dflt:!1},tick0:{valType:"number",dflt:0},dtick:{valType:"number"},gridcolor:{valType:"color",dflt:n.lightLine},gridwidth:{valType:"number",min:0,dflt:1}};(e.exports=o({domain:i({name:"geo"},{}),fitbounds:{valType:"enumerated",values:[!1,"locations","geojson"],dflt:!1,editType:"plot"},resolution:{valType:"enumerated",values:[110,50],dflt:110,coerceNumber:!0},scope:{valType:"enumerated",values:Object.keys(a.scopeDefaults),dflt:"world"},projection:{type:{valType:"enumerated",values:Object.keys(a.projNames)},rotation:{lon:{valType:"number"},lat:{valType:"number"},roll:{valType:"number"}},parallels:{valType:"info_array",items:[{valType:"number"},{valType:"number"}]},scale:{valType:"number",min:0,dflt:1}},center:{lon:{valType:"number"},lat:{valType:"number"}},visible:{valType:"boolean",dflt:!0},showcoastlines:{valType:"boolean"},coastlinecolor:{valType:"color",dflt:n.defaultLine},coastlinewidth:{valType:"number",min:0,dflt:1},showland:{valType:"boolean",dflt:!1},landcolor:{valType:"color",dflt:a.landColor},showocean:{valType:"boolean",dflt:!1},oceancolor:{valType:"color",dflt:a.waterColor},showlakes:{valType:"boolean",dflt:!1},lakecolor:{valType:"color",dflt:a.waterColor},showrivers:{valType:"boolean",dflt:!1},rivercolor:{valType:"color",dflt:a.waterColor},riverwidth:{valType:"number",min:0,dflt:1},showcountries:{valType:"boolean"},countrycolor:{valType:"color",dflt:n.defaultLine},countrywidth:{valType:"number",min:0,dflt:1},showsubunits:{valType:"boolean"},subunitcolor:{valType:"color",dflt:n.defaultLine},subunitwidth:{valType:"number",min:0,dflt:1},showframe:{valType:"boolean"},framecolor:{valType:"color",dflt:n.defaultLine},framewidth:{valType:"number",min:0,dflt:1},bgcolor:{valType:"color",dflt:n.background},lonaxis:s,lataxis:s},"plot","from-root")).uirevision={valType:"any",editType:"none"}},{"../../components/color/attributes":642,"../../plot_api/edit_types":810,"../domain":855,"./constants":858}],862:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../subplot_defaults"),a=t("../get_data").getSubplotData,o=t("./constants"),s=t("./layout_attributes"),l=o.axesNames;function c(t,e,r,i){var s=a(i.fullData,"geo",i.id).map((function(t){return t._expandedIndex})),c=r("resolution"),u=r("scope"),f=o.scopeDefaults[u],h=r("projection.type",f.projType),p=e._isAlbersUsa="albers usa"===h;p&&(u=e.scope="usa");var d=e._isScoped="world"!==u,g=e._isConic=-1!==h.indexOf("conic"),m=e._isClipped=!!o.lonaxisSpan[h];if(!1===t.visible){var v=n.extendDeep({},e._template);v.showcoastlines=!1,v.showcountries=!1,v.showframe=!1,v.showlakes=!1,v.showland=!1,v.showocean=!1,v.showrivers=!1,v.showsubunits=!1,v.lonaxis&&(v.lonaxis.showgrid=!1),v.lataxis&&(v.lataxis.showgrid=!1),e._template=v}for(var y=r("visible"),x=0;x<l.length;x++){var b,_=l[x],w=[30,10][x];if(d)b=f[_+"Range"];else{var T=o[_+"Span"],k=(T[h]||T["*"])/2,M=r("projection.rotation."+_.substr(0,3),f.projRotate[x]);b=[M-k,M+k]}var A=r(_+".range",b);r(_+".tick0"),r(_+".dtick",w),r(_+".showgrid",!!y&&void 0)&&(r(_+".gridcolor"),r(_+".gridwidth")),e[_]._ax={type:"linear",_id:_.slice(0,3),_traceIndices:s,setScale:n.identity,c2l:n.identity,r2l:n.identity,autorange:!0,range:A.slice(),_m:1,_input:{}}}var S=e.lonaxis.range,E=e.lataxis.range,C=S[0],L=S[1];C>0&&L<0&&(L+=360);var I,P,z,O=(C+L)/2;if(!p){var D=d?f.projRotate:[O,0,0];I=r("projection.rotation.lon",D[0]),r("projection.rotation.lat",D[1]),r("projection.rotation.roll",D[2]),r("showcoastlines",!d&&y)&&(r("coastlinecolor"),r("coastlinewidth")),r("showocean",!!y&&void 0)&&r("oceancolor")}(p?(P=-96.6,z=38.7):(P=d?O:I,z=(E[0]+E[1])/2),r("center.lon",P),r("center.lat",z),g)&&r("projection.parallels",f.projParallels||[0,60]);r("projection.scale"),r("showland",!!y&&void 0)&&r("landcolor"),r("showlakes",!!y&&void 0)&&r("lakecolor"),r("showrivers",!!y&&void 0)&&(r("rivercolor"),r("riverwidth")),r("showcountries",d&&"usa"!==u&&y)&&(r("countrycolor"),r("countrywidth")),("usa"===u||"north america"===u&&50===c)&&(r("showsubunits",y),r("subunitcolor"),r("subunitwidth")),d||r("showframe",y)&&(r("framecolor"),r("framewidth")),r("bgcolor"),r("fitbounds")&&(delete e.projection.scale,d?(delete e.center.lon,delete e.center.lat):m?(delete e.center.lon,delete e.center.lat,delete e.projection.rotation.lon,delete e.projection.rotation.lat,delete e.lonaxis.range,delete e.lataxis.range):(delete e.center.lon,delete e.center.lat,delete e.projection.rotation.lon))}e.exports=function(t,e,r){i(t,e,r,{type:"geo",attributes:s,handleDefaults:c,fullData:r,partition:"y"})}},{"../../lib":778,"../get_data":865,"../subplot_defaults":905,"./constants":858,"./layout_attributes":861}],863:[function(t,e,r){"use strict";e.exports=function(t){function e(t,e){return{type:"Feature",id:t.id,properties:t.properties,geometry:r(t.geometry,e)}}function r(e,n){if(!e)return null;if("GeometryCollection"===e.type)return{type:"GeometryCollection",geometries:object.geometries.map((function(t){return r(t,n)}))};if(!c.hasOwnProperty(e.type))return null;var i=c[e.type];return t.geo.stream(e,n(i)),i.result()}t.geo.project=function(t,e){var i=e.stream;if(!i)throw new Error("not yet supported");return(t&&n.hasOwnProperty(t.type)?n[t.type]:r)(t,i)};var n={Feature:e,FeatureCollection:function(t,r){return{type:"FeatureCollection",features:t.features.map((function(t){return e(t,r)}))}}},i=[],a=[],o={point:function(t,e){i.push([t,e])},result:function(){var t=i.length?i.length<2?{type:"Point",coordinates:i[0]}:{type:"MultiPoint",coordinates:i}:null;return i=[],t}},s={lineStart:u,point:function(t,e){i.push([t,e])},lineEnd:function(){i.length&&(a.push(i),i=[])},result:function(){var t=a.length?a.length<2?{type:"LineString",coordinates:a[0]}:{type:"MultiLineString",coordinates:a}:null;return a=[],t}},l={polygonStart:u,lineStart:u,point:function(t,e){i.push([t,e])},lineEnd:function(){var t=i.length;if(t){do{i.push(i[0].slice())}while(++t<4);a.push(i),i=[]}},polygonEnd:u,result:function(){if(!a.length)return null;var t=[],e=[];return a.forEach((function(r){!function(t){if((e=t.length)<4)return!1;var e,r=0,n=t[e-1][1]*t[0][0]-t[e-1][0]*t[0][1];for(;++r<e;)n+=t[r-1][1]*t[r][0]-t[r-1][0]*t[r][1];return n<=0}(r)?e.push(r):t.push([r])})),e.forEach((function(e){var r=e[0];t.some((function(t){if(function(t,e){for(var r=e[0],n=e[1],i=!1,a=0,o=t.length,s=o-1;a<o;s=a++){var l=t[a],c=l[0],u=l[1],f=t[s],h=f[0],p=f[1];u>n^p>n&&r<(h-c)*(n-u)/(p-u)+c&&(i=!i)}return i}(t[0],r))return t.push(e),!0}))||t.push([e])})),a=[],t.length?t.length>1?{type:"MultiPolygon",coordinates:t}:{type:"Polygon",coordinates:t[0]}:null}},c={Point:o,MultiPoint:o,LineString:s,MultiLineString:s,Polygon:l,MultiPolygon:l,Sphere:l};function u(){}var f=1e-6,h=Math.PI,p=h/2,d=(Math.sqrt(h),h/180),g=180/h;function m(t){return t>1?p:t<-1?-p:Math.asin(t)}function v(t){return t>1?0:t<-1?h:Math.acos(t)}var y=t.geo.projection,x=t.geo.projectionMutator;function b(t,e){var r=(2+p)*Math.sin(e);e/=2;for(var n=0,i=1/0;n<10&&Math.abs(i)>f;n++){var a=Math.cos(e);e-=i=(e+Math.sin(e)*(a+2)-r)/(2*a*(1+a))}return[2/Math.sqrt(h*(4+h))*t*(1+Math.cos(e)),2*Math.sqrt(h/(4+h))*Math.sin(e)]}t.geo.interrupt=function(e){var r,n=[[[[-h,0],[0,p],[h,0]]],[[[-h,0],[0,-p],[h,0]]]];function i(t,r){for(var i=r<0?-1:1,a=n[+(r<0)],o=0,s=a.length-1;o<s&&t>a[o][2][0];++o);var l=e(t-a[o][1][0],r);return l[0]+=e(a[o][1][0],i*r>i*a[o][0][1]?a[o][0][1]:r)[0],l}function a(){r=n.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>o&&(r=a,a=o,o=r),[[n,a],[i,o]]}))}))}e.invert&&(i.invert=function(t,a){for(var o=r[+(a<0)],s=n[+(a<0)],l=0,u=o.length;l<u;++l){var f=o[l];if(f[0][0]<=t&&t<f[1][0]&&f[0][1]<=a&&a<f[1][1]){var h=e.invert(t-e(s[l][1][0],0)[0],a);return h[0]+=s[l][1][0],c(i(h[0],h[1]),[t,a])?h:null}}});var o=t.geo.projection(i),s=o.stream;function l(t,e){for(var r,n,i,a=-1,o=t.length,s=t[0],l=[];++a<o;){n=((r=t[a])[0]-s[0])/e,i=(r[1]-s[1])/e;for(var c=0;c<e;++c)l.push([s[0]+c*n,s[1]+c*i]);s=r}return l.push(r),l}function c(t,e){return Math.abs(t[0]-e[0])<f&&Math.abs(t[1]-e[1])<f}return o.stream=function(e){var r=o.rotate(),i=s(e),a=(o.rotate([0,0]),s(e));return o.rotate(r),i.sphere=function(){t.geo.stream(function(){for(var e=1e-6,r=[],i=0,a=n[0].length;i<a;++i){var o=180*(p=n[0][i])[0][0]/h,s=180*p[0][1]/h,c=180*p[1][1]/h,u=180*p[2][0]/h,f=180*p[2][1]/h;r.push(l([[o+e,s+e],[o+e,c-e],[u-e,c-e],[u-e,f+e]],30))}for(i=n[1].length-1;i>=0;--i){var p;o=180*(p=n[1][i])[0][0]/h,s=180*p[0][1]/h,c=180*p[1][1]/h,u=180*p[2][0]/h,f=180*p[2][1]/h;r.push(l([[u-e,f-e],[u-e,c+e],[o+e,c+e],[o+e,s-e]],30))}return{type:"Polygon",coordinates:[t.merge(r)]}}(),a)},i},o.lobes=function(t){return arguments.length?(n=t.map((function(t){return t.map((function(t){return[[t[0][0]*h/180,t[0][1]*h/180],[t[1][0]*h/180,t[1][1]*h/180],[t[2][0]*h/180,t[2][1]*h/180]]}))})),a(),o):n.map((function(t){return t.map((function(t){return[[180*t[0][0]/h,180*t[0][1]/h],[180*t[1][0]/h,180*t[1][1]/h],[180*t[2][0]/h,180*t[2][1]/h]]}))}))},o},b.invert=function(t,e){var r=.5*e*Math.sqrt((4+h)/h),n=m(r),i=Math.cos(n);return[t/(2/Math.sqrt(h*(4+h))*(1+i)),m((n+r*(i+2))/(2+p))]},(t.geo.eckert4=function(){return y(b)}).raw=b;var _=t.geo.azimuthalEqualArea.raw;function w(t,e){if(arguments.length<2&&(e=t),1===e)return _;if(e===1/0)return T;function r(r,n){var i=_(r/e,n);return i[0]*=t,i}return r.invert=function(r,n){var i=_.invert(r/t,n);return i[0]*=e,i},r}function T(t,e){return[t*Math.cos(e)/Math.cos(e/=2),2*Math.sin(e)]}function k(t,e){return[3*t/(2*h)*Math.sqrt(h*h/3-e*e),e]}function M(t,e){return[t,1.25*Math.log(Math.tan(h/4+.4*e))]}function A(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)>f&&--i>0);return e/2}}T.invert=function(t,e){var r=2*m(e/2);return[t*Math.cos(r/2)/Math.cos(r),r]},(t.geo.hammer=function(){var t=2,e=x(w),r=e(t);return r.coefficient=function(r){return arguments.length?e(t=+r):t},r}).raw=w,k.invert=function(t,e){return[2/3*h*t/Math.sqrt(h*h/3-e*e),e]},(t.geo.kavrayskiy7=function(){return y(k)}).raw=k,M.invert=function(t,e){return[t,2.5*Math.atan(Math.exp(.8*e))-.625*h]},(t.geo.miller=function(){return y(M)}).raw=M,A(h);var S=function(t,e,r){var n=A(r);function i(r,i){return[t*r*Math.cos(i=n(i)),e*Math.sin(i)]}return i.invert=function(n,i){var a=m(i/e);return[n/(t*Math.cos(a)),m((2*a+Math.sin(2*a))/r)]},i}(Math.SQRT2/p,Math.SQRT2,h);function E(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)))]}(t.geo.mollweide=function(){return y(S)}).raw=S,E.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)>f&&--i>0);return[t/(.8707+(a=n*n)*(a*(a*a*a*(.003971-.001529*a)-.013791)-.131979)),n]},(t.geo.naturalEarth=function(){return y(E)}).raw=E;var C=[[.9986,-.062],[1,0],[.9986,.062],[.9954,.124],[.99,.186],[.9822,.248],[.973,.31],[.96,.372],[.9427,.434],[.9216,.4958],[.8962,.5571],[.8679,.6176],[.835,.6769],[.7986,.7346],[.7597,.7903],[.7186,.8435],[.6732,.8936],[.6213,.9394],[.5722,.9761],[.5322,1]];function L(t,e){var r,n=Math.min(18,36*Math.abs(e)/h),i=Math.floor(n),a=n-i,o=(r=C[i])[0],s=r[1],l=(r=C[++i])[0],c=r[1],u=(r=C[Math.min(19,++i)])[0],f=r[1];return[t*(l+a*(u-o)/2+a*a*(u-2*l+o)/2),(e>0?p:-p)*(c+a*(f-s)/2+a*a*(f-2*c+s)/2)]}function I(t,e){return[t*Math.cos(e),e]}function P(t,e){var r,n=Math.cos(e),i=(r=v(n*Math.cos(t/=2)))?r/Math.sin(r):1;return[2*n*Math.sin(t)*i,Math.sin(e)*i]}function z(t,e){var r=P(t,e);return[(r[0]+t/p)/2,(r[1]+e)/2]}C.forEach((function(t){t[1]*=1.0144})),L.invert=function(t,e){var r=e/p,n=90*r,i=Math.min(18,Math.abs(n/5)),a=Math.max(0,Math.floor(i));do{var o=C[a][1],s=C[a+1][1],l=C[Math.min(19,a+2)][1],c=l-o,u=l-2*s+o,f=2*(Math.abs(r)-s)/c,h=u/c,m=f*(1-h*f*(1-2*h*f));if(m>=0||1===a){n=(e>=0?5:-5)*(m+i);var v,y=50;do{m=(i=Math.min(18,Math.abs(n)/5))-(a=Math.floor(i)),o=C[a][1],s=C[a+1][1],l=C[Math.min(19,a+2)][1],n-=(v=(e>=0?p:-p)*(s+m*(l-o)/2+m*m*(l-2*s+o)/2)-e)*g}while(Math.abs(v)>1e-12&&--y>0);break}}while(--a>=0);var x=C[a][0],b=C[a+1][0],_=C[Math.min(19,a+2)][0];return[t/(b+m*(_-x)/2+m*m*(_-2*b+x)/2),n*d]},(t.geo.robinson=function(){return y(L)}).raw=L,I.invert=function(t,e){return[t/Math.cos(e),e]},(t.geo.sinusoidal=function(){return y(I)}).raw=I,P.invert=function(t,e){if(!(t*t+4*e*e>h*h+f)){var r=t,n=e,i=25;do{var a,o=Math.sin(r),s=Math.sin(r/2),l=Math.cos(r/2),c=Math.sin(n),u=Math.cos(n),p=Math.sin(2*n),d=c*c,g=u*u,m=s*s,y=1-g*l*l,x=y?v(u*l)*Math.sqrt(a=1/y):a=0,b=2*x*u*s-t,_=x*c-e,w=a*(g*m+x*u*l*d),T=a*(.5*o*p-2*x*c*s),k=.25*a*(p*s-x*c*g*o),M=a*(d*l+x*m*u),A=T*k-M*w;if(!A)break;var S=(_*T-b*M)/A,E=(b*k-_*w)/A;r-=S,n-=E}while((Math.abs(S)>f||Math.abs(E)>f)&&--i>0);return[r,n]}},(t.geo.aitoff=function(){return y(P)}).raw=P,z.invert=function(t,e){var r=t,n=e,i=25;do{var a,o=Math.cos(n),s=Math.sin(n),l=Math.sin(2*n),c=s*s,u=o*o,h=Math.sin(r),d=Math.cos(r/2),g=Math.sin(r/2),m=g*g,y=1-u*d*d,x=y?v(o*d)*Math.sqrt(a=1/y):a=0,b=.5*(2*x*o*g+r/p)-t,_=.5*(x*s+n)-e,w=.5*a*(u*m+x*o*d*c)+.5/p,T=a*(h*l/4-x*s*g),k=.125*a*(l*g-x*s*u*h),M=.5*a*(c*d+x*m*o)+.5,A=T*k-M*w,S=(_*T-b*M)/A,E=(b*k-_*w)/A;r-=S,n-=E}while((Math.abs(S)>f||Math.abs(E)>f)&&--i>0);return[r,n]},(t.geo.winkel3=function(){return y(z)}).raw=z}},{}],864:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../lib"),a=t("../../registry"),o=Math.PI/180,s=180/Math.PI,l={cursor:"pointer"},c={cursor:"auto"};function u(t,e){return n.behavior.zoom().translate(e.translate()).scale(e.scale())}function f(t,e,r){var n=t.id,o=t.graphDiv,s=o.layout,l=s[n],c=o._fullLayout,u=c[n],f={},h={};function p(t,e){f[n+"."+t]=i.nestedProperty(l,t).get(),a.call("_storeDirectGUIEdit",s,c._preGUI,f);var r=i.nestedProperty(u,t);r.get()!==e&&(r.set(e),i.nestedProperty(l,t).set(e),h[n+"."+t]=e)}r(p),p("projection.scale",e.scale()/t.fitScale),p("fitbounds",!1),o.emit("plotly_relayout",h)}function h(t,e){var r=u(0,e);function i(r){var n=e.invert(t.midPt);r("center.lon",n[0]),r("center.lat",n[1])}return r.on("zoomstart",(function(){n.select(this).style(l)})).on("zoom",(function(){e.scale(n.event.scale).translate(n.event.translate),t.render();var r=e.invert(t.midPt);t.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":e.scale()/t.fitScale,"geo.center.lon":r[0],"geo.center.lat":r[1]})})).on("zoomend",(function(){n.select(this).style(c),f(t,e,i)})),r}function p(t,e){var r,i,a,o,s,h,p,d,g,m=u(0,e);function v(t){return e.invert(t)}function y(r){var n=e.rotate(),i=e.invert(t.midPt);r("projection.rotation.lon",-n[0]),r("center.lon",i[0]),r("center.lat",i[1])}return m.on("zoomstart",(function(){n.select(this).style(l),r=n.mouse(this),i=e.rotate(),a=e.translate(),o=i,s=v(r)})).on("zoom",(function(){if(h=n.mouse(this),function(t){var r=v(t);if(!r)return!0;var n=e(r);return Math.abs(n[0]-t[0])>2||Math.abs(n[1]-t[1])>2}(r))return m.scale(e.scale()),void m.translate(e.translate());e.scale(n.event.scale),e.translate([a[0],n.event.translate[1]]),s?v(h)&&(d=v(h),p=[o[0]+(d[0]-s[0]),i[1],i[2]],e.rotate(p),o=p):s=v(r=h),g=!0,t.render();var l=e.rotate(),c=e.invert(t.midPt);t.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":e.scale()/t.fitScale,"geo.center.lon":c[0],"geo.center.lat":c[1],"geo.projection.rotation.lon":-l[0]})})).on("zoomend",(function(){n.select(this).style(c),g&&f(t,e,y)})),m}function d(t,e){var r,i={r:e.rotate(),k:e.scale()},a=u(0,e),o=function(t){var e=0,r=arguments.length,i=[];for(;++e<r;)i.push(arguments[e]);var a=n.dispatch.apply(null,i);return a.of=function(e,r){return function(i){var o;try{o=i.sourceEvent=n.event,i.target=t,n.event=i,a[i.type].apply(e,r)}finally{n.event=o}}},a}(a,"zoomstart","zoom","zoomend"),s=0,h=a.on;function p(t){s++||t({type:"zoomstart"})}function d(t){t({type:"zoom"})}function b(t){--s||t({type:"zoomend"})}function _(t){var r=e.rotate();t("projection.rotation.lon",-r[0]),t("projection.rotation.lat",-r[1])}return a.on("zoomstart",(function(){n.select(this).style(l);var t=n.mouse(this),s=e.rotate(),c=s,u=e.translate(),f=m(s);r=g(e,t),h.call(a,"zoom",(function(){var a=n.mouse(this);if(e.scale(i.k=n.event.scale),r){if(g(e,a)){e.rotate(s).translate(u);var l=g(e,a),h=y(r,l),p=T(v(f,h)),m=i.r=x(p,r,c);isFinite(m[0])&&isFinite(m[1])&&isFinite(m[2])||(m=c),e.rotate(m),c=m}}else r=g(e,t=a);d(o.of(this,arguments))})),p(o.of(this,arguments))})).on("zoomend",(function(){n.select(this).style(c),h.call(a,"zoom",null),b(o.of(this,arguments)),f(t,e,_)})).on("zoom.redraw",(function(){t.render();var r=e.rotate();t.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":e.scale()/t.fitScale,"geo.projection.rotation.lon":-r[0],"geo.projection.rotation.lat":-r[1]})})),n.rebind(a,o,"on")}function g(t,e){var r=t.invert(e);return r&&isFinite(r[0])&&isFinite(r[1])&&function(t){var e=t[0]*o,r=t[1]*o,n=Math.cos(r);return[n*Math.cos(e),n*Math.sin(e),Math.sin(r)]}(r)}function m(t){var e=.5*t[0]*o,r=.5*t[1]*o,n=.5*t[2]*o,i=Math.sin(e),a=Math.cos(e),s=Math.sin(r),l=Math.cos(r),c=Math.sin(n),u=Math.cos(n);return[a*l*u+i*s*c,i*l*u-a*s*c,a*s*u+i*l*c,a*l*c-i*s*u]}function v(t,e){var r=t[0],n=t[1],i=t[2],a=t[3],o=e[0],s=e[1],l=e[2],c=e[3];return[r*o-n*s-i*l-a*c,r*s+n*o+i*c-a*l,r*l-n*c+i*o+a*s,r*c+n*l-i*s+a*o]}function y(t,e){if(t&&e){var r=function(t,e){return[t[1]*e[2]-t[2]*e[1],t[2]*e[0]-t[0]*e[2],t[0]*e[1]-t[1]*e[0]]}(t,e),n=Math.sqrt(k(r,r)),i=.5*Math.acos(Math.max(-1,Math.min(1,k(t,e)))),a=Math.sin(i)/n;return n&&[Math.cos(i),r[2]*a,-r[1]*a,r[0]*a]}}function x(t,e,r){var n=w(e,2,t[0]);n=w(n,1,t[1]),n=w(n,0,t[2]-r[2]);var i,a,o=e[0],l=e[1],c=e[2],u=n[0],f=n[1],h=n[2],p=Math.atan2(l,o)*s,d=Math.sqrt(o*o+l*l);Math.abs(f)>d?(a=(f>0?90:-90)-p,i=0):(a=Math.asin(f/d)*s-p,i=Math.sqrt(d*d-f*f));var g=180-a-2*p,m=(Math.atan2(h,u)-Math.atan2(c,i))*s,v=(Math.atan2(h,u)-Math.atan2(c,-i))*s;return b(r[0],r[1],a,m)<=b(r[0],r[1],g,v)?[a,m,r[2]]:[g,v,r[2]]}function b(t,e,r,n){var i=_(r-t),a=_(n-e);return Math.sqrt(i*i+a*a)}function _(t){return(t%360+540)%360-180}function w(t,e,r){var n=r*o,i=t.slice(),a=0===e?1:0,s=2===e?1:2,l=Math.cos(n),c=Math.sin(n);return i[a]=t[a]*l-t[s]*c,i[s]=t[s]*l+t[a]*c,i}function T(t){return[Math.atan2(2*(t[0]*t[1]+t[2]*t[3]),1-2*(t[1]*t[1]+t[2]*t[2]))*s,Math.asin(Math.max(-1,Math.min(1,2*(t[0]*t[2]-t[3]*t[1]))))*s,Math.atan2(2*(t[0]*t[3]+t[1]*t[2]),1-2*(t[2]*t[2]+t[3]*t[3]))*s]}function k(t,e){for(var r=0,n=0,i=t.length;n<i;++n)r+=t[n]*e[n];return r}e.exports=function(t,e){var r=t.projection;return(e._isScoped?h:e._isClipped?d:p)(t,r)}},{"../../lib":778,"../../registry":911,d3:169}],865:[function(t,e,r){"use strict";var n=t("../registry"),i=t("./cartesian/constants").SUBPLOT_PATTERN;r.getSubplotCalcData=function(t,e,r){var i=n.subplotsRegistry[e];if(!i)return[];for(var a=i.attr,o=[],s=0;s<t.length;s++){var l=t[s];l[0].trace[a]===r&&o.push(l)}return o},r.getModuleCalcData=function(t,e){var r,i=[],a=[];if(!(r="string"==typeof e?n.getModule(e).plot:"function"==typeof e?e:e.plot))return[i,t];for(var o=0;o<t.length;o++){var s=t[o],l=s[0].trace;!0===l.visible&&0!==l._length&&(l._module.plot===r?i.push(s):a.push(s))}return[i,a]},r.getSubplotData=function(t,e,r){if(!n.subplotsRegistry[e])return[];var a,o,s,l=n.subplotsRegistry[e].attr,c=[];if("gl2d"===e){var u=r.match(i);o="x"+u[1],s="y"+u[2]}for(var f=0;f<t.length;f++)a=t[f],"gl2d"===e&&n.traceIs(a,"gl2d")?a[l[0]]===o&&a[l[1]]===s&&c.push(a):a[l]===r&&c.push(a);return c}},{"../registry":911,"./cartesian/constants":834}],866:[function(t,e,r){"use strict";var n=t("mouse-change"),i=t("mouse-wheel"),a=t("mouse-event-offset"),o=t("../cartesian/constants"),s=t("has-passive-events");function l(t,e){this.element=t,this.plot=e,this.mouseListener=null,this.wheelListener=null,this.lastInputTime=Date.now(),this.lastPos=[0,0],this.boxEnabled=!1,this.boxInited=!1,this.boxStart=[0,0],this.boxEnd=[0,0],this.dragStart=[0,0]}e.exports=function(t){var e=t.mouseContainer,r=t.glplot,c=new l(e,r);function u(){t.xaxis.autorange=!1,t.yaxis.autorange=!1}function f(e,n,i){var a,s,l=t.calcDataBox(),f=r.viewBox,h=c.lastPos[0],p=c.lastPos[1],d=o.MINDRAG*r.pixelRatio,g=o.MINZOOM*r.pixelRatio;function m(e,r,n){var i=Math.min(r,n),a=Math.max(r,n);i!==a?(l[e]=i,l[e+2]=a,c.dataBox=l,t.setRanges(l)):(t.selectBox.selectBox=[0,0,1,1],t.glplot.setDirty())}switch(n*=r.pixelRatio,i*=r.pixelRatio,i=f[3]-f[1]-i,t.fullLayout.dragmode){case"zoom":if(e){var v=n/(f[2]-f[0])*(l[2]-l[0])+l[0],y=i/(f[3]-f[1])*(l[3]-l[1])+l[1];c.boxInited||(c.boxStart[0]=v,c.boxStart[1]=y,c.dragStart[0]=n,c.dragStart[1]=i),c.boxEnd[0]=v,c.boxEnd[1]=y,c.boxInited=!0,c.boxEnabled||c.boxStart[0]===c.boxEnd[0]&&c.boxStart[1]===c.boxEnd[1]||(c.boxEnabled=!0);var x=Math.abs(c.dragStart[0]-n)<g,b=Math.abs(c.dragStart[1]-i)<g;if(!function(){for(var e=t.graphDiv._fullLayout._axisConstraintGroups,r=t.xaxis._id,n=t.yaxis._id,i=0;i<e.length;i++)if(-1!==e[i][r]){if(-1!==e[i][n])return!0;break}return!1}()||x&&b)x&&(c.boxEnd[0]=c.boxStart[0]),b&&(c.boxEnd[1]=c.boxStart[1]);else{a=c.boxEnd[0]-c.boxStart[0],s=c.boxEnd[1]-c.boxStart[1];var _=(l[3]-l[1])/(l[2]-l[0]);Math.abs(a*_)>Math.abs(s)?(c.boxEnd[1]=c.boxStart[1]+Math.abs(a)*_*(s>=0?1:-1),c.boxEnd[1]<l[1]?(c.boxEnd[1]=l[1],c.boxEnd[0]=c.boxStart[0]+(l[1]-c.boxStart[1])/Math.abs(_)):c.boxEnd[1]>l[3]&&(c.boxEnd[1]=l[3],c.boxEnd[0]=c.boxStart[0]+(l[3]-c.boxStart[1])/Math.abs(_))):(c.boxEnd[0]=c.boxStart[0]+Math.abs(s)/_*(a>=0?1:-1),c.boxEnd[0]<l[0]?(c.boxEnd[0]=l[0],c.boxEnd[1]=c.boxStart[1]+(l[0]-c.boxStart[0])*Math.abs(_)):c.boxEnd[0]>l[2]&&(c.boxEnd[0]=l[2],c.boxEnd[1]=c.boxStart[1]+(l[2]-c.boxStart[0])*Math.abs(_)))}}else c.boxEnabled?(a=c.boxStart[0]!==c.boxEnd[0],s=c.boxStart[1]!==c.boxEnd[1],a||s?(a&&(m(0,c.boxStart[0],c.boxEnd[0]),t.xaxis.autorange=!1),s&&(m(1,c.boxStart[1],c.boxEnd[1]),t.yaxis.autorange=!1),t.relayoutCallback()):t.glplot.setDirty(),c.boxEnabled=!1,c.boxInited=!1):c.boxInited&&(c.boxInited=!1);break;case"pan":c.boxEnabled=!1,c.boxInited=!1,e?(c.panning||(c.dragStart[0]=n,c.dragStart[1]=i),Math.abs(c.dragStart[0]-n)<d&&(n=c.dragStart[0]),Math.abs(c.dragStart[1]-i)<d&&(i=c.dragStart[1]),a=(h-n)*(l[2]-l[0])/(r.viewBox[2]-r.viewBox[0]),s=(p-i)*(l[3]-l[1])/(r.viewBox[3]-r.viewBox[1]),l[0]+=a,l[2]+=a,l[1]+=s,l[3]+=s,t.setRanges(l),c.panning=!0,c.lastInputTime=Date.now(),u(),t.cameraChanged(),t.handleAnnotations()):c.panning&&(c.panning=!1,t.relayoutCallback())}c.lastPos[0]=n,c.lastPos[1]=i}return c.mouseListener=n(e,f),e.addEventListener("touchstart",(function(t){var r=a(t.changedTouches[0],e);f(0,r[0],r[1]),f(1,r[0],r[1]),t.preventDefault()}),!!s&&{passive:!1}),e.addEventListener("touchmove",(function(t){t.preventDefault();var r=a(t.changedTouches[0],e);f(1,r[0],r[1]),t.preventDefault()}),!!s&&{passive:!1}),e.addEventListener("touchend",(function(t){f(0,c.lastPos[0],c.lastPos[1]),t.preventDefault()}),!!s&&{passive:!1}),c.wheelListener=i(e,(function(e,n){if(!t.scrollZoom)return!1;var i=t.calcDataBox(),a=r.viewBox,o=c.lastPos[0],s=c.lastPos[1],l=Math.exp(5*n/(a[3]-a[1])),f=o/(a[2]-a[0])*(i[2]-i[0])+i[0],h=s/(a[3]-a[1])*(i[3]-i[1])+i[1];return i[0]=(i[0]-f)*l+f,i[2]=(i[2]-f)*l+f,i[1]=(i[1]-h)*l+h,i[3]=(i[3]-h)*l+h,t.setRanges(i),c.lastInputTime=Date.now(),u(),t.cameraChanged(),t.handleAnnotations(),t.relayoutCallback(),!0}),!0),c}},{"../cartesian/constants":834,"has-passive-events":441,"mouse-change":483,"mouse-event-offset":484,"mouse-wheel":486}],867:[function(t,e,r){"use strict";var n=t("../cartesian/axes"),i=t("../../lib/str2rgbarray");function a(t){this.scene=t,this.gl=t.gl,this.pixelRatio=t.pixelRatio,this.screenBox=[0,0,1,1],this.viewBox=[0,0,1,1],this.dataBox=[-1,-1,1,1],this.borderLineEnable=[!1,!1,!1,!1],this.borderLineWidth=[1,1,1,1],this.borderLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.ticks=[[],[]],this.tickEnable=[!0,!0,!1,!1],this.tickPad=[15,15,15,15],this.tickAngle=[0,0,0,0],this.tickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.tickMarkLength=[0,0,0,0],this.tickMarkWidth=[0,0,0,0],this.tickMarkColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.labels=["x","y"],this.labelEnable=[!0,!0,!1,!1],this.labelAngle=[0,Math.PI/2,0,3*Math.PI/2],this.labelPad=[15,15,15,15],this.labelSize=[12,12],this.labelFont=["sans-serif","sans-serif"],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.title="",this.titleEnable=!0,this.titleCenter=[0,0,0,0],this.titleAngle=0,this.titleColor=[0,0,0,1],this.titleFont="sans-serif",this.titleSize=18,this.gridLineEnable=[!0,!0],this.gridLineColor=[[0,0,0,.5],[0,0,0,.5]],this.gridLineWidth=[1,1],this.zeroLineEnable=[!0,!0],this.zeroLineWidth=[1,1],this.zeroLineColor=[[0,0,0,1],[0,0,0,1]],this.borderColor=[0,0,0,0],this.backgroundColor=[0,0,0,0],this.static=this.scene.staticPlot}var o=a.prototype,s=["xaxis","yaxis"];o.merge=function(t){var e,r,n,a,o,l,c,u,f,h,p;for(this.titleEnable=!1,this.backgroundColor=i(t.plot_bgcolor),h=0;h<2;++h){var d=(e=s[h]).charAt(0);for(n=(r=t[this.scene[e]._name]).title.text===this.scene.fullLayout._dfltTitle[d]?"":r.title.text,p=0;p<=2;p+=2)this.labelEnable[h+p]=!1,this.labels[h+p]=n,this.labelColor[h+p]=i(r.title.font.color),this.labelFont[h+p]=r.title.font.family,this.labelSize[h+p]=r.title.font.size,this.labelPad[h+p]=this.getLabelPad(e,r),this.tickEnable[h+p]=!1,this.tickColor[h+p]=i((r.tickfont||{}).color),this.tickAngle[h+p]="auto"===r.tickangle?0:Math.PI*-r.tickangle/180,this.tickPad[h+p]=this.getTickPad(r),this.tickMarkLength[h+p]=0,this.tickMarkWidth[h+p]=r.tickwidth||0,this.tickMarkColor[h+p]=i(r.tickcolor),this.borderLineEnable[h+p]=!1,this.borderLineColor[h+p]=i(r.linecolor),this.borderLineWidth[h+p]=r.linewidth||0;c=this.hasSharedAxis(r),o=this.hasAxisInDfltPos(e,r)&&!c,l=this.hasAxisInAltrPos(e,r)&&!c,a=r.mirror||!1,u=c?-1!==String(a).indexOf("all"):!!a,f=c?"allticks"===a:-1!==String(a).indexOf("ticks"),o?this.labelEnable[h]=!0:l&&(this.labelEnable[h+2]=!0),o?this.tickEnable[h]=r.showticklabels:l&&(this.tickEnable[h+2]=r.showticklabels),(o||u)&&(this.borderLineEnable[h]=r.showline),(l||u)&&(this.borderLineEnable[h+2]=r.showline),(o||f)&&(this.tickMarkLength[h]=this.getTickMarkLength(r)),(l||f)&&(this.tickMarkLength[h+2]=this.getTickMarkLength(r)),this.gridLineEnable[h]=r.showgrid,this.gridLineColor[h]=i(r.gridcolor),this.gridLineWidth[h]=r.gridwidth,this.zeroLineEnable[h]=r.zeroline,this.zeroLineColor[h]=i(r.zerolinecolor),this.zeroLineWidth[h]=r.zerolinewidth}},o.hasSharedAxis=function(t){var e=this.scene,r=e.fullLayout._subplots.gl2d;return 0!==n.findSubplotsWithAxis(r,t).indexOf(e.id)},o.hasAxisInDfltPos=function(t,e){var r=e.side;return"xaxis"===t?"bottom"===r:"yaxis"===t?"left"===r:void 0},o.hasAxisInAltrPos=function(t,e){var r=e.side;return"xaxis"===t?"top"===r:"yaxis"===t?"right"===r:void 0},o.getLabelPad=function(t,e){var r=e.title.font.size,n=e.showticklabels;return"xaxis"===t?"top"===e.side?r*(1.5+(n?1:0))-10:r*(1.5+(n?.5:0))-10:"yaxis"===t?"right"===e.side?10+r*(1.5+(n?1:.5)):10+r*(1.5+(n?.5:0)):void 0},o.getTickPad=function(t){return"outside"===t.ticks?10+t.ticklen:15},o.getTickMarkLength=function(t){if(!t.ticks)return 0;var e=t.ticklen;return"inside"===t.ticks?-e:e},e.exports=function(t){return new a(t)}},{"../../lib/str2rgbarray":802,"../cartesian/axes":828}],868:[function(t,e,r){"use strict";var n=t("../../plot_api/edit_types").overrideAll,i=t("./scene2d"),a=t("../layout_attributes"),o=t("../../constants/xmlns_namespaces"),s=t("../cartesian/constants"),l=t("../cartesian"),c=t("../../components/fx/layout_attributes"),u=t("../get_data").getSubplotData;r.name="gl2d",r.attr=["xaxis","yaxis"],r.idRoot=["x","y"],r.idRegex=s.idRegex,r.attrRegex=s.attrRegex,r.attributes=t("../cartesian/attributes"),r.supplyLayoutDefaults=function(t,e,r){e._has("cartesian")||l.supplyLayoutDefaults(t,e,r)},r.layoutAttrOverrides=n(l.layoutAttributes,"plot","from-root"),r.baseLayoutAttrOverrides=n({plot_bgcolor:a.plot_bgcolor,hoverlabel:c.hoverlabel},"plot","nested"),r.plot=function(t){for(var e=t._fullLayout,r=t._fullData,n=e._subplots.gl2d,a=0;a<n.length;a++){var o=n[a],s=e._plots[o],l=u(r,"gl2d",o),c=s._scene2d;void 0===c&&(c=new i({id:o,graphDiv:t,container:t.querySelector(".gl-container"),staticPlot:t._context.staticPlot,plotGlPixelRatio:t._context.plotGlPixelRatio},e),s._scene2d=c),c.plot(l,t.calcdata,e,t.layout)}},r.clean=function(t,e,r,n){for(var i=n._subplots.gl2d||[],a=0;a<i.length;a++){var o=i[a],s=n._plots[o];if(s._scene2d){var c=u(t,"gl2d",o);0===c.length&&(s._scene2d.destroy(),delete n._plots[o])}}l.clean.apply(this,arguments)},r.drawFramework=function(t){t._context.staticPlot||l.drawFramework(t)},r.toSVG=function(t){for(var e=t._fullLayout,r=e._subplots.gl2d,n=0;n<r.length;n++){var i=e._plots[r[n]]._scene2d,a=i.toImage("png");e._glimages.append("svg:image").attr({xmlns:o.svg,"xlink:href":a,x:0,y:0,width:"100%",height:"100%",preserveAspectRatio:"none"}),i.destroy()}},r.updateFx=function(t){for(var e=t._fullLayout,r=e._subplots.gl2d,n=0;n<r.length;n++){e._plots[r[n]]._scene2d.updateFx(e.dragmode)}}},{"../../components/fx/layout_attributes":684,"../../constants/xmlns_namespaces":754,"../../plot_api/edit_types":810,"../cartesian":841,"../cartesian/attributes":826,"../cartesian/constants":834,"../get_data":865,"../layout_attributes":882,"./scene2d":869}],869:[function(t,e,r){"use strict";var n,i,a=t("../../registry"),o=t("../../plots/cartesian/axes"),s=t("../../components/fx"),l=t("gl-plot2d"),c=t("gl-spikes2d"),u=t("gl-select-box"),f=t("webgl-context"),h=t("./convert"),p=t("./camera"),d=t("../../lib/show_no_webgl_msg"),g=t("../cartesian/constraints"),m=g.enforce,v=g.clean,y=t("../cartesian/autorange").doAutoRange,x=t("../../components/dragelement/helpers"),b=x.drawMode,_=x.selectMode,w=["xaxis","yaxis"],T=t("../cartesian/constants").SUBPLOT_PATTERN;function k(t,e){this.container=t.container,this.graphDiv=t.graphDiv,this.pixelRatio=t.plotGlPixelRatio||window.devicePixelRatio,this.id=t.id,this.staticPlot=!!t.staticPlot,this.scrollZoom=this.graphDiv._context._scrollZoom.cartesian,this.fullData=null,this.updateRefs(e),this.makeFramework(),this.stopped||(this.glplotOptions=h(this),this.glplotOptions.merge(e),this.glplot=l(this.glplotOptions),this.camera=p(this),this.traces={},this.spikes=c(this.glplot),this.selectBox=u(this.glplot,{innerFill:!1,outerFill:!0}),this.lastButtonState=0,this.pickResult=null,this.isMouseOver=!0,this.stopped=!1,this.redraw=this.draw.bind(this),this.redraw())}e.exports=k;var M=k.prototype;M.makeFramework=function(){if(this.staticPlot){if(!(i||(n=document.createElement("canvas"),i=f({canvas:n,preserveDrawingBuffer:!1,premultipliedAlpha:!0,antialias:!0}))))throw new Error("Error creating static canvas/context for image server");this.canvas=n,this.gl=i}else{var t=this.container.querySelector(".gl-canvas-focus"),e=f({canvas:t,preserveDrawingBuffer:!0,premultipliedAlpha:!0});if(!e)return d(this),void(this.stopped=!0);this.canvas=t,this.gl=e}var r=this.canvas;r.style.width="100%",r.style.height="100%",r.style.position="absolute",r.style.top="0px",r.style.left="0px",r.style["pointer-events"]="none",this.updateSize(r);var a=this.svgContainer=document.createElementNS("http://www.w3.org/2000/svg","svg");a.style.position="absolute",a.style.top=a.style.left="0px",a.style.width=a.style.height="100%",a.style["z-index"]=20,a.style["pointer-events"]="none";var o=this.mouseContainer=document.createElement("div");o.style.position="absolute",o.style["pointer-events"]="auto",this.pickCanvas=this.container.querySelector(".gl-canvas-pick");var s=this.container;s.appendChild(a),s.appendChild(o);var l=this;o.addEventListener("mouseout",(function(){l.isMouseOver=!1,l.unhover()})),o.addEventListener("mouseover",(function(){l.isMouseOver=!0}))},M.toImage=function(t){t||(t="png"),this.stopped=!0,this.staticPlot&&this.container.appendChild(n),this.updateSize(this.canvas);var e=this.glplot.gl,r=e.drawingBufferWidth,i=e.drawingBufferHeight;e.clearColor(1,1,1,0),e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT),this.glplot.setDirty(),this.glplot.draw(),e.bindFramebuffer(e.FRAMEBUFFER,null);var a=new Uint8Array(r*i*4);e.readPixels(0,0,r,i,e.RGBA,e.UNSIGNED_BYTE,a);for(var o=0,s=i-1;o<s;++o,--s)for(var l=0;l<r;++l)for(var c=0;c<4;++c){var u=a[4*(r*o+l)+c];a[4*(r*o+l)+c]=a[4*(r*s+l)+c],a[4*(r*s+l)+c]=u}var f=document.createElement("canvas");f.width=r,f.height=i;var h,p=f.getContext("2d"),d=p.createImageData(r,i);switch(d.data.set(a),p.putImageData(d,0,0),t){case"jpeg":h=f.toDataURL("image/jpeg");break;case"webp":h=f.toDataURL("image/webp");break;default:h=f.toDataURL("image/png")}return this.staticPlot&&this.container.removeChild(n),h},M.updateSize=function(t){t||(t=this.canvas);var e=this.pixelRatio,r=this.fullLayout,n=r.width,i=r.height,a=0|Math.ceil(e*n),o=0|Math.ceil(e*i);return t.width===a&&t.height===o||(t.width=a,t.height=o),t},M.computeTickMarks=function(){this.xaxis.setScale(),this.yaxis.setScale();for(var t=[o.calcTicks(this.xaxis),o.calcTicks(this.yaxis)],e=0;e<2;++e)for(var r=0;r<t[e].length;++r)t[e][r].text=t[e][r].text+"";return t},M.updateRefs=function(t){this.fullLayout=t;var e=this.id.match(T),r="xaxis"+e[1],n="yaxis"+e[2];this.xaxis=this.fullLayout[r],this.yaxis=this.fullLayout[n]},M.relayoutCallback=function(){var t=this.graphDiv,e=this.xaxis,r=this.yaxis,n=t.layout,i={},o=i[e._name+".range"]=e.range.slice(),s=i[r._name+".range"]=r.range.slice();i[e._name+".autorange"]=e.autorange,i[r._name+".autorange"]=r.autorange,a.call("_storeDirectGUIEdit",t.layout,t._fullLayout._preGUI,i);var l=n[e._name];l.range=o,l.autorange=e.autorange;var c=n[r._name];c.range=s,c.autorange=r.autorange,i.lastInputTime=this.camera.lastInputTime,t.emit("plotly_relayout",i)},M.cameraChanged=function(){var t=this.camera;this.glplot.setDataBox(this.calcDataBox());var e=this.computeTickMarks();(function(t,e){for(var r=0;r<2;++r){var n=t[r],i=e[r];if(n.length!==i.length)return!0;for(var a=0;a<n.length;++a)if(n[a].x!==i[a].x)return!0}return!1})(e,this.glplotOptions.ticks)&&(this.glplotOptions.ticks=e,this.glplotOptions.dataBox=t.dataBox,this.glplot.update(this.glplotOptions),this.handleAnnotations())},M.handleAnnotations=function(){for(var t=this.graphDiv,e=this.fullLayout.annotations,r=0;r<e.length;r++){var n=e[r];n.xref===this.xaxis._id&&n.yref===this.yaxis._id&&a.getComponentMethod("annotations","drawOne")(t,r)}},M.destroy=function(){if(this.glplot){var t=this.traces;t&&Object.keys(t).map((function(e){t[e].dispose(),delete t[e]})),this.glplot.dispose(),this.container.removeChild(this.svgContainer),this.container.removeChild(this.mouseContainer),this.fullData=null,this.glplot=null,this.stopped=!0,this.camera.mouseListener.enabled=!1,this.mouseContainer.removeEventListener("wheel",this.camera.wheelListener),this.camera=null}},M.plot=function(t,e,r){var n=this.glplot;this.updateRefs(r),this.xaxis.clearCalc(),this.yaxis.clearCalc(),this.updateTraces(t,e),this.updateFx(r.dragmode);var i=r.width,a=r.height;this.updateSize(this.canvas);var o=this.glplotOptions;o.merge(r),o.screenBox=[0,0,i,a];var s={_fullLayout:{_axisConstraintGroups:this.graphDiv._fullLayout._axisConstraintGroups,xaxis:this.xaxis,yaxis:this.yaxis}};v(s,this.xaxis),v(s,this.yaxis);var l,c,u=r._size,f=this.xaxis.domain,h=this.yaxis.domain;for(o.viewBox=[u.l+f[0]*u.w,u.b+h[0]*u.h,i-u.r-(1-f[1])*u.w,a-u.t-(1-h[1])*u.h],this.mouseContainer.style.width=u.w*(f[1]-f[0])+"px",this.mouseContainer.style.height=u.h*(h[1]-h[0])+"px",this.mouseContainer.height=u.h*(h[1]-h[0]),this.mouseContainer.style.left=u.l+f[0]*u.w+"px",this.mouseContainer.style.top=u.t+(1-h[1])*u.h+"px",c=0;c<2;++c)(l=this[w[c]])._length=o.viewBox[c+2]-o.viewBox[c],y(this.graphDiv,l),l.setScale();m(s),o.ticks=this.computeTickMarks(),o.dataBox=this.calcDataBox(),o.merge(r),n.update(o),this.glplot.draw()},M.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])]},M.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])]},M.updateTraces=function(t,e){var r,n,i,a=Object.keys(this.traces);this.fullData=t;t:for(r=0;r<a.length;r++){var o=a[r],s=this.traces[o];for(n=0;n<t.length;n++)if((i=t[n]).uid===o&&i.type===s.type)continue t;s.dispose(),delete this.traces[o]}for(r=0;r<t.length;r++){i=t[r];var l=e[r],c=this.traces[i.uid];c?c.update(i,l):(c=i._module.plot(this,i,l),this.traces[i.uid]=c)}this.glplot.objects.sort((function(t,e){return t._trace.index-e._trace.index}))},M.updateFx=function(t){_(t)||b(t)?(this.pickCanvas.style["pointer-events"]="none",this.mouseContainer.style["pointer-events"]="none"):(this.pickCanvas.style["pointer-events"]="auto",this.mouseContainer.style["pointer-events"]="auto"),this.mouseContainer.style.cursor="pan"===t?"move":"zoom"===t?"crosshair":null},M.emitPointAction=function(t,e){for(var r,n=t.trace.uid,i=t.pointIndex,a=0;a<this.fullData.length;a++)this.fullData[a].uid===n&&(r=this.fullData[a]);var o={x:t.traceCoord[0],y:t.traceCoord[1],curveNumber:r.index,pointNumber:i,data:r._input,fullData:this.fullData,xaxis:this.xaxis,yaxis:this.yaxis};s.appendArrayPointValue(o,r,i),this.graphDiv.emit(e,{points:[o]})},M.draw=function(){if(!this.stopped){requestAnimationFrame(this.redraw);var t=this.glplot,e=this.camera,r=e.mouseListener,n=1===this.lastButtonState&&0===r.buttons,i=this.fullLayout;this.lastButtonState=r.buttons,this.cameraChanged();var a,o=r.x*t.pixelRatio,l=this.canvas.height-t.pixelRatio*r.y;if(e.boxEnabled&&"zoom"===i.dragmode){this.selectBox.enabled=!0;for(var c=this.selectBox.selectBox=[Math.min(e.boxStart[0],e.boxEnd[0]),Math.min(e.boxStart[1],e.boxEnd[1]),Math.max(e.boxStart[0],e.boxEnd[0]),Math.max(e.boxStart[1],e.boxEnd[1])],u=0;u<2;u++)e.boxStart[u]===e.boxEnd[u]&&(c[u]=t.dataBox[u],c[u+2]=t.dataBox[u+2]);t.setDirty()}else if(!e.panning&&this.isMouseOver){this.selectBox.enabled=!1;var f=i._size,h=this.xaxis.domain,p=this.yaxis.domain,d=(a=t.pick(o/t.pixelRatio+f.l+h[0]*f.w,l/t.pixelRatio-(f.t+(1-p[1])*f.h)))&&a.object._trace.handlePick(a);if(d&&n&&this.emitPointAction(d,"plotly_click"),a&&"skip"!==a.object._trace.hoverinfo&&i.hovermode&&d&&(!this.lastPickResult||this.lastPickResult.traceUid!==d.trace.uid||this.lastPickResult.dataCoord[0]!==d.dataCoord[0]||this.lastPickResult.dataCoord[1]!==d.dataCoord[1])){var g=d;this.lastPickResult={traceUid:d.trace?d.trace.uid:null,dataCoord:d.dataCoord.slice()},this.spikes.update({center:a.dataCoord}),g.screenCoord=[((t.viewBox[2]-t.viewBox[0])*(a.dataCoord[0]-t.dataBox[0])/(t.dataBox[2]-t.dataBox[0])+t.viewBox[0])/t.pixelRatio,(this.canvas.height-(t.viewBox[3]-t.viewBox[1])*(a.dataCoord[1]-t.dataBox[1])/(t.dataBox[3]-t.dataBox[1])-t.viewBox[1])/t.pixelRatio],this.emitPointAction(d,"plotly_hover");var m=this.fullData[g.trace.index]||{},v=g.pointIndex,y=s.castHoverinfo(m,i,v);if(y&&"all"!==y){var x=y.split("+");-1===x.indexOf("x")&&(g.traceCoord[0]=void 0),-1===x.indexOf("y")&&(g.traceCoord[1]=void 0),-1===x.indexOf("z")&&(g.traceCoord[2]=void 0),-1===x.indexOf("text")&&(g.textLabel=void 0),-1===x.indexOf("name")&&(g.name=void 0)}s.loneHover({x:g.screenCoord[0],y:g.screenCoord[1],xLabel:this.hoverFormatter("xaxis",g.traceCoord[0]),yLabel:this.hoverFormatter("yaxis",g.traceCoord[1]),zLabel:g.traceCoord[2],text:g.textLabel,name:g.name,color:s.castHoverOption(m,v,"bgcolor")||g.color,borderColor:s.castHoverOption(m,v,"bordercolor"),fontFamily:s.castHoverOption(m,v,"font.family"),fontSize:s.castHoverOption(m,v,"font.size"),fontColor:s.castHoverOption(m,v,"font.color"),nameLength:s.castHoverOption(m,v,"namelength"),textAlign:s.castHoverOption(m,v,"align")},{container:this.svgContainer,gd:this.graphDiv})}}a||this.unhover(),t.draw()}},M.unhover=function(){this.lastPickResult&&(this.spikes.update({}),this.lastPickResult=null,this.graphDiv.emit("plotly_unhover"),s.loneUnhover(this.svgContainer))},M.hoverFormatter=function(t,e){if(void 0!==e){var r=this[t];return o.tickText(r,r.c2l(e),"hover").text}}},{"../../components/dragelement/helpers":661,"../../components/fx":683,"../../lib/show_no_webgl_msg":800,"../../plots/cartesian/axes":828,"../../registry":911,"../cartesian/autorange":827,"../cartesian/constants":834,"../cartesian/constraints":835,"./camera":866,"./convert":867,"gl-plot2d":317,"gl-select-box":333,"gl-spikes2d":342,"webgl-context":606}],870:[function(t,e,r){"use strict";var n=t("../../plot_api/edit_types").overrideAll,i=t("../../components/fx/layout_attributes"),a=t("./scene"),o=t("../get_data").getSubplotData,s=t("../../lib"),l=t("../../constants/xmlns_namespaces");r.name="gl3d",r.attr="scene",r.idRoot="scene",r.idRegex=r.attrRegex=s.counterRegex("scene"),r.attributes=t("./layout/attributes"),r.layoutAttributes=t("./layout/layout_attributes"),r.baseLayoutAttrOverrides=n({hoverlabel:i.hoverlabel},"plot","nested"),r.supplyLayoutDefaults=t("./layout/defaults"),r.plot=function(t){for(var e=t._fullLayout,r=t._fullData,n=e._subplots.gl3d,i=0;i<n.length;i++){var s=n[i],l=o(r,"gl3d",s),c=e[s],u=c.camera,f=c._scene;f||(f=new a({id:s,graphDiv:t,container:t.querySelector(".gl-container"),staticPlot:t._context.staticPlot,plotGlPixelRatio:t._context.plotGlPixelRatio,camera:u},e),c._scene=f),f.viewInitial||(f.viewInitial={up:{x:u.up.x,y:u.up.y,z:u.up.z},eye:{x:u.eye.x,y:u.eye.y,z:u.eye.z},center:{x:u.center.x,y:u.center.y,z:u.center.z}}),f.plot(l,e,t.layout)}},r.clean=function(t,e,r,n){for(var i=n._subplots.gl3d||[],a=0;a<i.length;a++){var o=i[a];!e[o]&&n[o]._scene&&(n[o]._scene.destroy(),n._infolayer&&n._infolayer.selectAll(".annotation-"+o).remove())}},r.toSVG=function(t){for(var e=t._fullLayout,r=e._subplots.gl3d,n=e._size,i=0;i<r.length;i++){var a=e[r[i]],o=a.domain,s=a._scene,c=s.toImage("png");e._glimages.append("svg:image").attr({xmlns:l.svg,"xlink:href":c,x:n.l+n.w*o.x[0],y:n.t+n.h*(1-o.y[1]),width:n.w*(o.x[1]-o.x[0]),height:n.h*(o.y[1]-o.y[0]),preserveAspectRatio:"none"}),s.destroy()}},r.cleanId=function(t){if(t.match(/^scene[0-9]*$/)){var e=t.substr(5);return"1"===e&&(e=""),"scene"+e}},r.updateFx=function(t){for(var e=t._fullLayout,r=e._subplots.gl3d,n=0;n<r.length;n++){e[r[n]]._scene.updateFx(e.dragmode,e.hovermode)}}},{"../../components/fx/layout_attributes":684,"../../constants/xmlns_namespaces":754,"../../lib":778,"../../plot_api/edit_types":810,"../get_data":865,"./layout/attributes":871,"./layout/defaults":875,"./layout/layout_attributes":876,"./scene":880}],871:[function(t,e,r){"use strict";e.exports={scene:{valType:"subplotid",dflt:"scene",editType:"calc+clearAxisTypes"}}},{}],872:[function(t,e,r){"use strict";var n=t("../../../components/color"),i=t("../../cartesian/layout_attributes"),a=t("../../../lib/extend").extendFlat,o=t("../../../plot_api/edit_types").overrideAll;e.exports=o({visible:i.visible,showspikes:{valType:"boolean",dflt:!0},spikesides:{valType:"boolean",dflt:!0},spikethickness:{valType:"number",min:0,dflt:2},spikecolor:{valType:"color",dflt:n.defaultLine},showbackground:{valType:"boolean",dflt:!1},backgroundcolor:{valType:"color",dflt:"rgba(204, 204, 204, 0.5)"},showaxeslabels:{valType:"boolean",dflt:!0},color:i.color,categoryorder:i.categoryorder,categoryarray:i.categoryarray,title:{text:i.title.text,font:i.title.font},type:a({},i.type,{values:["-","linear","log","date","category"]}),autotypenumbers:i.autotypenumbers,autorange:i.autorange,rangemode:i.rangemode,range:a({},i.range,{items:[{valType:"any",editType:"plot",impliedEdits:{"^autorange":!1}},{valType:"any",editType:"plot",impliedEdits:{"^autorange":!1}}],anim:!1}),tickmode:i.tickmode,nticks:i.nticks,tick0:i.tick0,dtick:i.dtick,tickvals:i.tickvals,ticktext:i.ticktext,ticks:i.ticks,mirror:i.mirror,ticklen:i.ticklen,tickwidth:i.tickwidth,tickcolor:i.tickcolor,showticklabels:i.showticklabels,tickfont:i.tickfont,tickangle:i.tickangle,tickprefix:i.tickprefix,showtickprefix:i.showtickprefix,ticksuffix:i.ticksuffix,showticksuffix:i.showticksuffix,showexponent:i.showexponent,exponentformat:i.exponentformat,minexponent:i.minexponent,separatethousands:i.separatethousands,tickformat:i.tickformat,tickformatstops:i.tickformatstops,hoverformat:i.hoverformat,showline:i.showline,linecolor:i.linecolor,linewidth:i.linewidth,showgrid:i.showgrid,gridcolor:a({},i.gridcolor,{dflt:"rgb(204, 204, 204)"}),gridwidth:i.gridwidth,zeroline:i.zeroline,zerolinecolor:i.zerolinecolor,zerolinewidth:i.zerolinewidth,_deprecated:{title:i._deprecated.title,titlefont:i._deprecated.titlefont}},"plot","from-root")},{"../../../components/color":643,"../../../lib/extend":768,"../../../plot_api/edit_types":810,"../../cartesian/layout_attributes":842}],873:[function(t,e,r){"use strict";var n=t("tinycolor2").mix,i=t("../../../lib"),a=t("../../../plot_api/plot_template"),o=t("./axis_attributes"),s=t("../../cartesian/type_defaults"),l=t("../../cartesian/axis_defaults"),c=["xaxis","yaxis","zaxis"];e.exports=function(t,e,r){var u,f;function h(t,e){return i.coerce(u,f,o,t,e)}for(var p=0;p<c.length;p++){var d=c[p];u=t[d]||{},(f=a.newContainer(e,d))._id=d[0]+r.scene,f._name=d,s(u,f,h,r),l(u,f,h,{font:r.font,letter:d[0],data:r.data,showGrid:!0,noTickson:!0,noTicklabelmode:!0,noTicklabelposition:!0,bgColor:r.bgColor,calendar:r.calendar},r.fullLayout),h("gridcolor",n(f.color,r.bgColor,13600/187).toRgbString()),h("title.text",d[0]),f.setScale=i.noop,h("showspikes")&&(h("spikesides"),h("spikethickness"),h("spikecolor",f.color)),h("showaxeslabels"),h("showbackground")&&h("backgroundcolor")}}},{"../../../lib":778,"../../../plot_api/plot_template":817,"../../cartesian/axis_defaults":830,"../../cartesian/type_defaults":853,"./axis_attributes":872,tinycolor2:576}],874:[function(t,e,r){"use strict";var n=t("../../../lib/str2rgbarray"),i=t("../../../lib"),a=["xaxis","yaxis","zaxis"];function o(){this.bounds=[[-10,-10,-10],[10,10,10]],this.ticks=[[],[],[]],this.tickEnable=[!0,!0,!0],this.tickFont=["sans-serif","sans-serif","sans-serif"],this.tickSize=[12,12,12],this.tickAngle=[0,0,0],this.tickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.tickPad=[18,18,18],this.labels=["x","y","z"],this.labelEnable=[!0,!0,!0],this.labelFont=["Open Sans","Open Sans","Open Sans"],this.labelSize=[20,20,20],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.labelPad=[30,30,30],this.lineEnable=[!0,!0,!0],this.lineMirror=[!1,!1,!1],this.lineWidth=[1,1,1],this.lineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.lineTickEnable=[!0,!0,!0],this.lineTickMirror=[!1,!1,!1],this.lineTickLength=[10,10,10],this.lineTickWidth=[1,1,1],this.lineTickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.gridEnable=[!0,!0,!0],this.gridWidth=[1,1,1],this.gridColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroEnable=[!0,!0,!0],this.zeroLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroLineWidth=[2,2,2],this.backgroundEnable=[!0,!0,!0],this.backgroundColor=[[.8,.8,.8,.5],[.8,.8,.8,.5],[.8,.8,.8,.5]],this._defaultTickPad=this.tickPad.slice(),this._defaultLabelPad=this.labelPad.slice(),this._defaultLineTickLength=this.lineTickLength.slice()}o.prototype.merge=function(t,e){for(var r=0;r<3;++r){var o=e[a[r]];o.visible?(this.labels[r]=t._meta?i.templateString(o.title.text,t._meta):o.title.text,"font"in o.title&&(o.title.font.color&&(this.labelColor[r]=n(o.title.font.color)),o.title.font.family&&(this.labelFont[r]=o.title.font.family),o.title.font.size&&(this.labelSize[r]=o.title.font.size)),"showline"in o&&(this.lineEnable[r]=o.showline),"linecolor"in o&&(this.lineColor[r]=n(o.linecolor)),"linewidth"in o&&(this.lineWidth[r]=o.linewidth),"showgrid"in o&&(this.gridEnable[r]=o.showgrid),"gridcolor"in o&&(this.gridColor[r]=n(o.gridcolor)),"gridwidth"in o&&(this.gridWidth[r]=o.gridwidth),"log"===o.type?this.zeroEnable[r]=!1:"zeroline"in o&&(this.zeroEnable[r]=o.zeroline),"zerolinecolor"in o&&(this.zeroLineColor[r]=n(o.zerolinecolor)),"zerolinewidth"in o&&(this.zeroLineWidth[r]=o.zerolinewidth),"ticks"in o&&o.ticks?this.lineTickEnable[r]=!0:this.lineTickEnable[r]=!1,"ticklen"in o&&(this.lineTickLength[r]=this._defaultLineTickLength[r]=o.ticklen),"tickcolor"in o&&(this.lineTickColor[r]=n(o.tickcolor)),"tickwidth"in o&&(this.lineTickWidth[r]=o.tickwidth),"tickangle"in o&&(this.tickAngle[r]="auto"===o.tickangle?-3600:Math.PI*-o.tickangle/180),"showticklabels"in o&&(this.tickEnable[r]=o.showticklabels),"tickfont"in o&&(o.tickfont.color&&(this.tickColor[r]=n(o.tickfont.color)),o.tickfont.family&&(this.tickFont[r]=o.tickfont.family),o.tickfont.size&&(this.tickSize[r]=o.tickfont.size)),"mirror"in o?-1!==["ticks","all","allticks"].indexOf(o.mirror)?(this.lineTickMirror[r]=!0,this.lineMirror[r]=!0):!0===o.mirror?(this.lineTickMirror[r]=!1,this.lineMirror[r]=!0):(this.lineTickMirror[r]=!1,this.lineMirror[r]=!1):this.lineMirror[r]=!1,"showbackground"in o&&!1!==o.showbackground?(this.backgroundEnable[r]=!0,this.backgroundColor[r]=n(o.backgroundcolor)):this.backgroundEnable[r]=!1):(this.tickEnable[r]=!1,this.labelEnable[r]=!1,this.lineEnable[r]=!1,this.lineTickEnable[r]=!1,this.gridEnable[r]=!1,this.zeroEnable[r]=!1,this.backgroundEnable[r]=!1)}},e.exports=function(t,e){var r=new o;return r.merge(t,e),r}},{"../../../lib":778,"../../../lib/str2rgbarray":802}],875:[function(t,e,r){"use strict";var n=t("../../../lib"),i=t("../../../components/color"),a=t("../../../registry"),o=t("../../subplot_defaults"),s=t("./axis_defaults"),l=t("./layout_attributes"),c=t("../../get_data").getSubplotData;function u(t,e,r,n){for(var o=r("bgcolor"),l=i.combine(o,n.paper_bgcolor),u=["up","center","eye"],f=0;f<u.length;f++)r("camera."+u[f]+".x"),r("camera."+u[f]+".y"),r("camera."+u[f]+".z");r("camera.projection.type");var h=!!r("aspectratio.x")&&!!r("aspectratio.y")&&!!r("aspectratio.z"),p=r("aspectmode",h?"manual":"auto");h||(t.aspectratio=e.aspectratio={x:1,y:1,z:1},"manual"===p&&(e.aspectmode="auto"),t.aspectmode=e.aspectmode);var d=c(n.fullData,"gl3d",n.id);s(t,e,{font:n.font,scene:n.id,data:d,bgColor:l,calendar:n.calendar,autotypenumbersDflt:n.autotypenumbersDflt,fullLayout:n.fullLayout}),a.getComponentMethod("annotations3d","handleDefaults")(t,e,n);var g=n.getDfltFromLayout("dragmode");if(!1!==g&&!g)if(g="orbit",t.camera&&t.camera.up){var m=t.camera.up.x,v=t.camera.up.y,y=t.camera.up.z;0!==y&&(m&&v&&y?y/Math.sqrt(m*m+v*v+y*y)>.999&&(g="turntable"):g="turntable")}else g="turntable";r("dragmode",g),r("hovermode",n.getDfltFromLayout("hovermode"))}e.exports=function(t,e,r){var i=e._basePlotModules.length>1;o(t,e,r,{type:"gl3d",attributes:l,handleDefaults:u,fullLayout:e,font:e.font,fullData:r,getDfltFromLayout:function(e){if(!i)return n.validate(t[e],l[e])?t[e]:void 0},autotypenumbersDflt:e.autotypenumbers,paper_bgcolor:e.paper_bgcolor,calendar:e.calendar})}},{"../../../components/color":643,"../../../lib":778,"../../../registry":911,"../../get_data":865,"../../subplot_defaults":905,"./axis_defaults":873,"./layout_attributes":876}],876:[function(t,e,r){"use strict";var n=t("./axis_attributes"),i=t("../../domain").attributes,a=t("../../../lib/extend").extendFlat,o=t("../../../lib").counterRegex;function s(t,e,r){return{x:{valType:"number",dflt:t,editType:"camera"},y:{valType:"number",dflt:e,editType:"camera"},z:{valType:"number",dflt:r,editType:"camera"},editType:"camera"}}e.exports={_arrayAttrRegexps:[o("scene",".annotations",!0)],bgcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"plot"},camera:{up:a(s(0,0,1),{}),center:a(s(0,0,0),{}),eye:a(s(1.25,1.25,1.25),{}),projection:{type:{valType:"enumerated",values:["perspective","orthographic"],dflt:"perspective",editType:"calc"},editType:"calc"},editType:"camera"},domain:i({name:"scene",editType:"plot"}),aspectmode:{valType:"enumerated",values:["auto","cube","data","manual"],dflt:"auto",editType:"plot",impliedEdits:{"aspectratio.x":void 0,"aspectratio.y":void 0,"aspectratio.z":void 0}},aspectratio:{x:{valType:"number",min:0,editType:"plot",impliedEdits:{"^aspectmode":"manual"}},y:{valType:"number",min:0,editType:"plot",impliedEdits:{"^aspectmode":"manual"}},z:{valType:"number",min:0,editType:"plot",impliedEdits:{"^aspectmode":"manual"}},editType:"plot",impliedEdits:{aspectmode:"manual"}},xaxis:n,yaxis:n,zaxis:n,dragmode:{valType:"enumerated",values:["orbit","turntable","zoom","pan",!1],editType:"plot"},hovermode:{valType:"enumerated",values:["closest",!1],dflt:"closest",editType:"modebar"},uirevision:{valType:"any",editType:"none"},editType:"plot",_deprecated:{cameraposition:{valType:"info_array",editType:"camera"}}}},{"../../../lib":778,"../../../lib/extend":768,"../../domain":855,"./axis_attributes":872}],877:[function(t,e,r){"use strict";var n=t("../../../lib/str2rgbarray"),i=["xaxis","yaxis","zaxis"];function a(){this.enabled=[!0,!0,!0],this.colors=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.drawSides=[!0,!0,!0],this.lineWidth=[1,1,1]}a.prototype.merge=function(t){for(var e=0;e<3;++e){var r=t[i[e]];r.visible?(this.enabled[e]=r.showspikes,this.colors[e]=n(r.spikecolor),this.drawSides[e]=r.spikesides,this.lineWidth[e]=r.spikethickness):(this.enabled[e]=!1,this.drawSides[e]=!1)}},e.exports=function(t){var e=new a;return e.merge(t),e}},{"../../../lib/str2rgbarray":802}],878:[function(t,e,r){"use strict";e.exports=function(t){for(var e=t.axesOptions,r=t.glplot.axesPixels,s=t.fullSceneLayout,l=[[],[],[]],c=0;c<3;++c){var u=s[a[c]];if(u._length=(r[c].hi-r[c].lo)*r[c].pixelsPerDataUnit/t.dataScale[c],Math.abs(u._length)===1/0||isNaN(u._length))l[c]=[];else{u._input_range=u.range.slice(),u.range[0]=r[c].lo/t.dataScale[c],u.range[1]=r[c].hi/t.dataScale[c],u._m=1/(t.dataScale[c]*r[c].pixelsPerDataUnit),u.range[0]===u.range[1]&&(u.range[0]-=1,u.range[1]+=1);var f=u.tickmode;if("auto"===u.tickmode){u.tickmode="linear";var h=u.nticks||i.constrain(u._length/40,4,9);n.autoTicks(u,Math.abs(u.range[1]-u.range[0])/h)}for(var p=n.calcTicks(u,{msUTC:!0}),d=0;d<p.length;++d)p[d].x=p[d].x*t.dataScale[c],"date"===u.type&&(p[d].text=p[d].text.replace(/\<br\>/g," "));l[c]=p,u.tickmode=f}}e.ticks=l;for(c=0;c<3;++c){o[c]=.5*(t.glplot.bounds[0][c]+t.glplot.bounds[1][c]);for(d=0;d<2;++d)e.bounds[d][c]=t.glplot.bounds[d][c]}t.contourLevels=function(t){for(var e=new Array(3),r=0;r<3;++r){for(var n=t[r],i=new Array(n.length),a=0;a<n.length;++a)i[a]=n[a].x;e[r]=i}return e}(l)};var n=t("../../cartesian/axes"),i=t("../../../lib"),a=["xaxis","yaxis","zaxis"],o=[0,0,0]},{"../../../lib":778,"../../cartesian/axes":828}],879:[function(t,e,r){"use strict";function n(t,e){var r,n,i=[0,0,0,0];for(r=0;r<4;++r)for(n=0;n<4;++n)i[n]+=t[4*r+n]*e[r];return i}e.exports=function(t,e){return n(t.projection,n(t.view,n(t.model,[e[0],e[1],e[2],1])))}},{}],880:[function(t,e,r){"use strict";var n,i,a=t("gl-plot3d"),o=a.createCamera,s=a.createScene,l=t("webgl-context"),c=t("has-passive-events"),u=t("../../registry"),f=t("../../lib"),h=f.preserveDrawingBuffer(),p=t("../../plots/cartesian/axes"),d=t("../../components/fx"),g=t("../../lib/str2rgbarray"),m=t("../../lib/show_no_webgl_msg"),v=t("./project"),y=t("./layout/convert"),x=t("./layout/spikes"),b=t("./layout/tick_marks");function _(t,e){var r=document.createElement("div"),n=t.container;this.graphDiv=t.graphDiv;var i=document.createElementNS("http://www.w3.org/2000/svg","svg");i.style.position="absolute",i.style.top=i.style.left="0px",i.style.width=i.style.height="100%",i.style["z-index"]=20,i.style["pointer-events"]="none",r.appendChild(i),this.svgContainer=i,r.id=t.id,r.style.position="absolute",r.style.top=r.style.left="0px",r.style.width=r.style.height="100%",n.appendChild(r),this.fullLayout=e,this.id=t.id||"scene",this.fullSceneLayout=e[this.id],this.plotArgs=[[],{},{}],this.axesOptions=y(e,e[this.id]),this.spikeOptions=x(e[this.id]),this.container=r,this.staticMode=!!t.staticPlot,this.pixelRatio=this.pixelRatio||t.plotGlPixelRatio||2,this.dataScale=[1,1,1],this.contourLevels=[[],[],[]],this.convertAnnotations=u.getComponentMethod("annotations3d","convert"),this.drawAnnotations=u.getComponentMethod("annotations3d","draw"),this.initializeGLPlot()}var w=_.prototype;w.prepareOptions=function(){var t={canvas:this.canvas,gl:this.gl,glOptions:{preserveDrawingBuffer:h,premultipliedAlpha:!0,antialias:!0},container:this.container,axes:this.axesOptions,spikes:this.spikeOptions,pickRadius:10,snapToData:!0,autoScale:!0,autoBounds:!1,cameraObject:this.camera,pixelRatio:this.pixelRatio};if(this.staticMode){if(!(i||(n=document.createElement("canvas"),i=l({canvas:n,preserveDrawingBuffer:!0,premultipliedAlpha:!0,antialias:!0}))))throw new Error("error creating static canvas/context for image server");t.gl=i,t.canvas=n}return t};var T=!0;w.tryCreatePlot=function(){var t=this.prepareOptions(),e=!0;try{this.glplot=s(t)}catch(r){if(this.staticMode||!T||h)e=!1;else{f.warn(["webgl setup failed possibly due to","false preserveDrawingBuffer config.","The mobile/tablet device may not be detected by is-mobile module.","Enabling preserveDrawingBuffer in second attempt to create webgl scene..."].join(" "));try{h=t.glOptions.preserveDrawingBuffer=!0,this.glplot=s(t)}catch(r){h=t.glOptions.preserveDrawingBuffer=!1,e=!1}}}return T=!1,e},w.initializeGLCamera=function(){var t=this.fullSceneLayout.camera,e="orthographic"===t.projection.type;this.camera=o(this.container,{center:[t.center.x,t.center.y,t.center.z],eye:[t.eye.x,t.eye.y,t.eye.z],up:[t.up.x,t.up.y,t.up.z],_ortho:e,zoomMin:.01,zoomMax:100,mode:"orbit"})},w.initializeGLPlot=function(){var t=this;if(t.initializeGLCamera(),!t.tryCreatePlot())return m(t);t.traces={},t.make4thDimension();var e=t.graphDiv,r=e.layout,n=function(){var e={};return t.isCameraChanged(r)&&(e[t.id+".camera"]=t.getCamera()),t.isAspectChanged(r)&&(e[t.id+".aspectratio"]=t.glplot.getAspectratio(),"manual"!==r[t.id].aspectmode&&(t.fullSceneLayout.aspectmode=r[t.id].aspectmode=e[t.id+".aspectmode"]="manual")),e},i=function(t){if(!1!==t.fullSceneLayout.dragmode){var e=n();t.saveLayout(r),t.graphDiv.emit("plotly_relayout",e)}};return t.glplot.canvas&&(t.glplot.canvas.addEventListener("mouseup",(function(){i(t)})),t.glplot.canvas.addEventListener("wheel",(function(r){if(e._context._scrollZoom.gl3d){if(t.camera._ortho){var n=r.deltaX>r.deltaY?1.1:1/1.1,a=t.glplot.getAspectratio();t.glplot.setAspectratio({x:n*a.x,y:n*a.y,z:n*a.z})}i(t)}}),!!c&&{passive:!1}),t.glplot.canvas.addEventListener("mousemove",(function(){if(!1!==t.fullSceneLayout.dragmode&&0!==t.camera.mouseListener.buttons){var e=n();t.graphDiv.emit("plotly_relayouting",e)}})),t.staticMode||t.glplot.canvas.addEventListener("webglcontextlost",(function(r){e&&e.emit&&e.emit("plotly_webglcontextlost",{event:r,layer:t.id})}),!1)),t.glplot.oncontextloss=function(){t.recoverContext()},t.glplot.onrender=function(){t.render()},!0},w.render=function(){var t,e=this,r=e.graphDiv,n=e.svgContainer,i=e.container.getBoundingClientRect();r._fullLayout._calcInverseTransform(r);var a=r._fullLayout._invScaleX,o=r._fullLayout._invScaleY,s=i.width*a,l=i.height*o;n.setAttributeNS(null,"viewBox","0 0 "+s+" "+l),n.setAttributeNS(null,"width",s),n.setAttributeNS(null,"height",l),b(e),e.glplot.axes.update(e.axesOptions);for(var c,u=Object.keys(e.traces),h=null,g=e.glplot.selection,m=0;m<u.length;++m)"skip"!==(t=e.traces[u[m]]).data.hoverinfo&&t.handlePick(g)&&(h=t),t.setContourLevels&&t.setContourLevels();function y(t,r){var n=e.fullSceneLayout[t];return p.tickText(n,n.d2l(r),"hover").text}if(null!==h){var x=v(e.glplot.cameraParams,g.dataCoordinate);t=h.data;var _,w=r._fullData[t.index],T=g.index,k={xLabel:y("xaxis",g.traceCoordinate[0]),yLabel:y("yaxis",g.traceCoordinate[1]),zLabel:y("zaxis",g.traceCoordinate[2])},M=d.castHoverinfo(w,e.fullLayout,T),A=(M||"").split("+"),S=M&&"all"===M;w.hovertemplate||S||(-1===A.indexOf("x")&&(k.xLabel=void 0),-1===A.indexOf("y")&&(k.yLabel=void 0),-1===A.indexOf("z")&&(k.zLabel=void 0),-1===A.indexOf("text")&&(g.textLabel=void 0),-1===A.indexOf("name")&&(h.name=void 0));var E=[];"cone"===t.type||"streamtube"===t.type?(k.uLabel=y("xaxis",g.traceCoordinate[3]),(S||-1!==A.indexOf("u"))&&E.push("u: "+k.uLabel),k.vLabel=y("yaxis",g.traceCoordinate[4]),(S||-1!==A.indexOf("v"))&&E.push("v: "+k.vLabel),k.wLabel=y("zaxis",g.traceCoordinate[5]),(S||-1!==A.indexOf("w"))&&E.push("w: "+k.wLabel),k.normLabel=g.traceCoordinate[6].toPrecision(3),(S||-1!==A.indexOf("norm"))&&E.push("norm: "+k.normLabel),"streamtube"===t.type&&(k.divergenceLabel=g.traceCoordinate[7].toPrecision(3),(S||-1!==A.indexOf("divergence"))&&E.push("divergence: "+k.divergenceLabel)),g.textLabel&&E.push(g.textLabel),_=E.join("<br>")):"isosurface"===t.type||"volume"===t.type?(k.valueLabel=p.tickText(e._mockAxis,e._mockAxis.d2l(g.traceCoordinate[3]),"hover").text,E.push("value: "+k.valueLabel),g.textLabel&&E.push(g.textLabel),_=E.join("<br>")):_=g.textLabel;var C={x:g.traceCoordinate[0],y:g.traceCoordinate[1],z:g.traceCoordinate[2],data:w._input,fullData:w,curveNumber:w.index,pointNumber:T};d.appendArrayPointValue(C,w,T),t._module.eventData&&(C=w._module.eventData(C,g,w,{},T));var L={points:[C]};e.fullSceneLayout.hovermode&&d.loneHover({trace:w,x:(.5+.5*x[0]/x[3])*s,y:(.5-.5*x[1]/x[3])*l,xLabel:k.xLabel,yLabel:k.yLabel,zLabel:k.zLabel,text:_,name:h.name,color:d.castHoverOption(w,T,"bgcolor")||h.color,borderColor:d.castHoverOption(w,T,"bordercolor"),fontFamily:d.castHoverOption(w,T,"font.family"),fontSize:d.castHoverOption(w,T,"font.size"),fontColor:d.castHoverOption(w,T,"font.color"),nameLength:d.castHoverOption(w,T,"namelength"),textAlign:d.castHoverOption(w,T,"align"),hovertemplate:f.castOption(w,T,"hovertemplate"),hovertemplateLabels:f.extendFlat({},C,k),eventData:[C]},{container:n,gd:r}),g.buttons&&g.distance<5?r.emit("plotly_click",L):r.emit("plotly_hover",L),c=L}else d.loneUnhover(n),r.emit("plotly_unhover",c);e.drawAnnotations(e)},w.recoverContext=function(){var t=this;t.glplot.dispose();var e=function(){t.glplot.gl.isContextLost()?requestAnimationFrame(e):t.initializeGLPlot()?t.plot.apply(t,t.plotArgs):f.error("Catastrophic and unrecoverable WebGL error. Context lost.")};requestAnimationFrame(e)};var k=["xaxis","yaxis","zaxis"];function M(t,e,r){for(var n=t.fullSceneLayout,i=0;i<3;i++){var a=k[i],o=a.charAt(0),s=n[a],l=e[o],c=e[o+"calendar"],u=e["_"+o+"length"];if(f.isArrayOrTypedArray(l))for(var h,p=0;p<(u||l.length);p++)if(f.isArrayOrTypedArray(l[p]))for(var d=0;d<l[p].length;++d)h=s.d2l(l[p][d],0,c),!isNaN(h)&&isFinite(h)&&(r[0][i]=Math.min(r[0][i],h),r[1][i]=Math.max(r[1][i],h));else h=s.d2l(l[p],0,c),!isNaN(h)&&isFinite(h)&&(r[0][i]=Math.min(r[0][i],h),r[1][i]=Math.max(r[1][i],h));else r[0][i]=Math.min(r[0][i],0),r[1][i]=Math.max(r[1][i],u-1)}}w.plot=function(t,e,r){if(this.plotArgs=[t,e,r],!this.glplot.contextLost){var n,i,a,o,s,l,c=e[this.id],u=r[this.id];this.fullLayout=e,this.fullSceneLayout=c,this.axesOptions.merge(e,c),this.spikeOptions.merge(c),this.setViewport(c),this.updateFx(c.dragmode,c.hovermode),this.camera.enableWheel=this.graphDiv._context._scrollZoom.gl3d,this.glplot.setClearColor(g(c.bgcolor)),this.setConvert(s),t?Array.isArray(t)||(t=[t]):t=[];var f=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]];for(a=0;a<t.length;++a)!0===(n=t[a]).visible&&0!==n._length&&M(this,n,f);!function(t,e){for(var r=t.fullSceneLayout,n=r.annotations||[],i=0;i<3;i++)for(var a=k[i],o=a.charAt(0),s=r[a],l=0;l<n.length;l++){var c=n[l];if(c.visible){var u=s.r2l(c[o]);!isNaN(u)&&isFinite(u)&&(e[0][i]=Math.min(e[0][i],u),e[1][i]=Math.max(e[1][i],u))}}}(this,f);var h=[1,1,1];for(o=0;o<3;++o)f[1][o]===f[0][o]?h[o]=1:h[o]=1/(f[1][o]-f[0][o]);for(this.dataScale=h,this.convertAnnotations(this),a=0;a<t.length;++a)!0===(n=t[a]).visible&&0!==n._length&&((i=this.traces[n.uid])?i.data.type===n.type?i.update(n):(i.dispose(),i=n._module.plot(this,n),this.traces[n.uid]=i):(i=n._module.plot(this,n),this.traces[n.uid]=i),i.name=n.name);var p=Object.keys(this.traces);t:for(a=0;a<p.length;++a){for(o=0;o<t.length;++o)if(t[o].uid===p[a]&&!0===t[o].visible&&0!==t[o]._length)continue t;(i=this.traces[p[a]]).dispose(),delete this.traces[p[a]]}this.glplot.objects.sort((function(t,e){return t._trace.data.index-e._trace.data.index}));var d,m=[[0,0,0],[0,0,0]],v=[],y={};for(a=0;a<3;++a){if((l=(s=c[k[a]]).type)in y?(y[l].acc*=h[a],y[l].count+=1):y[l]={acc:h[a],count:1},s.autorange){m[0][a]=1/0,m[1][a]=-1/0;var x=this.glplot.objects,b=this.fullSceneLayout.annotations||[],_=s._name.charAt(0);for(o=0;o<x.length;o++){var w=x[o],T=w.bounds,A=w._trace.data._pad||0;"ErrorBars"===w.constructor.name&&s._lowerLogErrorBound?m[0][a]=Math.min(m[0][a],s._lowerLogErrorBound):m[0][a]=Math.min(m[0][a],T[0][a]/h[a]-A),m[1][a]=Math.max(m[1][a],T[1][a]/h[a]+A)}for(o=0;o<b.length;o++){var S=b[o];if(S.visible){var E=s.r2l(S[_]);m[0][a]=Math.min(m[0][a],E),m[1][a]=Math.max(m[1][a],E)}}if("rangemode"in s&&"tozero"===s.rangemode&&(m[0][a]=Math.min(m[0][a],0),m[1][a]=Math.max(m[1][a],0)),m[0][a]>m[1][a])m[0][a]=-1,m[1][a]=1;else{var C=m[1][a]-m[0][a];m[0][a]-=C/32,m[1][a]+=C/32}if("reversed"===s.autorange){var L=m[0][a];m[0][a]=m[1][a],m[1][a]=L}}else{var I=s.range;m[0][a]=s.r2l(I[0]),m[1][a]=s.r2l(I[1])}m[0][a]===m[1][a]&&(m[0][a]-=1,m[1][a]+=1),v[a]=m[1][a]-m[0][a],this.glplot.setBounds(a,{min:m[0][a]*h[a],max:m[1][a]*h[a]})}var P=c.aspectmode;if("cube"===P)d=[1,1,1];else if("manual"===P){var z=c.aspectratio;d=[z.x,z.y,z.z]}else{if("auto"!==P&&"data"!==P)throw new Error("scene.js aspectRatio was not one of the enumerated types");var O=[1,1,1];for(a=0;a<3;++a){var D=y[l=(s=c[k[a]]).type];O[a]=Math.pow(D.acc,1/D.count)/h[a]}d="data"===P||Math.max.apply(null,O)/Math.min.apply(null,O)<=4?O:[1,1,1]}c.aspectratio.x=u.aspectratio.x=d[0],c.aspectratio.y=u.aspectratio.y=d[1],c.aspectratio.z=u.aspectratio.z=d[2],this.glplot.setAspectratio(c.aspectratio),this.viewInitial.aspectratio||(this.viewInitial.aspectratio={x:c.aspectratio.x,y:c.aspectratio.y,z:c.aspectratio.z}),this.viewInitial.aspectmode||(this.viewInitial.aspectmode=c.aspectmode);var R=c.domain||null,F=e._size||null;if(R&&F){var B=this.container.style;B.position="absolute",B.left=F.l+R.x[0]*F.w+"px",B.top=F.t+(1-R.y[1])*F.h+"px",B.width=F.w*(R.x[1]-R.x[0])+"px",B.height=F.h*(R.y[1]-R.y[0])+"px"}this.glplot.redraw()}},w.destroy=function(){this.glplot&&(this.camera.mouseListener.enabled=!1,this.container.removeEventListener("wheel",this.camera.wheelListener),this.camera=null,this.glplot.dispose(),this.container.parentNode.removeChild(this.container),this.glplot=null)},w.getCamera=function(){var t;return this.camera.view.recalcMatrix(this.camera.view.lastT()),{up:{x:(t=this.camera).up[0],y:t.up[1],z:t.up[2]},center:{x:t.center[0],y:t.center[1],z:t.center[2]},eye:{x:t.eye[0],y:t.eye[1],z:t.eye[2]},projection:{type:!0===t._ortho?"orthographic":"perspective"}}},w.setViewport=function(t){var e,r=t.camera;this.camera.lookAt.apply(this,[[(e=r).eye.x,e.eye.y,e.eye.z],[e.center.x,e.center.y,e.center.z],[e.up.x,e.up.y,e.up.z]]),this.glplot.setAspectratio(t.aspectratio),"orthographic"===r.projection.type!==this.camera._ortho&&(this.glplot.redraw(),this.glplot.clearRGBA(),this.glplot.dispose(),this.initializeGLPlot())},w.isCameraChanged=function(t){var e=this.getCamera(),r=f.nestedProperty(t,this.id+".camera").get();function n(t,e,r,n){var i=["up","center","eye"],a=["x","y","z"];return e[i[r]]&&t[i[r]][a[n]]===e[i[r]][a[n]]}var i=!1;if(void 0===r)i=!0;else{for(var a=0;a<3;a++)for(var o=0;o<3;o++)if(!n(e,r,a,o)){i=!0;break}(!r.projection||e.projection&&e.projection.type!==r.projection.type)&&(i=!0)}return i},w.isAspectChanged=function(t){var e=this.glplot.getAspectratio(),r=f.nestedProperty(t,this.id+".aspectratio").get();return void 0===r||r.x!==e.x||r.y!==e.y||r.z!==e.z},w.saveLayout=function(t){var e,r,n,i,a,o,s=this.fullLayout,l=this.isCameraChanged(t),c=this.isAspectChanged(t),h=l||c;if(h){var p={};if(l&&(e=this.getCamera(),n=(r=f.nestedProperty(t,this.id+".camera")).get(),p[this.id+".camera"]=n),c&&(i=this.glplot.getAspectratio(),o=(a=f.nestedProperty(t,this.id+".aspectratio")).get(),p[this.id+".aspectratio"]=o),u.call("_storeDirectGUIEdit",t,s._preGUI,p),l)r.set(e),f.nestedProperty(s,this.id+".camera").set(e);if(c)a.set(i),f.nestedProperty(s,this.id+".aspectratio").set(i),this.glplot.redraw()}return h},w.updateFx=function(t,e){var r=this.camera;if(r)if("orbit"===t)r.mode="orbit",r.keyBindingMode="rotate";else if("turntable"===t){r.up=[0,0,1],r.mode="turntable",r.keyBindingMode="rotate";var n=this.graphDiv,i=n._fullLayout,a=this.fullSceneLayout.camera,o=a.up.x,s=a.up.y,l=a.up.z;if(l/Math.sqrt(o*o+s*s+l*l)<.999){var c=this.id+".camera.up",h={x:0,y:0,z:1},p={};p[c]=h;var d=n.layout;u.call("_storeDirectGUIEdit",d,i._preGUI,p),a.up=h,f.nestedProperty(d,c).set(h)}}else r.keyBindingMode=t;this.fullSceneLayout.hovermode=e},w.toImage=function(t){t||(t="png"),this.staticMode&&this.container.appendChild(n),this.glplot.redraw();var e=this.glplot.gl,r=e.drawingBufferWidth,i=e.drawingBufferHeight;e.bindFramebuffer(e.FRAMEBUFFER,null);var a=new Uint8Array(r*i*4);e.readPixels(0,0,r,i,e.RGBA,e.UNSIGNED_BYTE,a),function(t,e,r){for(var n=0,i=r-1;n<i;++n,--i)for(var a=0;a<e;++a)for(var o=0;o<4;++o){var s=4*(e*n+a)+o,l=4*(e*i+a)+o,c=t[s];t[s]=t[l],t[l]=c}}(a,r,i),function(t,e,r){for(var n=0;n<r;++n)for(var i=0;i<e;++i){var a=4*(e*n+i),o=t[a+3];if(o>0)for(var s=255/o,l=0;l<3;++l)t[a+l]=Math.min(s*t[a+l],255)}}(a,r,i);var o=document.createElement("canvas");o.width=r,o.height=i;var s,l=o.getContext("2d"),c=l.createImageData(r,i);switch(c.data.set(a),l.putImageData(c,0,0),t){case"jpeg":s=o.toDataURL("image/jpeg");break;case"webp":s=o.toDataURL("image/webp");break;default:s=o.toDataURL("image/png")}return this.staticMode&&this.container.removeChild(n),s},w.setConvert=function(){for(var t=0;t<3;t++){var e=this.fullSceneLayout[k[t]];p.setConvert(e,this.fullLayout),e.setScale=f.noop}},w.make4thDimension=function(){var t=this.graphDiv._fullLayout;this._mockAxis={type:"linear",showexponent:"all",exponentformat:"B"},p.setConvert(this._mockAxis,t)},e.exports=_},{"../../components/fx":683,"../../lib":778,"../../lib/show_no_webgl_msg":800,"../../lib/str2rgbarray":802,"../../plots/cartesian/axes":828,"../../registry":911,"./layout/convert":874,"./layout/spikes":877,"./layout/tick_marks":878,"./project":879,"gl-plot3d":321,"has-passive-events":441,"webgl-context":606}],881:[function(t,e,r){"use strict";e.exports=function(t,e,r,n){n=n||t.length;for(var i=new Array(n),a=0;a<n;a++)i[a]=[t[a],e[a],r[a]];return i}},{}],882:[function(t,e,r){"use strict";var n=t("./font_attributes"),i=t("./animation_attributes"),a=t("../components/color/attributes"),o=t("../components/shapes/draw_newshape/attributes"),s=t("./pad_attributes"),l=t("../lib/extend").extendFlat,c=n({editType:"calc"});c.family.dflt='"Open Sans", verdana, arial, sans-serif',c.size.dflt=12,c.color.dflt=a.defaultLine,e.exports={font:c,title:{text:{valType:"string",editType:"layoutstyle"},font:n({editType:"layoutstyle"}),xref:{valType:"enumerated",dflt:"container",values:["container","paper"],editType:"layoutstyle"},yref:{valType:"enumerated",dflt:"container",values:["container","paper"],editType:"layoutstyle"},x:{valType:"number",min:0,max:1,dflt:.5,editType:"layoutstyle"},y:{valType:"number",min:0,max:1,dflt:"auto",editType:"layoutstyle"},xanchor:{valType:"enumerated",dflt:"auto",values:["auto","left","center","right"],editType:"layoutstyle"},yanchor:{valType:"enumerated",dflt:"auto",values:["auto","top","middle","bottom"],editType:"layoutstyle"},pad:l(s({editType:"layoutstyle"}),{}),editType:"layoutstyle"},uniformtext:{mode:{valType:"enumerated",values:[!1,"hide","show"],dflt:!1,editType:"plot"},minsize:{valType:"number",min:0,dflt:0,editType:"plot"},editType:"plot"},autosize:{valType:"boolean",dflt:!1,editType:"none"},width:{valType:"number",min:10,dflt:700,editType:"plot"},height:{valType:"number",min:10,dflt:450,editType:"plot"},margin:{l:{valType:"number",min:0,dflt:80,editType:"plot"},r:{valType:"number",min:0,dflt:80,editType:"plot"},t:{valType:"number",min:0,dflt:100,editType:"plot"},b:{valType:"number",min:0,dflt:80,editType:"plot"},pad:{valType:"number",min:0,dflt:0,editType:"plot"},autoexpand:{valType:"boolean",dflt:!0,editType:"plot"},editType:"plot"},computed:{valType:"any",editType:"none"},paper_bgcolor:{valType:"color",dflt:a.background,editType:"plot"},plot_bgcolor:{valType:"color",dflt:a.background,editType:"layoutstyle"},autotypenumbers:{valType:"enumerated",values:["convert types","strict"],dflt:"convert types",editType:"calc"},separators:{valType:"string",editType:"plot"},hidesources:{valType:"boolean",dflt:!1,editType:"plot"},showlegend:{valType:"boolean",editType:"legend"},colorway:{valType:"colorlist",dflt:a.defaults,editType:"calc"},datarevision:{valType:"any",editType:"calc"},uirevision:{valType:"any",editType:"none"},editrevision:{valType:"any",editType:"none"},selectionrevision:{valType:"any",editType:"none"},template:{valType:"any",editType:"calc"},modebar:{orientation:{valType:"enumerated",values:["v","h"],dflt:"h",editType:"modebar"},bgcolor:{valType:"color",editType:"modebar"},color:{valType:"color",editType:"modebar"},activecolor:{valType:"color",editType:"modebar"},uirevision:{valType:"any",editType:"none"},editType:"modebar"},newshape:o.newshape,activeshape:o.activeshape,meta:{valType:"any",arrayOk:!0,editType:"plot"},transition:l({},i.transition,{editType:"none"}),_deprecated:{title:{valType:"string",editType:"layoutstyle"},titlefont:n({editType:"layoutstyle"})}}},{"../components/color/attributes":642,"../components/shapes/draw_newshape/attributes":725,"../lib/extend":768,"./animation_attributes":822,"./font_attributes":856,"./pad_attributes":890}],883:[function(t,e,r){"use strict";var n={"open-street-map":{id:"osm",version:8,sources:{"plotly-osm-tiles":{type:"raster",attribution:'<a href="http://www.openstreetmap.org/about/" target="_blank">\xa9 OpenStreetMap</a>',tiles:["https://a.tile.openstreetmap.org/{z}/{x}/{y}.png","https://b.tile.openstreetmap.org/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-osm-tiles",type:"raster",source:"plotly-osm-tiles",minzoom:0,maxzoom:22}]},"white-bg":{id:"white-bg",version:8,sources:{},layers:[{id:"white-bg",type:"background",paint:{"background-color":"#FFFFFF"},minzoom:0,maxzoom:22}]},"carto-positron":{id:"carto-positron",version:8,sources:{"plotly-carto-positron":{type:"raster",attribution:'<a href="https://carto.com/" target="_blank">\xa9 CARTO</a>',tiles:["https://cartodb-basemaps-c.global.ssl.fastly.net/light_all/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-carto-positron",type:"raster",source:"plotly-carto-positron",minzoom:0,maxzoom:22}]},"carto-darkmatter":{id:"carto-darkmatter",version:8,sources:{"plotly-carto-darkmatter":{type:"raster",attribution:'<a href="https://carto.com/" target="_blank">\xa9 CARTO</a>',tiles:["https://cartodb-basemaps-c.global.ssl.fastly.net/dark_all/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-carto-darkmatter",type:"raster",source:"plotly-carto-darkmatter",minzoom:0,maxzoom:22}]},"stamen-terrain":{id:"stamen-terrain",version:8,sources:{"plotly-stamen-terrain":{type:"raster",attribution:'Map tiles by <a href="http://stamen.com">Stamen Design</a>, under <a href="http://creativecommons.org/licenses/by/3.0">CC BY 3.0</a> | Data by <a href="http://openstreetmap.org">OpenStreetMap</a>, under <a href="http://www.openstreetmap.org/copyright">ODbL</a>.',tiles:["https://stamen-tiles.a.ssl.fastly.net/terrain/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-stamen-terrain",type:"raster",source:"plotly-stamen-terrain",minzoom:0,maxzoom:22}]},"stamen-toner":{id:"stamen-toner",version:8,sources:{"plotly-stamen-toner":{type:"raster",attribution:'Map tiles by <a href="http://stamen.com">Stamen Design</a>, under <a href="http://creativecommons.org/licenses/by/3.0">CC BY 3.0</a> | Data by <a href="http://openstreetmap.org">OpenStreetMap</a>, under <a href="http://www.openstreetmap.org/copyright">ODbL</a>.',tiles:["https://stamen-tiles.a.ssl.fastly.net/toner/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-stamen-toner",type:"raster",source:"plotly-stamen-toner",minzoom:0,maxzoom:22}]},"stamen-watercolor":{id:"stamen-watercolor",version:8,sources:{"plotly-stamen-watercolor":{type:"raster",attribution:'Map tiles by <a href="http://stamen.com">Stamen Design</a>, under <a href="http://creativecommons.org/licenses/by/3.0">CC BY 3.0</a> | Data by <a href="http://openstreetmap.org">OpenStreetMap</a>, under <a href="http://creativecommons.org/licenses/by-sa/3.0">CC BY SA</a>.',tiles:["https://stamen-tiles.a.ssl.fastly.net/watercolor/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-stamen-watercolor",type:"raster",source:"plotly-stamen-watercolor",minzoom:0,maxzoom:22}]}},i=Object.keys(n);e.exports={requiredVersion:"1.10.1",styleUrlPrefix:"mapbox://styles/mapbox/",styleUrlSuffix:"v9",styleValuesMapbox:["basic","streets","outdoors","light","dark","satellite","satellite-streets"],styleValueDflt:"basic",stylesNonMapbox:n,styleValuesNonMapbox:i,traceLayerPrefix:"plotly-trace-layer-",layoutLayerPrefix:"plotly-layout-layer-",wrongVersionErrorMsg:["Your custom plotly.js bundle is not using the correct mapbox-gl version","Please install mapbox-gl@1.10.1."].join("\n"),noAccessTokenErrorMsg:["Missing Mapbox access token.","Mapbox trace type require a Mapbox access token to be registered.","For example:"," Plotly.plot(gd, data, layout, { mapboxAccessToken: 'my-access-token' });","More info here: https://www.mapbox.com/help/define-access-token/"].join("\n"),missingStyleErrorMsg:["No valid mapbox style found, please set `mapbox.style` to one of:",i.join(", "),"or register a Mapbox access token to use a Mapbox-served style."].join("\n"),multipleTokensErrorMsg:["Set multiple mapbox access token across different mapbox subplot,","using first token found as mapbox-gl does not allow multipleaccess tokens on the same page."].join("\n"),mapOnErrorMsg:"Mapbox error.",mapboxLogo:{path0:"m 10.5,1.24 c -5.11,0 -9.25,4.15 -9.25,9.25 0,5.1 4.15,9.25 9.25,9.25 5.1,0 9.25,-4.15 9.25,-9.25 0,-5.11 -4.14,-9.25 -9.25,-9.25 z m 4.39,11.53 c -1.93,1.93 -4.78,2.31 -6.7,2.31 -0.7,0 -1.41,-0.05 -2.1,-0.16 0,0 -1.02,-5.64 2.14,-8.81 0.83,-0.83 1.95,-1.28 3.13,-1.28 1.27,0 2.49,0.51 3.39,1.42 1.84,1.84 1.89,4.75 0.14,6.52 z",path1:"M 10.5,-0.01 C 4.7,-0.01 0,4.7 0,10.49 c 0,5.79 4.7,10.5 10.5,10.5 5.8,0 10.5,-4.7 10.5,-10.5 C 20.99,4.7 16.3,-0.01 10.5,-0.01 Z m 0,19.75 c -5.11,0 -9.25,-4.15 -9.25,-9.25 0,-5.1 4.14,-9.26 9.25,-9.26 5.11,0 9.25,4.15 9.25,9.25 0,5.13 -4.14,9.26 -9.25,9.26 z",path2:"M 14.74,6.25 C 12.9,4.41 9.98,4.35 8.23,6.1 5.07,9.27 6.09,14.91 6.09,14.91 c 0,0 5.64,1.02 8.81,-2.14 C 16.64,11 16.59,8.09 14.74,6.25 Z m -2.27,4.09 -0.91,1.87 -0.9,-1.87 -1.86,-0.91 1.86,-0.9 0.9,-1.87 0.91,1.87 1.86,0.9 z",polygon:"11.56,12.21 10.66,10.34 8.8,9.43 10.66,8.53 11.56,6.66 12.47,8.53 14.33,9.43 12.47,10.34"},styleRules:{map:"overflow:hidden;position:relative;","missing-css":"display:none;",canary:"background-color:salmon;","ctrl-bottom-left":"position: absolute; pointer-events: none; z-index: 2; bottom: 0; left: 0;","ctrl-bottom-right":"position: absolute; pointer-events: none; z-index: 2; right: 0; bottom: 0;",ctrl:"clear: both; pointer-events: auto; transform: translate(0, 0);","ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-inner":"display: none;","ctrl-attrib.mapboxgl-compact:hover .mapboxgl-ctrl-attrib-inner":"display: block; margin-top:2px","ctrl-attrib.mapboxgl-compact:hover":"padding: 2px 24px 2px 4px; visibility: visible; margin-top: 6px;","ctrl-attrib.mapboxgl-compact::after":'content: ""; cursor: pointer; position: absolute; background-image: url(\'data:image/svg+xml;charset=utf-8,%3Csvg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"%3E %3Cpath fill="%23333333" fill-rule="evenodd" d="M4,10a6,6 0 1,0 12,0a6,6 0 1,0 -12,0 M9,7a1,1 0 1,0 2,0a1,1 0 1,0 -2,0 M9,10a1,1 0 1,1 2,0l0,3a1,1 0 1,1 -2,0"/%3E %3C/svg%3E\'); background-color: rgba(255, 255, 255, 0.5); width: 24px; height: 24px; box-sizing: border-box; border-radius: 12px;',"ctrl-attrib.mapboxgl-compact":"min-height: 20px; padding: 0; margin: 10px; position: relative; background-color: #fff; border-radius: 3px 12px 12px 3px;","ctrl-bottom-right > .mapboxgl-ctrl-attrib.mapboxgl-compact::after":"bottom: 0; right: 0","ctrl-bottom-left > .mapboxgl-ctrl-attrib.mapboxgl-compact::after":"bottom: 0; left: 0","ctrl-bottom-left .mapboxgl-ctrl":"margin: 0 0 10px 10px; float: left;","ctrl-bottom-right .mapboxgl-ctrl":"margin: 0 10px 10px 0; float: right;","ctrl-attrib":"color: rgba(0, 0, 0, 0.75); text-decoration: none; font-size: 12px","ctrl-attrib a":"color: rgba(0, 0, 0, 0.75); text-decoration: none; font-size: 12px","ctrl-attrib a:hover":"color: inherit; text-decoration: underline;","ctrl-attrib .mapbox-improve-map":"font-weight: bold; margin-left: 2px;","attrib-empty":"display: none;","ctrl-logo":'display:block; width: 21px; height: 21px; background-image: url(\'data:image/svg+xml;charset=utf-8,%3C?xml version="1.0" encoding="utf-8"?%3E %3Csvg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 21 21" style="enable-background:new 0 0 21 21;" xml:space="preserve"%3E%3Cg transform="translate(0,0.01)"%3E%3Cpath d="m 10.5,1.24 c -5.11,0 -9.25,4.15 -9.25,9.25 0,5.1 4.15,9.25 9.25,9.25 5.1,0 9.25,-4.15 9.25,-9.25 0,-5.11 -4.14,-9.25 -9.25,-9.25 z m 4.39,11.53 c -1.93,1.93 -4.78,2.31 -6.7,2.31 -0.7,0 -1.41,-0.05 -2.1,-0.16 0,0 -1.02,-5.64 2.14,-8.81 0.83,-0.83 1.95,-1.28 3.13,-1.28 1.27,0 2.49,0.51 3.39,1.42 1.84,1.84 1.89,4.75 0.14,6.52 z" style="opacity:0.9;fill:%23ffffff;enable-background:new" class="st0"/%3E%3Cpath d="M 10.5,-0.01 C 4.7,-0.01 0,4.7 0,10.49 c 0,5.79 4.7,10.5 10.5,10.5 5.8,0 10.5,-4.7 10.5,-10.5 C 20.99,4.7 16.3,-0.01 10.5,-0.01 Z m 0,19.75 c -5.11,0 -9.25,-4.15 -9.25,-9.25 0,-5.1 4.14,-9.26 9.25,-9.26 5.11,0 9.25,4.15 9.25,9.25 0,5.13 -4.14,9.26 -9.25,9.26 z" style="opacity:0.35;enable-background:new" class="st1"/%3E%3Cpath d="M 14.74,6.25 C 12.9,4.41 9.98,4.35 8.23,6.1 5.07,9.27 6.09,14.91 6.09,14.91 c 0,0 5.64,1.02 8.81,-2.14 C 16.64,11 16.59,8.09 14.74,6.25 Z m -2.27,4.09 -0.91,1.87 -0.9,-1.87 -1.86,-0.91 1.86,-0.9 0.9,-1.87 0.91,1.87 1.86,0.9 z" style="opacity:0.35;enable-background:new" class="st1"/%3E%3Cpolygon points="11.56,12.21 10.66,10.34 8.8,9.43 10.66,8.53 11.56,6.66 12.47,8.53 14.33,9.43 12.47,10.34 " style="opacity:0.9;fill:%23ffffff;enable-background:new" class="st0"/%3E%3C/g%3E%3C/svg%3E\')'}}},{}],884:[function(t,e,r){"use strict";var n=t("../../lib");e.exports=function(t,e){var r=t.split(" "),i=r[0],a=r[1],o=n.isArrayOrTypedArray(e)?n.mean(e):e,s=.5+o/100,l=1.5+o/100,c=["",""],u=[0,0];switch(i){case"top":c[0]="top",u[1]=-l;break;case"bottom":c[0]="bottom",u[1]=l}switch(a){case"left":c[1]="right",u[0]=-s;break;case"right":c[1]="left",u[0]=s}return{anchor:c[0]&&c[1]?c.join("-"):c[0]?c[0]:c[1]?c[1]:"center",offset:u}}},{"../../lib":778}],885:[function(t,e,r){"use strict";var n=t("mapbox-gl"),i=t("../../lib"),a=i.strTranslate,o=i.strScale,s=t("../../plots/get_data").getSubplotCalcData,l=t("../../constants/xmlns_namespaces"),c=t("d3"),u=t("../../components/drawing"),f=t("../../lib/svg_text_utils"),h=t("./mapbox"),p=r.constants=t("./constants");function d(t){return"string"==typeof t&&(-1!==p.styleValuesMapbox.indexOf(t)||0===t.indexOf("mapbox://"))}r.name="mapbox",r.attr="subplot",r.idRoot="mapbox",r.idRegex=r.attrRegex=i.counterRegex("mapbox"),r.attributes={subplot:{valType:"subplotid",dflt:"mapbox",editType:"calc"}},r.layoutAttributes=t("./layout_attributes"),r.supplyLayoutDefaults=t("./layout_defaults"),r.plot=function(t){var e=t._fullLayout,r=t.calcdata,a=e._subplots.mapbox;if(n.version!==p.requiredVersion)throw new Error(p.wrongVersionErrorMsg);var o=function(t,e){var r=t._fullLayout;if(""===t._context.mapboxAccessToken)return"";for(var n=[],a=[],o=!1,s=!1,l=0;l<e.length;l++){var c=r[e[l]],u=c.accesstoken;d(c.style)&&(u?i.pushUnique(n,u):(d(c._input.style)&&(i.error("Uses Mapbox map style, but did not set an access token."),o=!0),s=!0)),u&&i.pushUnique(a,u)}if(s){var f=o?p.noAccessTokenErrorMsg:p.missingStyleErrorMsg;throw i.error(f),new Error(f)}return n.length?(n.length>1&&i.warn(p.multipleTokensErrorMsg),n[0]):(a.length&&i.log(["Listed mapbox access token(s)",a.join(","),"but did not use a Mapbox map style, ignoring token(s)."].join(" ")),"")}(t,a);n.accessToken=o;for(var l=0;l<a.length;l++){var c=a[l],u=s(r,"mapbox",c),f=e[c],g=f._subplot;g||(g=new h(t,c),e[c]._subplot=g),g.viewInitial||(g.viewInitial={center:i.extendFlat({},f.center),zoom:f.zoom,bearing:f.bearing,pitch:f.pitch}),g.plot(u,e,t._promises)}},r.clean=function(t,e,r,n){for(var i=n._subplots.mapbox||[],a=0;a<i.length;a++){var o=i[a];!e[o]&&n[o]._subplot&&n[o]._subplot.destroy()}},r.toSVG=function(t){for(var e=t._fullLayout,r=e._subplots.mapbox,n=e._size,i=0;i<r.length;i++){var s=e[r[i]],h=s.domain,d=s._subplot.toImage("png");e._glimages.append("svg:image").attr({xmlns:l.svg,"xlink:href":d,x:n.l+n.w*h.x[0],y:n.t+n.h*(1-h.y[1]),width:n.w*(h.x[1]-h.x[0]),height:n.h*(h.y[1]-h.y[0]),preserveAspectRatio:"none"});var g=c.select(s._subplot.div);if(!(null===g.select(".mapboxgl-ctrl-logo").node().offsetParent)){var m=e._glimages.append("g");m.attr("transform",a(n.l+n.w*h.x[0]+10,n.t+n.h*(1-h.y[0])-31)),m.append("path").attr("d",p.mapboxLogo.path0).style({opacity:.9,fill:"#ffffff","enable-background":"new"}),m.append("path").attr("d",p.mapboxLogo.path1).style("opacity",.35).style("enable-background","new"),m.append("path").attr("d",p.mapboxLogo.path2).style("opacity",.35).style("enable-background","new"),m.append("polygon").attr("points",p.mapboxLogo.polygon).style({opacity:.9,fill:"#ffffff","enable-background":"new"})}var v=g.select(".mapboxgl-ctrl-attrib").text().replace("Improve this map",""),y=e._glimages.append("g"),x=y.append("text");x.text(v).classed("static-attribution",!0).attr({"font-size":12,"font-family":"Arial",color:"rgba(0, 0, 0, 0.75)","text-anchor":"end","data-unformatted":v});var b=u.bBox(x.node()),_=n.w*(h.x[1]-h.x[0]);if(b.width>_/2){var w=v.split("|").join("<br>");x.text(w).attr("data-unformatted",w).call(f.convertToTspans,t),b=u.bBox(x.node())}x.attr("transform",a(-3,8-b.height)),y.insert("rect",".static-attribution").attr({x:-b.width-6,y:-b.height-3,width:b.width+6,height:b.height+3,fill:"rgba(255, 255, 255, 0.75)"});var T=1;b.width+6>_&&(T=_/(b.width+6));var k=[n.l+n.w*h.x[1],n.t+n.h*(1-h.y[0])];y.attr("transform",a(k[0],k[1])+o(T))}},r.updateFx=function(t){for(var e=t._fullLayout,r=e._subplots.mapbox,n=0;n<r.length;n++){e[r[n]]._subplot.updateFx(e)}}},{"../../components/drawing":665,"../../constants/xmlns_namespaces":754,"../../lib":778,"../../lib/svg_text_utils":803,"../../plots/get_data":865,"./constants":883,"./layout_attributes":887,"./layout_defaults":888,"./mapbox":889,d3:169,"mapbox-gl":473}],886:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../lib/svg_text_utils").sanitizeHTML,a=t("./convert_text_opts"),o=t("./constants");function s(t,e){this.subplot=t,this.uid=t.uid+"-"+e,this.index=e,this.idSource="source-"+this.uid,this.idLayer=o.layoutLayerPrefix+this.uid,this.sourceType=null,this.source=null,this.layerType=null,this.below=null,this.visible=!1}var l=s.prototype;function c(t){if(!t.visible)return!1;var e=t.source;if(Array.isArray(e)&&e.length>0){for(var r=0;r<e.length;r++)if("string"!=typeof e[r]||0===e[r].length)return!1;return!0}return n.isPlainObject(e)||"string"==typeof e&&e.length>0}function u(t){var e={},r={};switch(t.type){case"circle":n.extendFlat(r,{"circle-radius":t.circle.radius,"circle-color":t.color,"circle-opacity":t.opacity});break;case"line":n.extendFlat(r,{"line-width":t.line.width,"line-color":t.color,"line-opacity":t.opacity,"line-dasharray":t.line.dash});break;case"fill":n.extendFlat(r,{"fill-color":t.color,"fill-outline-color":t.fill.outlinecolor,"fill-opacity":t.opacity});break;case"symbol":var i=t.symbol,o=a(i.textposition,i.iconsize);n.extendFlat(e,{"icon-image":i.icon+"-15","icon-size":i.iconsize/10,"text-field":i.text,"text-size":i.textfont.size,"text-anchor":o.anchor,"text-offset":o.offset,"symbol-placement":i.placement}),n.extendFlat(r,{"icon-color":t.color,"text-color":i.textfont.color,"text-opacity":t.opacity});break;case"raster":n.extendFlat(r,{"raster-fade-duration":0,"raster-opacity":t.opacity})}return{layout:e,paint:r}}l.update=function(t){this.visible?this.needsNewImage(t)?this.updateImage(t):this.needsNewSource(t)?(this.removeLayer(),this.updateSource(t),this.updateLayer(t)):this.needsNewLayer(t)?this.updateLayer(t):this.updateStyle(t):(this.updateSource(t),this.updateLayer(t)),this.visible=c(t)},l.needsNewImage=function(t){return this.subplot.map.getSource(this.idSource)&&"image"===this.sourceType&&"image"===t.sourcetype&&(this.source!==t.source||JSON.stringify(this.coordinates)!==JSON.stringify(t.coordinates))},l.needsNewSource=function(t){return this.sourceType!==t.sourcetype||JSON.stringify(this.source)!==JSON.stringify(t.source)||this.layerType!==t.type},l.needsNewLayer=function(t){return this.layerType!==t.type||this.below!==this.subplot.belowLookup["layout-"+this.index]},l.lookupBelow=function(){return this.subplot.belowLookup["layout-"+this.index]},l.updateImage=function(t){this.subplot.map.getSource(this.idSource).updateImage({url:t.source,coordinates:t.coordinates});var e=this.findFollowingMapboxLayerId(this.lookupBelow());null!==e&&this.subplot.map.moveLayer(this.idLayer,e)},l.updateSource=function(t){var e=this.subplot.map;if(e.getSource(this.idSource)&&e.removeSource(this.idSource),this.sourceType=t.sourcetype,this.source=t.source,c(t)){var r=function(t){var e,r=t.sourcetype,n=t.source,a={type:r};"geojson"===r?e="data":"vector"===r?e="string"==typeof n?"url":"tiles":"raster"===r?(e="tiles",a.tileSize=256):"image"===r&&(e="url",a.coordinates=t.coordinates);a[e]=n,t.sourceattribution&&(a.attribution=i(t.sourceattribution));return a}(t);e.addSource(this.idSource,r)}},l.findFollowingMapboxLayerId=function(t){if("traces"===t)for(var e=this.subplot.getMapLayers(),r=0;r<e.length;r++){var n=e[r].id;if("string"==typeof n&&0===n.indexOf(o.traceLayerPrefix)){t=n;break}}return t},l.updateLayer=function(t){var e=this.subplot,r=u(t),n=this.lookupBelow(),i=this.findFollowingMapboxLayerId(n);this.removeLayer(),c(t)&&e.addLayer({id:this.idLayer,source:this.idSource,"source-layer":t.sourcelayer||"",type:t.type,minzoom:t.minzoom,maxzoom:t.maxzoom,layout:r.layout,paint:r.paint},i),this.layerType=t.type,this.below=n},l.updateStyle=function(t){if(c(t)){var e=u(t);this.subplot.setOptions(this.idLayer,"setLayoutProperty",e.layout),this.subplot.setOptions(this.idLayer,"setPaintProperty",e.paint)}},l.removeLayer=function(){var t=this.subplot.map;t.getLayer(this.idLayer)&&t.removeLayer(this.idLayer)},l.dispose=function(){var t=this.subplot.map;t.getLayer(this.idLayer)&&t.removeLayer(this.idLayer),t.getSource(this.idSource)&&t.removeSource(this.idSource)},e.exports=function(t,e,r){var n=new s(t,e);return n.update(r),n}},{"../../lib":778,"../../lib/svg_text_utils":803,"./constants":883,"./convert_text_opts":884}],887:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../components/color").defaultLine,a=t("../domain").attributes,o=t("../font_attributes"),s=t("../../traces/scatter/attributes").textposition,l=t("../../plot_api/edit_types").overrideAll,c=t("../../plot_api/plot_template").templatedArray,u=t("./constants"),f=o({});f.family.dflt="Open Sans Regular, Arial Unicode MS Regular",(e.exports=l({_arrayAttrRegexps:[n.counterRegex("mapbox",".layers",!0)],domain:a({name:"mapbox"}),accesstoken:{valType:"string",noBlank:!0,strict:!0},style:{valType:"any",values:u.styleValuesMapbox.concat(u.styleValuesNonMapbox),dflt:u.styleValueDflt},center:{lon:{valType:"number",dflt:0},lat:{valType:"number",dflt:0}},zoom:{valType:"number",dflt:1},bearing:{valType:"number",dflt:0},pitch:{valType:"number",dflt:0},layers:c("layer",{visible:{valType:"boolean",dflt:!0},sourcetype:{valType:"enumerated",values:["geojson","vector","raster","image"],dflt:"geojson"},source:{valType:"any"},sourcelayer:{valType:"string",dflt:""},sourceattribution:{valType:"string"},type:{valType:"enumerated",values:["circle","line","fill","symbol","raster"],dflt:"circle"},coordinates:{valType:"any"},below:{valType:"string"},color:{valType:"color",dflt:i},opacity:{valType:"number",min:0,max:1,dflt:1},minzoom:{valType:"number",min:0,max:24,dflt:0},maxzoom:{valType:"number",min:0,max:24,dflt:24},circle:{radius:{valType:"number",dflt:15}},line:{width:{valType:"number",dflt:2},dash:{valType:"data_array"}},fill:{outlinecolor:{valType:"color",dflt:i}},symbol:{icon:{valType:"string",dflt:"marker"},iconsize:{valType:"number",dflt:10},text:{valType:"string",dflt:""},placement:{valType:"enumerated",values:["point","line","line-center"],dflt:"point"},textfont:f,textposition:n.extendFlat({},s,{arrayOk:!1})}})},"plot","from-root")).uirevision={valType:"any",editType:"none"}},{"../../components/color":643,"../../lib":778,"../../plot_api/edit_types":810,"../../plot_api/plot_template":817,"../../traces/scatter/attributes":1187,"../domain":855,"../font_attributes":856,"./constants":883}],888:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../subplot_defaults"),a=t("../array_container_defaults"),o=t("./layout_attributes");function s(t,e,r,n){r("accesstoken",n.accessToken),r("style"),r("center.lon"),r("center.lat"),r("zoom"),r("bearing"),r("pitch"),a(t,e,{name:"layers",handleItemDefaults:l}),e._input=t}function l(t,e){function r(r,i){return n.coerce(t,e,o.layers,r,i)}if(r("visible")){var i,a=r("sourcetype"),s="raster"===a||"image"===a;r("source"),r("sourceattribution"),"vector"===a&&r("sourcelayer"),"image"===a&&r("coordinates"),s&&(i="raster");var l=r("type",i);s&&"raster"!==l&&(l=e.type="raster",n.log("Source types *raster* and *image* must drawn *raster* layer type.")),r("below"),r("color"),r("opacity"),r("minzoom"),r("maxzoom"),"circle"===l&&r("circle.radius"),"line"===l&&(r("line.width"),r("line.dash")),"fill"===l&&r("fill.outlinecolor"),"symbol"===l&&(r("symbol.icon"),r("symbol.iconsize"),r("symbol.text"),n.coerceFont(r,"symbol.textfont"),r("symbol.textposition"),r("symbol.placement"))}}e.exports=function(t,e,r){i(t,e,r,{type:"mapbox",attributes:o,handleDefaults:s,partition:"y",accessToken:e._mapboxAccessToken})}},{"../../lib":778,"../array_container_defaults":823,"../subplot_defaults":905,"./layout_attributes":887}],889:[function(t,e,r){"use strict";var n=t("mapbox-gl"),i=t("../../lib"),a=t("../../lib/geo_location_utils"),o=t("../../registry"),s=t("../cartesian/axes"),l=t("../../components/dragelement"),c=t("../../components/fx"),u=t("../../components/dragelement/helpers"),f=u.rectMode,h=u.drawMode,p=u.selectMode,d=t("../cartesian/select").prepSelect,g=t("../cartesian/select").clearSelect,m=t("../cartesian/select").clearSelectionsCache,v=t("../cartesian/select").selectOnClick,y=t("./constants"),x=t("./layers");function b(t,e){this.id=e,this.gd=t;var r=t._fullLayout,n=t._context;this.container=r._glcontainer.node(),this.isStatic=n.staticPlot,this.uid=r._uid+"-"+this.id,this.div=null,this.xaxis=null,this.yaxis=null,this.createFramework(r),this.map=null,this.accessToken=null,this.styleObj=null,this.traceHash={},this.layerList=[],this.belowLookup={},this.dragging=!1,this.wheeling=!1}var _=b.prototype;_.plot=function(t,e,r){var n,i=this,a=e[i.id];i.map&&a.accesstoken!==i.accessToken&&(i.map.remove(),i.map=null,i.styleObj=null,i.traceHash={},i.layerList=[]),n=i.map?new Promise((function(r,n){i.updateMap(t,e,r,n)})):new Promise((function(r,n){i.createMap(t,e,r,n)})),r.push(n)},_.createMap=function(t,e,r,i){var o=this,s=e[o.id],l=o.styleObj=T(s.style);o.accessToken=s.accesstoken;var c=o.map=new n.Map({container:o.div,style:l.style,center:M(s.center),zoom:s.zoom,bearing:s.bearing,pitch:s.pitch,interactive:!o.isStatic,preserveDrawingBuffer:o.isStatic,doubleClickZoom:!1,boxZoom:!1,attributionControl:!1}).addControl(new n.AttributionControl({compact:!0}));c._canvas.style.left="0px",c._canvas.style.top="0px",o.rejectOnError(i),o.isStatic||o.initFx(t,e);var u=[];u.push(new Promise((function(t){c.once("load",t)}))),u=u.concat(a.fetchTraceGeoData(t)),Promise.all(u).then((function(){o.fillBelowLookup(t,e),o.updateData(t),o.updateLayout(e),o.resolveOnRender(r)})).catch(i)},_.updateMap=function(t,e,r,n){var i=this,o=i.map,s=e[this.id];i.rejectOnError(n);var l=[],c=T(s.style);JSON.stringify(i.styleObj)!==JSON.stringify(c)&&(i.styleObj=c,o.setStyle(c.style),i.traceHash={},l.push(new Promise((function(t){o.once("styledata",t)})))),l=l.concat(a.fetchTraceGeoData(t)),Promise.all(l).then((function(){i.fillBelowLookup(t,e),i.updateData(t),i.updateLayout(e),i.resolveOnRender(r)})).catch(n)},_.fillBelowLookup=function(t,e){var r,n,i=e[this.id].layers,a=this.belowLookup={},o=!1;for(r=0;r<t.length;r++){var s=t[r][0].trace,l=s._module;"string"==typeof s.below?n=s.below:l.getBelow&&(n=l.getBelow(s,this)),""===n&&(o=!0),a["trace-"+s.uid]=n||""}for(r=0;r<i.length;r++){var c=i[r];n="string"==typeof c.below?c.below:o?"traces":"",a["layout-"+r]=n}var u,f,h={};for(u in a)h[n=a[u]]?h[n].push(u):h[n]=[u];for(n in h){var p=h[n];if(p.length>1)for(r=0;r<p.length;r++)0===(u=p[r]).indexOf("trace-")?(f=u.split("trace-")[1],this.traceHash[f]&&(this.traceHash[f].below=null)):0===u.indexOf("layout-")&&(f=u.split("layout-")[1],this.layerList[f]&&(this.layerList[f].below=null))}};var w={choroplethmapbox:0,densitymapbox:1,scattermapbox:2};function T(t){var e={};return i.isPlainObject(t)?(e.id=t.id,e.style=t):"string"==typeof t?(e.id=t,-1!==y.styleValuesMapbox.indexOf(t)?e.style=k(t):y.stylesNonMapbox[t]?e.style=y.stylesNonMapbox[t]:e.style=t):(e.id=y.styleValueDflt,e.style=k(y.styleValueDflt)),e.transition={duration:0,delay:0},e}function k(t){return y.styleUrlPrefix+t+"-"+y.styleUrlSuffix}function M(t){return[t.lon,t.lat]}_.updateData=function(t){var e,r,n,i,a=this.traceHash,o=t.slice().sort((function(t,e){return w[t[0].trace.type]-w[e[0].trace.type]}));for(n=0;n<o.length;n++){var s=o[n],l=!1;(e=a[(r=s[0].trace).uid])&&(e.type===r.type?(e.update(s),l=!0):e.dispose()),!l&&r._module&&(a[r.uid]=r._module.plot(this,s))}var c=Object.keys(a);t:for(n=0;n<c.length;n++){var u=c[n];for(i=0;i<t.length;i++)if(u===(r=t[i][0].trace).uid)continue t;(e=a[u]).dispose(),delete a[u]}},_.updateLayout=function(t){var e=this.map,r=t[this.id];this.dragging||this.wheeling||(e.setCenter(M(r.center)),e.setZoom(r.zoom),e.setBearing(r.bearing),e.setPitch(r.pitch)),this.updateLayers(t),this.updateFramework(t),this.updateFx(t),this.map.resize(),this.gd._context._scrollZoom.mapbox?e.scrollZoom.enable():e.scrollZoom.disable()},_.resolveOnRender=function(t){var e=this.map;e.on("render",(function r(){e.loaded()&&(e.off("render",r),setTimeout(t,10))}))},_.rejectOnError=function(t){var e=this.map;function r(){t(new Error(y.mapOnErrorMsg))}e.once("error",r),e.once("style.error",r),e.once("source.error",r),e.once("tile.error",r),e.once("layer.error",r)},_.createFramework=function(t){var e=this,r=e.div=document.createElement("div");r.id=e.uid,r.style.position="absolute",e.container.appendChild(r),e.xaxis={_id:"x",c2p:function(t){return e.project(t).x}},e.yaxis={_id:"y",c2p:function(t){return e.project(t).y}},e.updateFramework(t),e.mockAxis={type:"linear",showexponent:"all",exponentformat:"B"},s.setConvert(e.mockAxis,t)},_.initFx=function(t,e){var r=this,n=r.gd,i=r.map;function a(){c.loneUnhover(e._hoverlayer)}function s(){var t=r.getView();n.emit("plotly_relayouting",r.getViewEditsWithDerived(t))}i.on("moveend",(function(t){if(r.map){var e=n._fullLayout;if(t.originalEvent||r.wheeling){var i=e[r.id];o.call("_storeDirectGUIEdit",n.layout,e._preGUI,r.getViewEdits(i));var a=r.getView();i._input.center=i.center=a.center,i._input.zoom=i.zoom=a.zoom,i._input.bearing=i.bearing=a.bearing,i._input.pitch=i.pitch=a.pitch,n.emit("plotly_relayout",r.getViewEditsWithDerived(a))}t.originalEvent&&"mouseup"===t.originalEvent.type?r.dragging=!1:r.wheeling&&(r.wheeling=!1),e._rehover&&e._rehover()}})),i.on("wheel",(function(){r.wheeling=!0})),i.on("mousemove",(function(t){var e=r.div.getBoundingClientRect(),a=[t.originalEvent.offsetX,t.originalEvent.offsetY];t.target.getBoundingClientRect=function(){return e},r.xaxis.p2c=function(){return i.unproject(a).lng},r.yaxis.p2c=function(){return i.unproject(a).lat},n._fullLayout._rehover=function(){n._fullLayout._hoversubplot===r.id&&n._fullLayout[r.id]&&c.hover(n,t,r.id)},c.hover(n,t,r.id),n._fullLayout._hoversubplot=r.id})),i.on("dragstart",(function(){r.dragging=!0,a()})),i.on("zoomstart",a),i.on("mouseout",(function(){n._fullLayout._hoversubplot=null})),i.on("drag",s),i.on("zoom",s),i.on("dblclick",(function(){var t=n._fullLayout[r.id];o.call("_storeDirectGUIEdit",n.layout,n._fullLayout._preGUI,r.getViewEdits(t));var e=r.viewInitial;i.setCenter(M(e.center)),i.setZoom(e.zoom),i.setBearing(e.bearing),i.setPitch(e.pitch);var a=r.getView();t._input.center=t.center=a.center,t._input.zoom=t.zoom=a.zoom,t._input.bearing=t.bearing=a.bearing,t._input.pitch=t.pitch=a.pitch,n.emit("plotly_doubleclick",null),n.emit("plotly_relayout",r.getViewEditsWithDerived(a))})),r.clearSelect=function(){m(r.dragOptions),g(r.dragOptions.gd)},r.onClickInPanFn=function(t){return function(e){var i=n._fullLayout.clickmode;i.indexOf("select")>-1&&v(e.originalEvent,n,[r.xaxis],[r.yaxis],r.id,t),i.indexOf("event")>-1&&c.click(n,e.originalEvent)}}},_.updateFx=function(t){var e=this,r=e.map,n=e.gd;if(!e.isStatic){var a,o=t.dragmode;a=f(o)?function(t,r){(t.range={})[e.id]=[c([r.xmin,r.ymin]),c([r.xmax,r.ymax])]}:function(t,r,n){(t.lassoPoints={})[e.id]=n.filtered.map(c)};var s=e.dragOptions;e.dragOptions=i.extendDeep(s||{},{dragmode:t.dragmode,element:e.div,gd:n,plotinfo:{id:e.id,domain:t[e.id].domain,xaxis:e.xaxis,yaxis:e.yaxis,fillRangeItems:a},xaxes:[e.xaxis],yaxes:[e.yaxis],subplot:e.id}),r.off("click",e.onClickInPanHandler),p(o)||h(o)?(r.dragPan.disable(),r.on("zoomstart",e.clearSelect),e.dragOptions.prepFn=function(t,r,n){d(t,r,n,e.dragOptions,o)},l.init(e.dragOptions)):(r.dragPan.enable(),r.off("zoomstart",e.clearSelect),e.div.onmousedown=null,e.onClickInPanHandler=e.onClickInPanFn(e.dragOptions),r.on("click",e.onClickInPanHandler))}function c(t){var r=e.map.unproject(t);return[r.lng,r.lat]}},_.updateFramework=function(t){var e=t[this.id].domain,r=t._size,n=this.div.style;n.width=r.w*(e.x[1]-e.x[0])+"px",n.height=r.h*(e.y[1]-e.y[0])+"px",n.left=r.l+e.x[0]*r.w+"px",n.top=r.t+(1-e.y[1])*r.h+"px",this.xaxis._offset=r.l+e.x[0]*r.w,this.xaxis._length=r.w*(e.x[1]-e.x[0]),this.yaxis._offset=r.t+(1-e.y[1])*r.h,this.yaxis._length=r.h*(e.y[1]-e.y[0])},_.updateLayers=function(t){var e,r=t[this.id].layers,n=this.layerList;if(r.length!==n.length){for(e=0;e<n.length;e++)n[e].dispose();for(n=this.layerList=[],e=0;e<r.length;e++)n.push(x(this,e,r[e]))}else for(e=0;e<r.length;e++)n[e].update(r[e])},_.destroy=function(){this.map&&(this.map.remove(),this.map=null,this.container.removeChild(this.div))},_.toImage=function(){return this.map.stop(),this.map.getCanvas().toDataURL()},_.setOptions=function(t,e,r){for(var n in r)this.map[e](t,n,r[n])},_.getMapLayers=function(){return this.map.getStyle().layers},_.addLayer=function(t,e){var r=this.map;if("string"==typeof e){if(""===e)return void r.addLayer(t,e);for(var n=this.getMapLayers(),a=0;a<n.length;a++)if(e===n[a].id)return void r.addLayer(t,e);i.warn(["Trying to add layer with *below* value",e,"referencing a layer that does not exist","or that does not yet exist."].join(" "))}r.addLayer(t)},_.project=function(t){return this.map.project(new n.LngLat(t[0],t[1]))},_.getView=function(){var t=this.map,e=t.getCenter(),r={lon:e.lng,lat:e.lat},n=t.getCanvas(),i=n.width,a=n.height;return{center:r,zoom:t.getZoom(),bearing:t.getBearing(),pitch:t.getPitch(),_derived:{coordinates:[t.unproject([0,0]).toArray(),t.unproject([i,0]).toArray(),t.unproject([i,a]).toArray(),t.unproject([0,a]).toArray()]}}},_.getViewEdits=function(t){for(var e=this.id,r=["center","zoom","bearing","pitch"],n={},i=0;i<r.length;i++){var a=r[i];n[e+"."+a]=t[a]}return n},_.getViewEditsWithDerived=function(t){var e=this.id,r=this.getViewEdits(t);return r[e+"._derived"]=t._derived,r},e.exports=b},{"../../components/dragelement":662,"../../components/dragelement/helpers":661,"../../components/fx":683,"../../lib":778,"../../lib/geo_location_utils":771,"../../registry":911,"../cartesian/axes":828,"../cartesian/select":847,"./constants":883,"./layers":886,"mapbox-gl":473}],890:[function(t,e,r){"use strict";e.exports=function(t){var e=t.editType;return{t:{valType:"number",dflt:0,editType:e},r:{valType:"number",dflt:0,editType:e},b:{valType:"number",dflt:0,editType:e},l:{valType:"number",dflt:0,editType:e},editType:e}}},{}],891:[function(t,e,r){"use strict";var n=t("d3"),i=t("d3-time-format").timeFormatLocale,a=t("fast-isnumeric"),o=t("../registry"),s=t("../plot_api/plot_schema"),l=t("../plot_api/plot_template"),c=t("../lib"),u=t("../components/color"),f=t("../constants/numerical").BADNUM,h=t("./cartesian/axis_ids"),p=t("./cartesian/handle_outline").clearSelect,d=t("./animation_attributes"),g=t("./frame_attributes"),m=t("../plots/get_data").getModuleCalcData,v=c.relinkPrivateKeys,y=c._,x=e.exports={};c.extendFlat(x,o),x.attributes=t("./attributes"),x.attributes.type.values=x.allTypes,x.fontAttrs=t("./font_attributes"),x.layoutAttributes=t("./layout_attributes"),x.fontWeight="normal";var b=x.transformsRegistry,_=t("./command");x.executeAPICommand=_.executeAPICommand,x.computeAPICommandBindings=_.computeAPICommandBindings,x.manageCommandObserver=_.manageCommandObserver,x.hasSimpleAPICommandBindings=_.hasSimpleAPICommandBindings,x.redrawText=function(t){var e=(t=c.getGraphDiv(t))._fullLayout||{};if(!(!(e._has&&e._has("polar"))&&t.data&&t.data[0]&&t.data[0].r))return new Promise((function(e){setTimeout((function(){o.getComponentMethod("annotations","draw")(t),o.getComponentMethod("legend","draw")(t),o.getComponentMethod("colorbar","draw")(t),e(x.previousPromises(t))}),300)}))},x.resize=function(t){var e;t=c.getGraphDiv(t);var r=new Promise((function(r,n){t&&!c.isHidden(t)||n(new Error("Resize must be passed a displayed plot div element.")),t._redrawTimer&&clearTimeout(t._redrawTimer),t._resolveResize&&(e=t._resolveResize),t._resolveResize=r,t._redrawTimer=setTimeout((function(){if(!t.layout||t.layout.width&&t.layout.height||c.isHidden(t))r(t);else{delete t.layout.width,delete t.layout.height;var e=t.changed;t.autoplay=!0,o.call("relayout",t,{autosize:!0}).then((function(){t.changed=e,t._resolveResize===r&&(delete t._resolveResize,r(t))}))}}),100)}));return e&&e(r),r},x.previousPromises=function(t){if((t._promises||[]).length)return Promise.all(t._promises).then((function(){t._promises=[]}))},x.addLinks=function(t){if(t._context.showLink||t._context.showSources){var e=t._fullLayout,r=c.ensureSingle(e._paper,"text","js-plot-link-container",(function(t){t.style({"font-family":'"Open Sans", Arial, sans-serif',"font-size":"12px",fill:u.defaultLine,"pointer-events":"all"}).each((function(){var t=n.select(this);t.append("tspan").classed("js-link-to-tool",!0),t.append("tspan").classed("js-link-spacer",!0),t.append("tspan").classed("js-sourcelinks",!0)}))})),i=r.node(),a={y:e._paper.attr("height")-9};document.body.contains(i)&&i.getComputedTextLength()>=e.width-20?(a["text-anchor"]="start",a.x=5):(a["text-anchor"]="end",a.x=e._paper.attr("width")-7),r.attr(a);var o=r.select(".js-link-to-tool"),s=r.select(".js-link-spacer"),l=r.select(".js-sourcelinks");t._context.showSources&&t._context.showSources(t),t._context.showLink&&function(t,e){e.text("");var r=e.append("a").attr({"xlink:xlink:href":"#",class:"link--impt link--embedview","font-weight":"bold"}).text(t._context.linkText+" "+String.fromCharCode(187));if(t._context.sendData)r.on("click",(function(){x.sendDataToCloud(t)}));else{var n=window.location.pathname.split("/"),i=window.location.search;r.attr({"xlink:xlink:show":"new","xlink:xlink:href":"/"+n[2].split(".")[0]+"/"+n[1]+i})}}(t,o),s.text(o.text()&&l.text()?" - ":"")}},x.sendDataToCloud=function(t){var e=(window.PLOTLYENV||{}).BASE_URL||t._context.plotlyServerURL;if(e){t.emit("plotly_beforeexport");var r=n.select(t).append("div").attr("id","hiddenform").style("display","none"),i=r.append("form").attr({action:e+"/external",method:"post",target:"_blank"});return i.append("input").attr({type:"text",name:"data"}).node().value=x.graphJson(t,!1,"keepdata"),i.node().submit(),r.remove(),t.emit("plotly_afterexport"),!1}};var w=["days","shortDays","months","shortMonths","periods","dateTime","date","time","decimal","thousands","grouping","currency"],T=["year","month","dayMonth","dayMonthYear"];function k(t,e){var r=t._context.locale;r||(r="en-US");var n=!1,i={};function a(t){for(var r=!0,a=0;a<e.length;a++){var o=e[a];i[o]||(t[o]?i[o]=t[o]:r=!1)}r&&(n=!0)}for(var s=0;s<2;s++){for(var l=t._context.locales,c=0;c<2;c++){var u=(l[r]||{}).format;if(u&&(a(u),n))break;l=o.localeRegistry}var f=r.split("-")[0];if(n||f===r)break;r=f}return n||a(o.localeRegistry.en.format),i}function M(t,e){var r={_fullLayout:e},n="x"===t._id.charAt(0),i=t._mainAxis._anchorAxis,a="",o="",s="";if(i&&(s=i._mainAxis._id,a=n?t._id+s:s+t._id),!a||!e._plots[a]){a="";for(var l=t._counterAxes,c=0;c<l.length;c++){var u=l[c],f=n?t._id+u:u+t._id;o||(o=f);var p=h.getFromId(r,u);if(s&&p.overlaying===s){a=f;break}}}return a||o}function A(t){var e=t.transforms;if(Array.isArray(e)&&e.length)for(var r=0;r<e.length;r++){var n=e[r],i=n._module||b[n.type];if(i&&i.makesData)return!0}return!1}function S(t,e,r,n){for(var i=t.transforms,a=[t],o=0;o<i.length;o++){var s=i[o],l=b[s.type];l&&l.transform&&(a=l.transform(a,{transform:s,fullTrace:t,fullData:e,layout:r,fullLayout:n,transformIndex:o}))}return a}function E(t){return"string"==typeof t&&"px"===t.substr(t.length-2)&&parseFloat(t)}function C(t){var e=t.margin;if(!t._size){var r=t._size={l:Math.round(e.l),r:Math.round(e.r),t:Math.round(e.t),b:Math.round(e.b),p:Math.round(e.pad)};r.w=Math.round(t.width)-r.l-r.r,r.h=Math.round(t.height)-r.t-r.b}t._pushmargin||(t._pushmargin={}),t._pushmarginIds||(t._pushmarginIds={})}x.supplyDefaults=function(t,e){var r=e&&e.skipUpdateCalc,a=t._fullLayout||{};if(a._skipDefaults)delete a._skipDefaults;else{var s,l=t._fullLayout={},u=t.layout||{},f=t._fullData||[],h=t._fullData=[],d=t.data||[],g=t.calcdata||[],m=t._context||{};t._transitionData||x.createTransitionData(t),l._dfltTitle={plot:y(t,"Click to enter Plot title"),x:y(t,"Click to enter X axis title"),y:y(t,"Click to enter Y axis title"),colorbar:y(t,"Click to enter Colorscale title"),annotation:y(t,"new text")},l._traceWord=y(t,"trace");var b=k(t,w);if(l._mapboxAccessToken=m.mapboxAccessToken,a._initialAutoSizeIsDone){var _=a.width,M=a.height;x.supplyLayoutGlobalDefaults(u,l,b),u.width||(l.width=_),u.height||(l.height=M),x.sanitizeMargins(l)}else{x.supplyLayoutGlobalDefaults(u,l,b);var A=!u.width||!u.height,S=l.autosize,E=m.autosizable;A&&(S||E)?x.plotAutoSize(t,u,l):A&&x.sanitizeMargins(l),!S&&A&&(u.width=l.width,u.height=l.height)}l._d3locale=function(t,e){return t.decimal=e.charAt(0),t.thousands=e.charAt(1),{numberFormat:n.locale(t).numberFormat,timeFormat:i(t).utcFormat}}(b,l.separators),l._extraFormat=k(t,T),l._initialAutoSizeIsDone=!0,l._dataLength=d.length,l._modules=[],l._visibleModules=[],l._basePlotModules=[];var L=l._subplots=function(){var t,e,r=o.collectableSubplotTypes,n={};if(!r){r=[];var i=o.subplotsRegistry;for(var a in i){var s=i[a].attr;if(s&&(r.push(a),Array.isArray(s)))for(e=0;e<s.length;e++)c.pushUnique(r,s[e])}}for(t=0;t<r.length;t++)n[r[t]]=[];return n}(),I=l._splomAxes={x:{},y:{}},P=l._splomSubplots={};l._splomGridDflt={},l._scatterStackOpts={},l._firstScatter={},l._alignmentOpts={},l._colorAxes={},l._requestRangeslider={},l._traceUids=function(t,e){var r,n,i=e.length,a=[];for(r=0;r<t.length;r++){var o=t[r]._fullInput;o!==n&&a.push(o),n=o}var s=a.length,l=new Array(i),u={};function f(t,e){l[e]=t,u[t]=1}function h(t,e){if(t&&"string"==typeof t&&!u[t])return f(t,e),!0}for(r=0;r<i;r++){var p=e[r].uid;"number"==typeof p&&(p=String(p)),h(p,r)||(r<s&&h(a[r].uid,r)||f(c.randstr(u),r))}return l}(f,d),l._globalTransforms=(t._context||{}).globalTransforms,x.supplyDataDefaults(d,h,u,l);var z=Object.keys(I.x),O=Object.keys(I.y);if(z.length>1&&O.length>1){for(o.getComponentMethod("grid","sizeDefaults")(u,l),s=0;s<z.length;s++)c.pushUnique(L.xaxis,z[s]);for(s=0;s<O.length;s++)c.pushUnique(L.yaxis,O[s]);for(var D in P)c.pushUnique(L.cartesian,D)}if(l._has=x._hasPlotType.bind(l),f.length===h.length)for(s=0;s<h.length;s++)v(h[s],f[s]);x.supplyLayoutModuleDefaults(u,l,h,t._transitionData);var R=l._visibleModules,F=[];for(s=0;s<R.length;s++){var B=R[s].crossTraceDefaults;B&&c.pushUnique(F,B)}for(s=0;s<F.length;s++)F[s](h,l);l._hasOnlyLargeSploms=1===l._basePlotModules.length&&"splom"===l._basePlotModules[0].name&&z.length>15&&O.length>15&&0===l.shapes.length&&0===l.images.length,l._hasCartesian=l._has("cartesian"),l._hasGeo=l._has("geo"),l._hasGL3D=l._has("gl3d"),l._hasGL2D=l._has("gl2d"),l._hasTernary=l._has("ternary"),l._hasPie=l._has("pie"),x.linkSubplots(h,l,f,a),x.cleanPlot(h,l,f,a);var N=!(!a._has||!a._has("gl2d")),j=!(!l._has||!l._has("gl2d")),U=!(!a._has||!a._has("cartesian"))||N,V=!(!l._has||!l._has("cartesian"))||j;U&&!V?a._bgLayer.remove():V&&!U&&(l._shouldCreateBgLayer=!0),a._zoomlayer&&!t._dragging&&p({_fullLayout:a}),function(t,e){var r,n=[];e.meta&&(r=e._meta={meta:e.meta,layout:{meta:e.meta}});for(var i=0;i<t.length;i++){var a=t[i];a.meta?n[a.index]=a._meta={meta:a.meta}:e.meta&&(a._meta={meta:e.meta}),e.meta&&(a._meta.layout={meta:e.meta})}n.length&&(r||(r=e._meta={}),r.data=n)}(h,l),v(l,a),o.getComponentMethod("colorscale","crossTraceDefaults")(h,l),l._preGUI||(l._preGUI={}),l._tracePreGUI||(l._tracePreGUI={});var q,H=l._tracePreGUI,G={};for(q in H)G[q]="old";for(s=0;s<h.length;s++)G[q=h[s]._fullInput.uid]||(H[q]={}),G[q]="new";for(q in G)"old"===G[q]&&delete H[q];C(l),o.getComponentMethod("rangeslider","makeData")(l),r||g.length!==h.length||x.supplyDefaultsUpdateCalc(g,h)}},x.supplyDefaultsUpdateCalc=function(t,e){for(var r=0;r<e.length;r++){var n=e[r],i=(t[r]||[])[0];if(i&&i.trace){var a=i.trace;if(a._hasCalcTransform){var o,s,l,u=a._arrayAttrs;for(o=0;o<u.length;o++)s=u[o],l=c.nestedProperty(a,s).get().slice(),c.nestedProperty(n,s).set(l)}i.trace=n}}},x.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=[])},x._hasPlotType=function(t){var e,r=this._basePlotModules||[];for(e=0;e<r.length;e++)if(r[e].name===t)return!0;var n=this._modules||[];for(e=0;e<n.length;e++){var i=n[e].name;if(i===t)return!0;var a=o.modules[i];if(a&&a.categories[t])return!0}return!1},x.cleanPlot=function(t,e,r,n){var i,a,o=n._basePlotModules||[];for(i=0;i<o.length;i++){var s=o[i];s.clean&&s.clean(t,e,r,n)}var l=n._has&&n._has("gl"),c=e._has&&e._has("gl");l&&!c&&void 0!==n._glcontainer&&(n._glcontainer.selectAll(".gl-canvas").remove(),n._glcontainer.selectAll(".no-webgl").remove(),n._glcanvas=null);var u=!!n._infolayer;t:for(i=0;i<r.length;i++){var f=r[i].uid;for(a=0;a<t.length;a++){if(f===t[a].uid)continue t}u&&n._infolayer.select(".cb"+f).remove()}},x.linkSubplots=function(t,e,r,n){var i,a,s=n._plots||{},l=e._plots={},u=e._subplots,f={_fullData:t,_fullLayout:e},p=u.cartesian.concat(u.gl2d||[]);for(i=0;i<p.length;i++){var d,g=p[i],m=s[g],v=h.getFromId(f,g,"x"),y=h.getFromId(f,g,"y");for(m?d=l[g]=m:(d=l[g]={}).id=g,v._counterAxes.push(y._id),y._counterAxes.push(v._id),v._subplotsWith.push(g),y._subplotsWith.push(g),d.xaxis=v,d.yaxis=y,d._hasClipOnAxisFalse=!1,a=0;a<t.length;a++){var x=t[a];if(x.xaxis===d.xaxis._id&&x.yaxis===d.yaxis._id&&!1===x.cliponaxis){d._hasClipOnAxisFalse=!0;break}}}var b,_=h.list(f,null,!0);for(i=0;i<_.length;i++){var w=null;(b=_[i]).overlaying&&(w=h.getFromId(f,b.overlaying))&&w.overlaying&&(b.overlaying=!1,w=null),b._mainAxis=w||b,w&&(b.domain=w.domain.slice()),b._anchorAxis="free"===b.anchor?null:h.getFromId(f,b.anchor)}for(i=0;i<_.length;i++)if((b=_[i])._counterAxes.sort(h.idSort),b._subplotsWith.sort(c.subplotSort),b._mainSubplot=M(b,e),b._counterAxes.length&&(b.spikemode&&-1!==b.spikemode.indexOf("across")||b.automargin&&b.mirror&&"free"!==b.anchor||o.getComponentMethod("rangeslider","isVisible")(b))){var T=1,k=0;for(a=0;a<b._counterAxes.length;a++){var A=h.getFromId(f,b._counterAxes[a]);T=Math.min(T,A.domain[0]),k=Math.max(k,A.domain[1])}T<k&&(b._counterDomainMin=T,b._counterDomainMax=k)}},x.clearExpandedTraceDefaultColors=function(t){var e,r,n;for(r=[],(e=t._module._colorAttrs)||(t._module._colorAttrs=e=[],s.crawl(t._module.attributes,(function(t,n,i,a){r[a]=n,r.length=a+1,"color"===t.valType&&void 0===t.dflt&&e.push(r.join("."))}))),n=0;n<e.length;n++){c.nestedProperty(t,"_input."+e[n]).get()||c.nestedProperty(t,e[n]).set(null)}},x.supplyDataDefaults=function(t,e,r,n){var i,a,s,u=n._modules,f=n._visibleModules,h=n._basePlotModules,p=0,d=0;function g(t){e.push(t);var r=t._module;r&&(c.pushUnique(u,r),!0===t.visible&&c.pushUnique(f,r),c.pushUnique(h,t._module.basePlotModule),p++,!1!==t._input.visible&&d++)}n._transformModules=[];var m={},y=[],b=(r.template||{}).data||{},_=l.traceTemplater(b);for(i=0;i<t.length;i++){if(s=t[i],(a=_.newTrace(s)).uid=n._traceUids[i],x.supplyTraceDefaults(s,a,d,n,i),a.index=i,a._input=s,a._expandedIndex=p,a.transforms&&a.transforms.length)for(var w=!1!==s.visible&&!1===a.visible,T=S(a,e,r,n),k=0;k<T.length;k++){var M=T[k],A={_template:a._template,type:a.type,uid:a.uid+k};w&&!1===M.visible&&delete M.visible,x.supplyTraceDefaults(M,A,p,n,i),v(A,M),A.index=i,A._input=s,A._fullInput=a,A._expandedIndex=p,A._expandedInput=M,g(A)}else a._fullInput=a,a._expandedInput=a,g(a);o.traceIs(a,"carpetAxis")&&(m[a.carpet]=a),o.traceIs(a,"carpetDependent")&&y.push(i)}for(i=0;i<y.length;i++)if((a=e[y[i]]).visible){var E=m[a.carpet];a._carpet=E,E&&E.visible?(a.xaxis=E.xaxis,a.yaxis=E.yaxis):a.visible=!1}},x.supplyAnimationDefaults=function(t){var e;t=t||{};var r={};function n(e,n){return c.coerce(t||{},r,d,e,n)}if(n("mode"),n("direction"),n("fromcurrent"),Array.isArray(t.frame))for(r.frame=[],e=0;e<t.frame.length;e++)r.frame[e]=x.supplyAnimationFrameDefaults(t.frame[e]||{});else r.frame=x.supplyAnimationFrameDefaults(t.frame||{});if(Array.isArray(t.transition))for(r.transition=[],e=0;e<t.transition.length;e++)r.transition[e]=x.supplyAnimationTransitionDefaults(t.transition[e]||{});else r.transition=x.supplyAnimationTransitionDefaults(t.transition||{});return r},x.supplyAnimationFrameDefaults=function(t){var e={};function r(r,n){return c.coerce(t||{},e,d.frame,r,n)}return r("duration"),r("redraw"),e},x.supplyAnimationTransitionDefaults=function(t){var e={};function r(r,n){return c.coerce(t||{},e,d.transition,r,n)}return r("duration"),r("easing"),e},x.supplyFrameDefaults=function(t){var e={};function r(r,n){return c.coerce(t,e,g,r,n)}return r("group"),r("name"),r("traces"),r("baseframe"),r("data"),r("layout"),e},x.supplyTraceDefaults=function(t,e,r,n,i){var a,s=n.colorway||u.defaults,l=s[r%s.length];function f(r,n){return c.coerce(t,e,x.attributes,r,n)}var h=f("visible");f("type"),f("name",n._traceWord+" "+i),f("uirevision",n.uirevision);var p=x.getModule(e);if(e._module=p,p){var d=p.basePlotModule,g=d.attr,m=d.attributes;if(g&&m){var v=n._subplots,y="";if(h||"gl2d"!==d.name){if(Array.isArray(g))for(a=0;a<g.length;a++){var b=g[a],_=c.coerce(t,e,m,b);v[b]&&c.pushUnique(v[b],_),y+=_}else y=c.coerce(t,e,m,g);v[d.name]&&c.pushUnique(v[d.name],y)}}}return h&&(f("customdata"),f("ids"),f("meta"),o.traceIs(e,"showLegend")?(c.coerce(t,e,p.attributes.showlegend?p.attributes:x.attributes,"showlegend"),f("legendgroup"),e._dfltShowLegend=!0):e._dfltShowLegend=!1,p&&p.supplyDefaults(t,e,l,n),o.traceIs(e,"noOpacity")||f("opacity"),o.traceIs(e,"notLegendIsolatable")&&(e.visible=!!e.visible),o.traceIs(e,"noHover")||(e.hovertemplate||c.coerceHoverinfo(t,e,n),"parcats"!==e.type&&o.getComponentMethod("fx","supplyDefaults")(t,e,l,n)),p&&p.selectPoints&&f("selectedpoints"),x.supplyTransformDefaults(t,e,n)),e},x.hasMakesDataTransform=A,x.supplyTransformDefaults=function(t,e,r){if(e._length||A(t)){var n=r._globalTransforms||[],i=r._transformModules||[];if(Array.isArray(t.transforms)||0!==n.length)for(var a=t.transforms||[],o=n.concat(a),s=e.transforms=[],l=0;l<o.length;l++){var u,f=o[l],h=f.type,p=b[h],d=!(f._module&&f._module===p),g=p&&"function"==typeof p.transform;p||c.warn("Unrecognized transform type "+h+"."),p&&p.supplyDefaults&&(d||g)?((u=p.supplyDefaults(f,e,r,t)).type=h,u._module=p,c.pushUnique(i,p)):u=c.extendFlat({},f),s.push(u)}}},x.supplyLayoutGlobalDefaults=function(t,e,r){function n(r,n){return c.coerce(t,e,x.layoutAttributes,r,n)}var i=t.template;c.isPlainObject(i)&&(e.template=i,e._template=i.layout,e._dataTemplate=i.data),n("autotypenumbers");var a=c.coerceFont(n,"font");n("title.text",e._dfltTitle.plot),c.coerceFont(n,"title.font",{family:a.family,size:Math.round(1.4*a.size),color:a.color}),n("title.xref"),n("title.yref"),n("title.x"),n("title.y"),n("title.xanchor"),n("title.yanchor"),n("title.pad.t"),n("title.pad.r"),n("title.pad.b"),n("title.pad.l"),n("uniformtext.mode")&&n("uniformtext.minsize"),n("autosize",!(t.width&&t.height)),n("width"),n("height"),n("margin.l"),n("margin.r"),n("margin.t"),n("margin.b"),n("margin.pad"),n("margin.autoexpand"),t.width&&t.height&&x.sanitizeMargins(e),o.getComponentMethod("grid","sizeDefaults")(t,e),n("paper_bgcolor"),n("separators",r.decimal+r.thousands),n("hidesources"),n("colorway"),n("datarevision");var s=n("uirevision");n("editrevision",s),n("selectionrevision",s),n("modebar.orientation"),n("modebar.bgcolor",u.addOpacity(e.paper_bgcolor,.5));var l=u.contrast(u.rgb(e.modebar.bgcolor));n("modebar.color",u.addOpacity(l,.3)),n("modebar.activecolor",u.addOpacity(l,.7)),n("modebar.uirevision",s),o.getComponentMethod("shapes","supplyDrawNewShapeDefaults")(t,e,n),n("meta"),c.isPlainObject(t.transition)&&(n("transition.duration"),n("transition.easing"),n("transition.ordering")),o.getComponentMethod("calendars","handleDefaults")(t,e,"calendar"),o.getComponentMethod("fx","supplyLayoutGlobalDefaults")(t,e,n)},x.plotAutoSize=function(t,e,r){var n,i,o=t._context||{},s=o.frameMargins,l=c.isPlotDiv(t);if(l&&t.emit("plotly_autosize"),o.fillFrame)n=window.innerWidth,i=window.innerHeight,document.body.style.overflow="hidden";else{var u=l?window.getComputedStyle(t):{};if(n=E(u.width)||E(u.maxWidth)||r.width,i=E(u.height)||E(u.maxHeight)||r.height,a(s)&&s>0){var f=1-2*s;n=Math.round(f*n),i=Math.round(f*i)}}var h=x.layoutAttributes.width.min,p=x.layoutAttributes.height.min;n<h&&(n=h),i<p&&(i=p);var d=!e.width&&Math.abs(r.width-n)>1,g=!e.height&&Math.abs(r.height-i)>1;(g||d)&&(d&&(r.width=n),g&&(r.height=i)),t._initialAutoSize||(t._initialAutoSize={width:n,height:i}),x.sanitizeMargins(r)},x.supplyLayoutModuleDefaults=function(t,e,r,n){var i,a,s,l=o.componentsRegistry,u=e._basePlotModules,f=o.subplotsRegistry.cartesian;for(i in l)(s=l[i]).includeBasePlot&&s.includeBasePlot(t,e);for(var h in u.length||u.push(f),e._has("cartesian")&&(o.getComponentMethod("grid","contentDefaults")(t,e),f.finalizeSubplots(t,e)),e._subplots)e._subplots[h].sort(c.subplotSort);for(a=0;a<u.length;a++)(s=u[a]).supplyLayoutDefaults&&s.supplyLayoutDefaults(t,e,r);var p=e._modules;for(a=0;a<p.length;a++)(s=p[a]).supplyLayoutDefaults&&s.supplyLayoutDefaults(t,e,r);var d=e._transformModules;for(a=0;a<d.length;a++)(s=d[a]).supplyLayoutDefaults&&s.supplyLayoutDefaults(t,e,r,n);for(i in l)(s=l[i]).supplyLayoutDefaults&&s.supplyLayoutDefaults(t,e,r)},x.purge=function(t){var e=t._fullLayout||{};void 0!==e._glcontainer&&(e._glcontainer.selectAll(".gl-canvas").remove(),e._glcontainer.remove(),e._glcanvas=null),e._modeBar&&e._modeBar.destroy(),t._transitionData&&(t._transitionData._interruptCallbacks&&(t._transitionData._interruptCallbacks.length=0),t._transitionData._animationRaf&&window.cancelAnimationFrame(t._transitionData._animationRaf)),c.clearThrottle(),c.clearResponsive(t),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._hmlumcount,delete t._hmpixcount,delete t._transitionData,delete t._transitioning,delete t._initialAutoSize,delete t._transitioningWithDuration,delete t._dragging,delete t._dragged,delete t._dragdata,delete t._hoverdata,delete t._snapshotInProgress,delete t._editing,delete t._mouseDownTime,delete t._legendMouseDownTime,t.removeAllListeners&&t.removeAllListeners()},x.style=function(t){var e,r=t._fullLayout._visibleModules,n=[];for(e=0;e<r.length;e++){var i=r[e];i.style&&c.pushUnique(n,i.style)}for(e=0;e<n.length;e++)n[e](t)},x.sanitizeMargins=function(t){if(t&&t.margin){var e,r=t.width,n=t.height,i=t.margin,a=r-(i.l+i.r),o=n-(i.t+i.b);a<0&&(e=(r-1)/(i.l+i.r),i.l=Math.floor(e*i.l),i.r=Math.floor(e*i.r)),o<0&&(e=(n-1)/(i.t+i.b),i.t=Math.floor(e*i.t),i.b=Math.floor(e*i.b))}},x.clearAutoMarginIds=function(t){t._fullLayout._pushmarginIds={}},x.allowAutoMargin=function(t,e){t._fullLayout._pushmarginIds[e]=1};x.autoMargin=function(t,e,r){var n=t._fullLayout,i=n.width,a=n.height,o=n.margin,s=c.constrain(i-o.l-o.r,2,64),l=c.constrain(a-o.t-o.b,2,64),u=Math.max(0,i-s),f=Math.max(0,a-l),h=n._pushmargin,p=n._pushmarginIds;if(!1!==o.autoexpand){if(r){var d=r.pad;if(void 0===d&&(d=Math.min(12,o.l,o.r,o.t,o.b)),u){var g=(r.l+r.r)/u;g>1&&(r.l/=g,r.r/=g)}if(f){var m=(r.t+r.b)/f;m>1&&(r.t/=m,r.b/=m)}var v=void 0!==r.xl?r.xl:r.x,y=void 0!==r.xr?r.xr:r.x,b=void 0!==r.yt?r.yt:r.y,_=void 0!==r.yb?r.yb:r.y;h[e]={l:{val:v,size:r.l+d},r:{val:y,size:r.r+d},b:{val:_,size:r.b+d},t:{val:b,size:r.t+d}},p[e]=1}else delete h[e],delete p[e];if(!n._replotting)return x.doAutoMargin(t)}},x.doAutoMargin=function(t){var e=t._fullLayout,r=e.width,n=e.height;e._size||(e._size={}),C(e);var i=e._size,s=e.margin,l=c.extendFlat({},i),u=s.l,f=s.r,p=s.t,d=s.b,g=e._pushmargin,m=e._pushmarginIds;if(!1!==e.margin.autoexpand){for(var v in g)m[v]||delete g[v];for(var y in g.base={l:{val:0,size:u},r:{val:1,size:f},t:{val:1,size:p},b:{val:0,size:d}},g){var b=g[y].l||{},_=g[y].b||{},w=b.val,T=b.size,k=_.val,M=_.size;for(var A in g){if(a(T)&&g[A].r){var S=g[A].r.val,E=g[A].r.size;if(S>w){var L=(T*S+(E-r)*w)/(S-w),I=(E*(1-w)+(T-r)*(1-S))/(S-w);L+I>u+f&&(u=L,f=I)}}if(a(M)&&g[A].t){var P=g[A].t.val,z=g[A].t.size;if(P>k){var O=(M*P+(z-n)*k)/(P-k),D=(z*(1-k)+(M-n)*(1-P))/(P-k);O+D>d+p&&(d=O,p=D)}}}}}var R=c.constrain(r-s.l-s.r,2,64),F=c.constrain(n-s.t-s.b,2,64),B=Math.max(0,r-R),N=Math.max(0,n-F);if(B){var j=(u+f)/B;j>1&&(u/=j,f/=j)}if(N){var U=(d+p)/N;U>1&&(d/=U,p/=U)}if(i.l=Math.round(u),i.r=Math.round(f),i.t=Math.round(p),i.b=Math.round(d),i.p=Math.round(s.pad),i.w=Math.round(r)-i.l-i.r,i.h=Math.round(n)-i.t-i.b,!e._replotting&&x.didMarginChange(l,i)){"_redrawFromAutoMarginCount"in e?e._redrawFromAutoMarginCount++:e._redrawFromAutoMarginCount=1;var V=3*(1+Object.keys(m).length);if(e._redrawFromAutoMarginCount<V)return o.call("plot",t);e._size=l,c.warn("Too many auto-margin redraws.")}!function(t){for(var e=h.list(t,"",!0),r=0;r<e.length;r++){var n=e[r]._hideOutOfRangeInsideTickLabels;n&&n()}}(t)};var L=["l","r","t","b","p","w","h"];function I(t,e,r){var n=!1;var i=[x.previousPromises,function(){if(t._transitionData)return t._transitioning=!1,function(t){var e=Promise.resolve();if(!t)return e;for(;t.length;)e=e.then(t.shift());return e}(t._transitionData._interruptCallbacks)},r.prepareFn,x.rehover,function(){return t.emit("plotly_transitioning",[]),new Promise((function(i){t._transitioning=!0,e.duration>0&&(t._transitioningWithDuration=!0),t._transitionData._interruptCallbacks.push((function(){n=!0})),r.redraw&&t._transitionData._interruptCallbacks.push((function(){return o.call("redraw",t)})),t._transitionData._interruptCallbacks.push((function(){t.emit("plotly_transitioninterrupted",[])}));var a=0,s=0;function l(){return a++,function(){s++,n||s!==a||function(e){if(!t._transitionData)return;(function(t){if(t)for(;t.length;)t.shift()})(t._transitionData._interruptCallbacks),Promise.resolve().then((function(){if(r.redraw)return o.call("redraw",t)})).then((function(){t._transitioning=!1,t._transitioningWithDuration=!1,t.emit("plotly_transitioned",[])})).then(e)}(i)}}r.runFn(l),setTimeout(l())}))}],a=c.syncOrAsync(i,t);return a&&a.then||(a=Promise.resolve()),a.then((function(){return t}))}x.didMarginChange=function(t,e){for(var r=0;r<L.length;r++){var n=L[r],i=t[n],o=e[n];if(!a(i)||Math.abs(o-i)>1)return!0}return!1},x.graphJson=function(t,e,r,n,i,a){(i&&e&&!t._fullData||i&&!e&&!t._fullLayout)&&x.supplyDefaults(t);var o=i?t._fullData:t.data,s=i?t._fullLayout:t.layout,l=(t._transitionData||{})._frames;function u(t,e){if("function"==typeof t)return e?"_function_":null;if(c.isPlainObject(t)){var n,i={};return Object.keys(t).sort().forEach((function(a){if(-1===["_","["].indexOf(a.charAt(0)))if("function"!=typeof t[a]){if("keepdata"===r){if("src"===a.substr(a.length-3))return}else if("keepstream"===r){if("string"==typeof(n=t[a+"src"])&&n.indexOf(":")>0&&!c.isPlainObject(t.stream))return}else if("keepall"!==r&&"string"==typeof(n=t[a+"src"])&&n.indexOf(":")>0)return;i[a]=u(t[a],e)}else e&&(i[a]="_function")})),i}return Array.isArray(t)?t.map((function(t){return u(t,e)})):c.isTypedArray(t)?c.simpleMap(t,c.identity):c.isJSDate(t)?c.ms2DateTimeLocal(+t):t}var f={data:(o||[]).map((function(t){var r=u(t);return e&&delete r.fit,r}))};if(!e&&(f.layout=u(s),i)){var h=s._size;f.layout.computed={margin:{b:h.b,l:h.l,r:h.r,t:h.t}}}return t.framework&&t.framework.isPolar&&(f=t.framework.getConfig()),l&&(f.frames=u(l)),a&&(f.config=u(t._context,!0)),"object"===n?f:JSON.stringify(f)},x.modifyFrames=function(t,e){var r,n,i,a=t._transitionData._frames,o=t._transitionData._frameHash;for(r=0;r<e.length;r++)switch((n=e[r]).type){case"replace":i=n.value;var s=(a[n.index]||{}).name,l=i.name;a[n.index]=o[l]=i,l!==s&&(delete o[s],o[l]=i);break;case"insert":o[(i=n.value).name]=i,a.splice(n.index,0,i);break;case"delete":delete o[(i=a[n.index]).name],a.splice(n.index,1)}return Promise.resolve()},x.computeFrame=function(t,e){var r,n,i,a,o=t._transitionData._frameHash;if(!e)throw new Error("computeFrame must be given a string frame name");var s=o[e.toString()];if(!s)return!1;for(var l=[s],c=[s.name];s.baseframe&&(s=o[s.baseframe.toString()])&&-1===c.indexOf(s.name);)l.push(s),c.push(s.name);for(var u={};s=l.pop();)if(s.layout&&(u.layout=x.extendLayout(u.layout,s.layout)),s.data){if(u.data||(u.data=[]),!(n=s.traces))for(n=[],r=0;r<s.data.length;r++)n[r]=r;for(u.traces||(u.traces=[]),r=0;r<s.data.length;r++)null!=(i=n[r])&&(-1===(a=u.traces.indexOf(i))&&(a=u.data.length,u.traces[a]=i),u.data[a]=x.extendTrace(u.data[a],s.data[r]))}return u},x.recomputeFrameHash=function(t){for(var e=t._transitionData._frameHash={},r=t._transitionData._frames,n=0;n<r.length;n++){var i=r[n];i&&i.name&&(e[i.name]=i)}},x.extendObjectWithContainers=function(t,e,r){var n,i,a,o,s,l,u,f=c.extendDeepNoArrays({},e||{}),h=c.expandObjectPaths(f),p={};if(r&&r.length)for(a=0;a<r.length;a++)void 0===(i=(n=c.nestedProperty(h,r[a])).get())?c.nestedProperty(p,r[a]).set(null):(n.set(null),c.nestedProperty(p,r[a]).set(i));if(t=c.extendDeepNoArrays(t||{},h),r&&r.length)for(a=0;a<r.length;a++)if(l=c.nestedProperty(p,r[a]).get()){for(u=(s=c.nestedProperty(t,r[a])).get(),Array.isArray(u)||(u=[],s.set(u)),o=0;o<l.length;o++){var d=l[o];u[o]=null===d?null:x.extendObjectWithContainers(u[o],d)}s.set(u)}return t},x.dataArrayContainers=["transforms","dimensions"],x.layoutArrayContainers=o.layoutArrayContainers,x.extendTrace=function(t,e){return x.extendObjectWithContainers(t,e,x.dataArrayContainers)},x.extendLayout=function(t,e){return x.extendObjectWithContainers(t,e,x.layoutArrayContainers)},x.transition=function(t,e,r,n,i,a){var o={redraw:i.redraw},s={},l=[];return o.prepareFn=function(){for(var i=Array.isArray(e)?e.length:0,a=n.slice(0,i),o=0;o<a.length;o++){var u=a[o],f=t._fullData[u]._module;if(f){if(f.animatable){var h=f.basePlotModule.name;s[h]||(s[h]=[]),s[h].push(u)}t.data[a[o]]=x.extendTrace(t.data[a[o]],e[o])}}var p=c.expandObjectPaths(c.extendDeepNoArrays({},r)),d=/^[xy]axis[0-9]*$/;for(var g in p)d.test(g)&&delete p[g].range;x.extendLayout(t.layout,p),delete t.calcdata,x.supplyDefaults(t),x.doCalcdata(t);var m=c.expandObjectPaths(r);if(m){var v=t._fullLayout._plots;for(var y in v){var b=v[y],_=b.xaxis,w=b.yaxis,T=_.range.slice(),k=w.range.slice(),M=null,A=null,S=null,E=null;Array.isArray(m[_._name+".range"])?M=m[_._name+".range"].slice():Array.isArray((m[_._name]||{}).range)&&(M=m[_._name].range.slice()),Array.isArray(m[w._name+".range"])?A=m[w._name+".range"].slice():Array.isArray((m[w._name]||{}).range)&&(A=m[w._name].range.slice()),T&&M&&(_.r2l(T[0])!==_.r2l(M[0])||_.r2l(T[1])!==_.r2l(M[1]))&&(S={xr0:T,xr1:M}),k&&A&&(w.r2l(k[0])!==w.r2l(A[0])||w.r2l(k[1])!==w.r2l(A[1]))&&(E={yr0:k,yr1:A}),(S||E)&&l.push(c.extendFlat({plotinfo:b},S,E))}}return Promise.resolve()},o.runFn=function(e){var n,i,o=t._fullLayout._basePlotModules,u=l.length;if(r)for(i=0;i<o.length;i++)o[i].transitionAxes&&o[i].transitionAxes(t,l,a,e);for(var f in u?((n=c.extendFlat({},a)).duration=0,delete s.cartesian):n=a,s){var h=s[f];t._fullData[h[0]]._module.basePlotModule.plot(t,h,n,e)}},I(t,a,o)},x.transitionFromReact=function(t,e,r,n){var i=t._fullLayout,a=i.transition,o={},s=[];return o.prepareFn=function(){var t=i._plots;for(var a in o.redraw=!1,"some"===e.anim&&(o.redraw=!0),"some"===r.anim&&(o.redraw=!0),t){var l=t[a],u=l.xaxis,f=l.yaxis,h=n[u._name].range.slice(),p=n[f._name].range.slice(),d=u.range.slice(),g=f.range.slice();u.setScale(),f.setScale();var m=null,v=null;u.r2l(h[0])===u.r2l(d[0])&&u.r2l(h[1])===u.r2l(d[1])||(m={xr0:h,xr1:d}),f.r2l(p[0])===f.r2l(g[0])&&f.r2l(p[1])===f.r2l(g[1])||(v={yr0:p,yr1:g}),(m||v)&&s.push(c.extendFlat({plotinfo:l},m,v))}return Promise.resolve()},o.runFn=function(r){for(var n,i,o,l=t._fullData,u=t._fullLayout._basePlotModules,f=[],h=0;h<l.length;h++)f.push(h);function p(){for(var e=0;e<u.length;e++)u[e].transitionAxes&&u[e].transitionAxes(t,s,n,r)}function d(){for(var e=0;e<u.length;e++)u[e].plot(t,o,i,r)}s.length&&e.anim?"traces first"===a.ordering?(n=c.extendFlat({},a,{duration:0}),o=f,i=a,setTimeout(p,a.duration),d()):(n=a,o=null,i=c.extendFlat({},a,{duration:0}),setTimeout(d,n.duration),p()):s.length?(n=a,p()):e.anim&&(o=f,i=a,d())},I(t,a,o)},x.doCalcdata=function(t,e){var r,n,i,a,l=h.list(t),u=t._fullData,p=t._fullLayout,d=new Array(u.length),g=(t.calcdata||[]).slice();for(t.calcdata=d,p._numBoxes=0,p._numViolins=0,p._violinScaleGroupStats={},t._hmpixcount=0,t._hmlumcount=0,p._piecolormap={},p._sunburstcolormap={},p._treemapcolormap={},p._funnelareacolormap={},i=0;i<u.length;i++)Array.isArray(e)&&-1===e.indexOf(i)&&(d[i]=g[i]);for(i=0;i<u.length;i++)(r=u[i])._arrayAttrs=s.findArrayAttributes(r),r._extremes={};var m=p._subplots.polar||[];for(i=0;i<m.length;i++)l.push(p[m[i]].radialaxis,p[m[i]].angularaxis);for(var v in p._colorAxes){var y=p[v];!1!==y.cauto&&(delete y.cmin,delete y.cmax)}var x=!1;function _(e){if(r=u[e],n=r._module,!0===r.visible&&r.transforms){if(n&&n.calc){var i=n.calc(t,r);i[0]&&i[0].t&&i[0].t._scene&&delete i[0].t._scene.dirty}for(a=0;a<r.transforms.length;a++){var o=r.transforms[a];(n=b[o.type])&&n.calcTransform&&(r._hasCalcTransform=!0,x=!0,n.calcTransform(t,r,o))}}}function w(e,i){if(r=u[e],!!(n=r._module).isContainer===i){var o=[];if(!0===r.visible&&0!==r._length){delete r._indexToPoints;var s=r.transforms||[];for(a=s.length-1;a>=0;a--)if(s[a].enabled){r._indexToPoints=s[a]._indexToPoints;break}n&&n.calc&&(o=n.calc(t,r))}Array.isArray(o)&&o[0]||(o=[{x:f,y:f}]),o[0].t||(o[0].t={}),o[0].trace=r,d[e]=o}}for(z(l,u,p),i=0;i<u.length;i++)w(i,!0);for(i=0;i<u.length;i++)_(i);for(x&&z(l,u,p),i=0;i<u.length;i++)w(i,!0);for(i=0;i<u.length;i++)w(i,!1);O(t);var T=function(t,e){var r,n,i,a,s,l=[];function u(t,r,n){var i=r._id.charAt(0);if("histogram2dcontour"===t){var a=r._counterAxes[0],o=h.getFromId(e,a),s="x"===i||"x"===a&&"category"===o.type,l="y"===i||"y"===a&&"category"===o.type;return function(t,e){return 0===t||0===e||s&&t===n[e].length-1||l&&e===n.length-1?-1:("y"===i?e:t)-1}}return function(t,e){return"y"===i?e:t}}var f={min:function(t){return c.aggNums(Math.min,null,t)},max:function(t){return c.aggNums(Math.max,null,t)},sum:function(t){return c.aggNums((function(t,e){return t+e}),null,t)},total:function(t){return c.aggNums((function(t,e){return t+e}),null,t)},mean:function(t){return c.mean(t)},median:function(t){return c.median(t)}};for(r=0;r<t.length;r++){var p=t[r];if("category"===p.type){var d=p.categoryorder.match(P);if(d){var g=d[1],m=d[2],v=p._id.charAt(0),y="x"===v,x=[];for(n=0;n<p._categories.length;n++)x.push([p._categories[n],[]]);for(n=0;n<p._traceIndices.length;n++){var b=p._traceIndices[n],_=e._fullData[b];if(!0===_.visible){var w=_.type;o.traceIs(_,"histogram")&&(delete _._xautoBinFinished,delete _._yautoBinFinished);var T="splom"===w,k="scattergl"===w,M=e.calcdata[b];for(i=0;i<M.length;i++){var A,S,E=M[i];if(T){var C=_._axesDim[p._id];if(!y){var L=_._diag[C][0];L&&(p=e._fullLayout[h.id2name(L)])}var I=E.trace.dimensions[C].values;for(a=0;a<I.length;a++)for(A=p._categoriesMap[I[a]],s=0;s<E.trace.dimensions.length;s++)if(s!==C){var z=E.trace.dimensions[s];x[A][1].push(z.values[a])}}else if(k){for(a=0;a<E.t.x.length;a++)y?(A=E.t.x[a],S=E.t.y[a]):(A=E.t.y[a],S=E.t.x[a]),x[A][1].push(S);E.t&&E.t._scene&&delete E.t._scene.dirty}else if(E.hasOwnProperty("z")){S=E.z;var O=u(_.type,p,S);for(a=0;a<S.length;a++)for(s=0;s<S[a].length;s++)(A=O(s,a))+1&&x[A][1].push(S[a][s])}else for(void 0===(A=E.p)&&(A=E[v]),void 0===(S=E.s)&&(S=E.v),void 0===S&&(S=y?E.y:E.x),Array.isArray(S)||(S=void 0===S?[]:[S]),a=0;a<S.length;a++)x[A][1].push(S[a])}}}p._categoriesValue=x;var D=[];for(n=0;n<x.length;n++)D.push([x[n][0],f[g](x[n][1])]);D.sort((function(t,e){return t[1]-e[1]})),p._categoriesAggregatedValue=D,p._initialCategories=D.map((function(t){return t[0]})),"descending"===m&&p._initialCategories.reverse(),l=l.concat(p.sortByInitialCategories())}}}return l}(l,t);if(T.length){for(p._numBoxes=0,p._numViolins=0,i=0;i<T.length;i++)w(T[i],!0);for(i=0;i<T.length;i++)w(T[i],!1);O(t)}o.getComponentMethod("fx","calc")(t),o.getComponentMethod("errorbars","calc")(t)};var P=/(total|sum|min|max|mean|median) (ascending|descending)/;function z(t,e,r){var n={};function i(t){t.clearCalc(),"multicategory"===t.type&&t.setupMultiCategory(e),n[t._id]=1}c.simpleMap(t,i);for(var a=r._axisMatchGroups||[],o=0;o<a.length;o++)for(var s in a[o])n[s]||i(r[h.id2name(s)])}function O(t){var e,r,n,i=t._fullLayout,a=i._visibleModules,o={};for(r=0;r<a.length;r++){var s=a[r],l=s.crossTraceCalc;if(l){var u=s.basePlotModule.name;o[u]?c.pushUnique(o[u],l):o[u]=[l]}}for(n in o){var f=o[n],h=i._subplots[n];if(Array.isArray(h))for(e=0;e<h.length;e++){var p=h[e],d="cartesian"===n?i._plots[p]:i[p];for(r=0;r<f.length;r++)f[r](t,d,p)}else for(r=0;r<f.length;r++)f[r](t)}}x.rehover=function(t){t._fullLayout._rehover&&t._fullLayout._rehover()},x.redrag=function(t){t._fullLayout._redrag&&t._fullLayout._redrag()},x.generalUpdatePerTraceModule=function(t,e,r,n){var i,a=e.traceHash,o={};for(i=0;i<r.length;i++){var s=r[i],l=s[0].trace;l.visible&&(o[l.type]=o[l.type]||[],o[l.type].push(s))}for(var u in a)if(!o[u]){var f=a[u][0];f[0].trace.visible=!1,o[u]=[f]}for(var h in o){var p=o[h];p[0][0].trace._module.plot(t,e,c.filterVisible(p),n)}e.traceHash=o},x.plotBasePlot=function(t,e,r,n,i){var a=o.getModule(t),s=m(e.calcdata,a)[0];a.plot(e,s,n,i)},x.cleanBasePlot=function(t,e,r,n,i){var a=i._has&&i._has(t),o=r._has&&r._has(t);a&&!o&&i["_"+t+"layer"].selectAll("g.trace").remove()}},{"../components/color":643,"../constants/numerical":753,"../lib":778,"../plot_api/plot_schema":816,"../plot_api/plot_template":817,"../plots/get_data":865,"../registry":911,"./animation_attributes":822,"./attributes":824,"./cartesian/axis_ids":831,"./cartesian/handle_outline":838,"./command":854,"./font_attributes":856,"./frame_attributes":857,"./layout_attributes":882,d3:169,"d3-time-format":166,"fast-isnumeric":241}],892:[function(t,e,r){"use strict";e.exports={attr:"subplot",name:"polar",axisNames:["angularaxis","radialaxis"],axisName2dataArray:{angularaxis:"theta",radialaxis:"r"},layerNames:["draglayer","plotbg","backplot","angular-grid","radial-grid","frontplot","angular-line","radial-line","angular-axis","radial-axis"],radialDragBoxSize:50,angularDragBoxSize:30,cornerLen:25,cornerHalfWidth:2,MINDRAG:8,MINZOOM:20,OFFEDGE:20}},{}],893:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../lib/polygon").tester,a=n.findIndexOfMin,o=n.isAngleInsideSector,s=n.angleDelta,l=n.angleDist;function c(t,e,r,n){var i,a,o=n[0],s=n[1],l=f(Math.sin(e)-Math.sin(t)),c=f(Math.cos(e)-Math.cos(t)),u=Math.tan(r),h=f(1/u),p=l/c,d=s-p*o;return h?l&&c?a=u*(i=d/(u-p)):c?(i=s*h,a=s):(i=o,a=o*u):l&&c?(i=0,a=d):c?(i=0,a=s):i=a=NaN,[i,a]}function u(t,e,r,i){return n.isFullCircle([e,r])?function(t,e){var r,n=e.length,i=new Array(n+1);for(r=0;r<n;r++){var a=e[r];i[r]=[t*Math.cos(a),t*Math.sin(a)]}return i[r]=i[0].slice(),i}(t,i):function(t,e,r,i){var s,u,f=i.length,h=[];function p(e){return[t*Math.cos(e),t*Math.sin(e)]}function d(t,e,r){return c(t,e,r,p(t))}function g(t){return n.mod(t,f)}function m(t){return o(t,[e,r])}var v=a(i,(function(t){return m(t)?l(t,e):1/0})),y=d(i[v],i[g(v-1)],e);for(h.push(y),s=v,u=0;u<f;s++,u++){var x=i[g(s)];if(!m(x))break;h.push(p(x))}var b=a(i,(function(t){return m(t)?l(t,r):1/0})),_=d(i[b],i[g(b+1)],r);return h.push(_),h.push([0,0]),h.push(h[0].slice()),h}(t,e,r,i)}function f(t){return Math.abs(t)>1e-10?t:0}function h(t,e,r){e=e||0,r=r||0;for(var n=t.length,i=new Array(n),a=0;a<n;a++){var o=t[a];i[a]=[e+o[0],r-o[1]]}return i}e.exports={isPtInsidePolygon:function(t,e,r,n,a){if(!o(e,n))return!1;var s,l;r[0]<r[1]?(s=r[0],l=r[1]):(s=r[1],l=r[0]);var c=i(u(s,n[0],n[1],a)),f=i(u(l,n[0],n[1],a)),h=[t*Math.cos(e),t*Math.sin(e)];return f.contains(h)&&!c.contains(h)},findPolygonOffset:function(t,e,r,n){for(var i=1/0,a=1/0,o=u(t,e,r,n),s=0;s<o.length;s++){var l=o[s];i=Math.min(i,l[0]),a=Math.min(a,-l[1])}return[i,a]},findEnclosingVertexAngles:function(t,e){var r=a(e,(function(e){var r=s(e,t);return r>0?r:1/0})),i=n.mod(r+1,e.length);return[e[r],e[i]]},findIntersectionXY:c,findXYatLength:function(t,e,r,n){var i=-e*r,a=e*e+1,o=2*(e*i-r),s=i*i+r*r-t*t,l=Math.sqrt(o*o-4*a*s),c=(-o+l)/(2*a),u=(-o-l)/(2*a);return[[c,e*c+i+n],[u,e*u+i+n]]},clampTiny:f,pathPolygon:function(t,e,r,n,i,a){return"M"+h(u(t,e,r,n),i,a).join("L")},pathPolygonAnnulus:function(t,e,r,n,i,a,o){var s,l;t<e?(s=t,l=e):(s=e,l=t);var c=h(u(s,r,n,i),a,o);return"M"+h(u(l,r,n,i),a,o).reverse().join("L")+"M"+c.join("L")}}},{"../../lib":778,"../../lib/polygon":790}],894:[function(t,e,r){"use strict";var n=t("../get_data").getSubplotCalcData,i=t("../../lib").counterRegex,a=t("./polar"),o=t("./constants"),s=o.attr,l=o.name,c=i(l),u={};u[s]={valType:"subplotid",dflt:l,editType:"calc"},e.exports={attr:s,name:l,idRoot:l,idRegex:c,attrRegex:c,attributes:u,layoutAttributes:t("./layout_attributes"),supplyLayoutDefaults:t("./layout_defaults"),plot:function(t){for(var e=t._fullLayout,r=t.calcdata,i=e._subplots[l],o=0;o<i.length;o++){var s=i[o],c=n(r,l,s),u=e[s]._subplot;u||(u=a(t,s),e[s]._subplot=u),u.plot(c,e,t._promises)}},clean:function(t,e,r,n){for(var i=n._subplots[l]||[],a=n._has&&n._has("gl"),o=e._has&&e._has("gl"),s=a&&!o,c=0;c<i.length;c++){var u=i[c],f=n[u]._subplot;if(!e[u]&&f)for(var h in f.framework.remove(),f.layers["radial-axis-title"].remove(),f.clipPaths)f.clipPaths[h].remove();s&&f._scene&&(f._scene.destroy(),f._scene=null)}},toSVG:t("../cartesian").toSVG}},{"../../lib":778,"../cartesian":841,"../get_data":865,"./constants":892,"./layout_attributes":895,"./layout_defaults":896,"./polar":903}],895:[function(t,e,r){"use strict";var n=t("../../components/color/attributes"),i=t("../cartesian/layout_attributes"),a=t("../domain").attributes,o=t("../../lib").extendFlat,s=t("../../plot_api/edit_types").overrideAll,l=s({color:i.color,showline:o({},i.showline,{dflt:!0}),linecolor:i.linecolor,linewidth:i.linewidth,showgrid:o({},i.showgrid,{dflt:!0}),gridcolor:i.gridcolor,gridwidth:i.gridwidth},"plot","from-root"),c=s({tickmode:i.tickmode,nticks:i.nticks,tick0:i.tick0,dtick:i.dtick,tickvals:i.tickvals,ticktext:i.ticktext,ticks:i.ticks,ticklen:i.ticklen,tickwidth:i.tickwidth,tickcolor:i.tickcolor,showticklabels:i.showticklabels,showtickprefix:i.showtickprefix,tickprefix:i.tickprefix,showticksuffix:i.showticksuffix,ticksuffix:i.ticksuffix,showexponent:i.showexponent,exponentformat:i.exponentformat,minexponent:i.minexponent,separatethousands:i.separatethousands,tickfont:i.tickfont,tickangle:i.tickangle,tickformat:i.tickformat,tickformatstops:i.tickformatstops,layer:i.layer},"plot","from-root"),u={visible:o({},i.visible,{dflt:!0}),type:o({},i.type,{values:["-","linear","log","date","category"]}),autotypenumbers:i.autotypenumbers,autorange:o({},i.autorange,{editType:"plot"}),rangemode:{valType:"enumerated",values:["tozero","nonnegative","normal"],dflt:"tozero",editType:"calc"},range:o({},i.range,{items:[{valType:"any",editType:"plot",impliedEdits:{"^autorange":!1}},{valType:"any",editType:"plot",impliedEdits:{"^autorange":!1}}],editType:"plot"}),categoryorder:i.categoryorder,categoryarray:i.categoryarray,angle:{valType:"angle",editType:"plot"},side:{valType:"enumerated",values:["clockwise","counterclockwise"],dflt:"clockwise",editType:"plot"},title:{text:o({},i.title.text,{editType:"plot",dflt:""}),font:o({},i.title.font,{editType:"plot"}),editType:"plot"},hoverformat:i.hoverformat,uirevision:{valType:"any",editType:"none"},editType:"calc",_deprecated:{title:i._deprecated.title,titlefont:i._deprecated.titlefont}};o(u,l,c);var f={visible:o({},i.visible,{dflt:!0}),type:{valType:"enumerated",values:["-","linear","category"],dflt:"-",editType:"calc",_noTemplating:!0},autotypenumbers:i.autotypenumbers,categoryorder:i.categoryorder,categoryarray:i.categoryarray,thetaunit:{valType:"enumerated",values:["radians","degrees"],dflt:"degrees",editType:"calc"},period:{valType:"number",editType:"calc",min:0},direction:{valType:"enumerated",values:["counterclockwise","clockwise"],dflt:"counterclockwise",editType:"calc"},rotation:{valType:"angle",editType:"calc"},hoverformat:i.hoverformat,uirevision:{valType:"any",editType:"none"},editType:"calc"};o(f,l,c),e.exports={domain:a({name:"polar",editType:"plot"}),sector:{valType:"info_array",items:[{valType:"number",editType:"plot"},{valType:"number",editType:"plot"}],dflt:[0,360],editType:"plot"},hole:{valType:"number",min:0,max:1,dflt:0,editType:"plot"},bgcolor:{valType:"color",editType:"plot",dflt:n.background},radialaxis:u,angularaxis:f,gridshape:{valType:"enumerated",values:["circular","linear"],dflt:"circular",editType:"plot"},uirevision:{valType:"any",editType:"none"},editType:"calc"}},{"../../components/color/attributes":642,"../../lib":778,"../../plot_api/edit_types":810,"../cartesian/layout_attributes":842,"../domain":855}],896:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../components/color"),a=t("../../plot_api/plot_template"),o=t("../subplot_defaults"),s=t("../get_data").getSubplotData,l=t("../cartesian/tick_value_defaults"),c=t("../cartesian/tick_mark_defaults"),u=t("../cartesian/tick_label_defaults"),f=t("../cartesian/category_order_defaults"),h=t("../cartesian/line_grid_defaults"),p=t("../cartesian/axis_autotype"),d=t("./layout_attributes"),g=t("./set_convert"),m=t("./constants"),v=m.axisNames;function y(t,e,r,o){var p=r("bgcolor");o.bgColor=i.combine(p,o.paper_bgcolor);var y=r("sector");r("hole");var b,_=s(o.fullData,m.name,o.id),w=o.layoutOut;function T(t,e){return r(b+"."+t,e)}for(var k=0;k<v.length;k++){b=v[k],n.isPlainObject(t[b])||(t[b]={});var M=t[b],A=a.newContainer(e,b);A._id=A._name=b,A._attr=o.id+"."+b,A._traceIndices=_.map((function(t){return t._expandedIndex}));var S=m.axisName2dataArray[b],E=x(M,A,T,_,S,o);f(M,A,T,{axData:_,dataAttr:S});var C,L,I=T("visible");switch(g(A,e,w),T("uirevision",e.uirevision),I&&(L=(C=T("color"))===M.color?C:o.font.color),A._m=1,b){case"radialaxis":var P=T("autorange",!A.isValidRange(M.range));M.autorange=P,!P||"linear"!==E&&"-"!==E||T("rangemode"),"reversed"===P&&(A._m=-1),T("range"),A.cleanRange("range",{dfltRange:[0,1]}),I&&(T("side"),T("angle",y[0]),T("title.text"),n.coerceFont(T,"title.font",{family:o.font.family,size:Math.round(1.2*o.font.size),color:L}));break;case"angularaxis":if("date"===E){n.log("Polar plots do not support date angular axes yet.");for(var z=0;z<_.length;z++)_[z].visible=!1;E=M.type=A.type="linear"}T("linear"===E?"thetaunit":"period");var O=T("direction");T("rotation",{counterclockwise:0,clockwise:90}[O])}if(I)l(M,A,T,A.type),u(M,A,T,A.type,{tickSuffixDflt:"degrees"===A.thetaunit?"\xb0":void 0}),c(M,A,T,{outerTicks:!0}),T("showticklabels")&&(n.coerceFont(T,"tickfont",{family:o.font.family,size:o.font.size,color:L}),T("tickangle"),T("tickformat")),h(M,A,T,{dfltColor:C,bgColor:o.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:d[b]}),T("layer");"category"!==E&&T("hoverformat"),A._input=M}"category"===e.angularaxis.type&&r("gridshape")}function x(t,e,r,n,i,a){var o=r("autotypenumbers",a.autotypenumbersDflt);if("-"===r("type")){for(var s,l=0;l<n.length;l++)if(n[l].visible){s=n[l];break}s&&s[i]&&(e.type=p(s[i],"gregorian",{noMultiCategory:!0,autotypenumbers:o})),"-"===e.type?e.type="linear":t.type=e.type}return e.type}e.exports=function(t,e,r){o(t,e,r,{type:m.name,attributes:d,handleDefaults:y,font:e.font,autotypenumbersDflt:e.autotypenumbers,paper_bgcolor:e.paper_bgcolor,fullData:r,layoutOut:e})}},{"../../components/color":643,"../../lib":778,"../../plot_api/plot_template":817,"../cartesian/axis_autotype":829,"../cartesian/category_order_defaults":832,"../cartesian/line_grid_defaults":844,"../cartesian/tick_label_defaults":849,"../cartesian/tick_mark_defaults":850,"../cartesian/tick_value_defaults":851,"../get_data":865,"../subplot_defaults":905,"./constants":892,"./layout_attributes":895,"./set_convert":904}],897:[function(t,e,r){"use strict";var n=t("../../../traces/scatter/attributes"),i=n.marker,a=t("../../../lib/extend").extendFlat;["Area traces are deprecated!","Please switch to the *barpolar* trace type."].join(" ");e.exports={r:a({},n.r,{}),t:a({},n.t,{}),marker:{color:a({},i.color,{}),size:a({},i.size,{}),symbol:a({},i.symbol,{}),opacity:a({},i.opacity,{}),editType:"calc"}}},{"../../../lib/extend":768,"../../../traces/scatter/attributes":1187}],898:[function(t,e,r){"use strict";var n=t("../../cartesian/layout_attributes"),i=t("../../../lib/extend").extendFlat,a=t("../../../plot_api/edit_types").overrideAll,o=["Legacy polar charts are deprecated!","Please switch to *polar* subplots."].join(" "),s=i({},n.domain,{});function l(t,e){return i({},e,{showline:{valType:"boolean"},showticklabels:{valType:"boolean"},tickorientation:{valType:"enumerated",values:["horizontal","vertical"]},ticklen:{valType:"number",min:0},tickcolor:{valType:"color"},ticksuffix:{valType:"string"},endpadding:{valType:"number",description:o},visible:{valType:"boolean"}})}e.exports=a({radialaxis:l(0,{range:{valType:"info_array",items:[{valType:"number"},{valType:"number"}]},domain:s,orientation:{valType:"number"}}),angularaxis:l(0,{range:{valType:"info_array",items:[{valType:"number",dflt:0},{valType:"number",dflt:360}]},domain:s}),layout:{direction:{valType:"enumerated",values:["clockwise","counterclockwise"]},orientation:{valType:"angle"}}},"plot","nested")},{"../../../lib/extend":768,"../../../plot_api/edit_types":810,"../../cartesian/layout_attributes":842}],899:[function(t,e,r){"use strict";(e.exports=t("./micropolar")).manager=t("./micropolar_manager")},{"./micropolar":900,"./micropolar_manager":901}],900:[function(t,e,r){var n=t("d3"),i=t("../../../lib").extendDeepAll,a=t("../../../constants/alignment").MID_SHIFT,o=e.exports={version:"0.2.2"};o.Axis=function(){var t,e,r,s,l={data:[],layout:{}},c={},u={},f=n.dispatch("hover"),h={};return h.render=function(c){return function(c){e=c||e;var f=l.data,h=l.layout;("string"==typeof e||e.nodeName)&&(e=n.select(e)),e.datum(f).each((function(e,l){var c=e.slice();u={data:o.util.cloneJson(c),layout:o.util.cloneJson(h)};var f=0;c.forEach((function(t,e){t.color||(t.color=h.defaultColorRange[f],f=(f+1)%h.defaultColorRange.length),t.strokeColor||(t.strokeColor="LinePlot"===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=c.filter((function(t,e){var r=t.visible;return"undefined"==typeof r||!0===r})),d=!1,g=p.map((function(t,e){return d=d||"undefined"!=typeof t.groupId,t}));if(d){var m=n.nest().key((function(t,e){return"undefined"!=typeof t.groupId?t.groupId:"unstacked"})).entries(g),v=[],y=m.map((function(t,e){if("unstacked"===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];d?b=[0,n.max(o.util.sumArrays(o.util.arrayLast(p).r[0],o.util.arrayLast(v)))]:b=n.extent(o.util.flattenArray(p.map((function(t,e){return t.r}))));h.radialAxis.domain!=o.DATAEXTENT&&(b[0]=0),r=n.scale.linear().domain(h.radialAxis.domain!=o.DATAEXTENT&&h.radialAxis.domain?h.radialAxis.domain:b).range([0,x]),u.layout.radialAxis.domain=r.domain();var w,T=o.util.flattenArray(p.map((function(t,e){return t.t}))),k="string"==typeof T[0];k&&(T=o.util.deduplicate(T),w=T.slice(),T=n.range(T.length),p=p.map((function(t,e){var r=t;return t.t=[T],d&&(r.yStack=t.yStack),r})));var M=p.filter((function(t,e){return"LinePlot"===t.geometry||"DotPlot"===t.geometry})).length===p.length,A=null===h.needsEndSpacing?k||!M:h.needsEndSpacing,S=h.angularAxis.domain&&h.angularAxis.domain!=o.DATAEXTENT&&!k&&h.angularAxis.domain[0]>=0?h.angularAxis.domain:n.extent(T),E=Math.abs(T[1]-T[0]);M&&!k&&(E=0);var C=S.slice();A&&k&&(C[1]+=E);var L=h.angularAxis.ticksCount||4;L>8&&(L=L/(L/8)+L%8),h.angularAxis.ticksStep&&(L=(C[1]-C[0])/L);var I=h.angularAxis.ticksStep||(C[1]-C[0])/(L*(h.minorTicks+1));w&&(I=Math.max(Math.round(I),1)),C[2]||(C[2]=I);var P=n.range.apply(this,C);if(P=P.map((function(t,e){return parseFloat(t.toPrecision(12))})),s=n.scale.linear().domain(C.slice(0,2)).range("clockwise"===h.direction?[0,360]:[360,0]),u.layout.angularAxis.domain=s.domain(),u.layout.angularAxis.endPadding=A?E:0,"undefined"==typeof(t=n.select(this).select("svg.chart-root"))||t.empty()){var z=(new DOMParser).parseFromString("<svg xmlns='http://www.w3.org/2000/svg' class='chart-root'>' + '<g class='outer-group'>' + '<g class='chart-group'>' + '<circle class='background-circle'></circle>' + '<g class='geometry-group'></g>' + '<g class='radial axis-group'>' + '<circle class='outside-circle'></circle>' + '</g>' + '<g class='angular axis-group'></g>' + '<g class='guides-group'><line></line><circle r='0'></circle></g>' + '</g>' + '<g class='legend-group'></g>' + '<g class='tooltips-group'></g>' + '<g class='title-group'><text></text></g>' + '</g>' + '</svg>","application/xml"),O=this.appendChild(this.ownerDocument.importNode(z.documentElement,!0));t=n.select(O)}t.select(".guides-group").style({"pointer-events":"none"}),t.select(".angular.axis-group").style({"pointer-events":"none"}),t.select(".radial.axis-group").style({"pointer-events":"none"});var D,R=t.select(".chart-group"),F={fill:"none",stroke:h.tickColor},B={"font-size":h.font.size,"font-family":h.font.family,fill:h.font.color,"text-shadow":["-1px 0px","1px -1px","-1px 1px","1px 1px"].map((function(t,e){return" "+t+" 0 "+h.font.outlineColor})).join(",")};if(h.showLegend){D=t.select(".legend-group").attr({transform:"translate("+[x,h.margin.top]+")"}).style({display:"block"});var N=p.map((function(t,e){var r=o.util.cloneJson(t);return r.symbol="DotPlot"===t.geometry?t.dotType||"circle":"LinePlot"!=t.geometry?"square":"line",r.visibleInLegend="undefined"==typeof t.visibleInLegend||t.visibleInLegend,r.color="LinePlot"===t.geometry?t.strokeColor:t.color,r}));o.Legend().config({data:p.map((function(t,e){return t.name||"Element"+e})),legendConfig:i({},o.Legend.defaultConfig().legendConfig,{container:D,elements:N,reverseOrder:h.legend.reverseOrder})})();var j=D.node().getBBox();x=Math.min(h.width-j.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(),D.attr("transform","translate("+[_[0]+x,_[1]-x]+")")}else D=t.select(".legend-group").style({display:"none"});t.attr({width:h.width,height:h.height}).style({opacity:h.opacity}),R.attr("transform","translate("+_+")").style({cursor:"crosshair"});var U=[(h.width-(h.margin.left+h.margin.right+2*x+(j?j.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(".outer-group").attr("transform","translate("+U+")"),h.title&&h.title.text){var V=t.select("g.title-group text").style(B).text(h.title.text),q=V.node().getBBox();V.attr({x:_[0]-q.width/2,y:_[1]-x-20})}var H=t.select(".radial.axis-group");if(h.radialAxis.gridLinesVisible){var G=H.selectAll("circle.grid-circle").data(r.ticks(5));G.enter().append("circle").attr({class:"grid-circle"}).style(F),G.attr("r",r),G.exit().remove()}H.select("circle.outside-circle").attr({r:x}).style(F);var Y=t.select("circle.background-circle").attr({r:x}).style({fill:h.backgroundColor,stroke:h.stroke});function W(t,e){return s(t)%360+h.orientation}if(h.radialAxis.visible){var X=n.svg.axis().scale(r).ticks(5).tickSize(5);H.call(X).attr({transform:"rotate("+h.radialAxis.orientation+")"}),H.selectAll(".domain").style(F),H.selectAll("g>text").text((function(t,e){return this.textContent+h.radialAxis.ticksSuffix})).style(B).style({"text-anchor":"start"}).attr({x:0,y:0,dx:0,dy:0,transform:function(t,e){return"horizontal"===h.radialAxis.tickOrientation?"rotate("+-h.radialAxis.orientation+") translate("+[0,B["font-size"]]+")":"translate("+[0,B["font-size"]]+")"}}),H.selectAll("g>line").style({stroke:"black"})}var Z=t.select(".angular.axis-group").selectAll("g.angular-tick").data(P),J=Z.enter().append("g").classed("angular-tick",!0);Z.attr({transform:function(t,e){return"rotate("+W(t)+")"}}).style({display:h.angularAxis.visible?"block":"none"}),Z.exit().remove(),J.append("line").classed("grid-line",!0).classed("major",(function(t,e){return e%(h.minorTicks+1)==0})).classed("minor",(function(t,e){return!(e%(h.minorTicks+1)==0)})).style(F),J.selectAll(".minor").style({stroke:h.minorTickColor}),Z.select("line.grid-line").attr({x1:h.tickLength?x-h.tickLength:0,x2:x}).style({display:h.angularAxis.gridLinesVisible?"block":"none"}),J.append("text").classed("axis-text",!0).style(B);var K=Z.select("text.axis-text").attr({x:x+h.labelOffset,dy:a+"em",transform:function(t,e){var r=W(t),n=x+h.labelOffset,i=h.angularAxis.tickOrientation;return"horizontal"==i?"rotate("+-r+" "+n+" 0)":"radial"==i?r<270&&r>90?"rotate(180 "+n+" 0)":null:"rotate("+(r<=180&&r>0?-90:90)+" "+n+" 0)"}}).style({"text-anchor":"middle",display:h.angularAxis.labelsVisible?"block":"none"}).text((function(t,e){return e%(h.minorTicks+1)!=0?"":w?w[t]+h.angularAxis.ticksSuffix:t+h.angularAxis.ticksSuffix})).style(B);h.angularAxis.rewriteTicks&&K.text((function(t,e){return e%(h.minorTicks+1)!=0?"":h.angularAxis.rewriteTicks(this.textContent,e)}));var Q=n.max(R.selectAll(".angular-tick text")[0].map((function(t,e){return t.getCTM().e+t.getBBox().width})));D.attr({transform:"translate("+[x+Q,h.margin.top]+")"});var $=t.select("g.geometry-group").selectAll("g").size()>0,tt=t.select("g.geometry-group").selectAll("g.geometry").data(p);if(tt.enter().append("g").attr({class:function(t,e){return"geometry geometry"+e}}),tt.exit().remove(),p[0]||$){var et=[];p.forEach((function(t,e){var n={};n.radialScale=r,n.angularScale=s,n.container=tt.filter((function(t,r){return r==e})),n.geometry=t.geometry,n.orientation=h.orientation,n.direction=h.direction,n.index=e,et.push({data:t,geometryConfig:n})}));var rt=n.nest().key((function(t,e){return"undefined"!=typeof t.data.groupId||"unstacked"})).entries(et),nt=[];rt.forEach((function(t,e){"unstacked"===t.key?nt=nt.concat(t.values.map((function(t,e){return[t]}))):nt.push(t.values)})),nt.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 it,at,ot=t.select(".guides-group"),st=t.select(".tooltips-group"),lt=o.tooltipPanel().config({container:st,fontSize:8})(),ct=o.tooltipPanel().config({container:st,fontSize:8})(),ut=o.tooltipPanel().config({container:st,hasTick:!0})();if(!k){var ft=ot.select("line").attr({x1:0,y1:0,y2:0}).style({stroke:"grey","pointer-events":"none"});R.on("mousemove.angular-guide",(function(t,e){var r=o.util.getMousePos(Y).angle;ft.attr({x2:-x,transform:"rotate("+r+")"}).style({opacity:.5});var n=(r+180+360-h.orientation)%360;it=s.invert(n);var i=o.util.convertToCartesian(x+12,r+180);lt.text(o.util.round(it)).move([i[0]+_[0],i[1]+_[1]])})).on("mouseout.angular-guide",(function(t,e){ot.select("line").style({opacity:0})}))}var ht=ot.select("circle").style({stroke:"grey",fill:"none"});R.on("mousemove.radial-guide",(function(t,e){var n=o.util.getMousePos(Y).radius;ht.attr({r:n}).style({opacity:.5}),at=r.invert(o.util.getMousePos(Y).radius);var i=o.util.convertToCartesian(n,h.radialAxis.orientation);ct.text(o.util.round(at)).move([i[0]+_[0],i[1]+_[1]])})).on("mouseout.radial-guide",(function(t,e){ht.style({opacity:0}),ut.hide(),lt.hide(),ct.hide()})),t.selectAll(".geometry-group .mark").on("mouseover.tooltip",(function(e,r){var i=n.select(this),a=this.style.fill,s="black",l=this.style.opacity||1;if(i.attr({"data-opacity":l}),a&&"none"!==a){i.attr({"data-fill":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&&(c.t=w[e[0]]);var u="t: "+c.t+", r: "+c.r,f=this.getBoundingClientRect(),h=t.node().getBoundingClientRect(),p=[f.left+f.width/2-U[0]-h.left,f.top+f.height/2-U[1]-h.top];ut.config({color:s}).text(u),ut.move(p)}else a=this.style.stroke||"black",i.attr({"data-stroke":a}),s=n.hsl(a).darker().toString(),i.style({stroke:s,opacity:1})})).on("mousemove.tooltip",(function(t,e){if(0!=n.event.which)return!1;n.select(this).attr("data-fill")&&ut.show()})).on("mouseout.tooltip",(function(t,e){ut.hide();var r=n.select(this),i=r.attr("data-fill");i?r.style({fill:i,opacity:r.attr("data-opacity")}):r.style({stroke:r.attr("data-stroke"),opacity:r.attr("data-opacity")})}))}))}(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,"on"),h},o.Axis.defaultConfig=function(t,e){return{data:[{t:[1,2,3,4],r:[10,11,12,13],name:"Line1",geometry:"LinePlot",color:null,strokeDash:"solid",strokeColor:null,strokeSize:"1",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:"gray",outlineColor:"white",family:"Tahoma, sans-serif"},direction:"clockwise",orientation:0,labelOffset:10,radialAxis:{domain:null,orientation:-45,ticksSuffix:"",visible:!0,gridLinesVisible:!0,tickOrientation:"horizontal",rewriteTicks:null},angularAxis:{domain:[0,360],ticksSuffix:"",visible:!0,gridLinesVisible:!0,labelsVisible:!0,tickOrientation:"horizontal",rewriteTicks:null,ticksCount:null,ticksStep:null},minorTicks:0,tickLength:null,tickColor:"silver",minorTickColor:"#eee",backgroundColor:"none",needsEndSpacing:null,showLegend:!0,legend:{reverseOrder:!1},opacity:1}}},o.util={},o.DATAEXTENT="dataExtent",o.AREA="AreaChart",o.LINE="LinePlot",o.DOT="DotPlot",o.BAR="BarChart",o.util._override=function(t,e){for(var r in t)r in e&&(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&&(s.name=r),s},o.util.ensureArray=function(t,e){if("undefined"==typeof 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){"string"==typeof e&&(e=e.split("."));var r=e.shift();return t[r]&&(!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-- >=0&&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<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("undefined"!=typeof t)return t[e]}),t);"undefined"!=typeof a&&(e.reduce((function(t,r,n){if("undefined"!=typeof t)return n===e.length-1&&delete t[r],t[r]}),t),r.reduce((function(t,e,n){return"undefined"==typeof t[e]&&(t[e]={}),n===r.length-1&&(t[e]=a),t[e]}),t))},o.PolyChart=function(){var t=[o.PolyChart.defaultConfig()],e=n.dispatch("hover"),r={solid:"none",dash:[5,2],dot:[2,5]};function a(){var e=t[0].geometryConfig,i=e.container;"string"==typeof i&&(i=n.select(i)),i.datum(t).each((function(t,i){var a=!!t[0].data.yStack,o=t.map((function(t,e){return a?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=e.angularScale,l=e.radialScale.domain()[0],c={bar:function(r,i,a){var o=t[a].data,l=e.radialScale(r[1])-e.radialScale(0),c=e.radialScale(r[2]||0),u=o.barWidth;n.select(this).attr({class:"mark bar",d:"M"+[[l+c,-u/2],[l+c,u/2],[c,u/2],[c,-u/2]].join("L")+"Z",transform:function(t,r){return"rotate("+(e.orientation+s(t[0]))+")"}})}};c.dot=function(r,i,a){var o=r[2]?[r[0],r[1]+r[2]]:r,s=n.svg.symbol().size(t[a].data.dotSize).type(t[a].data.dotType)(r,i);n.select(this).attr({class:"mark dot",d:s,transform:function(t,r){var n,i,a,s=(n=function(t,r){var n=e.radialScale(t[1]),i=(e.angularScale(t[0])+e.orientation)*Math.PI/180;return{r:n,t:i}}(o),i=n.r*Math.cos(n.t),a=n.r*Math.sin(n.t),{x:i,y:a});return"translate("+[s.x,s.y]+")"}})};var u=n.svg.line.radial().interpolate(t[0].data.lineInterpolation).radius((function(t){return e.radialScale(t[1])})).angle((function(t){return e.angularScale(t[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(e,r){return+t[a].data.dotVisible},fill:d.stroke(r,i,a)}).attr({class:"mark dot"}),!(i>0)){var l=n.select(this.parentNode).selectAll("path.line").data([0]);l.enter().insert("path"),l.attr({class:"line",d:u(s),transform:function(t,r){return"rotate("+(e.orientation+90)+")"},"pointer-events":"none"}).style({fill:function(t,e){return d.fill(r,i,a)},"fill-opacity":0,stroke:function(t,e){return d.stroke(r,i,a)},"stroke-width":function(t,e){return d["stroke-width"](r,i,a)},"stroke-dasharray":function(t,e){return d["stroke-dasharray"](r,i,a)},opacity:function(t,e){return d.opacity(r,i,a)},display:function(t,e){return d.display(r,i,a)}})}};var f=e.angularScale.range(),h=Math.abs(f[1]-f[0])/o[0].length*Math.PI/180,p=n.svg.arc().startAngle((function(t){return-h/2})).endAngle((function(t){return h/2})).innerRadius((function(t){return e.radialScale(l+(t[2]||0))})).outerRadius((function(t){return e.radialScale(l+(t[2]||0))+e.radialScale(t[1])}));c.arc=function(t,r,i){n.select(this).attr({class:"mark arc",d:p,transform:function(t,r){return"rotate("+(e.orientation+s(t[0])+90)+")"}})};var d={fill:function(e,r,n){return t[n].data.color},stroke:function(e,r,n){return t[n].data.strokeColor},"stroke-width":function(e,r,n){return t[n].data.strokeSize+"px"},"stroke-dasharray":function(e,n,i){return r[t[i].data.strokeDash]},opacity:function(e,r,n){return t[n].data.opacity},display:function(e,r,n){return"undefined"==typeof t[n].data.visible||t[n].data.visible?"block":"none"}},g=n.select(this).selectAll("g.layer").data(o);g.enter().append("g").attr({class:"layer"});var m=g.selectAll("path.mark").data((function(t,e){return t}));m.enter().append("path").attr({class:"mark"}),m.style(d).each(c[e.geometryType]),m.exit().remove(),g.exit().remove()}))}return a.config=function(e){return arguments.length?(e.forEach((function(e,r){t[r]||(t[r]={}),i(t[r],o.PolyChart.defaultConfig()),i(t[r],e)})),this):t},a.getColorScale=function(){},n.rebind(a,e,"on"),a},o.PolyChart.defaultConfig=function(){return{data:{name:"geom1",t:[[1,2,3,4]],r:[[1,2,3,4]],dotType:"circle",dotSize:64,dotVisible:!1,barWidth:20,color:"#ffa500",strokeSize:1,strokeColor:"silver",strokeDash:"solid",opacity:1,index:0,visible:!0,visibleInLegend:!0},geometryConfig:{geometry:"LinePlot",geometryType:"arc",direction:"clockwise",orientation:0,container:"body",radialScale:null,angularScale:null,colorScale:n.scale.category20()}}},o.BarChart=function(){return o.PolyChart()},o.BarChart.defaultConfig=function(){return{geometryConfig:{geometryType:"bar"}}},o.AreaChart=function(){return o.PolyChart()},o.AreaChart.defaultConfig=function(){return{geometryConfig:{geometryType:"arc"}}},o.DotPlot=function(){return o.PolyChart()},o.DotPlot.defaultConfig=function(){return{geometryConfig:{geometryType:"dot",dotType:"circle"}}},o.LinePlot=function(){return o.PolyChart()},o.LinePlot.defaultConfig=function(){return{geometryConfig:{geometryType:"line"}}},o.Legend=function(){var t=o.Legend.defaultConfig(),e=n.dispatch("hover");function r(){var e=t.legendConfig,a=t.data.map((function(t,r){return[].concat(t).map((function(t,n){var a=i({},e.elements[r]);return a.name=t,a.color=[].concat(e.elements[r].color)[n],a}))})),o=n.merge(a);o=o.filter((function(t,r){return e.elements[r]&&(e.elements[r].visibleInLegend||"undefined"==typeof e.elements[r].visibleInLegend)})),e.reverseOrder&&(o=o.reverse());var s=e.container;("string"==typeof s||s.nodeName)&&(s=n.select(s));var l=o.map((function(t,e){return t.color})),c=e.fontSize,u=null==e.isContinuous?"number"==typeof o[0]:e.isContinuous,f=u?e.height:c*o.length,h=s.classed("legend-group",!0).selectAll("svg").data([0]),p=h.enter().append("svg").attr({width:300,height:f+c,xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",version:"1.1"});p.append("g").classed("legend-axis",!0),p.append("g").classed("legend-marks",!0);var d=n.range(o.length),g=n.scale[u?"linear":"ordinal"]().domain(d).range(l),m=n.scale[u?"linear":"ordinal"]().domain(d)[u?"range":"rangePoints"]([0,f]);if(u){var v=h.select(".legend-marks").append("defs").append("linearGradient").attr({id:"grad1",x1:"0%",y1:"0%",x2:"0%",y2:"100%"}).selectAll("stop").data(l);v.enter().append("stop"),v.attr({offset:function(t,e){return e/(l.length-1)*100+"%"}}).style({"stop-color":function(t,e){return t}}),h.append("rect").classed("legend-mark",!0).attr({height:e.height,width:e.colorBandWidth,fill:"url(#grad1)"})}else{var y=h.select(".legend-marks").selectAll("path.legend-mark").data(o);y.enter().append("path").classed("legend-mark",!0),y.attr({transform:function(t,e){return"translate("+[c/2,m(e)+c/2]+")"},d:function(t,e){var r,i,a,o=t.symbol;return a=3*(i=c),"line"===(r=o)?"M"+[[-i/2,-i/12],[i/2,-i/12],[i/2,i/12],[-i/2,i/12]]+"Z":-1!=n.svg.symbolTypes.indexOf(r)?n.svg.symbol().type(r).size(a)():n.svg.symbol().type("square").size(a)()},fill:function(t,e){return g(e)}}),y.exit().remove()}var x=n.svg.axis().scale(m).orient("right"),b=h.select("g.legend-axis").attr({transform:"translate("+[u?e.colorBandWidth:c,c/2]+")"}).call(x);return b.selectAll(".domain").style({fill:"none",stroke:"none"}),b.selectAll("line").style({fill:"none",stroke:u?e.textColor:"none"}),b.selectAll("text").style({fill:e.textColor,"font-size":e.fontSize}).text((function(t,e){return o[e].name})),r}return r.config=function(e){return arguments.length?(i(t,e),this):t},n.rebind(r,e,"on"),r},o.Legend.defaultConfig=function(t,e){return{data:["a","b","c"],legendConfig:{elements:[{symbol:"line",color:"red"},{symbol:"square",color:"yellow"},{symbol:"diamond",color:"limegreen"}],height:150,colorBandWidth:30,fontSize:12,container:"body",isContinuous:null,textColor:"grey",reverseOrder:!1}}},o.tooltipPanel=function(){var t,e,r,a={container:null,hasTick:!1,fontSize:12,color:"white",padding:5},s="tooltip-"+o.tooltipPanel.uid++,l=10,c=function(){var n=(t=a.container.selectAll("g."+s).data([0])).enter().append("g").classed(s,!0).style({"pointer-events":"none",display:"none"});return r=n.append("path").style({fill:"white","fill-opacity":.9}).attr({d:"M0 0"}),e=n.append("text").attr({dx:a.padding+l,dy:.3*+a.fontSize}),c};return c.text=function(i){var o=n.hsl(a.color).l,s=o>=.5?"#aaa":"white",u=o>=.5?"black":"white",f=i||"";e.style({fill:u,"font-size":a.fontSize+"px"}).text(f);var h=a.padding,p=e.node().getBBox(),d={fill:a.color,stroke:s,"stroke-width":"2px"},g=p.width+2*h+l,m=p.height+2*h;return r.attr({d:"M"+[[l,-m/2],[l,-m/4],[a.hasTick?0:l,0],[l,m/4],[l,m/2],[g,m/2],[g,-m/2]].join("L")+"Z"}).style(d),t.attr({transform:"translate("+[l,-m/2+2*h]+")"}),t.style({display:"block"}),c},c.move=function(e){if(t)return t.attr({transform:"translate("+[e[0],e[1]]+")"}).style({display:"block"}),c},c.hide=function(){if(t)return t.style({display:"none"}),c},c.show=function(){if(t)return t.style({display:"block"}),c},c.config=function(t){return i(a,t),c},c},o.tooltipPanel.uid=1,o.adapter={},o.adapter.plotly=function(){var t={convert:function(t,e){var r={};if(t.data&&(r.data=t.data.map((function(t,r){var n=i({},t);return[[n,["marker","color"],["color"]],[n,["marker","opacity"],["opacity"]],[n,["marker","line","color"],["strokeColor"]],[n,["marker","line","dash"],["strokeDash"]],[n,["marker","line","width"],["strokeSize"]],[n,["marker","symbol"],["dotType"]],[n,["marker","size"],["dotSize"]],[n,["marker","barWidth"],["barWidth"]],[n,["line","interpolation"],["lineInterpolation"]],[n,["showlegend"],["visibleInLegend"]]].forEach((function(t,r){o.util.translator.apply(null,t.concat(e))})),e||delete n.marker,e&&delete n.groupId,e?("LinePlot"===n.geometry?(n.type="scatter",!0===n.dotVisible?(delete n.dotVisible,n.mode="lines+markers"):n.mode="lines"):"DotPlot"===n.geometry?(n.type="scatter",n.mode="markers"):"AreaChart"===n.geometry?n.type="area":"BarChart"===n.geometry&&(n.type="bar"),delete n.geometry):("scatter"===n.type?"lines"===n.mode?n.geometry="LinePlot":"markers"===n.mode?n.geometry="DotPlot":"lines+markers"===n.mode&&(n.geometry="LinePlot",n.dotVisible=!0):"area"===n.type?n.geometry="AreaChart":"bar"===n.type&&(n.geometry="BarChart"),delete n.mode,delete n.type),n})),!e&&t.layout&&"stack"===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&&(r.data[e].groupId=n)}))}if(t.layout){var s=i({},t.layout);if([[s,["plot_bgcolor"],["backgroundColor"]],[s,["showlegend"],["showLegend"]],[s,["radialaxis"],["radialAxis"]],[s,["angularaxis"],["angularAxis"]],[s.angularaxis,["showline"],["gridLinesVisible"]],[s.angularaxis,["showticklabels"],["labelsVisible"]],[s.angularaxis,["nticks"],["ticksCount"]],[s.angularaxis,["tickorientation"],["tickOrientation"]],[s.angularaxis,["ticksuffix"],["ticksSuffix"]],[s.angularaxis,["range"],["domain"]],[s.angularaxis,["endpadding"],["endPadding"]],[s.radialaxis,["showline"],["gridLinesVisible"]],[s.radialaxis,["tickorientation"],["tickOrientation"]],[s.radialaxis,["ticksuffix"],["ticksSuffix"]],[s.radialaxis,["range"],["domain"]],[s.angularAxis,["showline"],["gridLinesVisible"]],[s.angularAxis,["showticklabels"],["labelsVisible"]],[s.angularAxis,["nticks"],["ticksCount"]],[s.angularAxis,["tickorientation"],["tickOrientation"]],[s.angularAxis,["ticksuffix"],["ticksSuffix"]],[s.angularAxis,["range"],["domain"]],[s.angularAxis,["endpadding"],["endPadding"]],[s.radialAxis,["showline"],["gridLinesVisible"]],[s.radialAxis,["tickorientation"],["tickOrientation"]],[s.radialAxis,["ticksuffix"],["ticksSuffix"]],[s.radialAxis,["range"],["domain"]],[s.font,["outlinecolor"],["outlineColor"]],[s.legend,["traceorder"],["reverseOrder"]],[s,["labeloffset"],["labelOffset"]],[s,["defaultcolorrange"],["defaultColorRange"]]].forEach((function(t,r){o.util.translator.apply(null,t.concat(e))})),e?("undefined"!=typeof s.tickLength&&(s.angularaxis.ticklen=s.tickLength,delete s.tickLength),s.tickColor&&(s.angularaxis.tickcolor=s.tickColor,delete s.tickColor)):(s.angularAxis&&"undefined"!=typeof s.angularAxis.ticklen&&(s.tickLength=s.angularAxis.ticklen),s.angularAxis&&"undefined"!=typeof s.angularAxis.tickcolor&&(s.tickColor=s.angularAxis.tickcolor)),s.legend&&"boolean"!=typeof s.legend.reverseOrder&&(s.legend.reverseOrder="normal"!=s.legend.reverseOrder),s.legend&&"boolean"==typeof s.legend.traceorder&&(s.legend.traceorder=s.legend.traceorder?"reversed":"normal",delete s.legend.reverseOrder),s.margin&&"undefined"!=typeof s.margin.t){var l=["t","r","b","l","pad"],c=["top","right","bottom","left","pad"],u={};n.entries(s.margin).forEach((function(t,e){u[c[l.indexOf(t.key)]]=t.value})),s.margin=u}e&&(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}};return t}},{"../../../constants/alignment":745,"../../../lib":778,d3:169}],901:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../../lib"),a=t("../../../components/color"),o=t("./micropolar"),s=t("./undo_manager"),l=i.extendDeepAll,c=e.exports={};c.framework=function(t){var e,r,i,a,u,f=new s;function h(r,s){return s&&(u=s),n.select(n.select(u).node().parentNode).selectAll(".svg-container>*:not(.chart-root)").remove(),e=e?l(e,r):r,i||(i=o.Axis()),a=o.adapter.plotly().convert(e),i.config(a).render(u),t.data=e.data,t.layout=e.layout,c.fillLayout(t),e}return h.isPolar=!0,h.svg=function(){return i.svg()},h.getConfig=function(){return e},h.getLiveConfig=function(){return o.adapter.plotly().convert(i.getLiveConfig(),!0)},h.getLiveScales=function(){return{t:i.angularScale(),r:i.radialScale()}},h.setUndoPoint=function(){var t,n,i=this,a=o.util.cloneJson(e);t=a,n=r,f.add({undo:function(){n&&i(n)},redo:function(){i(t)}}),r=o.util.cloneJson(a)},h.undo=function(){f.undo()},h.redo=function(){f.redo()},h},c.fillLayout=function(t){var e=n.select(t).selectAll(".plot-container"),r=e.selectAll(".svg-container"),i=t.framework&&t.framework.svg&&t.framework.svg(),o={width:800,height:600,paper_bgcolor:a.background,_container:e,_paperdiv:r,_paper:i};t._fullLayout=l(o,t.layout)}},{"../../../components/color":643,"../../../lib":778,"./micropolar":900,"./undo_manager":902,d3:169}],902:[function(t,e,r){"use strict";e.exports=function(){var t,e=[],r=-1,n=!1;function i(t,e){return t?(n=!0,t[e](),n=!1,this):this}return{add:function(t){return n||(e.splice(r+1,e.length-r),e.push(t),r=e.length-1),this},setCallback:function(e){t=e},undo:function(){var n=e[r];return n?(i(n,"undo"),r-=1,t&&t(n.undo),this):this},redo:function(){var n=e[r+1];return n?(i(n,"redo"),r+=1,t&&t(n.redo),this):this},clear:function(){e=[],r=-1},hasUndo:function(){return-1!==r},hasRedo:function(){return r<e.length-1},getCommands:function(){return e},getPreviousCommand:function(){return e[r-1]},getIndex:function(){return r}}}},{}],903:[function(t,e,r){"use strict";var n=t("d3"),i=t("tinycolor2"),a=t("../../registry"),o=t("../../lib"),s=o.strRotate,l=o.strTranslate,c=t("../../components/color"),u=t("../../components/drawing"),f=t("../plots"),h=t("../../plots/cartesian/axes"),p=t("../cartesian/set_convert"),d=t("./set_convert"),g=t("../cartesian/autorange").doAutoRange,m=t("../cartesian/dragbox"),v=t("../../components/dragelement"),y=t("../../components/fx"),x=t("../../components/titles"),b=t("../cartesian/select").prepSelect,_=t("../cartesian/select").selectOnClick,w=t("../cartesian/select").clearSelect,T=t("../../lib/setcursor"),k=t("../../lib/clear_gl_canvases"),M=t("../../plot_api/subroutines").redrawReglTraces,A=t("../../constants/alignment").MID_SHIFT,S=t("./constants"),E=t("./helpers"),C=o._,L=o.mod,I=o.deg2rad,P=o.rad2deg;function z(t,e){this.id=e,this.gd=t,this._hasClipOnAxisFalse=null,this.vangles=null,this.radialAxisAngle=null,this.traceHash={},this.layers={},this.clipPaths={},this.clipIds={},this.viewInitial={};var r=t._fullLayout,n="clip"+r._uid+e;this.clipIds.forTraces=n+"-for-traces",this.clipPaths.forTraces=r._clips.append("clipPath").attr("id",this.clipIds.forTraces),this.clipPaths.forTraces.append("path"),this.framework=r._polarlayer.append("g").attr("class",e),this.radialTickLayout=null,this.angularTickLayout=null}var O=z.prototype;function D(t){var e=t.ticks+String(t.ticklen)+String(t.showticklabels);return"side"in t&&(e+=t.side),e}function R(t,e){return e[o.findIndexOfMin(e,(function(e){return o.angleDist(t,e)}))]}function F(t,e,r){return e?(t.attr("display",null),t.attr(r)):t&&t.attr("display","none"),t}e.exports=function(t,e){return new z(t,e)},O.plot=function(t,e){var r=e[this.id];this._hasClipOnAxisFalse=!1;for(var n=0;n<t.length;n++){if(!1===t[n][0].trace.cliponaxis){this._hasClipOnAxisFalse=!0;break}}this.updateLayers(e,r),this.updateLayout(e,r),f.generalUpdatePerTraceModule(this.gd,this,t,r),this.updateFx(e,r)},O.updateLayers=function(t,e){var r=this.layers,i=e.radialaxis,a=e.angularaxis,o=S.layerNames,s=o.indexOf("frontplot"),l=o.slice(0,s),c="below traces"===a.layer,u="below traces"===i.layer;c&&l.push("angular-line"),u&&l.push("radial-line"),c&&l.push("angular-axis"),u&&l.push("radial-axis"),l.push("frontplot"),c||l.push("angular-line"),u||l.push("radial-line"),c||l.push("angular-axis"),u||l.push("radial-axis");var f=this.framework.selectAll(".polarsublayer").data(l,String);f.enter().append("g").attr("class",(function(t){return"polarsublayer "+t})).each((function(t){var e=r[t]=n.select(this);switch(t){case"frontplot":e.append("g").classed("barlayer",!0),e.append("g").classed("scatterlayer",!0);break;case"backplot":e.append("g").classed("maplayer",!0);break;case"plotbg":r.bg=e.append("path");break;case"radial-grid":case"angular-grid":e.style("fill","none");break;case"radial-line":e.append("line").style("fill","none");break;case"angular-line":e.append("path").style("fill","none")}})),f.order()},O.updateLayout=function(t,e){var r=this.layers,n=t._size,i=e.radialaxis,a=e.angularaxis,o=e.domain.x,s=e.domain.y;this.xOffset=n.l+n.w*o[0],this.yOffset=n.t+n.h*(1-s[1]);var f=this.xLength=n.w*(o[1]-o[0]),h=this.yLength=n.h*(s[1]-s[0]),p=e.sector;this.sectorInRad=p.map(I);var d,g,m,v,y,x=this.sectorBBox=function(t){var e,r,n,i,a=t[0],o=t[1]-a,s=L(a,360),l=s+o,c=Math.cos(I(s)),u=Math.sin(I(s)),f=Math.cos(I(l)),h=Math.sin(I(l));i=s<=90&&l>=90||s>90&&l>=450?1:u<=0&&h<=0?0:Math.max(u,h);e=s<=180&&l>=180||s>180&&l>=540?-1:c>=0&&f>=0?0:Math.min(c,f);r=s<=270&&l>=270||s>270&&l>=630?-1:u>=0&&h>=0?0:Math.min(u,h);n=l>=360?1:c<=0&&f<=0?0:Math.max(c,f);return[e,r,n,i]}(p),b=x[2]-x[0],_=x[3]-x[1],w=h/f,T=Math.abs(_/b);w>T?(d=f,y=(h-(g=f*T))/n.h/2,m=[o[0],o[1]],v=[s[0]+y,s[1]-y]):(g=h,y=(f-(d=h/T))/n.w/2,m=[o[0]+y,o[1]-y],v=[s[0],s[1]]),this.xLength2=d,this.yLength2=g,this.xDomain2=m,this.yDomain2=v;var k=this.xOffset2=n.l+n.w*m[0],M=this.yOffset2=n.t+n.h*(1-v[1]),A=this.radius=d/b,S=this.innerRadius=e.hole*A,E=this.cx=k-A*x[0],C=this.cy=M+A*x[3],P=this.cxx=E-k,z=this.cyy=C-M;this.radialAxis=this.mockAxis(t,e,i,{_id:"x",side:{counterclockwise:"top",clockwise:"bottom"}[i.side],_realSide:i.side,domain:[S/n.w,A/n.w]}),this.angularAxis=this.mockAxis(t,e,a,{side:"right",domain:[0,Math.PI],autorange:!1}),this.doAutoRange(t,e),this.updateAngularAxis(t,e),this.updateRadialAxis(t,e),this.updateRadialAxisTitle(t,e),this.xaxis=this.mockCartesianAxis(t,e,{_id:"x",domain:m}),this.yaxis=this.mockCartesianAxis(t,e,{_id:"y",domain:v});var O=this.pathSubplot();this.clipPaths.forTraces.select("path").attr("d",O).attr("transform",l(P,z)),r.frontplot.attr("transform",l(k,M)).call(u.setClipUrl,this._hasClipOnAxisFalse?null:this.clipIds.forTraces,this.gd),r.bg.attr("d",O).attr("transform",l(E,C)).call(c.fill,e.bgcolor)},O.mockAxis=function(t,e,r,n){var i=o.extendFlat({},r,n);return d(i,e,t),i},O.mockCartesianAxis=function(t,e,r){var n=this,i=r._id,a=o.extendFlat({type:"linear"},r);p(a,t);var s={x:[0,2],y:[1,3]};return a.setRange=function(){var t=n.sectorBBox,r=s[i],o=n.radialAxis._rl,l=(o[1]-o[0])/(1-e.hole);a.range=[t[r[0]]*l,t[r[1]]*l]},a.isPtWithinRange="x"===i?function(t){return n.isPtInside(t)}:function(){return!0},a.setRange(),a.setScale(),a},O.doAutoRange=function(t,e){var r=this.gd,n=this.radialAxis,i=e.radialaxis;n.setScale(),g(r,n);var a=n.range;i.range=a.slice(),i._input.range=a.slice(),n._rl=[n.r2l(a[0],null,"gregorian"),n.r2l(a[1],null,"gregorian")]},O.updateRadialAxis=function(t,e){var r=this,n=r.gd,i=r.layers,a=r.radius,u=r.innerRadius,f=r.cx,p=r.cy,d=e.radialaxis,g=L(e.sector[0],360),m=r.radialAxis,v=u<a;r.fillViewInitialKey("radialaxis.angle",d.angle),r.fillViewInitialKey("radialaxis.range",m.range.slice()),m.setGeometry(),"auto"===m.tickangle&&g>90&&g<=270&&(m.tickangle=180);var y=function(t){return l(m.l2p(t.x)+u,0)},x=D(d);if(r.radialTickLayout!==x&&(i["radial-axis"].selectAll(".xtick").remove(),r.radialTickLayout=x),v){m.setScale();var b=h.calcTicks(m),_=h.clipEnds(m,b),w=h.getTickSigns(m)[2];h.drawTicks(n,m,{vals:b,layer:i["radial-axis"],path:h.makeTickPath(m,0,w),transFn:y,crisp:!1}),h.drawGrid(n,m,{vals:_,layer:i["radial-grid"],path:function(t){return r.pathArc(m.r2p(t.x)+u)},transFn:o.noop,crisp:!1}),h.drawLabels(n,m,{vals:b,layer:i["radial-axis"],transFn:y,labelFns:h.makeLabelFns(m,0)})}var T=r.radialAxisAngle=r.vangles?P(R(I(d.angle),r.vangles)):d.angle,k=l(f,p),M=k+s(-T);F(i["radial-axis"],v&&(d.showticklabels||d.ticks),{transform:M}),F(i["radial-grid"],v&&d.showgrid,{transform:k}),F(i["radial-line"].select("line"),v&&d.showline,{x1:u,y1:0,x2:a,y2:0,transform:M}).attr("stroke-width",d.linewidth).call(c.stroke,d.linecolor)},O.updateRadialAxisTitle=function(t,e,r){var n=this.gd,i=this.radius,a=this.cx,o=this.cy,s=e.radialaxis,l=this.id+"title",c=void 0!==r?r:this.radialAxisAngle,f=I(c),h=Math.cos(f),p=Math.sin(f),d=0;if(s.title){var g=u.bBox(this.layers["radial-axis"].node()).height,m=s.title.font.size;d="counterclockwise"===s.side?-g-.4*m:g+.8*m}this.layers["radial-axis-title"]=x.draw(n,l,{propContainer:s,propName:this.id+".radialaxis.title",placeholder:C(n,"Click to enter radial axis title"),attributes:{x:a+i/2*h+d*p,y:o-i/2*p+d*h,"text-anchor":"middle"},transform:{rotate:-c}})},O.updateAngularAxis=function(t,e){var r=this,n=r.gd,i=r.layers,a=r.radius,u=r.innerRadius,f=r.cx,p=r.cy,d=e.angularaxis,g=r.angularAxis;r.fillViewInitialKey("angularaxis.rotation",d.rotation),g.setGeometry(),g.setScale();var m=function(t){return g.t2g(t.x)};"linear"===g.type&&"radians"===g.thetaunit&&(g.tick0=P(g.tick0),g.dtick=P(g.dtick));var v=function(t){return l(f+a*Math.cos(t),p-a*Math.sin(t))},y=h.makeLabelFns(g,0).labelStandoff,x={xFn:function(t){var e=m(t);return Math.cos(e)*y},yFn:function(t){var e=m(t),r=Math.sin(e)>0?.2:1;return-Math.sin(e)*(y+t.fontSize*r)+Math.abs(Math.cos(e))*(t.fontSize*A)},anchorFn:function(t){var e=m(t),r=Math.cos(e);return Math.abs(r)<.1?"middle":r>0?"start":"end"},heightFn:function(t,e,r){var n=m(t);return-.5*(1+Math.sin(n))*r}},b=D(d);r.angularTickLayout!==b&&(i["angular-axis"].selectAll("."+g._id+"tick").remove(),r.angularTickLayout=b);var _,w=h.calcTicks(g);if("linear"===e.gridshape?(_=w.map(m),o.angleDelta(_[0],_[1])<0&&(_=_.slice().reverse())):_=null,r.vangles=_,"category"===g.type&&(w=w.filter((function(t){return o.isAngleInsideSector(m(t),r.sectorInRad)}))),g.visible){var T="inside"===g.ticks?-1:1,k=(g.linewidth||1)/2;h.drawTicks(n,g,{vals:w,layer:i["angular-axis"],path:"M"+T*k+",0h"+T*g.ticklen,transFn:function(t){var e=m(t);return v(e)+s(-P(e))},crisp:!1}),h.drawGrid(n,g,{vals:w,layer:i["angular-grid"],path:function(t){var e=m(t),r=Math.cos(e),n=Math.sin(e);return"M"+[f+u*r,p-u*n]+"L"+[f+a*r,p-a*n]},transFn:o.noop,crisp:!1}),h.drawLabels(n,g,{vals:w,layer:i["angular-axis"],repositionOnUpdate:!0,transFn:function(t){return v(m(t))},labelFns:x})}F(i["angular-line"].select("path"),d.showline,{d:r.pathSubplot(),transform:l(f,p)}).attr("stroke-width",d.linewidth).call(c.stroke,d.linecolor)},O.updateFx=function(t,e){this.gd._context.staticPlot||(this.updateAngularDrag(t),this.updateRadialDrag(t,e,0),this.updateRadialDrag(t,e,1),this.updateMainDrag(t))},O.updateMainDrag=function(t){var e,r,s=this,c=s.gd,u=s.layers,f=t._zoomlayer,h=S.MINZOOM,p=S.OFFEDGE,d=s.radius,g=s.innerRadius,x=s.cx,T=s.cy,k=s.cxx,M=s.cyy,A=s.sectorInRad,C=s.vangles,L=s.radialAxis,I=E.clampTiny,P=E.findXYatLength,z=E.findEnclosingVertexAngles,O=S.cornerHalfWidth,D=S.cornerLen/2,R=m.makeDragger(u,"path","maindrag","crosshair");n.select(R).attr("d",s.pathSubplot()).attr("transform",l(x,T));var F,B,N,j,U,V,q,H,G,Y={element:R,gd:c,subplot:s.id,plotinfo:{id:s.id,xaxis:s.xaxis,yaxis:s.yaxis},xaxes:[s.xaxis],yaxes:[s.yaxis]};function W(t,e){return Math.sqrt(t*t+e*e)}function X(t,e){return W(t-k,e-M)}function Z(t,e){return Math.atan2(M-e,t-k)}function J(t,e){return[t*Math.cos(e),t*Math.sin(-e)]}function K(t,e){if(0===t)return s.pathSector(2*O);var r=D/t,n=e-r,i=e+r,a=Math.max(0,Math.min(t,d)),o=a-O,l=a+O;return"M"+J(o,n)+"A"+[o,o]+" 0,0,0 "+J(o,i)+"L"+J(l,i)+"A"+[l,l]+" 0,0,1 "+J(l,n)+"Z"}function Q(t,e,r){if(0===t)return s.pathSector(2*O);var n,i,a=J(t,e),o=J(t,r),l=I((a[0]+o[0])/2),c=I((a[1]+o[1])/2);if(l&&c){var u=c/l,f=-1/u,h=P(O,u,l,c);n=P(D,f,h[0][0],h[0][1]),i=P(D,f,h[1][0],h[1][1])}else{var p,d;c?(p=D,d=O):(p=O,d=D),n=[[l-p,c-d],[l+p,c-d]],i=[[l-p,c+d],[l+p,c+d]]}return"M"+n.join("L")+"L"+i.reverse().join("L")+"Z"}function $(t,e){return e=Math.max(Math.min(e,d),g),t<p?t=0:d-t<p?t=d:e<p?e=0:d-e<p&&(e=d),Math.abs(e-t)>h?(t<e?(N=t,j=e):(N=e,j=t),!0):(N=null,j=null,!1)}function tt(t,e){t=t||U,e=e||"M0,0Z",H.attr("d",t),G.attr("d",e),m.transitionZoombox(H,G,V,q),V=!0;var r={};at(r),c.emit("plotly_relayouting",r)}function et(t,n){var i,a,o=F+(t*=e),l=B+(n*=r),c=X(F,B),u=Math.min(X(o,l),d),f=Z(F,B);$(c,u)&&(i=U+s.pathSector(j),N&&(i+=s.pathSector(N)),a=K(N,f)+K(j,f)),tt(i,a)}function rt(t,e,r,n){var i=E.findIntersectionXY(r,n,r,[t-k,M-e]);return W(i[0],i[1])}function nt(t,e){var r,n,i=F+t,a=B+e,o=Z(F,B),l=Z(i,a),c=z(o,C),u=z(l,C);$(rt(F,B,c[0],c[1]),Math.min(rt(i,a,u[0],u[1]),d))&&(r=U+s.pathSector(j),N&&(r+=s.pathSector(N)),n=[Q(N,c[0],c[1]),Q(j,c[0],c[1])].join(" ")),tt(r,n)}function it(){if(m.removeZoombox(c),null!==N&&null!==j){var t={};at(t),m.showDoubleClickNotifier(c),a.call("_guiRelayout",c,t)}}function at(t){var e=L._rl,r=(e[1]-e[0])/(1-g/d)/d,n=[e[0]+(N-g)*r,e[0]+(j-g)*r];t[s.id+".radialaxis.range"]=n}function ot(t,e){var r=c._fullLayout.clickmode;if(m.removeZoombox(c),2===t){var n={};for(var i in s.viewInitial)n[s.id+"."+i]=s.viewInitial[i];c.emit("plotly_doubleclick",null),a.call("_guiRelayout",c,n)}r.indexOf("select")>-1&&1===t&&_(e,c,[s.xaxis],[s.yaxis],s.id,Y),r.indexOf("event")>-1&&y.click(c,e,s.id)}Y.prepFn=function(t,n,a){var l=c._fullLayout.dragmode,u=R.getBoundingClientRect();c._fullLayout._calcInverseTransform(c);var h=c._fullLayout._invTransform;e=c._fullLayout._invScaleX,r=c._fullLayout._invScaleY;var p=o.apply3DTransform(h)(n-u.left,a-u.top);if(F=p[0],B=p[1],C){var g=E.findPolygonOffset(d,A[0],A[1],C);F+=k+g[0],B+=M+g[1]}switch(l){case"zoom":Y.moveFn=C?nt:et,Y.clickFn=ot,Y.doneFn=it,function(){N=null,j=null,U=s.pathSubplot(),V=!1;var t=c._fullLayout[s.id];q=i(t.bgcolor).getLuminance(),(H=m.makeZoombox(f,q,x,T,U)).attr("fill-rule","evenodd"),G=m.makeCorners(f,x,T),w(c)}();break;case"select":case"lasso":b(t,n,a,Y,l)}},R.onmousemove=function(t){y.hover(c,t,s.id),c._fullLayout._lasthover=R,c._fullLayout._hoversubplot=s.id},R.onmouseout=function(t){c._dragging||v.unhover(c,t)},v.init(Y)},O.updateRadialDrag=function(t,e,r){var i=this,c=i.gd,u=i.layers,f=i.radius,h=i.innerRadius,p=i.cx,d=i.cy,g=i.radialAxis,y=S.radialDragBoxSize,x=y/2;if(g.visible){var b,_,T,A=I(i.radialAxisAngle),E=g._rl,C=E[0],L=E[1],z=E[r],O=.75*(E[1]-E[0])/(1-e.hole)/f;r?(b=p+(f+x)*Math.cos(A),_=d-(f+x)*Math.sin(A),T="radialdrag"):(b=p+(h-x)*Math.cos(A),_=d-(h-x)*Math.sin(A),T="radialdrag-inner");var D,B,N,j=m.makeRectDragger(u,T,"crosshair",-x,-x,y,y),U={element:j,gd:c};F(n.select(j),g.visible&&h<f,{transform:l(b,_)}),U.prepFn=function(){D=null,B=null,N=null,U.moveFn=V,U.doneFn=q,w(c)},U.clampFn=function(t,e){return Math.sqrt(t*t+e*e)<S.MINDRAG&&(t=0,e=0),[t,e]},v.init(U)}function V(t,e){if(D)D(t,e);else{var n=[t,-e],a=[Math.cos(A),Math.sin(A)],s=Math.abs(o.dot(n,a)/Math.sqrt(o.dot(n,n)));isNaN(s)||(D=s<.5?H:G)}var l={};!function(t){null!==B?t[i.id+".radialaxis.angle"]=B:null!==N&&(t[i.id+".radialaxis.range["+r+"]"]=N)}(l),c.emit("plotly_relayouting",l)}function q(){null!==B?a.call("_guiRelayout",c,i.id+".radialaxis.angle",B):null!==N&&a.call("_guiRelayout",c,i.id+".radialaxis.range["+r+"]",N)}function H(t,e){if(0!==r){var n=b+t,a=_+e;B=Math.atan2(d-a,n-p),i.vangles&&(B=R(B,i.vangles)),B=P(B);var o=l(p,d)+s(-B);u["radial-axis"].attr("transform",o),u["radial-line"].select("line").attr("transform",o);var c=i.gd._fullLayout,f=c[i.id];i.updateRadialAxisTitle(c,f,B)}}function G(t,e){var n=o.dot([t,-e],[Math.cos(A),Math.sin(A)]);if(N=z-O*n,O>0==(r?N>C:N<L)){var s=c._fullLayout,l=s[i.id];g.range[r]=N,g._rl[r]=N,i.updateRadialAxis(s,l),i.xaxis.setRange(),i.xaxis.setScale(),i.yaxis.setRange(),i.yaxis.setScale();var u=!1;for(var f in i.traceHash){var h=i.traceHash[f],p=o.filterVisible(h);h[0][0].trace._module.plot(c,i,p,l),a.traceIs(f,"gl")&&p.length&&(u=!0)}u&&(k(c),M(c))}else N=null}},O.updateAngularDrag=function(t){var e=this,r=e.gd,i=e.layers,c=e.radius,f=e.angularAxis,h=e.cx,p=e.cy,d=e.cxx,g=e.cyy,y=S.angularDragBoxSize,x=m.makeDragger(i,"path","angulardrag","move"),b={element:x,gd:r};function _(t,e){return Math.atan2(g+y-e,t-d-y)}n.select(x).attr("d",e.pathAnnulus(c,c+y)).attr("transform",l(h,p)).call(T,"move");var A,E,C,L,I,z,O=i.frontplot.select(".scatterlayer").selectAll(".trace"),D=O.selectAll(".point"),R=O.selectAll(".textpoint");function F(c,m){var v=e.gd._fullLayout,y=v[e.id],x=_(A+c*t._invScaleX,E+m*t._invScaleY),b=P(x-z);if(L=C+b,i.frontplot.attr("transform",l(e.xOffset2,e.yOffset2)+s([-b,d,g])),e.vangles){I=e.radialAxisAngle+b;var w=l(h,p)+s(-b),T=l(h,p)+s(-I);i.bg.attr("transform",w),i["radial-grid"].attr("transform",w),i["radial-axis"].attr("transform",T),i["radial-line"].select("line").attr("transform",T),e.updateRadialAxisTitle(v,y,I)}else e.clipPaths.forTraces.select("path").attr("transform",l(d,g)+s(b));D.each((function(){var t=n.select(this),e=u.getTranslate(t);t.attr("transform",l(e.x,e.y)+s([b]))})),R.each((function(){var t=n.select(this),e=t.select("text"),r=u.getTranslate(t);t.attr("transform",s([b,e.attr("x"),e.attr("y")])+l(r.x,r.y))})),f.rotation=o.modHalf(L,360),e.updateAngularAxis(v,y),e._hasClipOnAxisFalse&&!o.isFullCircle(e.sectorInRad)&&O.call(u.hideOutsideRangePoints,e);var S=!1;for(var F in e.traceHash)if(a.traceIs(F,"gl")){var N=e.traceHash[F],j=o.filterVisible(N);N[0][0].trace._module.plot(r,e,j,y),j.length&&(S=!0)}S&&(k(r),M(r));var U={};B(U),r.emit("plotly_relayouting",U)}function B(t){t[e.id+".angularaxis.rotation"]=L,e.vangles&&(t[e.id+".radialaxis.angle"]=I)}function N(){R.select("text").attr("transform",null);var t={};B(t),a.call("_guiRelayout",r,t)}b.prepFn=function(n,i,a){var s=t[e.id];C=s.angularaxis.rotation;var l=x.getBoundingClientRect();A=i-l.left,E=a-l.top,r._fullLayout._calcInverseTransform(r);var c=o.apply3DTransform(t._invTransform)(A,E);A=c[0],E=c[1],z=_(A,E),b.moveFn=F,b.doneFn=N,w(r)},e.vangles&&!o.isFullCircle(e.sectorInRad)&&(b.prepFn=o.noop,T(n.select(x),null)),v.init(b)},O.isPtInside=function(t){var e=this.sectorInRad,r=this.vangles,n=this.angularAxis.c2g(t.theta),i=this.radialAxis,a=i.c2l(t.r),s=i._rl;return(r?E.isPtInsidePolygon:o.isPtInsideSector)(a,n,s,e,r)},O.pathArc=function(t){var e=this.sectorInRad,r=this.vangles;return(r?E.pathPolygon:o.pathArc)(t,e[0],e[1],r)},O.pathSector=function(t){var e=this.sectorInRad,r=this.vangles;return(r?E.pathPolygon:o.pathSector)(t,e[0],e[1],r)},O.pathAnnulus=function(t,e){var r=this.sectorInRad,n=this.vangles;return(n?E.pathPolygonAnnulus:o.pathAnnulus)(t,e,r[0],r[1],n)},O.pathSubplot=function(){var t=this.innerRadius,e=this.radius;return t?this.pathAnnulus(t,e):this.pathSector(e)},O.fillViewInitialKey=function(t,e){t in this.viewInitial||(this.viewInitial[t]=e)}},{"../../components/color":643,"../../components/dragelement":662,"../../components/drawing":665,"../../components/fx":683,"../../components/titles":738,"../../constants/alignment":745,"../../lib":778,"../../lib/clear_gl_canvases":762,"../../lib/setcursor":799,"../../plot_api/subroutines":818,"../../plots/cartesian/axes":828,"../../registry":911,"../cartesian/autorange":827,"../cartesian/dragbox":836,"../cartesian/select":847,"../cartesian/set_convert":848,"../plots":891,"./constants":892,"./helpers":893,"./set_convert":904,d3:169,tinycolor2:576}],904:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../cartesian/set_convert"),a=n.deg2rad,o=n.rad2deg;e.exports=function(t,e,r){switch(i(t,r),t._id){case"x":case"radialaxis":!function(t,e){var r=e._subplot;t.setGeometry=function(){var e=t._rl[0],n=t._rl[1],i=r.innerRadius,a=(r.radius-i)/(n-e),o=i/a,s=e>n?function(t){return t<=0}:function(t){return t>=0};t.c2g=function(r){var n=t.c2l(r)-e;return(s(n)?n:0)+o},t.g2c=function(r){return t.l2c(r+e-o)},t.g2p=function(t){return t*a},t.c2p=function(e){return t.g2p(t.c2g(e))}}}(t,e);break;case"angularaxis":!function(t,e){var r=t.type;if("linear"===r){var i=t.d2c,s=t.c2d;t.d2c=function(t,e){return function(t,e){return"degrees"===e?a(t):t}(i(t),e)},t.c2d=function(t,e){return s(function(t,e){return"degrees"===e?o(t):t}(t,e))}}t.makeCalcdata=function(e,i){var a,o,s=e[i],l=e._length,c=function(r){return t.d2c(r,e.thetaunit)};if(s){if(n.isTypedArray(s)&&"linear"===r){if(l===s.length)return s;if(s.subarray)return s.subarray(0,l)}for(a=new Array(l),o=0;o<l;o++)a[o]=c(s[o])}else{var u=i+"0",f="d"+i,h=u in e?c(e[u]):0,p=e[f]?c(e[f]):(t.period||2*Math.PI)/l;for(a=new Array(l),o=0;o<l;o++)a[o]=h+o*p}return a},t.setGeometry=function(){var i,s,l,c,u=e.sector,f=u.map(a),h={clockwise:-1,counterclockwise:1}[t.direction],p=a(t.rotation),d=function(t){return h*t+p},g=function(t){return(t-p)/h};switch(r){case"linear":s=i=n.identity,c=a,l=o,t.range=n.isFullCircle(f)?[u[0],u[0]+360]:f.map(g).map(o);break;case"category":var m=t._categories.length,v=t.period?Math.max(t.period,m):m;0===v&&(v=1),s=c=function(t){return 2*t*Math.PI/v},i=l=function(t){return t*v/Math.PI/2},t.range=[0,v]}t.c2g=function(t){return d(s(t))},t.g2c=function(t){return i(g(t))},t.t2g=function(t){return d(c(t))},t.g2t=function(t){return l(g(t))}}}(t,e)}}},{"../../lib":778,"../cartesian/set_convert":848}],905:[function(t,e,r){"use strict";var n=t("../lib"),i=t("../plot_api/plot_template"),a=t("./domain").defaults;e.exports=function(t,e,r,o){var s,l,c=o.type,u=o.attributes,f=o.handleDefaults,h=o.partition||"x",p=e._subplots[c],d=p.length,g=d&&p[0].replace(/\d+$/,"");function m(t,e){return n.coerce(s,l,u,t,e)}for(var v=0;v<d;v++){var y=p[v];s=t[y]?t[y]:t[y]={},l=i.newContainer(e,y,g),m("uirevision",e.uirevision);var x={};x[h]=[v/d,(v+1)/d],a(l,e,m,x),o.id=y,f(s,l,m,o)}}},{"../lib":778,"../plot_api/plot_template":817,"./domain":855}],906:[function(t,e,r){"use strict";['Variables are inserted using %{variable}, for example "y: %{y}".','Numbers are formatted using d3-format\'s syntax %{variable:d3-format}, for example "Price: %{y:$.2f}".',t("../constants/docs").FORMAT_LINK,"for details on the formatting syntax.",'Dates are formatted using d3-time-format\'s syntax %{variable|d3-time-format}, for example "Day: %{2019-01-01|%A}".',t("../constants/docs").DATE_FORMAT_LINK,"for details on the date formatting syntax."].join(" ");function n(t){var e=t.description?" "+t.description:"",r=t.keys||[];if(r.length>0){for(var n=[],i=0;i<r.length;i++)n[i]="`"+r[i]+"`";e+="Finally, the template string has access to ",e=1===r.length?"variable "+n[0]:"variables "+n.slice(0,-1).join(", ")+" and "+n.slice(-1)+"."}return e}r.hovertemplateAttrs=function(t,e){t=t||{};n(e=e||{});var r={valType:"string",dflt:"",editType:t.editType||"none"};return!1!==t.arrayOk&&(r.arrayOk=!0),r},r.texttemplateAttrs=function(t,e){t=t||{};n(e=e||{});var r={valType:"string",dflt:"",editType:t.editType||"calc"};return!1!==t.arrayOk&&(r.arrayOk=!0),r}},{"../constants/docs":748}],907:[function(t,e,r){"use strict";var n=t("./ternary"),i=t("../../plots/get_data").getSubplotCalcData,a=t("../../lib").counterRegex;r.name="ternary";var o=r.attr="subplot";r.idRoot="ternary",r.idRegex=r.attrRegex=a("ternary"),(r.attributes={})[o]={valType:"subplotid",dflt:"ternary",editType:"calc"},r.layoutAttributes=t("./layout_attributes"),r.supplyLayoutDefaults=t("./layout_defaults"),r.plot=function(t){for(var e=t._fullLayout,r=t.calcdata,a=e._subplots.ternary,o=0;o<a.length;o++){var s=a[o],l=i(r,"ternary",s),c=e[s]._subplot;c||(c=new n({id:s,graphDiv:t,container:e._ternarylayer.node()},e),e[s]._subplot=c),c.plot(l,e,t._promises)}},r.clean=function(t,e,r,n){for(var i=n._subplots.ternary||[],a=0;a<i.length;a++){var o=i[a],s=n[o]._subplot;!e[o]&&s&&(s.plotContainer.remove(),s.clipDef.remove(),s.clipDefRelative.remove(),s.layers["a-title"].remove(),s.layers["b-title"].remove(),s.layers["c-title"].remove())}}},{"../../lib":778,"../../plots/get_data":865,"./layout_attributes":908,"./layout_defaults":909,"./ternary":910}],908:[function(t,e,r){"use strict";var n=t("../../components/color/attributes"),i=t("../domain").attributes,a=t("../cartesian/layout_attributes"),o=t("../../plot_api/edit_types").overrideAll,s=t("../../lib/extend").extendFlat,l={title:{text:a.title.text,font:a.title.font},color:a.color,tickmode:a.tickmode,nticks:s({},a.nticks,{dflt:6,min:1}),tick0:a.tick0,dtick:a.dtick,tickvals:a.tickvals,ticktext:a.ticktext,ticks:a.ticks,ticklen:a.ticklen,tickwidth:a.tickwidth,tickcolor:a.tickcolor,showticklabels:a.showticklabels,showtickprefix:a.showtickprefix,tickprefix:a.tickprefix,showticksuffix:a.showticksuffix,ticksuffix:a.ticksuffix,showexponent:a.showexponent,exponentformat:a.exponentformat,minexponent:a.minexponent,separatethousands:a.separatethousands,tickfont:a.tickfont,tickangle:a.tickangle,tickformat:a.tickformat,tickformatstops:a.tickformatstops,hoverformat:a.hoverformat,showline:s({},a.showline,{dflt:!0}),linecolor:a.linecolor,linewidth:a.linewidth,showgrid:s({},a.showgrid,{dflt:!0}),gridcolor:a.gridcolor,gridwidth:a.gridwidth,layer:a.layer,min:{valType:"number",dflt:0,min:0},_deprecated:{title:a._deprecated.title,titlefont:a._deprecated.titlefont}},c=e.exports=o({domain:i({name:"ternary"}),bgcolor:{valType:"color",dflt:n.background},sum:{valType:"number",dflt:1,min:0},aaxis:l,baxis:l,caxis:l},"plot","from-root");c.uirevision={valType:"any",editType:"none"},c.aaxis.uirevision=c.baxis.uirevision=c.caxis.uirevision={valType:"any",editType:"none"}},{"../../components/color/attributes":642,"../../lib/extend":768,"../../plot_api/edit_types":810,"../cartesian/layout_attributes":842,"../domain":855}],909:[function(t,e,r){"use strict";var n=t("../../components/color"),i=t("../../plot_api/plot_template"),a=t("../../lib"),o=t("../subplot_defaults"),s=t("../cartesian/tick_label_defaults"),l=t("../cartesian/tick_mark_defaults"),c=t("../cartesian/tick_value_defaults"),u=t("../cartesian/line_grid_defaults"),f=t("./layout_attributes"),h=["aaxis","baxis","caxis"];function p(t,e,r,a){var o,s,l,c=r("bgcolor"),u=r("sum");a.bgColor=n.combine(c,a.paper_bgcolor);for(var f=0;f<h.length;f++)s=t[o=h[f]]||{},(l=i.newContainer(e,o))._name=o,d(s,l,a,e);var p=e.aaxis,g=e.baxis,m=e.caxis;p.min+g.min+m.min>=u&&(p.min=0,g.min=0,m.min=0,t.aaxis&&delete t.aaxis.min,t.baxis&&delete t.baxis.min,t.caxis&&delete t.caxis.min)}function d(t,e,r,n){var i=f[e._name];function o(r,n){return a.coerce(t,e,i,r,n)}o("uirevision",n.uirevision),e.type="linear";var h=o("color"),p=h!==i.color.dflt?h:r.font.color,d=e._name.charAt(0).toUpperCase(),g="Component "+d,m=o("title.text",g);e._hovertitle=m===g?m:d,a.coerceFont(o,"title.font",{family:r.font.family,size:Math.round(1.2*r.font.size),color:p}),o("min"),c(t,e,o,"linear"),s(t,e,o,"linear",{}),l(t,e,o,{outerTicks:!0}),o("showticklabels")&&(a.coerceFont(o,"tickfont",{family:r.font.family,size:r.font.size,color:p}),o("tickangle"),o("tickformat")),u(t,e,o,{dfltColor:h,bgColor:r.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:i}),o("hoverformat"),o("layer")}e.exports=function(t,e,r){o(t,e,r,{type:"ternary",attributes:f,handleDefaults:p,font:e.font,paper_bgcolor:e.paper_bgcolor})}},{"../../components/color":643,"../../lib":778,"../../plot_api/plot_template":817,"../cartesian/line_grid_defaults":844,"../cartesian/tick_label_defaults":849,"../cartesian/tick_mark_defaults":850,"../cartesian/tick_value_defaults":851,"../subplot_defaults":905,"./layout_attributes":908}],910:[function(t,e,r){"use strict";var n=t("d3"),i=t("tinycolor2"),a=t("../../registry"),o=t("../../lib"),s=o.strTranslate,l=o._,c=t("../../components/color"),u=t("../../components/drawing"),f=t("../cartesian/set_convert"),h=t("../../lib/extend").extendFlat,p=t("../plots"),d=t("../cartesian/axes"),g=t("../../components/dragelement"),m=t("../../components/fx"),v=t("../../components/dragelement/helpers"),y=v.freeMode,x=v.rectMode,b=t("../../components/titles"),_=t("../cartesian/select").prepSelect,w=t("../cartesian/select").selectOnClick,T=t("../cartesian/select").clearSelect,k=t("../cartesian/select").clearSelectionsCache,M=t("../cartesian/constants");function A(t,e){this.id=t.id,this.graphDiv=t.graphDiv,this.init(e),this.makeFramework(e),this.aTickLayout=null,this.bTickLayout=null,this.cTickLayout=null}e.exports=A;var S=A.prototype;S.init=function(t){this.container=t._ternarylayer,this.defs=t._defs,this.layoutId=t._uid,this.traceHash={},this.layers={}},S.plot=function(t,e){var r=e[this.id],n=e._size;this._hasClipOnAxisFalse=!1;for(var i=0;i<t.length;i++){if(!1===t[i][0].trace.cliponaxis){this._hasClipOnAxisFalse=!0;break}}this.updateLayers(r),this.adjustLayout(r,n),p.generalUpdatePerTraceModule(this.graphDiv,this,t,r),this.layers.plotbg.select("path").call(c.fill,r.bgcolor)},S.makeFramework=function(t){var e=this.graphDiv,r=t[this.id],n=this.clipId="clip"+this.layoutId+this.id,i=this.clipIdRelative="clip-relative"+this.layoutId+this.id;this.clipDef=o.ensureSingleById(t._clips,"clipPath",n,(function(t){t.append("path").attr("d","M0,0Z")})),this.clipDefRelative=o.ensureSingleById(t._clips,"clipPath",i,(function(t){t.append("path").attr("d","M0,0Z")})),this.plotContainer=o.ensureSingle(this.container,"g",this.id),this.updateLayers(r),u.setClipUrl(this.layers.backplot,n,e),u.setClipUrl(this.layers.grids,n,e)},S.updateLayers=function(t){var e=this.layers,r=["draglayer","plotbg","backplot","grids"];"below traces"===t.aaxis.layer&&r.push("aaxis","aline"),"below traces"===t.baxis.layer&&r.push("baxis","bline"),"below traces"===t.caxis.layer&&r.push("caxis","cline"),r.push("frontplot"),"above traces"===t.aaxis.layer&&r.push("aaxis","aline"),"above traces"===t.baxis.layer&&r.push("baxis","bline"),"above traces"===t.caxis.layer&&r.push("caxis","cline");var i=this.plotContainer.selectAll("g.toplevel").data(r,String),a=["agrid","bgrid","cgrid"];i.enter().append("g").attr("class",(function(t){return"toplevel "+t})).each((function(t){var r=n.select(this);e[t]=r,"frontplot"===t?r.append("g").classed("scatterlayer",!0):"backplot"===t?r.append("g").classed("maplayer",!0):"plotbg"===t?r.append("path").attr("d","M0,0Z"):"aline"===t||"bline"===t||"cline"===t?r.append("path"):"grids"===t&&a.forEach((function(t){e[t]=r.append("g").classed("grid "+t,!0)}))})),i.order()};var E=Math.sqrt(4/3);S.adjustLayout=function(t,e){var r,n,i,a,o,l,p=this,d=t.domain,g=(d.x[0]+d.x[1])/2,m=(d.y[0]+d.y[1])/2,v=d.x[1]-d.x[0],y=d.y[1]-d.y[0],x=v*e.w,b=y*e.h,_=t.sum,w=t.aaxis.min,T=t.baxis.min,k=t.caxis.min;x>E*b?i=(a=b)*E:a=(i=x)/E,o=v*i/x,l=y*a/b,r=e.l+e.w*g-i/2,n=e.t+e.h*(1-m)-a/2,p.x0=r,p.y0=n,p.w=i,p.h=a,p.sum=_,p.xaxis={type:"linear",range:[w+2*k-_,_-w-2*T],domain:[g-o/2,g+o/2],_id:"x"},f(p.xaxis,p.graphDiv._fullLayout),p.xaxis.setScale(),p.xaxis.isPtWithinRange=function(t){return t.a>=p.aaxis.range[0]&&t.a<=p.aaxis.range[1]&&t.b>=p.baxis.range[1]&&t.b<=p.baxis.range[0]&&t.c>=p.caxis.range[1]&&t.c<=p.caxis.range[0]},p.yaxis={type:"linear",range:[w,_-T-k],domain:[m-l/2,m+l/2],_id:"y"},f(p.yaxis,p.graphDiv._fullLayout),p.yaxis.setScale(),p.yaxis.isPtWithinRange=function(){return!0};var M=p.yaxis.domain[0],A=p.aaxis=h({},t.aaxis,{range:[w,_-T-k],side:"left",tickangle:(+t.aaxis.tickangle||0)-30,domain:[M,M+l*E],anchor:"free",position:0,_id:"y",_length:i});f(A,p.graphDiv._fullLayout),A.setScale();var S=p.baxis=h({},t.baxis,{range:[_-w-k,T],side:"bottom",domain:p.xaxis.domain,anchor:"free",position:0,_id:"x",_length:i});f(S,p.graphDiv._fullLayout),S.setScale();var C=p.caxis=h({},t.caxis,{range:[_-w-T,k],side:"right",tickangle:(+t.caxis.tickangle||0)+30,domain:[M,M+l*E],anchor:"free",position:0,_id:"y",_length:i});f(C,p.graphDiv._fullLayout),C.setScale();var L="M"+r+","+(n+a)+"h"+i+"l-"+i/2+",-"+a+"Z";p.clipDef.select("path").attr("d",L),p.layers.plotbg.select("path").attr("d",L);var I="M0,"+a+"h"+i+"l-"+i/2+",-"+a+"Z";p.clipDefRelative.select("path").attr("d",I);var P=s(r,n);p.plotContainer.selectAll(".scatterlayer,.maplayer").attr("transform",P),p.clipDefRelative.select("path").attr("transform",null);var z=s(r-S._offset,n+a);p.layers.baxis.attr("transform",z),p.layers.bgrid.attr("transform",z);var O=s(r+i/2,n)+"rotate(30)"+s(0,-A._offset);p.layers.aaxis.attr("transform",O),p.layers.agrid.attr("transform",O);var D=s(r+i/2,n)+"rotate(-30)"+s(0,-C._offset);p.layers.caxis.attr("transform",D),p.layers.cgrid.attr("transform",D),p.drawAxes(!0),p.layers.aline.select("path").attr("d",A.showline?"M"+r+","+(n+a)+"l"+i/2+",-"+a:"M0,0").call(c.stroke,A.linecolor||"#000").style("stroke-width",(A.linewidth||0)+"px"),p.layers.bline.select("path").attr("d",S.showline?"M"+r+","+(n+a)+"h"+i:"M0,0").call(c.stroke,S.linecolor||"#000").style("stroke-width",(S.linewidth||0)+"px"),p.layers.cline.select("path").attr("d",C.showline?"M"+(r+i/2)+","+n+"l"+i/2+","+a:"M0,0").call(c.stroke,C.linecolor||"#000").style("stroke-width",(C.linewidth||0)+"px"),p.graphDiv._context.staticPlot||p.initInteractions(),u.setClipUrl(p.layers.frontplot,p._hasClipOnAxisFalse?null:p.clipId,p.graphDiv)},S.drawAxes=function(t){var e=this.graphDiv,r=this.id.substr(7)+"title",n=this.layers,i=this.aaxis,a=this.baxis,o=this.caxis;if(this.drawAx(i),this.drawAx(a),this.drawAx(o),t){var s=Math.max(i.showticklabels?i.tickfont.size/2:0,(o.showticklabels?.75*o.tickfont.size:0)+("outside"===o.ticks?.87*o.ticklen:0)),c=(a.showticklabels?a.tickfont.size:0)+("outside"===a.ticks?a.ticklen:0)+3;n["a-title"]=b.draw(e,"a"+r,{propContainer:i,propName:this.id+".aaxis.title",placeholder:l(e,"Click to enter Component A title"),attributes:{x:this.x0+this.w/2,y:this.y0-i.title.font.size/3-s,"text-anchor":"middle"}}),n["b-title"]=b.draw(e,"b"+r,{propContainer:a,propName:this.id+".baxis.title",placeholder:l(e,"Click to enter Component B title"),attributes:{x:this.x0-c,y:this.y0+this.h+.83*a.title.font.size+c,"text-anchor":"middle"}}),n["c-title"]=b.draw(e,"c"+r,{propContainer:o,propName:this.id+".caxis.title",placeholder:l(e,"Click to enter Component C title"),attributes:{x:this.x0+this.w+c,y:this.y0+this.h+.83*o.title.font.size+c,"text-anchor":"middle"}})}},S.drawAx=function(t){var e,r=this.graphDiv,n=t._name,i=n.charAt(0),a=t._id,s=this.layers[n],l=i+"tickLayout",c=(e=t).ticks+String(e.ticklen)+String(e.showticklabels);this[l]!==c&&(s.selectAll("."+a+"tick").remove(),this[l]=c),t.setScale();var u=d.calcTicks(t),f=d.clipEnds(t,u),h=d.makeTransTickFn(t),p=d.getTickSigns(t)[2],g=o.deg2rad(30),m=p*(t.linewidth||1)/2,v=p*t.ticklen,y=this.w,x=this.h,b="b"===i?"M0,"+m+"l"+Math.sin(g)*v+","+Math.cos(g)*v:"M"+m+",0l"+Math.cos(g)*v+","+-Math.sin(g)*v,_={a:"M0,0l"+x+",-"+y/2,b:"M0,0l-"+y/2+",-"+x,c:"M0,0l-"+x+","+y/2}[i];d.drawTicks(r,t,{vals:"inside"===t.ticks?f:u,layer:s,path:b,transFn:h,crisp:!1}),d.drawGrid(r,t,{vals:f,layer:this.layers[i+"grid"],path:_,transFn:h,crisp:!1}),d.drawLabels(r,t,{vals:u,layer:s,transFn:h,labelFns:d.makeLabelFns(t,0,30)})};var C=M.MINZOOM/2+.87,L="m-0.87,.5h"+C+"v3h-"+(C+5.2)+"l"+(C/2+2.6)+",-"+(.87*C+4.5)+"l2.6,1.5l-"+C/2+","+.87*C+"Z",I="m0.87,.5h-"+C+"v3h"+(C+5.2)+"l-"+(C/2+2.6)+",-"+(.87*C+4.5)+"l-2.6,1.5l"+C/2+","+.87*C+"Z",P="m0,1l"+C/2+","+.87*C+"l2.6,-1.5l-"+(C/2+2.6)+",-"+(.87*C+4.5)+"l-"+(C/2+2.6)+","+(.87*C+4.5)+"l2.6,1.5l"+C/2+",-"+.87*C+"Z",z=!0;function O(t){n.select(t).selectAll(".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners").remove()}S.clearSelect=function(){k(this.dragOptions),T(this.dragOptions.gd)},S.initInteractions=function(){var t,e,r,n,f,h,p,d,v,b,T,k,A=this,S=A.layers.plotbg.select("path").node(),C=A.graphDiv,D=C._fullLayout._zoomlayer;function R(t){var e={};return e[A.id+".aaxis.min"]=t.a,e[A.id+".baxis.min"]=t.b,e[A.id+".caxis.min"]=t.c,e}function F(t,e){var r=C._fullLayout.clickmode;O(C),2===t&&(C.emit("plotly_doubleclick",null),a.call("_guiRelayout",C,R({a:0,b:0,c:0}))),r.indexOf("select")>-1&&1===t&&w(e,C,[A.xaxis],[A.yaxis],A.id,A.dragOptions),r.indexOf("event")>-1&&m.click(C,e,A.id)}function B(t,e){return 1-e/A.h}function N(t,e){return 1-(t+(A.h-e)/Math.sqrt(3))/A.w}function j(t,e){return(t-(A.h-e)/Math.sqrt(3))/A.w}function U(i,a){var o=r+i*t,s=n+a*e,l=Math.max(0,Math.min(1,B(0,n),B(0,s))),c=Math.max(0,Math.min(1,N(r,n),N(o,s))),u=Math.max(0,Math.min(1,j(r,n),j(o,s))),g=(l/2+u)*A.w,m=(1-l/2-c)*A.w,y=(g+m)/2,x=m-g,_=(1-l)*A.h,w=_-x/E;x<M.MINZOOM?(p=f,T.attr("d",v),k.attr("d","M0,0Z")):(p={a:f.a+l*h,b:f.b+c*h,c:f.c+u*h},T.attr("d",v+"M"+g+","+_+"H"+m+"L"+y+","+w+"L"+g+","+_+"Z"),k.attr("d","M"+r+","+n+"m0.5,0.5h5v-2h-5v-5h-2v5h-5v2h5v5h2ZM"+g+","+_+L+"M"+m+","+_+I+"M"+y+","+w+P)),b||(T.transition().style("fill",d>.2?"rgba(0,0,0,0.4)":"rgba(255,255,255,0.3)").duration(200),k.transition().style("opacity",1).duration(200),b=!0),C.emit("plotly_relayouting",R(p))}function V(){O(C),p!==f&&(a.call("_guiRelayout",C,R(p)),z&&C.data&&C._context.showTips&&(o.notifier(l(C,"Double-click to zoom back out"),"long"),z=!1))}function q(t,e){var r=t/A.xaxis._m,n=e/A.yaxis._m,i=[(p={a:f.a-n,b:f.b+(r+n)/2,c:f.c-(r-n)/2}).a,p.b,p.c].sort(o.sorterAsc),a=i.indexOf(p.a),l=i.indexOf(p.b),c=i.indexOf(p.c);i[0]<0&&(i[1]+i[0]/2<0?(i[2]+=i[0]+i[1],i[0]=i[1]=0):(i[2]+=i[0]/2,i[1]+=i[0]/2,i[0]=0),p={a:i[a],b:i[l],c:i[c]},e=(f.a-p.a)*A.yaxis._m,t=(f.c-p.c-f.b+p.b)*A.xaxis._m);var h=s(A.x0+t,A.y0+e);A.plotContainer.selectAll(".scatterlayer,.maplayer").attr("transform",h);var d=s(-t,-e);A.clipDefRelative.select("path").attr("transform",d),A.aaxis.range=[p.a,A.sum-p.b-p.c],A.baxis.range=[A.sum-p.a-p.c,p.b],A.caxis.range=[A.sum-p.a-p.b,p.c],A.drawAxes(!1),A._hasClipOnAxisFalse&&A.plotContainer.select(".scatterlayer").selectAll(".trace").call(u.hideOutsideRangePoints,A),C.emit("plotly_relayouting",R(p))}function H(){a.call("_guiRelayout",C,R(p))}this.dragOptions={element:S,gd:C,plotinfo:{id:A.id,domain:C._fullLayout[A.id].domain,xaxis:A.xaxis,yaxis:A.yaxis},subplot:A.id,prepFn:function(a,l,u){A.dragOptions.xaxes=[A.xaxis],A.dragOptions.yaxes=[A.yaxis],t=C._fullLayout._invScaleX,e=C._fullLayout._invScaleY;var g=A.dragOptions.dragmode=C._fullLayout.dragmode;y(g)?A.dragOptions.minDrag=1:A.dragOptions.minDrag=void 0,"zoom"===g?(A.dragOptions.moveFn=U,A.dragOptions.clickFn=F,A.dragOptions.doneFn=V,function(t,e,a){var l=S.getBoundingClientRect();r=e-l.left,n=a-l.top,C._fullLayout._calcInverseTransform(C);var u=C._fullLayout._invTransform,g=o.apply3DTransform(u)(r,n);r=g[0],n=g[1],f={a:A.aaxis.range[0],b:A.baxis.range[1],c:A.caxis.range[1]},p=f,h=A.aaxis.range[1]-f.a,d=i(A.graphDiv._fullLayout[A.id].bgcolor).getLuminance(),v="M0,"+A.h+"L"+A.w/2+", 0L"+A.w+","+A.h+"Z",b=!1,T=D.append("path").attr("class","zoombox").attr("transform",s(A.x0,A.y0)).style({fill:d>.2?"rgba(0,0,0,0)":"rgba(255,255,255,0)","stroke-width":0}).attr("d",v),k=D.append("path").attr("class","zoombox-corners").attr("transform",s(A.x0,A.y0)).style({fill:c.background,stroke:c.defaultLine,"stroke-width":1,opacity:0}).attr("d","M0,0Z"),A.clearSelect(C)}(0,l,u)):"pan"===g?(A.dragOptions.moveFn=q,A.dragOptions.clickFn=F,A.dragOptions.doneFn=H,f={a:A.aaxis.range[0],b:A.baxis.range[1],c:A.caxis.range[1]},p=f,A.clearSelect(C)):(x(g)||y(g))&&_(a,l,u,A.dragOptions,g)}},S.onmousemove=function(t){m.hover(C,t,A.id),C._fullLayout._lasthover=S,C._fullLayout._hoversubplot=A.id},S.onmouseout=function(t){C._dragging||g.unhover(C,t)},g.init(this.dragOptions)}},{"../../components/color":643,"../../components/dragelement":662,"../../components/dragelement/helpers":661,"../../components/drawing":665,"../../components/fx":683,"../../components/titles":738,"../../lib":778,"../../lib/extend":768,"../../registry":911,"../cartesian/axes":828,"../cartesian/constants":834,"../cartesian/select":847,"../cartesian/set_convert":848,"../plots":891,d3:169,tinycolor2:576}],911:[function(t,e,r){"use strict";var n=t("./lib/loggers"),i=t("./lib/noop"),a=t("./lib/push_unique"),o=t("./lib/is_plain_object"),s=t("./lib/dom").addStyleRule,l=t("./lib/extend"),c=t("./plots/attributes"),u=t("./plots/layout_attributes"),f=l.extendFlat,h=l.extendDeepAll;function p(t){var e=t.name,i=t.categories,a=t.meta;if(r.modules[e])n.log("Type "+e+" already registered");else{r.subplotsRegistry[t.basePlotModule.name]||function(t){var e=t.name;if(r.subplotsRegistry[e])return void n.log("Plot type "+e+" already registered.");for(var i in v(t),r.subplotsRegistry[e]=t,r.componentsRegistry)b(i,t.name)}(t.basePlotModule);for(var o={},l=0;l<i.length;l++)o[i[l]]=!0,r.allCategories[i[l]]=!0;for(var c in r.modules[e]={_module:t,categories:o},a&&Object.keys(a).length&&(r.modules[e].meta=a),r.allTypes.push(e),r.componentsRegistry)y(c,e);t.layoutAttributes&&f(r.traceLayoutAttributes,t.layoutAttributes);var u=t.basePlotModule,h=u.name;if("mapbox"===h){var p=u.constants.styleRules;for(var d in p)s(".js-plotly-plot .plotly .mapboxgl-"+d,p[d])}"geo"!==h&&"mapbox"!==h||void 0===typeof window||void 0!==window.PlotlyGeoAssets||(window.PlotlyGeoAssets={topojson:{}})}}function d(t){if("string"!=typeof t.name)throw new Error("Component module *name* must be a string.");var e=t.name;for(var n in r.componentsRegistry[e]=t,t.layoutAttributes&&(t.layoutAttributes._isLinkedToArray&&a(r.layoutArrayContainers,e),v(t)),r.modules)y(e,n);for(var i in r.subplotsRegistry)b(e,i);for(var o in r.transformsRegistry)x(e,o);t.schema&&t.schema.layout&&h(u,t.schema.layout)}function g(t){if("string"!=typeof t.name)throw new Error("Transform module *name* must be a string.");var e="Transform module "+t.name,i="function"==typeof t.transform,a="function"==typeof t.calcTransform;if(!i&&!a)throw new Error(e+" is missing a *transform* or *calcTransform* method.");for(var s in i&&a&&n.log([e+" has both a *transform* and *calcTransform* methods.","Please note that all *transform* methods are executed","before all *calcTransform* methods."].join(" ")),o(t.attributes)||n.log(e+" registered without an *attributes* object."),"function"!=typeof t.supplyDefaults&&n.log(e+" registered without a *supplyDefaults* method."),r.transformsRegistry[t.name]=t,r.componentsRegistry)x(s,t.name)}function m(t){var e=t.name,n=e.split("-")[0],i=t.dictionary,a=t.format,o=i&&Object.keys(i).length,s=a&&Object.keys(a).length,l=r.localeRegistry,c=l[e];if(c||(l[e]=c={}),n!==e){var u=l[n];u||(l[n]=u={}),o&&u.dictionary===c.dictionary&&(u.dictionary=i),s&&u.format===c.format&&(u.format=a)}o&&(c.dictionary=i),s&&(c.format=a)}function v(t){if(t.layoutAttributes){var e=t.layoutAttributes._arrayAttrRegexps;if(e)for(var n=0;n<e.length;n++)a(r.layoutArrayRegexes,e[n])}}function y(t,e){var n=r.componentsRegistry[t].schema;if(n&&n.traces){var i=n.traces[e];i&&h(r.modules[e]._module.attributes,i)}}function x(t,e){var n=r.componentsRegistry[t].schema;if(n&&n.transforms){var i=n.transforms[e];i&&h(r.transformsRegistry[e].attributes,i)}}function b(t,e){var n=r.componentsRegistry[t].schema;if(n&&n.subplots){var i=r.subplotsRegistry[e],a=i.layoutAttributes,o="subplot"===i.attr?i.name:i.attr;Array.isArray(o)&&(o=o[0]);var s=n.subplots[o];a&&s&&h(a,s)}}function _(t){return"object"==typeof t&&(t=t.type),t}r.modules={},r.allCategories={},r.allTypes=[],r.subplotsRegistry={},r.transformsRegistry={},r.componentsRegistry={},r.layoutArrayContainers=[],r.layoutArrayRegexes=[],r.traceLayoutAttributes={},r.localeRegistry={},r.apiMethodRegistry={},r.collectableSubplotTypes=null,r.register=function(t){if(r.collectableSubplotTypes=null,!t)throw new Error("No argument passed to Plotly.register.");t&&!Array.isArray(t)&&(t=[t]);for(var e=0;e<t.length;e++){var n=t[e];if(!n)throw new Error("Invalid module was attempted to be registered!");switch(n.moduleType){case"trace":p(n);break;case"transform":g(n);break;case"component":d(n);break;case"locale":m(n);break;case"apiMethod":var i=n.name;r.apiMethodRegistry[i]=n.fn;break;default:throw new Error("Invalid module was attempted to be registered!")}}},r.getModule=function(t){var e=r.modules[_(t)];return!!e&&e._module},r.traceIs=function(t,e){if("various"===(t=_(t)))return!1;var i=r.modules[t];return i||(t&&"area"!==t&&n.log("Unrecognized trace type "+t+"."),i=r.modules[c.type.dflt]),!!i.categories[e]},r.getTransformIndices=function(t,e){for(var r=[],n=t.transforms||[],i=0;i<n.length;i++)n[i].type===e&&r.push(i);return r},r.hasTransform=function(t,e){for(var r=t.transforms||[],n=0;n<r.length;n++)if(r[n].type===e)return!0;return!1},r.getComponentMethod=function(t,e){var n=r.componentsRegistry[t];return n&&n[e]||i},r.call=function(){var t=arguments[0],e=[].slice.call(arguments,1);return r.apiMethodRegistry[t].apply(null,e)}},{"./lib/dom":766,"./lib/extend":768,"./lib/is_plain_object":779,"./lib/loggers":782,"./lib/noop":787,"./lib/push_unique":793,"./plots/attributes":824,"./plots/layout_attributes":882}],912:[function(t,e,r){"use strict";var n=t("../registry"),i=t("../lib"),a=i.extendFlat,o=i.extendDeep;function s(t){var e;switch(t){case"themes__thumb":e={autosize:!0,width:150,height:150,title:{text:""},showlegend:!1,margin:{l:5,r:5,t:5,b:5,pad:0},annotations:[]};break;case"thumbnail":e={title:{text:""},hidesources:!0,showlegend:!1,borderwidth:0,bordercolor:"",margin:{l:1,r:1,t:1,b:1,pad:0},annotations:[]};break;default:e={}}return e}e.exports=function(t,e){var r;t.framework&&t.framework.isPolar&&(t=t.framework.getConfig());var i,l=t.data,c=t.layout,u=o([],l),f=o({},c,s(e.tileClass)),h=t._context||{};if(e.width&&(f.width=e.width),e.height&&(f.height=e.height),"thumbnail"===e.tileClass||"themes__thumb"===e.tileClass){f.annotations=[];var p=Object.keys(f);for(r=0;r<p.length;r++)i=p[r],["xaxis","yaxis","zaxis"].indexOf(i.slice(0,5))>-1&&(f[p[r]].title={text:""});for(r=0;r<u.length;r++){var d=u[r];d.showscale=!1,d.marker&&(d.marker.showscale=!1),n.traceIs(d,"pie-like")&&(d.textposition="none")}}if(Array.isArray(e.annotations))for(r=0;r<e.annotations.length;r++)f.annotations.push(e.annotations[r]);var g=Object.keys(f).filter((function(t){return t.match(/^scene\d*$/)}));if(g.length){var m={};for("thumbnail"===e.tileClass&&(m={title:{text:""},showaxeslabels:!1,showticklabels:!1,linetickenable:!1}),r=0;r<g.length;r++){var v=f[g[r]];v.xaxis||(v.xaxis={}),v.yaxis||(v.yaxis={}),v.zaxis||(v.zaxis={}),a(v.xaxis,m),a(v.yaxis,m),a(v.zaxis,m),v._scene=null}}var y=document.createElement("div");e.tileClass&&(y.className=e.tileClass);var x={gd:y,td:y,layout:f,data:u,config:{staticPlot:void 0===e.staticPlot||e.staticPlot,plotGlPixelRatio:void 0===e.plotGlPixelRatio?2:e.plotGlPixelRatio,displaylogo:e.displaylogo||!1,showLink:e.showLink||!1,showTips:e.showTips||!1,mapboxAccessToken:h.mapboxAccessToken}};return"transparent"!==e.setBackground&&(x.config.setBackground=e.setBackground||"opaque"),x.gd.defaultLayout=s(e.tileClass),x}},{"../lib":778,"../registry":911}],913:[function(t,e,r){"use strict";var n=t("../lib"),i=t("../plot_api/to_image"),a=t("./filesaver"),o=t("./helpers");e.exports=function(t,e){var r;return n.isPlainObject(t)||(r=n.getGraphDiv(t)),(e=e||{}).format=e.format||"png",e.width=e.width||null,e.height=e.height||null,e.imageDataOnly=!0,new Promise((function(s,l){r&&r._snapshotInProgress&&l(new Error("Snapshotting already in progress.")),n.isIE()&&"svg"!==e.format&&l(new Error(o.MSG_IE_BAD_FORMAT)),r&&(r._snapshotInProgress=!0);var c=i(t,e),u=e.filename||t.fn||"newplot";u+="."+e.format.replace("-","."),c.then((function(t){return r&&(r._snapshotInProgress=!1),a(t,u,e.format)})).then((function(t){s(t)})).catch((function(t){r&&(r._snapshotInProgress=!1),l(t)}))}))}},{"../lib":778,"../plot_api/to_image":820,"./filesaver":914,"./helpers":915}],914:[function(t,e,r){"use strict";var n=t("../lib"),i=t("./helpers");e.exports=function(t,e,r){var a=document.createElement("a"),o="download"in a;return new Promise((function(s,l){var c,u;if(n.isIE9orBelow()&&l(new Error("IE < 10 unsupported")),n.isSafari()){var f="svg"===r?",":";base64,";return i.octetStream(f+encodeURIComponent(t)),s(e)}return n.isIE()?(c=i.createBlob(t,"svg"),window.navigator.msSaveBlob(c,e),c=null,s(e)):o?(c=i.createBlob(t,r),u=i.createObjectURL(c),a.href=u,a.download=e,document.body.appendChild(a),a.click(),document.body.removeChild(a),i.revokeObjectURL(u),c=null,s(e)):void l(new Error("download error"))}))}},{"../lib":778,"./helpers":915}],915:[function(t,e,r){"use strict";var n=t("../registry");r.getDelay=function(t){return t._has&&(t._has("gl3d")||t._has("gl2d")||t._has("mapbox"))?500:0},r.getRedrawFunc=function(t){return function(){var e=t._fullLayout||{};!(e._has&&e._has("polar"))&&t.data&&t.data[0]&&t.data[0].r||n.getComponentMethod("colorbar","draw")(t)}},r.encodeSVG=function(t){return"data:image/svg+xml,"+encodeURIComponent(t)},r.encodeJSON=function(t){return"data:application/json,"+encodeURIComponent(t)};var i=window.URL||window.webkitURL;r.createObjectURL=function(t){return i.createObjectURL(t)},r.revokeObjectURL=function(t){return i.revokeObjectURL(t)},r.createBlob=function(t,e){if("svg"===e)return new window.Blob([t],{type:"image/svg+xml;charset=utf-8"});if("full-json"===e)return new window.Blob([t],{type:"application/json;charset=utf-8"});var r=function(t){for(var e=t.length,r=new ArrayBuffer(e),n=new Uint8Array(r),i=0;i<e;i++)n[i]=t.charCodeAt(i);return r}(window.atob(t));return new window.Blob([r],{type:"image/"+e})},r.octetStream=function(t){document.location.href="data:application/octet-stream"+t},r.IMAGE_URL_PREFIX=/^data:image\/\w+;base64,/,r.MSG_IE_BAD_FORMAT="Sorry IE does not support downloading from canvas. Try {format:'svg'} instead."},{"../registry":911}],916:[function(t,e,r){"use strict";var n=t("./helpers"),i={getDelay:n.getDelay,getRedrawFunc:n.getRedrawFunc,clone:t("./cloneplot"),toSVG:t("./tosvg"),svgToImg:t("./svgtoimg"),toImage:t("./toimage"),downloadImage:t("./download")};e.exports=i},{"./cloneplot":912,"./download":913,"./helpers":915,"./svgtoimg":917,"./toimage":918,"./tosvg":919}],917:[function(t,e,r){"use strict";var n=t("../lib"),i=t("events").EventEmitter,a=t("./helpers");e.exports=function(t){var e=t.emitter||new i,r=new Promise((function(i,o){var s=window.Image,l=t.svg,c=t.format||"png";if(n.isIE()&&"svg"!==c){var u=new Error(a.MSG_IE_BAD_FORMAT);return o(u),t.promise?r:e.emit("error",u)}var f,h,p=t.canvas,d=t.scale||1,g=t.width||300,m=t.height||150,v=d*g,y=d*m,x=p.getContext("2d"),b=new s;"svg"===c||n.isIE9orBelow()||n.isSafari()?h=a.encodeSVG(l):(f=a.createBlob(l,"svg"),h=a.createObjectURL(f)),p.width=v,p.height=y,b.onload=function(){var r;switch(f=null,a.revokeObjectURL(h),"svg"!==c&&x.drawImage(b,0,0,v,y),c){case"jpeg":r=p.toDataURL("image/jpeg");break;case"png":r=p.toDataURL("image/png");break;case"webp":r=p.toDataURL("image/webp");break;case"svg":r=h;break;default:var n="Image format is not jpeg, png, svg or webp.";if(o(new Error(n)),!t.promise)return e.emit("error",n)}i(r),t.promise||e.emit("success",r)},b.onerror=function(r){if(f=null,a.revokeObjectURL(h),o(r),!t.promise)return e.emit("error",r)},b.src=h}));return t.promise?r:e}},{"../lib":778,"./helpers":915,events:110}],918:[function(t,e,r){"use strict";var n=t("events").EventEmitter,i=t("../registry"),a=t("../lib"),o=t("./helpers"),s=t("./cloneplot"),l=t("./tosvg"),c=t("./svgtoimg");e.exports=function(t,e){var r=new n,u=s(t,{format:"png"}),f=u.gd;f.style.position="absolute",f.style.left="-5000px",document.body.appendChild(f);var h=o.getRedrawFunc(f);return i.call("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("canvas");n.id=a.randstr(),(r=c({format:e.format,width:f._fullLayout.width,height:f._fullLayout.height,canvas:n,emitter:r,svg:t})).clean=function(){f&&document.body.removeChild(f)}}),t)})).catch((function(t){r.emit("error",t)})),r}},{"../lib":778,"../registry":911,"./cloneplot":912,"./helpers":915,"./svgtoimg":917,"./tosvg":919,events:110}],919:[function(t,e,r){"use strict";var n=t("d3"),i=t("../lib"),a=t("../components/drawing"),o=t("../components/color"),s=t("../constants/xmlns_namespaces"),l=/"/g,c=new RegExp('("TOBESTRIPPED)|(TOBESTRIPPED")',"g");e.exports=function(t,e,r){var u,f=t._fullLayout,h=f._paper,p=f._toppaper,d=f.width,g=f.height;h.insert("rect",":first-child").call(a.setRect,0,0,d,g).call(o.fill,f.paper_bgcolor);var m=f._basePlotModules||[];for(u=0;u<m.length;u++){var v=m[u];v.toSVG&&v.toSVG(t)}if(p){var y=p.node().childNodes,x=Array.prototype.slice.call(y);for(u=0;u<x.length;u++){var b=x[u];b.childNodes.length&&h.node().appendChild(b)}}if(f._draggers&&f._draggers.remove(),h.node().style.background="",h.selectAll("text").attr({"data-unformatted":null,"data-math":null}).each((function(){var t=n.select(this);if("hidden"!==this.style.visibility&&"none"!==this.style.display){t.style({visibility:null,display:null});var e=this.style.fontFamily;e&&-1!==e.indexOf('"')&&t.style("font-family",e.replace(l,"TOBESTRIPPED"))}else t.remove()})),f._gradientUrlQueryParts){var _=[];for(var w in f._gradientUrlQueryParts)_.push(w);_.length&&h.selectAll(_.join(",")).each((function(){var t=n.select(this),e=this.style.fill;e&&-1!==e.indexOf("url(")&&t.style("fill",e.replace(l,"TOBESTRIPPED"));var r=this.style.stroke;r&&-1!==r.indexOf("url(")&&t.style("stroke",r.replace(l,"TOBESTRIPPED"))}))}"pdf"!==e&&"eps"!==e||h.selectAll("#MathJax_SVG_glyphs path").attr("stroke-width",0),h.node().setAttributeNS(s.xmlns,"xmlns",s.svg),h.node().setAttributeNS(s.xmlns,"xmlns:xlink",s.xlink),"svg"===e&&r&&(h.attr("width",r*d),h.attr("height",r*g),h.attr("viewBox","0 0 "+d+" "+g));var T=(new window.XMLSerializer).serializeToString(h.node());return T=function(t){var e=n.select("body").append("div").style({display:"none"}).html(""),r=t.replace(/(&[^;]*;)/gi,(function(t){return"<"===t?"<":"&rt;"===t?">":-1!==t.indexOf("<")||-1!==t.indexOf(">")?"":e.html(t).text()}));return e.remove(),r}(T),T=(T=T.replace(/&(?!\w+;|\#[0-9]+;| \#x[0-9A-F]+;)/g,"&")).replace(c,"'"),i.isIE()&&(T=(T=(T=T.replace(/"/gi,"'")).replace(/(\('#)([^']*)('\))/gi,'("#$2")')).replace(/(\\')/gi,'"')),T}},{"../components/color":643,"../components/drawing":665,"../constants/xmlns_namespaces":754,"../lib":778,d3:169}],920:[function(t,e,r){"use strict";var n=t("../../lib");e.exports=function(t,e){for(var r=0;r<t.length;r++)t[r].i=r;n.mergeArray(e.text,t,"tx"),n.mergeArray(e.hovertext,t,"htx");var i=e.marker;if(i){n.mergeArray(i.opacity,t,"mo",!0),n.mergeArray(i.color,t,"mc");var a=i.line;a&&(n.mergeArray(a.color,t,"mlc"),n.mergeArrayCastPositive(a.width,t,"mlw"))}}},{"../../lib":778}],921:[function(t,e,r){"use strict";var n=t("../scatter/attributes"),i=t("../../plots/template_attributes").hovertemplateAttrs,a=t("../../plots/template_attributes").texttemplateAttrs,o=t("../../components/colorscale/attributes"),s=t("../../plots/font_attributes"),l=t("./constants"),c=t("../../lib/extend").extendFlat,u=s({editType:"calc",arrayOk:!0,colorEditType:"style"}),f=c({},n.marker.line.width,{dflt:0}),h=c({width:f,editType:"calc"},o("marker.line")),p=c({line:h,editType:"calc"},o("marker"),{opacity:{valType:"number",arrayOk:!0,dflt:1,min:0,max:1,editType:"style"}});e.exports={x:n.x,x0:n.x0,dx:n.dx,y:n.y,y0:n.y0,dy:n.dy,xperiod:n.xperiod,yperiod:n.yperiod,xperiod0:n.xperiod0,yperiod0:n.yperiod0,xperiodalignment:n.xperiodalignment,yperiodalignment:n.yperiodalignment,text:n.text,texttemplate:a({editType:"plot"},{keys:l.eventDataKeys}),hovertext:n.hovertext,hovertemplate:i({},{keys:l.eventDataKeys}),textposition:{valType:"enumerated",values:["inside","outside","auto","none"],dflt:"none",arrayOk:!0,editType:"calc"},insidetextanchor:{valType:"enumerated",values:["end","middle","start"],dflt:"end",editType:"plot"},textangle:{valType:"angle",dflt:"auto",editType:"plot"},textfont:c({},u,{}),insidetextfont:c({},u,{}),outsidetextfont:c({},u,{}),constraintext:{valType:"enumerated",values:["inside","outside","both","none"],dflt:"both",editType:"calc"},cliponaxis:c({},n.cliponaxis,{}),orientation:{valType:"enumerated",values:["v","h"],editType:"calc+clearAxisTypes"},base:{valType:"any",dflt:null,arrayOk:!0,editType:"calc"},offset:{valType:"number",dflt:null,arrayOk:!0,editType:"calc"},width:{valType:"number",dflt:null,min:0,arrayOk:!0,editType:"calc"},marker:p,offsetgroup:{valType:"string",dflt:"",editType:"calc"},alignmentgroup:{valType:"string",dflt:"",editType:"calc"},selected:{marker:{opacity:n.selected.marker.opacity,color:n.selected.marker.color,editType:"style"},textfont:n.selected.textfont,editType:"style"},unselected:{marker:{opacity:n.unselected.marker.opacity,color:n.unselected.marker.color,editType:"style"},textfont:n.unselected.textfont,editType:"style"},r:n.r,t:n.t,_deprecated:{bardir:{valType:"enumerated",editType:"calc",values:["v","h"]}}}},{"../../components/colorscale/attributes":650,"../../lib/extend":768,"../../plots/font_attributes":856,"../../plots/template_attributes":906,"../scatter/attributes":1187,"./constants":923}],922:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes"),i=t("../../plots/cartesian/align_period"),a=t("../../components/colorscale/helpers").hasColorscale,o=t("../../components/colorscale/calc"),s=t("./arrays_to_calcdata"),l=t("../scatter/calc_selection");e.exports=function(t,e){var r,c,u,f,h=n.getFromId(t,e.xaxis||"x"),p=n.getFromId(t,e.yaxis||"y"),d={msUTC:!(!e.base&&0!==e.base)};"h"===e.orientation?(r=h.makeCalcdata(e,"x",d),u=p.makeCalcdata(e,"y"),c=i(e,p,"y",u),f=!!e.yperiodalignment):(r=p.makeCalcdata(e,"y",d),u=h.makeCalcdata(e,"x"),c=i(e,h,"x",u),f=!!e.xperiodalignment);for(var g=Math.min(c.length,r.length),m=new Array(g),v=0;v<g;v++)m[v]={p:c[v],s:r[v]},f&&(m[v].orig_p=u[v]),e.ids&&(m[v].id=String(e.ids[v]));return a(e,"marker")&&o(t,e,{vals:e.marker.color,containerStr:"marker",cLetter:"c"}),a(e,"marker.line")&&o(t,e,{vals:e.marker.line.color,containerStr:"marker.line",cLetter:"c"}),s(m,e),l(m,e),m}},{"../../components/colorscale/calc":651,"../../components/colorscale/helpers":654,"../../plots/cartesian/align_period":825,"../../plots/cartesian/axes":828,"../scatter/calc_selection":1189,"./arrays_to_calcdata":920}],923:[function(t,e,r){"use strict";e.exports={TEXTPAD:3,eventDataKeys:["value","label"]}},{}],924:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../lib").isArrayOrTypedArray,a=t("../../constants/numerical").BADNUM,o=t("../../registry"),s=t("../../plots/cartesian/axes"),l=t("../../plots/cartesian/constraints").getAxisGroup,c=t("./sieve.js");function u(t,e,r,o,u){if(o.length){var b,_,w,T;switch(function(t,e){var r,a;for(r=0;r<e.length;r++){var o,s=e[r],l=s[0].trace,c="funnel"===l.type?l._base:l.base,u="h"===l.orientation?l.xcalendar:l.ycalendar,f="category"===t.type||"multicategory"===t.type?function(){return null}:t.d2c;if(i(c)){for(a=0;a<Math.min(c.length,s.length);a++)o=f(c[a],0,u),n(o)?(s[a].b=+o,s[a].hasB=1):s[a].b=0;for(;a<s.length;a++)s[a].b=0}else{o=f(c,0,u);var h=n(o);for(o=h?o:0,a=0;a<s.length;a++)s[a].b=o,h&&(s[a].hasB=1)}}}(r,o),u.mode){case"overlay":f(e,r,o,u);break;case"group":for(b=[],_=[],w=0;w<o.length;w++)void 0===(T=o[w])[0].trace.offset?_.push(T):b.push(T);_.length&&function(t,e,r,n,i){var o=new c(n,{sepNegVal:!1,overlapNoMerge:!i.norm});(function(t,e,r,n){for(var i=t._fullLayout,a=r.positions,o=r.distinctPositions,s=r.minDiff,c=r.traces,u=c.length,f=a.length!==o.length,h=s*(1-n.gap),m=l(i,e._id)+c[0][0].trace.orientation,v=i._alignmentOpts[m]||{},y=0;y<u;y++){var x,b,_=c[y],w=_[0].trace,T=v[w.alignmentgroup]||{},k=Object.keys(T.offsetGroups||{}).length,M=(x=k?h/k:f?h/u:h)*(1-(n.groupgap||0));b=k?((2*w._offsetIndex+1-k)*x-M)/2:f?((2*y+1-u)*x-M)/2:-M/2;var A=_[0].t;A.barwidth=M,A.poffset=b,A.bargroupwidth=h,A.bardelta=s}r.binWidth=c[0][0].t.barwidth/100,p(r),d(e,r),g(e,r,f)})(t,e,o,i),function(t){for(var e=t.traces,r=0;r<e.length;r++){var n=e[r];if(void 0===n[0].trace.base)for(var i=new c([n],{sepNegVal:!0,overlapNoMerge:!0}),o=0;o<n.length;o++){var s=n[o];if(s.p!==a){var l=i.put(s.p,s.b+s.s);l&&(s.b=l)}}}}(o),i.norm?(v(o),y(r,o,i)):m(r,o)}(t,e,r,_,u),b.length&&f(e,r,b,u);break;case"stack":case"relative":for(b=[],_=[],w=0;w<o.length;w++)void 0===(T=o[w])[0].trace.base?_.push(T):b.push(T);_.length&&function(t,e,r,n,i){var o=new c(n,{sepNegVal:"relative"===i.mode,overlapNoMerge:!(i.norm||"stack"===i.mode||"relative"===i.mode)});h(e,o,i),function(t,e,r){var n,i,o,l,c,u,f=x(t),h=e.traces;for(l=0;l<h.length;l++)if(n=h[l],"funnel"===(i=n[0].trace).type)for(c=0;c<n.length;c++)(u=n[c]).s!==a&&e.put(u.p,-.5*u.s);for(l=0;l<h.length;l++){n=h[l],i=n[0].trace,o="funnel"===i.type;var p=[];for(c=0;c<n.length;c++)if((u=n[c]).s!==a){var d;d=o?u.s:u.s+u.b;var g=e.put(u.p,d),m=g+d;u.b=g,u[f]=m,r.norm||(p.push(m),u.hasB&&p.push(g))}r.norm||(i._extremes[t._id]=s.findExtremes(t,p,{tozero:!0,padded:!0}))}}(r,o,i);for(var l=0;l<n.length;l++)for(var u=n[l],f=0;f<u.length;f++){var p=u[f];if(p.s!==a)p.b+p.s===o.get(p.p,p.s)&&(p._outmost=!0)}i.norm&&y(r,o,i)}(0,e,r,_,u),b.length&&f(e,r,b,u)}!function(t,e){var r,i,a,o=x(e),s={},l=1/0,c=-1/0;for(r=0;r<t.length;r++)for(a=t[r],i=0;i<a.length;i++){var u=a[i].p;n(u)&&(l=Math.min(l,u),c=Math.max(c,u))}var f=1e4/(c-l),h=s.round=function(t){return String(Math.round(f*(t-l)))};for(r=0;r<t.length;r++){(a=t[r])[0].t.extents=s;var p=a[0].t.poffset,d=Array.isArray(p);for(i=0;i<a.length;i++){var g=a[i],m=g[o]-g.w/2;if(n(m)){var v=g[o]+g.w/2,y=h(g.p);s[y]?s[y]=[Math.min(m,s[y][0]),Math.max(v,s[y][1])]:s[y]=[m,v]}g.p0=g.p+(d?p[i]:p),g.p1=g.p0+g.w,g.s0=g.b,g.s1=g.s0+g.s}}}(o,e)}}function f(t,e,r,n){for(var i=0;i<r.length;i++){var a=r[i],o=new c([a],{unitMinDiff:n.xCat||n.yCat,sepNegVal:!1,overlapNoMerge:!n.norm});h(t,o,n),n.norm?(v(o),y(e,o,n)):m(e,o)}}function h(t,e,r){for(var n=e.minDiff,i=e.traces,a=n*(1-r.gap),o=a*(1-(r.groupgap||0)),s=-o/2,l=0;l<i.length;l++){var c=i[l][0].t;c.barwidth=o,c.poffset=s,c.bargroupwidth=a,c.bardelta=n}e.binWidth=i[0][0].t.barwidth/100,p(e),d(t,e),g(t,e)}function p(t){var e,r,a=t.traces;for(e=0;e<a.length;e++){var o,s=a[e],l=s[0],c=l.trace,u=l.t,f=c._offset||c.offset,h=u.poffset;if(i(f)){for(o=Array.prototype.slice.call(f,0,s.length),r=0;r<o.length;r++)n(o[r])||(o[r]=h);for(r=o.length;r<s.length;r++)o.push(h);u.poffset=o}else void 0!==f&&(u.poffset=f);var p=c._width||c.width,d=u.barwidth;if(i(p)){var g=Array.prototype.slice.call(p,0,s.length);for(r=0;r<g.length;r++)n(g[r])||(g[r]=d);for(r=g.length;r<s.length;r++)g.push(d);if(u.barwidth=g,void 0===f){for(o=[],r=0;r<s.length;r++)o.push(h+(d-g[r])/2);u.poffset=o}}else void 0!==p&&(u.barwidth=p,void 0===f&&(u.poffset=h+(d-p)/2))}}function d(t,e){for(var r=e.traces,n=x(t),i=0;i<r.length;i++)for(var a=r[i],o=a[0].t,s=o.poffset,l=Array.isArray(s),c=o.barwidth,u=Array.isArray(c),f=0;f<a.length;f++){var h=a[f],p=h.w=u?c[f]:c;h[n]=h.p+(l?s[f]:s)+p/2}}function g(t,e,r){var n=e.traces,i=e.minDiff/2;s.minDtick(t,e.minDiff,e.distinctPositions[0],r);for(var a=0;a<n.length;a++){var o,l,c,u,f=n[a],h=f[0],p=h.trace,d=[];for(u=0;u<f.length;u++)l=(o=f[u]).p-i,c=o.p+i,d.push(l,c);if(p.width||p.offset){var g=h.t,m=g.poffset,v=g.barwidth,y=Array.isArray(m),x=Array.isArray(v);for(u=0;u<f.length;u++){o=f[u];var b=y?m[u]:m,_=x?v[u]:v;c=(l=o.p+b)+_,d.push(l,c)}}p._extremes[t._id]=s.findExtremes(t,d,{padded:!1})}}function m(t,e){for(var r=e.traces,n=x(t),i=0;i<r.length;i++){for(var a=r[i],o=a[0].trace,l=[],c=!1,u=0;u<a.length;u++){var f=a[u],h=f.b,p=h+f.s;f[n]=p,l.push(p),f.hasB&&l.push(h),f.hasB&&f.b||(c=!0)}o._extremes[t._id]=s.findExtremes(t,l,{tozero:c,padded:!0})}}function v(t){for(var e=t.traces,r=0;r<e.length;r++)for(var n=e[r],i=0;i<n.length;i++){var o=n[i];o.s!==a&&t.put(o.p,o.b+o.s)}}function y(t,e,r){var i=e.traces,o=x(t),l="fraction"===r.norm?1:100,c=l/1e9,u=t.l2c(t.c2l(0)),f="stack"===r.mode?l:u;function h(e){return n(t.c2l(e))&&(e<u-c||e>f+c||!n(u))}for(var p=0;p<i.length;p++){for(var d=i[p],g=d[0].trace,m=[],v=!1,y=!1,b=0;b<d.length;b++){var _=d[b];if(_.s!==a){var w=Math.abs(l/e.get(_.p,_.s));_.b*=w,_.s*=w;var T=_.b,k=T+_.s;_[o]=k,m.push(k),y=y||h(k),_.hasB&&(m.push(T),y=y||h(T)),_.hasB&&_.b||(v=!0)}}g._extremes[t._id]=s.findExtremes(t,m,{tozero:v,padded:y})}}function x(t){return t._id.charAt(0)}e.exports={crossTraceCalc:function(t,e){for(var r=e.xaxis,n=e.yaxis,i=t._fullLayout,a=t._fullData,s=t.calcdata,l=[],c=[],f=0;f<a.length;f++){var h=a[f];if(!0===h.visible&&o.traceIs(h,"bar")&&h.xaxis===r._id&&h.yaxis===n._id&&("h"===h.orientation?l.push(s[f]):c.push(s[f]),h._computePh))for(var p=t.calcdata[f],d=0;d<p.length;d++)"function"==typeof p[d].ph0&&(p[d].ph0=p[d].ph0()),"function"==typeof p[d].ph1&&(p[d].ph1=p[d].ph1())}var g={xCat:"category"===r.type||"multicategory"===r.type,yCat:"category"===n.type||"multicategory"===n.type,mode:i.barmode,norm:i.barnorm,gap:i.bargap,groupgap:i.bargroupgap};u(t,r,n,c,g),u(t,n,r,l,g)},setGroupPositions:u}},{"../../constants/numerical":753,"../../lib":778,"../../plots/cartesian/axes":828,"../../plots/cartesian/constraints":835,"../../registry":911,"./sieve.js":934,"fast-isnumeric":241}],925:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../components/color"),a=t("../../registry"),o=t("../scatter/xy_defaults"),s=t("../scatter/period_defaults"),l=t("./style_defaults"),c=t("../../plots/cartesian/constraints").getAxisGroup,u=t("./attributes"),f=n.coerceFont;function h(t,e,r,n){var i=e.orientation,a=e[{v:"x",h:"y"}[i]+"axis"],o=c(r,a)+i,s=r._alignmentOpts||{},l=n("alignmentgroup"),u=s[o];u||(u=s[o]={});var f=u[l];f?f.traces.push(e):f=u[l]={traces:[e],alignmentIndex:Object.keys(u).length,offsetGroups:{}};var h=n("offsetgroup"),p=f.offsetGroups,d=p[h];h&&(d||(d=p[h]={offsetIndex:Object.keys(p).length}),e._offsetIndex=d.offsetIndex)}function p(t,e,r,i,a,o){var s=!(!1===(o=o||{}).moduleHasSelected),l=!(!1===o.moduleHasUnselected),c=!(!1===o.moduleHasConstrain),u=!(!1===o.moduleHasCliponaxis),h=!(!1===o.moduleHasTextangle),p=!(!1===o.moduleHasInsideanchor),d=!!o.hasPathbar,g=Array.isArray(a)||"auto"===a,m=g||"inside"===a,v=g||"outside"===a;if(m||v){var y=f(i,"textfont",r.font),x=n.extendFlat({},y),b=!(t.textfont&&t.textfont.color);if(b&&delete x.color,f(i,"insidetextfont",x),d){var _=n.extendFlat({},y);b&&delete _.color,f(i,"pathbar.textfont",_)}v&&f(i,"outsidetextfont",y),s&&i("selected.textfont.color"),l&&i("unselected.textfont.color"),c&&i("constraintext"),u&&i("cliponaxis"),h&&i("textangle"),i("texttemplate")}m&&p&&i("insidetextanchor")}e.exports={supplyDefaults:function(t,e,r,c){function f(r,i){return n.coerce(t,e,u,r,i)}if(o(t,e,c,f)){s(t,e,c,f),f("orientation",e.x&&!e.y?"h":"v"),f("base"),f("offset"),f("width"),f("text"),f("hovertext"),f("hovertemplate");var h=f("textposition");p(t,e,c,f,h,{moduleHasSelected:!0,moduleHasUnselected:!0,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),l(t,e,f,r,c);var d=(e.marker.line||{}).color,g=a.getComponentMethod("errorbars","supplyDefaults");g(t,e,d||i.defaultLine,{axis:"y"}),g(t,e,d||i.defaultLine,{axis:"x",inherit:"y"}),n.coerceSelectionMarkerOpacity(e,f)}else e.visible=!1},crossTraceDefaults:function(t,e){var r;function i(t){return n.coerce(r._input,r,u,t)}if("group"===e.barmode)for(var a=0;a<t.length;a++)"bar"===(r=t[a]).type&&(r._input,h(0,r,e,i))},handleGroupingDefaults:h,handleText:p}},{"../../components/color":643,"../../lib":778,"../../plots/cartesian/constraints":835,"../../registry":911,"../scatter/period_defaults":1207,"../scatter/xy_defaults":1214,"./attributes":921,"./style_defaults":936}],926:[function(t,e,r){"use strict";e.exports=function(t,e,r){return t.x="xVal"in e?e.xVal:e.x,t.y="yVal"in e?e.yVal:e.y,e.xa&&(t.xaxis=e.xa),e.ya&&(t.yaxis=e.ya),"h"===r.orientation?(t.label=t.y,t.value=t.x):(t.label=t.x,t.value=t.y),t}},{}],927:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("tinycolor2"),a=t("../../lib").isArrayOrTypedArray;r.coerceString=function(t,e,r){if("string"==typeof e){if(e||!t.noBlank)return e}else if(("number"==typeof e||!0===e)&&!t.strict)return String(e);return void 0!==r?r:t.dflt},r.coerceNumber=function(t,e,r){if(n(e)){e=+e;var i=t.min,a=t.max;if(!(void 0!==i&&e<i||void 0!==a&&e>a))return e}return void 0!==r?r:t.dflt},r.coerceColor=function(t,e,r){return i(e).isValid()?e:void 0!==r?r:t.dflt},r.coerceEnumerated=function(t,e,r){return t.coerceNumber&&(e=+e),-1!==t.values.indexOf(e)?e:void 0!==r?r:t.dflt},r.getValue=function(t,e){var r;return Array.isArray(t)?e<t.length&&(r=t[e]):r=t,r},r.getLineWidth=function(t,e){return 0<e.mlw?e.mlw:a(t.marker.line.width)?0:t.marker.line.width}},{"../../lib":778,"fast-isnumeric":241,tinycolor2:576}],928:[function(t,e,r){"use strict";var n=t("../../components/fx"),i=t("../../registry"),a=t("../../components/color"),o=t("../../lib").fillText,s=t("./helpers").getLineWidth,l=t("../../plots/cartesian/axes").hoverLabelText,c=t("../../constants/numerical").BADNUM;function u(t,e,r,i){var a,s,u,f,h,p,d,g=t.cd,m=g[0].trace,v=g[0].t,y="closest"===i,x="waterfall"===m.type,b=t.maxHoverDistance;function _(t){return t[u]-t.w/2}function w(t){return t[u]+t.w/2}var T=y?_:function(t){return Math.min(_(t),t.p-v.bardelta/2)},k=y?w:function(t){return Math.max(w(t),t.p+v.bardelta/2)};function M(t,e){return n.inbox(t-a,e-a,b+Math.min(1,Math.abs(e-t)/d)-1)}function A(t){return M(T(t),k(t))}function S(t){var e=s,r=t.b,i=t[f];if(x){var a=Math.abs(t.rawS)||0;e>0?i+=a:e<0&&(i-=a)}return n.inbox(r-e,i-e,b+(i-e)/(i-r)-1)}"h"===m.orientation?(a=r,s=e,u="y",f="x",h=S,p=A):(a=e,s=r,u="x",f="y",p=S,h=A);var E=t[u+"a"],C=t[f+"a"];d=Math.abs(E.r2c(E.range[1])-E.r2c(E.range[0]));var L=n.getDistanceFunction(i,h,p,(function(t){return(h(t)+p(t))/2}));if(n.getClosest(g,L,t),!1!==t.index&&g[t.index].p!==c){y||(T=function(t){return Math.min(_(t),t.p-v.bargroupwidth/2)},k=function(t){return Math.max(w(t),t.p+v.bargroupwidth/2)});var I=g[t.index],P=m.base?I.b+I.s:I.s;t[f+"0"]=t[f+"1"]=C.c2p(I[f],!0),t[f+"LabelVal"]=P;var z=v.extents[v.extents.round(I.p)];t[u+"0"]=E.c2p(y?T(I):z[0],!0),t[u+"1"]=E.c2p(y?k(I):z[1],!0);var O=void 0!==I.orig_p;return t[u+"LabelVal"]=O?I.orig_p:I.p,t.labelLabel=l(E,t[u+"LabelVal"]),t.valueLabel=l(C,t[f+"LabelVal"]),t.baseLabel=l(C,I.b),t.spikeDistance=(S(I)+function(t){return M(_(t),w(t))}(I))/2-b,t[u+"Spike"]=E.c2p(I.p,!0),o(I,m,t),t.hovertemplate=m.hovertemplate,t}}function f(t,e){var r=e.mcc||t.marker.color,n=e.mlcc||t.marker.line.color,i=s(t,e);return a.opacity(r)?r:a.opacity(n)&&i?n:void 0}e.exports={hoverPoints:function(t,e,r,n){var a=u(t,e,r,n);if(a){var o=a.cd,s=o[0].trace,l=o[a.index];return a.color=f(s,l),i.getComponentMethod("errorbars","hoverInfo")(l,s,a),[a]}},hoverOnBars:u,getTraceColor:f}},{"../../components/color":643,"../../components/fx":683,"../../constants/numerical":753,"../../lib":778,"../../plots/cartesian/axes":828,"../../registry":911,"./helpers":927}],929:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),layoutAttributes:t("./layout_attributes"),supplyDefaults:t("./defaults").supplyDefaults,crossTraceDefaults:t("./defaults").crossTraceDefaults,supplyLayoutDefaults:t("./layout_defaults"),calc:t("./calc"),crossTraceCalc:t("./cross_trace_calc").crossTraceCalc,colorbar:t("../scatter/marker_colorbar"),arraysToCalcdata:t("./arrays_to_calcdata"),plot:t("./plot").plot,style:t("./style").style,styleOnSelect:t("./style").styleOnSelect,hoverPoints:t("./hover").hoverPoints,eventData:t("./event_data"),selectPoints:t("./select"),moduleType:"trace",name:"bar",basePlotModule:t("../../plots/cartesian"),categories:["bar-like","cartesian","svg","bar","oriented","errorBarsOK","showLegend","zoomScale"],animatable:!0,meta:{}}},{"../../plots/cartesian":841,"../scatter/marker_colorbar":1205,"./arrays_to_calcdata":920,"./attributes":921,"./calc":922,"./cross_trace_calc":924,"./defaults":925,"./event_data":926,"./hover":928,"./layout_attributes":930,"./layout_defaults":931,"./plot":932,"./select":933,"./style":935}],930:[function(t,e,r){"use strict";e.exports={barmode:{valType:"enumerated",values:["stack","group","overlay","relative"],dflt:"group",editType:"calc"},barnorm:{valType:"enumerated",values:["","fraction","percent"],dflt:"",editType:"calc"},bargap:{valType:"number",min:0,max:1,editType:"calc"},bargroupgap:{valType:"number",min:0,max:1,dflt:0,editType:"calc"}}},{}],931:[function(t,e,r){"use strict";var n=t("../../registry"),i=t("../../plots/cartesian/axes"),a=t("../../lib"),o=t("./layout_attributes");e.exports=function(t,e,r){function s(r,n){return a.coerce(t,e,o,r,n)}for(var l=!1,c=!1,u=!1,f={},h=s("barmode"),p=0;p<r.length;p++){var d=r[p];if(n.traceIs(d,"bar")&&d.visible){if(l=!0,"group"===h){var g=d.xaxis+d.yaxis;f[g]&&(u=!0),f[g]=!0}if(d.visible&&"histogram"===d.type)"category"!==i.getFromId({_fullLayout:e},d["v"===d.orientation?"xaxis":"yaxis"]).type&&(c=!0)}}l?("overlay"!==h&&s("barnorm"),s("bargap",c&&!u?0:.2),s("bargroupgap")):delete e.barmode}},{"../../lib":778,"../../plots/cartesian/axes":828,"../../registry":911,"./layout_attributes":930}],932:[function(t,e,r){"use strict";var n=t("d3"),i=t("fast-isnumeric"),a=t("../../lib"),o=t("../../lib/svg_text_utils"),s=t("../../components/color"),l=t("../../components/drawing"),c=t("../../registry"),u=t("../../plots/cartesian/axes").tickText,f=t("./uniform_text"),h=f.recordMinTextSize,p=f.clearMinTextSize,d=t("./style"),g=t("./helpers"),m=t("./constants"),v=t("./attributes"),y=v.text,x=v.textposition,b=t("../../components/fx/helpers").appendArrayPointValue,_=m.TEXTPAD;function w(t){return t.id}function T(t){if(t.ids)return w}function k(t,e){return t<e?1:-1}function M(t,e,r,n){var i;return!e.uniformtext.mode&&A(r)?(n&&(i=n()),t.transition().duration(r.duration).ease(r.easing).each("end",(function(){i&&i()})).each("interrupt",(function(){i&&i()}))):t}function A(t){return t&&t.duration>0}function S(t){return"auto"===t?0:t}function E(t,e){var r=Math.PI/180*e,n=Math.abs(Math.sin(r)),i=Math.abs(Math.cos(r));return{x:t.width*i+t.height*n,y:t.width*n+t.height*i}}function C(t,e,r,n,i,a){var o=!!a.isHorizontal,s=!!a.constrained,l=a.angle||0,c=a.anchor||"end",u="end"===c,f="start"===c,h=((a.leftToRight||0)+1)/2,p=1-h,d=i.width,g=i.height,m=Math.abs(e-t),v=Math.abs(n-r),y=m>2*_&&v>2*_?_:0;m-=2*y,v-=2*y;var x=S(l);"auto"!==l||d<=m&&g<=v||!(d>m||g>v)||(d>v||g>m)&&d<g==m<v||(x+=90);var b=E(i,x),w=1;s&&(w=Math.min(1,m/b.x,v/b.y));var T=i.left*p+i.right*h,M=(i.top+i.bottom)/2,A=(t+_)*p+(e-_)*h,C=(r+n)/2,L=0,I=0;if(f||u){var P=(o?b.x:b.y)/2,z=o?k(t,e):k(r,n);o?f?(A=t+z*y,L=-z*P):(A=e-z*y,L=z*P):f?(C=r+z*y,I=-z*P):(C=n-z*y,I=z*P)}return{textX:T,textY:M,targetX:A,targetY:C,anchorX:L,anchorY:I,scale:w,rotate:x}}e.exports={plot:function(t,e,r,f,m,v){var w=e.xaxis,L=e.yaxis,I=t._fullLayout;m||(m={mode:I.barmode,norm:I.barmode,gap:I.bargap,groupgap:I.bargroupgap},p("bar",I));var P=a.makeTraceGroups(f,r,"trace bars").each((function(r){var c=n.select(this),f=r[0].trace,p="waterfall"===f.type,P="funnel"===f.type,z="bar"===f.type||P,O=0;p&&f.connector.visible&&"between"===f.connector.mode&&(O=f.connector.line.width/2);var D="h"===f.orientation,R=A(m),F=a.ensureSingle(c,"g","points"),B=T(f),N=F.selectAll("g.point").data(a.identity,B);N.enter().append("g").classed("point",!0),N.exit().remove(),N.each((function(c,p){var T,A,P=n.select(this),F=function(t,e,r,n){var i=[],a=[],o=n?e:r,s=n?r:e;return i[0]=o.c2p(t.s0,!0),a[0]=s.c2p(t.p0,!0),i[1]=o.c2p(t.s1,!0),a[1]=s.c2p(t.p1,!0),n?[i,a]:[a,i]}(c,w,L,D),B=F[0][0],N=F[0][1],j=F[1][0],U=F[1][1],V=0==(D?N-B:U-j);if(V&&z&&g.getLineWidth(f,c)&&(V=!1),V||(V=!(i(B)&&i(N)&&i(j)&&i(U))),c.isBlank=V,V&&(D?N=B:U=j),O&&!V&&(D?(B-=k(B,N)*O,N+=k(B,N)*O):(j-=k(j,U)*O,U+=k(j,U)*O)),"waterfall"===f.type){if(!V){var q=f[c.dir].marker;T=q.line.width,A=q.color}}else T=g.getLineWidth(f,c),A=c.mc||f.marker.color;function H(t){var e=n.round(T/2%1,2);return 0===m.gap&&0===m.groupgap?n.round(Math.round(t)-e,2):t}if(!t._context.staticPlot){var G=s.opacity(A)<1||T>.01?H:function(t,e,r){return r&&t===e?t:Math.abs(t-e)>=2?H(t):t>e?Math.ceil(t):Math.floor(t)};B=G(B,N,D),N=G(N,B,D),j=G(j,U,!D),U=G(U,j,!D)}var Y=M(a.ensureSingle(P,"path"),I,m,v);if(Y.style("vector-effect","non-scaling-stroke").attr("d",isNaN((N-B)*(U-j))||V&&t._context.staticPlot?"M0,0Z":"M"+B+","+j+"V"+U+"H"+N+"V"+j+"Z").call(l.setClipUrl,e.layerClipId,t),!I.uniformtext.mode&&R){var W=l.makePointStyleFns(f);l.singlePointStyle(c,Y,f,W,t)}!function(t,e,r,n,i,s,c,f,p,m,v){var w,T=e.xaxis,A=e.yaxis,L=t._fullLayout;function I(e,r,n){return a.ensureSingle(e,"text").text(r).attr({class:"bartext bartext-"+w,"text-anchor":"middle","data-notex":1}).call(l.font,n).call(o.convertToTspans,t)}var P=n[0].trace,z="h"===P.orientation,O=function(t,e,r,n,i){var o,s=e[0].trace;o=s.texttemplate?function(t,e,r,n,i){var o=e[0].trace,s=a.castOption(o,r,"texttemplate");if(!s)return"";var l,c,f,h,p="waterfall"===o.type,d="funnel"===o.type;"h"===o.orientation?(l="y",c=i,f="x",h=n):(l="x",c=n,f="y",h=i);function g(t){return u(h,+t,!0).text}var m=e[r],v={};v.label=m.p,v.labelLabel=v[l+"Label"]=(y=m.p,u(c,y,!0).text);var y;var x=a.castOption(o,m.i,"text");(0===x||x)&&(v.text=x);v.value=m.s,v.valueLabel=v[f+"Label"]=g(m.s);var _={};b(_,o,m.i),p&&(v.delta=+m.rawS||m.s,v.deltaLabel=g(v.delta),v.final=m.v,v.finalLabel=g(v.final),v.initial=v.final-v.delta,v.initialLabel=g(v.initial));d&&(v.value=m.s,v.valueLabel=g(v.value),v.percentInitial=m.begR,v.percentInitialLabel=a.formatPercent(m.begR),v.percentPrevious=m.difR,v.percentPreviousLabel=a.formatPercent(m.difR),v.percentTotal=m.sumR,v.percenTotalLabel=a.formatPercent(m.sumR));var w=a.castOption(o,m.i,"customdata");w&&(v.customdata=w);return a.texttemplateString(s,v,t._d3locale,_,v,o._meta||{})}(t,e,r,n,i):s.textinfo?function(t,e,r,n){var i=t[0].trace,o="h"===i.orientation,s="waterfall"===i.type,l="funnel"===i.type;function c(t){return u(o?r:n,+t,!0).text}var f,h=i.textinfo,p=t[e],d=h.split("+"),g=[],m=function(t){return-1!==d.indexOf(t)};m("label")&&g.push((v=t[e].p,u(o?n:r,v,!0).text));var v;m("text")&&(0===(f=a.castOption(i,p.i,"text"))||f)&&g.push(f);if(s){var y=+p.rawS||p.s,x=p.v,b=x-y;m("initial")&&g.push(c(b)),m("delta")&&g.push(c(y)),m("final")&&g.push(c(x))}if(l){m("value")&&g.push(c(p.s));var _=0;m("percent initial")&&_++,m("percent previous")&&_++,m("percent total")&&_++;var w=_>1;m("percent initial")&&(f=a.formatPercent(p.begR),w&&(f+=" of initial"),g.push(f)),m("percent previous")&&(f=a.formatPercent(p.difR),w&&(f+=" of previous"),g.push(f)),m("percent total")&&(f=a.formatPercent(p.sumR),w&&(f+=" of total"),g.push(f))}return g.join("<br>")}(e,r,n,i):g.getValue(s.text,r);return g.coerceString(y,o)}(L,n,i,T,A);w=function(t,e){var r=g.getValue(t.textposition,e);return g.coerceEnumerated(x,r)}(P,i);var D="stack"===m.mode||"relative"===m.mode,R=n[i],F=!D||R._outmost;if(!O||"none"===w||(R.isBlank||s===c||f===p)&&("auto"===w||"inside"===w))return void r.select("text").remove();var B=L.font,N=d.getBarColor(n[i],P),j=d.getInsideTextFont(P,i,B,N),U=d.getOutsideTextFont(P,i,B),V=r.datum();z?"log"===T.type&&V.s0<=0&&(s=T.range[0]<T.range[1]?0:T._length):"log"===A.type&&V.s0<=0&&(f=A.range[0]<A.range[1]?A._length:0);var q,H,G,Y,W,X=Math.abs(c-s)-2*_,Z=Math.abs(p-f)-2*_;"outside"===w&&(F||R.hasB||(w="inside"));if("auto"===w)if(F){w="inside",W=a.ensureUniformFontSize(t,j),q=I(r,O,W),H=l.bBox(q.node()),G=H.width,Y=H.height;var J=G<=X&&Y<=Z,K=G<=Z&&Y<=X,Q=z?X>=G*(Z/Y):Z>=Y*(X/G);G>0&&Y>0&&(J||K||Q)?w="inside":(w="outside",q.remove(),q=null)}else w="inside";if(!q){W=a.ensureUniformFontSize(t,"outside"===w?U:j);var $=(q=I(r,O,W)).attr("transform");if(q.attr("transform",""),H=l.bBox(q.node()),G=H.width,Y=H.height,q.attr("transform",$),G<=0||Y<=0)return void q.remove()}var tt,et,rt=P.textangle;"outside"===w?(et="both"===P.constraintext||"outside"===P.constraintext,tt=function(t,e,r,n,i,a){var o,s=!!a.isHorizontal,l=!!a.constrained,c=a.angle||0,u=i.width,f=i.height,h=Math.abs(e-t),p=Math.abs(n-r);o=s?p>2*_?_:0:h>2*_?_:0;var d=1;l&&(d=s?Math.min(1,p/f):Math.min(1,h/u));var g=S(c),m=E(i,g),v=(s?m.x:m.y)/2,y=(i.left+i.right)/2,x=(i.top+i.bottom)/2,b=(t+e)/2,w=(r+n)/2,T=0,M=0,A=s?k(e,t):k(r,n);s?(b=e-A*o,T=A*v):(w=n+A*o,M=-A*v);return{textX:y,textY:x,targetX:b,targetY:w,anchorX:T,anchorY:M,scale:d,rotate:g}}(s,c,f,p,H,{isHorizontal:z,constrained:et,angle:rt})):(et="both"===P.constraintext||"inside"===P.constraintext,tt=C(s,c,f,p,H,{isHorizontal:z,constrained:et,angle:rt,anchor:P.insidetextanchor}));tt.fontSize=W.size,h(P.type,tt,L),R.transform=tt,M(q,L,m,v).attr("transform",a.getTextTransform(tt))}(t,e,P,r,p,B,N,j,U,m,v),e.layerClipId&&l.hideOutsideRangePoint(c,P.select("text"),w,L,f.xcalendar,f.ycalendar)}));var j=!1===f.cliponaxis;l.setClipUrl(c,j?null:e.layerClipId,t)}));c.getComponentMethod("errorbars","plot")(t,P,e,m)},toMoveInsideBar:C}},{"../../components/color":643,"../../components/drawing":665,"../../components/fx/helpers":679,"../../lib":778,"../../lib/svg_text_utils":803,"../../plots/cartesian/axes":828,"../../registry":911,"./attributes":921,"./constants":923,"./helpers":927,"./style":935,"./uniform_text":937,d3:169,"fast-isnumeric":241}],933:[function(t,e,r){"use strict";function n(t,e,r,n,i){var a=e.c2p(n?t.s0:t.p0,!0),o=e.c2p(n?t.s1:t.p1,!0),s=r.c2p(n?t.p0:t.s0,!0),l=r.c2p(n?t.p1:t.s1,!0);return i?[(a+o)/2,(s+l)/2]:n?[o,(s+l)/2]:[(a+o)/2,l]}e.exports=function(t,e){var r,i=t.cd,a=t.xaxis,o=t.yaxis,s=i[0].trace,l="funnel"===s.type,c="h"===s.orientation,u=[];if(!1===e)for(r=0;r<i.length;r++)i[r].selected=0;else for(r=0;r<i.length;r++){var f=i[r],h="ct"in f?f.ct:n(f,a,o,c,l);e.contains(h,!1,r,t)?(u.push({pointNumber:r,x:a.c2d(f.x),y:o.c2d(f.y)}),f.selected=1):f.selected=0}return u}},{}],934:[function(t,e,r){"use strict";e.exports=a;var n=t("../../lib").distinctVals,i=t("../../constants/numerical").BADNUM;function a(t,e){this.traces=t,this.sepNegVal=e.sepNegVal,this.overlapNoMerge=e.overlapNoMerge;for(var r=1/0,a=[],o=0;o<t.length;o++){for(var s=t[o],l=0;l<s.length;l++){var c=s[l];c.p!==i&&a.push(c.p)}s[0]&&s[0].width1&&(r=Math.min(s[0].width1,r))}this.positions=a;var u=n(a,{unitMinDiff:e.unitMinDiff});this.distinctPositions=u.vals,1===u.vals.length&&r!==1/0?this.minDiff=r:this.minDiff=Math.min(u.minDiff,r),this.binWidth=this.minDiff,this.bins={}}a.prototype.put=function(t,e){var r=this.getLabel(t,e),n=this.bins[r]||0;return this.bins[r]=n+e,n},a.prototype.get=function(t,e){var r=this.getLabel(t,e);return this.bins[r]||0},a.prototype.getLabel=function(t,e){return(e<0&&this.sepNegVal?"v":"^")+(this.overlapNoMerge?t:Math.round(t/this.binWidth))}},{"../../constants/numerical":753,"../../lib":778}],935:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../components/color"),a=t("../../components/drawing"),o=t("../../lib"),s=t("../../registry"),l=t("./uniform_text").resizeText,c=t("./attributes"),u=c.textfont,f=c.insidetextfont,h=c.outsidetextfont,p=t("./helpers");function d(t,e,r){a.pointStyle(t.selectAll("path"),e,r),g(t,e,r)}function g(t,e,r){t.selectAll("text").each((function(t){var i=n.select(this),s=o.ensureUniformFontSize(r,m(i,t,e,r));a.font(i,s)}))}function m(t,e,r,n){var i=n._fullLayout.font,a=r.textfont;if(t.classed("bartext-inside")){var o=_(e,r);a=y(r,e.i,i,o)}else t.classed("bartext-outside")&&(a=x(r,e.i,i));return a}function v(t,e,r){return b(u,t.textfont,e,r)}function y(t,e,r,n){var a=v(t,e,r);return(void 0===t._input.textfont||void 0===t._input.textfont.color||Array.isArray(t.textfont.color)&&void 0===t.textfont.color[e])&&(a={color:i.contrast(n),family:a.family,size:a.size}),b(f,t.insidetextfont,e,a)}function x(t,e,r){var n=v(t,e,r);return b(h,t.outsidetextfont,e,n)}function b(t,e,r,n){e=e||{};var i=p.getValue(e.family,r),a=p.getValue(e.size,r),o=p.getValue(e.color,r);return{family:p.coerceString(t.family,i,n.family),size:p.coerceNumber(t.size,a,n.size),color:p.coerceColor(t.color,o,n.color)}}function _(t,e){return"waterfall"===e.type?e[t.dir].marker.color:t.mc||e.marker.color}e.exports={style:function(t){var e=n.select(t).selectAll("g.barlayer").selectAll("g.trace");l(t,e,"bar");var r=e.size(),i=t._fullLayout;e.style("opacity",(function(t){return t[0].trace.opacity})).each((function(t){("stack"===i.barmode&&r>1||0===i.bargap&&0===i.bargroupgap&&!t[0].trace.marker.line.width)&&n.select(this).attr("shape-rendering","crispEdges")})),e.selectAll("g.points").each((function(e){d(n.select(this),e[0].trace,t)})),s.getComponentMethod("errorbars","style")(e)},styleTextPoints:g,styleOnSelect:function(t,e,r){var i=e[0].trace;i.selectedpoints?function(t,e,r){a.selectedPointStyle(t.selectAll("path"),e),function(t,e,r){t.each((function(t){var i,s=n.select(this);if(t.selected){i=o.ensureUniformFontSize(r,m(s,t,e,r));var l=e.selected.textfont&&e.selected.textfont.color;l&&(i.color=l),a.font(s,i)}else a.selectedTextStyle(s,e)}))}(t.selectAll("text"),e,r)}(r,i,t):(d(r,i,t),s.getComponentMethod("errorbars","style")(r))},getInsideTextFont:y,getOutsideTextFont:x,getBarColor:_,resizeText:l}},{"../../components/color":643,"../../components/drawing":665,"../../lib":778,"../../registry":911,"./attributes":921,"./helpers":927,"./uniform_text":937,d3:169}],936:[function(t,e,r){"use strict";var n=t("../../components/color"),i=t("../../components/colorscale/helpers").hasColorscale,a=t("../../components/colorscale/defaults");e.exports=function(t,e,r,o,s){r("marker.color",o),i(t,"marker")&&a(t,e,s,r,{prefix:"marker.",cLetter:"c"}),r("marker.line.color",n.defaultLine),i(t,"marker.line")&&a(t,e,s,r,{prefix:"marker.line.",cLetter:"c"}),r("marker.line.width"),r("marker.opacity"),r("selected.marker.color"),r("unselected.marker.color")}},{"../../components/color":643,"../../components/colorscale/defaults":653,"../../components/colorscale/helpers":654}],937:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../lib");function a(t){return"_"+t+"Text_minsize"}e.exports={recordMinTextSize:function(t,e,r){if(r.uniformtext.mode){var n=a(t),i=r.uniformtext.minsize,o=e.scale*e.fontSize;e.hide=o<i,r[n]=r[n]||1/0,e.hide||(r[n]=Math.min(r[n],Math.max(o,i)))}},clearMinTextSize:function(t,e){e[a(t)]=void 0},resizeText:function(t,e,r){var a=t._fullLayout,o=a["_"+r+"Text_minsize"];if(o){var s,l="hide"===a.uniformtext.mode;switch(r){case"funnelarea":case"pie":case"sunburst":s="g.slice";break;case"treemap":s="g.slice, g.pathbar";break;default:s="g.points > g.point"}e.selectAll(s).each((function(t){var e=t.transform;e&&(e.scale=l&&e.hide?0:o/e.fontSize,n.select(this).select("text").attr("transform",i.getTextTransform(e)))}))}}}},{"../../lib":778,d3:169}],938:[function(t,e,r){"use strict";var n=t("../../plots/template_attributes").hovertemplateAttrs,i=t("../../lib/extend").extendFlat,a=t("../scatterpolar/attributes"),o=t("../bar/attributes");e.exports={r:a.r,theta:a.theta,r0:a.r0,dr:a.dr,theta0:a.theta0,dtheta:a.dtheta,thetaunit:a.thetaunit,base:i({},o.base,{}),offset:i({},o.offset,{}),width:i({},o.width,{}),text:i({},o.text,{}),hovertext:i({},o.hovertext,{}),marker:o.marker,hoverinfo:a.hoverinfo,hovertemplate:n(),selected:o.selected,unselected:o.unselected}},{"../../lib/extend":768,"../../plots/template_attributes":906,"../bar/attributes":921,"../scatterpolar/attributes":1261}],939:[function(t,e,r){"use strict";var n=t("../../components/colorscale/helpers").hasColorscale,i=t("../../components/colorscale/calc"),a=t("../bar/arrays_to_calcdata"),o=t("../bar/cross_trace_calc").setGroupPositions,s=t("../scatter/calc_selection"),l=t("../../registry").traceIs,c=t("../../lib").extendFlat;e.exports={calc:function(t,e){for(var r=t._fullLayout,o=e.subplot,l=r[o].radialaxis,c=r[o].angularaxis,u=l.makeCalcdata(e,"r"),f=c.makeCalcdata(e,"theta"),h=e._length,p=new Array(h),d=u,g=f,m=0;m<h;m++)p[m]={p:g[m],s:d[m]};function v(t){var r=e[t];void 0!==r&&(e["_"+t]=Array.isArray(r)?c.makeCalcdata(e,t):c.d2c(r,e.thetaunit))}return"linear"===c.type&&(v("width"),v("offset")),n(e,"marker")&&i(t,e,{vals:e.marker.color,containerStr:"marker",cLetter:"c"}),n(e,"marker.line")&&i(t,e,{vals:e.marker.line.color,containerStr:"marker.line",cLetter:"c"}),a(p,e),s(p,e),p},crossTraceCalc:function(t,e,r){for(var n=t.calcdata,i=[],a=0;a<n.length;a++){var s=n[a],u=s[0].trace;!0===u.visible&&l(u,"bar")&&u.subplot===r&&i.push(s)}var f=c({},e.radialaxis,{_id:"x"}),h=e.angularaxis;o(t,h,f,i,{mode:e.barmode,norm:e.barnorm,gap:e.bargap,groupgap:e.bargroupgap})}}},{"../../components/colorscale/calc":651,"../../components/colorscale/helpers":654,"../../lib":778,"../../registry":911,"../bar/arrays_to_calcdata":920,"../bar/cross_trace_calc":924,"../scatter/calc_selection":1189}],940:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../scatterpolar/defaults").handleRThetaDefaults,a=t("../bar/style_defaults"),o=t("./attributes");e.exports=function(t,e,r,s){function l(r,i){return n.coerce(t,e,o,r,i)}i(t,e,s,l)?(l("thetaunit"),l("base"),l("offset"),l("width"),l("text"),l("hovertext"),l("hovertemplate"),a(t,e,l,r,s),n.coerceSelectionMarkerOpacity(e,l)):e.visible=!1}},{"../../lib":778,"../bar/style_defaults":936,"../scatterpolar/defaults":1263,"./attributes":938}],941:[function(t,e,r){"use strict";var n=t("../../components/fx"),i=t("../../lib"),a=t("../bar/hover").getTraceColor,o=i.fillText,s=t("../scatterpolar/hover").makeHoverPointText,l=t("../../plots/polar/helpers").isPtInsidePolygon;e.exports=function(t,e,r){var c=t.cd,u=c[0].trace,f=t.subplot,h=f.radialAxis,p=f.angularAxis,d=f.vangles,g=d?l:i.isPtInsideSector,m=t.maxHoverDistance,v=p._period||2*Math.PI,y=Math.abs(h.g2p(Math.sqrt(e*e+r*r))),x=Math.atan2(r,e);h.range[0]>h.range[1]&&(x+=Math.PI);if(n.getClosest(c,(function(t){return g(y,x,[t.rp0,t.rp1],[t.thetag0,t.thetag1],d)?m+Math.min(1,Math.abs(t.thetag1-t.thetag0)/v)-1+(t.rp1-y)/(t.rp1-t.rp0)-1:1/0}),t),!1!==t.index){var b=c[t.index];t.x0=t.x1=b.ct[0],t.y0=t.y1=b.ct[1];var _=i.extendFlat({},b,{r:b.s,theta:b.p});return o(b,u,t),s(_,u,f,t),t.hovertemplate=u.hovertemplate,t.color=a(u,b),t.xLabelVal=t.yLabelVal=void 0,b.s<0&&(t.idealAlign="left"),[t]}}},{"../../components/fx":683,"../../lib":778,"../../plots/polar/helpers":893,"../bar/hover":928,"../scatterpolar/hover":1265}],942:[function(t,e,r){"use strict";e.exports={moduleType:"trace",name:"barpolar",basePlotModule:t("../../plots/polar"),categories:["polar","bar","showLegend"],attributes:t("./attributes"),layoutAttributes:t("./layout_attributes"),supplyDefaults:t("./defaults"),supplyLayoutDefaults:t("./layout_defaults"),calc:t("./calc").calc,crossTraceCalc:t("./calc").crossTraceCalc,plot:t("./plot"),colorbar:t("../scatter/marker_colorbar"),formatLabels:t("../scatterpolar/format_labels"),style:t("../bar/style").style,styleOnSelect:t("../bar/style").styleOnSelect,hoverPoints:t("./hover"),selectPoints:t("../bar/select"),meta:{}}},{"../../plots/polar":894,"../bar/select":933,"../bar/style":935,"../scatter/marker_colorbar":1205,"../scatterpolar/format_labels":1264,"./attributes":938,"./calc":939,"./defaults":940,"./hover":941,"./layout_attributes":943,"./layout_defaults":944,"./plot":945}],943:[function(t,e,r){"use strict";e.exports={barmode:{valType:"enumerated",values:["stack","overlay"],dflt:"stack",editType:"calc"},bargap:{valType:"number",dflt:.1,min:0,max:1,editType:"calc"}}},{}],944:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./layout_attributes");e.exports=function(t,e,r){var a,o={};function s(r,o){return n.coerce(t[a]||{},e[a],i,r,o)}for(var l=0;l<r.length;l++){var c=r[l];"barpolar"===c.type&&!0===c.visible&&(o[a=c.subplot]||(s("barmode"),s("bargap"),o[a]=1))}}},{"../../lib":778,"./layout_attributes":943}],945:[function(t,e,r){"use strict";var n=t("d3"),i=t("fast-isnumeric"),a=t("../../lib"),o=t("../../components/drawing"),s=t("../../plots/polar/helpers");e.exports=function(t,e,r){var l=e.xaxis,c=e.yaxis,u=e.radialAxis,f=e.angularAxis,h=function(t){var e=t.cxx,r=t.cyy;if(t.vangles)return function(n,i,o,l){var c,u;a.angleDelta(o,l)>0?(c=o,u=l):(c=l,u=o);var f=[s.findEnclosingVertexAngles(c,t.vangles)[0],(c+u)/2,s.findEnclosingVertexAngles(u,t.vangles)[1]];return s.pathPolygonAnnulus(n,i,c,u,f,e,r)};return function(t,n,i,o){return a.pathAnnulus(t,n,i,o,e,r)}}(e),p=e.layers.frontplot.select("g.barlayer");a.makeTraceGroups(p,r,"trace bars").each((function(){var r=n.select(this),s=a.ensureSingle(r,"g","points").selectAll("g.point").data(a.identity);s.enter().append("g").style("vector-effect","non-scaling-stroke").style("stroke-miterlimit",2).classed("point",!0),s.exit().remove(),s.each((function(t){var e,r=n.select(this),o=t.rp0=u.c2p(t.s0),s=t.rp1=u.c2p(t.s1),p=t.thetag0=f.c2g(t.p0),d=t.thetag1=f.c2g(t.p1);if(i(o)&&i(s)&&i(p)&&i(d)&&o!==s&&p!==d){var g=u.c2g(t.s1),m=(p+d)/2;t.ct=[l.c2p(g*Math.cos(m)),c.c2p(g*Math.sin(m))],e=h(o,s,p,d)}else e="M0,0Z";a.ensureSingle(r,"path").attr("d",e)})),o.setClipUrl(r,e._hasClipOnAxisFalse?e.clipIds.forTraces:null,t)}))}},{"../../components/drawing":665,"../../lib":778,"../../plots/polar/helpers":893,d3:169,"fast-isnumeric":241}],946:[function(t,e,r){"use strict";var n=t("../scatter/attributes"),i=t("../bar/attributes"),a=t("../../components/color/attributes"),o=t("../../plots/template_attributes").hovertemplateAttrs,s=t("../../lib/extend").extendFlat,l=n.marker,c=l.line;e.exports={y:{valType:"data_array",editType:"calc+clearAxisTypes"},x:{valType:"data_array",editType:"calc+clearAxisTypes"},x0:{valType:"any",editType:"calc+clearAxisTypes"},y0:{valType:"any",editType:"calc+clearAxisTypes"},dx:{valType:"number",editType:"calc"},dy:{valType:"number",editType:"calc"},xperiod:n.xperiod,yperiod:n.yperiod,xperiod0:n.xperiod0,yperiod0:n.yperiod0,xperiodalignment:n.xperiodalignment,yperiodalignment:n.yperiodalignment,name:{valType:"string",editType:"calc+clearAxisTypes"},q1:{valType:"data_array",editType:"calc+clearAxisTypes"},median:{valType:"data_array",editType:"calc+clearAxisTypes"},q3:{valType:"data_array",editType:"calc+clearAxisTypes"},lowerfence:{valType:"data_array",editType:"calc"},upperfence:{valType:"data_array",editType:"calc"},notched:{valType:"boolean",editType:"calc"},notchwidth:{valType:"number",min:0,max:.5,dflt:.25,editType:"calc"},notchspan:{valType:"data_array",editType:"calc"},boxpoints:{valType:"enumerated",values:["all","outliers","suspectedoutliers",!1],editType:"calc"},jitter:{valType:"number",min:0,max:1,editType:"calc"},pointpos:{valType:"number",min:-2,max:2,editType:"calc"},boxmean:{valType:"enumerated",values:[!0,"sd",!1],editType:"calc"},mean:{valType:"data_array",editType:"calc"},sd:{valType:"data_array",editType:"calc"},orientation:{valType:"enumerated",values:["v","h"],editType:"calc+clearAxisTypes"},quartilemethod:{valType:"enumerated",values:["linear","exclusive","inclusive"],dflt:"linear",editType:"calc"},width:{valType:"number",min:0,dflt:0,editType:"calc"},marker:{outliercolor:{valType:"color",dflt:"rgba(0, 0, 0, 0)",editType:"style"},symbol:s({},l.symbol,{arrayOk:!1,editType:"plot"}),opacity:s({},l.opacity,{arrayOk:!1,dflt:1,editType:"style"}),size:s({},l.size,{arrayOk:!1,editType:"calc"}),color:s({},l.color,{arrayOk:!1,editType:"style"}),line:{color:s({},c.color,{arrayOk:!1,dflt:a.defaultLine,editType:"style"}),width:s({},c.width,{arrayOk:!1,dflt:0,editType:"style"}),outliercolor:{valType:"color",editType:"style"},outlierwidth:{valType:"number",min:0,dflt:1,editType:"style"},editType:"style"},editType:"plot"},line:{color:{valType:"color",editType:"style"},width:{valType:"number",min:0,dflt:2,editType:"style"},editType:"plot"},fillcolor:n.fillcolor,whiskerwidth:{valType:"number",min:0,max:1,dflt:.5,editType:"calc"},offsetgroup:i.offsetgroup,alignmentgroup:i.alignmentgroup,selected:{marker:n.selected.marker,editType:"style"},unselected:{marker:n.unselected.marker,editType:"style"},text:s({},n.text,{}),hovertext:s({},n.hovertext,{}),hovertemplate:o({}),hoveron:{valType:"flaglist",flags:["boxes","points"],dflt:"boxes+points",editType:"style"}}},{"../../components/color/attributes":642,"../../lib/extend":768,"../../plots/template_attributes":906,"../bar/attributes":921,"../scatter/attributes":1187}],947:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../plots/cartesian/axes"),a=t("../../plots/cartesian/align_period"),o=t("../../lib"),s=t("../../constants/numerical").BADNUM,l=o._;e.exports=function(t,e){var r,c,y,x,b,_,w,T=t._fullLayout,k=i.getFromId(t,e.xaxis||"x"),M=i.getFromId(t,e.yaxis||"y"),A=[],S="violin"===e.type?"_numViolins":"_numBoxes";"h"===e.orientation?(y=k,x="x",b=M,_="y",w=!!e.yperiodalignment):(y=M,x="y",b=k,_="x",w=!!e.xperiodalignment);var E,C,L,I,P,z,O=function(t,e,r,i){var s,l=e+"0"in t,c="d"+e in t;if(e in t||l&&c){var u=r.makeCalcdata(t,e);return[a(t,r,e,u),u]}s=l?t[e+"0"]:"name"in t&&("category"===r.type||n(t.name)&&-1!==["linear","log"].indexOf(r.type)||o.isDateTime(t.name)&&"date"===r.type)?t.name:i;for(var f="multicategory"===r.type?r.r2c_just_indices(s):r.d2c(s,0,t[e+"calendar"]),h=t._length,p=new Array(h),d=0;d<h;d++)p[d]=f;return[p]}(e,_,b,T[S]),D=O[0],R=O[1],F=o.distinctVals(D),B=F.vals,N=F.minDiff/2,j="all"===(e.boxpoints||e.points)?o.identity:function(t){return t.v<E.lf||t.v>E.uf};if(e._hasPreCompStats){var U=e[x],V=function(t){return y.d2c((e[t]||[])[r])},q=1/0,H=-1/0;for(r=0;r<e._length;r++){var G=D[r];if(n(G)){if((E={}).pos=E[_]=G,w&&R&&(E.orig_p=R[r]),E.q1=V("q1"),E.med=V("median"),E.q3=V("q3"),C=[],U&&o.isArrayOrTypedArray(U[r]))for(c=0;c<U[r].length;c++)(z=y.d2c(U[r][c]))!==s&&(u(P={v:z,i:[r,c]},e,[r,c]),C.push(P));if(E.pts=C.sort(f),I=(L=E[x]=C.map(h)).length,E.med!==s&&E.q1!==s&&E.q3!==s&&E.med>=E.q1&&E.q3>=E.med){var Y=V("lowerfence");E.lf=Y!==s&&Y<=E.q1?Y:p(E,L,I);var W=V("upperfence");E.uf=W!==s&&W>=E.q3?W:d(E,L,I);var X=V("mean");E.mean=X!==s?X:I?o.mean(L,I):(E.q1+E.q3)/2;var Z=V("sd");E.sd=X!==s&&Z>=0?Z:I?o.stdev(L,I,E.mean):E.q3-E.q1,E.lo=g(E),E.uo=m(E);var J=V("notchspan");J=J!==s&&J>0?J:v(E,I),E.ln=E.med-J,E.un=E.med+J;var K=E.lf,Q=E.uf;e.boxpoints&&L.length&&(K=Math.min(K,L[0]),Q=Math.max(Q,L[I-1])),e.notched&&(K=Math.min(K,E.ln),Q=Math.max(Q,E.un)),E.min=K,E.max=Q}else{var $;o.warn(["Invalid input - make sure that q1 <= median <= q3","q1 = "+E.q1,"median = "+E.med,"q3 = "+E.q3].join("\n")),$=E.med!==s?E.med:E.q1!==s?E.q3!==s?(E.q1+E.q3)/2:E.q1:E.q3!==s?E.q3:0,E.med=$,E.q1=E.q3=$,E.lf=E.uf=$,E.mean=E.sd=$,E.ln=E.un=$,E.min=E.max=$}q=Math.min(q,E.min),H=Math.max(H,E.max),E.pts2=C.filter(j),A.push(E)}}e._extremes[y._id]=i.findExtremes(y,[q,H],{padded:!0})}else{var tt=y.makeCalcdata(e,x),et=function(t,e){for(var r=t.length,n=new Array(r+1),i=0;i<r;i++)n[i]=t[i]-e;return n[r]=t[r-1]+e,n}(B,N),rt=B.length,nt=function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=[];return e}(rt);for(r=0;r<e._length;r++)if(z=tt[r],n(z)){var it=o.findBin(D[r],et);it>=0&&it<rt&&(u(P={v:z,i:r},e,r),nt[it].push(P))}var at=1/0,ot=-1/0,st=e.quartilemethod,lt="exclusive"===st,ct="inclusive"===st;for(r=0;r<rt;r++)if(nt[r].length>0){var ut,ft;if((E={}).pos=E[_]=B[r],C=E.pts=nt[r].sort(f),I=(L=E[x]=C.map(h)).length,E.min=L[0],E.max=L[I-1],E.mean=o.mean(L,I),E.sd=o.stdev(L,I,E.mean),E.med=o.interp(L,.5),I%2&&(lt||ct))lt?(ut=L.slice(0,I/2),ft=L.slice(I/2+1)):ct&&(ut=L.slice(0,I/2+1),ft=L.slice(I/2)),E.q1=o.interp(ut,.5),E.q3=o.interp(ft,.5);else E.q1=o.interp(L,.25),E.q3=o.interp(L,.75);E.lf=p(E,L,I),E.uf=d(E,L,I),E.lo=g(E),E.uo=m(E);var ht=v(E,I);E.ln=E.med-ht,E.un=E.med+ht,at=Math.min(at,E.ln),ot=Math.max(ot,E.un),E.pts2=C.filter(j),A.push(E)}e._extremes[y._id]=i.findExtremes(y,e.notched?tt.concat([at,ot]):tt,{padded:!0})}return function(t,e){if(o.isArrayOrTypedArray(e.selectedpoints))for(var r=0;r<t.length;r++){for(var n=t[r].pts||[],i={},a=0;a<n.length;a++)i[n[a].i]=a;o.tagSelected(n,e,i)}}(A,e),A.length>0?(A[0].t={num:T[S],dPos:N,posLetter:_,valLetter:x,labels:{med:l(t,"median:"),min:l(t,"min:"),q1:l(t,"q1:"),q3:l(t,"q3:"),max:l(t,"max:"),mean:"sd"===e.boxmean?l(t,"mean \xb1 \u03c3:"):l(t,"mean:"),lf:l(t,"lower fence:"),uf:l(t,"upper fence:")}},T[S]++,A):[{t:{empty:!0}}]};var c={text:"tx",hovertext:"htx"};function u(t,e,r){for(var n in c)o.isArrayOrTypedArray(e[n])&&(Array.isArray(r)?o.isArrayOrTypedArray(e[n][r[0]])&&(t[c[n]]=e[n][r[0]][r[1]]):t[c[n]]=e[n][r])}function f(t,e){return t.v-e.v}function h(t){return t.v}function p(t,e,r){return 0===r?t.q1:Math.min(t.q1,e[Math.min(o.findBin(2.5*t.q1-1.5*t.q3,e,!0)+1,r-1)])}function d(t,e,r){return 0===r?t.q3:Math.max(t.q3,e[Math.max(o.findBin(2.5*t.q3-1.5*t.q1,e),0)])}function g(t){return 4*t.q1-3*t.q3}function m(t){return 4*t.q3-3*t.q1}function v(t,e){return 0===e?0:1.57*(t.q3-t.q1)/Math.sqrt(e)}},{"../../constants/numerical":753,"../../lib":778,"../../plots/cartesian/align_period":825,"../../plots/cartesian/axes":828,"fast-isnumeric":241}],948:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes"),i=t("../../lib"),a=t("../../plots/cartesian/constraints").getAxisGroup,o=["v","h"];function s(t,e,r,o){var s,l,c,u=e.calcdata,f=e._fullLayout,h=o._id,p=h.charAt(0),d=[],g=0;for(s=0;s<r.length;s++)for(c=u[r[s]],l=0;l<c.length;l++)d.push(o.c2l(c[l].pos,!0)),g+=(c[l].pts2||[]).length;if(d.length){var m=i.distinctVals(d,{unitMinDiff:"category"===o.type||"multicategory"===o.type}),v=m.minDiff/2;n.minDtick(o,m.minDiff,m.vals[0],!0);var y=f["violin"===t?"_numViolins":"_numBoxes"],x="group"===f[t+"mode"]&&y>1,b=1-f[t+"gap"],_=1-f[t+"groupgap"];for(s=0;s<r.length;s++){var w,T,k,M,A,S,E=(c=u[r[s]])[0].trace,C=c[0].t,L=E.width,I=E.side;if(L)w=T=M=L/2,k=0;else if(w=v,x){var P=a(f,o._id)+E.orientation,z=(f._alignmentOpts[P]||{})[E.alignmentgroup]||{},O=Object.keys(z.offsetGroups||{}).length,D=O||y;T=w*b*_/D,k=2*w*(((O?E._offsetIndex:C.num)+.5)/D-.5)*b,M=w*b/D}else T=w*b*_,k=0,M=w;C.dPos=w,C.bPos=k,C.bdPos=T,C.wHover=M;var R,F,B,N,j,U,V=k+T,q=Boolean(L);if("positive"===I?(A=w*(L?1:.5),R=V,S=R=k):"negative"===I?(A=R=k,S=w*(L?1:.5),F=V):(A=S=w,R=F=V),(E.boxpoints||E.points)&&g>0){var H=E.pointpos,G=E.jitter,Y=E.marker.size/2,W=0;H+G>=0&&((W=V*(H+G))>A?(q=!0,j=Y,B=W):W>R&&(j=Y,B=A)),W<=A&&(B=A);var X=0;H-G<=0&&((X=-V*(H-G))>S?(q=!0,U=Y,N=X):X>F&&(U=Y,N=S)),X<=S&&(N=S)}else B=A,N=S;var Z=new Array(c.length);for(l=0;l<c.length;l++)Z[l]=c[l].pos;E._extremes[h]=n.findExtremes(o,Z,{padded:q,vpadminus:N,vpadplus:B,vpadLinearized:!0,ppadminus:{x:U,y:j}[p],ppadplus:{x:j,y:U}[p]})}}}e.exports={crossTraceCalc:function(t,e){for(var r=t.calcdata,n=e.xaxis,i=e.yaxis,a=0;a<o.length;a++){for(var l=o[a],c="h"===l?i:n,u=[],f=0;f<r.length;f++){var h=r[f],p=h[0].t,d=h[0].trace;!0!==d.visible||"box"!==d.type&&"candlestick"!==d.type||p.empty||(d.orientation||"v")!==l||d.xaxis!==n._id||d.yaxis!==i._id||u.push(f)}s("box",t,u,c)}},setPositionOffset:s}},{"../../lib":778,"../../plots/cartesian/axes":828,"../../plots/cartesian/constraints":835}],949:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../registry"),a=t("../../components/color"),o=t("../scatter/period_defaults"),s=t("../bar/defaults").handleGroupingDefaults,l=t("../../plots/cartesian/axis_autotype"),c=t("./attributes");function u(t,e,r,a){function o(t){var e=0;return t&&t.length&&(e+=1,n.isArrayOrTypedArray(t[0])&&t[0].length&&(e+=1)),e}function s(e){return n.validate(t[e],c[e])}var u,f=r("y"),h=r("x");if("box"===e.type){var p=r("q1"),d=r("median"),g=r("q3");e._hasPreCompStats=p&&p.length&&d&&d.length&&g&&g.length,u=Math.min(n.minRowLength(p),n.minRowLength(d),n.minRowLength(g))}var m,v,y=o(f),x=o(h),b=y&&n.minRowLength(f),_=x&&n.minRowLength(h),w=a.calendar,T={autotypenumbers:a.autotypenumbers};if(e._hasPreCompStats)switch(String(x)+String(y)){case"00":var k=s("x0")||s("dx");m=(s("y0")||s("dy"))&&!k?"h":"v",v=u;break;case"10":m="v",v=Math.min(u,_);break;case"20":m="h",v=Math.min(u,h.length);break;case"01":m="h",v=Math.min(u,b);break;case"02":m="v",v=Math.min(u,f.length);break;case"12":m="v",v=Math.min(u,_,f.length);break;case"21":m="h",v=Math.min(u,h.length,b);break;case"11":v=0;break;case"22":var M,A=!1;for(M=0;M<h.length;M++)if("category"===l(h[M],w,T)){A=!0;break}if(A)m="v",v=Math.min(u,_,f.length);else{for(M=0;M<f.length;M++)if("category"===l(f[M],w,T)){A=!0;break}A?(m="h",v=Math.min(u,h.length,b)):(m="v",v=Math.min(u,_,f.length))}}else y>0?(m="v",v=x>0?Math.min(_,b):Math.min(b)):x>0?(m="h",v=Math.min(_)):v=0;if(v){e._length=v;var S=r("orientation",m);e._hasPreCompStats?"v"===S&&0===x?(r("x0",0),r("dx",1)):"h"===S&&0===y&&(r("y0",0),r("dy",1)):"v"===S&&0===x?r("x0"):"h"===S&&0===y&&r("y0"),i.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x","y"],a)}else e.visible=!1}function f(t,e,r,i){var a=i.prefix,o=n.coerce2(t,e,c,"marker.outliercolor"),s=r("marker.line.outliercolor"),l="outliers";e._hasPreCompStats?l="all":(o||s)&&(l="suspectedoutliers");var u=r(a+"points",l);u?(r("jitter","all"===u?.3:0),r("pointpos","all"===u?-1.5:0),r("marker.symbol"),r("marker.opacity"),r("marker.size"),r("marker.color",e.line.color),r("marker.line.color"),r("marker.line.width"),"suspectedoutliers"===u&&(r("marker.line.outliercolor",e.marker.color),r("marker.line.outlierwidth")),r("selected.marker.color"),r("unselected.marker.color"),r("selected.marker.size"),r("unselected.marker.size"),r("text"),r("hovertext")):delete e.marker;var f=r("hoveron");"all"!==f&&-1===f.indexOf("points")||r("hovertemplate"),n.coerceSelectionMarkerOpacity(e,r)}e.exports={supplyDefaults:function(t,e,r,i){function s(r,i){return n.coerce(t,e,c,r,i)}if(u(t,e,s,i),!1!==e.visible){o(t,e,i,s);var l=e._hasPreCompStats;l&&(s("lowerfence"),s("upperfence")),s("line.color",(t.marker||{}).color||r),s("line.width"),s("fillcolor",a.addOpacity(e.line.color,.5));var h=!1;if(l){var p=s("mean"),d=s("sd");p&&p.length&&(h=!0,d&&d.length&&(h="sd"))}s("boxmean",h),s("whiskerwidth"),s("width"),s("quartilemethod");var g=!1;if(l){var m=s("notchspan");m&&m.length&&(g=!0)}else n.validate(t.notchwidth,c.notchwidth)&&(g=!0);s("notched",g)&&s("notchwidth"),f(t,e,s,{prefix:"box"})}},crossTraceDefaults:function(t,e){var r,i;function a(t){return n.coerce(i._input,i,c,t)}for(var o=0;o<t.length;o++){var l=(i=t[o]).type;"box"!==l&&"violin"!==l||(r=i._input,"group"===e[l+"mode"]&&s(r,i,e,a))}},handleSampleDefaults:u,handlePointsDefaults:f}},{"../../components/color":643,"../../lib":778,"../../plots/cartesian/axis_autotype":829,"../../registry":911,"../bar/defaults":925,"../scatter/period_defaults":1207,"./attributes":946}],950:[function(t,e,r){"use strict";e.exports=function(t,e){return e.hoverOnBox&&(t.hoverOnBox=e.hoverOnBox),"xVal"in e&&(t.x=e.xVal),"yVal"in e&&(t.y=e.yVal),e.xa&&(t.xaxis=e.xa),e.ya&&(t.yaxis=e.ya),t}},{}],951:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes"),i=t("../../lib"),a=t("../../components/fx"),o=t("../../components/color"),s=i.fillText;function l(t,e,r,s){var l,c,u,f,h,p,d,g,m,v,y,x,b,_,w=t.cd,T=t.xa,k=t.ya,M=w[0].trace,A=w[0].t,S="violin"===M.type,E=[],C=A.bdPos,L=A.wHover,I=function(t){return u.c2l(t.pos)+A.bPos-u.c2l(p)};S&&"both"!==M.side?("positive"===M.side&&(m=function(t){var e=I(t);return a.inbox(e,e+L,v)},x=C,b=0),"negative"===M.side&&(m=function(t){var e=I(t);return a.inbox(e-L,e,v)},x=0,b=C)):(m=function(t){var e=I(t);return a.inbox(e-L,e+L,v)},x=b=C),_=S?function(t){return a.inbox(t.span[0]-h,t.span[1]-h,v)}:function(t){return a.inbox(t.min-h,t.max-h,v)},"h"===M.orientation?(h=e,p=r,d=_,g=m,l="y",u=k,c="x",f=T):(h=r,p=e,d=m,g=_,l="x",u=T,c="y",f=k);var P=Math.min(1,C/Math.abs(u.r2c(u.range[1])-u.r2c(u.range[0])));function z(t){return(d(t)+g(t))/2}v=t.maxHoverDistance-P,y=t.maxSpikeDistance-P;var O=a.getDistanceFunction(s,d,g,z);if(a.getClosest(w,O,t),!1===t.index)return[];var D=w[t.index],R=M.line.color,F=(M.marker||{}).color;o.opacity(R)&&M.line.width?t.color=R:o.opacity(F)&&M.boxpoints?t.color=F:t.color=M.fillcolor,t[l+"0"]=u.c2p(D.pos+A.bPos-b,!0),t[l+"1"]=u.c2p(D.pos+A.bPos+x,!0),t[l+"LabelVal"]=void 0!==D.orig_p?D.orig_p:D.pos;var B=l+"Spike";t.spikeDistance=z(D)*y/v,t[B]=u.c2p(D.pos,!0);var N={},j=["med","q1","q3","min","max"];(M.boxmean||(M.meanline||{}).visible)&&j.push("mean"),(M.boxpoints||M.points)&&j.push("lf","uf");for(var U=0;U<j.length;U++){var V=j[U];if(V in D&&!(D[V]in N)){N[D[V]]=!0;var q=D[V],H=f.c2p(q,!0),G=i.extendFlat({},t);G.attr=V,G[c+"0"]=G[c+"1"]=H,G[c+"LabelVal"]=q,G[c+"Label"]=(A.labels?A.labels[V]+" ":"")+n.hoverLabelText(f,q),G.hoverOnBox=!0,"mean"===V&&"sd"in D&&"sd"===M.boxmean&&(G[c+"err"]=D.sd),t.name="",t.spikeDistance=void 0,t[B]=void 0,G.hovertemplate=!1,E.push(G)}}return E}function c(t,e,r){for(var n,o,l,c=t.cd,u=t.xa,f=t.ya,h=c[0].trace,p=u.c2p(e),d=f.c2p(r),g=a.quadrature((function(t){var e=Math.max(3,t.mrc||0);return Math.max(Math.abs(u.c2p(t.x)-p)-e,1-3/e)}),(function(t){var e=Math.max(3,t.mrc||0);return Math.max(Math.abs(f.c2p(t.y)-d)-e,1-3/e)})),m=!1,v=0;v<c.length;v++){o=c[v];for(var y=0;y<(o.pts||[]).length;y++){var x=g(l=o.pts[y]);x<=t.distance&&(t.distance=x,m=[v,y])}}if(!m)return!1;l=(o=c[m[0]]).pts[m[1]];var b=u.c2p(l.x,!0),_=f.c2p(l.y,!0),w=l.mrc||1;n=i.extendFlat({},t,{index:l.i,color:(h.marker||{}).color,name:h.name,x0:b-w,x1:b+w,y0:_-w,y1:_+w,spikeDistance:t.distance,hovertemplate:h.hovertemplate});var T,k=o.orig_p,M=void 0!==k?k:o.pos;return"h"===h.orientation?(T=f,n.xLabelVal=l.x,n.yLabelVal=M):(T=u,n.xLabelVal=M,n.yLabelVal=l.y),n[T._id.charAt(0)+"Spike"]=T.c2p(o.pos,!0),s(l,h,n),n}e.exports={hoverPoints:function(t,e,r,n){var i,a=t.cd[0].trace.hoveron,o=[];return-1!==a.indexOf("boxes")&&(o=o.concat(l(t,e,r,n))),-1!==a.indexOf("points")&&(i=c(t,e,r)),"closest"===n?i?[i]:o:i?(o.push(i),o):o},hoverOnBoxes:l,hoverOnPoints:c}},{"../../components/color":643,"../../components/fx":683,"../../lib":778,"../../plots/cartesian/axes":828}],952:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),layoutAttributes:t("./layout_attributes"),supplyDefaults:t("./defaults").supplyDefaults,crossTraceDefaults:t("./defaults").crossTraceDefaults,supplyLayoutDefaults:t("./layout_defaults").supplyLayoutDefaults,calc:t("./calc"),crossTraceCalc:t("./cross_trace_calc").crossTraceCalc,plot:t("./plot").plot,style:t("./style").style,styleOnSelect:t("./style").styleOnSelect,hoverPoints:t("./hover").hoverPoints,eventData:t("./event_data"),selectPoints:t("./select"),moduleType:"trace",name:"box",basePlotModule:t("../../plots/cartesian"),categories:["cartesian","svg","symbols","oriented","box-violin","showLegend","boxLayout","zoomScale"],meta:{}}},{"../../plots/cartesian":841,"./attributes":946,"./calc":947,"./cross_trace_calc":948,"./defaults":949,"./event_data":950,"./hover":951,"./layout_attributes":953,"./layout_defaults":954,"./plot":955,"./select":956,"./style":957}],953:[function(t,e,r){"use strict";e.exports={boxmode:{valType:"enumerated",values:["group","overlay"],dflt:"overlay",editType:"calc"},boxgap:{valType:"number",min:0,max:1,dflt:.3,editType:"calc"},boxgroupgap:{valType:"number",min:0,max:1,dflt:.3,editType:"calc"}}},{}],954:[function(t,e,r){"use strict";var n=t("../../registry"),i=t("../../lib"),a=t("./layout_attributes");function o(t,e,r,i,a){for(var o=a+"Layout",s=!1,l=0;l<r.length;l++){var c=r[l];if(n.traceIs(c,o)){s=!0;break}}s&&(i(a+"mode"),i(a+"gap"),i(a+"groupgap"))}e.exports={supplyLayoutDefaults:function(t,e,r){o(0,0,r,(function(r,n){return i.coerce(t,e,a,r,n)}),"box")},_supply:o}},{"../../lib":778,"../../registry":911,"./layout_attributes":953}],955:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../lib"),a=t("../../components/drawing");function o(t,e,r,a){var o,s,l="h"===r.orientation,c=e.val,u=e.pos,f=!!u.rangebreaks,h=a.bPos,p=a.wdPos||0,d=a.bPosPxOffset||0,g=r.whiskerwidth||0,m=r.notched||!1,v=m?1-2*r.notchwidth:1;Array.isArray(a.bdPos)?(o=a.bdPos[0],s=a.bdPos[1]):(o=a.bdPos,s=a.bdPos);var y=t.selectAll("path.box").data("violin"!==r.type||r.box.visible?i.identity:[]);y.enter().append("path").style("vector-effect","non-scaling-stroke").attr("class","box"),y.exit().remove(),y.each((function(t){if(t.empty)return"M0,0Z";var e=u.c2l(t.pos+h,!0),a=u.l2p(e-o)+d,y=u.l2p(e+s)+d,x=f?(a+y)/2:u.l2p(e)+d,b=r.whiskerwidth,_=f?a*b+(1-b)*x:u.l2p(e-p)+d,w=f?y*b+(1-b)*x:u.l2p(e+p)+d,T=u.l2p(e-o*v)+d,k=u.l2p(e+s*v)+d,M=c.c2p(t.q1,!0),A=c.c2p(t.q3,!0),S=i.constrain(c.c2p(t.med,!0),Math.min(M,A)+1,Math.max(M,A)-1),E=void 0===t.lf||!1===r.boxpoints,C=c.c2p(E?t.min:t.lf,!0),L=c.c2p(E?t.max:t.uf,!0),I=c.c2p(t.ln,!0),P=c.c2p(t.un,!0);l?n.select(this).attr("d","M"+S+","+T+"V"+k+"M"+M+","+a+"V"+y+(m?"H"+I+"L"+S+","+k+"L"+P+","+y:"")+"H"+A+"V"+a+(m?"H"+P+"L"+S+","+T+"L"+I+","+a:"")+"ZM"+M+","+x+"H"+C+"M"+A+","+x+"H"+L+(0===g?"":"M"+C+","+_+"V"+w+"M"+L+","+_+"V"+w)):n.select(this).attr("d","M"+T+","+S+"H"+k+"M"+a+","+M+"H"+y+(m?"V"+I+"L"+k+","+S+"L"+y+","+P:"")+"V"+A+"H"+a+(m?"V"+P+"L"+T+","+S+"L"+a+","+I:"")+"ZM"+x+","+M+"V"+C+"M"+x+","+A+"V"+L+(0===g?"":"M"+_+","+C+"H"+w+"M"+_+","+L+"H"+w))}))}function s(t,e,r,n){var o=e.x,s=e.y,l=n.bdPos,c=n.bPos,u=r.boxpoints||r.points;i.seedPseudoRandom();var f=t.selectAll("g.points").data(u?function(t){return t.forEach((function(t){t.t=n,t.trace=r})),t}:[]);f.enter().append("g").attr("class","points"),f.exit().remove();var h=f.selectAll("path").data((function(t){var e,n,a=t.pts2,o=Math.max((t.max-t.min)/10,t.q3-t.q1),s=1e-9*o,f=.01*o,h=[],p=0;if(r.jitter){if(0===o)for(p=1,h=new Array(a.length),e=0;e<a.length;e++)h[e]=1;else for(e=0;e<a.length;e++){var d=Math.max(0,e-5),g=a[d].v,m=Math.min(a.length-1,e+5),v=a[m].v;"all"!==u&&(a[e].v<t.lf?v=Math.min(v,t.lf):g=Math.max(g,t.uf));var y=Math.sqrt(f*(m-d)/(v-g+s))||0;y=i.constrain(Math.abs(y),0,1),h.push(y),p=Math.max(y,p)}n=2*r.jitter/(p||1)}for(e=0;e<a.length;e++){var x=a[e],b=x.v,_=r.jitter?n*h[e]*(i.pseudoRandom()-.5):0,w=t.pos+c+l*(r.pointpos+_);"h"===r.orientation?(x.y=w,x.x=b):(x.x=w,x.y=b),"suspectedoutliers"===u&&b<t.uo&&b>t.lo&&(x.so=!0)}return a}));h.enter().append("path").classed("point",!0),h.exit().remove(),h.call(a.translatePoints,o,s)}function l(t,e,r,a){var o,s,l=e.val,c=e.pos,u=!!c.rangebreaks,f=a.bPos,h=a.bPosPxOffset||0,p=r.boxmean||(r.meanline||{}).visible;Array.isArray(a.bdPos)?(o=a.bdPos[0],s=a.bdPos[1]):(o=a.bdPos,s=a.bdPos);var d=t.selectAll("path.mean").data("box"===r.type&&r.boxmean||"violin"===r.type&&r.box.visible&&r.meanline.visible?i.identity:[]);d.enter().append("path").attr("class","mean").style({fill:"none","vector-effect":"non-scaling-stroke"}),d.exit().remove(),d.each((function(t){var e=c.c2l(t.pos+f,!0),i=c.l2p(e-o)+h,a=c.l2p(e+s)+h,d=u?(i+a)/2:c.l2p(e)+h,g=l.c2p(t.mean,!0),m=l.c2p(t.mean-t.sd,!0),v=l.c2p(t.mean+t.sd,!0);"h"===r.orientation?n.select(this).attr("d","M"+g+","+i+"V"+a+("sd"===p?"m0,0L"+m+","+d+"L"+g+","+i+"L"+v+","+d+"Z":"")):n.select(this).attr("d","M"+i+","+g+"H"+a+("sd"===p?"m0,0L"+d+","+m+"L"+i+","+g+"L"+d+","+v+"Z":""))}))}e.exports={plot:function(t,e,r,a){var c=e.xaxis,u=e.yaxis;i.makeTraceGroups(a,r,"trace boxes").each((function(t){var e,r,i=n.select(this),a=t[0],f=a.t,h=a.trace;(f.wdPos=f.bdPos*h.whiskerwidth,!0!==h.visible||f.empty)?i.remove():("h"===h.orientation?(e=u,r=c):(e=c,r=u),o(i,{pos:e,val:r},h,f),s(i,{x:c,y:u},h,f),l(i,{pos:e,val:r},h,f))}))},plotBoxAndWhiskers:o,plotPoints:s,plotBoxMean:l}},{"../../components/drawing":665,"../../lib":778,d3:169}],956:[function(t,e,r){"use strict";e.exports=function(t,e){var r,n,i=t.cd,a=t.xaxis,o=t.yaxis,s=[];if(!1===e)for(r=0;r<i.length;r++)for(n=0;n<(i[r].pts||[]).length;n++)i[r].pts[n].selected=0;else for(r=0;r<i.length;r++)for(n=0;n<(i[r].pts||[]).length;n++){var l=i[r].pts[n],c=a.c2p(l.x),u=o.c2p(l.y);e.contains([c,u],null,l.i,t)?(s.push({pointNumber:l.i,x:a.c2d(l.x),y:o.c2d(l.y)}),l.selected=1):l.selected=0}return s}},{}],957:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../components/color"),a=t("../../components/drawing");e.exports={style:function(t,e,r){var o=r||n.select(t).selectAll("g.trace.boxes");o.style("opacity",(function(t){return t[0].trace.opacity})),o.each((function(e){var r=n.select(this),o=e[0].trace,s=o.line.width;function l(t,e,r,n){t.style("stroke-width",e+"px").call(i.stroke,r).call(i.fill,n)}var c=r.selectAll("path.box");if("candlestick"===o.type)c.each((function(t){if(!t.empty){var e=n.select(this),r=o[t.dir];l(e,r.line.width,r.line.color,r.fillcolor),e.style("opacity",o.selectedpoints&&!t.selected?.3:1)}}));else{l(c,s,o.line.color,o.fillcolor),r.selectAll("path.mean").style({"stroke-width":s,"stroke-dasharray":2*s+"px,"+s+"px"}).call(i.stroke,o.line.color);var u=r.selectAll("path.point");a.pointStyle(u,o,t)}}))},styleOnSelect:function(t,e,r){var n=e[0].trace,i=r.selectAll("path.point");n.selectedpoints?a.selectedPointStyle(i,n):a.pointStyle(i,n,t)}}},{"../../components/color":643,"../../components/drawing":665,d3:169}],958:[function(t,e,r){"use strict";var n=t("../../lib").extendFlat,i=t("../ohlc/attributes"),a=t("../box/attributes");function o(t){return{line:{color:n({},a.line.color,{dflt:t}),width:a.line.width,editType:"style"},fillcolor:a.fillcolor,editType:"style"}}e.exports={xperiod:i.xperiod,xperiod0:i.xperiod0,xperiodalignment:i.xperiodalignment,x:i.x,open:i.open,high:i.high,low:i.low,close:i.close,line:{width:n({},a.line.width,{}),editType:"style"},increasing:o(i.increasing.line.color.dflt),decreasing:o(i.decreasing.line.color.dflt),text:i.text,hovertext:i.hovertext,whiskerwidth:n({},a.whiskerwidth,{dflt:0}),hoverlabel:i.hoverlabel}},{"../../lib":778,"../box/attributes":946,"../ohlc/attributes":1133}],959:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../plots/cartesian/axes"),a=t("../../plots/cartesian/align_period"),o=t("../ohlc/calc").calcCommon;function s(t,e,r,n){return{min:r,q1:Math.min(t,n),med:n,q3:Math.max(t,n),max:e}}e.exports=function(t,e){var r=t._fullLayout,l=i.getFromId(t,e.xaxis),c=i.getFromId(t,e.yaxis),u=l.makeCalcdata(e,"x"),f=a(e,l,"x",u),h=o(t,e,u,f,c,s);return h.length?(n.extendFlat(h[0].t,{num:r._numBoxes,dPos:n.distinctVals(f).minDiff/2,posLetter:"x",valLetter:"y"}),r._numBoxes++,h):[{t:{empty:!0}}]}},{"../../lib":778,"../../plots/cartesian/align_period":825,"../../plots/cartesian/axes":828,"../ohlc/calc":1134}],960:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../components/color"),a=t("../ohlc/ohlc_defaults"),o=t("../scatter/period_defaults"),s=t("./attributes");function l(t,e,r,n){var a=r(n+".line.color");r(n+".line.width",e.line.width),r(n+".fillcolor",i.addOpacity(a,.5))}e.exports=function(t,e,r,i){function c(r,i){return n.coerce(t,e,s,r,i)}a(t,e,c,i)?(o(t,e,i,c,{x:!0}),c("line.width"),l(t,e,c,"increasing"),l(t,e,c,"decreasing"),c("text"),c("hovertext"),c("whiskerwidth"),i._requestRangeslider[e.xaxis]=!0):e.visible=!1}},{"../../components/color":643,"../../lib":778,"../ohlc/ohlc_defaults":1138,"../scatter/period_defaults":1207,"./attributes":958}],961:[function(t,e,r){"use strict";e.exports={moduleType:"trace",name:"candlestick",basePlotModule:t("../../plots/cartesian"),categories:["cartesian","svg","showLegend","candlestick","boxLayout"],meta:{},attributes:t("./attributes"),layoutAttributes:t("../box/layout_attributes"),supplyLayoutDefaults:t("../box/layout_defaults").supplyLayoutDefaults,crossTraceCalc:t("../box/cross_trace_calc").crossTraceCalc,supplyDefaults:t("./defaults"),calc:t("./calc"),plot:t("../box/plot").plot,layerName:"boxlayer",style:t("../box/style").style,hoverPoints:t("../ohlc/hover").hoverPoints,selectPoints:t("../ohlc/select")}},{"../../plots/cartesian":841,"../box/cross_trace_calc":948,"../box/layout_attributes":953,"../box/layout_defaults":954,"../box/plot":955,"../box/style":957,"../ohlc/hover":1136,"../ohlc/select":1140,"./attributes":958,"./calc":959,"./defaults":960}],962:[function(t,e,r){"use strict";var n=t("./axis_defaults"),i=t("../../plot_api/plot_template");e.exports=function(t,e,r,a,o){a("a")||(a("da"),a("a0")),a("b")||(a("db"),a("b0")),function(t,e,r,a){["aaxis","baxis"].forEach((function(o){var s=o.charAt(0),l=t[o]||{},c=i.newContainer(e,o),u={tickfont:"x",id:s+"axis",letter:s,font:e.font,name:o,data:t[s],calendar:e.calendar,dfltColor:a,bgColor:r.paper_bgcolor,autotypenumbersDflt:r.autotypenumbers,fullLayout:r};n(l,c,u),c._categories=c._categories||[],t[o]||"-"===l.type||(t[o]={type:l.type})}))}(t,e,r,o)}},{"../../plot_api/plot_template":817,"./axis_defaults":967}],963:[function(t,e,r){"use strict";var n=t("../../lib").isArrayOrTypedArray;e.exports=function(t){return function t(e,r){if(!n(e)||r>=10)return null;for(var i=1/0,a=-1/0,o=e.length,s=0;s<o;s++){var l=e[s];if(n(l)){var c=t(l,r+1);c&&(i=Math.min(c[0],i),a=Math.max(c[1],a))}else i=Math.min(l,i),a=Math.max(l,a)}return[i,a]}(t,0)}},{"../../lib":778}],964:[function(t,e,r){"use strict";var n=t("../../plots/font_attributes"),i=t("./axis_attributes"),a=t("../../components/color/attributes"),o=n({editType:"calc"});o.family.dflt='"Open Sans", verdana, arial, sans-serif',o.size.dflt=12,o.color.dflt=a.defaultLine,e.exports={carpet:{valType:"string",editType:"calc"},x:{valType:"data_array",editType:"calc+clearAxisTypes"},y:{valType:"data_array",editType:"calc+clearAxisTypes"},a:{valType:"data_array",editType:"calc"},a0:{valType:"number",dflt:0,editType:"calc"},da:{valType:"number",dflt:1,editType:"calc"},b:{valType:"data_array",editType:"calc"},b0:{valType:"number",dflt:0,editType:"calc"},db:{valType:"number",dflt:1,editType:"calc"},cheaterslope:{valType:"number",dflt:1,editType:"calc"},aaxis:i,baxis:i,font:o,color:{valType:"color",dflt:a.defaultLine,editType:"plot"},transforms:void 0}},{"../../components/color/attributes":642,"../../plots/font_attributes":856,"./axis_attributes":966}],965:[function(t,e,r){"use strict";var n=t("../../lib").isArrayOrTypedArray;e.exports=function(t,e,r,i){var a,o,s,l,c,u,f,h,p,d,g,m,v,y=n(r)?"a":"b",x=("a"===y?t.aaxis:t.baxis).smoothing,b="a"===y?t.a2i:t.b2j,_="a"===y?r:i,w="a"===y?i:r,T="a"===y?e.a.length:e.b.length,k="a"===y?e.b.length:e.a.length,M=Math.floor("a"===y?t.b2j(w):t.a2i(w)),A="a"===y?function(e){return t.evalxy([],e,M)}:function(e){return t.evalxy([],M,e)};x&&(s=Math.max(0,Math.min(k-2,M)),l=M-s,o="a"===y?function(e,r){return t.dxydi([],e,s,r,l)}:function(e,r){return t.dxydj([],s,e,l,r)});var S=b(_[0]),E=b(_[1]),C=S<E?1:-1,L=1e-8*(E-S),I=C>0?Math.floor:Math.ceil,P=C>0?Math.ceil:Math.floor,z=C>0?Math.min:Math.max,O=C>0?Math.max:Math.min,D=I(S+L),R=P(E-L),F=[[f=A(S)]];for(a=D;a*C<R*C;a+=C)c=[],g=O(S,a),v=(m=z(E,a+C))-g,u=Math.max(0,Math.min(T-2,Math.floor(.5*(g+m)))),h=A(m),x&&(p=o(u,g-u),d=o(u,m-u),c.push([f[0]+p[0]/3*v,f[1]+p[1]/3*v]),c.push([h[0]-d[0]/3*v,h[1]-d[1]/3*v])),c.push(h),F.push(c),f=h;return F}},{"../../lib":778}],966:[function(t,e,r){"use strict";var n=t("../../plots/font_attributes"),i=t("../../components/color/attributes"),a=t("../../plots/cartesian/layout_attributes"),o=t("../../plot_api/edit_types").overrideAll;t("../../constants/docs").FORMAT_LINK,t("../../constants/docs").TIME_FORMAT_LINK;e.exports={color:{valType:"color",editType:"calc"},smoothing:{valType:"number",dflt:1,min:0,max:1.3,editType:"calc"},title:{text:{valType:"string",dflt:"",editType:"calc"},font:n({editType:"calc"}),offset:{valType:"number",dflt:10,editType:"calc"},editType:"calc"},type:{valType:"enumerated",values:["-","linear","date","category"],dflt:"-",editType:"calc"},autotypenumbers:a.autotypenumbers,autorange:{valType:"enumerated",values:[!0,!1,"reversed"],dflt:!0,editType:"calc"},rangemode:{valType:"enumerated",values:["normal","tozero","nonnegative"],dflt:"normal",editType:"calc"},range:{valType:"info_array",editType:"calc",items:[{valType:"any",editType:"calc"},{valType:"any",editType:"calc"}]},fixedrange:{valType:"boolean",dflt:!1,editType:"calc"},cheatertype:{valType:"enumerated",values:["index","value"],dflt:"value",editType:"calc"},tickmode:{valType:"enumerated",values:["linear","array"],dflt:"array",editType:"calc"},nticks:{valType:"integer",min:0,dflt:0,editType:"calc"},tickvals:{valType:"data_array",editType:"calc"},ticktext:{valType:"data_array",editType:"calc"},showticklabels:{valType:"enumerated",values:["start","end","both","none"],dflt:"start",editType:"calc"},tickfont:n({editType:"calc"}),tickangle:{valType:"angle",dflt:"auto",editType:"calc"},tickprefix:{valType:"string",dflt:"",editType:"calc"},showtickprefix:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"calc"},ticksuffix:{valType:"string",dflt:"",editType:"calc"},showticksuffix:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"calc"},showexponent:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"calc"},exponentformat:{valType:"enumerated",values:["none","e","E","power","SI","B"],dflt:"B",editType:"calc"},minexponent:{valType:"number",dflt:3,min:0,editType:"calc"},separatethousands:{valType:"boolean",dflt:!1,editType:"calc"},tickformat:{valType:"string",dflt:"",editType:"calc"},tickformatstops:o(a.tickformatstops,"calc","from-root"),categoryorder:{valType:"enumerated",values:["trace","category ascending","category descending","array"],dflt:"trace",editType:"calc"},categoryarray:{valType:"data_array",editType:"calc"},labelpadding:{valType:"integer",dflt:10,editType:"calc"},labelprefix:{valType:"string",editType:"calc"},labelsuffix:{valType:"string",dflt:"",editType:"calc"},showline:{valType:"boolean",dflt:!1,editType:"calc"},linecolor:{valType:"color",dflt:i.defaultLine,editType:"calc"},linewidth:{valType:"number",min:0,dflt:1,editType:"calc"},gridcolor:{valType:"color",editType:"calc"},gridwidth:{valType:"number",min:0,dflt:1,editType:"calc"},showgrid:{valType:"boolean",dflt:!0,editType:"calc"},minorgridcount:{valType:"integer",min:0,dflt:0,editType:"calc"},minorgridwidth:{valType:"number",min:0,dflt:1,editType:"calc"},minorgridcolor:{valType:"color",dflt:i.lightLine,editType:"calc"},startline:{valType:"boolean",editType:"calc"},startlinecolor:{valType:"color",editType:"calc"},startlinewidth:{valType:"number",dflt:1,editType:"calc"},endline:{valType:"boolean",editType:"calc"},endlinewidth:{valType:"number",dflt:1,editType:"calc"},endlinecolor:{valType:"color",editType:"calc"},tick0:{valType:"number",min:0,dflt:0,editType:"calc"},dtick:{valType:"number",min:0,dflt:1,editType:"calc"},arraytick0:{valType:"integer",min:0,dflt:0,editType:"calc"},arraydtick:{valType:"integer",min:1,dflt:1,editType:"calc"},_deprecated:{title:{valType:"string",editType:"calc"},titlefont:n({editType:"calc"}),titleoffset:{valType:"number",dflt:10,editType:"calc"}},editType:"calc"}},{"../../components/color/attributes":642,"../../constants/docs":748,"../../plot_api/edit_types":810,"../../plots/cartesian/layout_attributes":842,"../../plots/font_attributes":856}],967:[function(t,e,r){"use strict";var n=t("./attributes"),i=t("../../components/color").addOpacity,a=t("../../registry"),o=t("../../lib"),s=t("../../plots/cartesian/tick_value_defaults"),l=t("../../plots/cartesian/tick_label_defaults"),c=t("../../plots/cartesian/category_order_defaults"),u=t("../../plots/cartesian/set_convert"),f=t("../../plots/cartesian/axis_autotype");e.exports=function(t,e,r){var h=r.letter,p=r.font||{},d=n[h+"axis"];function g(r,n){return o.coerce(t,e,d,r,n)}function m(r,n){return o.coerce2(t,e,d,r,n)}r.name&&(e._name=r.name,e._id=r.name),g("autotypenumbers",r.autotypenumbersDflt);var v=g("type");("-"===v&&(r.data&&function(t,e){if("-"!==t.type)return;var r=t._id.charAt(0),n=t[r+"calendar"];t.type=f(e,n,{autotypenumbers:t.autotypenumbers})}(e,r.data),"-"===e.type?e.type="linear":v=t.type=e.type),g("smoothing"),g("cheatertype"),g("showticklabels"),g("labelprefix",h+" = "),g("labelsuffix"),g("showtickprefix"),g("showticksuffix"),g("separatethousands"),g("tickformat"),g("exponentformat"),g("minexponent"),g("showexponent"),g("categoryorder"),g("tickmode"),g("tickvals"),g("ticktext"),g("tick0"),g("dtick"),"array"===e.tickmode&&(g("arraytick0"),g("arraydtick")),g("labelpadding"),e._hovertitle=h,"date"===v)&&a.getComponentMethod("calendars","handleDefaults")(t,e,"calendar",r.calendar);u(e,r.fullLayout),e.c2p=o.identity;var y=g("color",r.dfltColor),x=y===t.color?y:p.color;g("title.text")&&(o.coerceFont(g,"title.font",{family:p.family,size:Math.round(1.2*p.size),color:x}),g("title.offset")),g("tickangle"),g("autorange",!e.isValidRange(t.range))&&g("rangemode"),g("range"),e.cleanRange(),g("fixedrange"),s(t,e,g,v),l(t,e,g,v,r),c(t,e,g,{data:r.data,dataAttr:h});var b=m("gridcolor",i(y,.3)),_=m("gridwidth"),w=g("showgrid");w||(delete e.gridcolor,delete e.gridwidth);var T=m("startlinecolor",y),k=m("startlinewidth",_);g("startline",e.showgrid||!!T||!!k)||(delete e.startlinecolor,delete e.startlinewidth);var M=m("endlinecolor",y),A=m("endlinewidth",_);return g("endline",e.showgrid||!!M||!!A)||(delete e.endlinecolor,delete e.endlinewidth),w?(g("minorgridcount"),g("minorgridwidth",_),g("minorgridcolor",i(b,.06)),e.minorgridcount||(delete e.minorgridwidth,delete e.minorgridcolor)):(delete e.gridcolor,delete e.gridWidth),"none"===e.showticklabels&&(delete e.tickfont,delete e.tickangle,delete e.showexponent,delete e.exponentformat,delete e.minexponent,delete e.tickformat,delete e.showticksuffix,delete e.showtickprefix),e.showticksuffix||delete e.ticksuffix,e.showtickprefix||delete e.tickprefix,g("tickmode"),e}},{"../../components/color":643,"../../lib":778,"../../plots/cartesian/axis_autotype":829,"../../plots/cartesian/category_order_defaults":832,"../../plots/cartesian/set_convert":848,"../../plots/cartesian/tick_label_defaults":849,"../../plots/cartesian/tick_value_defaults":851,"../../registry":911,"./attributes":964}],968:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes"),i=t("../../lib").isArray1D,a=t("./cheater_basis"),o=t("./array_minmax"),s=t("./calc_gridlines"),l=t("./calc_labels"),c=t("./calc_clippath"),u=t("../heatmap/clean_2d_array"),f=t("./smooth_fill_2d_array"),h=t("../heatmap/convert_column_xyz"),p=t("./set_convert");e.exports=function(t,e){var r=n.getFromId(t,e.xaxis),d=n.getFromId(t,e.yaxis),g=e.aaxis,m=e.baxis,v=e.x,y=e.y,x=[];v&&i(v)&&x.push("x"),y&&i(y)&&x.push("y"),x.length&&h(e,g,m,"a","b",x);var b=e._a=e._a||e.a,_=e._b=e._b||e.b;v=e._x||e.x,y=e._y||e.y;var w={};if(e._cheater){var T="index"===g.cheatertype?b.length:b,k="index"===m.cheatertype?_.length:_;v=a(T,k,e.cheaterslope)}e._x=v=u(v),e._y=y=u(y),f(v,b,_),f(y,b,_),p(e),e.setScale();var M=o(v),A=o(y),S=.5*(M[1]-M[0]),E=.5*(M[1]+M[0]),C=.5*(A[1]-A[0]),L=.5*(A[1]+A[0]);return M=[E-1.3*S,E+1.3*S],A=[L-1.3*C,L+1.3*C],e._extremes[r._id]=n.findExtremes(r,M,{padded:!0}),e._extremes[d._id]=n.findExtremes(d,A,{padded:!0}),s(e,"a","b"),s(e,"b","a"),l(e,g),l(e,m),w.clipsegments=c(e._xctrl,e._yctrl,g,m),w.x=v,w.y=y,w.a=b,w.b=_,[w]}},{"../../lib":778,"../../plots/cartesian/axes":828,"../heatmap/clean_2d_array":1067,"../heatmap/convert_column_xyz":1069,"./array_minmax":963,"./calc_clippath":969,"./calc_gridlines":970,"./calc_labels":971,"./cheater_basis":973,"./set_convert":986,"./smooth_fill_2d_array":987}],969:[function(t,e,r){"use strict";e.exports=function(t,e,r,n){var i,a,o,s=[],l=!!r.smoothing,c=!!n.smoothing,u=t[0].length-1,f=t.length-1;for(i=0,a=[],o=[];i<=u;i++)a[i]=t[0][i],o[i]=e[0][i];for(s.push({x:a,y:o,bicubic:l}),i=0,a=[],o=[];i<=f;i++)a[i]=t[i][u],o[i]=e[i][u];for(s.push({x:a,y:o,bicubic:c}),i=u,a=[],o=[];i>=0;i--)a[u-i]=t[f][i],o[u-i]=e[f][i];for(s.push({x:a,y:o,bicubic:l}),i=f,a=[],o=[];i>=0;i--)a[f-i]=t[i][0],o[f-i]=e[i][0];return s.push({x:a,y:o,bicubic:c}),s}},{}],970:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes"),i=t("../../lib/extend").extendFlat;e.exports=function(t,e,r){var a,o,s,l,c,u,f,h,p,d,g,m,v,y,x=t["_"+e],b=t[e+"axis"],_=b._gridlines=[],w=b._minorgridlines=[],T=b._boundarylines=[],k=t["_"+r],M=t[r+"axis"];"array"===b.tickmode&&(b.tickvals=x.slice());var A=t._xctrl,S=t._yctrl,E=A[0].length,C=A.length,L=t._a.length,I=t._b.length;n.prepTicks(b),"array"===b.tickmode&&delete b.tickvals;var P=b.smoothing?3:1;function z(n){var i,a,o,s,l,c,u,f,p,d,g,m,v=[],y=[],x={};if("b"===e)for(a=t.b2j(n),o=Math.floor(Math.max(0,Math.min(I-2,a))),s=a-o,x.length=I,x.crossLength=L,x.xy=function(e){return t.evalxy([],e,a)},x.dxy=function(e,r){return t.dxydi([],e,o,r,s)},i=0;i<L;i++)c=Math.min(L-2,i),u=i-c,f=t.evalxy([],i,a),M.smoothing&&i>0&&(p=t.dxydi([],i-1,o,0,s),v.push(l[0]+p[0]/3),y.push(l[1]+p[1]/3),d=t.dxydi([],i-1,o,1,s),v.push(f[0]-d[0]/3),y.push(f[1]-d[1]/3)),v.push(f[0]),y.push(f[1]),l=f;else for(i=t.a2i(n),c=Math.floor(Math.max(0,Math.min(L-2,i))),u=i-c,x.length=L,x.crossLength=I,x.xy=function(e){return t.evalxy([],i,e)},x.dxy=function(e,r){return t.dxydj([],c,e,u,r)},a=0;a<I;a++)o=Math.min(I-2,a),s=a-o,f=t.evalxy([],i,a),M.smoothing&&a>0&&(g=t.dxydj([],c,a-1,u,0),v.push(l[0]+g[0]/3),y.push(l[1]+g[1]/3),m=t.dxydj([],c,a-1,u,1),v.push(f[0]-m[0]/3),y.push(f[1]-m[1]/3)),v.push(f[0]),y.push(f[1]),l=f;return x.axisLetter=e,x.axis=b,x.crossAxis=M,x.value=n,x.constvar=r,x.index=h,x.x=v,x.y=y,x.smoothing=M.smoothing,x}function O(n){var i,a,o,s,l,c=[],u=[],f={};if(f.length=x.length,f.crossLength=k.length,"b"===e)for(o=Math.max(0,Math.min(I-2,n)),l=Math.min(1,Math.max(0,n-o)),f.xy=function(e){return t.evalxy([],e,n)},f.dxy=function(e,r){return t.dxydi([],e,o,r,l)},i=0;i<E;i++)c[i]=A[n*P][i],u[i]=S[n*P][i];else for(a=Math.max(0,Math.min(L-2,n)),s=Math.min(1,Math.max(0,n-a)),f.xy=function(e){return t.evalxy([],n,e)},f.dxy=function(e,r){return t.dxydj([],a,e,s,r)},i=0;i<C;i++)c[i]=A[i][n*P],u[i]=S[i][n*P];return f.axisLetter=e,f.axis=b,f.crossAxis=M,f.value=x[n],f.constvar=r,f.index=n,f.x=c,f.y=u,f.smoothing=M.smoothing,f}if("array"===b.tickmode){for(l=5e-15,u=(c=[Math.floor((x.length-1-b.arraytick0)/b.arraydtick*(1+l)),Math.ceil(-b.arraytick0/b.arraydtick/(1+l))].sort((function(t,e){return t-e})))[0]-1,f=c[1]+1,h=u;h<f;h++)(o=b.arraytick0+b.arraydtick*h)<0||o>x.length-1||_.push(i(O(o),{color:b.gridcolor,width:b.gridwidth}));for(h=u;h<f;h++)if(s=b.arraytick0+b.arraydtick*h,g=Math.min(s+b.arraydtick,x.length-1),!(s<0||s>x.length-1||g<0||g>x.length-1))for(m=x[s],v=x[g],a=0;a<b.minorgridcount;a++)(y=g-s)<=0||(d=m+(v-m)*(a+1)/(b.minorgridcount+1)*(b.arraydtick/y))<x[0]||d>x[x.length-1]||w.push(i(z(d),{color:b.minorgridcolor,width:b.minorgridwidth}));b.startline&&T.push(i(O(0),{color:b.startlinecolor,width:b.startlinewidth})),b.endline&&T.push(i(O(x.length-1),{color:b.endlinecolor,width:b.endlinewidth}))}else{for(l=5e-15,u=(c=[Math.floor((x[x.length-1]-b.tick0)/b.dtick*(1+l)),Math.ceil((x[0]-b.tick0)/b.dtick/(1+l))].sort((function(t,e){return t-e})))[0],f=c[1],h=u;h<=f;h++)p=b.tick0+b.dtick*h,_.push(i(z(p),{color:b.gridcolor,width:b.gridwidth}));for(h=u-1;h<f+1;h++)for(p=b.tick0+b.dtick*h,a=0;a<b.minorgridcount;a++)(d=p+b.dtick*(a+1)/(b.minorgridcount+1))<x[0]||d>x[x.length-1]||w.push(i(z(d),{color:b.minorgridcolor,width:b.minorgridwidth}));b.startline&&T.push(i(z(x[0]),{color:b.startlinecolor,width:b.startlinewidth})),b.endline&&T.push(i(z(x[x.length-1]),{color:b.endlinecolor,width:b.endlinewidth}))}}},{"../../lib/extend":768,"../../plots/cartesian/axes":828}],971:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes"),i=t("../../lib/extend").extendFlat;e.exports=function(t,e){var r,a,o,s=e._labels=[],l=e._gridlines;for(r=0;r<l.length;r++)o=l[r],-1!==["start","both"].indexOf(e.showticklabels)&&(a=n.tickText(e,o.value),i(a,{prefix:void 0,suffix:void 0,endAnchor:!0,xy:o.xy(0),dxy:o.dxy(0,0),axis:o.axis,length:o.crossAxis.length,font:o.axis.tickfont,isFirst:0===r,isLast:r===l.length-1}),s.push(a)),-1!==["end","both"].indexOf(e.showticklabels)&&(a=n.tickText(e,o.value),i(a,{endAnchor:!1,xy:o.xy(o.crossLength-1),dxy:o.dxy(o.crossLength-2,1),axis:o.axis,length:o.crossAxis.length,font:o.axis.tickfont,isFirst:0===r,isLast:r===l.length-1}),s.push(a))}},{"../../lib/extend":768,"../../plots/cartesian/axes":828}],972:[function(t,e,r){"use strict";e.exports=function(t,e,r,n){var i=t[0]-e[0],a=t[1]-e[1],o=r[0]-e[0],s=r[1]-e[1],l=Math.pow(i*i+a*a,.25),c=Math.pow(o*o+s*s,.25),u=(c*c*i-l*l*o)*n,f=(c*c*a-l*l*s)*n,h=c*(l+c)*3,p=l*(l+c)*3;return[[e[0]+(h&&u/h),e[1]+(h&&f/h)],[e[0]-(p&&u/p),e[1]-(p&&f/p)]]}},{}],973:[function(t,e,r){"use strict";var n=t("../../lib").isArrayOrTypedArray;e.exports=function(t,e,r){var i,a,o,s,l,c,u=[],f=n(t)?t.length:t,h=n(e)?e.length:e,p=n(t)?t:null,d=n(e)?e:null;p&&(o=(p.length-1)/(p[p.length-1]-p[0])/(f-1)),d&&(s=(d.length-1)/(d[d.length-1]-d[0])/(h-1));var g=1/0,m=-1/0;for(a=0;a<h;a++)for(u[a]=[],l=d?(d[a]-d[0])*s:a/(h-1),i=0;i<f;i++)c=(p?(p[i]-p[0])*o:i/(f-1))-l*r,g=Math.min(c,g),m=Math.max(c,m),u[a][i]=c;var v=1/(m-g),y=-g*v;for(a=0;a<h;a++)for(i=0;i<f;i++)u[a][i]=v*u[a][i]+y;return u}},{"../../lib":778}],974:[function(t,e,r){"use strict";var n=t("./catmull_rom"),i=t("../../lib").ensureArray;function a(t,e,r){var n=-.5*r[0]+1.5*e[0],i=-.5*r[1]+1.5*e[1];return[(2*n+t[0])/3,(2*i+t[1])/3]}e.exports=function(t,e,r,o,s,l){var c,u,f,h,p,d,g,m,v,y,x=r[0].length,b=r.length,_=s?3*x-2:x,w=l?3*b-2:b;for(t=i(t,w),e=i(e,w),f=0;f<w;f++)t[f]=i(t[f],_),e[f]=i(e[f],_);for(u=0,h=0;u<b;u++,h+=l?3:1)for(p=t[h],d=e[h],g=r[u],m=o[u],c=0,f=0;c<x;c++,f+=s?3:1)p[f]=g[c],d[f]=m[c];if(s)for(u=0,h=0;u<b;u++,h+=l?3:1){for(c=1,f=3;c<x-1;c++,f+=3)v=n([r[u][c-1],o[u][c-1]],[r[u][c],o[u][c]],[r[u][c+1],o[u][c+1]],s),t[h][f-1]=v[0][0],e[h][f-1]=v[0][1],t[h][f+1]=v[1][0],e[h][f+1]=v[1][1];y=a([t[h][0],e[h][0]],[t[h][2],e[h][2]],[t[h][3],e[h][3]]),t[h][1]=y[0],e[h][1]=y[1],y=a([t[h][_-1],e[h][_-1]],[t[h][_-3],e[h][_-3]],[t[h][_-4],e[h][_-4]]),t[h][_-2]=y[0],e[h][_-2]=y[1]}if(l)for(f=0;f<_;f++){for(h=3;h<w-3;h+=3)v=n([t[h-3][f],e[h-3][f]],[t[h][f],e[h][f]],[t[h+3][f],e[h+3][f]],l),t[h-1][f]=v[0][0],e[h-1][f]=v[0][1],t[h+1][f]=v[1][0],e[h+1][f]=v[1][1];y=a([t[0][f],e[0][f]],[t[2][f],e[2][f]],[t[3][f],e[3][f]]),t[1][f]=y[0],e[1][f]=y[1],y=a([t[w-1][f],e[w-1][f]],[t[w-3][f],e[w-3][f]],[t[w-4][f],e[w-4][f]]),t[w-2][f]=y[0],e[w-2][f]=y[1]}if(s&&l)for(h=1;h<w;h+=(h+1)%3==0?2:1){for(f=3;f<_-3;f+=3)v=n([t[h][f-3],e[h][f-3]],[t[h][f],e[h][f]],[t[h][f+3],e[h][f+3]],s),t[h][f-1]=.5*(t[h][f-1]+v[0][0]),e[h][f-1]=.5*(e[h][f-1]+v[0][1]),t[h][f+1]=.5*(t[h][f+1]+v[1][0]),e[h][f+1]=.5*(e[h][f+1]+v[1][1]);y=a([t[h][0],e[h][0]],[t[h][2],e[h][2]],[t[h][3],e[h][3]]),t[h][1]=.5*(t[h][1]+y[0]),e[h][1]=.5*(e[h][1]+y[1]),y=a([t[h][_-1],e[h][_-1]],[t[h][_-3],e[h][_-3]],[t[h][_-4],e[h][_-4]]),t[h][_-2]=.5*(t[h][_-2]+y[0]),e[h][_-2]=.5*(e[h][_-2]+y[1])}return[t,e]}},{"../../lib":778,"./catmull_rom":972}],975:[function(t,e,r){"use strict";e.exports={RELATIVE_CULL_TOLERANCE:1e-6}},{}],976:[function(t,e,r){"use strict";e.exports=function(t,e,r){return e&&r?function(e,r,n,i,a){var o,s,l,c,u,f;e||(e=[]),r*=3,n*=3;var h=i*i,p=1-i,d=p*p,g=p*i*2,m=-3*d,v=3*(d-g),y=3*(g-h),x=3*h,b=a*a,_=b*a,w=1-a,T=w*w,k=T*w;for(f=0;f<t.length;f++)o=m*(u=t[f])[n][r]+v*u[n][r+1]+y*u[n][r+2]+x*u[n][r+3],s=m*u[n+1][r]+v*u[n+1][r+1]+y*u[n+1][r+2]+x*u[n+1][r+3],l=m*u[n+2][r]+v*u[n+2][r+1]+y*u[n+2][r+2]+x*u[n+2][r+3],c=m*u[n+3][r]+v*u[n+3][r+1]+y*u[n+3][r+2]+x*u[n+3][r+3],e[f]=k*o+3*(T*a*s+w*b*l)+_*c;return e}:e?function(e,r,n,i,a){var o,s,l,c;e||(e=[]),r*=3;var u=i*i,f=1-i,h=f*f,p=f*i*2,d=-3*h,g=3*(h-p),m=3*(p-u),v=3*u,y=1-a;for(l=0;l<t.length;l++)o=d*(c=t[l])[n][r]+g*c[n][r+1]+m*c[n][r+2]+v*c[n][r+3],s=d*c[n+1][r]+g*c[n+1][r+1]+m*c[n+1][r+2]+v*c[n+1][r+3],e[l]=y*o+a*s;return e}:r?function(e,r,n,i,a){var o,s,l,c,u,f;e||(e=[]),n*=3;var h=a*a,p=h*a,d=1-a,g=d*d,m=g*d;for(u=0;u<t.length;u++)o=(f=t[u])[n][r+1]-f[n][r],s=f[n+1][r+1]-f[n+1][r],l=f[n+2][r+1]-f[n+2][r],c=f[n+3][r+1]-f[n+3][r],e[u]=m*o+3*(g*a*s+d*h*l)+p*c;return e}:function(e,r,n,i,a){var o,s,l,c;e||(e=[]);var u=1-a;for(l=0;l<t.length;l++)o=(c=t[l])[n][r+1]-c[n][r],s=c[n+1][r+1]-c[n+1][r],e[l]=u*o+a*s;return e}}},{}],977:[function(t,e,r){"use strict";e.exports=function(t,e,r){return e&&r?function(e,r,n,i,a){var o,s,l,c,u,f;e||(e=[]),r*=3,n*=3;var h=i*i,p=h*i,d=1-i,g=d*d,m=g*d,v=a*a,y=1-a,x=y*y,b=y*a*2,_=-3*x,w=3*(x-b),T=3*(b-v),k=3*v;for(f=0;f<t.length;f++)o=_*(u=t[f])[n][r]+w*u[n+1][r]+T*u[n+2][r]+k*u[n+3][r],s=_*u[n][r+1]+w*u[n+1][r+1]+T*u[n+2][r+1]+k*u[n+3][r+1],l=_*u[n][r+2]+w*u[n+1][r+2]+T*u[n+2][r+2]+k*u[n+3][r+2],c=_*u[n][r+3]+w*u[n+1][r+3]+T*u[n+2][r+3]+k*u[n+3][r+3],e[f]=m*o+3*(g*i*s+d*h*l)+p*c;return e}:e?function(e,r,n,i,a){var o,s,l,c,u,f;e||(e=[]),r*=3;var h=a*a,p=h*a,d=1-a,g=d*d,m=g*d;for(u=0;u<t.length;u++)o=(f=t[u])[n+1][r]-f[n][r],s=f[n+1][r+1]-f[n][r+1],l=f[n+1][r+2]-f[n][r+2],c=f[n+1][r+3]-f[n][r+3],e[u]=m*o+3*(g*a*s+d*h*l)+p*c;return e}:r?function(e,r,n,i,a){var o,s,l,c;e||(e=[]),n*=3;var u=1-i,f=a*a,h=1-a,p=h*h,d=h*a*2,g=-3*p,m=3*(p-d),v=3*(d-f),y=3*f;for(l=0;l<t.length;l++)o=g*(c=t[l])[n][r]+m*c[n+1][r]+v*c[n+2][r]+y*c[n+3][r],s=g*c[n][r+1]+m*c[n+1][r+1]+v*c[n+2][r+1]+y*c[n+3][r+1],e[l]=u*o+i*s;return e}:function(e,r,n,i,a){var o,s,l,c;e||(e=[]);var u=1-i;for(l=0;l<t.length;l++)o=(c=t[l])[n+1][r]-c[n][r],s=c[n+1][r+1]-c[n][r+1],e[l]=u*o+i*s;return e}}},{}],978:[function(t,e,r){"use strict";e.exports=function(t,e,r,n,i){var a=e-2,o=r-2;return n&&i?function(e,r,n){var i,s,l,c,u,f;e||(e=[]);var h=Math.max(0,Math.min(Math.floor(r),a)),p=Math.max(0,Math.min(Math.floor(n),o)),d=Math.max(0,Math.min(1,r-h)),g=Math.max(0,Math.min(1,n-p));h*=3,p*=3;var m=d*d,v=m*d,y=1-d,x=y*y,b=x*y,_=g*g,w=_*g,T=1-g,k=T*T,M=k*T;for(f=0;f<t.length;f++)i=b*(u=t[f])[p][h]+3*(x*d*u[p][h+1]+y*m*u[p][h+2])+v*u[p][h+3],s=b*u[p+1][h]+3*(x*d*u[p+1][h+1]+y*m*u[p+1][h+2])+v*u[p+1][h+3],l=b*u[p+2][h]+3*(x*d*u[p+2][h+1]+y*m*u[p+2][h+2])+v*u[p+2][h+3],c=b*u[p+3][h]+3*(x*d*u[p+3][h+1]+y*m*u[p+3][h+2])+v*u[p+3][h+3],e[f]=M*i+3*(k*g*s+T*_*l)+w*c;return e}:n?function(e,r,n){e||(e=[]);var i,s,l,c,u,f,h=Math.max(0,Math.min(Math.floor(r),a)),p=Math.max(0,Math.min(Math.floor(n),o)),d=Math.max(0,Math.min(1,r-h)),g=Math.max(0,Math.min(1,n-p));h*=3;var m=d*d,v=m*d,y=1-d,x=y*y,b=x*y,_=1-g;for(u=0;u<t.length;u++)i=_*(f=t[u])[p][h]+g*f[p+1][h],s=_*f[p][h+1]+g*f[p+1][h+1],l=_*f[p][h+2]+g*f[p+1][h+1],c=_*f[p][h+3]+g*f[p+1][h+1],e[u]=b*i+3*(x*d*s+y*m*l)+v*c;return e}:i?function(e,r,n){e||(e=[]);var i,s,l,c,u,f,h=Math.max(0,Math.min(Math.floor(r),a)),p=Math.max(0,Math.min(Math.floor(n),o)),d=Math.max(0,Math.min(1,r-h)),g=Math.max(0,Math.min(1,n-p));p*=3;var m=g*g,v=m*g,y=1-g,x=y*y,b=x*y,_=1-d;for(u=0;u<t.length;u++)i=_*(f=t[u])[p][h]+d*f[p][h+1],s=_*f[p+1][h]+d*f[p+1][h+1],l=_*f[p+2][h]+d*f[p+2][h+1],c=_*f[p+3][h]+d*f[p+3][h+1],e[u]=b*i+3*(x*g*s+y*m*l)+v*c;return e}:function(e,r,n){e||(e=[]);var i,s,l,c,u=Math.max(0,Math.min(Math.floor(r),a)),f=Math.max(0,Math.min(Math.floor(n),o)),h=Math.max(0,Math.min(1,r-u)),p=Math.max(0,Math.min(1,n-f)),d=1-p,g=1-h;for(l=0;l<t.length;l++)i=g*(c=t[l])[f][u]+h*c[f][u+1],s=g*c[f+1][u]+h*c[f+1][u+1],e[l]=d*i+p*s;return e}}},{}],979:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./xy_defaults"),a=t("./ab_defaults"),o=t("./attributes"),s=t("../../components/color/attributes");e.exports=function(t,e,r,l){function c(r,i){return n.coerce(t,e,o,r,i)}e._clipPathId="clip"+e.uid+"carpet";var u=c("color",s.defaultLine);(n.coerceFont(c,"font"),c("carpet"),a(t,e,l,c,u),e.a&&e.b)?(e.a.length<3&&(e.aaxis.smoothing=0),e.b.length<3&&(e.baxis.smoothing=0),i(t,e,c)||(e.visible=!1),e._cheater&&c("cheaterslope")):e.visible=!1}},{"../../components/color/attributes":642,"../../lib":778,"./ab_defaults":962,"./attributes":964,"./xy_defaults":988}],980:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),plot:t("./plot"),calc:t("./calc"),animatable:!0,isContainer:!0,moduleType:"trace",name:"carpet",basePlotModule:t("../../plots/cartesian"),categories:["cartesian","svg","carpet","carpetAxis","notLegendIsolatable","noMultiCategory","noHover","noSortingByValue"],meta:{}}},{"../../plots/cartesian":841,"./attributes":964,"./calc":968,"./defaults":979,"./plot":985}],981:[function(t,e,r){"use strict";e.exports=function(t,e){for(var r,n=t._fullData.length,i=0;i<n;i++){var a=t._fullData[i];if(a.index!==e.index&&("carpet"===a.type&&(r||(r=a),a.carpet===e.carpet)))return a}return r}},{}],982:[function(t,e,r){"use strict";e.exports=function(t,e,r){if(0===t.length)return"";var n,i=[],a=r?3:1;for(n=0;n<t.length;n+=a)i.push(t[n]+","+e[n]),r&&n<t.length-a&&(i.push("C"),i.push([t[n+1]+","+e[n+1],t[n+2]+","+e[n+2]+" "].join(" ")));return i.join(r?"":"L")}},{}],983:[function(t,e,r){"use strict";var n=t("../../lib").isArrayOrTypedArray;e.exports=function(t,e,r){var i;for(n(t)?t.length>e.length&&(t=t.slice(0,e.length)):t=[],i=0;i<e.length;i++)t[i]=r(e[i]);return t}},{"../../lib":778}],984:[function(t,e,r){"use strict";e.exports=function(t,e,r,n,i,a){var o=i[0]*t.dpdx(e),s=i[1]*t.dpdy(r),l=1,c=1;if(a){var u=Math.sqrt(i[0]*i[0]+i[1]*i[1]),f=Math.sqrt(a[0]*a[0]+a[1]*a[1]),h=(i[0]*a[0]+i[1]*a[1])/u/f;c=Math.max(0,h)}var p=180*Math.atan2(s,o)/Math.PI;return p<-90?(p+=180,l=-l):p>90&&(p-=180,l=-l),{angle:p,flip:l,p:t.c2p(n,e,r),offsetMultplier:c}}},{}],985:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../components/drawing"),a=t("./map_1d_array"),o=t("./makepath"),s=t("./orient_text"),l=t("../../lib/svg_text_utils"),c=t("../../lib"),u=c.strRotate,f=c.strTranslate,h=t("../../constants/alignment");function p(t,e,r,i,s,l){var c="const-"+s+"-lines",u=r.selectAll("."+c).data(l);u.enter().append("path").classed(c,!0).style("vector-effect","non-scaling-stroke"),u.each((function(r){var i=r,s=i.x,l=i.y,c=a([],s,t.c2p),u=a([],l,e.c2p),f="M"+o(c,u,i.smoothing);n.select(this).attr("d",f).style("stroke-width",i.width).style("stroke",i.color).style("fill","none")})),u.exit().remove()}function d(t,e,r,a,o,c,h,p){var d=c.selectAll("text."+p).data(h);d.enter().append("text").classed(p,!0);var g=0,m={};return d.each((function(o,c){var h;if("auto"===o.axis.tickangle)h=s(a,e,r,o.xy,o.dxy);else{var p=(o.axis.tickangle+180)*Math.PI/180;h=s(a,e,r,o.xy,[Math.cos(p),Math.sin(p)])}c||(m={angle:h.angle,flip:h.flip});var d=(o.endAnchor?-1:1)*h.flip,v=n.select(this).attr({"text-anchor":d>0?"start":"end","data-notex":1}).call(i.font,o.font).text(o.text).call(l.convertToTspans,t),y=i.bBox(this);v.attr("transform",f(h.p[0],h.p[1])+u(h.angle)+f(o.axis.labelpadding*d,.3*y.height)),g=Math.max(g,y.width+o.axis.labelpadding)})),d.exit().remove(),m.maxExtent=g,m}e.exports=function(t,e,r,i){var l=e.xaxis,u=e.yaxis,f=t._fullLayout._clips;c.makeTraceGroups(i,r,"trace").each((function(e){var r=n.select(this),i=e[0],h=i.trace,g=h.aaxis,m=h.baxis,y=c.ensureSingle(r,"g","minorlayer"),x=c.ensureSingle(r,"g","majorlayer"),b=c.ensureSingle(r,"g","boundarylayer"),_=c.ensureSingle(r,"g","labellayer");r.style("opacity",h.opacity),p(l,u,x,g,"a",g._gridlines),p(l,u,x,m,"b",m._gridlines),p(l,u,y,g,"a",g._minorgridlines),p(l,u,y,m,"b",m._minorgridlines),p(l,u,b,g,"a-boundary",g._boundarylines),p(l,u,b,m,"b-boundary",m._boundarylines);var w=d(t,l,u,h,i,_,g._labels,"a-label"),T=d(t,l,u,h,i,_,m._labels,"b-label");!function(t,e,r,n,i,a,o,l){var u,f,h,p,d=c.aggNums(Math.min,null,r.a),g=c.aggNums(Math.max,null,r.a),m=c.aggNums(Math.min,null,r.b),y=c.aggNums(Math.max,null,r.b);u=.5*(d+g),f=m,h=r.ab2xy(u,f,!0),p=r.dxyda_rough(u,f),void 0===o.angle&&c.extendFlat(o,s(r,i,a,h,r.dxydb_rough(u,f)));v(t,e,r,n,h,p,r.aaxis,i,a,o,"a-title"),u=d,f=.5*(m+y),h=r.ab2xy(u,f,!0),p=r.dxydb_rough(u,f),void 0===l.angle&&c.extendFlat(l,s(r,i,a,h,r.dxyda_rough(u,f)));v(t,e,r,n,h,p,r.baxis,i,a,l,"b-title")}(t,_,h,i,l,u,w,T),function(t,e,r,n,i){var s,l,u,f,h=r.select("#"+t._clipPathId);h.size()||(h=r.append("clipPath").classed("carpetclip",!0));var p=c.ensureSingle(h,"path","carpetboundary"),d=e.clipsegments,g=[];for(f=0;f<d.length;f++)s=d[f],l=a([],s.x,n.c2p),u=a([],s.y,i.c2p),g.push(o(l,u,s.bicubic));var m="M"+g.join("L")+"Z";h.attr("id",t._clipPathId),p.attr("d",m)}(h,i,f,l,u)}))};var g=h.LINE_SPACING,m=(1-h.MID_SHIFT)/g+1;function v(t,e,r,a,o,c,h,p,d,v,y){var x=[];h.title.text&&x.push(h.title.text);var b=e.selectAll("text."+y).data(x),_=v.maxExtent;b.enter().append("text").classed(y,!0),b.each((function(){var e=s(r,p,d,o,c);-1===["start","both"].indexOf(h.showticklabels)&&(_=0);var a=h.title.font.size;_+=a+h.title.offset;var y=(v.angle+(v.flip<0?180:0)-e.angle+450)%360,x=y>90&&y<270,b=n.select(this);b.text(h.title.text).call(l.convertToTspans,t),x&&(_=(-l.lineCount(b)+m)*g*a-_),b.attr("transform",f(e.p[0],e.p[1])+u(e.angle)+f(0,_)).attr("text-anchor","middle").call(i.font,h.title.font)})),b.exit().remove()}},{"../../components/drawing":665,"../../constants/alignment":745,"../../lib":778,"../../lib/svg_text_utils":803,"./makepath":982,"./map_1d_array":983,"./orient_text":984,d3:169}],986:[function(t,e,r){"use strict";var n=t("./constants"),i=t("../../lib/search").findBin,a=t("./compute_control_points"),o=t("./create_spline_evaluator"),s=t("./create_i_derivative_evaluator"),l=t("./create_j_derivative_evaluator");e.exports=function(t){var e=t._a,r=t._b,c=e.length,u=r.length,f=t.aaxis,h=t.baxis,p=e[0],d=e[c-1],g=r[0],m=r[u-1],v=e[e.length-1]-e[0],y=r[r.length-1]-r[0],x=v*n.RELATIVE_CULL_TOLERANCE,b=y*n.RELATIVE_CULL_TOLERANCE;p-=x,d+=x,g-=b,m+=b,t.isVisible=function(t,e){return t>p&&t<d&&e>g&&e<m},t.isOccluded=function(t,e){return t<p||t>d||e<g||e>m},t.setScale=function(){var e=t._x,r=t._y,n=a(t._xctrl,t._yctrl,e,r,f.smoothing,h.smoothing);t._xctrl=n[0],t._yctrl=n[1],t.evalxy=o([t._xctrl,t._yctrl],c,u,f.smoothing,h.smoothing),t.dxydi=s([t._xctrl,t._yctrl],f.smoothing,h.smoothing),t.dxydj=l([t._xctrl,t._yctrl],f.smoothing,h.smoothing)},t.i2a=function(t){var r=Math.max(0,Math.floor(t[0]),c-2),n=t[0]-r;return(1-n)*e[r]+n*e[r+1]},t.j2b=function(t){var e=Math.max(0,Math.floor(t[1]),c-2),n=t[1]-e;return(1-n)*r[e]+n*r[e+1]},t.ij2ab=function(e){return[t.i2a(e[0]),t.j2b(e[1])]},t.a2i=function(t){var r=Math.max(0,Math.min(i(t,e),c-2)),n=e[r],a=e[r+1];return Math.max(0,Math.min(c-1,r+(t-n)/(a-n)))},t.b2j=function(t){var e=Math.max(0,Math.min(i(t,r),u-2)),n=r[e],a=r[e+1];return Math.max(0,Math.min(u-1,e+(t-n)/(a-n)))},t.ab2ij=function(e){return[t.a2i(e[0]),t.b2j(e[1])]},t.i2c=function(e,r){return t.evalxy([],e,r)},t.ab2xy=function(n,i,a){if(!a&&(n<e[0]||n>e[c-1]|i<r[0]||i>r[u-1]))return[!1,!1];var o=t.a2i(n),s=t.b2j(i),l=t.evalxy([],o,s);if(a){var f,h,p,d,g=0,m=0,v=[];n<e[0]?(f=0,h=0,g=(n-e[0])/(e[1]-e[0])):n>e[c-1]?(f=c-2,h=1,g=(n-e[c-1])/(e[c-1]-e[c-2])):h=o-(f=Math.max(0,Math.min(c-2,Math.floor(o)))),i<r[0]?(p=0,d=0,m=(i-r[0])/(r[1]-r[0])):i>r[u-1]?(p=u-2,d=1,m=(i-r[u-1])/(r[u-1]-r[u-2])):d=s-(p=Math.max(0,Math.min(u-2,Math.floor(s)))),g&&(t.dxydi(v,f,p,h,d),l[0]+=v[0]*g,l[1]+=v[1]*g),m&&(t.dxydj(v,f,p,h,d),l[0]+=v[0]*m,l[1]+=v[1]*m)}return l},t.c2p=function(t,e,r){return[e.c2p(t[0]),r.c2p(t[1])]},t.p2x=function(t,e,r){return[e.p2c(t[0]),r.p2c(t[1])]},t.dadi=function(t){var r=Math.max(0,Math.min(e.length-2,t));return e[r+1]-e[r]},t.dbdj=function(t){var e=Math.max(0,Math.min(r.length-2,t));return r[e+1]-r[e]},t.dxyda=function(e,r,n,i){var a=t.dxydi(null,e,r,n,i),o=t.dadi(e,n);return[a[0]/o,a[1]/o]},t.dxydb=function(e,r,n,i){var a=t.dxydj(null,e,r,n,i),o=t.dbdj(r,i);return[a[0]/o,a[1]/o]},t.dxyda_rough=function(e,r,n){var i=v*(n||.1),a=t.ab2xy(e+i,r,!0),o=t.ab2xy(e-i,r,!0);return[.5*(a[0]-o[0])/i,.5*(a[1]-o[1])/i]},t.dxydb_rough=function(e,r,n){var i=y*(n||.1),a=t.ab2xy(e,r+i,!0),o=t.ab2xy(e,r-i,!0);return[.5*(a[0]-o[0])/i,.5*(a[1]-o[1])/i]},t.dpdx=function(t){return t._m},t.dpdy=function(t){return t._m}}},{"../../lib/search":798,"./compute_control_points":974,"./constants":975,"./create_i_derivative_evaluator":976,"./create_j_derivative_evaluator":977,"./create_spline_evaluator":978}],987:[function(t,e,r){"use strict";var n=t("../../lib");e.exports=function(t,e,r){var i,a,o,s=[],l=[],c=t[0].length,u=t.length;function f(e,r){var n,i=0,a=0;return e>0&&void 0!==(n=t[r][e-1])&&(a++,i+=n),e<c-1&&void 0!==(n=t[r][e+1])&&(a++,i+=n),r>0&&void 0!==(n=t[r-1][e])&&(a++,i+=n),r<u-1&&void 0!==(n=t[r+1][e])&&(a++,i+=n),i/Math.max(1,a)}var h,p,d,g,m,v,y,x,b,_,w,T=0;for(i=0;i<c;i++)for(a=0;a<u;a++)void 0===t[a][i]&&(s.push(i),l.push(a),t[a][i]=f(i,a)),T=Math.max(T,Math.abs(t[a][i]));if(!s.length)return t;var k=0,M=0,A=s.length;do{for(k=0,o=0;o<A;o++){i=s[o],a=l[o];var S,E,C,L,I,P,z=0,O=0;0===i?(C=e[I=Math.min(c-1,2)],L=e[1],S=t[a][I],O+=(E=t[a][1])+(E-S)*(e[0]-L)/(L-C),z++):i===c-1&&(C=e[I=Math.max(0,c-3)],L=e[c-2],S=t[a][I],O+=(E=t[a][c-2])+(E-S)*(e[c-1]-L)/(L-C),z++),(0===i||i===c-1)&&a>0&&a<u-1&&(h=r[a+1]-r[a],O+=((p=r[a]-r[a-1])*t[a+1][i]+h*t[a-1][i])/(p+h),z++),0===a?(C=r[P=Math.min(u-1,2)],L=r[1],S=t[P][i],O+=(E=t[1][i])+(E-S)*(r[0]-L)/(L-C),z++):a===u-1&&(C=r[P=Math.max(0,u-3)],L=r[u-2],S=t[P][i],O+=(E=t[u-2][i])+(E-S)*(r[u-1]-L)/(L-C),z++),(0===a||a===u-1)&&i>0&&i<c-1&&(h=e[i+1]-e[i],O+=((p=e[i]-e[i-1])*t[a][i+1]+h*t[a][i-1])/(p+h),z++),z?O/=z:(d=e[i+1]-e[i],g=e[i]-e[i-1],x=(m=r[a+1]-r[a])*(v=r[a]-r[a-1])*(m+v),O=((y=d*g*(d+g))*(v*t[a+1][i]+m*t[a-1][i])+x*(g*t[a][i+1]+d*t[a][i-1]))/(x*(g+d)+y*(v+m))),k+=(_=(b=O-t[a][i])/T)*_,w=z?0:.85,t[a][i]+=b*(1+w)}k=Math.sqrt(k)}while(M++<100&&k>1e-5);return n.log("Smoother converged to",k,"after",M,"iterations"),t}},{"../../lib":778}],988:[function(t,e,r){"use strict";var n=t("../../lib").isArray1D;e.exports=function(t,e,r){var i=r("x"),a=i&&i.length,o=r("y"),s=o&&o.length;if(!a&&!s)return!1;if(e._cheater=!i,a&&!n(i)||s&&!n(o))e._length=null;else{var l=a?i.length:1/0;s&&(l=Math.min(l,o.length)),e.a&&e.a.length&&(l=Math.min(l,e.a.length)),e.b&&e.b.length&&(l=Math.min(l,e.b.length)),e._length=l}return!0}},{"../../lib":778}],989:[function(t,e,r){"use strict";var n=t("../../plots/template_attributes").hovertemplateAttrs,i=t("../scattergeo/attributes"),a=t("../../components/colorscale/attributes"),o=t("../../plots/attributes"),s=t("../../components/color/attributes").defaultLine,l=t("../../lib/extend").extendFlat,c=i.marker.line;e.exports=l({locations:{valType:"data_array",editType:"calc"},locationmode:i.locationmode,z:{valType:"data_array",editType:"calc"},geojson:l({},i.geojson,{}),featureidkey:i.featureidkey,text:l({},i.text,{}),hovertext:l({},i.hovertext,{}),marker:{line:{color:l({},c.color,{dflt:s}),width:l({},c.width,{dflt:1}),editType:"calc"},opacity:{valType:"number",arrayOk:!0,min:0,max:1,dflt:1,editType:"style"},editType:"calc"},selected:{marker:{opacity:i.selected.marker.opacity,editType:"plot"},editType:"plot"},unselected:{marker:{opacity:i.unselected.marker.opacity,editType:"plot"},editType:"plot"},hoverinfo:l({},o.hoverinfo,{editType:"calc",flags:["location","z","text","name"]}),hovertemplate:n(),showlegend:l({},o.showlegend,{dflt:!1})},a("",{cLetter:"z",editTypeOverride:"calc"}))},{"../../components/color/attributes":642,"../../components/colorscale/attributes":650,"../../lib/extend":768,"../../plots/attributes":824,"../../plots/template_attributes":906,"../scattergeo/attributes":1229}],990:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../constants/numerical").BADNUM,a=t("../../components/colorscale/calc"),o=t("../scatter/arrays_to_calcdata"),s=t("../scatter/calc_selection");function l(t){return t&&"string"==typeof t}e.exports=function(t,e){var r,c=e._length,u=new Array(c);r=e.geojson?function(t){return l(t)||n(t)}:l;for(var f=0;f<c;f++){var h=u[f]={},p=e.locations[f],d=e.z[f];r(p)&&n(d)?(h.loc=p,h.z=d):(h.loc=null,h.z=i),h.index=f}return o(u,e),a(t,e,{vals:e.z,containerStr:"",cLetter:"z"}),s(u,e),u}},{"../../components/colorscale/calc":651,"../../constants/numerical":753,"../scatter/arrays_to_calcdata":1186,"../scatter/calc_selection":1189,"fast-isnumeric":241}],991:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../components/colorscale/defaults"),a=t("./attributes");e.exports=function(t,e,r,o){function s(r,i){return n.coerce(t,e,a,r,i)}var l=s("locations"),c=s("z");if(l&&l.length&&n.isArrayOrTypedArray(c)&&c.length){e._length=Math.min(l.length,c.length);var u,f=s("geojson");("string"==typeof f&&""!==f||n.isPlainObject(f))&&(u="geojson-id"),"geojson-id"===s("locationmode",u)&&s("featureidkey"),s("text"),s("hovertext"),s("hovertemplate"),s("marker.line.width")&&s("marker.line.color"),s("marker.opacity"),i(t,e,o,s,{prefix:"",cLetter:"z"}),n.coerceSelectionMarkerOpacity(e,s)}else e.visible=!1}},{"../../components/colorscale/defaults":653,"../../lib":778,"./attributes":989}],992:[function(t,e,r){"use strict";e.exports=function(t,e,r,n,i){t.location=e.location,t.z=e.z;var a=n[i];return a.fIn&&a.fIn.properties&&(t.properties=a.fIn.properties),t.ct=a.ct,t}},{}],993:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes"),i=t("./attributes"),a=t("../../lib").fillText;e.exports=function(t,e,r){var o,s,l,c,u=t.cd,f=u[0].trace,h=t.subplot,p=[e,r],d=[e+360,r];for(s=0;s<u.length;s++)if(c=!1,(o=u[s])._polygons){for(l=0;l<o._polygons.length;l++)o._polygons[l].contains(p)&&(c=!c),o._polygons[l].contains(d)&&(c=!c);if(c)break}if(c&&o)return t.x0=t.x1=t.xa.c2p(o.ct),t.y0=t.y1=t.ya.c2p(o.ct),t.index=o.index,t.location=o.loc,t.z=o.z,t.zLabel=n.tickText(h.mockAxis,h.mockAxis.c2l(o.z),"hover").text,t.hovertemplate=o.hovertemplate,function(t,e,r){if(e.hovertemplate)return;var n=r.hi||e.hoverinfo,o=String(r.loc),s="all"===n?i.hoverinfo.flags:n.split("+"),l=-1!==s.indexOf("name"),c=-1!==s.indexOf("location"),u=-1!==s.indexOf("z"),f=-1!==s.indexOf("text"),h=[];!l&&c?t.nameOverride=o:(l&&(t.nameOverride=e.name),c&&h.push(o));u&&h.push(t.zLabel);f&&a(r,e,h);t.extraText=h.join("<br>")}(t,f,o),[t]}},{"../../lib":778,"../../plots/cartesian/axes":828,"./attributes":989}],994:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),colorbar:t("../heatmap/colorbar"),calc:t("./calc"),calcGeoJSON:t("./plot").calcGeoJSON,plot:t("./plot").plot,style:t("./style").style,styleOnSelect:t("./style").styleOnSelect,hoverPoints:t("./hover"),eventData:t("./event_data"),selectPoints:t("./select"),moduleType:"trace",name:"choropleth",basePlotModule:t("../../plots/geo"),categories:["geo","noOpacity","showLegend"],meta:{}}},{"../../plots/geo":860,"../heatmap/colorbar":1068,"./attributes":989,"./calc":990,"./defaults":991,"./event_data":992,"./hover":993,"./plot":995,"./select":996,"./style":997}],995:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../lib"),a=t("../../lib/geo_location_utils"),o=t("../../lib/topojson_utils").getTopojsonFeatures,s=t("../../plots/cartesian/autorange").findExtremes,l=t("./style").style;e.exports={calcGeoJSON:function(t,e){for(var r=t[0].trace,n=e[r.geo],i=n._subplot,l=r.locationmode,c=r._length,u="geojson-id"===l?a.extractTraceFeature(t):o(r,i.topojson),f=[],h=[],p=0;p<c;p++){var d=t[p],g="geojson-id"===l?d.fOut:a.locationToFeature(l,d.loc,u);if(g){d.geojson=g,d.ct=g.properties.ct,d._polygons=a.feature2polygons(g);var m=a.computeBbox(g);f.push(m[0],m[2]),h.push(m[1],m[3])}else d.geojson=null}if("geojson"===n.fitbounds&&"geojson-id"===l){var v=a.computeBbox(a.getTraceGeojson(r));f=[v[0],v[2]],h=[v[1],v[3]]}var y={padded:!0};r._extremes.lon=s(n.lonaxis._ax,f,y),r._extremes.lat=s(n.lataxis._ax,h,y)},plot:function(t,e,r){var a=e.layers.backplot.select(".choroplethlayer");i.makeTraceGroups(a,r,"trace choropleth").each((function(e){var r=n.select(this).selectAll("path.choroplethlocation").data(i.identity);r.enter().append("path").classed("choroplethlocation",!0),r.exit().remove(),l(t,e)}))}}},{"../../lib":778,"../../lib/geo_location_utils":771,"../../lib/topojson_utils":806,"../../plots/cartesian/autorange":827,"./style":997,d3:169}],996:[function(t,e,r){"use strict";e.exports=function(t,e){var r,n,i,a,o,s=t.cd,l=t.xaxis,c=t.yaxis,u=[];if(!1===e)for(r=0;r<s.length;r++)s[r].selected=0;else for(r=0;r<s.length;r++)(i=(n=s[r]).ct)&&(a=l.c2p(i),o=c.c2p(i),e.contains([a,o],null,r,t)?(u.push({pointNumber:r,lon:i[0],lat:i[1]}),n.selected=1):n.selected=0);return u}},{}],997:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../components/color"),a=t("../../components/drawing"),o=t("../../components/colorscale");function s(t,e){var r=e[0].trace,s=e[0].node3.selectAll(".choroplethlocation"),l=r.marker||{},c=l.line||{},u=o.makeColorScaleFuncFromTrace(r);s.each((function(t){n.select(this).attr("fill",u(t.z)).call(i.stroke,t.mlc||c.color).call(a.dashLine,"",t.mlw||c.width||0).style("opacity",l.opacity)})),a.selectedPointStyle(s,r,t)}e.exports={style:function(t,e){e&&s(t,e)},styleOnSelect:function(t,e){var r=e[0].node3,n=e[0].trace;n.selectedpoints?a.selectedPointStyle(r.selectAll(".choroplethlocation"),n,t):s(t,e)}}},{"../../components/color":643,"../../components/colorscale":655,"../../components/drawing":665,d3:169}],998:[function(t,e,r){"use strict";var n=t("../choropleth/attributes"),i=t("../../components/colorscale/attributes"),a=t("../../plots/template_attributes").hovertemplateAttrs,o=t("../../plots/attributes"),s=t("../../lib/extend").extendFlat;e.exports=s({locations:{valType:"data_array",editType:"calc"},z:{valType:"data_array",editType:"calc"},geojson:{valType:"any",editType:"calc"},featureidkey:s({},n.featureidkey,{}),below:{valType:"string",editType:"plot"},text:n.text,hovertext:n.hovertext,marker:{line:{color:s({},n.marker.line.color,{editType:"plot"}),width:s({},n.marker.line.width,{editType:"plot"}),editType:"calc"},opacity:s({},n.marker.opacity,{editType:"plot"}),editType:"calc"},selected:{marker:{opacity:s({},n.selected.marker.opacity,{editType:"plot"}),editType:"plot"},editType:"plot"},unselected:{marker:{opacity:s({},n.unselected.marker.opacity,{editType:"plot"}),editType:"plot"},editType:"plot"},hoverinfo:n.hoverinfo,hovertemplate:a({},{keys:["properties"]}),showlegend:s({},o.showlegend,{dflt:!1})},i("",{cLetter:"z",editTypeOverride:"calc"}))},{"../../components/colorscale/attributes":650,"../../lib/extend":768,"../../plots/attributes":824,"../../plots/template_attributes":906,"../choropleth/attributes":989}],999:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../lib"),a=t("../../components/colorscale"),o=t("../../components/drawing"),s=t("../../lib/geojson_utils").makeBlank,l=t("../../lib/geo_location_utils");function c(t){var e,r=t[0].trace,n=r._opts;if(r.selectedpoints){for(var a=o.makeSelectedPointStyleFns(r),s=0;s<t.length;s++){var l=t[s];l.fOut&&(l.fOut.properties.mo2=a.selectedOpacityFn(l))}e={type:"identity",property:"mo2"}}else e=i.isArrayOrTypedArray(r.marker.opacity)?{type:"identity",property:"mo"}:r.marker.opacity;return i.extendFlat(n.fill.paint,{"fill-opacity":e}),i.extendFlat(n.line.paint,{"line-opacity":e}),n}e.exports={convert:function(t){var e=t[0].trace,r=!0===e.visible&&0!==e._length,o={layout:{visibility:"none"},paint:{}},u={layout:{visibility:"none"},paint:{}},f=e._opts={fill:o,line:u,geojson:s()};if(!r)return f;var h=l.extractTraceFeature(t);if(!h)return f;var p,d,g,m=a.makeColorScaleFuncFromTrace(e),v=e.marker,y=v.line||{};i.isArrayOrTypedArray(v.opacity)&&(p=function(t){var e=t.mo;return n(e)?+i.constrain(e,0,1):0}),i.isArrayOrTypedArray(y.color)&&(d=function(t){return t.mlc}),i.isArrayOrTypedArray(y.width)&&(g=function(t){return t.mlw});for(var x=0;x<t.length;x++){var b=t[x],_=b.fOut;if(_){var w=_.properties;w.fc=m(b.z),p&&(w.mo=p(b)),d&&(w.mlc=d(b)),g&&(w.mlw=g(b)),b.ct=w.ct,b._polygons=l.feature2polygons(_)}}var T=p?{type:"identity",property:"mo"}:v.opacity;return i.extendFlat(o.paint,{"fill-color":{type:"identity",property:"fc"},"fill-opacity":T}),i.extendFlat(u.paint,{"line-color":d?{type:"identity",property:"mlc"}:y.color,"line-width":g?{type:"identity",property:"mlw"}:y.width,"line-opacity":T}),o.layout.visibility="visible",u.layout.visibility="visible",f.geojson={type:"FeatureCollection",features:h},c(t),f},convertOnSelect:c}},{"../../components/colorscale":655,"../../components/drawing":665,"../../lib":778,"../../lib/geo_location_utils":771,"../../lib/geojson_utils":772,"fast-isnumeric":241}],1e3:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../components/colorscale/defaults"),a=t("./attributes");e.exports=function(t,e,r,o){function s(r,i){return n.coerce(t,e,a,r,i)}var l=s("locations"),c=s("z"),u=s("geojson");n.isArrayOrTypedArray(l)&&l.length&&n.isArrayOrTypedArray(c)&&c.length&&("string"==typeof u&&""!==u||n.isPlainObject(u))?(s("featureidkey"),e._length=Math.min(l.length,c.length),s("below"),s("text"),s("hovertext"),s("hovertemplate"),s("marker.line.width")&&s("marker.line.color"),s("marker.opacity"),i(t,e,o,s,{prefix:"",cLetter:"z"}),n.coerceSelectionMarkerOpacity(e,s)):e.visible=!1}},{"../../components/colorscale/defaults":653,"../../lib":778,"./attributes":998}],1001:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),colorbar:t("../heatmap/colorbar"),calc:t("../choropleth/calc"),plot:t("./plot"),hoverPoints:t("../choropleth/hover"),eventData:t("../choropleth/event_data"),selectPoints:t("../choropleth/select"),styleOnSelect:function(t,e){e&&e[0].trace._glTrace.updateOnSelect(e)},getBelow:function(t,e){for(var r=e.getMapLayers(),n=r.length-2;n>=0;n--){var i=r[n].id;if("string"==typeof i&&0===i.indexOf("water"))for(var a=n+1;a<r.length;a++)if("string"==typeof(i=r[a].id)&&-1===i.indexOf("plotly-"))return i}},moduleType:"trace",name:"choroplethmapbox",basePlotModule:t("../../plots/mapbox"),categories:["mapbox","gl","noOpacity","showLegend"],meta:{hr_name:"choropleth_mapbox"}}},{"../../plots/mapbox":885,"../choropleth/calc":990,"../choropleth/event_data":992,"../choropleth/hover":993,"../choropleth/select":996,"../heatmap/colorbar":1068,"./attributes":998,"./defaults":1e3,"./plot":1002}],1002:[function(t,e,r){"use strict";var n=t("./convert").convert,i=t("./convert").convertOnSelect,a=t("../../plots/mapbox/constants").traceLayerPrefix;function o(t,e){this.type="choroplethmapbox",this.subplot=t,this.uid=e,this.sourceId="source-"+e,this.layerList=[["fill",a+e+"-fill"],["line",a+e+"-line"]],this.below=null}var s=o.prototype;s.update=function(t){this._update(n(t))},s.updateOnSelect=function(t){this._update(i(t))},s._update=function(t){var e=this.subplot,r=this.layerList,n=e.belowLookup["trace-"+this.uid];e.map.getSource(this.sourceId).setData(t.geojson),n!==this.below&&(this._removeLayers(),this._addLayers(t,n),this.below=n);for(var i=0;i<r.length;i++){var a=r[i],o=a[0],s=a[1],l=t[o];e.setOptions(s,"setLayoutProperty",l.layout),"visible"===l.layout.visibility&&e.setOptions(s,"setPaintProperty",l.paint)}},s._addLayers=function(t,e){for(var r=this.subplot,n=this.layerList,i=this.sourceId,a=0;a<n.length;a++){var o=n[a],s=o[0],l=t[s];r.addLayer({type:s,id:o[1],source:i,layout:l.layout,paint:l.paint},e)}},s._removeLayers=function(){for(var t=this.subplot.map,e=this.layerList,r=e.length-1;r>=0;r--)t.removeLayer(e[r][1])},s.dispose=function(){var t=this.subplot.map;this._removeLayers(),t.removeSource(this.sourceId)},e.exports=function(t,e){var r=e[0].trace,i=new o(t,r.uid),a=i.sourceId,s=n(e),l=i.below=t.belowLookup["trace-"+r.uid];return t.map.addSource(a,{type:"geojson",data:s.geojson}),i._addLayers(s,l),e[0].trace._glTrace=i,i}},{"../../plots/mapbox/constants":883,"./convert":999}],1003:[function(t,e,r){"use strict";var n=t("../../components/colorscale/attributes"),i=t("../../plots/template_attributes").hovertemplateAttrs,a=t("../mesh3d/attributes"),o=t("../../plots/attributes"),s=t("../../lib/extend").extendFlat,l={x:{valType:"data_array",editType:"calc+clearAxisTypes"},y:{valType:"data_array",editType:"calc+clearAxisTypes"},z:{valType:"data_array",editType:"calc+clearAxisTypes"},u:{valType:"data_array",editType:"calc"},v:{valType:"data_array",editType:"calc"},w:{valType:"data_array",editType:"calc"},sizemode:{valType:"enumerated",values:["scaled","absolute"],editType:"calc",dflt:"scaled"},sizeref:{valType:"number",editType:"calc",min:0},anchor:{valType:"enumerated",editType:"calc",values:["tip","tail","cm","center"],dflt:"cm"},text:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},hovertemplate:i({editType:"calc"},{keys:["norm"]}),showlegend:s({},o.showlegend,{dflt:!1})};s(l,n("",{colorAttr:"u/v/w norm",showScaleDflt:!0,editTypeOverride:"calc"}));["opacity","lightposition","lighting"].forEach((function(t){l[t]=a[t]})),l.hoverinfo=s({},o.hoverinfo,{editType:"calc",flags:["x","y","z","u","v","w","norm","text","name"],dflt:"x+y+z+norm+text+name"}),l.transforms=void 0,e.exports=l},{"../../components/colorscale/attributes":650,"../../lib/extend":768,"../../plots/attributes":824,"../../plots/template_attributes":906,"../mesh3d/attributes":1128}],1004:[function(t,e,r){"use strict";var n=t("../../components/colorscale/calc");e.exports=function(t,e){for(var r=e.u,i=e.v,a=e.w,o=Math.min(e.x.length,e.y.length,e.z.length,r.length,i.length,a.length),s=-1/0,l=1/0,c=0;c<o;c++){var u=r[c],f=i[c],h=a[c],p=Math.sqrt(u*u+f*f+h*h);s=Math.max(s,p),l=Math.min(l,p)}e._len=o,e._normMax=s,n(t,e,{vals:[l,s],containerStr:"",cLetter:"c"})}},{"../../components/colorscale/calc":651}],1005:[function(t,e,r){"use strict";var n=t("gl-cone3d"),i=t("gl-cone3d").createConeMesh,a=t("../../lib").simpleMap,o=t("../../lib/gl_format_color").parseColorScale,s=t("../../components/colorscale").extractOpts,l=t("../../plots/gl3d/zip3");function c(t,e){this.scene=t,this.uid=e,this.mesh=null,this.data=null}var u=c.prototype;u.handlePick=function(t){if(t.object===this.mesh){var e=t.index=t.data.index,r=this.data.x[e],n=this.data.y[e],i=this.data.z[e],a=this.data.u[e],o=this.data.v[e],s=this.data.w[e];t.traceCoordinate=[r,n,i,a,o,s,Math.sqrt(a*a+o*o+s*s)];var l=this.data.hovertext||this.data.text;return Array.isArray(l)&&void 0!==l[e]?t.textLabel=l[e]:l&&(t.textLabel=l),!0}};var f={xaxis:0,yaxis:1,zaxis:2},h={tip:1,tail:0,cm:.25,center:.5},p={tip:1,tail:1,cm:.75,center:.5};function d(t,e){var r=t.fullSceneLayout,i=t.dataScale,c={};function u(t,e){var n=r[e],o=i[f[e]];return a(t,(function(t){return n.d2l(t)*o}))}c.vectors=l(u(e.u,"xaxis"),u(e.v,"yaxis"),u(e.w,"zaxis"),e._len),c.positions=l(u(e.x,"xaxis"),u(e.y,"yaxis"),u(e.z,"zaxis"),e._len);var d=s(e);c.colormap=o(e),c.vertexIntensityBounds=[d.min/e._normMax,d.max/e._normMax],c.coneOffset=h[e.anchor],"scaled"===e.sizemode?c.coneSize=e.sizeref||.5:c.coneSize=e.sizeref&&e._normMax?e.sizeref/e._normMax:.5;var g=n(c),m=e.lightposition;return g.lightPosition=[m.x,m.y,m.z],g.ambient=e.lighting.ambient,g.diffuse=e.lighting.diffuse,g.specular=e.lighting.specular,g.roughness=e.lighting.roughness,g.fresnel=e.lighting.fresnel,g.opacity=e.opacity,e._pad=p[e.anchor]*g.vectorScale*g.coneScale*e._normMax,g}u.update=function(t){this.data=t;var e=d(this.scene,t);this.mesh.update(e)},u.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()},e.exports=function(t,e){var r=t.glplot.gl,n=d(t,e),a=i(r,n),o=new c(t,e.uid);return o.mesh=a,o.data=e,a._trace=o,t.glplot.add(a),o}},{"../../components/colorscale":655,"../../lib":778,"../../lib/gl_format_color":774,"../../plots/gl3d/zip3":881,"gl-cone3d":260}],1006:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../components/colorscale/defaults"),a=t("./attributes");e.exports=function(t,e,r,o){function s(r,i){return n.coerce(t,e,a,r,i)}var l=s("u"),c=s("v"),u=s("w"),f=s("x"),h=s("y"),p=s("z");l&&l.length&&c&&c.length&&u&&u.length&&f&&f.length&&h&&h.length&&p&&p.length?(s("sizeref"),s("sizemode"),s("anchor"),s("lighting.ambient"),s("lighting.diffuse"),s("lighting.specular"),s("lighting.roughness"),s("lighting.fresnel"),s("lightposition.x"),s("lightposition.y"),s("lightposition.z"),i(t,e,o,s,{prefix:"",cLetter:"c"}),s("text"),s("hovertext"),s("hovertemplate"),e._length=null):e.visible=!1}},{"../../components/colorscale/defaults":653,"../../lib":778,"./attributes":1003}],1007:[function(t,e,r){"use strict";e.exports={moduleType:"trace",name:"cone",basePlotModule:t("../../plots/gl3d"),categories:["gl3d","showLegend"],attributes:t("./attributes"),supplyDefaults:t("./defaults"),colorbar:{min:"cmin",max:"cmax"},calc:t("./calc"),plot:t("./convert"),eventData:function(t,e){return t.norm=e.traceCoordinate[6],t},meta:{}}},{"../../plots/gl3d":870,"./attributes":1003,"./calc":1004,"./convert":1005,"./defaults":1006}],1008:[function(t,e,r){"use strict";var n=t("../heatmap/attributes"),i=t("../scatter/attributes"),a=t("../../components/colorscale/attributes"),o=t("../../components/drawing/attributes").dash,s=t("../../plots/font_attributes"),l=t("../../lib/extend").extendFlat,c=t("../../constants/filter_ops"),u=c.COMPARISON_OPS2,f=c.INTERVAL_OPS,h=(t("../../constants/docs").FORMAT_LINK,i.line);e.exports=l({z:n.z,x:n.x,x0:n.x0,dx:n.dx,y:n.y,y0:n.y0,dy:n.dy,xperiod:n.xperiod,yperiod:n.yperiod,xperiod0:i.xperiod0,yperiod0:i.yperiod0,xperiodalignment:n.xperiodalignment,yperiodalignment:n.yperiodalignment,text:n.text,hovertext:n.hovertext,transpose:n.transpose,xtype:n.xtype,ytype:n.ytype,zhoverformat:n.zhoverformat,hovertemplate:n.hovertemplate,hoverongaps:n.hoverongaps,connectgaps:l({},n.connectgaps,{}),fillcolor:{valType:"color",editType:"calc"},autocontour:{valType:"boolean",dflt:!0,editType:"calc",impliedEdits:{"contours.start":void 0,"contours.end":void 0,"contours.size":void 0}},ncontours:{valType:"integer",dflt:15,min:1,editType:"calc"},contours:{type:{valType:"enumerated",values:["levels","constraint"],dflt:"levels",editType:"calc"},start:{valType:"number",dflt:null,editType:"plot",impliedEdits:{"^autocontour":!1}},end:{valType:"number",dflt:null,editType:"plot",impliedEdits:{"^autocontour":!1}},size:{valType:"number",dflt:null,min:0,editType:"plot",impliedEdits:{"^autocontour":!1}},coloring:{valType:"enumerated",values:["fill","heatmap","lines","none"],dflt:"fill",editType:"calc"},showlines:{valType:"boolean",dflt:!0,editType:"plot"},showlabels:{valType:"boolean",dflt:!1,editType:"plot"},labelfont:s({editType:"plot",colorEditType:"style"}),labelformat:{valType:"string",dflt:"",editType:"plot"},operation:{valType:"enumerated",values:[].concat(u).concat(f),dflt:"=",editType:"calc"},value:{valType:"any",dflt:0,editType:"calc"},editType:"calc",impliedEdits:{autocontour:!1}},line:{color:l({},h.color,{editType:"style+colorbars"}),width:{valType:"number",min:0,editType:"style+colorbars"},dash:o,smoothing:l({},h.smoothing,{}),editType:"plot"}},a("",{cLetter:"z",autoColorDflt:!1,editTypeOverride:"calc"}))},{"../../components/colorscale/attributes":650,"../../components/drawing/attributes":664,"../../constants/docs":748,"../../constants/filter_ops":749,"../../lib/extend":768,"../../plots/font_attributes":856,"../heatmap/attributes":1065,"../scatter/attributes":1187}],1009:[function(t,e,r){"use strict";var n=t("../../components/colorscale"),i=t("../heatmap/calc"),a=t("./set_contours"),o=t("./end_plus");e.exports=function(t,e){var r=i(t,e),s=r[0].z;a(e,s);var l,c=e.contours,u=n.extractOpts(e);if("heatmap"===c.coloring&&u.auto&&!1===e.autocontour){var f=c.start,h=o(c),p=c.size||1,d=Math.floor((h-f)/p)+1;isFinite(p)||(p=1,d=1);var g=f-p/2;l=[g,g+d*p]}else l=s;return n.calc(t,e,{vals:l,cLetter:"z"}),r}},{"../../components/colorscale":655,"../heatmap/calc":1066,"./end_plus":1019,"./set_contours":1027}],1010:[function(t,e,r){"use strict";e.exports=function(t,e){var r,n=t[0],i=n.z;switch(e.type){case"levels":var a=Math.min(i[0][0],i[0][1]);for(r=0;r<t.length;r++){var o=t[r];o.prefixBoundary=!o.edgepaths.length&&(a>o.level||o.starts.length&&a===o.level)}break;case"constraint":if(n.prefixBoundary=!1,n.edgepaths.length)return;var s=n.x.length,l=n.y.length,c=-1/0,u=1/0;for(r=0;r<l;r++)u=Math.min(u,i[r][0]),u=Math.min(u,i[r][s-1]),c=Math.max(c,i[r][0]),c=Math.max(c,i[r][s-1]);for(r=1;r<s-1;r++)u=Math.min(u,i[0][r]),u=Math.min(u,i[l-1][r]),c=Math.max(c,i[0][r]),c=Math.max(c,i[l-1][r]);var f,h,p=e.value;switch(e._operation){case">":p>c&&(n.prefixBoundary=!0);break;case"<":(p<u||n.starts.length&&p===u)&&(n.prefixBoundary=!0);break;case"[]":f=Math.min(p[0],p[1]),((h=Math.max(p[0],p[1]))<u||f>c||n.starts.length&&h===u)&&(n.prefixBoundary=!0);break;case"][":f=Math.min(p[0],p[1]),h=Math.max(p[0],p[1]),f<u&&h>c&&(n.prefixBoundary=!0)}}}},{}],1011:[function(t,e,r){"use strict";var n=t("../../components/colorscale"),i=t("./make_color_map"),a=t("./end_plus");e.exports={min:"zmin",max:"zmax",calc:function(t,e,r){var o=e.contours,s=e.line,l=o.size||1,c=o.coloring,u=i(e,{isColorbar:!0});if("heatmap"===c){var f=n.extractOpts(e);r._fillgradient=f.reversescale?n.flipScale(f.colorscale):f.colorscale,r._zrange=[f.min,f.max]}else"fill"===c&&(r._fillcolor=u);r._line={color:"lines"===c?u:s.color,width:!1!==o.showlines?s.width:0,dash:s.dash},r._levels={start:o.start,end:a(o),size:l}}}},{"../../components/colorscale":655,"./end_plus":1019,"./make_color_map":1024}],1012:[function(t,e,r){"use strict";e.exports={BOTTOMSTART:[1,9,13,104,713],TOPSTART:[4,6,7,104,713],LEFTSTART:[8,12,14,208,1114],RIGHTSTART:[2,3,11,208,1114],NEWDELTA:[null,[-1,0],[0,-1],[-1,0],[1,0],null,[0,-1],[-1,0],[0,1],[0,1],null,[0,1],[1,0],[1,0],[0,-1]],CHOOSESADDLE:{104:[4,1],208:[2,8],713:[7,13],1114:[11,14]},SADDLEREMAINDER:{1:4,2:8,4:1,7:13,8:2,11:14,13:7,14:11},LABELDISTANCE:2,LABELINCREASE:10,LABELMIN:3,LABELMAX:10,LABELOPTIMIZER:{EDGECOST:1,ANGLECOST:1,NEIGHBORCOST:5,SAMELEVELFACTOR:10,SAMELEVELDISTANCE:5,MAXCOST:100,INITIALSEARCHPOINTS:10,ITERATIONS:5}}},{}],1013:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("./label_defaults"),a=t("../../components/color"),o=a.addOpacity,s=a.opacity,l=t("../../constants/filter_ops"),c=l.CONSTRAINT_REDUCTION,u=l.COMPARISON_OPS2;e.exports=function(t,e,r,a,l,f){var h,p,d,g=e.contours,m=r("contours.operation");(g._operation=c[m],function(t,e){var r;-1===u.indexOf(e.operation)?(t("contours.value",[0,1]),Array.isArray(e.value)?e.value.length>2?e.value=e.value.slice(2):0===e.length?e.value=[0,1]:e.length<2?(r=parseFloat(e.value[0]),e.value=[r,r+1]):e.value=[parseFloat(e.value[0]),parseFloat(e.value[1])]:n(e.value)&&(r=parseFloat(e.value),e.value=[r,r+1])):(t("contours.value",0),n(e.value)||(Array.isArray(e.value)?e.value=parseFloat(e.value[0]):e.value=0))}(r,g),"="===m?h=g.showlines=!0:(h=r("contours.showlines"),d=r("fillcolor",o((t.line||{}).color||l,.5))),h)&&(p=r("line.color",d&&s(d)?o(e.fillcolor,1):l),r("line.width",2),r("line.dash"));r("line.smoothing"),i(r,a,p,f)}},{"../../components/color":643,"../../constants/filter_ops":749,"./label_defaults":1023,"fast-isnumeric":241}],1014:[function(t,e,r){"use strict";var n=t("../../constants/filter_ops"),i=t("fast-isnumeric");function a(t,e){var r,a=Array.isArray(e);function o(t){return i(t)?+t:null}return-1!==n.COMPARISON_OPS2.indexOf(t)?r=o(a?e[0]:e):-1!==n.INTERVAL_OPS.indexOf(t)?r=a?[o(e[0]),o(e[1])]:[o(e),o(e)]:-1!==n.SET_OPS.indexOf(t)&&(r=a?e.map(o):[o(e)]),r}function o(t){return function(e){e=a(t,e);var r=Math.min(e[0],e[1]),n=Math.max(e[0],e[1]);return{start:r,end:n,size:n-r}}}function s(t){return function(e){return{start:e=a(t,e),end:1/0,size:1/0}}}e.exports={"[]":o("[]"),"][":o("]["),">":s(">"),"<":s("<"),"=":s("=")}},{"../../constants/filter_ops":749,"fast-isnumeric":241}],1015:[function(t,e,r){"use strict";e.exports=function(t,e,r,n){var i=n("contours.start"),a=n("contours.end"),o=!1===i||!1===a,s=r("contours.size");!(o?e.autocontour=!0:r("autocontour",!1))&&s||r("ncontours")}},{}],1016:[function(t,e,r){"use strict";var n=t("../../lib");function i(t){return n.extendFlat({},t,{edgepaths:n.extendDeep([],t.edgepaths),paths:n.extendDeep([],t.paths),starts:n.extendDeep([],t.starts)})}e.exports=function(t,e){var r,a,o,s=function(t){return t.reverse()},l=function(t){return t};switch(e){case"=":case"<":return t;case">":for(1!==t.length&&n.warn("Contour data invalid for the specified inequality operation."),a=t[0],r=0;r<a.edgepaths.length;r++)a.edgepaths[r]=s(a.edgepaths[r]);for(r=0;r<a.paths.length;r++)a.paths[r]=s(a.paths[r]);for(r=0;r<a.starts.length;r++)a.starts[r]=s(a.starts[r]);return t;case"][":var c=s;s=l,l=c;case"[]":for(2!==t.length&&n.warn("Contour data invalid for the specified inequality range operation."),a=i(t[0]),o=i(t[1]),r=0;r<a.edgepaths.length;r++)a.edgepaths[r]=s(a.edgepaths[r]);for(r=0;r<a.paths.length;r++)a.paths[r]=s(a.paths[r]);for(r=0;r<a.starts.length;r++)a.starts[r]=s(a.starts[r]);for(;o.edgepaths.length;)a.edgepaths.push(l(o.edgepaths.shift()));for(;o.paths.length;)a.paths.push(l(o.paths.shift()));for(;o.starts.length;)a.starts.push(l(o.starts.shift()));return[a]}}},{"../../lib":778}],1017:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../heatmap/xyz_defaults"),a=t("../scatter/period_defaults"),o=t("./constraint_defaults"),s=t("./contours_defaults"),l=t("./style_defaults"),c=t("./attributes");e.exports=function(t,e,r,u){function f(r,i){return n.coerce(t,e,c,r,i)}if(i(t,e,f,u)){a(t,e,u,f),f("text"),f("hovertext"),f("hovertemplate"),f("hoverongaps");var h="constraint"===f("contours.type");f("connectgaps",n.isArray1D(e.z)),h?o(t,e,f,u,r):(s(t,e,f,(function(r){return n.coerce2(t,e,c,r)})),l(t,e,f,u))}else e.visible=!1}},{"../../lib":778,"../heatmap/xyz_defaults":1079,"../scatter/period_defaults":1207,"./attributes":1008,"./constraint_defaults":1013,"./contours_defaults":1015,"./style_defaults":1029}],1018:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./constraint_mapping"),a=t("./end_plus");e.exports=function(t,e,r){for(var o="constraint"===t.type?i[t._operation](t.value):t,s=o.size,l=[],c=a(o),u=r.trace._carpetTrace,f=u?{xaxis:u.aaxis,yaxis:u.baxis,x:r.a,y:r.b}:{xaxis:e.xaxis,yaxis:e.yaxis,x:r.x,y:r.y},h=o.start;h<c;h+=s)if(l.push(n.extendFlat({level:h,crossings:{},starts:[],edgepaths:[],paths:[],z:r.z,smoothing:r.trace.line.smoothing},f)),l.length>1e3){n.warn("Too many contours, clipping at 1000",t);break}return l}},{"../../lib":778,"./constraint_mapping":1014,"./end_plus":1019}],1019:[function(t,e,r){"use strict";e.exports=function(t){return t.end+t.size/1e6}},{}],1020:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./constants");function a(t,e,r,n){return Math.abs(t[0]-e[0])<r&&Math.abs(t[1]-e[1])<n}function o(t,e,r,o,l){var c,u=e.join(","),f=t.crossings[u],h=function(t,e,r){var n=0,a=0;t>20&&e?208===t||1114===t?n=0===r[0]?1:-1:a=0===r[1]?1:-1:-1!==i.BOTTOMSTART.indexOf(t)?a=1:-1!==i.LEFTSTART.indexOf(t)?n=1:-1!==i.TOPSTART.indexOf(t)?a=-1:n=-1;return[n,a]}(f,r,e),p=[s(t,e,[-h[0],-h[1]])],d=t.z.length,g=t.z[0].length,m=e.slice(),v=h.slice();for(c=0;c<1e4;c++){if(f>20?(f=i.CHOOSESADDLE[f][(h[0]||h[1])<0?0:1],t.crossings[u]=i.SADDLEREMAINDER[f]):delete t.crossings[u],!(h=i.NEWDELTA[f])){n.log("Found bad marching index:",f,e,t.level);break}p.push(s(t,e,h)),e[0]+=h[0],e[1]+=h[1],u=e.join(","),a(p[p.length-1],p[p.length-2],o,l)&&p.pop();var y=h[0]&&(e[0]<0||e[0]>g-2)||h[1]&&(e[1]<0||e[1]>d-2);if(e[0]===m[0]&&e[1]===m[1]&&h[0]===v[0]&&h[1]===v[1]||r&&y)break;f=t.crossings[u]}1e4===c&&n.log("Infinite loop in contour?");var x,b,_,w,T,k,M,A,S,E,C,L,I,P,z,O=a(p[0],p[p.length-1],o,l),D=0,R=.2*t.smoothing,F=[],B=0;for(c=1;c<p.length;c++)L=p[c],I=p[c-1],P=void 0,z=void 0,P=L[2]-I[2],z=L[3]-I[3],D+=M=Math.sqrt(P*P+z*z),F.push(M);var N=D/F.length*R;function j(t){return p[t%p.length]}for(c=p.length-2;c>=B;c--)if((x=F[c])<N){for(_=0,b=c-1;b>=B&&x+F[b]<N;b--)x+=F[b];if(O&&c===p.length-2)for(_=0;_<b&&x+F[_]<N;_++)x+=F[_];T=c-b+_+1,k=Math.floor((c+b+_+2)/2),w=O||c!==p.length-2?O||-1!==b?T%2?j(k):[(j(k)[0]+j(k+1)[0])/2,(j(k)[1]+j(k+1)[1])/2]:p[0]:p[p.length-1],p.splice(b+1,c-b+1,w),c=b+1,_&&(B=_),O&&(c===p.length-2?p[_]=p[p.length-1]:0===c&&(p[p.length-1]=p[0]))}for(p.splice(0,B),c=0;c<p.length;c++)p[c].length=2;if(!(p.length<2))if(O)p.pop(),t.paths.push(p);else{r||n.log("Unclosed interior contour?",t.level,m.join(","),p.join("L"));var U=!1;for(A=0;A<t.edgepaths.length;A++)if(E=t.edgepaths[A],!U&&a(E[0],p[p.length-1],o,l)){p.pop(),U=!0;var V=!1;for(S=0;S<t.edgepaths.length;S++)if(a((C=t.edgepaths[S])[C.length-1],p[0],o,l)){V=!0,p.shift(),t.edgepaths.splice(A,1),S===A?t.paths.push(p.concat(C)):(S>A&&S--,t.edgepaths[S]=C.concat(p,E));break}V||(t.edgepaths[A]=p.concat(E))}for(A=0;A<t.edgepaths.length&&!U;A++)a((E=t.edgepaths[A])[E.length-1],p[0],o,l)&&(p.shift(),t.edgepaths[A]=E.concat(p),U=!0);U||t.edgepaths.push(p)}}function s(t,e,r){var n=e[0]+Math.max(r[0],0),i=e[1]+Math.max(r[1],0),a=t.z[i][n],o=t.xaxis,s=t.yaxis;if(r[1]){var l=(t.level-a)/(t.z[i][n+1]-a);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]}e.exports=function(t,e,r){var i,a,s,l;for(e=e||.01,r=r||.01,a=0;a<t.length;a++){for(s=t[a],l=0;l<s.starts.length;l++)o(s,s.starts[l],"edge",e,r);for(i=0;Object.keys(s.crossings).length&&i<1e4;)i++,o(s,Object.keys(s.crossings)[0].split(",").map(Number),void 0,e,r);1e4===i&&n.log("Infinite loop in contour?")}}},{"../../lib":778,"./constants":1012}],1021:[function(t,e,r){"use strict";var n=t("../../components/color"),i=t("../heatmap/hover");e.exports=function(t,e,r,a,o){var s=i(t,e,r,a,o,!0);return s&&s.forEach((function(t){var e=t.trace;"constraint"===e.contours.type&&(e.fillcolor&&n.opacity(e.fillcolor)?t.color=n.addOpacity(e.fillcolor,1):e.contours.showlines&&n.opacity(e.line.color)&&(t.color=n.addOpacity(e.line.color,1)))})),s}},{"../../components/color":643,"../heatmap/hover":1072}],1022:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),calc:t("./calc"),plot:t("./plot").plot,style:t("./style"),colorbar:t("./colorbar"),hoverPoints:t("./hover"),moduleType:"trace",name:"contour",basePlotModule:t("../../plots/cartesian"),categories:["cartesian","svg","2dMap","contour","showLegend"],meta:{}}},{"../../plots/cartesian":841,"./attributes":1008,"./calc":1009,"./colorbar":1011,"./defaults":1017,"./hover":1021,"./plot":1026,"./style":1028}],1023:[function(t,e,r){"use strict";var n=t("../../lib");e.exports=function(t,e,r,i){if(i||(i={}),t("contours.showlabels")){var a=e.font;n.coerceFont(t,"contours.labelfont",{family:a.family,size:a.size,color:r}),t("contours.labelformat")}!1!==i.hasHover&&t("zhoverformat")}},{"../../lib":778}],1024:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../components/colorscale"),a=t("./end_plus");e.exports=function(t){var e=t.contours,r=e.start,o=a(e),s=e.size||1,l=Math.floor((o-r)/s)+1,c="lines"===e.coloring?0:1,u=i.extractOpts(t);isFinite(s)||(s=1,l=1);var f,h,p=u.reversescale?i.flipScale(u.colorscale):u.colorscale,d=p.length,g=new Array(d),m=new Array(d);if("heatmap"===e.coloring){var v=u.min,y=u.max;for(h=0;h<d;h++)f=p[h],g[h]=f[0]*(y-v)+v,m[h]=f[1];var x=n.extent([v,y,e.start,e.start+s*(l-1)]),b=x[v<y?0:1],_=x[v<y?1:0];b!==v&&(g.splice(0,0,b),m.splice(0,0,m[0])),_!==y&&(g.push(_),m.push(m[m.length-1]))}else for(h=0;h<d;h++)f=p[h],g[h]=(f[0]*(l+c-1)-c/2)*s+r,m[h]=f[1];return i.makeColorScaleFunc({domain:g,range:m},{noNumericCheck:!0})}},{"../../components/colorscale":655,"./end_plus":1019,d3:169}],1025:[function(t,e,r){"use strict";var n=t("./constants");function i(t,e){var r=(e[0][0]>t?0:1)+(e[0][1]>t?0:2)+(e[1][1]>t?0:4)+(e[1][0]>t?0:8);return 5===r||10===r?t>(e[0][0]+e[0][1]+e[1][0]+e[1][1])/4?5===r?713:1114:5===r?104:208:15===r?0:r}e.exports=function(t){var e,r,a,o,s,l,c,u,f,h=t[0].z,p=h.length,d=h[0].length,g=2===p||2===d;for(r=0;r<p-1;r++)for(o=[],0===r&&(o=o.concat(n.BOTTOMSTART)),r===p-2&&(o=o.concat(n.TOPSTART)),e=0;e<d-1;e++)for(a=o.slice(),0===e&&(a=a.concat(n.LEFTSTART)),e===d-2&&(a=a.concat(n.RIGHTSTART)),s=e+","+r,l=[[h[r][e],h[r][e+1]],[h[r+1][e],h[r+1][e+1]]],f=0;f<t.length;f++)(c=i((u=t[f]).level,l))&&(u.crossings[s]=c,-1!==a.indexOf(c)&&(u.starts.push([e,r]),g&&-1!==a.indexOf(c,a.indexOf(c)+1)&&u.starts.push([e,r])))}},{"./constants":1012}],1026:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../lib"),a=t("../../components/drawing"),o=t("../../components/colorscale"),s=t("../../lib/svg_text_utils"),l=t("../../plots/cartesian/axes"),c=t("../../plots/cartesian/set_convert"),u=t("../heatmap/plot"),f=t("./make_crossings"),h=t("./find_all_paths"),p=t("./empty_pathinfo"),d=t("./convert_to_constraints"),g=t("./close_boundaries"),m=t("./constants"),v=m.LABELOPTIMIZER;function y(t,e){var r,n,o,s,l,c,u,f="",h=0,p=t.edgepaths.map((function(t,e){return e})),d=!0;function g(t){return Math.abs(t[1]-e[2][1])<.01}function m(t){return Math.abs(t[0]-e[0][0])<.01}function v(t){return Math.abs(t[0]-e[2][0])<.01}for(;p.length;){for(c=a.smoothopen(t.edgepaths[h],t.smoothing),f+=d?c:c.replace(/^M/,"L"),p.splice(p.indexOf(h),1),r=t.edgepaths[h][t.edgepaths[h].length-1],s=-1,o=0;o<4;o++){if(!r){i.log("Missing end?",h,t);break}for(u=r,Math.abs(u[1]-e[0][1])<.01&&!v(r)?n=e[1]:m(r)?n=e[0]:g(r)?n=e[3]:v(r)&&(n=e[2]),l=0;l<t.edgepaths.length;l++){var y=t.edgepaths[l][0];Math.abs(r[0]-n[0])<.01?Math.abs(r[0]-y[0])<.01&&(y[1]-r[1])*(n[1]-y[1])>=0&&(n=y,s=l):Math.abs(r[1]-n[1])<.01?Math.abs(r[1]-y[1])<.01&&(y[0]-r[0])*(n[0]-y[0])>=0&&(n=y,s=l):i.log("endpt to newendpt is not vert. or horz.",r,n,y)}if(r=n,s>=0)break;f+="L"+n}if(s===t.edgepaths.length){i.log("unclosed perimeter path");break}h=s,(d=-1===p.indexOf(h))&&(h=p[0],f+="Z")}for(h=0;h<t.paths.length;h++)f+=a.smoothclosed(t.paths[h],t.smoothing);return f}function x(t,e,r,n){var a=e.width/2,o=e.height/2,s=t.x,l=t.y,c=t.theta,u=Math.cos(c)*a,f=Math.sin(c)*a,h=(s>n.center?n.right-s:s-n.left)/(u+Math.abs(Math.sin(c)*o)),p=(l>n.middle?n.bottom-l:l-n.top)/(Math.abs(f)+Math.cos(c)*o);if(h<1||p<1)return 1/0;var d=v.EDGECOST*(1/(h-1)+1/(p-1));d+=v.ANGLECOST*c*c;for(var g=s-u,m=l-f,y=s+u,x=l+f,b=0;b<r.length;b++){var _=r[b],w=Math.cos(_.theta)*_.width/2,T=Math.sin(_.theta)*_.width/2,k=2*i.segmentDistance(g,m,y,x,_.x-w,_.y-T,_.x+w,_.y+T)/(e.height+_.height),M=_.level===e.level,A=M?v.SAMELEVELDISTANCE:1;if(k<=A)return 1/0;d+=v.NEIGHBORCOST*(M?v.SAMELEVELFACTOR:1)/(k-A)}return d}function b(t){var e,r,n=t.trace._emptypoints,i=[],a=t.z.length,o=t.z[0].length,s=[];for(e=0;e<o;e++)s.push(1);for(e=0;e<a;e++)i.push(s.slice());for(e=0;e<n.length;e++)i[(r=n[e])[0]][r[1]]=0;return t.zmask=i,i}r.plot=function(t,e,o,s){var l=e.xaxis,c=e.yaxis;i.makeTraceGroups(s,o,"contour").each((function(o){var s=n.select(this),v=o[0],x=v.trace,_=v.x,w=v.y,T=x.contours,k=p(T,e,v),M=i.ensureSingle(s,"g","heatmapcoloring"),A=[];"heatmap"===T.coloring&&(A=[o]),u(t,e,A,M),f(k),h(k);var S=l.c2p(_[0],!0),E=l.c2p(_[_.length-1],!0),C=c.c2p(w[0],!0),L=c.c2p(w[w.length-1],!0),I=[[S,L],[E,L],[E,C],[S,C]],P=k;"constraint"===T.type&&(P=d(k,T._operation)),function(t,e,r){var n=i.ensureSingle(t,"g","contourbg").selectAll("path").data("fill"===r.coloring?[0]:[]);n.enter().append("path"),n.exit().remove(),n.attr("d","M"+e.join("L")+"Z").style("stroke","none")}(s,I,T),function(t,e,r,a){var o="fill"===a.coloring||"constraint"===a.type&&"="!==a._operation,s="M"+r.join("L")+"Z";o&&g(e,a);var l=i.ensureSingle(t,"g","contourfill").selectAll("path").data(o?e:[]);l.enter().append("path"),l.exit().remove(),l.each((function(t){var e=(t.prefixBoundary?s:"")+y(t,r);e?n.select(this).attr("d",e).style("stroke","none"):n.select(this).remove()}))}(s,P,I,T),function(t,e,o,s,l){var c=i.ensureSingle(t,"g","contourlines"),u=!1!==l.showlines,f=l.showlabels,h=u&&f,p=r.createLines(c,u||f,e),d=r.createLineClip(c,h,o,s.trace.uid),g=t.selectAll("g.contourlabels").data(f?[0]:[]);if(g.exit().remove(),g.enter().append("g").classed("contourlabels",!0),f){var v=[],y=[];i.clearLocationCache();var x=r.labelFormatter(o,s),b=a.tester.append("text").attr("data-notex",1).call(a.font,l.labelfont),_=e[0].xaxis,w=e[0].yaxis,T=_._length,k=w._length,M=_.range,A=w.range,S=i.aggNums(Math.min,null,s.x),E=i.aggNums(Math.max,null,s.x),C=i.aggNums(Math.min,null,s.y),L=i.aggNums(Math.max,null,s.y),I=Math.max(_.c2p(S,!0),0),P=Math.min(_.c2p(E,!0),T),z=Math.max(w.c2p(L,!0),0),O=Math.min(w.c2p(C,!0),k),D={};M[0]<M[1]?(D.left=I,D.right=P):(D.left=P,D.right=I),A[0]<A[1]?(D.top=z,D.bottom=O):(D.top=O,D.bottom=z),D.middle=(D.top+D.bottom)/2,D.center=(D.left+D.right)/2,v.push([[D.left,D.top],[D.right,D.top],[D.right,D.bottom],[D.left,D.bottom]]);var R=Math.sqrt(T*T+k*k),F=m.LABELDISTANCE*R/Math.max(1,e.length/m.LABELINCREASE);p.each((function(t){var e=r.calcTextOpts(t.level,x,b,o);n.select(this).selectAll("path").each((function(){var t=i.getVisibleSegment(this,D,e.height/2);if(t&&!(t.len<(e.width+e.height)*m.LABELMIN))for(var n=Math.min(Math.ceil(t.len/F),m.LABELMAX),a=0;a<n;a++){var o=r.findBestTextLocation(this,t,e,y,D);if(!o)break;r.addLabelData(o,e,y,v)}}))})),b.remove(),r.drawLabels(g,y,o,d,h?v:null)}f&&!u&&p.remove()}(s,k,t,v,T),function(t,e,r,n,o){var s=n.trace,l=r._fullLayout._clips,c="clip"+s.uid,u=l.selectAll("#"+c).data(s.connectgaps?[]:[0]);if(u.enter().append("clipPath").classed("contourclip",!0).attr("id",c),u.exit().remove(),!1===s.connectgaps){var p={level:.9,crossings:{},starts:[],edgepaths:[],paths:[],xaxis:e.xaxis,yaxis:e.yaxis,x:n.x,y:n.y,z:b(n),smoothing:0};f([p]),h([p]),g([p],{type:"levels"}),i.ensureSingle(u,"path","").attr("d",(p.prefixBoundary?"M"+o.join("L")+"Z":"")+y(p,o))}else c=null;a.setClipUrl(t,c,r)}(s,e,t,v,I)}))},r.createLines=function(t,e,r){var n=r[0].smoothing,i=t.selectAll("g.contourlevel").data(e?r:[]);if(i.exit().remove(),i.enter().append("g").classed("contourlevel",!0),e){var o=i.selectAll("path.openline").data((function(t){return t.pedgepaths||t.edgepaths}));o.exit().remove(),o.enter().append("path").classed("openline",!0),o.attr("d",(function(t){return a.smoothopen(t,n)})).style("stroke-miterlimit",1).style("vector-effect","non-scaling-stroke");var s=i.selectAll("path.closedline").data((function(t){return t.ppaths||t.paths}));s.exit().remove(),s.enter().append("path").classed("closedline",!0),s.attr("d",(function(t){return a.smoothclosed(t,n)})).style("stroke-miterlimit",1).style("vector-effect","non-scaling-stroke")}return i},r.createLineClip=function(t,e,r,n){var i=e?"clipline"+n:null,o=r._fullLayout._clips.selectAll("#"+i).data(e?[0]:[]);return o.exit().remove(),o.enter().append("clipPath").classed("contourlineclip",!0).attr("id",i),a.setClipUrl(t,i,r),o},r.labelFormatter=function(t,e){var r=t._fullLayout,n=e.trace,i=n.contours,a={type:"linear",_id:"ycontour",showexponent:"all",exponentformat:"B"};if(i.labelformat)a.tickformat=i.labelformat,c(a,r);else{var s=o.extractOpts(n);if(s&&s.colorbar&&s.colorbar._axis)a=s.colorbar._axis;else{if("constraint"===i.type){var u=i.value;Array.isArray(u)?a.range=[u[0],u[u.length-1]]:a.range=[u,u]}else a.range=[i.start,i.end],a.nticks=(i.end-i.start)/i.size;a.range[0]===a.range[1]&&(a.range[1]+=a.range[0]||1),a.nticks||(a.nticks=1e3),c(a,r),l.prepTicks(a),a._tmin=null,a._tmax=null}}return function(t){return l.tickText(a,t).text}},r.calcTextOpts=function(t,e,r,n){var i=e(t);r.text(i).call(s.convertToTspans,n);var o=r.node(),l=a.bBox(o,!0);return{text:i,width:l.width,height:l.height,fontSize:+o.style["font-size"].replace("px",""),level:t,dy:(l.top+l.bottom)/2}},r.findBestTextLocation=function(t,e,r,n,a){var o,s,l,c,u,f=r.width;e.isClosed?(s=e.len/v.INITIALSEARCHPOINTS,o=e.min+s/2,l=e.max):(s=(e.len-f)/(v.INITIALSEARCHPOINTS+1),o=e.min+s+f/2,l=e.max-(s+f)/2);for(var h=1/0,p=0;p<v.ITERATIONS;p++){for(var d=o;d<l;d+=s){var g=i.getTextLocation(t,e.total,d,f),m=x(g,r,n,a);m<h&&(h=m,u=g,c=d)}if(h>2*v.MAXCOST)break;p&&(s/=2),l=(o=c-s/2)+1.5*s}if(h<=v.MAXCOST)return u},r.addLabelData=function(t,e,r,n){var i=e.fontSize,a=e.width+i/3,o=Math.max(0,e.height-i/3),s=t.x,l=t.y,c=t.theta,u=Math.sin(c),f=Math.cos(c),h=function(t,e){return[s+t*f-e*u,l+t*u+e*f]},p=[h(-a/2,-o/2),h(-a/2,o/2),h(a/2,o/2),h(a/2,-o/2)];r.push({text:e.text,x:s,y:l,dy:e.dy,theta:c,level:e.level,width:a,height:o}),n.push(p)},r.drawLabels=function(t,e,r,a,o){var l=t.selectAll("text").data(e,(function(t){return t.text+","+t.x+","+t.y+","+t.theta}));if(l.exit().remove(),l.enter().append("text").attr({"data-notex":1,"text-anchor":"middle"}).each((function(t){var e=t.x+Math.sin(t.theta)*t.dy,i=t.y-Math.cos(t.theta)*t.dy;n.select(this).text(t.text).attr({x:e,y:i,transform:"rotate("+180*t.theta/Math.PI+" "+e+" "+i+")"}).call(s.convertToTspans,r)})),o){for(var c="",u=0;u<o.length;u++)c+="M"+o[u].join("L")+"Z";i.ensureSingle(a,"path","").attr("d",c)}}},{"../../components/colorscale":655,"../../components/drawing":665,"../../lib":778,"../../lib/svg_text_utils":803,"../../plots/cartesian/axes":828,"../../plots/cartesian/set_convert":848,"../heatmap/plot":1076,"./close_boundaries":1010,"./constants":1012,"./convert_to_constraints":1016,"./empty_pathinfo":1018,"./find_all_paths":1020,"./make_crossings":1025,d3:169}],1027:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes"),i=t("../../lib");function a(t,e,r){var i={type:"linear",range:[t,e]};return n.autoTicks(i,(e-t)/(r||15)),i}e.exports=function(t,e){var r=t.contours;if(t.autocontour){var o=t.zmin,s=t.zmax;(t.zauto||void 0===o)&&(o=i.aggNums(Math.min,null,e)),(t.zauto||void 0===s)&&(s=i.aggNums(Math.max,null,e));var l=a(o,s,t.ncontours);r.size=l.dtick,r.start=n.tickFirst(l),l.range.reverse(),r.end=n.tickFirst(l),r.start===o&&(r.start+=r.size),r.end===s&&(r.end-=r.size),r.start>r.end&&(r.start=r.end=(r.start+r.end)/2),t._input.contours||(t._input.contours={}),i.extendFlat(t._input.contours,{start:r.start,end:r.end,size:r.size}),t._input.autocontour=!0}else if("constraint"!==r.type){var c,u=r.start,f=r.end,h=t._input.contours;if(u>f&&(r.start=h.start=f,f=r.end=h.end=u,u=r.start),!(r.size>0))c=u===f?1:a(u,f,t.ncontours).dtick,h.size=r.size=c}}},{"../../lib":778,"../../plots/cartesian/axes":828}],1028:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../components/drawing"),a=t("../heatmap/style"),o=t("./make_color_map");e.exports=function(t){var e=n.select(t).selectAll("g.contour");e.style("opacity",(function(t){return t[0].trace.opacity})),e.each((function(t){var e=n.select(this),r=t[0].trace,a=r.contours,s=r.line,l=a.size||1,c=a.start,u="constraint"===a.type,f=!u&&"lines"===a.coloring,h=!u&&"fill"===a.coloring,p=f||h?o(r):null;e.selectAll("g.contourlevel").each((function(t){n.select(this).selectAll("path").call(i.lineGroupStyle,s.width,f?p(t.level):s.color,s.dash)}));var d=a.labelfont;if(e.selectAll("g.contourlabels text").each((function(t){i.font(n.select(this),{family:d.family,size:d.size,color:d.color||(f?p(t.level):s.color)})})),u)e.selectAll("g.contourfill path").style("fill",r.fillcolor);else if(h){var g;e.selectAll("g.contourfill path").style("fill",(function(t){return void 0===g&&(g=t.level),p(t.level+.5*l)})),void 0===g&&(g=c),e.selectAll("g.contourbg path").style("fill",p(g-.5*l))}})),a(t)}},{"../../components/drawing":665,"../heatmap/style":1077,"./make_color_map":1024,d3:169}],1029:[function(t,e,r){"use strict";var n=t("../../components/colorscale/defaults"),i=t("./label_defaults");e.exports=function(t,e,r,a,o){var s,l=r("contours.coloring"),c="";"fill"===l&&(s=r("contours.showlines")),!1!==s&&("lines"!==l&&(c=r("line.color","#000")),r("line.width",.5),r("line.dash")),"none"!==l&&(!0!==t.showlegend&&(e.showlegend=!1),e._dfltShowLegend=!1,n(t,e,a,r,{prefix:"",cLetter:"z"})),r("line.smoothing"),i(r,a,c,o)}},{"../../components/colorscale/defaults":653,"./label_defaults":1023}],1030:[function(t,e,r){"use strict";var n=t("../heatmap/attributes"),i=t("../contour/attributes"),a=t("../../components/colorscale/attributes"),o=t("../../lib/extend").extendFlat,s=i.contours;e.exports=o({carpet:{valType:"string",editType:"calc"},z:n.z,a:n.x,a0:n.x0,da:n.dx,b:n.y,b0:n.y0,db:n.dy,text:n.text,hovertext:n.hovertext,transpose:n.transpose,atype:n.xtype,btype:n.ytype,fillcolor:i.fillcolor,autocontour:i.autocontour,ncontours:i.ncontours,contours:{type:s.type,start:s.start,end:s.end,size:s.size,coloring:{valType:"enumerated",values:["fill","lines","none"],dflt:"fill",editType:"calc"},showlines:s.showlines,showlabels:s.showlabels,labelfont:s.labelfont,labelformat:s.labelformat,operation:s.operation,value:s.value,editType:"calc",impliedEdits:{autocontour:!1}},line:{color:i.line.color,width:i.line.width,dash:i.line.dash,smoothing:i.line.smoothing,editType:"plot"},transforms:void 0},a("",{cLetter:"z",autoColorDflt:!1}))},{"../../components/colorscale/attributes":650,"../../lib/extend":768,"../contour/attributes":1008,"../heatmap/attributes":1065}],1031:[function(t,e,r){"use strict";var n=t("../../components/colorscale/calc"),i=t("../../lib"),a=t("../heatmap/convert_column_xyz"),o=t("../heatmap/clean_2d_array"),s=t("../heatmap/interp2d"),l=t("../heatmap/find_empties"),c=t("../heatmap/make_bound_array"),u=t("./defaults"),f=t("../carpet/lookup_carpetid"),h=t("../contour/set_contours");e.exports=function(t,e){var r=e._carpetTrace=f(t,e);if(r&&r.visible&&"legendonly"!==r.visible){if(!e.a||!e.b){var p=t.data[r.index],d=t.data[e.index];d.a||(d.a=p.a),d.b||(d.b=p.b),u(d,e,e._defaultColor,t._fullLayout)}var g=function(t,e){var r,u,f,h,p,d,g,m=e._carpetTrace,v=m.aaxis,y=m.baxis;v._minDtick=0,y._minDtick=0,i.isArray1D(e.z)&&a(e,v,y,"a","b",["z"]);r=e._a=e._a||e.a,h=e._b=e._b||e.b,r=r?v.makeCalcdata(e,"_a"):[],h=h?y.makeCalcdata(e,"_b"):[],u=e.a0||0,f=e.da||1,p=e.b0||0,d=e.db||1,g=e._z=o(e._z||e.z,e.transpose),e._emptypoints=l(g),s(g,e._emptypoints);var x=i.maxRowLength(g),b="scaled"===e.xtype?"":r,_=c(e,b,u,f,x,v),w="scaled"===e.ytype?"":h,T=c(e,w,p,d,g.length,y),k={a:_,b:T,z:g};"levels"===e.contours.type&&"none"!==e.contours.coloring&&n(t,e,{vals:g,containerStr:"",cLetter:"z"});return[k]}(t,e);return h(e,e._z),g}}},{"../../components/colorscale/calc":651,"../../lib":778,"../carpet/lookup_carpetid":981,"../contour/set_contours":1027,"../heatmap/clean_2d_array":1067,"../heatmap/convert_column_xyz":1069,"../heatmap/find_empties":1071,"../heatmap/interp2d":1074,"../heatmap/make_bound_array":1075,"./defaults":1032}],1032:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../heatmap/xyz_defaults"),a=t("./attributes"),o=t("../contour/constraint_defaults"),s=t("../contour/contours_defaults"),l=t("../contour/style_defaults");e.exports=function(t,e,r,c){function u(r,i){return n.coerce(t,e,a,r,i)}if(u("carpet"),t.a&&t.b){if(!i(t,e,u,c,"a","b"))return void(e.visible=!1);u("text"),"constraint"===u("contours.type")?o(t,e,u,c,r,{hasHover:!1}):(s(t,e,u,(function(r){return n.coerce2(t,e,a,r)})),l(t,e,u,c,{hasHover:!1}))}else e._defaultColor=r,e._length=null}},{"../../lib":778,"../contour/constraint_defaults":1013,"../contour/contours_defaults":1015,"../contour/style_defaults":1029,"../heatmap/xyz_defaults":1079,"./attributes":1030}],1033:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),colorbar:t("../contour/colorbar"),calc:t("./calc"),plot:t("./plot"),style:t("../contour/style"),moduleType:"trace",name:"contourcarpet",basePlotModule:t("../../plots/cartesian"),categories:["cartesian","svg","carpet","contour","symbols","showLegend","hasLines","carpetDependent","noHover","noSortingByValue"],meta:{}}},{"../../plots/cartesian":841,"../contour/colorbar":1011,"../contour/style":1028,"./attributes":1030,"./calc":1031,"./defaults":1032,"./plot":1034}],1034:[function(t,e,r){"use strict";var n=t("d3"),i=t("../carpet/map_1d_array"),a=t("../carpet/makepath"),o=t("../../components/drawing"),s=t("../../lib"),l=t("../contour/make_crossings"),c=t("../contour/find_all_paths"),u=t("../contour/plot"),f=t("../contour/constants"),h=t("../contour/convert_to_constraints"),p=t("../contour/empty_pathinfo"),d=t("../contour/close_boundaries"),g=t("../carpet/lookup_carpetid"),m=t("../carpet/axis_aligned_line");function v(t,e,r){var n=t.getPointAtLength(e),i=t.getPointAtLength(r),a=i.x-n.x,o=i.y-n.y,s=Math.sqrt(a*a+o*o);return[a/s,o/s]}function y(t){var e=Math.sqrt(t[0]*t[0]+t[1]*t[1]);return[t[0]/e,t[1]/e]}function x(t,e){var r=Math.abs(t[0]*e[0]+t[1]*e[1]);return Math.sqrt(1-r*r)/r}e.exports=function(t,e,r,b){var _=e.xaxis,w=e.yaxis;s.makeTraceGroups(b,r,"contour").each((function(r){var b=n.select(this),T=r[0],k=T.trace,M=k._carpetTrace=g(t,k),A=t.calcdata[M.index][0];if(M.visible&&"legendonly"!==M.visible){var S=T.a,E=T.b,C=k.contours,L=p(C,e,T),I="constraint"===C.type,P=C._operation,z=I?"="===P?"lines":"fill":C.coloring,O=[[S[0],E[E.length-1]],[S[S.length-1],E[E.length-1]],[S[S.length-1],E[0]],[S[0],E[0]]];l(L);var D=1e-8*(S[S.length-1]-S[0]),R=1e-8*(E[E.length-1]-E[0]);c(L,D,R);var F,B,N,j,U=L;"constraint"===C.type&&(U=h(L,P)),function(t,e){var r,n,i,a,o,s,l,c,u;for(r=0;r<t.length;r++){for(a=t[r],o=a.pedgepaths=[],s=a.ppaths=[],n=0;n<a.edgepaths.length;n++){for(u=a.edgepaths[n],l=[],i=0;i<u.length;i++)l[i]=e(u[i]);o.push(l)}for(n=0;n<a.paths.length;n++){for(u=a.paths[n],c=[],i=0;i<u.length;i++)c[i]=e(u[i]);s.push(c)}}}(L,H);var V=[];for(j=A.clipsegments.length-1;j>=0;j--)F=A.clipsegments[j],B=i([],F.x,_.c2p),N=i([],F.y,w.c2p),B.reverse(),N.reverse(),V.push(a(B,N,F.bicubic));var q="M"+V.join("L")+"Z";!function(t,e,r,n,o,l){var c,u,f,h,p=s.ensureSingle(t,"g","contourbg").selectAll("path").data("fill"!==l||o?[]:[0]);p.enter().append("path"),p.exit().remove();var d=[];for(h=0;h<e.length;h++)c=e[h],u=i([],c.x,r.c2p),f=i([],c.y,n.c2p),d.push(a(u,f,c.bicubic));p.attr("d","M"+d.join("L")+"Z").style("stroke","none")}(b,A.clipsegments,_,w,I,z),function(t,e,r,i,a,l,c,u,f,h,p){var g="fill"===h;g&&d(a,t.contours);var v=s.ensureSingle(e,"g","contourfill").selectAll("path").data(g?a:[]);v.enter().append("path"),v.exit().remove(),v.each((function(t){var e=(t.prefixBoundary?p:"")+function(t,e,r,n,i,a,l,c){var u,f,h,p,d,g,v,y="",x=e.edgepaths.map((function(t,e){return e})),b=!0,_=1e-4*Math.abs(r[0][0]-r[2][0]),w=1e-4*Math.abs(r[0][1]-r[2][1]);function T(t){return Math.abs(t[1]-r[0][1])<w}function k(t){return Math.abs(t[1]-r[2][1])<w}function M(t){return Math.abs(t[0]-r[0][0])<_}function A(t){return Math.abs(t[0]-r[2][0])<_}function S(t,e){var r,n,o,s,u="";for(T(t)&&!A(t)||k(t)&&!M(t)?(s=i.aaxis,o=m(i,a,[t[0],e[0]],.5*(t[1]+e[1]))):(s=i.baxis,o=m(i,a,.5*(t[0]+e[0]),[t[1],e[1]])),r=1;r<o.length;r++)for(u+=s.smoothing?"C":"L",n=0;n<o[r].length;n++){var f=o[r][n];u+=[l.c2p(f[0]),c.c2p(f[1])]+" "}return u}u=0,f=null;for(;x.length;){var E=e.edgepaths[u][0];for(f&&(y+=S(f,E)),v=o.smoothopen(e.edgepaths[u].map(n),e.smoothing),y+=b?v:v.replace(/^M/,"L"),x.splice(x.indexOf(u),1),f=e.edgepaths[u][e.edgepaths[u].length-1],d=-1,p=0;p<4;p++){if(!f){s.log("Missing end?",u,e);break}for(T(f)&&!A(f)?h=r[1]:M(f)?h=r[0]:k(f)?h=r[3]:A(f)&&(h=r[2]),g=0;g<e.edgepaths.length;g++){var C=e.edgepaths[g][0];Math.abs(f[0]-h[0])<_?Math.abs(f[0]-C[0])<_&&(C[1]-f[1])*(h[1]-C[1])>=0&&(h=C,d=g):Math.abs(f[1]-h[1])<w?Math.abs(f[1]-C[1])<w&&(C[0]-f[0])*(h[0]-C[0])>=0&&(h=C,d=g):s.log("endpt to newendpt is not vert. or horz.",f,h,C)}if(d>=0)break;y+=S(f,h),f=h}if(d===e.edgepaths.length){s.log("unclosed perimeter path");break}u=d,(b=-1===x.indexOf(u))&&(u=x[0],y+=S(f,h)+"Z",f=null)}for(u=0;u<e.paths.length;u++)y+=o.smoothclosed(e.paths[u].map(n),e.smoothing);return y}(0,t,l,c,u,f,r,i);e?n.select(this).attr("d",e).style("stroke","none"):n.select(this).remove()}))}(k,b,_,w,U,O,H,M,A,z,q),function(t,e,r,i,a,l,c){var h=s.ensureSingle(t,"g","contourlines"),p=!1!==a.showlines,d=a.showlabels,g=p&&d,m=u.createLines(h,p||d,e),b=u.createLineClip(h,g,r,i.trace.uid),_=t.selectAll("g.contourlabels").data(d?[0]:[]);if(_.exit().remove(),_.enter().append("g").classed("contourlabels",!0),d){var w=l.xaxis,T=l.yaxis,k=w._length,M=T._length,A=[[[0,0],[k,0],[k,M],[0,M]]],S=[];s.clearLocationCache();var E=u.labelFormatter(r,i),C=o.tester.append("text").attr("data-notex",1).call(o.font,a.labelfont),L={left:0,right:k,center:k/2,top:0,bottom:M,middle:M/2},I=Math.sqrt(k*k+M*M),P=f.LABELDISTANCE*I/Math.max(1,e.length/f.LABELINCREASE);m.each((function(t){var e=u.calcTextOpts(t.level,E,C,r);n.select(this).selectAll("path").each((function(r){var n=s.getVisibleSegment(this,L,e.height/2);if(n&&(function(t,e,r,n,i,a){for(var o,s=0;s<r.pedgepaths.length;s++)e===r.pedgepaths[s]&&(o=r.edgepaths[s]);if(!o)return;var l=i.a[0],c=i.a[i.a.length-1],u=i.b[0],f=i.b[i.b.length-1];function h(t,e){var r,n=0;return(Math.abs(t[0]-l)<.1||Math.abs(t[0]-c)<.1)&&(r=y(i.dxydb_rough(t[0],t[1],.1)),n=Math.max(n,a*x(e,r)/2)),(Math.abs(t[1]-u)<.1||Math.abs(t[1]-f)<.1)&&(r=y(i.dxyda_rough(t[0],t[1],.1)),n=Math.max(n,a*x(e,r)/2)),n}var p=v(t,0,1),d=v(t,n.total,n.total-1),g=h(o[0],p),m=n.total-h(o[o.length-1],d);n.min<g&&(n.min=g);n.max>m&&(n.max=m);n.len=n.max-n.min}(this,r,t,n,c,e.height),!(n.len<(e.width+e.height)*f.LABELMIN)))for(var i=Math.min(Math.ceil(n.len/P),f.LABELMAX),a=0;a<i;a++){var o=u.findBestTextLocation(this,n,e,S,L);if(!o)break;u.addLabelData(o,e,S,A)}}))})),C.remove(),u.drawLabels(_,S,r,b,g?A:null)}d&&!p&&m.remove()}(b,L,t,T,C,e,M),o.setClipUrl(b,M._clipPathId,t)}function H(t){var e=M.ab2xy(t[0],t[1],!0);return[_.c2p(e[0]),w.c2p(e[1])]}}))}},{"../../components/drawing":665,"../../lib":778,"../carpet/axis_aligned_line":965,"../carpet/lookup_carpetid":981,"../carpet/makepath":982,"../carpet/map_1d_array":983,"../contour/close_boundaries":1010,"../contour/constants":1012,"../contour/convert_to_constraints":1016,"../contour/empty_pathinfo":1018,"../contour/find_all_paths":1020,"../contour/make_crossings":1025,"../contour/plot":1026,d3:169}],1035:[function(t,e,r){"use strict";var n=t("../../components/colorscale/attributes"),i=t("../../plots/template_attributes").hovertemplateAttrs,a=t("../../plots/attributes"),o=t("../scattermapbox/attributes"),s=t("../../lib/extend").extendFlat;e.exports=s({lon:o.lon,lat:o.lat,z:{valType:"data_array",editType:"calc"},radius:{valType:"number",editType:"plot",arrayOk:!0,min:1,dflt:30},below:{valType:"string",editType:"plot"},text:o.text,hovertext:o.hovertext,hoverinfo:s({},a.hoverinfo,{flags:["lon","lat","z","text","name"]}),hovertemplate:i(),showlegend:s({},a.showlegend,{dflt:!1})},n("",{cLetter:"z",editTypeOverride:"calc"}))},{"../../components/colorscale/attributes":650,"../../lib/extend":768,"../../plots/attributes":824,"../../plots/template_attributes":906,"../scattermapbox/attributes":1252}],1036:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../lib").isArrayOrTypedArray,a=t("../../constants/numerical").BADNUM,o=t("../../components/colorscale/calc"),s=t("../../lib")._;e.exports=function(t,e){for(var r=e._length,l=new Array(r),c=e.z,u=i(c)&&c.length,f=0;f<r;f++){var h=l[f]={},p=e.lon[f],d=e.lat[f];if(h.lonlat=n(p)&&n(d)?[+p,+d]:[a,a],u){var g=c[f];h.z=n(g)?g:a}}return o(t,e,{vals:u?c:[0,1],containerStr:"",cLetter:"z"}),r&&(l[0].t={labels:{lat:s(t,"lat:")+" ",lon:s(t,"lon:")+" "}}),l}},{"../../components/colorscale/calc":651,"../../constants/numerical":753,"../../lib":778,"fast-isnumeric":241}],1037:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../lib"),a=t("../../components/color"),o=t("../../components/colorscale"),s=t("../../constants/numerical").BADNUM,l=t("../../lib/geojson_utils").makeBlank;e.exports=function(t){var e=t[0].trace,r=!0===e.visible&&0!==e._length,c=e._opts={heatmap:{layout:{visibility:"none"},paint:{}},geojson:l()};if(!r)return c;var u,f=[],h=e.z,p=e.radius,d=i.isArrayOrTypedArray(h)&&h.length,g=i.isArrayOrTypedArray(p);for(u=0;u<t.length;u++){var m=t[u],v=m.lonlat;if(v[0]!==s){var y={};if(d){var x=m.z;y.z=x!==s?x:0}g&&(y.r=n(p[u])&&p[u]>0?+p[u]:0),f.push({type:"Feature",geometry:{type:"Point",coordinates:v},properties:y})}}var b=o.extractOpts(e),_=b.reversescale?o.flipScale(b.colorscale):b.colorscale,w=_[0][1],T=["interpolate",["linear"],["heatmap-density"],0,a.opacity(w)<1?w:a.addOpacity(w,0)];for(u=1;u<_.length;u++)T.push(_[u][0],_[u][1]);var k=["interpolate",["linear"],["get","z"],b.min,0,b.max,1];return i.extendFlat(c.heatmap.paint,{"heatmap-weight":d?k:1/(b.max-b.min),"heatmap-color":T,"heatmap-radius":g?{type:"identity",property:"r"}:e.radius,"heatmap-opacity":e.opacity}),c.geojson={type:"FeatureCollection",features:f},c.heatmap.layout.visibility="visible",c}},{"../../components/color":643,"../../components/colorscale":655,"../../constants/numerical":753,"../../lib":778,"../../lib/geojson_utils":772,"fast-isnumeric":241}],1038:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../components/colorscale/defaults"),a=t("./attributes");e.exports=function(t,e,r,o){function s(r,i){return n.coerce(t,e,a,r,i)}var l=s("lon")||[],c=s("lat")||[],u=Math.min(l.length,c.length);u?(e._length=u,s("z"),s("radius"),s("below"),s("text"),s("hovertext"),s("hovertemplate"),i(t,e,o,s,{prefix:"",cLetter:"z"})):e.visible=!1}},{"../../components/colorscale/defaults":653,"../../lib":778,"./attributes":1035}],1039:[function(t,e,r){"use strict";e.exports=function(t,e){return t.lon=e.lon,t.lat=e.lat,t.z=e.z,t}},{}],1040:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../plots/cartesian/axes"),a=t("../scattermapbox/hover");e.exports=function(t,e,r){var o=a(t,e,r);if(o){var s=o[0],l=s.cd,c=l[0].trace,u=l[s.index];if(delete s.color,"z"in u){var f=s.subplot.mockAxis;s.z=u.z,s.zLabel=i.tickText(f,f.c2l(u.z),"hover").text}return s.extraText=function(t,e,r){if(t.hovertemplate)return;var i=(e.hi||t.hoverinfo).split("+"),a=-1!==i.indexOf("all"),o=-1!==i.indexOf("lon"),s=-1!==i.indexOf("lat"),l=e.lonlat,c=[];function u(t){return t+"\xb0"}a||o&&s?c.push("("+u(l[0])+", "+u(l[1])+")"):o?c.push(r.lon+u(l[0])):s&&c.push(r.lat+u(l[1]));(a||-1!==i.indexOf("text"))&&n.fillText(e,t,c);return c.join("<br>")}(c,u,l[0].t.labels),[s]}}},{"../../lib":778,"../../plots/cartesian/axes":828,"../scattermapbox/hover":1257}],1041:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),colorbar:t("../heatmap/colorbar"),formatLabels:t("../scattermapbox/format_labels"),calc:t("./calc"),plot:t("./plot"),hoverPoints:t("./hover"),eventData:t("./event_data"),getBelow:function(t,e){for(var r=e.getMapLayers(),n=0;n<r.length;n++){var i=r[n],a=i.id;if("symbol"===i.type&&"string"==typeof a&&-1===a.indexOf("plotly-"))return a}},moduleType:"trace",name:"densitymapbox",basePlotModule:t("../../plots/mapbox"),categories:["mapbox","gl","showLegend"],meta:{hr_name:"density_mapbox"}}},{"../../plots/mapbox":885,"../heatmap/colorbar":1068,"../scattermapbox/format_labels":1256,"./attributes":1035,"./calc":1036,"./defaults":1038,"./event_data":1039,"./hover":1040,"./plot":1042}],1042:[function(t,e,r){"use strict";var n=t("./convert"),i=t("../../plots/mapbox/constants").traceLayerPrefix;function a(t,e){this.type="densitymapbox",this.subplot=t,this.uid=e,this.sourceId="source-"+e,this.layerList=[["heatmap",i+e+"-heatmap"]],this.below=null}var o=a.prototype;o.update=function(t){var e=this.subplot,r=this.layerList,i=n(t),a=e.belowLookup["trace-"+this.uid];e.map.getSource(this.sourceId).setData(i.geojson),a!==this.below&&(this._removeLayers(),this._addLayers(i,a),this.below=a);for(var o=0;o<r.length;o++){var s=r[o],l=s[0],c=s[1],u=i[l];e.setOptions(c,"setLayoutProperty",u.layout),"visible"===u.layout.visibility&&e.setOptions(c,"setPaintProperty",u.paint)}},o._addLayers=function(t,e){for(var r=this.subplot,n=this.layerList,i=this.sourceId,a=0;a<n.length;a++){var o=n[a],s=o[0],l=t[s];r.addLayer({type:s,id:o[1],source:i,layout:l.layout,paint:l.paint},e)}},o._removeLayers=function(){for(var t=this.subplot.map,e=this.layerList,r=e.length-1;r>=0;r--)t.removeLayer(e[r][1])},o.dispose=function(){var t=this.subplot.map;this._removeLayers(),t.removeSource(this.sourceId)},e.exports=function(t,e){var r=e[0].trace,i=new a(t,r.uid),o=i.sourceId,s=n(e),l=i.below=t.belowLookup["trace-"+r.uid];return t.map.addSource(o,{type:"geojson",data:s.geojson}),i._addLayers(s,l),i}},{"../../plots/mapbox/constants":883,"./convert":1037}],1043:[function(t,e,r){"use strict";var n=t("../../lib");e.exports=function(t,e){for(var r=0;r<t.length;r++)t[r].i=r;n.mergeArray(e.text,t,"tx"),n.mergeArray(e.hovertext,t,"htx");var i=e.marker;if(i){n.mergeArray(i.opacity,t,"mo"),n.mergeArray(i.color,t,"mc");var a=i.line;a&&(n.mergeArray(a.color,t,"mlc"),n.mergeArrayCastPositive(a.width,t,"mlw"))}}},{"../../lib":778}],1044:[function(t,e,r){"use strict";var n=t("../bar/attributes"),i=t("../scatter/attributes").line,a=t("../../plots/attributes"),o=t("../../plots/template_attributes").hovertemplateAttrs,s=t("../../plots/template_attributes").texttemplateAttrs,l=t("./constants"),c=t("../../lib/extend").extendFlat,u=t("../../components/color");e.exports={x:n.x,x0:n.x0,dx:n.dx,y:n.y,y0:n.y0,dy:n.dy,xperiod:n.xperiod,yperiod:n.yperiod,xperiod0:n.xperiod0,yperiod0:n.yperiod0,xperiodalignment:n.xperiodalignment,yperiodalignment:n.yperiodalignment,hovertext:n.hovertext,hovertemplate:o({},{keys:l.eventDataKeys}),hoverinfo:c({},a.hoverinfo,{flags:["name","x","y","text","percent initial","percent previous","percent total"]}),textinfo:{valType:"flaglist",flags:["label","text","percent initial","percent previous","percent total","value"],extras:["none"],editType:"plot",arrayOk:!1},texttemplate:s({editType:"plot"},{keys:l.eventDataKeys.concat(["label","value"])}),text:n.text,textposition:c({},n.textposition,{dflt:"auto"}),insidetextanchor:c({},n.insidetextanchor,{dflt:"middle"}),textangle:c({},n.textangle,{dflt:0}),textfont:n.textfont,insidetextfont:n.insidetextfont,outsidetextfont:n.outsidetextfont,constraintext:n.constraintext,cliponaxis:n.cliponaxis,orientation:c({},n.orientation,{}),offset:c({},n.offset,{arrayOk:!1}),width:c({},n.width,{arrayOk:!1}),marker:n.marker,connector:{fillcolor:{valType:"color",editType:"style"},line:{color:c({},i.color,{dflt:u.defaultLine}),width:c({},i.width,{dflt:0,editType:"plot"}),dash:i.dash,editType:"style"},visible:{valType:"boolean",dflt:!0,editType:"plot"},editType:"plot"},offsetgroup:n.offsetgroup,alignmentgroup:n.alignmentgroup}},{"../../components/color":643,"../../lib/extend":768,"../../plots/attributes":824,"../../plots/template_attributes":906,"../bar/attributes":921,"../scatter/attributes":1187,"./constants":1046}],1045:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes"),i=t("../../plots/cartesian/align_period"),a=t("./arrays_to_calcdata"),o=t("../scatter/calc_selection"),s=t("../../constants/numerical").BADNUM;function l(t){return t===s?0:t}e.exports=function(t,e){var r,c,u,f,h,p,d=n.getFromId(t,e.xaxis||"x"),g=n.getFromId(t,e.yaxis||"y");"h"===e.orientation?(r=d.makeCalcdata(e,"x"),u=g.makeCalcdata(e,"y"),c=i(e,g,"y",u),p=!!e.yperiodalignment):(r=g.makeCalcdata(e,"y"),u=d.makeCalcdata(e,"x"),c=i(e,d,"x",u),p=!!e.xperiodalignment);var m,v=Math.min(c.length,r.length),y=new Array(v);for(e._base=[],f=0;f<v;f++){r[f]<0&&(r[f]=s);var x=!1;r[f]!==s&&f+1<v&&r[f+1]!==s&&(x=!0),h=y[f]={p:c[f],s:r[f],cNext:x},e._base[f]=-.5*h.s,p&&(y[f].orig_p=u[f]),e.ids&&(h.id=String(e.ids[f])),0===f&&(y[0].vTotal=0),y[0].vTotal+=l(h.s),h.begR=l(h.s)/l(y[0].s)}for(f=0;f<v;f++)(h=y[f]).s!==s&&(h.sumR=h.s/y[0].vTotal,h.difR=void 0!==m?h.s/m:1,m=h.s);return a(y,e),o(y,e),y}},{"../../constants/numerical":753,"../../plots/cartesian/align_period":825,"../../plots/cartesian/axes":828,"../scatter/calc_selection":1189,"./arrays_to_calcdata":1043}],1046:[function(t,e,r){"use strict";e.exports={eventDataKeys:["percentInitial","percentPrevious","percentTotal"]}},{}],1047:[function(t,e,r){"use strict";var n=t("../bar/cross_trace_calc").setGroupPositions;e.exports=function(t,e){var r,i,a=t._fullLayout,o=t._fullData,s=t.calcdata,l=e.xaxis,c=e.yaxis,u=[],f=[],h=[];for(i=0;i<o.length;i++){var p=o[i],d="h"===p.orientation;!0===p.visible&&p.xaxis===l._id&&p.yaxis===c._id&&"funnel"===p.type&&(r=s[i],d?h.push(r):f.push(r),u.push(r))}var g={mode:a.funnelmode,norm:a.funnelnorm,gap:a.funnelgap,groupgap:a.funnelgroupgap};for(n(t,l,c,f,g),n(t,c,l,h,g),i=0;i<u.length;i++){r=u[i];for(var m=0;m<r.length;m++)m+1<r.length&&(r[m].nextP0=r[m+1].p0,r[m].nextS0=r[m+1].s0,r[m].nextP1=r[m+1].p1,r[m].nextS1=r[m+1].s1)}}},{"../bar/cross_trace_calc":924}],1048:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../bar/defaults").handleGroupingDefaults,a=t("../bar/defaults").handleText,o=t("../scatter/xy_defaults"),s=t("../scatter/period_defaults"),l=t("./attributes"),c=t("../../components/color");e.exports={supplyDefaults:function(t,e,r,i){function u(r,i){return n.coerce(t,e,l,r,i)}if(o(t,e,i,u)){s(t,e,i,u),u("orientation",e.y&&!e.x?"v":"h"),u("offset"),u("width");var f=u("text");u("hovertext"),u("hovertemplate");var h=u("textposition");a(t,e,i,u,h,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),"none"===e.textposition||e.texttemplate||u("textinfo",Array.isArray(f)?"text+value":"value");var p=u("marker.color",r);if(u("marker.line.color",c.defaultLine),u("marker.line.width"),u("connector.visible"))u("connector.fillcolor",function(t){var e=n.isArrayOrTypedArray(t)?"#000":t;return c.addOpacity(e,.5*c.opacity(e))}(p)),u("connector.line.width")&&(u("connector.line.color"),u("connector.line.dash"))}else e.visible=!1},crossTraceDefaults:function(t,e){var r,a;function o(t){return n.coerce(a._input,a,l,t)}if("group"===e.funnelmode)for(var s=0;s<t.length;s++)r=(a=t[s])._input,i(r,a,e,o)}}},{"../../components/color":643,"../../lib":778,"../bar/defaults":925,"../scatter/period_defaults":1207,"../scatter/xy_defaults":1214,"./attributes":1044}],1049:[function(t,e,r){"use strict";e.exports=function(t,e){return t.x="xVal"in e?e.xVal:e.x,t.y="yVal"in e?e.yVal:e.y,"percentInitial"in e&&(t.percentInitial=e.percentInitial),"percentPrevious"in e&&(t.percentPrevious=e.percentPrevious),"percentTotal"in e&&(t.percentTotal=e.percentTotal),e.xa&&(t.xaxis=e.xa),e.ya&&(t.yaxis=e.ya),t}},{}],1050:[function(t,e,r){"use strict";var n=t("../../components/color").opacity,i=t("../bar/hover").hoverOnBars,a=t("../../lib").formatPercent;e.exports=function(t,e,r,o){var s=i(t,e,r,o);if(s){var l=s.cd,c=l[0].trace,u="h"===c.orientation,f=l[s.index];s[(u?"x":"y")+"LabelVal"]=f.s,s.percentInitial=f.begR,s.percentInitialLabel=a(f.begR,1),s.percentPrevious=f.difR,s.percentPreviousLabel=a(f.difR,1),s.percentTotal=f.sumR,s.percentTotalLabel=a(f.sumR,1);var h=f.hi||c.hoverinfo,p=[];if(h&&"none"!==h&&"skip"!==h){var d="all"===h,g=h.split("+"),m=function(t){return d||-1!==g.indexOf(t)};m("percent initial")&&p.push(s.percentInitialLabel+" of initial"),m("percent previous")&&p.push(s.percentPreviousLabel+" of previous"),m("percent total")&&p.push(s.percentTotalLabel+" of total")}return s.extraText=p.join("<br>"),s.color=function(t,e){var r=t.marker,i=e.mc||r.color,a=e.mlc||r.line.color,o=e.mlw||r.line.width;if(n(i))return i;if(n(a)&&o)return a}(c,f),[s]}}},{"../../components/color":643,"../../lib":778,"../bar/hover":928}],1051:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),layoutAttributes:t("./layout_attributes"),supplyDefaults:t("./defaults").supplyDefaults,crossTraceDefaults:t("./defaults").crossTraceDefaults,supplyLayoutDefaults:t("./layout_defaults"),calc:t("./calc"),crossTraceCalc:t("./cross_trace_calc"),plot:t("./plot"),style:t("./style").style,hoverPoints:t("./hover"),eventData:t("./event_data"),selectPoints:t("../bar/select"),moduleType:"trace",name:"funnel",basePlotModule:t("../../plots/cartesian"),categories:["bar-like","cartesian","svg","oriented","showLegend","zoomScale"],meta:{}}},{"../../plots/cartesian":841,"../bar/select":933,"./attributes":1044,"./calc":1045,"./cross_trace_calc":1047,"./defaults":1048,"./event_data":1049,"./hover":1050,"./layout_attributes":1052,"./layout_defaults":1053,"./plot":1054,"./style":1055}],1052:[function(t,e,r){"use strict";e.exports={funnelmode:{valType:"enumerated",values:["stack","group","overlay"],dflt:"stack",editType:"calc"},funnelgap:{valType:"number",min:0,max:1,editType:"calc"},funnelgroupgap:{valType:"number",min:0,max:1,dflt:0,editType:"calc"}}},{}],1053:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./layout_attributes");e.exports=function(t,e,r){var a=!1;function o(r,a){return n.coerce(t,e,i,r,a)}for(var s=0;s<r.length;s++){var l=r[s];if(l.visible&&"funnel"===l.type){a=!0;break}}a&&(o("funnelmode"),o("funnelgap",.2),o("funnelgroupgap"))}},{"../../lib":778,"./layout_attributes":1052}],1054:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../lib"),a=t("../../components/drawing"),o=t("../../constants/numerical").BADNUM,s=t("../bar/plot"),l=t("../bar/uniform_text").clearMinTextSize;function c(t,e,r,n){var i=[],a=[],o=n?e:r,s=n?r:e;return i[0]=o.c2p(t.s0,!0),a[0]=s.c2p(t.p0,!0),i[1]=o.c2p(t.s1,!0),a[1]=s.c2p(t.p1,!0),i[2]=o.c2p(t.nextS0,!0),a[2]=s.c2p(t.nextP0,!0),i[3]=o.c2p(t.nextS1,!0),a[3]=s.c2p(t.nextP1,!0),n?[i,a]:[a,i]}e.exports=function(t,e,r,u){var f=t._fullLayout;l("funnel",f),function(t,e,r,s){var l=e.xaxis,u=e.yaxis;i.makeTraceGroups(s,r,"trace bars").each((function(r){var s=n.select(this),f=r[0].trace,h=i.ensureSingle(s,"g","regions");if(f.connector&&f.connector.visible){var p="h"===f.orientation,d=h.selectAll("g.region").data(i.identity);d.enter().append("g").classed("region",!0),d.exit().remove();var g=d.size();d.each((function(r,s){if(s===g-1||r.cNext){var f=c(r,l,u,p),h=f[0],d=f[1],m="";h[0]!==o&&d[0]!==o&&h[1]!==o&&d[1]!==o&&h[2]!==o&&d[2]!==o&&h[3]!==o&&d[3]!==o&&(m+=p?"M"+h[0]+","+d[1]+"L"+h[2]+","+d[2]+"H"+h[3]+"L"+h[1]+","+d[1]+"Z":"M"+h[1]+","+d[1]+"L"+h[2]+","+d[3]+"V"+d[2]+"L"+h[1]+","+d[0]+"Z"),""===m&&(m="M0,0Z"),i.ensureSingle(n.select(this),"path").attr("d",m).call(a.setClipUrl,e.layerClipId,t)}}))}else h.remove()}))}(t,e,r,u),function(t,e,r,o){var s=e.xaxis,l=e.yaxis;i.makeTraceGroups(o,r,"trace bars").each((function(r){var o=n.select(this),u=r[0].trace,f=i.ensureSingle(o,"g","lines");if(u.connector&&u.connector.visible&&u.connector.line.width){var h="h"===u.orientation,p=f.selectAll("g.line").data(i.identity);p.enter().append("g").classed("line",!0),p.exit().remove();var d=p.size();p.each((function(r,o){if(o===d-1||r.cNext){var u=c(r,s,l,h),f=u[0],p=u[1],g="";void 0!==f[3]&&void 0!==p[3]&&(h?(g+="M"+f[0]+","+p[1]+"L"+f[2]+","+p[2],g+="M"+f[1]+","+p[1]+"L"+f[3]+","+p[2]):(g+="M"+f[1]+","+p[1]+"L"+f[2]+","+p[3],g+="M"+f[1]+","+p[0]+"L"+f[2]+","+p[2])),""===g&&(g="M0,0Z"),i.ensureSingle(n.select(this),"path").attr("d",g).call(a.setClipUrl,e.layerClipId,t)}}))}else f.remove()}))}(t,e,r,u),s.plot(t,e,r,u,{mode:f.funnelmode,norm:f.funnelmode,gap:f.funnelgap,groupgap:f.funnelgroupgap})}},{"../../components/drawing":665,"../../constants/numerical":753,"../../lib":778,"../bar/plot":932,"../bar/uniform_text":937,d3:169}],1055:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../components/drawing"),a=t("../../components/color"),o=t("../../constants/interactions").DESELECTDIM,s=t("../bar/style"),l=t("../bar/uniform_text").resizeText,c=s.styleTextPoints;e.exports={style:function(t,e,r){var s=r||n.select(t).selectAll("g.funnellayer").selectAll("g.trace");l(t,s,"funnel"),s.style("opacity",(function(t){return t[0].trace.opacity})),s.each((function(e){var r=n.select(this),s=e[0].trace;r.selectAll(".point > path").each((function(t){if(!t.isBlank){var e=s.marker;n.select(this).call(a.fill,t.mc||e.color).call(a.stroke,t.mlc||e.line.color).call(i.dashLine,e.line.dash,t.mlw||e.line.width).style("opacity",s.selectedpoints&&!t.selected?o:1)}})),c(r,s,t),r.selectAll(".regions").each((function(){n.select(this).selectAll("path").style("stroke-width",0).call(a.fill,s.connector.fillcolor)})),r.selectAll(".lines").each((function(){var t=s.connector.line;i.lineGroupStyle(n.select(this).selectAll("path"),t.width,t.color,t.dash)}))}))}}},{"../../components/color":643,"../../components/drawing":665,"../../constants/interactions":752,"../bar/style":935,"../bar/uniform_text":937,d3:169}],1056:[function(t,e,r){"use strict";var n=t("../pie/attributes"),i=t("../../plots/attributes"),a=t("../../plots/domain").attributes,o=t("../../plots/template_attributes").hovertemplateAttrs,s=t("../../plots/template_attributes").texttemplateAttrs,l=t("../../lib/extend").extendFlat;e.exports={labels:n.labels,label0:n.label0,dlabel:n.dlabel,values:n.values,marker:{colors:n.marker.colors,line:{color:l({},n.marker.line.color,{dflt:null}),width:l({},n.marker.line.width,{dflt:1}),editType:"calc"},editType:"calc"},text:n.text,hovertext:n.hovertext,scalegroup:l({},n.scalegroup,{}),textinfo:l({},n.textinfo,{flags:["label","text","value","percent"]}),texttemplate:s({editType:"plot"},{keys:["label","color","value","text","percent"]}),hoverinfo:l({},i.hoverinfo,{flags:["label","text","value","percent","name"]}),hovertemplate:o({},{keys:["label","color","value","text","percent"]}),textposition:l({},n.textposition,{values:["inside","none"],dflt:"inside"}),textfont:n.textfont,insidetextfont:n.insidetextfont,title:{text:n.title.text,font:n.title.font,position:l({},n.title.position,{values:["top left","top center","top right"],dflt:"top center"}),editType:"plot"},domain:a({name:"funnelarea",trace:!0,editType:"calc"}),aspectratio:{valType:"number",min:0,dflt:1,editType:"plot"},baseratio:{valType:"number",min:0,max:1,dflt:.333,editType:"plot"}}},{"../../lib/extend":768,"../../plots/attributes":824,"../../plots/domain":855,"../../plots/template_attributes":906,"../pie/attributes":1161}],1057:[function(t,e,r){"use strict";var n=t("../../plots/plots");r.name="funnelarea",r.plot=function(t,e,i,a){n.plotBasePlot(r.name,t,e,i,a)},r.clean=function(t,e,i,a){n.cleanBasePlot(r.name,t,e,i,a)}},{"../../plots/plots":891}],1058:[function(t,e,r){"use strict";var n=t("../pie/calc");e.exports={calc:function(t,e){return n.calc(t,e)},crossTraceCalc:function(t){n.crossTraceCalc(t,{type:"funnelarea"})}}},{"../pie/calc":1163}],1059:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./attributes"),a=t("../../plots/domain").defaults,o=t("../bar/defaults").handleText,s=t("../pie/defaults").handleLabelsAndValues;e.exports=function(t,e,r,l){function c(r,a){return n.coerce(t,e,i,r,a)}var u=c("labels"),f=c("values"),h=s(u,f),p=h.len;if(e._hasLabels=h.hasLabels,e._hasValues=h.hasValues,!e._hasLabels&&e._hasValues&&(c("label0"),c("dlabel")),p){e._length=p,c("marker.line.width")&&c("marker.line.color",l.paper_bgcolor),c("marker.colors"),c("scalegroup");var d,g=c("text"),m=c("texttemplate");if(m||(d=c("textinfo",Array.isArray(g)?"text+percent":"percent")),c("hovertext"),c("hovertemplate"),m||d&&"none"!==d){var v=c("textposition");o(t,e,l,c,v,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1})}a(e,l,c),c("title.text")&&(c("title.position"),n.coerceFont(c,"title.font",l.font)),c("aspectratio"),c("baseratio")}else e.visible=!1}},{"../../lib":778,"../../plots/domain":855,"../bar/defaults":925,"../pie/defaults":1164,"./attributes":1056}],1060:[function(t,e,r){"use strict";e.exports={moduleType:"trace",name:"funnelarea",basePlotModule:t("./base_plot"),categories:["pie-like","funnelarea","showLegend"],attributes:t("./attributes"),layoutAttributes:t("./layout_attributes"),supplyDefaults:t("./defaults"),supplyLayoutDefaults:t("./layout_defaults"),calc:t("./calc").calc,crossTraceCalc:t("./calc").crossTraceCalc,plot:t("./plot"),style:t("./style"),styleOne:t("../pie/style_one"),meta:{}}},{"../pie/style_one":1172,"./attributes":1056,"./base_plot":1057,"./calc":1058,"./defaults":1059,"./layout_attributes":1061,"./layout_defaults":1062,"./plot":1063,"./style":1064}],1061:[function(t,e,r){"use strict";var n=t("../pie/layout_attributes").hiddenlabels;e.exports={hiddenlabels:n,funnelareacolorway:{valType:"colorlist",editType:"calc"},extendfunnelareacolors:{valType:"boolean",dflt:!0,editType:"calc"}}},{"../pie/layout_attributes":1168}],1062:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./layout_attributes");e.exports=function(t,e){function r(r,a){return n.coerce(t,e,i,r,a)}r("hiddenlabels"),r("funnelareacolorway",e.colorway),r("extendfunnelareacolors")}},{"../../lib":778,"./layout_attributes":1061}],1063:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../components/drawing"),a=t("../../lib"),o=a.strScale,s=a.strTranslate,l=t("../../lib/svg_text_utils"),c=t("../bar/plot").toMoveInsideBar,u=t("../bar/uniform_text"),f=u.recordMinTextSize,h=u.clearMinTextSize,p=t("../pie/helpers"),d=t("../pie/plot"),g=d.attachFxHandlers,m=d.determineInsideTextFont,v=d.layoutAreas,y=d.prerenderTitles,x=d.positionTitleOutside,b=d.formatSliceLabel;function _(t,e){return"l"+(e[0]-t[0])+","+(e[1]-t[1])}e.exports=function(t,e){var r=t._fullLayout;h("funnelarea",r),y(e,t),v(e,r._size),a.makeTraceGroups(r._funnelarealayer,e,"trace").each((function(e){var u=n.select(this),h=e[0],d=h.trace;!function(t){if(!t.length)return;var e=t[0],r=e.trace,n=r.aspectratio,i=r.baseratio;i>.999&&(i=.999);var a,o=Math.pow(i,2),s=e.vTotal,l=s,c=s*o/(1-o)/s;function u(){var t,e={x:t=Math.sqrt(c),y:-t};return[e.x,e.y]}var f,h,p=[];for(p.push(u()),f=t.length-1;f>-1;f--)if(!(h=t[f]).hidden){var d=h.v/l;c+=d,p.push(u())}var g=1/0,m=-1/0;for(f=0;f<p.length;f++)a=p[f],g=Math.min(g,a[1]),m=Math.max(m,a[1]);for(f=0;f<p.length;f++)p[f][1]-=(m+g)/2;var v=p[p.length-1][0],y=e.r,x=(m-g)/2,b=y/v,_=y/x*n;for(e.r=_*x,f=0;f<p.length;f++)p[f][0]*=b,p[f][1]*=_;var w=[-(a=p[0])[0],a[1]],T=[a[0],a[1]],k=0;for(f=t.length-1;f>-1;f--)if(!(h=t[f]).hidden){var M=p[k+=1][0],A=p[k][1];h.TL=[-M,A],h.TR=[M,A],h.BL=w,h.BR=T,h.pxmid=(S=h.TR,E=h.BR,[.5*(S[0]+E[0]),.5*(S[1]+E[1])]),w=h.TL,T=h.TR}var S,E}(e),u.each((function(){var u=n.select(this).selectAll("g.slice").data(e);u.enter().append("g").classed("slice",!0),u.exit().remove(),u.each((function(o,s){if(o.hidden)n.select(this).selectAll("path,g").remove();else{o.pointNumber=o.i,o.curveNumber=d.index;var u=h.cx,v=h.cy,y=n.select(this),x=y.selectAll("path.surface").data([o]);x.enter().append("path").classed("surface",!0).style({"pointer-events":"all"}),y.call(g,t,e);var w="M"+(u+o.TR[0])+","+(v+o.TR[1])+_(o.TR,o.BR)+_(o.BR,o.BL)+_(o.BL,o.TL)+"Z";x.attr("d",w),b(t,o,h);var T=p.castOption(d.textposition,o.pts),k=y.selectAll("g.slicetext").data(o.text&&"none"!==T?[0]:[]);k.enter().append("g").classed("slicetext",!0),k.exit().remove(),k.each((function(){var h=a.ensureSingle(n.select(this),"text","",(function(t){t.attr("data-notex",1)})),p=a.ensureUniformFontSize(t,m(d,o,r.font));h.text(o.text).attr({class:"slicetext",transform:"","text-anchor":"middle"}).call(i.font,p).call(l.convertToTspans,t);var g,y,x,b=i.bBox(h.node()),_=Math.min(o.BL[1],o.BR[1])+v,w=Math.max(o.TL[1],o.TR[1])+v;y=Math.max(o.TL[0],o.BL[0])+u,x=Math.min(o.TR[0],o.BR[0])+u,(g=c(y,x,_,w,b,{isHorizontal:!0,constrained:!0,angle:0,anchor:"middle"})).fontSize=p.size,f(d.type,g,r),e[s].transform=g,h.attr("transform",a.getTextTransform(g))}))}}));var v=n.select(this).selectAll("g.titletext").data(d.title.text?[0]:[]);v.enter().append("g").classed("titletext",!0),v.exit().remove(),v.each((function(){var e=a.ensureSingle(n.select(this),"text","",(function(t){t.attr("data-notex",1)})),c=d.title.text;d._meta&&(c=a.templateString(c,d._meta)),e.text(c).attr({class:"titletext",transform:"","text-anchor":"middle"}).call(i.font,d.title.font).call(l.convertToTspans,t);var u=x(h,r._size);e.attr("transform",s(u.x,u.y)+o(Math.min(1,u.scale))+s(u.tx,u.ty))}))}))}))}},{"../../components/drawing":665,"../../lib":778,"../../lib/svg_text_utils":803,"../bar/plot":932,"../bar/uniform_text":937,"../pie/helpers":1166,"../pie/plot":1170,d3:169}],1064:[function(t,e,r){"use strict";var n=t("d3"),i=t("../pie/style_one"),a=t("../bar/uniform_text").resizeText;e.exports=function(t){var e=t._fullLayout._funnelarealayer.selectAll(".trace");a(t,e,"funnelarea"),e.each((function(t){var e=t[0].trace,r=n.select(this);r.style({opacity:e.opacity}),r.selectAll("path.surface").each((function(t){n.select(this).call(i,t,e)}))}))}},{"../bar/uniform_text":937,"../pie/style_one":1172,d3:169}],1065:[function(t,e,r){"use strict";var n=t("../scatter/attributes"),i=t("../../plots/attributes"),a=t("../../plots/template_attributes").hovertemplateAttrs,o=t("../../components/colorscale/attributes"),s=(t("../../constants/docs").FORMAT_LINK,t("../../lib/extend").extendFlat);e.exports=s({z:{valType:"data_array",editType:"calc"},x:s({},n.x,{impliedEdits:{xtype:"array"}}),x0:s({},n.x0,{impliedEdits:{xtype:"scaled"}}),dx:s({},n.dx,{impliedEdits:{xtype:"scaled"}}),y:s({},n.y,{impliedEdits:{ytype:"array"}}),y0:s({},n.y0,{impliedEdits:{ytype:"scaled"}}),dy:s({},n.dy,{impliedEdits:{ytype:"scaled"}}),xperiod:s({},n.xperiod,{impliedEdits:{xtype:"scaled"}}),yperiod:s({},n.yperiod,{impliedEdits:{ytype:"scaled"}}),xperiod0:s({},n.xperiod0,{impliedEdits:{xtype:"scaled"}}),yperiod0:s({},n.yperiod0,{impliedEdits:{ytype:"scaled"}}),xperiodalignment:s({},n.xperiodalignment,{impliedEdits:{xtype:"scaled"}}),yperiodalignment:s({},n.yperiodalignment,{impliedEdits:{ytype:"scaled"}}),text:{valType:"data_array",editType:"calc"},hovertext:{valType:"data_array",editType:"calc"},transpose:{valType:"boolean",dflt:!1,editType:"calc"},xtype:{valType:"enumerated",values:["array","scaled"],editType:"calc+clearAxisTypes"},ytype:{valType:"enumerated",values:["array","scaled"],editType:"calc+clearAxisTypes"},zsmooth:{valType:"enumerated",values:["fast","best",!1],dflt:!1,editType:"calc"},hoverongaps:{valType:"boolean",dflt:!0,editType:"none"},connectgaps:{valType:"boolean",editType:"calc"},xgap:{valType:"number",dflt:0,min:0,editType:"plot"},ygap:{valType:"number",dflt:0,min:0,editType:"plot"},zhoverformat:{valType:"string",dflt:"",editType:"none"},hovertemplate:a(),showlegend:s({},i.showlegend,{dflt:!1})},{transforms:void 0},o("",{cLetter:"z",autoColorDflt:!1}))},{"../../components/colorscale/attributes":650,"../../constants/docs":748,"../../lib/extend":768,"../../plots/attributes":824,"../../plots/template_attributes":906,"../scatter/attributes":1187}],1066:[function(t,e,r){"use strict";var n=t("../../registry"),i=t("../../lib"),a=t("../../plots/cartesian/axes"),o=t("../../plots/cartesian/align_period"),s=t("../histogram2d/calc"),l=t("../../components/colorscale/calc"),c=t("./convert_column_xyz"),u=t("./clean_2d_array"),f=t("./interp2d"),h=t("./find_empties"),p=t("./make_bound_array"),d=t("../../constants/numerical").BADNUM;function g(t){for(var e=[],r=t.length,n=0;n<r;n++){var i=t[n];i!==d&&e.push(i)}return e}e.exports=function(t,e){var r,m,v,y,x,b,_,w,T,k,M,A=a.getFromId(t,e.xaxis||"x"),S=a.getFromId(t,e.yaxis||"y"),E=n.traceIs(e,"contour"),C=n.traceIs(e,"histogram"),L=n.traceIs(e,"gl2d"),I=E?"best":e.zsmooth;if(A._minDtick=0,S._minDtick=0,C)y=(M=s(t,e)).orig_x,r=M.x,m=M.x0,v=M.dx,w=M.orig_y,x=M.y,b=M.y0,_=M.dy,T=M.z;else{var P=e.z;i.isArray1D(P)?(c(e,A,S,"x","y",["z"]),r=e._x,x=e._y,P=e._z):(y=e.x?A.makeCalcdata(e,"x"):[],w=e.y?S.makeCalcdata(e,"y"):[],r=o(e,A,"x",y),x=o(e,S,"y",w),e._x=r,e._y=x),m=e.x0,v=e.dx,b=e.y0,_=e.dy,T=u(P,e,A,S)}function z(t){I=e._input.zsmooth=e.zsmooth=!1,i.warn('cannot use zsmooth: "fast": '+t)}if((A.rangebreaks||S.rangebreaks)&&(T=function(t,e,r){for(var n=[],i=-1,a=0;a<r.length;a++)if(e[a]!==d){i++,n[i]=[];for(var o=0;o<r[a].length;o++)t[o]!==d&&n[i].push(r[a][o])}return n}(r,x,T),C||(r=g(r),x=g(x),e._x=r,e._y=x)),C||!E&&!e.connectgaps||(e._emptypoints=h(T),f(T,e._emptypoints)),"fast"===I)if("log"===A.type||"log"===S.type)z("log axis found");else if(!C){if(r.length){var O=(r[r.length-1]-r[0])/(r.length-1),D=Math.abs(O/100);for(k=0;k<r.length-1;k++)if(Math.abs(r[k+1]-r[k]-O)>D){z("x scale is not linear");break}}if(x.length&&"fast"===I){var R=(x[x.length-1]-x[0])/(x.length-1),F=Math.abs(R/100);for(k=0;k<x.length-1;k++)if(Math.abs(x[k+1]-x[k]-R)>F){z("y scale is not linear");break}}}var B=i.maxRowLength(T),N="scaled"===e.xtype?"":r,j=p(e,N,m,v,B,A),U="scaled"===e.ytype?"":x,V=p(e,U,b,_,T.length,S);L||(e._extremes[A._id]=a.findExtremes(A,j),e._extremes[S._id]=a.findExtremes(S,V));var q={x:j,y:V,z:T,text:e._text||e.text,hovertext:e._hovertext||e.hovertext};if(e.xperiodalignment&&y&&(q.orig_x=y),e.yperiodalignment&&w&&(q.orig_y=w),N&&N.length===j.length-1&&(q.xCenter=N),U&&U.length===V.length-1&&(q.yCenter=U),C&&(q.xRanges=M.xRanges,q.yRanges=M.yRanges,q.pts=M.pts),E||l(t,e,{vals:T,cLetter:"z"}),E&&e.contours&&"heatmap"===e.contours.coloring){var H={type:"contour"===e.type?"heatmap":"histogram2d",xcalendar:e.xcalendar,ycalendar:e.ycalendar};q.xfill=p(H,N,m,v,B,A),q.yfill=p(H,U,b,_,T.length,S)}return[q]}},{"../../components/colorscale/calc":651,"../../constants/numerical":753,"../../lib":778,"../../plots/cartesian/align_period":825,"../../plots/cartesian/axes":828,"../../registry":911,"../histogram2d/calc":1098,"./clean_2d_array":1067,"./convert_column_xyz":1069,"./find_empties":1071,"./interp2d":1074,"./make_bound_array":1075}],1067:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../lib"),a=t("../../constants/numerical").BADNUM;e.exports=function(t,e,r,o){var s,l,c,u,f,h;function p(t){if(n(t))return+t}if(e&&e.transpose){for(s=0,f=0;f<t.length;f++)s=Math.max(s,t[f].length);if(0===s)return!1;c=function(t){return t.length},u=function(t,e,r){return(t[r]||[])[e]}}else s=t.length,c=function(t,e){return t[e].length},u=function(t,e,r){return(t[e]||[])[r]};var d=function(t,e,r){return e===a||r===a?a:u(t,e,r)};function g(t){if(e&&"carpet"!==e.type&&"contourcarpet"!==e.type&&t&&"category"===t.type&&e["_"+t._id.charAt(0)].length){var r=t._id.charAt(0),n={},o=e["_"+r+"CategoryMap"]||e[r];for(f=0;f<o.length;f++)n[o[f]]=f;return function(e){var r=n[t._categories[e]];return r+1?r:a}}return i.identity}var m=g(r),v=g(o);o&&"category"===o.type&&(s=o._categories.length);var y=new Array(s);for(f=0;f<s;f++)for(l=r&&"category"===r.type?r._categories.length:c(t,f),y[f]=new Array(l),h=0;h<l;h++)y[f][h]=p(d(t,v(f),m(h)));return y}},{"../../constants/numerical":753,"../../lib":778,"fast-isnumeric":241}],1068:[function(t,e,r){"use strict";e.exports={min:"zmin",max:"zmax"}},{}],1069:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../constants/numerical").BADNUM,a=t("../../plots/cartesian/align_period");e.exports=function(t,e,r,o,s,l){var c=t._length,u=e.makeCalcdata(t,o),f=r.makeCalcdata(t,s);u=a(t,e,o,u),f=a(t,r,s,f);var h,p,d,g,m=t.text,v=void 0!==m&&n.isArray1D(m),y=t.hovertext,x=void 0!==y&&n.isArray1D(y),b=n.distinctVals(u),_=b.vals,w=n.distinctVals(f),T=w.vals,k=[],M=T.length,A=_.length;for(h=0;h<l.length;h++)k[h]=n.init2dArray(M,A);v&&(d=n.init2dArray(M,A)),x&&(g=n.init2dArray(M,A));var S=n.init2dArray(M,A);for(h=0;h<c;h++)if(u[h]!==i&&f[h]!==i){var E=n.findBin(u[h]+b.minDiff/2,_),C=n.findBin(f[h]+w.minDiff/2,T);for(p=0;p<l.length;p++){var L=t[l[p]];k[p][C][E]=L[h],S[C][E]=h}v&&(d[C][E]=m[h]),x&&(g[C][E]=y[h])}for(t["_"+o]=_,t["_"+s]=T,p=0;p<l.length;p++)t["_"+l[p]]=k[p];v&&(t._text=d),x&&(t._hovertext=g),e&&"category"===e.type&&(t["_"+o+"CategoryMap"]=_.map((function(t){return e._categories[t]}))),r&&"category"===r.type&&(t["_"+s+"CategoryMap"]=T.map((function(t){return r._categories[t]}))),t._after2before=S}},{"../../constants/numerical":753,"../../lib":778,"../../plots/cartesian/align_period":825}],1070:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./xyz_defaults"),a=t("../scatter/period_defaults"),o=t("./style_defaults"),s=t("../../components/colorscale/defaults"),l=t("./attributes");e.exports=function(t,e,r,c){function u(r,i){return n.coerce(t,e,l,r,i)}i(t,e,u,c)?(a(t,e,c,u),u("text"),u("hovertext"),u("hovertemplate"),o(t,e,u,c),u("hoverongaps"),u("connectgaps",n.isArray1D(e.z)&&!1!==e.zsmooth),s(t,e,c,u,{prefix:"",cLetter:"z"})):e.visible=!1}},{"../../components/colorscale/defaults":653,"../../lib":778,"../scatter/period_defaults":1207,"./attributes":1065,"./style_defaults":1078,"./xyz_defaults":1079}],1071:[function(t,e,r){"use strict";var n=t("../../lib").maxRowLength;e.exports=function(t){var e,r,i,a,o,s,l,c,u=[],f={},h=[],p=t[0],d=[],g=[0,0,0],m=n(t);for(r=0;r<t.length;r++)for(e=d,d=p,p=t[r+1]||[],i=0;i<m;i++)void 0===d[i]&&((s=(void 0!==d[i-1]?1:0)+(void 0!==d[i+1]?1:0)+(void 0!==e[i]?1:0)+(void 0!==p[i]?1:0))?(0===r&&s++,0===i&&s++,r===t.length-1&&s++,i===d.length-1&&s++,s<4&&(f[[r,i]]=[r,i,s]),u.push([r,i,s])):h.push([r,i]));for(;h.length;){for(l={},c=!1,o=h.length-1;o>=0;o--)(s=((f[[(r=(a=h[o])[0])-1,i=a[1]]]||g)[2]+(f[[r+1,i]]||g)[2]+(f[[r,i-1]]||g)[2]+(f[[r,i+1]]||g)[2])/20)&&(l[a]=[r,i,s],h.splice(o,1),c=!0);if(!c)throw"findEmpties iterated with no new neighbors";for(a in l)f[a]=l[a],u.push(l[a])}return u.sort((function(t,e){return e[2]-t[2]}))}},{"../../lib":778}],1072:[function(t,e,r){"use strict";var n=t("../../components/fx"),i=t("../../lib"),a=t("../../plots/cartesian/axes"),o=t("../../components/colorscale").extractOpts;e.exports=function(t,e,r,s,l,c){var u,f,h,p,d=t.cd[0],g=d.trace,m=t.xa,v=t.ya,y=d.x,x=d.y,b=d.z,_=d.xCenter,w=d.yCenter,T=d.zmask,k=g.zhoverformat,M=y,A=x;if(!1!==t.index){try{h=Math.round(t.index[1]),p=Math.round(t.index[0])}catch(e){return void i.error("Error hovering on heatmap, pointNumber must be [row,col], found:",t.index)}if(h<0||h>=b[0].length||p<0||p>b.length)return}else{if(n.inbox(e-y[0],e-y[y.length-1],0)>0||n.inbox(r-x[0],r-x[x.length-1],0)>0)return;if(c){var S;for(M=[2*y[0]-y[1]],S=1;S<y.length;S++)M.push((y[S]+y[S-1])/2);for(M.push([2*y[y.length-1]-y[y.length-2]]),A=[2*x[0]-x[1]],S=1;S<x.length;S++)A.push((x[S]+x[S-1])/2);A.push([2*x[x.length-1]-x[x.length-2]])}h=Math.max(0,Math.min(M.length-2,i.findBin(e,M))),p=Math.max(0,Math.min(A.length-2,i.findBin(r,A)))}var E,C,L=m.c2p(y[h]),I=m.c2p(y[h+1]),P=v.c2p(x[p]),z=v.c2p(x[p+1]);c?(E=d.orig_x||y,C=d.orig_y||x,I=L,u=E[h],z=P,f=C[p]):(E=d.orig_x||_||y,C=d.orig_y||w||x,u=_?E[h]:(E[h]+E[h+1])/2,f=w?C[p]:(C[p]+C[p+1])/2,m&&"category"===m.type&&(u=y[h]),v&&"category"===v.type&&(f=x[p]),g.zsmooth&&(L=I=m.c2p(u),P=z=v.c2p(f)));var O=b[p][h];if(T&&!T[p][h]&&(O=void 0),void 0!==O||g.hoverongaps){var D;Array.isArray(d.hovertext)&&Array.isArray(d.hovertext[p])?D=d.hovertext[p][h]:Array.isArray(d.text)&&Array.isArray(d.text[p])&&(D=d.text[p][h]);var R=o(g),F={type:"linear",range:[R.min,R.max],hoverformat:k,_separators:m._separators,_numFormat:m._numFormat},B=a.tickText(F,O,"hover").text;return[i.extendFlat(t,{index:g._after2before?g._after2before[p][h]:[p,h],distance:t.maxHoverDistance,spikeDistance:t.maxSpikeDistance,x0:L,x1:I,y0:P,y1:z,xLabelVal:u,yLabelVal:f,zLabelVal:O,zLabel:B,text:D})]}}},{"../../components/colorscale":655,"../../components/fx":683,"../../lib":778,"../../plots/cartesian/axes":828}],1073:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),calc:t("./calc"),plot:t("./plot"),colorbar:t("./colorbar"),style:t("./style"),hoverPoints:t("./hover"),moduleType:"trace",name:"heatmap",basePlotModule:t("../../plots/cartesian"),categories:["cartesian","svg","2dMap","showLegend"],meta:{}}},{"../../plots/cartesian":841,"./attributes":1065,"./calc":1066,"./colorbar":1068,"./defaults":1070,"./hover":1072,"./plot":1076,"./style":1077}],1074:[function(t,e,r){"use strict";var n=t("../../lib"),i=[[-1,0],[1,0],[0,-1],[0,1]];function a(t){return.5-.25*Math.min(1,.5*t)}function o(t,e,r){var n,a,o,s,l,c,u,f,h,p,d,g,m,v=0;for(s=0;s<e.length;s++){for(a=(n=e[s])[0],o=n[1],d=t[a][o],p=0,h=0,l=0;l<4;l++)(u=t[a+(c=i[l])[0]])&&void 0!==(f=u[o+c[1]])&&(0===p?g=m=f:(g=Math.min(g,f),m=Math.max(m,f)),h++,p+=f);if(0===h)throw"iterateInterp2d order is wrong: no defined neighbors";t[a][o]=p/h,void 0===d?h<4&&(v=1):(t[a][o]=(1+r)*t[a][o]-r*d,m>g&&(v=Math.max(v,Math.abs(t[a][o]-d)/(m-g))))}return v}e.exports=function(t,e){var r,i=1;for(o(t,e),r=0;r<e.length&&!(e[r][2]<4);r++);for(e=e.slice(r),r=0;r<100&&i>.01;r++)i=o(t,e,a(i));return i>.01&&n.log("interp2d didn't converge quickly",i),t}},{"../../lib":778}],1075:[function(t,e,r){"use strict";var n=t("../../registry"),i=t("../../lib").isArrayOrTypedArray;e.exports=function(t,e,r,a,o,s){var l,c,u,f=[],h=n.traceIs(t,"contour"),p=n.traceIs(t,"histogram"),d=n.traceIs(t,"gl2d");if(i(e)&&e.length>1&&!p&&"category"!==s.type){var g=e.length;if(!(g<=o))return h?e.slice(0,o):e.slice(0,o+1);if(h||d)f=e.slice(0,o);else if(1===o)f=[e[0]-.5,e[0]+.5];else{for(f=[1.5*e[0]-.5*e[1]],u=1;u<g;u++)f.push(.5*(e[u-1]+e[u]));f.push(1.5*e[g-1]-.5*e[g-2])}if(g<o){var m=f[f.length-1],v=m-f[f.length-2];for(u=g;u<o;u++)m+=v,f.push(m)}}else{var y=t[s._id.charAt(0)+"calendar"];if(p)l=s.r2c(r,0,y);else if(i(e)&&1===e.length)l=e[0];else if(void 0===r)l=0;else{l=("log"===s.type?s.d2c:s.r2c)(r,0,y)}for(c=a||1,u=h||d?0:-.5;u<o;u++)f.push(l+c*u)}return f}},{"../../lib":778,"../../registry":911}],1076:[function(t,e,r){"use strict";var n=t("d3"),i=t("tinycolor2"),a=t("../../registry"),o=t("../../lib"),s=t("../../components/colorscale").makeColorScaleFuncFromTrace,l=t("../../constants/xmlns_namespaces");function c(t,e){var r=e.length-2,n=o.constrain(o.findBin(t,e),0,r),i=e[n],a=e[n+1],s=o.constrain(n+(t-i)/(a-i)-.5,0,r),l=Math.round(s),c=Math.abs(s-l);return s&&s!==r&&c?{bin0:l,frac:c,bin1:Math.round(l+c/(s-l))}:{bin0:l,bin1:l,frac:0}}function u(t,e){var r=e.length-1,n=o.constrain(o.findBin(t,e),0,r),i=e[n],a=(t-i)/(e[n+1]-i)||0;return a<=0?{bin0:n,bin1:n,frac:0}:a<.5?{bin0:n,bin1:n+1,frac:a}:{bin0:n+1,bin1:n,frac:1-a}}function f(t,e,r){t[e]=r[0],t[e+1]=r[1],t[e+2]=r[2],t[e+3]=Math.round(255*r[3])}e.exports=function(t,e,r,h){var p=e.xaxis,d=e.yaxis;o.makeTraceGroups(h,r,"hm").each((function(e){var r,h,g,m,v,y,x=n.select(this),b=e[0],_=b.trace,w=b.z,T=b.x,k=b.y,M=b.xCenter,A=b.yCenter,S=a.traceIs(_,"contour"),E=S?"best":_.zsmooth,C=w.length,L=o.maxRowLength(w),I=!1,P=!1;for(y=0;void 0===r&&y<T.length-1;)r=p.c2p(T[y]),y++;for(y=T.length-1;void 0===h&&y>0;)h=p.c2p(T[y]),y--;for(h<r&&(g=h,h=r,r=g,I=!0),y=0;void 0===m&&y<k.length-1;)m=d.c2p(k[y]),y++;for(y=k.length-1;void 0===v&&y>0;)v=d.c2p(k[y]),y--;if(v<m&&(g=m,m=v,v=g,P=!0),S&&(M=T,A=k,T=b.xfill,k=b.yfill),"fast"!==E){var z="best"===E?0:.5;r=Math.max(-z*p._length,r),h=Math.min((1+z)*p._length,h),m=Math.max(-z*d._length,m),v=Math.min((1+z)*d._length,v)}var O=Math.round(h-r),D=Math.round(v-m);if(O<=0||D<=0){x.selectAll("image").data([]).exit().remove()}else{var R,F;"fast"===E?(R=L,F=C):(R=O,F=D);var B=document.createElement("canvas");B.width=R,B.height=F;var N,j,U=B.getContext("2d"),V=s(_,{noNumericCheck:!0,returnArray:!0});"fast"===E?(N=I?function(t){return L-1-t}:o.identity,j=P?function(t){return C-1-t}:o.identity):(N=function(t){return o.constrain(Math.round(p.c2p(T[t])-r),0,O)},j=function(t){return o.constrain(Math.round(d.c2p(k[t])-m),0,D)});var q,H,G,Y,W,X=j(0),Z=[X,X],J=I?0:1,K=P?0:1,Q=0,$=0,tt=0,et=0;if(E){var rt,nt=0;try{rt=new Uint8Array(O*D*4)}catch(t){rt=new Array(O*D*4)}if("best"===E){var it,at,ot,st=M||T,lt=A||k,ct=new Array(st.length),ut=new Array(lt.length),ft=new Array(O),ht=M?u:c,pt=A?u:c;for(y=0;y<st.length;y++)ct[y]=Math.round(p.c2p(st[y])-r);for(y=0;y<lt.length;y++)ut[y]=Math.round(d.c2p(lt[y])-m);for(y=0;y<O;y++)ft[y]=ht(y,ct);for(H=0;H<D;H++)for(at=w[(it=pt(H,ut)).bin0],ot=w[it.bin1],y=0;y<O;y++,nt+=4)f(rt,nt,W=kt(at,ot,ft[y],it))}else for(H=0;H<C;H++)for(Y=w[H],Z=j(H),y=0;y<O;y++)W=Tt(Y[y],1),f(rt,nt=4*(Z*O+N(y)),W);var dt=U.createImageData(O,D);try{dt.data.set(rt)}catch(t){var gt=dt.data,mt=gt.length;for(H=0;H<mt;H++)gt[H]=rt[H]}U.putImageData(dt,0,0)}else{var vt=_.xgap,yt=_.ygap,xt=Math.floor(vt/2),bt=Math.floor(yt/2);for(H=0;H<C;H++)if(Y=w[H],Z.reverse(),Z[K]=j(H+1),Z[0]!==Z[1]&&void 0!==Z[0]&&void 0!==Z[1])for(q=[G=N(0),G],y=0;y<L;y++)q.reverse(),q[J]=N(y+1),q[0]!==q[1]&&void 0!==q[0]&&void 0!==q[1]&&(W=Tt(Y[y],(q[1]-q[0])*(Z[1]-Z[0])),U.fillStyle="rgba("+W.join(",")+")",U.fillRect(q[0]+xt,Z[0]+bt,q[1]-q[0]-vt,Z[1]-Z[0]-yt))}$=Math.round($/Q),tt=Math.round(tt/Q),et=Math.round(et/Q);var _t=i("rgb("+$+","+tt+","+et+")");t._hmpixcount=(t._hmpixcount||0)+Q,t._hmlumcount=(t._hmlumcount||0)+Q*_t.getLuminance();var wt=x.selectAll("image").data(e);wt.enter().append("svg:image").attr({xmlns:l.svg,preserveAspectRatio:"none"}),wt.attr({height:D,width:O,x:r,y:m,"xlink:href":B.toDataURL("image/png")})}function Tt(t,e){if(void 0!==t){var r=V(t);return r[0]=Math.round(r[0]),r[1]=Math.round(r[1]),r[2]=Math.round(r[2]),Q+=e,$+=r[0]*e,tt+=r[1]*e,et+=r[2]*e,r}return[0,0,0,0]}function kt(t,e,r,n){var i=t[r.bin0];if(void 0===i)return Tt(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,Tt(i+r.frac*c+n.frac*(u+r.frac*a))}}))}},{"../../components/colorscale":655,"../../constants/xmlns_namespaces":754,"../../lib":778,"../../registry":911,d3:169,tinycolor2:576}],1077:[function(t,e,r){"use strict";var n=t("d3");e.exports=function(t){n.select(t).selectAll(".hm image").style("opacity",(function(t){return t.trace.opacity}))}},{d3:169}],1078:[function(t,e,r){"use strict";e.exports=function(t,e,r){!1===r("zsmooth")&&(r("xgap"),r("ygap")),r("zhoverformat")}},{}],1079:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../lib"),a=t("../../registry");function o(t,e){var r=e(t);return"scaled"===(r?e(t+"type","array"):"scaled")&&(e(t+"0"),e("d"+t)),r}e.exports=function(t,e,r,s,l,c){var u,f,h=r("z");if(l=l||"x",c=c||"y",void 0===h||!h.length)return 0;if(i.isArray1D(t.z)){u=r(l),f=r(c);var p=i.minRowLength(u),d=i.minRowLength(f);if(0===p||0===d)return 0;e._length=Math.min(p,d,h.length)}else{if(u=o(l,r),f=o(c,r),!function(t){for(var e,r=!0,a=!1,o=!1,s=0;s<t.length;s++){if(e=t[s],!i.isArrayOrTypedArray(e)){r=!1;break}e.length>0&&(a=!0);for(var l=0;l<e.length;l++)if(n(e[l])){o=!0;break}}return r&&a&&o}(h))return 0;r("transpose"),e._length=null}return"heatmapgl"===t.type||"contourgl"===t.type||a.getComponentMethod("calendars","handleTraceDefaults")(t,e,[l,c],s),!0}},{"../../lib":778,"../../registry":911,"fast-isnumeric":241}],1080:[function(t,e,r){"use strict";for(var n=t("../heatmap/attributes"),i=t("../../components/colorscale/attributes"),a=t("../../lib/extend").extendFlat,o=t("../../plot_api/edit_types").overrideAll,s=["z","x","x0","dx","y","y0","dy","text","transpose","xtype","ytype"],l={},c=0;c<s.length;c++){var u=s[c];l[u]=n[u]}l.zsmooth={valType:"enumerated",values:["fast",!1],dflt:"fast",editType:"calc"},a(l,i("",{cLetter:"z",autoColorDflt:!1})),e.exports=o(l,"calc","nested")},{"../../components/colorscale/attributes":650,"../../lib/extend":768,"../../plot_api/edit_types":810,"../heatmap/attributes":1065}],1081:[function(t,e,r){"use strict";var n=t("gl-heatmap2d"),i=t("../../plots/cartesian/axes"),a=t("../../lib/str2rgbarray");function o(t,e){this.scene=t,this.uid=e,this.type="heatmapgl",this.name="",this.hoverinfo="all",this.xData=[],this.yData=[],this.zData=[],this.textLabels=[],this.idToIndex=[],this.bounds=[0,0,0,0],this.options={zsmooth:"fast",z:[],x:[],y:[],shape:[0,0],colorLevels:[0],colorValues:[0,0,0,1]},this.heatmap=n(t.glplot,this.options),this.heatmap._trace=this}var s=o.prototype;s.handlePick=function(t){var e=this.options,r=e.shape,n=t.pointId,i=n%r[0],a=Math.floor(n/r[0]),o=n;return{trace:this,dataCoord:t.dataCoord,traceCoord:[e.x[i],e.y[a],e.z[o]],textLabel:this.textLabels[n],name:this.name,pointIndex:[a,i],hoverinfo:this.hoverinfo}},s.update=function(t,e){var r=e[0];this.index=t.index,this.name=t.name,this.hoverinfo=t.hoverinfo;var n=r.z;this.options.z=[].concat.apply([],n);var o=n[0].length,s=n.length;this.options.shape=[o,s],this.options.x=r.x,this.options.y=r.y,this.options.zsmooth=t.zsmooth;var l=function(t){for(var e=t.colorscale,r=t.zmin,n=t.zmax,i=e.length,o=new Array(i),s=new Array(4*i),l=0;l<i;l++){var c=e[l],u=a(c[1]);o[l]=r+c[0]*(n-r);for(var f=0;f<4;f++)s[4*l+f]=u[f]}return{colorLevels:o,colorValues:s}}(t);this.options.colorLevels=l.colorLevels,this.options.colorValues=l.colorValues,this.textLabels=[].concat.apply([],t.text),this.heatmap.update(this.options);var c,u,f=this.scene.xaxis,h=this.scene.yaxis;!1===t.zsmooth&&(c={ppad:r.x[1]-r.x[0]},u={ppad:r.y[1]-r.y[0]}),t._extremes[f._id]=i.findExtremes(f,r.x,c),t._extremes[h._id]=i.findExtremes(h,r.y,u)},s.dispose=function(){this.heatmap.dispose()},e.exports=function(t,e,r){var n=new o(t,e.uid);return n.update(e,r),n}},{"../../lib/str2rgbarray":802,"../../plots/cartesian/axes":828,"gl-heatmap2d":271}],1082:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../heatmap/xyz_defaults"),a=t("../../components/colorscale/defaults"),o=t("./attributes");e.exports=function(t,e,r,s){function l(r,i){return n.coerce(t,e,o,r,i)}i(t,e,l,s)?(l("text"),l("zsmooth"),a(t,e,s,l,{prefix:"",cLetter:"z"})):e.visible=!1}},{"../../components/colorscale/defaults":653,"../../lib":778,"../heatmap/xyz_defaults":1079,"./attributes":1080}],1083:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),colorbar:t("../heatmap/colorbar"),calc:t("../heatmap/calc"),plot:t("./convert"),moduleType:"trace",name:"heatmapgl",basePlotModule:t("../../plots/gl2d"),categories:["gl","gl2d","2dMap"],meta:{}}},{"../../plots/gl2d":868,"../heatmap/calc":1066,"../heatmap/colorbar":1068,"./attributes":1080,"./convert":1081,"./defaults":1082}],1084:[function(t,e,r){"use strict";var n=t("../bar/attributes"),i=t("../../plots/template_attributes").hovertemplateAttrs,a=t("./bin_attributes"),o=t("./constants"),s=t("../../lib/extend").extendFlat;e.exports={x:{valType:"data_array",editType:"calc+clearAxisTypes"},y:{valType:"data_array",editType:"calc+clearAxisTypes"},text:s({},n.text,{}),hovertext:s({},n.hovertext,{}),orientation:n.orientation,histfunc:{valType:"enumerated",values:["count","sum","avg","min","max"],dflt:"count",editType:"calc"},histnorm:{valType:"enumerated",values:["","percent","probability","density","probability density"],dflt:"",editType:"calc"},cumulative:{enabled:{valType:"boolean",dflt:!1,editType:"calc"},direction:{valType:"enumerated",values:["increasing","decreasing"],dflt:"increasing",editType:"calc"},currentbin:{valType:"enumerated",values:["include","exclude","half"],dflt:"include",editType:"calc"},editType:"calc"},nbinsx:{valType:"integer",min:0,dflt:0,editType:"calc"},xbins:a("x",!0),nbinsy:{valType:"integer",min:0,dflt:0,editType:"calc"},ybins:a("y",!0),autobinx:{valType:"boolean",dflt:null,editType:"calc"},autobiny:{valType:"boolean",dflt:null,editType:"calc"},bingroup:{valType:"string",dflt:"",editType:"calc"},hovertemplate:i({},{keys:o.eventDataKeys}),marker:n.marker,offsetgroup:n.offsetgroup,alignmentgroup:n.alignmentgroup,selected:n.selected,unselected:n.unselected,_deprecated:{bardir:n._deprecated.bardir}}},{"../../lib/extend":768,"../../plots/template_attributes":906,"../bar/attributes":921,"./bin_attributes":1086,"./constants":1090}],1085:[function(t,e,r){"use strict";e.exports=function(t,e){for(var r=t.length,n=0,i=0;i<r;i++)e[i]?(t[i]/=e[i],n+=t[i]):t[i]=null;return n}},{}],1086:[function(t,e,r){"use strict";e.exports=function(t,e){return{start:{valType:"any",editType:"calc"},end:{valType:"any",editType:"calc"},size:{valType:"any",editType:"calc"},editType:"calc"}}},{}],1087:[function(t,e,r){"use strict";var n=t("fast-isnumeric");e.exports={count:function(t,e,r){return r[t]++,1},sum:function(t,e,r,i){var a=i[e];return n(a)?(a=Number(a),r[t]+=a,a):0},avg:function(t,e,r,i,a){var o=i[e];return n(o)&&(o=Number(o),r[t]+=o,a[t]++),0},min:function(t,e,r,i){var a=i[e];if(n(a)){if(a=Number(a),!n(r[t]))return r[t]=a,a;if(r[t]>a){var o=a-r[t];return r[t]=a,o}}return 0},max:function(t,e,r,i){var a=i[e];if(n(a)){if(a=Number(a),!n(r[t]))return r[t]=a,a;if(r[t]<a){var o=a-r[t];return r[t]=a,o}}return 0}}},{"fast-isnumeric":241}],1088:[function(t,e,r){"use strict";var n=t("../../constants/numerical"),i=n.ONEAVGYEAR,a=n.ONEAVGMONTH,o=n.ONEDAY,s=n.ONEHOUR,l=n.ONEMIN,c=n.ONESEC,u=t("../../plots/cartesian/axes").tickIncrement;function f(t,e,r,n){if(t*e<=0)return 1/0;for(var i=Math.abs(e-t),a="date"===r.type,o=h(i,a),s=0;s<10;s++){var l=h(80*o,a);if(o===l)break;if(!p(l,t,e,a,r,n))break;o=l}return o}function h(t,e){return e&&t>c?t>o?t>1.1*i?i:t>1.1*a?a:o:t>s?s:t>l?l:c:Math.pow(10,Math.floor(Math.log(t)/Math.LN10))}function p(t,e,r,n,a,s){if(n&&t>o){var l=d(e,a,s),c=d(r,a,s),u=t===i?0:1;return l[u]!==c[u]}return Math.floor(r/t)-Math.floor(e/t)>.1}function d(t,e,r){var n=e.c2d(t,i,r).split("-");return""===n[0]&&(n.unshift(),n[0]="-"+n[0]),n}e.exports=function(t,e,r,n,a){var s,l,c=-1.1*e,h=-.1*e,p=t-h,d=r[0],g=r[1],m=Math.min(f(d+h,d+p,n,a),f(g+h,g+p,n,a)),v=Math.min(f(d+c,d+h,n,a),f(g+c,g+h,n,a));if(m>v&&v<Math.abs(g-d)/4e3?(s=m,l=!1):(s=Math.min(m,v),l=!0),"date"===n.type&&s>o){var y=s===i?1:6,x=s===i?"M12":"M1";return function(e,r){var o=n.c2d(e,i,a),s=o.indexOf("-",y);s>0&&(o=o.substr(0,s));var c=n.d2c(o,0,a);if(c<e){var f=u(c,x,!1,a);(c+f)/2<e+t&&(c=f)}return r&&l?u(c,x,!0,a):c}}return function(e,r){var n=s*Math.round(e/s);return n+s/10<e&&n+.9*s<e+t&&(n+=s),r&&l&&(n-=s),n}}},{"../../constants/numerical":753,"../../plots/cartesian/axes":828}],1089:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../lib"),a=t("../../registry"),o=t("../../plots/cartesian/axes"),s=t("../bar/arrays_to_calcdata"),l=t("./bin_functions"),c=t("./norm_functions"),u=t("./average"),f=t("./bin_label_vals");function h(t,e,r,s,l){var c,u,f,p,d,g,m,v=s+"bins",y=t._fullLayout,x=e["_"+s+"bingroup"],b=y._histogramBinOpts[x],_="overlay"===y.barmode,w=function(t){return r.r2c(t,0,p)},T=function(t){return r.c2r(t,0,p)},k="date"===r.type?function(t){return t||0===t?i.cleanDate(t,null,p):null}:function(t){return n(t)?Number(t):null};function M(t,e,r){e[t+"Found"]?(e[t]=k(e[t]),null===e[t]&&(e[t]=r[t])):(g[t]=e[t]=r[t],i.nestedProperty(u[0],v+"."+t).set(r[t]))}if(e["_"+s+"autoBinFinished"])delete e["_"+s+"autoBinFinished"];else{u=b.traces;var A=[],S=!0,E=!1,C=!1;for(c=0;c<u.length;c++)if((f=u[c]).visible){var L=b.dirs[c];d=f["_"+L+"pos0"]=r.makeCalcdata(f,L),A=i.concat(A,d),delete f["_"+s+"autoBinFinished"],!0===e.visible&&(S?S=!1:(delete f._autoBin,f["_"+s+"autoBinFinished"]=1),a.traceIs(f,"2dMap")&&(E=!0),"histogram2dcontour"===f.type&&(C=!0))}p=u[0][s+"calendar"];var I=o.autoBin(A,r,b.nbins,E,p,b.sizeFound&&b.size),P=u[0]._autoBin={};if(g=P[b.dirs[0]]={},C&&(b.size||(I.start=T(o.tickIncrement(w(I.start),I.size,!0,p))),void 0===b.end&&(I.end=T(o.tickIncrement(w(I.end),I.size,!1,p)))),_&&!a.traceIs(e,"2dMap")&&0===I._dataSpan&&"category"!==r.type&&"multicategory"!==r.type){if(l)return[I,d,!0];I=function(t,e,r,n,a){var o,s,l,c=t._fullLayout,u=function(t,e){for(var r=e.xaxis,n=e.yaxis,i=e.orientation,a=[],o=t._fullData,s=0;s<o.length;s++){var l=o[s];"histogram"===l.type&&!0===l.visible&&l.orientation===i&&l.xaxis===r&&l.yaxis===n&&a.push(l)}return a}(t,e),f=!1,p=1/0,d=[e];for(o=0;o<u.length;o++)if((s=u[o])===e)f=!0;else if(f){var g=h(t,s,r,n,!0),m=g[0],v=g[2];s["_"+n+"autoBinFinished"]=1,s["_"+n+"pos0"]=g[1],v?d.push(s):p=Math.min(p,m.size)}else l=c._histogramBinOpts[s["_"+n+"bingroup"]],p=Math.min(p,l.size||s[a].size);var y=new Array(d.length);for(o=0;o<d.length;o++)for(var x=d[o]["_"+n+"pos0"],b=0;b<x.length;b++)if(void 0!==x[b]){y[o]=x[b];break}isFinite(p)||(p=i.distinctVals(y).minDiff);for(o=0;o<d.length;o++){var _=(s=d[o])[n+"calendar"],w={start:r.c2r(y[o]-p/2,0,_),end:r.c2r(y[o]+p/2,0,_),size:p};s._input[a]=s[a]=w,(l=c._histogramBinOpts[s["_"+n+"bingroup"]])&&i.extendFlat(l,w)}return e[a]}(t,e,r,s,v)}(m=f.cumulative||{}).enabled&&"include"!==m.currentbin&&("decreasing"===m.direction?I.start=T(o.tickIncrement(w(I.start),I.size,!0,p)):I.end=T(o.tickIncrement(w(I.end),I.size,!1,p))),b.size=I.size,b.sizeFound||(g.size=I.size,i.nestedProperty(u[0],v+".size").set(I.size)),M("start",b,I),M("end",b,I)}d=e["_"+s+"pos0"],delete e["_"+s+"pos0"];var z=e._input[v]||{},O=i.extendFlat({},b),D=b.start,R=r.r2l(z.start),F=void 0!==R;if((b.startFound||F)&&R!==r.r2l(D)){var B=F?R:i.aggNums(Math.min,null,d),N={type:"category"===r.type||"multicategory"===r.type?"linear":r.type,r2l:r.r2l,dtick:b.size,tick0:D,calendar:p,range:[B,o.tickIncrement(B,b.size,!1,p)].map(r.l2r)},j=o.tickFirst(N);j>r.r2l(B)&&(j=o.tickIncrement(j,b.size,!0,p)),O.start=r.l2r(j),F||i.nestedProperty(e,v+".start").set(O.start)}var U=b.end,V=r.r2l(z.end),q=void 0!==V;if((b.endFound||q)&&V!==r.r2l(U)){var H=q?V:i.aggNums(Math.max,null,d);O.end=r.l2r(H),q||i.nestedProperty(e,v+".start").set(O.end)}var G="autobin"+s;return!1===e._input[G]&&(e._input[v]=i.extendFlat({},e[v]||{}),delete e._input[G],delete e[G]),[O,d]}e.exports={calc:function(t,e){var r,a,p,d,g=[],m=[],v=o.getFromId(t,"h"===e.orientation?e.yaxis:e.xaxis),y="h"===e.orientation?"y":"x",x={x:"y",y:"x"}[y],b=e[y+"calendar"],_=e.cumulative,w=h(t,e,v,y),T=w[0],k=w[1],M="string"==typeof T.size,A=[],S=M?A:T,E=[],C=[],L=[],I=0,P=e.histnorm,z=e.histfunc,O=-1!==P.indexOf("density");_.enabled&&O&&(P=P.replace(/ ?density$/,""),O=!1);var D,R="max"===z||"min"===z?null:0,F=l.count,B=c[P],N=!1,j=function(t){return v.r2c(t,0,b)};for(i.isArrayOrTypedArray(e[x])&&"count"!==z&&(D=e[x],N="avg"===z,F=l[z]),r=j(T.start),p=j(T.end)+(r-o.tickIncrement(r,T.size,!1,b))/1e6;r<p&&g.length<1e6&&(a=o.tickIncrement(r,T.size,!1,b),g.push((r+a)/2),m.push(R),L.push([]),A.push(r),O&&E.push(1/(a-r)),N&&C.push(0),!(a<=r));)r=a;A.push(r),M||"date"!==v.type||(S={start:j(S.start),end:j(S.end),size:S.size}),t._fullLayout._roundFnOpts||(t._fullLayout._roundFnOpts={});var U=e["_"+y+"bingroup"],V={leftGap:1/0,rightGap:1/0};U&&(t._fullLayout._roundFnOpts[U]||(t._fullLayout._roundFnOpts[U]=V),V=t._fullLayout._roundFnOpts[U]);var q,H=m.length,G=!0,Y=V.leftGap,W=V.rightGap,X={};for(r=0;r<k.length;r++){var Z=k[r];(d=i.findBin(Z,S))>=0&&d<H&&(I+=F(d,r,m,D,C),G&&L[d].length&&Z!==k[L[d][0]]&&(G=!1),L[d].push(r),X[r]=d,Y=Math.min(Y,Z-A[d]),W=Math.min(W,A[d+1]-Z))}V.leftGap=Y,V.rightGap=W,G||(q=function(e,r){return function(){var n=t._fullLayout._roundFnOpts[U];return f(n.leftGap,n.rightGap,A,v,b)(e,r)}}),N&&(I=u(m,C)),B&&B(m,I,E),_.enabled&&function(t,e,r){var n,i,a;function o(e){a=t[e],t[e]/=2}function s(e){i=t[e],t[e]=a+i/2,a+=i}if("half"===r)if("increasing"===e)for(o(0),n=1;n<t.length;n++)s(n);else for(o(t.length-1),n=t.length-2;n>=0;n--)s(n);else if("increasing"===e){for(n=1;n<t.length;n++)t[n]+=t[n-1];"exclude"===r&&(t.unshift(0),t.pop())}else{for(n=t.length-2;n>=0;n--)t[n]+=t[n+1];"exclude"===r&&(t.push(0),t.shift())}}(m,_.direction,_.currentbin);var J=Math.min(g.length,m.length),K=[],Q=0,$=J-1;for(r=0;r<J;r++)if(m[r]){Q=r;break}for(r=J-1;r>=Q;r--)if(m[r]){$=r;break}for(r=Q;r<=$;r++)if(n(g[r])&&n(m[r])){var tt={p:g[r],s:m[r],b:0};_.enabled||(tt.pts=L[r],G?tt.ph0=tt.ph1=L[r].length?k[L[r][0]]:g[r]:(e._computePh=!0,tt.ph0=q(A[r]),tt.ph1=q(A[r+1],!0))),K.push(tt)}return 1===K.length&&(K[0].width1=o.tickIncrement(K[0].p,T.size,!1,b)-K[0].p),s(K,e),i.isArrayOrTypedArray(e.selectedpoints)&&i.tagSelected(K,e,X),K},calcAllAutoBins:h}},{"../../lib":778,"../../plots/cartesian/axes":828,"../../registry":911,"../bar/arrays_to_calcdata":920,"./average":1085,"./bin_functions":1087,"./bin_label_vals":1088,"./norm_functions":1096,"fast-isnumeric":241}],1090:[function(t,e,r){"use strict";e.exports={eventDataKeys:["binNumber"]}},{}],1091:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../plots/cartesian/axis_ids"),a=t("../../registry").traceIs,o=t("../bar/defaults").handleGroupingDefaults,s=n.nestedProperty,l=t("../../plots/cartesian/constraints").getAxisGroup,c=[{aStr:{x:"xbins.start",y:"ybins.start"},name:"start"},{aStr:{x:"xbins.end",y:"ybins.end"},name:"end"},{aStr:{x:"xbins.size",y:"ybins.size"},name:"size"},{aStr:{x:"nbinsx",y:"nbinsy"},name:"nbins"}],u=["x","y"];e.exports=function(t,e){var r,f,h,p,d,g,m,v=e._histogramBinOpts={},y=[],x={},b=[];function _(t,e){return n.coerce(r._input,r,r._module.attributes,t,e)}function w(t){return"v"===t.orientation?"x":"y"}function T(t,r,a){var o=t.uid+"__"+a;r||(r=o);var s=function(t,r){return i.getFromTrace({_fullLayout:e},t,r).type}(t,a),l=t[a+"calendar"]||"",c=v[r],u=!0;c&&(s===c.axType&&l===c.calendar?(u=!1,c.traces.push(t),c.dirs.push(a)):(r=o,s!==c.axType&&n.warn(["Attempted to group the bins of trace",t.index,"set on a","type:"+s,"axis","with bins on","type:"+c.axType,"axis."].join(" ")),l!==c.calendar&&n.warn(["Attempted to group the bins of trace",t.index,"set with a",l,"calendar","with bins",c.calendar?"on a "+c.calendar+" calendar":"w/o a set calendar"].join(" ")))),u&&(v[r]={traces:[t],dirs:[a],axType:s,calendar:t[a+"calendar"]||""}),t["_"+a+"bingroup"]=r}for(d=0;d<t.length;d++)r=t[d],a(r,"histogram")&&(y.push(r),delete r._xautoBinFinished,delete r._yautoBinFinished,a(r,"2dMap")||o(r._input,r,e,_));var k=e._alignmentOpts||{};for(d=0;d<y.length;d++){if(r=y[d],h="",!a(r,"2dMap")){if(p=w(r),"group"===e.barmode&&r.alignmentgroup){var M=r[p+"axis"],A=l(e,M)+r.orientation;(k[A]||{})[r.alignmentgroup]&&(h=A)}h||"overlay"===e.barmode||(h=l(e,r.xaxis)+l(e,r.yaxis)+w(r))}h?(x[h]||(x[h]=[]),x[h].push(r)):b.push(r)}for(h in x)if(1!==(f=x[h]).length){var S=!1;for(f.length&&(r=f[0],S=_("bingroup")),h=S||h,d=0;d<f.length;d++){var E=(r=f[d])._input.bingroup;E&&E!==h&&n.warn(["Trace",r.index,"must match","within bingroup",h+".","Ignoring its bingroup:",E,"setting."].join(" ")),r.bingroup=h,T(r,h,w(r))}}else b.push(f[0]);for(d=0;d<b.length;d++){r=b[d];var C=_("bingroup");if(a(r,"2dMap"))for(m=0;m<2;m++){var L=_((p=u[m])+"bingroup",C?C+"__"+p:null);T(r,L,p)}else T(r,C,w(r))}for(h in v){var I=v[h];for(f=I.traces,g=0;g<c.length;g++){var P,z,O=c[g],D=O.name;if("nbins"!==D||!I.sizeFound){for(d=0;d<f.length;d++){if(r=f[d],p=I.dirs[d],P=O.aStr[p],void 0!==s(r._input,P).get()){I[D]=_(P),I[D+"Found"]=!0;break}(z=(r._autoBin||{})[p]||{})[D]&&s(r,P).set(z[D])}if("start"===D||"end"===D)for(;d<f.length;d++)(r=f[d])["_"+p+"bingroup"]&&_(P,(z=(r._autoBin||{})[p]||{})[D]);"nbins"!==D||I.sizeFound||I.nbinsFound||(r=f[0],I[D]=_(P))}}}}},{"../../lib":778,"../../plots/cartesian/axis_ids":831,"../../plots/cartesian/constraints":835,"../../registry":911,"../bar/defaults":925}],1092:[function(t,e,r){"use strict";var n=t("../../registry"),i=t("../../lib"),a=t("../../components/color"),o=t("../bar/style_defaults"),s=t("./attributes");e.exports=function(t,e,r,l){function c(r,n){return i.coerce(t,e,s,r,n)}var u=c("x"),f=c("y");c("cumulative.enabled")&&(c("cumulative.direction"),c("cumulative.currentbin")),c("text"),c("hovertext"),c("hovertemplate");var h=c("orientation",f&&!u?"h":"v"),p="v"===h?"x":"y",d="v"===h?"y":"x",g=u&&f?Math.min(i.minRowLength(u)&&i.minRowLength(f)):i.minRowLength(e[p]||[]);if(g){e._length=g,n.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x","y"],l),e[d]&&c("histfunc"),c("histnorm"),c("autobin"+p),o(t,e,c,r,l),i.coerceSelectionMarkerOpacity(e,c);var m=(e.marker.line||{}).color,v=n.getComponentMethod("errorbars","supplyDefaults");v(t,e,m||a.defaultLine,{axis:"y"}),v(t,e,m||a.defaultLine,{axis:"x",inherit:"y"})}else e.visible=!1}},{"../../components/color":643,"../../lib":778,"../../registry":911,"../bar/style_defaults":936,"./attributes":1084}],1093:[function(t,e,r){"use strict";e.exports=function(t,e,r,n,i){if(t.x="xVal"in e?e.xVal:e.x,t.y="yVal"in e?e.yVal:e.y,"zLabelVal"in e&&(t.z=e.zLabelVal),e.xa&&(t.xaxis=e.xa),e.ya&&(t.yaxis=e.ya),!(r.cumulative||{}).enabled){var a,o=Array.isArray(i)?n[0].pts[i[0]][i[1]]:n[i].pts;if(t.pointNumbers=o,t.binNumber=t.pointNumber,delete t.pointNumber,delete t.pointIndex,r._indexToPoints){a=[];for(var s=0;s<o.length;s++)a=a.concat(r._indexToPoints[o[s]])}else a=o;t.pointIndices=a}return t}},{}],1094:[function(t,e,r){"use strict";var n=t("../bar/hover").hoverPoints,i=t("../../plots/cartesian/axes").hoverLabelText;e.exports=function(t,e,r,a){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="h"===l.orientation?"y":"x";t[c+"Label"]=i(t[c+"a"],s.ph0,s.ph1)}return o}}},{"../../plots/cartesian/axes":828,"../bar/hover":928}],1095:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),layoutAttributes:t("../bar/layout_attributes"),supplyDefaults:t("./defaults"),crossTraceDefaults:t("./cross_trace_defaults"),supplyLayoutDefaults:t("../bar/layout_defaults"),calc:t("./calc").calc,crossTraceCalc:t("../bar/cross_trace_calc").crossTraceCalc,plot:t("../bar/plot").plot,layerName:"barlayer",style:t("../bar/style").style,styleOnSelect:t("../bar/style").styleOnSelect,colorbar:t("../scatter/marker_colorbar"),hoverPoints:t("./hover"),selectPoints:t("../bar/select"),eventData:t("./event_data"),moduleType:"trace",name:"histogram",basePlotModule:t("../../plots/cartesian"),categories:["bar-like","cartesian","svg","bar","histogram","oriented","errorBarsOK","showLegend"],meta:{}}},{"../../plots/cartesian":841,"../bar/cross_trace_calc":924,"../bar/layout_attributes":930,"../bar/layout_defaults":931,"../bar/plot":932,"../bar/select":933,"../bar/style":935,"../scatter/marker_colorbar":1205,"./attributes":1084,"./calc":1089,"./cross_trace_defaults":1091,"./defaults":1092,"./event_data":1093,"./hover":1094}],1096:[function(t,e,r){"use strict";e.exports={percent:function(t,e){for(var r=t.length,n=100/e,i=0;i<r;i++)t[i]*=n},probability:function(t,e){for(var r=t.length,n=0;n<r;n++)t[n]/=e},density:function(t,e,r,n){var i=t.length;n=n||1;for(var a=0;a<i;a++)t[a]*=r[a]*n},"probability density":function(t,e,r,n){var i=t.length;n&&(e/=n);for(var a=0;a<i;a++)t[a]*=r[a]/e}}},{}],1097:[function(t,e,r){"use strict";var n=t("../histogram/attributes"),i=t("../histogram/bin_attributes"),a=t("../heatmap/attributes"),o=t("../../plots/attributes"),s=t("../../plots/template_attributes").hovertemplateAttrs,l=t("../../components/colorscale/attributes"),c=t("../../lib/extend").extendFlat;e.exports=c({x:n.x,y:n.y,z:{valType:"data_array",editType:"calc"},marker:{color:{valType:"data_array",editType:"calc"},editType:"calc"},histnorm:n.histnorm,histfunc:n.histfunc,nbinsx:n.nbinsx,xbins:i("x"),nbinsy:n.nbinsy,ybins:i("y"),autobinx:n.autobinx,autobiny:n.autobiny,bingroup:c({},n.bingroup,{}),xbingroup:c({},n.bingroup,{}),ybingroup:c({},n.bingroup,{}),xgap:a.xgap,ygap:a.ygap,zsmooth:a.zsmooth,zhoverformat:a.zhoverformat,hovertemplate:s({},{keys:"z"}),showlegend:c({},o.showlegend,{dflt:!1})},l("",{cLetter:"z",autoColorDflt:!1}))},{"../../components/colorscale/attributes":650,"../../lib/extend":768,"../../plots/attributes":824,"../../plots/template_attributes":906,"../heatmap/attributes":1065,"../histogram/attributes":1084,"../histogram/bin_attributes":1086}],1098:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../plots/cartesian/axes"),a=t("../histogram/bin_functions"),o=t("../histogram/norm_functions"),s=t("../histogram/average"),l=t("../histogram/bin_label_vals"),c=t("../histogram/calc").calcAllAutoBins;function u(t,e,r,n){var i,a=new Array(t);if(n)for(i=0;i<t;i++)a[i]=1/(e[i+1]-e[i]);else{var o=1/r;for(i=0;i<t;i++)a[i]=o}return a}function f(t,e){return{start:t(e.start),end:t(e.end),size:e.size}}function h(t,e,r,n,i,a){var o,s=t.length-1,c=new Array(s),u=l(r,n,t,i,a);for(o=0;o<s;o++){var f=(e||[])[o];c[o]=void 0===f?[u(t[o]),u(t[o+1],!0)]:[f,f]}return c}e.exports=function(t,e){var r,l,p,d,g=i.getFromId(t,e.xaxis),m=i.getFromId(t,e.yaxis),v=e.xcalendar,y=e.ycalendar,x=function(t){return g.r2c(t,0,v)},b=function(t){return m.r2c(t,0,y)},_=c(t,e,g,"x"),w=_[0],T=_[1],k=c(t,e,m,"y"),M=k[0],A=k[1],S=e._length;T.length>S&&T.splice(S,T.length-S),A.length>S&&A.splice(S,A.length-S);var E=[],C=[],L=[],I="string"==typeof w.size,P="string"==typeof M.size,z=[],O=[],D=I?z:w,R=P?O:M,F=0,B=[],N=[],j=e.histnorm,U=e.histfunc,V=-1!==j.indexOf("density"),q="max"===U||"min"===U?null:0,H=a.count,G=o[j],Y=!1,W=[],X=[],Z="z"in e?e.z:"marker"in e&&Array.isArray(e.marker.color)?e.marker.color:"";Z&&"count"!==U&&(Y="avg"===U,H=a[U]);var J=w.size,K=x(w.start),Q=x(w.end)+(K-i.tickIncrement(K,J,!1,v))/1e6;for(r=K;r<Q;r=i.tickIncrement(r,J,!1,v))C.push(q),z.push(r),Y&&L.push(0);z.push(r);var $,tt=C.length,et=(r-K)/tt,rt=($=K+et/2,g.c2r($,0,v)),nt=M.size,it=b(M.start),at=b(M.end)+(it-i.tickIncrement(it,nt,!1,y))/1e6;for(r=it;r<at;r=i.tickIncrement(r,nt,!1,y)){E.push(C.slice()),O.push(r);var ot=new Array(tt);for(l=0;l<tt;l++)ot[l]=[];N.push(ot),Y&&B.push(L.slice())}O.push(r);var st=E.length,lt=(r-it)/st,ct=function(t){return m.c2r(t,0,y)}(it+lt/2);V&&(W=u(C.length,D,et,I),X=u(E.length,R,lt,P)),I||"date"!==g.type||(D=f(x,D)),P||"date"!==m.type||(R=f(b,R));var ut=!0,ft=!0,ht=new Array(tt),pt=new Array(st),dt=1/0,gt=1/0,mt=1/0,vt=1/0;for(r=0;r<S;r++){var yt=T[r],xt=A[r];p=n.findBin(yt,D),d=n.findBin(xt,R),p>=0&&p<tt&&d>=0&&d<st&&(F+=H(p,r,E[d],Z,B[d]),N[d][p].push(r),ut&&(void 0===ht[p]?ht[p]=yt:ht[p]!==yt&&(ut=!1)),ft&&(void 0===pt[d]?pt[d]=xt:pt[d]!==xt&&(ft=!1)),dt=Math.min(dt,yt-z[p]),gt=Math.min(gt,z[p+1]-yt),mt=Math.min(mt,xt-O[d]),vt=Math.min(vt,O[d+1]-xt))}if(Y)for(d=0;d<st;d++)F+=s(E[d],B[d]);if(G)for(d=0;d<st;d++)G(E[d],F,W,X[d]);return{x:T,xRanges:h(z,ut&&ht,dt,gt,g,v),x0:rt,dx:et,y:A,yRanges:h(O,ft&&pt,mt,vt,m,y),y0:ct,dy:lt,z:E,pts:N}}},{"../../lib":778,"../../plots/cartesian/axes":828,"../histogram/average":1085,"../histogram/bin_functions":1087,"../histogram/bin_label_vals":1088,"../histogram/calc":1089,"../histogram/norm_functions":1096}],1099:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./sample_defaults"),a=t("../heatmap/style_defaults"),o=t("../../components/colorscale/defaults"),s=t("./attributes");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&&(a(t,e,c,l),o(t,e,l,c,{prefix:"",cLetter:"z"}),c("hovertemplate"))}},{"../../components/colorscale/defaults":653,"../../lib":778,"../heatmap/style_defaults":1078,"./attributes":1097,"./sample_defaults":1102}],1100:[function(t,e,r){"use strict";var n=t("../heatmap/hover"),i=t("../../plots/cartesian/axes").hoverLabelText;e.exports=function(t,e,r,a,o,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],p=h.xRanges[f],d=h.yRanges[u];return t.xLabel=i(t.xa,p[0],p[1]),t.yLabel=i(t.ya,d[0],d[1]),l}}},{"../../plots/cartesian/axes":828,"../heatmap/hover":1072}],1101:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),crossTraceDefaults:t("../histogram/cross_trace_defaults"),calc:t("../heatmap/calc"),plot:t("../heatmap/plot"),layerName:"heatmaplayer",colorbar:t("../heatmap/colorbar"),style:t("../heatmap/style"),hoverPoints:t("./hover"),eventData:t("../histogram/event_data"),moduleType:"trace",name:"histogram2d",basePlotModule:t("../../plots/cartesian"),categories:["cartesian","svg","2dMap","histogram","showLegend"],meta:{}}},{"../../plots/cartesian":841,"../heatmap/calc":1066,"../heatmap/colorbar":1068,"../heatmap/plot":1076,"../heatmap/style":1077,"../histogram/cross_trace_defaults":1091,"../histogram/event_data":1093,"./attributes":1097,"./defaults":1099,"./hover":1100}],1102:[function(t,e,r){"use strict";var n=t("../../registry"),i=t("../../lib");e.exports=function(t,e,r,a){var o=r("x"),s=r("y"),l=i.minRowLength(o),c=i.minRowLength(s);l&&c?(e._length=Math.min(l,c),n.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x","y"],a),(r("z")||r("marker.color"))&&r("histfunc"),r("histnorm"),r("autobinx"),r("autobiny")):e.visible=!1}},{"../../lib":778,"../../registry":911}],1103:[function(t,e,r){"use strict";var n=t("../histogram2d/attributes"),i=t("../contour/attributes"),a=t("../../components/colorscale/attributes"),o=t("../../lib/extend").extendFlat;e.exports=o({x:n.x,y:n.y,z:n.z,marker:n.marker,histnorm:n.histnorm,histfunc:n.histfunc,nbinsx:n.nbinsx,xbins:n.xbins,nbinsy:n.nbinsy,ybins:n.ybins,autobinx:n.autobinx,autobiny:n.autobiny,bingroup:n.bingroup,xbingroup:n.xbingroup,ybingroup:n.ybingroup,autocontour:i.autocontour,ncontours:i.ncontours,contours:i.contours,line:{color:i.line.color,width:o({},i.line.width,{dflt:.5}),dash:i.line.dash,smoothing:i.line.smoothing,editType:"plot"},zhoverformat:n.zhoverformat,hovertemplate:n.hovertemplate},a("",{cLetter:"z",editTypeOverride:"calc"}))},{"../../components/colorscale/attributes":650,"../../lib/extend":768,"../contour/attributes":1008,"../histogram2d/attributes":1097}],1104:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../histogram2d/sample_defaults"),a=t("../contour/contours_defaults"),o=t("../contour/style_defaults"),s=t("./attributes");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&&(a(t,e,c,(function(r){return n.coerce2(t,e,s,r)})),o(t,e,c,l),c("hovertemplate"))}},{"../../lib":778,"../contour/contours_defaults":1015,"../contour/style_defaults":1029,"../histogram2d/sample_defaults":1102,"./attributes":1103}],1105:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),crossTraceDefaults:t("../histogram/cross_trace_defaults"),calc:t("../contour/calc"),plot:t("../contour/plot").plot,layerName:"contourlayer",style:t("../contour/style"),colorbar:t("../contour/colorbar"),hoverPoints:t("../contour/hover"),moduleType:"trace",name:"histogram2dcontour",basePlotModule:t("../../plots/cartesian"),categories:["cartesian","svg","2dMap","contour","histogram","showLegend"],meta:{}}},{"../../plots/cartesian":841,"../contour/calc":1009,"../contour/colorbar":1011,"../contour/hover":1021,"../contour/plot":1026,"../contour/style":1028,"../histogram/cross_trace_defaults":1091,"./attributes":1103,"./defaults":1104}],1106:[function(t,e,r){"use strict";for(var n=t("../../plots/attributes"),i=t("../../plots/template_attributes").hovertemplateAttrs,a=t("../../lib/extend").extendFlat,o=t("./constants").colormodel,s=["rgb","rgba","rgba256","hsl","hsla"],l=[],c=[],u=0;u<s.length;u++){var f=o[s[u]];l.push("For the `"+s[u]+"` colormodel, it is ["+(f.zminDflt||f.min).join(", ")+"]."),c.push("For the `"+s[u]+"` colormodel, it is ["+(f.zmaxDflt||f.max).join(", ")+"].")}e.exports=a({source:{valType:"string",editType:"calc"},z:{valType:"data_array",editType:"calc"},colormodel:{valType:"enumerated",values:s,editType:"calc"},zmin:{valType:"info_array",items:[{valType:"number",editType:"calc"},{valType:"number",editType:"calc"},{valType:"number",editType:"calc"},{valType:"number",editType:"calc"}],editType:"calc"},zmax:{valType:"info_array",items:[{valType:"number",editType:"calc"},{valType:"number",editType:"calc"},{valType:"number",editType:"calc"},{valType:"number",editType:"calc"}],editType:"calc"},x0:{valType:"any",dflt:0,editType:"calc+clearAxisTypes"},y0:{valType:"any",dflt:0,editType:"calc+clearAxisTypes"},dx:{valType:"number",dflt:1,editType:"calc"},dy:{valType:"number",dflt:1,editType:"calc"},text:{valType:"data_array",editType:"plot"},hovertext:{valType:"data_array",editType:"plot"},hoverinfo:a({},n.hoverinfo,{flags:["x","y","z","color","name","text"],dflt:"x+y+z+text+name"}),hovertemplate:i({},{keys:["z","color","colormodel"]}),transforms:void 0})},{"../../lib/extend":768,"../../plots/attributes":824,"../../plots/template_attributes":906,"./constants":1108}],1107:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./constants"),a=t("fast-isnumeric"),o=t("../../plots/cartesian/axes"),s=t("../../lib").maxRowLength,l=t("./helpers").getImageSize;function c(t,e,r,i){return function(a){return n.constrain((a-t)*e,r,i)}}function u(t,e){return function(r){return n.constrain(r,t,e)}}e.exports=function(t,e){var r,n;if(e._hasZ)r=e.z.length,n=s(e.z);else if(e._hasSource){var f=l(e.source);r=f.height,n=f.width}var h,p=o.getFromId(t,e.xaxis||"x"),d=o.getFromId(t,e.yaxis||"y"),g=p.d2c(e.x0)-e.dx/2,m=d.d2c(e.y0)-e.dy/2,v=[g,g+n*e.dx],y=[m,m+r*e.dy];if(p&&"log"===p.type)for(h=0;h<n;h++)v.push(g+h*e.dx);if(d&&"log"===d.type)for(h=0;h<r;h++)y.push(m+h*e.dy);return e._extremes[p._id]=o.findExtremes(p,v),e._extremes[d._id]=o.findExtremes(d,y),e._scaler=function(t){var e=i.colormodel[t.colormodel],r=(e.colormodel||t.colormodel).length;t._sArray=[];for(var n=0;n<r;n++)e.min[n]!==t.zmin[n]||e.max[n]!==t.zmax[n]?t._sArray.push(c(t.zmin[n],(e.max[n]-e.min[n])/(t.zmax[n]-t.zmin[n]),e.min[n],e.max[n])):t._sArray.push(u(e.min[n],e.max[n]));return function(e){for(var n=e.slice(0,r),i=0;i<r;i++){var o=n[i];if(!a(o))return!1;n[i]=t._sArray[i](o)}return n}}(e),[{x0:g,y0:m,z:e.z,w:n,h:r}]}},{"../../lib":778,"../../plots/cartesian/axes":828,"./constants":1108,"./helpers":1111,"fast-isnumeric":241}],1108:[function(t,e,r){"use strict";e.exports={colormodel:{rgb:{min:[0,0,0],max:[255,255,255],fmt:function(t){return t.slice(0,3)},suffix:["","",""]},rgba:{min:[0,0,0,0],max:[255,255,255,1],fmt:function(t){return t.slice(0,4)},suffix:["","","",""]},rgba256:{colormodel:"rgba",zminDflt:[0,0,0,0],zmaxDflt:[255,255,255,255],min:[0,0,0,0],max:[255,255,255,1],fmt:function(t){return t.slice(0,4)},suffix:["","","",""]},hsl:{min:[0,0,0],max:[360,100,100],fmt:function(t){var e=t.slice(0,3);return e[1]=e[1]+"%",e[2]=e[2]+"%",e},suffix:["\xb0","%","%"]},hsla:{min:[0,0,0,0],max:[360,100,100,1],fmt:function(t){var e=t.slice(0,4);return e[1]=e[1]+"%",e[2]=e[2]+"%",e},suffix:["\xb0","%","%",""]}}}},{}],1109:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./attributes"),a=t("./constants"),o=t("../../snapshot/helpers").IMAGE_URL_PREFIX;e.exports=function(t,e){function r(r,a){return n.coerce(t,e,i,r,a)}r("source"),e.source&&!e.source.match(o)&&delete e.source,e._hasSource=!!e.source;var s,l=r("z");(e._hasZ=!(void 0===l||!l.length||!l[0]||!l[0].length),e._hasZ||e._hasSource)?(r("x0"),r("y0"),r("dx"),r("dy"),e._hasZ?(r("colormodel","rgb"),r("zmin",(s=a.colormodel[e.colormodel]).zminDflt||s.min),r("zmax",s.zmaxDflt||s.max)):e._hasSource&&(e.colormodel="rgba256",s=a.colormodel[e.colormodel],e.zmin=s.zminDflt,e.zmax=s.zmaxDflt),r("text"),r("hovertext"),r("hovertemplate"),e._length=null):e.visible=!1}},{"../../lib":778,"../../snapshot/helpers":915,"./attributes":1106,"./constants":1108}],1110:[function(t,e,r){"use strict";e.exports=function(t,e){return"xVal"in e&&(t.x=e.xVal),"yVal"in e&&(t.y=e.yVal),e.xa&&(t.xaxis=e.xa),e.ya&&(t.yaxis=e.ya),t.color=e.color,t.colormodel=e.trace.colormodel,t.z||(t.z=e.color),t}},{}],1111:[function(t,e,r){"use strict";var n=t("image-size"),i=t("../../snapshot/helpers").IMAGE_URL_PREFIX,a=t("buffer/").Buffer;r.getImageSize=function(t){var e=t.replace(i,""),r=new a(e,"base64");return n(r)}},{"../../snapshot/helpers":915,"buffer/":111,"image-size":444}],1112:[function(t,e,r){"use strict";var n=t("../../components/fx"),i=t("../../lib"),a=t("./constants");e.exports=function(t,e,r){var o=t.cd[0],s=o.trace,l=t.xa,c=t.ya;if(!(n.inbox(e-o.x0,e-(o.x0+o.w*s.dx),0)>0||n.inbox(r-o.y0,r-(o.y0+o.h*s.dy),0)>0)){var u,f=Math.floor((e-o.x0)/s.dx),h=Math.floor(Math.abs(r-o.y0)/s.dy);if(s._hasZ?u=o.z[h][f]:s._hasSource&&(u=s._canvas.el.getContext("2d").getImageData(f,h,1,1).data),u){var p,d=o.hi||s.hoverinfo;if(d){var g=d.split("+");-1!==g.indexOf("all")&&(g=["color"]),-1!==g.indexOf("color")&&(p=!0)}var m,v=a.colormodel[s.colormodel],y=v.colormodel||s.colormodel,x=y.length,b=s._scaler(u),_=v.suffix,w=[];(s.hovertemplate||p)&&(w.push("["+[b[0]+_[0],b[1]+_[1],b[2]+_[2]].join(", ")),4===x&&w.push(", "+b[3]+_[3]),w.push("]"),w=w.join(""),t.extraText=y.toUpperCase()+": "+w),Array.isArray(s.hovertext)&&Array.isArray(s.hovertext[h])?m=s.hovertext[h][f]:Array.isArray(s.text)&&Array.isArray(s.text[h])&&(m=s.text[h][f]);var T=c.c2p(o.y0+(h+.5)*s.dy),k=o.x0+(f+.5)*s.dx,M=o.y0+(h+.5)*s.dy,A="["+u.slice(0,s.colormodel.length).join(", ")+"]";return[i.extendFlat(t,{index:[h,f],x0:l.c2p(o.x0+f*s.dx),x1:l.c2p(o.x0+(f+1)*s.dx),y0:T,y1:T,color:b,xVal:k,xLabelVal:k,yVal:M,yLabelVal:M,zLabelVal:A,text:m,hovertemplateLabels:{zLabel:A,colorLabel:w,"color[0]Label":b[0]+_[0],"color[1]Label":b[1]+_[1],"color[2]Label":b[2]+_[2],"color[3]Label":b[3]+_[3]}})]}}}},{"../../components/fx":683,"../../lib":778,"./constants":1108}],1113:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),calc:t("./calc"),plot:t("./plot"),style:t("./style"),hoverPoints:t("./hover"),eventData:t("./event_data"),moduleType:"trace",name:"image",basePlotModule:t("../../plots/cartesian"),categories:["cartesian","svg","2dMap","noSortingByValue"],animatable:!1,meta:{}}},{"../../plots/cartesian":841,"./attributes":1106,"./calc":1107,"./defaults":1109,"./event_data":1110,"./hover":1112,"./plot":1114,"./style":1115}],1114:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../lib"),a=i.strTranslate,o=t("../../constants/xmlns_namespaces"),s=t("./constants"),l=i.isIOS()||i.isSafari()||i.isIE();e.exports=function(t,e,r,c){var u=e.xaxis,f=e.yaxis,h=!(l||t._context._exportedPlot);i.makeTraceGroups(c,r,"im").each((function(e){var r=n.select(this),l=e[0],c=l.trace,p=h&&!c._hasZ&&c._hasSource&&"linear"===u.type&&"linear"===f.type;c._fastImage=p;var d,g,m,v,y,x,b=l.z,_=l.x0,w=l.y0,T=l.w,k=l.h,M=c.dx,A=c.dy;for(x=0;void 0===d&&x<T;)d=u.c2p(_+x*M),x++;for(x=T;void 0===g&&x>0;)g=u.c2p(_+x*M),x--;for(x=0;void 0===v&&x<k;)v=f.c2p(w+x*A),x++;for(x=k;void 0===y&&x>0;)y=f.c2p(w+x*A),x--;if(g<d&&(m=g,g=d,d=m),y<v&&(m=v,v=y,y=m),!p){d=Math.max(-.5*u._length,d),g=Math.min(1.5*u._length,g),v=Math.max(-.5*f._length,v),y=Math.min(1.5*f._length,y)}var S=Math.round(g-d),E=Math.round(y-v);if(S<=0||E<=0){r.selectAll("image").data([]).exit().remove()}else{var C=r.selectAll("image").data([e]);C.enter().append("svg:image").attr({xmlns:o.svg,preserveAspectRatio:"none"}),C.exit().remove();var L="image-rendering: optimizeSpeed; image-rendering: -moz-crisp-edges; image-rendering: -o-crisp-edges; image-rendering: -webkit-optimize-contrast; image-rendering: optimize-contrast; image-rendering: crisp-edges; image-rendering: pixelated;";if(p){var I=i.simpleMap(u.range,u.r2l),P=i.simpleMap(f.range,f.r2l),z=I[1]<I[0],O=P[1]>P[0];if(z||O){var D=d+S/2,R=v+E/2;L+="transform:"+a(D+"px",R+"px")+"scale("+(z?-1:1)+","+(O?-1:1)+")"+a(-D+"px",-R+"px")+";"}}C.attr("style",L);var F=new Promise((function(t){if(c._hasZ)t();else if(c._hasSource)if(c._canvas&&c._canvas.el.width===T&&c._canvas.el.height===k&&c._canvas.source===c.source)t();else{var e=document.createElement("canvas");e.width=T,e.height=k;var r=e.getContext("2d");c._image=c._image||new Image;var n=c._image;n.onload=function(){r.drawImage(n,0,0),c._canvas={el:e,source:c.source},t()},n.setAttribute("src",c.source)}})).then((function(){var t;if(c._hasZ)t=B((function(t,e){return b[e][t]})).toDataURL("image/png");else if(c._hasSource)if(p)t=c.source;else{var e=c._canvas.el.getContext("2d").getImageData(0,0,T,k).data;t=B((function(t,r){var n=4*(r*T+t);return[e[n],e[n+1],e[n+2],e[n+3]]})).toDataURL("image/png")}C.attr({"xlink:href":t,height:E,width:S,x:d,y:v})}));t._promises.push(F)}function B(t){var e=document.createElement("canvas");e.width=S,e.height=E;var r,n=e.getContext("2d"),a=function(t){return i.constrain(Math.round(u.c2p(_+t*M)-d),0,S)},o=function(t){return i.constrain(Math.round(f.c2p(w+t*A)-v),0,E)},h=s.colormodel[c.colormodel],p=h.colormodel||c.colormodel,g=h.fmt;for(x=0;x<l.w;x++){var m=a(x),y=a(x+1);if(y!==m&&!isNaN(y)&&!isNaN(m))for(var b=0;b<l.h;b++){var T=o(b),k=o(b+1);k===T||isNaN(k)||isNaN(T)||!t(x,b)||(r=c._scaler(t(x,b)),n.fillStyle=r?p+"("+g(r).join(",")+")":"rgba(0,0,0,0)",n.fillRect(m,T,y-m,k-T))}}return e}}))}},{"../../constants/xmlns_namespaces":754,"../../lib":778,"./constants":1108,d3:169}],1115:[function(t,e,r){"use strict";var n=t("d3");e.exports=function(t){n.select(t).selectAll(".im image").style("opacity",(function(t){return t[0].trace.opacity}))}},{d3:169}],1116:[function(t,e,r){"use strict";var n=t("../../lib/extend").extendFlat,i=t("../../lib/extend").extendDeep,a=t("../../plot_api/edit_types").overrideAll,o=t("../../plots/font_attributes"),s=t("../../components/color/attributes"),l=t("../../plots/domain").attributes,c=t("../../plots/cartesian/layout_attributes"),u=t("../../plot_api/plot_template").templatedArray,f=t("../../constants/delta.js"),h=(t("../../constants/docs").FORMAT_LINK,o({editType:"plot",colorEditType:"plot"})),p={color:{valType:"color",editType:"plot"},line:{color:{valType:"color",dflt:s.defaultLine,editType:"plot"},width:{valType:"number",min:0,dflt:0,editType:"plot"},editType:"calc"},thickness:{valType:"number",min:0,max:1,dflt:1,editType:"plot"},editType:"calc"},d={valType:"info_array",items:[{valType:"number",editType:"plot"},{valType:"number",editType:"plot"}],editType:"plot"},g=u("step",i({},p,{range:d}));e.exports={mode:{valType:"flaglist",editType:"calc",flags:["number","delta","gauge"],dflt:"number"},value:{valType:"number",editType:"calc",anim:!0},align:{valType:"enumerated",values:["left","center","right"],editType:"plot"},domain:l({name:"indicator",trace:!0,editType:"calc"}),title:{text:{valType:"string",editType:"plot"},align:{valType:"enumerated",values:["left","center","right"],editType:"plot"},font:n({},h,{}),editType:"plot"},number:{valueformat:{valType:"string",dflt:"",editType:"plot"},font:n({},h,{}),prefix:{valType:"string",dflt:"",editType:"plot"},suffix:{valType:"string",dflt:"",editType:"plot"},editType:"plot"},delta:{reference:{valType:"number",editType:"calc"},position:{valType:"enumerated",values:["top","bottom","left","right"],dflt:"bottom",editType:"plot"},relative:{valType:"boolean",editType:"plot",dflt:!1},valueformat:{valType:"string",editType:"plot"},increasing:{symbol:{valType:"string",dflt:f.INCREASING.SYMBOL,editType:"plot"},color:{valType:"color",dflt:f.INCREASING.COLOR,editType:"plot"},editType:"plot"},decreasing:{symbol:{valType:"string",dflt:f.DECREASING.SYMBOL,editType:"plot"},color:{valType:"color",dflt:f.DECREASING.COLOR,editType:"plot"},editType:"plot"},font:n({},h,{}),editType:"calc"},gauge:{shape:{valType:"enumerated",editType:"plot",dflt:"angular",values:["angular","bullet"]},bar:i({},p,{color:{dflt:"green"}}),bgcolor:{valType:"color",editType:"plot"},bordercolor:{valType:"color",dflt:s.defaultLine,editType:"plot"},borderwidth:{valType:"number",min:0,dflt:1,editType:"plot"},axis:a({range:d,visible:n({},c.visible,{dflt:!0}),tickmode:c.tickmode,nticks:c.nticks,tick0:c.tick0,dtick:c.dtick,tickvals:c.tickvals,ticktext:c.ticktext,ticks:n({},c.ticks,{dflt:"outside"}),ticklen:c.ticklen,tickwidth:c.tickwidth,tickcolor:c.tickcolor,showticklabels:c.showticklabels,tickfont:o({}),tickangle:c.tickangle,tickformat:c.tickformat,tickformatstops:c.tickformatstops,tickprefix:c.tickprefix,showtickprefix:c.showtickprefix,ticksuffix:c.ticksuffix,showticksuffix:c.showticksuffix,separatethousands:c.separatethousands,exponentformat:c.exponentformat,minexponent:c.minexponent,showexponent:c.showexponent,editType:"plot"},"plot"),steps:g,threshold:{line:{color:n({},p.line.color,{}),width:n({},p.line.width,{dflt:1}),editType:"plot"},thickness:n({},p.thickness,{dflt:.85}),value:{valType:"number",editType:"calc",dflt:!1},editType:"plot"},editType:"plot"}}},{"../../components/color/attributes":642,"../../constants/delta.js":747,"../../constants/docs":748,"../../lib/extend":768,"../../plot_api/edit_types":810,"../../plot_api/plot_template":817,"../../plots/cartesian/layout_attributes":842,"../../plots/domain":855,"../../plots/font_attributes":856}],1117:[function(t,e,r){"use strict";var n=t("../../plots/plots");r.name="indicator",r.plot=function(t,e,i,a){n.plotBasePlot(r.name,t,e,i,a)},r.clean=function(t,e,i,a){n.cleanBasePlot(r.name,t,e,i,a)}},{"../../plots/plots":891}],1118:[function(t,e,r){"use strict";e.exports={calc:function(t,e){var r=[],n=e.value;"number"!=typeof e._lastValue&&(e._lastValue=e.value);var i=e._lastValue,a=i;return e._hasDelta&&"number"==typeof e.delta.reference&&(a=e.delta.reference),r[0]={y:n,lastY:i,delta:n-a,relativeDelta:(n-a)/a},r}}},{}],1119:[function(t,e,r){"use strict";e.exports={defaultNumberFontSize:80,bulletNumberDomainSize:.25,bulletPadding:.025,innerRadius:.75,valueThickness:.5,titlePadding:5,horizontalPadding:10}},{}],1120:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./attributes"),a=t("../../plots/domain").defaults,o=t("../../plot_api/plot_template"),s=t("../../plots/array_container_defaults"),l=t("./constants.js"),c=t("../../plots/cartesian/tick_value_defaults"),u=t("../../plots/cartesian/tick_mark_defaults"),f=t("../../plots/cartesian/tick_label_defaults");function h(t,e){function r(r,a){return n.coerce(t,e,i.gauge.steps,r,a)}r("color"),r("line.color"),r("line.width"),r("range"),r("thickness")}e.exports={supplyDefaults:function(t,e,r,p){function d(r,a){return n.coerce(t,e,i,r,a)}a(e,p,d),d("mode"),e._hasNumber=-1!==e.mode.indexOf("number"),e._hasDelta=-1!==e.mode.indexOf("delta"),e._hasGauge=-1!==e.mode.indexOf("gauge");var g=d("value");e._range=[0,"number"==typeof g?1.5*g:1];var m,v,y,x,b,_,w=new Array(2);function T(t,e){return n.coerce(y,x,i.gauge,t,e)}function k(t,e){return n.coerce(b,_,i.gauge.axis,t,e)}if(e._hasNumber&&(d("number.valueformat"),d("number.font.color",p.font.color),d("number.font.family",p.font.family),d("number.font.size"),void 0===e.number.font.size&&(e.number.font.size=l.defaultNumberFontSize,w[0]=!0),d("number.prefix"),d("number.suffix"),m=e.number.font.size),e._hasDelta&&(d("delta.font.color",p.font.color),d("delta.font.family",p.font.family),d("delta.font.size"),void 0===e.delta.font.size&&(e.delta.font.size=(e._hasNumber?.5:1)*(m||l.defaultNumberFontSize),w[1]=!0),d("delta.reference",e.value),d("delta.relative"),d("delta.valueformat",e.delta.relative?"2%":""),d("delta.increasing.symbol"),d("delta.increasing.color"),d("delta.decreasing.symbol"),d("delta.decreasing.color"),d("delta.position"),v=e.delta.font.size),e._scaleNumbers=(!e._hasNumber||w[0])&&(!e._hasDelta||w[1])||!1,d("title.font.color",p.font.color),d("title.font.family",p.font.family),d("title.font.size",.25*(m||v||l.defaultNumberFontSize)),d("title.text"),e._hasGauge){(y=t.gauge)||(y={}),x=o.newContainer(e,"gauge"),T("shape"),(e._isBullet="bullet"===e.gauge.shape)||d("title.align","center"),(e._isAngular="angular"===e.gauge.shape)||d("align","center"),T("bgcolor",p.paper_bgcolor),T("borderwidth"),T("bordercolor"),T("bar.color"),T("bar.line.color"),T("bar.line.width"),T("bar.thickness",l.valueThickness*("bullet"===e.gauge.shape?.5:1)),s(y,x,{name:"steps",handleItemDefaults:h}),T("threshold.value"),T("threshold.thickness"),T("threshold.line.width"),T("threshold.line.color"),b={},y&&(b=y.axis||{}),_=o.newContainer(x,"axis"),k("visible"),e._range=k("range",e._range);var M={outerTicks:!0};c(b,_,k,"linear"),f(b,_,k,"linear",M),u(b,_,k,M)}else d("title.align","center"),d("align","center"),e._isAngular=e._isBullet=!1;e._length=null}}},{"../../lib":778,"../../plot_api/plot_template":817,"../../plots/array_container_defaults":823,"../../plots/cartesian/tick_label_defaults":849,"../../plots/cartesian/tick_mark_defaults":850,"../../plots/cartesian/tick_value_defaults":851,"../../plots/domain":855,"./attributes":1116,"./constants.js":1119}],1121:[function(t,e,r){"use strict";e.exports={moduleType:"trace",name:"indicator",basePlotModule:t("./base_plot"),categories:["svg","noOpacity","noHover"],animatable:!0,attributes:t("./attributes"),supplyDefaults:t("./defaults").supplyDefaults,calc:t("./calc").calc,plot:t("./plot"),meta:{}}},{"./attributes":1116,"./base_plot":1117,"./calc":1118,"./defaults":1120,"./plot":1122}],1122:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../lib"),a=i.strScale,o=i.strTranslate,s=i.rad2deg,l=t("../../constants/alignment").MID_SHIFT,c=t("../../components/drawing"),u=t("./constants"),f=t("../../lib/svg_text_utils"),h=t("../../plots/cartesian/axes"),p=t("../../plots/cartesian/axis_defaults"),d=t("../../plots/cartesian/position_defaults"),g=t("../../plots/cartesian/layout_attributes"),m=t("../../components/color"),v={left:"start",center:"middle",right:"end"},y={left:0,center:.5,right:1},x=/[yzafpn\xb5mkMGTPEZY]/;function b(t){return t&&t.duration>0}function _(t){t.each((function(t){m.stroke(n.select(this),t.line.color)})).each((function(t){m.fill(n.select(this),t.color)})).style("stroke-width",(function(t){return t.line.width}))}function w(t,e,r){var n=t._fullLayout,a=i.extendFlat({type:"linear",ticks:"outside",range:r,showline:!0},e),o={type:"linear",_id:"x"+e._id},s={letter:"x",font:n.font,noHover:!0,noTickson:!0};function l(t,e){return i.coerce(a,o,g,t,e)}return p(a,o,l,s,n),d(a,o,l,s),o}function T(t,e,r){return[Math.min(e/t.width,r/t.height),t,e+"x"+r]}function k(t,e,r,i){var a=document.createElementNS("http://www.w3.org/2000/svg","text"),o=n.select(a);return o.text(t).attr("x",0).attr("y",0).attr("text-anchor",r).attr("data-unformatted",t).call(f.convertToTspans,i).call(c.font,e),c.bBox(o.node())}function M(t,e,r,n,a,o){var s="_cache"+e;t[s]&&t[s].key===a||(t[s]={key:a,value:r});var l=i.aggNums(o,null,[t[s].value,n],2);return t[s].value=l,l}e.exports=function(t,e,r,p){var d,g=t._fullLayout;b(r)&&p&&(d=p()),i.makeTraceGroups(g._indicatorlayer,e,"trace").each((function(e){var p,A,S,E,C,L=e[0].trace,I=n.select(this),P=L._hasGauge,z=L._isAngular,O=L._isBullet,D=L.domain,R={w:g._size.w*(D.x[1]-D.x[0]),h:g._size.h*(D.y[1]-D.y[0]),l:g._size.l+g._size.w*D.x[0],r:g._size.r+g._size.w*(1-D.x[1]),t:g._size.t+g._size.h*(1-D.y[1]),b:g._size.b+g._size.h*D.y[0]},F=R.l+R.w/2,B=R.t+R.h/2,N=Math.min(R.w/2,R.h),j=u.innerRadius*N,U=L.align||"center";if(A=B,P){if(z&&(p=F,A=B+N/2,S=function(t){return function(t,e){var r=Math.sqrt(t.width/2*(t.width/2)+t.height*t.height);return[e/r,t,e]}(t,.9*j)}),O){var V=u.bulletPadding,q=1-u.bulletNumberDomainSize+V;p=R.l+(q+(1-q)*y[U])*R.w,S=function(t){return T(t,(u.bulletNumberDomainSize-V)*R.w,R.h)}}}else p=R.l+y[U]*R.w,S=function(t){return T(t,R.w,R.h)};!function(t,e,r,s){var l,u,p,d=r[0].trace,g=s.numbersX,_=s.numbersY,T=d.align||"center",A=v[T],S=s.transitionOpts,E=s.onComplete,C=i.ensureSingle(e,"g","numbers"),L=[];d._hasNumber&&L.push("number");d._hasDelta&&(L.push("delta"),"left"===d.delta.position&&L.reverse());var I=C.selectAll("text").data(L);function P(e,r,n,i){if(!e.match("s")||n>=0==i>=0||r(n).slice(-1).match(x)||r(i).slice(-1).match(x))return r;var a=e.slice().replace("s","f").replace(/\d+/,(function(t){return parseInt(t)-1})),o=w(t,{tickformat:a});return function(t){return Math.abs(t)<1?h.tickText(o,t).text:r(t)}}I.enter().append("text"),I.attr("text-anchor",(function(){return A})).attr("class",(function(t){return t})).attr("x",null).attr("y",null).attr("dx",null).attr("dy",null),I.exit().remove();var z,O=d.mode+d.align;d._hasDelta&&(z=function(){var e=w(t,{tickformat:d.delta.valueformat},d._range);e.setScale(),h.prepTicks(e);var i=function(t){return h.tickText(e,t).text},a=function(t){return d.delta.relative?t.relativeDelta:t.delta},o=function(t,e){return 0===t||"number"!=typeof t||isNaN(t)?"-":(t>0?d.delta.increasing.symbol:d.delta.decreasing.symbol)+e(t)},s=function(t){return t.delta>=0?d.delta.increasing.color:d.delta.decreasing.color};void 0===d._deltaLastValue&&(d._deltaLastValue=a(r[0]));var l=C.select("text.delta");function p(){l.text(o(a(r[0]),i)).call(m.fill,s(r[0])).call(f.convertToTspans,t)}return l.call(c.font,d.delta.font).call(m.fill,s({delta:d._deltaLastValue})),b(S)?l.transition().duration(S.duration).ease(S.easing).tween("text",(function(){var t=n.select(this),e=a(r[0]),l=d._deltaLastValue,c=P(d.delta.valueformat,i,l,e),u=n.interpolateNumber(l,e);return d._deltaLastValue=e,function(e){t.text(o(u(e),c)),t.call(m.fill,s({delta:u(e)}))}})).each("end",(function(){p(),E&&E()})).each("interrupt",(function(){p(),E&&E()})):p(),u=k(o(a(r[0]),i),d.delta.font,A,t),l}(),O+=d.delta.position+d.delta.font.size+d.delta.font.family+d.delta.valueformat,O+=d.delta.increasing.symbol+d.delta.decreasing.symbol,p=u);d._hasNumber&&(!function(){var e=w(t,{tickformat:d.number.valueformat},d._range);e.setScale(),h.prepTicks(e);var i=function(t){return h.tickText(e,t).text},a=d.number.suffix,o=d.number.prefix,s=C.select("text.number");function u(){var e="number"==typeof r[0].y?o+i(r[0].y)+a:"-";s.text(e).call(c.font,d.number.font).call(f.convertToTspans,t)}b(S)?s.transition().duration(S.duration).ease(S.easing).each("end",(function(){u(),E&&E()})).each("interrupt",(function(){u(),E&&E()})).attrTween("text",(function(){var t=n.select(this),e=n.interpolateNumber(r[0].lastY,r[0].y);d._lastValue=r[0].y;var s=P(d.number.valueformat,i,r[0].lastY,r[0].y);return function(r){t.text(o+s(e(r))+a)}})):u(),l=k(o+i(r[0].y)+a,d.number.font,A,t)}(),O+=d.number.font.size+d.number.font.family+d.number.valueformat+d.number.suffix+d.number.prefix,p=l);if(d._hasDelta&&d._hasNumber){var D,R,F=[(l.left+l.right)/2,(l.top+l.bottom)/2],B=[(u.left+u.right)/2,(u.top+u.bottom)/2],N=.75*d.delta.font.size;"left"===d.delta.position&&(D=M(d,"deltaPos",0,-1*(l.width*y[d.align]+u.width*(1-y[d.align])+N),O,Math.min),R=F[1]-B[1],p={width:l.width+u.width+N,height:Math.max(l.height,u.height),left:u.left+D,right:l.right,top:Math.min(l.top,u.top+R),bottom:Math.max(l.bottom,u.bottom+R)}),"right"===d.delta.position&&(D=M(d,"deltaPos",0,l.width*(1-y[d.align])+u.width*y[d.align]+N,O,Math.max),R=F[1]-B[1],p={width:l.width+u.width+N,height:Math.max(l.height,u.height),left:l.left,right:u.right+D,top:Math.min(l.top,u.top+R),bottom:Math.max(l.bottom,u.bottom+R)}),"bottom"===d.delta.position&&(D=null,R=u.height,p={width:Math.max(l.width,u.width),height:l.height+u.height,left:Math.min(l.left,u.left),right:Math.max(l.right,u.right),top:l.bottom-l.height,bottom:l.bottom+u.height}),"top"===d.delta.position&&(D=null,R=l.top,p={width:Math.max(l.width,u.width),height:l.height+u.height,left:Math.min(l.left,u.left),right:Math.max(l.right,u.right),top:l.bottom-l.height-u.height,bottom:l.bottom}),z.attr({dx:D,dy:R})}(d._hasNumber||d._hasDelta)&&C.attr("transform",(function(){var t=s.numbersScaler(p);O+=t[2];var e,r=M(d,"numbersScale",1,t[0],O,Math.min);d._scaleNumbers||(r=1),e=d._isAngular?_-r*p.bottom:_-r*(p.top+p.bottom)/2,d._numbersTop=r*p.top+e;var n=p[T];"center"===T&&(n=(p.left+p.right)/2);var i=g-r*n;return i=M(d,"numbersTranslate",0,i,O,Math.max),o(i,e)+a(r)}))}(t,I,e,{numbersX:p,numbersY:A,numbersScaler:S,transitionOpts:r,onComplete:d}),P&&(E={range:L.gauge.axis.range,color:L.gauge.bgcolor,line:{color:L.gauge.bordercolor,width:0},thickness:1},C={range:L.gauge.axis.range,color:"rgba(0, 0, 0, 0)",line:{color:L.gauge.bordercolor,width:L.gauge.borderwidth},thickness:1});var H=I.selectAll("g.angular").data(z?e:[]);H.exit().remove();var G=I.selectAll("g.angularaxis").data(z?e:[]);G.exit().remove(),z&&function(t,e,r,i){var a,c,u,f,p=r[0].trace,d=i.size,g=i.radius,m=i.innerRadius,v=i.gaugeBg,y=i.gaugeOutline,x=[d.l+d.w/2,d.t+d.h/2+g/2],T=i.gauge,k=i.layer,M=i.transitionOpts,A=i.onComplete,S=Math.PI/2;function E(t){var e=p.gauge.axis.range[0],r=(t-e)/(p.gauge.axis.range[1]-e)*Math.PI-S;return r<-S?-S:r>S?S:r}function C(t){return n.svg.arc().innerRadius((m+g)/2-t/2*(g-m)).outerRadius((m+g)/2+t/2*(g-m)).startAngle(-S)}function L(t){t.attr("d",(function(t){return C(t.thickness).startAngle(E(t.range[0])).endAngle(E(t.range[1]))()}))}T.enter().append("g").classed("angular",!0),T.attr("transform",o(x[0],x[1])),k.enter().append("g").classed("angularaxis",!0).classed("crisp",!0),k.selectAll("g.xangularaxistick,path,text").remove(),(a=w(t,p.gauge.axis)).type="linear",a.range=p.gauge.axis.range,a._id="xangularaxis",a.setScale();var I=function(t){return(a.range[0]-t.x)/(a.range[1]-a.range[0])*Math.PI+Math.PI},P={},z=h.makeLabelFns(a,0).labelStandoff;P.xFn=function(t){var e=I(t);return Math.cos(e)*z},P.yFn=function(t){var e=I(t),r=Math.sin(e)>0?.2:1;return-Math.sin(e)*(z+t.fontSize*r)+Math.abs(Math.cos(e))*(t.fontSize*l)},P.anchorFn=function(t){var e=I(t),r=Math.cos(e);return Math.abs(r)<.1?"middle":r>0?"start":"end"},P.heightFn=function(t,e,r){var n=I(t);return-.5*(1+Math.sin(n))*r};var O=function(t){return o(x[0]+g*Math.cos(t),x[1]-g*Math.sin(t))};u=function(t){return O(I(t))};if(c=h.calcTicks(a),f=h.getTickSigns(a)[2],a.visible){f="inside"===a.ticks?-1:1;var D=(a.linewidth||1)/2;h.drawTicks(t,a,{vals:c,layer:k,path:"M"+f*D+",0h"+f*a.ticklen,transFn:function(t){var e=I(t);return O(e)+"rotate("+-s(e)+")"}}),h.drawLabels(t,a,{vals:c,layer:k,transFn:u,labelFns:P})}var R=[v].concat(p.gauge.steps),F=T.selectAll("g.bg-arc").data(R);F.enter().append("g").classed("bg-arc",!0).append("path"),F.select("path").call(L).call(_),F.exit().remove();var B=C(p.gauge.bar.thickness),N=T.selectAll("g.value-arc").data([p.gauge.bar]);N.enter().append("g").classed("value-arc",!0).append("path");var j=N.select("path");b(M)?(j.transition().duration(M.duration).ease(M.easing).each("end",(function(){A&&A()})).each("interrupt",(function(){A&&A()})).attrTween("d",(U=B,V=E(r[0].lastY),q=E(r[0].y),function(){var t=n.interpolate(V,q);return function(e){return U.endAngle(t(e))()}})),p._lastValue=r[0].y):j.attr("d","number"==typeof r[0].y?B.endAngle(E(r[0].y)):"M0,0Z");var U,V,q;j.call(_),N.exit().remove(),R=[];var H=p.gauge.threshold.value;H&&R.push({range:[H,H],color:p.gauge.threshold.color,line:{color:p.gauge.threshold.line.color,width:p.gauge.threshold.line.width},thickness:p.gauge.threshold.thickness});var G=T.selectAll("g.threshold-arc").data(R);G.enter().append("g").classed("threshold-arc",!0).append("path"),G.select("path").call(L).call(_),G.exit().remove();var Y=T.selectAll("g.gauge-outline").data([y]);Y.enter().append("g").classed("gauge-outline",!0).append("path"),Y.select("path").call(L).call(_),Y.exit().remove()}(t,0,e,{radius:N,innerRadius:j,gauge:H,layer:G,size:R,gaugeBg:E,gaugeOutline:C,transitionOpts:r,onComplete:d});var Y=I.selectAll("g.bullet").data(O?e:[]);Y.exit().remove();var W=I.selectAll("g.bulletaxis").data(O?e:[]);W.exit().remove(),O&&function(t,e,r,n){var i,a,s,l,c,f=r[0].trace,p=n.gauge,d=n.layer,g=n.gaugeBg,v=n.gaugeOutline,y=n.size,x=f.domain,T=n.transitionOpts,k=n.onComplete;p.enter().append("g").classed("bullet",!0),p.attr("transform",o(y.l,y.t)),d.enter().append("g").classed("bulletaxis",!0).classed("crisp",!0),d.selectAll("g.xbulletaxistick,path,text").remove();var M=y.h,A=f.gauge.bar.thickness*M,S=x.x[0],E=x.x[0]+(x.x[1]-x.x[0])*(f._hasNumber||f._hasDelta?1-u.bulletNumberDomainSize:1);(i=w(t,f.gauge.axis))._id="xbulletaxis",i.domain=[S,E],i.setScale(),a=h.calcTicks(i),s=h.makeTransTickFn(i),l=h.getTickSigns(i)[2],c=y.t+y.h,i.visible&&(h.drawTicks(t,i,{vals:"inside"===i.ticks?h.clipEnds(i,a):a,layer:d,path:h.makeTickPath(i,c,l),transFn:s}),h.drawLabels(t,i,{vals:a,layer:d,transFn:s,labelFns:h.makeLabelFns(i,c)}));function C(t){t.attr("width",(function(t){return Math.max(0,i.c2p(t.range[1])-i.c2p(t.range[0]))})).attr("x",(function(t){return i.c2p(t.range[0])})).attr("y",(function(t){return.5*(1-t.thickness)*M})).attr("height",(function(t){return t.thickness*M}))}var L=[g].concat(f.gauge.steps),I=p.selectAll("g.bg-bullet").data(L);I.enter().append("g").classed("bg-bullet",!0).append("rect"),I.select("rect").call(C).call(_),I.exit().remove();var P=p.selectAll("g.value-bullet").data([f.gauge.bar]);P.enter().append("g").classed("value-bullet",!0).append("rect"),P.select("rect").attr("height",A).attr("y",(M-A)/2).call(_),b(T)?P.select("rect").transition().duration(T.duration).ease(T.easing).each("end",(function(){k&&k()})).each("interrupt",(function(){k&&k()})).attr("width",Math.max(0,i.c2p(Math.min(f.gauge.axis.range[1],r[0].y)))):P.select("rect").attr("width","number"==typeof r[0].y?Math.max(0,i.c2p(Math.min(f.gauge.axis.range[1],r[0].y))):0);P.exit().remove();var z=r.filter((function(){return f.gauge.threshold.value})),O=p.selectAll("g.threshold-bullet").data(z);O.enter().append("g").classed("threshold-bullet",!0).append("line"),O.select("line").attr("x1",i.c2p(f.gauge.threshold.value)).attr("x2",i.c2p(f.gauge.threshold.value)).attr("y1",(1-f.gauge.threshold.thickness)/2*M).attr("y2",(1-(1-f.gauge.threshold.thickness)/2)*M).call(m.stroke,f.gauge.threshold.line.color).style("stroke-width",f.gauge.threshold.line.width),O.exit().remove();var D=p.selectAll("g.gauge-outline").data([v]);D.enter().append("g").classed("gauge-outline",!0).append("rect"),D.select("rect").call(C).call(_),D.exit().remove()}(t,0,e,{gauge:Y,layer:W,size:R,gaugeBg:E,gaugeOutline:C,transitionOpts:r,onComplete:d});var X=I.selectAll("text.title").data(e);X.exit().remove(),X.enter().append("text").classed("title",!0),X.attr("text-anchor",(function(){return O?v.right:v[L.title.align]})).text(L.title.text).call(c.font,L.title.font).call(f.convertToTspans,t),X.attr("transform",(function(){var t,e=R.l+R.w*y[L.title.align],r=u.titlePadding,n=c.bBox(X.node());if(P){if(z)if(L.gauge.axis.visible)t=c.bBox(G.node()).top-r-n.bottom;else t=R.t+R.h/2-N/2-n.bottom-r;O&&(t=A-(n.top+n.bottom)/2,e=R.l-u.bulletPadding*R.w)}else t=L._numbersTop-r-n.bottom;return o(e,t)}))}))}},{"../../components/color":643,"../../components/drawing":665,"../../constants/alignment":745,"../../lib":778,"../../lib/svg_text_utils":803,"../../plots/cartesian/axes":828,"../../plots/cartesian/axis_defaults":830,"../../plots/cartesian/layout_attributes":842,"../../plots/cartesian/position_defaults":845,"./constants":1119,d3:169}],1123:[function(t,e,r){"use strict";var n=t("../../components/colorscale/attributes"),i=t("../../plots/template_attributes").hovertemplateAttrs,a=t("../mesh3d/attributes"),o=t("../../plots/attributes"),s=t("../../lib/extend").extendFlat,l=t("../../plot_api/edit_types").overrideAll;var c=e.exports=l(s({x:{valType:"data_array"},y:{valType:"data_array"},z:{valType:"data_array"},value:{valType:"data_array"},isomin:{valType:"number"},isomax:{valType:"number"},surface:{show:{valType:"boolean",dflt:!0},count:{valType:"integer",dflt:2,min:1},fill:{valType:"number",min:0,max:1,dflt:1},pattern:{valType:"flaglist",flags:["A","B","C","D","E"],extras:["all","odd","even"],dflt:"all"}},spaceframe:{show:{valType:"boolean",dflt:!1},fill:{valType:"number",min:0,max:1,dflt:.15}},slices:{x:{show:{valType:"boolean",dflt:!1},locations:{valType:"data_array",dflt:[]},fill:{valType:"number",min:0,max:1,dflt:1}},y:{show:{valType:"boolean",dflt:!1},locations:{valType:"data_array",dflt:[]},fill:{valType:"number",min:0,max:1,dflt:1}},z:{show:{valType:"boolean",dflt:!1},locations:{valType:"data_array",dflt:[]},fill:{valType:"number",min:0,max:1,dflt:1}}},caps:{x:{show:{valType:"boolean",dflt:!0},fill:{valType:"number",min:0,max:1,dflt:1}},y:{show:{valType:"boolean",dflt:!0},fill:{valType:"number",min:0,max:1,dflt:1}},z:{show:{valType:"boolean",dflt:!0},fill:{valType:"number",min:0,max:1,dflt:1}}},text:{valType:"string",dflt:"",arrayOk:!0},hovertext:{valType:"string",dflt:"",arrayOk:!0},hovertemplate:i(),showlegend:s({},o.showlegend,{dflt:!1})},n("",{colorAttr:"`value`",showScaleDflt:!0,editTypeOverride:"calc"}),{opacity:a.opacity,lightposition:a.lightposition,lighting:a.lighting,flatshading:a.flatshading,contour:a.contour,hoverinfo:s({},o.hoverinfo)}),"calc","nested");c.flatshading.dflt=!0,c.lighting.facenormalsepsilon.dflt=0,c.x.editType=c.y.editType=c.z.editType=c.value.editType="calc+clearAxisTypes",c.transforms=void 0},{"../../components/colorscale/attributes":650,"../../lib/extend":768,"../../plot_api/edit_types":810,"../../plots/attributes":824,"../../plots/template_attributes":906,"../mesh3d/attributes":1128}],1124:[function(t,e,r){"use strict";var n=t("../../components/colorscale/calc"),i=t("../streamtube/calc").processGrid,a=t("../streamtube/calc").filter;e.exports=function(t,e){e._len=Math.min(e.x.length,e.y.length,e.z.length,e.value.length),e._x=a(e.x,e._len),e._y=a(e.y,e._len),e._z=a(e.z,e._len),e._value=a(e.value,e._len);var r=i(e);e._gridFill=r.fill,e._Xs=r.Xs,e._Ys=r.Ys,e._Zs=r.Zs,e._len=r.len;for(var o=1/0,s=-1/0,l=0;l<e._len;l++){var c=e._value[l];o=Math.min(o,c),s=Math.max(s,c)}e._minValues=o,e._maxValues=s,e._vMin=void 0===e.isomin||null===e.isomin?o:e.isomin,e._vMax=void 0===e.isomax||null===e.isomin?s:e.isomax,n(t,e,{vals:[e._vMin,e._vMax],containerStr:"",cLetter:"c"})}},{"../../components/colorscale/calc":651,"../streamtube/calc":1295}],1125:[function(t,e,r){"use strict";var n=t("gl-mesh3d"),i=t("../../lib/gl_format_color").parseColorScale,a=t("../../lib/str2rgbarray"),o=t("../../components/colorscale").extractOpts,s=t("../../plots/gl3d/zip3"),l=function(t,e){for(var r=e.length-1;r>0;r--){var n=Math.min(e[r],e[r-1]),i=Math.max(e[r],e[r-1]);if(i>n&&n<t&&t<=i)return{id:r,distRatio:(i-t)/(i-n)}}return{id:0,distRatio:0}};function c(t,e,r){this.scene=t,this.uid=r,this.mesh=e,this.name="",this.data=null,this.showContour=!1}var u=c.prototype;u.handlePick=function(t){if(t.object===this.mesh){var e=t.data.index,r=this.data._meshX[e],n=this.data._meshY[e],i=this.data._meshZ[e],a=this.data._Ys.length,o=this.data._Zs.length,s=l(r,this.data._Xs).id,c=l(n,this.data._Ys).id,u=l(i,this.data._Zs).id,f=t.index=u+o*c+o*a*s;t.traceCoordinate=[this.data._meshX[f],this.data._meshY[f],this.data._meshZ[f],this.data._value[f]];var h=this.data.hovertext||this.data.text;return Array.isArray(h)&&void 0!==h[f]?t.textLabel=h[f]:h&&(t.textLabel=h),!0}},u.update=function(t){var e=this.scene,r=e.fullSceneLayout;function n(t,e,r,n){return e.map((function(e){return t.d2l(e,0,n)*r}))}this.data=h(t);var l={positions:s(n(r.xaxis,t._meshX,e.dataScale[0],t.xcalendar),n(r.yaxis,t._meshY,e.dataScale[1],t.ycalendar),n(r.zaxis,t._meshZ,e.dataScale[2],t.zcalendar)),cells:s(t._meshI,t._meshJ,t._meshK),lightPosition:[t.lightposition.x,t.lightposition.y,t.lightposition.z],ambient:t.lighting.ambient,diffuse:t.lighting.diffuse,specular:t.lighting.specular,roughness:t.lighting.roughness,fresnel:t.lighting.fresnel,vertexNormalsEpsilon:t.lighting.vertexnormalsepsilon,faceNormalsEpsilon:t.lighting.facenormalsepsilon,opacity:t.opacity,contourEnable:t.contour.show,contourColor:a(t.contour.color).slice(0,3),contourWidth:t.contour.width,useFacetNormals:t.flatshading},c=o(t);l.vertexIntensity=t._meshIntensity,l.vertexIntensityBounds=[c.min,c.max],l.colormap=i(t),this.mesh.update(l)},u.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()};var f=["xyz","xzy","yxz","yzx","zxy","zyx"];function h(t){t._meshI=[],t._meshJ=[],t._meshK=[];var e,r,n,i,a,o,s,c=t.surface.show,u=t.spaceframe.show,h=t.surface.fill,p=t.spaceframe.fill,d=!1,g=!1,m=0,v=t._Xs,y=t._Ys,x=t._Zs,b=v.length,_=y.length,w=x.length,T=f.indexOf(t._gridFill.replace(/-/g,"").replace(/\+/g,"")),k=function(t,e,r){switch(T){case 5:return r+w*e+w*_*t;case 4:return r+w*t+w*b*e;case 3:return e+_*r+_*w*t;case 2:return e+_*t+_*b*r;case 1:return t+b*r+b*w*e;default:return t+b*e+b*_*r}},M=t._minValues,A=t._maxValues,S=t._vMin,E=t._vMax;function C(t,e,s){for(var l=o.length,c=r;c<l;c++)if(t===n[c]&&e===i[c]&&s===a[c])return c;return-1}function L(){r=e}function I(){n=[],i=[],a=[],o=[],e=0,L()}function P(t,r,s,l){return n.push(t),i.push(r),a.push(s),o.push(l),++e-1}function z(t,e,r){for(var n=[],i=0;i<t.length;i++)n[i]=t[i]*(1-r)+r*e[i];return n}function O(t){s=t}function D(t,e){return"all"===t||null===t||t.indexOf(e)>-1}function R(t,e){return null===t?e:t}function F(e,r,n){L();var i,a,o,l=[r],c=[n];if(s>=1)l=[r],c=[n];else if(s>0){var u=function(t,e){var r=t[0],n=t[1],i=t[2],a=function(t,e,r){for(var n=[],i=0;i<t.length;i++)n[i]=(t[i]+e[i]+r[i])/3;return n}(r,n,i),o=Math.sqrt(1-s),l=z(a,r,o),c=z(a,n,o),u=z(a,i,o),f=e[0],h=e[1],p=e[2];return{xyzv:[[r,n,c],[c,l,r],[n,i,u],[u,c,n],[i,r,l],[l,u,i]],abc:[[f,h,-1],[-1,-1,f],[h,p,-1],[-1,-1,h],[p,f,-1],[-1,-1,p]]}}(r,n);l=u.xyzv,c=u.abc}for(var f=0;f<l.length;f++){r=l[f],n=c[f];for(var h=[],p=0;p<3;p++){var d=r[p][0],g=r[p][1],v=r[p][2],y=r[p][3],x=n[p]>-1?n[p]:C(d,g,v);h[p]=x>-1?x:P(d,g,v,R(e,y))}i=h[0],a=h[1],o=h[2],t._meshI.push(i),t._meshJ.push(a),t._meshK.push(o),++m}}function B(t,e,r,n){var i=t[3];i<r&&(i=r),i>n&&(i=n);for(var a=(t[3]-i)/(t[3]-e[3]+1e-9),o=[],s=0;s<4;s++)o[s]=(1-a)*t[s]+a*e[s];return o}function N(t,e,r){return t>=e&&t<=r}function j(t){var e=.001*(E-S);return t>=S-e&&t<=E+e}function U(e){for(var r=[],n=0;n<4;n++){var i=e[n];r.push([t._x[i],t._y[i],t._z[i],t._value[i]])}return r}function V(t,e,r,n,i,a){a||(a=1),r=[-1,-1,-1];var o=!1,s=[N(e[0][3],n,i),N(e[1][3],n,i),N(e[2][3],n,i)];if(!s[0]&&!s[1]&&!s[2])return!1;var l=function(t,e,r){return j(e[0][3])&&j(e[1][3])&&j(e[2][3])?(F(t,e,r),!0):a<3&&V(t,e,r,S,E,++a)};if(s[0]&&s[1]&&s[2])return l(t,e,r)||o;var c=!1;return[[0,1,2],[2,0,1],[1,2,0]].forEach((function(a){if(s[a[0]]&&s[a[1]]&&!s[a[2]]){var u=e[a[0]],f=e[a[1]],h=e[a[2]],p=B(h,u,n,i),d=B(h,f,n,i);o=l(t,[d,p,u],[-1,-1,r[a[0]]])||o,o=l(t,[u,f,d],[r[a[0]],r[a[1]],-1])||o,c=!0}})),c||[[0,1,2],[1,2,0],[2,0,1]].forEach((function(a){if(s[a[0]]&&!s[a[1]]&&!s[a[2]]){var u=e[a[0]],f=e[a[1]],h=e[a[2]],p=B(f,u,n,i),d=B(h,u,n,i);o=l(t,[d,p,u],[-1,-1,r[a[0]]])||o,c=!0}})),o}function q(t,e,r,n){var i=!1,a=U(e),o=[N(a[0][3],r,n),N(a[1][3],r,n),N(a[2][3],r,n),N(a[3][3],r,n)];if(!(o[0]||o[1]||o[2]||o[3]))return i;if(o[0]&&o[1]&&o[2]&&o[3])return g&&(i=function(t,e,r){var n=function(n,i,a){F(t,[e[n],e[i],e[a]],[r[n],r[i],r[a]])};n(0,1,2),n(3,0,1),n(2,3,0),n(1,2,3)}(t,a,e)||i),i;var s=!1;return[[0,1,2,3],[3,0,1,2],[2,3,0,1],[1,2,3,0]].forEach((function(l){if(o[l[0]]&&o[l[1]]&&o[l[2]]&&!o[l[3]]){var c=a[l[0]],u=a[l[1]],f=a[l[2]],h=a[l[3]];if(g)i=F(t,[c,u,f],[e[l[0]],e[l[1]],e[l[2]]])||i;else{var p=B(h,c,r,n),d=B(h,u,r,n),m=B(h,f,r,n);i=F(null,[p,d,m],[-1,-1,-1])||i}s=!0}})),s?i:([[0,1,2,3],[1,2,3,0],[2,3,0,1],[3,0,1,2],[0,2,3,1],[1,3,2,0]].forEach((function(l){if(o[l[0]]&&o[l[1]]&&!o[l[2]]&&!o[l[3]]){var c=a[l[0]],u=a[l[1]],f=a[l[2]],h=a[l[3]],p=B(f,c,r,n),d=B(f,u,r,n),m=B(h,u,r,n),v=B(h,c,r,n);g?(i=F(t,[c,v,p],[e[l[0]],-1,-1])||i,i=F(t,[u,d,m],[e[l[1]],-1,-1])||i):i=function(t,e,r){var n=function(n,i,a){F(t,[e[n],e[i],e[a]],[r[n],r[i],r[a]])};n(0,1,2),n(2,3,0)}(null,[p,d,m,v],[-1,-1,-1,-1])||i,s=!0}})),s||[[0,1,2,3],[1,2,3,0],[2,3,0,1],[3,0,1,2]].forEach((function(l){if(o[l[0]]&&!o[l[1]]&&!o[l[2]]&&!o[l[3]]){var c=a[l[0]],u=a[l[1]],f=a[l[2]],h=a[l[3]],p=B(u,c,r,n),d=B(f,c,r,n),m=B(h,c,r,n);g?(i=F(t,[c,p,d],[e[l[0]],-1,-1])||i,i=F(t,[c,d,m],[e[l[0]],-1,-1])||i,i=F(t,[c,m,p],[e[l[0]],-1,-1])||i):i=F(null,[p,d,m],[-1,-1,-1])||i,s=!0}})),i)}function H(t,e,r,n,i,a,o,s,l,c,u){var f=!1;return d&&(D(t,"A")&&(f=q(null,[e,r,n,a],c,u)||f),D(t,"B")&&(f=q(null,[r,n,i,l],c,u)||f),D(t,"C")&&(f=q(null,[r,a,o,l],c,u)||f),D(t,"D")&&(f=q(null,[n,a,s,l],c,u)||f),D(t,"E")&&(f=q(null,[r,n,a,l],c,u)||f)),g&&(f=q(t,[r,n,a,l],c,u)||f),f}function G(t,e,r,n,i,a,o,s){return[!0===s[0]||V(t,U([e,r,n]),[e,r,n],a,o),!0===s[1]||V(t,U([n,i,e]),[n,i,e],a,o)]}function Y(t,e,r,n,i,a,o,s,l){return s?G(t,e,r,i,n,a,o,l):G(t,r,i,n,e,a,o,l)}function W(t,e,r,n,i,a,o){var s,l,c,u,f=!1,h=function(){f=V(t,[s,l,c],[-1,-1,-1],i,a)||f,f=V(t,[c,u,s],[-1,-1,-1],i,a)||f},p=o[0],d=o[1],g=o[2];return p&&(s=z(U([k(e,r-0,n-0)])[0],U([k(e-1,r-0,n-0)])[0],p),l=z(U([k(e,r-0,n-1)])[0],U([k(e-1,r-0,n-1)])[0],p),c=z(U([k(e,r-1,n-1)])[0],U([k(e-1,r-1,n-1)])[0],p),u=z(U([k(e,r-1,n-0)])[0],U([k(e-1,r-1,n-0)])[0],p),h()),d&&(s=z(U([k(e-0,r,n-0)])[0],U([k(e-0,r-1,n-0)])[0],d),l=z(U([k(e-0,r,n-1)])[0],U([k(e-0,r-1,n-1)])[0],d),c=z(U([k(e-1,r,n-1)])[0],U([k(e-1,r-1,n-1)])[0],d),u=z(U([k(e-1,r,n-0)])[0],U([k(e-1,r-1,n-0)])[0],d),h()),g&&(s=z(U([k(e-0,r-0,n)])[0],U([k(e-0,r-0,n-1)])[0],g),l=z(U([k(e-0,r-1,n)])[0],U([k(e-0,r-1,n-1)])[0],g),c=z(U([k(e-1,r-1,n)])[0],U([k(e-1,r-1,n-1)])[0],g),u=z(U([k(e-1,r-0,n)])[0],U([k(e-1,r-0,n-1)])[0],g),h()),f}function X(t,e,r,n,i,a,o,s,l,c,u,f){var h=t;return f?(d&&"even"===t&&(h=null),H(h,e,r,n,i,a,o,s,l,c,u)):(d&&"odd"===t&&(h=null),H(h,l,s,o,a,i,n,r,e,c,u))}function Z(t,e,r,n,i){for(var a=[],o=0,s=0;s<e.length;s++)for(var l=e[s],c=1;c<w;c++)for(var u=1;u<_;u++)a.push(Y(t,k(l,u-1,c-1),k(l,u-1,c),k(l,u,c-1),k(l,u,c),r,n,(l+u+c)%2,i&&i[o]?i[o]:[])),o++;return a}function J(t,e,r,n,i){for(var a=[],o=0,s=0;s<e.length;s++)for(var l=e[s],c=1;c<b;c++)for(var u=1;u<w;u++)a.push(Y(t,k(c-1,l,u-1),k(c,l,u-1),k(c-1,l,u),k(c,l,u),r,n,(c+l+u)%2,i&&i[o]?i[o]:[])),o++;return a}function K(t,e,r,n,i){for(var a=[],o=0,s=0;s<e.length;s++)for(var l=e[s],c=1;c<_;c++)for(var u=1;u<b;u++)a.push(Y(t,k(u-1,c-1,l),k(u-1,c,l),k(u,c-1,l),k(u,c,l),r,n,(u+c+l)%2,i&&i[o]?i[o]:[])),o++;return a}function Q(t,e,r){for(var n=1;n<w;n++)for(var i=1;i<_;i++)for(var a=1;a<b;a++)X(t,k(a-1,i-1,n-1),k(a-1,i-1,n),k(a-1,i,n-1),k(a-1,i,n),k(a,i-1,n-1),k(a,i-1,n),k(a,i,n-1),k(a,i,n),e,r,(a+i+n)%2)}function $(t,e,r){d=!0,Q(t,e,r),d=!1}function tt(t,e,r,n,i,a){for(var o=[],s=0,l=0;l<e.length;l++)for(var c=e[l],u=1;u<w;u++)for(var f=1;f<_;f++)o.push(W(t,c,f,u,r,n,i[l],a&&a[s]&&a[s])),s++;return o}function et(t,e,r,n,i,a){for(var o=[],s=0,l=0;l<e.length;l++)for(var c=e[l],u=1;u<b;u++)for(var f=1;f<w;f++)o.push(W(t,u,c,f,r,n,i[l],a&&a[s]&&a[s])),s++;return o}function rt(t,e,r,n,i,a){for(var o=[],s=0,l=0;l<e.length;l++)for(var c=e[l],u=1;u<_;u++)for(var f=1;f<b;f++)o.push(W(t,f,u,c,r,n,i[l],a&&a[s]&&a[s])),s++;return o}function nt(t,e){for(var r=[],n=t;n<e;n++)r.push(n);return r}return function(){if(I(),function(){for(var e=0;e<b;e++)for(var r=0;r<_;r++)for(var n=0;n<w;n++){var i=k(e,r,n);P(t._x[i],t._y[i],t._z[i],t._value[i])}}(),u&&p&&(O(p),g=!0,Q(null,S,E),g=!1),c&&h){O(h);for(var e=t.surface.pattern,r=t.surface.count,s=0;s<r;s++){var f=1===r?.5:s/(r-1),d=(1-f)*S+f*E,T=Math.abs(d-M)>Math.abs(d-A)?[M,d]:[d,A];$(e,T[0],T[1])}}var C=[[Math.min(S,A),Math.max(S,A)],[Math.min(M,E),Math.max(M,E)]];["x","y","z"].forEach((function(e){for(var r=[],n=0;n<C.length;n++){var i=0,a=C[n][0],o=C[n][1],s=t.slices[e];if(s.show&&s.fill){O(s.fill);var c=[],u=[],f=[];if(s.locations.length)for(var h=0;h<s.locations.length;h++){var p=l(s.locations[h],"x"===e?v:"y"===e?y:x);0===p.distRatio?c.push(p.id):p.id>0&&(u.push(p.id),"x"===e?f.push([p.distRatio,0,0]):"y"===e?f.push([0,p.distRatio,0]):f.push([0,0,p.distRatio]))}else c=nt(1,"x"===e?b-1:"y"===e?_-1:w-1);u.length>0&&(r[i]="x"===e?tt(null,u,a,o,f,r[i]):"y"===e?et(null,u,a,o,f,r[i]):rt(null,u,a,o,f,r[i]),i++),c.length>0&&(r[i]="x"===e?Z(null,c,a,o,r[i]):"y"===e?J(null,c,a,o,r[i]):K(null,c,a,o,r[i]),i++)}var d=t.caps[e];d.show&&d.fill&&(O(d.fill),r[i]="x"===e?Z(null,[0,b-1],a,o,r[i]):"y"===e?J(null,[0,_-1],a,o,r[i]):K(null,[0,w-1],a,o,r[i]),i++)}})),0===m&&I(),t._meshX=n,t._meshY=i,t._meshZ=a,t._meshIntensity=o,t._Xs=v,t._Ys=y,t._Zs=x}(),t}e.exports={findNearestOnAxis:l,generateIsoMeshes:h,createIsosurfaceTrace:function(t,e){var r=t.glplot.gl,i=n({gl:r}),a=new c(t,i,e.uid);return i._trace=a,a.update(e),t.glplot.add(i),a}}},{"../../components/colorscale":655,"../../lib/gl_format_color":774,"../../lib/str2rgbarray":802,"../../plots/gl3d/zip3":881,"gl-mesh3d":309}],1126:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../registry"),a=t("./attributes"),o=t("../../components/colorscale/defaults");function s(t,e,r,n,a){var s=a("isomin"),l=a("isomax");null!=l&&null!=s&&s>l&&(e.isomin=null,e.isomax=null);var c=a("x"),u=a("y"),f=a("z"),h=a("value");c&&c.length&&u&&u.length&&f&&f.length&&h&&h.length?(i.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x","y","z"],n),["x","y","z"].forEach((function(t){var e="caps."+t;a(e+".show")&&a(e+".fill");var r="slices."+t;a(r+".show")&&(a(r+".fill"),a(r+".locations"))})),a("spaceframe.show")&&a("spaceframe.fill"),a("surface.show")&&(a("surface.count"),a("surface.fill"),a("surface.pattern")),a("contour.show")&&(a("contour.color"),a("contour.width")),["text","hovertext","hovertemplate","lighting.ambient","lighting.diffuse","lighting.specular","lighting.roughness","lighting.fresnel","lighting.vertexnormalsepsilon","lighting.facenormalsepsilon","lightposition.x","lightposition.y","lightposition.z","flatshading","opacity"].forEach((function(t){a(t)})),o(t,e,n,a,{prefix:"",cLetter:"c"}),e._length=null):e.visible=!1}e.exports={supplyDefaults:function(t,e,r,i){s(t,e,r,i,(function(r,i){return n.coerce(t,e,a,r,i)}))},supplyIsoDefaults:s}},{"../../components/colorscale/defaults":653,"../../lib":778,"../../registry":911,"./attributes":1123}],1127:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults").supplyDefaults,calc:t("./calc"),colorbar:{min:"cmin",max:"cmax"},plot:t("./convert").createIsosurfaceTrace,moduleType:"trace",name:"isosurface",basePlotModule:t("../../plots/gl3d"),categories:["gl3d","showLegend"],meta:{}}},{"../../plots/gl3d":870,"./attributes":1123,"./calc":1124,"./convert":1125,"./defaults":1126}],1128:[function(t,e,r){"use strict";var n=t("../../components/colorscale/attributes"),i=t("../../plots/template_attributes").hovertemplateAttrs,a=t("../surface/attributes"),o=t("../../plots/attributes"),s=t("../../lib/extend").extendFlat;e.exports=s({x:{valType:"data_array",editType:"calc+clearAxisTypes"},y:{valType:"data_array",editType:"calc+clearAxisTypes"},z:{valType:"data_array",editType:"calc+clearAxisTypes"},i:{valType:"data_array",editType:"calc"},j:{valType:"data_array",editType:"calc"},k:{valType:"data_array",editType:"calc"},text:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},hovertemplate:i({editType:"calc"}),delaunayaxis:{valType:"enumerated",values:["x","y","z"],dflt:"z",editType:"calc"},alphahull:{valType:"number",dflt:-1,editType:"calc"},intensity:{valType:"data_array",editType:"calc"},intensitymode:{valType:"enumerated",values:["vertex","cell"],dflt:"vertex",editType:"calc"},color:{valType:"color",editType:"calc"},vertexcolor:{valType:"data_array",editType:"calc"},facecolor:{valType:"data_array",editType:"calc"},transforms:void 0},n("",{colorAttr:"`intensity`",showScaleDflt:!0,editTypeOverride:"calc"}),{opacity:a.opacity,flatshading:{valType:"boolean",dflt:!1,editType:"calc"},contour:{show:s({},a.contours.x.show,{}),color:a.contours.x.color,width:a.contours.x.width,editType:"calc"},lightposition:{x:s({},a.lightposition.x,{dflt:1e5}),y:s({},a.lightposition.y,{dflt:1e5}),z:s({},a.lightposition.z,{dflt:0}),editType:"calc"},lighting:s({vertexnormalsepsilon:{valType:"number",min:0,max:1,dflt:1e-12,editType:"calc"},facenormalsepsilon:{valType:"number",min:0,max:1,dflt:1e-6,editType:"calc"},editType:"calc"},a.lighting),hoverinfo:s({},o.hoverinfo,{editType:"calc"}),showlegend:s({},o.showlegend,{dflt:!1})})},{"../../components/colorscale/attributes":650,"../../lib/extend":768,"../../plots/attributes":824,"../../plots/template_attributes":906,"../surface/attributes":1311}],1129:[function(t,e,r){"use strict";var n=t("../../components/colorscale/calc");e.exports=function(t,e){e.intensity&&n(t,e,{vals:e.intensity,containerStr:"",cLetter:"c"})}},{"../../components/colorscale/calc":651}],1130:[function(t,e,r){"use strict";var n=t("gl-mesh3d"),i=t("delaunay-triangulate"),a=t("alpha-shape"),o=t("convex-hull"),s=t("../../lib/gl_format_color").parseColorScale,l=t("../../lib/str2rgbarray"),c=t("../../components/colorscale").extractOpts,u=t("../../plots/gl3d/zip3");function f(t,e,r){this.scene=t,this.uid=r,this.mesh=e,this.name="",this.color="#fff",this.data=null,this.showContour=!1}var h=f.prototype;function p(t){for(var e=[],r=t.length,n=0;n<r;n++)e[n]=l(t[n]);return e}function d(t,e,r,n){for(var i=[],a=e.length,o=0;o<a;o++)i[o]=t.d2l(e[o],0,n)*r;return i}function g(t){for(var e=[],r=t.length,n=0;n<r;n++)e[n]=Math.round(t[n]);return e}function m(t,e){for(var r=t.length,n=0;n<r;n++)if(t[n]<=-.5||t[n]>=e-.5)return!1;return!0}h.handlePick=function(t){if(t.object===this.mesh){var e=t.index=t.data.index;t.data._cellCenter?t.traceCoordinate=t.data.dataCoordinate:t.traceCoordinate=[this.data.x[e],this.data.y[e],this.data.z[e]];var r=this.data.hovertext||this.data.text;return Array.isArray(r)&&void 0!==r[e]?t.textLabel=r[e]:r&&(t.textLabel=r),!0}},h.update=function(t){var e=this.scene,r=e.fullSceneLayout;this.data=t;var n,f=t.x.length,h=u(d(r.xaxis,t.x,e.dataScale[0],t.xcalendar),d(r.yaxis,t.y,e.dataScale[1],t.ycalendar),d(r.zaxis,t.z,e.dataScale[2],t.zcalendar));if(t.i&&t.j&&t.k){if(t.i.length!==t.j.length||t.j.length!==t.k.length||!m(t.i,f)||!m(t.j,f)||!m(t.k,f))return;n=u(g(t.i),g(t.j),g(t.k))}else n=0===t.alphahull?o(h):t.alphahull>0?a(t.alphahull,h):function(t,e){for(var r=["x","y","z"].indexOf(t),n=[],a=e.length,o=0;o<a;o++)n[o]=[e[o][(r+1)%3],e[o][(r+2)%3]];return i(n)}(t.delaunayaxis,h);var v={positions:h,cells:n,lightPosition:[t.lightposition.x,t.lightposition.y,t.lightposition.z],ambient:t.lighting.ambient,diffuse:t.lighting.diffuse,specular:t.lighting.specular,roughness:t.lighting.roughness,fresnel:t.lighting.fresnel,vertexNormalsEpsilon:t.lighting.vertexnormalsepsilon,faceNormalsEpsilon:t.lighting.facenormalsepsilon,opacity:t.opacity,contourEnable:t.contour.show,contourColor:l(t.contour.color).slice(0,3),contourWidth:t.contour.width,useFacetNormals:t.flatshading};if(t.intensity){var y=c(t);this.color="#fff";var x=t.intensitymode;v[x+"Intensity"]=t.intensity,v[x+"IntensityBounds"]=[y.min,y.max],v.colormap=s(t)}else t.vertexcolor?(this.color=t.vertexcolor[0],v.vertexColors=p(t.vertexcolor)):t.facecolor?(this.color=t.facecolor[0],v.cellColors=p(t.facecolor)):(this.color=t.color,v.meshColor=l(t.color));this.mesh.update(v)},h.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()},e.exports=function(t,e){var r=t.glplot.gl,i=n({gl:r}),a=new f(t,i,e.uid);return i._trace=a,a.update(e),t.glplot.add(i),a}},{"../../components/colorscale":655,"../../lib/gl_format_color":774,"../../lib/str2rgbarray":802,"../../plots/gl3d/zip3":881,"alpha-shape":69,"convex-hull":135,"delaunay-triangulate":171,"gl-mesh3d":309}],1131:[function(t,e,r){"use strict";var n=t("../../registry"),i=t("../../lib"),a=t("../../components/colorscale/defaults"),o=t("./attributes");e.exports=function(t,e,r,s){function l(r,n){return i.coerce(t,e,o,r,n)}function c(t){var e=t.map((function(t){var e=l(t);return e&&i.isArrayOrTypedArray(e)?e:null}));return e.every((function(t){return t&&t.length===e[0].length}))&&e}c(["x","y","z"])?(c(["i","j","k"]),(!e.i||e.j&&e.k)&&(!e.j||e.k&&e.i)&&(!e.k||e.i&&e.j)?(n.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x","y","z"],s),["lighting.ambient","lighting.diffuse","lighting.specular","lighting.roughness","lighting.fresnel","lighting.vertexnormalsepsilon","lighting.facenormalsepsilon","lightposition.x","lightposition.y","lightposition.z","flatshading","alphahull","delaunayaxis","opacity"].forEach((function(t){l(t)})),l("contour.show")&&(l("contour.color"),l("contour.width")),"intensity"in t?(l("intensity"),l("intensitymode"),a(t,e,s,l,{prefix:"",cLetter:"c"})):(e.showscale=!1,"facecolor"in t?l("facecolor"):"vertexcolor"in t?l("vertexcolor"):l("color",r)),l("text"),l("hovertext"),l("hovertemplate"),e._length=null):e.visible=!1):e.visible=!1}},{"../../components/colorscale/defaults":653,"../../lib":778,"../../registry":911,"./attributes":1128}],1132:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),calc:t("./calc"),colorbar:{min:"cmin",max:"cmax"},plot:t("./convert"),moduleType:"trace",name:"mesh3d",basePlotModule:t("../../plots/gl3d"),categories:["gl3d","showLegend"],meta:{}}},{"../../plots/gl3d":870,"./attributes":1128,"./calc":1129,"./convert":1130,"./defaults":1131}],1133:[function(t,e,r){"use strict";var n=t("../../lib").extendFlat,i=t("../scatter/attributes"),a=t("../../components/drawing/attributes").dash,o=t("../../components/fx/attributes"),s=t("../../constants/delta.js"),l=s.INCREASING.COLOR,c=s.DECREASING.COLOR,u=i.line;function f(t){return{line:{color:n({},u.color,{dflt:t}),width:u.width,dash:a,editType:"style"},editType:"style"}}e.exports={xperiod:i.xperiod,xperiod0:i.xperiod0,xperiodalignment:i.xperiodalignment,x:{valType:"data_array",editType:"calc+clearAxisTypes"},open:{valType:"data_array",editType:"calc"},high:{valType:"data_array",editType:"calc"},low:{valType:"data_array",editType:"calc"},close:{valType:"data_array",editType:"calc"},line:{width:n({},u.width,{}),dash:n({},a,{}),editType:"style"},increasing:f(l),decreasing:f(c),text:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},tickwidth:{valType:"number",min:0,max:.5,dflt:.3,editType:"calc"},hoverlabel:n({},o.hoverlabel,{split:{valType:"boolean",dflt:!1,editType:"style"}})}},{"../../components/drawing/attributes":664,"../../components/fx/attributes":674,"../../constants/delta.js":747,"../../lib":778,"../scatter/attributes":1187}],1134:[function(t,e,r){"use strict";var n=t("../../lib"),i=n._,a=t("../../plots/cartesian/axes"),o=t("../../plots/cartesian/align_period"),s=t("../../constants/numerical").BADNUM;function l(t,e,r,n){return{o:t,h:e,l:r,c:n}}function c(t,e,r,o,l,c){for(var u=l.makeCalcdata(e,"open"),f=l.makeCalcdata(e,"high"),h=l.makeCalcdata(e,"low"),p=l.makeCalcdata(e,"close"),d=Array.isArray(e.text),g=Array.isArray(e.hovertext),m=!0,v=null,y=!!e.xperiodalignment,x=[],b=0;b<o.length;b++){var _=o[b],w=u[b],T=f[b],k=h[b],M=p[b];if(_!==s&&w!==s&&T!==s&&k!==s&&M!==s){M===w?null!==v&&M!==v&&(m=M>v):m=M>w,v=M;var A=c(w,T,k,M);A.pos=_,A.yc=(w+M)/2,A.i=b,A.dir=m?"increasing":"decreasing",A.x=A.pos,A.y=[k,T],y&&(A.orig_p=r[b]),d&&(A.tx=e.text[b]),g&&(A.htx=e.hovertext[b]),x.push(A)}else x.push({pos:_,empty:!0})}return e._extremes[l._id]=a.findExtremes(l,n.concat(h,f),{padded:!0}),x.length&&(x[0].t={labels:{open:i(t,"open:")+" ",high:i(t,"high:")+" ",low:i(t,"low:")+" ",close:i(t,"close:")+" "}}),x}e.exports={calc:function(t,e){var r=a.getFromId(t,e.xaxis),i=a.getFromId(t,e.yaxis),s=function(t,e,r){var i=r._minDiff;if(!i){var a,s=t._fullData,l=[];for(i=1/0,a=0;a<s.length;a++){var c=s[a];if("ohlc"===c.type&&!0===c.visible&&c.xaxis===e._id){l.push(c);var u=e.makeCalcdata(c,"x");c._origX=u;var f=o(r,e,"x",u);c._xcalc=f;var h=n.distinctVals(f).minDiff;h&&isFinite(h)&&(i=Math.min(i,h))}}for(i===1/0&&(i=1),a=0;a<l.length;a++)l[a]._minDiff=i}return i*r.tickwidth}(t,r,e),u=e._minDiff;e._minDiff=null;var f=e._origX;e._origX=null;var h=e._xcalc;e._xcalc=null;var p=c(t,e,f,h,i,l);return e._extremes[r._id]=a.findExtremes(r,h,{vpad:u/2}),p.length?(n.extendFlat(p[0].t,{wHover:u/2,tickLen:s}),p):[{t:{empty:!0}}]},calcCommon:c}},{"../../constants/numerical":753,"../../lib":778,"../../plots/cartesian/align_period":825,"../../plots/cartesian/axes":828}],1135:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./ohlc_defaults"),a=t("../scatter/period_defaults"),o=t("./attributes");function s(t,e,r,n){r(n+".line.color"),r(n+".line.width",e.line.width),r(n+".line.dash",e.line.dash)}e.exports=function(t,e,r,l){function c(r,i){return n.coerce(t,e,o,r,i)}i(t,e,c,l)?(a(t,e,l,c,{x:!0}),c("line.width"),c("line.dash"),s(t,e,c,"increasing"),s(t,e,c,"decreasing"),c("text"),c("hovertext"),c("tickwidth"),l._requestRangeslider[e.xaxis]=!0):e.visible=!1}},{"../../lib":778,"../scatter/period_defaults":1207,"./attributes":1133,"./ohlc_defaults":1138}],1136:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes"),i=t("../../lib"),a=t("../../components/fx"),o=t("../../components/color"),s=t("../../lib").fillText,l=t("../../constants/delta.js"),c={increasing:l.INCREASING.SYMBOL,decreasing:l.DECREASING.SYMBOL};function u(t,e,r,n){var i,s,l=t.cd,c=t.xa,u=l[0].trace,f=l[0].t,h=u.type,p="ohlc"===h?"l":"min",d="ohlc"===h?"h":"max",g=f.bPos||0,m=f.bdPos||f.tickLen,v=f.wHover,y=Math.min(1,m/Math.abs(c.r2c(c.range[1])-c.r2c(c.range[0])));function x(t){var r=function(t){return t.pos+g-e}(t);return a.inbox(r-v,r+v,i)}function b(t){var e=t[p],n=t[d];return e===n||a.inbox(e-r,n-r,i)}function _(t){return(x(t)+b(t))/2}i=t.maxHoverDistance-y,s=t.maxSpikeDistance-y;var w=a.getDistanceFunction(n,x,b,_);if(a.getClosest(l,w,t),!1===t.index)return null;var T=l[t.index];if(T.empty)return null;var k=u[T.dir],M=k.line.color;return o.opacity(M)&&k.line.width?t.color=M:t.color=k.fillcolor,t.x0=c.c2p(T.pos+g-m,!0),t.x1=c.c2p(T.pos+g+m,!0),t.xLabelVal=void 0!==T.orig_p?T.orig_p:T.pos,t.spikeDistance=_(T)*s/i,t.xSpike=c.c2p(T.pos,!0),t}function f(t,e,r,a){var o=t.cd,s=t.ya,l=o[0].trace,c=o[0].t,f=[],h=u(t,e,r,a);if(!h)return[];var p=o[h.index].hi||l.hoverinfo,d=p.split("+");if(!("all"===p||-1!==d.indexOf("y")))return[];for(var g=["high","open","close","low"],m={},v=0;v<g.length;v++){var y,x=g[v],b=l[x][h.index],_=s.c2p(b,!0);b in m?(y=m[b]).yLabel+="<br>"+c.labels[x]+n.hoverLabelText(s,b):((y=i.extendFlat({},h)).y0=y.y1=_,y.yLabelVal=b,y.yLabel=c.labels[x]+n.hoverLabelText(s,b),y.name="",f.push(y),m[b]=y)}return f}function h(t,e,r,i){var a=t.cd,o=t.ya,l=a[0].trace,f=a[0].t,h=u(t,e,r,i);if(!h)return[];var p=a[h.index],d=h.index=p.i,g=p.dir;function m(t){return f.labels[t]+n.hoverLabelText(o,l[t][d])}var v=p.hi||l.hoverinfo,y=v.split("+"),x="all"===v,b=x||-1!==y.indexOf("y"),_=x||-1!==y.indexOf("text"),w=b?[m("open"),m("high"),m("low"),m("close")+" "+c[g]]:[];return _&&s(p,l,w),h.extraText=w.join("<br>"),h.y0=h.y1=o.c2p(p.yc,!0),[h]}e.exports={hoverPoints:function(t,e,r,n){return t.cd[0].trace.hoverlabel.split?f(t,e,r,n):h(t,e,r,n)},hoverSplit:f,hoverOnPoints:h}},{"../../components/color":643,"../../components/fx":683,"../../constants/delta.js":747,"../../lib":778,"../../plots/cartesian/axes":828}],1137:[function(t,e,r){"use strict";e.exports={moduleType:"trace",name:"ohlc",basePlotModule:t("../../plots/cartesian"),categories:["cartesian","svg","showLegend"],meta:{},attributes:t("./attributes"),supplyDefaults:t("./defaults"),calc:t("./calc").calc,plot:t("./plot"),style:t("./style"),hoverPoints:t("./hover").hoverPoints,selectPoints:t("./select")}},{"../../plots/cartesian":841,"./attributes":1133,"./calc":1134,"./defaults":1135,"./hover":1136,"./plot":1139,"./select":1140,"./style":1141}],1138:[function(t,e,r){"use strict";var n=t("../../registry"),i=t("../../lib");e.exports=function(t,e,r,a){var o=r("x"),s=r("open"),l=r("high"),c=r("low"),u=r("close");if(r("hoverlabel.split"),n.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x"],a),s&&l&&c&&u){var f=Math.min(s.length,l.length,c.length,u.length);return o&&(f=Math.min(f,i.minRowLength(o))),e._length=f,f}}},{"../../lib":778,"../../registry":911}],1139:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../lib");e.exports=function(t,e,r,a){var o=e.yaxis,s=e.xaxis,l=!!s.rangebreaks;i.makeTraceGroups(a,r,"trace ohlc").each((function(t){var e=n.select(this),r=t[0],a=r.t;if(!0!==r.trace.visible||a.empty)e.remove();else{var c=a.tickLen,u=e.selectAll("path").data(i.identity);u.enter().append("path"),u.exit().remove(),u.attr("d",(function(t){if(t.empty)return"M0,0Z";var e=s.c2p(t.pos-c,!0),r=s.c2p(t.pos+c,!0),n=l?(e+r)/2:s.c2p(t.pos,!0);return"M"+e+","+o.c2p(t.o,!0)+"H"+n+"M"+n+","+o.c2p(t.h,!0)+"V"+o.c2p(t.l,!0)+"M"+r+","+o.c2p(t.c,!0)+"H"+n}))}}))}},{"../../lib":778,d3:169}],1140:[function(t,e,r){"use strict";e.exports=function(t,e){var r,n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s=n[0].t.bPos||0;if(!1===e)for(r=0;r<n.length;r++)n[r].selected=0;else for(r=0;r<n.length;r++){var l=n[r];e.contains([i.c2p(l.pos+s),a.c2p(l.yc)],null,l.i,t)?(o.push({pointNumber:l.i,x:i.c2d(l.pos),y:a.c2d(l.yc)}),l.selected=1):l.selected=0}return o}},{}],1141:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../components/drawing"),a=t("../../components/color");e.exports=function(t,e,r){var o=r||n.select(t).selectAll("g.ohlclayer").selectAll("g.trace");o.style("opacity",(function(t){return t[0].trace.opacity})),o.each((function(t){var e=t[0].trace;n.select(this).selectAll("path").each((function(t){if(!t.empty){var r=e[t.dir].line;n.select(this).style("fill","none").call(a.stroke,r.color).call(i.dashLine,r.dash,r.width).style("opacity",e.selectedpoints&&!t.selected?.3:1)}}))}))}},{"../../components/color":643,"../../components/drawing":665,d3:169}],1142:[function(t,e,r){"use strict";var n=t("../../lib/extend").extendFlat,i=t("../../plots/attributes"),a=t("../../plots/font_attributes"),o=t("../../components/colorscale/attributes"),s=t("../../plots/template_attributes").hovertemplateAttrs,l=t("../../plots/domain").attributes,c=n({editType:"calc"},o("line",{editTypeOverride:"calc"}),{shape:{valType:"enumerated",values:["linear","hspline"],dflt:"linear",editType:"plot"},hovertemplate:s({editType:"plot",arrayOk:!1},{keys:["count","probability"]})});e.exports={domain:l({name:"parcats",trace:!0,editType:"calc"}),hoverinfo:n({},i.hoverinfo,{flags:["count","probability"],editType:"plot",arrayOk:!1}),hoveron:{valType:"enumerated",values:["category","color","dimension"],dflt:"category",editType:"plot"},hovertemplate:s({editType:"plot",arrayOk:!1},{keys:["count","probability","category","categorycount","colorcount","bandcolorcount"]}),arrangement:{valType:"enumerated",values:["perpendicular","freeform","fixed"],dflt:"perpendicular",editType:"plot"},bundlecolors:{valType:"boolean",dflt:!0,editType:"plot"},sortpaths:{valType:"enumerated",values:["forward","backward"],dflt:"forward",editType:"plot"},labelfont:a({editType:"calc"}),tickfont:a({editType:"calc"}),dimensions:{_isLinkedToArray:"dimension",label:{valType:"string",editType:"calc"},categoryorder:{valType:"enumerated",values:["trace","category ascending","category descending","array"],dflt:"trace",editType:"calc"},categoryarray:{valType:"data_array",editType:"calc"},ticktext:{valType:"data_array",editType:"calc"},values:{valType:"data_array",dflt:[],editType:"calc"},displayindex:{valType:"integer",editType:"calc"},editType:"calc",visible:{valType:"boolean",dflt:!0,editType:"calc"}},line:c,counts:{valType:"number",min:0,dflt:1,arrayOk:!0,editType:"calc"},customdata:void 0,hoverlabel:void 0,ids:void 0,legendgroup:void 0,opacity:void 0,selectedpoints:void 0,showlegend:void 0}},{"../../components/colorscale/attributes":650,"../../lib/extend":768,"../../plots/attributes":824,"../../plots/domain":855,"../../plots/font_attributes":856,"../../plots/template_attributes":906}],1143:[function(t,e,r){"use strict";var n=t("../../plots/get_data").getModuleCalcData,i=t("./plot");r.name="parcats",r.plot=function(t,e,r,a){var o=n(t.calcdata,"parcats");if(o.length){var s=o[0];i(t,s,r,a)}},r.clean=function(t,e,r,n){var i=n._has&&n._has("parcats"),a=e._has&&e._has("parcats");i&&!a&&n._paperdiv.selectAll(".parcats").remove()}},{"../../plots/get_data":865,"./plot":1148}],1144:[function(t,e,r){"use strict";var n=t("../../lib/gup").wrap,i=t("../../components/colorscale/helpers").hasColorscale,a=t("../../components/colorscale/calc"),o=t("../../lib/filter_unique.js"),s=t("../../components/drawing"),l=t("../../lib"),c=t("fast-isnumeric");function u(t,e,r){t.valueInds.push(e),t.count+=r}function f(t,e,r){return{categoryInds:t,color:e,rawColor:r,valueInds:[],count:0}}function h(t,e,r){t.valueInds.push(e),t.count+=r}e.exports=function(t,e){var r=l.filterVisible(e.dimensions);if(0===r.length)return[];var p,d,g,m=r.map((function(t){var e;if("trace"===t.categoryorder)e=null;else if("array"===t.categoryorder)e=t.categoryarray;else{e=o(t.values);for(var r=!0,n=0;n<e.length;n++)if(!c(e[n])){r=!1;break}e.sort(r?l.sorterAsc:void 0),"category descending"===t.categoryorder&&(e=e.reverse())}return function(t,e){e=null==e?[]:e.map((function(t){return t}));var r={},n={},i=[];e.forEach((function(t,e){r[t]=0,n[t]=e}));for(var a=0;a<t.length;a++){var o,s=t[a];void 0===r[s]?(r[s]=1,o=e.push(s)-1,n[s]=o):(r[s]++,o=n[s]),i.push(o)}var l=e.map((function(t){return r[t]}));return{uniqueValues:e,uniqueCounts:l,inds:i}}(t.values,e)}));p=l.isArrayOrTypedArray(e.counts)?e.counts:[e.counts],function(t){var e;if(function(t){for(var e=new Array(t.length),r=0;r<t.length;r++){if(t[r]<0||t[r]>=t.length)return!1;if(void 0!==e[t[r]])return!1;e[t[r]]=!0}return!0}(t.map((function(t){return t.displayindex}))))for(e=0;e<t.length;e++)t[e]._displayindex=t[e].displayindex;else for(e=0;e<t.length;e++)t[e]._displayindex=e}(r),r.forEach((function(t,e){!function(t,e){t._categoryarray=e.uniqueValues,null===t.ticktext||void 0===t.ticktext?t._ticktext=[]:t._ticktext=t.ticktext.slice();for(var r=t._ticktext.length;r<e.uniqueValues.length;r++)t._ticktext.push(e.uniqueValues[r])}(t,m[e])}));var v,y=e.line;y?(i(e,"line")&&a(t,e,{vals:e.line.color,containerStr:"line",cLetter:"c"}),v=s.tryColorscale(y)):v=l.identity;var x,b,_,w,T,k=r[0].values.length,M={},A=m.map((function(t){return t.inds}));for(g=0,x=0;x<k;x++){var S=[];for(b=0;b<A.length;b++)S.push(A[b][x]);d=p[x%p.length],g+=d;var E=(_=x,w=void 0,T=void 0,l.isArrayOrTypedArray(y.color)?T=w=y.color[_%y.color.length]:w=y.color,{color:v(w),rawColor:T}),C=S+"-"+E.rawColor;void 0===M[C]&&(M[C]=f(S,E.color,E.rawColor)),h(M[C],x,d)}var L,I=r.map((function(t,e){return function(t,e,r,n,i){return{dimensionInd:t,containerInd:e,displayInd:r,dimensionLabel:n,count:i,categories:[],dragX:null}}(e,t._index,t._displayindex,t.label,g)}));for(x=0;x<k;x++)for(d=p[x%p.length],b=0;b<I.length;b++){var P=I[b].containerInd,z=m[b].inds[x],O=I[b].categories;if(void 0===O[z]){var D=e.dimensions[P]._categoryarray[z],R=e.dimensions[P]._ticktext[z];O[z]={dimensionInd:b,categoryInd:L=z,categoryValue:D,displayInd:L,categoryLabel:R,valueInds:[],count:0,dragY:null}}u(O[z],x,d)}return n(function(t,e,r){var n=t.map((function(t){return t.categories.length})).reduce((function(t,e){return Math.max(t,e)}));return{dimensions:t,paths:e,trace:void 0,maxCats:n,count:r}}(I,M,g))}},{"../../components/colorscale/calc":651,"../../components/colorscale/helpers":654,"../../components/drawing":665,"../../lib":778,"../../lib/filter_unique.js":769,"../../lib/gup":775,"fast-isnumeric":241}],1145:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../components/colorscale/helpers").hasColorscale,a=t("../../components/colorscale/defaults"),o=t("../../plots/domain").defaults,s=t("../../plots/array_container_defaults"),l=t("./attributes"),c=t("../parcoords/merge_length");function u(t,e){function r(r,i){return n.coerce(t,e,l.dimensions,r,i)}var i=r("values"),a=r("visible");if(i&&i.length||(a=e.visible=!1),a){r("label"),r("displayindex",e._index);var o,s=t.categoryarray,c=Array.isArray(s)&&s.length>0;c&&(o="array");var u=r("categoryorder",o);"array"===u?(r("categoryarray"),r("ticktext")):(delete t.categoryarray,delete t.ticktext),c||"array"!==u||(e.categoryorder="trace")}}e.exports=function(t,e,r,f){function h(r,i){return n.coerce(t,e,l,r,i)}var p=s(t,e,{name:"dimensions",handleItemDefaults:u}),d=function(t,e,r,o,s){s("line.shape"),s("line.hovertemplate");var l=s("line.color",o.colorway[0]);if(i(t,"line")&&n.isArrayOrTypedArray(l)){if(l.length)return s("line.colorscale"),a(t,e,o,s,{prefix:"line.",cLetter:"c"}),l.length;e.line.color=r}return 1/0}(t,e,r,f,h);o(e,f,h),Array.isArray(p)&&p.length||(e.visible=!1),c(e,p,"values",d),h("hoveron"),h("hovertemplate"),h("arrangement"),h("bundlecolors"),h("sortpaths"),h("counts");var g={family:f.font.family,size:Math.round(f.font.size),color:f.font.color};n.coerceFont(h,"labelfont",g);var m={family:f.font.family,size:Math.round(f.font.size/1.2),color:f.font.color};n.coerceFont(h,"tickfont",m)}},{"../../components/colorscale/defaults":653,"../../components/colorscale/helpers":654,"../../lib":778,"../../plots/array_container_defaults":823,"../../plots/domain":855,"../parcoords/merge_length":1158,"./attributes":1142}],1146:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),calc:t("./calc"),plot:t("./plot"),colorbar:{container:"line",min:"cmin",max:"cmax"},moduleType:"trace",name:"parcats",basePlotModule:t("./base_plot"),categories:["noOpacity"],meta:{}}},{"./attributes":1142,"./base_plot":1143,"./calc":1144,"./defaults":1145,"./plot":1148}],1147:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../plot_api/plot_api"),a=t("../../components/fx"),o=t("../../lib"),s=o.strTranslate,l=t("../../components/drawing"),c=t("tinycolor2"),u=t("../../lib/svg_text_utils");function f(t,e,r,i){var a=t.map(R.bind(0,e,r)),c=i.selectAll("g.parcatslayer").data([null]);c.enter().append("g").attr("class","parcatslayer").style("pointer-events","all");var f=c.selectAll("g.trace.parcats").data(a,h),v=f.enter().append("g").attr("class","trace parcats");f.attr("transform",(function(t){return s(t.x,t.y)})),v.append("g").attr("class","paths");var y=f.select("g.paths").selectAll("path.path").data((function(t){return t.paths}),h);y.attr("fill",(function(t){return t.model.color}));var _=y.enter().append("path").attr("class","path").attr("stroke-opacity",0).attr("fill",(function(t){return t.model.color})).attr("fill-opacity",0);b(_),y.attr("d",(function(t){return t.svgD})),_.empty()||y.sort(d),y.exit().remove(),y.on("mouseover",g).on("mouseout",m).on("click",x),v.append("g").attr("class","dimensions");var k=f.select("g.dimensions").selectAll("g.dimension").data((function(t){return t.dimensions}),h);k.enter().append("g").attr("class","dimension"),k.attr("transform",(function(t){return s(t.x,0)})),k.exit().remove();var M=k.selectAll("g.category").data((function(t){return t.categories}),h),A=M.enter().append("g").attr("class","category");M.attr("transform",(function(t){return s(0,t.y)})),A.append("rect").attr("class","catrect").attr("pointer-events","none"),M.select("rect.catrect").attr("fill","none").attr("width",(function(t){return t.width})).attr("height",(function(t){return t.height})),w(A);var S=M.selectAll("rect.bandrect").data((function(t){return t.bands}),h);S.each((function(){o.raiseToTop(this)})),S.attr("fill",(function(t){return t.color}));var z=S.enter().append("rect").attr("class","bandrect").attr("stroke-opacity",0).attr("fill",(function(t){return t.color})).attr("fill-opacity",0);S.attr("fill",(function(t){return t.color})).attr("width",(function(t){return t.width})).attr("height",(function(t){return t.height})).attr("y",(function(t){return t.y})).attr("cursor",(function(t){return"fixed"===t.parcatsViewModel.arrangement?"default":"perpendicular"===t.parcatsViewModel.arrangement?"ns-resize":"move"})),T(z),S.exit().remove(),A.append("text").attr("class","catlabel").attr("pointer-events","none");var O=e._fullLayout.paper_bgcolor;M.select("text.catlabel").attr("text-anchor",(function(t){return p(t)?"start":"end"})).attr("alignment-baseline","middle").style("text-shadow",O+" -1px 1px 2px, "+O+" 1px 1px 2px, "+O+" 1px -1px 2px, "+O+" -1px -1px 2px").style("fill","rgb(0, 0, 0)").attr("x",(function(t){return p(t)?t.width+5:-5})).attr("y",(function(t){return t.height/2})).text((function(t){return t.model.categoryLabel})).each((function(t){l.font(n.select(this),t.parcatsViewModel.categorylabelfont),u.convertToTspans(n.select(this),e)})),A.append("text").attr("class","dimlabel"),M.select("text.dimlabel").attr("text-anchor","middle").attr("alignment-baseline","baseline").attr("cursor",(function(t){return"fixed"===t.parcatsViewModel.arrangement?"default":"ew-resize"})).attr("x",(function(t){return t.width/2})).attr("y",-5).text((function(t,e){return 0===e?t.parcatsViewModel.model.dimensions[t.model.dimensionInd].dimensionLabel:null})).each((function(t){l.font(n.select(this),t.parcatsViewModel.labelfont)})),M.selectAll("rect.bandrect").on("mouseover",E).on("mouseout",C),M.exit().remove(),k.call(n.behavior.drag().origin((function(t){return{x:t.x,y:0}})).on("dragstart",L).on("drag",I).on("dragend",P)),f.each((function(t){t.traceSelection=n.select(this),t.pathSelection=n.select(this).selectAll("g.paths").selectAll("path.path"),t.dimensionSelection=n.select(this).selectAll("g.dimensions").selectAll("g.dimension")})),f.exit().remove()}function h(t){return t.key}function p(t){var e=t.parcatsViewModel.dimensions.length,r=t.parcatsViewModel.dimensions[e-1].model.dimensionInd;return t.model.dimensionInd===r}function d(t,e){return t.model.rawColor>e.model.rawColor?1:t.model.rawColor<e.model.rawColor?-1:0}function g(t){if(!t.parcatsViewModel.dragDimension&&-1===t.parcatsViewModel.hoverinfoItems.indexOf("skip")){o.raiseToTop(this),_(n.select(this));var e=v(t),r=y(t);if(t.parcatsViewModel.graphDiv.emit("plotly_hover",{points:e,event:n.event,constraints:r}),-1===t.parcatsViewModel.hoverinfoItems.indexOf("none")){var i,s,l,u=n.mouse(this)[0],f=t.parcatsViewModel.graphDiv,h=t.parcatsViewModel.trace,p=f._fullLayout,d=p._paperdiv.node().getBoundingClientRect(),g=t.parcatsViewModel.graphDiv.getBoundingClientRect();for(l=0;l<t.leftXs.length-1;l++)if(t.leftXs[l]+t.dimWidths[l]-2<=u&&u<=t.leftXs[l+1]+2){var m=t.parcatsViewModel.dimensions[l],x=t.parcatsViewModel.dimensions[l+1];i=(m.x+m.width+x.x)/2,s=(t.topYs[l]+t.topYs[l+1]+t.height)/2;break}var b=t.parcatsViewModel.x+i,w=t.parcatsViewModel.y+s,T=c.mostReadable(t.model.color,["black","white"]),k=t.model.count,M=k/t.parcatsViewModel.model.count,A={countLabel:k,probabilityLabel:M.toFixed(3)},S=[];-1!==t.parcatsViewModel.hoverinfoItems.indexOf("count")&&S.push(["Count:",A.countLabel].join(" ")),-1!==t.parcatsViewModel.hoverinfoItems.indexOf("probability")&&S.push(["P:",A.probabilityLabel].join(" "));var E=S.join("<br>"),C=n.mouse(f)[0];a.loneHover({trace:h,x:b-d.left+g.left,y:w-d.top+g.top,text:E,color:t.model.color,borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontSize:10,fontColor:T,idealAlign:C<b?"right":"left",hovertemplate:(h.line||{}).hovertemplate,hovertemplateLabels:A,eventData:[{data:h._input,fullData:h,count:k,probability:M}]},{container:p._hoverlayer.node(),outerContainer:p._paper.node(),gd:f})}}}function m(t){if(!t.parcatsViewModel.dragDimension&&(b(n.select(this)),a.loneUnhover(t.parcatsViewModel.graphDiv._fullLayout._hoverlayer.node()),t.parcatsViewModel.pathSelection.sort(d),-1===t.parcatsViewModel.hoverinfoItems.indexOf("skip"))){var e=v(t),r=y(t);t.parcatsViewModel.graphDiv.emit("plotly_unhover",{points:e,event:n.event,constraints:r})}}function v(t){for(var e=[],r=z(t.parcatsViewModel),n=0;n<t.model.valueInds.length;n++){var i=t.model.valueInds[n];e.push({curveNumber:r,pointNumber:i})}return e}function y(t){for(var e={},r=t.parcatsViewModel.model.dimensions,n=0;n<r.length;n++){var i=r[n],a=i.categories[t.model.categoryInds[n]];e[i.containerInd]=a.categoryValue}return void 0!==t.model.rawColor&&(e.color=t.model.rawColor),e}function x(t){if(-1===t.parcatsViewModel.hoverinfoItems.indexOf("skip")){var e=v(t),r=y(t);t.parcatsViewModel.graphDiv.emit("plotly_click",{points:e,event:n.event,constraints:r})}}function b(t){t.attr("fill",(function(t){return t.model.color})).attr("fill-opacity",.6).attr("stroke","lightgray").attr("stroke-width",.2).attr("stroke-opacity",1)}function _(t){t.attr("fill-opacity",.8).attr("stroke",(function(t){return c.mostReadable(t.model.color,["black","white"])})).attr("stroke-width",.3)}function w(t){t.select("rect.catrect").attr("stroke","black").attr("stroke-width",1).attr("stroke-opacity",1)}function T(t){t.attr("stroke","black").attr("stroke-width",.2).attr("stroke-opacity",1).attr("fill-opacity",1)}function k(t){var e=t.parcatsViewModel.pathSelection,r=t.categoryViewModel.model.dimensionInd,n=t.categoryViewModel.model.categoryInd;return e.filter((function(e){return e.model.categoryInds[r]===n&&e.model.color===t.color}))}function M(t,e,r){var i=n.select(t).datum(),a=i.categoryViewModel.model,o=i.parcatsViewModel.graphDiv,s=n.select(t.parentNode).selectAll("rect.bandrect"),l=[];s.each((function(t){k(t).each((function(t){Array.prototype.push.apply(l,v(t))}))}));var c={};c[a.dimensionInd]=a.categoryValue,o.emit(e,{points:l,event:r,constraints:c})}function A(t,e,r){var i=n.select(t).datum(),a=i.categoryViewModel.model,o=i.parcatsViewModel.graphDiv,s=k(i),l=[];s.each((function(t){Array.prototype.push.apply(l,v(t))}));var c={};c[a.dimensionInd]=a.categoryValue,void 0!==i.rawColor&&(c.color=i.rawColor),o.emit(e,{points:l,event:r,constraints:c})}function S(t,e,r){t._fullLayout._calcInverseTransform(t);var i,a,o=t._fullLayout._invScaleX,s=t._fullLayout._invScaleY,l=n.select(r.parentNode).select("rect.catrect"),c=l.node().getBoundingClientRect(),u=l.datum(),f=u.parcatsViewModel,h=f.model.dimensions[u.model.dimensionInd],p=f.trace,d=c.top+c.height/2;f.dimensions.length>1&&h.displayInd===f.dimensions.length-1?(i=c.left,a="left"):(i=c.left+c.width,a="right");var g=u.model.count,m=u.model.categoryLabel,v=g/u.parcatsViewModel.model.count,y={countLabel:g,categoryLabel:m,probabilityLabel:v.toFixed(3)},x=[];-1!==u.parcatsViewModel.hoverinfoItems.indexOf("count")&&x.push(["Count:",y.countLabel].join(" ")),-1!==u.parcatsViewModel.hoverinfoItems.indexOf("probability")&&x.push(["P("+y.categoryLabel+"):",y.probabilityLabel].join(" "));var b=x.join("<br>");return{trace:p,x:o*(i-e.left),y:s*(d-e.top),text:b,color:"lightgray",borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontSize:12,fontColor:"black",idealAlign:a,hovertemplate:p.hovertemplate,hovertemplateLabels:y,eventData:[{data:p._input,fullData:p,count:g,category:m,probability:v}]}}function E(t){if(!t.parcatsViewModel.dragDimension&&-1===t.parcatsViewModel.hoverinfoItems.indexOf("skip")){if(n.mouse(this)[1]<-1)return;var e,r=t.parcatsViewModel.graphDiv,i=r._fullLayout,s=i._paperdiv.node().getBoundingClientRect(),l=t.parcatsViewModel.hoveron;if("color"===l?(!function(t){var e=n.select(t).datum(),r=k(e);_(r),r.each((function(){o.raiseToTop(this)})),n.select(t.parentNode).selectAll("rect.bandrect").filter((function(t){return t.color===e.color})).each((function(){o.raiseToTop(this),n.select(this).attr("stroke","black").attr("stroke-width",1.5)}))}(this),A(this,"plotly_hover",n.event)):(!function(t){n.select(t.parentNode).selectAll("rect.bandrect").each((function(t){var e=k(t);_(e),e.each((function(){o.raiseToTop(this)}))})),n.select(t.parentNode).select("rect.catrect").attr("stroke","black").attr("stroke-width",2.5)}(this),M(this,"plotly_hover",n.event)),-1===t.parcatsViewModel.hoverinfoItems.indexOf("none"))"category"===l?e=S(r,s,this):"color"===l?e=function(t,e,r){t._fullLayout._calcInverseTransform(t);var i,a,o=t._fullLayout._invScaleX,s=t._fullLayout._invScaleY,l=r.getBoundingClientRect(),u=n.select(r).datum(),f=u.categoryViewModel,h=f.parcatsViewModel,p=h.model.dimensions[f.model.dimensionInd],d=h.trace,g=l.y+l.height/2;h.dimensions.length>1&&p.displayInd===h.dimensions.length-1?(i=l.left,a="left"):(i=l.left+l.width,a="right");var m=f.model.categoryLabel,v=u.parcatsViewModel.model.count,y=0;u.categoryViewModel.bands.forEach((function(t){t.color===u.color&&(y+=t.count)}));var x=f.model.count,b=0;h.pathSelection.each((function(t){t.model.color===u.color&&(b+=t.model.count)}));var _=y/v,w=y/b,T=y/x,k={countLabel:v,categoryLabel:m,probabilityLabel:_.toFixed(3)},M=[];-1!==f.parcatsViewModel.hoverinfoItems.indexOf("count")&&M.push(["Count:",k.countLabel].join(" ")),-1!==f.parcatsViewModel.hoverinfoItems.indexOf("probability")&&(M.push("P(color \u2229 "+m+"): "+k.probabilityLabel),M.push("P("+m+" | color): "+w.toFixed(3)),M.push("P(color | "+m+"): "+T.toFixed(3)));var A=M.join("<br>"),S=c.mostReadable(u.color,["black","white"]);return{trace:d,x:o*(i-e.left),y:s*(g-e.top),text:A,color:u.color,borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontColor:S,fontSize:10,idealAlign:a,hovertemplate:d.hovertemplate,hovertemplateLabels:k,eventData:[{data:d._input,fullData:d,category:m,count:v,probability:_,categorycount:x,colorcount:b,bandcolorcount:y}]}}(r,s,this):"dimension"===l&&(e=function(t,e,r){var i=[];return n.select(r.parentNode.parentNode).selectAll("g.category").select("rect.catrect").each((function(){i.push(S(t,e,this))})),i}(r,s,this)),e&&a.loneHover(e,{container:i._hoverlayer.node(),outerContainer:i._paper.node(),gd:r})}}function C(t){var e=t.parcatsViewModel;if(!e.dragDimension&&(b(e.pathSelection),w(e.dimensionSelection.selectAll("g.category")),T(e.dimensionSelection.selectAll("g.category").selectAll("rect.bandrect")),a.loneUnhover(e.graphDiv._fullLayout._hoverlayer.node()),e.pathSelection.sort(d),-1===e.hoverinfoItems.indexOf("skip"))){"color"===t.parcatsViewModel.hoveron?A(this,"plotly_unhover",n.event):M(this,"plotly_unhover",n.event)}}function L(t){"fixed"!==t.parcatsViewModel.arrangement&&(t.dragDimensionDisplayInd=t.model.displayInd,t.initialDragDimensionDisplayInds=t.parcatsViewModel.model.dimensions.map((function(t){return t.displayInd})),t.dragHasMoved=!1,t.dragCategoryDisplayInd=null,n.select(this).selectAll("g.category").select("rect.catrect").each((function(e){var r=n.mouse(this)[0],i=n.mouse(this)[1];-2<=r&&r<=e.width+2&&-2<=i&&i<=e.height+2&&(t.dragCategoryDisplayInd=e.model.displayInd,t.initialDragCategoryDisplayInds=t.model.categories.map((function(t){return t.displayInd})),e.model.dragY=e.y,o.raiseToTop(this.parentNode),n.select(this.parentNode).selectAll("rect.bandrect").each((function(e){e.y<i&&i<=e.y+e.height&&(t.potentialClickBand=this)})))})),t.parcatsViewModel.dragDimension=t,a.loneUnhover(t.parcatsViewModel.graphDiv._fullLayout._hoverlayer.node()))}function I(t){if("fixed"!==t.parcatsViewModel.arrangement&&(t.dragHasMoved=!0,null!==t.dragDimensionDisplayInd)){var e=t.dragDimensionDisplayInd,r=e-1,i=e+1,a=t.parcatsViewModel.dimensions[e];if(null!==t.dragCategoryDisplayInd){var o=a.categories[t.dragCategoryDisplayInd];o.model.dragY+=n.event.dy;var s=o.model.dragY,l=o.model.displayInd,c=a.categories,u=c[l-1],f=c[l+1];void 0!==u&&s<u.y+u.height/2&&(o.model.displayInd=u.model.displayInd,u.model.displayInd=l),void 0!==f&&s+o.height>f.y+f.height/2&&(o.model.displayInd=f.model.displayInd,f.model.displayInd=l),t.dragCategoryDisplayInd=o.model.displayInd}if(null===t.dragCategoryDisplayInd||"freeform"===t.parcatsViewModel.arrangement){a.model.dragX=n.event.x;var h=t.parcatsViewModel.dimensions[r],p=t.parcatsViewModel.dimensions[i];void 0!==h&&a.model.dragX<h.x+h.width&&(a.model.displayInd=h.model.displayInd,h.model.displayInd=e),void 0!==p&&a.model.dragX+a.width>p.x&&(a.model.displayInd=p.model.displayInd,p.model.displayInd=t.dragDimensionDisplayInd),t.dragDimensionDisplayInd=a.model.displayInd}N(t.parcatsViewModel),B(t.parcatsViewModel),D(t.parcatsViewModel),O(t.parcatsViewModel)}}function P(t){if("fixed"!==t.parcatsViewModel.arrangement&&null!==t.dragDimensionDisplayInd){n.select(this).selectAll("text").attr("font-weight","normal");var e={},r=z(t.parcatsViewModel),a=t.parcatsViewModel.model.dimensions.map((function(t){return t.displayInd})),o=t.initialDragDimensionDisplayInds.some((function(t,e){return t!==a[e]}));o&&a.forEach((function(r,n){var i=t.parcatsViewModel.model.dimensions[n].containerInd;e["dimensions["+i+"].displayindex"]=r}));var s=!1;if(null!==t.dragCategoryDisplayInd){var l=t.model.categories.map((function(t){return t.displayInd}));if(s=t.initialDragCategoryDisplayInds.some((function(t,e){return t!==l[e]}))){var c=t.model.categories.slice().sort((function(t,e){return t.displayInd-e.displayInd})),u=c.map((function(t){return t.categoryValue})),f=c.map((function(t){return t.categoryLabel}));e["dimensions["+t.model.containerInd+"].categoryarray"]=[u],e["dimensions["+t.model.containerInd+"].ticktext"]=[f],e["dimensions["+t.model.containerInd+"].categoryorder"]="array"}}if(-1===t.parcatsViewModel.hoverinfoItems.indexOf("skip")&&!t.dragHasMoved&&t.potentialClickBand&&("color"===t.parcatsViewModel.hoveron?A(t.potentialClickBand,"plotly_click",n.event.sourceEvent):M(t.potentialClickBand,"plotly_click",n.event.sourceEvent)),t.model.dragX=null,null!==t.dragCategoryDisplayInd)t.parcatsViewModel.dimensions[t.dragDimensionDisplayInd].categories[t.dragCategoryDisplayInd].model.dragY=null,t.dragCategoryDisplayInd=null;t.dragDimensionDisplayInd=null,t.parcatsViewModel.dragDimension=null,t.dragHasMoved=null,t.potentialClickBand=null,N(t.parcatsViewModel),B(t.parcatsViewModel),n.transition().duration(300).ease("cubic-in-out").each((function(){D(t.parcatsViewModel,!0),O(t.parcatsViewModel,!0)})).each("end",(function(){(o||s)&&i.restyle(t.parcatsViewModel.graphDiv,e,[r])}))}}function z(t){for(var e,r=t.graphDiv._fullData,n=0;n<r.length;n++)if(t.key===r[n].uid){e=n;break}return e}function O(t,e){var r;void 0===e&&(e=!1),t.pathSelection.data((function(t){return t.paths}),h),(r=t.pathSelection,e?r.transition():r).attr("d",(function(t){return t.svgD}))}function D(t,e){function r(t){return e?t.transition():t}void 0===e&&(e=!1),t.dimensionSelection.data((function(t){return t.dimensions}),h);var i=t.dimensionSelection.selectAll("g.category").data((function(t){return t.categories}),h);r(t.dimensionSelection).attr("transform",(function(t){return s(t.x,0)})),r(i).attr("transform",(function(t){return s(0,t.y)})),i.select(".dimlabel").text((function(t,e){return 0===e?t.parcatsViewModel.model.dimensions[t.model.dimensionInd].dimensionLabel:null})),i.select(".catlabel").attr("text-anchor",(function(t){return p(t)?"start":"end"})).attr("x",(function(t){return p(t)?t.width+5:-5})).each((function(t){var e,r;p(t)?(e=t.width+5,r="start"):(e=-5,r="end"),n.select(this).selectAll("tspan").attr("x",e).attr("text-anchor",r)}));var a=i.selectAll("rect.bandrect").data((function(t){return t.bands}),h),l=a.enter().append("rect").attr("class","bandrect").attr("cursor","move").attr("stroke-opacity",0).attr("fill",(function(t){return t.color})).attr("fill-opacity",0);a.attr("fill",(function(t){return t.color})).attr("width",(function(t){return t.width})).attr("height",(function(t){return t.height})).attr("y",(function(t){return t.y})),T(l),a.each((function(){o.raiseToTop(this)})),a.exit().remove()}function R(t,e,r){var n,i=r[0],a=e.margin||{l:80,r:80,t:100,b:80},o=i.trace,s=o.domain,l=e.width,c=e.height,u=Math.floor(l*(s.x[1]-s.x[0])),f=Math.floor(c*(s.y[1]-s.y[0])),h=s.x[0]*l+a.l,p=e.height-s.y[1]*e.height+a.t,d=o.line.shape;n="all"===o.hoverinfo?["count","probability"]:(o.hoverinfo||"").split("+");var g={trace:o,key:o.uid,model:i,x:h,y:p,width:u,height:f,hoveron:o.hoveron,hoverinfoItems:n,arrangement:o.arrangement,bundlecolors:o.bundlecolors,sortpaths:o.sortpaths,labelfont:o.labelfont,categorylabelfont:o.tickfont,pathShape:d,dragDimension:null,margin:a,paths:[],dimensions:[],graphDiv:t,traceSelection:null,pathSelection:null,dimensionSelection:null};return i.dimensions&&(N(g),B(g)),g}function F(t,e,r,i,a){var o,s,l=[],c=[];for(s=0;s<r.length-1;s++)o=n.interpolateNumber(r[s]+t[s],t[s+1]),l.push(o(a)),c.push(o(1-a));var u="M "+t[0]+","+e[0];for(u+="l"+r[0]+",0 ",s=1;s<r.length;s++)u+="C"+l[s-1]+","+e[s-1]+" "+c[s-1]+","+e[s]+" "+t[s]+","+e[s],u+="l"+r[s]+",0 ";for(u+="l0,"+i+" ",u+="l -"+r[r.length-1]+",0 ",s=r.length-2;s>=0;s--)u+="C"+c[s]+","+(e[s+1]+i)+" "+l[s]+","+(e[s]+i)+" "+(t[s]+r[s])+","+(e[s]+i),u+="l-"+r[s]+",0 ";return u+="Z"}function B(t){var e=t.dimensions,r=t.model,n=e.map((function(t){return t.categories.map((function(t){return t.y}))})),i=t.model.dimensions.map((function(t){return t.categories.map((function(t){return t.displayInd}))})),a=t.model.dimensions.map((function(t){return t.displayInd})),o=t.dimensions.map((function(t){return t.model.dimensionInd})),s=e.map((function(t){return t.x})),l=e.map((function(t){return t.width})),c=[];for(var u in r.paths)r.paths.hasOwnProperty(u)&&c.push(r.paths[u]);function f(t){var e=t.categoryInds.map((function(t,e){return i[e][t]}));return o.map((function(t){return e[t]}))}c.sort((function(e,r){var n=f(e),i=f(r);return"backward"===t.sortpaths&&(n.reverse(),i.reverse()),n.push(e.valueInds[0]),i.push(r.valueInds[0]),t.bundlecolors&&(n.unshift(e.rawColor),i.unshift(r.rawColor)),n<i?-1:n>i?1:0}));for(var h=new Array(c.length),p=e[0].model.count,d=e[0].categories.map((function(t){return t.height})).reduce((function(t,e){return t+e})),g=0;g<c.length;g++){var m,v=c[g];m=p>0?d*(v.count/p):0;for(var y,x=new Array(n.length),b=0;b<v.categoryInds.length;b++){var _=v.categoryInds[b],w=i[b][_],T=a[b];x[T]=n[T][w],n[T][w]+=m;var k=t.dimensions[T].categories[w],M=k.bands.length,A=k.bands[M-1];if(void 0===A||v.rawColor!==A.rawColor){var S=void 0===A?0:A.y+A.height;k.bands.push({key:S,color:v.color,rawColor:v.rawColor,height:m,width:k.width,count:v.count,y:S,categoryViewModel:k,parcatsViewModel:t})}else{var E=k.bands[M-1];E.height+=m,E.count+=v.count}}y="hspline"===t.pathShape?F(s,x,l,m,.5):F(s,x,l,m,0),h[g]={key:v.valueInds[0],model:v,height:m,leftXs:s,topYs:x,dimWidths:l,svgD:y,parcatsViewModel:t}}t.paths=h}function N(t){var e=t.model.dimensions.map((function(t){return{displayInd:t.displayInd,dimensionInd:t.dimensionInd}}));e.sort((function(t,e){return t.displayInd-e.displayInd}));var r=[];for(var n in e){var i=e[n].dimensionInd,a=t.model.dimensions[i];r.push(j(t,a))}t.dimensions=r}function j(t,e){var r,n=t.model.dimensions.length,i=e.displayInd;r=40+(n>1?(t.width-80-16)/(n-1):0)*i;var a,o,s,l,c,u=[],f=t.model.maxCats,h=e.categories.length,p=e.count,d=t.height-8*(f-1),g=8*(f-h)/2,m=e.categories.map((function(t){return{displayInd:t.displayInd,categoryInd:t.categoryInd}}));for(m.sort((function(t,e){return t.displayInd-e.displayInd})),c=0;c<h;c++)l=m[c].categoryInd,o=e.categories[l],a=p>0?o.count/p*d:0,s={key:o.valueInds[0],model:o,width:16,height:a,y:null!==o.dragY?o.dragY:g,bands:[],parcatsViewModel:t},g=g+a+8,u.push(s);return{key:e.dimensionInd,x:null!==e.dragX?e.dragX:r,y:0,width:16,model:e,categories:u,parcatsViewModel:t,dragCategoryDisplayInd:null,dragDimensionDisplayInd:null,initialDragDimensionDisplayInds:null,initialDragCategoryDisplayInds:null,dragHasMoved:null,potentialClickBand:null}}e.exports=function(t,e,r,n){f(r,t,n,e)}},{"../../components/drawing":665,"../../components/fx":683,"../../lib":778,"../../lib/svg_text_utils":803,"../../plot_api/plot_api":814,d3:169,tinycolor2:576}],1148:[function(t,e,r){"use strict";var n=t("./parcats");e.exports=function(t,e,r,i){var a=t._fullLayout,o=a._paper,s=a._size;n(t,o,e,{width:s.w,height:s.h,margin:{t:s.t,r:s.r,b:s.b,l:s.l}},r,i)}},{"./parcats":1147}],1149:[function(t,e,r){"use strict";var n=t("../../components/colorscale/attributes"),i=t("../../plots/cartesian/layout_attributes"),a=t("../../plots/font_attributes"),o=t("../../plots/domain").attributes,s=t("../../lib/extend").extendFlat,l=t("../../plot_api/plot_template").templatedArray;e.exports={domain:o({name:"parcoords",trace:!0,editType:"plot"}),labelangle:{valType:"angle",dflt:0,editType:"plot"},labelside:{valType:"enumerated",values:["top","bottom"],dflt:"top",editType:"plot"},labelfont:a({editType:"plot"}),tickfont:a({editType:"plot"}),rangefont:a({editType:"plot"}),dimensions:l("dimension",{label:{valType:"string",editType:"plot"},tickvals:s({},i.tickvals,{editType:"plot"}),ticktext:s({},i.ticktext,{editType:"plot"}),tickformat:s({},i.tickformat,{editType:"plot"}),visible:{valType:"boolean",dflt:!0,editType:"plot"},range:{valType:"info_array",items:[{valType:"number",editType:"plot"},{valType:"number",editType:"plot"}],editType:"plot"},constraintrange:{valType:"info_array",freeLength:!0,dimensions:"1-2",items:[{valType:"number",editType:"plot"},{valType:"number",editType:"plot"}],editType:"plot"},multiselect:{valType:"boolean",dflt:!0,editType:"plot"},values:{valType:"data_array",editType:"calc"},editType:"calc"}),line:s({editType:"calc"},n("line",{colorscaleDflt:"Viridis",autoColorDflt:!1,editTypeOverride:"calc"}))}},{"../../components/colorscale/attributes":650,"../../lib/extend":768,"../../plot_api/plot_template":817,"../../plots/cartesian/layout_attributes":842,"../../plots/domain":855,"../../plots/font_attributes":856}],1150:[function(t,e,r){"use strict";var n=t("./constants"),i=t("d3"),a=t("../../lib/gup").keyFun,o=t("../../lib/gup").repeat,s=t("../../lib").sorterAsc,l=t("../../lib").strTranslate,c=n.bar.snapRatio;function u(t,e){return t*(1-c)+e*c}var f=n.bar.snapClose;function h(t,e){return t*(1-f)+e*f}function p(t,e,r,n){if(function(t,e){for(var r=0;r<e.length;r++)if(t>=e[r][0]&&t<=e[r][1])return!0;return!1}(r,n))return r;var i=t?-1:1,a=0,o=e.length-1;if(i<0){var s=a;a=o,o=s}for(var l=e[a],c=l,f=a;i*f<i*o;f+=i){var p=f+i,d=e[p];if(i*r<i*h(l,d))return u(l,c);if(i*r<i*d||p===o)return u(d,l);c=l,l=d}}function d(t){t.attr("x",-n.bar.captureWidth/2).attr("width",n.bar.captureWidth)}function g(t){t.attr("visibility","visible").style("visibility","visible").attr("fill","yellow").attr("opacity",0)}function m(t){if(!t.brush.filterSpecified)return"0,"+t.height;for(var e,r,n,i=v(t.brush.filter.getConsolidated(),t.height),a=[0],o=i.length?i[0][0]:null,s=0;s<i.length;s++)r=(e=i[s])[1]-e[0],a.push(o),a.push(r),(n=s+1)<i.length&&(o=i[n][0]-e[1]);return a.push(t.height),a}function v(t,e){return t.map((function(t){return t.map((function(t){return Math.max(0,t*e)})).sort(s)}))}function y(){i.select(document.body).style("cursor",null)}function x(t){t.attr("stroke-dasharray",m)}function b(t,e){var r=i.select(t).selectAll(".highlight, .highlight-shadow");x(e?r.transition().duration(n.bar.snapDuration).each("end",e):r)}function _(t,e){var r,i=t.brush,a=NaN,o={};if(i.filterSpecified){var s=t.height,l=i.filter.getConsolidated(),c=v(l,s),u=NaN,f=NaN,h=NaN;for(r=0;r<=c.length;r++){var p=c[r];if(p&&p[0]<=e&&e<=p[1]){u=r;break}if(f=r?r-1:NaN,p&&p[0]>e){h=r;break}}if(a=u,isNaN(a)&&(a=isNaN(f)||isNaN(h)?isNaN(f)?h:f:e-c[f][1]<c[h][0]-e?f:h),!isNaN(a)){var d=c[a],g=function(t,e){var r=n.bar.handleHeight;if(!(e>t[1]+r||e<t[0]-r))return e>=.9*t[1]+.1*t[0]?"n":e<=.9*t[0]+.1*t[1]?"s":"ns"}(d,e);g&&(o.interval=l[a],o.intervalPix=d,o.region=g)}}if(t.ordinal&&!o.region){var m=t.unitTickvals,y=t.unitToPaddedPx.invert(e);for(r=0;r<m.length;r++){var x=[.25*m[Math.max(r-1,0)]+.75*m[r],.25*m[Math.min(r+1,m.length-1)]+.75*m[r]];if(y>=x[0]&&y<=x[1]){o.clickableOrdinalRange=x;break}}}return o}function w(t,e){i.event.sourceEvent.stopPropagation();var r=e.height-i.mouse(t)[1]-2*n.verticalPadding,a=e.brush.svgBrush;a.wasDragged=!0,a._dragging=!0,a.grabbingBar?a.newExtent=[r-a.grabPoint,r+a.barLength-a.grabPoint].map(e.unitToPaddedPx.invert):a.newExtent=[a.startExtent,e.unitToPaddedPx.invert(r)].sort(s),e.brush.filterSpecified=!0,a.extent=a.stayingIntervals.concat([a.newExtent]),a.brushCallback(e),b(t.parentNode)}function T(t,e){var r=_(e,e.height-i.mouse(t)[1]-2*n.verticalPadding),a="crosshair";r.clickableOrdinalRange?a="pointer":r.region&&(a=r.region+"-resize"),i.select(document.body).style("cursor",a)}function k(t){t.on("mousemove",(function(t){i.event.preventDefault(),t.parent.inBrushDrag||T(this,t)})).on("mouseleave",(function(t){t.parent.inBrushDrag||y()})).call(i.behavior.drag().on("dragstart",(function(t){!function(t,e){i.event.sourceEvent.stopPropagation();var r=e.height-i.mouse(t)[1]-2*n.verticalPadding,a=e.unitToPaddedPx.invert(r),o=e.brush,s=_(e,r),l=s.interval,c=o.svgBrush;if(c.wasDragged=!1,c.grabbingBar="ns"===s.region,c.grabbingBar){var u=l.map(e.unitToPaddedPx);c.grabPoint=r-u[0]-n.verticalPadding,c.barLength=u[1]-u[0]}c.clickableOrdinalRange=s.clickableOrdinalRange,c.stayingIntervals=e.multiselect&&o.filterSpecified?o.filter.getConsolidated():[],l&&(c.stayingIntervals=c.stayingIntervals.filter((function(t){return t[0]!==l[0]&&t[1]!==l[1]}))),c.startExtent=s.region?l["s"===s.region?1:0]:a,e.parent.inBrushDrag=!0,c.brushStartCallback()}(this,t)})).on("drag",(function(t){w(this,t)})).on("dragend",(function(t){!function(t,e){var r=e.brush,n=r.filter,a=r.svgBrush;a._dragging||(T(t,e),w(t,e),e.brush.svgBrush.wasDragged=!1),a._dragging=!1,i.event.sourceEvent.stopPropagation();var o=a.grabbingBar;if(a.grabbingBar=!1,a.grabLocation=void 0,e.parent.inBrushDrag=!1,y(),!a.wasDragged)return a.wasDragged=void 0,a.clickableOrdinalRange?r.filterSpecified&&e.multiselect?a.extent.push(a.clickableOrdinalRange):(a.extent=[a.clickableOrdinalRange],r.filterSpecified=!0):o?(a.extent=a.stayingIntervals,0===a.extent.length&&A(r)):A(r),a.brushCallback(e),b(t.parentNode),void a.brushEndCallback(r.filterSpecified?n.getConsolidated():[]);var s=function(){n.set(n.getConsolidated())};if(e.ordinal){var l=e.unitTickvals;l[l.length-1]<l[0]&&l.reverse(),a.newExtent=[p(0,l,a.newExtent[0],a.stayingIntervals),p(1,l,a.newExtent[1],a.stayingIntervals)];var c=a.newExtent[1]>a.newExtent[0];a.extent=a.stayingIntervals.concat(c?[a.newExtent]:[]),a.extent.length||A(r),a.brushCallback(e),c?b(t.parentNode,s):(s(),b(t.parentNode))}else s();a.brushEndCallback(r.filterSpecified?n.getConsolidated():[])}(this,t)})))}function M(t,e){return t[0]-e[0]}function A(t){t.filterSpecified=!1,t.svgBrush.extent=[[-1/0,1/0]]}function S(t){for(var e,r=t.slice(),n=[],i=r.shift();i;){for(e=i.slice();(i=r.shift())&&i[0]<=e[1];)e[1]=Math.max(e[1],i[1]);n.push(e)}return 1===n.length&&n[0][0]>n[0][1]&&(n=[]),n}e.exports={makeBrush:function(t,e,r,n,i,a){var o,l=function(){var t,e,r=[];return{set:function(n){1===(r=n.map((function(t){return t.slice().sort(s)})).sort(M)).length&&r[0][0]===-1/0&&r[0][1]===1/0&&(r=[[0,-1]]),t=S(r),e=r.reduce((function(t,e){return[Math.min(t[0],e[0]),Math.max(t[1],e[1])]}),[1/0,-1/0])},get:function(){return r.slice()},getConsolidated:function(){return t},getBounds:function(){return e}}}();return l.set(r),{filter:l,filterSpecified:e,svgBrush:{extent:[],brushStartCallback:n,brushCallback:(o=i,function(t){var e=t.brush,r=function(t){return t.svgBrush.extent.map((function(t){return t.slice()}))}(e).slice();e.filter.set(r),o()}),brushEndCallback:a}}},ensureAxisBrush:function(t){var e=t.selectAll("."+n.cn.axisBrush).data(o,a);e.enter().append("g").classed(n.cn.axisBrush,!0),function(t){var e=t.selectAll(".background").data(o);e.enter().append("rect").classed("background",!0).call(d).call(g).style("pointer-events","auto").attr("transform",l(0,n.verticalPadding)),e.call(k).attr("height",(function(t){return t.height-n.verticalPadding}));var r=t.selectAll(".highlight-shadow").data(o);r.enter().append("line").classed("highlight-shadow",!0).attr("x",-n.bar.width/2).attr("stroke-width",n.bar.width+n.bar.strokeWidth).attr("stroke",n.bar.strokeColor).attr("opacity",n.bar.strokeOpacity).attr("stroke-linecap","butt"),r.attr("y1",(function(t){return t.height})).call(x);var i=t.selectAll(".highlight").data(o);i.enter().append("line").classed("highlight",!0).attr("x",-n.bar.width/2).attr("stroke-width",n.bar.width-n.bar.strokeWidth).attr("stroke",n.bar.fillColor).attr("opacity",n.bar.fillOpacity).attr("stroke-linecap","butt"),i.attr("y1",(function(t){return t.height})).call(x)}(e)},cleanRanges:function(t,e){if(Array.isArray(t[0])?(t=t.map((function(t){return t.sort(s)})),t=e.multiselect?S(t.sort(M)):[t[0]]):t=[t.sort(s)],e.tickvals){var r=e.tickvals.slice().sort(s);if(!(t=t.map((function(t){var e=[p(0,r,t[0],[]),p(1,r,t[1],[])];if(e[1]>e[0])return e})).filter((function(t){return t}))).length)return}return t.length>1?t:t[0]}}},{"../../lib":778,"../../lib/gup":775,"./constants":1153,d3:169}],1151:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../plots/get_data").getModuleCalcData,a=t("./plot"),o=t("../../constants/xmlns_namespaces");r.name="parcoords",r.plot=function(t){var e=i(t.calcdata,"parcoords")[0];e.length&&a(t,e)},r.clean=function(t,e,r,n){var i=n._has&&n._has("parcoords"),a=e._has&&e._has("parcoords");i&&!a&&(n._paperdiv.selectAll(".parcoords").remove(),n._glimages.selectAll("*").remove())},r.toSVG=function(t){var e=t._fullLayout._glimages,r=n.select(t).selectAll(".svg-container");r.filter((function(t,e){return e===r.size()-1})).selectAll(".gl-canvas-context, .gl-canvas-focus").each((function(){var t=this.toDataURL("image/png");e.append("svg:image").attr({xmlns:o.svg,"xlink:href":t,preserveAspectRatio:"none",x:0,y:0,width:this.width,height:this.height})})),window.setTimeout((function(){n.selectAll("#filterBarPattern").attr("id","filterBarPattern")}),60)}},{"../../constants/xmlns_namespaces":754,"../../plots/get_data":865,"./plot":1160,d3:169}],1152:[function(t,e,r){"use strict";var n=t("../../lib").isArrayOrTypedArray,i=t("../../components/colorscale"),a=t("../../lib/gup").wrap;e.exports=function(t,e){var r,o;return i.hasColorscale(e,"line")&&n(e.line.color)?(r=e.line.color,o=i.extractOpts(e.line).colorscale,i.calc(t,e,{vals:r,containerStr:"line",cLetter:"c"})):(r=function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=.5;return e}(e._length),o=[[0,e.line.color],[1,e.line.color]]),a({lineColor:r,cscale:o})}},{"../../components/colorscale":655,"../../lib":778,"../../lib/gup":775}],1153:[function(t,e,r){"use strict";e.exports={maxDimensionCount:60,overdrag:45,verticalPadding:2,tickDistance:50,canvasPixelRatio:1,blockLineCount:5e3,layers:["contextLineLayer","focusLineLayer","pickLineLayer"],axisTitleOffset:28,axisExtentOffset:10,deselectedLineColor:"#777",bar:{width:4,captureWidth:10,fillColor:"magenta",fillOpacity:1,snapDuration:150,snapRatio:.25,snapClose:.01,strokeColor:"white",strokeOpacity:1,strokeWidth:1,handleHeight:8,handleOpacity:1,handleOverlap:0},cn:{axisExtentText:"axis-extent-text",parcoordsLineLayers:"parcoords-line-layers",parcoordsLineLayer:"parcoords-lines",parcoords:"parcoords",parcoordsControlView:"parcoords-control-view",yAxis:"y-axis",axisOverlays:"axis-overlays",axis:"axis",axisHeading:"axis-heading",axisTitle:"axis-title",axisExtent:"axis-extent",axisExtentTop:"axis-extent-top",axisExtentTopText:"axis-extent-top-text",axisExtentBottom:"axis-extent-bottom",axisExtentBottomText:"axis-extent-bottom-text",axisBrush:"axis-brush"},id:{filterBarPattern:"filter-bar-pattern"}}},{}],1154:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../components/colorscale/helpers").hasColorscale,a=t("../../components/colorscale/defaults"),o=t("../../plots/domain").defaults,s=t("../../plots/array_container_defaults"),l=t("../../plots/cartesian/axes"),c=t("./attributes"),u=t("./axisbrush"),f=t("./constants").maxDimensionCount,h=t("./merge_length");function p(t,e,r,i){function a(r,i){return n.coerce(t,e,c.dimensions,r,i)}var o=a("values"),s=a("visible");if(o&&o.length||(s=e.visible=!1),s){a("label"),a("tickvals"),a("ticktext"),a("tickformat");var f=a("range");e._ax={_id:"y",type:"linear",showexponent:"all",exponentformat:"B",range:f},l.setConvert(e._ax,i.layout),a("multiselect");var h=a("constraintrange");h&&(e.constraintrange=u.cleanRanges(h,e))}}e.exports=function(t,e,r,l){function u(r,i){return n.coerce(t,e,c,r,i)}var d=t.dimensions;Array.isArray(d)&&d.length>f&&(n.log("parcoords traces support up to "+f+" dimensions at the moment"),d.splice(f));var g=s(t,e,{name:"dimensions",layout:l,handleItemDefaults:p}),m=function(t,e,r,o,s){var l=s("line.color",r);if(i(t,"line")&&n.isArrayOrTypedArray(l)){if(l.length)return s("line.colorscale"),a(t,e,o,s,{prefix:"line.",cLetter:"c"}),l.length;e.line.color=r}return 1/0}(t,e,r,l,u);o(e,l,u),Array.isArray(g)&&g.length||(e.visible=!1),h(e,g,"values",m);var v={family:l.font.family,size:Math.round(l.font.size/1.2),color:l.font.color};n.coerceFont(u,"labelfont",v),n.coerceFont(u,"tickfont",v),n.coerceFont(u,"rangefont",v),u("labelangle"),u("labelside")}},{"../../components/colorscale/defaults":653,"../../components/colorscale/helpers":654,"../../lib":778,"../../plots/array_container_defaults":823,"../../plots/cartesian/axes":828,"../../plots/domain":855,"./attributes":1149,"./axisbrush":1150,"./constants":1153,"./merge_length":1158}],1155:[function(t,e,r){"use strict";var n=t("../../lib").isTypedArray;r.convertTypedArray=function(t){return n(t)?Array.prototype.slice.call(t):t},r.isOrdinal=function(t){return!!t.tickvals},r.isVisible=function(t){return t.visible||!("visible"in t)}},{"../../lib":778}],1156:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),calc:t("./calc"),plot:t("./plot"),colorbar:{container:"line",min:"cmin",max:"cmax"},moduleType:"trace",name:"parcoords",basePlotModule:t("./base_plot"),categories:["gl","regl","noOpacity","noHover"],meta:{}}},{"./attributes":1149,"./base_plot":1151,"./calc":1152,"./defaults":1154,"./plot":1160}],1157:[function(t,e,r){"use strict";var n=t("glslify"),i=n(["precision highp float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor;\n\nattribute vec4 p01_04, p05_08, p09_12, p13_16,\n p17_20, p21_24, p25_28, p29_32,\n p33_36, p37_40, p41_44, p45_48,\n p49_52, p53_56, p57_60, colors;\n\nuniform mat4 dim0A, dim1A, dim0B, dim1B, dim0C, dim1C, dim0D, dim1D,\n loA, hiA, loB, hiB, loC, hiC, loD, hiD;\n\nuniform vec2 resolution, viewBoxPos, viewBoxSize;\nuniform sampler2D mask, palette;\nuniform float maskHeight;\nuniform float drwLayer; // 0: context, 1: focus, 2: pick\nuniform vec4 contextColor;\n\nbool isPick = (drwLayer > 1.5);\nbool isContext = (drwLayer < 0.5);\n\nconst vec4 ZEROS = vec4(0.0, 0.0, 0.0, 0.0);\nconst vec4 UNITS = vec4(1.0, 1.0, 1.0, 1.0);\n\nfloat val(mat4 p, mat4 v) {\n return dot(matrixCompMult(p, v) * UNITS, UNITS);\n}\n\nfloat axisY(float ratio, mat4 A, mat4 B, mat4 C, mat4 D) {\n float y1 = val(A, dim0A) + val(B, dim0B) + val(C, dim0C) + val(D, dim0D);\n float y2 = val(A, dim1A) + val(B, dim1B) + val(C, dim1C) + val(D, dim1D);\n return y1 * (1.0 - ratio) + y2 * ratio;\n}\n\nint iMod(int a, int b) {\n return a - b * (a / b);\n}\n\nbool fOutside(float p, float lo, float hi) {\n return (lo < hi) && (lo > p || p > hi);\n}\n\nbool vOutside(vec4 p, vec4 lo, vec4 hi) {\n return (\n fOutside(p[0], lo[0], hi[0]) ||\n fOutside(p[1], lo[1], hi[1]) ||\n fOutside(p[2], lo[2], hi[2]) ||\n fOutside(p[3], lo[3], hi[3])\n );\n}\n\nbool mOutside(mat4 p, mat4 lo, mat4 hi) {\n return (\n vOutside(p[0], lo[0], hi[0]) ||\n vOutside(p[1], lo[1], hi[1]) ||\n vOutside(p[2], lo[2], hi[2]) ||\n vOutside(p[3], lo[3], hi[3])\n );\n}\n\nbool outsideBoundingBox(mat4 A, mat4 B, mat4 C, mat4 D) {\n return mOutside(A, loA, hiA) ||\n mOutside(B, loB, hiB) ||\n mOutside(C, loC, hiC) ||\n mOutside(D, loD, hiD);\n}\n\nbool outsideRasterMask(mat4 A, mat4 B, mat4 C, mat4 D) {\n mat4 pnts[4];\n pnts[0] = A;\n pnts[1] = B;\n pnts[2] = C;\n pnts[3] = D;\n\n for(int i = 0; i < 4; ++i) {\n for(int j = 0; j < 4; ++j) {\n for(int k = 0; k < 4; ++k) {\n if(0 == iMod(\n int(255.0 * texture2D(mask,\n vec2(\n (float(i * 2 + j / 2) + 0.5) / 8.0,\n (pnts[i][j][k] * (maskHeight - 1.0) + 1.0) / maskHeight\n ))[3]\n ) / int(pow(2.0, float(iMod(j * 4 + k, 8)))),\n 2\n )) return true;\n }\n }\n }\n return false;\n}\n\nvec4 position(bool isContext, float v, mat4 A, mat4 B, mat4 C, mat4 D) {\n float x = 0.5 * sign(v) + 0.5;\n float y = axisY(x, A, B, C, D);\n float z = 1.0 - abs(v);\n\n z += isContext ? 0.0 : 2.0 * float(\n outsideBoundingBox(A, B, C, D) ||\n outsideRasterMask(A, B, C, D)\n );\n\n return vec4(\n 2.0 * (vec2(x, y) * viewBoxSize + viewBoxPos) / resolution - 1.0,\n z,\n 1.0\n );\n}\n\nvoid main() {\n mat4 A = mat4(p01_04, p05_08, p09_12, p13_16);\n mat4 B = mat4(p17_20, p21_24, p25_28, p29_32);\n mat4 C = mat4(p33_36, p37_40, p41_44, p45_48);\n mat4 D = mat4(p49_52, p53_56, p57_60, ZEROS);\n\n float v = colors[3];\n\n gl_Position = position(isContext, v, A, B, C, D);\n\n fragColor =\n isContext ? vec4(contextColor) :\n isPick ? vec4(colors.rgb, 1.0) : texture2D(palette, vec2(abs(v), 0.5));\n}\n"]),a=n(["precision highp float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor;\n\nvoid main() {\n gl_FragColor = fragColor;\n}\n"]),o=t("./constants").maxDimensionCount,s=t("../../lib"),l=new Uint8Array(4),c=new Uint8Array(4),u={shape:[256,1],format:"rgba",type:"uint8",mag:"nearest",min:"nearest"};function f(t,e,r,n,i){var a=t._gl;a.enable(a.SCISSOR_TEST),a.scissor(e,r,n,i),t.clear({color:[0,0,0,0],depth:1})}function h(t,e,r,n,i,a){var o=a.key;r.drawCompleted||(!function(t){t.read({x:0,y:0,width:1,height:1,data:l})}(t),r.drawCompleted=!0),function s(l){var c=Math.min(n,i-l*n);0===l&&(window.cancelAnimationFrame(r.currentRafs[o]),delete r.currentRafs[o],f(t,a.scissorX,a.scissorY,a.scissorWidth,a.viewBoxSize[1])),r.clearOnly||(a.count=2*c,a.offset=2*l*n,e(a),l*n+c<i&&(r.currentRafs[o]=window.requestAnimationFrame((function(){s(l+1)}))),r.drawCompleted=!1)}(0)}function p(t,e){for(var r=new Array(256),n=0;n<256;n++)r[n]=t(n/255).concat(e);return r}function d(t,e){return(t>>>8*e)%256/255}function g(t,e,r){for(var n=new Array(8*e),i=0,a=0;a<e;a++)for(var o=0;o<2;o++)for(var s=0;s<4;s++){var l=4*t+s,c=r[64*a+l];63===l&&0===o&&(c*=-1),n[i++]=c}return n}function m(t){var e="0"+t;return e.substr(e.length-2)}function v(t){return t<o?"p"+m(t+1)+"_"+m(t+4):"colors"}function y(t,e,r,n,i,a,o,l,c,u,f,h,p){for(var d=[[],[]],g=0;g<64;g++)d[0][g]=g===i?1:0,d[1][g]=g===a?1:0;var m=t.lines.canvasOverdrag,v=t.domain,y=t.canvasWidth,x=t.canvasHeight,b=t.deselectedLines.color;return s.extendFlat({key:f,resolution:[y,x],viewBoxPos:[o+m,l],viewBoxSize:[c,u],i0:i,i1:a,dim0A:d[0].slice(0,16),dim0B:d[0].slice(16,32),dim0C:d[0].slice(32,48),dim0D:d[0].slice(48,64),dim1A:d[1].slice(0,16),dim1B:d[1].slice(16,32),dim1C:d[1].slice(32,48),dim1D:d[1].slice(48,64),drwLayer:h,contextColor:[b[0]/255,b[1]/255,b[2]/255,b[3]<1?b[3]:Math.max(1/255,Math.pow(1/t.lines.color.length,1/3))],scissorX:(n===e?0:o+m)+(t.pad.l-m)+t.layoutWidth*v.x[0],scissorWidth:(n===r?y-o+m:c+.5)+(n===e?o+m:0),scissorY:l+t.pad.b+t.layoutHeight*v.y[0],scissorHeight:u,viewportX:t.pad.l-m+t.layoutWidth*v.x[0],viewportY:t.pad.b+t.layoutHeight*v.y[0],viewportWidth:y,viewportHeight:x},p)}function x(t){var e=Math.max(0,Math.floor(2047*t[0]),0),r=Math.min(2047,Math.ceil(2047*t[1]),2047);return[Math.min(e,r),Math.max(e,r)]}e.exports=function(t,e){var r,n,l,m,b,_=e.context,w=e.pick,T=e.regl,k={currentRafs:{},drawCompleted:!0,clearOnly:!1},M=function(t){for(var e={},r=0;r<=o;r+=4)e[v(r)]=t.buffer({usage:"dynamic",type:"float",data:new Uint8Array(0)});return e}(T),A=T.texture(u),S=[];C(e);var E=T({profile:!1,blend:{enable:_,func:{srcRGB:"src alpha",dstRGB:"one minus src alpha",srcAlpha:1,dstAlpha:1},equation:{rgb:"add",alpha:"add"},color:[0,0,0,0]},depth:{enable:!_,mask:!0,func:"less",range:[0,1]},cull:{enable:!0,face:"back"},scissor:{enable:!0,box:{x:T.prop("scissorX"),y:T.prop("scissorY"),width:T.prop("scissorWidth"),height:T.prop("scissorHeight")}},viewport:{x:T.prop("viewportX"),y:T.prop("viewportY"),width:T.prop("viewportWidth"),height:T.prop("viewportHeight")},dither:!1,vert:i,frag:a,primitive:"lines",lineWidth:1,attributes:M,uniforms:{resolution:T.prop("resolution"),viewBoxPos:T.prop("viewBoxPos"),viewBoxSize:T.prop("viewBoxSize"),dim0A:T.prop("dim0A"),dim1A:T.prop("dim1A"),dim0B:T.prop("dim0B"),dim1B:T.prop("dim1B"),dim0C:T.prop("dim0C"),dim1C:T.prop("dim1C"),dim0D:T.prop("dim0D"),dim1D:T.prop("dim1D"),loA:T.prop("loA"),hiA:T.prop("hiA"),loB:T.prop("loB"),hiB:T.prop("hiB"),loC:T.prop("loC"),hiC:T.prop("hiC"),loD:T.prop("loD"),hiD:T.prop("hiD"),palette:A,contextColor:T.prop("contextColor"),mask:T.prop("maskTexture"),drwLayer:T.prop("drwLayer"),maskHeight:T.prop("maskHeight")},offset:T.prop("offset"),count:T.prop("count")});function C(t){r=t.model,n=t.viewModel,l=n.dimensions.slice(),m=l[0]?l[0].values.length:0;var e=r.lines,i=w?e.color.map((function(t,r){return r/e.color.length})):e.color,a=function(t,e,r){for(var n,i=new Array(t*(o+4)),a=0,s=0;s<t;s++){for(var l=0;l<o;l++)i[a++]=l<e.length?e[l].paddedUnitValues[s]:.5;i[a++]=d(s,2),i[a++]=d(s,1),i[a++]=d(s,0),i[a++]=(n=r[s],Math.max(1e-6,Math.min(.999999,n)))}return i}(m,l,i);!function(t,e,r){for(var n=0;n<=o;n+=4)t[v(n)](g(n/4,e,r))}(M,m,a),_||w||(A=T.texture(s.extendFlat({data:p(r.unitToColor,255)},u)))}return{render:function(t,e,n){var i,a,o,s=t.length,c=1/0,u=-1/0;for(i=0;i<s;i++)t[i].dim0.canvasX<c&&(c=t[i].dim0.canvasX,a=i),t[i].dim1.canvasX>u&&(u=t[i].dim1.canvasX,o=i);0===s&&f(T,0,0,r.canvasWidth,r.canvasHeight);var p=function(t){var e,r,n,i=[[],[]];for(n=0;n<64;n++){var a=!t&&n<l.length?l[n].brush.filter.getBounds():[-1/0,1/0];i[0][n]=a[0],i[1][n]=a[1]}var o=new Array(16384);for(e=0;e<16384;e++)o[e]=255;if(!t)for(e=0;e<l.length;e++){var s=e%8,c=(e-s)/8,u=Math.pow(2,s),f=l[e].brush.filter.get();if(!(f.length<2)){var h=x(f[0])[1];for(r=1;r<f.length;r++){var p=x(f[r]);for(n=h+1;n<p[0];n++)o[8*n+c]&=~u;h=Math.max(h,p[1])}}}var d={shape:[8,2048],format:"alpha",type:"uint8",mag:"nearest",min:"nearest",data:o};return b?b(d):b=T.texture(d),{maskTexture:b,maskHeight:2048,loA:i[0].slice(0,16),loB:i[0].slice(16,32),loC:i[0].slice(32,48),loD:i[0].slice(48,64),hiA:i[1].slice(0,16),hiB:i[1].slice(16,32),hiC:i[1].slice(32,48),hiD:i[1].slice(48,64)}}(_);for(i=0;i<s;i++){var d=t[i],g=d.dim0.crossfilterDimensionIndex,v=d.dim1.crossfilterDimensionIndex,M=d.canvasX,A=d.canvasY,C=M+d.panelSizeX;if(e||!S[g]||S[g][0]!==M||S[g][1]!==C){S[g]=[M,C];var L=y(r,a,o,i,g,v,M,A,d.panelSizeX,d.panelSizeY,d.dim0.crossfilterDimensionIndex,_?0:w?2:1,p);k.clearOnly=n;var I=e?r.lines.blockLineCount:m;h(T,E,k,I,m,L)}}},readPixel:function(t,e){return T.read({x:t,y:e,width:1,height:1,data:c}),c},readPixels:function(t,e,r,n){var i=new Uint8Array(4*r*n);return T.read({x:t,y:e,width:r,height:n,data:i}),i},destroy:function(){for(var e in t.style["pointer-events"]="none",A.destroy(),b&&b.destroy(),M)M[e].destroy()},update:C}}},{"../../lib":778,"./constants":1153,glslify:439}],1158:[function(t,e,r){"use strict";e.exports=function(t,e,r,n){var i,a;for(n||(n=1/0),i=0;i<e.length;i++)(a=e[i]).visible&&(n=Math.min(n,a[r].length));for(n===1/0&&(n=0),t._length=n,i=0;i<e.length;i++)(a=e[i]).visible&&(a._length=n);return n}},{}],1159:[function(t,e,r){"use strict";var n=t("d3"),i=t("color-rgba"),a=t("../../plots/cartesian/axes"),o=t("../../lib"),s=o.strRotate,l=o.strTranslate,c=t("../../lib/svg_text_utils"),u=t("../../components/drawing"),f=t("../../components/colorscale"),h=t("../../lib/gup"),p=h.keyFun,d=h.repeat,g=h.unwrap,m=t("./helpers"),v=t("./constants"),y=t("./axisbrush"),x=t("./lines");function b(t,e,r){return o.aggNums(t,null,e,r)}function _(t,e){return T(b(Math.min,t,e),b(Math.max,t,e))}function w(t){var e=t.range;return e?T(e[0],e[1]):_(t.values,t._length)}function T(t,e){return!isNaN(t)&&isFinite(t)||(t=0),!isNaN(e)&&isFinite(e)||(e=0),t===e&&(0===t?(t-=1,e+=1):(t*=.9,e*=1.1)),[t,e]}function k(t,e,r,i,a){var o,s,l=w(r);return i?n.scale.ordinal().domain(i.map((o=n.format(r.tickformat),s=a,s?function(t,e){var r=s[e];return null==r?o(t):r}:o))).range(i.map((function(r){var n=(r-l[0])/(l[1]-l[0]);return t-e+n*(2*e-t)}))):n.scale.linear().domain(l).range([t-e,e])}function M(t){if(t.tickvals){var e=w(t);return n.scale.ordinal().domain(t.tickvals).range(t.tickvals.map((function(t){return(t-e[0])/(e[1]-e[0])})))}}function A(t){var e=t.map((function(t){return t[0]})),r=t.map((function(t){var e=i(t[1]);return n.rgb("rgb("+e[0]+","+e[1]+","+e[2]+")")})),a="rgb".split("").map((function(t){return n.scale.linear().clamp(!0).domain(e).range(r.map((i=t,function(t){return t[i]})));var i}));return function(t){return a.map((function(e){return e(t)}))}}function S(t){return t.dimensions.some((function(t){return t.brush.filterSpecified}))}function E(t,e,r){var a=g(e),s=a.trace,l=m.convertTypedArray(a.lineColor),c=s.line,u={color:i(v.deselectedLineColor)},h=f.extractOpts(c),p=h.reversescale?f.flipScale(a.cscale):a.cscale,d=s.domain,y=s.dimensions,x=t.width,b=s.labelangle,_=s.labelside,T=s.labelfont,k=s.tickfont,M=s.rangefont,S=o.extendDeepNoArrays({},c,{color:l.map(n.scale.linear().domain(w({values:l,range:[h.min,h.max],_length:s._length}))),blockLineCount:v.blockLineCount,canvasOverdrag:v.overdrag*v.canvasPixelRatio}),E=Math.floor(x*(d.x[1]-d.x[0])),C=Math.floor(t.height*(d.y[1]-d.y[0])),L=t.margin||{l:80,r:80,t:100,b:80},I=E,P=C;return{key:r,colCount:y.filter(m.isVisible).length,dimensions:y,tickDistance:v.tickDistance,unitToColor:A(p),lines:S,deselectedLines:u,labelAngle:b,labelSide:_,labelFont:T,tickFont:k,rangeFont:M,layoutWidth:x,layoutHeight:t.height,domain:d,translateX:d.x[0]*x,translateY:t.height-d.y[1]*t.height,pad:L,canvasWidth:I*v.canvasPixelRatio+2*S.canvasOverdrag,canvasHeight:P*v.canvasPixelRatio,width:I,height:P,canvasPixelRatio:v.canvasPixelRatio}}function C(t,e,r){var i=r.width,a=r.height,s=r.dimensions,l=r.canvasPixelRatio,c=function(t){return i*t/Math.max(1,r.colCount-1)},u=v.verticalPadding/a,f=function(t,e){return n.scale.linear().range([e,t-e])}(a,v.verticalPadding),h={key:r.key,xScale:c,model:r,inBrushDrag:!1},p={};return h.dimensions=s.filter(m.isVisible).map((function(i,s){var d=function(t,e){return n.scale.linear().domain(w(t)).range([e,1-e])}(i,u),g=p[i.label];p[i.label]=(g||0)+1;var x=i.label+(g?"__"+g:""),b=i.constraintrange,_=b&&b.length;_&&!Array.isArray(b[0])&&(b=[b]);var T=_?b.map((function(t){return t.map(d)})):[[-1/0,1/0]],A=i.values;A.length>i._length&&(A=A.slice(0,i._length));var E,C=i.tickvals;function L(t,e){return{val:t,text:E[e]}}function I(t,e){return t.val-e.val}if(Array.isArray(C)&&C.length){E=i.ticktext,Array.isArray(E)&&E.length?E.length>C.length?E=E.slice(0,C.length):C.length>E.length&&(C=C.slice(0,E.length)):E=C.map(n.format(i.tickformat));for(var P=1;P<C.length;P++)if(C[P]<C[P-1]){for(var z=C.map(L).sort(I),O=0;O<C.length;O++)C[O]=z[O].val,E[O]=z[O].text;break}}else C=void 0;return A=m.convertTypedArray(A),{key:x,label:i.label,tickFormat:i.tickformat,tickvals:C,ticktext:E,ordinal:m.isOrdinal(i),multiselect:i.multiselect,xIndex:s,crossfilterDimensionIndex:s,visibleIndex:i._index,height:a,values:A,paddedUnitValues:A.map(d),unitTickvals:C&&C.map(d),xScale:c,x:c(s),canvasX:c(s)*l,unitToPaddedPx:f,domainScale:k(a,v.verticalPadding,i,C,E),ordinalScale:M(i),parent:h,model:r,brush:y.makeBrush(t,_,T,(function(){t.linePickActive(!1)}),(function(){var e=h;e.focusLayer&&e.focusLayer.render(e.panels,!0);var r=S(e);!t.contextShown()&&r?(e.contextLayer&&e.contextLayer.render(e.panels,!0),t.contextShown(!0)):t.contextShown()&&!r&&(e.contextLayer&&e.contextLayer.render(e.panels,!0,!0),t.contextShown(!1))}),(function(r){if(h.focusLayer.render(h.panels,!0),h.pickLayer&&h.pickLayer.render(h.panels,!0),t.linePickActive(!0),e&&e.filterChanged){var n=d.invert,a=r.map((function(t){return t.map(n).sort(o.sorterAsc)})).sort((function(t,e){return t[0]-e[0]}));e.filterChanged(h.key,i._index,a)}}))}})),h}function L(t){t.classed(v.cn.axisExtentText,!0).attr("text-anchor","middle").style("cursor","default")}function I(t,e){var r="top"===e?1:-1,n=t*Math.PI/180;return{dir:r,dx:Math.sin(n),dy:Math.cos(n),degrees:t}}function P(t,e){for(var r=e.panels||(e.panels=[]),n=t.data(),i=0;i<n.length-1;i++){var a=r[i]||(r[i]={}),o=n[i],s=n[i+1];a.dim0=o,a.dim1=s,a.canvasX=o.canvasX,a.panelSizeX=s.canvasX-o.canvasX,a.panelSizeY=e.model.canvasHeight,a.y=0,a.canvasY=0}}function z(t,e){return a.tickText(t._ax,e,!1).text}function O(t,e){if(t.ordinal)return"";var r=t.domainScale.domain(),n=r[e?r.length-1:0];return z(t.model.dimensions[t.visibleIndex],n)}e.exports=function(t,e,r,i){var f=t._fullLayout,h=f._toppaper,b=f._glcontainer;!function(t){for(var e=0;e<t.length;e++)for(var r=0;r<t[e].length;r++)for(var n=t[e][r].trace,i=n.dimensions,o=0;o<i.length;o++){var s=i[o].values,l=i[o]._ax;l&&(l.range?l.range=T(l.range[0],l.range[1]):l.range=_(s,n._length),l.dtick||(l.dtick=.01*(Math.abs(l.range[1]-l.range[0])||1)),l.tickformat=i[o].tickformat,a.calcTicks(l),l.cleanRange())}}(e);var w,k,M=(w=!0,k=!1,{linePickActive:function(t){return arguments.length?w=!!t:w},contextShown:function(t){return arguments.length?k=!!t:k}}),A=e.filter((function(t){return g(t).trace.visible})).map(E.bind(0,r)).map(C.bind(0,M,i));b.each((function(t,e){return o.extendFlat(t,A[e])}));var D=b.selectAll(".gl-canvas").each((function(t){t.viewModel=A[0],t.model=t.viewModel?t.viewModel.model:null})),R=null;D.filter((function(t){return t.pick})).style("pointer-events","auto").on("mousemove",(function(t){if(M.linePickActive()&&t.lineLayer&&i&&i.hover){var e=n.event,r=this.width,a=this.height,o=n.mouse(this),s=o[0],l=o[1];if(s<0||l<0||s>=r||l>=a)return;var c=t.lineLayer.readPixel(s,a-1-l),u=0!==c[3],f=u?c[2]+256*(c[1]+256*c[0]):null,h={x:s,y:l,clientX:e.clientX,clientY:e.clientY,dataIndex:t.model.key,curveNumber:f};f!==R&&(u?i.hover(h):i.unhover&&i.unhover(h),R=f)}})),D.style("opacity",(function(t){return t.pick?0:1})),h.style("background","rgba(255, 255, 255, 0)");var F=h.selectAll("."+v.cn.parcoords).data(A,p);F.exit().remove(),F.enter().append("g").classed(v.cn.parcoords,!0).style("shape-rendering","crispEdges").style("pointer-events","none"),F.attr("transform",(function(t){return l(t.model.translateX,t.model.translateY)}));var B=F.selectAll("."+v.cn.parcoordsControlView).data(d,p);B.enter().append("g").classed(v.cn.parcoordsControlView,!0),B.attr("transform",(function(t){return l(t.model.pad.l,t.model.pad.t)}));var N=B.selectAll("."+v.cn.yAxis).data((function(t){return t.dimensions}),p);N.enter().append("g").classed(v.cn.yAxis,!0),B.each((function(t){P(N,t)})),D.each((function(t){if(t.viewModel){!t.lineLayer||i?t.lineLayer=x(this,t):t.lineLayer.update(t),(t.key||0===t.key)&&(t.viewModel[t.key]=t.lineLayer);var e=!t.context||i;t.lineLayer.render(t.viewModel.panels,e)}})),N.attr("transform",(function(t){return l(t.xScale(t.xIndex),0)})),N.call(n.behavior.drag().origin((function(t){return t})).on("drag",(function(t){var e=t.parent;M.linePickActive(!1),t.x=Math.max(-v.overdrag,Math.min(t.model.width+v.overdrag,n.event.x)),t.canvasX=t.x*t.model.canvasPixelRatio,N.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})),P(N,e),N.filter((function(e){return 0!==Math.abs(t.xIndex-e.xIndex)})).attr("transform",(function(t){return l(t.xScale(t.xIndex),0)})),n.select(this).attr("transform",l(t.x,0)),N.each((function(r,n,i){i===t.parent.key&&(e.dimensions[n]=r)})),e.contextLayer&&e.contextLayer.render(e.panels,!1,!S(e)),e.focusLayer.render&&e.focusLayer.render(e.panels)})).on("dragend",(function(t){var e=t.parent;t.x=t.xScale(t.xIndex),t.canvasX=t.x*t.model.canvasPixelRatio,P(N,e),n.select(this).attr("transform",(function(t){return l(t.x,0)})),e.contextLayer&&e.contextLayer.render(e.panels,!1,!S(e)),e.focusLayer&&e.focusLayer.render(e.panels),e.pickLayer&&e.pickLayer.render(e.panels,!0),M.linePickActive(!0),i&&i.axesMoved&&i.axesMoved(e.key,e.dimensions.map((function(t){return t.crossfilterDimensionIndex})))}))),N.exit().remove();var j=N.selectAll("."+v.cn.axisOverlays).data(d,p);j.enter().append("g").classed(v.cn.axisOverlays,!0),j.selectAll("."+v.cn.axis).remove();var U=j.selectAll("."+v.cn.axis).data(d,p);U.enter().append("g").classed(v.cn.axis,!0),U.each((function(t){var e=t.model.height/t.model.tickDistance,r=t.domainScale,i=r.domain();n.select(this).call(n.svg.axis().orient("left").tickSize(4).outerTickSize(2).ticks(e,t.tickFormat).tickValues(t.ordinal?i:null).tickFormat((function(e){return m.isOrdinal(t)?e:z(t.model.dimensions[t.visibleIndex],e)})).scale(r)),u.font(U.selectAll("text"),t.model.tickFont)})),U.selectAll(".domain, .tick>line").attr("fill","none").attr("stroke","black").attr("stroke-opacity",.25).attr("stroke-width","1px"),U.selectAll("text").style("text-shadow","1px 1px 1px #fff, -1px -1px 1px #fff, 1px -1px 1px #fff, -1px 1px 1px #fff").style("cursor","default");var V=j.selectAll("."+v.cn.axisHeading).data(d,p);V.enter().append("g").classed(v.cn.axisHeading,!0);var q=V.selectAll("."+v.cn.axisTitle).data(d,p);q.enter().append("text").classed(v.cn.axisTitle,!0).attr("text-anchor","middle").style("cursor","ew-resize").style("pointer-events","auto"),q.text((function(t){return t.label})).each((function(e){var r=n.select(this);u.font(r,e.model.labelFont),c.convertToTspans(r,t)})).attr("transform",(function(t){var e=I(t.model.labelAngle,t.model.labelSide),r=v.axisTitleOffset;return(e.dir>0?"":l(0,2*r+t.model.height))+s(e.degrees)+l(-r*e.dx,-r*e.dy)})).attr("text-anchor",(function(t){var e=I(t.model.labelAngle,t.model.labelSide);return 2*Math.abs(e.dx)>Math.abs(e.dy)?e.dir*e.dx<0?"start":"end":"middle"}));var H=j.selectAll("."+v.cn.axisExtent).data(d,p);H.enter().append("g").classed(v.cn.axisExtent,!0);var G=H.selectAll("."+v.cn.axisExtentTop).data(d,p);G.enter().append("g").classed(v.cn.axisExtentTop,!0),G.attr("transform",l(0,-v.axisExtentOffset));var Y=G.selectAll("."+v.cn.axisExtentTopText).data(d,p);Y.enter().append("text").classed(v.cn.axisExtentTopText,!0).call(L),Y.text((function(t){return O(t,!0)})).each((function(t){u.font(n.select(this),t.model.rangeFont)}));var W=H.selectAll("."+v.cn.axisExtentBottom).data(d,p);W.enter().append("g").classed(v.cn.axisExtentBottom,!0),W.attr("transform",(function(t){return l(0,t.model.height+v.axisExtentOffset)}));var X=W.selectAll("."+v.cn.axisExtentBottomText).data(d,p);X.enter().append("text").classed(v.cn.axisExtentBottomText,!0).attr("dy","0.75em").call(L),X.text((function(t){return O(t,!1)})).each((function(t){u.font(n.select(this),t.model.rangeFont)})),y.ensureAxisBrush(j)}},{"../../components/colorscale":655,"../../components/drawing":665,"../../lib":778,"../../lib/gup":775,"../../lib/svg_text_utils":803,"../../plots/cartesian/axes":828,"./axisbrush":1150,"./constants":1153,"./helpers":1155,"./lines":1157,"color-rgba":127,d3:169}],1160:[function(t,e,r){"use strict";var n=t("./parcoords"),i=t("../../lib/prepare_regl"),a=t("./helpers").isVisible;function o(t,e,r){var n=e.indexOf(r),i=t.indexOf(n);return-1===i&&(i+=e.length),i}e.exports=function(t,e){var r=t._fullLayout;if(i(t)){var s={},l={},c={},u={},f=r._size;e.forEach((function(e,r){var n=e[0].trace;c[r]=n.index;var i=u[r]=n._fullInput.index;s[r]=t.data[i].dimensions,l[r]=t.data[i].dimensions.slice()}));n(t,e,{width:f.w,height:f.h,margin:{t:f.t,r:f.r,b:f.b,l:f.l}},{filterChanged:function(e,n,i){var a=l[e][n],o=i.map((function(t){return t.slice()})),s="dimensions["+n+"].constraintrange",f=r._tracePreGUI[t._fullData[c[e]]._fullInput.uid];if(void 0===f[s]){var h=a.constraintrange;f[s]=h||null}var p=t._fullData[c[e]].dimensions[n];o.length?(1===o.length&&(o=o[0]),a.constraintrange=o,p.constraintrange=o.slice(),o=[o]):(delete a.constraintrange,delete p.constraintrange,o=null);var d={};d[s]=o,t.emit("plotly_restyle",[d,[u[e]]])},hover:function(e){t.emit("plotly_hover",e)},unhover:function(e){t.emit("plotly_unhover",e)},axesMoved:function(e,r){var n=function(t,e){return function(r,n){return o(t,e,r)-o(t,e,n)}}(r,l[e].filter(a));s[e].sort(n),l[e].filter((function(t){return!a(t)})).sort((function(t){return l[e].indexOf(t)})).forEach((function(t){s[e].splice(s[e].indexOf(t),1),s[e].splice(l[e].indexOf(t),0,t)})),t.emit("plotly_restyle",[{dimensions:[s[e]]},[u[e]]])}})}}},{"../../lib/prepare_regl":791,"./helpers":1155,"./parcoords":1159}],1161:[function(t,e,r){"use strict";var n=t("../../plots/attributes"),i=t("../../plots/domain").attributes,a=t("../../plots/font_attributes"),o=t("../../components/color/attributes"),s=t("../../plots/template_attributes").hovertemplateAttrs,l=t("../../plots/template_attributes").texttemplateAttrs,c=t("../../lib/extend").extendFlat,u=a({editType:"plot",arrayOk:!0,colorEditType:"plot"});e.exports={labels:{valType:"data_array",editType:"calc"},label0:{valType:"number",dflt:0,editType:"calc"},dlabel:{valType:"number",dflt:1,editType:"calc"},values:{valType:"data_array",editType:"calc"},marker:{colors:{valType:"data_array",editType:"calc"},line:{color:{valType:"color",dflt:o.defaultLine,arrayOk:!0,editType:"style"},width:{valType:"number",min:0,dflt:0,arrayOk:!0,editType:"style"},editType:"calc"},editType:"calc"},text:{valType:"data_array",editType:"plot"},hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"style"},scalegroup:{valType:"string",dflt:"",editType:"calc"},textinfo:{valType:"flaglist",flags:["label","text","value","percent"],extras:["none"],editType:"calc"},hoverinfo:c({},n.hoverinfo,{flags:["label","text","value","percent","name"]}),hovertemplate:s({},{keys:["label","color","value","percent","text"]}),texttemplate:l({editType:"plot"},{keys:["label","color","value","percent","text"]}),textposition:{valType:"enumerated",values:["inside","outside","auto","none"],dflt:"auto",arrayOk:!0,editType:"plot"},textfont:c({},u,{}),insidetextorientation:{valType:"enumerated",values:["horizontal","radial","tangential","auto"],dflt:"auto",editType:"plot"},insidetextfont:c({},u,{}),outsidetextfont:c({},u,{}),automargin:{valType:"boolean",dflt:!1,editType:"plot"},title:{text:{valType:"string",dflt:"",editType:"plot"},font:c({},u,{}),position:{valType:"enumerated",values:["top left","top center","top right","middle center","bottom left","bottom center","bottom right"],editType:"plot"},editType:"plot"},domain:i({name:"pie",trace:!0,editType:"calc"}),hole:{valType:"number",min:0,max:1,dflt:0,editType:"calc"},sort:{valType:"boolean",dflt:!0,editType:"calc"},direction:{valType:"enumerated",values:["clockwise","counterclockwise"],dflt:"counterclockwise",editType:"calc"},rotation:{valType:"number",min:-360,max:360,dflt:0,editType:"calc"},pull:{valType:"number",min:0,max:1,dflt:0,arrayOk:!0,editType:"calc"},_deprecated:{title:{valType:"string",dflt:"",editType:"calc"},titlefont:c({},u,{}),titleposition:{valType:"enumerated",values:["top left","top center","top right","middle center","bottom left","bottom center","bottom right"],editType:"calc"}}}},{"../../components/color/attributes":642,"../../lib/extend":768,"../../plots/attributes":824,"../../plots/domain":855,"../../plots/font_attributes":856,"../../plots/template_attributes":906}],1162:[function(t,e,r){"use strict";var n=t("../../plots/plots");r.name="pie",r.plot=function(t,e,i,a){n.plotBasePlot(r.name,t,e,i,a)},r.clean=function(t,e,i,a){n.cleanBasePlot(r.name,t,e,i,a)}},{"../../plots/plots":891}],1163:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("tinycolor2"),a=t("../../components/color"),o={};function s(t){return function(e,r){return!!e&&(!!(e=i(e)).isValid()&&(e=a.addOpacity(e,e.getAlpha()),t[r]||(t[r]=e),e))}}function l(t,e){var r,n=JSON.stringify(t),a=e[n];if(!a){for(a=t.slice(),r=0;r<t.length;r++)a.push(i(t[r]).lighten(20).toHexString());for(r=0;r<t.length;r++)a.push(i(t[r]).darken(20).toHexString());e[n]=a}return a}e.exports={calc:function(t,e){var r,i,a=[],o=t._fullLayout,l=o.hiddenlabels||[],c=e.labels,u=e.marker.colors||[],f=e.values,h=e._length,p=e._hasValues&&h;if(e.dlabel)for(c=new Array(h),r=0;r<h;r++)c[r]=String(e.label0+r*e.dlabel);var d={},g=s(o["_"+e.type+"colormap"]),m=0,v=!1;for(r=0;r<h;r++){var y,x,b;if(p){if(y=f[r],!n(y))continue;if((y=+y)<0)continue}else y=1;void 0!==(x=c[r])&&""!==x||(x=r);var _=d[x=String(x)];void 0===_?(d[x]=a.length,(b=-1!==l.indexOf(x))||(m+=y),a.push({v:y,label:x,color:g(u[r],x),i:r,pts:[r],hidden:b})):(v=!0,(i=a[_]).v+=y,i.pts.push(r),i.hidden||(m+=y),!1===i.color&&u[r]&&(i.color=g(u[r],x)))}return("funnelarea"===e.type?v:e.sort)&&a.sort((function(t,e){return e.v-t.v})),a[0]&&(a[0].vTotal=m),a},crossTraceCalc:function(t,e){var r=(e||{}).type;r||(r="pie");var n=t._fullLayout,i=t.calcdata,a=n[r+"colorway"],s=n["_"+r+"colormap"];n["extend"+r+"colors"]&&(a=l(a,o));for(var c=0,u=0;u<i.length;u++){var f=i[u];if(f[0].trace.type===r)for(var h=0;h<f.length;h++){var p=f[h];!1===p.color&&(s[p.label]?p.color=s[p.label]:(s[p.label]=p.color=a[c%a.length],c++))}}},makePullColorFn:s,generateExtendedColors:l}},{"../../components/color":643,"fast-isnumeric":241,tinycolor2:576}],1164:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../lib"),a=t("./attributes"),o=t("../../plots/domain").defaults,s=t("../bar/defaults").handleText;function l(t,e){var r=Array.isArray(t),a=i.isArrayOrTypedArray(e),o=Math.min(r?t.length:1/0,a?e.length:1/0);if(isFinite(o)||(o=0),o&&a){for(var s,l=0;l<o;l++){var c=e[l];if(n(c)&&c>0){s=!0;break}}s||(o=0)}return{hasLabels:r,hasValues:a,len:o}}e.exports={handleLabelsAndValues:l,supplyDefaults:function(t,e,r,n){function c(r,n){return i.coerce(t,e,a,r,n)}var u=l(c("labels"),c("values")),f=u.len;if(e._hasLabels=u.hasLabels,e._hasValues=u.hasValues,!e._hasLabels&&e._hasValues&&(c("label0"),c("dlabel")),f){e._length=f,c("marker.line.width")&&c("marker.line.color"),c("marker.colors"),c("scalegroup");var h,p=c("text"),d=c("texttemplate");if(d||(h=c("textinfo",Array.isArray(p)?"text+percent":"percent")),c("hovertext"),c("hovertemplate"),d||h&&"none"!==h){var g=c("textposition");s(t,e,n,c,g,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),(Array.isArray(g)||"auto"===g||"outside"===g)&&c("automargin"),("inside"===g||"auto"===g||Array.isArray(g))&&c("insidetextorientation")}o(e,n,c);var m=c("hole");if(c("title.text")){var v=c("title.position",m?"middle center":"top center");m||"middle center"!==v||(e.title.position="top center"),i.coerceFont(c,"title.font",n.font)}c("sort"),c("direction"),c("rotation"),c("pull")}else e.visible=!1}}},{"../../lib":778,"../../plots/domain":855,"../bar/defaults":925,"./attributes":1161,"fast-isnumeric":241}],1165:[function(t,e,r){"use strict";var n=t("../../components/fx/helpers").appendArrayMultiPointValues;e.exports=function(t,e){var r={curveNumber:e.index,pointNumbers:t.pts,data:e._input,fullData:e,label:t.label,color:t.color,value:t.v,percent:t.percent,text:t.text,v:t.v};return 1===t.pts.length&&(r.pointNumber=r.i=t.pts[0]),n(r,e,t.pts),"funnelarea"===e.type&&(delete r.v,delete r.i),r}},{"../../components/fx/helpers":679}],1166:[function(t,e,r){"use strict";var n=t("../../lib");function i(t){return-1!==t.indexOf("e")?t.replace(/[.]?0+e/,"e"):-1!==t.indexOf(".")?t.replace(/[.]?0+$/,""):t}r.formatPiePercent=function(t,e){var r=i((100*t).toPrecision(3));return n.numSeparate(r,e)+"%"},r.formatPieValue=function(t,e){var r=i(t.toPrecision(10));return n.numSeparate(r,e)},r.getFirstFilled=function(t,e){if(Array.isArray(t))for(var r=0;r<e.length;r++){var n=t[e[r]];if(n||0===n||""===n)return n}},r.castOption=function(t,e){return Array.isArray(t)?r.getFirstFilled(t,e):t||void 0},r.getRotationAngle=function(t){return("auto"===t?0:t)*Math.PI/180}},{"../../lib":778}],1167:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults").supplyDefaults,supplyLayoutDefaults:t("./layout_defaults"),layoutAttributes:t("./layout_attributes"),calc:t("./calc").calc,crossTraceCalc:t("./calc").crossTraceCalc,plot:t("./plot").plot,style:t("./style"),styleOne:t("./style_one"),moduleType:"trace",name:"pie",basePlotModule:t("./base_plot"),categories:["pie-like","pie","showLegend"],meta:{}}},{"./attributes":1161,"./base_plot":1162,"./calc":1163,"./defaults":1164,"./layout_attributes":1168,"./layout_defaults":1169,"./plot":1170,"./style":1171,"./style_one":1172}],1168:[function(t,e,r){"use strict";e.exports={hiddenlabels:{valType:"data_array",editType:"calc"},piecolorway:{valType:"colorlist",editType:"calc"},extendpiecolors:{valType:"boolean",dflt:!0,editType:"calc"}}},{}],1169:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./layout_attributes");e.exports=function(t,e){function r(r,a){return n.coerce(t,e,i,r,a)}r("hiddenlabels"),r("piecolorway",e.colorway),r("extendpiecolors")}},{"../../lib":778,"./layout_attributes":1168}],1170:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../plots/plots"),a=t("../../components/fx"),o=t("../../components/color"),s=t("../../components/drawing"),l=t("../../lib"),c=l.strScale,u=l.strTranslate,f=t("../../lib/svg_text_utils"),h=t("../bar/uniform_text"),p=h.recordMinTextSize,d=h.clearMinTextSize,g=t("../bar/constants").TEXTPAD,m=t("./helpers"),v=t("./event_data"),y=t("../../lib").isValidTextValue;function x(t,e,r){var i=r[0],o=i.trace,s=i.cx,c=i.cy;"_hasHoverLabel"in o||(o._hasHoverLabel=!1),"_hasHoverEvent"in o||(o._hasHoverEvent=!1),t.on("mouseover",(function(t){var r=e._fullLayout,u=e._fullData[o.index];if(!e._dragging&&!1!==r.hovermode){var f=u.hoverinfo;if(Array.isArray(f)&&(f=a.castHoverinfo({hoverinfo:[m.castOption(f,t.pts)],_module:o._module},r,0)),"all"===f&&(f="label+text+value+percent+name"),u.hovertemplate||"none"!==f&&"skip"!==f&&f){var h=t.rInscribed||0,p=s+t.pxmid[0]*(1-h),d=c+t.pxmid[1]*(1-h),g=r.separators,y=[];if(f&&-1!==f.indexOf("label")&&y.push(t.label),t.text=m.castOption(u.hovertext||u.text,t.pts),f&&-1!==f.indexOf("text")){var x=t.text;l.isValidTextValue(x)&&y.push(x)}t.value=t.v,t.valueLabel=m.formatPieValue(t.v,g),f&&-1!==f.indexOf("value")&&y.push(t.valueLabel),t.percent=t.v/i.vTotal,t.percentLabel=m.formatPiePercent(t.percent,g),f&&-1!==f.indexOf("percent")&&y.push(t.percentLabel);var b=u.hoverlabel,_=b.font;a.loneHover({trace:o,x0:p-h*i.r,x1:p+h*i.r,y:d,text:y.join("<br>"),name:u.hovertemplate||-1!==f.indexOf("name")?u.name:void 0,idealAlign:t.pxmid[0]<0?"left":"right",color:m.castOption(b.bgcolor,t.pts)||t.color,borderColor:m.castOption(b.bordercolor,t.pts),fontFamily:m.castOption(_.family,t.pts),fontSize:m.castOption(_.size,t.pts),fontColor:m.castOption(_.color,t.pts),nameLength:m.castOption(b.namelength,t.pts),textAlign:m.castOption(b.align,t.pts),hovertemplate:m.castOption(u.hovertemplate,t.pts),hovertemplateLabels:t,eventData:[v(t,u)]},{container:r._hoverlayer.node(),outerContainer:r._paper.node(),gd:e}),o._hasHoverLabel=!0}o._hasHoverEvent=!0,e.emit("plotly_hover",{points:[v(t,u)],event:n.event})}})),t.on("mouseout",(function(t){var r=e._fullLayout,i=e._fullData[o.index],s=n.select(this).datum();o._hasHoverEvent&&(t.originalEvent=n.event,e.emit("plotly_unhover",{points:[v(s,i)],event:n.event}),o._hasHoverEvent=!1),o._hasHoverLabel&&(a.loneUnhover(r._hoverlayer.node()),o._hasHoverLabel=!1)})),t.on("click",(function(t){var r=e._fullLayout,i=e._fullData[o.index];e._dragging||!1===r.hovermode||(e._hoverdata=[v(t,i)],a.click(e,n.event))}))}function b(t,e,r){var n=m.castOption(t.insidetextfont.color,e.pts);!n&&t._input.textfont&&(n=m.castOption(t._input.textfont.color,e.pts));var i=m.castOption(t.insidetextfont.family,e.pts)||m.castOption(t.textfont.family,e.pts)||r.family,a=m.castOption(t.insidetextfont.size,e.pts)||m.castOption(t.textfont.size,e.pts)||r.size;return{color:n||o.contrast(e.color),family:i,size:a}}function _(t,e){for(var r,n,i=0;i<t.length;i++)if((n=(r=t[i][0]).trace).title.text){var a=n.title.text;n._meta&&(a=l.templateString(a,n._meta));var o=s.tester.append("text").attr("data-notex",1).text(a).call(s.font,n.title.font).call(f.convertToTspans,e),c=s.bBox(o.node(),!0);r.titleBox={width:c.width,height:c.height},o.remove()}}function w(t,e,r){var n=r.r||e.rpx1,i=e.rInscribed;if(e.startangle===e.stopangle)return{rCenter:1-i,scale:0,rotate:0,textPosAngle:0};var a,o=e.ring,s=1===o&&Math.abs(e.startangle-e.stopangle)===2*Math.PI,l=e.halfangle,c=e.midangle,u=r.trace.insidetextorientation,f="horizontal"===u,h="tangential"===u,p="radial"===u,d="auto"===u,g=[];if(!d){var m,v=function(r,i){if(function(t,e){var r=t.startangle,n=t.stopangle;return r>e&&e>n||r<e&&e<n}(e,r)){var s=Math.abs(r-e.startangle),l=Math.abs(r-e.stopangle),c=s<l?s:l;(a="tan"===i?k(t,n,o,c,0):T(t,n,o,c,Math.PI/2)).textPosAngle=r,g.push(a)}};if(f||h){for(m=4;m>=-4;m-=2)v(Math.PI*m,"tan");for(m=4;m>=-4;m-=2)v(Math.PI*(m+1),"tan")}if(f||p){for(m=4;m>=-4;m-=2)v(Math.PI*(m+1.5),"rad");for(m=4;m>=-4;m-=2)v(Math.PI*(m+.5),"rad")}}if(s||d||f){var y=Math.sqrt(t.width*t.width+t.height*t.height);if((a={scale:i*n*2/y,rCenter:1-i,rotate:0}).textPosAngle=(e.startangle+e.stopangle)/2,a.scale>=1)return a;g.push(a)}(d||p)&&((a=T(t,n,o,l,c)).textPosAngle=(e.startangle+e.stopangle)/2,g.push(a)),(d||h)&&((a=k(t,n,o,l,c)).textPosAngle=(e.startangle+e.stopangle)/2,g.push(a));for(var x=0,b=0,_=0;_<g.length;_++){var w=g[_].scale;if(b<w&&(b=w,x=_),!d&&b>=1)break}return g[x]}function T(t,e,r,n,i){e=Math.max(0,e-2*g);var a=t.width/t.height,o=S(a,n,e,r);return{scale:2*o/t.height,rCenter:M(a,o/e),rotate:A(i)}}function k(t,e,r,n,i){e=Math.max(0,e-2*g);var a=t.height/t.width,o=S(a,n,e,r);return{scale:2*o/t.width,rCenter:M(a,o/e),rotate:A(i+Math.PI/2)}}function M(t,e){return Math.cos(e)-t*e}function A(t){return(180/Math.PI*t+720)%180-90}function S(t,e,r,n){var i=t+1/(2*Math.tan(e));return r*Math.min(1/(Math.sqrt(i*i+.5)+i),n/(Math.sqrt(t*t+n/2)+t))}function E(t,e){return t.v!==e.vTotal||e.trace.hole?Math.min(1/(1+1/Math.sin(t.halfangle)),t.ring/2):1}function C(t,e){var r=e.pxmid[0],n=e.pxmid[1],i=t.width/2,a=t.height/2;return r<0&&(i*=-1),n<0&&(a*=-1),{scale:1,rCenter:1,rotate:0,x:i+Math.abs(a)*(i>0?1:-1)/2,y:a/(1+r*r/(n*n)),outside:!0}}function L(t,e){var r,n,i,a=t.trace,o={x:t.cx,y:t.cy},s={tx:0,ty:0};s.ty+=a.title.font.size,i=P(a),-1!==a.title.position.indexOf("top")?(o.y-=(1+i)*t.r,s.ty-=t.titleBox.height):-1!==a.title.position.indexOf("bottom")&&(o.y+=(1+i)*t.r);var l,c,u=(l=t.r,c=t.trace.aspectratio,l/(void 0===c?1:c)),f=e.w*(a.domain.x[1]-a.domain.x[0])/2;return-1!==a.title.position.indexOf("left")?(f+=u,o.x-=(1+i)*u,s.tx+=t.titleBox.width/2):-1!==a.title.position.indexOf("center")?f*=2:-1!==a.title.position.indexOf("right")&&(f+=u,o.x+=(1+i)*u,s.tx-=t.titleBox.width/2),r=f/t.titleBox.width,n=I(t,e)/t.titleBox.height,{x:o.x,y:o.y,scale:Math.min(r,n),tx:s.tx,ty:s.ty}}function I(t,e){var r=t.trace,n=e.h*(r.domain.y[1]-r.domain.y[0]);return Math.min(t.titleBox.height,n/2)}function P(t){var e,r=t.pull;if(!r)return 0;if(Array.isArray(r))for(r=0,e=0;e<t.pull.length;e++)t.pull[e]>r&&(r=t.pull[e]);return r}function z(t,e){for(var r=[],n=0;n<t.length;n++){var i=t[n][0],a=i.trace,o=a.domain,s=e.w*(o.x[1]-o.x[0]),l=e.h*(o.y[1]-o.y[0]);a.title.text&&"middle center"!==a.title.position&&(l-=I(i,e));var c=s/2,u=l/2;"funnelarea"!==a.type||a.scalegroup||(u/=a.aspectratio),i.r=Math.min(c,u)/(1+P(a)),i.cx=e.l+e.w*(a.domain.x[1]+a.domain.x[0])/2,i.cy=e.t+e.h*(1-a.domain.y[0])-l/2,a.title.text&&-1!==a.title.position.indexOf("bottom")&&(i.cy-=I(i,e)),a.scalegroup&&-1===r.indexOf(a.scalegroup)&&r.push(a.scalegroup)}!function(t,e){for(var r,n,i,a=0;a<e.length;a++){var o=1/0,s=e[a];for(n=0;n<t.length;n++)if(r=t[n][0],(i=r.trace).scalegroup===s){var l;if("pie"===i.type)l=r.r*r.r;else if("funnelarea"===i.type){var c,u;i.aspectratio>1?(c=r.r,u=c/i.aspectratio):(u=r.r,c=u*i.aspectratio),c*=(1+i.baseratio)/2,l=c*u}o=Math.min(o,l/r.vTotal)}for(n=0;n<t.length;n++)if(r=t[n][0],(i=r.trace).scalegroup===s){var f=o*r.vTotal;"funnelarea"===i.type&&(f/=(1+i.baseratio)/2,f/=i.aspectratio),r.r=Math.sqrt(f)}}}(t,r)}function O(t,e){return[t*Math.sin(e),-t*Math.cos(e)]}function D(t,e,r){var n=t._fullLayout,i=r.trace,a=i.texttemplate,o=i.textinfo;if(!a&&o&&"none"!==o){var s,c=o.split("+"),u=function(t){return-1!==c.indexOf(t)},f=u("label"),h=u("text"),p=u("value"),d=u("percent"),g=n.separators;if(s=f?[e.label]:[],h){var v=m.getFirstFilled(i.text,e.pts);y(v)&&s.push(v)}p&&s.push(m.formatPieValue(e.v,g)),d&&s.push(m.formatPiePercent(e.v/r.vTotal,g)),e.text=s.join("<br>")}if(a){var x=l.castOption(i,e.i,"texttemplate");if(x){var b=function(t){return{label:t.label,value:t.v,valueLabel:m.formatPieValue(t.v,n.separators),percent:t.v/r.vTotal,percentLabel:m.formatPiePercent(t.v/r.vTotal,n.separators),color:t.color,text:t.text,customdata:l.castOption(i,t.i,"customdata")}}(e),_=m.getFirstFilled(i.text,e.pts);(y(_)||""===_)&&(b.text=_),e.text=l.texttemplateString(x,b,t._fullLayout._d3locale,b,i._meta||{})}else e.text=""}}function R(t,e){var r=t.rotate*Math.PI/180,n=Math.cos(r),i=Math.sin(r),a=(e.left+e.right)/2,o=(e.top+e.bottom)/2;t.textX=a*n-o*i,t.textY=a*i+o*n,t.noCenter=!0}e.exports={plot:function(t,e){var r=t._fullLayout,a=r._size;d("pie",r),_(e,t),z(e,a);var h=l.makeTraceGroups(r._pielayer,e,"trace").each((function(e){var h=n.select(this),d=e[0],g=d.trace;!function(t){var e,r,n,i=t[0],a=i.r,o=i.trace,s=m.getRotationAngle(o.rotation),l=2*Math.PI/i.vTotal,c="px0",u="px1";if("counterclockwise"===o.direction){for(e=0;e<t.length&&t[e].hidden;e++);if(e===t.length)return;s+=l*t[e].v,l*=-1,c="px1",u="px0"}for(n=O(a,s),e=0;e<t.length;e++)(r=t[e]).hidden||(r[c]=n,r.startangle=s,s+=l*r.v/2,r.pxmid=O(a,s),r.midangle=s,s+=l*r.v/2,n=O(a,s),r.stopangle=s,r[u]=n,r.largeArc=r.v>i.vTotal/2?1:0,r.halfangle=Math.PI*Math.min(r.v/i.vTotal,.5),r.ring=1-o.hole,r.rInscribed=E(r,i))}(e),h.attr("stroke-linejoin","round"),h.each((function(){var v=n.select(this).selectAll("g.slice").data(e);v.enter().append("g").classed("slice",!0),v.exit().remove();var y=[[[],[]],[[],[]]],_=!1;v.each((function(i,a){if(i.hidden)n.select(this).selectAll("path,g").remove();else{i.pointNumber=i.i,i.curveNumber=g.index,y[i.pxmid[1]<0?0:1][i.pxmid[0]<0?0:1].push(i);var o=d.cx,c=d.cy,u=n.select(this),h=u.selectAll("path.surface").data([i]);if(h.enter().append("path").classed("surface",!0).style({"pointer-events":"all"}),u.call(x,t,e),g.pull){var v=+m.castOption(g.pull,i.pts)||0;v>0&&(o+=v*i.pxmid[0],c+=v*i.pxmid[1])}i.cxFinal=o,i.cyFinal=c;var T=g.hole;if(i.v===d.vTotal){var k="M"+(o+i.px0[0])+","+(c+i.px0[1])+L(i.px0,i.pxmid,!0,1)+L(i.pxmid,i.px0,!0,1)+"Z";T?h.attr("d","M"+(o+T*i.px0[0])+","+(c+T*i.px0[1])+L(i.px0,i.pxmid,!1,T)+L(i.pxmid,i.px0,!1,T)+"Z"+k):h.attr("d",k)}else{var M=L(i.px0,i.px1,!0,1);if(T){var A=1-T;h.attr("d","M"+(o+T*i.px1[0])+","+(c+T*i.px1[1])+L(i.px1,i.px0,!1,T)+"l"+A*i.px0[0]+","+A*i.px0[1]+M+"Z")}else h.attr("d","M"+o+","+c+"l"+i.px0[0]+","+i.px0[1]+M+"Z")}D(t,i,d);var S=m.castOption(g.textposition,i.pts),E=u.selectAll("g.slicetext").data(i.text&&"none"!==S?[0]:[]);E.enter().append("g").classed("slicetext",!0),E.exit().remove(),E.each((function(){var u=l.ensureSingle(n.select(this),"text","",(function(t){t.attr("data-notex",1)})),h=l.ensureUniformFontSize(t,"outside"===S?function(t,e,r){var n=m.castOption(t.outsidetextfont.color,e.pts)||m.castOption(t.textfont.color,e.pts)||r.color,i=m.castOption(t.outsidetextfont.family,e.pts)||m.castOption(t.textfont.family,e.pts)||r.family,a=m.castOption(t.outsidetextfont.size,e.pts)||m.castOption(t.textfont.size,e.pts)||r.size;return{color:n,family:i,size:a}}(g,i,r.font):b(g,i,r.font));u.text(i.text).attr({class:"slicetext",transform:"","text-anchor":"middle"}).call(s.font,h).call(f.convertToTspans,t);var v,y=s.bBox(u.node());if("outside"===S)v=C(y,i);else if(v=w(y,i,d),"auto"===S&&v.scale<1){var x=l.ensureUniformFontSize(t,g.outsidetextfont);u.call(s.font,x),v=C(y=s.bBox(u.node()),i)}var T=v.textPosAngle,k=void 0===T?i.pxmid:O(d.r,T);if(v.targetX=o+k[0]*v.rCenter+(v.x||0),v.targetY=c+k[1]*v.rCenter+(v.y||0),R(v,y),v.outside){var M=v.targetY;i.yLabelMin=M-y.height/2,i.yLabelMid=M,i.yLabelMax=M+y.height/2,i.labelExtraX=0,i.labelExtraY=0,_=!0}v.fontSize=h.size,p(g.type,v,r),e[a].transform=v,u.attr("transform",l.getTextTransform(v))}))}function L(t,e,r,n){var a=n*(e[0]-t[0]),o=n*(e[1]-t[1]);return"a"+n*d.r+","+n*d.r+" 0 "+i.largeArc+(r?" 1 ":" 0 ")+a+","+o}}));var T=n.select(this).selectAll("g.titletext").data(g.title.text?[0]:[]);if(T.enter().append("g").classed("titletext",!0),T.exit().remove(),T.each((function(){var e,r=l.ensureSingle(n.select(this),"text","",(function(t){t.attr("data-notex",1)})),i=g.title.text;g._meta&&(i=l.templateString(i,g._meta)),r.text(i).attr({class:"titletext",transform:"","text-anchor":"middle"}).call(s.font,g.title.font).call(f.convertToTspans,t),e="middle center"===g.title.position?function(t){var e=Math.sqrt(t.titleBox.width*t.titleBox.width+t.titleBox.height*t.titleBox.height);return{x:t.cx,y:t.cy,scale:t.trace.hole*t.r*2/e,tx:0,ty:-t.titleBox.height/2+t.trace.title.font.size}}(d):L(d,a),r.attr("transform",u(e.x,e.y)+c(Math.min(1,e.scale))+u(e.tx,e.ty))})),_&&function(t,e){var r,n,i,a,o,s,l,c,u,f,h,p,d;function g(t,e){return t.pxmid[1]-e.pxmid[1]}function v(t,e){return e.pxmid[1]-t.pxmid[1]}function y(t,r){r||(r={});var i,c,u,h,p=r.labelExtraY+(n?r.yLabelMax:r.yLabelMin),d=n?t.yLabelMin:t.yLabelMax,g=n?t.yLabelMax:t.yLabelMin,v=t.cyFinal+o(t.px0[1],t.px1[1]),y=p-d;if(y*l>0&&(t.labelExtraY=y),Array.isArray(e.pull))for(c=0;c<f.length;c++)(u=f[c])===t||(m.castOption(e.pull,t.pts)||0)>=(m.castOption(e.pull,u.pts)||0)||((t.pxmid[1]-u.pxmid[1])*l>0?(y=u.cyFinal+o(u.px0[1],u.px1[1])-d-t.labelExtraY)*l>0&&(t.labelExtraY+=y):(g+t.labelExtraY-v)*l>0&&(i=3*s*Math.abs(c-f.indexOf(t)),(h=u.cxFinal+a(u.px0[0],u.px1[0])+i-(t.cxFinal+t.pxmid[0])-t.labelExtraX)*s>0&&(t.labelExtraX+=h)))}for(n=0;n<2;n++)for(i=n?g:v,o=n?Math.max:Math.min,l=n?1:-1,r=0;r<2;r++){for(a=r?Math.max:Math.min,s=r?1:-1,(c=t[n][r]).sort(i),u=t[1-n][r],f=u.concat(c),p=[],h=0;h<c.length;h++)void 0!==c[h].yLabelMid&&p.push(c[h]);for(d=!1,h=0;n&&h<u.length;h++)if(void 0!==u[h].yLabelMid){d=u[h];break}for(h=0;h<p.length;h++){var x=h&&p[h-1];d&&!h&&(x=d),y(p[h],x)}}}(y,g),function(t,e){t.each((function(t){var r=n.select(this);if(t.labelExtraX||t.labelExtraY){var i=r.select("g.slicetext text");t.transform.targetX+=t.labelExtraX,t.transform.targetY+=t.labelExtraY,i.attr("transform",l.getTextTransform(t.transform));var a=t.cxFinal+t.pxmid[0],s="M"+a+","+(t.cyFinal+t.pxmid[1]),c=(t.yLabelMax-t.yLabelMin)*(t.pxmid[0]<0?-1:1)/4;if(t.labelExtraX){var u=t.labelExtraX*t.pxmid[1]/t.pxmid[0],f=t.yLabelMid+t.labelExtraY-(t.cyFinal+t.pxmid[1]);Math.abs(u)>Math.abs(f)?s+="l"+f*t.pxmid[0]/t.pxmid[1]+","+f+"H"+(a+t.labelExtraX+c):s+="l"+t.labelExtraX+","+u+"v"+(f-u)+"h"+c}else s+="V"+(t.yLabelMid+t.labelExtraY)+"h"+c;l.ensureSingle(r,"path","textline").call(o.stroke,e.outsidetextfont.color).attr({"stroke-width":Math.min(2,e.outsidetextfont.size/8),d:s,fill:"none"})}else r.select("path.textline").remove()}))}(v,g),_&&g.automargin){var k=s.bBox(h.node()),M=g.domain,A=a.w*(M.x[1]-M.x[0]),S=a.h*(M.y[1]-M.y[0]),E=(.5*A-d.r)/a.w,I=(.5*S-d.r)/a.h;i.autoMargin(t,"pie."+g.uid+".automargin",{xl:M.x[0]-E,xr:M.x[1]+E,yb:M.y[0]-I,yt:M.y[1]+I,l:Math.max(d.cx-d.r-k.left,0),r:Math.max(k.right-(d.cx+d.r),0),b:Math.max(k.bottom-(d.cy+d.r),0),t:Math.max(d.cy-d.r-k.top,0),pad:5})}}))}));setTimeout((function(){h.selectAll("tspan").each((function(){var t=n.select(this);t.attr("dy")&&t.attr("dy",t.attr("dy"))}))}),0)},formatSliceLabel:D,transformInsideText:w,determineInsideTextFont:b,positionTitleOutside:L,prerenderTitles:_,layoutAreas:z,attachFxHandlers:x,computeTransform:R}},{"../../components/color":643,"../../components/drawing":665,"../../components/fx":683,"../../lib":778,"../../lib/svg_text_utils":803,"../../plots/plots":891,"../bar/constants":923,"../bar/uniform_text":937,"./event_data":1165,"./helpers":1166,d3:169}],1171:[function(t,e,r){"use strict";var n=t("d3"),i=t("./style_one"),a=t("../bar/uniform_text").resizeText;e.exports=function(t){var e=t._fullLayout._pielayer.selectAll(".trace");a(t,e,"pie"),e.each((function(t){var e=t[0].trace,r=n.select(this);r.style({opacity:e.opacity}),r.selectAll("path.surface").each((function(t){n.select(this).call(i,t,e)}))}))}},{"../bar/uniform_text":937,"./style_one":1172,d3:169}],1172:[function(t,e,r){"use strict";var n=t("../../components/color"),i=t("./helpers").castOption;e.exports=function(t,e,r){var a=r.marker.line,o=i(a.color,e.pts)||n.defaultLine,s=i(a.width,e.pts)||0;t.style("stroke-width",s).call(n.fill,e.color).call(n.stroke,o)}},{"../../components/color":643,"./helpers":1166}],1173:[function(t,e,r){"use strict";var n=t("../scatter/attributes");e.exports={x:n.x,y:n.y,xy:{valType:"data_array",editType:"calc"},indices:{valType:"data_array",editType:"calc"},xbounds:{valType:"data_array",editType:"calc"},ybounds:{valType:"data_array",editType:"calc"},text:n.text,marker:{color:{valType:"color",arrayOk:!1,editType:"calc"},opacity:{valType:"number",min:0,max:1,dflt:1,arrayOk:!1,editType:"calc"},blend:{valType:"boolean",dflt:null,editType:"calc"},sizemin:{valType:"number",min:.1,max:2,dflt:.5,editType:"calc"},sizemax:{valType:"number",min:.1,dflt:20,editType:"calc"},border:{color:{valType:"color",arrayOk:!1,editType:"calc"},arearatio:{valType:"number",min:0,max:1,dflt:0,editType:"calc"},editType:"calc"},editType:"calc"},transforms:void 0}},{"../scatter/attributes":1187}],1174:[function(t,e,r){"use strict";var n=t("gl-pointcloud2d"),i=t("../../lib/str2rgbarray"),a=t("../../plots/cartesian/autorange").findExtremes,o=t("../scatter/get_trace_color");function s(t,e){this.scene=t,this.uid=e,this.type="pointcloud",this.pickXData=[],this.pickYData=[],this.xData=[],this.yData=[],this.textLabels=[],this.color="rgb(0, 0, 0)",this.name="",this.hoverinfo="all",this.idToIndex=new Int32Array(0),this.bounds=[0,0,0,0],this.pointcloudOptions={positions:new Float32Array(0),idToIndex:this.idToIndex,sizemin:.5,sizemax:12,color:[0,0,0,1],areaRatio:1,borderColor:[0,0,0,1]},this.pointcloud=n(t.glplot,this.pointcloudOptions),this.pointcloud._trace=this}var l=s.prototype;l.handlePick=function(t){var e=this.idToIndex[t.pointId];return{trace:this,dataCoord:t.dataCoord,traceCoord:this.pickXYData?[this.pickXYData[2*e],this.pickXYData[2*e+1]]:[this.pickXData[e],this.pickYData[e]],textLabel:Array.isArray(this.textLabels)?this.textLabels[e]:this.textLabels,color:this.color,name:this.name,pointIndex:e,hoverinfo:this.hoverinfo}},l.update=function(t){this.index=t.index,this.textLabels=t.text,this.name=t.name,this.hoverinfo=t.hoverinfo,this.bounds=[1/0,1/0,-1/0,-1/0],this.updateFast(t),this.color=o(t,{})},l.updateFast=function(t){var e,r,n,o,s,l,c=this.xData=this.pickXData=t.x,u=this.yData=this.pickYData=t.y,f=this.pickXYData=t.xy,h=t.xbounds&&t.ybounds,p=t.indices,d=this.bounds;if(f){if(n=f,e=f.length>>>1,h)d[0]=t.xbounds[0],d[2]=t.xbounds[1],d[1]=t.ybounds[0],d[3]=t.ybounds[1];else for(l=0;l<e;l++)o=n[2*l],s=n[2*l+1],o<d[0]&&(d[0]=o),o>d[2]&&(d[2]=o),s<d[1]&&(d[1]=s),s>d[3]&&(d[3]=s);if(p)r=p;else for(r=new Int32Array(e),l=0;l<e;l++)r[l]=l}else for(e=c.length,n=new Float32Array(2*e),r=new Int32Array(e),l=0;l<e;l++)o=c[l],s=u[l],r[l]=l,n[2*l]=o,n[2*l+1]=s,o<d[0]&&(d[0]=o),o>d[2]&&(d[2]=o),s<d[1]&&(d[1]=s),s>d[3]&&(d[3]=s);this.idToIndex=r,this.pointcloudOptions.idToIndex=r,this.pointcloudOptions.positions=n;var g=i(t.marker.color),m=i(t.marker.border.color),v=t.opacity*t.marker.opacity;g[3]*=v,this.pointcloudOptions.color=g;var y=t.marker.blend;if(null===y){y=c.length<100||u.length<100}this.pointcloudOptions.blend=y,m[3]*=v,this.pointcloudOptions.borderColor=m;var x=t.marker.sizemin,b=Math.max(t.marker.sizemax,t.marker.sizemin);this.pointcloudOptions.sizeMin=x,this.pointcloudOptions.sizeMax=b,this.pointcloudOptions.areaRatio=t.marker.border.arearatio,this.pointcloud.update(this.pointcloudOptions);var _=this.scene.xaxis,w=this.scene.yaxis,T=b/2||.5;t._extremes[_._id]=a(_,[d[0],d[2]],{ppad:T}),t._extremes[w._id]=a(w,[d[1],d[3]],{ppad:T})},l.dispose=function(){this.pointcloud.dispose()},e.exports=function(t,e){var r=new s(t,e.uid);return r.update(e),r}},{"../../lib/str2rgbarray":802,"../../plots/cartesian/autorange":827,"../scatter/get_trace_color":1197,"gl-pointcloud2d":324}],1175:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./attributes");e.exports=function(t,e,r){function a(r,a){return n.coerce(t,e,i,r,a)}a("x"),a("y"),a("xbounds"),a("ybounds"),t.xy&&t.xy instanceof Float32Array&&(e.xy=t.xy),t.indices&&t.indices instanceof Int32Array&&(e.indices=t.indices),a("text"),a("marker.color",r),a("marker.opacity"),a("marker.blend"),a("marker.sizemin"),a("marker.sizemax"),a("marker.border.color",r),a("marker.border.arearatio"),e._length=null}},{"../../lib":778,"./attributes":1173}],1176:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),calc:t("../scatter3d/calc"),plot:t("./convert"),moduleType:"trace",name:"pointcloud",basePlotModule:t("../../plots/gl2d"),categories:["gl","gl2d","showLegend"],meta:{}}},{"../../plots/gl2d":868,"../scatter3d/calc":1216,"./attributes":1173,"./convert":1174,"./defaults":1175}],1177:[function(t,e,r){"use strict";var n=t("../../plots/font_attributes"),i=t("../../plots/attributes"),a=t("../../components/color/attributes"),o=t("../../components/fx/attributes"),s=t("../../plots/domain").attributes,l=t("../../plots/template_attributes").hovertemplateAttrs,c=t("../../components/colorscale/attributes"),u=t("../../plot_api/plot_template").templatedArray,f=t("../../lib/extend").extendFlat,h=t("../../plot_api/edit_types").overrideAll;t("../../constants/docs").FORMAT_LINK;(e.exports=h({hoverinfo:f({},i.hoverinfo,{flags:[],arrayOk:!1}),hoverlabel:o.hoverlabel,domain:s({name:"sankey",trace:!0}),orientation:{valType:"enumerated",values:["v","h"],dflt:"h"},valueformat:{valType:"string",dflt:".3s"},valuesuffix:{valType:"string",dflt:""},arrangement:{valType:"enumerated",values:["snap","perpendicular","freeform","fixed"],dflt:"snap"},textfont:n({}),customdata:void 0,node:{label:{valType:"data_array",dflt:[]},groups:{valType:"info_array",impliedEdits:{x:[],y:[]},dimensions:2,freeLength:!0,dflt:[],items:{valType:"number",editType:"calc"}},x:{valType:"data_array",dflt:[]},y:{valType:"data_array",dflt:[]},color:{valType:"color",arrayOk:!0},customdata:{valType:"data_array",editType:"calc"},line:{color:{valType:"color",dflt:a.defaultLine,arrayOk:!0},width:{valType:"number",min:0,dflt:.5,arrayOk:!0}},pad:{valType:"number",arrayOk:!1,min:0,dflt:20},thickness:{valType:"number",arrayOk:!1,min:1,dflt:20},hoverinfo:{valType:"enumerated",values:["all","none","skip"],dflt:"all"},hoverlabel:o.hoverlabel,hovertemplate:l({},{keys:["value","label"]})},link:{label:{valType:"data_array",dflt:[]},color:{valType:"color",arrayOk:!0},customdata:{valType:"data_array",editType:"calc"},line:{color:{valType:"color",dflt:a.defaultLine,arrayOk:!0},width:{valType:"number",min:0,dflt:0,arrayOk:!0}},source:{valType:"data_array",dflt:[]},target:{valType:"data_array",dflt:[]},value:{valType:"data_array",dflt:[]},hoverinfo:{valType:"enumerated",values:["all","none","skip"],dflt:"all"},hoverlabel:o.hoverlabel,hovertemplate:l({},{keys:["value","label"]}),colorscales:u("concentrationscales",{editType:"calc",label:{valType:"string",editType:"calc",dflt:""},cmax:{valType:"number",editType:"calc",dflt:1},cmin:{valType:"number",editType:"calc",dflt:0},colorscale:f(c().colorscale,{dflt:[[0,"white"],[1,"black"]]})})}},"calc","nested")).transforms=void 0},{"../../components/color/attributes":642,"../../components/colorscale/attributes":650,"../../components/fx/attributes":674,"../../constants/docs":748,"../../lib/extend":768,"../../plot_api/edit_types":810,"../../plot_api/plot_template":817,"../../plots/attributes":824,"../../plots/domain":855,"../../plots/font_attributes":856,"../../plots/template_attributes":906}],1178:[function(t,e,r){"use strict";var n=t("../../plot_api/edit_types").overrideAll,i=t("../../plots/get_data").getModuleCalcData,a=t("./plot"),o=t("../../components/fx/layout_attributes"),s=t("../../lib/setcursor"),l=t("../../components/dragelement"),c=t("../../plots/cartesian/select").prepSelect,u=t("../../lib"),f=t("../../registry");function h(t,e){var r=t._fullData[e],n=t._fullLayout,i=n.dragmode,a="pan"===n.dragmode?"move":"crosshair",o=r._bgRect;if("pan"!==i&&"zoom"!==i){s(o,a);var h={_id:"x",c2p:u.identity,_offset:r._sankey.translateX,_length:r._sankey.width},p={_id:"y",c2p:u.identity,_offset:r._sankey.translateY,_length:r._sankey.height},d={gd:t,element:o.node(),plotinfo:{id:e,xaxis:h,yaxis:p,fillRangeItems:u.noop},subplot:e,xaxes:[h],yaxes:[p],doneFnCompleted:function(r){var n,i=t._fullData[e],a=i.node.groups.slice(),o=[];function s(t){for(var e=i._sankey.graph.nodes,r=0;r<e.length;r++)if(e[r].pointNumber===t)return e[r]}for(var l=0;l<r.length;l++){var c=s(r[l].pointNumber);if(c)if(c.group){for(var u=0;u<c.childrenNodes.length;u++)o.push(c.childrenNodes[u].pointNumber);a[c.pointNumber-i.node._count]=!1}else o.push(c.pointNumber)}n=a.filter(Boolean).concat([o]),f.call("_guiRestyle",t,{"node.groups":[n]},e)},prepFn:function(t,e,r){c(t,e,r,d,i)}};l.init(d)}}r.name="sankey",r.baseLayoutAttrOverrides=n({hoverlabel:o.hoverlabel},"plot","nested"),r.plot=function(t){var e=i(t.calcdata,"sankey")[0];a(t,e),r.updateFx(t)},r.clean=function(t,e,r,n){var i=n._has&&n._has("sankey"),a=e._has&&e._has("sankey");i&&!a&&(n._paperdiv.selectAll(".sankey").remove(),n._paperdiv.selectAll(".bgsankey").remove())},r.updateFx=function(t){for(var e=0;e<t._fullData.length;e++)h(t,e)}},{"../../components/dragelement":662,"../../components/fx/layout_attributes":684,"../../lib":778,"../../lib/setcursor":799,"../../plot_api/edit_types":810,"../../plots/cartesian/select":847,"../../plots/get_data":865,"../../registry":911,"./plot":1183}],1179:[function(t,e,r){"use strict";var n=t("strongly-connected-components"),i=t("../../lib"),a=t("../../lib/gup").wrap,o=i.isArrayOrTypedArray,s=i.isIndex,l=t("../../components/colorscale");function c(t){var e,r=t.node,a=t.link,c=[],u=o(a.color),f=o(a.customdata),h={},p={},d=a.colorscales.length;for(e=0;e<d;e++){var g=a.colorscales[e],m=l.extractScale(g,{cLetter:"c"}),v=l.makeColorScaleFunc(m);p[g.label]=v}var y=0;for(e=0;e<a.value.length;e++)a.source[e]>y&&(y=a.source[e]),a.target[e]>y&&(y=a.target[e]);var x,b=y+1;t.node._count=b;var _=t.node.groups,w={};for(e=0;e<_.length;e++){var T=_[e];for(x=0;x<T.length;x++){var k=T[x],M=b+e;w.hasOwnProperty(k)?i.warn("Node "+k+" is already part of a group."):w[k]=M}}var A={source:[],target:[]};for(e=0;e<a.value.length;e++){var S=a.value[e],E=a.source[e],C=a.target[e];if(S>0&&s(E,b)&&s(C,b)&&(!w.hasOwnProperty(E)||!w.hasOwnProperty(C)||w[E]!==w[C])){w.hasOwnProperty(C)&&(C=w[C]),w.hasOwnProperty(E)&&(E=w[E]),C=+C,h[E=+E]=h[C]=!0;var L="";a.label&&a.label[e]&&(L=a.label[e]);var I=null;L&&p.hasOwnProperty(L)&&(I=p[L]),c.push({pointNumber:e,label:L,color:u?a.color[e]:a.color,customdata:f?a.customdata[e]:a.customdata,concentrationscale:I,source:E,target:C,value:+S}),A.source.push(E),A.target.push(C)}}var P=b+_.length,z=o(r.color),O=o(r.customdata),D=[];for(e=0;e<P;e++)if(h[e]){var R=r.label[e];D.push({group:e>b-1,childrenNodes:[],pointNumber:e,label:R,color:z?r.color[e]:r.color,customdata:O?r.customdata[e]:r.customdata})}var F=!1;return function(t,e,r){for(var a=i.init2dArray(t,0),o=0;o<Math.min(e.length,r.length);o++)if(i.isIndex(e[o],t)&&i.isIndex(r[o],t)){if(e[o]===r[o])return!0;a[e[o]].push(r[o])}return n(a).components.some((function(t){return t.length>1}))}(P,A.source,A.target)&&(F=!0),{circular:F,links:c,nodes:D,groups:_,groupLookup:w}}e.exports=function(t,e){var r=c(e);return a({circular:r.circular,_nodes:r.nodes,_links:r.links,_groups:r.groups,_groupLookup:r.groupLookup})}},{"../../components/colorscale":655,"../../lib":778,"../../lib/gup":775,"strongly-connected-components":569}],1180:[function(t,e,r){"use strict";e.exports={nodeTextOffsetHorizontal:4,nodeTextOffsetVertical:3,nodePadAcross:10,sankeyIterations:50,forceIterations:5,forceTicksPerFrame:10,duration:500,ease:"linear",cn:{sankey:"sankey",sankeyLinks:"sankey-links",sankeyLink:"sankey-link",sankeyNodeSet:"sankey-node-set",sankeyNode:"sankey-node",nodeRect:"node-rect",nodeCapture:"node-capture",nodeCentered:"node-entered",nodeLabelGuide:"node-label-guide",nodeLabel:"node-label",nodeLabelTextPath:"node-label-text-path"}}},{}],1181:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./attributes"),a=t("../../components/color"),o=t("tinycolor2"),s=t("../../plots/domain").defaults,l=t("../../components/fx/hoverlabel_defaults"),c=t("../../plot_api/plot_template"),u=t("../../plots/array_container_defaults");function f(t,e){function r(r,a){return n.coerce(t,e,i.link.colorscales,r,a)}r("label"),r("cmin"),r("cmax"),r("colorscale")}e.exports=function(t,e,r,h){function p(r,a){return n.coerce(t,e,i,r,a)}var d=n.extendDeep(h.hoverlabel,t.hoverlabel),g=t.node,m=c.newContainer(e,"node");function v(t,e){return n.coerce(g,m,i.node,t,e)}v("label"),v("groups"),v("x"),v("y"),v("pad"),v("thickness"),v("line.color"),v("line.width"),v("hoverinfo",t.hoverinfo),l(g,m,v,d),v("hovertemplate");var y=h.colorway;v("color",m.label.map((function(t,e){return a.addOpacity(function(t){return y[t%y.length]}(e),.8)}))),v("customdata");var x=t.link||{},b=c.newContainer(e,"link");function _(t,e){return n.coerce(x,b,i.link,t,e)}_("label"),_("source"),_("target"),_("value"),_("line.color"),_("line.width"),_("hoverinfo",t.hoverinfo),l(x,b,_,d),_("hovertemplate");var w,T=o(h.paper_bgcolor).getLuminance()<.333?"rgba(255, 255, 255, 0.6)":"rgba(0, 0, 0, 0.2)";_("color",n.repeat(T,b.value.length)),_("customdata"),u(x,b,{name:"colorscales",handleItemDefaults:f}),s(e,h,p),p("orientation"),p("valueformat"),p("valuesuffix"),m.x.length&&m.y.length&&(w="freeform"),p("arrangement",w),n.coerceFont(p,"textfont",n.extendFlat({},h.font)),e._length=null}},{"../../components/color":643,"../../components/fx/hoverlabel_defaults":681,"../../lib":778,"../../plot_api/plot_template":817,"../../plots/array_container_defaults":823,"../../plots/domain":855,"./attributes":1177,tinycolor2:576}],1182:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),calc:t("./calc"),plot:t("./plot"),moduleType:"trace",name:"sankey",basePlotModule:t("./base_plot"),selectPoints:t("./select.js"),categories:["noOpacity"],meta:{}}},{"./attributes":1177,"./base_plot":1178,"./calc":1179,"./defaults":1181,"./plot":1183,"./select.js":1185}],1183:[function(t,e,r){"use strict";var n=t("d3"),i=t("./render"),a=t("../../components/fx"),o=t("../../components/color"),s=t("../../lib"),l=t("./constants").cn,c=s._;function u(t){return""!==t}function f(t,e){return t.filter((function(t){return t.key===e.traceId}))}function h(t,e){n.select(t).select("path").style("fill-opacity",e),n.select(t).select("rect").style("fill-opacity",e)}function p(t){n.select(t).select("text.name").style("fill","black")}function d(t){return function(e){return-1!==t.node.sourceLinks.indexOf(e.link)||-1!==t.node.targetLinks.indexOf(e.link)}}function g(t){return function(e){return-1!==e.node.sourceLinks.indexOf(t.link)||-1!==e.node.targetLinks.indexOf(t.link)}}function m(t,e,r){e&&r&&f(r,e).selectAll("."+l.sankeyLink).filter(d(e)).call(y.bind(0,e,r,!1))}function v(t,e,r){e&&r&&f(r,e).selectAll("."+l.sankeyLink).filter(d(e)).call(x.bind(0,e,r,!1))}function y(t,e,r,n){var i=n.datum().link.label;n.style("fill-opacity",(function(t){if(!t.link.concentrationscale)return.4})),i&&f(e,t).selectAll("."+l.sankeyLink).filter((function(t){return t.link.label===i})).style("fill-opacity",(function(t){if(!t.link.concentrationscale)return.4})),r&&f(e,t).selectAll("."+l.sankeyNode).filter(g(t)).call(m)}function x(t,e,r,n){var i=n.datum().link.label;n.style("fill-opacity",(function(t){return t.tinyColorAlpha})),i&&f(e,t).selectAll("."+l.sankeyLink).filter((function(t){return t.link.label===i})).style("fill-opacity",(function(t){return t.tinyColorAlpha})),r&&f(e,t).selectAll(l.sankeyNode).filter(g(t)).call(v)}function b(t,e){var r=t.hoverlabel||{},n=s.nestedProperty(r,e).get();return!Array.isArray(n)&&n}e.exports=function(t,e){for(var r=t._fullLayout,s=r._paper,f=r._size,d=0;d<t._fullData.length;d++)if(t._fullData[d].visible&&t._fullData[d].type===l.sankey&&!t._fullData[d]._viewInitial){var g=t._fullData[d].node;t._fullData[d]._viewInitial={node:{groups:g.groups.slice(),x:g.x.slice(),y:g.y.slice()}}}var _=c(t,"source:")+" ",w=c(t,"target:")+" ",T=c(t,"concentration:")+" ",k=c(t,"incoming flow count:")+" ",M=c(t,"outgoing flow count:")+" ";i(t,s,e,{width:f.w,height:f.h,margin:{t:f.t,r:f.r,b:f.b,l:f.l}},{linkEvents:{hover:function(e,r,i){!1!==t._fullLayout.hovermode&&(n.select(e).call(y.bind(0,r,i,!0)),"skip"!==r.link.trace.link.hoverinfo&&(r.link.fullData=r.link.trace,t.emit("plotly_hover",{event:n.event,points:[r.link]})))},follow:function(e,i){if(!1!==t._fullLayout.hovermode){var s=i.link.trace.link;if("none"!==s.hoverinfo&&"skip"!==s.hoverinfo){for(var l=[],c=0,f=0;f<i.flow.links.length;f++){var d=i.flow.links[f];if("closest"!==t._fullLayout.hovermode||i.link.pointNumber===d.pointNumber){i.link.pointNumber===d.pointNumber&&(c=f),d.fullData=d.trace,s=i.link.trace.link;var g=v(d),m={valueLabel:n.format(i.valueFormat)(d.value)+i.valueSuffix};l.push({x:g[0],y:g[1],name:m.valueLabel,text:[d.label||"",_+d.source.label,w+d.target.label,d.concentrationscale?T+n.format("%0.2f")(d.flow.labelConcentration):""].filter(u).join("<br>"),color:b(s,"bgcolor")||o.addOpacity(d.color,1),borderColor:b(s,"bordercolor"),fontFamily:b(s,"font.family"),fontSize:b(s,"font.size"),fontColor:b(s,"font.color"),nameLength:b(s,"namelength"),textAlign:b(s,"align"),idealAlign:n.event.x<g[0]?"right":"left",hovertemplate:s.hovertemplate,hovertemplateLabels:m,eventData:[d]})}}a.loneHover(l,{container:r._hoverlayer.node(),outerContainer:r._paper.node(),gd:t,anchorIndex:c}).each((function(){i.link.concentrationscale||h(this,.65),p(this)}))}}function v(t){var e,r;t.circular?(e=(t.circularPathData.leftInnerExtent+t.circularPathData.rightInnerExtent)/2,r=t.circularPathData.verticalFullExtent):(e=(t.source.x1+t.target.x0)/2,r=(t.y0+t.y1)/2);var n=[e,r];return"v"===t.trace.orientation&&n.reverse(),n[0]+=i.parent.translateX,n[1]+=i.parent.translateY,n}},unhover:function(e,i,o){!1!==t._fullLayout.hovermode&&(n.select(e).call(x.bind(0,i,o,!0)),"skip"!==i.link.trace.link.hoverinfo&&(i.link.fullData=i.link.trace,t.emit("plotly_unhover",{event:n.event,points:[i.link]})),a.loneUnhover(r._hoverlayer.node()))},select:function(e,r){var i=r.link;i.originalEvent=n.event,t._hoverdata=[i],a.click(t,{target:!0})}},nodeEvents:{hover:function(e,r,i){!1!==t._fullLayout.hovermode&&(n.select(e).call(m,r,i),"skip"!==r.node.trace.node.hoverinfo&&(r.node.fullData=r.node.trace,t.emit("plotly_hover",{event:n.event,points:[r.node]})))},follow:function(e,i){if(!1!==t._fullLayout.hovermode){var o=i.node.trace.node;if("none"!==o.hoverinfo&&"skip"!==o.hoverinfo){var s=n.select(e).select("."+l.nodeRect),c=t._fullLayout._paperdiv.node().getBoundingClientRect(),f=s.node().getBoundingClientRect(),d=f.left-2-c.left,g=f.right+2-c.left,m=f.top+f.height/4-c.top,v={valueLabel:n.format(i.valueFormat)(i.node.value)+i.valueSuffix};i.node.fullData=i.node.trace,t._fullLayout._calcInverseTransform(t);var y=t._fullLayout._invScaleX,x=t._fullLayout._invScaleY,_=a.loneHover({x0:y*d,x1:y*g,y:x*m,name:n.format(i.valueFormat)(i.node.value)+i.valueSuffix,text:[i.node.label,k+i.node.targetLinks.length,M+i.node.sourceLinks.length].filter(u).join("<br>"),color:b(o,"bgcolor")||i.tinyColorHue,borderColor:b(o,"bordercolor"),fontFamily:b(o,"font.family"),fontSize:b(o,"font.size"),fontColor:b(o,"font.color"),nameLength:b(o,"namelength"),textAlign:b(o,"align"),idealAlign:"left",hovertemplate:o.hovertemplate,hovertemplateLabels:v,eventData:[i.node]},{container:r._hoverlayer.node(),outerContainer:r._paper.node(),gd:t});h(_,.85),p(_)}}},unhover:function(e,i,o){!1!==t._fullLayout.hovermode&&(n.select(e).call(v,i,o),"skip"!==i.node.trace.node.hoverinfo&&(i.node.fullData=i.node.trace,t.emit("plotly_unhover",{event:n.event,points:[i.node]})),a.loneUnhover(r._hoverlayer.node()))},select:function(e,r,i){var o=r.node;o.originalEvent=n.event,t._hoverdata=[o],n.select(e).call(v,r,i),a.click(t,{target:!0})}}})}},{"../../components/color":643,"../../components/fx":683,"../../lib":778,"./constants":1180,"./render":1184,d3:169}],1184:[function(t,e,r){"use strict";var n=t("./constants"),i=t("d3"),a=t("tinycolor2"),o=t("../../components/color"),s=t("../../components/drawing"),l=t("@plotly/d3-sankey"),c=t("@plotly/d3-sankey-circular"),u=t("d3-force"),f=t("../../lib"),h=f.strTranslate,p=t("../../lib/gup"),d=p.keyFun,g=p.repeat,m=p.unwrap,v=t("d3-interpolate").interpolateNumber,y=t("../../registry");function x(t,e,r){var i,o=m(e),s=o.trace,u=s.domain,h="h"===s.orientation,p=s.node.pad,d=s.node.thickness,g=t.width*(u.x[1]-u.x[0]),v=t.height*(u.y[1]-u.y[0]),y=o._nodes,x=o._links,b=o.circular;(i=b?c.sankeyCircular().circularLinkGap(0):l.sankey()).iterations(n.sankeyIterations).size(h?[g,v]:[v,g]).nodeWidth(d).nodePadding(p).nodeId((function(t){return t.pointNumber})).nodes(y).links(x);var _,w,T,k=i();for(var M in i.nodePadding()<p&&f.warn("node.pad was reduced to ",i.nodePadding()," to fit within the figure."),o._groupLookup){var A,S=parseInt(o._groupLookup[M]);for(_=0;_<k.nodes.length;_++)if(k.nodes[_].pointNumber===S){A=k.nodes[_];break}if(A){var E={pointNumber:parseInt(M),x0:A.x0,x1:A.x1,y0:A.y0,y1:A.y1,partOfGroup:!0,sourceLinks:[],targetLinks:[]};k.nodes.unshift(E),A.childrenNodes.unshift(E)}}if(function(){for(_=0;_<k.nodes.length;_++){var t,e,r=k.nodes[_],n={};for(w=0;w<r.targetLinks.length;w++)t=(e=r.targetLinks[w]).source.pointNumber+":"+e.target.pointNumber,n.hasOwnProperty(t)||(n[t]=[]),n[t].push(e);var i=Object.keys(n);for(w=0;w<i.length;w++){var o=n[t=i[w]],s=0,l={};for(T=0;T<o.length;T++)l[(e=o[T]).label]||(l[e.label]=0),l[e.label]+=e.value,s+=e.value;for(T=0;T<o.length;T++)(e=o[T]).flow={value:s,labelConcentration:l[e.label]/s,concentration:e.value/s,links:o},e.concentrationscale&&(e.color=a(e.concentrationscale(e.flow.labelConcentration)))}var c=0;for(w=0;w<r.sourceLinks.length;w++)c+=r.sourceLinks[w].value;for(w=0;w<r.sourceLinks.length;w++)(e=r.sourceLinks[w]).concentrationOut=e.value/c;var u=0;for(w=0;w<r.targetLinks.length;w++)u+=r.targetLinks[w].value;for(w=0;w<r.targetLinks.length;w++)(e=r.targetLinks[w]).concenrationIn=e.value/u}}(),s.node.x.length&&s.node.y.length){for(_=0;_<Math.min(s.node.x.length,s.node.y.length,k.nodes.length);_++)if(s.node.x[_]&&s.node.y[_]){var C=[s.node.x[_]*g,s.node.y[_]*v];k.nodes[_].x0=C[0]-d/2,k.nodes[_].x1=C[0]+d/2;var L=k.nodes[_].y1-k.nodes[_].y0;k.nodes[_].y0=C[1]-L/2,k.nodes[_].y1=C[1]+L/2}if("snap"===s.arrangement)!function(t){t.forEach((function(t){var e,r,n,i=0,a=t.length;for(t.sort((function(t,e){return t.y0-e.y0})),n=0;n<a;++n)(e=t[n]).y0>=i||(r=i-e.y0)>1e-6&&(e.y0+=r,e.y1+=r),i=e.y1+p}))}(function(t){var e,r,n=t.map((function(t,e){return{x0:t.x0,index:e}})).sort((function(t,e){return t.x0-e.x0})),i=[],a=-1,o=-1/0;for(_=0;_<n.length;_++){var s=t[n[_].index];s.x0>o+d&&(a+=1,e=s.x0),o=s.x0,i[a]||(i[a]=[]),i[a].push(s),r=e-s.x0,s.x0+=r,s.x1+=r}return i}(y=k.nodes));i.update(k)}return{circular:b,key:r,trace:s,guid:f.randstr(),horizontal:h,width:g,height:v,nodePad:s.node.pad,nodeLineColor:s.node.line.color,nodeLineWidth:s.node.line.width,linkLineColor:s.link.line.color,linkLineWidth:s.link.line.width,valueFormat:s.valueformat,valueSuffix:s.valuesuffix,textFont:s.textfont,translateX:u.x[0]*t.width+t.margin.l,translateY:t.height-u.y[1]*t.height+t.margin.t,dragParallel:h?v:g,dragPerpendicular:h?g:v,arrangement:s.arrangement,sankey:i,graph:k,forceLayouts:{},interactionState:{dragInProgress:!1,hovered:!1}}}function b(t,e,r){var n=a(e.color),i=e.source.label+"|"+e.target.label+"__"+r;return e.trace=t.trace,e.curveNumber=t.trace.index,{circular:t.circular,key:i,traceId:t.key,pointNumber:e.pointNumber,link:e,tinyColorHue:o.tinyRGB(n),tinyColorAlpha:n.getAlpha(),linkPath:_,linkLineColor:t.linkLineColor,linkLineWidth:t.linkLineWidth,valueFormat:t.valueFormat,valueSuffix:t.valueSuffix,sankey:t.sankey,parent:t,interactionState:t.interactionState,flow:e.flow}}function _(){return function(t){if(t.link.circular)return e=t.link,r=e.width/2,n=e.circularPathData,"top"===e.circularLinkType?"M "+n.targetX+" "+(n.targetY+r)+" L"+n.rightInnerExtent+" "+(n.targetY+r)+"A"+(n.rightLargeArcRadius+r)+" "+(n.rightSmallArcRadius+r)+" 0 0 1 "+(n.rightFullExtent-r)+" "+(n.targetY-n.rightSmallArcRadius)+"L"+(n.rightFullExtent-r)+" "+n.verticalRightInnerExtent+"A"+(n.rightLargeArcRadius+r)+" "+(n.rightLargeArcRadius+r)+" 0 0 1 "+n.rightInnerExtent+" "+(n.verticalFullExtent-r)+"L"+n.leftInnerExtent+" "+(n.verticalFullExtent-r)+"A"+(n.leftLargeArcRadius+r)+" "+(n.leftLargeArcRadius+r)+" 0 0 1 "+(n.leftFullExtent+r)+" "+n.verticalLeftInnerExtent+"L"+(n.leftFullExtent+r)+" "+(n.sourceY-n.leftSmallArcRadius)+"A"+(n.leftLargeArcRadius+r)+" "+(n.leftSmallArcRadius+r)+" 0 0 1 "+n.leftInnerExtent+" "+(n.sourceY+r)+"L"+n.sourceX+" "+(n.sourceY+r)+"L"+n.sourceX+" "+(n.sourceY-r)+"L"+n.leftInnerExtent+" "+(n.sourceY-r)+"A"+(n.leftLargeArcRadius-r)+" "+(n.leftSmallArcRadius-r)+" 0 0 0 "+(n.leftFullExtent-r)+" "+(n.sourceY-n.leftSmallArcRadius)+"L"+(n.leftFullExtent-r)+" "+n.verticalLeftInnerExtent+"A"+(n.leftLargeArcRadius-r)+" "+(n.leftLargeArcRadius-r)+" 0 0 0 "+n.leftInnerExtent+" "+(n.verticalFullExtent+r)+"L"+n.rightInnerExtent+" "+(n.verticalFullExtent+r)+"A"+(n.rightLargeArcRadius-r)+" "+(n.rightLargeArcRadius-r)+" 0 0 0 "+(n.rightFullExtent+r)+" "+n.verticalRightInnerExtent+"L"+(n.rightFullExtent+r)+" "+(n.targetY-n.rightSmallArcRadius)+"A"+(n.rightLargeArcRadius-r)+" "+(n.rightSmallArcRadius-r)+" 0 0 0 "+n.rightInnerExtent+" "+(n.targetY-r)+"L"+n.targetX+" "+(n.targetY-r)+"Z":"M "+n.targetX+" "+(n.targetY-r)+" L"+n.rightInnerExtent+" "+(n.targetY-r)+"A"+(n.rightLargeArcRadius+r)+" "+(n.rightSmallArcRadius+r)+" 0 0 0 "+(n.rightFullExtent-r)+" "+(n.targetY+n.rightSmallArcRadius)+"L"+(n.rightFullExtent-r)+" "+n.verticalRightInnerExtent+"A"+(n.rightLargeArcRadius+r)+" "+(n.rightLargeArcRadius+r)+" 0 0 0 "+n.rightInnerExtent+" "+(n.verticalFullExtent+r)+"L"+n.leftInnerExtent+" "+(n.verticalFullExtent+r)+"A"+(n.leftLargeArcRadius+r)+" "+(n.leftLargeArcRadius+r)+" 0 0 0 "+(n.leftFullExtent+r)+" "+n.verticalLeftInnerExtent+"L"+(n.leftFullExtent+r)+" "+(n.sourceY+n.leftSmallArcRadius)+"A"+(n.leftLargeArcRadius+r)+" "+(n.leftSmallArcRadius+r)+" 0 0 0 "+n.leftInnerExtent+" "+(n.sourceY-r)+"L"+n.sourceX+" "+(n.sourceY-r)+"L"+n.sourceX+" "+(n.sourceY+r)+"L"+n.leftInnerExtent+" "+(n.sourceY+r)+"A"+(n.leftLargeArcRadius-r)+" "+(n.leftSmallArcRadius-r)+" 0 0 1 "+(n.leftFullExtent-r)+" "+(n.sourceY+n.leftSmallArcRadius)+"L"+(n.leftFullExtent-r)+" "+n.verticalLeftInnerExtent+"A"+(n.leftLargeArcRadius-r)+" "+(n.leftLargeArcRadius-r)+" 0 0 1 "+n.leftInnerExtent+" "+(n.verticalFullExtent-r)+"L"+n.rightInnerExtent+" "+(n.verticalFullExtent-r)+"A"+(n.rightLargeArcRadius-r)+" "+(n.rightLargeArcRadius-r)+" 0 0 1 "+(n.rightFullExtent+r)+" "+n.verticalRightInnerExtent+"L"+(n.rightFullExtent+r)+" "+(n.targetY+n.rightSmallArcRadius)+"A"+(n.rightLargeArcRadius-r)+" "+(n.rightSmallArcRadius-r)+" 0 0 1 "+n.rightInnerExtent+" "+(n.targetY+r)+"L"+n.targetX+" "+(n.targetY+r)+"Z";var e,r,n,i=t.link.source.x1,a=t.link.target.x0,o=v(i,a),s=o(.5),l=o(.5),c=t.link.y0-t.link.width/2,u=t.link.y0+t.link.width/2,f=t.link.y1-t.link.width/2,h=t.link.y1+t.link.width/2;return"M"+i+","+c+"C"+s+","+c+" "+l+","+f+" "+a+","+f+"L"+a+","+h+"C"+l+","+h+" "+s+","+u+" "+i+","+u+"Z"}}function w(t,e){var r=a(e.color),i=n.nodePadAcross,s=t.nodePad/2;e.dx=e.x1-e.x0,e.dy=e.y1-e.y0;var l=e.dx,c=Math.max(.5,e.dy),u="node_"+e.pointNumber;return e.group&&(u=f.randstr()),e.trace=t.trace,e.curveNumber=t.trace.index,{index:e.pointNumber,key:u,partOfGroup:e.partOfGroup||!1,group:e.group,traceId:t.key,trace:t.trace,node:e,nodePad:t.nodePad,nodeLineColor:t.nodeLineColor,nodeLineWidth:t.nodeLineWidth,textFont:t.textFont,size:t.horizontal?t.height:t.width,visibleWidth:Math.ceil(l),visibleHeight:c,zoneX:-i,zoneY:-s,zoneWidth:l+2*i,zoneHeight:c+2*s,labelY:t.horizontal?e.dy/2+1:e.dx/2+1,left:1===e.originalLayer,sizeAcross:t.width,forceLayouts:t.forceLayouts,horizontal:t.horizontal,darkBackground:r.getBrightness()<=128,tinyColorHue:o.tinyRGB(r),tinyColorAlpha:r.getAlpha(),valueFormat:t.valueFormat,valueSuffix:t.valueSuffix,sankey:t.sankey,graph:t.graph,arrangement:t.arrangement,uniqueNodeLabelPathId:[t.guid,t.key,u].join("_"),interactionState:t.interactionState,figure:t}}function T(t){t.attr("transform",(function(t){return h(t.node.x0.toFixed(3),t.node.y0.toFixed(3))}))}function k(t){t.call(T)}function M(t,e){t.call(k),e.attr("d",_())}function A(t){t.attr("width",(function(t){return t.node.x1-t.node.x0})).attr("height",(function(t){return t.visibleHeight}))}function S(t){return t.link.width>1||t.linkLineWidth>0}function E(t){return h(t.translateX,t.translateY)+(t.horizontal?"matrix(1 0 0 1 0 0)":"matrix(0 1 1 0 0 0)")}function C(t){return h(t.horizontal?0:t.labelY,t.horizontal?t.labelY:0)}function L(t){return i.svg.line()([[t.horizontal?t.left?-t.sizeAcross:t.visibleWidth+n.nodeTextOffsetHorizontal:n.nodeTextOffsetHorizontal,0],[t.horizontal?t.left?-n.nodeTextOffsetHorizontal:t.sizeAcross:t.visibleHeight-n.nodeTextOffsetHorizontal,0]])}function I(t){return t.horizontal?"matrix(1 0 0 1 0 0)":"matrix(0 1 1 0 0 0)"}function P(t){return t.horizontal?"scale(1 1)":"scale(-1 1)"}function z(t){return t.darkBackground&&!t.horizontal?"rgb(255,255,255)":"rgb(0,0,0)"}function O(t){return t.horizontal&&t.left?"100%":"0%"}function D(t,e,r){t.on(".basic",null).on("mouseover.basic",(function(t){t.interactionState.dragInProgress||t.partOfGroup||(r.hover(this,t,e),t.interactionState.hovered=[this,t])})).on("mousemove.basic",(function(t){t.interactionState.dragInProgress||t.partOfGroup||(r.follow(this,t),t.interactionState.hovered=[this,t])})).on("mouseout.basic",(function(t){t.interactionState.dragInProgress||t.partOfGroup||(r.unhover(this,t,e),t.interactionState.hovered=!1)})).on("click.basic",(function(t){t.interactionState.hovered&&(r.unhover(this,t,e),t.interactionState.hovered=!1),t.interactionState.dragInProgress||t.partOfGroup||r.select(this,t,e)}))}function R(t,e,r,a){var o=i.behavior.drag().origin((function(t){return{x:t.node.x0+t.visibleWidth/2,y:t.node.y0+t.visibleHeight/2}})).on("dragstart",(function(i){if("fixed"!==i.arrangement&&(f.ensureSingle(a._fullLayout._infolayer,"g","dragcover",(function(t){a._fullLayout._dragCover=t})),f.raiseToTop(this),i.interactionState.dragInProgress=i.node,B(i.node),i.interactionState.hovered&&(r.nodeEvents.unhover.apply(0,i.interactionState.hovered),i.interactionState.hovered=!1),"snap"===i.arrangement)){var o=i.traceId+"|"+i.key;i.forceLayouts[o]?i.forceLayouts[o].alpha(1):function(t,e,r,i){!function(t){for(var e=0;e<t.length;e++)t[e].y=(t[e].y0+t[e].y1)/2,t[e].x=(t[e].x0+t[e].x1)/2}(r.graph.nodes);var a=r.graph.nodes.filter((function(t){return t.originalX===r.node.originalX})).filter((function(t){return!t.partOfGroup}));r.forceLayouts[e]=u.forceSimulation(a).alphaDecay(0).force("collide",u.forceCollide().radius((function(t){return t.dy/2+r.nodePad/2})).strength(1).iterations(n.forceIterations)).force("constrain",function(t,e,r,i){return function(){for(var t=0,a=0;a<r.length;a++){var o=r[a];o===i.interactionState.dragInProgress?(o.x=o.lastDraggedX,o.y=o.lastDraggedY):(o.vx=(o.originalX-o.x)/n.forceTicksPerFrame,o.y=Math.min(i.size-o.dy/2,Math.max(o.dy/2,o.y))),t=Math.max(t,Math.abs(o.vx),Math.abs(o.vy))}!i.interactionState.dragInProgress&&t<.1&&i.forceLayouts[e].alpha()>0&&i.forceLayouts[e].alpha(0)}}(0,e,a,r)).stop()}(0,o,i),function(t,e,r,i,a){window.requestAnimationFrame((function o(){var s;for(s=0;s<n.forceTicksPerFrame;s++)r.forceLayouts[i].tick();if(function(t){for(var e=0;e<t.length;e++)t[e].y0=t[e].y-t[e].dy/2,t[e].y1=t[e].y0+t[e].dy,t[e].x0=t[e].x-t[e].dx/2,t[e].x1=t[e].x0+t[e].dx}(r.graph.nodes),r.sankey.update(r.graph),M(t.filter(N(r)),e),r.forceLayouts[i].alpha()>0)window.requestAnimationFrame(o);else{var l=r.node.originalX;r.node.x0=l-r.visibleWidth/2,r.node.x1=l+r.visibleWidth/2,F(r,a)}}))}(t,e,i,o,a)}})).on("drag",(function(r){if("fixed"!==r.arrangement){var n=i.event.x,a=i.event.y;"snap"===r.arrangement?(r.node.x0=n-r.visibleWidth/2,r.node.x1=n+r.visibleWidth/2,r.node.y0=a-r.visibleHeight/2,r.node.y1=a+r.visibleHeight/2):("freeform"===r.arrangement&&(r.node.x0=n-r.visibleWidth/2,r.node.x1=n+r.visibleWidth/2),a=Math.max(0,Math.min(r.size-r.visibleHeight/2,a)),r.node.y0=a-r.visibleHeight/2,r.node.y1=a+r.visibleHeight/2),B(r.node),"snap"!==r.arrangement&&(r.sankey.update(r.graph),M(t.filter(N(r)),e))}})).on("dragend",(function(t){if("fixed"!==t.arrangement){t.interactionState.dragInProgress=!1;for(var e=0;e<t.node.childrenNodes.length;e++)t.node.childrenNodes[e].x=t.node.x,t.node.childrenNodes[e].y=t.node.y;"snap"!==t.arrangement&&F(t,a)}}));t.on(".drag",null).call(o)}function F(t,e){for(var r=[],n=[],i=0;i<t.graph.nodes.length;i++){var a=(t.graph.nodes[i].x0+t.graph.nodes[i].x1)/2,o=(t.graph.nodes[i].y0+t.graph.nodes[i].y1)/2;r.push(a/t.figure.width),n.push(o/t.figure.height)}y.call("_guiRestyle",e,{"node.x":[r],"node.y":[n]},t.trace.index).then((function(){e._fullLayout._dragCover&&e._fullLayout._dragCover.remove()}))}function B(t){t.lastDraggedX=t.x0+t.dx/2,t.lastDraggedY=t.y0+t.dy/2}function N(t){return function(e){return e.node.originalX===t.node.originalX}}e.exports=function(t,e,r,l,c){var u=!1;f.ensureSingle(t._fullLayout._infolayer,"g","first-render",(function(){u=!0}));var h=t._fullLayout._dragCover,p=r.filter((function(t){return m(t).trace.visible})).map(x.bind(null,l)),v=e.selectAll("."+n.cn.sankey).data(p,d);v.exit().remove(),v.enter().append("g").classed(n.cn.sankey,!0).style("box-sizing","content-box").style("position","absolute").style("left",0).style("shape-rendering","geometricPrecision").style("pointer-events","auto").attr("transform",E),v.each((function(e,r){t._fullData[r]._sankey=e;var n="bgsankey-"+e.trace.uid+"-"+r;f.ensureSingle(t._fullLayout._draggers,"rect",n),t._fullData[r]._bgRect=i.select("."+n),t._fullData[r]._bgRect.style("pointer-events","all").attr("width",e.width).attr("height",e.height).attr("x",e.translateX).attr("y",e.translateY).classed("bgsankey",!0).style({fill:"transparent","stroke-width":0})})),v.transition().ease(n.ease).duration(n.duration).attr("transform",E);var y=v.selectAll("."+n.cn.sankeyLinks).data(g,d);y.enter().append("g").classed(n.cn.sankeyLinks,!0).style("fill","none");var k=y.selectAll("."+n.cn.sankeyLink).data((function(t){return t.graph.links.filter((function(t){return t.value})).map(b.bind(null,t))}),d);k.enter().append("path").classed(n.cn.sankeyLink,!0).call(D,v,c.linkEvents),k.style("stroke",(function(t){return S(t)?o.tinyRGB(a(t.linkLineColor)):t.tinyColorHue})).style("stroke-opacity",(function(t){return S(t)?o.opacity(t.linkLineColor):t.tinyColorAlpha})).style("fill",(function(t){return t.tinyColorHue})).style("fill-opacity",(function(t){return t.tinyColorAlpha})).style("stroke-width",(function(t){return S(t)?t.linkLineWidth:1})).attr("d",_()),k.style("opacity",(function(){return t._context.staticPlot||u||h?1:0})).transition().ease(n.ease).duration(n.duration).style("opacity",1),k.exit().transition().ease(n.ease).duration(n.duration).style("opacity",0).remove();var M=v.selectAll("."+n.cn.sankeyNodeSet).data(g,d);M.enter().append("g").classed(n.cn.sankeyNodeSet,!0),M.style("cursor",(function(t){switch(t.arrangement){case"fixed":return"default";case"perpendicular":return"ns-resize";default:return"move"}}));var F=M.selectAll("."+n.cn.sankeyNode).data((function(t){var e=t.graph.nodes;return function(t){var e,r=[];for(e=0;e<t.length;e++)t[e].originalX=(t[e].x0+t[e].x1)/2,t[e].originalY=(t[e].y0+t[e].y1)/2,-1===r.indexOf(t[e].originalX)&&r.push(t[e].originalX);for(r.sort((function(t,e){return t-e})),e=0;e<t.length;e++)t[e].originalLayerIndex=r.indexOf(t[e].originalX),t[e].originalLayer=t[e].originalLayerIndex/(r.length-1)}(e),e.map(w.bind(null,t))}),d);F.enter().append("g").classed(n.cn.sankeyNode,!0).call(T).style("opacity",(function(e){return!t._context.staticPlot&&!u||e.partOfGroup?0:1})),F.call(D,v,c.nodeEvents).call(R,k,c,t),F.transition().ease(n.ease).duration(n.duration).call(T).style("opacity",(function(t){return t.partOfGroup?0:1})),F.exit().transition().ease(n.ease).duration(n.duration).style("opacity",0).remove();var B=F.selectAll("."+n.cn.nodeRect).data(g);B.enter().append("rect").classed(n.cn.nodeRect,!0).call(A),B.style("stroke-width",(function(t){return t.nodeLineWidth})).style("stroke",(function(t){return o.tinyRGB(a(t.nodeLineColor))})).style("stroke-opacity",(function(t){return o.opacity(t.nodeLineColor)})).style("fill",(function(t){return t.tinyColorHue})).style("fill-opacity",(function(t){return t.tinyColorAlpha})),B.transition().ease(n.ease).duration(n.duration).call(A);var N=F.selectAll("."+n.cn.nodeCapture).data(g);N.enter().append("rect").classed(n.cn.nodeCapture,!0).style("fill-opacity",0),N.attr("x",(function(t){return t.zoneX})).attr("y",(function(t){return t.zoneY})).attr("width",(function(t){return t.zoneWidth})).attr("height",(function(t){return t.zoneHeight}));var j=F.selectAll("."+n.cn.nodeCentered).data(g);j.enter().append("g").classed(n.cn.nodeCentered,!0).attr("transform",C),j.transition().ease(n.ease).duration(n.duration).attr("transform",C);var U=j.selectAll("."+n.cn.nodeLabelGuide).data(g);U.enter().append("path").classed(n.cn.nodeLabelGuide,!0).attr("id",(function(t){return t.uniqueNodeLabelPathId})).attr("d",L).attr("transform",I),U.transition().ease(n.ease).duration(n.duration).attr("d",L).attr("transform",I);var V=j.selectAll("."+n.cn.nodeLabel).data(g);V.enter().append("text").classed(n.cn.nodeLabel,!0).attr("transform",P).style("cursor","default").style("fill","black"),V.style("text-shadow",(function(t){return t.horizontal?"-1px 1px 1px #fff, 1px 1px 1px #fff, 1px -1px 1px #fff, -1px -1px 1px #fff":"none"})).each((function(t){s.font(V,t.textFont)})),V.transition().ease(n.ease).duration(n.duration).attr("transform",P);var q=V.selectAll("."+n.cn.nodeLabelTextPath).data(g);q.enter().append("textPath").classed(n.cn.nodeLabelTextPath,!0).attr("alignment-baseline","middle").attr("xlink:href",(function(t){return"#"+t.uniqueNodeLabelPathId})).attr("startOffset",O).style("fill",z),q.text((function(t){return t.horizontal||t.node.dy>5?t.node.label:""})).attr("text-anchor",(function(t){return t.horizontal&&t.left?"end":"start"})),q.transition().ease(n.ease).duration(n.duration).attr("startOffset",O).style("fill",z)}},{"../../components/color":643,"../../components/drawing":665,"../../lib":778,"../../lib/gup":775,"../../registry":911,"./constants":1180,"@plotly/d3-sankey":56,"@plotly/d3-sankey-circular":55,d3:169,"d3-force":160,"d3-interpolate":162,tinycolor2:576}],1185:[function(t,e,r){"use strict";e.exports=function(t,e){for(var r=[],n=t.cd[0].trace,i=n._sankey.graph.nodes,a=0;a<i.length;a++){var o=i[a];if(!o.partOfGroup){var s=[(o.x0+o.x1)/2,(o.y0+o.y1)/2];"v"===n.orientation&&s.reverse(),e&&e.contains(s,!1,a,t)&&r.push({pointNumber:o.pointNumber})}}return r}},{}],1186:[function(t,e,r){"use strict";var n=t("../../lib");e.exports=function(t,e){for(var r=0;r<t.length;r++)t[r].i=r;n.mergeArray(e.text,t,"tx"),n.mergeArray(e.texttemplate,t,"txt"),n.mergeArray(e.hovertext,t,"htx"),n.mergeArray(e.customdata,t,"data"),n.mergeArray(e.textposition,t,"tp"),e.textfont&&(n.mergeArrayCastPositive(e.textfont.size,t,"ts"),n.mergeArray(e.textfont.color,t,"tc"),n.mergeArray(e.textfont.family,t,"tf"));var i=e.marker;if(i){n.mergeArrayCastPositive(i.size,t,"ms"),n.mergeArrayCastPositive(i.opacity,t,"mo"),n.mergeArray(i.symbol,t,"mx"),n.mergeArray(i.color,t,"mc");var a=i.line;i.line&&(n.mergeArray(a.color,t,"mlc"),n.mergeArrayCastPositive(a.width,t,"mlw"));var o=i.gradient;o&&"none"!==o.type&&(n.mergeArray(o.type,t,"mgt"),n.mergeArray(o.color,t,"mgc"))}}},{"../../lib":778}],1187:[function(t,e,r){"use strict";var n=t("../../plots/template_attributes").texttemplateAttrs,i=t("../../plots/template_attributes").hovertemplateAttrs,a=t("../../components/colorscale/attributes"),o=t("../../plots/font_attributes"),s=t("../../components/drawing/attributes").dash,l=t("../../components/drawing"),c=t("./constants"),u=t("../../lib/extend").extendFlat;e.exports={x:{valType:"data_array",editType:"calc+clearAxisTypes",anim:!0},x0:{valType:"any",dflt:0,editType:"calc+clearAxisTypes",anim:!0},dx:{valType:"number",dflt:1,editType:"calc",anim:!0},y:{valType:"data_array",editType:"calc+clearAxisTypes",anim:!0},y0:{valType:"any",dflt:0,editType:"calc+clearAxisTypes",anim:!0},dy:{valType:"number",dflt:1,editType:"calc",anim:!0},xperiod:{valType:"any",dflt:0,editType:"calc"},yperiod:{valType:"any",dflt:0,editType:"calc"},xperiod0:{valType:"any",editType:"calc"},yperiod0:{valType:"any",editType:"calc"},xperiodalignment:{valType:"enumerated",values:["start","middle","end"],dflt:"middle",editType:"calc"},yperiodalignment:{valType:"enumerated",values:["start","middle","end"],dflt:"middle",editType:"calc"},stackgroup:{valType:"string",dflt:"",editType:"calc"},orientation:{valType:"enumerated",values:["v","h"],editType:"calc"},groupnorm:{valType:"enumerated",values:["","fraction","percent"],dflt:"",editType:"calc"},stackgaps:{valType:"enumerated",values:["infer zero","interpolate"],dflt:"infer zero",editType:"calc"},text:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},texttemplate:n({},{}),hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"style"},mode:{valType:"flaglist",flags:["lines","markers","text"],extras:["none"],editType:"calc"},hoveron:{valType:"flaglist",flags:["points","fills"],editType:"style"},hovertemplate:i({},{keys:c.eventDataKeys}),line:{color:{valType:"color",editType:"style",anim:!0},width:{valType:"number",min:0,dflt:2,editType:"style",anim:!0},shape:{valType:"enumerated",values:["linear","spline","hv","vh","hvh","vhv"],dflt:"linear",editType:"plot"},smoothing:{valType:"number",min:0,max:1.3,dflt:1,editType:"plot"},dash:u({},s,{editType:"style"}),simplify:{valType:"boolean",dflt:!0,editType:"plot"},editType:"plot"},connectgaps:{valType:"boolean",dflt:!1,editType:"calc"},cliponaxis:{valType:"boolean",dflt:!0,editType:"plot"},fill:{valType:"enumerated",values:["none","tozeroy","tozerox","tonexty","tonextx","toself","tonext"],editType:"calc"},fillcolor:{valType:"color",editType:"style",anim:!0},marker:u({symbol:{valType:"enumerated",values:l.symbolList,dflt:"circle",arrayOk:!0,editType:"style"},opacity:{valType:"number",min:0,max:1,arrayOk:!0,editType:"style",anim:!0},size:{valType:"number",min:0,dflt:6,arrayOk:!0,editType:"calc",anim:!0},maxdisplayed:{valType:"number",min:0,dflt:0,editType:"plot"},sizeref:{valType:"number",dflt:1,editType:"calc"},sizemin:{valType:"number",min:0,dflt:0,editType:"calc"},sizemode:{valType:"enumerated",values:["diameter","area"],dflt:"diameter",editType:"calc"},line:u({width:{valType:"number",min:0,arrayOk:!0,editType:"style",anim:!0},editType:"calc"},a("marker.line",{anim:!0})),gradient:{type:{valType:"enumerated",values:["radial","horizontal","vertical","none"],arrayOk:!0,dflt:"none",editType:"calc"},color:{valType:"color",arrayOk:!0,editType:"calc"},editType:"calc"},editType:"calc"},a("marker",{anim:!0})),selected:{marker:{opacity:{valType:"number",min:0,max:1,editType:"style"},color:{valType:"color",editType:"style"},size:{valType:"number",min:0,editType:"style"},editType:"style"},textfont:{color:{valType:"color",editType:"style"},editType:"style"},editType:"style"},unselected:{marker:{opacity:{valType:"number",min:0,max:1,editType:"style"},color:{valType:"color",editType:"style"},size:{valType:"number",min:0,editType:"style"},editType:"style"},textfont:{color:{valType:"color",editType:"style"},editType:"style"},editType:"style"},textposition:{valType:"enumerated",values:["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"],dflt:"middle center",arrayOk:!0,editType:"calc"},textfont:o({editType:"calc",colorEditType:"style",arrayOk:!0}),r:{valType:"data_array",editType:"calc"},t:{valType:"data_array",editType:"calc"}}},{"../../components/colorscale/attributes":650,"../../components/drawing":665,"../../components/drawing/attributes":664,"../../lib/extend":768,"../../plots/font_attributes":856,"../../plots/template_attributes":906,"./constants":1191}],1188:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../lib"),a=t("../../plots/cartesian/axes"),o=t("../../plots/cartesian/align_period"),s=t("../../constants/numerical").BADNUM,l=t("./subtypes"),c=t("./colorscale_calc"),u=t("./arrays_to_calcdata"),f=t("./calc_selection");function h(t,e,r,n,i,o,s){var c=e._length,u=t._fullLayout,f=r._id,h=n._id,p=u._firstScatter[g(e)]===e.uid,d=(m(e,u,r,n)||{}).orientation,v=e.fill;r._minDtick=0,n._minDtick=0;var y={padded:!0},x={padded:!0};s&&(y.ppad=x.ppad=s);var b=c<2||i[0]!==i[c-1]||o[0]!==o[c-1];b&&("tozerox"===v||"tonextx"===v&&(p||"h"===d))?y.tozero=!0:(e.error_y||{}).visible||"tonexty"!==v&&"tozeroy"!==v&&(l.hasMarkers(e)||l.hasText(e))||(y.padded=!1,y.ppad=0),b&&("tozeroy"===v||"tonexty"===v&&(p||"v"===d))?x.tozero=!0:"tonextx"!==v&&"tozerox"!==v||(x.padded=!1),f&&(e._extremes[f]=a.findExtremes(r,i,y)),h&&(e._extremes[h]=a.findExtremes(n,o,x))}function p(t,e){if(l.hasMarkers(t)){var r,n=t.marker,o=1.6*(t.marker.sizeref||1);if(r="area"===t.marker.sizemode?function(t){return Math.max(Math.sqrt((t||0)/o),3)}:function(t){return Math.max((t||0)/o,3)},i.isArrayOrTypedArray(n.size)){var s={type:"linear"};a.setConvert(s);for(var c=s.makeCalcdata(t.marker,"size"),u=new Array(e),f=0;f<e;f++)u[f]=r(c[f]);return u}return r(n.size)}}function d(t,e){var r=g(e),n=t._firstScatter;n[r]||(n[r]=e.uid)}function g(t){var e=t.stackgroup;return t.xaxis+t.yaxis+t.type+(e?"-"+e:"")}function m(t,e,r,n){var i=t.stackgroup;if(i){var a=e._scatterStackOpts[r._id+n._id][i],o="v"===a.orientation?n:r;return"linear"===o.type||"log"===o.type?a:void 0}}e.exports={calc:function(t,e){var r,l,g,v,y,x,b=t._fullLayout,_=a.getFromId(t,e.xaxis||"x"),w=a.getFromId(t,e.yaxis||"y"),T=_.makeCalcdata(e,"x"),k=w.makeCalcdata(e,"y"),M=o(e,_,"x",T),A=o(e,w,"y",k),S=e._length,E=new Array(S),C=e.ids,L=m(e,b,_,w),I=!1;d(b,e);var P,z="x",O="y";L?(i.pushUnique(L.traceIndices,e._expandedIndex),(r="v"===L.orientation)?(O="s",P="x"):(z="s",P="y"),y="interpolate"===L.stackgaps):h(t,e,_,w,M,A,p(e,S));var D=!!e.xperiodalignment,R=!!e.yperiodalignment;for(l=0;l<S;l++){var F=E[l]={},B=n(M[l]),N=n(A[l]);B&&N?(F[z]=M[l],F[O]=A[l],D&&(F.orig_x=T[l]),R&&(F.orig_y=k[l])):L&&(r?B:N)?(F[P]=r?M[l]:A[l],F.gap=!0,y?(F.s=s,I=!0):F.s=0):F[z]=F[O]=s,C&&(F.id=String(C[l]))}if(u(E,e),c(t,e),f(E,e),L){for(l=0;l<E.length;)E[l][P]===s?E.splice(l,1):l++;if(i.sort(E,(function(t,e){return t[P]-e[P]||t.i-e.i})),I){for(l=0;l<E.length-1&&E[l].gap;)l++;for((x=E[l].s)||(x=E[l].s=0),g=0;g<l;g++)E[g].s=x;for(v=E.length-1;v>l&&E[v].gap;)v--;for(x=E[v].s,g=E.length-1;g>v;g--)E[g].s=x;for(;l<v;)if(E[++l].gap){for(g=l+1;E[g].gap;)g++;for(var j=E[l-1][P],U=E[l-1].s,V=(E[g].s-U)/(E[g][P]-j);l<g;)E[l].s=U+(E[l][P]-j)*V,l++}}}return E},calcMarkerSize:p,calcAxisExpansion:h,setFirstScatter:d,getStackOpts:m}},{"../../constants/numerical":753,"../../lib":778,"../../plots/cartesian/align_period":825,"../../plots/cartesian/axes":828,"./arrays_to_calcdata":1186,"./calc_selection":1189,"./colorscale_calc":1190,"./subtypes":1212,"fast-isnumeric":241}],1189:[function(t,e,r){"use strict";var n=t("../../lib");e.exports=function(t,e){n.isArrayOrTypedArray(e.selectedpoints)&&n.tagSelected(t,e)}},{"../../lib":778}],1190:[function(t,e,r){"use strict";var n=t("../../components/colorscale/helpers").hasColorscale,i=t("../../components/colorscale/calc"),a=t("./subtypes");e.exports=function(t,e){a.hasLines(e)&&n(e,"line")&&i(t,e,{vals:e.line.color,containerStr:"line",cLetter:"c"}),a.hasMarkers(e)&&(n(e,"marker")&&i(t,e,{vals:e.marker.color,containerStr:"marker",cLetter:"c"}),n(e,"marker.line")&&i(t,e,{vals:e.marker.line.color,containerStr:"marker.line",cLetter:"c"}))}},{"../../components/colorscale/calc":651,"../../components/colorscale/helpers":654,"./subtypes":1212}],1191:[function(t,e,r){"use strict";e.exports={PTS_LINESONLY:20,minTolerance:.2,toleranceGrowth:10,maxScreensAway:20,eventDataKeys:[]}},{}],1192:[function(t,e,r){"use strict";var n=t("./calc");function i(t,e,r,n,i,a,o){i[n]=!0;var s={i:null,gap:!0,s:0};if(s[o]=r,t.splice(e,0,s),e&&r===t[e-1][o]){var l=t[e-1];s.s=l.s,s.i=l.i,s.gap=l.gap}else a&&(s.s=function(t,e,r,n){var i=t[e-1],a=t[e+1];return a?i?i.s+(a.s-i.s)*(r-i[n])/(a[n]-i[n]):a.s:i.s}(t,e,r,o));e||(t[0].t=t[1].t,t[0].trace=t[1].trace,delete t[1].t,delete t[1].trace)}e.exports=function(t,e){var r=e.xaxis,a=e.yaxis,o=r._id+a._id,s=t._fullLayout._scatterStackOpts[o];if(s){var l,c,u,f,h,p,d,g,m,v,y,x,b,_,w,T=t.calcdata;for(var k in s){var M=(v=s[k]).traceIndices;if(M.length){for(y="interpolate"===v.stackgaps,x=v.groupnorm,"v"===v.orientation?(b="x",_="y"):(b="y",_="x"),w=new Array(M.length),l=0;l<w.length;l++)w[l]=!1;p=T[M[0]];var A=new Array(p.length);for(l=0;l<p.length;l++)A[l]=p[l][b];for(l=1;l<M.length;l++){for(h=T[M[l]],c=u=0;c<h.length;c++){for(d=h[c][b];d>A[u]&&u<A.length;u++)i(h,c,A[u],l,w,y,b),c++;if(d!==A[u]){for(f=0;f<l;f++)i(T[M[f]],u,d,f,w,y,b);A.splice(u,0,d)}u++}for(;u<A.length;u++)i(h,c,A[u],l,w,y,b),c++}var S=A.length;for(c=0;c<p.length;c++){for(g=p[c][_]=p[c].s,l=1;l<M.length;l++)(h=T[M[l]])[0].trace._rawLength=h[0].trace._length,h[0].trace._length=S,g+=h[c].s,h[c][_]=g;if(x)for(m=("fraction"===x?g:g/100)||1,l=0;l<M.length;l++){var E=T[M[l]][c];E[_]/=m,E.sNorm=E.s/m}}for(l=0;l<M.length;l++){var C=(h=T[M[l]])[0].trace,L=n.calcMarkerSize(C,C._rawLength),I=Array.isArray(L);if(L&&w[l]||I){var P=L;for(L=new Array(S),c=0;c<S;c++)L[c]=h[c].gap?0:I?P[h[c].i]:P}var z=new Array(S),O=new Array(S);for(c=0;c<S;c++)z[c]=h[c].x,O[c]=h[c].y;n.calcAxisExpansion(t,C,r,a,z,O,L),h[0].t.orientation=v.orientation}}}}}},{"./calc":1188}],1193:[function(t,e,r){"use strict";e.exports=function(t){for(var e=0;e<t.length;e++){var r=t[e];if("scatter"===r.type){var n=r.fill;if("none"!==n&&"toself"!==n&&(r.opacity=void 0,"tonexty"===n||"tonextx"===n))for(var i=e-1;i>=0;i--){var a=t[i];if("scatter"===a.type&&a.xaxis===r.xaxis&&a.yaxis===r.yaxis){a.opacity=void 0;break}}}}}},{}],1194:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../registry"),a=t("./attributes"),o=t("./constants"),s=t("./subtypes"),l=t("./xy_defaults"),c=t("./period_defaults"),u=t("./stack_defaults"),f=t("./marker_defaults"),h=t("./line_defaults"),p=t("./line_shape_defaults"),d=t("./text_defaults"),g=t("./fillcolor_defaults");e.exports=function(t,e,r,m){function v(r,i){return n.coerce(t,e,a,r,i)}var y=l(t,e,m,v);if(y||(e.visible=!1),e.visible){c(t,e,m,v);var x=u(t,e,m,v),b=!x&&y<o.PTS_LINESONLY?"lines+markers":"lines";v("text"),v("hovertext"),v("mode",b),s.hasLines(e)&&(h(t,e,r,m,v),p(t,e,v),v("connectgaps"),v("line.simplify")),s.hasMarkers(e)&&f(t,e,r,m,v,{gradient:!0}),s.hasText(e)&&(v("texttemplate"),d(t,e,m,v));var _=[];(s.hasMarkers(e)||s.hasText(e))&&(v("cliponaxis"),v("marker.maxdisplayed"),_.push("points")),v("fill",x?x.fillDflt:"none"),"none"!==e.fill&&(g(t,e,r,v),s.hasLines(e)||p(t,e,v));var w=(e.line||{}).color,T=(e.marker||{}).color;"tonext"!==e.fill&&"toself"!==e.fill||_.push("fills"),v("hoveron",_.join("+")||"points"),"fills"!==e.hoveron&&v("hovertemplate");var k=i.getComponentMethod("errorbars","supplyDefaults");k(t,e,w||T||r,{axis:"y"}),k(t,e,w||T||r,{axis:"x",inherit:"y"}),n.coerceSelectionMarkerOpacity(e,v)}}},{"../../lib":778,"../../registry":911,"./attributes":1187,"./constants":1191,"./fillcolor_defaults":1195,"./line_defaults":1200,"./line_shape_defaults":1202,"./marker_defaults":1206,"./period_defaults":1207,"./stack_defaults":1210,"./subtypes":1212,"./text_defaults":1213,"./xy_defaults":1214}],1195:[function(t,e,r){"use strict";var n=t("../../components/color"),i=t("../../lib").isArrayOrTypedArray;e.exports=function(t,e,r,a){var o=!1;if(e.marker){var s=e.marker.color,l=(e.marker.line||{}).color;s&&!i(s)?o=s:l&&!i(l)&&(o=l)}a("fillcolor",n.addOpacity((e.line||{}).color||o||r,.5))}},{"../../components/color":643,"../../lib":778}],1196:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes");e.exports=function(t,e,r){var i={},a={_fullLayout:r},o=n.getFromTrace(a,e,"x"),s=n.getFromTrace(a,e,"y");return i.xLabel=n.tickText(o,t.x,!0).text,i.yLabel=n.tickText(s,t.y,!0).text,i}},{"../../plots/cartesian/axes":828}],1197:[function(t,e,r){"use strict";var n=t("../../components/color"),i=t("./subtypes");e.exports=function(t,e){var r,a;if("lines"===t.mode)return(r=t.line.color)&&n.opacity(r)?r:t.fillcolor;if("none"===t.mode)return t.fill?t.fillcolor:"";var o=e.mcc||(t.marker||{}).color,s=e.mlcc||((t.marker||{}).line||{}).color;return(a=o&&n.opacity(o)?o:s&&n.opacity(s)&&(e.mlw||((t.marker||{}).line||{}).width)?s:"")?n.opacity(a)<.3?n.addOpacity(a,.3):a:(r=(t.line||{}).color)&&n.opacity(r)&&i.hasLines(t)&&t.line.width?r:t.fillcolor}},{"../../components/color":643,"./subtypes":1212}],1198:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../components/fx"),a=t("../../registry"),o=t("./get_trace_color"),s=t("../../components/color"),l=n.fillText;e.exports=function(t,e,r,c){var u=t.cd,f=u[0].trace,h=t.xa,p=t.ya,d=h.c2p(e),g=p.c2p(r),m=[d,g],v=f.hoveron||"",y=-1!==f.mode.indexOf("markers")?3:.5;if(-1!==v.indexOf("points")){var x=function(t){var e=Math.max(y,t.mrc||0),r=h.c2p(t.x)-d,n=p.c2p(t.y)-g;return Math.max(Math.sqrt(r*r+n*n)-e,1-y/e)},b=i.getDistanceFunction(c,(function(t){var e=Math.max(3,t.mrc||0),r=1-1/e,n=Math.abs(h.c2p(t.x)-d);return n<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<e?r*n/e:n-e+r}),x);if(i.getClosest(u,b,t),!1!==t.index){var _=u[t.index],w=h.c2p(_.x,!0),T=p.c2p(_.y,!0),k=_.mrc||1;t.index=_.i;var M=u[0].t.orientation,A=M&&(_.sNorm||_.s),S="h"===M?A:void 0!==_.orig_x?_.orig_x:_.x,E="v"===M?A:void 0!==_.orig_y?_.orig_y:_.y;return n.extendFlat(t,{color:o(f,_),x0:w-k,x1:w+k,xLabelVal:S,y0:T-k,y1:T+k,yLabelVal:E,spikeDistance:x(_),hovertemplate:f.hovertemplate}),l(_,f,t),a.getComponentMethod("errorbars","hoverInfo")(_,f,t),[t]}}if(-1!==v.indexOf("fills")&&f._polygons){var C,L,I,P,z,O,D,R,F,B=f._polygons,N=[],j=!1,U=1/0,V=-1/0,q=1/0,H=-1/0;for(C=0;C<B.length;C++)(I=B[C]).contains(m)&&(j=!j,N.push(I),q=Math.min(q,I.ymin),H=Math.max(H,I.ymax));if(j){var G=((q=Math.max(q,0))+(H=Math.min(H,p._length)))/2;for(C=0;C<N.length;C++)for(P=N[C].pts,L=1;L<P.length;L++)(R=P[L-1][1])>G!=(F=P[L][1])>=G&&(O=P[L-1][0],D=P[L][0],F-R&&(z=O+(D-O)*(G-R)/(F-R),U=Math.min(U,z),V=Math.max(V,z)));U=Math.max(U,0),V=Math.min(V,h._length);var Y=s.defaultLine;return s.opacity(f.fillcolor)?Y=f.fillcolor:s.opacity((f.line||{}).color)&&(Y=f.line.color),n.extendFlat(t,{distance:t.maxHoverDistance,x0:U,x1:V,y0:G,y1:G,color:Y,hovertemplate:!1}),delete t.index,f.text&&!Array.isArray(f.text)?t.text=String(f.text):t.text=f.name,[t]}}}},{"../../components/color":643,"../../components/fx":683,"../../lib":778,"../../registry":911,"./get_trace_color":1197}],1199:[function(t,e,r){"use strict";var n=t("./subtypes");e.exports={hasLines:n.hasLines,hasMarkers:n.hasMarkers,hasText:n.hasText,isBubble:n.isBubble,attributes:t("./attributes"),supplyDefaults:t("./defaults"),crossTraceDefaults:t("./cross_trace_defaults"),calc:t("./calc").calc,crossTraceCalc:t("./cross_trace_calc"),arraysToCalcdata:t("./arrays_to_calcdata"),plot:t("./plot"),colorbar:t("./marker_colorbar"),formatLabels:t("./format_labels"),style:t("./style").style,styleOnSelect:t("./style").styleOnSelect,hoverPoints:t("./hover"),selectPoints:t("./select"),animatable:!0,moduleType:"trace",name:"scatter",basePlotModule:t("../../plots/cartesian"),categories:["cartesian","svg","symbols","errorBarsOK","showLegend","scatter-like","zoomScale"],meta:{}}},{"../../plots/cartesian":841,"./arrays_to_calcdata":1186,"./attributes":1187,"./calc":1188,"./cross_trace_calc":1192,"./cross_trace_defaults":1193,"./defaults":1194,"./format_labels":1196,"./hover":1198,"./marker_colorbar":1205,"./plot":1208,"./select":1209,"./style":1211,"./subtypes":1212}],1200:[function(t,e,r){"use strict";var n=t("../../lib").isArrayOrTypedArray,i=t("../../components/colorscale/helpers").hasColorscale,a=t("../../components/colorscale/defaults");e.exports=function(t,e,r,o,s,l){var c=(t.marker||{}).color;(s("line.color",r),i(t,"line"))?a(t,e,o,s,{prefix:"line.",cLetter:"c"}):s("line.color",!n(c)&&c||r);s("line.width"),(l||{}).noDash||s("line.dash")}},{"../../components/colorscale/defaults":653,"../../components/colorscale/helpers":654,"../../lib":778}],1201:[function(t,e,r){"use strict";var n=t("../../constants/numerical"),i=n.BADNUM,a=n.LOG_CLIP,o=a+.5,s=a-.5,l=t("../../lib"),c=l.segmentsIntersect,u=l.constrain,f=t("./constants");e.exports=function(t,e){var r,n,a,h,p,d,g,m,v,y,x,b,_,w,T,k,M,A,S=e.xaxis,E=e.yaxis,C="log"===S.type,L="log"===E.type,I=S._length,P=E._length,z=e.connectGaps,O=e.baseTolerance,D=e.shape,R="linear"===D,F=e.fill&&"none"!==e.fill,B=[],N=f.minTolerance,j=t.length,U=new Array(j),V=0;function q(r){var n=t[r];if(!n)return!1;var a=e.linearized?S.l2p(n.x):S.c2p(n.x),l=e.linearized?E.l2p(n.y):E.c2p(n.y);if(a===i){if(C&&(a=S.c2p(n.x,!0)),a===i)return!1;L&&l===i&&(a*=Math.abs(S._m*P*(S._m>0?o:s)/(E._m*I*(E._m>0?o:s)))),a*=1e3}if(l===i){if(L&&(l=E.c2p(n.y,!0)),l===i)return!1;l*=1e3}return[a,l]}function H(t,e,r,n){var i=r-t,a=n-e,o=.5-t,s=.5-e,l=i*i+a*a,c=i*o+a*s;if(c>0&&c<l){var u=o*a-s*i;if(u*u<l)return!0}}function G(t,e){var r=t[0]/I,n=t[1]/P,i=Math.max(0,-r,r-1,-n,n-1);return i&&void 0!==M&&H(r,n,M,A)&&(i=0),i&&e&&H(r,n,e[0]/I,e[1]/P)&&(i=0),(1+f.toleranceGrowth*i)*O}function Y(t,e){var r=t[0]-e[0],n=t[1]-e[1];return Math.sqrt(r*r+n*n)}var W,X,Z,J,K,Q,$,tt=f.maxScreensAway,et=-I*tt,rt=I*(1+tt),nt=-P*tt,it=P*(1+tt),at=[[et,nt,rt,nt],[rt,nt,rt,it],[rt,it,et,it],[et,it,et,nt]];function ot(t){if(t[0]<et||t[0]>rt||t[1]<nt||t[1]>it)return[u(t[0],et,rt),u(t[1],nt,it)]}function st(t,e){return t[0]===e[0]&&(t[0]===et||t[0]===rt)||(t[1]===e[1]&&(t[1]===nt||t[1]===it)||void 0)}function lt(t,e,r){return function(n,i){var a=ot(n),o=ot(i),s=[];if(a&&o&&st(a,o))return s;a&&s.push(a),o&&s.push(o);var c=2*l.constrain((n[t]+i[t])/2,e,r)-((a||n)[t]+(o||i)[t]);c&&((a&&o?c>0==a[t]>o[t]?a:o:a||o)[t]+=c);return s}}function ct(t){var e=t[0],r=t[1],n=e===U[V-1][0],i=r===U[V-1][1];if(!n||!i)if(V>1){var a=e===U[V-2][0],o=r===U[V-2][1];n&&(e===et||e===rt)&&a?o?V--:U[V-1]=t:i&&(r===nt||r===it)&&o?a?V--:U[V-1]=t:U[V++]=t}else U[V++]=t}function ut(t){U[V-1][0]!==t[0]&&U[V-1][1]!==t[1]&&ct([Z,J]),ct(t),K=null,Z=J=0}function ft(t){if(M=t[0]/I,A=t[1]/P,W=t[0]<et?et:t[0]>rt?rt:0,X=t[1]<nt?nt:t[1]>it?it:0,W||X){if(V)if(K){var e=$(K,t);e.length>1&&(ut(e[0]),U[V++]=e[1])}else Q=$(U[V-1],t)[0],U[V++]=Q;else U[V++]=[W||t[0],X||t[1]];var r=U[V-1];W&&X&&(r[0]!==W||r[1]!==X)?(K&&(Z!==W&&J!==X?ct(Z&&J?(n=K,a=(i=t)[0]-n[0],o=(i[1]-n[1])/a,(n[1]*i[0]-i[1]*n[0])/a>0?[o>0?et:rt,it]:[o>0?rt:et,nt]):[Z||W,J||X]):Z&&J&&ct([Z,J])),ct([W,X])):Z-W&&J-X&&ct([W||Z,X||J]),K=t,Z=W,J=X}else K&&ut($(K,t)[0]),U[V++]=t;var n,i,a,o}for("linear"===D||"spline"===D?$=function(t,e){for(var r=[],n=0,i=0;i<4;i++){var a=at[i],o=c(t[0],t[1],e[0],e[1],a[0],a[1],a[2],a[3]);o&&(!n||Math.abs(o.x-r[0][0])>1||Math.abs(o.y-r[0][1])>1)&&(o=[o.x,o.y],n&&Y(o,t)<Y(r[0],t)?r.unshift(o):r.push(o),n++)}return r}:"hv"===D||"vh"===D?$=function(t,e){var r=[],n=ot(t),i=ot(e);return n&&i&&st(n,i)||(n&&r.push(n),i&&r.push(i)),r}:"hvh"===D?$=lt(0,et,rt):"vhv"===D&&($=lt(1,nt,it)),r=0;r<j;r++)if(n=q(r)){for(V=0,K=null,ft(n),r++;r<j;r++){if(!(h=q(r))){if(z)continue;break}if(R&&e.simplify){var ht=q(r+1);if(y=Y(h,n),F&&(0===V||V===j-1)||!(y<G(h,ht)*N)){for(m=[(h[0]-n[0])/y,(h[1]-n[1])/y],p=n,x=y,b=w=T=0,g=!1,a=h,r++;r<t.length;r++){if(d=ht,ht=q(r+1),!d){if(z)continue;break}if(k=(v=[d[0]-n[0],d[1]-n[1]])[0]*m[1]-v[1]*m[0],w=Math.min(w,k),(T=Math.max(T,k))-w>G(d,ht))break;a=d,(_=v[0]*m[0]+v[1]*m[1])>x?(x=_,h=d,g=!1):_<b&&(b=_,p=d,g=!0)}if(g?(ft(h),a!==p&&ft(p)):(p!==n&&ft(p),a!==h&&ft(h)),ft(a),r>=t.length||!d)break;ft(d),n=d}}else ft(h)}K&&ct([Z||K[0],J||K[1]]),B.push(U.slice(0,V))}return B}},{"../../constants/numerical":753,"../../lib":778,"./constants":1191}],1202:[function(t,e,r){"use strict";e.exports=function(t,e,r){"spline"===r("line.shape")&&r("line.smoothing")}},{}],1203:[function(t,e,r){"use strict";var n={tonextx:1,tonexty:1,tonext:1};e.exports=function(t,e,r){var i,a,o,s,l,c={},u=!1,f=-1,h=0,p=-1;for(a=0;a<r.length;a++)(o=(i=r[a][0].trace).stackgroup||"")?o in c?l=c[o]:(l=c[o]=h,h++):i.fill in n&&p>=0?l=p:(l=p=h,h++),l<f&&(u=!0),i._groupIndex=f=l;var d=r.slice();u&&d.sort((function(t,e){var r=t[0].trace,n=e[0].trace;return r._groupIndex-n._groupIndex||r.index-n.index}));var g={};for(a=0;a<d.length;a++)o=(i=d[a][0].trace).stackgroup||"",!0===i.visible?(i._nexttrace=null,i.fill in n&&(s=g[o],i._prevtrace=s||null,s&&(s._nexttrace=i)),i._ownfill=i.fill&&("tozero"===i.fill.substr(0,6)||"toself"===i.fill||"to"===i.fill.substr(0,2)&&!i._prevtrace),g[o]=i):i._prevtrace=i._nexttrace=i._ownfill=null;return d}},{}],1204:[function(t,e,r){"use strict";var n=t("fast-isnumeric");e.exports=function(t){var e=t.marker,r=e.sizeref||1,i=e.sizemin||0,a="area"===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)&&e>0?Math.max(e,i):0}}},{"fast-isnumeric":241}],1205:[function(t,e,r){"use strict";e.exports={container:"marker",min:"cmin",max:"cmax"}},{}],1206:[function(t,e,r){"use strict";var n=t("../../components/color"),i=t("../../components/colorscale/helpers").hasColorscale,a=t("../../components/colorscale/defaults"),o=t("./subtypes");e.exports=function(t,e,r,s,l,c){var u=o.isBubble(t),f=(t.line||{}).color;(c=c||{},f&&(r=f),l("marker.symbol"),l("marker.opacity",u?.7:1),l("marker.size"),l("marker.color",r),i(t,"marker")&&a(t,e,s,l,{prefix:"marker.",cLetter:"c"}),c.noSelect||(l("selected.marker.color"),l("unselected.marker.color"),l("selected.marker.size"),l("unselected.marker.size")),c.noLine||(l("marker.line.color",f&&!Array.isArray(f)&&e.marker.color!==f?f:u?n.background:n.defaultLine),i(t,"marker.line")&&a(t,e,s,l,{prefix:"marker.line.",cLetter:"c"}),l("marker.line.width",u?1:0)),u&&(l("marker.sizeref"),l("marker.sizemin"),l("marker.sizemode")),c.gradient)&&("none"!==l("marker.gradient.type")&&l("marker.gradient.color"))}},{"../../components/color":643,"../../components/colorscale/defaults":653,"../../components/colorscale/helpers":654,"./subtypes":1212}],1207:[function(t,e,r){"use strict";var n=t("../../lib").dateTick0,i=t("../../constants/numerical").ONEWEEK;function a(t,e){return n(e,t%i==0?1:0)}e.exports=function(t,e,r,n,i){if(i||(i={x:!0,y:!0}),i.x){var o=n("xperiod");o&&(n("xperiod0",a(o,e.xcalendar)),n("xperiodalignment"))}if(i.y){var s=n("yperiod");s&&(n("yperiod0",a(s,e.ycalendar)),n("yperiodalignment"))}}},{"../../constants/numerical":753,"../../lib":778}],1208:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../registry"),a=t("../../lib"),o=a.ensureSingle,s=a.identity,l=t("../../components/drawing"),c=t("./subtypes"),u=t("./line_points"),f=t("./link_traces"),h=t("../../lib/polygon").tester;function p(t,e,r,f,p,d,g){var m;!function(t,e,r,i,o){var s=r.xaxis,l=r.yaxis,u=n.extent(a.simpleMap(s.range,s.r2c)),f=n.extent(a.simpleMap(l.range,l.r2c)),h=i[0].trace;if(!c.hasMarkers(h))return;var p=h.marker.maxdisplayed;if(0===p)return;var d=i.filter((function(t){return t.x>=u[0]&&t.x<=u[1]&&t.y>=f[0]&&t.y<=f[1]})),g=Math.ceil(d.length/p),m=0;o.forEach((function(t,r){var n=t[0].trace;c.hasMarkers(n)&&n.marker.maxdisplayed>0&&r<e&&m++}));var v=Math.round(m*g/3+Math.floor(m/3)*g/7.1);i.forEach((function(t){delete t.vis})),d.forEach((function(t,e){0===Math.round((e+v)%g)&&(t.vis=!0)}))}(0,e,r,f,p);var v=!!g&&g.duration>0;function y(t){return v?t.transition():t}var x=r.xaxis,b=r.yaxis,_=f[0].trace,w=_.line,T=n.select(d),k=o(T,"g","errorbars"),M=o(T,"g","lines"),A=o(T,"g","points"),S=o(T,"g","text");if(i.getComponentMethod("errorbars","plot")(t,k,r,g),!0===_.visible){var E,C;y(T).style("opacity",_.opacity);var L=_.fill.charAt(_.fill.length-1);"x"!==L&&"y"!==L&&(L=""),f[0][r.isRangePlot?"nodeRangePlot3":"node3"]=T;var I,P,z="",O=[],D=_._prevtrace;D&&(z=D._prevRevpath||"",C=D._nextFill,O=D._polygons);var R,F,B,N,j,U,V,q="",H="",G=[],Y=a.noop;if(E=_._ownFill,c.hasLines(_)||"none"!==_.fill){for(C&&C.datum(f),-1!==["hv","vh","hvh","vhv"].indexOf(w.shape)?(R=l.steps(w.shape),F=l.steps(w.shape.split("").reverse().join(""))):R=F="spline"===w.shape?function(t){var e=t[t.length-1];return t.length>1&&t[0][0]===e[0]&&t[0][1]===e[1]?l.smoothclosed(t.slice(1),w.smoothing):l.smoothopen(t,w.smoothing)}:function(t){return"M"+t.join("L")},B=function(t){return F(t.reverse())},G=u(f,{xaxis:x,yaxis:b,connectGaps:_.connectgaps,baseTolerance:Math.max(w.width||1,3)/4,shape:w.shape,simplify:w.simplify,fill:_.fill}),V=_._polygons=new Array(G.length),m=0;m<G.length;m++)_._polygons[m]=h(G[m]);G.length&&(N=G[0][0],U=(j=G[G.length-1])[j.length-1]),Y=function(t){return function(e){if(I=R(e),P=B(e),q?L?(q+="L"+I.substr(1),H=P+"L"+H.substr(1)):(q+="Z"+I,H=P+"Z"+H):(q=I,H=P),c.hasLines(_)&&e.length>1){var r=n.select(this);if(r.datum(f),t)y(r.style("opacity",0).attr("d",I).call(l.lineGroupStyle)).style("opacity",1);else{var i=y(r);i.attr("d",I),l.singleLineStyle(f,i)}}}}}var W=M.selectAll(".js-line").data(G);y(W.exit()).style("opacity",0).remove(),W.each(Y(!1)),W.enter().append("path").classed("js-line",!0).style("vector-effect","non-scaling-stroke").call(l.lineGroupStyle).each(Y(!0)),l.setClipUrl(W,r.layerClipId,t),G.length?(E?(E.datum(f),N&&U&&(L?("y"===L?N[1]=U[1]=b.c2p(0,!0):"x"===L&&(N[0]=U[0]=x.c2p(0,!0)),y(E).attr("d","M"+U+"L"+N+"L"+q.substr(1)).call(l.singleFillStyle)):y(E).attr("d",q+"Z").call(l.singleFillStyle))):C&&("tonext"===_.fill.substr(0,6)&&q&&z?("tonext"===_.fill?y(C).attr("d",q+"Z"+z+"Z").call(l.singleFillStyle):y(C).attr("d",q+"L"+z.substr(1)+"Z").call(l.singleFillStyle),_._polygons=_._polygons.concat(O)):(Z(C),_._polygons=null)),_._prevRevpath=H,_._prevPolygons=V):(E?Z(E):C&&Z(C),_._polygons=_._prevRevpath=_._prevPolygons=null),A.datum(f),S.datum(f),function(e,i,a){var o,u=a[0].trace,f=c.hasMarkers(u),h=c.hasText(u),p=tt(u),d=et,g=et;if(f||h){var m=s,_=u.stackgroup,w=_&&"infer zero"===t._fullLayout._scatterStackOpts[x._id+b._id][_].stackgaps;u.marker.maxdisplayed||u._needsCull?m=w?K:J:_&&!w&&(m=Q),f&&(d=m),h&&(g=m)}var T,k=(o=e.selectAll("path.point").data(d,p)).enter().append("path").classed("point",!0);v&&k.call(l.pointStyle,u,t).call(l.translatePoints,x,b).style("opacity",0).transition().style("opacity",1),o.order(),f&&(T=l.makePointStyleFns(u)),o.each((function(e){var i=n.select(this),a=y(i);l.translatePoint(e,a,x,b)?(l.singlePointStyle(e,a,u,T,t),r.layerClipId&&l.hideOutsideRangePoint(e,a,x,b,u.xcalendar,u.ycalendar),u.customdata&&i.classed("plotly-customdata",null!==e.data&&void 0!==e.data)):a.remove()})),v?o.exit().transition().style("opacity",0).remove():o.exit().remove(),(o=i.selectAll("g").data(g,p)).enter().append("g").classed("textpoint",!0).append("text"),o.order(),o.each((function(t){var e=n.select(this),i=y(e.select("text"));l.translatePoint(t,i,x,b)?r.layerClipId&&l.hideOutsideRangePoint(t,e,x,b,u.xcalendar,u.ycalendar):e.remove()})),o.selectAll("text").call(l.textPointStyle,u,t).each((function(t){var e=x.c2p(t.x),r=b.c2p(t.y);n.select(this).selectAll("tspan.line").each((function(){y(n.select(this)).attr({x:e,y:r})}))})),o.exit().remove()}(A,S,f);var X=!1===_.cliponaxis?null:r.layerClipId;l.setClipUrl(A,X,t),l.setClipUrl(S,X,t)}function Z(t){y(t).attr("d","M0,0Z")}function J(t){return t.filter((function(t){return!t.gap&&t.vis}))}function K(t){return t.filter((function(t){return t.vis}))}function Q(t){return t.filter((function(t){return!t.gap}))}function $(t){return t.id}function tt(t){if(t.ids)return $}function et(){return!1}}e.exports=function(t,e,r,i,a,c){var u,h,d=!a,g=!!a&&a.duration>0,m=f(t,e,r);((u=i.selectAll("g.trace").data(m,(function(t){return t[0].trace.uid}))).enter().append("g").attr("class",(function(t){return"trace scatter trace"+t[0].trace.uid})).style("stroke-miterlimit",2),u.order(),function(t,e,r){e.each((function(e){var i=o(n.select(this),"g","fills");l.setClipUrl(i,r.layerClipId,t);var a=e[0].trace,c=[];a._ownfill&&c.push("_ownFill"),a._nexttrace&&c.push("_nextFill");var u=i.selectAll("g").data(c,s);u.enter().append("g"),u.exit().each((function(t){a[t]=null})).remove(),u.order().each((function(t){a[t]=o(n.select(this),"path","js-fill")}))}))}(t,u,e),g)?(c&&(h=c()),n.transition().duration(a.duration).ease(a.easing).each("end",(function(){h&&h()})).each("interrupt",(function(){h&&h()})).each((function(){i.selectAll("g.trace").each((function(r,n){p(t,n,e,r,m,this,a)}))}))):u.each((function(r,n){p(t,n,e,r,m,this,a)}));d&&u.exit().remove(),i.selectAll("path:not([d])").remove()}},{"../../components/drawing":665,"../../lib":778,"../../lib/polygon":790,"../../registry":911,"./line_points":1201,"./link_traces":1203,"./subtypes":1212,d3:169}],1209:[function(t,e,r){"use strict";var n=t("./subtypes");e.exports=function(t,e){var r,i,a,o,s=t.cd,l=t.xaxis,c=t.yaxis,u=[],f=s[0].trace;if(!n.hasMarkers(f)&&!n.hasText(f))return[];if(!1===e)for(r=0;r<s.length;r++)s[r].selected=0;else for(r=0;r<s.length;r++)i=s[r],a=l.c2p(i.x),o=c.c2p(i.y),null!==i.i&&e.contains([a,o],!1,r,t)?(u.push({pointNumber:i.i,x:l.c2d(i.x),y:c.c2d(i.y)}),i.selected=1):i.selected=0;return u}},{"./subtypes":1212}],1210:[function(t,e,r){"use strict";var n=["orientation","groupnorm","stackgaps"];e.exports=function(t,e,r,i){var a=r._scatterStackOpts,o=i("stackgroup");if(o){var s=e.xaxis+e.yaxis,l=a[s];l||(l=a[s]={});var c=l[o],u=!1;c?c.traces.push(e):(c=l[o]={traceIndices:[],traces:[e]},u=!0);for(var f={orientation:e.x&&!e.y?"h":"v"},h=0;h<n.length;h++){var p=n[h],d=p+"Found";if(!c[d]){var g=void 0!==t[p],m="orientation"===p;if((g||u)&&(c[p]=i(p,f[p]),m&&(c.fillDflt="h"===c[p]?"tonextx":"tonexty"),g&&(c[d]=!0,!u&&(delete c.traces[0][p],m))))for(var v=0;v<c.traces.length-1;v++){var y=c.traces[v];y._input.fill!==y.fill&&(y.fill=c.fillDflt)}}}return c}}},{}],1211:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../components/drawing"),a=t("../../registry");function o(t,e,r){i.pointStyle(t.selectAll("path.point"),e,r)}function s(t,e,r){i.textPointStyle(t.selectAll("text"),e,r)}e.exports={style:function(t){var e=n.select(t).selectAll("g.trace.scatter");e.style("opacity",(function(t){return t[0].trace.opacity})),e.selectAll("g.points").each((function(e){o(n.select(this),e.trace||e[0].trace,t)})),e.selectAll("g.text").each((function(e){s(n.select(this),e.trace||e[0].trace,t)})),e.selectAll("g.trace path.js-line").call(i.lineGroupStyle),e.selectAll("g.trace path.js-fill").call(i.fillGroupStyle),a.getComponentMethod("errorbars","style")(e)},stylePoints:o,styleText:s,styleOnSelect:function(t,e,r){var n=e[0].trace;n.selectedpoints?(i.selectedPointStyle(r.selectAll("path.point"),n),i.selectedTextStyle(r.selectAll("text"),n)):(o(r,n,t),s(r,n,t))}}},{"../../components/drawing":665,"../../registry":911,d3:169}],1212:[function(t,e,r){"use strict";var n=t("../../lib");e.exports={hasLines:function(t){return t.visible&&t.mode&&-1!==t.mode.indexOf("lines")},hasMarkers:function(t){return t.visible&&(t.mode&&-1!==t.mode.indexOf("markers")||"splom"===t.type)},hasText:function(t){return t.visible&&t.mode&&-1!==t.mode.indexOf("text")},isBubble:function(t){return n.isPlainObject(t.marker)&&n.isArrayOrTypedArray(t.marker.size)}}},{"../../lib":778}],1213:[function(t,e,r){"use strict";var n=t("../../lib");e.exports=function(t,e,r,i,a){a=a||{},i("textposition"),n.coerceFont(i,"textfont",r.font),a.noSelect||(i("selected.textfont.color"),i("unselected.textfont.color"))}},{"../../lib":778}],1214:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../registry");e.exports=function(t,e,r,a){var o,s=a("x"),l=a("y");if(i.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x","y"],r),s){var c=n.minRowLength(s);l?o=Math.min(c,n.minRowLength(l)):(o=c,a("y0"),a("dy"))}else{if(!l)return 0;o=n.minRowLength(l),a("x0"),a("dx")}return e._length=o,o}},{"../../lib":778,"../../registry":911}],1215:[function(t,e,r){"use strict";var n=t("../scatter/attributes"),i=t("../../components/colorscale/attributes"),a=t("../../plots/template_attributes").hovertemplateAttrs,o=t("../../plots/template_attributes").texttemplateAttrs,s=t("../../plots/attributes"),l=t("../../constants/gl3d_dashes"),c=t("../../constants/gl3d_markers"),u=t("../../lib/extend").extendFlat,f=t("../../plot_api/edit_types").overrideAll,h=n.line,p=n.marker,d=p.line,g=u({width:h.width,dash:{valType:"enumerated",values:Object.keys(l),dflt:"solid"}},i("line"));var m=e.exports=f({x:n.x,y:n.y,z:{valType:"data_array"},text:u({},n.text,{}),texttemplate:o({},{}),hovertext:u({},n.hovertext,{}),hovertemplate:a(),mode:u({},n.mode,{dflt:"lines+markers"}),surfaceaxis:{valType:"enumerated",values:[-1,0,1,2],dflt:-1},surfacecolor:{valType:"color"},projection:{x:{show:{valType:"boolean",dflt:!1},opacity:{valType:"number",min:0,max:1,dflt:1},scale:{valType:"number",min:0,max:10,dflt:2/3}},y:{show:{valType:"boolean",dflt:!1},opacity:{valType:"number",min:0,max:1,dflt:1},scale:{valType:"number",min:0,max:10,dflt:2/3}},z:{show:{valType:"boolean",dflt:!1},opacity:{valType:"number",min:0,max:1,dflt:1},scale:{valType:"number",min:0,max:10,dflt:2/3}}},connectgaps:n.connectgaps,line:g,marker:u({symbol:{valType:"enumerated",values:Object.keys(c),dflt:"circle",arrayOk:!0},size:u({},p.size,{dflt:8}),sizeref:p.sizeref,sizemin:p.sizemin,sizemode:p.sizemode,opacity:u({},p.opacity,{arrayOk:!1}),colorbar:p.colorbar,line:u({width:u({},d.width,{arrayOk:!1})},i("marker.line"))},i("marker")),textposition:u({},n.textposition,{dflt:"top center"}),textfont:{color:n.textfont.color,size:n.textfont.size,family:u({},n.textfont.family,{arrayOk:!1})},hoverinfo:u({},s.hoverinfo)},"calc","nested");m.x.editType=m.y.editType=m.z.editType="calc+clearAxisTypes"},{"../../components/colorscale/attributes":650,"../../constants/gl3d_dashes":750,"../../constants/gl3d_markers":751,"../../lib/extend":768,"../../plot_api/edit_types":810,"../../plots/attributes":824,"../../plots/template_attributes":906,"../scatter/attributes":1187}],1216:[function(t,e,r){"use strict";var n=t("../scatter/arrays_to_calcdata"),i=t("../scatter/colorscale_calc");e.exports=function(t,e){var r=[{x:!1,y:!1,trace:e,t:{}}];return n(r,e),i(t,e),r}},{"../scatter/arrays_to_calcdata":1186,"../scatter/colorscale_calc":1190}],1217:[function(t,e,r){"use strict";var n=t("../../registry");function i(t,e,r,i){if(!e||!e.visible)return null;for(var a=n.getComponentMethod("errorbars","makeComputeError")(e),o=new Array(t.length),s=0;s<t.length;s++){var l=a(+t[s],s);if("log"===i.type){var c=i.c2l(t[s]),u=t[s]-l[0],f=t[s]+l[1];if(o[s]=[(i.c2l(u,!0)-c)*r,(i.c2l(f,!0)-c)*r],u>0){var h=i.c2l(u);i._lowerLogErrorBound||(i._lowerLogErrorBound=h),i._lowerErrorBound=Math.min(i._lowerLogErrorBound,h)}}else o[s]=[-l[0]*r,l[1]*r]}return o}e.exports=function(t,e,r){var n=[i(t.x,t.error_x,e[0],r.xaxis),i(t.y,t.error_y,e[1],r.yaxis),i(t.z,t.error_z,e[2],r.zaxis)],a=function(t){for(var e=0;e<t.length;e++)if(t[e])return t[e].length;return 0}(n);if(0===a)return null;for(var o=new Array(a),s=0;s<a;s++){for(var l=[[0,0,0],[0,0,0]],c=0;c<3;c++)if(n[c])for(var u=0;u<2;u++)l[u][c]=n[c][s][u];o[s]=l}return o}},{"../../registry":911}],1218:[function(t,e,r){"use strict";var n=t("gl-line3d"),i=t("gl-scatter3d"),a=t("gl-error3d"),o=t("gl-mesh3d"),s=t("delaunay-triangulate"),l=t("../../lib"),c=t("../../lib/str2rgbarray"),u=t("../../lib/gl_format_color").formatColor,f=t("../scatter/make_bubble_size_func"),h=t("../../constants/gl3d_dashes"),p=t("../../constants/gl3d_markers"),d=t("../../plots/cartesian/axes"),g=t("../../components/fx/helpers").appendArrayPointValue,m=t("./calc_errors");function v(t,e){this.scene=t,this.uid=e,this.linePlot=null,this.scatterPlot=null,this.errorBars=null,this.textMarkers=null,this.delaunayMesh=null,this.color=null,this.mode="",this.dataPoints=[],this.axesBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.textLabels=null,this.data=null}var y=v.prototype;function x(t){return null==t?0:t.indexOf("left")>-1?-1:t.indexOf("right")>-1?1:0}function b(t){return null==t?0:t.indexOf("top")>-1?-1:t.indexOf("bottom")>-1?1:0}function _(t,e){return e(4*t)}function w(t){return p[t]}function T(t,e,r,n,i){var a=null;if(l.isArrayOrTypedArray(t)){a=[];for(var o=0;o<e;o++)void 0===t[o]?a[o]=n:a[o]=r(t[o],i)}else a=r(t,l.identity);return a}function k(t,e){var r,n,i,a,o,s,h=[],p=t.fullSceneLayout,v=t.dataScale,y=p.xaxis,k=p.yaxis,M=p.zaxis,A=e.marker,S=e.line,E=e.x||[],C=e.y||[],L=e.z||[],I=E.length,P=e.xcalendar,z=e.ycalendar,O=e.zcalendar;for(o=0;o<I;o++)r=y.d2l(E[o],0,P)*v[0],n=k.d2l(C[o],0,z)*v[1],i=M.d2l(L[o],0,O)*v[2],h[o]=[r,n,i];if(Array.isArray(e.text))s=e.text;else if(void 0!==e.text)for(s=new Array(I),o=0;o<I;o++)s[o]=e.text;function D(t,e){var r=p[t];return d.tickText(r,r.d2l(e),!0).text}var R=e.texttemplate;if(R){var F=t.fullLayout._d3locale,B=Array.isArray(R),N=B?Math.min(R.length,I):I,j=B?function(t){return R[t]}:function(){return R};for(s=new Array(N),o=0;o<N;o++){var U={x:E[o],y:C[o],z:L[o]},V={xLabel:D("xaxis",E[o]),yLabel:D("yaxis",C[o]),zLabel:D("zaxis",L[o])},q={};g(q,e,o);var H=e._meta||{};s[o]=l.texttemplateString(j(o),V,F,q,U,H)}}if(a={position:h,mode:e.mode,text:s},"line"in e&&(a.lineColor=u(S,1,I),a.lineWidth=S.width,a.lineDashes=S.dash),"marker"in e){var G=f(e);a.scatterColor=u(A,1,I),a.scatterSize=T(A.size,I,_,20,G),a.scatterMarker=T(A.symbol,I,w,"\u25cf"),a.scatterLineWidth=A.line.width,a.scatterLineColor=u(A.line,1,I),a.scatterAngle=0}"textposition"in e&&(a.textOffset=function(t){var e=[0,0];if(Array.isArray(t))for(var r=0;r<t.length;r++)e[r]=[0,0],t[r]&&(e[r][0]=x(t[r]),e[r][1]=b(t[r]));else e[0]=x(t),e[1]=b(t);return e}(e.textposition),a.textColor=u(e.textfont,1,I),a.textSize=T(e.textfont.size,I,l.identity,12),a.textFont=e.textfont.family,a.textAngle=0);var Y=["x","y","z"];for(a.project=[!1,!1,!1],a.projectScale=[1,1,1],a.projectOpacity=[1,1,1],o=0;o<3;++o){var W=e.projection[Y[o]];(a.project[o]=W.show)&&(a.projectOpacity[o]=W.opacity,a.projectScale[o]=W.scale)}a.errorBounds=m(e,v,p);var X=function(t){for(var e=[0,0,0],r=[[0,0,0],[0,0,0],[0,0,0]],n=[1,1,1],i=0;i<3;i++){var a=t[i];a&&!1!==a.copy_zstyle&&!1!==t[2].visible&&(a=t[2]),a&&a.visible&&(e[i]=a.width/2,r[i]=c(a.color),n[i]=a.thickness)}return{capSize:e,color:r,lineWidth:n}}([e.error_x,e.error_y,e.error_z]);return a.errorColor=X.color,a.errorLineWidth=X.lineWidth,a.errorCapSize=X.capSize,a.delaunayAxis=e.surfaceaxis,a.delaunayColor=c(e.surfacecolor),a}function M(t){if(l.isArrayOrTypedArray(t)){var e=t[0];return l.isArrayOrTypedArray(e)&&(t=e),"rgb("+t.slice(0,3).map((function(t){return Math.round(255*t)}))+")"}return null}function A(t){return l.isArrayOrTypedArray(t)?4===t.length&&"number"==typeof t[0]?M(t):t.map(M):null}y.handlePick=function(t){if(t.object&&(t.object===this.linePlot||t.object===this.delaunayMesh||t.object===this.textMarkers||t.object===this.scatterPlot)){var e=t.index=t.data.index;return t.object.highlight&&t.object.highlight(null),this.scatterPlot&&(t.object=this.scatterPlot,this.scatterPlot.highlight(t.data)),t.textLabel="",this.textLabels&&(Array.isArray(this.textLabels)?(this.textLabels[e]||0===this.textLabels[e])&&(t.textLabel=this.textLabels[e]):t.textLabel=this.textLabels),t.traceCoordinate=[this.data.x[e],this.data.y[e],this.data.z[e]],!0}},y.update=function(t){var e,r,l,c,u=this.scene.glplot.gl,f=h.solid;this.data=t;var p=k(this.scene,t);"mode"in p&&(this.mode=p.mode),"lineDashes"in p&&p.lineDashes in h&&(f=h[p.lineDashes]),this.color=A(p.scatterColor)||A(p.lineColor),this.dataPoints=p.position,e={gl:this.scene.glplot.gl,position:p.position,color:p.lineColor,lineWidth:p.lineWidth||1,dashes:f[0],dashScale:f[1],opacity:t.opacity,connectGaps:t.connectgaps},-1!==this.mode.indexOf("lines")?this.linePlot?this.linePlot.update(e):(this.linePlot=n(e),this.linePlot._trace=this,this.scene.glplot.add(this.linePlot)):this.linePlot&&(this.scene.glplot.remove(this.linePlot),this.linePlot.dispose(),this.linePlot=null);var d=t.opacity;if(t.marker&&t.marker.opacity&&(d*=t.marker.opacity),r={gl:this.scene.glplot.gl,position:p.position,color:p.scatterColor,size:p.scatterSize,glyph:p.scatterMarker,opacity:d,orthographic:!0,lineWidth:p.scatterLineWidth,lineColor:p.scatterLineColor,project:p.project,projectScale:p.projectScale,projectOpacity:p.projectOpacity},-1!==this.mode.indexOf("markers")?this.scatterPlot?this.scatterPlot.update(r):(this.scatterPlot=i(r),this.scatterPlot._trace=this,this.scatterPlot.highlightScale=1,this.scene.glplot.add(this.scatterPlot)):this.scatterPlot&&(this.scene.glplot.remove(this.scatterPlot),this.scatterPlot.dispose(),this.scatterPlot=null),c={gl:this.scene.glplot.gl,position:p.position,glyph:p.text,color:p.textColor,size:p.textSize,angle:p.textAngle,alignment:p.textOffset,font:p.textFont,orthographic:!0,lineWidth:0,project:!1,opacity:t.opacity},this.textLabels=t.hovertext||t.text,-1!==this.mode.indexOf("text")?this.textMarkers?this.textMarkers.update(c):(this.textMarkers=i(c),this.textMarkers._trace=this,this.textMarkers.highlightScale=1,this.scene.glplot.add(this.textMarkers)):this.textMarkers&&(this.scene.glplot.remove(this.textMarkers),this.textMarkers.dispose(),this.textMarkers=null),l={gl:this.scene.glplot.gl,position:p.position,color:p.errorColor,error:p.errorBounds,lineWidth:p.errorLineWidth,capSize:p.errorCapSize,opacity:t.opacity},this.errorBars?p.errorBounds?this.errorBars.update(l):(this.scene.glplot.remove(this.errorBars),this.errorBars.dispose(),this.errorBars=null):p.errorBounds&&(this.errorBars=a(l),this.errorBars._trace=this,this.scene.glplot.add(this.errorBars)),p.delaunayAxis>=0){var g=function(t,e,r){var n,i=(r+1)%3,a=(r+2)%3,o=[],l=[];for(n=0;n<t.length;++n){var c=t[n];!isNaN(c[i])&&isFinite(c[i])&&!isNaN(c[a])&&isFinite(c[a])&&(o.push([c[i],c[a]]),l.push(n))}var u=s(o);for(n=0;n<u.length;++n)for(var f=u[n],h=0;h<f.length;++h)f[h]=l[f[h]];return{positions:t,cells:u,meshColor:e}}(p.position,p.delaunayColor,p.delaunayAxis);g.opacity=t.opacity,this.delaunayMesh?this.delaunayMesh.update(g):(g.gl=u,this.delaunayMesh=o(g),this.delaunayMesh._trace=this,this.scene.glplot.add(this.delaunayMesh))}else this.delaunayMesh&&(this.scene.glplot.remove(this.delaunayMesh),this.delaunayMesh.dispose(),this.delaunayMesh=null)},y.dispose=function(){this.linePlot&&(this.scene.glplot.remove(this.linePlot),this.linePlot.dispose()),this.scatterPlot&&(this.scene.glplot.remove(this.scatterPlot),this.scatterPlot.dispose()),this.errorBars&&(this.scene.glplot.remove(this.errorBars),this.errorBars.dispose()),this.textMarkers&&(this.scene.glplot.remove(this.textMarkers),this.textMarkers.dispose()),this.delaunayMesh&&(this.scene.glplot.remove(this.delaunayMesh),this.delaunayMesh.dispose())},e.exports=function(t,e){var r=new v(t,e.uid);return r.update(e),r}},{"../../components/fx/helpers":679,"../../constants/gl3d_dashes":750,"../../constants/gl3d_markers":751,"../../lib":778,"../../lib/gl_format_color":774,"../../lib/str2rgbarray":802,"../../plots/cartesian/axes":828,"../scatter/make_bubble_size_func":1204,"./calc_errors":1217,"delaunay-triangulate":171,"gl-error3d":266,"gl-line3d":275,"gl-mesh3d":309,"gl-scatter3d":330}],1219:[function(t,e,r){"use strict";var n=t("../../registry"),i=t("../../lib"),a=t("../scatter/subtypes"),o=t("../scatter/marker_defaults"),s=t("../scatter/line_defaults"),l=t("../scatter/text_defaults"),c=t("./attributes");e.exports=function(t,e,r,u){function f(r,n){return i.coerce(t,e,c,r,n)}if(function(t,e,r,i){var a=0,o=r("x"),s=r("y"),l=r("z");n.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x","y","z"],i),o&&s&&l&&(a=Math.min(o.length,s.length,l.length),e._length=e._xlength=e._ylength=e._zlength=a);return a}(t,e,f,u)){f("text"),f("hovertext"),f("hovertemplate"),f("mode"),a.hasLines(e)&&(f("connectgaps"),s(t,e,r,u,f)),a.hasMarkers(e)&&o(t,e,r,u,f,{noSelect:!0}),a.hasText(e)&&(f("texttemplate"),l(t,e,u,f,{noSelect:!0}));var h=(e.line||{}).color,p=(e.marker||{}).color;f("surfaceaxis")>=0&&f("surfacecolor",h||p);for(var d=["x","y","z"],g=0;g<3;++g){var m="projection."+d[g];f(m+".show")&&(f(m+".opacity"),f(m+".scale"))}var v=n.getComponentMethod("errorbars","supplyDefaults");v(t,e,h||p||r,{axis:"z"}),v(t,e,h||p||r,{axis:"y",inherit:"z"}),v(t,e,h||p||r,{axis:"x",inherit:"z"})}else e.visible=!1}},{"../../lib":778,"../../registry":911,"../scatter/line_defaults":1200,"../scatter/marker_defaults":1206,"../scatter/subtypes":1212,"../scatter/text_defaults":1213,"./attributes":1215}],1220:[function(t,e,r){"use strict";e.exports={plot:t("./convert"),attributes:t("./attributes"),markerSymbols:t("../../constants/gl3d_markers"),supplyDefaults:t("./defaults"),colorbar:[{container:"marker",min:"cmin",max:"cmax"},{container:"line",min:"cmin",max:"cmax"}],calc:t("./calc"),moduleType:"trace",name:"scatter3d",basePlotModule:t("../../plots/gl3d"),categories:["gl3d","symbols","showLegend","scatter-like"],meta:{}}},{"../../constants/gl3d_markers":751,"../../plots/gl3d":870,"./attributes":1215,"./calc":1216,"./convert":1218,"./defaults":1219}],1221:[function(t,e,r){"use strict";var n=t("../scatter/attributes"),i=t("../../plots/attributes"),a=t("../../plots/template_attributes").hovertemplateAttrs,o=t("../../plots/template_attributes").texttemplateAttrs,s=t("../../components/colorscale/attributes"),l=t("../../lib/extend").extendFlat,c=n.marker,u=n.line,f=c.line;e.exports={carpet:{valType:"string",editType:"calc"},a:{valType:"data_array",editType:"calc"},b:{valType:"data_array",editType:"calc"},mode:l({},n.mode,{dflt:"markers"}),text:l({},n.text,{}),texttemplate:o({editType:"plot"},{keys:["a","b","text"]}),hovertext:l({},n.hovertext,{}),line:{color:u.color,width:u.width,dash:u.dash,shape:l({},u.shape,{values:["linear","spline"]}),smoothing:u.smoothing,editType:"calc"},connectgaps:n.connectgaps,fill:l({},n.fill,{values:["none","toself","tonext"],dflt:"none"}),fillcolor:n.fillcolor,marker:l({symbol:c.symbol,opacity:c.opacity,maxdisplayed:c.maxdisplayed,size:c.size,sizeref:c.sizeref,sizemin:c.sizemin,sizemode:c.sizemode,line:l({width:f.width,editType:"calc"},s("marker.line")),gradient:c.gradient,editType:"calc"},s("marker")),textfont:n.textfont,textposition:n.textposition,selected:n.selected,unselected:n.unselected,hoverinfo:l({},i.hoverinfo,{flags:["a","b","text","name"]}),hoveron:n.hoveron,hovertemplate:a()}},{"../../components/colorscale/attributes":650,"../../lib/extend":768,"../../plots/attributes":824,"../../plots/template_attributes":906,"../scatter/attributes":1187}],1222:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../scatter/colorscale_calc"),a=t("../scatter/arrays_to_calcdata"),o=t("../scatter/calc_selection"),s=t("../scatter/calc").calcMarkerSize,l=t("../carpet/lookup_carpetid");e.exports=function(t,e){var r=e._carpetTrace=l(t,e);if(r&&r.visible&&"legendonly"!==r.visible){var c;e.xaxis=r.xaxis,e.yaxis=r.yaxis;var u,f,h=e._length,p=new Array(h),d=!1;for(c=0;c<h;c++)if(u=e.a[c],f=e.b[c],n(u)&&n(f)){var g=r.ab2xy(+u,+f,!0),m=r.isVisible(+u,+f);m||(d=!0),p[c]={x:g[0],y:g[1],a:u,b:f,vis:m}}else p[c]={x:!1,y:!1};return e._needsCull=d,p[0].carpet=r,p[0].trace=e,s(e,h),i(t,e),a(p,e),o(p,e),p}}},{"../carpet/lookup_carpetid":981,"../scatter/arrays_to_calcdata":1186,"../scatter/calc":1188,"../scatter/calc_selection":1189,"../scatter/colorscale_calc":1190,"fast-isnumeric":241}],1223:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../scatter/constants"),a=t("../scatter/subtypes"),o=t("../scatter/marker_defaults"),s=t("../scatter/line_defaults"),l=t("../scatter/line_shape_defaults"),c=t("../scatter/text_defaults"),u=t("../scatter/fillcolor_defaults"),f=t("./attributes");e.exports=function(t,e,r,h){function p(r,i){return n.coerce(t,e,f,r,i)}p("carpet"),e.xaxis="x",e.yaxis="y";var d=p("a"),g=p("b"),m=Math.min(d.length,g.length);if(m){e._length=m,p("text"),p("texttemplate"),p("hovertext"),p("mode",m<i.PTS_LINESONLY?"lines+markers":"lines"),a.hasLines(e)&&(s(t,e,r,h,p),l(t,e,p),p("connectgaps")),a.hasMarkers(e)&&o(t,e,r,h,p,{gradient:!0}),a.hasText(e)&&c(t,e,h,p);var v=[];(a.hasMarkers(e)||a.hasText(e))&&(p("marker.maxdisplayed"),v.push("points")),p("fill"),"none"!==e.fill&&(u(t,e,r,p),a.hasLines(e)||l(t,e,p)),"tonext"!==e.fill&&"toself"!==e.fill||v.push("fills"),"fills"!==p("hoveron",v.join("+")||"points")&&p("hovertemplate"),n.coerceSelectionMarkerOpacity(e,p)}else e.visible=!1}},{"../../lib":778,"../scatter/constants":1191,"../scatter/fillcolor_defaults":1195,"../scatter/line_defaults":1200,"../scatter/line_shape_defaults":1202,"../scatter/marker_defaults":1206,"../scatter/subtypes":1212,"../scatter/text_defaults":1213,"./attributes":1221}],1224:[function(t,e,r){"use strict";e.exports=function(t,e,r,n,i){var a=n[i];return t.a=a.a,t.b=a.b,t.y=a.y,t}},{}],1225:[function(t,e,r){"use strict";e.exports=function(t,e){var r={},n=e._carpet,i=n.ab2ij([t.a,t.b]),a=Math.floor(i[0]),o=i[0]-a,s=Math.floor(i[1]),l=i[1]-s,c=n.evalxy([],a,s,o,l);return r.yLabel=c[1].toFixed(3),r}},{}],1226:[function(t,e,r){"use strict";var n=t("../scatter/hover"),i=t("../../lib").fillText;e.exports=function(t,e,r,a){var o=n(t,e,r,a);if(o&&!1!==o[0].index){var s=o[0];if(void 0===s.index){var l=1-s.y0/t.ya._length,c=t.xa._length,u=c*l/2,f=c-u;return s.x0=Math.max(Math.min(s.x0,f),u),s.x1=Math.max(Math.min(s.x1,f),u),o}var h=s.cd[s.index];s.a=h.a,s.b=h.b,s.xLabelVal=void 0,s.yLabelVal=void 0;var p=s.trace,d=p._carpet,g=p._module.formatLabels(h,p);s.yLabel=g.yLabel,delete s.text;var m=[];if(!p.hovertemplate){var v=(h.hi||p.hoverinfo).split("+");-1!==v.indexOf("all")&&(v=["a","b","text"]),-1!==v.indexOf("a")&&y(d.aaxis,h.a),-1!==v.indexOf("b")&&y(d.baxis,h.b),m.push("y: "+s.yLabel),-1!==v.indexOf("text")&&i(h,p,m),s.extraText=m.join("<br>")}return o}function y(t,e){var r;r=t.labelprefix&&t.labelprefix.length>0?t.labelprefix.replace(/ = $/,""):t._hovertitle,m.push(r+": "+e.toFixed(3)+t.labelsuffix)}}},{"../../lib":778,"../scatter/hover":1198}],1227:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),colorbar:t("../scatter/marker_colorbar"),formatLabels:t("./format_labels"),calc:t("./calc"),plot:t("./plot"),style:t("../scatter/style").style,styleOnSelect:t("../scatter/style").styleOnSelect,hoverPoints:t("./hover"),selectPoints:t("../scatter/select"),eventData:t("./event_data"),moduleType:"trace",name:"scattercarpet",basePlotModule:t("../../plots/cartesian"),categories:["svg","carpet","symbols","showLegend","carpetDependent","zoomScale"],meta:{}}},{"../../plots/cartesian":841,"../scatter/marker_colorbar":1205,"../scatter/select":1209,"../scatter/style":1211,"./attributes":1221,"./calc":1222,"./defaults":1223,"./event_data":1224,"./format_labels":1225,"./hover":1226,"./plot":1228}],1228:[function(t,e,r){"use strict";var n=t("../scatter/plot"),i=t("../../plots/cartesian/axes"),a=t("../../components/drawing");e.exports=function(t,e,r,o){var s,l,c,u=r[0][0].carpet,f={xaxis:i.getFromId(t,u.xaxis||"x"),yaxis:i.getFromId(t,u.yaxis||"y"),plot:e.plot};for(n(t,f,r,o),s=0;s<r.length;s++)l=r[s][0].trace,c=o.selectAll("g.trace"+l.uid+" .js-line"),a.setClipUrl(c,r[s][0].carpet._clipPathId,t)}},{"../../components/drawing":665,"../../plots/cartesian/axes":828,"../scatter/plot":1208}],1229:[function(t,e,r){"use strict";var n=t("../../plots/template_attributes").hovertemplateAttrs,i=t("../../plots/template_attributes").texttemplateAttrs,a=t("../scatter/attributes"),o=t("../../plots/attributes"),s=t("../../components/colorscale/attributes"),l=t("../../components/drawing/attributes").dash,c=t("../../lib/extend").extendFlat,u=t("../../plot_api/edit_types").overrideAll,f=a.marker,h=a.line,p=f.line;e.exports=u({lon:{valType:"data_array"},lat:{valType:"data_array"},locations:{valType:"data_array"},locationmode:{valType:"enumerated",values:["ISO-3","USA-states","country names","geojson-id"],dflt:"ISO-3"},geojson:{valType:"any",editType:"calc"},featureidkey:{valType:"string",editType:"calc",dflt:"id"},mode:c({},a.mode,{dflt:"markers"}),text:c({},a.text,{}),texttemplate:i({editType:"plot"},{keys:["lat","lon","location","text"]}),hovertext:c({},a.hovertext,{}),textfont:a.textfont,textposition:a.textposition,line:{color:h.color,width:h.width,dash:l},connectgaps:a.connectgaps,marker:c({symbol:f.symbol,opacity:f.opacity,size:f.size,sizeref:f.sizeref,sizemin:f.sizemin,sizemode:f.sizemode,colorbar:f.colorbar,line:c({width:p.width},s("marker.line")),gradient:f.gradient},s("marker")),fill:{valType:"enumerated",values:["none","toself"],dflt:"none"},fillcolor:a.fillcolor,selected:a.selected,unselected:a.unselected,hoverinfo:c({},o.hoverinfo,{flags:["lon","lat","location","text","name"]}),hovertemplate:n()},"calc","nested")},{"../../components/colorscale/attributes":650,"../../components/drawing/attributes":664,"../../lib/extend":768,"../../plot_api/edit_types":810,"../../plots/attributes":824,"../../plots/template_attributes":906,"../scatter/attributes":1187}],1230:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../constants/numerical").BADNUM,a=t("../scatter/colorscale_calc"),o=t("../scatter/arrays_to_calcdata"),s=t("../scatter/calc_selection"),l=t("../../lib")._;function c(t){return t&&"string"==typeof t}e.exports=function(t,e){var r,u=Array.isArray(e.locations),f=u?e.locations.length:e._length,h=new Array(f);r=e.geojson?function(t){return c(t)||n(t)}:c;for(var p=0;p<f;p++){var d=h[p]={};if(u){var g=e.locations[p];d.loc=r(g)?g:null}else{var m=e.lon[p],v=e.lat[p];n(m)&&n(v)?d.lonlat=[+m,+v]:d.lonlat=[i,i]}}return o(h,e),a(t,e),s(h,e),f&&(h[0].t={labels:{lat:l(t,"lat:")+" ",lon:l(t,"lon:")+" "}}),h}},{"../../constants/numerical":753,"../../lib":778,"../scatter/arrays_to_calcdata":1186,"../scatter/calc_selection":1189,"../scatter/colorscale_calc":1190,"fast-isnumeric":241}],1231:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../scatter/subtypes"),a=t("../scatter/marker_defaults"),o=t("../scatter/line_defaults"),s=t("../scatter/text_defaults"),l=t("../scatter/fillcolor_defaults"),c=t("./attributes");e.exports=function(t,e,r,u){function f(r,i){return n.coerce(t,e,c,r,i)}var h,p=f("locations");if(p&&p.length){var d,g=f("geojson");("string"==typeof g&&""!==g||n.isPlainObject(g))&&(d="geojson-id"),"geojson-id"===f("locationmode",d)&&f("featureidkey"),h=p.length}else{var m=f("lon")||[],v=f("lat")||[];h=Math.min(m.length,v.length)}h?(e._length=h,f("text"),f("hovertext"),f("hovertemplate"),f("mode"),i.hasLines(e)&&(o(t,e,r,u,f),f("connectgaps")),i.hasMarkers(e)&&a(t,e,r,u,f,{gradient:!0}),i.hasText(e)&&(f("texttemplate"),s(t,e,u,f)),f("fill"),"none"!==e.fill&&l(t,e,r,f),n.coerceSelectionMarkerOpacity(e,f)):e.visible=!1}},{"../../lib":778,"../scatter/fillcolor_defaults":1195,"../scatter/line_defaults":1200,"../scatter/marker_defaults":1206,"../scatter/subtypes":1212,"../scatter/text_defaults":1213,"./attributes":1229}],1232:[function(t,e,r){"use strict";e.exports=function(t,e,r,n,i){t.lon=e.lon,t.lat=e.lat,t.location=e.loc?e.loc:null;var a=n[i];return a.fIn&&a.fIn.properties&&(t.properties=a.fIn.properties),t}},{}],1233:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes");e.exports=function(t,e,r){var i={},a=r[e.geo]._subplot.mockAxis,o=t.lonlat;return i.lonLabel=n.tickText(a,a.c2l(o[0]),!0).text,i.latLabel=n.tickText(a,a.c2l(o[1]),!0).text,i}},{"../../plots/cartesian/axes":828}],1234:[function(t,e,r){"use strict";var n=t("../../components/fx"),i=t("../../constants/numerical").BADNUM,a=t("../scatter/get_trace_color"),o=t("../../lib").fillText,s=t("./attributes");e.exports=function(t,e,r){var l=t.cd,c=l[0].trace,u=t.xa,f=t.ya,h=t.subplot,p=h.projection.isLonLatOverEdges,d=h.project;if(n.getClosest(l,(function(t){var n=t.lonlat;if(n[0]===i)return 1/0;if(p(n))return 1/0;var a=d(n),o=d([e,r]),s=Math.abs(a[0]-o[0]),l=Math.abs(a[1]-o[1]),c=Math.max(3,t.mrc||0);return Math.max(Math.sqrt(s*s+l*l)-c,1-3/c)}),t),!1!==t.index){var g=l[t.index],m=g.lonlat,v=[u.c2p(m),f.c2p(m)],y=g.mrc||1;t.x0=v[0]-y,t.x1=v[0]+y,t.y0=v[1]-y,t.y1=v[1]+y,t.loc=g.loc,t.lon=m[0],t.lat=m[1];var x={};x[c.geo]={_subplot:h};var b=c._module.formatLabels(g,c,x);return t.lonLabel=b.lonLabel,t.latLabel=b.latLabel,t.color=a(c,g),t.extraText=function(t,e,r,n){if(t.hovertemplate)return;var i=e.hi||t.hoverinfo,a="all"===i?s.hoverinfo.flags:i.split("+"),l=-1!==a.indexOf("location")&&Array.isArray(t.locations),c=-1!==a.indexOf("lon"),u=-1!==a.indexOf("lat"),f=-1!==a.indexOf("text"),h=[];function p(t){return t+"\xb0"}l?h.push(e.loc):c&&u?h.push("("+p(r.lonLabel)+", "+p(r.latLabel)+")"):c?h.push(n.lon+p(r.lonLabel)):u&&h.push(n.lat+p(r.latLabel));f&&o(e,t,h);return h.join("<br>")}(c,g,t,l[0].t.labels),t.hovertemplate=c.hovertemplate,[t]}}},{"../../components/fx":683,"../../constants/numerical":753,"../../lib":778,"../scatter/get_trace_color":1197,"./attributes":1229}],1235:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),colorbar:t("../scatter/marker_colorbar"),formatLabels:t("./format_labels"),calc:t("./calc"),calcGeoJSON:t("./plot").calcGeoJSON,plot:t("./plot").plot,style:t("./style"),styleOnSelect:t("../scatter/style").styleOnSelect,hoverPoints:t("./hover"),eventData:t("./event_data"),selectPoints:t("./select"),moduleType:"trace",name:"scattergeo",basePlotModule:t("../../plots/geo"),categories:["geo","symbols","showLegend","scatter-like"],meta:{}}},{"../../plots/geo":860,"../scatter/marker_colorbar":1205,"../scatter/style":1211,"./attributes":1229,"./calc":1230,"./defaults":1231,"./event_data":1232,"./format_labels":1233,"./hover":1234,"./plot":1236,"./select":1237,"./style":1238}],1236:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../lib"),a=t("../../lib/topojson_utils").getTopojsonFeatures,o=t("../../lib/geojson_utils"),s=t("../../lib/geo_location_utils"),l=t("../../plots/cartesian/autorange").findExtremes,c=t("../../constants/numerical").BADNUM,u=t("../scatter/calc").calcMarkerSize,f=t("../scatter/subtypes"),h=t("./style");e.exports={calcGeoJSON:function(t,e){var r,n,i=t[0].trace,o=e[i.geo],f=o._subplot,h=i._length;if(Array.isArray(i.locations)){var p=i.locationmode,d="geojson-id"===p?s.extractTraceFeature(t):a(i,f.topojson);for(r=0;r<h;r++){n=t[r];var g="geojson-id"===p?n.fOut:s.locationToFeature(p,n.loc,d);n.lonlat=g?g.properties.ct:[c,c]}}var m,v,y={padded:!0};if("geojson"===o.fitbounds&&"geojson-id"===i.locationmode){var x=s.computeBbox(s.getTraceGeojson(i));m=[x[0],x[2]],v=[x[1],x[3]]}else{for(m=new Array(h),v=new Array(h),r=0;r<h;r++)n=t[r],m[r]=n.lonlat[0],v[r]=n.lonlat[1];y.ppad=u(i,h)}i._extremes.lon=l(o.lonaxis._ax,m,y),i._extremes.lat=l(o.lataxis._ax,v,y)},plot:function(t,e,r){var a=e.layers.frontplot.select(".scatterlayer"),s=i.makeTraceGroups(a,r,"trace scattergeo");function l(t,e){t.lonlat[0]===c&&n.select(e).remove()}s.selectAll("*").remove(),s.each((function(e){var r=n.select(this),a=e[0].trace;if(f.hasLines(a)||"none"!==a.fill){var s=o.calcTraceToLineCoords(e),c="none"!==a.fill?o.makePolygon(s):o.makeLine(s);r.selectAll("path.js-line").data([{geojson:c,trace:a}]).enter().append("path").classed("js-line",!0).style("stroke-miterlimit",2)}f.hasMarkers(a)&&r.selectAll("path.point").data(i.identity).enter().append("path").classed("point",!0).each((function(t){l(t,this)})),f.hasText(a)&&r.selectAll("g").data(i.identity).enter().append("g").append("text").each((function(t){l(t,this)})),h(t,e)}))}}},{"../../constants/numerical":753,"../../lib":778,"../../lib/geo_location_utils":771,"../../lib/geojson_utils":772,"../../lib/topojson_utils":806,"../../plots/cartesian/autorange":827,"../scatter/calc":1188,"../scatter/subtypes":1212,"./style":1238,d3:169}],1237:[function(t,e,r){"use strict";var n=t("../scatter/subtypes"),i=t("../../constants/numerical").BADNUM;e.exports=function(t,e){var r,a,o,s,l,c=t.cd,u=t.xaxis,f=t.yaxis,h=[],p=c[0].trace;if(!n.hasMarkers(p)&&!n.hasText(p))return[];if(!1===e)for(l=0;l<c.length;l++)c[l].selected=0;else for(l=0;l<c.length;l++)(a=(r=c[l]).lonlat)[0]!==i&&(o=u.c2p(a),s=f.c2p(a),e.contains([o,s],null,l,t)?(h.push({pointNumber:l,lon:a[0],lat:a[1]}),r.selected=1):r.selected=0);return h}},{"../../constants/numerical":753,"../scatter/subtypes":1212}],1238:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../components/drawing"),a=t("../../components/color"),o=t("../scatter/style"),s=o.stylePoints,l=o.styleText;e.exports=function(t,e){e&&function(t,e){var r=e[0].trace,o=e[0].node3;o.style("opacity",e[0].trace.opacity),s(o,r,t),l(o,r,t),o.selectAll("path.js-line").style("fill","none").each((function(t){var e=n.select(this),r=t.trace,o=r.line||{};e.call(a.stroke,o.color).call(i.dashLine,o.dash||"",o.width||0),"none"!==r.fill&&e.call(a.fill,r.fillcolor)}))}(t,e)}},{"../../components/color":643,"../../components/drawing":665,"../scatter/style":1211,d3:169}],1239:[function(t,e,r){"use strict";var n=t("../../plots/attributes"),i=t("../scatter/attributes"),a=t("../../components/colorscale/attributes"),o=t("../../lib/extend").extendFlat,s=t("../../plot_api/edit_types").overrideAll,l=t("./constants").DASHES,c=i.line,u=i.marker,f=u.line,h=e.exports=s({x:i.x,x0:i.x0,dx:i.dx,y:i.y,y0:i.y0,dy:i.dy,xperiod:i.xperiod,yperiod:i.yperiod,xperiod0:i.xperiod0,yperiod0:i.yperiod0,xperiodalignment:i.xperiodalignment,yperiodalignment:i.yperiodalignment,text:i.text,hovertext:i.hovertext,textposition:i.textposition,textfont:i.textfont,mode:{valType:"flaglist",flags:["lines","markers","text"],extras:["none"]},line:{color:c.color,width:c.width,shape:{valType:"enumerated",values:["linear","hv","vh","hvh","vhv"],dflt:"linear",editType:"plot"},dash:{valType:"enumerated",values:Object.keys(l),dflt:"solid"}},marker:o({},a("marker"),{symbol:u.symbol,size:u.size,sizeref:u.sizeref,sizemin:u.sizemin,sizemode:u.sizemode,opacity:u.opacity,colorbar:u.colorbar,line:o({},a("marker.line"),{width:f.width})}),connectgaps:i.connectgaps,fill:o({},i.fill,{dflt:"none"}),fillcolor:i.fillcolor,selected:{marker:i.selected.marker,textfont:i.selected.textfont},unselected:{marker:i.unselected.marker,textfont:i.unselected.textfont},opacity:n.opacity},"calc","nested");h.x.editType=h.y.editType=h.x0.editType=h.y0.editType="calc+clearAxisTypes",h.hovertemplate=i.hovertemplate,h.texttemplate=i.texttemplate},{"../../components/colorscale/attributes":650,"../../lib/extend":768,"../../plot_api/edit_types":810,"../../plots/attributes":824,"../scatter/attributes":1187,"./constants":1241}],1240:[function(t,e,r){"use strict";var n=t("@plotly/point-cluster"),i=t("../../lib"),a=t("../../plots/cartesian/axis_ids"),o=t("../../plots/cartesian/autorange").findExtremes,s=t("../../plots/cartesian/align_period"),l=t("../scatter/calc"),c=l.calcMarkerSize,u=l.calcAxisExpansion,f=l.setFirstScatter,h=t("../scatter/colorscale_calc"),p=t("./convert"),d=t("./scene_update"),g=t("../../constants/numerical").BADNUM,m=t("./constants").TOO_MANY_POINTS;function v(t,e,r){var n=t._extremes[e._id],i=o(e,r._bnds,{padded:!0});n.min=n.min.concat(i.min),n.max=n.max.concat(i.max)}e.exports=function(t,e){var r,o,l,y=t._fullLayout,x=a.getFromId(t,e.xaxis),b=a.getFromId(t,e.yaxis),_=y._plots[e.xaxis+e.yaxis],w=e._length,T=w>=m,k=2*w,M={},A=x.makeCalcdata(e,"x"),S=b.makeCalcdata(e,"y"),E=s(e,x,"x",A),C=s(e,b,"y",S);e._x=E,e._y=C,e.xperiodalignment&&(e._origX=A),e.yperiodalignment&&(e._origY=S);var L=new Array(k);for(r=0;r<w;r++)o=E[r],l=C[r],L[2*r]=o===g?NaN:o,L[2*r+1]=l===g?NaN:l;if("log"===x.type)for(r=0;r<k;r+=2)L[r]=x.c2l(L[r]);if("log"===b.type)for(r=1;r<k;r+=2)L[r]=b.c2l(L[r]);if(T&&"log"!==x.type&&"log"!==b.type)M.tree=n(L);else{var I=M.ids=new Array(w);for(r=0;r<w;r++)I[r]=r}h(t,e);var P,z=function(t,e,r,n,a,o){var s=p.style(t,r);s.marker&&(s.marker.positions=n);s.line&&n.length>1&&i.extendFlat(s.line,p.linePositions(t,r,n));if(s.errorX||s.errorY){var l=p.errorBarPositions(t,r,n,a,o);s.errorX&&i.extendFlat(s.errorX,l.x),s.errorY&&i.extendFlat(s.errorY,l.y)}s.text&&(i.extendFlat(s.text,{positions:n},p.textPosition(t,r,s.text,s.marker)),i.extendFlat(s.textSel,{positions:n},p.textPosition(t,r,s.text,s.markerSel)),i.extendFlat(s.textUnsel,{positions:n},p.textPosition(t,r,s.text,s.markerUnsel)));return s}(t,0,e,L,E,C),O=d(t,_);return f(y,e),T?z.marker&&(P=2*(z.marker.sizeAvg||Math.max(z.marker.size,3))):P=c(e,w),u(t,e,x,b,E,C,P),z.errorX&&v(e,x,z.errorX),z.errorY&&v(e,b,z.errorY),z.fill&&!O.fill2d&&(O.fill2d=!0),z.marker&&!O.scatter2d&&(O.scatter2d=!0),z.line&&!O.line2d&&(O.line2d=!0),!z.errorX&&!z.errorY||O.error2d||(O.error2d=!0),z.text&&!O.glText&&(O.glText=!0),z.marker&&(z.marker.snap=w),O.lineOptions.push(z.line),O.errorXOptions.push(z.errorX),O.errorYOptions.push(z.errorY),O.fillOptions.push(z.fill),O.markerOptions.push(z.marker),O.markerSelectedOptions.push(z.markerSel),O.markerUnselectedOptions.push(z.markerUnsel),O.textOptions.push(z.text),O.textSelectedOptions.push(z.textSel),O.textUnselectedOptions.push(z.textUnsel),O.selectBatch.push([]),O.unselectBatch.push([]),M._scene=O,M.index=O.count,M.x=E,M.y=C,M.positions=L,O.count++,[{x:!1,y:!1,t:M,trace:e}]}},{"../../constants/numerical":753,"../../lib":778,"../../plots/cartesian/align_period":825,"../../plots/cartesian/autorange":827,"../../plots/cartesian/axis_ids":831,"../scatter/calc":1188,"../scatter/colorscale_calc":1190,"./constants":1241,"./convert":1242,"./scene_update":1250,"@plotly/point-cluster":57}],1241:[function(t,e,r){"use strict";e.exports={TOO_MANY_POINTS:1e5,SYMBOL_SDF_SIZE:200,SYMBOL_SIZE:20,SYMBOL_STROKE:1,DOT_RE:/-dot/,OPEN_RE:/-open/,DASHES:{solid:[1],dot:[1,1],dash:[4,1],longdash:[8,1],dashdot:[4,1,1,1],longdashdot:[8,1,1,1]}}},{}],1242:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("svg-path-sdf"),a=t("color-normalize"),o=t("../../registry"),s=t("../../lib"),l=t("../../components/drawing"),c=t("../../plots/cartesian/axis_ids"),u=t("../../lib/gl_format_color").formatColor,f=t("../scatter/subtypes"),h=t("../scatter/make_bubble_size_func"),p=t("./helpers"),d=t("./constants"),g=t("../../constants/interactions").DESELECTDIM,m={start:1,left:1,end:-1,right:-1,middle:0,center:0,bottom:1,top:-1},v=t("../../components/fx/helpers").appendArrayPointValue;function y(t,e){var r,i=t._fullLayout,a=e._length,o=e.textfont,l=e.textposition,c=Array.isArray(l)?l:[l],u=o.color,f=o.size,h=o.family,p={},d=e.texttemplate;if(d){p.text=[];var g=i._d3locale,m=Array.isArray(d),y=m?Math.min(d.length,a):a,x=m?function(t){return d[t]}:function(){return d};for(r=0;r<y;r++){var b={i:r},_=e._module.formatLabels(b,e,i),w={};v(w,e,r);var T=e._meta||{};p.text.push(s.texttemplateString(x(r),_,g,w,b,T))}}else Array.isArray(e.text)&&e.text.length<a?p.text=e.text.slice():p.text=e.text;if(Array.isArray(p.text))for(r=p.text.length;r<a;r++)p.text[r]="";for(p.opacity=e.opacity,p.font={},p.align=[],p.baseline=[],r=0;r<c.length;r++){var k=c[r].split(/\s+/);switch(k[1]){case"left":p.align.push("right");break;case"right":p.align.push("left");break;default:p.align.push(k[1])}switch(k[0]){case"top":p.baseline.push("bottom");break;case"bottom":p.baseline.push("top");break;default:p.baseline.push(k[0])}}if(Array.isArray(u))for(p.color=new Array(a),r=0;r<a;r++)p.color[r]=u[r];else p.color=u;if(s.isArrayOrTypedArray(f)||Array.isArray(h))for(p.font=new Array(a),r=0;r<a;r++){var M=p.font[r]={};M.size=s.isTypedArray(f)?f[r]:Array.isArray(f)?n(f[r])?f[r]:0:f,M.family=Array.isArray(h)?h[r]:h}else p.font={size:f,family:h};return p}function x(t){var e,r,n=t._length,i=t.marker,o={},l=s.isArrayOrTypedArray(i.symbol),c=s.isArrayOrTypedArray(i.color),f=s.isArrayOrTypedArray(i.line.color),d=s.isArrayOrTypedArray(i.opacity),g=s.isArrayOrTypedArray(i.size),m=s.isArrayOrTypedArray(i.line.width);if(l||(r=p.isOpenSymbol(i.symbol)),l||c||f||d){o.colors=new Array(n),o.borderColors=new Array(n);var v=u(i,i.opacity,n),y=u(i.line,i.opacity,n);if(!Array.isArray(y[0])){var x=y;for(y=Array(n),e=0;e<n;e++)y[e]=x}if(!Array.isArray(v[0])){var b=v;for(v=Array(n),e=0;e<n;e++)v[e]=b}for(o.colors=v,o.borderColors=y,e=0;e<n;e++){if(l){var _=i.symbol[e];r=p.isOpenSymbol(_)}r&&(y[e]=v[e].slice(),v[e]=v[e].slice(),v[e][3]=0)}o.opacity=t.opacity}else r?(o.color=a(i.color,"uint8"),o.color[3]=0,o.borderColor=a(i.color,"uint8")):(o.color=a(i.color,"uint8"),o.borderColor=a(i.line.color,"uint8")),o.opacity=t.opacity*i.opacity;if(l)for(o.markers=new Array(n),e=0;e<n;e++)o.markers[e]=E(i.symbol[e]);else o.marker=E(i.symbol);var w,T=h(t);if(g||m){var k,M=o.sizes=new Array(n),A=o.borderSizes=new Array(n),S=0;if(g){for(e=0;e<n;e++)M[e]=T(i.size[e]),S+=M[e];k=S/n}else for(w=T(i.size),e=0;e<n;e++)M[e]=w;if(m)for(e=0;e<n;e++)A[e]=i.line.width[e]/2;else for(w=i.line.width/2,e=0;e<n;e++)A[e]=w;o.sizeAvg=k}else o.size=T(i&&i.size||10),o.borderSizes=T(i.line.width);return o}function b(t,e){var r=t.marker,n={};return e?(e.marker&&e.marker.symbol?n=x(s.extendFlat({},r,e.marker)):e.marker&&(e.marker.size&&(n.size=e.marker.size/2),e.marker.color&&(n.colors=e.marker.color),void 0!==e.marker.opacity&&(n.opacity=e.marker.opacity)),n):n}function _(t,e,r){var n={};if(!r)return n;if(r.textfont){var i={opacity:1,text:e.text,texttemplate:e.texttemplate,textposition:e.textposition,textfont:s.extendFlat({},e.textfont)};r.textfont&&s.extendFlat(i.textfont,r.textfont),n=y(t,i)}return n}function w(t,e){var r={capSize:2*e.width,lineWidth:e.thickness,color:e.color};return e.copy_ystyle&&(r=t.error_y),r}var T=d.SYMBOL_SDF_SIZE,k=d.SYMBOL_SIZE,M=d.SYMBOL_STROKE,A={},S=l.symbolFuncs[0](.05*k);function E(t){if("circle"===t)return null;var e,r,n=l.symbolNumber(t),a=l.symbolFuncs[n%100],o=!!l.symbolNoDot[n%100],s=!!l.symbolNoFill[n%100],c=p.isDotSymbol(t);return A[t]?A[t]:(e=c&&!o?a(1.1*k)+S:a(k),r=i(e,{w:T,h:T,viewBox:[-k,-k,k,k],stroke:s?M:-M}),A[t]=r,r||null)}e.exports={style:function(t,e){var r,n={marker:void 0,markerSel:void 0,markerUnsel:void 0,line:void 0,fill:void 0,errorX:void 0,errorY:void 0,text:void 0,textSel:void 0,textUnsel:void 0};if(!0!==e.visible)return n;if(f.hasText(e)&&(n.text=y(t,e),n.textSel=_(t,e,e.selected),n.textUnsel=_(t,e,e.unselected)),f.hasMarkers(e)&&(n.marker=x(e),n.markerSel=b(e,e.selected),n.markerUnsel=b(e,e.unselected),!e.unselected&&s.isArrayOrTypedArray(e.marker.opacity))){var i=e.marker.opacity;for(n.markerUnsel.opacity=new Array(i.length),r=0;r<i.length;r++)n.markerUnsel.opacity[r]=g*i[r]}if(f.hasLines(e)){n.line={overlay:!0,thickness:e.line.width,color:e.line.color,opacity:e.opacity};var a=(d.DASHES[e.line.dash]||[1]).slice();for(r=0;r<a.length;++r)a[r]*=e.line.width;n.line.dashes=a}return e.error_x&&e.error_x.visible&&(n.errorX=w(e,e.error_x)),e.error_y&&e.error_y.visible&&(n.errorY=w(e,e.error_y)),e.fill&&"none"!==e.fill&&(n.fill={closed:!0,fill:e.fillcolor,thickness:0}),n},markerStyle:x,markerSelection:b,linePositions:function(t,e,r){var n,i,a=r.length,o=a/2;if(f.hasLines(e)&&o)if("hv"===e.line.shape){for(n=[],i=0;i<o-1;i++)isNaN(r[2*i])||isNaN(r[2*i+1])?n.push(NaN,NaN,NaN,NaN):(n.push(r[2*i],r[2*i+1]),isNaN(r[2*i+2])||isNaN(r[2*i+3])?n.push(NaN,NaN):n.push(r[2*i+2],r[2*i+1]));n.push(r[a-2],r[a-1])}else if("hvh"===e.line.shape){for(n=[],i=0;i<o-1;i++)if(isNaN(r[2*i])||isNaN(r[2*i+1])||isNaN(r[2*i+2])||isNaN(r[2*i+3]))isNaN(r[2*i])||isNaN(r[2*i+1])?n.push(NaN,NaN):n.push(r[2*i],r[2*i+1]),n.push(NaN,NaN);else{var s=(r[2*i]+r[2*i+2])/2;n.push(r[2*i],r[2*i+1],s,r[2*i+1],s,r[2*i+3])}n.push(r[a-2],r[a-1])}else if("vhv"===e.line.shape){for(n=[],i=0;i<o-1;i++)if(isNaN(r[2*i])||isNaN(r[2*i+1])||isNaN(r[2*i+2])||isNaN(r[2*i+3]))isNaN(r[2*i])||isNaN(r[2*i+1])?n.push(NaN,NaN):n.push(r[2*i],r[2*i+1]),n.push(NaN,NaN);else{var l=(r[2*i+1]+r[2*i+3])/2;n.push(r[2*i],r[2*i+1],r[2*i],l,r[2*i+2],l)}n.push(r[a-2],r[a-1])}else if("vh"===e.line.shape){for(n=[],i=0;i<o-1;i++)isNaN(r[2*i])||isNaN(r[2*i+1])?n.push(NaN,NaN,NaN,NaN):(n.push(r[2*i],r[2*i+1]),isNaN(r[2*i+2])||isNaN(r[2*i+3])?n.push(NaN,NaN):n.push(r[2*i],r[2*i+3]));n.push(r[a-2],r[a-1])}else n=r;var c=!1;for(i=0;i<n.length;i++)if(isNaN(n[i])){c=!0;break}var u=c||n.length>d.TOO_MANY_POINTS||f.hasMarkers(e)?"rect":"round";if(c&&e.connectgaps){var h=n[0],p=n[1];for(i=0;i<n.length;i+=2)isNaN(n[i])||isNaN(n[i+1])?(n[i]=h,n[i+1]=p):(h=n[i],p=n[i+1])}return{join:u,positions:n}},errorBarPositions:function(t,e,r,i,a){var s=o.getComponentMethod("errorbars","makeComputeError"),l=c.getFromId(t,e.xaxis),u=c.getFromId(t,e.yaxis),f=r.length/2,h={};function p(t,i){var a=i._id.charAt(0),o=e["error_"+a];if(o&&o.visible&&("linear"===i.type||"log"===i.type)){for(var l=s(o),c={x:0,y:1}[a],u={x:[0,1,2,3],y:[2,3,0,1]}[a],p=new Float64Array(4*f),d=1/0,g=-1/0,m=0,v=0;m<f;m++,v+=4){var y=t[m];if(n(y)){var x=r[2*m+c],b=l(y,m),_=b[0],w=b[1];if(n(_)&&n(w)){var T=y-_,k=y+w;p[v+u[0]]=x-i.c2l(T),p[v+u[1]]=i.c2l(k)-x,p[v+u[2]]=0,p[v+u[3]]=0,d=Math.min(d,y-_),g=Math.max(g,y+w)}}}h[a]={positions:r,errors:p,_bnds:[d,g]}}}return p(i,l),p(a,u),h},textPosition:function(t,e,r,n){var i,a=e._length,o={};if(f.hasMarkers(e)){var s=r.font,l=r.align,c=r.baseline;for(o.offset=new Array(a),i=0;i<a;i++){var u=n.sizes?n.sizes[i]:n.size,h=Array.isArray(s)?s[i].size:s.size,p=Array.isArray(l)?l.length>1?l[i]:l[0]:l,d=Array.isArray(c)?c.length>1?c[i]:c[0]:c,g=m[p],v=m[d],y=u?u/.8+1:0,x=-v*y-.5*v;o.offset[i]=[g*y/h,x/h]}}return o}}},{"../../components/drawing":665,"../../components/fx/helpers":679,"../../constants/interactions":752,"../../lib":778,"../../lib/gl_format_color":774,"../../plots/cartesian/axis_ids":831,"../../registry":911,"../scatter/make_bubble_size_func":1204,"../scatter/subtypes":1212,"./constants":1241,"./helpers":1246,"color-normalize":125,"fast-isnumeric":241,"svg-path-sdf":574}],1243:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../registry"),a=t("./helpers"),o=t("./attributes"),s=t("../scatter/constants"),l=t("../scatter/subtypes"),c=t("../scatter/xy_defaults"),u=t("../scatter/period_defaults"),f=t("../scatter/marker_defaults"),h=t("../scatter/line_defaults"),p=t("../scatter/fillcolor_defaults"),d=t("../scatter/text_defaults");e.exports=function(t,e,r,g){function m(r,i){return n.coerce(t,e,o,r,i)}var v=!!t.marker&&a.isOpenSymbol(t.marker.symbol),y=l.isBubble(t),x=c(t,e,g,m);if(x){u(t,e,g,m);var b=x<s.PTS_LINESONLY?"lines+markers":"lines";m("text"),m("hovertext"),m("hovertemplate"),m("mode",b),l.hasLines(e)&&(m("connectgaps"),h(t,e,r,g,m),m("line.shape")),l.hasMarkers(e)&&(f(t,e,r,g,m),m("marker.line.width",v||y?1:0)),l.hasText(e)&&(m("texttemplate"),d(t,e,g,m));var _=(e.line||{}).color,w=(e.marker||{}).color;m("fill"),"none"!==e.fill&&p(t,e,r,m);var T=i.getComponentMethod("errorbars","supplyDefaults");T(t,e,_||w||r,{axis:"y"}),T(t,e,_||w||r,{axis:"x",inherit:"y"}),n.coerceSelectionMarkerOpacity(e,m)}else e.visible=!1}},{"../../lib":778,"../../registry":911,"../scatter/constants":1191,"../scatter/fillcolor_defaults":1195,"../scatter/line_defaults":1200,"../scatter/marker_defaults":1206,"../scatter/period_defaults":1207,"../scatter/subtypes":1212,"../scatter/text_defaults":1213,"../scatter/xy_defaults":1214,"./attributes":1239,"./helpers":1246}],1244:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../components/color"),a=t("../../constants/interactions").DESELECTDIM;e.exports={styleTextSelection:function(t){var e,r,o=t[0],s=o.trace,l=o.t,c=l._scene,u=l.index,f=c.selectBatch[u],h=c.unselectBatch[u],p=c.textOptions[u],d=c.textSelectedOptions[u]||{},g=c.textUnselectedOptions[u]||{},m=n.extendFlat({},p);if(f.length||h.length){var v=d.color,y=g.color,x=p.color,b=Array.isArray(x);for(m.color=new Array(s._length),e=0;e<f.length;e++)r=f[e],m.color[r]=v||(b?x[r]:x);for(e=0;e<h.length;e++){r=h[e];var _=b?x[r]:x;m.color[r]=y||(v?_:i.addOpacity(_,a))}}c.glText[u].update(m)}}},{"../../components/color":643,"../../constants/interactions":752,"../../lib":778}],1245:[function(t,e,r){"use strict";var n=t("../scatter/format_labels");e.exports=function(t,e,r){var i=t.i;return"x"in t||(t.x=e._x[i]),"y"in t||(t.y=e._y[i]),n(t,e,r)}},{"../scatter/format_labels":1196}],1246:[function(t,e,r){"use strict";var n=t("./constants");r.isOpenSymbol=function(t){return"string"==typeof t?n.OPEN_RE.test(t):t%200>100},r.isDotSymbol=function(t){return"string"==typeof t?n.DOT_RE.test(t):t>200}},{"./constants":1241}],1247:[function(t,e,r){"use strict";var n=t("../../registry"),i=t("../../lib"),a=t("../scatter/get_trace_color");function o(t,e,r,o){var s=t.xa,l=t.ya,c=t.distance,u=t.dxy,f=t.index,h={pointNumber:f,x:e[f],y:r[f]};h.tx=Array.isArray(o.text)?o.text[f]:o.text,h.htx=Array.isArray(o.hovertext)?o.hovertext[f]:o.hovertext,h.data=Array.isArray(o.customdata)?o.customdata[f]:o.customdata,h.tp=Array.isArray(o.textposition)?o.textposition[f]:o.textposition;var p=o.textfont;p&&(h.ts=i.isArrayOrTypedArray(p.size)?p.size[f]:p.size,h.tc=Array.isArray(p.color)?p.color[f]:p.color,h.tf=Array.isArray(p.family)?p.family[f]:p.family);var d=o.marker;d&&(h.ms=i.isArrayOrTypedArray(d.size)?d.size[f]:d.size,h.mo=i.isArrayOrTypedArray(d.opacity)?d.opacity[f]:d.opacity,h.mx=i.isArrayOrTypedArray(d.symbol)?d.symbol[f]:d.symbol,h.mc=i.isArrayOrTypedArray(d.color)?d.color[f]:d.color);var g=d&&d.line;g&&(h.mlc=Array.isArray(g.color)?g.color[f]:g.color,h.mlw=i.isArrayOrTypedArray(g.width)?g.width[f]:g.width);var m=d&&d.gradient;m&&"none"!==m.type&&(h.mgt=Array.isArray(m.type)?m.type[f]:m.type,h.mgc=Array.isArray(m.color)?m.color[f]:m.color);var v=s.c2p(h.x,!0),y=l.c2p(h.y,!0),x=h.mrc||1,b=o.hoverlabel;b&&(h.hbg=Array.isArray(b.bgcolor)?b.bgcolor[f]:b.bgcolor,h.hbc=Array.isArray(b.bordercolor)?b.bordercolor[f]:b.bordercolor,h.hts=i.isArrayOrTypedArray(b.font.size)?b.font.size[f]:b.font.size,h.htc=Array.isArray(b.font.color)?b.font.color[f]:b.font.color,h.htf=Array.isArray(b.font.family)?b.font.family[f]:b.font.family,h.hnl=i.isArrayOrTypedArray(b.namelength)?b.namelength[f]:b.namelength);var _=o.hoverinfo;_&&(h.hi=Array.isArray(_)?_[f]:_);var w=o.hovertemplate;w&&(h.ht=Array.isArray(w)?w[f]:w);var T={};T[t.index]=h;var k=o._origX,M=o._origY,A=i.extendFlat({},t,{color:a(o,h),x0:v-x,x1:v+x,xLabelVal:k?k[f]:h.x,y0:y-x,y1:y+x,yLabelVal:M?M[f]:h.y,cd:T,distance:c,spikeDistance:u,hovertemplate:h.ht});return h.htx?A.text=h.htx:h.tx?A.text=h.tx:o.text&&(A.text=o.text),i.fillText(h,o,A),n.getComponentMethod("errorbars","hoverInfo")(h,o,A),A}e.exports={hoverPoints:function(t,e,r,n){var i,a,s,l,c,u,f,h,p,d=t.cd,g=d[0].t,m=d[0].trace,v=t.xa,y=t.ya,x=g.x,b=g.y,_=v.c2p(e),w=y.c2p(r),T=t.distance;if(g.tree){var k=v.p2c(_-T),M=v.p2c(_+T),A=y.p2c(w-T),S=y.p2c(w+T);i="x"===n?g.tree.range(Math.min(k,M),Math.min(y._rl[0],y._rl[1]),Math.max(k,M),Math.max(y._rl[0],y._rl[1])):g.tree.range(Math.min(k,M),Math.min(A,S),Math.max(k,M),Math.max(A,S))}else i=g.ids;var E=T;if("x"===n)for(c=0;c<i.length;c++)s=x[i[c]],(u=Math.abs(v.c2p(s)-_))<E&&(E=u,f=y.c2p(b[i[c]])-w,p=Math.sqrt(u*u+f*f),a=i[c]);else for(c=i.length-1;c>-1;c--)s=x[i[c]],l=b[i[c]],u=v.c2p(s)-_,f=y.c2p(l)-w,(h=Math.sqrt(u*u+f*f))<E&&(E=p=h,a=i[c]);return t.index=a,t.distance=E,t.dxy=p,void 0===a?[t]:[o(t,x,b,m)]},calcHover:o}},{"../../lib":778,"../../registry":911,"../scatter/get_trace_color":1197}],1248:[function(t,e,r){"use strict";var n=t("./hover");e.exports={moduleType:"trace",name:"scattergl",basePlotModule:t("../../plots/cartesian"),categories:["gl","regl","cartesian","symbols","errorBarsOK","showLegend","scatter-like"],attributes:t("./attributes"),supplyDefaults:t("./defaults"),crossTraceDefaults:t("../scatter/cross_trace_defaults"),colorbar:t("../scatter/marker_colorbar"),formatLabels:t("./format_labels"),calc:t("./calc"),plot:t("./plot"),hoverPoints:n.hoverPoints,selectPoints:t("./select"),meta:{}}},{"../../plots/cartesian":841,"../scatter/cross_trace_defaults":1193,"../scatter/marker_colorbar":1205,"./attributes":1239,"./calc":1240,"./defaults":1243,"./format_labels":1245,"./hover":1247,"./plot":1249,"./select":1251}],1249:[function(t,e,r){"use strict";var n=t("regl-scatter2d"),i=t("regl-line2d"),a=t("regl-error2d"),o=t("gl-text"),s=t("../../lib"),l=t("../../components/dragelement/helpers").selectMode,c=t("../../lib/prepare_regl"),u=t("../scatter/subtypes"),f=t("../scatter/link_traces"),h=t("./edit_style").styleTextSelection;function p(t,e,r){var n=t._size,i=t.width,a=t.height;return[n.l+e.domain[0]*n.w,n.b+r.domain[0]*n.h,i-n.r-(1-e.domain[1])*n.w,a-n.t-(1-r.domain[1])*n.h]}e.exports=function(t,e,r){if(r.length){var d,g,m=t._fullLayout,v=e._scene,y=e.xaxis,x=e.yaxis;if(v)if(c(t,["ANGLE_instanced_arrays","OES_element_index_uint"])){var b=v.count,_=m._glcanvas.data()[0].regl;if(f(t,e,r),v.dirty){if(!0===v.error2d&&(v.error2d=a(_)),!0===v.line2d&&(v.line2d=i(_)),!0===v.scatter2d&&(v.scatter2d=n(_,{constPointSize:!0})),!0===v.fill2d&&(v.fill2d=i(_)),!0===v.glText)for(v.glText=new Array(b),d=0;d<b;d++)v.glText[d]=new o(_);if(v.glText){if(b>v.glText.length){var w=b-v.glText.length;for(d=0;d<w;d++)v.glText.push(new o(_))}else if(b<v.glText.length){var T=v.glText.length-b;v.glText.splice(b,T).forEach((function(t){t.destroy()}))}for(d=0;d<b;d++)v.glText[d].update(v.textOptions[d])}if(v.line2d&&(v.line2d.update(v.lineOptions),v.lineOptions=v.lineOptions.map((function(t){if(t&&t.positions){for(var e=t.positions,r=0;r<e.length&&(isNaN(e[r])||isNaN(e[r+1]));)r+=2;for(var n=e.length-2;n>r&&(isNaN(e[n])||isNaN(e[n+1]));)n-=2;t.positions=e.slice(r,n+2)}return t})),v.line2d.update(v.lineOptions)),v.error2d){var k=(v.errorXOptions||[]).concat(v.errorYOptions||[]);v.error2d.update(k)}v.scatter2d&&v.scatter2d.update(v.markerOptions),v.fillOrder=s.repeat(null,b),v.fill2d&&(v.fillOptions=v.fillOptions.map((function(t,e){var n=r[e];if(t&&n&&n[0]&&n[0].trace){var i,a,o=n[0],s=o.trace,l=o.t,c=v.lineOptions[e],u=[];s._ownfill&&u.push(e),s._nexttrace&&u.push(e+1),u.length&&(v.fillOrder[e]=u);var f,h,p=[],d=c&&c.positions||l.positions;if("tozeroy"===s.fill){for(f=0;f<d.length&&isNaN(d[f+1]);)f+=2;for(h=d.length-2;h>f&&isNaN(d[h+1]);)h-=2;0!==d[f+1]&&(p=[d[f],0]),p=p.concat(d.slice(f,h+2)),0!==d[h+1]&&(p=p.concat([d[h],0]))}else if("tozerox"===s.fill){for(f=0;f<d.length&&isNaN(d[f]);)f+=2;for(h=d.length-2;h>f&&isNaN(d[h]);)h-=2;0!==d[f]&&(p=[0,d[f+1]]),p=p.concat(d.slice(f,h+2)),0!==d[h]&&(p=p.concat([0,d[h+1]]))}else if("toself"===s.fill||"tonext"===s.fill){for(p=[],i=0,a=0;a<d.length;a+=2)(isNaN(d[a])||isNaN(d[a+1]))&&((p=p.concat(d.slice(i,a))).push(d[i],d[i+1]),i=a+2);p=p.concat(d.slice(i)),i&&p.push(d[i],d[i+1])}else{var g=s._nexttrace;if(g){var m=v.lineOptions[e+1];if(m){var y=m.positions;if("tonexty"===s.fill){for(p=d.slice(),e=Math.floor(y.length/2);e--;){var x=y[2*e],b=y[2*e+1];isNaN(x)||isNaN(b)||p.push(x,b)}t.fill=g.fillcolor}}}}if(s._prevtrace&&"tonext"===s._prevtrace.fill){var _=v.lineOptions[e-1].positions,w=p.length/2,T=[i=w];for(a=0;a<_.length;a+=2)(isNaN(_[a])||isNaN(_[a+1]))&&(T.push(a/2+w+1),i=a+2);p=p.concat(_),t.hole=T}return t.fillmode=s.fill,t.opacity=s.opacity,t.positions=p,t}})),v.fill2d.update(v.fillOptions))}var M=m.dragmode,A=l(M),S=m.clickmode.indexOf("select")>-1;for(d=0;d<b;d++){var E=r[d][0],C=E.trace,L=E.t,I=L.index,P=C._length,z=L.x,O=L.y;if(C.selectedpoints||A||S){if(A||(A=!0),C.selectedpoints){var D=v.selectBatch[I]=s.selIndices2selPoints(C),R={};for(g=0;g<D.length;g++)R[D[g]]=1;var F=[];for(g=0;g<P;g++)R[g]||F.push(g);v.unselectBatch[I]=F}var B=L.xpx=new Array(P),N=L.ypx=new Array(P);for(g=0;g<P;g++)B[g]=y.c2p(z[g]),N[g]=x.c2p(O[g])}else L.xpx=L.ypx=null}if(A){if(v.select2d||(v.select2d=n(m._glcanvas.data()[1].regl)),v.scatter2d){var j=new Array(b);for(d=0;d<b;d++)j[d]=v.selectBatch[d].length||v.unselectBatch[d].length?v.markerUnselectedOptions[d]:{};v.scatter2d.update(j)}v.select2d&&(v.select2d.update(v.markerOptions),v.select2d.update(v.markerSelectedOptions)),v.glText&&r.forEach((function(t){var e=((t||[])[0]||{}).trace||{};u.hasText(e)&&h(t)}))}else v.scatter2d&&v.scatter2d.update(v.markerOptions);var U={viewport:p(m,y,x),range:[(y._rl||y.range)[0],(x._rl||x.range)[0],(y._rl||y.range)[1],(x._rl||x.range)[1]]},V=s.repeat(U,v.count);v.fill2d&&v.fill2d.update(V),v.line2d&&v.line2d.update(V),v.error2d&&v.error2d.update(V.concat(V)),v.scatter2d&&v.scatter2d.update(V),v.select2d&&v.select2d.update(V),v.glText&&v.glText.forEach((function(t){t.update(U)}))}else v.init()}}},{"../../components/dragelement/helpers":661,"../../lib":778,"../../lib/prepare_regl":791,"../scatter/link_traces":1203,"../scatter/subtypes":1212,"./edit_style":1244,"gl-text":352,"regl-error2d":534,"regl-line2d":535,"regl-scatter2d":537}],1250:[function(t,e,r){"use strict";var n=t("../../lib");e.exports=function(t,e){var r=e._scene,i={count:0,dirty:!0,lineOptions:[],fillOptions:[],markerOptions:[],markerSelectedOptions:[],markerUnselectedOptions:[],errorXOptions:[],errorYOptions:[],textOptions:[],textSelectedOptions:[],textUnselectedOptions:[],selectBatch:[],unselectBatch:[]},a={fill2d:!1,scatter2d:!1,error2d:!1,line2d:!1,glText:!1,select2d:!1};return e._scene||((r=e._scene={}).init=function(){n.extendFlat(r,a,i)},r.init(),r.update=function(t){var e=n.repeat(t,r.count);if(r.fill2d&&r.fill2d.update(e),r.scatter2d&&r.scatter2d.update(e),r.line2d&&r.line2d.update(e),r.error2d&&r.error2d.update(e.concat(e)),r.select2d&&r.select2d.update(e),r.glText)for(var i=0;i<r.count;i++)r.glText[i].update(t)},r.draw=function(){for(var t=r.count,e=r.fill2d,i=r.error2d,a=r.line2d,o=r.scatter2d,s=r.glText,l=r.select2d,c=r.selectBatch,u=r.unselectBatch,f=0;f<t;f++){if(e&&r.fillOrder[f]&&e.draw(r.fillOrder[f]),a&&r.lineOptions[f]&&a.draw(f),i&&(r.errorXOptions[f]&&i.draw(f),r.errorYOptions[f]&&i.draw(f+t)),o&&r.markerOptions[f])if(u[f].length){var h=n.repeat([],r.count);h[f]=u[f],o.draw(h)}else c[f].length||o.draw(f);s[f]&&r.textOptions[f]&&s[f].render()}l&&l.draw(c),r.dirty=!1},r.destroy=function(){r.fill2d&&r.fill2d.destroy&&r.fill2d.destroy(),r.scatter2d&&r.scatter2d.destroy&&r.scatter2d.destroy(),r.error2d&&r.error2d.destroy&&r.error2d.destroy(),r.line2d&&r.line2d.destroy&&r.line2d.destroy(),r.select2d&&r.select2d.destroy&&r.select2d.destroy(),r.glText&&r.glText.forEach((function(t){t.destroy&&t.destroy()})),r.lineOptions=null,r.fillOptions=null,r.markerOptions=null,r.markerSelectedOptions=null,r.markerUnselectedOptions=null,r.errorXOptions=null,r.errorYOptions=null,r.textOptions=null,r.textSelectedOptions=null,r.textUnselectedOptions=null,r.selectBatch=null,r.unselectBatch=null,e._scene=null}),r.dirty||n.extendFlat(r,i),r}},{"../../lib":778}],1251:[function(t,e,r){"use strict";var n=t("../scatter/subtypes"),i=t("./edit_style").styleTextSelection;e.exports=function(t,e){var r=t.cd,a=[],o=r[0].trace,s=r[0].t,l=o._length,c=s.x,u=s.y,f=s._scene,h=s.index;if(!f)return a;var p=n.hasText(o),d=n.hasMarkers(o),g=!d&&!p;if(!0!==o.visible||g)return a;var m=[],v=[];if(!1!==e&&!e.degenerate)for(var y=0;y<l;y++)e.contains([s.xpx[y],s.ypx[y]],!1,y,t)?(m.push(y),a.push({pointNumber:y,x:c[y],y:u[y]})):v.push(y);if(d){var x=f.scatter2d;if(m.length||v.length){if(!f.selectBatch[h].length&&!f.unselectBatch[h].length){var b=new Array(f.count);b[h]=f.markerUnselectedOptions[h],x.update.apply(x,b)}}else{var _=new Array(f.count);_[h]=f.markerOptions[h],x.update.apply(x,_)}}return f.selectBatch[h]=m,f.unselectBatch[h]=v,p&&i(r),a}},{"../scatter/subtypes":1212,"./edit_style":1244}],1252:[function(t,e,r){"use strict";var n=t("../../plots/template_attributes").hovertemplateAttrs,i=t("../../plots/template_attributes").texttemplateAttrs,a=t("../scattergeo/attributes"),o=t("../scatter/attributes"),s=t("../../plots/mapbox/layout_attributes"),l=t("../../plots/attributes"),c=t("../../components/colorscale/attributes"),u=t("../../lib/extend").extendFlat,f=t("../../plot_api/edit_types").overrideAll,h=a.line,p=a.marker;e.exports=f({lon:a.lon,lat:a.lat,mode:u({},o.mode,{dflt:"markers"}),text:u({},o.text,{}),texttemplate:i({editType:"plot"},{keys:["lat","lon","text"]}),hovertext:u({},o.hovertext,{}),line:{color:h.color,width:h.width},connectgaps:o.connectgaps,marker:u({symbol:{valType:"string",dflt:"circle",arrayOk:!0},angle:{valType:"number",dflt:"auto",arrayOk:!0},allowoverlap:{valType:"boolean",dflt:!1},opacity:p.opacity,size:p.size,sizeref:p.sizeref,sizemin:p.sizemin,sizemode:p.sizemode},c("marker")),fill:a.fill,fillcolor:o.fillcolor,textfont:s.layers.symbol.textfont,textposition:s.layers.symbol.textposition,below:{valType:"string"},selected:{marker:o.selected.marker},unselected:{marker:o.unselected.marker},hoverinfo:u({},l.hoverinfo,{flags:["lon","lat","text","name"]}),hovertemplate:n()},"calc","nested")},{"../../components/colorscale/attributes":650,"../../lib/extend":768,"../../plot_api/edit_types":810,"../../plots/attributes":824,"../../plots/mapbox/layout_attributes":887,"../../plots/template_attributes":906,"../scatter/attributes":1187,"../scattergeo/attributes":1229}],1253:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../lib"),a=t("../../constants/numerical").BADNUM,o=t("../../lib/geojson_utils"),s=t("../../components/colorscale"),l=t("../../components/drawing"),c=t("../scatter/make_bubble_size_func"),u=t("../scatter/subtypes"),f=t("../../plots/mapbox/convert_text_opts"),h=t("../../components/fx/helpers").appendArrayPointValue,p=t("../../lib/svg_text_utils").NEWLINES,d=t("../../lib/svg_text_utils").BR_TAG_ALL;function g(){return{geojson:o.makeBlank(),layout:{visibility:"none"},paint:{}}}function m(t,e){return i.isArrayOrTypedArray(t)?e?function(e){return n(t[e])?+t[e]:0}:function(e){return t[e]}:t?function(){return t}:v}function v(){return""}function y(t){return t[0]===a}e.exports=function(t,e){var r,a=e[0].trace,x=!0===a.visible&&0!==a._length,b="none"!==a.fill,_=u.hasLines(a),w=u.hasMarkers(a),T=u.hasText(a),k=w&&"circle"===a.marker.symbol,M=w&&"circle"!==a.marker.symbol,A=g(),S=g(),E=g(),C=g(),L={fill:A,line:S,circle:E,symbol:C};if(!x)return L;if((b||_)&&(r=o.calcTraceToLineCoords(e)),b&&(A.geojson=o.makePolygon(r),A.layout.visibility="visible",i.extendFlat(A.paint,{"fill-color":a.fillcolor})),_&&(S.geojson=o.makeLine(r),S.layout.visibility="visible",i.extendFlat(S.paint,{"line-width":a.line.width,"line-color":a.line.color,"line-opacity":a.opacity})),k){var I=function(t){var e,r,a,o,u=t[0].trace,f=u.marker,h=u.selectedpoints,p=i.isArrayOrTypedArray(f.color),d=i.isArrayOrTypedArray(f.size),g=i.isArrayOrTypedArray(f.opacity);function m(t){return u.opacity*t}p&&(r=s.hasColorscale(u,"marker")?s.makeColorScaleFuncFromTrace(f):i.identity);d&&(a=c(u));g&&(o=function(t){return m(n(t)?+i.constrain(t,0,1):0)});var v,x=[];for(e=0;e<t.length;e++){var b=t[e],_=b.lonlat;if(!y(_)){var w={};r&&(w.mcc=b.mcc=r(b.mc)),a&&(w.mrc=b.mrc=a(b.ms)),o&&(w.mo=o(b.mo)),h&&(w.selected=b.selected||0),x.push({type:"Feature",geometry:{type:"Point",coordinates:_},properties:w})}}if(h)for(v=l.makeSelectedPointStyleFns(u),e=0;e<x.length;e++){var T=x[e].properties;v.selectedOpacityFn&&(T.mo=m(v.selectedOpacityFn(T))),v.selectedColorFn&&(T.mcc=v.selectedColorFn(T)),v.selectedSizeFn&&(T.mrc=v.selectedSizeFn(T))}return{geojson:{type:"FeatureCollection",features:x},mcc:p||v&&v.selectedColorFn?{type:"identity",property:"mcc"}:f.color,mrc:d||v&&v.selectedSizeFn?{type:"identity",property:"mrc"}:(k=f.size,k/2),mo:g||v&&v.selectedOpacityFn?{type:"identity",property:"mo"}:m(f.opacity)};var k}(e);E.geojson=I.geojson,E.layout.visibility="visible",i.extendFlat(E.paint,{"circle-color":I.mcc,"circle-radius":I.mrc,"circle-opacity":I.mo})}if((M||T)&&(C.geojson=function(t,e){for(var r=e._fullLayout,n=t[0].trace,a=n.marker||{},o=a.symbol,s=a.angle,l="circle"!==o?m(o):v,c="auto"!==s?m(s,!0):v,f=u.hasText(n)?m(n.text):v,g=[],x=0;x<t.length;x++){var b=t[x];if(!y(b.lonlat)){var _,w=n.texttemplate;if(w){var T=Array.isArray(w)?w[x]||"":w,k=n._module.formatLabels(b,n,r),M={};h(M,n,b.i);var A=n._meta||{};_=i.texttemplateString(T,k,r._d3locale,M,b,A)}else _=f(x);_&&(_=_.replace(p,"").replace(d,"\n")),g.push({type:"Feature",geometry:{type:"Point",coordinates:b.lonlat},properties:{symbol:l(x),angle:c(x),text:_}})}}return{type:"FeatureCollection",features:g}}(e,t),i.extendFlat(C.layout,{visibility:"visible","icon-image":"{symbol}-15","text-field":"{text}"}),M&&(i.extendFlat(C.layout,{"icon-size":a.marker.size/10}),"angle"in a.marker&&"auto"!==a.marker.angle&&i.extendFlat(C.layout,{"icon-rotate":{type:"identity",property:"angle"},"icon-rotation-alignment":"map"}),C.layout["icon-allow-overlap"]=a.marker.allowoverlap,i.extendFlat(C.paint,{"icon-opacity":a.opacity*a.marker.opacity,"icon-color":a.marker.color})),T)){var P=(a.marker||{}).size,z=f(a.textposition,P);i.extendFlat(C.layout,{"text-size":a.textfont.size,"text-anchor":z.anchor,"text-offset":z.offset}),i.extendFlat(C.paint,{"text-color":a.textfont.color,"text-opacity":a.opacity})}return L}},{"../../components/colorscale":655,"../../components/drawing":665,"../../components/fx/helpers":679,"../../constants/numerical":753,"../../lib":778,"../../lib/geojson_utils":772,"../../lib/svg_text_utils":803,"../../plots/mapbox/convert_text_opts":884,"../scatter/make_bubble_size_func":1204,"../scatter/subtypes":1212,"fast-isnumeric":241}],1254:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../scatter/subtypes"),a=t("../scatter/marker_defaults"),o=t("../scatter/line_defaults"),s=t("../scatter/text_defaults"),l=t("../scatter/fillcolor_defaults"),c=t("./attributes");e.exports=function(t,e,r,u){function f(r,i){return n.coerce(t,e,c,r,i)}if(function(t,e,r){var n=r("lon")||[],i=r("lat")||[],a=Math.min(n.length,i.length);return e._length=a,a}(0,e,f)){if(f("text"),f("texttemplate"),f("hovertext"),f("hovertemplate"),f("mode"),f("below"),i.hasLines(e)&&(o(t,e,r,u,f,{noDash:!0}),f("connectgaps")),i.hasMarkers(e)){a(t,e,r,u,f,{noLine:!0}),f("marker.allowoverlap"),f("marker.angle");var h=e.marker;"circle"!==h.symbol&&(n.isArrayOrTypedArray(h.size)&&(h.size=h.size[0]),n.isArrayOrTypedArray(h.color)&&(h.color=h.color[0]))}i.hasText(e)&&s(t,e,u,f,{noSelect:!0}),f("fill"),"none"!==e.fill&&l(t,e,r,f),n.coerceSelectionMarkerOpacity(e,f)}else e.visible=!1}},{"../../lib":778,"../scatter/fillcolor_defaults":1195,"../scatter/line_defaults":1200,"../scatter/marker_defaults":1206,"../scatter/subtypes":1212,"../scatter/text_defaults":1213,"./attributes":1252}],1255:[function(t,e,r){"use strict";e.exports=function(t,e){return t.lon=e.lon,t.lat=e.lat,t}},{}],1256:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes");e.exports=function(t,e,r){var i={},a=r[e.subplot]._subplot.mockAxis,o=t.lonlat;return i.lonLabel=n.tickText(a,a.c2l(o[0]),!0).text,i.latLabel=n.tickText(a,a.c2l(o[1]),!0).text,i}},{"../../plots/cartesian/axes":828}],1257:[function(t,e,r){"use strict";var n=t("../../components/fx"),i=t("../../lib"),a=t("../scatter/get_trace_color"),o=i.fillText,s=t("../../constants/numerical").BADNUM;e.exports=function(t,e,r){var l=t.cd,c=l[0].trace,u=t.xa,f=t.ya,h=t.subplot,p=360*(e>=0?Math.floor((e+180)/360):Math.ceil((e-180)/360)),d=e-p;if(n.getClosest(l,(function(t){var e=t.lonlat;if(e[0]===s)return 1/0;var n=i.modHalf(e[0],360),a=e[1],o=h.project([n,a]),l=o.x-u.c2p([d,a]),c=o.y-f.c2p([n,r]),p=Math.max(3,t.mrc||0);return Math.max(Math.sqrt(l*l+c*c)-p,1-3/p)}),t),!1!==t.index){var g=l[t.index],m=g.lonlat,v=[i.modHalf(m[0],360)+p,m[1]],y=u.c2p(v),x=f.c2p(v),b=g.mrc||1;t.x0=y-b,t.x1=y+b,t.y0=x-b,t.y1=x+b;var _={};_[c.subplot]={_subplot:h};var w=c._module.formatLabels(g,c,_);return t.lonLabel=w.lonLabel,t.latLabel=w.latLabel,t.color=a(c,g),t.extraText=function(t,e,r){if(t.hovertemplate)return;var n=(e.hi||t.hoverinfo).split("+"),i=-1!==n.indexOf("all"),a=-1!==n.indexOf("lon"),s=-1!==n.indexOf("lat"),l=e.lonlat,c=[];function u(t){return t+"\xb0"}i||a&&s?c.push("("+u(l[0])+", "+u(l[1])+")"):a?c.push(r.lon+u(l[0])):s&&c.push(r.lat+u(l[1]));(i||-1!==n.indexOf("text"))&&o(e,t,c);return c.join("<br>")}(c,g,l[0].t.labels),t.hovertemplate=c.hovertemplate,[t]}}},{"../../components/fx":683,"../../constants/numerical":753,"../../lib":778,"../scatter/get_trace_color":1197}],1258:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),colorbar:t("../scatter/marker_colorbar"),formatLabels:t("./format_labels"),calc:t("../scattergeo/calc"),plot:t("./plot"),hoverPoints:t("./hover"),eventData:t("./event_data"),selectPoints:t("./select"),styleOnSelect:function(t,e){e&&e[0].trace._glTrace.update(e)},moduleType:"trace",name:"scattermapbox",basePlotModule:t("../../plots/mapbox"),categories:["mapbox","gl","symbols","showLegend","scatter-like"],meta:{}}},{"../../plots/mapbox":885,"../scatter/marker_colorbar":1205,"../scattergeo/calc":1230,"./attributes":1252,"./defaults":1254,"./event_data":1255,"./format_labels":1256,"./hover":1257,"./plot":1259,"./select":1260}],1259:[function(t,e,r){"use strict";var n=t("./convert"),i=t("../../plots/mapbox/constants").traceLayerPrefix,a=["fill","line","circle","symbol"];function o(t,e){this.type="scattermapbox",this.subplot=t,this.uid=e,this.sourceIds={fill:"source-"+e+"-fill",line:"source-"+e+"-line",circle:"source-"+e+"-circle",symbol:"source-"+e+"-symbol"},this.layerIds={fill:i+e+"-fill",line:i+e+"-line",circle:i+e+"-circle",symbol:i+e+"-symbol"},this.below=null}var s=o.prototype;s.addSource=function(t,e){this.subplot.map.addSource(this.sourceIds[t],{type:"geojson",data:e.geojson})},s.setSourceData=function(t,e){this.subplot.map.getSource(this.sourceIds[t]).setData(e.geojson)},s.addLayer=function(t,e,r){this.subplot.addLayer({type:t,id:this.layerIds[t],source:this.sourceIds[t],layout:e.layout,paint:e.paint},r)},s.update=function(t){var e,r,i,o=this.subplot,s=o.map,l=n(o.gd,t),c=o.belowLookup["trace-"+this.uid];if(c!==this.below){for(e=a.length-1;e>=0;e--)r=a[e],s.removeLayer(this.layerIds[r]);for(e=0;e<a.length;e++)i=l[r=a[e]],this.addLayer(r,i,c);this.below=c}for(e=0;e<a.length;e++)i=l[r=a[e]],o.setOptions(this.layerIds[r],"setLayoutProperty",i.layout),"visible"===i.layout.visibility&&(this.setSourceData(r,i),o.setOptions(this.layerIds[r],"setPaintProperty",i.paint));t[0].trace._glTrace=this},s.dispose=function(){for(var t=this.subplot.map,e=a.length-1;e>=0;e--){var r=a[e];t.removeLayer(this.layerIds[r]),t.removeSource(this.sourceIds[r])}},e.exports=function(t,e){for(var r=e[0].trace,i=new o(t,r.uid),s=n(t.gd,e),l=i.below=t.belowLookup["trace-"+r.uid],c=0;c<a.length;c++){var u=a[c],f=s[u];i.addSource(u,f),i.addLayer(u,f,l)}return e[0].trace._glTrace=i,i}},{"../../plots/mapbox/constants":883,"./convert":1253}],1260:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../scatter/subtypes"),a=t("../../constants/numerical").BADNUM;e.exports=function(t,e){var r,o=t.cd,s=t.xaxis,l=t.yaxis,c=[],u=o[0].trace;if(!i.hasMarkers(u))return[];if(!1===e)for(r=0;r<o.length;r++)o[r].selected=0;else for(r=0;r<o.length;r++){var f=o[r],h=f.lonlat;if(h[0]!==a){var p=[n.modHalf(h[0],360),h[1]],d=[s.c2p(p),l.c2p(p)];e.contains(d,null,r,t)?(c.push({pointNumber:r,lon:h[0],lat:h[1]}),f.selected=1):f.selected=0}}return c}},{"../../constants/numerical":753,"../../lib":778,"../scatter/subtypes":1212}],1261:[function(t,e,r){"use strict";var n=t("../../plots/template_attributes").hovertemplateAttrs,i=t("../../plots/template_attributes").texttemplateAttrs,a=t("../../lib/extend").extendFlat,o=t("../scatter/attributes"),s=t("../../plots/attributes"),l=o.line;e.exports={mode:o.mode,r:{valType:"data_array",editType:"calc+clearAxisTypes"},theta:{valType:"data_array",editType:"calc+clearAxisTypes"},r0:{valType:"any",dflt:0,editType:"calc+clearAxisTypes"},dr:{valType:"number",dflt:1,editType:"calc"},theta0:{valType:"any",dflt:0,editType:"calc+clearAxisTypes"},dtheta:{valType:"number",editType:"calc"},thetaunit:{valType:"enumerated",values:["radians","degrees","gradians"],dflt:"degrees",editType:"calc+clearAxisTypes"},text:o.text,texttemplate:i({editType:"plot"},{keys:["r","theta","text"]}),hovertext:o.hovertext,line:{color:l.color,width:l.width,dash:l.dash,shape:a({},l.shape,{values:["linear","spline"]}),smoothing:l.smoothing,editType:"calc"},connectgaps:o.connectgaps,marker:o.marker,cliponaxis:a({},o.cliponaxis,{dflt:!1}),textposition:o.textposition,textfont:o.textfont,fill:a({},o.fill,{values:["none","toself","tonext"],dflt:"none"}),fillcolor:o.fillcolor,hoverinfo:a({},s.hoverinfo,{flags:["r","theta","text","name"]}),hoveron:o.hoveron,hovertemplate:n(),selected:o.selected,unselected:o.unselected}},{"../../lib/extend":768,"../../plots/attributes":824,"../../plots/template_attributes":906,"../scatter/attributes":1187}],1262:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../constants/numerical").BADNUM,a=t("../../plots/cartesian/axes"),o=t("../scatter/colorscale_calc"),s=t("../scatter/arrays_to_calcdata"),l=t("../scatter/calc_selection"),c=t("../scatter/calc").calcMarkerSize;e.exports=function(t,e){for(var r=t._fullLayout,u=e.subplot,f=r[u].radialaxis,h=r[u].angularaxis,p=f.makeCalcdata(e,"r"),d=h.makeCalcdata(e,"theta"),g=e._length,m=new Array(g),v=0;v<g;v++){var y=p[v],x=d[v],b=m[v]={};n(y)&&n(x)?(b.r=y,b.theta=x):b.r=i}var _=c(e,g);return e._extremes.x=a.findExtremes(f,p,{ppad:_}),o(t,e),s(m,e),l(m,e),m}},{"../../constants/numerical":753,"../../plots/cartesian/axes":828,"../scatter/arrays_to_calcdata":1186,"../scatter/calc":1188,"../scatter/calc_selection":1189,"../scatter/colorscale_calc":1190,"fast-isnumeric":241}],1263:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../scatter/subtypes"),a=t("../scatter/marker_defaults"),o=t("../scatter/line_defaults"),s=t("../scatter/line_shape_defaults"),l=t("../scatter/text_defaults"),c=t("../scatter/fillcolor_defaults"),u=t("../scatter/constants").PTS_LINESONLY,f=t("./attributes");function h(t,e,r,n){var i,a=n("r"),o=n("theta");if(a)o?i=Math.min(a.length,o.length):(i=a.length,n("theta0"),n("dtheta"));else{if(!o)return 0;i=e.theta.length,n("r0"),n("dr")}return e._length=i,i}e.exports={handleRThetaDefaults:h,supplyDefaults:function(t,e,r,p){function d(r,i){return n.coerce(t,e,f,r,i)}var g=h(t,e,p,d);if(g){d("thetaunit"),d("mode",g<u?"lines+markers":"lines"),d("text"),d("hovertext"),"fills"!==e.hoveron&&d("hovertemplate"),i.hasLines(e)&&(o(t,e,r,p,d),s(t,e,d),d("connectgaps")),i.hasMarkers(e)&&a(t,e,r,p,d,{gradient:!0}),i.hasText(e)&&(d("texttemplate"),l(t,e,p,d));var m=[];(i.hasMarkers(e)||i.hasText(e))&&(d("cliponaxis"),d("marker.maxdisplayed"),m.push("points")),d("fill"),"none"!==e.fill&&(c(t,e,r,d),i.hasLines(e)||s(t,e,d)),"tonext"!==e.fill&&"toself"!==e.fill||m.push("fills"),d("hoveron",m.join("+")||"points"),n.coerceSelectionMarkerOpacity(e,d)}else e.visible=!1}}},{"../../lib":778,"../scatter/constants":1191,"../scatter/fillcolor_defaults":1195,"../scatter/line_defaults":1200,"../scatter/line_shape_defaults":1202,"../scatter/marker_defaults":1206,"../scatter/subtypes":1212,"../scatter/text_defaults":1213,"./attributes":1261}],1264:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../plots/cartesian/axes");e.exports=function(t,e,r){var a,o,s={},l=r[e.subplot]._subplot;l?(a=l.radialAxis,o=l.angularAxis):(a=(l=r[e.subplot]).radialaxis,o=l.angularaxis);var c=a.c2l(t.r);s.rLabel=i.tickText(a,c,!0).text;var u="degrees"===o.thetaunit?n.rad2deg(t.theta):t.theta;return s.thetaLabel=i.tickText(o,u,!0).text,s}},{"../../lib":778,"../../plots/cartesian/axes":828}],1265:[function(t,e,r){"use strict";var n=t("../scatter/hover");function i(t,e,r,n){var i=r.radialAxis,a=r.angularAxis;i._hovertitle="r",a._hovertitle="\u03b8";var o={};o[e.subplot]={_subplot:r};var s=e._module.formatLabels(t,e,o);n.rLabel=s.rLabel,n.thetaLabel=s.thetaLabel;var l=t.hi||e.hoverinfo,c=[];function u(t,e){c.push(t._hovertitle+": "+e)}if(!e.hovertemplate){var f=l.split("+");-1!==f.indexOf("all")&&(f=["r","theta","text"]),-1!==f.indexOf("r")&&u(i,n.rLabel),-1!==f.indexOf("theta")&&u(a,n.thetaLabel),-1!==f.indexOf("text")&&n.text&&(c.push(n.text),delete n.text),n.extraText=c.join("<br>")}}e.exports={hoverPoints:function(t,e,r,a){var o=n(t,e,r,a);if(o&&!1!==o[0].index){var s=o[0];if(void 0===s.index)return o;var l=t.subplot,c=s.cd[s.index],u=s.trace;if(l.isPtInside(c))return s.xLabelVal=void 0,s.yLabelVal=void 0,i(c,u,l,s),s.hovertemplate=u.hovertemplate,o}},makeHoverPointText:i}},{"../scatter/hover":1198}],1266:[function(t,e,r){"use strict";e.exports={moduleType:"trace",name:"scatterpolar",basePlotModule:t("../../plots/polar"),categories:["polar","symbols","showLegend","scatter-like"],attributes:t("./attributes"),supplyDefaults:t("./defaults").supplyDefaults,colorbar:t("../scatter/marker_colorbar"),formatLabels:t("./format_labels"),calc:t("./calc"),plot:t("./plot"),style:t("../scatter/style").style,styleOnSelect:t("../scatter/style").styleOnSelect,hoverPoints:t("./hover").hoverPoints,selectPoints:t("../scatter/select"),meta:{}}},{"../../plots/polar":894,"../scatter/marker_colorbar":1205,"../scatter/select":1209,"../scatter/style":1211,"./attributes":1261,"./calc":1262,"./defaults":1263,"./format_labels":1264,"./hover":1265,"./plot":1267}],1267:[function(t,e,r){"use strict";var n=t("../scatter/plot"),i=t("../../constants/numerical").BADNUM;e.exports=function(t,e,r){for(var a=e.layers.frontplot.select("g.scatterlayer"),o={xaxis:e.xaxis,yaxis:e.yaxis,plot:e.framework,layerClipId:e._hasClipOnAxisFalse?e.clipIds.forTraces:null},s=e.radialAxis,l=e.angularAxis,c=0;c<r.length;c++)for(var u=r[c],f=0;f<u.length;f++){var h=u[f],p=h.r;if(p===i)h.x=h.y=i;else{var d=s.c2g(p),g=l.c2g(h.theta);h.x=d*Math.cos(g),h.y=d*Math.sin(g)}}n(t,o,r,a)}},{"../../constants/numerical":753,"../scatter/plot":1208}],1268:[function(t,e,r){"use strict";var n=t("../scatterpolar/attributes"),i=t("../scattergl/attributes"),a=t("../../plots/template_attributes").texttemplateAttrs;e.exports={mode:n.mode,r:n.r,theta:n.theta,r0:n.r0,dr:n.dr,theta0:n.theta0,dtheta:n.dtheta,thetaunit:n.thetaunit,text:n.text,texttemplate:a({editType:"plot"},{keys:["r","theta","text"]}),hovertext:n.hovertext,hovertemplate:n.hovertemplate,line:i.line,connectgaps:i.connectgaps,marker:i.marker,fill:i.fill,fillcolor:i.fillcolor,textposition:i.textposition,textfont:i.textfont,hoverinfo:n.hoverinfo,selected:n.selected,unselected:n.unselected}},{"../../plots/template_attributes":906,"../scattergl/attributes":1239,"../scatterpolar/attributes":1261}],1269:[function(t,e,r){"use strict";var n=t("../scatter/colorscale_calc"),i=t("../scatter/calc").calcMarkerSize,a=t("../scattergl/convert"),o=t("../../plots/cartesian/axes"),s=t("../scattergl/constants").TOO_MANY_POINTS;e.exports=function(t,e){var r=t._fullLayout,l=e.subplot,c=r[l].radialaxis,u=r[l].angularaxis,f=e._r=c.makeCalcdata(e,"r"),h=e._theta=u.makeCalcdata(e,"theta"),p=e._length,d={};p<f.length&&(f=f.slice(0,p)),p<h.length&&(h=h.slice(0,p)),d.r=f,d.theta=h,n(t,e);var g,m=d.opts=a.style(t,e);return p<s?g=i(e,p):m.marker&&(g=2*(m.marker.sizeAvg||Math.max(m.marker.size,3))),e._extremes.x=o.findExtremes(c,f,{ppad:g}),[{x:!1,y:!1,t:d,trace:e}]}},{"../../plots/cartesian/axes":828,"../scatter/calc":1188,"../scatter/colorscale_calc":1190,"../scattergl/constants":1241,"../scattergl/convert":1242}],1270:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../scatter/subtypes"),a=t("../scatterpolar/defaults").handleRThetaDefaults,o=t("../scatter/marker_defaults"),s=t("../scatter/line_defaults"),l=t("../scatter/text_defaults"),c=t("../scatter/fillcolor_defaults"),u=t("../scatter/constants").PTS_LINESONLY,f=t("./attributes");e.exports=function(t,e,r,h){function p(r,i){return n.coerce(t,e,f,r,i)}var d=a(t,e,h,p);d?(p("thetaunit"),p("mode",d<u?"lines+markers":"lines"),p("text"),p("hovertext"),"fills"!==e.hoveron&&p("hovertemplate"),i.hasLines(e)&&(s(t,e,r,h,p),p("connectgaps")),i.hasMarkers(e)&&o(t,e,r,h,p),i.hasText(e)&&(p("texttemplate"),l(t,e,h,p)),p("fill"),"none"!==e.fill&&c(t,e,r,p),n.coerceSelectionMarkerOpacity(e,p)):e.visible=!1}},{"../../lib":778,"../scatter/constants":1191,"../scatter/fillcolor_defaults":1195,"../scatter/line_defaults":1200,"../scatter/marker_defaults":1206,"../scatter/subtypes":1212,"../scatter/text_defaults":1213,"../scatterpolar/defaults":1263,"./attributes":1268}],1271:[function(t,e,r){"use strict";var n=t("../scatterpolar/format_labels");e.exports=function(t,e,r){var i=t.i;return"r"in t||(t.r=e._r[i]),"theta"in t||(t.theta=e._theta[i]),n(t,e,r)}},{"../scatterpolar/format_labels":1264}],1272:[function(t,e,r){"use strict";var n=t("../scattergl/hover"),i=t("../scatterpolar/hover").makeHoverPointText;e.exports={hoverPoints:function(t,e,r,a){var o=t.cd[0].t,s=o.r,l=o.theta,c=n.hoverPoints(t,e,r,a);if(c&&!1!==c[0].index){var u=c[0];if(void 0===u.index)return c;var f=t.subplot,h=u.cd[u.index],p=u.trace;if(h.r=s[u.index],h.theta=l[u.index],f.isPtInside(h))return u.xLabelVal=void 0,u.yLabelVal=void 0,i(h,p,f,u),c}}}},{"../scattergl/hover":1247,"../scatterpolar/hover":1265}],1273:[function(t,e,r){"use strict";e.exports={moduleType:"trace",name:"scatterpolargl",basePlotModule:t("../../plots/polar"),categories:["gl","regl","polar","symbols","showLegend","scatter-like"],attributes:t("./attributes"),supplyDefaults:t("./defaults"),colorbar:t("../scatter/marker_colorbar"),formatLabels:t("./format_labels"),calc:t("./calc"),plot:t("./plot"),hoverPoints:t("./hover").hoverPoints,selectPoints:t("../scattergl/select"),meta:{}}},{"../../plots/polar":894,"../scatter/marker_colorbar":1205,"../scattergl/select":1251,"./attributes":1268,"./calc":1269,"./defaults":1270,"./format_labels":1271,"./hover":1272,"./plot":1274}],1274:[function(t,e,r){"use strict";var n=t("@plotly/point-cluster"),i=t("fast-isnumeric"),a=t("../scattergl/plot"),o=t("../scattergl/scene_update"),s=t("../scattergl/convert"),l=t("../../lib"),c=t("../scattergl/constants").TOO_MANY_POINTS;e.exports=function(t,e,r){if(r.length){var u=e.radialAxis,f=e.angularAxis,h=o(t,e);return r.forEach((function(r){if(r&&r[0]&&r[0].trace){var a,o=r[0],p=o.trace,d=o.t,g=p._length,m=d.r,v=d.theta,y=d.opts,x=m.slice(),b=v.slice();for(a=0;a<m.length;a++)e.isPtInside({r:m[a],theta:v[a]})||(x[a]=NaN,b[a]=NaN);var _=new Array(2*g),w=Array(g),T=Array(g);for(a=0;a<g;a++){var k,M,A=x[a];if(i(A)){var S=u.c2g(A),E=f.c2g(b[a],p.thetaunit);k=S*Math.cos(E),M=S*Math.sin(E)}else k=M=NaN;w[a]=_[2*a]=k,T[a]=_[2*a+1]=M}d.tree=n(_),y.marker&&g>=c&&(y.marker.cluster=d.tree),y.marker&&(y.markerSel.positions=y.markerUnsel.positions=y.marker.positions=_),y.line&&_.length>1&&l.extendFlat(y.line,s.linePositions(t,p,_)),y.text&&(l.extendFlat(y.text,{positions:_},s.textPosition(t,p,y.text,y.marker)),l.extendFlat(y.textSel,{positions:_},s.textPosition(t,p,y.text,y.markerSel)),l.extendFlat(y.textUnsel,{positions:_},s.textPosition(t,p,y.text,y.markerUnsel))),y.fill&&!h.fill2d&&(h.fill2d=!0),y.marker&&!h.scatter2d&&(h.scatter2d=!0),y.line&&!h.line2d&&(h.line2d=!0),y.text&&!h.glText&&(h.glText=!0),h.lineOptions.push(y.line),h.fillOptions.push(y.fill),h.markerOptions.push(y.marker),h.markerSelectedOptions.push(y.markerSel),h.markerUnselectedOptions.push(y.markerUnsel),h.textOptions.push(y.text),h.textSelectedOptions.push(y.textSel),h.textUnselectedOptions.push(y.textUnsel),h.selectBatch.push([]),h.unselectBatch.push([]),d.x=w,d.y=T,d.rawx=w,d.rawy=T,d.r=m,d.theta=v,d.positions=_,d._scene=h,d.index=h.count,h.count++}})),a(t,e,r)}}},{"../../lib":778,"../scattergl/constants":1241,"../scattergl/convert":1242,"../scattergl/plot":1249,"../scattergl/scene_update":1250,"@plotly/point-cluster":57,"fast-isnumeric":241}],1275:[function(t,e,r){"use strict";var n=t("../../plots/template_attributes").hovertemplateAttrs,i=t("../../plots/template_attributes").texttemplateAttrs,a=t("../scatter/attributes"),o=t("../../plots/attributes"),s=t("../../components/colorscale/attributes"),l=t("../../components/drawing/attributes").dash,c=t("../../lib/extend").extendFlat,u=a.marker,f=a.line,h=u.line;e.exports={a:{valType:"data_array",editType:"calc"},b:{valType:"data_array",editType:"calc"},c:{valType:"data_array",editType:"calc"},sum:{valType:"number",dflt:0,min:0,editType:"calc"},mode:c({},a.mode,{dflt:"markers"}),text:c({},a.text,{}),texttemplate:i({editType:"plot"},{keys:["a","b","c","text"]}),hovertext:c({},a.hovertext,{}),line:{color:f.color,width:f.width,dash:l,shape:c({},f.shape,{values:["linear","spline"]}),smoothing:f.smoothing,editType:"calc"},connectgaps:a.connectgaps,cliponaxis:a.cliponaxis,fill:c({},a.fill,{values:["none","toself","tonext"],dflt:"none"}),fillcolor:a.fillcolor,marker:c({symbol:u.symbol,opacity:u.opacity,maxdisplayed:u.maxdisplayed,size:u.size,sizeref:u.sizeref,sizemin:u.sizemin,sizemode:u.sizemode,line:c({width:h.width,editType:"calc"},s("marker.line")),gradient:u.gradient,editType:"calc"},s("marker")),textfont:a.textfont,textposition:a.textposition,selected:a.selected,unselected:a.unselected,hoverinfo:c({},o.hoverinfo,{flags:["a","b","c","text","name"]}),hoveron:a.hoveron,hovertemplate:n()}},{"../../components/colorscale/attributes":650,"../../components/drawing/attributes":664,"../../lib/extend":768,"../../plots/attributes":824,"../../plots/template_attributes":906,"../scatter/attributes":1187}],1276:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../scatter/colorscale_calc"),a=t("../scatter/arrays_to_calcdata"),o=t("../scatter/calc_selection"),s=t("../scatter/calc").calcMarkerSize,l=["a","b","c"],c={a:["b","c"],b:["a","c"],c:["a","b"]};e.exports=function(t,e){var r,u,f,h,p,d,g=t._fullLayout[e.subplot].sum,m=e.sum||g,v={a:e.a,b:e.b,c:e.c};for(r=0;r<l.length;r++)if(!v[f=l[r]]){for(p=v[c[f][0]],d=v[c[f][1]],h=new Array(p.length),u=0;u<p.length;u++)h[u]=m-p[u]-d[u];v[f]=h}var y,x,b,_,w,T,k=e._length,M=new Array(k);for(r=0;r<k;r++)y=v.a[r],x=v.b[r],b=v.c[r],n(y)&&n(x)&&n(b)?(1!==(_=g/((y=+y)+(x=+x)+(b=+b)))&&(y*=_,x*=_,b*=_),T=y,w=b-x,M[r]={x:w,y:T,a:y,b:x,c:b}):M[r]={x:!1,y:!1};return s(e,k),i(t,e),a(M,e),o(M,e),M}},{"../scatter/arrays_to_calcdata":1186,"../scatter/calc":1188,"../scatter/calc_selection":1189,"../scatter/colorscale_calc":1190,"fast-isnumeric":241}],1277:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../scatter/constants"),a=t("../scatter/subtypes"),o=t("../scatter/marker_defaults"),s=t("../scatter/line_defaults"),l=t("../scatter/line_shape_defaults"),c=t("../scatter/text_defaults"),u=t("../scatter/fillcolor_defaults"),f=t("./attributes");e.exports=function(t,e,r,h){function p(r,i){return n.coerce(t,e,f,r,i)}var d,g=p("a"),m=p("b"),v=p("c");if(g?(d=g.length,m?(d=Math.min(d,m.length),v&&(d=Math.min(d,v.length))):d=v?Math.min(d,v.length):0):m&&v&&(d=Math.min(m.length,v.length)),d){e._length=d,p("sum"),p("text"),p("hovertext"),"fills"!==e.hoveron&&p("hovertemplate"),p("mode",d<i.PTS_LINESONLY?"lines+markers":"lines"),a.hasLines(e)&&(s(t,e,r,h,p),l(t,e,p),p("connectgaps")),a.hasMarkers(e)&&o(t,e,r,h,p,{gradient:!0}),a.hasText(e)&&(p("texttemplate"),c(t,e,h,p));var y=[];(a.hasMarkers(e)||a.hasText(e))&&(p("cliponaxis"),p("marker.maxdisplayed"),y.push("points")),p("fill"),"none"!==e.fill&&(u(t,e,r,p),a.hasLines(e)||l(t,e,p)),"tonext"!==e.fill&&"toself"!==e.fill||y.push("fills"),p("hoveron",y.join("+")||"points"),n.coerceSelectionMarkerOpacity(e,p)}else e.visible=!1}},{"../../lib":778,"../scatter/constants":1191,"../scatter/fillcolor_defaults":1195,"../scatter/line_defaults":1200,"../scatter/line_shape_defaults":1202,"../scatter/marker_defaults":1206,"../scatter/subtypes":1212,"../scatter/text_defaults":1213,"./attributes":1275}],1278:[function(t,e,r){"use strict";e.exports=function(t,e,r,n,i){if(e.xa&&(t.xaxis=e.xa),e.ya&&(t.yaxis=e.ya),n[i]){var a=n[i];t.a=a.a,t.b=a.b,t.c=a.c}else t.a=e.a,t.b=e.b,t.c=e.c;return t}},{}],1279:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes");e.exports=function(t,e,r){var i={},a=r[e.subplot]._subplot;return i.aLabel=n.tickText(a.aaxis,t.a,!0).text,i.bLabel=n.tickText(a.baxis,t.b,!0).text,i.cLabel=n.tickText(a.caxis,t.c,!0).text,i}},{"../../plots/cartesian/axes":828}],1280:[function(t,e,r){"use strict";var n=t("../scatter/hover");e.exports=function(t,e,r,i){var a=n(t,e,r,i);if(a&&!1!==a[0].index){var o=a[0];if(void 0===o.index){var s=1-o.y0/t.ya._length,l=t.xa._length,c=l*s/2,u=l-c;return o.x0=Math.max(Math.min(o.x0,u),c),o.x1=Math.max(Math.min(o.x1,u),c),a}var f=o.cd[o.index],h=o.trace,p=o.subplot;o.a=f.a,o.b=f.b,o.c=f.c,o.xLabelVal=void 0,o.yLabelVal=void 0;var d={};d[h.subplot]={_subplot:p};var g=h._module.formatLabels(f,h,d);o.aLabel=g.aLabel,o.bLabel=g.bLabel,o.cLabel=g.cLabel;var m=f.hi||h.hoverinfo,v=[];if(!h.hovertemplate){var y=m.split("+");-1!==y.indexOf("all")&&(y=["a","b","c"]),-1!==y.indexOf("a")&&x(p.aaxis,o.aLabel),-1!==y.indexOf("b")&&x(p.baxis,o.bLabel),-1!==y.indexOf("c")&&x(p.caxis,o.cLabel)}return o.extraText=v.join("<br>"),o.hovertemplate=h.hovertemplate,a}function x(t,e){v.push(t._hovertitle+": "+e)}}},{"../scatter/hover":1198}],1281:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),colorbar:t("../scatter/marker_colorbar"),formatLabels:t("./format_labels"),calc:t("./calc"),plot:t("./plot"),style:t("../scatter/style").style,styleOnSelect:t("../scatter/style").styleOnSelect,hoverPoints:t("./hover"),selectPoints:t("../scatter/select"),eventData:t("./event_data"),moduleType:"trace",name:"scatterternary",basePlotModule:t("../../plots/ternary"),categories:["ternary","symbols","showLegend","scatter-like"],meta:{}}},{"../../plots/ternary":907,"../scatter/marker_colorbar":1205,"../scatter/select":1209,"../scatter/style":1211,"./attributes":1275,"./calc":1276,"./defaults":1277,"./event_data":1278,"./format_labels":1279,"./hover":1280,"./plot":1282}],1282:[function(t,e,r){"use strict";var n=t("../scatter/plot");e.exports=function(t,e,r){var i=e.plotContainer;i.select(".scatterlayer").selectAll("*").remove();var a={xaxis:e.xaxis,yaxis:e.yaxis,plot:i,layerClipId:e._hasClipOnAxisFalse?e.clipIdRelative:null},o=e.layers.frontplot.select("g.scatterlayer");n(t,a,r,o)}},{"../scatter/plot":1208}],1283:[function(t,e,r){"use strict";var n=t("../scatter/attributes"),i=t("../../components/colorscale/attributes"),a=t("../../plots/template_attributes").hovertemplateAttrs,o=t("../scattergl/attributes"),s=t("../../plots/cartesian/constants").idRegex,l=t("../../plot_api/plot_template").templatedArray,c=t("../../lib/extend").extendFlat,u=n.marker,f=u.line,h=c(i("marker.line",{editTypeOverride:"calc"}),{width:c({},f.width,{editType:"calc"}),editType:"calc"}),p=c(i("marker"),{symbol:u.symbol,size:c({},u.size,{editType:"markerSize"}),sizeref:u.sizeref,sizemin:u.sizemin,sizemode:u.sizemode,opacity:u.opacity,colorbar:u.colorbar,line:h,editType:"calc"});function d(t){return{valType:"info_array",freeLength:!0,editType:"calc",items:{valType:"subplotid",regex:s[t],editType:"plot"}}}p.color.editType=p.cmin.editType=p.cmax.editType="style",e.exports={dimensions:l("dimension",{visible:{valType:"boolean",dflt:!0,editType:"calc"},label:{valType:"string",editType:"calc"},values:{valType:"data_array",editType:"calc+clearAxisTypes"},axis:{type:{valType:"enumerated",values:["linear","log","date","category"],editType:"calc+clearAxisTypes"},matches:{valType:"boolean",dflt:!1,editType:"calc"},editType:"calc+clearAxisTypes"},editType:"calc+clearAxisTypes"}),text:c({},o.text,{}),hovertext:c({},o.hovertext,{}),hovertemplate:a(),marker:p,xaxes:d("x"),yaxes:d("y"),diagonal:{visible:{valType:"boolean",dflt:!0,editType:"calc"},editType:"calc"},showupperhalf:{valType:"boolean",dflt:!0,editType:"calc"},showlowerhalf:{valType:"boolean",dflt:!0,editType:"calc"},selected:{marker:o.selected.marker,editType:"calc"},unselected:{marker:o.unselected.marker,editType:"calc"},opacity:o.opacity}},{"../../components/colorscale/attributes":650,"../../lib/extend":768,"../../plot_api/plot_template":817,"../../plots/cartesian/constants":834,"../../plots/template_attributes":906,"../scatter/attributes":1187,"../scattergl/attributes":1239}],1284:[function(t,e,r){"use strict";var n=t("regl-line2d"),i=t("../../registry"),a=t("../../lib/prepare_regl"),o=t("../../plots/get_data").getModuleCalcData,s=t("../../plots/cartesian"),l=t("../../plots/cartesian/axis_ids").getFromId,c=t("../../plots/cartesian/axes").shouldShowZeroLine;function u(t,e,r){for(var n=r.matrixOptions.data.length,i=e._visibleDims,a=r.viewOpts.ranges=new Array(n),o=0;o<i.length;o++){var s=i[o],c=a[o]=new Array(4),u=l(t,e._diag[s][0]);u&&(c[0]=u.r2l(u.range[0]),c[2]=u.r2l(u.range[1]));var f=l(t,e._diag[s][1]);f&&(c[1]=f.r2l(f.range[0]),c[3]=f.r2l(f.range[1]))}r.selectBatch.length||r.unselectBatch.length?r.matrix.update({ranges:a},{ranges:a}):r.matrix.update({ranges:a})}function f(t){var e=t._fullLayout,r=e._glcanvas.data()[0].regl,i=e._splomGrid;i||(i=e._splomGrid=n(r)),i.update(function(t){var e,r=t._fullLayout,n=r._size,i=[0,0,r.width,r.height],a={};function o(t,e,r,n,o,s){var l=e[t+"color"],c=e[t+"width"],u=String(l+c);u in a?a[u].data.push(NaN,NaN,r,n,o,s):a[u]={data:[r,n,o,s],join:"rect",thickness:c,color:l,viewport:i,range:i,overlay:!1}}for(e in r._splomSubplots){var s,l,u=r._plots[e],f=u.xaxis,h=u.yaxis,p=f._gridVals,d=h._gridVals,g=n.b+h.domain[0]*n.h,m=-h._m,v=-m*h.r2l(h.range[0],h.calendar);if(f.showgrid)for(e=0;e<p.length;e++)s=f._offset+f.l2p(p[e].x),o("grid",f,s,g,s,g+h._length);if(h.showgrid)for(e=0;e<d.length;e++)l=g+v+m*d[e].x,o("grid",h,f._offset,l,f._offset+f._length,l);c(t,f,h)&&(s=f._offset+f.l2p(0),o("zeroline",f,s,g,s,g+h._length)),c(t,h,f)&&(l=g+v+0,o("zeroline",h,f._offset,l,f._offset+f._length,l))}var y=[];for(e in a)y.push(a[e]);return y}(t))}e.exports={name:"splom",attr:s.attr,attrRegex:s.attrRegex,layoutAttributes:s.layoutAttributes,supplyLayoutDefaults:s.supplyLayoutDefaults,drawFramework:s.drawFramework,plot:function(t){var e=t._fullLayout,r=i.getModule("splom"),n=o(t.calcdata,r)[0];a(t,["ANGLE_instanced_arrays","OES_element_index_uint"])&&(e._hasOnlyLargeSploms&&f(t),r.plot(t,{},n))},drag:function(t){var e=t.calcdata,r=t._fullLayout;r._hasOnlyLargeSploms&&f(t);for(var n=0;n<e.length;n++){var i=e[n][0].trace,a=r._splomScenes[i.uid];"splom"===i.type&&a&&a.matrix&&u(t,i,a)}},updateGrid:f,clean:function(t,e,r,n){var i,a={};if(n._splomScenes){for(i=0;i<t.length;i++){var o=t[i];"splom"===o.type&&(a[o.uid]=1)}for(i=0;i<r.length;i++){var l=r[i];if(!a[l.uid]){var c=n._splomScenes[l.uid];c&&c.destroy&&c.destroy(),n._splomScenes[l.uid]=null,delete n._splomScenes[l.uid]}}}0===Object.keys(n._splomScenes||{}).length&&delete n._splomScenes,n._splomGrid&&!e._hasOnlyLargeSploms&&n._hasOnlyLargeSploms&&(n._splomGrid.destroy(),n._splomGrid=null,delete n._splomGrid),s.clean(t,e,r,n)},updateFx:s.updateFx,toSVG:s.toSVG}},{"../../lib/prepare_regl":791,"../../plots/cartesian":841,"../../plots/cartesian/axes":828,"../../plots/cartesian/axis_ids":831,"../../plots/get_data":865,"../../registry":911,"regl-line2d":535}],1285:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../plots/cartesian/axis_ids"),a=t("../scatter/calc").calcMarkerSize,o=t("../scatter/calc").calcAxisExpansion,s=t("../scatter/colorscale_calc"),l=t("../scattergl/convert").markerSelection,c=t("../scattergl/convert").markerStyle,u=t("./scene_update"),f=t("../../constants/numerical").BADNUM,h=t("../scattergl/constants").TOO_MANY_POINTS;e.exports=function(t,e){var r,p,d,g,m,v,y=e.dimensions,x=e._length,b={},_=b.cdata=[],w=b.data=[],T=e._visibleDims=[];function k(t,r){for(var i=t.makeCalcdata({v:r.values,vcalendar:e.calendar},"v"),a=0;a<i.length;a++)i[a]=i[a]===f?NaN:i[a];_.push(i),w.push("log"===t.type?n.simpleMap(i,t.c2l):i)}for(r=0;r<y.length;r++)if((d=y[r]).visible){if(g=i.getFromId(t,e._diag[r][0]),m=i.getFromId(t,e._diag[r][1]),g&&m&&g.type!==m.type){n.log("Skipping splom dimension "+r+" with conflicting axis types");continue}g?(k(g,d),m&&"category"===m.type&&(m._categories=g._categories.slice())):k(m,d),T.push(r)}for(s(t,e),n.extendFlat(b,c(e)),v=_.length*x>h?2*(b.sizeAvg||Math.max(b.size,3)):a(e,x),p=0;p<T.length;p++)d=y[r=T[p]],g=i.getFromId(t,e._diag[r][0])||{},m=i.getFromId(t,e._diag[r][1])||{},o(t,e,g,m,_[p],_[p],v);var M=u(t,e);return M.matrix||(M.matrix=!0),M.matrixOptions=b,M.selectedOptions=l(e,e.selected),M.unselectedOptions=l(e,e.unselected),[{x:!1,y:!1,t:{},trace:e}]}},{"../../constants/numerical":753,"../../lib":778,"../../plots/cartesian/axis_ids":831,"../scatter/calc":1188,"../scatter/colorscale_calc":1190,"../scattergl/constants":1241,"../scattergl/convert":1242,"./scene_update":1292}],1286:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../plots/array_container_defaults"),a=t("./attributes"),o=t("../scatter/subtypes"),s=t("../scatter/marker_defaults"),l=t("../parcoords/merge_length"),c=t("../scattergl/helpers").isOpenSymbol;function u(t,e){function r(r,i){return n.coerce(t,e,a.dimensions,r,i)}r("label");var i=r("values");i&&i.length?r("visible"):e.visible=!1,r("axis.type"),r("axis.matches")}e.exports=function(t,e,r,f){function h(r,i){return n.coerce(t,e,a,r,i)}var p=i(t,e,{name:"dimensions",handleItemDefaults:u}),d=h("diagonal.visible"),g=h("showupperhalf"),m=h("showlowerhalf");if(l(e,p,"values")&&(d||g||m)){h("text"),h("hovertext"),h("hovertemplate"),s(t,e,r,f,h);var v=c(e.marker.symbol),y=o.isBubble(e);h("marker.line.width",v||y?1:0),function(t,e,r,n){var i,a,o=e.dimensions,s=o.length,l=e.showupperhalf,c=e.showlowerhalf,u=e.diagonal.visible,f=new Array(s),h=new Array(s);for(i=0;i<s;i++){var p=i?i+1:"";f[i]="x"+p,h[i]="y"+p}var d=n("xaxes",f),g=n("yaxes",h),m=e._diag=new Array(s);e._xaxes={},e._yaxes={};var v=[],y=[];function x(t,n,i,a){if(t){var o=t.charAt(0),s=r._splomAxes[o];if(e["_"+o+"axes"][t]=1,a.push(t),!(t in s)){var l=s[t]={};i&&(l.label=i.label||"",i.visible&&i.axis&&(i.axis.type&&(l.type=i.axis.type),i.axis.matches&&(l.matches=n)))}}}var b=!u&&!c,_=!u&&!l;for(e._axesDim={},i=0;i<s;i++){var w=o[i],T=0===i,k=i===s-1,M=T&&b||k&&_?void 0:d[i],A=T&&_||k&&b?void 0:g[i];x(M,A,w,v),x(A,M,w,y),m[i]=[M,A],e._axesDim[M]=i,e._axesDim[A]=i}for(i=0;i<v.length;i++)for(a=0;a<y.length;a++){var S=v[i]+y[a];i>a&&l||i<a&&c?r._splomSubplots[S]=1:i!==a||!u&&c&&l||(r._splomSubplots[S]=1)}(!c||!u&&l&&c)&&(r._splomGridDflt.xside="bottom",r._splomGridDflt.yside="left")}(0,e,f,h),n.coerceSelectionMarkerOpacity(e,h)}else e.visible=!1}},{"../../lib":778,"../../plots/array_container_defaults":823,"../parcoords/merge_length":1158,"../scatter/marker_defaults":1206,"../scatter/subtypes":1212,"../scattergl/helpers":1246,"./attributes":1283}],1287:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../scatter/colorscale_calc"),a=t("../scattergl/convert").markerStyle;e.exports=function(t,e){var r=e.trace,o=t._fullLayout._splomScenes[r.uid];if(o){i(t,r),n.extendFlat(o.matrixOptions,a(r));var s=n.extendFlat({},o.matrixOptions,o.viewOpts);o.matrix.update(s,null)}}},{"../../lib":778,"../scatter/colorscale_calc":1190,"../scattergl/convert":1242}],1288:[function(t,e,r){"use strict";r.getDimIndex=function(t,e){for(var r=e._id,n={x:0,y:1}[r.charAt(0)],i=t._visibleDims,a=0;a<i.length;a++){var o=i[a];if(t._diag[o][n]===r)return a}return!1}},{}],1289:[function(t,e,r){"use strict";var n=t("./helpers"),i=t("../scattergl/hover").calcHover;e.exports={hoverPoints:function(t,e,r){var a=t.cd[0].trace,o=t.scene.matrixOptions.cdata,s=t.xa,l=t.ya,c=s.c2p(e),u=l.c2p(r),f=t.distance,h=n.getDimIndex(a,s),p=n.getDimIndex(a,l);if(!1===h||!1===p)return[t];for(var d,g,m=o[h],v=o[p],y=f,x=0;x<m.length;x++){var b=m[x],_=v[x],w=s.c2p(b)-c,T=l.c2p(_)-u,k=Math.sqrt(w*w+T*T);k<y&&(y=g=k,d=x)}return t.index=d,t.distance=y,t.dxy=g,void 0===d?[t]:[i(t,m,v,a)]}}},{"../scattergl/hover":1247,"./helpers":1288}],1290:[function(t,e,r){"use strict";var n=t("../../registry"),i=t("../../components/grid");e.exports={moduleType:"trace",name:"splom",basePlotModule:t("./base_plot"),categories:["gl","regl","cartesian","symbols","showLegend","scatter-like"],attributes:t("./attributes"),supplyDefaults:t("./defaults"),colorbar:t("../scatter/marker_colorbar"),calc:t("./calc"),plot:t("./plot"),hoverPoints:t("./hover").hoverPoints,selectPoints:t("./select"),editStyle:t("./edit_style"),meta:{}},n.register(i)},{"../../components/grid":687,"../../registry":911,"../scatter/marker_colorbar":1205,"./attributes":1283,"./base_plot":1284,"./calc":1285,"./defaults":1286,"./edit_style":1287,"./hover":1289,"./plot":1291,"./select":1293}],1291:[function(t,e,r){"use strict";var n=t("regl-splom"),i=t("../../lib"),a=t("../../plots/cartesian/axis_ids"),o=t("../../components/dragelement/helpers").selectMode;function s(t,e){var r,s,l,c,u,f=t._fullLayout,h=f._size,p=e.trace,d=e.t,g=f._splomScenes[p.uid],m=g.matrixOptions,v=m.cdata,y=f._glcanvas.data()[0].regl,x=f.dragmode;if(0!==v.length){m.lower=p.showupperhalf,m.upper=p.showlowerhalf,m.diagonal=p.diagonal.visible;var b=p._visibleDims,_=v.length,w=g.viewOpts={};for(w.ranges=new Array(_),w.domains=new Array(_),u=0;u<b.length;u++){l=b[u];var T=w.ranges[u]=new Array(4),k=w.domains[u]=new Array(4);(r=a.getFromId(t,p._diag[l][0]))&&(T[0]=r._rl[0],T[2]=r._rl[1],k[0]=r.domain[0],k[2]=r.domain[1]),(s=a.getFromId(t,p._diag[l][1]))&&(T[1]=s._rl[0],T[3]=s._rl[1],k[1]=s.domain[0],k[3]=s.domain[1])}w.viewport=[h.l,h.b,h.w+h.l,h.h+h.b],!0===g.matrix&&(g.matrix=n(y));var M=f.clickmode.indexOf("select")>-1,A=!0;if(o(x)||!!p.selectedpoints||M){var S=p._length;if(p.selectedpoints){g.selectBatch=p.selectedpoints;var E=p.selectedpoints,C={};for(l=0;l<E.length;l++)C[E[l]]=!0;var L=[];for(l=0;l<S;l++)C[l]||L.push(l);g.unselectBatch=L}var I=d.xpx=new Array(_),P=d.ypx=new Array(_);for(u=0;u<b.length;u++){if(l=b[u],r=a.getFromId(t,p._diag[l][0]))for(I[u]=new Array(S),c=0;c<S;c++)I[u][c]=r.c2p(v[u][c]);if(s=a.getFromId(t,p._diag[l][1]))for(P[u]=new Array(S),c=0;c<S;c++)P[u][c]=s.c2p(v[u][c])}if(g.selectBatch.length||g.unselectBatch.length){var z=i.extendFlat({},m,g.unselectedOptions,w),O=i.extendFlat({},m,g.selectedOptions,w);g.matrix.update(z,O),A=!1}}else d.xpx=d.ypx=null;if(A){var D=i.extendFlat({},m,w);g.matrix.update(D,null)}}}e.exports=function(t,e,r){if(r.length)for(var n=0;n<r.length;n++)s(t,r[n][0])}},{"../../components/dragelement/helpers":661,"../../lib":778,"../../plots/cartesian/axis_ids":831,"regl-splom":539}],1292:[function(t,e,r){"use strict";var n=t("../../lib");e.exports=function(t,e){var r=t._fullLayout,i=e.uid,a=r._splomScenes;a||(a=r._splomScenes={});var o={dirty:!0,selectBatch:[],unselectBatch:[]},s=a[e.uid];return s||((s=a[i]=n.extendFlat({},o,{matrix:!1,selectBatch:[],unselectBatch:[]})).draw=function(){s.matrix&&s.matrix.draw&&(s.selectBatch.length||s.unselectBatch.length?s.matrix.draw(s.unselectBatch,s.selectBatch):s.matrix.draw()),s.dirty=!1},s.destroy=function(){s.matrix&&s.matrix.destroy&&s.matrix.destroy(),s.matrixOptions=null,s.selectBatch=null,s.unselectBatch=null,s=null}),s.dirty||n.extendFlat(s,o),s}},{"../../lib":778}],1293:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../scatter/subtypes"),a=t("./helpers");e.exports=function(t,e){var r=t.cd,o=r[0].trace,s=r[0].t,l=t.scene,c=l.matrixOptions.cdata,u=t.xaxis,f=t.yaxis,h=[];if(!l)return h;var p=!i.hasMarkers(o)&&!i.hasText(o);if(!0!==o.visible||p)return h;var d=a.getDimIndex(o,u),g=a.getDimIndex(o,f);if(!1===d||!1===g)return h;var m=s.xpx[d],v=s.ypx[g],y=c[d],x=c[g],b=[],_=[];if(!1!==e&&!e.degenerate)for(var w=0;w<y.length;w++)e.contains([m[w],v[w]],null,w,t)?(b.push(w),h.push({pointNumber:w,x:y[w],y:x[w]})):_.push(w);var T=l.matrixOptions;return b.length||_.length?l.selectBatch.length||l.unselectBatch.length||l.matrix.update(l.unselectedOptions,n.extendFlat({},T,l.selectedOptions,l.viewOpts)):l.matrix.update(T,null),l.selectBatch=b,l.unselectBatch=_,h}},{"../../lib":778,"../scatter/subtypes":1212,"./helpers":1288}],1294:[function(t,e,r){"use strict";var n=t("../../components/colorscale/attributes"),i=t("../../plots/template_attributes").hovertemplateAttrs,a=t("../mesh3d/attributes"),o=t("../../plots/attributes"),s=t("../../lib/extend").extendFlat,l={x:{valType:"data_array",editType:"calc+clearAxisTypes"},y:{valType:"data_array",editType:"calc+clearAxisTypes"},z:{valType:"data_array",editType:"calc+clearAxisTypes"},u:{valType:"data_array",editType:"calc"},v:{valType:"data_array",editType:"calc"},w:{valType:"data_array",editType:"calc"},starts:{x:{valType:"data_array",editType:"calc"},y:{valType:"data_array",editType:"calc"},z:{valType:"data_array",editType:"calc"},editType:"calc"},maxdisplayed:{valType:"integer",min:0,dflt:1e3,editType:"calc"},sizeref:{valType:"number",editType:"calc",min:0,dflt:1},text:{valType:"string",dflt:"",editType:"calc"},hovertext:{valType:"string",dflt:"",editType:"calc"},hovertemplate:i({editType:"calc"},{keys:["tubex","tubey","tubez","tubeu","tubev","tubew","norm","divergence"]}),showlegend:s({},o.showlegend,{dflt:!1})};s(l,n("",{colorAttr:"u/v/w norm",showScaleDflt:!0,editTypeOverride:"calc"}));["opacity","lightposition","lighting"].forEach((function(t){l[t]=a[t]})),l.hoverinfo=s({},o.hoverinfo,{editType:"calc",flags:["x","y","z","u","v","w","norm","divergence","text","name"],dflt:"x+y+z+norm+text+name"}),l.transforms=void 0,e.exports=l},{"../../components/colorscale/attributes":650,"../../lib/extend":768,"../../plots/attributes":824,"../../plots/template_attributes":906,"../mesh3d/attributes":1128}],1295:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../components/colorscale/calc");function a(t){var e,r,i,a,s,l,c,u,f,h,p,d,g=t._x,m=t._y,v=t._z,y=t._len,x=-1/0,b=1/0,_=-1/0,w=1/0,T=-1/0,k=1/0,M="";for(y&&(c=g[0],f=m[0],p=v[0]),y>1&&(u=g[y-1],h=m[y-1],d=v[y-1]),e=0;e<y;e++)x=Math.max(x,g[e]),b=Math.min(b,g[e]),_=Math.max(_,m[e]),w=Math.min(w,m[e]),T=Math.max(T,v[e]),k=Math.min(k,v[e]),a||g[e]===c||(a=!0,M+="x"),s||m[e]===f||(s=!0,M+="y"),l||v[e]===p||(l=!0,M+="z");a||(M+="x"),s||(M+="y"),l||(M+="z");var A=o(t._x),S=o(t._y),E=o(t._z);M=(M=(M=M.replace("x",(c>u?"-":"+")+"x")).replace("y",(f>h?"-":"+")+"y")).replace("z",(p>d?"-":"+")+"z");var C=function(){y=0,A=[],S=[],E=[]};(!y||y<A.length*S.length*E.length)&&C();var L=function(t){return"x"===t?g:"y"===t?m:v},I=function(t){return"x"===t?A:"y"===t?S:E},P=function(t){return t[y-1]<t[0]?-1:1},z=L(M[1]),O=L(M[3]),D=L(M[5]),R=I(M[1]).length,F=I(M[3]).length,B=I(M[5]).length,N=!1,j=function(t,e,r){return R*(F*t+e)+r},U=P(L(M[1])),V=P(L(M[3])),q=P(L(M[5]));for(e=0;e<B-1;e++){for(r=0;r<F-1;r++){for(i=0;i<R-1;i++){var H=j(e,r,i),G=j(e,r,i+1),Y=j(e,r+1,i),W=j(e+1,r,i);if(z[H]*U<z[G]*U&&O[H]*V<O[Y]*V&&D[H]*q<D[W]*q||(N=!0),N)break}if(N)break}if(N)break}return N&&(n.warn("Encountered arbitrary coordinates! Unable to input data grid."),C()),{xMin:b,yMin:w,zMin:k,xMax:x,yMax:_,zMax:T,Xs:A,Ys:S,Zs:E,len:y,fill:M}}function o(t){return n.distinctVals(t).vals}function s(t,e){if(void 0===e&&(e=t.length),n.isTypedArray(t))return t.subarray(0,e);for(var r=[],i=0;i<e;i++)r[i]=+t[i];return r}e.exports={calc:function(t,e){e._len=Math.min(e.u.length,e.v.length,e.w.length,e.x.length,e.y.length,e.z.length),e._u=s(e.u,e._len),e._v=s(e.v,e._len),e._w=s(e.w,e._len),e._x=s(e.x,e._len),e._y=s(e.y,e._len),e._z=s(e.z,e._len);var r=a(e);e._gridFill=r.fill,e._Xs=r.Xs,e._Ys=r.Ys,e._Zs=r.Zs,e._len=r.len;var n,o,l,c=0;e.starts&&(n=s(e.starts.x||[]),o=s(e.starts.y||[]),l=s(e.starts.z||[]),c=Math.min(n.length,o.length,l.length)),e._startsX=n||[],e._startsY=o||[],e._startsZ=l||[];var u,f=0,h=1/0;for(u=0;u<e._len;u++){var p=e._u[u],d=e._v[u],g=e._w[u],m=Math.sqrt(p*p+d*d+g*g);f=Math.max(f,m),h=Math.min(h,m)}for(i(t,e,{vals:[h,f],containerStr:"",cLetter:"c"}),u=0;u<c;u++){var v=n[u];r.xMax=Math.max(r.xMax,v),r.xMin=Math.min(r.xMin,v);var y=o[u];r.yMax=Math.max(r.yMax,y),r.yMin=Math.min(r.yMin,y);var x=l[u];r.zMax=Math.max(r.zMax,x),r.zMin=Math.min(r.zMin,x)}e._slen=c,e._normMax=f,e._xbnds=[r.xMin,r.xMax],e._ybnds=[r.yMin,r.yMax],e._zbnds=[r.zMin,r.zMax]},filter:s,processGrid:a}},{"../../components/colorscale/calc":651,"../../lib":778}],1296:[function(t,e,r){"use strict";var n=t("gl-streamtube3d"),i=n.createTubeMesh,a=t("../../lib"),o=t("../../lib/gl_format_color").parseColorScale,s=t("../../components/colorscale").extractOpts,l=t("../../plots/gl3d/zip3"),c={xaxis:0,yaxis:1,zaxis:2};function u(t,e){this.scene=t,this.uid=e,this.mesh=null,this.data=null}var f=u.prototype;function h(t){var e=t.length;return e>2?t.slice(1,e-1):2===e?[(t[0]+t[1])/2]:t}function p(t){var e=t.length;return 1===e?[.5,.5]:[t[1]-t[0],t[e-1]-t[e-2]]}function d(t,e){var r=t.fullSceneLayout,i=t.dataScale,u=e._len,f={};function d(t,e){var n=r[e],o=i[c[e]];return a.simpleMap(t,(function(t){return n.d2l(t)*o}))}if(f.vectors=l(d(e._u,"xaxis"),d(e._v,"yaxis"),d(e._w,"zaxis"),u),!u)return{positions:[],cells:[]};var g=d(e._Xs,"xaxis"),m=d(e._Ys,"yaxis"),v=d(e._Zs,"zaxis");if(f.meshgrid=[g,m,v],f.gridFill=e._gridFill,e._slen)f.startingPositions=l(d(e._startsX,"xaxis"),d(e._startsY,"yaxis"),d(e._startsZ,"zaxis"));else{for(var y=m[0],x=h(g),b=h(v),_=new Array(x.length*b.length),w=0,T=0;T<x.length;T++)for(var k=0;k<b.length;k++)_[w++]=[x[T],y,b[k]];f.startingPositions=_}f.colormap=o(e),f.tubeSize=e.sizeref,f.maxLength=e.maxdisplayed;var M=d(e._xbnds,"xaxis"),A=d(e._ybnds,"yaxis"),S=d(e._zbnds,"zaxis"),E=p(g),C=p(m),L=p(v),I=[[M[0]-E[0],A[0]-C[0],S[0]-L[0]],[M[1]+E[1],A[1]+C[1],S[1]+L[1]]],P=n(f,I),z=s(e);P.vertexIntensityBounds=[z.min/e._normMax,z.max/e._normMax];var O=e.lightposition;return P.lightPosition=[O.x,O.y,O.z],P.ambient=e.lighting.ambient,P.diffuse=e.lighting.diffuse,P.specular=e.lighting.specular,P.roughness=e.lighting.roughness,P.fresnel=e.lighting.fresnel,P.opacity=e.opacity,e._pad=P.tubeScale*e.sizeref*2,P}f.handlePick=function(t){var e=this.scene.fullSceneLayout,r=this.scene.dataScale;function n(t,n){var i=e[n],a=r[c[n]];return i.l2c(t)/a}if(t.object===this.mesh){var i=t.data.position,a=t.data.velocity;return t.traceCoordinate=[n(i[0],"xaxis"),n(i[1],"yaxis"),n(i[2],"zaxis"),n(a[0],"xaxis"),n(a[1],"yaxis"),n(a[2],"zaxis"),t.data.intensity*this.data._normMax,t.data.divergence],t.textLabel=this.data.hovertext||this.data.text,!0}},f.update=function(t){this.data=t;var e=d(this.scene,t);this.mesh.update(e)},f.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()},e.exports=function(t,e){var r=t.glplot.gl,n=d(t,e),a=i(r,n),o=new u(t,e.uid);return o.mesh=a,o.data=e,a._trace=o,t.glplot.add(a),o}},{"../../components/colorscale":655,"../../lib":778,"../../lib/gl_format_color":774,"../../plots/gl3d/zip3":881,"gl-streamtube3d":348}],1297:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../components/colorscale/defaults"),a=t("./attributes");e.exports=function(t,e,r,o){function s(r,i){return n.coerce(t,e,a,r,i)}var l=s("u"),c=s("v"),u=s("w"),f=s("x"),h=s("y"),p=s("z");l&&l.length&&c&&c.length&&u&&u.length&&f&&f.length&&h&&h.length&&p&&p.length?(s("starts.x"),s("starts.y"),s("starts.z"),s("maxdisplayed"),s("sizeref"),s("lighting.ambient"),s("lighting.diffuse"),s("lighting.specular"),s("lighting.roughness"),s("lighting.fresnel"),s("lightposition.x"),s("lightposition.y"),s("lightposition.z"),i(t,e,o,s,{prefix:"",cLetter:"c"}),s("text"),s("hovertext"),s("hovertemplate"),e._length=null):e.visible=!1}},{"../../components/colorscale/defaults":653,"../../lib":778,"./attributes":1294}],1298:[function(t,e,r){"use strict";e.exports={moduleType:"trace",name:"streamtube",basePlotModule:t("../../plots/gl3d"),categories:["gl3d","showLegend"],attributes:t("./attributes"),supplyDefaults:t("./defaults"),colorbar:{min:"cmin",max:"cmax"},calc:t("./calc").calc,plot:t("./convert"),eventData:function(t,e){return t.tubex=t.x,t.tubey=t.y,t.tubez=t.z,t.tubeu=e.traceCoordinate[3],t.tubev=e.traceCoordinate[4],t.tubew=e.traceCoordinate[5],t.norm=e.traceCoordinate[6],t.divergence=e.traceCoordinate[7],delete t.x,delete t.y,delete t.z,t},meta:{}}},{"../../plots/gl3d":870,"./attributes":1294,"./calc":1295,"./convert":1296,"./defaults":1297}],1299:[function(t,e,r){"use strict";var n=t("../../plots/attributes"),i=t("../../plots/template_attributes").hovertemplateAttrs,a=t("../../plots/template_attributes").texttemplateAttrs,o=t("../../components/colorscale/attributes"),s=t("../../plots/domain").attributes,l=t("../pie/attributes"),c=t("./constants"),u=t("../../lib/extend").extendFlat;e.exports={labels:{valType:"data_array",editType:"calc"},parents:{valType:"data_array",editType:"calc"},values:{valType:"data_array",editType:"calc"},branchvalues:{valType:"enumerated",values:["remainder","total"],dflt:"remainder",editType:"calc"},count:{valType:"flaglist",flags:["branches","leaves"],dflt:"leaves",editType:"calc"},level:{valType:"any",editType:"plot",anim:!0},maxdepth:{valType:"integer",editType:"plot",dflt:-1},marker:u({colors:{valType:"data_array",editType:"calc"},line:{color:u({},l.marker.line.color,{dflt:null}),width:u({},l.marker.line.width,{dflt:1}),editType:"calc"},editType:"calc"},o("marker",{colorAttr:"colors",anim:!1})),leaf:{opacity:{valType:"number",editType:"style",min:0,max:1},editType:"plot"},text:l.text,textinfo:{valType:"flaglist",flags:["label","text","value","current path","percent root","percent entry","percent parent"],extras:["none"],editType:"plot"},texttemplate:a({editType:"plot"},{keys:c.eventDataKeys.concat(["label","value"])}),hovertext:l.hovertext,hoverinfo:u({},n.hoverinfo,{flags:["label","text","value","name","current path","percent root","percent entry","percent parent"],dflt:"label+text+value+name"}),hovertemplate:i({},{keys:c.eventDataKeys}),textfont:l.textfont,insidetextorientation:l.insidetextorientation,insidetextfont:l.insidetextfont,outsidetextfont:u({},l.outsidetextfont,{}),rotation:{valType:"angle",dflt:0,editType:"plot"},sort:l.sort,root:{color:{valType:"color",editType:"calc",dflt:"rgba(0,0,0,0)"},editType:"calc"},domain:s({name:"sunburst",trace:!0,editType:"calc"})}},{"../../components/colorscale/attributes":650,"../../lib/extend":768,"../../plots/attributes":824,"../../plots/domain":855,"../../plots/template_attributes":906,"../pie/attributes":1161,"./constants":1302}],1300:[function(t,e,r){"use strict";var n=t("../../plots/plots");r.name="sunburst",r.plot=function(t,e,i,a){n.plotBasePlot(r.name,t,e,i,a)},r.clean=function(t,e,i,a){n.cleanBasePlot(r.name,t,e,i,a)}},{"../../plots/plots":891}],1301:[function(t,e,r){"use strict";var n=t("d3-hierarchy"),i=t("fast-isnumeric"),a=t("../../lib"),o=t("../../components/colorscale").makeColorScaleFuncFromTrace,s=t("../pie/calc").makePullColorFn,l=t("../pie/calc").generateExtendedColors,c=t("../../components/colorscale").calc,u=t("../../constants/numerical").ALMOST_EQUAL,f={},h={};r.calc=function(t,e){var r,l,f,h,p,d,g=t._fullLayout,m=e.ids,v=a.isArrayOrTypedArray(m),y=e.labels,x=e.parents,b=e.values,_=a.isArrayOrTypedArray(b),w=[],T={},k={},M=function(t){return t||"number"==typeof t},A=function(t){return!_||i(b[t])&&b[t]>=0};v?(r=Math.min(m.length,x.length),l=function(t){return M(m[t])&&A(t)},f=function(t){return String(m[t])}):(r=Math.min(y.length,x.length),l=function(t){return M(y[t])&&A(t)},f=function(t){return String(y[t])}),_&&(r=Math.min(r,b.length));for(var S=0;S<r;S++)if(l(S)){var E=f(S),C=M(x[S])?String(x[S]):"",L={i:S,id:E,pid:C,label:M(y[S])?String(y[S]):""};_&&(L.v=+b[S]),w.push(L),p=E,T[h=C]?T[h].push(p):T[h]=[p],k[p]=1}if(T[""]){if(T[""].length>1){for(var I=a.randstr(),P=0;P<w.length;P++)""===w[P].pid&&(w[P].pid=I);w.unshift({hasMultipleRoots:!0,id:I,pid:"",label:""})}}else{var z,O=[];for(z in T)k[z]||O.push(z);if(1!==O.length)return a.warn(["Multiple implied roots, cannot build",e.type,"hierarchy of",e.name+".","These roots include:",O.join(", ")].join(" "));z=O[0],w.unshift({hasImpliedRoot:!0,id:z,pid:"",label:z})}try{d=n.stratify().id((function(t){return t.id})).parentId((function(t){return t.pid}))(w)}catch(t){return a.warn(["Failed to build",e.type,"hierarchy of",e.name+".","Error:",t.message].join(" "))}var D=n.hierarchy(d),R=!1;if(_)switch(e.branchvalues){case"remainder":D.sum((function(t){return t.data.v}));break;case"total":D.each((function(t){var r=t.data.data,n=r.v;if(t.children){var i=t.children.reduce((function(t,e){return t+e.data.data.v}),0);if((r.hasImpliedRoot||r.hasMultipleRoots)&&(n=i),n<i*u)return R=!0,a.warn(["Total value for node",t.data.data.id,"of",e.name,"is smaller than the sum of its children.","\nparent value =",n,"\nchildren sum =",i].join(" "))}t.value=n}))}else!function t(e,r,n){var i=0,a=e.children;if(a){for(var o=a.length,s=0;s<o;s++)i+=t(a[s],r,n);n.branches&&i++}else n.leaves&&i++;e.value=e.data.data.value=i,r._values||(r._values=[]);return r._values[e.data.data.i]=i,i}(D,e,{branches:-1!==e.count.indexOf("branches"),leaves:-1!==e.count.indexOf("leaves")});if(!R){var F,B;e.sort&&D.sort((function(t,e){return e.value-t.value}));var N=e.marker.colors||[],j=!!N.length;return e._hasColorscale?(j||(N=_?e.values:e._values),c(t,e,{vals:N,containerStr:"marker",cLetter:"c"}),B=o(e.marker)):F=s(g["_"+e.type+"colormap"]),D.each((function(t){var r=t.data.data;r.color=e._hasColorscale?B(N[r.i]):F(N[r.i],r.id)})),w[0].hierarchy=D,w}},r._runCrossTraceCalc=function(t,e){var r=e._fullLayout,n=e.calcdata,i=r[t+"colorway"],a=r["_"+t+"colormap"];r["extend"+t+"colors"]&&(i=l(i,"treemap"===t?h:f));var o,s=0;function c(t){var e=t.data.data,r=e.id;!1===e.color&&(a[r]?e.color=a[r]:t.parent?t.parent.parent?e.color=t.parent.data.data.color:(a[r]=e.color=i[s%i.length],s++):e.color=o)}for(var u=0;u<n.length;u++){var p=n[u][0];p.trace.type===t&&p.hierarchy&&(o=p.trace.root.color,p.hierarchy.each(c))}},r.crossTraceCalc=function(t){return r._runCrossTraceCalc("sunburst",t)}},{"../../components/colorscale":655,"../../constants/numerical":753,"../../lib":778,"../pie/calc":1163,"d3-hierarchy":161,"fast-isnumeric":241}],1302:[function(t,e,r){"use strict";e.exports={CLICK_TRANSITION_TIME:750,CLICK_TRANSITION_EASING:"linear",eventDataKeys:["currentPath","root","entry","percentRoot","percentEntry","percentParent"]}},{}],1303:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./attributes"),a=t("../../plots/domain").defaults,o=t("../bar/defaults").handleText,s=t("../../components/colorscale"),l=s.hasColorscale,c=s.handleDefaults;e.exports=function(t,e,r,s){function u(r,a){return n.coerce(t,e,i,r,a)}var f=u("labels"),h=u("parents");if(f&&f.length&&h&&h.length){var p=u("values");p&&p.length?u("branchvalues"):u("count"),u("level"),u("maxdepth"),u("marker.line.width")&&u("marker.line.color",s.paper_bgcolor),u("marker.colors");var d=e._hasColorscale=l(t,"marker","colors")||(t.marker||{}).coloraxis;d&&c(t,e,s,u,{prefix:"marker.",cLetter:"c"}),u("leaf.opacity",d?1:.7);var g=u("text");u("texttemplate"),e.texttemplate||u("textinfo",Array.isArray(g)?"text+label":"label"),u("hovertext"),u("hovertemplate");o(t,e,s,u,"auto",{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),u("insidetextorientation"),u("sort"),u("rotation"),u("root.color"),a(e,s,u),e._length=null}else e.visible=!1}},{"../../components/colorscale":655,"../../lib":778,"../../plots/domain":855,"../bar/defaults":925,"./attributes":1299}],1304:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../registry"),a=t("../../components/fx/helpers").appendArrayPointValue,o=t("../../components/fx"),s=t("../../lib"),l=t("../../lib/events"),c=t("./helpers"),u=t("../pie/helpers").formatPieValue;function f(t,e,r){for(var n=t.data.data,i={curveNumber:e.index,pointNumber:n.i,data:e._input,fullData:e},o=0;o<r.length;o++){var s=r[o];s in t&&(i[s]=t[s])}return"parentString"in t&&!c.isHierarchyRoot(t)&&(i.parent=t.parentString),a(i,e,n.i),i}e.exports=function(t,e,r,a,h){var p=a[0],d=p.trace,g=p.hierarchy,m="sunburst"===d.type,v="treemap"===d.type;"_hasHoverLabel"in d||(d._hasHoverLabel=!1),"_hasHoverEvent"in d||(d._hasHoverEvent=!1);t.on("mouseover",(function(i){var a=r._fullLayout;if(!r._dragging&&!1!==a.hovermode){var l=r._fullData[d.index],y=i.data.data,x=y.i,b=c.isHierarchyRoot(i),_=c.getParent(g,i),w=c.getValue(i),T=function(t){return s.castOption(l,x,t)},k=T("hovertemplate"),M=o.castHoverinfo(l,a,x),A=a.separators;if(k||M&&"none"!==M&&"skip"!==M){var S,E;m&&(S=p.cx+i.pxmid[0]*(1-i.rInscribed),E=p.cy+i.pxmid[1]*(1-i.rInscribed)),v&&(S=i._hoverX,E=i._hoverY);var C,L={},I=[],P=[],z=function(t){return-1!==I.indexOf(t)};M&&(I="all"===M?l._module.attributes.hoverinfo.flags:M.split("+")),L.label=y.label,z("label")&&L.label&&P.push(L.label),y.hasOwnProperty("v")&&(L.value=y.v,L.valueLabel=u(L.value,A),z("value")&&P.push(L.valueLabel)),L.currentPath=i.currentPath=c.getPath(i.data),z("current path")&&!b&&P.push(L.currentPath);var O=[],D=function(){-1===O.indexOf(C)&&(P.push(C),O.push(C))};L.percentParent=i.percentParent=w/c.getValue(_),L.parent=i.parentString=c.getPtLabel(_),z("percent parent")&&(C=c.formatPercent(L.percentParent,A)+" of "+L.parent,D()),L.percentEntry=i.percentEntry=w/c.getValue(e),L.entry=i.entry=c.getPtLabel(e),!z("percent entry")||b||i.onPathbar||(C=c.formatPercent(L.percentEntry,A)+" of "+L.entry,D()),L.percentRoot=i.percentRoot=w/c.getValue(g),L.root=i.root=c.getPtLabel(g),z("percent root")&&!b&&(C=c.formatPercent(L.percentRoot,A)+" of "+L.root,D()),L.text=T("hovertext")||T("text"),z("text")&&(C=L.text,s.isValidTextValue(C)&&P.push(C));var R={trace:l,y:E,text:P.join("<br>"),name:k||z("name")?l.name:void 0,color:T("hoverlabel.bgcolor")||y.color,borderColor:T("hoverlabel.bordercolor"),fontFamily:T("hoverlabel.font.family"),fontSize:T("hoverlabel.font.size"),fontColor:T("hoverlabel.font.color"),nameLength:T("hoverlabel.namelength"),textAlign:T("hoverlabel.align"),hovertemplate:k,hovertemplateLabels:L,eventData:[f(i,l,h.eventDataKeys)]};m&&(R.x0=S-i.rInscribed*i.rpx1,R.x1=S+i.rInscribed*i.rpx1,R.idealAlign=i.pxmid[0]<0?"left":"right"),v&&(R.x=S,R.idealAlign=S<0?"left":"right"),o.loneHover(R,{container:a._hoverlayer.node(),outerContainer:a._paper.node(),gd:r}),d._hasHoverLabel=!0}if(v){var F=t.select("path.surface");h.styleOne(F,i,l,{hovered:!0})}d._hasHoverEvent=!0,r.emit("plotly_hover",{points:[f(i,l,h.eventDataKeys)],event:n.event})}})),t.on("mouseout",(function(e){var i=r._fullLayout,a=r._fullData[d.index],s=n.select(this).datum();if(d._hasHoverEvent&&(e.originalEvent=n.event,r.emit("plotly_unhover",{points:[f(s,a,h.eventDataKeys)],event:n.event}),d._hasHoverEvent=!1),d._hasHoverLabel&&(o.loneUnhover(i._hoverlayer.node()),d._hasHoverLabel=!1),v){var l=t.select("path.surface");h.styleOne(l,s,a,{hovered:!1})}})),t.on("click",(function(t){var e=r._fullLayout,a=r._fullData[d.index],s=m&&(c.isHierarchyRoot(t)||c.isLeaf(t)),u=c.getPtId(t),p=c.isEntry(t)?c.findEntryWithChild(g,u):c.findEntryWithLevel(g,u),v=c.getPtId(p),y={points:[f(t,a,h.eventDataKeys)],event:n.event};s||(y.nextLevel=v);var x=l.triggerHandler(r,"plotly_"+d.type+"click",y);if(!1!==x&&e.hovermode&&(r._hoverdata=[f(t,a,h.eventDataKeys)],o.click(r,n.event)),!s&&!1!==x&&!r._dragging&&!r._transitioning){i.call("_storeDirectGUIEdit",a,e._tracePreGUI[a.uid],{level:a.level});var b={data:[{level:v}],traces:[d.index]},_={frame:{redraw:!1,duration:h.transitionTime},transition:{duration:h.transitionTime,easing:h.transitionEasing},mode:"immediate",fromcurrent:!0};o.loneUnhover(e._hoverlayer.node()),i.call("animate",r,b,_)}}))}},{"../../components/fx":683,"../../components/fx/helpers":679,"../../lib":778,"../../lib/events":767,"../../registry":911,"../pie/helpers":1166,"./helpers":1305,d3:169}],1305:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../components/color"),a=t("../../lib/setcursor"),o=t("../pie/helpers");function s(t){return t.data.data.pid}r.findEntryWithLevel=function(t,e){var n;return e&&t.eachAfter((function(t){if(r.getPtId(t)===e)return n=t.copy()})),n||t},r.findEntryWithChild=function(t,e){var n;return t.eachAfter((function(t){for(var i=t.children||[],a=0;a<i.length;a++){var o=i[a];if(r.getPtId(o)===e)return n=t.copy()}})),n||t},r.isEntry=function(t){return!t.parent},r.isLeaf=function(t){return!t.children},r.getPtId=function(t){return t.data.data.id},r.getPtLabel=function(t){return t.data.data.label},r.getValue=function(t){return t.value},r.isHierarchyRoot=function(t){return""===s(t)},r.setSliceCursor=function(t,e,n){var i=n.isTransitioning;if(!i){var o=t.datum();i=n.hideOnRoot&&r.isHierarchyRoot(o)||n.hideOnLeaves&&r.isLeaf(o)}a(t,i?null:"pointer")},r.getInsideTextFontKey=function(t,e,r,i,a){var o=(a||{}).onPathbar?"pathbar.textfont":"insidetextfont",s=r.data.data.i;return n.castOption(e,s,o+"."+t)||n.castOption(e,s,"textfont."+t)||i.size},r.getOutsideTextFontKey=function(t,e,r,i){var a=r.data.data.i;return n.castOption(e,a,"outsidetextfont."+t)||n.castOption(e,a,"textfont."+t)||i.size},r.isOutsideText=function(t,e){return!t._hasColorscale&&r.isHierarchyRoot(e)},r.determineTextFont=function(t,e,a,o){return r.isOutsideText(t,e)?function(t,e,n){return{color:r.getOutsideTextFontKey("color",t,e,n),family:r.getOutsideTextFontKey("family",t,e,n),size:r.getOutsideTextFontKey("size",t,e,n)}}(t,e,a):function(t,e,a,o){var s=(o||{}).onPathbar,l=e.data.data,c=l.i,u=n.castOption(t,c,(s?"pathbar.textfont":"insidetextfont")+".color");return!u&&t._input.textfont&&(u=n.castOption(t._input,c,"textfont.color")),{color:u||i.contrast(l.color),family:r.getInsideTextFontKey("family",t,e,a,o),size:r.getInsideTextFontKey("size",t,e,a,o)}}(t,e,a,o)},r.hasTransition=function(t){return!!(t&&t.duration>0)},r.getMaxDepth=function(t){return t.maxdepth>=0?t.maxdepth:1/0},r.isHeader=function(t,e){return!(r.isLeaf(t)||t.depth===e._maxDepth-1)},r.getParent=function(t,e){return r.findEntryWithLevel(t,s(e))},r.listPath=function(t,e){var n=t.parent;if(!n)return[];var i=e?[n.data[e]]:[n];return r.listPath(n,e).concat(i)},r.getPath=function(t){return r.listPath(t,"label").join("/")+"/"},r.formatValue=o.formatPieValue,r.formatPercent=function(t,e){var r=n.formatPercent(t,0);return"0%"===r&&(r=o.formatPiePercent(t,e)),r}},{"../../components/color":643,"../../lib":778,"../../lib/setcursor":799,"../pie/helpers":1166}],1306:[function(t,e,r){"use strict";e.exports={moduleType:"trace",name:"sunburst",basePlotModule:t("./base_plot"),categories:[],animatable:!0,attributes:t("./attributes"),layoutAttributes:t("./layout_attributes"),supplyDefaults:t("./defaults"),supplyLayoutDefaults:t("./layout_defaults"),calc:t("./calc").calc,crossTraceCalc:t("./calc").crossTraceCalc,plot:t("./plot").plot,style:t("./style").style,colorbar:t("../scatter/marker_colorbar"),meta:{}}},{"../scatter/marker_colorbar":1205,"./attributes":1299,"./base_plot":1300,"./calc":1301,"./defaults":1303,"./layout_attributes":1307,"./layout_defaults":1308,"./plot":1309,"./style":1310}],1307:[function(t,e,r){"use strict";e.exports={sunburstcolorway:{valType:"colorlist",editType:"calc"},extendsunburstcolors:{valType:"boolean",dflt:!0,editType:"calc"}}},{}],1308:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./layout_attributes");e.exports=function(t,e){function r(r,a){return n.coerce(t,e,i,r,a)}r("sunburstcolorway",e.colorway),r("extendsunburstcolors")}},{"../../lib":778,"./layout_attributes":1307}],1309:[function(t,e,r){"use strict";var n=t("d3"),i=t("d3-hierarchy"),a=t("../../components/drawing"),o=t("../../lib"),s=t("../../lib/svg_text_utils"),l=t("../bar/uniform_text"),c=l.recordMinTextSize,u=l.clearMinTextSize,f=t("../pie/plot"),h=t("../pie/helpers").getRotationAngle,p=f.computeTransform,d=f.transformInsideText,g=t("./style").styleOne,m=t("../bar/style").resizeText,v=t("./fx"),y=t("./constants"),x=t("./helpers");function b(t,e,l,u){var f=t._fullLayout,m=!f.uniformtext.mode&&x.hasTransition(u),b=n.select(l).selectAll("g.slice"),w=e[0],T=w.trace,k=w.hierarchy,M=x.findEntryWithLevel(k,T.level),A=x.getMaxDepth(T),S=f._size,E=T.domain,C=S.w*(E.x[1]-E.x[0]),L=S.h*(E.y[1]-E.y[0]),I=.5*Math.min(C,L),P=w.cx=S.l+S.w*(E.x[1]+E.x[0])/2,z=w.cy=S.t+S.h*(1-E.y[0])-L/2;if(!M)return b.remove();var O=null,D={};m&&b.each((function(t){D[x.getPtId(t)]={rpx0:t.rpx0,rpx1:t.rpx1,x0:t.x0,x1:t.x1,transform:t.transform},!O&&x.isEntry(t)&&(O=t)}));var R=function(t){return i.partition().size([2*Math.PI,t.height+1])(t)}(M).descendants(),F=M.height+1,B=0,N=A;w.hasMultipleRoots&&x.isHierarchyRoot(M)&&(R=R.slice(1),F-=1,B=1,N+=1),R=R.filter((function(t){return t.y1<=N}));var j=h(T.rotation);j&&R.forEach((function(t){t.x0+=j,t.x1+=j}));var U=Math.min(F,A),V=function(t){return(t-B)/U*I},q=function(t,e){return[t*Math.cos(e),-t*Math.sin(e)]},H=function(t){return o.pathAnnulus(t.rpx0,t.rpx1,t.x0,t.x1,P,z)},G=function(t){return P+_(t)[0]*(t.transform.rCenter||0)+(t.transform.x||0)},Y=function(t){return z+_(t)[1]*(t.transform.rCenter||0)+(t.transform.y||0)};(b=b.data(R,x.getPtId)).enter().append("g").classed("slice",!0),m?b.exit().transition().each((function(){var t=n.select(this);t.select("path.surface").transition().attrTween("d",(function(t){var e=function(t){var e,r=x.getPtId(t),i=D[r],a=D[x.getPtId(M)];if(a){var o=(t.x1>a.x1?2*Math.PI:0)+j;e=t.rpx1<a.rpx1?{rpx0:0,rpx1:0}:{x0:o,x1:o}}else{var s,l=x.getPtId(t.parent);b.each((function(t){if(x.getPtId(t)===l)return s=t}));var c,u=s.children;u.forEach((function(t,e){if(x.getPtId(t)===r)return c=e}));var f=u.length,h=n.interpolate(s.x0,s.x1);e={rpx0:I,rpx1:I,x0:h(c/f),x1:h((c+1)/f)}}return n.interpolate(i,e)}(t);return function(t){return H(e(t))}})),t.select("g.slicetext").attr("opacity",0)})).remove():b.exit().remove(),b.order();var W=null;if(m&&O){var X=x.getPtId(O);b.each((function(t){null===W&&x.getPtId(t)===X&&(W=t.x1)}))}var Z=b;function J(t){var e=t.parent,r=D[x.getPtId(e)],i={};if(r){var a=e.children,o=a.indexOf(t),s=a.length,l=n.interpolate(r.x0,r.x1);i.x0=l(o/s),i.x1=l(o/s)}else i.x0=i.x1=0;return i}m&&(Z=Z.transition().each("end",(function(){var e=n.select(this);x.setSliceCursor(e,t,{hideOnRoot:!0,hideOnLeaves:!0,isTransitioning:!1})}))),Z.each((function(i){var l=n.select(this),u=o.ensureSingle(l,"path","surface",(function(t){t.style("pointer-events","all")}));i.rpx0=V(i.y0),i.rpx1=V(i.y1),i.xmid=(i.x0+i.x1)/2,i.pxmid=q(i.rpx1,i.xmid),i.midangle=-(i.xmid-Math.PI/2),i.startangle=-(i.x0-Math.PI/2),i.stopangle=-(i.x1-Math.PI/2),i.halfangle=.5*Math.min(o.angleDelta(i.x0,i.x1)||Math.PI,Math.PI),i.ring=1-i.rpx0/i.rpx1,i.rInscribed=function(t){return 0===t.rpx0&&o.isFullCircle([t.x0,t.x1])?1:Math.max(0,Math.min(1/(1+1/Math.sin(t.halfangle)),t.ring/2))}(i),m?u.transition().attrTween("d",(function(t){var e=function(t){var e,r=D[x.getPtId(t)],i={x0:t.x0,x1:t.x1,rpx0:t.rpx0,rpx1:t.rpx1};if(r)e=r;else if(O)if(t.parent)if(W){var a=(t.x1>W?2*Math.PI:0)+j;e={x0:a,x1:a}}else e={rpx0:I,rpx1:I},o.extendFlat(e,J(t));else e={rpx0:0,rpx1:0};else e={x0:j,x1:j};return n.interpolate(e,i)}(t);return function(t){return H(e(t))}})):u.attr("d",H),l.call(v,M,t,e,{eventDataKeys:y.eventDataKeys,transitionTime:y.CLICK_TRANSITION_TIME,transitionEasing:y.CLICK_TRANSITION_EASING}).call(x.setSliceCursor,t,{hideOnRoot:!0,hideOnLeaves:!0,isTransitioning:t._transitioning}),u.call(g,i,T);var h=o.ensureSingle(l,"g","slicetext"),b=o.ensureSingle(h,"text","",(function(t){t.attr("data-notex",1)})),_=o.ensureUniformFontSize(t,x.determineTextFont(T,i,f.font));b.text(r.formatSliceLabel(i,M,T,e,f)).classed("slicetext",!0).attr("text-anchor","middle").call(a.font,_).call(s.convertToTspans,t);var k=a.bBox(b.node());i.transform=d(k,i,w),i.transform.targetX=G(i),i.transform.targetY=Y(i);var A=function(t,e){var r=t.transform;return p(r,e),r.fontSize=_.size,c(T.type,r,f),o.getTextTransform(r)};m?b.transition().attrTween("transform",(function(t){var e=function(t){var e,r=D[x.getPtId(t)],i=t.transform;if(r)e=r;else if(e={rpx1:t.rpx1,transform:{textPosAngle:i.textPosAngle,scale:0,rotate:i.rotate,rCenter:i.rCenter,x:i.x,y:i.y}},O)if(t.parent)if(W){var a=t.x1>W?2*Math.PI:0;e.x0=e.x1=a}else o.extendFlat(e,J(t));else e.x0=e.x1=j;else e.x0=e.x1=j;var s=n.interpolate(e.transform.textPosAngle,t.transform.textPosAngle),l=n.interpolate(e.rpx1,t.rpx1),u=n.interpolate(e.x0,t.x0),h=n.interpolate(e.x1,t.x1),p=n.interpolate(e.transform.scale,i.scale),d=n.interpolate(e.transform.rotate,i.rotate),g=0===i.rCenter?3:0===e.transform.rCenter?1/3:1,m=n.interpolate(e.transform.rCenter,i.rCenter);return function(t){var e=l(t),r=u(t),n=h(t),a=function(t){return m(Math.pow(t,g))}(t),o={pxmid:q(e,(r+n)/2),rpx1:e,transform:{textPosAngle:s(t),rCenter:a,x:i.x,y:i.y}};return c(T.type,i,f),{transform:{targetX:G(o),targetY:Y(o),scale:p(t),rotate:d(t),rCenter:a}}}}(t);return function(t){return A(e(t),k)}})):b.attr("transform",A(i,k))}))}function _(t){return e=t.rpx1,r=t.transform.textPosAngle,[e*Math.sin(r),-e*Math.cos(r)];var e,r}r.plot=function(t,e,r,i){var a,o,s=t._fullLayout,l=s._sunburstlayer,c=!r,f=!s.uniformtext.mode&&x.hasTransition(r);(u("sunburst",s),(a=l.selectAll("g.trace.sunburst").data(e,(function(t){return t[0].trace.uid}))).enter().append("g").classed("trace",!0).classed("sunburst",!0).attr("stroke-linejoin","round"),a.order(),f)?(i&&(o=i()),n.transition().duration(r.duration).ease(r.easing).each("end",(function(){o&&o()})).each("interrupt",(function(){o&&o()})).each((function(){l.selectAll("g.trace").each((function(e){b(t,e,this,r)}))}))):(a.each((function(e){b(t,e,this,r)})),s.uniformtext.mode&&m(t,s._sunburstlayer.selectAll(".trace"),"sunburst"));c&&a.exit().remove()},r.formatSliceLabel=function(t,e,r,n,i){var a=r.texttemplate,s=r.textinfo;if(!(a||s&&"none"!==s))return"";var l=i.separators,c=n[0],u=t.data.data,f=c.hierarchy,h=x.isHierarchyRoot(t),p=x.getParent(f,t),d=x.getValue(t);if(!a){var g,m=s.split("+"),v=function(t){return-1!==m.indexOf(t)},y=[];if(v("label")&&u.label&&y.push(u.label),u.hasOwnProperty("v")&&v("value")&&y.push(x.formatValue(u.v,l)),!h){v("current path")&&y.push(x.getPath(t.data));var b=0;v("percent parent")&&b++,v("percent entry")&&b++,v("percent root")&&b++;var _=b>1;if(b){var w,T=function(t){g=x.formatPercent(w,l),_&&(g+=" of "+t),y.push(g)};v("percent parent")&&!h&&(w=d/x.getValue(p),T("parent")),v("percent entry")&&(w=d/x.getValue(e),T("entry")),v("percent root")&&(w=d/x.getValue(f),T("root"))}}return v("text")&&(g=o.castOption(r,u.i,"text"),o.isValidTextValue(g)&&y.push(g)),y.join("<br>")}var k=o.castOption(r,u.i,"texttemplate");if(!k)return"";var M={};u.label&&(M.label=u.label),u.hasOwnProperty("v")&&(M.value=u.v,M.valueLabel=x.formatValue(u.v,l)),M.currentPath=x.getPath(t.data),h||(M.percentParent=d/x.getValue(p),M.percentParentLabel=x.formatPercent(M.percentParent,l),M.parent=x.getPtLabel(p)),M.percentEntry=d/x.getValue(e),M.percentEntryLabel=x.formatPercent(M.percentEntry,l),M.entry=x.getPtLabel(e),M.percentRoot=d/x.getValue(f),M.percentRootLabel=x.formatPercent(M.percentRoot,l),M.root=x.getPtLabel(f),u.hasOwnProperty("color")&&(M.color=u.color);var A=o.castOption(r,u.i,"text");return(o.isValidTextValue(A)||""===A)&&(M.text=A),M.customdata=o.castOption(r,u.i,"customdata"),o.texttemplateString(k,M,i._d3locale,M,r._meta||{})}},{"../../components/drawing":665,"../../lib":778,"../../lib/svg_text_utils":803,"../bar/style":935,"../bar/uniform_text":937,"../pie/helpers":1166,"../pie/plot":1170,"./constants":1302,"./fx":1304,"./helpers":1305,"./style":1310,d3:169,"d3-hierarchy":161}],1310:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../components/color"),a=t("../../lib"),o=t("../bar/uniform_text").resizeText;function s(t,e,r){var n=e.data.data,o=!e.children,s=n.i,l=a.castOption(r,s,"marker.line.color")||i.defaultLine,c=a.castOption(r,s,"marker.line.width")||0;t.style("stroke-width",c).call(i.fill,n.color).call(i.stroke,l).style("opacity",o?r.leaf.opacity:null)}e.exports={style:function(t){var e=t._fullLayout._sunburstlayer.selectAll(".trace");o(t,e,"sunburst"),e.each((function(t){var e=n.select(this),r=t[0].trace;e.style("opacity",r.opacity),e.selectAll("path.surface").each((function(t){n.select(this).call(s,t,r)}))}))},styleOne:s}},{"../../components/color":643,"../../lib":778,"../bar/uniform_text":937,d3:169}],1311:[function(t,e,r){"use strict";var n=t("../../components/color"),i=t("../../components/colorscale/attributes"),a=t("../../plots/template_attributes").hovertemplateAttrs,o=t("../../plots/attributes"),s=t("../../lib/extend").extendFlat,l=t("../../plot_api/edit_types").overrideAll;function c(t){return{show:{valType:"boolean",dflt:!1},start:{valType:"number",dflt:null,editType:"plot"},end:{valType:"number",dflt:null,editType:"plot"},size:{valType:"number",dflt:null,min:0,editType:"plot"},project:{x:{valType:"boolean",dflt:!1},y:{valType:"boolean",dflt:!1},z:{valType:"boolean",dflt:!1}},color:{valType:"color",dflt:n.defaultLine},usecolormap:{valType:"boolean",dflt:!1},width:{valType:"number",min:1,max:16,dflt:2},highlight:{valType:"boolean",dflt:!0},highlightcolor:{valType:"color",dflt:n.defaultLine},highlightwidth:{valType:"number",min:1,max:16,dflt:2}}}var u=e.exports=l(s({z:{valType:"data_array"},x:{valType:"data_array"},y:{valType:"data_array"},text:{valType:"string",dflt:"",arrayOk:!0},hovertext:{valType:"string",dflt:"",arrayOk:!0},hovertemplate:a(),connectgaps:{valType:"boolean",dflt:!1,editType:"calc"},surfacecolor:{valType:"data_array"}},i("",{colorAttr:"z or surfacecolor",showScaleDflt:!0,autoColorDflt:!1,editTypeOverride:"calc"}),{contours:{x:c(),y:c(),z:c()},hidesurface:{valType:"boolean",dflt:!1},lightposition:{x:{valType:"number",min:-1e5,max:1e5,dflt:10},y:{valType:"number",min:-1e5,max:1e5,dflt:1e4},z:{valType:"number",min:-1e5,max:1e5,dflt:0}},lighting:{ambient:{valType:"number",min:0,max:1,dflt:.8},diffuse:{valType:"number",min:0,max:1,dflt:.8},specular:{valType:"number",min:0,max:2,dflt:.05},roughness:{valType:"number",min:0,max:1,dflt:.5},fresnel:{valType:"number",min:0,max:5,dflt:.2}},opacity:{valType:"number",min:0,max:1,dflt:1},opacityscale:{valType:"any",editType:"calc"},_deprecated:{zauto:s({},i.zauto,{}),zmin:s({},i.zmin,{}),zmax:s({},i.zmax,{})},hoverinfo:s({},o.hoverinfo),showlegend:s({},o.showlegend,{dflt:!1})}),"calc","nested");u.x.editType=u.y.editType=u.z.editType="calc+clearAxisTypes",u.transforms=void 0},{"../../components/color":643,"../../components/colorscale/attributes":650,"../../lib/extend":768,"../../plot_api/edit_types":810,"../../plots/attributes":824,"../../plots/template_attributes":906}],1312:[function(t,e,r){"use strict";var n=t("../../components/colorscale/calc");e.exports=function(t,e){e.surfacecolor?n(t,e,{vals:e.surfacecolor,containerStr:"",cLetter:"c"}):n(t,e,{vals:e.z,containerStr:"",cLetter:"c"})}},{"../../components/colorscale/calc":651}],1313:[function(t,e,r){"use strict";var n=t("gl-surface3d"),i=t("ndarray"),a=t("ndarray-linear-interpolate").d2,o=t("../heatmap/interp2d"),s=t("../heatmap/find_empties"),l=t("../../lib").isArrayOrTypedArray,c=t("../../lib/gl_format_color").parseColorScale,u=t("../../lib/str2rgbarray"),f=t("../../components/colorscale").extractOpts;function h(t,e,r){this.scene=t,this.uid=r,this.surface=e,this.data=null,this.showContour=[!1,!1,!1],this.contourStart=[null,null,null],this.contourEnd=[null,null,null],this.contourSize=[0,0,0],this.minValues=[1/0,1/0,1/0],this.maxValues=[-1/0,-1/0,-1/0],this.dataScaleX=1,this.dataScaleY=1,this.refineData=!0,this.objectOffset=[0,0,0]}var p=h.prototype;p.getXat=function(t,e,r,n){var i=l(this.data.x)?l(this.data.x[0])?this.data.x[e][t]:this.data.x[t]:t;return void 0===r?i:n.d2l(i,0,r)},p.getYat=function(t,e,r,n){var i=l(this.data.y)?l(this.data.y[0])?this.data.y[e][t]:this.data.y[e]:e;return void 0===r?i:n.d2l(i,0,r)},p.getZat=function(t,e,r,n){var i=this.data.z[e][t];return null===i&&this.data.connectgaps&&this.data._interpolatedZ&&(i=this.data._interpolatedZ[e][t]),void 0===r?i:n.d2l(i,0,r)},p.handlePick=function(t){if(t.object===this.surface){var e=(t.data.index[0]-1)/this.dataScaleX-1,r=(t.data.index[1]-1)/this.dataScaleY-1,n=Math.max(Math.min(Math.round(e),this.data.z[0].length-1),0),i=Math.max(Math.min(Math.round(r),this.data._ylength-1),0);t.index=[n,i],t.traceCoordinate=[this.getXat(n,i),this.getYat(n,i),this.getZat(n,i)],t.dataCoordinate=[this.getXat(n,i,this.data.xcalendar,this.scene.fullSceneLayout.xaxis),this.getYat(n,i,this.data.ycalendar,this.scene.fullSceneLayout.yaxis),this.getZat(n,i,this.data.zcalendar,this.scene.fullSceneLayout.zaxis)];for(var a=0;a<3;a++){var o=t.dataCoordinate[a];null!=o&&(t.dataCoordinate[a]*=this.scene.dataScale[a])}var s=this.data.hovertext||this.data.text;return Array.isArray(s)&&s[i]&&void 0!==s[i][n]?t.textLabel=s[i][n]:t.textLabel=s||"",t.data.dataCoordinate=t.dataCoordinate.slice(),this.surface.highlight(t.data),this.scene.glplot.spikes.position=t.dataCoordinate,!0}};var d=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997,1009,1013,1019,1021,1031,1033,1039,1049,1051,1061,1063,1069,1087,1091,1093,1097,1103,1109,1117,1123,1129,1151,1153,1163,1171,1181,1187,1193,1201,1213,1217,1223,1229,1231,1237,1249,1259,1277,1279,1283,1289,1291,1297,1301,1303,1307,1319,1321,1327,1361,1367,1373,1381,1399,1409,1423,1427,1429,1433,1439,1447,1451,1453,1459,1471,1481,1483,1487,1489,1493,1499,1511,1523,1531,1543,1549,1553,1559,1567,1571,1579,1583,1597,1601,1607,1609,1613,1619,1621,1627,1637,1657,1663,1667,1669,1693,1697,1699,1709,1721,1723,1733,1741,1747,1753,1759,1777,1783,1787,1789,1801,1811,1823,1831,1847,1861,1867,1871,1873,1877,1879,1889,1901,1907,1913,1931,1933,1949,1951,1973,1979,1987,1993,1997,1999,2003,2011,2017,2027,2029,2039,2053,2063,2069,2081,2083,2087,2089,2099,2111,2113,2129,2131,2137,2141,2143,2153,2161,2179,2203,2207,2213,2221,2237,2239,2243,2251,2267,2269,2273,2281,2287,2293,2297,2309,2311,2333,2339,2341,2347,2351,2357,2371,2377,2381,2383,2389,2393,2399,2411,2417,2423,2437,2441,2447,2459,2467,2473,2477,2503,2521,2531,2539,2543,2549,2551,2557,2579,2591,2593,2609,2617,2621,2633,2647,2657,2659,2663,2671,2677,2683,2687,2689,2693,2699,2707,2711,2713,2719,2729,2731,2741,2749,2753,2767,2777,2789,2791,2797,2801,2803,2819,2833,2837,2843,2851,2857,2861,2879,2887,2897,2903,2909,2917,2927,2939,2953,2957,2963,2969,2971,2999];function g(t,e){if(t<e)return 0;for(var r=0;0===Math.floor(t%e);)t/=e,r++;return r}function m(t){for(var e=[],r=0;r<d.length;r++){var n=d[r];e.push(g(t,n))}return e}function v(t){for(var e=m(t),r=t,n=0;n<d.length;n++)if(e[n]>0){r=d[n];break}return r}function y(t,e){if(!(t<1||e<1)){for(var r=m(t),n=m(e),i=1,a=0;a<d.length;a++)i*=Math.pow(d[a],Math.max(r[a],n[a]));return i}}p.calcXnums=function(t){var e,r=[];for(e=1;e<t;e++){var n=this.getXat(e-1,0),i=this.getXat(e,0);r[e-1]=i!==n&&null!=n&&null!=i?Math.abs(i-n):0}var a=0;for(e=1;e<t;e++)a+=r[e-1];for(e=1;e<t;e++)0===r[e-1]?r[e-1]=1:r[e-1]=Math.round(a/r[e-1]);return r},p.calcYnums=function(t){var e,r=[];for(e=1;e<t;e++){var n=this.getYat(0,e-1),i=this.getYat(0,e);r[e-1]=i!==n&&null!=n&&null!=i?Math.abs(i-n):0}var a=0;for(e=1;e<t;e++)a+=r[e-1];for(e=1;e<t;e++)0===r[e-1]?r[e-1]=1:r[e-1]=Math.round(a/r[e-1]);return r};var x=[1,2,4,6,12,24,36,48,60,120,180,240,360,720,840,1260],b=x[9],_=x[13];function w(t,e,r){var n=r[8]+r[2]*e[0]+r[5]*e[1];return t[0]=(r[6]+r[0]*e[0]+r[3]*e[1])/n,t[1]=(r[7]+r[1]*e[0]+r[4]*e[1])/n,t}function T(t,e,r){return function(t,e,r,n){for(var i=[0,0],o=t.shape[0],s=t.shape[1],l=0;l<o;l++)for(var c=0;c<s;c++)r(i,[l,c],n),t.set(l,c,a(e,i[0],i[1]))}(t,e,w,r),t}function k(t,e){for(var r=!1,n=0;n<t.length;n++)if(e===t[n]){r=!0;break}!1===r&&t.push(e)}p.estimateScale=function(t,e){for(var r=1+function(t){if(0!==t.length){for(var e=1,r=0;r<t.length;r++)e=y(e,t[r]);return e}}(0===e?this.calcXnums(t):this.calcYnums(t));r<b;)r*=2;for(;r>_;)r--,r/=v(r),++r<b&&(r=_);var n=Math.round(r/t);return n>1?n:1},p.refineCoords=function(t){for(var e=this.dataScaleX,r=this.dataScaleY,n=t[0].shape[0],a=t[0].shape[1],o=0|Math.floor(t[0].shape[0]*e+1),s=0|Math.floor(t[0].shape[1]*r+1),l=1+n+1,c=1+a+1,u=i(new Float32Array(l*c),[l,c]),f=[1/e,0,0,0,1/r,0,0,0,1],h=0;h<t.length;++h){this.surface.padField(u,t[h]);var p=i(new Float32Array(o*s),[o,s]);T(p,u,f),t[h]=p}},p.setContourLevels=function(){var t,e,r,n=[[],[],[]],i=[!1,!1,!1],a=!1;for(t=0;t<3;++t)if(this.showContour[t]&&(a=!0,this.contourSize[t]>0&&null!==this.contourStart[t]&&null!==this.contourEnd[t]&&this.contourEnd[t]>this.contourStart[t]))for(i[t]=!0,e=this.contourStart[t];e<this.contourEnd[t];e+=this.contourSize[t])r=e*this.scene.dataScale[t],k(n[t],r);if(a){var o=[[],[],[]];for(t=0;t<3;++t)this.showContour[t]&&(o[t]=i[t]?n[t]:this.scene.contourLevels[t]);this.surface.update({levels:o})}},p.update=function(t){var e,r,n,a,l=this.scene,h=l.fullSceneLayout,p=this.surface,d=c(t),g=l.dataScale,m=t.z[0].length,v=t._ylength,y=l.contourLevels;this.data=t;var x=[];for(e=0;e<3;e++)for(x[e]=[],r=0;r<m;r++)x[e][r]=[];for(r=0;r<m;r++)for(n=0;n<v;n++)x[0][r][n]=this.getXat(r,n,t.xcalendar,h.xaxis),x[1][r][n]=this.getYat(r,n,t.ycalendar,h.yaxis),x[2][r][n]=this.getZat(r,n,t.zcalendar,h.zaxis);if(t.connectgaps)for(t._emptypoints=s(x[2]),o(x[2],t._emptypoints),t._interpolatedZ=[],r=0;r<m;r++)for(t._interpolatedZ[r]=[],n=0;n<v;n++)t._interpolatedZ[r][n]=x[2][r][n];for(e=0;e<3;e++)for(r=0;r<m;r++)for(n=0;n<v;n++)null==(a=x[e][r][n])?x[e][r][n]=NaN:a=x[e][r][n]*=g[e];for(e=0;e<3;e++)for(r=0;r<m;r++)for(n=0;n<v;n++)null!=(a=x[e][r][n])&&(this.minValues[e]>a&&(this.minValues[e]=a),this.maxValues[e]<a&&(this.maxValues[e]=a));for(e=0;e<3;e++)this.objectOffset[e]=.5*(this.minValues[e]+this.maxValues[e]);for(e=0;e<3;e++)for(r=0;r<m;r++)for(n=0;n<v;n++)null!=(a=x[e][r][n])&&(x[e][r][n]-=this.objectOffset[e]);var b=[i(new Float32Array(m*v),[m,v]),i(new Float32Array(m*v),[m,v]),i(new Float32Array(m*v),[m,v])];for(e=0;e<3;e++)for(r=0;r<m;r++)for(n=0;n<v;n++)b[e].set(r,n,x[e][r][n]);x=[];var w={colormap:d,levels:[[],[],[]],showContour:[!0,!0,!0],showSurface:!t.hidesurface,contourProject:[[!1,!1,!1],[!1,!1,!1],[!1,!1,!1]],contourWidth:[1,1,1],contourColor:[[1,1,1,1],[1,1,1,1],[1,1,1,1]],contourTint:[1,1,1],dynamicColor:[[1,1,1,1],[1,1,1,1],[1,1,1,1]],dynamicWidth:[1,1,1],dynamicTint:[1,1,1],opacityscale:t.opacityscale,opacity:t.opacity},T=f(t);if(w.intensityBounds=[T.min,T.max],t.surfacecolor){var k=i(new Float32Array(m*v),[m,v]);for(r=0;r<m;r++)for(n=0;n<v;n++)k.set(r,n,t.surfacecolor[n][r]);b.push(k)}else w.intensityBounds[0]*=g[2],w.intensityBounds[1]*=g[2];(_<b[0].shape[0]||_<b[0].shape[1])&&(this.refineData=!1),!0===this.refineData&&(this.dataScaleX=this.estimateScale(b[0].shape[0],0),this.dataScaleY=this.estimateScale(b[0].shape[1],1),1===this.dataScaleX&&1===this.dataScaleY||this.refineCoords(b)),t.surfacecolor&&(w.intensity=b.pop());var M=[!0,!0,!0],A=["x","y","z"];for(e=0;e<3;++e){var S=t.contours[A[e]];M[e]=S.highlight,w.showContour[e]=S.show||S.highlight,w.showContour[e]&&(w.contourProject[e]=[S.project.x,S.project.y,S.project.z],S.show?(this.showContour[e]=!0,w.levels[e]=y[e],p.highlightColor[e]=w.contourColor[e]=u(S.color),S.usecolormap?p.highlightTint[e]=w.contourTint[e]=0:p.highlightTint[e]=w.contourTint[e]=1,w.contourWidth[e]=S.width,this.contourStart[e]=S.start,this.contourEnd[e]=S.end,this.contourSize[e]=S.size):(this.showContour[e]=!1,this.contourStart[e]=null,this.contourEnd[e]=null,this.contourSize[e]=0),S.highlight&&(w.dynamicColor[e]=u(S.highlightcolor),w.dynamicWidth[e]=S.highlightwidth))}(function(t){var e=t[0].rgb,r=t[t.length-1].rgb;return e[0]===r[0]&&e[1]===r[1]&&e[2]===r[2]&&e[3]===r[3]})(d)&&(w.vertexColor=!0),w.objectOffset=this.objectOffset,w.coords=b,p.update(w),p.visible=t.visible,p.enableDynamic=M,p.enableHighlight=M,p.snapToData=!0,"lighting"in t&&(p.ambientLight=t.lighting.ambient,p.diffuseLight=t.lighting.diffuse,p.specularLight=t.lighting.specular,p.roughness=t.lighting.roughness,p.fresnel=t.lighting.fresnel),"lightposition"in t&&(p.lightPosition=[t.lightposition.x,t.lightposition.y,t.lightposition.z])},p.dispose=function(){this.scene.glplot.remove(this.surface),this.surface.dispose()},e.exports=function(t,e){var r=t.glplot.gl,i=n({gl:r}),a=new h(t,i,e.uid);return i._trace=a,a.update(e),t.glplot.add(i),a}},{"../../components/colorscale":655,"../../lib":778,"../../lib/gl_format_color":774,"../../lib/str2rgbarray":802,"../heatmap/find_empties":1071,"../heatmap/interp2d":1074,"gl-surface3d":351,ndarray:495,"ndarray-linear-interpolate":489}],1314:[function(t,e,r){"use strict";var n=t("../../registry"),i=t("../../lib"),a=t("../../components/colorscale/defaults"),o=t("./attributes");function s(t,e,r,n){var i=n("opacityscale");"max"===i?e.opacityscale=[[0,.1],[1,1]]:"min"===i?e.opacityscale=[[0,1],[1,.1]]:"extremes"===i?e.opacityscale=function(t,e){for(var r=[],n=0;n<32;n++){var i=n/31,a=e+(1-e)*(1-Math.pow(Math.sin(t*i*Math.PI),2));r.push([i,Math.max(0,Math.min(1,a))])}return r}(1,.1):function(t){var e=0;if(!Array.isArray(t)||t.length<2)return!1;if(!t[0]||!t[t.length-1])return!1;if(0!=+t[0][0]||1!=+t[t.length-1][0])return!1;for(var r=0;r<t.length;r++){var n=t[r];if(2!==n.length||+n[0]<e)return!1;e=+n[0]}return!0}(i)||(e.opacityscale=void 0)}function l(t,e,r){e in t&&!(r in t)&&(t[r]=t[e])}e.exports={supplyDefaults:function(t,e,r,c){var u,f;function h(r,n){return i.coerce(t,e,o,r,n)}var p=h("x"),d=h("y"),g=h("z");if(!g||!g.length||p&&p.length<1||d&&d.length<1)e.visible=!1;else{e._xlength=Array.isArray(p)&&i.isArrayOrTypedArray(p[0])?g.length:g[0].length,e._ylength=g.length,n.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x","y","z"],c),h("text"),h("hovertext"),h("hovertemplate"),["lighting.ambient","lighting.diffuse","lighting.specular","lighting.roughness","lighting.fresnel","lightposition.x","lightposition.y","lightposition.z","hidesurface","connectgaps","opacity"].forEach((function(t){h(t)}));var m=h("surfacecolor"),v=["x","y","z"];for(u=0;u<3;++u){var y="contours."+v[u],x=h(y+".show"),b=h(y+".highlight");if(x||b)for(f=0;f<3;++f)h(y+".project."+v[f]);x&&(h(y+".color"),h(y+".width"),h(y+".usecolormap")),b&&(h(y+".highlightcolor"),h(y+".highlightwidth")),h(y+".start"),h(y+".end"),h(y+".size")}m||(l(t,"zmin","cmin"),l(t,"zmax","cmax"),l(t,"zauto","cauto")),a(t,e,c,h,{prefix:"",cLetter:"c"}),s(t,e,c,h),e._length=null}},opacityscaleDefaults:s}},{"../../components/colorscale/defaults":653,"../../lib":778,"../../registry":911,"./attributes":1311}],1315:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults").supplyDefaults,colorbar:{min:"cmin",max:"cmax"},calc:t("./calc"),plot:t("./convert"),moduleType:"trace",name:"surface",basePlotModule:t("../../plots/gl3d"),categories:["gl3d","2dMap","showLegend"],meta:{}}},{"../../plots/gl3d":870,"./attributes":1311,"./calc":1312,"./convert":1313,"./defaults":1314}],1316:[function(t,e,r){"use strict";var n=t("../../components/annotations/attributes"),i=t("../../lib/extend").extendFlat,a=t("../../plot_api/edit_types").overrideAll,o=t("../../plots/font_attributes"),s=t("../../plots/domain").attributes;t("../../constants/docs").FORMAT_LINK;(e.exports=a({domain:s({name:"table",trace:!0}),columnwidth:{valType:"number",arrayOk:!0,dflt:null},columnorder:{valType:"data_array"},header:{values:{valType:"data_array",dflt:[]},format:{valType:"data_array",dflt:[]},prefix:{valType:"string",arrayOk:!0,dflt:null},suffix:{valType:"string",arrayOk:!0,dflt:null},height:{valType:"number",dflt:28},align:i({},n.align,{arrayOk:!0}),line:{width:{valType:"number",arrayOk:!0,dflt:1},color:{valType:"color",arrayOk:!0,dflt:"grey"}},fill:{color:{valType:"color",arrayOk:!0,dflt:"white"}},font:i({},o({arrayOk:!0}))},cells:{values:{valType:"data_array",dflt:[]},format:{valType:"data_array",dflt:[]},prefix:{valType:"string",arrayOk:!0,dflt:null},suffix:{valType:"string",arrayOk:!0,dflt:null},height:{valType:"number",dflt:20},align:i({},n.align,{arrayOk:!0}),line:{width:{valType:"number",arrayOk:!0,dflt:1},color:{valType:"color",arrayOk:!0,dflt:"grey"}},fill:{color:{valType:"color",arrayOk:!0,dflt:"white"}},font:i({},o({arrayOk:!0}))}},"calc","from-root")).transforms=void 0},{"../../components/annotations/attributes":626,"../../constants/docs":748,"../../lib/extend":768,"../../plot_api/edit_types":810,"../../plots/domain":855,"../../plots/font_attributes":856}],1317:[function(t,e,r){"use strict";var n=t("../../plots/get_data").getModuleCalcData,i=t("./plot");r.name="table",r.plot=function(t){var e=n(t.calcdata,"table")[0];e.length&&i(t,e)},r.clean=function(t,e,r,n){var i=n._has&&n._has("table"),a=e._has&&e._has("table");i&&!a&&n._paperdiv.selectAll(".table").remove()}},{"../../plots/get_data":865,"./plot":1324}],1318:[function(t,e,r){"use strict";var n=t("../../lib/gup").wrap;e.exports=function(){return n({})}},{"../../lib/gup":775}],1319:[function(t,e,r){"use strict";e.exports={cellPad:8,columnExtentOffset:10,columnTitleOffset:28,emptyHeaderHeight:16,latexCheck:/^\$.*\$$/,goldenRatio:1.618,lineBreaker:"<br>",maxDimensionCount:60,overdrag:45,releaseTransitionDuration:120,releaseTransitionEase:"cubic-out",scrollbarCaptureWidth:18,scrollbarHideDelay:1e3,scrollbarHideDuration:1e3,scrollbarOffset:5,scrollbarWidth:8,transitionDuration:100,transitionEase:"cubic-out",uplift:5,wrapSpacer:" ",wrapSplitCharacter:" ",cn:{table:"table",tableControlView:"table-control-view",scrollBackground:"scroll-background",yColumn:"y-column",columnBlock:"column-block",scrollAreaClip:"scroll-area-clip",scrollAreaClipRect:"scroll-area-clip-rect",columnBoundary:"column-boundary",columnBoundaryClippath:"column-boundary-clippath",columnBoundaryRect:"column-boundary-rect",columnCells:"column-cells",columnCell:"column-cell",cellRect:"cell-rect",cellText:"cell-text",cellTextHolder:"cell-text-holder",scrollbarKit:"scrollbar-kit",scrollbar:"scrollbar",scrollbarSlider:"scrollbar-slider",scrollbarGlyph:"scrollbar-glyph",scrollbarCaptureZone:"scrollbar-capture-zone"}}},{}],1320:[function(t,e,r){"use strict";var n=t("./constants"),i=t("../../lib/extend").extendFlat,a=t("fast-isnumeric");function o(t){if(Array.isArray(t)){for(var e=0,r=0;r<t.length;r++)e=Math.max(e,o(t[r]));return e}return t}function s(t,e){return t+e}function l(t){var e,r=t.slice(),n=1/0,i=0;for(e=0;e<r.length;e++)Array.isArray(r[e])||(r[e]=[r[e]]),n=Math.min(n,r[e].length),i=Math.max(i,r[e].length);if(n!==i)for(e=0;e<r.length;e++){var a=i-r[e].length;a&&(r[e]=r[e].concat(c(a)))}return r}function c(t){for(var e=new Array(t),r=0;r<t;r++)e[r]="";return e}function u(t){return t.calcdata.columns.reduce((function(e,r){return r.xIndex<t.xIndex?e+r.columnWidth:e}),0)}function f(t,e){return Object.keys(t).map((function(r){return i({},t[r],{auxiliaryBlocks:e})}))}function h(t,e){for(var r,n={},i=0,a=0,o={firstRowIndex:null,lastRowIndex:null,rows:[]},s=0,l=0,c=0;c<t.length;c++)r=t[c],o.rows.push({rowIndex:c,rowHeight:r}),((a+=r)>=e||c===t.length-1)&&(n[i]=o,o.key=l++,o.firstRowIndex=s,o.lastRowIndex=c,o={firstRowIndex:null,lastRowIndex:null,rows:[]},i+=a,s=c+1,a=0);return n}e.exports=function(t,e){var r=l(e.cells.values),p=function(t){return t.slice(e.header.values.length,t.length)},d=l(e.header.values);d.length&&!d[0].length&&(d[0]=[""],d=l(d));var g=d.concat(p(r).map((function(){return c((d[0]||[""]).length)}))),m=e.domain,v=Math.floor(t._fullLayout._size.w*(m.x[1]-m.x[0])),y=Math.floor(t._fullLayout._size.h*(m.y[1]-m.y[0])),x=e.header.values.length?g[0].map((function(){return e.header.height})):[n.emptyHeaderHeight],b=r.length?r[0].map((function(){return e.cells.height})):[],_=x.reduce(s,0),w=h(b,y-_+n.uplift),T=f(h(x,_),[]),k=f(w,T),M={},A=e._fullInput.columnorder.concat(p(r.map((function(t,e){return e})))),S=g.map((function(t,r){var n=Array.isArray(e.columnwidth)?e.columnwidth[Math.min(r,e.columnwidth.length-1)]:e.columnwidth;return a(n)?Number(n):1})),E=S.reduce(s,0);S=S.map((function(t){return t/E*v}));var C=Math.max(o(e.header.line.width),o(e.cells.line.width)),L={key:e.uid+t._context.staticPlot,translateX:m.x[0]*t._fullLayout._size.w,translateY:t._fullLayout._size.h*(1-m.y[1]),size:t._fullLayout._size,width:v,maxLineWidth:C,height:y,columnOrder:A,groupHeight:y,rowBlocks:k,headerRowBlocks:T,scrollY:0,cells:i({},e.cells,{values:r}),headerCells:i({},e.header,{values:g}),gdColumns:g.map((function(t){return t[0]})),gdColumnsOriginalOrder:g.map((function(t){return t[0]})),prevPages:[0,0],scrollbarState:{scrollbarScrollInProgress:!1},columns:g.map((function(t,e){var r=M[t];return M[t]=(r||0)+1,{key:t+"__"+M[t],label:t,specIndex:e,xIndex:A[e],xScale:u,x:void 0,calcdata:void 0,columnWidth:S[e]}}))};return L.columns.forEach((function(t){t.calcdata=L,t.x=u(t)})),L}},{"../../lib/extend":768,"./constants":1319,"fast-isnumeric":241}],1321:[function(t,e,r){"use strict";var n=t("../../lib/extend").extendFlat;r.splitToPanels=function(t){var e=[0,0],r=n({},t,{key:"header",type:"header",page:0,prevPages:e,currentRepaint:[null,null],dragHandle:!0,values:t.calcdata.headerCells.values[t.specIndex],rowBlocks:t.calcdata.headerRowBlocks,calcdata:n({},t.calcdata,{cells:t.calcdata.headerCells})});return[n({},t,{key:"cells1",type:"cells",page:0,prevPages:e,currentRepaint:[null,null],dragHandle:!1,values:t.calcdata.cells.values[t.specIndex],rowBlocks:t.calcdata.rowBlocks}),n({},t,{key:"cells2",type:"cells",page:1,prevPages:e,currentRepaint:[null,null],dragHandle:!1,values:t.calcdata.cells.values[t.specIndex],rowBlocks:t.calcdata.rowBlocks}),r]},r.splitToCells=function(t){var e=function(t){var e=t.rowBlocks[t.page],r=e?e.rows[0].rowIndex:0,n=e?r+e.rows.length:0;return[r,n]}(t);return(t.values||[]).slice(e[0],e[1]).map((function(r,n){return{keyWithinBlock:n+("string"==typeof r&&r.match(/[<$&> ]/)?"_keybuster_"+Math.random():""),key:e[0]+n,column:t,calcdata:t.calcdata,page:t.page,rowBlocks:t.rowBlocks,value:r}}))}},{"../../lib/extend":768}],1322:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./attributes"),a=t("../../plots/domain").defaults;e.exports=function(t,e,r,o){function s(r,a){return n.coerce(t,e,i,r,a)}a(e,o,s),s("columnwidth"),s("header.values"),s("header.format"),s("header.align"),s("header.prefix"),s("header.suffix"),s("header.height"),s("header.line.width"),s("header.line.color"),s("header.fill.color"),n.coerceFont(s,"header.font",n.extendFlat({},o.font)),function(t,e){for(var r=t.columnorder||[],n=t.header.values.length,i=r.slice(0,n),a=i.slice().sort((function(t,e){return t-e})),o=i.map((function(t){return a.indexOf(t)})),s=o.length;s<n;s++)o.push(s);e("columnorder",o)}(e,s),s("cells.values"),s("cells.format"),s("cells.align"),s("cells.prefix"),s("cells.suffix"),s("cells.height"),s("cells.line.width"),s("cells.line.color"),s("cells.fill.color"),n.coerceFont(s,"cells.font",n.extendFlat({},o.font)),e._length=null}},{"../../lib":778,"../../plots/domain":855,"./attributes":1316}],1323:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),calc:t("./calc"),plot:t("./plot"),moduleType:"trace",name:"table",basePlotModule:t("./base_plot"),categories:["noOpacity"],meta:{}}},{"./attributes":1316,"./base_plot":1317,"./calc":1318,"./defaults":1322,"./plot":1324}],1324:[function(t,e,r){"use strict";var n=t("./constants"),i=t("d3"),a=t("../../lib/gup"),o=t("../../components/drawing"),s=t("../../lib/svg_text_utils"),l=t("../../lib").raiseToTop,c=t("../../lib").strTranslate,u=t("../../lib").cancelTransition,f=t("./data_preparation_helper"),h=t("./data_split_helpers"),p=t("../../components/color");function d(t){return Math.ceil(t.calcdata.maxLineWidth/2)}function g(t,e){return"clip"+t._fullLayout._uid+"_scrollAreaBottomClip_"+e.key}function m(t,e){return"clip"+t._fullLayout._uid+"_columnBoundaryClippath_"+e.calcdata.key+"_"+e.specIndex}function v(t){return[].concat.apply([],t.map((function(t){return t}))).map((function(t){return t.__data__}))}function y(t,e,r){var o=t.selectAll("."+n.cn.scrollbarKit).data(a.repeat,a.keyFun);o.enter().append("g").classed(n.cn.scrollbarKit,!0).style("shape-rendering","geometricPrecision"),o.each((function(t){var e=t.scrollbarState;e.totalHeight=function(t){var e=t.rowBlocks;return O(e,e.length-1)+(e.length?D(e[e.length-1],1/0):1)}(t),e.scrollableAreaHeight=t.groupHeight-A(t),e.currentlyVisibleHeight=Math.min(e.totalHeight,e.scrollableAreaHeight),e.ratio=e.currentlyVisibleHeight/e.totalHeight,e.barLength=Math.max(e.ratio*e.currentlyVisibleHeight,n.goldenRatio*n.scrollbarWidth),e.barWiggleRoom=e.currentlyVisibleHeight-e.barLength,e.wiggleRoom=Math.max(0,e.totalHeight-e.scrollableAreaHeight),e.topY=0===e.barWiggleRoom?0:t.scrollY/e.wiggleRoom*e.barWiggleRoom,e.bottomY=e.topY+e.barLength,e.dragMultiplier=e.wiggleRoom/e.barWiggleRoom})).attr("transform",(function(t){var e=t.width+n.scrollbarWidth/2+n.scrollbarOffset;return c(e,A(t))}));var s=o.selectAll("."+n.cn.scrollbar).data(a.repeat,a.keyFun);s.enter().append("g").classed(n.cn.scrollbar,!0);var l=s.selectAll("."+n.cn.scrollbarSlider).data(a.repeat,a.keyFun);l.enter().append("g").classed(n.cn.scrollbarSlider,!0),l.attr("transform",(function(t){return c(0,t.scrollbarState.topY||0)}));var u=l.selectAll("."+n.cn.scrollbarGlyph).data(a.repeat,a.keyFun);u.enter().append("line").classed(n.cn.scrollbarGlyph,!0).attr("stroke","black").attr("stroke-width",n.scrollbarWidth).attr("stroke-linecap","round").attr("y1",n.scrollbarWidth/2),u.attr("y2",(function(t){return t.scrollbarState.barLength-n.scrollbarWidth/2})).attr("stroke-opacity",(function(t){return t.columnDragInProgress||!t.scrollbarState.barWiggleRoom||r?0:.4})),u.transition().delay(0).duration(0),u.transition().delay(n.scrollbarHideDelay).duration(n.scrollbarHideDuration).attr("stroke-opacity",0);var f=s.selectAll("."+n.cn.scrollbarCaptureZone).data(a.repeat,a.keyFun);f.enter().append("line").classed(n.cn.scrollbarCaptureZone,!0).attr("stroke","white").attr("stroke-opacity",.01).attr("stroke-width",n.scrollbarCaptureWidth).attr("stroke-linecap","butt").attr("y1",0).on("mousedown",(function(r){var n=i.event.y,a=this.getBoundingClientRect(),o=r.scrollbarState,s=n-a.top,l=i.scale.linear().domain([0,o.scrollableAreaHeight]).range([0,o.totalHeight]).clamp(!0);o.topY<=s&&s<=o.bottomY||E(e,t,null,l(s-o.barLength/2))(r)})).call(i.behavior.drag().origin((function(t){return i.event.stopPropagation(),t.scrollbarState.scrollbarScrollInProgress=!0,t})).on("drag",E(e,t)).on("dragend",(function(){}))),f.attr("y2",(function(t){return t.scrollbarState.scrollableAreaHeight})),e._context.staticPlot&&(u.remove(),f.remove())}function x(t,e,r,s){var l=function(t){var e=t.selectAll("."+n.cn.columnCell).data(h.splitToCells,(function(t){return t.keyWithinBlock}));return e.enter().append("g").classed(n.cn.columnCell,!0),e.exit().remove(),e}(function(t){var e=t.selectAll("."+n.cn.columnCells).data(a.repeat,a.keyFun);return e.enter().append("g").classed(n.cn.columnCells,!0),e.exit().remove(),e}(r));!function(t){t.each((function(t,e){var r=t.calcdata.cells.font,n=t.column.specIndex,i={size:w(r.size,n,e),color:w(r.color,n,e),family:w(r.family,n,e)};t.rowNumber=t.key,t.align=w(t.calcdata.cells.align,n,e),t.cellBorderWidth=w(t.calcdata.cells.line.width,n,e),t.font=i}))}(l),function(t){t.attr("width",(function(t){return t.column.columnWidth})).attr("stroke-width",(function(t){return t.cellBorderWidth})).each((function(t){var e=i.select(this);p.stroke(e,w(t.calcdata.cells.line.color,t.column.specIndex,t.rowNumber)),p.fill(e,w(t.calcdata.cells.fill.color,t.column.specIndex,t.rowNumber))}))}(function(t){var e=t.selectAll("."+n.cn.cellRect).data(a.repeat,(function(t){return t.keyWithinBlock}));return e.enter().append("rect").classed(n.cn.cellRect,!0),e}(l));var c=function(t){var e=t.selectAll("."+n.cn.cellText).data(a.repeat,(function(t){return t.keyWithinBlock}));return e.enter().append("text").classed(n.cn.cellText,!0).style("cursor",(function(){return"auto"})).on("mousedown",(function(){i.event.stopPropagation()})),e}(function(t){var e=t.selectAll("."+n.cn.cellTextHolder).data(a.repeat,(function(t){return t.keyWithinBlock}));return e.enter().append("g").classed(n.cn.cellTextHolder,!0).style("shape-rendering","geometricPrecision"),e}(l));!function(t){t.each((function(t){o.font(i.select(this),t.font)}))}(c),b(c,e,s,t),z(l)}function b(t,e,r,a){t.text((function(t){var e=t.column.specIndex,r=t.rowNumber,a=t.value,o="string"==typeof a,s=o&&a.match(/<br>/i),l=!o||s;t.mayHaveMarkup=o&&a.match(/[<&>]/);var c,u="string"==typeof(c=a)&&c.match(n.latexCheck);t.latex=u;var f,h,p=u?"":w(t.calcdata.cells.prefix,e,r)||"",d=u?"":w(t.calcdata.cells.suffix,e,r)||"",g=u?null:w(t.calcdata.cells.format,e,r)||null,m=p+(g?i.format(g)(t.value):t.value)+d;if(t.wrappingNeeded=!t.wrapped&&!l&&!u&&(f=_(m)),t.cellHeightMayIncrease=s||u||t.mayHaveMarkup||(void 0===f?_(m):f),t.needsConvertToTspans=t.mayHaveMarkup||t.wrappingNeeded||t.latex,t.wrappingNeeded){var v=(" "===n.wrapSplitCharacter?m.replace(/<a href=/gi,"<a_href="):m).split(n.wrapSplitCharacter),y=" "===n.wrapSplitCharacter?v.map((function(t){return t.replace(/<a_href=/gi,"<a href=")})):v;t.fragments=y.map((function(t){return{text:t,width:null}})),t.fragments.push({fragment:n.wrapSpacer,width:null}),h=y.join(n.lineBreaker)+n.lineBreaker+n.wrapSpacer}else delete t.fragments,h=m;return h})).attr("dy",(function(t){return t.needsConvertToTspans?0:"0.75em"})).each((function(t){var o=i.select(this),l=t.wrappingNeeded?L:I;t.needsConvertToTspans?s.convertToTspans(o,a,l(r,this,e,a,t)):i.select(this.parentNode).attr("transform",(function(t){return c(P(t),n.cellPad)})).attr("text-anchor",(function(t){return{left:"start",center:"middle",right:"end"}[t.align]}))}))}function _(t){return-1!==t.indexOf(n.wrapSplitCharacter)}function w(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 T(t,e,r){t.transition().ease(n.releaseTransitionEase).duration(n.releaseTransitionDuration).attr("transform",c(e.x,r))}function k(t){return"cells"===t.type}function M(t){return"header"===t.type}function A(t){return(t.rowBlocks.length?t.rowBlocks[0].auxiliaryBlocks:[]).reduce((function(t,e){return t+D(e,1/0)}),0)}function S(t,e,r){var n=v(e)[0];if(void 0!==n){var i=n.rowBlocks,a=n.calcdata,o=O(i,i.length),s=n.calcdata.groupHeight-A(n),l=a.scrollY=Math.max(0,Math.min(o-s,a.scrollY)),u=function(t,e,r){for(var n=[],i=0,a=0;a<t.length;a++){for(var o=t[a],s=o.rows,l=0,c=0;c<s.length;c++)l+=s[c].rowHeight;o.allRowsHeight=l;e<i+l&&e+r>i&&n.push(a),i+=l}return n}(i,l,s);1===u.length&&(u[0]===i.length-1?u.unshift(u[0]-1):u.push(u[0]+1)),u[0]%2&&u.reverse(),e.each((function(t,e){t.page=u[e],t.scrollY=l})),e.attr("transform",(function(t){var e=O(t.rowBlocks,t.page)-t.scrollY;return c(0,e)})),t&&(C(t,r,e,u,n.prevPages,n,0),C(t,r,e,u,n.prevPages,n,1),y(r,t))}}function E(t,e,r,a){return function(o){var s=o.calcdata?o.calcdata:o,l=e.filter((function(t){return s.key===t.key})),c=r||s.scrollbarState.dragMultiplier,u=s.scrollY;s.scrollY=void 0===a?s.scrollY+c*i.event.dy:a;var f=l.selectAll("."+n.cn.yColumn).selectAll("."+n.cn.columnBlock).filter(k);return S(t,f,l),s.scrollY===u}}function C(t,e,r,n,i,a,o){n[o]!==i[o]&&(clearTimeout(a.currentRepaint[o]),a.currentRepaint[o]=setTimeout((function(){var a=r.filter((function(t,e){return e===o&&n[e]!==i[e]}));x(t,e,a,r),i[o]=n[o]})))}function L(t,e,r,a){return function(){var o=i.select(e.parentNode);o.each((function(t){var e=t.fragments;o.selectAll("tspan.line").each((function(t,r){e[r].width=this.getComputedTextLength()}));var r,i,a=e[e.length-1].width,s=e.slice(0,-1),l=[],c=0,u=t.column.columnWidth-2*n.cellPad;for(t.value="";s.length;)c+(i=(r=s.shift()).width+a)>u&&(t.value+=l.join(n.wrapSpacer)+n.lineBreaker,l=[],c=0),l.push(r.text),c+=i;c&&(t.value+=l.join(n.wrapSpacer)),t.wrapped=!0})),o.selectAll("tspan.line").remove(),b(o.select("."+n.cn.cellText),r,t,a),i.select(e.parentNode.parentNode).call(z)}}function I(t,e,r,a,o){return function(){if(!o.settledY){var s=i.select(e.parentNode),l=F(o),u=o.key-l.firstRowIndex,f=l.rows[u].rowHeight,h=o.cellHeightMayIncrease?e.parentNode.getBoundingClientRect().height+2*n.cellPad:f,p=Math.max(h,f);p-l.rows[u].rowHeight&&(l.rows[u].rowHeight=p,t.selectAll("."+n.cn.columnCell).call(z),S(null,t.filter(k),0),y(r,a,!0)),s.attr("transform",(function(){var t=this.parentNode.getBoundingClientRect(),e=i.select(this.parentNode).select("."+n.cn.cellRect).node().getBoundingClientRect(),r=this.transform.baseVal.consolidate(),a=e.top-t.top+(r?r.matrix.f:n.cellPad);return c(P(o,i.select(this.parentNode).select("."+n.cn.cellTextHolder).node().getBoundingClientRect().width),a)})),o.settledY=!0}}}function P(t,e){switch(t.align){case"left":return n.cellPad;case"right":return t.column.columnWidth-(e||0)-n.cellPad;case"center":return(t.column.columnWidth-(e||0))/2;default:return n.cellPad}}function z(t){t.attr("transform",(function(t){var e=t.rowBlocks[0].auxiliaryBlocks.reduce((function(t,e){return t+D(e,1/0)}),0),r=D(F(t),t.key);return c(0,r+e)})).selectAll("."+n.cn.cellRect).attr("height",(function(t){return(e=F(t),r=t.key,e.rows[r-e.firstRowIndex]).rowHeight;var e,r}))}function O(t,e){for(var r=0,n=e-1;n>=0;n--)r+=R(t[n]);return r}function D(t,e){for(var r=0,n=0;n<t.rows.length&&t.rows[n].rowIndex<e;n++)r+=t.rows[n].rowHeight;return r}function R(t){var e=t.allRowsHeight;if(void 0!==e)return e;for(var r=0,n=0;n<t.rows.length;n++)r+=t.rows[n].rowHeight;return t.allRowsHeight=r,r}function F(t){return t.rowBlocks[t.page]}e.exports=function(t,e){var r=!t._context.staticPlot,s=t._fullLayout._paper.selectAll("."+n.cn.table).data(e.map((function(e){var r=a.unwrap(e).trace;return f(t,r)})),a.keyFun);s.exit().remove(),s.enter().append("g").classed(n.cn.table,!0).attr("overflow","visible").style("box-sizing","content-box").style("position","absolute").style("left",0).style("overflow","visible").style("shape-rendering","crispEdges").style("pointer-events","all"),s.attr("width",(function(t){return t.width+t.size.l+t.size.r})).attr("height",(function(t){return t.height+t.size.t+t.size.b})).attr("transform",(function(t){return c(t.translateX,t.translateY)}));var p=s.selectAll("."+n.cn.tableControlView).data(a.repeat,a.keyFun),b=p.enter().append("g").classed(n.cn.tableControlView,!0).style("box-sizing","content-box");if(r){var _="onwheel"in document?"wheel":"mousewheel";b.on("mousemove",(function(e){p.filter((function(t){return e===t})).call(y,t)})).on(_,(function(e){if(!e.scrollbarState.wheeling){e.scrollbarState.wheeling=!0;var r=e.scrollY+i.event.deltaY;E(t,p,null,r)(e)||(i.event.stopPropagation(),i.event.preventDefault()),e.scrollbarState.wheeling=!1}})).call(y,t,!0)}p.attr("transform",(function(t){return c(t.size.l,t.size.t)}));var w=p.selectAll("."+n.cn.scrollBackground).data(a.repeat,a.keyFun);w.enter().append("rect").classed(n.cn.scrollBackground,!0).attr("fill","none"),w.attr("width",(function(t){return t.width})).attr("height",(function(t){return t.height})),p.each((function(e){o.setClipUrl(i.select(this),g(t,e),t)}));var A=p.selectAll("."+n.cn.yColumn).data((function(t){return t.columns}),a.keyFun);A.enter().append("g").classed(n.cn.yColumn,!0),A.exit().remove(),A.attr("transform",(function(t){return c(t.x,0)})),r&&A.call(i.behavior.drag().origin((function(e){return T(i.select(this),e,-n.uplift),l(this),e.calcdata.columnDragInProgress=!0,y(p.filter((function(t){return e.calcdata.key===t.key})),t),e})).on("drag",(function(t){var e=i.select(this),r=function(e){return(t===e?i.event.x:e.x)+e.columnWidth/2};t.x=Math.max(-n.overdrag,Math.min(t.calcdata.width+n.overdrag-t.columnWidth,i.event.x)),v(A).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)})),A.filter((function(e){return t!==e})).transition().ease(n.transitionEase).duration(n.transitionDuration).attr("transform",(function(t){return c(t.x,0)})),e.call(u).attr("transform",c(t.x,-n.uplift))})).on("dragend",(function(e){var r=i.select(this),n=e.calcdata;e.x=e.xScale(e),e.calcdata.columnDragInProgress=!1,T(r,e,0),function(t,e,r){var n=e.gdColumnsOriginalOrder;e.gdColumns.sort((function(t,e){return r[n.indexOf(t)]-r[n.indexOf(e)]})),e.columnorder=r,t.emit("plotly_restyle")}(t,n,n.columns.map((function(t){return t.xIndex})))}))),A.each((function(e){o.setClipUrl(i.select(this),m(t,e),t)}));var C=A.selectAll("."+n.cn.columnBlock).data(h.splitToPanels,a.keyFun);C.enter().append("g").classed(n.cn.columnBlock,!0).attr("id",(function(t){return t.key})),C.style("cursor",(function(t){return t.dragHandle?"ew-resize":t.calcdata.scrollbarState.barWiggleRoom?"ns-resize":"default"}));var L=C.filter(M),I=C.filter(k);r&&I.call(i.behavior.drag().origin((function(t){return i.event.stopPropagation(),t})).on("drag",E(t,p,-1)).on("dragend",(function(){}))),x(t,p,L,C),x(t,p,I,C);var P=p.selectAll("."+n.cn.scrollAreaClip).data(a.repeat,a.keyFun);P.enter().append("clipPath").classed(n.cn.scrollAreaClip,!0).attr("id",(function(e){return g(t,e)}));var z=P.selectAll("."+n.cn.scrollAreaClipRect).data(a.repeat,a.keyFun);z.enter().append("rect").classed(n.cn.scrollAreaClipRect,!0).attr("x",-n.overdrag).attr("y",-n.uplift).attr("fill","none"),z.attr("width",(function(t){return t.width+2*n.overdrag})).attr("height",(function(t){return t.height+n.uplift})),A.selectAll("."+n.cn.columnBoundary).data(a.repeat,a.keyFun).enter().append("g").classed(n.cn.columnBoundary,!0);var O=A.selectAll("."+n.cn.columnBoundaryClippath).data(a.repeat,a.keyFun);O.enter().append("clipPath").classed(n.cn.columnBoundaryClippath,!0),O.attr("id",(function(e){return m(t,e)}));var D=O.selectAll("."+n.cn.columnBoundaryRect).data(a.repeat,a.keyFun);D.enter().append("rect").classed(n.cn.columnBoundaryRect,!0).attr("fill","none"),D.attr("width",(function(t){return t.columnWidth+2*d(t)})).attr("height",(function(t){return t.calcdata.height+2*d(t)+n.uplift})).attr("x",(function(t){return-d(t)})).attr("y",(function(t){return-d(t)})),S(null,I,p)}},{"../../components/color":643,"../../components/drawing":665,"../../lib":778,"../../lib/gup":775,"../../lib/svg_text_utils":803,"./constants":1319,"./data_preparation_helper":1320,"./data_split_helpers":1321,d3:169}],1325:[function(t,e,r){"use strict";var n=t("../../plots/template_attributes").hovertemplateAttrs,i=t("../../plots/template_attributes").texttemplateAttrs,a=t("../../components/colorscale/attributes"),o=t("../../plots/domain").attributes,s=t("../pie/attributes"),l=t("../sunburst/attributes"),c=t("./constants"),u=t("../../lib/extend").extendFlat;e.exports={labels:l.labels,parents:l.parents,values:l.values,branchvalues:l.branchvalues,count:l.count,level:l.level,maxdepth:l.maxdepth,tiling:{packing:{valType:"enumerated",values:["squarify","binary","dice","slice","slice-dice","dice-slice"],dflt:"squarify",editType:"plot"},squarifyratio:{valType:"number",min:1,dflt:1,editType:"plot"},flip:{valType:"flaglist",flags:["x","y"],dflt:"",editType:"plot"},pad:{valType:"number",min:0,dflt:3,editType:"plot"},editType:"calc"},marker:u({pad:{t:{valType:"number",min:0,editType:"plot"},l:{valType:"number",min:0,editType:"plot"},r:{valType:"number",min:0,editType:"plot"},b:{valType:"number",min:0,editType:"plot"},editType:"calc"},colors:l.marker.colors,depthfade:{valType:"enumerated",values:[!0,!1,"reversed"],editType:"style"},line:l.marker.line,editType:"calc"},a("marker",{colorAttr:"colors",anim:!1})),pathbar:{visible:{valType:"boolean",dflt:!0,editType:"plot"},side:{valType:"enumerated",values:["top","bottom"],dflt:"top",editType:"plot"},edgeshape:{valType:"enumerated",values:[">","<","|","/","\\"],dflt:">",editType:"plot"},thickness:{valType:"number",min:12,editType:"plot"},textfont:u({},s.textfont,{}),editType:"calc"},text:s.text,textinfo:l.textinfo,texttemplate:i({editType:"plot"},{keys:c.eventDataKeys.concat(["label","value"])}),hovertext:s.hovertext,hoverinfo:l.hoverinfo,hovertemplate:n({},{keys:c.eventDataKeys}),textfont:s.textfont,insidetextfont:s.insidetextfont,outsidetextfont:u({},s.outsidetextfont,{}),textposition:{valType:"enumerated",values:["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"],dflt:"top left",editType:"plot"},sort:s.sort,root:l.root,domain:o({name:"treemap",trace:!0,editType:"calc"})}},{"../../components/colorscale/attributes":650,"../../lib/extend":768,"../../plots/domain":855,"../../plots/template_attributes":906,"../pie/attributes":1161,"../sunburst/attributes":1299,"./constants":1328}],1326:[function(t,e,r){"use strict";var n=t("../../plots/plots");r.name="treemap",r.plot=function(t,e,i,a){n.plotBasePlot(r.name,t,e,i,a)},r.clean=function(t,e,i,a){n.cleanBasePlot(r.name,t,e,i,a)}},{"../../plots/plots":891}],1327:[function(t,e,r){"use strict";var n=t("../sunburst/calc");r.calc=function(t,e){return n.calc(t,e)},r.crossTraceCalc=function(t){return n._runCrossTraceCalc("treemap",t)}},{"../sunburst/calc":1301}],1328:[function(t,e,r){"use strict";e.exports={CLICK_TRANSITION_TIME:750,CLICK_TRANSITION_EASING:"poly",eventDataKeys:["currentPath","root","entry","percentRoot","percentEntry","percentParent"],gapWithPathbar:1}},{}],1329:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./attributes"),a=t("../../components/color"),o=t("../../plots/domain").defaults,s=t("../bar/defaults").handleText,l=t("../bar/constants").TEXTPAD,c=t("../../components/colorscale"),u=c.hasColorscale,f=c.handleDefaults;e.exports=function(t,e,r,c){function h(r,a){return n.coerce(t,e,i,r,a)}var p=h("labels"),d=h("parents");if(p&&p.length&&d&&d.length){var g=h("values");g&&g.length?h("branchvalues"):h("count"),h("level"),h("maxdepth"),"squarify"===h("tiling.packing")&&h("tiling.squarifyratio"),h("tiling.flip"),h("tiling.pad");var m=h("text");h("texttemplate"),e.texttemplate||h("textinfo",Array.isArray(m)?"text+label":"label"),h("hovertext"),h("hovertemplate");var v=h("pathbar.visible");s(t,e,c,h,"auto",{hasPathbar:v,moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),h("textposition");var y=-1!==e.textposition.indexOf("bottom");h("marker.line.width")&&h("marker.line.color",c.paper_bgcolor);var x=h("marker.colors"),b=e._hasColorscale=u(t,"marker","colors")||(t.marker||{}).coloraxis;b?f(t,e,c,h,{prefix:"marker.",cLetter:"c"}):h("marker.depthfade",!(x||[]).length);var _=2*e.textfont.size;h("marker.pad.t",y?_/4:_),h("marker.pad.l",_/4),h("marker.pad.r",_/4),h("marker.pad.b",y?_:_/4),b&&f(t,e,c,h,{prefix:"marker.",cLetter:"c"}),e._hovered={marker:{line:{width:2,color:a.contrast(c.paper_bgcolor)}}},v&&(h("pathbar.thickness",e.pathbar.textfont.size+2*l),h("pathbar.side"),h("pathbar.edgeshape")),h("sort"),h("root.color"),o(e,c,h),e._length=null}else e.visible=!1}},{"../../components/color":643,"../../components/colorscale":655,"../../lib":778,"../../plots/domain":855,"../bar/constants":923,"../bar/defaults":925,"./attributes":1325}],1330:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../lib"),a=t("../../components/drawing"),o=t("../../lib/svg_text_utils"),s=t("./partition"),l=t("./style").styleOne,c=t("./constants"),u=t("../sunburst/helpers"),f=t("../sunburst/fx");e.exports=function(t,e,r,h,p){var d=p.barDifY,g=p.width,m=p.height,v=p.viewX,y=p.viewY,x=p.pathSlice,b=p.toMoveInsideSlice,_=p.strTransform,w=p.hasTransition,T=p.handleSlicesExit,k=p.makeUpdateSliceInterpolator,M=p.makeUpdateTextInterpolator,A={},S=t._fullLayout,E=e[0],C=E.trace,L=E.hierarchy,I=g/C._entryDepth,P=u.listPath(r.data,"id"),z=s(L.copy(),[g,m],{packing:"dice",pad:{inner:0,top:0,left:0,right:0,bottom:0}}).descendants();(z=z.filter((function(t){var e=P.indexOf(t.data.id);return-1!==e&&(t.x0=I*e,t.x1=I*(e+1),t.y0=d,t.y1=d+m,t.onPathbar=!0,!0)}))).reverse(),(h=h.data(z,u.getPtId)).enter().append("g").classed("pathbar",!0),T(h,!0,A,[g,m],x),h.order();var O=h;w&&(O=O.transition().each("end",(function(){var e=n.select(this);u.setSliceCursor(e,t,{hideOnRoot:!1,hideOnLeaves:!1,isTransitioning:!1})}))),O.each((function(s){s._hoverX=v(s.x1-Math.min(g,m)/2),s._hoverY=y(s.y1-m/2);var h=n.select(this),p=i.ensureSingle(h,"path","surface",(function(t){t.style("pointer-events","all")}));w?p.transition().attrTween("d",(function(t){var e=k(t,!0,A,[g,m]);return function(t){return x(e(t))}})):p.attr("d",x),h.call(f,r,t,e,{styleOne:l,eventDataKeys:c.eventDataKeys,transitionTime:c.CLICK_TRANSITION_TIME,transitionEasing:c.CLICK_TRANSITION_EASING}).call(u.setSliceCursor,t,{hideOnRoot:!1,hideOnLeaves:!1,isTransitioning:t._transitioning}),p.call(l,s,C,{hovered:!1}),s._text=(u.getPtLabel(s)||"").split("<br>").join(" ")||"";var d=i.ensureSingle(h,"g","slicetext"),T=i.ensureSingle(d,"text","",(function(t){t.attr("data-notex",1)})),E=i.ensureUniformFontSize(t,u.determineTextFont(C,s,S.font,{onPathbar:!0}));T.text(s._text||" ").classed("slicetext",!0).attr("text-anchor","start").call(a.font,E).call(o.convertToTspans,t),s.textBB=a.bBox(T.node()),s.transform=b(s,{fontSize:E.size,onPathbar:!0}),s.transform.fontSize=E.size,w?T.transition().attrTween("transform",(function(t){var e=M(t,!0,A,[g,m]);return function(t){return _(e(t))}})):T.attr("transform",_(s))}))}},{"../../components/drawing":665,"../../lib":778,"../../lib/svg_text_utils":803,"../sunburst/fx":1304,"../sunburst/helpers":1305,"./constants":1328,"./partition":1335,"./style":1337,d3:169}],1331:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../lib"),a=t("../../components/drawing"),o=t("../../lib/svg_text_utils"),s=t("./partition"),l=t("./style").styleOne,c=t("./constants"),u=t("../sunburst/helpers"),f=t("../sunburst/fx"),h=t("../sunburst/plot").formatSliceLabel;e.exports=function(t,e,r,p,d){var g=d.width,m=d.height,v=d.viewX,y=d.viewY,x=d.pathSlice,b=d.toMoveInsideSlice,_=d.strTransform,w=d.hasTransition,T=d.handleSlicesExit,k=d.makeUpdateSliceInterpolator,M=d.makeUpdateTextInterpolator,A=d.prevEntry,S=t._fullLayout,E=e[0].trace,C=-1!==E.textposition.indexOf("left"),L=-1!==E.textposition.indexOf("right"),I=-1!==E.textposition.indexOf("bottom"),P=!I&&!E.marker.pad.t||I&&!E.marker.pad.b,z=s(r,[g,m],{packing:E.tiling.packing,squarifyratio:E.tiling.squarifyratio,flipX:E.tiling.flip.indexOf("x")>-1,flipY:E.tiling.flip.indexOf("y")>-1,pad:{inner:E.tiling.pad,top:E.marker.pad.t,left:E.marker.pad.l,right:E.marker.pad.r,bottom:E.marker.pad.b}}).descendants(),O=1/0,D=-1/0;z.forEach((function(t){var e=t.depth;e>=E._maxDepth?(t.x0=t.x1=(t.x0+t.x1)/2,t.y0=t.y1=(t.y0+t.y1)/2):(O=Math.min(O,e),D=Math.max(D,e))})),p=p.data(z,u.getPtId),E._maxVisibleLayers=isFinite(D)?D-O+1:0,p.enter().append("g").classed("slice",!0),T(p,!1,{},[g,m],x),p.order();var R=null;if(w&&A){var F=u.getPtId(A);p.each((function(t){null===R&&u.getPtId(t)===F&&(R={x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1})}))}var B=function(){return R||{x0:0,x1:g,y0:0,y1:m}},N=p;return w&&(N=N.transition().each("end",(function(){var e=n.select(this);u.setSliceCursor(e,t,{hideOnRoot:!0,hideOnLeaves:!1,isTransitioning:!1})}))),N.each((function(s){var p=u.isHeader(s,E);s._hoverX=v(s.x1-E.marker.pad.r),s._hoverY=y(I?s.y1-E.marker.pad.b/2:s.y0+E.marker.pad.t/2);var d=n.select(this),T=i.ensureSingle(d,"path","surface",(function(t){t.style("pointer-events","all")}));w?T.transition().attrTween("d",(function(t){var e=k(t,!1,B(),[g,m]);return function(t){return x(e(t))}})):T.attr("d",x),d.call(f,r,t,e,{styleOne:l,eventDataKeys:c.eventDataKeys,transitionTime:c.CLICK_TRANSITION_TIME,transitionEasing:c.CLICK_TRANSITION_EASING}).call(u.setSliceCursor,t,{isTransitioning:t._transitioning}),T.call(l,s,E,{hovered:!1}),s.x0===s.x1||s.y0===s.y1?s._text="":s._text=p?P?"":u.getPtLabel(s)||"":h(s,r,E,e,S)||"";var A=i.ensureSingle(d,"g","slicetext"),z=i.ensureSingle(A,"text","",(function(t){t.attr("data-notex",1)})),O=i.ensureUniformFontSize(t,u.determineTextFont(E,s,S.font));z.text(s._text||" ").classed("slicetext",!0).attr("text-anchor",L?"end":C||p?"start":"middle").call(a.font,O).call(o.convertToTspans,t),s.textBB=a.bBox(z.node()),s.transform=b(s,{fontSize:O.size,isHeader:p}),s.transform.fontSize=O.size,w?z.transition().attrTween("transform",(function(t){var e=M(t,!1,B(),[g,m]);return function(t){return _(e(t))}})):z.attr("transform",_(s))})),R}},{"../../components/drawing":665,"../../lib":778,"../../lib/svg_text_utils":803,"../sunburst/fx":1304,"../sunburst/helpers":1305,"../sunburst/plot":1309,"./constants":1328,"./partition":1335,"./style":1337,d3:169}],1332:[function(t,e,r){"use strict";e.exports={moduleType:"trace",name:"treemap",basePlotModule:t("./base_plot"),categories:[],animatable:!0,attributes:t("./attributes"),layoutAttributes:t("./layout_attributes"),supplyDefaults:t("./defaults"),supplyLayoutDefaults:t("./layout_defaults"),calc:t("./calc").calc,crossTraceCalc:t("./calc").crossTraceCalc,plot:t("./plot"),style:t("./style").style,colorbar:t("../scatter/marker_colorbar"),meta:{}}},{"../scatter/marker_colorbar":1205,"./attributes":1325,"./base_plot":1326,"./calc":1327,"./defaults":1329,"./layout_attributes":1333,"./layout_defaults":1334,"./plot":1336,"./style":1337}],1333:[function(t,e,r){"use strict";e.exports={treemapcolorway:{valType:"colorlist",editType:"calc"},extendtreemapcolors:{valType:"boolean",dflt:!0,editType:"calc"}}},{}],1334:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./layout_attributes");e.exports=function(t,e){function r(r,a){return n.coerce(t,e,i,r,a)}r("treemapcolorway",e.colorway),r("extendtreemapcolors")}},{"../../lib":778,"./layout_attributes":1333}],1335:[function(t,e,r){"use strict";var n=t("d3-hierarchy");e.exports=function(t,e,r){var i,a=r.flipX,o=r.flipY,s="dice-slice"===r.packing,l=r.pad[o?"bottom":"top"],c=r.pad[a?"right":"left"],u=r.pad[a?"left":"right"],f=r.pad[o?"top":"bottom"];s&&(i=c,c=l,l=i,i=u,u=f,f=i);var h=n.treemap().tile(function(t,e){switch(t){case"squarify":return n.treemapSquarify.ratio(e);case"binary":return n.treemapBinary;case"dice":return n.treemapDice;case"slice":return n.treemapSlice;default:return n.treemapSliceDice}}(r.packing,r.squarifyratio)).paddingInner(r.pad.inner).paddingLeft(c).paddingRight(u).paddingTop(l).paddingBottom(f).size(s?[e[1],e[0]]:e)(t);return(s||a||o)&&function t(e,r,n){var i;n.swapXY&&(i=e.x0,e.x0=e.y0,e.y0=i,i=e.x1,e.x1=e.y1,e.y1=i);n.flipX&&(i=e.x0,e.x0=r[0]-e.x1,e.x1=r[0]-i);n.flipY&&(i=e.y0,e.y0=r[1]-e.y1,e.y1=r[1]-i);var a=e.children;if(a)for(var o=0;o<a.length;o++)t(a[o],r,n)}(h,e,{swapXY:s,flipX:a,flipY:o}),h}},{"d3-hierarchy":161}],1336:[function(t,e,r){"use strict";var n=t("d3"),i=t("../sunburst/helpers"),a=t("../../lib"),o=t("../bar/constants").TEXTPAD,s=t("../bar/plot").toMoveInsideBar,l=t("../bar/uniform_text"),c=l.recordMinTextSize,u=l.clearMinTextSize,f=t("../bar/style").resizeText,h=t("./constants"),p=t("./draw_descendants"),d=t("./draw_ancestors");function g(t){return i.isHierarchyRoot(t)?"":i.getPtId(t)}function m(t,e,r,l){var u=t._fullLayout,f=e[0],m=f.trace,v=f.hierarchy,y=i.findEntryWithLevel(v,m.level),x=n.select(r),b=x.selectAll("g.pathbar"),_=x.selectAll("g.slice");if(!y)return b.remove(),void _.remove();var w=i.isHierarchyRoot(y),T=!u.uniformtext.mode&&i.hasTransition(l),k=i.getMaxDepth(m),M=u._size,A=m.domain,S=M.w*(A.x[1]-A.x[0]),E=M.h*(A.y[1]-A.y[0]),C=S,L=m.pathbar.thickness,I=m.marker.line.width+h.gapWithPathbar,P=m.pathbar.visible?m.pathbar.side.indexOf("bottom")>-1?E+I:-(L+I):0,z={x0:C,x1:C,y0:P,y1:P+L},O=function(t,e,r){var n=m.tiling.pad,i=function(t){return t-n<=e.x0},a=function(t){return t+n>=e.x1},o=function(t){return t-n<=e.y0},s=function(t){return t+n>=e.y1};return{x0:i(t.x0-n)?0:a(t.x0-n)?r[0]:t.x0,x1:i(t.x1+n)?0:a(t.x1+n)?r[0]:t.x1,y0:o(t.y0-n)?0:s(t.y0-n)?r[1]:t.y0,y1:o(t.y1+n)?0:s(t.y1+n)?r[1]:t.y1}},D=null,R={},F={},B=null,N=function(t,e){return e?R[g(t)]:F[g(t)]},j=function(t,e,r,n){if(e)return R[g(v)]||z;var i=F[m.level]||r;return function(t){return t.data.depth-y.data.depth<k}(t)?O(t,i,n):{}};f.hasMultipleRoots&&w&&k++,m._maxDepth=k,m._backgroundColor=u.paper_bgcolor,m._entryDepth=y.data.depth,m._atRootLevel=w;var U=-S/2+M.l+M.w*(A.x[1]+A.x[0])/2,V=-E/2+M.t+M.h*(1-(A.y[1]+A.y[0])/2),q=function(t){return U+t},H=function(t){return V+t},G=H(0),Y=q(0),W=function(t){return Y+t},X=function(t){return G+t};function Z(t,e){return t+","+e}var J=W(0),K=function(t){t.x=Math.max(J,t.x)},Q=m.pathbar.edgeshape,$=function(t,e){var r=t.x0,n=t.x1,i=t.y0,a=t.y1,l=t.textBB,f=function(t){return-1!==m.textposition.indexOf(t)},h=f("bottom"),p=f("top")||e.isHeader&&!h?"start":h?"end":"middle",d=f("right"),g=f("left")||e.onPathbar?-1:d?1:0,v=m.marker.pad;if(e.isHeader){if((r+=v.l-o)>=(n-=v.r-o)){var y=(r+n)/2;r=y,n=y}var x;h?i<(x=a-v.b)&&x<a&&(i=x):i<(x=i+v.t)&&x<a&&(a=x)}var b=s(r,n,i,a,l,{isHorizontal:!1,constrained:!0,angle:0,anchor:p,leftToRight:g});return b.fontSize=e.fontSize,b.targetX=q(b.targetX),b.targetY=H(b.targetY),isNaN(b.targetX)||isNaN(b.targetY)?{}:(r!==n&&i!==a&&c(m.type,b,u),{scale:b.scale,rotate:b.rotate,textX:b.textX,textY:b.textY,anchorX:b.anchorX,anchorY:b.anchorY,targetX:b.targetX,targetY:b.targetY})},tt=function(t,e){for(var r,n=0,i=t;!r&&n<k;)n++,(i=i.parent)?r=N(i,e):n=k;return r||{}},et=function(t,e,r,i){var o,s=N(t,e);if(s)o=s;else if(e)o=z;else if(D)if(t.parent){var l=B||r;l&&!e?o=O(t,l,i):(o={},a.extendFlat(o,tt(t,e)))}else o=t;else o={};return n.interpolate(o,{x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1})},rt=function(t,e,r,o){var s=N(t,e),l={},f=j(t,e,r,o);a.extendFlat(l,{transform:$({x0:f.x0,x1:f.x1,y0:f.y0,y1:f.y1,textBB:t.textBB,_text:t._text},{isHeader:i.isHeader(t,m)})}),s?l=s:t.parent&&a.extendFlat(l,tt(t,e));var h=t.transform;return t.x0!==t.x1&&t.y0!==t.y1&&c(m.type,h,u),n.interpolate(l,{transform:{scale:h.scale,rotate:h.rotate,textX:h.textX,textY:h.textY,anchorX:h.anchorX,anchorY:h.anchorY,targetX:h.targetX,targetY:h.targetY}})},nt=function(t,e,r,i,a){var o=i[0],s=i[1];T?t.exit().transition().each((function(){var t=n.select(this);t.select("path.surface").transition().attrTween("d",(function(t){var r=function(t,e,r,i){var a,o=N(t,e);if(e)a=z;else{var s=N(y,e);a=s?O(t,s,i):{}}return n.interpolate(o,a)}(t,e,0,[o,s]);return function(t){return a(r(t))}})),t.select("g.slicetext").attr("opacity",0)})).remove():t.exit().remove()},it=function(t){var e=t.transform;return t.x0!==t.x1&&t.y0!==t.y1&&c(m.type,e,u),a.getTextTransform({textX:e.textX,textY:e.textY,anchorX:e.anchorX,anchorY:e.anchorY,targetX:e.targetX,targetY:e.targetY,scale:e.scale,rotate:e.rotate})};T&&(b.each((function(t){R[g(t)]={x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1},t.transform&&(R[g(t)].transform={textX:t.transform.textX,textY:t.transform.textY,anchorX:t.transform.anchorX,anchorY:t.transform.anchorY,targetX:t.transform.targetX,targetY:t.transform.targetY,scale:t.transform.scale,rotate:t.transform.rotate})})),_.each((function(t){F[g(t)]={x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1},t.transform&&(F[g(t)].transform={textX:t.transform.textX,textY:t.transform.textY,anchorX:t.transform.anchorX,anchorY:t.transform.anchorY,targetX:t.transform.targetX,targetY:t.transform.targetY,scale:t.transform.scale,rotate:t.transform.rotate}),!D&&i.isEntry(t)&&(D=t)}))),B=p(t,e,y,_,{width:S,height:E,viewX:q,viewY:H,pathSlice:function(t){var e=q(t.x0),r=q(t.x1),n=H(t.y0),i=H(t.y1),a=r-e,o=i-n;if(!a||!o)return"";return"M"+Z(e,n+0)+"L"+Z(r-0,n)+"L"+Z(r,i-0)+"L"+Z(e+0,i)+"Z"},toMoveInsideSlice:$,prevEntry:D,makeUpdateSliceInterpolator:et,makeUpdateTextInterpolator:rt,handleSlicesExit:nt,hasTransition:T,strTransform:it}),m.pathbar.visible?d(t,e,y,b,{barDifY:P,width:C,height:L,viewX:W,viewY:X,pathSlice:function(t){var e=W(Math.max(Math.min(t.x0,t.x0),0)),r=W(Math.min(Math.max(t.x1,t.x1),C)),n=X(t.y0),i=X(t.y1),a=L/2,o={},s={};o.x=e,s.x=r,o.y=s.y=(n+i)/2;var l={x:e,y:n},c={x:r,y:n},u={x:r,y:i},f={x:e,y:i};return">"===Q?(l.x-=a,c.x-=a,u.x-=a,f.x-=a):"/"===Q?(u.x-=a,f.x-=a,o.x-=a/2,s.x-=a/2):"\\"===Q?(l.x-=a,c.x-=a,o.x-=a/2,s.x-=a/2):"<"===Q&&(o.x-=a,s.x-=a),K(l),K(f),K(o),K(c),K(u),K(s),"M"+Z(l.x,l.y)+"L"+Z(c.x,c.y)+"L"+Z(s.x,s.y)+"L"+Z(u.x,u.y)+"L"+Z(f.x,f.y)+"L"+Z(o.x,o.y)+"Z"},toMoveInsideSlice:$,makeUpdateSliceInterpolator:et,makeUpdateTextInterpolator:rt,handleSlicesExit:nt,hasTransition:T,strTransform:it}):b.remove()}e.exports=function(t,e,r,a){var o,s,l=t._fullLayout,c=l._treemaplayer,h=!r;(u("treemap",l),(o=c.selectAll("g.trace.treemap").data(e,(function(t){return t[0].trace.uid}))).enter().append("g").classed("trace",!0).classed("treemap",!0),o.order(),!l.uniformtext.mode&&i.hasTransition(r))?(a&&(s=a()),n.transition().duration(r.duration).ease(r.easing).each("end",(function(){s&&s()})).each("interrupt",(function(){s&&s()})).each((function(){c.selectAll("g.trace").each((function(e){m(t,e,this,r)}))}))):(o.each((function(e){m(t,e,this,r)})),l.uniformtext.mode&&f(t,l._treemaplayer.selectAll(".trace"),"treemap"));h&&o.exit().remove()}},{"../../lib":778,"../bar/constants":923,"../bar/plot":932,"../bar/style":935,"../bar/uniform_text":937,"../sunburst/helpers":1305,"./constants":1328,"./draw_ancestors":1330,"./draw_descendants":1331,d3:169}],1337:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../components/color"),a=t("../../lib"),o=t("../sunburst/helpers"),s=t("../bar/uniform_text").resizeText;function l(t,e,r,n){var s,l,c=(n||{}).hovered,u=e.data.data,f=u.i,h=u.color,p=o.isHierarchyRoot(e),d=1;if(c)s=r._hovered.marker.line.color,l=r._hovered.marker.line.width;else if(p&&h===r.root.color)d=100,s="rgba(0,0,0,0)",l=0;else if(s=a.castOption(r,f,"marker.line.color")||i.defaultLine,l=a.castOption(r,f,"marker.line.width")||0,!r._hasColorscale&&!e.onPathbar){var g=r.marker.depthfade;if(g){var m,v=i.combine(i.addOpacity(r._backgroundColor,.75),h);if(!0===g){var y=o.getMaxDepth(r);m=isFinite(y)?o.isLeaf(e)?0:r._maxVisibleLayers-(e.data.depth-r._entryDepth):e.data.height+1}else m=e.data.depth-r._entryDepth,r._atRootLevel||m++;if(m>0)for(var x=0;x<m;x++){var b=.5*x/m;h=i.combine(i.addOpacity(v,b),h)}}}t.style("stroke-width",l).call(i.fill,h).call(i.stroke,s).style("opacity",d)}e.exports={style:function(t){var e=t._fullLayout._treemaplayer.selectAll(".trace");s(t,e,"treemap"),e.each((function(t){var e=n.select(this),r=t[0].trace;e.style("opacity",r.opacity),e.selectAll("path.surface").each((function(t){n.select(this).call(l,t,r,{hovered:!1})}))}))},styleOne:l}},{"../../components/color":643,"../../lib":778,"../bar/uniform_text":937,"../sunburst/helpers":1305,d3:169}],1338:[function(t,e,r){"use strict";var n=t("../box/attributes"),i=t("../../lib/extend").extendFlat;e.exports={y:n.y,x:n.x,x0:n.x0,y0:n.y0,name:i({},n.name,{}),orientation:i({},n.orientation,{}),bandwidth:{valType:"number",min:0,editType:"calc"},scalegroup:{valType:"string",dflt:"",editType:"calc"},scalemode:{valType:"enumerated",values:["width","count"],dflt:"width",editType:"calc"},spanmode:{valType:"enumerated",values:["soft","hard","manual"],dflt:"soft",editType:"calc"},span:{valType:"info_array",items:[{valType:"any",editType:"calc"},{valType:"any",editType:"calc"}],editType:"calc"},line:{color:{valType:"color",editType:"style"},width:{valType:"number",min:0,dflt:2,editType:"style"},editType:"plot"},fillcolor:n.fillcolor,points:i({},n.boxpoints,{}),jitter:i({},n.jitter,{}),pointpos:i({},n.pointpos,{}),width:i({},n.width,{}),marker:n.marker,text:n.text,hovertext:n.hovertext,hovertemplate:n.hovertemplate,box:{visible:{valType:"boolean",dflt:!1,editType:"plot"},width:{valType:"number",min:0,max:1,dflt:.25,editType:"plot"},fillcolor:{valType:"color",editType:"style"},line:{color:{valType:"color",editType:"style"},width:{valType:"number",min:0,editType:"style"},editType:"style"},editType:"plot"},meanline:{visible:{valType:"boolean",dflt:!1,editType:"plot"},color:{valType:"color",editType:"style"},width:{valType:"number",min:0,editType:"style"},editType:"plot"},side:{valType:"enumerated",values:["both","positive","negative"],dflt:"both",editType:"calc"},offsetgroup:n.offsetgroup,alignmentgroup:n.alignmentgroup,selected:n.selected,unselected:n.unselected,hoveron:{valType:"flaglist",flags:["violins","points","kde"],dflt:"violins+points+kde",extras:["all"],editType:"style"}}},{"../../lib/extend":768,"../box/attributes":946}],1339:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../plots/cartesian/axes"),a=t("../box/calc"),o=t("./helpers"),s=t("../../constants/numerical").BADNUM;function l(t,e,r){var i=e.max-e.min;if(!i)return t.bandwidth?t.bandwidth:0;if(t.bandwidth)return Math.max(t.bandwidth,i/1e4);var a=r.length,o=n.stdev(r,a-1,e.mean);return Math.max(function(t,e,r){return 1.059*Math.min(e,r/1.349)*Math.pow(t,-.2)}(a,o,e.q3-e.q1),i/100)}function c(t,e,r,n){var a,o=t.spanmode,l=t.span||[],c=[e.min,e.max],u=[e.min-2*n,e.max+2*n];function f(n){var i=l[n],a="multicategory"===r.type?r.r2c(i):r.d2c(i,0,t[e.valLetter+"calendar"]);return a===s?u[n]:a}var h={type:"linear",range:a="soft"===o?u:"hard"===o?c:[f(0),f(1)]};return i.setConvert(h),h.cleanRange(),a}e.exports=function(t,e){var r=a(t,e);if(r[0].t.empty)return r;for(var s=t._fullLayout,u=i.getFromId(t,e["h"===e.orientation?"xaxis":"yaxis"]),f=1/0,h=-1/0,p=0,d=0,g=0;g<r.length;g++){var m=r[g],v=m.pts.map(o.extractVal),y=m.bandwidth=l(e,m,v),x=m.span=c(e,m,u,y);if(m.min===m.max&&0===y)x=m.span=[m.min,m.max],m.density=[{v:1,t:x[0]}],m.bandwidth=y,p=Math.max(p,1);else{var b=x[1]-x[0],_=Math.ceil(b/(y/3)),w=b/_;if(!isFinite(w)||!isFinite(_))return n.error("Something went wrong with computing the violin span"),r[0].t.empty=!0,r;var T=o.makeKDE(m,e,v);m.density=new Array(_);for(var k=0,M=x[0];M<x[1]+w/2;k++,M+=w){var A=T(M);m.density[k]={v:A,t:M},p=Math.max(p,A)}}d=Math.max(d,v.length),f=Math.min(f,x[0]),h=Math.max(h,x[1])}var S=i.findExtremes(u,[f,h],{padded:!0});if(e._extremes[u._id]=S,e.width)r[0].t.maxKDE=p;else{var E=s._violinScaleGroupStats,C=e.scalegroup,L=E[C];L?(L.maxKDE=Math.max(L.maxKDE,p),L.maxCount=Math.max(L.maxCount,d)):E[C]={maxKDE:p,maxCount:d}}return r[0].t.labels.kde=n._(t,"kde:"),r}},{"../../constants/numerical":753,"../../lib":778,"../../plots/cartesian/axes":828,"../box/calc":947,"./helpers":1342}],1340:[function(t,e,r){"use strict";var n=t("../box/cross_trace_calc").setPositionOffset,i=["v","h"];e.exports=function(t,e){for(var r=t.calcdata,a=e.xaxis,o=e.yaxis,s=0;s<i.length;s++){for(var l=i[s],c="h"===l?o:a,u=[],f=0;f<r.length;f++){var h=r[f],p=h[0].t,d=h[0].trace;!0!==d.visible||"violin"!==d.type||p.empty||d.orientation!==l||d.xaxis!==a._id||d.yaxis!==o._id||u.push(f)}n("violin",t,u,c)}}},{"../box/cross_trace_calc":948}],1341:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../components/color"),a=t("../box/defaults"),o=t("./attributes");e.exports=function(t,e,r,s){function l(r,i){return n.coerce(t,e,o,r,i)}function c(r,i){return n.coerce2(t,e,o,r,i)}if(a.handleSampleDefaults(t,e,l,s),!1!==e.visible){l("bandwidth"),l("side"),l("width")||(l("scalegroup",e.name),l("scalemode"));var u,f=l("span");Array.isArray(f)&&(u="manual"),l("spanmode",u);var h=l("line.color",(t.marker||{}).color||r),p=l("line.width"),d=l("fillcolor",i.addOpacity(e.line.color,.5));a.handlePointsDefaults(t,e,l,{prefix:""});var g=c("box.width"),m=c("box.fillcolor",d),v=c("box.line.color",h),y=c("box.line.width",p);l("box.visible",Boolean(g||m||v||y))||(e.box={visible:!1});var x=c("meanline.color",h),b=c("meanline.width",p);l("meanline.visible",Boolean(x||b))||(e.meanline={visible:!1})}}},{"../../components/color":643,"../../lib":778,"../box/defaults":949,"./attributes":1338}],1342:[function(t,e,r){"use strict";var n=t("../../lib"),i=function(t){return 1/Math.sqrt(2*Math.PI)*Math.exp(-.5*t*t)};r.makeKDE=function(t,e,r){var n=r.length,a=i,o=t.bandwidth,s=1/(n*o);return function(t){for(var e=0,i=0;i<n;i++)e+=a((t-r[i])/o);return s*e}},r.getPositionOnKdePath=function(t,e,r){var i,a;"h"===e.orientation?(i="y",a="x"):(i="x",a="y");var o=n.findPointOnPath(t.path,r,a,{pathLength:t.pathLength}),s=t.posCenterPx,l=o[i];return[l,"both"===e.side?2*s-l:s]},r.getKdeValue=function(t,e,n){var i=t.pts.map(r.extractVal);return r.makeKDE(t,e,i)(n)/t.posDensityScale},r.extractVal=function(t){return t.v}},{"../../lib":778}],1343:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../plots/cartesian/axes"),a=t("../box/hover"),o=t("./helpers");e.exports=function(t,e,r,s,l){var c,u,f=t.cd,h=f[0].trace,p=h.hoveron,d=-1!==p.indexOf("violins"),g=-1!==p.indexOf("kde"),m=[];if(d||g){var v=a.hoverOnBoxes(t,e,r,s);if(g&&v.length>0){var y,x,b,_,w,T=t.xa,k=t.ya;"h"===h.orientation?(w=e,y="y",b=k,x="x",_=T):(w=r,y="x",b=T,x="y",_=k);var M=f[t.index];if(w>=M.span[0]&&w<=M.span[1]){var A=n.extendFlat({},t),S=_.c2p(w,!0),E=o.getKdeValue(M,h,w),C=o.getPositionOnKdePath(M,h,S),L=b._offset,I=b._length;A[y+"0"]=C[0],A[y+"1"]=C[1],A[x+"0"]=A[x+"1"]=S,A[x+"Label"]=x+": "+i.hoverLabelText(_,w)+", "+f[0].t.labels.kde+" "+E.toFixed(3),A.spikeDistance=v[0].spikeDistance;var P=y+"Spike";A[P]=v[0][P],v[0].spikeDistance=void 0,v[0][P]=void 0,A.hovertemplate=!1,m.push(A),(u={stroke:t.color})[y+"1"]=n.constrain(L+C[0],L,L+I),u[y+"2"]=n.constrain(L+C[1],L,L+I),u[x+"1"]=u[x+"2"]=_._offset+S}}d&&(m=m.concat(v))}-1!==p.indexOf("points")&&(c=a.hoverOnPoints(t,e,r));var z=l.selectAll(".violinline-"+h.uid).data(u?[0]:[]);return z.enter().append("line").classed("violinline-"+h.uid,!0).attr("stroke-width",1.5),z.exit().remove(),z.attr(u),"closest"===s?c?[c]:m:c?(m.push(c),m):m}},{"../../lib":778,"../../plots/cartesian/axes":828,"../box/hover":951,"./helpers":1342}],1344:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),layoutAttributes:t("./layout_attributes"),supplyDefaults:t("./defaults"),crossTraceDefaults:t("../box/defaults").crossTraceDefaults,supplyLayoutDefaults:t("./layout_defaults"),calc:t("./calc"),crossTraceCalc:t("./cross_trace_calc"),plot:t("./plot"),style:t("./style"),styleOnSelect:t("../scatter/style").styleOnSelect,hoverPoints:t("./hover"),selectPoints:t("../box/select"),moduleType:"trace",name:"violin",basePlotModule:t("../../plots/cartesian"),categories:["cartesian","svg","symbols","oriented","box-violin","showLegend","violinLayout","zoomScale"],meta:{}}},{"../../plots/cartesian":841,"../box/defaults":949,"../box/select":956,"../scatter/style":1211,"./attributes":1338,"./calc":1339,"./cross_trace_calc":1340,"./defaults":1341,"./hover":1343,"./layout_attributes":1345,"./layout_defaults":1346,"./plot":1347,"./style":1348}],1345:[function(t,e,r){"use strict";var n=t("../box/layout_attributes"),i=t("../../lib").extendFlat;e.exports={violinmode:i({},n.boxmode,{}),violingap:i({},n.boxgap,{}),violingroupgap:i({},n.boxgroupgap,{})}},{"../../lib":778,"../box/layout_attributes":953}],1346:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./layout_attributes"),a=t("../box/layout_defaults");e.exports=function(t,e,r){a._supply(t,e,r,(function(r,a){return n.coerce(t,e,i,r,a)}),"violin")}},{"../../lib":778,"../box/layout_defaults":954,"./layout_attributes":1345}],1347:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../lib"),a=t("../../components/drawing"),o=t("../box/plot"),s=t("../scatter/line_points"),l=t("./helpers");e.exports=function(t,e,r,c){var u=t._fullLayout,f=e.xaxis,h=e.yaxis;function p(t){var e=s(t,{xaxis:f,yaxis:h,connectGaps:!0,baseTolerance:.75,shape:"spline",simplify:!0,linearized:!0});return a.smoothopen(e[0],1)}i.makeTraceGroups(c,r,"trace violins").each((function(t){var r=n.select(this),a=t[0],s=a.t,c=a.trace;if(!0!==c.visible||s.empty)r.remove();else{var d=s.bPos,g=s.bdPos,m=e[s.valLetter+"axis"],v=e[s.posLetter+"axis"],y="both"===c.side,x=y||"positive"===c.side,b=y||"negative"===c.side,_=r.selectAll("path.violin").data(i.identity);_.enter().append("path").style("vector-effect","non-scaling-stroke").attr("class","violin"),_.exit().remove(),_.each((function(t){var e,r,i,a,o,l,f,h,_=n.select(this),w=t.density,T=w.length,k=v.c2l(t.pos+d,!0),M=v.l2p(k);if(c.width)e=s.maxKDE/g;else{var A=u._violinScaleGroupStats[c.scalegroup];e="count"===c.scalemode?A.maxKDE/g*(A.maxCount/t.pts.length):A.maxKDE/g}if(x){for(f=new Array(T),o=0;o<T;o++)(h=f[o]={})[s.posLetter]=k+w[o].v/e,h[s.valLetter]=m.c2l(w[o].t,!0);r=p(f)}if(b){for(f=new Array(T),l=0,o=T-1;l<T;l++,o--)(h=f[l]={})[s.posLetter]=k-w[o].v/e,h[s.valLetter]=m.c2l(w[o].t,!0);i=p(f)}if(y)a=r+"L"+i.substr(1)+"Z";else{var S=[M,m.c2p(w[0].t)],E=[M,m.c2p(w[T-1].t)];"h"===c.orientation&&(S.reverse(),E.reverse()),a=x?"M"+S+"L"+r.substr(1)+"L"+E:"M"+E+"L"+i.substr(1)+"L"+S}_.attr("d",a),t.posCenterPx=M,t.posDensityScale=e*g,t.path=_.node(),t.pathLength=t.path.getTotalLength()/(y?2:1)}));var w,T,k,M=c.box,A=M.width,S=(M.line||{}).width;y?(w=g*A,T=0):x?(w=[0,g*A/2],T=S*{x:1,y:-1}[s.posLetter]):(w=[g*A/2,0],T=S*{x:-1,y:1}[s.posLetter]),o.plotBoxAndWhiskers(r,{pos:v,val:m},c,{bPos:d,bdPos:w,bPosPxOffset:T}),o.plotBoxMean(r,{pos:v,val:m},c,{bPos:d,bdPos:w,bPosPxOffset:T}),!c.box.visible&&c.meanline.visible&&(k=i.identity);var E=r.selectAll("path.meanline").data(k||[]);E.enter().append("path").attr("class","meanline").style("fill","none").style("vector-effect","non-scaling-stroke"),E.exit().remove(),E.each((function(t){var e=m.c2p(t.mean,!0),r=l.getPositionOnKdePath(t,c,e);n.select(this).attr("d","h"===c.orientation?"M"+e+","+r[0]+"V"+r[1]:"M"+r[0]+","+e+"H"+r[1])})),o.plotPoints(r,{x:f,y:h},c,s)}}))}},{"../../components/drawing":665,"../../lib":778,"../box/plot":955,"../scatter/line_points":1201,"./helpers":1342,d3:169}],1348:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../components/color"),a=t("../scatter/style").stylePoints;e.exports=function(t){var e=n.select(t).selectAll("g.trace.violins");e.style("opacity",(function(t){return t[0].trace.opacity})),e.each((function(e){var r=e[0].trace,o=n.select(this),s=r.box||{},l=s.line||{},c=r.meanline||{},u=c.width;o.selectAll("path.violin").style("stroke-width",r.line.width+"px").call(i.stroke,r.line.color).call(i.fill,r.fillcolor),o.selectAll("path.box").style("stroke-width",l.width+"px").call(i.stroke,l.color).call(i.fill,s.fillcolor);var f={"stroke-width":u+"px","stroke-dasharray":2*u+"px,"+u+"px"};o.selectAll("path.mean").style(f).call(i.stroke,c.color),o.selectAll("path.meanline").style(f).call(i.stroke,c.color),a(o,r,t)}))}},{"../../components/color":643,"../scatter/style":1211,d3:169}],1349:[function(t,e,r){"use strict";var n=t("../../components/colorscale/attributes"),i=t("../isosurface/attributes"),a=t("../surface/attributes"),o=t("../../plots/attributes"),s=t("../../lib/extend").extendFlat,l=t("../../plot_api/edit_types").overrideAll,c=e.exports=l(s({x:i.x,y:i.y,z:i.z,value:i.value,isomin:i.isomin,isomax:i.isomax,surface:i.surface,spaceframe:{show:{valType:"boolean",dflt:!1},fill:{valType:"number",min:0,max:1,dflt:1}},slices:i.slices,caps:i.caps,text:i.text,hovertext:i.hovertext,hovertemplate:i.hovertemplate},n("",{colorAttr:"`value`",showScaleDflt:!0,editTypeOverride:"calc"}),{colorbar:i.colorbar,opacity:i.opacity,opacityscale:a.opacityscale,lightposition:i.lightposition,lighting:i.lighting,flatshading:i.flatshading,contour:i.contour,hoverinfo:s({},o.hoverinfo),showlegend:s({},o.showlegend,{dflt:!1})}),"calc","nested");c.x.editType=c.y.editType=c.z.editType=c.value.editType="calc+clearAxisTypes",c.transforms=void 0},{"../../components/colorscale/attributes":650,"../../lib/extend":768,"../../plot_api/edit_types":810,"../../plots/attributes":824,"../isosurface/attributes":1123,"../surface/attributes":1311}],1350:[function(t,e,r){"use strict";var n=t("gl-mesh3d"),i=t("../../lib/gl_format_color").parseColorScale,a=t("../../lib/str2rgbarray"),o=t("../../components/colorscale").extractOpts,s=t("../../plots/gl3d/zip3"),l=t("../isosurface/convert").findNearestOnAxis,c=t("../isosurface/convert").generateIsoMeshes;function u(t,e,r){this.scene=t,this.uid=r,this.mesh=e,this.name="",this.data=null,this.showContour=!1}var f=u.prototype;f.handlePick=function(t){if(t.object===this.mesh){var e=t.data.index,r=this.data._meshX[e],n=this.data._meshY[e],i=this.data._meshZ[e],a=this.data._Ys.length,o=this.data._Zs.length,s=l(r,this.data._Xs).id,c=l(n,this.data._Ys).id,u=l(i,this.data._Zs).id,f=t.index=u+o*c+o*a*s;t.traceCoordinate=[this.data._meshX[f],this.data._meshY[f],this.data._meshZ[f],this.data._value[f]];var h=this.data.hovertext||this.data.text;return Array.isArray(h)&&void 0!==h[f]?t.textLabel=h[f]:h&&(t.textLabel=h),!0}},f.update=function(t){var e=this.scene,r=e.fullSceneLayout;function n(t,e,r,n){return e.map((function(e){return t.d2l(e,0,n)*r}))}this.data=c(t);var l={positions:s(n(r.xaxis,t._meshX,e.dataScale[0],t.xcalendar),n(r.yaxis,t._meshY,e.dataScale[1],t.ycalendar),n(r.zaxis,t._meshZ,e.dataScale[2],t.zcalendar)),cells:s(t._meshI,t._meshJ,t._meshK),lightPosition:[t.lightposition.x,t.lightposition.y,t.lightposition.z],ambient:t.lighting.ambient,diffuse:t.lighting.diffuse,specular:t.lighting.specular,roughness:t.lighting.roughness,fresnel:t.lighting.fresnel,vertexNormalsEpsilon:t.lighting.vertexnormalsepsilon,faceNormalsEpsilon:t.lighting.facenormalsepsilon,opacity:t.opacity,opacityscale:t.opacityscale,contourEnable:t.contour.show,contourColor:a(t.contour.color).slice(0,3),contourWidth:t.contour.width,useFacetNormals:t.flatshading},u=o(t);l.vertexIntensity=t._meshIntensity,l.vertexIntensityBounds=[u.min,u.max],l.colormap=i(t),this.mesh.update(l)},f.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()},e.exports=function(t,e){var r=t.glplot.gl,i=n({gl:r}),a=new u(t,i,e.uid);return i._trace=a,a.update(e),t.glplot.add(i),a}},{"../../components/colorscale":655,"../../lib/gl_format_color":774,"../../lib/str2rgbarray":802,"../../plots/gl3d/zip3":881,"../isosurface/convert":1125,"gl-mesh3d":309}],1351:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./attributes"),a=t("../isosurface/defaults").supplyIsoDefaults,o=t("../surface/defaults").opacityscaleDefaults;e.exports=function(t,e,r,s){function l(r,a){return n.coerce(t,e,i,r,a)}a(t,e,r,s,l),o(t,e,s,l)}},{"../../lib":778,"../isosurface/defaults":1126,"../surface/defaults":1314,"./attributes":1349}],1352:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),calc:t("../isosurface/calc"),colorbar:{min:"cmin",max:"cmax"},plot:t("./convert"),moduleType:"trace",name:"volume",basePlotModule:t("../../plots/gl3d"),categories:["gl3d","showLegend"],meta:{}}},{"../../plots/gl3d":870,"../isosurface/calc":1124,"./attributes":1349,"./convert":1350,"./defaults":1351}],1353:[function(t,e,r){"use strict";var n=t("../bar/attributes"),i=t("../scatter/attributes").line,a=t("../../plots/attributes"),o=t("../../plots/template_attributes").hovertemplateAttrs,s=t("../../plots/template_attributes").texttemplateAttrs,l=t("./constants"),c=t("../../lib/extend").extendFlat,u=t("../../components/color");function f(t){return{marker:{color:c({},n.marker.color,{arrayOk:!1,editType:"style"}),line:{color:c({},n.marker.line.color,{arrayOk:!1,editType:"style"}),width:c({},n.marker.line.width,{arrayOk:!1,editType:"style"}),editType:"style"},editType:"style"},editType:"style"}}e.exports={measure:{valType:"data_array",dflt:[],editType:"calc"},base:{valType:"number",dflt:null,arrayOk:!1,editType:"calc"},x:n.x,x0:n.x0,dx:n.dx,y:n.y,y0:n.y0,dy:n.dy,xperiod:n.xperiod,yperiod:n.yperiod,xperiod0:n.xperiod0,yperiod0:n.yperiod0,xperiodalignment:n.xperiodalignment,yperiodalignment:n.yperiodalignment,hovertext:n.hovertext,hovertemplate:o({},{keys:l.eventDataKeys}),hoverinfo:c({},a.hoverinfo,{flags:["name","x","y","text","initial","delta","final"]}),textinfo:{valType:"flaglist",flags:["label","text","initial","delta","final"],extras:["none"],editType:"plot",arrayOk:!1},texttemplate:s({editType:"plot"},{keys:l.eventDataKeys.concat(["label"])}),text:n.text,textposition:n.textposition,insidetextanchor:n.insidetextanchor,textangle:n.textangle,textfont:n.textfont,insidetextfont:n.insidetextfont,outsidetextfont:n.outsidetextfont,constraintext:n.constraintext,cliponaxis:n.cliponaxis,orientation:n.orientation,offset:n.offset,width:n.width,increasing:f(),decreasing:f(),totals:f(),connector:{line:{color:c({},i.color,{dflt:u.defaultLine}),width:c({},i.width,{editType:"plot"}),dash:i.dash,editType:"plot"},mode:{valType:"enumerated",values:["spanning","between"],dflt:"between",editType:"plot"},visible:{valType:"boolean",dflt:!0,editType:"plot"},editType:"plot"},offsetgroup:n.offsetgroup,alignmentgroup:n.alignmentgroup}},{"../../components/color":643,"../../lib/extend":768,"../../plots/attributes":824,"../../plots/template_attributes":906,"../bar/attributes":921,"../scatter/attributes":1187,"./constants":1355}],1354:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes"),i=t("../../plots/cartesian/align_period"),a=t("../../lib").mergeArray,o=t("../scatter/calc_selection"),s=t("../../constants/numerical").BADNUM;function l(t){return"a"===t||"absolute"===t}function c(t){return"t"===t||"total"===t}e.exports=function(t,e){var r,u,f,h,p=n.getFromId(t,e.xaxis||"x"),d=n.getFromId(t,e.yaxis||"y");"h"===e.orientation?(r=p.makeCalcdata(e,"x"),f=d.makeCalcdata(e,"y"),u=i(e,d,"y",f),h=!!e.yperiodalignment):(r=d.makeCalcdata(e,"y"),f=p.makeCalcdata(e,"x"),u=i(e,p,"x",f),h=!!e.xperiodalignment);for(var g,m=Math.min(u.length,r.length),v=new Array(m),y=0,x=!1,b=0;b<m;b++){var _=r[b]||0,w=!1;(r[b]!==s||c(e.measure[b])||l(e.measure[b]))&&b+1<m&&(r[b+1]!==s||c(e.measure[b+1])||l(e.measure[b+1]))&&(w=!0);var T=v[b]={i:b,p:u[b],s:_,rawS:_,cNext:w};l(e.measure[b])?(y=T.s,T.isSum=!0,T.dir="totals",T.s=y):c(e.measure[b])?(T.isSum=!0,T.dir="totals",T.s=y):(T.isSum=!1,T.dir=T.rawS<0?"decreasing":"increasing",g=T.s,T.s=y+g,y+=g),"totals"===T.dir&&(x=!0),h&&(v[b].orig_p=f[b]),e.ids&&(T.id=String(e.ids[b])),T.v=(e.base||0)+y}return v.length&&(v[0].hasTotals=x),a(e.text,v,"tx"),a(e.hovertext,v,"htx"),o(v,e),v}},{"../../constants/numerical":753,"../../lib":778,"../../plots/cartesian/align_period":825,"../../plots/cartesian/axes":828,"../scatter/calc_selection":1189}],1355:[function(t,e,r){"use strict";e.exports={eventDataKeys:["initial","delta","final"]}},{}],1356:[function(t,e,r){"use strict";var n=t("../bar/cross_trace_calc").setGroupPositions;e.exports=function(t,e){var r,i,a=t._fullLayout,o=t._fullData,s=t.calcdata,l=e.xaxis,c=e.yaxis,u=[],f=[],h=[];for(i=0;i<o.length;i++){var p=o[i];!0===p.visible&&p.xaxis===l._id&&p.yaxis===c._id&&"waterfall"===p.type&&(r=s[i],"h"===p.orientation?h.push(r):f.push(r),u.push(r))}var d={mode:a.waterfallmode,norm:a.waterfallnorm,gap:a.waterfallgap,groupgap:a.waterfallgroupgap};for(n(t,l,c,f,d),n(t,c,l,h,d),i=0;i<u.length;i++){r=u[i];for(var g=0;g<r.length;g++){var m=r[g];!1===m.isSum&&(m.s0+=0===g?0:r[g-1].s),g+1<r.length&&(r[g].nextP0=r[g+1].p0,r[g].nextS0=r[g+1].s0)}}}},{"../bar/cross_trace_calc":924}],1357:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../bar/defaults").handleGroupingDefaults,a=t("../bar/defaults").handleText,o=t("../scatter/xy_defaults"),s=t("../scatter/period_defaults"),l=t("./attributes"),c=t("../../components/color"),u=t("../../constants/delta.js"),f=u.INCREASING.COLOR,h=u.DECREASING.COLOR;function p(t,e,r){t(e+".marker.color",r),t(e+".marker.line.color",c.defaultLine),t(e+".marker.line.width")}e.exports={supplyDefaults:function(t,e,r,i){function c(r,i){return n.coerce(t,e,l,r,i)}if(o(t,e,i,c)){s(t,e,i,c),c("measure"),c("orientation",e.x&&!e.y?"h":"v"),c("base"),c("offset"),c("width"),c("text"),c("hovertext"),c("hovertemplate");var u=c("textposition");if(a(t,e,i,c,u,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),"none"!==e.textposition&&(c("texttemplate"),e.texttemplate||c("textinfo")),p(c,"increasing",f),p(c,"decreasing",h),p(c,"totals","#4499FF"),c("connector.visible"))c("connector.mode"),c("connector.line.width")&&(c("connector.line.color"),c("connector.line.dash"))}else e.visible=!1},crossTraceDefaults:function(t,e){var r,a;function o(t){return n.coerce(a._input,a,l,t)}if("group"===e.waterfallmode)for(var s=0;s<t.length;s++)r=(a=t[s])._input,i(r,a,e,o)}}},{"../../components/color":643,"../../constants/delta.js":747,"../../lib":778,"../bar/defaults":925,"../scatter/period_defaults":1207,"../scatter/xy_defaults":1214,"./attributes":1353}],1358:[function(t,e,r){"use strict";e.exports=function(t,e){return t.x="xVal"in e?e.xVal:e.x,t.y="yVal"in e?e.yVal:e.y,"initial"in e&&(t.initial=e.initial),"delta"in e&&(t.delta=e.delta),"final"in e&&(t.final=e.final),e.xa&&(t.xaxis=e.xa),e.ya&&(t.yaxis=e.ya),t}},{}],1359:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes").hoverLabelText,i=t("../../components/color").opacity,a=t("../bar/hover").hoverOnBars,o=t("../../constants/delta.js"),s=o.INCREASING.SYMBOL,l=o.DECREASING.SYMBOL;e.exports=function(t,e,r,o){var c=a(t,e,r,o);if(c){var u=c.cd,f=u[0].trace,h="h"===f.orientation,p=h?t.xa:t.ya,d=u[c.index],g=d.isSum?d.b+d.s:d.rawS;if(!d.isSum){c.initial=d.b+d.s-g,c.delta=g,c.final=c.initial+c.delta;var m=w(Math.abs(c.delta));c.deltaLabel=g<0?"("+m+")":m,c.finalLabel=w(c.final),c.initialLabel=w(c.initial)}var v=d.hi||f.hoverinfo,y=[];if(v&&"none"!==v&&"skip"!==v){var x="all"===v,b=v.split("+"),_=function(t){return x||-1!==b.indexOf(t)};d.isSum||(!_("final")||_(h?"x":"y")||y.push(c.finalLabel),_("delta")&&(g<0?y.push(c.deltaLabel+" "+l):y.push(c.deltaLabel+" "+s)),_("initial")&&y.push("Initial: "+c.initialLabel))}return y.length&&(c.extraText=y.join("<br>")),c.color=function(t,e){var r=t[e.dir].marker,n=r.color,a=r.line.color,o=r.line.width;if(i(n))return n;if(i(a)&&o)return a}(f,d),[c]}function w(t){return n(p,t)}}},{"../../components/color":643,"../../constants/delta.js":747,"../../plots/cartesian/axes":828,"../bar/hover":928}],1360:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),layoutAttributes:t("./layout_attributes"),supplyDefaults:t("./defaults").supplyDefaults,crossTraceDefaults:t("./defaults").crossTraceDefaults,supplyLayoutDefaults:t("./layout_defaults"),calc:t("./calc"),crossTraceCalc:t("./cross_trace_calc"),plot:t("./plot"),style:t("./style").style,hoverPoints:t("./hover"),eventData:t("./event_data"),selectPoints:t("../bar/select"),moduleType:"trace",name:"waterfall",basePlotModule:t("../../plots/cartesian"),categories:["bar-like","cartesian","svg","oriented","showLegend","zoomScale"],meta:{}}},{"../../plots/cartesian":841,"../bar/select":933,"./attributes":1353,"./calc":1354,"./cross_trace_calc":1356,"./defaults":1357,"./event_data":1358,"./hover":1359,"./layout_attributes":1361,"./layout_defaults":1362,"./plot":1363,"./style":1364}],1361:[function(t,e,r){"use strict";e.exports={waterfallmode:{valType:"enumerated",values:["group","overlay"],dflt:"group",editType:"calc"},waterfallgap:{valType:"number",min:0,max:1,editType:"calc"},waterfallgroupgap:{valType:"number",min:0,max:1,dflt:0,editType:"calc"}}},{}],1362:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./layout_attributes");e.exports=function(t,e,r){var a=!1;function o(r,a){return n.coerce(t,e,i,r,a)}for(var s=0;s<r.length;s++){var l=r[s];if(l.visible&&"waterfall"===l.type){a=!0;break}}a&&(o("waterfallmode"),o("waterfallgap",.2),o("waterfallgroupgap"))}},{"../../lib":778,"./layout_attributes":1361}],1363:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../lib"),a=t("../../components/drawing"),o=t("../../constants/numerical").BADNUM,s=t("../bar/plot"),l=t("../bar/uniform_text").clearMinTextSize;e.exports=function(t,e,r,c){var u=t._fullLayout;l("waterfall",u),s.plot(t,e,r,c,{mode:u.waterfallmode,norm:u.waterfallmode,gap:u.waterfallgap,groupgap:u.waterfallgroupgap}),function(t,e,r,s){var l=e.xaxis,c=e.yaxis;i.makeTraceGroups(s,r,"trace bars").each((function(r){var s=n.select(this),u=r[0].trace,f=i.ensureSingle(s,"g","lines");if(u.connector&&u.connector.visible){var h="h"===u.orientation,p=u.connector.mode,d=f.selectAll("g.line").data(i.identity);d.enter().append("g").classed("line",!0),d.exit().remove();var g=d.size();d.each((function(r,s){if(s===g-1||r.cNext){var u=function(t,e,r,n){var i=[],a=[],o=n?e:r,s=n?r:e;return i[0]=o.c2p(t.s0,!0),a[0]=s.c2p(t.p0,!0),i[1]=o.c2p(t.s1,!0),a[1]=s.c2p(t.p1,!0),i[2]=o.c2p(t.nextS0,!0),a[2]=s.c2p(t.nextP0,!0),n?[i,a]:[a,i]}(r,l,c,h),f=u[0],d=u[1],m="";f[0]!==o&&d[0]!==o&&f[1]!==o&&d[1]!==o&&("spanning"===p&&!r.isSum&&s>0&&(m+=h?"M"+f[0]+","+d[1]+"V"+d[0]:"M"+f[1]+","+d[0]+"H"+f[0]),"between"!==p&&(r.isSum||s<g-1)&&(m+=h?"M"+f[1]+","+d[0]+"V"+d[1]:"M"+f[0]+","+d[1]+"H"+f[1]),f[2]!==o&&d[2]!==o&&(m+=h?"M"+f[1]+","+d[1]+"V"+d[2]:"M"+f[1]+","+d[1]+"H"+f[2])),""===m&&(m="M0,0Z"),i.ensureSingle(n.select(this),"path").attr("d",m).call(a.setClipUrl,e.layerClipId,t)}}))}else f.remove()}))}(t,e,r,c)}},{"../../components/drawing":665,"../../constants/numerical":753,"../../lib":778,"../bar/plot":932,"../bar/uniform_text":937,d3:169}],1364:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../components/drawing"),a=t("../../components/color"),o=t("../../constants/interactions").DESELECTDIM,s=t("../bar/style"),l=t("../bar/uniform_text").resizeText,c=s.styleTextPoints;e.exports={style:function(t,e,r){var s=r||n.select(t).selectAll("g.waterfalllayer").selectAll("g.trace");l(t,s,"waterfall"),s.style("opacity",(function(t){return t[0].trace.opacity})),s.each((function(e){var r=n.select(this),s=e[0].trace;r.selectAll(".point > path").each((function(t){if(!t.isBlank){var e=s[t.dir].marker;n.select(this).call(a.fill,e.color).call(a.stroke,e.line.color).call(i.dashLine,e.line.dash,e.line.width).style("opacity",s.selectedpoints&&!t.selected?o:1)}})),c(r,s,t),r.selectAll(".lines").each((function(){var t=s.connector.line;i.lineGroupStyle(n.select(this).selectAll("path"),t.width,t.color,t.dash)}))}))}}},{"../../components/color":643,"../../components/drawing":665,"../../constants/interactions":752,"../bar/style":935,"../bar/uniform_text":937,d3:169}],1365:[function(t,e,r){"use strict";var n=t("../plots/cartesian/axes"),i=t("../lib"),a=t("../plot_api/plot_schema"),o=t("./helpers").pointsAccessorFunction,s=t("../constants/numerical").BADNUM;r.moduleType="transform",r.name="aggregate";var l=r.attributes={enabled:{valType:"boolean",dflt:!0,editType:"calc"},groups:{valType:"string",strict:!0,noBlank:!0,arrayOk:!0,dflt:"x",editType:"calc"},aggregations:{_isLinkedToArray:"aggregation",target:{valType:"string",editType:"calc"},func:{valType:"enumerated",values:["count","sum","avg","median","mode","rms","stddev","min","max","first","last","change","range"],dflt:"first",editType:"calc"},funcmode:{valType:"enumerated",values:["sample","population"],dflt:"sample",editType:"calc"},enabled:{valType:"boolean",dflt:!0,editType:"calc"},editType:"calc"},editType:"calc"},c=l.aggregations;function u(t,e,r,a){if(a.enabled){for(var o=a.target,l=i.nestedProperty(e,o),c=l.get(),u=function(t,e){var r=t.func,n=e.d2c,a=e.c2d;switch(r){case"count":return f;case"first":return h;case"last":return p;case"sum":return function(t,e){for(var r=0,i=0;i<e.length;i++){var o=n(t[e[i]]);o!==s&&(r+=o)}return a(r)};case"avg":return function(t,e){for(var r=0,i=0,o=0;o<e.length;o++){var l=n(t[e[o]]);l!==s&&(r+=l,i++)}return i?a(r/i):s};case"min":return function(t,e){for(var r=1/0,i=0;i<e.length;i++){var o=n(t[e[i]]);o!==s&&(r=Math.min(r,o))}return r===1/0?s:a(r)};case"max":return function(t,e){for(var r=-1/0,i=0;i<e.length;i++){var o=n(t[e[i]]);o!==s&&(r=Math.max(r,o))}return r===-1/0?s:a(r)};case"range":return function(t,e){for(var r=1/0,i=-1/0,o=0;o<e.length;o++){var l=n(t[e[o]]);l!==s&&(r=Math.min(r,l),i=Math.max(i,l))}return i===-1/0||r===1/0?s:a(i-r)};case"change":return function(t,e){var r=n(t[e[0]]),i=n(t[e[e.length-1]]);return r===s||i===s?s:a(i-r)};case"median":return function(t,e){for(var r=[],o=0;o<e.length;o++){var l=n(t[e[o]]);l!==s&&r.push(l)}if(!r.length)return s;r.sort(i.sorterAsc);var c=(r.length-1)/2;return a((r[Math.floor(c)]+r[Math.ceil(c)])/2)};case"mode":return function(t,e){for(var r={},i=0,o=s,l=0;l<e.length;l++){var c=n(t[e[l]]);if(c!==s){var u=r[c]=(r[c]||0)+1;u>i&&(i=u,o=c)}}return i?a(o):s};case"rms":return function(t,e){for(var r=0,i=0,o=0;o<e.length;o++){var l=n(t[e[o]]);l!==s&&(r+=l*l,i++)}return i?a(Math.sqrt(r/i)):s};case"stddev":return function(e,r){var i,a=0,o=0,l=1,c=s;for(i=0;i<r.length&&c===s;i++)c=n(e[r[i]]);if(c===s)return s;for(;i<r.length;i++){var u=n(e[r[i]]);if(u!==s){var f=u-c;a+=f,o+=f*f,l++}}var h="sample"===t.funcmode?l-1:l;return h?Math.sqrt((o-a*a/l)/h):0}}}(a,n.getDataConversions(t,e,o,c)),d=new Array(r.length),g=0;g<r.length;g++)d[g]=u(c,r[g]);l.set(d),"count"===a.func&&i.pushUnique(e._arrayAttrs,o)}}function f(t,e){return e.length}function h(t,e){return t[e[0]]}function p(t,e){return t[e[e.length-1]]}r.supplyDefaults=function(t,e){var r,n={};function o(e,r){return i.coerce(t,n,l,e,r)}if(!o("enabled"))return n;var s=a.findArrayAttributes(e),u={};for(r=0;r<s.length;r++)u[s[r]]=1;var f=o("groups");if(!Array.isArray(f)){if(!u[f])return n.enabled=!1,n;u[f]=0}var h,p=t.aggregations||[],d=n.aggregations=new Array(p.length);function g(t,e){return i.coerce(p[r],h,c,t,e)}for(r=0;r<p.length;r++){h={_index:r};var m=g("target"),v=g("func");g("enabled")&&m&&(u[m]||"count"===v&&void 0===u[m])?("stddev"===v&&g("funcmode"),u[m]=0,d[r]=h):d[r]={enabled:!1,_index:r}}for(r=0;r<s.length;r++)u[s[r]]&&d.push({target:s[r],func:c.func.dflt,enabled:!0,_index:-1});return n},r.calcTransform=function(t,e,r){if(r.enabled){var n=r.groups,a=i.getTargetArray(e,{target:n});if(a){var s,l,c,f,h={},p={},d=[],g=o(e.transforms,r),m=a.length;for(e._length&&(m=Math.min(m,e._length)),s=0;s<m;s++)void 0===(c=h[l=a[s]])?(h[l]=d.length,f=[s],d.push(f),p[h[l]]=g(s)):(d[c].push(s),p[h[l]]=(p[h[l]]||[]).concat(g(s)));r._indexToPoints=p;var v=r.aggregations;for(s=0;s<v.length;s++)u(t,e,d,v[s]);"string"==typeof n&&u(t,e,d,{target:n,func:"first",enabled:!0}),e._length=d.length}}}},{"../constants/numerical":753,"../lib":778,"../plot_api/plot_schema":816,"../plots/cartesian/axes":828,"./helpers":1368}],1366:[function(t,e,r){"use strict";var n=t("../lib"),i=t("../registry"),a=t("../plots/cartesian/axes"),o=t("./helpers").pointsAccessorFunction,s=t("../constants/filter_ops"),l=s.COMPARISON_OPS,c=s.INTERVAL_OPS,u=s.SET_OPS;r.moduleType="transform",r.name="filter",r.attributes={enabled:{valType:"boolean",dflt:!0,editType:"calc"},target:{valType:"string",strict:!0,noBlank:!0,arrayOk:!0,dflt:"x",editType:"calc"},operation:{valType:"enumerated",values:[].concat(l).concat(c).concat(u),dflt:"=",editType:"calc"},value:{valType:"any",dflt:0,editType:"calc"},preservegaps:{valType:"boolean",dflt:!1,editType:"calc"},editType:"calc"},r.supplyDefaults=function(t){var e={};function a(i,a){return n.coerce(t,e,r.attributes,i,a)}if(a("enabled")){var o=a("target");if(n.isArrayOrTypedArray(o)&&0===o.length)return e.enabled=!1,e;a("preservegaps"),a("operation"),a("value");var s=i.getComponentMethod("calendars","handleDefaults");s(t,e,"valuecalendar",null),s(t,e,"targetcalendar",null)}return e},r.calcTransform=function(t,e,r){if(r.enabled){var i=n.getTargetArray(e,r);if(i){var s=r.target,f=i.length;e._length&&(f=Math.min(f,e._length));var h=r.targetcalendar,p=e._arrayAttrs,d=r.preservegaps;if("string"==typeof s){var g=n.nestedProperty(e,s+"calendar").get();g&&(h=g)}var m,v,y=function(t,e,r){var n=t.operation,i=t.value,a=Array.isArray(i);function o(t){return-1!==t.indexOf(n)}var s,f=function(r){return e(r,0,t.valuecalendar)},h=function(t){return e(t,0,r)};o(l)?s=f(a?i[0]:i):o(c)?s=a?[f(i[0]),f(i[1])]:[f(i),f(i)]:o(u)&&(s=a?i.map(f):[f(i)]);switch(n){case"=":return function(t){return h(t)===s};case"!=":return function(t){return h(t)!==s};case"<":return function(t){return h(t)<s};case"<=":return function(t){return h(t)<=s};case">":return function(t){return h(t)>s};case">=":return function(t){return h(t)>=s};case"[]":return function(t){var e=h(t);return e>=s[0]&&e<=s[1]};case"()":return function(t){var e=h(t);return e>s[0]&&e<s[1]};case"[)":return function(t){var e=h(t);return e>=s[0]&&e<s[1]};case"(]":return function(t){var e=h(t);return e>s[0]&&e<=s[1]};case"][":return function(t){var e=h(t);return e<=s[0]||e>=s[1]};case")(":return function(t){var e=h(t);return e<s[0]||e>s[1]};case"](":return function(t){var e=h(t);return e<=s[0]||e>s[1]};case")[":return function(t){var e=h(t);return e<s[0]||e>=s[1]};case"{}":return function(t){return-1!==s.indexOf(h(t))};case"}{":return function(t){return-1===s.indexOf(h(t))}}}(r,a.getDataToCoordFunc(t,e,s,i),h),x={},b={},_=0;d?(m=function(t){x[t.astr]=n.extendDeep([],t.get()),t.set(new Array(f))},v=function(t,e){var r=x[t.astr][e];t.get()[e]=r}):(m=function(t){x[t.astr]=n.extendDeep([],t.get()),t.set([])},v=function(t,e){var r=x[t.astr][e];t.get().push(r)}),k(m);for(var w=o(e.transforms,r),T=0;T<f;T++){y(i[T])?(k(v,T),b[_++]=w(T)):d&&_++}r._indexToPoints=b,e._length=_}}function k(t,r){for(var i=0;i<p.length;i++){t(n.nestedProperty(e,p[i]),r)}}}},{"../constants/filter_ops":749,"../lib":778,"../plots/cartesian/axes":828,"../registry":911,"./helpers":1368}],1367:[function(t,e,r){"use strict";var n=t("../lib"),i=t("../plot_api/plot_schema"),a=t("../plots/plots"),o=t("./helpers").pointsAccessorFunction;function s(t,e){var r,s,l,c,u,f,h,p,d,g,m=e.transform,v=e.transformIndex,y=t.transforms[v].groups,x=o(t.transforms,m);if(!n.isArrayOrTypedArray(y)||0===y.length)return[t];var b=n.filterUnique(y),_=new Array(b.length),w=y.length,T=i.findArrayAttributes(t),k=m.styles||[],M={};for(r=0;r<k.length;r++)M[k[r].target]=k[r].value;m.styles&&(g=n.keyedContainer(m,"styles","target","value.name"));var A={},S={};for(r=0;r<b.length;r++){A[f=b[r]]=r,S[f]=0,(h=_[r]=n.extendDeepNoArrays({},t))._group=f,h.transforms[v]._indexToPoints={};var E=null;for(g&&(E=g.get(f)),h.name=E||""===E?E:n.templateString(m.nameformat,{trace:t.name,group:f}),p=h.transforms,h.transforms=[],s=0;s<p.length;s++)h.transforms[s]=n.extendDeepNoArrays({},p[s]);for(s=0;s<T.length;s++)n.nestedProperty(h,T[s]).set([])}for(l=0;l<T.length;l++){for(c=T[l],s=0,d=[];s<b.length;s++)d[s]=n.nestedProperty(_[s],c).get();for(u=n.nestedProperty(t,c).get(),s=0;s<w;s++)d[A[y[s]]].push(u[s])}for(s=0;s<w;s++){(h=_[A[y[s]]]).transforms[v]._indexToPoints[S[y[s]]]=x(s),S[y[s]]++}for(r=0;r<b.length;r++)f=b[r],h=_[r],a.clearExpandedTraceDefaultColors(h),h=n.extendDeepNoArrays(h,M[f]||{});return _}r.moduleType="transform",r.name="groupby",r.attributes={enabled:{valType:"boolean",dflt:!0,editType:"calc"},groups:{valType:"data_array",dflt:[],editType:"calc"},nameformat:{valType:"string",editType:"calc"},styles:{_isLinkedToArray:"style",target:{valType:"string",editType:"calc"},value:{valType:"any",dflt:{},editType:"calc",_compareAsJSON:!0},editType:"calc"},editType:"calc"},r.supplyDefaults=function(t,e,i){var a,o={};function s(e,i){return n.coerce(t,o,r.attributes,e,i)}if(!s("enabled"))return o;s("groups"),s("nameformat",i._dataLength>1?"%{group} (%{trace})":"%{group}");var l=t.styles,c=o.styles=[];if(l)for(a=0;a<l.length;a++){var u=c[a]={};n.coerce(l[a],c[a],r.attributes.styles,"target");var f=n.coerce(l[a],c[a],r.attributes.styles,"value");n.isPlainObject(f)?u.value=n.extendDeep({},f):f&&delete u.value}return o},r.transform=function(t,e){var r,n,i,a=[];for(n=0;n<t.length;n++)for(r=s(t[n],e),i=0;i<r.length;i++)a.push(r[i]);return a}},{"../lib":778,"../plot_api/plot_schema":816,"../plots/plots":891,"./helpers":1368}],1368:[function(t,e,r){"use strict";r.pointsAccessorFunction=function(t,e){for(var r,n,i=0;i<t.length&&(r=t[i])!==e;i++)r._indexToPoints&&!1!==r.enabled&&(n=r._indexToPoints);return n?function(t){return n[t]}:function(t){return[t]}}},{}],1369:[function(t,e,r){"use strict";var n=t("../lib"),i=t("../plots/cartesian/axes"),a=t("./helpers").pointsAccessorFunction,o=t("../constants/numerical").BADNUM;r.moduleType="transform",r.name="sort",r.attributes={enabled:{valType:"boolean",dflt:!0,editType:"calc"},target:{valType:"string",strict:!0,noBlank:!0,arrayOk:!0,dflt:"x",editType:"calc"},order:{valType:"enumerated",values:["ascending","descending"],dflt:"ascending",editType:"calc"},editType:"calc"},r.supplyDefaults=function(t){var e={};function i(i,a){return n.coerce(t,e,r.attributes,i,a)}return i("enabled")&&(i("target"),i("order")),e},r.calcTransform=function(t,e,r){if(r.enabled){var s=n.getTargetArray(e,r);if(s){var l=r.target,c=s.length;e._length&&(c=Math.min(c,e._length));var u,f,h=e._arrayAttrs,p=function(t,e,r,n){var i,a=new Array(n),s=new Array(n);for(i=0;i<n;i++)a[i]={v:e[i],i:i};for(a.sort(function(t,e){switch(t.order){case"ascending":return function(t,r){var n=e(t.v),i=e(r.v);return n===o?1:i===o?-1:n-i};case"descending":return function(t,r){var n=e(t.v),i=e(r.v);return n===o?1:i===o?-1:i-n}}}(t,r)),i=0;i<n;i++)s[i]=a[i].i;return s}(r,s,i.getDataToCoordFunc(t,e,l,s),c),d=a(e.transforms,r),g={};for(u=0;u<h.length;u++){var m=n.nestedProperty(e,h[u]),v=m.get(),y=new Array(c);for(f=0;f<c;f++)y[f]=v[p[f]];m.set(y)}for(f=0;f<c;f++)g[f]=d(p[f]);r._indexToPoints=g,e._length=c}}}},{"../constants/numerical":753,"../lib":778,"../plots/cartesian/axes":828,"./helpers":1368}],1370:[function(t,e,r){"use strict";r.version="1.58.4"},{}]},{},[26])(26)})); + }); + require(['plotly'], function(Plotly) { + window._Plotly = Plotly; + }); + } + </script> + +</div> + +</div> + +<div class="jp-OutputArea-child"> + + + <div class="jp-OutputPrompt jp-OutputArea-prompt"></div> + + + +<div class="jp-RenderedHTMLCommon jp-RenderedHTML jp-OutputArea-output " data-mime-type="text/html"> +<div> <div id="daf5e70e-1c22-4d18-8c47-a33071ddaec3" class="plotly-graph-div" style="height:525px; width:100%;"></div> <script type="text/javascript"> require(["plotly"], function(Plotly) { window.PLOTLYENV=window.PLOTLYENV || {}; if (document.getElementById("daf5e70e-1c22-4d18-8c47-a33071ddaec3")) { Plotly.newPlot( "daf5e70e-1c22-4d18-8c47-a33071ddaec3", [{"alignmentgroup": "True", "bingroup": "x", "hovertemplate": "FWHM=%{x}<br>count=%{y}<extra></extra>", "legendgroup": "", "marker": {"color": "#636efa"}, "name": "", "offsetgroup": "", "orientation": "v", "showlegend": false, "type": "histogram", "x": [3.1787688708097637, 0.8815071940479394, 1.5164178076826178, 0.8232929431087915, 0.7874194220005792, 0.18081472076436197, 0.5811671484742216, 1.5164178076826178, 0.8232929431087915], "xaxis": "x", "yaxis": "y"}], {"barmode": "relative", "legend": {"tracegroupgap": 0}, "margin": {"t": 60}, "template": {"data": {"bar": [{"error_x": {"color": "#2a3f5f"}, "error_y": {"color": "#2a3f5f"}, "marker": {"line": {"color": "#E5ECF6", "width": 0.5}}, "type": "bar"}], "barpolar": [{"marker": {"line": {"color": "#E5ECF6", "width": 0.5}}, "type": "barpolar"}], "carpet": [{"aaxis": {"endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f"}, "baxis": {"endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f"}, "type": "carpet"}], "choropleth": [{"colorbar": {"outlinewidth": 0, "ticks": ""}, "type": "choropleth"}], "contour": [{"colorbar": {"outlinewidth": 0, "ticks": ""}, "colorscale": [[0.0, "#0d0887"], [0.1111111111111111, "#46039f"], [0.2222222222222222, "#7201a8"], [0.3333333333333333, "#9c179e"], [0.4444444444444444, "#bd3786"], [0.5555555555555556, "#d8576b"], [0.6666666666666666, "#ed7953"], [0.7777777777777778, "#fb9f3a"], [0.8888888888888888, "#fdca26"], [1.0, "#f0f921"]], "type": "contour"}], "contourcarpet": [{"colorbar": {"outlinewidth": 0, "ticks": ""}, "type": "contourcarpet"}], "heatmap": [{"colorbar": {"outlinewidth": 0, "ticks": ""}, "colorscale": [[0.0, "#0d0887"], [0.1111111111111111, "#46039f"], [0.2222222222222222, "#7201a8"], [0.3333333333333333, "#9c179e"], [0.4444444444444444, "#bd3786"], [0.5555555555555556, "#d8576b"], [0.6666666666666666, "#ed7953"], [0.7777777777777778, "#fb9f3a"], [0.8888888888888888, "#fdca26"], [1.0, "#f0f921"]], "type": "heatmap"}], "heatmapgl": [{"colorbar": {"outlinewidth": 0, "ticks": ""}, "colorscale": [[0.0, "#0d0887"], [0.1111111111111111, "#46039f"], [0.2222222222222222, "#7201a8"], [0.3333333333333333, "#9c179e"], [0.4444444444444444, "#bd3786"], [0.5555555555555556, "#d8576b"], [0.6666666666666666, "#ed7953"], [0.7777777777777778, "#fb9f3a"], [0.8888888888888888, "#fdca26"], [1.0, "#f0f921"]], "type": "heatmapgl"}], "histogram": [{"marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "histogram"}], "histogram2d": [{"colorbar": {"outlinewidth": 0, "ticks": ""}, "colorscale": [[0.0, "#0d0887"], [0.1111111111111111, "#46039f"], [0.2222222222222222, "#7201a8"], [0.3333333333333333, "#9c179e"], [0.4444444444444444, "#bd3786"], [0.5555555555555556, "#d8576b"], [0.6666666666666666, "#ed7953"], [0.7777777777777778, "#fb9f3a"], [0.8888888888888888, "#fdca26"], [1.0, "#f0f921"]], "type": "histogram2d"}], "histogram2dcontour": [{"colorbar": {"outlinewidth": 0, "ticks": ""}, "colorscale": [[0.0, "#0d0887"], [0.1111111111111111, "#46039f"], [0.2222222222222222, "#7201a8"], [0.3333333333333333, "#9c179e"], [0.4444444444444444, "#bd3786"], [0.5555555555555556, "#d8576b"], [0.6666666666666666, "#ed7953"], [0.7777777777777778, "#fb9f3a"], [0.8888888888888888, "#fdca26"], [1.0, "#f0f921"]], "type": "histogram2dcontour"}], "mesh3d": [{"colorbar": {"outlinewidth": 0, "ticks": ""}, "type": "mesh3d"}], "parcoords": [{"line": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "parcoords"}], "pie": [{"automargin": true, "type": "pie"}], "scatter": [{"marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "scatter"}], "scatter3d": [{"line": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "scatter3d"}], "scattercarpet": [{"marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "scattercarpet"}], "scattergeo": [{"marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "scattergeo"}], "scattergl": [{"marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "scattergl"}], "scattermapbox": [{"marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "scattermapbox"}], "scatterpolar": [{"marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "scatterpolar"}], "scatterpolargl": [{"marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "scatterpolargl"}], "scatterternary": [{"marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "scatterternary"}], "surface": [{"colorbar": {"outlinewidth": 0, "ticks": ""}, "colorscale": [[0.0, "#0d0887"], [0.1111111111111111, "#46039f"], [0.2222222222222222, "#7201a8"], [0.3333333333333333, "#9c179e"], [0.4444444444444444, "#bd3786"], [0.5555555555555556, "#d8576b"], [0.6666666666666666, "#ed7953"], [0.7777777777777778, "#fb9f3a"], [0.8888888888888888, "#fdca26"], [1.0, "#f0f921"]], "type": "surface"}], "table": [{"cells": {"fill": {"color": "#EBF0F8"}, "line": {"color": "white"}}, "header": {"fill": {"color": "#C8D4E3"}, "line": {"color": "white"}}, "type": "table"}]}, "layout": {"annotationdefaults": {"arrowcolor": "#2a3f5f", "arrowhead": 0, "arrowwidth": 1}, "autotypenumbers": "strict", "coloraxis": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "colorscale": {"diverging": [[0, "#8e0152"], [0.1, "#c51b7d"], [0.2, "#de77ae"], [0.3, "#f1b6da"], [0.4, "#fde0ef"], [0.5, "#f7f7f7"], [0.6, "#e6f5d0"], [0.7, "#b8e186"], [0.8, "#7fbc41"], [0.9, "#4d9221"], [1, "#276419"]], "sequential": [[0.0, "#0d0887"], [0.1111111111111111, "#46039f"], [0.2222222222222222, "#7201a8"], [0.3333333333333333, "#9c179e"], [0.4444444444444444, "#bd3786"], [0.5555555555555556, "#d8576b"], [0.6666666666666666, "#ed7953"], [0.7777777777777778, "#fb9f3a"], [0.8888888888888888, "#fdca26"], [1.0, "#f0f921"]], "sequentialminus": [[0.0, "#0d0887"], [0.1111111111111111, "#46039f"], [0.2222222222222222, "#7201a8"], [0.3333333333333333, "#9c179e"], [0.4444444444444444, "#bd3786"], [0.5555555555555556, "#d8576b"], [0.6666666666666666, "#ed7953"], [0.7777777777777778, "#fb9f3a"], [0.8888888888888888, "#fdca26"], [1.0, "#f0f921"]]}, "colorway": ["#636efa", "#EF553B", "#00cc96", "#ab63fa", "#FFA15A", "#19d3f3", "#FF6692", "#B6E880", "#FF97FF", "#FECB52"], "font": {"color": "#2a3f5f"}, "geo": {"bgcolor": "white", "lakecolor": "white", "landcolor": "#E5ECF6", "showlakes": true, "showland": true, "subunitcolor": "white"}, "hoverlabel": {"align": "left"}, "hovermode": "closest", "mapbox": {"style": "light"}, "paper_bgcolor": "white", "plot_bgcolor": "#E5ECF6", "polar": {"angularaxis": {"gridcolor": "white", "linecolor": "white", "ticks": ""}, "bgcolor": "#E5ECF6", "radialaxis": {"gridcolor": "white", "linecolor": "white", "ticks": ""}}, "scene": {"xaxis": {"backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white"}, "yaxis": {"backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white"}, "zaxis": {"backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white"}}, "shapedefaults": {"line": {"color": "#2a3f5f"}}, "ternary": {"aaxis": {"gridcolor": "white", "linecolor": "white", "ticks": ""}, "baxis": {"gridcolor": "white", "linecolor": "white", "ticks": ""}, "bgcolor": "#E5ECF6", "caxis": {"gridcolor": "white", "linecolor": "white", "ticks": ""}}, "title": {"x": 0.05}, "xaxis": {"automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": {"standoff": 15}, "zerolinecolor": "white", "zerolinewidth": 2}, "yaxis": {"automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": {"standoff": 15}, "zerolinecolor": "white", "zerolinewidth": 2}}}, "xaxis": {"anchor": "y", "domain": [0.0, 1.0], "title": {"text": "FWHM"}}, "yaxis": {"anchor": "x", "domain": [0.0, 1.0], "title": {"text": "count"}}}, {"responsive": true} ).then(function(){ + +var gd = document.getElementById('daf5e70e-1c22-4d18-8c47-a33071ddaec3'); +var x = new MutationObserver(function (mutations, observer) {{ + var display = window.getComputedStyle(gd).display; + if (!display || display === 'none') {{ + console.log([gd, 'removed!']); + Plotly.purge(gd); + observer.disconnect(); + }} +}}); + +// Listen for the removal of the full notebook cells +var notebookContainer = gd.closest('#notebook-container'); +if (notebookContainer) {{ + x.observe(notebookContainer, {childList: true}); +}} + +// Listen for the clearing of the current output cell +var outputEl = gd.closest('.output'); +if (outputEl) {{ + x.observe(outputEl, {childList: true}); +}} + + }) }; }); </script> </div> +</div> + +</div> + +</div> + +</div> + +</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell "> +<div class="jp-Cell-inputWrapper"> +<div class="jp-InputArea jp-Cell-inputArea"> +<div class="jp-InputPrompt jp-InputArea-prompt">In [27]:</div> +<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline"> + <div class="CodeMirror cm-s-jupyter"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">FWHM_array</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">FWHM_estrellas</span><span class="p">)</span> + +<span class="c1"># Imprimimos algunos parámetros estadÃsticos</span> +<span class="nb">print</span><span class="p">(</span><span class="s1">'La desviación estandar de FWHM es:'</span><span class="p">,</span> <span class="n">np</span><span class="o">.</span><span class="n">std</span><span class="p">(</span><span class="n">FWHM_array</span><span class="p">))</span> +<span class="nb">print</span><span class="p">(</span><span class="s1">'La media de FWHM es:'</span><span class="p">,</span><span class="n">np</span><span class="o">.</span><span class="n">mean</span><span class="p">(</span><span class="n">FWHM_array</span><span class="p">))</span> +<span class="nb">print</span><span class="p">(</span><span class="s1">'La mediana de FWHM es:'</span><span class="p">,</span><span class="n">np</span><span class="o">.</span><span class="n">median</span><span class="p">(</span><span class="n">FWHM_array</span><span class="p">))</span> +</pre></div> + + </div> +</div> +</div> +</div> + +<div class="jp-Cell-outputWrapper"> + + +<div class="jp-OutputArea jp-Cell-outputArea"> + +<div class="jp-OutputArea-child"> + + + <div class="jp-OutputPrompt jp-OutputArea-prompt"></div> + + +<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain"> +<pre>La desviación estandar de FWHM es: 0.8208352134109429 +La media de FWHM es: 1.143233206408854 +La mediana de FWHM es: 0.8232929431087915 +</pre> +</div> +</div> + +</div> + +</div> + +</div> +<div class="jp-Cell-inputWrapper"><div class="jp-InputPrompt jp-InputArea-prompt"> +</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown"> +<h2 id="Bandas-R,G,B">Bandas <em>R</em>,<em>G</em>,<em>B</em><a class="anchor-link" href="#Bandas-R,G,B">¶</a></h2> +</div> +</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs "> +<div class="jp-Cell-inputWrapper"> +<div class="jp-InputArea jp-Cell-inputArea"> +<div class="jp-InputPrompt jp-InputArea-prompt">In [34]:</div> +<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline"> + <div class="CodeMirror cm-s-jupyter"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="c1"># Abrimos la imagen</span> +<span class="n">image</span> <span class="o">=</span> <span class="n">Image</span><span class="o">.</span><span class="n">open</span><span class="p">(</span><span class="s1">'data/zapatocaImage.jpeg'</span><span class="p">)</span> +<span class="n">data</span> <span class="o">=</span> <span class="n">asarray</span><span class="p">(</span><span class="n">image</span><span class="p">)</span> <span class="c1"># abrimos la imagen en forma de array</span> +<span class="n">b0</span><span class="p">,</span> <span class="n">g0</span><span class="p">,</span> <span class="n">r0</span> <span class="o">=</span> <span class="n">data</span><span class="p">[:,</span> <span class="p">:,</span> <span class="mi">0</span><span class="p">],</span> <span class="n">data</span><span class="p">[:,</span> <span class="p">:,</span> <span class="mi">1</span><span class="p">],</span> <span class="n">data</span><span class="p">[:,</span> <span class="p">:,</span> <span class="mi">2</span><span class="p">]</span> <span class="c1"># Separamos las matrices según R,G,B</span> + +<span class="c1">#normalizamos los datos</span> +<span class="n">b</span> <span class="o">=</span> <span class="n">b0</span><span class="o">/</span><span class="n">np</span><span class="o">.</span><span class="n">max</span><span class="p">(</span><span class="n">b0</span><span class="p">)</span> +<span class="n">g</span> <span class="o">=</span> <span class="n">g0</span><span class="o">/</span><span class="n">np</span><span class="o">.</span><span class="n">max</span><span class="p">(</span><span class="n">g0</span><span class="p">)</span> +<span class="n">r</span> <span class="o">=</span> <span class="n">r0</span><span class="o">/</span><span class="n">np</span><span class="o">.</span><span class="n">max</span><span class="p">(</span><span class="n">r0</span><span class="p">)</span> + +<span class="c1"># BANDA B</span> + +<span class="n">estrella1b</span> <span class="o">=</span> <span class="n">b</span><span class="p">[</span><span class="mi">459</span><span class="p">:</span><span class="mi">464</span><span class="p">,</span><span class="mi">322</span><span class="p">:</span><span class="mi">327</span><span class="p">]</span> +<span class="n">estrella2b</span> <span class="o">=</span> <span class="n">b</span><span class="p">[</span><span class="mi">544</span><span class="p">:</span><span class="mi">562</span><span class="p">,</span><span class="mi">654</span><span class="p">:</span><span class="mi">671</span><span class="p">]</span> +<span class="n">estrella3b</span> <span class="o">=</span> <span class="n">b</span><span class="p">[</span><span class="mi">241</span><span class="p">:</span><span class="mi">247</span><span class="p">,</span><span class="mi">215</span><span class="p">:</span><span class="mi">222</span><span class="p">]</span> +<span class="n">estrella4b</span> <span class="o">=</span> <span class="n">b</span><span class="p">[</span><span class="mi">312</span><span class="p">:</span><span class="mi">320</span><span class="p">,</span><span class="mi">624</span><span class="p">:</span><span class="mi">632</span><span class="p">]</span> +<span class="n">estrella5b</span> <span class="o">=</span> <span class="n">b</span><span class="p">[</span><span class="mi">374</span><span class="p">:</span><span class="mi">380</span><span class="p">,</span><span class="mi">448</span><span class="p">:</span><span class="mi">454</span><span class="p">]</span> +<span class="n">estrella6b</span> <span class="o">=</span> <span class="n">b</span><span class="p">[</span><span class="mi">145</span><span class="p">:</span><span class="mi">151</span><span class="p">,</span><span class="mi">390</span><span class="p">:</span><span class="mi">397</span><span class="p">]</span> +<span class="n">estrella7b</span> <span class="o">=</span> <span class="n">b</span><span class="p">[</span><span class="mi">523</span><span class="p">:</span><span class="mi">527</span><span class="p">,</span><span class="mi">654</span><span class="p">:</span><span class="mi">658</span><span class="p">]</span> +<span class="n">estrella8b</span> <span class="o">=</span> <span class="n">b</span><span class="p">[</span><span class="mi">498</span><span class="p">:</span><span class="mi">504</span><span class="p">,</span><span class="mi">683</span><span class="p">:</span><span class="mi">688</span><span class="p">]</span> +<span class="n">estrella9b</span> <span class="o">=</span> <span class="n">b</span><span class="p">[</span><span class="mi">312</span><span class="p">:</span><span class="mi">320</span><span class="p">,</span><span class="mi">624</span><span class="p">:</span><span class="mi">632</span><span class="p">]</span> +<span class="n">estrella10b</span> <span class="o">=</span> <span class="n">b</span><span class="p">[</span><span class="mi">374</span><span class="p">:</span><span class="mi">380</span><span class="p">,</span><span class="mi">448</span><span class="p">:</span><span class="mi">454</span><span class="p">]</span> + +<span class="n">estrellasb</span> <span class="o">=</span> <span class="p">[</span><span class="n">estrella1b</span><span class="p">,</span><span class="n">estrella2b</span><span class="p">,</span><span class="n">estrella3b</span><span class="p">,</span><span class="n">estrella4b</span><span class="p">,</span><span class="n">estrella5b</span><span class="p">,</span> + <span class="n">estrella6b</span><span class="p">,</span><span class="n">estrella7b</span><span class="p">,</span><span class="n">estrella8b</span><span class="p">,</span><span class="n">estrella9b</span><span class="p">,</span><span class="n">estrella10b</span><span class="p">]</span> + +<span class="c1"># BANDA R</span> + +<span class="n">estrella1r</span> <span class="o">=</span> <span class="n">r</span><span class="p">[</span><span class="mi">459</span><span class="p">:</span><span class="mi">464</span><span class="p">,</span><span class="mi">322</span><span class="p">:</span><span class="mi">327</span><span class="p">]</span> +<span class="n">estrella2r</span> <span class="o">=</span> <span class="n">r</span><span class="p">[</span><span class="mi">544</span><span class="p">:</span><span class="mi">562</span><span class="p">,</span><span class="mi">654</span><span class="p">:</span><span class="mi">671</span><span class="p">]</span> +<span class="n">estrella3r</span> <span class="o">=</span> <span class="n">r</span><span class="p">[</span><span class="mi">241</span><span class="p">:</span><span class="mi">247</span><span class="p">,</span><span class="mi">215</span><span class="p">:</span><span class="mi">222</span><span class="p">]</span> +<span class="n">estrella4r</span> <span class="o">=</span> <span class="n">r</span><span class="p">[</span><span class="mi">312</span><span class="p">:</span><span class="mi">320</span><span class="p">,</span><span class="mi">624</span><span class="p">:</span><span class="mi">632</span><span class="p">]</span> +<span class="n">estrella5r</span> <span class="o">=</span> <span class="n">r</span><span class="p">[</span><span class="mi">374</span><span class="p">:</span><span class="mi">380</span><span class="p">,</span><span class="mi">448</span><span class="p">:</span><span class="mi">454</span><span class="p">]</span> +<span class="n">estrella6r</span> <span class="o">=</span> <span class="n">r</span><span class="p">[</span><span class="mi">145</span><span class="p">:</span><span class="mi">151</span><span class="p">,</span><span class="mi">390</span><span class="p">:</span><span class="mi">397</span><span class="p">]</span> +<span class="n">estrella7r</span> <span class="o">=</span> <span class="n">r</span><span class="p">[</span><span class="mi">523</span><span class="p">:</span><span class="mi">527</span><span class="p">,</span><span class="mi">654</span><span class="p">:</span><span class="mi">658</span><span class="p">]</span> +<span class="n">estrella8r</span> <span class="o">=</span> <span class="n">r</span><span class="p">[</span><span class="mi">498</span><span class="p">:</span><span class="mi">504</span><span class="p">,</span><span class="mi">683</span><span class="p">:</span><span class="mi">688</span><span class="p">]</span> +<span class="n">estrella9r</span> <span class="o">=</span> <span class="n">r</span><span class="p">[</span><span class="mi">312</span><span class="p">:</span><span class="mi">320</span><span class="p">,</span><span class="mi">624</span><span class="p">:</span><span class="mi">632</span><span class="p">]</span> +<span class="n">estrella10r</span> <span class="o">=</span> <span class="n">r</span><span class="p">[</span><span class="mi">374</span><span class="p">:</span><span class="mi">380</span><span class="p">,</span><span class="mi">448</span><span class="p">:</span><span class="mi">454</span><span class="p">]</span> + +<span class="n">estrellasr</span> <span class="o">=</span> <span class="p">[</span><span class="n">estrella1r</span><span class="p">,</span><span class="n">estrella2r</span><span class="p">,</span><span class="n">estrella3r</span><span class="p">,</span><span class="n">estrella4r</span><span class="p">,</span><span class="n">estrella5r</span><span class="p">,</span> + <span class="n">estrella6r</span><span class="p">,</span><span class="n">estrella7r</span><span class="p">,</span><span class="n">estrella8r</span><span class="p">,</span><span class="n">estrella9r</span><span class="p">,</span><span class="n">estrella10r</span><span class="p">]</span> + + +<span class="c1"># BANDA g</span> + +<span class="n">estrella1g</span> <span class="o">=</span> <span class="n">g</span><span class="p">[</span><span class="mi">459</span><span class="p">:</span><span class="mi">464</span><span class="p">,</span><span class="mi">322</span><span class="p">:</span><span class="mi">327</span><span class="p">]</span> +<span class="n">estrella2g</span> <span class="o">=</span> <span class="n">g</span><span class="p">[</span><span class="mi">544</span><span class="p">:</span><span class="mi">562</span><span class="p">,</span><span class="mi">654</span><span class="p">:</span><span class="mi">671</span><span class="p">]</span> +<span class="n">estrella3g</span> <span class="o">=</span> <span class="n">g</span><span class="p">[</span><span class="mi">241</span><span class="p">:</span><span class="mi">247</span><span class="p">,</span><span class="mi">215</span><span class="p">:</span><span class="mi">222</span><span class="p">]</span> +<span class="n">estrella4g</span> <span class="o">=</span> <span class="n">g</span><span class="p">[</span><span class="mi">312</span><span class="p">:</span><span class="mi">320</span><span class="p">,</span><span class="mi">624</span><span class="p">:</span><span class="mi">632</span><span class="p">]</span> +<span class="n">estrella5g</span> <span class="o">=</span> <span class="n">g</span><span class="p">[</span><span class="mi">374</span><span class="p">:</span><span class="mi">380</span><span class="p">,</span><span class="mi">448</span><span class="p">:</span><span class="mi">454</span><span class="p">]</span> +<span class="n">estrella6g</span> <span class="o">=</span> <span class="n">g</span><span class="p">[</span><span class="mi">145</span><span class="p">:</span><span class="mi">151</span><span class="p">,</span><span class="mi">390</span><span class="p">:</span><span class="mi">397</span><span class="p">]</span> +<span class="n">estrella7g</span> <span class="o">=</span> <span class="n">g</span><span class="p">[</span><span class="mi">523</span><span class="p">:</span><span class="mi">527</span><span class="p">,</span><span class="mi">654</span><span class="p">:</span><span class="mi">658</span><span class="p">]</span> +<span class="n">estrella8g</span> <span class="o">=</span> <span class="n">g</span><span class="p">[</span><span class="mi">498</span><span class="p">:</span><span class="mi">504</span><span class="p">,</span><span class="mi">683</span><span class="p">:</span><span class="mi">688</span><span class="p">]</span> +<span class="n">estrella9g</span> <span class="o">=</span> <span class="n">g</span><span class="p">[</span><span class="mi">312</span><span class="p">:</span><span class="mi">320</span><span class="p">,</span><span class="mi">624</span><span class="p">:</span><span class="mi">632</span><span class="p">]</span> +<span class="n">estrella10g</span> <span class="o">=</span> <span class="n">g</span><span class="p">[</span><span class="mi">374</span><span class="p">:</span><span class="mi">380</span><span class="p">,</span><span class="mi">448</span><span class="p">:</span><span class="mi">454</span><span class="p">]</span> + +<span class="n">estrellasg</span> <span class="o">=</span> <span class="p">[</span><span class="n">estrella1g</span><span class="p">,</span><span class="n">estrella2g</span><span class="p">,</span><span class="n">estrella3g</span><span class="p">,</span><span class="n">estrella4g</span><span class="p">,</span><span class="n">estrella5g</span><span class="p">,</span> + <span class="n">estrella6g</span><span class="p">,</span><span class="n">estrella7g</span><span class="p">,</span><span class="n">estrella8g</span><span class="p">,</span><span class="n">estrella9g</span><span class="p">,</span><span class="n">estrella10g</span><span class="p">]</span> +</pre></div> + + </div> +</div> +</div> +</div> + +</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell "> +<div class="jp-Cell-inputWrapper"> +<div class="jp-InputArea jp-Cell-inputArea"> +<div class="jp-InputPrompt jp-InputArea-prompt">In [41]:</div> +<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline"> + <div class="CodeMirror cm-s-jupyter"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">FWHM_estrellasb</span> <span class="o">=</span> <span class="p">[]</span> +<span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="mi">10</span><span class="p">):</span> + <span class="n">Bestb</span> <span class="o">=</span> <span class="n">ajuste_2D_Aut</span><span class="p">(</span><span class="n">estrellasb</span><span class="p">[</span><span class="n">i</span><span class="p">])</span> + <span class="n">FWHM_estrellasb</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">Bestb</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span> + +<span class="n">FWHM_arrayb</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">FWHM_estrellasb</span><span class="p">)</span> +<span class="c1"># Imprimimos algunos parámetros estadÃsticos</span> +<span class="nb">print</span><span class="p">(</span><span class="s1">'La desviación estandar de FWHM para la banda b es:'</span><span class="p">,</span> <span class="n">np</span><span class="o">.</span><span class="n">std</span><span class="p">(</span><span class="n">FWHM_arrayb</span><span class="p">))</span> +<span class="nb">print</span><span class="p">(</span><span class="s1">'La media de FWHM para la banda b es:'</span><span class="p">,</span><span class="n">np</span><span class="o">.</span><span class="n">mean</span><span class="p">(</span><span class="n">FWHM_arrayb</span><span class="p">))</span> +<span class="nb">print</span><span class="p">(</span><span class="s1">'La mediana de FWHM para la banda b es:'</span><span class="p">,</span><span class="n">np</span><span class="o">.</span><span class="n">median</span><span class="p">(</span><span class="n">FWHM_arrayb</span><span class="p">))</span> + +<span class="n">numero_estrella</span> <span class="o">=</span> <span class="nb">range</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="mi">10</span><span class="p">)</span> + +<span class="n">Datab</span> <span class="o">=</span> <span class="p">{</span><span class="s1">'Estrella'</span><span class="p">:</span> <span class="n">numero_estrella</span><span class="p">,</span> + <span class="s1">'FWHM'</span><span class="p">:</span> <span class="n">FWHM_estrellasb</span> <span class="p">,</span> + <span class="p">}</span> + +<span class="n">dfb</span> <span class="o">=</span> <span class="n">DataFrame</span><span class="p">(</span><span class="n">Datab</span><span class="p">,</span><span class="n">columns</span><span class="o">=</span><span class="p">[</span> <span class="s1">'Estrella'</span><span class="p">,</span> <span class="s1">'FWHM'</span><span class="p">])</span> +<span class="n">fig</span> <span class="o">=</span> <span class="n">px</span><span class="o">.</span><span class="n">histogram</span><span class="p">(</span><span class="n">dfb</span><span class="p">,</span> <span class="n">x</span> <span class="o">=</span> <span class="s1">'FWHM'</span><span class="p">)</span> +<span class="n">fig</span><span class="o">.</span><span class="n">show</span><span class="p">()</span> +</pre></div> + + </div> +</div> +</div> +</div> + +<div class="jp-Cell-outputWrapper"> + + +<div class="jp-OutputArea jp-Cell-outputArea"> + +<div class="jp-OutputArea-child"> + + + <div class="jp-OutputPrompt jp-OutputArea-prompt"></div> + + +<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain"> +<pre>La desviación estandar de FWHM para la banda b es: 0.801057325865637 +La media de FWHM para la banda b es: 2.034898019962086 +La mediana de FWHM para la banda b es: 2.1151027005163714 +</pre> +</div> +</div> + +<div class="jp-OutputArea-child"> + + + <div class="jp-OutputPrompt jp-OutputArea-prompt"></div> + + + +<div class="jp-RenderedHTMLCommon jp-RenderedHTML jp-OutputArea-output " data-mime-type="text/html"> +<div> <div id="756ce9cd-70dd-4939-add8-1a5e7e094d91" class="plotly-graph-div" style="height:525px; width:100%;"></div> <script type="text/javascript"> require(["plotly"], function(Plotly) { window.PLOTLYENV=window.PLOTLYENV || {}; if (document.getElementById("756ce9cd-70dd-4939-add8-1a5e7e094d91")) { Plotly.newPlot( "756ce9cd-70dd-4939-add8-1a5e7e094d91", [{"alignmentgroup": "True", "bingroup": "x", "hovertemplate": "FWHM=%{x}<br>count=%{y}<extra></extra>", "legendgroup": "", "marker": {"color": "#636efa"}, "name": "", "offsetgroup": "", "orientation": "v", "showlegend": false, "type": "histogram", "x": [3.9371084637456133, 1.2115542403855089, 2.2428328349666247, 2.1151027005163714, 2.0347019305516585, 1.2787239194775317, 1.1361225545324676, 2.2428328349666247, 2.1151027005163714], "xaxis": "x", "yaxis": "y"}], {"barmode": "relative", "legend": {"tracegroupgap": 0}, "margin": {"t": 60}, "template": {"data": {"bar": [{"error_x": {"color": "#2a3f5f"}, "error_y": {"color": "#2a3f5f"}, "marker": {"line": {"color": "#E5ECF6", "width": 0.5}}, "type": "bar"}], "barpolar": [{"marker": {"line": {"color": "#E5ECF6", "width": 0.5}}, "type": "barpolar"}], "carpet": [{"aaxis": {"endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f"}, "baxis": {"endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f"}, "type": "carpet"}], "choropleth": [{"colorbar": {"outlinewidth": 0, "ticks": ""}, "type": "choropleth"}], "contour": [{"colorbar": {"outlinewidth": 0, "ticks": ""}, "colorscale": [[0.0, "#0d0887"], [0.1111111111111111, "#46039f"], [0.2222222222222222, "#7201a8"], [0.3333333333333333, "#9c179e"], [0.4444444444444444, "#bd3786"], [0.5555555555555556, "#d8576b"], [0.6666666666666666, "#ed7953"], [0.7777777777777778, "#fb9f3a"], [0.8888888888888888, "#fdca26"], [1.0, "#f0f921"]], "type": "contour"}], "contourcarpet": [{"colorbar": {"outlinewidth": 0, "ticks": ""}, "type": "contourcarpet"}], "heatmap": [{"colorbar": {"outlinewidth": 0, "ticks": ""}, "colorscale": [[0.0, "#0d0887"], [0.1111111111111111, "#46039f"], [0.2222222222222222, "#7201a8"], [0.3333333333333333, "#9c179e"], [0.4444444444444444, "#bd3786"], [0.5555555555555556, "#d8576b"], [0.6666666666666666, "#ed7953"], [0.7777777777777778, "#fb9f3a"], [0.8888888888888888, "#fdca26"], [1.0, "#f0f921"]], "type": "heatmap"}], "heatmapgl": [{"colorbar": {"outlinewidth": 0, "ticks": ""}, "colorscale": [[0.0, "#0d0887"], [0.1111111111111111, "#46039f"], [0.2222222222222222, "#7201a8"], [0.3333333333333333, "#9c179e"], [0.4444444444444444, "#bd3786"], [0.5555555555555556, "#d8576b"], [0.6666666666666666, "#ed7953"], [0.7777777777777778, "#fb9f3a"], [0.8888888888888888, "#fdca26"], [1.0, "#f0f921"]], "type": "heatmapgl"}], "histogram": [{"marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "histogram"}], "histogram2d": [{"colorbar": {"outlinewidth": 0, "ticks": ""}, "colorscale": [[0.0, "#0d0887"], [0.1111111111111111, "#46039f"], [0.2222222222222222, "#7201a8"], [0.3333333333333333, "#9c179e"], [0.4444444444444444, "#bd3786"], [0.5555555555555556, "#d8576b"], [0.6666666666666666, "#ed7953"], [0.7777777777777778, "#fb9f3a"], [0.8888888888888888, "#fdca26"], [1.0, "#f0f921"]], "type": "histogram2d"}], "histogram2dcontour": [{"colorbar": {"outlinewidth": 0, "ticks": ""}, "colorscale": [[0.0, "#0d0887"], [0.1111111111111111, "#46039f"], [0.2222222222222222, "#7201a8"], [0.3333333333333333, "#9c179e"], [0.4444444444444444, "#bd3786"], [0.5555555555555556, "#d8576b"], [0.6666666666666666, "#ed7953"], [0.7777777777777778, "#fb9f3a"], [0.8888888888888888, "#fdca26"], [1.0, "#f0f921"]], "type": "histogram2dcontour"}], "mesh3d": [{"colorbar": {"outlinewidth": 0, "ticks": ""}, "type": "mesh3d"}], "parcoords": [{"line": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "parcoords"}], "pie": [{"automargin": true, "type": "pie"}], "scatter": [{"marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "scatter"}], "scatter3d": [{"line": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "scatter3d"}], "scattercarpet": [{"marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "scattercarpet"}], "scattergeo": [{"marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "scattergeo"}], "scattergl": [{"marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "scattergl"}], "scattermapbox": [{"marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "scattermapbox"}], "scatterpolar": [{"marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "scatterpolar"}], "scatterpolargl": [{"marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "scatterpolargl"}], "scatterternary": [{"marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "scatterternary"}], "surface": [{"colorbar": {"outlinewidth": 0, "ticks": ""}, "colorscale": [[0.0, "#0d0887"], [0.1111111111111111, "#46039f"], [0.2222222222222222, "#7201a8"], [0.3333333333333333, "#9c179e"], [0.4444444444444444, "#bd3786"], [0.5555555555555556, "#d8576b"], [0.6666666666666666, "#ed7953"], [0.7777777777777778, "#fb9f3a"], [0.8888888888888888, "#fdca26"], [1.0, "#f0f921"]], "type": "surface"}], "table": [{"cells": {"fill": {"color": "#EBF0F8"}, "line": {"color": "white"}}, "header": {"fill": {"color": "#C8D4E3"}, "line": {"color": "white"}}, "type": "table"}]}, "layout": {"annotationdefaults": {"arrowcolor": "#2a3f5f", "arrowhead": 0, "arrowwidth": 1}, "autotypenumbers": "strict", "coloraxis": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "colorscale": {"diverging": [[0, "#8e0152"], [0.1, "#c51b7d"], [0.2, "#de77ae"], [0.3, "#f1b6da"], [0.4, "#fde0ef"], [0.5, "#f7f7f7"], [0.6, "#e6f5d0"], [0.7, "#b8e186"], [0.8, "#7fbc41"], [0.9, "#4d9221"], [1, "#276419"]], "sequential": [[0.0, "#0d0887"], [0.1111111111111111, "#46039f"], [0.2222222222222222, "#7201a8"], [0.3333333333333333, "#9c179e"], [0.4444444444444444, "#bd3786"], [0.5555555555555556, "#d8576b"], [0.6666666666666666, "#ed7953"], [0.7777777777777778, "#fb9f3a"], [0.8888888888888888, "#fdca26"], [1.0, "#f0f921"]], "sequentialminus": [[0.0, "#0d0887"], [0.1111111111111111, "#46039f"], [0.2222222222222222, "#7201a8"], [0.3333333333333333, "#9c179e"], [0.4444444444444444, "#bd3786"], [0.5555555555555556, "#d8576b"], [0.6666666666666666, "#ed7953"], [0.7777777777777778, "#fb9f3a"], [0.8888888888888888, "#fdca26"], [1.0, "#f0f921"]]}, "colorway": ["#636efa", "#EF553B", "#00cc96", "#ab63fa", "#FFA15A", "#19d3f3", "#FF6692", "#B6E880", "#FF97FF", "#FECB52"], "font": {"color": "#2a3f5f"}, "geo": {"bgcolor": "white", "lakecolor": "white", "landcolor": "#E5ECF6", "showlakes": true, "showland": true, "subunitcolor": "white"}, "hoverlabel": {"align": "left"}, "hovermode": "closest", "mapbox": {"style": "light"}, "paper_bgcolor": "white", "plot_bgcolor": "#E5ECF6", "polar": {"angularaxis": {"gridcolor": "white", "linecolor": "white", "ticks": ""}, "bgcolor": "#E5ECF6", "radialaxis": {"gridcolor": "white", "linecolor": "white", "ticks": ""}}, "scene": {"xaxis": {"backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white"}, "yaxis": {"backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white"}, "zaxis": {"backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white"}}, "shapedefaults": {"line": {"color": "#2a3f5f"}}, "ternary": {"aaxis": {"gridcolor": "white", "linecolor": "white", "ticks": ""}, "baxis": {"gridcolor": "white", "linecolor": "white", "ticks": ""}, "bgcolor": "#E5ECF6", "caxis": {"gridcolor": "white", "linecolor": "white", "ticks": ""}}, "title": {"x": 0.05}, "xaxis": {"automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": {"standoff": 15}, "zerolinecolor": "white", "zerolinewidth": 2}, "yaxis": {"automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": {"standoff": 15}, "zerolinecolor": "white", "zerolinewidth": 2}}}, "xaxis": {"anchor": "y", "domain": [0.0, 1.0], "title": {"text": "FWHM"}}, "yaxis": {"anchor": "x", "domain": [0.0, 1.0], "title": {"text": "count"}}}, {"responsive": true} ).then(function(){ + +var gd = document.getElementById('756ce9cd-70dd-4939-add8-1a5e7e094d91'); +var x = new MutationObserver(function (mutations, observer) {{ + var display = window.getComputedStyle(gd).display; + if (!display || display === 'none') {{ + console.log([gd, 'removed!']); + Plotly.purge(gd); + observer.disconnect(); + }} +}}); + +// Listen for the removal of the full notebook cells +var notebookContainer = gd.closest('#notebook-container'); +if (notebookContainer) {{ + x.observe(notebookContainer, {childList: true}); +}} + +// Listen for the clearing of the current output cell +var outputEl = gd.closest('.output'); +if (outputEl) {{ + x.observe(outputEl, {childList: true}); +}} + + }) }; }); </script> </div> +</div> + +</div> + +</div> + +</div> + +</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell "> +<div class="jp-Cell-inputWrapper"> +<div class="jp-InputArea jp-Cell-inputArea"> +<div class="jp-InputPrompt jp-InputArea-prompt">In [43]:</div> +<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline"> + <div class="CodeMirror cm-s-jupyter"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">FWHM_estrellasr</span> <span class="o">=</span> <span class="p">[]</span> +<span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="mi">10</span><span class="p">):</span> + <span class="n">Bestr</span> <span class="o">=</span> <span class="n">ajuste_2D_Aut</span><span class="p">(</span><span class="n">estrellasr</span><span class="p">[</span><span class="n">i</span><span class="p">])</span> + <span class="n">FWHM_estrellasr</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">Bestr</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span> + +<span class="n">FWHM_arrayr</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">FWHM_estrellasr</span><span class="p">)</span> +<span class="c1"># Imprimimos algunos parámetros estadÃsticos</span> +<span class="nb">print</span><span class="p">(</span><span class="s1">'La desviación estandar de FWHM para la banda r es:'</span><span class="p">,</span> <span class="n">np</span><span class="o">.</span><span class="n">std</span><span class="p">(</span><span class="n">FWHM_arrayr</span><span class="p">))</span> +<span class="nb">print</span><span class="p">(</span><span class="s1">'La media de FWHM para la banda r es:'</span><span class="p">,</span><span class="n">np</span><span class="o">.</span><span class="n">mean</span><span class="p">(</span><span class="n">FWHM_arrayr</span><span class="p">))</span> +<span class="nb">print</span><span class="p">(</span><span class="s1">'La mediana de FWHM para la banda r es:'</span><span class="p">,</span><span class="n">np</span><span class="o">.</span><span class="n">median</span><span class="p">(</span><span class="n">FWHM_arrayr</span><span class="p">))</span> + +<span class="n">numero_estrella</span> <span class="o">=</span> <span class="nb">range</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="mi">10</span><span class="p">)</span> + +<span class="n">Datar</span> <span class="o">=</span> <span class="p">{</span><span class="s1">'Estrella'</span><span class="p">:</span> <span class="n">numero_estrella</span><span class="p">,</span> + <span class="s1">'FWHM'</span><span class="p">:</span> <span class="n">FWHM_estrellasr</span> <span class="p">,</span> + <span class="p">}</span> + +<span class="n">dfr</span> <span class="o">=</span> <span class="n">DataFrame</span><span class="p">(</span><span class="n">Datar</span><span class="p">,</span><span class="n">columns</span><span class="o">=</span><span class="p">[</span> <span class="s1">'Estrella'</span><span class="p">,</span> <span class="s1">'FWHM'</span><span class="p">])</span> +<span class="n">fig</span> <span class="o">=</span> <span class="n">px</span><span class="o">.</span><span class="n">histogram</span><span class="p">(</span><span class="n">dfr</span><span class="p">,</span> <span class="n">x</span> <span class="o">=</span> <span class="s1">'FWHM'</span><span class="p">)</span> +<span class="n">fig</span><span class="o">.</span><span class="n">show</span><span class="p">()</span> +</pre></div> + + </div> +</div> +</div> +</div> + +<div class="jp-Cell-outputWrapper"> + + +<div class="jp-OutputArea jp-Cell-outputArea"> + +<div class="jp-OutputArea-child"> + + + <div class="jp-OutputPrompt jp-OutputArea-prompt"></div> + + +<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain"> +<pre>La desviación estandar de FWHM para la banda r es: 1.1610216177132184 +La media de FWHM para la banda r es: 2.1292770889885992 +La mediana de FWHM para la banda r es: 1.632298014099838 +</pre> +</div> +</div> + +<div class="jp-OutputArea-child"> + + + <div class="jp-OutputPrompt jp-OutputArea-prompt"></div> + + + +<div class="jp-RenderedHTMLCommon jp-RenderedHTML jp-OutputArea-output " data-mime-type="text/html"> +<div> <div id="e5812cb1-5e1d-421b-96d1-99394f14d177" class="plotly-graph-div" style="height:525px; width:100%;"></div> <script type="text/javascript"> require(["plotly"], function(Plotly) { window.PLOTLYENV=window.PLOTLYENV || {}; if (document.getElementById("e5812cb1-5e1d-421b-96d1-99394f14d177")) { Plotly.newPlot( "e5812cb1-5e1d-421b-96d1-99394f14d177", [{"alignmentgroup": "True", "bingroup": "x", "hovertemplate": "FWHM=%{x}<br>count=%{y}<extra></extra>", "legendgroup": "", "marker": {"color": "#636efa"}, "name": "", "offsetgroup": "", "orientation": "v", "showlegend": false, "type": "histogram", "x": [5.092594637740397, 1.3964885862850855, 2.6335308673802764, 1.632298014099838, 1.6651342147041346, 1.308438184881249, 1.169180414326299, 2.6335308673802764, 1.632298014099838], "xaxis": "x", "yaxis": "y"}], {"barmode": "relative", "legend": {"tracegroupgap": 0}, "margin": {"t": 60}, "template": {"data": {"bar": [{"error_x": {"color": "#2a3f5f"}, "error_y": {"color": "#2a3f5f"}, "marker": {"line": {"color": "#E5ECF6", "width": 0.5}}, "type": "bar"}], "barpolar": [{"marker": {"line": {"color": "#E5ECF6", "width": 0.5}}, "type": "barpolar"}], "carpet": [{"aaxis": {"endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f"}, "baxis": {"endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f"}, "type": "carpet"}], "choropleth": [{"colorbar": {"outlinewidth": 0, "ticks": ""}, "type": "choropleth"}], "contour": [{"colorbar": {"outlinewidth": 0, "ticks": ""}, "colorscale": [[0.0, "#0d0887"], [0.1111111111111111, "#46039f"], [0.2222222222222222, "#7201a8"], [0.3333333333333333, "#9c179e"], [0.4444444444444444, "#bd3786"], [0.5555555555555556, "#d8576b"], [0.6666666666666666, "#ed7953"], [0.7777777777777778, "#fb9f3a"], [0.8888888888888888, "#fdca26"], [1.0, "#f0f921"]], "type": "contour"}], "contourcarpet": [{"colorbar": {"outlinewidth": 0, "ticks": ""}, "type": "contourcarpet"}], "heatmap": [{"colorbar": {"outlinewidth": 0, "ticks": ""}, "colorscale": [[0.0, "#0d0887"], [0.1111111111111111, "#46039f"], [0.2222222222222222, "#7201a8"], [0.3333333333333333, "#9c179e"], [0.4444444444444444, "#bd3786"], [0.5555555555555556, "#d8576b"], [0.6666666666666666, "#ed7953"], [0.7777777777777778, "#fb9f3a"], [0.8888888888888888, "#fdca26"], [1.0, "#f0f921"]], "type": "heatmap"}], "heatmapgl": [{"colorbar": {"outlinewidth": 0, "ticks": ""}, "colorscale": [[0.0, "#0d0887"], [0.1111111111111111, "#46039f"], [0.2222222222222222, "#7201a8"], [0.3333333333333333, "#9c179e"], [0.4444444444444444, "#bd3786"], [0.5555555555555556, "#d8576b"], [0.6666666666666666, "#ed7953"], [0.7777777777777778, "#fb9f3a"], [0.8888888888888888, "#fdca26"], [1.0, "#f0f921"]], "type": "heatmapgl"}], "histogram": [{"marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "histogram"}], "histogram2d": [{"colorbar": {"outlinewidth": 0, "ticks": ""}, "colorscale": [[0.0, "#0d0887"], [0.1111111111111111, "#46039f"], [0.2222222222222222, "#7201a8"], [0.3333333333333333, "#9c179e"], [0.4444444444444444, "#bd3786"], [0.5555555555555556, "#d8576b"], [0.6666666666666666, "#ed7953"], [0.7777777777777778, "#fb9f3a"], [0.8888888888888888, "#fdca26"], [1.0, "#f0f921"]], "type": "histogram2d"}], "histogram2dcontour": [{"colorbar": {"outlinewidth": 0, "ticks": ""}, "colorscale": [[0.0, "#0d0887"], [0.1111111111111111, "#46039f"], [0.2222222222222222, "#7201a8"], [0.3333333333333333, "#9c179e"], [0.4444444444444444, "#bd3786"], [0.5555555555555556, "#d8576b"], [0.6666666666666666, "#ed7953"], [0.7777777777777778, "#fb9f3a"], [0.8888888888888888, "#fdca26"], [1.0, "#f0f921"]], "type": "histogram2dcontour"}], "mesh3d": [{"colorbar": {"outlinewidth": 0, "ticks": ""}, "type": "mesh3d"}], "parcoords": [{"line": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "parcoords"}], "pie": [{"automargin": true, "type": "pie"}], "scatter": [{"marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "scatter"}], "scatter3d": [{"line": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "scatter3d"}], "scattercarpet": [{"marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "scattercarpet"}], "scattergeo": [{"marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "scattergeo"}], "scattergl": [{"marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "scattergl"}], "scattermapbox": [{"marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "scattermapbox"}], "scatterpolar": [{"marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "scatterpolar"}], "scatterpolargl": [{"marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "scatterpolargl"}], "scatterternary": [{"marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "scatterternary"}], "surface": [{"colorbar": {"outlinewidth": 0, "ticks": ""}, "colorscale": [[0.0, "#0d0887"], [0.1111111111111111, "#46039f"], [0.2222222222222222, "#7201a8"], [0.3333333333333333, "#9c179e"], [0.4444444444444444, "#bd3786"], [0.5555555555555556, "#d8576b"], [0.6666666666666666, "#ed7953"], [0.7777777777777778, "#fb9f3a"], [0.8888888888888888, "#fdca26"], [1.0, "#f0f921"]], "type": "surface"}], "table": [{"cells": {"fill": {"color": "#EBF0F8"}, "line": {"color": "white"}}, "header": {"fill": {"color": "#C8D4E3"}, "line": {"color": "white"}}, "type": "table"}]}, "layout": {"annotationdefaults": {"arrowcolor": "#2a3f5f", "arrowhead": 0, "arrowwidth": 1}, "autotypenumbers": "strict", "coloraxis": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "colorscale": {"diverging": [[0, "#8e0152"], [0.1, "#c51b7d"], [0.2, "#de77ae"], [0.3, "#f1b6da"], [0.4, "#fde0ef"], [0.5, "#f7f7f7"], [0.6, "#e6f5d0"], [0.7, "#b8e186"], [0.8, "#7fbc41"], [0.9, "#4d9221"], [1, "#276419"]], "sequential": [[0.0, "#0d0887"], [0.1111111111111111, "#46039f"], [0.2222222222222222, "#7201a8"], [0.3333333333333333, "#9c179e"], [0.4444444444444444, "#bd3786"], [0.5555555555555556, "#d8576b"], [0.6666666666666666, "#ed7953"], [0.7777777777777778, "#fb9f3a"], [0.8888888888888888, "#fdca26"], [1.0, "#f0f921"]], "sequentialminus": [[0.0, "#0d0887"], [0.1111111111111111, "#46039f"], [0.2222222222222222, "#7201a8"], [0.3333333333333333, "#9c179e"], [0.4444444444444444, "#bd3786"], [0.5555555555555556, "#d8576b"], [0.6666666666666666, "#ed7953"], [0.7777777777777778, "#fb9f3a"], [0.8888888888888888, "#fdca26"], [1.0, "#f0f921"]]}, "colorway": ["#636efa", "#EF553B", "#00cc96", "#ab63fa", "#FFA15A", "#19d3f3", "#FF6692", "#B6E880", "#FF97FF", "#FECB52"], "font": {"color": "#2a3f5f"}, "geo": {"bgcolor": "white", "lakecolor": "white", "landcolor": "#E5ECF6", "showlakes": true, "showland": true, "subunitcolor": "white"}, "hoverlabel": {"align": "left"}, "hovermode": "closest", "mapbox": {"style": "light"}, "paper_bgcolor": "white", "plot_bgcolor": "#E5ECF6", "polar": {"angularaxis": {"gridcolor": "white", "linecolor": "white", "ticks": ""}, "bgcolor": "#E5ECF6", "radialaxis": {"gridcolor": "white", "linecolor": "white", "ticks": ""}}, "scene": {"xaxis": {"backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white"}, "yaxis": {"backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white"}, "zaxis": {"backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white"}}, "shapedefaults": {"line": {"color": "#2a3f5f"}}, "ternary": {"aaxis": {"gridcolor": "white", "linecolor": "white", "ticks": ""}, "baxis": {"gridcolor": "white", "linecolor": "white", "ticks": ""}, "bgcolor": "#E5ECF6", "caxis": {"gridcolor": "white", "linecolor": "white", "ticks": ""}}, "title": {"x": 0.05}, "xaxis": {"automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": {"standoff": 15}, "zerolinecolor": "white", "zerolinewidth": 2}, "yaxis": {"automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": {"standoff": 15}, "zerolinecolor": "white", "zerolinewidth": 2}}}, "xaxis": {"anchor": "y", "domain": [0.0, 1.0], "title": {"text": "FWHM"}}, "yaxis": {"anchor": "x", "domain": [0.0, 1.0], "title": {"text": "count"}}}, {"responsive": true} ).then(function(){ + +var gd = document.getElementById('e5812cb1-5e1d-421b-96d1-99394f14d177'); +var x = new MutationObserver(function (mutations, observer) {{ + var display = window.getComputedStyle(gd).display; + if (!display || display === 'none') {{ + console.log([gd, 'removed!']); + Plotly.purge(gd); + observer.disconnect(); + }} +}}); + +// Listen for the removal of the full notebook cells +var notebookContainer = gd.closest('#notebook-container'); +if (notebookContainer) {{ + x.observe(notebookContainer, {childList: true}); +}} + +// Listen for the clearing of the current output cell +var outputEl = gd.closest('.output'); +if (outputEl) {{ + x.observe(outputEl, {childList: true}); +}} + + }) }; }); </script> </div> +</div> + +</div> + +</div> + +</div> + +</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs "> +<div class="jp-Cell-inputWrapper"> +<div class="jp-InputArea jp-Cell-inputArea"> +<div class="jp-InputPrompt jp-InputArea-prompt">In [ ]:</div> +<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline"> + <div class="CodeMirror cm-s-jupyter"> +<div class=" highlight hl-ipython3"><pre><span></span> +</pre></div> + + </div> +</div> +</div> +</div> + +</div> +</body> + + + + + + + +</html> diff --git a/ENTREGA.md b/ENTREGA.md new file mode 100644 index 0000000000000000000000000000000000000000..cb2827532d3f388e63ead1b693c4479cd02ed867 --- /dev/null +++ b/ENTREGA.md @@ -0,0 +1,946 @@ +## Nombre: Jennifer Ortega +## Ejercicio Resolución espacial + +### Estructura del notebook +- Extracción de las matrices RGB +- Generar una matriz a partir de la imagen en escala de grises +- Recortar una imagen de una estrella. +- Realizar el Ajuste a una gaussiana en 1D +- Realizar el Ajuste a una gaussiana en 2D +- Calcular el valor FWHM +- Automatizamos el proceso anterior para varias estrellas. + + + +## Resolución + +- Cargamos la imagen utilizando PIL, y utilizamos asarray para leer la imagen en forma de matrices. + + +```python +from PIL import Image +from numpy import asarray +import numpy as np +image = Image.open('data/zapatocaImage.jpeg') +data = asarray(image) # abrimos la imagen en forma de array +b, g, r = data[:, :, 0], data[:, :, 1], data[:, :, 2] # Separamos las matrices según R,G,B +print(data.shape) # dimensión del array, donde cada matriz 2x2 corresponde a R,G,B +``` + + (789, 1184, 3) + + +### Tranformación de RGB a Escala de Grises +Para la transformación tenemos la siguiente ecuación: +$$Grayscale = (R + G + \frac{B}{3})$$ + + + +```python +Grayscale0 = (r + g + b/3) # transformamos a escala de grises +Grayscale =Grayscale0/np.max(Grayscale0) # normalizamos los valores +print(Grayscale) # ahora tenemos una sola matriz para una imagen en escala de grises +``` + + [[0.07177974 0.07177974 0.07177974 ... 0.12782694 0.16224189 0.18289086] + [0.07866273 0.07866273 0.07866273 ... 0.13470993 0.15634218 0.17010816] + [0.08554572 0.08554572 0.08554572 ... 0.14159292 0.15634218 0.16322517] + ... + [0.10914454 0.10226155 0.10226155 ... 0.04818092 0.0619469 0.07571288] + [0.09537856 0.10226155 0.10914454 ... 0.0619469 0.0619469 0.06489676] + [0.08161259 0.09537856 0.11602753 ... 0.07866273 0.07177974 0.05113078]] + + + +```python +import matplotlib.pyplot as plt +import matplotlib.cm as cm +plt.imshow(Grayscale, cmap=cm.gray, vmax=np.max(Grayscale)) # imprimimos la imagen en escala de Grises. +``` + + + + + <matplotlib.image.AxesImage at 0x7f87cec87be0> + + + + + + + + + +- Recortamos una imagen de una estrella. + + + +```python +estrella0 = Grayscale[547:561,655:670] # extraemos los valores correspondientes a una estrella +plt.imshow(estrella0, cmap=cm.gray, vmax=np.max(estrella0)) +``` + + + + + <matplotlib.image.AxesImage at 0x7f87ce51b550> + + + + + + + + + +# Ajuste a una gaussiana 1D +La fución gaussiana en una dimensión es de la forma. + +$$ +f(x)=A e^{-\frac{1}{2}\left(\frac{x-x_0}{\sigma}\right)^{2}}+C +$$ +Para realizar el ajuste se evaluarán los datos y se determinaran los valores para A, X0, sigma y C, tal que minimicen el error, por el método de mÃnimos cuadrados, los datos serán ajustados respecto a una función gausiana. + + +```python +import matplotlib.pyplot as plt +from scipy.optimize import leastsq + +# Definimos la función gaussiana y el error. +def func_gauss_1D(params,x): + '''Función Gaussiana en 1D + params[0] = A + params[1] = sigma + params[2] = x0 + params[3] = C + np.pi = numero pi + ''' + y =params[0]*(np.exp((-(x-params[2])**2)/(2*(params[1]**2)))) + params[3] + return y +def Error_gauss_1D(tpl,x,y): + '''Calculo del error''' + return func_gauss_1D(tpl,x)-y +``` + +- Seleccionaremos una lÃnea en X que representa las distintas posiciones a lo largo de la linea 1D + + +```python +import matplotlib.cm as cm + +x = np.arange(0, estrella0.shape[0], 1) # definimos los valores para X +y = np.arange(0, estrella0.shape[1], 1) # definimos los valores para Y +x0 = int(max(x)/2) +lumx = estrella0[:,x0] # Seleccionamos una lÃnea 1D en el array para X. +``` + +- Hacemos el ajuste con la gaussiana, los parámetros de inicialización se generan automáticamente del código, tomando en cuenta ciertas propiedades de la gaussiana. (***El ajuste depende de los parámetros inicianles introducidos***) +### Parámetros iniciales + +#### - X0 +X0 = (x_max+x_min)/2, ya que al ser una imagen de estrella, siempre la mayor luminosidad estará ubicada cercana al centro de la recta 1D en el eje X. +#### - sigma + +El sigma de una distribución de datos se calcula de la siguiente manera. +<img src="http://gestiondeproyectos-master.com/wp-content/uploads/2018/11/Desviacion-tipica.jpg"> +Por lo que para elegir un sigma próximo al que saldrá en el modelo, utilizaremos la ecuación anterior, tomando el eje X y el eje de la luminosidad como una probabilidad. + +### - C +Elegirmos el mÃnimo valor de la luminosidad, ya que el valor inicial donde f(0)=C, posiblemente estará cercano a ese punto. +### - A +Es la constante multiplicativa de la exponencial, al ser una escala de grises que va de (0,1) tomaremos como valor inicial 1, ya que en estos rangos comprenderan los resultados. + + + +- Definimos la función para calcular sigma deacuerdo a probabilidades + + +```python +import math +def std_prob(x,prob,x0): + '''Funcion que retorna la desviación estandar tomando en cuenta probabilidades + x = array + prob = funcion de probabilidad + x0 = el valor con maxima probabilidad + ''' + n= x.shape + suma = 0 + for i in x: + suma= suma + ((x[i]-x0)**2)*prob[i] + sigma = math.sqrt(suma/n) + return sigma + +``` + +- Definimos los valores iniciales, siguiendo la lógica anteriormente mencionada + + +```python +prob = lumx # definimos a lumx como una probabilidad para calcular la desviación estandar aproximada. + +# DEFINIMOS LOS PARÃMETROS DE INICIALIZACIÓN +''' +params[0] = A +params[1] = sigma +params[2] = x0 +params[3] = C +''' +A = 1 +x0 = int(max(x)+min(x))/2 +sigma = std_prob(x,prob,x0) +C = min(lumx) + +p1 = [A, sigma , x0 , C] # valores iniciales +best,suss = leastsq(Error_gauss_1D, p1, args=(x,lumx)) +# best contiene los parametros que mejor ajustan una gausiana a los datos. + + +# GRÃFICAMOS LOS DATOS Y EL MODELO +# Gráficamos los resultados para evaluar el módelo visualmente. + +x_model = np.arange(0, estrella0.shape[0], 0.05) # definimos con mas datos, para mejorar la visucalización + +lum_model = func_gauss_1D(best,x_model) + +plt.plot(x_model,lum_model) # gráfica del modelo +plt.plot(x,lumx,'o',color="darkorange") # gráfica de los datos +plt.xlabel('eje X') +plt.ylabel('luminosidad') +plt.title('Ajuste Gaussiano') +plt.legend(('Ajuste', 'Datos originales'),loc='lower left', shadow=True) +``` + + + + + <matplotlib.legend.Legend at 0x7f87adc14630> + + + + + + + + + +# Ajuste a una gaussiana 2D +Aquà se procederá a realizar el mismo proceso anterior pero ahora se lo hara en 2 dimensiones. +La función gausiana en dos dimensiones esta dada por: + +$$ +f(x) = A \exp \left(\frac{\left(x-x_{0}\right)^{2}+\left(y-y_{0}\right)^{2}}{2 \sigma^{2}}\right)+C +$$ +por lo que los valores a encontrarse seran A, X0, Y0, sigma y C, luego se se utilizará, el método de mÃnimos cuadrados, para encontrar los que minimicen el error. + +- Guardamos en arrays cada una de los datos en 2 dimensiones con sus respectivos valores de luminosidad. + + +```python +x = np.arange(0, estrella0.shape[0], 1) +y = np.arange(0, estrella0.shape[1], 1) + +def lum_2D(estrella,x,y): + '''Funcion que extrae cada valor de la luminosidad con sus respectivos valores en X y Y, + y los retorna en forma de arrays. + ''' + lum_list = [] + x_list = [] + y_list = [] + for i in x: + for j in y: + lum = estrella[x[i],y[j]] + lum_list.append(lum) + x_list.append(x[i]) + y_list.append(y[j]) + return np.array(lum_list),np.array(x_list),np.array(y_list) + +lum_2D, x_2D, y_2D = lum_2D(estrella0,x,y) +``` + +- Luego gráficaremos los datos en 3D, con los valores para X, Y y la luminosidad, para tener una vista preliminar de los vaores. + + + +```python +from mpl_toolkits.mplot3d import Axes3D + +fig = plt.figure(figsize=(6, 6)) +ax = fig.add_subplot(111, projection='3d') +ax.scatter(x_2D, y_2D,lum_2D, + linewidths=1, alpha=.7, + edgecolor='k', + s = 5) +ax.set_xlabel('eje X') +ax.set_ylabel('eje Y') +ax.set_zlabel('Lum') +plt.title('Datos') +plt.show() +``` + + + + + + + +- Definimos la función de Error y la función gaussiana. + + +```python +# funcion gaussiana en 2D +def func_gauss_2D(params,x,y): + '''Función Gaussiana en 2D + params[0] = A + params[1] = sigma + params[2] = C + params[3] = x0 + params[4] = y0 + np.pi = numero pi + ''' + z = (params[0]*np.exp(-(((x-params[3])**2)+(y-params[4])**2)/(2*(params[1])**2)))+params[2] + return z + +# Funcion de error +def Error_gauss_2D(tpl,x,y,z): + return func_gauss_2D(tpl,x,y)-z +``` + +- Realizamos el ajuste en 2D + + +```python +prob = lum_2D # definimos a lum como una probabilidad para calcular la desviación estandar aproximada. + +# DEFINIMOS LOS PARÃMETROS DE INICIALIZACIÓN +# Loa parámetros de inicialización segiran la lógica para los de 1D + +A = 1 +x0 = int(max(x_2D)+min(x_2D))/2 +y0 = int(max(y_2D)+min(y_2D))/2 +sigmax = std_prob(x_2D,prob,x0) # desviación estandart para X +sigmay = std_prob(y_2D,prob,y0) # desviación estandart para Y +sigmaxy = (sigmax+sigmay)/2 +C = min(lum_2D) + +''' + params[0] = A + params[1] = sigma + params[2] = C + params[3] = x0 + params[4] = y0 +''' + + +p1 = [A, sigmaxy, C, x0, y0] # valores de inicializacion + +best,suss = leastsq(Error_gauss_2D, p1, args=(x_2D,y_2D,lum_2D)) # ajuste + +lum_model_2D = func_gauss_2D(best,x_2D,y_2D) # geramos los valores de luminucidad deacuerdo al modelo + +# GRÃFICA + +fig = plt.figure(figsize=(6, 6)) +ax = fig.add_subplot(111, projection='3d') +ax.scatter(x_2D, y_2D,lum_model_2D, linewidths=1, + alpha=.7, edgecolor='k',s = 5) +ax.set_xlabel('eje X') +ax.set_ylabel('eje Y') +ax.set_zlabel('Lum') +plt.title('Ajuste Gaussiano Scatter') +plt.show() + +``` + + + + + + + + +```python +# GRÃFICA + +x_para_model = np.arange(0, estrella0.shape[0],0.1) +y_para_model = np.arange(0, estrella0.shape[1], 0.1) + + +X, Y = np.meshgrid(x_para_model, y_para_model) +Z = func_gauss_2D(best,X,Y) + +fig = plt.figure() +ax = plt.axes(projection='3d') +ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap='Blues', edgecolor='none') +ax.set_xlabel('x') +ax.set_ylabel('y') +ax.set_zlabel('lum') +plt.title('Ajuste Gaussiano Superficie'); +``` + + + + + + + +### Anchura a media altura (FWHM ) + Se define con la siguiente ecuación. + + <img src=" https://wikimedia.org/api/rest_v1/media/math/render/svg/156b334e8449d05b7707f8a7b673f85f7141b27e"> + + + + + +```python +# definimos la funcion para el FWHM +def FWHM(sigma): + ''' Funcion que retorna el valor de FWHM''' + return 2*math.sqrt(2)*sigma +print('El valor para la resolución espacial (FWHM) es :', FWHM(best[1])) + +``` + + El valor para la resolución espacial (FWHM) es : 13.130398957324719 + + +## Ahora definiremos cada una de las estrellas + + +```python +# Definimos cada una de las estrellas +estrella1 = Grayscale[459:464,322:327] +estrella2 = Grayscale[544:562,654:671] +estrella3 = Grayscale[241:247,215:222] +estrella4 = Grayscale[312:320,624:632] +estrella5 = Grayscale[374:380,448:454] +estrella6 = Grayscale[145:151,390:397] +estrella7 = Grayscale[523:527,654:658] +estrella8 = Grayscale[498:504,683:688] +estrella9 = Grayscale[312:320,624:632] +estrella10 = Grayscale[374:380,448:454] + +estrellas = [estrella1,estrella2,estrella3,estrella4,estrella5, + estrella6,estrella7,estrella8,estrella9,estrella10] + +``` + +- Automatizaremos los procesos de obtención de parámetros para la gausiana del ajuste 1D + + +```python +# Realizamos una función que haga el ajuste en 1D automaticamente + +def ajuste_1D_Aut(estrella): + '''Funcion que recibe los valores X,Y y Luminosidad de una estrella y retorna los datos en una lÃnea de X + con sus corespondiente valores de luminosidad y los valores de luminosidad ajustados a una gausiana + ademas de los parámetros de la guaussiana''' + x = np.arange(0, estrella.shape[0], 1) + x_medio = int(max(x)/2) + lumx = estrella[:,x_medio] + prob = lumx + A = 1 + x0 = int(max(x)+min(x))/2 + sigma = std_prob(x,prob,x0) + C = min(lumx) + p1 = [A, sigma , x0 , C] + best,suss = leastsq(Error_gauss_1D, p1, args=(x,lumx)) + x_model = np.arange(0, estrella.shape[0], 0.05) + lum_model = func_gauss_1D(best,x_model) + return x, lumx, x_model,lum_model, best +``` + +- Graficaremos el conjunto de los datos con los ajustes en 1D + + +```python +fig, axs = plt.subplots(5,4, figsize=(15, 15), facecolor='w', edgecolor='k') +fig.subplots_adjust(hspace = .5, wspace=.001) +axs = axs.ravel() + +j = -1 +for i in range(0,20,2): + j= j+1 + axs[i].imshow(estrellas[j], cmap=cm.gray, vmax=np.max(estrellas[j])) + axs[i].set_title('Estrella'+ str(j)) + ########################################################################################## + x, lumx, x_model,lum_model,best = ajuste_1D_Aut(estrellas[j]) + axs[i+1].plot(x_model,lum_model) # gráfica del modelo + axs[i+1].plot(x,lumx,'o',color="darkorange") # gráfica de los datos + axs[i+1].set_title('Ajuste 1D') + ########################################################################################### + + +``` + + + + + + + +- Automatizaremos los procesos de obtención de parámetros para la gausiana del ajuste 2D + + +```python +def luminosidad_2D(estrella): + '''Funcion que extrae cada valor de la luminosidad con sus respectivos valores en X y Y, + y los retorna en forma de arrays. + ''' + x = np.arange(0, estrella.shape[0], 1) + y = np.arange(0, estrella.shape[1], 1) + + lum_list = [] + x_list = [] + y_list = [] + for i in x: + for j in y: + lum = estrella[x[i],y[j]] + lum_list.append(lum) + x_list.append(x[i]) + y_list.append(y[j]) + return np.array(lum_list),np.array(x_list),np.array(y_list) + +lum_2D, x_2D, y_2D = luminosidad_2D(estrella2) + + +def ajuste_2D_Aut(estrella): + '''Funcion que recibe los valores X,Y,Lum de una estrella los parámetros de + la gaussiana que mejor se ajustan a los datos ''' + lum_2D, x_2D, y_2D = luminosidad_2D(estrella) + prob = lum_2D + A = 1 + x0 = int(max(x_2D)+min(x_2D))/2 + y0 = int(max(y_2D)+min(y_2D))/2 + sigmax = std_prob(x_2D,prob,x0) + sigmay = std_prob(y_2D,prob,y0) + sigmaxy = (sigmax+sigmay)/2 + C = min(lum_2D) + p1 = [A, sigmaxy, C, x0, y0] + best,suss = leastsq(Error_gauss_2D, p1, args=(x_2D,y_2D,lum_2D)) # ajuste + return best + +# GRÃFICA + +for i in range (0,10): + x_para_model = np.arange(0, estrellas[i].shape[0],0.1) + y_para_model = np.arange(0, estrellas[i].shape[1], 0.1) + best = ajuste_2D_Aut(estrellas[i]) + X, Y = np.meshgrid(x_para_model, y_para_model) + Z = func_gauss_2D(best,X,Y) + fig = plt.figure() + ax = plt.axes(projection='3d') + ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap='Blues', edgecolor='none') + ax.set_xlabel('x') + ax.set_ylabel('y') + ax.set_zlabel('lum') + plt.title('Ajuste Gaussiano Superficie Estrella'+ str(i) ); + + + +``` + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +## Cálculos de FWHM + + + + + +```python +FWHM_estrellas = [] +for i in range(1,10): + Best = ajuste_2D_Aut(estrellas[i]) + FWHM_estrellas.append(Best[1]) + +# FWHM_estrellas es un array que contiene los valores de FWHM para dada estrella +``` + +## Análisis EStadÃstica de FWHM + + +```python +# Realizamos un Histrograma +import plotly.express as px +from pandas import DataFrame + +numero_estrella = range(1,10) + +Data = {'Estrella': numero_estrella, + 'FWHM': FWHM_estrellas , + } + +df = DataFrame(Data,columns=[ 'Estrella', 'FWHM']) +fig = px.histogram(df, x = 'FWHM') +fig.show() +``` + + + <script type="text/javascript"> + window.PlotlyConfig = {MathJaxConfig: 'local'}; + if (window.MathJax) {MathJax.Hub.Config({SVG: {font: "STIX-Web"}});} + if (typeof require !== 'undefined') { + require.undef("plotly"); + define('plotly', function(require, exports, module) { + /** +* plotly.js v1.58.4 +* Copyright 2012-2020, Plotly, Inc. +* All rights reserved. +* Licensed under the MIT license +*/ +!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).Plotly=t()}}((function(){return function t(e,r,n){function i(o,s){if(!r[o]){if(!e[o]){var l="function"==typeof require&&require;if(!s&&l)return l(o,!0);if(a)return a(o,!0);var c=new Error("Cannot find module '"+o+"'");throw c.code="MODULE_NOT_FOUND",c}var u=r[o]={exports:{}};e[o][0].call(u.exports,(function(t){return i(e[o][1][t]||t)}),u,u.exports,t,e,r,n)}return r[o].exports}for(var a="function"==typeof require&&require,o=0;o<n.length;o++)i(n[o]);return i}({1:[function(t,e,r){"use strict";var n=t("../src/lib"),i={"X,X div":"direction:ltr;font-family:'Open Sans', verdana, arial, sans-serif;margin:0;padding:0;","X input,X button":"font-family:'Open Sans', verdana, arial, sans-serif;","X input:focus,X button:focus":"outline:none;","X a":"text-decoration:none;","X a:hover":"text-decoration:none;","X .crisp":"shape-rendering:crispEdges;","X .user-select-none":"-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;","X svg":"overflow:hidden;","X svg a":"fill:#447adb;","X svg a:hover":"fill:#3c6dc5;","X .main-svg":"position:absolute;top:0;left:0;pointer-events:none;","X .main-svg .draglayer":"pointer-events:all;","X .cursor-default":"cursor:default;","X .cursor-pointer":"cursor:pointer;","X .cursor-crosshair":"cursor:crosshair;","X .cursor-move":"cursor:move;","X .cursor-col-resize":"cursor:col-resize;","X .cursor-row-resize":"cursor:row-resize;","X .cursor-ns-resize":"cursor:ns-resize;","X .cursor-ew-resize":"cursor:ew-resize;","X .cursor-sw-resize":"cursor:sw-resize;","X .cursor-s-resize":"cursor:s-resize;","X .cursor-se-resize":"cursor:se-resize;","X .cursor-w-resize":"cursor:w-resize;","X .cursor-e-resize":"cursor:e-resize;","X .cursor-nw-resize":"cursor:nw-resize;","X .cursor-n-resize":"cursor:n-resize;","X .cursor-ne-resize":"cursor:ne-resize;","X .cursor-grab":"cursor:-webkit-grab;cursor:grab;","X .modebar":"position:absolute;top:2px;right:2px;","X .ease-bg":"-webkit-transition:background-color 0.3s ease 0s;-moz-transition:background-color 0.3s ease 0s;-ms-transition:background-color 0.3s ease 0s;-o-transition:background-color 0.3s ease 0s;transition:background-color 0.3s ease 0s;","X .modebar--hover>:not(.watermark)":"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;","X:hover .modebar--hover .modebar-group":"opacity:1;","X .modebar-group":"float:left;display:inline-block;box-sizing:border-box;padding-left:8px;position:relative;vertical-align:middle;white-space:nowrap;","X .modebar-btn":"position:relative;font-size:16px;padding:3px 4px;height:22px;cursor:pointer;line-height:normal;box-sizing:border-box;","X .modebar-btn svg":"position:relative;top:2px;","X .modebar.vertical":"display:flex;flex-direction:column;flex-wrap:wrap;align-content:flex-end;max-height:100%;","X .modebar.vertical svg":"top:-1px;","X .modebar.vertical .modebar-group":"display:block;float:none;padding-left:0px;padding-bottom:8px;","X .modebar.vertical .modebar-group .modebar-btn":"display:block;text-align:center;","X [data-title]:before,X [data-title]:after":"position:absolute;-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);-o-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);display:none;opacity:0;z-index:1001;pointer-events:none;top:110%;right:50%;","X [data-title]:hover:before,X [data-title]:hover:after":"display:block;opacity:1;","X [data-title]:before":"content:'';position:absolute;background:transparent;border:6px solid transparent;z-index:1002;margin-top:-12px;border-bottom-color:#69738a;margin-right:-6px;","X [data-title]:after":"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;","X .vertical [data-title]:before,X .vertical [data-title]:after":"top:0%;right:200%;","X .vertical [data-title]:before":"border:6px solid transparent;border-left-color:#69738a;margin-top:8px;margin-right:-30px;","X .select-outline":"fill:none;stroke-width:1;shape-rendering:crispEdges;","X .select-outline-1":"stroke:white;","X .select-outline-2":"stroke:black;stroke-dasharray:2px 2px;",Y:"font-family:'Open Sans', verdana, arial, sans-serif;position:fixed;top:50px;right:20px;z-index:10000;font-size:10pt;max-width:180px;","Y p":"margin:0;","Y .notifier-note":"min-width:180px;max-width:250px;border:1px solid #fff;z-index:3000;margin:0;background-color:#8c97af;background-color:rgba(140,151,175,0.9);color:#fff;padding:10px;overflow-wrap:break-word;word-wrap:break-word;-ms-hyphens:auto;-webkit-hyphens:auto;hyphens:auto;","Y .notifier-close":"color:#fff;opacity:0.8;float:right;padding:0 5px;background:none;border:none;font-size:20px;font-weight:bold;line-height:20px;","Y .notifier-close:hover":"color:#444;text-decoration:none;cursor:pointer;"};for(var a in i){var o=a.replace(/^,/," ,").replace(/X/g,".js-plotly-plot .plotly").replace(/Y/g,".plotly-notifier");n.addStyleRule(o,i[a])}},{"../src/lib":778}],2:[function(t,e,r){"use strict";e.exports=t("../src/transforms/aggregate")},{"../src/transforms/aggregate":1365}],3:[function(t,e,r){"use strict";e.exports=t("../src/traces/bar")},{"../src/traces/bar":929}],4:[function(t,e,r){"use strict";e.exports=t("../src/traces/barpolar")},{"../src/traces/barpolar":942}],5:[function(t,e,r){"use strict";e.exports=t("../src/traces/box")},{"../src/traces/box":952}],6:[function(t,e,r){"use strict";e.exports=t("../src/components/calendars")},{"../src/components/calendars":641}],7:[function(t,e,r){"use strict";e.exports=t("../src/traces/candlestick")},{"../src/traces/candlestick":961}],8:[function(t,e,r){"use strict";e.exports=t("../src/traces/carpet")},{"../src/traces/carpet":980}],9:[function(t,e,r){"use strict";e.exports=t("../src/traces/choropleth")},{"../src/traces/choropleth":994}],10:[function(t,e,r){"use strict";e.exports=t("../src/traces/choroplethmapbox")},{"../src/traces/choroplethmapbox":1001}],11:[function(t,e,r){"use strict";e.exports=t("../src/traces/cone")},{"../src/traces/cone":1007}],12:[function(t,e,r){"use strict";e.exports=t("../src/traces/contour")},{"../src/traces/contour":1022}],13:[function(t,e,r){"use strict";e.exports=t("../src/traces/contourcarpet")},{"../src/traces/contourcarpet":1033}],14:[function(t,e,r){"use strict";e.exports=t("../src/core")},{"../src/core":755}],15:[function(t,e,r){"use strict";e.exports=t("../src/traces/densitymapbox")},{"../src/traces/densitymapbox":1041}],16:[function(t,e,r){"use strict";e.exports=t("../src/transforms/filter")},{"../src/transforms/filter":1366}],17:[function(t,e,r){"use strict";e.exports=t("../src/traces/funnel")},{"../src/traces/funnel":1051}],18:[function(t,e,r){"use strict";e.exports=t("../src/traces/funnelarea")},{"../src/traces/funnelarea":1060}],19:[function(t,e,r){"use strict";e.exports=t("../src/transforms/groupby")},{"../src/transforms/groupby":1367}],20:[function(t,e,r){"use strict";e.exports=t("../src/traces/heatmap")},{"../src/traces/heatmap":1073}],21:[function(t,e,r){"use strict";e.exports=t("../src/traces/heatmapgl")},{"../src/traces/heatmapgl":1083}],22:[function(t,e,r){"use strict";e.exports=t("../src/traces/histogram")},{"../src/traces/histogram":1095}],23:[function(t,e,r){"use strict";e.exports=t("../src/traces/histogram2d")},{"../src/traces/histogram2d":1101}],24:[function(t,e,r){"use strict";e.exports=t("../src/traces/histogram2dcontour")},{"../src/traces/histogram2dcontour":1105}],25:[function(t,e,r){"use strict";e.exports=t("../src/traces/image")},{"../src/traces/image":1113}],26:[function(t,e,r){"use strict";var n=t("./core");n.register([t("./bar"),t("./box"),t("./heatmap"),t("./histogram"),t("./histogram2d"),t("./histogram2dcontour"),t("./contour"),t("./scatterternary"),t("./violin"),t("./funnel"),t("./waterfall"),t("./image"),t("./pie"),t("./sunburst"),t("./treemap"),t("./funnelarea"),t("./scatter3d"),t("./surface"),t("./isosurface"),t("./volume"),t("./mesh3d"),t("./cone"),t("./streamtube"),t("./scattergeo"),t("./choropleth"),t("./scattergl"),t("./splom"),t("./pointcloud"),t("./heatmapgl"),t("./parcoords"),t("./parcats"),t("./scattermapbox"),t("./choroplethmapbox"),t("./densitymapbox"),t("./sankey"),t("./indicator"),t("./table"),t("./carpet"),t("./scattercarpet"),t("./contourcarpet"),t("./ohlc"),t("./candlestick"),t("./scatterpolar"),t("./scatterpolargl"),t("./barpolar")]),n.register([t("./aggregate"),t("./filter"),t("./groupby"),t("./sort")]),n.register([t("./calendars")]),e.exports=n},{"./aggregate":2,"./bar":3,"./barpolar":4,"./box":5,"./calendars":6,"./candlestick":7,"./carpet":8,"./choropleth":9,"./choroplethmapbox":10,"./cone":11,"./contour":12,"./contourcarpet":13,"./core":14,"./densitymapbox":15,"./filter":16,"./funnel":17,"./funnelarea":18,"./groupby":19,"./heatmap":20,"./heatmapgl":21,"./histogram":22,"./histogram2d":23,"./histogram2dcontour":24,"./image":25,"./indicator":27,"./isosurface":28,"./mesh3d":29,"./ohlc":30,"./parcats":31,"./parcoords":32,"./pie":33,"./pointcloud":34,"./sankey":35,"./scatter3d":36,"./scattercarpet":37,"./scattergeo":38,"./scattergl":39,"./scattermapbox":40,"./scatterpolar":41,"./scatterpolargl":42,"./scatterternary":43,"./sort":44,"./splom":45,"./streamtube":46,"./sunburst":47,"./surface":48,"./table":49,"./treemap":50,"./violin":51,"./volume":52,"./waterfall":53}],27:[function(t,e,r){"use strict";e.exports=t("../src/traces/indicator")},{"../src/traces/indicator":1121}],28:[function(t,e,r){"use strict";e.exports=t("../src/traces/isosurface")},{"../src/traces/isosurface":1127}],29:[function(t,e,r){"use strict";e.exports=t("../src/traces/mesh3d")},{"../src/traces/mesh3d":1132}],30:[function(t,e,r){"use strict";e.exports=t("../src/traces/ohlc")},{"../src/traces/ohlc":1137}],31:[function(t,e,r){"use strict";e.exports=t("../src/traces/parcats")},{"../src/traces/parcats":1146}],32:[function(t,e,r){"use strict";e.exports=t("../src/traces/parcoords")},{"../src/traces/parcoords":1156}],33:[function(t,e,r){"use strict";e.exports=t("../src/traces/pie")},{"../src/traces/pie":1167}],34:[function(t,e,r){"use strict";e.exports=t("../src/traces/pointcloud")},{"../src/traces/pointcloud":1176}],35:[function(t,e,r){"use strict";e.exports=t("../src/traces/sankey")},{"../src/traces/sankey":1182}],36:[function(t,e,r){"use strict";e.exports=t("../src/traces/scatter3d")},{"../src/traces/scatter3d":1220}],37:[function(t,e,r){"use strict";e.exports=t("../src/traces/scattercarpet")},{"../src/traces/scattercarpet":1227}],38:[function(t,e,r){"use strict";e.exports=t("../src/traces/scattergeo")},{"../src/traces/scattergeo":1235}],39:[function(t,e,r){"use strict";e.exports=t("../src/traces/scattergl")},{"../src/traces/scattergl":1248}],40:[function(t,e,r){"use strict";e.exports=t("../src/traces/scattermapbox")},{"../src/traces/scattermapbox":1258}],41:[function(t,e,r){"use strict";e.exports=t("../src/traces/scatterpolar")},{"../src/traces/scatterpolar":1266}],42:[function(t,e,r){"use strict";e.exports=t("../src/traces/scatterpolargl")},{"../src/traces/scatterpolargl":1273}],43:[function(t,e,r){"use strict";e.exports=t("../src/traces/scatterternary")},{"../src/traces/scatterternary":1281}],44:[function(t,e,r){"use strict";e.exports=t("../src/transforms/sort")},{"../src/transforms/sort":1369}],45:[function(t,e,r){"use strict";e.exports=t("../src/traces/splom")},{"../src/traces/splom":1290}],46:[function(t,e,r){"use strict";e.exports=t("../src/traces/streamtube")},{"../src/traces/streamtube":1298}],47:[function(t,e,r){"use strict";e.exports=t("../src/traces/sunburst")},{"../src/traces/sunburst":1306}],48:[function(t,e,r){"use strict";e.exports=t("../src/traces/surface")},{"../src/traces/surface":1315}],49:[function(t,e,r){"use strict";e.exports=t("../src/traces/table")},{"../src/traces/table":1323}],50:[function(t,e,r){"use strict";e.exports=t("../src/traces/treemap")},{"../src/traces/treemap":1332}],51:[function(t,e,r){"use strict";e.exports=t("../src/traces/violin")},{"../src/traces/violin":1344}],52:[function(t,e,r){"use strict";e.exports=t("../src/traces/volume")},{"../src/traces/volume":1352}],53:[function(t,e,r){"use strict";e.exports=t("../src/traces/waterfall")},{"../src/traces/waterfall":1360}],54:[function(t,e,r){"use strict";e.exports=function(t){var e=(t=t||{}).eye||[0,0,1],r=t.center||[0,0,0],s=t.up||[0,1,0],l=t.distanceLimits||[0,1/0],c=t.mode||"turntable",u=n(),f=i(),h=a();return u.setDistanceLimits(l[0],l[1]),u.lookAt(0,e,r,s),f.setDistanceLimits(l[0],l[1]),f.lookAt(0,e,r,s),h.setDistanceLimits(l[0],l[1]),h.lookAt(0,e,r,s),new o({turntable:u,orbit:f,matrix:h},c)};var n=t("turntable-camera-controller"),i=t("orbit-camera-controller"),a=t("matrix-camera-controller");function o(t,e){this._controllerNames=Object.keys(t),this._controllerList=this._controllerNames.map((function(e){return t[e]})),this._mode=e,this._active=t[e],this._active||(this._mode="turntable",this._active=t.turntable),this.modes=this._controllerNames,this.computedMatrix=this._active.computedMatrix,this.computedEye=this._active.computedEye,this.computedUp=this._active.computedUp,this.computedCenter=this._active.computedCenter,this.computedRadius=this._active.computedRadius}var s=o.prototype;[["flush",1],["idle",1],["lookAt",4],["rotate",4],["pan",4],["translate",4],["setMatrix",2],["setDistanceLimits",2],["setDistance",2]].forEach((function(t){for(var e=t[0],r=[],n=0;n<t[1];++n)r.push("a"+n);var i="var cc=this._controllerList;for(var i=0;i<cc.length;++i){cc[i]."+t[0]+"("+r.join()+")}";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<0)){var r=this._active,n=this._controllerList[e],i=Math.max(r.lastT(),n.lastT());r.recalcMatrix(i),n.setMatrix(i,r.computedMatrix),this._active=n,this._mode=t,this.computedMatrix=this._active.computedMatrix,this.computedEye=this._active.computedEye,this.computedUp=this._active.computedUp,this.computedCenter=this._active.computedCenter,this.computedRadius=this._active.computedRadius}}},s.getMode=function(){return this._mode}},{"matrix-camera-controller":480,"orbit-camera-controller":501,"turntable-camera-controller":581}],55:[function(t,e,r){!function(n,i){"object"==typeof r&&"undefined"!=typeof e?i(r,t("d3-array"),t("d3-collection"),t("d3-shape"),t("elementary-circuits-directed-graph")):i(n.d3=n.d3||{},n.d3,n.d3,n.d3,null)}(this,(function(t,e,r,n,i){"use strict";function a(t){return t.target.depth}function o(t,e){return t.sourceLinks.length?t.depth:e-1}function s(t){return function(){return t}}i=i&&i.hasOwnProperty("default")?i.default:i;var l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};function c(t,e){return f(t.source,e.source)||t.index-e.index}function u(t,e){return f(t.target,e.target)||t.index-e.index}function f(t,e){return t.partOfCycle===e.partOfCycle?t.y0-e.y0:"top"===t.circularLinkType||"bottom"===e.circularLinkType?-1:1}function h(t){return t.value}function p(t){return(t.y0+t.y1)/2}function d(t){return p(t.source)}function g(t){return p(t.target)}function m(t){return t.index}function v(t){return t.nodes}function y(t){return t.links}function x(t,e){var r=t.get(e);if(!r)throw new Error("missing: "+e);return r}function b(t,e){return e(t)}function _(t,e,r){var n=0;if(null===r){for(var a=[],o=0;o<t.links.length;o++){var s=t.links[o],l=s.source.index,c=s.target.index;a[l]||(a[l]=[]),a[c]||(a[c]=[]),-1===a[l].indexOf(c)&&a[l].push(c)}var u=i(a);u.sort((function(t,e){return t.length-e.length}));var f={};for(o=0;o<u.length;o++){var h=u[o].slice(-2);f[h[0]]||(f[h[0]]={}),f[h[0]][h[1]]=!0}t.links.forEach((function(t){var e=t.target.index,r=t.source.index;e===r||f[r]&&f[r][e]?(t.circular=!0,t.circularLinkID=n,n+=1):t.circular=!1}))}else t.links.forEach((function(t){t.source[r]<t.target[r]?t.circular=!1:(t.circular=!0,t.circularLinkID=n,n+=1)}))}function w(t,e){var r=0,n=0;t.links.forEach((function(i){i.circular&&(i.source.circularLinkType||i.target.circularLinkType?i.circularLinkType=i.source.circularLinkType?i.source.circularLinkType:i.target.circularLinkType:i.circularLinkType=r<n?"top":"bottom","top"==i.circularLinkType?r+=1:n+=1,t.nodes.forEach((function(t){b(t,e)!=b(i.source,e)&&b(t,e)!=b(i.target,e)||(t.circularLinkType=i.circularLinkType)})))})),t.links.forEach((function(t){t.circular&&(t.source.circularLinkType==t.target.circularLinkType&&(t.circularLinkType=t.source.circularLinkType),H(t,e)&&(t.circularLinkType=t.source.circularLinkType))}))}function T(t){var e=Math.abs(t.y1-t.y0),r=Math.abs(t.target.x0-t.source.x1);return Math.atan(r/e)}function k(t,e){var r=0;t.sourceLinks.forEach((function(t){r=t.circular&&!H(t,e)?r+1:r}));var n=0;return t.targetLinks.forEach((function(t){n=t.circular&&!H(t,e)?n+1:n})),r+n}function M(t){var e=t.source.sourceLinks,r=0;e.forEach((function(t){r=t.circular?r+1:r}));var n=t.target.targetLinks,i=0;return n.forEach((function(t){i=t.circular?i+1:i})),!(r>1||i>1)}function A(t,e,r){return t.sort(E),t.forEach((function(n,i){var a,o,s=0;if(H(n,r)&&M(n))n.circularPathData.verticalBuffer=s+n.width/2;else{for(var l=0;l<i;l++)if(a=t[i],o=t[l],!(a.source.column<o.target.column||a.target.column>o.source.column)){var c=t[l].circularPathData.verticalBuffer+t[l].width/2+e;s=c>s?c:s}n.circularPathData.verticalBuffer=s+n.width/2}})),t}function S(t,r,i,a){var o=e.min(t.links,(function(t){return t.source.y0}));t.links.forEach((function(t){t.circular&&(t.circularPathData={})})),A(t.links.filter((function(t){return"top"==t.circularLinkType})),r,a),A(t.links.filter((function(t){return"bottom"==t.circularLinkType})),r,a),t.links.forEach((function(e){if(e.circular){if(e.circularPathData.arcRadius=e.width+10,e.circularPathData.leftNodeBuffer=5,e.circularPathData.rightNodeBuffer=5,e.circularPathData.sourceWidth=e.source.x1-e.source.x0,e.circularPathData.sourceX=e.source.x0+e.circularPathData.sourceWidth,e.circularPathData.targetX=e.target.x0,e.circularPathData.sourceY=e.y0,e.circularPathData.targetY=e.y1,H(e,a)&&M(e))e.circularPathData.leftSmallArcRadius=10+e.width/2,e.circularPathData.leftLargeArcRadius=10+e.width/2,e.circularPathData.rightSmallArcRadius=10+e.width/2,e.circularPathData.rightLargeArcRadius=10+e.width/2,"bottom"==e.circularLinkType?(e.circularPathData.verticalFullExtent=e.source.y1+25+e.circularPathData.verticalBuffer,e.circularPathData.verticalLeftInnerExtent=e.circularPathData.verticalFullExtent-e.circularPathData.leftLargeArcRadius,e.circularPathData.verticalRightInnerExtent=e.circularPathData.verticalFullExtent-e.circularPathData.rightLargeArcRadius):(e.circularPathData.verticalFullExtent=e.source.y0-25-e.circularPathData.verticalBuffer,e.circularPathData.verticalLeftInnerExtent=e.circularPathData.verticalFullExtent+e.circularPathData.leftLargeArcRadius,e.circularPathData.verticalRightInnerExtent=e.circularPathData.verticalFullExtent+e.circularPathData.rightLargeArcRadius);else{var s=e.source.column,l=e.circularLinkType,c=t.links.filter((function(t){return t.source.column==s&&t.circularLinkType==l}));"bottom"==e.circularLinkType?c.sort(L):c.sort(C);var u=0;c.forEach((function(t,n){t.circularLinkID==e.circularLinkID&&(e.circularPathData.leftSmallArcRadius=10+e.width/2+u,e.circularPathData.leftLargeArcRadius=10+e.width/2+n*r+u),u+=t.width})),s=e.target.column,c=t.links.filter((function(t){return t.target.column==s&&t.circularLinkType==l})),"bottom"==e.circularLinkType?c.sort(P):c.sort(I),u=0,c.forEach((function(t,n){t.circularLinkID==e.circularLinkID&&(e.circularPathData.rightSmallArcRadius=10+e.width/2+u,e.circularPathData.rightLargeArcRadius=10+e.width/2+n*r+u),u+=t.width})),"bottom"==e.circularLinkType?(e.circularPathData.verticalFullExtent=Math.max(i,e.source.y1,e.target.y1)+25+e.circularPathData.verticalBuffer,e.circularPathData.verticalLeftInnerExtent=e.circularPathData.verticalFullExtent-e.circularPathData.leftLargeArcRadius,e.circularPathData.verticalRightInnerExtent=e.circularPathData.verticalFullExtent-e.circularPathData.rightLargeArcRadius):(e.circularPathData.verticalFullExtent=o-25-e.circularPathData.verticalBuffer,e.circularPathData.verticalLeftInnerExtent=e.circularPathData.verticalFullExtent+e.circularPathData.leftLargeArcRadius,e.circularPathData.verticalRightInnerExtent=e.circularPathData.verticalFullExtent+e.circularPathData.rightLargeArcRadius)}e.circularPathData.leftInnerExtent=e.circularPathData.sourceX+e.circularPathData.leftNodeBuffer,e.circularPathData.rightInnerExtent=e.circularPathData.targetX-e.circularPathData.rightNodeBuffer,e.circularPathData.leftFullExtent=e.circularPathData.sourceX+e.circularPathData.leftLargeArcRadius+e.circularPathData.leftNodeBuffer,e.circularPathData.rightFullExtent=e.circularPathData.targetX-e.circularPathData.rightLargeArcRadius-e.circularPathData.rightNodeBuffer}if(e.circular)e.path=function(t){var e="";e="top"==t.circularLinkType?"M"+t.circularPathData.sourceX+" "+t.circularPathData.sourceY+" L"+t.circularPathData.leftInnerExtent+" "+t.circularPathData.sourceY+" A"+t.circularPathData.leftLargeArcRadius+" "+t.circularPathData.leftSmallArcRadius+" 0 0 0 "+t.circularPathData.leftFullExtent+" "+(t.circularPathData.sourceY-t.circularPathData.leftSmallArcRadius)+" L"+t.circularPathData.leftFullExtent+" "+t.circularPathData.verticalLeftInnerExtent+" A"+t.circularPathData.leftLargeArcRadius+" "+t.circularPathData.leftLargeArcRadius+" 0 0 0 "+t.circularPathData.leftInnerExtent+" "+t.circularPathData.verticalFullExtent+" L"+t.circularPathData.rightInnerExtent+" "+t.circularPathData.verticalFullExtent+" A"+t.circularPathData.rightLargeArcRadius+" "+t.circularPathData.rightLargeArcRadius+" 0 0 0 "+t.circularPathData.rightFullExtent+" "+t.circularPathData.verticalRightInnerExtent+" L"+t.circularPathData.rightFullExtent+" "+(t.circularPathData.targetY-t.circularPathData.rightSmallArcRadius)+" A"+t.circularPathData.rightLargeArcRadius+" "+t.circularPathData.rightSmallArcRadius+" 0 0 0 "+t.circularPathData.rightInnerExtent+" "+t.circularPathData.targetY+" L"+t.circularPathData.targetX+" "+t.circularPathData.targetY:"M"+t.circularPathData.sourceX+" "+t.circularPathData.sourceY+" L"+t.circularPathData.leftInnerExtent+" "+t.circularPathData.sourceY+" A"+t.circularPathData.leftLargeArcRadius+" "+t.circularPathData.leftSmallArcRadius+" 0 0 1 "+t.circularPathData.leftFullExtent+" "+(t.circularPathData.sourceY+t.circularPathData.leftSmallArcRadius)+" L"+t.circularPathData.leftFullExtent+" "+t.circularPathData.verticalLeftInnerExtent+" A"+t.circularPathData.leftLargeArcRadius+" "+t.circularPathData.leftLargeArcRadius+" 0 0 1 "+t.circularPathData.leftInnerExtent+" "+t.circularPathData.verticalFullExtent+" L"+t.circularPathData.rightInnerExtent+" "+t.circularPathData.verticalFullExtent+" A"+t.circularPathData.rightLargeArcRadius+" "+t.circularPathData.rightLargeArcRadius+" 0 0 1 "+t.circularPathData.rightFullExtent+" "+t.circularPathData.verticalRightInnerExtent+" L"+t.circularPathData.rightFullExtent+" "+(t.circularPathData.targetY+t.circularPathData.rightSmallArcRadius)+" A"+t.circularPathData.rightLargeArcRadius+" "+t.circularPathData.rightSmallArcRadius+" 0 0 1 "+t.circularPathData.rightInnerExtent+" "+t.circularPathData.targetY+" L"+t.circularPathData.targetX+" "+t.circularPathData.targetY;return e}(e);else{var f=n.linkHorizontal().source((function(t){return[t.source.x0+(t.source.x1-t.source.x0),t.y0]})).target((function(t){return[t.target.x0,t.y1]}));e.path=f(e)}}))}function E(t,e){return z(t)==z(e)?"bottom"==t.circularLinkType?L(t,e):C(t,e):z(e)-z(t)}function C(t,e){return t.y0-e.y0}function L(t,e){return e.y0-t.y0}function I(t,e){return t.y1-e.y1}function P(t,e){return e.y1-t.y1}function z(t){return t.target.column-t.source.column}function O(t){return t.target.x0-t.source.x1}function D(t,e){var r=T(t),n=O(e)/Math.tan(r);return"up"==q(t)?t.y1+n:t.y1-n}function R(t,e){var r=T(t),n=O(e)/Math.tan(r);return"up"==q(t)?t.y1-n:t.y1+n}function F(t,e,r,n){t.links.forEach((function(i){if(!i.circular&&i.target.column-i.source.column>1){var a=i.source.column+1,o=i.target.column-1,s=1,l=o-a+1;for(s=1;a<=o;a++,s++)t.nodes.forEach((function(o){if(o.column==a){var c,u=s/(l+1),f=Math.pow(1-u,3),h=3*u*Math.pow(1-u,2),p=3*Math.pow(u,2)*(1-u),d=Math.pow(u,3),g=f*i.y0+h*i.y0+p*i.y1+d*i.y1,m=g-i.width/2,v=g+i.width/2;m>o.y0&&m<o.y1?(c=o.y1-m+10,c="bottom"==o.circularLinkType?c:-c,o=N(o,c,e,r),t.nodes.forEach((function(t){b(t,n)!=b(o,n)&&t.column==o.column&&B(o,t)&&N(t,c,e,r)}))):(v>o.y0&&v<o.y1||m<o.y0&&v>o.y1)&&(c=v-o.y0+10,o=N(o,c,e,r),t.nodes.forEach((function(t){b(t,n)!=b(o,n)&&t.column==o.column&&t.y0<o.y1&&t.y1>o.y1&&N(t,c,e,r)})))}}))}}))}function B(t,e){return t.y0>e.y0&&t.y0<e.y1||(t.y1>e.y0&&t.y1<e.y1||t.y0<e.y0&&t.y1>e.y1)}function N(t,e,r,n){return t.y0+e>=r&&t.y1+e<=n&&(t.y0=t.y0+e,t.y1=t.y1+e,t.targetLinks.forEach((function(t){t.y1=t.y1+e})),t.sourceLinks.forEach((function(t){t.y0=t.y0+e}))),t}function j(t,e,r,n){t.nodes.forEach((function(i){n&&i.y+(i.y1-i.y0)>e&&(i.y=i.y-(i.y+(i.y1-i.y0)-e));var a=t.links.filter((function(t){return b(t.source,r)==b(i,r)})),o=a.length;o>1&&a.sort((function(t,e){if(!t.circular&&!e.circular){if(t.target.column==e.target.column)return t.y1-e.y1;if(!V(t,e))return t.y1-e.y1;if(t.target.column>e.target.column){var r=R(e,t);return t.y1-r}if(e.target.column>t.target.column)return R(t,e)-e.y1}return t.circular&&!e.circular?"top"==t.circularLinkType?-1:1:e.circular&&!t.circular?"top"==e.circularLinkType?1:-1:t.circular&&e.circular?t.circularLinkType===e.circularLinkType&&"top"==t.circularLinkType?t.target.column===e.target.column?t.target.y1-e.target.y1:e.target.column-t.target.column:t.circularLinkType===e.circularLinkType&&"bottom"==t.circularLinkType?t.target.column===e.target.column?e.target.y1-t.target.y1:t.target.column-e.target.column:"top"==t.circularLinkType?-1:1:void 0}));var s=i.y0;a.forEach((function(t){t.y0=s+t.width/2,s+=t.width})),a.forEach((function(t,e){if("bottom"==t.circularLinkType){for(var r=e+1,n=0;r<o;r++)n+=a[r].width;t.y0=i.y1-n-t.width/2}}))}))}function U(t,e,r){t.nodes.forEach((function(e){var n=t.links.filter((function(t){return b(t.target,r)==b(e,r)})),i=n.length;i>1&&n.sort((function(t,e){if(!t.circular&&!e.circular){if(t.source.column==e.source.column)return t.y0-e.y0;if(!V(t,e))return t.y0-e.y0;if(e.source.column<t.source.column){var r=D(e,t);return t.y0-r}if(t.source.column<e.source.column)return D(t,e)-e.y0}return t.circular&&!e.circular?"top"==t.circularLinkType?-1:1:e.circular&&!t.circular?"top"==e.circularLinkType?1:-1:t.circular&&e.circular?t.circularLinkType===e.circularLinkType&&"top"==t.circularLinkType?t.source.column===e.source.column?t.source.y1-e.source.y1:t.source.column-e.source.column:t.circularLinkType===e.circularLinkType&&"bottom"==t.circularLinkType?t.source.column===e.source.column?t.source.y1-e.source.y1:e.source.column-t.source.column:"top"==t.circularLinkType?-1:1:void 0}));var a=e.y0;n.forEach((function(t){t.y1=a+t.width/2,a+=t.width})),n.forEach((function(t,r){if("bottom"==t.circularLinkType){for(var a=r+1,o=0;a<i;a++)o+=n[a].width;t.y1=e.y1-o-t.width/2}}))}))}function V(t,e){return q(t)==q(e)}function q(t){return t.y0-t.y1>0?"up":"down"}function H(t,e){return b(t.source,e)==b(t.target,e)}function G(t,r,n){var i=t.nodes,a=t.links,o=!1,s=!1;if(a.forEach((function(t){"top"==t.circularLinkType?o=!0:"bottom"==t.circularLinkType&&(s=!0)})),0==o||0==s){var l=e.min(i,(function(t){return t.y0})),c=(n-r)/(e.max(i,(function(t){return t.y1}))-l);i.forEach((function(t){var e=(t.y1-t.y0)*c;t.y0=(t.y0-l)*c,t.y1=t.y0+e})),a.forEach((function(t){t.y0=(t.y0-l)*c,t.y1=(t.y1-l)*c,t.width=t.width*c}))}}t.sankeyCircular=function(){var t,n,i=0,a=0,b=1,T=1,M=24,A=m,E=o,C=v,L=y,I=32,P=2,z=null;function O(){var t={nodes:C.apply(null,arguments),links:L.apply(null,arguments)};D(t),_(t,A,z),R(t),B(t),w(t,A),N(t,I,A),V(t);for(var e=4,r=0;r<e;r++)j(t,T,A),U(t,T,A),F(t,a,T,A),j(t,T,A),U(t,T,A);return G(t,a,T),S(t,P,T,A),t}function D(t){t.nodes.forEach((function(t,e){t.index=e,t.sourceLinks=[],t.targetLinks=[]}));var e=r.map(t.nodes,A);return t.links.forEach((function(t,r){t.index=r;var n=t.source,i=t.target;"object"!==("undefined"==typeof n?"undefined":l(n))&&(n=t.source=x(e,n)),"object"!==("undefined"==typeof i?"undefined":l(i))&&(i=t.target=x(e,i)),n.sourceLinks.push(t),i.targetLinks.push(t)})),t}function R(t){t.nodes.forEach((function(t){t.partOfCycle=!1,t.value=Math.max(e.sum(t.sourceLinks,h),e.sum(t.targetLinks,h)),t.sourceLinks.forEach((function(e){e.circular&&(t.partOfCycle=!0,t.circularLinkType=e.circularLinkType)})),t.targetLinks.forEach((function(e){e.circular&&(t.partOfCycle=!0,t.circularLinkType=e.circularLinkType)}))}))}function B(t){var e,r,n;for(e=t.nodes,r=[],n=0;e.length;++n,e=r,r=[])e.forEach((function(t){t.depth=n,t.sourceLinks.forEach((function(t){r.indexOf(t.target)<0&&!t.circular&&r.push(t.target)}))}));for(e=t.nodes,r=[],n=0;e.length;++n,e=r,r=[])e.forEach((function(t){t.height=n,t.targetLinks.forEach((function(t){r.indexOf(t.source)<0&&!t.circular&&r.push(t.source)}))}));t.nodes.forEach((function(t){t.column=Math.floor(E.call(null,t,n))}))}function N(o,s,l){var c=r.nest().key((function(t){return t.column})).sortKeys(e.ascending).entries(o.nodes).map((function(t){return t.values}));!function(r){if(n){var s=1/0;c.forEach((function(t){var e=T*n/(t.length+1);s=e<s?e:s})),t=s}var l=e.min(c,(function(r){return(T-a-(r.length-1)*t)/e.sum(r,h)}));l*=.3,o.links.forEach((function(t){t.width=t.value*l}));var u=function(t){var r=0,n=0,i=0,a=0,o=e.max(t.nodes,(function(t){return t.column}));return t.links.forEach((function(t){t.circular&&("top"==t.circularLinkType?r+=t.width:n+=t.width,0==t.target.column&&(a+=t.width),t.source.column==o&&(i+=t.width))})),{top:r=r>0?r+25+10:r,bottom:n=n>0?n+25+10:n,left:a=a>0?a+25+10:a,right:i=i>0?i+25+10:i}}(o),f=function(t,r){var n=e.max(t.nodes,(function(t){return t.column})),o=b-i,s=T-a,l=o/(o+r.right+r.left),c=s/(s+r.top+r.bottom);return i=i*l+r.left,b=0==r.right?b:b*l,a=a*c+r.top,T*=c,t.nodes.forEach((function(t){t.x0=i+t.column*((b-i-M)/n),t.x1=t.x0+M})),c}(o,u);l*=f,o.links.forEach((function(t){t.width=t.value*l})),c.forEach((function(t){var e=t.length;t.forEach((function(t,n){t.depth==c.length-1&&1==e||0==t.depth&&1==e?(t.y0=T/2-t.value*l,t.y1=t.y0+t.value*l):t.partOfCycle?0==k(t,r)?(t.y0=T/2+n,t.y1=t.y0+t.value*l):"top"==t.circularLinkType?(t.y0=a+n,t.y1=t.y0+t.value*l):(t.y0=T-t.value*l-n,t.y1=t.y0+t.value*l):0==u.top||0==u.bottom?(t.y0=(T-a)/e*n,t.y1=t.y0+t.value*l):(t.y0=(T-a)/2-e/2+n,t.y1=t.y0+t.value*l)}))}))}(l),y();for(var u=1,m=s;m>0;--m)v(u*=.99,l),y();function v(t,r){var n=c.length;c.forEach((function(i){var a=i.length,o=i[0].depth;i.forEach((function(i){var s;if(i.sourceLinks.length||i.targetLinks.length)if(i.partOfCycle&&k(i,r)>0);else if(0==o&&1==a)s=i.y1-i.y0,i.y0=T/2-s/2,i.y1=T/2+s/2;else if(o==n-1&&1==a)s=i.y1-i.y0,i.y0=T/2-s/2,i.y1=T/2+s/2;else{var l=e.mean(i.sourceLinks,g),c=e.mean(i.targetLinks,d),u=((l&&c?(l+c)/2:l||c)-p(i))*t;i.y0+=u,i.y1+=u}}))}))}function y(){c.forEach((function(e){var r,n,i,o=a,s=e.length;for(e.sort(f),i=0;i<s;++i)(n=o-(r=e[i]).y0)>0&&(r.y0+=n,r.y1+=n),o=r.y1+t;if((n=o-t-T)>0)for(o=r.y0-=n,r.y1-=n,i=s-2;i>=0;--i)(n=(r=e[i]).y1+t-o)>0&&(r.y0-=n,r.y1-=n),o=r.y0}))}}function V(t){t.nodes.forEach((function(t){t.sourceLinks.sort(u),t.targetLinks.sort(c)})),t.nodes.forEach((function(t){var e=t.y0,r=e,n=t.y1,i=n;t.sourceLinks.forEach((function(t){t.circular?(t.y0=n-t.width/2,n-=t.width):(t.y0=e+t.width/2,e+=t.width)})),t.targetLinks.forEach((function(t){t.circular?(t.y1=i-t.width/2,i-=t.width):(t.y1=r+t.width/2,r+=t.width)}))}))}return O.nodeId=function(t){return arguments.length?(A="function"==typeof t?t:s(t),O):A},O.nodeAlign=function(t){return arguments.length?(E="function"==typeof t?t:s(t),O):E},O.nodeWidth=function(t){return arguments.length?(M=+t,O):M},O.nodePadding=function(e){return arguments.length?(t=+e,O):t},O.nodes=function(t){return arguments.length?(C="function"==typeof t?t:s(t),O):C},O.links=function(t){return arguments.length?(L="function"==typeof t?t:s(t),O):L},O.size=function(t){return arguments.length?(i=a=0,b=+t[0],T=+t[1],O):[b-i,T-a]},O.extent=function(t){return arguments.length?(i=+t[0][0],b=+t[1][0],a=+t[0][1],T=+t[1][1],O):[[i,a],[b,T]]},O.iterations=function(t){return arguments.length?(I=+t,O):I},O.circularLinkGap=function(t){return arguments.length?(P=+t,O):P},O.nodePaddingRatio=function(t){return arguments.length?(n=+t,O):n},O.sortNodes=function(t){return arguments.length?(z=t,O):z},O.update=function(t){return w(t,A),V(t),t.links.forEach((function(t){t.circular&&(t.circularLinkType=t.y0+t.y1<T?"top":"bottom",t.source.circularLinkType=t.circularLinkType,t.target.circularLinkType=t.circularLinkType)})),j(t,T,A,!1),U(t,T,A),S(t,P,T,A),t},O},t.sankeyCenter=function(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?e.min(t.sourceLinks,a)-1:0},t.sankeyLeft=function(t){return t.depth},t.sankeyRight=function(t,e){return e-1-t.height},t.sankeyJustify=o,Object.defineProperty(t,"__esModule",{value:!0})}))},{"d3-array":156,"d3-collection":157,"d3-shape":165,"elementary-circuits-directed-graph":179}],56:[function(t,e,r){!function(n,i){"object"==typeof r&&"undefined"!=typeof e?i(r,t("d3-array"),t("d3-collection"),t("d3-shape")):i(n.d3=n.d3||{},n.d3,n.d3,n.d3)}(this,(function(t,e,r,n){"use strict";function i(t){return t.target.depth}function a(t,e){return t.sourceLinks.length?t.depth:e-1}function o(t){return function(){return t}}function s(t,e){return c(t.source,e.source)||t.index-e.index}function l(t,e){return c(t.target,e.target)||t.index-e.index}function c(t,e){return t.y0-e.y0}function u(t){return t.value}function f(t){return(t.y0+t.y1)/2}function h(t){return f(t.source)*t.value}function p(t){return f(t.target)*t.value}function d(t){return t.index}function g(t){return t.nodes}function m(t){return t.links}function v(t,e){var r=t.get(e);if(!r)throw new Error("missing: "+e);return r}function y(t){return[t.source.x1,t.y0]}function x(t){return[t.target.x0,t.y1]}t.sankey=function(){var t=0,n=0,i=1,y=1,x=24,b=8,_=d,w=a,T=g,k=m,M=32;function A(){var t={nodes:T.apply(null,arguments),links:k.apply(null,arguments)};return S(t),E(t),C(t),L(t),I(t),t}function S(t){t.nodes.forEach((function(t,e){t.index=e,t.sourceLinks=[],t.targetLinks=[]}));var e=r.map(t.nodes,_);t.links.forEach((function(t,r){t.index=r;var n=t.source,i=t.target;"object"!=typeof n&&(n=t.source=v(e,n)),"object"!=typeof i&&(i=t.target=v(e,i)),n.sourceLinks.push(t),i.targetLinks.push(t)}))}function E(t){t.nodes.forEach((function(t){t.value=Math.max(e.sum(t.sourceLinks,u),e.sum(t.targetLinks,u))}))}function C(e){var r,n,a;for(r=e.nodes,n=[],a=0;r.length;++a,r=n,n=[])r.forEach((function(t){t.depth=a,t.sourceLinks.forEach((function(t){n.indexOf(t.target)<0&&n.push(t.target)}))}));for(r=e.nodes,n=[],a=0;r.length;++a,r=n,n=[])r.forEach((function(t){t.height=a,t.targetLinks.forEach((function(t){n.indexOf(t.source)<0&&n.push(t.source)}))}));var o=(i-t-x)/(a-1);e.nodes.forEach((function(e){e.x1=(e.x0=t+Math.max(0,Math.min(a-1,Math.floor(w.call(null,e,a))))*o)+x}))}function L(t){var i=r.nest().key((function(t){return t.x0})).sortKeys(e.ascending).entries(t.nodes).map((function(t){return t.values}));!function(){var r=e.max(i,(function(t){return t.length})),a=2/3*(y-n)/(r-1);b>a&&(b=a);var o=e.min(i,(function(t){return(y-n-(t.length-1)*b)/e.sum(t,u)}));i.forEach((function(t){t.forEach((function(t,e){t.y1=(t.y0=e)+t.value*o}))})),t.links.forEach((function(t){t.width=t.value*o}))}(),d();for(var a=1,o=M;o>0;--o)l(a*=.99),d(),s(a),d();function s(t){i.forEach((function(r){r.forEach((function(r){if(r.targetLinks.length){var n=(e.sum(r.targetLinks,h)/e.sum(r.targetLinks,u)-f(r))*t;r.y0+=n,r.y1+=n}}))}))}function l(t){i.slice().reverse().forEach((function(r){r.forEach((function(r){if(r.sourceLinks.length){var n=(e.sum(r.sourceLinks,p)/e.sum(r.sourceLinks,u)-f(r))*t;r.y0+=n,r.y1+=n}}))}))}function d(){i.forEach((function(t){var e,r,i,a=n,o=t.length;for(t.sort(c),i=0;i<o;++i)(r=a-(e=t[i]).y0)>0&&(e.y0+=r,e.y1+=r),a=e.y1+b;if((r=a-b-y)>0)for(a=e.y0-=r,e.y1-=r,i=o-2;i>=0;--i)(r=(e=t[i]).y1+b-a)>0&&(e.y0-=r,e.y1-=r),a=e.y0}))}}function I(t){t.nodes.forEach((function(t){t.sourceLinks.sort(l),t.targetLinks.sort(s)})),t.nodes.forEach((function(t){var e=t.y0,r=e;t.sourceLinks.forEach((function(t){t.y0=e+t.width/2,e+=t.width})),t.targetLinks.forEach((function(t){t.y1=r+t.width/2,r+=t.width}))}))}return A.update=function(t){return I(t),t},A.nodeId=function(t){return arguments.length?(_="function"==typeof t?t:o(t),A):_},A.nodeAlign=function(t){return arguments.length?(w="function"==typeof t?t:o(t),A):w},A.nodeWidth=function(t){return arguments.length?(x=+t,A):x},A.nodePadding=function(t){return arguments.length?(b=+t,A):b},A.nodes=function(t){return arguments.length?(T="function"==typeof t?t:o(t),A):T},A.links=function(t){return arguments.length?(k="function"==typeof t?t:o(t),A):k},A.size=function(e){return arguments.length?(t=n=0,i=+e[0],y=+e[1],A):[i-t,y-n]},A.extent=function(e){return arguments.length?(t=+e[0][0],i=+e[1][0],n=+e[0][1],y=+e[1][1],A):[[t,n],[i,y]]},A.iterations=function(t){return arguments.length?(M=+t,A):M},A},t.sankeyCenter=function(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?e.min(t.sourceLinks,i)-1:0},t.sankeyLeft=function(t){return t.depth},t.sankeyRight=function(t,e){return e-1-t.height},t.sankeyJustify=a,t.sankeyLinkHorizontal=function(){return n.linkHorizontal().source(y).target(x)},Object.defineProperty(t,"__esModule",{value:!0})}))},{"d3-array":156,"d3-collection":157,"d3-shape":165}],57:[function(t,e,r){"use strict";e.exports=t("./quad")},{"./quad":58}],58:[function(t,e,r){"use strict";var n=t("binary-search-bounds"),i=t("clamp"),a=t("parse-rect"),o=t("array-bounds"),s=t("pick-by-alias"),l=t("defined"),c=t("flatten-vertex-data"),u=t("is-obj"),f=t("dtype"),h=t("math-log2");function p(t,e){for(var r=e[0],n=e[1],a=1/(e[2]-r),o=1/(e[3]-n),s=new Array(t.length),l=0,c=t.length/2;l<c;l++)s[2*l]=i((t[2*l]-r)*a,0,1),s[2*l+1]=i((t[2*l+1]-n)*o,0,1);return s}e.exports=function(t,e){e||(e={}),t=c(t,"float64"),e=s(e,{bounds:"range bounds dataBox databox",maxDepth:"depth maxDepth maxdepth level maxLevel maxlevel levels",dtype:"type dtype format out dst output destination"});var r=l(e.maxDepth,255),i=l(e.bounds,o(t,2));i[0]===i[2]&&i[2]++,i[1]===i[3]&&i[3]++;var d,g=p(t,i),m=t.length>>>1;e.dtype||(e.dtype="array"),"string"==typeof e.dtype?d=new(f(e.dtype))(m):e.dtype&&(d=e.dtype,Array.isArray(d)&&(d.length=m));for(var v=0;v<m;++v)d[v]=v;var y=[],x=[],b=[],_=[];!function t(e,n,i,a,o,s){if(!a.length)return null;var l=y[o]||(y[o]=[]),c=b[o]||(b[o]=[]),u=x[o]||(x[o]=[]),f=l.length;if(++o>r||s>1073741824){for(var h=0;h<a.length;h++)l.push(a[h]),c.push(s),u.push(null,null,null,null);return f}if(l.push(a[0]),c.push(s),a.length<=1)return u.push(null,null,null,null),f;for(var p=.5*i,d=e+p,m=n+p,v=[],_=[],w=[],T=[],k=1,M=a.length;k<M;k++){var A=a[k],S=g[2*A],E=g[2*A+1];S<d?E<m?v.push(A):_.push(A):E<m?w.push(A):T.push(A)}return s<<=2,u.push(t(e,n,p,v,o,s),t(e,m,p,_,o,s+1),t(d,n,p,w,o,s+2),t(d,m,p,T,o,s+3)),f}(0,0,1,d,0,1);for(var w=0,T=0;T<y.length;T++){var k=y[T];if(d.set)d.set(k,w);else for(var M=0,A=k.length;M<A;M++)d[M+w]=k[M];var S=w+y[T].length;_[T]=[w,S],w=S}return d.range=function(){var e,r=[],n=arguments.length;for(;n--;)r[n]=arguments[n];if(u(r[r.length-1])){var o=r.pop();r.length||null==o.x&&null==o.l&&null==o.left||(r=[o],e={}),e=s(o,{level:"level maxLevel",d:"d diam diameter r radius px pxSize pixel pixelSize maxD size minSize",lod:"lod details ranges offsets"})}else e={};r.length||(r=i);var c=a.apply(void 0,r),f=[Math.min(c.x,c.x+c.width),Math.min(c.y,c.y+c.height),Math.max(c.x,c.x+c.width),Math.max(c.y,c.y+c.height)],d=f[0],g=f[1],m=f[2],v=f[3],b=p([d,g,m,v],i),_=b[0],w=b[1],T=b[2],k=b[3],M=l(e.level,y.length);if(null!=e.d){var A;"number"==typeof e.d?A=[e.d,e.d]:e.d.length&&(A=e.d),M=Math.min(Math.max(Math.ceil(-h(Math.abs(A[0])/(i[2]-i[0]))),Math.ceil(-h(Math.abs(A[1])/(i[3]-i[1])))),M)}if(M=Math.min(M,y.length),e.lod)return E(_,w,T,k,M);var S=[];function C(e,r,n,i,a,o){if(null!==a&&null!==o&&!(_>e+n||w>r+n||T<e||k<r||i>=M||a===o)){var s=y[i];void 0===o&&(o=s.length);for(var l=a;l<o;l++){var c=s[l],u=t[2*c],f=t[2*c+1];u>=d&&u<=m&&f>=g&&f<=v&&S.push(c)}var h=x[i],p=h[4*a+0],b=h[4*a+1],A=h[4*a+2],E=h[4*a+3],I=L(h,a+1),P=.5*n,z=i+1;C(e,r,P,z,p,b||A||E||I),C(e,r+P,P,z,b,A||E||I),C(e+P,r,P,z,A,E||I),C(e+P,r+P,P,z,E,I)}}function L(t,e){for(var r=null,n=0;null===r;)if(r=t[4*e+n],++n>t.length)return null;return r}return C(0,0,1,0,0,1),S},d;function E(t,e,r,i,a){for(var o=[],s=0;s<a;s++){var l=b[s],c=_[s][0],u=C(t,e,s),f=C(r,i,s),h=n.ge(l,u),p=n.gt(l,f,h,l.length-1);o[s]=[h+c,p+c]}return o}function C(t,e,r){for(var n=1,i=.5,a=.5,o=.5,s=0;s<r;s++)n<<=2,n+=t<i?e<a?0:1:e<a?2:3,o*=.5,i+=t<i?-o:o,a+=e<a?-o:o;return n}}},{"array-bounds":70,"binary-search-bounds":96,clamp:120,defined:170,dtype:175,"flatten-vertex-data":244,"is-obj":468,"math-log2":479,"parse-rect":504,"pick-by-alias":511}],59:[function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=t("@turf/meta");function i(t){var e=0;if(t&&t.length>0){e+=Math.abs(a(t[0]));for(var r=1;r<t.length;r++)e-=Math.abs(a(t[r]))}return e}function a(t){var e,r,n,i,a,s,l=0,c=t.length;if(c>2){for(s=0;s<c;s++)s===c-2?(n=c-2,i=c-1,a=0):s===c-1?(n=c-1,i=0,a=1):(n=s,i=s+1,a=s+2),e=t[n],r=t[i],l+=(o(t[a][0])-o(e[0]))*Math.sin(o(r[1]));l=6378137*l*6378137/2}return l}function o(t){return t*Math.PI/180}r.default=function(t){return n.geomReduce(t,(function(t,e){return t+function(t){var e,r=0;switch(t.type){case"Polygon":return i(t.coordinates);case"MultiPolygon":for(e=0;e<t.coordinates.length;e++)r+=i(t.coordinates[e]);return r;case"Point":case"MultiPoint":case"LineString":case"MultiLineString":return 0}return 0}(e)}),0)}},{"@turf/meta":63}],60:[function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=t("@turf/meta");r.default=function(t){var e=[1/0,1/0,-1/0,-1/0];return n.coordEach(t,(function(t){e[0]>t[0]&&(e[0]=t[0]),e[1]>t[1]&&(e[1]=t[1]),e[2]<t[0]&&(e[2]=t[0]),e[3]<t[1]&&(e[3]=t[1])})),e}},{"@turf/meta":63}],61:[function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=t("@turf/meta"),i=t("@turf/helpers");r.default=function(t,e){void 0===e&&(e={});var r=0,a=0,o=0;return n.coordEach(t,(function(t){r+=t[0],a+=t[1],o++})),i.point([r/o,a/o],e.properties)}},{"@turf/helpers":62,"@turf/meta":63}],62:[function(t,e,r){"use strict";function n(t,e,r){void 0===r&&(r={});var n={type:"Feature"};return(0===r.id||r.id)&&(n.id=r.id),r.bbox&&(n.bbox=r.bbox),n.properties=e||{},n.geometry=t,n}function i(t,e,r){return void 0===r&&(r={}),n({type:"Point",coordinates:t},e,r)}function a(t,e,r){void 0===r&&(r={});for(var i=0,a=t;i<a.length;i++){var o=a[i];if(o.length<4)throw new Error("Each LinearRing of a Polygon must have 4 or more Positions.");for(var s=0;s<o[o.length-1].length;s++)if(o[o.length-1][s]!==o[0][s])throw new Error("First and last Position are not equivalent.")}return n({type:"Polygon",coordinates:t},e,r)}function o(t,e,r){if(void 0===r&&(r={}),t.length<2)throw new Error("coordinates must be an array of two or more positions");return n({type:"LineString",coordinates:t},e,r)}function s(t,e){void 0===e&&(e={});var r={type:"FeatureCollection"};return e.id&&(r.id=e.id),e.bbox&&(r.bbox=e.bbox),r.features=t,r}function l(t,e,r){return void 0===r&&(r={}),n({type:"MultiLineString",coordinates:t},e,r)}function c(t,e,r){return void 0===r&&(r={}),n({type:"MultiPoint",coordinates:t},e,r)}function u(t,e,r){return void 0===r&&(r={}),n({type:"MultiPolygon",coordinates:t},e,r)}function f(t,e){void 0===e&&(e="kilometers");var n=r.factors[e];if(!n)throw new Error(e+" units is invalid");return t*n}function h(t,e){void 0===e&&(e="kilometers");var n=r.factors[e];if(!n)throw new Error(e+" units is invalid");return t/n}function p(t){return 180*(t%(2*Math.PI))/Math.PI}function d(t){return!isNaN(t)&&null!==t&&!Array.isArray(t)&&!/^\s*$/.test(t)}Object.defineProperty(r,"__esModule",{value:!0}),r.earthRadius=6371008.8,r.factors={centimeters:100*r.earthRadius,centimetres:100*r.earthRadius,degrees:r.earthRadius/111325,feet:3.28084*r.earthRadius,inches:39.37*r.earthRadius,kilometers:r.earthRadius/1e3,kilometres:r.earthRadius/1e3,meters:r.earthRadius,metres:r.earthRadius,miles:r.earthRadius/1609.344,millimeters:1e3*r.earthRadius,millimetres:1e3*r.earthRadius,nauticalmiles:r.earthRadius/1852,radians:1,yards:r.earthRadius/1.0936},r.unitsFactors={centimeters:100,centimetres:100,degrees:1/111325,feet:3.28084,inches:39.37,kilometers:.001,kilometres:.001,meters:1,metres:1,miles:1/1609.344,millimeters:1e3,millimetres:1e3,nauticalmiles:1/1852,radians:1/r.earthRadius,yards:1/1.0936},r.areaFactors={acres:247105e-9,centimeters:1e4,centimetres:1e4,feet:10.763910417,inches:1550.003100006,kilometers:1e-6,kilometres:1e-6,meters:1,metres:1,miles:386e-9,millimeters:1e6,millimetres:1e6,yards:1.195990046},r.feature=n,r.geometry=function(t,e,r){switch(void 0===r&&(r={}),t){case"Point":return i(e).geometry;case"LineString":return o(e).geometry;case"Polygon":return a(e).geometry;case"MultiPoint":return c(e).geometry;case"MultiLineString":return l(e).geometry;case"MultiPolygon":return u(e).geometry;default:throw new Error(t+" is invalid")}},r.point=i,r.points=function(t,e,r){return void 0===r&&(r={}),s(t.map((function(t){return i(t,e)})),r)},r.polygon=a,r.polygons=function(t,e,r){return void 0===r&&(r={}),s(t.map((function(t){return a(t,e)})),r)},r.lineString=o,r.lineStrings=function(t,e,r){return void 0===r&&(r={}),s(t.map((function(t){return o(t,e)})),r)},r.featureCollection=s,r.multiLineString=l,r.multiPoint=c,r.multiPolygon=u,r.geometryCollection=function(t,e,r){return void 0===r&&(r={}),n({type:"GeometryCollection",geometries:t},e,r)},r.round=function(t,e){if(void 0===e&&(e=0),e&&!(e>=0))throw new Error("precision must be a positive number");var r=Math.pow(10,e||0);return Math.round(t*r)/r},r.radiansToLength=f,r.lengthToRadians=h,r.lengthToDegrees=function(t,e){return p(h(t,e))},r.bearingToAzimuth=function(t){var e=t%360;return e<0&&(e+=360),e},r.radiansToDegrees=p,r.degreesToRadians=function(t){return t%360*Math.PI/180},r.convertLength=function(t,e,r){if(void 0===e&&(e="kilometers"),void 0===r&&(r="kilometers"),!(t>=0))throw new Error("length must be a positive number");return f(h(t,e),r)},r.convertArea=function(t,e,n){if(void 0===e&&(e="meters"),void 0===n&&(n="kilometers"),!(t>=0))throw new Error("area must be a positive number");var i=r.areaFactors[e];if(!i)throw new Error("invalid original units");var a=r.areaFactors[n];if(!a)throw new Error("invalid final units");return t/i*a},r.isNumber=d,r.isObject=function(t){return!!t&&t.constructor===Object},r.validateBBox=function(t){if(!t)throw new Error("bbox is required");if(!Array.isArray(t))throw new Error("bbox must be an Array");if(4!==t.length&&6!==t.length)throw new Error("bbox must be an Array of 4 or 6 numbers");t.forEach((function(t){if(!d(t))throw new Error("bbox must only contain numbers")}))},r.validateId=function(t){if(!t)throw new Error("id is required");if(-1===["string","number"].indexOf(typeof t))throw new Error("id must be a number or a string")},r.radians2degrees=function(){throw new Error("method has been renamed to `radiansToDegrees`")},r.degrees2radians=function(){throw new Error("method has been renamed to `degreesToRadians`")},r.distanceToDegrees=function(){throw new Error("method has been renamed to `lengthToDegrees`")},r.distanceToRadians=function(){throw new Error("method has been renamed to `lengthToRadians`")},r.radiansToDistance=function(){throw new Error("method has been renamed to `radiansToLength`")},r.bearingToAngle=function(){throw new Error("method has been renamed to `bearingToAzimuth`")},r.convertDistance=function(){throw new Error("method has been renamed to `convertLength`")}},{}],63:[function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=t("@turf/helpers");function i(t,e,r){if(null!==t)for(var n,a,o,s,l,c,u,f,h=0,p=0,d=t.type,g="FeatureCollection"===d,m="Feature"===d,v=g?t.features.length:1,y=0;y<v;y++){l=(f=!!(u=g?t.features[y].geometry:m?t.geometry:t)&&"GeometryCollection"===u.type)?u.geometries.length:1;for(var x=0;x<l;x++){var b=0,_=0;if(null!==(s=f?u.geometries[x]:u)){c=s.coordinates;var w=s.type;switch(h=!r||"Polygon"!==w&&"MultiPolygon"!==w?0:1,w){case null:break;case"Point":if(!1===e(c,p,y,b,_))return!1;p++,b++;break;case"LineString":case"MultiPoint":for(n=0;n<c.length;n++){if(!1===e(c[n],p,y,b,_))return!1;p++,"MultiPoint"===w&&b++}"LineString"===w&&b++;break;case"Polygon":case"MultiLineString":for(n=0;n<c.length;n++){for(a=0;a<c[n].length-h;a++){if(!1===e(c[n][a],p,y,b,_))return!1;p++}"MultiLineString"===w&&b++,"Polygon"===w&&_++}"Polygon"===w&&b++;break;case"MultiPolygon":for(n=0;n<c.length;n++){for(_=0,a=0;a<c[n].length;a++){for(o=0;o<c[n][a].length-h;o++){if(!1===e(c[n][a][o],p,y,b,_))return!1;p++}_++}b++}break;case"GeometryCollection":for(n=0;n<s.geometries.length;n++)if(!1===i(s.geometries[n],e,r))return!1;break;default:throw new Error("Unknown Geometry Type")}}}}}function a(t,e){var r;switch(t.type){case"FeatureCollection":for(r=0;r<t.features.length&&!1!==e(t.features[r].properties,r);r++);break;case"Feature":e(t.properties,0)}}function o(t,e){if("Feature"===t.type)e(t,0);else if("FeatureCollection"===t.type)for(var r=0;r<t.features.length&&!1!==e(t.features[r],r);r++);}function s(t,e){var r,n,i,a,o,s,l,c,u,f,h=0,p="FeatureCollection"===t.type,d="Feature"===t.type,g=p?t.features.length:1;for(r=0;r<g;r++){for(s=p?t.features[r].geometry:d?t.geometry:t,c=p?t.features[r].properties:d?t.properties:{},u=p?t.features[r].bbox:d?t.bbox:void 0,f=p?t.features[r].id:d?t.id:void 0,o=(l=!!s&&"GeometryCollection"===s.type)?s.geometries.length:1,i=0;i<o;i++)if(null!==(a=l?s.geometries[i]:s))switch(a.type){case"Point":case"LineString":case"MultiPoint":case"Polygon":case"MultiLineString":case"MultiPolygon":if(!1===e(a,h,c,u,f))return!1;break;case"GeometryCollection":for(n=0;n<a.geometries.length;n++)if(!1===e(a.geometries[n],h,c,u,f))return!1;break;default:throw new Error("Unknown Geometry Type")}else if(!1===e(null,h,c,u,f))return!1;h++}}function l(t,e){s(t,(function(t,r,i,a,o){var s,l=null===t?null:t.type;switch(l){case null:case"Point":case"LineString":case"Polygon":return!1!==e(n.feature(t,i,{bbox:a,id:o}),r,0)&&void 0}switch(l){case"MultiPoint":s="Point";break;case"MultiLineString":s="LineString";break;case"MultiPolygon":s="Polygon"}for(var c=0;c<t.coordinates.length;c++){var u={type:s,coordinates:t.coordinates[c]};if(!1===e(n.feature(u,i),r,c))return!1}}))}function c(t,e){l(t,(function(t,r,a){var o=0;if(t.geometry){var s=t.geometry.type;if("Point"!==s&&"MultiPoint"!==s){var l,c=0,u=0,f=0;return!1!==i(t,(function(i,s,h,p,d){if(void 0===l||r>c||p>u||d>f)return l=i,c=r,u=p,f=d,void(o=0);var g=n.lineString([l,i],t.properties);if(!1===e(g,r,a,d,o))return!1;o++,l=i}))&&void 0}}}))}function u(t,e){if(!t)throw new Error("geojson is required");l(t,(function(t,r,i){if(null!==t.geometry){var a=t.geometry.type,o=t.geometry.coordinates;switch(a){case"LineString":if(!1===e(t,r,i,0,0))return!1;break;case"Polygon":for(var s=0;s<o.length;s++)if(!1===e(n.lineString(o[s],t.properties),r,i,s))return!1}}}))}r.coordEach=i,r.coordReduce=function(t,e,r,n){var a=r;return i(t,(function(t,n,i,o,s){a=0===n&&void 0===r?t:e(a,t,n,i,o,s)}),n),a},r.propEach=a,r.propReduce=function(t,e,r){var n=r;return a(t,(function(t,i){n=0===i&&void 0===r?t:e(n,t,i)})),n},r.featureEach=o,r.featureReduce=function(t,e,r){var n=r;return o(t,(function(t,i){n=0===i&&void 0===r?t:e(n,t,i)})),n},r.coordAll=function(t){var e=[];return i(t,(function(t){e.push(t)})),e},r.geomEach=s,r.geomReduce=function(t,e,r){var n=r;return s(t,(function(t,i,a,o,s){n=0===i&&void 0===r?t:e(n,t,i,a,o,s)})),n},r.flattenEach=l,r.flattenReduce=function(t,e,r){var n=r;return l(t,(function(t,i,a){n=0===i&&0===a&&void 0===r?t:e(n,t,i,a)})),n},r.segmentEach=c,r.segmentReduce=function(t,e,r){var n=r,i=!1;return c(t,(function(t,a,o,s,l){n=!1===i&&void 0===r?t:e(n,t,a,o,s,l),i=!0})),n},r.lineEach=u,r.lineReduce=function(t,e,r){var n=r;return u(t,(function(t,i,a,o){n=0===i&&void 0===r?t:e(n,t,i,a,o)})),n},r.findSegment=function(t,e){if(e=e||{},!n.isObject(e))throw new Error("options is invalid");var r,i=e.featureIndex||0,a=e.multiFeatureIndex||0,o=e.geometryIndex||0,s=e.segmentIndex||0,l=e.properties;switch(t.type){case"FeatureCollection":i<0&&(i=t.features.length+i),l=l||t.features[i].properties,r=t.features[i].geometry;break;case"Feature":l=l||t.properties,r=t.geometry;break;case"Point":case"MultiPoint":return null;case"LineString":case"Polygon":case"MultiLineString":case"MultiPolygon":r=t;break;default:throw new Error("geojson is invalid")}if(null===r)return null;var c=r.coordinates;switch(r.type){case"Point":case"MultiPoint":return null;case"LineString":return s<0&&(s=c.length+s-1),n.lineString([c[s],c[s+1]],l,e);case"Polygon":return o<0&&(o=c.length+o),s<0&&(s=c[o].length+s-1),n.lineString([c[o][s],c[o][s+1]],l,e);case"MultiLineString":return a<0&&(a=c.length+a),s<0&&(s=c[a].length+s-1),n.lineString([c[a][s],c[a][s+1]],l,e);case"MultiPolygon":return a<0&&(a=c.length+a),o<0&&(o=c[a].length+o),s<0&&(s=c[a][o].length-s-1),n.lineString([c[a][o][s],c[a][o][s+1]],l,e)}throw new Error("geojson is invalid")},r.findPoint=function(t,e){if(e=e||{},!n.isObject(e))throw new Error("options is invalid");var r,i=e.featureIndex||0,a=e.multiFeatureIndex||0,o=e.geometryIndex||0,s=e.coordIndex||0,l=e.properties;switch(t.type){case"FeatureCollection":i<0&&(i=t.features.length+i),l=l||t.features[i].properties,r=t.features[i].geometry;break;case"Feature":l=l||t.properties,r=t.geometry;break;case"Point":case"MultiPoint":return null;case"LineString":case"Polygon":case"MultiLineString":case"MultiPolygon":r=t;break;default:throw new Error("geojson is invalid")}if(null===r)return null;var c=r.coordinates;switch(r.type){case"Point":return n.point(c,l,e);case"MultiPoint":return a<0&&(a=c.length+a),n.point(c[a],l,e);case"LineString":return s<0&&(s=c.length+s),n.point(c[s],l,e);case"Polygon":return o<0&&(o=c.length+o),s<0&&(s=c[o].length+s),n.point(c[o][s],l,e);case"MultiLineString":return a<0&&(a=c.length+a),s<0&&(s=c[a].length+s),n.point(c[a][s],l,e);case"MultiPolygon":return a<0&&(a=c.length+a),o<0&&(o=c[a].length+o),s<0&&(s=c[a][o].length-s),n.point(c[a][o][s],l,e)}throw new Error("geojson is invalid")}},{"@turf/helpers":62}],64:[function(t,e,r){"use strict";var n="undefined"==typeof WeakMap?t("weak-map"):WeakMap,i=t("gl-buffer"),a=t("gl-vao"),o=new n;e.exports=function(t){var e=o.get(t),r=e&&(e._triangleBuffer.handle||e._triangleBuffer.buffer);if(!r||!t.isBuffer(r)){var n=i(t,new Float32Array([-1,-1,-1,4,4,-1]));(e=a(t,[{buffer:n,type:t.FLOAT,size:2}]))._triangleBuffer=n,o.set(t,e)}e.bind(),t.drawArrays(t.TRIANGLES,0,3),e.unbind()}},{"gl-buffer":259,"gl-vao":358,"weak-map":602}],65:[function(t,e,r){e.exports=function(t){var e=0,r=0,n=0,i=0;return t.map((function(t){var a=(t=t.slice())[0],o=a.toUpperCase();if(a!=o)switch(t[0]=o,a){case"a":t[6]+=n,t[7]+=i;break;case"v":t[1]+=i;break;case"h":t[1]+=n;break;default:for(var s=1;s<t.length;)t[s++]+=n,t[s++]+=i}switch(o){case"Z":n=e,i=r;break;case"H":n=t[1];break;case"V":i=t[1];break;case"M":n=e=t[1],i=r=t[2];break;default:n=t[t.length-2],i=t[t.length-1]}return t}))}},{}],66:[function(t,e,r){var n=t("pad-left");e.exports=function(t,e,r){e="number"==typeof e?e:1,r=r||": ";var i=t.split(/\r?\n/),a=String(i.length+e-1).length;return i.map((function(t,i){var o=i+e,s=String(o).length;return n(o,a-s)+r+t})).join("\n")}},{"pad-left":502}],67:[function(t,e,r){"use strict";e.exports=function(t){var e=t.length;if(0===e)return[];if(1===e)return[0];for(var r=t[0].length,n=[t[0]],a=[0],o=1;o<e;++o)if(n.push(t[o]),i(n,r)){if(a.push(o),a.length===r+1)return a}else n.pop();return a};var n=t("robust-orientation");function i(t,e){for(var r=new Array(e+1),i=0;i<t.length;++i)r[i]=t[i];for(i=0;i<=t.length;++i){for(var a=t.length;a<=e;++a){for(var o=new Array(e),s=0;s<e;++s)o[s]=Math.pow(a+1-i,s);r[a]=o}if(n.apply(void 0,r))return!0}return!1}},{"robust-orientation":548}],68:[function(t,e,r){"use strict";e.exports=function(t,e){return n(e).filter((function(r){for(var n=new Array(r.length),a=0;a<r.length;++a)n[a]=e[r[a]];return i(n)*t<1}))};var n=t("delaunay-triangulate"),i=t("circumradius")},{circumradius:119,"delaunay-triangulate":171}],69:[function(t,e,r){e.exports=function(t,e){return i(n(t,e))};var n=t("alpha-complex"),i=t("simplicial-complex-boundary")},{"alpha-complex":68,"simplicial-complex-boundary":555}],70:[function(t,e,r){"use strict";e.exports=function(t,e){if(!t||null==t.length)throw Error("Argument should be an array");e=null==e?1:Math.floor(e);for(var r=Array(2*e),n=0;n<e;n++){for(var i=-1/0,a=1/0,o=n,s=t.length;o<s;o+=e)t[o]>i&&(i=t[o]),t[o]<a&&(a=t[o]);r[n]=a,r[e+n]=i}return r}},{}],71:[function(t,e,r){"use strict";var n=t("array-bounds");e.exports=function(t,e,r){if(!t||null==t.length)throw Error("Argument should be an array");null==e&&(e=1);null==r&&(r=n(t,e));for(var i=0;i<e;i++){var a=r[e+i],o=r[i],s=i,l=t.length;if(a===1/0&&o===-1/0)for(s=i;s<l;s+=e)t[s]=t[s]===a?1:t[s]===o?0:.5;else if(a===1/0)for(s=i;s<l;s+=e)t[s]=t[s]===a?1:0;else if(o===-1/0)for(s=i;s<l;s+=e)t[s]=t[s]===o?0:1;else{var c=a-o;for(s=i;s<l;s+=e)isNaN(t[s])||(t[s]=0===c?.5:(t[s]-o)/c)}}return t}},{"array-bounds":70}],72:[function(t,e,r){e.exports=function(t,e){var r="number"==typeof t,n="number"==typeof e;r&&!n?(e=t,t=0):r||n||(t=0,e=0);var i=(e|=0)-(t|=0);if(i<0)throw new Error("array length must be positive");for(var a=new Array(i),o=0,s=t;o<i;o++,s++)a[o]=s;return a}},{}],73:[function(t,e,r){(function(r){(function(){"use strict";var n=t("object-assign"); +/*! + * The buffer module from node.js, for the browser. + * + * @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org> + * @license MIT + */function i(t,e){if(t===e)return 0;for(var r=t.length,n=e.length,i=0,a=Math.min(r,n);i<a;++i)if(t[i]!==e[i]){r=t[i],n=e[i];break}return r<n?-1:n<r?1:0}function a(t){return r.Buffer&&"function"==typeof r.Buffer.isBuffer?r.Buffer.isBuffer(t):!(null==t||!t._isBuffer)}var o=t("util/"),s=Object.prototype.hasOwnProperty,l=Array.prototype.slice,c="foo"===function(){}.name;function u(t){return Object.prototype.toString.call(t)}function f(t){return!a(t)&&("function"==typeof r.ArrayBuffer&&("function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(t):!!t&&(t instanceof DataView||!!(t.buffer&&t.buffer instanceof ArrayBuffer))))}var h=e.exports=y,p=/\s*function\s+([^\(\s]*)\s*/;function d(t){if(o.isFunction(t)){if(c)return t.name;var e=t.toString().match(p);return e&&e[1]}}function g(t,e){return"string"==typeof t?t.length<e?t:t.slice(0,e):t}function m(t){if(c||!o.isFunction(t))return o.inspect(t);var e=d(t);return"[Function"+(e?": "+e:"")+"]"}function v(t,e,r,n,i){throw new h.AssertionError({message:r,actual:t,expected:e,operator:n,stackStartFunction:i})}function y(t,e){t||v(t,!0,e,"==",h.ok)}function x(t,e,r,n){if(t===e)return!0;if(a(t)&&a(e))return 0===i(t,e);if(o.isDate(t)&&o.isDate(e))return t.getTime()===e.getTime();if(o.isRegExp(t)&&o.isRegExp(e))return t.source===e.source&&t.global===e.global&&t.multiline===e.multiline&&t.lastIndex===e.lastIndex&&t.ignoreCase===e.ignoreCase;if(null!==t&&"object"==typeof t||null!==e&&"object"==typeof e){if(f(t)&&f(e)&&u(t)===u(e)&&!(t instanceof Float32Array||t instanceof Float64Array))return 0===i(new Uint8Array(t.buffer),new Uint8Array(e.buffer));if(a(t)!==a(e))return!1;var s=(n=n||{actual:[],expected:[]}).actual.indexOf(t);return-1!==s&&s===n.expected.indexOf(e)||(n.actual.push(t),n.expected.push(e),function(t,e,r,n){if(null==t||null==e)return!1;if(o.isPrimitive(t)||o.isPrimitive(e))return t===e;if(r&&Object.getPrototypeOf(t)!==Object.getPrototypeOf(e))return!1;var i=b(t),a=b(e);if(i&&!a||!i&&a)return!1;if(i)return t=l.call(t),e=l.call(e),x(t,e,r);var s,c,u=T(t),f=T(e);if(u.length!==f.length)return!1;for(u.sort(),f.sort(),c=u.length-1;c>=0;c--)if(u[c]!==f[c])return!1;for(c=u.length-1;c>=0;c--)if(s=u[c],!x(t[s],e[s],r,n))return!1;return!0}(t,e,r,n))}return r?t===e:t==e}function b(t){return"[object Arguments]"==Object.prototype.toString.call(t)}function _(t,e){if(!t||!e)return!1;if("[object RegExp]"==Object.prototype.toString.call(e))return e.test(t);try{if(t instanceof e)return!0}catch(t){}return!Error.isPrototypeOf(e)&&!0===e.call({},t)}function w(t,e,r,n){var i;if("function"!=typeof e)throw new TypeError('"block" argument must be a function');"string"==typeof r&&(n=r,r=null),i=function(t){var e;try{t()}catch(t){e=t}return e}(e),n=(r&&r.name?" ("+r.name+").":".")+(n?" "+n:"."),t&&!i&&v(i,r,"Missing expected exception"+n);var a="string"==typeof n,s=!t&&i&&!r;if((!t&&o.isError(i)&&a&&_(i,r)||s)&&v(i,r,"Got unwanted exception"+n),t&&i&&r&&!_(i,r)||!t&&i)throw i}h.AssertionError=function(t){this.name="AssertionError",this.actual=t.actual,this.expected=t.expected,this.operator=t.operator,t.message?(this.message=t.message,this.generatedMessage=!1):(this.message=function(t){return g(m(t.actual),128)+" "+t.operator+" "+g(m(t.expected),128)}(this),this.generatedMessage=!0);var e=t.stackStartFunction||v;if(Error.captureStackTrace)Error.captureStackTrace(this,e);else{var r=new Error;if(r.stack){var n=r.stack,i=d(e),a=n.indexOf("\n"+i);if(a>=0){var o=n.indexOf("\n",a+1);n=n.substring(o+1)}this.stack=n}}},o.inherits(h.AssertionError,Error),h.fail=v,h.ok=y,h.equal=function(t,e,r){t!=e&&v(t,e,r,"==",h.equal)},h.notEqual=function(t,e,r){t==e&&v(t,e,r,"!=",h.notEqual)},h.deepEqual=function(t,e,r){x(t,e,!1)||v(t,e,r,"deepEqual",h.deepEqual)},h.deepStrictEqual=function(t,e,r){x(t,e,!0)||v(t,e,r,"deepStrictEqual",h.deepStrictEqual)},h.notDeepEqual=function(t,e,r){x(t,e,!1)&&v(t,e,r,"notDeepEqual",h.notDeepEqual)},h.notDeepStrictEqual=function t(e,r,n){x(e,r,!0)&&v(e,r,n,"notDeepStrictEqual",t)},h.strictEqual=function(t,e,r){t!==e&&v(t,e,r,"===",h.strictEqual)},h.notStrictEqual=function(t,e,r){t===e&&v(t,e,r,"!==",h.notStrictEqual)},h.throws=function(t,e,r){w(!0,t,e,r)},h.doesNotThrow=function(t,e,r){w(!1,t,e,r)},h.ifError=function(t){if(t)throw t},h.strict=n((function t(e,r){e||v(e,!0,r,"==",t)}),h,{equal:h.strictEqual,deepEqual:h.deepStrictEqual,notEqual:h.notStrictEqual,notDeepEqual:h.notDeepStrictEqual}),h.strict.strict=h.strict;var T=Object.keys||function(t){var e=[];for(var r in t)s.call(t,r)&&e.push(r);return e}}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"object-assign":499,"util/":76}],74:[function(t,e,r){"function"==typeof Object.create?e.exports=function(t,e){t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}},{}],75:[function(t,e,r){e.exports=function(t){return t&&"object"==typeof t&&"function"==typeof t.copy&&"function"==typeof t.fill&&"function"==typeof t.readUInt8}},{}],76:[function(t,e,r){(function(e,n){(function(){var i=/%[sdj%]/g;r.format=function(t){if(!v(t)){for(var e=[],r=0;r<arguments.length;r++)e.push(s(arguments[r]));return e.join(" ")}r=1;for(var n=arguments,a=n.length,o=String(t).replace(i,(function(t){if("%%"===t)return"%";if(r>=a)return t;switch(t){case"%s":return String(n[r++]);case"%d":return Number(n[r++]);case"%j":try{return JSON.stringify(n[r++])}catch(t){return"[Circular]"}default:return t}})),l=n[r];r<a;l=n[++r])g(l)||!b(l)?o+=" "+l:o+=" "+s(l);return o},r.deprecate=function(t,i){if(y(n.process))return function(){return r.deprecate(t,i).apply(this,arguments)};if(!0===e.noDeprecation)return t;var a=!1;return function(){if(!a){if(e.throwDeprecation)throw new Error(i);e.traceDeprecation?console.trace(i):console.error(i),a=!0}return t.apply(this,arguments)}};var a,o={};function s(t,e){var n={seen:[],stylize:c};return arguments.length>=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),d(e)?n.showHidden=e:e&&r._extend(n,e),y(n.showHidden)&&(n.showHidden=!1),y(n.depth)&&(n.depth=2),y(n.colors)&&(n.colors=!1),y(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=l),u(n,t,n.depth)}function l(t,e){var r=s.styles[e];return r?"\x1b["+s.colors[r][0]+"m"+t+"\x1b["+s.colors[r][1]+"m":t}function c(t,e){return t}function u(t,e,n){if(t.customInspect&&e&&T(e.inspect)&&e.inspect!==r.inspect&&(!e.constructor||e.constructor.prototype!==e)){var i=e.inspect(n,t);return v(i)||(i=u(t,i,n)),i}var a=function(t,e){if(y(e))return t.stylize("undefined","undefined");if(v(e)){var r="'"+JSON.stringify(e).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return t.stylize(r,"string")}if(m(e))return t.stylize(""+e,"number");if(d(e))return t.stylize(""+e,"boolean");if(g(e))return t.stylize("null","null")}(t,e);if(a)return a;var o=Object.keys(e),s=function(t){var e={};return t.forEach((function(t,r){e[t]=!0})),e}(o);if(t.showHidden&&(o=Object.getOwnPropertyNames(e)),w(e)&&(o.indexOf("message")>=0||o.indexOf("description")>=0))return f(e);if(0===o.length){if(T(e)){var l=e.name?": "+e.name:"";return t.stylize("[Function"+l+"]","special")}if(x(e))return t.stylize(RegExp.prototype.toString.call(e),"regexp");if(_(e))return t.stylize(Date.prototype.toString.call(e),"date");if(w(e))return f(e)}var c,b="",k=!1,M=["{","}"];(p(e)&&(k=!0,M=["[","]"]),T(e))&&(b=" [Function"+(e.name?": "+e.name:"")+"]");return x(e)&&(b=" "+RegExp.prototype.toString.call(e)),_(e)&&(b=" "+Date.prototype.toUTCString.call(e)),w(e)&&(b=" "+f(e)),0!==o.length||k&&0!=e.length?n<0?x(e)?t.stylize(RegExp.prototype.toString.call(e),"regexp"):t.stylize("[Object]","special"):(t.seen.push(e),c=k?function(t,e,r,n,i){for(var a=[],o=0,s=e.length;o<s;++o)E(e,String(o))?a.push(h(t,e,r,n,String(o),!0)):a.push("");return i.forEach((function(i){i.match(/^\d+$/)||a.push(h(t,e,r,n,i,!0))})),a}(t,e,n,s,o):o.map((function(r){return h(t,e,n,s,r,k)})),t.seen.pop(),function(t,e,r){if(t.reduce((function(t,e){return e.indexOf("\n")>=0&&0,t+e.replace(/\u001b\[\d\d?m/g,"").length+1}),0)>60)return r[0]+(""===e?"":e+"\n ")+" "+t.join(",\n ")+" "+r[1];return r[0]+e+" "+t.join(", ")+" "+r[1]}(c,b,M)):M[0]+b+M[1]}function f(t){return"["+Error.prototype.toString.call(t)+"]"}function h(t,e,r,n,i,a){var o,s,l;if((l=Object.getOwnPropertyDescriptor(e,i)||{value:e[i]}).get?s=l.set?t.stylize("[Getter/Setter]","special"):t.stylize("[Getter]","special"):l.set&&(s=t.stylize("[Setter]","special")),E(n,i)||(o="["+i+"]"),s||(t.seen.indexOf(l.value)<0?(s=g(r)?u(t,l.value,null):u(t,l.value,r-1)).indexOf("\n")>-1&&(s=a?s.split("\n").map((function(t){return" "+t})).join("\n").substr(2):"\n"+s.split("\n").map((function(t){return" "+t})).join("\n")):s=t.stylize("[Circular]","special")),y(o)){if(a&&i.match(/^\d+$/))return s;(o=JSON.stringify(""+i)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(o=o.substr(1,o.length-2),o=t.stylize(o,"name")):(o=o.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),o=t.stylize(o,"string"))}return o+": "+s}function p(t){return Array.isArray(t)}function d(t){return"boolean"==typeof t}function g(t){return null===t}function m(t){return"number"==typeof t}function v(t){return"string"==typeof t}function y(t){return void 0===t}function x(t){return b(t)&&"[object RegExp]"===k(t)}function b(t){return"object"==typeof t&&null!==t}function _(t){return b(t)&&"[object Date]"===k(t)}function w(t){return b(t)&&("[object Error]"===k(t)||t instanceof Error)}function T(t){return"function"==typeof t}function k(t){return Object.prototype.toString.call(t)}function M(t){return t<10?"0"+t.toString(10):t.toString(10)}r.debuglog=function(t){if(y(a)&&(a=e.env.NODE_DEBUG||""),t=t.toUpperCase(),!o[t])if(new RegExp("\\b"+t+"\\b","i").test(a)){var n=e.pid;o[t]=function(){var e=r.format.apply(r,arguments);console.error("%s %d: %s",t,n,e)}}else o[t]=function(){};return o[t]},r.inspect=s,s.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},s.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},r.isArray=p,r.isBoolean=d,r.isNull=g,r.isNullOrUndefined=function(t){return null==t},r.isNumber=m,r.isString=v,r.isSymbol=function(t){return"symbol"==typeof t},r.isUndefined=y,r.isRegExp=x,r.isObject=b,r.isDate=_,r.isError=w,r.isFunction=T,r.isPrimitive=function(t){return null===t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||"symbol"==typeof t||"undefined"==typeof t},r.isBuffer=t("./support/isBuffer");var A=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function S(){var t=new Date,e=[M(t.getHours()),M(t.getMinutes()),M(t.getSeconds())].join(":");return[t.getDate(),A[t.getMonth()],e].join(" ")}function E(t,e){return Object.prototype.hasOwnProperty.call(t,e)}r.log=function(){console.log("%s - %s",S(),r.format.apply(r,arguments))},r.inherits=t("inherits"),r._extend=function(t,e){if(!e||!b(e))return t;for(var r=Object.keys(e),n=r.length;n--;)t[r[n]]=e[r[n]];return t}}).call(this)}).call(this,t("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./support/isBuffer":75,_process:526,inherits:74}],77:[function(t,e,r){e.exports=function(t){return atob(t)}},{}],78:[function(t,e,r){"use strict";e.exports=function(t,e){for(var r=e.length,a=new Array(r+1),o=0;o<r;++o){for(var s=new Array(r+1),l=0;l<=r;++l)s[l]=t[l][o];a[o]=s}a[r]=new Array(r+1);for(o=0;o<=r;++o)a[r][o]=1;var c=new Array(r+1);for(o=0;o<r;++o)c[o]=e[o];c[r]=1;var u=n(a,c),f=i(u[r+1]);0===f&&(f=1);var h=new Array(r+1);for(o=0;o<=r;++o)h[o]=i(u[o])/f;return h};var n=t("robust-linear-solve");function i(t){for(var e=0,r=0;r<t.length;++r)e+=t[r];return e}},{"robust-linear-solve":547}],79:[function(t,e,r){"use strict";r.byteLength=function(t){var e=c(t),r=e[0],n=e[1];return 3*(r+n)/4-n},r.toByteArray=function(t){var e,r,n=c(t),o=n[0],s=n[1],l=new a(function(t,e,r){return 3*(e+r)/4-r}(0,o,s)),u=0,f=s>0?o-4:o;for(r=0;r<f;r+=4)e=i[t.charCodeAt(r)]<<18|i[t.charCodeAt(r+1)]<<12|i[t.charCodeAt(r+2)]<<6|i[t.charCodeAt(r+3)],l[u++]=e>>16&255,l[u++]=e>>8&255,l[u++]=255&e;2===s&&(e=i[t.charCodeAt(r)]<<2|i[t.charCodeAt(r+1)]>>4,l[u++]=255&e);1===s&&(e=i[t.charCodeAt(r)]<<10|i[t.charCodeAt(r+1)]<<4|i[t.charCodeAt(r+2)]>>2,l[u++]=e>>8&255,l[u++]=255&e);return l},r.fromByteArray=function(t){for(var e,r=t.length,i=r%3,a=[],o=0,s=r-i;o<s;o+=16383)a.push(u(t,o,o+16383>s?s:o+16383));1===i?(e=t[r-1],a.push(n[e>>2]+n[e<<4&63]+"==")):2===i&&(e=(t[r-2]<<8)+t[r-1],a.push(n[e>>10]+n[e>>4&63]+n[e<<2&63]+"="));return a.join("")};for(var n=[],i=[],a="undefined"!=typeof Uint8Array?Uint8Array:Array,o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=0,l=o.length;s<l;++s)n[s]=o[s],i[o.charCodeAt(s)]=s;function c(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function u(t,e,r){for(var i,a,o=[],s=e;s<r;s+=3)i=(t[s]<<16&16711680)+(t[s+1]<<8&65280)+(255&t[s+2]),o.push(n[(a=i)>>18&63]+n[a>>12&63]+n[a>>6&63]+n[63&a]);return o.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},{}],80:[function(t,e,r){"use strict";var n=t("./lib/rationalize");e.exports=function(t,e){return n(t[0].mul(e[1]).add(e[0].mul(t[1])),t[1].mul(e[1]))}},{"./lib/rationalize":90}],81:[function(t,e,r){"use strict";e.exports=function(t,e){return t[0].mul(e[1]).cmp(e[0].mul(t[1]))}},{}],82:[function(t,e,r){"use strict";var n=t("./lib/rationalize");e.exports=function(t,e){return n(t[0].mul(e[1]),t[1].mul(e[0]))}},{"./lib/rationalize":90}],83:[function(t,e,r){"use strict";var n=t("./is-rat"),i=t("./lib/is-bn"),a=t("./lib/num-to-bn"),o=t("./lib/str-to-bn"),s=t("./lib/rationalize"),l=t("./div");e.exports=function t(e,r){if(n(e))return r?l(e,t(r)):[e[0].clone(),e[1].clone()];var c,u,f=0;if(i(e))c=e.clone();else if("string"==typeof e)c=o(e);else{if(0===e)return[a(0),a(1)];if(e===Math.floor(e))c=a(e);else{for(;e!==Math.floor(e);)e*=Math.pow(2,256),f-=256;c=a(e)}}if(n(r))c.mul(r[1]),u=r[0].clone();else if(i(r))u=r.clone();else if("string"==typeof r)u=o(r);else if(r)if(r===Math.floor(r))u=a(r);else{for(;r!==Math.floor(r);)r*=Math.pow(2,256),f+=256;u=a(r)}else u=a(1);f>0?c=c.ushln(f):f<0&&(u=u.ushln(-f));return s(c,u)}},{"./div":82,"./is-rat":84,"./lib/is-bn":88,"./lib/num-to-bn":89,"./lib/rationalize":90,"./lib/str-to-bn":91}],84:[function(t,e,r){"use strict";var n=t("./lib/is-bn");e.exports=function(t){return Array.isArray(t)&&2===t.length&&n(t[0])&&n(t[1])}},{"./lib/is-bn":88}],85:[function(t,e,r){"use strict";var n=t("bn.js");e.exports=function(t){return t.cmp(new n(0))}},{"bn.js":99}],86:[function(t,e,r){"use strict";var n=t("./bn-sign");e.exports=function(t){var e=t.length,r=t.words,i=0;if(1===e)i=r[0];else if(2===e)i=r[0]+67108864*r[1];else for(var a=0;a<e;a++){var o=r[a];i+=o*Math.pow(67108864,a)}return n(t)*i}},{"./bn-sign":85}],87:[function(t,e,r){"use strict";var n=t("double-bits"),i=t("bit-twiddle").countTrailingZeros;e.exports=function(t){var e=i(n.lo(t));if(e<32)return e;var r=i(n.hi(t));if(r>20)return 52;return r+32}},{"bit-twiddle":97,"double-bits":173}],88:[function(t,e,r){"use strict";t("bn.js");e.exports=function(t){return t&&"object"==typeof t&&Boolean(t.words)}},{"bn.js":99}],89:[function(t,e,r){"use strict";var n=t("bn.js"),i=t("double-bits");e.exports=function(t){var e=i.exponent(t);return e<52?new n(t):new n(t*Math.pow(2,52-e)).ushln(e-52)}},{"bn.js":99,"double-bits":173}],90:[function(t,e,r){"use strict";var n=t("./num-to-bn"),i=t("./bn-sign");e.exports=function(t,e){var r=i(t),a=i(e);if(0===r)return[n(0),n(1)];if(0===a)return[n(0),n(0)];a<0&&(t=t.neg(),e=e.neg());var o=t.gcd(e);if(o.cmpn(1))return[t.div(o),e.div(o)];return[t,e]}},{"./bn-sign":85,"./num-to-bn":89}],91:[function(t,e,r){"use strict";var n=t("bn.js");e.exports=function(t){return new n(t)}},{"bn.js":99}],92:[function(t,e,r){"use strict";var n=t("./lib/rationalize");e.exports=function(t,e){return n(t[0].mul(e[0]),t[1].mul(e[1]))}},{"./lib/rationalize":90}],93:[function(t,e,r){"use strict";var n=t("./lib/bn-sign");e.exports=function(t){return n(t[0])*n(t[1])}},{"./lib/bn-sign":85}],94:[function(t,e,r){"use strict";var n=t("./lib/rationalize");e.exports=function(t,e){return n(t[0].mul(e[1]).sub(t[1].mul(e[0])),t[1].mul(e[1]))}},{"./lib/rationalize":90}],95:[function(t,e,r){"use strict";var n=t("./lib/bn-to-num"),i=t("./lib/ctz");e.exports=function(t){var e=t[0],r=t[1];if(0===e.cmpn(0))return 0;var a=e.abs().divmod(r.abs()),o=a.div,s=n(o),l=a.mod,c=e.negative!==r.negative?-1:1;if(0===l.cmpn(0))return c*s;if(s){var u=i(s)+4,f=n(l.ushln(u).divRound(r));return c*(s+f*Math.pow(2,-u))}var h=r.bitLength()-l.bitLength()+53;f=n(l.ushln(h).divRound(r));return h<1023?c*f*Math.pow(2,-h):(f*=Math.pow(2,-1023),c*f*Math.pow(2,1023-h))}},{"./lib/bn-to-num":86,"./lib/ctz":87}],96:[function(t,e,r){"use strict";function n(t,e,r,n,i){var a=["function ",t,"(a,l,h,",n.join(","),"){",i?"":"var i=",r?"l-1":"h+1",";while(l<=h){var m=(l+h)>>>1,x=a[m]"];return i?e.indexOf("c")<0?a.push(";if(x===y){return m}else if(x<=y){"):a.push(";var p=c(x,y);if(p===0){return m}else if(p<=0){"):a.push(";if(",e,"){i=m;"),r?a.push("l=m+1}else{h=m-1}"):a.push("h=m-1}else{l=m+1}"),a.push("}"),i?a.push("return -1};"):a.push("return i};"),a.join("")}function i(t,e,r,i){return new Function([n("A","x"+t+"y",e,["y"],i),n("P","c(x,y)"+t+"0",e,["y","c"],i),"function dispatchBsearch",r,"(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",r].join(""))()}e.exports={ge:i(">=",!1,"GE"),gt:i(">",!1,"GT"),lt:i("<",!0,"LT"),le:i("<=",!0,"LE"),eq:i("-",!0,"EQ",!0)}},{}],97:[function(t,e,r){"use strict";function n(t){var e=32;return(t&=-t)&&e--,65535&t&&(e-=16),16711935&t&&(e-=8),252645135&t&&(e-=4),858993459&t&&(e-=2),1431655765&t&&(e-=1),e}r.INT_BITS=32,r.INT_MAX=2147483647,r.INT_MIN=-1<<31,r.sign=function(t){return(t>0)-(t<0)},r.abs=function(t){var e=t>>31;return(t^e)-e},r.min=function(t,e){return e^(t^e)&-(t<e)},r.max=function(t,e){return t^(t^e)&-(t<e)},r.isPow2=function(t){return!(t&t-1||!t)},r.log2=function(t){var e,r;return e=(t>65535)<<4,e|=r=((t>>>=e)>255)<<3,e|=r=((t>>>=r)>15)<<2,(e|=r=((t>>>=r)>3)<<1)|(t>>>=r)>>1},r.log10=function(t){return t>=1e9?9:t>=1e8?8:t>=1e7?7:t>=1e6?6:t>=1e5?5:t>=1e4?4:t>=1e3?3:t>=100?2:t>=10?1:0},r.popCount=function(t){return 16843009*((t=(858993459&(t-=t>>>1&1431655765))+(t>>>2&858993459))+(t>>>4)&252645135)>>>24},r.countTrailingZeros=n,r.nextPow2=function(t){return t+=0===t,--t,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)+1},r.prevPow2=function(t){return t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)-(t>>>1)},r.parity=function(t){return t^=t>>>16,t^=t>>>8,t^=t>>>4,27030>>>(t&=15)&1};var i=new Array(256);!function(t){for(var e=0;e<256;++e){var r=e,n=e,i=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=1&r,--i;t[e]=n<<i&255}}(i),r.reverse=function(t){return i[255&t]<<24|i[t>>>8&255]<<16|i[t>>>16&255]<<8|i[t>>>24&255]},r.interleave2=function(t,e){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t&=65535)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e&=65535)|e<<8))|e<<4))|e<<2))|e<<1))<<1},r.deinterleave2=function(t,e){return(t=65535&((t=16711935&((t=252645135&((t=858993459&((t=t>>>e&1431655765)|t>>>1))|t>>>2))|t>>>4))|t>>>16))<<16>>16},r.interleave3=function(t,e,r){return t=1227133513&((t=3272356035&((t=251719695&((t=4278190335&((t&=1023)|t<<16))|t<<8))|t<<4))|t<<2),(t|=(e=1227133513&((e=3272356035&((e=251719695&((e=4278190335&((e&=1023)|e<<16))|e<<8))|e<<4))|e<<2))<<1)|(r=1227133513&((r=3272356035&((r=251719695&((r=4278190335&((r&=1023)|r<<16))|r<<8))|r<<4))|r<<2))<<2},r.deinterleave3=function(t,e){return(t=1023&((t=4278190335&((t=251719695&((t=3272356035&((t=t>>>e&1227133513)|t>>>2))|t>>>4))|t>>>8))|t>>>16))<<22>>22},r.nextCombination=function(t){var e=t|t-1;return e+1|(~e&-~e)-1>>>n(t)+1}},{}],98:[function(t,e,r){"use strict";var n=t("clamp");e.exports=function(t,e){e||(e={});var r,o,s,l,c,u,f,h,p,d,g,m=null==e.cutoff?.25:e.cutoff,v=null==e.radius?8:e.radius,y=e.channel||0;if(ArrayBuffer.isView(t)||Array.isArray(t)){if(!e.width||!e.height)throw Error("For raw data width and height should be provided by options");r=e.width,o=e.height,l=t,u=e.stride?e.stride:Math.floor(t.length/r/o)}else window.HTMLCanvasElement&&t instanceof window.HTMLCanvasElement?(f=(h=t).getContext("2d"),r=h.width,o=h.height,p=f.getImageData(0,0,r,o),l=p.data,u=4):window.CanvasRenderingContext2D&&t instanceof window.CanvasRenderingContext2D?(h=t.canvas,f=t,r=h.width,o=h.height,p=f.getImageData(0,0,r,o),l=p.data,u=4):window.ImageData&&t instanceof window.ImageData&&(p=t,r=t.width,o=t.height,l=p.data,u=4);if(s=Math.max(r,o),window.Uint8ClampedArray&&l instanceof window.Uint8ClampedArray||window.Uint8Array&&l instanceof window.Uint8Array)for(c=l,l=Array(r*o),d=0,g=c.length;d<g;d++)l[d]=c[d*u+y]/255;else if(1!==u)throw Error("Raw data can have only 1 value per pixel");var x=Array(r*o),b=Array(r*o),_=Array(s),w=Array(s),T=Array(s+1),k=Array(s);for(d=0,g=r*o;d<g;d++){var M=l[d];x[d]=1===M?0:0===M?i:Math.pow(Math.max(0,.5-M),2),b[d]=1===M?i:0===M?0:Math.pow(Math.max(0,M-.5),2)}a(x,r,o,_,w,k,T),a(b,r,o,_,w,k,T);var A=window.Float32Array?new Float32Array(r*o):new Array(r*o);for(d=0,g=r*o;d<g;d++)A[d]=n(1-((x[d]-b[d])/v+m),0,1);return A};var i=1e20;function a(t,e,r,n,i,a,s){for(var l=0;l<e;l++){for(var c=0;c<r;c++)n[c]=t[c*e+l];for(o(n,i,a,s,r),c=0;c<r;c++)t[c*e+l]=i[c]}for(c=0;c<r;c++){for(l=0;l<e;l++)n[l]=t[c*e+l];for(o(n,i,a,s,e),l=0;l<e;l++)t[c*e+l]=Math.sqrt(i[l])}}function o(t,e,r,n,a){r[0]=0,n[0]=-i,n[1]=+i;for(var o=1,s=0;o<a;o++){for(var l=(t[o]+o*o-(t[r[s]]+r[s]*r[s]))/(2*o-2*r[s]);l<=n[s];)s--,l=(t[o]+o*o-(t[r[s]]+r[s]*r[s]))/(2*o-2*r[s]);r[++s]=o,n[s]=l,n[s+1]=+i}for(o=0,s=0;o<a;o++){for(;n[s+1]<o;)s++;e[o]=(o-r[s])*(o-r[s])+t[r[s]]}}},{clamp:120}],99:[function(t,e,r){!function(e,r){"use strict";function n(t,e){if(!t)throw new Error(e||"Assertion failed")}function i(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function a(t,e,r){if(a.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var o;"object"==typeof e?e.exports=a:r.BN=a,a.BN=a,a.wordSize=26;try{o=t("buffer").Buffer}catch(t){}function s(t,e,r){for(var n=0,i=Math.min(t.length,r),a=e;a<i;a++){var o=t.charCodeAt(a)-48;n<<=4,n|=o>=49&&o<=54?o-49+10:o>=17&&o<=22?o-17+10:15&o}return n}function l(t,e,r,n){for(var i=0,a=Math.min(t.length,r),o=e;o<a;o++){var s=t.charCodeAt(o)-48;i*=n,i+=s>=49?s-49+10:s>=17?s-17+10:s}return i}a.isBN=function(t){return t instanceof a||null!==t&&"object"==typeof t&&t.constructor.wordSize===a.wordSize&&Array.isArray(t.words)},a.max=function(t,e){return t.cmp(e)>0?t:e},a.min=function(t,e){return t.cmp(e)<0?t:e},a.prototype._init=function(t,e,r){if("number"==typeof t)return this._initNumber(t,e,r);if("object"==typeof t)return this._initArray(t,e,r);"hex"===e&&(e=16),n(e===(0|e)&&e>=2&&e<=36);var i=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&i++,16===e?this._parseHex(t,i):this._parseBase(t,e,i),"-"===t[0]&&(this.negative=1),this.strip(),"le"===r&&this._initArray(this.toArray(),e,r)},a.prototype._initNumber=function(t,e,r){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(n(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===r&&this._initArray(this.toArray(),e,r)},a.prototype._initArray=function(t,e,r){if(n("number"==typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var a,o,s=0;if("be"===r)for(i=t.length-1,a=0;i>=0;i-=3)o=t[i]|t[i-1]<<8|t[i-2]<<16,this.words[a]|=o<<s&67108863,this.words[a+1]=o>>>26-s&67108863,(s+=24)>=26&&(s-=26,a++);else if("le"===r)for(i=0,a=0;i<t.length;i+=3)o=t[i]|t[i+1]<<8|t[i+2]<<16,this.words[a]|=o<<s&67108863,this.words[a+1]=o>>>26-s&67108863,(s+=24)>=26&&(s-=26,a++);return this.strip()},a.prototype._parseHex=function(t,e){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var r=0;r<this.length;r++)this.words[r]=0;var n,i,a=0;for(r=t.length-6,n=0;r>=e;r-=6)i=s(t,r,r+6),this.words[n]|=i<<a&67108863,this.words[n+1]|=i>>>26-a&4194303,(a+=24)>=26&&(a-=26,n++);r+6!==e&&(i=s(t,e,r+6),this.words[n]|=i<<a&67108863,this.words[n+1]|=i>>>26-a&4194303),this.strip()},a.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=e)n++;n--,i=i/e|0;for(var a=t.length-r,o=a%n,s=Math.min(a,a-o)+r,c=0,u=r;u<s;u+=n)c=l(t,u,u+n,e),this.imuln(i),this.words[0]+c<67108864?this.words[0]+=c:this._iaddn(c);if(0!==o){var f=1;for(c=l(t,u,t.length,e),u=0;u<o;u++)f*=e;this.imuln(f),this.words[0]+c<67108864?this.words[0]+=c:this._iaddn(c)}},a.prototype.copy=function(t){t.words=new Array(this.length);for(var e=0;e<this.length;e++)t.words[e]=this.words[e];t.length=this.length,t.negative=this.negative,t.red=this.red},a.prototype.clone=function(){var t=new a(null);return this.copy(t),t},a.prototype._expand=function(t){for(;this.length<t;)this.words[this.length++]=0;return this},a.prototype.strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},a.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},a.prototype.inspect=function(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var c=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],u=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],f=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function h(t,e,r){r.negative=e.negative^t.negative;var n=t.length+e.length|0;r.length=n,n=n-1|0;var i=0|t.words[0],a=0|e.words[0],o=i*a,s=67108863&o,l=o/67108864|0;r.words[0]=s;for(var c=1;c<n;c++){for(var u=l>>>26,f=67108863&l,h=Math.min(c,e.length-1),p=Math.max(0,c-t.length+1);p<=h;p++){var d=c-p|0;u+=(o=(i=0|t.words[d])*(a=0|e.words[p])+f)/67108864|0,f=67108863&o}r.words[c]=0|f,l=0|u}return 0!==l?r.words[c]=0|l:r.length--,r.strip()}a.prototype.toString=function(t,e){var r;if(e=0|e||1,16===(t=t||10)||"hex"===t){r="";for(var i=0,a=0,o=0;o<this.length;o++){var s=this.words[o],l=(16777215&(s<<i|a)).toString(16);r=0!==(a=s>>>24-i&16777215)||o!==this.length-1?c[6-l.length]+l+r:l+r,(i+=2)>=26&&(i-=26,o--)}for(0!==a&&(r=a.toString(16)+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(t===(0|t)&&t>=2&&t<=36){var h=u[t],p=f[t];r="";var d=this.clone();for(d.negative=0;!d.isZero();){var g=d.modn(p).toString(t);r=(d=d.idivn(p)).isZero()?g+r:c[h-g.length]+g+r}for(this.isZero()&&(r="0"+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}n(!1,"Base should be between 2 and 36")},a.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},a.prototype.toJSON=function(){return this.toString(16)},a.prototype.toBuffer=function(t,e){return n("undefined"!=typeof o),this.toArrayLike(o,t,e)},a.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},a.prototype.toArrayLike=function(t,e,r){var i=this.byteLength(),a=r||Math.max(1,i);n(i<=a,"byte array longer than desired length"),n(a>0,"Requested array length <= 0"),this.strip();var o,s,l="le"===e,c=new t(a),u=this.clone();if(l){for(s=0;!u.isZero();s++)o=u.andln(255),u.iushrn(8),c[s]=o;for(;s<a;s++)c[s]=0}else{for(s=0;s<a-i;s++)c[s]=0;for(s=0;!u.isZero();s++)o=u.andln(255),u.iushrn(8),c[a-s-1]=o}return c},Math.clz32?a.prototype._countBits=function(t){return 32-Math.clz32(t)}:a.prototype._countBits=function(t){var e=t,r=0;return e>=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},a.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},a.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},a.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;e<this.length;e++){var r=this._zeroBits(this.words[e]);if(t+=r,26!==r)break}return t},a.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},a.prototype.toTwos=function(t){return 0!==this.negative?this.abs().inotn(t).iaddn(1):this.clone()},a.prototype.fromTwos=function(t){return this.testn(t-1)?this.notn(t).iaddn(1).ineg():this.clone()},a.prototype.isNeg=function(){return 0!==this.negative},a.prototype.neg=function(){return this.clone().ineg()},a.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},a.prototype.iuor=function(t){for(;this.length<t.length;)this.words[this.length++]=0;for(var e=0;e<t.length;e++)this.words[e]=this.words[e]|t.words[e];return this.strip()},a.prototype.ior=function(t){return n(0==(this.negative|t.negative)),this.iuor(t)},a.prototype.or=function(t){return this.length>t.length?this.clone().ior(t):t.clone().ior(this)},a.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},a.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;r<e.length;r++)this.words[r]=this.words[r]&t.words[r];return this.length=e.length,this.strip()},a.prototype.iand=function(t){return n(0==(this.negative|t.negative)),this.iuand(t)},a.prototype.and=function(t){return this.length>t.length?this.clone().iand(t):t.clone().iand(this)},a.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},a.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var n=0;n<r.length;n++)this.words[n]=e.words[n]^r.words[n];if(this!==e)for(;n<e.length;n++)this.words[n]=e.words[n];return this.length=e.length,this.strip()},a.prototype.ixor=function(t){return n(0==(this.negative|t.negative)),this.iuxor(t)},a.prototype.xor=function(t){return this.length>t.length?this.clone().ixor(t):t.clone().ixor(this)},a.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},a.prototype.inotn=function(t){n("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var i=0;i<e;i++)this.words[i]=67108863&~this.words[i];return r>0&&(this.words[i]=~this.words[i]&67108863>>26-r),this.strip()},a.prototype.notn=function(t){return this.clone().inotn(t)},a.prototype.setn=function(t,e){n("number"==typeof t&&t>=0);var r=t/26|0,i=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<<i:this.words[r]&~(1<<i),this.strip()},a.prototype.iadd=function(t){var e,r,n;if(0!==this.negative&&0===t.negative)return this.negative=0,e=this.isub(t),this.negative^=1,this._normSign();if(0===this.negative&&0!==t.negative)return t.negative=0,e=this.isub(t),t.negative=1,e._normSign();this.length>t.length?(r=this,n=t):(r=t,n=this);for(var i=0,a=0;a<n.length;a++)e=(0|r.words[a])+(0|n.words[a])+i,this.words[a]=67108863&e,i=e>>>26;for(;0!==i&&a<r.length;a++)e=(0|r.words[a])+i,this.words[a]=67108863&e,i=e>>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;a<r.length;a++)this.words[a]=r.words[a];return this},a.prototype.add=function(t){var e;return 0!==t.negative&&0===this.negative?(t.negative=0,e=this.sub(t),t.negative^=1,e):0===t.negative&&0!==this.negative?(this.negative=0,e=t.sub(this),this.negative=1,e):this.length>t.length?this.clone().iadd(t):t.clone().iadd(this)},a.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,n,i=this.cmp(t);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=t):(r=t,n=this);for(var a=0,o=0;o<n.length;o++)a=(e=(0|r.words[o])-(0|n.words[o])+a)>>26,this.words[o]=67108863&e;for(;0!==a&&o<r.length;o++)a=(e=(0|r.words[o])+a)>>26,this.words[o]=67108863&e;if(0===a&&o<r.length&&r!==this)for(;o<r.length;o++)this.words[o]=r.words[o];return this.length=Math.max(this.length,o),r!==this&&(this.negative=1),this.strip()},a.prototype.sub=function(t){return this.clone().isub(t)};var p=function(t,e,r){var n,i,a,o=t.words,s=e.words,l=r.words,c=0,u=0|o[0],f=8191&u,h=u>>>13,p=0|o[1],d=8191&p,g=p>>>13,m=0|o[2],v=8191&m,y=m>>>13,x=0|o[3],b=8191&x,_=x>>>13,w=0|o[4],T=8191&w,k=w>>>13,M=0|o[5],A=8191&M,S=M>>>13,E=0|o[6],C=8191&E,L=E>>>13,I=0|o[7],P=8191&I,z=I>>>13,O=0|o[8],D=8191&O,R=O>>>13,F=0|o[9],B=8191&F,N=F>>>13,j=0|s[0],U=8191&j,V=j>>>13,q=0|s[1],H=8191&q,G=q>>>13,Y=0|s[2],W=8191&Y,X=Y>>>13,Z=0|s[3],J=8191&Z,K=Z>>>13,Q=0|s[4],$=8191&Q,tt=Q>>>13,et=0|s[5],rt=8191&et,nt=et>>>13,it=0|s[6],at=8191&it,ot=it>>>13,st=0|s[7],lt=8191&st,ct=st>>>13,ut=0|s[8],ft=8191&ut,ht=ut>>>13,pt=0|s[9],dt=8191&pt,gt=pt>>>13;r.negative=t.negative^e.negative,r.length=19;var mt=(c+(n=Math.imul(f,U))|0)+((8191&(i=(i=Math.imul(f,V))+Math.imul(h,U)|0))<<13)|0;c=((a=Math.imul(h,V))+(i>>>13)|0)+(mt>>>26)|0,mt&=67108863,n=Math.imul(d,U),i=(i=Math.imul(d,V))+Math.imul(g,U)|0,a=Math.imul(g,V);var vt=(c+(n=n+Math.imul(f,H)|0)|0)+((8191&(i=(i=i+Math.imul(f,G)|0)+Math.imul(h,H)|0))<<13)|0;c=((a=a+Math.imul(h,G)|0)+(i>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(v,U),i=(i=Math.imul(v,V))+Math.imul(y,U)|0,a=Math.imul(y,V),n=n+Math.imul(d,H)|0,i=(i=i+Math.imul(d,G)|0)+Math.imul(g,H)|0,a=a+Math.imul(g,G)|0;var yt=(c+(n=n+Math.imul(f,W)|0)|0)+((8191&(i=(i=i+Math.imul(f,X)|0)+Math.imul(h,W)|0))<<13)|0;c=((a=a+Math.imul(h,X)|0)+(i>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(b,U),i=(i=Math.imul(b,V))+Math.imul(_,U)|0,a=Math.imul(_,V),n=n+Math.imul(v,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(d,W)|0,i=(i=i+Math.imul(d,X)|0)+Math.imul(g,W)|0,a=a+Math.imul(g,X)|0;var xt=(c+(n=n+Math.imul(f,J)|0)|0)+((8191&(i=(i=i+Math.imul(f,K)|0)+Math.imul(h,J)|0))<<13)|0;c=((a=a+Math.imul(h,K)|0)+(i>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(T,U),i=(i=Math.imul(T,V))+Math.imul(k,U)|0,a=Math.imul(k,V),n=n+Math.imul(b,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(d,J)|0,i=(i=i+Math.imul(d,K)|0)+Math.imul(g,J)|0,a=a+Math.imul(g,K)|0;var bt=(c+(n=n+Math.imul(f,$)|0)|0)+((8191&(i=(i=i+Math.imul(f,tt)|0)+Math.imul(h,$)|0))<<13)|0;c=((a=a+Math.imul(h,tt)|0)+(i>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(A,U),i=(i=Math.imul(A,V))+Math.imul(S,U)|0,a=Math.imul(S,V),n=n+Math.imul(T,H)|0,i=(i=i+Math.imul(T,G)|0)+Math.imul(k,H)|0,a=a+Math.imul(k,G)|0,n=n+Math.imul(b,W)|0,i=(i=i+Math.imul(b,X)|0)+Math.imul(_,W)|0,a=a+Math.imul(_,X)|0,n=n+Math.imul(v,J)|0,i=(i=i+Math.imul(v,K)|0)+Math.imul(y,J)|0,a=a+Math.imul(y,K)|0,n=n+Math.imul(d,$)|0,i=(i=i+Math.imul(d,tt)|0)+Math.imul(g,$)|0,a=a+Math.imul(g,tt)|0;var _t=(c+(n=n+Math.imul(f,rt)|0)|0)+((8191&(i=(i=i+Math.imul(f,nt)|0)+Math.imul(h,rt)|0))<<13)|0;c=((a=a+Math.imul(h,nt)|0)+(i>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(C,U),i=(i=Math.imul(C,V))+Math.imul(L,U)|0,a=Math.imul(L,V),n=n+Math.imul(A,H)|0,i=(i=i+Math.imul(A,G)|0)+Math.imul(S,H)|0,a=a+Math.imul(S,G)|0,n=n+Math.imul(T,W)|0,i=(i=i+Math.imul(T,X)|0)+Math.imul(k,W)|0,a=a+Math.imul(k,X)|0,n=n+Math.imul(b,J)|0,i=(i=i+Math.imul(b,K)|0)+Math.imul(_,J)|0,a=a+Math.imul(_,K)|0,n=n+Math.imul(v,$)|0,i=(i=i+Math.imul(v,tt)|0)+Math.imul(y,$)|0,a=a+Math.imul(y,tt)|0,n=n+Math.imul(d,rt)|0,i=(i=i+Math.imul(d,nt)|0)+Math.imul(g,rt)|0,a=a+Math.imul(g,nt)|0;var wt=(c+(n=n+Math.imul(f,at)|0)|0)+((8191&(i=(i=i+Math.imul(f,ot)|0)+Math.imul(h,at)|0))<<13)|0;c=((a=a+Math.imul(h,ot)|0)+(i>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(P,U),i=(i=Math.imul(P,V))+Math.imul(z,U)|0,a=Math.imul(z,V),n=n+Math.imul(C,H)|0,i=(i=i+Math.imul(C,G)|0)+Math.imul(L,H)|0,a=a+Math.imul(L,G)|0,n=n+Math.imul(A,W)|0,i=(i=i+Math.imul(A,X)|0)+Math.imul(S,W)|0,a=a+Math.imul(S,X)|0,n=n+Math.imul(T,J)|0,i=(i=i+Math.imul(T,K)|0)+Math.imul(k,J)|0,a=a+Math.imul(k,K)|0,n=n+Math.imul(b,$)|0,i=(i=i+Math.imul(b,tt)|0)+Math.imul(_,$)|0,a=a+Math.imul(_,tt)|0,n=n+Math.imul(v,rt)|0,i=(i=i+Math.imul(v,nt)|0)+Math.imul(y,rt)|0,a=a+Math.imul(y,nt)|0,n=n+Math.imul(d,at)|0,i=(i=i+Math.imul(d,ot)|0)+Math.imul(g,at)|0,a=a+Math.imul(g,ot)|0;var Tt=(c+(n=n+Math.imul(f,lt)|0)|0)+((8191&(i=(i=i+Math.imul(f,ct)|0)+Math.imul(h,lt)|0))<<13)|0;c=((a=a+Math.imul(h,ct)|0)+(i>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(D,U),i=(i=Math.imul(D,V))+Math.imul(R,U)|0,a=Math.imul(R,V),n=n+Math.imul(P,H)|0,i=(i=i+Math.imul(P,G)|0)+Math.imul(z,H)|0,a=a+Math.imul(z,G)|0,n=n+Math.imul(C,W)|0,i=(i=i+Math.imul(C,X)|0)+Math.imul(L,W)|0,a=a+Math.imul(L,X)|0,n=n+Math.imul(A,J)|0,i=(i=i+Math.imul(A,K)|0)+Math.imul(S,J)|0,a=a+Math.imul(S,K)|0,n=n+Math.imul(T,$)|0,i=(i=i+Math.imul(T,tt)|0)+Math.imul(k,$)|0,a=a+Math.imul(k,tt)|0,n=n+Math.imul(b,rt)|0,i=(i=i+Math.imul(b,nt)|0)+Math.imul(_,rt)|0,a=a+Math.imul(_,nt)|0,n=n+Math.imul(v,at)|0,i=(i=i+Math.imul(v,ot)|0)+Math.imul(y,at)|0,a=a+Math.imul(y,ot)|0,n=n+Math.imul(d,lt)|0,i=(i=i+Math.imul(d,ct)|0)+Math.imul(g,lt)|0,a=a+Math.imul(g,ct)|0;var kt=(c+(n=n+Math.imul(f,ft)|0)|0)+((8191&(i=(i=i+Math.imul(f,ht)|0)+Math.imul(h,ft)|0))<<13)|0;c=((a=a+Math.imul(h,ht)|0)+(i>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(B,U),i=(i=Math.imul(B,V))+Math.imul(N,U)|0,a=Math.imul(N,V),n=n+Math.imul(D,H)|0,i=(i=i+Math.imul(D,G)|0)+Math.imul(R,H)|0,a=a+Math.imul(R,G)|0,n=n+Math.imul(P,W)|0,i=(i=i+Math.imul(P,X)|0)+Math.imul(z,W)|0,a=a+Math.imul(z,X)|0,n=n+Math.imul(C,J)|0,i=(i=i+Math.imul(C,K)|0)+Math.imul(L,J)|0,a=a+Math.imul(L,K)|0,n=n+Math.imul(A,$)|0,i=(i=i+Math.imul(A,tt)|0)+Math.imul(S,$)|0,a=a+Math.imul(S,tt)|0,n=n+Math.imul(T,rt)|0,i=(i=i+Math.imul(T,nt)|0)+Math.imul(k,rt)|0,a=a+Math.imul(k,nt)|0,n=n+Math.imul(b,at)|0,i=(i=i+Math.imul(b,ot)|0)+Math.imul(_,at)|0,a=a+Math.imul(_,ot)|0,n=n+Math.imul(v,lt)|0,i=(i=i+Math.imul(v,ct)|0)+Math.imul(y,lt)|0,a=a+Math.imul(y,ct)|0,n=n+Math.imul(d,ft)|0,i=(i=i+Math.imul(d,ht)|0)+Math.imul(g,ft)|0,a=a+Math.imul(g,ht)|0;var Mt=(c+(n=n+Math.imul(f,dt)|0)|0)+((8191&(i=(i=i+Math.imul(f,gt)|0)+Math.imul(h,dt)|0))<<13)|0;c=((a=a+Math.imul(h,gt)|0)+(i>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(B,H),i=(i=Math.imul(B,G))+Math.imul(N,H)|0,a=Math.imul(N,G),n=n+Math.imul(D,W)|0,i=(i=i+Math.imul(D,X)|0)+Math.imul(R,W)|0,a=a+Math.imul(R,X)|0,n=n+Math.imul(P,J)|0,i=(i=i+Math.imul(P,K)|0)+Math.imul(z,J)|0,a=a+Math.imul(z,K)|0,n=n+Math.imul(C,$)|0,i=(i=i+Math.imul(C,tt)|0)+Math.imul(L,$)|0,a=a+Math.imul(L,tt)|0,n=n+Math.imul(A,rt)|0,i=(i=i+Math.imul(A,nt)|0)+Math.imul(S,rt)|0,a=a+Math.imul(S,nt)|0,n=n+Math.imul(T,at)|0,i=(i=i+Math.imul(T,ot)|0)+Math.imul(k,at)|0,a=a+Math.imul(k,ot)|0,n=n+Math.imul(b,lt)|0,i=(i=i+Math.imul(b,ct)|0)+Math.imul(_,lt)|0,a=a+Math.imul(_,ct)|0,n=n+Math.imul(v,ft)|0,i=(i=i+Math.imul(v,ht)|0)+Math.imul(y,ft)|0,a=a+Math.imul(y,ht)|0;var At=(c+(n=n+Math.imul(d,dt)|0)|0)+((8191&(i=(i=i+Math.imul(d,gt)|0)+Math.imul(g,dt)|0))<<13)|0;c=((a=a+Math.imul(g,gt)|0)+(i>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(B,W),i=(i=Math.imul(B,X))+Math.imul(N,W)|0,a=Math.imul(N,X),n=n+Math.imul(D,J)|0,i=(i=i+Math.imul(D,K)|0)+Math.imul(R,J)|0,a=a+Math.imul(R,K)|0,n=n+Math.imul(P,$)|0,i=(i=i+Math.imul(P,tt)|0)+Math.imul(z,$)|0,a=a+Math.imul(z,tt)|0,n=n+Math.imul(C,rt)|0,i=(i=i+Math.imul(C,nt)|0)+Math.imul(L,rt)|0,a=a+Math.imul(L,nt)|0,n=n+Math.imul(A,at)|0,i=(i=i+Math.imul(A,ot)|0)+Math.imul(S,at)|0,a=a+Math.imul(S,ot)|0,n=n+Math.imul(T,lt)|0,i=(i=i+Math.imul(T,ct)|0)+Math.imul(k,lt)|0,a=a+Math.imul(k,ct)|0,n=n+Math.imul(b,ft)|0,i=(i=i+Math.imul(b,ht)|0)+Math.imul(_,ft)|0,a=a+Math.imul(_,ht)|0;var St=(c+(n=n+Math.imul(v,dt)|0)|0)+((8191&(i=(i=i+Math.imul(v,gt)|0)+Math.imul(y,dt)|0))<<13)|0;c=((a=a+Math.imul(y,gt)|0)+(i>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(B,J),i=(i=Math.imul(B,K))+Math.imul(N,J)|0,a=Math.imul(N,K),n=n+Math.imul(D,$)|0,i=(i=i+Math.imul(D,tt)|0)+Math.imul(R,$)|0,a=a+Math.imul(R,tt)|0,n=n+Math.imul(P,rt)|0,i=(i=i+Math.imul(P,nt)|0)+Math.imul(z,rt)|0,a=a+Math.imul(z,nt)|0,n=n+Math.imul(C,at)|0,i=(i=i+Math.imul(C,ot)|0)+Math.imul(L,at)|0,a=a+Math.imul(L,ot)|0,n=n+Math.imul(A,lt)|0,i=(i=i+Math.imul(A,ct)|0)+Math.imul(S,lt)|0,a=a+Math.imul(S,ct)|0,n=n+Math.imul(T,ft)|0,i=(i=i+Math.imul(T,ht)|0)+Math.imul(k,ft)|0,a=a+Math.imul(k,ht)|0;var Et=(c+(n=n+Math.imul(b,dt)|0)|0)+((8191&(i=(i=i+Math.imul(b,gt)|0)+Math.imul(_,dt)|0))<<13)|0;c=((a=a+Math.imul(_,gt)|0)+(i>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(B,$),i=(i=Math.imul(B,tt))+Math.imul(N,$)|0,a=Math.imul(N,tt),n=n+Math.imul(D,rt)|0,i=(i=i+Math.imul(D,nt)|0)+Math.imul(R,rt)|0,a=a+Math.imul(R,nt)|0,n=n+Math.imul(P,at)|0,i=(i=i+Math.imul(P,ot)|0)+Math.imul(z,at)|0,a=a+Math.imul(z,ot)|0,n=n+Math.imul(C,lt)|0,i=(i=i+Math.imul(C,ct)|0)+Math.imul(L,lt)|0,a=a+Math.imul(L,ct)|0,n=n+Math.imul(A,ft)|0,i=(i=i+Math.imul(A,ht)|0)+Math.imul(S,ft)|0,a=a+Math.imul(S,ht)|0;var Ct=(c+(n=n+Math.imul(T,dt)|0)|0)+((8191&(i=(i=i+Math.imul(T,gt)|0)+Math.imul(k,dt)|0))<<13)|0;c=((a=a+Math.imul(k,gt)|0)+(i>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,n=Math.imul(B,rt),i=(i=Math.imul(B,nt))+Math.imul(N,rt)|0,a=Math.imul(N,nt),n=n+Math.imul(D,at)|0,i=(i=i+Math.imul(D,ot)|0)+Math.imul(R,at)|0,a=a+Math.imul(R,ot)|0,n=n+Math.imul(P,lt)|0,i=(i=i+Math.imul(P,ct)|0)+Math.imul(z,lt)|0,a=a+Math.imul(z,ct)|0,n=n+Math.imul(C,ft)|0,i=(i=i+Math.imul(C,ht)|0)+Math.imul(L,ft)|0,a=a+Math.imul(L,ht)|0;var Lt=(c+(n=n+Math.imul(A,dt)|0)|0)+((8191&(i=(i=i+Math.imul(A,gt)|0)+Math.imul(S,dt)|0))<<13)|0;c=((a=a+Math.imul(S,gt)|0)+(i>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,n=Math.imul(B,at),i=(i=Math.imul(B,ot))+Math.imul(N,at)|0,a=Math.imul(N,ot),n=n+Math.imul(D,lt)|0,i=(i=i+Math.imul(D,ct)|0)+Math.imul(R,lt)|0,a=a+Math.imul(R,ct)|0,n=n+Math.imul(P,ft)|0,i=(i=i+Math.imul(P,ht)|0)+Math.imul(z,ft)|0,a=a+Math.imul(z,ht)|0;var It=(c+(n=n+Math.imul(C,dt)|0)|0)+((8191&(i=(i=i+Math.imul(C,gt)|0)+Math.imul(L,dt)|0))<<13)|0;c=((a=a+Math.imul(L,gt)|0)+(i>>>13)|0)+(It>>>26)|0,It&=67108863,n=Math.imul(B,lt),i=(i=Math.imul(B,ct))+Math.imul(N,lt)|0,a=Math.imul(N,ct),n=n+Math.imul(D,ft)|0,i=(i=i+Math.imul(D,ht)|0)+Math.imul(R,ft)|0,a=a+Math.imul(R,ht)|0;var Pt=(c+(n=n+Math.imul(P,dt)|0)|0)+((8191&(i=(i=i+Math.imul(P,gt)|0)+Math.imul(z,dt)|0))<<13)|0;c=((a=a+Math.imul(z,gt)|0)+(i>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,n=Math.imul(B,ft),i=(i=Math.imul(B,ht))+Math.imul(N,ft)|0,a=Math.imul(N,ht);var zt=(c+(n=n+Math.imul(D,dt)|0)|0)+((8191&(i=(i=i+Math.imul(D,gt)|0)+Math.imul(R,dt)|0))<<13)|0;c=((a=a+Math.imul(R,gt)|0)+(i>>>13)|0)+(zt>>>26)|0,zt&=67108863;var Ot=(c+(n=Math.imul(B,dt))|0)+((8191&(i=(i=Math.imul(B,gt))+Math.imul(N,dt)|0))<<13)|0;return c=((a=Math.imul(N,gt))+(i>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,l[0]=mt,l[1]=vt,l[2]=yt,l[3]=xt,l[4]=bt,l[5]=_t,l[6]=wt,l[7]=Tt,l[8]=kt,l[9]=Mt,l[10]=At,l[11]=St,l[12]=Et,l[13]=Ct,l[14]=Lt,l[15]=It,l[16]=Pt,l[17]=zt,l[18]=Ot,0!==c&&(l[19]=c,r.length++),r};function d(t,e,r){return(new g).mulp(t,e,r)}function g(t,e){this.x=t,this.y=e}Math.imul||(p=h),a.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?p(this,t,e):r<63?h(this,t,e):r<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var n=0,i=0,a=0;a<r.length-1;a++){var o=i;i=0;for(var s=67108863&n,l=Math.min(a,e.length-1),c=Math.max(0,a-t.length+1);c<=l;c++){var u=a-c,f=(0|t.words[u])*(0|e.words[c]),h=67108863&f;s=67108863&(h=h+s|0),i+=(o=(o=o+(f/67108864|0)|0)+(h>>>26)|0)>>>26,o&=67108863}r.words[a]=s,n=o,o=i}return 0!==n?r.words[a]=n:r.length--,r.strip()}(this,t,e):d(this,t,e)},g.prototype.makeRBT=function(t){for(var e=new Array(t),r=a.prototype._countBits(t)-1,n=0;n<t;n++)e[n]=this.revBin(n,r,t);return e},g.prototype.revBin=function(t,e,r){if(0===t||t===r-1)return t;for(var n=0,i=0;i<e;i++)n|=(1&t)<<e-i-1,t>>=1;return n},g.prototype.permute=function(t,e,r,n,i,a){for(var o=0;o<a;o++)n[o]=e[t[o]],i[o]=r[t[o]]},g.prototype.transform=function(t,e,r,n,i,a){this.permute(a,t,e,r,n,i);for(var o=1;o<i;o<<=1)for(var s=o<<1,l=Math.cos(2*Math.PI/s),c=Math.sin(2*Math.PI/s),u=0;u<i;u+=s)for(var f=l,h=c,p=0;p<o;p++){var d=r[u+p],g=n[u+p],m=r[u+p+o],v=n[u+p+o],y=f*m-h*v;v=f*v+h*m,m=y,r[u+p]=d+m,n[u+p]=g+v,r[u+p+o]=d-m,n[u+p+o]=g-v,p!==s&&(y=l*f-c*h,h=l*h+c*f,f=y)}},g.prototype.guessLen13b=function(t,e){var r=1|Math.max(e,t),n=1&r,i=0;for(r=r/2|0;r;r>>>=1)i++;return 1<<i+1+n},g.prototype.conjugate=function(t,e,r){if(!(r<=1))for(var n=0;n<r/2;n++){var i=t[n];t[n]=t[r-n-1],t[r-n-1]=i,i=e[n],e[n]=-e[r-n-1],e[r-n-1]=-i}},g.prototype.normalize13b=function(t,e){for(var r=0,n=0;n<e/2;n++){var i=8192*Math.round(t[2*n+1]/e)+Math.round(t[2*n]/e)+r;t[n]=67108863&i,r=i<67108864?0:i/67108864|0}return t},g.prototype.convert13b=function(t,e,r,i){for(var a=0,o=0;o<e;o++)a+=0|t[o],r[2*o]=8191&a,a>>>=13,r[2*o+1]=8191&a,a>>>=13;for(o=2*e;o<i;++o)r[o]=0;n(0===a),n(0==(-8192&a))},g.prototype.stub=function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=0;return e},g.prototype.mulp=function(t,e,r){var n=2*this.guessLen13b(t.length,e.length),i=this.makeRBT(n),a=this.stub(n),o=new Array(n),s=new Array(n),l=new Array(n),c=new Array(n),u=new Array(n),f=new Array(n),h=r.words;h.length=n,this.convert13b(t.words,t.length,o,n),this.convert13b(e.words,e.length,c,n),this.transform(o,a,s,l,n,i),this.transform(c,a,u,f,n,i);for(var p=0;p<n;p++){var d=s[p]*u[p]-l[p]*f[p];l[p]=s[p]*f[p]+l[p]*u[p],s[p]=d}return this.conjugate(s,l,n),this.transform(s,l,h,a,n,i),this.conjugate(h,a,n),this.normalize13b(h,n),r.negative=t.negative^e.negative,r.length=t.length+e.length,r.strip()},a.prototype.mul=function(t){var e=new a(null);return e.words=new Array(this.length+t.length),this.mulTo(t,e)},a.prototype.mulf=function(t){var e=new a(null);return e.words=new Array(this.length+t.length),d(this,t,e)},a.prototype.imul=function(t){return this.clone().mulTo(t,this)},a.prototype.imuln=function(t){n("number"==typeof t),n(t<67108864);for(var e=0,r=0;r<this.length;r++){var i=(0|this.words[r])*t,a=(67108863&i)+(67108863&e);e>>=26,e+=i/67108864|0,e+=a>>>26,this.words[r]=67108863&a}return 0!==e&&(this.words[r]=e,this.length++),this},a.prototype.muln=function(t){return this.clone().imuln(t)},a.prototype.sqr=function(){return this.mul(this)},a.prototype.isqr=function(){return this.imul(this.clone())},a.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r<e.length;r++){var n=r/26|0,i=r%26;e[r]=(t.words[n]&1<<i)>>>i}return e}(t);if(0===e.length)return new a(1);for(var r=this,n=0;n<e.length&&0===e[n];n++,r=r.sqr());if(++n<e.length)for(var i=r.sqr();n<e.length;n++,i=i.sqr())0!==e[n]&&(r=r.mul(i));return r},a.prototype.iushln=function(t){n("number"==typeof t&&t>=0);var e,r=t%26,i=(t-r)/26,a=67108863>>>26-r<<26-r;if(0!==r){var o=0;for(e=0;e<this.length;e++){var s=this.words[e]&a,l=(0|this.words[e])-s<<r;this.words[e]=l|o,o=s>>>26-r}o&&(this.words[e]=o,this.length++)}if(0!==i){for(e=this.length-1;e>=0;e--)this.words[e+i]=this.words[e];for(e=0;e<i;e++)this.words[e]=0;this.length+=i}return this.strip()},a.prototype.ishln=function(t){return n(0===this.negative),this.iushln(t)},a.prototype.iushrn=function(t,e,r){var i;n("number"==typeof t&&t>=0),i=e?(e-e%26)/26:0;var a=t%26,o=Math.min((t-a)/26,this.length),s=67108863^67108863>>>a<<a,l=r;if(i-=o,i=Math.max(0,i),l){for(var c=0;c<o;c++)l.words[c]=this.words[c];l.length=o}if(0===o);else if(this.length>o)for(this.length-=o,c=0;c<this.length;c++)this.words[c]=this.words[c+o];else this.words[0]=0,this.length=1;var u=0;for(c=this.length-1;c>=0&&(0!==u||c>=i);c--){var f=0|this.words[c];this.words[c]=u<<26-a|f>>>a,u=f&s}return l&&0!==u&&(l.words[l.length++]=u),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},a.prototype.ishrn=function(t,e,r){return n(0===this.negative),this.iushrn(t,e,r)},a.prototype.shln=function(t){return this.clone().ishln(t)},a.prototype.ushln=function(t){return this.clone().iushln(t)},a.prototype.shrn=function(t){return this.clone().ishrn(t)},a.prototype.ushrn=function(t){return this.clone().iushrn(t)},a.prototype.testn=function(t){n("number"==typeof t&&t>=0);var e=t%26,r=(t-e)/26,i=1<<e;return!(this.length<=r)&&!!(this.words[r]&i)},a.prototype.imaskn=function(t){n("number"==typeof t&&t>=0);var e=t%26,r=(t-e)/26;if(n(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var i=67108863^67108863>>>e<<e;this.words[this.length-1]&=i}return this.strip()},a.prototype.maskn=function(t){return this.clone().imaskn(t)},a.prototype.iaddn=function(t){return n("number"==typeof t),n(t<67108864),t<0?this.isubn(-t):0!==this.negative?1===this.length&&(0|this.words[0])<t?(this.words[0]=t-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(t),this.negative=1,this):this._iaddn(t)},a.prototype._iaddn=function(t){this.words[0]+=t;for(var e=0;e<this.length&&this.words[e]>=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},a.prototype.isubn=function(t){if(n("number"==typeof t),n(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e<this.length&&this.words[e]<0;e++)this.words[e]+=67108864,this.words[e+1]-=1;return this.strip()},a.prototype.addn=function(t){return this.clone().iaddn(t)},a.prototype.subn=function(t){return this.clone().isubn(t)},a.prototype.iabs=function(){return this.negative=0,this},a.prototype.abs=function(){return this.clone().iabs()},a.prototype._ishlnsubmul=function(t,e,r){var i,a,o=t.length+r;this._expand(o);var s=0;for(i=0;i<t.length;i++){a=(0|this.words[i+r])+s;var l=(0|t.words[i])*e;s=((a-=67108863&l)>>26)-(l/67108864|0),this.words[i+r]=67108863&a}for(;i<this.length-r;i++)s=(a=(0|this.words[i+r])+s)>>26,this.words[i+r]=67108863&a;if(0===s)return this.strip();for(n(-1===s),s=0,i=0;i<this.length;i++)s=(a=-(0|this.words[i])+s)>>26,this.words[i]=67108863&a;return this.negative=1,this.strip()},a.prototype._wordDiv=function(t,e){var r=(this.length,t.length),n=this.clone(),i=t,o=0|i.words[i.length-1];0!==(r=26-this._countBits(o))&&(i=i.ushln(r),n.iushln(r),o=0|i.words[i.length-1]);var s,l=n.length-i.length;if("mod"!==e){(s=new a(null)).length=l+1,s.words=new Array(s.length);for(var c=0;c<s.length;c++)s.words[c]=0}var u=n.clone()._ishlnsubmul(i,1,l);0===u.negative&&(n=u,s&&(s.words[l]=1));for(var f=l-1;f>=0;f--){var h=67108864*(0|n.words[i.length+f])+(0|n.words[i.length+f-1]);for(h=Math.min(h/o|0,67108863),n._ishlnsubmul(i,h,f);0!==n.negative;)h--,n.negative=0,n._ishlnsubmul(i,1,f),n.isZero()||(n.negative^=1);s&&(s.words[f]=h)}return s&&s.strip(),n.strip(),"div"!==e&&0!==r&&n.iushrn(r),{div:s||null,mod:n}},a.prototype.divmod=function(t,e,r){return n(!t.isZero()),this.isZero()?{div:new a(0),mod:new a(0)}:0!==this.negative&&0===t.negative?(s=this.neg().divmod(t,e),"mod"!==e&&(i=s.div.neg()),"div"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.iadd(t)),{div:i,mod:o}):0===this.negative&&0!==t.negative?(s=this.divmod(t.neg(),e),"mod"!==e&&(i=s.div.neg()),{div:i,mod:s.mod}):0!=(this.negative&t.negative)?(s=this.neg().divmod(t.neg(),e),"div"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.isub(t)),{div:s.div,mod:o}):t.length>this.length||this.cmp(t)<0?{div:new a(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new a(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new a(this.modn(t.words[0]))}:this._wordDiv(t,e);var i,o,s},a.prototype.div=function(t){return this.divmod(t,"div",!1).div},a.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},a.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},a.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),i=t.andln(1),a=r.cmp(n);return a<0||1===i&&0===a?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},a.prototype.modn=function(t){n(t<=67108863);for(var e=(1<<26)%t,r=0,i=this.length-1;i>=0;i--)r=(e*r+(0|this.words[i]))%t;return r},a.prototype.idivn=function(t){n(t<=67108863);for(var e=0,r=this.length-1;r>=0;r--){var i=(0|this.words[r])+67108864*e;this.words[r]=i/t|0,e=i%t}return this.strip()},a.prototype.divn=function(t){return this.clone().idivn(t)},a.prototype.egcd=function(t){n(0===t.negative),n(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var i=new a(1),o=new a(0),s=new a(0),l=new a(1),c=0;e.isEven()&&r.isEven();)e.iushrn(1),r.iushrn(1),++c;for(var u=r.clone(),f=e.clone();!e.isZero();){for(var h=0,p=1;0==(e.words[0]&p)&&h<26;++h,p<<=1);if(h>0)for(e.iushrn(h);h-- >0;)(i.isOdd()||o.isOdd())&&(i.iadd(u),o.isub(f)),i.iushrn(1),o.iushrn(1);for(var d=0,g=1;0==(r.words[0]&g)&&d<26;++d,g<<=1);if(d>0)for(r.iushrn(d);d-- >0;)(s.isOdd()||l.isOdd())&&(s.iadd(u),l.isub(f)),s.iushrn(1),l.iushrn(1);e.cmp(r)>=0?(e.isub(r),i.isub(s),o.isub(l)):(r.isub(e),s.isub(i),l.isub(o))}return{a:s,b:l,gcd:r.iushln(c)}},a.prototype._invmp=function(t){n(0===t.negative),n(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var i,o=new a(1),s=new a(0),l=r.clone();e.cmpn(1)>0&&r.cmpn(1)>0;){for(var c=0,u=1;0==(e.words[0]&u)&&c<26;++c,u<<=1);if(c>0)for(e.iushrn(c);c-- >0;)o.isOdd()&&o.iadd(l),o.iushrn(1);for(var f=0,h=1;0==(r.words[0]&h)&&f<26;++f,h<<=1);if(f>0)for(r.iushrn(f);f-- >0;)s.isOdd()&&s.iadd(l),s.iushrn(1);e.cmp(r)>=0?(e.isub(r),o.isub(s)):(r.isub(e),s.isub(o))}return(i=0===e.cmpn(1)?o:s).cmpn(0)<0&&i.iadd(t),i},a.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var n=0;e.isEven()&&r.isEven();n++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=e.cmp(r);if(i<0){var a=e;e=r,r=a}else if(0===i||0===r.cmpn(1))break;e.isub(r)}return r.iushln(n)},a.prototype.invm=function(t){return this.egcd(t).a.umod(t)},a.prototype.isEven=function(){return 0==(1&this.words[0])},a.prototype.isOdd=function(){return 1==(1&this.words[0])},a.prototype.andln=function(t){return this.words[0]&t},a.prototype.bincn=function(t){n("number"==typeof t);var e=t%26,r=(t-e)/26,i=1<<e;if(this.length<=r)return this._expand(r+1),this.words[r]|=i,this;for(var a=i,o=r;0!==a&&o<this.length;o++){var s=0|this.words[o];a=(s+=a)>>>26,s&=67108863,this.words[o]=s}return 0!==a&&(this.words[o]=a,this.length++),this},a.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},a.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),this.length>1)e=1;else{r&&(t=-t),n(t<=67108863,"Number is too big");var i=0|this.words[0];e=i===t?0:i<t?-1:1}return 0!==this.negative?0|-e:e},a.prototype.cmp=function(t){if(0!==this.negative&&0===t.negative)return-1;if(0===this.negative&&0!==t.negative)return 1;var e=this.ucmp(t);return 0!==this.negative?0|-e:e},a.prototype.ucmp=function(t){if(this.length>t.length)return 1;if(this.length<t.length)return-1;for(var e=0,r=this.length-1;r>=0;r--){var n=0|this.words[r],i=0|t.words[r];if(n!==i){n<i?e=-1:n>i&&(e=1);break}}return e},a.prototype.gtn=function(t){return 1===this.cmpn(t)},a.prototype.gt=function(t){return 1===this.cmp(t)},a.prototype.gten=function(t){return this.cmpn(t)>=0},a.prototype.gte=function(t){return this.cmp(t)>=0},a.prototype.ltn=function(t){return-1===this.cmpn(t)},a.prototype.lt=function(t){return-1===this.cmp(t)},a.prototype.lten=function(t){return this.cmpn(t)<=0},a.prototype.lte=function(t){return this.cmp(t)<=0},a.prototype.eqn=function(t){return 0===this.cmpn(t)},a.prototype.eq=function(t){return 0===this.cmp(t)},a.red=function(t){return new w(t)},a.prototype.toRed=function(t){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},a.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},a.prototype._forceRed=function(t){return this.red=t,this},a.prototype.forceRed=function(t){return n(!this.red,"Already a number in reduction context"),this._forceRed(t)},a.prototype.redAdd=function(t){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},a.prototype.redIAdd=function(t){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},a.prototype.redSub=function(t){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},a.prototype.redISub=function(t){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},a.prototype.redShl=function(t){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},a.prototype.redMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},a.prototype.redIMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},a.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},a.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},a.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},a.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},a.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},a.prototype.redPow=function(t){return n(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var m={k256:null,p224:null,p192:null,p25519:null};function v(t,e){this.name=t,this.p=new a(e,16),this.n=this.p.bitLength(),this.k=new a(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function y(){v.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function x(){v.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function b(){v.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function _(){v.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function w(t){if("string"==typeof t){var e=a._prime(t);this.m=e.p,this.prime=e}else n(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function T(t){w.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new a(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}v.prototype._tmp=function(){var t=new a(null);return t.words=new Array(Math.ceil(this.n/13)),t},v.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e<this.n?-1:r.ucmp(this.p);return 0===n?(r.words[0]=0,r.length=1):n>0?r.isub(this.p):r.strip(),r},v.prototype.split=function(t,e){t.iushrn(this.n,0,e)},v.prototype.imulK=function(t){return t.imul(this.k)},i(y,v),y.prototype.split=function(t,e){for(var r=Math.min(t.length,9),n=0;n<r;n++)e.words[n]=t.words[n];if(e.length=r,t.length<=9)return t.words[0]=0,void(t.length=1);var i=t.words[9];for(e.words[e.length++]=4194303&i,n=10;n<t.length;n++){var a=0|t.words[n];t.words[n-10]=(4194303&a)<<4|i>>>22,i=a}i>>>=22,t.words[n-10]=i,0===i&&t.length>10?t.length-=10:t.length-=9},y.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r<t.length;r++){var n=0|t.words[r];e+=977*n,t.words[r]=67108863&e,e=64*n+(e/67108864|0)}return 0===t.words[t.length-1]&&(t.length--,0===t.words[t.length-1]&&t.length--),t},i(x,v),i(b,v),i(_,v),_.prototype.imulK=function(t){for(var e=0,r=0;r<t.length;r++){var n=19*(0|t.words[r])+e,i=67108863&n;n>>>=26,t.words[r]=i,e=n}return 0!==e&&(t.words[t.length++]=e),t},a._prime=function(t){if(m[t])return m[t];var e;if("k256"===t)e=new y;else if("p224"===t)e=new x;else if("p192"===t)e=new b;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new _}return m[t]=e,e},w.prototype._verify1=function(t){n(0===t.negative,"red works only with positives"),n(t.red,"red works only with red numbers")},w.prototype._verify2=function(t,e){n(0==(t.negative|e.negative),"red works only with positives"),n(t.red&&t.red===e.red,"red works only with red numbers")},w.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},w.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},w.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},w.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},w.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},w.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},w.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},w.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},w.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},w.prototype.isqr=function(t){return this.imul(t,t.clone())},w.prototype.sqr=function(t){return this.mul(t,t)},w.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(n(e%2==1),3===e){var r=this.m.add(new a(1)).iushrn(2);return this.pow(t,r)}for(var i=this.m.subn(1),o=0;!i.isZero()&&0===i.andln(1);)o++,i.iushrn(1);n(!i.isZero());var s=new a(1).toRed(this),l=s.redNeg(),c=this.m.subn(1).iushrn(1),u=this.m.bitLength();for(u=new a(2*u*u).toRed(this);0!==this.pow(u,c).cmp(l);)u.redIAdd(l);for(var f=this.pow(u,i),h=this.pow(t,i.addn(1).iushrn(1)),p=this.pow(t,i),d=o;0!==p.cmp(s);){for(var g=p,m=0;0!==g.cmp(s);m++)g=g.redSqr();n(m<d);var v=this.pow(f,new a(1).iushln(d-m-1));h=h.redMul(v),f=v.redSqr(),p=p.redMul(f),d=m}return h},w.prototype.invm=function(t){var e=t._invmp(this.m);return 0!==e.negative?(e.negative=0,this.imod(e).redNeg()):this.imod(e)},w.prototype.pow=function(t,e){if(e.isZero())return new a(1).toRed(this);if(0===e.cmpn(1))return t.clone();var r=new Array(16);r[0]=new a(1).toRed(this),r[1]=t;for(var n=2;n<r.length;n++)r[n]=this.mul(r[n-1],t);var i=r[0],o=0,s=0,l=e.bitLength()%26;for(0===l&&(l=26),n=e.length-1;n>=0;n--){for(var c=e.words[n],u=l-1;u>=0;u--){var f=c>>u&1;i!==r[0]&&(i=this.sqr(i)),0!==f||0!==o?(o<<=1,o|=f,(4===++s||0===n&&0===u)&&(i=this.mul(i,r[o]),s=0,o=0)):s=0}l=26}return i},w.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},w.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},a.mont=function(t){return new T(t)},i(T,w),T.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},T.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},T.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),a=i;return i.cmp(this.m)>=0?a=i.isub(this.m):i.cmpn(0)<0&&(a=i.iadd(this.m)),a._forceRed(this)},T.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new a(0)._forceRed(this);var r=t.mul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},T.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}("undefined"==typeof e||e,this)},{buffer:108}],100:[function(t,e,r){"use strict";e.exports=function(t){var e,r,n,i=t.length,a=0;for(e=0;e<i;++e)a+=t[e].length;var o=new Array(a),s=0;for(e=0;e<i;++e){var l=t[e],c=l.length;for(r=0;r<c;++r){var u=o[s++]=new Array(c-1),f=0;for(n=0;n<c;++n)n!==r&&(u[f++]=l[n]);if(1&r){var h=u[1];u[1]=u[0],u[0]=h}}}return o}},{}],101:[function(t,e,r){"use strict";e.exports=function(t,e,r){switch(arguments.length){case 1:return f(t);case 2:return"function"==typeof e?c(t,t,e,!0):h(t,e);case 3:return c(t,e,r,!1);default:throw new Error("box-intersect: Invalid arguments")}};var n,i=t("typedarray-pool"),a=t("./lib/sweep"),o=t("./lib/intersect");function s(t,e){for(var r=0;r<t;++r)if(!(e[r]<=e[r+t]))return!0;return!1}function l(t,e,r,n){for(var i=0,a=0,o=0,l=t.length;o<l;++o){var c=t[o];if(!s(e,c)){for(var u=0;u<2*e;++u)r[i++]=c[u];n[a++]=o}}return a}function c(t,e,r,n){var s=t.length,c=e.length;if(!(s<=0||c<=0)){var u=t[0].length>>>1;if(!(u<=0)){var f,h=i.mallocDouble(2*u*s),p=i.mallocInt32(s);if((s=l(t,u,h,p))>0){if(1===u&&n)a.init(s),f=a.sweepComplete(u,r,0,s,h,p,0,s,h,p);else{var d=i.mallocDouble(2*u*c),g=i.mallocInt32(c);(c=l(e,u,d,g))>0&&(a.init(s+c),f=1===u?a.sweepBipartite(u,r,0,s,h,p,0,c,d,g):o(u,r,n,s,h,p,c,d,g),i.free(d),i.free(g))}i.free(h),i.free(p)}return f}}}function u(t,e){n.push([t,e])}function f(t){return n=[],c(t,t,u,!0),n}function h(t,e){return n=[],c(t,e,u,!1),n}},{"./lib/intersect":103,"./lib/sweep":107,"typedarray-pool":595}],102:[function(t,e,r){"use strict";var n=["d","ax","vv","rs","re","rb","ri","bs","be","bb","bi"];function i(t){var e="bruteForce"+(t?"Full":"Partial"),r=[],i=n.slice();t||i.splice(3,0,"fp");var a=["function "+e+"("+i.join()+"){"];function o(e,i){var o=function(t,e,r){var i="bruteForce"+(t?"Red":"Blue")+(e?"Flip":"")+(r?"Full":""),a=["function ",i,"(",n.join(),"){","var ","es","=2*","d",";"],o="for(var i=rs,rp=es*rs;i<re;++i,rp+=es){var x0=rb[ax+rp],x1=rb[ax+rp+d],xi=ri[i];",s="for(var j=bs,bp=es*bs;j<be;++j,bp+=es){var y0=bb[ax+bp],"+(r?"y1=bb[ax+bp+d],":"")+"yi=bi[j];";return t?a.push(o,"Q",":",s):a.push(s,"Q",":",o),r?a.push("if(y1<x0||x1<y0)continue;"):e?a.push("if(y0<=x0||x1<y0)continue;"):a.push("if(y0<x0||x1<y0)continue;"),a.push("for(var k=ax+1;k<d;++k){var r0=rb[k+rp],r1=rb[k+d+rp],b0=bb[k+bp],b1=bb[k+d+bp];if(r1<b0||b1<r0)continue Q;}var rv=vv("),e?a.push("yi,xi"):a.push("xi,yi"),a.push(");if(rv!==void 0)return rv;}}}"),{name:i,code:a.join("")}}(e,i,t);r.push(o.code),a.push("return "+o.name+"("+n.join()+");")}a.push("if(re-rs>be-bs){"),t?(o(!0,!1),a.push("}else{"),o(!1,!1)):(a.push("if(fp){"),o(!0,!0),a.push("}else{"),o(!0,!1),a.push("}}else{if(fp){"),o(!1,!0),a.push("}else{"),o(!1,!1),a.push("}")),a.push("}}return "+e);var s=r.join("")+a.join("");return new Function(s)()}r.partial=i(!1),r.full=i(!0)},{}],103:[function(t,e,r){"use strict";e.exports=function(t,e,r,a,u,w,T,k,M){!function(t,e){var r=8*i.log2(e+1)*(t+1)|0,a=i.nextPow2(6*r);v.length<a&&(n.free(v),v=n.mallocInt32(a));var o=i.nextPow2(2*r);y.length<o&&(n.free(y),y=n.mallocDouble(o))}(t,a+T);var A,S=0,E=2*t;x(S++,0,0,a,0,T,r?16:0,-1/0,1/0),r||x(S++,0,0,T,0,a,1,-1/0,1/0);for(;S>0;){var C=6*(S-=1),L=v[C],I=v[C+1],P=v[C+2],z=v[C+3],O=v[C+4],D=v[C+5],R=2*S,F=y[R],B=y[R+1],N=1&D,j=!!(16&D),U=u,V=w,q=k,H=M;if(N&&(U=k,V=M,q=u,H=w),!(2&D&&(P=p(t,L,I,P,U,V,B),I>=P)||4&D&&(I=d(t,L,I,P,U,V,F))>=P)){var G=P-I,Y=O-z;if(j){if(t*G*(G+Y)<1<<22){if(void 0!==(A=l.scanComplete(t,L,e,I,P,U,V,z,O,q,H)))return A;continue}}else{if(t*Math.min(G,Y)<128){if(void 0!==(A=o(t,L,e,N,I,P,U,V,z,O,q,H)))return A;continue}if(t*G*Y<1<<22){if(void 0!==(A=l.scanBipartite(t,L,e,N,I,P,U,V,z,O,q,H)))return A;continue}}var W=f(t,L,I,P,U,V,F,B);if(I<W)if(t*(W-I)<128){if(void 0!==(A=s(t,L+1,e,I,W,U,V,z,O,q,H)))return A}else if(L===t-2){if(void 0!==(A=N?l.sweepBipartite(t,e,z,O,q,H,I,W,U,V):l.sweepBipartite(t,e,I,W,U,V,z,O,q,H)))return A}else x(S++,L+1,I,W,z,O,N,-1/0,1/0),x(S++,L+1,z,O,I,W,1^N,-1/0,1/0);if(W<P){var X=c(t,L,z,O,q,H),Z=q[E*X+L],J=h(t,L,X,O,q,H,Z);if(J<O&&x(S++,L,W,P,J,O,(4|N)+(j?16:0),Z,B),z<X&&x(S++,L,W,P,z,X,(2|N)+(j?16:0),F,Z),X+1===J){if(void 0!==(A=j?_(t,L,e,W,P,U,V,X,q,H[X]):b(t,L,e,N,W,P,U,V,X,q,H[X])))return A}else if(X<J){var K;if(j){if(K=g(t,L,W,P,U,V,Z),W<K){var Q=h(t,L,W,K,U,V,Z);if(L===t-2){if(W<Q&&void 0!==(A=l.sweepComplete(t,e,W,Q,U,V,X,J,q,H)))return A;if(Q<K&&void 0!==(A=l.sweepBipartite(t,e,Q,K,U,V,X,J,q,H)))return A}else W<Q&&x(S++,L+1,W,Q,X,J,16,-1/0,1/0),Q<K&&(x(S++,L+1,Q,K,X,J,0,-1/0,1/0),x(S++,L+1,X,J,Q,K,1,-1/0,1/0))}}else K=N?m(t,L,W,P,U,V,Z):g(t,L,W,P,U,V,Z),W<K&&(L===t-2?A=N?l.sweepBipartite(t,e,X,J,q,H,W,K,U,V):l.sweepBipartite(t,e,W,K,U,V,X,J,q,H):(x(S++,L+1,W,K,X,J,N,-1/0,1/0),x(S++,L+1,X,J,W,K,1^N,-1/0,1/0)))}}}}};var n=t("typedarray-pool"),i=t("bit-twiddle"),a=t("./brute"),o=a.partial,s=a.full,l=t("./sweep"),c=t("./median"),u=t("./partition"),f=u("!(lo>=p0)&&!(p1>=hi)",["p0","p1"]),h=u("lo===p0",["p0"]),p=u("lo<p0",["p0"]),d=u("hi<=p0",["p0"]),g=u("lo<=p0&&p0<=hi",["p0"]),m=u("lo<p0&&p0<=hi",["p0"]),v=n.mallocInt32(1024),y=n.mallocDouble(1024);function x(t,e,r,n,i,a,o,s,l){var c=6*t;v[c]=e,v[c+1]=r,v[c+2]=n,v[c+3]=i,v[c+4]=a,v[c+5]=o;var u=2*t;y[u]=s,y[u+1]=l}function b(t,e,r,n,i,a,o,s,l,c,u){var f=2*t,h=l*f,p=c[h+e];t:for(var d=i,g=i*f;d<a;++d,g+=f){var m=o[g+e],v=o[g+e+t];if(!(p<m||v<p)&&(!n||p!==m)){for(var y,x=s[d],b=e+1;b<t;++b){m=o[g+b],v=o[g+b+t];var _=c[h+b],w=c[h+b+t];if(v<_||w<m)continue t}if(void 0!==(y=n?r(u,x):r(x,u)))return y}}}function _(t,e,r,n,i,a,o,s,l,c){var u=2*t,f=s*u,h=l[f+e];t:for(var p=n,d=n*u;p<i;++p,d+=u){var g=o[p];if(g!==c){var m=a[d+e],v=a[d+e+t];if(!(h<m||v<h)){for(var y=e+1;y<t;++y){m=a[d+y],v=a[d+y+t];var x=l[f+y],b=l[f+y+t];if(v<x||b<m)continue t}var _=r(g,c);if(void 0!==_)return _}}}}},{"./brute":102,"./median":104,"./partition":105,"./sweep":107,"bit-twiddle":97,"typedarray-pool":595}],104:[function(t,e,r){"use strict";e.exports=function(t,e,r,a,o,s){if(a<=r+1)return r;var l=r,c=a,u=a+r>>>1,f=2*t,h=u,p=o[f*u+e];for(;l<c;){if(c-l<8){i(t,e,l,c,o,s),p=o[f*u+e];break}var d=c-l,g=Math.random()*d+l|0,m=o[f*g+e],v=Math.random()*d+l|0,y=o[f*v+e],x=Math.random()*d+l|0,b=o[f*x+e];m<=y?b>=y?(h=v,p=y):m>=b?(h=g,p=m):(h=x,p=b):y>=b?(h=v,p=y):b>=m?(h=g,p=m):(h=x,p=b);for(var _=f*(c-1),w=f*h,T=0;T<f;++T,++_,++w){var k=o[_];o[_]=o[w],o[w]=k}var M=s[c-1];s[c-1]=s[h],s[h]=M,h=n(t,e,l,c-1,o,s,p);for(_=f*(c-1),w=f*h,T=0;T<f;++T,++_,++w){k=o[_];o[_]=o[w],o[w]=k}M=s[c-1];if(s[c-1]=s[h],s[h]=M,u<h){for(c=h-1;l<c&&o[f*(c-1)+e]===p;)c-=1;c+=1}else{if(!(h<u))break;for(l=h+1;l<c&&o[f*l+e]===p;)l+=1}}return n(t,e,r,u,o,s,o[f*u+e])};var n=t("./partition")("lo<p0",["p0"]);function i(t,e,r,n,i,a){for(var o=2*t,s=o*(r+1)+e,l=r+1;l<n;++l,s+=o)for(var c=i[s],u=l,f=o*(l-1);u>r&&i[f+e]>c;--u,f-=o){for(var h=f,p=f+o,d=0;d<o;++d,++h,++p){var g=i[h];i[h]=i[p],i[p]=g}var m=a[u];a[u]=a[u-1],a[u-1]=m}}},{"./partition":105}],105:[function(t,e,r){"use strict";e.exports=function(t,e){var r="abcdef".split("").concat(e),n=[];t.indexOf("lo")>=0&&n.push("lo=e[k+n]");t.indexOf("hi")>=0&&n.push("hi=e[k+o]");return r.push("for(var j=2*a,k=j*c,l=k,m=c,n=b,o=a+b,p=c;d>p;++p,k+=j){var _;if($)if(m===p)m+=1,l+=j;else{for(var s=0;j>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".replace("_",n.join()).replace("$",t)),Function.apply(void 0,r)}},{}],106:[function(t,e,r){"use strict";e.exports=function(t,e){e<=128?n(0,e-1,t):function t(e,r,u){var f=(r-e+1)/6|0,h=e+f,p=r-f,d=e+r>>1,g=d-f,m=d+f,v=h,y=g,x=d,b=m,_=p,w=e+1,T=r-1,k=0;l(v,y,u)&&(k=v,v=y,y=k);l(b,_,u)&&(k=b,b=_,_=k);l(v,x,u)&&(k=v,v=x,x=k);l(y,x,u)&&(k=y,y=x,x=k);l(v,b,u)&&(k=v,v=b,b=k);l(x,b,u)&&(k=x,x=b,b=k);l(y,_,u)&&(k=y,y=_,_=k);l(y,x,u)&&(k=y,y=x,x=k);l(b,_,u)&&(k=b,b=_,_=k);for(var M=u[2*y],A=u[2*y+1],S=u[2*b],E=u[2*b+1],C=2*v,L=2*x,I=2*_,P=2*h,z=2*d,O=2*p,D=0;D<2;++D){var R=u[C+D],F=u[L+D],B=u[I+D];u[P+D]=R,u[z+D]=F,u[O+D]=B}a(g,e,u),a(m,r,u);for(var N=w;N<=T;++N)if(c(N,M,A,u))N!==w&&i(N,w,u),++w;else if(!c(N,S,E,u))for(;;){if(c(T,S,E,u)){c(T,M,A,u)?(o(N,w,T,u),++w,--T):(i(N,T,u),--T);break}if(--T<N)break}s(e,w-1,M,A,u),s(r,T+1,S,E,u),w-2-e<=32?n(e,w-2,u):t(e,w-2,u);r-(T+2)<=32?n(T+2,r,u):t(T+2,r,u);T-w<=32?n(w,T,u):t(w,T,u)}(0,e-1,t)};function n(t,e,r){for(var n=2*(t+1),i=t+1;i<=e;++i){for(var a=r[n++],o=r[n++],s=i,l=n-2;s-- >t;){var c=r[l-2],u=r[l-1];if(c<a)break;if(c===a&&u<o)break;r[l]=c,r[l+1]=u,l-=2}r[l]=a,r[l+1]=o}}function i(t,e,r){e*=2;var n=r[t*=2],i=r[t+1];r[t]=r[e],r[t+1]=r[e+1],r[e]=n,r[e+1]=i}function a(t,e,r){e*=2,r[t*=2]=r[e],r[t+1]=r[e+1]}function o(t,e,r,n){e*=2,r*=2;var i=n[t*=2],a=n[t+1];n[t]=n[e],n[t+1]=n[e+1],n[e]=n[r],n[e+1]=n[r+1],n[r]=i,n[r+1]=a}function s(t,e,r,n,i){e*=2,i[t*=2]=i[e],i[e]=r,i[t+1]=i[e+1],i[e+1]=n}function l(t,e,r){e*=2;var n=r[t*=2],i=r[e];return!(n<i)&&(n!==i||r[t+1]>r[e+1])}function c(t,e,r,n){var i=n[t*=2];return i<e||i===e&&n[t+1]<r}},{}],107:[function(t,e,r){"use strict";e.exports={init:function(t){var e=i.nextPow2(t);o.length<e&&(n.free(o),o=n.mallocInt32(e));s.length<e&&(n.free(s),s=n.mallocInt32(e));l.length<e&&(n.free(l),l=n.mallocInt32(e));c.length<e&&(n.free(c),c=n.mallocInt32(e));u.length<e&&(n.free(u),u=n.mallocInt32(e));f.length<e&&(n.free(f),f=n.mallocInt32(e));var r=8*e;h.length<r&&(n.free(h),h=n.mallocDouble(r))},sweepBipartite:function(t,e,r,n,i,u,f,g,m,v){for(var y=0,x=2*t,b=t-1,_=x-1,w=r;w<n;++w){var T=u[w],k=x*w;h[y++]=i[k+b],h[y++]=-(T+1),h[y++]=i[k+_],h[y++]=T}for(w=f;w<g;++w){T=v[w]+(1<<28);var M=x*w;h[y++]=m[M+b],h[y++]=-T,h[y++]=m[M+_],h[y++]=T}var A=y>>>1;a(h,A);var S=0,E=0;for(w=0;w<A;++w){var C=0|h[2*w+1];if(C>=1<<28)p(l,c,E--,C=C-(1<<28)|0);else if(C>=0)p(o,s,S--,C);else if(C<=-(1<<28)){C=-C-(1<<28)|0;for(var L=0;L<S;++L){if(void 0!==(I=e(o[L],C)))return I}d(l,c,E++,C)}else{C=-C-1|0;for(L=0;L<E;++L){var I;if(void 0!==(I=e(C,l[L])))return I}d(o,s,S++,C)}}},sweepComplete:function(t,e,r,n,i,g,m,v,y,x){for(var b=0,_=2*t,w=t-1,T=_-1,k=r;k<n;++k){var M=g[k]+1<<1,A=_*k;h[b++]=i[A+w],h[b++]=-M,h[b++]=i[A+T],h[b++]=M}for(k=m;k<v;++k){M=x[k]+1<<1;var S=_*k;h[b++]=y[S+w],h[b++]=1|-M,h[b++]=y[S+T],h[b++]=1|M}var E=b>>>1;a(h,E);var C=0,L=0,I=0;for(k=0;k<E;++k){var P=0|h[2*k+1],z=1&P;if(k<E-1&&P>>1==h[2*k+3]>>1&&(z=2,k+=1),P<0){for(var O=-(P>>1)-1,D=0;D<I;++D){if(void 0!==(R=e(u[D],O)))return R}if(0!==z)for(D=0;D<C;++D){if(void 0!==(R=e(o[D],O)))return R}if(1!==z)for(D=0;D<L;++D){var R;if(void 0!==(R=e(l[D],O)))return R}0===z?d(o,s,C++,O):1===z?d(l,c,L++,O):2===z&&d(u,f,I++,O)}else{O=(P>>1)-1;0===z?p(o,s,C--,O):1===z?p(l,c,L--,O):2===z&&p(u,f,I--,O)}}},scanBipartite:function(t,e,r,n,i,l,c,u,f,g,m,v){var y=0,x=2*t,b=e,_=e+t,w=1,T=1;n?T=1<<28:w=1<<28;for(var k=i;k<l;++k){var M=k+w,A=x*k;h[y++]=c[A+b],h[y++]=-M,h[y++]=c[A+_],h[y++]=M}for(k=f;k<g;++k){M=k+T;var S=x*k;h[y++]=m[S+b],h[y++]=-M}var E=y>>>1;a(h,E);var C=0;for(k=0;k<E;++k){var L=0|h[2*k+1];if(L<0){var I=!1;if((M=-L)>=1<<28?(I=!n,M-=1<<28):(I=!!n,M-=1),I)d(o,s,C++,M);else{var P=v[M],z=x*M,O=m[z+e+1],D=m[z+e+1+t];t:for(var R=0;R<C;++R){var F=o[R],B=x*F;if(!(D<c[B+e+1]||c[B+e+1+t]<O)){for(var N=e+2;N<t;++N)if(m[z+N+t]<c[B+N]||c[B+N+t]<m[z+N])continue t;var j,U=u[F];if(void 0!==(j=n?r(P,U):r(U,P)))return j}}}}else p(o,s,C--,L-w)}},scanComplete:function(t,e,r,n,i,s,l,c,u,f,p){for(var d=0,g=2*t,m=e,v=e+t,y=n;y<i;++y){var x=y+(1<<28),b=g*y;h[d++]=s[b+m],h[d++]=-x,h[d++]=s[b+v],h[d++]=x}for(y=c;y<u;++y){x=y+1;var _=g*y;h[d++]=f[_+m],h[d++]=-x}var w=d>>>1;a(h,w);var T=0;for(y=0;y<w;++y){var k=0|h[2*y+1];if(k<0){if((x=-k)>=1<<28)o[T++]=x-(1<<28);else{var M=p[x-=1],A=g*x,S=f[A+e+1],E=f[A+e+1+t];t:for(var C=0;C<T;++C){var L=o[C],I=l[L];if(I===M)break;var P=g*L;if(!(E<s[P+e+1]||s[P+e+1+t]<S)){for(var z=e+2;z<t;++z)if(f[A+z+t]<s[P+z]||s[P+z+t]<f[A+z])continue t;var O=r(I,M);if(void 0!==O)return O}}}}else{for(x=k-(1<<28),C=T-1;C>=0;--C)if(o[C]===x){for(z=C+1;z<T;++z)o[z-1]=o[z];break}--T}}}};var n=t("typedarray-pool"),i=t("bit-twiddle"),a=t("./sort"),o=n.mallocInt32(1024),s=n.mallocInt32(1024),l=n.mallocInt32(1024),c=n.mallocInt32(1024),u=n.mallocInt32(1024),f=n.mallocInt32(1024),h=n.mallocDouble(8192);function p(t,e,r,n){var i=e[n],a=t[r-1];t[i]=a,e[a]=i}function d(t,e,r,n){t[r]=n,e[n]=r}},{"./sort":106,"bit-twiddle":97,"typedarray-pool":595}],108:[function(t,e,r){},{}],109:[function(t,e,r){arguments[4][108][0].apply(r,arguments)},{dup:108}],110:[function(t,e,r){"use strict";var n,i="object"==typeof Reflect?Reflect:null,a=i&&"function"==typeof i.apply?i.apply:function(t,e,r){return Function.prototype.apply.call(t,e,r)};n=i&&"function"==typeof i.ownKeys?i.ownKeys:Object.getOwnPropertySymbols?function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:function(t){return Object.getOwnPropertyNames(t)};var o=Number.isNaN||function(t){return t!=t};function s(){s.init.call(this)}e.exports=s,e.exports.once=function(t,e){return new Promise((function(r,n){function i(){void 0!==a&&t.removeListener("error",a),r([].slice.call(arguments))}var a;"error"!==e&&(a=function(r){t.removeListener(e,i),n(r)},t.once("error",a)),t.once(e,i)}))},s.EventEmitter=s,s.prototype._events=void 0,s.prototype._eventsCount=0,s.prototype._maxListeners=void 0;var l=10;function c(t){if("function"!=typeof t)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof t)}function u(t){return void 0===t._maxListeners?s.defaultMaxListeners:t._maxListeners}function f(t,e,r,n){var i,a,o,s;if(c(r),void 0===(a=t._events)?(a=t._events=Object.create(null),t._eventsCount=0):(void 0!==a.newListener&&(t.emit("newListener",e,r.listener?r.listener:r),a=t._events),o=a[e]),void 0===o)o=a[e]=r,++t._eventsCount;else if("function"==typeof o?o=a[e]=n?[r,o]:[o,r]:n?o.unshift(r):o.push(r),(i=u(t))>0&&o.length>i&&!o.warned){o.warned=!0;var l=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");l.name="MaxListenersExceededWarning",l.emitter=t,l.type=e,l.count=o.length,s=l,console&&console.warn&&console.warn(s)}return t}function h(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function p(t,e,r){var n={fired:!1,wrapFn:void 0,target:t,type:e,listener:r},i=h.bind(n);return i.listener=r,n.wrapFn=i,i}function d(t,e,r){var n=t._events;if(void 0===n)return[];var i=n[e];return void 0===i?[]:"function"==typeof i?r?[i.listener||i]:[i]:r?function(t){for(var e=new Array(t.length),r=0;r<e.length;++r)e[r]=t[r].listener||t[r];return e}(i):m(i,i.length)}function g(t){var e=this._events;if(void 0!==e){var r=e[t];if("function"==typeof r)return 1;if(void 0!==r)return r.length}return 0}function m(t,e){for(var r=new Array(e),n=0;n<e;++n)r[n]=t[n];return r}Object.defineProperty(s,"defaultMaxListeners",{enumerable:!0,get:function(){return l},set:function(t){if("number"!=typeof t||t<0||o(t))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+t+".");l=t}}),s.init=function(){void 0!==this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},s.prototype.setMaxListeners=function(t){if("number"!=typeof t||t<0||o(t))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+t+".");return this._maxListeners=t,this},s.prototype.getMaxListeners=function(){return u(this)},s.prototype.emit=function(t){for(var e=[],r=1;r<arguments.length;r++)e.push(arguments[r]);var n="error"===t,i=this._events;if(void 0!==i)n=n&&void 0===i.error;else if(!n)return!1;if(n){var o;if(e.length>0&&(o=e[0]),o instanceof Error)throw o;var s=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw s.context=o,s}var l=i[t];if(void 0===l)return!1;if("function"==typeof l)a(l,this,e);else{var c=l.length,u=m(l,c);for(r=0;r<c;++r)a(u[r],this,e)}return!0},s.prototype.addListener=function(t,e){return f(this,t,e,!1)},s.prototype.on=s.prototype.addListener,s.prototype.prependListener=function(t,e){return f(this,t,e,!0)},s.prototype.once=function(t,e){return c(e),this.on(t,p(this,t,e)),this},s.prototype.prependOnceListener=function(t,e){return c(e),this.prependListener(t,p(this,t,e)),this},s.prototype.removeListener=function(t,e){var r,n,i,a,o;if(c(e),void 0===(n=this._events))return this;if(void 0===(r=n[t]))return this;if(r===e||r.listener===e)0==--this._eventsCount?this._events=Object.create(null):(delete n[t],n.removeListener&&this.emit("removeListener",t,r.listener||e));else if("function"!=typeof r){for(i=-1,a=r.length-1;a>=0;a--)if(r[a]===e||r[a].listener===e){o=r[a].listener,i=a;break}if(i<0)return this;0===i?r.shift():function(t,e){for(;e+1<t.length;e++)t[e]=t[e+1];t.pop()}(r,i),1===r.length&&(n[t]=r[0]),void 0!==n.removeListener&&this.emit("removeListener",t,o||e)}return this},s.prototype.off=s.prototype.removeListener,s.prototype.removeAllListeners=function(t){var e,r,n;if(void 0===(r=this._events))return this;if(void 0===r.removeListener)return 0===arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==r[t]&&(0==--this._eventsCount?this._events=Object.create(null):delete r[t]),this;if(0===arguments.length){var i,a=Object.keys(r);for(n=0;n<a.length;++n)"removeListener"!==(i=a[n])&&this.removeAllListeners(i);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if("function"==typeof(e=r[t]))this.removeListener(t,e);else if(void 0!==e)for(n=e.length-1;n>=0;n--)this.removeListener(t,e[n]);return this},s.prototype.listeners=function(t){return d(this,t,!0)},s.prototype.rawListeners=function(t){return d(this,t,!1)},s.listenerCount=function(t,e){return"function"==typeof t.listenerCount?t.listenerCount(e):g.call(t,e)},s.prototype.listenerCount=g,s.prototype.eventNames=function(){return this._eventsCount>0?n(this._events):[]}},{}],111:[function(t,e,r){(function(e){(function(){ +/*! + * The buffer module from node.js, for the browser. + * + * @author Feross Aboukhadijeh <https://feross.org> + * @license MIT + */ +"use strict";var e=t("base64-js"),n=t("ieee754");r.Buffer=a,r.SlowBuffer=function(t){+t!=t&&(t=0);return a.alloc(+t)},r.INSPECT_MAX_BYTES=50;function i(t){if(t>2147483647)throw new RangeError('The value "'+t+'" is invalid for option "size"');var e=new Uint8Array(t);return e.__proto__=a.prototype,e}function a(t,e,r){if("number"==typeof t){if("string"==typeof e)throw new TypeError('The "string" argument must be of type string. Received type number');return l(t)}return o(t,e,r)}function o(t,e,r){if("string"==typeof t)return function(t,e){"string"==typeof e&&""!==e||(e="utf8");if(!a.isEncoding(e))throw new TypeError("Unknown encoding: "+e);var r=0|f(t,e),n=i(r),o=n.write(t,e);o!==r&&(n=n.slice(0,o));return n}(t,e);if(ArrayBuffer.isView(t))return c(t);if(null==t)throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);if(B(t,ArrayBuffer)||t&&B(t.buffer,ArrayBuffer))return function(t,e,r){if(e<0||t.byteLength<e)throw new RangeError('"offset" is outside of buffer bounds');if(t.byteLength<e+(r||0))throw new RangeError('"length" is outside of buffer bounds');var n;n=void 0===e&&void 0===r?new Uint8Array(t):void 0===r?new Uint8Array(t,e):new Uint8Array(t,e,r);return n.__proto__=a.prototype,n}(t,e,r);if("number"==typeof t)throw new TypeError('The "value" argument must not be of type number. Received type number');var n=t.valueOf&&t.valueOf();if(null!=n&&n!==t)return a.from(n,e,r);var o=function(t){if(a.isBuffer(t)){var e=0|u(t.length),r=i(e);return 0===r.length||t.copy(r,0,0,e),r}if(void 0!==t.length)return"number"!=typeof t.length||N(t.length)?i(0):c(t);if("Buffer"===t.type&&Array.isArray(t.data))return c(t.data)}(t);if(o)return o;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof t[Symbol.toPrimitive])return a.from(t[Symbol.toPrimitive]("string"),e,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t)}function s(t){if("number"!=typeof t)throw new TypeError('"size" argument must be of type number');if(t<0)throw new RangeError('The value "'+t+'" is invalid for option "size"')}function l(t){return s(t),i(t<0?0:0|u(t))}function c(t){for(var e=t.length<0?0:0|u(t.length),r=i(e),n=0;n<e;n+=1)r[n]=255&t[n];return r}function u(t){if(t>=2147483647)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+2147483647..toString(16)+" bytes");return 0|t}function f(t,e){if(a.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||B(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);var r=t.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;for(var i=!1;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return D(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return R(t).length;default:if(i)return n?-1:D(t).length;e=(""+e).toLowerCase(),i=!0}}function h(t,e,r){var n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return A(this,e,r);case"utf8":case"utf-8":return T(this,e,r);case"ascii":return k(this,e,r);case"latin1":case"binary":return M(this,e,r);case"base64":return w(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return S(this,e,r);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}function p(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function d(t,e,r,n,i){if(0===t.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),N(r=+r)&&(r=i?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(i)return-1;r=t.length-1}else if(r<0){if(!i)return-1;r=0}if("string"==typeof e&&(e=a.from(e,n)),a.isBuffer(e))return 0===e.length?-1:g(t,e,r,n,i);if("number"==typeof e)return e&=255,"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):g(t,[e],r,n,i);throw new TypeError("val must be string, number or Buffer")}function g(t,e,r,n,i){var a,o=1,s=t.length,l=e.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(t.length<2||e.length<2)return-1;o=2,s/=2,l/=2,r/=2}function c(t,e){return 1===o?t[e]:t.readUInt16BE(e*o)}if(i){var u=-1;for(a=r;a<s;a++)if(c(t,a)===c(e,-1===u?0:a-u)){if(-1===u&&(u=a),a-u+1===l)return u*o}else-1!==u&&(a-=a-u),u=-1}else for(r+l>s&&(r=s-l),a=r;a>=0;a--){for(var f=!0,h=0;h<l;h++)if(c(t,a+h)!==c(e,h)){f=!1;break}if(f)return a}return-1}function m(t,e,r,n){r=Number(r)||0;var i=t.length-r;n?(n=Number(n))>i&&(n=i):n=i;var a=e.length;n>a/2&&(n=a/2);for(var o=0;o<n;++o){var s=parseInt(e.substr(2*o,2),16);if(N(s))return o;t[r+o]=s}return o}function v(t,e,r,n){return F(D(e,t.length-r),t,r,n)}function y(t,e,r,n){return F(function(t){for(var e=[],r=0;r<t.length;++r)e.push(255&t.charCodeAt(r));return e}(e),t,r,n)}function x(t,e,r,n){return y(t,e,r,n)}function b(t,e,r,n){return F(R(e),t,r,n)}function _(t,e,r,n){return F(function(t,e){for(var r,n,i,a=[],o=0;o<t.length&&!((e-=2)<0);++o)r=t.charCodeAt(o),n=r>>8,i=r%256,a.push(i),a.push(n);return a}(e,t.length-r),t,r,n)}function w(t,r,n){return 0===r&&n===t.length?e.fromByteArray(t):e.fromByteArray(t.slice(r,n))}function T(t,e,r){r=Math.min(t.length,r);for(var n=[],i=e;i<r;){var a,o,s,l,c=t[i],u=null,f=c>239?4:c>223?3:c>191?2:1;if(i+f<=r)switch(f){case 1:c<128&&(u=c);break;case 2:128==(192&(a=t[i+1]))&&(l=(31&c)<<6|63&a)>127&&(u=l);break;case 3:a=t[i+1],o=t[i+2],128==(192&a)&&128==(192&o)&&(l=(15&c)<<12|(63&a)<<6|63&o)>2047&&(l<55296||l>57343)&&(u=l);break;case 4:a=t[i+1],o=t[i+2],s=t[i+3],128==(192&a)&&128==(192&o)&&128==(192&s)&&(l=(15&c)<<18|(63&a)<<12|(63&o)<<6|63&s)>65535&&l<1114112&&(u=l)}null===u?(u=65533,f=1):u>65535&&(u-=65536,n.push(u>>>10&1023|55296),u=56320|1023&u),n.push(u),i+=f}return function(t){var e=t.length;if(e<=4096)return String.fromCharCode.apply(String,t);var r="",n=0;for(;n<e;)r+=String.fromCharCode.apply(String,t.slice(n,n+=4096));return r}(n)}r.kMaxLength=2147483647,a.TYPED_ARRAY_SUPPORT=function(){try{var t=new Uint8Array(1);return t.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===t.foo()}catch(t){return!1}}(),a.TYPED_ARRAY_SUPPORT||"undefined"==typeof console||"function"!=typeof console.error||console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),Object.defineProperty(a.prototype,"parent",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.buffer}}),Object.defineProperty(a.prototype,"offset",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.byteOffset}}),"undefined"!=typeof Symbol&&null!=Symbol.species&&a[Symbol.species]===a&&Object.defineProperty(a,Symbol.species,{value:null,configurable:!0,enumerable:!1,writable:!1}),a.poolSize=8192,a.from=function(t,e,r){return o(t,e,r)},a.prototype.__proto__=Uint8Array.prototype,a.__proto__=Uint8Array,a.alloc=function(t,e,r){return function(t,e,r){return s(t),t<=0?i(t):void 0!==e?"string"==typeof r?i(t).fill(e,r):i(t).fill(e):i(t)}(t,e,r)},a.allocUnsafe=function(t){return l(t)},a.allocUnsafeSlow=function(t){return l(t)},a.isBuffer=function(t){return null!=t&&!0===t._isBuffer&&t!==a.prototype},a.compare=function(t,e){if(B(t,Uint8Array)&&(t=a.from(t,t.offset,t.byteLength)),B(e,Uint8Array)&&(e=a.from(e,e.offset,e.byteLength)),!a.isBuffer(t)||!a.isBuffer(e))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(t===e)return 0;for(var r=t.length,n=e.length,i=0,o=Math.min(r,n);i<o;++i)if(t[i]!==e[i]){r=t[i],n=e[i];break}return r<n?-1:n<r?1:0},a.isEncoding=function(t){switch(String(t).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},a.concat=function(t,e){if(!Array.isArray(t))throw new TypeError('"list" argument must be an Array of Buffers');if(0===t.length)return a.alloc(0);var r;if(void 0===e)for(e=0,r=0;r<t.length;++r)e+=t[r].length;var n=a.allocUnsafe(e),i=0;for(r=0;r<t.length;++r){var o=t[r];if(B(o,Uint8Array)&&(o=a.from(o)),!a.isBuffer(o))throw new TypeError('"list" argument must be an Array of Buffers');o.copy(n,i),i+=o.length}return n},a.byteLength=f,a.prototype._isBuffer=!0,a.prototype.swap16=function(){var t=this.length;if(t%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var e=0;e<t;e+=2)p(this,e,e+1);return this},a.prototype.swap32=function(){var t=this.length;if(t%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var e=0;e<t;e+=4)p(this,e,e+3),p(this,e+1,e+2);return this},a.prototype.swap64=function(){var t=this.length;if(t%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var e=0;e<t;e+=8)p(this,e,e+7),p(this,e+1,e+6),p(this,e+2,e+5),p(this,e+3,e+4);return this},a.prototype.toString=function(){var t=this.length;return 0===t?"":0===arguments.length?T(this,0,t):h.apply(this,arguments)},a.prototype.toLocaleString=a.prototype.toString,a.prototype.equals=function(t){if(!a.isBuffer(t))throw new TypeError("Argument must be a Buffer");return this===t||0===a.compare(this,t)},a.prototype.inspect=function(){var t="",e=r.INSPECT_MAX_BYTES;return t=this.toString("hex",0,e).replace(/(.{2})/g,"$1 ").trim(),this.length>e&&(t+=" ... "),"<Buffer "+t+">"},a.prototype.compare=function(t,e,r,n,i){if(B(t,Uint8Array)&&(t=a.from(t,t.offset,t.byteLength)),!a.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),e<0||r>t.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&e>=r)return 0;if(n>=i)return-1;if(e>=r)return 1;if(this===t)return 0;for(var o=(i>>>=0)-(n>>>=0),s=(r>>>=0)-(e>>>=0),l=Math.min(o,s),c=this.slice(n,i),u=t.slice(e,r),f=0;f<l;++f)if(c[f]!==u[f]){o=c[f],s=u[f];break}return o<s?-1:s<o?1:0},a.prototype.includes=function(t,e,r){return-1!==this.indexOf(t,e,r)},a.prototype.indexOf=function(t,e,r){return d(this,t,e,r,!0)},a.prototype.lastIndexOf=function(t,e,r){return d(this,t,e,r,!1)},a.prototype.write=function(t,e,r,n){if(void 0===e)n="utf8",r=this.length,e=0;else if(void 0===r&&"string"==typeof e)n=e,r=this.length,e=0;else{if(!isFinite(e))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");e>>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n="utf8")):(n=r,r=void 0)}var i=this.length-e;if((void 0===r||r>i)&&(r=i),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var a=!1;;)switch(n){case"hex":return m(this,t,e,r);case"utf8":case"utf-8":return v(this,t,e,r);case"ascii":return y(this,t,e,r);case"latin1":case"binary":return x(this,t,e,r);case"base64":return b(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return _(this,t,e,r);default:if(a)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),a=!0}},a.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function k(t,e,r){var n="";r=Math.min(t.length,r);for(var i=e;i<r;++i)n+=String.fromCharCode(127&t[i]);return n}function M(t,e,r){var n="";r=Math.min(t.length,r);for(var i=e;i<r;++i)n+=String.fromCharCode(t[i]);return n}function A(t,e,r){var n=t.length;(!e||e<0)&&(e=0),(!r||r<0||r>n)&&(r=n);for(var i="",a=e;a<r;++a)i+=O(t[a]);return i}function S(t,e,r){for(var n=t.slice(e,r),i="",a=0;a<n.length;a+=2)i+=String.fromCharCode(n[a]+256*n[a+1]);return i}function E(t,e,r){if(t%1!=0||t<0)throw new RangeError("offset is not uint");if(t+e>r)throw new RangeError("Trying to access beyond buffer length")}function C(t,e,r,n,i,o){if(!a.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||e<o)throw new RangeError('"value" argument is out of bounds');if(r+n>t.length)throw new RangeError("Index out of range")}function L(t,e,r,n,i,a){if(r+n>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function I(t,e,r,i,a){return e=+e,r>>>=0,a||L(t,0,r,4),n.write(t,e,r,i,23,4),r+4}function P(t,e,r,i,a){return e=+e,r>>>=0,a||L(t,0,r,8),n.write(t,e,r,i,52,8),r+8}a.prototype.slice=function(t,e){var r=this.length;(t=~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),(e=void 0===e?r:~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),e<t&&(e=t);var n=this.subarray(t,e);return n.__proto__=a.prototype,n},a.prototype.readUIntLE=function(t,e,r){t>>>=0,e>>>=0,r||E(t,e,this.length);for(var n=this[t],i=1,a=0;++a<e&&(i*=256);)n+=this[t+a]*i;return n},a.prototype.readUIntBE=function(t,e,r){t>>>=0,e>>>=0,r||E(t,e,this.length);for(var n=this[t+--e],i=1;e>0&&(i*=256);)n+=this[t+--e]*i;return n},a.prototype.readUInt8=function(t,e){return t>>>=0,e||E(t,1,this.length),this[t]},a.prototype.readUInt16LE=function(t,e){return t>>>=0,e||E(t,2,this.length),this[t]|this[t+1]<<8},a.prototype.readUInt16BE=function(t,e){return t>>>=0,e||E(t,2,this.length),this[t]<<8|this[t+1]},a.prototype.readUInt32LE=function(t,e){return t>>>=0,e||E(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},a.prototype.readUInt32BE=function(t,e){return t>>>=0,e||E(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},a.prototype.readIntLE=function(t,e,r){t>>>=0,e>>>=0,r||E(t,e,this.length);for(var n=this[t],i=1,a=0;++a<e&&(i*=256);)n+=this[t+a]*i;return n>=(i*=128)&&(n-=Math.pow(2,8*e)),n},a.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||E(t,e,this.length);for(var n=e,i=1,a=this[t+--n];n>0&&(i*=256);)a+=this[t+--n]*i;return a>=(i*=128)&&(a-=Math.pow(2,8*e)),a},a.prototype.readInt8=function(t,e){return t>>>=0,e||E(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},a.prototype.readInt16LE=function(t,e){t>>>=0,e||E(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},a.prototype.readInt16BE=function(t,e){t>>>=0,e||E(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},a.prototype.readInt32LE=function(t,e){return t>>>=0,e||E(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},a.prototype.readInt32BE=function(t,e){return t>>>=0,e||E(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},a.prototype.readFloatLE=function(t,e){return t>>>=0,e||E(t,4,this.length),n.read(this,t,!0,23,4)},a.prototype.readFloatBE=function(t,e){return t>>>=0,e||E(t,4,this.length),n.read(this,t,!1,23,4)},a.prototype.readDoubleLE=function(t,e){return t>>>=0,e||E(t,8,this.length),n.read(this,t,!0,52,8)},a.prototype.readDoubleBE=function(t,e){return t>>>=0,e||E(t,8,this.length),n.read(this,t,!1,52,8)},a.prototype.writeUIntLE=function(t,e,r,n){(t=+t,e>>>=0,r>>>=0,n)||C(this,t,e,r,Math.pow(2,8*r)-1,0);var i=1,a=0;for(this[e]=255&t;++a<r&&(i*=256);)this[e+a]=t/i&255;return e+r},a.prototype.writeUIntBE=function(t,e,r,n){(t=+t,e>>>=0,r>>>=0,n)||C(this,t,e,r,Math.pow(2,8*r)-1,0);var i=r-1,a=1;for(this[e+i]=255&t;--i>=0&&(a*=256);)this[e+i]=t/a&255;return e+r},a.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,r||C(this,t,e,1,255,0),this[e]=255&t,e+1},a.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||C(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},a.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||C(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},a.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||C(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},a.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||C(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},a.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);C(this,t,e,r,i-1,-i)}var a=0,o=1,s=0;for(this[e]=255&t;++a<r&&(o*=256);)t<0&&0===s&&0!==this[e+a-1]&&(s=1),this[e+a]=(t/o>>0)-s&255;return e+r},a.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);C(this,t,e,r,i-1,-i)}var a=r-1,o=1,s=0;for(this[e+a]=255&t;--a>=0&&(o*=256);)t<0&&0===s&&0!==this[e+a+1]&&(s=1),this[e+a]=(t/o>>0)-s&255;return e+r},a.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||C(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},a.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||C(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},a.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||C(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},a.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||C(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},a.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||C(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},a.prototype.writeFloatLE=function(t,e,r){return I(this,t,e,!0,r)},a.prototype.writeFloatBE=function(t,e,r){return I(this,t,e,!1,r)},a.prototype.writeDoubleLE=function(t,e,r){return P(this,t,e,!0,r)},a.prototype.writeDoubleBE=function(t,e,r){return P(this,t,e,!1,r)},a.prototype.copy=function(t,e,r,n){if(!a.isBuffer(t))throw new TypeError("argument should be a Buffer");if(r||(r=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n<r&&(n=r),n===r)return 0;if(0===t.length||0===this.length)return 0;if(e<0)throw new RangeError("targetStart out of bounds");if(r<0||r>=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e<n-r&&(n=t.length-e+r);var i=n-r;if(this===t&&"function"==typeof Uint8Array.prototype.copyWithin)this.copyWithin(e,r,n);else if(this===t&&r<e&&e<n)for(var o=i-1;o>=0;--o)t[o+e]=this[o+r];else Uint8Array.prototype.set.call(t,this.subarray(r,n),e);return i},a.prototype.fill=function(t,e,r,n){if("string"==typeof t){if("string"==typeof e?(n=e,e=0,r=this.length):"string"==typeof r&&(n=r,r=this.length),void 0!==n&&"string"!=typeof n)throw new TypeError("encoding must be a string");if("string"==typeof n&&!a.isEncoding(n))throw new TypeError("Unknown encoding: "+n);if(1===t.length){var i=t.charCodeAt(0);("utf8"===n&&i<128||"latin1"===n)&&(t=i)}}else"number"==typeof t&&(t&=255);if(e<0||this.length<e||this.length<r)throw new RangeError("Out of range index");if(r<=e)return this;var o;if(e>>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),"number"==typeof t)for(o=e;o<r;++o)this[o]=t;else{var s=a.isBuffer(t)?t:a.from(t,n),l=s.length;if(0===l)throw new TypeError('The value "'+t+'" is invalid for argument "value"');for(o=0;o<r-e;++o)this[o+e]=s[o%l]}return this};var z=/[^+/0-9A-Za-z-_]/g;function O(t){return t<16?"0"+t.toString(16):t.toString(16)}function D(t,e){var r;e=e||1/0;for(var n=t.length,i=null,a=[],o=0;o<n;++o){if((r=t.charCodeAt(o))>55295&&r<57344){if(!i){if(r>56319){(e-=3)>-1&&a.push(239,191,189);continue}if(o+1===n){(e-=3)>-1&&a.push(239,191,189);continue}i=r;continue}if(r<56320){(e-=3)>-1&&a.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(e-=3)>-1&&a.push(239,191,189);if(i=null,r<128){if((e-=1)<0)break;a.push(r)}else if(r<2048){if((e-=2)<0)break;a.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;a.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return a}function R(t){return e.toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace(z,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function F(t,e,r,n){for(var i=0;i<n&&!(i+r>=e.length||i>=t.length);++i)e[i+r]=t[i];return i}function B(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function N(t){return t!=t}}).call(this)}).call(this,t("buffer").Buffer)},{"base64-js":79,buffer:111,ieee754:442}],112:[function(t,e,r){"use strict";var n=t("./lib/monotone"),i=t("./lib/triangulation"),a=t("./lib/delaunay"),o=t("./lib/filter");function s(t){return[Math.min(t[0],t[1]),Math.max(t[0],t[1])]}function l(t,e){return t[0]-e[0]||t[1]-e[1]}function c(t,e,r){return e in t?t[e]:r}e.exports=function(t,e,r){Array.isArray(e)?(r=r||{},e=e||[]):(r=e||{},e=[]);var u=!!c(r,"delaunay",!0),f=!!c(r,"interior",!0),h=!!c(r,"exterior",!0),p=!!c(r,"infinity",!1);if(!f&&!h||0===t.length)return[];var d=n(t,e);if(u||f!==h||p){for(var g=i(t.length,function(t){return t.map(s).sort(l)}(e)),m=0;m<d.length;++m){var v=d[m];g.addTriangle(v[0],v[1],v[2])}return u&&a(t,g),h?f?p?o(g,0,p):g.cells():o(g,1,p):o(g,-1)}return d}},{"./lib/delaunay":113,"./lib/filter":114,"./lib/monotone":115,"./lib/triangulation":116}],113:[function(t,e,r){"use strict";var n=t("robust-in-sphere")[4];t("binary-search-bounds");function i(t,e,r,i,a,o){var s=e.opposite(i,a);if(!(s<0)){if(a<i){var l=i;i=a,a=l,l=o,o=s,s=l}e.isConstraint(i,a)||n(t[i],t[a],t[o],t[s])<0&&r.push(i,a)}}e.exports=function(t,e){for(var r=[],a=t.length,o=e.stars,s=0;s<a;++s)for(var l=o[s],c=1;c<l.length;c+=2){if(!((p=l[c])<s)&&!e.isConstraint(s,p)){for(var u=l[c-1],f=-1,h=1;h<l.length;h+=2)if(l[h-1]===p){f=l[h];break}f<0||n(t[s],t[p],t[u],t[f])<0&&r.push(s,p)}}for(;r.length>0;){for(var p=r.pop(),d=(s=r.pop(),u=-1,f=-1,l=o[s],1);d<l.length;d+=2){var g=l[d-1],m=l[d];g===p?f=m:m===p&&(u=g)}u<0||f<0||(n(t[s],t[p],t[u],t[f])>=0||(e.flip(s,p),i(t,e,r,u,s,f),i(t,e,r,s,f,u),i(t,e,r,f,p,u),i(t,e,r,p,u,f)))}}},{"binary-search-bounds":96,"robust-in-sphere":546}],114:[function(t,e,r){"use strict";var n,i=t("binary-search-bounds");function a(t,e,r,n,i,a,o){this.cells=t,this.neighbor=e,this.flags=n,this.constraint=r,this.active=i,this.next=a,this.boundary=o}function o(t,e){return t[0]-e[0]||t[1]-e[1]||t[2]-e[2]}e.exports=function(t,e,r){var n=function(t,e){for(var r=t.cells(),n=r.length,i=0;i<n;++i){var s=(v=r[i])[0],l=v[1],c=v[2];l<c?l<s&&(v[0]=l,v[1]=c,v[2]=s):c<s&&(v[0]=c,v[1]=s,v[2]=l)}r.sort(o);var u=new Array(n);for(i=0;i<u.length;++i)u[i]=0;var f=[],h=[],p=new Array(3*n),d=new Array(3*n),g=null;e&&(g=[]);var m=new a(r,p,d,u,f,h,g);for(i=0;i<n;++i)for(var v=r[i],y=0;y<3;++y){s=v[y],l=v[(y+1)%3];var x=p[3*i+y]=m.locate(l,s,t.opposite(l,s)),b=d[3*i+y]=t.isConstraint(s,l);x<0&&(b?h.push(i):(f.push(i),u[i]=1),e&&g.push([l,s,-1]))}return m}(t,r);if(0===e)return r?n.cells.concat(n.boundary):n.cells;var i=1,s=n.active,l=n.next,c=n.flags,u=n.cells,f=n.constraint,h=n.neighbor;for(;s.length>0||l.length>0;){for(;s.length>0;){var p=s.pop();if(c[p]!==-i){c[p]=i;u[p];for(var d=0;d<3;++d){var g=h[3*p+d];g>=0&&0===c[g]&&(f[3*p+d]?l.push(g):(s.push(g),c[g]=i))}}}var m=l;l=s,s=m,l.length=0,i=-i}var v=function(t,e,r){for(var n=0,i=0;i<t.length;++i)e[i]===r&&(t[n++]=t[i]);return t.length=n,t}(u,c,e);if(r)return v.concat(n.boundary);return v},a.prototype.locate=(n=[0,0,0],function(t,e,r){var a=t,s=e,l=r;return e<r?e<t&&(a=e,s=r,l=t):r<t&&(a=r,s=t,l=e),a<0?-1:(n[0]=a,n[1]=s,n[2]=l,i.eq(this.cells,n,o))})},{"binary-search-bounds":96}],115:[function(t,e,r){"use strict";var n=t("binary-search-bounds"),i=t("robust-orientation")[3];function a(t,e,r,n,i){this.a=t,this.b=e,this.idx=r,this.lowerIds=n,this.upperIds=i}function o(t,e,r,n){this.a=t,this.b=e,this.type=r,this.idx=n}function s(t,e){var r=t.a[0]-e.a[0]||t.a[1]-e.a[1]||t.type-e.type;return r||(0!==t.type&&(r=i(t.a,t.b,e.b))?r:t.idx-e.idx)}function l(t,e){return i(t.a,t.b,e)}function c(t,e,r,a,o){for(var s=n.lt(e,a,l),c=n.gt(e,a,l),u=s;u<c;++u){for(var f=e[u],h=f.lowerIds,p=h.length;p>1&&i(r[h[p-2]],r[h[p-1]],a)>0;)t.push([h[p-1],h[p-2],o]),p-=1;h.length=p,h.push(o);var d=f.upperIds;for(p=d.length;p>1&&i(r[d[p-2]],r[d[p-1]],a)<0;)t.push([d[p-2],d[p-1],o]),p-=1;d.length=p,d.push(o)}}function u(t,e){var r;return(r=t.a[0]<e.a[0]?i(t.a,t.b,e.a):i(e.b,e.a,t.a))?r:(r=e.b[0]<t.b[0]?i(t.a,t.b,e.b):i(e.b,e.a,t.b))||t.idx-e.idx}function f(t,e,r){var i=n.le(t,r,u),o=t[i],s=o.upperIds,l=s[s.length-1];o.upperIds=[l],t.splice(i+1,0,new a(r.a,r.b,r.idx,[l],s))}function h(t,e,r){var i=r.a;r.a=r.b,r.b=i;var a=n.eq(t,r,u),o=t[a];t[a-1].upperIds=o.upperIds,t.splice(a,1)}e.exports=function(t,e){for(var r=t.length,n=e.length,i=[],l=0;l<r;++l)i.push(new o(t[l],null,0,l));for(l=0;l<n;++l){var u=e[l],p=t[u[0]],d=t[u[1]];p[0]<d[0]?i.push(new o(p,d,2,l),new o(d,p,1,l)):p[0]>d[0]&&i.push(new o(d,p,2,l),new o(p,d,1,l))}i.sort(s);for(var g=i[0].a[0]-(1+Math.abs(i[0].a[0]))*Math.pow(2,-52),m=[new a([g,1],[g,0],-1,[],[],[],[])],v=[],y=(l=0,i.length);l<y;++l){var x=i[l],b=x.type;0===b?c(v,m,t,x.a,x.idx):2===b?f(m,t,x):h(m,t,x)}return v}},{"binary-search-bounds":96,"robust-orientation":548}],116:[function(t,e,r){"use strict";var n=t("binary-search-bounds");function i(t,e){this.stars=t,this.edges=e}e.exports=function(t,e){for(var r=new Array(t),n=0;n<t;++n)r[n]=[];return new i(r,e)};var a=i.prototype;function o(t,e,r){for(var n=1,i=t.length;n<i;n+=2)if(t[n-1]===e&&t[n]===r)return t[n-1]=t[i-2],t[n]=t[i-1],void(t.length=i-2)}a.isConstraint=function(){var t=[0,0];function e(t,e){return t[0]-e[0]||t[1]-e[1]}return function(r,i){return t[0]=Math.min(r,i),t[1]=Math.max(r,i),n.eq(this.edges,t,e)>=0}}(),a.removeTriangle=function(t,e,r){var n=this.stars;o(n[t],e,r),o(n[e],r,t),o(n[r],t,e)},a.addTriangle=function(t,e,r){var n=this.stars;n[t].push(e,r),n[e].push(r,t),n[r].push(t,e)},a.opposite=function(t,e){for(var r=this.stars[e],n=1,i=r.length;n<i;n+=2)if(r[n]===t)return r[n-1];return-1},a.flip=function(t,e){var r=this.opposite(t,e),n=this.opposite(e,t);this.removeTriangle(t,e,r),this.removeTriangle(e,t,n),this.addTriangle(t,n,r),this.addTriangle(e,r,n)},a.edges=function(){for(var t=this.stars,e=[],r=0,n=t.length;r<n;++r)for(var i=t[r],a=0,o=i.length;a<o;a+=2)e.push([i[a],i[a+1]]);return e},a.cells=function(){for(var t=this.stars,e=[],r=0,n=t.length;r<n;++r)for(var i=t[r],a=0,o=i.length;a<o;a+=2){var s=i[a],l=i[a+1];r<Math.min(s,l)&&e.push([r,s,l])}return e}},{"binary-search-bounds":96}],117:[function(t,e,r){"use strict";e.exports=function(t){for(var e=1,r=1;r<t.length;++r)for(var n=0;n<r;++n)if(t[r]<t[n])e=-e;else if(t[n]===t[r])return 0;return e}},{}],118:[function(t,e,r){"use strict";var n=t("dup"),i=t("robust-linear-solve");function a(t,e){for(var r=0,n=t.length,i=0;i<n;++i)r+=t[i]*e[i];return r}function o(t){var e=t.length;if(0===e)return[];t[0].length;var r=n([t.length+1,t.length+1],1),o=n([t.length+1],1);r[e][e]=0;for(var s=0;s<e;++s){for(var l=0;l<=s;++l)r[l][s]=r[s][l]=2*a(t[s],t[l]);o[s]=a(t[s],t[s])}var c=i(r,o),u=0,f=c[e+1];for(s=0;s<f.length;++s)u+=f[s];var h=new Array(e);for(s=0;s<e;++s){f=c[s];var p=0;for(l=0;l<f.length;++l)p+=f[l];h[s]=p/u}return h}function s(t){if(0===t.length)return[];for(var e=t[0].length,r=n([e]),i=o(t),a=0;a<t.length;++a)for(var s=0;s<e;++s)r[s]+=t[a][s]*i[a];return r}s.barycenetric=o,e.exports=s},{dup:176,"robust-linear-solve":547}],119:[function(t,e,r){e.exports=function(t){for(var e=n(t),r=0,i=0;i<t.length;++i)for(var a=t[i],o=0;o<e.length;++o)r+=Math.pow(a[o]-e[o],2);return Math.sqrt(r/t.length)};var n=t("circumcenter")},{circumcenter:118}],120:[function(t,e,r){e.exports=function(t,e,r){return e<r?t<e?e:t>r?r:t:t<r?r:t>e?e:t}},{}],121:[function(t,e,r){"use strict";e.exports=function(t,e,r){var n;if(r){n=e;for(var i=new Array(e.length),a=0;a<e.length;++a){var o=e[a];i[a]=[o[0],o[1],r[a]]}e=i}var s=function(t,e,r){var n=d(t,[],p(t));return v(e,n,r),!!n}(t,e,!!r);for(;y(t,e,!!r);)s=!0;if(r&&s){n.length=0,r.length=0;for(a=0;a<e.length;++a){o=e[a];n.push([o[0],o[1]]),r.push(o[2])}}return s};var n=t("union-find"),i=t("box-intersect"),a=t("robust-segment-intersect"),o=t("big-rat"),s=t("big-rat/cmp"),l=t("big-rat/to-float"),c=t("rat-vec"),u=t("nextafter"),f=t("./lib/rat-seg-intersect");function h(t){var e=l(t);return[u(e,-1/0),u(e,1/0)]}function p(t){for(var e=new Array(t.length),r=0;r<t.length;++r){var n=t[r];e[r]=[u(n[0],-1/0),u(n[1],-1/0),u(n[0],1/0),u(n[1],1/0)]}return e}function d(t,e,r){for(var a=e.length,o=new n(a),s=[],l=0;l<e.length;++l){var c=e[l],f=h(c[0]),p=h(c[1]);s.push([u(f[0],-1/0),u(p[0],-1/0),u(f[1],1/0),u(p[1],1/0)])}i(s,(function(t,e){o.link(t,e)}));var d=!0,g=new Array(a);for(l=0;l<a;++l){(v=o.find(l))!==l&&(d=!1,t[v]=[Math.min(t[l][0],t[v][0]),Math.min(t[l][1],t[v][1])])}if(d)return null;var m=0;for(l=0;l<a;++l){var v;(v=o.find(l))===l?(g[l]=m,t[m++]=t[l]):g[l]=-1}t.length=m;for(l=0;l<a;++l)g[l]<0&&(g[l]=g[o.find(l)]);return g}function g(t,e){return t[0]-e[0]||t[1]-e[1]}function m(t,e){var r=t[0]-e[0]||t[1]-e[1];return r||(t[2]<e[2]?-1:t[2]>e[2]?1:0)}function v(t,e,r){if(0!==t.length){if(e)for(var n=0;n<t.length;++n){var i=e[(o=t[n])[0]],a=e[o[1]];o[0]=Math.min(i,a),o[1]=Math.max(i,a)}else for(n=0;n<t.length;++n){var o;i=(o=t[n])[0],a=o[1];o[0]=Math.min(i,a),o[1]=Math.max(i,a)}r?t.sort(m):t.sort(g);var s=1;for(n=1;n<t.length;++n){var l=t[n-1],c=t[n];(c[0]!==l[0]||c[1]!==l[1]||r&&c[2]!==l[2])&&(t[s++]=c)}t.length=s}}function y(t,e,r){var n=function(t,e){for(var r=new Array(e.length),n=0;n<e.length;++n){var i=e[n],a=t[i[0]],o=t[i[1]];r[n]=[u(Math.min(a[0],o[0]),-1/0),u(Math.min(a[1],o[1]),-1/0),u(Math.max(a[0],o[0]),1/0),u(Math.max(a[1],o[1]),1/0)]}return r}(t,e),h=function(t,e,r){var n=[];return i(r,(function(r,i){var o=e[r],s=e[i];if(o[0]!==s[0]&&o[0]!==s[1]&&o[1]!==s[0]&&o[1]!==s[1]){var l=t[o[0]],c=t[o[1]],u=t[s[0]],f=t[s[1]];a(l,c,u,f)&&n.push([r,i])}})),n}(t,e,n),g=p(t),m=function(t,e,r,n){var o=[];return i(r,n,(function(r,n){var i=e[r];if(i[0]!==n&&i[1]!==n){var s=t[n],l=t[i[0]],c=t[i[1]];a(l,c,s,s)&&o.push([r,n])}})),o}(t,e,n,g),y=d(t,function(t,e,r,n,i){var a,u,h=t.map((function(t){return[o(t[0]),o(t[1])]}));for(a=0;a<r.length;++a){var p=r[a];u=p[0];var d=p[1],g=e[u],m=e[d],v=f(c(t[g[0]]),c(t[g[1]]),c(t[m[0]]),c(t[m[1]]));if(v){var y=t.length;t.push([l(v[0]),l(v[1])]),h.push(v),n.push([u,y],[d,y])}}for(n.sort((function(t,e){if(t[0]!==e[0])return t[0]-e[0];var r=h[t[1]],n=h[e[1]];return s(r[0],n[0])||s(r[1],n[1])})),a=n.length-1;a>=0;--a){var x=e[u=(S=n[a])[0]],b=x[0],_=x[1],w=t[b],T=t[_];if((w[0]-T[0]||w[1]-T[1])<0){var k=b;b=_,_=k}x[0]=b;var M,A=x[1]=S[1];for(i&&(M=x[2]);a>0&&n[a-1][0]===u;){var S,E=(S=n[--a])[1];i?e.push([A,E,M]):e.push([A,E]),A=E}i?e.push([A,_,M]):e.push([A,_])}return h}(t,e,h,m,r));return v(e,y,r),!!y||(h.length>0||m.length>0)}},{"./lib/rat-seg-intersect":122,"big-rat":83,"big-rat/cmp":81,"big-rat/to-float":95,"box-intersect":101,nextafter:496,"rat-vec":530,"robust-segment-intersect":551,"union-find":596}],122:[function(t,e,r){"use strict";e.exports=function(t,e,r,n){var a=s(e,t),f=s(n,r),h=u(a,f);if(0===o(h))return null;var p=s(t,r),d=u(f,p),g=i(d,h),m=c(a,g);return l(t,m)};var n=t("big-rat/mul"),i=t("big-rat/div"),a=t("big-rat/sub"),o=t("big-rat/sign"),s=t("rat-vec/sub"),l=t("rat-vec/add"),c=t("rat-vec/muls");function u(t,e){return a(n(t[0],e[1]),n(t[1],e[0]))}},{"big-rat/div":82,"big-rat/mul":92,"big-rat/sign":93,"big-rat/sub":94,"rat-vec/add":529,"rat-vec/muls":531,"rat-vec/sub":532}],123:[function(t,e,r){"use strict";var n=t("clamp");function i(t,e){null==e&&(e=!0);var r=t[0],i=t[1],a=t[2],o=t[3];return null==o&&(o=e?1:255),e&&(r*=255,i*=255,a*=255,o*=255),16777216*(r=255&n(r,0,255))+((i=255&n(i,0,255))<<16)+((a=255&n(a,0,255))<<8)+(o=255&n(o,0,255))}e.exports=i,e.exports.to=i,e.exports.from=function(t,e){var r=(t=+t)>>>24,n=(16711680&t)>>>16,i=(65280&t)>>>8,a=255&t;return!1===e?[r,n,i,a]:[r/255,n/255,i/255,a/255]}},{clamp:120}],124:[function(t,e,r){"use strict";e.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}},{}],125:[function(t,e,r){"use strict";var n=t("color-rgba"),i=t("clamp"),a=t("dtype");e.exports=function(t,e){"float"!==e&&e||(e="array"),"uint"===e&&(e="uint8"),"uint_clamped"===e&&(e="uint8_clamped");var r=new(a(e))(4),o="uint8"!==e&&"uint8_clamped"!==e;return t.length&&"string"!=typeof t||((t=n(t))[0]/=255,t[1]/=255,t[2]/=255),function(t){return t instanceof Uint8Array||t instanceof Uint8ClampedArray||!!(Array.isArray(t)&&(t[0]>1||0===t[0])&&(t[1]>1||0===t[1])&&(t[2]>1||0===t[2])&&(!t[3]||t[3]>1))}(t)?(r[0]=t[0],r[1]=t[1],r[2]=t[2],r[3]=null!=t[3]?t[3]:255,o&&(r[0]/=255,r[1]/=255,r[2]/=255,r[3]/=255),r):(o?(r[0]=t[0],r[1]=t[1],r[2]=t[2],r[3]=null!=t[3]?t[3]:1):(r[0]=i(Math.floor(255*t[0]),0,255),r[1]=i(Math.floor(255*t[1]),0,255),r[2]=i(Math.floor(255*t[2]),0,255),r[3]=null==t[3]?255:i(Math.floor(255*t[3]),0,255)),r)}},{clamp:120,"color-rgba":127,dtype:175}],126:[function(t,e,r){(function(r){(function(){"use strict";var n=t("color-name"),i=t("is-plain-obj"),a=t("defined");e.exports=function(t){var e,s,l=[],c=1;if("string"==typeof t)if(n[t])l=n[t].slice(),s="rgb";else if("transparent"===t)c=0,s="rgb",l=[0,0,0];else if(/^#[A-Fa-f0-9]+$/.test(t)){var u=(p=t.slice(1)).length;c=1,u<=4?(l=[parseInt(p[0]+p[0],16),parseInt(p[1]+p[1],16),parseInt(p[2]+p[2],16)],4===u&&(c=parseInt(p[3]+p[3],16)/255)):(l=[parseInt(p[0]+p[1],16),parseInt(p[2]+p[3],16),parseInt(p[4]+p[5],16)],8===u&&(c=parseInt(p[6]+p[7],16)/255)),l[0]||(l[0]=0),l[1]||(l[1]=0),l[2]||(l[2]=0),s="rgb"}else if(e=/^((?:rgb|hs[lvb]|hwb|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms)a?)\s*\(([^\)]*)\)/.exec(t)){var f=e[1],h="rgb"===f,p=f.replace(/a$/,"");s=p;u="cmyk"===p?4:"gray"===p?1:3;l=e[2].trim().split(/\s*,\s*/).map((function(t,e){if(/%$/.test(t))return e===u?parseFloat(t)/100:"rgb"===p?255*parseFloat(t)/100:parseFloat(t);if("h"===p[e]){if(/deg$/.test(t))return parseFloat(t);if(void 0!==o[t])return o[t]}return parseFloat(t)})),f===p&&l.push(1),c=h||void 0===l[u]?1:l[u],l=l.slice(0,u)}else t.length>10&&/[0-9](?:\s|\/)/.test(t)&&(l=t.match(/([0-9]+)/g).map((function(t){return parseFloat(t)})),s=t.match(/([a-z])/gi).join("").toLowerCase());else if(isNaN(t))if(i(t)){var d=a(t.r,t.red,t.R,null);null!==d?(s="rgb",l=[d,a(t.g,t.green,t.G),a(t.b,t.blue,t.B)]):(s="hsl",l=[a(t.h,t.hue,t.H),a(t.s,t.saturation,t.S),a(t.l,t.lightness,t.L,t.b,t.brightness)]),c=a(t.a,t.alpha,t.opacity,1),null!=t.opacity&&(c/=100)}else(Array.isArray(t)||r.ArrayBuffer&&ArrayBuffer.isView&&ArrayBuffer.isView(t))&&(l=[t[0],t[1],t[2]],s="rgb",c=4===t.length?t[3]:1);else s="rgb",l=[t>>>16,(65280&t)>>>8,255&t];return{space:s,values:l,alpha:c}};var o={red:0,orange:60,yellow:120,green:180,blue:240,purple:300}}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"color-name":124,defined:170,"is-plain-obj":469}],127:[function(t,e,r){"use strict";var n=t("color-parse"),i=t("color-space/hsl"),a=t("clamp");e.exports=function(t){var e,r=n(t);return r.space?((e=Array(3))[0]=a(r.values[0],0,255),e[1]=a(r.values[1],0,255),e[2]=a(r.values[2],0,255),"h"===r.space[0]&&(e=i.rgb(e)),e.push(a(r.alpha,0,1)),e):[]}},{clamp:120,"color-parse":126,"color-space/hsl":128}],128:[function(t,e,r){"use strict";var n=t("./rgb");e.exports={name:"hsl",min:[0,0,0],max:[360,100,100],channel:["hue","saturation","lightness"],alias:["HSL"],rgb:function(t){var e,r,n,i,a,o=t[0]/360,s=t[1]/100,l=t[2]/100;if(0===s)return[a=255*l,a,a];e=2*l-(r=l<.5?l*(1+s):l+s-l*s),i=[0,0,0];for(var c=0;c<3;c++)(n=o+1/3*-(c-1))<0?n++:n>1&&n--,a=6*n<1?e+6*(r-e)*n:2*n<1?r:3*n<2?e+(r-e)*(2/3-n)*6:e,i[c]=255*a;return i}},n.hsl=function(t){var e,r,n=t[0]/255,i=t[1]/255,a=t[2]/255,o=Math.min(n,i,a),s=Math.max(n,i,a),l=s-o;return s===o?e=0:n===s?e=(i-a)/l:i===s?e=2+(a-n)/l:a===s&&(e=4+(n-i)/l),(e=Math.min(60*e,360))<0&&(e+=360),r=(o+s)/2,[e,100*(s===o?0:r<=.5?l/(s+o):l/(2-s-o)),100*r]}},{"./rgb":129}],129:[function(t,e,r){"use strict";e.exports={name:"rgb",min:[0,0,0],max:[255,255,255],channel:["red","green","blue"],alias:["RGB"]}},{}],130:[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:1,rgb:[255,255,255,1]}],viridis:[{index:0,rgb:[68,1,84]},{index:.13,rgb:[71,44,122]},{index:.25,rgb:[59,81,139]},{index:.38,rgb:[44,113,142]},{index:.5,rgb:[33,144,141]},{index:.63,rgb:[39,173,129]},{index:.75,rgb:[92,200,99]},{index:.88,rgb:[170,220,50]},{index:1,rgb:[253,231,37]}],inferno:[{index:0,rgb:[0,0,4]},{index:.13,rgb:[31,12,72]},{index:.25,rgb:[85,15,109]},{index:.38,rgb:[136,34,106]},{index:.5,rgb:[186,54,85]},{index:.63,rgb:[227,89,51]},{index:.75,rgb:[249,140,10]},{index:.88,rgb:[249,201,50]},{index:1,rgb:[252,255,164]}],magma:[{index:0,rgb:[0,0,4]},{index:.13,rgb:[28,16,68]},{index:.25,rgb:[79,18,123]},{index:.38,rgb:[129,37,129]},{index:.5,rgb:[181,54,122]},{index:.63,rgb:[229,80,100]},{index:.75,rgb:[251,135,97]},{index:.88,rgb:[254,194,135]},{index:1,rgb:[252,253,191]}],plasma:[{index:0,rgb:[13,8,135]},{index:.13,rgb:[75,3,161]},{index:.25,rgb:[125,3,168]},{index:.38,rgb:[168,34,150]},{index:.5,rgb:[203,70,121]},{index:.63,rgb:[229,107,93]},{index:.75,rgb:[248,148,65]},{index:.88,rgb:[253,195,40]},{index:1,rgb:[240,249,33]}],warm:[{index:0,rgb:[125,0,179]},{index:.13,rgb:[172,0,187]},{index:.25,rgb:[219,0,170]},{index:.38,rgb:[255,0,130]},{index:.5,rgb:[255,63,74]},{index:.63,rgb:[255,123,0]},{index:.75,rgb:[234,176,0]},{index:.88,rgb:[190,228,0]},{index:1,rgb:[147,255,0]}],cool:[{index:0,rgb:[125,0,179]},{index:.13,rgb:[116,0,218]},{index:.25,rgb:[98,74,237]},{index:.38,rgb:[68,146,231]},{index:.5,rgb:[0,204,197]},{index:.63,rgb:[0,247,146]},{index:.75,rgb:[0,255,88]},{index:.88,rgb:[40,255,8]},{index:1,rgb:[147,255,0]}],"rainbow-soft":[{index:0,rgb:[125,0,179]},{index:.1,rgb:[199,0,180]},{index:.2,rgb:[255,0,121]},{index:.3,rgb:[255,108,0]},{index:.4,rgb:[222,194,0]},{index:.5,rgb:[150,255,0]},{index:.6,rgb:[0,255,55]},{index:.7,rgb:[0,246,150]},{index:.8,rgb:[50,167,222]},{index:.9,rgb:[103,51,235]},{index:1,rgb:[124,0,186]}],bathymetry:[{index:0,rgb:[40,26,44]},{index:.13,rgb:[59,49,90]},{index:.25,rgb:[64,76,139]},{index:.38,rgb:[63,110,151]},{index:.5,rgb:[72,142,158]},{index:.63,rgb:[85,174,163]},{index:.75,rgb:[120,206,163]},{index:.88,rgb:[187,230,172]},{index:1,rgb:[253,254,204]}],cdom:[{index:0,rgb:[47,15,62]},{index:.13,rgb:[87,23,86]},{index:.25,rgb:[130,28,99]},{index:.38,rgb:[171,41,96]},{index:.5,rgb:[206,67,86]},{index:.63,rgb:[230,106,84]},{index:.75,rgb:[242,149,103]},{index:.88,rgb:[249,193,135]},{index:1,rgb:[254,237,176]}],chlorophyll:[{index:0,rgb:[18,36,20]},{index:.13,rgb:[25,63,41]},{index:.25,rgb:[24,91,59]},{index:.38,rgb:[13,119,72]},{index:.5,rgb:[18,148,80]},{index:.63,rgb:[80,173,89]},{index:.75,rgb:[132,196,122]},{index:.88,rgb:[175,221,162]},{index:1,rgb:[215,249,208]}],density:[{index:0,rgb:[54,14,36]},{index:.13,rgb:[89,23,80]},{index:.25,rgb:[110,45,132]},{index:.38,rgb:[120,77,178]},{index:.5,rgb:[120,113,213]},{index:.63,rgb:[115,151,228]},{index:.75,rgb:[134,185,227]},{index:.88,rgb:[177,214,227]},{index:1,rgb:[230,241,241]}],"freesurface-blue":[{index:0,rgb:[30,4,110]},{index:.13,rgb:[47,14,176]},{index:.25,rgb:[41,45,236]},{index:.38,rgb:[25,99,212]},{index:.5,rgb:[68,131,200]},{index:.63,rgb:[114,156,197]},{index:.75,rgb:[157,181,203]},{index:.88,rgb:[200,208,216]},{index:1,rgb:[241,237,236]}],"freesurface-red":[{index:0,rgb:[60,9,18]},{index:.13,rgb:[100,17,27]},{index:.25,rgb:[142,20,29]},{index:.38,rgb:[177,43,27]},{index:.5,rgb:[192,87,63]},{index:.63,rgb:[205,125,105]},{index:.75,rgb:[216,162,148]},{index:.88,rgb:[227,199,193]},{index:1,rgb:[241,237,236]}],oxygen:[{index:0,rgb:[64,5,5]},{index:.13,rgb:[106,6,15]},{index:.25,rgb:[144,26,7]},{index:.38,rgb:[168,64,3]},{index:.5,rgb:[188,100,4]},{index:.63,rgb:[206,136,11]},{index:.75,rgb:[220,174,25]},{index:.88,rgb:[231,215,44]},{index:1,rgb:[248,254,105]}],par:[{index:0,rgb:[51,20,24]},{index:.13,rgb:[90,32,35]},{index:.25,rgb:[129,44,34]},{index:.38,rgb:[159,68,25]},{index:.5,rgb:[182,99,19]},{index:.63,rgb:[199,134,22]},{index:.75,rgb:[212,171,35]},{index:.88,rgb:[221,210,54]},{index:1,rgb:[225,253,75]}],phase:[{index:0,rgb:[145,105,18]},{index:.13,rgb:[184,71,38]},{index:.25,rgb:[186,58,115]},{index:.38,rgb:[160,71,185]},{index:.5,rgb:[110,97,218]},{index:.63,rgb:[50,123,164]},{index:.75,rgb:[31,131,110]},{index:.88,rgb:[77,129,34]},{index:1,rgb:[145,105,18]}],salinity:[{index:0,rgb:[42,24,108]},{index:.13,rgb:[33,50,162]},{index:.25,rgb:[15,90,145]},{index:.38,rgb:[40,118,137]},{index:.5,rgb:[59,146,135]},{index:.63,rgb:[79,175,126]},{index:.75,rgb:[120,203,104]},{index:.88,rgb:[193,221,100]},{index:1,rgb:[253,239,154]}],temperature:[{index:0,rgb:[4,35,51]},{index:.13,rgb:[23,51,122]},{index:.25,rgb:[85,59,157]},{index:.38,rgb:[129,79,143]},{index:.5,rgb:[175,95,130]},{index:.63,rgb:[222,112,101]},{index:.75,rgb:[249,146,66]},{index:.88,rgb:[249,196,65]},{index:1,rgb:[232,250,91]}],turbidity:[{index:0,rgb:[34,31,27]},{index:.13,rgb:[65,50,41]},{index:.25,rgb:[98,69,52]},{index:.38,rgb:[131,89,57]},{index:.5,rgb:[161,112,59]},{index:.63,rgb:[185,140,66]},{index:.75,rgb:[202,174,88]},{index:.88,rgb:[216,209,126]},{index:1,rgb:[233,246,171]}],"velocity-blue":[{index:0,rgb:[17,32,64]},{index:.13,rgb:[35,52,116]},{index:.25,rgb:[29,81,156]},{index:.38,rgb:[31,113,162]},{index:.5,rgb:[50,144,169]},{index:.63,rgb:[87,173,176]},{index:.75,rgb:[149,196,189]},{index:.88,rgb:[203,221,211]},{index:1,rgb:[254,251,230]}],"velocity-green":[{index:0,rgb:[23,35,19]},{index:.13,rgb:[24,64,38]},{index:.25,rgb:[11,95,45]},{index:.38,rgb:[39,123,35]},{index:.5,rgb:[95,146,12]},{index:.63,rgb:[152,165,18]},{index:.75,rgb:[201,186,69]},{index:.88,rgb:[233,216,137]},{index:1,rgb:[255,253,205]}],cubehelix:[{index:0,rgb:[0,0,0]},{index:.07,rgb:[22,5,59]},{index:.13,rgb:[60,4,105]},{index:.2,rgb:[109,1,135]},{index:.27,rgb:[161,0,147]},{index:.33,rgb:[210,2,142]},{index:.4,rgb:[251,11,123]},{index:.47,rgb:[255,29,97]},{index:.53,rgb:[255,54,69]},{index:.6,rgb:[255,85,46]},{index:.67,rgb:[255,120,34]},{index:.73,rgb:[255,157,37]},{index:.8,rgb:[241,191,57]},{index:.87,rgb:[224,220,93]},{index:.93,rgb:[218,241,142]},{index:1,rgb:[227,253,198]}]}},{}],131:[function(t,e,r){"use strict";var n=t("./colorScale"),i=t("lerp");function a(t){return[t[0]/255,t[1]/255,t[2]/255,t[3]]}function o(t){for(var e,r="#",n=0;n<3;++n)r+=("00"+(e=(e=t[n]).toString(16))).substr(e.length);return r}function s(t){return"rgba("+t.join(",")+")"}e.exports=function(t){var e,r,l,c,u,f,h,p,d,g;t||(t={});p=(t.nshades||72)-1,h=t.format||"hex",(f=t.colormap)||(f="jet");if("string"==typeof f){if(f=f.toLowerCase(),!n[f])throw Error(f+" not a supported colorscale");u=n[f]}else{if(!Array.isArray(f))throw Error("unsupported colormap option",f);u=f.slice()}if(u.length>p+1)throw new Error(f+" map requires nshades to be at least size "+u.length);d=Array.isArray(t.alpha)?2!==t.alpha.length?[1,1]:t.alpha.slice():"number"==typeof t.alpha?[t.alpha,t.alpha]:[1,1];e=u.map((function(t){return Math.round(t.index*p)})),d[0]=Math.min(Math.max(d[0],0),1),d[1]=Math.min(Math.max(d[1],0),1);var m=u.map((function(t,e){var r=u[e].index,n=u[e].rgb.slice();return 4===n.length&&n[3]>=0&&n[3]<=1||(n[3]=d[0]+(d[1]-d[0])*r),n})),v=[];for(g=0;g<e.length-1;++g){c=e[g+1]-e[g],r=m[g],l=m[g+1];for(var y=0;y<c;y++){var x=y/c;v.push([Math.round(i(r[0],l[0],x)),Math.round(i(r[1],l[1],x)),Math.round(i(r[2],l[2],x)),i(r[3],l[3],x)])}}v.push(u[u.length-1].rgb.concat(d[1])),"hex"===h?v=v.map(o):"rgbaString"===h?v=v.map(s):"float"===h&&(v=v.map(a));return v}},{"./colorScale":130,lerp:472}],132:[function(t,e,r){"use strict";e.exports=function(t,e,r,a){var o=n(e,r,a);if(0===o){var s=i(n(t,e,r)),c=i(n(t,e,a));if(s===c){if(0===s){var u=l(t,e,r),f=l(t,e,a);return u===f?0:u?1:-1}return 0}return 0===c?s>0||l(t,e,a)?-1:1:0===s?c>0||l(t,e,r)?1:-1:i(c-s)}var h=n(t,e,r);return h>0?o>0&&n(t,e,a)>0?1:-1:h<0?o>0||n(t,e,a)>0?1:-1:n(t,e,a)>0||l(t,e,r)?1:-1};var n=t("robust-orientation"),i=t("signum"),a=t("two-sum"),o=t("robust-product"),s=t("robust-sum");function l(t,e,r){var n=a(t[0],-e[0]),i=a(t[1],-e[1]),l=a(r[0],-e[0]),c=a(r[1],-e[1]),u=s(o(n,l),o(i,c));return u[u.length-1]>=0}},{"robust-orientation":548,"robust-product":549,"robust-sum":553,signum:554,"two-sum":583}],133:[function(t,e,r){e.exports=function(t,e){var r=t.length,a=t.length-e.length;if(a)return a;switch(r){case 0:return 0;case 1:return t[0]-e[0];case 2:return t[0]+t[1]-e[0]-e[1]||n(t[0],t[1])-n(e[0],e[1]);case 3:var o=t[0]+t[1],s=e[0]+e[1];if(a=o+t[2]-(s+e[2]))return a;var l=n(t[0],t[1]),c=n(e[0],e[1]);return n(l,t[2])-n(c,e[2])||n(l+t[2],o)-n(c+e[2],s);case 4:var u=t[0],f=t[1],h=t[2],p=t[3],d=e[0],g=e[1],m=e[2],v=e[3];return u+f+h+p-(d+g+m+v)||n(u,f,h,p)-n(d,g,m,v,d)||n(u+f,u+h,u+p,f+h,f+p,h+p)-n(d+g,d+m,d+v,g+m,g+v,m+v)||n(u+f+h,u+f+p,u+h+p,f+h+p)-n(d+g+m,d+g+v,d+m+v,g+m+v);default:for(var y=t.slice().sort(i),x=e.slice().sort(i),b=0;b<r;++b)if(a=y[b]-x[b])return a;return 0}};var n=Math.min;function i(t,e){return t-e}},{}],134:[function(t,e,r){"use strict";var n=t("compare-cell"),i=t("cell-orientation");e.exports=function(t,e){return n(t,e)||i(t)-i(e)}},{"cell-orientation":117,"compare-cell":133}],135:[function(t,e,r){"use strict";var n=t("./lib/ch1d"),i=t("./lib/ch2d"),a=t("./lib/chnd");e.exports=function(t){var e=t.length;if(0===e)return[];if(1===e)return[[0]];var r=t[0].length;if(0===r)return[];if(1===r)return n(t);if(2===r)return i(t);return a(t,r)}},{"./lib/ch1d":136,"./lib/ch2d":137,"./lib/chnd":138}],136:[function(t,e,r){"use strict";e.exports=function(t){for(var e=0,r=0,n=1;n<t.length;++n)t[n][0]<t[e][0]&&(e=n),t[n][0]>t[r][0]&&(r=n);return e<r?[[e],[r]]:e>r?[[r],[e]]:[[e]]}},{}],137:[function(t,e,r){"use strict";e.exports=function(t){var e=n(t),r=e.length;if(r<=2)return[];for(var i=new Array(r),a=e[r-1],o=0;o<r;++o){var s=e[o];i[o]=[a,s],a=s}return i};var n=t("monotone-convex-hull-2d")},{"monotone-convex-hull-2d":482}],138:[function(t,e,r){"use strict";e.exports=function(t,e){try{return n(t,!0)}catch(o){var r=i(t);if(r.length<=e)return[];var a=function(t,e){for(var r=t.length,n=new Array(r),i=0;i<e.length;++i)n[i]=t[e[i]];var a=e.length;for(i=0;i<r;++i)e.indexOf(i)<0&&(n[a++]=t[i]);return n}(t,r);return function(t,e){for(var r=t.length,n=e.length,i=0;i<r;++i)for(var a=t[i],o=0;o<a.length;++o){var s=a[o];if(s<n)a[o]=e[s];else{s-=n;for(var l=0;l<n;++l)s>=e[l]&&(s+=1);a[o]=s}}return t}(n(a,!0),r)}};var n=t("incremental-convex-hull"),i=t("affine-hull")},{"affine-hull":67,"incremental-convex-hull":459}],139:[function(t,e,r){e.exports={AFG:"afghan",ALA:"\\b\\wland",ALB:"albania",DZA:"algeria",ASM:"^(?=.*americ).*samoa",AND:"andorra",AGO:"angola",AIA:"anguill?a",ATA:"antarctica",ATG:"antigua",ARG:"argentin",ARM:"armenia",ABW:"^(?!.*bonaire).*\\baruba",AUS:"australia",AUT:"^(?!.*hungary).*austria|\\baustri.*\\bemp",AZE:"azerbaijan",BHS:"bahamas",BHR:"bahrain",BGD:"bangladesh|^(?=.*east).*paki?stan",BRB:"barbados",BLR:"belarus|byelo",BEL:"^(?!.*luxem).*belgium",BLZ:"belize|^(?=.*british).*honduras",BEN:"benin|dahome",BMU:"bermuda",BTN:"bhutan",BOL:"bolivia",BES:"^(?=.*bonaire).*eustatius|^(?=.*carib).*netherlands|\\bbes.?islands",BIH:"herzegovina|bosnia",BWA:"botswana|bechuana",BVT:"bouvet",BRA:"brazil",IOT:"british.?indian.?ocean",BRN:"brunei",BGR:"bulgaria",BFA:"burkina|\\bfaso|upper.?volta",BDI:"burundi",CPV:"verde",KHM:"cambodia|kampuchea|khmer",CMR:"cameroon",CAN:"canada",CYM:"cayman",CAF:"\\bcentral.african.republic",TCD:"\\bchad",CHL:"\\bchile",CHN:"^(?!.*\\bmac)(?!.*\\bhong)(?!.*\\btai)(?!.*\\brep).*china|^(?=.*peo)(?=.*rep).*china",CXR:"christmas",CCK:"\\bcocos|keeling",COL:"colombia",COM:"comoro",COG:"^(?!.*\\bdem)(?!.*\\bd[\\.]?r)(?!.*kinshasa)(?!.*zaire)(?!.*belg)(?!.*l.opoldville)(?!.*free).*\\bcongo",COK:"\\bcook",CRI:"costa.?rica",CIV:"ivoire|ivory",HRV:"croatia",CUB:"\\bcuba",CUW:"^(?!.*bonaire).*\\bcura(c|\xe7)ao",CYP:"cyprus",CSK:"czechoslovakia",CZE:"^(?=.*rep).*czech|czechia|bohemia",COD:"\\bdem.*congo|congo.*\\bdem|congo.*\\bd[\\.]?r|\\bd[\\.]?r.*congo|belgian.?congo|congo.?free.?state|kinshasa|zaire|l.opoldville|drc|droc|rdc",DNK:"denmark",DJI:"djibouti",DMA:"dominica(?!n)",DOM:"dominican.rep",ECU:"ecuador",EGY:"egypt",SLV:"el.?salvador",GNQ:"guine.*eq|eq.*guine|^(?=.*span).*guinea",ERI:"eritrea",EST:"estonia",ETH:"ethiopia|abyssinia",FLK:"falkland|malvinas",FRO:"faroe|faeroe",FJI:"fiji",FIN:"finland",FRA:"^(?!.*\\bdep)(?!.*martinique).*france|french.?republic|\\bgaul",GUF:"^(?=.*french).*guiana",PYF:"french.?polynesia|tahiti",ATF:"french.?southern",GAB:"gabon",GMB:"gambia",GEO:"^(?!.*south).*georgia",DDR:"german.?democratic.?republic|democratic.?republic.*germany|east.germany",DEU:"^(?!.*east).*germany|^(?=.*\\bfed.*\\brep).*german",GHA:"ghana|gold.?coast",GIB:"gibraltar",GRC:"greece|hellenic|hellas",GRL:"greenland",GRD:"grenada",GLP:"guadeloupe",GUM:"\\bguam",GTM:"guatemala",GGY:"guernsey",GIN:"^(?!.*eq)(?!.*span)(?!.*bissau)(?!.*portu)(?!.*new).*guinea",GNB:"bissau|^(?=.*portu).*guinea",GUY:"guyana|british.?guiana",HTI:"haiti",HMD:"heard.*mcdonald",VAT:"holy.?see|vatican|papal.?st",HND:"^(?!.*brit).*honduras",HKG:"hong.?kong",HUN:"^(?!.*austr).*hungary",ISL:"iceland",IND:"india(?!.*ocea)",IDN:"indonesia",IRN:"\\biran|persia",IRQ:"\\biraq|mesopotamia",IRL:"(^ireland)|(^republic.*ireland)",IMN:"^(?=.*isle).*\\bman",ISR:"israel",ITA:"italy",JAM:"jamaica",JPN:"japan",JEY:"jersey",JOR:"jordan",KAZ:"kazak",KEN:"kenya|british.?east.?africa|east.?africa.?prot",KIR:"kiribati",PRK:"^(?=.*democrat|people|north|d.*p.*.r).*\\bkorea|dprk|korea.*(d.*p.*r)",KWT:"kuwait",KGZ:"kyrgyz|kirghiz",LAO:"\\blaos?\\b",LVA:"latvia",LBN:"lebanon",LSO:"lesotho|basuto",LBR:"liberia",LBY:"libya",LIE:"liechtenstein",LTU:"lithuania",LUX:"^(?!.*belg).*luxem",MAC:"maca(o|u)",MDG:"madagascar|malagasy",MWI:"malawi|nyasa",MYS:"malaysia",MDV:"maldive",MLI:"\\bmali\\b",MLT:"\\bmalta",MHL:"marshall",MTQ:"martinique",MRT:"mauritania",MUS:"mauritius",MYT:"\\bmayotte",MEX:"\\bmexic",FSM:"fed.*micronesia|micronesia.*fed",MCO:"monaco",MNG:"mongolia",MNE:"^(?!.*serbia).*montenegro",MSR:"montserrat",MAR:"morocco|\\bmaroc",MOZ:"mozambique",MMR:"myanmar|burma",NAM:"namibia",NRU:"nauru",NPL:"nepal",NLD:"^(?!.*\\bant)(?!.*\\bcarib).*netherlands",ANT:"^(?=.*\\bant).*(nether|dutch)",NCL:"new.?caledonia",NZL:"new.?zealand",NIC:"nicaragua",NER:"\\bniger(?!ia)",NGA:"nigeria",NIU:"niue",NFK:"norfolk",MNP:"mariana",NOR:"norway",OMN:"\\boman|trucial",PAK:"^(?!.*east).*paki?stan",PLW:"palau",PSE:"palestin|\\bgaza|west.?bank",PAN:"panama",PNG:"papua|new.?guinea",PRY:"paraguay",PER:"peru",PHL:"philippines",PCN:"pitcairn",POL:"poland",PRT:"portugal",PRI:"puerto.?rico",QAT:"qatar",KOR:"^(?!.*d.*p.*r)(?!.*democrat)(?!.*people)(?!.*north).*\\bkorea(?!.*d.*p.*r)",MDA:"moldov|b(a|e)ssarabia",REU:"r(e|\xe9)union",ROU:"r(o|u|ou)mania",RUS:"\\brussia|soviet.?union|u\\.?s\\.?s\\.?r|socialist.?republics",RWA:"rwanda",BLM:"barth(e|\xe9)lemy",SHN:"helena",KNA:"kitts|\\bnevis",LCA:"\\blucia",MAF:"^(?=.*collectivity).*martin|^(?=.*france).*martin(?!ique)|^(?=.*french).*martin(?!ique)",SPM:"miquelon",VCT:"vincent",WSM:"^(?!.*amer).*samoa",SMR:"san.?marino",STP:"\\bs(a|\xe3)o.?tom(e|\xe9)",SAU:"\\bsa\\w*.?arabia",SEN:"senegal",SRB:"^(?!.*monte).*serbia",SYC:"seychell",SLE:"sierra",SGP:"singapore",SXM:"^(?!.*martin)(?!.*saba).*maarten",SVK:"^(?!.*cze).*slovak",SVN:"slovenia",SLB:"solomon",SOM:"somali",ZAF:"south.africa|s\\\\..?africa",SGS:"south.?georgia|sandwich",SSD:"\\bs\\w*.?sudan",ESP:"spain",LKA:"sri.?lanka|ceylon",SDN:"^(?!.*\\bs(?!u)).*sudan",SUR:"surinam|dutch.?guiana",SJM:"svalbard",SWZ:"swaziland",SWE:"sweden",CHE:"switz|swiss",SYR:"syria",TWN:"taiwan|taipei|formosa|^(?!.*peo)(?=.*rep).*china",TJK:"tajik",THA:"thailand|\\bsiam",MKD:"macedonia|fyrom",TLS:"^(?=.*leste).*timor|^(?=.*east).*timor",TGO:"togo",TKL:"tokelau",TON:"tonga",TTO:"trinidad|tobago",TUN:"tunisia",TUR:"turkey",TKM:"turkmen",TCA:"turks",TUV:"tuvalu",UGA:"uganda",UKR:"ukrain",ARE:"emirates|^u\\.?a\\.?e\\.?$|united.?arab.?em",GBR:"united.?kingdom|britain|^u\\.?k\\.?$",TZA:"tanzania",USA:"united.?states\\b(?!.*islands)|\\bu\\.?s\\.?a\\.?\\b|^\\s*u\\.?s\\.?\\b(?!.*islands)",UMI:"minor.?outlying.?is",URY:"uruguay",UZB:"uzbek",VUT:"vanuatu|new.?hebrides",VEN:"venezuela",VNM:"^(?!.*republic).*viet.?nam|^(?=.*socialist).*viet.?nam",VGB:"^(?=.*\\bu\\.?\\s?k).*virgin|^(?=.*brit).*virgin|^(?=.*kingdom).*virgin",VIR:"^(?=.*\\bu\\.?\\s?s).*virgin|^(?=.*states).*virgin",WLF:"futuna|wallis",ESH:"western.sahara",YEM:"^(?!.*arab)(?!.*north)(?!.*sana)(?!.*peo)(?!.*dem)(?!.*south)(?!.*aden)(?!.*\\bp\\.?d\\.?r).*yemen",YMD:"^(?=.*peo).*yemen|^(?!.*rep)(?=.*dem).*yemen|^(?=.*south).*yemen|^(?=.*aden).*yemen|^(?=.*\\bp\\.?d\\.?r).*yemen",YUG:"yugoslavia",ZMB:"zambia|northern.?rhodesia",EAZ:"zanzibar",ZWE:"zimbabwe|^(?!.*northern).*rhodesia"}},{}],140:[function(t,e,r){e.exports=["xx-small","x-small","small","medium","large","x-large","xx-large","larger","smaller"]},{}],141:[function(t,e,r){e.exports=["normal","condensed","semi-condensed","extra-condensed","ultra-condensed","expanded","semi-expanded","extra-expanded","ultra-expanded"]},{}],142:[function(t,e,r){e.exports=["normal","italic","oblique"]},{}],143:[function(t,e,r){e.exports=["normal","bold","bolder","lighter","100","200","300","400","500","600","700","800","900"]},{}],144:[function(t,e,r){"use strict";e.exports={parse:t("./parse"),stringify:t("./stringify")}},{"./parse":146,"./stringify":147}],145:[function(t,e,r){"use strict";var n=t("css-font-size-keywords");e.exports={isSize:function(t){return/^[\d\.]/.test(t)||-1!==t.indexOf("/")||-1!==n.indexOf(t)}}},{"css-font-size-keywords":140}],146:[function(t,e,r){"use strict";var n=t("unquote"),i=t("css-global-keywords"),a=t("css-system-font-keywords"),o=t("css-font-weight-keywords"),s=t("css-font-style-keywords"),l=t("css-font-stretch-keywords"),c=t("string-split-by"),u=t("./lib/util").isSize;e.exports=h;var f=h.cache={};function h(t){if("string"!=typeof t)throw new Error("Font argument must be a string.");if(f[t])return f[t];if(""===t)throw new Error("Cannot parse an empty string.");if(-1!==a.indexOf(t))return f[t]={system:t};for(var e,r={style:"normal",variant:"normal",weight:"normal",stretch:"normal",lineHeight:"normal",size:"1rem",family:["serif"]},h=c(t,/\s+/);e=h.shift();){if(-1!==i.indexOf(e))return["style","variant","weight","stretch"].forEach((function(t){r[t]=e})),f[t]=r;if(-1===s.indexOf(e))if("normal"!==e&&"small-caps"!==e)if(-1===l.indexOf(e)){if(-1===o.indexOf(e)){if(u(e)){var d=c(e,"/");if(r.size=d[0],null!=d[1]?r.lineHeight=p(d[1]):"/"===h[0]&&(h.shift(),r.lineHeight=p(h.shift())),!h.length)throw new Error("Missing required font-family.");return r.family=c(h.join(" "),/\s*,\s*/).map(n),f[t]=r}throw new Error("Unknown or unsupported font token: "+e)}r.weight=e}else r.stretch=e;else r.variant=e;else r.style=e}throw new Error("Missing required font-size.")}function p(t){var e=parseFloat(t);return e.toString()===t?e:t}},{"./lib/util":145,"css-font-stretch-keywords":141,"css-font-style-keywords":142,"css-font-weight-keywords":143,"css-global-keywords":148,"css-system-font-keywords":149,"string-split-by":568,unquote:598}],147:[function(t,e,r){"use strict";var n=t("pick-by-alias"),i=t("./lib/util").isSize,a=g(t("css-global-keywords")),o=g(t("css-system-font-keywords")),s=g(t("css-font-weight-keywords")),l=g(t("css-font-style-keywords")),c=g(t("css-font-stretch-keywords")),u={normal:1,"small-caps":1},f={serif:1,"sans-serif":1,monospace:1,cursive:1,fantasy:1,"system-ui":1},h="1rem",p="serif";function d(t,e){if(t&&!e[t]&&!a[t])throw Error("Unknown keyword `"+t+"`");return t}function g(t){for(var e={},r=0;r<t.length;r++)e[t[r]]=1;return e}e.exports=function(t){if((t=n(t,{style:"style fontstyle fontStyle font-style slope distinction",variant:"variant font-variant fontVariant fontvariant var capitalization",weight:"weight w font-weight fontWeight fontweight",stretch:"stretch font-stretch fontStretch fontstretch width",size:"size s font-size fontSize fontsize height em emSize",lineHeight:"lh line-height lineHeight lineheight leading",family:"font family fontFamily font-family fontfamily type typeface face",system:"system reserved default global"})).system)return t.system&&d(t.system,o),t.system;if(d(t.style,l),d(t.variant,u),d(t.weight,s),d(t.stretch,c),null==t.size&&(t.size=h),"number"==typeof t.size&&(t.size+="px"),!i)throw Error("Bad size value `"+t.size+"`");t.family||(t.family=p),Array.isArray(t.family)&&(t.family.length||(t.family=[p]),t.family=t.family.map((function(t){return f[t]?t:'"'+t+'"'})).join(", "));var e=[];return e.push(t.style),t.variant!==t.style&&e.push(t.variant),t.weight!==t.variant&&t.weight!==t.style&&e.push(t.weight),t.stretch!==t.weight&&t.stretch!==t.variant&&t.stretch!==t.style&&e.push(t.stretch),e.push(t.size+(null==t.lineHeight||"normal"===t.lineHeight||t.lineHeight+""=="1"?"":"/"+t.lineHeight)),e.push(t.family),e.filter(Boolean).join(" ")}},{"./lib/util":145,"css-font-stretch-keywords":141,"css-font-style-keywords":142,"css-font-weight-keywords":143,"css-global-keywords":148,"css-system-font-keywords":149,"pick-by-alias":511}],148:[function(t,e,r){e.exports=["inherit","initial","unset"]},{}],149:[function(t,e,r){e.exports=["caption","icon","menu","message-box","small-caption","status-bar"]},{}],150:[function(t,e,r){"use strict";e.exports=function(t,e,r,n,i,a){var o=i-1,s=i*i,l=o*o,c=(1+2*i)*l,u=i*l,f=s*(3-2*i),h=s*o;if(t.length){a||(a=new Array(t.length));for(var p=t.length-1;p>=0;--p)a[p]=c*t[p]+u*e[p]+f*r[p]+h*n[p];return a}return c*t+u*e+f*r+h*n},e.exports.derivative=function(t,e,r,n,i,a){var o=6*i*i-6*i,s=3*i*i-4*i+1,l=-6*i*i+6*i,c=3*i*i-2*i;if(t.length){a||(a=new Array(t.length));for(var u=t.length-1;u>=0;--u)a[u]=o*t[u]+s*e[u]+l*r[u]+c*n[u];return a}return o*t+s*e+l*r[u]+c*n}},{}],151:[function(t,e,r){"use strict";var n=t("./lib/thunk.js");function i(){this.argTypes=[],this.shimArgs=[],this.arrayArgs=[],this.arrayBlockIndices=[],this.scalarArgs=[],this.offsetArgs=[],this.offsetArgIndex=[],this.indexArgs=[],this.shapeArgs=[],this.funcName="",this.pre=null,this.body=null,this.post=null,this.debug=!1}e.exports=function(t){var e=new i;e.pre=t.pre,e.body=t.body,e.post=t.post;var r=t.args.slice(0);e.argTypes=r;for(var a=0;a<r.length;++a){var o=r[a];if("array"===o||"object"==typeof o&&o.blockIndices){if(e.argTypes[a]="array",e.arrayArgs.push(a),e.arrayBlockIndices.push(o.blockIndices?o.blockIndices:0),e.shimArgs.push("array"+a),a<e.pre.args.length&&e.pre.args[a].count>0)throw new Error("cwise: pre() block may not reference array args");if(a<e.post.args.length&&e.post.args[a].count>0)throw new Error("cwise: post() block may not reference array args")}else if("scalar"===o)e.scalarArgs.push(a),e.shimArgs.push("scalar"+a);else if("index"===o){if(e.indexArgs.push(a),a<e.pre.args.length&&e.pre.args[a].count>0)throw new Error("cwise: pre() block may not reference array index");if(a<e.body.args.length&&e.body.args[a].lvalue)throw new Error("cwise: body() block may not write to array index");if(a<e.post.args.length&&e.post.args[a].count>0)throw new Error("cwise: post() block may not reference array index")}else if("shape"===o){if(e.shapeArgs.push(a),a<e.pre.args.length&&e.pre.args[a].lvalue)throw new Error("cwise: pre() block may not write to array shape");if(a<e.body.args.length&&e.body.args[a].lvalue)throw new Error("cwise: body() block may not write to array shape");if(a<e.post.args.length&&e.post.args[a].lvalue)throw new Error("cwise: post() block may not write to array shape")}else{if("object"!=typeof o||!o.offset)throw new Error("cwise: Unknown argument type "+r[a]);e.argTypes[a]="offset",e.offsetArgs.push({array:o.array,offset:o.offset}),e.offsetArgIndex.push(a)}}if(e.arrayArgs.length<=0)throw new Error("cwise: No array arguments specified");if(e.pre.args.length>r.length)throw new Error("cwise: Too many arguments in pre() block");if(e.body.args.length>r.length)throw new Error("cwise: Too many arguments in body() block");if(e.post.args.length>r.length)throw new Error("cwise: Too many arguments in post() block");return e.debug=!!t.printCode||!!t.debug,e.funcName=t.funcName||"cwise",e.blockSize=t.blockSize||64,n(e)}},{"./lib/thunk.js":153}],152:[function(t,e,r){"use strict";var n=t("uniq");function i(t,e,r){var n,i,a=t.length,o=e.arrayArgs.length,s=e.indexArgs.length>0,l=[],c=[],u=0,f=0;for(n=0;n<a;++n)c.push(["i",n,"=0"].join(""));for(i=0;i<o;++i)for(n=0;n<a;++n)f=u,u=t[n],0===n?c.push(["d",i,"s",n,"=t",i,"p",u].join("")):c.push(["d",i,"s",n,"=(t",i,"p",u,"-s",f,"*t",i,"p",f,")"].join(""));for(c.length>0&&l.push("var "+c.join(",")),n=a-1;n>=0;--n)u=t[n],l.push(["for(i",n,"=0;i",n,"<s",u,";++i",n,"){"].join(""));for(l.push(r),n=0;n<a;++n){for(f=u,u=t[n],i=0;i<o;++i)l.push(["p",i,"+=d",i,"s",n].join(""));s&&(n>0&&l.push(["index[",f,"]-=s",f].join("")),l.push(["++index[",u,"]"].join(""))),l.push("}")}return l.join("\n")}function a(t,e,r){for(var n=t.body,i=[],a=[],o=0;o<t.args.length;++o){var s=t.args[o];if(!(s.count<=0)){var l=new RegExp(s.name,"g"),c="",u=e.arrayArgs.indexOf(o);switch(e.argTypes[o]){case"offset":var f=e.offsetArgIndex.indexOf(o);u=e.offsetArgs[f].array,c="+q"+f;case"array":c="p"+u+c;var h="l"+o,p="a"+u;if(0===e.arrayBlockIndices[u])1===s.count?"generic"===r[u]?s.lvalue?(i.push(["var ",h,"=",p,".get(",c,")"].join("")),n=n.replace(l,h),a.push([p,".set(",c,",",h,")"].join(""))):n=n.replace(l,[p,".get(",c,")"].join("")):n=n.replace(l,[p,"[",c,"]"].join("")):"generic"===r[u]?(i.push(["var ",h,"=",p,".get(",c,")"].join("")),n=n.replace(l,h),s.lvalue&&a.push([p,".set(",c,",",h,")"].join(""))):(i.push(["var ",h,"=",p,"[",c,"]"].join("")),n=n.replace(l,h),s.lvalue&&a.push([p,"[",c,"]=",h].join("")));else{for(var d=[s.name],g=[c],m=0;m<Math.abs(e.arrayBlockIndices[u]);m++)d.push("\\s*\\[([^\\]]+)\\]"),g.push("$"+(m+1)+"*t"+u+"b"+m);if(l=new RegExp(d.join(""),"g"),c=g.join("+"),"generic"===r[u])throw new Error("cwise: Generic arrays not supported in combination with blocks!");n=n.replace(l,[p,"[",c,"]"].join(""))}break;case"scalar":n=n.replace(l,"Y"+e.scalarArgs.indexOf(o));break;case"index":n=n.replace(l,"index");break;case"shape":n=n.replace(l,"shape")}}}return[i.join("\n"),n,a.join("\n")].join("\n").trim()}function o(t){for(var e=new Array(t.length),r=!0,n=0;n<t.length;++n){var i=t[n],a=i.match(/\d+/);a=a?a[0]:"",0===i.charAt(0)?e[n]="u"+i.charAt(1)+a:e[n]=i.charAt(0)+a,n>0&&(r=r&&e[n]===e[n-1])}return r?e[0]:e.join("")}e.exports=function(t,e){for(var r=e[1].length-Math.abs(t.arrayBlockIndices[0])|0,s=new Array(t.arrayArgs.length),l=new Array(t.arrayArgs.length),c=0;c<t.arrayArgs.length;++c)l[c]=e[2*c],s[c]=e[2*c+1];var u=[],f=[],h=[],p=[],d=[];for(c=0;c<t.arrayArgs.length;++c){t.arrayBlockIndices[c]<0?(h.push(0),p.push(r),u.push(r),f.push(r+t.arrayBlockIndices[c])):(h.push(t.arrayBlockIndices[c]),p.push(t.arrayBlockIndices[c]+r),u.push(0),f.push(t.arrayBlockIndices[c]));for(var g=[],m=0;m<s[c].length;m++)h[c]<=s[c][m]&&s[c][m]<p[c]&&g.push(s[c][m]-h[c]);d.push(g)}var v=["SS"],y=["'use strict'"],x=[];for(m=0;m<r;++m)x.push(["s",m,"=SS[",m,"]"].join(""));for(c=0;c<t.arrayArgs.length;++c){v.push("a"+c),v.push("t"+c),v.push("p"+c);for(m=0;m<r;++m)x.push(["t",c,"p",m,"=t",c,"[",h[c]+m,"]"].join(""));for(m=0;m<Math.abs(t.arrayBlockIndices[c]);++m)x.push(["t",c,"b",m,"=t",c,"[",u[c]+m,"]"].join(""))}for(c=0;c<t.scalarArgs.length;++c)v.push("Y"+c);if(t.shapeArgs.length>0&&x.push("shape=SS.slice(0)"),t.indexArgs.length>0){var b=new Array(r);for(c=0;c<r;++c)b[c]="0";x.push(["index=[",b.join(","),"]"].join(""))}for(c=0;c<t.offsetArgs.length;++c){var _=t.offsetArgs[c],w=[];for(m=0;m<_.offset.length;++m)0!==_.offset[m]&&(1===_.offset[m]?w.push(["t",_.array,"p",m].join("")):w.push([_.offset[m],"*t",_.array,"p",m].join("")));0===w.length?x.push("q"+c+"=0"):x.push(["q",c,"=",w.join("+")].join(""))}var T=n([].concat(t.pre.thisVars).concat(t.body.thisVars).concat(t.post.thisVars));for((x=x.concat(T)).length>0&&y.push("var "+x.join(",")),c=0;c<t.arrayArgs.length;++c)y.push("p"+c+"|=0");t.pre.body.length>3&&y.push(a(t.pre,t,l));var k=a(t.body,t,l),M=function(t){for(var e=0,r=t[0].length;e<r;){for(var n=1;n<t.length;++n)if(t[n][e]!==t[0][e])return e;++e}return e}(d);M<r?y.push(function(t,e,r,n){for(var a=e.length,o=r.arrayArgs.length,s=r.blockSize,l=r.indexArgs.length>0,c=[],u=0;u<o;++u)c.push(["var offset",u,"=p",u].join(""));for(u=t;u<a;++u)c.push(["for(var j"+u+"=SS[",e[u],"]|0;j",u,">0;){"].join("")),c.push(["if(j",u,"<",s,"){"].join("")),c.push(["s",e[u],"=j",u].join("")),c.push(["j",u,"=0"].join("")),c.push(["}else{s",e[u],"=",s].join("")),c.push(["j",u,"-=",s,"}"].join("")),l&&c.push(["index[",e[u],"]=j",u].join(""));for(u=0;u<o;++u){for(var f=["offset"+u],h=t;h<a;++h)f.push(["j",h,"*t",u,"p",e[h]].join(""));c.push(["p",u,"=(",f.join("+"),")"].join(""))}for(c.push(i(e,r,n)),u=t;u<a;++u)c.push("}");return c.join("\n")}(M,d[0],t,k)):y.push(i(d[0],t,k)),t.post.body.length>3&&y.push(a(t.post,t,l)),t.debug&&console.log("-----Generated cwise routine for ",e,":\n"+y.join("\n")+"\n----------");var A=[t.funcName||"unnamed","_cwise_loop_",s[0].join("s"),"m",M,o(l)].join("");return new Function(["function ",A,"(",v.join(","),"){",y.join("\n"),"} return ",A].join(""))()}},{uniq:597}],153:[function(t,e,r){"use strict";var n=t("./compile.js");e.exports=function(t){var e=["'use strict'","var CACHED={}"],r=[],i=t.funcName+"_cwise_thunk";e.push(["return function ",i,"(",t.shimArgs.join(","),"){"].join(""));for(var a=[],o=[],s=[["array",t.arrayArgs[0],".shape.slice(",Math.max(0,t.arrayBlockIndices[0]),t.arrayBlockIndices[0]<0?","+t.arrayBlockIndices[0]+")":")"].join("")],l=[],c=[],u=0;u<t.arrayArgs.length;++u){var f=t.arrayArgs[u];r.push(["t",f,"=array",f,".dtype,","r",f,"=array",f,".order"].join("")),a.push("t"+f),a.push("r"+f),o.push("t"+f),o.push("r"+f+".join()"),s.push("array"+f+".data"),s.push("array"+f+".stride"),s.push("array"+f+".offset|0"),u>0&&(l.push("array"+t.arrayArgs[0]+".shape.length===array"+f+".shape.length+"+(Math.abs(t.arrayBlockIndices[0])-Math.abs(t.arrayBlockIndices[u]))),c.push("array"+t.arrayArgs[0]+".shape[shapeIndex+"+Math.max(0,t.arrayBlockIndices[0])+"]===array"+f+".shape[shapeIndex+"+Math.max(0,t.arrayBlockIndices[u])+"]"))}for(t.arrayArgs.length>1&&(e.push("if (!("+l.join(" && ")+")) throw new Error('cwise: Arrays do not all have the same dimensionality!')"),e.push("for(var shapeIndex=array"+t.arrayArgs[0]+".shape.length-"+Math.abs(t.arrayBlockIndices[0])+"; shapeIndex--\x3e0;) {"),e.push("if (!("+c.join(" && ")+")) throw new Error('cwise: Arrays do not all have the same shape!')"),e.push("}")),u=0;u<t.scalarArgs.length;++u)s.push("scalar"+t.scalarArgs[u]);return r.push(["type=[",o.join(","),"].join()"].join("")),r.push("proc=CACHED[type]"),e.push("var "+r.join(",")),e.push(["if(!proc){","CACHED[type]=proc=compile([",a.join(","),"])}","return proc(",s.join(","),")}"].join("")),t.debug&&console.log("-----Generated thunk:\n"+e.join("\n")+"\n----------"),new Function("compile",e.join("\n"))(n.bind(void 0,t))}},{"./compile.js":152}],154:[function(t,e,r){"use strict";var n,i=t("type/value/is"),a=t("type/value/ensure"),o=t("type/plain-function/ensure"),s=t("es5-ext/object/copy"),l=t("es5-ext/object/normalize-options"),c=t("es5-ext/object/map"),u=Function.prototype.bind,f=Object.defineProperty,h=Object.prototype.hasOwnProperty;n=function(t,e,r){var n,i=a(e)&&o(e.value);return delete(n=s(e)).writable,delete n.value,n.get=function(){return!r.overwriteDefinition&&h.call(this,t)?i:(e.value=u.call(i,r.resolveContext?r.resolveContext(this):this),f(this,t,e),this[t])},n},e.exports=function(t){var e=l(arguments[1]);return i(e.resolveContext)&&o(e.resolveContext),c(t,(function(t,r){return n(r,t,e)}))}},{"es5-ext/object/copy":196,"es5-ext/object/map":204,"es5-ext/object/normalize-options":205,"type/plain-function/ensure":589,"type/value/ensure":593,"type/value/is":594}],155:[function(t,e,r){"use strict";var n=t("type/value/is"),i=t("type/plain-function/is"),a=t("es5-ext/object/assign"),o=t("es5-ext/object/normalize-options"),s=t("es5-ext/string/#/contains");(e.exports=function(t,e){var r,i,l,c,u;return arguments.length<2||"string"!=typeof t?(c=e,e=t,t=null):c=arguments[2],n(t)?(r=s.call(t,"c"),i=s.call(t,"e"),l=s.call(t,"w")):(r=l=!0,i=!1),u={value:e,configurable:r,enumerable:i,writable:l},c?a(o(c),u):u}).gs=function(t,e,r){var l,c,u,f;return"string"!=typeof t?(u=r,r=e,e=t,t=null):u=arguments[3],n(e)?i(e)?n(r)?i(r)||(u=r,r=void 0):r=void 0:(u=e,e=r=void 0):e=void 0,n(t)?(l=s.call(t,"c"),c=s.call(t,"e")):(l=!0,c=!1),f={get:e,set:r,configurable:l,enumerable:c},u?a(o(u),f):f}},{"es5-ext/object/assign":193,"es5-ext/object/normalize-options":205,"es5-ext/string/#/contains":212,"type/plain-function/is":590,"type/value/is":594}],156:[function(t,e,r){!function(t,n){n("object"==typeof r&&"undefined"!=typeof e?r:t.d3=t.d3||{})}(this,(function(t){"use strict";function e(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}function r(t){var r;return 1===t.length&&(r=t,t=function(t,n){return e(r(t),n)}),{left:function(e,r,n,i){for(null==n&&(n=0),null==i&&(i=e.length);n<i;){var a=n+i>>>1;t(e[a],r)<0?n=a+1:i=a}return n},right:function(e,r,n,i){for(null==n&&(n=0),null==i&&(i=e.length);n<i;){var a=n+i>>>1;t(e[a],r)>0?i=a:n=a+1}return n}}}var n=r(e),i=n.right,a=n.left;function o(t,e){return[t,e]}function s(t){return null===t?NaN:+t}function l(t,e){var r,n,i=t.length,a=0,o=-1,l=0,c=0;if(null==e)for(;++o<i;)isNaN(r=s(t[o]))||(c+=(n=r-l)*(r-(l+=n/++a)));else for(;++o<i;)isNaN(r=s(e(t[o],o,t)))||(c+=(n=r-l)*(r-(l+=n/++a)));if(a>1)return c/(a-1)}function c(t,e){var r=l(t,e);return r?Math.sqrt(r):r}function u(t,e){var r,n,i,a=t.length,o=-1;if(null==e){for(;++o<a;)if(null!=(r=t[o])&&r>=r)for(n=i=r;++o<a;)null!=(r=t[o])&&(n>r&&(n=r),i<r&&(i=r))}else for(;++o<a;)if(null!=(r=e(t[o],o,t))&&r>=r)for(n=i=r;++o<a;)null!=(r=e(t[o],o,t))&&(n>r&&(n=r),i<r&&(i=r));return[n,i]}var f=Array.prototype,h=f.slice,p=f.map;function d(t){return function(){return t}}function g(t){return t}function m(t,e,r){t=+t,e=+e,r=(i=arguments.length)<2?(e=t,t=0,1):i<3?1:+r;for(var n=-1,i=0|Math.max(0,Math.ceil((e-t)/r)),a=new Array(i);++n<i;)a[n]=t+n*r;return a}var v=Math.sqrt(50),y=Math.sqrt(10),x=Math.sqrt(2);function b(t,e,r){var n=(e-t)/Math.max(0,r),i=Math.floor(Math.log(n)/Math.LN10),a=n/Math.pow(10,i);return i>=0?(a>=v?10:a>=y?5:a>=x?2:1)*Math.pow(10,i):-Math.pow(10,-i)/(a>=v?10:a>=y?5:a>=x?2:1)}function _(t,e,r){var n=Math.abs(e-t)/Math.max(0,r),i=Math.pow(10,Math.floor(Math.log(n)/Math.LN10)),a=n/i;return a>=v?i*=10:a>=y?i*=5:a>=x&&(i*=2),e<t?-i:i}function w(t){return Math.ceil(Math.log(t.length)/Math.LN2)+1}function T(t,e,r){if(null==r&&(r=s),n=t.length){if((e=+e)<=0||n<2)return+r(t[0],0,t);if(e>=1)return+r(t[n-1],n-1,t);var n,i=(n-1)*e,a=Math.floor(i),o=+r(t[a],a,t);return o+(+r(t[a+1],a+1,t)-o)*(i-a)}}function k(t,e){var r,n,i=t.length,a=-1;if(null==e){for(;++a<i;)if(null!=(r=t[a])&&r>=r)for(n=r;++a<i;)null!=(r=t[a])&&n>r&&(n=r)}else for(;++a<i;)if(null!=(r=e(t[a],a,t))&&r>=r)for(n=r;++a<i;)null!=(r=e(t[a],a,t))&&n>r&&(n=r);return n}function M(t){if(!(i=t.length))return[];for(var e=-1,r=k(t,A),n=new Array(r);++e<r;)for(var i,a=-1,o=n[e]=new Array(i);++a<i;)o[a]=t[a][e];return n}function A(t){return t.length}t.bisect=i,t.bisectRight=i,t.bisectLeft=a,t.ascending=e,t.bisector=r,t.cross=function(t,e,r){var n,i,a,s,l=t.length,c=e.length,u=new Array(l*c);for(null==r&&(r=o),n=a=0;n<l;++n)for(s=t[n],i=0;i<c;++i,++a)u[a]=r(s,e[i]);return u},t.descending=function(t,e){return e<t?-1:e>t?1:e>=t?0:NaN},t.deviation=c,t.extent=u,t.histogram=function(){var t=g,e=u,r=w;function n(n){var a,o,s=n.length,l=new Array(s);for(a=0;a<s;++a)l[a]=t(n[a],a,n);var c=e(l),u=c[0],f=c[1],h=r(l,u,f);Array.isArray(h)||(h=_(u,f,h),h=m(Math.ceil(u/h)*h,f,h));for(var p=h.length;h[0]<=u;)h.shift(),--p;for(;h[p-1]>f;)h.pop(),--p;var d,g=new Array(p+1);for(a=0;a<=p;++a)(d=g[a]=[]).x0=a>0?h[a-1]:u,d.x1=a<p?h[a]:f;for(a=0;a<s;++a)u<=(o=l[a])&&o<=f&&g[i(h,o,0,p)].push(n[a]);return g}return n.value=function(e){return arguments.length?(t="function"==typeof e?e:d(e),n):t},n.domain=function(t){return arguments.length?(e="function"==typeof t?t:d([t[0],t[1]]),n):e},n.thresholds=function(t){return arguments.length?(r="function"==typeof t?t:Array.isArray(t)?d(h.call(t)):d(t),n):r},n},t.thresholdFreedmanDiaconis=function(t,r,n){return t=p.call(t,s).sort(e),Math.ceil((n-r)/(2*(T(t,.75)-T(t,.25))*Math.pow(t.length,-1/3)))},t.thresholdScott=function(t,e,r){return Math.ceil((r-e)/(3.5*c(t)*Math.pow(t.length,-1/3)))},t.thresholdSturges=w,t.max=function(t,e){var r,n,i=t.length,a=-1;if(null==e){for(;++a<i;)if(null!=(r=t[a])&&r>=r)for(n=r;++a<i;)null!=(r=t[a])&&r>n&&(n=r)}else for(;++a<i;)if(null!=(r=e(t[a],a,t))&&r>=r)for(n=r;++a<i;)null!=(r=e(t[a],a,t))&&r>n&&(n=r);return n},t.mean=function(t,e){var r,n=t.length,i=n,a=-1,o=0;if(null==e)for(;++a<n;)isNaN(r=s(t[a]))?--i:o+=r;else for(;++a<n;)isNaN(r=s(e(t[a],a,t)))?--i:o+=r;if(i)return o/i},t.median=function(t,r){var n,i=t.length,a=-1,o=[];if(null==r)for(;++a<i;)isNaN(n=s(t[a]))||o.push(n);else for(;++a<i;)isNaN(n=s(r(t[a],a,t)))||o.push(n);return T(o.sort(e),.5)},t.merge=function(t){for(var e,r,n,i=t.length,a=-1,o=0;++a<i;)o+=t[a].length;for(r=new Array(o);--i>=0;)for(e=(n=t[i]).length;--e>=0;)r[--o]=n[e];return r},t.min=k,t.pairs=function(t,e){null==e&&(e=o);for(var r=0,n=t.length-1,i=t[0],a=new Array(n<0?0:n);r<n;)a[r]=e(i,i=t[++r]);return a},t.permute=function(t,e){for(var r=e.length,n=new Array(r);r--;)n[r]=t[e[r]];return n},t.quantile=T,t.range=m,t.scan=function(t,r){if(n=t.length){var n,i,a=0,o=0,s=t[o];for(null==r&&(r=e);++a<n;)(r(i=t[a],s)<0||0!==r(s,s))&&(s=i,o=a);return 0===r(s,s)?o:void 0}},t.shuffle=function(t,e,r){for(var n,i,a=(null==r?t.length:r)-(e=null==e?0:+e);a;)i=Math.random()*a--|0,n=t[a+e],t[a+e]=t[i+e],t[i+e]=n;return t},t.sum=function(t,e){var r,n=t.length,i=-1,a=0;if(null==e)for(;++i<n;)(r=+t[i])&&(a+=r);else for(;++i<n;)(r=+e(t[i],i,t))&&(a+=r);return a},t.ticks=function(t,e,r){var n,i,a,o,s=-1;if(r=+r,(t=+t)===(e=+e)&&r>0)return[t];if((n=e<t)&&(i=t,t=e,e=i),0===(o=b(t,e,r))||!isFinite(o))return[];if(o>0)for(t=Math.ceil(t/o),e=Math.floor(e/o),a=new Array(i=Math.ceil(e-t+1));++s<i;)a[s]=(t+s)*o;else for(t=Math.floor(t*o),e=Math.ceil(e*o),a=new Array(i=Math.ceil(t-e+1));++s<i;)a[s]=(t-s)/o;return n&&a.reverse(),a},t.tickIncrement=b,t.tickStep=_,t.transpose=M,t.variance=l,t.zip=function(){return M(arguments)},Object.defineProperty(t,"__esModule",{value:!0})}))},{}],157:[function(t,e,r){!function(t,n){n("object"==typeof r&&"undefined"!=typeof e?r:t.d3=t.d3||{})}(this,(function(t){"use strict";function e(){}function r(t,r){var n=new e;if(t instanceof e)t.each((function(t,e){n.set(e,t)}));else if(Array.isArray(t)){var i,a=-1,o=t.length;if(null==r)for(;++a<o;)n.set(a,t[a]);else for(;++a<o;)n.set(r(i=t[a],a,t),i)}else if(t)for(var s in t)n.set(s,t[s]);return n}function n(){return{}}function i(t,e,r){t[e]=r}function a(){return r()}function o(t,e,r){t.set(e,r)}function s(){}e.prototype=r.prototype={constructor:e,has:function(t){return"$"+t in this},get:function(t){return this["$"+t]},set:function(t,e){return this["$"+t]=e,this},remove:function(t){var e="$"+t;return e in this&&delete this[e]},clear:function(){for(var t in this)"$"===t[0]&&delete this[t]},keys:function(){var t=[];for(var e in this)"$"===e[0]&&t.push(e.slice(1));return t},values:function(){var t=[];for(var e in this)"$"===e[0]&&t.push(this[e]);return t},entries:function(){var t=[];for(var e in this)"$"===e[0]&&t.push({key:e.slice(1),value:this[e]});return t},size:function(){var t=0;for(var e in this)"$"===e[0]&&++t;return t},empty:function(){for(var t in this)if("$"===t[0])return!1;return!0},each:function(t){for(var e in this)"$"===e[0]&&t(this[e],e.slice(1),this)}};var l=r.prototype;function c(t,e){var r=new s;if(t instanceof s)t.each((function(t){r.add(t)}));else if(t){var n=-1,i=t.length;if(null==e)for(;++n<i;)r.add(t[n]);else for(;++n<i;)r.add(e(t[n],n,t))}return r}s.prototype=c.prototype={constructor:s,has:l.has,add:function(t){return this["$"+(t+="")]=t,this},remove:l.remove,clear:l.clear,values:l.keys,size:l.size,empty:l.empty,each:l.each},t.nest=function(){var t,e,s,l=[],c=[];function u(n,i,a,o){if(i>=l.length)return null!=t&&n.sort(t),null!=e?e(n):n;for(var s,c,f,h=-1,p=n.length,d=l[i++],g=r(),m=a();++h<p;)(f=g.get(s=d(c=n[h])+""))?f.push(c):g.set(s,[c]);return g.each((function(t,e){o(m,e,u(t,i,a,o))})),m}return s={object:function(t){return u(t,0,n,i)},map:function(t){return u(t,0,a,o)},entries:function(t){return function t(r,n){if(++n>l.length)return r;var i,a=c[n-1];return null!=e&&n>=l.length?i=r.entries():(i=[],r.each((function(e,r){i.push({key:r,values:t(e,n)})}))),null!=a?i.sort((function(t,e){return a(t.key,e.key)})):i}(u(t,0,a,o),0)},key:function(t){return l.push(t),s},sortKeys:function(t){return c[l.length-1]=t,s},sortValues:function(e){return t=e,s},rollup:function(t){return e=t,s}}},t.set=c,t.map=r,t.keys=function(t){var e=[];for(var r in t)e.push(r);return e},t.values=function(t){var e=[];for(var r in t)e.push(t[r]);return e},t.entries=function(t){var e=[];for(var r in t)e.push({key:r,value:t[r]});return e},Object.defineProperty(t,"__esModule",{value:!0})}))},{}],158:[function(t,e,r){!function(t,n){"object"==typeof r&&"undefined"!=typeof e?n(r):n((t=t||self).d3=t.d3||{})}(this,(function(t){"use strict";function e(t,e,r){t.prototype=e.prototype=r,r.constructor=t}function r(t,e){var r=Object.create(t.prototype);for(var n in e)r[n]=e[n];return r}function n(){}var i="\\s*([+-]?\\d+)\\s*",a="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*",o="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*",s=/^#([0-9a-f]{3,8})$/,l=new RegExp("^rgb\\("+[i,i,i]+"\\)$"),c=new RegExp("^rgb\\("+[o,o,o]+"\\)$"),u=new RegExp("^rgba\\("+[i,i,i,a]+"\\)$"),f=new RegExp("^rgba\\("+[o,o,o,a]+"\\)$"),h=new RegExp("^hsl\\("+[a,o,o]+"\\)$"),p=new RegExp("^hsla\\("+[a,o,o,a]+"\\)$"),d={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function g(){return this.rgb().formatHex()}function m(){return this.rgb().formatRgb()}function v(t){var e,r;return t=(t+"").trim().toLowerCase(),(e=s.exec(t))?(r=e[1].length,e=parseInt(e[1],16),6===r?y(e):3===r?new w(e>>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):8===r?x(e>>24&255,e>>16&255,e>>8&255,(255&e)/255):4===r?x(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|240&e,((15&e)<<4|15&e)/255):null):(e=l.exec(t))?new w(e[1],e[2],e[3],1):(e=c.exec(t))?new w(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=u.exec(t))?x(e[1],e[2],e[3],e[4]):(e=f.exec(t))?x(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=h.exec(t))?A(e[1],e[2]/100,e[3]/100,1):(e=p.exec(t))?A(e[1],e[2]/100,e[3]/100,e[4]):d.hasOwnProperty(t)?y(d[t]):"transparent"===t?new w(NaN,NaN,NaN,0):null}function y(t){return new w(t>>16&255,t>>8&255,255&t,1)}function x(t,e,r,n){return n<=0&&(t=e=r=NaN),new w(t,e,r,n)}function b(t){return t instanceof n||(t=v(t)),t?new w((t=t.rgb()).r,t.g,t.b,t.opacity):new w}function _(t,e,r,n){return 1===arguments.length?b(t):new w(t,e,r,null==n?1:n)}function w(t,e,r,n){this.r=+t,this.g=+e,this.b=+r,this.opacity=+n}function T(){return"#"+M(this.r)+M(this.g)+M(this.b)}function k(){var t=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===t?")":", "+t+")")}function M(t){return((t=Math.max(0,Math.min(255,Math.round(t)||0)))<16?"0":"")+t.toString(16)}function A(t,e,r,n){return n<=0?t=e=r=NaN:r<=0||r>=1?t=e=NaN:e<=0&&(t=NaN),new C(t,e,r,n)}function S(t){if(t instanceof C)return new C(t.h,t.s,t.l,t.opacity);if(t instanceof n||(t=v(t)),!t)return new C;if(t instanceof C)return t;var e=(t=t.rgb()).r/255,r=t.g/255,i=t.b/255,a=Math.min(e,r,i),o=Math.max(e,r,i),s=NaN,l=o-a,c=(o+a)/2;return l?(s=e===o?(r-i)/l+6*(r<i):r===o?(i-e)/l+2:(e-r)/l+4,l/=c<.5?o+a:2-o-a,s*=60):l=c>0&&c<1?0:s,new C(s,l,c,t.opacity)}function E(t,e,r,n){return 1===arguments.length?S(t):new C(t,e,r,null==n?1:n)}function C(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}function L(t,e,r){return 255*(t<60?e+(r-e)*t/60:t<180?r:t<240?e+(r-e)*(240-t)/60:e)}e(n,v,{copy:function(t){return Object.assign(new this.constructor,this,t)},displayable:function(){return this.rgb().displayable()},hex:g,formatHex:g,formatHsl:function(){return S(this).formatHsl()},formatRgb:m,toString:m}),e(w,_,r(n,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new w(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new w(this.r*t,this.g*t,this.b*t,this.opacity)},rgb:function(){return this},displayable:function(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:T,formatHex:T,formatRgb:k,toString:k})),e(C,E,r(n,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new C(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new C(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=this.h%360+360*(this.h<0),e=isNaN(t)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*e,i=2*r-n;return new w(L(t>=240?t-240:t+120,i,n),L(t,i,n),L(t<120?t+240:t-120,i,n),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl:function(){var t=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?"hsl(":"hsla(")+(this.h||0)+", "+100*(this.s||0)+"%, "+100*(this.l||0)+"%"+(1===t?")":", "+t+")")}}));var I=Math.PI/180,P=180/Math.PI,z=6/29,O=3*z*z;function D(t){if(t instanceof F)return new F(t.l,t.a,t.b,t.opacity);if(t instanceof H)return G(t);t instanceof w||(t=b(t));var e,r,n=U(t.r),i=U(t.g),a=U(t.b),o=B((.2225045*n+.7168786*i+.0606169*a)/1);return n===i&&i===a?e=r=o:(e=B((.4360747*n+.3850649*i+.1430804*a)/.96422),r=B((.0139322*n+.0971045*i+.7141733*a)/.82521)),new F(116*o-16,500*(e-o),200*(o-r),t.opacity)}function R(t,e,r,n){return 1===arguments.length?D(t):new F(t,e,r,null==n?1:n)}function F(t,e,r,n){this.l=+t,this.a=+e,this.b=+r,this.opacity=+n}function B(t){return t>.008856451679035631?Math.pow(t,1/3):t/O+4/29}function N(t){return t>z?t*t*t:O*(t-4/29)}function j(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function U(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function V(t){if(t instanceof H)return new H(t.h,t.c,t.l,t.opacity);if(t instanceof F||(t=D(t)),0===t.a&&0===t.b)return new H(NaN,0<t.l&&t.l<100?0:NaN,t.l,t.opacity);var e=Math.atan2(t.b,t.a)*P;return new H(e<0?e+360:e,Math.sqrt(t.a*t.a+t.b*t.b),t.l,t.opacity)}function q(t,e,r,n){return 1===arguments.length?V(t):new H(t,e,r,null==n?1:n)}function H(t,e,r,n){this.h=+t,this.c=+e,this.l=+r,this.opacity=+n}function G(t){if(isNaN(t.h))return new F(t.l,0,0,t.opacity);var e=t.h*I;return new F(t.l,Math.cos(e)*t.c,Math.sin(e)*t.c,t.opacity)}e(F,R,r(n,{brighter:function(t){return new F(this.l+18*(null==t?1:t),this.a,this.b,this.opacity)},darker:function(t){return new F(this.l-18*(null==t?1:t),this.a,this.b,this.opacity)},rgb:function(){var t=(this.l+16)/116,e=isNaN(this.a)?t:t+this.a/500,r=isNaN(this.b)?t:t-this.b/200;return new w(j(3.1338561*(e=.96422*N(e))-1.6168667*(t=1*N(t))-.4906146*(r=.82521*N(r))),j(-.9787684*e+1.9161415*t+.033454*r),j(.0719453*e-.2289914*t+1.4052427*r),this.opacity)}})),e(H,q,r(n,{brighter:function(t){return new H(this.h,this.c,this.l+18*(null==t?1:t),this.opacity)},darker:function(t){return new H(this.h,this.c,this.l-18*(null==t?1:t),this.opacity)},rgb:function(){return G(this).rgb()}}));var Y=-.14861,W=1.78277,X=-.29227,Z=-.90649,J=1.97294,K=J*Z,Q=J*W,$=W*X-Z*Y;function tt(t){if(t instanceof rt)return new rt(t.h,t.s,t.l,t.opacity);t instanceof w||(t=b(t));var e=t.r/255,r=t.g/255,n=t.b/255,i=($*n+K*e-Q*r)/($+K-Q),a=n-i,o=(J*(r-i)-X*a)/Z,s=Math.sqrt(o*o+a*a)/(J*i*(1-i)),l=s?Math.atan2(o,a)*P-120:NaN;return new rt(l<0?l+360:l,s,i,t.opacity)}function et(t,e,r,n){return 1===arguments.length?tt(t):new rt(t,e,r,null==n?1:n)}function rt(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}e(rt,et,r(n,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new rt(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new rt(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=isNaN(this.h)?0:(this.h+120)*I,e=+this.l,r=isNaN(this.s)?0:this.s*e*(1-e),n=Math.cos(t),i=Math.sin(t);return new w(255*(e+r*(Y*n+W*i)),255*(e+r*(X*n+Z*i)),255*(e+r*(J*n)),this.opacity)}})),t.color=v,t.cubehelix=et,t.gray=function(t,e){return new F(t,0,0,null==e?1:e)},t.hcl=q,t.hsl=E,t.lab=R,t.lch=function(t,e,r,n){return 1===arguments.length?V(t):new H(r,e,t,null==n?1:n)},t.rgb=_,Object.defineProperty(t,"__esModule",{value:!0})}))},{}],159:[function(t,e,r){!function(t,n){"object"==typeof r&&"undefined"!=typeof e?n(r):n((t=t||self).d3=t.d3||{})}(this,(function(t){"use strict";var e={value:function(){}};function r(){for(var t,e=0,r=arguments.length,i={};e<r;++e){if(!(t=arguments[e]+"")||t in i||/[\s.]/.test(t))throw new Error("illegal type: "+t);i[t]=[]}return new n(i)}function n(t){this._=t}function i(t,e){return t.trim().split(/^|\s+/).map((function(t){var r="",n=t.indexOf(".");if(n>=0&&(r=t.slice(n+1),t=t.slice(0,n)),t&&!e.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name:r}}))}function a(t,e){for(var r,n=0,i=t.length;n<i;++n)if((r=t[n]).name===e)return r.value}function o(t,r,n){for(var i=0,a=t.length;i<a;++i)if(t[i].name===r){t[i]=e,t=t.slice(0,i).concat(t.slice(i+1));break}return null!=n&&t.push({name:r,value:n}),t}n.prototype=r.prototype={constructor:n,on:function(t,e){var r,n=this._,s=i(t+"",n),l=-1,c=s.length;if(!(arguments.length<2)){if(null!=e&&"function"!=typeof e)throw new Error("invalid callback: "+e);for(;++l<c;)if(r=(t=s[l]).type)n[r]=o(n[r],t.name,e);else if(null==e)for(r in n)n[r]=o(n[r],t.name,null);return this}for(;++l<c;)if((r=(t=s[l]).type)&&(r=a(n[r],t.name)))return r},copy:function(){var t={},e=this._;for(var r in e)t[r]=e[r].slice();return new n(t)},call:function(t,e){if((r=arguments.length-2)>0)for(var r,n,i=new Array(r),a=0;a<r;++a)i[a]=arguments[a+2];if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(a=0,r=(n=this._[t]).length;a<r;++a)n[a].value.apply(e,i)},apply:function(t,e,r){if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(var n=this._[t],i=0,a=n.length;i<a;++i)n[i].value.apply(e,r)}},t.dispatch=r,Object.defineProperty(t,"__esModule",{value:!0})}))},{}],160:[function(t,e,r){!function(n,i){"object"==typeof r&&"undefined"!=typeof e?i(r,t("d3-quadtree"),t("d3-collection"),t("d3-dispatch"),t("d3-timer")):i(n.d3=n.d3||{},n.d3,n.d3,n.d3,n.d3)}(this,(function(t,e,r,n,i){"use strict";function a(t){return function(){return t}}function o(){return 1e-6*(Math.random()-.5)}function s(t){return t.x+t.vx}function l(t){return t.y+t.vy}function c(t){return t.index}function u(t,e){var r=t.get(e);if(!r)throw new Error("missing: "+e);return r}function f(t){return t.x}function h(t){return t.y}var p=Math.PI*(3-Math.sqrt(5));t.forceCenter=function(t,e){var r;function n(){var n,i,a=r.length,o=0,s=0;for(n=0;n<a;++n)o+=(i=r[n]).x,s+=i.y;for(o=o/a-t,s=s/a-e,n=0;n<a;++n)(i=r[n]).x-=o,i.y-=s}return null==t&&(t=0),null==e&&(e=0),n.initialize=function(t){r=t},n.x=function(e){return arguments.length?(t=+e,n):t},n.y=function(t){return arguments.length?(e=+t,n):e},n},t.forceCollide=function(t){var r,n,i=1,c=1;function u(){for(var t,a,u,h,p,d,g,m=r.length,v=0;v<c;++v)for(a=e.quadtree(r,s,l).visitAfter(f),t=0;t<m;++t)u=r[t],d=n[u.index],g=d*d,h=u.x+u.vx,p=u.y+u.vy,a.visit(y);function y(t,e,r,n,a){var s=t.data,l=t.r,c=d+l;if(!s)return e>h+c||n<h-c||r>p+c||a<p-c;if(s.index>u.index){var f=h-s.x-s.vx,m=p-s.y-s.vy,v=f*f+m*m;v<c*c&&(0===f&&(v+=(f=o())*f),0===m&&(v+=(m=o())*m),v=(c-(v=Math.sqrt(v)))/v*i,u.vx+=(f*=v)*(c=(l*=l)/(g+l)),u.vy+=(m*=v)*c,s.vx-=f*(c=1-c),s.vy-=m*c)}}}function f(t){if(t.data)return t.r=n[t.data.index];for(var e=t.r=0;e<4;++e)t[e]&&t[e].r>t.r&&(t.r=t[e].r)}function h(){if(r){var e,i,a=r.length;for(n=new Array(a),e=0;e<a;++e)i=r[e],n[i.index]=+t(i,e,r)}}return"function"!=typeof t&&(t=a(null==t?1:+t)),u.initialize=function(t){r=t,h()},u.iterations=function(t){return arguments.length?(c=+t,u):c},u.strength=function(t){return arguments.length?(i=+t,u):i},u.radius=function(e){return arguments.length?(t="function"==typeof e?e:a(+e),h(),u):t},u},t.forceLink=function(t){var e,n,i,s,l,f=c,h=function(t){return 1/Math.min(s[t.source.index],s[t.target.index])},p=a(30),d=1;function g(r){for(var i=0,a=t.length;i<d;++i)for(var s,c,u,f,h,p,g,m=0;m<a;++m)c=(s=t[m]).source,f=(u=s.target).x+u.vx-c.x-c.vx||o(),h=u.y+u.vy-c.y-c.vy||o(),f*=p=((p=Math.sqrt(f*f+h*h))-n[m])/p*r*e[m],h*=p,u.vx-=f*(g=l[m]),u.vy-=h*g,c.vx+=f*(g=1-g),c.vy+=h*g}function m(){if(i){var a,o,c=i.length,h=t.length,p=r.map(i,f);for(a=0,s=new Array(c);a<h;++a)(o=t[a]).index=a,"object"!=typeof o.source&&(o.source=u(p,o.source)),"object"!=typeof o.target&&(o.target=u(p,o.target)),s[o.source.index]=(s[o.source.index]||0)+1,s[o.target.index]=(s[o.target.index]||0)+1;for(a=0,l=new Array(h);a<h;++a)o=t[a],l[a]=s[o.source.index]/(s[o.source.index]+s[o.target.index]);e=new Array(h),v(),n=new Array(h),y()}}function v(){if(i)for(var r=0,n=t.length;r<n;++r)e[r]=+h(t[r],r,t)}function y(){if(i)for(var e=0,r=t.length;e<r;++e)n[e]=+p(t[e],e,t)}return null==t&&(t=[]),g.initialize=function(t){i=t,m()},g.links=function(e){return arguments.length?(t=e,m(),g):t},g.id=function(t){return arguments.length?(f=t,g):f},g.iterations=function(t){return arguments.length?(d=+t,g):d},g.strength=function(t){return arguments.length?(h="function"==typeof t?t:a(+t),v(),g):h},g.distance=function(t){return arguments.length?(p="function"==typeof t?t:a(+t),y(),g):p},g},t.forceManyBody=function(){var t,r,n,i,s=a(-30),l=1,c=1/0,u=.81;function p(i){var a,o=t.length,s=e.quadtree(t,f,h).visitAfter(g);for(n=i,a=0;a<o;++a)r=t[a],s.visit(m)}function d(){if(t){var e,r,n=t.length;for(i=new Array(n),e=0;e<n;++e)r=t[e],i[r.index]=+s(r,e,t)}}function g(t){var e,r,n,a,o,s=0,l=0;if(t.length){for(n=a=o=0;o<4;++o)(e=t[o])&&(r=Math.abs(e.value))&&(s+=e.value,l+=r,n+=r*e.x,a+=r*e.y);t.x=n/l,t.y=a/l}else{(e=t).x=e.data.x,e.y=e.data.y;do{s+=i[e.data.index]}while(e=e.next)}t.value=s}function m(t,e,a,s){if(!t.value)return!0;var f=t.x-r.x,h=t.y-r.y,p=s-e,d=f*f+h*h;if(p*p/u<d)return d<c&&(0===f&&(d+=(f=o())*f),0===h&&(d+=(h=o())*h),d<l&&(d=Math.sqrt(l*d)),r.vx+=f*t.value*n/d,r.vy+=h*t.value*n/d),!0;if(!(t.length||d>=c)){(t.data!==r||t.next)&&(0===f&&(d+=(f=o())*f),0===h&&(d+=(h=o())*h),d<l&&(d=Math.sqrt(l*d)));do{t.data!==r&&(p=i[t.data.index]*n/d,r.vx+=f*p,r.vy+=h*p)}while(t=t.next)}}return p.initialize=function(e){t=e,d()},p.strength=function(t){return arguments.length?(s="function"==typeof t?t:a(+t),d(),p):s},p.distanceMin=function(t){return arguments.length?(l=t*t,p):Math.sqrt(l)},p.distanceMax=function(t){return arguments.length?(c=t*t,p):Math.sqrt(c)},p.theta=function(t){return arguments.length?(u=t*t,p):Math.sqrt(u)},p},t.forceRadial=function(t,e,r){var n,i,o,s=a(.1);function l(t){for(var a=0,s=n.length;a<s;++a){var l=n[a],c=l.x-e||1e-6,u=l.y-r||1e-6,f=Math.sqrt(c*c+u*u),h=(o[a]-f)*i[a]*t/f;l.vx+=c*h,l.vy+=u*h}}function c(){if(n){var e,r=n.length;for(i=new Array(r),o=new Array(r),e=0;e<r;++e)o[e]=+t(n[e],e,n),i[e]=isNaN(o[e])?0:+s(n[e],e,n)}}return"function"!=typeof t&&(t=a(+t)),null==e&&(e=0),null==r&&(r=0),l.initialize=function(t){n=t,c()},l.strength=function(t){return arguments.length?(s="function"==typeof t?t:a(+t),c(),l):s},l.radius=function(e){return arguments.length?(t="function"==typeof e?e:a(+e),c(),l):t},l.x=function(t){return arguments.length?(e=+t,l):e},l.y=function(t){return arguments.length?(r=+t,l):r},l},t.forceSimulation=function(t){var e,a=1,o=.001,s=1-Math.pow(o,1/300),l=0,c=.6,u=r.map(),f=i.timer(d),h=n.dispatch("tick","end");function d(){g(),h.call("tick",e),a<o&&(f.stop(),h.call("end",e))}function g(r){var n,i,o=t.length;void 0===r&&(r=1);for(var f=0;f<r;++f)for(a+=(l-a)*s,u.each((function(t){t(a)})),n=0;n<o;++n)null==(i=t[n]).fx?i.x+=i.vx*=c:(i.x=i.fx,i.vx=0),null==i.fy?i.y+=i.vy*=c:(i.y=i.fy,i.vy=0);return e}function m(){for(var e,r=0,n=t.length;r<n;++r){if((e=t[r]).index=r,null!=e.fx&&(e.x=e.fx),null!=e.fy&&(e.y=e.fy),isNaN(e.x)||isNaN(e.y)){var i=10*Math.sqrt(r),a=r*p;e.x=i*Math.cos(a),e.y=i*Math.sin(a)}(isNaN(e.vx)||isNaN(e.vy))&&(e.vx=e.vy=0)}}function v(e){return e.initialize&&e.initialize(t),e}return null==t&&(t=[]),m(),e={tick:g,restart:function(){return f.restart(d),e},stop:function(){return f.stop(),e},nodes:function(r){return arguments.length?(t=r,m(),u.each(v),e):t},alpha:function(t){return arguments.length?(a=+t,e):a},alphaMin:function(t){return arguments.length?(o=+t,e):o},alphaDecay:function(t){return arguments.length?(s=+t,e):+s},alphaTarget:function(t){return arguments.length?(l=+t,e):l},velocityDecay:function(t){return arguments.length?(c=1-t,e):1-c},force:function(t,r){return arguments.length>1?(null==r?u.remove(t):u.set(t,v(r)),e):u.get(t)},find:function(e,r,n){var i,a,o,s,l,c=0,u=t.length;for(null==n?n=1/0:n*=n,c=0;c<u;++c)(o=(i=e-(s=t[c]).x)*i+(a=r-s.y)*a)<n&&(l=s,n=o);return l},on:function(t,r){return arguments.length>1?(h.on(t,r),e):h.on(t)}}},t.forceX=function(t){var e,r,n,i=a(.1);function o(t){for(var i,a=0,o=e.length;a<o;++a)(i=e[a]).vx+=(n[a]-i.x)*r[a]*t}function s(){if(e){var a,o=e.length;for(r=new Array(o),n=new Array(o),a=0;a<o;++a)r[a]=isNaN(n[a]=+t(e[a],a,e))?0:+i(e[a],a,e)}}return"function"!=typeof t&&(t=a(null==t?0:+t)),o.initialize=function(t){e=t,s()},o.strength=function(t){return arguments.length?(i="function"==typeof t?t:a(+t),s(),o):i},o.x=function(e){return arguments.length?(t="function"==typeof e?e:a(+e),s(),o):t},o},t.forceY=function(t){var e,r,n,i=a(.1);function o(t){for(var i,a=0,o=e.length;a<o;++a)(i=e[a]).vy+=(n[a]-i.y)*r[a]*t}function s(){if(e){var a,o=e.length;for(r=new Array(o),n=new Array(o),a=0;a<o;++a)r[a]=isNaN(n[a]=+t(e[a],a,e))?0:+i(e[a],a,e)}}return"function"!=typeof t&&(t=a(null==t?0:+t)),o.initialize=function(t){e=t,s()},o.strength=function(t){return arguments.length?(i="function"==typeof t?t:a(+t),s(),o):i},o.y=function(e){return arguments.length?(t="function"==typeof e?e:a(+e),s(),o):t},o},Object.defineProperty(t,"__esModule",{value:!0})}))},{"d3-collection":157,"d3-dispatch":159,"d3-quadtree":164,"d3-timer":168}],161:[function(t,e,r){!function(t,n){"object"==typeof r&&"undefined"!=typeof e?n(r):n((t=t||self).d3=t.d3||{})}(this,(function(t){"use strict";function e(t,e){return t.parent===e.parent?1:2}function r(t,e){return t+e.x}function n(t,e){return Math.max(t,e.y)}function i(t){var e=0,r=t.children,n=r&&r.length;if(n)for(;--n>=0;)e+=r[n].value;else e=1;t.value=e}function a(t,e){var r,n,i,a,s,u=new c(t),f=+t.value&&(u.value=t.value),h=[u];for(null==e&&(e=o);r=h.pop();)if(f&&(r.value=+r.data.value),(i=e(r.data))&&(s=i.length))for(r.children=new Array(s),a=s-1;a>=0;--a)h.push(n=r.children[a]=new c(i[a])),n.parent=r,n.depth=r.depth+1;return u.eachBefore(l)}function o(t){return t.children}function s(t){t.data=t.data.data}function l(t){var e=0;do{t.height=e}while((t=t.parent)&&t.height<++e)}function c(t){this.data=t,this.depth=this.height=0,this.parent=null}c.prototype=a.prototype={constructor:c,count:function(){return this.eachAfter(i)},each:function(t){var e,r,n,i,a=this,o=[a];do{for(e=o.reverse(),o=[];a=e.pop();)if(t(a),r=a.children)for(n=0,i=r.length;n<i;++n)o.push(r[n])}while(o.length);return this},eachAfter:function(t){for(var e,r,n,i=this,a=[i],o=[];i=a.pop();)if(o.push(i),e=i.children)for(r=0,n=e.length;r<n;++r)a.push(e[r]);for(;i=o.pop();)t(i);return this},eachBefore:function(t){for(var e,r,n=this,i=[n];n=i.pop();)if(t(n),e=n.children)for(r=e.length-1;r>=0;--r)i.push(e[r]);return this},sum:function(t){return this.eachAfter((function(e){for(var r=+t(e.data)||0,n=e.children,i=n&&n.length;--i>=0;)r+=n[i].value;e.value=r}))},sort:function(t){return this.eachBefore((function(e){e.children&&e.children.sort(t)}))},path:function(t){for(var e=this,r=function(t,e){if(t===e)return t;var r=t.ancestors(),n=e.ancestors(),i=null;t=r.pop(),e=n.pop();for(;t===e;)i=t,t=r.pop(),e=n.pop();return i}(e,t),n=[e];e!==r;)e=e.parent,n.push(e);for(var i=n.length;t!==r;)n.splice(i,0,t),t=t.parent;return n},ancestors:function(){for(var t=this,e=[t];t=t.parent;)e.push(t);return e},descendants:function(){var t=[];return this.each((function(e){t.push(e)})),t},leaves:function(){var t=[];return this.eachBefore((function(e){e.children||t.push(e)})),t},links:function(){var t=this,e=[];return t.each((function(r){r!==t&&e.push({source:r.parent,target:r})})),e},copy:function(){return a(this).eachBefore(s)}};var u=Array.prototype.slice;function f(t){for(var e,r,n=0,i=(t=function(t){for(var e,r,n=t.length;n;)r=Math.random()*n--|0,e=t[n],t[n]=t[r],t[r]=e;return t}(u.call(t))).length,a=[];n<i;)e=t[n],r&&d(r,e)?++n:(r=m(a=h(a,e)),n=0);return r}function h(t,e){var r,n;if(g(e,t))return[e];for(r=0;r<t.length;++r)if(p(e,t[r])&&g(v(t[r],e),t))return[t[r],e];for(r=0;r<t.length-1;++r)for(n=r+1;n<t.length;++n)if(p(v(t[r],t[n]),e)&&p(v(t[r],e),t[n])&&p(v(t[n],e),t[r])&&g(y(t[r],t[n],e),t))return[t[r],t[n],e];throw new Error}function p(t,e){var r=t.r-e.r,n=e.x-t.x,i=e.y-t.y;return r<0||r*r<n*n+i*i}function d(t,e){var r=t.r-e.r+1e-6,n=e.x-t.x,i=e.y-t.y;return r>0&&r*r>n*n+i*i}function g(t,e){for(var r=0;r<e.length;++r)if(!d(t,e[r]))return!1;return!0}function m(t){switch(t.length){case 1:return{x:(e=t[0]).x,y:e.y,r:e.r};case 2:return v(t[0],t[1]);case 3:return y(t[0],t[1],t[2])}var e}function v(t,e){var r=t.x,n=t.y,i=t.r,a=e.x,o=e.y,s=e.r,l=a-r,c=o-n,u=s-i,f=Math.sqrt(l*l+c*c);return{x:(r+a+l/f*u)/2,y:(n+o+c/f*u)/2,r:(f+i+s)/2}}function y(t,e,r){var n=t.x,i=t.y,a=t.r,o=e.x,s=e.y,l=e.r,c=r.x,u=r.y,f=r.r,h=n-o,p=n-c,d=i-s,g=i-u,m=l-a,v=f-a,y=n*n+i*i-a*a,x=y-o*o-s*s+l*l,b=y-c*c-u*u+f*f,_=p*d-h*g,w=(d*b-g*x)/(2*_)-n,T=(g*m-d*v)/_,k=(p*x-h*b)/(2*_)-i,M=(h*v-p*m)/_,A=T*T+M*M-1,S=2*(a+w*T+k*M),E=w*w+k*k-a*a,C=-(A?(S+Math.sqrt(S*S-4*A*E))/(2*A):E/S);return{x:n+w+T*C,y:i+k+M*C,r:C}}function x(t,e,r){var n,i,a,o,s=t.x-e.x,l=t.y-e.y,c=s*s+l*l;c?(i=e.r+r.r,i*=i,o=t.r+r.r,i>(o*=o)?(n=(c+o-i)/(2*c),a=Math.sqrt(Math.max(0,o/c-n*n)),r.x=t.x-n*s-a*l,r.y=t.y-n*l+a*s):(n=(c+i-o)/(2*c),a=Math.sqrt(Math.max(0,i/c-n*n)),r.x=e.x+n*s-a*l,r.y=e.y+n*l+a*s)):(r.x=e.x+r.r,r.y=e.y)}function b(t,e){var r=t.r+e.r-1e-6,n=e.x-t.x,i=e.y-t.y;return r>0&&r*r>n*n+i*i}function _(t){var e=t._,r=t.next._,n=e.r+r.r,i=(e.x*r.r+r.x*e.r)/n,a=(e.y*r.r+r.y*e.r)/n;return i*i+a*a}function w(t){this._=t,this.next=null,this.previous=null}function T(t){if(!(i=t.length))return 0;var e,r,n,i,a,o,s,l,c,u,h;if((e=t[0]).x=0,e.y=0,!(i>1))return e.r;if(r=t[1],e.x=-r.r,r.x=e.r,r.y=0,!(i>2))return e.r+r.r;x(r,e,n=t[2]),e=new w(e),r=new w(r),n=new w(n),e.next=n.previous=r,r.next=e.previous=n,n.next=r.previous=e;t:for(s=3;s<i;++s){x(e._,r._,n=t[s]),n=new w(n),l=r.next,c=e.previous,u=r._.r,h=e._.r;do{if(u<=h){if(b(l._,n._)){r=l,e.next=r,r.previous=e,--s;continue t}u+=l._.r,l=l.next}else{if(b(c._,n._)){(e=c).next=r,r.previous=e,--s;continue t}h+=c._.r,c=c.previous}}while(l!==c.next);for(n.previous=e,n.next=r,e.next=r.previous=r=n,a=_(e);(n=n.next)!==r;)(o=_(n))<a&&(e=n,a=o);r=e.next}for(e=[r._],n=r;(n=n.next)!==r;)e.push(n._);for(n=f(e),s=0;s<i;++s)(e=t[s]).x-=n.x,e.y-=n.y;return n.r}function k(t){return null==t?null:M(t)}function M(t){if("function"!=typeof t)throw new Error;return t}function A(){return 0}function S(t){return function(){return t}}function E(t){return Math.sqrt(t.value)}function C(t){return function(e){e.children||(e.r=Math.max(0,+t(e)||0))}}function L(t,e){return function(r){if(n=r.children){var n,i,a,o=n.length,s=t(r)*e||0;if(s)for(i=0;i<o;++i)n[i].r+=s;if(a=T(n),s)for(i=0;i<o;++i)n[i].r-=s;r.r=a+s}}}function I(t){return function(e){var r=e.parent;e.r*=t,r&&(e.x=r.x+t*e.x,e.y=r.y+t*e.y)}}function P(t){t.x0=Math.round(t.x0),t.y0=Math.round(t.y0),t.x1=Math.round(t.x1),t.y1=Math.round(t.y1)}function z(t,e,r,n,i){for(var a,o=t.children,s=-1,l=o.length,c=t.value&&(n-e)/t.value;++s<l;)(a=o[s]).y0=r,a.y1=i,a.x0=e,a.x1=e+=a.value*c}var O={depth:-1},D={};function R(t){return t.id}function F(t){return t.parentId}function B(t,e){return t.parent===e.parent?1:2}function N(t){var e=t.children;return e?e[0]:t.t}function j(t){var e=t.children;return e?e[e.length-1]:t.t}function U(t,e,r){var n=r/(e.i-t.i);e.c-=n,e.s+=r,t.c+=n,e.z+=r,e.m+=r}function V(t,e,r){return t.a.parent===e.parent?t.a:r}function q(t,e){this._=t,this.parent=null,this.children=null,this.A=null,this.a=this,this.z=0,this.m=0,this.c=0,this.s=0,this.t=null,this.i=e}function H(t,e,r,n,i){for(var a,o=t.children,s=-1,l=o.length,c=t.value&&(i-r)/t.value;++s<l;)(a=o[s]).x0=e,a.x1=n,a.y0=r,a.y1=r+=a.value*c}q.prototype=Object.create(c.prototype);var G=(1+Math.sqrt(5))/2;function Y(t,e,r,n,i,a){for(var o,s,l,c,u,f,h,p,d,g,m,v=[],y=e.children,x=0,b=0,_=y.length,w=e.value;x<_;){l=i-r,c=a-n;do{u=y[b++].value}while(!u&&b<_);for(f=h=u,m=u*u*(g=Math.max(c/l,l/c)/(w*t)),d=Math.max(h/m,m/f);b<_;++b){if(u+=s=y[b].value,s<f&&(f=s),s>h&&(h=s),m=u*u*g,(p=Math.max(h/m,m/f))>d){u-=s;break}d=p}v.push(o={value:u,dice:l<c,children:y.slice(x,b)}),o.dice?z(o,r,n,i,w?n+=c*u/w:a):H(o,r,n,w?r+=l*u/w:i,a),w-=u,x=b}return v}var W=function t(e){function r(t,r,n,i,a){Y(e,t,r,n,i,a)}return r.ratio=function(e){return t((e=+e)>1?e:1)},r}(G);var X=function t(e){function r(t,r,n,i,a){if((o=t._squarify)&&o.ratio===e)for(var o,s,l,c,u,f=-1,h=o.length,p=t.value;++f<h;){for(l=(s=o[f]).children,c=s.value=0,u=l.length;c<u;++c)s.value+=l[c].value;s.dice?z(s,r,n,i,n+=(a-n)*s.value/p):H(s,r,n,r+=(i-r)*s.value/p,a),p-=s.value}else t._squarify=o=Y(e,t,r,n,i,a),o.ratio=e}return r.ratio=function(e){return t((e=+e)>1?e:1)},r}(G);t.cluster=function(){var t=e,i=1,a=1,o=!1;function s(e){var s,l=0;e.eachAfter((function(e){var i=e.children;i?(e.x=function(t){return t.reduce(r,0)/t.length}(i),e.y=function(t){return 1+t.reduce(n,0)}(i)):(e.x=s?l+=t(e,s):0,e.y=0,s=e)}));var c=function(t){for(var e;e=t.children;)t=e[0];return t}(e),u=function(t){for(var e;e=t.children;)t=e[e.length-1];return t}(e),f=c.x-t(c,u)/2,h=u.x+t(u,c)/2;return e.eachAfter(o?function(t){t.x=(t.x-e.x)*i,t.y=(e.y-t.y)*a}:function(t){t.x=(t.x-f)/(h-f)*i,t.y=(1-(e.y?t.y/e.y:1))*a})}return s.separation=function(e){return arguments.length?(t=e,s):t},s.size=function(t){return arguments.length?(o=!1,i=+t[0],a=+t[1],s):o?null:[i,a]},s.nodeSize=function(t){return arguments.length?(o=!0,i=+t[0],a=+t[1],s):o?[i,a]:null},s},t.hierarchy=a,t.pack=function(){var t=null,e=1,r=1,n=A;function i(i){return i.x=e/2,i.y=r/2,t?i.eachBefore(C(t)).eachAfter(L(n,.5)).eachBefore(I(1)):i.eachBefore(C(E)).eachAfter(L(A,1)).eachAfter(L(n,i.r/Math.min(e,r))).eachBefore(I(Math.min(e,r)/(2*i.r))),i}return i.radius=function(e){return arguments.length?(t=k(e),i):t},i.size=function(t){return arguments.length?(e=+t[0],r=+t[1],i):[e,r]},i.padding=function(t){return arguments.length?(n="function"==typeof t?t:S(+t),i):n},i},t.packEnclose=f,t.packSiblings=function(t){return T(t),t},t.partition=function(){var t=1,e=1,r=0,n=!1;function i(i){var a=i.height+1;return i.x0=i.y0=r,i.x1=t,i.y1=e/a,i.eachBefore(function(t,e){return function(n){n.children&&z(n,n.x0,t*(n.depth+1)/e,n.x1,t*(n.depth+2)/e);var i=n.x0,a=n.y0,o=n.x1-r,s=n.y1-r;o<i&&(i=o=(i+o)/2),s<a&&(a=s=(a+s)/2),n.x0=i,n.y0=a,n.x1=o,n.y1=s}}(e,a)),n&&i.eachBefore(P),i}return i.round=function(t){return arguments.length?(n=!!t,i):n},i.size=function(r){return arguments.length?(t=+r[0],e=+r[1],i):[t,e]},i.padding=function(t){return arguments.length?(r=+t,i):r},i},t.stratify=function(){var t=R,e=F;function r(r){var n,i,a,o,s,u,f,h=r.length,p=new Array(h),d={};for(i=0;i<h;++i)n=r[i],s=p[i]=new c(n),null!=(u=t(n,i,r))&&(u+="")&&(d[f="$"+(s.id=u)]=f in d?D:s);for(i=0;i<h;++i)if(s=p[i],null!=(u=e(r[i],i,r))&&(u+="")){if(!(o=d["$"+u]))throw new Error("missing: "+u);if(o===D)throw new Error("ambiguous: "+u);o.children?o.children.push(s):o.children=[s],s.parent=o}else{if(a)throw new Error("multiple roots");a=s}if(!a)throw new Error("no root");if(a.parent=O,a.eachBefore((function(t){t.depth=t.parent.depth+1,--h})).eachBefore(l),a.parent=null,h>0)throw new Error("cycle");return a}return r.id=function(e){return arguments.length?(t=M(e),r):t},r.parentId=function(t){return arguments.length?(e=M(t),r):e},r},t.tree=function(){var t=B,e=1,r=1,n=null;function i(i){var l=function(t){for(var e,r,n,i,a,o=new q(t,0),s=[o];e=s.pop();)if(n=e._.children)for(e.children=new Array(a=n.length),i=a-1;i>=0;--i)s.push(r=e.children[i]=new q(n[i],i)),r.parent=e;return(o.parent=new q(null,0)).children=[o],o}(i);if(l.eachAfter(a),l.parent.m=-l.z,l.eachBefore(o),n)i.eachBefore(s);else{var c=i,u=i,f=i;i.eachBefore((function(t){t.x<c.x&&(c=t),t.x>u.x&&(u=t),t.depth>f.depth&&(f=t)}));var h=c===u?1:t(c,u)/2,p=h-c.x,d=e/(u.x+h+p),g=r/(f.depth||1);i.eachBefore((function(t){t.x=(t.x+p)*d,t.y=t.depth*g}))}return i}function a(e){var r=e.children,n=e.parent.children,i=e.i?n[e.i-1]:null;if(r){!function(t){for(var e,r=0,n=0,i=t.children,a=i.length;--a>=0;)(e=i[a]).z+=r,e.m+=r,r+=e.s+(n+=e.c)}(e);var a=(r[0].z+r[r.length-1].z)/2;i?(e.z=i.z+t(e._,i._),e.m=e.z-a):e.z=a}else i&&(e.z=i.z+t(e._,i._));e.parent.A=function(e,r,n){if(r){for(var i,a=e,o=e,s=r,l=a.parent.children[0],c=a.m,u=o.m,f=s.m,h=l.m;s=j(s),a=N(a),s&&a;)l=N(l),(o=j(o)).a=e,(i=s.z+f-a.z-c+t(s._,a._))>0&&(U(V(s,e,n),e,i),c+=i,u+=i),f+=s.m,c+=a.m,h+=l.m,u+=o.m;s&&!j(o)&&(o.t=s,o.m+=f-u),a&&!N(l)&&(l.t=a,l.m+=c-h,n=e)}return n}(e,i,e.parent.A||n[0])}function o(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function s(t){t.x*=e,t.y=t.depth*r}return i.separation=function(e){return arguments.length?(t=e,i):t},i.size=function(t){return arguments.length?(n=!1,e=+t[0],r=+t[1],i):n?null:[e,r]},i.nodeSize=function(t){return arguments.length?(n=!0,e=+t[0],r=+t[1],i):n?[e,r]:null},i},t.treemap=function(){var t=W,e=!1,r=1,n=1,i=[0],a=A,o=A,s=A,l=A,c=A;function u(t){return t.x0=t.y0=0,t.x1=r,t.y1=n,t.eachBefore(f),i=[0],e&&t.eachBefore(P),t}function f(e){var r=i[e.depth],n=e.x0+r,u=e.y0+r,f=e.x1-r,h=e.y1-r;f<n&&(n=f=(n+f)/2),h<u&&(u=h=(u+h)/2),e.x0=n,e.y0=u,e.x1=f,e.y1=h,e.children&&(r=i[e.depth+1]=a(e)/2,n+=c(e)-r,u+=o(e)-r,(f-=s(e)-r)<n&&(n=f=(n+f)/2),(h-=l(e)-r)<u&&(u=h=(u+h)/2),t(e,n,u,f,h))}return u.round=function(t){return arguments.length?(e=!!t,u):e},u.size=function(t){return arguments.length?(r=+t[0],n=+t[1],u):[r,n]},u.tile=function(e){return arguments.length?(t=M(e),u):t},u.padding=function(t){return arguments.length?u.paddingInner(t).paddingOuter(t):u.paddingInner()},u.paddingInner=function(t){return arguments.length?(a="function"==typeof t?t:S(+t),u):a},u.paddingOuter=function(t){return arguments.length?u.paddingTop(t).paddingRight(t).paddingBottom(t).paddingLeft(t):u.paddingTop()},u.paddingTop=function(t){return arguments.length?(o="function"==typeof t?t:S(+t),u):o},u.paddingRight=function(t){return arguments.length?(s="function"==typeof t?t:S(+t),u):s},u.paddingBottom=function(t){return arguments.length?(l="function"==typeof t?t:S(+t),u):l},u.paddingLeft=function(t){return arguments.length?(c="function"==typeof t?t:S(+t),u):c},u},t.treemapBinary=function(t,e,r,n,i){var a,o,s=t.children,l=s.length,c=new Array(l+1);for(c[0]=o=a=0;a<l;++a)c[a+1]=o+=s[a].value;!function t(e,r,n,i,a,o,l){if(e>=r-1){var u=s[e];return u.x0=i,u.y0=a,u.x1=o,void(u.y1=l)}var f=c[e],h=n/2+f,p=e+1,d=r-1;for(;p<d;){var g=p+d>>>1;c[g]<h?p=g+1:d=g}h-c[p-1]<c[p]-h&&e+1<p&&--p;var m=c[p]-f,v=n-m;if(o-i>l-a){var y=(i*v+o*m)/n;t(e,p,m,i,a,y,l),t(p,r,v,y,a,o,l)}else{var x=(a*v+l*m)/n;t(e,p,m,i,a,o,x),t(p,r,v,i,x,o,l)}}(0,l,t.value,e,r,n,i)},t.treemapDice=z,t.treemapResquarify=X,t.treemapSlice=H,t.treemapSliceDice=function(t,e,r,n,i){(1&t.depth?H:z)(t,e,r,n,i)},t.treemapSquarify=W,Object.defineProperty(t,"__esModule",{value:!0})}))},{}],162:[function(t,e,r){!function(n,i){"object"==typeof r&&"undefined"!=typeof e?i(r,t("d3-color")):i((n=n||self).d3=n.d3||{},n.d3)}(this,(function(t,e){"use strict";function r(t,e,r,n,i){var a=t*t,o=a*t;return((1-3*t+3*a-o)*e+(4-6*a+3*o)*r+(1+3*t+3*a-3*o)*n+o*i)/6}function n(t){var e=t.length-1;return function(n){var i=n<=0?n=0:n>=1?(n=1,e-1):Math.floor(n*e),a=t[i],o=t[i+1],s=i>0?t[i-1]:2*a-o,l=i<e-1?t[i+2]:2*o-a;return r((n-i/e)*e,s,a,o,l)}}function i(t){var e=t.length;return function(n){var i=Math.floor(((n%=1)<0?++n:n)*e),a=t[(i+e-1)%e],o=t[i%e],s=t[(i+1)%e],l=t[(i+2)%e];return r((n-i/e)*e,a,o,s,l)}}function a(t){return function(){return t}}function o(t,e){return function(r){return t+r*e}}function s(t,e){var r=e-t;return r?o(t,r>180||r<-180?r-360*Math.round(r/360):r):a(isNaN(t)?e:t)}function l(t){return 1==(t=+t)?c:function(e,r){return r-e?function(t,e,r){return t=Math.pow(t,r),e=Math.pow(e,r)-t,r=1/r,function(n){return Math.pow(t+n*e,r)}}(e,r,t):a(isNaN(e)?r:e)}}function c(t,e){var r=e-t;return r?o(t,r):a(isNaN(t)?e:t)}var u=function t(r){var n=l(r);function i(t,r){var i=n((t=e.rgb(t)).r,(r=e.rgb(r)).r),a=n(t.g,r.g),o=n(t.b,r.b),s=c(t.opacity,r.opacity);return function(e){return t.r=i(e),t.g=a(e),t.b=o(e),t.opacity=s(e),t+""}}return i.gamma=t,i}(1);function f(t){return function(r){var n,i,a=r.length,o=new Array(a),s=new Array(a),l=new Array(a);for(n=0;n<a;++n)i=e.rgb(r[n]),o[n]=i.r||0,s[n]=i.g||0,l[n]=i.b||0;return o=t(o),s=t(s),l=t(l),i.opacity=1,function(t){return i.r=o(t),i.g=s(t),i.b=l(t),i+""}}}var h=f(n),p=f(i);function d(t,e){e||(e=[]);var r,n=t?Math.min(e.length,t.length):0,i=e.slice();return function(a){for(r=0;r<n;++r)i[r]=t[r]*(1-a)+e[r]*a;return i}}function g(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}function m(t,e){var r,n=e?e.length:0,i=t?Math.min(n,t.length):0,a=new Array(i),o=new Array(n);for(r=0;r<i;++r)a[r]=T(t[r],e[r]);for(;r<n;++r)o[r]=e[r];return function(t){for(r=0;r<i;++r)o[r]=a[r](t);return o}}function v(t,e){var r=new Date;return t=+t,e=+e,function(n){return r.setTime(t*(1-n)+e*n),r}}function y(t,e){return t=+t,e=+e,function(r){return t*(1-r)+e*r}}function x(t,e){var r,n={},i={};for(r in null!==t&&"object"==typeof t||(t={}),null!==e&&"object"==typeof e||(e={}),e)r in t?n[r]=T(t[r],e[r]):i[r]=e[r];return function(t){for(r in n)i[r]=n[r](t);return i}}var b=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,_=new RegExp(b.source,"g");function w(t,e){var r,n,i,a=b.lastIndex=_.lastIndex=0,o=-1,s=[],l=[];for(t+="",e+="";(r=b.exec(t))&&(n=_.exec(e));)(i=n.index)>a&&(i=e.slice(a,i),s[o]?s[o]+=i:s[++o]=i),(r=r[0])===(n=n[0])?s[o]?s[o]+=n:s[++o]=n:(s[++o]=null,l.push({i:o,x:y(r,n)})),a=_.lastIndex;return a<e.length&&(i=e.slice(a),s[o]?s[o]+=i:s[++o]=i),s.length<2?l[0]?function(t){return function(e){return t(e)+""}}(l[0].x):function(t){return function(){return t}}(e):(e=l.length,function(t){for(var r,n=0;n<e;++n)s[(r=l[n]).i]=r.x(t);return s.join("")})}function T(t,r){var n,i=typeof r;return null==r||"boolean"===i?a(r):("number"===i?y:"string"===i?(n=e.color(r))?(r=n,u):w:r instanceof e.color?u:r instanceof Date?v:g(r)?d:Array.isArray(r)?m:"function"!=typeof r.valueOf&&"function"!=typeof r.toString||isNaN(r)?x:y)(t,r)}var k,M,A,S,E=180/Math.PI,C={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function L(t,e,r,n,i,a){var o,s,l;return(o=Math.sqrt(t*t+e*e))&&(t/=o,e/=o),(l=t*r+e*n)&&(r-=t*l,n-=e*l),(s=Math.sqrt(r*r+n*n))&&(r/=s,n/=s,l/=s),t*n<e*r&&(t=-t,e=-e,l=-l,o=-o),{translateX:i,translateY:a,rotate:Math.atan2(e,t)*E,skewX:Math.atan(l)*E,scaleX:o,scaleY:s}}function I(t,e,r,n){function i(t){return t.length?t.pop()+" ":""}return function(a,o){var s=[],l=[];return a=t(a),o=t(o),function(t,n,i,a,o,s){if(t!==i||n!==a){var l=o.push("translate(",null,e,null,r);s.push({i:l-4,x:y(t,i)},{i:l-2,x:y(n,a)})}else(i||a)&&o.push("translate("+i+e+a+r)}(a.translateX,a.translateY,o.translateX,o.translateY,s,l),function(t,e,r,a){t!==e?(t-e>180?e+=360:e-t>180&&(t+=360),a.push({i:r.push(i(r)+"rotate(",null,n)-2,x:y(t,e)})):e&&r.push(i(r)+"rotate("+e+n)}(a.rotate,o.rotate,s,l),function(t,e,r,a){t!==e?a.push({i:r.push(i(r)+"skewX(",null,n)-2,x:y(t,e)}):e&&r.push(i(r)+"skewX("+e+n)}(a.skewX,o.skewX,s,l),function(t,e,r,n,a,o){if(t!==r||e!==n){var s=a.push(i(a)+"scale(",null,",",null,")");o.push({i:s-4,x:y(t,r)},{i:s-2,x:y(e,n)})}else 1===r&&1===n||a.push(i(a)+"scale("+r+","+n+")")}(a.scaleX,a.scaleY,o.scaleX,o.scaleY,s,l),a=o=null,function(t){for(var e,r=-1,n=l.length;++r<n;)s[(e=l[r]).i]=e.x(t);return s.join("")}}}var P=I((function(t){return"none"===t?C:(k||(k=document.createElement("DIV"),M=document.documentElement,A=document.defaultView),k.style.transform=t,t=A.getComputedStyle(M.appendChild(k),null).getPropertyValue("transform"),M.removeChild(k),L(+(t=t.slice(7,-1).split(","))[0],+t[1],+t[2],+t[3],+t[4],+t[5]))}),"px, ","px)","deg)"),z=I((function(t){return null==t?C:(S||(S=document.createElementNS("http://www.w3.org/2000/svg","g")),S.setAttribute("transform",t),(t=S.transform.baseVal.consolidate())?L((t=t.matrix).a,t.b,t.c,t.d,t.e,t.f):C)}),", ",")",")"),O=Math.SQRT2;function D(t){return((t=Math.exp(t))+1/t)/2}function R(t){return function(r,n){var i=t((r=e.hsl(r)).h,(n=e.hsl(n)).h),a=c(r.s,n.s),o=c(r.l,n.l),s=c(r.opacity,n.opacity);return function(t){return r.h=i(t),r.s=a(t),r.l=o(t),r.opacity=s(t),r+""}}}var F=R(s),B=R(c);function N(t){return function(r,n){var i=t((r=e.hcl(r)).h,(n=e.hcl(n)).h),a=c(r.c,n.c),o=c(r.l,n.l),s=c(r.opacity,n.opacity);return function(t){return r.h=i(t),r.c=a(t),r.l=o(t),r.opacity=s(t),r+""}}}var j=N(s),U=N(c);function V(t){return function r(n){function i(r,i){var a=t((r=e.cubehelix(r)).h,(i=e.cubehelix(i)).h),o=c(r.s,i.s),s=c(r.l,i.l),l=c(r.opacity,i.opacity);return function(t){return r.h=a(t),r.s=o(t),r.l=s(Math.pow(t,n)),r.opacity=l(t),r+""}}return n=+n,i.gamma=r,i}(1)}var q=V(s),H=V(c);t.interpolate=T,t.interpolateArray=function(t,e){return(g(e)?d:m)(t,e)},t.interpolateBasis=n,t.interpolateBasisClosed=i,t.interpolateCubehelix=q,t.interpolateCubehelixLong=H,t.interpolateDate=v,t.interpolateDiscrete=function(t){var e=t.length;return function(r){return t[Math.max(0,Math.min(e-1,Math.floor(r*e)))]}},t.interpolateHcl=j,t.interpolateHclLong=U,t.interpolateHsl=F,t.interpolateHslLong=B,t.interpolateHue=function(t,e){var r=s(+t,+e);return function(t){var e=r(t);return e-360*Math.floor(e/360)}},t.interpolateLab=function(t,r){var n=c((t=e.lab(t)).l,(r=e.lab(r)).l),i=c(t.a,r.a),a=c(t.b,r.b),o=c(t.opacity,r.opacity);return function(e){return t.l=n(e),t.a=i(e),t.b=a(e),t.opacity=o(e),t+""}},t.interpolateNumber=y,t.interpolateNumberArray=d,t.interpolateObject=x,t.interpolateRgb=u,t.interpolateRgbBasis=h,t.interpolateRgbBasisClosed=p,t.interpolateRound=function(t,e){return t=+t,e=+e,function(r){return Math.round(t*(1-r)+e*r)}},t.interpolateString=w,t.interpolateTransformCss=P,t.interpolateTransformSvg=z,t.interpolateZoom=function(t,e){var r,n,i=t[0],a=t[1],o=t[2],s=e[0],l=e[1],c=e[2],u=s-i,f=l-a,h=u*u+f*f;if(h<1e-12)n=Math.log(c/o)/O,r=function(t){return[i+t*u,a+t*f,o*Math.exp(O*t*n)]};else{var p=Math.sqrt(h),d=(c*c-o*o+4*h)/(2*o*2*p),g=(c*c-o*o-4*h)/(2*c*2*p),m=Math.log(Math.sqrt(d*d+1)-d),v=Math.log(Math.sqrt(g*g+1)-g);n=(v-m)/O,r=function(t){var e,r=t*n,s=D(m),l=o/(2*p)*(s*(e=O*r+m,((e=Math.exp(2*e))-1)/(e+1))-function(t){return((t=Math.exp(t))-1/t)/2}(m));return[i+l*u,a+l*f,o*s/D(O*r+m)]}}return r.duration=1e3*n,r},t.piecewise=function(t,e){for(var r=0,n=e.length-1,i=e[0],a=new Array(n<0?0:n);r<n;)a[r]=t(i,i=e[++r]);return function(t){var e=Math.max(0,Math.min(n-1,Math.floor(t*=n)));return a[e](t-e)}},t.quantize=function(t,e){for(var r=new Array(e),n=0;n<e;++n)r[n]=t(n/(e-1));return r},Object.defineProperty(t,"__esModule",{value:!0})}))},{"d3-color":158}],163:[function(t,e,r){!function(t,n){"object"==typeof r&&"undefined"!=typeof e?n(r):n((t=t||self).d3=t.d3||{})}(this,(function(t){"use strict";var e=Math.PI,r=2*e,n=r-1e-6;function i(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function a(){return new i}i.prototype=a.prototype={constructor:i,moveTo:function(t,e){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)},closePath:function(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(t,e){this._+="L"+(this._x1=+t)+","+(this._y1=+e)},quadraticCurveTo:function(t,e,r,n){this._+="Q"+ +t+","+ +e+","+(this._x1=+r)+","+(this._y1=+n)},bezierCurveTo:function(t,e,r,n,i,a){this._+="C"+ +t+","+ +e+","+ +r+","+ +n+","+(this._x1=+i)+","+(this._y1=+a)},arcTo:function(t,r,n,i,a){t=+t,r=+r,n=+n,i=+i,a=+a;var o=this._x1,s=this._y1,l=n-t,c=i-r,u=o-t,f=s-r,h=u*u+f*f;if(a<0)throw new Error("negative radius: "+a);if(null===this._x1)this._+="M"+(this._x1=t)+","+(this._y1=r);else if(h>1e-6)if(Math.abs(f*l-c*u)>1e-6&&a){var p=n-o,d=i-s,g=l*l+c*c,m=p*p+d*d,v=Math.sqrt(g),y=Math.sqrt(h),x=a*Math.tan((e-Math.acos((g+h-m)/(2*v*y)))/2),b=x/y,_=x/v;Math.abs(b-1)>1e-6&&(this._+="L"+(t+b*u)+","+(r+b*f)),this._+="A"+a+","+a+",0,0,"+ +(f*p>u*d)+","+(this._x1=t+_*l)+","+(this._y1=r+_*c)}else this._+="L"+(this._x1=t)+","+(this._y1=r);else;},arc:function(t,i,a,o,s,l){t=+t,i=+i,l=!!l;var c=(a=+a)*Math.cos(o),u=a*Math.sin(o),f=t+c,h=i+u,p=1^l,d=l?o-s:s-o;if(a<0)throw new Error("negative radius: "+a);null===this._x1?this._+="M"+f+","+h:(Math.abs(this._x1-f)>1e-6||Math.abs(this._y1-h)>1e-6)&&(this._+="L"+f+","+h),a&&(d<0&&(d=d%r+r),d>n?this._+="A"+a+","+a+",0,1,"+p+","+(t-c)+","+(i-u)+"A"+a+","+a+",0,1,"+p+","+(this._x1=f)+","+(this._y1=h):d>1e-6&&(this._+="A"+a+","+a+",0,"+ +(d>=e)+","+p+","+(this._x1=t+a*Math.cos(s))+","+(this._y1=i+a*Math.sin(s))))},rect:function(t,e,r,n){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)+"h"+ +r+"v"+ +n+"h"+-r+"Z"},toString:function(){return this._}},t.path=a,Object.defineProperty(t,"__esModule",{value:!0})}))},{}],164:[function(t,e,r){!function(t,n){"object"==typeof r&&"undefined"!=typeof e?n(r):n((t=t||self).d3=t.d3||{})}(this,(function(t){"use strict";function e(t,e,r,n){if(isNaN(e)||isNaN(r))return t;var i,a,o,s,l,c,u,f,h,p=t._root,d={data:n},g=t._x0,m=t._y0,v=t._x1,y=t._y1;if(!p)return t._root=d,t;for(;p.length;)if((c=e>=(a=(g+v)/2))?g=a:v=a,(u=r>=(o=(m+y)/2))?m=o:y=o,i=p,!(p=p[f=u<<1|c]))return i[f]=d,t;if(s=+t._x.call(null,p.data),l=+t._y.call(null,p.data),e===s&&r===l)return d.next=p,i?i[f]=d:t._root=d,t;do{i=i?i[f]=new Array(4):t._root=new Array(4),(c=e>=(a=(g+v)/2))?g=a:v=a,(u=r>=(o=(m+y)/2))?m=o:y=o}while((f=u<<1|c)==(h=(l>=o)<<1|s>=a));return i[h]=p,i[f]=d,t}function r(t,e,r,n,i){this.node=t,this.x0=e,this.y0=r,this.x1=n,this.y1=i}function n(t){return t[0]}function i(t){return t[1]}function a(t,e,r){var a=new o(null==e?n:e,null==r?i:r,NaN,NaN,NaN,NaN);return null==t?a:a.addAll(t)}function o(t,e,r,n,i,a){this._x=t,this._y=e,this._x0=r,this._y0=n,this._x1=i,this._y1=a,this._root=void 0}function s(t){for(var e={data:t.data},r=e;t=t.next;)r=r.next={data:t.data};return e}var l=a.prototype=o.prototype;l.copy=function(){var t,e,r=new o(this._x,this._y,this._x0,this._y0,this._x1,this._y1),n=this._root;if(!n)return r;if(!n.length)return r._root=s(n),r;for(t=[{source:n,target:r._root=new Array(4)}];n=t.pop();)for(var i=0;i<4;++i)(e=n.source[i])&&(e.length?t.push({source:e,target:n.target[i]=new Array(4)}):n.target[i]=s(e));return r},l.add=function(t){var r=+this._x.call(null,t),n=+this._y.call(null,t);return e(this.cover(r,n),r,n,t)},l.addAll=function(t){var r,n,i,a,o=t.length,s=new Array(o),l=new Array(o),c=1/0,u=1/0,f=-1/0,h=-1/0;for(n=0;n<o;++n)isNaN(i=+this._x.call(null,r=t[n]))||isNaN(a=+this._y.call(null,r))||(s[n]=i,l[n]=a,i<c&&(c=i),i>f&&(f=i),a<u&&(u=a),a>h&&(h=a));if(c>f||u>h)return this;for(this.cover(c,u).cover(f,h),n=0;n<o;++n)e(this,s[n],l[n],t[n]);return this},l.cover=function(t,e){if(isNaN(t=+t)||isNaN(e=+e))return this;var r=this._x0,n=this._y0,i=this._x1,a=this._y1;if(isNaN(r))i=(r=Math.floor(t))+1,a=(n=Math.floor(e))+1;else{for(var o,s,l=i-r,c=this._root;r>t||t>=i||n>e||e>=a;)switch(s=(e<n)<<1|t<r,(o=new Array(4))[s]=c,c=o,l*=2,s){case 0:i=r+l,a=n+l;break;case 1:r=i-l,a=n+l;break;case 2:i=r+l,n=a-l;break;case 3:r=i-l,n=a-l}this._root&&this._root.length&&(this._root=c)}return this._x0=r,this._y0=n,this._x1=i,this._y1=a,this},l.data=function(){var t=[];return this.visit((function(e){if(!e.length)do{t.push(e.data)}while(e=e.next)})),t},l.extent=function(t){return arguments.length?this.cover(+t[0][0],+t[0][1]).cover(+t[1][0],+t[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]},l.find=function(t,e,n){var i,a,o,s,l,c,u,f=this._x0,h=this._y0,p=this._x1,d=this._y1,g=[],m=this._root;for(m&&g.push(new r(m,f,h,p,d)),null==n?n=1/0:(f=t-n,h=e-n,p=t+n,d=e+n,n*=n);c=g.pop();)if(!(!(m=c.node)||(a=c.x0)>p||(o=c.y0)>d||(s=c.x1)<f||(l=c.y1)<h))if(m.length){var v=(a+s)/2,y=(o+l)/2;g.push(new r(m[3],v,y,s,l),new r(m[2],a,y,v,l),new r(m[1],v,o,s,y),new r(m[0],a,o,v,y)),(u=(e>=y)<<1|t>=v)&&(c=g[g.length-1],g[g.length-1]=g[g.length-1-u],g[g.length-1-u]=c)}else{var x=t-+this._x.call(null,m.data),b=e-+this._y.call(null,m.data),_=x*x+b*b;if(_<n){var w=Math.sqrt(n=_);f=t-w,h=e-w,p=t+w,d=e+w,i=m.data}}return i},l.remove=function(t){if(isNaN(a=+this._x.call(null,t))||isNaN(o=+this._y.call(null,t)))return this;var e,r,n,i,a,o,s,l,c,u,f,h,p=this._root,d=this._x0,g=this._y0,m=this._x1,v=this._y1;if(!p)return this;if(p.length)for(;;){if((c=a>=(s=(d+m)/2))?d=s:m=s,(u=o>=(l=(g+v)/2))?g=l:v=l,e=p,!(p=p[f=u<<1|c]))return this;if(!p.length)break;(e[f+1&3]||e[f+2&3]||e[f+3&3])&&(r=e,h=f)}for(;p.data!==t;)if(n=p,!(p=p.next))return this;return(i=p.next)&&delete p.next,n?(i?n.next=i:delete n.next,this):e?(i?e[f]=i:delete e[f],(p=e[0]||e[1]||e[2]||e[3])&&p===(e[3]||e[2]||e[1]||e[0])&&!p.length&&(r?r[h]=p:this._root=p),this):(this._root=i,this)},l.removeAll=function(t){for(var e=0,r=t.length;e<r;++e)this.remove(t[e]);return this},l.root=function(){return this._root},l.size=function(){var t=0;return this.visit((function(e){if(!e.length)do{++t}while(e=e.next)})),t},l.visit=function(t){var e,n,i,a,o,s,l=[],c=this._root;for(c&&l.push(new r(c,this._x0,this._y0,this._x1,this._y1));e=l.pop();)if(!t(c=e.node,i=e.x0,a=e.y0,o=e.x1,s=e.y1)&&c.length){var u=(i+o)/2,f=(a+s)/2;(n=c[3])&&l.push(new r(n,u,f,o,s)),(n=c[2])&&l.push(new r(n,i,f,u,s)),(n=c[1])&&l.push(new r(n,u,a,o,f)),(n=c[0])&&l.push(new r(n,i,a,u,f))}return this},l.visitAfter=function(t){var e,n=[],i=[];for(this._root&&n.push(new r(this._root,this._x0,this._y0,this._x1,this._y1));e=n.pop();){var a=e.node;if(a.length){var o,s=e.x0,l=e.y0,c=e.x1,u=e.y1,f=(s+c)/2,h=(l+u)/2;(o=a[0])&&n.push(new r(o,s,l,f,h)),(o=a[1])&&n.push(new r(o,f,l,c,h)),(o=a[2])&&n.push(new r(o,s,h,f,u)),(o=a[3])&&n.push(new r(o,f,h,c,u))}i.push(e)}for(;e=i.pop();)t(e.node,e.x0,e.y0,e.x1,e.y1);return this},l.x=function(t){return arguments.length?(this._x=t,this):this._x},l.y=function(t){return arguments.length?(this._y=t,this):this._y},t.quadtree=a,Object.defineProperty(t,"__esModule",{value:!0})}))},{}],165:[function(t,e,r){!function(n,i){"object"==typeof r&&"undefined"!=typeof e?i(r,t("d3-path")):i((n=n||self).d3=n.d3||{},n.d3)}(this,(function(t,e){"use strict";function r(t){return function(){return t}}var n=Math.abs,i=Math.atan2,a=Math.cos,o=Math.max,s=Math.min,l=Math.sin,c=Math.sqrt,u=Math.PI,f=u/2,h=2*u;function p(t){return t>1?0:t<-1?u:Math.acos(t)}function d(t){return t>=1?f:t<=-1?-f:Math.asin(t)}function g(t){return t.innerRadius}function m(t){return t.outerRadius}function v(t){return t.startAngle}function y(t){return t.endAngle}function x(t){return t&&t.padAngle}function b(t,e,r,n,i,a,o,s){var l=r-t,c=n-e,u=o-i,f=s-a,h=f*l-u*c;if(!(h*h<1e-12))return[t+(h=(u*(e-a)-f*(t-i))/h)*l,e+h*c]}function _(t,e,r,n,i,a,s){var l=t-r,u=e-n,f=(s?a:-a)/c(l*l+u*u),h=f*u,p=-f*l,d=t+h,g=e+p,m=r+h,v=n+p,y=(d+m)/2,x=(g+v)/2,b=m-d,_=v-g,w=b*b+_*_,T=i-a,k=d*v-m*g,M=(_<0?-1:1)*c(o(0,T*T*w-k*k)),A=(k*_-b*M)/w,S=(-k*b-_*M)/w,E=(k*_+b*M)/w,C=(-k*b+_*M)/w,L=A-y,I=S-x,P=E-y,z=C-x;return L*L+I*I>P*P+z*z&&(A=E,S=C),{cx:A,cy:S,x01:-h,y01:-p,x11:A*(i/T-1),y11:S*(i/T-1)}}function w(t){this._context=t}function T(t){return new w(t)}function k(t){return t[0]}function M(t){return t[1]}function A(){var t=k,n=M,i=r(!0),a=null,o=T,s=null;function l(r){var l,c,u,f=r.length,h=!1;for(null==a&&(s=o(u=e.path())),l=0;l<=f;++l)!(l<f&&i(c=r[l],l,r))===h&&((h=!h)?s.lineStart():s.lineEnd()),h&&s.point(+t(c,l,r),+n(c,l,r));if(u)return s=null,u+""||null}return l.x=function(e){return arguments.length?(t="function"==typeof e?e:r(+e),l):t},l.y=function(t){return arguments.length?(n="function"==typeof t?t:r(+t),l):n},l.defined=function(t){return arguments.length?(i="function"==typeof t?t:r(!!t),l):i},l.curve=function(t){return arguments.length?(o=t,null!=a&&(s=o(a)),l):o},l.context=function(t){return arguments.length?(null==t?a=s=null:s=o(a=t),l):a},l}function S(){var t=k,n=null,i=r(0),a=M,o=r(!0),s=null,l=T,c=null;function u(r){var u,f,h,p,d,g=r.length,m=!1,v=new Array(g),y=new Array(g);for(null==s&&(c=l(d=e.path())),u=0;u<=g;++u){if(!(u<g&&o(p=r[u],u,r))===m)if(m=!m)f=u,c.areaStart(),c.lineStart();else{for(c.lineEnd(),c.lineStart(),h=u-1;h>=f;--h)c.point(v[h],y[h]);c.lineEnd(),c.areaEnd()}m&&(v[u]=+t(p,u,r),y[u]=+i(p,u,r),c.point(n?+n(p,u,r):v[u],a?+a(p,u,r):y[u]))}if(d)return c=null,d+""||null}function f(){return A().defined(o).curve(l).context(s)}return u.x=function(e){return arguments.length?(t="function"==typeof e?e:r(+e),n=null,u):t},u.x0=function(e){return arguments.length?(t="function"==typeof e?e:r(+e),u):t},u.x1=function(t){return arguments.length?(n=null==t?null:"function"==typeof t?t:r(+t),u):n},u.y=function(t){return arguments.length?(i="function"==typeof t?t:r(+t),a=null,u):i},u.y0=function(t){return arguments.length?(i="function"==typeof t?t:r(+t),u):i},u.y1=function(t){return arguments.length?(a=null==t?null:"function"==typeof t?t:r(+t),u):a},u.lineX0=u.lineY0=function(){return f().x(t).y(i)},u.lineY1=function(){return f().x(t).y(a)},u.lineX1=function(){return f().x(n).y(i)},u.defined=function(t){return arguments.length?(o="function"==typeof t?t:r(!!t),u):o},u.curve=function(t){return arguments.length?(l=t,null!=s&&(c=l(s)),u):l},u.context=function(t){return arguments.length?(null==t?s=c=null:c=l(s=t),u):s},u}function E(t,e){return e<t?-1:e>t?1:e>=t?0:NaN}function C(t){return t}w.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:this._context.lineTo(t,e)}}};var L=P(T);function I(t){this._curve=t}function P(t){function e(e){return new I(t(e))}return e._curve=t,e}function z(t){var e=t.curve;return t.angle=t.x,delete t.x,t.radius=t.y,delete t.y,t.curve=function(t){return arguments.length?e(P(t)):e()._curve},t}function O(){return z(A().curve(L))}function D(){var t=S().curve(L),e=t.curve,r=t.lineX0,n=t.lineX1,i=t.lineY0,a=t.lineY1;return t.angle=t.x,delete t.x,t.startAngle=t.x0,delete t.x0,t.endAngle=t.x1,delete t.x1,t.radius=t.y,delete t.y,t.innerRadius=t.y0,delete t.y0,t.outerRadius=t.y1,delete t.y1,t.lineStartAngle=function(){return z(r())},delete t.lineX0,t.lineEndAngle=function(){return z(n())},delete t.lineX1,t.lineInnerRadius=function(){return z(i())},delete t.lineY0,t.lineOuterRadius=function(){return z(a())},delete t.lineY1,t.curve=function(t){return arguments.length?e(P(t)):e()._curve},t}function R(t,e){return[(e=+e)*Math.cos(t-=Math.PI/2),e*Math.sin(t)]}I.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(t,e){this._curve.point(e*Math.sin(t),e*-Math.cos(t))}};var F=Array.prototype.slice;function B(t){return t.source}function N(t){return t.target}function j(t){var n=B,i=N,a=k,o=M,s=null;function l(){var r,l=F.call(arguments),c=n.apply(this,l),u=i.apply(this,l);if(s||(s=r=e.path()),t(s,+a.apply(this,(l[0]=c,l)),+o.apply(this,l),+a.apply(this,(l[0]=u,l)),+o.apply(this,l)),r)return s=null,r+""||null}return l.source=function(t){return arguments.length?(n=t,l):n},l.target=function(t){return arguments.length?(i=t,l):i},l.x=function(t){return arguments.length?(a="function"==typeof t?t:r(+t),l):a},l.y=function(t){return arguments.length?(o="function"==typeof t?t:r(+t),l):o},l.context=function(t){return arguments.length?(s=null==t?null:t,l):s},l}function U(t,e,r,n,i){t.moveTo(e,r),t.bezierCurveTo(e=(e+n)/2,r,e,i,n,i)}function V(t,e,r,n,i){t.moveTo(e,r),t.bezierCurveTo(e,r=(r+i)/2,n,r,n,i)}function q(t,e,r,n,i){var a=R(e,r),o=R(e,r=(r+i)/2),s=R(n,r),l=R(n,i);t.moveTo(a[0],a[1]),t.bezierCurveTo(o[0],o[1],s[0],s[1],l[0],l[1])}var H={draw:function(t,e){var r=Math.sqrt(e/u);t.moveTo(r,0),t.arc(0,0,r,0,h)}},G={draw:function(t,e){var r=Math.sqrt(e/5)/2;t.moveTo(-3*r,-r),t.lineTo(-r,-r),t.lineTo(-r,-3*r),t.lineTo(r,-3*r),t.lineTo(r,-r),t.lineTo(3*r,-r),t.lineTo(3*r,r),t.lineTo(r,r),t.lineTo(r,3*r),t.lineTo(-r,3*r),t.lineTo(-r,r),t.lineTo(-3*r,r),t.closePath()}},Y=Math.sqrt(1/3),W=2*Y,X={draw:function(t,e){var r=Math.sqrt(e/W),n=r*Y;t.moveTo(0,-r),t.lineTo(n,0),t.lineTo(0,r),t.lineTo(-n,0),t.closePath()}},Z=Math.sin(u/10)/Math.sin(7*u/10),J=Math.sin(h/10)*Z,K=-Math.cos(h/10)*Z,Q={draw:function(t,e){var r=Math.sqrt(.8908130915292852*e),n=J*r,i=K*r;t.moveTo(0,-r),t.lineTo(n,i);for(var a=1;a<5;++a){var o=h*a/5,s=Math.cos(o),l=Math.sin(o);t.lineTo(l*r,-s*r),t.lineTo(s*n-l*i,l*n+s*i)}t.closePath()}},$={draw:function(t,e){var r=Math.sqrt(e),n=-r/2;t.rect(n,n,r,r)}},tt=Math.sqrt(3),et={draw:function(t,e){var r=-Math.sqrt(e/(3*tt));t.moveTo(0,2*r),t.lineTo(-tt*r,-r),t.lineTo(tt*r,-r),t.closePath()}},rt=-.5,nt=Math.sqrt(3)/2,it=1/Math.sqrt(12),at=3*(it/2+1),ot={draw:function(t,e){var r=Math.sqrt(e/at),n=r/2,i=r*it,a=n,o=r*it+r,s=-a,l=o;t.moveTo(n,i),t.lineTo(a,o),t.lineTo(s,l),t.lineTo(rt*n-nt*i,nt*n+rt*i),t.lineTo(rt*a-nt*o,nt*a+rt*o),t.lineTo(rt*s-nt*l,nt*s+rt*l),t.lineTo(rt*n+nt*i,rt*i-nt*n),t.lineTo(rt*a+nt*o,rt*o-nt*a),t.lineTo(rt*s+nt*l,rt*l-nt*s),t.closePath()}},st=[H,G,X,$,Q,et,ot];function lt(){}function ct(t,e,r){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+r)/6)}function ut(t){this._context=t}function ft(t){this._context=t}function ht(t){this._context=t}function pt(t,e){this._basis=new ut(t),this._beta=e}ut.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:ct(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:ct(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},ft.prototype={areaStart:lt,areaEnd:lt,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4)}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x2=t,this._y2=e;break;case 1:this._point=2,this._x3=t,this._y3=e;break;case 2:this._point=3,this._x4=t,this._y4=e,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:ct(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},ht.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var r=(this._x0+4*this._x1+t)/6,n=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(r,n):this._context.moveTo(r,n);break;case 3:this._point=4;default:ct(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},pt.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var t=this._x,e=this._y,r=t.length-1;if(r>0)for(var n,i=t[0],a=e[0],o=t[r]-i,s=e[r]-a,l=-1;++l<=r;)n=l/r,this._basis.point(this._beta*t[l]+(1-this._beta)*(i+n*o),this._beta*e[l]+(1-this._beta)*(a+n*s));this._x=this._y=null,this._basis.lineEnd()},point:function(t,e){this._x.push(+t),this._y.push(+e)}};var dt=function t(e){function r(t){return 1===e?new ut(t):new pt(t,e)}return r.beta=function(e){return t(+e)},r}(.85);function gt(t,e,r){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-e),t._y2+t._k*(t._y1-r),t._x2,t._y2)}function mt(t,e){this._context=t,this._k=(1-e)/6}mt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:gt(this,this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2,this._x1=t,this._y1=e;break;case 2:this._point=3;default:gt(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var vt=function t(e){function r(t){return new mt(t,e)}return r.tension=function(e){return t(+e)},r}(0);function yt(t,e){this._context=t,this._k=(1-e)/6}yt.prototype={areaStart:lt,areaEnd:lt,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:gt(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var xt=function t(e){function r(t){return new yt(t,e)}return r.tension=function(e){return t(+e)},r}(0);function bt(t,e){this._context=t,this._k=(1-e)/6}bt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:gt(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var _t=function t(e){function r(t){return new bt(t,e)}return r.tension=function(e){return t(+e)},r}(0);function wt(t,e,r){var n=t._x1,i=t._y1,a=t._x2,o=t._y2;if(t._l01_a>1e-12){var s=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,l=3*t._l01_a*(t._l01_a+t._l12_a);n=(n*s-t._x0*t._l12_2a+t._x2*t._l01_2a)/l,i=(i*s-t._y0*t._l12_2a+t._y2*t._l01_2a)/l}if(t._l23_a>1e-12){var c=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,u=3*t._l23_a*(t._l23_a+t._l12_a);a=(a*c+t._x1*t._l23_2a-e*t._l12_2a)/u,o=(o*c+t._y1*t._l23_2a-r*t._l12_2a)/u}t._context.bezierCurveTo(n,i,a,o,t._x2,t._y2)}function Tt(t,e){this._context=t,this._alpha=e}Tt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3;default:wt(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var kt=function t(e){function r(t){return e?new Tt(t,e):new mt(t,0)}return r.alpha=function(e){return t(+e)},r}(.5);function Mt(t,e){this._context=t,this._alpha=e}Mt.prototype={areaStart:lt,areaEnd:lt,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:wt(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var At=function t(e){function r(t){return e?new Mt(t,e):new yt(t,0)}return r.alpha=function(e){return t(+e)},r}(.5);function St(t,e){this._context=t,this._alpha=e}St.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:wt(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var Et=function t(e){function r(t){return e?new St(t,e):new bt(t,0)}return r.alpha=function(e){return t(+e)},r}(.5);function Ct(t){this._context=t}function Lt(t){return t<0?-1:1}function It(t,e,r){var n=t._x1-t._x0,i=e-t._x1,a=(t._y1-t._y0)/(n||i<0&&-0),o=(r-t._y1)/(i||n<0&&-0),s=(a*i+o*n)/(n+i);return(Lt(a)+Lt(o))*Math.min(Math.abs(a),Math.abs(o),.5*Math.abs(s))||0}function Pt(t,e){var r=t._x1-t._x0;return r?(3*(t._y1-t._y0)/r-e)/2:e}function zt(t,e,r){var n=t._x0,i=t._y0,a=t._x1,o=t._y1,s=(a-n)/3;t._context.bezierCurveTo(n+s,i+s*e,a-s,o-s*r,a,o)}function Ot(t){this._context=t}function Dt(t){this._context=new Rt(t)}function Rt(t){this._context=t}function Ft(t){this._context=t}function Bt(t){var e,r,n=t.length-1,i=new Array(n),a=new Array(n),o=new Array(n);for(i[0]=0,a[0]=2,o[0]=t[0]+2*t[1],e=1;e<n-1;++e)i[e]=1,a[e]=4,o[e]=4*t[e]+2*t[e+1];for(i[n-1]=2,a[n-1]=7,o[n-1]=8*t[n-1]+t[n],e=1;e<n;++e)r=i[e]/a[e-1],a[e]-=r,o[e]-=r*o[e-1];for(i[n-1]=o[n-1]/a[n-1],e=n-2;e>=0;--e)i[e]=(o[e]-i[e+1])/a[e];for(a[n-1]=(t[n]+i[n-1])/2,e=0;e<n-1;++e)a[e]=2*t[e+1]-i[e+1];return[i,a]}function Nt(t,e){this._context=t,this._t=e}function jt(t,e){if((i=t.length)>1)for(var r,n,i,a=1,o=t[e[0]],s=o.length;a<i;++a)for(n=o,o=t[e[a]],r=0;r<s;++r)o[r][1]+=o[r][0]=isNaN(n[r][1])?n[r][0]:n[r][1]}function Ut(t){for(var e=t.length,r=new Array(e);--e>=0;)r[e]=e;return r}function Vt(t,e){return t[e]}function qt(t){var e=t.map(Ht);return Ut(t).sort((function(t,r){return e[t]-e[r]}))}function Ht(t){for(var e,r=-1,n=0,i=t.length,a=-1/0;++r<i;)(e=+t[r][1])>a&&(a=e,n=r);return n}function Gt(t){var e=t.map(Yt);return Ut(t).sort((function(t,r){return e[t]-e[r]}))}function Yt(t){for(var e,r=0,n=-1,i=t.length;++n<i;)(e=+t[n][1])&&(r+=e);return r}Ct.prototype={areaStart:lt,areaEnd:lt,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(t,e){t=+t,e=+e,this._point?this._context.lineTo(t,e):(this._point=1,this._context.moveTo(t,e))}},Ot.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:zt(this,this._t0,Pt(this,this._t0))}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){var r=NaN;if(e=+e,(t=+t)!==this._x1||e!==this._y1){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,zt(this,Pt(this,r=It(this,t,e)),r);break;default:zt(this,this._t0,r=It(this,t,e))}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e,this._t0=r}}},(Dt.prototype=Object.create(Ot.prototype)).point=function(t,e){Ot.prototype.point.call(this,e,t)},Rt.prototype={moveTo:function(t,e){this._context.moveTo(e,t)},closePath:function(){this._context.closePath()},lineTo:function(t,e){this._context.lineTo(e,t)},bezierCurveTo:function(t,e,r,n,i,a){this._context.bezierCurveTo(e,t,n,r,a,i)}},Ft.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var t=this._x,e=this._y,r=t.length;if(r)if(this._line?this._context.lineTo(t[0],e[0]):this._context.moveTo(t[0],e[0]),2===r)this._context.lineTo(t[1],e[1]);else for(var n=Bt(t),i=Bt(e),a=0,o=1;o<r;++a,++o)this._context.bezierCurveTo(n[0][a],i[0][a],n[1][a],i[1][a],t[o],e[o]);(this._line||0!==this._line&&1===r)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(t,e){this._x.push(+t),this._y.push(+e)}},Nt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&2===this._point&&this._context.lineTo(this._x,this._y),(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var r=this._x*(1-this._t)+t*this._t;this._context.lineTo(r,this._y),this._context.lineTo(r,e)}}this._x=t,this._y=e}},t.arc=function(){var t=g,o=m,w=r(0),T=null,k=v,M=y,A=x,S=null;function E(){var r,g,m=+t.apply(this,arguments),v=+o.apply(this,arguments),y=k.apply(this,arguments)-f,x=M.apply(this,arguments)-f,E=n(x-y),C=x>y;if(S||(S=r=e.path()),v<m&&(g=v,v=m,m=g),v>1e-12)if(E>h-1e-12)S.moveTo(v*a(y),v*l(y)),S.arc(0,0,v,y,x,!C),m>1e-12&&(S.moveTo(m*a(x),m*l(x)),S.arc(0,0,m,x,y,C));else{var L,I,P=y,z=x,O=y,D=x,R=E,F=E,B=A.apply(this,arguments)/2,N=B>1e-12&&(T?+T.apply(this,arguments):c(m*m+v*v)),j=s(n(v-m)/2,+w.apply(this,arguments)),U=j,V=j;if(N>1e-12){var q=d(N/m*l(B)),H=d(N/v*l(B));(R-=2*q)>1e-12?(O+=q*=C?1:-1,D-=q):(R=0,O=D=(y+x)/2),(F-=2*H)>1e-12?(P+=H*=C?1:-1,z-=H):(F=0,P=z=(y+x)/2)}var G=v*a(P),Y=v*l(P),W=m*a(D),X=m*l(D);if(j>1e-12){var Z,J=v*a(z),K=v*l(z),Q=m*a(O),$=m*l(O);if(E<u&&(Z=b(G,Y,Q,$,J,K,W,X))){var tt=G-Z[0],et=Y-Z[1],rt=J-Z[0],nt=K-Z[1],it=1/l(p((tt*rt+et*nt)/(c(tt*tt+et*et)*c(rt*rt+nt*nt)))/2),at=c(Z[0]*Z[0]+Z[1]*Z[1]);U=s(j,(m-at)/(it-1)),V=s(j,(v-at)/(it+1))}}F>1e-12?V>1e-12?(L=_(Q,$,G,Y,v,V,C),I=_(J,K,W,X,v,V,C),S.moveTo(L.cx+L.x01,L.cy+L.y01),V<j?S.arc(L.cx,L.cy,V,i(L.y01,L.x01),i(I.y01,I.x01),!C):(S.arc(L.cx,L.cy,V,i(L.y01,L.x01),i(L.y11,L.x11),!C),S.arc(0,0,v,i(L.cy+L.y11,L.cx+L.x11),i(I.cy+I.y11,I.cx+I.x11),!C),S.arc(I.cx,I.cy,V,i(I.y11,I.x11),i(I.y01,I.x01),!C))):(S.moveTo(G,Y),S.arc(0,0,v,P,z,!C)):S.moveTo(G,Y),m>1e-12&&R>1e-12?U>1e-12?(L=_(W,X,J,K,m,-U,C),I=_(G,Y,Q,$,m,-U,C),S.lineTo(L.cx+L.x01,L.cy+L.y01),U<j?S.arc(L.cx,L.cy,U,i(L.y01,L.x01),i(I.y01,I.x01),!C):(S.arc(L.cx,L.cy,U,i(L.y01,L.x01),i(L.y11,L.x11),!C),S.arc(0,0,m,i(L.cy+L.y11,L.cx+L.x11),i(I.cy+I.y11,I.cx+I.x11),C),S.arc(I.cx,I.cy,U,i(I.y11,I.x11),i(I.y01,I.x01),!C))):S.arc(0,0,m,D,O,C):S.lineTo(W,X)}else S.moveTo(0,0);if(S.closePath(),r)return S=null,r+""||null}return E.centroid=function(){var e=(+t.apply(this,arguments)+ +o.apply(this,arguments))/2,r=(+k.apply(this,arguments)+ +M.apply(this,arguments))/2-u/2;return[a(r)*e,l(r)*e]},E.innerRadius=function(e){return arguments.length?(t="function"==typeof e?e:r(+e),E):t},E.outerRadius=function(t){return arguments.length?(o="function"==typeof t?t:r(+t),E):o},E.cornerRadius=function(t){return arguments.length?(w="function"==typeof t?t:r(+t),E):w},E.padRadius=function(t){return arguments.length?(T=null==t?null:"function"==typeof t?t:r(+t),E):T},E.startAngle=function(t){return arguments.length?(k="function"==typeof t?t:r(+t),E):k},E.endAngle=function(t){return arguments.length?(M="function"==typeof t?t:r(+t),E):M},E.padAngle=function(t){return arguments.length?(A="function"==typeof t?t:r(+t),E):A},E.context=function(t){return arguments.length?(S=null==t?null:t,E):S},E},t.area=S,t.areaRadial=D,t.curveBasis=function(t){return new ut(t)},t.curveBasisClosed=function(t){return new ft(t)},t.curveBasisOpen=function(t){return new ht(t)},t.curveBundle=dt,t.curveCardinal=vt,t.curveCardinalClosed=xt,t.curveCardinalOpen=_t,t.curveCatmullRom=kt,t.curveCatmullRomClosed=At,t.curveCatmullRomOpen=Et,t.curveLinear=T,t.curveLinearClosed=function(t){return new Ct(t)},t.curveMonotoneX=function(t){return new Ot(t)},t.curveMonotoneY=function(t){return new Dt(t)},t.curveNatural=function(t){return new Ft(t)},t.curveStep=function(t){return new Nt(t,.5)},t.curveStepAfter=function(t){return new Nt(t,1)},t.curveStepBefore=function(t){return new Nt(t,0)},t.line=A,t.lineRadial=O,t.linkHorizontal=function(){return j(U)},t.linkRadial=function(){var t=j(q);return t.angle=t.x,delete t.x,t.radius=t.y,delete t.y,t},t.linkVertical=function(){return j(V)},t.pie=function(){var t=C,e=E,n=null,i=r(0),a=r(h),o=r(0);function s(r){var s,l,c,u,f,p=r.length,d=0,g=new Array(p),m=new Array(p),v=+i.apply(this,arguments),y=Math.min(h,Math.max(-h,a.apply(this,arguments)-v)),x=Math.min(Math.abs(y)/p,o.apply(this,arguments)),b=x*(y<0?-1:1);for(s=0;s<p;++s)(f=m[g[s]=s]=+t(r[s],s,r))>0&&(d+=f);for(null!=e?g.sort((function(t,r){return e(m[t],m[r])})):null!=n&&g.sort((function(t,e){return n(r[t],r[e])})),s=0,c=d?(y-p*b)/d:0;s<p;++s,v=u)l=g[s],u=v+((f=m[l])>0?f*c:0)+b,m[l]={data:r[l],index:s,value:f,startAngle:v,endAngle:u,padAngle:x};return m}return s.value=function(e){return arguments.length?(t="function"==typeof e?e:r(+e),s):t},s.sortValues=function(t){return arguments.length?(e=t,n=null,s):e},s.sort=function(t){return arguments.length?(n=t,e=null,s):n},s.startAngle=function(t){return arguments.length?(i="function"==typeof t?t:r(+t),s):i},s.endAngle=function(t){return arguments.length?(a="function"==typeof t?t:r(+t),s):a},s.padAngle=function(t){return arguments.length?(o="function"==typeof t?t:r(+t),s):o},s},t.pointRadial=R,t.radialArea=D,t.radialLine=O,t.stack=function(){var t=r([]),e=Ut,n=jt,i=Vt;function a(r){var a,o,s=t.apply(this,arguments),l=r.length,c=s.length,u=new Array(c);for(a=0;a<c;++a){for(var f,h=s[a],p=u[a]=new Array(l),d=0;d<l;++d)p[d]=f=[0,+i(r[d],h,d,r)],f.data=r[d];p.key=h}for(a=0,o=e(u);a<c;++a)u[o[a]].index=a;return n(u,o),u}return a.keys=function(e){return arguments.length?(t="function"==typeof e?e:r(F.call(e)),a):t},a.value=function(t){return arguments.length?(i="function"==typeof t?t:r(+t),a):i},a.order=function(t){return arguments.length?(e=null==t?Ut:"function"==typeof t?t:r(F.call(t)),a):e},a.offset=function(t){return arguments.length?(n=null==t?jt:t,a):n},a},t.stackOffsetDiverging=function(t,e){if((s=t.length)>0)for(var r,n,i,a,o,s,l=0,c=t[e[0]].length;l<c;++l)for(a=o=0,r=0;r<s;++r)(i=(n=t[e[r]][l])[1]-n[0])>0?(n[0]=a,n[1]=a+=i):i<0?(n[1]=o,n[0]=o+=i):(n[0]=0,n[1]=i)},t.stackOffsetExpand=function(t,e){if((n=t.length)>0){for(var r,n,i,a=0,o=t[0].length;a<o;++a){for(i=r=0;r<n;++r)i+=t[r][a][1]||0;if(i)for(r=0;r<n;++r)t[r][a][1]/=i}jt(t,e)}},t.stackOffsetNone=jt,t.stackOffsetSilhouette=function(t,e){if((r=t.length)>0){for(var r,n=0,i=t[e[0]],a=i.length;n<a;++n){for(var o=0,s=0;o<r;++o)s+=t[o][n][1]||0;i[n][1]+=i[n][0]=-s/2}jt(t,e)}},t.stackOffsetWiggle=function(t,e){if((i=t.length)>0&&(n=(r=t[e[0]]).length)>0){for(var r,n,i,a=0,o=1;o<n;++o){for(var s=0,l=0,c=0;s<i;++s){for(var u=t[e[s]],f=u[o][1]||0,h=(f-(u[o-1][1]||0))/2,p=0;p<s;++p){var d=t[e[p]];h+=(d[o][1]||0)-(d[o-1][1]||0)}l+=f,c+=h*f}r[o-1][1]+=r[o-1][0]=a,l&&(a-=c/l)}r[o-1][1]+=r[o-1][0]=a,jt(t,e)}},t.stackOrderAppearance=qt,t.stackOrderAscending=Gt,t.stackOrderDescending=function(t){return Gt(t).reverse()},t.stackOrderInsideOut=function(t){var e,r,n=t.length,i=t.map(Yt),a=qt(t),o=0,s=0,l=[],c=[];for(e=0;e<n;++e)r=a[e],o<s?(o+=i[r],l.push(r)):(s+=i[r],c.push(r));return c.reverse().concat(l)},t.stackOrderNone=Ut,t.stackOrderReverse=function(t){return Ut(t).reverse()},t.symbol=function(){var t=r(H),n=r(64),i=null;function a(){var r;if(i||(i=r=e.path()),t.apply(this,arguments).draw(i,+n.apply(this,arguments)),r)return i=null,r+""||null}return a.type=function(e){return arguments.length?(t="function"==typeof e?e:r(e),a):t},a.size=function(t){return arguments.length?(n="function"==typeof t?t:r(+t),a):n},a.context=function(t){return arguments.length?(i=null==t?null:t,a):i},a},t.symbolCircle=H,t.symbolCross=G,t.symbolDiamond=X,t.symbolSquare=$,t.symbolStar=Q,t.symbolTriangle=et,t.symbolWye=ot,t.symbols=st,Object.defineProperty(t,"__esModule",{value:!0})}))},{"d3-path":163}],166:[function(t,e,r){!function(n,i){"object"==typeof r&&"undefined"!=typeof e?i(r,t("d3-time")):i((n=n||self).d3=n.d3||{},n.d3)}(this,(function(t,e){"use strict";function r(t){if(0<=t.y&&t.y<100){var e=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return e.setFullYear(t.y),e}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function n(t){if(0<=t.y&&t.y<100){var e=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return e.setUTCFullYear(t.y),e}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function i(t,e,r){return{y:t,m:e,d:r,H:0,M:0,S:0,L:0}}function a(t){var a=t.dateTime,o=t.date,l=t.time,c=t.periods,u=t.days,f=t.shortDays,h=t.months,yt=t.shortMonths,xt=p(c),bt=d(c),_t=p(u),wt=d(u),Tt=p(f),kt=d(f),Mt=p(h),At=d(h),St=p(yt),Et=d(yt),Ct={a:function(t){return f[t.getDay()]},A:function(t){return u[t.getDay()]},b:function(t){return yt[t.getMonth()]},B:function(t){return h[t.getMonth()]},c:null,d:D,e:D,f:j,H:R,I:F,j:B,L:N,m:U,M:V,p:function(t){return c[+(t.getHours()>=12)]},q:function(t){return 1+~~(t.getMonth()/3)},Q:mt,s:vt,S:q,u:H,U:G,V:Y,w:W,W:X,x:null,X:null,y:Z,Y:J,Z:K,"%":gt},Lt={a:function(t){return f[t.getUTCDay()]},A:function(t){return u[t.getUTCDay()]},b:function(t){return yt[t.getUTCMonth()]},B:function(t){return h[t.getUTCMonth()]},c:null,d:Q,e:Q,f:nt,H:$,I:tt,j:et,L:rt,m:it,M:at,p:function(t){return c[+(t.getUTCHours()>=12)]},q:function(t){return 1+~~(t.getUTCMonth()/3)},Q:mt,s:vt,S:ot,u:st,U:lt,V:ct,w:ut,W:ft,x:null,X:null,y:ht,Y:pt,Z:dt,"%":gt},It={a:function(t,e,r){var n=Tt.exec(e.slice(r));return n?(t.w=kt[n[0].toLowerCase()],r+n[0].length):-1},A:function(t,e,r){var n=_t.exec(e.slice(r));return n?(t.w=wt[n[0].toLowerCase()],r+n[0].length):-1},b:function(t,e,r){var n=St.exec(e.slice(r));return n?(t.m=Et[n[0].toLowerCase()],r+n[0].length):-1},B:function(t,e,r){var n=Mt.exec(e.slice(r));return n?(t.m=At[n[0].toLowerCase()],r+n[0].length):-1},c:function(t,e,r){return Ot(t,a,e,r)},d:M,e:M,f:I,H:S,I:S,j:A,L:L,m:k,M:E,p:function(t,e,r){var n=xt.exec(e.slice(r));return n?(t.p=bt[n[0].toLowerCase()],r+n[0].length):-1},q:T,Q:z,s:O,S:C,u:m,U:v,V:y,w:g,W:x,x:function(t,e,r){return Ot(t,o,e,r)},X:function(t,e,r){return Ot(t,l,e,r)},y:_,Y:b,Z:w,"%":P};function Pt(t,e){return function(r){var n,i,a,o=[],l=-1,c=0,u=t.length;for(r instanceof Date||(r=new Date(+r));++l<u;)37===t.charCodeAt(l)&&(o.push(t.slice(c,l)),null!=(i=s[n=t.charAt(++l)])?n=t.charAt(++l):i="e"===n?" ":"0",(a=e[n])&&(n=a(r,i)),o.push(n),c=l+1);return o.push(t.slice(c,l)),o.join("")}}function zt(t,a){return function(o){var s,l,c=i(1900,void 0,1);if(Ot(c,t,o+="",0)!=o.length)return null;if("Q"in c)return new Date(c.Q);if("s"in c)return new Date(1e3*c.s+("L"in c?c.L:0));if(a&&!("Z"in c)&&(c.Z=0),"p"in c&&(c.H=c.H%12+12*c.p),void 0===c.m&&(c.m="q"in c?c.q:0),"V"in c){if(c.V<1||c.V>53)return null;"w"in c||(c.w=1),"Z"in c?(l=(s=n(i(c.y,0,1))).getUTCDay(),s=l>4||0===l?e.utcMonday.ceil(s):e.utcMonday(s),s=e.utcDay.offset(s,7*(c.V-1)),c.y=s.getUTCFullYear(),c.m=s.getUTCMonth(),c.d=s.getUTCDate()+(c.w+6)%7):(l=(s=r(i(c.y,0,1))).getDay(),s=l>4||0===l?e.timeMonday.ceil(s):e.timeMonday(s),s=e.timeDay.offset(s,7*(c.V-1)),c.y=s.getFullYear(),c.m=s.getMonth(),c.d=s.getDate()+(c.w+6)%7)}else("W"in c||"U"in c)&&("w"in c||(c.w="u"in c?c.u%7:"W"in c?1:0),l="Z"in c?n(i(c.y,0,1)).getUTCDay():r(i(c.y,0,1)).getDay(),c.m=0,c.d="W"in c?(c.w+6)%7+7*c.W-(l+5)%7:c.w+7*c.U-(l+6)%7);return"Z"in c?(c.H+=c.Z/100|0,c.M+=c.Z%100,n(c)):r(c)}}function Ot(t,e,r,n){for(var i,a,o=0,l=e.length,c=r.length;o<l;){if(n>=c)return-1;if(37===(i=e.charCodeAt(o++))){if(i=e.charAt(o++),!(a=It[i in s?e.charAt(o++):i])||(n=a(t,r,n))<0)return-1}else if(i!=r.charCodeAt(n++))return-1}return n}return Ct.x=Pt(o,Ct),Ct.X=Pt(l,Ct),Ct.c=Pt(a,Ct),Lt.x=Pt(o,Lt),Lt.X=Pt(l,Lt),Lt.c=Pt(a,Lt),{format:function(t){var e=Pt(t+="",Ct);return e.toString=function(){return t},e},parse:function(t){var e=zt(t+="",!1);return e.toString=function(){return t},e},utcFormat:function(t){var e=Pt(t+="",Lt);return e.toString=function(){return t},e},utcParse:function(t){var e=zt(t+="",!0);return e.toString=function(){return t},e}}}var o,s={"-":"",_:" ",0:"0"},l=/^\s*\d+/,c=/^%/,u=/[\\^$*+?|[\]().{}]/g;function f(t,e,r){var n=t<0?"-":"",i=(n?-t:t)+"",a=i.length;return n+(a<r?new Array(r-a+1).join(e)+i:i)}function h(t){return t.replace(u,"\\$&")}function p(t){return new RegExp("^(?:"+t.map(h).join("|")+")","i")}function d(t){for(var e={},r=-1,n=t.length;++r<n;)e[t[r].toLowerCase()]=r;return e}function g(t,e,r){var n=l.exec(e.slice(r,r+1));return n?(t.w=+n[0],r+n[0].length):-1}function m(t,e,r){var n=l.exec(e.slice(r,r+1));return n?(t.u=+n[0],r+n[0].length):-1}function v(t,e,r){var n=l.exec(e.slice(r,r+2));return n?(t.U=+n[0],r+n[0].length):-1}function y(t,e,r){var n=l.exec(e.slice(r,r+2));return n?(t.V=+n[0],r+n[0].length):-1}function x(t,e,r){var n=l.exec(e.slice(r,r+2));return n?(t.W=+n[0],r+n[0].length):-1}function b(t,e,r){var n=l.exec(e.slice(r,r+4));return n?(t.y=+n[0],r+n[0].length):-1}function _(t,e,r){var n=l.exec(e.slice(r,r+2));return n?(t.y=+n[0]+(+n[0]>68?1900:2e3),r+n[0].length):-1}function w(t,e,r){var n=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(r,r+6));return n?(t.Z=n[1]?0:-(n[2]+(n[3]||"00")),r+n[0].length):-1}function T(t,e,r){var n=l.exec(e.slice(r,r+1));return n?(t.q=3*n[0]-3,r+n[0].length):-1}function k(t,e,r){var n=l.exec(e.slice(r,r+2));return n?(t.m=n[0]-1,r+n[0].length):-1}function M(t,e,r){var n=l.exec(e.slice(r,r+2));return n?(t.d=+n[0],r+n[0].length):-1}function A(t,e,r){var n=l.exec(e.slice(r,r+3));return n?(t.m=0,t.d=+n[0],r+n[0].length):-1}function S(t,e,r){var n=l.exec(e.slice(r,r+2));return n?(t.H=+n[0],r+n[0].length):-1}function E(t,e,r){var n=l.exec(e.slice(r,r+2));return n?(t.M=+n[0],r+n[0].length):-1}function C(t,e,r){var n=l.exec(e.slice(r,r+2));return n?(t.S=+n[0],r+n[0].length):-1}function L(t,e,r){var n=l.exec(e.slice(r,r+3));return n?(t.L=+n[0],r+n[0].length):-1}function I(t,e,r){var n=l.exec(e.slice(r,r+6));return n?(t.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function P(t,e,r){var n=c.exec(e.slice(r,r+1));return n?r+n[0].length:-1}function z(t,e,r){var n=l.exec(e.slice(r));return n?(t.Q=+n[0],r+n[0].length):-1}function O(t,e,r){var n=l.exec(e.slice(r));return n?(t.s=+n[0],r+n[0].length):-1}function D(t,e){return f(t.getDate(),e,2)}function R(t,e){return f(t.getHours(),e,2)}function F(t,e){return f(t.getHours()%12||12,e,2)}function B(t,r){return f(1+e.timeDay.count(e.timeYear(t),t),r,3)}function N(t,e){return f(t.getMilliseconds(),e,3)}function j(t,e){return N(t,e)+"000"}function U(t,e){return f(t.getMonth()+1,e,2)}function V(t,e){return f(t.getMinutes(),e,2)}function q(t,e){return f(t.getSeconds(),e,2)}function H(t){var e=t.getDay();return 0===e?7:e}function G(t,r){return f(e.timeSunday.count(e.timeYear(t)-1,t),r,2)}function Y(t,r){var n=t.getDay();return t=n>=4||0===n?e.timeThursday(t):e.timeThursday.ceil(t),f(e.timeThursday.count(e.timeYear(t),t)+(4===e.timeYear(t).getDay()),r,2)}function W(t){return t.getDay()}function X(t,r){return f(e.timeMonday.count(e.timeYear(t)-1,t),r,2)}function Z(t,e){return f(t.getFullYear()%100,e,2)}function J(t,e){return f(t.getFullYear()%1e4,e,4)}function K(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+f(e/60|0,"0",2)+f(e%60,"0",2)}function Q(t,e){return f(t.getUTCDate(),e,2)}function $(t,e){return f(t.getUTCHours(),e,2)}function tt(t,e){return f(t.getUTCHours()%12||12,e,2)}function et(t,r){return f(1+e.utcDay.count(e.utcYear(t),t),r,3)}function rt(t,e){return f(t.getUTCMilliseconds(),e,3)}function nt(t,e){return rt(t,e)+"000"}function it(t,e){return f(t.getUTCMonth()+1,e,2)}function at(t,e){return f(t.getUTCMinutes(),e,2)}function ot(t,e){return f(t.getUTCSeconds(),e,2)}function st(t){var e=t.getUTCDay();return 0===e?7:e}function lt(t,r){return f(e.utcSunday.count(e.utcYear(t)-1,t),r,2)}function ct(t,r){var n=t.getUTCDay();return t=n>=4||0===n?e.utcThursday(t):e.utcThursday.ceil(t),f(e.utcThursday.count(e.utcYear(t),t)+(4===e.utcYear(t).getUTCDay()),r,2)}function ut(t){return t.getUTCDay()}function ft(t,r){return f(e.utcMonday.count(e.utcYear(t)-1,t),r,2)}function ht(t,e){return f(t.getUTCFullYear()%100,e,2)}function pt(t,e){return f(t.getUTCFullYear()%1e4,e,4)}function dt(){return"+0000"}function gt(){return"%"}function mt(t){return+t}function vt(t){return Math.floor(+t/1e3)}function yt(e){return o=a(e),t.timeFormat=o.format,t.timeParse=o.parse,t.utcFormat=o.utcFormat,t.utcParse=o.utcParse,o}yt({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});var xt=Date.prototype.toISOString?function(t){return t.toISOString()}:t.utcFormat("%Y-%m-%dT%H:%M:%S.%LZ");var bt=+new Date("2000-01-01T00:00:00.000Z")?function(t){var e=new Date(t);return isNaN(e)?null:e}:t.utcParse("%Y-%m-%dT%H:%M:%S.%LZ");t.isoFormat=xt,t.isoParse=bt,t.timeFormatDefaultLocale=yt,t.timeFormatLocale=a,Object.defineProperty(t,"__esModule",{value:!0})}))},{"d3-time":167}],167:[function(t,e,r){!function(t,n){"object"==typeof r&&"undefined"!=typeof e?n(r):n((t=t||self).d3=t.d3||{})}(this,(function(t){"use strict";var e=new Date,r=new Date;function n(t,i,a,o){function s(e){return t(e=0===arguments.length?new Date:new Date(+e)),e}return s.floor=function(e){return t(e=new Date(+e)),e},s.ceil=function(e){return t(e=new Date(e-1)),i(e,1),t(e),e},s.round=function(t){var e=s(t),r=s.ceil(t);return t-e<r-t?e:r},s.offset=function(t,e){return i(t=new Date(+t),null==e?1:Math.floor(e)),t},s.range=function(e,r,n){var a,o=[];if(e=s.ceil(e),n=null==n?1:Math.floor(n),!(e<r&&n>0))return o;do{o.push(a=new Date(+e)),i(e,n),t(e)}while(a<e&&e<r);return o},s.filter=function(e){return n((function(r){if(r>=r)for(;t(r),!e(r);)r.setTime(r-1)}),(function(t,r){if(t>=t)if(r<0)for(;++r<=0;)for(;i(t,-1),!e(t););else for(;--r>=0;)for(;i(t,1),!e(t););}))},a&&(s.count=function(n,i){return e.setTime(+n),r.setTime(+i),t(e),t(r),Math.floor(a(e,r))},s.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?s.filter(o?function(e){return o(e)%t==0}:function(e){return s.count(0,e)%t==0}):s:null}),s}var i=n((function(){}),(function(t,e){t.setTime(+t+e)}),(function(t,e){return e-t}));i.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?n((function(e){e.setTime(Math.floor(e/t)*t)}),(function(e,r){e.setTime(+e+r*t)}),(function(e,r){return(r-e)/t})):i:null};var a=i.range,o=n((function(t){t.setTime(t-t.getMilliseconds())}),(function(t,e){t.setTime(+t+1e3*e)}),(function(t,e){return(e-t)/1e3}),(function(t){return t.getUTCSeconds()})),s=o.range,l=n((function(t){t.setTime(t-t.getMilliseconds()-1e3*t.getSeconds())}),(function(t,e){t.setTime(+t+6e4*e)}),(function(t,e){return(e-t)/6e4}),(function(t){return t.getMinutes()})),c=l.range,u=n((function(t){t.setTime(t-t.getMilliseconds()-1e3*t.getSeconds()-6e4*t.getMinutes())}),(function(t,e){t.setTime(+t+36e5*e)}),(function(t,e){return(e-t)/36e5}),(function(t){return t.getHours()})),f=u.range,h=n((function(t){t.setHours(0,0,0,0)}),(function(t,e){t.setDate(t.getDate()+e)}),(function(t,e){return(e-t-6e4*(e.getTimezoneOffset()-t.getTimezoneOffset()))/864e5}),(function(t){return t.getDate()-1})),p=h.range;function d(t){return n((function(e){e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)}),(function(t,e){t.setDate(t.getDate()+7*e)}),(function(t,e){return(e-t-6e4*(e.getTimezoneOffset()-t.getTimezoneOffset()))/6048e5}))}var g=d(0),m=d(1),v=d(2),y=d(3),x=d(4),b=d(5),_=d(6),w=g.range,T=m.range,k=v.range,M=y.range,A=x.range,S=b.range,E=_.range,C=n((function(t){t.setDate(1),t.setHours(0,0,0,0)}),(function(t,e){t.setMonth(t.getMonth()+e)}),(function(t,e){return e.getMonth()-t.getMonth()+12*(e.getFullYear()-t.getFullYear())}),(function(t){return t.getMonth()})),L=C.range,I=n((function(t){t.setMonth(0,1),t.setHours(0,0,0,0)}),(function(t,e){t.setFullYear(t.getFullYear()+e)}),(function(t,e){return e.getFullYear()-t.getFullYear()}),(function(t){return t.getFullYear()}));I.every=function(t){return isFinite(t=Math.floor(t))&&t>0?n((function(e){e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)}),(function(e,r){e.setFullYear(e.getFullYear()+r*t)})):null};var P=I.range,z=n((function(t){t.setUTCSeconds(0,0)}),(function(t,e){t.setTime(+t+6e4*e)}),(function(t,e){return(e-t)/6e4}),(function(t){return t.getUTCMinutes()})),O=z.range,D=n((function(t){t.setUTCMinutes(0,0,0)}),(function(t,e){t.setTime(+t+36e5*e)}),(function(t,e){return(e-t)/36e5}),(function(t){return t.getUTCHours()})),R=D.range,F=n((function(t){t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCDate(t.getUTCDate()+e)}),(function(t,e){return(e-t)/864e5}),(function(t){return t.getUTCDate()-1})),B=F.range;function N(t){return n((function(e){e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCDate(t.getUTCDate()+7*e)}),(function(t,e){return(e-t)/6048e5}))}var j=N(0),U=N(1),V=N(2),q=N(3),H=N(4),G=N(5),Y=N(6),W=j.range,X=U.range,Z=V.range,J=q.range,K=H.range,Q=G.range,$=Y.range,tt=n((function(t){t.setUTCDate(1),t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCMonth(t.getUTCMonth()+e)}),(function(t,e){return e.getUTCMonth()-t.getUTCMonth()+12*(e.getUTCFullYear()-t.getUTCFullYear())}),(function(t){return t.getUTCMonth()})),et=tt.range,rt=n((function(t){t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCFullYear(t.getUTCFullYear()+e)}),(function(t,e){return e.getUTCFullYear()-t.getUTCFullYear()}),(function(t){return t.getUTCFullYear()}));rt.every=function(t){return isFinite(t=Math.floor(t))&&t>0?n((function(e){e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)}),(function(e,r){e.setUTCFullYear(e.getUTCFullYear()+r*t)})):null};var nt=rt.range;t.timeDay=h,t.timeDays=p,t.timeFriday=b,t.timeFridays=S,t.timeHour=u,t.timeHours=f,t.timeInterval=n,t.timeMillisecond=i,t.timeMilliseconds=a,t.timeMinute=l,t.timeMinutes=c,t.timeMonday=m,t.timeMondays=T,t.timeMonth=C,t.timeMonths=L,t.timeSaturday=_,t.timeSaturdays=E,t.timeSecond=o,t.timeSeconds=s,t.timeSunday=g,t.timeSundays=w,t.timeThursday=x,t.timeThursdays=A,t.timeTuesday=v,t.timeTuesdays=k,t.timeWednesday=y,t.timeWednesdays=M,t.timeWeek=g,t.timeWeeks=w,t.timeYear=I,t.timeYears=P,t.utcDay=F,t.utcDays=B,t.utcFriday=G,t.utcFridays=Q,t.utcHour=D,t.utcHours=R,t.utcMillisecond=i,t.utcMilliseconds=a,t.utcMinute=z,t.utcMinutes=O,t.utcMonday=U,t.utcMondays=X,t.utcMonth=tt,t.utcMonths=et,t.utcSaturday=Y,t.utcSaturdays=$,t.utcSecond=o,t.utcSeconds=s,t.utcSunday=j,t.utcSundays=W,t.utcThursday=H,t.utcThursdays=K,t.utcTuesday=V,t.utcTuesdays=Z,t.utcWednesday=q,t.utcWednesdays=J,t.utcWeek=j,t.utcWeeks=W,t.utcYear=rt,t.utcYears=nt,Object.defineProperty(t,"__esModule",{value:!0})}))},{}],168:[function(t,e,r){!function(t,n){"object"==typeof r&&"undefined"!=typeof e?n(r):n((t=t||self).d3=t.d3||{})}(this,(function(t){"use strict";var e,r,n=0,i=0,a=0,o=0,s=0,l=0,c="object"==typeof performance&&performance.now?performance:Date,u="object"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function f(){return s||(u(h),s=c.now()+l)}function h(){s=0}function p(){this._call=this._time=this._next=null}function d(t,e,r){var n=new p;return n.restart(t,e,r),n}function g(){f(),++n;for(var t,r=e;r;)(t=s-r._time)>=0&&r._call.call(null,t),r=r._next;--n}function m(){s=(o=c.now())+l,n=i=0;try{g()}finally{n=0,function(){var t,n,i=e,a=1/0;for(;i;)i._call?(a>i._time&&(a=i._time),t=i,i=i._next):(n=i._next,i._next=null,i=t?t._next=n:e=n);r=t,y(a)}(),s=0}}function v(){var t=c.now(),e=t-o;e>1e3&&(l-=e,o=t)}function y(t){n||(i&&(i=clearTimeout(i)),t-s>24?(t<1/0&&(i=setTimeout(m,t-c.now()-l)),a&&(a=clearInterval(a))):(a||(o=c.now(),a=setInterval(v,1e3)),n=1,u(m)))}p.prototype=d.prototype={constructor:p,restart:function(t,n,i){if("function"!=typeof t)throw new TypeError("callback is not a function");i=(null==i?f():+i)+(null==n?0:+n),this._next||r===this||(r?r._next=this:e=this,r=this),this._call=t,this._time=i,y()},stop:function(){this._call&&(this._call=null,this._time=1/0,y())}},t.interval=function(t,e,r){var n=new p,i=e;return null==e?(n.restart(t,e,r),n):(e=+e,r=null==r?f():+r,n.restart((function a(o){o+=i,n.restart(a,i+=e,r),t(o)}),e,r),n)},t.now=f,t.timeout=function(t,e,r){var n=new p;return e=null==e?0:+e,n.restart((function(r){n.stop(),t(r+e)}),e,r),n},t.timer=d,t.timerFlush=g,Object.defineProperty(t,"__esModule",{value:!0})}))},{}],169:[function(t,e,r){!function(){var t={version:"3.5.17"},r=[].slice,n=function(t){return r.call(t)},i=this.document;function a(t){return t&&(t.ownerDocument||t.document||t).documentElement}function o(t){return t&&(t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView)}if(i)try{n(i.documentElement.childNodes)[0].nodeType}catch(t){n=function(t){for(var e=t.length,r=new Array(e);e--;)r[e]=t[e];return r}}if(Date.now||(Date.now=function(){return+new Date}),i)try{i.createElement("DIV").style.setProperty("opacity",0,"")}catch(t){var s=this.Element.prototype,l=s.setAttribute,c=s.setAttributeNS,u=this.CSSStyleDeclaration.prototype,f=u.setProperty;s.setAttribute=function(t,e){l.call(this,t,e+"")},s.setAttributeNS=function(t,e,r){c.call(this,t,e,r+"")},u.setProperty=function(t,e,r){f.call(this,t,e+"",r)}}function h(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}function p(t){return null===t?NaN:+t}function d(t){return!isNaN(t)}function g(t){return{left:function(e,r,n,i){for(arguments.length<3&&(n=0),arguments.length<4&&(i=e.length);n<i;){var a=n+i>>>1;t(e[a],r)<0?n=a+1:i=a}return n},right:function(e,r,n,i){for(arguments.length<3&&(n=0),arguments.length<4&&(i=e.length);n<i;){var a=n+i>>>1;t(e[a],r)>0?i=a:n=a+1}return n}}}t.ascending=h,t.descending=function(t,e){return e<t?-1:e>t?1:e>=t?0:NaN},t.min=function(t,e){var r,n,i=-1,a=t.length;if(1===arguments.length){for(;++i<a;)if(null!=(n=t[i])&&n>=n){r=n;break}for(;++i<a;)null!=(n=t[i])&&r>n&&(r=n)}else{for(;++i<a;)if(null!=(n=e.call(t,t[i],i))&&n>=n){r=n;break}for(;++i<a;)null!=(n=e.call(t,t[i],i))&&r>n&&(r=n)}return r},t.max=function(t,e){var r,n,i=-1,a=t.length;if(1===arguments.length){for(;++i<a;)if(null!=(n=t[i])&&n>=n){r=n;break}for(;++i<a;)null!=(n=t[i])&&n>r&&(r=n)}else{for(;++i<a;)if(null!=(n=e.call(t,t[i],i))&&n>=n){r=n;break}for(;++i<a;)null!=(n=e.call(t,t[i],i))&&n>r&&(r=n)}return r},t.extent=function(t,e){var r,n,i,a=-1,o=t.length;if(1===arguments.length){for(;++a<o;)if(null!=(n=t[a])&&n>=n){r=i=n;break}for(;++a<o;)null!=(n=t[a])&&(r>n&&(r=n),i<n&&(i=n))}else{for(;++a<o;)if(null!=(n=e.call(t,t[a],a))&&n>=n){r=i=n;break}for(;++a<o;)null!=(n=e.call(t,t[a],a))&&(r>n&&(r=n),i<n&&(i=n))}return[r,i]},t.sum=function(t,e){var r,n=0,i=t.length,a=-1;if(1===arguments.length)for(;++a<i;)d(r=+t[a])&&(n+=r);else for(;++a<i;)d(r=+e.call(t,t[a],a))&&(n+=r);return n},t.mean=function(t,e){var r,n=0,i=t.length,a=-1,o=i;if(1===arguments.length)for(;++a<i;)d(r=p(t[a]))?n+=r:--o;else for(;++a<i;)d(r=p(e.call(t,t[a],a)))?n+=r:--o;if(o)return n/o},t.quantile=function(t,e){var r=(t.length-1)*e+1,n=Math.floor(r),i=+t[n-1],a=r-n;return a?i+a*(t[n]-i):i},t.median=function(e,r){var n,i=[],a=e.length,o=-1;if(1===arguments.length)for(;++o<a;)d(n=p(e[o]))&&i.push(n);else for(;++o<a;)d(n=p(r.call(e,e[o],o)))&&i.push(n);if(i.length)return t.quantile(i.sort(h),.5)},t.variance=function(t,e){var r,n,i=t.length,a=0,o=0,s=-1,l=0;if(1===arguments.length)for(;++s<i;)d(r=p(t[s]))&&(o+=(n=r-a)*(r-(a+=n/++l)));else for(;++s<i;)d(r=p(e.call(t,t[s],s)))&&(o+=(n=r-a)*(r-(a+=n/++l)));if(l>1)return o/(l-1)},t.deviation=function(){var e=t.variance.apply(this,arguments);return e?Math.sqrt(e):e};var m=g(h);function v(t){return t.length}t.bisectLeft=m.left,t.bisect=t.bisectRight=m.right,t.bisector=function(t){return g(1===t.length?function(e,r){return h(t(e),r)}:t)},t.shuffle=function(t,e,r){(a=arguments.length)<3&&(r=t.length,a<2&&(e=0));for(var n,i,a=r-e;a;)i=Math.random()*a--|0,n=t[a+e],t[a+e]=t[i+e],t[i+e]=n;return t},t.permute=function(t,e){for(var r=e.length,n=new Array(r);r--;)n[r]=t[e[r]];return n},t.pairs=function(t){for(var e=0,r=t.length-1,n=t[0],i=new Array(r<0?0:r);e<r;)i[e]=[n,n=t[++e]];return i},t.transpose=function(e){if(!(a=e.length))return[];for(var r=-1,n=t.min(e,v),i=new Array(n);++r<n;)for(var a,o=-1,s=i[r]=new Array(a);++o<a;)s[o]=e[o][r];return i},t.zip=function(){return t.transpose(arguments)},t.keys=function(t){var e=[];for(var r in t)e.push(r);return e},t.values=function(t){var e=[];for(var r in t)e.push(t[r]);return e},t.entries=function(t){var e=[];for(var r in t)e.push({key:r,value:t[r]});return e},t.merge=function(t){for(var e,r,n,i=t.length,a=-1,o=0;++a<i;)o+=t[a].length;for(r=new Array(o);--i>=0;)for(e=(n=t[i]).length;--e>=0;)r[--o]=n[e];return r};var y=Math.abs;function x(t){for(var e=1;t*e%1;)e*=10;return e}function b(t,e){for(var r in e)Object.defineProperty(t.prototype,r,{value:e[r],enumerable:!1})}function _(){this._=Object.create(null)}t.range=function(t,e,r){if(arguments.length<3&&(r=1,arguments.length<2&&(e=t,t=0)),(e-t)/r==1/0)throw new Error("infinite range");var n,i=[],a=x(y(r)),o=-1;if(t*=a,e*=a,(r*=a)<0)for(;(n=t+r*++o)>e;)i.push(n/a);else for(;(n=t+r*++o)<e;)i.push(n/a);return i},t.map=function(t,e){var r=new _;if(t instanceof _)t.forEach((function(t,e){r.set(t,e)}));else if(Array.isArray(t)){var n,i=-1,a=t.length;if(1===arguments.length)for(;++i<a;)r.set(i,t[i]);else for(;++i<a;)r.set(e.call(t,n=t[i],i),n)}else for(var o in t)r.set(o,t[o]);return r};function w(t){return"__proto__"==(t+="")||"\0"===t[0]?"\0"+t:t}function T(t){return"\0"===(t+="")[0]?t.slice(1):t}function k(t){return w(t)in this._}function M(t){return(t=w(t))in this._&&delete this._[t]}function A(){var t=[];for(var e in this._)t.push(T(e));return t}function S(){var t=0;for(var e in this._)++t;return t}function E(){for(var t in this._)return!1;return!0}function C(){this._=Object.create(null)}function L(t){return t}function I(t,e,r){return function(){var n=r.apply(e,arguments);return n===e?t:n}}function P(t,e){if(e in t)return e;e=e.charAt(0).toUpperCase()+e.slice(1);for(var r=0,n=z.length;r<n;++r){var i=z[r]+e;if(i in t)return i}}b(_,{has:k,get:function(t){return this._[w(t)]},set:function(t,e){return this._[w(t)]=e},remove:M,keys:A,values:function(){var t=[];for(var e in this._)t.push(this._[e]);return t},entries:function(){var t=[];for(var e in this._)t.push({key:T(e),value:this._[e]});return t},size:S,empty:E,forEach:function(t){for(var e in this._)t.call(this,T(e),this._[e])}}),t.nest=function(){var e,r,n={},i=[],a=[];function o(t,a,s){if(s>=i.length)return r?r.call(n,a):e?a.sort(e):a;for(var l,c,u,f,h=-1,p=a.length,d=i[s++],g=new _;++h<p;)(f=g.get(l=d(c=a[h])))?f.push(c):g.set(l,[c]);return t?(c=t(),u=function(e,r){c.set(e,o(t,r,s))}):(c={},u=function(e,r){c[e]=o(t,r,s)}),g.forEach(u),c}return n.map=function(t,e){return o(e,t,0)},n.entries=function(e){return function t(e,r){if(r>=i.length)return e;var n=[],o=a[r++];return e.forEach((function(e,i){n.push({key:e,values:t(i,r)})})),o?n.sort((function(t,e){return o(t.key,e.key)})):n}(o(t.map,e,0),0)},n.key=function(t){return i.push(t),n},n.sortKeys=function(t){return a[i.length-1]=t,n},n.sortValues=function(t){return e=t,n},n.rollup=function(t){return r=t,n},n},t.set=function(t){var e=new C;if(t)for(var r=0,n=t.length;r<n;++r)e.add(t[r]);return e},b(C,{has:k,add:function(t){return this._[w(t+="")]=!0,t},remove:M,values:A,size:S,empty:E,forEach:function(t){for(var e in this._)t.call(this,T(e))}}),t.behavior={},t.rebind=function(t,e){for(var r,n=1,i=arguments.length;++n<i;)t[r=arguments[n]]=I(t,e,e[r]);return t};var z=["webkit","ms","moz","Moz","o","O"];function O(){}function D(){}function R(t){var e=[],r=new _;function n(){for(var r,n=e,i=-1,a=n.length;++i<a;)(r=n[i].on)&&r.apply(this,arguments);return t}return n.on=function(n,i){var a,o=r.get(n);return arguments.length<2?o&&o.on:(o&&(o.on=null,e=e.slice(0,a=e.indexOf(o)).concat(e.slice(a+1)),r.remove(n)),i&&e.push(r.set(n,{on:i})),t)},n}function F(){t.event.preventDefault()}function B(){for(var e,r=t.event;e=r.sourceEvent;)r=e;return r}function N(e){for(var r=new D,n=0,i=arguments.length;++n<i;)r[arguments[n]]=R(r);return r.of=function(n,i){return function(a){try{var o=a.sourceEvent=t.event;a.target=e,t.event=a,r[a.type].apply(n,i)}finally{t.event=o}}},r}t.dispatch=function(){for(var t=new D,e=-1,r=arguments.length;++e<r;)t[arguments[e]]=R(t);return t},D.prototype.on=function(t,e){var r=t.indexOf("."),n="";if(r>=0&&(n=t.slice(r+1),t=t.slice(0,r)),t)return arguments.length<2?this[t].on(n):this[t].on(n,e);if(2===arguments.length){if(null==e)for(t in this)this.hasOwnProperty(t)&&this[t].on(n,null);return this}},t.event=null,t.requote=function(t){return t.replace(j,"\\$&")};var j=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,U={}.__proto__?function(t,e){t.__proto__=e}:function(t,e){for(var r in e)t[r]=e[r]};function V(t){return U(t,Y),t}var q=function(t,e){return e.querySelector(t)},H=function(t,e){return e.querySelectorAll(t)},G=function(t,e){var r=t.matches||t[P(t,"matchesSelector")];return(G=function(t,e){return r.call(t,e)})(t,e)};"function"==typeof Sizzle&&(q=function(t,e){return Sizzle(t,e)[0]||null},H=Sizzle,G=Sizzle.matchesSelector),t.selection=function(){return t.select(i.documentElement)};var Y=t.selection.prototype=[];function W(t){return"function"==typeof t?t:function(){return q(t,this)}}function X(t){return"function"==typeof t?t:function(){return H(t,this)}}Y.select=function(t){var e,r,n,i,a=[];t=W(t);for(var o=-1,s=this.length;++o<s;){a.push(e=[]),e.parentNode=(n=this[o]).parentNode;for(var l=-1,c=n.length;++l<c;)(i=n[l])?(e.push(r=t.call(i,i.__data__,l,o)),r&&"__data__"in i&&(r.__data__=i.__data__)):e.push(null)}return V(a)},Y.selectAll=function(t){var e,r,i=[];t=X(t);for(var a=-1,o=this.length;++a<o;)for(var s=this[a],l=-1,c=s.length;++l<c;)(r=s[l])&&(i.push(e=n(t.call(r,r.__data__,l,a))),e.parentNode=r);return V(i)};var Z="http://www.w3.org/1999/xhtml",J={svg:"http://www.w3.org/2000/svg",xhtml:Z,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function K(e,r){return e=t.ns.qualify(e),null==r?e.local?function(){this.removeAttributeNS(e.space,e.local)}:function(){this.removeAttribute(e)}:"function"==typeof r?e.local?function(){var t=r.apply(this,arguments);null==t?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,t)}:function(){var t=r.apply(this,arguments);null==t?this.removeAttribute(e):this.setAttribute(e,t)}:e.local?function(){this.setAttributeNS(e.space,e.local,r)}:function(){this.setAttribute(e,r)}}function Q(t){return t.trim().replace(/\s+/g," ")}function $(e){return new RegExp("(?:^|\\s+)"+t.requote(e)+"(?:\\s+|$)","g")}function tt(t){return(t+"").trim().split(/^|\s+/)}function et(t,e){var r=(t=tt(t).map(rt)).length;return"function"==typeof e?function(){for(var n=-1,i=e.apply(this,arguments);++n<r;)t[n](this,i)}:function(){for(var n=-1;++n<r;)t[n](this,e)}}function rt(t){var e=$(t);return function(r,n){if(i=r.classList)return n?i.add(t):i.remove(t);var i=r.getAttribute("class")||"";n?(e.lastIndex=0,e.test(i)||r.setAttribute("class",Q(i+" "+t))):r.setAttribute("class",Q(i.replace(e," ")))}}function nt(t,e,r){return null==e?function(){this.style.removeProperty(t)}:"function"==typeof e?function(){var n=e.apply(this,arguments);null==n?this.style.removeProperty(t):this.style.setProperty(t,n,r)}:function(){this.style.setProperty(t,e,r)}}function it(t,e){return null==e?function(){delete this[t]}:"function"==typeof e?function(){var r=e.apply(this,arguments);null==r?delete this[t]:this[t]=r}:function(){this[t]=e}}function at(e){return"function"==typeof e?e:(e=t.ns.qualify(e)).local?function(){return this.ownerDocument.createElementNS(e.space,e.local)}:function(){var t=this.ownerDocument,r=this.namespaceURI;return r===Z&&t.documentElement.namespaceURI===Z?t.createElement(e):t.createElementNS(r,e)}}function ot(){var t=this.parentNode;t&&t.removeChild(this)}function st(t){return{__data__:t}}function lt(t){return function(){return G(this,t)}}function ct(t){return arguments.length||(t=h),function(e,r){return e&&r?t(e.__data__,r.__data__):!e-!r}}function ut(t,e){for(var r=0,n=t.length;r<n;r++)for(var i,a=t[r],o=0,s=a.length;o<s;o++)(i=a[o])&&e(i,o,r);return t}function ft(t){return U(t,ht),t}t.ns={prefix:J,qualify:function(t){var e=t.indexOf(":"),r=t;return e>=0&&"xmlns"!==(r=t.slice(0,e))&&(t=t.slice(e+1)),J.hasOwnProperty(r)?{space:J[r],local:t}:t}},Y.attr=function(e,r){if(arguments.length<2){if("string"==typeof e){var n=this.node();return(e=t.ns.qualify(e)).local?n.getAttributeNS(e.space,e.local):n.getAttribute(e)}for(r in e)this.each(K(r,e[r]));return this}return this.each(K(e,r))},Y.classed=function(t,e){if(arguments.length<2){if("string"==typeof t){var r=this.node(),n=(t=tt(t)).length,i=-1;if(e=r.classList){for(;++i<n;)if(!e.contains(t[i]))return!1}else for(e=r.getAttribute("class");++i<n;)if(!$(t[i]).test(e))return!1;return!0}for(e in t)this.each(et(e,t[e]));return this}return this.each(et(t,e))},Y.style=function(t,e,r){var n=arguments.length;if(n<3){if("string"!=typeof t){for(r in n<2&&(e=""),t)this.each(nt(r,t[r],e));return this}if(n<2){var i=this.node();return o(i).getComputedStyle(i,null).getPropertyValue(t)}r=""}return this.each(nt(t,e,r))},Y.property=function(t,e){if(arguments.length<2){if("string"==typeof t)return this.node()[t];for(e in t)this.each(it(e,t[e]));return this}return this.each(it(t,e))},Y.text=function(t){return arguments.length?this.each("function"==typeof t?function(){var e=t.apply(this,arguments);this.textContent=null==e?"":e}:null==t?function(){this.textContent=""}:function(){this.textContent=t}):this.node().textContent},Y.html=function(t){return arguments.length?this.each("function"==typeof t?function(){var e=t.apply(this,arguments);this.innerHTML=null==e?"":e}:null==t?function(){this.innerHTML=""}:function(){this.innerHTML=t}):this.node().innerHTML},Y.append=function(t){return t=at(t),this.select((function(){return this.appendChild(t.apply(this,arguments))}))},Y.insert=function(t,e){return t=at(t),e=W(e),this.select((function(){return this.insertBefore(t.apply(this,arguments),e.apply(this,arguments)||null)}))},Y.remove=function(){return this.each(ot)},Y.data=function(t,e){var r,n,i=-1,a=this.length;if(!arguments.length){for(t=new Array(a=(r=this[0]).length);++i<a;)(n=r[i])&&(t[i]=n.__data__);return t}function o(t,r){var n,i,a,o=t.length,u=r.length,f=Math.min(o,u),h=new Array(u),p=new Array(u),d=new Array(o);if(e){var g,m=new _,v=new Array(o);for(n=-1;++n<o;)(i=t[n])&&(m.has(g=e.call(i,i.__data__,n))?d[n]=i:m.set(g,i),v[n]=g);for(n=-1;++n<u;)(i=m.get(g=e.call(r,a=r[n],n)))?!0!==i&&(h[n]=i,i.__data__=a):p[n]=st(a),m.set(g,!0);for(n=-1;++n<o;)n in v&&!0!==m.get(v[n])&&(d[n]=t[n])}else{for(n=-1;++n<f;)i=t[n],a=r[n],i?(i.__data__=a,h[n]=i):p[n]=st(a);for(;n<u;++n)p[n]=st(r[n]);for(;n<o;++n)d[n]=t[n]}p.update=h,p.parentNode=h.parentNode=d.parentNode=t.parentNode,s.push(p),l.push(h),c.push(d)}var s=ft([]),l=V([]),c=V([]);if("function"==typeof t)for(;++i<a;)o(r=this[i],t.call(r,r.parentNode.__data__,i));else for(;++i<a;)o(r=this[i],t);return l.enter=function(){return s},l.exit=function(){return c},l},Y.datum=function(t){return arguments.length?this.property("__data__",t):this.property("__data__")},Y.filter=function(t){var e,r,n,i=[];"function"!=typeof t&&(t=lt(t));for(var a=0,o=this.length;a<o;a++){i.push(e=[]),e.parentNode=(r=this[a]).parentNode;for(var s=0,l=r.length;s<l;s++)(n=r[s])&&t.call(n,n.__data__,s,a)&&e.push(n)}return V(i)},Y.order=function(){for(var t=-1,e=this.length;++t<e;)for(var r,n=this[t],i=n.length-1,a=n[i];--i>=0;)(r=n[i])&&(a&&a!==r.nextSibling&&a.parentNode.insertBefore(r,a),a=r);return this},Y.sort=function(t){t=ct.apply(this,arguments);for(var e=-1,r=this.length;++e<r;)this[e].sort(t);return this.order()},Y.each=function(t){return ut(this,(function(e,r,n){t.call(e,e.__data__,r,n)}))},Y.call=function(t){var e=n(arguments);return t.apply(e[0]=this,e),this},Y.empty=function(){return!this.node()},Y.node=function(){for(var t=0,e=this.length;t<e;t++)for(var r=this[t],n=0,i=r.length;n<i;n++){var a=r[n];if(a)return a}return null},Y.size=function(){var t=0;return ut(this,(function(){++t})),t};var ht=[];function pt(t){var e,r;return function(n,i,a){var o,s=t[a].update,l=s.length;for(a!=r&&(r=a,e=0),i>=e&&(e=i+1);!(o=s[e])&&++e<l;);return o}}function dt(e,r,i){var a="__on"+e,o=e.indexOf("."),s=mt;o>0&&(e=e.slice(0,o));var l=gt.get(e);function c(){var t=this[a];t&&(this.removeEventListener(e,t,t.$),delete this[a])}return l&&(e=l,s=vt),o?r?function(){var t=s(r,n(arguments));c.call(this),this.addEventListener(e,this[a]=t,t.$=i),t._=r}:c:r?O:function(){var r,n=new RegExp("^__on([^.]+)"+t.requote(e)+"$");for(var i in this)if(r=i.match(n)){var a=this[i];this.removeEventListener(r[1],a,a.$),delete this[i]}}}t.selection.enter=ft,t.selection.enter.prototype=ht,ht.append=Y.append,ht.empty=Y.empty,ht.node=Y.node,ht.call=Y.call,ht.size=Y.size,ht.select=function(t){for(var e,r,n,i,a,o=[],s=-1,l=this.length;++s<l;){n=(i=this[s]).update,o.push(e=[]),e.parentNode=i.parentNode;for(var c=-1,u=i.length;++c<u;)(a=i[c])?(e.push(n[c]=r=t.call(i.parentNode,a.__data__,c,s)),r.__data__=a.__data__):e.push(null)}return V(o)},ht.insert=function(t,e){return arguments.length<2&&(e=pt(this)),Y.insert.call(this,t,e)},t.select=function(t){var e;return"string"==typeof t?(e=[q(t,i)]).parentNode=i.documentElement:(e=[t]).parentNode=a(t),V([e])},t.selectAll=function(t){var e;return"string"==typeof t?(e=n(H(t,i))).parentNode=i.documentElement:(e=n(t)).parentNode=null,V([e])},Y.on=function(t,e,r){var n=arguments.length;if(n<3){if("string"!=typeof t){for(r in n<2&&(e=!1),t)this.each(dt(r,t[r],e));return this}if(n<2)return(n=this.node()["__on"+t])&&n._;r=!1}return this.each(dt(t,e,r))};var gt=t.map({mouseenter:"mouseover",mouseleave:"mouseout"});function mt(e,r){return function(n){var i=t.event;t.event=n,r[0]=this.__data__;try{e.apply(this,r)}finally{t.event=i}}}function vt(t,e){var r=mt(t,e);return function(t){var e=t.relatedTarget;e&&(e===this||8&e.compareDocumentPosition(this))||r.call(this,t)}}i&>.forEach((function(t){"on"+t in i&>.remove(t)}));var yt,xt=0;function bt(e){var r=".dragsuppress-"+ ++xt,n="click"+r,i=t.select(o(e)).on("touchmove"+r,F).on("dragstart"+r,F).on("selectstart"+r,F);if(null==yt&&(yt=!("onselectstart"in e)&&P(e.style,"userSelect")),yt){var s=a(e).style,l=s[yt];s[yt]="none"}return function(t){if(i.on(r,null),yt&&(s[yt]=l),t){var e=function(){i.on(n,null)};i.on(n,(function(){F(),e()}),!0),setTimeout(e,0)}}}t.mouse=function(t){return wt(t,B())};var _t=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;function wt(e,r){r.changedTouches&&(r=r.changedTouches[0]);var n=e.ownerSVGElement||e;if(n.createSVGPoint){var i=n.createSVGPoint();if(_t<0){var a=o(e);if(a.scrollX||a.scrollY){var s=(n=t.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important"))[0][0].getScreenCTM();_t=!(s.f||s.e),n.remove()}}return _t?(i.x=r.pageX,i.y=r.pageY):(i.x=r.clientX,i.y=r.clientY),[(i=i.matrixTransform(e.getScreenCTM().inverse())).x,i.y]}var l=e.getBoundingClientRect();return[r.clientX-l.left-e.clientLeft,r.clientY-l.top-e.clientTop]}function Tt(){return t.event.changedTouches[0].identifier}t.touch=function(t,e,r){if(arguments.length<3&&(r=e,e=B().changedTouches),e)for(var n,i=0,a=e.length;i<a;++i)if((n=e[i]).identifier===r)return wt(t,n)},t.behavior.drag=function(){var e=N(a,"drag","dragstart","dragend"),r=null,n=s(O,t.mouse,o,"mousemove","mouseup"),i=s(Tt,t.touch,L,"touchmove","touchend");function a(){this.on("mousedown.drag",n).on("touchstart.drag",i)}function s(n,i,a,o,s){return function(){var l,c=this,u=t.event.target.correspondingElement||t.event.target,f=c.parentNode,h=e.of(c,arguments),p=0,d=n(),g=".drag"+(null==d?"":"-"+d),m=t.select(a(u)).on(o+g,x).on(s+g,b),v=bt(u),y=i(f,d);function x(){var t,e,r=i(f,d);r&&(t=r[0]-y[0],e=r[1]-y[1],p|=t|e,y=r,h({type:"drag",x:r[0]+l[0],y:r[1]+l[1],dx:t,dy:e}))}function b(){i(f,d)&&(m.on(o+g,null).on(s+g,null),v(p),h({type:"dragend"}))}l=r?[(l=r.apply(c,arguments)).x-y[0],l.y-y[1]]:[0,0],h({type:"dragstart"})}}return a.origin=function(t){return arguments.length?(r=t,a):r},t.rebind(a,e,"on")},t.touches=function(t,e){return arguments.length<2&&(e=B().touches),e?n(e).map((function(e){var r=wt(t,e);return r.identifier=e.identifier,r})):[]};var kt=1e-6,Mt=1e-12,At=Math.PI,St=2*At,Et=St-kt,Ct=At/2,Lt=At/180,It=180/At;function Pt(t){return t>0?1:t<0?-1:0}function zt(t,e,r){return(e[0]-t[0])*(r[1]-t[1])-(e[1]-t[1])*(r[0]-t[0])}function Ot(t){return t>1?0:t<-1?At:Math.acos(t)}function Dt(t){return t>1?Ct:t<-1?-Ct:Math.asin(t)}function Rt(t){return((t=Math.exp(t))+1/t)/2}function Ft(t){return(t=Math.sin(t/2))*t}var Bt=Math.SQRT2;t.interpolateZoom=function(t,e){var r,n,i=t[0],a=t[1],o=t[2],s=e[0],l=e[1],c=e[2],u=s-i,f=l-a,h=u*u+f*f;if(h<Mt)n=Math.log(c/o)/Bt,r=function(t){return[i+t*u,a+t*f,o*Math.exp(Bt*t*n)]};else{var p=Math.sqrt(h),d=(c*c-o*o+4*h)/(2*o*2*p),g=(c*c-o*o-4*h)/(2*c*2*p),m=Math.log(Math.sqrt(d*d+1)-d),v=Math.log(Math.sqrt(g*g+1)-g);n=(v-m)/Bt,r=function(t){var e,r=t*n,s=Rt(m),l=o/(2*p)*(s*(e=Bt*r+m,((e=Math.exp(2*e))-1)/(e+1))-function(t){return((t=Math.exp(t))-1/t)/2}(m));return[i+l*u,a+l*f,o*s/Rt(Bt*r+m)]}}return r.duration=1e3*n,r},t.behavior.zoom=function(){var e,r,n,a,s,l,c,u,f,h={x:0,y:0,k:1},p=[960,500],d=Ut,g=250,m=0,v="mousedown.zoom",y="mousemove.zoom",x="mouseup.zoom",b="touchstart.zoom",_=N(w,"zoomstart","zoom","zoomend");function w(t){t.on(v,I).on(jt+".zoom",z).on("dblclick.zoom",O).on(b,P)}function T(t){return[(t[0]-h.x)/h.k,(t[1]-h.y)/h.k]}function k(t){h.k=Math.max(d[0],Math.min(d[1],t))}function M(t,e){e=function(t){return[t[0]*h.k+h.x,t[1]*h.k+h.y]}(e),h.x+=t[0]-e[0],h.y+=t[1]-e[1]}function A(e,n,i,a){e.__chart__={x:h.x,y:h.y,k:h.k},k(Math.pow(2,a)),M(r=n,i),e=t.select(e),g>0&&(e=e.transition().duration(g)),e.call(w.event)}function S(){c&&c.domain(l.range().map((function(t){return(t-h.x)/h.k})).map(l.invert)),f&&f.domain(u.range().map((function(t){return(t-h.y)/h.k})).map(u.invert))}function E(t){m++||t({type:"zoomstart"})}function C(t){S(),t({type:"zoom",scale:h.k,translate:[h.x,h.y]})}function L(t){--m||(t({type:"zoomend"}),r=null)}function I(){var e=this,r=_.of(e,arguments),n=0,i=t.select(o(e)).on(y,l).on(x,c),a=T(t.mouse(e)),s=bt(e);function l(){n=1,M(t.mouse(e),a),C(r)}function c(){i.on(y,null).on(x,null),s(n),L(r)}vs.call(e),E(r)}function P(){var e,r=this,n=_.of(r,arguments),i={},a=0,o=".zoom-"+t.event.changedTouches[0].identifier,l="touchmove"+o,c="touchend"+o,u=[],f=t.select(r),p=bt(r);function d(){var n=t.touches(r);return e=h.k,n.forEach((function(t){t.identifier in i&&(i[t.identifier]=T(t))})),n}function g(){var e=t.event.target;t.select(e).on(l,m).on(c,y),u.push(e);for(var n=t.event.changedTouches,o=0,f=n.length;o<f;++o)i[n[o].identifier]=null;var p=d(),g=Date.now();if(1===p.length){if(g-s<500){var v=p[0];A(r,v,i[v.identifier],Math.floor(Math.log(h.k)/Math.LN2)+1),F()}s=g}else if(p.length>1){v=p[0];var x=p[1],b=v[0]-x[0],_=v[1]-x[1];a=b*b+_*_}}function m(){var o,l,c,u,f=t.touches(r);vs.call(r);for(var h=0,p=f.length;h<p;++h,u=null)if(c=f[h],u=i[c.identifier]){if(l)break;o=c,l=u}if(u){var d=(d=c[0]-o[0])*d+(d=c[1]-o[1])*d,g=a&&Math.sqrt(d/a);o=[(o[0]+c[0])/2,(o[1]+c[1])/2],l=[(l[0]+u[0])/2,(l[1]+u[1])/2],k(g*e)}s=null,M(o,l),C(n)}function y(){if(t.event.touches.length){for(var e=t.event.changedTouches,r=0,a=e.length;r<a;++r)delete i[e[r].identifier];for(var s in i)return void d()}t.selectAll(u).on(o,null),f.on(v,I).on(b,P),p(),L(n)}g(),E(n),f.on(v,null).on(b,g)}function z(){var i=_.of(this,arguments);a?clearTimeout(a):(vs.call(this),e=T(r=n||t.mouse(this)),E(i)),a=setTimeout((function(){a=null,L(i)}),50),F(),k(Math.pow(2,.002*Nt())*h.k),M(r,e),C(i)}function O(){var e=t.mouse(this),r=Math.log(h.k)/Math.LN2;A(this,e,T(e),t.event.shiftKey?Math.ceil(r)-1:Math.floor(r)+1)}return jt||(jt="onwheel"in i?(Nt=function(){return-t.event.deltaY*(t.event.deltaMode?120:1)},"wheel"):"onmousewheel"in i?(Nt=function(){return t.event.wheelDelta},"mousewheel"):(Nt=function(){return-t.event.detail},"MozMousePixelScroll")),w.event=function(e){e.each((function(){var e=_.of(this,arguments),n=h;bs?t.select(this).transition().each("start.zoom",(function(){h=this.__chart__||{x:0,y:0,k:1},E(e)})).tween("zoom:zoom",(function(){var i=p[0],a=p[1],o=r?r[0]:i/2,s=r?r[1]:a/2,l=t.interpolateZoom([(o-h.x)/h.k,(s-h.y)/h.k,i/h.k],[(o-n.x)/n.k,(s-n.y)/n.k,i/n.k]);return function(t){var r=l(t),n=i/r[2];this.__chart__=h={x:o-r[0]*n,y:s-r[1]*n,k:n},C(e)}})).each("interrupt.zoom",(function(){L(e)})).each("end.zoom",(function(){L(e)})):(this.__chart__=h,E(e),C(e),L(e))}))},w.translate=function(t){return arguments.length?(h={x:+t[0],y:+t[1],k:h.k},S(),w):[h.x,h.y]},w.scale=function(t){return arguments.length?(h={x:h.x,y:h.y,k:null},k(+t),S(),w):h.k},w.scaleExtent=function(t){return arguments.length?(d=null==t?Ut:[+t[0],+t[1]],w):d},w.center=function(t){return arguments.length?(n=t&&[+t[0],+t[1]],w):n},w.size=function(t){return arguments.length?(p=t&&[+t[0],+t[1]],w):p},w.duration=function(t){return arguments.length?(g=+t,w):g},w.x=function(t){return arguments.length?(c=t,l=t.copy(),h={x:0,y:0,k:1},w):c},w.y=function(t){return arguments.length?(f=t,u=t.copy(),h={x:0,y:0,k:1},w):f},t.rebind(w,_,"on")};var Nt,jt,Ut=[0,1/0];function Vt(){}function qt(t,e,r){return this instanceof qt?(this.h=+t,this.s=+e,void(this.l=+r)):arguments.length<2?t instanceof qt?new qt(t.h,t.s,t.l):le(""+t,ce,qt):new qt(t,e,r)}t.color=Vt,Vt.prototype.toString=function(){return this.rgb()+""},t.hsl=qt;var Ht=qt.prototype=new Vt;function Gt(t,e,r){var n,i;function a(t){return Math.round(255*function(t){return t>360?t-=360:t<0&&(t+=360),t<60?n+(i-n)*t/60:t<180?i:t<240?n+(i-n)*(240-t)/60:n}(t))}return t=isNaN(t)?0:(t%=360)<0?t+360:t,e=isNaN(e)||e<0?0:e>1?1:e,n=2*(r=r<0?0:r>1?1:r)-(i=r<=.5?r*(1+e):r+e-r*e),new ne(a(t+120),a(t),a(t-120))}function Yt(e,r,n){return this instanceof Yt?(this.h=+e,this.c=+r,void(this.l=+n)):arguments.length<2?e instanceof Yt?new Yt(e.h,e.c,e.l):$t(e instanceof Zt?e.l:(e=ue((e=t.rgb(e)).r,e.g,e.b)).l,e.a,e.b):new Yt(e,r,n)}Ht.brighter=function(t){return t=Math.pow(.7,arguments.length?t:1),new qt(this.h,this.s,this.l/t)},Ht.darker=function(t){return t=Math.pow(.7,arguments.length?t:1),new qt(this.h,this.s,t*this.l)},Ht.rgb=function(){return Gt(this.h,this.s,this.l)},t.hcl=Yt;var Wt=Yt.prototype=new Vt;function Xt(t,e,r){return isNaN(t)&&(t=0),isNaN(e)&&(e=0),new Zt(r,Math.cos(t*=Lt)*e,Math.sin(t)*e)}function Zt(t,e,r){return this instanceof Zt?(this.l=+t,this.a=+e,void(this.b=+r)):arguments.length<2?t instanceof Zt?new Zt(t.l,t.a,t.b):t instanceof Yt?Xt(t.h,t.c,t.l):ue((t=ne(t)).r,t.g,t.b):new Zt(t,e,r)}Wt.brighter=function(t){return new Yt(this.h,this.c,Math.min(100,this.l+Jt*(arguments.length?t:1)))},Wt.darker=function(t){return new Yt(this.h,this.c,Math.max(0,this.l-Jt*(arguments.length?t:1)))},Wt.rgb=function(){return Xt(this.h,this.c,this.l).rgb()},t.lab=Zt;var Jt=18,Kt=Zt.prototype=new Vt;function Qt(t,e,r){var n=(t+16)/116,i=n+e/500,a=n-r/200;return new ne(re(3.2404542*(i=.95047*te(i))-1.5371385*(n=1*te(n))-.4985314*(a=1.08883*te(a))),re(-.969266*i+1.8760108*n+.041556*a),re(.0556434*i-.2040259*n+1.0572252*a))}function $t(t,e,r){return t>0?new Yt(Math.atan2(r,e)*It,Math.sqrt(e*e+r*r),t):new Yt(NaN,NaN,t)}function te(t){return t>.206893034?t*t*t:(t-4/29)/7.787037}function ee(t){return t>.008856?Math.pow(t,1/3):7.787037*t+4/29}function re(t){return Math.round(255*(t<=.00304?12.92*t:1.055*Math.pow(t,1/2.4)-.055))}function ne(t,e,r){return this instanceof ne?(this.r=~~t,this.g=~~e,void(this.b=~~r)):arguments.length<2?t instanceof ne?new ne(t.r,t.g,t.b):le(""+t,ne,Gt):new ne(t,e,r)}function ie(t){return new ne(t>>16,t>>8&255,255&t)}function ae(t){return ie(t)+""}Kt.brighter=function(t){return new Zt(Math.min(100,this.l+Jt*(arguments.length?t:1)),this.a,this.b)},Kt.darker=function(t){return new Zt(Math.max(0,this.l-Jt*(arguments.length?t:1)),this.a,this.b)},Kt.rgb=function(){return Qt(this.l,this.a,this.b)},t.rgb=ne;var oe=ne.prototype=new Vt;function se(t){return t<16?"0"+Math.max(0,t).toString(16):Math.min(255,t).toString(16)}function le(t,e,r){var n,i,a,o=0,s=0,l=0;if(n=/([a-z]+)\((.*)\)/.exec(t=t.toLowerCase()))switch(i=n[2].split(","),n[1]){case"hsl":return r(parseFloat(i[0]),parseFloat(i[1])/100,parseFloat(i[2])/100);case"rgb":return e(he(i[0]),he(i[1]),he(i[2]))}return(a=pe.get(t))?e(a.r,a.g,a.b):(null==t||"#"!==t.charAt(0)||isNaN(a=parseInt(t.slice(1),16))||(4===t.length?(o=(3840&a)>>4,o|=o>>4,s=240&a,s|=s>>4,l=15&a,l|=l<<4):7===t.length&&(o=(16711680&a)>>16,s=(65280&a)>>8,l=255&a)),e(o,s,l))}function ce(t,e,r){var n,i,a=Math.min(t/=255,e/=255,r/=255),o=Math.max(t,e,r),s=o-a,l=(o+a)/2;return s?(i=l<.5?s/(o+a):s/(2-o-a),n=t==o?(e-r)/s+(e<r?6:0):e==o?(r-t)/s+2:(t-e)/s+4,n*=60):(n=NaN,i=l>0&&l<1?0:n),new qt(n,i,l)}function ue(t,e,r){var n=ee((.4124564*(t=fe(t))+.3575761*(e=fe(e))+.1804375*(r=fe(r)))/.95047),i=ee((.2126729*t+.7151522*e+.072175*r)/1);return Zt(116*i-16,500*(n-i),200*(i-ee((.0193339*t+.119192*e+.9503041*r)/1.08883)))}function fe(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function he(t){var e=parseFloat(t);return"%"===t.charAt(t.length-1)?Math.round(2.55*e):e}oe.brighter=function(t){t=Math.pow(.7,arguments.length?t:1);var e=this.r,r=this.g,n=this.b,i=30;return e||r||n?(e&&e<i&&(e=i),r&&r<i&&(r=i),n&&n<i&&(n=i),new ne(Math.min(255,e/t),Math.min(255,r/t),Math.min(255,n/t))):new ne(i,i,i)},oe.darker=function(t){return new ne((t=Math.pow(.7,arguments.length?t:1))*this.r,t*this.g,t*this.b)},oe.hsl=function(){return ce(this.r,this.g,this.b)},oe.toString=function(){return"#"+se(this.r)+se(this.g)+se(this.b)};var pe=t.map({aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074});function de(t){return"function"==typeof t?t:function(){return t}}function ge(t){return function(e,r,n){return 2===arguments.length&&"function"==typeof r&&(n=r,r=null),me(e,r,t,n)}}function me(e,r,i,a){var o={},s=t.dispatch("beforesend","progress","load","error"),l={},c=new XMLHttpRequest,u=null;function f(){var t,e=c.status;if(!e&&function(t){var e=t.responseType;return e&&"text"!==e?t.response:t.responseText}(c)||e>=200&&e<300||304===e){try{t=i.call(o,c)}catch(t){return void s.error.call(o,t)}s.load.call(o,t)}else s.error.call(o,c)}return this.XDomainRequest&&!("withCredentials"in c)&&/^(http(s)?:)?\/\//.test(e)&&(c=new XDomainRequest),"onload"in c?c.onload=c.onerror=f:c.onreadystatechange=function(){c.readyState>3&&f()},c.onprogress=function(e){var r=t.event;t.event=e;try{s.progress.call(o,c)}finally{t.event=r}},o.header=function(t,e){return t=(t+"").toLowerCase(),arguments.length<2?l[t]:(null==e?delete l[t]:l[t]=e+"",o)},o.mimeType=function(t){return arguments.length?(r=null==t?null:t+"",o):r},o.responseType=function(t){return arguments.length?(u=t,o):u},o.response=function(t){return i=t,o},["get","post"].forEach((function(t){o[t]=function(){return o.send.apply(o,[t].concat(n(arguments)))}})),o.send=function(t,n,i){if(2===arguments.length&&"function"==typeof n&&(i=n,n=null),c.open(t,e,!0),null==r||"accept"in l||(l.accept=r+",*/*"),c.setRequestHeader)for(var a in l)c.setRequestHeader(a,l[a]);return null!=r&&c.overrideMimeType&&c.overrideMimeType(r),null!=u&&(c.responseType=u),null!=i&&o.on("error",i).on("load",(function(t){i(null,t)})),s.beforesend.call(o,c),c.send(null==n?null:n),o},o.abort=function(){return c.abort(),o},t.rebind(o,s,"on"),null==a?o:o.get(function(t){return 1===t.length?function(e,r){t(null==e?r:null)}:t}(a))}pe.forEach((function(t,e){pe.set(t,ie(e))})),t.functor=de,t.xhr=ge(L),t.dsv=function(t,e){var r=new RegExp('["'+t+"\n]"),n=t.charCodeAt(0);function i(t,r,n){arguments.length<3&&(n=r,r=null);var i=me(t,e,null==r?a:o(r),n);return i.row=function(t){return arguments.length?i.response(null==(r=t)?a:o(t)):r},i}function a(t){return i.parse(t.responseText)}function o(t){return function(e){return i.parse(e.responseText,t)}}function s(e){return e.map(l).join(t)}function l(t){return r.test(t)?'"'+t.replace(/\"/g,'""')+'"':t}return i.parse=function(t,e){var r;return i.parseRows(t,(function(t,n){if(r)return r(t,n-1);var i=new Function("d","return {"+t.map((function(t,e){return JSON.stringify(t)+": d["+e+"]"})).join(",")+"}");r=e?function(t,r){return e(i(t),r)}:i}))},i.parseRows=function(t,e){var r,i,a={},o={},s=[],l=t.length,c=0,u=0;function f(){if(c>=l)return o;if(i)return i=!1,a;var e=c;if(34===t.charCodeAt(e)){for(var r=e;r++<l;)if(34===t.charCodeAt(r)){if(34!==t.charCodeAt(r+1))break;++r}return c=r+2,13===(s=t.charCodeAt(r+1))?(i=!0,10===t.charCodeAt(r+2)&&++c):10===s&&(i=!0),t.slice(e+1,r).replace(/""/g,'"')}for(;c<l;){var s,u=1;if(10===(s=t.charCodeAt(c++)))i=!0;else if(13===s)i=!0,10===t.charCodeAt(c)&&(++c,++u);else if(s!==n)continue;return t.slice(e,c-u)}return t.slice(e)}for(;(r=f())!==o;){for(var h=[];r!==a&&r!==o;)h.push(r),r=f();e&&null==(h=e(h,u++))||s.push(h)}return s},i.format=function(e){if(Array.isArray(e[0]))return i.formatRows(e);var r=new C,n=[];return e.forEach((function(t){for(var e in t)r.has(e)||n.push(r.add(e))})),[n.map(l).join(t)].concat(e.map((function(e){return n.map((function(t){return l(e[t])})).join(t)}))).join("\n")},i.formatRows=function(t){return t.map(s).join("\n")},i},t.csv=t.dsv(",","text/csv"),t.tsv=t.dsv("\t","text/tab-separated-values");var ve,ye,xe,be,_e=this[P(this,"requestAnimationFrame")]||function(t){setTimeout(t,17)};function we(t,e,r){var n=arguments.length;n<2&&(e=0),n<3&&(r=Date.now());var i=r+e,a={c:t,t:i,n:null};return ye?ye.n=a:ve=a,ye=a,xe||(be=clearTimeout(be),xe=1,_e(Te)),a}function Te(){var t=ke(),e=Me()-t;e>24?(isFinite(e)&&(clearTimeout(be),be=setTimeout(Te,e)),xe=0):(xe=1,_e(Te))}function ke(){for(var t=Date.now(),e=ve;e;)t>=e.t&&e.c(t-e.t)&&(e.c=null),e=e.n;return t}function Me(){for(var t,e=ve,r=1/0;e;)e.c?(e.t<r&&(r=e.t),e=(t=e).n):e=t?t.n=e.n:ve=e.n;return ye=t,r}function Ae(t,e){return e-(t?Math.ceil(Math.log(t)/Math.LN10):1)}t.timer=function(){we.apply(this,arguments)},t.timer.flush=function(){ke(),Me()},t.round=function(t,e){return e?Math.round(t*(e=Math.pow(10,e)))/e:Math.round(t)};var Se=["y","z","a","f","p","n","\xb5","m","","k","M","G","T","P","E","Z","Y"].map((function(t,e){var r=Math.pow(10,3*y(8-e));return{scale:e>8?function(t){return t/r}:function(t){return t*r},symbol:t}}));function Ee(e){var r=e.decimal,n=e.thousands,i=e.grouping,a=e.currency,o=i&&n?function(t,e){for(var r=t.length,a=[],o=0,s=i[0],l=0;r>0&&s>0&&(l+s+1>e&&(s=Math.max(1,e-l)),a.push(t.substring(r-=s,r+s)),!((l+=s+1)>e));)s=i[o=(o+1)%i.length];return a.reverse().join(n)}:L;return function(e){var n=Ce.exec(e),i=n[1]||" ",s=n[2]||">",l=n[3]||"-",c=n[4]||"",u=n[5],f=+n[6],h=n[7],p=n[8],d=n[9],g=1,m="",v="",y=!1,x=!0;switch(p&&(p=+p.substring(1)),(u||"0"===i&&"="===s)&&(u=i="0",s="="),d){case"n":h=!0,d="g";break;case"%":g=100,v="%",d="f";break;case"p":g=100,v="%",d="r";break;case"b":case"o":case"x":case"X":"#"===c&&(m="0"+d.toLowerCase());case"c":x=!1;case"d":y=!0,p=0;break;case"s":g=-1,d="r"}"$"===c&&(m=a[0],v=a[1]),"r"!=d||p||(d="g"),null!=p&&("g"==d?p=Math.max(1,Math.min(21,p)):"e"!=d&&"f"!=d||(p=Math.max(0,Math.min(20,p)))),d=Le.get(d)||Ie;var b=u&&h;return function(e){var n=v;if(y&&e%1)return"";var a=e<0||0===e&&1/e<0?(e=-e,"-"):"-"===l?"":l;if(g<0){var c=t.formatPrefix(e,p);e=c.scale(e),n=c.symbol+v}else e*=g;var _,w,T=(e=d(e,p)).lastIndexOf(".");if(T<0){var k=x?e.lastIndexOf("e"):-1;k<0?(_=e,w=""):(_=e.substring(0,k),w=e.substring(k))}else _=e.substring(0,T),w=r+e.substring(T+1);!u&&h&&(_=o(_,1/0));var M=m.length+_.length+w.length+(b?0:a.length),A=M<f?new Array(M=f-M+1).join(i):"";return b&&(_=o(A+_,A.length?f-w.length:1/0)),a+=m,e=_+w,("<"===s?a+e+A:">"===s?A+a+e:"^"===s?A.substring(0,M>>=1)+a+e+A.substring(M):a+(b?e:A+e))+n}}}t.formatPrefix=function(e,r){var n=0;return(e=+e)&&(e<0&&(e*=-1),r&&(e=t.round(e,Ae(e,r))),n=1+Math.floor(1e-12+Math.log(e)/Math.LN10),n=Math.max(-24,Math.min(24,3*Math.floor((n-1)/3)))),Se[8+n/3]};var Ce=/(?:([^{])?([<>=^]))?([+\- ])?([$#])?(0)?(\d+)?(,)?(\.-?\d+)?([a-z%])?/i,Le=t.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(e,r){return(e=t.round(e,Ae(e,r))).toFixed(Math.max(0,Math.min(20,Ae(e*(1+1e-15),r))))}});function Ie(t){return t+""}var Pe=t.time={},ze=Date;function Oe(){this._=new Date(arguments.length>1?Date.UTC.apply(this,arguments):arguments[0])}Oe.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(){De.setUTCDate.apply(this._,arguments)},setDay:function(){De.setUTCDay.apply(this._,arguments)},setFullYear:function(){De.setUTCFullYear.apply(this._,arguments)},setHours:function(){De.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){De.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){De.setUTCMinutes.apply(this._,arguments)},setMonth:function(){De.setUTCMonth.apply(this._,arguments)},setSeconds:function(){De.setUTCSeconds.apply(this._,arguments)},setTime:function(){De.setTime.apply(this._,arguments)}};var De=Date.prototype;function Re(t,e,r){function n(e){var r=t(e),n=a(r,1);return e-r<n-e?r:n}function i(r){return e(r=t(new ze(r-1)),1),r}function a(t,r){return e(t=new ze(+t),r),t}function o(t,n,a){var o=i(t),s=[];if(a>1)for(;o<n;)r(o)%a||s.push(new Date(+o)),e(o,1);else for(;o<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=Fe(t);return s.floor=s,s.round=Fe(n),s.ceil=Fe(i),s.offset=Fe(a),s.range=function(t,e,r){try{ze=Oe;var n=new Oe;return n._=t,o(n,e,r)}finally{ze=Date}},t}function Fe(t){return function(e,r){try{ze=Oe;var n=new Oe;return n._=e,t(n,r)._}finally{ze=Date}}}function Be(e){var r=e.dateTime,n=e.date,i=e.time,a=e.periods,o=e.days,s=e.shortDays,l=e.months,c=e.shortMonths;function u(t){var e=t.length;function r(r){for(var n,i,a,o=[],s=-1,l=0;++s<e;)37===t.charCodeAt(s)&&(o.push(t.slice(l,s)),null!=(i=Ne[n=t.charAt(++s)])&&(n=t.charAt(++s)),(a=_[n])&&(n=a(r,null==i?"e"===n?" ":"0":i)),o.push(n),l=s+1);return o.push(t.slice(l,s)),o.join("")}return r.parse=function(e){var r={y:1900,m:0,d:1,H:0,M:0,S:0,L:0,Z:null};if(f(r,t,e,0)!=e.length)return null;"p"in r&&(r.H=r.H%12+12*r.p);var n=null!=r.Z&&ze!==Oe,i=new(n?Oe:ze);return"j"in r?i.setFullYear(r.y,0,r.j):"W"in r||"U"in r?("w"in r||(r.w="W"in r?1:0),i.setFullYear(r.y,0,1),i.setFullYear(r.y,0,"W"in r?(r.w+6)%7+7*r.W-(i.getDay()+5)%7:r.w+7*r.U-(i.getDay()+6)%7)):i.setFullYear(r.y,r.m,r.d),i.setHours(r.H+(r.Z/100|0),r.M+r.Z%100,r.S,r.L),n?i._:i},r.toString=function(){return t},r}function f(t,e,r,n){for(var i,a,o,s=0,l=e.length,c=r.length;s<l;){if(n>=c)return-1;if(37===(i=e.charCodeAt(s++))){if(o=e.charAt(s++),!(a=w[o in Ne?e.charAt(s++):o])||(n=a(t,r,n))<0)return-1}else if(i!=r.charCodeAt(n++))return-1}return n}u.utc=function(t){var e=u(t);function r(t){try{var r=new(ze=Oe);return r._=t,e(r)}finally{ze=Date}}return r.parse=function(t){try{ze=Oe;var r=e.parse(t);return r&&r._}finally{ze=Date}},r.toString=e.toString,r},u.multi=u.utc.multi=or;var h=t.map(),p=qe(o),d=He(o),g=qe(s),m=He(s),v=qe(l),y=He(l),x=qe(c),b=He(c);a.forEach((function(t,e){h.set(t.toLowerCase(),e)}));var _={a:function(t){return s[t.getDay()]},A:function(t){return o[t.getDay()]},b:function(t){return c[t.getMonth()]},B:function(t){return l[t.getMonth()]},c:u(r),d:function(t,e){return Ve(t.getDate(),e,2)},e:function(t,e){return Ve(t.getDate(),e,2)},H:function(t,e){return Ve(t.getHours(),e,2)},I:function(t,e){return Ve(t.getHours()%12||12,e,2)},j:function(t,e){return Ve(1+Pe.dayOfYear(t),e,3)},L:function(t,e){return Ve(t.getMilliseconds(),e,3)},m:function(t,e){return Ve(t.getMonth()+1,e,2)},M:function(t,e){return Ve(t.getMinutes(),e,2)},p:function(t){return a[+(t.getHours()>=12)]},S:function(t,e){return Ve(t.getSeconds(),e,2)},U:function(t,e){return Ve(Pe.sundayOfYear(t),e,2)},w:function(t){return t.getDay()},W:function(t,e){return Ve(Pe.mondayOfYear(t),e,2)},x:u(n),X:u(i),y:function(t,e){return Ve(t.getFullYear()%100,e,2)},Y:function(t,e){return Ve(t.getFullYear()%1e4,e,4)},Z:ir,"%":function(){return"%"}},w={a:function(t,e,r){g.lastIndex=0;var n=g.exec(e.slice(r));return n?(t.w=m.get(n[0].toLowerCase()),r+n[0].length):-1},A:function(t,e,r){p.lastIndex=0;var n=p.exec(e.slice(r));return n?(t.w=d.get(n[0].toLowerCase()),r+n[0].length):-1},b:function(t,e,r){x.lastIndex=0;var n=x.exec(e.slice(r));return n?(t.m=b.get(n[0].toLowerCase()),r+n[0].length):-1},B:function(t,e,r){v.lastIndex=0;var n=v.exec(e.slice(r));return n?(t.m=y.get(n[0].toLowerCase()),r+n[0].length):-1},c:function(t,e,r){return f(t,_.c.toString(),e,r)},d:Qe,e:Qe,H:tr,I:tr,j:$e,L:nr,m:Ke,M:er,p:function(t,e,r){var n=h.get(e.slice(r,r+=2).toLowerCase());return null==n?-1:(t.p=n,r)},S:rr,U:Ye,w:Ge,W:We,x:function(t,e,r){return f(t,_.x.toString(),e,r)},X:function(t,e,r){return f(t,_.X.toString(),e,r)},y:Ze,Y:Xe,Z:Je,"%":ar};return u}Pe.year=Re((function(t){return(t=Pe.day(t)).setMonth(0,1),t}),(function(t,e){t.setFullYear(t.getFullYear()+e)}),(function(t){return t.getFullYear()})),Pe.years=Pe.year.range,Pe.years.utc=Pe.year.utc.range,Pe.day=Re((function(t){var e=new ze(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})),Pe.days=Pe.day.range,Pe.days.utc=Pe.day.utc.range,Pe.dayOfYear=function(t){var e=Pe.year(t);return Math.floor((t-e-6e4*(t.getTimezoneOffset()-e.getTimezoneOffset()))/864e5)},["sunday","monday","tuesday","wednesday","thursday","friday","saturday"].forEach((function(t,e){e=7-e;var r=Pe[t]=Re((function(t){return(t=Pe.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=Pe.year(t).getDay();return Math.floor((Pe.dayOfYear(t)+(r+e)%7)/7)-(r!==e)}));Pe[t+"s"]=r.range,Pe[t+"s"].utc=r.utc.range,Pe[t+"OfYear"]=function(t){var r=Pe.year(t).getDay();return Math.floor((Pe.dayOfYear(t)+(r+e)%7)/7)}})),Pe.week=Pe.sunday,Pe.weeks=Pe.sunday.range,Pe.weeks.utc=Pe.sunday.utc.range,Pe.weekOfYear=Pe.sundayOfYear;var Ne={"-":"",_:" ",0:"0"},je=/^\s*\d+/,Ue=/^%/;function Ve(t,e,r){var n=t<0?"-":"",i=(n?-t:t)+"",a=i.length;return n+(a<r?new Array(r-a+1).join(e)+i:i)}function qe(e){return new RegExp("^(?:"+e.map(t.requote).join("|")+")","i")}function He(t){for(var e=new _,r=-1,n=t.length;++r<n;)e.set(t[r].toLowerCase(),r);return e}function Ge(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+1));return n?(t.w=+n[0],r+n[0].length):-1}function Ye(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r));return n?(t.U=+n[0],r+n[0].length):-1}function We(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r));return n?(t.W=+n[0],r+n[0].length):-1}function Xe(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+4));return n?(t.y=+n[0],r+n[0].length):-1}function Ze(t,e,r){je.lastIndex=0;var n,i=je.exec(e.slice(r,r+2));return i?(t.y=(n=+i[0])+(n>68?1900:2e3),r+i[0].length):-1}function Je(t,e,r){return/^[+-]\d{4}$/.test(e=e.slice(r,r+5))?(t.Z=-e,r+5):-1}function Ke(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+2));return n?(t.m=n[0]-1,r+n[0].length):-1}function Qe(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+2));return n?(t.d=+n[0],r+n[0].length):-1}function $e(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+3));return n?(t.j=+n[0],r+n[0].length):-1}function tr(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+2));return n?(t.H=+n[0],r+n[0].length):-1}function er(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+2));return n?(t.M=+n[0],r+n[0].length):-1}function rr(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+2));return n?(t.S=+n[0],r+n[0].length):-1}function nr(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+3));return n?(t.L=+n[0],r+n[0].length):-1}function ir(t){var e=t.getTimezoneOffset(),r=e>0?"-":"+",n=y(e)/60|0,i=y(e)%60;return r+Ve(n,"0",2)+Ve(i,"0",2)}function ar(t,e,r){Ue.lastIndex=0;var n=Ue.exec(e.slice(r,r+1));return n?r+n[0].length:-1}function or(t){for(var e=t.length,r=-1;++r<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)}}t.locale=function(t){return{numberFormat:Ee(t),timeFormat:Be(t)}};var sr=t.locale({decimal:".",thousands:",",grouping:[3],currency:["$",""],dateTime:"%a %b %e %X %Y",date:"%m/%d/%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function lr(){}t.format=sr.numberFormat,t.geo={},lr.prototype={s:0,t:0,add:function(t){ur(t,this.t,cr),ur(cr.s,this.s,this),this.s?this.t+=cr.t:this.s=cr.t},reset:function(){this.s=this.t=0},valueOf:function(){return this.s}};var cr=new lr;function ur(t,e,r){var n=r.s=t+e,i=n-t,a=n-i;r.t=t-a+(e-i)}function fr(t,e){t&&pr.hasOwnProperty(t.type)&&pr[t.type](t,e)}t.geo.stream=function(t,e){t&&hr.hasOwnProperty(t.type)?hr[t.type](t,e):fr(t,e)};var hr={Feature:function(t,e){fr(t.geometry,e)},FeatureCollection:function(t,e){for(var r=t.features,n=-1,i=r.length;++n<i;)fr(r[n].geometry,e)}},pr={Sphere:function(t,e){e.sphere()},Point:function(t,e){t=t.coordinates,e.point(t[0],t[1],t[2])},MultiPoint:function(t,e){for(var r=t.coordinates,n=-1,i=r.length;++n<i;)t=r[n],e.point(t[0],t[1],t[2])},LineString:function(t,e){dr(t.coordinates,e,0)},MultiLineString:function(t,e){for(var r=t.coordinates,n=-1,i=r.length;++n<i;)dr(r[n],e,0)},Polygon:function(t,e){gr(t.coordinates,e)},MultiPolygon:function(t,e){for(var r=t.coordinates,n=-1,i=r.length;++n<i;)gr(r[n],e)},GeometryCollection:function(t,e){for(var r=t.geometries,n=-1,i=r.length;++n<i;)fr(r[n],e)}};function dr(t,e,r){var n,i=-1,a=t.length-r;for(e.lineStart();++i<a;)n=t[i],e.point(n[0],n[1],n[2]);e.lineEnd()}function gr(t,e){var r=-1,n=t.length;for(e.polygonStart();++r<n;)dr(t[r],e,1);e.polygonEnd()}t.geo.area=function(e){return mr=0,t.geo.stream(e,Cr),mr};var mr,vr,yr,xr,br,_r,wr,Tr,kr,Mr,Ar,Sr,Er=new lr,Cr={sphere:function(){mr+=4*At},point:O,lineStart:O,lineEnd:O,polygonStart:function(){Er.reset(),Cr.lineStart=Lr},polygonEnd:function(){var t=2*Er;mr+=t<0?4*At+t:t,Cr.lineStart=Cr.lineEnd=Cr.point=O}};function Lr(){var t,e,r,n,i;function a(t,e){e=e*Lt/2+At/4;var a=(t*=Lt)-r,o=a>=0?1:-1,s=o*a,l=Math.cos(e),c=Math.sin(e),u=i*c,f=n*l+u*Math.cos(s),h=u*o*Math.sin(s);Er.add(Math.atan2(h,f)),r=t,n=l,i=c}Cr.point=function(o,s){Cr.point=a,r=(t=o)*Lt,n=Math.cos(s=(e=s)*Lt/2+At/4),i=Math.sin(s)},Cr.lineEnd=function(){a(t,e)}}function Ir(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 Pr(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function zr(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 Or(t,e){t[0]+=e[0],t[1]+=e[1],t[2]+=e[2]}function Dr(t,e){return[t[0]*e,t[1]*e,t[2]*e]}function Rr(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 Fr(t){return[Math.atan2(t[1],t[0]),Dt(t[2])]}function Br(t,e){return y(t[0]-e[0])<kt&&y(t[1]-e[1])<kt}t.geo.bounds=function(){var e,r,n,i,a,o,s,l,c,u,f,h={point:p,lineStart:g,lineEnd:m,polygonStart:function(){h.point=v,h.lineStart=x,h.lineEnd=b,c=0,Cr.polygonStart()},polygonEnd:function(){Cr.polygonEnd(),h.point=p,h.lineStart=g,h.lineEnd=m,Er<0?(e=-(n=180),r=-(i=90)):c>kt?i=90:c<-kt&&(r=-90),f[0]=e,f[1]=n}};function p(t,a){u.push(f=[e=t,n=t]),a<r&&(r=a),a>i&&(i=a)}function d(t,o){var s=Ir([t*Lt,o*Lt]);if(l){var c=zr(l,s),u=zr([c[1],-c[0],0],c);Rr(u),u=Fr(u);var f=t-a,h=f>0?1:-1,d=u[0]*It*h,g=y(f)>180;if(g^(h*a<d&&d<h*t))(m=u[1]*It)>i&&(i=m);else if(g^(h*a<(d=(d+360)%360-180)&&d<h*t)){var m;(m=-u[1]*It)<r&&(r=m)}else o<r&&(r=o),o>i&&(i=o);g?t<a?_(e,t)>_(e,n)&&(n=t):_(t,n)>_(e,n)&&(e=t):n>=e?(t<e&&(e=t),t>n&&(n=t)):t>a?_(e,t)>_(e,n)&&(n=t):_(t,n)>_(e,n)&&(e=t)}else p(t,o);l=s,a=t}function g(){h.point=d}function m(){f[0]=e,f[1]=n,h.point=p,l=null}function v(t,e){if(l){var r=t-a;c+=y(r)>180?r+(r>0?360:-360):r}else o=t,s=e;Cr.point(t,e),d(t,e)}function x(){Cr.lineStart()}function b(){v(o,s),Cr.lineEnd(),y(c)>kt&&(e=-(n=180)),f[0]=e,f[1]=n,l=null}function _(t,e){return(e-=t)<0?e+360:e}function w(t,e){return t[0]-e[0]}function T(t,e){return e[0]<=e[1]?e[0]<=t&&t<=e[1]:t<e[0]||e[1]<t}return function(a){if(i=n=-(e=r=1/0),u=[],t.geo.stream(a,h),c=u.length){u.sort(w);for(var o=1,s=[g=u[0]];o<c;++o)T((p=u[o])[0],g)||T(p[1],g)?(_(g[0],p[1])>_(g[0],g[1])&&(g[1]=p[1]),_(p[0],g[1])>_(g[0],g[1])&&(g[0]=p[0])):s.push(g=p);for(var l,c,p,d=-1/0,g=(o=0,s[c=s.length-1]);o<=c;g=p,++o)p=s[o],(l=_(g[1],p[0]))>d&&(d=l,e=p[0],n=g[1])}return u=f=null,e===1/0||r===1/0?[[NaN,NaN],[NaN,NaN]]:[[e,r],[n,i]]}}(),t.geo.centroid=function(e){vr=yr=xr=br=_r=wr=Tr=kr=Mr=Ar=Sr=0,t.geo.stream(e,Nr);var r=Mr,n=Ar,i=Sr,a=r*r+n*n+i*i;return a<Mt&&(r=wr,n=Tr,i=kr,yr<kt&&(r=xr,n=br,i=_r),(a=r*r+n*n+i*i)<Mt)?[NaN,NaN]:[Math.atan2(n,r)*It,Dt(i/Math.sqrt(a))*It]};var Nr={sphere:O,point:jr,lineStart:Vr,lineEnd:qr,polygonStart:function(){Nr.lineStart=Hr},polygonEnd:function(){Nr.lineStart=Vr}};function jr(t,e){t*=Lt;var r=Math.cos(e*=Lt);Ur(r*Math.cos(t),r*Math.sin(t),Math.sin(e))}function Ur(t,e,r){++vr,xr+=(t-xr)/vr,br+=(e-br)/vr,_r+=(r-_r)/vr}function Vr(){var t,e,r;function n(n,i){n*=Lt;var a=Math.cos(i*=Lt),o=a*Math.cos(n),s=a*Math.sin(n),l=Math.sin(i),c=Math.atan2(Math.sqrt((c=e*l-r*s)*c+(c=r*o-t*l)*c+(c=t*s-e*o)*c),t*o+e*s+r*l);yr+=c,wr+=c*(t+(t=o)),Tr+=c*(e+(e=s)),kr+=c*(r+(r=l)),Ur(t,e,r)}Nr.point=function(i,a){i*=Lt;var o=Math.cos(a*=Lt);t=o*Math.cos(i),e=o*Math.sin(i),r=Math.sin(a),Nr.point=n,Ur(t,e,r)}}function qr(){Nr.point=jr}function Hr(){var t,e,r,n,i;function a(t,e){t*=Lt;var a=Math.cos(e*=Lt),o=a*Math.cos(t),s=a*Math.sin(t),l=Math.sin(e),c=n*l-i*s,u=i*o-r*l,f=r*s-n*o,h=Math.sqrt(c*c+u*u+f*f),p=r*o+n*s+i*l,d=h&&-Ot(p)/h,g=Math.atan2(h,p);Mr+=d*c,Ar+=d*u,Sr+=d*f,yr+=g,wr+=g*(r+(r=o)),Tr+=g*(n+(n=s)),kr+=g*(i+(i=l)),Ur(r,n,i)}Nr.point=function(o,s){t=o,e=s,Nr.point=a,o*=Lt;var l=Math.cos(s*=Lt);r=l*Math.cos(o),n=l*Math.sin(o),i=Math.sin(s),Ur(r,n,i)},Nr.lineEnd=function(){a(t,e),Nr.lineEnd=qr,Nr.point=jr}}function Gr(t,e){function r(r,n){return r=t(r,n),e(r[0],r[1])}return t.invert&&e.invert&&(r.invert=function(r,n){return(r=e.invert(r,n))&&t.invert(r[0],r[1])}),r}function Yr(){return!0}function Wr(t,e,r,n,i){var a=[],o=[];if(t.forEach((function(t){if(!((e=t.length-1)<=0)){var e,r=t[0],n=t[e];if(Br(r,n)){i.lineStart();for(var s=0;s<e;++s)i.point((r=t[s])[0],r[1]);i.lineEnd()}else{var l=new Zr(r,t,null,!0),c=new Zr(r,null,l,!1);l.o=c,a.push(l),o.push(c),l=new Zr(n,t,null,!1),c=new Zr(n,null,l,!0),l.o=c,a.push(l),o.push(c)}}})),o.sort(e),Xr(a),Xr(o),a.length){for(var s=0,l=r,c=o.length;s<c;++s)o[s].e=l=!l;for(var u,f,h=a[0];;){for(var p=h,d=!0;p.v;)if((p=p.n)===h)return;u=p.z,i.lineStart();do{if(p.v=p.o.v=!0,p.e){if(d)for(s=0,c=u.length;s<c;++s)i.point((f=u[s])[0],f[1]);else n(p.x,p.n.x,1,i);p=p.n}else{if(d)for(s=(u=p.p.z).length-1;s>=0;--s)i.point((f=u[s])[0],f[1]);else n(p.x,p.p.x,-1,i);p=p.p}u=(p=p.o).z,d=!d}while(!p.v);i.lineEnd()}}}function Xr(t){if(e=t.length){for(var e,r,n=0,i=t[0];++n<e;)i.n=r=t[n],r.p=i,i=r;i.n=r=t[0],r.p=i}}function Zr(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 Jr(e,r,n,i){return function(a,o){var s,l=r(o),c=a.invert(i[0],i[1]),u={point:f,lineStart:p,lineEnd:d,polygonStart:function(){u.point=b,u.lineStart=_,u.lineEnd=w,s=[],g=[]},polygonEnd:function(){u.point=f,u.lineStart=p,u.lineEnd=d,s=t.merge(s);var e=function(t,e){var r=t[0],n=t[1],i=[Math.sin(r),-Math.cos(r),0],a=0,o=0;Er.reset();for(var s=0,l=e.length;s<l;++s){var c=e[s],u=c.length;if(u)for(var f=c[0],h=f[0],p=f[1]/2+At/4,d=Math.sin(p),g=Math.cos(p),m=1;;){m===u&&(m=0);var v=(t=c[m])[0],y=t[1]/2+At/4,x=Math.sin(y),b=Math.cos(y),_=v-h,w=_>=0?1:-1,T=w*_,k=T>At,M=d*x;if(Er.add(Math.atan2(M*w*Math.sin(T),g*b+M*Math.cos(T))),a+=k?_+w*St:_,k^h>=r^v>=r){var A=zr(Ir(f),Ir(t));Rr(A);var S=zr(i,A);Rr(S);var E=(k^_>=0?-1:1)*Dt(S[2]);(n>E||n===E&&(A[0]||A[1]))&&(o+=k^_>=0?1:-1)}if(!m++)break;h=v,d=x,g=b,f=t}}return(a<-kt||a<kt&&Er<-kt)^1&o}(c,g);s.length?(x||(o.polygonStart(),x=!0),Wr(s,$r,e,n,o)):e&&(x||(o.polygonStart(),x=!0),o.lineStart(),n(null,null,1,o),o.lineEnd()),x&&(o.polygonEnd(),x=!1),s=g=null},sphere:function(){o.polygonStart(),o.lineStart(),n(null,null,1,o),o.lineEnd(),o.polygonEnd()}};function f(t,r){var n=a(t,r);e(t=n[0],r=n[1])&&o.point(t,r)}function h(t,e){var r=a(t,e);l.point(r[0],r[1])}function p(){u.point=h,l.lineStart()}function d(){u.point=f,l.lineEnd()}var g,m,v=Qr(),y=r(v),x=!1;function b(t,e){m.push([t,e]);var r=a(t,e);y.point(r[0],r[1])}function _(){y.lineStart(),m=[]}function w(){b(m[0][0],m[0][1]),y.lineEnd();var t,e=y.clean(),r=v.buffer(),n=r.length;if(m.pop(),g.push(m),m=null,n)if(1&e){var i,a=-1;if((n=(t=r[0]).length-1)>0){for(x||(o.polygonStart(),x=!0),o.lineStart();++a<n;)o.point((i=t[a])[0],i[1]);o.lineEnd()}}else n>1&&2&e&&r.push(r.pop().concat(r.shift())),s.push(r.filter(Kr))}return u}}function Kr(t){return t.length>1}function Qr(){var t,e=[];return{lineStart:function(){e.push(t=[])},point:function(e,r){t.push([e,r])},lineEnd:O,buffer:function(){var r=e;return e=[],t=null,r},rejoin:function(){e.length>1&&e.push(e.pop().concat(e.shift()))}}}function $r(t,e){return((t=t.x)[0]<0?t[1]-Ct-kt:Ct-t[1])-((e=e.x)[0]<0?e[1]-Ct-kt:Ct-e[1])}var tn=Jr(Yr,(function(t){var e,r=NaN,n=NaN,i=NaN;return{lineStart:function(){t.lineStart(),e=1},point:function(a,o){var s=a>0?At:-At,l=y(a-r);y(l-At)<kt?(t.point(r,n=(n+o)/2>0?Ct:-Ct),t.point(i,n),t.lineEnd(),t.lineStart(),t.point(s,n),t.point(a,n),e=0):i!==s&&l>=At&&(y(r-i)<kt&&(r-=i*kt),y(a-s)<kt&&(a-=s*kt),n=function(t,e,r,n){var i,a,o=Math.sin(t-r);return y(o)>kt?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*Ct,n.point(-At,i),n.point(0,i),n.point(At,i),n.point(At,0),n.point(At,-i),n.point(0,-i),n.point(-At,-i),n.point(-At,0),n.point(-At,i);else if(y(t[0]-e[0])>kt){var a=t[0]<e[0]?At:-At;i=r*a/2,n.point(-a,i),n.point(0,i),n.point(a,i)}else n.point(e[0],e[1])}),[-At,-At/2]);function en(t){var e=Math.cos(t),r=e>0,n=y(e)>kt;return Jr(i,(function(t){var e,s,l,c,u;return{lineStart:function(){c=l=!1,u=1},point:function(f,h){var p,d=[f,h],g=i(f,h),m=r?g?0:o(f,h):g?o(f+(f<0?At:-At),h):0;if(!e&&(c=l=g)&&t.lineStart(),g!==l&&(p=a(e,d),(Br(e,p)||Br(d,p))&&(d[0]+=kt,d[1]+=kt,g=i(d[0],d[1]))),g!==l)u=0,g?(t.lineStart(),p=a(d,e),t.point(p[0],p[1])):(p=a(e,d),t.point(p[0],p[1]),t.lineEnd()),e=p;else if(n&&e&&r^g){var v;m&s||!(v=a(d,e,!0))||(u=0,r?(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])))}!g||e&&Br(e,d)||t.point(d[0],d[1]),e=d,l=g,s=m},lineEnd:function(){l&&t.lineEnd(),e=null},clean:function(){return u|(c&&l)<<1}}}),Bn(t,6*Lt),r?[0,-t]:[-At,t-At]);function i(t,r){return Math.cos(t)*Math.cos(r)>e}function a(t,r,n){var i=[1,0,0],a=zr(Ir(t),Ir(r)),o=Pr(a,a),s=a[0],l=o-s*s;if(!l)return!n&&t;var c=e*o/l,u=-e*s/l,f=zr(i,a),h=Dr(i,c);Or(h,Dr(a,u));var p=f,d=Pr(h,p),g=Pr(p,p),m=d*d-g*(Pr(h,h)-1);if(!(m<0)){var v=Math.sqrt(m),x=Dr(p,(-d-v)/g);if(Or(x,h),x=Fr(x),!n)return x;var b,_=t[0],w=r[0],T=t[1],k=r[1];w<_&&(b=_,_=w,w=b);var M=w-_,A=y(M-At)<kt;if(!A&&k<T&&(b=T,T=k,k=b),A||M<kt?A?T+k>0^x[1]<(y(x[0]-_)<kt?T:k):T<=x[1]&&x[1]<=k:M>At^(_<=x[0]&&x[0]<=w)){var S=Dr(p,(-d+v)/g);return Or(S,h),[x,Fr(S)]}}}function o(e,n){var i=r?t:At-t,a=0;return e<-i?a|=1:e>i&&(a|=2),n<-i?a|=4:n>i&&(a|=8),a}}function rn(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,p=s.y-c;if(a=t-l,h||!(a>0)){if(a/=h,h<0){if(a<u)return;a<f&&(f=a)}else if(h>0){if(a>f)return;a>u&&(u=a)}if(a=r-l,h||!(a<0)){if(a/=h,h<0){if(a>f)return;a>u&&(u=a)}else if(h>0){if(a<u)return;a<f&&(f=a)}if(a=e-c,p||!(a>0)){if(a/=p,p<0){if(a<u)return;a<f&&(f=a)}else if(p>0){if(a>f)return;a>u&&(u=a)}if(a=n-c,p||!(a<0)){if(a/=p,p<0){if(a>f)return;a>u&&(u=a)}else if(p>0){if(a<u)return;a<f&&(f=a)}return u>0&&(i.a={x:l+u*h,y:c+u*p}),f<1&&(i.b={x:l+f*h,y:c+f*p}),i}}}}}}function nn(e,r,n,i){return function(l){var c,u,f,h,p,d,g,m,v,y,x,b=l,_=Qr(),w=rn(e,r,n,i),T={point:A,lineStart:function(){T.point=S,u&&u.push(f=[]);y=!0,v=!1,g=m=NaN},lineEnd:function(){c&&(S(h,p),d&&v&&_.rejoin(),c.push(_.buffer()));T.point=A,v&&l.lineEnd()},polygonStart:function(){l=_,c=[],u=[],x=!0},polygonEnd:function(){l=b,c=t.merge(c);var r=function(t){for(var e=0,r=u.length,n=t[1],i=0;i<r;++i)for(var a,o=1,s=u[i],l=s.length,c=s[0];o<l;++o)a=s[o],c[1]<=n?a[1]>n&&zt(c,a,t)>0&&++e:a[1]<=n&&zt(c,a,t)<0&&--e,c=a;return 0!==e}([e,i]),n=x&&r,a=c.length;(n||a)&&(l.polygonStart(),n&&(l.lineStart(),k(null,null,1,l),l.lineEnd()),a&&Wr(c,o,r,k,l),l.polygonEnd()),c=u=f=null}};function k(t,o,l,c){var u=0,f=0;if(null==t||(u=a(t,l))!==(f=a(o,l))||s(t,o)<0^l>0)do{c.point(0===u||3===u?e:n,u>1?i:r)}while((u=(u+l+4)%4)!==f);else c.point(o[0],o[1])}function M(t,a){return e<=t&&t<=n&&r<=a&&a<=i}function A(t,e){M(t,e)&&l.point(t,e)}function S(t,e){var r=M(t=Math.max(-1e9,Math.min(1e9,t)),e=Math.max(-1e9,Math.min(1e9,e)));if(u&&f.push([t,e]),y)h=t,p=e,d=r,y=!1,r&&(l.lineStart(),l.point(t,e));else if(r&&v)l.point(t,e);else{var n={a:{x:g,y:m},b:{x:t,y:e}};w(n)?(v||(l.lineStart(),l.point(n.a.x,n.a.y)),l.point(n.b.x,n.b.y),r||l.lineEnd(),x=!1):r&&(l.lineStart(),l.point(t,e),x=!1)}g=t,m=e,v=r}return T};function a(t,i){return y(t[0]-e)<kt?i>0?0:3:y(t[0]-n)<kt?i>0?2:1:y(t[1]-r)<kt?i>0?1:0:i>0?3:2}function o(t,e){return s(t.x,e.x)}function s(t,e){var r=a(t,1),n=a(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]}}function an(t){var e=0,r=At/3,n=Ln(t),i=n(e,r);return i.parallels=function(t){return arguments.length?n(e=t[0]*At/180,r=t[1]*At/180):[e/At*180,r/At*180]},i}function on(t,e){var r=Math.sin(t),n=(r+Math.sin(e))/2,i=1+r*(2*n-r),a=Math.sqrt(i)/n;function o(t,e){var r=Math.sqrt(i-2*n*Math.sin(e))/n;return[r*Math.sin(t*=n),a-r*Math.cos(t)]}return o.invert=function(t,e){var r=a-e;return[Math.atan2(t,r)/n,Dt((i-(t*t+r*r)*n*n)/(2*n))]},o}t.geo.clipExtent=function(){var t,e,r,n,i,a,o={stream:function(t){return i&&(i.valid=!1),(i=a(t)).valid=!0,i},extent:function(s){return arguments.length?(a=nn(t=+s[0][0],e=+s[0][1],r=+s[1][0],n=+s[1][1]),i&&(i.valid=!1,i=null),o):[[t,e],[r,n]]}};return o.extent([[0,0],[960,500]])},(t.geo.conicEqualArea=function(){return an(on)}).raw=on,t.geo.albers=function(){return t.geo.conicEqualArea().rotate([96,0]).center([-.6,38.7]).parallels([29.5,45.5]).scale(1070)},t.geo.albersUsa=function(){var e,r,n,i,a=t.geo.albers(),o=t.geo.conicEqualArea().rotate([154,0]).center([-2,58.5]).parallels([55,65]),s=t.geo.conicEqualArea().rotate([157,0]).center([-3,19.9]).parallels([8,18]),l={point:function(t,r){e=[t,r]}};function c(t){var a=t[0],o=t[1];return e=null,r(a,o),e||(n(a,o),e)||i(a,o),e}return c.invert=function(t){var e=a.scale(),r=a.translate(),n=(t[0]-r[0])/e,i=(t[1]-r[1])/e;return(i>=.12&&i<.234&&n>=-.425&&n<-.214?o:i>=.166&&i<.234&&n>=-.214&&n<-.115?s:a).invert(t)},c.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()}}},c.precision=function(t){return arguments.length?(a.precision(t),o.precision(t),s.precision(t),c):a.precision()},c.scale=function(t){return arguments.length?(a.scale(t),o.scale(.35*t),s.scale(t),c.translate(a.translate())):a.scale()},c.translate=function(t){if(!arguments.length)return a.translate();var e=a.scale(),u=+t[0],f=+t[1];return r=a.translate(t).clipExtent([[u-.455*e,f-.238*e],[u+.455*e,f+.238*e]]).stream(l).point,n=o.translate([u-.307*e,f+.201*e]).clipExtent([[u-.425*e+kt,f+.12*e+kt],[u-.214*e-kt,f+.234*e-kt]]).stream(l).point,i=s.translate([u-.205*e,f+.212*e]).clipExtent([[u-.214*e+kt,f+.166*e+kt],[u-.115*e-kt,f+.234*e-kt]]).stream(l).point,c},c.scale(1070)};var sn,ln,cn,un,fn,hn,pn={point:O,lineStart:O,lineEnd:O,polygonStart:function(){ln=0,pn.lineStart=dn},polygonEnd:function(){pn.lineStart=pn.lineEnd=pn.point=O,sn+=y(ln/2)}};function dn(){var t,e,r,n;function i(t,e){ln+=n*t-r*e,r=t,n=e}pn.point=function(a,o){pn.point=i,t=r=a,e=n=o},pn.lineEnd=function(){i(t,e)}}var gn={point:function(t,e){t<cn&&(cn=t);t>fn&&(fn=t);e<un&&(un=e);e>hn&&(hn=e)},lineStart:O,lineEnd:O,polygonStart:O,polygonEnd:O};function mn(){var t=vn(4.5),e=[],r={point:n,lineStart:function(){r.point=i},lineEnd:o,polygonStart:function(){r.lineEnd=s},polygonEnd:function(){r.lineEnd=o,r.point=n},pointRadius:function(e){return t=vn(e),r},result:function(){if(e.length){var t=e.join("");return e=[],t}}};function n(r,n){e.push("M",r,",",n,t)}function i(t,n){e.push("M",t,",",n),r.point=a}function a(t,r){e.push("L",t,",",r)}function o(){r.point=n}function s(){e.push("Z")}return r}function vn(t){return"m0,"+t+"a"+t+","+t+" 0 1,1 0,"+-2*t+"a"+t+","+t+" 0 1,1 0,"+2*t+"z"}var yn,xn={point:bn,lineStart:_n,lineEnd:wn,polygonStart:function(){xn.lineStart=Tn},polygonEnd:function(){xn.point=bn,xn.lineStart=_n,xn.lineEnd=wn}};function bn(t,e){xr+=t,br+=e,++_r}function _n(){var t,e;function r(r,n){var i=r-t,a=n-e,o=Math.sqrt(i*i+a*a);wr+=o*(t+r)/2,Tr+=o*(e+n)/2,kr+=o,bn(t=r,e=n)}xn.point=function(n,i){xn.point=r,bn(t=n,e=i)}}function wn(){xn.point=bn}function Tn(){var t,e,r,n;function i(t,e){var i=t-r,a=e-n,o=Math.sqrt(i*i+a*a);wr+=o*(r+t)/2,Tr+=o*(n+e)/2,kr+=o,Mr+=(o=n*t-r*e)*(r+t),Ar+=o*(n+e),Sr+=3*o,bn(r=t,n=e)}xn.point=function(a,o){xn.point=i,bn(t=r=a,e=n=o)},xn.lineEnd=function(){i(t,e)}}function kn(t){var e=4.5,r={point:n,lineStart:function(){r.point=i},lineEnd:o,polygonStart:function(){r.lineEnd=s},polygonEnd:function(){r.lineEnd=o,r.point=n},pointRadius:function(t){return e=t,r},result:O};function n(r,n){t.moveTo(r+e,n),t.arc(r,n,e,0,St)}function i(e,n){t.moveTo(e,n),r.point=a}function a(e,r){t.lineTo(e,r)}function o(){r.point=n}function s(){t.closePath()}return r}function Mn(t){var e=.5,r=Math.cos(30*Lt),n=16;function i(t){return(n?o:a)(t)}function a(e){return En(e,(function(r,n){r=t(r,n),e.point(r[0],r[1])}))}function o(e){var r,i,a,o,l,c,u,f,h,p,d,g,m={point:v,lineStart:y,lineEnd:b,polygonStart:function(){e.polygonStart(),m.lineStart=_},polygonEnd:function(){e.polygonEnd(),m.lineStart=y}};function v(r,n){r=t(r,n),e.point(r[0],r[1])}function y(){f=NaN,m.point=x,e.lineStart()}function x(r,i){var a=Ir([r,i]),o=t(r,i);s(f,h,u,p,d,g,f=o[0],h=o[1],u=r,p=a[0],d=a[1],g=a[2],n,e),e.point(f,h)}function b(){m.point=v,e.lineEnd()}function _(){y(),m.point=w,m.lineEnd=T}function w(t,e){x(r=t,e),i=f,a=h,o=p,l=d,c=g,m.point=x}function T(){s(f,h,u,p,d,g,i,a,r,o,l,c,n,e),m.lineEnd=b,b()}return m}function s(n,i,a,o,l,c,u,f,h,p,d,g,m,v){var x=u-n,b=f-i,_=x*x+b*b;if(_>4*e&&m--){var w=o+p,T=l+d,k=c+g,M=Math.sqrt(w*w+T*T+k*k),A=Math.asin(k/=M),S=y(y(k)-1)<kt||y(a-h)<kt?(a+h)/2:Math.atan2(T,w),E=t(S,A),C=E[0],L=E[1],I=C-n,P=L-i,z=b*I-x*P;(z*z/_>e||y((x*I+b*P)/_-.5)>.3||o*p+l*d+c*g<r)&&(s(n,i,a,o,l,c,C,L,S,w/=M,T/=M,k,m,v),v.point(C,L),s(C,L,S,w,T,k,u,f,h,p,d,g,m,v))}}return i.precision=function(t){return arguments.length?(n=(e=t*t)>0&&16,i):Math.sqrt(e)},i}function An(t){var e=Mn((function(e,r){return t([e*It,r*It])}));return function(t){return In(e(t))}}function Sn(t){this.stream=t}function En(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 Cn(t){return Ln((function(){return t}))()}function Ln(e){var r,n,i,a,o,s,l=Mn((function(t,e){return[(t=r(t,e))[0]*c+a,o-t[1]*c]})),c=150,u=480,f=250,h=0,p=0,d=0,g=0,m=0,v=tn,y=L,x=null,b=null;function _(t){return[(t=i(t[0]*Lt,t[1]*Lt))[0]*c+a,o-t[1]*c]}function w(t){return(t=i.invert((t[0]-a)/c,(o-t[1])/c))&&[t[0]*It,t[1]*It]}function T(){i=Gr(n=On(d,g,m),r);var t=r(h,p);return a=u-t[0]*c,o=f+t[1]*c,k()}function k(){return s&&(s.valid=!1,s=null),_}return _.stream=function(t){return s&&(s.valid=!1),(s=In(v(n,l(y(t))))).valid=!0,s},_.clipAngle=function(t){return arguments.length?(v=null==t?(x=t,tn):en((x=+t)*Lt),k()):x},_.clipExtent=function(t){return arguments.length?(b=t,y=t?nn(t[0][0],t[0][1],t[1][0],t[1][1]):L,k()):b},_.scale=function(t){return arguments.length?(c=+t,T()):c},_.translate=function(t){return arguments.length?(u=+t[0],f=+t[1],T()):[u,f]},_.center=function(t){return arguments.length?(h=t[0]%360*Lt,p=t[1]%360*Lt,T()):[h*It,p*It]},_.rotate=function(t){return arguments.length?(d=t[0]%360*Lt,g=t[1]%360*Lt,m=t.length>2?t[2]%360*Lt:0,T()):[d*It,g*It,m*It]},t.rebind(_,l,"precision"),function(){return r=e.apply(this,arguments),_.invert=r.invert&&w,T()}}function In(t){return En(t,(function(e,r){t.point(e*Lt,r*Lt)}))}function Pn(t,e){return[t,e]}function zn(t,e){return[t>At?t-St:t<-At?t+St:t,e]}function On(t,e,r){return t?e||r?Gr(Rn(t),Fn(e,r)):Rn(t):e||r?Fn(e,r):zn}function Dn(t){return function(e,r){return[(e+=t)>At?e-St:e<-At?e+St:e,r]}}function Rn(t){var e=Dn(t);return e.invert=Dn(-t),e}function Fn(t,e){var r=Math.cos(t),n=Math.sin(t),i=Math.cos(e),a=Math.sin(e);function o(t,e){var o=Math.cos(e),s=Math.cos(t)*o,l=Math.sin(t)*o,c=Math.sin(e),u=c*r+s*n;return[Math.atan2(l*i-u*a,s*r-c*n),Dt(u*i+l*a)]}return o.invert=function(t,e){var o=Math.cos(e),s=Math.cos(t)*o,l=Math.sin(t)*o,c=Math.sin(e),u=c*i-l*a;return[Math.atan2(l*i+c*a,s*r+u*n),Dt(u*r-s*n)]},o}function Bn(t,e){var r=Math.cos(t),n=Math.sin(t);return function(i,a,o,s){var l=o*e;null!=i?(i=Nn(r,i),a=Nn(r,a),(o>0?i<a:i>a)&&(i+=o*St)):(i=t+o*St,a=t-.5*l);for(var c,u=i;o>0?u>a:u<a;u-=l)s.point((c=Fr([r,-n*Math.cos(u),-n*Math.sin(u)]))[0],c[1])}}function Nn(t,e){var r=Ir(e);r[0]-=t,Rr(r);var n=Ot(-r[1]);return((-r[2]<0?-n:n)+2*Math.PI-kt)%(2*Math.PI)}function jn(e,r,n){var i=t.range(e,r-kt,n).concat(r);return function(t){return i.map((function(e){return[t,e]}))}}function Un(e,r,n){var i=t.range(e,r-kt,n).concat(r);return function(t){return i.map((function(e){return[e,t]}))}}function Vn(t){return t.source}function qn(t){return t.target}t.geo.path=function(){var e,r,n,i,a,o=4.5;function s(e){return e&&("function"==typeof o&&i.pointRadius(+o.apply(this,arguments)),a&&a.valid||(a=n(i)),t.geo.stream(e,a)),i.result()}function l(){return a=null,s}return s.area=function(e){return sn=0,t.geo.stream(e,n(pn)),sn},s.centroid=function(e){return xr=br=_r=wr=Tr=kr=Mr=Ar=Sr=0,t.geo.stream(e,n(xn)),Sr?[Mr/Sr,Ar/Sr]:kr?[wr/kr,Tr/kr]:_r?[xr/_r,br/_r]:[NaN,NaN]},s.bounds=function(e){return fn=hn=-(cn=un=1/0),t.geo.stream(e,n(gn)),[[cn,un],[fn,hn]]},s.projection=function(t){return arguments.length?(n=(e=t)?t.stream||An(t):L,l()):e},s.context=function(t){return arguments.length?(i=null==(r=t)?new mn:new kn(t),"function"!=typeof o&&i.pointRadius(o),l()):r},s.pointRadius=function(t){return arguments.length?(o="function"==typeof t?t:(i.pointRadius(+t),+t),s):o},s.projection(t.geo.albersUsa()).context(null)},t.geo.transform=function(t){return{stream:function(e){var r=new Sn(e);for(var n in t)r[n]=t[n];return r}}},Sn.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()}},t.geo.projection=Cn,t.geo.projectionMutator=Ln,(t.geo.equirectangular=function(){return Cn(Pn)}).raw=Pn.invert=Pn,t.geo.rotation=function(t){function e(e){return(e=t(e[0]*Lt,e[1]*Lt))[0]*=It,e[1]*=It,e}return t=On(t[0]%360*Lt,t[1]*Lt,t.length>2?t[2]*Lt:0),e.invert=function(e){return(e=t.invert(e[0]*Lt,e[1]*Lt))[0]*=It,e[1]*=It,e},e},zn.invert=Pn,t.geo.circle=function(){var t,e,r=[0,0],n=6;function i(){var t="function"==typeof r?r.apply(this,arguments):r,n=On(-t[0]*Lt,-t[1]*Lt,0).invert,i=[];return e(null,null,1,{point:function(t,e){i.push(t=n(t,e)),t[0]*=It,t[1]*=It}}),{type:"Polygon",coordinates:[i]}}return i.origin=function(t){return arguments.length?(r=t,i):r},i.angle=function(r){return arguments.length?(e=Bn((t=+r)*Lt,n*Lt),i):t},i.precision=function(r){return arguments.length?(e=Bn(t*Lt,(n=+r)*Lt),i):n},i.angle(90)},t.geo.distance=function(t,e){var r,n=(e[0]-t[0])*Lt,i=t[1]*Lt,a=e[1]*Lt,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)},t.geo.graticule=function(){var e,r,n,i,a,o,s,l,c,u,f,h,p=10,d=p,g=90,m=360,v=2.5;function x(){return{type:"MultiLineString",coordinates:b()}}function b(){return t.range(Math.ceil(i/g)*g,n,g).map(f).concat(t.range(Math.ceil(l/m)*m,s,m).map(h)).concat(t.range(Math.ceil(r/p)*p,e,p).filter((function(t){return y(t%g)>kt})).map(c)).concat(t.range(Math.ceil(o/d)*d,a,d).filter((function(t){return y(t%m)>kt})).map(u))}return x.lines=function(){return b().map((function(t){return{type:"LineString",coordinates:t}}))},x.outline=function(){return{type:"Polygon",coordinates:[f(i).concat(h(s).slice(1),f(n).reverse().slice(1),h(l).reverse().slice(1))]}},x.extent=function(t){return arguments.length?x.majorExtent(t).minorExtent(t):x.minorExtent()},x.majorExtent=function(t){return arguments.length?(i=+t[0][0],n=+t[1][0],l=+t[0][1],s=+t[1][1],i>n&&(t=i,i=n,n=t),l>s&&(t=l,l=s,s=t),x.precision(v)):[[i,l],[n,s]]},x.minorExtent=function(t){return arguments.length?(r=+t[0][0],e=+t[1][0],o=+t[0][1],a=+t[1][1],r>e&&(t=r,r=e,e=t),o>a&&(t=o,o=a,a=t),x.precision(v)):[[r,o],[e,a]]},x.step=function(t){return arguments.length?x.majorStep(t).minorStep(t):x.minorStep()},x.majorStep=function(t){return arguments.length?(g=+t[0],m=+t[1],x):[g,m]},x.minorStep=function(t){return arguments.length?(p=+t[0],d=+t[1],x):[p,d]},x.precision=function(t){return arguments.length?(v=+t,c=jn(o,a,90),u=Un(r,e,v),f=jn(l,s,90),h=Un(i,n,v),x):v},x.majorExtent([[-180,-90+kt],[180,90-kt]]).minorExtent([[-180,-80-kt],[180,80+kt]])},t.geo.greatArc=function(){var e,r,n=Vn,i=qn;function a(){return{type:"LineString",coordinates:[e||n.apply(this,arguments),r||i.apply(this,arguments)]}}return a.distance=function(){return t.geo.distance(e||n.apply(this,arguments),r||i.apply(this,arguments))},a.source=function(t){return arguments.length?(n=t,e="function"==typeof t?null:t,a):n},a.target=function(t){return arguments.length?(i=t,r="function"==typeof t?null:t,a):i},a.precision=function(){return arguments.length?a:0},a},t.geo.interpolate=function(t,e){return r=t[0]*Lt,n=t[1]*Lt,i=e[0]*Lt,a=e[1]*Lt,o=Math.cos(n),s=Math.sin(n),l=Math.cos(a),c=Math.sin(a),u=o*Math.cos(r),f=o*Math.sin(r),h=l*Math.cos(i),p=l*Math.sin(i),d=2*Math.asin(Math.sqrt(Ft(a-n)+o*l*Ft(i-r))),g=1/Math.sin(d),(m=d?function(t){var e=Math.sin(t*=d)*g,r=Math.sin(d-t)*g,n=r*u+e*h,i=r*f+e*p,a=r*s+e*c;return[Math.atan2(i,n)*It,Math.atan2(a,Math.sqrt(n*n+i*i))*It]}:function(){return[r*It,n*It]}).distance=d,m;var r,n,i,a,o,s,l,c,u,f,h,p,d,g,m},t.geo.length=function(e){return yn=0,t.geo.stream(e,Hn),yn};var Hn={sphere:O,point:O,lineStart:function(){var t,e,r;function n(n,i){var a=Math.sin(i*=Lt),o=Math.cos(i),s=y((n*=Lt)-t),l=Math.cos(s);yn+=Math.atan2(Math.sqrt((s=o*Math.sin(s))*s+(s=r*a-e*o*l)*s),e*a+r*o*l),t=n,e=a,r=o}Hn.point=function(i,a){t=i*Lt,e=Math.sin(a*=Lt),r=Math.cos(a),Hn.point=n},Hn.lineEnd=function(){Hn.point=Hn.lineEnd=O}},lineEnd:O,polygonStart:O,polygonEnd:O};function Gn(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&&r*a/n)]},r}var Yn=Gn((function(t){return Math.sqrt(2/(1+t))}),(function(t){return 2*Math.asin(t/2)}));(t.geo.azimuthalEqualArea=function(){return Cn(Yn)}).raw=Yn;var Wn=Gn((function(t){var e=Math.acos(t);return e&&e/Math.sin(e)}),L);function Xn(t,e){var r=Math.cos(t),n=function(t){return Math.tan(At/4+t/2)},i=t===e?Math.sin(t):Math.log(r/Math.cos(e))/Math.log(n(e)/n(t)),a=r*Math.pow(n(t),i)/i;if(!i)return Kn;function o(t,e){a>0?e<-Ct+kt&&(e=-Ct+kt):e>Ct-kt&&(e=Ct-kt);var r=a/Math.pow(n(e),i);return[r*Math.sin(i*t),a-r*Math.cos(i*t)]}return o.invert=function(t,e){var r=a-e,n=Pt(i)*Math.sqrt(t*t+r*r);return[Math.atan2(t,r)/i,2*Math.atan(Math.pow(a/n,1/i))-Ct]},o}function Zn(t,e){var r=Math.cos(t),n=t===e?Math.sin(t):(r-Math.cos(e))/(e-t),i=r/n+t;if(y(n)<kt)return Pn;function a(t,e){var r=i-e;return[r*Math.sin(n*t),i-r*Math.cos(n*t)]}return a.invert=function(t,e){var r=i-e;return[Math.atan2(t,r)/n,i-Pt(n)*Math.sqrt(t*t+r*r)]},a}(t.geo.azimuthalEquidistant=function(){return Cn(Wn)}).raw=Wn,(t.geo.conicConformal=function(){return an(Xn)}).raw=Xn,(t.geo.conicEquidistant=function(){return an(Zn)}).raw=Zn;var Jn=Gn((function(t){return 1/t}),Math.atan);function Kn(t,e){return[t,Math.log(Math.tan(At/4+e/2))]}function Qn(t){var e,r=Cn(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=At*n(),l=i();a([[l[0]-s,l[1]-s],[l[0]+s,l[1]+s]])}}else e&&(o=null);return o},r.clipExtent(null)}(t.geo.gnomonic=function(){return Cn(Jn)}).raw=Jn,Kn.invert=function(t,e){return[t,2*Math.atan(Math.exp(e))-Ct]},(t.geo.mercator=function(){return Qn(Kn)}).raw=Kn;var $n=Gn((function(){return 1}),Math.asin);(t.geo.orthographic=function(){return Cn($n)}).raw=$n;var ti=Gn((function(t){return 1/(1+t)}),(function(t){return 2*Math.atan(t)}));function ei(t,e){return[Math.log(Math.tan(At/4+e/2)),-t]}function ri(t){return t[0]}function ni(t){return t[1]}function ii(t){for(var e=t.length,r=[0,1],n=2,i=2;i<e;i++){for(;n>1&&zt(t[r[n-2]],t[r[n-1]],t[i])<=0;)--n;r[n++]=i}return r.slice(0,n)}function ai(t,e){return t[0]-e[0]||t[1]-e[1]}(t.geo.stereographic=function(){return Cn(ti)}).raw=ti,ei.invert=function(t,e){return[-e,2*Math.atan(Math.exp(t))-Ct]},(t.geo.transverseMercator=function(){var t=Qn(ei),e=t.center,r=t.rotate;return t.center=function(t){return t?e([-t[1],t[0]]):[(t=e())[1],-t[0]]},t.rotate=function(t){return t?r([t[0],t[1],t.length>2?t[2]+90:90]):[(t=r())[0],t[1],t[2]-90]},r([0,0,90])}).raw=ei,t.geom={},t.geom.hull=function(t){var e=ri,r=ni;if(arguments.length)return n(t);function n(t){if(t.length<3)return[];var n,i=de(e),a=de(r),o=t.length,s=[],l=[];for(n=0;n<o;n++)s.push([+i.call(this,t[n],n),+a.call(this,t[n],n),n]);for(s.sort(ai),n=0;n<o;n++)l.push([s[n][0],-s[n][1]]);var c=ii(s),u=ii(l),f=u[0]===c[0],h=u[u.length-1]===c[c.length-1],p=[];for(n=c.length-1;n>=0;--n)p.push(t[s[c[n]][2]]);for(n=+f;n<u.length-h;++n)p.push(t[s[u[n]][2]]);return p}return n.x=function(t){return arguments.length?(e=t,n):e},n.y=function(t){return arguments.length?(r=t,n):r},n},t.geom.polygon=function(t){return U(t,oi),t};var oi=t.geom.polygon.prototype=[];function si(t,e,r){return(r[0]-e[0])*(t[1]-e[1])<(r[1]-e[1])*(t[0]-e[0])}function li(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 ci(t){var e=t[0],r=t[t.length-1];return!(e[0]-r[0]||e[1]-r[1])}oi.area=function(){for(var t,e=-1,r=this.length,n=this[r-1],i=0;++e<r;)t=n,n=this[e],i+=t[1]*n[0]-t[0]*n[1];return.5*i},oi.centroid=function(t){var e,r,n=-1,i=this.length,a=0,o=0,s=this[i-1];for(arguments.length||(t=-1/(6*this.area()));++n<i;)e=s,s=this[n],r=e[0]*s[1]-s[0]*e[1],a+=(e[0]+s[0])*r,o+=(e[1]+s[1])*r;return[a*t,o*t]},oi.clip=function(t){for(var e,r,n,i,a,o,s=ci(t),l=-1,c=this.length-ci(this),u=this[c-1];++l<c;){for(e=t.slice(),t.length=0,i=this[l],a=e[(n=e.length-s)-1],r=-1;++r<n;)si(o=e[r],u,i)?(si(a,u,i)||t.push(li(a,o,u,i)),t.push(o)):si(a,u,i)&&t.push(li(a,o,u,i)),a=o;s&&t.push(t[0]),u=i}return t};var ui,fi,hi,pi,di,gi=[],mi=[];function vi(){Ri(this),this.edge=this.site=this.circle=null}function yi(t){var e=gi.pop()||new vi;return e.site=t,e}function xi(t){Ei(t),hi.remove(t),gi.push(t),Ri(t)}function bi(t){var e=t.circle,r=e.x,n=e.cy,i={x:r,y:n},a=t.P,o=t.N,s=[t];xi(t);for(var l=a;l.circle&&y(r-l.circle.x)<kt&&y(n-l.circle.cy)<kt;)a=l.P,s.unshift(l),xi(l),l=a;s.unshift(l),Ei(l);for(var c=o;c.circle&&y(r-c.circle.x)<kt&&y(n-c.circle.cy)<kt;)o=c.N,s.push(c),xi(c),c=o;s.push(c),Ei(c);var u,f=s.length;for(u=1;u<f;++u)c=s[u],l=s[u-1],zi(c.edge,l.site,c.site,i);l=s[0],(c=s[f-1]).edge=Ii(l.site,c.site,null,i),Si(l),Si(c)}function _i(t){for(var e,r,n,i,a=t.x,o=t.y,s=hi._;s;)if((n=wi(s,o)-a)>kt)s=s.L;else{if(!((i=a-Ti(s,o))>kt)){n>-kt?(e=s.P,r=s):i>-kt?(e=s,r=s.N):e=r=s;break}if(!s.R){e=s;break}s=s.R}var l=yi(t);if(hi.insert(e,l),e||r){if(e===r)return Ei(e),r=yi(e.site),hi.insert(l,r),l.edge=r.edge=Ii(e.site,l.site),Si(e),void Si(r);if(r){Ei(e),Ei(r);var c=e.site,u=c.x,f=c.y,h=t.x-u,p=t.y-f,d=r.site,g=d.x-u,m=d.y-f,v=2*(h*m-p*g),y=h*h+p*p,x=g*g+m*m,b={x:(m*y-p*x)/v+u,y:(h*x-g*y)/v+f};zi(r.edge,c,d,b),l.edge=Ii(c,t,null,b),r.edge=Ii(t,d,null,b),Si(e),Si(r)}else l.edge=Ii(e.site,l.site)}}function wi(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 Ti(t,e){var r=t.N;if(r)return wi(r,e);var n=t.site;return n.y===e?n.x:1/0}function ki(t){this.site=t,this.edges=[]}function Mi(t,e){return e.angle-t.angle}function Ai(){Ri(this),this.x=this.y=this.arc=this.site=this.cy=null}function Si(t){var e=t.P,r=t.N;if(e&&r){var n=e.site,i=t.site,a=r.site;if(n!==a){var o=i.x,s=i.y,l=n.x-o,c=n.y-s,u=a.x-o,f=2*(l*(m=a.y-s)-c*u);if(!(f>=-Mt)){var h=l*l+c*c,p=u*u+m*m,d=(m*h-c*p)/f,g=(l*p-u*h)/f,m=g+s,v=mi.pop()||new Ai;v.arc=t,v.site=i,v.x=d+o,v.y=m+Math.sqrt(d*d+g*g),v.cy=m,t.circle=v;for(var y=null,x=di._;x;)if(v.y<x.y||v.y===x.y&&v.x<=x.x){if(!x.L){y=x.P;break}x=x.L}else{if(!x.R){y=x;break}x=x.R}di.insert(y,v),y||(pi=v)}}}}function Ei(t){var e=t.circle;e&&(e.P||(pi=e.N),di.remove(e),mi.push(e),Ri(e),t.circle=null)}function Ci(t,e){var r=t.b;if(r)return!0;var n,i,a=t.a,o=e[0][0],s=e[1][0],l=e[0][1],c=e[1][1],u=t.l,f=t.r,h=u.x,p=u.y,d=f.x,g=f.y,m=(h+d)/2,v=(p+g)/2;if(g===p){if(m<o||m>=s)return;if(h>d){if(a){if(a.y>=c)return}else a={x:m,y:l};r={x:m,y:c}}else{if(a){if(a.y<l)return}else a={x:m,y:c};r={x:m,y:l}}}else if(i=v-(n=(h-d)/(g-p))*m,n<-1||n>1)if(h>d){if(a){if(a.y>=c)return}else a={x:(l-i)/n,y:l};r={x:(c-i)/n,y:c}}else{if(a){if(a.y<l)return}else a={x:(c-i)/n,y:c};r={x:(l-i)/n,y:l}}else if(p<g){if(a){if(a.x>=s)return}else a={x:o,y:n*o+i};r={x:s,y:n*s+i}}else{if(a){if(a.x<o)return}else a={x:s,y:n*s+i};r={x:o,y:n*o+i}}return t.a=a,t.b=r,!0}function Li(t,e){this.l=t,this.r=e,this.a=this.b=null}function Ii(t,e,r,n){var i=new Li(t,e);return ui.push(i),r&&zi(i,t,e,r),n&&zi(i,e,t,n),fi[t.i].edges.push(new Oi(i,t,e)),fi[e.i].edges.push(new Oi(i,e,t)),i}function Pi(t,e,r){var n=new Li(t,null);return n.a=e,n.b=r,ui.push(n),n}function zi(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 Oi(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 Di(){this._=null}function Ri(t){t.U=t.C=t.L=t.R=t.P=t.N=null}function Fi(t,e){var r=e,n=e.R,i=r.U;i?i.L===r?i.L=n:i.R=n:t._=n,n.U=i,r.U=n,r.R=n.L,r.R&&(r.R.U=r),n.L=r}function Bi(t,e){var r=e,n=e.L,i=r.U;i?i.L===r?i.L=n:i.R=n:t._=n,n.U=i,r.U=n,r.L=n.R,r.L&&(r.L.U=r),n.R=r}function Ni(t){for(;t.L;)t=t.L;return t}function ji(t,e){var r,n,i,a=t.sort(Ui).pop();for(ui=[],fi=new Array(t.length),hi=new Di,di=new Di;;)if(i=pi,a&&(!i||a.y<i.y||a.y===i.y&&a.x<i.x))a.x===r&&a.y===n||(fi[a.i]=new ki(a),_i(a),r=a.x,n=a.y),a=t.pop();else{if(!i)break;bi(i.arc)}e&&(function(t){for(var e,r=ui,n=rn(t[0][0],t[0][1],t[1][0],t[1][1]),i=r.length;i--;)(!Ci(e=r[i],t)||!n(e)||y(e.a.x-e.b.x)<kt&&y(e.a.y-e.b.y)<kt)&&(e.a=e.b=null,r.splice(i,1))}(e),function(t){for(var e,r,n,i,a,o,s,l,c,u,f=t[0][0],h=t[1][0],p=t[0][1],d=t[1][1],g=fi,m=g.length;m--;)if((a=g[m])&&a.prepare())for(l=(s=a.edges).length,o=0;o<l;)n=(u=s[o].end()).x,i=u.y,e=(c=s[++o%l].start()).x,r=c.y,(y(n-e)>kt||y(i-r)>kt)&&(s.splice(o,0,new Oi(Pi(a.site,u,y(n-f)<kt&&d-i>kt?{x:f,y:y(e-f)<kt?r:d}:y(i-d)<kt&&h-n>kt?{x:y(r-d)<kt?e:h,y:d}:y(n-h)<kt&&i-p>kt?{x:h,y:y(e-h)<kt?r:p}:y(i-p)<kt&&n-f>kt?{x:y(r-p)<kt?e:f,y:p}:null),a.site,null)),++l)}(e));var o={cells:fi,edges:ui};return hi=di=ui=fi=null,o}function Ui(t,e){return e.y-t.y||e.x-t.x}ki.prototype.prepare=function(){for(var t,e=this.edges,r=e.length;r--;)(t=e[r].edge).b&&t.a||e.splice(r,1);return e.sort(Mi),e.length},Oi.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}},Di.prototype={insert:function(t,e){var r,n,i;if(t){if(e.P=t,e.N=t.N,t.N&&(t.N.P=e),t.N=e,t.R){for(t=t.R;t.L;)t=t.L;t.L=e}else t.R=e;r=t}else this._?(t=Ni(this._),e.P=null,e.N=t,t.P=t.L=e,r=t):(e.P=e.N=null,this._=e,r=null);for(e.L=e.R=null,e.U=r,e.C=!0,t=e;r&&r.C;)r===(n=r.U).L?(i=n.R)&&i.C?(r.C=i.C=!1,n.C=!0,t=n):(t===r.R&&(Fi(this,r),r=(t=r).U),r.C=!1,n.C=!0,Bi(this,n)):(i=n.L)&&i.C?(r.C=i.C=!1,n.C=!0,t=n):(t===r.L&&(Bi(this,r),r=(t=r).U),r.C=!1,n.C=!0,Fi(this,n)),r=t.U;this._.C=!1},remove:function(t){t.N&&(t.N.P=t.P),t.P&&(t.P.N=t.N),t.N=t.P=null;var e,r,n,i=t.U,a=t.L,o=t.R;if(r=a?o?Ni(o):a:o,i?i.L===t?i.L=r:i.R=r:this._=r,a&&o?(n=r.C,r.C=t.C,r.L=a,a.U=r,r!==o?(i=r.U,r.U=t.U,t=r.R,i.L=t,r.R=o,o.U=r):(r.U=i,i=r,t=r.R)):(n=t.C,t=r),t&&(t.U=i),!n)if(t&&t.C)t.C=!1;else{do{if(t===this._)break;if(t===i.L){if((e=i.R).C&&(e.C=!1,i.C=!0,Fi(this,i),e=i.R),e.L&&e.L.C||e.R&&e.R.C){e.R&&e.R.C||(e.L.C=!1,e.C=!0,Bi(this,e),e=i.R),e.C=i.C,i.C=e.R.C=!1,Fi(this,i),t=this._;break}}else if((e=i.L).C&&(e.C=!1,i.C=!0,Bi(this,i),e=i.L),e.L&&e.L.C||e.R&&e.R.C){e.L&&e.L.C||(e.R.C=!1,e.C=!0,Fi(this,e),e=i.L),e.C=i.C,i.C=e.L.C=!1,Bi(this,i),t=this._;break}e.C=!0,t=i,i=i.U}while(!t.C);t&&(t.C=!1)}}},t.geom.voronoi=function(t){var e=ri,r=ni,n=e,i=r,a=Vi;if(t)return o(t);function o(t){var e=new Array(t.length),r=a[0][0],n=a[0][1],i=a[1][0],o=a[1][1];return ji(s(t),a).cells.forEach((function(a,s){var l=a.edges,c=a.site;(e[s]=l.length?l.map((function(t){var e=t.start();return[e.x,e.y]})):c.x>=r&&c.x<=i&&c.y>=n&&c.y<=o?[[r,o],[i,o],[i,n],[r,n]]:[]).point=t[s]})),e}function s(t){return t.map((function(t,e){return{x:Math.round(n(t,e)/kt)*kt,y:Math.round(i(t,e)/kt)*kt,i:e}}))}return o.links=function(t){return ji(s(t)).edges.filter((function(t){return t.l&&t.r})).map((function(e){return{source:t[e.l.i],target:t[e.r.i]}}))},o.triangles=function(t){var e=[];return ji(s(t)).cells.forEach((function(r,n){for(var i,a,o,s,l=r.site,c=r.edges.sort(Mi),u=-1,f=c.length,h=c[f-1].edge,p=h.l===l?h.r:h.l;++u<f;)h,i=p,p=(h=c[u].edge).l===l?h.r:h.l,n<i.i&&n<p.i&&(o=i,s=p,((a=l).x-s.x)*(o.y-a.y)-(a.x-o.x)*(s.y-a.y)<0)&&e.push([t[n],t[i.i],t[p.i]])})),e},o.x=function(t){return arguments.length?(n=de(e=t),o):e},o.y=function(t){return arguments.length?(i=de(r=t),o):r},o.clipExtent=function(t){return arguments.length?(a=null==t?Vi:t,o):a===Vi?null:a},o.size=function(t){return arguments.length?o.clipExtent(t&&[[0,0],t]):a===Vi?null:a&&a[1]},o};var Vi=[[-1e6,-1e6],[1e6,1e6]];function qi(t){return t.x}function Hi(t){return t.y}function Gi(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]&&Gi(t,l[0],r,n,o,s),l[1]&&Gi(t,l[1],o,n,i,s),l[2]&&Gi(t,l[2],r,s,o,a),l[3]&&Gi(t,l[3],o,s,i,a)}}function Yi(t,e,r,n,i,a,o){var s,l=1/0;return function t(c,u,f,h,p){if(!(u>a||f>o||h<n||p<i)){if(d=c.point){var d,g=e-c.x,m=r-c.y,v=g*g+m*m;if(v<l){var y=Math.sqrt(l=v);n=e-y,i=r-y,a=e+y,o=r+y,s=d}}for(var x=c.nodes,b=.5*(u+h),_=.5*(f+p),w=(r>=_)<<1|e>=b,T=w+4;w<T;++w)if(c=x[3&w])switch(3&w){case 0:t(c,u,f,b,_);break;case 1:t(c,b,f,h,_);break;case 2:t(c,u,_,b,p);break;case 3:t(c,b,_,h,p)}}}(t,n,i,a,o),s}function Wi(e,r){e=t.rgb(e),r=t.rgb(r);var n=e.r,i=e.g,a=e.b,o=r.r-n,s=r.g-i,l=r.b-a;return function(t){return"#"+se(Math.round(n+o*t))+se(Math.round(i+s*t))+se(Math.round(a+l*t))}}function Xi(t,e){var r,n={},i={};for(r in t)r in e?n[r]=$i(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 Zi(t,e){return t=+t,e=+e,function(r){return t*(1-r)+e*r}}function Ji(t,e){var r,n,i,a=Ki.lastIndex=Qi.lastIndex=0,o=-1,s=[],l=[];for(t+="",e+="";(r=Ki.exec(t))&&(n=Qi.exec(e));)(i=n.index)>a&&(i=e.slice(a,i),s[o]?s[o]+=i:s[++o]=i),(r=r[0])===(n=n[0])?s[o]?s[o]+=n:s[++o]=n:(s[++o]=null,l.push({i:o,x:Zi(r,n)})),a=Qi.lastIndex;return a<e.length&&(i=e.slice(a),s[o]?s[o]+=i:s[++o]=i),s.length<2?l[0]?(e=l[0].x,function(t){return e(t)+""}):function(){return e}:(e=l.length,function(t){for(var r,n=0;n<e;++n)s[(r=l[n]).i]=r.x(t);return s.join("")})}t.geom.delaunay=function(e){return t.geom.voronoi().triangles(e)},t.geom.quadtree=function(t,e,r,n,i){var a,o=ri,s=ni;if(a=arguments.length)return o=qi,s=Hi,3===a&&(i=r,n=e,r=e=0),l(t);function l(t){var l,c,u,f,h,p,d,g,m,v=de(o),x=de(s);if(null!=e)p=e,d=r,g=n,m=i;else if(g=m=-(p=d=1/0),c=[],u=[],h=t.length,a)for(f=0;f<h;++f)(l=t[f]).x<p&&(p=l.x),l.y<d&&(d=l.y),l.x>g&&(g=l.x),l.y>m&&(m=l.y),c.push(l.x),u.push(l.y);else for(f=0;f<h;++f){var b=+v(l=t[f],f),_=+x(l,f);b<p&&(p=b),_<d&&(d=_),b>g&&(g=b),_>m&&(m=_),c.push(b),u.push(_)}var w=g-p,T=m-d;function k(t,e,r,n,i,a,o,s){if(!isNaN(r)&&!isNaN(n))if(t.leaf){var l=t.x,c=t.y;if(null!=l)if(y(l-r)+y(c-n)<.01)M(t,e,r,n,i,a,o,s);else{var u=t.point;t.x=t.y=t.point=null,M(t,u,l,c,i,a,o,s),M(t,e,r,n,i,a,o,s)}else t.x=r,t.y=n,t.point=e}else M(t,e,r,n,i,a,o,s)}function M(t,e,r,n,i,a,o,s){var l=.5*(i+o),c=.5*(a+s),u=r>=l,f=n>=c,h=f<<1|u;t.leaf=!1,u?i=l:o=l,f?a=c:s=c,k(t=t.nodes[h]||(t.nodes[h]={leaf:!0,nodes:[],point:null,x:null,y:null}),e,r,n,i,a,o,s)}w>T?m=d+w:g=p+T;var A={leaf:!0,nodes:[],point:null,x:null,y:null,add:function(t){k(A,t,+v(t,++f),+x(t,f),p,d,g,m)},visit:function(t){Gi(t,A,p,d,g,m)},find:function(t){return Yi(A,t[0],t[1],p,d,g,m)}};if(f=-1,null==e){for(;++f<h;)k(A,t[f],c[f],u[f],p,d,g,m);--f}else t.forEach(A.add);return c=u=t=l=null,A}return l.x=function(t){return arguments.length?(o=t,l):o},l.y=function(t){return arguments.length?(s=t,l):s},l.extent=function(t){return arguments.length?(null==t?e=r=n=i=null:(e=+t[0][0],r=+t[0][1],n=+t[1][0],i=+t[1][1]),l):null==e?null:[[e,r],[n,i]]},l.size=function(t){return arguments.length?(null==t?e=r=n=i=null:(e=r=0,n=+t[0],i=+t[1]),l):null==e?null:[n-e,i-r]},l},t.interpolateRgb=Wi,t.interpolateObject=Xi,t.interpolateNumber=Zi,t.interpolateString=Ji;var Ki=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Qi=new RegExp(Ki.source,"g");function $i(e,r){for(var n,i=t.interpolators.length;--i>=0&&!(n=t.interpolators[i](e,r)););return n}function ta(t,e){var r,n=[],i=[],a=t.length,o=e.length,s=Math.min(t.length,e.length);for(r=0;r<s;++r)n.push($i(t[r],e[r]));for(;r<a;++r)i[r]=t[r];for(;r<o;++r)i[r]=e[r];return function(t){for(r=0;r<s;++r)i[r]=n[r](t);return i}}t.interpolate=$i,t.interpolators=[function(t,e){var r=typeof e;return("string"===r?pe.has(e.toLowerCase())||/^(#|rgb\(|hsl\()/i.test(e)?Wi:Ji:e instanceof Vt?Wi:Array.isArray(e)?ta:"object"===r&&isNaN(e)?Xi:Zi)(t,e)}],t.interpolateArray=ta;var ea=function(){return L},ra=t.map({linear:ea,poly:function(t){return function(e){return Math.pow(e,t)}},quad:function(){return sa},cubic:function(){return la},sin:function(){return ua},exp:function(){return fa},circle:function(){return ha},elastic:function(t,e){var r;arguments.length<2&&(e=.45);arguments.length?r=e/St*Math.asin(1/t):(t=1,r=e/4);return function(n){return 1+t*Math.pow(2,-10*n)*Math.sin((n-r)*St/e)}},back:function(t){t||(t=1.70158);return function(e){return e*e*((t+1)*e-t)}},bounce:function(){return pa}}),na=t.map({in:L,out:aa,"in-out":oa,"out-in":function(t){return oa(aa(t))}});function ia(t){return function(e){return e<=0?0:e>=1?1:t(e)}}function aa(t){return function(e){return 1-t(1-e)}}function oa(t){return function(e){return.5*(e<.5?t(2*e):2-t(2-2*e))}}function sa(t){return t*t}function la(t){return t*t*t}function ca(t){if(t<=0)return 0;if(t>=1)return 1;var e=t*t,r=e*t;return 4*(t<.5?r:3*(t-e)+r-.75)}function ua(t){return 1-Math.cos(t*Ct)}function fa(t){return Math.pow(2,10*(t-1))}function ha(t){return 1-Math.sqrt(1-t*t)}function pa(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375}function da(t,e){return e-=t,function(r){return Math.round(t+e*r)}}function ga(t){var e,r,n,i=[t.a,t.b],a=[t.c,t.d],o=va(i),s=ma(i,a),l=va(((e=a)[0]+=(n=-s)*(r=i)[0],e[1]+=n*r[1],e))||0;i[0]*a[1]<a[0]*i[1]&&(i[0]*=-1,i[1]*=-1,o*=-1,s*=-1),this.rotate=(o?Math.atan2(i[1],i[0]):Math.atan2(-a[0],a[1]))*It,this.translate=[t.e,t.f],this.scale=[o,l],this.skew=l?Math.atan2(s,l)*It:0}function ma(t,e){return t[0]*e[0]+t[1]*e[1]}function va(t){var e=Math.sqrt(ma(t,t));return e&&(t[0]/=e,t[1]/=e),e}t.ease=function(t){var e=t.indexOf("-"),n=e>=0?t.slice(0,e):t,i=e>=0?t.slice(e+1):"in";return n=ra.get(n)||ea,ia((i=na.get(i)||L)(n.apply(null,r.call(arguments,1))))},t.interpolateHcl=function(e,r){e=t.hcl(e),r=t.hcl(r);var n=e.h,i=e.c,a=e.l,o=r.h-n,s=r.c-i,l=r.l-a;isNaN(s)&&(s=0,i=isNaN(i)?r.c:i);isNaN(o)?(o=0,n=isNaN(n)?r.h:n):o>180?o-=360:o<-180&&(o+=360);return function(t){return Xt(n+o*t,i+s*t,a+l*t)+""}},t.interpolateHsl=function(e,r){e=t.hsl(e),r=t.hsl(r);var n=e.h,i=e.s,a=e.l,o=r.h-n,s=r.s-i,l=r.l-a;isNaN(s)&&(s=0,i=isNaN(i)?r.s:i);isNaN(o)?(o=0,n=isNaN(n)?r.h:n):o>180?o-=360:o<-180&&(o+=360);return function(t){return Gt(n+o*t,i+s*t,a+l*t)+""}},t.interpolateLab=function(e,r){e=t.lab(e),r=t.lab(r);var n=e.l,i=e.a,a=e.b,o=r.l-n,s=r.a-i,l=r.b-a;return function(t){return Qt(n+o*t,i+s*t,a+l*t)+""}},t.interpolateRound=da,t.transform=function(e){var r=i.createElementNS(t.ns.prefix.svg,"g");return(t.transform=function(t){if(null!=t){r.setAttribute("transform",t);var e=r.transform.baseVal.consolidate()}return new ga(e?e.matrix:ya)})(e)},ga.prototype.toString=function(){return"translate("+this.translate+")rotate("+this.rotate+")skewX("+this.skew+")scale("+this.scale+")"};var ya={a:1,b:0,c:0,d:1,e:0,f:0};function xa(t){return t.length?t.pop()+",":""}function ba(e,r){var n=[],i=[];return e=t.transform(e),r=t.transform(r),function(t,e,r,n){if(t[0]!==e[0]||t[1]!==e[1]){var i=r.push("translate(",null,",",null,")");n.push({i:i-4,x:Zi(t[0],e[0])},{i:i-2,x:Zi(t[1],e[1])})}else(e[0]||e[1])&&r.push("translate("+e+")")}(e.translate,r.translate,n,i),function(t,e,r,n){t!==e?(t-e>180?e+=360:e-t>180&&(t+=360),n.push({i:r.push(xa(r)+"rotate(",null,")")-2,x:Zi(t,e)})):e&&r.push(xa(r)+"rotate("+e+")")}(e.rotate,r.rotate,n,i),function(t,e,r,n){t!==e?n.push({i:r.push(xa(r)+"skewX(",null,")")-2,x:Zi(t,e)}):e&&r.push(xa(r)+"skewX("+e+")")}(e.skew,r.skew,n,i),function(t,e,r,n){if(t[0]!==e[0]||t[1]!==e[1]){var i=r.push(xa(r)+"scale(",null,",",null,")");n.push({i:i-4,x:Zi(t[0],e[0])},{i:i-2,x:Zi(t[1],e[1])})}else 1===e[0]&&1===e[1]||r.push(xa(r)+"scale("+e+")")}(e.scale,r.scale,n,i),e=r=null,function(t){for(var e,r=-1,a=i.length;++r<a;)n[(e=i[r]).i]=e.x(t);return n.join("")}}function _a(t,e){return e=(e-=t=+t)||1/e,function(r){return(r-t)/e}}function wa(t,e){return e=(e-=t=+t)||1/e,function(r){return Math.max(0,Math.min(1,(r-t)/e))}}function Ta(t){for(var e=t.source,r=t.target,n=function(t,e){if(t===e)return t;var r=ka(t),n=ka(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 ka(t){for(var e=[],r=t.parent;null!=r;)e.push(t),t=r,r=r.parent;return e.push(t),e}function Ma(t){t.fixed|=2}function Aa(t){t.fixed&=-7}function Sa(t){t.fixed|=4,t.px=t.x,t.py=t.y}function Ea(t){t.fixed&=-5}t.interpolateTransform=ba,t.layout={},t.layout.bundle=function(){return function(t){for(var e=[],r=-1,n=t.length;++r<n;)e.push(Ta(t[r]));return e}},t.layout.chord=function(){var e,r,n,i,a,o,s,l={},c=0;function u(){var l,u,h,p,d,g={},m=[],v=t.range(i),y=[];for(e=[],r=[],l=0,p=-1;++p<i;){for(u=0,d=-1;++d<i;)u+=n[p][d];m.push(u),y.push(t.range(i)),l+=u}for(a&&v.sort((function(t,e){return a(m[t],m[e])})),o&&y.forEach((function(t,e){t.sort((function(t,r){return o(n[e][t],n[e][r])}))})),l=(St-c*i)/l,u=0,p=-1;++p<i;){for(h=u,d=-1;++d<i;){var x=v[p],b=y[x][d],_=n[x][b],w=u,T=u+=_*l;g[x+"-"+b]={index:x,subindex:b,startAngle:w,endAngle:T,value:_}}r[x]={index:x,startAngle:h,endAngle:u,value:m[x]},u+=c}for(p=-1;++p<i;)for(d=p-1;++d<i;){var k=g[p+"-"+d],M=g[d+"-"+p];(k.value||M.value)&&e.push(k.value<M.value?{source:M,target:k}:{source:k,target:M})}s&&f()}function f(){e.sort((function(t,e){return s((t.source.value+t.target.value)/2,(e.source.value+e.target.value)/2)}))}return l.matrix=function(t){return arguments.length?(i=(n=t)&&n.length,e=r=null,l):n},l.padding=function(t){return arguments.length?(c=t,e=r=null,l):c},l.sortGroups=function(t){return arguments.length?(a=t,e=r=null,l):a},l.sortSubgroups=function(t){return arguments.length?(o=t,e=null,l):o},l.sortChords=function(t){return arguments.length?(s=t,e&&f(),l):s},l.chords=function(){return e||u(),e},l.groups=function(){return r||u(),r},l},t.layout.force=function(){var e,r,n,i,a,o,s={},l=t.dispatch("start","tick","end"),c=[1,1],u=.9,f=Ca,h=La,p=-30,d=Ia,g=.1,m=.64,v=[],y=[];function x(t){return function(e,r,n,i){if(e.point!==t){var a=e.cx-t.x,o=e.cy-t.y,s=i-r,l=a*a+o*o;if(s*s/m<l){if(l<d){var c=e.charge/l;t.px-=a*c,t.py-=o*c}return!0}if(e.point&&l&&l<d){c=e.pointCharge/l;t.px-=a*c,t.py-=o*c}}return!e.charge}}function b(e){e.px=t.event.x,e.py=t.event.y,s.resume()}return s.tick=function(){if((n*=.99)<.005)return e=null,l.end({type:"end",alpha:n=0}),!0;var r,s,f,h,d,m,b,_,w,T=v.length,k=y.length;for(s=0;s<k;++s)h=(f=y[s]).source,(m=(_=(d=f.target).x-h.x)*_+(w=d.y-h.y)*w)&&(_*=m=n*a[s]*((m=Math.sqrt(m))-i[s])/m,w*=m,d.x-=_*(b=h.weight+d.weight?h.weight/(h.weight+d.weight):.5),d.y-=w*b,h.x+=_*(b=1-b),h.y+=w*b);if((b=n*g)&&(_=c[0]/2,w=c[1]/2,s=-1,b))for(;++s<T;)(f=v[s]).x+=(_-f.x)*b,f.y+=(w-f.y)*b;if(p)for(!function t(e,r,n){var i=0,a=0;if(e.charge=0,!e.leaf)for(var o,s=e.nodes,l=s.length,c=-1;++c<l;)null!=(o=s[c])&&(t(o,r,n),e.charge+=o.charge,i+=o.charge*o.cx,a+=o.charge*o.cy);if(e.point){e.leaf||(e.point.x+=Math.random()-.5,e.point.y+=Math.random()-.5);var u=r*n[e.point.index];e.charge+=e.pointCharge=u,i+=u*e.point.x,a+=u*e.point.y}e.cx=i/e.charge,e.cy=a/e.charge}(r=t.geom.quadtree(v),n,o),s=-1;++s<T;)(f=v[s]).fixed||r.visit(x(f));for(s=-1;++s<T;)(f=v[s]).fixed?(f.x=f.px,f.y=f.py):(f.x-=(f.px-(f.px=f.x))*u,f.y-=(f.py-(f.py=f.y))*u);l.tick({type:"tick",alpha:n})},s.nodes=function(t){return arguments.length?(v=t,s):v},s.links=function(t){return arguments.length?(y=t,s):y},s.size=function(t){return arguments.length?(c=t,s):c},s.linkDistance=function(t){return arguments.length?(f="function"==typeof t?t:+t,s):f},s.distance=s.linkDistance,s.linkStrength=function(t){return arguments.length?(h="function"==typeof t?t:+t,s):h},s.friction=function(t){return arguments.length?(u=+t,s):u},s.charge=function(t){return arguments.length?(p="function"==typeof t?t:+t,s):p},s.chargeDistance=function(t){return arguments.length?(d=t*t,s):Math.sqrt(d)},s.gravity=function(t){return arguments.length?(g=+t,s):g},s.theta=function(t){return arguments.length?(m=t*t,s):Math.sqrt(m)},s.alpha=function(t){return arguments.length?(t=+t,n?t>0?n=t:(e.c=null,e.t=NaN,e=null,l.end({type:"end",alpha:n=0})):t>0&&(l.start({type:"start",alpha:n=t}),e=we(s.tick)),s):n},s.start=function(){var t,e,r,n=v.length,l=y.length,u=c[0],d=c[1];for(t=0;t<n;++t)(r=v[t]).index=t,r.weight=0;for(t=0;t<l;++t)"number"==typeof(r=y[t]).source&&(r.source=v[r.source]),"number"==typeof r.target&&(r.target=v[r.target]),++r.source.weight,++r.target.weight;for(t=0;t<n;++t)r=v[t],isNaN(r.x)&&(r.x=g("x",u)),isNaN(r.y)&&(r.y=g("y",d)),isNaN(r.px)&&(r.px=r.x),isNaN(r.py)&&(r.py=r.y);if(i=[],"function"==typeof f)for(t=0;t<l;++t)i[t]=+f.call(this,y[t],t);else for(t=0;t<l;++t)i[t]=f;if(a=[],"function"==typeof h)for(t=0;t<l;++t)a[t]=+h.call(this,y[t],t);else for(t=0;t<l;++t)a[t]=h;if(o=[],"function"==typeof p)for(t=0;t<n;++t)o[t]=+p.call(this,v[t],t);else for(t=0;t<n;++t)o[t]=p;function g(r,i){if(!e){for(e=new Array(n),c=0;c<n;++c)e[c]=[];for(c=0;c<l;++c){var a=y[c];e[a.source.index].push(a.target),e[a.target.index].push(a.source)}}for(var o,s=e[t],c=-1,u=s.length;++c<u;)if(!isNaN(o=s[c][r]))return o;return Math.random()*i}return s.resume()},s.resume=function(){return s.alpha(.1)},s.stop=function(){return s.alpha(0)},s.drag=function(){if(r||(r=t.behavior.drag().origin(L).on("dragstart.force",Ma).on("drag.force",b).on("dragend.force",Aa)),!arguments.length)return r;this.on("mouseover.force",Sa).on("mouseout.force",Ea).call(r)},t.rebind(s,l,"on")};var Ca=20,La=1,Ia=1/0;function Pa(e,r){return t.rebind(e,r,"sort","children","value"),e.nodes=e,e.links=Ba,e}function za(t,e){for(var r=[t];null!=(t=r.pop());)if(e(t),(i=t.children)&&(n=i.length))for(var n,i;--n>=0;)r.push(i[n])}function Oa(t,e){for(var r=[t],n=[];null!=(t=r.pop());)if(n.push(t),(a=t.children)&&(i=a.length))for(var i,a,o=-1;++o<i;)r.push(a[o]);for(;null!=(t=n.pop());)e(t)}function Da(t){return t.children}function Ra(t){return t.value}function Fa(t,e){return e.value-t.value}function Ba(e){return t.merge(e.map((function(t){return(t.children||[]).map((function(e){return{source:t,target:e}}))})))}t.layout.hierarchy=function(){var t=Fa,e=Da,r=Ra;function n(i){var a,o=[i],s=[];for(i.depth=0;null!=(a=o.pop());)if(s.push(a),(c=e.call(n,a,a.depth))&&(l=c.length)){for(var l,c,u;--l>=0;)o.push(u=c[l]),u.parent=a,u.depth=a.depth+1;r&&(a.value=0),a.children=c}else r&&(a.value=+r.call(n,a,a.depth)||0),delete a.children;return Oa(i,(function(e){var n,i;t&&(n=e.children)&&n.sort(t),r&&(i=e.parent)&&(i.value+=e.value)})),s}return n.sort=function(e){return arguments.length?(t=e,n):t},n.children=function(t){return arguments.length?(e=t,n):e},n.value=function(t){return arguments.length?(r=t,n):r},n.revalue=function(t){return r&&(za(t,(function(t){t.children&&(t.value=0)})),Oa(t,(function(t){var e;t.children||(t.value=+r.call(n,t,t.depth)||0),(e=t.parent)&&(e.value+=t.value)}))),t},n},t.layout.partition=function(){var e=t.layout.hierarchy(),r=[1,1];function n(t,n){var i=e.call(this,t,n);return function t(e,r,n,i){var a=e.children;if(e.x=r,e.y=e.depth*i,e.dx=n,e.dy=i,a&&(o=a.length)){var o,s,l,c=-1;for(n=e.value?n/e.value:0;++c<o;)t(s=a[c],r,l=s.value*n,i),r+=l}}(i[0],0,r[0],r[1]/function t(e){var r=e.children,n=0;if(r&&(i=r.length))for(var i,a=-1;++a<i;)n=Math.max(n,t(r[a]));return 1+n}(i[0])),i}return n.size=function(t){return arguments.length?(r=t,n):r},Pa(n,e)},t.layout.pie=function(){var e=Number,r=Na,n=0,i=St,a=0;function o(s){var l,c=s.length,u=s.map((function(t,r){return+e.call(o,t,r)})),f=+("function"==typeof n?n.apply(this,arguments):n),h=("function"==typeof i?i.apply(this,arguments):i)-f,p=Math.min(Math.abs(h)/c,+("function"==typeof a?a.apply(this,arguments):a)),d=p*(h<0?-1:1),g=t.sum(u),m=g?(h-c*d)/g:0,v=t.range(c),y=[];return null!=r&&v.sort(r===Na?function(t,e){return u[e]-u[t]}:function(t,e){return r(s[t],s[e])}),v.forEach((function(t){y[t]={data:s[t],value:l=u[t],startAngle:f,endAngle:f+=l*m+d,padAngle:p}})),y}return o.value=function(t){return arguments.length?(e=t,o):e},o.sort=function(t){return arguments.length?(r=t,o):r},o.startAngle=function(t){return arguments.length?(n=t,o):n},o.endAngle=function(t){return arguments.length?(i=t,o):i},o.padAngle=function(t){return arguments.length?(a=t,o):a},o};var Na={};function ja(t){return t.x}function Ua(t){return t.y}function Va(t,e,r){t.y0=e,t.y=r}t.layout.stack=function(){var e=L,r=Ga,n=Ya,i=Va,a=ja,o=Ua;function s(l,c){if(!(p=l.length))return l;var u=l.map((function(t,r){return e.call(s,t,r)})),f=u.map((function(t){return t.map((function(t,e){return[a.call(s,t,e),o.call(s,t,e)]}))})),h=r.call(s,f,c);u=t.permute(u,h),f=t.permute(f,h);var p,d,g,m,v=n.call(s,f,c),y=u[0].length;for(g=0;g<y;++g)for(i.call(s,u[0][g],m=v[g],f[0][g][1]),d=1;d<p;++d)i.call(s,u[d][g],m+=f[d-1][g][1],f[d][g][1]);return l}return s.values=function(t){return arguments.length?(e=t,s):e},s.order=function(t){return arguments.length?(r="function"==typeof t?t:qa.get(t)||Ga,s):r},s.offset=function(t){return arguments.length?(n="function"==typeof t?t:Ha.get(t)||Ya,s):n},s.x=function(t){return arguments.length?(a=t,s):a},s.y=function(t){return arguments.length?(o=t,s):o},s.out=function(t){return arguments.length?(i=t,s):i},s};var qa=t.map({"inside-out":function(e){var r,n,i=e.length,a=e.map(Wa),o=e.map(Xa),s=t.range(i).sort((function(t,e){return a[t]-a[e]})),l=0,c=0,u=[],f=[];for(r=0;r<i;++r)n=s[r],l<c?(l+=o[n],u.push(n)):(c+=o[n],f.push(n));return f.reverse().concat(u)},reverse:function(e){return t.range(e.length).reverse()},default:Ga}),Ha=t.map({silhouette:function(t){var e,r,n,i=t.length,a=t[0].length,o=[],s=0,l=[];for(r=0;r<a;++r){for(e=0,n=0;e<i;e++)n+=t[e][r][1];n>s&&(s=n),o.push(n)}for(r=0;r<a;++r)l[r]=(s-o[r])/2;return l},wiggle:function(t){var e,r,n,i,a,o,s,l,c,u=t.length,f=t[0],h=f.length,p=[];for(p[0]=l=c=0,r=1;r<h;++r){for(e=0,i=0;e<u;++e)i+=t[e][r][1];for(e=0,a=0,s=f[r][0]-f[r-1][0];e<u;++e){for(n=0,o=(t[e][r][1]-t[e][r-1][1])/(2*s);n<e;++n)o+=(t[n][r][1]-t[n][r-1][1])/s;a+=o*t[e][r][1]}p[r]=l-=i?a/i*s:0,l<c&&(c=l)}for(r=0;r<h;++r)p[r]-=c;return p},expand:function(t){var e,r,n,i=t.length,a=t[0].length,o=1/i,s=[];for(r=0;r<a;++r){for(e=0,n=0;e<i;e++)n+=t[e][r][1];if(n)for(e=0;e<i;e++)t[e][r][1]/=n;else for(e=0;e<i;e++)t[e][r][1]=o}for(r=0;r<a;++r)s[r]=0;return s},zero:Ya});function Ga(e){return t.range(e.length)}function Ya(t){for(var e=-1,r=t[0].length,n=[];++e<r;)n[e]=0;return n}function Wa(t){for(var e,r=1,n=0,i=t[0][1],a=t.length;r<a;++r)(e=t[r][1])>i&&(n=r,i=e);return n}function Xa(t){return t.reduce(Za,0)}function Za(t,e){return t+e[1]}function Ja(t,e){return Ka(t,Math.ceil(Math.log(e.length)/Math.LN2+1))}function Ka(t,e){for(var r=-1,n=+t[0],i=(t[1]-n)/e,a=[];++r<=e;)a[r]=i*r+n;return a}function Qa(e){return[t.min(e),t.max(e)]}function $a(t,e){return t.value-e.value}function to(t,e){var r=t._pack_next;t._pack_next=e,e._pack_prev=t,e._pack_next=r,r._pack_prev=e}function eo(t,e){t._pack_next=e,e._pack_prev=t}function ro(t,e){var r=e.x-t.x,n=e.y-t.y,i=t.r+e.r;return.999*i*i>r*r+n*n}function no(t){if((e=t.children)&&(l=e.length)){var e,r,n,i,a,o,s,l,c=1/0,u=-1/0,f=1/0,h=-1/0;if(e.forEach(io),(r=e[0]).x=-r.r,r.y=0,x(r),l>1&&((n=e[1]).x=n.r,n.y=0,x(n),l>2))for(oo(r,n,i=e[2]),x(i),to(r,i),r._pack_prev=i,to(i,n),n=r._pack_next,a=3;a<l;a++){oo(r,n,i=e[a]);var p=0,d=1,g=1;for(o=n._pack_next;o!==n;o=o._pack_next,d++)if(ro(o,i)){p=1;break}if(1==p)for(s=r._pack_prev;s!==o._pack_prev&&!ro(s,i);s=s._pack_prev,g++);p?(d<g||d==g&&n.r<r.r?eo(r,n=o):eo(r=s,n),a--):(to(r,i),n=i,x(i))}var m=(c+u)/2,v=(f+h)/2,y=0;for(a=0;a<l;a++)(i=e[a]).x-=m,i.y-=v,y=Math.max(y,i.r+Math.sqrt(i.x*i.x+i.y*i.y));t.r=y,e.forEach(ao)}function x(t){c=Math.min(t.x-t.r,c),u=Math.max(t.x+t.r,u),f=Math.min(t.y-t.r,f),h=Math.max(t.y+t.r,h)}}function io(t){t._pack_next=t._pack_prev=t}function ao(t){delete t._pack_next,delete t._pack_prev}function oo(t,e,r){var n=t.r+r.r,i=e.x-t.x,a=e.y-t.y;if(n&&(i||a)){var o=e.r+r.r,s=i*i+a*a,l=.5+((n*=n)-(o*=o))/(2*s),c=Math.sqrt(Math.max(0,2*o*(n+s)-(n-=s)*n-o*o))/(2*s);r.x=t.x+l*i+c*a,r.y=t.y+l*a-c*i}else r.x=t.x+n,r.y=t.y}function so(t,e){return t.parent==e.parent?1:2}function lo(t){var e=t.children;return e.length?e[0]:t.t}function co(t){var e,r=t.children;return(e=r.length)?r[e-1]:t.t}function uo(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 fo(t,e,r){return t.a.parent===e.parent?t.a:r}function ho(t){return{x:t.x,y:t.y,dx:t.dx,dy:t.dy}}function po(t,e){var r=t.x+e[3],n=t.y+e[0],i=t.dx-e[1]-e[3],a=t.dy-e[0]-e[2];return i<0&&(r+=i/2,i=0),a<0&&(n+=a/2,a=0),{x:r,y:n,dx:i,dy:a}}function go(t){var e=t[0],r=t[t.length-1];return e<r?[e,r]:[r,e]}function mo(t){return t.rangeExtent?t.rangeExtent():go(t.range())}function vo(t,e,r,n){var i=r(t[0],t[1]),a=n(e[0],e[1]);return function(t){return a(i(t))}}function yo(t,e){var r,n=0,i=t.length-1,a=t[n],o=t[i];return o<a&&(r=n,n=i,i=r,r=a,a=o,o=r),t[n]=e.floor(a),t[i]=e.ceil(o),t}function xo(t){return t?{floor:function(e){return Math.floor(e/t)*t},ceil:function(e){return Math.ceil(e/t)*t}}:bo}t.layout.histogram=function(){var e=!0,r=Number,n=Qa,i=Ja;function a(a,o){for(var s,l,c=[],u=a.map(r,this),f=n.call(this,u,o),h=i.call(this,f,u,o),p=(o=-1,u.length),d=h.length-1,g=e?1:1/p;++o<d;)(s=c[o]=[]).dx=h[o+1]-(s.x=h[o]),s.y=0;if(d>0)for(o=-1;++o<p;)(l=u[o])>=f[0]&&l<=f[1]&&((s=c[t.bisect(h,l,1,d)-1]).y+=g,s.push(a[o]));return c}return a.value=function(t){return arguments.length?(r=t,a):r},a.range=function(t){return arguments.length?(n=de(t),a):n},a.bins=function(t){return arguments.length?(i="number"==typeof t?function(e){return Ka(e,t)}:de(t),a):i},a.frequency=function(t){return arguments.length?(e=!!t,a):e},a},t.layout.pack=function(){var e,r=t.layout.hierarchy().sort($a),n=0,i=[1,1];function a(t,a){var o=r.call(this,t,a),s=o[0],l=i[0],c=i[1],u=null==e?Math.sqrt:"function"==typeof e?e:function(){return e};if(s.x=s.y=0,Oa(s,(function(t){t.r=+u(t.value)})),Oa(s,no),n){var f=n*(e?1:Math.max(2*s.r/l,2*s.r/c))/2;Oa(s,(function(t){t.r+=f})),Oa(s,no),Oa(s,(function(t){t.r-=f}))}return function t(e,r,n,i){var a=e.children;if(e.x=r+=i*e.x,e.y=n+=i*e.y,e.r*=i,a)for(var o=-1,s=a.length;++o<s;)t(a[o],r,n,i)}(s,l/2,c/2,e?1:1/Math.max(2*s.r/l,2*s.r/c)),o}return a.size=function(t){return arguments.length?(i=t,a):i},a.radius=function(t){return arguments.length?(e=null==t||"function"==typeof t?t:+t,a):e},a.padding=function(t){return arguments.length?(n=+t,a):n},Pa(a,r)},t.layout.tree=function(){var e=t.layout.hierarchy().sort(null).value(null),r=so,n=[1,1],i=null;function a(t,a){var c=e.call(this,t,a),u=c[0],f=function(t){var e,r={A:null,children:[t]},n=[r];for(;null!=(e=n.pop());)for(var i,a=e.children,o=0,s=a.length;o<s;++o)n.push((a[o]=i={_:a[o],parent:e,children:(i=a[o].children)&&i.slice()||[],A:null,a:null,z:0,m:0,c:0,s:0,t:null,i:o}).a=i);return r.children[0]}(u);if(Oa(f,o),f.parent.m=-f.z,za(f,s),i)za(u,l);else{var h=u,p=u,d=u;za(u,(function(t){t.x<h.x&&(h=t),t.x>p.x&&(p=t),t.depth>d.depth&&(d=t)}));var g=r(h,p)/2-h.x,m=n[0]/(p.x+r(p,h)/2+g),v=n[1]/(d.depth||1);za(u,(function(t){t.x=(t.x+g)*m,t.y=t.depth*v}))}return c}function o(t){var e=t.children,n=t.parent.children,i=t.i?n[t.i-1]:null;if(e.length){!function(t){var e,r=0,n=0,i=t.children,a=i.length;for(;--a>=0;)(e=i[a]).z+=r,e.m+=r,r+=e.s+(n+=e.c)}(t);var a=(e[0].z+e[e.length-1].z)/2;i?(t.z=i.z+r(t._,i._),t.m=t.z-a):t.z=a}else i&&(t.z=i.z+r(t._,i._));t.parent.A=function(t,e,n){if(e){for(var i,a=t,o=t,s=e,l=a.parent.children[0],c=a.m,u=o.m,f=s.m,h=l.m;s=co(s),a=lo(a),s&&a;)l=lo(l),(o=co(o)).a=t,(i=s.z+f-a.z-c+r(s._,a._))>0&&(uo(fo(s,t,n),t,i),c+=i,u+=i),f+=s.m,c+=a.m,h+=l.m,u+=o.m;s&&!co(o)&&(o.t=s,o.m+=f-u),a&&!lo(l)&&(l.t=a,l.m+=c-h,n=t)}return n}(t,i,t.parent.A||n[0])}function s(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function l(t){t.x*=n[0],t.y=t.depth*n[1]}return a.separation=function(t){return arguments.length?(r=t,a):r},a.size=function(t){return arguments.length?(i=null==(n=t)?l:null,a):i?null:n},a.nodeSize=function(t){return arguments.length?(i=null==(n=t)?null:l,a):i?n:null},Pa(a,e)},t.layout.cluster=function(){var e=t.layout.hierarchy().sort(null).value(null),r=so,n=[1,1],i=!1;function a(a,o){var s,l=e.call(this,a,o),c=l[0],u=0;Oa(c,(function(e){var n=e.children;n&&n.length?(e.x=function(t){return t.reduce((function(t,e){return t+e.x}),0)/t.length}(n),e.y=function(e){return 1+t.max(e,(function(t){return t.y}))}(n)):(e.x=s?u+=r(e,s):0,e.y=0,s=e)}));var f=function t(e){var r=e.children;return r&&r.length?t(r[0]):e}(c),h=function t(e){var r,n=e.children;return n&&(r=n.length)?t(n[r-1]):e}(c),p=f.x-r(f,h)/2,d=h.x+r(h,f)/2;return Oa(c,i?function(t){t.x=(t.x-c.x)*n[0],t.y=(c.y-t.y)*n[1]}:function(t){t.x=(t.x-p)/(d-p)*n[0],t.y=(1-(c.y?t.y/c.y:1))*n[1]}),l}return a.separation=function(t){return arguments.length?(r=t,a):r},a.size=function(t){return arguments.length?(i=null==(n=t),a):i?null:n},a.nodeSize=function(t){return arguments.length?(i=null!=(n=t),a):i?n:null},Pa(a,e)},t.layout.treemap=function(){var e,r=t.layout.hierarchy(),n=Math.round,i=[1,1],a=null,o=ho,s=!1,l="squarify",c=.5*(1+Math.sqrt(5));function u(t,e){for(var r,n,i=-1,a=t.length;++i<a;)n=(r=t[i]).value*(e<0?0:e),r.area=isNaN(n)||n<=0?0:n}function f(t){var e=t.children;if(e&&e.length){var r,n,i,a=o(t),s=[],c=e.slice(),h=1/0,g="slice"===l?a.dx:"dice"===l?a.dy:"slice-dice"===l?1&t.depth?a.dy:a.dx:Math.min(a.dx,a.dy);for(u(c,a.dx*a.dy/t.value),s.area=0;(i=c.length)>0;)s.push(r=c[i-1]),s.area+=r.area,"squarify"!==l||(n=p(s,g))<=h?(c.pop(),h=n):(s.area-=s.pop().area,d(s,g,a,!1),g=Math.min(a.dx,a.dy),s.length=s.area=0,h=1/0);s.length&&(d(s,g,a,!0),s.length=s.area=0),e.forEach(f)}}function h(t){var e=t.children;if(e&&e.length){var r,n=o(t),i=e.slice(),a=[];for(u(i,n.dx*n.dy/t.value),a.area=0;r=i.pop();)a.push(r),a.area+=r.area,null!=r.z&&(d(a,r.z?n.dx:n.dy,n,!i.length),a.length=a.area=0);e.forEach(h)}}function p(t,e){for(var r,n=t.area,i=0,a=1/0,o=-1,s=t.length;++o<s;)(r=t[o].area)&&(r<a&&(a=r),r>i&&(i=r));return e*=e,(n*=n)?Math.max(e*i*c/n,n/(e*a*c)):1/0}function d(t,e,r,i){var a,o=-1,s=t.length,l=r.x,c=r.y,u=e?n(t.area/e):0;if(e==r.dx){for((i||u>r.dy)&&(u=r.dy);++o<s;)(a=t[o]).x=l,a.y=c,a.dy=u,l+=a.dx=Math.min(r.x+r.dx-l,u?n(a.area/u):0);a.z=!0,a.dx+=r.x+r.dx-l,r.y+=u,r.dy-=u}else{for((i||u>r.dx)&&(u=r.dx);++o<s;)(a=t[o]).x=l,a.y=c,a.dx=u,c+=a.dy=Math.min(r.y+r.dy-c,u?n(a.area/u):0);a.z=!1,a.dy+=r.y+r.dy-c,r.x+=u,r.dx-=u}}function g(t){var n=e||r(t),a=n[0];return a.x=a.y=0,a.value?(a.dx=i[0],a.dy=i[1]):a.dx=a.dy=0,e&&r.revalue(a),u([a],a.dx*a.dy/a.value),(e?h:f)(a),s&&(e=n),n}return g.size=function(t){return arguments.length?(i=t,g):i},g.padding=function(t){if(!arguments.length)return a;function e(e){var r=t.call(g,e,e.depth);return null==r?ho(e):po(e,"number"==typeof r?[r,r,r,r]:r)}function r(e){return po(e,t)}var n;return o=null==(a=t)?ho:"function"==(n=typeof t)?e:"number"===n?(t=[t,t,t,t],r):r,g},g.round=function(t){return arguments.length?(n=t?Math.round:Number,g):n!=Number},g.sticky=function(t){return arguments.length?(s=t,e=null,g):s},g.ratio=function(t){return arguments.length?(c=t,g):c},g.mode=function(t){return arguments.length?(l=t+"",g):l},Pa(g,r)},t.random={normal:function(t,e){var r=arguments.length;return r<2&&(e=1),r<1&&(t=0),function(){var r,n,i;do{i=(r=2*Math.random()-1)*r+(n=2*Math.random()-1)*n}while(!i||i>1);return t+e*r*Math.sqrt(-2*Math.log(i)/i)}},logNormal:function(){var e=t.random.normal.apply(t,arguments);return function(){return Math.exp(e())}},bates:function(e){var r=t.random.irwinHall(e);return function(){return r()/e}},irwinHall:function(t){return function(){for(var e=0,r=0;r<t;r++)e+=Math.random();return e}}},t.scale={};var bo={floor:L,ceil:L};function _o(e,r,n,i){var a=[],o=[],s=0,l=Math.min(e.length,r.length)-1;for(e[l]<e[0]&&(e=e.slice().reverse(),r=r.slice().reverse());++s<=l;)a.push(n(e[s-1],e[s])),o.push(i(r[s-1],r[s]));return function(r){var n=t.bisect(e,r,1,l)-1;return o[n](a[n](r))}}function wo(e,r){return t.rebind(e,r,"range","rangeRound","interpolate","clamp")}function To(t,e){return yo(t,xo(ko(t,e)[2])),yo(t,xo(ko(t,e)[2])),t}function ko(t,e){null==e&&(e=10);var r=go(t),n=r[1]-r[0],i=Math.pow(10,Math.floor(Math.log(n/e)/Math.LN10)),a=e/n*i;return a<=.15?i*=10:a<=.35?i*=5:a<=.75&&(i*=2),r[0]=Math.ceil(r[0]/i)*i,r[1]=Math.floor(r[1]/i)*i+.5*i,r[2]=i,r}function Mo(e,r){return t.range.apply(t,ko(e,r))}function Ao(e,r,n){var i=ko(e,r);if(n){var a=Ce.exec(n);if(a.shift(),"s"===a[8]){var o=t.formatPrefix(Math.max(y(i[0]),y(i[1])));return a[7]||(a[7]="."+Eo(o.scale(i[2]))),a[8]="f",n=t.format(a.join("")),function(t){return n(o.scale(t))+o.symbol}}a[7]||(a[7]="."+function(t,e){var r=Eo(e[2]);return t in So?Math.abs(r-Eo(Math.max(y(e[0]),y(e[1]))))+ +("e"!==t):r-2*("%"===t)}(a[8],i)),n=a.join("")}else n=",."+Eo(i[2])+"f";return t.format(n)}t.scale.linear=function(){return function t(e,r,n,i){var a,o;function s(){var t=Math.min(e.length,r.length)>2?_o:vo,s=i?wa:_a;return a=t(e,r,s,n),o=t(r,e,s,$i),l}function l(t){return a(t)}return l.invert=function(t){return o(t)},l.domain=function(t){return arguments.length?(e=t.map(Number),s()):e},l.range=function(t){return arguments.length?(r=t,s()):r},l.rangeRound=function(t){return l.range(t).interpolate(da)},l.clamp=function(t){return arguments.length?(i=t,s()):i},l.interpolate=function(t){return arguments.length?(n=t,s()):n},l.ticks=function(t){return Mo(e,t)},l.tickFormat=function(t,r){return Ao(e,t,r)},l.nice=function(t){return To(e,t),s()},l.copy=function(){return t(e,r,n,i)},s()}([0,1],[0,1],$i,!1)};var So={s:1,g:1,p:1,r:1,e:1};function Eo(t){return-Math.floor(Math.log(t)/Math.LN10+.01)}t.scale.log=function(){return function e(r,n,i,a){function o(t){return(i?Math.log(t<0?0:t):-Math.log(t>0?0:-t))/Math.log(n)}function s(t){return i?Math.pow(n,t):-Math.pow(n,-t)}function l(t){return r(o(t))}return l.invert=function(t){return s(r.invert(t))},l.domain=function(t){return arguments.length?(i=t[0]>=0,r.domain((a=t.map(Number)).map(o)),l):a},l.base=function(t){return arguments.length?(n=+t,r.domain(a.map(o)),l):n},l.nice=function(){var t=yo(a.map(o),i?Math:Lo);return r.domain(t),a=t.map(s),l},l.ticks=function(){var t=go(a),e=[],r=t[0],l=t[1],c=Math.floor(o(r)),u=Math.ceil(o(l)),f=n%1?2:n;if(isFinite(u-c)){if(i){for(;c<u;c++)for(var h=1;h<f;h++)e.push(s(c)*h);e.push(s(c))}else for(e.push(s(c));c++<u;)for(h=f-1;h>0;h--)e.push(s(c)*h);for(c=0;e[c]<r;c++);for(u=e.length;e[u-1]>l;u--);e=e.slice(c,u)}return e},l.tickFormat=function(e,r){if(!arguments.length)return Co;arguments.length<2?r=Co:"function"!=typeof r&&(r=t.format(r));var i=Math.max(1,n*e/l.ticks().length);return function(t){var e=t/s(Math.round(o(t)));return e*n<n-.5&&(e*=n),e<=i?r(t):""}},l.copy=function(){return e(r.copy(),n,i,a)},wo(l,r)}(t.scale.linear().domain([0,1]),10,!0,[1,10])};var Co=t.format(".0e"),Lo={floor:function(t){return-Math.ceil(-t)},ceil:function(t){return-Math.floor(-t)}};function Io(t){return function(e){return e<0?-Math.pow(-e,t):Math.pow(e,t)}}t.scale.pow=function(){return function t(e,r,n){var i=Io(r),a=Io(1/r);function o(t){return e(i(t))}return o.invert=function(t){return a(e.invert(t))},o.domain=function(t){return arguments.length?(e.domain((n=t.map(Number)).map(i)),o):n},o.ticks=function(t){return Mo(n,t)},o.tickFormat=function(t,e){return Ao(n,t,e)},o.nice=function(t){return o.domain(To(n,t))},o.exponent=function(t){return arguments.length?(i=Io(r=t),a=Io(1/r),e.domain(n.map(i)),o):r},o.copy=function(){return t(e.copy(),r,n)},wo(o,e)}(t.scale.linear(),1,[0,1])},t.scale.sqrt=function(){return t.scale.pow().exponent(.5)},t.scale.ordinal=function(){return function e(r,n){var i,a,o;function s(t){return a[((i.get(t)||("range"===n.t?i.set(t,r.push(t)):NaN))-1)%a.length]}function l(e,n){return t.range(r.length).map((function(t){return e+n*t}))}return s.domain=function(t){if(!arguments.length)return r;r=[],i=new _;for(var e,a=-1,o=t.length;++a<o;)i.has(e=t[a])||i.set(e,r.push(e));return s[n.t].apply(s,n.a)},s.range=function(t){return arguments.length?(a=t,o=0,n={t:"range",a:arguments},s):a},s.rangePoints=function(t,e){arguments.length<2&&(e=0);var i=t[0],c=t[1],u=r.length<2?(i=(i+c)/2,0):(c-i)/(r.length-1+e);return a=l(i+u*e/2,u),o=0,n={t:"rangePoints",a:arguments},s},s.rangeRoundPoints=function(t,e){arguments.length<2&&(e=0);var i=t[0],c=t[1],u=r.length<2?(i=c=Math.round((i+c)/2),0):(c-i)/(r.length-1+e)|0;return a=l(i+Math.round(u*e/2+(c-i-(r.length-1+e)*u)/2),u),o=0,n={t:"rangeRoundPoints",a:arguments},s},s.rangeBands=function(t,e,i){arguments.length<2&&(e=0),arguments.length<3&&(i=e);var c=t[1]<t[0],u=t[c-0],f=t[1-c],h=(f-u)/(r.length-e+2*i);return a=l(u+h*i,h),c&&a.reverse(),o=h*(1-e),n={t:"rangeBands",a:arguments},s},s.rangeRoundBands=function(t,e,i){arguments.length<2&&(e=0),arguments.length<3&&(i=e);var c=t[1]<t[0],u=t[c-0],f=t[1-c],h=Math.floor((f-u)/(r.length-e+2*i));return a=l(u+Math.round((f-u-(r.length-e)*h)/2),h),c&&a.reverse(),o=Math.round(h*(1-e)),n={t:"rangeRoundBands",a:arguments},s},s.rangeBand=function(){return o},s.rangeExtent=function(){return go(n.a[0])},s.copy=function(){return e(r,n)},s.domain(r)}([],{t:"range",a:[[]]})},t.scale.category10=function(){return t.scale.ordinal().range(Po)},t.scale.category20=function(){return t.scale.ordinal().range(zo)},t.scale.category20b=function(){return t.scale.ordinal().range(Oo)},t.scale.category20c=function(){return t.scale.ordinal().range(Do)};var Po=[2062260,16744206,2924588,14034728,9725885,9197131,14907330,8355711,12369186,1556175].map(ae),zo=[2062260,11454440,16744206,16759672,2924588,10018698,14034728,16750742,9725885,12955861,9197131,12885140,14907330,16234194,8355711,13092807,12369186,14408589,1556175,10410725].map(ae),Oo=[3750777,5395619,7040719,10264286,6519097,9216594,11915115,13556636,9202993,12426809,15186514,15190932,8666169,11356490,14049643,15177372,8077683,10834324,13528509,14589654].map(ae),Do=[3244733,7057110,10406625,13032431,15095053,16616764,16625259,16634018,3253076,7652470,10607003,13101504,7695281,10394312,12369372,14342891,6513507,9868950,12434877,14277081].map(ae);function Ro(){return 0}t.scale.quantile=function(){return function e(r,n){var i;function a(){var e=0,a=n.length;for(i=[];++e<a;)i[e-1]=t.quantile(r,e/a);return o}function o(e){if(!isNaN(e=+e))return n[t.bisect(i,e)]}return o.domain=function(t){return arguments.length?(r=t.map(p).filter(d).sort(h),a()):r},o.range=function(t){return arguments.length?(n=t,a()):n},o.quantiles=function(){return i},o.invertExtent=function(t){return(t=n.indexOf(t))<0?[NaN,NaN]:[t>0?i[t-1]:r[0],t<i.length?i[t]:r[r.length-1]]},o.copy=function(){return e(r,n)},a()}([],[])},t.scale.quantize=function(){return function t(e,r,n){var i,a;function o(t){return n[Math.max(0,Math.min(a,Math.floor(i*(t-e))))]}function s(){return i=n.length/(r-e),a=n.length-1,o}return o.domain=function(t){return arguments.length?(e=+t[0],r=+t[t.length-1],s()):[e,r]},o.range=function(t){return arguments.length?(n=t,s()):n},o.invertExtent=function(t){return[t=(t=n.indexOf(t))<0?NaN:t/i+e,t+1/i]},o.copy=function(){return t(e,r,n)},s()}(0,1,[0,1])},t.scale.threshold=function(){return function e(r,n){function i(e){if(e<=e)return n[t.bisect(r,e)]}return i.domain=function(t){return arguments.length?(r=t,i):r},i.range=function(t){return arguments.length?(n=t,i):n},i.invertExtent=function(t){return t=n.indexOf(t),[r[t-1],r[t]]},i.copy=function(){return e(r,n)},i}([.5],[0,1])},t.scale.identity=function(){return function t(e){function r(t){return+t}return r.invert=r,r.domain=r.range=function(t){return arguments.length?(e=t.map(r),r):e},r.ticks=function(t){return Mo(e,t)},r.tickFormat=function(t,r){return Ao(e,t,r)},r.copy=function(){return t(e)},r}([0,1])},t.svg={},t.svg.arc=function(){var t=Bo,e=No,r=Ro,n=Fo,i=jo,a=Uo,o=Vo;function s(){var s=Math.max(0,+t.apply(this,arguments)),c=Math.max(0,+e.apply(this,arguments)),u=i.apply(this,arguments)-Ct,f=a.apply(this,arguments)-Ct,h=Math.abs(f-u),p=u>f?0:1;if(c<s&&(d=c,c=s,s=d),h>=Et)return l(c,p)+(s?l(s,1-p):"")+"Z";var d,g,m,v,y,x,b,_,w,T,k,M,A=0,S=0,E=[];if((v=(+o.apply(this,arguments)||0)/2)&&(m=n===Fo?Math.sqrt(s*s+c*c):+n.apply(this,arguments),p||(S*=-1),c&&(S=Dt(m/c*Math.sin(v))),s&&(A=Dt(m/s*Math.sin(v)))),c){y=c*Math.cos(u+S),x=c*Math.sin(u+S),b=c*Math.cos(f-S),_=c*Math.sin(f-S);var C=Math.abs(f-u-2*S)<=At?0:1;if(S&&qo(y,x,b,_)===p^C){var L=(u+f)/2;y=c*Math.cos(L),x=c*Math.sin(L),b=_=null}}else y=x=0;if(s){w=s*Math.cos(f-A),T=s*Math.sin(f-A),k=s*Math.cos(u+A),M=s*Math.sin(u+A);var I=Math.abs(u-f+2*A)<=At?0:1;if(A&&qo(w,T,k,M)===1-p^I){var P=(u+f)/2;w=s*Math.cos(P),T=s*Math.sin(P),k=M=null}}else w=T=0;if(h>kt&&(d=Math.min(Math.abs(c-s)/2,+r.apply(this,arguments)))>.001){g=s<c^p?0:1;var z=d,O=d;if(h<At){var D=null==k?[w,T]:null==b?[y,x]:li([y,x],[k,M],[b,_],[w,T]),R=y-D[0],F=x-D[1],B=b-D[0],N=_-D[1],j=1/Math.sin(Math.acos((R*B+F*N)/(Math.sqrt(R*R+F*F)*Math.sqrt(B*B+N*N)))/2),U=Math.sqrt(D[0]*D[0]+D[1]*D[1]);O=Math.min(d,(s-U)/(j-1)),z=Math.min(d,(c-U)/(j+1))}if(null!=b){var V=Ho(null==k?[w,T]:[k,M],[y,x],c,z,p),q=Ho([b,_],[w,T],c,z,p);d===z?E.push("M",V[0],"A",z,",",z," 0 0,",g," ",V[1],"A",c,",",c," 0 ",1-p^qo(V[1][0],V[1][1],q[1][0],q[1][1]),",",p," ",q[1],"A",z,",",z," 0 0,",g," ",q[0]):E.push("M",V[0],"A",z,",",z," 0 1,",g," ",q[0])}else E.push("M",y,",",x);if(null!=k){var H=Ho([y,x],[k,M],s,-O,p),G=Ho([w,T],null==b?[y,x]:[b,_],s,-O,p);d===O?E.push("L",G[0],"A",O,",",O," 0 0,",g," ",G[1],"A",s,",",s," 0 ",p^qo(G[1][0],G[1][1],H[1][0],H[1][1]),",",1-p," ",H[1],"A",O,",",O," 0 0,",g," ",H[0]):E.push("L",G[0],"A",O,",",O," 0 0,",g," ",H[0])}else E.push("L",w,",",T)}else E.push("M",y,",",x),null!=b&&E.push("A",c,",",c," 0 ",C,",",p," ",b,",",_),E.push("L",w,",",T),null!=k&&E.push("A",s,",",s," 0 ",I,",",1-p," ",k,",",M);return E.push("Z"),E.join("")}function l(t,e){return"M0,"+t+"A"+t+","+t+" 0 1,"+e+" 0,"+-t+"A"+t+","+t+" 0 1,"+e+" 0,"+t}return s.innerRadius=function(e){return arguments.length?(t=de(e),s):t},s.outerRadius=function(t){return arguments.length?(e=de(t),s):e},s.cornerRadius=function(t){return arguments.length?(r=de(t),s):r},s.padRadius=function(t){return arguments.length?(n=t==Fo?Fo:de(t),s):n},s.startAngle=function(t){return arguments.length?(i=de(t),s):i},s.endAngle=function(t){return arguments.length?(a=de(t),s):a},s.padAngle=function(t){return arguments.length?(o=de(t),s):o},s.centroid=function(){var r=(+t.apply(this,arguments)+ +e.apply(this,arguments))/2,n=(+i.apply(this,arguments)+ +a.apply(this,arguments))/2-Ct;return[Math.cos(n)*r,Math.sin(n)*r]},s};var Fo="auto";function Bo(t){return t.innerRadius}function No(t){return t.outerRadius}function jo(t){return t.startAngle}function Uo(t){return t.endAngle}function Vo(t){return t&&t.padAngle}function qo(t,e,r,n){return(t-r)*e-(e-n)*t>0?0:1}function Ho(t,e,r,n,i){var a=t[0]-e[0],o=t[1]-e[1],s=(i?n:-n)/Math.sqrt(a*a+o*o),l=s*o,c=-s*a,u=t[0]+l,f=t[1]+c,h=e[0]+l,p=e[1]+c,d=(u+h)/2,g=(f+p)/2,m=h-u,v=p-f,y=m*m+v*v,x=r-n,b=u*p-h*f,_=(v<0?-1:1)*Math.sqrt(Math.max(0,x*x*y-b*b)),w=(b*v-m*_)/y,T=(-b*m-v*_)/y,k=(b*v+m*_)/y,M=(-b*m+v*_)/y,A=w-d,S=T-g,E=k-d,C=M-g;return A*A+S*S>E*E+C*C&&(w=k,T=M),[[w-l,T-c],[w*r/x,T*r/x]]}function Go(t){var e=ri,r=ni,n=Yr,i=Wo,a=i.key,o=.7;function s(a){var s,l=[],c=[],u=-1,f=a.length,h=de(e),p=de(r);function d(){l.push("M",i(t(c),o))}for(;++u<f;)n.call(this,s=a[u],u)?c.push([+h.call(this,s,u),+p.call(this,s,u)]):c.length&&(d(),c=[]);return c.length&&d(),l.length?l.join(""):null}return s.x=function(t){return arguments.length?(e=t,s):e},s.y=function(t){return arguments.length?(r=t,s):r},s.defined=function(t){return arguments.length?(n=t,s):n},s.interpolate=function(t){return arguments.length?(a="function"==typeof t?i=t:(i=Yo.get(t)||Wo).key,s):a},s.tension=function(t){return arguments.length?(o=t,s):o},s}t.svg.line=function(){return Go(L)};var Yo=t.map({linear:Wo,"linear-closed":Xo,step:function(t){var e=0,r=t.length,n=t[0],i=[n[0],",",n[1]];for(;++e<r;)i.push("H",(n[0]+(n=t[e])[0])/2,"V",n[1]);r>1&&i.push("H",n[0]);return i.join("")},"step-before":Zo,"step-after":Jo,basis:$o,"basis-open":function(t){if(t.length<4)return Wo(t);var e,r=[],n=-1,i=t.length,a=[0],o=[0];for(;++n<3;)e=t[n],a.push(e[0]),o.push(e[1]);r.push(ts(ns,a)+","+ts(ns,o)),--n;for(;++n<i;)e=t[n],a.shift(),a.push(e[0]),o.shift(),o.push(e[1]),is(r,a,o);return r.join("")},"basis-closed":function(t){var e,r,n=-1,i=t.length,a=i+4,o=[],s=[];for(;++n<4;)r=t[n%i],o.push(r[0]),s.push(r[1]);e=[ts(ns,o),",",ts(ns,s)],--n;for(;++n<a;)r=t[n%i],o.shift(),o.push(r[0]),s.shift(),s.push(r[1]),is(e,o,s);return e.join("")},bundle:function(t,e){var r=t.length-1;if(r)for(var n,i,a=t[0][0],o=t[0][1],s=t[r][0]-a,l=t[r][1]-o,c=-1;++c<=r;)n=t[c],i=c/r,n[0]=e*n[0]+(1-e)*(a+i*s),n[1]=e*n[1]+(1-e)*(o+i*l);return $o(t)},cardinal:function(t,e){return t.length<3?Wo(t):t[0]+Ko(t,Qo(t,e))},"cardinal-open":function(t,e){return t.length<4?Wo(t):t[1]+Ko(t.slice(1,-1),Qo(t,e))},"cardinal-closed":function(t,e){return t.length<3?Xo(t):t[0]+Ko((t.push(t[0]),t),Qo([t[t.length-2]].concat(t,[t[1]]),e))},monotone:function(t){return t.length<3?Wo(t):t[0]+Ko(t,function(t){var e,r,n,i,a=[],o=function(t){var e=0,r=t.length-1,n=[],i=t[0],a=t[1],o=n[0]=as(i,a);for(;++e<r;)n[e]=(o+(o=as(i=a,a=t[e+1])))/2;return n[e]=o,n}(t),s=-1,l=t.length-1;for(;++s<l;)e=as(t[s],t[s+1]),y(e)<kt?o[s]=o[s+1]=0:(r=o[s]/e,n=o[s+1]/e,(i=r*r+n*n)>9&&(i=3*e/Math.sqrt(i),o[s]=i*r,o[s+1]=i*n));s=-1;for(;++s<=l;)i=(t[Math.min(l,s+1)][0]-t[Math.max(0,s-1)][0])/(6*(1+o[s]*o[s])),a.push([i||0,o[s]*i||0]);return a}(t))}});function Wo(t){return t.length>1?t.join("L"):t+"Z"}function Xo(t){return t.join("L")+"Z"}function Zo(t){for(var e=0,r=t.length,n=t[0],i=[n[0],",",n[1]];++e<r;)i.push("V",(n=t[e])[1],"H",n[0]);return i.join("")}function Jo(t){for(var e=0,r=t.length,n=t[0],i=[n[0],",",n[1]];++e<r;)i.push("H",(n=t[e])[0],"V",n[1]);return i.join("")}function Ko(t,e){if(e.length<1||t.length!=e.length&&t.length!=e.length+2)return Wo(t);var r=t.length!=e.length,n="",i=t[0],a=t[1],o=e[0],s=o,l=1;if(r&&(n+="Q"+(a[0]-2*o[0]/3)+","+(a[1]-2*o[1]/3)+","+a[0]+","+a[1],i=t[1],l=2),e.length>1){s=e[1],a=t[l],l++,n+="C"+(i[0]+o[0])+","+(i[1]+o[1])+","+(a[0]-s[0])+","+(a[1]-s[1])+","+a[0]+","+a[1];for(var c=2;c<e.length;c++,l++)a=t[l],s=e[c],n+="S"+(a[0]-s[0])+","+(a[1]-s[1])+","+a[0]+","+a[1]}if(r){var u=t[l];n+="Q"+(a[0]+2*s[0]/3)+","+(a[1]+2*s[1]/3)+","+u[0]+","+u[1]}return n}function Qo(t,e){for(var r,n=[],i=(1-e)/2,a=t[0],o=t[1],s=1,l=t.length;++s<l;)r=a,a=o,o=t[s],n.push([i*(o[0]-r[0]),i*(o[1]-r[1])]);return n}function $o(t){if(t.length<3)return Wo(t);var e=1,r=t.length,n=t[0],i=n[0],a=n[1],o=[i,i,i,(n=t[1])[0]],s=[a,a,a,n[1]],l=[i,",",a,"L",ts(ns,o),",",ts(ns,s)];for(t.push(t[r-1]);++e<=r;)n=t[e],o.shift(),o.push(n[0]),s.shift(),s.push(n[1]),is(l,o,s);return t.pop(),l.push("L",n),l.join("")}function ts(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]}Yo.forEach((function(t,e){e.key=t,e.closed=/-closed$/.test(t)}));var es=[0,2/3,1/3,0],rs=[0,1/3,2/3,0],ns=[0,1/6,2/3,1/6];function is(t,e,r){t.push("C",ts(es,e),",",ts(es,r),",",ts(rs,e),",",ts(rs,r),",",ts(ns,e),",",ts(ns,r))}function as(t,e){return(e[1]-t[1])/(e[0]-t[0])}function os(t){for(var e,r,n,i=-1,a=t.length;++i<a;)r=(e=t[i])[0],n=e[1]-Ct,e[0]=r*Math.cos(n),e[1]=r*Math.sin(n);return t}function ss(t){var e=ri,r=ri,n=0,i=ni,a=Yr,o=Wo,s=o.key,l=o,c="L",u=.7;function f(s){var f,h,p,d=[],g=[],m=[],v=-1,y=s.length,x=de(e),b=de(n),_=e===r?function(){return h}:de(r),w=n===i?function(){return p}:de(i);function T(){d.push("M",o(t(m),u),c,l(t(g.reverse()),u),"Z")}for(;++v<y;)a.call(this,f=s[v],v)?(g.push([h=+x.call(this,f,v),p=+b.call(this,f,v)]),m.push([+_.call(this,f,v),+w.call(this,f,v)])):g.length&&(T(),g=[],m=[]);return g.length&&T(),d.length?d.join(""):null}return f.x=function(t){return arguments.length?(e=r=t,f):r},f.x0=function(t){return arguments.length?(e=t,f):e},f.x1=function(t){return arguments.length?(r=t,f):r},f.y=function(t){return arguments.length?(n=i=t,f):i},f.y0=function(t){return arguments.length?(n=t,f):n},f.y1=function(t){return arguments.length?(i=t,f):i},f.defined=function(t){return arguments.length?(a=t,f):a},f.interpolate=function(t){return arguments.length?(s="function"==typeof t?o=t:(o=Yo.get(t)||Wo).key,l=o.reverse||o,c=o.closed?"M":"L",f):s},f.tension=function(t){return arguments.length?(u=t,f):u},f}function ls(t){return t.radius}function cs(t){return[t.x,t.y]}function us(t){return function(){var e=t.apply(this,arguments),r=e[0],n=e[1]-Ct;return[r*Math.cos(n),r*Math.sin(n)]}}function fs(){return 64}function hs(){return"circle"}function ps(t){var e=Math.sqrt(t/At);return"M0,"+e+"A"+e+","+e+" 0 1,1 0,"+-e+"A"+e+","+e+" 0 1,1 0,"+e+"Z"}t.svg.line.radial=function(){var t=Go(os);return t.radius=t.x,delete t.x,t.angle=t.y,delete t.y,t},Zo.reverse=Jo,Jo.reverse=Zo,t.svg.area=function(){return ss(L)},t.svg.area.radial=function(){var t=ss(os);return t.radius=t.x,delete t.x,t.innerRadius=t.x0,delete t.x0,t.outerRadius=t.x1,delete t.x1,t.angle=t.y,delete t.y,t.startAngle=t.y0,delete t.y0,t.endAngle=t.y1,delete t.y1,t},t.svg.chord=function(){var t=Vn,e=qn,r=ls,n=jo,i=Uo;function a(r,n){var i,a,c=o(this,t,r,n),u=o(this,e,r,n);return"M"+c.p0+s(c.r,c.p1,c.a1-c.a0)+(a=u,((i=c).a0==a.a0&&i.a1==a.a1?l(c.r,c.p1,c.r,c.p0):l(c.r,c.p1,u.r,u.p0)+s(u.r,u.p1,u.a1-u.a0)+l(u.r,u.p1,c.r,c.p0))+"Z")}function o(t,e,a,o){var s=e.call(t,a,o),l=r.call(t,s,o),c=n.call(t,s,o)-Ct,u=i.call(t,s,o)-Ct;return{r:l,a0:c,a1:u,p0:[l*Math.cos(c),l*Math.sin(c)],p1:[l*Math.cos(u),l*Math.sin(u)]}}function s(t,e,r){return"A"+t+","+t+" 0 "+ +(r>At)+",1 "+e}function l(t,e,r,n){return"Q 0,0 "+n}return a.radius=function(t){return arguments.length?(r=de(t),a):r},a.source=function(e){return arguments.length?(t=de(e),a):t},a.target=function(t){return arguments.length?(e=de(t),a):e},a.startAngle=function(t){return arguments.length?(n=de(t),a):n},a.endAngle=function(t){return arguments.length?(i=de(t),a):i},a},t.svg.diagonal=function(){var t=Vn,e=qn,r=cs;function n(n,i){var a=t.call(this,n,i),o=e.call(this,n,i),s=(a.y+o.y)/2,l=[a,{x:a.x,y:s},{x:o.x,y:s},o];return"M"+(l=l.map(r))[0]+"C"+l[1]+" "+l[2]+" "+l[3]}return n.source=function(e){return arguments.length?(t=de(e),n):t},n.target=function(t){return arguments.length?(e=de(t),n):e},n.projection=function(t){return arguments.length?(r=t,n):r},n},t.svg.diagonal.radial=function(){var e=t.svg.diagonal(),r=cs,n=e.projection;return e.projection=function(t){return arguments.length?n(us(r=t)):r},e},t.svg.symbol=function(){var t=hs,e=fs;function r(r,n){return(ds.get(t.call(this,r,n))||ps)(e.call(this,r,n))}return r.type=function(e){return arguments.length?(t=de(e),r):t},r.size=function(t){return arguments.length?(e=de(t),r):e},r};var ds=t.map({circle:ps,cross:function(t){var e=Math.sqrt(t/5)/2;return"M"+-3*e+","+-e+"H"+-e+"V"+-3*e+"H"+e+"V"+-e+"H"+3*e+"V"+e+"H"+e+"V"+3*e+"H"+-e+"V"+e+"H"+-3*e+"Z"},diamond:function(t){var e=Math.sqrt(t/(2*ms)),r=e*ms;return"M0,"+-e+"L"+r+",0 0,"+e+" "+-r+",0Z"},square:function(t){var e=Math.sqrt(t)/2;return"M"+-e+","+-e+"L"+e+","+-e+" "+e+","+e+" "+-e+","+e+"Z"},"triangle-down":function(t){var e=Math.sqrt(t/gs),r=e*gs/2;return"M0,"+r+"L"+e+","+-r+" "+-e+","+-r+"Z"},"triangle-up":function(t){var e=Math.sqrt(t/gs),r=e*gs/2;return"M0,"+-r+"L"+e+","+r+" "+-e+","+r+"Z"}});t.svg.symbolTypes=ds.keys();var gs=Math.sqrt(3),ms=Math.tan(30*Lt);Y.transition=function(t){for(var e,r,n=bs||++Ts,i=As(t),a=[],o=_s||{time:Date.now(),ease:ca,delay:0,duration:250},s=-1,l=this.length;++s<l;){a.push(e=[]);for(var c=this[s],u=-1,f=c.length;++u<f;)(r=c[u])&&Ss(r,u,i,n,o),e.push(r)}return xs(a,i,n)},Y.interrupt=function(t){return this.each(null==t?vs:ys(As(t)))};var vs=ys(As());function ys(t){return function(){var e,r,n;(e=this[t])&&(n=e[r=e.active])&&(n.timer.c=null,n.timer.t=NaN,--e.count?delete e[r]:delete this[t],e.active+=.5,n.event&&n.event.interrupt.call(this,this.__data__,n.index))}}function xs(t,e,r){return U(t,ws),t.namespace=e,t.id=r,t}var bs,_s,ws=[],Ts=0;function ks(t,e,r,n){var i=t.id,a=t.namespace;return ut(t,"function"==typeof r?function(t,o,s){t[a][i].tween.set(e,n(r.call(t,t.__data__,o,s)))}:(r=n(r),function(t){t[a][i].tween.set(e,r)}))}function Ms(t){return null==t&&(t=""),function(){this.textContent=t}}function As(t){return null==t?"__transition__":"__transition_"+t+"__"}function Ss(t,e,r,n,i){var a,o,s,l,c,u=t[r]||(t[r]={active:0,count:0}),f=u[n];function h(r){var i=u.active,h=u[i];for(var d in h&&(h.timer.c=null,h.timer.t=NaN,--u.count,delete u[i],h.event&&h.event.interrupt.call(t,t.__data__,h.index)),u)if(+d<n){var g=u[d];g.timer.c=null,g.timer.t=NaN,--u.count,delete u[d]}o.c=p,we((function(){return o.c&&p(r||1)&&(o.c=null,o.t=NaN),1}),0,a),u.active=n,f.event&&f.event.start.call(t,t.__data__,e),c=[],f.tween.forEach((function(r,n){(n=n.call(t,t.__data__,e))&&c.push(n)})),l=f.ease,s=f.duration}function p(i){for(var a=i/s,o=l(a),h=c.length;h>0;)c[--h].call(t,o);if(a>=1)return f.event&&f.event.end.call(t,t.__data__,e),--u.count?delete u[n]:delete t[r],1}f||(a=i.time,o=we((function(t){var e=f.delay;if(o.t=e+a,e<=t)return h(t-e);o.c=h}),0,a),f=u[n]={tween:new _,time:a,timer:o,delay:i.delay,duration:i.duration,ease:i.ease,index:e},i=null,++u.count)}ws.call=Y.call,ws.empty=Y.empty,ws.node=Y.node,ws.size=Y.size,t.transition=function(e,r){return e&&e.transition?bs?e.transition(r):e:t.selection().transition(e)},t.transition.prototype=ws,ws.select=function(t){var e,r,n,i=this.id,a=this.namespace,o=[];t=W(t);for(var s=-1,l=this.length;++s<l;){o.push(e=[]);for(var c=this[s],u=-1,f=c.length;++u<f;)(n=c[u])&&(r=t.call(n,n.__data__,u,s))?("__data__"in n&&(r.__data__=n.__data__),Ss(r,u,a,i,n[a][i]),e.push(r)):e.push(null)}return xs(o,a,i)},ws.selectAll=function(t){var e,r,n,i,a,o=this.id,s=this.namespace,l=[];t=X(t);for(var c=-1,u=this.length;++c<u;)for(var f=this[c],h=-1,p=f.length;++h<p;)if(n=f[h]){a=n[s][o],r=t.call(n,n.__data__,h,c),l.push(e=[]);for(var d=-1,g=r.length;++d<g;)(i=r[d])&&Ss(i,d,s,o,a),e.push(i)}return xs(l,s,o)},ws.filter=function(t){var e,r,n=[];"function"!=typeof t&&(t=lt(t));for(var i=0,a=this.length;i<a;i++){n.push(e=[]);for(var o,s=0,l=(o=this[i]).length;s<l;s++)(r=o[s])&&t.call(r,r.__data__,s,i)&&e.push(r)}return xs(n,this.namespace,this.id)},ws.tween=function(t,e){var r=this.id,n=this.namespace;return arguments.length<2?this.node()[n][r].tween.get(t):ut(this,null==e?function(e){e[n][r].tween.remove(t)}:function(i){i[n][r].tween.set(t,e)})},ws.attr=function(e,r){if(arguments.length<2){for(r in e)this.attr(r,e[r]);return this}var n="transform"==e?ba:$i,i=t.ns.qualify(e);function a(){this.removeAttribute(i)}function o(){this.removeAttributeNS(i.space,i.local)}function s(t){return null==t?a:(t+="",function(){var e,r=this.getAttribute(i);return r!==t&&(e=n(r,t),function(t){this.setAttribute(i,e(t))})})}function l(t){return null==t?o:(t+="",function(){var e,r=this.getAttributeNS(i.space,i.local);return r!==t&&(e=n(r,t),function(t){this.setAttributeNS(i.space,i.local,e(t))})})}return ks(this,"attr."+e,r,i.local?l:s)},ws.attrTween=function(e,r){var n=t.ns.qualify(e);return this.tween("attr."+e,n.local?function(t,e){var i=r.call(this,t,e,this.getAttributeNS(n.space,n.local));return i&&function(t){this.setAttributeNS(n.space,n.local,i(t))}}:function(t,e){var i=r.call(this,t,e,this.getAttribute(n));return i&&function(t){this.setAttribute(n,i(t))}})},ws.style=function(t,e,r){var n=arguments.length;if(n<3){if("string"!=typeof t){for(r in n<2&&(e=""),t)this.style(r,t[r],e);return this}r=""}function i(){this.style.removeProperty(t)}function a(e){return null==e?i:(e+="",function(){var n,i=o(this).getComputedStyle(this,null).getPropertyValue(t);return i!==e&&(n=$i(i,e),function(e){this.style.setProperty(t,n(e),r)})})}return ks(this,"style."+t,e,a)},ws.styleTween=function(t,e,r){function n(n,i){var a=e.call(this,n,i,o(this).getComputedStyle(this,null).getPropertyValue(t));return a&&function(e){this.style.setProperty(t,a(e),r)}}return arguments.length<3&&(r=""),this.tween("style."+t,n)},ws.text=function(t){return ks(this,"text",t,Ms)},ws.remove=function(){var t=this.namespace;return this.each("end.transition",(function(){var e;this[t].count<2&&(e=this.parentNode)&&e.removeChild(this)}))},ws.ease=function(e){var r=this.id,n=this.namespace;return arguments.length<1?this.node()[n][r].ease:("function"!=typeof e&&(e=t.ease.apply(t,arguments)),ut(this,(function(t){t[n][r].ease=e})))},ws.delay=function(t){var e=this.id,r=this.namespace;return arguments.length<1?this.node()[r][e].delay:ut(this,"function"==typeof t?function(n,i,a){n[r][e].delay=+t.call(n,n.__data__,i,a)}:(t=+t,function(n){n[r][e].delay=t}))},ws.duration=function(t){var e=this.id,r=this.namespace;return arguments.length<1?this.node()[r][e].duration:ut(this,"function"==typeof t?function(n,i,a){n[r][e].duration=Math.max(1,t.call(n,n.__data__,i,a))}:(t=Math.max(1,t),function(n){n[r][e].duration=t}))},ws.each=function(e,r){var n=this.id,i=this.namespace;if(arguments.length<2){var a=_s,o=bs;try{bs=n,ut(this,(function(t,r,a){_s=t[i][n],e.call(t,t.__data__,r,a)}))}finally{_s=a,bs=o}}else ut(this,(function(a){var o=a[i][n];(o.event||(o.event=t.dispatch("start","end","interrupt"))).on(e,r)}));return this},ws.transition=function(){for(var t,e,r,n=this.id,i=++Ts,a=this.namespace,o=[],s=0,l=this.length;s<l;s++){o.push(t=[]);for(var c,u=0,f=(c=this[s]).length;u<f;u++)(e=c[u])&&Ss(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 xs(o,a,i)},t.svg.axis=function(){var e,r=t.scale.linear(),i=Es,a=6,o=6,s=3,l=[10],c=null;function u(n){n.each((function(){var n,u=t.select(this),f=this.__chart__||r,h=this.__chart__=r.copy(),p=null==c?h.ticks?h.ticks.apply(h,l):h.domain():c,d=null==e?h.tickFormat?h.tickFormat.apply(h,l):L:e,g=u.selectAll(".tick").data(p,h),m=g.enter().insert("g",".domain").attr("class","tick").style("opacity",kt),v=t.transition(g.exit()).style("opacity",kt).remove(),y=t.transition(g.order()).style("opacity",1),x=Math.max(a,0)+s,b=mo(h),_=u.selectAll(".domain").data([0]),w=(_.enter().append("path").attr("class","domain"),t.transition(_));m.append("line"),m.append("text");var T,k,M,A,S=m.select("line"),E=y.select("line"),C=g.select("text").text(d),I=m.select("text"),P=y.select("text"),z="top"===i||"left"===i?-1:1;if("bottom"===i||"top"===i?(n=Ls,T="x",M="y",k="x2",A="y2",C.attr("dy",z<0?"0em":".71em").style("text-anchor","middle"),w.attr("d","M"+b[0]+","+z*o+"V0H"+b[1]+"V"+z*o)):(n=Is,T="y",M="x",k="y2",A="x2",C.attr("dy",".32em").style("text-anchor",z<0?"end":"start"),w.attr("d","M"+z*o+","+b[0]+"H0V"+b[1]+"H"+z*o)),S.attr(A,z*a),I.attr(M,z*x),E.attr(k,0).attr(A,z*a),P.attr(T,0).attr(M,z*x),h.rangeBand){var O=h,D=O.rangeBand()/2;f=h=function(t){return O(t)+D}}else f.rangeBand?f=h:v.call(n,h,f);m.call(n,f,h),y.call(n,h,h)}))}return u.scale=function(t){return arguments.length?(r=t,u):r},u.orient=function(t){return arguments.length?(i=t in Cs?t+"":Es,u):i},u.ticks=function(){return arguments.length?(l=n(arguments),u):l},u.tickValues=function(t){return arguments.length?(c=t,u):c},u.tickFormat=function(t){return arguments.length?(e=t,u):e},u.tickSize=function(t){var e=arguments.length;return e?(a=+t,o=+arguments[e-1],u):a},u.innerTickSize=function(t){return arguments.length?(a=+t,u):a},u.outerTickSize=function(t){return arguments.length?(o=+t,u):o},u.tickPadding=function(t){return arguments.length?(s=+t,u):s},u.tickSubdivide=function(){return arguments.length&&u},u};var Es="bottom",Cs={top:1,right:1,bottom:1,left:1};function Ls(t,e,r){t.attr("transform",(function(t){var n=e(t);return"translate("+(isFinite(n)?n:r(t))+",0)"}))}function Is(t,e,r){t.attr("transform",(function(t){var n=e(t);return"translate(0,"+(isFinite(n)?n:r(t))+")"}))}t.svg.brush=function(){var e,r,n=N(h,"brushstart","brush","brushend"),i=null,a=null,s=[0,0],l=[0,0],c=!0,u=!0,f=zs[0];function h(e){e.each((function(){var e=t.select(this).style("pointer-events","all").style("-webkit-tap-highlight-color","rgba(0,0,0,0)").on("mousedown.brush",m).on("touchstart.brush",m),r=e.selectAll(".background").data([0]);r.enter().append("rect").attr("class","background").style("visibility","hidden").style("cursor","crosshair"),e.selectAll(".extent").data([0]).enter().append("rect").attr("class","extent").style("cursor","move");var n=e.selectAll(".resize").data(f,L);n.exit().remove(),n.enter().append("g").attr("class",(function(t){return"resize "+t})).style("cursor",(function(t){return Ps[t]})).append("rect").attr("x",(function(t){return/[ew]$/.test(t)?-3:null})).attr("y",(function(t){return/^[ns]/.test(t)?-3:null})).attr("width",6).attr("height",6).style("visibility","hidden"),n.style("display",h.empty()?"none":null);var o,s=t.transition(e),l=t.transition(r);i&&(o=mo(i),l.attr("x",o[0]).attr("width",o[1]-o[0]),d(s)),a&&(o=mo(a),l.attr("y",o[0]).attr("height",o[1]-o[0]),g(s)),p(s)}))}function p(t){t.selectAll(".resize").attr("transform",(function(t){return"translate("+s[+/e$/.test(t)]+","+l[+/^s/.test(t)]+")"}))}function d(t){t.select(".extent").attr("x",s[0]),t.selectAll(".extent,.n>rect,.s>rect").attr("width",s[1]-s[0])}function g(t){t.select(".extent").attr("y",l[0]),t.selectAll(".extent,.e>rect,.w>rect").attr("height",l[1]-l[0])}function m(){var f,m,v=this,y=t.select(t.event.target),x=n.of(v,arguments),b=t.select(v),_=y.datum(),w=!/^(n|s)$/.test(_)&&i,T=!/^(e|w)$/.test(_)&&a,k=y.classed("extent"),M=bt(v),A=t.mouse(v),S=t.select(o(v)).on("keydown.brush",L).on("keyup.brush",I);if(t.event.changedTouches?S.on("touchmove.brush",P).on("touchend.brush",O):S.on("mousemove.brush",P).on("mouseup.brush",O),b.interrupt().selectAll("*").interrupt(),k)A[0]=s[0]-A[0],A[1]=l[0]-A[1];else if(_){var E=+/w$/.test(_),C=+/^n/.test(_);m=[s[1-E]-A[0],l[1-C]-A[1]],A[0]=s[E],A[1]=l[C]}else t.event.altKey&&(f=A.slice());function L(){32==t.event.keyCode&&(k||(f=null,A[0]-=s[1],A[1]-=l[1],k=2),F())}function I(){32==t.event.keyCode&&2==k&&(A[0]+=s[1],A[1]+=l[1],k=0,F())}function P(){var e=t.mouse(v),r=!1;m&&(e[0]+=m[0],e[1]+=m[1]),k||(t.event.altKey?(f||(f=[(s[0]+s[1])/2,(l[0]+l[1])/2]),A[0]=s[+(e[0]<f[0])],A[1]=l[+(e[1]<f[1])]):f=null),w&&z(e,i,0)&&(d(b),r=!0),T&&z(e,a,1)&&(g(b),r=!0),r&&(p(b),x({type:"brush",mode:k?"move":"resize"}))}function z(t,n,i){var a,o,h=mo(n),p=h[0],d=h[1],g=A[i],m=i?l:s,v=m[1]-m[0];if(k&&(p-=g,d-=v+g),a=(i?u:c)?Math.max(p,Math.min(d,t[i])):t[i],k?o=(a+=g)+v:(f&&(g=Math.max(p,Math.min(d,2*f[i]-a))),g<a?(o=a,a=g):o=g),m[0]!=a||m[1]!=o)return i?r=null:e=null,m[0]=a,m[1]=o,!0}function O(){P(),b.style("pointer-events","all").selectAll(".resize").style("display",h.empty()?"none":null),t.select("body").style("cursor",null),S.on("mousemove.brush",null).on("mouseup.brush",null).on("touchmove.brush",null).on("touchend.brush",null).on("keydown.brush",null).on("keyup.brush",null),M(),x({type:"brushend"})}b.style("pointer-events","none").selectAll(".resize").style("display",null),t.select("body").style("cursor",y.style("cursor")),x({type:"brushstart"}),P()}return h.event=function(i){i.each((function(){var i=n.of(this,arguments),a={x:s,y:l,i:e,j:r},o=this.__chart__||a;this.__chart__=a,bs?t.select(this).transition().each("start.brush",(function(){e=o.i,r=o.j,s=o.x,l=o.y,i({type:"brushstart"})})).tween("brush:brush",(function(){var t=ta(s,a.x),n=ta(l,a.y);return e=r=null,function(e){s=a.x=t(e),l=a.y=n(e),i({type:"brush",mode:"resize"})}})).each("end.brush",(function(){e=a.i,r=a.j,i({type:"brush",mode:"resize"}),i({type:"brushend"})})):(i({type:"brushstart"}),i({type:"brush",mode:"resize"}),i({type:"brushend"}))}))},h.x=function(t){return arguments.length?(f=zs[!(i=t)<<1|!a],h):i},h.y=function(t){return arguments.length?(f=zs[!i<<1|!(a=t)],h):a},h.clamp=function(t){return arguments.length?(i&&a?(c=!!t[0],u=!!t[1]):i?c=!!t:a&&(u=!!t),h):i&&a?[c,u]:i?c:a?u:null},h.extent=function(t){var n,o,c,u,f;return arguments.length?(i&&(n=t[0],o=t[1],a&&(n=n[0],o=o[0]),e=[n,o],i.invert&&(n=i(n),o=i(o)),o<n&&(f=n,n=o,o=f),n==s[0]&&o==s[1]||(s=[n,o])),a&&(c=t[0],u=t[1],i&&(c=c[1],u=u[1]),r=[c,u],a.invert&&(c=a(c),u=a(u)),u<c&&(f=c,c=u,u=f),c==l[0]&&u==l[1]||(l=[c,u])),h):(i&&(e?(n=e[0],o=e[1]):(n=s[0],o=s[1],i.invert&&(n=i.invert(n),o=i.invert(o)),o<n&&(f=n,n=o,o=f))),a&&(r?(c=r[0],u=r[1]):(c=l[0],u=l[1],a.invert&&(c=a.invert(c),u=a.invert(u)),u<c&&(f=c,c=u,u=f))),i&&a?[[n,c],[o,u]]:i?[n,o]:a&&[c,u])},h.clear=function(){return h.empty()||(s=[0,0],l=[0,0],e=r=null),h},h.empty=function(){return!!i&&s[0]==s[1]||!!a&&l[0]==l[1]},t.rebind(h,n,"on")};var Ps={n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},zs=[["n","e","s","w","nw","ne","se","sw"],["e","w"],["n","s"],[]],Os=Pe.format=sr.timeFormat,Ds=Os.utc,Rs=Ds("%Y-%m-%dT%H:%M:%S.%LZ");function Fs(t){return t.toISOString()}function Bs(e,r,n){function i(t){return e(t)}function a(e,n){var i=(e[1]-e[0])/n,a=t.bisect(js,i);return a==js.length?[r.year,ko(e.map((function(t){return t/31536e6})),n)[2]]:a?r[i/js[a-1]<js[a]/i?a-1:a]:[qs,ko(e,n)[2]]}return i.invert=function(t){return Ns(e.invert(t))},i.domain=function(t){return arguments.length?(e.domain(t),i):e.domain().map(Ns)},i.nice=function(t,e){var r=i.domain(),n=go(r),o=null==t?a(n,10):"number"==typeof t&&a(n,t);function s(r){return!isNaN(r)&&!t.range(r,Ns(+r+1),e).length}return o&&(t=o[0],e=o[1]),i.domain(yo(r,e>1?{floor:function(e){for(;s(e=t.floor(e));)e=Ns(e-1);return e},ceil:function(e){for(;s(e=t.ceil(e));)e=Ns(+e+1);return e}}:t))},i.ticks=function(t,e){var r=go(i.domain()),n=null==t?a(r,10):"number"==typeof t?a(r,t):!t.range&&[{range:t},e];return n&&(t=n[0],e=n[1]),t.range(r[0],Ns(+r[1]+1),e<1?1:e)},i.tickFormat=function(){return n},i.copy=function(){return Bs(e.copy(),r,n)},wo(i,e)}function Ns(t){return new Date(t)}Os.iso=Date.prototype.toISOString&&+new Date("2000-01-01T00:00:00.000Z")?Fs:Rs,Fs.parse=function(t){var e=new Date(t);return isNaN(e)?null:e},Fs.toString=Rs.toString,Pe.second=Re((function(t){return new ze(1e3*Math.floor(t/1e3))}),(function(t,e){t.setTime(t.getTime()+1e3*Math.floor(e))}),(function(t){return t.getSeconds()})),Pe.seconds=Pe.second.range,Pe.seconds.utc=Pe.second.utc.range,Pe.minute=Re((function(t){return new ze(6e4*Math.floor(t/6e4))}),(function(t,e){t.setTime(t.getTime()+6e4*Math.floor(e))}),(function(t){return t.getMinutes()})),Pe.minutes=Pe.minute.range,Pe.minutes.utc=Pe.minute.utc.range,Pe.hour=Re((function(t){var e=t.getTimezoneOffset()/60;return new ze(36e5*(Math.floor(t/36e5-e)+e))}),(function(t,e){t.setTime(t.getTime()+36e5*Math.floor(e))}),(function(t){return t.getHours()})),Pe.hours=Pe.hour.range,Pe.hours.utc=Pe.hour.utc.range,Pe.month=Re((function(t){return(t=Pe.day(t)).setDate(1),t}),(function(t,e){t.setMonth(t.getMonth()+e)}),(function(t){return t.getMonth()})),Pe.months=Pe.month.range,Pe.months.utc=Pe.month.utc.range;var js=[1e3,5e3,15e3,3e4,6e4,3e5,9e5,18e5,36e5,108e5,216e5,432e5,864e5,1728e5,6048e5,2592e6,7776e6,31536e6],Us=[[Pe.second,1],[Pe.second,5],[Pe.second,15],[Pe.second,30],[Pe.minute,1],[Pe.minute,5],[Pe.minute,15],[Pe.minute,30],[Pe.hour,1],[Pe.hour,3],[Pe.hour,6],[Pe.hour,12],[Pe.day,1],[Pe.day,2],[Pe.week,1],[Pe.month,1],[Pe.month,3],[Pe.year,1]],Vs=Os.multi([[".%L",function(t){return t.getMilliseconds()}],[":%S",function(t){return t.getSeconds()}],["%I:%M",function(t){return t.getMinutes()}],["%I %p",function(t){return t.getHours()}],["%a %d",function(t){return t.getDay()&&1!=t.getDate()}],["%b %d",function(t){return 1!=t.getDate()}],["%B",function(t){return t.getMonth()}],["%Y",Yr]]),qs={range:function(e,r,n){return t.range(Math.ceil(e/n)*n,+r,n).map(Ns)},floor:L,ceil:L};Us.year=Pe.year,Pe.scale=function(){return Bs(t.scale.linear(),Us,Vs)};var Hs=Us.map((function(t){return[t[0].utc,t[1]]})),Gs=Ds.multi([[".%L",function(t){return t.getUTCMilliseconds()}],[":%S",function(t){return t.getUTCSeconds()}],["%I:%M",function(t){return t.getUTCMinutes()}],["%I %p",function(t){return t.getUTCHours()}],["%a %d",function(t){return t.getUTCDay()&&1!=t.getUTCDate()}],["%b %d",function(t){return 1!=t.getUTCDate()}],["%B",function(t){return t.getUTCMonth()}],["%Y",Yr]]);function Ys(t){return JSON.parse(t.responseText)}function Ws(t){var e=i.createRange();return e.selectNode(i.body),e.createContextualFragment(t.responseText)}Hs.year=Pe.year.utc,Pe.scale.utc=function(){return Bs(t.scale.linear(),Hs,Gs)},t.text=ge((function(t){return t.responseText})),t.json=function(t,e){return me(t,"application/json",Ys,e)},t.html=function(t,e){return me(t,"text/html",Ws,e)},t.xml=ge((function(t){return t.responseXML})),"object"==typeof e&&e.exports?e.exports=t:this.d3=t}()},{}],170:[function(t,e,r){e.exports=function(){for(var t=0;t<arguments.length;t++)if(void 0!==arguments[t])return arguments[t]}},{}],171:[function(t,e,r){"use strict";var n=t("incremental-convex-hull"),i=t("uniq");function a(t,e){this.point=t,this.index=e}function o(t,e){for(var r=t.point,n=e.point,i=r.length,a=0;a<i;++a){var o=n[a]-r[a];if(o)return o}return 0}e.exports=function(t,e){var r=t.length;if(0===r)return[];var s=t[0].length;if(s<1)return[];if(1===s)return function(t,e,r){if(1===t)return r?[[-1,0]]:[];var n=e.map((function(t,e){return[t[0],e]}));n.sort((function(t,e){return t[0]-e[0]}));for(var i=new Array(t-1),a=1;a<t;++a){var o=n[a-1],s=n[a];i[a-1]=[o[1],s[1]]}r&&i.push([-1,i[0][1]],[i[t-1][1],-1]);return i}(r,t,e);for(var l=new Array(r),c=1,u=0;u<r;++u){for(var f=t[u],h=new Array(s+1),p=0,d=0;d<s;++d){var g=f[d];h[d]=g,p+=g*g}h[s]=p,l[u]=new a(h,u),c=Math.max(p,c)}i(l,o),r=l.length;var m=new Array(r+s+1),v=new Array(r+s+1),y=(s+1)*(s+1)*c,x=new Array(s+1);for(u=0;u<=s;++u)x[u]=0;x[s]=y,m[0]=x.slice(),v[0]=-1;for(u=0;u<=s;++u){(h=x.slice())[u]=1,m[u+1]=h,v[u+1]=-1}for(u=0;u<r;++u){var b=l[u];m[u+s+1]=b.point,v[u+s+1]=b.index}var _=n(m,!1);_=e?_.filter((function(t){for(var e=0,r=0;r<=s;++r){var n=v[t[r]];if(n<0&&++e>=2)return!1;t[r]=n}return!0})):_.filter((function(t){for(var e=0;e<=s;++e){var r=v[t[e]];if(r<0)return!1;t[e]=r}return!0}));if(1&s)for(u=0;u<_.length;++u){h=(b=_[u])[0];b[0]=b[1],b[1]=h}return _}},{"incremental-convex-hull":459,uniq:597}],172:[function(t,e,r){"use strict";e.exports=a;var n=(a.canvas=document.createElement("canvas")).getContext("2d"),i=o([32,126]);function a(t,e){Array.isArray(t)&&(t=t.join(", "));var r,a={},s=16,l=.05;e&&(2===e.length&&"number"==typeof e[0]?r=o(e):Array.isArray(e)?r=e:(e.o?r=o(e.o):e.pairs&&(r=e.pairs),e.fontSize&&(s=e.fontSize),null!=e.threshold&&(l=e.threshold))),r||(r=i),n.font=s+"px "+t;for(var c=0;c<r.length;c++){var u=r[c],f=n.measureText(u[0]).width+n.measureText(u[1]).width,h=n.measureText(u).width;if(Math.abs(f-h)>s*l){var p=(h-f)/s;a[u]=1e3*p}}return a}function o(t){for(var e=[],r=t[0];r<=t[1];r++)for(var n=String.fromCharCode(r),i=t[0];i<t[1];i++){var a=n+String.fromCharCode(i);e.push(a)}return e}a.createPairs=o,a.ascii=i},{}],173:[function(t,e,r){(function(t){(function(){var r=!1;if("undefined"!=typeof Float64Array){var n=new Float64Array(1),i=new Uint32Array(n.buffer);if(n[0]=1,r=!0,1072693248===i[1]){e.exports=function(t){return n[0]=t,[i[0],i[1]]},e.exports.pack=function(t,e){return i[0]=t,i[1]=e,n[0]},e.exports.lo=function(t){return n[0]=t,i[0]},e.exports.hi=function(t){return n[0]=t,i[1]}}else if(1072693248===i[0]){e.exports=function(t){return n[0]=t,[i[1],i[0]]},e.exports.pack=function(t,e){return i[1]=t,i[0]=e,n[0]},e.exports.lo=function(t){return n[0]=t,i[1]},e.exports.hi=function(t){return n[0]=t,i[0]}}else r=!1}if(!r){var a=new t(8);e.exports=function(t){return a.writeDoubleLE(t,0,!0),[a.readUInt32LE(0,!0),a.readUInt32LE(4,!0)]},e.exports.pack=function(t,e){return a.writeUInt32LE(t,0,!0),a.writeUInt32LE(e,4,!0),a.readDoubleLE(0,!0)},e.exports.lo=function(t){return a.writeDoubleLE(t,0,!0),a.readUInt32LE(0,!0)},e.exports.hi=function(t){return a.writeDoubleLE(t,0,!0),a.readUInt32LE(4,!0)}}e.exports.sign=function(t){return e.exports.hi(t)>>>31},e.exports.exponent=function(t){return(e.exports.hi(t)<<1>>>21)-1023},e.exports.fraction=function(t){var r=e.exports.lo(t),n=e.exports.hi(t),i=1048575&n;return 2146435072&n&&(i+=1<<20),[r,i]},e.exports.denormalized=function(t){return!(2146435072&e.exports.hi(t))}}).call(this)}).call(this,t("buffer").Buffer)},{buffer:111}],174:[function(t,e,r){var n=t("abs-svg-path"),i=t("normalize-svg-path"),a={M:"moveTo",C:"bezierCurveTo"};e.exports=function(t,e){t.beginPath(),i(n(e)).forEach((function(e){var r=e[0],n=e.slice(1);t[a[r]].apply(t,n)})),t.closePath()}},{"abs-svg-path":65,"normalize-svg-path":497}],175:[function(t,e,r){e.exports=function(t){switch(t){case"int8":return Int8Array;case"int16":return Int16Array;case"int32":return Int32Array;case"uint8":return Uint8Array;case"uint16":return Uint16Array;case"uint32":return Uint32Array;case"float32":return Float32Array;case"float64":return Float64Array;case"array":return Array;case"uint8_clamped":return Uint8ClampedArray}}},{}],176:[function(t,e,r){"use strict";e.exports=function(t,e){switch("undefined"==typeof e&&(e=0),typeof t){case"number":if(t>0)return function(t,e){var r,n;for(r=new Array(t),n=0;n<t;++n)r[n]=e;return r}(0|t,e);break;case"object":if("number"==typeof t.length)return function t(e,r,n){var i=0|e[n];if(i<=0)return[];var a,o=new Array(i);if(n===e.length-1)for(a=0;a<i;++a)o[a]=r;else for(a=0;a<i;++a)o[a]=t(e,r,n+1);return o}(t,e,0)}return[]}},{}],177:[function(t,e,r){"use strict";function n(t,e,r){r=r||2;var n,s,l,c,u,p,d,m=e&&e.length,v=m?e[0]*r:t.length,y=i(t,0,v,r,!0),x=[];if(!y||y.next===y.prev)return x;if(m&&(y=function(t,e,r,n){var o,s,l,c,u,p=[];for(o=0,s=e.length;o<s;o++)l=e[o]*n,c=o<s-1?e[o+1]*n:t.length,(u=i(t,l,c,n,!1))===u.next&&(u.steiner=!0),p.push(g(u));for(p.sort(f),o=0;o<p.length;o++)h(p[o],r),r=a(r,r.next);return r}(t,e,y,r)),t.length>80*r){n=l=t[0],s=c=t[1];for(var b=r;b<v;b+=r)(u=t[b])<n&&(n=u),(p=t[b+1])<s&&(s=p),u>l&&(l=u),p>c&&(c=p);d=0!==(d=Math.max(l-n,c-s))?1/d:0}return o(y,x,r,n,s,d),x}function i(t,e,r,n,i){var a,o;if(i===E(t,e,r,n)>0)for(a=e;a<r;a+=n)o=M(a,t[a],t[a+1],o);else for(a=r-n;a>=e;a-=n)o=M(a,t[a],t[a+1],o);return o&&x(o,o.next)&&(A(o),o=o.next),o}function a(t,e){if(!t)return t;e||(e=t);var r,n=t;do{if(r=!1,n.steiner||!x(n,n.next)&&0!==y(n.prev,n,n.next))n=n.next;else{if(A(n),(n=e=n.prev)===n.next)break;r=!0}}while(r||n!==e);return e}function o(t,e,r,n,i,f,h){if(t){!h&&f&&function(t,e,r,n){var i=t;do{null===i.z&&(i.z=d(i.x,i.y,e,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next}while(i!==t);i.prevZ.nextZ=null,i.prevZ=null,function(t){var e,r,n,i,a,o,s,l,c=1;do{for(r=t,t=null,a=null,o=0;r;){for(o++,n=r,s=0,e=0;e<c&&(s++,n=n.nextZ);e++);for(l=c;s>0||l>0&&n;)0!==s&&(0===l||!n||r.z<=n.z)?(i=r,r=r.nextZ,s--):(i=n,n=n.nextZ,l--),a?a.nextZ=i:t=i,i.prevZ=a,a=i;r=n}a.nextZ=null,c*=2}while(o>1)}(i)}(t,n,i,f);for(var p,g,m=t;t.prev!==t.next;)if(p=t.prev,g=t.next,f?l(t,n,i,f):s(t))e.push(p.i/r),e.push(t.i/r),e.push(g.i/r),A(t),t=g.next,m=g.next;else if((t=g)===m){h?1===h?o(t=c(a(t),e,r),e,r,n,i,f,2):2===h&&u(t,e,r,n,i,f):o(a(t),e,r,n,i,f,1);break}}}function s(t){var e=t.prev,r=t,n=t.next;if(y(e,r,n)>=0)return!1;for(var i=t.next.next;i!==t.prev;){if(m(e.x,e.y,r.x,r.y,n.x,n.y,i.x,i.y)&&y(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function l(t,e,r,n){var i=t.prev,a=t,o=t.next;if(y(i,a,o)>=0)return!1;for(var s=i.x<a.x?i.x<o.x?i.x:o.x:a.x<o.x?a.x:o.x,l=i.y<a.y?i.y<o.y?i.y:o.y:a.y<o.y?a.y:o.y,c=i.x>a.x?i.x>o.x?i.x:o.x:a.x>o.x?a.x:o.x,u=i.y>a.y?i.y>o.y?i.y:o.y:a.y>o.y?a.y:o.y,f=d(s,l,e,r,n),h=d(c,u,e,r,n),p=t.prevZ,g=t.nextZ;p&&p.z>=f&&g&&g.z<=h;){if(p!==t.prev&&p!==t.next&&m(i.x,i.y,a.x,a.y,o.x,o.y,p.x,p.y)&&y(p.prev,p,p.next)>=0)return!1;if(p=p.prevZ,g!==t.prev&&g!==t.next&&m(i.x,i.y,a.x,a.y,o.x,o.y,g.x,g.y)&&y(g.prev,g,g.next)>=0)return!1;g=g.nextZ}for(;p&&p.z>=f;){if(p!==t.prev&&p!==t.next&&m(i.x,i.y,a.x,a.y,o.x,o.y,p.x,p.y)&&y(p.prev,p,p.next)>=0)return!1;p=p.prevZ}for(;g&&g.z<=h;){if(g!==t.prev&&g!==t.next&&m(i.x,i.y,a.x,a.y,o.x,o.y,g.x,g.y)&&y(g.prev,g,g.next)>=0)return!1;g=g.nextZ}return!0}function c(t,e,r){var n=t;do{var i=n.prev,o=n.next.next;!x(i,o)&&b(i,n,n.next,o)&&T(i,o)&&T(o,i)&&(e.push(i.i/r),e.push(n.i/r),e.push(o.i/r),A(n),A(n.next),n=t=o),n=n.next}while(n!==t);return a(n)}function u(t,e,r,n,i,s){var l=t;do{for(var c=l.next.next;c!==l.prev;){if(l.i!==c.i&&v(l,c)){var u=k(l,c);return l=a(l,l.next),u=a(u,u.next),o(l,e,r,n,i,s),void o(u,e,r,n,i,s)}c=c.next}l=l.next}while(l!==t)}function f(t,e){return t.x-e.x}function h(t,e){if(e=function(t,e){var r,n=e,i=t.x,a=t.y,o=-1/0;do{if(a<=n.y&&a>=n.next.y&&n.next.y!==n.y){var s=n.x+(a-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(s<=i&&s>o){if(o=s,s===i){if(a===n.y)return n;if(a===n.next.y)return n.next}r=n.x<n.next.x?n:n.next}}n=n.next}while(n!==e);if(!r)return null;if(i===o)return r;var l,c=r,u=r.x,f=r.y,h=1/0;n=r;do{i>=n.x&&n.x>=u&&i!==n.x&&m(a<f?i:o,a,u,f,a<f?o:i,a,n.x,n.y)&&(l=Math.abs(a-n.y)/(i-n.x),T(n,t)&&(l<h||l===h&&(n.x>r.x||n.x===r.x&&p(r,n)))&&(r=n,h=l)),n=n.next}while(n!==c);return r}(t,e)){var r=k(e,t);a(e,e.next),a(r,r.next)}}function p(t,e){return y(t.prev,t,e.prev)<0&&y(e.next,t,t.next)<0}function d(t,e,r,n,i){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-r)*i)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)*i)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function g(t){var e=t,r=t;do{(e.x<r.x||e.x===r.x&&e.y<r.y)&&(r=e),e=e.next}while(e!==t);return r}function m(t,e,r,n,i,a,o,s){return(i-o)*(e-s)-(t-o)*(a-s)>=0&&(t-o)*(n-s)-(r-o)*(e-s)>=0&&(r-o)*(a-s)-(i-o)*(n-s)>=0}function v(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){var r=t;do{if(r.i!==t.i&&r.next.i!==t.i&&r.i!==e.i&&r.next.i!==e.i&&b(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}(t,e)&&(T(t,e)&&T(e,t)&&function(t,e){var r=t,n=!1,i=(t.x+e.x)/2,a=(t.y+e.y)/2;do{r.y>a!=r.next.y>a&&r.next.y!==r.y&&i<(r.next.x-r.x)*(a-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next}while(r!==t);return n}(t,e)&&(y(t.prev,t,e.prev)||y(t,e.prev,e))||x(t,e)&&y(t.prev,t,t.next)>0&&y(e.prev,e,e.next)>0)}function y(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function x(t,e){return t.x===e.x&&t.y===e.y}function b(t,e,r,n){var i=w(y(t,e,r)),a=w(y(t,e,n)),o=w(y(r,n,t)),s=w(y(r,n,e));return i!==a&&o!==s||(!(0!==i||!_(t,r,e))||(!(0!==a||!_(t,n,e))||(!(0!==o||!_(r,t,n))||!(0!==s||!_(r,e,n)))))}function _(t,e,r){return e.x<=Math.max(t.x,r.x)&&e.x>=Math.min(t.x,r.x)&&e.y<=Math.max(t.y,r.y)&&e.y>=Math.min(t.y,r.y)}function w(t){return t>0?1:t<0?-1:0}function T(t,e){return y(t.prev,t,t.next)<0?y(t,e,t.next)>=0&&y(t,t.prev,e)>=0:y(t,e,t.prev)<0||y(t,t.next,e)<0}function k(t,e){var r=new S(t.i,t.x,t.y),n=new S(e.i,e.x,e.y),i=t.next,a=e.prev;return t.next=e,e.prev=t,r.next=i,i.prev=r,n.next=r,r.prev=n,a.next=n,n.prev=a,n}function M(t,e,r,n){var i=new S(t,e,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function A(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function S(t,e,r){this.i=t,this.x=e,this.y=r,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function E(t,e,r,n){for(var i=0,a=e,o=r-n;a<r;a+=n)i+=(t[o]-t[a])*(t[a+1]+t[o+1]),o=a;return i}e.exports=n,e.exports.default=n,n.deviation=function(t,e,r,n){var i=e&&e.length,a=i?e[0]*r:t.length,o=Math.abs(E(t,0,a,r));if(i)for(var s=0,l=e.length;s<l;s++){var c=e[s]*r,u=s<l-1?e[s+1]*r:t.length;o-=Math.abs(E(t,c,u,r))}var f=0;for(s=0;s<n.length;s+=3){var h=n[s]*r,p=n[s+1]*r,d=n[s+2]*r;f+=Math.abs((t[h]-t[d])*(t[p+1]-t[h+1])-(t[h]-t[p])*(t[d+1]-t[h+1]))}return 0===o&&0===f?0:Math.abs((f-o)/o)},n.flatten=function(t){for(var e=t[0][0].length,r={vertices:[],holes:[],dimensions:e},n=0,i=0;i<t.length;i++){for(var a=0;a<t[i].length;a++)for(var o=0;o<e;o++)r.vertices.push(t[i][a][o]);i>0&&(n+=t[i-1].length,r.holes.push(n))}return r}},{}],178:[function(t,e,r){"use strict";e.exports=function(t,e){var r=t.length;if("number"!=typeof e){e=0;for(var i=0;i<r;++i){var a=t[i];e=Math.max(e,a[0],a[1])}e=1+(0|e)}e|=0;var o=new Array(e);for(i=0;i<e;++i)o[i]=[];for(i=0;i<r;++i){a=t[i];o[a[0]].push(a[1]),o[a[1]].push(a[0])}for(var s=0;s<e;++s)n(o[s],(function(t,e){return t-e}));return o};var n=t("uniq")},{uniq:597}],179:[function(t,e,r){var n=t("strongly-connected-components");e.exports=function(t,e){var r,i=[],a=[],o=[],s={},l=[];function c(t){var e,n,i=!1;for(a.push(t),o[t]=!0,e=0;e<l[t].length;e++)(n=l[t][e])===r?(u(r,a),i=!0):o[n]||(i=c(n));if(i)!function t(e){o[e]=!1,s.hasOwnProperty(e)&&Object.keys(s[e]).forEach((function(r){delete s[e][r],o[r]&&t(r)}))}(t);else for(e=0;e<l[t].length;e++){n=l[t][e];var f=s[n];f||(f={},s[n]=f),f[n]=!0}return a.pop(),i}function u(t,r){var n=[].concat(r).concat(t);e?e(c):i.push(n)}function f(e){!function(e){for(var r=0;r<t.length;r++)r<e&&(t[r]=[]),t[r]=t[r].filter((function(t){return t>=e}))}(e);for(var r,i=n(t).components.filter((function(t){return t.length>1})),a=1/0,o=0;o<i.length;o++)for(var s=0;s<i[o].length;s++)i[o][s]<a&&(a=i[o][s],r=o);var l=i[r];return!!l&&{leastVertex:a,adjList:t.map((function(t,e){return-1===l.indexOf(e)?[]:t.filter((function(t){return-1!==l.indexOf(t)}))}))}}r=0;for(var h=t.length;r<h;){var p=f(r);if(r=p.leastVertex,l=p.adjList){for(var d=0;d<l.length;d++)for(var g=0;g<l[d].length;g++){var m=l[d][g];o[+m]=!1,s[m]={}}c(r),r+=1}else r=h}return e?void 0:i}},{"strongly-connected-components":569}],180:[function(t,e,r){"use strict";var n=t("../../object/valid-value");e.exports=function(){return n(this).length=0,this}},{"../../object/valid-value":211}],181:[function(t,e,r){"use strict";e.exports=t("./is-implemented")()?Array.from:t("./shim")},{"./is-implemented":182,"./shim":183}],182:[function(t,e,r){"use strict";e.exports=function(){var t,e,r=Array.from;return"function"==typeof r&&(e=r(t=["raz","dwa"]),Boolean(e&&e!==t&&"dwa"===e[1]))}},{}],183:[function(t,e,r){"use strict";var n=t("es6-symbol").iterator,i=t("../../function/is-arguments"),a=t("../../function/is-function"),o=t("../../number/to-pos-integer"),s=t("../../object/valid-callable"),l=t("../../object/valid-value"),c=t("../../object/is-value"),u=t("../../string/is-string"),f=Array.isArray,h=Function.prototype.call,p={configurable:!0,enumerable:!0,writable:!0,value:null},d=Object.defineProperty;e.exports=function(t){var e,r,g,m,v,y,x,b,_,w,T=arguments[1],k=arguments[2];if(t=Object(l(t)),c(T)&&s(T),this&&this!==Array&&a(this))e=this;else{if(!T){if(i(t))return 1!==(v=t.length)?Array.apply(null,t):((m=new Array(1))[0]=t[0],m);if(f(t)){for(m=new Array(v=t.length),r=0;r<v;++r)m[r]=t[r];return m}}m=[]}if(!f(t))if(void 0!==(_=t[n])){for(x=s(_).call(t),e&&(m=new e),b=x.next(),r=0;!b.done;)w=T?h.call(T,k,b.value,r):b.value,e?(p.value=w,d(m,r,p)):m[r]=w,b=x.next(),++r;v=r}else if(u(t)){for(v=t.length,e&&(m=new e),r=0,g=0;r<v;++r)w=t[r],r+1<v&&(y=w.charCodeAt(0))>=55296&&y<=56319&&(w+=t[++r]),w=T?h.call(T,k,w,g):w,e?(p.value=w,d(m,g,p)):m[g]=w,++g;v=g}if(void 0===v)for(v=o(t.length),e&&(m=new e(v)),r=0;r<v;++r)w=T?h.call(T,k,t[r],r):t[r],e?(p.value=w,d(m,r,p)):m[r]=w;return e&&(p.value=null,m.length=v),m}},{"../../function/is-arguments":184,"../../function/is-function":185,"../../number/to-pos-integer":191,"../../object/is-value":200,"../../object/valid-callable":209,"../../object/valid-value":211,"../../string/is-string":215,"es6-symbol":225}],184:[function(t,e,r){"use strict";var n=Object.prototype.toString,i=n.call(function(){return arguments}());e.exports=function(t){return n.call(t)===i}},{}],185:[function(t,e,r){"use strict";var n=Object.prototype.toString,i=RegExp.prototype.test.bind(/^[object [A-Za-z0-9]*Function]$/);e.exports=function(t){return"function"==typeof t&&i(n.call(t))}},{}],186:[function(t,e,r){"use strict";e.exports=function(){}},{}],187:[function(t,e,r){"use strict";e.exports=t("./is-implemented")()?Math.sign:t("./shim")},{"./is-implemented":188,"./shim":189}],188:[function(t,e,r){"use strict";e.exports=function(){var t=Math.sign;return"function"==typeof t&&(1===t(10)&&-1===t(-20))}},{}],189:[function(t,e,r){"use strict";e.exports=function(t){return t=Number(t),isNaN(t)||0===t?t:t>0?1:-1}},{}],190:[function(t,e,r){"use strict";var n=t("../math/sign"),i=Math.abs,a=Math.floor;e.exports=function(t){return isNaN(t)?0:0!==(t=Number(t))&&isFinite(t)?n(t)*a(i(t)):t}},{"../math/sign":187}],191:[function(t,e,r){"use strict";var n=t("./to-integer"),i=Math.max;e.exports=function(t){return i(0,n(t))}},{"./to-integer":190}],192:[function(t,e,r){"use strict";var n=t("./valid-callable"),i=t("./valid-value"),a=Function.prototype.bind,o=Function.prototype.call,s=Object.keys,l=Object.prototype.propertyIsEnumerable;e.exports=function(t,e){return function(r,c){var u,f=arguments[2],h=arguments[3];return r=Object(i(r)),n(c),u=s(r),h&&u.sort("function"==typeof h?a.call(h,r):void 0),"function"!=typeof t&&(t=u[t]),o.call(t,u,(function(t,n){return l.call(r,t)?o.call(c,f,r[t],t,r,n):e}))}}},{"./valid-callable":209,"./valid-value":211}],193:[function(t,e,r){"use strict";e.exports=t("./is-implemented")()?Object.assign:t("./shim")},{"./is-implemented":194,"./shim":195}],194:[function(t,e,r){"use strict";e.exports=function(){var t,e=Object.assign;return"function"==typeof e&&(e(t={foo:"raz"},{bar:"dwa"},{trzy:"trzy"}),t.foo+t.bar+t.trzy==="razdwatrzy")}},{}],195:[function(t,e,r){"use strict";var n=t("../keys"),i=t("../valid-value"),a=Math.max;e.exports=function(t,e){var r,o,s,l=a(arguments.length,2);for(t=Object(i(t)),s=function(n){try{t[n]=e[n]}catch(t){r||(r=t)}},o=1;o<l;++o)n(e=arguments[o]).forEach(s);if(void 0!==r)throw r;return t}},{"../keys":201,"../valid-value":211}],196:[function(t,e,r){"use strict";var n=t("../array/from"),i=t("./assign"),a=t("./valid-value");e.exports=function(t){var e=Object(a(t)),r=arguments[1],o=Object(arguments[2]);if(e!==t&&!r)return e;var s={};return r?n(r,(function(e){(o.ensure||e in t)&&(s[e]=t[e])})):i(s,t),s}},{"../array/from":181,"./assign":193,"./valid-value":211}],197:[function(t,e,r){"use strict";var n,i,a,o,s=Object.create;t("./set-prototype-of/is-implemented")()||(n=t("./set-prototype-of/shim")),e.exports=n?1!==n.level?s:(i={},a={},o={configurable:!1,enumerable:!1,writable:!0,value:void 0},Object.getOwnPropertyNames(Object.prototype).forEach((function(t){a[t]="__proto__"!==t?o:{configurable:!0,enumerable:!1,writable:!0,value:void 0}})),Object.defineProperties(i,a),Object.defineProperty(n,"nullPolyfill",{configurable:!1,enumerable:!1,writable:!1,value:i}),function(t,e){return s(null===t?i:t,e)}):s},{"./set-prototype-of/is-implemented":207,"./set-prototype-of/shim":208}],198:[function(t,e,r){"use strict";e.exports=t("./_iterate")("forEach")},{"./_iterate":192}],199:[function(t,e,r){"use strict";var n=t("./is-value"),i={function:!0,object:!0};e.exports=function(t){return n(t)&&i[typeof t]||!1}},{"./is-value":200}],200:[function(t,e,r){"use strict";var n=t("../function/noop")();e.exports=function(t){return t!==n&&null!==t}},{"../function/noop":186}],201:[function(t,e,r){"use strict";e.exports=t("./is-implemented")()?Object.keys:t("./shim")},{"./is-implemented":202,"./shim":203}],202:[function(t,e,r){"use strict";e.exports=function(){try{return Object.keys("primitive"),!0}catch(t){return!1}}},{}],203:[function(t,e,r){"use strict";var n=t("../is-value"),i=Object.keys;e.exports=function(t){return i(n(t)?Object(t):t)}},{"../is-value":200}],204:[function(t,e,r){"use strict";var n=t("./valid-callable"),i=t("./for-each"),a=Function.prototype.call;e.exports=function(t,e){var r={},o=arguments[2];return n(e),i(t,(function(t,n,i,s){r[n]=a.call(e,o,t,n,i,s)})),r}},{"./for-each":198,"./valid-callable":209}],205:[function(t,e,r){"use strict";var n=t("./is-value"),i=Array.prototype.forEach,a=Object.create,o=function(t,e){var r;for(r in t)e[r]=t[r]};e.exports=function(t){var e=a(null);return i.call(arguments,(function(t){n(t)&&o(Object(t),e)})),e}},{"./is-value":200}],206:[function(t,e,r){"use strict";e.exports=t("./is-implemented")()?Object.setPrototypeOf:t("./shim")},{"./is-implemented":207,"./shim":208}],207:[function(t,e,r){"use strict";var n=Object.create,i=Object.getPrototypeOf,a={};e.exports=function(){var t=Object.setPrototypeOf,e=arguments[0]||n;return"function"==typeof t&&i(t(e(null),a))===a}},{}],208:[function(t,e,r){"use strict";var n,i=t("../is-object"),a=t("../valid-value"),o=Object.prototype.isPrototypeOf,s=Object.defineProperty,l={configurable:!0,enumerable:!1,writable:!0,value:void 0};n=function(t,e){if(a(t),null===e||i(e))return t;throw new TypeError("Prototype must be null or an object")},e.exports=function(t){var e,r;return t?(2===t.level?t.set?(r=t.set,e=function(t,e){return r.call(n(t,e),e),t}):e=function(t,e){return n(t,e).__proto__=e,t}:e=function t(e,r){var i;return n(e,r),(i=o.call(t.nullPolyfill,e))&&delete t.nullPolyfill.__proto__,null===r&&(r=t.nullPolyfill),e.__proto__=r,i&&s(t.nullPolyfill,"__proto__",l),e},Object.defineProperty(e,"level",{configurable:!1,enumerable:!1,writable:!1,value:t.level})):null}(function(){var t,e=Object.create(null),r={},n=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__");if(n){try{(t=n.set).call(e,r)}catch(t){}if(Object.getPrototypeOf(e)===r)return{set:t,level:2}}return e.__proto__=r,Object.getPrototypeOf(e)===r?{level:2}:((e={}).__proto__=r,Object.getPrototypeOf(e)===r&&{level:1})}()),t("../create")},{"../create":197,"../is-object":199,"../valid-value":211}],209:[function(t,e,r){"use strict";e.exports=function(t){if("function"!=typeof t)throw new TypeError(t+" is not a function");return t}},{}],210:[function(t,e,r){"use strict";var n=t("./is-object");e.exports=function(t){if(!n(t))throw new TypeError(t+" is not an Object");return t}},{"./is-object":199}],211:[function(t,e,r){"use strict";var n=t("./is-value");e.exports=function(t){if(!n(t))throw new TypeError("Cannot use null or undefined");return t}},{"./is-value":200}],212:[function(t,e,r){"use strict";e.exports=t("./is-implemented")()?String.prototype.contains:t("./shim")},{"./is-implemented":213,"./shim":214}],213:[function(t,e,r){"use strict";var n="razdwatrzy";e.exports=function(){return"function"==typeof n.contains&&(!0===n.contains("dwa")&&!1===n.contains("foo"))}},{}],214:[function(t,e,r){"use strict";var n=String.prototype.indexOf;e.exports=function(t){return n.call(this,t,arguments[1])>-1}},{}],215:[function(t,e,r){"use strict";var n=Object.prototype.toString,i=n.call("");e.exports=function(t){return"string"==typeof t||t&&"object"==typeof t&&(t instanceof String||n.call(t)===i)||!1}},{}],216:[function(t,e,r){"use strict";var n=Object.create(null),i=Math.random;e.exports=function(){var t;do{t=i().toString(36).slice(2)}while(n[t]);return t}},{}],217:[function(t,e,r){"use strict";var n,i=t("es5-ext/object/set-prototype-of"),a=t("es5-ext/string/#/contains"),o=t("d"),s=t("es6-symbol"),l=t("./"),c=Object.defineProperty;n=e.exports=function(t,e){if(!(this instanceof n))throw new TypeError("Constructor requires 'new'");l.call(this,t),e=e?a.call(e,"key+value")?"key+value":a.call(e,"key")?"key":"value":"value",c(this,"__kind__",o("",e))},i&&i(n,l),delete n.prototype.constructor,n.prototype=Object.create(l.prototype,{_resolve:o((function(t){return"value"===this.__kind__?this.__list__[t]:"key+value"===this.__kind__?[t,this.__list__[t]]:t}))}),c(n.prototype,s.toStringTag,o("c","Array Iterator"))},{"./":220,d:155,"es5-ext/object/set-prototype-of":206,"es5-ext/string/#/contains":212,"es6-symbol":225}],218:[function(t,e,r){"use strict";var n=t("es5-ext/function/is-arguments"),i=t("es5-ext/object/valid-callable"),a=t("es5-ext/string/is-string"),o=t("./get"),s=Array.isArray,l=Function.prototype.call,c=Array.prototype.some;e.exports=function(t,e){var r,u,f,h,p,d,g,m,v=arguments[2];if(s(t)||n(t)?r="array":a(t)?r="string":t=o(t),i(e),f=function(){h=!0},"array"!==r)if("string"!==r)for(u=t.next();!u.done;){if(l.call(e,v,u.value,f),h)return;u=t.next()}else for(d=t.length,p=0;p<d&&(g=t[p],p+1<d&&(m=g.charCodeAt(0))>=55296&&m<=56319&&(g+=t[++p]),l.call(e,v,g,f),!h);++p);else c.call(t,(function(t){return l.call(e,v,t,f),h}))}},{"./get":219,"es5-ext/function/is-arguments":184,"es5-ext/object/valid-callable":209,"es5-ext/string/is-string":215}],219:[function(t,e,r){"use strict";var n=t("es5-ext/function/is-arguments"),i=t("es5-ext/string/is-string"),a=t("./array"),o=t("./string"),s=t("./valid-iterable"),l=t("es6-symbol").iterator;e.exports=function(t){return"function"==typeof s(t)[l]?t[l]():n(t)?new a(t):i(t)?new o(t):new a(t)}},{"./array":217,"./string":222,"./valid-iterable":223,"es5-ext/function/is-arguments":184,"es5-ext/string/is-string":215,"es6-symbol":225}],220:[function(t,e,r){"use strict";var n,i=t("es5-ext/array/#/clear"),a=t("es5-ext/object/assign"),o=t("es5-ext/object/valid-callable"),s=t("es5-ext/object/valid-value"),l=t("d"),c=t("d/auto-bind"),u=t("es6-symbol"),f=Object.defineProperty,h=Object.defineProperties;e.exports=n=function(t,e){if(!(this instanceof n))throw new TypeError("Constructor requires 'new'");h(this,{__list__:l("w",s(t)),__context__:l("w",e),__nextIndex__:l("w",0)}),e&&(o(e.on),e.on("_add",this._onAdd),e.on("_delete",this._onDelete),e.on("_clear",this._onClear))},delete n.prototype.constructor,h(n.prototype,a({_next:l((function(){var t;if(this.__list__)return this.__redo__&&void 0!==(t=this.__redo__.shift())?t:this.__nextIndex__<this.__list__.length?this.__nextIndex__++:void this._unBind()})),next:l((function(){return this._createResult(this._next())})),_createResult:l((function(t){return void 0===t?{done:!0,value:void 0}:{done:!1,value:this._resolve(t)}})),_resolve:l((function(t){return this.__list__[t]})),_unBind:l((function(){this.__list__=null,delete this.__redo__,this.__context__&&(this.__context__.off("_add",this._onAdd),this.__context__.off("_delete",this._onDelete),this.__context__.off("_clear",this._onClear),this.__context__=null)})),toString:l((function(){return"[object "+(this[u.toStringTag]||"Object")+"]"}))},c({_onAdd:l((function(t){t>=this.__nextIndex__||(++this.__nextIndex__,this.__redo__?(this.__redo__.forEach((function(e,r){e>=t&&(this.__redo__[r]=++e)}),this),this.__redo__.push(t)):f(this,"__redo__",l("c",[t])))})),_onDelete:l((function(t){var e;t>=this.__nextIndex__||(--this.__nextIndex__,this.__redo__&&(-1!==(e=this.__redo__.indexOf(t))&&this.__redo__.splice(e,1),this.__redo__.forEach((function(e,r){e>t&&(this.__redo__[r]=--e)}),this)))})),_onClear:l((function(){this.__redo__&&i.call(this.__redo__),this.__nextIndex__=0}))}))),f(n.prototype,u.iterator,l((function(){return this})))},{d:155,"d/auto-bind":154,"es5-ext/array/#/clear":180,"es5-ext/object/assign":193,"es5-ext/object/valid-callable":209,"es5-ext/object/valid-value":211,"es6-symbol":225}],221:[function(t,e,r){"use strict";var n=t("es5-ext/function/is-arguments"),i=t("es5-ext/object/is-value"),a=t("es5-ext/string/is-string"),o=t("es6-symbol").iterator,s=Array.isArray;e.exports=function(t){return!!i(t)&&(!!s(t)||(!!a(t)||(!!n(t)||"function"==typeof t[o])))}},{"es5-ext/function/is-arguments":184,"es5-ext/object/is-value":200,"es5-ext/string/is-string":215,"es6-symbol":225}],222:[function(t,e,r){"use strict";var n,i=t("es5-ext/object/set-prototype-of"),a=t("d"),o=t("es6-symbol"),s=t("./"),l=Object.defineProperty;n=e.exports=function(t){if(!(this instanceof n))throw new TypeError("Constructor requires 'new'");t=String(t),s.call(this,t),l(this,"__length__",a("",t.length))},i&&i(n,s),delete n.prototype.constructor,n.prototype=Object.create(s.prototype,{_next:a((function(){if(this.__list__)return this.__nextIndex__<this.__length__?this.__nextIndex__++:void this._unBind()})),_resolve:a((function(t){var e,r=this.__list__[t];return this.__nextIndex__===this.__length__?r:(e=r.charCodeAt(0))>=55296&&e<=56319?r+this.__list__[this.__nextIndex__++]:r}))}),l(n.prototype,o.toStringTag,a("c","String Iterator"))},{"./":220,d:155,"es5-ext/object/set-prototype-of":206,"es6-symbol":225}],223:[function(t,e,r){"use strict";var n=t("./is-iterable");e.exports=function(t){if(!n(t))throw new TypeError(t+" is not iterable");return t}},{"./is-iterable":221}],224:[function(t,e,r){(function(n,i){(function(){ +/*! + * @overview es6-promise - a tiny implementation of Promises/A+. + * @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald) + * @license Licensed under MIT license + * See https://raw.githubusercontent.com/stefanpenner/es6-promise/master/LICENSE + * @version v4.2.8+1e68dce6 + */ +!function(t,n){"object"==typeof r&&"undefined"!=typeof e?e.exports=n():t.ES6Promise=n()}(this,(function(){"use strict";function e(t){return"function"==typeof t}var r=Array.isArray?Array.isArray:function(t){return"[object Array]"===Object.prototype.toString.call(t)},a=0,o=void 0,s=void 0,l=function(t,e){g[a]=t,g[a+1]=e,2===(a+=2)&&(s?s(m):_())};var c="undefined"!=typeof window?window:void 0,u=c||{},f=u.MutationObserver||u.WebKitMutationObserver,h="undefined"==typeof self&&"undefined"!=typeof n&&"[object process]"==={}.toString.call(n),p="undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof importScripts&&"undefined"!=typeof MessageChannel;function d(){var t=setTimeout;return function(){return t(m,1)}}var g=new Array(1e3);function m(){for(var t=0;t<a;t+=2){(0,g[t])(g[t+1]),g[t]=void 0,g[t+1]=void 0}a=0}var v,y,x,b,_=void 0;function w(t,e){var r=this,n=new this.constructor(M);void 0===n[k]&&D(n);var i=r._state;if(i){var a=arguments[i-1];l((function(){return z(i,n,a,r._result)}))}else I(r,n,t,e);return n}function T(t){if(t&&"object"==typeof t&&t.constructor===this)return t;var e=new this(M);return S(e,t),e}h?_=function(){return n.nextTick(m)}:f?(y=0,x=new f(m),b=document.createTextNode(""),x.observe(b,{characterData:!0}),_=function(){b.data=y=++y%2}):p?((v=new MessageChannel).port1.onmessage=m,_=function(){return v.port2.postMessage(0)}):_=void 0===c&&"function"==typeof t?function(){try{var t=Function("return this")().require("vertx");return"undefined"!=typeof(o=t.runOnLoop||t.runOnContext)?function(){o(m)}:d()}catch(t){return d()}}():d();var k=Math.random().toString(36).substring(2);function M(){}function A(t,r,n){r.constructor===t.constructor&&n===w&&r.constructor.resolve===T?function(t,e){1===e._state?C(t,e._result):2===e._state?L(t,e._result):I(e,void 0,(function(e){return S(t,e)}),(function(e){return L(t,e)}))}(t,r):void 0===n?C(t,r):e(n)?function(t,e,r){l((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?S(t,r):C(t,r))}),(function(e){n||(n=!0,L(t,e))}),t._label);!n&&i&&(n=!0,L(t,i))}),t)}(t,r,n):C(t,r)}function S(t,e){if(t===e)L(t,new TypeError("You cannot resolve a promise with itself"));else if(i=typeof(n=e),null===n||"object"!==i&&"function"!==i)C(t,e);else{var r=void 0;try{r=e.then}catch(e){return void L(t,e)}A(t,e,r)}var n,i}function E(t){t._onerror&&t._onerror(t._result),P(t)}function C(t,e){void 0===t._state&&(t._result=e,t._state=1,0!==t._subscribers.length&&l(P,t))}function L(t,e){void 0===t._state&&(t._state=2,t._result=e,l(E,t))}function I(t,e,r,n){var i=t._subscribers,a=i.length;t._onerror=null,i[a]=e,i[a+1]=r,i[a+2]=n,0===a&&t._state&&l(P,t)}function P(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<e.length;o+=3)n=e[o],i=e[o+r],n?z(r,n,i,a):i(a);t._subscribers.length=0}}function z(t,r,n,i){var a=e(n),o=void 0,s=void 0,l=!0;if(a){try{o=n(i)}catch(t){l=!1,s=t}if(r===o)return void L(r,new TypeError("A promises callback cannot return that same promise."))}else o=i;void 0!==r._state||(a&&l?S(r,o):!1===l?L(r,s):1===t?C(r,o):2===t&&L(r,o))}var O=0;function D(t){t[k]=O++,t._state=void 0,t._result=void 0,t._subscribers=[]}var R=function(){function t(t,e){this._instanceConstructor=t,this.promise=new t(M),this.promise[k]||D(this.promise),r(e)?(this.length=e.length,this._remaining=e.length,this._result=new Array(this.length),0===this.length?C(this.promise,this._result):(this.length=this.length||0,this._enumerate(e),0===this._remaining&&C(this.promise,this._result))):L(this.promise,new Error("Array Methods must be provided an Array"))}return t.prototype._enumerate=function(t){for(var e=0;void 0===this._state&&e<t.length;e++)this._eachEntry(t[e],e)},t.prototype._eachEntry=function(t,e){var r=this._instanceConstructor,n=r.resolve;if(n===T){var i=void 0,a=void 0,o=!1;try{i=t.then}catch(t){o=!0,a=t}if(i===w&&void 0!==t._state)this._settledAt(t._state,e,t._result);else if("function"!=typeof i)this._remaining--,this._result[e]=t;else if(r===F){var s=new r(M);o?L(s,a):A(s,t,i),this._willSettleAt(s,e)}else this._willSettleAt(new r((function(e){return e(t)})),e)}else this._willSettleAt(n(t),e)},t.prototype._settledAt=function(t,e,r){var n=this.promise;void 0===n._state&&(this._remaining--,2===t?L(n,r):this._result[e]=r),0===this._remaining&&C(n,this._result)},t.prototype._willSettleAt=function(t,e){var r=this;I(t,void 0,(function(t){return r._settledAt(1,e,t)}),(function(t){return r._settledAt(2,e,t)}))},t}();var F=function(){function t(e){this[k]=O++,this._result=this._state=void 0,this._subscribers=[],M!==e&&("function"!=typeof e&&function(){throw new TypeError("You must pass a resolver function as the first argument to the promise constructor")}(),this instanceof t?function(t,e){try{e((function(e){S(t,e)}),(function(e){L(t,e)}))}catch(e){L(t,e)}}(this,e):function(){throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.")}())}return t.prototype.catch=function(t){return this.then(null,t)},t.prototype.finally=function(t){var r=this.constructor;return e(t)?this.then((function(e){return r.resolve(t()).then((function(){return e}))}),(function(e){return r.resolve(t()).then((function(){throw e}))})):this.then(t,t)},t}();return F.prototype.then=w,F.all=function(t){return new R(this,t).promise},F.race=function(t){var e=this;return r(t)?new e((function(r,n){for(var i=t.length,a=0;a<i;a++)e.resolve(t[a]).then(r,n)})):new e((function(t,e){return e(new TypeError("You must pass an array to race."))}))},F.resolve=T,F.reject=function(t){var e=new this(M);return L(e,t),e},F._setScheduler=function(t){s=t},F._setAsap=function(t){l=t},F._asap=l,F.polyfill=function(){var t=void 0;if("undefined"!=typeof i)t=i;else if("undefined"!=typeof self)t=self;else try{t=Function("return this")()}catch(t){throw new Error("polyfill failed because global object is unavailable in this environment")}var e=t.Promise;if(e){var r=null;try{r=Object.prototype.toString.call(e.resolve())}catch(t){}if("[object Promise]"===r&&!e.cast)return}t.Promise=F},F.Promise=F,F}))}).call(this)}).call(this,t("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{_process:526}],225:[function(t,e,r){"use strict";e.exports=t("./is-implemented")()?t("ext/global-this").Symbol:t("./polyfill")},{"./is-implemented":226,"./polyfill":231,"ext/global-this":238}],226:[function(t,e,r){"use strict";var n=t("ext/global-this"),i={object:!0,symbol:!0};e.exports=function(){var t,e=n.Symbol;if("function"!=typeof e)return!1;t=e("test symbol");try{String(t)}catch(t){return!1}return!!i[typeof e.iterator]&&(!!i[typeof e.toPrimitive]&&!!i[typeof e.toStringTag])}},{"ext/global-this":238}],227:[function(t,e,r){"use strict";e.exports=function(t){return!!t&&("symbol"==typeof t||!!t.constructor&&("Symbol"===t.constructor.name&&"Symbol"===t[t.constructor.toStringTag]))}},{}],228:[function(t,e,r){"use strict";var n=t("d"),i=Object.create,a=Object.defineProperty,o=Object.prototype,s=i(null);e.exports=function(t){for(var e,r,i=0;s[t+(i||"")];)++i;return s[t+=i||""]=!0,a(o,e="@@"+t,n.gs(null,(function(t){r||(r=!0,a(this,e,n(t)),r=!1)}))),e}},{d:155}],229:[function(t,e,r){"use strict";var n=t("d"),i=t("ext/global-this").Symbol;e.exports=function(t){return Object.defineProperties(t,{hasInstance:n("",i&&i.hasInstance||t("hasInstance")),isConcatSpreadable:n("",i&&i.isConcatSpreadable||t("isConcatSpreadable")),iterator:n("",i&&i.iterator||t("iterator")),match:n("",i&&i.match||t("match")),replace:n("",i&&i.replace||t("replace")),search:n("",i&&i.search||t("search")),species:n("",i&&i.species||t("species")),split:n("",i&&i.split||t("split")),toPrimitive:n("",i&&i.toPrimitive||t("toPrimitive")),toStringTag:n("",i&&i.toStringTag||t("toStringTag")),unscopables:n("",i&&i.unscopables||t("unscopables"))})}},{d:155,"ext/global-this":238}],230:[function(t,e,r){"use strict";var n=t("d"),i=t("../../../validate-symbol"),a=Object.create(null);e.exports=function(t){return Object.defineProperties(t,{for:n((function(e){return a[e]?a[e]:a[e]=t(String(e))})),keyFor:n((function(t){var e;for(e in i(t),a)if(a[e]===t)return e}))})}},{"../../../validate-symbol":232,d:155}],231:[function(t,e,r){"use strict";var n,i,a,o=t("d"),s=t("./validate-symbol"),l=t("ext/global-this").Symbol,c=t("./lib/private/generate-name"),u=t("./lib/private/setup/standard-symbols"),f=t("./lib/private/setup/symbol-registry"),h=Object.create,p=Object.defineProperties,d=Object.defineProperty;if("function"==typeof l)try{String(l()),a=!0}catch(t){}else l=null;i=function(t){if(this instanceof i)throw new TypeError("Symbol is not a constructor");return n(t)},e.exports=n=function t(e){var r;if(this instanceof t)throw new TypeError("Symbol is not a constructor");return a?l(e):(r=h(i.prototype),e=void 0===e?"":String(e),p(r,{__description__:o("",e),__name__:o("",c(e))}))},u(n),f(n),p(i.prototype,{constructor:o(n),toString:o("",(function(){return this.__name__}))}),p(n.prototype,{toString:o((function(){return"Symbol ("+s(this).__description__+")"})),valueOf:o((function(){return s(this)}))}),d(n.prototype,n.toPrimitive,o("",(function(){var t=s(this);return"symbol"==typeof t?t:t.toString()}))),d(n.prototype,n.toStringTag,o("c","Symbol")),d(i.prototype,n.toStringTag,o("c",n.prototype[n.toStringTag])),d(i.prototype,n.toPrimitive,o("c",n.prototype[n.toPrimitive]))},{"./lib/private/generate-name":228,"./lib/private/setup/standard-symbols":229,"./lib/private/setup/symbol-registry":230,"./validate-symbol":232,d:155,"ext/global-this":238}],232:[function(t,e,r){"use strict";var n=t("./is-symbol");e.exports=function(t){if(!n(t))throw new TypeError(t+" is not a symbol");return t}},{"./is-symbol":227}],233:[function(t,e,r){"use strict";e.exports=t("./is-implemented")()?WeakMap:t("./polyfill")},{"./is-implemented":234,"./polyfill":236}],234:[function(t,e,r){"use strict";e.exports=function(){var t,e;if("function"!=typeof WeakMap)return!1;try{t=new WeakMap([[e={},"one"],[{},"two"],[{},"three"]])}catch(t){return!1}return"[object WeakMap]"===String(t)&&("function"==typeof t.set&&(t.set({},1)===t&&("function"==typeof t.delete&&("function"==typeof t.has&&"one"===t.get(e)))))}},{}],235:[function(t,e,r){"use strict";e.exports="function"==typeof WeakMap&&"[object WeakMap]"===Object.prototype.toString.call(new WeakMap)},{}],236:[function(t,e,r){"use strict";var n,i=t("es5-ext/object/is-value"),a=t("es5-ext/object/set-prototype-of"),o=t("es5-ext/object/valid-object"),s=t("es5-ext/object/valid-value"),l=t("es5-ext/string/random-uniq"),c=t("d"),u=t("es6-iterator/get"),f=t("es6-iterator/for-of"),h=t("es6-symbol").toStringTag,p=t("./is-native-implemented"),d=Array.isArray,g=Object.defineProperty,m=Object.prototype.hasOwnProperty,v=Object.getPrototypeOf;e.exports=n=function(){var t,e=arguments[0];if(!(this instanceof n))throw new TypeError("Constructor requires 'new'");return t=p&&a&&WeakMap!==n?a(new WeakMap,v(this)):this,i(e)&&(d(e)||(e=u(e))),g(t,"__weakMapData__",c("c","$weakMap$"+l())),e?(f(e,(function(e){s(e),t.set(e[0],e[1])})),t):t},p&&(a&&a(n,WeakMap),n.prototype=Object.create(WeakMap.prototype,{constructor:c(n)})),Object.defineProperties(n.prototype,{delete:c((function(t){return!!m.call(o(t),this.__weakMapData__)&&(delete t[this.__weakMapData__],!0)})),get:c((function(t){if(m.call(o(t),this.__weakMapData__))return t[this.__weakMapData__]})),has:c((function(t){return m.call(o(t),this.__weakMapData__)})),set:c((function(t,e){return g(o(t),this.__weakMapData__,c("c",e)),this})),toString:c((function(){return"[object WeakMap]"}))}),g(n.prototype,h,c("c","WeakMap"))},{"./is-native-implemented":235,d:155,"es5-ext/object/is-value":200,"es5-ext/object/set-prototype-of":206,"es5-ext/object/valid-object":210,"es5-ext/object/valid-value":211,"es5-ext/string/random-uniq":216,"es6-iterator/for-of":218,"es6-iterator/get":219,"es6-symbol":225}],237:[function(t,e,r){var n=function(){if("object"==typeof self&&self)return self;if("object"==typeof window&&window)return window;throw new Error("Unable to resolve global `this`")};e.exports=function(){if(this)return this;try{Object.defineProperty(Object.prototype,"__global__",{get:function(){return this},configurable:!0})}catch(t){return n()}try{return __global__||n()}finally{delete Object.prototype.__global__}}()},{}],238:[function(t,e,r){"use strict";e.exports=t("./is-implemented")()?globalThis:t("./implementation")},{"./implementation":237,"./is-implemented":239}],239:[function(t,e,r){"use strict";e.exports=function(){return"object"==typeof globalThis&&(!!globalThis&&globalThis.Array===Array)}},{}],240:[function(t,e,r){"use strict";e.exports=function(t,e,r){var n=e||0,i=r||1;return[[t[12]+t[0],t[13]+t[1],t[14]+t[2],t[15]+t[3]],[t[12]-t[0],t[13]-t[1],t[14]-t[2],t[15]-t[3]],[t[12]+t[4],t[13]+t[5],t[14]+t[6],t[15]+t[7]],[t[12]-t[4],t[13]-t[5],t[14]-t[6],t[15]-t[7]],[n*t[12]+t[8],n*t[13]+t[9],n*t[14]+t[10],n*t[15]+t[11]],[i*t[12]-t[8],i*t[13]-t[9],i*t[14]-t[10],i*t[15]-t[11]]]}},{}],241:[function(t,e,r){"use strict";var n=t("is-string-blank");e.exports=function(t){var e=typeof t;if("string"===e){var r=t;if(0===(t=+t)&&n(r))return!1}else if("number"!==e)return!1;return t-t<1}},{"is-string-blank":470}],242:[function(t,e,r){"use strict";e.exports=function(t,e,r){switch(arguments.length){case 0:return new o([0],[0],0);case 1:return"number"==typeof t?new o(n=l(t),n,0):new o(t,l(t.length),0);case 2:if("number"==typeof e){var n=l(t.length);return new o(t,n,+e)}r=0;case 3:if(t.length!==e.length)throw new Error("state and velocity lengths must match");return new o(t,e,r)}};var n=t("cubic-hermite"),i=t("binary-search-bounds");function a(t,e,r){return Math.min(e,Math.max(t,r))}function o(t,e,r){this.dimension=t.length,this.bounds=[new Array(this.dimension),new Array(this.dimension)];for(var n=0;n<this.dimension;++n)this.bounds[0][n]=-1/0,this.bounds[1][n]=1/0;this._state=t.slice().reverse(),this._velocity=e.slice().reverse(),this._time=[r],this._scratch=[t.slice(),t.slice(),t.slice(),t.slice(),t.slice()]}var s=o.prototype;function l(t){for(var e=new Array(t),r=0;r<t;++r)e[r]=0;return e}s.flush=function(t){var e=i.gt(this._time,t)-1;e<=0||(this._time.splice(0,e),this._state.splice(0,e*this.dimension),this._velocity.splice(0,e*this.dimension))},s.curve=function(t){var e=this._time,r=e.length,o=i.le(e,t),s=this._scratch[0],l=this._state,c=this._velocity,u=this.dimension,f=this.bounds;if(o<0)for(var h=u-1,p=0;p<u;++p,--h)s[p]=l[h];else if(o>=r-1){h=l.length-1;var d=t-e[r-1];for(p=0;p<u;++p,--h)s[p]=l[h]+d*c[h]}else{h=u*(o+1)-1;var g=e[o],m=e[o+1]-g||1,v=this._scratch[1],y=this._scratch[2],x=this._scratch[3],b=this._scratch[4],_=!0;for(p=0;p<u;++p,--h)v[p]=l[h],x[p]=c[h]*m,y[p]=l[h+u],b[p]=c[h+u]*m,_=_&&v[p]===y[p]&&x[p]===b[p]&&0===x[p];if(_)for(p=0;p<u;++p)s[p]=v[p];else n(v,x,y,b,(t-g)/m,s)}var w=f[0],T=f[1];for(p=0;p<u;++p)s[p]=a(w[p],T[p],s[p]);return s},s.dcurve=function(t){var e=this._time,r=e.length,a=i.le(e,t),o=this._scratch[0],s=this._state,l=this._velocity,c=this.dimension;if(a>=r-1)for(var u=s.length-1,f=(e[r-1],0);f<c;++f,--u)o[f]=l[u];else{u=c*(a+1)-1;var h=e[a],p=e[a+1]-h||1,d=this._scratch[1],g=this._scratch[2],m=this._scratch[3],v=this._scratch[4],y=!0;for(f=0;f<c;++f,--u)d[f]=s[u],m[f]=l[u]*p,g[f]=s[u+c],v[f]=l[u+c]*p,y=y&&d[f]===g[f]&&m[f]===v[f]&&0===m[f];if(y)for(f=0;f<c;++f)o[f]=0;else{n.derivative(d,m,g,v,(t-h)/p,o);for(f=0;f<c;++f)o[f]/=p}}return o},s.lastT=function(){var t=this._time;return t[t.length-1]},s.stable=function(){for(var t=this._velocity,e=t.length,r=this.dimension-1;r>=0;--r)if(t[--e])return!1;return!0},s.jump=function(t){var e=this.lastT(),r=this.dimension;if(!(t<e||arguments.length!==r+1)){var n=this._state,i=this._velocity,o=n.length-this.dimension,s=this.bounds,l=s[0],c=s[1];this._time.push(e,t);for(var u=0;u<2;++u)for(var f=0;f<r;++f)n.push(n[o++]),i.push(0);this._time.push(t);for(f=r;f>0;--f)n.push(a(l[f-1],c[f-1],arguments[f])),i.push(0)}},s.push=function(t){var e=this.lastT(),r=this.dimension;if(!(t<e||arguments.length!==r+1)){var n=this._state,i=this._velocity,o=n.length-this.dimension,s=t-e,l=this.bounds,c=l[0],u=l[1],f=s>1e-6?1/s:0;this._time.push(t);for(var h=r;h>0;--h){var p=a(c[h-1],u[h-1],arguments[h]);n.push(p),i.push((p-n[o++])*f)}}},s.set=function(t){var e=this.dimension;if(!(t<this.lastT()||arguments.length!==e+1)){var r=this._state,n=this._velocity,i=this.bounds,o=i[0],s=i[1];this._time.push(t);for(var l=e;l>0;--l)r.push(a(o[l-1],s[l-1],arguments[l])),n.push(0)}},s.move=function(t){var e=this.lastT(),r=this.dimension;if(!(t<=e||arguments.length!==r+1)){var n=this._state,i=this._velocity,o=n.length-this.dimension,s=this.bounds,l=s[0],c=s[1],u=t-e,f=u>1e-6?1/u:0;this._time.push(t);for(var h=r;h>0;--h){var p=arguments[h];n.push(a(l[h-1],c[h-1],n[o++]+p)),i.push(p*f)}}},s.idle=function(t){var e=this.lastT();if(!(t<e)){var r=this.dimension,n=this._state,i=this._velocity,o=n.length-r,s=this.bounds,l=s[0],c=s[1],u=t-e;this._time.push(t);for(var f=r-1;f>=0;--f)n.push(a(l[f],c[f],n[o]+u*i[o])),i.push(0),o+=1}}},{"binary-search-bounds":243,"cubic-hermite":150}],243:[function(t,e,r){"use strict";function n(t,e,r,n,i,a){var o=["function ",t,"(a,l,h,",n.join(","),"){",a?"":"var i=",r?"l-1":"h+1",";while(l<=h){var m=(l+h)>>>1,x=a",i?".get(m)":"[m]"];return a?e.indexOf("c")<0?o.push(";if(x===y){return m}else if(x<=y){"):o.push(";var p=c(x,y);if(p===0){return m}else if(p<=0){"):o.push(";if(",e,"){i=m;"),r?o.push("l=m+1}else{h=m-1}"):o.push("h=m-1}else{l=m+1}"),o.push("}"),a?o.push("return -1};"):o.push("return i};"),o.join("")}function i(t,e,r,i){return new Function([n("A","x"+t+"y",e,["y"],!1,i),n("B","x"+t+"y",e,["y"],!0,i),n("P","c(x,y)"+t+"0",e,["y","c"],!1,i),n("Q","c(x,y)"+t+"0",e,["y","c"],!0,i),"function dispatchBsearch",r,"(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",r].join(""))()}e.exports={ge:i(">=",!1,"GE"),gt:i(">",!1,"GT"),lt:i("<",!0,"LT"),le:i("<=",!0,"LE"),eq:i("-",!0,"EQ",!0)}},{}],244:[function(t,e,r){var n=t("dtype");e.exports=function(t,e,r){if(!t)throw new TypeError("must specify data as first parameter");if(r=0|+(r||0),Array.isArray(t)&&t[0]&&"number"==typeof t[0][0]){var i,a,o,s,l=t[0].length,c=t.length*l;e&&"string"!=typeof e||(e=new(n(e||"float32"))(c+r));var u=e.length-r;if(c!==u)throw new Error("source length "+c+" ("+l+"x"+t.length+") does not match destination length "+u);for(i=0,o=r;i<t.length;i++)for(a=0;a<l;a++)e[o++]=null===t[i][a]?NaN:t[i][a]}else if(e&&"string"!=typeof e)e.set(t,r);else{var f=n(e||"float32");if(Array.isArray(t)||"array"===e)for(e=new f(t.length+r),i=0,o=r,s=e.length;o<s;o++,i++)e[o]=null===t[i]?NaN:t[i];else 0===r?e=new f(t):(e=new f(t.length+r)).set(t,r)}return e}},{dtype:175}],245:[function(t,e,r){"use strict";var n=t("css-font/stringify"),i=[32,126];e.exports=function(t){var e=(t=t||{}).shape?t.shape:t.canvas?[t.canvas.width,t.canvas.height]:[512,512],r=t.canvas||document.createElement("canvas"),a=t.font,o="number"==typeof t.step?[t.step,t.step]:t.step||[32,32],s=t.chars||i;a&&"string"!=typeof a&&(a=n(a));if(Array.isArray(s)){if(2===s.length&&"number"==typeof s[0]&&"number"==typeof s[1]){for(var l=[],c=s[0],u=0;c<=s[1];c++)l[u++]=String.fromCharCode(c);s=l}}else s=String(s).split("");e=e.slice(),r.width=e[0],r.height=e[1];var f=r.getContext("2d");f.fillStyle="#000",f.fillRect(0,0,r.width,r.height),f.font=a,f.textAlign="center",f.textBaseline="middle",f.fillStyle="#fff";var h=o[0]/2,p=o[1]/2;for(c=0;c<s.length;c++)f.fillText(s[c],h,p),(h+=o[0])>e[0]-o[0]/2&&(h=o[0]/2,p+=o[1]);return r}},{"css-font/stringify":147}],246:[function(t,e,r){"use strict";function n(t,e){e||(e={}),("string"==typeof t||Array.isArray(t))&&(e.family=t);var r=Array.isArray(e.family)?e.family.join(", "):e.family;if(!r)throw Error("`family` must be defined");var s=e.size||e.fontSize||e.em||48,l=e.weight||e.fontWeight||"",c=(t=[e.style||e.fontStyle||"",l,s].join(" ")+"px "+r,e.origin||"top");if(n.cache[r]&&s<=n.cache[r].em)return i(n.cache[r],c);var u=e.canvas||n.canvas,f=u.getContext("2d"),h={upper:void 0!==e.upper?e.upper:"H",lower:void 0!==e.lower?e.lower:"x",descent:void 0!==e.descent?e.descent:"p",ascent:void 0!==e.ascent?e.ascent:"h",tittle:void 0!==e.tittle?e.tittle:"i",overshoot:void 0!==e.overshoot?e.overshoot:"O"},p=Math.ceil(1.5*s);u.height=p,u.width=.5*p,f.font=t;var d={top:0};f.clearRect(0,0,p,p),f.textBaseline="top",f.fillStyle="black",f.fillText("H",0,0);var g=a(f.getImageData(0,0,p,p));f.clearRect(0,0,p,p),f.textBaseline="bottom",f.fillText("H",0,p);var m=a(f.getImageData(0,0,p,p));d.lineHeight=d.bottom=p-m+g,f.clearRect(0,0,p,p),f.textBaseline="alphabetic",f.fillText("H",0,p);var v=p-a(f.getImageData(0,0,p,p))-1+g;d.baseline=d.alphabetic=v,f.clearRect(0,0,p,p),f.textBaseline="middle",f.fillText("H",0,.5*p);var y=a(f.getImageData(0,0,p,p));d.median=d.middle=p-y-1+g-.5*p,f.clearRect(0,0,p,p),f.textBaseline="hanging",f.fillText("H",0,.5*p);var x=a(f.getImageData(0,0,p,p));d.hanging=p-x-1+g-.5*p,f.clearRect(0,0,p,p),f.textBaseline="ideographic",f.fillText("H",0,p);var b=a(f.getImageData(0,0,p,p));if(d.ideographic=p-b-1+g,h.upper&&(f.clearRect(0,0,p,p),f.textBaseline="top",f.fillText(h.upper,0,0),d.upper=a(f.getImageData(0,0,p,p)),d.capHeight=d.baseline-d.upper),h.lower&&(f.clearRect(0,0,p,p),f.textBaseline="top",f.fillText(h.lower,0,0),d.lower=a(f.getImageData(0,0,p,p)),d.xHeight=d.baseline-d.lower),h.tittle&&(f.clearRect(0,0,p,p),f.textBaseline="top",f.fillText(h.tittle,0,0),d.tittle=a(f.getImageData(0,0,p,p))),h.ascent&&(f.clearRect(0,0,p,p),f.textBaseline="top",f.fillText(h.ascent,0,0),d.ascent=a(f.getImageData(0,0,p,p))),h.descent&&(f.clearRect(0,0,p,p),f.textBaseline="top",f.fillText(h.descent,0,0),d.descent=o(f.getImageData(0,0,p,p))),h.overshoot){f.clearRect(0,0,p,p),f.textBaseline="top",f.fillText(h.overshoot,0,0);var _=o(f.getImageData(0,0,p,p));d.overshoot=_-v}for(var w in d)d[w]/=s;return d.em=s,n.cache[r]=d,i(d,c)}function i(t,e){var r={};for(var n in"string"==typeof e&&(e=t[e]),t)"em"!==n&&(r[n]=t[n]-e);return r}function a(t){for(var e=t.height,r=t.data,n=3;n<r.length;n+=4)if(0!==r[n])return Math.floor(.25*(n-3)/e)}function o(t){for(var e=t.height,r=t.data,n=r.length-1;n>0;n-=4)if(0!==r[n])return Math.floor(.25*(n-3)/e)}e.exports=n,n.canvas=document.createElement("canvas"),n.cache={}},{}],247:[function(t,e,r){"use strict";e.exports=function(t){return new s(t||g,null)};function n(t,e,r,n,i,a){this._color=t,this.key=e,this.value=r,this.left=n,this.right=i,this._count=a}function i(t){return new n(t._color,t.key,t.value,t.left,t.right,t._count)}function a(t,e){return new n(t,e.key,e.value,e.left,e.right,e._count)}function o(t){t._count=1+(t.left?t.left._count:0)+(t.right?t.right._count:0)}function s(t,e){this._compare=t,this.root=e}var l=s.prototype;function c(t,e){var r;if(e.left&&(r=c(t,e.left)))return r;return(r=t(e.key,e.value))||(e.right?c(t,e.right):void 0)}function u(t,e,r,n){if(e(t,n.key)<=0){var i;if(n.left)if(i=u(t,e,r,n.left))return i;if(i=r(n.key,n.value))return i}if(n.right)return u(t,e,r,n.right)}function f(t,e,r,n,i){var a,o=r(t,i.key),s=r(e,i.key);if(o<=0){if(i.left&&(a=f(t,e,r,n,i.left)))return a;if(s>0&&(a=n(i.key,i.value)))return a}if(s>0&&i.right)return f(t,e,r,n,i.right)}function h(t,e){this.tree=t,this._stack=e}Object.defineProperty(l,"keys",{get:function(){var t=[];return this.forEach((function(e,r){t.push(e)})),t}}),Object.defineProperty(l,"values",{get:function(){var t=[];return this.forEach((function(e,r){t.push(r)})),t}}),Object.defineProperty(l,"length",{get:function(){return this.root?this.root._count:0}}),l.insert=function(t,e){for(var r=this._compare,i=this.root,l=[],c=[];i;){var u=r(t,i.key);l.push(i),c.push(u),i=u<=0?i.left:i.right}l.push(new n(0,t,e,null,null,1));for(var f=l.length-2;f>=0;--f){i=l[f];c[f]<=0?l[f]=new n(i._color,i.key,i.value,l[f+1],i.right,i._count+1):l[f]=new n(i._color,i.key,i.value,i.left,l[f+1],i._count+1)}for(f=l.length-1;f>1;--f){var h=l[f-1];i=l[f];if(1===h._color||1===i._color)break;var p=l[f-2];if(p.left===h)if(h.left===i){if(!(d=p.right)||0!==d._color){if(p._color=0,p.left=h.right,h._color=1,h.right=p,l[f-2]=h,l[f-1]=i,o(p),o(h),f>=3)(g=l[f-3]).left===p?g.left=h:g.right=h;break}h._color=1,p.right=a(1,d),p._color=0,f-=1}else{if(!(d=p.right)||0!==d._color){if(h.right=i.left,p._color=0,p.left=i.right,i._color=1,i.left=h,i.right=p,l[f-2]=i,l[f-1]=h,o(p),o(h),o(i),f>=3)(g=l[f-3]).left===p?g.left=i:g.right=i;break}h._color=1,p.right=a(1,d),p._color=0,f-=1}else if(h.right===i){if(!(d=p.left)||0!==d._color){if(p._color=0,p.right=h.left,h._color=1,h.left=p,l[f-2]=h,l[f-1]=i,o(p),o(h),f>=3)(g=l[f-3]).right===p?g.right=h:g.left=h;break}h._color=1,p.left=a(1,d),p._color=0,f-=1}else{var d;if(!(d=p.left)||0!==d._color){var g;if(h.left=i.right,p._color=0,p.right=i.left,i._color=1,i.right=h,i.left=p,l[f-2]=i,l[f-1]=h,o(p),o(h),o(i),f>=3)(g=l[f-3]).right===p?g.right=i:g.left=i;break}h._color=1,p.left=a(1,d),p._color=0,f-=1}}return l[0]._color=1,new s(r,l[0])},l.forEach=function(t,e,r){if(this.root)switch(arguments.length){case 1:return c(t,this.root);case 2:return u(e,this._compare,t,this.root);case 3:if(this._compare(e,r)>=0)return;return f(e,r,this._compare,t,this.root)}},Object.defineProperty(l,"begin",{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.left;return new h(this,t)}}),Object.defineProperty(l,"end",{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.right;return new h(this,t)}}),l.at=function(t){if(t<0)return new h(this,[]);for(var e=this.root,r=[];;){if(r.push(e),e.left){if(t<e.left._count){e=e.left;continue}t-=e.left._count}if(!t)return new h(this,r);if(t-=1,!e.right)break;if(t>=e.right._count)break;e=e.right}return new h(this,[])},l.ge=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a<=0&&(i=n.length),r=a<=0?r.left:r.right}return n.length=i,new h(this,n)},l.gt=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a<0&&(i=n.length),r=a<0?r.left:r.right}return n.length=i,new h(this,n)},l.lt=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a>0&&(i=n.length),r=a<=0?r.left:r.right}return n.length=i,new h(this,n)},l.le=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a>=0&&(i=n.length),r=a<0?r.left:r.right}return n.length=i,new h(this,n)},l.find=function(t){for(var e=this._compare,r=this.root,n=[];r;){var i=e(t,r.key);if(n.push(r),0===i)return new h(this,n);r=i<=0?r.left:r.right}return new h(this,[])},l.remove=function(t){var e=this.find(t);return e?e.remove():this},l.get=function(t){for(var e=this._compare,r=this.root;r;){var n=e(t,r.key);if(0===n)return r.value;r=n<=0?r.left:r.right}};var p=h.prototype;function d(t,e){t.key=e.key,t.value=e.value,t.left=e.left,t.right=e.right,t._color=e._color,t._count=e._count}function g(t,e){return t<e?-1:t>e?1:0}Object.defineProperty(p,"valid",{get:function(){return this._stack.length>0}}),Object.defineProperty(p,"node",{get:function(){return this._stack.length>0?this._stack[this._stack.length-1]:null},enumerable:!0}),p.clone=function(){return new h(this.tree,this._stack.slice())},p.remove=function(){var t=this._stack;if(0===t.length)return this.tree;var e=new Array(t.length),r=t[t.length-1];e[e.length-1]=new n(r._color,r.key,r.value,r.left,r.right,r._count);for(var l=t.length-2;l>=0;--l){(r=t[l]).left===t[l+1]?e[l]=new n(r._color,r.key,r.value,e[l+1],r.right,r._count):e[l]=new n(r._color,r.key,r.value,r.left,e[l+1],r._count)}if((r=e[e.length-1]).left&&r.right){var c=e.length;for(r=r.left;r.right;)e.push(r),r=r.right;var u=e[c-1];e.push(new n(r._color,u.key,u.value,r.left,r.right,r._count)),e[c-1].key=r.key,e[c-1].value=r.value;for(l=e.length-2;l>=c;--l)r=e[l],e[l]=new n(r._color,r.key,r.value,r.left,e[l+1],r._count);e[c-1].left=e[c]}if(0===(r=e[e.length-1])._color){var f=e[e.length-2];f.left===r?f.left=null:f.right===r&&(f.right=null),e.pop();for(l=0;l<e.length;++l)e[l]._count--;return new s(this.tree._compare,e[0])}if(r.left||r.right){r.left?d(r,r.left):r.right&&d(r,r.right),r._color=1;for(l=0;l<e.length-1;++l)e[l]._count--;return new s(this.tree._compare,e[0])}if(1===e.length)return new s(this.tree._compare,null);for(l=0;l<e.length;++l)e[l]._count--;var h=e[e.length-2];return function(t){for(var e,r,n,s,l=t.length-1;l>=0;--l){if(e=t[l],0===l)return void(e._color=1);if((r=t[l-1]).left===e){if((n=r.right).right&&0===n.right._color){if(s=(n=r.right=i(n)).right=i(n.right),r.right=n.left,n.left=r,n.right=s,n._color=r._color,e._color=1,r._color=1,s._color=1,o(r),o(n),l>1)(c=t[l-2]).left===r?c.left=n:c.right=n;return void(t[l-1]=n)}if(n.left&&0===n.left._color){if(s=(n=r.right=i(n)).left=i(n.left),r.right=s.left,n.left=s.right,s.left=r,s.right=n,s._color=r._color,r._color=1,n._color=1,e._color=1,o(r),o(n),o(s),l>1)(c=t[l-2]).left===r?c.left=s:c.right=s;return void(t[l-1]=s)}if(1===n._color){if(0===r._color)return r._color=1,void(r.right=a(0,n));r.right=a(0,n);continue}n=i(n),r.right=n.left,n.left=r,n._color=r._color,r._color=0,o(r),o(n),l>1&&((c=t[l-2]).left===r?c.left=n:c.right=n),t[l-1]=n,t[l]=r,l+1<t.length?t[l+1]=e:t.push(e),l+=2}else{if((n=r.left).left&&0===n.left._color){if(s=(n=r.left=i(n)).left=i(n.left),r.left=n.right,n.right=r,n.left=s,n._color=r._color,e._color=1,r._color=1,s._color=1,o(r),o(n),l>1)(c=t[l-2]).right===r?c.right=n:c.left=n;return void(t[l-1]=n)}if(n.right&&0===n.right._color){if(s=(n=r.left=i(n)).right=i(n.right),r.left=s.right,n.right=s.left,s.right=r,s.left=n,s._color=r._color,r._color=1,n._color=1,e._color=1,o(r),o(n),o(s),l>1)(c=t[l-2]).right===r?c.right=s:c.left=s;return void(t[l-1]=s)}if(1===n._color){if(0===r._color)return r._color=1,void(r.left=a(0,n));r.left=a(0,n);continue}var c;n=i(n),r.left=n.right,n.right=r,n._color=r._color,r._color=0,o(r),o(n),l>1&&((c=t[l-2]).right===r?c.right=n:c.left=n),t[l-1]=n,t[l]=r,l+1<t.length?t[l+1]=e:t.push(e),l+=2}}}(e),h.left===r?h.left=null:h.right=null,new s(this.tree._compare,e[0])},Object.defineProperty(p,"key",{get:function(){if(this._stack.length>0)return this._stack[this._stack.length-1].key},enumerable:!0}),Object.defineProperty(p,"value",{get:function(){if(this._stack.length>0)return this._stack[this._stack.length-1].value},enumerable:!0}),Object.defineProperty(p,"index",{get:function(){var t=0,e=this._stack;if(0===e.length){var r=this.tree.root;return r?r._count:0}e[e.length-1].left&&(t=e[e.length-1].left._count);for(var n=e.length-2;n>=0;--n)e[n+1]===e[n].right&&(++t,e[n].left&&(t+=e[n].left._count));return t},enumerable:!0}),p.next=function(){var t=this._stack;if(0!==t.length){var e=t[t.length-1];if(e.right)for(e=e.right;e;)t.push(e),e=e.left;else for(t.pop();t.length>0&&t[t.length-1].right===e;)e=t[t.length-1],t.pop()}},Object.defineProperty(p,"hasNext",{get:function(){var t=this._stack;if(0===t.length)return!1;if(t[t.length-1].right)return!0;for(var e=t.length-1;e>0;--e)if(t[e-1].left===t[e])return!0;return!1}}),p.update=function(t){var e=this._stack;if(0===e.length)throw new Error("Can't update empty node!");var r=new Array(e.length),i=e[e.length-1];r[r.length-1]=new n(i._color,i.key,t,i.left,i.right,i._count);for(var a=e.length-2;a>=0;--a)(i=e[a]).left===e[a+1]?r[a]=new n(i._color,i.key,i.value,r[a+1],i.right,i._count):r[a]=new n(i._color,i.key,i.value,i.left,r[a+1],i._count);return new s(this.tree._compare,r[0])},p.prev=function(){var t=this._stack;if(0!==t.length){var e=t[t.length-1];if(e.left)for(e=e.left;e;)t.push(e),e=e.right;else for(t.pop();t.length>0&&t[t.length-1].left===e;)e=t[t.length-1],t.pop()}},Object.defineProperty(p,"hasPrev",{get:function(){var t=this._stack;if(0===t.length)return!1;if(t[t.length-1].left)return!0;for(var e=t.length-1;e>0;--e)if(t[e-1].right===t[e])return!0;return!1}})},{}],248:[function(t,e,r){var n=[.9999999999998099,676.5203681218851,-1259.1392167224028,771.3234287776531,-176.6150291621406,12.507343278686905,-.13857109526572012,9984369578019572e-21,1.5056327351493116e-7],i=[.9999999999999971,57.15623566586292,-59.59796035547549,14.136097974741746,-.4919138160976202,3399464998481189e-20,4652362892704858e-20,-9837447530487956e-20,.0001580887032249125,-.00021026444172410488,.00021743961811521265,-.0001643181065367639,8441822398385275e-20,-26190838401581408e-21,36899182659531625e-22];function a(t){if(t<0)return Number("0/0");for(var e=i[0],r=i.length-1;r>0;--r)e+=i[r]/(t+r);var n=t+607/128+.5;return.5*Math.log(2*Math.PI)+(t+.5)*Math.log(n)-n+Math.log(e)-Math.log(t)}e.exports=function t(e){if(e<.5)return Math.PI/(Math.sin(Math.PI*e)*t(1-e));if(e>100)return Math.exp(a(e));e-=1;for(var r=n[0],i=1;i<9;i++)r+=n[i]/(e+i);var o=e+7+.5;return Math.sqrt(2*Math.PI)*Math.pow(o,e+.5)*Math.exp(-o)*r},e.exports.log=a},{}],249:[function(t,e,r){e.exports=function(t,e){if("string"!=typeof t)throw new TypeError("must specify type string");if(e=e||{},"undefined"==typeof document&&!e.canvas)return null;var r=e.canvas||document.createElement("canvas");"number"==typeof e.width&&(r.width=e.width);"number"==typeof e.height&&(r.height=e.height);var n,i=e;try{var a=[t];0===t.indexOf("webgl")&&a.push("experimental-"+t);for(var o=0;o<a.length;o++)if(n=r.getContext(a[o],i))return n}catch(t){n=null}return n||null}},{}],250:[function(t,e,r){"use strict";e.exports=function(t,e){var r=new u(t);return r.update(e),r};var n=t("./lib/text.js"),i=t("./lib/lines.js"),a=t("./lib/background.js"),o=t("./lib/cube.js"),s=t("./lib/ticks.js"),l=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]);function c(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function u(t){this.gl=t,this.pixelRatio=1,this.bounds=[[-10,-10,-10],[10,10,10]],this.ticks=[[],[],[]],this.autoTicks=!0,this.tickSpacing=[1,1,1],this.tickEnable=[!0,!0,!0],this.tickFont=["sans-serif","sans-serif","sans-serif"],this.tickSize=[12,12,12],this.tickAngle=[0,0,0],this.tickAlign=["auto","auto","auto"],this.tickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.tickPad=[10,10,10],this.lastCubeProps={cubeEdges:[0,0,0],axis:[0,0,0]},this.labels=["x","y","z"],this.labelEnable=[!0,!0,!0],this.labelFont="sans-serif",this.labelSize=[20,20,20],this.labelAngle=[0,0,0],this.labelAlign=["auto","auto","auto"],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.labelPad=[10,10,10],this.lineEnable=[!0,!0,!0],this.lineMirror=[!1,!1,!1],this.lineWidth=[1,1,1],this.lineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.lineTickEnable=[!0,!0,!0],this.lineTickMirror=[!1,!1,!1],this.lineTickLength=[0,0,0],this.lineTickWidth=[1,1,1],this.lineTickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.gridEnable=[!0,!0,!0],this.gridWidth=[1,1,1],this.gridColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroEnable=[!0,!0,!0],this.zeroLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroLineWidth=[2,2,2],this.backgroundEnable=[!1,!1,!1],this.backgroundColor=[[.8,.8,.8,.5],[.8,.8,.8,.5],[.8,.8,.8,.5]],this._firstInit=!0,this._text=null,this._lines=null,this._background=a(t)}var f=u.prototype;function h(){this.primalOffset=[0,0,0],this.primalMinor=[0,0,0],this.mirrorOffset=[0,0,0],this.mirrorMinor=[0,0,0]}f.update=function(t){function e(e,r,n){if(n in t){var i,a=t[n],o=this[n];(e?Array.isArray(a)&&Array.isArray(a[0]):Array.isArray(a))?this[n]=i=[r(a[0]),r(a[1]),r(a[2])]:this[n]=i=[r(a),r(a),r(a)];for(var s=0;s<3;++s)if(i[s]!==o[s])return!0}return!1}t=t||{};var r,a=e.bind(this,!1,Number),o=e.bind(this,!1,Boolean),l=e.bind(this,!1,String),c=e.bind(this,!0,(function(t){if(Array.isArray(t)){if(3===t.length)return[+t[0],+t[1],+t[2],1];if(4===t.length)return[+t[0],+t[1],+t[2],+t[3]]}return[0,0,0,1]})),u=!1,f=!1;if("bounds"in t)for(var h=t.bounds,p=0;p<2;++p)for(var d=0;d<3;++d)h[p][d]!==this.bounds[p][d]&&(f=!0),this.bounds[p][d]=h[p][d];if("ticks"in t){r=t.ticks,u=!0,this.autoTicks=!1;for(p=0;p<3;++p)this.tickSpacing[p]=0}else a("tickSpacing")&&(this.autoTicks=!0,f=!0);if(this._firstInit&&("ticks"in t||"tickSpacing"in t||(this.autoTicks=!0),f=!0,u=!0,this._firstInit=!1),f&&this.autoTicks&&(r=s.create(this.bounds,this.tickSpacing),u=!0),u){for(p=0;p<3;++p)r[p].sort((function(t,e){return t.x-e.x}));s.equal(r,this.ticks)?u=!1:this.ticks=r}o("tickEnable"),l("tickFont")&&(u=!0),a("tickSize"),a("tickAngle"),a("tickPad"),c("tickColor");var g=l("labels");l("labelFont")&&(g=!0),o("labelEnable"),a("labelSize"),a("labelPad"),c("labelColor"),o("lineEnable"),o("lineMirror"),a("lineWidth"),c("lineColor"),o("lineTickEnable"),o("lineTickMirror"),a("lineTickLength"),a("lineTickWidth"),c("lineTickColor"),o("gridEnable"),a("gridWidth"),c("gridColor"),o("zeroEnable"),c("zeroLineColor"),a("zeroLineWidth"),o("backgroundEnable"),c("backgroundColor"),this._text?this._text&&(g||u)&&this._text.update(this.bounds,this.labels,this.labelFont,this.ticks,this.tickFont):this._text=n(this.gl,this.bounds,this.labels,this.labelFont,this.ticks,this.tickFont),this._lines&&u&&(this._lines.dispose(),this._lines=null),this._lines||(this._lines=i(this.gl,this.bounds,this.ticks))};var p=[new h,new h,new h];function d(t,e,r,n,i){for(var a=t.primalOffset,o=t.primalMinor,s=t.mirrorOffset,l=t.mirrorMinor,c=n[e],u=0;u<3;++u)if(e!==u){var f=a,h=s,p=o,d=l;c&1<<u&&(f=s,h=a,p=l,d=o),f[u]=r[0][u],h[u]=r[1][u],i[u]>0?(p[u]=-1,d[u]=0):(p[u]=0,d[u]=1)}}var g=[0,0,0],m={model:l,view:l,projection:l,_ortho:!1};f.isOpaque=function(){return!0},f.isTransparent=function(){return!1},f.drawTransparent=function(t){};var v=[0,0,0],y=[0,0,0],x=[0,0,0];f.draw=function(t){t=t||m;for(var e=this.gl,r=t.model||l,n=t.view||l,i=t.projection||l,a=this.bounds,s=t._ortho||!1,u=o(r,n,i,a,s),f=u.cubeEdges,h=u.axis,b=n[12],_=n[13],w=n[14],T=n[15],k=(s?2:1)*this.pixelRatio*(i[3]*b+i[7]*_+i[11]*w+i[15]*T)/e.drawingBufferHeight,M=0;M<3;++M)this.lastCubeProps.cubeEdges[M]=f[M],this.lastCubeProps.axis[M]=h[M];var A=p;for(M=0;M<3;++M)d(p[M],M,this.bounds,f,h);e=this.gl;var S,E=g;for(M=0;M<3;++M)this.backgroundEnable[M]?E[M]=h[M]:E[M]=0;this._background.draw(r,n,i,a,E,this.backgroundColor),this._lines.bind(r,n,i,this);for(M=0;M<3;++M){var C=[0,0,0];h[M]>0?C[M]=a[1][M]:C[M]=a[0][M];for(var L=0;L<2;++L){var I=(M+1+L)%3,P=(M+1+(1^L))%3;this.gridEnable[I]&&this._lines.drawGrid(I,P,this.bounds,C,this.gridColor[I],this.gridWidth[I]*this.pixelRatio)}for(L=0;L<2;++L){I=(M+1+L)%3,P=(M+1+(1^L))%3;this.zeroEnable[P]&&Math.min(a[0][P],a[1][P])<=0&&Math.max(a[0][P],a[1][P])>=0&&this._lines.drawZero(I,P,this.bounds,C,this.zeroLineColor[P],this.zeroLineWidth[P]*this.pixelRatio)}}for(M=0;M<3;++M){this.lineEnable[M]&&this._lines.drawAxisLine(M,this.bounds,A[M].primalOffset,this.lineColor[M],this.lineWidth[M]*this.pixelRatio),this.lineMirror[M]&&this._lines.drawAxisLine(M,this.bounds,A[M].mirrorOffset,this.lineColor[M],this.lineWidth[M]*this.pixelRatio);var z=c(v,A[M].primalMinor),O=c(y,A[M].mirrorMinor),D=this.lineTickLength;for(L=0;L<3;++L){var R=k/r[5*L];z[L]*=D[L]*R,O[L]*=D[L]*R}this.lineTickEnable[M]&&this._lines.drawAxisTicks(M,A[M].primalOffset,z,this.lineTickColor[M],this.lineTickWidth[M]*this.pixelRatio),this.lineTickMirror[M]&&this._lines.drawAxisTicks(M,A[M].mirrorOffset,O,this.lineTickColor[M],this.lineTickWidth[M]*this.pixelRatio)}this._lines.unbind(),this._text.bind(r,n,i,this.pixelRatio);var F,B;function N(t){(B=[0,0,0])[t]=1}function j(t,e,r){var n=(t+1)%3,i=(t+2)%3,a=e[n],o=e[i],s=r[n],l=r[i];a>0&&l>0||a>0&&l<0||a<0&&l>0||a<0&&l<0?N(n):(o>0&&s>0||o>0&&s<0||o<0&&s>0||o<0&&s<0)&&N(i)}for(M=0;M<3;++M){var U=A[M].primalMinor,V=A[M].mirrorMinor,q=c(x,A[M].primalOffset);for(L=0;L<3;++L)this.lineTickEnable[M]&&(q[L]+=k*U[L]*Math.max(this.lineTickLength[L],0)/r[5*L]);var H=[0,0,0];if(H[M]=1,this.tickEnable[M]){-3600===this.tickAngle[M]?(this.tickAngle[M]=0,this.tickAlign[M]="auto"):this.tickAlign[M]=-1,F=1,"auto"===(S=[this.tickAlign[M],.5,F])[0]?S[0]=0:S[0]=parseInt(""+S[0]),B=[0,0,0],j(M,U,V);for(L=0;L<3;++L)q[L]+=k*U[L]*this.tickPad[L]/r[5*L];this._text.drawTicks(M,this.tickSize[M],this.tickAngle[M],q,this.tickColor[M],H,B,S)}if(this.labelEnable[M]){F=0,B=[0,0,0],this.labels[M].length>4&&(N(M),F=1),"auto"===(S=[this.labelAlign[M],.5,F])[0]?S[0]=0:S[0]=parseInt(""+S[0]);for(L=0;L<3;++L)q[L]+=k*U[L]*this.labelPad[L]/r[5*L];q[M]+=.5*(a[0][M]+a[1][M]),this._text.drawLabel(M,this.labelSize[M],this.labelAngle[M],q,this.labelColor[M],[0,0,0],B,S)}}this._text.unbind()},f.dispose=function(){this._text.dispose(),this._lines.dispose(),this._background.dispose(),this._lines=null,this._text=null,this._background=null,this.gl=null}},{"./lib/background.js":251,"./lib/cube.js":252,"./lib/lines.js":253,"./lib/text.js":255,"./lib/ticks.js":256}],251:[function(t,e,r){"use strict";e.exports=function(t){for(var e=[],r=[],s=0,l=0;l<3;++l)for(var c=(l+1)%3,u=(l+2)%3,f=[0,0,0],h=[0,0,0],p=-1;p<=1;p+=2){r.push(s,s+2,s+1,s+1,s+2,s+3),f[l]=p,h[l]=p;for(var d=-1;d<=1;d+=2){f[c]=d;for(var g=-1;g<=1;g+=2)f[u]=g,e.push(f[0],f[1],f[2],h[0],h[1],h[2]),s+=1}var m=c;c=u,u=m}var v=n(t,new Float32Array(e)),y=n(t,new Uint16Array(r),t.ELEMENT_ARRAY_BUFFER),x=i(t,[{buffer:v,type:t.FLOAT,size:3,offset:0,stride:24},{buffer:v,type:t.FLOAT,size:3,offset:12,stride:24}],y),b=a(t);return b.attributes.position.location=0,b.attributes.normal.location=1,new o(t,v,x,b)};var n=t("gl-buffer"),i=t("gl-vao"),a=t("./shaders").bg;function o(t,e,r,n){this.gl=t,this.buffer=e,this.vao=r,this.shader=n}var s=o.prototype;s.draw=function(t,e,r,n,i,a){for(var o=!1,s=0;s<3;++s)o=o||i[s];if(o){var l=this.gl;l.enable(l.POLYGON_OFFSET_FILL),l.polygonOffset(1,2),this.shader.bind(),this.shader.uniforms={model:t,view:e,projection:r,bounds:n,enable:i,colors:a},this.vao.bind(),this.vao.draw(this.gl.TRIANGLES,36),this.vao.unbind(),l.disable(l.POLYGON_OFFSET_FILL)}},s.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()}},{"./shaders":254,"gl-buffer":259,"gl-vao":358}],252:[function(t,e,r){"use strict";e.exports=function(t,e,r,a,p){i(s,e,t),i(s,r,s);for(var y=0,x=0;x<2;++x){u[2]=a[x][2];for(var b=0;b<2;++b){u[1]=a[b][1];for(var _=0;_<2;++_)u[0]=a[_][0],h(l[y],u,s),y+=1}}var w=-1;for(x=0;x<8;++x){for(var T=l[x][3],k=0;k<3;++k)c[x][k]=l[x][k]/T;p&&(c[x][2]*=-1),T<0&&(w<0||c[x][2]<c[w][2])&&(w=x)}if(w<0){w=0;for(var M=0;M<3;++M){for(var A=(M+2)%3,S=(M+1)%3,E=-1,C=-1,L=0;L<2;++L){var I=(z=L<<M)+(L<<A)+(1-L<<S),P=z+(1-L<<A)+(L<<S);o(c[z],c[I],c[P],f)<0||(L?E=1:C=1)}if(E<0||C<0)C>E&&(w|=1<<M);else{for(L=0;L<2;++L){I=(z=L<<M)+(L<<A)+(1-L<<S),P=z+(1-L<<A)+(L<<S);var z,O=d([l[z],l[I],l[P],l[z+(1<<A)+(1<<S)]]);L?E=O:C=O}C>E&&(w|=1<<M)}}}var D=7^w,R=-1;for(x=0;x<8;++x)x!==w&&x!==D&&(R<0||c[R][1]>c[x][1])&&(R=x);var F=-1;for(x=0;x<3;++x){if((N=R^1<<x)!==w&&N!==D)F<0&&(F=N),(S=c[N])[0]<c[F][0]&&(F=N)}var B=-1;for(x=0;x<3;++x){var N;if((N=R^1<<x)!==w&&N!==D&&N!==F)B<0&&(B=N),(S=c[N])[0]>c[B][0]&&(B=N)}var j=g;j[0]=j[1]=j[2]=0,j[n.log2(F^R)]=R&F,j[n.log2(R^B)]=R&B;var U=7^B;U===w||U===D?(U=7^F,j[n.log2(B^U)]=U&B):j[n.log2(F^U)]=U&F;var V=m,q=w;for(M=0;M<3;++M)V[M]=q&1<<M?-1:1;return v};var n=t("bit-twiddle"),i=t("gl-mat4/multiply"),a=t("split-polygon"),o=t("robust-orientation"),s=new Array(16),l=new Array(8),c=new Array(8),u=new Array(3),f=[0,0,0];function h(t,e,r){for(var n=0;n<4;++n){t[n]=r[12+n];for(var i=0;i<3;++i)t[n]+=e[i]*r[4*i+n]}}!function(){for(var t=0;t<8;++t)l[t]=[1,1,1,1],c[t]=[1,1,1]}();var p=[[0,0,1,0,0],[0,0,-1,1,0],[0,-1,0,1,0],[0,1,0,1,0],[-1,0,0,1,0],[1,0,0,1,0]];function d(t){for(var e=0;e<p.length;++e)if((t=a.positive(t,p[e])).length<3)return 0;var r=t[0],n=r[0]/r[3],i=r[1]/r[3],o=0;for(e=1;e+1<t.length;++e){var s=t[e],l=t[e+1],c=s[0]/s[3]-n,u=s[1]/s[3]-i,f=l[0]/l[3]-n,h=l[1]/l[3]-i;o+=Math.abs(c*h-u*f)}return o}var g=[1,1,1],m=[0,0,0],v={cubeEdges:g,axis:m}},{"bit-twiddle":97,"gl-mat4/multiply":295,"robust-orientation":548,"split-polygon":566}],253:[function(t,e,r){"use strict";e.exports=function(t,e,r){var o=[],s=[0,0,0],l=[0,0,0],c=[0,0,0],u=[0,0,0];o.push(0,0,1,0,1,1,0,0,-1,0,0,-1,0,1,1,0,1,-1);for(var f=0;f<3;++f){for(var h=o.length/3|0,d=0;d<r[f].length;++d){var g=+r[f][d].x;o.push(g,0,1,g,1,1,g,0,-1,g,0,-1,g,1,1,g,1,-1)}var m=o.length/3|0;s[f]=h,l[f]=m-h;h=o.length/3|0;for(var v=0;v<r[f].length;++v){g=+r[f][v].x;o.push(g,0,1,g,1,1,g,0,-1,g,0,-1,g,1,1,g,1,-1)}m=o.length/3|0;c[f]=h,u[f]=m-h}var y=n(t,new Float32Array(o)),x=i(t,[{buffer:y,type:t.FLOAT,size:3,stride:0,offset:0}]),b=a(t);return b.attributes.position.location=0,new p(t,y,x,b,l,s,u,c)};var n=t("gl-buffer"),i=t("gl-vao"),a=t("./shaders").line,o=[0,0,0],s=[0,0,0],l=[0,0,0],c=[0,0,0],u=[1,1];function f(t){return t[0]=t[1]=t[2]=0,t}function h(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function p(t,e,r,n,i,a,o,s){this.gl=t,this.vertBuffer=e,this.vao=r,this.shader=n,this.tickCount=i,this.tickOffset=a,this.gridCount=o,this.gridOffset=s}var d=p.prototype;d.bind=function(t,e,r){this.shader.bind(),this.shader.uniforms.model=t,this.shader.uniforms.view=e,this.shader.uniforms.projection=r,u[0]=this.gl.drawingBufferWidth,u[1]=this.gl.drawingBufferHeight,this.shader.uniforms.screenShape=u,this.vao.bind()},d.unbind=function(){this.vao.unbind()},d.drawAxisLine=function(t,e,r,n,i){var a=f(s);this.shader.uniforms.majorAxis=s,a[t]=e[1][t]-e[0][t],this.shader.uniforms.minorAxis=a;var o,u=h(c,r);u[t]+=e[0][t],this.shader.uniforms.offset=u,this.shader.uniforms.lineWidth=i,this.shader.uniforms.color=n,(o=f(l))[(t+2)%3]=1,this.shader.uniforms.screenAxis=o,this.vao.draw(this.gl.TRIANGLES,6),(o=f(l))[(t+1)%3]=1,this.shader.uniforms.screenAxis=o,this.vao.draw(this.gl.TRIANGLES,6)},d.drawAxisTicks=function(t,e,r,n,i){if(this.tickCount[t]){var a=f(o);a[t]=1,this.shader.uniforms.majorAxis=a,this.shader.uniforms.offset=e,this.shader.uniforms.minorAxis=r,this.shader.uniforms.color=n,this.shader.uniforms.lineWidth=i;var s=f(l);s[t]=1,this.shader.uniforms.screenAxis=s,this.vao.draw(this.gl.TRIANGLES,this.tickCount[t],this.tickOffset[t])}},d.drawGrid=function(t,e,r,n,i,a){if(this.gridCount[t]){var u=f(s);u[e]=r[1][e]-r[0][e],this.shader.uniforms.minorAxis=u;var p=h(c,n);p[e]+=r[0][e],this.shader.uniforms.offset=p;var d=f(o);d[t]=1,this.shader.uniforms.majorAxis=d;var g=f(l);g[t]=1,this.shader.uniforms.screenAxis=g,this.shader.uniforms.lineWidth=a,this.shader.uniforms.color=i,this.vao.draw(this.gl.TRIANGLES,this.gridCount[t],this.gridOffset[t])}},d.drawZero=function(t,e,r,n,i,a){var o=f(s);this.shader.uniforms.majorAxis=o,o[t]=r[1][t]-r[0][t],this.shader.uniforms.minorAxis=o;var u=h(c,n);u[t]+=r[0][t],this.shader.uniforms.offset=u;var p=f(l);p[e]=1,this.shader.uniforms.screenAxis=p,this.shader.uniforms.lineWidth=a,this.shader.uniforms.color=i,this.vao.draw(this.gl.TRIANGLES,6)},d.dispose=function(){this.vao.dispose(),this.vertBuffer.dispose(),this.shader.dispose()}},{"./shaders":254,"gl-buffer":259,"gl-vao":358}],254:[function(t,e,r){"use strict";var n=t("glslify"),i=t("gl-shader"),a=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\n\nuniform mat4 model, view, projection;\nuniform vec3 offset, majorAxis, minorAxis, screenAxis;\nuniform float lineWidth;\nuniform vec2 screenShape;\n\nvec3 project(vec3 p) {\n vec4 pp = projection * view * model * vec4(p, 1.0);\n return pp.xyz / max(pp.w, 0.0001);\n}\n\nvoid main() {\n vec3 major = position.x * majorAxis;\n vec3 minor = position.y * minorAxis;\n\n vec3 vPosition = major + minor + offset;\n vec3 pPosition = project(vPosition);\n vec3 offset = project(vPosition + screenAxis * position.z);\n\n vec2 screen = normalize((offset - pPosition).xy * screenShape) / screenShape;\n\n gl_Position = vec4(pPosition + vec3(0.5 * screen * lineWidth, 0), 1.0);\n}\n"]),o=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform vec4 color;\nvoid main() {\n gl_FragColor = color;\n}"]);r.line=function(t){return i(t,a,o,null,[{name:"position",type:"vec3"}])};var s=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\n\nuniform mat4 model, view, projection;\nuniform vec3 offset, axis, alignDir, alignOpt;\nuniform float scale, angle, pixelScale;\nuniform vec2 resolution;\n\nvec3 project(vec3 p) {\n vec4 pp = projection * view * model * vec4(p, 1.0);\n return pp.xyz / max(pp.w, 0.0001);\n}\n\nfloat computeViewAngle(vec3 a, vec3 b) {\n vec3 A = project(a);\n vec3 B = project(b);\n\n return atan(\n (B.y - A.y) * resolution.y,\n (B.x - A.x) * resolution.x\n );\n}\n\nconst float PI = 3.141592;\nconst float TWO_PI = 2.0 * PI;\nconst float HALF_PI = 0.5 * PI;\nconst float ONE_AND_HALF_PI = 1.5 * PI;\n\nint option = int(floor(alignOpt.x + 0.001));\nfloat hv_ratio = alignOpt.y;\nbool enableAlign = (alignOpt.z != 0.0);\n\nfloat mod_angle(float a) {\n return mod(a, PI);\n}\n\nfloat positive_angle(float a) {\n return mod_angle((a < 0.0) ?\n a + TWO_PI :\n a\n );\n}\n\nfloat look_upwards(float a) {\n float b = positive_angle(a);\n return ((b > HALF_PI) && (b <= ONE_AND_HALF_PI)) ?\n b - PI :\n b;\n}\n\nfloat look_horizontal_or_vertical(float a, float ratio) {\n // ratio controls the ratio between being horizontal to (vertical + horizontal)\n // if ratio is set to 0.5 then it is 50%, 50%.\n // when using a higher ratio e.g. 0.75 the result would\n // likely be more horizontal than vertical.\n\n float b = positive_angle(a);\n\n return\n (b < ( ratio) * HALF_PI) ? 0.0 :\n (b < (2.0 - ratio) * HALF_PI) ? -HALF_PI :\n (b < (2.0 + ratio) * HALF_PI) ? 0.0 :\n (b < (4.0 - ratio) * HALF_PI) ? HALF_PI :\n 0.0;\n}\n\nfloat roundTo(float a, float b) {\n return float(b * floor((a + 0.5 * b) / b));\n}\n\nfloat look_round_n_directions(float a, int n) {\n float b = positive_angle(a);\n float div = TWO_PI / float(n);\n float c = roundTo(b, div);\n return look_upwards(c);\n}\n\nfloat applyAlignOption(float rawAngle, float delta) {\n return\n (option > 2) ? look_round_n_directions(rawAngle + delta, option) : // option 3-n: round to n directions\n (option == 2) ? look_horizontal_or_vertical(rawAngle + delta, hv_ratio) : // horizontal or vertical\n (option == 1) ? rawAngle + delta : // use free angle, and flip to align with one direction of the axis\n (option == 0) ? look_upwards(rawAngle) : // use free angle, and stay upwards\n (option ==-1) ? 0.0 : // useful for backward compatibility, all texts remains horizontal\n rawAngle; // otherwise return back raw input angle\n}\n\nbool isAxisTitle = (axis.x == 0.0) &&\n (axis.y == 0.0) &&\n (axis.z == 0.0);\n\nvoid main() {\n //Compute world offset\n float axisDistance = position.z;\n vec3 dataPosition = axisDistance * axis + offset;\n\n float beta = angle; // i.e. user defined attributes for each tick\n\n float axisAngle;\n float clipAngle;\n float flip;\n\n if (enableAlign) {\n axisAngle = (isAxisTitle) ? HALF_PI :\n computeViewAngle(dataPosition, dataPosition + axis);\n clipAngle = computeViewAngle(dataPosition, dataPosition + alignDir);\n\n axisAngle += (sin(axisAngle) < 0.0) ? PI : 0.0;\n clipAngle += (sin(clipAngle) < 0.0) ? PI : 0.0;\n\n flip = (dot(vec2(cos(axisAngle), sin(axisAngle)),\n vec2(sin(clipAngle),-cos(clipAngle))) > 0.0) ? 1.0 : 0.0;\n\n beta += applyAlignOption(clipAngle, flip * PI);\n }\n\n //Compute plane offset\n vec2 planeCoord = position.xy * pixelScale;\n\n mat2 planeXform = scale * mat2(\n cos(beta), sin(beta),\n -sin(beta), cos(beta)\n );\n\n vec2 viewOffset = 2.0 * planeXform * planeCoord / resolution;\n\n //Compute clip position\n vec3 clipPosition = project(dataPosition);\n\n //Apply text offset in clip coordinates\n clipPosition += vec3(viewOffset, 0.0);\n\n //Done\n gl_Position = vec4(clipPosition, 1.0);\n}"]),l=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform vec4 color;\nvoid main() {\n gl_FragColor = color;\n}"]);r.text=function(t){return i(t,s,l,null,[{name:"position",type:"vec3"}])};var c=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec3 normal;\n\nuniform mat4 model, view, projection;\nuniform vec3 enable;\nuniform vec3 bounds[2];\n\nvarying vec3 colorChannel;\n\nvoid main() {\n\n vec3 signAxis = sign(bounds[1] - bounds[0]);\n\n vec3 realNormal = signAxis * normal;\n\n if(dot(realNormal, enable) > 0.0) {\n vec3 minRange = min(bounds[0], bounds[1]);\n vec3 maxRange = max(bounds[0], bounds[1]);\n vec3 nPosition = mix(minRange, maxRange, 0.5 * (position + 1.0));\n gl_Position = projection * view * model * vec4(nPosition, 1.0);\n } else {\n gl_Position = vec4(0,0,0,0);\n }\n\n colorChannel = abs(realNormal);\n}"]),u=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform vec4 colors[3];\n\nvarying vec3 colorChannel;\n\nvoid main() {\n gl_FragColor = colorChannel.x * colors[0] +\n colorChannel.y * colors[1] +\n colorChannel.z * colors[2];\n}"]);r.bg=function(t){return i(t,c,u,null,[{name:"position",type:"vec3"},{name:"normal",type:"vec3"}])}},{"gl-shader":335,glslify:257}],255:[function(t,e,r){(function(r){(function(){"use strict";e.exports=function(t,e,r,a,s,l){var u=n(t),f=i(t,[{buffer:u,size:3}]),h=o(t);h.attributes.position.location=0;var p=new c(t,h,u,f);return p.update(e,r,a,s,l),p};var n=t("gl-buffer"),i=t("gl-vao"),a=t("vectorize-text"),o=t("./shaders").text,s=window||r.global||{},l=s.__TEXT_CACHE||{};s.__TEXT_CACHE={};function c(t,e,r,n){this.gl=t,this.shader=e,this.buffer=r,this.vao=n,this.tickOffset=this.tickCount=this.labelOffset=this.labelCount=null}var u=c.prototype,f=[0,0];u.bind=function(t,e,r,n){this.vao.bind(),this.shader.bind();var i=this.shader.uniforms;i.model=t,i.view=e,i.projection=r,i.pixelScale=n,f[0]=this.gl.drawingBufferWidth,f[1]=this.gl.drawingBufferHeight,this.shader.uniforms.resolution=f},u.unbind=function(){this.vao.unbind()},u.update=function(t,e,r,n,i){var o=[];function s(t,e,r,n,i,s){var c=l[r];c||(c=l[r]={});var u=c[e];u||(u=c[e]=function(t,e){try{return a(t,e)}catch(e){return console.warn('error vectorizing text:"'+t+'" error:',e),{cells:[],positions:[]}}}(e,{triangles:!0,font:r,textAlign:"center",textBaseline:"middle",lineSpacing:i,styletags:s}));for(var f=(n||12)/12,h=u.positions,p=u.cells,d=0,g=p.length;d<g;++d)for(var m=p[d],v=2;v>=0;--v){var y=h[m[v]];o.push(f*y[0],-f*y[1],t)}}for(var c=[0,0,0],u=[0,0,0],f=[0,0,0],h=[0,0,0],p={breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0},d=0;d<3;++d){f[d]=o.length/3|0,s(.5*(t[0][d]+t[1][d]),e[d],r[d],12,1.25,p),h[d]=(o.length/3|0)-f[d],c[d]=o.length/3|0;for(var g=0;g<n[d].length;++g)n[d][g].text&&s(n[d][g].x,n[d][g].text,n[d][g].font||i,n[d][g].fontSize||12,1.25,p);u[d]=(o.length/3|0)-c[d]}this.buffer.update(o),this.tickOffset=c,this.tickCount=u,this.labelOffset=f,this.labelCount=h},u.drawTicks=function(t,e,r,n,i,a,o,s){this.tickCount[t]&&(this.shader.uniforms.axis=a,this.shader.uniforms.color=i,this.shader.uniforms.angle=r,this.shader.uniforms.scale=e,this.shader.uniforms.offset=n,this.shader.uniforms.alignDir=o,this.shader.uniforms.alignOpt=s,this.vao.draw(this.gl.TRIANGLES,this.tickCount[t],this.tickOffset[t]))},u.drawLabel=function(t,e,r,n,i,a,o,s){this.labelCount[t]&&(this.shader.uniforms.axis=a,this.shader.uniforms.color=i,this.shader.uniforms.angle=r,this.shader.uniforms.scale=e,this.shader.uniforms.offset=n,this.shader.uniforms.alignDir=o,this.shader.uniforms.alignOpt=s,this.vao.draw(this.gl.TRIANGLES,this.labelCount[t],this.labelOffset[t]))},u.dispose=function(){this.shader.dispose(),this.vao.dispose(),this.buffer.dispose()}}).call(this)}).call(this,t("_process"))},{"./shaders":254,_process:526,"gl-buffer":259,"gl-vao":358,"vectorize-text":600}],256:[function(t,e,r){"use strict";function n(t,e){var r=t+"",n=r.indexOf("."),i=0;n>=0&&(i=r.length-n-1);var a=Math.pow(10,i),o=Math.round(t*e*a),s=o+"";if(s.indexOf("e")>=0)return s;var l=o/a,c=o%a;o<0?(l=0|-Math.ceil(l),c=0|-c):(l=0|Math.floor(l),c|=0);var u=""+l;if(o<0&&(u="-"+u),i){for(var f=""+c;f.length<i;)f="0"+f;return u+"."+f}return u}r.create=function(t,e){for(var r=[],i=0;i<3;++i){for(var a=[],o=(t[0][i],t[1][i],0);o*e[i]<=t[1][i];++o)a.push({x:o*e[i],text:n(e[i],o)});for(o=-1;o*e[i]>=t[0][i];--o)a.push({x:o*e[i],text:n(e[i],o)});r.push(a)}return r},r.equal=function(t,e){for(var r=0;r<3;++r){if(t[r].length!==e[r].length)return!1;for(var n=0;n<t[r].length;++n){var i=t[r][n],a=e[r][n];if(i.x!==a.x||i.text!==a.text||i.font!==a.font||i.fontColor!==a.fontColor||i.fontSize!==a.fontSize||i.dx!==a.dx||i.dy!==a.dy)return!1}}return!0}},{}],257:[function(t,e,r){e.exports=function(t){"string"==typeof t&&(t=[t]);for(var e=[].slice.call(arguments,1),r=[],n=0;n<t.length-1;n++)r.push(t[n],e[n]||"");return r.push(t[n]),r.join("")}},{}],258:[function(t,e,r){"use strict";e.exports=function(t,e,r,l,f){var h=e.model||c,p=e.view||c,v=e.projection||c,y=e._ortho||!1,x=t.bounds,b=(f=f||a(h,p,v,x,y)).axis;o(u,p,h),o(u,v,u);for(var _=g,w=0;w<3;++w)_[w].lo=1/0,_[w].hi=-1/0,_[w].pixelsPerDataUnit=1/0;var T=n(s(u,u));s(u,u);for(var k=0;k<3;++k){var M=(k+1)%3,A=(k+2)%3,S=m;t:for(w=0;w<2;++w){var E=[];if(b[k]<0!=!!w){S[k]=x[w][k];for(var C=0;C<2;++C){S[M]=x[C^w][M];for(var L=0;L<2;++L)S[A]=x[L^C^w][A],E.push(S.slice())}var I=y?5:4;for(C=I;C===I;++C){if(0===E.length)continue t;E=i.positive(E,T[C])}for(C=0;C<E.length;++C){A=E[C];var P=d(m,u,A,r,l);for(L=0;L<3;++L)_[L].lo=Math.min(_[L].lo,A[L]),_[L].hi=Math.max(_[L].hi,A[L]),L!==k&&(_[L].pixelsPerDataUnit=Math.min(_[L].pixelsPerDataUnit,Math.abs(P[L])))}}}}return _};var n=t("extract-frustum-planes"),i=t("split-polygon"),a=t("./lib/cube.js"),o=t("gl-mat4/multiply"),s=t("gl-mat4/transpose"),l=t("gl-vec4/transformMat4"),c=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),u=new Float32Array(16);function f(t,e,r){this.lo=t,this.hi=e,this.pixelsPerDataUnit=r}var h=[0,0,0,1],p=[0,0,0,1];function d(t,e,r,n,i){for(var a=0;a<3;++a){for(var o=h,s=p,c=0;c<3;++c)s[c]=o[c]=r[c];s[3]=o[3]=1,s[a]+=1,l(s,s,e),s[3]<0&&(t[a]=1/0),o[a]-=1,l(o,o,e),o[3]<0&&(t[a]=1/0);var u=(o[0]/o[3]-s[0]/s[3])*n,f=(o[1]/o[3]-s[1]/s[3])*i;t[a]=.25*Math.sqrt(u*u+f*f)}return t}var g=[new f(1/0,-1/0,1/0),new f(1/0,-1/0,1/0),new f(1/0,-1/0,1/0)],m=[0,0,0]},{"./lib/cube.js":252,"extract-frustum-planes":240,"gl-mat4/multiply":295,"gl-mat4/transpose":306,"gl-vec4/transformMat4":429,"split-polygon":566}],259:[function(t,e,r){"use strict";var n=t("typedarray-pool"),i=t("ndarray-ops"),a=t("ndarray"),o=["uint8","uint8_clamped","uint16","uint32","int8","int16","int32","float32"];function s(t,e,r,n,i){this.gl=t,this.type=e,this.handle=r,this.length=n,this.usage=i}var l=s.prototype;function c(t,e,r,n,i,a){var o=i.length*i.BYTES_PER_ELEMENT;if(a<0)return t.bufferData(e,i,n),o;if(o+a>r)throw new Error("gl-buffer: If resizing buffer, must not specify offset");return t.bufferSubData(e,a,i),r}function u(t,e){for(var r=n.malloc(t.length,e),i=t.length,a=0;a<i;++a)r[a]=t[a];return r}l.bind=function(){this.gl.bindBuffer(this.type,this.handle)},l.unbind=function(){this.gl.bindBuffer(this.type,null)},l.dispose=function(){this.gl.deleteBuffer(this.handle)},l.update=function(t,e){if("number"!=typeof e&&(e=-1),this.bind(),"object"==typeof t&&"undefined"!=typeof t.shape){var r=t.dtype;if(o.indexOf(r)<0&&(r="float32"),this.type===this.gl.ELEMENT_ARRAY_BUFFER)r=gl.getExtension("OES_element_index_uint")&&"uint16"!==r?"uint32":"uint16";if(r===t.dtype&&function(t,e){for(var r=1,n=e.length-1;n>=0;--n){if(e[n]!==r)return!1;r*=t[n]}return!0}(t.shape,t.stride))0===t.offset&&t.data.length===t.shape[0]?this.length=c(this.gl,this.type,this.length,this.usage,t.data,e):this.length=c(this.gl,this.type,this.length,this.usage,t.data.subarray(t.offset,t.shape[0]),e);else{var s=n.malloc(t.size,r),l=a(s,t.shape);i.assign(l,t),this.length=c(this.gl,this.type,this.length,this.usage,e<0?s:s.subarray(0,t.size),e),n.free(s)}}else if(Array.isArray(t)){var f;f=this.type===this.gl.ELEMENT_ARRAY_BUFFER?u(t,"uint16"):u(t,"float32"),this.length=c(this.gl,this.type,this.length,this.usage,e<0?f:f.subarray(0,t.length),e),n.free(f)}else if("object"==typeof t&&"number"==typeof t.length)this.length=c(this.gl,this.type,this.length,this.usage,t,e);else{if("number"!=typeof t&&void 0!==t)throw new Error("gl-buffer: Invalid data type");if(e>=0)throw new Error("gl-buffer: Cannot specify offset when resizing buffer");(t|=0)<=0&&(t=1),this.gl.bufferData(this.type,0|t,this.usage),this.length=t}},e.exports=function(t,e,r,n){if(r=r||t.ARRAY_BUFFER,n=n||t.DYNAMIC_DRAW,r!==t.ARRAY_BUFFER&&r!==t.ELEMENT_ARRAY_BUFFER)throw new Error("gl-buffer: Invalid type for webgl buffer, must be either gl.ARRAY_BUFFER or gl.ELEMENT_ARRAY_BUFFER");if(n!==t.DYNAMIC_DRAW&&n!==t.STATIC_DRAW&&n!==t.STREAM_DRAW)throw new Error("gl-buffer: Invalid usage for buffer, must be either gl.DYNAMIC_DRAW, gl.STATIC_DRAW or gl.STREAM_DRAW");var i=t.createBuffer(),a=new s(t,r,i,0,n);return a.update(e),a}},{ndarray:495,"ndarray-ops":490,"typedarray-pool":595}],260:[function(t,e,r){"use strict";var n=t("gl-vec3");e.exports=function(t,e){var r=t.positions,i=t.vectors,a={positions:[],vertexIntensity:[],vertexIntensityBounds:t.vertexIntensityBounds,vectors:[],cells:[],coneOffset:t.coneOffset,colormap:t.colormap};if(0===t.positions.length)return e&&(e[0]=[0,0,0],e[1]=[0,0,0]),a;for(var o=0,s=1/0,l=-1/0,c=1/0,u=-1/0,f=1/0,h=-1/0,p=null,d=null,g=[],m=1/0,v=!1,y=0;y<r.length;y++){var x=r[y];s=Math.min(x[0],s),l=Math.max(x[0],l),c=Math.min(x[1],c),u=Math.max(x[1],u),f=Math.min(x[2],f),h=Math.max(x[2],h);var b=i[y];if(n.length(b)>o&&(o=n.length(b)),y){var _=2*n.distance(p,x)/(n.length(d)+n.length(b));_?(m=Math.min(m,_),v=!1):v=!0}v||(p=x,d=b),g.push(b)}var w=[s,c,f],T=[l,u,h];e&&(e[0]=w,e[1]=T),0===o&&(o=1);var k=1/o;isFinite(m)||(m=1),a.vectorScale=m;var M=t.coneSize||.5;t.absoluteConeSize&&(M=t.absoluteConeSize*k),a.coneScale=M;y=0;for(var A=0;y<r.length;y++)for(var S=(x=r[y])[0],E=x[1],C=x[2],L=g[y],I=n.length(L)*k,P=0;P<8;P++){a.positions.push([S,E,C,A++]),a.positions.push([S,E,C,A++]),a.positions.push([S,E,C,A++]),a.positions.push([S,E,C,A++]),a.positions.push([S,E,C,A++]),a.positions.push([S,E,C,A++]),a.vectors.push(L),a.vectors.push(L),a.vectors.push(L),a.vectors.push(L),a.vectors.push(L),a.vectors.push(L),a.vertexIntensity.push(I,I,I),a.vertexIntensity.push(I,I,I);var z=a.positions.length;a.cells.push([z-6,z-5,z-4],[z-3,z-2,z-1])}return a};var i=t("./lib/shaders");e.exports.createMesh=t("./create_mesh"),e.exports.createConeMesh=function(t,r){return e.exports.createMesh(t,r,{shaders:i,traceType:"cone"})}},{"./create_mesh":261,"./lib/shaders":262,"gl-vec3":377}],261:[function(t,e,r){"use strict";var n=t("gl-shader"),i=t("gl-buffer"),a=t("gl-vao"),o=t("gl-texture2d"),s=t("gl-mat4/multiply"),l=t("gl-mat4/invert"),c=t("ndarray"),u=t("colormap"),f=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function h(t,e,r,n,i,a,o,s,l,c,u){this.gl=t,this.pixelRatio=1,this.cells=[],this.positions=[],this.intensity=[],this.texture=e,this.dirty=!0,this.triShader=r,this.pickShader=n,this.trianglePositions=i,this.triangleVectors=a,this.triangleColors=s,this.triangleUVs=l,this.triangleIds=o,this.triangleVAO=c,this.triangleCount=0,this.pickId=1,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.lightPosition=[1e5,1e5,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.opacity=1,this.traceType=u,this.tubeScale=1,this.coneScale=2,this.vectorScale=1,this.coneOffset=.25,this._model=f,this._view=f,this._projection=f,this._resolution=[1,1]}var p=h.prototype;function d(t,e){var r=n(t,e.meshShader.vertex,e.meshShader.fragment,null,e.meshShader.attributes);return r.attributes.position.location=0,r.attributes.color.location=2,r.attributes.uv.location=3,r.attributes.vector.location=4,r}function g(t,e){var r=n(t,e.pickShader.vertex,e.pickShader.fragment,null,e.pickShader.attributes);return r.attributes.position.location=0,r.attributes.id.location=1,r.attributes.vector.location=4,r}p.isOpaque=function(){return this.opacity>=1},p.isTransparent=function(){return this.opacity<1},p.pickSlots=1,p.setPickBase=function(t){this.pickId=t},p.update=function(t){t=t||{};var e=this.gl;this.dirty=!0,"lightPosition"in t&&(this.lightPosition=t.lightPosition),"opacity"in t&&(this.opacity=t.opacity),"ambient"in t&&(this.ambientLight=t.ambient),"diffuse"in t&&(this.diffuseLight=t.diffuse),"specular"in t&&(this.specularLight=t.specular),"roughness"in t&&(this.roughness=t.roughness),"fresnel"in t&&(this.fresnel=t.fresnel),void 0!==t.tubeScale&&(this.tubeScale=t.tubeScale),void 0!==t.vectorScale&&(this.vectorScale=t.vectorScale),void 0!==t.coneScale&&(this.coneScale=t.coneScale),void 0!==t.coneOffset&&(this.coneOffset=t.coneOffset),t.colormap&&(this.texture.shape=[256,256],this.texture.minFilter=e.LINEAR_MIPMAP_LINEAR,this.texture.magFilter=e.LINEAR,this.texture.setPixels(function(t){for(var e=u({colormap:t,nshades:256,format:"rgba"}),r=new Uint8Array(1024),n=0;n<256;++n){for(var i=e[n],a=0;a<3;++a)r[4*n+a]=i[a];r[4*n+3]=255*i[3]}return c(r,[256,256,4],[4,0,1])}(t.colormap)),this.texture.generateMipmap());var r=t.cells,n=t.positions,i=t.vectors;if(n&&r&&i){var a=[],o=[],s=[],l=[],f=[];this.cells=r,this.positions=n,this.vectors=i;var h=t.meshColor||[1,1,1,1],p=t.vertexIntensity,d=1/0,g=-1/0;if(p)if(t.vertexIntensityBounds)d=+t.vertexIntensityBounds[0],g=+t.vertexIntensityBounds[1];else for(var m=0;m<p.length;++m){var v=p[m];d=Math.min(d,v),g=Math.max(g,v)}else for(m=0;m<n.length;++m){v=n[m][2];d=Math.min(d,v),g=Math.max(g,v)}this.intensity=p||function(t){for(var e=t.length,r=new Array(e),n=0;n<e;++n)r[n]=t[n][2];return r}(n),this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]];for(m=0;m<n.length;++m)for(var y=n[m],x=0;x<3;++x)!isNaN(y[x])&&isFinite(y[x])&&(this.bounds[0][x]=Math.min(this.bounds[0][x],y[x]),this.bounds[1][x]=Math.max(this.bounds[1][x],y[x]));var b=0;t:for(m=0;m<r.length;++m){var _=r[m];switch(_.length){case 3:for(x=0;x<3;++x){y=n[T=_[x]];for(var w=0;w<3;++w)if(isNaN(y[w])||!isFinite(y[w]))continue t}for(x=0;x<3;++x){var T;y=n[T=_[2-x]];a.push(y[0],y[1],y[2],y[3]);var k=i[T];o.push(k[0],k[1],k[2],k[3]||0);var M,A=h;3===A.length?s.push(A[0],A[1],A[2],1):s.push(A[0],A[1],A[2],A[3]),M=p?[(p[T]-d)/(g-d),0]:[(y[2]-d)/(g-d),0],l.push(M[0],M[1]),f.push(m)}b+=1}}this.triangleCount=b,this.trianglePositions.update(a),this.triangleVectors.update(o),this.triangleColors.update(s),this.triangleUVs.update(l),this.triangleIds.update(new Uint32Array(f))}},p.drawTransparent=p.draw=function(t){t=t||{};for(var e=this.gl,r=t.model||f,n=t.view||f,i=t.projection||f,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)a[0][o]=Math.max(a[0][o],this.clipBounds[0][o]),a[1][o]=Math.min(a[1][o],this.clipBounds[1][o]);var c={model:r,view:n,projection:i,inverseModel:f.slice(),clipBounds:a,kambient:this.ambientLight,kdiffuse:this.diffuseLight,kspecular:this.specularLight,roughness:this.roughness,fresnel:this.fresnel,eyePosition:[0,0,0],lightPosition:[0,0,0],opacity:this.opacity,tubeScale:this.tubeScale,vectorScale:this.vectorScale,coneScale:this.coneScale,coneOffset:this.coneOffset,texture:0};c.inverseModel=l(c.inverseModel,c.model),e.disable(e.CULL_FACE),this.texture.bind(0);var u=new Array(16);s(u,c.view,c.model),s(u,c.projection,u),l(u,u);for(o=0;o<3;++o)c.eyePosition[o]=u[12+o]/u[15];var h=u[15];for(o=0;o<3;++o)h+=this.lightPosition[o]*u[4*o+3];for(o=0;o<3;++o){for(var p=u[12+o],d=0;d<3;++d)p+=u[4*d+o]*this.lightPosition[d];c.lightPosition[o]=p/h}if(this.triangleCount>0){var g=this.triShader;g.bind(),g.uniforms=c,this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()}},p.drawPick=function(t){t=t||{};for(var e=this.gl,r=t.model||f,n=t.view||f,i=t.projection||f,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)a[0][o]=Math.max(a[0][o],this.clipBounds[0][o]),a[1][o]=Math.min(a[1][o],this.clipBounds[1][o]);this._model=[].slice.call(r),this._view=[].slice.call(n),this._projection=[].slice.call(i),this._resolution=[e.drawingBufferWidth,e.drawingBufferHeight];var s={model:r,view:n,projection:i,clipBounds:a,tubeScale:this.tubeScale,vectorScale:this.vectorScale,coneScale:this.coneScale,coneOffset:this.coneOffset,pickId:this.pickId/255},l=this.pickShader;l.bind(),l.uniforms=s,this.triangleCount>0&&(this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind())},p.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;var e=t.value[0]+256*t.value[1]+65536*t.value[2],r=this.cells[e],n=this.positions[r[1]].slice(0,3),i={position:n,dataCoordinate:n,index:Math.floor(r[1]/48)};return"cone"===this.traceType?i.index=Math.floor(r[1]/48):"streamtube"===this.traceType&&(i.intensity=this.intensity[r[1]],i.velocity=this.vectors[r[1]].slice(0,3),i.divergence=this.vectors[r[1]][3],i.index=e),i},p.dispose=function(){this.texture.dispose(),this.triShader.dispose(),this.pickShader.dispose(),this.triangleVAO.dispose(),this.trianglePositions.dispose(),this.triangleVectors.dispose(),this.triangleColors.dispose(),this.triangleUVs.dispose(),this.triangleIds.dispose()},e.exports=function(t,e,r){var n=r.shaders;1===arguments.length&&(t=(e=t).gl);var s=d(t,n),l=g(t,n),u=o(t,c(new Uint8Array([255,255,255,255]),[1,1,4]));u.generateMipmap(),u.minFilter=t.LINEAR_MIPMAP_LINEAR,u.magFilter=t.LINEAR;var f=i(t),p=i(t),m=i(t),v=i(t),y=i(t),x=a(t,[{buffer:f,type:t.FLOAT,size:4},{buffer:y,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:m,type:t.FLOAT,size:4},{buffer:v,type:t.FLOAT,size:2},{buffer:p,type:t.FLOAT,size:4}]),b=new h(t,u,s,l,f,p,y,m,v,x,r.traceType||"cone");return b.update(e),b}},{colormap:131,"gl-buffer":259,"gl-mat4/invert":293,"gl-mat4/multiply":295,"gl-shader":335,"gl-texture2d":353,"gl-vao":358,ndarray:495}],262:[function(t,e,r){var n=t("glslify"),i=n(["precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n // Return up-vector for only-z vector.\n // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the cone vertex and normal at the given index.\n//\n// The returned vertex is for a cone with its top at origin and height of 1.0,\n// pointing in the direction of the vector attribute.\n//\n// Each cone is made up of a top vertex, a center base vertex and base perimeter vertices.\n// These vertices are used to make up the triangles of the cone by the following:\n// segment + 0 top vertex\n// segment + 1 perimeter vertex a+1\n// segment + 2 perimeter vertex a\n// segment + 3 center base vertex\n// segment + 4 perimeter vertex a\n// segment + 5 perimeter vertex a+1\n// Where segment is the number of the radial segment * 6 and a is the angle at that radial segment.\n// To go from index to segment, floor(index / 6)\n// To go from segment to angle, 2*pi * (segment/segmentCount)\n// To go from index to segment index, index - (segment*6)\n//\nvec3 getConePosition(vec3 d, float rawIndex, float coneOffset, out vec3 normal) {\n\n const float segmentCount = 8.0;\n\n float index = rawIndex - floor(rawIndex /\n (segmentCount * 6.0)) *\n (segmentCount * 6.0);\n\n float segment = floor(0.001 + index/6.0);\n float segmentIndex = index - (segment*6.0);\n\n normal = -normalize(d);\n\n if (segmentIndex > 2.99 && segmentIndex < 3.01) {\n return mix(vec3(0.0), -d, coneOffset);\n }\n\n float nextAngle = (\n (segmentIndex > 0.99 && segmentIndex < 1.01) ||\n (segmentIndex > 4.99 && segmentIndex < 5.01)\n ) ? 1.0 : 0.0;\n float angle = 2.0 * 3.14159 * ((segment + nextAngle) / segmentCount);\n\n vec3 v1 = mix(d, vec3(0.0), coneOffset);\n vec3 v2 = v1 - d;\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d)*0.25;\n vec3 y = v * sin(angle) * length(d)*0.25;\n vec3 v3 = v2 + x + y;\n if (segmentIndex < 3.0) {\n vec3 tx = u * sin(angle);\n vec3 ty = v * -cos(angle);\n vec3 tangent = tx + ty;\n normal = normalize(cross(v3 - v1, tangent));\n }\n\n if (segmentIndex == 0.0) {\n return mix(d, vec3(0.0), coneOffset);\n }\n return v3;\n}\n\nattribute vec3 vector;\nattribute vec4 color, position;\nattribute vec2 uv;\n\nuniform float vectorScale, coneScale, coneOffset;\nuniform mat4 model, view, projection, inverseModel;\nuniform vec3 eyePosition, lightPosition;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n // Scale the vector magnitude to stay constant with\n // model & view changes.\n vec3 normal;\n vec3 XYZ = getConePosition(mat3(model) * ((vectorScale * coneScale) * vector), position.w, coneOffset, normal);\n vec4 conePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n\n //Lighting geometry parameters\n vec4 cameraCoordinate = view * conePosition;\n cameraCoordinate.xyz /= cameraCoordinate.w;\n f_lightDirection = lightPosition - cameraCoordinate.xyz;\n f_eyeDirection = eyePosition - cameraCoordinate.xyz;\n f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\n\n // vec4 m_position = model * vec4(conePosition, 1.0);\n vec4 t_position = view * conePosition;\n gl_Position = projection * t_position;\n\n f_color = color;\n f_data = conePosition.xyz;\n f_position = position.xyz;\n f_uv = uv;\n}\n"]),a=n(["#extension GL_OES_standard_derivatives : enable\n\nprecision highp float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution(float x, float roughness) {\n float NdotH = max(x, 0.0001);\n float cos2Alpha = NdotH * NdotH;\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n float roughness2 = roughness * roughness;\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n return exp(tan2Alpha / roughness2) / denom;\n}\n\nfloat cookTorranceSpecular(\n vec3 lightDirection,\n vec3 viewDirection,\n vec3 surfaceNormal,\n float roughness,\n float fresnel) {\n\n float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\n float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\n\n //Half angle vector\n vec3 H = normalize(lightDirection + viewDirection);\n\n //Geometric term\n float NdotH = max(dot(surfaceNormal, H), 0.0);\n float VdotH = max(dot(viewDirection, H), 0.000001);\n float LdotH = max(dot(lightDirection, H), 0.000001);\n float G1 = (2.0 * NdotH * VdotN) / VdotH;\n float G2 = (2.0 * NdotH * LdotN) / LdotH;\n float G = min(1.0, min(G1, G2));\n \n //Distribution term\n float D = beckmannDistribution(NdotH, roughness);\n\n //Fresnel term\n float F = pow(1.0 - VdotN, fresnel);\n\n //Multiply terms and done\n return G * F * D / max(3.14159265 * VdotN, 0.000001);\n}\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\nuniform sampler2D texture;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n vec3 N = normalize(f_normal);\n vec3 L = normalize(f_lightDirection);\n vec3 V = normalize(f_eyeDirection);\n\n if(gl_FrontFacing) {\n N = -N;\n }\n\n float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n vec4 surfaceColor = f_color * texture2D(texture, f_uv);\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\n\n gl_FragColor = litColor * opacity;\n}\n"]),o=n(["precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n // Return up-vector for only-z vector.\n // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the cone vertex and normal at the given index.\n//\n// The returned vertex is for a cone with its top at origin and height of 1.0,\n// pointing in the direction of the vector attribute.\n//\n// Each cone is made up of a top vertex, a center base vertex and base perimeter vertices.\n// These vertices are used to make up the triangles of the cone by the following:\n// segment + 0 top vertex\n// segment + 1 perimeter vertex a+1\n// segment + 2 perimeter vertex a\n// segment + 3 center base vertex\n// segment + 4 perimeter vertex a\n// segment + 5 perimeter vertex a+1\n// Where segment is the number of the radial segment * 6 and a is the angle at that radial segment.\n// To go from index to segment, floor(index / 6)\n// To go from segment to angle, 2*pi * (segment/segmentCount)\n// To go from index to segment index, index - (segment*6)\n//\nvec3 getConePosition(vec3 d, float rawIndex, float coneOffset, out vec3 normal) {\n\n const float segmentCount = 8.0;\n\n float index = rawIndex - floor(rawIndex /\n (segmentCount * 6.0)) *\n (segmentCount * 6.0);\n\n float segment = floor(0.001 + index/6.0);\n float segmentIndex = index - (segment*6.0);\n\n normal = -normalize(d);\n\n if (segmentIndex > 2.99 && segmentIndex < 3.01) {\n return mix(vec3(0.0), -d, coneOffset);\n }\n\n float nextAngle = (\n (segmentIndex > 0.99 && segmentIndex < 1.01) ||\n (segmentIndex > 4.99 && segmentIndex < 5.01)\n ) ? 1.0 : 0.0;\n float angle = 2.0 * 3.14159 * ((segment + nextAngle) / segmentCount);\n\n vec3 v1 = mix(d, vec3(0.0), coneOffset);\n vec3 v2 = v1 - d;\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d)*0.25;\n vec3 y = v * sin(angle) * length(d)*0.25;\n vec3 v3 = v2 + x + y;\n if (segmentIndex < 3.0) {\n vec3 tx = u * sin(angle);\n vec3 ty = v * -cos(angle);\n vec3 tangent = tx + ty;\n normal = normalize(cross(v3 - v1, tangent));\n }\n\n if (segmentIndex == 0.0) {\n return mix(d, vec3(0.0), coneOffset);\n }\n return v3;\n}\n\nattribute vec4 vector;\nattribute vec4 position;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform float vectorScale, coneScale, coneOffset;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n vec3 normal;\n vec3 XYZ = getConePosition(mat3(model) * ((vectorScale * coneScale) * vector.xyz), position.w, coneOffset, normal);\n vec4 conePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n gl_Position = projection * view * conePosition;\n f_id = id;\n f_position = position.xyz;\n}\n"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n\n gl_FragColor = vec4(pickId, f_id.xyz);\n}"]);r.meshShader={vertex:i,fragment:a,attributes:[{name:"position",type:"vec4"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"vector",type:"vec3"}]},r.pickShader={vertex:o,fragment:s,attributes:[{name:"position",type:"vec4"},{name:"id",type:"vec4"},{name:"vector",type:"vec3"}]}},{glslify:263}],263:[function(t,e,r){arguments[4][257][0].apply(r,arguments)},{dup:257}],264:[function(t,e,r){e.exports={0:"NONE",1:"ONE",2:"LINE_LOOP",3:"LINE_STRIP",4:"TRIANGLES",5:"TRIANGLE_STRIP",6:"TRIANGLE_FAN",256:"DEPTH_BUFFER_BIT",512:"NEVER",513:"LESS",514:"EQUAL",515:"LEQUAL",516:"GREATER",517:"NOTEQUAL",518:"GEQUAL",519:"ALWAYS",768:"SRC_COLOR",769:"ONE_MINUS_SRC_COLOR",770:"SRC_ALPHA",771:"ONE_MINUS_SRC_ALPHA",772:"DST_ALPHA",773:"ONE_MINUS_DST_ALPHA",774:"DST_COLOR",775:"ONE_MINUS_DST_COLOR",776:"SRC_ALPHA_SATURATE",1024:"STENCIL_BUFFER_BIT",1028:"FRONT",1029:"BACK",1032:"FRONT_AND_BACK",1280:"INVALID_ENUM",1281:"INVALID_VALUE",1282:"INVALID_OPERATION",1285:"OUT_OF_MEMORY",1286:"INVALID_FRAMEBUFFER_OPERATION",2304:"CW",2305:"CCW",2849:"LINE_WIDTH",2884:"CULL_FACE",2885:"CULL_FACE_MODE",2886:"FRONT_FACE",2928:"DEPTH_RANGE",2929:"DEPTH_TEST",2930:"DEPTH_WRITEMASK",2931:"DEPTH_CLEAR_VALUE",2932:"DEPTH_FUNC",2960:"STENCIL_TEST",2961:"STENCIL_CLEAR_VALUE",2962:"STENCIL_FUNC",2963:"STENCIL_VALUE_MASK",2964:"STENCIL_FAIL",2965:"STENCIL_PASS_DEPTH_FAIL",2966:"STENCIL_PASS_DEPTH_PASS",2967:"STENCIL_REF",2968:"STENCIL_WRITEMASK",2978:"VIEWPORT",3024:"DITHER",3042:"BLEND",3088:"SCISSOR_BOX",3089:"SCISSOR_TEST",3106:"COLOR_CLEAR_VALUE",3107:"COLOR_WRITEMASK",3317:"UNPACK_ALIGNMENT",3333:"PACK_ALIGNMENT",3379:"MAX_TEXTURE_SIZE",3386:"MAX_VIEWPORT_DIMS",3408:"SUBPIXEL_BITS",3410:"RED_BITS",3411:"GREEN_BITS",3412:"BLUE_BITS",3413:"ALPHA_BITS",3414:"DEPTH_BITS",3415:"STENCIL_BITS",3553:"TEXTURE_2D",4352:"DONT_CARE",4353:"FASTEST",4354:"NICEST",5120:"BYTE",5121:"UNSIGNED_BYTE",5122:"SHORT",5123:"UNSIGNED_SHORT",5124:"INT",5125:"UNSIGNED_INT",5126:"FLOAT",5386:"INVERT",5890:"TEXTURE",6401:"STENCIL_INDEX",6402:"DEPTH_COMPONENT",6406:"ALPHA",6407:"RGB",6408:"RGBA",6409:"LUMINANCE",6410:"LUMINANCE_ALPHA",7680:"KEEP",7681:"REPLACE",7682:"INCR",7683:"DECR",7936:"VENDOR",7937:"RENDERER",7938:"VERSION",9728:"NEAREST",9729:"LINEAR",9984:"NEAREST_MIPMAP_NEAREST",9985:"LINEAR_MIPMAP_NEAREST",9986:"NEAREST_MIPMAP_LINEAR",9987:"LINEAR_MIPMAP_LINEAR",10240:"TEXTURE_MAG_FILTER",10241:"TEXTURE_MIN_FILTER",10242:"TEXTURE_WRAP_S",10243:"TEXTURE_WRAP_T",10497:"REPEAT",10752:"POLYGON_OFFSET_UNITS",16384:"COLOR_BUFFER_BIT",32769:"CONSTANT_COLOR",32770:"ONE_MINUS_CONSTANT_COLOR",32771:"CONSTANT_ALPHA",32772:"ONE_MINUS_CONSTANT_ALPHA",32773:"BLEND_COLOR",32774:"FUNC_ADD",32777:"BLEND_EQUATION_RGB",32778:"FUNC_SUBTRACT",32779:"FUNC_REVERSE_SUBTRACT",32819:"UNSIGNED_SHORT_4_4_4_4",32820:"UNSIGNED_SHORT_5_5_5_1",32823:"POLYGON_OFFSET_FILL",32824:"POLYGON_OFFSET_FACTOR",32854:"RGBA4",32855:"RGB5_A1",32873:"TEXTURE_BINDING_2D",32926:"SAMPLE_ALPHA_TO_COVERAGE",32928:"SAMPLE_COVERAGE",32936:"SAMPLE_BUFFERS",32937:"SAMPLES",32938:"SAMPLE_COVERAGE_VALUE",32939:"SAMPLE_COVERAGE_INVERT",32968:"BLEND_DST_RGB",32969:"BLEND_SRC_RGB",32970:"BLEND_DST_ALPHA",32971:"BLEND_SRC_ALPHA",33071:"CLAMP_TO_EDGE",33170:"GENERATE_MIPMAP_HINT",33189:"DEPTH_COMPONENT16",33306:"DEPTH_STENCIL_ATTACHMENT",33635:"UNSIGNED_SHORT_5_6_5",33648:"MIRRORED_REPEAT",33901:"ALIASED_POINT_SIZE_RANGE",33902:"ALIASED_LINE_WIDTH_RANGE",33984:"TEXTURE0",33985:"TEXTURE1",33986:"TEXTURE2",33987:"TEXTURE3",33988:"TEXTURE4",33989:"TEXTURE5",33990:"TEXTURE6",33991:"TEXTURE7",33992:"TEXTURE8",33993:"TEXTURE9",33994:"TEXTURE10",33995:"TEXTURE11",33996:"TEXTURE12",33997:"TEXTURE13",33998:"TEXTURE14",33999:"TEXTURE15",34e3:"TEXTURE16",34001:"TEXTURE17",34002:"TEXTURE18",34003:"TEXTURE19",34004:"TEXTURE20",34005:"TEXTURE21",34006:"TEXTURE22",34007:"TEXTURE23",34008:"TEXTURE24",34009:"TEXTURE25",34010:"TEXTURE26",34011:"TEXTURE27",34012:"TEXTURE28",34013:"TEXTURE29",34014:"TEXTURE30",34015:"TEXTURE31",34016:"ACTIVE_TEXTURE",34024:"MAX_RENDERBUFFER_SIZE",34041:"DEPTH_STENCIL",34055:"INCR_WRAP",34056:"DECR_WRAP",34067:"TEXTURE_CUBE_MAP",34068:"TEXTURE_BINDING_CUBE_MAP",34069:"TEXTURE_CUBE_MAP_POSITIVE_X",34070:"TEXTURE_CUBE_MAP_NEGATIVE_X",34071:"TEXTURE_CUBE_MAP_POSITIVE_Y",34072:"TEXTURE_CUBE_MAP_NEGATIVE_Y",34073:"TEXTURE_CUBE_MAP_POSITIVE_Z",34074:"TEXTURE_CUBE_MAP_NEGATIVE_Z",34076:"MAX_CUBE_MAP_TEXTURE_SIZE",34338:"VERTEX_ATTRIB_ARRAY_ENABLED",34339:"VERTEX_ATTRIB_ARRAY_SIZE",34340:"VERTEX_ATTRIB_ARRAY_STRIDE",34341:"VERTEX_ATTRIB_ARRAY_TYPE",34342:"CURRENT_VERTEX_ATTRIB",34373:"VERTEX_ATTRIB_ARRAY_POINTER",34466:"NUM_COMPRESSED_TEXTURE_FORMATS",34467:"COMPRESSED_TEXTURE_FORMATS",34660:"BUFFER_SIZE",34661:"BUFFER_USAGE",34816:"STENCIL_BACK_FUNC",34817:"STENCIL_BACK_FAIL",34818:"STENCIL_BACK_PASS_DEPTH_FAIL",34819:"STENCIL_BACK_PASS_DEPTH_PASS",34877:"BLEND_EQUATION_ALPHA",34921:"MAX_VERTEX_ATTRIBS",34922:"VERTEX_ATTRIB_ARRAY_NORMALIZED",34930:"MAX_TEXTURE_IMAGE_UNITS",34962:"ARRAY_BUFFER",34963:"ELEMENT_ARRAY_BUFFER",34964:"ARRAY_BUFFER_BINDING",34965:"ELEMENT_ARRAY_BUFFER_BINDING",34975:"VERTEX_ATTRIB_ARRAY_BUFFER_BINDING",35040:"STREAM_DRAW",35044:"STATIC_DRAW",35048:"DYNAMIC_DRAW",35632:"FRAGMENT_SHADER",35633:"VERTEX_SHADER",35660:"MAX_VERTEX_TEXTURE_IMAGE_UNITS",35661:"MAX_COMBINED_TEXTURE_IMAGE_UNITS",35663:"SHADER_TYPE",35664:"FLOAT_VEC2",35665:"FLOAT_VEC3",35666:"FLOAT_VEC4",35667:"INT_VEC2",35668:"INT_VEC3",35669:"INT_VEC4",35670:"BOOL",35671:"BOOL_VEC2",35672:"BOOL_VEC3",35673:"BOOL_VEC4",35674:"FLOAT_MAT2",35675:"FLOAT_MAT3",35676:"FLOAT_MAT4",35678:"SAMPLER_2D",35680:"SAMPLER_CUBE",35712:"DELETE_STATUS",35713:"COMPILE_STATUS",35714:"LINK_STATUS",35715:"VALIDATE_STATUS",35716:"INFO_LOG_LENGTH",35717:"ATTACHED_SHADERS",35718:"ACTIVE_UNIFORMS",35719:"ACTIVE_UNIFORM_MAX_LENGTH",35720:"SHADER_SOURCE_LENGTH",35721:"ACTIVE_ATTRIBUTES",35722:"ACTIVE_ATTRIBUTE_MAX_LENGTH",35724:"SHADING_LANGUAGE_VERSION",35725:"CURRENT_PROGRAM",36003:"STENCIL_BACK_REF",36004:"STENCIL_BACK_VALUE_MASK",36005:"STENCIL_BACK_WRITEMASK",36006:"FRAMEBUFFER_BINDING",36007:"RENDERBUFFER_BINDING",36048:"FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE",36049:"FRAMEBUFFER_ATTACHMENT_OBJECT_NAME",36050:"FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL",36051:"FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE",36053:"FRAMEBUFFER_COMPLETE",36054:"FRAMEBUFFER_INCOMPLETE_ATTACHMENT",36055:"FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT",36057:"FRAMEBUFFER_INCOMPLETE_DIMENSIONS",36061:"FRAMEBUFFER_UNSUPPORTED",36064:"COLOR_ATTACHMENT0",36096:"DEPTH_ATTACHMENT",36128:"STENCIL_ATTACHMENT",36160:"FRAMEBUFFER",36161:"RENDERBUFFER",36162:"RENDERBUFFER_WIDTH",36163:"RENDERBUFFER_HEIGHT",36164:"RENDERBUFFER_INTERNAL_FORMAT",36168:"STENCIL_INDEX8",36176:"RENDERBUFFER_RED_SIZE",36177:"RENDERBUFFER_GREEN_SIZE",36178:"RENDERBUFFER_BLUE_SIZE",36179:"RENDERBUFFER_ALPHA_SIZE",36180:"RENDERBUFFER_DEPTH_SIZE",36181:"RENDERBUFFER_STENCIL_SIZE",36194:"RGB565",36336:"LOW_FLOAT",36337:"MEDIUM_FLOAT",36338:"HIGH_FLOAT",36339:"LOW_INT",36340:"MEDIUM_INT",36341:"HIGH_INT",36346:"SHADER_COMPILER",36347:"MAX_VERTEX_UNIFORM_VECTORS",36348:"MAX_VARYING_VECTORS",36349:"MAX_FRAGMENT_UNIFORM_VECTORS",37440:"UNPACK_FLIP_Y_WEBGL",37441:"UNPACK_PREMULTIPLY_ALPHA_WEBGL",37442:"CONTEXT_LOST_WEBGL",37443:"UNPACK_COLORSPACE_CONVERSION_WEBGL",37444:"BROWSER_DEFAULT_WEBGL"}},{}],265:[function(t,e,r){var n=t("./1.0/numbers");e.exports=function(t){return n[t]}},{"./1.0/numbers":264}],266:[function(t,e,r){"use strict";e.exports=function(t){var e=t.gl,r=n(e),o=i(e,[{buffer:r,type:e.FLOAT,size:3,offset:0,stride:40},{buffer:r,type:e.FLOAT,size:4,offset:12,stride:40},{buffer:r,type:e.FLOAT,size:3,offset:28,stride:40}]),l=a(e);l.attributes.position.location=0,l.attributes.color.location=1,l.attributes.offset.location=2;var c=new s(e,r,o,l);return c.update(t),c};var n=t("gl-buffer"),i=t("gl-vao"),a=t("./shaders/index"),o=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function s(t,e,r,n){this.gl=t,this.shader=n,this.buffer=e,this.vao=r,this.pixelRatio=1,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.lineWidth=[1,1,1],this.capSize=[10,10,10],this.lineCount=[0,0,0],this.lineOffset=[0,0,0],this.opacity=1,this.hasAlpha=!1}var l=s.prototype;function c(t,e){for(var r=0;r<3;++r)t[0][r]=Math.min(t[0][r],e[r]),t[1][r]=Math.max(t[1][r],e[r])}l.isOpaque=function(){return!this.hasAlpha},l.isTransparent=function(){return this.hasAlpha},l.drawTransparent=l.draw=function(t){var e=this.gl,r=this.shader.uniforms;this.shader.bind();var n=r.view=t.view||o,i=r.projection=t.projection||o;r.model=t.model||o,r.clipBounds=this.clipBounds,r.opacity=this.opacity;var a=n[12],s=n[13],l=n[14],c=n[15],u=(t._ortho||!1?2:1)*this.pixelRatio*(i[3]*a+i[7]*s+i[11]*l+i[15]*c)/e.drawingBufferHeight;this.vao.bind();for(var f=0;f<3;++f)e.lineWidth(this.lineWidth[f]*this.pixelRatio),r.capSize=this.capSize[f]*u,this.lineCount[f]&&e.drawArrays(e.LINES,this.lineOffset[f],this.lineCount[f]);this.vao.unbind()};var u=function(){for(var t=new Array(3),e=0;e<3;++e){for(var r=[],n=1;n<=2;++n)for(var i=-1;i<=1;i+=2){var a=[0,0,0];a[(n+e)%3]=i,r.push(a)}t[e]=r}return t}();function f(t,e,r,n){for(var i=u[n],a=0;a<i.length;++a){var o=i[a];t.push(e[0],e[1],e[2],r[0],r[1],r[2],r[3],o[0],o[1],o[2])}return i.length}l.update=function(t){"lineWidth"in(t=t||{})&&(this.lineWidth=t.lineWidth,Array.isArray(this.lineWidth)||(this.lineWidth=[this.lineWidth,this.lineWidth,this.lineWidth])),"capSize"in t&&(this.capSize=t.capSize,Array.isArray(this.capSize)||(this.capSize=[this.capSize,this.capSize,this.capSize])),this.hasAlpha=!1,"opacity"in t&&(this.opacity=+t.opacity,this.opacity<1&&(this.hasAlpha=!0));var e=t.color||[[0,0,0],[0,0,0],[0,0,0]],r=t.position,n=t.error;if(Array.isArray(e[0])||(e=[e,e,e]),r&&n){var i=[],a=r.length,o=0;this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.lineCount=[0,0,0];for(var s=0;s<3;++s){this.lineOffset[s]=o;t:for(var l=0;l<a;++l){for(var u=r[l],h=0;h<3;++h)if(isNaN(u[h])||!isFinite(u[h]))continue t;var p=n[l],d=e[s];if(Array.isArray(d[0])&&(d=e[l]),3===d.length?d=[d[0],d[1],d[2],1]:4===d.length&&(d=[d[0],d[1],d[2],d[3]],!this.hasAlpha&&d[3]<1&&(this.hasAlpha=!0)),!isNaN(p[0][s])&&!isNaN(p[1][s])){var g;if(p[0][s]<0)(g=u.slice())[s]+=p[0][s],i.push(u[0],u[1],u[2],d[0],d[1],d[2],d[3],0,0,0,g[0],g[1],g[2],d[0],d[1],d[2],d[3],0,0,0),c(this.bounds,g),o+=2+f(i,g,d,s);if(p[1][s]>0)(g=u.slice())[s]+=p[1][s],i.push(u[0],u[1],u[2],d[0],d[1],d[2],d[3],0,0,0,g[0],g[1],g[2],d[0],d[1],d[2],d[3],0,0,0),c(this.bounds,g),o+=2+f(i,g,d,s)}}this.lineCount[s]=o-this.lineOffset[s]}this.buffer.update(i)}},l.dispose=function(){this.shader.dispose(),this.buffer.dispose(),this.vao.dispose()}},{"./shaders/index":268,"gl-buffer":259,"gl-vao":358}],267:[function(t,e,r){arguments[4][257][0].apply(r,arguments)},{dup:257}],268:[function(t,e,r){"use strict";var n=t("glslify"),i=t("gl-shader"),a=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position, offset;\nattribute vec4 color;\nuniform mat4 model, view, projection;\nuniform float capSize;\nvarying vec4 fragColor;\nvarying vec3 fragPosition;\n\nvoid main() {\n vec4 worldPosition = model * vec4(position, 1.0);\n worldPosition = (worldPosition / worldPosition.w) + vec4(capSize * offset, 0.0);\n gl_Position = projection * view * worldPosition;\n fragColor = color;\n fragPosition = position;\n}"]),o=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float opacity;\nvarying vec3 fragPosition;\nvarying vec4 fragColor;\n\nvoid main() {\n if (\n outOfRange(clipBounds[0], clipBounds[1], fragPosition) ||\n fragColor.a * opacity == 0.\n ) discard;\n\n gl_FragColor = opacity * fragColor;\n}"]);e.exports=function(t){return i(t,a,o,null,[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"offset",type:"vec3"}])}},{"gl-shader":335,glslify:267}],269:[function(t,e,r){"use strict";var n=t("gl-texture2d");e.exports=function(t,e,r,n){i||(i=t.FRAMEBUFFER_UNSUPPORTED,a=t.FRAMEBUFFER_INCOMPLETE_ATTACHMENT,o=t.FRAMEBUFFER_INCOMPLETE_DIMENSIONS,s=t.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT);var c=t.getExtension("WEBGL_draw_buffers");!l&&c&&function(t,e){var r=t.getParameter(e.MAX_COLOR_ATTACHMENTS_WEBGL);l=new Array(r+1);for(var n=0;n<=r;++n){for(var i=new Array(r),a=0;a<n;++a)i[a]=t.COLOR_ATTACHMENT0+a;for(a=n;a<r;++a)i[a]=t.NONE;l[n]=i}}(t,c);Array.isArray(e)&&(n=r,r=0|e[1],e=0|e[0]);if("number"!=typeof e)throw new Error("gl-fbo: Missing shape parameter");var u=t.getParameter(t.MAX_RENDERBUFFER_SIZE);if(e<0||e>u||r<0||r>u)throw new Error("gl-fbo: Parameters are too large for FBO");var f=1;if("color"in(n=n||{})){if((f=Math.max(0|n.color,0))<0)throw new Error("gl-fbo: Must specify a nonnegative number of colors");if(f>1){if(!c)throw new Error("gl-fbo: Multiple draw buffer extension not supported");if(f>t.getParameter(c.MAX_COLOR_ATTACHMENTS_WEBGL))throw new Error("gl-fbo: Context does not support "+f+" draw buffers")}}var h=t.UNSIGNED_BYTE,p=t.getExtension("OES_texture_float");if(n.float&&f>0){if(!p)throw new Error("gl-fbo: Context does not support floating point textures");h=t.FLOAT}else n.preferFloat&&f>0&&p&&(h=t.FLOAT);var g=!0;"depth"in n&&(g=!!n.depth);var m=!1;"stencil"in n&&(m=!!n.stencil);return new d(t,e,r,h,f,g,m,c)};var i,a,o,s,l=null;function c(t){return[t.getParameter(t.FRAMEBUFFER_BINDING),t.getParameter(t.RENDERBUFFER_BINDING),t.getParameter(t.TEXTURE_BINDING_2D)]}function u(t,e){t.bindFramebuffer(t.FRAMEBUFFER,e[0]),t.bindRenderbuffer(t.RENDERBUFFER,e[1]),t.bindTexture(t.TEXTURE_2D,e[2])}function f(t){switch(t){case i:throw new Error("gl-fbo: Framebuffer unsupported");case a:throw new Error("gl-fbo: Framebuffer incomplete attachment");case o:throw new Error("gl-fbo: Framebuffer incomplete dimensions");case s:throw new Error("gl-fbo: Framebuffer incomplete missing attachment");default:throw new Error("gl-fbo: Framebuffer failed for unspecified reason")}}function h(t,e,r,i,a,o){if(!i)return null;var s=n(t,e,r,a,i);return s.magFilter=t.NEAREST,s.minFilter=t.NEAREST,s.mipSamples=1,s.bind(),t.framebufferTexture2D(t.FRAMEBUFFER,o,t.TEXTURE_2D,s.handle,0),s}function p(t,e,r,n,i){var a=t.createRenderbuffer();return t.bindRenderbuffer(t.RENDERBUFFER,a),t.renderbufferStorage(t.RENDERBUFFER,n,e,r),t.framebufferRenderbuffer(t.FRAMEBUFFER,i,t.RENDERBUFFER,a),a}function d(t,e,r,n,i,a,o,s){this.gl=t,this._shape=[0|e,0|r],this._destroyed=!1,this._ext=s,this.color=new Array(i);for(var d=0;d<i;++d)this.color[d]=null;this._color_rb=null,this.depth=null,this._depth_rb=null,this._colorType=n,this._useDepth=a,this._useStencil=o;var g=this,m=[0|e,0|r];Object.defineProperties(m,{0:{get:function(){return g._shape[0]},set:function(t){return g.width=t}},1:{get:function(){return g._shape[1]},set:function(t){return g.height=t}}}),this._shapeVector=m,function(t){var e=c(t.gl),r=t.gl,n=t.handle=r.createFramebuffer(),i=t._shape[0],a=t._shape[1],o=t.color.length,s=t._ext,d=t._useStencil,g=t._useDepth,m=t._colorType;r.bindFramebuffer(r.FRAMEBUFFER,n);for(var v=0;v<o;++v)t.color[v]=h(r,i,a,m,r.RGBA,r.COLOR_ATTACHMENT0+v);0===o?(t._color_rb=p(r,i,a,r.RGBA4,r.COLOR_ATTACHMENT0),s&&s.drawBuffersWEBGL(l[0])):o>1&&s.drawBuffersWEBGL(l[o]);var y=r.getExtension("WEBGL_depth_texture");y?d?t.depth=h(r,i,a,y.UNSIGNED_INT_24_8_WEBGL,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):g&&(t.depth=h(r,i,a,r.UNSIGNED_SHORT,r.DEPTH_COMPONENT,r.DEPTH_ATTACHMENT)):g&&d?t._depth_rb=p(r,i,a,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):g?t._depth_rb=p(r,i,a,r.DEPTH_COMPONENT16,r.DEPTH_ATTACHMENT):d&&(t._depth_rb=p(r,i,a,r.STENCIL_INDEX,r.STENCIL_ATTACHMENT));var x=r.checkFramebufferStatus(r.FRAMEBUFFER);if(x!==r.FRAMEBUFFER_COMPLETE){t._destroyed=!0,r.bindFramebuffer(r.FRAMEBUFFER,null),r.deleteFramebuffer(t.handle),t.handle=null,t.depth&&(t.depth.dispose(),t.depth=null),t._depth_rb&&(r.deleteRenderbuffer(t._depth_rb),t._depth_rb=null);for(v=0;v<t.color.length;++v)t.color[v].dispose(),t.color[v]=null;t._color_rb&&(r.deleteRenderbuffer(t._color_rb),t._color_rb=null),u(r,e),f(x)}u(r,e)}(this)}var g=d.prototype;function m(t,e,r){if(t._destroyed)throw new Error("gl-fbo: Can't resize destroyed FBO");if(t._shape[0]!==e||t._shape[1]!==r){var n=t.gl,i=n.getParameter(n.MAX_RENDERBUFFER_SIZE);if(e<0||e>i||r<0||r>i)throw new Error("gl-fbo: Can't resize FBO, invalid dimensions");t._shape[0]=e,t._shape[1]=r;for(var a=c(n),o=0;o<t.color.length;++o)t.color[o].shape=t._shape;t._color_rb&&(n.bindRenderbuffer(n.RENDERBUFFER,t._color_rb),n.renderbufferStorage(n.RENDERBUFFER,n.RGBA4,t._shape[0],t._shape[1])),t.depth&&(t.depth.shape=t._shape),t._depth_rb&&(n.bindRenderbuffer(n.RENDERBUFFER,t._depth_rb),t._useDepth&&t._useStencil?n.renderbufferStorage(n.RENDERBUFFER,n.DEPTH_STENCIL,t._shape[0],t._shape[1]):t._useDepth?n.renderbufferStorage(n.RENDERBUFFER,n.DEPTH_COMPONENT16,t._shape[0],t._shape[1]):t._useStencil&&n.renderbufferStorage(n.RENDERBUFFER,n.STENCIL_INDEX,t._shape[0],t._shape[1])),n.bindFramebuffer(n.FRAMEBUFFER,t.handle);var s=n.checkFramebufferStatus(n.FRAMEBUFFER);s!==n.FRAMEBUFFER_COMPLETE&&(t.dispose(),u(n,a),f(s)),u(n,a)}}Object.defineProperties(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("gl-fbo: Shape vector must be length 2");var e=0|t[0],r=0|t[1];return m(this,e,r),[e,r]},enumerable:!1},width:{get:function(){return this._destroyed?0:this._shape[0]},set:function(t){return m(this,t|=0,this._shape[1]),t},enumerable:!1},height:{get:function(){return this._destroyed?0:this._shape[1]},set:function(t){return t|=0,m(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&&(this.depth.dispose(),this.depth=null),this._depth_rb&&(t.deleteRenderbuffer(this._depth_rb),this._depth_rb=null);for(var e=0;e<this.color.length;++e)this.color[e].dispose(),this.color[e]=null;this._color_rb&&(t.deleteRenderbuffer(this._color_rb),this._color_rb=null)}}},{"gl-texture2d":353}],270:[function(t,e,r){var n=t("sprintf-js").sprintf,i=t("gl-constants/lookup"),a=t("glsl-shader-name"),o=t("add-line-numbers");e.exports=function(t,e,r){"use strict";var s=a(e)||"of unknown name (see npm glsl-shader-name)",l="unknown type";void 0!==r&&(l=r===i.FRAGMENT_SHADER?"fragment":"vertex");for(var c=n("Error compiling %s shader %s:\n",l,s),u=n("%s%s",c,t),f=t.split("\n"),h={},p=0;p<f.length;p++){var d=f[p];if(""!==d&&"\0"!==d){var g=parseInt(d.split(":")[2]);if(isNaN(g))throw new Error(n("Could not parse error: %s",d));h[g]=d}}var m=o(e).split("\n");for(p=0;p<m.length;p++)if(h[p+3]||h[p+2]||h[p+1]){var v=m[p];if(c+=v+"\n",h[p+1]){var y=h[p+1];y=y.substr(y.split(":",3).join(":").length+1).trim(),c+=n("^^^ %s\n\n",y)}}return{long:c.trim(),short:u.trim()}}},{"add-line-numbers":66,"gl-constants/lookup":265,"glsl-shader-name":431,"sprintf-js":567}],271:[function(t,e,r){"use strict";e.exports=function(t,e){var r=t.gl,n=o(r,l.vertex,l.fragment),i=o(r,l.pickVertex,l.pickFragment),a=s(r),u=s(r),f=s(r),h=s(r),p=new c(t,n,i,a,u,f,h);return p.update(e),t.addObject(p),p};var n=t("binary-search-bounds"),i=t("iota-array"),a=t("typedarray-pool"),o=t("gl-shader"),s=t("gl-buffer"),l=t("./lib/shaders");function c(t,e,r,n,i,a,o){this.plot=t,this.shader=e,this.pickShader=r,this.positionBuffer=n,this.weightBuffer=i,this.colorBuffer=a,this.idBuffer=o,this.xData=[],this.yData=[],this.shape=[0,0],this.bounds=[1/0,1/0,-1/0,-1/0],this.pickOffset=0}var u,f=c.prototype,h=[0,0,1,0,0,1,1,0,1,1,0,1];f.draw=(u=[1,0,0,0,1,0,0,0,1],function(){var t=this.plot,e=this.shader,r=this.bounds,n=this.numVertices;if(!(n<=0)){var i=t.gl,a=t.dataBox,o=r[2]-r[0],s=r[3]-r[1],l=a[2]-a[0],c=a[3]-a[1];u[0]=2*o/l,u[4]=2*s/c,u[6]=2*(r[0]-a[0])/l-1,u[7]=2*(r[1]-a[1])/c-1,e.bind();var f=e.uniforms;f.viewTransform=u,f.shape=this.shape;var h=e.attributes;this.positionBuffer.bind(),h.position.pointer(),this.weightBuffer.bind(),h.weight.pointer(i.UNSIGNED_BYTE,!1),this.colorBuffer.bind(),h.color.pointer(i.UNSIGNED_BYTE,!0),i.drawArrays(i.TRIANGLES,0,n)}}),f.drawPick=function(){var t=[1,0,0,0,1,0,0,0,1],e=[0,0,0,0];return function(r){var n=this.plot,i=this.pickShader,a=this.bounds,o=this.numVertices;if(!(o<=0)){var s=n.gl,l=n.dataBox,c=a[2]-a[0],u=a[3]-a[1],f=l[2]-l[0],h=l[3]-l[1];t[0]=2*c/f,t[4]=2*u/h,t[6]=2*(a[0]-l[0])/f-1,t[7]=2*(a[1]-l[1])/h-1;for(var p=0;p<4;++p)e[p]=r>>8*p&255;this.pickOffset=r,i.bind();var d=i.uniforms;d.viewTransform=t,d.pickOffset=e,d.shape=this.shape;var g=i.attributes;return this.positionBuffer.bind(),g.position.pointer(),this.weightBuffer.bind(),g.weight.pointer(s.UNSIGNED_BYTE,!1),this.idBuffer.bind(),g.pickId.pointer(s.UNSIGNED_BYTE,!1),s.drawArrays(s.TRIANGLES,0,o),r+this.shape[0]*this.shape[1]}}}(),f.pick=function(t,e,r){var n=this.pickOffset,i=this.shape[0]*this.shape[1];if(r<n||r>=n+i)return null;var a=r-n,o=this.xData,s=this.yData;return{object:this,pointId:a,dataCoord:[o[a%this.shape[0]],s[a/this.shape[0]|0]]}},f.update=function(t){var e=(t=t||{}).shape||[0,0],r=t.x||i(e[0]),o=t.y||i(e[1]),s=t.z||new Float32Array(e[0]*e[1]),l=!1!==t.zsmooth;this.xData=r,this.yData=o;var c,u,f,p,d=t.colorLevels||[0],g=t.colorValues||[0,0,0,1],m=d.length,v=this.bounds;l?(c=v[0]=r[0],u=v[1]=o[0],f=v[2]=r[r.length-1],p=v[3]=o[o.length-1]):(c=v[0]=r[0]+(r[1]-r[0])/2,u=v[1]=o[0]+(o[1]-o[0])/2,f=v[2]=r[r.length-1]+(r[r.length-1]-r[r.length-2])/2,p=v[3]=o[o.length-1]+(o[o.length-1]-o[o.length-2])/2);var y=1/(f-c),x=1/(p-u),b=e[0],_=e[1];this.shape=[b,_];var w=(l?(b-1)*(_-1):b*_)*(h.length>>>1);this.numVertices=w;for(var T=a.mallocUint8(4*w),k=a.mallocFloat32(2*w),M=a.mallocUint8(2*w),A=a.mallocUint32(w),S=0,E=l?b-1:b,C=l?_-1:_,L=0;L<C;++L){var I,P;l?(I=x*(o[L]-u),P=x*(o[L+1]-u)):(I=L<_-1?x*(o[L]-(o[L+1]-o[L])/2-u):x*(o[L]-(o[L]-o[L-1])/2-u),P=L<_-1?x*(o[L]+(o[L+1]-o[L])/2-u):x*(o[L]+(o[L]-o[L-1])/2-u));for(var z=0;z<E;++z){var O,D;l?(O=y*(r[z]-c),D=y*(r[z+1]-c)):(O=z<b-1?y*(r[z]-(r[z+1]-r[z])/2-c):y*(r[z]-(r[z]-r[z-1])/2-c),D=z<b-1?y*(r[z]+(r[z+1]-r[z])/2-c):y*(r[z]+(r[z]-r[z-1])/2-c));for(var R=0;R<h.length;R+=2){var F,B,N,j,U=h[R],V=h[R+1],q=s[l?(L+V)*b+(z+U):L*b+z],H=n.le(d,q);if(H<0)F=g[0],B=g[1],N=g[2],j=g[3];else if(H===m-1)F=g[4*m-4],B=g[4*m-3],N=g[4*m-2],j=g[4*m-1];else{var G=(q-d[H])/(d[H+1]-d[H]),Y=1-G,W=4*H,X=4*(H+1);F=Y*g[W]+G*g[X],B=Y*g[W+1]+G*g[X+1],N=Y*g[W+2]+G*g[X+2],j=Y*g[W+3]+G*g[X+3]}T[4*S]=255*F,T[4*S+1]=255*B,T[4*S+2]=255*N,T[4*S+3]=255*j,k[2*S]=.5*O+.5*D,k[2*S+1]=.5*I+.5*P,M[2*S]=U,M[2*S+1]=V,A[S]=L*b+z,S+=1}}}this.positionBuffer.update(k),this.weightBuffer.update(M),this.colorBuffer.update(T),this.idBuffer.update(A),a.free(k),a.free(T),a.free(M),a.free(A)},f.dispose=function(){this.shader.dispose(),this.pickShader.dispose(),this.positionBuffer.dispose(),this.weightBuffer.dispose(),this.colorBuffer.dispose(),this.idBuffer.dispose(),this.plot.removeObject(this)}},{"./lib/shaders":272,"binary-search-bounds":96,"gl-buffer":259,"gl-shader":335,"iota-array":463,"typedarray-pool":595}],272:[function(t,e,r){"use strict";var n=t("glslify");e.exports={fragment:n(["precision lowp float;\n#define GLSLIFY 1\nvarying vec4 fragColor;\nvoid main() {\n gl_FragColor = vec4(fragColor.rgb * fragColor.a, fragColor.a);\n}\n"]),vertex:n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 position;\nattribute vec4 color;\nattribute vec2 weight;\n\nuniform vec2 shape;\nuniform mat3 viewTransform;\n\nvarying vec4 fragColor;\n\nvoid main() {\n vec3 vPosition = viewTransform * vec3( position + (weight-.5)/(shape-1.) , 1.0);\n fragColor = color;\n gl_Position = vec4(vPosition.xy, 0, vPosition.z);\n}\n"]),pickFragment:n(["precision mediump float;\n#define GLSLIFY 1\n\nvarying vec4 fragId;\nvarying vec2 vWeight;\n\nuniform vec2 shape;\nuniform vec4 pickOffset;\n\nvoid main() {\n vec2 d = step(.5, vWeight);\n vec4 id = fragId + pickOffset;\n id.x += d.x + d.y*shape.x;\n\n id.y += floor(id.x / 256.0);\n id.x -= floor(id.x / 256.0) * 256.0;\n\n id.z += floor(id.y / 256.0);\n id.y -= floor(id.y / 256.0) * 256.0;\n\n id.w += floor(id.z / 256.0);\n id.z -= floor(id.z / 256.0) * 256.0;\n\n gl_FragColor = id/255.;\n}\n"]),pickVertex:n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 position;\nattribute vec4 pickId;\nattribute vec2 weight;\n\nuniform vec2 shape;\nuniform mat3 viewTransform;\n\nvarying vec4 fragId;\nvarying vec2 vWeight;\n\nvoid main() {\n vWeight = weight;\n\n fragId = pickId;\n\n vec3 vPosition = viewTransform * vec3( position + (weight-.5)/(shape-1.) , 1.0);\n gl_Position = vec4(vPosition.xy, 0, vPosition.z);\n}\n"])}},{glslify:273}],273:[function(t,e,r){arguments[4][257][0].apply(r,arguments)},{dup:257}],274:[function(t,e,r){var n=t("glslify"),i=t("gl-shader"),a=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position, nextPosition;\nattribute float arcLength, lineWidth;\nattribute vec4 color;\n\nuniform vec2 screenShape;\nuniform float pixelRatio;\nuniform mat4 model, view, projection;\n\nvarying vec4 fragColor;\nvarying vec3 worldPosition;\nvarying float pixelArcLength;\n\nvec4 project(vec3 p) {\n return projection * view * model * vec4(p, 1.0);\n}\n\nvoid main() {\n vec4 startPoint = project(position);\n vec4 endPoint = project(nextPosition);\n\n vec2 A = startPoint.xy / startPoint.w;\n vec2 B = endPoint.xy / endPoint.w;\n\n float clipAngle = atan(\n (B.y - A.y) * screenShape.y,\n (B.x - A.x) * screenShape.x\n );\n\n vec2 offset = 0.5 * pixelRatio * lineWidth * vec2(\n sin(clipAngle),\n -cos(clipAngle)\n ) / screenShape;\n\n gl_Position = vec4(startPoint.xy + startPoint.w * offset, startPoint.zw);\n\n worldPosition = position;\n pixelArcLength = arcLength;\n fragColor = color;\n}\n"]),o=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform sampler2D dashTexture;\nuniform float dashScale;\nuniform float opacity;\n\nvarying vec3 worldPosition;\nvarying float pixelArcLength;\nvarying vec4 fragColor;\n\nvoid main() {\n if (\n outOfRange(clipBounds[0], clipBounds[1], worldPosition) ||\n fragColor.a * opacity == 0.\n ) discard;\n\n float dashWeight = texture2D(dashTexture, vec2(dashScale * pixelArcLength, 0)).r;\n if(dashWeight < 0.5) {\n discard;\n }\n gl_FragColor = fragColor * opacity;\n}\n"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\n#define FLOAT_MAX 1.70141184e38\n#define FLOAT_MIN 1.17549435e-38\n\n// https://github.com/mikolalysenko/glsl-read-float/blob/master/index.glsl\nvec4 packFloat(float v) {\n float av = abs(v);\n\n //Handle special cases\n if(av < FLOAT_MIN) {\n return vec4(0.0, 0.0, 0.0, 0.0);\n } else if(v > FLOAT_MAX) {\n return vec4(127.0, 128.0, 0.0, 0.0) / 255.0;\n } else if(v < -FLOAT_MAX) {\n return vec4(255.0, 128.0, 0.0, 0.0) / 255.0;\n }\n\n vec4 c = vec4(0,0,0,0);\n\n //Compute exponent and mantissa\n float e = floor(log2(av));\n float m = av * pow(2.0, -e) - 1.0;\n\n //Unpack mantissa\n c[1] = floor(128.0 * m);\n m -= c[1] / 128.0;\n c[2] = floor(32768.0 * m);\n m -= c[2] / 32768.0;\n c[3] = floor(8388608.0 * m);\n\n //Unpack exponent\n float ebias = e + 127.0;\n c[0] = floor(ebias / 2.0);\n ebias -= c[0] * 2.0;\n c[1] += floor(ebias) * 128.0;\n\n //Unpack sign bit\n c[0] += 128.0 * step(0.0, -v);\n\n //Scale back to range\n return c / 255.0;\n}\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform float pickId;\nuniform vec3 clipBounds[2];\n\nvarying vec3 worldPosition;\nvarying float pixelArcLength;\nvarying vec4 fragColor;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], worldPosition)) discard;\n\n gl_FragColor = vec4(pickId/255.0, packFloat(pixelArcLength).xyz);\n}"]),l=[{name:"position",type:"vec3"},{name:"nextPosition",type:"vec3"},{name:"arcLength",type:"float"},{name:"lineWidth",type:"float"},{name:"color",type:"vec4"}];r.createShader=function(t){return i(t,a,o,null,l)},r.createPickShader=function(t){return i(t,a,s,null,l)}},{"gl-shader":335,glslify:276}],275:[function(t,e,r){"use strict";e.exports=function(t){var e=t.gl||t.scene&&t.scene.gl,r=f(e);r.attributes.position.location=0,r.attributes.nextPosition.location=1,r.attributes.arcLength.location=2,r.attributes.lineWidth.location=3,r.attributes.color.location=4;var o=h(e);o.attributes.position.location=0,o.attributes.nextPosition.location=1,o.attributes.arcLength.location=2,o.attributes.lineWidth.location=3,o.attributes.color.location=4;for(var s=n(e),l=i(e,[{buffer:s,size:3,offset:0,stride:48},{buffer:s,size:3,offset:12,stride:48},{buffer:s,size:1,offset:24,stride:48},{buffer:s,size:1,offset:28,stride:48},{buffer:s,size:4,offset:32,stride:48}]),u=c(new Array(1024),[256,1,4]),p=0;p<1024;++p)u.data[p]=255;var d=a(e,u);d.wrap=e.REPEAT;var g=new v(e,r,o,s,l,d);return g.update(t),g};var n=t("gl-buffer"),i=t("gl-vao"),a=t("gl-texture2d"),o=new Uint8Array(4),s=new Float32Array(o.buffer);var l=t("binary-search-bounds"),c=t("ndarray"),u=t("./lib/shaders"),f=u.createShader,h=u.createPickShader,p=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function d(t,e){for(var r=0,n=0;n<3;++n){var i=t[n]-e[n];r+=i*i}return Math.sqrt(r)}function g(t){for(var e=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],r=0;r<3;++r)e[0][r]=Math.max(t[0][r],e[0][r]),e[1][r]=Math.min(t[1][r],e[1][r]);return e}function m(t,e,r,n){this.arcLength=t,this.position=e,this.index=r,this.dataCoordinate=n}function v(t,e,r,n,i,a){this.gl=t,this.shader=e,this.pickShader=r,this.buffer=n,this.vao=i,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.points=[],this.arcLength=[],this.vertexCount=0,this.bounds=[[0,0,0],[0,0,0]],this.pickId=0,this.lineWidth=1,this.texture=a,this.dashScale=1,this.opacity=1,this.hasAlpha=!1,this.dirty=!0,this.pixelRatio=1}var y=v.prototype;y.isTransparent=function(){return this.hasAlpha},y.isOpaque=function(){return!this.hasAlpha},y.pickSlots=1,y.setPickBase=function(t){this.pickId=t},y.drawTransparent=y.draw=function(t){if(this.vertexCount){var e=this.gl,r=this.shader,n=this.vao;r.bind(),r.uniforms={model:t.model||p,view:t.view||p,projection:t.projection||p,clipBounds:g(this.clipBounds),dashTexture:this.texture.bind(),dashScale:this.dashScale/this.arcLength[this.arcLength.length-1],opacity:this.opacity,screenShape:[e.drawingBufferWidth,e.drawingBufferHeight],pixelRatio:this.pixelRatio},n.bind(),n.draw(e.TRIANGLE_STRIP,this.vertexCount),n.unbind()}},y.drawPick=function(t){if(this.vertexCount){var e=this.gl,r=this.pickShader,n=this.vao;r.bind(),r.uniforms={model:t.model||p,view:t.view||p,projection:t.projection||p,pickId:this.pickId,clipBounds:g(this.clipBounds),screenShape:[e.drawingBufferWidth,e.drawingBufferHeight],pixelRatio:this.pixelRatio},n.bind(),n.draw(e.TRIANGLE_STRIP,this.vertexCount),n.unbind()}},y.update=function(t){var e,r;this.dirty=!0;var n=!!t.connectGaps;"dashScale"in t&&(this.dashScale=t.dashScale),this.hasAlpha=!1,"opacity"in t&&(this.opacity=+t.opacity,this.opacity<1&&(this.hasAlpha=!0));var i=[],a=[],o=[],s=0,u=0,f=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],h=t.position||t.positions;if(h){var p=t.color||t.colors||[0,0,0,1],g=t.lineWidth||1,m=!1;t:for(e=1;e<h.length;++e){var v,y,x,b=h[e-1],_=h[e];for(a.push(s),o.push(b.slice()),r=0;r<3;++r){if(isNaN(b[r])||isNaN(_[r])||!isFinite(b[r])||!isFinite(_[r])){if(!n&&i.length>0){for(var w=0;w<24;++w)i.push(i[i.length-12]);u+=2,m=!0}continue t}f[0][r]=Math.min(f[0][r],b[r],_[r]),f[1][r]=Math.max(f[1][r],b[r],_[r])}Array.isArray(p[0])?(v=p.length>e-1?p[e-1]:p.length>0?p[p.length-1]:[0,0,0,1],y=p.length>e?p[e]:p.length>0?p[p.length-1]:[0,0,0,1]):v=y=p,3===v.length&&(v=[v[0],v[1],v[2],1]),3===y.length&&(y=[y[0],y[1],y[2],1]),!this.hasAlpha&&v[3]<1&&(this.hasAlpha=!0),x=Array.isArray(g)?g.length>e-1?g[e-1]:g.length>0?g[g.length-1]:[0,0,0,1]:g;var T=s;if(s+=d(b,_),m){for(r=0;r<2;++r)i.push(b[0],b[1],b[2],_[0],_[1],_[2],T,x,v[0],v[1],v[2],v[3]);u+=2,m=!1}i.push(b[0],b[1],b[2],_[0],_[1],_[2],T,x,v[0],v[1],v[2],v[3],b[0],b[1],b[2],_[0],_[1],_[2],T,-x,v[0],v[1],v[2],v[3],_[0],_[1],_[2],b[0],b[1],b[2],s,-x,y[0],y[1],y[2],y[3],_[0],_[1],_[2],b[0],b[1],b[2],s,x,y[0],y[1],y[2],y[3]),u+=4}}if(this.buffer.update(i),a.push(s),o.push(h[h.length-1].slice()),this.bounds=f,this.vertexCount=u,this.points=o,this.arcLength=a,"dashes"in t){var k=t.dashes.slice();for(k.unshift(0),e=1;e<k.length;++e)k[e]=k[e-1]+k[e];var M=c(new Array(1024),[256,1,4]);for(e=0;e<256;++e){for(r=0;r<4;++r)M.set(e,0,r,0);1&l.le(k,k[k.length-1]*e/255)?M.set(e,0,0,0):M.set(e,0,0,255)}this.texture.setPixels(M)}},y.dispose=function(){this.shader.dispose(),this.vao.dispose(),this.buffer.dispose()},y.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;var e=function(t,e,r,n){return o[0]=n,o[1]=r,o[2]=e,o[3]=t,s[0]}(t.value[0],t.value[1],t.value[2],0),r=l.le(this.arcLength,e);if(r<0)return null;if(r===this.arcLength.length-1)return new m(this.arcLength[this.arcLength.length-1],this.points[this.points.length-1].slice(),r);for(var n=this.points[r],i=this.points[Math.min(r+1,this.points.length-1)],a=(e-this.arcLength[r])/(this.arcLength[r+1]-this.arcLength[r]),c=1-a,u=[0,0,0],f=0;f<3;++f)u[f]=c*n[f]+a*i[f];var h=Math.min(a<.5?r:r+1,this.points.length-1);return new m(e,u,h,this.points[h])}},{"./lib/shaders":274,"binary-search-bounds":96,"gl-buffer":259,"gl-texture2d":353,"gl-vao":358,ndarray:495}],276:[function(t,e,r){arguments[4][257][0].apply(r,arguments)},{dup:257}],277:[function(t,e,r){e.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],c=e[7],u=e[8],f=e[9],h=e[10],p=e[11],d=e[12],g=e[13],m=e[14],v=e[15];return t[0]=s*(h*v-p*m)-f*(l*v-c*m)+g*(l*p-c*h),t[1]=-(n*(h*v-p*m)-f*(i*v-a*m)+g*(i*p-a*h)),t[2]=n*(l*v-c*m)-s*(i*v-a*m)+g*(i*c-a*l),t[3]=-(n*(l*p-c*h)-s*(i*p-a*h)+f*(i*c-a*l)),t[4]=-(o*(h*v-p*m)-u*(l*v-c*m)+d*(l*p-c*h)),t[5]=r*(h*v-p*m)-u*(i*v-a*m)+d*(i*p-a*h),t[6]=-(r*(l*v-c*m)-o*(i*v-a*m)+d*(i*c-a*l)),t[7]=r*(l*p-c*h)-o*(i*p-a*h)+u*(i*c-a*l),t[8]=o*(f*v-p*g)-u*(s*v-c*g)+d*(s*p-c*f),t[9]=-(r*(f*v-p*g)-u*(n*v-a*g)+d*(n*p-a*f)),t[10]=r*(s*v-c*g)-o*(n*v-a*g)+d*(n*c-a*s),t[11]=-(r*(s*p-c*f)-o*(n*p-a*f)+u*(n*c-a*s)),t[12]=-(o*(f*m-h*g)-u*(s*m-l*g)+d*(s*h-l*f)),t[13]=r*(f*m-h*g)-u*(n*m-i*g)+d*(n*h-i*f),t[14]=-(r*(s*m-l*g)-o*(n*m-i*g)+d*(n*l-i*s)),t[15]=r*(s*h-l*f)-o*(n*h-i*f)+u*(n*l-i*s),t}},{}],278:[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}},{}],279:[function(t,e,r){e.exports=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}},{}],280:[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}},{}],281:[function(t,e,r){e.exports=function(t){var e=t[0],r=t[1],n=t[2],i=t[3],a=t[4],o=t[5],s=t[6],l=t[7],c=t[8],u=t[9],f=t[10],h=t[11],p=t[12],d=t[13],g=t[14],m=t[15];return(e*o-r*a)*(f*m-h*g)-(e*s-n*a)*(u*m-h*d)+(e*l-i*a)*(u*g-f*d)+(r*s-n*o)*(c*m-h*p)-(r*l-i*o)*(c*g-f*p)+(n*l-i*s)*(c*d-u*p)}},{}],282:[function(t,e,r){e.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=r+r,s=n+n,l=i+i,c=r*o,u=n*o,f=n*s,h=i*o,p=i*s,d=i*l,g=a*o,m=a*s,v=a*l;return t[0]=1-f-d,t[1]=u+v,t[2]=h-m,t[3]=0,t[4]=u-v,t[5]=1-c-d,t[6]=p+g,t[7]=0,t[8]=h+m,t[9]=p-g,t[10]=1-c-f,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},{}],283:[function(t,e,r){e.exports=function(t,e,r){var n,i,a,o=r[0],s=r[1],l=r[2],c=Math.sqrt(o*o+s*s+l*l);if(Math.abs(c)<1e-6)return null;return o*=c=1/c,s*=c,l*=c,n=Math.sin(e),i=Math.cos(e),a=1-i,t[0]=o*o*a+i,t[1]=s*o*a+l*n,t[2]=l*o*a-s*n,t[3]=0,t[4]=o*s*a-l*n,t[5]=s*s*a+i,t[6]=l*s*a+o*n,t[7]=0,t[8]=o*l*a+s*n,t[9]=s*l*a-o*n,t[10]=l*l*a+i,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},{}],284:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=n+n,l=i+i,c=a+a,u=n*s,f=n*l,h=n*c,p=i*l,d=i*c,g=a*c,m=o*s,v=o*l,y=o*c;return t[0]=1-(p+g),t[1]=f+y,t[2]=h-v,t[3]=0,t[4]=f-y,t[5]=1-(u+g),t[6]=d+m,t[7]=0,t[8]=h+v,t[9]=d-m,t[10]=1-(u+p),t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1,t}},{}],285:[function(t,e,r){e.exports=function(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e[1],t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e[2],t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},{}],286:[function(t,e,r){e.exports=function(t,e){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=e[0],t[13]=e[1],t[14]=e[2],t[15]=1,t}},{}],287:[function(t,e,r){e.exports=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=n,t[6]=r,t[7]=0,t[8]=0,t[9]=-r,t[10]=n,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},{}],288:[function(t,e,r){e.exports=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=0,t[2]=-r,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=r,t[9]=0,t[10]=n,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},{}],289:[function(t,e,r){e.exports=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=r,t[2]=0,t[3]=0,t[4]=-r,t[5]=n,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},{}],290:[function(t,e,r){e.exports=function(t,e,r,n,i,a,o){var s=1/(r-e),l=1/(i-n),c=1/(a-o);return t[0]=2*a*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=2*a*l,t[6]=0,t[7]=0,t[8]=(r+e)*s,t[9]=(i+n)*l,t[10]=(o+a)*c,t[11]=-1,t[12]=0,t[13]=0,t[14]=o*a*2*c,t[15]=0,t}},{}],291:[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}},{}],292:[function(t,e,r){e.exports={create:t("./create"),clone:t("./clone"),copy:t("./copy"),identity:t("./identity"),transpose:t("./transpose"),invert:t("./invert"),adjoint:t("./adjoint"),determinant:t("./determinant"),multiply:t("./multiply"),translate:t("./translate"),scale:t("./scale"),rotate:t("./rotate"),rotateX:t("./rotateX"),rotateY:t("./rotateY"),rotateZ:t("./rotateZ"),fromRotation:t("./fromRotation"),fromRotationTranslation:t("./fromRotationTranslation"),fromScaling:t("./fromScaling"),fromTranslation:t("./fromTranslation"),fromXRotation:t("./fromXRotation"),fromYRotation:t("./fromYRotation"),fromZRotation:t("./fromZRotation"),fromQuat:t("./fromQuat"),frustum:t("./frustum"),perspective:t("./perspective"),perspectiveFromFieldOfView:t("./perspectiveFromFieldOfView"),ortho:t("./ortho"),lookAt:t("./lookAt"),str:t("./str")}},{"./adjoint":277,"./clone":278,"./copy":279,"./create":280,"./determinant":281,"./fromQuat":282,"./fromRotation":283,"./fromRotationTranslation":284,"./fromScaling":285,"./fromTranslation":286,"./fromXRotation":287,"./fromYRotation":288,"./fromZRotation":289,"./frustum":290,"./identity":291,"./invert":293,"./lookAt":294,"./multiply":295,"./ortho":296,"./perspective":297,"./perspectiveFromFieldOfView":298,"./rotate":299,"./rotateX":300,"./rotateY":301,"./rotateZ":302,"./scale":303,"./str":304,"./translate":305,"./transpose":306}],293:[function(t,e,r){e.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],c=e[7],u=e[8],f=e[9],h=e[10],p=e[11],d=e[12],g=e[13],m=e[14],v=e[15],y=r*s-n*o,x=r*l-i*o,b=r*c-a*o,_=n*l-i*s,w=n*c-a*s,T=i*c-a*l,k=u*g-f*d,M=u*m-h*d,A=u*v-p*d,S=f*m-h*g,E=f*v-p*g,C=h*v-p*m,L=y*C-x*E+b*S+_*A-w*M+T*k;if(!L)return null;return L=1/L,t[0]=(s*C-l*E+c*S)*L,t[1]=(i*E-n*C-a*S)*L,t[2]=(g*T-m*w+v*_)*L,t[3]=(h*w-f*T-p*_)*L,t[4]=(l*A-o*C-c*M)*L,t[5]=(r*C-i*A+a*M)*L,t[6]=(m*b-d*T-v*x)*L,t[7]=(u*T-h*b+p*x)*L,t[8]=(o*E-s*A+c*k)*L,t[9]=(n*A-r*E-a*k)*L,t[10]=(d*w-g*b+v*y)*L,t[11]=(f*b-u*w-p*y)*L,t[12]=(s*M-o*S-l*k)*L,t[13]=(r*S-n*M+i*k)*L,t[14]=(g*x-d*_-m*y)*L,t[15]=(u*_-f*x+h*y)*L,t}},{}],294:[function(t,e,r){var n=t("./identity");e.exports=function(t,e,r,i){var a,o,s,l,c,u,f,h,p,d,g=e[0],m=e[1],v=e[2],y=i[0],x=i[1],b=i[2],_=r[0],w=r[1],T=r[2];if(Math.abs(g-_)<1e-6&&Math.abs(m-w)<1e-6&&Math.abs(v-T)<1e-6)return n(t);f=g-_,h=m-w,p=v-T,d=1/Math.sqrt(f*f+h*h+p*p),a=x*(p*=d)-b*(h*=d),o=b*(f*=d)-y*p,s=y*h-x*f,(d=Math.sqrt(a*a+o*o+s*s))?(a*=d=1/d,o*=d,s*=d):(a=0,o=0,s=0);l=h*s-p*o,c=p*a-f*s,u=f*o-h*a,(d=Math.sqrt(l*l+c*c+u*u))?(l*=d=1/d,c*=d,u*=d):(l=0,c=0,u=0);return t[0]=a,t[1]=l,t[2]=f,t[3]=0,t[4]=o,t[5]=c,t[6]=h,t[7]=0,t[8]=s,t[9]=u,t[10]=p,t[11]=0,t[12]=-(a*g+o*m+s*v),t[13]=-(l*g+c*m+u*v),t[14]=-(f*g+h*m+p*v),t[15]=1,t}},{"./identity":291}],295:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],c=e[6],u=e[7],f=e[8],h=e[9],p=e[10],d=e[11],g=e[12],m=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*g,t[1]=x*i+b*l+_*h+w*m,t[2]=x*a+b*c+_*p+w*v,t[3]=x*o+b*u+_*d+w*y,x=r[4],b=r[5],_=r[6],w=r[7],t[4]=x*n+b*s+_*f+w*g,t[5]=x*i+b*l+_*h+w*m,t[6]=x*a+b*c+_*p+w*v,t[7]=x*o+b*u+_*d+w*y,x=r[8],b=r[9],_=r[10],w=r[11],t[8]=x*n+b*s+_*f+w*g,t[9]=x*i+b*l+_*h+w*m,t[10]=x*a+b*c+_*p+w*v,t[11]=x*o+b*u+_*d+w*y,x=r[12],b=r[13],_=r[14],w=r[15],t[12]=x*n+b*s+_*f+w*g,t[13]=x*i+b*l+_*h+w*m,t[14]=x*a+b*c+_*p+w*v,t[15]=x*o+b*u+_*d+w*y,t}},{}],296:[function(t,e,r){e.exports=function(t,e,r,n,i,a,o){var s=1/(e-r),l=1/(n-i),c=1/(a-o);return t[0]=-2*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*l,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*c,t[11]=0,t[12]=(e+r)*s,t[13]=(i+n)*l,t[14]=(o+a)*c,t[15]=1,t}},{}],297:[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}},{}],298:[function(t,e,r){e.exports=function(t,e,r,n){var i=Math.tan(e.upDegrees*Math.PI/180),a=Math.tan(e.downDegrees*Math.PI/180),o=Math.tan(e.leftDegrees*Math.PI/180),s=Math.tan(e.rightDegrees*Math.PI/180),l=2/(o+s),c=2/(i+a);return t[0]=l,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=c,t[6]=0,t[7]=0,t[8]=-(o-s)*l*.5,t[9]=(i-a)*c*.5,t[10]=n/(r-n),t[11]=-1,t[12]=0,t[13]=0,t[14]=n*r/(r-n),t[15]=0,t}},{}],299:[function(t,e,r){e.exports=function(t,e,r,n){var i,a,o,s,l,c,u,f,h,p,d,g,m,v,y,x,b,_,w,T,k,M,A,S,E=n[0],C=n[1],L=n[2],I=Math.sqrt(E*E+C*C+L*L);if(Math.abs(I)<1e-6)return null;E*=I=1/I,C*=I,L*=I,i=Math.sin(r),a=Math.cos(r),o=1-a,s=e[0],l=e[1],c=e[2],u=e[3],f=e[4],h=e[5],p=e[6],d=e[7],g=e[8],m=e[9],v=e[10],y=e[11],x=E*E*o+a,b=C*E*o+L*i,_=L*E*o-C*i,w=E*C*o-L*i,T=C*C*o+a,k=L*C*o+E*i,M=E*L*o+C*i,A=C*L*o-E*i,S=L*L*o+a,t[0]=s*x+f*b+g*_,t[1]=l*x+h*b+m*_,t[2]=c*x+p*b+v*_,t[3]=u*x+d*b+y*_,t[4]=s*w+f*T+g*k,t[5]=l*w+h*T+m*k,t[6]=c*w+p*T+v*k,t[7]=u*w+d*T+y*k,t[8]=s*M+f*A+g*S,t[9]=l*M+h*A+m*S,t[10]=c*M+p*A+v*S,t[11]=u*M+d*A+y*S,e!==t&&(t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]);return t}},{}],300:[function(t,e,r){e.exports=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[4],o=e[5],s=e[6],l=e[7],c=e[8],u=e[9],f=e[10],h=e[11];e!==t&&(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]);return t[4]=a*i+c*n,t[5]=o*i+u*n,t[6]=s*i+f*n,t[7]=l*i+h*n,t[8]=c*i-a*n,t[9]=u*i-o*n,t[10]=f*i-s*n,t[11]=h*i-l*n,t}},{}],301:[function(t,e,r){e.exports=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[0],o=e[1],s=e[2],l=e[3],c=e[8],u=e[9],f=e[10],h=e[11];e!==t&&(t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]);return t[0]=a*i-c*n,t[1]=o*i-u*n,t[2]=s*i-f*n,t[3]=l*i-h*n,t[8]=a*n+c*i,t[9]=o*n+u*i,t[10]=s*n+f*i,t[11]=l*n+h*i,t}},{}],302:[function(t,e,r){e.exports=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[0],o=e[1],s=e[2],l=e[3],c=e[4],u=e[5],f=e[6],h=e[7];e!==t&&(t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]);return t[0]=a*i+c*n,t[1]=o*i+u*n,t[2]=s*i+f*n,t[3]=l*i+h*n,t[4]=c*i-a*n,t[5]=u*i-o*n,t[6]=f*i-s*n,t[7]=h*i-l*n,t}},{}],303:[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}},{}],304:[function(t,e,r){e.exports=function(t){return"mat4("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+", "+t[6]+", "+t[7]+", "+t[8]+", "+t[9]+", "+t[10]+", "+t[11]+", "+t[12]+", "+t[13]+", "+t[14]+", "+t[15]+")"}},{}],305:[function(t,e,r){e.exports=function(t,e,r){var n,i,a,o,s,l,c,u,f,h,p,d,g=r[0],m=r[1],v=r[2];e===t?(t[12]=e[0]*g+e[4]*m+e[8]*v+e[12],t[13]=e[1]*g+e[5]*m+e[9]*v+e[13],t[14]=e[2]*g+e[6]*m+e[10]*v+e[14],t[15]=e[3]*g+e[7]*m+e[11]*v+e[15]):(n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],c=e[6],u=e[7],f=e[8],h=e[9],p=e[10],d=e[11],t[0]=n,t[1]=i,t[2]=a,t[3]=o,t[4]=s,t[5]=l,t[6]=c,t[7]=u,t[8]=f,t[9]=h,t[10]=p,t[11]=d,t[12]=n*g+s*m+f*v+e[12],t[13]=i*g+l*m+h*v+e[13],t[14]=a*g+c*m+p*v+e[14],t[15]=o*g+u*m+d*v+e[15]);return t}},{}],306:[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}},{}],307:[function(t,e,r){"use strict";var n=t("barycentric"),i=t("polytope-closest-point/lib/closest_point_2d.js");function a(t,e){for(var r=[0,0,0,0],n=0;n<4;++n)for(var i=0;i<4;++i)r[i]+=t[4*n+i]*e[n];return r}function o(t,e,r,n,i){for(var o=a(n,a(r,a(e,[t[0],t[1],t[2],1]))),s=0;s<3;++s)o[s]/=o[3];return[.5*i[0]*(1+o[0]),.5*i[1]*(1-o[1])]}function s(t,e){for(var r=[0,0,0],n=0;n<t.length;++n)for(var i=t[n],a=e[n],o=0;o<3;++o)r[o]+=a*i[o];return r}e.exports=function(t,e,r,a,l,c){if(1===t.length)return[0,t[0].slice()];for(var u=new Array(t.length),f=0;f<t.length;++f)u[f]=o(t[f],r,a,l,c);var h=0,p=1/0;for(f=0;f<u.length;++f){for(var d=0,g=0;g<2;++g)d+=Math.pow(u[f][g]-e[g],2);d<p&&(p=d,h=f)}var m=function(t,e){if(2===t.length){for(var r=0,a=0,o=0;o<2;++o)r+=Math.pow(e[o]-t[0][o],2),a+=Math.pow(e[o]-t[1][o],2);return r=Math.sqrt(r),a=Math.sqrt(a),r+a<1e-6?[1,0]:[a/(r+a),r/(a+r)]}if(3===t.length){var s=[0,0];return i(t[0],t[1],t[2],e,s),n(t,s)}return[]}(u,e),v=0;for(f=0;f<3;++f){if(m[f]<-.001||m[f]>1.0001)return null;v+=m[f]}if(Math.abs(v-1)>.001)return null;return[h,s(t,m),m]}},{barycentric:78,"polytope-closest-point/lib/closest_point_2d.js":525}],308:[function(t,e,r){var n=t("glslify"),i=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position, normal;\nattribute vec4 color;\nattribute vec2 uv;\n\nuniform mat4 model\n , view\n , projection\n , inverseModel;\nuniform vec3 eyePosition\n , lightPosition;\n\nvarying vec3 f_normal\n , f_lightDirection\n , f_eyeDirection\n , f_data;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvec4 project(vec3 p) {\n return projection * view * model * vec4(p, 1.0);\n}\n\nvoid main() {\n gl_Position = project(position);\n\n //Lighting geometry parameters\n vec4 cameraCoordinate = view * vec4(position , 1.0);\n cameraCoordinate.xyz /= cameraCoordinate.w;\n f_lightDirection = lightPosition - cameraCoordinate.xyz;\n f_eyeDirection = eyePosition - cameraCoordinate.xyz;\n f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\n\n f_color = color;\n f_data = position;\n f_uv = uv;\n}\n"]),a=n(["#extension GL_OES_standard_derivatives : enable\n\nprecision highp float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution(float x, float roughness) {\n float NdotH = max(x, 0.0001);\n float cos2Alpha = NdotH * NdotH;\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n float roughness2 = roughness * roughness;\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n return exp(tan2Alpha / roughness2) / denom;\n}\n\nfloat cookTorranceSpecular(\n vec3 lightDirection,\n vec3 viewDirection,\n vec3 surfaceNormal,\n float roughness,\n float fresnel) {\n\n float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\n float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\n\n //Half angle vector\n vec3 H = normalize(lightDirection + viewDirection);\n\n //Geometric term\n float NdotH = max(dot(surfaceNormal, H), 0.0);\n float VdotH = max(dot(viewDirection, H), 0.000001);\n float LdotH = max(dot(lightDirection, H), 0.000001);\n float G1 = (2.0 * NdotH * VdotN) / VdotH;\n float G2 = (2.0 * NdotH * LdotN) / LdotH;\n float G = min(1.0, min(G1, G2));\n \n //Distribution term\n float D = beckmannDistribution(NdotH, roughness);\n\n //Fresnel term\n float F = pow(1.0 - VdotN, fresnel);\n\n //Multiply terms and done\n return G * F * D / max(3.14159265 * VdotN, 0.000001);\n}\n\n//#pragma glslify: beckmann = require(glsl-specular-beckmann) // used in gl-surface3d\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float roughness\n , fresnel\n , kambient\n , kdiffuse\n , kspecular;\nuniform sampler2D texture;\n\nvarying vec3 f_normal\n , f_lightDirection\n , f_eyeDirection\n , f_data;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if (f_color.a == 0.0 ||\n outOfRange(clipBounds[0], clipBounds[1], f_data)\n ) discard;\n\n vec3 N = normalize(f_normal);\n vec3 L = normalize(f_lightDirection);\n vec3 V = normalize(f_eyeDirection);\n\n if(gl_FrontFacing) {\n N = -N;\n }\n\n float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\n //float specular = max(0.0, beckmann(L, V, N, roughness)); // used in gl-surface3d\n\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n vec4 surfaceColor = vec4(f_color.rgb, 1.0) * texture2D(texture, f_uv);\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\n\n gl_FragColor = litColor * f_color.a;\n}\n"]),o=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 uv;\n\nuniform mat4 model, view, projection;\n\nvarying vec4 f_color;\nvarying vec3 f_data;\nvarying vec2 f_uv;\n\nvoid main() {\n gl_Position = projection * view * model * vec4(position, 1.0);\n f_color = color;\n f_data = position;\n f_uv = uv;\n}"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform sampler2D texture;\nuniform float opacity;\n\nvarying vec4 f_color;\nvarying vec3 f_data;\nvarying vec2 f_uv;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_data)) discard;\n\n gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\n}"]),l=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 uv;\nattribute float pointSize;\n\nuniform mat4 model, view, projection;\nuniform vec3 clipBounds[2];\n\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0.0, 0.0 ,0.0 ,0.0);\n } else {\n gl_Position = projection * view * model * vec4(position, 1.0);\n }\n gl_PointSize = pointSize;\n f_color = color;\n f_uv = uv;\n}"]),c=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform sampler2D texture;\nuniform float opacity;\n\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n vec2 pointR = gl_PointCoord.xy - vec2(0.5, 0.5);\n if(dot(pointR, pointR) > 0.25) {\n discard;\n }\n gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\n}"]),u=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n gl_Position = projection * view * model * vec4(position, 1.0);\n f_id = id;\n f_position = position;\n}"]),f=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n\n gl_FragColor = vec4(pickId, f_id.xyz);\n}"]),h=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute float pointSize;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform vec3 clipBounds[2];\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0.0, 0.0, 0.0, 0.0);\n } else {\n gl_Position = projection * view * model * vec4(position, 1.0);\n gl_PointSize = pointSize;\n }\n f_id = id;\n f_position = position;\n}"]),p=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\n\nuniform mat4 model, view, projection;\n\nvoid main() {\n gl_Position = projection * view * model * vec4(position, 1.0);\n}"]),d=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform vec3 contourColor;\n\nvoid main() {\n gl_FragColor = vec4(contourColor, 1.0);\n}\n"]);r.meshShader={vertex:i,fragment:a,attributes:[{name:"position",type:"vec3"},{name:"normal",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"}]},r.wireShader={vertex:o,fragment:s,attributes:[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"}]},r.pointShader={vertex:l,fragment:c,attributes:[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"pointSize",type:"float"}]},r.pickShader={vertex:u,fragment:f,attributes:[{name:"position",type:"vec3"},{name:"id",type:"vec4"}]},r.pointPickShader={vertex:h,fragment:f,attributes:[{name:"position",type:"vec3"},{name:"pointSize",type:"float"},{name:"id",type:"vec4"}]},r.contourShader={vertex:p,fragment:d,attributes:[{name:"position",type:"vec3"}]}},{glslify:310}],309:[function(t,e,r){"use strict";var n=t("gl-shader"),i=t("gl-buffer"),a=t("gl-vao"),o=t("gl-texture2d"),s=t("normals"),l=t("gl-mat4/multiply"),c=t("gl-mat4/invert"),u=t("ndarray"),f=t("colormap"),h=t("simplicial-complex-contour"),p=t("typedarray-pool"),d=t("./lib/shaders"),g=t("./lib/closest-point"),m=d.meshShader,v=d.wireShader,y=d.pointShader,x=d.pickShader,b=d.pointPickShader,_=d.contourShader,w=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function T(t,e,r,n,i,a,o,s,l,c,u,f,h,p,d,g,m,v,y,x,b,_,T,k,M,A,S){this.gl=t,this.pixelRatio=1,this.cells=[],this.positions=[],this.intensity=[],this.texture=e,this.dirty=!0,this.triShader=r,this.lineShader=n,this.pointShader=i,this.pickShader=a,this.pointPickShader=o,this.contourShader=s,this.trianglePositions=l,this.triangleColors=u,this.triangleNormals=h,this.triangleUVs=f,this.triangleIds=c,this.triangleVAO=p,this.triangleCount=0,this.lineWidth=1,this.edgePositions=d,this.edgeColors=m,this.edgeUVs=v,this.edgeIds=g,this.edgeVAO=y,this.edgeCount=0,this.pointPositions=x,this.pointColors=_,this.pointUVs=T,this.pointSizes=k,this.pointIds=b,this.pointVAO=M,this.pointCount=0,this.contourLineWidth=1,this.contourPositions=A,this.contourVAO=S,this.contourCount=0,this.contourColor=[0,0,0],this.contourEnable=!0,this.pickVertex=!0,this.pickId=1,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.lightPosition=[1e5,1e5,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.opacity=1,this.hasAlpha=!1,this.opacityscale=!1,this._model=w,this._view=w,this._projection=w,this._resolution=[1,1]}var k=T.prototype;function M(t,e){if(!e)return 1;if(!e.length)return 1;for(var r=0;r<e.length;++r){if(e.length<2)return 1;if(e[r][0]===t)return e[r][1];if(e[r][0]>t&&r>0){var n=(e[r][0]-t)/(e[r][0]-e[r-1][0]);return e[r][1]*(1-n)+n*e[r-1][1]}}return 1}function A(t){var e=n(t,m.vertex,m.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e.attributes.normal.location=4,e}function S(t){var e=n(t,v.vertex,v.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e}function E(t){var e=n(t,y.vertex,y.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e.attributes.pointSize.location=4,e}function C(t){var e=n(t,x.vertex,x.fragment);return e.attributes.position.location=0,e.attributes.id.location=1,e}function L(t){var e=n(t,b.vertex,b.fragment);return e.attributes.position.location=0,e.attributes.id.location=1,e.attributes.pointSize.location=4,e}function I(t){var e=n(t,_.vertex,_.fragment);return e.attributes.position.location=0,e}k.isOpaque=function(){return!this.hasAlpha},k.isTransparent=function(){return this.hasAlpha},k.pickSlots=1,k.setPickBase=function(t){this.pickId=t},k.highlight=function(t){if(t&&this.contourEnable){for(var e=h(this.cells,this.intensity,t.intensity),r=e.cells,n=e.vertexIds,i=e.vertexWeights,a=r.length,o=p.mallocFloat32(6*a),s=0,l=0;l<a;++l)for(var c=r[l],u=0;u<2;++u){var f=c[0];2===c.length&&(f=c[u]);for(var d=n[f][0],g=n[f][1],m=i[f],v=1-m,y=this.positions[d],x=this.positions[g],b=0;b<3;++b)o[s++]=m*y[b]+v*x[b]}this.contourCount=s/3|0,this.contourPositions.update(o.subarray(0,s)),p.free(o)}else this.contourCount=0},k.update=function(t){t=t||{};var e=this.gl;this.dirty=!0,"contourEnable"in t&&(this.contourEnable=t.contourEnable),"contourColor"in t&&(this.contourColor=t.contourColor),"lineWidth"in t&&(this.lineWidth=t.lineWidth),"lightPosition"in t&&(this.lightPosition=t.lightPosition),this.hasAlpha=!1,"opacity"in t&&(this.opacity=t.opacity,this.opacity<1&&(this.hasAlpha=!0)),"opacityscale"in t&&(this.opacityscale=t.opacityscale,this.hasAlpha=!0),"ambient"in t&&(this.ambientLight=t.ambient),"diffuse"in t&&(this.diffuseLight=t.diffuse),"specular"in t&&(this.specularLight=t.specular),"roughness"in t&&(this.roughness=t.roughness),"fresnel"in t&&(this.fresnel=t.fresnel),t.texture?(this.texture.dispose(),this.texture=o(e,t.texture)):t.colormap&&(this.texture.shape=[256,256],this.texture.minFilter=e.LINEAR_MIPMAP_LINEAR,this.texture.magFilter=e.LINEAR,this.texture.setPixels(function(t,e){for(var r=f({colormap:t,nshades:256,format:"rgba"}),n=new Uint8Array(1024),i=0;i<256;++i){for(var a=r[i],o=0;o<3;++o)n[4*i+o]=a[o];n[4*i+3]=e?255*M(i/255,e):255*a[3]}return u(n,[256,256,4],[4,0,1])}(t.colormap,this.opacityscale)),this.texture.generateMipmap());var r=t.cells,n=t.positions;if(n&&r){var i=[],a=[],l=[],c=[],h=[],p=[],d=[],g=[],m=[],v=[],y=[],x=[],b=[],_=[];this.cells=r,this.positions=n;var w=t.vertexNormals,T=t.cellNormals,k=void 0===t.vertexNormalsEpsilon?1e-6:t.vertexNormalsEpsilon,A=void 0===t.faceNormalsEpsilon?1e-6:t.faceNormalsEpsilon;t.useFacetNormals&&!T&&(T=s.faceNormals(r,n,A)),T||w||(w=s.vertexNormals(r,n,k));var S=t.vertexColors,E=t.cellColors,C=t.meshColor||[1,1,1,1],L=t.vertexUVs,I=t.vertexIntensity,P=t.cellUVs,z=t.cellIntensity,O=1/0,D=-1/0;if(!L&&!P)if(I)if(t.vertexIntensityBounds)O=+t.vertexIntensityBounds[0],D=+t.vertexIntensityBounds[1];else for(var R=0;R<I.length;++R){var F=I[R];O=Math.min(O,F),D=Math.max(D,F)}else if(z)if(t.cellIntensityBounds)O=+t.cellIntensityBounds[0],D=+t.cellIntensityBounds[1];else for(R=0;R<z.length;++R){F=z[R];O=Math.min(O,F),D=Math.max(D,F)}else for(R=0;R<n.length;++R){F=n[R][2];O=Math.min(O,F),D=Math.max(D,F)}this.intensity=I||(z||function(t){for(var e=t.length,r=new Array(e),n=0;n<e;++n)r[n]=t[n][2];return r}(n)),this.pickVertex=!(z||E);var B=t.pointSizes,N=t.pointSize||1;this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]];for(R=0;R<n.length;++R)for(var j=n[R],U=0;U<3;++U)!isNaN(j[U])&&isFinite(j[U])&&(this.bounds[0][U]=Math.min(this.bounds[0][U],j[U]),this.bounds[1][U]=Math.max(this.bounds[1][U],j[U]));var V=0,q=0,H=0;t:for(R=0;R<r.length;++R){var G=r[R];switch(G.length){case 1:for(j=n[W=G[0]],U=0;U<3;++U)if(isNaN(j[U])||!isFinite(j[U]))continue t;v.push(j[0],j[1],j[2]),X=S?S[W]:E?E[R]:C,this.opacityscale&&I?a.push(X[0],X[1],X[2],this.opacity*M((I[W]-O)/(D-O),this.opacityscale)):3===X.length?y.push(X[0],X[1],X[2],this.opacity):(y.push(X[0],X[1],X[2],X[3]*this.opacity),X[3]<1&&(this.hasAlpha=!0)),Z=L?L[W]:I?[(I[W]-O)/(D-O),0]:P?P[R]:z?[(z[R]-O)/(D-O),0]:[(j[2]-O)/(D-O),0],x.push(Z[0],Z[1]),B?b.push(B[W]):b.push(N),_.push(R),H+=1;break;case 2:for(U=0;U<2;++U){j=n[W=G[U]];for(var Y=0;Y<3;++Y)if(isNaN(j[Y])||!isFinite(j[Y]))continue t}for(U=0;U<2;++U){j=n[W=G[U]];p.push(j[0],j[1],j[2]),X=S?S[W]:E?E[R]:C,this.opacityscale&&I?a.push(X[0],X[1],X[2],this.opacity*M((I[W]-O)/(D-O),this.opacityscale)):3===X.length?d.push(X[0],X[1],X[2],this.opacity):(d.push(X[0],X[1],X[2],X[3]*this.opacity),X[3]<1&&(this.hasAlpha=!0)),Z=L?L[W]:I?[(I[W]-O)/(D-O),0]:P?P[R]:z?[(z[R]-O)/(D-O),0]:[(j[2]-O)/(D-O),0],g.push(Z[0],Z[1]),m.push(R)}q+=1;break;case 3:for(U=0;U<3;++U)for(j=n[W=G[U]],Y=0;Y<3;++Y)if(isNaN(j[Y])||!isFinite(j[Y]))continue t;for(U=0;U<3;++U){var W,X,Z,J;j=n[W=G[2-U]];i.push(j[0],j[1],j[2]),(X=S?S[W]:E?E[R]:C)?this.opacityscale&&I?a.push(X[0],X[1],X[2],this.opacity*M((I[W]-O)/(D-O),this.opacityscale)):3===X.length?a.push(X[0],X[1],X[2],this.opacity):(a.push(X[0],X[1],X[2],X[3]*this.opacity),X[3]<1&&(this.hasAlpha=!0)):a.push(.5,.5,.5,1),Z=L?L[W]:I?[(I[W]-O)/(D-O),0]:P?P[R]:z?[(z[R]-O)/(D-O),0]:[(j[2]-O)/(D-O),0],c.push(Z[0],Z[1]),J=w?w[W]:T[R],l.push(J[0],J[1],J[2]),h.push(R)}V+=1}}this.pointCount=H,this.edgeCount=q,this.triangleCount=V,this.pointPositions.update(v),this.pointColors.update(y),this.pointUVs.update(x),this.pointSizes.update(b),this.pointIds.update(new Uint32Array(_)),this.edgePositions.update(p),this.edgeColors.update(d),this.edgeUVs.update(g),this.edgeIds.update(new Uint32Array(m)),this.trianglePositions.update(i),this.triangleColors.update(a),this.triangleUVs.update(c),this.triangleNormals.update(l),this.triangleIds.update(new Uint32Array(h))}},k.drawTransparent=k.draw=function(t){t=t||{};for(var e=this.gl,r=t.model||w,n=t.view||w,i=t.projection||w,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)a[0][o]=Math.max(a[0][o],this.clipBounds[0][o]),a[1][o]=Math.min(a[1][o],this.clipBounds[1][o]);var s={model:r,view:n,projection:i,inverseModel:w.slice(),clipBounds:a,kambient:this.ambientLight,kdiffuse:this.diffuseLight,kspecular:this.specularLight,roughness:this.roughness,fresnel:this.fresnel,eyePosition:[0,0,0],lightPosition:[0,0,0],contourColor:this.contourColor,texture:0};s.inverseModel=c(s.inverseModel,s.model),e.disable(e.CULL_FACE),this.texture.bind(0);var u=new Array(16);l(u,s.view,s.model),l(u,s.projection,u),c(u,u);for(o=0;o<3;++o)s.eyePosition[o]=u[12+o]/u[15];var f,h=u[15];for(o=0;o<3;++o)h+=this.lightPosition[o]*u[4*o+3];for(o=0;o<3;++o){for(var p=u[12+o],d=0;d<3;++d)p+=u[4*d+o]*this.lightPosition[d];s.lightPosition[o]=p/h}this.triangleCount>0&&((f=this.triShader).bind(),f.uniforms=s,this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind());this.edgeCount>0&&this.lineWidth>0&&((f=this.lineShader).bind(),f.uniforms=s,this.edgeVAO.bind(),e.lineWidth(this.lineWidth*this.pixelRatio),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind());this.pointCount>0&&((f=this.pointShader).bind(),f.uniforms=s,this.pointVAO.bind(),e.drawArrays(e.POINTS,0,this.pointCount),this.pointVAO.unbind());this.contourEnable&&this.contourCount>0&&this.contourLineWidth>0&&((f=this.contourShader).bind(),f.uniforms=s,this.contourVAO.bind(),e.drawArrays(e.LINES,0,this.contourCount),this.contourVAO.unbind())},k.drawPick=function(t){t=t||{};for(var e=this.gl,r=t.model||w,n=t.view||w,i=t.projection||w,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)a[0][o]=Math.max(a[0][o],this.clipBounds[0][o]),a[1][o]=Math.min(a[1][o],this.clipBounds[1][o]);this._model=[].slice.call(r),this._view=[].slice.call(n),this._projection=[].slice.call(i),this._resolution=[e.drawingBufferWidth,e.drawingBufferHeight];var s,l={model:r,view:n,projection:i,clipBounds:a,pickId:this.pickId/255};((s=this.pickShader).bind(),s.uniforms=l,this.triangleCount>0&&(this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()),this.edgeCount>0&&(this.edgeVAO.bind(),e.lineWidth(this.lineWidth*this.pixelRatio),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind()),this.pointCount>0)&&((s=this.pointPickShader).bind(),s.uniforms=l,this.pointVAO.bind(),e.drawArrays(e.POINTS,0,this.pointCount),this.pointVAO.unbind())},k.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;for(var e=t.value[0]+256*t.value[1]+65536*t.value[2],r=this.cells[e],n=this.positions,i=new Array(r.length),a=0;a<r.length;++a)i[a]=n[r[a]];var o=t.coord[0],s=t.coord[1];if(!this.pickVertex){var l=this.positions[r[0]],c=this.positions[r[1]],u=this.positions[r[2]],f=[(l[0]+c[0]+u[0])/3,(l[1]+c[1]+u[1])/3,(l[2]+c[2]+u[2])/3];return{_cellCenter:!0,position:[o,s],index:e,cell:r,cellId:e,intensity:this.intensity[e],dataCoordinate:f}}var h=g(i,[o*this.pixelRatio,this._resolution[1]-s*this.pixelRatio],this._model,this._view,this._projection,this._resolution);if(!h)return null;var p=h[2],d=0;for(a=0;a<r.length;++a)d+=p[a]*this.intensity[r[a]];return{position:h[1],index:r[h[0]],cell:r,cellId:e,intensity:d,dataCoordinate:this.positions[r[h[0]]]}},k.dispose=function(){this.texture.dispose(),this.triShader.dispose(),this.lineShader.dispose(),this.pointShader.dispose(),this.pickShader.dispose(),this.pointPickShader.dispose(),this.triangleVAO.dispose(),this.trianglePositions.dispose(),this.triangleColors.dispose(),this.triangleUVs.dispose(),this.triangleNormals.dispose(),this.triangleIds.dispose(),this.edgeVAO.dispose(),this.edgePositions.dispose(),this.edgeColors.dispose(),this.edgeUVs.dispose(),this.edgeIds.dispose(),this.pointVAO.dispose(),this.pointPositions.dispose(),this.pointColors.dispose(),this.pointUVs.dispose(),this.pointSizes.dispose(),this.pointIds.dispose(),this.contourVAO.dispose(),this.contourPositions.dispose(),this.contourShader.dispose()},e.exports=function(t,e){1===arguments.length&&(t=(e=t).gl);var r=t.getExtension("OES_standard_derivatives")||t.getExtension("MOZ_OES_standard_derivatives")||t.getExtension("WEBKIT_OES_standard_derivatives");if(!r)throw new Error("derivatives not supported");var n=A(t),s=S(t),l=E(t),c=C(t),f=L(t),h=I(t),p=o(t,u(new Uint8Array([255,255,255,255]),[1,1,4]));p.generateMipmap(),p.minFilter=t.LINEAR_MIPMAP_LINEAR,p.magFilter=t.LINEAR;var d=i(t),g=i(t),m=i(t),v=i(t),y=i(t),x=a(t,[{buffer:d,type:t.FLOAT,size:3},{buffer:y,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:g,type:t.FLOAT,size:4},{buffer:m,type:t.FLOAT,size:2},{buffer:v,type:t.FLOAT,size:3}]),b=i(t),_=i(t),w=i(t),k=i(t),M=a(t,[{buffer:b,type:t.FLOAT,size:3},{buffer:k,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:_,type:t.FLOAT,size:4},{buffer:w,type:t.FLOAT,size:2}]),P=i(t),z=i(t),O=i(t),D=i(t),R=i(t),F=a(t,[{buffer:P,type:t.FLOAT,size:3},{buffer:R,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:z,type:t.FLOAT,size:4},{buffer:O,type:t.FLOAT,size:2},{buffer:D,type:t.FLOAT,size:1}]),B=i(t),N=a(t,[{buffer:B,type:t.FLOAT,size:3}]),j=new T(t,p,n,s,l,c,f,h,d,y,g,m,v,x,b,k,_,w,M,P,R,z,O,D,F,B,N);return j.update(e),j}},{"./lib/closest-point":307,"./lib/shaders":308,colormap:131,"gl-buffer":259,"gl-mat4/invert":293,"gl-mat4/multiply":295,"gl-shader":335,"gl-texture2d":353,"gl-vao":358,ndarray:495,normals:498,"simplicial-complex-contour":556,"typedarray-pool":595}],310:[function(t,e,r){arguments[4][257][0].apply(r,arguments)},{dup:257}],311:[function(t,e,r){"use strict";e.exports=function(t){var e=t.gl,r=n(e,[0,0,0,1,1,0,1,1]),s=i(e,a.boxVert,a.lineFrag);return new o(t,r,s)};var n=t("gl-buffer"),i=t("gl-shader"),a=t("./shaders");function o(t,e,r){this.plot=t,this.vbo=e,this.shader=r}var s,l,c=o.prototype;c.bind=function(){var t=this.shader;this.vbo.bind(),this.shader.bind(),t.attributes.coord.pointer(),t.uniforms.screenBox=this.plot.screenBox},c.drawBox=(s=[0,0],l=[0,0],function(t,e,r,n,i){var a=this.plot,o=this.shader,c=a.gl;s[0]=t,s[1]=e,l[0]=r,l[1]=n,o.uniforms.lo=s,o.uniforms.hi=l,o.uniforms.color=i,c.drawArrays(c.TRIANGLE_STRIP,0,4)}),c.dispose=function(){this.vbo.dispose(),this.shader.dispose()}},{"./shaders":314,"gl-buffer":259,"gl-shader":335}],312:[function(t,e,r){"use strict";e.exports=function(t){var e=t.gl,r=n(e),a=i(e,o.gridVert,o.gridFrag),l=i(e,o.tickVert,o.gridFrag);return new s(t,r,a,l)};var n=t("gl-buffer"),i=t("gl-shader"),a=t("binary-search-bounds"),o=t("./shaders");function s(t,e,r,n){this.plot=t,this.vbo=e,this.shader=r,this.tickShader=n,this.ticks=[[],[]]}function l(t,e){return t-e}var c,u,f,h,p,d=s.prototype;d.draw=(c=[0,0],u=[0,0],f=[0,0],function(){for(var t=this.plot,e=this.vbo,r=this.shader,n=this.ticks,i=t.gl,a=t._tickBounds,o=t.dataBox,s=t.viewBox,l=t.gridLineWidth,h=t.gridLineColor,p=t.gridLineEnable,d=t.pixelRatio,g=0;g<2;++g){var m=a[g],v=a[g+2]-m,y=.5*(o[g+2]+o[g]),x=o[g+2]-o[g];u[g]=2*v/x,c[g]=2*(m-y)/x}r.bind(),e.bind(),r.attributes.dataCoord.pointer(),r.uniforms.dataShift=c,r.uniforms.dataScale=u;var b=0;for(g=0;g<2;++g){f[0]=f[1]=0,f[g]=1,r.uniforms.dataAxis=f,r.uniforms.lineWidth=l[g]/(s[g+2]-s[g])*d,r.uniforms.color=h[g];var _=6*n[g].length;p[g]&&_&&i.drawArrays(i.TRIANGLES,b,_),b+=_}}),d.drawTickMarks=function(){var t=[0,0],e=[0,0],r=[1,0],n=[0,1],i=[0,0],o=[0,0];return function(){for(var s=this.plot,c=this.vbo,u=this.tickShader,f=this.ticks,h=s.gl,p=s._tickBounds,d=s.dataBox,g=s.viewBox,m=s.pixelRatio,v=s.screenBox,y=v[2]-v[0],x=v[3]-v[1],b=g[2]-g[0],_=g[3]-g[1],w=0;w<2;++w){var T=p[w],k=p[w+2]-T,M=.5*(d[w+2]+d[w]),A=d[w+2]-d[w];e[w]=2*k/A,t[w]=2*(T-M)/A}e[0]*=b/y,t[0]*=b/y,e[1]*=_/x,t[1]*=_/x,u.bind(),c.bind(),u.attributes.dataCoord.pointer();var S=u.uniforms;S.dataShift=t,S.dataScale=e;var E=s.tickMarkLength,C=s.tickMarkWidth,L=s.tickMarkColor,I=6*f[0].length,P=Math.min(a.ge(f[0],(d[0]-p[0])/(p[2]-p[0]),l),f[0].length),z=Math.min(a.gt(f[0],(d[2]-p[0])/(p[2]-p[0]),l),f[0].length),O=0+6*P,D=6*Math.max(0,z-P),R=Math.min(a.ge(f[1],(d[1]-p[1])/(p[3]-p[1]),l),f[1].length),F=Math.min(a.gt(f[1],(d[3]-p[1])/(p[3]-p[1]),l),f[1].length),B=I+6*R,N=6*Math.max(0,F-R);i[0]=2*(g[0]-E[1])/y-1,i[1]=(g[3]+g[1])/x-1,o[0]=E[1]*m/y,o[1]=C[1]*m/x,N&&(S.color=L[1],S.tickScale=o,S.dataAxis=n,S.screenOffset=i,h.drawArrays(h.TRIANGLES,B,N)),i[0]=(g[2]+g[0])/y-1,i[1]=2*(g[1]-E[0])/x-1,o[0]=C[0]*m/y,o[1]=E[0]*m/x,D&&(S.color=L[0],S.tickScale=o,S.dataAxis=r,S.screenOffset=i,h.drawArrays(h.TRIANGLES,O,D)),i[0]=2*(g[2]+E[3])/y-1,i[1]=(g[3]+g[1])/x-1,o[0]=E[3]*m/y,o[1]=C[3]*m/x,N&&(S.color=L[3],S.tickScale=o,S.dataAxis=n,S.screenOffset=i,h.drawArrays(h.TRIANGLES,B,N)),i[0]=(g[2]+g[0])/y-1,i[1]=2*(g[3]+E[2])/x-1,o[0]=C[2]*m/y,o[1]=E[2]*m/x,D&&(S.color=L[2],S.tickScale=o,S.dataAxis=r,S.screenOffset=i,h.drawArrays(h.TRIANGLES,O,D))}}(),d.update=(h=[1,1,-1,-1,1,-1],p=[1,-1,1,1,-1,-1],function(t){for(var e=t.ticks,r=t.bounds,n=new Float32Array(18*(e[0].length+e[1].length)),i=(this.plot.zeroLineEnable,0),a=[[],[]],o=0;o<2;++o)for(var s=a[o],l=e[o],c=r[o],u=r[o+2],f=0;f<l.length;++f){var d=(l[f].x-c)/(u-c);s.push(d);for(var g=0;g<6;++g)n[i++]=d,n[i++]=h[g],n[i++]=p[g]}this.ticks=a,this.vbo.update(n)}),d.dispose=function(){this.vbo.dispose(),this.shader.dispose(),this.tickShader.dispose()}},{"./shaders":314,"binary-search-bounds":96,"gl-buffer":259,"gl-shader":335}],313:[function(t,e,r){"use strict";e.exports=function(t){var e=t.gl,r=n(e,[-1,-1,-1,1,1,-1,1,1]),s=i(e,a.lineVert,a.lineFrag);return new o(t,r,s)};var n=t("gl-buffer"),i=t("gl-shader"),a=t("./shaders");function o(t,e,r){this.plot=t,this.vbo=e,this.shader=r}var s,l,c=o.prototype;c.bind=function(){var t=this.shader;this.vbo.bind(),this.shader.bind(),t.attributes.coord.pointer(),t.uniforms.screenBox=this.plot.screenBox},c.drawLine=(s=[0,0],l=[0,0],function(t,e,r,n,i,a){var o=this.plot,c=this.shader,u=o.gl;s[0]=t,s[1]=e,l[0]=r,l[1]=n,c.uniforms.start=s,c.uniforms.end=l,c.uniforms.width=i*o.pixelRatio,c.uniforms.color=a,u.drawArrays(u.TRIANGLE_STRIP,0,4)}),c.dispose=function(){this.vbo.dispose(),this.shader.dispose()}},{"./shaders":314,"gl-buffer":259,"gl-shader":335}],314:[function(t,e,r){"use strict";var n=t("glslify"),i=n(["precision lowp float;\n#define GLSLIFY 1\nuniform vec4 color;\nvoid main() {\n gl_FragColor = vec4(color.xyz * color.w, color.w);\n}\n"]);e.exports={lineVert:n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 coord;\n\nuniform vec4 screenBox;\nuniform vec2 start, end;\nuniform float width;\n\nvec2 perp(vec2 v) {\n return vec2(v.y, -v.x);\n}\n\nvec2 screen(vec2 v) {\n return 2.0 * (v - screenBox.xy) / (screenBox.zw - screenBox.xy) - 1.0;\n}\n\nvoid main() {\n vec2 delta = normalize(perp(start - end));\n vec2 offset = mix(start, end, 0.5 * (coord.y+1.0));\n gl_Position = vec4(screen(offset + 0.5 * width * delta * coord.x), 0, 1);\n}\n"]),lineFrag:i,textVert:n(["#define GLSLIFY 1\nattribute vec3 textCoordinate;\n\nuniform vec2 dataScale, dataShift, dataAxis, screenOffset, textScale;\nuniform float angle;\n\nvoid main() {\n float dataOffset = textCoordinate.z;\n vec2 glyphOffset = textCoordinate.xy;\n mat2 glyphMatrix = mat2(cos(angle), sin(angle), -sin(angle), cos(angle));\n vec2 screenCoordinate = dataAxis * (dataScale * dataOffset + dataShift) +\n glyphMatrix * glyphOffset * textScale + screenOffset;\n gl_Position = vec4(screenCoordinate, 0, 1);\n}\n"]),textFrag:i,gridVert:n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec3 dataCoord;\n\nuniform vec2 dataAxis, dataShift, dataScale;\nuniform float lineWidth;\n\nvoid main() {\n vec2 pos = dataAxis * (dataScale * dataCoord.x + dataShift);\n pos += 10.0 * dataCoord.y * vec2(dataAxis.y, -dataAxis.x) + dataCoord.z * lineWidth;\n gl_Position = vec4(pos, 0, 1);\n}\n"]),gridFrag:i,boxVert:n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 coord;\n\nuniform vec4 screenBox;\nuniform vec2 lo, hi;\n\nvec2 screen(vec2 v) {\n return 2.0 * (v - screenBox.xy) / (screenBox.zw - screenBox.xy) - 1.0;\n}\n\nvoid main() {\n gl_Position = vec4(screen(mix(lo, hi, coord)), 0, 1);\n}\n"]),tickVert:n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec3 dataCoord;\n\nuniform vec2 dataAxis, dataShift, dataScale, screenOffset, tickScale;\n\nvoid main() {\n vec2 pos = dataAxis * (dataScale * dataCoord.x + dataShift);\n gl_Position = vec4(pos + tickScale*dataCoord.yz + screenOffset, 0, 1);\n}\n"])}},{glslify:316}],315:[function(t,e,r){"use strict";e.exports=function(t){var e=t.gl,r=n(e),a=i(e,s.textVert,s.textFrag);return new l(t,r,a)};var n=t("gl-buffer"),i=t("gl-shader"),a=t("text-cache"),o=t("binary-search-bounds"),s=t("./shaders");function l(t,e,r){this.plot=t,this.vbo=e,this.shader=r,this.tickOffset=[[],[]],this.tickX=[[],[]],this.labelOffset=[0,0],this.labelCount=[0,0]}var c,u,f,h,p,d,g=l.prototype;g.drawTicks=(c=[0,0],u=[0,0],f=[0,0],function(t){var e=this.plot,r=this.shader,n=this.tickX[t],i=this.tickOffset[t],a=e.gl,s=e.viewBox,l=e.dataBox,h=e.screenBox,p=e.pixelRatio,d=e.tickEnable,g=e.tickPad,m=e.tickColor,v=e.tickAngle,y=e.labelEnable,x=e.labelPad,b=e.labelColor,_=e.labelAngle,w=this.labelOffset[t],T=this.labelCount[t],k=o.lt(n,l[t]),M=o.le(n,l[t+2]);c[0]=c[1]=0,c[t]=1,u[t]=(s[2+t]+s[t])/(h[2+t]-h[t])-1;var A=2/h[2+(1^t)]-h[1^t];u[1^t]=A*s[1^t]-1,d[t]&&(u[1^t]-=A*p*g[t],k<M&&i[M]>i[k]&&(r.uniforms.dataAxis=c,r.uniforms.screenOffset=u,r.uniforms.color=m[t],r.uniforms.angle=v[t],a.drawArrays(a.TRIANGLES,i[k],i[M]-i[k]))),y[t]&&T&&(u[1^t]-=A*p*x[t],r.uniforms.dataAxis=f,r.uniforms.screenOffset=u,r.uniforms.color=b[t],r.uniforms.angle=_[t],a.drawArrays(a.TRIANGLES,w,T)),u[1^t]=A*s[2+(1^t)]-1,d[t+2]&&(u[1^t]+=A*p*g[t+2],k<M&&i[M]>i[k]&&(r.uniforms.dataAxis=c,r.uniforms.screenOffset=u,r.uniforms.color=m[t+2],r.uniforms.angle=v[t+2],a.drawArrays(a.TRIANGLES,i[k],i[M]-i[k]))),y[t+2]&&T&&(u[1^t]+=A*p*x[t+2],r.uniforms.dataAxis=f,r.uniforms.screenOffset=u,r.uniforms.color=b[t+2],r.uniforms.angle=_[t+2],a.drawArrays(a.TRIANGLES,w,T))}),g.drawTitle=function(){var t=[0,0],e=[0,0];return function(){var r=this.plot,n=this.shader,i=r.gl,a=r.screenBox,o=r.titleCenter,s=r.titleAngle,l=r.titleColor,c=r.pixelRatio;if(this.titleCount){for(var u=0;u<2;++u)e[u]=2*(o[u]*c-a[u])/(a[2+u]-a[u])-1;n.bind(),n.uniforms.dataAxis=t,n.uniforms.screenOffset=e,n.uniforms.angle=s,n.uniforms.color=l,i.drawArrays(i.TRIANGLES,this.titleOffset,this.titleCount)}}}(),g.bind=(h=[0,0],p=[0,0],d=[0,0],function(){var t=this.plot,e=this.shader,r=t._tickBounds,n=t.dataBox,i=t.screenBox,a=t.viewBox;e.bind();for(var o=0;o<2;++o){var s=r[o],l=r[o+2]-s,c=.5*(n[o+2]+n[o]),u=n[o+2]-n[o],f=a[o],g=a[o+2]-f,m=i[o],v=i[o+2]-m;p[o]=2*l/u*g/v,h[o]=2*(s-c)/u*g/v}d[1]=2*t.pixelRatio/(i[3]-i[1]),d[0]=d[1]*(i[3]-i[1])/(i[2]-i[0]),e.uniforms.dataScale=p,e.uniforms.dataShift=h,e.uniforms.textScale=d,this.vbo.bind(),e.attributes.textCoordinate.pointer()}),g.update=function(t){var e,r,n,i,o,s=[],l=t.ticks,c=t.bounds;for(o=0;o<2;++o){var u=[Math.floor(s.length/3)],f=[-1/0],h=l[o];for(e=0;e<h.length;++e){var p=h[e],d=p.x,g=p.text,m=p.font||"sans-serif";i=p.fontSize||12;for(var v=1/(c[o+2]-c[o]),y=c[o],x=g.split("\n"),b=0;b<x.length;b++)for(n=a(m,x[b]).data,r=0;r<n.length;r+=2)s.push(n[r]*i,-n[r+1]*i-b*i*1.2,(d-y)*v);u.push(Math.floor(s.length/3)),f.push(d)}this.tickOffset[o]=u,this.tickX[o]=f}for(o=0;o<2;++o){for(this.labelOffset[o]=Math.floor(s.length/3),n=a(t.labelFont[o],t.labels[o],{textAlign:"center"}).data,i=t.labelSize[o],e=0;e<n.length;e+=2)s.push(n[e]*i,-n[e+1]*i,0);this.labelCount[o]=Math.floor(s.length/3)-this.labelOffset[o]}for(this.titleOffset=Math.floor(s.length/3),n=a(t.titleFont,t.title).data,i=t.titleSize,e=0;e<n.length;e+=2)s.push(n[e]*i,-n[e+1]*i,0);this.titleCount=Math.floor(s.length/3)-this.titleOffset,this.vbo.update(s)},g.dispose=function(){this.vbo.dispose(),this.shader.dispose()}},{"./shaders":314,"binary-search-bounds":96,"gl-buffer":259,"gl-shader":335,"text-cache":575}],316:[function(t,e,r){arguments[4][257][0].apply(r,arguments)},{dup:257}],317:[function(t,e,r){"use strict";e.exports=function(t){var e=t.gl,r=n(e,[e.drawingBufferWidth,e.drawingBufferHeight]),c=new l(e,r);return c.grid=i(c),c.text=a(c),c.line=o(c),c.box=s(c),c.update(t),c};var n=t("gl-select-static"),i=t("./lib/grid"),a=t("./lib/text"),o=t("./lib/line"),s=t("./lib/box");function l(t,e){this.gl=t,this.pickBuffer=e,this.screenBox=[0,0,t.drawingBufferWidth,t.drawingBufferHeight],this.viewBox=[0,0,0,0],this.dataBox=[-10,-10,10,10],this.gridLineEnable=[!0,!0],this.gridLineWidth=[1,1],this.gridLineColor=[[0,0,0,1],[0,0,0,1]],this.pixelRatio=1,this.tickMarkLength=[0,0,0,0],this.tickMarkWidth=[0,0,0,0],this.tickMarkColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.tickPad=[15,15,15,15],this.tickAngle=[0,0,0,0],this.tickEnable=[!0,!0,!0,!0],this.tickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.labelPad=[15,15,15,15],this.labelAngle=[0,Math.PI/2,0,3*Math.PI/2],this.labelEnable=[!0,!0,!0,!0],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.titleCenter=[0,0],this.titleEnable=!0,this.titleAngle=0,this.titleColor=[0,0,0,1],this.borderColor=[0,0,0,0],this.backgroundColor=[0,0,0,0],this.zeroLineEnable=[!0,!0],this.zeroLineWidth=[4,4],this.zeroLineColor=[[0,0,0,1],[0,0,0,1]],this.borderLineEnable=[!0,!0,!0,!0],this.borderLineWidth=[2,2,2,2],this.borderLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.grid=null,this.text=null,this.line=null,this.box=null,this.objects=[],this.overlays=[],this._tickBounds=[1/0,1/0,-1/0,-1/0],this.static=!1,this.dirty=!1,this.pickDirty=!1,this.pickDelay=120,this.pickRadius=10,this._pickTimeout=null,this._drawPick=this.drawPick.bind(this),this._depthCounter=0}var c=l.prototype;function u(t){for(var e=t.slice(),r=0;r<e.length;++r)e[r]=e[r].slice();return e}function f(t,e){return t.x-e.x}c.setDirty=function(){this.dirty=this.pickDirty=!0},c.setOverlayDirty=function(){this.dirty=!0},c.nextDepthValue=function(){return this._depthCounter++/65536},c.draw=function(){var t=this.gl,e=this.screenBox,r=this.viewBox,n=this.dataBox,i=this.pixelRatio,a=this.grid,o=this.line,s=this.text,l=this.objects;if(this._depthCounter=0,this.pickDirty&&(this._pickTimeout&&clearTimeout(this._pickTimeout),this.pickDirty=!1,this._pickTimeout=setTimeout(this._drawPick,this.pickDelay)),this.dirty){if(this.dirty=!1,t.bindFramebuffer(t.FRAMEBUFFER,null),t.enable(t.SCISSOR_TEST),t.disable(t.DEPTH_TEST),t.depthFunc(t.LESS),t.depthMask(!1),t.enable(t.BLEND),t.blendEquation(t.FUNC_ADD,t.FUNC_ADD),t.blendFunc(t.ONE,t.ONE_MINUS_SRC_ALPHA),this.borderColor){t.scissor(e[0],e[1],e[2]-e[0],e[3]-e[1]);var c=this.borderColor;t.clearColor(c[0]*c[3],c[1]*c[3],c[2]*c[3],c[3]),t.clear(t.COLOR_BUFFER_BIT|t.DEPTH_BUFFER_BIT)}t.scissor(r[0],r[1],r[2]-r[0],r[3]-r[1]),t.viewport(r[0],r[1],r[2]-r[0],r[3]-r[1]);var u=this.backgroundColor;t.clearColor(u[0]*u[3],u[1]*u[3],u[2]*u[3],u[3]),t.clear(t.COLOR_BUFFER_BIT),a.draw();var f=this.zeroLineEnable,h=this.zeroLineColor,p=this.zeroLineWidth;if(f[0]||f[1]){o.bind();for(var d=0;d<2;++d)if(f[d]&&n[d]<=0&&n[d+2]>=0){var g=e[d]-n[d]*(e[d+2]-e[d])/(n[d+2]-n[d]);0===d?o.drawLine(g,e[1],g,e[3],p[d],h[d]):o.drawLine(e[0],g,e[2],g,p[d],h[d])}}for(d=0;d<l.length;++d)l[d].draw();t.viewport(e[0],e[1],e[2]-e[0],e[3]-e[1]),t.scissor(e[0],e[1],e[2]-e[0],e[3]-e[1]),this.grid.drawTickMarks(),o.bind();var m=this.borderLineEnable,v=this.borderLineWidth,y=this.borderLineColor;for(m[1]&&o.drawLine(r[0],r[1]-.5*v[1]*i,r[0],r[3]+.5*v[3]*i,v[1],y[1]),m[0]&&o.drawLine(r[0]-.5*v[0]*i,r[1],r[2]+.5*v[2]*i,r[1],v[0],y[0]),m[3]&&o.drawLine(r[2],r[1]-.5*v[1]*i,r[2],r[3]+.5*v[3]*i,v[3],y[3]),m[2]&&o.drawLine(r[0]-.5*v[0]*i,r[3],r[2]+.5*v[2]*i,r[3],v[2],y[2]),s.bind(),d=0;d<2;++d)s.drawTicks(d);this.titleEnable&&s.drawTitle();var x=this.overlays;for(d=0;d<x.length;++d)x[d].draw();t.disable(t.SCISSOR_TEST),t.disable(t.BLEND),t.depthMask(!0)}},c.drawPick=function(){if(!this.static){var t=this.pickBuffer;this.gl,this._pickTimeout=null,t.begin();for(var e=1,r=this.objects,n=0;n<r.length;++n)e=r[n].drawPick(e);t.end()}},c.pick=function(t,e){if(!this.static){var r=this.pixelRatio,n=this.pickPixelRatio,i=this.viewBox,a=0|Math.round((t-i[0]/r)*n),o=0|Math.round((e-i[1]/r)*n),s=this.pickBuffer.query(a,o,this.pickRadius);if(!s)return null;for(var l=s.id+(s.value[0]<<8)+(s.value[1]<<16)+(s.value[2]<<24),c=this.objects,u=0;u<c.length;++u){var f=c[u].pick(a,o,l);if(f)return f}return null}},c.setScreenBox=function(t){var e=this.screenBox,r=this.pixelRatio;e[0]=0|Math.round(t[0]*r),e[1]=0|Math.round(t[1]*r),e[2]=0|Math.round(t[2]*r),e[3]=0|Math.round(t[3]*r),this.setDirty()},c.setDataBox=function(t){var e=this.dataBox;(e[0]!==t[0]||e[1]!==t[1]||e[2]!==t[2]||e[3]!==t[3])&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],this.setDirty())},c.setViewBox=function(t){var e=this.pixelRatio,r=this.viewBox;r[0]=0|Math.round(t[0]*e),r[1]=0|Math.round(t[1]*e),r[2]=0|Math.round(t[2]*e),r[3]=0|Math.round(t[3]*e);var n=this.pickPixelRatio;this.pickBuffer.shape=[0|Math.round((t[2]-t[0])*n),0|Math.round((t[3]-t[1])*n)],this.setDirty()},c.update=function(t){t=t||{};var e=this.gl;this.pixelRatio=t.pixelRatio||1;var r=this.pixelRatio;this.pickPixelRatio=Math.max(r,1),this.setScreenBox(t.screenBox||[0,0,e.drawingBufferWidth/r,e.drawingBufferHeight/r]);this.screenBox;this.setViewBox(t.viewBox||[.125*(this.screenBox[2]-this.screenBox[0])/r,.125*(this.screenBox[3]-this.screenBox[1])/r,.875*(this.screenBox[2]-this.screenBox[0])/r,.875*(this.screenBox[3]-this.screenBox[1])/r]);var n=this.viewBox,i=(n[2]-n[0])/(n[3]-n[1]);this.setDataBox(t.dataBox||[-10,-10/i,10,10/i]),this.borderColor=!1!==t.borderColor&&(t.borderColor||[0,0,0,0]).slice(),this.backgroundColor=(t.backgroundColor||[0,0,0,0]).slice(),this.gridLineEnable=(t.gridLineEnable||[!0,!0]).slice(),this.gridLineWidth=(t.gridLineWidth||[1,1]).slice(),this.gridLineColor=u(t.gridLineColor||[[.5,.5,.5,1],[.5,.5,.5,1]]),this.zeroLineEnable=(t.zeroLineEnable||[!0,!0]).slice(),this.zeroLineWidth=(t.zeroLineWidth||[4,4]).slice(),this.zeroLineColor=u(t.zeroLineColor||[[0,0,0,1],[0,0,0,1]]),this.tickMarkLength=(t.tickMarkLength||[0,0,0,0]).slice(),this.tickMarkWidth=(t.tickMarkWidth||[0,0,0,0]).slice(),this.tickMarkColor=u(t.tickMarkColor||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]),this.titleCenter=(t.titleCenter||[.5*(n[0]+n[2])/r,(n[3]+120)/r]).slice(),this.titleEnable=!("titleEnable"in t)||!!t.titleEnable,this.titleAngle=t.titleAngle||0,this.titleColor=(t.titleColor||[0,0,0,1]).slice(),this.labelPad=(t.labelPad||[15,15,15,15]).slice(),this.labelAngle=(t.labelAngle||[0,Math.PI/2,0,3*Math.PI/2]).slice(),this.labelEnable=(t.labelEnable||[!0,!0,!0,!0]).slice(),this.labelColor=u(t.labelColor||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]),this.tickPad=(t.tickPad||[15,15,15,15]).slice(),this.tickAngle=(t.tickAngle||[0,0,0,0]).slice(),this.tickEnable=(t.tickEnable||[!0,!0,!0,!0]).slice(),this.tickColor=u(t.tickColor||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]),this.borderLineEnable=(t.borderLineEnable||[!0,!0,!0,!0]).slice(),this.borderLineWidth=(t.borderLineWidth||[2,2,2,2]).slice(),this.borderLineColor=u(t.borderLineColor||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]);var a=t.ticks||[[],[]],o=this._tickBounds;o[0]=o[1]=1/0,o[2]=o[3]=-1/0;for(var s=0;s<2;++s){var l=a[s].slice(0);0!==l.length&&(l.sort(f),o[s]=Math.min(o[s],l[0].x),o[s+2]=Math.max(o[s+2],l[l.length-1].x))}this.grid.update({bounds:o,ticks:a}),this.text.update({bounds:o,ticks:a,labels:t.labels||["x","y"],labelSize:t.labelSize||[12,12],labelFont:t.labelFont||["sans-serif","sans-serif"],title:t.title||"",titleSize:t.titleSize||18,titleFont:t.titleFont||"sans-serif"}),this.static=!!t.static,this.setDirty()},c.dispose=function(){this.box.dispose(),this.grid.dispose(),this.text.dispose(),this.line.dispose();for(var t=this.objects.length-1;t>=0;--t)this.objects[t].dispose();this.objects.length=0;for(t=this.overlays.length-1;t>=0;--t)this.overlays[t].dispose();this.overlays.length=0,this.gl=null},c.addObject=function(t){this.objects.indexOf(t)<0&&(this.objects.push(t),this.setDirty())},c.removeObject=function(t){for(var e=this.objects,r=0;r<e.length;++r)if(e[r]===t){e.splice(r,1),this.setDirty();break}},c.addOverlay=function(t){this.overlays.indexOf(t)<0&&(this.overlays.push(t),this.setOverlayDirty())},c.removeOverlay=function(t){for(var e=this.overlays,r=0;r<e.length;++r)if(e[r]===t){e.splice(r,1),this.setOverlayDirty();break}}},{"./lib/box":311,"./lib/grid":312,"./lib/line":313,"./lib/text":315,"gl-select-static":334}],318:[function(t,e,r){"use strict";e.exports=function(t,e){t=t||document.body,e=e||{};var r=[.01,1/0];"distanceLimits"in e&&(r[0]=e.distanceLimits[0],r[1]=e.distanceLimits[1]);"zoomMin"in e&&(r[0]=e.zoomMin);"zoomMax"in e&&(r[1]=e.zoomMax);var c=i({center:e.center||[0,0,0],up:e.up||[0,1,0],eye:e.eye||[0,0,10],mode:e.mode||"orbit",distanceLimits:r}),u=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],f=0,h=t.clientWidth,p=t.clientHeight,d={keyBindingMode:"rotate",enableWheel:!0,view:c,element:t,delay:e.delay||16,rotateSpeed:e.rotateSpeed||1,zoomSpeed:e.zoomSpeed||1,translateSpeed:e.translateSpeed||1,flipX:!!e.flipX,flipY:!!e.flipY,modes:c.modes,_ortho:e._ortho||e.projection&&"orthographic"===e.projection.type||!1,tick:function(){var e=n(),r=this.delay,i=e-2*r;c.idle(e-r),c.recalcMatrix(i),c.flush(e-(100+2*r));for(var a=!0,o=c.computedMatrix,s=0;s<16;++s)a=a&&u[s]===o[s],u[s]=o[s];var l=t.clientWidth===h&&t.clientHeight===p;return h=t.clientWidth,p=t.clientHeight,a?!l:(f=Math.exp(c.computedRadius[0]),!0)},lookAt:function(t,e,r){c.lookAt(c.lastT(),t,e,r)},rotate:function(t,e,r){c.rotate(c.lastT(),t,e,r)},pan:function(t,e,r){c.pan(c.lastT(),t,e,r)},translate:function(t,e,r){c.translate(c.lastT(),t,e,r)}};return Object.defineProperties(d,{matrix:{get:function(){return c.computedMatrix},set:function(t){return c.setMatrix(c.lastT(),t),c.computedMatrix},enumerable:!0},mode:{get:function(){return c.getMode()},set:function(t){var e=c.computedUp.slice(),r=c.computedEye.slice(),i=c.computedCenter.slice();if(c.setMode(t),"turntable"===t){var a=n();c._active.lookAt(a,r,i,e),c._active.lookAt(a+500,r,i,[0,0,1]),c._active.flush(a)}return c.getMode()},enumerable:!0},center:{get:function(){return c.computedCenter},set:function(t){return c.lookAt(c.lastT(),null,t),c.computedCenter},enumerable:!0},eye:{get:function(){return c.computedEye},set:function(t){return c.lookAt(c.lastT(),t),c.computedEye},enumerable:!0},up:{get:function(){return c.computedUp},set:function(t){return c.lookAt(c.lastT(),null,null,t),c.computedUp},enumerable:!0},distance:{get:function(){return f},set:function(t){return c.setDistance(c.lastT(),t),t},enumerable:!0},distanceLimits:{get:function(){return c.getDistanceLimits(r)},set:function(t){return c.setDistanceLimits(t),t},enumerable:!0}}),t.addEventListener("contextmenu",(function(t){return t.preventDefault(),!1})),d._lastX=-1,d._lastY=-1,d._lastMods={shift:!1,control:!1,alt:!1,meta:!1},d.enableMouseListeners=function(){function e(e,r,i,a){var o=d.keyBindingMode;if(!1!==o){var s="rotate"===o,l="pan"===o,u="zoom"===o,h=!!a.control,p=!!a.alt,g=!!a.shift,m=!!(1&e),v=!!(2&e),y=!!(4&e),x=1/t.clientHeight,b=x*(r-d._lastX),_=x*(i-d._lastY),w=d.flipX?1:-1,T=d.flipY?1:-1,k=Math.PI*d.rotateSpeed,M=n();if(-1!==d._lastX&&-1!==d._lastY&&((s&&m&&!h&&!p&&!g||m&&!h&&!p&&g)&&c.rotate(M,w*k*b,-T*k*_,0),(l&&m&&!h&&!p&&!g||v||m&&h&&!p&&!g)&&c.pan(M,-d.translateSpeed*b*f,d.translateSpeed*_*f,0),u&&m&&!h&&!p&&!g||y||m&&!h&&p&&!g)){var A=-d.zoomSpeed*_/window.innerHeight*(M-c.lastT())*100;c.pan(M,0,0,f*(Math.exp(A)-1))}return d._lastX=r,d._lastY=i,d._lastMods=a,!0}}d.mouseListener=a(t,e),t.addEventListener("touchstart",(function(r){var n=s(r.changedTouches[0],t);e(0,n[0],n[1],d._lastMods),e(1,n[0],n[1],d._lastMods)}),!!l&&{passive:!0}),t.addEventListener("touchmove",(function(r){var n=s(r.changedTouches[0],t);e(1,n[0],n[1],d._lastMods),r.preventDefault()}),!!l&&{passive:!1}),t.addEventListener("touchend",(function(t){e(0,d._lastX,d._lastY,d._lastMods)}),!!l&&{passive:!0}),d.wheelListener=o(t,(function(t,e){if(!1!==d.keyBindingMode&&d.enableWheel){var r=d.flipX?1:-1,i=d.flipY?1:-1,a=n();if(Math.abs(t)>Math.abs(e))c.rotate(a,0,0,-t*r*Math.PI*d.rotateSpeed/window.innerWidth);else if(!d._ortho){var o=-d.zoomSpeed*i*e/window.innerHeight*(a-c.lastT())/20;c.pan(a,0,0,f*(Math.exp(o)-1))}}}),!0)},d.enableMouseListeners(),d};var n=t("right-now"),i=t("3d-view"),a=t("mouse-change"),o=t("mouse-wheel"),s=t("mouse-event-offset"),l=t("has-passive-events")},{"3d-view":54,"has-passive-events":441,"mouse-change":483,"mouse-event-offset":484,"mouse-wheel":486,"right-now":542}],319:[function(t,e,r){var n=t("glslify"),i=t("gl-shader"),a=n(["precision mediump float;\n#define GLSLIFY 1\nattribute vec2 position;\nvarying vec2 uv;\nvoid main() {\n uv = position;\n gl_Position = vec4(position, 0, 1);\n}"]),o=n(["precision mediump float;\n#define GLSLIFY 1\n\nuniform sampler2D accumBuffer;\nvarying vec2 uv;\n\nvoid main() {\n vec4 accum = texture2D(accumBuffer, 0.5 * (uv + 1.0));\n gl_FragColor = min(vec4(1,1,1,1), accum);\n}"]);e.exports=function(t){return i(t,a,o,null,[{name:"position",type:"vec2"}])}},{"gl-shader":335,glslify:320}],320:[function(t,e,r){arguments[4][257][0].apply(r,arguments)},{dup:257}],321:[function(t,e,r){"use strict";var n=t("./camera.js"),i=t("gl-axes3d"),a=t("gl-axes3d/properties"),o=t("gl-spikes3d"),s=t("gl-select-static"),l=t("gl-fbo"),c=t("a-big-triangle"),u=t("mouse-change"),f=t("gl-mat4/perspective"),h=t("gl-mat4/ortho"),p=t("./lib/shader"),d=t("is-mobile")({tablet:!0,featureDetect:!0});function g(){this.mouse=[-1,-1],this.screen=null,this.distance=1/0,this.index=null,this.dataCoordinate=null,this.dataPosition=null,this.object=null,this.data=null}function m(t){var e=Math.round(Math.log(Math.abs(t))/Math.log(10));if(e<0){var r=Math.round(Math.pow(10,-e));return Math.ceil(t*r)/r}if(e>0){r=Math.round(Math.pow(10,e));return Math.ceil(t/r)*r}return Math.ceil(t)}function v(t){return"boolean"!=typeof t||t}e.exports={createScene:function(t){(t=t||{}).camera=t.camera||{};var e=t.canvas;if(!e){if(e=document.createElement("canvas"),t.container)t.container.appendChild(e);else document.body.appendChild(e)}var r=t.gl;r||(t.glOptions&&(d=!!t.glOptions.preserveDrawingBuffer),r=function(t,e){var r=null;try{(r=t.getContext("webgl",e))||(r=t.getContext("experimental-webgl",e))}catch(t){return null}return r}(e,t.glOptions||{premultipliedAlpha:!0,antialias:!0,preserveDrawingBuffer:d}));if(!r)throw new Error("webgl not supported");var y=t.bounds||[[-10,-10,-10],[10,10,10]],x=new g,b=l(r,r.drawingBufferWidth,r.drawingBufferHeight,{preferFloat:!d}),_=p(r),w=t.cameraObject&&!0===t.cameraObject._ortho||t.camera.projection&&"orthographic"===t.camera.projection.type||!1,T={eye:t.camera.eye||[2,0,0],center:t.camera.center||[0,0,0],up:t.camera.up||[0,1,0],zoomMin:t.camera.zoomMax||.1,zoomMax:t.camera.zoomMin||100,mode:t.camera.mode||"turntable",_ortho:w},k=t.axes||{},M=i(r,k);M.enable=!k.disable;var A=t.spikes||{},S=o(r,A),E=[],C=[],L=[],I=[],P=!0,z=!0,O=new Array(16),D=new Array(16),R={view:null,projection:O,model:D,_ortho:!1},F=(z=!0,[r.drawingBufferWidth,r.drawingBufferHeight]),B=t.cameraObject||n(e,T),N={gl:r,contextLost:!1,pixelRatio:t.pixelRatio||1,canvas:e,selection:x,camera:B,axes:M,axesPixels:null,spikes:S,bounds:y,objects:E,shape:F,aspect:t.aspectRatio||[1,1,1],pickRadius:t.pickRadius||10,zNear:t.zNear||.01,zFar:t.zFar||1e3,fovy:t.fovy||Math.PI/4,clearColor:t.clearColor||[0,0,0,0],autoResize:v(t.autoResize),autoBounds:v(t.autoBounds),autoScale:!!t.autoScale,autoCenter:v(t.autoCenter),clipToBounds:v(t.clipToBounds),snapToData:!!t.snapToData,onselect:t.onselect||null,onrender:t.onrender||null,onclick:t.onclick||null,cameraParams:R,oncontextloss:null,mouseListener:null,_stopped:!1,getAspectratio:function(){return{x:this.aspect[0],y:this.aspect[1],z:this.aspect[2]}},setAspectratio:function(t){this.aspect[0]=t.x,this.aspect[1]=t.y,this.aspect[2]=t.z,z=!0},setBounds:function(t,e){this.bounds[0][t]=e.min,this.bounds[1][t]=e.max},setClearColor:function(t){this.clearColor=t},clearRGBA:function(){this.gl.clearColor(this.clearColor[0],this.clearColor[1],this.clearColor[2],this.clearColor[3]),this.gl.clear(this.gl.COLOR_BUFFER_BIT|this.gl.DEPTH_BUFFER_BIT)}},j=[r.drawingBufferWidth/N.pixelRatio|0,r.drawingBufferHeight/N.pixelRatio|0];function U(){if(!N._stopped&&N.autoResize){var t=e.parentNode,r=1,n=1;t&&t!==document.body?(r=t.clientWidth,n=t.clientHeight):(r=window.innerWidth,n=window.innerHeight);var i=0|Math.ceil(r*N.pixelRatio),a=0|Math.ceil(n*N.pixelRatio);if(i!==e.width||a!==e.height){e.width=i,e.height=a;var o=e.style;o.position=o.position||"absolute",o.left="0px",o.top="0px",o.width=r+"px",o.height=n+"px",P=!0}}}N.autoResize&&U();function V(){for(var t=E.length,e=I.length,n=0;n<e;++n)L[n]=0;t:for(n=0;n<t;++n){var i=E[n],a=i.pickSlots;if(a){for(var o=0;o<e;++o)if(L[o]+a<255){C[n]=o,i.setPickBase(L[o]+1),L[o]+=a;continue t}var l=s(r,F);C[n]=e,I.push(l),L.push(a),i.setPickBase(1),e+=1}else C[n]=-1}for(;e>0&&0===L[e-1];)L.pop(),I.pop().dispose()}function q(){if(N.contextLost)return!0;r.isContextLost()&&(N.contextLost=!0,N.mouseListener.enabled=!1,N.selection.object=null,N.oncontextloss&&N.oncontextloss())}window.addEventListener("resize",U),N.update=function(t){N._stopped||(t=t||{},P=!0,z=!0)},N.add=function(t){N._stopped||(t.axes=M,E.push(t),C.push(-1),P=!0,z=!0,V())},N.remove=function(t){if(!N._stopped){var e=E.indexOf(t);e<0||(E.splice(e,1),C.pop(),P=!0,z=!0,V())}},N.dispose=function(){if(!N._stopped&&(N._stopped=!0,window.removeEventListener("resize",U),e.removeEventListener("webglcontextlost",q),N.mouseListener.enabled=!1,!N.contextLost)){M.dispose(),S.dispose();for(var t=0;t<E.length;++t)E[t].dispose();b.dispose();for(t=0;t<I.length;++t)I[t].dispose();_.dispose(),r=null,M=null,S=null,E=[]}},N._mouseRotating=!1,N._prevButtons=0,N.enableMouseListeners=function(){N.mouseListener=u(e,(function(t,e,r){if(!N._stopped){var n=I.length,i=E.length,a=x.object;x.distance=1/0,x.mouse[0]=e,x.mouse[1]=r,x.object=null,x.screen=null,x.dataCoordinate=x.dataPosition=null;var o=!1;if(t&&N._prevButtons)N._mouseRotating=!0;else{N._mouseRotating&&(z=!0),N._mouseRotating=!1;for(var s=0;s<n;++s){var l=I[s].query(e,j[1]-r-1,N.pickRadius);if(l){if(l.distance>x.distance)continue;for(var c=0;c<i;++c){var u=E[c];if(C[c]===s){var f=u.pick(l);f&&(x.buttons=t,x.screen=l.coord,x.distance=l.distance,x.object=u,x.index=f.distance,x.dataPosition=f.position,x.dataCoordinate=f.dataCoordinate,x.data=f,o=!0)}}}}}a&&a!==x.object&&(a.highlight&&a.highlight(null),P=!0),x.object&&(x.object.highlight&&x.object.highlight(x.data),P=!0),(o=o||x.object!==a)&&N.onselect&&N.onselect(x),1&t&&!(1&N._prevButtons)&&N.onclick&&N.onclick(x),N._prevButtons=t}}))},e.addEventListener("webglcontextlost",q);var H=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],G=[H[0].slice(),H[1].slice()];function Y(){if(!q()){U();var t=N.camera.tick();R.view=N.camera.matrix,P=P||t,z=z||t,M.pixelRatio=N.pixelRatio,S.pixelRatio=N.pixelRatio;var e=E.length,n=H[0],i=H[1];n[0]=n[1]=n[2]=1/0,i[0]=i[1]=i[2]=-1/0;for(var o=0;o<e;++o){(L=E[o]).pixelRatio=N.pixelRatio,L.axes=N.axes,P=P||!!L.dirty,z=z||!!L.dirty;var s=L.bounds;if(s)for(var l=s[0],u=s[1],p=0;p<3;++p)n[p]=Math.min(n[p],l[p]),i[p]=Math.max(i[p],u[p])}var d=N.bounds;if(N.autoBounds)for(p=0;p<3;++p){if(i[p]<n[p])n[p]=-1,i[p]=1;else{n[p]===i[p]&&(n[p]-=1,i[p]+=1);var g=.05*(i[p]-n[p]);n[p]=n[p]-g,i[p]=i[p]+g}d[0][p]=n[p],d[1][p]=i[p]}var v=!1;for(p=0;p<3;++p)v=v||G[0][p]!==d[0][p]||G[1][p]!==d[1][p],G[0][p]=d[0][p],G[1][p]=d[1][p];if(z=z||v,P=P||v){if(v){var y=[0,0,0];for(o=0;o<3;++o)y[o]=m((d[1][o]-d[0][o])/10);M.autoTicks?M.update({bounds:d,tickSpacing:y}):M.update({bounds:d})}var T=r.drawingBufferWidth,k=r.drawingBufferHeight;F[0]=T,F[1]=k,j[0]=0|Math.max(T/N.pixelRatio,1),j[1]=0|Math.max(k/N.pixelRatio,1),function(t,e){var r=t.bounds,n=t.cameraParams,i=n.projection,a=n.model,o=t.gl.drawingBufferWidth,s=t.gl.drawingBufferHeight,l=t.zNear,c=t.zFar,u=t.fovy,p=o/s;e?(h(i,-p,p,-1,1,l,c),n._ortho=!0):(f(i,u,p,l,c),n._ortho=!1);for(var d=0;d<16;++d)a[d]=0;a[15]=1;var g=0;for(d=0;d<3;++d)g=Math.max(g,r[1][d]-r[0][d]);for(d=0;d<3;++d)t.autoScale?a[5*d]=t.aspect[d]/(r[1][d]-r[0][d]):a[5*d]=1/g,t.autoCenter&&(a[12+d]=.5*-a[5*d]*(r[0][d]+r[1][d]))}(N,w);for(o=0;o<e;++o){(L=E[o]).axesBounds=d,N.clipToBounds&&(L.clipBounds=d)}x.object&&(N.snapToData?S.position=x.dataCoordinate:S.position=x.dataPosition,S.bounds=d),z&&(z=!1,function(){if(!q()){r.colorMask(!0,!0,!0,!0),r.depthMask(!0),r.disable(r.BLEND),r.enable(r.DEPTH_TEST),r.depthFunc(r.LEQUAL);for(var t=E.length,e=I.length,n=0;n<e;++n){var i=I[n];i.shape=j,i.begin();for(var a=0;a<t;++a)if(C[a]===n){var o=E[a];o.drawPick&&(o.pixelRatio=1,o.drawPick(R))}i.end()}}}()),N.axesPixels=a(N.axes,R,T,k),N.onrender&&N.onrender(),r.bindFramebuffer(r.FRAMEBUFFER,null),r.viewport(0,0,T,k),N.clearRGBA(),r.depthMask(!0),r.colorMask(!0,!0,!0,!0),r.enable(r.DEPTH_TEST),r.depthFunc(r.LEQUAL),r.disable(r.BLEND),r.disable(r.CULL_FACE);var A=!1;M.enable&&(A=A||M.isTransparent(),M.draw(R)),S.axes=M,x.object&&S.draw(R),r.disable(r.CULL_FACE);for(o=0;o<e;++o){(L=E[o]).axes=M,L.pixelRatio=N.pixelRatio,L.isOpaque&&L.isOpaque()&&L.draw(R),L.isTransparent&&L.isTransparent()&&(A=!0)}if(A){b.shape=F,b.bind(),r.clear(r.DEPTH_BUFFER_BIT),r.colorMask(!1,!1,!1,!1),r.depthMask(!0),r.depthFunc(r.LESS),M.enable&&M.isTransparent()&&M.drawTransparent(R);for(o=0;o<e;++o){(L=E[o]).isOpaque&&L.isOpaque()&&L.draw(R)}r.enable(r.BLEND),r.blendEquation(r.FUNC_ADD),r.blendFunc(r.ONE,r.ONE_MINUS_SRC_ALPHA),r.colorMask(!0,!0,!0,!0),r.depthMask(!1),r.clearColor(0,0,0,0),r.clear(r.COLOR_BUFFER_BIT),M.isTransparent()&&M.drawTransparent(R);for(o=0;o<e;++o){var L;(L=E[o]).isTransparent&&L.isTransparent()&&L.drawTransparent(R)}r.bindFramebuffer(r.FRAMEBUFFER,null),r.blendFunc(r.ONE,r.ONE_MINUS_SRC_ALPHA),r.disable(r.DEPTH_TEST),_.bind(),b.color[0].bind(0),_.uniforms.accumBuffer=0,c(r),r.disable(r.BLEND)}P=!1;for(o=0;o<e;++o)E[o].dirty=!1}}}return N.enableMouseListeners(),function t(){if(N._stopped||N.contextLost)return;Y(),requestAnimationFrame(t)}(),N.redraw=function(){N._stopped||(P=!0,Y())},N},createCamera:n}},{"./camera.js":318,"./lib/shader":319,"a-big-triangle":64,"gl-axes3d":250,"gl-axes3d/properties":258,"gl-fbo":269,"gl-mat4/ortho":296,"gl-mat4/perspective":297,"gl-select-static":334,"gl-spikes3d":345,"is-mobile":467,"mouse-change":483}],322:[function(t,e,r){var n=t("glslify");r.pointVertex=n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 position;\n\nuniform mat3 matrix;\nuniform float pointSize;\nuniform float pointCloud;\n\nhighp float rand(vec2 co) {\n highp float a = 12.9898;\n highp float b = 78.233;\n highp float c = 43758.5453;\n highp float d = dot(co.xy, vec2(a, b));\n highp float e = mod(d, 3.14);\n return fract(sin(e) * c);\n}\n\nvoid main() {\n vec3 hgPosition = matrix * vec3(position, 1);\n gl_Position = vec4(hgPosition.xy, 0, hgPosition.z);\n // if we don't jitter the point size a bit, overall point cloud\n // saturation 'jumps' on zooming, which is disturbing and confusing\n gl_PointSize = pointSize * ((19.5 + rand(position)) / 20.0);\n if(pointCloud != 0.0) { // pointCloud is truthy\n // get the same square surface as circle would be\n gl_PointSize *= 0.886;\n }\n}"]),r.pointFragment=n(["precision mediump float;\n#define GLSLIFY 1\n\nuniform vec4 color, borderColor;\nuniform float centerFraction;\nuniform float pointCloud;\n\nvoid main() {\n float radius;\n vec4 baseColor;\n if(pointCloud != 0.0) { // pointCloud is truthy\n if(centerFraction == 1.0) {\n gl_FragColor = color;\n } else {\n gl_FragColor = mix(borderColor, color, centerFraction);\n }\n } else {\n radius = length(2.0 * gl_PointCoord.xy - 1.0);\n if(radius > 1.0) {\n discard;\n }\n baseColor = mix(borderColor, color, step(radius, centerFraction));\n gl_FragColor = vec4(baseColor.rgb * baseColor.a, baseColor.a);\n }\n}\n"]),r.pickVertex=n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 position;\nattribute vec4 pickId;\n\nuniform mat3 matrix;\nuniform float pointSize;\nuniform vec4 pickOffset;\n\nvarying vec4 fragId;\n\nvoid main() {\n vec3 hgPosition = matrix * vec3(position, 1);\n gl_Position = vec4(hgPosition.xy, 0, hgPosition.z);\n gl_PointSize = pointSize;\n\n vec4 id = pickId + pickOffset;\n id.y += floor(id.x / 256.0);\n id.x -= floor(id.x / 256.0) * 256.0;\n\n id.z += floor(id.y / 256.0);\n id.y -= floor(id.y / 256.0) * 256.0;\n\n id.w += floor(id.z / 256.0);\n id.z -= floor(id.z / 256.0) * 256.0;\n\n fragId = id;\n}\n"]),r.pickFragment=n(["precision mediump float;\n#define GLSLIFY 1\n\nvarying vec4 fragId;\n\nvoid main() {\n float radius = length(2.0 * gl_PointCoord.xy - 1.0);\n if(radius > 1.0) {\n discard;\n }\n gl_FragColor = fragId / 255.0;\n}\n"])},{glslify:323}],323:[function(t,e,r){arguments[4][257][0].apply(r,arguments)},{dup:257}],324:[function(t,e,r){"use strict";var n=t("gl-shader"),i=t("gl-buffer"),a=t("typedarray-pool"),o=t("./lib/shader");function s(t,e,r,n,i){this.plot=t,this.offsetBuffer=e,this.pickBuffer=r,this.shader=n,this.pickShader=i,this.sizeMin=.5,this.sizeMinCap=2,this.sizeMax=20,this.areaRatio=1,this.pointCount=0,this.color=[1,0,0,1],this.borderColor=[0,0,0,1],this.blend=!1,this.pickOffset=0,this.points=null}e.exports=function(t,e){var r=t.gl,a=i(r),l=i(r),c=n(r,o.pointVertex,o.pointFragment),u=n(r,o.pickVertex,o.pickFragment),f=new s(t,a,l,c,u);return f.update(e),t.addObject(f),f};var l,c,u=s.prototype;u.dispose=function(){this.shader.dispose(),this.pickShader.dispose(),this.offsetBuffer.dispose(),this.pickBuffer.dispose(),this.plot.removeObject(this)},u.update=function(t){var e;function r(e,r){return e in t?t[e]:r}t=t||{},this.sizeMin=r("sizeMin",.5),this.sizeMax=r("sizeMax",20),this.color=r("color",[1,0,0,1]).slice(),this.areaRatio=r("areaRatio",1),this.borderColor=r("borderColor",[0,0,0,1]).slice(),this.blend=r("blend",!1);var n=t.positions.length>>>1,i=t.positions instanceof Float32Array,o=t.idToIndex instanceof Int32Array&&t.idToIndex.length>=n,s=t.positions,l=i?s:a.mallocFloat32(s.length),c=o?t.idToIndex:a.mallocInt32(n);if(i||l.set(s),!o)for(l.set(s),e=0;e<n;e++)c[e]=e;this.points=s,this.offsetBuffer.update(l),this.pickBuffer.update(c),i||a.free(l),o||a.free(c),this.pointCount=n,this.pickOffset=0},u.unifiedDraw=(l=[1,0,0,0,1,0,0,0,1],c=[0,0,0,0],function(t){var e=void 0!==t,r=e?this.pickShader:this.shader,n=this.plot.gl,i=this.plot.dataBox;if(0===this.pointCount)return t;var a=i[2]-i[0],o=i[3]-i[1],s=function(t,e){var r,n=0,i=t.length>>>1;for(r=0;r<i;r++){var a=t[2*r],o=t[2*r+1];a>=e[0]&&a<=e[2]&&o>=e[1]&&o<=e[3]&&n++}return n}(this.points,i),u=this.plot.pickPixelRatio*Math.max(Math.min(this.sizeMinCap,this.sizeMin),Math.min(this.sizeMax,this.sizeMax/Math.pow(s,.33333)));l[0]=2/a,l[4]=2/o,l[6]=-2*i[0]/a-1,l[7]=-2*i[1]/o-1,this.offsetBuffer.bind(),r.bind(),r.attributes.position.pointer(),r.uniforms.matrix=l,r.uniforms.color=this.color,r.uniforms.borderColor=this.borderColor,r.uniforms.pointCloud=u<5,r.uniforms.pointSize=u,r.uniforms.centerFraction=Math.min(1,Math.max(0,Math.sqrt(1-this.areaRatio))),e&&(c[0]=255&t,c[1]=t>>8&255,c[2]=t>>16&255,c[3]=t>>24&255,this.pickBuffer.bind(),r.attributes.pickId.pointer(n.UNSIGNED_BYTE),r.uniforms.pickOffset=c,this.pickOffset=t);var f=n.getParameter(n.BLEND),h=n.getParameter(n.DITHER);return f&&!this.blend&&n.disable(n.BLEND),h&&n.disable(n.DITHER),n.drawArrays(n.POINTS,0,this.pointCount),f&&!this.blend&&n.enable(n.BLEND),h&&n.enable(n.DITHER),t+this.pointCount}),u.draw=u.unifiedDraw,u.drawPick=u.unifiedDraw,u.pick=function(t,e,r){var n=this.pickOffset,i=this.pointCount;if(r<n||r>=n+i)return null;var a=r-n,o=this.points;return{object:this,pointId:a,dataCoord:[o[2*a],o[2*a+1]]}}},{"./lib/shader":322,"gl-buffer":259,"gl-shader":335,"typedarray-pool":595}],325:[function(t,e,r){e.exports=function(t,e,r,n){var i,a,o,s,l,c=e[0],u=e[1],f=e[2],h=e[3],p=r[0],d=r[1],g=r[2],m=r[3];(a=c*p+u*d+f*g+h*m)<0&&(a=-a,p=-p,d=-d,g=-g,m=-m);1-a>1e-6?(i=Math.acos(a),o=Math.sin(i),s=Math.sin((1-n)*i)/o,l=Math.sin(n*i)/o):(s=1-n,l=n);return t[0]=s*c+l*p,t[1]=s*u+l*d,t[2]=s*f+l*g,t[3]=s*h+l*m,t}},{}],326:[function(t,e,r){"use strict";e.exports=function(t){return t||0===t?t.toString():""}},{}],327:[function(t,e,r){"use strict";var n=t("vectorize-text");e.exports=function(t,e,r){var a=i[e];a||(a=i[e]={});if(t in a)return a[t];var o={textAlign:"center",textBaseline:"middle",lineHeight:1,font:e,lineSpacing:1.25,styletags:{breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0},triangles:!0},s=n(t,o);o.triangles=!1;var l,c,u=n(t,o);if(r&&1!==r){for(l=0;l<s.positions.length;++l)for(c=0;c<s.positions[l].length;++c)s.positions[l][c]/=r;for(l=0;l<u.positions.length;++l)for(c=0;c<u.positions[l].length;++c)u.positions[l][c]/=r}var f=[[1/0,1/0],[-1/0,-1/0]],h=u.positions.length;for(l=0;l<h;++l){var p=u.positions[l];for(c=0;c<2;++c)f[0][c]=Math.min(f[0][c],p[c]),f[1][c]=Math.max(f[1][c],p[c])}return a[t]=[s,u,f]};var i={}},{"vectorize-text":600}],328:[function(t,e,r){var n=t("gl-shader"),i=t("glslify"),a=i(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 glyph;\nattribute vec4 id;\n\nuniform vec4 highlightId;\nuniform float highlightScale;\nuniform mat4 model, view, projection;\nuniform vec3 clipBounds[2];\n\nvarying vec4 interpColor;\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0,0,0,0);\n } else {\n float scale = 1.0;\n if(distance(highlightId, id) < 0.0001) {\n scale = highlightScale;\n }\n\n vec4 worldPosition = model * vec4(position, 1);\n vec4 viewPosition = view * worldPosition;\n viewPosition = viewPosition / viewPosition.w;\n vec4 clipPosition = projection * (viewPosition + scale * vec4(glyph.x, -glyph.y, 0, 0));\n\n gl_Position = clipPosition;\n interpColor = color;\n pickId = id;\n dataCoordinate = position;\n }\n}"]),o=i(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 glyph;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform vec2 screenSize;\nuniform vec3 clipBounds[2];\nuniform float highlightScale, pixelRatio;\nuniform vec4 highlightId;\n\nvarying vec4 interpColor;\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0,0,0,0);\n } else {\n float scale = pixelRatio;\n if(distance(highlightId.bgr, id.bgr) < 0.001) {\n scale *= highlightScale;\n }\n\n vec4 worldPosition = model * vec4(position, 1.0);\n vec4 viewPosition = view * worldPosition;\n vec4 clipPosition = projection * viewPosition;\n clipPosition /= clipPosition.w;\n\n gl_Position = clipPosition + vec4(screenSize * scale * vec2(glyph.x, -glyph.y), 0.0, 0.0);\n interpColor = color;\n pickId = id;\n dataCoordinate = position;\n }\n}"]),s=i(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 glyph;\nattribute vec4 id;\n\nuniform float highlightScale;\nuniform vec4 highlightId;\nuniform vec3 axes[2];\nuniform mat4 model, view, projection;\nuniform vec2 screenSize;\nuniform vec3 clipBounds[2];\nuniform float scale, pixelRatio;\n\nvarying vec4 interpColor;\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0,0,0,0);\n } else {\n float lscale = pixelRatio * scale;\n if(distance(highlightId, id) < 0.0001) {\n lscale *= highlightScale;\n }\n\n vec4 clipCenter = projection * view * model * vec4(position, 1);\n vec3 dataPosition = position + 0.5*lscale*(axes[0] * glyph.x + axes[1] * glyph.y) * clipCenter.w * screenSize.y;\n vec4 clipPosition = projection * view * model * vec4(dataPosition, 1);\n\n gl_Position = clipPosition;\n interpColor = color;\n pickId = id;\n dataCoordinate = dataPosition;\n }\n}\n"]),l=i(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 fragClipBounds[2];\nuniform float opacity;\n\nvarying vec4 interpColor;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (\n outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate) ||\n interpColor.a * opacity == 0.\n ) discard;\n gl_FragColor = interpColor * opacity;\n}\n"]),c=i(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 fragClipBounds[2];\nuniform float pickGroup;\n\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate)) discard;\n\n gl_FragColor = vec4(pickGroup, pickId.bgr);\n}"]),u=[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"glyph",type:"vec2"},{name:"id",type:"vec4"}],f={vertex:a,fragment:l,attributes:u},h={vertex:o,fragment:l,attributes:u},p={vertex:s,fragment:l,attributes:u},d={vertex:a,fragment:c,attributes:u},g={vertex:o,fragment:c,attributes:u},m={vertex:s,fragment:c,attributes:u};function v(t,e){var r=n(t,e),i=r.attributes;return i.position.location=0,i.color.location=1,i.glyph.location=2,i.id.location=3,r}r.createPerspective=function(t){return v(t,f)},r.createOrtho=function(t){return v(t,h)},r.createProject=function(t){return v(t,p)},r.createPickPerspective=function(t){return v(t,d)},r.createPickOrtho=function(t){return v(t,g)},r.createPickProject=function(t){return v(t,m)}},{"gl-shader":335,glslify:329}],329:[function(t,e,r){arguments[4][257][0].apply(r,arguments)},{dup:257}],330:[function(t,e,r){"use strict";var n=t("is-string-blank"),i=t("gl-buffer"),a=t("gl-vao"),o=t("typedarray-pool"),s=t("gl-mat4/multiply"),l=t("./lib/shaders"),c=t("./lib/glyphs"),u=t("./lib/get-simple-string"),f=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function h(t,e){var r=t[0],n=t[1],i=t[2],a=t[3];return t[0]=e[0]*r+e[4]*n+e[8]*i+e[12]*a,t[1]=e[1]*r+e[5]*n+e[9]*i+e[13]*a,t[2]=e[2]*r+e[6]*n+e[10]*i+e[14]*a,t[3]=e[3]*r+e[7]*n+e[11]*i+e[15]*a,t}function p(t,e,r,n){return h(n,n),h(n,n),h(n,n)}function d(t,e){this.index=t,this.dataCoordinate=this.position=e}function g(t){return!0===t||t>1?1:t}function m(t,e,r,n,i,a,o,s,l,c,u,f){this.gl=t,this.pixelRatio=1,this.shader=e,this.orthoShader=r,this.projectShader=n,this.pointBuffer=i,this.colorBuffer=a,this.glyphBuffer=o,this.idBuffer=s,this.vao=l,this.vertexCount=0,this.lineVertexCount=0,this.opacity=1,this.hasAlpha=!1,this.lineWidth=0,this.projectScale=[2/3,2/3,2/3],this.projectOpacity=[1,1,1],this.projectHasAlpha=!1,this.pickId=0,this.pickPerspectiveShader=c,this.pickOrthoShader=u,this.pickProjectShader=f,this.points=[],this._selectResult=new d(0,[0,0,0]),this.useOrtho=!0,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.axesProject=[!0,!0,!0],this.axesBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.highlightId=[1,1,1,1],this.highlightScale=2,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.dirty=!0}e.exports=function(t){var e=t.gl,r=l.createPerspective(e),n=l.createOrtho(e),o=l.createProject(e),s=l.createPickPerspective(e),c=l.createPickOrtho(e),u=l.createPickProject(e),f=i(e),h=i(e),p=i(e),d=i(e),g=a(e,[{buffer:f,size:3,type:e.FLOAT},{buffer:h,size:4,type:e.FLOAT},{buffer:p,size:2,type:e.FLOAT},{buffer:d,size:4,type:e.UNSIGNED_BYTE,normalized:!0}]),v=new m(e,r,n,o,f,h,p,d,g,s,c,u);return v.update(t),v};var v=m.prototype;v.pickSlots=1,v.setPickBase=function(t){this.pickId=t},v.isTransparent=function(){if(this.hasAlpha)return!0;for(var t=0;t<3;++t)if(this.axesProject[t]&&this.projectHasAlpha)return!0;return!1},v.isOpaque=function(){if(!this.hasAlpha)return!0;for(var t=0;t<3;++t)if(this.axesProject[t]&&!this.projectHasAlpha)return!0;return!1};var y=[0,0],x=[0,0,0],b=[0,0,0],_=[0,0,0,1],w=[0,0,0,1],T=f.slice(),k=[0,0,0],M=[[0,0,0],[0,0,0]];function A(t){return t[0]=t[1]=t[2]=0,t}function S(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=1,t}function E(t,e,r,n){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[r]=n,t}function C(t,e,r,n){var i,a=e.axesProject,o=e.gl,l=t.uniforms,c=r.model||f,u=r.view||f,h=r.projection||f,d=e.axesBounds,g=function(t){for(var e=M,r=0;r<2;++r)for(var n=0;n<3;++n)e[r][n]=Math.max(Math.min(t[r][n],1e8),-1e8);return e}(e.clipBounds);i=e.axes&&e.axes.lastCubeProps?e.axes.lastCubeProps.axis:[1,1,1],y[0]=2/o.drawingBufferWidth,y[1]=2/o.drawingBufferHeight,t.bind(),l.view=u,l.projection=h,l.screenSize=y,l.highlightId=e.highlightId,l.highlightScale=e.highlightScale,l.clipBounds=g,l.pickGroup=e.pickId/255,l.pixelRatio=n;for(var m=0;m<3;++m)if(a[m]){l.scale=e.projectScale[m],l.opacity=e.projectOpacity[m];for(var v=T,C=0;C<16;++C)v[C]=0;for(C=0;C<4;++C)v[5*C]=1;v[5*m]=0,i[m]<0?v[12+m]=d[0][m]:v[12+m]=d[1][m],s(v,c,v),l.model=v;var L=(m+1)%3,I=(m+2)%3,P=A(x),z=A(b);P[L]=1,z[I]=1;var O=p(0,0,0,S(_,P)),D=p(0,0,0,S(w,z));if(Math.abs(O[1])>Math.abs(D[1])){var R=O;O=D,D=R,R=P,P=z,z=R;var F=L;L=I,I=F}O[0]<0&&(P[L]=-1),D[1]>0&&(z[I]=-1);var B=0,N=0;for(C=0;C<4;++C)B+=Math.pow(c[4*L+C],2),N+=Math.pow(c[4*I+C],2);P[L]/=Math.sqrt(B),z[I]/=Math.sqrt(N),l.axes[0]=P,l.axes[1]=z,l.fragClipBounds[0]=E(k,g[0],m,-1e8),l.fragClipBounds[1]=E(k,g[1],m,1e8),e.vao.bind(),e.vao.draw(o.TRIANGLES,e.vertexCount),e.lineWidth>0&&(o.lineWidth(e.lineWidth*n),e.vao.draw(o.LINES,e.lineVertexCount,e.vertexCount)),e.vao.unbind()}}var L=[[-1e8,-1e8,-1e8],[1e8,1e8,1e8]];function I(t,e,r,n,i,a,o){var s=r.gl;if((a===r.projectHasAlpha||o)&&C(e,r,n,i),a===r.hasAlpha||o){t.bind();var l=t.uniforms;l.model=n.model||f,l.view=n.view||f,l.projection=n.projection||f,y[0]=2/s.drawingBufferWidth,y[1]=2/s.drawingBufferHeight,l.screenSize=y,l.highlightId=r.highlightId,l.highlightScale=r.highlightScale,l.fragClipBounds=L,l.clipBounds=r.axes.bounds,l.opacity=r.opacity,l.pickGroup=r.pickId/255,l.pixelRatio=i,r.vao.bind(),r.vao.draw(s.TRIANGLES,r.vertexCount),r.lineWidth>0&&(s.lineWidth(r.lineWidth*i),r.vao.draw(s.LINES,r.lineVertexCount,r.vertexCount)),r.vao.unbind()}}function P(t,e,r,i){var a;a=Array.isArray(t)?e<t.length?t[e]:void 0:t,a=u(a);var o=!0;n(a)&&(a="\u25bc",o=!1);var s=c(a,r,i);return{mesh:s[0],lines:s[1],bounds:s[2],visible:o}}v.draw=function(t){I(this.useOrtho?this.orthoShader:this.shader,this.projectShader,this,t,this.pixelRatio,!1,!1)},v.drawTransparent=function(t){I(this.useOrtho?this.orthoShader:this.shader,this.projectShader,this,t,this.pixelRatio,!0,!1)},v.drawPick=function(t){I(this.useOrtho?this.pickOrthoShader:this.pickPerspectiveShader,this.pickProjectShader,this,t,1,!0,!0)},v.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;var e=t.value[2]+(t.value[1]<<8)+(t.value[0]<<16);if(e>=this.pointCount||e<0)return null;var r=this.points[e],n=this._selectResult;n.index=e;for(var i=0;i<3;++i)n.position[i]=n.dataCoordinate[i]=r[i];return n},v.highlight=function(t){if(t){var e=t.index,r=255&e,n=e>>8&255,i=e>>16&255;this.highlightId=[r/255,n/255,i/255,0]}else this.highlightId=[1,1,1,1]},v.update=function(t){if("perspective"in(t=t||{})&&(this.useOrtho=!t.perspective),"orthographic"in t&&(this.useOrtho=!!t.orthographic),"lineWidth"in t&&(this.lineWidth=t.lineWidth),"project"in t)if(Array.isArray(t.project))this.axesProject=t.project;else{var e=!!t.project;this.axesProject=[e,e,e]}if("projectScale"in t)if(Array.isArray(t.projectScale))this.projectScale=t.projectScale.slice();else{var r=+t.projectScale;this.projectScale=[r,r,r]}if(this.projectHasAlpha=!1,"projectOpacity"in t){if(Array.isArray(t.projectOpacity))this.projectOpacity=t.projectOpacity.slice();else{r=+t.projectOpacity;this.projectOpacity=[r,r,r]}for(var n=0;n<3;++n)this.projectOpacity[n]=g(this.projectOpacity[n]),this.projectOpacity[n]<1&&(this.projectHasAlpha=!0)}this.hasAlpha=!1,"opacity"in t&&(this.opacity=g(t.opacity),this.opacity<1&&(this.hasAlpha=!0)),this.dirty=!0;var i,a,s=t.position,l=t.font||"normal",c=t.alignment||[0,0];if(2===c.length)i=c[0],a=c[1];else{i=[],a=[];for(n=0;n<c.length;++n)i[n]=c[n][0],a[n]=c[n][1]}var u=[1/0,1/0,1/0],f=[-1/0,-1/0,-1/0],h=t.glyph,p=t.color,d=t.size,m=t.angle,v=t.lineColor,y=-1,x=0,b=0,_=0;if(s.length){_=s.length;t:for(n=0;n<_;++n){for(var w=s[n],T=0;T<3;++T)if(isNaN(w[T])||!isFinite(w[T]))continue t;var k=(N=P(h,n,l,this.pixelRatio)).mesh,M=N.lines,A=N.bounds;x+=3*k.cells.length,b+=2*M.edges.length}}var S=x+b,E=o.mallocFloat(3*S),C=o.mallocFloat(4*S),L=o.mallocFloat(2*S),I=o.mallocUint32(S);if(S>0){var z=0,O=x,D=[0,0,0,1],R=[0,0,0,1],F=Array.isArray(p)&&Array.isArray(p[0]),B=Array.isArray(v)&&Array.isArray(v[0]);t:for(n=0;n<_;++n){y+=1;for(w=s[n],T=0;T<3;++T){if(isNaN(w[T])||!isFinite(w[T]))continue t;f[T]=Math.max(f[T],w[T]),u[T]=Math.min(u[T],w[T])}k=(N=P(h,n,l,this.pixelRatio)).mesh,M=N.lines,A=N.bounds;var N,j=N.visible;if(j)if(Array.isArray(p)){if(3===(U=F?n<p.length?p[n]:[0,0,0,0]:p).length){for(T=0;T<3;++T)D[T]=U[T];D[3]=1}else if(4===U.length){for(T=0;T<4;++T)D[T]=U[T];!this.hasAlpha&&U[3]<1&&(this.hasAlpha=!0)}}else D[0]=D[1]=D[2]=0,D[3]=1;else D=[1,1,1,0];if(j)if(Array.isArray(v)){var U;if(3===(U=B?n<v.length?v[n]:[0,0,0,0]:v).length){for(T=0;T<3;++T)R[T]=U[T];R[T]=1}else if(4===U.length){for(T=0;T<4;++T)R[T]=U[T];!this.hasAlpha&&U[3]<1&&(this.hasAlpha=!0)}}else R[0]=R[1]=R[2]=0,R[3]=1;else R=[1,1,1,0];var V=.5;j?Array.isArray(d)?V=n<d.length?+d[n]:12:d?V=+d:this.useOrtho&&(V=12):V=0;var q=0;Array.isArray(m)?q=n<m.length?+m[n]:0:m&&(q=+m);var H=Math.cos(q),G=Math.sin(q);for(w=s[n],T=0;T<3;++T)f[T]=Math.max(f[T],w[T]),u[T]=Math.min(u[T],w[T]);var Y=i,W=a;Y=0;Array.isArray(i)?Y=n<i.length?i[n]:0:i&&(Y=i);W=0;Array.isArray(a)?W=n<a.length?a[n]:0:a&&(W=a);var X=[Y*=Y>0?1-A[0][0]:Y<0?1+A[1][0]:1,W*=W>0?1-A[0][1]:W<0?1+A[1][1]:1],Z=k.cells||[],J=k.positions||[];for(T=0;T<Z.length;++T)for(var K=Z[T],Q=0;Q<3;++Q){for(var $=0;$<3;++$)E[3*z+$]=w[$];for($=0;$<4;++$)C[4*z+$]=D[$];I[z]=y;var tt=J[K[Q]];L[2*z]=V*(H*tt[0]-G*tt[1]+X[0]),L[2*z+1]=V*(G*tt[0]+H*tt[1]+X[1]),z+=1}for(Z=M.edges,J=M.positions,T=0;T<Z.length;++T)for(K=Z[T],Q=0;Q<2;++Q){for($=0;$<3;++$)E[3*O+$]=w[$];for($=0;$<4;++$)C[4*O+$]=R[$];I[O]=y;tt=J[K[Q]];L[2*O]=V*(H*tt[0]-G*tt[1]+X[0]),L[2*O+1]=V*(G*tt[0]+H*tt[1]+X[1]),O+=1}}}this.bounds=[u,f],this.points=s,this.pointCount=s.length,this.vertexCount=x,this.lineVertexCount=b,this.pointBuffer.update(E),this.colorBuffer.update(C),this.glyphBuffer.update(L),this.idBuffer.update(I),o.free(E),o.free(C),o.free(L),o.free(I)},v.dispose=function(){this.shader.dispose(),this.orthoShader.dispose(),this.pickPerspectiveShader.dispose(),this.pickOrthoShader.dispose(),this.vao.dispose(),this.pointBuffer.dispose(),this.colorBuffer.dispose(),this.glyphBuffer.dispose(),this.idBuffer.dispose()}},{"./lib/get-simple-string":326,"./lib/glyphs":327,"./lib/shaders":328,"gl-buffer":259,"gl-mat4/multiply":295,"gl-vao":358,"is-string-blank":470,"typedarray-pool":595}],331:[function(t,e,r){"use strict";var n=t("glslify");r.boxVertex=n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 vertex;\n\nuniform vec2 cornerA, cornerB;\n\nvoid main() {\n gl_Position = vec4(mix(cornerA, cornerB, vertex), 0, 1);\n}\n"]),r.boxFragment=n(["precision mediump float;\n#define GLSLIFY 1\n\nuniform vec4 color;\n\nvoid main() {\n gl_FragColor = color;\n}\n"])},{glslify:332}],332:[function(t,e,r){arguments[4][257][0].apply(r,arguments)},{dup:257}],333:[function(t,e,r){"use strict";var n=t("gl-shader"),i=t("gl-buffer"),a=t("./lib/shaders");function o(t,e,r){this.plot=t,this.boxBuffer=e,this.boxShader=r,this.enabled=!0,this.selectBox=[1/0,1/0,-1/0,-1/0],this.borderColor=[0,0,0,1],this.innerFill=!1,this.innerColor=[0,0,0,.25],this.outerFill=!0,this.outerColor=[0,0,0,.5],this.borderWidth=10}e.exports=function(t,e){var r=t.gl,s=i(r,[0,0,0,1,1,0,1,1]),l=n(r,a.boxVertex,a.boxFragment),c=new o(t,s,l);return c.update(e),t.addOverlay(c),c};var s=o.prototype;s.draw=function(){if(this.enabled){var t=this.plot,e=this.selectBox,r=this.borderWidth,n=(this.innerFill,this.innerColor),i=(this.outerFill,this.outerColor),a=this.borderColor,o=t.box,s=t.screenBox,l=t.dataBox,c=t.viewBox,u=t.pixelRatio,f=(e[0]-l[0])*(c[2]-c[0])/(l[2]-l[0])+c[0],h=(e[1]-l[1])*(c[3]-c[1])/(l[3]-l[1])+c[1],p=(e[2]-l[0])*(c[2]-c[0])/(l[2]-l[0])+c[0],d=(e[3]-l[1])*(c[3]-c[1])/(l[3]-l[1])+c[1];if(f=Math.max(f,c[0]),h=Math.max(h,c[1]),p=Math.min(p,c[2]),d=Math.min(d,c[3]),!(p<f||d<h)){o.bind();var g=s[2]-s[0],m=s[3]-s[1];if(this.outerFill&&(o.drawBox(0,0,g,h,i),o.drawBox(0,h,f,d,i),o.drawBox(0,d,g,m,i),o.drawBox(p,h,g,d,i)),this.innerFill&&o.drawBox(f,h,p,d,n),r>0){var v=r*u;o.drawBox(f-v,h-v,p+v,h+v,a),o.drawBox(f-v,d-v,p+v,d+v,a),o.drawBox(f-v,h-v,f+v,d+v,a),o.drawBox(p-v,h-v,p+v,d+v,a)}}}},s.update=function(t){t=t||{},this.innerFill=!!t.innerFill,this.outerFill=!!t.outerFill,this.innerColor=(t.innerColor||[0,0,0,.5]).slice(),this.outerColor=(t.outerColor||[0,0,0,.5]).slice(),this.borderColor=(t.borderColor||[0,0,0,1]).slice(),this.borderWidth=t.borderWidth||0,this.selectBox=(t.selectBox||this.selectBox).slice()},s.dispose=function(){this.boxBuffer.dispose(),this.boxShader.dispose(),this.plot.removeOverlay(this)}},{"./lib/shaders":331,"gl-buffer":259,"gl-shader":335}],334:[function(t,e,r){"use strict";e.exports=function(t,e){var r=e[0],a=e[1],o=n(t,r,a,{}),s=i.mallocUint8(r*a*4);return new l(t,o,s)};var n=t("gl-fbo"),i=t("typedarray-pool"),a=t("ndarray"),o=t("bit-twiddle").nextPow2;function s(t,e,r,n,i){this.coord=[t,e],this.id=r,this.value=n,this.distance=i}function l(t,e,r){this.gl=t,this.fbo=e,this.buffer=r,this._readTimeout=null;var n=this;this._readCallback=function(){n.gl&&(e.bind(),t.readPixels(0,0,e.shape[0],e.shape[1],t.RGBA,t.UNSIGNED_BYTE,n.buffer),n._readTimeout=null)}}var c=l.prototype;Object.defineProperty(c,"shape",{get:function(){return this.gl?this.fbo.shape.slice():[0,0]},set:function(t){if(this.gl){this.fbo.shape=t;var e=this.fbo.shape[0],r=this.fbo.shape[1];if(r*e*4>this.buffer.length){i.free(this.buffer);for(var n=this.buffer=i.mallocUint8(o(r*e*4)),a=0;a<r*e*4;++a)n[a]=255}return t}}}),c.begin=function(){var t=this.gl;this.shape;t&&(this.fbo.bind(),t.clearColor(1,1,1,1),t.clear(t.COLOR_BUFFER_BIT|t.DEPTH_BUFFER_BIT))},c.end=function(){var t=this.gl;t&&(t.bindFramebuffer(t.FRAMEBUFFER,null),this._readTimeout||clearTimeout(this._readTimeout),this._readTimeout=setTimeout(this._readCallback,1))},c.query=function(t,e,r){if(!this.gl)return null;var n=this.fbo.shape.slice();t|=0,e|=0,"number"!=typeof r&&(r=1);var i=0|Math.min(Math.max(t-r,0),n[0]),o=0|Math.min(Math.max(t+r,0),n[0]),l=0|Math.min(Math.max(e-r,0),n[1]),c=0|Math.min(Math.max(e+r,0),n[1]);if(o<=i||c<=l)return null;var u=[o-i,c-l],f=a(this.buffer,[u[0],u[1],4],[4,4*n[0],1],4*(i+n[0]*l)),h=function(t,e,r){for(var n=1e8,i=-1,a=-1,o=t.shape[0],s=t.shape[1],l=0;l<o;l++)for(var c=0;c<s;c++){var u=t.get(l,c,0),f=t.get(l,c,1),h=t.get(l,c,2),p=t.get(l,c,3);if(u<255||f<255||h<255||p<255){var d=e-l,g=r-c,m=d*d+g*g;m<n&&(n=m,i=l,a=c)}}return[i,a,n]}(f.hi(u[0],u[1],1),r,r),p=h[0],d=h[1];return p<0||Math.pow(this.radius,2)<h[2]?null:new s(p+i|0,d+l|0,f.get(p,d,0),[f.get(p,d,1),f.get(p,d,2),f.get(p,d,3)],Math.sqrt(h[2]))},c.dispose=function(){this.gl&&(this.fbo.dispose(),i.free(this.buffer),this.gl=null,this._readTimeout&&clearTimeout(this._readTimeout))}},{"bit-twiddle":97,"gl-fbo":269,ndarray:495,"typedarray-pool":595}],335:[function(t,e,r){"use strict";var n=t("./lib/create-uniforms"),i=t("./lib/create-attributes"),a=t("./lib/reflect"),o=t("./lib/shader-cache"),s=t("./lib/runtime-reflect"),l=t("./lib/GLError");function c(t){this.gl=t,this.gl.lastAttribCount=0,this._vref=this._fref=this._relink=this.vertShader=this.fragShader=this.program=this.attributes=this.uniforms=this.types=null}var u=c.prototype;function f(t,e){return t.name<e.name?-1:1}u.bind=function(){var t;this.program||this._relink();var e=this.gl.getProgramParameter(this.program,this.gl.ACTIVE_ATTRIBUTES),r=this.gl.lastAttribCount;if(e>r)for(t=r;t<e;t++)this.gl.enableVertexAttribArray(t);else if(r>e)for(t=e;t<r;t++)this.gl.disableVertexAttribArray(t);this.gl.lastAttribCount=e,this.gl.useProgram(this.program)},u.dispose=function(){for(var t=this.gl.lastAttribCount,e=0;e<t;e++)this.gl.disableVertexAttribArray(e);this.gl.lastAttribCount=0,this._fref&&this._fref.dispose(),this._vref&&this._vref.dispose(),this.attributes=this.types=this.vertShader=this.fragShader=this.program=this._relink=this._fref=this._vref=null},u.update=function(t,e,r,c){if(!e||1===arguments.length){var u=t;t=u.vertex,e=u.fragment,r=u.uniforms,c=u.attributes}var h=this,p=h.gl,d=h._vref;h._vref=o.shader(p,p.VERTEX_SHADER,t),d&&d.dispose(),h.vertShader=h._vref.shader;var g=this._fref;if(h._fref=o.shader(p,p.FRAGMENT_SHADER,e),g&&g.dispose(),h.fragShader=h._fref.shader,!r||!c){var m=p.createProgram();if(p.attachShader(m,h.fragShader),p.attachShader(m,h.vertShader),p.linkProgram(m),!p.getProgramParameter(m,p.LINK_STATUS)){var v=p.getProgramInfoLog(m);throw new l(v,"Error linking program:"+v)}r=r||s.uniforms(p,m),c=c||s.attributes(p,m),p.deleteProgram(m)}(c=c.slice()).sort(f);var y,x=[],b=[],_=[];for(y=0;y<c.length;++y){var w=c[y];if(w.type.indexOf("mat")>=0){for(var T=0|w.type.charAt(w.type.length-1),k=new Array(T),M=0;M<T;++M)k[M]=_.length,b.push(w.name+"["+M+"]"),"number"==typeof w.location?_.push(w.location+M):Array.isArray(w.location)&&w.location.length===T&&"number"==typeof w.location[M]?_.push(0|w.location[M]):_.push(-1);x.push({name:w.name,type:w.type,locations:k})}else x.push({name:w.name,type:w.type,locations:[_.length]}),b.push(w.name),"number"==typeof w.location?_.push(0|w.location):_.push(-1)}var A=0;for(y=0;y<_.length;++y)if(_[y]<0){for(;_.indexOf(A)>=0;)A+=1;_[y]=A}var S=new Array(r.length);function E(){h.program=o.program(p,h._vref,h._fref,b,_);for(var t=0;t<r.length;++t)S[t]=p.getUniformLocation(h.program,r[t].name)}E(),h._relink=E,h.types={uniforms:a(r),attributes:a(c)},h.attributes=i(p,h,x,_),Object.defineProperty(h,"uniforms",n(p,h,r,S))},e.exports=function(t,e,r,n,i){var a=new c(t);return a.update(e,r,n,i),a}},{"./lib/GLError":336,"./lib/create-attributes":337,"./lib/create-uniforms":338,"./lib/reflect":339,"./lib/runtime-reflect":340,"./lib/shader-cache":341}],336:[function(t,e,r){function n(t,e,r){this.shortMessage=e||"",this.longMessage=r||"",this.rawError=t||"",this.message="gl-shader: "+(e||t||"")+(r?"\n"+r:""),this.stack=(new Error).stack}n.prototype=new Error,n.prototype.name="GLError",n.prototype.constructor=n,e.exports=n},{}],337:[function(t,e,r){"use strict";e.exports=function(t,e,r,i){for(var a={},l=0,c=r.length;l<c;++l){var u=r[l],f=u.name,h=u.type,p=u.locations;switch(h){case"bool":case"int":case"float":o(t,e,p[0],i,1,a,f);break;default:if(h.indexOf("vec")>=0){if((d=h.charCodeAt(h.length-1)-48)<2||d>4)throw new n("","Invalid data type for attribute "+f+": "+h);o(t,e,p[0],i,d,a,f)}else{if(!(h.indexOf("mat")>=0))throw new n("","Unknown data type for attribute "+f+": "+h);var d;if((d=h.charCodeAt(h.length-1)-48)<2||d>4)throw new n("","Invalid data type for attribute "+f+": "+h);s(t,e,p,i,d,a,f)}}}return a};var n=t("./GLError");function i(t,e,r,n,i,a){this._gl=t,this._wrapper=e,this._index=r,this._locations=n,this._dimension=i,this._constFunc=a}var a=i.prototype;function o(t,e,r,n,a,o,s){for(var l=["gl","v"],c=[],u=0;u<a;++u)l.push("x"+u),c.push("x"+u);l.push("if(x0.length===void 0){return gl.vertexAttrib"+a+"f(v,"+c.join()+")}else{return gl.vertexAttrib"+a+"fv(v,x0)}");var f=Function.apply(null,l),h=new i(t,e,r,n,a,f);Object.defineProperty(o,s,{set:function(e){return t.disableVertexAttribArray(n[r]),f(t,n[r],e),e},get:function(){return h},enumerable:!0})}function s(t,e,r,n,i,a,s){for(var l=new Array(i),c=new Array(i),u=0;u<i;++u)o(t,e,r[u],n,i,l,u),c[u]=l[u];Object.defineProperty(l,"location",{set:function(t){if(Array.isArray(t))for(var e=0;e<i;++e)c[e].location=t[e];else for(e=0;e<i;++e)c[e].location=t+e;return t},get:function(){for(var t=new Array(i),e=0;e<i;++e)t[e]=n[r[e]];return t},enumerable:!0}),l.pointer=function(e,a,o,s){e=e||t.FLOAT,a=!!a,o=o||i*i,s=s||0;for(var l=0;l<i;++l){var c=n[r[l]];t.vertexAttribPointer(c,i,e,a,o,s+l*i),t.enableVertexAttribArray(c)}};var f=new Array(i),h=t["vertexAttrib"+i+"fv"];Object.defineProperty(a,s,{set:function(e){for(var a=0;a<i;++a){var o=n[r[a]];if(t.disableVertexAttribArray(o),Array.isArray(e[0]))h.call(t,o,e[a]);else{for(var s=0;s<i;++s)f[s]=e[i*a+s];h.call(t,o,f)}}return e},get:function(){return l},enumerable:!0})}a.pointer=function(t,e,r,n){var i=this._gl,a=this._locations[this._index];i.vertexAttribPointer(a,this._dimension,t||i.FLOAT,!!e,r||0,n||0),i.enableVertexAttribArray(a)},a.set=function(t,e,r,n){return this._constFunc(this._locations[this._index],t,e,r,n)},Object.defineProperty(a,"location",{get:function(){return this._locations[this._index]},set:function(t){return t!==this._locations[this._index]&&(this._locations[this._index]=0|t,this._wrapper.program=null),0|t}})},{"./GLError":336}],338:[function(t,e,r){"use strict";var n=t("./reflect"),i=t("./GLError");function a(t){return new Function("y","return function(){return y}")(t)}function o(t,e){for(var r=new Array(t),n=0;n<t;++n)r[n]=e;return r}e.exports=function(t,e,r,s){function l(t,e,r){switch(r){case"bool":case"int":case"sampler2D":case"samplerCube":return"gl.uniform1i(locations["+e+"],obj"+t+")";case"float":return"gl.uniform1f(locations["+e+"],obj"+t+")";default:var n=r.indexOf("vec");if(!(0<=n&&n<=1&&r.length===4+n)){if(0===r.indexOf("mat")&&4===r.length){var a;if((a=r.charCodeAt(r.length-1)-48)<2||a>4)throw new i("","Invalid uniform dimension type for matrix "+name+": "+r);return"gl.uniformMatrix"+a+"fv(locations["+e+"],false,obj"+t+")"}throw new i("","Unknown uniform data type for "+name+": "+r)}if((a=r.charCodeAt(r.length-1)-48)<2||a>4)throw new i("","Invalid data type");switch(r.charAt(0)){case"b":case"i":return"gl.uniform"+a+"iv(locations["+e+"],obj"+t+")";case"v":return"gl.uniform"+a+"fv(locations["+e+"],obj"+t+")";default:throw new i("","Unrecognized data type for vector "+name+": "+r)}}}function c(e){for(var n=["return function updateProperty(obj){"],i=function t(e,r){if("object"!=typeof r)return[[e,r]];var n=[];for(var i in r){var a=r[i],o=e;parseInt(i)+""===i?o+="["+i+"]":o+="."+i,"object"==typeof a?n.push.apply(n,t(o,a)):n.push([o,a])}return n}("",e),a=0;a<i.length;++a){var o=i[a],c=o[0],u=o[1];s[u]&&n.push(l(c,u,r[u].type))}return n.push("return obj}"),new Function("gl","locations",n.join("\n"))(t,s)}function u(n,l,u){if("object"==typeof u){var h=f(u);Object.defineProperty(n,l,{get:a(h),set:c(u),enumerable:!0,configurable:!1})}else s[u]?Object.defineProperty(n,l,{get:(p=u,new Function("gl","wrapper","locations","return function(){return gl.getUniform(wrapper.program,locations["+p+"])}")(t,e,s)),set:c(u),enumerable:!0,configurable:!1}):n[l]=function(t){switch(t){case"bool":return!1;case"int":case"sampler2D":case"samplerCube":case"float":return 0;default:var e=t.indexOf("vec");if(0<=e&&e<=1&&t.length===4+e){if((r=t.charCodeAt(t.length-1)-48)<2||r>4)throw new i("","Invalid data type");return"b"===t.charAt(0)?o(r,!1):o(r,0)}if(0===t.indexOf("mat")&&4===t.length){var r;if((r=t.charCodeAt(t.length-1)-48)<2||r>4)throw new i("","Invalid uniform dimension type for matrix "+name+": "+t);return o(r*r,0)}throw new i("","Unknown uniform data type for "+name+": "+t)}}(r[u].type);var p}function f(t){var e;if(Array.isArray(t)){e=new Array(t.length);for(var r=0;r<t.length;++r)u(e,r,t[r])}else for(var n in e={},t)u(e,n,t[n]);return e}var h=n(r,!0);return{get:a(f(h)),set:c(h),enumerable:!0,configurable:!0}}},{"./GLError":336,"./reflect":339}],339:[function(t,e,r){"use strict";e.exports=function(t,e){for(var r={},n=0;n<t.length;++n)for(var i=t[n].name.split("."),a=r,o=0;o<i.length;++o){var s=i[o].split("[");if(s.length>1){s[0]in a||(a[s[0]]=[]),a=a[s[0]];for(var l=1;l<s.length;++l){var c=parseInt(s[l]);l<s.length-1||o<i.length-1?(c in a||(l<s.length-1?a[c]=[]:a[c]={}),a=a[c]):a[c]=e?n:t[n].type}}else o<i.length-1?(s[0]in a||(a[s[0]]={}),a=a[s[0]]):a[s[0]]=e?n:t[n].type}return r}},{}],340:[function(t,e,r){"use strict";r.uniforms=function(t,e){for(var r=t.getProgramParameter(e,t.ACTIVE_UNIFORMS),n=[],i=0;i<r;++i){var o=t.getActiveUniform(e,i);if(o){var s=a(t,o.type);if(o.size>1)for(var l=0;l<o.size;++l)n.push({name:o.name.replace("[0]","["+l+"]"),type:s});else n.push({name:o.name,type:s})}}return n},r.attributes=function(t,e){for(var r=t.getProgramParameter(e,t.ACTIVE_ATTRIBUTES),n=[],i=0;i<r;++i){var o=t.getActiveAttrib(e,i);o&&n.push({name:o.name,type:a(t,o.type)})}return n};var n={FLOAT:"float",FLOAT_VEC2:"vec2",FLOAT_VEC3:"vec3",FLOAT_VEC4:"vec4",INT:"int",INT_VEC2:"ivec2",INT_VEC3:"ivec3",INT_VEC4:"ivec4",BOOL:"bool",BOOL_VEC2:"bvec2",BOOL_VEC3:"bvec3",BOOL_VEC4:"bvec4",FLOAT_MAT2:"mat2",FLOAT_MAT3:"mat3",FLOAT_MAT4:"mat4",SAMPLER_2D:"sampler2D",SAMPLER_CUBE:"samplerCube"},i=null;function a(t,e){if(!i){var r=Object.keys(n);i={};for(var a=0;a<r.length;++a){var o=r[a];i[t[o]]=n[o]}}return i[e]}},{}],341:[function(t,e,r){"use strict";r.shader=function(t,e,r){return u(t).getShaderReference(e,r)},r.program=function(t,e,r,n,i){return u(t).getProgram(e,r,n,i)};var n=t("./GLError"),i=t("gl-format-compiler-error"),a=new("undefined"==typeof WeakMap?t("weakmap-shim"):WeakMap),o=0;function s(t,e,r,n,i,a,o){this.id=t,this.src=e,this.type=r,this.shader=n,this.count=a,this.programs=[],this.cache=o}function l(t){this.gl=t,this.shaders=[{},{}],this.programs={}}s.prototype.dispose=function(){if(0==--this.count){for(var t=this.cache,e=t.gl,r=this.programs,n=0,i=r.length;n<i;++n){var a=t.programs[r[n]];a&&(delete t.programs[n],e.deleteProgram(a))}e.deleteShader(this.shader),delete t.shaders[this.type===e.FRAGMENT_SHADER|0][this.src]}};var c=l.prototype;function u(t){var e=a.get(t);return e||(e=new l(t),a.set(t,e)),e}c.getShaderReference=function(t,e){var r=this.gl,a=this.shaders[t===r.FRAGMENT_SHADER|0],l=a[e];if(l&&r.isShader(l.shader))l.count+=1;else{var c=function(t,e,r){var a=t.createShader(e);if(t.shaderSource(a,r),t.compileShader(a),!t.getShaderParameter(a,t.COMPILE_STATUS)){var o=t.getShaderInfoLog(a);try{var s=i(o,r,e)}catch(t){throw console.warn("Failed to format compiler error: "+t),new n(o,"Error compiling shader:\n"+o)}throw new n(o,s.short,s.long)}return a}(r,t,e);l=a[e]=new s(o++,e,t,c,[],1,this)}return l},c.getProgram=function(t,e,r,i){var a=[t.id,e.id,r.join(":"),i.join(":")].join("@"),o=this.programs[a];return o&&this.gl.isProgram(o)||(this.programs[a]=o=function(t,e,r,i,a){var o=t.createProgram();t.attachShader(o,e),t.attachShader(o,r);for(var s=0;s<i.length;++s)t.bindAttribLocation(o,a[s],i[s]);if(t.linkProgram(o),!t.getProgramParameter(o,t.LINK_STATUS)){var l=t.getProgramInfoLog(o);throw new n(l,"Error linking program: "+l)}return o}(this.gl,t.shader,e.shader,r,i),t.programs.push(a),e.programs.push(a)),o}},{"./GLError":336,"gl-format-compiler-error":270,"weakmap-shim":605}],342:[function(t,e,r){"use strict";function n(t){this.plot=t,this.enable=[!0,!0,!1,!1],this.width=[1,1,1,1],this.color=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.center=[1/0,1/0]}e.exports=function(t,e){var r=new n(t);return r.update(e),t.addOverlay(r),r};var i=n.prototype;i.update=function(t){t=t||{},this.enable=(t.enable||[!0,!0,!1,!1]).slice(),this.width=(t.width||[1,1,1,1]).slice(),this.color=(t.color||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]).map((function(t){return t.slice()})),this.center=(t.center||[1/0,1/0]).slice(),this.plot.setOverlayDirty()},i.draw=function(){var t=this.enable,e=this.width,r=this.color,n=this.center,i=this.plot,a=i.line,o=i.dataBox,s=i.viewBox;if(a.bind(),o[0]<=n[0]&&n[0]<=o[2]&&o[1]<=n[1]&&n[1]<=o[3]){var l=s[0]+(n[0]-o[0])/(o[2]-o[0])*(s[2]-s[0]),c=s[1]+(n[1]-o[1])/(o[3]-o[1])*(s[3]-s[1]);t[0]&&a.drawLine(l,c,s[0],c,e[0],r[0]),t[1]&&a.drawLine(l,c,l,s[1],e[1],r[1]),t[2]&&a.drawLine(l,c,s[2],c,e[2],r[2]),t[3]&&a.drawLine(l,c,l,s[3],e[3],r[3])}},i.dispose=function(){this.plot.removeOverlay(this)}},{}],343:[function(t,e,r){arguments[4][257][0].apply(r,arguments)},{dup:257}],344:[function(t,e,r){"use strict";var n=t("glslify"),i=t("gl-shader"),a=n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec3 position, color;\nattribute float weight;\n\nuniform mat4 model, view, projection;\nuniform vec3 coordinates[3];\nuniform vec4 colors[3];\nuniform vec2 screenShape;\nuniform float lineWidth;\n\nvarying vec4 fragColor;\n\nvoid main() {\n vec3 vertexPosition = mix(coordinates[0],\n mix(coordinates[2], coordinates[1], 0.5 * (position + 1.0)), abs(position));\n\n vec4 clipPos = projection * view * model * vec4(vertexPosition, 1.0);\n vec2 clipOffset = (projection * view * model * vec4(color, 0.0)).xy;\n vec2 delta = weight * clipOffset * screenShape;\n vec2 lineOffset = normalize(vec2(delta.y, -delta.x)) / screenShape;\n\n gl_Position = vec4(clipPos.xy + clipPos.w * 0.5 * lineWidth * lineOffset, clipPos.z, clipPos.w);\n fragColor = color.x * colors[0] + color.y * colors[1] + color.z * colors[2];\n}\n"]),o=n(["precision mediump float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor;\n\nvoid main() {\n gl_FragColor = fragColor;\n}"]);e.exports=function(t){return i(t,a,o,null,[{name:"position",type:"vec3"},{name:"color",type:"vec3"},{name:"weight",type:"float"}])}},{"gl-shader":335,glslify:343}],345:[function(t,e,r){"use strict";var n=t("gl-buffer"),i=t("gl-vao"),a=t("./shaders/index");e.exports=function(t,e){var r=[];function o(t,e,n,i,a,o){var s=[t,e,n,0,0,0,1];s[i+3]=1,s[i]=a,r.push.apply(r,s),s[6]=-1,r.push.apply(r,s),s[i]=o,r.push.apply(r,s),r.push.apply(r,s),s[6]=1,r.push.apply(r,s),s[i]=a,r.push.apply(r,s)}o(0,0,0,0,0,1),o(0,0,0,1,0,1),o(0,0,0,2,0,1),o(1,0,0,1,-1,1),o(1,0,0,2,-1,1),o(0,1,0,0,-1,1),o(0,1,0,2,-1,1),o(0,0,1,0,-1,1),o(0,0,1,1,-1,1);var l=n(t,r),c=i(t,[{type:t.FLOAT,buffer:l,size:3,offset:0,stride:28},{type:t.FLOAT,buffer:l,size:3,offset:12,stride:28},{type:t.FLOAT,buffer:l,size:1,offset:24,stride:28}]),u=a(t);u.attributes.position.location=0,u.attributes.color.location=1,u.attributes.weight.location=2;var f=new s(t,l,c,u);return f.update(e),f};var o=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function s(t,e,r,n){this.gl=t,this.buffer=e,this.vao=r,this.shader=n,this.pixelRatio=1,this.bounds=[[-1e3,-1e3,-1e3],[1e3,1e3,1e3]],this.position=[0,0,0],this.lineWidth=[2,2,2],this.colors=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.enabled=[!0,!0,!0],this.drawSides=[!0,!0,!0],this.axes=null}var l=s.prototype,c=[0,0,0],u=[0,0,0],f=[0,0];l.isTransparent=function(){return!1},l.drawTransparent=function(t){},l.draw=function(t){var e=this.gl,r=this.vao,n=this.shader;r.bind(),n.bind();var i,a=t.model||o,s=t.view||o,l=t.projection||o;this.axes&&(i=this.axes.lastCubeProps.axis);for(var h=c,p=u,d=0;d<3;++d)i&&i[d]<0?(h[d]=this.bounds[0][d],p[d]=this.bounds[1][d]):(h[d]=this.bounds[1][d],p[d]=this.bounds[0][d]);f[0]=e.drawingBufferWidth,f[1]=e.drawingBufferHeight,n.uniforms.model=a,n.uniforms.view=s,n.uniforms.projection=l,n.uniforms.coordinates=[this.position,h,p],n.uniforms.colors=this.colors,n.uniforms.screenShape=f;for(d=0;d<3;++d)n.uniforms.lineWidth=this.lineWidth[d]*this.pixelRatio,this.enabled[d]&&(r.draw(e.TRIANGLES,6,6*d),this.drawSides[d]&&r.draw(e.TRIANGLES,12,18+12*d));r.unbind()},l.update=function(t){t&&("bounds"in t&&(this.bounds=t.bounds),"position"in t&&(this.position=t.position),"lineWidth"in t&&(this.lineWidth=t.lineWidth),"colors"in t&&(this.colors=t.colors),"enabled"in t&&(this.enabled=t.enabled),"drawSides"in t&&(this.drawSides=t.drawSides))},l.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()}},{"./shaders/index":344,"gl-buffer":259,"gl-vao":358}],346:[function(t,e,r){var n=t("glslify"),i=n(["precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n // Return up-vector for only-z vector.\n // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the tube vertex and normal at the given index.\n//\n// The returned vertex is for a tube ring with its center at origin, radius of length(d), pointing in the direction of d.\n//\n// Each tube segment is made up of a ring of vertices.\n// These vertices are used to make up the triangles of the tube by connecting them together in the vertex array.\n// The indexes of tube segments run from 0 to 8.\n//\nvec3 getTubePosition(vec3 d, float index, out vec3 normal) {\n float segmentCount = 8.0;\n\n float angle = 2.0 * 3.14159 * (index / segmentCount);\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d);\n vec3 y = v * sin(angle) * length(d);\n vec3 v3 = x + y;\n\n normal = normalize(v3);\n\n return v3;\n}\n\nattribute vec4 vector;\nattribute vec4 color, position;\nattribute vec2 uv;\n\nuniform float vectorScale, tubeScale;\nuniform mat4 model, view, projection, inverseModel;\nuniform vec3 eyePosition, lightPosition;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n // Scale the vector magnitude to stay constant with\n // model & view changes.\n vec3 normal;\n vec3 XYZ = getTubePosition(mat3(model) * (tubeScale * vector.w * normalize(vector.xyz)), position.w, normal);\n vec4 tubePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n\n //Lighting geometry parameters\n vec4 cameraCoordinate = view * tubePosition;\n cameraCoordinate.xyz /= cameraCoordinate.w;\n f_lightDirection = lightPosition - cameraCoordinate.xyz;\n f_eyeDirection = eyePosition - cameraCoordinate.xyz;\n f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\n\n // vec4 m_position = model * vec4(tubePosition, 1.0);\n vec4 t_position = view * tubePosition;\n gl_Position = projection * t_position;\n\n f_color = color;\n f_data = tubePosition.xyz;\n f_position = position.xyz;\n f_uv = uv;\n}\n"]),a=n(["#extension GL_OES_standard_derivatives : enable\n\nprecision highp float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution(float x, float roughness) {\n float NdotH = max(x, 0.0001);\n float cos2Alpha = NdotH * NdotH;\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n float roughness2 = roughness * roughness;\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n return exp(tan2Alpha / roughness2) / denom;\n}\n\nfloat cookTorranceSpecular(\n vec3 lightDirection,\n vec3 viewDirection,\n vec3 surfaceNormal,\n float roughness,\n float fresnel) {\n\n float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\n float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\n\n //Half angle vector\n vec3 H = normalize(lightDirection + viewDirection);\n\n //Geometric term\n float NdotH = max(dot(surfaceNormal, H), 0.0);\n float VdotH = max(dot(viewDirection, H), 0.000001);\n float LdotH = max(dot(lightDirection, H), 0.000001);\n float G1 = (2.0 * NdotH * VdotN) / VdotH;\n float G2 = (2.0 * NdotH * LdotN) / LdotH;\n float G = min(1.0, min(G1, G2));\n \n //Distribution term\n float D = beckmannDistribution(NdotH, roughness);\n\n //Fresnel term\n float F = pow(1.0 - VdotN, fresnel);\n\n //Multiply terms and done\n return G * F * D / max(3.14159265 * VdotN, 0.000001);\n}\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\nuniform sampler2D texture;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n vec3 N = normalize(f_normal);\n vec3 L = normalize(f_lightDirection);\n vec3 V = normalize(f_eyeDirection);\n\n if(gl_FrontFacing) {\n N = -N;\n }\n\n float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n vec4 surfaceColor = f_color * texture2D(texture, f_uv);\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\n\n gl_FragColor = litColor * opacity;\n}\n"]),o=n(["precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n // Return up-vector for only-z vector.\n // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the tube vertex and normal at the given index.\n//\n// The returned vertex is for a tube ring with its center at origin, radius of length(d), pointing in the direction of d.\n//\n// Each tube segment is made up of a ring of vertices.\n// These vertices are used to make up the triangles of the tube by connecting them together in the vertex array.\n// The indexes of tube segments run from 0 to 8.\n//\nvec3 getTubePosition(vec3 d, float index, out vec3 normal) {\n float segmentCount = 8.0;\n\n float angle = 2.0 * 3.14159 * (index / segmentCount);\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d);\n vec3 y = v * sin(angle) * length(d);\n vec3 v3 = x + y;\n\n normal = normalize(v3);\n\n return v3;\n}\n\nattribute vec4 vector;\nattribute vec4 position;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform float tubeScale;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n vec3 normal;\n vec3 XYZ = getTubePosition(mat3(model) * (tubeScale * vector.w * normalize(vector.xyz)), position.w, normal);\n vec4 tubePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n\n gl_Position = projection * view * tubePosition;\n f_id = id;\n f_position = position.xyz;\n}\n"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n\n gl_FragColor = vec4(pickId, f_id.xyz);\n}"]);r.meshShader={vertex:i,fragment:a,attributes:[{name:"position",type:"vec4"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"vector",type:"vec4"}]},r.pickShader={vertex:o,fragment:s,attributes:[{name:"position",type:"vec4"},{name:"id",type:"vec4"},{name:"vector",type:"vec4"}]}},{glslify:347}],347:[function(t,e,r){arguments[4][257][0].apply(r,arguments)},{dup:257}],348:[function(t,e,r){"use strict";var n=t("gl-vec3"),i=t("gl-vec4"),a=["xyz","xzy","yxz","yzx","zxy","zyx"],o=function(t,e,r,a){for(var o=0,s=0;s<t.length;s++)for(var l=t[s].velocities,c=0;c<l.length;c++)o=Math.max(o,n.length(l[c]));var u=t.map((function(t){return function(t,e,r,a){for(var o=t.points,s=t.velocities,l=t.divergences,c=[],u=[],f=[],h=[],p=[],d=[],g=0,m=0,v=i.create(),y=i.create(),x=0;x<o.length;x++){var b=o[x],_=s[x],w=l[x];0===e&&(w=.05*r),m=n.length(_)/a,v=i.create(),n.copy(v,_),v[3]=w;for(var T=0;T<8;T++)p[T]=[b[0],b[1],b[2],T];if(h.length>0)for(T=0;T<8;T++){var k=(T+1)%8;c.push(h[T],p[T],p[k],p[k],h[k],h[T]),f.push(y,v,v,v,y,y),d.push(g,m,m,m,g,g);var M=c.length;u.push([M-6,M-5,M-4],[M-3,M-2,M-1])}var A=h;h=p,p=A;var S=y;y=v,v=S;var E=g;g=m,m=E}return{positions:c,cells:u,vectors:f,vertexIntensity:d}}(t,r,a,o)})),f=[],h=[],p=[],d=[];for(s=0;s<u.length;s++){var g=u[s],m=f.length;f=f.concat(g.positions),p=p.concat(g.vectors),d=d.concat(g.vertexIntensity);for(c=0;c<g.cells.length;c++){var v=g.cells[c],y=[];h.push(y);for(var x=0;x<v.length;x++)y.push(v[x]+m)}}return{positions:f,cells:h,vectors:p,vertexIntensity:d,colormap:e}},s=function(t,e){var r,n=t.length;for(r=0;r<n;r++){var i=t[r];if(i===e)return r;if(i>e)return r-1}return r},l=function(t,e,r){return t<e?e:t>r?r:t},c=function(t){var e=1/0;t.sort((function(t,e){return t-e}));for(var r=t.length,n=1;n<r;n++){var i=Math.abs(t[n]-t[n-1]);i<e&&(e=i)}return e};e.exports=function(t,e){var r=t.startingPositions,i=t.maxLength||1e3,u=t.tubeSize||1,f=t.absoluteTubeSize,h=t.gridFill||"+x+y+z",p={};-1!==h.indexOf("-x")&&(p.reversedX=!0),-1!==h.indexOf("-y")&&(p.reversedY=!0),-1!==h.indexOf("-z")&&(p.reversedZ=!0),p.filled=a.indexOf(h.replace(/-/g,"").replace(/\+/g,""));var d=t.getVelocity||function(e){return function(t,e,r){var i=e.vectors,a=e.meshgrid,o=t[0],c=t[1],u=t[2],f=a[0].length,h=a[1].length,p=a[2].length,d=s(a[0],o),g=s(a[1],c),m=s(a[2],u),v=d+1,y=g+1,x=m+1;if(d=l(d,0,f-1),v=l(v,0,f-1),g=l(g,0,h-1),y=l(y,0,h-1),m=l(m,0,p-1),x=l(x,0,p-1),d<0||g<0||m<0||v>f-1||y>h-1||x>p-1)return n.create();var b,_,w,T,k,M,A=a[0][d],S=a[0][v],E=a[1][g],C=a[1][y],L=a[2][m],I=(o-A)/(S-A),P=(c-E)/(C-E),z=(u-L)/(a[2][x]-L);switch(isFinite(I)||(I=.5),isFinite(P)||(P=.5),isFinite(z)||(z=.5),r.reversedX&&(d=f-1-d,v=f-1-v),r.reversedY&&(g=h-1-g,y=h-1-y),r.reversedZ&&(m=p-1-m,x=p-1-x),r.filled){case 5:k=m,M=x,w=g*p,T=y*p,b=d*p*h,_=v*p*h;break;case 4:k=m,M=x,b=d*p,_=v*p,w=g*p*f,T=y*p*f;break;case 3:w=g,T=y,k=m*h,M=x*h,b=d*h*p,_=v*h*p;break;case 2:w=g,T=y,b=d*h,_=v*h,k=m*h*f,M=x*h*f;break;case 1:b=d,_=v,k=m*f,M=x*f,w=g*f*p,T=y*f*p;break;default:b=d,_=v,w=g*f,T=y*f,k=m*f*h,M=x*f*h}var O=i[b+w+k],D=i[b+w+M],R=i[b+T+k],F=i[b+T+M],B=i[_+w+k],N=i[_+w+M],j=i[_+T+k],U=i[_+T+M],V=n.create(),q=n.create(),H=n.create(),G=n.create();n.lerp(V,O,B,I),n.lerp(q,D,N,I),n.lerp(H,R,j,I),n.lerp(G,F,U,I);var Y=n.create(),W=n.create();n.lerp(Y,V,H,P),n.lerp(W,q,G,P);var X=n.create();return n.lerp(X,Y,W,z),X}(e,t,p)},g=t.getDivergence||function(t,e){var r=n.create(),i=1e-4;n.add(r,t,[i,0,0]);var a=d(r);n.subtract(a,a,e),n.scale(a,a,1/i),n.add(r,t,[0,i,0]);var o=d(r);n.subtract(o,o,e),n.scale(o,o,1/i),n.add(r,t,[0,0,i]);var s=d(r);return n.subtract(s,s,e),n.scale(s,s,1/i),n.add(r,a,o),n.add(r,r,s),r},m=[],v=e[0][0],y=e[0][1],x=e[0][2],b=e[1][0],_=e[1][1],w=e[1][2],T=function(t){var e=t[0],r=t[1],n=t[2];return!(e<v||e>b||r<y||r>_||n<x||n>w)},k=10*n.distance(e[0],e[1])/i,M=k*k,A=1,S=0,E=r.length;E>1&&(A=function(t){for(var e=[],r=[],n=[],i={},a={},o={},s=t.length,l=0;l<s;l++){var u=t[l],f=u[0],h=u[1],p=u[2];i[f]||(e.push(f),i[f]=!0),a[h]||(r.push(h),a[h]=!0),o[p]||(n.push(p),o[p]=!0)}var d=c(e),g=c(r),m=c(n),v=Math.min(d,g,m);return isFinite(v)?v:1}(r));for(var C=0;C<E;C++){var L=n.create();n.copy(L,r[C]);var I=[L],P=[],z=d(L),O=L;P.push(z);var D=[],R=g(L,z),F=n.length(R);isFinite(F)&&F>S&&(S=F),D.push(F),m.push({points:I,velocities:P,divergences:D});for(var B=0;B<100*i&&I.length<i&&T(L);){B++;var N=n.clone(z),j=n.squaredLength(N);if(0===j)break;if(j>M&&n.scale(N,N,k/Math.sqrt(j)),n.add(N,N,L),z=d(N),n.squaredDistance(O,N)-M>-1e-4*M){I.push(N),O=N,P.push(z);R=g(N,z),F=n.length(R);isFinite(F)&&F>S&&(S=F),D.push(F)}L=N}}var U=o(m,t.colormap,S,A);return f?U.tubeScale=f:(0===S&&(S=1),U.tubeScale=.5*u*A/S),U};var u=t("./lib/shaders"),f=t("gl-cone3d").createMesh;e.exports.createTubeMesh=function(t,e){return f(t,e,{shaders:u,traceType:"streamtube"})}},{"./lib/shaders":346,"gl-cone3d":260,"gl-vec3":377,"gl-vec4":413}],349:[function(t,e,r){var n=t("gl-shader"),i=t("glslify"),a=i(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec4 uv;\nattribute vec3 f;\nattribute vec3 normal;\n\nuniform vec3 objectOffset;\nuniform mat4 model, view, projection, inverseModel;\nuniform vec3 lightPosition, eyePosition;\nuniform sampler2D colormap;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec2 planeCoordinate;\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\nvarying vec4 vColor;\n\nvoid main() {\n vec3 localCoordinate = vec3(uv.zw, f.x);\n worldCoordinate = objectOffset + localCoordinate;\n vec4 worldPosition = model * vec4(worldCoordinate, 1.0);\n vec4 clipPosition = projection * view * worldPosition;\n gl_Position = clipPosition;\n kill = f.y;\n value = f.z;\n planeCoordinate = uv.xy;\n\n vColor = texture2D(colormap, vec2(value, value));\n\n //Lighting geometry parameters\n vec4 cameraCoordinate = view * worldPosition;\n cameraCoordinate.xyz /= cameraCoordinate.w;\n lightDirection = lightPosition - cameraCoordinate.xyz;\n eyeDirection = eyePosition - cameraCoordinate.xyz;\n surfaceNormal = normalize((vec4(normal,0) * inverseModel).xyz);\n}\n"]),o=i(["precision highp float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution(float x, float roughness) {\n float NdotH = max(x, 0.0001);\n float cos2Alpha = NdotH * NdotH;\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n float roughness2 = roughness * roughness;\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n return exp(tan2Alpha / roughness2) / denom;\n}\n\nfloat beckmannSpecular(\n vec3 lightDirection,\n vec3 viewDirection,\n vec3 surfaceNormal,\n float roughness) {\n return beckmannDistribution(dot(surfaceNormal, normalize(lightDirection + viewDirection)), roughness);\n}\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 lowerBound, upperBound;\nuniform float contourTint;\nuniform vec4 contourColor;\nuniform sampler2D colormap;\nuniform vec3 clipBounds[2];\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\nuniform float vertexColor;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\nvarying vec4 vColor;\n\nvoid main() {\n if (\n kill > 0.0 ||\n vColor.a == 0.0 ||\n outOfRange(clipBounds[0], clipBounds[1], worldCoordinate)\n ) discard;\n\n vec3 N = normalize(surfaceNormal);\n vec3 V = normalize(eyeDirection);\n vec3 L = normalize(lightDirection);\n\n if(gl_FrontFacing) {\n N = -N;\n }\n\n float specular = max(beckmannSpecular(L, V, N, roughness), 0.);\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n //decide how to interpolate color \u2014 in vertex or in fragment\n vec4 surfaceColor =\n step(vertexColor, .5) * texture2D(colormap, vec2(value, value)) +\n step(.5, vertexColor) * vColor;\n\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\n\n gl_FragColor = mix(litColor, contourColor, contourTint) * opacity;\n}\n"]),s=i(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec4 uv;\nattribute float f;\n\nuniform vec3 objectOffset;\nuniform mat3 permutation;\nuniform mat4 model, view, projection;\nuniform float height, zOffset;\nuniform sampler2D colormap;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec2 planeCoordinate;\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\nvarying vec4 vColor;\n\nvoid main() {\n vec3 dataCoordinate = permutation * vec3(uv.xy, height);\n worldCoordinate = objectOffset + dataCoordinate;\n vec4 worldPosition = model * vec4(worldCoordinate, 1.0);\n\n vec4 clipPosition = projection * view * worldPosition;\n clipPosition.z += zOffset;\n\n gl_Position = clipPosition;\n value = f + objectOffset.z;\n kill = -1.0;\n planeCoordinate = uv.zw;\n\n vColor = texture2D(colormap, vec2(value, value));\n\n //Don't do lighting for contours\n surfaceNormal = vec3(1,0,0);\n eyeDirection = vec3(0,1,0);\n lightDirection = vec3(0,0,1);\n}\n"]),l=i(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec2 shape;\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec2 planeCoordinate;\nvarying vec3 surfaceNormal;\n\nvec2 splitFloat(float v) {\n float vh = 255.0 * v;\n float upper = floor(vh);\n float lower = fract(vh);\n return vec2(upper / 255.0, floor(lower * 16.0) / 16.0);\n}\n\nvoid main() {\n if ((kill > 0.0) ||\n (outOfRange(clipBounds[0], clipBounds[1], worldCoordinate))) discard;\n\n vec2 ux = splitFloat(planeCoordinate.x / shape.x);\n vec2 uy = splitFloat(planeCoordinate.y / shape.y);\n gl_FragColor = vec4(pickId, ux.x, uy.x, ux.y + (uy.y/16.0));\n}\n"]);r.createShader=function(t){var e=n(t,a,o,null,[{name:"uv",type:"vec4"},{name:"f",type:"vec3"},{name:"normal",type:"vec3"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e.attributes.normal.location=2,e},r.createPickShader=function(t){var e=n(t,a,l,null,[{name:"uv",type:"vec4"},{name:"f",type:"vec3"},{name:"normal",type:"vec3"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e.attributes.normal.location=2,e},r.createContourShader=function(t){var e=n(t,s,o,null,[{name:"uv",type:"vec4"},{name:"f",type:"float"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e},r.createPickContourShader=function(t){var e=n(t,s,l,null,[{name:"uv",type:"vec4"},{name:"f",type:"float"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e}},{"gl-shader":335,glslify:350}],350:[function(t,e,r){arguments[4][257][0].apply(r,arguments)},{dup:257}],351:[function(t,e,r){"use strict";e.exports=function(t){var e=t.gl,r=y(e),n=b(e),s=x(e),l=_(e),c=i(e),u=a(e,[{buffer:c,size:4,stride:40,offset:0},{buffer:c,size:3,stride:40,offset:16},{buffer:c,size:3,stride:40,offset:28}]),f=i(e),h=a(e,[{buffer:f,size:4,stride:20,offset:0},{buffer:f,size:1,stride:20,offset:16}]),p=i(e),d=a(e,[{buffer:p,size:2,type:e.FLOAT}]),g=o(e,1,256,e.RGBA,e.UNSIGNED_BYTE);g.minFilter=e.LINEAR,g.magFilter=e.LINEAR;var m=new A(e,[0,0],[[0,0,0],[0,0,0]],r,n,c,u,g,s,l,f,h,p,d,[0,0,0]),v={levels:[[],[],[]]};for(var w in t)v[w]=t[w];return v.colormap=v.colormap||"jet",m.update(v),m};var n=t("bit-twiddle"),i=t("gl-buffer"),a=t("gl-vao"),o=t("gl-texture2d"),s=t("typedarray-pool"),l=t("colormap"),c=t("ndarray-ops"),u=t("ndarray-pack"),f=t("ndarray"),h=t("surface-nets"),p=t("gl-mat4/multiply"),d=t("gl-mat4/invert"),g=t("binary-search-bounds"),m=t("ndarray-gradient"),v=t("./lib/shaders"),y=v.createShader,x=v.createContourShader,b=v.createPickShader,_=v.createPickContourShader,w=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],T=[[0,0],[0,1],[1,0],[1,1],[1,0],[0,1]],k=[[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0]];function M(t,e,r,n,i){this.position=t,this.index=e,this.uv=r,this.level=n,this.dataCoordinate=i}!function(){for(var t=0;t<3;++t){var e=k[t],r=(t+2)%3;e[(t+1)%3+0]=1,e[r+3]=1,e[t+6]=1}}();function A(t,e,r,n,i,a,o,l,c,u,h,p,d,g,m){this.gl=t,this.shape=e,this.bounds=r,this.objectOffset=m,this.intensityBounds=[],this._shader=n,this._pickShader=i,this._coordinateBuffer=a,this._vao=o,this._colorMap=l,this._contourShader=c,this._contourPickShader=u,this._contourBuffer=h,this._contourVAO=p,this._contourOffsets=[[],[],[]],this._contourCounts=[[],[],[]],this._vertexCount=0,this._pickResult=new M([0,0,0],[0,0],[0,0],[0,0,0],[0,0,0]),this._dynamicBuffer=d,this._dynamicVAO=g,this._dynamicOffsets=[0,0,0],this._dynamicCounts=[0,0,0],this.contourWidth=[1,1,1],this.contourLevels=[[1],[1],[1]],this.contourTint=[0,0,0],this.contourColor=[[.5,.5,.5,1],[.5,.5,.5,1],[.5,.5,.5,1]],this.showContour=!0,this.showSurface=!0,this.enableHighlight=[!0,!0,!0],this.highlightColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.highlightTint=[1,1,1],this.highlightLevel=[-1,-1,-1],this.enableDynamic=[!0,!0,!0],this.dynamicLevel=[NaN,NaN,NaN],this.dynamicColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.dynamicTint=[1,1,1],this.dynamicWidth=[1,1,1],this.axesBounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.surfaceProject=[!1,!1,!1],this.contourProject=[[!1,!1,!1],[!1,!1,!1],[!1,!1,!1]],this.colorBounds=[!1,!1],this._field=[f(s.mallocFloat(1024),[0,0]),f(s.mallocFloat(1024),[0,0]),f(s.mallocFloat(1024),[0,0])],this.pickId=1,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.snapToData=!1,this.pixelRatio=1,this.opacity=1,this.lightPosition=[10,1e4,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.vertexColor=0,this.dirty=!0}var S=A.prototype;S.genColormap=function(t,e){var r=!1,n=u([l({colormap:t,nshades:256,format:"rgba"}).map((function(t,n){var i=e?function(t,e){if(!e)return 1;if(!e.length)return 1;for(var r=0;r<e.length;++r){if(e.length<2)return 1;if(e[r][0]===t)return e[r][1];if(e[r][0]>t&&r>0){var n=(e[r][0]-t)/(e[r][0]-e[r-1][0]);return e[r][1]*(1-n)+n*e[r-1][1]}}return 1}(n/255,e):t[3];return i<1&&(r=!0),[t[0],t[1],t[2],255*i]}))]);return c.divseq(n,255),this.hasAlphaScale=r,n},S.isTransparent=function(){return this.opacity<1||this.hasAlphaScale},S.isOpaque=function(){return!this.isTransparent()},S.pickSlots=1,S.setPickBase=function(t){this.pickId=t};var E=[0,0,0],C={showSurface:!1,showContour:!1,projections:[w.slice(),w.slice(),w.slice()],clipBounds:[[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]]]};function L(t,e){var r,n,i,a=e.axes&&e.axes.lastCubeProps.axis||E,o=e.showSurface,s=e.showContour;for(r=0;r<3;++r)for(o=o||e.surfaceProject[r],n=0;n<3;++n)s=s||e.contourProject[r][n];for(r=0;r<3;++r){var l=C.projections[r];for(n=0;n<16;++n)l[n]=0;for(n=0;n<4;++n)l[5*n]=1;l[5*r]=0,l[12+r]=e.axesBounds[+(a[r]>0)][r],p(l,t.model,l);var c=C.clipBounds[r];for(i=0;i<2;++i)for(n=0;n<3;++n)c[i][n]=t.clipBounds[i][n];c[0][r]=-1e8,c[1][r]=1e8}return C.showSurface=o,C.showContour=s,C}var I={model:w,view:w,projection:w,inverseModel:w.slice(),lowerBound:[0,0,0],upperBound:[0,0,0],colorMap:0,clipBounds:[[0,0,0],[0,0,0]],height:0,contourTint:0,contourColor:[0,0,0,1],permutation:[1,0,0,0,1,0,0,0,1],zOffset:-1e-4,objectOffset:[0,0,0],kambient:1,kdiffuse:1,kspecular:1,lightPosition:[1e3,1e3,1e3],eyePosition:[0,0,0],roughness:1,fresnel:1,opacity:1,vertexColor:0},P=w.slice(),z=[1,0,0,0,1,0,0,0,1];function O(t,e){t=t||{};var r=this.gl;r.disable(r.CULL_FACE),this._colorMap.bind(0);var n=I;n.model=t.model||w,n.view=t.view||w,n.projection=t.projection||w,n.lowerBound=[this.bounds[0][0],this.bounds[0][1],this.colorBounds[0]||this.bounds[0][2]],n.upperBound=[this.bounds[1][0],this.bounds[1][1],this.colorBounds[1]||this.bounds[1][2]],n.objectOffset=this.objectOffset,n.contourColor=this.contourColor[0],n.inverseModel=d(n.inverseModel,n.model);for(var i=0;i<2;++i)for(var a=n.clipBounds[i],o=0;o<3;++o)a[o]=Math.min(Math.max(this.clipBounds[i][o],-1e8),1e8);n.kambient=this.ambientLight,n.kdiffuse=this.diffuseLight,n.kspecular=this.specularLight,n.roughness=this.roughness,n.fresnel=this.fresnel,n.opacity=this.opacity,n.height=0,n.permutation=z,n.vertexColor=this.vertexColor;var s=P;for(p(s,n.view,n.model),p(s,n.projection,s),d(s,s),i=0;i<3;++i)n.eyePosition[i]=s[12+i]/s[15];var l=s[15];for(i=0;i<3;++i)l+=this.lightPosition[i]*s[4*i+3];for(i=0;i<3;++i){var c=s[12+i];for(o=0;o<3;++o)c+=s[4*o+i]*this.lightPosition[o];n.lightPosition[i]=c/l}var u=L(n,this);if(u.showSurface){for(this._shader.bind(),this._shader.uniforms=n,this._vao.bind(),this.showSurface&&this._vertexCount&&this._vao.draw(r.TRIANGLES,this._vertexCount),i=0;i<3;++i)this.surfaceProject[i]&&this.vertexCount&&(this._shader.uniforms.model=u.projections[i],this._shader.uniforms.clipBounds=u.clipBounds[i],this._vao.draw(r.TRIANGLES,this._vertexCount));this._vao.unbind()}if(u.showContour){var f=this._contourShader;n.kambient=1,n.kdiffuse=0,n.kspecular=0,n.opacity=1,f.bind(),f.uniforms=n;var h=this._contourVAO;for(h.bind(),i=0;i<3;++i)for(f.uniforms.permutation=k[i],r.lineWidth(this.contourWidth[i]*this.pixelRatio),o=0;o<this.contourLevels[i].length;++o)o===this.highlightLevel[i]?(f.uniforms.contourColor=this.highlightColor[i],f.uniforms.contourTint=this.highlightTint[i]):0!==o&&o-1!==this.highlightLevel[i]||(f.uniforms.contourColor=this.contourColor[i],f.uniforms.contourTint=this.contourTint[i]),this._contourCounts[i][o]&&(f.uniforms.height=this.contourLevels[i][o],h.draw(r.LINES,this._contourCounts[i][o],this._contourOffsets[i][o]));for(i=0;i<3;++i)for(f.uniforms.model=u.projections[i],f.uniforms.clipBounds=u.clipBounds[i],o=0;o<3;++o)if(this.contourProject[i][o]){f.uniforms.permutation=k[o],r.lineWidth(this.contourWidth[o]*this.pixelRatio);for(var g=0;g<this.contourLevels[o].length;++g)g===this.highlightLevel[o]?(f.uniforms.contourColor=this.highlightColor[o],f.uniforms.contourTint=this.highlightTint[o]):0!==g&&g-1!==this.highlightLevel[o]||(f.uniforms.contourColor=this.contourColor[o],f.uniforms.contourTint=this.contourTint[o]),this._contourCounts[o][g]&&(f.uniforms.height=this.contourLevels[o][g],h.draw(r.LINES,this._contourCounts[o][g],this._contourOffsets[o][g]))}for(h.unbind(),(h=this._dynamicVAO).bind(),i=0;i<3;++i)if(0!==this._dynamicCounts[i])for(f.uniforms.model=n.model,f.uniforms.clipBounds=n.clipBounds,f.uniforms.permutation=k[i],r.lineWidth(this.dynamicWidth[i]*this.pixelRatio),f.uniforms.contourColor=this.dynamicColor[i],f.uniforms.contourTint=this.dynamicTint[i],f.uniforms.height=this.dynamicLevel[i],h.draw(r.LINES,this._dynamicCounts[i],this._dynamicOffsets[i]),o=0;o<3;++o)this.contourProject[o][i]&&(f.uniforms.model=u.projections[o],f.uniforms.clipBounds=u.clipBounds[o],h.draw(r.LINES,this._dynamicCounts[i],this._dynamicOffsets[i]));h.unbind()}}S.draw=function(t){return O.call(this,t,!1)},S.drawTransparent=function(t){return O.call(this,t,!0)};var D={model:w,view:w,projection:w,inverseModel:w,clipBounds:[[0,0,0],[0,0,0]],height:0,shape:[0,0],pickId:0,lowerBound:[0,0,0],upperBound:[0,0,0],zOffset:0,objectOffset:[0,0,0],permutation:[1,0,0,0,1,0,0,0,1],lightPosition:[0,0,0],eyePosition:[0,0,0]};function R(t,e){return Array.isArray(t)?[e(t[0]),e(t[1]),e(t[2])]:[e(t),e(t),e(t)]}function F(t){return Array.isArray(t)?3===t.length?[t[0],t[1],t[2],1]:[t[0],t[1],t[2],t[3]]:[0,0,0,1]}function B(t){if(Array.isArray(t)){if(Array.isArray(t))return[F(t[0]),F(t[1]),F(t[2])];var e=F(t);return[e.slice(),e.slice(),e.slice()]}}S.drawPick=function(t){t=t||{};var e=this.gl;e.disable(e.CULL_FACE);var r=D;r.model=t.model||w,r.view=t.view||w,r.projection=t.projection||w,r.shape=this._field[2].shape,r.pickId=this.pickId/255,r.lowerBound=this.bounds[0],r.upperBound=this.bounds[1],r.objectOffset=this.objectOffset,r.permutation=z;for(var n=0;n<2;++n)for(var i=r.clipBounds[n],a=0;a<3;++a)i[a]=Math.min(Math.max(this.clipBounds[n][a],-1e8),1e8);var o=L(r,this);if(o.showSurface){for(this._pickShader.bind(),this._pickShader.uniforms=r,this._vao.bind(),this._vao.draw(e.TRIANGLES,this._vertexCount),n=0;n<3;++n)this.surfaceProject[n]&&(this._pickShader.uniforms.model=o.projections[n],this._pickShader.uniforms.clipBounds=o.clipBounds[n],this._vao.draw(e.TRIANGLES,this._vertexCount));this._vao.unbind()}if(o.showContour){var s=this._contourPickShader;s.bind(),s.uniforms=r;var l=this._contourVAO;for(l.bind(),a=0;a<3;++a)for(e.lineWidth(this.contourWidth[a]*this.pixelRatio),s.uniforms.permutation=k[a],n=0;n<this.contourLevels[a].length;++n)this._contourCounts[a][n]&&(s.uniforms.height=this.contourLevels[a][n],l.draw(e.LINES,this._contourCounts[a][n],this._contourOffsets[a][n]));for(n=0;n<3;++n)for(s.uniforms.model=o.projections[n],s.uniforms.clipBounds=o.clipBounds[n],a=0;a<3;++a)if(this.contourProject[n][a]){s.uniforms.permutation=k[a],e.lineWidth(this.contourWidth[a]*this.pixelRatio);for(var c=0;c<this.contourLevels[a].length;++c)this._contourCounts[a][c]&&(s.uniforms.height=this.contourLevels[a][c],l.draw(e.LINES,this._contourCounts[a][c],this._contourOffsets[a][c]))}l.unbind()}},S.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;var e=this._field[2].shape,r=this._pickResult,n=e[0]*(t.value[0]+(t.value[2]>>4)/16)/255,i=Math.floor(n),a=n-i,o=e[1]*(t.value[1]+(15&t.value[2])/16)/255,s=Math.floor(o),l=o-s;i+=1,s+=1;var c=r.position;c[0]=c[1]=c[2]=0;for(var u=0;u<2;++u)for(var f=u?a:1-a,h=0;h<2;++h)for(var p=i+u,d=s+h,m=f*(h?l:1-l),v=0;v<3;++v)c[v]+=this._field[v].get(p,d)*m;for(var y=this._pickResult.level,x=0;x<3;++x)if(y[x]=g.le(this.contourLevels[x],c[x]),y[x]<0)this.contourLevels[x].length>0&&(y[x]=0);else if(y[x]<this.contourLevels[x].length-1){var b=this.contourLevels[x][y[x]],_=this.contourLevels[x][y[x]+1];Math.abs(b-c[x])>Math.abs(_-c[x])&&(y[x]+=1)}for(r.index[0]=a<.5?i:i+1,r.index[1]=l<.5?s:s+1,r.uv[0]=n/e[0],r.uv[1]=o/e[1],v=0;v<3;++v)r.dataCoordinate[v]=this._field[v].get(r.index[0],r.index[1]);return r},S.padField=function(t,e){var r=e.shape.slice(),n=t.shape.slice();c.assign(t.lo(1,1).hi(r[0],r[1]),e),c.assign(t.lo(1).hi(r[0],1),e.hi(r[0],1)),c.assign(t.lo(1,n[1]-1).hi(r[0],1),e.lo(0,r[1]-1).hi(r[0],1)),c.assign(t.lo(0,1).hi(1,r[1]),e.hi(1)),c.assign(t.lo(n[0]-1,1).hi(1,r[1]),e.lo(r[0]-1)),t.set(0,0,e.get(0,0)),t.set(0,n[1]-1,e.get(0,r[1]-1)),t.set(n[0]-1,0,e.get(r[0]-1,0)),t.set(n[0]-1,n[1]-1,e.get(r[0]-1,r[1]-1))},S.update=function(t){t=t||{},this.objectOffset=t.objectOffset||this.objectOffset,this.dirty=!0,"contourWidth"in t&&(this.contourWidth=R(t.contourWidth,Number)),"showContour"in t&&(this.showContour=R(t.showContour,Boolean)),"showSurface"in t&&(this.showSurface=!!t.showSurface),"contourTint"in t&&(this.contourTint=R(t.contourTint,Boolean)),"contourColor"in t&&(this.contourColor=B(t.contourColor)),"contourProject"in t&&(this.contourProject=R(t.contourProject,(function(t){return R(t,Boolean)}))),"surfaceProject"in t&&(this.surfaceProject=t.surfaceProject),"dynamicColor"in t&&(this.dynamicColor=B(t.dynamicColor)),"dynamicTint"in t&&(this.dynamicTint=R(t.dynamicTint,Number)),"dynamicWidth"in t&&(this.dynamicWidth=R(t.dynamicWidth,Number)),"opacity"in t&&(this.opacity=t.opacity),"opacityscale"in t&&(this.opacityscale=t.opacityscale),"colorBounds"in t&&(this.colorBounds=t.colorBounds),"vertexColor"in t&&(this.vertexColor=t.vertexColor?1:0),"colormap"in t&&this._colorMap.setPixels(this.genColormap(t.colormap,this.opacityscale));var e=t.field||t.coords&&t.coords[2]||null,r=!1;if(e||(e=this._field[2].shape[0]||this._field[2].shape[2]?this._field[2].lo(1,1).hi(this._field[2].shape[0]-2,this._field[2].shape[1]-2):this._field[2].hi(0,0)),"field"in t||"coords"in t){var i=(e.shape[0]+2)*(e.shape[1]+2);i>this._field[2].data.length&&(s.freeFloat(this._field[2].data),this._field[2].data=s.mallocFloat(n.nextPow2(i))),this._field[2]=f(this._field[2].data,[e.shape[0]+2,e.shape[1]+2]),this.padField(this._field[2],e),this.shape=e.shape.slice();for(var a=this.shape,o=0;o<2;++o)this._field[2].size>this._field[o].data.length&&(s.freeFloat(this._field[o].data),this._field[o].data=s.mallocFloat(this._field[2].size)),this._field[o]=f(this._field[o].data,[a[0]+2,a[1]+2]);if(t.coords){var l=t.coords;if(!Array.isArray(l)||3!==l.length)throw new Error("gl-surface: invalid coordinates for x/y");for(o=0;o<2;++o){var c=l[o];for(v=0;v<2;++v)if(c.shape[v]!==a[v])throw new Error("gl-surface: coords have incorrect shape");this.padField(this._field[o],c)}}else if(t.ticks){var u=t.ticks;if(!Array.isArray(u)||2!==u.length)throw new Error("gl-surface: invalid ticks");for(o=0;o<2;++o){var p=u[o];if((Array.isArray(p)||p.length)&&(p=f(p)),p.shape[0]!==a[o])throw new Error("gl-surface: invalid tick length");var d=f(p.data,a);d.stride[o]=p.stride[0],d.stride[1^o]=0,this.padField(this._field[o],d)}}else{for(o=0;o<2;++o){var g=[0,0];g[o]=1,this._field[o]=f(this._field[o].data,[a[0]+2,a[1]+2],g,0)}this._field[0].set(0,0,0);for(var v=0;v<a[0];++v)this._field[0].set(v+1,0,v);for(this._field[0].set(a[0]+1,0,a[0]-1),this._field[1].set(0,0,0),v=0;v<a[1];++v)this._field[1].set(0,v+1,v);this._field[1].set(0,a[1]+1,a[1]-1)}var y=this._field,x=f(s.mallocFloat(3*y[2].size*2),[3,a[0]+2,a[1]+2,2]);for(o=0;o<3;++o)m(x.pick(o),y[o],"mirror");var b=f(s.mallocFloat(3*y[2].size),[a[0]+2,a[1]+2,3]);for(o=0;o<a[0]+2;++o)for(v=0;v<a[1]+2;++v){var _=x.get(0,o,v,0),w=x.get(0,o,v,1),k=x.get(1,o,v,0),M=x.get(1,o,v,1),A=x.get(2,o,v,0),S=x.get(2,o,v,1),E=k*S-M*A,C=A*w-S*_,L=_*M-w*k,I=Math.sqrt(E*E+C*C+L*L);I<1e-8?(I=Math.max(Math.abs(E),Math.abs(C),Math.abs(L)))<1e-8?(L=1,C=E=0,I=1):I=1/I:I=1/Math.sqrt(I),b.set(o,v,0,E*I),b.set(o,v,1,C*I),b.set(o,v,2,L*I)}s.free(x.data);var P=[1/0,1/0,1/0],z=[-1/0,-1/0,-1/0],O=1/0,D=-1/0,F=(a[0]-1)*(a[1]-1)*6,N=s.mallocFloat(n.nextPow2(10*F)),j=0,U=0;for(o=0;o<a[0]-1;++o)t:for(v=0;v<a[1]-1;++v){for(var V=0;V<2;++V)for(var q=0;q<2;++q)for(var H=0;H<3;++H){var G=this._field[H].get(1+o+V,1+v+q);if(isNaN(G)||!isFinite(G))continue t}for(H=0;H<6;++H){var Y=o+T[H][0],W=v+T[H][1],X=this._field[0].get(Y+1,W+1),Z=this._field[1].get(Y+1,W+1);G=this._field[2].get(Y+1,W+1),E=b.get(Y+1,W+1,0),C=b.get(Y+1,W+1,1),L=b.get(Y+1,W+1,2),t.intensity&&(J=t.intensity.get(Y,W));var J=t.intensity?t.intensity.get(Y,W):G+this.objectOffset[2];N[j++]=Y,N[j++]=W,N[j++]=X,N[j++]=Z,N[j++]=G,N[j++]=0,N[j++]=J,N[j++]=E,N[j++]=C,N[j++]=L,P[0]=Math.min(P[0],X+this.objectOffset[0]),P[1]=Math.min(P[1],Z+this.objectOffset[1]),P[2]=Math.min(P[2],G+this.objectOffset[2]),O=Math.min(O,J),z[0]=Math.max(z[0],X+this.objectOffset[0]),z[1]=Math.max(z[1],Z+this.objectOffset[1]),z[2]=Math.max(z[2],G+this.objectOffset[2]),D=Math.max(D,J),U+=1}}for(t.intensityBounds&&(O=+t.intensityBounds[0],D=+t.intensityBounds[1]),o=6;o<j;o+=10)N[o]=(N[o]-O)/(D-O);this._vertexCount=U,this._coordinateBuffer.update(N.subarray(0,j)),s.freeFloat(N),s.free(b.data),this.bounds=[P,z],this.intensity=t.intensity||this._field[2],this.intensityBounds[0]===O&&this.intensityBounds[1]===D||(r=!0),this.intensityBounds=[O,D]}if("levels"in t){var K=t.levels;for(K=Array.isArray(K[0])?K.slice():[[],[],K],o=0;o<3;++o)K[o]=K[o].slice(),K[o].sort((function(t,e){return t-e}));for(o=0;o<3;++o)for(v=0;v<K[o].length;++v)K[o][v]-=this.objectOffset[o];t:for(o=0;o<3;++o){if(K[o].length!==this.contourLevels[o].length){r=!0;break}for(v=0;v<K[o].length;++v)if(K[o][v]!==this.contourLevels[o][v]){r=!0;break t}}this.contourLevels=K}if(r){y=this._field,a=this.shape;for(var Q=[],$=0;$<3;++$){var tt=this.contourLevels[$],et=[],rt=[],nt=[0,0,0];for(o=0;o<tt.length;++o){var it=h(this._field[$],tt[o]);et.push(Q.length/5|0),U=0;t:for(v=0;v<it.cells.length;++v){var at=it.cells[v];for(H=0;H<2;++H){var ot=it.positions[at[H]],st=ot[0],lt=0|Math.floor(st),ct=st-lt,ut=ot[1],ft=0|Math.floor(ut),ht=ut-ft,pt=!1;e:for(var dt=0;dt<3;++dt){nt[dt]=0;var gt=($+dt+1)%3;for(V=0;V<2;++V){var mt=V?ct:1-ct;for(Y=0|Math.min(Math.max(lt+V,0),a[0]),q=0;q<2;++q){var vt=q?ht:1-ht;if(W=0|Math.min(Math.max(ft+q,0),a[1]),G=dt<2?this._field[gt].get(Y,W):(this.intensity.get(Y,W)-this.intensityBounds[0])/(this.intensityBounds[1]-this.intensityBounds[0]),!isFinite(G)||isNaN(G)){pt=!0;break e}var yt=mt*vt;nt[dt]+=yt*G}}}if(pt){if(H>0){for(var xt=0;xt<5;++xt)Q.pop();U-=1}continue t}Q.push(nt[0],nt[1],ot[0],ot[1],nt[2]),U+=1}}rt.push(U)}this._contourOffsets[$]=et,this._contourCounts[$]=rt}var bt=s.mallocFloat(Q.length);for(o=0;o<Q.length;++o)bt[o]=Q[o];this._contourBuffer.update(bt),s.freeFloat(bt)}},S.dispose=function(){this._shader.dispose(),this._vao.dispose(),this._coordinateBuffer.dispose(),this._colorMap.dispose(),this._contourBuffer.dispose(),this._contourVAO.dispose(),this._contourShader.dispose(),this._contourPickShader.dispose(),this._dynamicBuffer.dispose(),this._dynamicVAO.dispose();for(var t=0;t<3;++t)s.freeFloat(this._field[t].data)},S.highlight=function(t){var e,r;if(!t)return this._dynamicCounts=[0,0,0],this.dyanamicLevel=[NaN,NaN,NaN],void(this.highlightLevel=[-1,-1,-1]);for(e=0;e<3;++e)this.enableHighlight[e]?this.highlightLevel[e]=t.level[e]:this.highlightLevel[e]=-1;for(r=this.snapToData?t.dataCoordinate:t.position,e=0;e<3;++e)r[e]-=this.objectOffset[e];if(this.enableDynamic[0]&&r[0]!==this.dynamicLevel[0]||this.enableDynamic[1]&&r[1]!==this.dynamicLevel[1]||this.enableDynamic[2]&&r[2]!==this.dynamicLevel[2]){for(var n=0,i=this.shape,a=s.mallocFloat(12*i[0]*i[1]),o=0;o<3;++o)if(this.enableDynamic[o]){this.dynamicLevel[o]=r[o];var l=(o+1)%3,c=(o+2)%3,u=this._field[o],f=this._field[l],p=this._field[c],d=h(u,r[o]),g=d.cells,m=d.positions;for(this._dynamicOffsets[o]=n,e=0;e<g.length;++e)for(var v=g[e],y=0;y<2;++y){var x=m[v[y]],b=+x[0],_=0|b,w=0|Math.min(_+1,i[0]),T=b-_,k=1-T,M=+x[1],A=0|M,S=0|Math.min(A+1,i[1]),E=M-A,C=1-E,L=k*C,I=k*E,P=T*C,z=T*E,O=L*f.get(_,A)+I*f.get(_,S)+P*f.get(w,A)+z*f.get(w,S),D=L*p.get(_,A)+I*p.get(_,S)+P*p.get(w,A)+z*p.get(w,S);if(isNaN(O)||isNaN(D)){y&&(n-=1);break}a[2*n+0]=O,a[2*n+1]=D,n+=1}this._dynamicCounts[o]=n-this._dynamicOffsets[o]}else this.dynamicLevel[o]=NaN,this._dynamicCounts[o]=0;this._dynamicBuffer.update(a.subarray(0,2*n)),s.freeFloat(a)}}},{"./lib/shaders":349,"binary-search-bounds":96,"bit-twiddle":97,colormap:131,"gl-buffer":259,"gl-mat4/invert":293,"gl-mat4/multiply":295,"gl-texture2d":353,"gl-vao":358,ndarray:495,"ndarray-gradient":488,"ndarray-ops":490,"ndarray-pack":491,"surface-nets":570,"typedarray-pool":595}],352:[function(t,e,r){"use strict";var n=t("css-font"),i=t("pick-by-alias"),a=t("regl"),o=t("gl-util/context"),s=t("es6-weak-map"),l=t("color-normalize"),c=t("font-atlas"),u=t("typedarray-pool"),f=t("parse-rect"),h=t("is-plain-obj"),p=t("parse-unit"),d=t("to-px"),g=t("detect-kerning"),m=t("object-assign"),v=t("font-measure"),y=t("flatten-vertex-data"),x=t("bit-twiddle").nextPow2,b=new s,_=!1;if(document.body){var w=document.body.appendChild(document.createElement("div"));w.style.font="italic small-caps bold condensed 16px/2 cursive",getComputedStyle(w).fontStretch&&(_=!0),document.body.removeChild(w)}var T=function(t){!function(t){return"function"==typeof t&&t._gl&&t.prop&&t.texture&&t.buffer}(t)?this.gl=o(t):(t={regl:t},this.gl=t.regl._gl),this.shader=b.get(this.gl),this.shader?this.regl=this.shader.regl:this.regl=t.regl||a({gl:this.gl}),this.charBuffer=this.regl.buffer({type:"uint8",usage:"stream"}),this.sizeBuffer=this.regl.buffer({type:"float",usage:"stream"}),this.shader||(this.shader=this.createShader(),b.set(this.gl,this.shader)),this.batch=[],this.fontSize=[],this.font=[],this.fontAtlas=[],this.draw=this.shader.draw.bind(this),this.render=function(){this.regl._refresh(),this.draw(this.batch)},this.canvas=this.gl.canvas,this.update(h(t)?t:{})};T.prototype.createShader=function(){var t=this.regl,e=t({blend:{enable:!0,color:[0,0,0,1],func:{srcRGB:"src alpha",dstRGB:"one minus src alpha",srcAlpha:"one minus dst alpha",dstAlpha:"one"}},stencil:{enable:!1},depth:{enable:!1},count:t.prop("count"),offset:t.prop("offset"),attributes:{charOffset:{offset:4,stride:8,buffer:t.this("sizeBuffer")},width:{offset:0,stride:8,buffer:t.this("sizeBuffer")},char:t.this("charBuffer"),position:t.this("position")},uniforms:{atlasSize:function(t,e){return[e.atlas.width,e.atlas.height]},atlasDim:function(t,e){return[e.atlas.cols,e.atlas.rows]},atlas:function(t,e){return e.atlas.texture},charStep:function(t,e){return e.atlas.step},em:function(t,e){return e.atlas.em},color:t.prop("color"),opacity:t.prop("opacity"),viewport:t.this("viewportArray"),scale:t.this("scale"),align:t.prop("align"),baseline:t.prop("baseline"),translate:t.this("translate"),positionOffset:t.prop("positionOffset")},primitive:"points",viewport:t.this("viewport"),vert:"\n\t\t\tprecision highp float;\n\t\t\tattribute float width, charOffset, char;\n\t\t\tattribute vec2 position;\n\t\t\tuniform float fontSize, charStep, em, align, baseline;\n\t\t\tuniform vec4 viewport;\n\t\t\tuniform vec4 color;\n\t\t\tuniform vec2 atlasSize, atlasDim, scale, translate, positionOffset;\n\t\t\tvarying vec2 charCoord, charId;\n\t\t\tvarying float charWidth;\n\t\t\tvarying vec4 fontColor;\n\t\t\tvoid main () {\n\t\t\t\t"+(T.normalViewport?"":"vec2 positionOffset = vec2(positionOffset.x,- positionOffset.y);")+"\n\n\t\t\t\tvec2 offset = floor(em * (vec2(align + charOffset, baseline)\n\t\t\t\t\t+ positionOffset))\n\t\t\t\t\t/ (viewport.zw * scale.xy);\n\n\t\t\t\tvec2 position = (position + translate) * scale;\n\t\t\t\tposition += offset * scale;\n\n\t\t\t\t"+(T.normalViewport?"position.y = 1. - position.y;":"")+"\n\n\t\t\t\tcharCoord = position * viewport.zw + viewport.xy;\n\n\t\t\t\tgl_Position = vec4(position * 2. - 1., 0, 1);\n\n\t\t\t\tgl_PointSize = charStep;\n\n\t\t\t\tcharId.x = mod(char, atlasDim.x);\n\t\t\t\tcharId.y = floor(char / atlasDim.x);\n\n\t\t\t\tcharWidth = width * em;\n\n\t\t\t\tfontColor = color / 255.;\n\t\t\t}",frag:"\n\t\t\tprecision highp float;\n\t\t\tuniform sampler2D atlas;\n\t\t\tuniform float fontSize, charStep, opacity;\n\t\t\tuniform vec2 atlasSize;\n\t\t\tuniform vec4 viewport;\n\t\t\tvarying vec4 fontColor;\n\t\t\tvarying vec2 charCoord, charId;\n\t\t\tvarying float charWidth;\n\n\t\t\tfloat lightness(vec4 color) {\n\t\t\t\treturn color.r * 0.299 + color.g * 0.587 + color.b * 0.114;\n\t\t\t}\n\n\t\t\tvoid main () {\n\t\t\t\tvec2 uv = gl_FragCoord.xy - charCoord + charStep * .5;\n\t\t\t\tfloat halfCharStep = floor(charStep * .5 + .5);\n\n\t\t\t\t// invert y and shift by 1px (FF expecially needs that)\n\t\t\t\tuv.y = charStep - uv.y;\n\n\t\t\t\t// ignore points outside of character bounding box\n\t\t\t\tfloat halfCharWidth = ceil(charWidth * .5);\n\t\t\t\tif (floor(uv.x) > halfCharStep + halfCharWidth ||\n\t\t\t\t\tfloor(uv.x) < halfCharStep - halfCharWidth) return;\n\n\t\t\t\tuv += charId * charStep;\n\t\t\t\tuv = uv / atlasSize;\n\n\t\t\t\tvec4 color = fontColor;\n\t\t\t\tvec4 mask = texture2D(atlas, uv);\n\n\t\t\t\tfloat maskY = lightness(mask);\n\t\t\t\t// float colorY = lightness(color);\n\t\t\t\tcolor.a *= maskY;\n\t\t\t\tcolor.a *= opacity;\n\n\t\t\t\t// color.a += .1;\n\n\t\t\t\t// antialiasing, see yiq color space y-channel formula\n\t\t\t\t// color.rgb += (1. - color.rgb) * (1. - mask.rgb);\n\n\t\t\t\tgl_FragColor = color;\n\t\t\t}"});return{regl:t,draw:e,atlas:{}}},T.prototype.update=function(t){var e=this;if("string"==typeof t)t={text:t};else if(!t)return;null!=(t=i(t,{position:"position positions coord coords coordinates",font:"font fontFace fontface typeface cssFont css-font family fontFamily",fontSize:"fontSize fontsize size font-size",text:"text texts chars characters value values symbols",align:"align alignment textAlign textbaseline",baseline:"baseline textBaseline textbaseline",direction:"dir direction textDirection",color:"color colour fill fill-color fillColor textColor textcolor",kerning:"kerning kern",range:"range dataBox",viewport:"vp viewport viewBox viewbox viewPort",opacity:"opacity alpha transparency visible visibility opaque",offset:"offset positionOffset padding shift indent indentation"},!0)).opacity&&(Array.isArray(t.opacity)?this.opacity=t.opacity.map((function(t){return parseFloat(t)})):this.opacity=parseFloat(t.opacity)),null!=t.viewport&&(this.viewport=f(t.viewport),T.normalViewport&&(this.viewport.y=this.canvas.height-this.viewport.y-this.viewport.height),this.viewportArray=[this.viewport.x,this.viewport.y,this.viewport.width,this.viewport.height]),null==this.viewport&&(this.viewport={x:0,y:0,width:this.gl.drawingBufferWidth,height:this.gl.drawingBufferHeight},this.viewportArray=[this.viewport.x,this.viewport.y,this.viewport.width,this.viewport.height]),null!=t.kerning&&(this.kerning=t.kerning),null!=t.offset&&("number"==typeof t.offset&&(t.offset=[t.offset,0]),this.positionOffset=y(t.offset)),t.direction&&(this.direction=t.direction),t.range&&(this.range=t.range,this.scale=[1/(t.range[2]-t.range[0]),1/(t.range[3]-t.range[1])],this.translate=[-t.range[0],-t.range[1]]),t.scale&&(this.scale=t.scale),t.translate&&(this.translate=t.translate),this.scale||(this.scale=[1/this.viewport.width,1/this.viewport.height]),this.translate||(this.translate=[0,0]),this.font.length||t.font||(t.font=T.baseFontSize+"px sans-serif");var r,a=!1,o=!1;if(t.font&&(Array.isArray(t.font)?t.font:[t.font]).forEach((function(t,r){if("string"==typeof t)try{t=n.parse(t)}catch(e){t=n.parse(T.baseFontSize+"px "+t)}else t=n.parse(n.stringify(t));var i=n.stringify({size:T.baseFontSize,family:t.family,stretch:_?t.stretch:void 0,variant:t.variant,weight:t.weight,style:t.style}),s=p(t.size),l=Math.round(s[0]*d(s[1]));if(l!==e.fontSize[r]&&(o=!0,e.fontSize[r]=l),!(e.font[r]&&i==e.font[r].baseString||(a=!0,e.font[r]=T.fonts[i],e.font[r]))){var c=t.family.join(", "),u=[t.style];t.style!=t.variant&&u.push(t.variant),t.variant!=t.weight&&u.push(t.weight),_&&t.weight!=t.stretch&&u.push(t.stretch),e.font[r]={baseString:i,family:c,weight:t.weight,stretch:t.stretch,style:t.style,variant:t.variant,width:{},kerning:{},metrics:v(c,{origin:"top",fontSize:T.baseFontSize,fontStyle:u.join(" ")})},T.fonts[i]=e.font[r]}})),(a||o)&&this.font.forEach((function(r,i){var a=n.stringify({size:e.fontSize[i],family:r.family,stretch:_?r.stretch:void 0,variant:r.variant,weight:r.weight,style:r.style});if(e.fontAtlas[i]=e.shader.atlas[a],!e.fontAtlas[i]){var o=r.metrics;e.shader.atlas[a]=e.fontAtlas[i]={fontString:a,step:2*Math.ceil(e.fontSize[i]*o.bottom*.5),em:e.fontSize[i],cols:0,rows:0,height:0,width:0,chars:[],ids:{},texture:e.regl.texture()}}null==t.text&&(t.text=e.text)})),"string"==typeof t.text&&t.position&&t.position.length>2){for(var s=Array(.5*t.position.length),h=0;h<s.length;h++)s[h]=t.text;t.text=s}if(null!=t.text||a){if(this.textOffsets=[0],Array.isArray(t.text)){this.count=t.text[0].length,this.counts=[this.count];for(var b=1;b<t.text.length;b++)this.textOffsets[b]=this.textOffsets[b-1]+t.text[b-1].length,this.count+=t.text[b].length,this.counts.push(t.text[b].length);this.text=t.text.join("")}else this.text=t.text,this.count=this.text.length,this.counts=[this.count];r=[],this.font.forEach((function(t,n){T.atlasContext.font=t.baseString;for(var i=e.fontAtlas[n],a=0;a<e.text.length;a++){var o=e.text.charAt(a);if(null==i.ids[o]&&(i.ids[o]=i.chars.length,i.chars.push(o),r.push(o)),null==t.width[o]&&(t.width[o]=T.atlasContext.measureText(o).width/T.baseFontSize,e.kerning)){var s=[];for(var l in t.width)s.push(l+o,o+l);m(t.kerning,g(t.family,{pairs:s}))}}}))}if(t.position)if(t.position.length>2){for(var w=!t.position[0].length,k=u.mallocFloat(2*this.count),M=0,A=0;M<this.counts.length;M++){var S=this.counts[M];if(w)for(var E=0;E<S;E++)k[A++]=t.position[2*M],k[A++]=t.position[2*M+1];else for(var C=0;C<S;C++)k[A++]=t.position[M][0],k[A++]=t.position[M][1]}this.position.call?this.position({type:"float",data:k}):this.position=this.regl.buffer({type:"float",data:k}),u.freeFloat(k)}else this.position.destroy&&this.position.destroy(),this.position={constant:t.position};if(t.text||a){var L=u.mallocUint8(this.count),I=u.mallocFloat(2*this.count);this.textWidth=[];for(var P=0,z=0;P<this.counts.length;P++){for(var O=this.counts[P],D=this.font[P]||this.font[0],R=this.fontAtlas[P]||this.fontAtlas[0],F=0;F<O;F++){var B=this.text.charAt(z),N=this.text.charAt(z-1);if(L[z]=R.ids[B],I[2*z]=D.width[B],F){var j=I[2*z-2],U=I[2*z],V=I[2*z-1]+.5*j+.5*U;if(this.kerning){var q=D.kerning[N+B];q&&(V+=.001*q)}I[2*z+1]=V}else I[2*z+1]=.5*I[2*z];z++}this.textWidth.push(I.length?.5*I[2*z-2]+I[2*z-1]:0)}t.align||(t.align=this.align),this.charBuffer({data:L,type:"uint8",usage:"stream"}),this.sizeBuffer({data:I,type:"float",usage:"stream"}),u.freeUint8(L),u.freeFloat(I),r.length&&this.font.forEach((function(t,r){var n=e.fontAtlas[r],i=n.step,a=Math.floor(T.maxAtlasSize/i),o=Math.min(a,n.chars.length),s=Math.ceil(n.chars.length/o),l=x(o*i),u=x(s*i);n.width=l,n.height=u,n.rows=s,n.cols=o,n.em&&n.texture({data:c({canvas:T.atlasCanvas,font:n.fontString,chars:n.chars,shape:[l,u],step:[i,i]})})}))}if(t.align&&(this.align=t.align,this.alignOffset=this.textWidth.map((function(t,r){var n=Array.isArray(e.align)?e.align.length>1?e.align[r]:e.align[0]:e.align;if("number"==typeof n)return n;switch(n){case"right":case"end":return-t;case"center":case"centre":case"middle":return.5*-t}return 0}))),null==this.baseline&&null==t.baseline&&(t.baseline=0),null!=t.baseline&&(this.baseline=t.baseline,Array.isArray(this.baseline)||(this.baseline=[this.baseline]),this.baselineOffset=this.baseline.map((function(t,r){var n=(e.font[r]||e.font[0]).metrics,i=0;return i+=.5*n.bottom,i+="number"==typeof t?t-n.baseline:-n[t],T.normalViewport||(i*=-1),i}))),null!=t.color)if(t.color||(t.color="transparent"),"string"!=typeof t.color&&isNaN(t.color)){var H;if("number"==typeof t.color[0]&&t.color.length>this.counts.length){var G=t.color.length;H=u.mallocUint8(G);for(var Y=(t.color.subarray||t.color.slice).bind(t.color),W=0;W<G;W+=4)H.set(l(Y(W,W+4),"uint8"),W)}else{var X=t.color.length;H=u.mallocUint8(4*X);for(var Z=0;Z<X;Z++)H.set(l(t.color[Z]||0,"uint8"),4*Z)}this.color=H}else this.color=l(t.color,"uint8");if(t.position||t.text||t.color||t.baseline||t.align||t.font||t.offset||t.opacity)if(this.color.length>4||this.baselineOffset.length>1||this.align&&this.align.length>1||this.fontAtlas.length>1||this.positionOffset.length>2){var J=Math.max(.5*this.position.length||0,.25*this.color.length||0,this.baselineOffset.length||0,this.alignOffset.length||0,this.font.length||0,this.opacity.length||0,.5*this.positionOffset.length||0);this.batch=Array(J);for(var K=0;K<this.batch.length;K++)this.batch[K]={count:this.counts.length>1?this.counts[K]:this.counts[0],offset:this.textOffsets.length>1?this.textOffsets[K]:this.textOffsets[0],color:this.color?this.color.length<=4?this.color:this.color.subarray(4*K,4*K+4):[0,0,0,255],opacity:Array.isArray(this.opacity)?this.opacity[K]:this.opacity,baseline:null!=this.baselineOffset[K]?this.baselineOffset[K]:this.baselineOffset[0],align:this.align?null!=this.alignOffset[K]?this.alignOffset[K]:this.alignOffset[0]:0,atlas:this.fontAtlas[K]||this.fontAtlas[0],positionOffset:this.positionOffset.length>2?this.positionOffset.subarray(2*K,2*K+2):this.positionOffset}}else this.count?this.batch=[{count:this.count,offset:0,color:this.color||[0,0,0,255],opacity:Array.isArray(this.opacity)?this.opacity[0]:this.opacity,baseline:this.baselineOffset[0],align:this.alignOffset?this.alignOffset[0]:0,atlas:this.fontAtlas[0],positionOffset:this.positionOffset}]:this.batch=[]},T.prototype.destroy=function(){},T.prototype.kerning=!0,T.prototype.position={constant:new Float32Array(2)},T.prototype.translate=null,T.prototype.scale=null,T.prototype.font=null,T.prototype.text="",T.prototype.positionOffset=[0,0],T.prototype.opacity=1,T.prototype.color=new Uint8Array([0,0,0,255]),T.prototype.alignOffset=[0,0],T.normalViewport=!1,T.maxAtlasSize=1024,T.atlasCanvas=document.createElement("canvas"),T.atlasContext=T.atlasCanvas.getContext("2d",{alpha:!1}),T.baseFontSize=64,T.fonts={},e.exports=T},{"bit-twiddle":97,"color-normalize":125,"css-font":144,"detect-kerning":172,"es6-weak-map":233,"flatten-vertex-data":244,"font-atlas":245,"font-measure":246,"gl-util/context":354,"is-plain-obj":469,"object-assign":499,"parse-rect":504,"parse-unit":506,"pick-by-alias":511,regl:540,"to-px":578,"typedarray-pool":595}],353:[function(t,e,r){"use strict";var n=t("ndarray"),i=t("ndarray-ops"),a=t("typedarray-pool");e.exports=function(t){if(arguments.length<=1)throw new Error("gl-texture2d: Missing arguments for texture2d constructor");o||c(t);if("number"==typeof arguments[1])return v(t,arguments[1],arguments[2],arguments[3]||t.RGBA,arguments[4]||t.UNSIGNED_BYTE);if(Array.isArray(arguments[1]))return v(t,0|arguments[1][0],0|arguments[1][1],arguments[2]||t.RGBA,arguments[3]||t.UNSIGNED_BYTE);if("object"==typeof arguments[1]){var e=arguments[1],r=u(e)?e:e.raw;if(r)return y(t,r,0|e.width,0|e.height,arguments[2]||t.RGBA,arguments[3]||t.UNSIGNED_BYTE);if(e.shape&&e.data&&e.stride)return x(t,e)}throw new Error("gl-texture2d: Invalid arguments for texture2d constructor")};var o=null,s=null,l=null;function c(t){o=[t.LINEAR,t.NEAREST_MIPMAP_LINEAR,t.LINEAR_MIPMAP_NEAREST,t.LINEAR_MIPMAP_NEAREST],s=[t.NEAREST,t.LINEAR,t.NEAREST_MIPMAP_NEAREST,t.NEAREST_MIPMAP_LINEAR,t.LINEAR_MIPMAP_NEAREST,t.LINEAR_MIPMAP_LINEAR],l=[t.REPEAT,t.CLAMP_TO_EDGE,t.MIRRORED_REPEAT]}function u(t){return"undefined"!=typeof HTMLCanvasElement&&t instanceof HTMLCanvasElement||"undefined"!=typeof HTMLImageElement&&t instanceof HTMLImageElement||"undefined"!=typeof HTMLVideoElement&&t instanceof HTMLVideoElement||"undefined"!=typeof ImageData&&t instanceof ImageData}var f=function(t,e){i.muls(t,e,255)};function h(t,e,r){var n=t.gl,i=n.getParameter(n.MAX_TEXTURE_SIZE);if(e<0||e>i||r<0||r>i)throw new Error("gl-texture2d: Invalid texture size");return t._shape=[e,r],t.bind(),n.texImage2D(n.TEXTURE_2D,0,t.format,e,r,0,t.format,t.type,null),t._mipLevels=[0],t}function p(t,e,r,n,i,a){this.gl=t,this.handle=e,this.format=i,this.type=a,this._shape=[r,n],this._mipLevels=[0],this._magFilter=t.NEAREST,this._minFilter=t.NEAREST,this._wrapS=t.CLAMP_TO_EDGE,this._wrapT=t.CLAMP_TO_EDGE,this._anisoSamples=1;var o=this,s=[this._wrapS,this._wrapT];Object.defineProperties(s,[{get:function(){return o._wrapS},set:function(t){return o.wrapS=t}},{get:function(){return o._wrapT},set:function(t){return o.wrapT=t}}]),this._wrapVector=s;var l=[this._shape[0],this._shape[1]];Object.defineProperties(l,[{get:function(){return o._shape[0]},set:function(t){return o.width=t}},{get:function(){return o._shape[1]},set:function(t){return o.height=t}}]),this._shapeVector=l}var d=p.prototype;function g(t,e){return 3===t.length?1===e[2]&&e[1]===t[0]*t[2]&&e[0]===t[2]:1===e[0]&&e[1]===t[0]}function m(t){var e=t.createTexture();return t.bindTexture(t.TEXTURE_2D,e),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),e}function v(t,e,r,n,i){var a=t.getParameter(t.MAX_TEXTURE_SIZE);if(e<0||e>a||r<0||r>a)throw new Error("gl-texture2d: Invalid texture shape");if(i===t.FLOAT&&!t.getExtension("OES_texture_float"))throw new Error("gl-texture2d: Floating point textures not supported on this platform");var o=m(t);return t.texImage2D(t.TEXTURE_2D,0,n,e,r,0,n,i,null),new p(t,o,e,r,n,i)}function y(t,e,r,n,i,a){var o=m(t);return t.texImage2D(t.TEXTURE_2D,0,i,i,a,e),new p(t,o,r,n,i,a)}function x(t,e){var r=e.dtype,o=e.shape.slice(),s=t.getParameter(t.MAX_TEXTURE_SIZE);if(o[0]<0||o[0]>s||o[1]<0||o[1]>s)throw new Error("gl-texture2d: Invalid texture size");var l=g(o,e.stride.slice()),c=0;"float32"===r?c=t.FLOAT:"float64"===r?(c=t.FLOAT,l=!1,r="float32"):"uint8"===r?c=t.UNSIGNED_BYTE:(c=t.UNSIGNED_BYTE,l=!1,r="uint8");var u,h,d=0;if(2===o.length)d=t.LUMINANCE,o=[o[0],o[1],1],e=n(e.data,o,[e.stride[0],e.stride[1],1],e.offset);else{if(3!==o.length)throw new Error("gl-texture2d: Invalid shape for texture");if(1===o[2])d=t.ALPHA;else if(2===o[2])d=t.LUMINANCE_ALPHA;else if(3===o[2])d=t.RGB;else{if(4!==o[2])throw new Error("gl-texture2d: Invalid shape for pixel coords");d=t.RGBA}}c!==t.FLOAT||t.getExtension("OES_texture_float")||(c=t.UNSIGNED_BYTE,l=!1);var v=e.size;if(l)u=0===e.offset&&e.data.length===v?e.data:e.data.subarray(e.offset,e.offset+v);else{var y=[o[2],o[2]*o[0],1];h=a.malloc(v,r);var x=n(h,o,y,0);"float32"!==r&&"float64"!==r||c!==t.UNSIGNED_BYTE?i.assign(x,e):f(x,e),u=h.subarray(0,v)}var b=m(t);return t.texImage2D(t.TEXTURE_2D,0,d,o[0],o[1],0,d,c,u),l||a.free(h),new p(t,b,o[0],o[1],d,c)}Object.defineProperties(d,{minFilter:{get:function(){return this._minFilter},set:function(t){this.bind();var e=this.gl;if(this.type===e.FLOAT&&o.indexOf(t)>=0&&(e.getExtension("OES_texture_float_linear")||(t=e.NEAREST)),s.indexOf(t)<0)throw new Error("gl-texture2d: Unknown filter mode "+t);return e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,t),this._minFilter=t}},magFilter:{get:function(){return this._magFilter},set:function(t){this.bind();var e=this.gl;if(this.type===e.FLOAT&&o.indexOf(t)>=0&&(e.getExtension("OES_texture_float_linear")||(t=e.NEAREST)),s.indexOf(t)<0)throw new Error("gl-texture2d: Unknown filter mode "+t);return e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,t),this._magFilter=t}},mipSamples:{get:function(){return this._anisoSamples},set:function(t){var e=this._anisoSamples;if(this._anisoSamples=0|Math.max(t,1),e!==this._anisoSamples){var r=this.gl.getExtension("EXT_texture_filter_anisotropic");r&&this.gl.texParameterf(this.gl.TEXTURE_2D,r.TEXTURE_MAX_ANISOTROPY_EXT,this._anisoSamples)}return this._anisoSamples}},wrapS:{get:function(){return this._wrapS},set:function(t){if(this.bind(),l.indexOf(t)<0)throw new Error("gl-texture2d: Unknown wrap mode "+t);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_S,t),this._wrapS=t}},wrapT:{get:function(){return this._wrapT},set:function(t){if(this.bind(),l.indexOf(t)<0)throw new Error("gl-texture2d: Unknown wrap mode "+t);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_T,t),this._wrapT=t}},wrap:{get:function(){return this._wrapVector},set:function(t){if(Array.isArray(t)||(t=[t,t]),2!==t.length)throw new Error("gl-texture2d: Must specify wrap mode for rows and columns");for(var e=0;e<2;++e)if(l.indexOf(t[e])<0)throw new Error("gl-texture2d: Unknown wrap mode "+t);this._wrapS=t[0],this._wrapT=t[1];var r=this.gl;return this.bind(),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,this._wrapS),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,this._wrapT),t}},shape:{get:function(){return this._shapeVector},set:function(t){if(Array.isArray(t)){if(2!==t.length)throw new Error("gl-texture2d: Invalid texture shape")}else t=[0|t,0|t];return h(this,0|t[0],0|t[1]),[0|t[0],0|t[1]]}},width:{get:function(){return this._shape[0]},set:function(t){return h(this,t|=0,this._shape[1]),t}},height:{get:function(){return this._shape[1]},set:function(t){return t|=0,h(this,this._shape[0],t),t}}}),d.bind=function(t){var e=this.gl;return void 0!==t&&e.activeTexture(e.TEXTURE0+(0|t)),e.bindTexture(e.TEXTURE_2D,this.handle),void 0!==t?0|t:e.getParameter(e.ACTIVE_TEXTURE)-e.TEXTURE0},d.dispose=function(){this.gl.deleteTexture(this.handle)},d.generateMipmap=function(){this.bind(),this.gl.generateMipmap(this.gl.TEXTURE_2D);for(var t=Math.min(this._shape[0],this._shape[1]),e=0;t>0;++e,t>>>=1)this._mipLevels.indexOf(e)<0&&this._mipLevels.push(e)},d.setPixels=function(t,e,r,o){var s=this.gl;this.bind(),Array.isArray(e)?(o=r,r=0|e[1],e=0|e[0]):(e=e||0,r=r||0),o=o||0;var l=u(t)?t:t.raw;if(l){this._mipLevels.indexOf(o)<0?(s.texImage2D(s.TEXTURE_2D,0,this.format,this.format,this.type,l),this._mipLevels.push(o)):s.texSubImage2D(s.TEXTURE_2D,o,e,r,this.format,this.type,l)}else{if(!(t.shape&&t.stride&&t.data))throw new Error("gl-texture2d: Unsupported data type");if(t.shape.length<2||e+t.shape[1]>this._shape[1]>>>o||r+t.shape[0]>this._shape[0]>>>o||e<0||r<0)throw new Error("gl-texture2d: Texture dimensions are out of bounds");!function(t,e,r,o,s,l,c,u){var h=u.dtype,p=u.shape.slice();if(p.length<2||p.length>3)throw new Error("gl-texture2d: Invalid ndarray, must be 2d or 3d");var d=0,m=0,v=g(p,u.stride.slice());"float32"===h?d=t.FLOAT:"float64"===h?(d=t.FLOAT,v=!1,h="float32"):"uint8"===h?d=t.UNSIGNED_BYTE:(d=t.UNSIGNED_BYTE,v=!1,h="uint8");if(2===p.length)m=t.LUMINANCE,p=[p[0],p[1],1],u=n(u.data,p,[u.stride[0],u.stride[1],1],u.offset);else{if(3!==p.length)throw new Error("gl-texture2d: Invalid shape for texture");if(1===p[2])m=t.ALPHA;else if(2===p[2])m=t.LUMINANCE_ALPHA;else if(3===p[2])m=t.RGB;else{if(4!==p[2])throw new Error("gl-texture2d: Invalid shape for pixel coords");m=t.RGBA}p[2]}m!==t.LUMINANCE&&m!==t.ALPHA||s!==t.LUMINANCE&&s!==t.ALPHA||(m=s);if(m!==s)throw new Error("gl-texture2d: Incompatible texture format for setPixels");var y=u.size,x=c.indexOf(o)<0;x&&c.push(o);if(d===l&&v)0===u.offset&&u.data.length===y?x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,u.data):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,u.data):x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,u.data.subarray(u.offset,u.offset+y)):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,u.data.subarray(u.offset,u.offset+y));else{var b;b=l===t.FLOAT?a.mallocFloat32(y):a.mallocUint8(y);var _=n(b,p,[p[2],p[2]*p[0],1]);d===t.FLOAT&&l===t.UNSIGNED_BYTE?f(_,u):i.assign(_,u),x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,b.subarray(0,y)):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,b.subarray(0,y)),l===t.FLOAT?a.freeFloat32(b):a.freeUint8(b)}}(s,e,r,o,this.format,this.type,this._mipLevels,t)}}},{ndarray:495,"ndarray-ops":490,"typedarray-pool":595}],354:[function(t,e,r){(function(r){(function(){"use strict";var n=t("pick-by-alias");function i(t){if(t.container)if(t.container==document.body)document.body.style.width||(t.canvas.width=t.width||t.pixelRatio*r.innerWidth),document.body.style.height||(t.canvas.height=t.height||t.pixelRatio*r.innerHeight);else{var e=t.container.getBoundingClientRect();t.canvas.width=t.width||e.right-e.left,t.canvas.height=t.height||e.bottom-e.top}}function a(t){return"function"==typeof t.getContext&&"width"in t&&"height"in t}function o(){var t=document.createElement("canvas");return t.style.position="absolute",t.style.top=0,t.style.left=0,t}e.exports=function(t){var e;if(t?"string"==typeof t&&(t={container:t}):t={},a(t)?t={container:t}:t="string"==typeof(e=t).nodeName&&"function"==typeof e.appendChild&&"function"==typeof e.getBoundingClientRect?{container:t}:function(t){return"function"==typeof t.drawArrays||"function"==typeof t.drawElements}(t)?{gl:t}:n(t,{container:"container target element el canvas holder parent parentNode wrapper use ref root node",gl:"gl context webgl glContext",attrs:"attributes attrs contextAttributes",pixelRatio:"pixelRatio pxRatio px ratio pxratio pixelratio",width:"w width",height:"h height"},!0),t.pixelRatio||(t.pixelRatio=r.pixelRatio||1),t.gl)return t.gl;if(t.canvas&&(t.container=t.canvas.parentNode),t.container){if("string"==typeof t.container){var s=document.querySelector(t.container);if(!s)throw Error("Element "+t.container+" is not found");t.container=s}a(t.container)?(t.canvas=t.container,t.container=t.canvas.parentNode):t.canvas||(t.canvas=o(),t.container.appendChild(t.canvas),i(t))}else if(!t.canvas){if("undefined"==typeof document)throw Error("Not DOM environment. Use headless-gl.");t.container=document.body||document.documentElement,t.canvas=o(),t.container.appendChild(t.canvas),i(t)}if(!t.gl)try{t.gl=t.canvas.getContext("webgl",t.attrs)}catch(e){try{t.gl=t.canvas.getContext("experimental-webgl",t.attrs)}catch(e){t.gl=t.canvas.getContext("webgl-experimental",t.attrs)}}return t.gl}}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"pick-by-alias":511}],355:[function(t,e,r){"use strict";e.exports=function(t,e,r){e?e.bind():t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,null);var n=0|t.getParameter(t.MAX_VERTEX_ATTRIBS);if(r){if(r.length>n)throw new Error("gl-vao: Too many vertex attributes");for(var i=0;i<r.length;++i){var a=r[i];if(a.buffer){var o=a.buffer,s=a.size||4,l=a.type||t.FLOAT,c=!!a.normalized,u=a.stride||0,f=a.offset||0;o.bind(),t.enableVertexAttribArray(i),t.vertexAttribPointer(i,s,l,c,u,f)}else{if("number"==typeof a)t.vertexAttrib1f(i,a);else if(1===a.length)t.vertexAttrib1f(i,a[0]);else if(2===a.length)t.vertexAttrib2f(i,a[0],a[1]);else if(3===a.length)t.vertexAttrib3f(i,a[0],a[1],a[2]);else{if(4!==a.length)throw new Error("gl-vao: Invalid vertex attribute");t.vertexAttrib4f(i,a[0],a[1],a[2],a[3])}t.disableVertexAttribArray(i)}}for(;i<n;++i)t.disableVertexAttribArray(i)}else{t.bindBuffer(t.ARRAY_BUFFER,null);for(i=0;i<n;++i)t.disableVertexAttribArray(i)}}},{}],356:[function(t,e,r){"use strict";var n=t("./do-bind.js");function i(t){this.gl=t,this._elements=null,this._attributes=null,this._elementsType=t.UNSIGNED_SHORT}i.prototype.bind=function(){n(this.gl,this._elements,this._attributes)},i.prototype.update=function(t,e,r){this._elements=e,this._attributes=t,this._elementsType=r||this.gl.UNSIGNED_SHORT},i.prototype.dispose=function(){},i.prototype.unbind=function(){},i.prototype.draw=function(t,e,r){r=r||0;var n=this.gl;this._elements?n.drawElements(t,e,this._elementsType,r):n.drawArrays(t,r,e)},e.exports=function(t){return new i(t)}},{"./do-bind.js":355}],357:[function(t,e,r){"use strict";var n=t("./do-bind.js");function i(t,e,r,n,i,a){this.location=t,this.dimension=e,this.a=r,this.b=n,this.c=i,this.d=a}function a(t,e,r){this.gl=t,this._ext=e,this.handle=r,this._attribs=[],this._useElements=!1,this._elementsType=t.UNSIGNED_SHORT}i.prototype.bind=function(t){switch(this.dimension){case 1:t.vertexAttrib1f(this.location,this.a);break;case 2:t.vertexAttrib2f(this.location,this.a,this.b);break;case 3:t.vertexAttrib3f(this.location,this.a,this.b,this.c);break;case 4:t.vertexAttrib4f(this.location,this.a,this.b,this.c,this.d)}},a.prototype.bind=function(){this._ext.bindVertexArrayOES(this.handle);for(var t=0;t<this._attribs.length;++t)this._attribs[t].bind(this.gl)},a.prototype.unbind=function(){this._ext.bindVertexArrayOES(null)},a.prototype.dispose=function(){this._ext.deleteVertexArrayOES(this.handle)},a.prototype.update=function(t,e,r){if(this.bind(),n(this.gl,e,t),this.unbind(),this._attribs.length=0,t)for(var a=0;a<t.length;++a){var o=t[a];"number"==typeof o?this._attribs.push(new i(a,1,o)):Array.isArray(o)&&this._attribs.push(new i(a,o.length,o[0],o[1],o[2],o[3]))}this._useElements=!!e,this._elementsType=r||this.gl.UNSIGNED_SHORT},a.prototype.draw=function(t,e,r){r=r||0;var n=this.gl;this._useElements?n.drawElements(t,e,this._elementsType,r):n.drawArrays(t,r,e)},e.exports=function(t,e){return new a(t,e,e.createVertexArrayOES())}},{"./do-bind.js":355}],358:[function(t,e,r){"use strict";var n=t("./lib/vao-native.js"),i=t("./lib/vao-emulated.js");function a(t){this.bindVertexArrayOES=t.bindVertexArray.bind(t),this.createVertexArrayOES=t.createVertexArray.bind(t),this.deleteVertexArrayOES=t.deleteVertexArray.bind(t)}e.exports=function(t,e,r,o){var s,l=t.createVertexArray?new a(t):t.getExtension("OES_vertex_array_object");return(s=l?n(t,l):i(t)).update(e,r,o),s}},{"./lib/vao-emulated.js":356,"./lib/vao-native.js":357}],359:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t}},{}],360:[function(t,e,r){e.exports=function(t,e){var r=n(t[0],t[1],t[2]),o=n(e[0],e[1],e[2]);i(r,r),i(o,o);var s=a(r,o);return s>1?0:Math.acos(s)};var n=t("./fromValues"),i=t("./normalize"),a=t("./dot")},{"./dot":370,"./fromValues":376,"./normalize":387}],361:[function(t,e,r){e.exports=function(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t[2]=Math.ceil(e[2]),t}},{}],362:[function(t,e,r){e.exports=function(t){var e=new Float32Array(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}},{}],363:[function(t,e,r){e.exports=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}},{}],364:[function(t,e,r){e.exports=function(){var t=new Float32Array(3);return t[0]=0,t[1]=0,t[2]=0,t}},{}],365:[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}},{}],366:[function(t,e,r){e.exports=t("./distance")},{"./distance":367}],367:[function(t,e,r){e.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2];return Math.sqrt(r*r+n*n+i*i)}},{}],368:[function(t,e,r){e.exports=t("./divide")},{"./divide":369}],369:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t[2]=e[2]/r[2],t}},{}],370:[function(t,e,r){e.exports=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}},{}],371:[function(t,e,r){e.exports=1e-6},{}],372:[function(t,e,r){e.exports=function(t,e){var r=t[0],i=t[1],a=t[2],o=e[0],s=e[1],l=e[2];return Math.abs(r-o)<=n*Math.max(1,Math.abs(r),Math.abs(o))&&Math.abs(i-s)<=n*Math.max(1,Math.abs(i),Math.abs(s))&&Math.abs(a-l)<=n*Math.max(1,Math.abs(a),Math.abs(l))};var n=t("./epsilon")},{"./epsilon":371}],373:[function(t,e,r){e.exports=function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]}},{}],374:[function(t,e,r){e.exports=function(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t[2]=Math.floor(e[2]),t}},{}],375:[function(t,e,r){e.exports=function(t,e,r,i,a,o){var s,l;e||(e=3);r||(r=0);l=i?Math.min(i*e+r,t.length):t.length;for(s=r;s<l;s+=e)n[0]=t[s],n[1]=t[s+1],n[2]=t[s+2],a(n,n,o),t[s]=n[0],t[s+1]=n[1],t[s+2]=n[2];return t};var n=t("./create")()},{"./create":364}],376:[function(t,e,r){e.exports=function(t,e,r){var n=new Float32Array(3);return n[0]=t,n[1]=e,n[2]=r,n}},{}],377:[function(t,e,r){e.exports={EPSILON:t("./epsilon"),create:t("./create"),clone:t("./clone"),angle:t("./angle"),fromValues:t("./fromValues"),copy:t("./copy"),set:t("./set"),equals:t("./equals"),exactEquals:t("./exactEquals"),add:t("./add"),subtract:t("./subtract"),sub:t("./sub"),multiply:t("./multiply"),mul:t("./mul"),divide:t("./divide"),div:t("./div"),min:t("./min"),max:t("./max"),floor:t("./floor"),ceil:t("./ceil"),round:t("./round"),scale:t("./scale"),scaleAndAdd:t("./scaleAndAdd"),distance:t("./distance"),dist:t("./dist"),squaredDistance:t("./squaredDistance"),sqrDist:t("./sqrDist"),length:t("./length"),len:t("./len"),squaredLength:t("./squaredLength"),sqrLen:t("./sqrLen"),negate:t("./negate"),inverse:t("./inverse"),normalize:t("./normalize"),dot:t("./dot"),cross:t("./cross"),lerp:t("./lerp"),random:t("./random"),transformMat4:t("./transformMat4"),transformMat3:t("./transformMat3"),transformQuat:t("./transformQuat"),rotateX:t("./rotateX"),rotateY:t("./rotateY"),rotateZ:t("./rotateZ"),forEach:t("./forEach")}},{"./add":359,"./angle":360,"./ceil":361,"./clone":362,"./copy":363,"./create":364,"./cross":365,"./dist":366,"./distance":367,"./div":368,"./divide":369,"./dot":370,"./epsilon":371,"./equals":372,"./exactEquals":373,"./floor":374,"./forEach":375,"./fromValues":376,"./inverse":378,"./len":379,"./length":380,"./lerp":381,"./max":382,"./min":383,"./mul":384,"./multiply":385,"./negate":386,"./normalize":387,"./random":388,"./rotateX":389,"./rotateY":390,"./rotateZ":391,"./round":392,"./scale":393,"./scaleAndAdd":394,"./set":395,"./sqrDist":396,"./sqrLen":397,"./squaredDistance":398,"./squaredLength":399,"./sub":400,"./subtract":401,"./transformMat3":402,"./transformMat4":403,"./transformQuat":404}],378:[function(t,e,r){e.exports=function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t}},{}],379:[function(t,e,r){e.exports=t("./length")},{"./length":380}],380:[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)}},{}],381:[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}},{}],382:[function(t,e,r){e.exports=function(t,e,r){return t[0]=Math.max(e[0],r[0]),t[1]=Math.max(e[1],r[1]),t[2]=Math.max(e[2],r[2]),t}},{}],383:[function(t,e,r){e.exports=function(t,e,r){return t[0]=Math.min(e[0],r[0]),t[1]=Math.min(e[1],r[1]),t[2]=Math.min(e[2],r[2]),t}},{}],384:[function(t,e,r){e.exports=t("./multiply")},{"./multiply":385}],385:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t[2]=e[2]*r[2],t}},{}],386:[function(t,e,r){e.exports=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t}},{}],387:[function(t,e,r){e.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=r*r+n*n+i*i;a>0&&(a=1/Math.sqrt(a),t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a);return t}},{}],388:[function(t,e,r){e.exports=function(t,e){e=e||1;var r=2*Math.random()*Math.PI,n=2*Math.random()-1,i=Math.sqrt(1-n*n)*e;return t[0]=Math.cos(r)*i,t[1]=Math.sin(r)*i,t[2]=n*e,t}},{}],389:[function(t,e,r){e.exports=function(t,e,r,n){var i=r[1],a=r[2],o=e[1]-i,s=e[2]-a,l=Math.sin(n),c=Math.cos(n);return t[0]=e[0],t[1]=i+o*c-s*l,t[2]=a+o*l+s*c,t}},{}],390:[function(t,e,r){e.exports=function(t,e,r,n){var i=r[0],a=r[2],o=e[0]-i,s=e[2]-a,l=Math.sin(n),c=Math.cos(n);return t[0]=i+s*l+o*c,t[1]=e[1],t[2]=a+s*c-o*l,t}},{}],391:[function(t,e,r){e.exports=function(t,e,r,n){var i=r[0],a=r[1],o=e[0]-i,s=e[1]-a,l=Math.sin(n),c=Math.cos(n);return t[0]=i+o*c-s*l,t[1]=a+o*l+s*c,t[2]=e[2],t}},{}],392:[function(t,e,r){e.exports=function(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t[2]=Math.round(e[2]),t}},{}],393:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t}},{}],394:[function(t,e,r){e.exports=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t}},{}],395:[function(t,e,r){e.exports=function(t,e,r,n){return t[0]=e,t[1]=r,t[2]=n,t}},{}],396:[function(t,e,r){e.exports=t("./squaredDistance")},{"./squaredDistance":398}],397:[function(t,e,r){e.exports=t("./squaredLength")},{"./squaredLength":399}],398:[function(t,e,r){e.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2];return r*r+n*n+i*i}},{}],399:[function(t,e,r){e.exports=function(t){var e=t[0],r=t[1],n=t[2];return e*e+r*r+n*n}},{}],400:[function(t,e,r){e.exports=t("./subtract")},{"./subtract":401}],401:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t}},{}],402:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2];return t[0]=n*r[0]+i*r[3]+a*r[6],t[1]=n*r[1]+i*r[4]+a*r[7],t[2]=n*r[2]+i*r[5]+a*r[8],t}},{}],403:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[3]*n+r[7]*i+r[11]*a+r[15];return o=o||1,t[0]=(r[0]*n+r[4]*i+r[8]*a+r[12])/o,t[1]=(r[1]*n+r[5]*i+r[9]*a+r[13])/o,t[2]=(r[2]*n+r[6]*i+r[10]*a+r[14])/o,t}},{}],404:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2],c=r[3],u=c*n+s*a-l*i,f=c*i+l*n-o*a,h=c*a+o*i-s*n,p=-o*n-s*i-l*a;return t[0]=u*c+p*-o+f*-l-h*-s,t[1]=f*c+p*-s+h*-o-u*-l,t[2]=h*c+p*-l+u*-s-f*-o,t}},{}],405:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t[3]=e[3]+r[3],t}},{}],406:[function(t,e,r){e.exports=function(t){var e=new Float32Array(4);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e}},{}],407:[function(t,e,r){e.exports=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t}},{}],408:[function(t,e,r){e.exports=function(){var t=new Float32Array(4);return t[0]=0,t[1]=0,t[2]=0,t[3]=0,t}},{}],409:[function(t,e,r){e.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2],a=e[3]-t[3];return Math.sqrt(r*r+n*n+i*i+a*a)}},{}],410:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t[2]=e[2]/r[2],t[3]=e[3]/r[3],t}},{}],411:[function(t,e,r){e.exports=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]}},{}],412:[function(t,e,r){e.exports=function(t,e,r,n){var i=new Float32Array(4);return i[0]=t,i[1]=e,i[2]=r,i[3]=n,i}},{}],413:[function(t,e,r){e.exports={create:t("./create"),clone:t("./clone"),fromValues:t("./fromValues"),copy:t("./copy"),set:t("./set"),add:t("./add"),subtract:t("./subtract"),multiply:t("./multiply"),divide:t("./divide"),min:t("./min"),max:t("./max"),scale:t("./scale"),scaleAndAdd:t("./scaleAndAdd"),distance:t("./distance"),squaredDistance:t("./squaredDistance"),length:t("./length"),squaredLength:t("./squaredLength"),negate:t("./negate"),inverse:t("./inverse"),normalize:t("./normalize"),dot:t("./dot"),lerp:t("./lerp"),random:t("./random"),transformMat4:t("./transformMat4"),transformQuat:t("./transformQuat")}},{"./add":405,"./clone":406,"./copy":407,"./create":408,"./distance":409,"./divide":410,"./dot":411,"./fromValues":412,"./inverse":414,"./length":415,"./lerp":416,"./max":417,"./min":418,"./multiply":419,"./negate":420,"./normalize":421,"./random":422,"./scale":423,"./scaleAndAdd":424,"./set":425,"./squaredDistance":426,"./squaredLength":427,"./subtract":428,"./transformMat4":429,"./transformQuat":430}],414:[function(t,e,r){e.exports=function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t[3]=1/e[3],t}},{}],415:[function(t,e,r){e.exports=function(t){var e=t[0],r=t[1],n=t[2],i=t[3];return Math.sqrt(e*e+r*r+n*n+i*i)}},{}],416:[function(t,e,r){e.exports=function(t,e,r,n){var i=e[0],a=e[1],o=e[2],s=e[3];return t[0]=i+n*(r[0]-i),t[1]=a+n*(r[1]-a),t[2]=o+n*(r[2]-o),t[3]=s+n*(r[3]-s),t}},{}],417:[function(t,e,r){e.exports=function(t,e,r){return t[0]=Math.max(e[0],r[0]),t[1]=Math.max(e[1],r[1]),t[2]=Math.max(e[2],r[2]),t[3]=Math.max(e[3],r[3]),t}},{}],418:[function(t,e,r){e.exports=function(t,e,r){return t[0]=Math.min(e[0],r[0]),t[1]=Math.min(e[1],r[1]),t[2]=Math.min(e[2],r[2]),t[3]=Math.min(e[3],r[3]),t}},{}],419:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t[2]=e[2]*r[2],t[3]=e[3]*r[3],t}},{}],420:[function(t,e,r){e.exports=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t}},{}],421:[function(t,e,r){e.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=r*r+n*n+i*i+a*a;o>0&&(o=1/Math.sqrt(o),t[0]=r*o,t[1]=n*o,t[2]=i*o,t[3]=a*o);return t}},{}],422:[function(t,e,r){var n=t("./normalize"),i=t("./scale");e.exports=function(t,e){return e=e||1,t[0]=Math.random(),t[1]=Math.random(),t[2]=Math.random(),t[3]=Math.random(),n(t,t),i(t,t,e),t}},{"./normalize":421,"./scale":423}],423:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t}},{}],424:[function(t,e,r){e.exports=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t[3]=e[3]+r[3]*n,t}},{}],425:[function(t,e,r){e.exports=function(t,e,r,n,i){return t[0]=e,t[1]=r,t[2]=n,t[3]=i,t}},{}],426:[function(t,e,r){e.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2],a=e[3]-t[3];return r*r+n*n+i*i+a*a}},{}],427:[function(t,e,r){e.exports=function(t){var e=t[0],r=t[1],n=t[2],i=t[3];return e*e+r*r+n*n+i*i}},{}],428:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t[3]=e[3]-r[3],t}},{}],429:[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}},{}],430:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2],c=r[3],u=c*n+s*a-l*i,f=c*i+l*n-o*a,h=c*a+o*i-s*n,p=-o*n-s*i-l*a;return t[0]=u*c+p*-o+f*-l-h*-s,t[1]=f*c+p*-s+h*-o-u*-l,t[2]=h*c+p*-l+u*-s-f*-o,t[3]=e[3],t}},{}],431:[function(t,e,r){var n=t("glsl-tokenizer"),i=t("atob-lite");e.exports=function(t){for(var e=Array.isArray(t)?t:n(t),r=0;r<e.length;r++){var a=e[r];if("preprocessor"===a.type){var o=a.data.match(/\#define\s+SHADER_NAME(_B64)?\s+(.+)$/);if(o&&o[2]){var s=o[1],l=o[2];return(s?i(l):l).trim()}}}}},{"atob-lite":77,"glsl-tokenizer":438}],432:[function(t,e,r){e.exports=function(t){var e,r,c,u=0,f=0,h=999,p=[],d=[],g=1,m=0,v=0,y=!1,x=!1,b="",_=a,w=n;"300 es"===(t=t||{}).version&&(_=s,w=o);var T={},k={};for(u=0;u<_.length;u++)T[_[u]]=!0;for(u=0;u<w.length;u++)k[w[u]]=!0;return function(t){return d=[],null!==t?function(t){u=0,t.toString&&(t=t.toString());var r;b+=t.replace(/\r\n/g,"\n"),c=b.length;for(;e=b[u],u<c;){switch(r=u,h){case 0:u=C();break;case 1:case 2:u=E();break;case 3:u=L();break;case 4:u=z();break;case 11:u=P();break;case 5:u=O();break;case 9999:u=D();break;case 9:u=S();break;case 999:u=A()}if(r!==u)switch(b[r]){case"\n":m=0,++g;break;default:++m}}return f+=u,b=b.slice(u),d}(t):function(t){p.length&&M(p.join(""));return h=10,M("(eof)"),d}()};function M(t){t.length&&d.push({type:l[h],data:t,position:v,line:g,column:m})}function A(){return p=p.length?[]:p,"/"===r&&"*"===e?(v=f+u-1,h=0,r=e,u+1):"/"===r&&"/"===e?(v=f+u-1,h=1,r=e,u+1):"#"===e?(h=2,v=f+u,u):/\s/.test(e)?(h=9,v=f+u,u):(y=/\d/.test(e),x=/[^\w_]/.test(e),v=f+u,h=y?4:x?3:9999,u)}function S(){return/[^\s]/g.test(e)?(M(p.join("")),h=999,u):(p.push(e),r=e,u+1)}function E(){return"\r"!==e&&"\n"!==e||"\\"===r?(p.push(e),r=e,u+1):(M(p.join("")),h=999,u)}function C(){return"/"===e&&"*"===r?(p.push(e),M(p.join("")),h=999,u+1):(p.push(e),r=e,u+1)}function L(){if("."===r&&/\d/.test(e))return h=5,u;if("/"===r&&"*"===e)return h=0,u;if("/"===r&&"/"===e)return h=1,u;if("."===e&&p.length){for(;I(p););return h=5,u}if(";"===e||")"===e||"("===e){if(p.length)for(;I(p););return M(e),h=999,u+1}var t=2===p.length&&"="!==e;if(/[\w_\d\s]/.test(e)||t){for(;I(p););return h=999,u}return p.push(e),r=e,u+1}function I(t){for(var e,r,n=0;;){if(e=i.indexOf(t.slice(0,t.length+n).join("")),r=i[e],-1===e){if(n--+t.length>0)continue;r=t.slice(0,1).join("")}return M(r),v+=r.length,(p=p.slice(r.length)).length}}function P(){return/[^a-fA-F0-9]/.test(e)?(M(p.join("")),h=999,u):(p.push(e),r=e,u+1)}function z(){return"."===e||/[eE]/.test(e)?(p.push(e),h=5,r=e,u+1):"x"===e&&1===p.length&&"0"===p[0]?(h=11,p.push(e),r=e,u+1):/[^\d]/.test(e)?(M(p.join("")),h=999,u):(p.push(e),r=e,u+1)}function O(){return"f"===e&&(p.push(e),r=e,u+=1),/[eE]/.test(e)?(p.push(e),r=e,u+1):("-"!==e&&"+"!==e||!/[eE]/.test(r))&&/[^\d]/.test(e)?(M(p.join("")),h=999,u):(p.push(e),r=e,u+1)}function D(){if(/[^\d\w_]/.test(e)){var t=p.join("");return h=k[t]?8:T[t]?7:6,M(p.join("")),h=999,u}return p.push(e),r=e,u+1}};var n=t("./lib/literals"),i=t("./lib/operators"),a=t("./lib/builtins"),o=t("./lib/literals-300es"),s=t("./lib/builtins-300es"),l=["block-comment","line-comment","preprocessor","operator","integer","float","ident","builtin","keyword","whitespace","eof","integer"]},{"./lib/builtins":434,"./lib/builtins-300es":433,"./lib/literals":436,"./lib/literals-300es":435,"./lib/operators":437}],433:[function(t,e,r){var n=t("./builtins");n=n.slice().filter((function(t){return!/^(gl\_|texture)/.test(t)})),e.exports=n.concat(["gl_VertexID","gl_InstanceID","gl_Position","gl_PointSize","gl_FragCoord","gl_FrontFacing","gl_FragDepth","gl_PointCoord","gl_MaxVertexAttribs","gl_MaxVertexUniformVectors","gl_MaxVertexOutputVectors","gl_MaxFragmentInputVectors","gl_MaxVertexTextureImageUnits","gl_MaxCombinedTextureImageUnits","gl_MaxTextureImageUnits","gl_MaxFragmentUniformVectors","gl_MaxDrawBuffers","gl_MinProgramTexelOffset","gl_MaxProgramTexelOffset","gl_DepthRangeParameters","gl_DepthRange","trunc","round","roundEven","isnan","isinf","floatBitsToInt","floatBitsToUint","intBitsToFloat","uintBitsToFloat","packSnorm2x16","unpackSnorm2x16","packUnorm2x16","unpackUnorm2x16","packHalf2x16","unpackHalf2x16","outerProduct","transpose","determinant","inverse","texture","textureSize","textureProj","textureLod","textureOffset","texelFetch","texelFetchOffset","textureProjOffset","textureLodOffset","textureProjLod","textureProjLodOffset","textureGrad","textureGradOffset","textureProjGrad","textureProjGradOffset"])},{"./builtins":434}],434:[function(t,e,r){e.exports=["abs","acos","all","any","asin","atan","ceil","clamp","cos","cross","dFdx","dFdy","degrees","distance","dot","equal","exp","exp2","faceforward","floor","fract","gl_BackColor","gl_BackLightModelProduct","gl_BackLightProduct","gl_BackMaterial","gl_BackSecondaryColor","gl_ClipPlane","gl_ClipVertex","gl_Color","gl_DepthRange","gl_DepthRangeParameters","gl_EyePlaneQ","gl_EyePlaneR","gl_EyePlaneS","gl_EyePlaneT","gl_Fog","gl_FogCoord","gl_FogFragCoord","gl_FogParameters","gl_FragColor","gl_FragCoord","gl_FragData","gl_FragDepth","gl_FragDepthEXT","gl_FrontColor","gl_FrontFacing","gl_FrontLightModelProduct","gl_FrontLightProduct","gl_FrontMaterial","gl_FrontSecondaryColor","gl_LightModel","gl_LightModelParameters","gl_LightModelProducts","gl_LightProducts","gl_LightSource","gl_LightSourceParameters","gl_MaterialParameters","gl_MaxClipPlanes","gl_MaxCombinedTextureImageUnits","gl_MaxDrawBuffers","gl_MaxFragmentUniformComponents","gl_MaxLights","gl_MaxTextureCoords","gl_MaxTextureImageUnits","gl_MaxTextureUnits","gl_MaxVaryingFloats","gl_MaxVertexAttribs","gl_MaxVertexTextureImageUnits","gl_MaxVertexUniformComponents","gl_ModelViewMatrix","gl_ModelViewMatrixInverse","gl_ModelViewMatrixInverseTranspose","gl_ModelViewMatrixTranspose","gl_ModelViewProjectionMatrix","gl_ModelViewProjectionMatrixInverse","gl_ModelViewProjectionMatrixInverseTranspose","gl_ModelViewProjectionMatrixTranspose","gl_MultiTexCoord0","gl_MultiTexCoord1","gl_MultiTexCoord2","gl_MultiTexCoord3","gl_MultiTexCoord4","gl_MultiTexCoord5","gl_MultiTexCoord6","gl_MultiTexCoord7","gl_Normal","gl_NormalMatrix","gl_NormalScale","gl_ObjectPlaneQ","gl_ObjectPlaneR","gl_ObjectPlaneS","gl_ObjectPlaneT","gl_Point","gl_PointCoord","gl_PointParameters","gl_PointSize","gl_Position","gl_ProjectionMatrix","gl_ProjectionMatrixInverse","gl_ProjectionMatrixInverseTranspose","gl_ProjectionMatrixTranspose","gl_SecondaryColor","gl_TexCoord","gl_TextureEnvColor","gl_TextureMatrix","gl_TextureMatrixInverse","gl_TextureMatrixInverseTranspose","gl_TextureMatrixTranspose","gl_Vertex","greaterThan","greaterThanEqual","inversesqrt","length","lessThan","lessThanEqual","log","log2","matrixCompMult","max","min","mix","mod","normalize","not","notEqual","pow","radians","reflect","refract","sign","sin","smoothstep","sqrt","step","tan","texture2D","texture2DLod","texture2DProj","texture2DProjLod","textureCube","textureCubeLod","texture2DLodEXT","texture2DProjLodEXT","textureCubeLodEXT","texture2DGradEXT","texture2DProjGradEXT","textureCubeGradEXT"]},{}],435:[function(t,e,r){var n=t("./literals");e.exports=n.slice().concat(["layout","centroid","smooth","case","mat2x2","mat2x3","mat2x4","mat3x2","mat3x3","mat3x4","mat4x2","mat4x3","mat4x4","uvec2","uvec3","uvec4","samplerCubeShadow","sampler2DArray","sampler2DArrayShadow","isampler2D","isampler3D","isamplerCube","isampler2DArray","usampler2D","usampler3D","usamplerCube","usampler2DArray","coherent","restrict","readonly","writeonly","resource","atomic_uint","noperspective","patch","sample","subroutine","common","partition","active","filter","image1D","image2D","image3D","imageCube","iimage1D","iimage2D","iimage3D","iimageCube","uimage1D","uimage2D","uimage3D","uimageCube","image1DArray","image2DArray","iimage1DArray","iimage2DArray","uimage1DArray","uimage2DArray","image1DShadow","image2DShadow","image1DArrayShadow","image2DArrayShadow","imageBuffer","iimageBuffer","uimageBuffer","sampler1DArray","sampler1DArrayShadow","isampler1D","isampler1DArray","usampler1D","usampler1DArray","isampler2DRect","usampler2DRect","samplerBuffer","isamplerBuffer","usamplerBuffer","sampler2DMS","isampler2DMS","usampler2DMS","sampler2DMSArray","isampler2DMSArray","usampler2DMSArray"])},{"./literals":436}],436:[function(t,e,r){e.exports=["precision","highp","mediump","lowp","attribute","const","uniform","varying","break","continue","do","for","while","if","else","in","out","inout","float","int","uint","void","bool","true","false","discard","return","mat2","mat3","mat4","vec2","vec3","vec4","ivec2","ivec3","ivec4","bvec2","bvec3","bvec4","sampler1D","sampler2D","sampler3D","samplerCube","sampler1DShadow","sampler2DShadow","struct","asm","class","union","enum","typedef","template","this","packed","goto","switch","default","inline","noinline","volatile","public","static","extern","external","interface","long","short","double","half","fixed","unsigned","input","output","hvec2","hvec3","hvec4","dvec2","dvec3","dvec4","fvec2","fvec3","fvec4","sampler2DRect","sampler3DRect","sampler2DRectShadow","sizeof","cast","namespace","using"]},{}],437:[function(t,e,r){e.exports=["<<=",">>=","++","--","<<",">>","<=",">=","==","!=","&&","||","+=","-=","*=","/=","%=","&=","^^","^=","|=","(",")","[","]",".","!","~","*","/","%","+","-","<",">","&","^","|","?",":","=",",",";","{","}"]},{}],438:[function(t,e,r){var n=t("./index");e.exports=function(t,e){var r=n(e),i=[];return i=(i=i.concat(r(t))).concat(r(null))}},{"./index":432}],439:[function(t,e,r){arguments[4][257][0].apply(r,arguments)},{dup:257}],440:[function(t,e,r){(function(r){(function(){"use strict";var n,i=t("is-browser");n="function"==typeof r.matchMedia?!r.matchMedia("(hover: none)").matches:i,e.exports=n}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"is-browser":464}],441:[function(t,e,r){"use strict";var n=t("is-browser");e.exports=n&&function(){var t=!1;try{var e=Object.defineProperty({},"passive",{get:function(){t=!0}});window.addEventListener("test",null,e),window.removeEventListener("test",null,e)}catch(e){t=!1}return t}()},{"is-browser":464}],442:[function(t,e,r){r.read=function(t,e,r,n,i){var a,o,s=8*i-n-1,l=(1<<s)-1,c=l>>1,u=-7,f=r?i-1:0,h=r?-1:1,p=t[e+f];for(f+=h,a=p&(1<<-u)-1,p>>=-u,u+=s;u>0;a=256*a+t[e+f],f+=h,u-=8);for(o=a&(1<<-u)-1,a>>=-u,u+=n;u>0;o=256*o+t[e+f],f+=h,u-=8);if(0===a)a=1-c;else{if(a===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),a-=c}return(p?-1:1)*o*Math.pow(2,a-n)},r.write=function(t,e,r,n,i,a){var o,s,l,c=8*a-i-1,u=(1<<c)-1,f=u>>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-1,d=n?1:-1,g=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,o=u):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),(e+=o+f>=1?h/l:h*Math.pow(2,1-f))*l>=2&&(o++,l/=2),o+f>=u?(s=0,o=u):o+f>=1?(s=(e*l-1)*Math.pow(2,i),o+=f):(s=e*Math.pow(2,f-1)*Math.pow(2,i),o=0));i>=8;t[r+p]=255&s,p+=d,s/=256,i-=8);for(o=o<<i|s,c+=i;c>0;t[r+p]=255&o,p+=d,o/=256,c-=8);t[r+p-d]|=128*g}},{}],443:[function(t,e,r){"use strict";var n=t("./types");e.exports=function(t,e){var r;for(r in n)if(n[r].detect(t,e))return r}},{"./types":446}],444:[function(t,e,r){(function(r){(function(){"use strict";var n=t("fs"),i=t("path"),a=t("./types"),o=t("./detector");function s(t,e){var r=o(t,e);if(r in a){var n=a[r].calculate(t,e);if(!1!==n)return n.type=r,n}throw new TypeError("unsupported file type: "+r+" (file: "+e+")")}e.exports=function(t,e){if(r.isBuffer(t))return s(t);if("string"!=typeof t)throw new TypeError("invalid invocation");var a=i.resolve(t);if("function"!=typeof e)return s(function(t){var e=n.openSync(t,"r"),i=n.fstatSync(e).size,a=Math.min(i,524288),o=r.alloc(a);return n.readSync(e,o,0,a,0),n.closeSync(e),o}(a),a);!function(t,e){n.open(t,"r",(function(i,a){if(i)return e(i);n.fstat(a,(function(i,o){if(i)return e(i);var s=o.size;if(s<=0)return e(new Error("File size is not greater than 0 \u2014\u2014 "+t));var l=Math.min(s,524288),c=r.alloc(l);n.read(a,c,0,l,0,(function(t){if(t)return e(t);n.close(a,(function(t){e(t,c)}))}))}))}))}(a,(function(t,r){if(t)return e(t);var n;try{n=s(r,a)}catch(e){t=e}e(t,n)}))},e.exports.types=Object.keys(a)}).call(this)}).call(this,t("buffer").Buffer)},{"./detector":443,"./types":446,buffer:111,fs:109,path:507}],445:[function(t,e,r){"use strict";e.exports=function(t,e,r,n){return r=r||0,t["readUInt"+e+(n?"BE":"LE")].call(t,r)}},{}],446:[function(t,e,r){"use strict";var n={bmp:t("./types/bmp"),cur:t("./types/cur"),dds:t("./types/dds"),gif:t("./types/gif"),icns:t("./types/icns"),ico:t("./types/ico"),jpg:t("./types/jpg"),png:t("./types/png"),psd:t("./types/psd"),svg:t("./types/svg"),tiff:t("./types/tiff"),webp:t("./types/webp")};e.exports=n},{"./types/bmp":447,"./types/cur":448,"./types/dds":449,"./types/gif":450,"./types/icns":451,"./types/ico":452,"./types/jpg":453,"./types/png":454,"./types/psd":455,"./types/svg":456,"./types/tiff":457,"./types/webp":458}],447:[function(t,e,r){"use strict";e.exports={detect:function(t){return"BM"===t.toString("ascii",0,2)},calculate:function(t){return{width:t.readUInt32LE(18),height:Math.abs(t.readInt32LE(22))}}}},{}],448:[function(t,e,r){"use strict";e.exports={detect:function(t){return 0===t.readUInt16LE(0)&&2===t.readUInt16LE(2)},calculate:t("./ico").calculate}},{"./ico":452}],449:[function(t,e,r){"use strict";e.exports={detect:function(t){return 542327876===t.readUInt32LE(0)},calculate:function(t){return{height:t.readUInt32LE(12),width:t.readUInt32LE(16)}}}},{}],450:[function(t,e,r){"use strict";var n=/^GIF8[79]a/;e.exports={detect:function(t){var e=t.toString("ascii",0,6);return n.test(e)},calculate:function(t){return{width:t.readUInt16LE(6),height:t.readUInt16LE(8)}}}},{}],451:[function(t,e,r){"use strict";var n={ICON:32,"ICN#":32,"icm#":16,icm4:16,icm8:16,"ics#":16,ics4:16,ics8:16,is32:16,s8mk:16,icp4:16,icl4:32,icl8:32,il32:32,l8mk:32,icp5:32,ic11:32,ich4:48,ich8:48,ih32:48,h8mk:48,icp6:64,ic12:32,it32:128,t8mk:128,ic07:128,ic08:256,ic13:256,ic09:512,ic14:512,ic10:1024};function i(t,e){var r=e+4;return[t.toString("ascii",e,r),t.readUInt32BE(r)]}function a(t){var e=n[t];return{width:e,height:e,type:t}}e.exports={detect:function(t){return"icns"===t.toString("ascii",0,4)},calculate:function(t){var e,r,n,o=t.length,s=8,l=t.readUInt32BE(4);if(r=a((e=i(t,s))[0]),(s+=e[1])===l)return r;for(n={width:r.width,height:r.height,images:[r]};s<l&&s<o;)r=a((e=i(t,s))[0]),s+=e[1],n.images.push(r);return n}}},{}],452:[function(t,e,r){"use strict";function n(t,e){var r=t.readUInt8(e);return 0===r?256:r}function i(t,e){var r=6+16*e;return{width:n(t,r),height:n(t,r+1)}}e.exports={detect:function(t){return 0===t.readUInt16LE(0)&&1===t.readUInt16LE(2)},calculate:function(t){var e,r=t.readUInt16LE(4),n=i(t,0);if(1===r)return n;for(n.images=[{width:n.width,height:n.height}],e=1;e<r;e+=1)n.images.push(i(t,e));return n}}},{}],453:[function(t,e,r){"use strict";var n=t("../readUInt");function i(t){return"45786966"===t.toString("hex",2,6)}function a(t,e){return{height:t.readUInt16BE(e),width:t.readUInt16BE(e+2)}}function o(t,e){var r=t.slice(2,e),i=r.toString("hex",6,8),a="4d4d"===i;if(a||"4949"===i)return function(t,e){for(var r,i,a=n(t,16,14,e),o=0;o<a;o++){if(i=(r=16+12*o)+12,r>t.length)return;var s=t.slice(r,i);if(274===n(s,16,0,e)){if(3!==n(s,16,2,e))return;if(1!==n(s,32,4,e))return;return n(s,16,8,e)}}}(r,a)}function s(t,e){if(e>t.length)throw new TypeError("Corrupt JPG, exceeded buffer limits");if(255!==t[e])throw new TypeError("Invalid JPG, marker table corrupted")}e.exports={detect:function(t){return"ffd8"===t.toString("hex",0,2)},calculate:function(t){var e,r,n;for(t=t.slice(4);t.length;){if(r=t.readUInt16BE(0),i(t)&&(e=o(t,r)),s(t,r),192===(n=t[r+1])||193===n||194===n){var l=a(t,r+5);return e?{width:l.width,height:l.height,orientation:e}:l}t=t.slice(r+2)}throw new TypeError("Invalid JPG, no size found")}}},{"../readUInt":445}],454:[function(t,e,r){"use strict";e.exports={detect:function(t){if("PNG\r\n\x1a\n"===t.toString("ascii",1,8)){var e=t.toString("ascii",12,16);if("CgBI"===e&&(e=t.toString("ascii",28,32)),"IHDR"!==e)throw new TypeError("invalid png");return!0}},calculate:function(t){return"CgBI"===t.toString("ascii",12,16)?{width:t.readUInt32BE(32),height:t.readUInt32BE(36)}:{width:t.readUInt32BE(16),height:t.readUInt32BE(20)}}}},{}],455:[function(t,e,r){"use strict";e.exports={detect:function(t){return"8BPS"===t.toString("ascii",0,4)},calculate:function(t){return{width:t.readUInt32BE(18),height:t.readUInt32BE(14)}}}},{}],456:[function(t,e,r){"use strict";var n=/<svg\s([^>"']|"[^"]*"|'[^']*')*>/;var i={root:n,width:/\swidth=(['"])([^%]+?)\1/,height:/\sheight=(['"])([^%]+?)\1/,viewbox:/\sviewBox=(['"])(.+?)\1/},a={cm:96/2.54,mm:96/2.54/10,m:96/2.54*100,pt:96/72,pc:96/72/12,em:16,ex:8};function o(t){var e=/([0-9.]+)([a-z]*)/.exec(t);if(e)return Math.round(parseFloat(e[1])*(a[e[2]]||1))}function s(t){var e=t.split(" ");return{width:o(e[2]),height:o(e[3])}}e.exports={detect:function(t){return n.test(t)},calculate:function(t){var e=t.toString("utf8").match(i.root);if(e){var r=function(t){var e=t.match(i.width),r=t.match(i.height),n=t.match(i.viewbox);return{width:e&&o(e[2]),height:r&&o(r[2]),viewbox:n&&s(n[2])}}(e[0]);if(r.width&&r.height)return function(t){return{width:t.width,height:t.height}}(r);if(r.viewbox)return function(t){var e=t.viewbox.width/t.viewbox.height;return t.width?{width:t.width,height:Math.floor(t.width/e)}:t.height?{width:Math.floor(t.height*e),height:t.height}:{width:t.viewbox.width,height:t.viewbox.height}}(r)}throw new TypeError("invalid svg")}}},{}],457:[function(t,e,r){(function(r){(function(){"use strict";var n=t("fs"),i=t("../readUInt");function a(t,e){var r=i(t,16,8,e);return(i(t,16,10,e)<<16)+r}function o(t){if(t.length>24)return t.slice(12)}e.exports={detect:function(t){var e=t.toString("hex",0,4);return"49492a00"===e||"4d4d002a"===e},calculate:function(t,e){if(!e)throw new TypeError("Tiff doesn't support buffer");var s="BE"===function(t){var e=t.toString("ascii",0,2);return"II"===e?"LE":"MM"===e?"BE":void 0}(t),l=function(t,e){for(var r,n,s,l={};t&&t.length&&(r=i(t,16,0,e),n=i(t,16,2,e),s=i(t,32,4,e),0!==r);)1!==s||3!==n&&4!==n||(l[r]=a(t,e)),t=o(t);return l}(function(t,e,a){var o=i(t,32,4,a),s=1024,l=n.statSync(e).size;o+s>l&&(s=l-o-10);var c=r.alloc(s),u=n.openSync(e,"r");return n.readSync(u,c,0,s,o),c.slice(2)}(t,e,s),s),c=l[256],u=l[257];if(!c||!u)throw new TypeError("Invalid Tiff, missing tags");return{width:c,height:u}}}}).call(this)}).call(this,t("buffer").Buffer)},{"../readUInt":445,buffer:111,fs:109}],458:[function(t,e,r){"use strict";e.exports={detect:function(t){var e="RIFF"===t.toString("ascii",0,4),r="WEBP"===t.toString("ascii",8,12),n="VP8"===t.toString("ascii",12,15);return e&&r&&n},calculate:function(t){var e=t.toString("ascii",12,16);if(t=t.slice(20,30),"VP8X"===e){var r=t[0];return!(!(0==(192&r))||!(0==(1&r)))&&function(t){return{width:1+t.readUIntLE(4,3),height:1+t.readUIntLE(7,3)}}(t)}if("VP8 "===e&&47!==t[0])return function(t){return{width:16383&t.readInt16LE(6),height:16383&t.readInt16LE(8)}}(t);var n=t.toString("hex",3,6);return"VP8L"===e&&"9d012a"!==n&&function(t){return{width:1+((63&t[2])<<8|t[1]),height:1+((15&t[4])<<10|t[3]<<2|(192&t[2])>>6)}}(t)}}},{}],459:[function(t,e,r){"use strict";e.exports=function(t,e){var r=t.length;if(0===r)throw new Error("Must have at least d+1 points");var i=t[0].length;if(r<=i)throw new Error("Must input at least d+1 points");var o=t.slice(0,i+1),s=n.apply(void 0,o);if(0===s)throw new Error("Input not in general position");for(var l=new Array(i+1),u=0;u<=i;++u)l[u]=u;s<0&&(l[0]=1,l[1]=0);var f=new a(l,new Array(i+1),!1),h=f.adjacent,p=new Array(i+2);for(u=0;u<=i;++u){for(var d=l.slice(),g=0;g<=i;++g)g===u&&(d[g]=-1);var m=d[0];d[0]=d[1],d[1]=m;var v=new a(d,new Array(i+1),!0);h[u]=v,p[u]=v}p[i+1]=f;for(u=0;u<=i;++u){d=h[u].vertices;var y=h[u].adjacent;for(g=0;g<=i;++g){var x=d[g];if(x<0)y[g]=f;else for(var b=0;b<=i;++b)h[b].vertices.indexOf(x)<0&&(y[g]=h[b])}}var _=new c(i,o,p),w=!!e;for(u=i+1;u<r;++u)_.insert(t[u],w);return _.boundary()};var n=t("robust-orientation"),i=t("simplicial-complex").compareCells;function a(t,e,r){this.vertices=t,this.adjacent=e,this.boundary=r,this.lastVisited=-1}function o(t,e,r){this.vertices=t,this.cell=e,this.index=r}function s(t,e){return i(t.vertices,e.vertices)}a.prototype.flip=function(){var t=this.vertices[0];this.vertices[0]=this.vertices[1],this.vertices[1]=t;var e=this.adjacent[0];this.adjacent[0]=this.adjacent[1],this.adjacent[1]=e};var l=[];function c(t,e,r){this.dimension=t,this.vertices=e,this.simplices=r,this.interior=r.filter((function(t){return!t.boundary})),this.tuple=new Array(t+1);for(var i=0;i<=t;++i)this.tuple[i]=this.vertices[i];var a=l[t];a||(a=l[t]=function(t){for(var e=["function orient(){var tuple=this.tuple;return test("],r=0;r<=t;++r)r>0&&e.push(","),e.push("tuple[",r,"]");e.push(")}return orient");var i=new Function("test",e.join("")),a=n[t+1];return a||(a=n),i(a)}(t)),this.orient=a}var u=c.prototype;u.handleBoundaryDegeneracy=function(t,e){var r=this.dimension,n=this.vertices.length-1,i=this.tuple,a=this.vertices,o=[t];for(t.lastVisited=-n;o.length>0;){(t=o.pop()).vertices;for(var s=t.adjacent,l=0;l<=r;++l){var c=s[l];if(c.boundary&&!(c.lastVisited<=-n)){for(var u=c.vertices,f=0;f<=r;++f){var h=u[f];i[f]=h<0?e:a[h]}var p=this.orient();if(p>0)return c;c.lastVisited=-n,0===p&&o.push(c)}}}return null},u.walk=function(t,e){var r=this.vertices.length-1,n=this.dimension,i=this.vertices,a=this.tuple,o=e?this.interior.length*Math.random()|0:this.interior.length-1,s=this.interior[o];t:for(;!s.boundary;){for(var l=s.vertices,c=s.adjacent,u=0;u<=n;++u)a[u]=i[l[u]];s.lastVisited=r;for(u=0;u<=n;++u){var f=c[u];if(!(f.lastVisited>=r)){var h=a[u];a[u]=t;var p=this.orient();if(a[u]=h,p<0){s=f;continue t}f.boundary?f.lastVisited=-r:f.lastVisited=r}}return}return s},u.addPeaks=function(t,e){var r=this.vertices.length-1,n=this.dimension,i=this.vertices,l=this.tuple,c=this.interior,u=this.simplices,f=[e];e.lastVisited=r,e.vertices[e.vertices.indexOf(-1)]=r,e.boundary=!1,c.push(e);for(var h=[];f.length>0;){var p=(e=f.pop()).vertices,d=e.adjacent,g=p.indexOf(r);if(!(g<0))for(var m=0;m<=n;++m)if(m!==g){var v=d[m];if(v.boundary&&!(v.lastVisited>=r)){var y=v.vertices;if(v.lastVisited!==-r){for(var x=0,b=0;b<=n;++b)y[b]<0?(x=b,l[b]=t):l[b]=i[y[b]];if(this.orient()>0){y[x]=r,v.boundary=!1,c.push(v),f.push(v),v.lastVisited=r;continue}v.lastVisited=-r}var _=v.adjacent,w=p.slice(),T=d.slice(),k=new a(w,T,!0);u.push(k);var M=_.indexOf(e);if(!(M<0)){_[M]=k,T[g]=v,w[m]=-1,T[m]=e,d[m]=k,k.flip();for(b=0;b<=n;++b){var A=w[b];if(!(A<0||A===r)){for(var S=new Array(n-1),E=0,C=0;C<=n;++C){var L=w[C];L<0||C===b||(S[E++]=L)}h.push(new o(S,k,b))}}}}}}h.sort(s);for(m=0;m+1<h.length;m+=2){var I=h[m],P=h[m+1],z=I.index,O=P.index;z<0||O<0||(I.cell.adjacent[I.index]=P.cell,P.cell.adjacent[P.index]=I.cell)}},u.insert=function(t,e){var r=this.vertices;r.push(t);var n=this.walk(t,e);if(n){for(var i=this.dimension,a=this.tuple,o=0;o<=i;++o){var s=n.vertices[o];a[o]=s<0?t:r[s]}var l=this.orient(a);l<0||(0!==l||(n=this.handleBoundaryDegeneracy(n,t)))&&this.addPeaks(t,n)}},u.boundary=function(){for(var t=this.dimension,e=[],r=this.simplices,n=r.length,i=0;i<n;++i){var a=r[i];if(a.boundary){for(var o=new Array(t),s=a.vertices,l=0,c=0,u=0;u<=t;++u)s[u]>=0?o[l++]=s[u]:c=1&u;if(c===(1&t)){var f=o[0];o[0]=o[1],o[1]=f}e.push(o)}}return e}},{"robust-orientation":548,"simplicial-complex":558}],460:[function(t,e,r){"use strict";var n=t("binary-search-bounds");function i(t,e,r,n,i){this.mid=t,this.left=e,this.right=r,this.leftPoints=n,this.rightPoints=i,this.count=(e?e.count:0)+(r?r.count:0)+n.length}e.exports=function(t){if(!t||0===t.length)return new v(null);return new v(m(t))};var a=i.prototype;function o(t,e){t.mid=e.mid,t.left=e.left,t.right=e.right,t.leftPoints=e.leftPoints,t.rightPoints=e.rightPoints,t.count=e.count}function s(t,e){var r=m(e);t.mid=r.mid,t.left=r.left,t.right=r.right,t.leftPoints=r.leftPoints,t.rightPoints=r.rightPoints,t.count=r.count}function l(t,e){var r=t.intervals([]);r.push(e),s(t,r)}function c(t,e){var r=t.intervals([]),n=r.indexOf(e);return n<0?0:(r.splice(n,1),s(t,r),1)}function u(t,e,r){for(var n=0;n<t.length&&t[n][0]<=e;++n){var i=r(t[n]);if(i)return i}}function f(t,e,r){for(var n=t.length-1;n>=0&&t[n][1]>=e;--n){var i=r(t[n]);if(i)return i}}function h(t,e){for(var r=0;r<t.length;++r){var n=e(t[r]);if(n)return n}}function p(t,e){return t-e}function d(t,e){var r=t[0]-e[0];return r||t[1]-e[1]}function g(t,e){var r=t[1]-e[1];return r||t[0]-e[0]}function m(t){if(0===t.length)return null;for(var e=[],r=0;r<t.length;++r)e.push(t[r][0],t[r][1]);e.sort(p);var n=e[e.length>>1],a=[],o=[],s=[];for(r=0;r<t.length;++r){var l=t[r];l[1]<n?a.push(l):n<l[0]?o.push(l):s.push(l)}var c=s,u=s.slice();return c.sort(d),u.sort(g),new i(n,m(a),m(o),c,u)}function v(t){this.root=t}a.intervals=function(t){return t.push.apply(t,this.leftPoints),this.left&&this.left.intervals(t),this.right&&this.right.intervals(t),t},a.insert=function(t){var e=this.count-this.leftPoints.length;if(this.count+=1,t[1]<this.mid)this.left?4*(this.left.count+1)>3*(e+1)?l(this,t):this.left.insert(t):this.left=m([t]);else if(t[0]>this.mid)this.right?4*(this.right.count+1)>3*(e+1)?l(this,t):this.right.insert(t):this.right=m([t]);else{var r=n.ge(this.leftPoints,t,d),i=n.ge(this.rightPoints,t,g);this.leftPoints.splice(r,0,t),this.rightPoints.splice(i,0,t)}},a.remove=function(t){var e=this.count-this.leftPoints;if(t[1]<this.mid)return this.left?4*(this.right?this.right.count:0)>3*(e-1)?c(this,t):2===(s=this.left.remove(t))?(this.left=null,this.count-=1,1):(1===s&&(this.count-=1),s):0;if(t[0]>this.mid)return this.right?4*(this.left?this.left.count:0)>3*(e-1)?c(this,t):2===(s=this.right.remove(t))?(this.right=null,this.count-=1,1):(1===s&&(this.count-=1),s):0;if(1===this.count)return this.leftPoints[0]===t?2:0;if(1===this.leftPoints.length&&this.leftPoints[0]===t){if(this.left&&this.right){for(var r=this,i=this.left;i.right;)r=i,i=i.right;if(r===this)i.right=this.right;else{var a=this.left,s=this.right;r.count-=i.count,r.right=i.left,i.left=a,i.right=s}o(this,i),this.count=(this.left?this.left.count:0)+(this.right?this.right.count:0)+this.leftPoints.length}else this.left?o(this,this.left):o(this,this.right);return 1}for(a=n.ge(this.leftPoints,t,d);a<this.leftPoints.length&&this.leftPoints[a][0]===t[0];++a)if(this.leftPoints[a]===t){this.count-=1,this.leftPoints.splice(a,1);for(s=n.ge(this.rightPoints,t,g);s<this.rightPoints.length&&this.rightPoints[s][1]===t[1];++s)if(this.rightPoints[s]===t)return this.rightPoints.splice(s,1),1}return 0},a.queryPoint=function(t,e){if(t<this.mid){if(this.left)if(r=this.left.queryPoint(t,e))return r;return u(this.leftPoints,t,e)}if(t>this.mid){var r;if(this.right)if(r=this.right.queryPoint(t,e))return r;return f(this.rightPoints,t,e)}return h(this.leftPoints,e)},a.queryInterval=function(t,e,r){var n;if(t<this.mid&&this.left&&(n=this.left.queryInterval(t,e,r)))return n;if(e>this.mid&&this.right&&(n=this.right.queryInterval(t,e,r)))return n;return e<this.mid?u(this.leftPoints,e,r):t>this.mid?f(this.rightPoints,t,r):h(this.leftPoints,r)};var y=v.prototype;y.insert=function(t){this.root?this.root.insert(t):this.root=new i(t[0],null,null,[t],[t])},y.remove=function(t){if(this.root){var e=this.root.remove(t);return 2===e&&(this.root=null),0!==e}return!1},y.queryPoint=function(t,e){if(this.root)return this.root.queryPoint(t,e)},y.queryInterval=function(t,e,r){if(t<=e&&this.root)return this.root.queryInterval(t,e,r)},Object.defineProperty(y,"count",{get:function(){return this.root?this.root.count:0}}),Object.defineProperty(y,"intervals",{get:function(){return this.root?this.root.intervals([]):[]}})},{"binary-search-bounds":461}],461:[function(t,e,r){arguments[4][243][0].apply(r,arguments)},{dup:243}],462:[function(t,e,r){"use strict";e.exports=function(t,e){e=e||new Array(t.length);for(var r=0;r<t.length;++r)e[t[r]]=r;return e}},{}],463:[function(t,e,r){"use strict";e.exports=function(t){for(var e=new Array(t),r=0;r<t;++r)e[r]=r;return e}},{}],464:[function(t,e,r){e.exports=!0},{}],465:[function(t,e,r){function n(t){return!!t.constructor&&"function"==typeof t.constructor.isBuffer&&t.constructor.isBuffer(t)} +/*! + * Determine if an object is a Buffer + * + * @author Feross Aboukhadijeh <https://feross.org> + * @license MIT + */ +e.exports=function(t){return null!=t&&(n(t)||function(t){return"function"==typeof t.readFloatLE&&"function"==typeof t.slice&&n(t.slice(0,0))}(t)||!!t._isBuffer)}},{}],466:[function(t,e,r){"use strict";e.exports="undefined"!=typeof navigator&&(/MSIE/.test(navigator.userAgent)||/Trident\//.test(navigator.appVersion))},{}],467:[function(t,e,r){"use strict";e.exports=a,e.exports.isMobile=a,e.exports.default=a;var n=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series[46]0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i,i=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series[46]0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino|android|ipad|playbook|silk/i;function a(t){t||(t={});var e=t.ua;if(e||"undefined"==typeof navigator||(e=navigator.userAgent),e&&e.headers&&"string"==typeof e.headers["user-agent"]&&(e=e.headers["user-agent"]),"string"!=typeof e)return!1;var r=t.tablet?i.test(e):n.test(e);return!r&&t.tablet&&t.featureDetect&&navigator&&navigator.maxTouchPoints>1&&-1!==e.indexOf("Macintosh")&&-1!==e.indexOf("Safari")&&(r=!0),r}},{}],468:[function(t,e,r){"use strict";e.exports=function(t){var e=typeof t;return null!==t&&("object"===e||"function"===e)}},{}],469:[function(t,e,r){"use strict";var n=Object.prototype.toString;e.exports=function(t){var e;return"[object Object]"===n.call(t)&&(null===(e=Object.getPrototypeOf(t))||e===Object.getPrototypeOf({}))}},{}],470:[function(t,e,r){"use strict";e.exports=function(t){for(var e,r=t.length,n=0;n<r;n++)if(((e=t.charCodeAt(n))<9||e>13)&&32!==e&&133!==e&&160!==e&&5760!==e&&6158!==e&&(e<8192||e>8205)&&8232!==e&&8233!==e&&8239!==e&&8287!==e&&8288!==e&&12288!==e&&65279!==e)return!1;return!0}},{}],471:[function(t,e,r){"use strict";e.exports=function(t){return"string"==typeof t&&(t=t.trim(),!!(/^[mzlhvcsqta]\s*[-+.0-9][^mlhvzcsqta]+/i.test(t)&&/[\dz]$/i.test(t)&&t.length>4))}},{}],472:[function(t,e,r){e.exports=function(t,e,r){return t*(1-r)+e*r}},{}],473:[function(t,e,r){!function(t,n){"object"==typeof r&&"undefined"!=typeof e?e.exports=n():(t=t||self).mapboxgl=n()}(this,(function(){"use strict";var t,e,r;function n(n,i){if(t)if(e){var a="var sharedChunk = {}; ("+t+")(sharedChunk); ("+e+")(sharedChunk);",o={};t(o),(r=i(o)).workerUrl=window.URL.createObjectURL(new Blob([a],{type:"text/javascript"}))}else e=i;else t=i}return n(0,(function(t){function e(t,e){return t(e={exports:{}},e.exports),e.exports}var r=n;function n(t,e,r,n){this.cx=3*t,this.bx=3*(r-t)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*e,this.by=3*(n-e)-this.cy,this.ay=1-this.cy-this.by,this.p1x=t,this.p1y=n,this.p2x=r,this.p2y=n}n.prototype.sampleCurveX=function(t){return((this.ax*t+this.bx)*t+this.cx)*t},n.prototype.sampleCurveY=function(t){return((this.ay*t+this.by)*t+this.cy)*t},n.prototype.sampleCurveDerivativeX=function(t){return(3*this.ax*t+2*this.bx)*t+this.cx},n.prototype.solveCurveX=function(t,e){var r,n,i,a,o;for(void 0===e&&(e=1e-6),i=t,o=0;o<8;o++){if(a=this.sampleCurveX(i)-t,Math.abs(a)<e)return i;var s=this.sampleCurveDerivativeX(i);if(Math.abs(s)<1e-6)break;i-=a/s}if((i=t)<(r=0))return r;if(i>(n=1))return n;for(;r<n;){if(a=this.sampleCurveX(i),Math.abs(a-t)<e)return i;t>a?r=i:n=i,i=.5*(n-r)+r}return i},n.prototype.solve=function(t,e){return this.sampleCurveY(this.solveCurveX(t,e))};var i=a;function a(t,e){this.x=t,this.y=e}function o(t,e,n,i){var a=new r(t,e,n,i);return function(t){return a.solve(t)}}a.prototype={clone:function(){return new a(this.x,this.y)},add:function(t){return this.clone()._add(t)},sub:function(t){return this.clone()._sub(t)},multByPoint:function(t){return this.clone()._multByPoint(t)},divByPoint:function(t){return this.clone()._divByPoint(t)},mult:function(t){return this.clone()._mult(t)},div:function(t){return this.clone()._div(t)},rotate:function(t){return this.clone()._rotate(t)},rotateAround:function(t,e){return this.clone()._rotateAround(t,e)},matMult:function(t){return this.clone()._matMult(t)},unit:function(){return this.clone()._unit()},perp:function(){return this.clone()._perp()},round:function(){return this.clone()._round()},mag:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals:function(t){return this.x===t.x&&this.y===t.y},dist:function(t){return Math.sqrt(this.distSqr(t))},distSqr:function(t){var e=t.x-this.x,r=t.y-this.y;return e*e+r*r},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(t){return Math.atan2(this.y-t.y,this.x-t.x)},angleWith:function(t){return this.angleWithSep(t.x,t.y)},angleWithSep:function(t,e){return Math.atan2(this.x*e-this.y*t,this.x*t+this.y*e)},_matMult:function(t){var e=t[2]*this.x+t[3]*this.y;return this.x=t[0]*this.x+t[1]*this.y,this.y=e,this},_add:function(t){return this.x+=t.x,this.y+=t.y,this},_sub:function(t){return this.x-=t.x,this.y-=t.y,this},_mult:function(t){return this.x*=t,this.y*=t,this},_div:function(t){return this.x/=t,this.y/=t,this},_multByPoint:function(t){return this.x*=t.x,this.y*=t.y,this},_divByPoint:function(t){return this.x/=t.x,this.y/=t.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var t=this.y;return this.y=this.x,this.x=-t,this},_rotate:function(t){var e=Math.cos(t),r=Math.sin(t),n=r*this.x+e*this.y;return this.x=e*this.x-r*this.y,this.y=n,this},_rotateAround:function(t,e){var r=Math.cos(t),n=Math.sin(t),i=e.y+n*(this.x-e.x)+r*(this.y-e.y);return this.x=e.x+r*(this.x-e.x)-n*(this.y-e.y),this.y=i,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},a.convert=function(t){return t instanceof a?t:Array.isArray(t)?new a(t[0],t[1]):t};var s=o(.25,.1,.25,1);function l(t,e,r){return Math.min(r,Math.max(e,t))}function c(t,e,r){var n=r-e,i=((t-e)%n+n)%n+e;return i===e?r:i}function u(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];for(var n=0,i=e;n<i.length;n+=1){var a=i[n];for(var o in a)t[o]=a[o]}return t}var f=1;function h(){return f++}function p(){return function t(e){return e?(e^16*Math.random()>>e/4).toString(16):([1e7]+-[1e3]+-4e3+-8e3+-1e11).replace(/[018]/g,t)}()}function d(t){return!!t&&/^[0-9a-f]{8}-[0-9a-f]{4}-[4][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(t)}function g(t,e){t.forEach((function(t){e[t]&&(e[t]=e[t].bind(e))}))}function m(t,e){return-1!==t.indexOf(e,t.length-e.length)}function v(t,e,r){var n={};for(var i in t)n[i]=e.call(r||this,t[i],i,t);return n}function y(t,e,r){var n={};for(var i in t)e.call(r||this,t[i],i,t)&&(n[i]=t[i]);return n}function x(t){return Array.isArray(t)?t.map(x):"object"==typeof t&&t?v(t,x):t}var b={};function _(t){b[t]||("undefined"!=typeof console&&console.warn(t),b[t]=!0)}function w(t,e,r){return(r.y-t.y)*(e.x-t.x)>(e.y-t.y)*(r.x-t.x)}function T(t){for(var e=0,r=0,n=t.length,i=n-1,a=void 0,o=void 0;r<n;i=r++)e+=((o=t[i]).x-(a=t[r]).x)*(a.y+o.y);return e}function k(){return"undefined"!=typeof WorkerGlobalScope&&"undefined"!=typeof self&&self instanceof WorkerGlobalScope}function M(t){var e={};if(t.replace(/(?:^|(?:\s*\,\s*))([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g,(function(t,r,n,i){var a=n||i;return e[r]=!a||a.toLowerCase(),""})),e["max-age"]){var r=parseInt(e["max-age"],10);isNaN(r)?delete e["max-age"]:e["max-age"]=r}return e}var A=null;function S(t){if(null==A){var e=t.navigator?t.navigator.userAgent:null;A=!!t.safari||!(!e||!(/\b(iPad|iPhone|iPod)\b/.test(e)||e.match("Safari")&&!e.match("Chrome")))}return A}function E(t){try{var e=self[t];return e.setItem("_mapbox_test_",1),e.removeItem("_mapbox_test_"),!0}catch(t){return!1}}var C,L,I,P,z=self.performance&&self.performance.now?self.performance.now.bind(self.performance):Date.now.bind(Date),O=self.requestAnimationFrame||self.mozRequestAnimationFrame||self.webkitRequestAnimationFrame||self.msRequestAnimationFrame,D=self.cancelAnimationFrame||self.mozCancelAnimationFrame||self.webkitCancelAnimationFrame||self.msCancelAnimationFrame,R={now:z,frame:function(t){var e=O(t);return{cancel:function(){return D(e)}}},getImageData:function(t,e){void 0===e&&(e=0);var r=self.document.createElement("canvas"),n=r.getContext("2d");if(!n)throw new Error("failed to create canvas 2d context");return r.width=t.width,r.height=t.height,n.drawImage(t,0,0,t.width,t.height),n.getImageData(-e,-e,t.width+2*e,t.height+2*e)},resolveURL:function(t){return C||(C=self.document.createElement("a")),C.href=t,C.href},hardwareConcurrency:self.navigator.hardwareConcurrency||4,get devicePixelRatio(){return self.devicePixelRatio},get prefersReducedMotion(){return!!self.matchMedia&&(null==L&&(L=self.matchMedia("(prefers-reduced-motion: reduce)")),L.matches)}},F={API_URL:"https://api.mapbox.com",get EVENTS_URL(){return this.API_URL?0===this.API_URL.indexOf("https://api.mapbox.cn")?"https://events.mapbox.cn/events/v2":0===this.API_URL.indexOf("https://api.mapbox.com")?"https://events.mapbox.com/events/v2":null:null},FEEDBACK_URL:"https://apps.mapbox.com/feedback",REQUIRE_ACCESS_TOKEN:!0,ACCESS_TOKEN:null,MAX_PARALLEL_IMAGE_REQUESTS:16},B={supported:!1,testSupport:function(t){!N&&P&&(j?U(t):I=t)}},N=!1,j=!1;function U(t){var e=t.createTexture();t.bindTexture(t.TEXTURE_2D,e);try{if(t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,P),t.isContextLost())return;B.supported=!0}catch(t){}t.deleteTexture(e),N=!0}self.document&&((P=self.document.createElement("img")).onload=function(){I&&U(I),I=null,j=!0},P.onerror=function(){N=!0,I=null},P.src="data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=");var V="01",q=function(t,e){this._transformRequestFn=t,this._customAccessToken=e,this._createSkuToken()};function H(t){return 0===t.indexOf("mapbox:")}q.prototype._createSkuToken=function(){var t=function(){for(var t="",e=0;e<10;e++)t+="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"[Math.floor(62*Math.random())];return{token:["1",V,t].join(""),tokenExpiresAt:Date.now()+432e5}}();this._skuToken=t.token,this._skuTokenExpiresAt=t.tokenExpiresAt},q.prototype._isSkuTokenExpired=function(){return Date.now()>this._skuTokenExpiresAt},q.prototype.transformRequest=function(t,e){return this._transformRequestFn&&this._transformRequestFn(t,e)||{url:t}},q.prototype.normalizeStyleURL=function(t,e){if(!H(t))return t;var r=X(t);return r.path="/styles/v1"+r.path,this._makeAPIURL(r,this._customAccessToken||e)},q.prototype.normalizeGlyphsURL=function(t,e){if(!H(t))return t;var r=X(t);return r.path="/fonts/v1"+r.path,this._makeAPIURL(r,this._customAccessToken||e)},q.prototype.normalizeSourceURL=function(t,e){if(!H(t))return t;var r=X(t);return r.path="/v4/"+r.authority+".json",r.params.push("secure"),this._makeAPIURL(r,this._customAccessToken||e)},q.prototype.normalizeSpriteURL=function(t,e,r,n){var i=X(t);return H(t)?(i.path="/styles/v1"+i.path+"/sprite"+e+r,this._makeAPIURL(i,this._customAccessToken||n)):(i.path+=""+e+r,Z(i))},q.prototype.normalizeTileURL=function(t,e){if(this._isSkuTokenExpired()&&this._createSkuToken(),t&&!H(t))return t;var r=X(t);r.path=r.path.replace(/(\.(png|jpg)\d*)(?=$)/,(R.devicePixelRatio>=2||512===e?"@2x":"")+(B.supported?".webp":"$1")),r.path=r.path.replace(/^.+\/v4\//,"/"),r.path="/v4"+r.path;var n=this._customAccessToken||function(t){for(var e=0,r=t;e<r.length;e+=1){var n=r[e].match(/^access_token=(.*)$/);if(n)return n[1]}return null}(r.params)||F.ACCESS_TOKEN;return F.REQUIRE_ACCESS_TOKEN&&n&&this._skuToken&&r.params.push("sku="+this._skuToken),this._makeAPIURL(r,n)},q.prototype.canonicalizeTileURL=function(t,e){var r=X(t);if(!r.path.match(/(^\/v4\/)/)||!r.path.match(/\.[\w]+$/))return t;var n="mapbox://tiles/";n+=r.path.replace("/v4/","");var i=r.params;return e&&(i=i.filter((function(t){return!t.match(/^access_token=/)}))),i.length&&(n+="?"+i.join("&")),n},q.prototype.canonicalizeTileset=function(t,e){for(var r=!!e&&H(e),n=[],i=0,a=t.tiles||[];i<a.length;i+=1){var o=a[i];Y(o)?n.push(this.canonicalizeTileURL(o,r)):n.push(o)}return n},q.prototype._makeAPIURL=function(t,e){var r="See https://www.mapbox.com/api-documentation/#access-tokens-and-token-scopes",n=X(F.API_URL);if(t.protocol=n.protocol,t.authority=n.authority,"/"!==n.path&&(t.path=""+n.path+t.path),!F.REQUIRE_ACCESS_TOKEN)return Z(t);if(!(e=e||F.ACCESS_TOKEN))throw new Error("An API access token is required to use Mapbox GL. "+r);if("s"===e[0])throw new Error("Use a public access token (pk.*) with Mapbox GL, not a secret access token (sk.*). "+r);return t.params=t.params.filter((function(t){return-1===t.indexOf("access_token")})),t.params.push("access_token="+e),Z(t)};var G=/^((https?:)?\/\/)?([^\/]+\.)?mapbox\.c(n|om)(\/|\?|$)/i;function Y(t){return G.test(t)}var W=/^(\w+):\/\/([^/?]*)(\/[^?]+)?\??(.+)?/;function X(t){var e=t.match(W);if(!e)throw new Error("Unable to parse URL object");return{protocol:e[1],authority:e[2],path:e[3]||"/",params:e[4]?e[4].split("&"):[]}}function Z(t){var e=t.params.length?"?"+t.params.join("&"):"";return t.protocol+"://"+t.authority+t.path+e}function J(t){if(!t)return null;var e=t.split(".");if(!e||3!==e.length)return null;try{return JSON.parse(decodeURIComponent(self.atob(e[1]).split("").map((function(t){return"%"+("00"+t.charCodeAt(0).toString(16)).slice(-2)})).join("")))}catch(t){return null}}var K=function(t){this.type=t,this.anonId=null,this.eventData={},this.queue=[],this.pendingRequest=null};K.prototype.getStorageKey=function(t){var e,r=J(F.ACCESS_TOKEN);return e=r&&r.u?self.btoa(encodeURIComponent(r.u).replace(/%([0-9A-F]{2})/g,(function(t,e){return String.fromCharCode(Number("0x"+e))}))):F.ACCESS_TOKEN||"",t?"mapbox.eventData."+t+":"+e:"mapbox.eventData:"+e},K.prototype.fetchEventData=function(){var t=E("localStorage"),e=this.getStorageKey(),r=this.getStorageKey("uuid");if(t)try{var n=self.localStorage.getItem(e);n&&(this.eventData=JSON.parse(n));var i=self.localStorage.getItem(r);i&&(this.anonId=i)}catch(t){_("Unable to read from LocalStorage")}},K.prototype.saveEventData=function(){var t=E("localStorage"),e=this.getStorageKey(),r=this.getStorageKey("uuid");if(t)try{self.localStorage.setItem(r,this.anonId),Object.keys(this.eventData).length>=1&&self.localStorage.setItem(e,JSON.stringify(this.eventData))}catch(t){_("Unable to write to LocalStorage")}},K.prototype.processRequests=function(t){},K.prototype.postEvent=function(t,e,r,n){var i=this;if(F.EVENTS_URL){var a=X(F.EVENTS_URL);a.params.push("access_token="+(n||F.ACCESS_TOKEN||""));var o={event:this.type,created:new Date(t).toISOString(),sdkIdentifier:"mapbox-gl-js",sdkVersion:"1.10.1",skuId:V,userId:this.anonId},s=e?u(o,e):o,l={url:Z(a),headers:{"Content-Type":"text/plain"},body:JSON.stringify([s])};this.pendingRequest=xt(l,(function(t){i.pendingRequest=null,r(t),i.saveEventData(),i.processRequests(n)}))}},K.prototype.queueRequest=function(t,e){this.queue.push(t),this.processRequests(e)};var Q,$,tt=function(t){function e(){t.call(this,"map.load"),this.success={},this.skuToken=""}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.postMapLoadEvent=function(t,e,r,n){this.skuToken=r,(F.EVENTS_URL&&n||F.ACCESS_TOKEN&&Array.isArray(t)&&t.some((function(t){return H(t)||Y(t)})))&&this.queueRequest({id:e,timestamp:Date.now()},n)},e.prototype.processRequests=function(t){var e=this;if(!this.pendingRequest&&0!==this.queue.length){var r=this.queue.shift(),n=r.id,i=r.timestamp;n&&this.success[n]||(this.anonId||this.fetchEventData(),d(this.anonId)||(this.anonId=p()),this.postEvent(i,{skuToken:this.skuToken},(function(t){t||n&&(e.success[n]=!0)}),t))}},e}(K),et=new(function(t){function e(e){t.call(this,"appUserTurnstile"),this._customAccessToken=e}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.postTurnstileEvent=function(t,e){F.EVENTS_URL&&F.ACCESS_TOKEN&&Array.isArray(t)&&t.some((function(t){return H(t)||Y(t)}))&&this.queueRequest(Date.now(),e)},e.prototype.processRequests=function(t){var e=this;if(!this.pendingRequest&&0!==this.queue.length){this.anonId&&this.eventData.lastSuccess&&this.eventData.tokenU||this.fetchEventData();var r=J(F.ACCESS_TOKEN),n=r?r.u:F.ACCESS_TOKEN,i=n!==this.eventData.tokenU;d(this.anonId)||(this.anonId=p(),i=!0);var a=this.queue.shift();if(this.eventData.lastSuccess){var o=new Date(this.eventData.lastSuccess),s=new Date(a),l=(a-this.eventData.lastSuccess)/864e5;i=i||l>=1||l<-1||o.getDate()!==s.getDate()}else i=!0;if(!i)return this.processRequests();this.postEvent(a,{"enabled.telemetry":!1},(function(t){t||(e.eventData.lastSuccess=a,e.eventData.tokenU=n)}),t)}},e}(K)),rt=et.postTurnstileEvent.bind(et),nt=new tt,it=nt.postMapLoadEvent.bind(nt),at=500,ot=50;function st(){self.caches&&!Q&&(Q=self.caches.open("mapbox-tiles"))}function lt(t){var e=t.indexOf("?");return e<0?t:t.slice(0,e)}var ct,ut=1/0;function ft(){return null==ct&&(ct=self.OffscreenCanvas&&new self.OffscreenCanvas(1,1).getContext("2d")&&"function"==typeof self.createImageBitmap),ct}var ht={Unknown:"Unknown",Style:"Style",Source:"Source",Tile:"Tile",Glyphs:"Glyphs",SpriteImage:"SpriteImage",SpriteJSON:"SpriteJSON",Image:"Image"};"function"==typeof Object.freeze&&Object.freeze(ht);var pt,dt,gt=function(t){function e(e,r,n){401===r&&Y(n)&&(e+=": you may have provided an invalid Mapbox access token. See https://www.mapbox.com/api-documentation/#access-tokens-and-token-scopes"),t.call(this,e),this.status=r,this.url=n,this.name=this.constructor.name,this.message=e}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.toString=function(){return this.name+": "+this.message+" ("+this.status+"): "+this.url},e}(Error),mt=k()?function(){return self.worker&&self.worker.referrer}:function(){return("blob:"===self.location.protocol?self.parent:self).location.href},vt=function(t,e){if(!(/^file:/.test(r=t.url)||/^file:/.test(mt())&&!/^\w+:/.test(r))){if(self.fetch&&self.Request&&self.AbortController&&self.Request.prototype.hasOwnProperty("signal"))return function(t,e){var r,n=new self.AbortController,i=new self.Request(t.url,{method:t.method||"GET",body:t.body,credentials:t.credentials,headers:t.headers,referrer:mt(),signal:n.signal}),a=!1,o=!1,s=(r=i.url).indexOf("sku=")>0&&Y(r);"json"===t.type&&i.headers.set("Accept","application/json");var l=function(r,n,a){if(!o){if(r&&"SecurityError"!==r.message&&_(r),n&&a)return c(n);var l=Date.now();self.fetch(i).then((function(r){if(r.ok){var n=s?r.clone():null;return c(r,n,l)}return e(new gt(r.statusText,r.status,t.url))})).catch((function(t){20!==t.code&&e(new Error(t.message))}))}},c=function(r,n,s){("arrayBuffer"===t.type?r.arrayBuffer():"json"===t.type?r.json():r.text()).then((function(t){o||(n&&s&&function(t,e,r){if(st(),Q){var n={status:e.status,statusText:e.statusText,headers:new self.Headers};e.headers.forEach((function(t,e){return n.headers.set(e,t)}));var i=M(e.headers.get("Cache-Control")||"");i["no-store"]||(i["max-age"]&&n.headers.set("Expires",new Date(r+1e3*i["max-age"]).toUTCString()),new Date(n.headers.get("Expires")).getTime()-r<42e4||function(t,e){if(void 0===$)try{new Response(new ReadableStream),$=!0}catch(t){$=!1}$?e(t.body):t.blob().then(e)}(e,(function(e){var r=new self.Response(e,n);st(),Q&&Q.then((function(e){return e.put(lt(t.url),r)})).catch((function(t){return _(t.message)}))})))}}(i,n,s),a=!0,e(null,t,r.headers.get("Cache-Control"),r.headers.get("Expires")))})).catch((function(t){o||e(new Error(t.message))}))};return s?function(t,e){if(st(),!Q)return e(null);var r=lt(t.url);Q.then((function(t){t.match(r).then((function(n){var i=function(t){if(!t)return!1;var e=new Date(t.headers.get("Expires")||0),r=M(t.headers.get("Cache-Control")||"");return e>Date.now()&&!r["no-cache"]}(n);t.delete(r),i&&t.put(r,n.clone()),e(null,n,i)})).catch(e)})).catch(e)}(i,l):l(null,null),{cancel:function(){o=!0,a||n.abort()}}}(t,e);if(k()&&self.worker&&self.worker.actor)return self.worker.actor.send("getResource",t,e,void 0,!0)}var r;return function(t,e){var r=new self.XMLHttpRequest;for(var n in r.open(t.method||"GET",t.url,!0),"arrayBuffer"===t.type&&(r.responseType="arraybuffer"),t.headers)r.setRequestHeader(n,t.headers[n]);return"json"===t.type&&(r.responseType="text",r.setRequestHeader("Accept","application/json")),r.withCredentials="include"===t.credentials,r.onerror=function(){e(new Error(r.statusText))},r.onload=function(){if((r.status>=200&&r.status<300||0===r.status)&&null!==r.response){var n=r.response;if("json"===t.type)try{n=JSON.parse(r.response)}catch(t){return e(t)}e(null,n,r.getResponseHeader("Cache-Control"),r.getResponseHeader("Expires"))}else e(new gt(r.statusText,r.status,t.url))},r.send(t.body),{cancel:function(){return r.abort()}}}(t,e)},yt=function(t,e){return vt(u(t,{type:"arrayBuffer"}),e)},xt=function(t,e){return vt(u(t,{method:"POST"}),e)};pt=[],dt=0;var bt=function(t,e){if(B.supported&&(t.headers||(t.headers={}),t.headers.accept="image/webp,*/*"),dt>=F.MAX_PARALLEL_IMAGE_REQUESTS){var r={requestParameters:t,callback:e,cancelled:!1,cancel:function(){this.cancelled=!0}};return pt.push(r),r}dt++;var n=!1,i=function(){if(!n)for(n=!0,dt--;pt.length&&dt<F.MAX_PARALLEL_IMAGE_REQUESTS;){var t=pt.shift();t.cancelled||(t.cancel=bt(t.requestParameters,t.callback).cancel)}},a=yt(t,(function(t,r,n,a){i(),t?e(t):r&&(ft()?function(t,e){var r=new self.Blob([new Uint8Array(t)],{type:"image/png"});self.createImageBitmap(r).then((function(t){e(null,t)})).catch((function(t){e(new Error("Could not load image because of "+t.message+". Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported."))}))}(r,e):function(t,e,r,n){var i=new self.Image,a=self.URL;i.onload=function(){e(null,i),a.revokeObjectURL(i.src)},i.onerror=function(){return e(new Error("Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported."))};var o=new self.Blob([new Uint8Array(t)],{type:"image/png"});i.cacheControl=r,i.expires=n,i.src=t.byteLength?a.createObjectURL(o):"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII="}(r,e,n,a))}));return{cancel:function(){a.cancel(),i()}}};function _t(t,e,r){r[t]&&-1!==r[t].indexOf(e)||(r[t]=r[t]||[],r[t].push(e))}function wt(t,e,r){if(r&&r[t]){var n=r[t].indexOf(e);-1!==n&&r[t].splice(n,1)}}var Tt=function(t,e){void 0===e&&(e={}),u(this,e),this.type=t},kt=function(t){function e(e,r){void 0===r&&(r={}),t.call(this,"error",u({error:e},r))}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e}(Tt),Mt=function(){};Mt.prototype.on=function(t,e){return this._listeners=this._listeners||{},_t(t,e,this._listeners),this},Mt.prototype.off=function(t,e){return wt(t,e,this._listeners),wt(t,e,this._oneTimeListeners),this},Mt.prototype.once=function(t,e){return this._oneTimeListeners=this._oneTimeListeners||{},_t(t,e,this._oneTimeListeners),this},Mt.prototype.fire=function(t,e){"string"==typeof t&&(t=new Tt(t,e||{}));var r=t.type;if(this.listens(r)){t.target=this;for(var n=0,i=this._listeners&&this._listeners[r]?this._listeners[r].slice():[];n<i.length;n+=1)i[n].call(this,t);for(var a=0,o=this._oneTimeListeners&&this._oneTimeListeners[r]?this._oneTimeListeners[r].slice():[];a<o.length;a+=1){var s=o[a];wt(r,s,this._oneTimeListeners),s.call(this,t)}var l=this._eventedParent;l&&(u(t,"function"==typeof this._eventedParentData?this._eventedParentData():this._eventedParentData),l.fire(t))}else t instanceof kt&&console.error(t.error);return this},Mt.prototype.listens=function(t){return this._listeners&&this._listeners[t]&&this._listeners[t].length>0||this._oneTimeListeners&&this._oneTimeListeners[t]&&this._oneTimeListeners[t].length>0||this._eventedParent&&this._eventedParent.listens(t)},Mt.prototype.setEventedParent=function(t,e){return this._eventedParent=t,this._eventedParentData=e,this};var At={$version:8,$root:{version:{required:!0,type:"enum",values:[8]},name:{type:"string"},metadata:{type:"*"},center:{type:"array",value:"number"},zoom:{type:"number"},bearing:{type:"number",default:0,period:360,units:"degrees"},pitch:{type:"number",default:0,units:"degrees"},light:{type:"light"},sources:{required:!0,type:"sources"},sprite:{type:"string"},glyphs:{type:"string"},transition:{type:"transition"},layers:{required:!0,type:"array",value:"layer"}},sources:{"*":{type:"source"}},source:["source_vector","source_raster","source_raster_dem","source_geojson","source_video","source_image"],source_vector:{type:{required:!0,type:"enum",values:{vector:{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},scheme:{type:"enum",values:{xyz:{},tms:{}},default:"xyz"},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},attribution:{type:"string"},promoteId:{type:"promoteId"},"*":{type:"*"}},source_raster:{type:{required:!0,type:"enum",values:{raster:{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},tileSize:{type:"number",default:512,units:"pixels"},scheme:{type:"enum",values:{xyz:{},tms:{}},default:"xyz"},attribution:{type:"string"},"*":{type:"*"}},source_raster_dem:{type:{required:!0,type:"enum",values:{"raster-dem":{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},tileSize:{type:"number",default:512,units:"pixels"},attribution:{type:"string"},encoding:{type:"enum",values:{terrarium:{},mapbox:{}},default:"mapbox"},"*":{type:"*"}},source_geojson:{type:{required:!0,type:"enum",values:{geojson:{}}},data:{type:"*"},maxzoom:{type:"number",default:18},attribution:{type:"string"},buffer:{type:"number",default:128,maximum:512,minimum:0},tolerance:{type:"number",default:.375},cluster:{type:"boolean",default:!1},clusterRadius:{type:"number",default:50,minimum:0},clusterMaxZoom:{type:"number"},clusterProperties:{type:"*"},lineMetrics:{type:"boolean",default:!1},generateId:{type:"boolean",default:!1},promoteId:{type:"promoteId"}},source_video:{type:{required:!0,type:"enum",values:{video:{}}},urls:{required:!0,type:"array",value:"string"},coordinates:{required:!0,type:"array",length:4,value:{type:"array",length:2,value:"number"}}},source_image:{type:{required:!0,type:"enum",values:{image:{}}},url:{required:!0,type:"string"},coordinates:{required:!0,type:"array",length:4,value:{type:"array",length:2,value:"number"}}},layer:{id:{type:"string",required:!0},type:{type:"enum",values:{fill:{},line:{},symbol:{},circle:{},heatmap:{},"fill-extrusion":{},raster:{},hillshade:{},background:{}},required:!0},metadata:{type:"*"},source:{type:"string"},"source-layer":{type:"string"},minzoom:{type:"number",minimum:0,maximum:24},maxzoom:{type:"number",minimum:0,maximum:24},filter:{type:"filter"},layout:{type:"layout"},paint:{type:"paint"}},layout:["layout_fill","layout_line","layout_circle","layout_heatmap","layout_fill-extrusion","layout_symbol","layout_raster","layout_hillshade","layout_background"],layout_background:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_fill:{"fill-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_circle:{"circle-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_heatmap:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},"layout_fill-extrusion":{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_line:{"line-cap":{type:"enum",values:{butt:{},round:{},square:{}},default:"butt",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"line-join":{type:"enum",values:{bevel:{},round:{},miter:{}},default:"miter",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"line-miter-limit":{type:"number",default:2,requires:[{"line-join":"miter"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-round-limit":{type:"number",default:1.05,requires:[{"line-join":"round"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_symbol:{"symbol-placement":{type:"enum",values:{point:{},line:{},"line-center":{}},default:"point",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"symbol-spacing":{type:"number",default:250,minimum:1,units:"pixels",requires:[{"symbol-placement":"line"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"symbol-avoid-edges":{type:"boolean",default:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"symbol-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"symbol-z-order":{type:"enum",values:{auto:{},"viewport-y":{},source:{}},default:"auto",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-allow-overlap":{type:"boolean",default:!1,requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-ignore-placement":{type:"boolean",default:!1,requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-optional":{type:"boolean",default:!1,requires:["icon-image","text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-rotation-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-size":{type:"number",default:1,minimum:0,units:"factor of the original icon size",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-text-fit":{type:"enum",values:{none:{},width:{},height:{},both:{}},default:"none",requires:["icon-image","text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-text-fit-padding":{type:"array",value:"number",length:4,default:[0,0,0,0],units:"pixels",requires:["icon-image","text-field",{"icon-text-fit":["both","width","height"]}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-image":{type:"resolvedImage",tokens:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-rotate":{type:"number",default:0,period:360,units:"degrees",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-padding":{type:"number",default:2,minimum:0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-keep-upright":{type:"boolean",default:!1,requires:["icon-image",{"icon-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-offset":{type:"array",value:"number",length:2,default:[0,0],requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-anchor":{type:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},default:"center",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-pitch-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-pitch-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-rotation-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-field":{type:"formatted",default:"",tokens:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-font":{type:"array",value:"string",default:["Open Sans Regular","Arial Unicode MS Regular"],requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-size":{type:"number",default:16,minimum:0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-max-width":{type:"number",default:10,minimum:0,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-line-height":{type:"number",default:1.2,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-letter-spacing":{type:"number",default:0,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-justify":{type:"enum",values:{auto:{},left:{},center:{},right:{}},default:"center",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-radial-offset":{type:"number",units:"ems",default:0,requires:["text-field"],"property-type":"data-driven",expression:{interpolated:!0,parameters:["zoom","feature"]}},"text-variable-anchor":{type:"array",value:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-anchor":{type:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},default:"center",requires:["text-field",{"!":"text-variable-anchor"}],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-max-angle":{type:"number",default:45,units:"degrees",requires:["text-field",{"symbol-placement":["line","line-center"]}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-writing-mode":{type:"array",value:"enum",values:{horizontal:{},vertical:{}},requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-rotate":{type:"number",default:0,period:360,units:"degrees",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-padding":{type:"number",default:2,minimum:0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-keep-upright":{type:"boolean",default:!0,requires:["text-field",{"text-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-transform":{type:"enum",values:{none:{},uppercase:{},lowercase:{}},default:"none",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-offset":{type:"array",value:"number",units:"ems",length:2,default:[0,0],requires:["text-field",{"!":"text-radial-offset"}],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-allow-overlap":{type:"boolean",default:!1,requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-ignore-placement":{type:"boolean",default:!1,requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-optional":{type:"boolean",default:!1,requires:["text-field","icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_raster:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_hillshade:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},filter:{type:"array",value:"*"},filter_operator:{type:"enum",values:{"==":{},"!=":{},">":{},">=":{},"<":{},"<=":{},in:{},"!in":{},all:{},any:{},none:{},has:{},"!has":{},within:{}}},geometry_type:{type:"enum",values:{Point:{},LineString:{},Polygon:{}}},function:{expression:{type:"expression"},stops:{type:"array",value:"function_stop"},base:{type:"number",default:1,minimum:0},property:{type:"string",default:"$zoom"},type:{type:"enum",values:{identity:{},exponential:{},interval:{},categorical:{}},default:"exponential"},colorSpace:{type:"enum",values:{rgb:{},lab:{},hcl:{}},default:"rgb"},default:{type:"*",required:!1}},function_stop:{type:"array",minimum:0,maximum:24,value:["number","color"],length:2},expression:{type:"array",value:"*",minimum:1},expression_name:{type:"enum",values:{let:{group:"Variable binding"},var:{group:"Variable binding"},literal:{group:"Types"},array:{group:"Types"},at:{group:"Lookup"},in:{group:"Lookup"},"index-of":{group:"Lookup"},slice:{group:"Lookup"},case:{group:"Decision"},match:{group:"Decision"},coalesce:{group:"Decision"},step:{group:"Ramps, scales, curves"},interpolate:{group:"Ramps, scales, curves"},"interpolate-hcl":{group:"Ramps, scales, curves"},"interpolate-lab":{group:"Ramps, scales, curves"},ln2:{group:"Math"},pi:{group:"Math"},e:{group:"Math"},typeof:{group:"Types"},string:{group:"Types"},number:{group:"Types"},boolean:{group:"Types"},object:{group:"Types"},collator:{group:"Types"},format:{group:"Types"},image:{group:"Types"},"number-format":{group:"Types"},"to-string":{group:"Types"},"to-number":{group:"Types"},"to-boolean":{group:"Types"},"to-rgba":{group:"Color"},"to-color":{group:"Types"},rgb:{group:"Color"},rgba:{group:"Color"},get:{group:"Lookup"},has:{group:"Lookup"},length:{group:"Lookup"},properties:{group:"Feature data"},"feature-state":{group:"Feature data"},"geometry-type":{group:"Feature data"},id:{group:"Feature data"},zoom:{group:"Zoom"},"heatmap-density":{group:"Heatmap"},"line-progress":{group:"Feature data"},accumulated:{group:"Feature data"},"+":{group:"Math"},"*":{group:"Math"},"-":{group:"Math"},"/":{group:"Math"},"%":{group:"Math"},"^":{group:"Math"},sqrt:{group:"Math"},log10:{group:"Math"},ln:{group:"Math"},log2:{group:"Math"},sin:{group:"Math"},cos:{group:"Math"},tan:{group:"Math"},asin:{group:"Math"},acos:{group:"Math"},atan:{group:"Math"},min:{group:"Math"},max:{group:"Math"},round:{group:"Math"},abs:{group:"Math"},ceil:{group:"Math"},floor:{group:"Math"},distance:{group:"Math"},"==":{group:"Decision"},"!=":{group:"Decision"},">":{group:"Decision"},"<":{group:"Decision"},">=":{group:"Decision"},"<=":{group:"Decision"},all:{group:"Decision"},any:{group:"Decision"},"!":{group:"Decision"},within:{group:"Decision"},"is-supported-script":{group:"String"},upcase:{group:"String"},downcase:{group:"String"},concat:{group:"String"},"resolved-locale":{group:"String"}}},light:{anchor:{type:"enum",default:"viewport",values:{map:{},viewport:{}},"property-type":"data-constant",transition:!1,expression:{interpolated:!1,parameters:["zoom"]}},position:{type:"array",default:[1.15,210,30],length:3,value:"number","property-type":"data-constant",transition:!0,expression:{interpolated:!0,parameters:["zoom"]}},color:{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},intensity:{type:"number","property-type":"data-constant",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0}},paint:["paint_fill","paint_line","paint_circle","paint_heatmap","paint_fill-extrusion","paint_symbol","paint_raster","paint_hillshade","paint_background"],paint_fill:{"fill-antialias":{type:"boolean",default:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-outline-color":{type:"color",transition:!0,requires:[{"!":"fill-pattern"},{"fill-antialias":!0}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"}},"paint_fill-extrusion":{"fill-extrusion-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-extrusion-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-extrusion-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"fill-extrusion-height":{type:"number",default:0,minimum:0,units:"meters",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-base":{type:"number",default:0,minimum:0,units:"meters",transition:!0,requires:["fill-extrusion-height"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-vertical-gradient":{type:"boolean",default:!0,transition:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_line:{"line-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"line-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["line-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"line-width":{type:"number",default:1,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-gap-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-offset":{type:"number",default:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-dasharray":{type:"array",value:"number",minimum:0,transition:!0,units:"line widths",requires:[{"!":"line-pattern"}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"line-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"line-gradient":{type:"color",transition:!1,requires:[{"!":"line-dasharray"},{"!":"line-pattern"},{source:"geojson",has:{lineMetrics:!0}}],expression:{interpolated:!0,parameters:["line-progress"]},"property-type":"color-ramp"}},paint_circle:{"circle-radius":{type:"number",default:5,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-blur":{type:"number",default:0,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"circle-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["circle-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-scale":{type:"enum",values:{map:{},viewport:{}},default:"map",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-alignment":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-stroke-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"}},paint_heatmap:{"heatmap-radius":{type:"number",default:30,minimum:1,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-weight":{type:"number",default:1,minimum:0,transition:!1,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-intensity":{type:"number",default:1,minimum:0,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"heatmap-color":{type:"color",default:["interpolate",["linear"],["heatmap-density"],0,"rgba(0, 0, 255, 0)",.1,"royalblue",.3,"cyan",.5,"lime",.7,"yellow",1,"red"],transition:!1,expression:{interpolated:!0,parameters:["heatmap-density"]},"property-type":"color-ramp"},"heatmap-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_symbol:{"icon-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-color":{type:"color",default:"#000000",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["icon-image","icon-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-color":{type:"color",default:"#000000",transition:!0,overridable:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["text-field","text-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_raster:{"raster-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-hue-rotate":{type:"number",default:0,period:360,transition:!0,units:"degrees",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-min":{type:"number",default:0,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-max":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-saturation":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-contrast":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-resampling":{type:"enum",values:{linear:{},nearest:{}},default:"linear",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"raster-fade-duration":{type:"number",default:300,minimum:0,transition:!1,units:"milliseconds",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_hillshade:{"hillshade-illumination-direction":{type:"number",default:335,minimum:0,maximum:359,transition:!1,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-illumination-anchor":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-exaggeration":{type:"number",default:.5,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-shadow-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-highlight-color":{type:"color",default:"#FFFFFF",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-accent-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_background:{"background-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"background-pattern"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"background-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"background-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},transition:{duration:{type:"number",default:300,minimum:0,units:"milliseconds"},delay:{type:"number",default:0,minimum:0,units:"milliseconds"}},"property-type":{"data-driven":{type:"property-type"},"cross-faded":{type:"property-type"},"cross-faded-data-driven":{type:"property-type"},"color-ramp":{type:"property-type"},"data-constant":{type:"property-type"},constant:{type:"property-type"}},promoteId:{"*":{type:"string"}}},St=function(t,e,r,n){this.message=(t?t+": ":"")+r,n&&(this.identifier=n),null!=e&&e.__line__&&(this.line=e.__line__)};function Et(t){var e=t.value;return e?[new St(t.key,e,"constants have been deprecated as of v8")]:[]}function Ct(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];for(var n=0,i=e;n<i.length;n+=1){var a=i[n];for(var o in a)t[o]=a[o]}return t}function Lt(t){return t instanceof Number||t instanceof String||t instanceof Boolean?t.valueOf():t}function It(t){if(Array.isArray(t))return t.map(It);if(t instanceof Object&&!(t instanceof Number||t instanceof String||t instanceof Boolean)){var e={};for(var r in t)e[r]=It(t[r]);return e}return Lt(t)}var Pt=function(t){function e(e,r){t.call(this,r),this.message=r,this.key=e}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e}(Error),zt=function(t,e){void 0===e&&(e=[]),this.parent=t,this.bindings={};for(var r=0,n=e;r<n.length;r+=1){var i=n[r];this.bindings[i[0]]=i[1]}};zt.prototype.concat=function(t){return new zt(this,t)},zt.prototype.get=function(t){if(this.bindings[t])return this.bindings[t];if(this.parent)return this.parent.get(t);throw new Error(t+" not found in scope.")},zt.prototype.has=function(t){return!!this.bindings[t]||!!this.parent&&this.parent.has(t)};var Ot={kind:"null"},Dt={kind:"number"},Rt={kind:"string"},Ft={kind:"boolean"},Bt={kind:"color"},Nt={kind:"object"},jt={kind:"value"},Ut={kind:"collator"},Vt={kind:"formatted"},qt={kind:"resolvedImage"};function Ht(t,e){return{kind:"array",itemType:t,N:e}}function Gt(t){if("array"===t.kind){var e=Gt(t.itemType);return"number"==typeof t.N?"array<"+e+", "+t.N+">":"value"===t.itemType.kind?"array":"array<"+e+">"}return t.kind}var Yt=[Ot,Dt,Rt,Ft,Bt,Vt,Nt,Ht(jt),qt];function Wt(t,e){if("error"===e.kind)return null;if("array"===t.kind){if("array"===e.kind&&(0===e.N&&"value"===e.itemType.kind||!Wt(t.itemType,e.itemType))&&("number"!=typeof t.N||t.N===e.N))return null}else{if(t.kind===e.kind)return null;if("value"===t.kind)for(var r=0,n=Yt;r<n.length;r+=1)if(!Wt(n[r],e))return null}return"Expected "+Gt(t)+" but found "+Gt(e)+" instead."}function Xt(t,e){return e.some((function(e){return e.kind===t.kind}))}function Zt(t,e){return e.some((function(e){return"null"===e?null===t:"array"===e?Array.isArray(t):"object"===e?t&&!Array.isArray(t)&&"object"==typeof t:e===typeof t}))}var Jt=e((function(t,e){var r={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],rebeccapurple:[102,51,153,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};function n(t){return(t=Math.round(t))<0?0:t>255?255:t}function i(t){return n("%"===t[t.length-1]?parseFloat(t)/100*255:parseInt(t))}function a(t){return(e="%"===t[t.length-1]?parseFloat(t)/100:parseFloat(t))<0?0:e>1?1:e;var e}function o(t,e,r){return r<0?r+=1:r>1&&(r-=1),6*r<1?t+(e-t)*r*6:2*r<1?e:3*r<2?t+(e-t)*(2/3-r)*6:t}try{e.parseCSSColor=function(t){var e,s=t.replace(/ /g,"").toLowerCase();if(s in r)return r[s].slice();if("#"===s[0])return 4===s.length?(e=parseInt(s.substr(1),16))>=0&&e<=4095?[(3840&e)>>4|(3840&e)>>8,240&e|(240&e)>>4,15&e|(15&e)<<4,1]:null:7===s.length&&(e=parseInt(s.substr(1),16))>=0&&e<=16777215?[(16711680&e)>>16,(65280&e)>>8,255&e,1]:null;var l=s.indexOf("("),c=s.indexOf(")");if(-1!==l&&c+1===s.length){var u=s.substr(0,l),f=s.substr(l+1,c-(l+1)).split(","),h=1;switch(u){case"rgba":if(4!==f.length)return null;h=a(f.pop());case"rgb":return 3!==f.length?null:[i(f[0]),i(f[1]),i(f[2]),h];case"hsla":if(4!==f.length)return null;h=a(f.pop());case"hsl":if(3!==f.length)return null;var p=(parseFloat(f[0])%360+360)%360/360,d=a(f[1]),g=a(f[2]),m=g<=.5?g*(d+1):g+d-g*d,v=2*g-m;return[n(255*o(v,m,p+1/3)),n(255*o(v,m,p)),n(255*o(v,m,p-1/3)),h];default:return null}}return null}}catch(t){}})).parseCSSColor,Kt=function(t,e,r,n){void 0===n&&(n=1),this.r=t,this.g=e,this.b=r,this.a=n};Kt.parse=function(t){if(t){if(t instanceof Kt)return t;if("string"==typeof t){var e=Jt(t);if(e)return new Kt(e[0]/255*e[3],e[1]/255*e[3],e[2]/255*e[3],e[3])}}},Kt.prototype.toString=function(){var t=this.toArray(),e=t[1],r=t[2],n=t[3];return"rgba("+Math.round(t[0])+","+Math.round(e)+","+Math.round(r)+","+n+")"},Kt.prototype.toArray=function(){var t=this.a;return 0===t?[0,0,0,0]:[255*this.r/t,255*this.g/t,255*this.b/t,t]},Kt.black=new Kt(0,0,0,1),Kt.white=new Kt(1,1,1,1),Kt.transparent=new Kt(0,0,0,0),Kt.red=new Kt(1,0,0,1);var Qt=function(t,e,r){this.sensitivity=t?e?"variant":"case":e?"accent":"base",this.locale=r,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:"search"})};Qt.prototype.compare=function(t,e){return this.collator.compare(t,e)},Qt.prototype.resolvedLocale=function(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale};var $t=function(t,e,r,n,i){this.text=t,this.image=e,this.scale=r,this.fontStack=n,this.textColor=i},te=function(t){this.sections=t};te.fromString=function(t){return new te([new $t(t,null,null,null,null)])},te.prototype.isEmpty=function(){return 0===this.sections.length||!this.sections.some((function(t){return 0!==t.text.length||t.image&&0!==t.image.name.length}))},te.factory=function(t){return t instanceof te?t:te.fromString(t)},te.prototype.toString=function(){return 0===this.sections.length?"":this.sections.map((function(t){return t.text})).join("")},te.prototype.serialize=function(){for(var t=["format"],e=0,r=this.sections;e<r.length;e+=1){var n=r[e];if(n.image)t.push(["image",n.image.name]);else{t.push(n.text);var i={};n.fontStack&&(i["text-font"]=["literal",n.fontStack.split(",")]),n.scale&&(i["font-scale"]=n.scale),n.textColor&&(i["text-color"]=["rgba"].concat(n.textColor.toArray())),t.push(i)}}return t};var ee=function(t){this.name=t.name,this.available=t.available};function re(t,e,r,n){return"number"==typeof t&&t>=0&&t<=255&&"number"==typeof e&&e>=0&&e<=255&&"number"==typeof r&&r>=0&&r<=255?void 0===n||"number"==typeof n&&n>=0&&n<=1?null:"Invalid rgba value ["+[t,e,r,n].join(", ")+"]: 'a' must be between 0 and 1.":"Invalid rgba value ["+("number"==typeof n?[t,e,r,n]:[t,e,r]).join(", ")+"]: 'r', 'g', and 'b' must be between 0 and 255."}function ne(t){if(null===t)return!0;if("string"==typeof t)return!0;if("boolean"==typeof t)return!0;if("number"==typeof t)return!0;if(t instanceof Kt)return!0;if(t instanceof Qt)return!0;if(t instanceof te)return!0;if(t instanceof ee)return!0;if(Array.isArray(t)){for(var e=0,r=t;e<r.length;e+=1)if(!ne(r[e]))return!1;return!0}if("object"==typeof t){for(var n in t)if(!ne(t[n]))return!1;return!0}return!1}function ie(t){if(null===t)return Ot;if("string"==typeof t)return Rt;if("boolean"==typeof t)return Ft;if("number"==typeof t)return Dt;if(t instanceof Kt)return Bt;if(t instanceof Qt)return Ut;if(t instanceof te)return Vt;if(t instanceof ee)return qt;if(Array.isArray(t)){for(var e,r=t.length,n=0,i=t;n<i.length;n+=1){var a=ie(i[n]);if(e){if(e===a)continue;e=jt;break}e=a}return Ht(e||jt,r)}return Nt}function ae(t){var e=typeof t;return null===t?"":"string"===e||"number"===e||"boolean"===e?String(t):t instanceof Kt||t instanceof te||t instanceof ee?t.toString():JSON.stringify(t)}ee.prototype.toString=function(){return this.name},ee.fromString=function(t){return t?new ee({name:t,available:!1}):null},ee.prototype.serialize=function(){return["image",this.name]};var oe=function(t,e){this.type=t,this.value=e};oe.parse=function(t,e){if(2!==t.length)return e.error("'literal' expression requires exactly one argument, but found "+(t.length-1)+" instead.");if(!ne(t[1]))return e.error("invalid value");var r=t[1],n=ie(r),i=e.expectedType;return"array"!==n.kind||0!==n.N||!i||"array"!==i.kind||"number"==typeof i.N&&0!==i.N||(n=i),new oe(n,r)},oe.prototype.evaluate=function(){return this.value},oe.prototype.eachChild=function(){},oe.prototype.outputDefined=function(){return!0},oe.prototype.serialize=function(){return"array"===this.type.kind||"object"===this.type.kind?["literal",this.value]:this.value instanceof Kt?["rgba"].concat(this.value.toArray()):this.value instanceof te?this.value.serialize():this.value};var se=function(t){this.name="ExpressionEvaluationError",this.message=t};se.prototype.toJSON=function(){return this.message};var le={string:Rt,number:Dt,boolean:Ft,object:Nt},ce=function(t,e){this.type=t,this.args=e};ce.parse=function(t,e){if(t.length<2)return e.error("Expected at least one argument.");var r,n=1,i=t[0];if("array"===i){var a,o;if(t.length>2){var s=t[1];if("string"!=typeof s||!(s in le)||"object"===s)return e.error('The item type argument of "array" must be one of string, number, boolean',1);a=le[s],n++}else a=jt;if(t.length>3){if(null!==t[2]&&("number"!=typeof t[2]||t[2]<0||t[2]!==Math.floor(t[2])))return e.error('The length argument to "array" must be a positive integer literal',2);o=t[2],n++}r=Ht(a,o)}else r=le[i];for(var l=[];n<t.length;n++){var c=e.parse(t[n],n,jt);if(!c)return null;l.push(c)}return new ce(r,l)},ce.prototype.evaluate=function(t){for(var e=0;e<this.args.length;e++){var r=this.args[e].evaluate(t);if(!Wt(this.type,ie(r)))return r;if(e===this.args.length-1)throw new se("Expected value to be of type "+Gt(this.type)+", but found "+Gt(ie(r))+" instead.")}return null},ce.prototype.eachChild=function(t){this.args.forEach(t)},ce.prototype.outputDefined=function(){return this.args.every((function(t){return t.outputDefined()}))},ce.prototype.serialize=function(){var t=this.type,e=[t.kind];if("array"===t.kind){var r=t.itemType;if("string"===r.kind||"number"===r.kind||"boolean"===r.kind){e.push(r.kind);var n=t.N;("number"==typeof n||this.args.length>1)&&e.push(n)}}return e.concat(this.args.map((function(t){return t.serialize()})))};var ue=function(t){this.type=Vt,this.sections=t};ue.parse=function(t,e){if(t.length<2)return e.error("Expected at least one argument.");var r=t[1];if(!Array.isArray(r)&&"object"==typeof r)return e.error("First argument must be an image or text section.");for(var n=[],i=!1,a=1;a<=t.length-1;++a){var o=t[a];if(i&&"object"==typeof o&&!Array.isArray(o)){i=!1;var s=null;if(o["font-scale"]&&!(s=e.parse(o["font-scale"],1,Dt)))return null;var l=null;if(o["text-font"]&&!(l=e.parse(o["text-font"],1,Ht(Rt))))return null;var c=null;if(o["text-color"]&&!(c=e.parse(o["text-color"],1,Bt)))return null;var u=n[n.length-1];u.scale=s,u.font=l,u.textColor=c}else{var f=e.parse(t[a],1,jt);if(!f)return null;var h=f.type.kind;if("string"!==h&&"value"!==h&&"null"!==h&&"resolvedImage"!==h)return e.error("Formatted text type must be 'string', 'value', 'image' or 'null'.");i=!0,n.push({content:f,scale:null,font:null,textColor:null})}}return new ue(n)},ue.prototype.evaluate=function(t){return new te(this.sections.map((function(e){var r=e.content.evaluate(t);return ie(r)===qt?new $t("",r,null,null,null):new $t(ae(r),null,e.scale?e.scale.evaluate(t):null,e.font?e.font.evaluate(t).join(","):null,e.textColor?e.textColor.evaluate(t):null)})))},ue.prototype.eachChild=function(t){for(var e=0,r=this.sections;e<r.length;e+=1){var n=r[e];t(n.content),n.scale&&t(n.scale),n.font&&t(n.font),n.textColor&&t(n.textColor)}},ue.prototype.outputDefined=function(){return!1},ue.prototype.serialize=function(){for(var t=["format"],e=0,r=this.sections;e<r.length;e+=1){var n=r[e];t.push(n.content.serialize());var i={};n.scale&&(i["font-scale"]=n.scale.serialize()),n.font&&(i["text-font"]=n.font.serialize()),n.textColor&&(i["text-color"]=n.textColor.serialize()),t.push(i)}return t};var fe=function(t){this.type=qt,this.input=t};fe.parse=function(t,e){if(2!==t.length)return e.error("Expected two arguments.");var r=e.parse(t[1],1,Rt);return r?new fe(r):e.error("No image name provided.")},fe.prototype.evaluate=function(t){var e=this.input.evaluate(t),r=ee.fromString(e);return r&&t.availableImages&&(r.available=t.availableImages.indexOf(e)>-1),r},fe.prototype.eachChild=function(t){t(this.input)},fe.prototype.outputDefined=function(){return!1},fe.prototype.serialize=function(){return["image",this.input.serialize()]};var he={"to-boolean":Ft,"to-color":Bt,"to-number":Dt,"to-string":Rt},pe=function(t,e){this.type=t,this.args=e};pe.parse=function(t,e){if(t.length<2)return e.error("Expected at least one argument.");var r=t[0];if(("to-boolean"===r||"to-string"===r)&&2!==t.length)return e.error("Expected one argument.");for(var n=he[r],i=[],a=1;a<t.length;a++){var o=e.parse(t[a],a,jt);if(!o)return null;i.push(o)}return new pe(n,i)},pe.prototype.evaluate=function(t){if("boolean"===this.type.kind)return Boolean(this.args[0].evaluate(t));if("color"===this.type.kind){for(var e,r,n=0,i=this.args;n<i.length;n+=1){if(r=null,(e=i[n].evaluate(t))instanceof Kt)return e;if("string"==typeof e){var a=t.parseColor(e);if(a)return a}else if(Array.isArray(e)&&!(r=e.length<3||e.length>4?"Invalid rbga value "+JSON.stringify(e)+": expected an array containing either three or four numeric values.":re(e[0],e[1],e[2],e[3])))return new Kt(e[0]/255,e[1]/255,e[2]/255,e[3])}throw new se(r||"Could not parse color from value '"+("string"==typeof e?e:String(JSON.stringify(e)))+"'")}if("number"===this.type.kind){for(var o=null,s=0,l=this.args;s<l.length;s+=1){if(null===(o=l[s].evaluate(t)))return 0;var c=Number(o);if(!isNaN(c))return c}throw new se("Could not convert "+JSON.stringify(o)+" to number.")}return"formatted"===this.type.kind?te.fromString(ae(this.args[0].evaluate(t))):"resolvedImage"===this.type.kind?ee.fromString(ae(this.args[0].evaluate(t))):ae(this.args[0].evaluate(t))},pe.prototype.eachChild=function(t){this.args.forEach(t)},pe.prototype.outputDefined=function(){return this.args.every((function(t){return t.outputDefined()}))},pe.prototype.serialize=function(){if("formatted"===this.type.kind)return new ue([{content:this.args[0],scale:null,font:null,textColor:null}]).serialize();if("resolvedImage"===this.type.kind)return new fe(this.args[0]).serialize();var t=["to-"+this.type.kind];return this.eachChild((function(e){t.push(e.serialize())})),t};var de=["Unknown","Point","LineString","Polygon"],ge=function(){this.globals=null,this.feature=null,this.featureState=null,this.formattedSection=null,this._parseColorCache={},this.availableImages=null,this.canonical=null};ge.prototype.id=function(){return this.feature&&"id"in this.feature?this.feature.id:null},ge.prototype.geometryType=function(){return this.feature?"number"==typeof this.feature.type?de[this.feature.type]:this.feature.type:null},ge.prototype.geometry=function(){return this.feature&&"geometry"in this.feature?this.feature.geometry:null},ge.prototype.canonicalID=function(){return this.canonical},ge.prototype.properties=function(){return this.feature&&this.feature.properties||{}},ge.prototype.parseColor=function(t){var e=this._parseColorCache[t];return e||(e=this._parseColorCache[t]=Kt.parse(t)),e};var me=function(t,e,r,n){this.name=t,this.type=e,this._evaluate=r,this.args=n};me.prototype.evaluate=function(t){return this._evaluate(t,this.args)},me.prototype.eachChild=function(t){this.args.forEach(t)},me.prototype.outputDefined=function(){return!1},me.prototype.serialize=function(){return[this.name].concat(this.args.map((function(t){return t.serialize()})))},me.parse=function(t,e){var r,n=t[0],i=me.definitions[n];if(!i)return e.error('Unknown expression "'+n+'". If you wanted a literal array, use ["literal", [...]].',0);for(var a=Array.isArray(i)?i[0]:i.type,o=Array.isArray(i)?[[i[1],i[2]]]:i.overloads,s=o.filter((function(e){var r=e[0];return!Array.isArray(r)||r.length===t.length-1})),l=null,c=0,u=s;c<u.length;c+=1){var f=u[c],h=f[0],p=f[1];l=new Be(e.registry,e.path,null,e.scope);for(var d=[],g=!1,m=1;m<t.length;m++){var v=t[m],y=Array.isArray(h)?h[m-1]:h.type,x=l.parse(v,1+d.length,y);if(!x){g=!0;break}d.push(x)}if(!g)if(Array.isArray(h)&&h.length!==d.length)l.error("Expected "+h.length+" arguments, but found "+d.length+" instead.");else{for(var b=0;b<d.length;b++){var _=Array.isArray(h)?h[b]:h.type,w=d[b];l.concat(b+1).checkSubtype(_,w.type)}if(0===l.errors.length)return new me(n,a,p,d)}}if(1===s.length)(r=e.errors).push.apply(r,l.errors);else{for(var T=(s.length?s:o).map((function(t){var e;return e=t[0],Array.isArray(e)?"("+e.map(Gt).join(", ")+")":"("+Gt(e.type)+"...)"})).join(" | "),k=[],M=1;M<t.length;M++){var A=e.parse(t[M],1+k.length);if(!A)return null;k.push(Gt(A.type))}e.error("Expected arguments of type "+T+", but found ("+k.join(", ")+") instead.")}return null},me.register=function(t,e){for(var r in me.definitions=e,e)t[r]=me};var ve=function(t,e,r){this.type=Ut,this.locale=r,this.caseSensitive=t,this.diacriticSensitive=e};function ye(t,e){t[0]=Math.min(t[0],e[0]),t[1]=Math.min(t[1],e[1]),t[2]=Math.max(t[2],e[0]),t[3]=Math.max(t[3],e[1])}function xe(t,e){return!(t[0]<=e[0]||t[2]>=e[2]||t[1]<=e[1]||t[3]>=e[3])}function be(t,e){var r=(180+t[0])/360,n=(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t[1]*Math.PI/360)))/360,i=Math.pow(2,e.z);return[Math.round(r*i*8192),Math.round(n*i*8192)]}function _e(t,e,r){return e[1]>t[1]!=r[1]>t[1]&&t[0]<(r[0]-e[0])*(t[1]-e[1])/(r[1]-e[1])+e[0]}function we(t,e){for(var r,n,i,a,o,s,l,c=!1,u=0,f=e.length;u<f;u++)for(var h=e[u],p=0,d=h.length;p<d-1;p++){if((a=(r=t)[0]-(n=h[p])[0])*(l=r[1]-(i=h[p+1])[1])-(s=r[0]-i[0])*(o=r[1]-n[1])==0&&a*s<=0&&o*l<=0)return!1;_e(t,h[p],h[p+1])&&(c=!c)}return c}function Te(t,e){for(var r=0;r<e.length;r++)if(we(t,e[r]))return!0;return!1}function ke(t,e,r,n){var i=n[0]-r[0],a=n[1]-r[1],o=(t[0]-r[0])*a-i*(t[1]-r[1]),s=(e[0]-r[0])*a-i*(e[1]-r[1]);return o>0&&s<0||o<0&&s>0}function Me(t,e,r){for(var n=0,i=r;n<i.length;n+=1)for(var a=i[n],o=0;o<a.length-1;++o)if(0!=(f=[(u=a[o+1])[0]-(c=a[o])[0],u[1]-c[1]])[0]*(h=[(l=e)[0]-(s=t)[0],l[1]-s[1]])[1]-f[1]*h[0]&&ke(s,l,c,u)&&ke(c,u,s,l))return!0;var s,l,c,u,f,h;return!1}function Ae(t,e){for(var r=0;r<t.length;++r)if(!we(t[r],e))return!1;for(var n=0;n<t.length-1;++n)if(Me(t[n],t[n+1],e))return!1;return!0}function Se(t,e){for(var r=0;r<e.length;r++)if(Ae(t,e[r]))return!0;return!1}function Ee(t,e,r){for(var n=[],i=0;i<t.length;i++){for(var a=[],o=0;o<t[i].length;o++){var s=be(t[i][o],r);ye(e,s),a.push(s)}n.push(a)}return n}function Ce(t,e,r){for(var n=[],i=0;i<t.length;i++){var a=Ee(t[i],e,r);n.push(a)}return n}function Le(t,e,r,n){if(t[0]<r[0]||t[0]>r[2]){var i=.5*n,a=t[0]-r[0]>i?-n:r[0]-t[0]>i?n:0;0===a&&(a=t[0]-r[2]>i?-n:r[2]-t[0]>i?n:0),t[0]+=a}ye(e,t)}function Ie(t,e,r,n){for(var i=8192*Math.pow(2,n.z),a=[8192*n.x,8192*n.y],o=[],s=0,l=t;s<l.length;s+=1)for(var c=0,u=l[s];c<u.length;c+=1){var f=u[c],h=[f.x+a[0],f.y+a[1]];Le(h,e,r,i),o.push(h)}return o}function Pe(t,e,r,n){for(var i,a=8192*Math.pow(2,n.z),o=[8192*n.x,8192*n.y],s=[],l=0,c=t;l<c.length;l+=1){for(var u=[],f=0,h=c[l];f<h.length;f+=1){var p=h[f],d=[p.x+o[0],p.y+o[1]];ye(e,d),u.push(d)}s.push(u)}if(e[2]-e[0]<=a/2){(i=e)[0]=i[1]=1/0,i[2]=i[3]=-1/0;for(var g=0,m=s;g<m.length;g+=1)for(var v=0,y=m[g];v<y.length;v+=1)Le(y[v],e,r,a)}return s}ve.parse=function(t,e){if(2!==t.length)return e.error("Expected one argument.");var r=t[1];if("object"!=typeof r||Array.isArray(r))return e.error("Collator options argument must be an object.");var n=e.parse(void 0!==r["case-sensitive"]&&r["case-sensitive"],1,Ft);if(!n)return null;var i=e.parse(void 0!==r["diacritic-sensitive"]&&r["diacritic-sensitive"],1,Ft);if(!i)return null;var a=null;return r.locale&&!(a=e.parse(r.locale,1,Rt))?null:new ve(n,i,a)},ve.prototype.evaluate=function(t){return new Qt(this.caseSensitive.evaluate(t),this.diacriticSensitive.evaluate(t),this.locale?this.locale.evaluate(t):null)},ve.prototype.eachChild=function(t){t(this.caseSensitive),t(this.diacriticSensitive),this.locale&&t(this.locale)},ve.prototype.outputDefined=function(){return!1},ve.prototype.serialize=function(){var t={};return t["case-sensitive"]=this.caseSensitive.serialize(),t["diacritic-sensitive"]=this.diacriticSensitive.serialize(),this.locale&&(t.locale=this.locale.serialize()),["collator",t]};var ze=function(t,e){this.type=Ft,this.geojson=t,this.geometries=e};function Oe(t){if(t instanceof me){if("get"===t.name&&1===t.args.length)return!1;if("feature-state"===t.name)return!1;if("has"===t.name&&1===t.args.length)return!1;if("properties"===t.name||"geometry-type"===t.name||"id"===t.name)return!1;if(/^filter-/.test(t.name))return!1}if(t instanceof ze)return!1;var e=!0;return t.eachChild((function(t){e&&!Oe(t)&&(e=!1)})),e}function De(t){if(t instanceof me&&"feature-state"===t.name)return!1;var e=!0;return t.eachChild((function(t){e&&!De(t)&&(e=!1)})),e}function Re(t,e){if(t instanceof me&&e.indexOf(t.name)>=0)return!1;var r=!0;return t.eachChild((function(t){r&&!Re(t,e)&&(r=!1)})),r}ze.parse=function(t,e){if(2!==t.length)return e.error("'within' expression requires exactly one argument, but found "+(t.length-1)+" instead.");if(ne(t[1])){var r=t[1];if("FeatureCollection"===r.type)for(var n=0;n<r.features.length;++n){var i=r.features[n].geometry.type;if("Polygon"===i||"MultiPolygon"===i)return new ze(r,r.features[n].geometry)}else if("Feature"===r.type){var a=r.geometry.type;if("Polygon"===a||"MultiPolygon"===a)return new ze(r,r.geometry)}else if("Polygon"===r.type||"MultiPolygon"===r.type)return new ze(r,r)}return e.error("'within' expression requires valid geojson object that contains polygon geometry type.")},ze.prototype.evaluate=function(t){if(null!=t.geometry()&&null!=t.canonicalID()){if("Point"===t.geometryType())return function(t,e){var r=[1/0,1/0,-1/0,-1/0],n=[1/0,1/0,-1/0,-1/0],i=t.canonicalID();if("Polygon"===e.type){var a=Ee(e.coordinates,n,i),o=Ie(t.geometry(),r,n,i);if(!xe(r,n))return!1;for(var s=0,l=o;s<l.length;s+=1)if(!we(l[s],a))return!1}if("MultiPolygon"===e.type){var c=Ce(e.coordinates,n,i),u=Ie(t.geometry(),r,n,i);if(!xe(r,n))return!1;for(var f=0,h=u;f<h.length;f+=1)if(!Te(h[f],c))return!1}return!0}(t,this.geometries);if("LineString"===t.geometryType())return function(t,e){var r=[1/0,1/0,-1/0,-1/0],n=[1/0,1/0,-1/0,-1/0],i=t.canonicalID();if("Polygon"===e.type){var a=Ee(e.coordinates,n,i),o=Pe(t.geometry(),r,n,i);if(!xe(r,n))return!1;for(var s=0,l=o;s<l.length;s+=1)if(!Ae(l[s],a))return!1}if("MultiPolygon"===e.type){var c=Ce(e.coordinates,n,i),u=Pe(t.geometry(),r,n,i);if(!xe(r,n))return!1;for(var f=0,h=u;f<h.length;f+=1)if(!Se(h[f],c))return!1}return!0}(t,this.geometries)}return!1},ze.prototype.eachChild=function(){},ze.prototype.outputDefined=function(){return!0},ze.prototype.serialize=function(){return["within",this.geojson]};var Fe=function(t,e){this.type=e.type,this.name=t,this.boundExpression=e};Fe.parse=function(t,e){if(2!==t.length||"string"!=typeof t[1])return e.error("'var' expression requires exactly one string literal argument.");var r=t[1];return e.scope.has(r)?new Fe(r,e.scope.get(r)):e.error('Unknown variable "'+r+'". Make sure "'+r+'" has been bound in an enclosing "let" expression before using it.',1)},Fe.prototype.evaluate=function(t){return this.boundExpression.evaluate(t)},Fe.prototype.eachChild=function(){},Fe.prototype.outputDefined=function(){return!1},Fe.prototype.serialize=function(){return["var",this.name]};var Be=function(t,e,r,n,i){void 0===e&&(e=[]),void 0===n&&(n=new zt),void 0===i&&(i=[]),this.registry=t,this.path=e,this.key=e.map((function(t){return"["+t+"]"})).join(""),this.scope=n,this.errors=i,this.expectedType=r};function Ne(t,e){for(var r,n=t.length-1,i=0,a=n,o=0;i<=a;)if((r=t[o=Math.floor((i+a)/2)])<=e){if(o===n||e<t[o+1])return o;i=o+1}else{if(!(r>e))throw new se("Input is not a number.");a=o-1}return 0}Be.prototype.parse=function(t,e,r,n,i){return void 0===i&&(i={}),e?this.concat(e,r,n)._parse(t,i):this._parse(t,i)},Be.prototype._parse=function(t,e){function r(t,e,r){return"assert"===r?new ce(e,[t]):"coerce"===r?new pe(e,[t]):t}if(null!==t&&"string"!=typeof t&&"boolean"!=typeof t&&"number"!=typeof t||(t=["literal",t]),Array.isArray(t)){if(0===t.length)return this.error('Expected an array with at least one element. If you wanted a literal array, use ["literal", []].');var n=t[0];if("string"!=typeof n)return this.error("Expression name must be a string, but found "+typeof n+' instead. If you wanted a literal array, use ["literal", [...]].',0),null;var i=this.registry[n];if(i){var a=i.parse(t,this);if(!a)return null;if(this.expectedType){var o=this.expectedType,s=a.type;if("string"!==o.kind&&"number"!==o.kind&&"boolean"!==o.kind&&"object"!==o.kind&&"array"!==o.kind||"value"!==s.kind)if("color"!==o.kind&&"formatted"!==o.kind&&"resolvedImage"!==o.kind||"value"!==s.kind&&"string"!==s.kind){if(this.checkSubtype(o,s))return null}else a=r(a,o,e.typeAnnotation||"coerce");else a=r(a,o,e.typeAnnotation||"assert")}if(!(a instanceof oe)&&"resolvedImage"!==a.type.kind&&function t(e){if(e instanceof Fe)return t(e.boundExpression);if(e instanceof me&&"error"===e.name)return!1;if(e instanceof ve)return!1;if(e instanceof ze)return!1;var r=e instanceof pe||e instanceof ce,n=!0;return e.eachChild((function(e){n=r?n&&t(e):n&&e instanceof oe})),!!n&&Oe(e)&&Re(e,["zoom","heatmap-density","line-progress","accumulated","is-supported-script"])}(a)){var l=new ge;try{a=new oe(a.type,a.evaluate(l))}catch(t){return this.error(t.message),null}}return a}return this.error('Unknown expression "'+n+'". If you wanted a literal array, use ["literal", [...]].',0)}return this.error(void 0===t?"'undefined' value invalid. Use null instead.":"object"==typeof t?'Bare objects invalid. Use ["literal", {...}] instead.':"Expected an array, but found "+typeof t+" instead.")},Be.prototype.concat=function(t,e,r){var n="number"==typeof t?this.path.concat(t):this.path,i=r?this.scope.concat(r):this.scope;return new Be(this.registry,n,e||null,i,this.errors)},Be.prototype.error=function(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];var n=""+this.key+e.map((function(t){return"["+t+"]"})).join("");this.errors.push(new Pt(n,t))},Be.prototype.checkSubtype=function(t,e){var r=Wt(t,e);return r&&this.error(r),r};var je=function(t,e,r){this.type=t,this.input=e,this.labels=[],this.outputs=[];for(var n=0,i=r;n<i.length;n+=1){var a=i[n],o=a[1];this.labels.push(a[0]),this.outputs.push(o)}};function Ue(t,e,r){return t*(1-r)+e*r}je.parse=function(t,e){if(t.length-1<4)return e.error("Expected at least 4 arguments, but found only "+(t.length-1)+".");if((t.length-1)%2!=0)return e.error("Expected an even number of arguments.");var r=e.parse(t[1],1,Dt);if(!r)return null;var n=[],i=null;e.expectedType&&"value"!==e.expectedType.kind&&(i=e.expectedType);for(var a=1;a<t.length;a+=2){var o=1===a?-1/0:t[a],s=t[a+1],l=a,c=a+1;if("number"!=typeof o)return e.error('Input/output pairs for "step" expressions must be defined using literal numeric values (not computed expressions) for the input values.',l);if(n.length&&n[n.length-1][0]>=o)return e.error('Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.',l);var u=e.parse(s,c,i);if(!u)return null;i=i||u.type,n.push([o,u])}return new je(i,r,n)},je.prototype.evaluate=function(t){var e=this.labels,r=this.outputs;if(1===e.length)return r[0].evaluate(t);var n=this.input.evaluate(t);if(n<=e[0])return r[0].evaluate(t);var i=e.length;return n>=e[i-1]?r[i-1].evaluate(t):r[Ne(e,n)].evaluate(t)},je.prototype.eachChild=function(t){t(this.input);for(var e=0,r=this.outputs;e<r.length;e+=1)t(r[e])},je.prototype.outputDefined=function(){return this.outputs.every((function(t){return t.outputDefined()}))},je.prototype.serialize=function(){for(var t=["step",this.input.serialize()],e=0;e<this.labels.length;e++)e>0&&t.push(this.labels[e]),t.push(this.outputs[e].serialize());return t};var Ve=Object.freeze({__proto__:null,number:Ue,color:function(t,e,r){return new Kt(Ue(t.r,e.r,r),Ue(t.g,e.g,r),Ue(t.b,e.b,r),Ue(t.a,e.a,r))},array:function(t,e,r){return t.map((function(t,n){return Ue(t,e[n],r)}))}}),qe=6/29*3*(6/29),He=Math.PI/180,Ge=180/Math.PI;function Ye(t){return t>.008856451679035631?Math.pow(t,1/3):t/qe+4/29}function We(t){return t>6/29?t*t*t:qe*(t-4/29)}function Xe(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function Ze(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function Je(t){var e=Ze(t.r),r=Ze(t.g),n=Ze(t.b),i=Ye((.4124564*e+.3575761*r+.1804375*n)/.95047),a=Ye((.2126729*e+.7151522*r+.072175*n)/1);return{l:116*a-16,a:500*(i-a),b:200*(a-Ye((.0193339*e+.119192*r+.9503041*n)/1.08883)),alpha:t.a}}function Ke(t){var e=(t.l+16)/116,r=isNaN(t.a)?e:e+t.a/500,n=isNaN(t.b)?e:e-t.b/200;return e=1*We(e),r=.95047*We(r),n=1.08883*We(n),new Kt(Xe(3.2404542*r-1.5371385*e-.4985314*n),Xe(-.969266*r+1.8760108*e+.041556*n),Xe(.0556434*r-.2040259*e+1.0572252*n),t.alpha)}function Qe(t,e,r){var n=e-t;return t+r*(n>180||n<-180?n-360*Math.round(n/360):n)}var $e={forward:Je,reverse:Ke,interpolate:function(t,e,r){return{l:Ue(t.l,e.l,r),a:Ue(t.a,e.a,r),b:Ue(t.b,e.b,r),alpha:Ue(t.alpha,e.alpha,r)}}},tr={forward:function(t){var e=Je(t),r=e.l,n=e.a,i=e.b,a=Math.atan2(i,n)*Ge;return{h:a<0?a+360:a,c:Math.sqrt(n*n+i*i),l:r,alpha:t.a}},reverse:function(t){var e=t.h*He,r=t.c;return Ke({l:t.l,a:Math.cos(e)*r,b:Math.sin(e)*r,alpha:t.alpha})},interpolate:function(t,e,r){return{h:Qe(t.h,e.h,r),c:Ue(t.c,e.c,r),l:Ue(t.l,e.l,r),alpha:Ue(t.alpha,e.alpha,r)}}},er=Object.freeze({__proto__:null,lab:$e,hcl:tr}),rr=function(t,e,r,n,i){this.type=t,this.operator=e,this.interpolation=r,this.input=n,this.labels=[],this.outputs=[];for(var a=0,o=i;a<o.length;a+=1){var s=o[a],l=s[1];this.labels.push(s[0]),this.outputs.push(l)}};function nr(t,e,r,n){var i=n-r,a=t-r;return 0===i?0:1===e?a/i:(Math.pow(e,a)-1)/(Math.pow(e,i)-1)}rr.interpolationFactor=function(t,e,n,i){var a=0;if("exponential"===t.name)a=nr(e,t.base,n,i);else if("linear"===t.name)a=nr(e,1,n,i);else if("cubic-bezier"===t.name){var o=t.controlPoints;a=new r(o[0],o[1],o[2],o[3]).solve(nr(e,1,n,i))}return a},rr.parse=function(t,e){var r=t[0],n=t[1],i=t[2],a=t.slice(3);if(!Array.isArray(n)||0===n.length)return e.error("Expected an interpolation type expression.",1);if("linear"===n[0])n={name:"linear"};else if("exponential"===n[0]){var o=n[1];if("number"!=typeof o)return e.error("Exponential interpolation requires a numeric base.",1,1);n={name:"exponential",base:o}}else{if("cubic-bezier"!==n[0])return e.error("Unknown interpolation type "+String(n[0]),1,0);var s=n.slice(1);if(4!==s.length||s.some((function(t){return"number"!=typeof t||t<0||t>1})))return e.error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.",1);n={name:"cubic-bezier",controlPoints:s}}if(t.length-1<4)return e.error("Expected at least 4 arguments, but found only "+(t.length-1)+".");if((t.length-1)%2!=0)return e.error("Expected an even number of arguments.");if(!(i=e.parse(i,2,Dt)))return null;var l=[],c=null;"interpolate-hcl"===r||"interpolate-lab"===r?c=Bt:e.expectedType&&"value"!==e.expectedType.kind&&(c=e.expectedType);for(var u=0;u<a.length;u+=2){var f=a[u],h=a[u+1],p=u+3,d=u+4;if("number"!=typeof f)return e.error('Input/output pairs for "interpolate" expressions must be defined using literal numeric values (not computed expressions) for the input values.',p);if(l.length&&l[l.length-1][0]>=f)return e.error('Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.',p);var g=e.parse(h,d,c);if(!g)return null;c=c||g.type,l.push([f,g])}return"number"===c.kind||"color"===c.kind||"array"===c.kind&&"number"===c.itemType.kind&&"number"==typeof c.N?new rr(c,r,n,i,l):e.error("Type "+Gt(c)+" is not interpolatable.")},rr.prototype.evaluate=function(t){var e=this.labels,r=this.outputs;if(1===e.length)return r[0].evaluate(t);var n=this.input.evaluate(t);if(n<=e[0])return r[0].evaluate(t);var i=e.length;if(n>=e[i-1])return r[i-1].evaluate(t);var a=Ne(e,n),o=rr.interpolationFactor(this.interpolation,n,e[a],e[a+1]),s=r[a].evaluate(t),l=r[a+1].evaluate(t);return"interpolate"===this.operator?Ve[this.type.kind.toLowerCase()](s,l,o):"interpolate-hcl"===this.operator?tr.reverse(tr.interpolate(tr.forward(s),tr.forward(l),o)):$e.reverse($e.interpolate($e.forward(s),$e.forward(l),o))},rr.prototype.eachChild=function(t){t(this.input);for(var e=0,r=this.outputs;e<r.length;e+=1)t(r[e])},rr.prototype.outputDefined=function(){return this.outputs.every((function(t){return t.outputDefined()}))},rr.prototype.serialize=function(){var t;t="linear"===this.interpolation.name?["linear"]:"exponential"===this.interpolation.name?1===this.interpolation.base?["linear"]:["exponential",this.interpolation.base]:["cubic-bezier"].concat(this.interpolation.controlPoints);for(var e=[this.operator,t,this.input.serialize()],r=0;r<this.labels.length;r++)e.push(this.labels[r],this.outputs[r].serialize());return e};var ir=function(t,e){this.type=t,this.args=e};ir.parse=function(t,e){if(t.length<2)return e.error("Expectected at least one argument.");var r=null,n=e.expectedType;n&&"value"!==n.kind&&(r=n);for(var i=[],a=0,o=t.slice(1);a<o.length;a+=1){var s=e.parse(o[a],1+i.length,r,void 0,{typeAnnotation:"omit"});if(!s)return null;r=r||s.type,i.push(s)}var l=n&&i.some((function(t){return Wt(n,t.type)}));return new ir(l?jt:r,i)},ir.prototype.evaluate=function(t){for(var e,r=null,n=0,i=0,a=this.args;i<a.length&&(n++,(r=a[i].evaluate(t))&&r instanceof ee&&!r.available&&(e||(e=r.name),r=null,n===this.args.length&&(r=e)),null===r);i+=1);return r},ir.prototype.eachChild=function(t){this.args.forEach(t)},ir.prototype.outputDefined=function(){return this.args.every((function(t){return t.outputDefined()}))},ir.prototype.serialize=function(){var t=["coalesce"];return this.eachChild((function(e){t.push(e.serialize())})),t};var ar=function(t,e){this.type=e.type,this.bindings=[].concat(t),this.result=e};ar.prototype.evaluate=function(t){return this.result.evaluate(t)},ar.prototype.eachChild=function(t){for(var e=0,r=this.bindings;e<r.length;e+=1)t(r[e][1]);t(this.result)},ar.parse=function(t,e){if(t.length<4)return e.error("Expected at least 3 arguments, but found "+(t.length-1)+" instead.");for(var r=[],n=1;n<t.length-1;n+=2){var i=t[n];if("string"!=typeof i)return e.error("Expected string, but found "+typeof i+" instead.",n);if(/[^a-zA-Z0-9_]/.test(i))return e.error("Variable names must contain only alphanumeric characters or '_'.",n);var a=e.parse(t[n+1],n+1);if(!a)return null;r.push([i,a])}var o=e.parse(t[t.length-1],t.length-1,e.expectedType,r);return o?new ar(r,o):null},ar.prototype.outputDefined=function(){return this.result.outputDefined()},ar.prototype.serialize=function(){for(var t=["let"],e=0,r=this.bindings;e<r.length;e+=1){var n=r[e];t.push(n[0],n[1].serialize())}return t.push(this.result.serialize()),t};var or=function(t,e,r){this.type=t,this.index=e,this.input=r};or.parse=function(t,e){if(3!==t.length)return e.error("Expected 2 arguments, but found "+(t.length-1)+" instead.");var r=e.parse(t[1],1,Dt),n=e.parse(t[2],2,Ht(e.expectedType||jt));return r&&n?new or(n.type.itemType,r,n):null},or.prototype.evaluate=function(t){var e=this.index.evaluate(t),r=this.input.evaluate(t);if(e<0)throw new se("Array index out of bounds: "+e+" < 0.");if(e>=r.length)throw new se("Array index out of bounds: "+e+" > "+(r.length-1)+".");if(e!==Math.floor(e))throw new se("Array index must be an integer, but found "+e+" instead.");return r[e]},or.prototype.eachChild=function(t){t(this.index),t(this.input)},or.prototype.outputDefined=function(){return!1},or.prototype.serialize=function(){return["at",this.index.serialize(),this.input.serialize()]};var sr=function(t,e){this.type=Ft,this.needle=t,this.haystack=e};sr.parse=function(t,e){if(3!==t.length)return e.error("Expected 2 arguments, but found "+(t.length-1)+" instead.");var r=e.parse(t[1],1,jt),n=e.parse(t[2],2,jt);return r&&n?Xt(r.type,[Ft,Rt,Dt,Ot,jt])?new sr(r,n):e.error("Expected first argument to be of type boolean, string, number or null, but found "+Gt(r.type)+" instead"):null},sr.prototype.evaluate=function(t){var e=this.needle.evaluate(t),r=this.haystack.evaluate(t);if(!r)return!1;if(!Zt(e,["boolean","string","number","null"]))throw new se("Expected first argument to be of type boolean, string, number or null, but found "+Gt(ie(e))+" instead.");if(!Zt(r,["string","array"]))throw new se("Expected second argument to be of type array or string, but found "+Gt(ie(r))+" instead.");return r.indexOf(e)>=0},sr.prototype.eachChild=function(t){t(this.needle),t(this.haystack)},sr.prototype.outputDefined=function(){return!0},sr.prototype.serialize=function(){return["in",this.needle.serialize(),this.haystack.serialize()]};var lr=function(t,e,r){this.type=Dt,this.needle=t,this.haystack=e,this.fromIndex=r};lr.parse=function(t,e){if(t.length<=2||t.length>=5)return e.error("Expected 3 or 4 arguments, but found "+(t.length-1)+" instead.");var r=e.parse(t[1],1,jt),n=e.parse(t[2],2,jt);if(!r||!n)return null;if(!Xt(r.type,[Ft,Rt,Dt,Ot,jt]))return e.error("Expected first argument to be of type boolean, string, number or null, but found "+Gt(r.type)+" instead");if(4===t.length){var i=e.parse(t[3],3,Dt);return i?new lr(r,n,i):null}return new lr(r,n)},lr.prototype.evaluate=function(t){var e=this.needle.evaluate(t),r=this.haystack.evaluate(t);if(!Zt(e,["boolean","string","number","null"]))throw new se("Expected first argument to be of type boolean, string, number or null, but found "+Gt(ie(e))+" instead.");if(!Zt(r,["string","array"]))throw new se("Expected second argument to be of type array or string, but found "+Gt(ie(r))+" instead.");if(this.fromIndex){var n=this.fromIndex.evaluate(t);return r.indexOf(e,n)}return r.indexOf(e)},lr.prototype.eachChild=function(t){t(this.needle),t(this.haystack),this.fromIndex&&t(this.fromIndex)},lr.prototype.outputDefined=function(){return!1},lr.prototype.serialize=function(){if(null!=this.fromIndex&&void 0!==this.fromIndex){var t=this.fromIndex.serialize();return["index-of",this.needle.serialize(),this.haystack.serialize(),t]}return["index-of",this.needle.serialize(),this.haystack.serialize()]};var cr=function(t,e,r,n,i,a){this.inputType=t,this.type=e,this.input=r,this.cases=n,this.outputs=i,this.otherwise=a};cr.parse=function(t,e){if(t.length<5)return e.error("Expected at least 4 arguments, but found only "+(t.length-1)+".");if(t.length%2!=1)return e.error("Expected an even number of arguments.");var r,n;e.expectedType&&"value"!==e.expectedType.kind&&(n=e.expectedType);for(var i={},a=[],o=2;o<t.length-1;o+=2){var s=t[o],l=t[o+1];Array.isArray(s)||(s=[s]);var c=e.concat(o);if(0===s.length)return c.error("Expected at least one branch label.");for(var u=0,f=s;u<f.length;u+=1){var h=f[u];if("number"!=typeof h&&"string"!=typeof h)return c.error("Branch labels must be numbers or strings.");if("number"==typeof h&&Math.abs(h)>Number.MAX_SAFE_INTEGER)return c.error("Branch labels must be integers no larger than "+Number.MAX_SAFE_INTEGER+".");if("number"==typeof h&&Math.floor(h)!==h)return c.error("Numeric branch labels must be integer values.");if(r){if(c.checkSubtype(r,ie(h)))return null}else r=ie(h);if(void 0!==i[String(h)])return c.error("Branch labels must be unique.");i[String(h)]=a.length}var p=e.parse(l,o,n);if(!p)return null;n=n||p.type,a.push(p)}var d=e.parse(t[1],1,jt);if(!d)return null;var g=e.parse(t[t.length-1],t.length-1,n);return g?"value"!==d.type.kind&&e.concat(1).checkSubtype(r,d.type)?null:new cr(r,n,d,i,a,g):null},cr.prototype.evaluate=function(t){var e=this.input.evaluate(t);return(ie(e)===this.inputType&&this.outputs[this.cases[e]]||this.otherwise).evaluate(t)},cr.prototype.eachChild=function(t){t(this.input),this.outputs.forEach(t),t(this.otherwise)},cr.prototype.outputDefined=function(){return this.outputs.every((function(t){return t.outputDefined()}))&&this.otherwise.outputDefined()},cr.prototype.serialize=function(){for(var t=this,e=["match",this.input.serialize()],r=[],n={},i=0,a=Object.keys(this.cases).sort();i<a.length;i+=1){var o=a[i];void 0===(f=n[this.cases[o]])?(n[this.cases[o]]=r.length,r.push([this.cases[o],[o]])):r[f][1].push(o)}for(var s=function(e){return"number"===t.inputType.kind?Number(e):e},l=0,c=r;l<c.length;l+=1){var u=c[l],f=u[0],h=u[1];e.push(1===h.length?s(h[0]):h.map(s)),e.push(this.outputs[outputIndex$1].serialize())}return e.push(this.otherwise.serialize()),e};var ur=function(t,e,r){this.type=t,this.branches=e,this.otherwise=r};ur.parse=function(t,e){if(t.length<4)return e.error("Expected at least 3 arguments, but found only "+(t.length-1)+".");if(t.length%2!=0)return e.error("Expected an odd number of arguments.");var r;e.expectedType&&"value"!==e.expectedType.kind&&(r=e.expectedType);for(var n=[],i=1;i<t.length-1;i+=2){var a=e.parse(t[i],i,Ft);if(!a)return null;var o=e.parse(t[i+1],i+1,r);if(!o)return null;n.push([a,o]),r=r||o.type}var s=e.parse(t[t.length-1],t.length-1,r);return s?new ur(r,n,s):null},ur.prototype.evaluate=function(t){for(var e=0,r=this.branches;e<r.length;e+=1){var n=r[e],i=n[1];if(n[0].evaluate(t))return i.evaluate(t)}return this.otherwise.evaluate(t)},ur.prototype.eachChild=function(t){for(var e=0,r=this.branches;e<r.length;e+=1){var n=r[e],i=n[1];t(n[0]),t(i)}t(this.otherwise)},ur.prototype.outputDefined=function(){return this.branches.every((function(t){return t[1].outputDefined()}))&&this.otherwise.outputDefined()},ur.prototype.serialize=function(){var t=["case"];return this.eachChild((function(e){t.push(e.serialize())})),t};var fr=function(t,e,r,n){this.type=t,this.input=e,this.beginIndex=r,this.endIndex=n};function hr(t,e){return"=="===t||"!="===t?"boolean"===e.kind||"string"===e.kind||"number"===e.kind||"null"===e.kind||"value"===e.kind:"string"===e.kind||"number"===e.kind||"value"===e.kind}function pr(t,e,r,n){return 0===n.compare(e,r)}function dr(t,e,r){var n="=="!==t&&"!="!==t;return function(){function i(t,e,r){this.type=Ft,this.lhs=t,this.rhs=e,this.collator=r,this.hasUntypedArgument="value"===t.type.kind||"value"===e.type.kind}return i.parse=function(t,e){if(3!==t.length&&4!==t.length)return e.error("Expected two or three arguments.");var r=t[0],a=e.parse(t[1],1,jt);if(!a)return null;if(!hr(r,a.type))return e.concat(1).error('"'+r+"\" comparisons are not supported for type '"+Gt(a.type)+"'.");var o=e.parse(t[2],2,jt);if(!o)return null;if(!hr(r,o.type))return e.concat(2).error('"'+r+"\" comparisons are not supported for type '"+Gt(o.type)+"'.");if(a.type.kind!==o.type.kind&&"value"!==a.type.kind&&"value"!==o.type.kind)return e.error("Cannot compare types '"+Gt(a.type)+"' and '"+Gt(o.type)+"'.");n&&("value"===a.type.kind&&"value"!==o.type.kind?a=new ce(o.type,[a]):"value"!==a.type.kind&&"value"===o.type.kind&&(o=new ce(a.type,[o])));var s=null;if(4===t.length){if("string"!==a.type.kind&&"string"!==o.type.kind&&"value"!==a.type.kind&&"value"!==o.type.kind)return e.error("Cannot use collator to compare non-string types.");if(!(s=e.parse(t[3],3,Ut)))return null}return new i(a,o,s)},i.prototype.evaluate=function(i){var a=this.lhs.evaluate(i),o=this.rhs.evaluate(i);if(n&&this.hasUntypedArgument){var s=ie(a),l=ie(o);if(s.kind!==l.kind||"string"!==s.kind&&"number"!==s.kind)throw new se('Expected arguments for "'+t+'" to be (string, string) or (number, number), but found ('+s.kind+", "+l.kind+") instead.")}if(this.collator&&!n&&this.hasUntypedArgument){var c=ie(a),u=ie(o);if("string"!==c.kind||"string"!==u.kind)return e(i,a,o)}return this.collator?r(i,a,o,this.collator.evaluate(i)):e(i,a,o)},i.prototype.eachChild=function(t){t(this.lhs),t(this.rhs),this.collator&&t(this.collator)},i.prototype.outputDefined=function(){return!0},i.prototype.serialize=function(){var e=[t];return this.eachChild((function(t){e.push(t.serialize())})),e},i}()}fr.parse=function(t,e){if(t.length<=2||t.length>=5)return e.error("Expected 3 or 4 arguments, but found "+(t.length-1)+" instead.");var r=e.parse(t[1],1,jt),n=e.parse(t[2],2,Dt);if(!r||!n)return null;if(!Xt(r.type,[Ht(jt),Rt,jt]))return e.error("Expected first argument to be of type array or string, but found "+Gt(r.type)+" instead");if(4===t.length){var i=e.parse(t[3],3,Dt);return i?new fr(r.type,r,n,i):null}return new fr(r.type,r,n)},fr.prototype.evaluate=function(t){var e=this.input.evaluate(t),r=this.beginIndex.evaluate(t);if(!Zt(e,["string","array"]))throw new se("Expected first argument to be of type array or string, but found "+Gt(ie(e))+" instead.");if(this.endIndex){var n=this.endIndex.evaluate(t);return e.slice(r,n)}return e.slice(r)},fr.prototype.eachChild=function(t){t(this.input),t(this.beginIndex),this.endIndex&&t(this.endIndex)},fr.prototype.outputDefined=function(){return!1},fr.prototype.serialize=function(){if(null!=this.endIndex&&void 0!==this.endIndex){var t=this.endIndex.serialize();return["slice",this.input.serialize(),this.beginIndex.serialize(),t]}return["slice",this.input.serialize(),this.beginIndex.serialize()]};var gr=dr("==",(function(t,e,r){return e===r}),pr),mr=dr("!=",(function(t,e,r){return e!==r}),(function(t,e,r,n){return!pr(0,e,r,n)})),vr=dr("<",(function(t,e,r){return e<r}),(function(t,e,r,n){return n.compare(e,r)<0})),yr=dr(">",(function(t,e,r){return e>r}),(function(t,e,r,n){return n.compare(e,r)>0})),xr=dr("<=",(function(t,e,r){return e<=r}),(function(t,e,r,n){return n.compare(e,r)<=0})),br=dr(">=",(function(t,e,r){return e>=r}),(function(t,e,r,n){return n.compare(e,r)>=0})),_r=function(t,e,r,n,i){this.type=Rt,this.number=t,this.locale=e,this.currency=r,this.minFractionDigits=n,this.maxFractionDigits=i};_r.parse=function(t,e){if(3!==t.length)return e.error("Expected two arguments.");var r=e.parse(t[1],1,Dt);if(!r)return null;var n=t[2];if("object"!=typeof n||Array.isArray(n))return e.error("NumberFormat options argument must be an object.");var i=null;if(n.locale&&!(i=e.parse(n.locale,1,Rt)))return null;var a=null;if(n.currency&&!(a=e.parse(n.currency,1,Rt)))return null;var o=null;if(n["min-fraction-digits"]&&!(o=e.parse(n["min-fraction-digits"],1,Dt)))return null;var s=null;return n["max-fraction-digits"]&&!(s=e.parse(n["max-fraction-digits"],1,Dt))?null:new _r(r,i,a,o,s)},_r.prototype.evaluate=function(t){return new Intl.NumberFormat(this.locale?this.locale.evaluate(t):[],{style:this.currency?"currency":"decimal",currency:this.currency?this.currency.evaluate(t):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(t):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(t):void 0}).format(this.number.evaluate(t))},_r.prototype.eachChild=function(t){t(this.number),this.locale&&t(this.locale),this.currency&&t(this.currency),this.minFractionDigits&&t(this.minFractionDigits),this.maxFractionDigits&&t(this.maxFractionDigits)},_r.prototype.outputDefined=function(){return!1},_r.prototype.serialize=function(){var t={};return this.locale&&(t.locale=this.locale.serialize()),this.currency&&(t.currency=this.currency.serialize()),this.minFractionDigits&&(t["min-fraction-digits"]=this.minFractionDigits.serialize()),this.maxFractionDigits&&(t["max-fraction-digits"]=this.maxFractionDigits.serialize()),["number-format",this.number.serialize(),t]};var wr=function(t){this.type=Dt,this.input=t};wr.parse=function(t,e){if(2!==t.length)return e.error("Expected 1 argument, but found "+(t.length-1)+" instead.");var r=e.parse(t[1],1);return r?"array"!==r.type.kind&&"string"!==r.type.kind&&"value"!==r.type.kind?e.error("Expected argument of type string or array, but found "+Gt(r.type)+" instead."):new wr(r):null},wr.prototype.evaluate=function(t){var e=this.input.evaluate(t);if("string"==typeof e)return e.length;if(Array.isArray(e))return e.length;throw new se("Expected value to be of type string or array, but found "+Gt(ie(e))+" instead.")},wr.prototype.eachChild=function(t){t(this.input)},wr.prototype.outputDefined=function(){return!1},wr.prototype.serialize=function(){var t=["length"];return this.eachChild((function(e){t.push(e.serialize())})),t};var Tr={"==":gr,"!=":mr,">":yr,"<":vr,">=":br,"<=":xr,array:ce,at:or,boolean:ce,case:ur,coalesce:ir,collator:ve,format:ue,image:fe,in:sr,"index-of":lr,interpolate:rr,"interpolate-hcl":rr,"interpolate-lab":rr,length:wr,let:ar,literal:oe,match:cr,number:ce,"number-format":_r,object:ce,slice:fr,step:je,string:ce,"to-boolean":pe,"to-color":pe,"to-number":pe,"to-string":pe,var:Fe,within:ze};function kr(t,e){var r=e[0],n=e[1],i=e[2],a=e[3];r=r.evaluate(t),n=n.evaluate(t),i=i.evaluate(t);var o=a?a.evaluate(t):1,s=re(r,n,i,o);if(s)throw new se(s);return new Kt(r/255*o,n/255*o,i/255*o,o)}function Mr(t,e){return t in e}function Ar(t,e){var r=e[t];return void 0===r?null:r}function Sr(t){return{type:t}}function Er(t){return{result:"success",value:t}}function Cr(t){return{result:"error",value:t}}function Lr(t){return"data-driven"===t["property-type"]||"cross-faded-data-driven"===t["property-type"]}function Ir(t){return!!t.expression&&t.expression.parameters.indexOf("zoom")>-1}function Pr(t){return!!t.expression&&t.expression.interpolated}function zr(t){return t instanceof Number?"number":t instanceof String?"string":t instanceof Boolean?"boolean":Array.isArray(t)?"array":null===t?"null":typeof t}function Or(t){return"object"==typeof t&&null!==t&&!Array.isArray(t)}function Dr(t){return t}function Rr(t,e,r){return void 0!==t?t:void 0!==e?e:void 0!==r?r:void 0}function Fr(t,e,r,n,i){return Rr(typeof r===i?n[r]:void 0,t.default,e.default)}function Br(t,e,r){if("number"!==zr(r))return Rr(t.default,e.default);var n=t.stops.length;if(1===n)return t.stops[0][1];if(r<=t.stops[0][0])return t.stops[0][1];if(r>=t.stops[n-1][0])return t.stops[n-1][1];var i=Ne(t.stops.map((function(t){return t[0]})),r);return t.stops[i][1]}function Nr(t,e,r){var n=void 0!==t.base?t.base:1;if("number"!==zr(r))return Rr(t.default,e.default);var i=t.stops.length;if(1===i)return t.stops[0][1];if(r<=t.stops[0][0])return t.stops[0][1];if(r>=t.stops[i-1][0])return t.stops[i-1][1];var a=Ne(t.stops.map((function(t){return t[0]})),r),o=function(t,e,r,n){var i=n-r,a=t-r;return 0===i?0:1===e?a/i:(Math.pow(e,a)-1)/(Math.pow(e,i)-1)}(r,n,t.stops[a][0],t.stops[a+1][0]),s=t.stops[a][1],l=t.stops[a+1][1],c=Ve[e.type]||Dr;if(t.colorSpace&&"rgb"!==t.colorSpace){var u=er[t.colorSpace];c=function(t,e){return u.reverse(u.interpolate(u.forward(t),u.forward(e),o))}}return"function"==typeof s.evaluate?{evaluate:function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];var r=s.evaluate.apply(void 0,t),n=l.evaluate.apply(void 0,t);if(void 0!==r&&void 0!==n)return c(r,n,o)}}:c(s,l,o)}function jr(t,e,r){return"color"===e.type?r=Kt.parse(r):"formatted"===e.type?r=te.fromString(r.toString()):"resolvedImage"===e.type?r=ee.fromString(r.toString()):zr(r)===e.type||"enum"===e.type&&e.values[r]||(r=void 0),Rr(r,t.default,e.default)}me.register(Tr,{error:[{kind:"error"},[Rt],function(t,e){throw new se(e[0].evaluate(t))}],typeof:[Rt,[jt],function(t,e){return Gt(ie(e[0].evaluate(t)))}],"to-rgba":[Ht(Dt,4),[Bt],function(t,e){return e[0].evaluate(t).toArray()}],rgb:[Bt,[Dt,Dt,Dt],kr],rgba:[Bt,[Dt,Dt,Dt,Dt],kr],has:{type:Ft,overloads:[[[Rt],function(t,e){return Mr(e[0].evaluate(t),t.properties())}],[[Rt,Nt],function(t,e){var r=e[1];return Mr(e[0].evaluate(t),r.evaluate(t))}]]},get:{type:jt,overloads:[[[Rt],function(t,e){return Ar(e[0].evaluate(t),t.properties())}],[[Rt,Nt],function(t,e){var r=e[1];return Ar(e[0].evaluate(t),r.evaluate(t))}]]},"feature-state":[jt,[Rt],function(t,e){return Ar(e[0].evaluate(t),t.featureState||{})}],properties:[Nt,[],function(t){return t.properties()}],"geometry-type":[Rt,[],function(t){return t.geometryType()}],id:[jt,[],function(t){return t.id()}],zoom:[Dt,[],function(t){return t.globals.zoom}],"heatmap-density":[Dt,[],function(t){return t.globals.heatmapDensity||0}],"line-progress":[Dt,[],function(t){return t.globals.lineProgress||0}],accumulated:[jt,[],function(t){return void 0===t.globals.accumulated?null:t.globals.accumulated}],"+":[Dt,Sr(Dt),function(t,e){for(var r=0,n=0,i=e;n<i.length;n+=1)r+=i[n].evaluate(t);return r}],"*":[Dt,Sr(Dt),function(t,e){for(var r=1,n=0,i=e;n<i.length;n+=1)r*=i[n].evaluate(t);return r}],"-":{type:Dt,overloads:[[[Dt,Dt],function(t,e){var r=e[1];return e[0].evaluate(t)-r.evaluate(t)}],[[Dt],function(t,e){return-e[0].evaluate(t)}]]},"/":[Dt,[Dt,Dt],function(t,e){var r=e[1];return e[0].evaluate(t)/r.evaluate(t)}],"%":[Dt,[Dt,Dt],function(t,e){var r=e[1];return e[0].evaluate(t)%r.evaluate(t)}],ln2:[Dt,[],function(){return Math.LN2}],pi:[Dt,[],function(){return Math.PI}],e:[Dt,[],function(){return Math.E}],"^":[Dt,[Dt,Dt],function(t,e){var r=e[1];return Math.pow(e[0].evaluate(t),r.evaluate(t))}],sqrt:[Dt,[Dt],function(t,e){return Math.sqrt(e[0].evaluate(t))}],log10:[Dt,[Dt],function(t,e){return Math.log(e[0].evaluate(t))/Math.LN10}],ln:[Dt,[Dt],function(t,e){return Math.log(e[0].evaluate(t))}],log2:[Dt,[Dt],function(t,e){return Math.log(e[0].evaluate(t))/Math.LN2}],sin:[Dt,[Dt],function(t,e){return Math.sin(e[0].evaluate(t))}],cos:[Dt,[Dt],function(t,e){return Math.cos(e[0].evaluate(t))}],tan:[Dt,[Dt],function(t,e){return Math.tan(e[0].evaluate(t))}],asin:[Dt,[Dt],function(t,e){return Math.asin(e[0].evaluate(t))}],acos:[Dt,[Dt],function(t,e){return Math.acos(e[0].evaluate(t))}],atan:[Dt,[Dt],function(t,e){return Math.atan(e[0].evaluate(t))}],min:[Dt,Sr(Dt),function(t,e){return Math.min.apply(Math,e.map((function(e){return e.evaluate(t)})))}],max:[Dt,Sr(Dt),function(t,e){return Math.max.apply(Math,e.map((function(e){return e.evaluate(t)})))}],abs:[Dt,[Dt],function(t,e){return Math.abs(e[0].evaluate(t))}],round:[Dt,[Dt],function(t,e){var r=e[0].evaluate(t);return r<0?-Math.round(-r):Math.round(r)}],floor:[Dt,[Dt],function(t,e){return Math.floor(e[0].evaluate(t))}],ceil:[Dt,[Dt],function(t,e){return Math.ceil(e[0].evaluate(t))}],"filter-==":[Ft,[Rt,jt],function(t,e){var r=e[0],n=e[1];return t.properties()[r.value]===n.value}],"filter-id-==":[Ft,[jt],function(t,e){var r=e[0];return t.id()===r.value}],"filter-type-==":[Ft,[Rt],function(t,e){var r=e[0];return t.geometryType()===r.value}],"filter-<":[Ft,[Rt,jt],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i<a}],"filter-id-<":[Ft,[jt],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n<i}],"filter->":[Ft,[Rt,jt],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i>a}],"filter-id->":[Ft,[jt],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n>i}],"filter-<=":[Ft,[Rt,jt],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i<=a}],"filter-id-<=":[Ft,[jt],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n<=i}],"filter->=":[Ft,[Rt,jt],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i>=a}],"filter-id->=":[Ft,[jt],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n>=i}],"filter-has":[Ft,[jt],function(t,e){return e[0].value in t.properties()}],"filter-has-id":[Ft,[],function(t){return null!==t.id()&&void 0!==t.id()}],"filter-type-in":[Ft,[Ht(Rt)],function(t,e){return e[0].value.indexOf(t.geometryType())>=0}],"filter-id-in":[Ft,[Ht(jt)],function(t,e){return e[0].value.indexOf(t.id())>=0}],"filter-in-small":[Ft,[Rt,Ht(jt)],function(t,e){var r=e[0];return e[1].value.indexOf(t.properties()[r.value])>=0}],"filter-in-large":[Ft,[Rt,Ht(jt)],function(t,e){var r=e[0],n=e[1];return function(t,e,r,n){for(;r<=n;){var i=r+n>>1;if(e[i]===t)return!0;e[i]>t?n=i-1:r=i+1}return!1}(t.properties()[r.value],n.value,0,n.value.length-1)}],all:{type:Ft,overloads:[[[Ft,Ft],function(t,e){var r=e[1];return e[0].evaluate(t)&&r.evaluate(t)}],[Sr(Ft),function(t,e){for(var r=0,n=e;r<n.length;r+=1)if(!n[r].evaluate(t))return!1;return!0}]]},any:{type:Ft,overloads:[[[Ft,Ft],function(t,e){var r=e[1];return e[0].evaluate(t)||r.evaluate(t)}],[Sr(Ft),function(t,e){for(var r=0,n=e;r<n.length;r+=1)if(n[r].evaluate(t))return!0;return!1}]]},"!":[Ft,[Ft],function(t,e){return!e[0].evaluate(t)}],"is-supported-script":[Ft,[Rt],function(t,e){var r=t.globals&&t.globals.isSupportedScript;return!r||r(e[0].evaluate(t))}],upcase:[Rt,[Rt],function(t,e){return e[0].evaluate(t).toUpperCase()}],downcase:[Rt,[Rt],function(t,e){return e[0].evaluate(t).toLowerCase()}],concat:[Rt,Sr(jt),function(t,e){return e.map((function(e){return ae(e.evaluate(t))})).join("")}],"resolved-locale":[Rt,[Ut],function(t,e){return e[0].evaluate(t).resolvedLocale()}]});var Ur=function(t,e){this.expression=t,this._warningHistory={},this._evaluator=new ge,this._defaultValue=e?function(t){return"color"===t.type&&Or(t.default)?new Kt(0,0,0,0):"color"===t.type?Kt.parse(t.default)||null:void 0===t.default?null:t.default}(e):null,this._enumValues=e&&"enum"===e.type?e.values:null};function Vr(t){return Array.isArray(t)&&t.length>0&&"string"==typeof t[0]&&t[0]in Tr}function qr(t,e){var r=new Be(Tr,[],e?function(t){var e={color:Bt,string:Rt,number:Dt,enum:Rt,boolean:Ft,formatted:Vt,resolvedImage:qt};return"array"===t.type?Ht(e[t.value]||jt,t.length):e[t.type]}(e):void 0),n=r.parse(t,void 0,void 0,void 0,e&&"string"===e.type?{typeAnnotation:"coerce"}:void 0);return n?Er(new Ur(n,e)):Cr(r.errors)}Ur.prototype.evaluateWithoutErrorHandling=function(t,e,r,n,i,a){return this._evaluator.globals=t,this._evaluator.feature=e,this._evaluator.featureState=r,this._evaluator.canonical=n,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=a,this.expression.evaluate(this._evaluator)},Ur.prototype.evaluate=function(t,e,r,n,i,a){this._evaluator.globals=t,this._evaluator.feature=e||null,this._evaluator.featureState=r||null,this._evaluator.canonical=n,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=a||null;try{var o=this.expression.evaluate(this._evaluator);if(null==o||"number"==typeof o&&o!=o)return this._defaultValue;if(this._enumValues&&!(o in this._enumValues))throw new se("Expected value to be one of "+Object.keys(this._enumValues).map((function(t){return JSON.stringify(t)})).join(", ")+", but found "+JSON.stringify(o)+" instead.");return o}catch(t){return this._warningHistory[t.message]||(this._warningHistory[t.message]=!0,"undefined"!=typeof console&&console.warn(t.message)),this._defaultValue}};var Hr=function(t,e){this.kind=t,this._styleExpression=e,this.isStateDependent="constant"!==t&&!De(e.expression)};Hr.prototype.evaluateWithoutErrorHandling=function(t,e,r,n,i,a){return this._styleExpression.evaluateWithoutErrorHandling(t,e,r,n,i,a)},Hr.prototype.evaluate=function(t,e,r,n,i,a){return this._styleExpression.evaluate(t,e,r,n,i,a)};var Gr=function(t,e,r,n){this.kind=t,this.zoomStops=r,this._styleExpression=e,this.isStateDependent="camera"!==t&&!De(e.expression),this.interpolationType=n};function Yr(t,e){if("error"===(t=qr(t,e)).result)return t;var r=t.value.expression,n=Oe(r);if(!n&&!Lr(e))return Cr([new Pt("","data expressions not supported")]);var i=Re(r,["zoom"]);if(!i&&!Ir(e))return Cr([new Pt("","zoom expressions not supported")]);var a=function t(e){var r=null;if(e instanceof ar)r=t(e.result);else if(e instanceof ir)for(var n=0,i=e.args;n<i.length&&!(r=t(i[n]));n+=1);else(e instanceof je||e instanceof rr)&&e.input instanceof me&&"zoom"===e.input.name&&(r=e);return r instanceof Pt||e.eachChild((function(e){var n=t(e);n instanceof Pt?r=n:!r&&n?r=new Pt("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.'):r&&n&&r!==n&&(r=new Pt("",'Only one zoom-based "step" or "interpolate" subexpression may be used in an expression.'))})),r}(r);return a||i?a instanceof Pt?Cr([a]):a instanceof rr&&!Pr(e)?Cr([new Pt("",'"interpolate" expressions cannot be used with this property')]):Er(a?new Gr(n?"camera":"composite",t.value,a.labels,a instanceof rr?a.interpolation:void 0):new Hr(n?"constant":"source",t.value)):Cr([new Pt("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.')])}Gr.prototype.evaluateWithoutErrorHandling=function(t,e,r,n,i,a){return this._styleExpression.evaluateWithoutErrorHandling(t,e,r,n,i,a)},Gr.prototype.evaluate=function(t,e,r,n,i,a){return this._styleExpression.evaluate(t,e,r,n,i,a)},Gr.prototype.interpolationFactor=function(t,e,r){return this.interpolationType?rr.interpolationFactor(this.interpolationType,t,e,r):0};var Wr=function(t,e){this._parameters=t,this._specification=e,Ct(this,function t(e,r){var n,i,a,o="color"===r.type,s=e.stops&&"object"==typeof e.stops[0][0],l=s||!(s||void 0!==e.property),c=e.type||(Pr(r)?"exponential":"interval");if(o&&((e=Ct({},e)).stops&&(e.stops=e.stops.map((function(t){return[t[0],Kt.parse(t[1])]}))),e.default=Kt.parse(e.default?e.default:r.default)),e.colorSpace&&"rgb"!==e.colorSpace&&!er[e.colorSpace])throw new Error("Unknown color space: "+e.colorSpace);if("exponential"===c)n=Nr;else if("interval"===c)n=Br;else if("categorical"===c){n=Fr,i=Object.create(null);for(var u=0,f=e.stops;u<f.length;u+=1){var h=f[u];i[h[0]]=h[1]}a=typeof e.stops[0][0]}else{if("identity"!==c)throw new Error('Unknown function type "'+c+'"');n=jr}if(s){for(var p={},d=[],g=0;g<e.stops.length;g++){var m=e.stops[g],v=m[0].zoom;void 0===p[v]&&(p[v]={zoom:v,type:e.type,property:e.property,default:e.default,stops:[]},d.push(v)),p[v].stops.push([m[0].value,m[1]])}for(var y=[],x=0,b=d;x<b.length;x+=1){var _=b[x];y.push([p[_].zoom,t(p[_],r)])}var w={name:"linear"};return{kind:"composite",interpolationType:w,interpolationFactor:rr.interpolationFactor.bind(void 0,w),zoomStops:y.map((function(t){return t[0]})),evaluate:function(t,n){var i=t.zoom;return Nr({stops:y,base:e.base},r,i).evaluate(i,n)}}}if(l){var T="exponential"===c?{name:"exponential",base:void 0!==e.base?e.base:1}:null;return{kind:"camera",interpolationType:T,interpolationFactor:rr.interpolationFactor.bind(void 0,T),zoomStops:e.stops.map((function(t){return t[0]})),evaluate:function(t){return n(e,r,t.zoom,i,a)}}}return{kind:"source",evaluate:function(t,o){var s=o&&o.properties?o.properties[e.property]:void 0;return void 0===s?Rr(e.default,r.default):n(e,r,s,i,a)}}}(this._parameters,this._specification))};function Xr(t){var e=t.key,r=t.value,n=t.valueSpec||{},i=t.objectElementValidators||{},a=t.style,o=t.styleSpec,s=[],l=zr(r);if("object"!==l)return[new St(e,r,"object expected, "+l+" found")];for(var c in r){var u=c.split(".")[0],f=n[u]||n["*"],h=void 0;if(i[u])h=i[u];else if(n[u])h=bn;else if(i["*"])h=i["*"];else{if(!n["*"]){s.push(new St(e,r[c],'unknown property "'+c+'"'));continue}h=bn}s=s.concat(h({key:(e?e+".":e)+c,value:r[c],valueSpec:f,style:a,styleSpec:o,object:r,objectKey:c},r))}for(var p in n)i[p]||n[p].required&&void 0===n[p].default&&void 0===r[p]&&s.push(new St(e,r,'missing required property "'+p+'"'));return s}function Zr(t){var e=t.value,r=t.valueSpec,n=t.style,i=t.styleSpec,a=t.key,o=t.arrayElementValidator||bn;if("array"!==zr(e))return[new St(a,e,"array expected, "+zr(e)+" found")];if(r.length&&e.length!==r.length)return[new St(a,e,"array length "+r.length+" expected, length "+e.length+" found")];if(r["min-length"]&&e.length<r["min-length"])return[new St(a,e,"array length at least "+r["min-length"]+" expected, length "+e.length+" found")];var s={type:r.value,values:r.values};i.$version<7&&(s.function=r.function),"object"===zr(r.value)&&(s=r.value);for(var l=[],c=0;c<e.length;c++)l=l.concat(o({array:e,arrayIndex:c,value:e[c],valueSpec:s,style:n,styleSpec:i,key:a+"["+c+"]"}));return l}function Jr(t){var e=t.key,r=t.value,n=t.valueSpec,i=zr(r);return"number"===i&&r!=r&&(i="NaN"),"number"!==i?[new St(e,r,"number expected, "+i+" found")]:"minimum"in n&&r<n.minimum?[new St(e,r,r+" is less than the minimum value "+n.minimum)]:"maximum"in n&&r>n.maximum?[new St(e,r,r+" is greater than the maximum value "+n.maximum)]:[]}function Kr(t){var e,r,n,i=t.valueSpec,a=Lt(t.value.type),o={},s="categorical"!==a&&void 0===t.value.property,l=!s,c="array"===zr(t.value.stops)&&"array"===zr(t.value.stops[0])&&"object"===zr(t.value.stops[0][0]),u=Xr({key:t.key,value:t.value,valueSpec:t.styleSpec.function,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{stops:function(t){if("identity"===a)return[new St(t.key,t.value,'identity function may not have a "stops" property')];var e=[],r=t.value;return e=e.concat(Zr({key:t.key,value:r,valueSpec:t.valueSpec,style:t.style,styleSpec:t.styleSpec,arrayElementValidator:f})),"array"===zr(r)&&0===r.length&&e.push(new St(t.key,r,"array must have at least one stop")),e},default:function(t){return bn({key:t.key,value:t.value,valueSpec:i,style:t.style,styleSpec:t.styleSpec})}}});return"identity"===a&&s&&u.push(new St(t.key,t.value,'missing required property "property"')),"identity"===a||t.value.stops||u.push(new St(t.key,t.value,'missing required property "stops"')),"exponential"===a&&t.valueSpec.expression&&!Pr(t.valueSpec)&&u.push(new St(t.key,t.value,"exponential functions not supported")),t.styleSpec.$version>=8&&(l&&!Lr(t.valueSpec)?u.push(new St(t.key,t.value,"property functions not supported")):s&&!Ir(t.valueSpec)&&u.push(new St(t.key,t.value,"zoom functions not supported"))),"categorical"!==a&&!c||void 0!==t.value.property||u.push(new St(t.key,t.value,'"property" property is required')),u;function f(t){var e=[],a=t.value,s=t.key;if("array"!==zr(a))return[new St(s,a,"array expected, "+zr(a)+" found")];if(2!==a.length)return[new St(s,a,"array length 2 expected, length "+a.length+" found")];if(c){if("object"!==zr(a[0]))return[new St(s,a,"object expected, "+zr(a[0])+" found")];if(void 0===a[0].zoom)return[new St(s,a,"object stop key must have zoom")];if(void 0===a[0].value)return[new St(s,a,"object stop key must have value")];if(n&&n>Lt(a[0].zoom))return[new St(s,a[0].zoom,"stop zoom values must appear in ascending order")];Lt(a[0].zoom)!==n&&(n=Lt(a[0].zoom),r=void 0,o={}),e=e.concat(Xr({key:s+"[0]",value:a[0],valueSpec:{zoom:{}},style:t.style,styleSpec:t.styleSpec,objectElementValidators:{zoom:Jr,value:h}}))}else e=e.concat(h({key:s+"[0]",value:a[0],valueSpec:{},style:t.style,styleSpec:t.styleSpec},a));return Vr(It(a[1]))?e.concat([new St(s+"[1]",a[1],"expressions are not allowed in function stops.")]):e.concat(bn({key:s+"[1]",value:a[1],valueSpec:i,style:t.style,styleSpec:t.styleSpec}))}function h(t,n){var s=zr(t.value),l=Lt(t.value),c=null!==t.value?t.value:n;if(e){if(s!==e)return[new St(t.key,c,s+" stop domain type must match previous stop domain type "+e)]}else e=s;if("number"!==s&&"string"!==s&&"boolean"!==s)return[new St(t.key,c,"stop domain value must be a number, string, or boolean")];if("number"!==s&&"categorical"!==a){var u="number expected, "+s+" found";return Lr(i)&&void 0===a&&(u+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'),[new St(t.key,c,u)]}return"categorical"!==a||"number"!==s||isFinite(l)&&Math.floor(l)===l?"categorical"!==a&&"number"===s&&void 0!==r&&l<r?[new St(t.key,c,"stop domain values must appear in ascending order")]:(r=l,"categorical"===a&&l in o?[new St(t.key,c,"stop domain values must be unique")]:(o[l]=!0,[])):[new St(t.key,c,"integer expected, found "+l)]}}function Qr(t){var e=("property"===t.expressionContext?Yr:qr)(It(t.value),t.valueSpec);if("error"===e.result)return e.value.map((function(e){return new St(""+t.key+e.key,t.value,e.message)}));var r=e.value.expression||e.value._styleExpression.expression;if("property"===t.expressionContext&&"text-font"===t.propertyKey&&!r.outputDefined())return[new St(t.key,t.value,'Invalid data expression for "'+t.propertyKey+'". Output values must be contained as literals within the expression.')];if("property"===t.expressionContext&&"layout"===t.propertyType&&!De(r))return[new St(t.key,t.value,'"feature-state" data expressions are not supported with layout properties.')];if("filter"===t.expressionContext&&!De(r))return[new St(t.key,t.value,'"feature-state" data expressions are not supported with filters.')];if(t.expressionContext&&0===t.expressionContext.indexOf("cluster")){if(!Re(r,["zoom","feature-state"]))return[new St(t.key,t.value,'"zoom" and "feature-state" expressions are not supported with cluster properties.')];if("cluster-initial"===t.expressionContext&&!Oe(r))return[new St(t.key,t.value,"Feature data expressions are not supported with initial expression part of cluster properties.")]}return[]}function $r(t){var e=t.key,r=t.value,n=t.valueSpec,i=[];return Array.isArray(n.values)?-1===n.values.indexOf(Lt(r))&&i.push(new St(e,r,"expected one of ["+n.values.join(", ")+"], "+JSON.stringify(r)+" found")):-1===Object.keys(n.values).indexOf(Lt(r))&&i.push(new St(e,r,"expected one of ["+Object.keys(n.values).join(", ")+"], "+JSON.stringify(r)+" found")),i}function tn(t){if(!0===t||!1===t)return!0;if(!Array.isArray(t)||0===t.length)return!1;switch(t[0]){case"has":return t.length>=2&&"$id"!==t[1]&&"$type"!==t[1];case"in":return t.length>=3&&("string"!=typeof t[1]||Array.isArray(t[2]));case"!in":case"!has":case"none":return!1;case"==":case"!=":case">":case">=":case"<":case"<=":return 3!==t.length||Array.isArray(t[1])||Array.isArray(t[2]);case"any":case"all":for(var e=0,r=t.slice(1);e<r.length;e+=1){var n=r[e];if(!tn(n)&&"boolean"!=typeof n)return!1}return!0;default:return!0}}Wr.deserialize=function(t){return new Wr(t._parameters,t._specification)},Wr.serialize=function(t){return{_parameters:t._parameters,_specification:t._specification}};var en={type:"boolean",default:!1,transition:!1,"property-type":"data-driven",expression:{interpolated:!1,parameters:["zoom","feature"]}};function rn(t){if(null==t)return{filter:function(){return!0},needGeometry:!1};tn(t)||(t=an(t));var e=qr(t,en);if("error"===e.result)throw new Error(e.value.map((function(t){return t.key+": "+t.message})).join(", "));return{filter:function(t,r,n){return e.value.evaluate(t,r,{},n)},needGeometry:function t(e){if(!Array.isArray(e))return!1;if("within"===e[0])return!0;for(var r=1;r<e.length;r++)if(t(e[r]))return!0;return!1}(t)}}function nn(t,e){return t<e?-1:t>e?1:0}function an(t){if(!t)return!0;var e,r=t[0];return t.length<=1?"any"!==r:"=="===r?on(t[1],t[2],"=="):"!="===r?cn(on(t[1],t[2],"==")):"<"===r||">"===r||"<="===r||">="===r?on(t[1],t[2],r):"any"===r?(e=t.slice(1),["any"].concat(e.map(an))):"all"===r?["all"].concat(t.slice(1).map(an)):"none"===r?["all"].concat(t.slice(1).map(an).map(cn)):"in"===r?sn(t[1],t.slice(2)):"!in"===r?cn(sn(t[1],t.slice(2))):"has"===r?ln(t[1]):"!has"===r?cn(ln(t[1])):"within"!==r||t}function on(t,e,r){switch(t){case"$type":return["filter-type-"+r,e];case"$id":return["filter-id-"+r,e];default:return["filter-"+r,t,e]}}function sn(t,e){if(0===e.length)return!1;switch(t){case"$type":return["filter-type-in",["literal",e]];case"$id":return["filter-id-in",["literal",e]];default:return e.length>200&&!e.some((function(t){return typeof t!=typeof e[0]}))?["filter-in-large",t,["literal",e.sort(nn)]]:["filter-in-small",t,["literal",e]]}}function ln(t){switch(t){case"$type":return!0;case"$id":return["filter-has-id"];default:return["filter-has",t]}}function cn(t){return["!",t]}function un(t){return tn(It(t.value))?Qr(Ct({},t,{expressionContext:"filter",valueSpec:{value:"boolean"}})):function t(e){var r=e.value,n=e.key;if("array"!==zr(r))return[new St(n,r,"array expected, "+zr(r)+" found")];var i,a=e.styleSpec,o=[];if(r.length<1)return[new St(n,r,"filter array must have at least 1 element")];switch(o=o.concat($r({key:n+"[0]",value:r[0],valueSpec:a.filter_operator,style:e.style,styleSpec:e.styleSpec})),Lt(r[0])){case"<":case"<=":case">":case">=":r.length>=2&&"$type"===Lt(r[1])&&o.push(new St(n,r,'"$type" cannot be use with operator "'+r[0]+'"'));case"==":case"!=":3!==r.length&&o.push(new St(n,r,'filter array for operator "'+r[0]+'" must have 3 elements'));case"in":case"!in":r.length>=2&&"string"!==(i=zr(r[1]))&&o.push(new St(n+"[1]",r[1],"string expected, "+i+" found"));for(var s=2;s<r.length;s++)i=zr(r[s]),"$type"===Lt(r[1])?o=o.concat($r({key:n+"["+s+"]",value:r[s],valueSpec:a.geometry_type,style:e.style,styleSpec:e.styleSpec})):"string"!==i&&"number"!==i&&"boolean"!==i&&o.push(new St(n+"["+s+"]",r[s],"string, number, or boolean expected, "+i+" found"));break;case"any":case"all":case"none":for(var l=1;l<r.length;l++)o=o.concat(t({key:n+"["+l+"]",value:r[l],style:e.style,styleSpec:e.styleSpec}));break;case"has":case"!has":i=zr(r[1]),2!==r.length?o.push(new St(n,r,'filter array for "'+r[0]+'" operator must have 2 elements')):"string"!==i&&o.push(new St(n+"[1]",r[1],"string expected, "+i+" found"));break;case"within":i=zr(r[1]),2!==r.length?o.push(new St(n,r,'filter array for "'+r[0]+'" operator must have 2 elements')):"object"!==i&&o.push(new St(n+"[1]",r[1],"object expected, "+i+" found"))}return o}(t)}function fn(t,e){var r=t.key,n=t.style,i=t.styleSpec,a=t.value,o=t.objectKey,s=i[e+"_"+t.layerType];if(!s)return[];var l=o.match(/^(.*)-transition$/);if("paint"===e&&l&&s[l[1]]&&s[l[1]].transition)return bn({key:r,value:a,valueSpec:i.transition,style:n,styleSpec:i});var c,u=t.valueSpec||s[o];if(!u)return[new St(r,a,'unknown property "'+o+'"')];if("string"===zr(a)&&Lr(u)&&!u.tokens&&(c=/^{([^}]+)}$/.exec(a)))return[new St(r,a,'"'+o+'" does not support interpolation syntax\nUse an identity property function instead: `{ "type": "identity", "property": '+JSON.stringify(c[1])+" }`.")];var f=[];return"symbol"===t.layerType&&("text-field"===o&&n&&!n.glyphs&&f.push(new St(r,a,'use of "text-field" requires a style "glyphs" property')),"text-font"===o&&Or(It(a))&&"identity"===Lt(a.type)&&f.push(new St(r,a,'"text-font" does not support identity functions'))),f.concat(bn({key:t.key,value:a,valueSpec:u,style:n,styleSpec:i,expressionContext:"property",propertyType:e,propertyKey:o}))}function hn(t){return fn(t,"paint")}function pn(t){return fn(t,"layout")}function dn(t){var e=[],r=t.value,n=t.key,i=t.style,a=t.styleSpec;r.type||r.ref||e.push(new St(n,r,'either "type" or "ref" is required'));var o,s=Lt(r.type),l=Lt(r.ref);if(r.id)for(var c=Lt(r.id),u=0;u<t.arrayIndex;u++){var f=i.layers[u];Lt(f.id)===c&&e.push(new St(n,r.id,'duplicate layer id "'+r.id+'", previously used at line '+f.id.__line__))}if("ref"in r)["type","source","source-layer","filter","layout"].forEach((function(t){t in r&&e.push(new St(n,r[t],'"'+t+'" is prohibited for ref layers'))})),i.layers.forEach((function(t){Lt(t.id)===l&&(o=t)})),o?o.ref?e.push(new St(n,r.ref,"ref cannot reference another ref layer")):s=Lt(o.type):e.push(new St(n,r.ref,'ref layer "'+l+'" not found'));else if("background"!==s)if(r.source){var h=i.sources&&i.sources[r.source],p=h&&Lt(h.type);h?"vector"===p&&"raster"===s?e.push(new St(n,r.source,'layer "'+r.id+'" requires a raster source')):"raster"===p&&"raster"!==s?e.push(new St(n,r.source,'layer "'+r.id+'" requires a vector source')):"vector"!==p||r["source-layer"]?"raster-dem"===p&&"hillshade"!==s?e.push(new St(n,r.source,"raster-dem source can only be used with layer type 'hillshade'.")):"line"!==s||!r.paint||!r.paint["line-gradient"]||"geojson"===p&&h.lineMetrics||e.push(new St(n,r,'layer "'+r.id+'" specifies a line-gradient, which requires a GeoJSON source with `lineMetrics` enabled.')):e.push(new St(n,r,'layer "'+r.id+'" must specify a "source-layer"')):e.push(new St(n,r.source,'source "'+r.source+'" not found'))}else e.push(new St(n,r,'missing required property "source"'));return e=e.concat(Xr({key:n,value:r,valueSpec:a.layer,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{"*":function(){return[]},type:function(){return bn({key:n+".type",value:r.type,valueSpec:a.layer.type,style:t.style,styleSpec:t.styleSpec,object:r,objectKey:"type"})},filter:un,layout:function(t){return Xr({layer:r,key:t.key,value:t.value,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{"*":function(t){return pn(Ct({layerType:s},t))}}})},paint:function(t){return Xr({layer:r,key:t.key,value:t.value,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{"*":function(t){return hn(Ct({layerType:s},t))}}})}}}))}function gn(t){var e=t.value,r=t.key,n=zr(e);return"string"!==n?[new St(r,e,"string expected, "+n+" found")]:[]}var mn={promoteId:function(t){var e=t.key,r=t.value;if("string"===zr(r))return gn({key:e,value:r});var n=[];for(var i in r)n.push.apply(n,gn({key:e+"."+i,value:r[i]}));return n}};function vn(t){var e=t.value,r=t.key,n=t.styleSpec,i=t.style;if(!e.type)return[new St(r,e,'"type" is required')];var a,o=Lt(e.type);switch(o){case"vector":case"raster":case"raster-dem":return Xr({key:r,value:e,valueSpec:n["source_"+o.replace("-","_")],style:t.style,styleSpec:n,objectElementValidators:mn});case"geojson":if(a=Xr({key:r,value:e,valueSpec:n.source_geojson,style:i,styleSpec:n,objectElementValidators:mn}),e.cluster)for(var s in e.clusterProperties){var l=e.clusterProperties[s],c=l[0],u="string"==typeof c?[c,["accumulated"],["get",s]]:c;a.push.apply(a,Qr({key:r+"."+s+".map",value:l[1],expressionContext:"cluster-map"})),a.push.apply(a,Qr({key:r+"."+s+".reduce",value:u,expressionContext:"cluster-reduce"}))}return a;case"video":return Xr({key:r,value:e,valueSpec:n.source_video,style:i,styleSpec:n});case"image":return Xr({key:r,value:e,valueSpec:n.source_image,style:i,styleSpec:n});case"canvas":return[new St(r,null,"Please use runtime APIs to add canvas sources, rather than including them in stylesheets.","source.canvas")];default:return $r({key:r+".type",value:e.type,valueSpec:{values:["vector","raster","raster-dem","geojson","video","image"]},style:i,styleSpec:n})}}function yn(t){var e=t.value,r=t.styleSpec,n=r.light,i=t.style,a=[],o=zr(e);if(void 0===e)return a;if("object"!==o)return a.concat([new St("light",e,"object expected, "+o+" found")]);for(var s in e){var l=s.match(/^(.*)-transition$/);a=a.concat(l&&n[l[1]]&&n[l[1]].transition?bn({key:s,value:e[s],valueSpec:r.transition,style:i,styleSpec:r}):n[s]?bn({key:s,value:e[s],valueSpec:n[s],style:i,styleSpec:r}):[new St(s,e[s],'unknown property "'+s+'"')])}return a}var xn={"*":function(){return[]},array:Zr,boolean:function(t){var e=t.value,r=t.key,n=zr(e);return"boolean"!==n?[new St(r,e,"boolean expected, "+n+" found")]:[]},number:Jr,color:function(t){var e=t.key,r=t.value,n=zr(r);return"string"!==n?[new St(e,r,"color expected, "+n+" found")]:null===Jt(r)?[new St(e,r,'color expected, "'+r+'" found')]:[]},constants:Et,enum:$r,filter:un,function:Kr,layer:dn,object:Xr,source:vn,light:yn,string:gn,formatted:function(t){return 0===gn(t).length?[]:Qr(t)},resolvedImage:function(t){return 0===gn(t).length?[]:Qr(t)}};function bn(t){var e=t.value,r=t.valueSpec,n=t.styleSpec;return r.expression&&Or(Lt(e))?Kr(t):r.expression&&Vr(It(e))?Qr(t):r.type&&xn[r.type]?xn[r.type](t):Xr(Ct({},t,{valueSpec:r.type?n[r.type]:r}))}function _n(t){var e=t.value,r=t.key,n=gn(t);return n.length||(-1===e.indexOf("{fontstack}")&&n.push(new St(r,e,'"glyphs" url must include a "{fontstack}" token')),-1===e.indexOf("{range}")&&n.push(new St(r,e,'"glyphs" url must include a "{range}" token'))),n}function wn(t,e){void 0===e&&(e=At);var r=[];return r=r.concat(bn({key:"",value:t,valueSpec:e.$root,styleSpec:e,style:t,objectElementValidators:{glyphs:_n,"*":function(){return[]}}})),t.constants&&(r=r.concat(Et({key:"constants",value:t.constants,style:t,styleSpec:e}))),Tn(r)}function Tn(t){return[].concat(t).sort((function(t,e){return t.line-e.line}))}function kn(t){return function(){for(var e=[],r=arguments.length;r--;)e[r]=arguments[r];return Tn(t.apply(this,e))}}wn.source=kn(vn),wn.light=kn(yn),wn.layer=kn(dn),wn.filter=kn(un),wn.paintProperty=kn(hn),wn.layoutProperty=kn(pn);var Mn=wn,An=Mn.light,Sn=Mn.paintProperty,En=Mn.layoutProperty;function Cn(t,e){var r=!1;if(e&&e.length)for(var n=0,i=e;n<i.length;n+=1)t.fire(new kt(new Error(i[n].message))),r=!0;return r}var Ln=In;function In(t,e,r){var n=this.cells=[];if(t instanceof ArrayBuffer){this.arrayBuffer=t;var i=new Int32Array(this.arrayBuffer);t=i[0],this.d=(e=i[1])+2*(r=i[2]);for(var a=0;a<this.d*this.d;a++){var o=i[3+a],s=i[3+a+1];n.push(o===s?null:i.subarray(o,s))}var l=i[3+n.length+1];this.keys=i.subarray(i[3+n.length],l),this.bboxes=i.subarray(l),this.insert=this._insertReadonly}else{this.d=e+2*r;for(var c=0;c<this.d*this.d;c++)n.push([]);this.keys=[],this.bboxes=[]}this.n=e,this.extent=t,this.padding=r,this.scale=e/t,this.uid=0;var u=r/e*t;this.min=-u,this.max=t+u}In.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)},In.prototype._insertReadonly=function(){throw"Cannot insert into a GridIndex created from an ArrayBuffer."},In.prototype._insertCell=function(t,e,r,n,i,a){this.cells[i].push(a)},In.prototype.query=function(t,e,r,n,i){var a=this.min,o=this.max;if(t<=a&&e<=a&&o<=r&&o<=n&&!i)return Array.prototype.slice.call(this.keys);var s=[];return this._forEachCell(t,e,r,n,this._queryCell,s,{},i),s},In.prototype._queryCell=function(t,e,r,n,i,a,o,s){var l=this.cells[i];if(null!==l)for(var c=this.keys,u=this.bboxes,f=0;f<l.length;f++){var h=l[f];if(void 0===o[h]){var p=4*h;(s?s(u[p+0],u[p+1],u[p+2],u[p+3]):t<=u[p+2]&&e<=u[p+3]&&r>=u[p+0]&&n>=u[p+1])?(o[h]=!0,a.push(c[h])):o[h]=!1}}},In.prototype._forEachCell=function(t,e,r,n,i,a,o,s){for(var l=this._convertToCellCoord(t),c=this._convertToCellCoord(e),u=this._convertToCellCoord(r),f=this._convertToCellCoord(n),h=l;h<=u;h++)for(var p=c;p<=f;p++){var d=this.d*p+h;if((!s||s(this._convertFromCellCoord(h),this._convertFromCellCoord(p),this._convertFromCellCoord(h+1),this._convertFromCellCoord(p+1)))&&i.call(this,t,e,r,n,d,a,o,s))return}},In.prototype._convertFromCellCoord=function(t){return(t-this.padding)/this.scale},In.prototype._convertToCellCoord=function(t){return Math.max(0,Math.min(this.d-1,Math.floor(t*this.scale)+this.padding))},In.prototype.toArrayBuffer=function(){if(this.arrayBuffer)return this.arrayBuffer;for(var t=this.cells,e=3+this.cells.length+1+1,r=0,n=0;n<this.cells.length;n++)r+=this.cells[n].length;var i=new Int32Array(e+r+this.keys.length+this.bboxes.length);i[0]=this.extent,i[1]=this.n,i[2]=this.padding;for(var a=e,o=0;o<t.length;o++){var s=t[o];i[3+o]=a,i.set(s,a),a+=s.length}return i[3+t.length]=a,i.set(this.keys,a),i[3+t.length+1]=a+=this.keys.length,i.set(this.bboxes,a),a+=this.bboxes.length,i.buffer};var Pn=self.ImageData,zn=self.ImageBitmap,On={};function Dn(t,e,r){void 0===r&&(r={}),Object.defineProperty(e,"_classRegistryKey",{value:t,writeable:!1}),On[t]={klass:e,omit:r.omit||[],shallow:r.shallow||[]}}for(var Rn in Dn("Object",Object),Ln.serialize=function(t,e){var r=t.toArrayBuffer();return e&&e.push(r),{buffer:r}},Ln.deserialize=function(t){return new Ln(t.buffer)},Dn("Grid",Ln),Dn("Color",Kt),Dn("Error",Error),Dn("ResolvedImage",ee),Dn("StylePropertyFunction",Wr),Dn("StyleExpression",Ur,{omit:["_evaluator"]}),Dn("ZoomDependentExpression",Gr),Dn("ZoomConstantExpression",Hr),Dn("CompoundExpression",me,{omit:["_evaluate"]}),Tr)Tr[Rn]._classRegistryKey||Dn("Expression_"+Rn,Tr[Rn]);function Fn(t){return t&&"undefined"!=typeof ArrayBuffer&&(t instanceof ArrayBuffer||t.constructor&&"ArrayBuffer"===t.constructor.name)}function Bn(t){return zn&&t instanceof zn}function Nn(t,e){if(null==t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||t instanceof Boolean||t instanceof Number||t instanceof String||t instanceof Date||t instanceof RegExp)return t;if(Fn(t)||Bn(t))return e&&e.push(t),t;if(ArrayBuffer.isView(t)){var r=t;return e&&e.push(r.buffer),r}if(t instanceof Pn)return e&&e.push(t.data.buffer),t;if(Array.isArray(t)){for(var n=[],i=0,a=t;i<a.length;i+=1)n.push(Nn(a[i],e));return n}if("object"==typeof t){var o=t.constructor,s=o._classRegistryKey;if(!s)throw new Error("can't serialize object of unregistered class");var l=o.serialize?o.serialize(t,e):{};if(!o.serialize){for(var c in t)if(t.hasOwnProperty(c)&&!(On[s].omit.indexOf(c)>=0)){var u=t[c];l[c]=On[s].shallow.indexOf(c)>=0?u:Nn(u,e)}t instanceof Error&&(l.message=t.message)}if(l.$name)throw new Error("$name property is reserved for worker serialization logic.");return"Object"!==s&&(l.$name=s),l}throw new Error("can't serialize object of type "+typeof t)}function jn(t){if(null==t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||t instanceof Boolean||t instanceof Number||t instanceof String||t instanceof Date||t instanceof RegExp||Fn(t)||Bn(t)||ArrayBuffer.isView(t)||t instanceof Pn)return t;if(Array.isArray(t))return t.map(jn);if("object"==typeof t){var e=t.$name||"Object",r=On[e].klass;if(!r)throw new Error("can't deserialize unregistered class "+e);if(r.deserialize)return r.deserialize(t);for(var n=Object.create(r.prototype),i=0,a=Object.keys(t);i<a.length;i+=1){var o=a[i];if("$name"!==o){var s=t[o];n[o]=On[e].shallow.indexOf(o)>=0?s:jn(s)}}return n}throw new Error("can't deserialize object of type "+typeof t)}var Un=function(){this.first=!0};Un.prototype.update=function(t,e){var r=Math.floor(t);return this.first?(this.first=!1,this.lastIntegerZoom=r,this.lastIntegerZoomTime=0,this.lastZoom=t,this.lastFloorZoom=r,!0):(this.lastFloorZoom>r?(this.lastIntegerZoom=r+1,this.lastIntegerZoomTime=e):this.lastFloorZoom<r&&(this.lastIntegerZoom=r,this.lastIntegerZoomTime=e),t!==this.lastZoom&&(this.lastZoom=t,this.lastFloorZoom=r,!0))};var Vn={"Latin-1 Supplement":function(t){return t>=128&&t<=255},Arabic:function(t){return t>=1536&&t<=1791},"Arabic Supplement":function(t){return t>=1872&&t<=1919},"Arabic Extended-A":function(t){return t>=2208&&t<=2303},"Hangul Jamo":function(t){return t>=4352&&t<=4607},"Unified Canadian Aboriginal Syllabics":function(t){return t>=5120&&t<=5759},Khmer:function(t){return t>=6016&&t<=6143},"Unified Canadian Aboriginal Syllabics Extended":function(t){return t>=6320&&t<=6399},"General Punctuation":function(t){return t>=8192&&t<=8303},"Letterlike Symbols":function(t){return t>=8448&&t<=8527},"Number Forms":function(t){return t>=8528&&t<=8591},"Miscellaneous Technical":function(t){return t>=8960&&t<=9215},"Control Pictures":function(t){return t>=9216&&t<=9279},"Optical Character Recognition":function(t){return t>=9280&&t<=9311},"Enclosed Alphanumerics":function(t){return t>=9312&&t<=9471},"Geometric Shapes":function(t){return t>=9632&&t<=9727},"Miscellaneous Symbols":function(t){return t>=9728&&t<=9983},"Miscellaneous Symbols and Arrows":function(t){return t>=11008&&t<=11263},"CJK Radicals Supplement":function(t){return t>=11904&&t<=12031},"Kangxi Radicals":function(t){return t>=12032&&t<=12255},"Ideographic Description Characters":function(t){return t>=12272&&t<=12287},"CJK Symbols and Punctuation":function(t){return t>=12288&&t<=12351},Hiragana:function(t){return t>=12352&&t<=12447},Katakana:function(t){return t>=12448&&t<=12543},Bopomofo:function(t){return t>=12544&&t<=12591},"Hangul Compatibility Jamo":function(t){return t>=12592&&t<=12687},Kanbun:function(t){return t>=12688&&t<=12703},"Bopomofo Extended":function(t){return t>=12704&&t<=12735},"CJK Strokes":function(t){return t>=12736&&t<=12783},"Katakana Phonetic Extensions":function(t){return t>=12784&&t<=12799},"Enclosed CJK Letters and Months":function(t){return t>=12800&&t<=13055},"CJK Compatibility":function(t){return t>=13056&&t<=13311},"CJK Unified Ideographs Extension A":function(t){return t>=13312&&t<=19903},"Yijing Hexagram Symbols":function(t){return t>=19904&&t<=19967},"CJK Unified Ideographs":function(t){return t>=19968&&t<=40959},"Yi Syllables":function(t){return t>=40960&&t<=42127},"Yi Radicals":function(t){return t>=42128&&t<=42191},"Hangul Jamo Extended-A":function(t){return t>=43360&&t<=43391},"Hangul Syllables":function(t){return t>=44032&&t<=55215},"Hangul Jamo Extended-B":function(t){return t>=55216&&t<=55295},"Private Use Area":function(t){return t>=57344&&t<=63743},"CJK Compatibility Ideographs":function(t){return t>=63744&&t<=64255},"Arabic Presentation Forms-A":function(t){return t>=64336&&t<=65023},"Vertical Forms":function(t){return t>=65040&&t<=65055},"CJK Compatibility Forms":function(t){return t>=65072&&t<=65103},"Small Form Variants":function(t){return t>=65104&&t<=65135},"Arabic Presentation Forms-B":function(t){return t>=65136&&t<=65279},"Halfwidth and Fullwidth Forms":function(t){return t>=65280&&t<=65519}};function qn(t){for(var e=0,r=t;e<r.length;e+=1)if(Hn(r[e].charCodeAt(0)))return!0;return!1}function Hn(t){return!(746!==t&&747!==t&&(t<4352||!(Vn["Bopomofo Extended"](t)||Vn.Bopomofo(t)||Vn["CJK Compatibility Forms"](t)&&!(t>=65097&&t<=65103)||Vn["CJK Compatibility Ideographs"](t)||Vn["CJK Compatibility"](t)||Vn["CJK Radicals Supplement"](t)||Vn["CJK Strokes"](t)||!(!Vn["CJK Symbols and Punctuation"](t)||t>=12296&&t<=12305||t>=12308&&t<=12319||12336===t)||Vn["CJK Unified Ideographs Extension A"](t)||Vn["CJK Unified Ideographs"](t)||Vn["Enclosed CJK Letters and Months"](t)||Vn["Hangul Compatibility Jamo"](t)||Vn["Hangul Jamo Extended-A"](t)||Vn["Hangul Jamo Extended-B"](t)||Vn["Hangul Jamo"](t)||Vn["Hangul Syllables"](t)||Vn.Hiragana(t)||Vn["Ideographic Description Characters"](t)||Vn.Kanbun(t)||Vn["Kangxi Radicals"](t)||Vn["Katakana Phonetic Extensions"](t)||Vn.Katakana(t)&&12540!==t||!(!Vn["Halfwidth and Fullwidth Forms"](t)||65288===t||65289===t||65293===t||t>=65306&&t<=65310||65339===t||65341===t||65343===t||t>=65371&&t<=65503||65507===t||t>=65512&&t<=65519)||!(!Vn["Small Form Variants"](t)||t>=65112&&t<=65118||t>=65123&&t<=65126)||Vn["Unified Canadian Aboriginal Syllabics"](t)||Vn["Unified Canadian Aboriginal Syllabics Extended"](t)||Vn["Vertical Forms"](t)||Vn["Yijing Hexagram Symbols"](t)||Vn["Yi Syllables"](t)||Vn["Yi Radicals"](t))))}function Gn(t){return!(Hn(t)||function(t){return!!(Vn["Latin-1 Supplement"](t)&&(167===t||169===t||174===t||177===t||188===t||189===t||190===t||215===t||247===t)||Vn["General Punctuation"](t)&&(8214===t||8224===t||8225===t||8240===t||8241===t||8251===t||8252===t||8258===t||8263===t||8264===t||8265===t||8273===t)||Vn["Letterlike Symbols"](t)||Vn["Number Forms"](t)||Vn["Miscellaneous Technical"](t)&&(t>=8960&&t<=8967||t>=8972&&t<=8991||t>=8996&&t<=9e3||9003===t||t>=9085&&t<=9114||t>=9150&&t<=9165||9167===t||t>=9169&&t<=9179||t>=9186&&t<=9215)||Vn["Control Pictures"](t)&&9251!==t||Vn["Optical Character Recognition"](t)||Vn["Enclosed Alphanumerics"](t)||Vn["Geometric Shapes"](t)||Vn["Miscellaneous Symbols"](t)&&!(t>=9754&&t<=9759)||Vn["Miscellaneous Symbols and Arrows"](t)&&(t>=11026&&t<=11055||t>=11088&&t<=11097||t>=11192&&t<=11243)||Vn["CJK Symbols and Punctuation"](t)||Vn.Katakana(t)||Vn["Private Use Area"](t)||Vn["CJK Compatibility Forms"](t)||Vn["Small Form Variants"](t)||Vn["Halfwidth and Fullwidth Forms"](t)||8734===t||8756===t||8757===t||t>=9984&&t<=10087||t>=10102&&t<=10131||65532===t||65533===t)}(t))}function Yn(t){return t>=1424&&t<=2303||Vn["Arabic Presentation Forms-A"](t)||Vn["Arabic Presentation Forms-B"](t)}function Wn(t,e){return!(!e&&Yn(t)||t>=2304&&t<=3583||t>=3840&&t<=4255||Vn.Khmer(t))}function Xn(t){for(var e=0,r=t;e<r.length;e+=1)if(Yn(r[e].charCodeAt(0)))return!0;return!1}var Zn=null,Jn="unavailable",Kn=null,Qn=function(t){t&&"string"==typeof t&&t.indexOf("NetworkError")>-1&&(Jn="error"),Zn&&Zn(t)};function $n(){ti.fire(new Tt("pluginStateChange",{pluginStatus:Jn,pluginURL:Kn}))}var ti=new Mt,ei=function(){return Jn},ri=function(){if("deferred"!==Jn||!Kn)throw new Error("rtl-text-plugin cannot be downloaded unless a pluginURL is specified");Jn="loading",$n(),Kn&&yt({url:Kn},(function(t){t?Qn(t):(Jn="loaded",$n())}))},ni={applyArabicShaping:null,processBidirectionalText:null,processStyledBidirectionalText:null,isLoaded:function(){return"loaded"===Jn||null!=ni.applyArabicShaping},isLoading:function(){return"loading"===Jn},setState:function(t){Jn=t.pluginStatus,Kn=t.pluginURL},isParsed:function(){return null!=ni.applyArabicShaping&&null!=ni.processBidirectionalText&&null!=ni.processStyledBidirectionalText},getPluginURL:function(){return Kn}},ii=function(t,e){this.zoom=t,e?(this.now=e.now,this.fadeDuration=e.fadeDuration,this.zoomHistory=e.zoomHistory,this.transition=e.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new Un,this.transition={})};ii.prototype.isSupportedScript=function(t){return function(t,e){for(var r=0,n=t;r<n.length;r+=1)if(!Wn(n[r].charCodeAt(0),e))return!1;return!0}(t,ni.isLoaded())},ii.prototype.crossFadingFactor=function(){return 0===this.fadeDuration?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)},ii.prototype.getCrossfadeParameters=function(){var t=this.zoom,e=t-Math.floor(t),r=this.crossFadingFactor();return t>this.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:e+(1-e)*r}:{fromScale:.5,toScale:1,t:1-(1-r)*e}};var ai=function(t,e){this.property=t,this.value=e,this.expression=function(t,e){if(Or(t))return new Wr(t,e);if(Vr(t)){var r=Yr(t,e);if("error"===r.result)throw new Error(r.value.map((function(t){return t.key+": "+t.message})).join(", "));return r.value}var n=t;return"string"==typeof t&&"color"===e.type&&(n=Kt.parse(t)),{kind:"constant",evaluate:function(){return n}}}(void 0===e?t.specification.default:e,t.specification)};ai.prototype.isDataDriven=function(){return"source"===this.expression.kind||"composite"===this.expression.kind},ai.prototype.possiblyEvaluate=function(t,e,r){return this.property.possiblyEvaluate(this,t,e,r)};var oi=function(t){this.property=t,this.value=new ai(t,void 0)};oi.prototype.transitioned=function(t,e){return new li(this.property,this.value,e,u({},t.transition,this.transition),t.now)},oi.prototype.untransitioned=function(){return new li(this.property,this.value,null,{},0)};var si=function(t){this._properties=t,this._values=Object.create(t.defaultTransitionablePropertyValues)};si.prototype.getValue=function(t){return x(this._values[t].value.value)},si.prototype.setValue=function(t,e){this._values.hasOwnProperty(t)||(this._values[t]=new oi(this._values[t].property)),this._values[t].value=new ai(this._values[t].property,null===e?void 0:x(e))},si.prototype.getTransition=function(t){return x(this._values[t].transition)},si.prototype.setTransition=function(t,e){this._values.hasOwnProperty(t)||(this._values[t]=new oi(this._values[t].property)),this._values[t].transition=x(e)||void 0},si.prototype.serialize=function(){for(var t={},e=0,r=Object.keys(this._values);e<r.length;e+=1){var n=r[e],i=this.getValue(n);void 0!==i&&(t[n]=i);var a=this.getTransition(n);void 0!==a&&(t[n+"-transition"]=a)}return t},si.prototype.transitioned=function(t,e){for(var r=new ci(this._properties),n=0,i=Object.keys(this._values);n<i.length;n+=1){var a=i[n];r._values[a]=this._values[a].transitioned(t,e._values[a])}return r},si.prototype.untransitioned=function(){for(var t=new ci(this._properties),e=0,r=Object.keys(this._values);e<r.length;e+=1){var n=r[e];t._values[n]=this._values[n].untransitioned()}return t};var li=function(t,e,r,n,i){this.property=t,this.value=e,this.begin=i+n.delay||0,this.end=this.begin+n.duration||0,t.specification.transition&&(n.delay||n.duration)&&(this.prior=r)};li.prototype.possiblyEvaluate=function(t,e,r){var n=t.now||0,i=this.value.possiblyEvaluate(t,e,r),a=this.prior;if(a){if(n>this.end)return this.prior=null,i;if(this.value.isDataDriven())return this.prior=null,i;if(n<this.begin)return a.possiblyEvaluate(t,e,r);var o=(n-this.begin)/(this.end-this.begin);return this.property.interpolate(a.possiblyEvaluate(t,e,r),i,function(t){if(t<=0)return 0;if(t>=1)return 1;var e=t*t,r=e*t;return 4*(t<.5?r:3*(t-e)+r-.75)}(o))}return i};var ci=function(t){this._properties=t,this._values=Object.create(t.defaultTransitioningPropertyValues)};ci.prototype.possiblyEvaluate=function(t,e,r){for(var n=new hi(this._properties),i=0,a=Object.keys(this._values);i<a.length;i+=1){var o=a[i];n._values[o]=this._values[o].possiblyEvaluate(t,e,r)}return n},ci.prototype.hasTransition=function(){for(var t=0,e=Object.keys(this._values);t<e.length;t+=1)if(this._values[e[t]].prior)return!0;return!1};var ui=function(t){this._properties=t,this._values=Object.create(t.defaultPropertyValues)};ui.prototype.getValue=function(t){return x(this._values[t].value)},ui.prototype.setValue=function(t,e){this._values[t]=new ai(this._values[t].property,null===e?void 0:x(e))},ui.prototype.serialize=function(){for(var t={},e=0,r=Object.keys(this._values);e<r.length;e+=1){var n=r[e],i=this.getValue(n);void 0!==i&&(t[n]=i)}return t},ui.prototype.possiblyEvaluate=function(t,e,r){for(var n=new hi(this._properties),i=0,a=Object.keys(this._values);i<a.length;i+=1){var o=a[i];n._values[o]=this._values[o].possiblyEvaluate(t,e,r)}return n};var fi=function(t,e,r){this.property=t,this.value=e,this.parameters=r};fi.prototype.isConstant=function(){return"constant"===this.value.kind},fi.prototype.constantOr=function(t){return"constant"===this.value.kind?this.value.value:t},fi.prototype.evaluate=function(t,e,r,n){return this.property.evaluate(this.value,this.parameters,t,e,r,n)};var hi=function(t){this._properties=t,this._values=Object.create(t.defaultPossiblyEvaluatedValues)};hi.prototype.get=function(t){return this._values[t]};var pi=function(t){this.specification=t};pi.prototype.possiblyEvaluate=function(t,e){return t.expression.evaluate(e)},pi.prototype.interpolate=function(t,e,r){var n=Ve[this.specification.type];return n?n(t,e,r):t};var di=function(t,e){this.specification=t,this.overrides=e};di.prototype.possiblyEvaluate=function(t,e,r,n){return new fi(this,"constant"===t.expression.kind||"camera"===t.expression.kind?{kind:"constant",value:t.expression.evaluate(e,null,{},r,n)}:t.expression,e)},di.prototype.interpolate=function(t,e,r){if("constant"!==t.value.kind||"constant"!==e.value.kind)return t;if(void 0===t.value.value||void 0===e.value.value)return new fi(this,{kind:"constant",value:void 0},t.parameters);var n=Ve[this.specification.type];return n?new fi(this,{kind:"constant",value:n(t.value.value,e.value.value,r)},t.parameters):t},di.prototype.evaluate=function(t,e,r,n,i,a){return"constant"===t.kind?t.value:t.evaluate(e,r,n,i,a)};var gi=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.possiblyEvaluate=function(t,e,r,n){if(void 0===t.value)return new fi(this,{kind:"constant",value:void 0},e);if("constant"===t.expression.kind){var i=t.expression.evaluate(e,null,{},r,n),a="resolvedImage"===t.property.specification.type&&"string"!=typeof i?i.name:i,o=this._calculate(a,a,a,e);return new fi(this,{kind:"constant",value:o},e)}if("camera"===t.expression.kind){var s=this._calculate(t.expression.evaluate({zoom:e.zoom-1}),t.expression.evaluate({zoom:e.zoom}),t.expression.evaluate({zoom:e.zoom+1}),e);return new fi(this,{kind:"constant",value:s},e)}return new fi(this,t.expression,e)},e.prototype.evaluate=function(t,e,r,n,i,a){if("source"===t.kind){var o=t.evaluate(e,r,n,i,a);return this._calculate(o,o,o,e)}return"composite"===t.kind?this._calculate(t.evaluate({zoom:Math.floor(e.zoom)-1},r,n),t.evaluate({zoom:Math.floor(e.zoom)},r,n),t.evaluate({zoom:Math.floor(e.zoom)+1},r,n),e):t.value},e.prototype._calculate=function(t,e,r,n){return n.zoom>n.zoomHistory.lastIntegerZoom?{from:t,to:e}:{from:r,to:e}},e.prototype.interpolate=function(t){return t},e}(di),mi=function(t){this.specification=t};mi.prototype.possiblyEvaluate=function(t,e,r,n){if(void 0!==t.value){if("constant"===t.expression.kind){var i=t.expression.evaluate(e,null,{},r,n);return this._calculate(i,i,i,e)}return this._calculate(t.expression.evaluate(new ii(Math.floor(e.zoom-1),e)),t.expression.evaluate(new ii(Math.floor(e.zoom),e)),t.expression.evaluate(new ii(Math.floor(e.zoom+1),e)),e)}},mi.prototype._calculate=function(t,e,r,n){return n.zoom>n.zoomHistory.lastIntegerZoom?{from:t,to:e}:{from:r,to:e}},mi.prototype.interpolate=function(t){return t};var vi=function(t){this.specification=t};vi.prototype.possiblyEvaluate=function(t,e,r,n){return!!t.expression.evaluate(e,null,{},r,n)},vi.prototype.interpolate=function(){return!1};var yi=function(t){for(var e in this.properties=t,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[],t){var r=t[e];r.specification.overridable&&this.overridableProperties.push(e);var n=this.defaultPropertyValues[e]=new ai(r,void 0),i=this.defaultTransitionablePropertyValues[e]=new oi(r);this.defaultTransitioningPropertyValues[e]=i.untransitioned(),this.defaultPossiblyEvaluatedValues[e]=n.possiblyEvaluate({})}};Dn("DataDrivenProperty",di),Dn("DataConstantProperty",pi),Dn("CrossFadedDataDrivenProperty",gi),Dn("CrossFadedProperty",mi),Dn("ColorRampProperty",vi);var xi=function(t){function e(e,r){if(t.call(this),this.id=e.id,this.type=e.type,this._featureFilter={filter:function(){return!0},needGeometry:!1},"custom"!==e.type&&(this.metadata=(e=e).metadata,this.minzoom=e.minzoom,this.maxzoom=e.maxzoom,"background"!==e.type&&(this.source=e.source,this.sourceLayer=e["source-layer"],this.filter=e.filter),r.layout&&(this._unevaluatedLayout=new ui(r.layout)),r.paint)){for(var n in this._transitionablePaint=new si(r.paint),e.paint)this.setPaintProperty(n,e.paint[n],{validate:!1});for(var i in e.layout)this.setLayoutProperty(i,e.layout[i],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new hi(r.paint)}}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getCrossfadeParameters=function(){return this._crossfadeParameters},e.prototype.getLayoutProperty=function(t){return"visibility"===t?this.visibility:this._unevaluatedLayout.getValue(t)},e.prototype.setLayoutProperty=function(t,e,r){void 0===r&&(r={}),null!=e&&this._validate(En,"layers."+this.id+".layout."+t,t,e,r)||("visibility"!==t?this._unevaluatedLayout.setValue(t,e):this.visibility=e)},e.prototype.getPaintProperty=function(t){return m(t,"-transition")?this._transitionablePaint.getTransition(t.slice(0,-"-transition".length)):this._transitionablePaint.getValue(t)},e.prototype.setPaintProperty=function(t,e,r){if(void 0===r&&(r={}),null!=e&&this._validate(Sn,"layers."+this.id+".paint."+t,t,e,r))return!1;if(m(t,"-transition"))return this._transitionablePaint.setTransition(t.slice(0,-"-transition".length),e||void 0),!1;var n=this._transitionablePaint._values[t],i="cross-faded-data-driven"===n.property.specification["property-type"],a=n.value.isDataDriven(),o=n.value;this._transitionablePaint.setValue(t,e),this._handleSpecialPaintPropertyUpdate(t);var s=this._transitionablePaint._values[t].value;return s.isDataDriven()||a||i||this._handleOverridablePaintPropertyUpdate(t,o,s)},e.prototype._handleSpecialPaintPropertyUpdate=function(t){},e.prototype._handleOverridablePaintPropertyUpdate=function(t,e,r){return!1},e.prototype.isHidden=function(t){return!!(this.minzoom&&t<this.minzoom)||!!(this.maxzoom&&t>=this.maxzoom)||"none"===this.visibility},e.prototype.updateTransitions=function(t){this._transitioningPaint=this._transitionablePaint.transitioned(t,this._transitioningPaint)},e.prototype.hasTransition=function(){return this._transitioningPaint.hasTransition()},e.prototype.recalculate=function(t,e){t.getCrossfadeParameters&&(this._crossfadeParameters=t.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(t,void 0,e)),this.paint=this._transitioningPaint.possiblyEvaluate(t,void 0,e)},e.prototype.serialize=function(){var t={id:this.id,type:this.type,source:this.source,"source-layer":this.sourceLayer,metadata:this.metadata,minzoom:this.minzoom,maxzoom:this.maxzoom,filter:this.filter,layout:this._unevaluatedLayout&&this._unevaluatedLayout.serialize(),paint:this._transitionablePaint&&this._transitionablePaint.serialize()};return this.visibility&&(t.layout=t.layout||{},t.layout.visibility=this.visibility),y(t,(function(t,e){return!(void 0===t||"layout"===e&&!Object.keys(t).length||"paint"===e&&!Object.keys(t).length)}))},e.prototype._validate=function(t,e,r,n,i){return void 0===i&&(i={}),(!i||!1!==i.validate)&&Cn(this,t.call(Mn,{key:e,layerType:this.type,objectKey:r,value:n,styleSpec:At,style:{glyphs:!0,sprite:!0}}))},e.prototype.is3D=function(){return!1},e.prototype.isTileClipped=function(){return!1},e.prototype.hasOffscreenPass=function(){return!1},e.prototype.resize=function(){},e.prototype.isStateDependent=function(){for(var t in this.paint._values){var e=this.paint.get(t);if(e instanceof fi&&Lr(e.property.specification)&&("source"===e.value.kind||"composite"===e.value.kind)&&e.value.isStateDependent)return!0}return!1},e}(Mt),bi={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array},_i=function(t,e){this._structArray=t,this._pos1=e*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8},wi=function(){this.isTransferred=!1,this.capacity=-1,this.resize(0)};function Ti(t,e){void 0===e&&(e=1);var r=0,n=0;return{members:t.map((function(t){var i=bi[t.type].BYTES_PER_ELEMENT,a=r=ki(r,Math.max(e,i)),o=t.components||1;return n=Math.max(n,i),r+=i*o,{name:t.name,type:t.type,components:o,offset:a}})),size:ki(r,Math.max(n,e)),alignment:e}}function ki(t,e){return Math.ceil(t/e)*e}wi.serialize=function(t,e){return t._trim(),e&&(t.isTransferred=!0,e.push(t.arrayBuffer)),{length:t.length,arrayBuffer:t.arrayBuffer}},wi.deserialize=function(t){var e=Object.create(this.prototype);return e.arrayBuffer=t.arrayBuffer,e.length=t.length,e.capacity=t.arrayBuffer.byteLength/e.bytesPerElement,e._refreshViews(),e},wi.prototype._trim=function(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())},wi.prototype.clear=function(){this.length=0},wi.prototype.resize=function(t){this.reserve(t),this.length=t},wi.prototype.reserve=function(t){if(t>this.capacity){this.capacity=Math.max(t,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);var e=this.uint8;this._refreshViews(),e&&this.uint8.set(e)}},wi.prototype._refreshViews=function(){throw new Error("_refreshViews() must be implemented by each concrete StructArray layout")};var Mi=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e){var r=this.length;return this.resize(r+1),this.emplace(r,t,e)},e.prototype.emplace=function(t,e,r){var n=2*t;return this.int16[n+0]=e,this.int16[n+1]=r,t},e}(wi);Mi.prototype.bytesPerElement=4,Dn("StructArrayLayout2i4",Mi);var Ai=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n){var i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n)},e.prototype.emplace=function(t,e,r,n,i){var a=4*t;return this.int16[a+0]=e,this.int16[a+1]=r,this.int16[a+2]=n,this.int16[a+3]=i,t},e}(wi);Ai.prototype.bytesPerElement=8,Dn("StructArrayLayout4i8",Ai);var Si=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a){var o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,i,a)},e.prototype.emplace=function(t,e,r,n,i,a,o){var s=6*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.int16[s+2]=n,this.int16[s+3]=i,this.int16[s+4]=a,this.int16[s+5]=o,t},e}(wi);Si.prototype.bytesPerElement=12,Dn("StructArrayLayout2i4i12",Si);var Ei=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a){var o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,i,a)},e.prototype.emplace=function(t,e,r,n,i,a,o){var s=4*t,l=8*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.uint8[l+4]=n,this.uint8[l+5]=i,this.uint8[l+6]=a,this.uint8[l+7]=o,t},e}(wi);Ei.prototype.bytesPerElement=8,Dn("StructArrayLayout2i4ub8",Ei);var Ci=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,l,c){var u=this.length;return this.resize(u+1),this.emplace(u,t,e,r,n,i,a,o,s,l,c)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,l,c,u){var f=9*t,h=18*t;return this.uint16[f+0]=e,this.uint16[f+1]=r,this.uint16[f+2]=n,this.uint16[f+3]=i,this.uint16[f+4]=a,this.uint16[f+5]=o,this.uint16[f+6]=s,this.uint16[f+7]=l,this.uint8[h+16]=c,this.uint8[h+17]=u,t},e}(wi);Ci.prototype.bytesPerElement=18,Dn("StructArrayLayout8ui2ub18",Ci);var Li=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,l,c,u,f){var h=this.length;return this.resize(h+1),this.emplace(h,t,e,r,n,i,a,o,s,l,c,u,f)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,l,c,u,f,h){var p=12*t;return this.int16[p+0]=e,this.int16[p+1]=r,this.int16[p+2]=n,this.int16[p+3]=i,this.uint16[p+4]=a,this.uint16[p+5]=o,this.uint16[p+6]=s,this.uint16[p+7]=l,this.int16[p+8]=c,this.int16[p+9]=u,this.int16[p+10]=f,this.int16[p+11]=h,t},e}(wi);Li.prototype.bytesPerElement=24,Dn("StructArrayLayout4i4ui4i24",Li);var Ii=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var i=3*t;return this.float32[i+0]=e,this.float32[i+1]=r,this.float32[i+2]=n,t},e}(wi);Ii.prototype.bytesPerElement=12,Dn("StructArrayLayout3f12",Ii);var Pi=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t){var e=this.length;return this.resize(e+1),this.emplace(e,t)},e.prototype.emplace=function(t,e){return this.uint32[1*t+0]=e,t},e}(wi);Pi.prototype.bytesPerElement=4,Dn("StructArrayLayout1ul4",Pi);var zi=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,l){var c=this.length;return this.resize(c+1),this.emplace(c,t,e,r,n,i,a,o,s,l)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,l,c){var u=10*t,f=5*t;return this.int16[u+0]=e,this.int16[u+1]=r,this.int16[u+2]=n,this.int16[u+3]=i,this.int16[u+4]=a,this.int16[u+5]=o,this.uint32[f+3]=s,this.uint16[u+8]=l,this.uint16[u+9]=c,t},e}(wi);zi.prototype.bytesPerElement=20,Dn("StructArrayLayout6i1ul2ui20",zi);var Oi=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a){var o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,i,a)},e.prototype.emplace=function(t,e,r,n,i,a,o){var s=6*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.int16[s+2]=n,this.int16[s+3]=i,this.int16[s+4]=a,this.int16[s+5]=o,t},e}(wi);Oi.prototype.bytesPerElement=12,Dn("StructArrayLayout2i2i2i12",Oi);var Di=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i){var a=this.length;return this.resize(a+1),this.emplace(a,t,e,r,n,i)},e.prototype.emplace=function(t,e,r,n,i,a){var o=4*t,s=8*t;return this.float32[o+0]=e,this.float32[o+1]=r,this.float32[o+2]=n,this.int16[s+6]=i,this.int16[s+7]=a,t},e}(wi);Di.prototype.bytesPerElement=16,Dn("StructArrayLayout2f1f2i16",Di);var Ri=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n){var i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n)},e.prototype.emplace=function(t,e,r,n,i){var a=12*t,o=3*t;return this.uint8[a+0]=e,this.uint8[a+1]=r,this.float32[o+1]=n,this.float32[o+2]=i,t},e}(wi);Ri.prototype.bytesPerElement=12,Dn("StructArrayLayout2ub2f12",Ri);var Fi=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var i=3*t;return this.uint16[i+0]=e,this.uint16[i+1]=r,this.uint16[i+2]=n,t},e}(wi);Fi.prototype.bytesPerElement=6,Dn("StructArrayLayout3ui6",Fi);var Bi=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,l,c,u,f,h,p,d,g,m){var v=this.length;return this.resize(v+1),this.emplace(v,t,e,r,n,i,a,o,s,l,c,u,f,h,p,d,g,m)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,l,c,u,f,h,p,d,g,m,v){var y=24*t,x=12*t,b=48*t;return this.int16[y+0]=e,this.int16[y+1]=r,this.uint16[y+2]=n,this.uint16[y+3]=i,this.uint32[x+2]=a,this.uint32[x+3]=o,this.uint32[x+4]=s,this.uint16[y+10]=l,this.uint16[y+11]=c,this.uint16[y+12]=u,this.float32[x+7]=f,this.float32[x+8]=h,this.uint8[b+36]=p,this.uint8[b+37]=d,this.uint8[b+38]=g,this.uint32[x+10]=m,this.int16[y+22]=v,t},e}(wi);Bi.prototype.bytesPerElement=48,Dn("StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48",Bi);var Ni=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,l,c,u,f,h,p,d,g,m,v,y,x,b,_,w,T,k,M,A,S){var E=this.length;return this.resize(E+1),this.emplace(E,t,e,r,n,i,a,o,s,l,c,u,f,h,p,d,g,m,v,y,x,b,_,w,T,k,M,A,S)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,l,c,u,f,h,p,d,g,m,v,y,x,b,_,w,T,k,M,A,S,E){var C=34*t,L=17*t;return this.int16[C+0]=e,this.int16[C+1]=r,this.int16[C+2]=n,this.int16[C+3]=i,this.int16[C+4]=a,this.int16[C+5]=o,this.int16[C+6]=s,this.int16[C+7]=l,this.uint16[C+8]=c,this.uint16[C+9]=u,this.uint16[C+10]=f,this.uint16[C+11]=h,this.uint16[C+12]=p,this.uint16[C+13]=d,this.uint16[C+14]=g,this.uint16[C+15]=m,this.uint16[C+16]=v,this.uint16[C+17]=y,this.uint16[C+18]=x,this.uint16[C+19]=b,this.uint16[C+20]=_,this.uint16[C+21]=w,this.uint16[C+22]=T,this.uint32[L+12]=k,this.float32[L+13]=M,this.float32[L+14]=A,this.float32[L+15]=S,this.float32[L+16]=E,t},e}(wi);Ni.prototype.bytesPerElement=68,Dn("StructArrayLayout8i15ui1ul4f68",Ni);var ji=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t){var e=this.length;return this.resize(e+1),this.emplace(e,t)},e.prototype.emplace=function(t,e){return this.float32[1*t+0]=e,t},e}(wi);ji.prototype.bytesPerElement=4,Dn("StructArrayLayout1f4",ji);var Ui=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var i=3*t;return this.int16[i+0]=e,this.int16[i+1]=r,this.int16[i+2]=n,t},e}(wi);Ui.prototype.bytesPerElement=6,Dn("StructArrayLayout3i6",Ui);var Vi=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var i=4*t;return this.uint32[2*t+0]=e,this.uint16[i+2]=r,this.uint16[i+3]=n,t},e}(wi);Vi.prototype.bytesPerElement=8,Dn("StructArrayLayout1ul2ui8",Vi);var qi=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e){var r=this.length;return this.resize(r+1),this.emplace(r,t,e)},e.prototype.emplace=function(t,e,r){var n=2*t;return this.uint16[n+0]=e,this.uint16[n+1]=r,t},e}(wi);qi.prototype.bytesPerElement=4,Dn("StructArrayLayout2ui4",qi);var Hi=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t){var e=this.length;return this.resize(e+1),this.emplace(e,t)},e.prototype.emplace=function(t,e){return this.uint16[1*t+0]=e,t},e}(wi);Hi.prototype.bytesPerElement=2,Dn("StructArrayLayout1ui2",Hi);var Gi=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e){var r=this.length;return this.resize(r+1),this.emplace(r,t,e)},e.prototype.emplace=function(t,e,r){var n=2*t;return this.float32[n+0]=e,this.float32[n+1]=r,t},e}(wi);Gi.prototype.bytesPerElement=8,Dn("StructArrayLayout2f8",Gi);var Yi=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n){var i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n)},e.prototype.emplace=function(t,e,r,n,i){var a=4*t;return this.float32[a+0]=e,this.float32[a+1]=r,this.float32[a+2]=n,this.float32[a+3]=i,t},e}(wi);Yi.prototype.bytesPerElement=16,Dn("StructArrayLayout4f16",Yi);var Wi=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e;var r={anchorPointX:{configurable:!0},anchorPointY:{configurable:!0},x1:{configurable:!0},y1:{configurable:!0},x2:{configurable:!0},y2:{configurable:!0},featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0},anchorPoint:{configurable:!0}};return r.anchorPointX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorPointY.get=function(){return this._structArray.int16[this._pos2+1]},r.x1.get=function(){return this._structArray.int16[this._pos2+2]},r.y1.get=function(){return this._structArray.int16[this._pos2+3]},r.x2.get=function(){return this._structArray.int16[this._pos2+4]},r.y2.get=function(){return this._structArray.int16[this._pos2+5]},r.featureIndex.get=function(){return this._structArray.uint32[this._pos4+3]},r.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+8]},r.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+9]},r.anchorPoint.get=function(){return new i(this.anchorPointX,this.anchorPointY)},Object.defineProperties(e.prototype,r),e}(_i);Wi.prototype.size=20;var Xi=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.get=function(t){return new Wi(this,t)},e}(zi);Dn("CollisionBoxArray",Xi);var Zi=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e;var r={anchorX:{configurable:!0},anchorY:{configurable:!0},glyphStartIndex:{configurable:!0},numGlyphs:{configurable:!0},vertexStartIndex:{configurable:!0},lineStartIndex:{configurable:!0},lineLength:{configurable:!0},segment:{configurable:!0},lowerSize:{configurable:!0},upperSize:{configurable:!0},lineOffsetX:{configurable:!0},lineOffsetY:{configurable:!0},writingMode:{configurable:!0},placedOrientation:{configurable:!0},hidden:{configurable:!0},crossTileID:{configurable:!0},associatedIconIndex:{configurable:!0}};return r.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},r.glyphStartIndex.get=function(){return this._structArray.uint16[this._pos2+2]},r.numGlyphs.get=function(){return this._structArray.uint16[this._pos2+3]},r.vertexStartIndex.get=function(){return this._structArray.uint32[this._pos4+2]},r.lineStartIndex.get=function(){return this._structArray.uint32[this._pos4+3]},r.lineLength.get=function(){return this._structArray.uint32[this._pos4+4]},r.segment.get=function(){return this._structArray.uint16[this._pos2+10]},r.lowerSize.get=function(){return this._structArray.uint16[this._pos2+11]},r.upperSize.get=function(){return this._structArray.uint16[this._pos2+12]},r.lineOffsetX.get=function(){return this._structArray.float32[this._pos4+7]},r.lineOffsetY.get=function(){return this._structArray.float32[this._pos4+8]},r.writingMode.get=function(){return this._structArray.uint8[this._pos1+36]},r.placedOrientation.get=function(){return this._structArray.uint8[this._pos1+37]},r.placedOrientation.set=function(t){this._structArray.uint8[this._pos1+37]=t},r.hidden.get=function(){return this._structArray.uint8[this._pos1+38]},r.hidden.set=function(t){this._structArray.uint8[this._pos1+38]=t},r.crossTileID.get=function(){return this._structArray.uint32[this._pos4+10]},r.crossTileID.set=function(t){this._structArray.uint32[this._pos4+10]=t},r.associatedIconIndex.get=function(){return this._structArray.int16[this._pos2+22]},Object.defineProperties(e.prototype,r),e}(_i);Zi.prototype.size=48;var Ji=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.get=function(t){return new Zi(this,t)},e}(Bi);Dn("PlacedSymbolArray",Ji);var Ki=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e;var r={anchorX:{configurable:!0},anchorY:{configurable:!0},rightJustifiedTextSymbolIndex:{configurable:!0},centerJustifiedTextSymbolIndex:{configurable:!0},leftJustifiedTextSymbolIndex:{configurable:!0},verticalPlacedTextSymbolIndex:{configurable:!0},placedIconSymbolIndex:{configurable:!0},verticalPlacedIconSymbolIndex:{configurable:!0},key:{configurable:!0},textBoxStartIndex:{configurable:!0},textBoxEndIndex:{configurable:!0},verticalTextBoxStartIndex:{configurable:!0},verticalTextBoxEndIndex:{configurable:!0},iconBoxStartIndex:{configurable:!0},iconBoxEndIndex:{configurable:!0},verticalIconBoxStartIndex:{configurable:!0},verticalIconBoxEndIndex:{configurable:!0},featureIndex:{configurable:!0},numHorizontalGlyphVertices:{configurable:!0},numVerticalGlyphVertices:{configurable:!0},numIconVertices:{configurable:!0},numVerticalIconVertices:{configurable:!0},useRuntimeCollisionCircles:{configurable:!0},crossTileID:{configurable:!0},textBoxScale:{configurable:!0},textOffset0:{configurable:!0},textOffset1:{configurable:!0},collisionCircleDiameter:{configurable:!0}};return r.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},r.rightJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+2]},r.centerJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+3]},r.leftJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+4]},r.verticalPlacedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+5]},r.placedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+6]},r.verticalPlacedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+7]},r.key.get=function(){return this._structArray.uint16[this._pos2+8]},r.textBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+9]},r.textBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+10]},r.verticalTextBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+11]},r.verticalTextBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+12]},r.iconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+13]},r.iconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+14]},r.verticalIconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+15]},r.verticalIconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+16]},r.featureIndex.get=function(){return this._structArray.uint16[this._pos2+17]},r.numHorizontalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+18]},r.numVerticalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+19]},r.numIconVertices.get=function(){return this._structArray.uint16[this._pos2+20]},r.numVerticalIconVertices.get=function(){return this._structArray.uint16[this._pos2+21]},r.useRuntimeCollisionCircles.get=function(){return this._structArray.uint16[this._pos2+22]},r.crossTileID.get=function(){return this._structArray.uint32[this._pos4+12]},r.crossTileID.set=function(t){this._structArray.uint32[this._pos4+12]=t},r.textBoxScale.get=function(){return this._structArray.float32[this._pos4+13]},r.textOffset0.get=function(){return this._structArray.float32[this._pos4+14]},r.textOffset1.get=function(){return this._structArray.float32[this._pos4+15]},r.collisionCircleDiameter.get=function(){return this._structArray.float32[this._pos4+16]},Object.defineProperties(e.prototype,r),e}(_i);Ki.prototype.size=68;var Qi=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.get=function(t){return new Ki(this,t)},e}(Ni);Dn("SymbolInstanceArray",Qi);var $i=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getoffsetX=function(t){return this.float32[1*t+0]},e}(ji);Dn("GlyphOffsetArray",$i);var ta=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getx=function(t){return this.int16[3*t+0]},e.prototype.gety=function(t){return this.int16[3*t+1]},e.prototype.gettileUnitDistanceFromAnchor=function(t){return this.int16[3*t+2]},e}(Ui);Dn("SymbolLineVertexArray",ta);var ea=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e;var r={featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0}};return r.featureIndex.get=function(){return this._structArray.uint32[this._pos4+0]},r.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+2]},r.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+3]},Object.defineProperties(e.prototype,r),e}(_i);ea.prototype.size=8;var ra=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.get=function(t){return new ea(this,t)},e}(Vi);Dn("FeatureIndexArray",ra);var na=Ti([{name:"a_pos",components:2,type:"Int16"}],4).members,ia=function(t){void 0===t&&(t=[]),this.segments=t};function aa(t,e){return 256*(t=l(Math.floor(t),0,255))+l(Math.floor(e),0,255)}ia.prototype.prepareSegment=function(t,e,r,n){var i=this.segments[this.segments.length-1];return t>ia.MAX_VERTEX_ARRAY_LENGTH&&_("Max vertices per segment is "+ia.MAX_VERTEX_ARRAY_LENGTH+": bucket requested "+t),(!i||i.vertexLength+t>ia.MAX_VERTEX_ARRAY_LENGTH||i.sortKey!==n)&&(i={vertexOffset:e.length,primitiveOffset:r.length,vertexLength:0,primitiveLength:0},void 0!==n&&(i.sortKey=n),this.segments.push(i)),i},ia.prototype.get=function(){return this.segments},ia.prototype.destroy=function(){for(var t=0,e=this.segments;t<e.length;t+=1){var r=e[t];for(var n in r.vaos)r.vaos[n].destroy()}},ia.simpleSegment=function(t,e,r,n){return new ia([{vertexOffset:t,primitiveOffset:e,vertexLength:r,primitiveLength:n,vaos:{},sortKey:0}])},ia.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,Dn("SegmentVector",ia);var oa=Ti([{name:"a_pattern_from",components:4,type:"Uint16"},{name:"a_pattern_to",components:4,type:"Uint16"},{name:"a_pixel_ratio_from",components:1,type:"Uint8"},{name:"a_pixel_ratio_to",components:1,type:"Uint8"}]),sa=e((function(t){t.exports=function(t,e){var r,n,i,a,o,s,l,c;for(n=t.length-(r=3&t.length),i=e,o=3432918353,s=461845907,c=0;c<n;)l=255&t.charCodeAt(c)|(255&t.charCodeAt(++c))<<8|(255&t.charCodeAt(++c))<<16|(255&t.charCodeAt(++c))<<24,++c,i=27492+(65535&(a=5*(65535&(i=(i^=l=(65535&(l=(l=(65535&l)*o+(((l>>>16)*o&65535)<<16)&4294967295)<<15|l>>>17))*s+(((l>>>16)*s&65535)<<16)&4294967295)<<13|i>>>19))+((5*(i>>>16)&65535)<<16)&4294967295))+((58964+(a>>>16)&65535)<<16);switch(l=0,r){case 3:l^=(255&t.charCodeAt(c+2))<<16;case 2:l^=(255&t.charCodeAt(c+1))<<8;case 1:i^=l=(65535&(l=(l=(65535&(l^=255&t.charCodeAt(c)))*o+(((l>>>16)*o&65535)<<16)&4294967295)<<15|l>>>17))*s+(((l>>>16)*s&65535)<<16)&4294967295}return i^=t.length,i=2246822507*(65535&(i^=i>>>16))+((2246822507*(i>>>16)&65535)<<16)&4294967295,i=3266489909*(65535&(i^=i>>>13))+((3266489909*(i>>>16)&65535)<<16)&4294967295,(i^=i>>>16)>>>0}})),la=e((function(t){t.exports=function(t,e){for(var r,n=t.length,i=e^n,a=0;n>=4;)r=1540483477*(65535&(r=255&t.charCodeAt(a)|(255&t.charCodeAt(++a))<<8|(255&t.charCodeAt(++a))<<16|(255&t.charCodeAt(++a))<<24))+((1540483477*(r>>>16)&65535)<<16),i=1540483477*(65535&i)+((1540483477*(i>>>16)&65535)<<16)^(r=1540483477*(65535&(r^=r>>>24))+((1540483477*(r>>>16)&65535)<<16)),n-=4,++a;switch(n){case 3:i^=(255&t.charCodeAt(a+2))<<16;case 2:i^=(255&t.charCodeAt(a+1))<<8;case 1:i=1540483477*(65535&(i^=255&t.charCodeAt(a)))+((1540483477*(i>>>16)&65535)<<16)}return i=1540483477*(65535&(i^=i>>>13))+((1540483477*(i>>>16)&65535)<<16),(i^=i>>>15)>>>0}})),ca=sa,ua=la;ca.murmur3=sa,ca.murmur2=ua;var fa=function(){this.ids=[],this.positions=[],this.indexed=!1};fa.prototype.add=function(t,e,r,n){this.ids.push(pa(t)),this.positions.push(e,r,n)},fa.prototype.getPositions=function(t){for(var e=pa(t),r=0,n=this.ids.length-1;r<n;){var i=r+n>>1;this.ids[i]>=e?n=i:r=i+1}for(var a=[];this.ids[r]===e;)a.push({index:this.positions[3*r],start:this.positions[3*r+1],end:this.positions[3*r+2]}),r++;return a},fa.serialize=function(t,e){var r=new Float64Array(t.ids),n=new Uint32Array(t.positions);return function t(e,r,n,i){for(;n<i;){for(var a=e[n+i>>1],o=n-1,s=i+1;;){do{o++}while(e[o]<a);do{s--}while(e[s]>a);if(o>=s)break;da(e,o,s),da(r,3*o,3*s),da(r,3*o+1,3*s+1),da(r,3*o+2,3*s+2)}s-n<i-s?(t(e,r,n,s),n=s+1):(t(e,r,s+1,i),i=s)}}(r,n,0,r.length-1),e&&e.push(r.buffer,n.buffer),{ids:r,positions:n}},fa.deserialize=function(t){var e=new fa;return e.ids=t.ids,e.positions=t.positions,e.indexed=!0,e};var ha=Math.pow(2,53)-1;function pa(t){var e=+t;return!isNaN(e)&&e<=ha?e:ca(String(t))}function da(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}Dn("FeaturePositionMap",fa);var ga=function(t,e){this.gl=t.gl,this.location=e},ma=function(t){function e(e,r){t.call(this,e,r),this.current=0}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.set=function(t){this.current!==t&&(this.current=t,this.gl.uniform1i(this.location,t))},e}(ga),va=function(t){function e(e,r){t.call(this,e,r),this.current=0}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.set=function(t){this.current!==t&&(this.current=t,this.gl.uniform1f(this.location,t))},e}(ga),ya=function(t){function e(e,r){t.call(this,e,r),this.current=[0,0]}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.set=function(t){t[0]===this.current[0]&&t[1]===this.current[1]||(this.current=t,this.gl.uniform2f(this.location,t[0],t[1]))},e}(ga),xa=function(t){function e(e,r){t.call(this,e,r),this.current=[0,0,0]}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.set=function(t){t[0]===this.current[0]&&t[1]===this.current[1]&&t[2]===this.current[2]||(this.current=t,this.gl.uniform3f(this.location,t[0],t[1],t[2]))},e}(ga),ba=function(t){function e(e,r){t.call(this,e,r),this.current=[0,0,0,0]}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.set=function(t){t[0]===this.current[0]&&t[1]===this.current[1]&&t[2]===this.current[2]&&t[3]===this.current[3]||(this.current=t,this.gl.uniform4f(this.location,t[0],t[1],t[2],t[3]))},e}(ga),_a=function(t){function e(e,r){t.call(this,e,r),this.current=Kt.transparent}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.set=function(t){t.r===this.current.r&&t.g===this.current.g&&t.b===this.current.b&&t.a===this.current.a||(this.current=t,this.gl.uniform4f(this.location,t.r,t.g,t.b,t.a))},e}(ga),wa=new Float32Array(16),Ta=function(t){function e(e,r){t.call(this,e,r),this.current=wa}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.set=function(t){if(t[12]!==this.current[12]||t[0]!==this.current[0])return this.current=t,void this.gl.uniformMatrix4fv(this.location,!1,t);for(var e=1;e<16;e++)if(t[e]!==this.current[e]){this.current=t,this.gl.uniformMatrix4fv(this.location,!1,t);break}},e}(ga);function ka(t){return[aa(255*t.r,255*t.g),aa(255*t.b,255*t.a)]}var Ma=function(t,e,r){this.value=t,this.uniformNames=e.map((function(t){return"u_"+t})),this.type=r};Ma.prototype.setUniform=function(t,e,r){t.set(r.constantOr(this.value))},Ma.prototype.getBinding=function(t,e,r){return"color"===this.type?new _a(t,e):new va(t,e)};var Aa=function(t,e){this.uniformNames=e.map((function(t){return"u_"+t})),this.patternFrom=null,this.patternTo=null,this.pixelRatioFrom=1,this.pixelRatioTo=1};Aa.prototype.setConstantPatternPositions=function(t,e){this.pixelRatioFrom=e.pixelRatio,this.pixelRatioTo=t.pixelRatio,this.patternFrom=e.tlbr,this.patternTo=t.tlbr},Aa.prototype.setUniform=function(t,e,r,n){var i="u_pattern_to"===n?this.patternTo:"u_pattern_from"===n?this.patternFrom:"u_pixel_ratio_to"===n?this.pixelRatioTo:"u_pixel_ratio_from"===n?this.pixelRatioFrom:null;i&&t.set(i)},Aa.prototype.getBinding=function(t,e,r){return"u_pattern"===r.substr(0,9)?new ba(t,e):new va(t,e)};var Sa=function(t,e,r,n){this.expression=t,this.type=r,this.maxValue=0,this.paintVertexAttributes=e.map((function(t){return{name:"a_"+t,type:"Float32",components:"color"===r?2:1,offset:0}})),this.paintVertexArray=new n};Sa.prototype.populatePaintArray=function(t,e,r,n,i){var a=this.paintVertexArray.length,o=this.expression.evaluate(new ii(0),e,{},n,[],i);this.paintVertexArray.resize(t),this._setPaintValue(a,t,o)},Sa.prototype.updatePaintArray=function(t,e,r,n){var i=this.expression.evaluate({zoom:0},r,n);this._setPaintValue(t,e,i)},Sa.prototype._setPaintValue=function(t,e,r){if("color"===this.type)for(var n=ka(r),i=t;i<e;i++)this.paintVertexArray.emplace(i,n[0],n[1]);else{for(var a=t;a<e;a++)this.paintVertexArray.emplace(a,r);this.maxValue=Math.max(this.maxValue,Math.abs(r))}},Sa.prototype.upload=function(t){this.paintVertexArray&&this.paintVertexArray.arrayBuffer&&(this.paintVertexBuffer&&this.paintVertexBuffer.buffer?this.paintVertexBuffer.updateData(this.paintVertexArray):this.paintVertexBuffer=t.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes,this.expression.isStateDependent))},Sa.prototype.destroy=function(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy()};var Ea=function(t,e,r,n,i,a){this.expression=t,this.uniformNames=e.map((function(t){return"u_"+t+"_t"})),this.type=r,this.useIntegerZoom=n,this.zoom=i,this.maxValue=0,this.paintVertexAttributes=e.map((function(t){return{name:"a_"+t,type:"Float32",components:"color"===r?4:2,offset:0}})),this.paintVertexArray=new a};Ea.prototype.populatePaintArray=function(t,e,r,n,i){var a=this.expression.evaluate(new ii(this.zoom),e,{},n,[],i),o=this.expression.evaluate(new ii(this.zoom+1),e,{},n,[],i),s=this.paintVertexArray.length;this.paintVertexArray.resize(t),this._setPaintValue(s,t,a,o)},Ea.prototype.updatePaintArray=function(t,e,r,n){var i=this.expression.evaluate({zoom:this.zoom},r,n),a=this.expression.evaluate({zoom:this.zoom+1},r,n);this._setPaintValue(t,e,i,a)},Ea.prototype._setPaintValue=function(t,e,r,n){if("color"===this.type)for(var i=ka(r),a=ka(n),o=t;o<e;o++)this.paintVertexArray.emplace(o,i[0],i[1],a[0],a[1]);else{for(var s=t;s<e;s++)this.paintVertexArray.emplace(s,r,n);this.maxValue=Math.max(this.maxValue,Math.abs(r),Math.abs(n))}},Ea.prototype.upload=function(t){this.paintVertexArray&&this.paintVertexArray.arrayBuffer&&(this.paintVertexBuffer&&this.paintVertexBuffer.buffer?this.paintVertexBuffer.updateData(this.paintVertexArray):this.paintVertexBuffer=t.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes,this.expression.isStateDependent))},Ea.prototype.destroy=function(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy()},Ea.prototype.setUniform=function(t,e){var r=this.useIntegerZoom?Math.floor(e.zoom):e.zoom,n=l(this.expression.interpolationFactor(r,this.zoom,this.zoom+1),0,1);t.set(n)},Ea.prototype.getBinding=function(t,e,r){return new va(t,e)};var Ca=function(t,e,r,n,i,a){this.expression=t,this.type=e,this.useIntegerZoom=r,this.zoom=n,this.layerId=a,this.zoomInPaintVertexArray=new i,this.zoomOutPaintVertexArray=new i};Ca.prototype.populatePaintArray=function(t,e,r){var n=this.zoomInPaintVertexArray.length;this.zoomInPaintVertexArray.resize(t),this.zoomOutPaintVertexArray.resize(t),this._setPaintValues(n,t,e.patterns&&e.patterns[this.layerId],r)},Ca.prototype.updatePaintArray=function(t,e,r,n,i){this._setPaintValues(t,e,r.patterns&&r.patterns[this.layerId],i)},Ca.prototype._setPaintValues=function(t,e,r,n){if(n&&r){var i=n[r.min],a=n[r.mid],o=n[r.max];if(i&&a&&o)for(var s=t;s<e;s++)this.zoomInPaintVertexArray.emplace(s,a.tl[0],a.tl[1],a.br[0],a.br[1],i.tl[0],i.tl[1],i.br[0],i.br[1],a.pixelRatio,i.pixelRatio),this.zoomOutPaintVertexArray.emplace(s,a.tl[0],a.tl[1],a.br[0],a.br[1],o.tl[0],o.tl[1],o.br[0],o.br[1],a.pixelRatio,o.pixelRatio)}},Ca.prototype.upload=function(t){this.zoomInPaintVertexArray&&this.zoomInPaintVertexArray.arrayBuffer&&this.zoomOutPaintVertexArray&&this.zoomOutPaintVertexArray.arrayBuffer&&(this.zoomInPaintVertexBuffer=t.createVertexBuffer(this.zoomInPaintVertexArray,oa.members,this.expression.isStateDependent),this.zoomOutPaintVertexBuffer=t.createVertexBuffer(this.zoomOutPaintVertexArray,oa.members,this.expression.isStateDependent))},Ca.prototype.destroy=function(){this.zoomOutPaintVertexBuffer&&this.zoomOutPaintVertexBuffer.destroy(),this.zoomInPaintVertexBuffer&&this.zoomInPaintVertexBuffer.destroy()};var La=function(t,e,r,n){this.binders={},this.layoutAttributes=n,this._buffers=[];var i=[];for(var a in t.paint._values)if(r(a)){var o=t.paint.get(a);if(o instanceof fi&&Lr(o.property.specification)){var s=Pa(a,t.type),l=o.value,c=o.property.specification.type,u=o.property.useIntegerZoom,f=o.property.specification["property-type"],h="cross-faded"===f||"cross-faded-data-driven"===f;if("constant"===l.kind)this.binders[a]=h?new Aa(l.value,s):new Ma(l.value,s,c),i.push("/u_"+a);else if("source"===l.kind||h){var p=za(a,c,"source");this.binders[a]=h?new Ca(l,c,u,e,p,t.id):new Sa(l,s,c,p),i.push("/a_"+a)}else{var d=za(a,c,"composite");this.binders[a]=new Ea(l,s,c,u,e,d),i.push("/z_"+a)}}}this.cacheKey=i.sort().join("")};La.prototype.getMaxValue=function(t){var e=this.binders[t];return e instanceof Sa||e instanceof Ea?e.maxValue:0},La.prototype.populatePaintArrays=function(t,e,r,n,i){for(var a in this.binders){var o=this.binders[a];(o instanceof Sa||o instanceof Ea||o instanceof Ca)&&o.populatePaintArray(t,e,r,n,i)}},La.prototype.setConstantPatternPositions=function(t,e){for(var r in this.binders){var n=this.binders[r];n instanceof Aa&&n.setConstantPatternPositions(t,e)}},La.prototype.updatePaintArrays=function(t,e,r,n,i){var a=!1;for(var o in t)for(var s=0,l=e.getPositions(o);s<l.length;s+=1){var c=l[s],u=r.feature(c.index);for(var f in this.binders){var h=this.binders[f];if((h instanceof Sa||h instanceof Ea||h instanceof Ca)&&!0===h.expression.isStateDependent){var p=n.paint.get(f);h.expression=p.value,h.updatePaintArray(c.start,c.end,u,t[o],i),a=!0}}}return a},La.prototype.defines=function(){var t=[];for(var e in this.binders){var r=this.binders[e];(r instanceof Ma||r instanceof Aa)&&t.push.apply(t,r.uniformNames.map((function(t){return"#define HAS_UNIFORM_"+t})))}return t},La.prototype.getPaintVertexBuffers=function(){return this._buffers},La.prototype.getUniforms=function(t,e){var r=[];for(var n in this.binders){var i=this.binders[n];if(i instanceof Ma||i instanceof Aa||i instanceof Ea)for(var a=0,o=i.uniformNames;a<o.length;a+=1){var s=o[a];if(e[s]){var l=i.getBinding(t,e[s],s);r.push({name:s,property:n,binding:l})}}}return r},La.prototype.setUniforms=function(t,e,r,n){for(var i=0,a=e;i<a.length;i+=1){var o=a[i],s=o.name,l=o.property;this.binders[l].setUniform(o.binding,n,r.get(l),s)}},La.prototype.updatePaintBuffers=function(t){for(var e in this._buffers=[],this.binders){var r=this.binders[e];if(t&&r instanceof Ca){var n=2===t.fromScale?r.zoomInPaintVertexBuffer:r.zoomOutPaintVertexBuffer;n&&this._buffers.push(n)}else(r instanceof Sa||r instanceof Ea)&&r.paintVertexBuffer&&this._buffers.push(r.paintVertexBuffer)}},La.prototype.upload=function(t){for(var e in this.binders){var r=this.binders[e];(r instanceof Sa||r instanceof Ea||r instanceof Ca)&&r.upload(t)}this.updatePaintBuffers()},La.prototype.destroy=function(){for(var t in this.binders){var e=this.binders[t];(e instanceof Sa||e instanceof Ea||e instanceof Ca)&&e.destroy()}};var Ia=function(t,e,r,n){void 0===n&&(n=function(){return!0}),this.programConfigurations={};for(var i=0,a=e;i<a.length;i+=1){var o=a[i];this.programConfigurations[o.id]=new La(o,r,n,t)}this.needsUpload=!1,this._featureMap=new fa,this._bufferOffset=0};function Pa(t,e){return{"text-opacity":["opacity"],"icon-opacity":["opacity"],"text-color":["fill_color"],"icon-color":["fill_color"],"text-halo-color":["halo_color"],"icon-halo-color":["halo_color"],"text-halo-blur":["halo_blur"],"icon-halo-blur":["halo_blur"],"text-halo-width":["halo_width"],"icon-halo-width":["halo_width"],"line-gap-width":["gapwidth"],"line-pattern":["pattern_to","pattern_from","pixel_ratio_to","pixel_ratio_from"],"fill-pattern":["pattern_to","pattern_from","pixel_ratio_to","pixel_ratio_from"],"fill-extrusion-pattern":["pattern_to","pattern_from","pixel_ratio_to","pixel_ratio_from"]}[t]||[t.replace(e+"-","").replace(/-/g,"_")]}function za(t,e,r){var n={color:{source:Gi,composite:Yi},number:{source:ji,composite:Gi}},i=function(t){return{"line-pattern":{source:Ci,composite:Ci},"fill-pattern":{source:Ci,composite:Ci},"fill-extrusion-pattern":{source:Ci,composite:Ci}}[t]}(t);return i&&i[r]||n[e][r]}Ia.prototype.populatePaintArrays=function(t,e,r,n,i,a){for(var o in this.programConfigurations)this.programConfigurations[o].populatePaintArrays(t,e,n,i,a);void 0!==e.id&&this._featureMap.add(e.id,r,this._bufferOffset,t),this._bufferOffset=t,this.needsUpload=!0},Ia.prototype.updatePaintArrays=function(t,e,r,n){for(var i=0,a=r;i<a.length;i+=1){var o=a[i];this.needsUpload=this.programConfigurations[o.id].updatePaintArrays(t,this._featureMap,e,o,n)||this.needsUpload}},Ia.prototype.get=function(t){return this.programConfigurations[t]},Ia.prototype.upload=function(t){if(this.needsUpload){for(var e in this.programConfigurations)this.programConfigurations[e].upload(t);this.needsUpload=!1}},Ia.prototype.destroy=function(){for(var t in this.programConfigurations)this.programConfigurations[t].destroy()},Dn("ConstantBinder",Ma),Dn("CrossFadedConstantBinder",Aa),Dn("SourceExpressionBinder",Sa),Dn("CrossFadedCompositeBinder",Ca),Dn("CompositeExpressionBinder",Ea),Dn("ProgramConfiguration",La,{omit:["_buffers"]}),Dn("ProgramConfigurationSet",Ia);var Oa={min:-1*Math.pow(2,14),max:Math.pow(2,14)-1};function Da(t){for(var e=8192/t.extent,r=t.loadGeometry(),n=0;n<r.length;n++)for(var i=r[n],a=0;a<i.length;a++){var o=i[a];o.x=Math.round(o.x*e),o.y=Math.round(o.y*e),(o.x<Oa.min||o.x>Oa.max||o.y<Oa.min||o.y>Oa.max)&&(_("Geometry exceeds allowed extent, reduce your vector tile buffer size"),o.x=l(o.x,Oa.min,Oa.max),o.y=l(o.y,Oa.min,Oa.max))}return r}function Ra(t,e,r,n,i){t.emplaceBack(2*e+(n+1)/2,2*r+(i+1)/2)}var Fa=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((function(t){return t.id})),this.index=t.index,this.hasPattern=!1,this.layoutVertexArray=new Mi,this.indexArray=new Fi,this.segments=new ia,this.programConfigurations=new Ia(na,t.layers,t.zoom),this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id}))};function Ba(t,e){for(var r=0;r<t.length;r++)if(Wa(e,t[r]))return!0;for(var n=0;n<e.length;n++)if(Wa(t,e[n]))return!0;return!!Va(t,e)}function Na(t,e,r){return!!Wa(t,e)||!!Ha(e,t,r)}function ja(t,e){if(1===t.length)return Ya(e,t[0]);for(var r=0;r<e.length;r++)for(var n=e[r],i=0;i<n.length;i++)if(Wa(t,n[i]))return!0;for(var a=0;a<t.length;a++)if(Ya(e,t[a]))return!0;for(var o=0;o<e.length;o++)if(Va(t,e[o]))return!0;return!1}function Ua(t,e,r){if(t.length>1){if(Va(t,e))return!0;for(var n=0;n<e.length;n++)if(Ha(e[n],t,r))return!0}for(var i=0;i<t.length;i++)if(Ha(t[i],e,r))return!0;return!1}function Va(t,e){if(0===t.length||0===e.length)return!1;for(var r=0;r<t.length-1;r++)for(var n=t[r],i=t[r+1],a=0;a<e.length-1;a++)if(qa(n,i,e[a],e[a+1]))return!0;return!1}function qa(t,e,r,n){return w(t,r,n)!==w(e,r,n)&&w(t,e,r)!==w(t,e,n)}function Ha(t,e,r){var n=r*r;if(1===e.length)return t.distSqr(e[0])<n;for(var i=1;i<e.length;i++)if(Ga(t,e[i-1],e[i])<n)return!0;return!1}function Ga(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 t.distSqr(i<0?e:i>1?r:r.sub(e)._mult(i)._add(e))}function Ya(t,e){for(var r,n,i,a=!1,o=0;o<t.length;o++)for(var s=0,l=(r=t[o]).length-1;s<r.length;l=s++)(n=r[s]).y>e.y!=(i=r[l]).y>e.y&&e.x<(i.x-n.x)*(e.y-n.y)/(i.y-n.y)+n.x&&(a=!a);return a}function Wa(t,e){for(var r=!1,n=0,i=t.length-1;n<t.length;i=n++){var a=t[n],o=t[i];a.y>e.y!=o.y>e.y&&e.x<(o.x-a.x)*(e.y-a.y)/(o.y-a.y)+a.x&&(r=!r)}return r}function Xa(t,e,r){var n=r[0],i=r[2];if(t.x<n.x&&e.x<n.x||t.x>i.x&&e.x>i.x||t.y<n.y&&e.y<n.y||t.y>i.y&&e.y>i.y)return!1;var a=w(t,e,r[0]);return a!==w(t,e,r[1])||a!==w(t,e,r[2])||a!==w(t,e,r[3])}function Za(t,e,r){var n=e.paint.get(t).value;return"constant"===n.kind?n.value:r.programConfigurations.get(e.id).getMaxValue(t)}function Ja(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])}function Ka(t,e,r,n,a){if(!e[0]&&!e[1])return t;var o=i.convert(e)._mult(a);"viewport"===r&&o._rotate(-n);for(var s=[],l=0;l<t.length;l++)s.push(t[l].sub(o));return s}Fa.prototype.populate=function(t,e,r){var n=this.layers[0],i=[],a=null;"circle"===n.type&&(a=n.layout.get("circle-sort-key"));for(var o=0,s=t;o<s.length;o+=1){var l=s[o],c=l.feature,u=l.id,f=l.index,h=l.sourceLayerIndex,p=this.layers[0]._featureFilter.needGeometry,d={type:c.type,id:u,properties:c.properties,geometry:p?Da(c):[]};if(this.layers[0]._featureFilter.filter(new ii(this.zoom),d,r)){p||(d.geometry=Da(c));var g=a?a.evaluate(d,{},r):void 0;i.push({id:u,properties:c.properties,type:c.type,sourceLayerIndex:h,index:f,geometry:d.geometry,patterns:{},sortKey:g})}}a&&i.sort((function(t,e){return t.sortKey-e.sortKey}));for(var m=0,v=i;m<v.length;m+=1){var y=v[m],x=y.geometry,b=y.index,_=y.sourceLayerIndex,w=t[b].feature;this.addFeature(y,x,b,r),e.featureIndex.insert(w,x,b,_,this.index)}},Fa.prototype.update=function(t,e,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r)},Fa.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},Fa.prototype.uploadPending=function(){return!this.uploaded||this.programConfigurations.needsUpload},Fa.prototype.upload=function(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,na),this.indexBuffer=t.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(t),this.uploaded=!0},Fa.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())},Fa.prototype.addFeature=function(t,e,r,n){for(var i=0,a=e;i<a.length;i+=1)for(var o=0,s=a[i];o<s.length;o+=1){var l=s[o],c=l.x,u=l.y;if(!(c<0||c>=8192||u<0||u>=8192)){var f=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,t.sortKey),h=f.vertexLength;Ra(this.layoutVertexArray,c,u,-1,-1),Ra(this.layoutVertexArray,c,u,1,-1),Ra(this.layoutVertexArray,c,u,1,1),Ra(this.layoutVertexArray,c,u,-1,1),this.indexArray.emplaceBack(h,h+1,h+2),this.indexArray.emplaceBack(h,h+3,h+2),f.vertexLength+=4,f.primitiveLength+=2}}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,r,{},n)},Dn("CircleBucket",Fa,{omit:["layers"]});var Qa=new yi({"circle-sort-key":new di(At.layout_circle["circle-sort-key"])}),$a={paint:new yi({"circle-radius":new di(At.paint_circle["circle-radius"]),"circle-color":new di(At.paint_circle["circle-color"]),"circle-blur":new di(At.paint_circle["circle-blur"]),"circle-opacity":new di(At.paint_circle["circle-opacity"]),"circle-translate":new pi(At.paint_circle["circle-translate"]),"circle-translate-anchor":new pi(At.paint_circle["circle-translate-anchor"]),"circle-pitch-scale":new pi(At.paint_circle["circle-pitch-scale"]),"circle-pitch-alignment":new pi(At.paint_circle["circle-pitch-alignment"]),"circle-stroke-width":new di(At.paint_circle["circle-stroke-width"]),"circle-stroke-color":new di(At.paint_circle["circle-stroke-color"]),"circle-stroke-opacity":new di(At.paint_circle["circle-stroke-opacity"])}),layout:Qa},to="undefined"!=typeof Float32Array?Float32Array:Array;function eo(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function ro(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],c=e[6],u=e[7],f=e[8],h=e[9],p=e[10],d=e[11],g=e[12],m=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*g,t[1]=x*i+b*l+_*h+w*m,t[2]=x*a+b*c+_*p+w*v,t[3]=x*o+b*u+_*d+w*y,t[4]=(x=r[4])*n+(b=r[5])*s+(_=r[6])*f+(w=r[7])*g,t[5]=x*i+b*l+_*h+w*m,t[6]=x*a+b*c+_*p+w*v,t[7]=x*o+b*u+_*d+w*y,t[8]=(x=r[8])*n+(b=r[9])*s+(_=r[10])*f+(w=r[11])*g,t[9]=x*i+b*l+_*h+w*m,t[10]=x*a+b*c+_*p+w*v,t[11]=x*o+b*u+_*d+w*y,t[12]=(x=r[12])*n+(b=r[13])*s+(_=r[14])*f+(w=r[15])*g,t[13]=x*i+b*l+_*h+w*m,t[14]=x*a+b*c+_*p+w*v,t[15]=x*o+b*u+_*d+w*y,t}Math.hypot||(Math.hypot=function(){for(var t=arguments,e=0,r=arguments.length;r--;)e+=t[r]*t[r];return Math.sqrt(e)});var no,io=ro;function ao(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}no=new to(3),to!=Float32Array&&(no[0]=0,no[1]=0,no[2]=0),function(){var t=new to(4);to!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0,t[3]=0)}();var oo=(function(){var t=new to(2);to!=Float32Array&&(t[0]=0,t[1]=0)}(),function(t){function e(e){t.call(this,e,$a)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.createBucket=function(t){return new Fa(t)},e.prototype.queryRadius=function(t){var e=t;return Za("circle-radius",this,e)+Za("circle-stroke-width",this,e)+Ja(this.paint.get("circle-translate"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,a,o,s){for(var l=Ka(t,this.paint.get("circle-translate"),this.paint.get("circle-translate-anchor"),a.angle,o),c=this.paint.get("circle-radius").evaluate(e,r)+this.paint.get("circle-stroke-width").evaluate(e,r),u="map"===this.paint.get("circle-pitch-alignment"),f=u?l:function(t,e){return t.map((function(t){return so(t,e)}))}(l,s),h=u?c*o:c,p=0,d=n;p<d.length;p+=1)for(var g=0,m=d[p];g<m.length;g+=1){var v=m[g],y=u?v:so(v,s),x=h,b=ao([],[v.x,v.y,0,1],s);if("viewport"===this.paint.get("circle-pitch-scale")&&"map"===this.paint.get("circle-pitch-alignment")?x*=b[3]/a.cameraToCenterDistance:"map"===this.paint.get("circle-pitch-scale")&&"viewport"===this.paint.get("circle-pitch-alignment")&&(x*=a.cameraToCenterDistance/b[3]),Na(f,y,x))return!0}return!1},e}(xi));function so(t,e){var r=ao([],[t.x,t.y,0,1],e);return new i(r[0]/r[3],r[1]/r[3])}var lo=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e}(Fa);function co(t,e,r,n){var i=e.width,a=e.height;if(n){if(n instanceof Uint8ClampedArray)n=new Uint8Array(n.buffer);else if(n.length!==i*a*r)throw new RangeError("mismatched image size")}else n=new Uint8Array(i*a*r);return t.width=i,t.height=a,t.data=n,t}function uo(t,e,r){var n=e.width,i=e.height;if(n!==t.width||i!==t.height){var a=co({},{width:n,height:i},r);fo(t,a,{x:0,y:0},{x:0,y:0},{width:Math.min(t.width,n),height:Math.min(t.height,i)},r),t.width=n,t.height=i,t.data=a.data}}function fo(t,e,r,n,i,a){if(0===i.width||0===i.height)return e;if(i.width>t.width||i.height>t.height||r.x>t.width-i.width||r.y>t.height-i.height)throw new RangeError("out of range source coordinates for image copy");if(i.width>e.width||i.height>e.height||n.x>e.width-i.width||n.y>e.height-i.height)throw new RangeError("out of range destination coordinates for image copy");for(var o=t.data,s=e.data,l=0;l<i.height;l++)for(var c=((r.y+l)*t.width+r.x)*a,u=((n.y+l)*e.width+n.x)*a,f=0;f<i.width*a;f++)s[u+f]=o[c+f];return e}Dn("HeatmapBucket",lo,{omit:["layers"]});var ho=function(t,e){co(this,t,1,e)};ho.prototype.resize=function(t){uo(this,t,1)},ho.prototype.clone=function(){return new ho({width:this.width,height:this.height},new Uint8Array(this.data))},ho.copy=function(t,e,r,n,i){fo(t,e,r,n,i,1)};var po=function(t,e){co(this,t,4,e)};po.prototype.resize=function(t){uo(this,t,4)},po.prototype.replace=function(t,e){e?this.data.set(t):this.data=t instanceof Uint8ClampedArray?new Uint8Array(t.buffer):t},po.prototype.clone=function(){return new po({width:this.width,height:this.height},new Uint8Array(this.data))},po.copy=function(t,e,r,n,i){fo(t,e,r,n,i,4)},Dn("AlphaImage",ho),Dn("RGBAImage",po);var go={paint:new yi({"heatmap-radius":new di(At.paint_heatmap["heatmap-radius"]),"heatmap-weight":new di(At.paint_heatmap["heatmap-weight"]),"heatmap-intensity":new pi(At.paint_heatmap["heatmap-intensity"]),"heatmap-color":new vi(At.paint_heatmap["heatmap-color"]),"heatmap-opacity":new pi(At.paint_heatmap["heatmap-opacity"])})};function mo(t,e){for(var r=new Uint8Array(1024),n={},i=0,a=0;i<256;i++,a+=4){n[e]=i/255;var o=t.evaluate(n);r[a+0]=Math.floor(255*o.r/o.a),r[a+1]=Math.floor(255*o.g/o.a),r[a+2]=Math.floor(255*o.b/o.a),r[a+3]=Math.floor(255*o.a)}return new po({width:256,height:1},r)}var vo=function(t){function e(e){t.call(this,e,go),this._updateColorRamp()}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.createBucket=function(t){return new lo(t)},e.prototype._handleSpecialPaintPropertyUpdate=function(t){"heatmap-color"===t&&this._updateColorRamp()},e.prototype._updateColorRamp=function(){this.colorRamp=mo(this._transitionablePaint._values["heatmap-color"].value.expression,"heatmapDensity"),this.colorRampTexture=null},e.prototype.resize=function(){this.heatmapFbo&&(this.heatmapFbo.destroy(),this.heatmapFbo=null)},e.prototype.queryRadius=function(){return 0},e.prototype.queryIntersectsFeature=function(){return!1},e.prototype.hasOffscreenPass=function(){return 0!==this.paint.get("heatmap-opacity")&&"none"!==this.visibility},e}(xi),yo={paint:new yi({"hillshade-illumination-direction":new pi(At.paint_hillshade["hillshade-illumination-direction"]),"hillshade-illumination-anchor":new pi(At.paint_hillshade["hillshade-illumination-anchor"]),"hillshade-exaggeration":new pi(At.paint_hillshade["hillshade-exaggeration"]),"hillshade-shadow-color":new pi(At.paint_hillshade["hillshade-shadow-color"]),"hillshade-highlight-color":new pi(At.paint_hillshade["hillshade-highlight-color"]),"hillshade-accent-color":new pi(At.paint_hillshade["hillshade-accent-color"])})},xo=function(t){function e(e){t.call(this,e,yo)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.hasOffscreenPass=function(){return 0!==this.paint.get("hillshade-exaggeration")&&"none"!==this.visibility},e}(xi),bo=Ti([{name:"a_pos",components:2,type:"Int16"}],4).members,_o=To,wo=To;function To(t,e,r){r=r||2;var n,i,a,o,s,l,c,u=e&&e.length,f=u?e[0]*r:t.length,h=ko(t,0,f,r,!0),p=[];if(!h||h.next===h.prev)return p;if(u&&(h=function(t,e,r,n){var i,a,o,s=[];for(i=0,a=e.length;i<a;i++)(o=ko(t,e[i]*n,i<a-1?e[i+1]*n:t.length,n,!1))===o.next&&(o.steiner=!0),s.push(Do(o));for(s.sort(Io),i=0;i<s.length;i++)Po(s[i],r),r=Mo(r,r.next);return r}(t,e,h,r)),t.length>80*r){n=a=t[0],i=o=t[1];for(var d=r;d<f;d+=r)(s=t[d])<n&&(n=s),(l=t[d+1])<i&&(i=l),s>a&&(a=s),l>o&&(o=l);c=0!==(c=Math.max(a-n,o-i))?1/c:0}return Ao(h,p,r,n,i,c),p}function ko(t,e,r,n,i){var a,o;if(i===Xo(t,e,r,n)>0)for(a=e;a<r;a+=n)o=Go(a,t[a],t[a+1],o);else for(a=r-n;a>=e;a-=n)o=Go(a,t[a],t[a+1],o);return o&&No(o,o.next)&&(Yo(o),o=o.next),o}function Mo(t,e){if(!t)return t;e||(e=t);var r,n=t;do{if(r=!1,n.steiner||!No(n,n.next)&&0!==Bo(n.prev,n,n.next))n=n.next;else{if(Yo(n),(n=e=n.prev)===n.next)break;r=!0}}while(r||n!==e);return e}function Ao(t,e,r,n,i,a,o){if(t){!o&&a&&function(t,e,r,n){var i=t;do{null===i.z&&(i.z=Oo(i.x,i.y,e,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next}while(i!==t);i.prevZ.nextZ=null,i.prevZ=null,function(t){var e,r,n,i,a,o,s,l,c=1;do{for(r=t,t=null,a=null,o=0;r;){for(o++,n=r,s=0,e=0;e<c&&(s++,n=n.nextZ);e++);for(l=c;s>0||l>0&&n;)0!==s&&(0===l||!n||r.z<=n.z)?(i=r,r=r.nextZ,s--):(i=n,n=n.nextZ,l--),a?a.nextZ=i:t=i,i.prevZ=a,a=i;r=n}a.nextZ=null,c*=2}while(o>1)}(i)}(t,n,i,a);for(var s,l,c=t;t.prev!==t.next;)if(s=t.prev,l=t.next,a?Eo(t,n,i,a):So(t))e.push(s.i/r),e.push(t.i/r),e.push(l.i/r),Yo(t),t=l.next,c=l.next;else if((t=l)===c){o?1===o?Ao(t=Co(Mo(t),e,r),e,r,n,i,a,2):2===o&&Lo(t,e,r,n,i,a):Ao(Mo(t),e,r,n,i,a,1);break}}}function So(t){var e=t.prev,r=t,n=t.next;if(Bo(e,r,n)>=0)return!1;for(var i=t.next.next;i!==t.prev;){if(Ro(e.x,e.y,r.x,r.y,n.x,n.y,i.x,i.y)&&Bo(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function Eo(t,e,r,n){var i=t.prev,a=t,o=t.next;if(Bo(i,a,o)>=0)return!1;for(var s=i.x>a.x?i.x>o.x?i.x:o.x:a.x>o.x?a.x:o.x,l=i.y>a.y?i.y>o.y?i.y:o.y:a.y>o.y?a.y:o.y,c=Oo(i.x<a.x?i.x<o.x?i.x:o.x:a.x<o.x?a.x:o.x,i.y<a.y?i.y<o.y?i.y:o.y:a.y<o.y?a.y:o.y,e,r,n),u=Oo(s,l,e,r,n),f=t.prevZ,h=t.nextZ;f&&f.z>=c&&h&&h.z<=u;){if(f!==t.prev&&f!==t.next&&Ro(i.x,i.y,a.x,a.y,o.x,o.y,f.x,f.y)&&Bo(f.prev,f,f.next)>=0)return!1;if(f=f.prevZ,h!==t.prev&&h!==t.next&&Ro(i.x,i.y,a.x,a.y,o.x,o.y,h.x,h.y)&&Bo(h.prev,h,h.next)>=0)return!1;h=h.nextZ}for(;f&&f.z>=c;){if(f!==t.prev&&f!==t.next&&Ro(i.x,i.y,a.x,a.y,o.x,o.y,f.x,f.y)&&Bo(f.prev,f,f.next)>=0)return!1;f=f.prevZ}for(;h&&h.z<=u;){if(h!==t.prev&&h!==t.next&&Ro(i.x,i.y,a.x,a.y,o.x,o.y,h.x,h.y)&&Bo(h.prev,h,h.next)>=0)return!1;h=h.nextZ}return!0}function Co(t,e,r){var n=t;do{var i=n.prev,a=n.next.next;!No(i,a)&&jo(i,n,n.next,a)&&qo(i,a)&&qo(a,i)&&(e.push(i.i/r),e.push(n.i/r),e.push(a.i/r),Yo(n),Yo(n.next),n=t=a),n=n.next}while(n!==t);return Mo(n)}function Lo(t,e,r,n,i,a){var o=t;do{for(var s=o.next.next;s!==o.prev;){if(o.i!==s.i&&Fo(o,s)){var l=Ho(o,s);return o=Mo(o,o.next),l=Mo(l,l.next),Ao(o,e,r,n,i,a),void Ao(l,e,r,n,i,a)}s=s.next}o=o.next}while(o!==t)}function Io(t,e){return t.x-e.x}function Po(t,e){if(e=function(t,e){var r,n=e,i=t.x,a=t.y,o=-1/0;do{if(a<=n.y&&a>=n.next.y&&n.next.y!==n.y){var s=n.x+(a-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(s<=i&&s>o){if(o=s,s===i){if(a===n.y)return n;if(a===n.next.y)return n.next}r=n.x<n.next.x?n:n.next}}n=n.next}while(n!==e);if(!r)return null;if(i===o)return r;var l,c=r,u=r.x,f=r.y,h=1/0;n=r;do{i>=n.x&&n.x>=u&&i!==n.x&&Ro(a<f?i:o,a,u,f,a<f?o:i,a,n.x,n.y)&&(l=Math.abs(a-n.y)/(i-n.x),qo(n,t)&&(l<h||l===h&&(n.x>r.x||n.x===r.x&&zo(r,n)))&&(r=n,h=l)),n=n.next}while(n!==c);return r}(t,e)){var r=Ho(e,t);Mo(e,e.next),Mo(r,r.next)}}function zo(t,e){return Bo(t.prev,t,e.prev)<0&&Bo(e.next,t,t.next)<0}function Oo(t,e,r,n,i){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-r)*i)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)*i)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function Do(t){var e=t,r=t;do{(e.x<r.x||e.x===r.x&&e.y<r.y)&&(r=e),e=e.next}while(e!==t);return r}function Ro(t,e,r,n,i,a,o,s){return(i-o)*(e-s)-(t-o)*(a-s)>=0&&(t-o)*(n-s)-(r-o)*(e-s)>=0&&(r-o)*(a-s)-(i-o)*(n-s)>=0}function Fo(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){var r=t;do{if(r.i!==t.i&&r.next.i!==t.i&&r.i!==e.i&&r.next.i!==e.i&&jo(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}(t,e)&&(qo(t,e)&&qo(e,t)&&function(t,e){var r=t,n=!1,i=(t.x+e.x)/2,a=(t.y+e.y)/2;do{r.y>a!=r.next.y>a&&r.next.y!==r.y&&i<(r.next.x-r.x)*(a-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next}while(r!==t);return n}(t,e)&&(Bo(t.prev,t,e.prev)||Bo(t,e.prev,e))||No(t,e)&&Bo(t.prev,t,t.next)>0&&Bo(e.prev,e,e.next)>0)}function Bo(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function No(t,e){return t.x===e.x&&t.y===e.y}function jo(t,e,r,n){var i=Vo(Bo(t,e,r)),a=Vo(Bo(t,e,n)),o=Vo(Bo(r,n,t)),s=Vo(Bo(r,n,e));return i!==a&&o!==s||!(0!==i||!Uo(t,r,e))||!(0!==a||!Uo(t,n,e))||!(0!==o||!Uo(r,t,n))||!(0!==s||!Uo(r,e,n))}function Uo(t,e,r){return e.x<=Math.max(t.x,r.x)&&e.x>=Math.min(t.x,r.x)&&e.y<=Math.max(t.y,r.y)&&e.y>=Math.min(t.y,r.y)}function Vo(t){return t>0?1:t<0?-1:0}function qo(t,e){return Bo(t.prev,t,t.next)<0?Bo(t,e,t.next)>=0&&Bo(t,t.prev,e)>=0:Bo(t,e,t.prev)<0||Bo(t,t.next,e)<0}function Ho(t,e){var r=new Wo(t.i,t.x,t.y),n=new Wo(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 Go(t,e,r,n){var i=new Wo(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 Yo(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function Wo(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 Xo(t,e,r,n){for(var i=0,a=e,o=r-n;a<r;a+=n)i+=(t[o]-t[a])*(t[a+1]+t[o+1]),o=a;return i}function Zo(t,e,r,n,i){!function t(e,r,n,i,a){for(;i>n;){if(i-n>600){var o=i-n+1,s=r-n+1,l=Math.log(o),c=.5*Math.exp(2*l/3),u=.5*Math.sqrt(l*c*(o-c)/o)*(s-o/2<0?-1:1);t(e,r,Math.max(n,Math.floor(r-s*c/o+u)),Math.min(i,Math.floor(r+(o-s)*c/o+u)),a)}var f=e[r],h=n,p=i;for(Jo(e,n,r),a(e[i],f)>0&&Jo(e,n,i);h<p;){for(Jo(e,h,p),h++,p--;a(e[h],f)<0;)h++;for(;a(e[p],f)>0;)p--}0===a(e[n],f)?Jo(e,n,p):Jo(e,++p,i),p<=r&&(n=p+1),r<=p&&(i=p-1)}}(t,e,r||0,n||t.length-1,i||Ko)}function Jo(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function Ko(t,e){return t<e?-1:t>e?1:0}function Qo(t,e){var r=t.length;if(r<=1)return[t];for(var n,i,a=[],o=0;o<r;o++){var s=T(t[o]);0!==s&&(t[o].area=Math.abs(s),void 0===i&&(i=s<0),i===s<0?(n&&a.push(n),n=[t[o]]):n.push(t[o]))}if(n&&a.push(n),e>1)for(var l=0;l<a.length;l++)a[l].length<=e||(Zo(a[l],e,1,a[l].length-1,$o),a[l]=a[l].slice(0,e));return a}function $o(t,e){return e.area-t.area}function ts(t,e,r){for(var n=r.patternDependencies,i=!1,a=0,o=e;a<o.length;a+=1){var s=o[a].paint.get(t+"-pattern");s.isConstant()||(i=!0);var l=s.constantOr(null);l&&(i=!0,n[l.to]=!0,n[l.from]=!0)}return i}function es(t,e,r,n,i){for(var a=i.patternDependencies,o=0,s=e;o<s.length;o+=1){var l=s[o],c=l.paint.get(t+"-pattern").value;if("constant"!==c.kind){var u=c.evaluate({zoom:n-1},r,{},i.availableImages),f=c.evaluate({zoom:n},r,{},i.availableImages),h=c.evaluate({zoom:n+1},r,{},i.availableImages);f=f&&f.name?f.name:f,h=h&&h.name?h.name:h,a[u=u&&u.name?u.name:u]=!0,a[f]=!0,a[h]=!0,r.patterns[l.id]={min:u,mid:f,max:h}}}return r}To.deviation=function(t,e,r,n){var i=e&&e.length,a=Math.abs(Xo(t,0,i?e[0]*r:t.length,r));if(i)for(var o=0,s=e.length;o<s;o++)a-=Math.abs(Xo(t,e[o]*r,o<s-1?e[o+1]*r:t.length,r));var l=0;for(o=0;o<n.length;o+=3){var c=n[o]*r,u=n[o+1]*r,f=n[o+2]*r;l+=Math.abs((t[c]-t[f])*(t[u+1]-t[c+1])-(t[c]-t[u])*(t[f+1]-t[c+1]))}return 0===a&&0===l?0:Math.abs((l-a)/a)},To.flatten=function(t){for(var e=t[0][0].length,r={vertices:[],holes:[],dimensions:e},n=0,i=0;i<t.length;i++){for(var a=0;a<t[i].length;a++)for(var o=0;o<e;o++)r.vertices.push(t[i][a][o]);i>0&&r.holes.push(n+=t[i-1].length)}return r},_o.default=wo;var rs=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((function(t){return t.id})),this.index=t.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new Mi,this.indexArray=new Fi,this.indexArray2=new qi,this.programConfigurations=new Ia(bo,t.layers,t.zoom),this.segments=new ia,this.segments2=new ia,this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id}))};rs.prototype.populate=function(t,e,r){this.hasPattern=ts("fill",this.layers,e);for(var n=this.layers[0].layout.get("fill-sort-key"),i=[],a=0,o=t;a<o.length;a+=1){var s=o[a],l=s.feature,c=s.id,u=s.index,f=s.sourceLayerIndex,h=this.layers[0]._featureFilter.needGeometry,p={type:l.type,id:c,properties:l.properties,geometry:h?Da(l):[]};if(this.layers[0]._featureFilter.filter(new ii(this.zoom),p,r)){h||(p.geometry=Da(l));var d=n?n.evaluate(p,{},r,e.availableImages):void 0;i.push({id:c,properties:l.properties,type:l.type,sourceLayerIndex:f,index:u,geometry:p.geometry,patterns:{},sortKey:d})}}n&&i.sort((function(t,e){return t.sortKey-e.sortKey}));for(var g=0,m=i;g<m.length;g+=1){var v=m[g],y=v.geometry,x=v.index,b=v.sourceLayerIndex;if(this.hasPattern){var _=es("fill",this.layers,v,this.zoom,e);this.patternFeatures.push(_)}else this.addFeature(v,y,x,r,{});e.featureIndex.insert(t[x].feature,y,x,b,this.index)}},rs.prototype.update=function(t,e,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r)},rs.prototype.addFeatures=function(t,e,r){for(var n=0,i=this.patternFeatures;n<i.length;n+=1){var a=i[n];this.addFeature(a,a.geometry,a.index,e,r)}},rs.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},rs.prototype.uploadPending=function(){return!this.uploaded||this.programConfigurations.needsUpload},rs.prototype.upload=function(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,bo),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.indexBuffer2=t.createIndexBuffer(this.indexArray2)),this.programConfigurations.upload(t),this.uploaded=!0},rs.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.indexBuffer2.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.segments2.destroy())},rs.prototype.addFeature=function(t,e,r,n,i){for(var a=0,o=Qo(e,500);a<o.length;a+=1){for(var s=o[a],l=0,c=0,u=s;c<u.length;c+=1)l+=u[c].length;for(var f=this.segments.prepareSegment(l,this.layoutVertexArray,this.indexArray),h=f.vertexLength,p=[],d=[],g=0,m=s;g<m.length;g+=1){var v=m[g];if(0!==v.length){v!==s[0]&&d.push(p.length/2);var y=this.segments2.prepareSegment(v.length,this.layoutVertexArray,this.indexArray2),x=y.vertexLength;this.layoutVertexArray.emplaceBack(v[0].x,v[0].y),this.indexArray2.emplaceBack(x+v.length-1,x),p.push(v[0].x),p.push(v[0].y);for(var b=1;b<v.length;b++)this.layoutVertexArray.emplaceBack(v[b].x,v[b].y),this.indexArray2.emplaceBack(x+b-1,x+b),p.push(v[b].x),p.push(v[b].y);y.vertexLength+=v.length,y.primitiveLength+=v.length}}for(var _=_o(p,d),w=0;w<_.length;w+=3)this.indexArray.emplaceBack(h+_[w],h+_[w+1],h+_[w+2]);f.vertexLength+=l,f.primitiveLength+=_.length/3}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,r,i,n)},Dn("FillBucket",rs,{omit:["layers","patternFeatures"]});var ns=new yi({"fill-sort-key":new di(At.layout_fill["fill-sort-key"])}),is={paint:new yi({"fill-antialias":new pi(At.paint_fill["fill-antialias"]),"fill-opacity":new di(At.paint_fill["fill-opacity"]),"fill-color":new di(At.paint_fill["fill-color"]),"fill-outline-color":new di(At.paint_fill["fill-outline-color"]),"fill-translate":new pi(At.paint_fill["fill-translate"]),"fill-translate-anchor":new pi(At.paint_fill["fill-translate-anchor"]),"fill-pattern":new gi(At.paint_fill["fill-pattern"])}),layout:ns},as=function(t){function e(e){t.call(this,e,is)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.recalculate=function(e,r){t.prototype.recalculate.call(this,e,r);var n=this.paint._values["fill-outline-color"];"constant"===n.value.kind&&void 0===n.value.value&&(this.paint._values["fill-outline-color"]=this.paint._values["fill-color"])},e.prototype.createBucket=function(t){return new rs(t)},e.prototype.queryRadius=function(){return Ja(this.paint.get("fill-translate"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,a,o){return ja(Ka(t,this.paint.get("fill-translate"),this.paint.get("fill-translate-anchor"),a.angle,o),n)},e.prototype.isTileClipped=function(){return!0},e}(xi),os=Ti([{name:"a_pos",components:2,type:"Int16"},{name:"a_normal_ed",components:4,type:"Int16"}],4).members,ss=ls;function ls(t,e,r,n,i){this.properties={},this.extent=r,this.type=0,this._pbf=t,this._geometry=-1,this._keys=n,this._values=i,t.readFields(cs,this,e)}function cs(t,e,r){1==t?e.id=r.readVarint():2==t?function(t,e){for(var r=t.readVarint()+t.pos;t.pos<r;){var n=e._keys[t.readVarint()],i=e._values[t.readVarint()];e.properties[n]=i}}(r,e):3==t?e.type=r.readVarint():4==t&&(e._geometry=r.pos)}function us(t){for(var e,r,n=0,i=0,a=t.length,o=a-1;i<a;o=i++)n+=((r=t[o]).x-(e=t[i]).x)*(e.y+r.y);return n}ls.types=["Unknown","Point","LineString","Polygon"],ls.prototype.loadGeometry=function(){var t=this._pbf;t.pos=this._geometry;for(var e,r=t.readVarint()+t.pos,n=1,a=0,o=0,s=0,l=[];t.pos<r;){if(a<=0){var c=t.readVarint();n=7&c,a=c>>3}if(a--,1===n||2===n)o+=t.readSVarint(),s+=t.readSVarint(),1===n&&(e&&l.push(e),e=[]),e.push(new i(o,s));else{if(7!==n)throw new Error("unknown command "+n);e&&e.push(e[0].clone())}}return e&&l.push(e),l},ls.prototype.bbox=function(){var t=this._pbf;t.pos=this._geometry;for(var e=t.readVarint()+t.pos,r=1,n=0,i=0,a=0,o=1/0,s=-1/0,l=1/0,c=-1/0;t.pos<e;){if(n<=0){var u=t.readVarint();r=7&u,n=u>>3}if(n--,1===r||2===r)(i+=t.readSVarint())<o&&(o=i),i>s&&(s=i),(a+=t.readSVarint())<l&&(l=a),a>c&&(c=a);else if(7!==r)throw new Error("unknown command "+r)}return[o,l,s,c]},ls.prototype.toGeoJSON=function(t,e,r){var n,i,a=this.extent*Math.pow(2,r),o=this.extent*t,s=this.extent*e,l=this.loadGeometry(),c=ls.types[this.type];function u(t){for(var e=0;e<t.length;e++){var r=t[e];t[e]=[360*(r.x+o)/a-180,360/Math.PI*Math.atan(Math.exp((180-360*(r.y+s)/a)*Math.PI/180))-90]}}switch(this.type){case 1:var f=[];for(n=0;n<l.length;n++)f[n]=l[n][0];u(l=f);break;case 2:for(n=0;n<l.length;n++)u(l[n]);break;case 3:for(l=function(t){var e=t.length;if(e<=1)return[t];for(var r,n,i=[],a=0;a<e;a++){var o=us(t[a]);0!==o&&(void 0===n&&(n=o<0),n===o<0?(r&&i.push(r),r=[t[a]]):r.push(t[a]))}return r&&i.push(r),i}(l),n=0;n<l.length;n++)for(i=0;i<l[n].length;i++)u(l[n][i])}1===l.length?l=l[0]:c="Multi"+c;var h={type:"Feature",geometry:{type:c,coordinates:l},properties:this.properties};return"id"in this&&(h.id=this.id),h};var fs=hs;function hs(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(ps,this,e),this.length=this._features.length}function ps(t,e,r){15===t?e.version=r.readVarint():1===t?e.name=r.readString():5===t?e.extent=r.readVarint():2===t?e._features.push(r.pos):3===t?e._keys.push(r.readString()):4===t&&e._values.push(function(t){for(var e=null,r=t.readVarint()+t.pos;t.pos<r;){var n=t.readVarint()>>3;e=1===n?t.readString():2===n?t.readFloat():3===n?t.readDouble():4===n?t.readVarint64():5===n?t.readVarint():6===n?t.readSVarint():7===n?t.readBoolean():null}return e}(r))}function ds(t,e,r){if(3===t){var n=new fs(r,r.readVarint()+r.pos);n.length&&(e[n.name]=n)}}hs.prototype.feature=function(t){if(t<0||t>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[t];var e=this._pbf.readVarint()+this._pbf.pos;return new ss(this._pbf,e,this.extent,this._keys,this._values)};var gs={VectorTile:function(t,e){this.layers=t.readFields(ds,{},e)},VectorTileFeature:ss,VectorTileLayer:fs},ms=gs.VectorTileFeature.types,vs=Math.pow(2,13);function ys(t,e,r,n,i,a,o,s){t.emplaceBack(e,r,2*Math.floor(n*vs)+o,i*vs*2,a*vs*2,Math.round(s))}var xs=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((function(t){return t.id})),this.index=t.index,this.hasPattern=!1,this.layoutVertexArray=new Si,this.indexArray=new Fi,this.programConfigurations=new Ia(os,t.layers,t.zoom),this.segments=new ia,this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id}))};function bs(t,e){return t.x===e.x&&(t.x<0||t.x>8192)||t.y===e.y&&(t.y<0||t.y>8192)}xs.prototype.populate=function(t,e,r){this.features=[],this.hasPattern=ts("fill-extrusion",this.layers,e);for(var n=0,i=t;n<i.length;n+=1){var a=i[n],o=a.feature,s=a.id,l=a.index,c=a.sourceLayerIndex,u=this.layers[0]._featureFilter.needGeometry,f={type:o.type,id:s,properties:o.properties,geometry:u?Da(o):[]};if(this.layers[0]._featureFilter.filter(new ii(this.zoom),f,r)){var h={id:s,sourceLayerIndex:c,index:l,geometry:u?f.geometry:Da(o),properties:o.properties,type:o.type,patterns:{}};void 0!==o.id&&(h.id=o.id),this.hasPattern?this.features.push(es("fill-extrusion",this.layers,h,this.zoom,e)):this.addFeature(h,h.geometry,l,r,{}),e.featureIndex.insert(o,h.geometry,l,c,this.index,!0)}}},xs.prototype.addFeatures=function(t,e,r){for(var n=0,i=this.features;n<i.length;n+=1){var a=i[n];this.addFeature(a,a.geometry,a.index,e,r)}},xs.prototype.update=function(t,e,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r)},xs.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},xs.prototype.uploadPending=function(){return!this.uploaded||this.programConfigurations.needsUpload},xs.prototype.upload=function(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,os),this.indexBuffer=t.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(t),this.uploaded=!0},xs.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())},xs.prototype.addFeature=function(t,e,r,n,i){for(var a=0,o=Qo(e,500);a<o.length;a+=1){for(var s=o[a],l=0,c=0,u=s;c<u.length;c+=1)l+=u[c].length;for(var f=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray),h=0,p=s;h<p.length;h+=1){var d=p[h];if(0!==d.length&&!((P=d).every((function(t){return t.x<0}))||P.every((function(t){return t.x>8192}))||P.every((function(t){return t.y<0}))||P.every((function(t){return t.y>8192}))))for(var g=0,m=0;m<d.length;m++){var v=d[m];if(m>=1){var y=d[m-1];if(!bs(v,y)){f.vertexLength+4>ia.MAX_VERTEX_ARRAY_LENGTH&&(f=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));var x=v.sub(y)._perp()._unit(),b=y.dist(v);g+b>32768&&(g=0),ys(this.layoutVertexArray,v.x,v.y,x.x,x.y,0,0,g),ys(this.layoutVertexArray,v.x,v.y,x.x,x.y,0,1,g),ys(this.layoutVertexArray,y.x,y.y,x.x,x.y,0,0,g+=b),ys(this.layoutVertexArray,y.x,y.y,x.x,x.y,0,1,g);var _=f.vertexLength;this.indexArray.emplaceBack(_,_+2,_+1),this.indexArray.emplaceBack(_+1,_+2,_+3),f.vertexLength+=4,f.primitiveLength+=2}}}}if(f.vertexLength+l>ia.MAX_VERTEX_ARRAY_LENGTH&&(f=this.segments.prepareSegment(l,this.layoutVertexArray,this.indexArray)),"Polygon"===ms[t.type]){for(var w=[],T=[],k=f.vertexLength,M=0,A=s;M<A.length;M+=1){var S=A[M];if(0!==S.length){S!==s[0]&&T.push(w.length/2);for(var E=0;E<S.length;E++){var C=S[E];ys(this.layoutVertexArray,C.x,C.y,0,0,1,1,0),w.push(C.x),w.push(C.y)}}}for(var L=_o(w,T),I=0;I<L.length;I+=3)this.indexArray.emplaceBack(k+L[I],k+L[I+2],k+L[I+1]);f.primitiveLength+=L.length/3,f.vertexLength+=l}}var P;this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,r,i,n)},Dn("FillExtrusionBucket",xs,{omit:["layers","features"]});var _s={paint:new yi({"fill-extrusion-opacity":new pi(At["paint_fill-extrusion"]["fill-extrusion-opacity"]),"fill-extrusion-color":new di(At["paint_fill-extrusion"]["fill-extrusion-color"]),"fill-extrusion-translate":new pi(At["paint_fill-extrusion"]["fill-extrusion-translate"]),"fill-extrusion-translate-anchor":new pi(At["paint_fill-extrusion"]["fill-extrusion-translate-anchor"]),"fill-extrusion-pattern":new gi(At["paint_fill-extrusion"]["fill-extrusion-pattern"]),"fill-extrusion-height":new di(At["paint_fill-extrusion"]["fill-extrusion-height"]),"fill-extrusion-base":new di(At["paint_fill-extrusion"]["fill-extrusion-base"]),"fill-extrusion-vertical-gradient":new pi(At["paint_fill-extrusion"]["fill-extrusion-vertical-gradient"])})},ws=function(t){function e(e){t.call(this,e,_s)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.createBucket=function(t){return new xs(t)},e.prototype.queryRadius=function(){return Ja(this.paint.get("fill-extrusion-translate"))},e.prototype.is3D=function(){return!0},e.prototype.queryIntersectsFeature=function(t,e,r,n,a,o,s,l){var c=Ka(t,this.paint.get("fill-extrusion-translate"),this.paint.get("fill-extrusion-translate-anchor"),o.angle,s),u=this.paint.get("fill-extrusion-height").evaluate(e,r),f=this.paint.get("fill-extrusion-base").evaluate(e,r),h=function(t,e,r,n){for(var a=[],o=0,s=t;o<s.length;o+=1){var l=s[o],c=[l.x,l.y,0,1];ao(c,c,e),a.push(new i(c[0]/c[3],c[1]/c[3]))}return a}(c,l),p=function(t,e,r,n){for(var a=[],o=[],s=n[8]*e,l=n[9]*e,c=n[10]*e,u=n[11]*e,f=n[8]*r,h=n[9]*r,p=n[10]*r,d=n[11]*r,g=0,m=t;g<m.length;g+=1){for(var v=[],y=[],x=0,b=m[g];x<b.length;x+=1){var _=b[x],w=_.x,T=_.y,k=n[0]*w+n[4]*T+n[12],M=n[1]*w+n[5]*T+n[13],A=n[2]*w+n[6]*T+n[14],S=n[3]*w+n[7]*T+n[15],E=A+c,C=S+u,L=k+f,I=M+h,P=A+p,z=S+d,O=new i((k+s)/C,(M+l)/C);O.z=E/C,v.push(O);var D=new i(L/z,I/z);D.z=P/z,y.push(D)}a.push(v),o.push(y)}return[a,o]}(n,f,u,l);return function(t,e,r){var n=1/0;ja(r,e)&&(n=ks(r,e[0]));for(var i=0;i<e.length;i++)for(var a=e[i],o=t[i],s=0;s<a.length-1;s++){var l=a[s],c=[l,a[s+1],o[s+1],o[s],l];Ba(r,c)&&(n=Math.min(n,ks(r,c)))}return n!==1/0&&n}(p[0],p[1],h)},e}(xi);function Ts(t,e){return t.x*e.x+t.y*e.y}function ks(t,e){if(1===t.length){for(var r,n=0,i=e[n++];!r||i.equals(r);)if(!(r=e[n++]))return 1/0;for(;n<e.length;n++){var a=e[n],o=t[0],s=r.sub(i),l=a.sub(i),c=o.sub(i),u=Ts(s,s),f=Ts(s,l),h=Ts(l,l),p=Ts(c,s),d=Ts(c,l),g=u*h-f*f,m=(h*p-f*d)/g,v=(u*d-f*p)/g,y=i.z*(1-m-v)+r.z*m+a.z*v;if(isFinite(y))return y}return 1/0}for(var x=1/0,b=0,_=e;b<_.length;b+=1)x=Math.min(x,_[b].z);return x}var Ms=Ti([{name:"a_pos_normal",components:2,type:"Int16"},{name:"a_data",components:4,type:"Uint8"}],4).members,As=gs.VectorTileFeature.types,Ss=Math.cos(Math.PI/180*37.5),Es=Math.pow(2,14)/.5,Cs=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((function(t){return t.id})),this.index=t.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new Ei,this.indexArray=new Fi,this.programConfigurations=new Ia(Ms,t.layers,t.zoom),this.segments=new ia,this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id}))};Cs.prototype.populate=function(t,e,r){this.hasPattern=ts("line",this.layers,e);for(var n=this.layers[0].layout.get("line-sort-key"),i=[],a=0,o=t;a<o.length;a+=1){var s=o[a],l=s.feature,c=s.id,u=s.index,f=s.sourceLayerIndex,h=this.layers[0]._featureFilter.needGeometry,p={type:l.type,id:c,properties:l.properties,geometry:h?Da(l):[]};if(this.layers[0]._featureFilter.filter(new ii(this.zoom),p,r)){h||(p.geometry=Da(l));var d=n?n.evaluate(p,{},r):void 0;i.push({id:c,properties:l.properties,type:l.type,sourceLayerIndex:f,index:u,geometry:p.geometry,patterns:{},sortKey:d})}}n&&i.sort((function(t,e){return t.sortKey-e.sortKey}));for(var g=0,m=i;g<m.length;g+=1){var v=m[g],y=v.geometry,x=v.index,b=v.sourceLayerIndex;if(this.hasPattern){var _=es("line",this.layers,v,this.zoom,e);this.patternFeatures.push(_)}else this.addFeature(v,y,x,r,{});e.featureIndex.insert(t[x].feature,y,x,b,this.index)}},Cs.prototype.update=function(t,e,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r)},Cs.prototype.addFeatures=function(t,e,r){for(var n=0,i=this.patternFeatures;n<i.length;n+=1){var a=i[n];this.addFeature(a,a.geometry,a.index,e,r)}},Cs.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},Cs.prototype.uploadPending=function(){return!this.uploaded||this.programConfigurations.needsUpload},Cs.prototype.upload=function(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,Ms),this.indexBuffer=t.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(t),this.uploaded=!0},Cs.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())},Cs.prototype.addFeature=function(t,e,r,n,i){for(var a=this.layers[0].layout,o=a.get("line-join").evaluate(t,{}),s=a.get("line-cap"),l=a.get("line-miter-limit"),c=a.get("line-round-limit"),u=0,f=e;u<f.length;u+=1)this.addLine(f[u],t,o,s,l,c);this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,r,i,n)},Cs.prototype.addLine=function(t,e,r,n,i,a){if(this.distance=0,this.scaledDistance=0,this.totalDistance=0,e.properties&&e.properties.hasOwnProperty("mapbox_clip_start")&&e.properties.hasOwnProperty("mapbox_clip_end")){this.clipStart=+e.properties.mapbox_clip_start,this.clipEnd=+e.properties.mapbox_clip_end;for(var o=0;o<t.length-1;o++)this.totalDistance+=t[o].dist(t[o+1]);this.updateScaledDistance()}for(var s="Polygon"===As[e.type],l=t.length;l>=2&&t[l-1].equals(t[l-2]);)l--;for(var c=0;c<l-1&&t[c].equals(t[c+1]);)c++;if(!(l<(s?3:2))){"bevel"===r&&(i=1.05);var u,f=this.overscaling<=16?122880/(512*this.overscaling):0,h=this.segments.prepareSegment(10*l,this.layoutVertexArray,this.indexArray),p=void 0,d=void 0,g=void 0,m=void 0;this.e1=this.e2=-1,s&&(m=t[c].sub(u=t[l-2])._unit()._perp());for(var v=c;v<l;v++)if(!(d=v===l-1?s?t[c+1]:void 0:t[v+1])||!t[v].equals(d)){m&&(g=m),u&&(p=u),u=t[v],m=d?d.sub(u)._unit()._perp():g;var y=(g=g||m).add(m);0===y.x&&0===y.y||y._unit();var x=g.x*m.x+g.y*m.y,b=y.x*m.x+y.y*m.y,_=0!==b?1/b:1/0,w=2*Math.sqrt(2-2*b),T=b<Ss&&p&&d,k=g.x*m.y-g.y*m.x>0;if(T&&v>c){var M=u.dist(p);if(M>2*f){var A=u.sub(u.sub(p)._mult(f/M)._round());this.updateDistance(p,A),this.addCurrentVertex(A,g,0,0,h),p=A}}var S=p&&d,E=S?r:s?"butt":n;if(S&&"round"===E&&(_<a?E="miter":_<=2&&(E="fakeround")),"miter"===E&&_>i&&(E="bevel"),"bevel"===E&&(_>2&&(E="flipbevel"),_<i&&(E="miter")),p&&this.updateDistance(p,u),"miter"===E)y._mult(_),this.addCurrentVertex(u,y,0,0,h);else if("flipbevel"===E){if(_>100)y=m.mult(-1);else{var C=_*g.add(m).mag()/g.sub(m).mag();y._perp()._mult(C*(k?-1:1))}this.addCurrentVertex(u,y,0,0,h),this.addCurrentVertex(u,y.mult(-1),0,0,h)}else if("bevel"===E||"fakeround"===E){var L=-Math.sqrt(_*_-1),I=k?L:0,P=k?0:L;if(p&&this.addCurrentVertex(u,g,I,P,h),"fakeround"===E)for(var z=Math.round(180*w/Math.PI/20),O=1;O<z;O++){var D=O/z;if(.5!==D){var R=D-.5;D+=D*R*(D-1)*((1.0904+x*(x*(3.55645-1.43519*x)-3.2452))*R*R+(.848013+x*(.215638*x-1.06021)))}var F=m.sub(g)._mult(D)._add(g)._unit()._mult(k?-1:1);this.addHalfVertex(u,F.x,F.y,!1,k,0,h)}d&&this.addCurrentVertex(u,m,-I,-P,h)}else if("butt"===E)this.addCurrentVertex(u,y,0,0,h);else if("square"===E){var B=p?1:-1;this.addCurrentVertex(u,y,B,B,h)}else"round"===E&&(p&&(this.addCurrentVertex(u,g,0,0,h),this.addCurrentVertex(u,g,1,1,h,!0)),d&&(this.addCurrentVertex(u,m,-1,-1,h,!0),this.addCurrentVertex(u,m,0,0,h)));if(T&&v<l-1){var N=u.dist(d);if(N>2*f){var j=u.add(d.sub(u)._mult(f/N)._round());this.updateDistance(u,j),this.addCurrentVertex(j,m,0,0,h),u=j}}}}},Cs.prototype.addCurrentVertex=function(t,e,r,n,i,a){void 0===a&&(a=!1);var o=e.y*n-e.x,s=-e.y-e.x*n;this.addHalfVertex(t,e.x+e.y*r,e.y-e.x*r,a,!1,r,i),this.addHalfVertex(t,o,s,a,!0,-n,i),this.distance>Es/2&&0===this.totalDistance&&(this.distance=0,this.addCurrentVertex(t,e,r,n,i,a))},Cs.prototype.addHalfVertex=function(t,e,r,n,i,a,o){var s=.5*this.scaledDistance;this.layoutVertexArray.emplaceBack((t.x<<1)+(n?1:0),(t.y<<1)+(i?1:0),Math.round(63*e)+128,Math.round(63*r)+128,1+(0===a?0:a<0?-1:1)|(63&s)<<2,s>>6);var l=o.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,l),o.primitiveLength++),i?this.e2=l:this.e1=l},Cs.prototype.updateScaledDistance=function(){this.scaledDistance=this.totalDistance>0?(this.clipStart+(this.clipEnd-this.clipStart)*this.distance/this.totalDistance)*(Es-1):this.distance},Cs.prototype.updateDistance=function(t,e){this.distance+=t.dist(e),this.updateScaledDistance()},Dn("LineBucket",Cs,{omit:["layers","patternFeatures"]});var Ls=new yi({"line-cap":new pi(At.layout_line["line-cap"]),"line-join":new di(At.layout_line["line-join"]),"line-miter-limit":new pi(At.layout_line["line-miter-limit"]),"line-round-limit":new pi(At.layout_line["line-round-limit"]),"line-sort-key":new di(At.layout_line["line-sort-key"])}),Is={paint:new yi({"line-opacity":new di(At.paint_line["line-opacity"]),"line-color":new di(At.paint_line["line-color"]),"line-translate":new pi(At.paint_line["line-translate"]),"line-translate-anchor":new pi(At.paint_line["line-translate-anchor"]),"line-width":new di(At.paint_line["line-width"]),"line-gap-width":new di(At.paint_line["line-gap-width"]),"line-offset":new di(At.paint_line["line-offset"]),"line-blur":new di(At.paint_line["line-blur"]),"line-dasharray":new mi(At.paint_line["line-dasharray"]),"line-pattern":new gi(At.paint_line["line-pattern"]),"line-gradient":new vi(At.paint_line["line-gradient"])}),layout:Ls},Ps=new(function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.possiblyEvaluate=function(e,r){return r=new ii(Math.floor(r.zoom),{now:r.now,fadeDuration:r.fadeDuration,zoomHistory:r.zoomHistory,transition:r.transition}),t.prototype.possiblyEvaluate.call(this,e,r)},e.prototype.evaluate=function(e,r,n,i){return r=u({},r,{zoom:Math.floor(r.zoom)}),t.prototype.evaluate.call(this,e,r,n,i)},e}(di))(Is.paint.properties["line-width"].specification);Ps.useIntegerZoom=!0;var zs=function(t){function e(e){t.call(this,e,Is)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._handleSpecialPaintPropertyUpdate=function(t){"line-gradient"===t&&this._updateGradient()},e.prototype._updateGradient=function(){this.gradient=mo(this._transitionablePaint._values["line-gradient"].value.expression,"lineProgress"),this.gradientTexture=null},e.prototype.recalculate=function(e,r){t.prototype.recalculate.call(this,e,r),this.paint._values["line-floorwidth"]=Ps.possiblyEvaluate(this._transitioningPaint._values["line-width"].value,e)},e.prototype.createBucket=function(t){return new Cs(t)},e.prototype.queryRadius=function(t){var e=t,r=Os(Za("line-width",this,e),Za("line-gap-width",this,e)),n=Za("line-offset",this,e);return r/2+Math.abs(n)+Ja(this.paint.get("line-translate"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,a,o,s){var l=Ka(t,this.paint.get("line-translate"),this.paint.get("line-translate-anchor"),o.angle,s),c=s/2*Os(this.paint.get("line-width").evaluate(e,r),this.paint.get("line-gap-width").evaluate(e,r)),u=this.paint.get("line-offset").evaluate(e,r);return u&&(n=function(t,e){for(var r=[],n=new i(0,0),a=0;a<t.length;a++){for(var o=t[a],s=[],l=0;l<o.length;l++){var c=o[l],u=o[l+1],f=0===l?n:c.sub(o[l-1])._unit()._perp(),h=l===o.length-1?n:u.sub(c)._unit()._perp(),p=f._add(h)._unit();p._mult(1/(p.x*h.x+p.y*h.y)),s.push(p._mult(e)._add(c))}r.push(s)}return r}(n,u*s)),function(t,e,r){for(var n=0;n<e.length;n++){var i=e[n];if(t.length>=3)for(var a=0;a<i.length;a++)if(Wa(t,i[a]))return!0;if(Ua(t,i,r))return!0}return!1}(l,n,c)},e.prototype.isTileClipped=function(){return!0},e}(xi);function Os(t,e){return e>0?e+2*t:t}var Ds=Ti([{name:"a_pos_offset",components:4,type:"Int16"},{name:"a_data",components:4,type:"Uint16"},{name:"a_pixeloffset",components:4,type:"Int16"}],4),Rs=Ti([{name:"a_projected_pos",components:3,type:"Float32"}],4),Fs=(Ti([{name:"a_fade_opacity",components:1,type:"Uint32"}],4),Ti([{name:"a_placed",components:2,type:"Uint8"},{name:"a_shift",components:2,type:"Float32"}])),Bs=(Ti([{type:"Int16",name:"anchorPointX"},{type:"Int16",name:"anchorPointY"},{type:"Int16",name:"x1"},{type:"Int16",name:"y1"},{type:"Int16",name:"x2"},{type:"Int16",name:"y2"},{type:"Uint32",name:"featureIndex"},{type:"Uint16",name:"sourceLayerIndex"},{type:"Uint16",name:"bucketIndex"}]),Ti([{name:"a_pos",components:2,type:"Int16"},{name:"a_anchor_pos",components:2,type:"Int16"},{name:"a_extrude",components:2,type:"Int16"}],4)),Ns=Ti([{name:"a_pos",components:2,type:"Float32"},{name:"a_radius",components:1,type:"Float32"},{name:"a_flags",components:2,type:"Int16"}],4);function js(t,e,r){return t.sections.forEach((function(t){t.text=function(t,e,r){var n=e.layout.get("text-transform").evaluate(r,{});return"uppercase"===n?t=t.toLocaleUpperCase():"lowercase"===n&&(t=t.toLocaleLowerCase()),ni.applyArabicShaping&&(t=ni.applyArabicShaping(t)),t}(t.text,e,r)})),t}Ti([{name:"triangle",components:3,type:"Uint16"}]),Ti([{type:"Int16",name:"anchorX"},{type:"Int16",name:"anchorY"},{type:"Uint16",name:"glyphStartIndex"},{type:"Uint16",name:"numGlyphs"},{type:"Uint32",name:"vertexStartIndex"},{type:"Uint32",name:"lineStartIndex"},{type:"Uint32",name:"lineLength"},{type:"Uint16",name:"segment"},{type:"Uint16",name:"lowerSize"},{type:"Uint16",name:"upperSize"},{type:"Float32",name:"lineOffsetX"},{type:"Float32",name:"lineOffsetY"},{type:"Uint8",name:"writingMode"},{type:"Uint8",name:"placedOrientation"},{type:"Uint8",name:"hidden"},{type:"Uint32",name:"crossTileID"},{type:"Int16",name:"associatedIconIndex"}]),Ti([{type:"Int16",name:"anchorX"},{type:"Int16",name:"anchorY"},{type:"Int16",name:"rightJustifiedTextSymbolIndex"},{type:"Int16",name:"centerJustifiedTextSymbolIndex"},{type:"Int16",name:"leftJustifiedTextSymbolIndex"},{type:"Int16",name:"verticalPlacedTextSymbolIndex"},{type:"Int16",name:"placedIconSymbolIndex"},{type:"Int16",name:"verticalPlacedIconSymbolIndex"},{type:"Uint16",name:"key"},{type:"Uint16",name:"textBoxStartIndex"},{type:"Uint16",name:"textBoxEndIndex"},{type:"Uint16",name:"verticalTextBoxStartIndex"},{type:"Uint16",name:"verticalTextBoxEndIndex"},{type:"Uint16",name:"iconBoxStartIndex"},{type:"Uint16",name:"iconBoxEndIndex"},{type:"Uint16",name:"verticalIconBoxStartIndex"},{type:"Uint16",name:"verticalIconBoxEndIndex"},{type:"Uint16",name:"featureIndex"},{type:"Uint16",name:"numHorizontalGlyphVertices"},{type:"Uint16",name:"numVerticalGlyphVertices"},{type:"Uint16",name:"numIconVertices"},{type:"Uint16",name:"numVerticalIconVertices"},{type:"Uint16",name:"useRuntimeCollisionCircles"},{type:"Uint32",name:"crossTileID"},{type:"Float32",name:"textBoxScale"},{type:"Float32",components:2,name:"textOffset"},{type:"Float32",name:"collisionCircleDiameter"}]),Ti([{type:"Float32",name:"offsetX"}]),Ti([{type:"Int16",name:"x"},{type:"Int16",name:"y"},{type:"Int16",name:"tileUnitDistanceFromAnchor"}]);var Us={"!":"\ufe15","#":"\uff03",$:"\uff04","%":"\uff05","&":"\uff06","(":"\ufe35",")":"\ufe36","*":"\uff0a","+":"\uff0b",",":"\ufe10","-":"\ufe32",".":"\u30fb","/":"\uff0f",":":"\ufe13",";":"\ufe14","<":"\ufe3f","=":"\uff1d",">":"\ufe40","?":"\ufe16","@":"\uff20","[":"\ufe47","\\":"\uff3c","]":"\ufe48","^":"\uff3e",_:"\ufe33","`":"\uff40","{":"\ufe37","|":"\u2015","}":"\ufe38","~":"\uff5e","\xa2":"\uffe0","\xa3":"\uffe1","\xa5":"\uffe5","\xa6":"\uffe4","\xac":"\uffe2","\xaf":"\uffe3","\u2013":"\ufe32","\u2014":"\ufe31","\u2018":"\ufe43","\u2019":"\ufe44","\u201c":"\ufe41","\u201d":"\ufe42","\u2026":"\ufe19","\u2027":"\u30fb","\u20a9":"\uffe6","\u3001":"\ufe11","\u3002":"\ufe12","\u3008":"\ufe3f","\u3009":"\ufe40","\u300a":"\ufe3d","\u300b":"\ufe3e","\u300c":"\ufe41","\u300d":"\ufe42","\u300e":"\ufe43","\u300f":"\ufe44","\u3010":"\ufe3b","\u3011":"\ufe3c","\u3014":"\ufe39","\u3015":"\ufe3a","\u3016":"\ufe17","\u3017":"\ufe18","\uff01":"\ufe15","\uff08":"\ufe35","\uff09":"\ufe36","\uff0c":"\ufe10","\uff0d":"\ufe32","\uff0e":"\u30fb","\uff1a":"\ufe13","\uff1b":"\ufe14","\uff1c":"\ufe3f","\uff1e":"\ufe40","\uff1f":"\ufe16","\uff3b":"\ufe47","\uff3d":"\ufe48","\uff3f":"\ufe33","\uff5b":"\ufe37","\uff5c":"\u2015","\uff5d":"\ufe38","\uff5f":"\ufe35","\uff60":"\ufe36","\uff61":"\ufe12","\uff62":"\ufe41","\uff63":"\ufe42"},Vs=function(t,e,r,n,i){var a,o,s=8*i-n-1,l=(1<<s)-1,c=l>>1,u=-7,f=r?i-1:0,h=r?-1:1,p=t[e+f];for(f+=h,a=p&(1<<-u)-1,p>>=-u,u+=s;u>0;a=256*a+t[e+f],f+=h,u-=8);for(o=a&(1<<-u)-1,a>>=-u,u+=n;u>0;o=256*o+t[e+f],f+=h,u-=8);if(0===a)a=1-c;else{if(a===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),a-=c}return(p?-1:1)*o*Math.pow(2,a-n)},qs=function(t,e,r,n,i,a){var o,s,l,c=8*a-i-1,u=(1<<c)-1,f=u>>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-1,d=n?1:-1,g=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,o=u):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),(e+=o+f>=1?h/l:h*Math.pow(2,1-f))*l>=2&&(o++,l/=2),o+f>=u?(s=0,o=u):o+f>=1?(s=(e*l-1)*Math.pow(2,i),o+=f):(s=e*Math.pow(2,f-1)*Math.pow(2,i),o=0));i>=8;t[r+p]=255&s,p+=d,s/=256,i-=8);for(o=o<<i|s,c+=i;c>0;t[r+p]=255&o,p+=d,o/=256,c-=8);t[r+p-d]|=128*g},Hs=Gs;function Gs(t){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(t)?t:new Uint8Array(t||0),this.pos=0,this.type=0,this.length=this.buf.length}Gs.Varint=0,Gs.Fixed64=1,Gs.Bytes=2,Gs.Fixed32=5;var Ys="undefined"==typeof TextDecoder?null:new TextDecoder("utf8");function Ws(t){return t.type===Gs.Bytes?t.readVarint()+t.pos:t.pos+1}function Xs(t,e,r){return r?4294967296*e+(t>>>0):4294967296*(e>>>0)+(t>>>0)}function Zs(t,e,r){var n=e<=16383?1:e<=2097151?2:e<=268435455?3:Math.floor(Math.log(e)/(7*Math.LN2));r.realloc(n);for(var i=r.pos-1;i>=t;i--)r.buf[i+n]=r.buf[i]}function Js(t,e){for(var r=0;r<t.length;r++)e.writeVarint(t[r])}function Ks(t,e){for(var r=0;r<t.length;r++)e.writeSVarint(t[r])}function Qs(t,e){for(var r=0;r<t.length;r++)e.writeFloat(t[r])}function $s(t,e){for(var r=0;r<t.length;r++)e.writeDouble(t[r])}function tl(t,e){for(var r=0;r<t.length;r++)e.writeBoolean(t[r])}function el(t,e){for(var r=0;r<t.length;r++)e.writeFixed32(t[r])}function rl(t,e){for(var r=0;r<t.length;r++)e.writeSFixed32(t[r])}function nl(t,e){for(var r=0;r<t.length;r++)e.writeFixed64(t[r])}function il(t,e){for(var r=0;r<t.length;r++)e.writeSFixed64(t[r])}function al(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+16777216*t[e+3]}function ol(t,e,r){t[r]=e,t[r+1]=e>>>8,t[r+2]=e>>>16,t[r+3]=e>>>24}function sl(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+(t[e+3]<<24)}function ll(t,e,r){1===t&&r.readMessage(cl,e)}function cl(t,e,r){if(3===t){var n=r.readMessage(ul,{}),i=n.width,a=n.height,o=n.left,s=n.top,l=n.advance;e.push({id:n.id,bitmap:new ho({width:i+6,height:a+6},n.bitmap),metrics:{width:i,height:a,left:o,top:s,advance:l}})}}function ul(t,e,r){1===t?e.id=r.readVarint():2===t?e.bitmap=r.readBytes():3===t?e.width=r.readVarint():4===t?e.height=r.readVarint():5===t?e.left=r.readSVarint():6===t?e.top=r.readSVarint():7===t&&(e.advance=r.readVarint())}function fl(t){for(var e=0,r=0,n=0,i=t;n<i.length;n+=1){var a=i[n];e+=a.w*a.h,r=Math.max(r,a.w)}t.sort((function(t,e){return e.h-t.h}));for(var o=[{x:0,y:0,w:Math.max(Math.ceil(Math.sqrt(e/.95)),r),h:1/0}],s=0,l=0,c=0,u=t;c<u.length;c+=1)for(var f=u[c],h=o.length-1;h>=0;h--){var p=o[h];if(!(f.w>p.w||f.h>p.h)){if(f.x=p.x,f.y=p.y,l=Math.max(l,f.y+f.h),s=Math.max(s,f.x+f.w),f.w===p.w&&f.h===p.h){var d=o.pop();h<o.length&&(o[h]=d)}else f.h===p.h?(p.x+=f.w,p.w-=f.w):f.w===p.w?(p.y+=f.h,p.h-=f.h):(o.push({x:p.x+f.w,y:p.y,w:p.w-f.w,h:f.h}),p.y+=f.h,p.h-=f.h);break}}return{w:s,h:l,fill:e/(s*l)||0}}Gs.prototype={destroy:function(){this.buf=null},readFields:function(t,e,r){for(r=r||this.length;this.pos<r;){var n=this.readVarint(),i=n>>3,a=this.pos;this.type=7&n,t(i,e,this),this.pos===a&&this.skip(n)}return e},readMessage:function(t,e){return this.readFields(t,e,this.readVarint()+this.pos)},readFixed32:function(){var t=al(this.buf,this.pos);return this.pos+=4,t},readSFixed32:function(){var t=sl(this.buf,this.pos);return this.pos+=4,t},readFixed64:function(){var t=al(this.buf,this.pos)+4294967296*al(this.buf,this.pos+4);return this.pos+=8,t},readSFixed64:function(){var t=al(this.buf,this.pos)+4294967296*sl(this.buf,this.pos+4);return this.pos+=8,t},readFloat:function(){var t=Vs(this.buf,this.pos,!0,23,4);return this.pos+=4,t},readDouble:function(){var t=Vs(this.buf,this.pos,!0,52,8);return this.pos+=8,t},readVarint:function(t){var e,r,n=this.buf;return e=127&(r=n[this.pos++]),r<128?e:(e|=(127&(r=n[this.pos++]))<<7,r<128?e:(e|=(127&(r=n[this.pos++]))<<14,r<128?e:(e|=(127&(r=n[this.pos++]))<<21,r<128?e:function(t,e,r){var n,i,a=r.buf;if(n=(112&(i=a[r.pos++]))>>4,i<128)return Xs(t,n,e);if(n|=(127&(i=a[r.pos++]))<<3,i<128)return Xs(t,n,e);if(n|=(127&(i=a[r.pos++]))<<10,i<128)return Xs(t,n,e);if(n|=(127&(i=a[r.pos++]))<<17,i<128)return Xs(t,n,e);if(n|=(127&(i=a[r.pos++]))<<24,i<128)return Xs(t,n,e);if(n|=(1&(i=a[r.pos++]))<<31,i<128)return Xs(t,n,e);throw new Error("Expected varint not more than 10 bytes")}(e|=(15&(r=n[this.pos]))<<28,t,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var t=this.readVarint();return t%2==1?(t+1)/-2:t/2},readBoolean:function(){return Boolean(this.readVarint())},readString:function(){var t=this.readVarint()+this.pos,e=this.pos;return this.pos=t,t-e>=12&&Ys?function(t,e,r){return Ys.decode(t.subarray(e,r))}(this.buf,e,t):function(t,e,r){for(var n="",i=e;i<r;){var a,o,s,l=t[i],c=null,u=l>239?4:l>223?3:l>191?2:1;if(i+u>r)break;1===u?l<128&&(c=l):2===u?128==(192&(a=t[i+1]))&&(c=(31&l)<<6|63&a)<=127&&(c=null):3===u?(o=t[i+2],128==(192&(a=t[i+1]))&&128==(192&o)&&((c=(15&l)<<12|(63&a)<<6|63&o)<=2047||c>=55296&&c<=57343)&&(c=null)):4===u&&(o=t[i+2],s=t[i+3],128==(192&(a=t[i+1]))&&128==(192&o)&&128==(192&s)&&((c=(15&l)<<18|(63&a)<<12|(63&o)<<6|63&s)<=65535||c>=1114112)&&(c=null)),null===c?(c=65533,u=1):c>65535&&(c-=65536,n+=String.fromCharCode(c>>>10&1023|55296),c=56320|1023&c),n+=String.fromCharCode(c),i+=u}return n}(this.buf,e,t)},readBytes:function(){var t=this.readVarint()+this.pos,e=this.buf.subarray(this.pos,t);return this.pos=t,e},readPackedVarint:function(t,e){if(this.type!==Gs.Bytes)return t.push(this.readVarint(e));var r=Ws(this);for(t=t||[];this.pos<r;)t.push(this.readVarint(e));return t},readPackedSVarint:function(t){if(this.type!==Gs.Bytes)return t.push(this.readSVarint());var e=Ws(this);for(t=t||[];this.pos<e;)t.push(this.readSVarint());return t},readPackedBoolean:function(t){if(this.type!==Gs.Bytes)return t.push(this.readBoolean());var e=Ws(this);for(t=t||[];this.pos<e;)t.push(this.readBoolean());return t},readPackedFloat:function(t){if(this.type!==Gs.Bytes)return t.push(this.readFloat());var e=Ws(this);for(t=t||[];this.pos<e;)t.push(this.readFloat());return t},readPackedDouble:function(t){if(this.type!==Gs.Bytes)return t.push(this.readDouble());var e=Ws(this);for(t=t||[];this.pos<e;)t.push(this.readDouble());return t},readPackedFixed32:function(t){if(this.type!==Gs.Bytes)return t.push(this.readFixed32());var e=Ws(this);for(t=t||[];this.pos<e;)t.push(this.readFixed32());return t},readPackedSFixed32:function(t){if(this.type!==Gs.Bytes)return t.push(this.readSFixed32());var e=Ws(this);for(t=t||[];this.pos<e;)t.push(this.readSFixed32());return t},readPackedFixed64:function(t){if(this.type!==Gs.Bytes)return t.push(this.readFixed64());var e=Ws(this);for(t=t||[];this.pos<e;)t.push(this.readFixed64());return t},readPackedSFixed64:function(t){if(this.type!==Gs.Bytes)return t.push(this.readSFixed64());var e=Ws(this);for(t=t||[];this.pos<e;)t.push(this.readSFixed64());return t},skip:function(t){var e=7&t;if(e===Gs.Varint)for(;this.buf[this.pos++]>127;);else if(e===Gs.Bytes)this.pos=this.readVarint()+this.pos;else if(e===Gs.Fixed32)this.pos+=4;else{if(e!==Gs.Fixed64)throw new Error("Unimplemented type: "+e);this.pos+=8}},writeTag:function(t,e){this.writeVarint(t<<3|e)},realloc:function(t){for(var e=this.length||16;e<this.pos+t;)e*=2;if(e!==this.length){var r=new Uint8Array(e);r.set(this.buf),this.buf=r,this.length=e}},finish:function(){return this.length=this.pos,this.pos=0,this.buf.subarray(0,this.length)},writeFixed32:function(t){this.realloc(4),ol(this.buf,t,this.pos),this.pos+=4},writeSFixed32:function(t){this.realloc(4),ol(this.buf,t,this.pos),this.pos+=4},writeFixed64:function(t){this.realloc(8),ol(this.buf,-1&t,this.pos),ol(this.buf,Math.floor(t*(1/4294967296)),this.pos+4),this.pos+=8},writeSFixed64:function(t){this.realloc(8),ol(this.buf,-1&t,this.pos),ol(this.buf,Math.floor(t*(1/4294967296)),this.pos+4),this.pos+=8},writeVarint:function(t){(t=+t||0)>268435455||t<0?function(t,e){var r,n;if(t>=0?(r=t%4294967296|0,n=t/4294967296|0):(n=~(-t/4294967296),4294967295^(r=~(-t%4294967296))?r=r+1|0:(r=0,n=n+1|0)),t>=0x10000000000000000||t<-0x10000000000000000)throw new Error("Given varint doesn't fit into 10 bytes");e.realloc(10),function(t,e,r){r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,r.buf[r.pos]=127&(t>>>=7)}(r,0,e),function(t,e){var r=(7&t)<<4;e.buf[e.pos++]|=r|((t>>>=3)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t)))))}(n,e)}(t,this):(this.realloc(4),this.buf[this.pos++]=127&t|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=t>>>7&127))))},writeSVarint:function(t){this.writeVarint(t<0?2*-t-1:2*t)},writeBoolean:function(t){this.writeVarint(Boolean(t))},writeString:function(t){t=String(t),this.realloc(4*t.length),this.pos++;var e=this.pos;this.pos=function(t,e,r){for(var n,i,a=0;a<e.length;a++){if((n=e.charCodeAt(a))>55295&&n<57344){if(!i){n>56319||a+1===e.length?(t[r++]=239,t[r++]=191,t[r++]=189):i=n;continue}if(n<56320){t[r++]=239,t[r++]=191,t[r++]=189,i=n;continue}n=i-55296<<10|n-56320|65536,i=null}else i&&(t[r++]=239,t[r++]=191,t[r++]=189,i=null);n<128?t[r++]=n:(n<2048?t[r++]=n>>6|192:(n<65536?t[r++]=n>>12|224:(t[r++]=n>>18|240,t[r++]=n>>12&63|128),t[r++]=n>>6&63|128),t[r++]=63&n|128)}return r}(this.buf,t,this.pos);var r=this.pos-e;r>=128&&Zs(e,r,this),this.pos=e-1,this.writeVarint(r),this.pos+=r},writeFloat:function(t){this.realloc(4),qs(this.buf,t,this.pos,!0,23,4),this.pos+=4},writeDouble:function(t){this.realloc(8),qs(this.buf,t,this.pos,!0,52,8),this.pos+=8},writeBytes:function(t){var e=t.length;this.writeVarint(e),this.realloc(e);for(var r=0;r<e;r++)this.buf[this.pos++]=t[r]},writeRawMessage:function(t,e){this.pos++;var r=this.pos;t(e,this);var n=this.pos-r;n>=128&&Zs(r,n,this),this.pos=r-1,this.writeVarint(n),this.pos+=n},writeMessage:function(t,e,r){this.writeTag(t,Gs.Bytes),this.writeRawMessage(e,r)},writePackedVarint:function(t,e){e.length&&this.writeMessage(t,Js,e)},writePackedSVarint:function(t,e){e.length&&this.writeMessage(t,Ks,e)},writePackedBoolean:function(t,e){e.length&&this.writeMessage(t,tl,e)},writePackedFloat:function(t,e){e.length&&this.writeMessage(t,Qs,e)},writePackedDouble:function(t,e){e.length&&this.writeMessage(t,$s,e)},writePackedFixed32:function(t,e){e.length&&this.writeMessage(t,el,e)},writePackedSFixed32:function(t,e){e.length&&this.writeMessage(t,rl,e)},writePackedFixed64:function(t,e){e.length&&this.writeMessage(t,nl,e)},writePackedSFixed64:function(t,e){e.length&&this.writeMessage(t,il,e)},writeBytesField:function(t,e){this.writeTag(t,Gs.Bytes),this.writeBytes(e)},writeFixed32Field:function(t,e){this.writeTag(t,Gs.Fixed32),this.writeFixed32(e)},writeSFixed32Field:function(t,e){this.writeTag(t,Gs.Fixed32),this.writeSFixed32(e)},writeFixed64Field:function(t,e){this.writeTag(t,Gs.Fixed64),this.writeFixed64(e)},writeSFixed64Field:function(t,e){this.writeTag(t,Gs.Fixed64),this.writeSFixed64(e)},writeVarintField:function(t,e){this.writeTag(t,Gs.Varint),this.writeVarint(e)},writeSVarintField:function(t,e){this.writeTag(t,Gs.Varint),this.writeSVarint(e)},writeStringField:function(t,e){this.writeTag(t,Gs.Bytes),this.writeString(e)},writeFloatField:function(t,e){this.writeTag(t,Gs.Fixed32),this.writeFloat(e)},writeDoubleField:function(t,e){this.writeTag(t,Gs.Fixed64),this.writeDouble(e)},writeBooleanField:function(t,e){this.writeVarintField(t,Boolean(e))}};var hl=function(t,e){var r=e.pixelRatio,n=e.version,i=e.stretchX,a=e.stretchY,o=e.content;this.paddedRect=t,this.pixelRatio=r,this.stretchX=i,this.stretchY=a,this.content=o,this.version=n},pl={tl:{configurable:!0},br:{configurable:!0},tlbr:{configurable:!0},displaySize:{configurable:!0}};pl.tl.get=function(){return[this.paddedRect.x+1,this.paddedRect.y+1]},pl.br.get=function(){return[this.paddedRect.x+this.paddedRect.w-1,this.paddedRect.y+this.paddedRect.h-1]},pl.tlbr.get=function(){return this.tl.concat(this.br)},pl.displaySize.get=function(){return[(this.paddedRect.w-2)/this.pixelRatio,(this.paddedRect.h-2)/this.pixelRatio]},Object.defineProperties(hl.prototype,pl);var dl=function(t,e){var r={},n={};this.haveRenderCallbacks=[];var i=[];this.addImages(t,r,i),this.addImages(e,n,i);var a=fl(i),o=new po({width:a.w||1,height:a.h||1});for(var s in t){var l=t[s],c=r[s].paddedRect;po.copy(l.data,o,{x:0,y:0},{x:c.x+1,y:c.y+1},l.data)}for(var u in e){var f=e[u],h=n[u].paddedRect,p=h.x+1,d=h.y+1,g=f.data.width,m=f.data.height;po.copy(f.data,o,{x:0,y:0},{x:p,y:d},f.data),po.copy(f.data,o,{x:0,y:m-1},{x:p,y:d-1},{width:g,height:1}),po.copy(f.data,o,{x:0,y:0},{x:p,y:d+m},{width:g,height:1}),po.copy(f.data,o,{x:g-1,y:0},{x:p-1,y:d},{width:1,height:m}),po.copy(f.data,o,{x:0,y:0},{x:p+g,y:d},{width:1,height:m})}this.image=o,this.iconPositions=r,this.patternPositions=n};dl.prototype.addImages=function(t,e,r){for(var n in t){var i=t[n],a={x:0,y:0,w:i.data.width+2,h:i.data.height+2};r.push(a),e[n]=new hl(a,i),i.hasRenderCallback&&this.haveRenderCallbacks.push(n)}},dl.prototype.patchUpdatedImages=function(t,e){for(var r in t.dispatchRenderCallbacks(this.haveRenderCallbacks),t.updatedImages)this.patchUpdatedImage(this.iconPositions[r],t.getImage(r),e),this.patchUpdatedImage(this.patternPositions[r],t.getImage(r),e)},dl.prototype.patchUpdatedImage=function(t,e,r){if(t&&e&&t.version!==e.version){t.version=e.version;var n=t.tl;r.update(e.data,void 0,{x:n[0],y:n[1]})}},Dn("ImagePosition",hl),Dn("ImageAtlas",dl);var gl={horizontal:1,vertical:2,horizontalOnly:3},ml=function(){this.scale=1,this.fontStack="",this.imageName=null};ml.forText=function(t,e){var r=new ml;return r.scale=t||1,r.fontStack=e,r},ml.forImage=function(t){var e=new ml;return e.imageName=t,e};var vl=function(){this.text="",this.sectionIndex=[],this.sections=[],this.imageSectionID=null};function yl(t,e,r,n,i,a,o,s,l,c,u,f,h,p,d,g){var m,v=vl.fromFeature(t,i);f===gl.vertical&&v.verticalizePunctuation();var y=ni.processBidirectionalText,x=ni.processStyledBidirectionalText;if(y&&1===v.sections.length){m=[];for(var b=0,_=y(v.toString(),Ml(v,c,a,e,n,p,d));b<_.length;b+=1){var w=_[b],T=new vl;T.text=w,T.sections=v.sections;for(var k=0;k<w.length;k++)T.sectionIndex.push(0);m.push(T)}}else if(x){m=[];for(var M=0,A=x(v.text,v.sectionIndex,Ml(v,c,a,e,n,p,d));M<A.length;M+=1){var S=A[M],E=new vl;E.text=S[0],E.sectionIndex=S[1],E.sections=v.sections,m.push(E)}}else m=function(t,e){for(var r=[],n=t.text,i=0,a=0,o=e;a<o.length;a+=1){var s=o[a];r.push(t.substring(i,s)),i=s}return i<n.length&&r.push(t.substring(i,n.length)),r}(v,Ml(v,c,a,e,n,p,d));var C=[],L={positionedLines:C,text:v.toString(),top:u[1],bottom:u[1],left:u[0],right:u[0],writingMode:f,iconsInText:!1,verticalizable:!1};return function(t,e,r,n,i,a,o,s,l,c,u,f){for(var h=0,p=-17,d=0,g=0,m="right"===s?1:"left"===s?0:.5,v=0,y=0,x=i;y<x.length;y+=1){var b=x[y];b.trim();var _=b.getMaxScale(),w=24*(_-1),T={positionedGlyphs:[],lineOffset:0};t.positionedLines[v]=T;var k=T.positionedGlyphs,M=0;if(b.length()){for(var A=0;A<b.length();A++){var S=b.getSection(A),E=b.getSectionIndex(A),C=b.getCharCode(A),L=0,I=null,P=null,z=null,O=24,D=!(l===gl.horizontal||!u&&!Hn(C)||u&&(xl[C]||(H=C,Vn.Arabic(H)||Vn["Arabic Supplement"](H)||Vn["Arabic Extended-A"](H)||Vn["Arabic Presentation Forms-A"](H)||Vn["Arabic Presentation Forms-B"](H))));if(S.imageName){var R=n[S.imageName];if(!R)continue;z=S.imageName,t.iconsInText=t.iconsInText||!0,P=R.paddedRect;var F=R.displaySize;S.scale=24*S.scale/f,L=w+(24-F[1]*S.scale),O=(I={width:F[0],height:F[1],left:1,top:-3,advance:D?F[1]:F[0]}).advance;var B=D?F[0]*S.scale-24*_:F[1]*S.scale-24*_;B>0&&B>M&&(M=B)}else{var N=r[S.fontStack],j=N&&N[C];if(j&&j.rect)P=j.rect,I=j.metrics;else{var U=e[S.fontStack],V=U&&U[C];if(!V)continue;I=V.metrics}L=24*(_-S.scale)}D?(t.verticalizable=!0,k.push({glyph:C,imageName:z,x:h,y:p+L,vertical:D,scale:S.scale,fontStack:S.fontStack,sectionIndex:E,metrics:I,rect:P}),h+=O*S.scale+c):(k.push({glyph:C,imageName:z,x:h,y:p+L,vertical:D,scale:S.scale,fontStack:S.fontStack,sectionIndex:E,metrics:I,rect:P}),h+=I.advance*S.scale+c)}0!==k.length&&(d=Math.max(h-c,d),Sl(k,0,k.length-1,m,M)),h=0;var q=a*_+M;T.lineOffset=Math.max(M,w),p+=q,g=Math.max(q,g),++v}else p+=a,++v}var H,G=p- -17,Y=Al(o),W=Y.horizontalAlign,X=Y.verticalAlign;(function(t,e,r,n,i,a,o,s,l){var c,u=(e-r)*i;c=a!==o?-s*n- -17:(-n*l+.5)*o;for(var f=0,h=t;f<h.length;f+=1)for(var p=0,d=h[f].positionedGlyphs;p<d.length;p+=1){var g=d[p];g.x+=u,g.y+=c}})(t.positionedLines,m,W,X,d,g,a,G,i.length),t.top+=-X*G,t.bottom=t.top+G,t.left+=-W*d,t.right=t.left+d}(L,e,r,n,m,o,s,l,f,c,h,g),!function(t){for(var e=0,r=t;e<r.length;e+=1)if(0!==r[e].positionedGlyphs.length)return!1;return!0}(C)&&L}vl.fromFeature=function(t,e){for(var r=new vl,n=0;n<t.sections.length;n++){var i=t.sections[n];i.image?r.addImageSection(i):r.addTextSection(i,e)}return r},vl.prototype.length=function(){return this.text.length},vl.prototype.getSection=function(t){return this.sections[this.sectionIndex[t]]},vl.prototype.getSectionIndex=function(t){return this.sectionIndex[t]},vl.prototype.getCharCode=function(t){return this.text.charCodeAt(t)},vl.prototype.verticalizePunctuation=function(){this.text=function(t){for(var e="",r=0;r<t.length;r++){var n=t.charCodeAt(r+1)||null,i=t.charCodeAt(r-1)||null;e+=n&&Gn(n)&&!Us[t[r+1]]||i&&Gn(i)&&!Us[t[r-1]]||!Us[t[r]]?t[r]:Us[t[r]]}return e}(this.text)},vl.prototype.trim=function(){for(var t=0,e=0;e<this.text.length&&xl[this.text.charCodeAt(e)];e++)t++;for(var r=this.text.length,n=this.text.length-1;n>=0&&n>=t&&xl[this.text.charCodeAt(n)];n--)r--;this.text=this.text.substring(t,r),this.sectionIndex=this.sectionIndex.slice(t,r)},vl.prototype.substring=function(t,e){var r=new vl;return r.text=this.text.substring(t,e),r.sectionIndex=this.sectionIndex.slice(t,e),r.sections=this.sections,r},vl.prototype.toString=function(){return this.text},vl.prototype.getMaxScale=function(){var t=this;return this.sectionIndex.reduce((function(e,r){return Math.max(e,t.sections[r].scale)}),0)},vl.prototype.addTextSection=function(t,e){this.text+=t.text,this.sections.push(ml.forText(t.scale,t.fontStack||e));for(var r=this.sections.length-1,n=0;n<t.text.length;++n)this.sectionIndex.push(r)},vl.prototype.addImageSection=function(t){var e=t.image?t.image.name:"";if(0!==e.length){var r=this.getNextImageSectionCharCode();r?(this.text+=String.fromCharCode(r),this.sections.push(ml.forImage(e)),this.sectionIndex.push(this.sections.length-1)):_("Reached maximum number of images 6401")}else _("Can't add FormattedSection with an empty image.")},vl.prototype.getNextImageSectionCharCode=function(){return this.imageSectionID?this.imageSectionID>=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)};var xl={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},bl={};function _l(t,e,r,n,i,a){if(e.imageName){var o=n[e.imageName];return o?o.displaySize[0]*e.scale*24/a+i:0}var s=r[e.fontStack],l=s&&s[t];return l?l.metrics.advance*e.scale+i:0}function wl(t,e,r,n){var i=Math.pow(t-e,2);return n?t<e?i/2:2*i:i+Math.abs(r)*r}function Tl(t,e,r){var n=0;return 10===t&&(n-=1e4),r&&(n+=150),40!==t&&65288!==t||(n+=50),41!==e&&65289!==e||(n+=50),n}function kl(t,e,r,n,i,a){for(var o=null,s=wl(e,r,i,a),l=0,c=n;l<c.length;l+=1){var u=c[l],f=wl(e-u.x,r,i,a)+u.badness;f<=s&&(o=u,s=f)}return{index:t,x:e,priorBreak:o,badness:s}}function Ml(t,e,r,n,i,a,o){if("point"!==a)return[];if(!t)return[];for(var s,l=[],c=function(t,e,r,n,i,a){for(var o=0,s=0;s<t.length();s++){var l=t.getSection(s);o+=_l(t.getCharCode(s),l,n,i,e,a)}return o/Math.max(1,Math.ceil(o/r))}(t,e,r,n,i,o),u=t.text.indexOf("\u200b")>=0,f=0,h=0;h<t.length();h++){var p=t.getSection(h),d=t.getCharCode(h);if(xl[d]||(f+=_l(d,p,n,i,e,o)),h<t.length()-1){var g=!((s=d)<11904||!(Vn["Bopomofo Extended"](s)||Vn.Bopomofo(s)||Vn["CJK Compatibility Forms"](s)||Vn["CJK Compatibility Ideographs"](s)||Vn["CJK Compatibility"](s)||Vn["CJK Radicals Supplement"](s)||Vn["CJK Strokes"](s)||Vn["CJK Symbols and Punctuation"](s)||Vn["CJK Unified Ideographs Extension A"](s)||Vn["CJK Unified Ideographs"](s)||Vn["Enclosed CJK Letters and Months"](s)||Vn["Halfwidth and Fullwidth Forms"](s)||Vn.Hiragana(s)||Vn["Ideographic Description Characters"](s)||Vn["Kangxi Radicals"](s)||Vn["Katakana Phonetic Extensions"](s)||Vn.Katakana(s)||Vn["Vertical Forms"](s)||Vn["Yi Radicals"](s)||Vn["Yi Syllables"](s)));(bl[d]||g||p.imageName)&&l.push(kl(h+1,f,c,l,Tl(d,t.getCharCode(h+1),g&&u),!1))}}return function t(e){return e?t(e.priorBreak).concat(e.index):[]}(kl(t.length(),f,c,l,0,!0))}function Al(t){var e=.5,r=.5;switch(t){case"right":case"top-right":case"bottom-right":e=1;break;case"left":case"top-left":case"bottom-left":e=0}switch(t){case"bottom":case"bottom-right":case"bottom-left":r=1;break;case"top":case"top-right":case"top-left":r=0}return{horizontalAlign:e,verticalAlign:r}}function Sl(t,e,r,n,i){if(n||i)for(var a=t[r],o=(t[r].x+a.metrics.advance*a.scale)*n,s=e;s<=r;s++)t[s].x-=o,t[s].y+=i}function El(t,e,r,n,i,a){var o,s=t.image;if(s.content){var l=s.content,c=s.pixelRatio||1;o=[l[0]/c,l[1]/c,s.displaySize[0]-l[2]/c,s.displaySize[1]-l[3]/c]}var u,f,h,p,d=e.left*a,g=e.right*a;"width"===r||"both"===r?(p=i[0]+d-n[3],f=i[0]+g+n[1]):f=(p=i[0]+(d+g-s.displaySize[0])/2)+s.displaySize[0];var m=e.top*a,v=e.bottom*a;return"height"===r||"both"===r?(u=i[1]+m-n[0],h=i[1]+v+n[2]):h=(u=i[1]+(m+v-s.displaySize[1])/2)+s.displaySize[1],{image:s,top:u,right:f,bottom:h,left:p,collisionPadding:o}}bl[10]=!0,bl[32]=!0,bl[38]=!0,bl[40]=!0,bl[41]=!0,bl[43]=!0,bl[45]=!0,bl[47]=!0,bl[173]=!0,bl[183]=!0,bl[8203]=!0,bl[8208]=!0,bl[8211]=!0,bl[8231]=!0;var Cl=function(t){function e(e,r,n,i){t.call(this,e,r),this.angle=n,void 0!==i&&(this.segment=i)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.clone=function(){return new e(this.x,this.y,this.angle,this.segment)},e}(i);function Ll(t,e){var r=e.expression;if("constant"===r.kind)return{kind:"constant",layoutSize:r.evaluate(new ii(t+1))};if("source"===r.kind)return{kind:"source"};for(var n=r.zoomStops,i=r.interpolationType,a=0;a<n.length&&n[a]<=t;)a++;for(var o=a=Math.max(0,a-1);o<n.length&&n[o]<t+1;)o++;o=Math.min(n.length-1,o);var s=n[a],l=n[o];return"composite"===r.kind?{kind:"composite",minZoom:s,maxZoom:l,interpolationType:i}:{kind:"camera",minZoom:s,maxZoom:l,minSize:r.evaluate(new ii(s)),maxSize:r.evaluate(new ii(l)),interpolationType:i}}function Il(t,e,r){var n=e.uSize,i=r.lowerSize;return"source"===t.kind?i/128:"composite"===t.kind?Ue(i/128,r.upperSize/128,e.uSizeT):n}function Pl(t,e){var r=0,n=0;if("constant"===t.kind)n=t.layoutSize;else if("source"!==t.kind){var i=t.interpolationType,a=i?l(rr.interpolationFactor(i,e,t.minZoom,t.maxZoom),0,1):0;"camera"===t.kind?n=Ue(t.minSize,t.maxSize,a):r=a}return{uSizeT:r,uSize:n}}Dn("Anchor",Cl);var zl=Object.freeze({__proto__:null,getSizeData:Ll,evaluateSizeForFeature:Il,evaluateSizeForZoom:Pl,SIZE_PACK_FACTOR:128});function Ol(t,e,r,n,i){if(void 0===e.segment)return!0;for(var a=e,o=e.segment+1,s=0;s>-r/2;){if(--o<0)return!1;s-=t[o].dist(a),a=t[o]}s+=t[o].dist(t[o+1]),o++;for(var l=[],c=0;s<r/2;){var u=t[o],f=t[o+1];if(!f)return!1;var h=t[o-1].angleTo(u)-u.angleTo(f);for(h=Math.abs((h+3*Math.PI)%(2*Math.PI)-Math.PI),l.push({distance:s,angleDelta:h}),c+=h;s-l[0].distance>n;)c-=l.shift().angleDelta;if(c>i)return!1;o++,s+=u.dist(f)}return!0}function Dl(t){for(var e=0,r=0;r<t.length-1;r++)e+=t[r].dist(t[r+1]);return e}function Rl(t,e,r){return t?.6*e*r:0}function Fl(t,e){return Math.max(t?t.right-t.left:0,e?e.right-e.left:0)}function Bl(t,e,r,n,i,a){for(var o=Rl(r,i,a),s=Fl(r,n)*a,l=0,c=Dl(t)/2,u=0;u<t.length-1;u++){var f=t[u],h=t[u+1],p=f.dist(h);if(l+p>c){var d=(c-l)/p,g=Ue(f.x,h.x,d),m=Ue(f.y,h.y,d),v=new Cl(g,m,h.angleTo(f),u);return v._round(),!o||Ol(t,v,s,o,e)?v:void 0}l+=p}}function Nl(t,e,r,n,i,a,o,s,l){var c=Rl(n,a,o),u=Fl(n,i),f=u*o,h=0===t[0].x||t[0].x===l||0===t[0].y||t[0].y===l;return e-f<e/4&&(e=f+e/4),function t(e,r,n,i,a,o,s,l,c){for(var u=o/2,f=Dl(e),h=0,p=r-n,d=[],g=0;g<e.length-1;g++){for(var m=e[g],v=e[g+1],y=m.dist(v),x=v.angleTo(m);p+n<h+y;){var b=((p+=n)-h)/y,_=Ue(m.x,v.x,b),w=Ue(m.y,v.y,b);if(_>=0&&_<c&&w>=0&&w<c&&p-u>=0&&p+u<=f){var T=new Cl(_,w,x,g);T._round(),i&&!Ol(e,T,o,i,a)||d.push(T)}}h+=y}return l||d.length||s||(d=t(e,h/2,n,i,a,o,s,!0,c)),d}(t,h?e/2*s%e:(u/2+2*a)*o*s%e,e,c,r,f,h,!1,l)}function jl(t,e,r,n,a){for(var o=[],s=0;s<t.length;s++)for(var l=t[s],c=void 0,u=0;u<l.length-1;u++){var f=l[u],h=l[u+1];f.x<e&&h.x<e||(f.x<e?f=new i(e,f.y+(e-f.x)/(h.x-f.x)*(h.y-f.y))._round():h.x<e&&(h=new i(e,f.y+(e-f.x)/(h.x-f.x)*(h.y-f.y))._round()),f.y<r&&h.y<r||(f.y<r?f=new i(f.x+(r-f.y)/(h.y-f.y)*(h.x-f.x),r)._round():h.y<r&&(h=new i(f.x+(r-f.y)/(h.y-f.y)*(h.x-f.x),r)._round()),f.x>=n&&h.x>=n||(f.x>=n?f=new i(n,f.y+(n-f.x)/(h.x-f.x)*(h.y-f.y))._round():h.x>=n&&(h=new i(n,f.y+(n-f.x)/(h.x-f.x)*(h.y-f.y))._round()),f.y>=a&&h.y>=a||(f.y>=a?f=new i(f.x+(a-f.y)/(h.y-f.y)*(h.x-f.x),a)._round():h.y>=a&&(h=new i(f.x+(a-f.y)/(h.y-f.y)*(h.x-f.x),a)._round()),c&&f.equals(c[c.length-1])||o.push(c=[f]),c.push(h)))))}return o}function Ul(t,e,r,n){var a=[],o=t.image,s=o.pixelRatio,l=o.paddedRect.w-2,c=o.paddedRect.h-2,u=t.right-t.left,f=t.bottom-t.top,h=o.stretchX||[[0,l]],p=o.stretchY||[[0,c]],d=function(t,e){return t+e[1]-e[0]},g=h.reduce(d,0),m=p.reduce(d,0),v=l-g,y=c-m,x=0,b=g,_=0,w=m,T=0,k=v,M=0,A=y;if(o.content&&n){var S=o.content;x=Vl(h,0,S[0]),_=Vl(p,0,S[1]),b=Vl(h,S[0],S[2]),w=Vl(p,S[1],S[3]),T=S[0]-x,M=S[1]-_,k=S[2]-S[0]-b,A=S[3]-S[1]-w}var E=function(n,a,l,c){var h=Hl(n.stretch-x,b,u,t.left),p=Gl(n.fixed-T,k,n.stretch,g),d=Hl(a.stretch-_,w,f,t.top),v=Gl(a.fixed-M,A,a.stretch,m),y=Hl(l.stretch-x,b,u,t.left),S=Gl(l.fixed-T,k,l.stretch,g),E=Hl(c.stretch-_,w,f,t.top),C=Gl(c.fixed-M,A,c.stretch,m),L=new i(h,d),I=new i(y,d),P=new i(y,E),z=new i(h,E),O=new i(p/s,v/s),D=new i(S/s,C/s),R=e*Math.PI/180;if(R){var F=Math.sin(R),B=Math.cos(R),N=[B,-F,F,B];L._matMult(N),I._matMult(N),z._matMult(N),P._matMult(N)}var j=n.stretch+n.fixed,U=a.stretch+a.fixed;return{tl:L,tr:I,bl:z,br:P,tex:{x:o.paddedRect.x+1+j,y:o.paddedRect.y+1+U,w:l.stretch+l.fixed-j,h:c.stretch+c.fixed-U},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:O,pixelOffsetBR:D,minFontScaleX:k/s/u,minFontScaleY:A/s/f,isSDF:r}};if(n&&(o.stretchX||o.stretchY))for(var C=ql(h,v,g),L=ql(p,y,m),I=0;I<C.length-1;I++)for(var P=C[I],z=C[I+1],O=0;O<L.length-1;O++)a.push(E(P,L[O],z,L[O+1]));else a.push(E({fixed:0,stretch:-1},{fixed:0,stretch:-1},{fixed:0,stretch:l+1},{fixed:0,stretch:c+1}));return a}function Vl(t,e,r){for(var n=0,i=0,a=t;i<a.length;i+=1){var o=a[i];n+=Math.max(e,Math.min(r,o[1]))-Math.max(e,Math.min(r,o[0]))}return n}function ql(t,e,r){for(var n=[{fixed:-1,stretch:0}],i=0,a=t;i<a.length;i+=1){var o=a[i],s=o[0],l=o[1],c=n[n.length-1];n.push({fixed:s-c.stretch,stretch:c.stretch}),n.push({fixed:s-c.stretch,stretch:c.stretch+(l-s)})}return n.push({fixed:e+1,stretch:r}),n}function Hl(t,e,r,n){return t/e*r+n}function Gl(t,e,r,n){return t-e*r/n}var Yl=function(t,e,r,n,a,o,s,l,c,u){if(this.boxStartIndex=t.length,c){var f=o.top,h=o.bottom,p=o.collisionPadding;p&&(f-=p[1],h+=p[3]);var d=h-f;d>0&&(d=Math.max(10,d),this.circleDiameter=d)}else{var g=o.top*s-l,m=o.bottom*s+l,v=o.left*s-l,y=o.right*s+l,x=o.collisionPadding;if(x&&(v-=x[0]*s,g-=x[1]*s,y+=x[2]*s,m+=x[3]*s),u){var b=new i(v,g),_=new i(y,g),w=new i(v,m),T=new i(y,m),k=u*Math.PI/180;b._rotate(k),_._rotate(k),w._rotate(k),T._rotate(k),v=Math.min(b.x,_.x,w.x,T.x),y=Math.max(b.x,_.x,w.x,T.x),g=Math.min(b.y,_.y,w.y,T.y),m=Math.max(b.y,_.y,w.y,T.y)}t.emplaceBack(e.x,e.y,v,g,y,m,r,n,a)}this.boxEndIndex=t.length},Wl=function(t,e){if(void 0===t&&(t=[]),void 0===e&&(e=Xl),this.data=t,this.length=this.data.length,this.compare=e,this.length>0)for(var r=(this.length>>1)-1;r>=0;r--)this._down(r)};function Xl(t,e){return t<e?-1:t>e?1:0}function Zl(t,e,r){void 0===e&&(e=1),void 0===r&&(r=!1);for(var n=1/0,a=1/0,o=-1/0,s=-1/0,l=t[0],c=0;c<l.length;c++){var u=l[c];(!c||u.x<n)&&(n=u.x),(!c||u.y<a)&&(a=u.y),(!c||u.x>o)&&(o=u.x),(!c||u.y>s)&&(s=u.y)}var f=Math.min(o-n,s-a),h=f/2,p=new Wl([],Jl);if(0===f)return new i(n,a);for(var d=n;d<o;d+=f)for(var g=a;g<s;g+=f)p.push(new Kl(d+h,g+h,h,t));for(var m=function(t){for(var e=0,r=0,n=0,i=t[0],a=0,o=i.length,s=o-1;a<o;s=a++){var l=i[a],c=i[s],u=l.x*c.y-c.x*l.y;r+=(l.x+c.x)*u,n+=(l.y+c.y)*u,e+=3*u}return new Kl(r/e,n/e,0,t)}(t),v=p.length;p.length;){var y=p.pop();(y.d>m.d||!m.d)&&(m=y,r&&console.log("found best %d after %d probes",Math.round(1e4*y.d)/1e4,v)),y.max-m.d<=e||(p.push(new Kl(y.p.x-(h=y.h/2),y.p.y-h,h,t)),p.push(new Kl(y.p.x+h,y.p.y-h,h,t)),p.push(new Kl(y.p.x-h,y.p.y+h,h,t)),p.push(new Kl(y.p.x+h,y.p.y+h,h,t)),v+=4)}return r&&(console.log("num probes: "+v),console.log("best distance: "+m.d)),m.p}function Jl(t,e){return e.max-t.max}function Kl(t,e,r,n){this.p=new i(t,e),this.h=r,this.d=function(t,e){for(var r=!1,n=1/0,i=0;i<e.length;i++)for(var a=e[i],o=0,s=a.length,l=s-1;o<s;l=o++){var c=a[o],u=a[l];c.y>t.y!=u.y>t.y&&t.x<(u.x-c.x)*(t.y-c.y)/(u.y-c.y)+c.x&&(r=!r),n=Math.min(n,Ga(t,c,u))}return(r?1:-1)*Math.sqrt(n)}(this.p,n),this.max=this.d+this.h*Math.SQRT2}Wl.prototype.push=function(t){this.data.push(t),this.length++,this._up(this.length-1)},Wl.prototype.pop=function(){if(0!==this.length){var t=this.data[0],e=this.data.pop();return this.length--,this.length>0&&(this.data[0]=e,this._down(0)),t}},Wl.prototype.peek=function(){return this.data[0]},Wl.prototype._up=function(t){for(var e=this.data,r=this.compare,n=e[t];t>0;){var i=t-1>>1,a=e[i];if(r(n,a)>=0)break;e[t]=a,t=i}e[t]=n},Wl.prototype._down=function(t){for(var e=this.data,r=this.compare,n=this.length>>1,i=e[t];t<n;){var a=1+(t<<1),o=e[a],s=a+1;if(s<this.length&&r(e[s],o)<0&&(a=s,o=e[s]),r(o,i)>=0)break;e[t]=o,t=a}e[t]=i};var Ql=Number.POSITIVE_INFINITY;function $l(t,e){return e[1]!==Ql?function(t,e,r){var n=0,i=0;switch(e=Math.abs(e),r=Math.abs(r),t){case"top-right":case"top-left":case"top":i=r-7;break;case"bottom-right":case"bottom-left":case"bottom":i=7-r}switch(t){case"top-right":case"bottom-right":case"right":n=-e;break;case"top-left":case"bottom-left":case"left":n=e}return[n,i]}(t,e[0],e[1]):function(t,e){var r=0,n=0;e<0&&(e=0);var i=e/Math.sqrt(2);switch(t){case"top-right":case"top-left":n=i-7;break;case"bottom-right":case"bottom-left":n=7-i;break;case"bottom":n=7-e;break;case"top":n=e-7}switch(t){case"top-right":case"bottom-right":r=-i;break;case"top-left":case"bottom-left":r=i;break;case"left":r=e;break;case"right":r=-e}return[r,n]}(t,e[0])}function tc(t){switch(t){case"right":case"top-right":case"bottom-right":return"right";case"left":case"top-left":case"bottom-left":return"left"}return"center"}function ec(t,e,r,n,a,o,s,l,c,u,f,h,p,d,g){var m=function(t,e,r,n,a,o,s,l){for(var c=n.layout.get("text-rotate").evaluate(o,{})*Math.PI/180,u=[],f=0,h=e.positionedLines;f<h.length;f+=1)for(var p=h[f],d=0,g=p.positionedGlyphs;d<g.length;d+=1){var m=g[d];if(m.rect){var v=m.rect||{},y=4,x=!0,b=1,_=0,w=(a||l)&&m.vertical,T=m.metrics.advance*m.scale/2;if(l&&e.verticalizable&&(_=p.lineOffset/2-(m.imageName?-(24-m.metrics.width*m.scale)/2:24*(m.scale-1))),m.imageName){var k=s[m.imageName];x=k.sdf,y=1/(b=k.pixelRatio)}var M=a?[m.x+T,m.y]:[0,0],A=a?[0,0]:[m.x+T+r[0],m.y+r[1]-_],S=[0,0];w&&(S=A,A=[0,0]);var E=(m.metrics.left-y)*m.scale-T+A[0],C=(-m.metrics.top-y)*m.scale+A[1],L=E+v.w*m.scale/b,I=C+v.h*m.scale/b,P=new i(E,C),z=new i(L,C),O=new i(E,I),D=new i(L,I);if(w){var R=new i(-T,T- -17),F=-Math.PI/2,B=12-T,N=new i(22-B,-(m.imageName?B:0)),j=new(Function.prototype.bind.apply(i,[null].concat(S)));P._rotateAround(F,R)._add(N)._add(j),z._rotateAround(F,R)._add(N)._add(j),O._rotateAround(F,R)._add(N)._add(j),D._rotateAround(F,R)._add(N)._add(j)}if(c){var U=Math.sin(c),V=Math.cos(c),q=[V,-U,U,V];P._matMult(q),z._matMult(q),O._matMult(q),D._matMult(q)}var H=new i(0,0),G=new i(0,0);u.push({tl:P,tr:z,bl:O,br:D,tex:v,writingMode:e.writingMode,glyphOffset:M,sectionIndex:m.sectionIndex,isSDF:x,pixelOffsetTL:H,pixelOffsetBR:G,minFontScaleX:0,minFontScaleY:0})}}return u}(0,r,l,a,o,s,n,t.allowVerticalPlacement),v=t.textSizeData,y=null;"source"===v.kind?(y=[128*a.layout.get("text-size").evaluate(s,{})])[0]>32640&&_(t.layerIds[0]+': Value for "text-size" is >= 255. Reduce your "text-size".'):"composite"===v.kind&&((y=[128*d.compositeTextSizes[0].evaluate(s,{},g),128*d.compositeTextSizes[1].evaluate(s,{},g)])[0]>32640||y[1]>32640)&&_(t.layerIds[0]+': Value for "text-size" is >= 255. Reduce your "text-size".'),t.addSymbols(t.text,m,y,l,o,s,u,e,c.lineStartIndex,c.lineLength,p,g);for(var x=0,b=f;x<b.length;x+=1)h[b[x]]=t.text.placedSymbolArray.length-1;return 4*m.length}function rc(t){for(var e in t)return t[e];return null}function nc(t,e,r,n){var i=t.compareText;if(e in i){for(var a=i[e],o=a.length-1;o>=0;o--)if(n.dist(a[o])<r)return!0}else i[e]=[];return i[e].push(n),!1}var ic=gs.VectorTileFeature.types,ac=[{name:"a_fade_opacity",components:1,type:"Uint8",offset:0}];function oc(t,e,r,n,i,a,o,s,l,c,u,f,h){var p=s?Math.min(32640,Math.round(s[0])):0,d=s?Math.min(32640,Math.round(s[1])):0;t.emplaceBack(e,r,Math.round(32*n),Math.round(32*i),a,o,(p<<1)+(l?1:0),d,16*c,16*u,256*f,256*h)}function sc(t,e,r){t.emplaceBack(e.x,e.y,r),t.emplaceBack(e.x,e.y,r),t.emplaceBack(e.x,e.y,r),t.emplaceBack(e.x,e.y,r)}function lc(t){for(var e=0,r=t.sections;e<r.length;e+=1)if(Xn(r[e].text))return!0;return!1}var cc=function(t){this.layoutVertexArray=new Li,this.indexArray=new Fi,this.programConfigurations=t,this.segments=new ia,this.dynamicLayoutVertexArray=new Ii,this.opacityVertexArray=new Pi,this.placedSymbolArray=new Ji};cc.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length&&0===this.indexArray.length&&0===this.dynamicLayoutVertexArray.length&&0===this.opacityVertexArray.length},cc.prototype.upload=function(t,e,r,n){this.isEmpty()||(r&&(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,Ds.members),this.indexBuffer=t.createIndexBuffer(this.indexArray,e),this.dynamicLayoutVertexBuffer=t.createVertexBuffer(this.dynamicLayoutVertexArray,Rs.members,!0),this.opacityVertexBuffer=t.createVertexBuffer(this.opacityVertexArray,ac,!0),this.opacityVertexBuffer.itemSize=1),(r||n)&&this.programConfigurations.upload(t))},cc.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.dynamicLayoutVertexBuffer.destroy(),this.opacityVertexBuffer.destroy())},Dn("SymbolBuffers",cc);var uc=function(t,e,r){this.layoutVertexArray=new t,this.layoutAttributes=e,this.indexArray=new r,this.segments=new ia,this.collisionVertexArray=new Ri};uc.prototype.upload=function(t){this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,this.layoutAttributes),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.collisionVertexBuffer=t.createVertexBuffer(this.collisionVertexArray,Fs.members,!0)},uc.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.collisionVertexBuffer.destroy())},Dn("CollisionBuffers",uc);var fc=function(t){this.collisionBoxArray=t.collisionBoxArray,this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((function(t){return t.id})),this.index=t.index,this.pixelRatio=t.pixelRatio,this.sourceLayerIndex=t.sourceLayerIndex,this.hasPattern=!1,this.hasRTLText=!1,this.sortKeyRanges=[],this.collisionCircleArray=[],this.placementInvProjMatrix=eo([]),this.placementViewportMatrix=eo([]);var e=this.layers[0]._unevaluatedLayout._values;this.textSizeData=Ll(this.zoom,e["text-size"]),this.iconSizeData=Ll(this.zoom,e["icon-size"]);var r=this.layers[0].layout,n=r.get("symbol-sort-key"),i=r.get("symbol-z-order");this.sortFeaturesByKey="viewport-y"!==i&&void 0!==n.constantOr(1),this.sortFeaturesByY=("viewport-y"===i||"auto"===i&&!this.sortFeaturesByKey)&&(r.get("text-allow-overlap")||r.get("icon-allow-overlap")||r.get("text-ignore-placement")||r.get("icon-ignore-placement")),"point"===r.get("symbol-placement")&&(this.writingModes=r.get("text-writing-mode").map((function(t){return gl[t]}))),this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id})),this.sourceID=t.sourceID};fc.prototype.createArrays=function(){this.text=new cc(new Ia(Ds.members,this.layers,this.zoom,(function(t){return/^text/.test(t)}))),this.icon=new cc(new Ia(Ds.members,this.layers,this.zoom,(function(t){return/^icon/.test(t)}))),this.glyphOffsetArray=new $i,this.lineVertexArray=new ta,this.symbolInstances=new Qi},fc.prototype.calculateGlyphDependencies=function(t,e,r,n,i){for(var a=0;a<t.length;a++)if(e[t.charCodeAt(a)]=!0,(r||n)&&i){var o=Us[t.charAt(a)];o&&(e[o.charCodeAt(0)]=!0)}},fc.prototype.populate=function(t,e,r){var n=this.layers[0],i=n.layout,a=i.get("text-font"),o=i.get("text-field"),s=i.get("icon-image"),l=("constant"!==o.value.kind||o.value.value instanceof te&&!o.value.value.isEmpty()||o.value.value.toString().length>0)&&("constant"!==a.value.kind||a.value.value.length>0),c="constant"!==s.value.kind||!!s.value.value||Object.keys(s.parameters).length>0,u=i.get("symbol-sort-key");if(this.features=[],l||c){for(var f=e.iconDependencies,h=e.glyphDependencies,p=e.availableImages,d=new ii(this.zoom),g=0,m=t;g<m.length;g+=1){var v=m[g],y=v.feature,x=v.id,b=v.index,_=v.sourceLayerIndex,w=n._featureFilter.needGeometry,T={type:y.type,id:x,properties:y.properties,geometry:w?Da(y):[]};if(n._featureFilter.filter(d,T,r)){w||(T.geometry=Da(y));var k=void 0;if(l){var M=n.getValueAndResolveTokens("text-field",T,r,p),A=te.factory(M);lc(A)&&(this.hasRTLText=!0),(!this.hasRTLText||"unavailable"===ei()||this.hasRTLText&&ni.isParsed())&&(k=js(A,n,T))}var S=void 0;if(c){var E=n.getValueAndResolveTokens("icon-image",T,r,p);S=E instanceof ee?E:ee.fromString(E)}if(k||S){var C=this.sortFeaturesByKey?u.evaluate(T,{},r):void 0,L={id:x,text:k,icon:S,index:b,sourceLayerIndex:_,geometry:Da(y),properties:y.properties,type:ic[y.type],sortKey:C};if(this.features.push(L),S&&(f[S.name]=!0),k){var I=a.evaluate(T,{},r).join(","),P="map"===i.get("text-rotation-alignment")&&"point"!==i.get("symbol-placement");this.allowVerticalPlacement=this.writingModes&&this.writingModes.indexOf(gl.vertical)>=0;for(var z=0,O=k.sections;z<O.length;z+=1){var D=O[z];if(D.image)f[D.image.name]=!0;else{var R=qn(k.toString()),F=D.fontStack||I,B=h[F]=h[F]||{};this.calculateGlyphDependencies(D.text,B,P,this.allowVerticalPlacement,R)}}}}}}"line"===i.get("symbol-placement")&&(this.features=function(t){var e={},r={},n=[],i=0;function a(e){n.push(t[e]),i++}function o(t,e,i){var a=r[t];return delete r[t],r[e]=a,n[a].geometry[0].pop(),n[a].geometry[0]=n[a].geometry[0].concat(i[0]),a}function s(t,r,i){var a=e[r];return delete e[r],e[t]=a,n[a].geometry[0].shift(),n[a].geometry[0]=i[0].concat(n[a].geometry[0]),a}function l(t,e,r){var n=r?e[0][e[0].length-1]:e[0][0];return t+":"+n.x+":"+n.y}for(var c=0;c<t.length;c++){var u=t[c],f=u.geometry,h=u.text?u.text.toString():null;if(h){var p=l(h,f),d=l(h,f,!0);if(p in r&&d in e&&r[p]!==e[d]){var g=s(p,d,f),m=o(p,d,n[g].geometry);delete e[p],delete r[d],r[l(h,n[m].geometry,!0)]=m,n[g].geometry=null}else p in r?o(p,d,f):d in e?s(p,d,f):(a(c),e[p]=i-1,r[d]=i-1)}else a(c)}return n.filter((function(t){return t.geometry}))}(this.features)),this.sortFeaturesByKey&&this.features.sort((function(t,e){return t.sortKey-e.sortKey}))}},fc.prototype.update=function(t,e,r){this.stateDependentLayers.length&&(this.text.programConfigurations.updatePaintArrays(t,e,this.layers,r),this.icon.programConfigurations.updatePaintArrays(t,e,this.layers,r))},fc.prototype.isEmpty=function(){return 0===this.symbolInstances.length&&!this.hasRTLText},fc.prototype.uploadPending=function(){return!this.uploaded||this.text.programConfigurations.needsUpload||this.icon.programConfigurations.needsUpload},fc.prototype.upload=function(t){!this.uploaded&&this.hasDebugData()&&(this.textCollisionBox.upload(t),this.iconCollisionBox.upload(t)),this.text.upload(t,this.sortFeaturesByY,!this.uploaded,this.text.programConfigurations.needsUpload),this.icon.upload(t,this.sortFeaturesByY,!this.uploaded,this.icon.programConfigurations.needsUpload),this.uploaded=!0},fc.prototype.destroyDebugData=function(){this.textCollisionBox.destroy(),this.iconCollisionBox.destroy()},fc.prototype.destroy=function(){this.text.destroy(),this.icon.destroy(),this.hasDebugData()&&this.destroyDebugData()},fc.prototype.addToLineVertexArray=function(t,e){var r=this.lineVertexArray.length;if(void 0!==t.segment){for(var n=t.dist(e[t.segment+1]),i=t.dist(e[t.segment]),a={},o=t.segment+1;o<e.length;o++)a[o]={x:e[o].x,y:e[o].y,tileUnitDistanceFromAnchor:n},o<e.length-1&&(n+=e[o+1].dist(e[o]));for(var s=t.segment||0;s>=0;s--)a[s]={x:e[s].x,y:e[s].y,tileUnitDistanceFromAnchor:i},s>0&&(i+=e[s-1].dist(e[s]));for(var l=0;l<e.length;l++){var c=a[l];this.lineVertexArray.emplaceBack(c.x,c.y,c.tileUnitDistanceFromAnchor)}}return{lineStartIndex:r,lineLength:this.lineVertexArray.length-r}},fc.prototype.addSymbols=function(t,e,r,n,i,a,o,s,l,c,u,f){for(var h=t.indexArray,p=t.layoutVertexArray,d=t.segments.prepareSegment(4*e.length,p,h,a.sortKey),g=this.glyphOffsetArray.length,m=d.vertexLength,v=this.allowVerticalPlacement&&o===gl.vertical?Math.PI/2:0,y=a.text&&a.text.sections,x=0;x<e.length;x++){var b=e[x],_=b.tl,w=b.tr,T=b.bl,k=b.br,M=b.tex,A=b.pixelOffsetTL,S=b.pixelOffsetBR,E=b.minFontScaleX,C=b.minFontScaleY,L=b.glyphOffset,I=b.isSDF,P=b.sectionIndex,z=d.vertexLength,O=L[1];oc(p,s.x,s.y,_.x,O+_.y,M.x,M.y,r,I,A.x,A.y,E,C),oc(p,s.x,s.y,w.x,O+w.y,M.x+M.w,M.y,r,I,S.x,A.y,E,C),oc(p,s.x,s.y,T.x,O+T.y,M.x,M.y+M.h,r,I,A.x,S.y,E,C),oc(p,s.x,s.y,k.x,O+k.y,M.x+M.w,M.y+M.h,r,I,S.x,S.y,E,C),sc(t.dynamicLayoutVertexArray,s,v),h.emplaceBack(z,z+1,z+2),h.emplaceBack(z+1,z+2,z+3),d.vertexLength+=4,d.primitiveLength+=2,this.glyphOffsetArray.emplaceBack(L[0]),x!==e.length-1&&P===e[x+1].sectionIndex||t.programConfigurations.populatePaintArrays(p.length,a,a.index,{},f,y&&y[P])}t.placedSymbolArray.emplaceBack(s.x,s.y,g,this.glyphOffsetArray.length-g,m,l,c,s.segment,r?r[0]:0,r?r[1]:0,n[0],n[1],o,0,!1,0,u)},fc.prototype._addCollisionDebugVertex=function(t,e,r,n,i,a){return e.emplaceBack(0,0),t.emplaceBack(r.x,r.y,n,i,Math.round(a.x),Math.round(a.y))},fc.prototype.addCollisionDebugVertices=function(t,e,r,n,a,o,s){var l=a.segments.prepareSegment(4,a.layoutVertexArray,a.indexArray),c=l.vertexLength,u=a.layoutVertexArray,f=a.collisionVertexArray,h=s.anchorX,p=s.anchorY;this._addCollisionDebugVertex(u,f,o,h,p,new i(t,e)),this._addCollisionDebugVertex(u,f,o,h,p,new i(r,e)),this._addCollisionDebugVertex(u,f,o,h,p,new i(r,n)),this._addCollisionDebugVertex(u,f,o,h,p,new i(t,n)),l.vertexLength+=4;var d=a.indexArray;d.emplaceBack(c,c+1),d.emplaceBack(c+1,c+2),d.emplaceBack(c+2,c+3),d.emplaceBack(c+3,c),l.primitiveLength+=4},fc.prototype.addDebugCollisionBoxes=function(t,e,r,n){for(var i=t;i<e;i++){var a=this.collisionBoxArray.get(i);this.addCollisionDebugVertices(a.x1,a.y1,a.x2,a.y2,n?this.textCollisionBox:this.iconCollisionBox,a.anchorPoint,r)}},fc.prototype.generateCollisionDebugBuffers=function(){this.hasDebugData()&&this.destroyDebugData(),this.textCollisionBox=new uc(Oi,Bs.members,qi),this.iconCollisionBox=new uc(Oi,Bs.members,qi);for(var t=0;t<this.symbolInstances.length;t++){var e=this.symbolInstances.get(t);this.addDebugCollisionBoxes(e.textBoxStartIndex,e.textBoxEndIndex,e,!0),this.addDebugCollisionBoxes(e.verticalTextBoxStartIndex,e.verticalTextBoxEndIndex,e,!0),this.addDebugCollisionBoxes(e.iconBoxStartIndex,e.iconBoxEndIndex,e,!1),this.addDebugCollisionBoxes(e.verticalIconBoxStartIndex,e.verticalIconBoxEndIndex,e,!1)}},fc.prototype._deserializeCollisionBoxesForSymbol=function(t,e,r,n,i,a,o,s,l){for(var c={},u=e;u<r;u++){var f=t.get(u);c.textBox={x1:f.x1,y1:f.y1,x2:f.x2,y2:f.y2,anchorPointX:f.anchorPointX,anchorPointY:f.anchorPointY},c.textFeatureIndex=f.featureIndex;break}for(var h=n;h<i;h++){var p=t.get(h);c.verticalTextBox={x1:p.x1,y1:p.y1,x2:p.x2,y2:p.y2,anchorPointX:p.anchorPointX,anchorPointY:p.anchorPointY},c.verticalTextFeatureIndex=p.featureIndex;break}for(var d=a;d<o;d++){var g=t.get(d);c.iconBox={x1:g.x1,y1:g.y1,x2:g.x2,y2:g.y2,anchorPointX:g.anchorPointX,anchorPointY:g.anchorPointY},c.iconFeatureIndex=g.featureIndex;break}for(var m=s;m<l;m++){var v=t.get(m);c.verticalIconBox={x1:v.x1,y1:v.y1,x2:v.x2,y2:v.y2,anchorPointX:v.anchorPointX,anchorPointY:v.anchorPointY},c.verticalIconFeatureIndex=v.featureIndex;break}return c},fc.prototype.deserializeCollisionBoxes=function(t){this.collisionArrays=[];for(var e=0;e<this.symbolInstances.length;e++){var r=this.symbolInstances.get(e);this.collisionArrays.push(this._deserializeCollisionBoxesForSymbol(t,r.textBoxStartIndex,r.textBoxEndIndex,r.verticalTextBoxStartIndex,r.verticalTextBoxEndIndex,r.iconBoxStartIndex,r.iconBoxEndIndex,r.verticalIconBoxStartIndex,r.verticalIconBoxEndIndex))}},fc.prototype.hasTextData=function(){return this.text.segments.get().length>0},fc.prototype.hasIconData=function(){return this.icon.segments.get().length>0},fc.prototype.hasDebugData=function(){return this.textCollisionBox&&this.iconCollisionBox},fc.prototype.hasTextCollisionBoxData=function(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0},fc.prototype.hasIconCollisionBoxData=function(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0},fc.prototype.addIndicesForPlacedSymbol=function(t,e){for(var r=t.placedSymbolArray.get(e),n=r.vertexStartIndex+4*r.numGlyphs,i=r.vertexStartIndex;i<n;i+=4)t.indexArray.emplaceBack(i,i+1,i+2),t.indexArray.emplaceBack(i+1,i+2,i+3)},fc.prototype.getSortedSymbolIndexes=function(t){if(this.sortedAngle===t&&void 0!==this.symbolInstanceIndexes)return this.symbolInstanceIndexes;for(var e=Math.sin(t),r=Math.cos(t),n=[],i=[],a=[],o=0;o<this.symbolInstances.length;++o){a.push(o);var s=this.symbolInstances.get(o);n.push(0|Math.round(e*s.anchorX+r*s.anchorY)),i.push(s.featureIndex)}return a.sort((function(t,e){return n[t]-n[e]||i[e]-i[t]})),a},fc.prototype.addToSortKeyRanges=function(t,e){var r=this.sortKeyRanges[this.sortKeyRanges.length-1];r&&r.sortKey===e?r.symbolInstanceEnd=t+1:this.sortKeyRanges.push({sortKey:e,symbolInstanceStart:t,symbolInstanceEnd:t+1})},fc.prototype.sortFeatures=function(t){var e=this;if(this.sortFeaturesByY&&this.sortedAngle!==t&&!(this.text.segments.get().length>1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(t),this.sortedAngle=t,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(var r=0,n=this.symbolInstanceIndexes;r<n.length;r+=1){var i=this.symbolInstances.get(n[r]);this.featureSortOrder.push(i.featureIndex),[i.rightJustifiedTextSymbolIndex,i.centerJustifiedTextSymbolIndex,i.leftJustifiedTextSymbolIndex].forEach((function(t,r,n){t>=0&&n.indexOf(t)===r&&e.addIndicesForPlacedSymbol(e.text,t)})),i.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,i.verticalPlacedTextSymbolIndex),i.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,i.placedIconSymbolIndex),i.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,i.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}},Dn("SymbolBucket",fc,{omit:["layers","collisionBoxArray","features","compareText"]}),fc.MAX_GLYPHS=65535,fc.addDynamicAttributes=sc;var hc=new yi({"symbol-placement":new pi(At.layout_symbol["symbol-placement"]),"symbol-spacing":new pi(At.layout_symbol["symbol-spacing"]),"symbol-avoid-edges":new pi(At.layout_symbol["symbol-avoid-edges"]),"symbol-sort-key":new di(At.layout_symbol["symbol-sort-key"]),"symbol-z-order":new pi(At.layout_symbol["symbol-z-order"]),"icon-allow-overlap":new pi(At.layout_symbol["icon-allow-overlap"]),"icon-ignore-placement":new pi(At.layout_symbol["icon-ignore-placement"]),"icon-optional":new pi(At.layout_symbol["icon-optional"]),"icon-rotation-alignment":new pi(At.layout_symbol["icon-rotation-alignment"]),"icon-size":new di(At.layout_symbol["icon-size"]),"icon-text-fit":new pi(At.layout_symbol["icon-text-fit"]),"icon-text-fit-padding":new pi(At.layout_symbol["icon-text-fit-padding"]),"icon-image":new di(At.layout_symbol["icon-image"]),"icon-rotate":new di(At.layout_symbol["icon-rotate"]),"icon-padding":new pi(At.layout_symbol["icon-padding"]),"icon-keep-upright":new pi(At.layout_symbol["icon-keep-upright"]),"icon-offset":new di(At.layout_symbol["icon-offset"]),"icon-anchor":new di(At.layout_symbol["icon-anchor"]),"icon-pitch-alignment":new pi(At.layout_symbol["icon-pitch-alignment"]),"text-pitch-alignment":new pi(At.layout_symbol["text-pitch-alignment"]),"text-rotation-alignment":new pi(At.layout_symbol["text-rotation-alignment"]),"text-field":new di(At.layout_symbol["text-field"]),"text-font":new di(At.layout_symbol["text-font"]),"text-size":new di(At.layout_symbol["text-size"]),"text-max-width":new di(At.layout_symbol["text-max-width"]),"text-line-height":new pi(At.layout_symbol["text-line-height"]),"text-letter-spacing":new di(At.layout_symbol["text-letter-spacing"]),"text-justify":new di(At.layout_symbol["text-justify"]),"text-radial-offset":new di(At.layout_symbol["text-radial-offset"]),"text-variable-anchor":new pi(At.layout_symbol["text-variable-anchor"]),"text-anchor":new di(At.layout_symbol["text-anchor"]),"text-max-angle":new pi(At.layout_symbol["text-max-angle"]),"text-writing-mode":new pi(At.layout_symbol["text-writing-mode"]),"text-rotate":new di(At.layout_symbol["text-rotate"]),"text-padding":new pi(At.layout_symbol["text-padding"]),"text-keep-upright":new pi(At.layout_symbol["text-keep-upright"]),"text-transform":new di(At.layout_symbol["text-transform"]),"text-offset":new di(At.layout_symbol["text-offset"]),"text-allow-overlap":new pi(At.layout_symbol["text-allow-overlap"]),"text-ignore-placement":new pi(At.layout_symbol["text-ignore-placement"]),"text-optional":new pi(At.layout_symbol["text-optional"])}),pc={paint:new yi({"icon-opacity":new di(At.paint_symbol["icon-opacity"]),"icon-color":new di(At.paint_symbol["icon-color"]),"icon-halo-color":new di(At.paint_symbol["icon-halo-color"]),"icon-halo-width":new di(At.paint_symbol["icon-halo-width"]),"icon-halo-blur":new di(At.paint_symbol["icon-halo-blur"]),"icon-translate":new pi(At.paint_symbol["icon-translate"]),"icon-translate-anchor":new pi(At.paint_symbol["icon-translate-anchor"]),"text-opacity":new di(At.paint_symbol["text-opacity"]),"text-color":new di(At.paint_symbol["text-color"],{runtimeType:Bt,getOverride:function(t){return t.textColor},hasOverride:function(t){return!!t.textColor}}),"text-halo-color":new di(At.paint_symbol["text-halo-color"]),"text-halo-width":new di(At.paint_symbol["text-halo-width"]),"text-halo-blur":new di(At.paint_symbol["text-halo-blur"]),"text-translate":new pi(At.paint_symbol["text-translate"]),"text-translate-anchor":new pi(At.paint_symbol["text-translate-anchor"])}),layout:hc},dc=function(t){this.type=t.property.overrides?t.property.overrides.runtimeType:Ot,this.defaultValue=t};dc.prototype.evaluate=function(t){if(t.formattedSection){var e=this.defaultValue.property.overrides;if(e&&e.hasOverride(t.formattedSection))return e.getOverride(t.formattedSection)}return t.feature&&t.featureState?this.defaultValue.evaluate(t.feature,t.featureState):this.defaultValue.property.specification.default},dc.prototype.eachChild=function(t){this.defaultValue.isConstant()||t(this.defaultValue.value._styleExpression.expression)},dc.prototype.outputDefined=function(){return!1},dc.prototype.serialize=function(){return null},Dn("FormatSectionOverride",dc,{omit:["defaultValue"]});var gc=function(t){function e(e){t.call(this,e,pc)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.recalculate=function(e,r){if(t.prototype.recalculate.call(this,e,r),"auto"===this.layout.get("icon-rotation-alignment")&&(this.layout._values["icon-rotation-alignment"]="point"!==this.layout.get("symbol-placement")?"map":"viewport"),"auto"===this.layout.get("text-rotation-alignment")&&(this.layout._values["text-rotation-alignment"]="point"!==this.layout.get("symbol-placement")?"map":"viewport"),"auto"===this.layout.get("text-pitch-alignment")&&(this.layout._values["text-pitch-alignment"]=this.layout.get("text-rotation-alignment")),"auto"===this.layout.get("icon-pitch-alignment")&&(this.layout._values["icon-pitch-alignment"]=this.layout.get("icon-rotation-alignment")),"point"===this.layout.get("symbol-placement")){var n=this.layout.get("text-writing-mode");if(n){for(var i=[],a=0,o=n;a<o.length;a+=1){var s=o[a];i.indexOf(s)<0&&i.push(s)}this.layout._values["text-writing-mode"]=i}else this.layout._values["text-writing-mode"]=["horizontal"]}this._setPaintOverrides()},e.prototype.getValueAndResolveTokens=function(t,e,r,n){var i=this.layout.get(t).evaluate(e,{},r,n),a=this._unevaluatedLayout._values[t];return a.isDataDriven()||Vr(a.value)||!i?i:function(t,e){return e.replace(/{([^{}]+)}/g,(function(e,r){return r in t?String(t[r]):""}))}(e.properties,i)},e.prototype.createBucket=function(t){return new fc(t)},e.prototype.queryRadius=function(){return 0},e.prototype.queryIntersectsFeature=function(){return!1},e.prototype._setPaintOverrides=function(){for(var t=0,r=pc.paint.overridableProperties;t<r.length;t+=1){var n=r[t];if(e.hasPaintOverride(this.layout,n)){var i,a=this.paint.get(n),o=new dc(a),s=new Ur(o,a.property.specification);i="constant"===a.value.kind||"source"===a.value.kind?new Hr("source",s):new Gr("composite",s,a.value.zoomStops,a.value._interpolationType),this.paint._values[n]=new fi(a.property,i,a.parameters)}}},e.prototype._handleOverridablePaintPropertyUpdate=function(t,r,n){return!(!this.layout||r.isDataDriven()||n.isDataDriven())&&e.hasPaintOverride(this.layout,t)},e.hasPaintOverride=function(t,e){var r=t.get("text-field"),n=pc.paint.properties[e],i=!1,a=function(t){for(var e=0,r=t;e<r.length;e+=1)if(n.overrides&&n.overrides.hasOverride(r[e]))return void(i=!0)};if("constant"===r.value.kind&&r.value.value instanceof te)a(r.value.value.sections);else if("source"===r.value.kind){var o=function(t){i||(t instanceof oe&&ie(t.value)===Vt?a(t.value.sections):t instanceof ue?a(t.sections):t.eachChild(o))},s=r.value;s._styleExpression&&o(s._styleExpression.expression)}return i},e}(xi),mc={paint:new yi({"background-color":new pi(At.paint_background["background-color"]),"background-pattern":new mi(At.paint_background["background-pattern"]),"background-opacity":new pi(At.paint_background["background-opacity"])})},vc=function(t){function e(e){t.call(this,e,mc)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e}(xi),yc={paint:new yi({"raster-opacity":new pi(At.paint_raster["raster-opacity"]),"raster-hue-rotate":new pi(At.paint_raster["raster-hue-rotate"]),"raster-brightness-min":new pi(At.paint_raster["raster-brightness-min"]),"raster-brightness-max":new pi(At.paint_raster["raster-brightness-max"]),"raster-saturation":new pi(At.paint_raster["raster-saturation"]),"raster-contrast":new pi(At.paint_raster["raster-contrast"]),"raster-resampling":new pi(At.paint_raster["raster-resampling"]),"raster-fade-duration":new pi(At.paint_raster["raster-fade-duration"])})},xc=function(t){function e(e){t.call(this,e,yc)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e}(xi),bc=function(t){function e(e){t.call(this,e,{}),this.implementation=e}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.is3D=function(){return"3d"===this.implementation.renderingMode},e.prototype.hasOffscreenPass=function(){return void 0!==this.implementation.prerender},e.prototype.recalculate=function(){},e.prototype.updateTransitions=function(){},e.prototype.hasTransition=function(){},e.prototype.serialize=function(){},e.prototype.onAdd=function(t){this.implementation.onAdd&&this.implementation.onAdd(t,t.painter.context.gl)},e.prototype.onRemove=function(t){this.implementation.onRemove&&this.implementation.onRemove(t,t.painter.context.gl)},e}(xi),_c={circle:oo,heatmap:vo,hillshade:xo,fill:as,"fill-extrusion":ws,line:zs,symbol:gc,background:vc,raster:xc},wc=self.HTMLImageElement,Tc=self.HTMLCanvasElement,kc=self.HTMLVideoElement,Mc=self.ImageData,Ac=self.ImageBitmap,Sc=function(t,e,r,n){this.context=t,this.format=r,this.texture=t.gl.createTexture(),this.update(e,n)};Sc.prototype.update=function(t,e,r){var n=t.width,i=t.height,a=!(this.size&&this.size[0]===n&&this.size[1]===i||r),o=this.context,s=o.gl;if(this.useMipmap=Boolean(e&&e.useMipmap),s.bindTexture(s.TEXTURE_2D,this.texture),o.pixelStoreUnpackFlipY.set(!1),o.pixelStoreUnpack.set(1),o.pixelStoreUnpackPremultiplyAlpha.set(this.format===s.RGBA&&(!e||!1!==e.premultiply)),a)this.size=[n,i],t instanceof wc||t instanceof Tc||t instanceof kc||t instanceof Mc||Ac&&t instanceof Ac?s.texImage2D(s.TEXTURE_2D,0,this.format,this.format,s.UNSIGNED_BYTE,t):s.texImage2D(s.TEXTURE_2D,0,this.format,n,i,0,this.format,s.UNSIGNED_BYTE,t.data);else{var l=r||{x:0,y:0},c=l.x,u=l.y;t instanceof wc||t instanceof Tc||t instanceof kc||t instanceof Mc||Ac&&t instanceof Ac?s.texSubImage2D(s.TEXTURE_2D,0,c,u,s.RGBA,s.UNSIGNED_BYTE,t):s.texSubImage2D(s.TEXTURE_2D,0,c,u,n,i,s.RGBA,s.UNSIGNED_BYTE,t.data)}this.useMipmap&&this.isSizePowerOfTwo()&&s.generateMipmap(s.TEXTURE_2D)},Sc.prototype.bind=function(t,e,r){var n=this.context.gl;n.bindTexture(n.TEXTURE_2D,this.texture),r!==n.LINEAR_MIPMAP_NEAREST||this.isSizePowerOfTwo()||(r=n.LINEAR),t!==this.filter&&(n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,t),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,r||t),this.filter=t),e!==this.wrap&&(n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,e),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,e),this.wrap=e)},Sc.prototype.isSizePowerOfTwo=function(){return this.size[0]===this.size[1]&&Math.log(this.size[0])/Math.LN2%1==0},Sc.prototype.destroy=function(){this.context.gl.deleteTexture(this.texture),this.texture=null};var Ec=function(t){var e=this;this._callback=t,this._triggered=!1,"undefined"!=typeof MessageChannel&&(this._channel=new MessageChannel,this._channel.port2.onmessage=function(){e._triggered=!1,e._callback()})};Ec.prototype.trigger=function(){var t=this;this._triggered||(this._triggered=!0,this._channel?this._channel.port1.postMessage(!0):setTimeout((function(){t._triggered=!1,t._callback()}),0))},Ec.prototype.remove=function(){delete this._channel,this._callback=function(){}};var Cc=function(t,e,r){this.target=t,this.parent=e,this.mapId=r,this.callbacks={},this.tasks={},this.taskQueue=[],this.cancelCallbacks={},g(["receive","process"],this),this.invoker=new Ec(this.process),this.target.addEventListener("message",this.receive,!1),this.globalScope=k()?t:self};function Lc(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]}Cc.prototype.send=function(t,e,r,n,i){var a=this;void 0===i&&(i=!1);var o=Math.round(1e18*Math.random()).toString(36).substring(0,10);r&&(this.callbacks[o]=r);var s=S(this.globalScope)?void 0:[];return this.target.postMessage({id:o,type:t,hasCallback:!!r,targetMapId:n,mustQueue:i,sourceMapId:this.mapId,data:Nn(e,s)},s),{cancel:function(){r&&delete a.callbacks[o],a.target.postMessage({id:o,type:"<cancel>",targetMapId:n,sourceMapId:a.mapId})}}},Cc.prototype.receive=function(t){var e=t.data,r=e.id;if(r&&(!e.targetMapId||this.mapId===e.targetMapId))if("<cancel>"===e.type){delete this.tasks[r];var n=this.cancelCallbacks[r];delete this.cancelCallbacks[r],n&&n()}else k()||e.mustQueue?(this.tasks[r]=e,this.taskQueue.push(r),this.invoker.trigger()):this.processTask(r,e)},Cc.prototype.process=function(){if(this.taskQueue.length){var t=this.taskQueue.shift(),e=this.tasks[t];delete this.tasks[t],this.taskQueue.length&&this.invoker.trigger(),e&&this.processTask(t,e)}},Cc.prototype.processTask=function(t,e){var r=this;if("<response>"===e.type){var n=this.callbacks[t];delete this.callbacks[t],n&&(e.error?n(jn(e.error)):n(null,jn(e.data)))}else{var i=!1,a=S(this.globalScope)?void 0:[],o=e.hasCallback?function(e,n){i=!0,delete r.cancelCallbacks[t],r.target.postMessage({id:t,type:"<response>",sourceMapId:r.mapId,error:e?Nn(e):null,data:Nn(n,a)},a)}:function(t){i=!0},s=null,l=jn(e.data);if(this.parent[e.type])s=this.parent[e.type](e.sourceMapId,l,o);else if(this.parent.getWorkerSource){var c=e.type.split(".");s=this.parent.getWorkerSource(e.sourceMapId,c[0],l.source)[c[1]](l,o)}else o(new Error("Could not find function "+e.type));!i&&s&&s.cancel&&(this.cancelCallbacks[t]=s.cancel)}},Cc.prototype.remove=function(){this.invoker.remove(),this.target.removeEventListener("message",this.receive,!1)};var Ic=function(t,e){t&&(e?this.setSouthWest(t).setNorthEast(e):4===t.length?this.setSouthWest([t[0],t[1]]).setNorthEast([t[2],t[3]]):this.setSouthWest(t[0]).setNorthEast(t[1]))};Ic.prototype.setNorthEast=function(t){return this._ne=t instanceof Pc?new Pc(t.lng,t.lat):Pc.convert(t),this},Ic.prototype.setSouthWest=function(t){return this._sw=t instanceof Pc?new Pc(t.lng,t.lat):Pc.convert(t),this},Ic.prototype.extend=function(t){var e,r,n=this._sw,i=this._ne;if(t instanceof Pc)e=t,r=t;else{if(!(t instanceof Ic))return Array.isArray(t)?4===t.length||t.every(Array.isArray)?this.extend(Ic.convert(t)):this.extend(Pc.convert(t)):this;if(r=t._ne,!(e=t._sw)||!r)return this}return n||i?(n.lng=Math.min(e.lng,n.lng),n.lat=Math.min(e.lat,n.lat),i.lng=Math.max(r.lng,i.lng),i.lat=Math.max(r.lat,i.lat)):(this._sw=new Pc(e.lng,e.lat),this._ne=new Pc(r.lng,r.lat)),this},Ic.prototype.getCenter=function(){return new Pc((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)},Ic.prototype.getSouthWest=function(){return this._sw},Ic.prototype.getNorthEast=function(){return this._ne},Ic.prototype.getNorthWest=function(){return new Pc(this.getWest(),this.getNorth())},Ic.prototype.getSouthEast=function(){return new Pc(this.getEast(),this.getSouth())},Ic.prototype.getWest=function(){return this._sw.lng},Ic.prototype.getSouth=function(){return this._sw.lat},Ic.prototype.getEast=function(){return this._ne.lng},Ic.prototype.getNorth=function(){return this._ne.lat},Ic.prototype.toArray=function(){return[this._sw.toArray(),this._ne.toArray()]},Ic.prototype.toString=function(){return"LngLatBounds("+this._sw.toString()+", "+this._ne.toString()+")"},Ic.prototype.isEmpty=function(){return!(this._sw&&this._ne)},Ic.prototype.contains=function(t){var e=Pc.convert(t),r=e.lng,n=e.lat,i=this._sw.lng<=r&&r<=this._ne.lng;return this._sw.lng>this._ne.lng&&(i=this._sw.lng>=r&&r>=this._ne.lng),this._sw.lat<=n&&n<=this._ne.lat&&i},Ic.convert=function(t){return!t||t instanceof Ic?t:new Ic(t)};var Pc=function(t,e){if(isNaN(t)||isNaN(e))throw new Error("Invalid LngLat object: ("+t+", "+e+")");if(this.lng=+t,this.lat=+e,this.lat>90||this.lat<-90)throw new Error("Invalid LngLat latitude value: must be between -90 and 90")};Pc.prototype.wrap=function(){return new Pc(c(this.lng,-180,180),this.lat)},Pc.prototype.toArray=function(){return[this.lng,this.lat]},Pc.prototype.toString=function(){return"LngLat("+this.lng+", "+this.lat+")"},Pc.prototype.distanceTo=function(t){var e=Math.PI/180,r=this.lat*e,n=t.lat*e,i=Math.sin(r)*Math.sin(n)+Math.cos(r)*Math.cos(n)*Math.cos((t.lng-this.lng)*e);return 6371008.8*Math.acos(Math.min(i,1))},Pc.prototype.toBounds=function(t){void 0===t&&(t=0);var e=360*t/40075017,r=e/Math.cos(Math.PI/180*this.lat);return new Ic(new Pc(this.lng-r,this.lat-e),new Pc(this.lng+r,this.lat+e))},Pc.convert=function(t){if(t instanceof Pc)return t;if(Array.isArray(t)&&(2===t.length||3===t.length))return new Pc(Number(t[0]),Number(t[1]));if(!Array.isArray(t)&&"object"==typeof t&&null!==t)return new Pc(Number("lng"in t?t.lng:t.lon),Number(t.lat));throw new Error("`LngLatLike` argument must be specified as a LngLat instance, an object {lng: <lng>, lat: <lat>}, an object {lon: <lng>, lat: <lat>}, or an array of [<lng>, <lat>]")};var zc=2*Math.PI*6371008.8;function Oc(t){return zc*Math.cos(t*Math.PI/180)}function Dc(t){return(180+t)/360}function Rc(t){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t*Math.PI/360)))/360}function Fc(t,e){return t/Oc(e)}function Bc(t){return 360/Math.PI*Math.atan(Math.exp((180-360*t)*Math.PI/180))-90}var Nc=function(t,e,r){void 0===r&&(r=0),this.x=+t,this.y=+e,this.z=+r};Nc.fromLngLat=function(t,e){void 0===e&&(e=0);var r=Pc.convert(t);return new Nc(Dc(r.lng),Rc(r.lat),Fc(e,r.lat))},Nc.prototype.toLngLat=function(){return new Pc(360*this.x-180,Bc(this.y))},Nc.prototype.toAltitude=function(){return this.z*Oc(Bc(this.y))},Nc.prototype.meterInMercatorCoordinateUnits=function(){return 1/zc*(t=Bc(this.y),1/Math.cos(t*Math.PI/180));var t};var jc=function(t,e,r){this.z=t,this.x=e,this.y=r,this.key=qc(0,t,t,e,r)};jc.prototype.equals=function(t){return this.z===t.z&&this.x===t.x&&this.y===t.y},jc.prototype.url=function(t,e){var r,n,i,a,o,s=(n=this.y,i=this.z,a=Lc(256*(r=this.x),256*(n=Math.pow(2,i)-n-1),i),o=Lc(256*(r+1),256*(n+1),i),a[0]+","+a[1]+","+o[0]+","+o[1]),l=function(t,e,r){for(var n,i="",a=t;a>0;a--)i+=(e&(n=1<<a-1)?1:0)+(r&n?2:0);return i}(this.z,this.x,this.y);return t[(this.x+this.y)%t.length].replace("{prefix}",(this.x%16).toString(16)+(this.y%16).toString(16)).replace("{z}",String(this.z)).replace("{x}",String(this.x)).replace("{y}",String("tms"===e?Math.pow(2,this.z)-this.y-1:this.y)).replace("{quadkey}",l).replace("{bbox-epsg-3857}",s)},jc.prototype.getTilePoint=function(t){var e=Math.pow(2,this.z);return new i(8192*(t.x*e-this.x),8192*(t.y*e-this.y))},jc.prototype.toString=function(){return this.z+"/"+this.x+"/"+this.y};var Uc=function(t,e){this.wrap=t,this.canonical=e,this.key=qc(t,e.z,e.z,e.x,e.y)},Vc=function(t,e,r,n,i){this.overscaledZ=t,this.wrap=e,this.canonical=new jc(r,+n,+i),this.key=qc(e,t,r,n,i)};function qc(t,e,r,n,i){(t*=2)<0&&(t=-1*t-1);var a=1<<r;return(a*a*t+a*i+n).toString(36)+r.toString(36)+e.toString(36)}Vc.prototype.equals=function(t){return this.overscaledZ===t.overscaledZ&&this.wrap===t.wrap&&this.canonical.equals(t.canonical)},Vc.prototype.scaledTo=function(t){var e=this.canonical.z-t;return t>this.canonical.z?new Vc(t,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new Vc(t,this.wrap,t,this.canonical.x>>e,this.canonical.y>>e)},Vc.prototype.calculateScaledKey=function(t,e){var r=this.canonical.z-t;return t>this.canonical.z?qc(this.wrap*+e,t,this.canonical.z,this.canonical.x,this.canonical.y):qc(this.wrap*+e,t,t,this.canonical.x>>r,this.canonical.y>>r)},Vc.prototype.isChildOf=function(t){if(t.wrap!==this.wrap)return!1;var e=this.canonical.z-t.canonical.z;return 0===t.overscaledZ||t.overscaledZ<this.overscaledZ&&t.canonical.x===this.canonical.x>>e&&t.canonical.y===this.canonical.y>>e},Vc.prototype.children=function(t){if(this.overscaledZ>=t)return[new Vc(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];var e=this.canonical.z+1,r=2*this.canonical.x,n=2*this.canonical.y;return[new Vc(e,this.wrap,e,r,n),new Vc(e,this.wrap,e,r+1,n),new Vc(e,this.wrap,e,r,n+1),new Vc(e,this.wrap,e,r+1,n+1)]},Vc.prototype.isLessThan=function(t){return this.wrap<t.wrap||!(this.wrap>t.wrap)&&(this.overscaledZ<t.overscaledZ||!(this.overscaledZ>t.overscaledZ)&&(this.canonical.x<t.canonical.x||!(this.canonical.x>t.canonical.x)&&this.canonical.y<t.canonical.y))},Vc.prototype.wrapped=function(){return new Vc(this.overscaledZ,0,this.canonical.z,this.canonical.x,this.canonical.y)},Vc.prototype.unwrapTo=function(t){return new Vc(this.overscaledZ,t,this.canonical.z,this.canonical.x,this.canonical.y)},Vc.prototype.overscaleFactor=function(){return Math.pow(2,this.overscaledZ-this.canonical.z)},Vc.prototype.toUnwrapped=function(){return new Uc(this.wrap,this.canonical)},Vc.prototype.toString=function(){return this.overscaledZ+"/"+this.canonical.x+"/"+this.canonical.y},Vc.prototype.getTilePoint=function(t){return this.canonical.getTilePoint(new Nc(t.x-this.wrap,t.y))},Dn("CanonicalTileID",jc),Dn("OverscaledTileID",Vc,{omit:["posMatrix"]});var Hc=function(t,e,r){if(this.uid=t,e.height!==e.width)throw new RangeError("DEM tiles must be square");if(r&&"mapbox"!==r&&"terrarium"!==r)return _('"'+r+'" is not a valid encoding type. Valid types include "mapbox" and "terrarium".');this.stride=e.height;var n=this.dim=e.height-2;this.data=new Uint32Array(e.data.buffer),this.encoding=r||"mapbox";for(var i=0;i<n;i++)this.data[this._idx(-1,i)]=this.data[this._idx(0,i)],this.data[this._idx(n,i)]=this.data[this._idx(n-1,i)],this.data[this._idx(i,-1)]=this.data[this._idx(i,0)],this.data[this._idx(i,n)]=this.data[this._idx(i,n-1)];this.data[this._idx(-1,-1)]=this.data[this._idx(0,0)],this.data[this._idx(n,-1)]=this.data[this._idx(n-1,0)],this.data[this._idx(-1,n)]=this.data[this._idx(0,n-1)],this.data[this._idx(n,n)]=this.data[this._idx(n-1,n-1)]};Hc.prototype.get=function(t,e){var r=new Uint8Array(this.data.buffer),n=4*this._idx(t,e);return("terrarium"===this.encoding?this._unpackTerrarium:this._unpackMapbox)(r[n],r[n+1],r[n+2])},Hc.prototype.getUnpackVector=function(){return"terrarium"===this.encoding?[256,1,1/256,32768]:[6553.6,25.6,.1,1e4]},Hc.prototype._idx=function(t,e){if(t<-1||t>=this.dim+1||e<-1||e>=this.dim+1)throw new RangeError("out of range source coordinates for DEM data");return(e+1)*this.stride+(t+1)},Hc.prototype._unpackMapbox=function(t,e,r){return(256*t*256+256*e+r)/10-1e4},Hc.prototype._unpackTerrarium=function(t,e,r){return 256*t+e+r/256-32768},Hc.prototype.getPixels=function(){return new po({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))},Hc.prototype.backfillBorder=function(t,e,r){if(this.dim!==t.dim)throw new Error("dem dimension mismatch");var n=e*this.dim,i=e*this.dim+this.dim,a=r*this.dim,o=r*this.dim+this.dim;switch(e){case-1:n=i-1;break;case 1:i=n+1}switch(r){case-1:a=o-1;break;case 1:o=a+1}for(var s=-e*this.dim,l=-r*this.dim,c=a;c<o;c++)for(var u=n;u<i;u++)this.data[this._idx(u,c)]=t.data[this._idx(u+s,c+l)]},Dn("DEMData",Hc);var Gc=function(t){this._stringToNumber={},this._numberToString=[];for(var e=0;e<t.length;e++){var r=t[e];this._stringToNumber[r]=e,this._numberToString[e]=r}};Gc.prototype.encode=function(t){return this._stringToNumber[t]},Gc.prototype.decode=function(t){return this._numberToString[t]};var Yc=function(t,e,r,n,i){this.type="Feature",this._vectorTileFeature=t,t._z=e,t._x=r,t._y=n,this.properties=t.properties,this.id=i},Wc={geometry:{configurable:!0}};Wc.geometry.get=function(){return void 0===this._geometry&&(this._geometry=this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x,this._vectorTileFeature._y,this._vectorTileFeature._z).geometry),this._geometry},Wc.geometry.set=function(t){this._geometry=t},Yc.prototype.toJSON=function(){var t={geometry:this.geometry};for(var e in this)"_geometry"!==e&&"_vectorTileFeature"!==e&&(t[e]=this[e]);return t},Object.defineProperties(Yc.prototype,Wc);var Xc=function(){this.state={},this.stateChanges={},this.deletedStates={}};Xc.prototype.updateState=function(t,e,r){var n=String(e);if(this.stateChanges[t]=this.stateChanges[t]||{},this.stateChanges[t][n]=this.stateChanges[t][n]||{},u(this.stateChanges[t][n],r),null===this.deletedStates[t])for(var i in this.deletedStates[t]={},this.state[t])i!==n&&(this.deletedStates[t][i]=null);else if(this.deletedStates[t]&&null===this.deletedStates[t][n])for(var a in this.deletedStates[t][n]={},this.state[t][n])r[a]||(this.deletedStates[t][n][a]=null);else for(var o in r)this.deletedStates[t]&&this.deletedStates[t][n]&&null===this.deletedStates[t][n][o]&&delete this.deletedStates[t][n][o]},Xc.prototype.removeFeatureState=function(t,e,r){if(null!==this.deletedStates[t]){var n=String(e);if(this.deletedStates[t]=this.deletedStates[t]||{},r&&void 0!==e)null!==this.deletedStates[t][n]&&(this.deletedStates[t][n]=this.deletedStates[t][n]||{},this.deletedStates[t][n][r]=null);else if(void 0!==e)if(this.stateChanges[t]&&this.stateChanges[t][n])for(r in this.deletedStates[t][n]={},this.stateChanges[t][n])this.deletedStates[t][n][r]=null;else this.deletedStates[t][n]=null;else this.deletedStates[t]=null}},Xc.prototype.getState=function(t,e){var r=String(e),n=u({},(this.state[t]||{})[r],(this.stateChanges[t]||{})[r]);if(null===this.deletedStates[t])return{};if(this.deletedStates[t]){var i=this.deletedStates[t][e];if(null===i)return{};for(var a in i)delete n[a]}return n},Xc.prototype.initializeTileState=function(t,e){t.setFeatureState(this.state,e)},Xc.prototype.coalesceChanges=function(t,e){var r={};for(var n in this.stateChanges){this.state[n]=this.state[n]||{};var i={};for(var a in this.stateChanges[n])this.state[n][a]||(this.state[n][a]={}),u(this.state[n][a],this.stateChanges[n][a]),i[a]=this.state[n][a];r[n]=i}for(var o in this.deletedStates){this.state[o]=this.state[o]||{};var s={};if(null===this.deletedStates[o])for(var l in this.state[o])s[l]={},this.state[o][l]={};else for(var c in this.deletedStates[o]){if(null===this.deletedStates[o][c])this.state[o][c]={};else for(var f=0,h=Object.keys(this.deletedStates[o][c]);f<h.length;f+=1)delete this.state[o][c][h[f]];s[c]=this.state[o][c]}r[o]=r[o]||{},u(r[o],s)}if(this.stateChanges={},this.deletedStates={},0!==Object.keys(r).length)for(var p in t)t[p].setFeatureState(r,e)};var Zc=function(t,e){this.tileID=t,this.x=t.canonical.x,this.y=t.canonical.y,this.z=t.canonical.z,this.grid=new Ln(8192,16,0),this.grid3D=new Ln(8192,16,0),this.featureIndexArray=new ra,this.promoteId=e};function Jc(t,e,r,n,i){return v(t,(function(t,a){var o=e instanceof hi?e.get(a):null;return o&&o.evaluate?o.evaluate(r,n,i):o}))}function Kc(t){for(var e=1/0,r=1/0,n=-1/0,i=-1/0,a=0,o=t;a<o.length;a+=1){var s=o[a];e=Math.min(e,s.x),r=Math.min(r,s.y),n=Math.max(n,s.x),i=Math.max(i,s.y)}return{minX:e,minY:r,maxX:n,maxY:i}}function Qc(t,e){return e-t}Zc.prototype.insert=function(t,e,r,n,i,a){var o=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(r,n,i);for(var s=a?this.grid3D:this.grid,l=0;l<e.length;l++){for(var c=e[l],u=[1/0,1/0,-1/0,-1/0],f=0;f<c.length;f++){var h=c[f];u[0]=Math.min(u[0],h.x),u[1]=Math.min(u[1],h.y),u[2]=Math.max(u[2],h.x),u[3]=Math.max(u[3],h.y)}u[0]<8192&&u[1]<8192&&u[2]>=0&&u[3]>=0&&s.insert(o,u[0],u[1],u[2],u[3])}},Zc.prototype.loadVTLayers=function(){return this.vtLayers||(this.vtLayers=new gs.VectorTile(new Hs(this.rawTileData)).layers,this.sourceLayerCoder=new Gc(this.vtLayers?Object.keys(this.vtLayers).sort():["_geojsonTileLayer"])),this.vtLayers},Zc.prototype.query=function(t,e,r,n){var a=this;this.loadVTLayers();for(var o=t.params||{},s=8192/t.tileSize/t.scale,l=rn(o.filter),c=t.queryGeometry,u=t.queryPadding*s,f=Kc(c),h=this.grid.query(f.minX-u,f.minY-u,f.maxX+u,f.maxY+u),p=Kc(t.cameraQueryGeometry),d=0,g=this.grid3D.query(p.minX-u,p.minY-u,p.maxX+u,p.maxY+u,(function(e,r,n,a){return function(t,e,r,n,a){for(var o=0,s=t;o<s.length;o+=1){var l=s[o];if(e<=l.x&&r<=l.y&&n>=l.x&&a>=l.y)return!0}var c=[new i(e,r),new i(e,a),new i(n,a),new i(n,r)];if(t.length>2)for(var u=0,f=c;u<f.length;u+=1)if(Wa(t,f[u]))return!0;for(var h=0;h<t.length-1;h++)if(Xa(t[h],t[h+1],c))return!0;return!1}(t.cameraQueryGeometry,e-u,r-u,n+u,a+u)}));d<g.length;d+=1)h.push(g[d]);h.sort(Qc);for(var m,v={},y=function(i){var u=h[i];if(u!==m){m=u;var f=a.featureIndexArray.get(u),p=null;a.loadMatchingFeature(v,f.bucketIndex,f.sourceLayerIndex,f.featureIndex,l,o.layers,o.availableImages,e,r,n,(function(e,r,n){return p||(p=Da(e)),r.queryIntersectsFeature(c,e,n,p,a.z,t.transform,s,t.pixelPosMatrix)}))}},x=0;x<h.length;x++)y(x);return v},Zc.prototype.loadMatchingFeature=function(t,e,r,n,i,a,o,s,l,c,u){var f=this.bucketLayerIDs[e];if(!a||function(t,e){for(var r=0;r<t.length;r++)if(e.indexOf(t[r])>=0)return!0;return!1}(a,f)){var h=this.sourceLayerCoder.decode(r),p=this.vtLayers[h].feature(n);if(i.filter(new ii(this.tileID.overscaledZ),p))for(var d=this.getId(p,h),g=0;g<f.length;g++){var m=f[g];if(!(a&&a.indexOf(m)<0)){var v=s[m];if(v){var y={};void 0!==d&&c&&(y=c.getState(v.sourceLayer||"_geojsonTileLayer",d));var x=l[m];x.paint=Jc(x.paint,v.paint,p,y,o),x.layout=Jc(x.layout,v.layout,p,y,o);var b=!u||u(p,v,y);if(b){var _=new Yc(p,this.z,this.x,this.y,d);_.layer=x;var w=t[m];void 0===w&&(w=t[m]=[]),w.push({featureIndex:n,feature:_,intersectionZ:b})}}}}}},Zc.prototype.lookupSymbolFeatures=function(t,e,r,n,i,a,o,s){var l={};this.loadVTLayers();for(var c=rn(i),u=0,f=t;u<f.length;u+=1)this.loadMatchingFeature(l,r,n,f[u],c,a,o,s,e);return l},Zc.prototype.hasLayer=function(t){for(var e=0,r=this.bucketLayerIDs;e<r.length;e+=1)for(var n=0,i=r[e];n<i.length;n+=1)if(t===i[n])return!0;return!1},Zc.prototype.getId=function(t,e){var r=t.id;return this.promoteId&&"boolean"==typeof(r=t.properties["string"==typeof this.promoteId?this.promoteId:this.promoteId[e]])&&(r=Number(r)),r},Dn("FeatureIndex",Zc,{omit:["rawTileData","sourceLayerCoder"]});var $c=function(t,e){this.tileID=t,this.uid=h(),this.uses=0,this.tileSize=e,this.buckets={},this.expirationTime=null,this.queryPadding=0,this.hasSymbolBuckets=!1,this.hasRTLText=!1,this.dependencies={},this.expiredRequestCount=0,this.state="loading"};$c.prototype.registerFadeDuration=function(t){var e=t+this.timeAdded;e<R.now()||this.fadeEndTime&&e<this.fadeEndTime||(this.fadeEndTime=e)},$c.prototype.wasRequested=function(){return"errored"===this.state||"loaded"===this.state||"reloading"===this.state},$c.prototype.loadVectorData=function(t,e,r){if(this.hasData()&&this.unloadVectorData(),this.state="loaded",t){for(var n in t.featureIndex&&(this.latestFeatureIndex=t.featureIndex,t.rawTileData?(this.latestRawTileData=t.rawTileData,this.latestFeatureIndex.rawTileData=t.rawTileData):this.latestRawTileData&&(this.latestFeatureIndex.rawTileData=this.latestRawTileData)),this.collisionBoxArray=t.collisionBoxArray,this.buckets=function(t,e){var r={};if(!e)return r;for(var n=function(){var t=a[i],n=t.layerIds.map((function(t){return e.getLayer(t)})).filter(Boolean);if(0!==n.length){t.layers=n,t.stateDependentLayerIds&&(t.stateDependentLayers=t.stateDependentLayerIds.map((function(t){return n.filter((function(e){return e.id===t}))[0]})));for(var o=0,s=n;o<s.length;o+=1)r[s[o].id]=t}},i=0,a=t;i<a.length;i+=1)n();return r}(t.buckets,e.style),this.hasSymbolBuckets=!1,this.buckets){var i=this.buckets[n];if(i instanceof fc){if(this.hasSymbolBuckets=!0,!r)break;i.justReloaded=!0}}if(this.hasRTLText=!1,this.hasSymbolBuckets)for(var a in this.buckets){var o=this.buckets[a];if(o instanceof fc&&o.hasRTLText){this.hasRTLText=!0,ni.isLoading()||ni.isLoaded()||"deferred"!==ei()||ri();break}}for(var s in this.queryPadding=0,this.buckets){var l=this.buckets[s];this.queryPadding=Math.max(this.queryPadding,e.style.getLayer(s).queryRadius(l))}t.imageAtlas&&(this.imageAtlas=t.imageAtlas),t.glyphAtlasImage&&(this.glyphAtlasImage=t.glyphAtlasImage)}else this.collisionBoxArray=new Xi},$c.prototype.unloadVectorData=function(){for(var t in this.buckets)this.buckets[t].destroy();this.buckets={},this.imageAtlasTexture&&this.imageAtlasTexture.destroy(),this.imageAtlas&&(this.imageAtlas=null),this.glyphAtlasTexture&&this.glyphAtlasTexture.destroy(),this.latestFeatureIndex=null,this.state="unloaded"},$c.prototype.getBucket=function(t){return this.buckets[t.id]},$c.prototype.upload=function(t){for(var e in this.buckets){var r=this.buckets[e];r.uploadPending()&&r.upload(t)}var n=t.gl;this.imageAtlas&&!this.imageAtlas.uploaded&&(this.imageAtlasTexture=new Sc(t,this.imageAtlas.image,n.RGBA),this.imageAtlas.uploaded=!0),this.glyphAtlasImage&&(this.glyphAtlasTexture=new Sc(t,this.glyphAtlasImage,n.ALPHA),this.glyphAtlasImage=null)},$c.prototype.prepare=function(t){this.imageAtlas&&this.imageAtlas.patchUpdatedImages(t,this.imageAtlasTexture)},$c.prototype.queryRenderedFeatures=function(t,e,r,n,i,a,o,s,l,c){return this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData?this.latestFeatureIndex.query({queryGeometry:n,cameraQueryGeometry:i,scale:a,tileSize:this.tileSize,pixelPosMatrix:c,transform:s,params:o,queryPadding:this.queryPadding*l},t,e,r):{}},$c.prototype.querySourceFeatures=function(t,e){var r=this.latestFeatureIndex;if(r&&r.rawTileData){var n=r.loadVTLayers(),i=e?e.sourceLayer:"",a=n._geojsonTileLayer||n[i];if(a)for(var o=rn(e&&e.filter),s=this.tileID.canonical,l=s.z,c=s.x,u=s.y,f={z:l,x:c,y:u},h=0;h<a.length;h++){var p=a.feature(h);if(o.filter(new ii(this.tileID.overscaledZ),p)){var d=r.getId(p,i),g=new Yc(p,l,c,u,d);g.tile=f,t.push(g)}}}},$c.prototype.hasData=function(){return"loaded"===this.state||"reloading"===this.state||"expired"===this.state},$c.prototype.patternsLoaded=function(){return this.imageAtlas&&!!Object.keys(this.imageAtlas.patternPositions).length},$c.prototype.setExpiryData=function(t){var e=this.expirationTime;if(t.cacheControl){var r=M(t.cacheControl);r["max-age"]&&(this.expirationTime=Date.now()+1e3*r["max-age"])}else t.expires&&(this.expirationTime=new Date(t.expires).getTime());if(this.expirationTime){var n=Date.now(),i=!1;if(this.expirationTime>n)i=!1;else if(e)if(this.expirationTime<e)i=!0;else{var a=this.expirationTime-e;a?this.expirationTime=n+Math.max(a,3e4):i=!0}else i=!0;i?(this.expiredRequestCount++,this.state="expired"):this.expiredRequestCount=0}},$c.prototype.getExpiryTimeout=function(){if(this.expirationTime)return this.expiredRequestCount?1e3*(1<<Math.min(this.expiredRequestCount-1,31)):Math.min(this.expirationTime-(new Date).getTime(),Math.pow(2,31)-1)},$c.prototype.setFeatureState=function(t,e){if(this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData&&0!==Object.keys(t).length){var r=this.latestFeatureIndex.loadVTLayers();for(var n in this.buckets)if(e.style.hasLayer(n)){var i=this.buckets[n],a=i.layers[0].sourceLayer||"_geojsonTileLayer",o=r[a],s=t[a];if(o&&s&&0!==Object.keys(s).length){i.update(s,o,this.imageAtlas&&this.imageAtlas.patternPositions||{});var l=e&&e.style&&e.style.getLayer(n);l&&(this.queryPadding=Math.max(this.queryPadding,l.queryRadius(i)))}}}},$c.prototype.holdingForFade=function(){return void 0!==this.symbolFadeHoldUntil},$c.prototype.symbolFadeFinished=function(){return!this.symbolFadeHoldUntil||this.symbolFadeHoldUntil<R.now()},$c.prototype.clearFadeHold=function(){this.symbolFadeHoldUntil=void 0},$c.prototype.setHoldDuration=function(t){this.symbolFadeHoldUntil=R.now()+t},$c.prototype.setDependencies=function(t,e){for(var r={},n=0,i=e;n<i.length;n+=1)r[i[n]]=!0;this.dependencies[t]=r},$c.prototype.hasDependency=function(t,e){for(var r=0,n=t;r<n.length;r+=1){var i=this.dependencies[n[r]];if(i)for(var a=0,o=e;a<o.length;a+=1)if(i[o[a]])return!0}return!1};var tu=self.performance,eu=function(t){this._marks={start:[t.url,"start"].join("#"),end:[t.url,"end"].join("#"),measure:t.url.toString()},tu.mark(this._marks.start)};eu.prototype.finish=function(){tu.mark(this._marks.end);var t=tu.getEntriesByName(this._marks.measure);return 0===t.length&&(tu.measure(this._marks.measure,this._marks.start,this._marks.end),t=tu.getEntriesByName(this._marks.measure),tu.clearMarks(this._marks.start),tu.clearMarks(this._marks.end),tu.clearMeasures(this._marks.measure)),t},t.Actor=Cc,t.AlphaImage=ho,t.CanonicalTileID=jc,t.CollisionBoxArray=Xi,t.Color=Kt,t.DEMData=Hc,t.DataConstantProperty=pi,t.DictionaryCoder=Gc,t.EXTENT=8192,t.ErrorEvent=kt,t.EvaluationParameters=ii,t.Event=Tt,t.Evented=Mt,t.FeatureIndex=Zc,t.FillBucket=rs,t.FillExtrusionBucket=xs,t.ImageAtlas=dl,t.ImagePosition=hl,t.LineBucket=Cs,t.LngLat=Pc,t.LngLatBounds=Ic,t.MercatorCoordinate=Nc,t.ONE_EM=24,t.OverscaledTileID=Vc,t.Point=i,t.Point$1=i,t.Properties=yi,t.Protobuf=Hs,t.RGBAImage=po,t.RequestManager=q,t.RequestPerformance=eu,t.ResourceType=ht,t.SegmentVector=ia,t.SourceFeatureState=Xc,t.StructArrayLayout1ui2=Hi,t.StructArrayLayout2f1f2i16=Di,t.StructArrayLayout2i4=Mi,t.StructArrayLayout3ui6=Fi,t.StructArrayLayout4i8=Ai,t.SymbolBucket=fc,t.Texture=Sc,t.Tile=$c,t.Transitionable=si,t.Uniform1f=va,t.Uniform1i=ma,t.Uniform2f=ya,t.Uniform3f=xa,t.Uniform4f=ba,t.UniformColor=_a,t.UniformMatrix4f=Ta,t.UnwrappedTileID=Uc,t.ValidationError=St,t.WritingMode=gl,t.ZoomHistory=Un,t.add=function(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t},t.addDynamicAttributes=sc,t.asyncAll=function(t,e,r){if(!t.length)return r(null,[]);var n=t.length,i=new Array(t.length),a=null;t.forEach((function(t,o){e(t,(function(t,e){t&&(a=t),i[o]=e,0==--n&&r(a,i)}))}))},t.bezier=o,t.bindAll=g,t.browser=R,t.cacheEntryPossiblyAdded=function(t){++ut>ot&&(t.getActor().send("enforceCacheSizeLimit",at),ut=0)},t.clamp=l,t.clearTileCache=function(t){var e=self.caches.delete("mapbox-tiles");t&&e.catch(t).then((function(){return t()}))},t.clipLine=jl,t.clone=function(t){var e=new to(16);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},t.clone$1=x,t.clone$2=function(t){var e=new to(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e},t.collisionCircleLayout=Ns,t.config=F,t.create=function(){var t=new to(16);return to!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0),t[0]=1,t[5]=1,t[10]=1,t[15]=1,t},t.create$1=function(){var t=new to(9);return to!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[5]=0,t[6]=0,t[7]=0),t[0]=1,t[4]=1,t[8]=1,t},t.create$2=function(){var t=new to(4);return to!=Float32Array&&(t[1]=0,t[2]=0),t[0]=1,t[3]=1,t},t.createCommonjsModule=e,t.createExpression=qr,t.createLayout=Ti,t.createStyleLayer=function(t){return"custom"===t.type?new bc(t):new _c[t.type](t)},t.cross=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2];return t[0]=i*l-a*s,t[1]=a*o-n*l,t[2]=n*s-i*o,t},t.deepEqual=function t(e,r){if(Array.isArray(e)){if(!Array.isArray(r)||e.length!==r.length)return!1;for(var n=0;n<e.length;n++)if(!t(e[n],r[n]))return!1;return!0}if("object"==typeof e&&null!==e&&null!==r){if("object"!=typeof r)return!1;if(Object.keys(e).length!==Object.keys(r).length)return!1;for(var i in e)if(!t(e[i],r[i]))return!1;return!0}return e===r},t.dot=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]},t.dot$1=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]},t.ease=s,t.emitValidationErrors=Cn,t.endsWith=m,t.enforceCacheSizeLimit=function(t){st(),Q&&Q.then((function(e){e.keys().then((function(r){for(var n=0;n<r.length-t;n++)e.delete(r[n])}))}))},t.evaluateSizeForFeature=Il,t.evaluateSizeForZoom=Pl,t.evaluateVariableOffset=$l,t.evented=ti,t.extend=u,t.featureFilter=rn,t.filterObject=y,t.fromRotation=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=r,t[2]=0,t[3]=-r,t[4]=n,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},t.getAnchorAlignment=Al,t.getAnchorJustification=tc,t.getArrayBuffer=yt,t.getImage=bt,t.getJSON=function(t,e){return vt(u(t,{type:"json"}),e)},t.getRTLTextPluginStatus=ei,t.getReferrer=mt,t.getVideo=function(t,e){var r,n,i=self.document.createElement("video");i.muted=!0,i.onloadstart=function(){e(null,i)};for(var a=0;a<t.length;a++){var o=self.document.createElement("source");r=t[a],n=void 0,(n=self.document.createElement("a")).href=r,(n.protocol!==self.document.location.protocol||n.host!==self.document.location.host)&&(i.crossOrigin="Anonymous"),o.src=t[a],i.appendChild(o)}return{cancel:function(){}}},t.identity=eo,t.invert=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],c=e[7],u=e[8],f=e[9],h=e[10],p=e[11],d=e[12],g=e[13],m=e[14],v=e[15],y=r*s-n*o,x=r*l-i*o,b=r*c-a*o,_=n*l-i*s,w=n*c-a*s,T=i*c-a*l,k=u*g-f*d,M=u*m-h*d,A=u*v-p*d,S=f*m-h*g,E=f*v-p*g,C=h*v-p*m,L=y*C-x*E+b*S+_*A-w*M+T*k;return L?(t[0]=(s*C-l*E+c*S)*(L=1/L),t[1]=(i*E-n*C-a*S)*L,t[2]=(g*T-m*w+v*_)*L,t[3]=(h*w-f*T-p*_)*L,t[4]=(l*A-o*C-c*M)*L,t[5]=(r*C-i*A+a*M)*L,t[6]=(m*b-d*T-v*x)*L,t[7]=(u*T-h*b+p*x)*L,t[8]=(o*E-s*A+c*k)*L,t[9]=(n*A-r*E-a*k)*L,t[10]=(d*w-g*b+v*y)*L,t[11]=(f*b-u*w-p*y)*L,t[12]=(s*M-o*S-l*k)*L,t[13]=(r*S-n*M+i*k)*L,t[14]=(g*x-d*_-m*y)*L,t[15]=(u*_-f*x+h*y)*L,t):null},t.isChar=Vn,t.isMapboxURL=H,t.keysDifference=function(t,e){var r=[];for(var n in t)n in e||r.push(n);return r},t.makeRequest=vt,t.mapObject=v,t.mercatorXfromLng=Dc,t.mercatorYfromLat=Rc,t.mercatorZfromAltitude=Fc,t.mul=io,t.multiply=ro,t.mvt=gs,t.normalize=function(t,e){var r=e[0],n=e[1],i=e[2],a=r*r+n*n+i*i;return a>0&&(a=1/Math.sqrt(a)),t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a,t},t.number=Ue,t.offscreenCanvasSupported=ft,t.ortho=function(t,e,r,n,i,a,o){var s=1/(e-r),l=1/(n-i),c=1/(a-o);return t[0]=-2*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*l,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*c,t[11]=0,t[12]=(e+r)*s,t[13]=(i+n)*l,t[14]=(o+a)*c,t[15]=1,t},t.parseGlyphPBF=function(t){return new Hs(t).readFields(ll,[])},t.pbf=Hs,t.performSymbolLayout=function(t,e,r,n,i,a,o){t.createArrays(),t.tilePixelRatio=8192/(512*t.overscaling),t.compareText={},t.iconsNeedLinear=!1;var s=t.layers[0].layout,l=t.layers[0]._unevaluatedLayout._values,c={};if("composite"===t.textSizeData.kind){var u=t.textSizeData,f=u.maxZoom;c.compositeTextSizes=[l["text-size"].possiblyEvaluate(new ii(u.minZoom),o),l["text-size"].possiblyEvaluate(new ii(f),o)]}if("composite"===t.iconSizeData.kind){var h=t.iconSizeData,p=h.maxZoom;c.compositeIconSizes=[l["icon-size"].possiblyEvaluate(new ii(h.minZoom),o),l["icon-size"].possiblyEvaluate(new ii(p),o)]}c.layoutTextSize=l["text-size"].possiblyEvaluate(new ii(t.zoom+1),o),c.layoutIconSize=l["icon-size"].possiblyEvaluate(new ii(t.zoom+1),o),c.textMaxSize=l["text-size"].possiblyEvaluate(new ii(18));for(var d=24*s.get("text-line-height"),g="map"===s.get("text-rotation-alignment")&&"point"!==s.get("symbol-placement"),m=s.get("text-keep-upright"),v=s.get("text-size"),y=function(){var a=b[x],l=s.get("text-font").evaluate(a,{},o).join(","),u=v.evaluate(a,{},o),f=c.layoutTextSize.evaluate(a,{},o),h=c.layoutIconSize.evaluate(a,{},o),p={horizontal:{},vertical:void 0},y=a.text,w=[0,0];if(y){var T=y.toString(),k=24*s.get("text-letter-spacing").evaluate(a,{},o),M=function(t){for(var e=0,r=t;e<r.length;e+=1)if(n=r[e].charCodeAt(0),Vn.Arabic(n)||Vn["Arabic Supplement"](n)||Vn["Arabic Extended-A"](n)||Vn["Arabic Presentation Forms-A"](n)||Vn["Arabic Presentation Forms-B"](n))return!1;var n;return!0}(T)?k:0,A=s.get("text-anchor").evaluate(a,{},o),S=s.get("text-variable-anchor");if(!S){var E=s.get("text-radial-offset").evaluate(a,{},o);w=E?$l(A,[24*E,Ql]):s.get("text-offset").evaluate(a,{},o).map((function(t){return 24*t}))}var C=g?"center":s.get("text-justify").evaluate(a,{},o),L=s.get("symbol-placement"),I="point"===L?24*s.get("text-max-width").evaluate(a,{},o):0,P=function(){t.allowVerticalPlacement&&qn(T)&&(p.vertical=yl(y,e,r,i,l,I,d,A,"left",M,w,gl.vertical,!0,L,f,u))};if(!g&&S){for(var z="auto"===C?S.map((function(t){return tc(t)})):[C],O=!1,D=0;D<z.length;D++){var R=z[D];if(!p.horizontal[R])if(O)p.horizontal[R]=p.horizontal[0];else{var F=yl(y,e,r,i,l,I,d,"center",R,M,w,gl.horizontal,!1,L,f,u);F&&(p.horizontal[R]=F,O=1===F.positionedLines.length)}}P()}else{"auto"===C&&(C=tc(A));var B=yl(y,e,r,i,l,I,d,A,C,M,w,gl.horizontal,!1,L,f,u);B&&(p.horizontal[C]=B),P(),qn(T)&&g&&m&&(p.vertical=yl(y,e,r,i,l,I,d,A,C,M,w,gl.vertical,!1,L,f,u))}}var N=void 0,j=!1;if(a.icon&&a.icon.name){var U=n[a.icon.name];U&&(N=function(t,e,r){var n=Al(r),i=e[0]-t.displaySize[0]*n.horizontalAlign,a=e[1]-t.displaySize[1]*n.verticalAlign;return{image:t,top:a,bottom:a+t.displaySize[1],left:i,right:i+t.displaySize[0]}}(i[a.icon.name],s.get("icon-offset").evaluate(a,{},o),s.get("icon-anchor").evaluate(a,{},o)),j=U.sdf,void 0===t.sdfIcons?t.sdfIcons=U.sdf:t.sdfIcons!==U.sdf&&_("Style sheet warning: Cannot mix SDF and non-SDF icons in one buffer"),(U.pixelRatio!==t.pixelRatio||0!==s.get("icon-rotate").constantOr(1))&&(t.iconsNeedLinear=!0))}var V=rc(p.horizontal)||p.vertical;t.iconsInText=!!V&&V.iconsInText,(V||N)&&function(t,e,r,n,i,a,o,s,l,c,u){var f=a.textMaxSize.evaluate(e,{});void 0===f&&(f=o);var h,p=t.layers[0].layout,d=p.get("icon-offset").evaluate(e,{},u),g=rc(r.horizontal),m=o/24,v=t.tilePixelRatio*m,y=t.tilePixelRatio*f/24,x=t.tilePixelRatio*s,b=t.tilePixelRatio*p.get("symbol-spacing"),w=p.get("text-padding")*t.tilePixelRatio,T=p.get("icon-padding")*t.tilePixelRatio,k=p.get("text-max-angle")/180*Math.PI,M="map"===p.get("text-rotation-alignment")&&"point"!==p.get("symbol-placement"),A="map"===p.get("icon-rotation-alignment")&&"point"!==p.get("symbol-placement"),S=p.get("symbol-placement"),E=b/2,C=p.get("icon-text-fit");n&&"none"!==C&&(t.allowVerticalPlacement&&r.vertical&&(h=El(n,r.vertical,C,p.get("icon-text-fit-padding"),d,m)),g&&(n=El(n,g,C,p.get("icon-text-fit-padding"),d,m)));var L=function(s,f){f.x<0||f.x>=8192||f.y<0||f.y>=8192||function(t,e,r,n,i,a,o,s,l,c,u,f,h,p,d,g,m,v,y,x,b,w,T,k,M){var A,S,E,C,L,I=t.addToLineVertexArray(e,r),P=0,z=0,O=0,D=0,R=-1,F=-1,B={},N=ca(""),j=0,U=0;if(void 0===s._unevaluatedLayout.getValue("text-radial-offset")?(j=(A=s.layout.get("text-offset").evaluate(b,{},k).map((function(t){return 24*t})))[0],U=A[1]):(j=24*s.layout.get("text-radial-offset").evaluate(b,{},k),U=Ql),t.allowVerticalPlacement&&n.vertical){var V=s.layout.get("text-rotate").evaluate(b,{},k)+90;C=new Yl(l,e,c,u,f,n.vertical,h,p,d,V),o&&(L=new Yl(l,e,c,u,f,o,m,v,d,V))}if(i){var q=s.layout.get("icon-rotate").evaluate(b,{}),H="none"!==s.layout.get("icon-text-fit"),G=Ul(i,q,T,H),Y=o?Ul(o,q,T,H):void 0;E=new Yl(l,e,c,u,f,i,m,v,!1,q),P=4*G.length;var W=t.iconSizeData,X=null;"source"===W.kind?(X=[128*s.layout.get("icon-size").evaluate(b,{})])[0]>32640&&_(t.layerIds[0]+': Value for "icon-size" is >= 255. Reduce your "icon-size".'):"composite"===W.kind&&((X=[128*w.compositeIconSizes[0].evaluate(b,{},k),128*w.compositeIconSizes[1].evaluate(b,{},k)])[0]>32640||X[1]>32640)&&_(t.layerIds[0]+': Value for "icon-size" is >= 255. Reduce your "icon-size".'),t.addSymbols(t.icon,G,X,x,y,b,!1,e,I.lineStartIndex,I.lineLength,-1,k),R=t.icon.placedSymbolArray.length-1,Y&&(z=4*Y.length,t.addSymbols(t.icon,Y,X,x,y,b,gl.vertical,e,I.lineStartIndex,I.lineLength,-1,k),F=t.icon.placedSymbolArray.length-1)}for(var Z in n.horizontal){var J=n.horizontal[Z];if(!S){N=ca(J.text);var K=s.layout.get("text-rotate").evaluate(b,{},k);S=new Yl(l,e,c,u,f,J,h,p,d,K)}var Q=1===J.positionedLines.length;if(O+=ec(t,e,J,a,s,d,b,g,I,n.vertical?gl.horizontal:gl.horizontalOnly,Q?Object.keys(n.horizontal):[Z],B,R,w,k),Q)break}n.vertical&&(D+=ec(t,e,n.vertical,a,s,d,b,g,I,gl.vertical,["vertical"],B,F,w,k));var $=S?S.boxStartIndex:t.collisionBoxArray.length,tt=S?S.boxEndIndex:t.collisionBoxArray.length,et=C?C.boxStartIndex:t.collisionBoxArray.length,rt=C?C.boxEndIndex:t.collisionBoxArray.length,nt=E?E.boxStartIndex:t.collisionBoxArray.length,it=E?E.boxEndIndex:t.collisionBoxArray.length,at=L?L.boxStartIndex:t.collisionBoxArray.length,ot=L?L.boxEndIndex:t.collisionBoxArray.length,st=-1,lt=function(t,e){return t&&t.circleDiameter?Math.max(t.circleDiameter,e):e};st=lt(S,st),st=lt(C,st),st=lt(E,st);var ct=(st=lt(L,st))>-1?1:0;ct&&(st*=M/24),t.glyphOffsetArray.length>=fc.MAX_GLYPHS&&_("Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907"),void 0!==b.sortKey&&t.addToSortKeyRanges(t.symbolInstances.length,b.sortKey),t.symbolInstances.emplaceBack(e.x,e.y,B.right>=0?B.right:-1,B.center>=0?B.center:-1,B.left>=0?B.left:-1,B.vertical||-1,R,F,N,$,tt,et,rt,nt,it,at,ot,c,O,D,P,z,ct,0,h,j,U,st)}(t,f,s,r,n,i,h,t.layers[0],t.collisionBoxArray,e.index,e.sourceLayerIndex,t.index,v,w,M,l,x,T,A,d,e,a,c,u,o)};if("line"===S)for(var I=0,P=jl(e.geometry,0,0,8192,8192);I<P.length;I+=1)for(var z=P[I],O=0,D=Nl(z,b,k,r.vertical||g,n,24,y,t.overscaling,8192);O<D.length;O+=1){var R=D[O];g&&nc(t,g.text,E,R)||L(z,R)}else if("line-center"===S)for(var F=0,B=e.geometry;F<B.length;F+=1){var N=B[F];if(N.length>1){var j=Bl(N,k,r.vertical||g,n,24,y);j&&L(N,j)}}else if("Polygon"===e.type)for(var U=0,V=Qo(e.geometry,0);U<V.length;U+=1){var q=V[U],H=Zl(q,16);L(q[0],new Cl(H.x,H.y,0))}else if("LineString"===e.type)for(var G=0,Y=e.geometry;G<Y.length;G+=1){var W=Y[G];L(W,new Cl(W[0].x,W[0].y,0))}else if("Point"===e.type)for(var X=0,Z=e.geometry;X<Z.length;X+=1)for(var J=0,K=Z[X];J<K.length;J+=1){var Q=K[J];L([Q],new Cl(Q.x,Q.y,0))}}(t,a,p,N,n,c,f,h,w,j,o)},x=0,b=t.features;x<b.length;x+=1)y();a&&t.generateCollisionDebugBuffers()},t.perspective=function(t,e,r,n,i){var a,o=1/Math.tan(e/2);return t[0]=o/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=o,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=-1,t[12]=0,t[13]=0,t[15]=0,null!=i&&i!==1/0?(t[10]=(i+n)*(a=1/(n-i)),t[14]=2*i*n*a):(t[10]=-1,t[14]=-2*n),t},t.pick=function(t,e){for(var r={},n=0;n<e.length;n++){var i=e[n];i in t&&(r[i]=t[i])}return r},t.plugin=ni,t.polygonIntersectsPolygon=Ba,t.postMapLoadEvent=it,t.postTurnstileEvent=rt,t.potpack=fl,t.refProperties=["type","source","source-layer","minzoom","maxzoom","filter","layout"],t.register=Dn,t.registerForPluginStateChange=function(t){return t({pluginStatus:Jn,pluginURL:Kn}),ti.on("pluginStateChange",t),t},t.rotate=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=Math.sin(r),l=Math.cos(r);return t[0]=n*l+a*s,t[1]=i*l+o*s,t[2]=n*-s+a*l,t[3]=i*-s+o*l,t},t.rotateX=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[4],o=e[5],s=e[6],l=e[7],c=e[8],u=e[9],f=e[10],h=e[11];return e!==t&&(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[4]=a*i+c*n,t[5]=o*i+u*n,t[6]=s*i+f*n,t[7]=l*i+h*n,t[8]=c*i-a*n,t[9]=u*i-o*n,t[10]=f*i-s*n,t[11]=h*i-l*n,t},t.rotateZ=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[0],o=e[1],s=e[2],l=e[3],c=e[4],u=e[5],f=e[6],h=e[7];return e!==t&&(t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=a*i+c*n,t[1]=o*i+u*n,t[2]=s*i+f*n,t[3]=l*i+h*n,t[4]=c*i-a*n,t[5]=u*i-o*n,t[6]=f*i-s*n,t[7]=h*i-l*n,t},t.scale=function(t,e,r){var n=r[0],i=r[1],a=r[2];return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t[4]=e[4]*i,t[5]=e[5]*i,t[6]=e[6]*i,t[7]=e[7]*i,t[8]=e[8]*a,t[9]=e[9]*a,t[10]=e[10]*a,t[11]=e[11]*a,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},t.scale$1=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t},t.scale$2=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t},t.setCacheLimits=function(t,e){at=t,ot=e},t.setRTLTextPlugin=function(t,e,r){if(void 0===r&&(r=!1),"deferred"===Jn||"loading"===Jn||"loaded"===Jn)throw new Error("setRTLTextPlugin cannot be called multiple times.");Kn=R.resolveURL(t),Jn="deferred",Zn=e,$n(),r||ri()},t.sphericalToCartesian=function(t){var e=t[0],r=t[1],n=t[2];return r+=90,r*=Math.PI/180,n*=Math.PI/180,{x:e*Math.cos(r)*Math.sin(n),y:e*Math.sin(r)*Math.sin(n),z:e*Math.cos(n)}},t.sqrLen=function(t){var e=t[0],r=t[1];return e*e+r*r},t.styleSpec=At,t.sub=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t},t.symbolSize=zl,t.transformMat3=function(t,e,r){var n=e[0],i=e[1],a=e[2];return t[0]=n*r[0]+i*r[3]+a*r[6],t[1]=n*r[1]+i*r[4]+a*r[7],t[2]=n*r[2]+i*r[5]+a*r[8],t},t.transformMat4=ao,t.translate=function(t,e,r){var n,i,a,o,s,l,c,u,f,h,p,d,g=r[0],m=r[1],v=r[2];return e===t?(t[12]=e[0]*g+e[4]*m+e[8]*v+e[12],t[13]=e[1]*g+e[5]*m+e[9]*v+e[13],t[14]=e[2]*g+e[6]*m+e[10]*v+e[14],t[15]=e[3]*g+e[7]*m+e[11]*v+e[15]):(i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],c=e[6],u=e[7],f=e[8],h=e[9],p=e[10],d=e[11],t[0]=n=e[0],t[1]=i,t[2]=a,t[3]=o,t[4]=s,t[5]=l,t[6]=c,t[7]=u,t[8]=f,t[9]=h,t[10]=p,t[11]=d,t[12]=n*g+s*m+f*v+e[12],t[13]=i*g+l*m+h*v+e[13],t[14]=a*g+c*m+p*v+e[14],t[15]=o*g+u*m+d*v+e[15]),t},t.triggerPluginCompletionEvent=Qn,t.uniqueId=h,t.validateCustomStyleLayer=function(t){var e=[],r=t.id;return void 0===r&&e.push({message:"layers."+r+': missing required property "id"'}),void 0===t.render&&e.push({message:"layers."+r+': missing required method "render"'}),t.renderingMode&&"2d"!==t.renderingMode&&"3d"!==t.renderingMode&&e.push({message:"layers."+r+': property "renderingMode" must be either "2d" or "3d"'}),e},t.validateLight=An,t.validateStyle=Mn,t.values=function(t){var e=[];for(var r in t)e.push(t[r]);return e},t.vectorTile=gs,t.version="1.10.1",t.warnOnce=_,t.webpSupported=B,t.window=self,t.wrap=c})),n(0,(function(t){function e(t){var r=typeof t;if("number"===r||"boolean"===r||"string"===r||null==t)return JSON.stringify(t);if(Array.isArray(t)){for(var n="[",i=0,a=t;i<a.length;i+=1)n+=e(a[i])+",";return n+"]"}for(var o=Object.keys(t).sort(),s="{",l=0;l<o.length;l++)s+=JSON.stringify(o[l])+":"+e(t[o[l]])+",";return s+"}"}function r(r){for(var n="",i=0,a=t.refProperties;i<a.length;i+=1)n+="/"+e(r[a[i]]);return n}var n=function(t){this.keyCache={},t&&this.replace(t)};n.prototype.replace=function(t){this._layerConfigs={},this._layers={},this.update(t,[])},n.prototype.update=function(e,n){for(var i=this,a=0,o=e;a<o.length;a+=1){var s=o[a];this._layerConfigs[s.id]=s;var l=this._layers[s.id]=t.createStyleLayer(s);l._featureFilter=t.featureFilter(l.filter),this.keyCache[s.id]&&delete this.keyCache[s.id]}for(var c=0,u=n;c<u.length;c+=1){var f=u[c];delete this.keyCache[f],delete this._layerConfigs[f],delete this._layers[f]}this.familiesBySource={};for(var h=0,p=function(t,e){for(var n={},i=0;i<t.length;i++){var a=e&&e[t[i].id]||r(t[i]);e&&(e[t[i].id]=a);var o=n[a];o||(o=n[a]=[]),o.push(t[i])}var s=[];for(var l in n)s.push(n[l]);return s}(t.values(this._layerConfigs),this.keyCache);h<p.length;h+=1){var d=p[h].map((function(t){return i._layers[t.id]})),g=d[0];if("none"!==g.visibility){var m=g.source||"",v=this.familiesBySource[m];v||(v=this.familiesBySource[m]={});var y=g.sourceLayer||"_geojsonTileLayer",x=v[y];x||(x=v[y]=[]),x.push(d)}}};var i=function(e){var r={},n=[];for(var i in e){var a=e[i],o=r[i]={};for(var s in a){var l=a[+s];if(l&&0!==l.bitmap.width&&0!==l.bitmap.height){var c={x:0,y:0,w:l.bitmap.width+2,h:l.bitmap.height+2};n.push(c),o[s]={rect:c,metrics:l.metrics}}}}var u=t.potpack(n),f=new t.AlphaImage({width:u.w||1,height:u.h||1});for(var h in e){var p=e[h];for(var d in p){var g=p[+d];if(g&&0!==g.bitmap.width&&0!==g.bitmap.height){var m=r[h][d].rect;t.AlphaImage.copy(g.bitmap,f,{x:0,y:0},{x:m.x+1,y:m.y+1},g.bitmap)}}}this.image=f,this.positions=r};t.register("GlyphAtlas",i);var a=function(e){this.tileID=new t.OverscaledTileID(e.tileID.overscaledZ,e.tileID.wrap,e.tileID.canonical.z,e.tileID.canonical.x,e.tileID.canonical.y),this.uid=e.uid,this.zoom=e.zoom,this.pixelRatio=e.pixelRatio,this.tileSize=e.tileSize,this.source=e.source,this.overscaling=this.tileID.overscaleFactor(),this.showCollisionBoxes=e.showCollisionBoxes,this.collectResourceTiming=!!e.collectResourceTiming,this.returnDependencies=!!e.returnDependencies,this.promoteId=e.promoteId};function o(e,r,n){for(var i=new t.EvaluationParameters(r),a=0,o=e;a<o.length;a+=1)o[a].recalculate(i,n)}function s(e,r){var n=t.getArrayBuffer(e.request,(function(e,n,i,a){e?r(e):n&&r(null,{vectorTile:new t.vectorTile.VectorTile(new t.pbf(n)),rawData:n,cacheControl:i,expires:a})}));return function(){n.cancel(),r()}}a.prototype.parse=function(e,r,n,a,s){var l=this;this.status="parsing",this.data=e,this.collisionBoxArray=new t.CollisionBoxArray;var c=new t.DictionaryCoder(Object.keys(e.layers).sort()),u=new t.FeatureIndex(this.tileID,this.promoteId);u.bucketLayerIDs=[];var f,h,p,d,g={},m={featureIndex:u,iconDependencies:{},patternDependencies:{},glyphDependencies:{},availableImages:n},v=r.familiesBySource[this.source];for(var y in v){var x=e.layers[y];if(x){1===x.version&&t.warnOnce('Vector tile source "'+this.source+'" layer "'+y+'" does not use vector tile spec v2 and therefore may have some rendering errors.');for(var b=c.encode(y),_=[],w=0;w<x.length;w++){var T=x.feature(w),k=u.getId(T,y);_.push({feature:T,id:k,index:w,sourceLayerIndex:b})}for(var M=0,A=v[y];M<A.length;M+=1){var S=A[M],E=S[0];E.minzoom&&this.zoom<Math.floor(E.minzoom)||E.maxzoom&&this.zoom>=E.maxzoom||"none"!==E.visibility&&(o(S,this.zoom,n),(g[E.id]=E.createBucket({index:u.bucketLayerIDs.length,layers:S,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:b,sourceID:this.source})).populate(_,m,this.tileID.canonical),u.bucketLayerIDs.push(S.map((function(t){return t.id}))))}}}var C=t.mapObject(m.glyphDependencies,(function(t){return Object.keys(t).map(Number)}));Object.keys(C).length?a.send("getGlyphs",{uid:this.uid,stacks:C},(function(t,e){f||(f=t,h=e,P.call(l))})):h={};var L=Object.keys(m.iconDependencies);L.length?a.send("getImages",{icons:L,source:this.source,tileID:this.tileID,type:"icons"},(function(t,e){f||(f=t,p=e,P.call(l))})):p={};var I=Object.keys(m.patternDependencies);function P(){if(f)return s(f);if(h&&p&&d){var e=new i(h),r=new t.ImageAtlas(p,d);for(var a in g){var l=g[a];l instanceof t.SymbolBucket?(o(l.layers,this.zoom,n),t.performSymbolLayout(l,h,e.positions,p,r.iconPositions,this.showCollisionBoxes,this.tileID.canonical)):l.hasPattern&&(l instanceof t.LineBucket||l instanceof t.FillBucket||l instanceof t.FillExtrusionBucket)&&(o(l.layers,this.zoom,n),l.addFeatures(m,this.tileID.canonical,r.patternPositions))}this.status="done",s(null,{buckets:t.values(g).filter((function(t){return!t.isEmpty()})),featureIndex:u,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:e.image,imageAtlas:r,glyphMap:this.returnDependencies?h:null,iconMap:this.returnDependencies?p:null,glyphPositions:this.returnDependencies?e.positions:null})}}I.length?a.send("getImages",{icons:I,source:this.source,tileID:this.tileID,type:"patterns"},(function(t,e){f||(f=t,d=e,P.call(l))})):d={},P.call(this)};var l=function(t,e,r,n){this.actor=t,this.layerIndex=e,this.availableImages=r,this.loadVectorData=n||s,this.loading={},this.loaded={}};l.prototype.loadTile=function(e,r){var n=this,i=e.uid;this.loading||(this.loading={});var o=!!(e&&e.request&&e.request.collectResourceTiming)&&new t.RequestPerformance(e.request),s=this.loading[i]=new a(e);s.abort=this.loadVectorData(e,(function(e,a){if(delete n.loading[i],e||!a)return s.status="done",n.loaded[i]=s,r(e);var l=a.rawData,c={};a.expires&&(c.expires=a.expires),a.cacheControl&&(c.cacheControl=a.cacheControl);var u={};if(o){var f=o.finish();f&&(u.resourceTiming=JSON.parse(JSON.stringify(f)))}s.vectorTile=a.vectorTile,s.parse(a.vectorTile,n.layerIndex,n.availableImages,n.actor,(function(e,n){if(e||!n)return r(e);r(null,t.extend({rawTileData:l.slice(0)},n,c,u))})),n.loaded=n.loaded||{},n.loaded[i]=s}))},l.prototype.reloadTile=function(t,e){var r=this,n=this.loaded,i=t.uid,a=this;if(n&&n[i]){var o=n[i];o.showCollisionBoxes=t.showCollisionBoxes;var s=function(t,n){var i=o.reloadCallback;i&&(delete o.reloadCallback,o.parse(o.vectorTile,a.layerIndex,r.availableImages,a.actor,i)),e(t,n)};"parsing"===o.status?o.reloadCallback=s:"done"===o.status&&(o.vectorTile?o.parse(o.vectorTile,this.layerIndex,this.availableImages,this.actor,s):s())}},l.prototype.abortTile=function(t,e){var r=this.loading,n=t.uid;r&&r[n]&&r[n].abort&&(r[n].abort(),delete r[n]),e()},l.prototype.removeTile=function(t,e){var r=this.loaded,n=t.uid;r&&r[n]&&delete r[n],e()};var c=t.window.ImageBitmap,u=function(){this.loaded={}};function f(t,e){if(0!==t.length){h(t[0],e);for(var r=1;r<t.length;r++)h(t[r],!e)}}function h(t,e){for(var r=0,n=0,i=t.length,a=i-1;n<i;a=n++)r+=(t[n][0]-t[a][0])*(t[a][1]+t[n][1]);r>=0!=!!e&&t.reverse()}u.prototype.loadTile=function(e,r){var n=e.uid,i=e.encoding,a=e.rawImageData,o=c&&a instanceof c?this.getImageData(a):a,s=new t.DEMData(n,o,i);this.loaded=this.loaded||{},this.loaded[n]=s,r(null,s)},u.prototype.getImageData=function(e){this.offscreenCanvas&&this.offscreenCanvasContext||(this.offscreenCanvas=new OffscreenCanvas(e.width,e.height),this.offscreenCanvasContext=this.offscreenCanvas.getContext("2d")),this.offscreenCanvas.width=e.width,this.offscreenCanvas.height=e.height,this.offscreenCanvasContext.drawImage(e,0,0,e.width,e.height);var r=this.offscreenCanvasContext.getImageData(-1,-1,e.width+2,e.height+2);return this.offscreenCanvasContext.clearRect(0,0,this.offscreenCanvas.width,this.offscreenCanvas.height),new t.RGBAImage({width:r.width,height:r.height},r.data)},u.prototype.removeTile=function(t){var e=this.loaded,r=t.uid;e&&e[r]&&delete e[r]};var p=t.vectorTile.VectorTileFeature.prototype.toGeoJSON,d=function(e){this._feature=e,this.extent=t.EXTENT,this.type=e.type,this.properties=e.tags,"id"in e&&!isNaN(e.id)&&(this.id=parseInt(e.id,10))};d.prototype.loadGeometry=function(){if(1===this._feature.type){for(var e=[],r=0,n=this._feature.geometry;r<n.length;r+=1){var i=n[r];e.push([new t.Point$1(i[0],i[1])])}return e}for(var a=[],o=0,s=this._feature.geometry;o<s.length;o+=1){for(var l=[],c=0,u=s[o];c<u.length;c+=1){var f=u[c];l.push(new t.Point$1(f[0],f[1]))}a.push(l)}return a},d.prototype.toGeoJSON=function(t,e,r){return p.call(this,t,e,r)};var g=function(e){this.layers={_geojsonTileLayer:this},this.name="_geojsonTileLayer",this.extent=t.EXTENT,this.length=e.length,this._features=e};g.prototype.feature=function(t){return new d(this._features[t])};var m=t.vectorTile.VectorTileFeature,v=y;function y(t,e){this.options=e||{},this.features=t,this.length=t.length}function x(t,e){this.id="number"==typeof t.id?t.id:void 0,this.type=t.type,this.rawGeometry=1===t.type?[t.geometry]:t.geometry,this.properties=t.tags,this.extent=e||4096}y.prototype.feature=function(t){return new x(this.features[t],this.options.extent)},x.prototype.loadGeometry=function(){var e=this.rawGeometry;this.geometry=[];for(var r=0;r<e.length;r++){for(var n=e[r],i=[],a=0;a<n.length;a++)i.push(new t.Point$1(n[a][0],n[a][1]));this.geometry.push(i)}return this.geometry},x.prototype.bbox=function(){this.geometry||this.loadGeometry();for(var t=this.geometry,e=1/0,r=-1/0,n=1/0,i=-1/0,a=0;a<t.length;a++)for(var o=t[a],s=0;s<o.length;s++){var l=o[s];e=Math.min(e,l.x),r=Math.max(r,l.x),n=Math.min(n,l.y),i=Math.max(i,l.y)}return[e,n,r,i]},x.prototype.toGeoJSON=m.prototype.toGeoJSON;var b=w,_=v;function w(e){var r=new t.pbf;return function(t,e){for(var r in t.layers)e.writeMessage(3,T,t.layers[r])}(e,r),r.finish()}function T(t,e){var r;e.writeVarintField(15,t.version||1),e.writeStringField(1,t.name||""),e.writeVarintField(5,t.extent||4096);var n={keys:[],values:[],keycache:{},valuecache:{}};for(r=0;r<t.length;r++)n.feature=t.feature(r),e.writeMessage(2,k,n);var i=n.keys;for(r=0;r<i.length;r++)e.writeStringField(3,i[r]);var a=n.values;for(r=0;r<a.length;r++)e.writeMessage(4,C,a[r])}function k(t,e){var r=t.feature;void 0!==r.id&&e.writeVarintField(1,r.id),e.writeMessage(2,M,t),e.writeVarintField(3,r.type),e.writeMessage(4,E,r)}function M(t,e){var r=t.feature,n=t.keys,i=t.values,a=t.keycache,o=t.valuecache;for(var s in r.properties){var l=a[s];void 0===l&&(n.push(s),a[s]=l=n.length-1),e.writeVarint(l);var c=r.properties[s],u=typeof c;"string"!==u&&"boolean"!==u&&"number"!==u&&(c=JSON.stringify(c));var f=u+":"+c,h=o[f];void 0===h&&(i.push(c),o[f]=h=i.length-1),e.writeVarint(h)}}function A(t,e){return(e<<3)+(7&t)}function S(t){return t<<1^t>>31}function E(t,e){for(var r=t.loadGeometry(),n=t.type,i=0,a=0,o=r.length,s=0;s<o;s++){var l=r[s],c=1;1===n&&(c=l.length),e.writeVarint(A(1,c));for(var u=3===n?l.length-1:l.length,f=0;f<u;f++){1===f&&1!==n&&e.writeVarint(A(2,u-1));var h=l[f].x-i,p=l[f].y-a;e.writeVarint(S(h)),e.writeVarint(S(p)),i+=h,a+=p}3===n&&e.writeVarint(A(7,1))}}function C(t,e){var r=typeof t;"string"===r?e.writeStringField(1,t):"boolean"===r?e.writeBooleanField(7,t):"number"===r&&(t%1!=0?e.writeDoubleField(3,t):t<0?e.writeSVarintField(6,t):e.writeVarintField(5,t))}function L(t,e,r,n){I(t,r,n),I(e,2*r,2*n),I(e,2*r+1,2*n+1)}function I(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function P(t,e,r,n){var i=t-r,a=e-n;return i*i+a*a}b.fromVectorTileJs=w,b.fromGeojsonVt=function(t,e){e=e||{};var r={};for(var n in t)r[n]=new v(t[n].features,e),r[n].name=n,r[n].version=e.version,r[n].extent=e.extent;return w({layers:r})},b.GeoJSONWrapper=_;var z=function(t){return t[0]},O=function(t){return t[1]},D=function(t,e,r,n,i){void 0===e&&(e=z),void 0===r&&(r=O),void 0===n&&(n=64),void 0===i&&(i=Float64Array),this.nodeSize=n,this.points=t;for(var a=t.length<65536?Uint16Array:Uint32Array,o=this.ids=new a(t.length),s=this.coords=new i(2*t.length),l=0;l<t.length;l++)o[l]=l,s[2*l]=e(t[l]),s[2*l+1]=r(t[l]);!function t(e,r,n,i,a,o){if(!(a-i<=n)){var s=i+a>>1;!function t(e,r,n,i,a,o){for(;a>i;){if(a-i>600){var s=a-i+1,l=n-i+1,c=Math.log(s),u=.5*Math.exp(2*c/3),f=.5*Math.sqrt(c*u*(s-u)/s)*(l-s/2<0?-1:1);t(e,r,n,Math.max(i,Math.floor(n-l*u/s+f)),Math.min(a,Math.floor(n+(s-l)*u/s+f)),o)}var h=r[2*n+o],p=i,d=a;for(L(e,r,i,n),r[2*a+o]>h&&L(e,r,i,a);p<d;){for(L(e,r,p,d),p++,d--;r[2*p+o]<h;)p++;for(;r[2*d+o]>h;)d--}r[2*i+o]===h?L(e,r,i,d):L(e,r,++d,a),d<=n&&(i=d+1),n<=d&&(a=d-1)}}(e,r,s,i,a,o%2),t(e,r,n,i,s-1,o+1),t(e,r,n,s+1,a,o+1)}}(o,s,n,0,o.length-1,0)};D.prototype.range=function(t,e,r,n){return function(t,e,r,n,i,a,o){for(var s,l,c=[0,t.length-1,0],u=[];c.length;){var f=c.pop(),h=c.pop(),p=c.pop();if(h-p<=o)for(var d=p;d<=h;d++)l=e[2*d+1],(s=e[2*d])>=r&&s<=i&&l>=n&&l<=a&&u.push(t[d]);else{var g=Math.floor((p+h)/2);l=e[2*g+1],(s=e[2*g])>=r&&s<=i&&l>=n&&l<=a&&u.push(t[g]);var m=(f+1)%2;(0===f?r<=s:n<=l)&&(c.push(p),c.push(g-1),c.push(m)),(0===f?i>=s:a>=l)&&(c.push(g+1),c.push(h),c.push(m))}}return u}(this.ids,this.coords,t,e,r,n,this.nodeSize)},D.prototype.within=function(t,e,r){return function(t,e,r,n,i,a){for(var o=[0,t.length-1,0],s=[],l=i*i;o.length;){var c=o.pop(),u=o.pop(),f=o.pop();if(u-f<=a)for(var h=f;h<=u;h++)P(e[2*h],e[2*h+1],r,n)<=l&&s.push(t[h]);else{var p=Math.floor((f+u)/2),d=e[2*p],g=e[2*p+1];P(d,g,r,n)<=l&&s.push(t[p]);var m=(c+1)%2;(0===c?r-i<=d:n-i<=g)&&(o.push(f),o.push(p-1),o.push(m)),(0===c?r+i>=d:n+i>=g)&&(o.push(p+1),o.push(u),o.push(m))}}return s}(this.ids,this.coords,t,e,r,this.nodeSize)};var R={minZoom:0,maxZoom:16,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:function(t){return t}},F=function(t){this.options=H(Object.create(R),t),this.trees=new Array(this.options.maxZoom+1)};function B(t,e,r,n,i){return{x:t,y:e,zoom:1/0,id:r,parentId:-1,numPoints:n,properties:i}}function N(t,e){var r=t.geometry.coordinates,n=r[1];return{x:V(r[0]),y:q(n),zoom:1/0,index:e,parentId:-1}}function j(t){return{type:"Feature",id:t.id,properties:U(t),geometry:{type:"Point",coordinates:[(n=t.x,360*(n-.5)),(e=t.y,r=(180-360*e)*Math.PI/180,360*Math.atan(Math.exp(r))/Math.PI-90)]}};var e,r,n}function U(t){var e=t.numPoints,r=e>=1e4?Math.round(e/1e3)+"k":e>=1e3?Math.round(e/100)/10+"k":e;return H(H({},t.properties),{cluster:!0,cluster_id:t.id,point_count:e,point_count_abbreviated:r})}function V(t){return t/360+.5}function q(t){var e=Math.sin(t*Math.PI/180),r=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return r<0?0:r>1?1:r}function H(t,e){for(var r in e)t[r]=e[r];return t}function G(t){return t.x}function Y(t){return t.y}function W(t,e,r,n,i,a){var o=i-r,s=a-n;if(0!==o||0!==s){var l=((t-r)*o+(e-n)*s)/(o*o+s*s);l>1?(r=i,n=a):l>0&&(r+=o*l,n+=s*l)}return(o=t-r)*o+(s=e-n)*s}function X(t,e,r,n){var i={id:void 0===t?null:t,type:e,geometry:r,tags:n,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};return function(t){var e=t.geometry,r=t.type;if("Point"===r||"MultiPoint"===r||"LineString"===r)Z(t,e);else if("Polygon"===r||"MultiLineString"===r)for(var n=0;n<e.length;n++)Z(t,e[n]);else if("MultiPolygon"===r)for(n=0;n<e.length;n++)for(var i=0;i<e[n].length;i++)Z(t,e[n][i])}(i),i}function Z(t,e){for(var r=0;r<e.length;r+=3)t.minX=Math.min(t.minX,e[r]),t.minY=Math.min(t.minY,e[r+1]),t.maxX=Math.max(t.maxX,e[r]),t.maxY=Math.max(t.maxY,e[r+1])}function J(t,e,r,n){if(e.geometry){var i=e.geometry.coordinates,a=e.geometry.type,o=Math.pow(r.tolerance/((1<<r.maxZoom)*r.extent),2),s=[],l=e.id;if(r.promoteId?l=e.properties[r.promoteId]:r.generateId&&(l=n||0),"Point"===a)K(i,s);else if("MultiPoint"===a)for(var c=0;c<i.length;c++)K(i[c],s);else if("LineString"===a)Q(i,s,o,!1);else if("MultiLineString"===a){if(r.lineMetrics){for(c=0;c<i.length;c++)Q(i[c],s=[],o,!1),t.push(X(l,"LineString",s,e.properties));return}$(i,s,o,!1)}else if("Polygon"===a)$(i,s,o,!0);else{if("MultiPolygon"!==a){if("GeometryCollection"===a){for(c=0;c<e.geometry.geometries.length;c++)J(t,{id:l,geometry:e.geometry.geometries[c],properties:e.properties},r,n);return}throw new Error("Input data is not a valid GeoJSON object.")}for(c=0;c<i.length;c++){var u=[];$(i[c],u,o,!0),s.push(u)}}t.push(X(l,a,s,e.properties))}}function K(t,e){e.push(tt(t[0])),e.push(et(t[1])),e.push(0)}function Q(t,e,r,n){for(var i,a,o=0,s=0;s<t.length;s++){var l=tt(t[s][0]),c=et(t[s][1]);e.push(l),e.push(c),e.push(0),s>0&&(o+=n?(i*c-l*a)/2:Math.sqrt(Math.pow(l-i,2)+Math.pow(c-a,2))),i=l,a=c}var u=e.length-3;e[2]=1,function t(e,r,n,i){for(var a,o=i,s=n-r>>1,l=n-r,c=e[r],u=e[r+1],f=e[n],h=e[n+1],p=r+3;p<n;p+=3){var d=W(e[p],e[p+1],c,u,f,h);if(d>o)a=p,o=d;else if(d===o){var g=Math.abs(p-s);g<l&&(a=p,l=g)}}o>i&&(a-r>3&&t(e,r,a,i),e[a+2]=o,n-a>3&&t(e,a,n,i))}(e,0,u,r),e[u+2]=1,e.size=Math.abs(o),e.start=0,e.end=e.size}function $(t,e,r,n){for(var i=0;i<t.length;i++){var a=[];Q(t[i],a,r,n),e.push(a)}}function tt(t){return t/360+.5}function et(t){var e=Math.sin(t*Math.PI/180),r=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return r<0?0:r>1?1:r}function rt(t,e,r,n,i,a,o,s){if(n/=e,a>=(r/=e)&&o<n)return t;if(o<r||a>=n)return null;for(var l=[],c=0;c<t.length;c++){var u=t[c],f=u.geometry,h=u.type,p=0===i?u.minX:u.minY,d=0===i?u.maxX:u.maxY;if(p>=r&&d<n)l.push(u);else if(!(d<r||p>=n)){var g=[];if("Point"===h||"MultiPoint"===h)nt(f,g,r,n,i);else if("LineString"===h)it(f,g,r,n,i,!1,s.lineMetrics);else if("MultiLineString"===h)ot(f,g,r,n,i,!1);else if("Polygon"===h)ot(f,g,r,n,i,!0);else if("MultiPolygon"===h)for(var m=0;m<f.length;m++){var v=[];ot(f[m],v,r,n,i,!0),v.length&&g.push(v)}if(g.length){if(s.lineMetrics&&"LineString"===h){for(m=0;m<g.length;m++)l.push(X(u.id,h,g[m],u.tags));continue}"LineString"!==h&&"MultiLineString"!==h||(1===g.length?(h="LineString",g=g[0]):h="MultiLineString"),"Point"!==h&&"MultiPoint"!==h||(h=3===g.length?"Point":"MultiPoint"),l.push(X(u.id,h,g,u.tags))}}}return l.length?l:null}function nt(t,e,r,n,i){for(var a=0;a<t.length;a+=3){var o=t[a+i];o>=r&&o<=n&&(e.push(t[a]),e.push(t[a+1]),e.push(t[a+2]))}}function it(t,e,r,n,i,a,o){for(var s,l,c=at(t),u=0===i?lt:ct,f=t.start,h=0;h<t.length-3;h+=3){var p=t[h],d=t[h+1],g=t[h+2],m=t[h+3],v=t[h+4],y=0===i?p:d,x=0===i?m:v,b=!1;o&&(s=Math.sqrt(Math.pow(p-m,2)+Math.pow(d-v,2))),y<r?x>r&&(l=u(c,p,d,m,v,r),o&&(c.start=f+s*l)):y>n?x<n&&(l=u(c,p,d,m,v,n),o&&(c.start=f+s*l)):st(c,p,d,g),x<r&&y>=r&&(l=u(c,p,d,m,v,r),b=!0),x>n&&y<=n&&(l=u(c,p,d,m,v,n),b=!0),!a&&b&&(o&&(c.end=f+s*l),e.push(c),c=at(t)),o&&(f+=s)}var _=t.length-3;p=t[_],d=t[_+1],g=t[_+2],(y=0===i?p:d)>=r&&y<=n&&st(c,p,d,g),_=c.length-3,a&&_>=3&&(c[_]!==c[0]||c[_+1]!==c[1])&&st(c,c[0],c[1],c[2]),c.length&&e.push(c)}function at(t){var e=[];return e.size=t.size,e.start=t.start,e.end=t.end,e}function ot(t,e,r,n,i,a){for(var o=0;o<t.length;o++)it(t[o],e,r,n,i,a,!1)}function st(t,e,r,n){t.push(e),t.push(r),t.push(n)}function lt(t,e,r,n,i,a){var o=(a-e)/(n-e);return t.push(a),t.push(r+(i-r)*o),t.push(1),o}function ct(t,e,r,n,i,a){var o=(a-r)/(i-r);return t.push(e+(n-e)*o),t.push(a),t.push(1),o}function ut(t,e){for(var r=[],n=0;n<t.length;n++){var i,a=t[n],o=a.type;if("Point"===o||"MultiPoint"===o||"LineString"===o)i=ft(a.geometry,e);else if("MultiLineString"===o||"Polygon"===o){i=[];for(var s=0;s<a.geometry.length;s++)i.push(ft(a.geometry[s],e))}else if("MultiPolygon"===o)for(i=[],s=0;s<a.geometry.length;s++){for(var l=[],c=0;c<a.geometry[s].length;c++)l.push(ft(a.geometry[s][c],e));i.push(l)}r.push(X(a.id,o,i,a.tags))}return r}function ft(t,e){var r=[];r.size=t.size,void 0!==t.start&&(r.start=t.start,r.end=t.end);for(var n=0;n<t.length;n+=3)r.push(t[n]+e,t[n+1],t[n+2]);return r}function ht(t,e){if(t.transformed)return t;var r,n,i,a=1<<t.z,o=t.x,s=t.y;for(r=0;r<t.features.length;r++){var l=t.features[r],c=l.geometry,u=l.type;if(l.geometry=[],1===u)for(n=0;n<c.length;n+=2)l.geometry.push(pt(c[n],c[n+1],e,a,o,s));else for(n=0;n<c.length;n++){var f=[];for(i=0;i<c[n].length;i+=2)f.push(pt(c[n][i],c[n][i+1],e,a,o,s));l.geometry.push(f)}}return t.transformed=!0,t}function pt(t,e,r,n,i,a){return[Math.round(r*(t*n-i)),Math.round(r*(e*n-a))]}function dt(t,e,r,n,i){for(var a=e===i.maxZoom?0:i.tolerance/((1<<e)*i.extent),o={features:[],numPoints:0,numSimplified:0,numFeatures:0,source:null,x:r,y:n,z:e,transformed:!1,minX:2,minY:1,maxX:-1,maxY:0},s=0;s<t.length;s++){o.numFeatures++,gt(o,t[s],a,i);var l=t[s].minX,c=t[s].minY,u=t[s].maxX,f=t[s].maxY;l<o.minX&&(o.minX=l),c<o.minY&&(o.minY=c),u>o.maxX&&(o.maxX=u),f>o.maxY&&(o.maxY=f)}return o}function gt(t,e,r,n){var i=e.geometry,a=e.type,o=[];if("Point"===a||"MultiPoint"===a)for(var s=0;s<i.length;s+=3)o.push(i[s]),o.push(i[s+1]),t.numPoints++,t.numSimplified++;else if("LineString"===a)mt(o,i,t,r,!1,!1);else if("MultiLineString"===a||"Polygon"===a)for(s=0;s<i.length;s++)mt(o,i[s],t,r,"Polygon"===a,0===s);else if("MultiPolygon"===a)for(var l=0;l<i.length;l++){var c=i[l];for(s=0;s<c.length;s++)mt(o,c[s],t,r,!0,0===s)}if(o.length){var u=e.tags||null;if("LineString"===a&&n.lineMetrics){for(var f in u={},e.tags)u[f]=e.tags[f];u.mapbox_clip_start=i.start/i.size,u.mapbox_clip_end=i.end/i.size}var h={geometry:o,type:"Polygon"===a||"MultiPolygon"===a?3:"LineString"===a||"MultiLineString"===a?2:1,tags:u};null!==e.id&&(h.id=e.id),t.features.push(h)}}function mt(t,e,r,n,i,a){var o=n*n;if(n>0&&e.size<(i?o:n))r.numPoints+=e.length/3;else{for(var s=[],l=0;l<e.length;l+=3)(0===n||e[l+2]>o)&&(r.numSimplified++,s.push(e[l]),s.push(e[l+1])),r.numPoints++;i&&function(t,e){for(var r=0,n=0,i=t.length,a=i-2;n<i;a=n,n+=2)r+=(t[n]-t[a])*(t[n+1]+t[a+1]);if(r>0===e)for(n=0,i=t.length;n<i/2;n+=2){var o=t[n],s=t[n+1];t[n]=t[i-2-n],t[n+1]=t[i-1-n],t[i-2-n]=o,t[i-1-n]=s}}(s,a),t.push(s)}}function vt(t,e){var r=(e=this.options=function(t,e){for(var r in e)t[r]=e[r];return t}(Object.create(this.options),e)).debug;if(r&&console.time("preprocess data"),e.maxZoom<0||e.maxZoom>24)throw new Error("maxZoom should be in the 0-24 range");if(e.promoteId&&e.generateId)throw new Error("promoteId and generateId cannot be used together.");var n=function(t,e){var r=[];if("FeatureCollection"===t.type)for(var n=0;n<t.features.length;n++)J(r,t.features[n],e,n);else J(r,"Feature"===t.type?t:{geometry:t},e);return r}(t,e);this.tiles={},this.tileCoords=[],r&&(console.timeEnd("preprocess data"),console.log("index: maxZoom: %d, maxPoints: %d",e.indexMaxZoom,e.indexMaxPoints),console.time("generate tiles"),this.stats={},this.total=0),(n=function(t,e){var r=e.buffer/e.extent,n=t,i=rt(t,1,-1-r,r,0,-1,2,e),a=rt(t,1,1-r,2+r,0,-1,2,e);return(i||a)&&(n=rt(t,1,-r,1+r,0,-1,2,e)||[],i&&(n=ut(i,1).concat(n)),a&&(n=n.concat(ut(a,-1)))),n}(n,e)).length&&this.splitTile(n,0,0,0),r&&(n.length&&console.log("features: %d, points: %d",this.tiles[0].numFeatures,this.tiles[0].numPoints),console.timeEnd("generate tiles"),console.log("tiles generated:",this.total,JSON.stringify(this.stats)))}function yt(t,e,r){return 32*((1<<t)*r+e)+t}function xt(t,e){var r=t.tileID.canonical;if(!this._geoJSONIndex)return e(null,null);var n=this._geoJSONIndex.getTile(r.z,r.x,r.y);if(!n)return e(null,null);var i=new g(n.features),a=b(i);0===a.byteOffset&&a.byteLength===a.buffer.byteLength||(a=new Uint8Array(a)),e(null,{vectorTile:i,rawData:a.buffer})}F.prototype.load=function(t){var e=this.options,r=e.log,n=e.minZoom,i=e.maxZoom,a=e.nodeSize;r&&console.time("total time");var o="prepare "+t.length+" points";r&&console.time(o),this.points=t;for(var s=[],l=0;l<t.length;l++)t[l].geometry&&s.push(N(t[l],l));this.trees[i+1]=new D(s,G,Y,a,Float32Array),r&&console.timeEnd(o);for(var c=i;c>=n;c--){var u=+Date.now();s=this._cluster(s,c),this.trees[c]=new D(s,G,Y,a,Float32Array),r&&console.log("z%d: %d clusters in %dms",c,s.length,+Date.now()-u)}return r&&console.timeEnd("total time"),this},F.prototype.getClusters=function(t,e){var r=((t[0]+180)%360+360)%360-180,n=Math.max(-90,Math.min(90,t[1])),i=180===t[2]?180:((t[2]+180)%360+360)%360-180,a=Math.max(-90,Math.min(90,t[3]));if(t[2]-t[0]>=360)r=-180,i=180;else if(r>i){var o=this.getClusters([r,n,180,a],e),s=this.getClusters([-180,n,i,a],e);return o.concat(s)}for(var l=this.trees[this._limitZoom(e)],c=[],u=0,f=l.range(V(r),q(a),V(i),q(n));u<f.length;u+=1){var h=l.points[f[u]];c.push(h.numPoints?j(h):this.points[h.index])}return c},F.prototype.getChildren=function(t){var e=this._getOriginId(t),r=this._getOriginZoom(t),n="No cluster with the specified id.",i=this.trees[r];if(!i)throw new Error(n);var a=i.points[e];if(!a)throw new Error(n);for(var o=this.options.radius/(this.options.extent*Math.pow(2,r-1)),s=[],l=0,c=i.within(a.x,a.y,o);l<c.length;l+=1){var u=i.points[c[l]];u.parentId===t&&s.push(u.numPoints?j(u):this.points[u.index])}if(0===s.length)throw new Error(n);return s},F.prototype.getLeaves=function(t,e,r){var n=[];return this._appendLeaves(n,t,e=e||10,r=r||0,0),n},F.prototype.getTile=function(t,e,r){var n=this.trees[this._limitZoom(t)],i=Math.pow(2,t),a=this.options,o=a.radius/a.extent,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&&this._addTileFeatures(n.range(1-o/i,s,1,l),n.points,i,r,i,c),e===i-1&&this._addTileFeatures(n.range(0,s,o/i,l),n.points,-1,r,i,c),c.features.length?c:null},F.prototype.getClusterExpansionZoom=function(t){for(var e=this._getOriginZoom(t)-1;e<=this.options.maxZoom;){var r=this.getChildren(t);if(e++,1!==r.length)break;t=r[0].properties.cluster_id}return e},F.prototype._appendLeaves=function(t,e,r,n,i){for(var a=0,o=this.getChildren(e);a<o.length;a+=1){var s=o[a],l=s.properties;if(l&&l.cluster?i+l.point_count<=n?i+=l.point_count:i=this._appendLeaves(t,l.cluster_id,r,n,i):i<n?i++:t.push(s),t.length===r)break}return i},F.prototype._addTileFeatures=function(t,e,r,n,i,a){for(var o=0,s=t;o<s.length;o+=1){var l=e[s[o]],c=l.numPoints,u={type:1,geometry:[[Math.round(this.options.extent*(l.x*i-r)),Math.round(this.options.extent*(l.y*i-n))]],tags:c?U(l):this.points[l.index].properties},f=void 0;c?f=l.id:this.options.generateId?f=l.index:this.points[l.index].id&&(f=this.points[l.index].id),void 0!==f&&(u.id=f),a.features.push(u)}},F.prototype._limitZoom=function(t){return Math.max(this.options.minZoom,Math.min(t,this.options.maxZoom+1))},F.prototype._cluster=function(t,e){for(var r=[],n=this.options,i=n.reduce,a=n.radius/(n.extent*Math.pow(2,e)),o=0;o<t.length;o++){var s=t[o];if(!(s.zoom<=e)){s.zoom=e;for(var l=this.trees[e+1],c=l.within(s.x,s.y,a),u=s.numPoints||1,f=s.x*u,h=s.y*u,p=i&&u>1?this._map(s,!0):null,d=(o<<5)+(e+1)+this.points.length,g=0,m=c;g<m.length;g+=1){var v=l.points[m[g]];if(!(v.zoom<=e)){v.zoom=e;var y=v.numPoints||1;f+=v.x*y,h+=v.y*y,u+=y,v.parentId=d,i&&(p||(p=this._map(s,!0)),i(p,this._map(v)))}}1===u?r.push(s):(s.parentId=d,r.push(B(f/u,h/u,d,u,p)))}}return r},F.prototype._getOriginId=function(t){return t-this.points.length>>5},F.prototype._getOriginZoom=function(t){return(t-this.points.length)%32},F.prototype._map=function(t,e){if(t.numPoints)return e?H({},t.properties):t.properties;var r=this.points[t.index].properties,n=this.options.map(r);return e&&n===r?H({},n):n},vt.prototype.options={maxZoom:14,indexMaxZoom:5,indexMaxPoints:1e5,tolerance:3,extent:4096,buffer:64,lineMetrics:!1,promoteId:null,generateId:!1,debug:0},vt.prototype.splitTile=function(t,e,r,n,i,a,o){for(var s=[t,e,r,n],l=this.options,c=l.debug;s.length;){n=s.pop(),r=s.pop(),e=s.pop(),t=s.pop();var u=1<<e,f=yt(e,r,n),h=this.tiles[f];if(!h&&(c>1&&console.time("creation"),h=this.tiles[f]=dt(t,e,r,n,l),this.tileCoords.push({z:e,x:r,y:n}),c)){c>1&&(console.log("tile z%d-%d-%d (features: %d, points: %d, simplified: %d)",e,r,n,h.numFeatures,h.numPoints,h.numSimplified),console.timeEnd("creation"));var p="z"+e;this.stats[p]=(this.stats[p]||0)+1,this.total++}if(h.source=t,i){if(e===l.maxZoom||e===i)continue;var d=1<<i-e;if(r!==Math.floor(a/d)||n!==Math.floor(o/d))continue}else if(e===l.indexMaxZoom||h.numPoints<=l.indexMaxPoints)continue;if(h.source=null,0!==t.length){c>1&&console.time("clipping");var g,m,v,y,x,b,_=.5*l.buffer/l.extent,w=.5-_,T=.5+_,k=1+_;g=m=v=y=null,x=rt(t,u,r-_,r+T,0,h.minX,h.maxX,l),b=rt(t,u,r+w,r+k,0,h.minX,h.maxX,l),t=null,x&&(g=rt(x,u,n-_,n+T,1,h.minY,h.maxY,l),m=rt(x,u,n+w,n+k,1,h.minY,h.maxY,l),x=null),b&&(v=rt(b,u,n-_,n+T,1,h.minY,h.maxY,l),y=rt(b,u,n+w,n+k,1,h.minY,h.maxY,l),b=null),c>1&&console.timeEnd("clipping"),s.push(g||[],e+1,2*r,2*n),s.push(m||[],e+1,2*r,2*n+1),s.push(v||[],e+1,2*r+1,2*n),s.push(y||[],e+1,2*r+1,2*n+1)}}},vt.prototype.getTile=function(t,e,r){var n=this.options,i=n.extent,a=n.debug;if(t<0||t>24)return null;var o=1<<t,s=yt(t,e=(e%o+o)%o,r);if(this.tiles[s])return ht(this.tiles[s],i);a>1&&console.log("drilling down to z%d-%d-%d",t,e,r);for(var l,c=t,u=e,f=r;!l&&c>0;)c--,u=Math.floor(u/2),f=Math.floor(f/2),l=this.tiles[yt(c,u,f)];return l&&l.source?(a>1&&console.log("found parent tile z%d-%d-%d",c,u,f),a>1&&console.time("drilling down"),this.splitTile(l.source,c,u,f,t,e,r),a>1&&console.timeEnd("drilling down"),this.tiles[s]?ht(this.tiles[s],i):null):null};var bt=function(e){function r(t,r,n,i){e.call(this,t,r,n,xt),i&&(this.loadGeoJSON=i)}return e&&(r.__proto__=e),(r.prototype=Object.create(e&&e.prototype)).constructor=r,r.prototype.loadData=function(t,e){this._pendingCallback&&this._pendingCallback(null,{abandoned:!0}),this._pendingCallback=e,this._pendingLoadDataParams=t,this._state&&"Idle"!==this._state?this._state="NeedsLoadData":(this._state="Coalescing",this._loadData())},r.prototype._loadData=function(){var e=this;if(this._pendingCallback&&this._pendingLoadDataParams){var r=this._pendingCallback,n=this._pendingLoadDataParams;delete this._pendingCallback,delete this._pendingLoadDataParams;var i=!!(n&&n.request&&n.request.collectResourceTiming)&&new t.RequestPerformance(n.request);this.loadGeoJSON(n,(function(a,o){if(a||!o)return r(a);if("object"!=typeof o)return r(new Error("Input data given to '"+n.source+"' is not a valid GeoJSON object."));!function t(e,r){var n,i=e&&e.type;if("FeatureCollection"===i)for(n=0;n<e.features.length;n++)t(e.features[n],r);else if("GeometryCollection"===i)for(n=0;n<e.geometries.length;n++)t(e.geometries[n],r);else if("Feature"===i)t(e.geometry,r);else if("Polygon"===i)f(e.coordinates,r);else if("MultiPolygon"===i)for(n=0;n<e.coordinates.length;n++)f(e.coordinates[n],r);return e}(o,!0);try{e._geoJSONIndex=n.cluster?new F(function(e){var r=e.superclusterOptions,n=e.clusterProperties;if(!n||!r)return r;for(var i={},a={},o={accumulated:null,zoom:0},s={properties:null},l=Object.keys(n),c=0,u=l;c<u.length;c+=1){var f=u[c],h=n[f],p=h[0],d=t.createExpression(h[1]),g=t.createExpression("string"==typeof p?[p,["accumulated"],["get",f]]:p);i[f]=d.value,a[f]=g.value}return r.map=function(t){s.properties=t;for(var e={},r=0,n=l;r<n.length;r+=1){var a=n[r];e[a]=i[a].evaluate(o,s)}return e},r.reduce=function(t,e){s.properties=e;for(var r=0,n=l;r<n.length;r+=1){var i=n[r];o.accumulated=t[i],t[i]=a[i].evaluate(o,s)}},r}(n)).load(o.features):function(t,e){return new vt(t,e)}(o,n.geojsonVtOptions)}catch(a){return r(a)}e.loaded={};var s={};if(i){var l=i.finish();l&&(s.resourceTiming={},s.resourceTiming[n.source]=JSON.parse(JSON.stringify(l)))}r(null,s)}))}},r.prototype.coalesce=function(){"Coalescing"===this._state?this._state="Idle":"NeedsLoadData"===this._state&&(this._state="Coalescing",this._loadData())},r.prototype.reloadTile=function(t,r){var n=this.loaded;return n&&n[t.uid]?e.prototype.reloadTile.call(this,t,r):this.loadTile(t,r)},r.prototype.loadGeoJSON=function(e,r){if(e.request)t.getJSON(e.request,r);else{if("string"!=typeof e.data)return r(new Error("Input data given to '"+e.source+"' is not a valid GeoJSON object."));try{return r(null,JSON.parse(e.data))}catch(t){return r(new Error("Input data given to '"+e.source+"' is not a valid GeoJSON object."))}}},r.prototype.removeSource=function(t,e){this._pendingCallback&&this._pendingCallback(null,{abandoned:!0}),e()},r.prototype.getClusterExpansionZoom=function(t,e){try{e(null,this._geoJSONIndex.getClusterExpansionZoom(t.clusterId))}catch(t){e(t)}},r.prototype.getClusterChildren=function(t,e){try{e(null,this._geoJSONIndex.getChildren(t.clusterId))}catch(t){e(t)}},r.prototype.getClusterLeaves=function(t,e){try{e(null,this._geoJSONIndex.getLeaves(t.clusterId,t.limit,t.offset))}catch(t){e(t)}},r}(l),_t=function(e){var r=this;this.self=e,this.actor=new t.Actor(e,this),this.layerIndexes={},this.availableImages={},this.workerSourceTypes={vector:l,geojson:bt},this.workerSources={},this.demWorkerSources={},this.self.registerWorkerSource=function(t,e){if(r.workerSourceTypes[t])throw new Error('Worker source with name "'+t+'" already registered.');r.workerSourceTypes[t]=e},this.self.registerRTLTextPlugin=function(e){if(t.plugin.isParsed())throw new Error("RTL text plugin already registered.");t.plugin.applyArabicShaping=e.applyArabicShaping,t.plugin.processBidirectionalText=e.processBidirectionalText,t.plugin.processStyledBidirectionalText=e.processStyledBidirectionalText}};return _t.prototype.setReferrer=function(t,e){this.referrer=e},_t.prototype.setImages=function(t,e,r){for(var n in this.availableImages[t]=e,this.workerSources[t]){var i=this.workerSources[t][n];for(var a in i)i[a].availableImages=e}r()},_t.prototype.setLayers=function(t,e,r){this.getLayerIndex(t).replace(e),r()},_t.prototype.updateLayers=function(t,e,r){this.getLayerIndex(t).update(e.layers,e.removedIds),r()},_t.prototype.loadTile=function(t,e,r){this.getWorkerSource(t,e.type,e.source).loadTile(e,r)},_t.prototype.loadDEMTile=function(t,e,r){this.getDEMWorkerSource(t,e.source).loadTile(e,r)},_t.prototype.reloadTile=function(t,e,r){this.getWorkerSource(t,e.type,e.source).reloadTile(e,r)},_t.prototype.abortTile=function(t,e,r){this.getWorkerSource(t,e.type,e.source).abortTile(e,r)},_t.prototype.removeTile=function(t,e,r){this.getWorkerSource(t,e.type,e.source).removeTile(e,r)},_t.prototype.removeDEMTile=function(t,e){this.getDEMWorkerSource(t,e.source).removeTile(e)},_t.prototype.removeSource=function(t,e,r){if(this.workerSources[t]&&this.workerSources[t][e.type]&&this.workerSources[t][e.type][e.source]){var n=this.workerSources[t][e.type][e.source];delete this.workerSources[t][e.type][e.source],void 0!==n.removeSource?n.removeSource(e,r):r()}},_t.prototype.loadWorkerSource=function(t,e,r){try{this.self.importScripts(e.url),r()}catch(t){r(t.toString())}},_t.prototype.syncRTLPluginState=function(e,r,n){try{t.plugin.setState(r);var i=t.plugin.getPluginURL();if(t.plugin.isLoaded()&&!t.plugin.isParsed()&&null!=i){this.self.importScripts(i);var a=t.plugin.isParsed();n(a?void 0:new Error("RTL Text Plugin failed to import scripts from "+i),a)}}catch(t){n(t.toString())}},_t.prototype.getAvailableImages=function(t){var e=this.availableImages[t];return e||(e=[]),e},_t.prototype.getLayerIndex=function(t){var e=this.layerIndexes[t];return e||(e=this.layerIndexes[t]=new n),e},_t.prototype.getWorkerSource=function(t,e,r){var n=this;return this.workerSources[t]||(this.workerSources[t]={}),this.workerSources[t][e]||(this.workerSources[t][e]={}),this.workerSources[t][e][r]||(this.workerSources[t][e][r]=new this.workerSourceTypes[e]({send:function(e,r,i){n.actor.send(e,r,i,t)}},this.getLayerIndex(t),this.getAvailableImages(t))),this.workerSources[t][e][r]},_t.prototype.getDEMWorkerSource=function(t,e){return this.demWorkerSources[t]||(this.demWorkerSources[t]={}),this.demWorkerSources[t][e]||(this.demWorkerSources[t][e]=new u),this.demWorkerSources[t][e]},_t.prototype.enforceCacheSizeLimit=function(e,r){t.enforceCacheSizeLimit(r)},"undefined"!=typeof WorkerGlobalScope&&void 0!==t.window&&t.window instanceof WorkerGlobalScope&&(t.window.worker=new _t(t.window)),_t})),n(0,(function(t){var e=t.createCommonjsModule((function(t){function e(t){return!r(t)}function r(t){return"undefined"==typeof window||"undefined"==typeof document?"not a browser":Array.prototype&&Array.prototype.every&&Array.prototype.filter&&Array.prototype.forEach&&Array.prototype.indexOf&&Array.prototype.lastIndexOf&&Array.prototype.map&&Array.prototype.some&&Array.prototype.reduce&&Array.prototype.reduceRight&&Array.isArray?Function.prototype&&Function.prototype.bind?Object.keys&&Object.create&&Object.getPrototypeOf&&Object.getOwnPropertyNames&&Object.isSealed&&Object.isFrozen&&Object.isExtensible&&Object.getOwnPropertyDescriptor&&Object.defineProperty&&Object.defineProperties&&Object.seal&&Object.freeze&&Object.preventExtensions?"JSON"in window&&"parse"in JSON&&"stringify"in JSON?function(){if(!("Worker"in window&&"Blob"in window&&"URL"in window))return!1;var t,e,r=new Blob([""],{type:"text/javascript"}),n=URL.createObjectURL(r);try{e=new Worker(n),t=!0}catch(e){t=!1}return e&&e.terminate(),URL.revokeObjectURL(n),t}()?"Uint8ClampedArray"in window?ArrayBuffer.isView?function(){var t=document.createElement("canvas");t.width=t.height=1;var e=t.getContext("2d");if(!e)return!1;var r=e.getImageData(0,0,1,1);return r&&r.width===t.width}()?(void 0===n[r=t&&t.failIfMajorPerformanceCaveat]&&(n[r]=function(t){var r=function(t){var r=document.createElement("canvas"),n=Object.create(e.webGLContextAttributes);return n.failIfMajorPerformanceCaveat=t,r.probablySupportsContext?r.probablySupportsContext("webgl",n)||r.probablySupportsContext("experimental-webgl",n):r.supportsContext?r.supportsContext("webgl",n)||r.supportsContext("experimental-webgl",n):r.getContext("webgl",n)||r.getContext("experimental-webgl",n)}(t);if(!r)return!1;var n=r.createShader(r.VERTEX_SHADER);return!(!n||r.isContextLost())&&(r.shaderSource(n,"void main() {}"),r.compileShader(n),!0===r.getShaderParameter(n,r.COMPILE_STATUS))}(r)),n[r]?void 0:"insufficient WebGL support"):"insufficient Canvas/getImageData support":"insufficient ArrayBuffer support":"insufficient Uint8ClampedArray support":"insufficient worker support":"insufficient JSON support":"insufficient Object support":"insufficient Function support":"insufficent Array support";var r}t.exports?t.exports=e:window&&(window.mapboxgl=window.mapboxgl||{},window.mapboxgl.supported=e,window.mapboxgl.notSupportedReason=r);var n={};e.webGLContextAttributes={antialias:!1,alpha:!0,stencil:!0,depth:!0}})),r={create:function(e,r,n){var i=t.window.document.createElement(e);return void 0!==r&&(i.className=r),n&&n.appendChild(i),i},createNS:function(e,r){return t.window.document.createElementNS(e,r)}},n=t.window.document.documentElement.style;function i(t){if(!n)return t[0];for(var e=0;e<t.length;e++)if(t[e]in n)return t[e];return t[0]}var a,o=i(["userSelect","MozUserSelect","WebkitUserSelect","msUserSelect"]);r.disableDrag=function(){n&&o&&(a=n[o],n[o]="none")},r.enableDrag=function(){n&&o&&(n[o]=a)};var s=i(["transform","WebkitTransform"]);r.setTransform=function(t,e){t.style[s]=e};var l=!1;try{var c=Object.defineProperty({},"passive",{get:function(){l=!0}});t.window.addEventListener("test",c,c),t.window.removeEventListener("test",c,c)}catch(t){l=!1}r.addEventListener=function(t,e,r,n){void 0===n&&(n={}),t.addEventListener(e,r,"passive"in n&&l?n:n.capture)},r.removeEventListener=function(t,e,r,n){void 0===n&&(n={}),t.removeEventListener(e,r,"passive"in n&&l?n:n.capture)};var u=function(e){e.preventDefault(),e.stopPropagation(),t.window.removeEventListener("click",u,!0)};function f(t){var e=t.userImage;return!!(e&&e.render&&e.render())&&(t.data.replace(new Uint8Array(e.data.buffer)),!0)}r.suppressClick=function(){t.window.addEventListener("click",u,!0),t.window.setTimeout((function(){t.window.removeEventListener("click",u,!0)}),0)},r.mousePos=function(e,r){var n=e.getBoundingClientRect();return new t.Point(r.clientX-n.left-e.clientLeft,r.clientY-n.top-e.clientTop)},r.touchPos=function(e,r){for(var n=e.getBoundingClientRect(),i=[],a=0;a<r.length;a++)i.push(new t.Point(r[a].clientX-n.left-e.clientLeft,r[a].clientY-n.top-e.clientTop));return i},r.mouseButton=function(e){return void 0!==t.window.InstallTrigger&&2===e.button&&e.ctrlKey&&t.window.navigator.platform.toUpperCase().indexOf("MAC")>=0?0:e.button},r.remove=function(t){t.parentNode&&t.parentNode.removeChild(t)};var h=function(e){function r(){e.call(this),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new t.RGBAImage({width:1,height:1}),this.dirty=!0}return e&&(r.__proto__=e),(r.prototype=Object.create(e&&e.prototype)).constructor=r,r.prototype.isLoaded=function(){return this.loaded},r.prototype.setLoaded=function(t){if(this.loaded!==t&&(this.loaded=t,t)){for(var e=0,r=this.requestors;e<r.length;e+=1){var n=r[e];this._notify(n.ids,n.callback)}this.requestors=[]}},r.prototype.getImage=function(t){return this.images[t]},r.prototype.addImage=function(t,e){this._validate(t,e)&&(this.images[t]=e)},r.prototype._validate=function(e,r){var n=!0;return this._validateStretch(r.stretchX,r.data&&r.data.width)||(this.fire(new t.ErrorEvent(new Error('Image "'+e+'" has invalid "stretchX" value'))),n=!1),this._validateStretch(r.stretchY,r.data&&r.data.height)||(this.fire(new t.ErrorEvent(new Error('Image "'+e+'" has invalid "stretchY" value'))),n=!1),this._validateContent(r.content,r)||(this.fire(new t.ErrorEvent(new Error('Image "'+e+'" has invalid "content" value'))),n=!1),n},r.prototype._validateStretch=function(t,e){if(!t)return!0;for(var r=0,n=0,i=t;n<i.length;n+=1){var a=i[n];if(a[0]<r||a[1]<a[0]||e<a[1])return!1;r=a[1]}return!0},r.prototype._validateContent=function(t,e){return!(t&&(4!==t.length||t[0]<0||e.data.width<t[0]||t[1]<0||e.data.height<t[1]||t[2]<0||e.data.width<t[2]||t[3]<0||e.data.height<t[3]||t[2]<t[0]||t[3]<t[1]))},r.prototype.updateImage=function(t,e){e.version=this.images[t].version+1,this.images[t]=e,this.updatedImages[t]=!0},r.prototype.removeImage=function(t){var e=this.images[t];delete this.images[t],delete this.patterns[t],e.userImage&&e.userImage.onRemove&&e.userImage.onRemove()},r.prototype.listImages=function(){return Object.keys(this.images)},r.prototype.getImages=function(t,e){var r=!0;if(!this.isLoaded())for(var n=0,i=t;n<i.length;n+=1)this.images[i[n]]||(r=!1);this.isLoaded()||r?this._notify(t,e):this.requestors.push({ids:t,callback:e})},r.prototype._notify=function(e,r){for(var n={},i=0,a=e;i<a.length;i+=1){var o=a[i];this.images[o]||this.fire(new t.Event("styleimagemissing",{id:o}));var s=this.images[o];s?n[o]={data:s.data.clone(),pixelRatio:s.pixelRatio,sdf:s.sdf,version:s.version,stretchX:s.stretchX,stretchY:s.stretchY,content:s.content,hasRenderCallback:Boolean(s.userImage&&s.userImage.render)}:t.warnOnce('Image "'+o+'" could not be loaded. Please make sure you have added the image with map.addImage() or a "sprite" property in your style. You can provide missing images by listening for the "styleimagemissing" map event.')}r(null,n)},r.prototype.getPixelSize=function(){var t=this.atlasImage;return{width:t.width,height:t.height}},r.prototype.getPattern=function(e){var r=this.patterns[e],n=this.getImage(e);if(!n)return null;if(r&&r.position.version===n.version)return r.position;if(r)r.position.version=n.version;else{var i={w:n.data.width+2,h:n.data.height+2,x:0,y:0},a=new t.ImagePosition(i,n);this.patterns[e]={bin:i,position:a}}return this._updatePatternAtlas(),this.patterns[e].position},r.prototype.bind=function(e){var r=e.gl;this.atlasTexture?this.dirty&&(this.atlasTexture.update(this.atlasImage),this.dirty=!1):this.atlasTexture=new t.Texture(e,this.atlasImage,r.RGBA),this.atlasTexture.bind(r.LINEAR,r.CLAMP_TO_EDGE)},r.prototype._updatePatternAtlas=function(){var e=[];for(var r in this.patterns)e.push(this.patterns[r].bin);var n=t.potpack(e),i=n.w,a=n.h,o=this.atlasImage;for(var s in o.resize({width:i||1,height:a||1}),this.patterns){var l=this.patterns[s].bin,c=l.x+1,u=l.y+1,f=this.images[s].data,h=f.width,p=f.height;t.RGBAImage.copy(f,o,{x:0,y:0},{x:c,y:u},{width:h,height:p}),t.RGBAImage.copy(f,o,{x:0,y:p-1},{x:c,y:u-1},{width:h,height:1}),t.RGBAImage.copy(f,o,{x:0,y:0},{x:c,y:u+p},{width:h,height:1}),t.RGBAImage.copy(f,o,{x:h-1,y:0},{x:c-1,y:u},{width:1,height:p}),t.RGBAImage.copy(f,o,{x:0,y:0},{x:c+h,y:u},{width:1,height:p})}this.dirty=!0},r.prototype.beginFrame=function(){this.callbackDispatchedThisFrame={}},r.prototype.dispatchRenderCallbacks=function(t){for(var e=0,r=t;e<r.length;e+=1){var n=r[e];if(!this.callbackDispatchedThisFrame[n]){this.callbackDispatchedThisFrame[n]=!0;var i=this.images[n];f(i)&&this.updateImage(n,i)}}},r}(t.Evented),p=m,d=m,g=1e20;function m(t,e,r,n,i,a){this.fontSize=t||24,this.buffer=void 0===e?3:e,this.cutoff=n||.25,this.fontFamily=i||"sans-serif",this.fontWeight=a||"normal",this.radius=r||8;var o=this.size=this.fontSize+2*this.buffer;this.canvas=document.createElement("canvas"),this.canvas.width=this.canvas.height=o,this.ctx=this.canvas.getContext("2d"),this.ctx.font=this.fontWeight+" "+this.fontSize+"px "+this.fontFamily,this.ctx.textBaseline="middle",this.ctx.fillStyle="black",this.gridOuter=new Float64Array(o*o),this.gridInner=new Float64Array(o*o),this.f=new Float64Array(o),this.d=new Float64Array(o),this.z=new Float64Array(o+1),this.v=new Int16Array(o),this.middle=Math.round(o/2*(navigator.userAgent.indexOf("Gecko/")>=0?1.2:1))}function v(t,e,r,n,i,a,o){for(var s=0;s<e;s++){for(var l=0;l<r;l++)n[l]=t[l*e+s];for(y(n,i,a,o,r),l=0;l<r;l++)t[l*e+s]=i[l]}for(l=0;l<r;l++){for(s=0;s<e;s++)n[s]=t[l*e+s];for(y(n,i,a,o,e),s=0;s<e;s++)t[l*e+s]=Math.sqrt(i[s])}}function y(t,e,r,n,i){r[0]=0,n[0]=-g,n[1]=+g;for(var a=1,o=0;a<i;a++){for(var s=(t[a]+a*a-(t[r[o]]+r[o]*r[o]))/(2*a-2*r[o]);s<=n[o];)o--,s=(t[a]+a*a-(t[r[o]]+r[o]*r[o]))/(2*a-2*r[o]);r[++o]=a,n[o]=s,n[o+1]=+g}for(a=0,o=0;a<i;a++){for(;n[o+1]<a;)o++;e[a]=(a-r[o])*(a-r[o])+t[r[o]]}}m.prototype.draw=function(t){this.ctx.clearRect(0,0,this.size,this.size),this.ctx.fillText(t,this.buffer,this.middle);for(var e=this.ctx.getImageData(0,0,this.size,this.size),r=new Uint8ClampedArray(this.size*this.size),n=0;n<this.size*this.size;n++){var i=e.data[4*n+3]/255;this.gridOuter[n]=1===i?0:0===i?g:Math.pow(Math.max(0,.5-i),2),this.gridInner[n]=1===i?g:0===i?0:Math.pow(Math.max(0,i-.5),2)}for(v(this.gridOuter,this.size,this.size,this.f,this.d,this.v,this.z),v(this.gridInner,this.size,this.size,this.f,this.d,this.v,this.z),n=0;n<this.size*this.size;n++)r[n]=Math.max(0,Math.min(255,Math.round(255-255*((this.gridOuter[n]-this.gridInner[n])/this.radius+this.cutoff))));return r},p.default=d;var x=function(t,e){this.requestManager=t,this.localIdeographFontFamily=e,this.entries={}};x.prototype.setURL=function(t){this.url=t},x.prototype.getGlyphs=function(e,r){var n=this,i=[];for(var a in e)for(var o=0,s=e[a];o<s.length;o+=1)i.push({stack:a,id:s[o]});t.asyncAll(i,(function(t,e){var r=t.stack,i=t.id,a=n.entries[r];a||(a=n.entries[r]={glyphs:{},requests:{},ranges:{}});var o=a.glyphs[i];if(void 0===o){if(o=n._tinySDF(a,r,i))return a.glyphs[i]=o,void e(null,{stack:r,id:i,glyph:o});var s=Math.floor(i/256);if(256*s>65535)e(new Error("glyphs > 65535 not supported"));else if(a.ranges[s])e(null,{stack:r,id:i,glyph:o});else{var l=a.requests[s];l||(l=a.requests[s]=[],x.loadGlyphRange(r,s,n.url,n.requestManager,(function(t,e){if(e){for(var r in e)n._doesCharSupportLocalGlyph(+r)||(a.glyphs[+r]=e[+r]);a.ranges[s]=!0}for(var i=0,o=l;i<o.length;i+=1)(0,o[i])(t,e);delete a.requests[s]}))),l.push((function(t,n){t?e(t):n&&e(null,{stack:r,id:i,glyph:n[i]||null})}))}}else e(null,{stack:r,id:i,glyph:o})}),(function(t,e){if(t)r(t);else if(e){for(var n={},i=0,a=e;i<a.length;i+=1){var o=a[i],s=o.stack,l=o.id,c=o.glyph;(n[s]||(n[s]={}))[l]=c&&{id:c.id,bitmap:c.bitmap.clone(),metrics:c.metrics}}r(null,n)}}))},x.prototype._doesCharSupportLocalGlyph=function(e){return!!this.localIdeographFontFamily&&(t.isChar["CJK Unified Ideographs"](e)||t.isChar["Hangul Syllables"](e)||t.isChar.Hiragana(e)||t.isChar.Katakana(e))},x.prototype._tinySDF=function(e,r,n){var i=this.localIdeographFontFamily;if(i&&this._doesCharSupportLocalGlyph(n)){var a=e.tinySDF;if(!a){var o="400";/bold/i.test(r)?o="900":/medium/i.test(r)?o="500":/light/i.test(r)&&(o="200"),a=e.tinySDF=new x.TinySDF(24,3,8,.25,i,o)}return{id:n,bitmap:new t.AlphaImage({width:30,height:30},a.draw(String.fromCharCode(n))),metrics:{width:24,height:24,left:0,top:-8,advance:24}}}},x.loadGlyphRange=function(e,r,n,i,a){var o=256*r,s=o+255,l=i.transformRequest(i.normalizeGlyphsURL(n).replace("{fontstack}",e).replace("{range}",o+"-"+s),t.ResourceType.Glyphs);t.getArrayBuffer(l,(function(e,r){if(e)a(e);else if(r){for(var n={},i=0,o=t.parseGlyphPBF(r);i<o.length;i+=1){var s=o[i];n[s.id]=s}a(null,n)}}))},x.TinySDF=p;var b=function(){this.specification=t.styleSpec.light.position};b.prototype.possiblyEvaluate=function(e,r){return t.sphericalToCartesian(e.expression.evaluate(r))},b.prototype.interpolate=function(e,r,n){return{x:t.number(e.x,r.x,n),y:t.number(e.y,r.y,n),z:t.number(e.z,r.z,n)}};var _=new t.Properties({anchor:new t.DataConstantProperty(t.styleSpec.light.anchor),position:new b,color:new t.DataConstantProperty(t.styleSpec.light.color),intensity:new t.DataConstantProperty(t.styleSpec.light.intensity)}),w=function(e){function r(r){e.call(this),this._transitionable=new t.Transitionable(_),this.setLight(r),this._transitioning=this._transitionable.untransitioned()}return e&&(r.__proto__=e),(r.prototype=Object.create(e&&e.prototype)).constructor=r,r.prototype.getLight=function(){return this._transitionable.serialize()},r.prototype.setLight=function(e,r){if(void 0===r&&(r={}),!this._validate(t.validateLight,e,r))for(var n in e){var i=e[n];t.endsWith(n,"-transition")?this._transitionable.setTransition(n.slice(0,-"-transition".length),i):this._transitionable.setValue(n,i)}},r.prototype.updateTransitions=function(t){this._transitioning=this._transitionable.transitioned(t,this._transitioning)},r.prototype.hasTransition=function(){return this._transitioning.hasTransition()},r.prototype.recalculate=function(t){this.properties=this._transitioning.possiblyEvaluate(t)},r.prototype._validate=function(e,r,n){return(!n||!1!==n.validate)&&t.emitValidationErrors(this,e.call(t.validateStyle,t.extend({value:r,style:{glyphs:!0,sprite:!0},styleSpec:t.styleSpec})))},r}(t.Evented),T=function(t,e){this.width=t,this.height=e,this.nextRow=0,this.data=new Uint8Array(this.width*this.height),this.dashEntry={}};T.prototype.getDash=function(t,e){var r=t.join(",")+String(e);return this.dashEntry[r]||(this.dashEntry[r]=this.addDash(t,e)),this.dashEntry[r]},T.prototype.getDashRanges=function(t,e,r){var n=[],i=t.length%2==1?-t[t.length-1]*r:0,a=t[0]*r,o=!0;n.push({left:i,right:a,isDash:o,zeroLength:0===t[0]});for(var s=t[0],l=1;l<t.length;l++){var c=t[l];n.push({left:i=s*r,right:a=(s+=c)*r,isDash:o=!o,zeroLength:0===c})}return n},T.prototype.addRoundDash=function(t,e,r){for(var n=e/2,i=-r;i<=r;i++)for(var a=this.width*(this.nextRow+r+i),o=0,s=t[o],l=0;l<this.width;l++){l/s.right>1&&(s=t[++o]);var c=Math.abs(l-s.left),u=Math.abs(l-s.right),f=Math.min(c,u),h=void 0,p=i/r*(n+1);if(s.isDash){var d=n-Math.abs(p);h=Math.sqrt(f*f+d*d)}else h=n-Math.sqrt(f*f+p*p);this.data[a+l]=Math.max(0,Math.min(255,h+128))}},T.prototype.addRegularDash=function(t){for(var e=t.length-1;e>=0;--e){var r=t[e],n=t[e+1];r.zeroLength?t.splice(e,1):n&&n.isDash===r.isDash&&(n.left=r.left,t.splice(e,1))}var i=t[0],a=t[t.length-1];i.isDash===a.isDash&&(i.left=a.left-this.width,a.right=i.right+this.width);for(var o=this.width*this.nextRow,s=0,l=t[s],c=0;c<this.width;c++){c/l.right>1&&(l=t[++s]);var u=Math.abs(c-l.left),f=Math.abs(c-l.right),h=Math.min(u,f);this.data[o+c]=Math.max(0,Math.min(255,(l.isDash?h:-h)+128))}},T.prototype.addDash=function(e,r){var n=r?7:0,i=2*n+1;if(this.nextRow+i>this.height)return t.warnOnce("LineAtlas out of space"),null;for(var a=0,o=0;o<e.length;o++)a+=e[o];if(0!==a){var s=this.width/a,l=this.getDashRanges(e,this.width,s);r?this.addRoundDash(l,s,n):this.addRegularDash(l)}var c={y:(this.nextRow+n+.5)/this.height,height:2*n/this.height,width:a};return this.nextRow+=i,this.dirty=!0,c},T.prototype.bind=function(t){var e=t.gl;this.texture?(e.bindTexture(e.TEXTURE_2D,this.texture),this.dirty&&(this.dirty=!1,e.texSubImage2D(e.TEXTURE_2D,0,0,0,this.width,this.height,e.ALPHA,e.UNSIGNED_BYTE,this.data))):(this.texture=e.createTexture(),e.bindTexture(e.TEXTURE_2D,this.texture),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.REPEAT),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.REPEAT),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR),e.texImage2D(e.TEXTURE_2D,0,e.ALPHA,this.width,this.height,0,e.ALPHA,e.UNSIGNED_BYTE,this.data))};var k=function e(r,n){this.workerPool=r,this.actors=[],this.currentActor=0,this.id=t.uniqueId();for(var i=this.workerPool.acquire(this.id),a=0;a<i.length;a++){var o=new e.Actor(i[a],n,this.id);o.name="Worker "+a,this.actors.push(o)}};function M(e,r,n){var i=function(i,a){if(i)return n(i);if(a){var o=t.pick(t.extend(a,e),["tiles","minzoom","maxzoom","attribution","mapbox_logo","bounds","scheme","tileSize","encoding"]);a.vector_layers&&(o.vectorLayers=a.vector_layers,o.vectorLayerIds=o.vectorLayers.map((function(t){return t.id}))),o.tiles=r.canonicalizeTileset(o,e.url),n(null,o)}};return e.url?t.getJSON(r.transformRequest(r.normalizeSourceURL(e.url),t.ResourceType.Source),i):t.browser.frame((function(){return i(null,e)}))}k.prototype.broadcast=function(e,r,n){t.asyncAll(this.actors,(function(t,n){t.send(e,r,n)}),n=n||function(){})},k.prototype.getActor=function(){return this.currentActor=(this.currentActor+1)%this.actors.length,this.actors[this.currentActor]},k.prototype.remove=function(){this.actors.forEach((function(t){t.remove()})),this.actors=[],this.workerPool.release(this.id)},k.Actor=t.Actor;var A=function(e,r,n){this.bounds=t.LngLatBounds.convert(this.validateBounds(e)),this.minzoom=r||0,this.maxzoom=n||24};A.prototype.validateBounds=function(t){return Array.isArray(t)&&4===t.length?[Math.max(-180,t[0]),Math.max(-90,t[1]),Math.min(180,t[2]),Math.min(90,t[3])]:[-180,-90,180,90]},A.prototype.contains=function(e){var r=Math.pow(2,e.z),n=Math.floor(t.mercatorXfromLng(this.bounds.getWest())*r),i=Math.floor(t.mercatorYfromLat(this.bounds.getNorth())*r),a=Math.ceil(t.mercatorXfromLng(this.bounds.getEast())*r),o=Math.ceil(t.mercatorYfromLat(this.bounds.getSouth())*r);return e.x>=n&&e.x<a&&e.y>=i&&e.y<o};var S=function(e){function r(r,n,i,a){if(e.call(this),this.id=r,this.dispatcher=i,this.type="vector",this.minzoom=0,this.maxzoom=22,this.scheme="xyz",this.tileSize=512,this.reparseOverscaled=!0,this.isTileClipped=!0,this._loaded=!1,t.extend(this,t.pick(n,["url","scheme","tileSize","promoteId"])),this._options=t.extend({type:"vector"},n),this._collectResourceTiming=n.collectResourceTiming,512!==this.tileSize)throw new Error("vector tile sources must have a tileSize of 512");this.setEventedParent(a)}return e&&(r.__proto__=e),(r.prototype=Object.create(e&&e.prototype)).constructor=r,r.prototype.load=function(){var e=this;this._loaded=!1,this.fire(new t.Event("dataloading",{dataType:"source"})),this._tileJSONRequest=M(this._options,this.map._requestManager,(function(r,n){e._tileJSONRequest=null,e._loaded=!0,r?e.fire(new t.ErrorEvent(r)):n&&(t.extend(e,n),n.bounds&&(e.tileBounds=new A(n.bounds,e.minzoom,e.maxzoom)),t.postTurnstileEvent(n.tiles,e.map._requestManager._customAccessToken),t.postMapLoadEvent(n.tiles,e.map._getMapId(),e.map._requestManager._skuToken,e.map._requestManager._customAccessToken),e.fire(new t.Event("data",{dataType:"source",sourceDataType:"metadata"})),e.fire(new t.Event("data",{dataType:"source",sourceDataType:"content"})))}))},r.prototype.loaded=function(){return this._loaded},r.prototype.hasTile=function(t){return!this.tileBounds||this.tileBounds.contains(t.canonical)},r.prototype.onAdd=function(t){this.map=t,this.load()},r.prototype.onRemove=function(){this._tileJSONRequest&&(this._tileJSONRequest.cancel(),this._tileJSONRequest=null)},r.prototype.serialize=function(){return t.extend({},this._options)},r.prototype.loadTile=function(e,r){var n=this.map._requestManager.normalizeTileURL(e.tileID.canonical.url(this.tiles,this.scheme)),i={request:this.map._requestManager.transformRequest(n,t.ResourceType.Tile),uid:e.uid,tileID:e.tileID,zoom:e.tileID.overscaledZ,tileSize:this.tileSize*e.tileID.overscaleFactor(),type:this.type,source:this.id,pixelRatio:t.browser.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};function a(n,i){return delete e.request,e.aborted?r(null):n&&404!==n.status?r(n):(i&&i.resourceTiming&&(e.resourceTiming=i.resourceTiming),this.map._refreshExpiredTiles&&i&&e.setExpiryData(i),e.loadVectorData(i,this.map.painter),t.cacheEntryPossiblyAdded(this.dispatcher),r(null),void(e.reloadCallback&&(this.loadTile(e,e.reloadCallback),e.reloadCallback=null)))}i.request.collectResourceTiming=this._collectResourceTiming,e.actor&&"expired"!==e.state?"loading"===e.state?e.reloadCallback=r:e.request=e.actor.send("reloadTile",i,a.bind(this)):(e.actor=this.dispatcher.getActor(),e.request=e.actor.send("loadTile",i,a.bind(this)))},r.prototype.abortTile=function(t){t.request&&(t.request.cancel(),delete t.request),t.actor&&t.actor.send("abortTile",{uid:t.uid,type:this.type,source:this.id},void 0)},r.prototype.unloadTile=function(t){t.unloadVectorData(),t.actor&&t.actor.send("removeTile",{uid:t.uid,type:this.type,source:this.id},void 0)},r.prototype.hasTransition=function(){return!1},r}(t.Evented),E=function(e){function r(r,n,i,a){e.call(this),this.id=r,this.dispatcher=i,this.setEventedParent(a),this.type="raster",this.minzoom=0,this.maxzoom=22,this.roundZoom=!0,this.scheme="xyz",this.tileSize=512,this._loaded=!1,this._options=t.extend({type:"raster"},n),t.extend(this,t.pick(n,["url","scheme","tileSize"]))}return e&&(r.__proto__=e),(r.prototype=Object.create(e&&e.prototype)).constructor=r,r.prototype.load=function(){var e=this;this._loaded=!1,this.fire(new t.Event("dataloading",{dataType:"source"})),this._tileJSONRequest=M(this._options,this.map._requestManager,(function(r,n){e._tileJSONRequest=null,e._loaded=!0,r?e.fire(new t.ErrorEvent(r)):n&&(t.extend(e,n),n.bounds&&(e.tileBounds=new A(n.bounds,e.minzoom,e.maxzoom)),t.postTurnstileEvent(n.tiles),t.postMapLoadEvent(n.tiles,e.map._getMapId(),e.map._requestManager._skuToken),e.fire(new t.Event("data",{dataType:"source",sourceDataType:"metadata"})),e.fire(new t.Event("data",{dataType:"source",sourceDataType:"content"})))}))},r.prototype.loaded=function(){return this._loaded},r.prototype.onAdd=function(t){this.map=t,this.load()},r.prototype.onRemove=function(){this._tileJSONRequest&&(this._tileJSONRequest.cancel(),this._tileJSONRequest=null)},r.prototype.serialize=function(){return t.extend({},this._options)},r.prototype.hasTile=function(t){return!this.tileBounds||this.tileBounds.contains(t.canonical)},r.prototype.loadTile=function(e,r){var n=this,i=this.map._requestManager.normalizeTileURL(e.tileID.canonical.url(this.tiles,this.scheme),this.tileSize);e.request=t.getImage(this.map._requestManager.transformRequest(i,t.ResourceType.Tile),(function(i,a){if(delete e.request,e.aborted)e.state="unloaded",r(null);else if(i)e.state="errored",r(i);else if(a){n.map._refreshExpiredTiles&&e.setExpiryData(a),delete a.cacheControl,delete a.expires;var o=n.map.painter.context,s=o.gl;e.texture=n.map.painter.getTileTexture(a.width),e.texture?e.texture.update(a,{useMipmap:!0}):(e.texture=new t.Texture(o,a,s.RGBA,{useMipmap:!0}),e.texture.bind(s.LINEAR,s.CLAMP_TO_EDGE,s.LINEAR_MIPMAP_NEAREST),o.extTextureFilterAnisotropic&&s.texParameterf(s.TEXTURE_2D,o.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,o.extTextureFilterAnisotropicMax)),e.state="loaded",t.cacheEntryPossiblyAdded(n.dispatcher),r(null)}}))},r.prototype.abortTile=function(t,e){t.request&&(t.request.cancel(),delete t.request),e()},r.prototype.unloadTile=function(t,e){t.texture&&this.map.painter.saveTileTexture(t.texture),e()},r.prototype.hasTransition=function(){return!1},r}(t.Evented),C=function(e){function r(r,n,i,a){e.call(this,r,n,i,a),this.type="raster-dem",this.maxzoom=22,this._options=t.extend({type:"raster-dem"},n),this.encoding=n.encoding||"mapbox"}return e&&(r.__proto__=e),(r.prototype=Object.create(e&&e.prototype)).constructor=r,r.prototype.serialize=function(){return{type:"raster-dem",url:this.url,tileSize:this.tileSize,tiles:this.tiles,bounds:this.bounds,encoding:this.encoding}},r.prototype.loadTile=function(e,r){var n=this.map._requestManager.normalizeTileURL(e.tileID.canonical.url(this.tiles,this.scheme),this.tileSize);function i(t,n){t&&(e.state="errored",r(t)),n&&(e.dem=n,e.needsHillshadePrepare=!0,e.state="loaded",r(null))}e.request=t.getImage(this.map._requestManager.transformRequest(n,t.ResourceType.Tile),function(n,a){if(delete e.request,e.aborted)e.state="unloaded",r(null);else if(n)e.state="errored",r(n);else if(a){this.map._refreshExpiredTiles&&e.setExpiryData(a),delete a.cacheControl,delete a.expires;var o=t.window.ImageBitmap&&a instanceof t.window.ImageBitmap&&t.offscreenCanvasSupported()?a:t.browser.getImageData(a,1),s={uid:e.uid,coord:e.tileID,source:this.id,rawImageData:o,encoding:this.encoding};e.actor&&"expired"!==e.state||(e.actor=this.dispatcher.getActor(),e.actor.send("loadDEMTile",s,i.bind(this)))}}.bind(this)),e.neighboringTiles=this._getNeighboringTiles(e.tileID)},r.prototype._getNeighboringTiles=function(e){var r=e.canonical,n=Math.pow(2,r.z),i=(r.x-1+n)%n,a=0===r.x?e.wrap-1:e.wrap,o=(r.x+1+n)%n,s=r.x+1===n?e.wrap+1:e.wrap,l={};return l[new t.OverscaledTileID(e.overscaledZ,a,r.z,i,r.y).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,s,r.z,o,r.y).key]={backfilled:!1},r.y>0&&(l[new t.OverscaledTileID(e.overscaledZ,a,r.z,i,r.y-1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,e.wrap,r.z,r.x,r.y-1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,s,r.z,o,r.y-1).key]={backfilled:!1}),r.y+1<n&&(l[new t.OverscaledTileID(e.overscaledZ,a,r.z,i,r.y+1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,e.wrap,r.z,r.x,r.y+1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,s,r.z,o,r.y+1).key]={backfilled:!1}),l},r.prototype.unloadTile=function(t){t.demTexture&&this.map.painter.saveTileTexture(t.demTexture),t.fbo&&(t.fbo.destroy(),delete t.fbo),t.dem&&delete t.dem,delete t.neighboringTiles,t.state="unloaded",t.actor&&t.actor.send("removeDEMTile",{uid:t.uid,source:this.id})},r}(E),L=function(e){function r(r,n,i,a){e.call(this),this.id=r,this.type="geojson",this.minzoom=0,this.maxzoom=18,this.tileSize=512,this.isTileClipped=!0,this.reparseOverscaled=!0,this._removed=!1,this._loaded=!1,this.actor=i.getActor(),this.setEventedParent(a),this._data=n.data,this._options=t.extend({},n),this._collectResourceTiming=n.collectResourceTiming,this._resourceTiming=[],void 0!==n.maxzoom&&(this.maxzoom=n.maxzoom),n.type&&(this.type=n.type),n.attribution&&(this.attribution=n.attribution),this.promoteId=n.promoteId;var o=t.EXTENT/this.tileSize;this.workerOptions=t.extend({source:this.id,cluster:n.cluster||!1,geojsonVtOptions:{buffer:(void 0!==n.buffer?n.buffer:128)*o,tolerance:(void 0!==n.tolerance?n.tolerance:.375)*o,extent:t.EXTENT,maxZoom:this.maxzoom,lineMetrics:n.lineMetrics||!1,generateId:n.generateId||!1},superclusterOptions:{maxZoom:void 0!==n.clusterMaxZoom?Math.min(n.clusterMaxZoom,this.maxzoom-1):this.maxzoom-1,extent:t.EXTENT,radius:(n.clusterRadius||50)*o,log:!1,generateId:n.generateId||!1},clusterProperties:n.clusterProperties},n.workerOptions)}return e&&(r.__proto__=e),(r.prototype=Object.create(e&&e.prototype)).constructor=r,r.prototype.load=function(){var e=this;this.fire(new t.Event("dataloading",{dataType:"source"})),this._updateWorkerData((function(r){if(r)e.fire(new t.ErrorEvent(r));else{var n={dataType:"source",sourceDataType:"metadata"};e._collectResourceTiming&&e._resourceTiming&&e._resourceTiming.length>0&&(n.resourceTiming=e._resourceTiming,e._resourceTiming=[]),e.fire(new t.Event("data",n))}}))},r.prototype.onAdd=function(t){this.map=t,this.load()},r.prototype.setData=function(e){var r=this;return this._data=e,this.fire(new t.Event("dataloading",{dataType:"source"})),this._updateWorkerData((function(e){if(e)r.fire(new t.ErrorEvent(e));else{var n={dataType:"source",sourceDataType:"content"};r._collectResourceTiming&&r._resourceTiming&&r._resourceTiming.length>0&&(n.resourceTiming=r._resourceTiming,r._resourceTiming=[]),r.fire(new t.Event("data",n))}})),this},r.prototype.getClusterExpansionZoom=function(t,e){return this.actor.send("geojson.getClusterExpansionZoom",{clusterId:t,source:this.id},e),this},r.prototype.getClusterChildren=function(t,e){return this.actor.send("geojson.getClusterChildren",{clusterId:t,source:this.id},e),this},r.prototype.getClusterLeaves=function(t,e,r,n){return this.actor.send("geojson.getClusterLeaves",{source:this.id,clusterId:t,limit:e,offset:r},n),this},r.prototype._updateWorkerData=function(e){var r=this;this._loaded=!1;var n=t.extend({},this.workerOptions),i=this._data;"string"==typeof i?(n.request=this.map._requestManager.transformRequest(t.browser.resolveURL(i),t.ResourceType.Source),n.request.collectResourceTiming=this._collectResourceTiming):n.data=JSON.stringify(i),this.actor.send(this.type+".loadData",n,(function(t,i){r._removed||i&&i.abandoned||(r._loaded=!0,i&&i.resourceTiming&&i.resourceTiming[r.id]&&(r._resourceTiming=i.resourceTiming[r.id].slice(0)),r.actor.send(r.type+".coalesce",{source:n.source},null),e(t))}))},r.prototype.loaded=function(){return this._loaded},r.prototype.loadTile=function(e,r){var n=this,i=e.actor?"reloadTile":"loadTile";e.actor=this.actor,e.request=this.actor.send(i,{type:this.type,uid:e.uid,tileID:e.tileID,zoom:e.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:t.browser.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId},(function(t,a){return delete e.request,e.unloadVectorData(),e.aborted?r(null):t?r(t):(e.loadVectorData(a,n.map.painter,"reloadTile"===i),r(null))}))},r.prototype.abortTile=function(t){t.request&&(t.request.cancel(),delete t.request),t.aborted=!0},r.prototype.unloadTile=function(t){t.unloadVectorData(),this.actor.send("removeTile",{uid:t.uid,type:this.type,source:this.id})},r.prototype.onRemove=function(){this._removed=!0,this.actor.send("removeSource",{type:this.type,source:this.id})},r.prototype.serialize=function(){return t.extend({},this._options,{type:this.type,data:this._data})},r.prototype.hasTransition=function(){return!1},r}(t.Evented),I=t.createLayout([{name:"a_pos",type:"Int16",components:2},{name:"a_texture_pos",type:"Int16",components:2}]),P=function(e){function r(t,r,n,i){e.call(this),this.id=t,this.dispatcher=n,this.coordinates=r.coordinates,this.type="image",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(i),this.options=r}return e&&(r.__proto__=e),(r.prototype=Object.create(e&&e.prototype)).constructor=r,r.prototype.load=function(e,r){var n=this;this._loaded=!1,this.fire(new t.Event("dataloading",{dataType:"source"})),this.url=this.options.url,t.getImage(this.map._requestManager.transformRequest(this.url,t.ResourceType.Image),(function(i,a){n._loaded=!0,i?n.fire(new t.ErrorEvent(i)):a&&(n.image=a,e&&(n.coordinates=e),r&&r(),n._finishLoading())}))},r.prototype.loaded=function(){return this._loaded},r.prototype.updateImage=function(t){var e=this;return this.image&&t.url?(this.options.url=t.url,this.load(t.coordinates,(function(){e.texture=null})),this):this},r.prototype._finishLoading=function(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new t.Event("data",{dataType:"source",sourceDataType:"metadata"})))},r.prototype.onAdd=function(t){this.map=t,this.load()},r.prototype.setCoordinates=function(e){var r=this;this.coordinates=e;var n=e.map(t.MercatorCoordinate.fromLngLat);this.tileID=function(e){for(var r=1/0,n=1/0,i=-1/0,a=-1/0,o=0,s=e;o<s.length;o+=1){var l=s[o];r=Math.min(r,l.x),n=Math.min(n,l.y),i=Math.max(i,l.x),a=Math.max(a,l.y)}var c=Math.max(i-r,a-n),u=Math.max(0,Math.floor(-Math.log(c)/Math.LN2)),f=Math.pow(2,u);return new t.CanonicalTileID(u,Math.floor((r+i)/2*f),Math.floor((n+a)/2*f))}(n),this.minzoom=this.maxzoom=this.tileID.z;var i=n.map((function(t){return r.tileID.getTilePoint(t)._round()}));return this._boundsArray=new t.StructArrayLayout4i8,this._boundsArray.emplaceBack(i[0].x,i[0].y,0,0),this._boundsArray.emplaceBack(i[1].x,i[1].y,t.EXTENT,0),this._boundsArray.emplaceBack(i[3].x,i[3].y,0,t.EXTENT),this._boundsArray.emplaceBack(i[2].x,i[2].y,t.EXTENT,t.EXTENT),this.boundsBuffer&&(this.boundsBuffer.destroy(),delete this.boundsBuffer),this.fire(new t.Event("data",{dataType:"source",sourceDataType:"content"})),this},r.prototype.prepare=function(){if(0!==Object.keys(this.tiles).length&&this.image){var e=this.map.painter.context,r=e.gl;for(var n in this.boundsBuffer||(this.boundsBuffer=e.createVertexBuffer(this._boundsArray,I.members)),this.boundsSegments||(this.boundsSegments=t.SegmentVector.simpleSegment(0,0,4,2)),this.texture||(this.texture=new t.Texture(e,this.image,r.RGBA),this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE)),this.tiles){var i=this.tiles[n];"loaded"!==i.state&&(i.state="loaded",i.texture=this.texture)}}},r.prototype.loadTile=function(t,e){this.tileID&&this.tileID.equals(t.tileID.canonical)?(this.tiles[String(t.tileID.wrap)]=t,t.buckets={},e(null)):(t.state="errored",e(null))},r.prototype.serialize=function(){return{type:"image",url:this.options.url,coordinates:this.coordinates}},r.prototype.hasTransition=function(){return!1},r}(t.Evented),z=function(e){function r(t,r,n,i){e.call(this,t,r,n,i),this.roundZoom=!0,this.type="video",this.options=r}return e&&(r.__proto__=e),(r.prototype=Object.create(e&&e.prototype)).constructor=r,r.prototype.load=function(){var e=this;this._loaded=!1;var r=this.options;this.urls=[];for(var n=0,i=r.urls;n<i.length;n+=1)this.urls.push(this.map._requestManager.transformRequest(i[n],t.ResourceType.Source).url);t.getVideo(this.urls,(function(r,n){e._loaded=!0,r?e.fire(new t.ErrorEvent(r)):n&&(e.video=n,e.video.loop=!0,e.video.addEventListener("playing",(function(){e.map.triggerRepaint()})),e.map&&e.video.play(),e._finishLoading())}))},r.prototype.pause=function(){this.video&&this.video.pause()},r.prototype.play=function(){this.video&&this.video.play()},r.prototype.seek=function(e){if(this.video){var r=this.video.seekable;e<r.start(0)||e>r.end(0)?this.fire(new t.ErrorEvent(new t.ValidationError("sources."+this.id,null,"Playback for this video can be set only between the "+r.start(0)+" and "+r.end(0)+"-second mark."))):this.video.currentTime=e}},r.prototype.getVideo=function(){return this.video},r.prototype.onAdd=function(t){this.map||(this.map=t,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))},r.prototype.prepare=function(){if(!(0===Object.keys(this.tiles).length||this.video.readyState<2)){var e=this.map.painter.context,r=e.gl;for(var n in this.boundsBuffer||(this.boundsBuffer=e.createVertexBuffer(this._boundsArray,I.members)),this.boundsSegments||(this.boundsSegments=t.SegmentVector.simpleSegment(0,0,4,2)),this.texture?this.video.paused||(this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE),r.texSubImage2D(r.TEXTURE_2D,0,0,0,r.RGBA,r.UNSIGNED_BYTE,this.video)):(this.texture=new t.Texture(e,this.video,r.RGBA),this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE)),this.tiles){var i=this.tiles[n];"loaded"!==i.state&&(i.state="loaded",i.texture=this.texture)}}},r.prototype.serialize=function(){return{type:"video",urls:this.urls,coordinates:this.coordinates}},r.prototype.hasTransition=function(){return this.video&&!this.video.paused},r}(P),O=function(e){function r(r,n,i,a){e.call(this,r,n,i,a),n.coordinates?Array.isArray(n.coordinates)&&4===n.coordinates.length&&!n.coordinates.some((function(t){return!Array.isArray(t)||2!==t.length||t.some((function(t){return"number"!=typeof t}))}))||this.fire(new t.ErrorEvent(new t.ValidationError("sources."+r,null,'"coordinates" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new t.ErrorEvent(new t.ValidationError("sources."+r,null,'missing required property "coordinates"'))),n.animate&&"boolean"!=typeof n.animate&&this.fire(new t.ErrorEvent(new t.ValidationError("sources."+r,null,'optional "animate" property must be a boolean value'))),n.canvas?"string"==typeof n.canvas||n.canvas instanceof t.window.HTMLCanvasElement||this.fire(new t.ErrorEvent(new t.ValidationError("sources."+r,null,'"canvas" must be either a string representing the ID of the canvas element from which to read, or an HTMLCanvasElement instance'))):this.fire(new t.ErrorEvent(new t.ValidationError("sources."+r,null,'missing required property "canvas"'))),this.options=n,this.animate=void 0===n.animate||n.animate}return e&&(r.__proto__=e),(r.prototype=Object.create(e&&e.prototype)).constructor=r,r.prototype.load=function(){this._loaded=!0,this.canvas||(this.canvas=this.options.canvas instanceof t.window.HTMLCanvasElement?this.options.canvas:t.window.document.getElementById(this.options.canvas)),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()?this.fire(new t.ErrorEvent(new Error("Canvas dimensions cannot be less than or equal to zero."))):(this.play=function(){this._playing=!0,this.map.triggerRepaint()},this.pause=function(){this._playing&&(this.prepare(),this._playing=!1)},this._finishLoading())},r.prototype.getCanvas=function(){return this.canvas},r.prototype.onAdd=function(t){this.map=t,this.load(),this.canvas&&this.animate&&this.play()},r.prototype.onRemove=function(){this.pause()},r.prototype.prepare=function(){var e=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,e=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,e=!0),!this._hasInvalidDimensions()&&0!==Object.keys(this.tiles).length){var r=this.map.painter.context,n=r.gl;for(var i in this.boundsBuffer||(this.boundsBuffer=r.createVertexBuffer(this._boundsArray,I.members)),this.boundsSegments||(this.boundsSegments=t.SegmentVector.simpleSegment(0,0,4,2)),this.texture?(e||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new t.Texture(r,this.canvas,n.RGBA,{premultiply:!0}),this.tiles){var a=this.tiles[i];"loaded"!==a.state&&(a.state="loaded",a.texture=this.texture)}}},r.prototype.serialize=function(){return{type:"canvas",coordinates:this.coordinates}},r.prototype.hasTransition=function(){return this._playing},r.prototype._hasInvalidDimensions=function(){for(var t=0,e=[this.canvas.width,this.canvas.height];t<e.length;t+=1){var r=e[t];if(isNaN(r)||r<=0)return!0}return!1},r}(P),D={vector:S,raster:E,"raster-dem":C,geojson:L,video:z,image:P,canvas:O};function R(e,r){var n=t.identity([]);return t.translate(n,n,[1,1,0]),t.scale(n,n,[.5*e.width,.5*e.height,1]),t.multiply(n,n,e.calculatePosMatrix(r.toUnwrapped()))}function F(t,e,r,n,i,a){var o=function(t,e,r){if(t)for(var n=0,i=t;n<i.length;n+=1){var a=e[i[n]];if(a&&a.source===r&&"fill-extrusion"===a.type)return!0}else for(var o in e){var s=e[o];if(s.source===r&&"fill-extrusion"===s.type)return!0}return!1}(i&&i.layers,e,t.id),s=a.maxPitchScaleFactor(),l=t.tilesIn(n,s,o);l.sort(B);for(var c=[],u=0,f=l;u<f.length;u+=1){var h=f[u];c.push({wrappedTileID:h.tileID.wrapped().key,queryResults:h.tile.queryRenderedFeatures(e,r,t._state,h.queryGeometry,h.cameraQueryGeometry,h.scale,i,a,s,R(t.transform,h.tileID))})}var p=function(t){for(var e={},r={},n=0,i=t;n<i.length;n+=1){var a=i[n],o=a.queryResults,s=a.wrappedTileID,l=r[s]=r[s]||{};for(var c in o)for(var u=o[c],f=l[c]=l[c]||{},h=e[c]=e[c]||[],p=0,d=u;p<d.length;p+=1){var g=d[p];f[g.featureIndex]||(f[g.featureIndex]=!0,h.push(g))}}return e}(c);for(var d in p)p[d].forEach((function(e){var r=e.feature,n=t.getFeatureState(r.layer["source-layer"],r.id);r.source=r.layer.source,r.layer["source-layer"]&&(r.sourceLayer=r.layer["source-layer"]),r.state=n}));return p}function B(t,e){var r=t.tileID,n=e.tileID;return r.overscaledZ-n.overscaledZ||r.canonical.y-n.canonical.y||r.wrap-n.wrap||r.canonical.x-n.canonical.x}var N=function(t,e){this.max=t,this.onRemove=e,this.reset()};N.prototype.reset=function(){for(var t in this.data)for(var e=0,r=this.data[t];e<r.length;e+=1){var n=r[e];n.timeout&&clearTimeout(n.timeout),this.onRemove(n.value)}return this.data={},this.order=[],this},N.prototype.add=function(t,e,r){var n=this,i=t.wrapped().key;void 0===this.data[i]&&(this.data[i]=[]);var a={value:e,timeout:void 0};if(void 0!==r&&(a.timeout=setTimeout((function(){n.remove(t,a)}),r)),this.data[i].push(a),this.order.push(i),this.order.length>this.max){var o=this._getAndRemoveByKey(this.order[0]);o&&this.onRemove(o)}return this},N.prototype.has=function(t){return t.wrapped().key in this.data},N.prototype.getAndRemove=function(t){return this.has(t)?this._getAndRemoveByKey(t.wrapped().key):null},N.prototype._getAndRemoveByKey=function(t){var e=this.data[t].shift();return e.timeout&&clearTimeout(e.timeout),0===this.data[t].length&&delete this.data[t],this.order.splice(this.order.indexOf(t),1),e.value},N.prototype.getByKey=function(t){var e=this.data[t];return e?e[0].value:null},N.prototype.get=function(t){return this.has(t)?this.data[t.wrapped().key][0].value:null},N.prototype.remove=function(t,e){if(!this.has(t))return this;var r=t.wrapped().key,n=void 0===e?0:this.data[r].indexOf(e),i=this.data[r][n];return this.data[r].splice(n,1),i.timeout&&clearTimeout(i.timeout),0===this.data[r].length&&delete this.data[r],this.onRemove(i.value),this.order.splice(this.order.indexOf(r),1),this},N.prototype.setMaxSize=function(t){for(this.max=t;this.order.length>this.max;){var e=this._getAndRemoveByKey(this.order[0]);e&&this.onRemove(e)}return this},N.prototype.filter=function(t){var e=[];for(var r in this.data)for(var n=0,i=this.data[r];n<i.length;n+=1){var a=i[n];t(a.value)||e.push(a)}for(var o=0,s=e;o<s.length;o+=1){var l=s[o];this.remove(l.value.tileID,l)}};var j=function(t,e,r){this.context=t;var n=t.gl;this.buffer=n.createBuffer(),this.dynamicDraw=Boolean(r),this.context.unbindVAO(),t.bindElementBuffer.set(this.buffer),n.bufferData(n.ELEMENT_ARRAY_BUFFER,e.arrayBuffer,this.dynamicDraw?n.DYNAMIC_DRAW:n.STATIC_DRAW),this.dynamicDraw||delete e.arrayBuffer};j.prototype.bind=function(){this.context.bindElementBuffer.set(this.buffer)},j.prototype.updateData=function(t){var e=this.context.gl;this.context.unbindVAO(),this.bind(),e.bufferSubData(e.ELEMENT_ARRAY_BUFFER,0,t.arrayBuffer)},j.prototype.destroy=function(){this.buffer&&(this.context.gl.deleteBuffer(this.buffer),delete this.buffer)};var U={Int8:"BYTE",Uint8:"UNSIGNED_BYTE",Int16:"SHORT",Uint16:"UNSIGNED_SHORT",Int32:"INT",Uint32:"UNSIGNED_INT",Float32:"FLOAT"},V=function(t,e,r,n){this.length=e.length,this.attributes=r,this.itemSize=e.bytesPerElement,this.dynamicDraw=n,this.context=t;var i=t.gl;this.buffer=i.createBuffer(),t.bindVertexBuffer.set(this.buffer),i.bufferData(i.ARRAY_BUFFER,e.arrayBuffer,this.dynamicDraw?i.DYNAMIC_DRAW:i.STATIC_DRAW),this.dynamicDraw||delete e.arrayBuffer};V.prototype.bind=function(){this.context.bindVertexBuffer.set(this.buffer)},V.prototype.updateData=function(t){var e=this.context.gl;this.bind(),e.bufferSubData(e.ARRAY_BUFFER,0,t.arrayBuffer)},V.prototype.enableAttributes=function(t,e){for(var r=0;r<this.attributes.length;r++){var n=e.attributes[this.attributes[r].name];void 0!==n&&t.enableVertexAttribArray(n)}},V.prototype.setVertexAttribPointers=function(t,e,r){for(var n=0;n<this.attributes.length;n++){var i=this.attributes[n],a=e.attributes[i.name];void 0!==a&&t.vertexAttribPointer(a,i.components,t[U[i.type]],!1,this.itemSize,i.offset+this.itemSize*(r||0))}},V.prototype.destroy=function(){this.buffer&&(this.context.gl.deleteBuffer(this.buffer),delete this.buffer)};var q=function(t){this.gl=t.gl,this.default=this.getDefault(),this.current=this.default,this.dirty=!1};q.prototype.get=function(){return this.current},q.prototype.set=function(t){},q.prototype.getDefault=function(){return this.default},q.prototype.setDefault=function(){this.set(this.default)};var H=function(e){function r(){e.apply(this,arguments)}return e&&(r.__proto__=e),(r.prototype=Object.create(e&&e.prototype)).constructor=r,r.prototype.getDefault=function(){return t.Color.transparent},r.prototype.set=function(t){var e=this.current;(t.r!==e.r||t.g!==e.g||t.b!==e.b||t.a!==e.a||this.dirty)&&(this.gl.clearColor(t.r,t.g,t.b,t.a),this.current=t,this.dirty=!1)},r}(q),G=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return 1},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.clearDepth(t),this.current=t,this.dirty=!1)},e}(q),Y=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return 0},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.clearStencil(t),this.current=t,this.dirty=!1)},e}(q),W=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return[!0,!0,!0,!0]},e.prototype.set=function(t){var e=this.current;(t[0]!==e[0]||t[1]!==e[1]||t[2]!==e[2]||t[3]!==e[3]||this.dirty)&&(this.gl.colorMask(t[0],t[1],t[2],t[3]),this.current=t,this.dirty=!1)},e}(q),X=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return!0},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.depthMask(t),this.current=t,this.dirty=!1)},e}(q),Z=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return 255},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.stencilMask(t),this.current=t,this.dirty=!1)},e}(q),J=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return{func:this.gl.ALWAYS,ref:0,mask:255}},e.prototype.set=function(t){var e=this.current;(t.func!==e.func||t.ref!==e.ref||t.mask!==e.mask||this.dirty)&&(this.gl.stencilFunc(t.func,t.ref,t.mask),this.current=t,this.dirty=!1)},e}(q),K=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){var t=this.gl;return[t.KEEP,t.KEEP,t.KEEP]},e.prototype.set=function(t){var e=this.current;(t[0]!==e[0]||t[1]!==e[1]||t[2]!==e[2]||this.dirty)&&(this.gl.stencilOp(t[0],t[1],t[2]),this.current=t,this.dirty=!1)},e}(q),Q=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return!1},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;t?e.enable(e.STENCIL_TEST):e.disable(e.STENCIL_TEST),this.current=t,this.dirty=!1}},e}(q),$=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return[0,1]},e.prototype.set=function(t){var e=this.current;(t[0]!==e[0]||t[1]!==e[1]||this.dirty)&&(this.gl.depthRange(t[0],t[1]),this.current=t,this.dirty=!1)},e}(q),tt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return!1},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;t?e.enable(e.DEPTH_TEST):e.disable(e.DEPTH_TEST),this.current=t,this.dirty=!1}},e}(q),et=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return this.gl.LESS},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.depthFunc(t),this.current=t,this.dirty=!1)},e}(q),rt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return!1},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;t?e.enable(e.BLEND):e.disable(e.BLEND),this.current=t,this.dirty=!1}},e}(q),nt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){var t=this.gl;return[t.ONE,t.ZERO]},e.prototype.set=function(t){var e=this.current;(t[0]!==e[0]||t[1]!==e[1]||this.dirty)&&(this.gl.blendFunc(t[0],t[1]),this.current=t,this.dirty=!1)},e}(q),it=function(e){function r(){e.apply(this,arguments)}return e&&(r.__proto__=e),(r.prototype=Object.create(e&&e.prototype)).constructor=r,r.prototype.getDefault=function(){return t.Color.transparent},r.prototype.set=function(t){var e=this.current;(t.r!==e.r||t.g!==e.g||t.b!==e.b||t.a!==e.a||this.dirty)&&(this.gl.blendColor(t.r,t.g,t.b,t.a),this.current=t,this.dirty=!1)},r}(q),at=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return this.gl.FUNC_ADD},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.blendEquation(t),this.current=t,this.dirty=!1)},e}(q),ot=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return!1},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;t?e.enable(e.CULL_FACE):e.disable(e.CULL_FACE),this.current=t,this.dirty=!1}},e}(q),st=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return this.gl.BACK},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.cullFace(t),this.current=t,this.dirty=!1)},e}(q),lt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return this.gl.CCW},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.frontFace(t),this.current=t,this.dirty=!1)},e}(q),ct=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return null},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.useProgram(t),this.current=t,this.dirty=!1)},e}(q),ut=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return this.gl.TEXTURE0},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.activeTexture(t),this.current=t,this.dirty=!1)},e}(q),ft=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){var t=this.gl;return[0,0,t.drawingBufferWidth,t.drawingBufferHeight]},e.prototype.set=function(t){var e=this.current;(t[0]!==e[0]||t[1]!==e[1]||t[2]!==e[2]||t[3]!==e[3]||this.dirty)&&(this.gl.viewport(t[0],t[1],t[2],t[3]),this.current=t,this.dirty=!1)},e}(q),ht=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return null},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;e.bindFramebuffer(e.FRAMEBUFFER,t),this.current=t,this.dirty=!1}},e}(q),pt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return null},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;e.bindRenderbuffer(e.RENDERBUFFER,t),this.current=t,this.dirty=!1}},e}(q),dt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return null},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;e.bindTexture(e.TEXTURE_2D,t),this.current=t,this.dirty=!1}},e}(q),gt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return null},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;e.bindBuffer(e.ARRAY_BUFFER,t),this.current=t,this.dirty=!1}},e}(q),mt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return null},e.prototype.set=function(t){var e=this.gl;e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,t),this.current=t,this.dirty=!1},e}(q),vt=function(t){function e(e){t.call(this,e),this.vao=e.extVertexArrayObject}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return null},e.prototype.set=function(t){this.vao&&(t!==this.current||this.dirty)&&(this.vao.bindVertexArrayOES(t),this.current=t,this.dirty=!1)},e}(q),yt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return 4},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;e.pixelStorei(e.UNPACK_ALIGNMENT,t),this.current=t,this.dirty=!1}},e}(q),xt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return!1},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;e.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL,t),this.current=t,this.dirty=!1}},e}(q),bt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return!1},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,t),this.current=t,this.dirty=!1}},e}(q),_t=function(t){function e(e,r){t.call(this,e),this.context=e,this.parent=r}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return null},e}(q),wt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.setDirty=function(){this.dirty=!0},e.prototype.set=function(t){if(t!==this.current||this.dirty){this.context.bindFramebuffer.set(this.parent);var e=this.gl;e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,t,0),this.current=t,this.dirty=!1}},e}(_t),Tt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.set=function(t){if(t!==this.current||this.dirty){this.context.bindFramebuffer.set(this.parent);var e=this.gl;e.framebufferRenderbuffer(e.FRAMEBUFFER,e.DEPTH_ATTACHMENT,e.RENDERBUFFER,t),this.current=t,this.dirty=!1}},e}(_t),kt=function(t,e,r,n){this.context=t,this.width=e,this.height=r;var i=this.framebuffer=t.gl.createFramebuffer();this.colorAttachment=new wt(t,i),n&&(this.depthAttachment=new Tt(t,i))};kt.prototype.destroy=function(){var t=this.context.gl,e=this.colorAttachment.get();if(e&&t.deleteTexture(e),this.depthAttachment){var r=this.depthAttachment.get();r&&t.deleteRenderbuffer(r)}t.deleteFramebuffer(this.framebuffer)};var Mt=function(t,e,r){this.func=t,this.mask=e,this.range=r};Mt.ReadOnly=!1,Mt.ReadWrite=!0,Mt.disabled=new Mt(519,Mt.ReadOnly,[0,1]);var At=function(t,e,r,n,i,a){this.test=t,this.ref=e,this.mask=r,this.fail=n,this.depthFail=i,this.pass=a};At.disabled=new At({func:519,mask:0},0,0,7680,7680,7680);var St=function(t,e,r){this.blendFunction=t,this.blendColor=e,this.mask=r};St.disabled=new St(St.Replace=[1,0],t.Color.transparent,[!1,!1,!1,!1]),St.unblended=new St(St.Replace,t.Color.transparent,[!0,!0,!0,!0]),St.alphaBlended=new St([1,771],t.Color.transparent,[!0,!0,!0,!0]);var Et=function(t,e,r){this.enable=t,this.mode=e,this.frontFace=r};Et.disabled=new Et(!1,1029,2305),Et.backCCW=new Et(!0,1029,2305);var Ct=function(t){this.gl=t,this.extVertexArrayObject=this.gl.getExtension("OES_vertex_array_object"),this.clearColor=new H(this),this.clearDepth=new G(this),this.clearStencil=new Y(this),this.colorMask=new W(this),this.depthMask=new X(this),this.stencilMask=new Z(this),this.stencilFunc=new J(this),this.stencilOp=new K(this),this.stencilTest=new Q(this),this.depthRange=new $(this),this.depthTest=new tt(this),this.depthFunc=new et(this),this.blend=new rt(this),this.blendFunc=new nt(this),this.blendColor=new it(this),this.blendEquation=new at(this),this.cullFace=new ot(this),this.cullFaceSide=new st(this),this.frontFace=new lt(this),this.program=new ct(this),this.activeTexture=new ut(this),this.viewport=new ft(this),this.bindFramebuffer=new ht(this),this.bindRenderbuffer=new pt(this),this.bindTexture=new dt(this),this.bindVertexBuffer=new gt(this),this.bindElementBuffer=new mt(this),this.bindVertexArrayOES=this.extVertexArrayObject&&new vt(this),this.pixelStoreUnpack=new yt(this),this.pixelStoreUnpackPremultiplyAlpha=new xt(this),this.pixelStoreUnpackFlipY=new bt(this),this.extTextureFilterAnisotropic=t.getExtension("EXT_texture_filter_anisotropic")||t.getExtension("MOZ_EXT_texture_filter_anisotropic")||t.getExtension("WEBKIT_EXT_texture_filter_anisotropic"),this.extTextureFilterAnisotropic&&(this.extTextureFilterAnisotropicMax=t.getParameter(this.extTextureFilterAnisotropic.MAX_TEXTURE_MAX_ANISOTROPY_EXT)),this.extTextureHalfFloat=t.getExtension("OES_texture_half_float"),this.extTextureHalfFloat&&(t.getExtension("OES_texture_half_float_linear"),this.extRenderToTextureHalfFloat=t.getExtension("EXT_color_buffer_half_float")),this.extTimerQuery=t.getExtension("EXT_disjoint_timer_query")};Ct.prototype.setDefault=function(){this.unbindVAO(),this.clearColor.setDefault(),this.clearDepth.setDefault(),this.clearStencil.setDefault(),this.colorMask.setDefault(),this.depthMask.setDefault(),this.stencilMask.setDefault(),this.stencilFunc.setDefault(),this.stencilOp.setDefault(),this.stencilTest.setDefault(),this.depthRange.setDefault(),this.depthTest.setDefault(),this.depthFunc.setDefault(),this.blend.setDefault(),this.blendFunc.setDefault(),this.blendColor.setDefault(),this.blendEquation.setDefault(),this.cullFace.setDefault(),this.cullFaceSide.setDefault(),this.frontFace.setDefault(),this.program.setDefault(),this.activeTexture.setDefault(),this.bindFramebuffer.setDefault(),this.pixelStoreUnpack.setDefault(),this.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.pixelStoreUnpackFlipY.setDefault()},Ct.prototype.setDirty=function(){this.clearColor.dirty=!0,this.clearDepth.dirty=!0,this.clearStencil.dirty=!0,this.colorMask.dirty=!0,this.depthMask.dirty=!0,this.stencilMask.dirty=!0,this.stencilFunc.dirty=!0,this.stencilOp.dirty=!0,this.stencilTest.dirty=!0,this.depthRange.dirty=!0,this.depthTest.dirty=!0,this.depthFunc.dirty=!0,this.blend.dirty=!0,this.blendFunc.dirty=!0,this.blendColor.dirty=!0,this.blendEquation.dirty=!0,this.cullFace.dirty=!0,this.cullFaceSide.dirty=!0,this.frontFace.dirty=!0,this.program.dirty=!0,this.activeTexture.dirty=!0,this.viewport.dirty=!0,this.bindFramebuffer.dirty=!0,this.bindRenderbuffer.dirty=!0,this.bindTexture.dirty=!0,this.bindVertexBuffer.dirty=!0,this.bindElementBuffer.dirty=!0,this.extVertexArrayObject&&(this.bindVertexArrayOES.dirty=!0),this.pixelStoreUnpack.dirty=!0,this.pixelStoreUnpackPremultiplyAlpha.dirty=!0,this.pixelStoreUnpackFlipY.dirty=!0},Ct.prototype.createIndexBuffer=function(t,e){return new j(this,t,e)},Ct.prototype.createVertexBuffer=function(t,e,r){return new V(this,t,e,r)},Ct.prototype.createRenderbuffer=function(t,e,r){var n=this.gl,i=n.createRenderbuffer();return this.bindRenderbuffer.set(i),n.renderbufferStorage(n.RENDERBUFFER,t,e,r),this.bindRenderbuffer.set(null),i},Ct.prototype.createFramebuffer=function(t,e,r){return new kt(this,t,e,r)},Ct.prototype.clear=function(t){var e=t.color,r=t.depth,n=this.gl,i=0;e&&(i|=n.COLOR_BUFFER_BIT,this.clearColor.set(e),this.colorMask.set([!0,!0,!0,!0])),void 0!==r&&(i|=n.DEPTH_BUFFER_BIT,this.depthRange.set([0,1]),this.clearDepth.set(r),this.depthMask.set(!0)),n.clear(i)},Ct.prototype.setCullFace=function(t){!1===t.enable?this.cullFace.set(!1):(this.cullFace.set(!0),this.cullFaceSide.set(t.mode),this.frontFace.set(t.frontFace))},Ct.prototype.setDepthMode=function(t){t.func!==this.gl.ALWAYS||t.mask?(this.depthTest.set(!0),this.depthFunc.set(t.func),this.depthMask.set(t.mask),this.depthRange.set(t.range)):this.depthTest.set(!1)},Ct.prototype.setStencilMode=function(t){t.test.func!==this.gl.ALWAYS||t.mask?(this.stencilTest.set(!0),this.stencilMask.set(t.mask),this.stencilOp.set([t.fail,t.depthFail,t.pass]),this.stencilFunc.set({func:t.test.func,ref:t.ref,mask:t.test.mask})):this.stencilTest.set(!1)},Ct.prototype.setColorMode=function(e){t.deepEqual(e.blendFunction,St.Replace)?this.blend.set(!1):(this.blend.set(!0),this.blendFunc.set(e.blendFunction),this.blendColor.set(e.blendColor)),this.colorMask.set(e.mask)},Ct.prototype.unbindVAO=function(){this.extVertexArrayObject&&this.bindVertexArrayOES.set(null)};var Lt=function(e){function r(r,n,i){var a=this;e.call(this),this.id=r,this.dispatcher=i,this.on("data",(function(t){"source"===t.dataType&&"metadata"===t.sourceDataType&&(a._sourceLoaded=!0),a._sourceLoaded&&!a._paused&&"source"===t.dataType&&"content"===t.sourceDataType&&(a.reload(),a.transform&&a.update(a.transform))})),this.on("error",(function(){a._sourceErrored=!0})),this._source=function(e,r,n,i){var a=new D[r.type](e,r,n,i);if(a.id!==e)throw new Error("Expected Source id to be "+e+" instead of "+a.id);return t.bindAll(["load","abort","unload","serialize","prepare"],a),a}(r,n,i,this),this._tiles={},this._cache=new N(0,this._unloadTile.bind(this)),this._timers={},this._cacheTimers={},this._maxTileCacheSize=null,this._loadedParentTiles={},this._coveredTiles={},this._state=new t.SourceFeatureState}return e&&(r.__proto__=e),(r.prototype=Object.create(e&&e.prototype)).constructor=r,r.prototype.onAdd=function(t){this.map=t,this._maxTileCacheSize=t?t._maxTileCacheSize:null,this._source&&this._source.onAdd&&this._source.onAdd(t)},r.prototype.onRemove=function(t){this._source&&this._source.onRemove&&this._source.onRemove(t)},r.prototype.loaded=function(){if(this._sourceErrored)return!0;if(!this._sourceLoaded)return!1;if(!this._source.loaded())return!1;for(var t in this._tiles){var e=this._tiles[t];if("loaded"!==e.state&&"errored"!==e.state)return!1}return!0},r.prototype.getSource=function(){return this._source},r.prototype.pause=function(){this._paused=!0},r.prototype.resume=function(){if(this._paused){var t=this._shouldReloadOnResume;this._paused=!1,this._shouldReloadOnResume=!1,t&&this.reload(),this.transform&&this.update(this.transform)}},r.prototype._loadTile=function(t,e){return this._source.loadTile(t,e)},r.prototype._unloadTile=function(t){if(this._source.unloadTile)return this._source.unloadTile(t,(function(){}))},r.prototype._abortTile=function(t){if(this._source.abortTile)return this._source.abortTile(t,(function(){}))},r.prototype.serialize=function(){return this._source.serialize()},r.prototype.prepare=function(t){for(var e in this._source.prepare&&this._source.prepare(),this._state.coalesceChanges(this._tiles,this.map?this.map.painter:null),this._tiles){var r=this._tiles[e];r.upload(t),r.prepare(this.map.style.imageManager)}},r.prototype.getIds=function(){return t.values(this._tiles).map((function(t){return t.tileID})).sort(It).map((function(t){return t.key}))},r.prototype.getRenderableIds=function(e){var r=this,n=[];for(var i in this._tiles)this._isIdRenderable(i,e)&&n.push(this._tiles[i]);return e?n.sort((function(e,n){var i=e.tileID,a=n.tileID,o=new t.Point(i.canonical.x,i.canonical.y)._rotate(r.transform.angle),s=new t.Point(a.canonical.x,a.canonical.y)._rotate(r.transform.angle);return i.overscaledZ-a.overscaledZ||s.y-o.y||s.x-o.x})).map((function(t){return t.tileID.key})):n.map((function(t){return t.tileID})).sort(It).map((function(t){return t.key}))},r.prototype.hasRenderableParent=function(t){var e=this.findLoadedParent(t,0);return!!e&&this._isIdRenderable(e.tileID.key)},r.prototype._isIdRenderable=function(t,e){return this._tiles[t]&&this._tiles[t].hasData()&&!this._coveredTiles[t]&&(e||!this._tiles[t].holdingForFade())},r.prototype.reload=function(){if(this._paused)this._shouldReloadOnResume=!0;else for(var t in this._cache.reset(),this._tiles)"errored"!==this._tiles[t].state&&this._reloadTile(t,"reloading")},r.prototype._reloadTile=function(t,e){var r=this._tiles[t];r&&("loading"!==r.state&&(r.state=e),this._loadTile(r,this._tileLoaded.bind(this,r,t,e)))},r.prototype._tileLoaded=function(e,r,n,i){if(i)return e.state="errored",void(404!==i.status?this._source.fire(new t.ErrorEvent(i,{tile:e})):this.update(this.transform));e.timeAdded=t.browser.now(),"expired"===n&&(e.refreshedUponExpiration=!0),this._setTileReloadTimer(r,e),"raster-dem"===this.getSource().type&&e.dem&&this._backfillDEM(e),this._state.initializeTileState(e,this.map?this.map.painter:null),this._source.fire(new t.Event("data",{dataType:"source",tile:e,coord:e.tileID}))},r.prototype._backfillDEM=function(t){for(var e=this.getRenderableIds(),r=0;r<e.length;r++){var n=e[r];if(t.neighboringTiles&&t.neighboringTiles[n]){var i=this.getTileByID(n);a(t,i),a(i,t)}}function a(t,e){t.needsHillshadePrepare=!0;var r=e.tileID.canonical.x-t.tileID.canonical.x,n=e.tileID.canonical.y-t.tileID.canonical.y,i=Math.pow(2,t.tileID.canonical.z),a=e.tileID.key;0===r&&0===n||Math.abs(n)>1||(Math.abs(r)>1&&(1===Math.abs(r+i)?r+=i:1===Math.abs(r-i)&&(r-=i)),e.dem&&t.dem&&(t.dem.backfillBorder(e.dem,r,n),t.neighboringTiles&&t.neighboringTiles[a]&&(t.neighboringTiles[a].backfilled=!0)))}},r.prototype.getTile=function(t){return this.getTileByID(t.key)},r.prototype.getTileByID=function(t){return this._tiles[t]},r.prototype._retainLoadedChildren=function(t,e,r,n){for(var i in this._tiles){var a=this._tiles[i];if(!(n[i]||!a.hasData()||a.tileID.overscaledZ<=e||a.tileID.overscaledZ>r)){for(var o=a.tileID;a&&a.tileID.overscaledZ>e+1;){var s=a.tileID.scaledTo(a.tileID.overscaledZ-1);(a=this._tiles[s.key])&&a.hasData()&&(o=s)}for(var l=o;l.overscaledZ>e;)if(t[(l=l.scaledTo(l.overscaledZ-1)).key]){n[o.key]=o;break}}}},r.prototype.findLoadedParent=function(t,e){if(t.key in this._loadedParentTiles){var r=this._loadedParentTiles[t.key];return r&&r.tileID.overscaledZ>=e?r:null}for(var n=t.overscaledZ-1;n>=e;n--){var i=t.scaledTo(n),a=this._getLoadedTile(i);if(a)return a}},r.prototype._getLoadedTile=function(t){var e=this._tiles[t.key];return e&&e.hasData()?e:this._cache.getByKey(t.wrapped().key)},r.prototype.updateCacheSize=function(t){var e=Math.ceil(t.width/this._source.tileSize)+1,r=Math.ceil(t.height/this._source.tileSize)+1,n=Math.floor(e*r*5),i="number"==typeof this._maxTileCacheSize?Math.min(this._maxTileCacheSize,n):n;this._cache.setMaxSize(i)},r.prototype.handleWrapJump=function(t){var e=Math.round((t-(void 0===this._prevLng?t:this._prevLng))/360);if(this._prevLng=t,e){var r={};for(var n in this._tiles){var i=this._tiles[n];i.tileID=i.tileID.unwrapTo(i.tileID.wrap+e),r[i.tileID.key]=i}for(var a in this._tiles=r,this._timers)clearTimeout(this._timers[a]),delete this._timers[a];for(var o in this._tiles)this._setTileReloadTimer(o,this._tiles[o])}},r.prototype.update=function(e){var n=this;if(this.transform=e,this._sourceLoaded&&!this._paused){var i;this.updateCacheSize(e),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used?this._source.tileID?i=e.getVisibleUnwrappedCoordinates(this._source.tileID).map((function(e){return new t.OverscaledTileID(e.canonical.z,e.wrap,e.canonical.z,e.canonical.x,e.canonical.y)})):(i=e.coveringTiles({tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled}),this._source.hasTile&&(i=i.filter((function(t){return n._source.hasTile(t)})))):i=[];var a=e.coveringZoomLevel(this._source),o=Math.max(a-r.maxOverzooming,this._source.minzoom),s=Math.max(a+r.maxUnderzooming,this._source.minzoom),l=this._updateRetainedTiles(i,a);if(Pt(this._source.type)){for(var c={},u={},f=0,h=Object.keys(l);f<h.length;f+=1){var p=h[f],d=l[p],g=this._tiles[p];if(g&&!(g.fadeEndTime&&g.fadeEndTime<=t.browser.now())){var m=this.findLoadedParent(d,o);m&&(this._addTile(m.tileID),c[m.tileID.key]=m.tileID),u[p]=d}}for(var v in this._retainLoadedChildren(u,a,s,l),c)l[v]||(this._coveredTiles[v]=!0,l[v]=c[v])}for(var y in l)this._tiles[y].clearFadeHold();for(var x=0,b=t.keysDifference(this._tiles,l);x<b.length;x+=1){var _=b[x],w=this._tiles[_];w.hasSymbolBuckets&&!w.holdingForFade()?w.setHoldDuration(this.map._fadeDuration):w.hasSymbolBuckets&&!w.symbolFadeFinished()||this._removeTile(_)}this._updateLoadedParentTileCache()}},r.prototype.releaseSymbolFadeTiles=function(){for(var t in this._tiles)this._tiles[t].holdingForFade()&&this._removeTile(t)},r.prototype._updateRetainedTiles=function(t,e){for(var n={},i={},a=Math.max(e-r.maxOverzooming,this._source.minzoom),o=Math.max(e+r.maxUnderzooming,this._source.minzoom),s={},l=0,c=t;l<c.length;l+=1){var u=c[l],f=this._addTile(u);n[u.key]=u,f.hasData()||e<this._source.maxzoom&&(s[u.key]=u)}this._retainLoadedChildren(s,e,o,n);for(var h=0,p=t;h<p.length;h+=1){var d=p[h],g=this._tiles[d.key];if(!g.hasData()){if(e+1>this._source.maxzoom){var m=d.children(this._source.maxzoom)[0],v=this.getTile(m);if(v&&v.hasData()){n[m.key]=m;continue}}else{var y=d.children(this._source.maxzoom);if(n[y[0].key]&&n[y[1].key]&&n[y[2].key]&&n[y[3].key])continue}for(var x=g.wasRequested(),b=d.overscaledZ-1;b>=a;--b){var _=d.scaledTo(b);if(i[_.key])break;if(i[_.key]=!0,!(g=this.getTile(_))&&x&&(g=this._addTile(_)),g&&(n[_.key]=_,x=g.wasRequested(),g.hasData()))break}}}return n},r.prototype._updateLoadedParentTileCache=function(){for(var t in this._loadedParentTiles={},this._tiles){for(var e=[],r=void 0,n=this._tiles[t].tileID;n.overscaledZ>0;){if(n.key in this._loadedParentTiles){r=this._loadedParentTiles[n.key];break}e.push(n.key);var i=n.scaledTo(n.overscaledZ-1);if(r=this._getLoadedTile(i))break;n=i}for(var a=0,o=e;a<o.length;a+=1)this._loadedParentTiles[o[a]]=r}},r.prototype._addTile=function(e){var r=this._tiles[e.key];if(r)return r;(r=this._cache.getAndRemove(e))&&(this._setTileReloadTimer(e.key,r),r.tileID=e,this._state.initializeTileState(r,this.map?this.map.painter:null),this._cacheTimers[e.key]&&(clearTimeout(this._cacheTimers[e.key]),delete this._cacheTimers[e.key],this._setTileReloadTimer(e.key,r)));var n=Boolean(r);return n||(r=new t.Tile(e,this._source.tileSize*e.overscaleFactor()),this._loadTile(r,this._tileLoaded.bind(this,r,e.key,r.state))),r?(r.uses++,this._tiles[e.key]=r,n||this._source.fire(new t.Event("dataloading",{tile:r,coord:r.tileID,dataType:"source"})),r):null},r.prototype._setTileReloadTimer=function(t,e){var r=this;t in this._timers&&(clearTimeout(this._timers[t]),delete this._timers[t]);var n=e.getExpiryTimeout();n&&(this._timers[t]=setTimeout((function(){r._reloadTile(t,"expired"),delete r._timers[t]}),n))},r.prototype._removeTile=function(t){var e=this._tiles[t];e&&(e.uses--,delete this._tiles[t],this._timers[t]&&(clearTimeout(this._timers[t]),delete this._timers[t]),e.uses>0||(e.hasData()&&"reloading"!==e.state?this._cache.add(e.tileID,e,e.getExpiryTimeout()):(e.aborted=!0,this._abortTile(e),this._unloadTile(e))))},r.prototype.clearTiles=function(){for(var t in this._shouldReloadOnResume=!1,this._paused=!1,this._tiles)this._removeTile(t);this._cache.reset()},r.prototype.tilesIn=function(e,r,n){var i=this,a=[],o=this.transform;if(!o)return a;for(var s=n?o.getCameraQueryGeometry(e):e,l=e.map((function(t){return o.pointCoordinate(t)})),c=s.map((function(t){return o.pointCoordinate(t)})),u=this.getIds(),f=1/0,h=1/0,p=-1/0,d=-1/0,g=0,m=c;g<m.length;g+=1){var v=m[g];f=Math.min(f,v.x),h=Math.min(h,v.y),p=Math.max(p,v.x),d=Math.max(d,v.y)}for(var y=function(e){var n=i._tiles[u[e]];if(!n.holdingForFade()){var s=n.tileID,g=Math.pow(2,o.zoom-n.tileID.overscaledZ),m=r*n.queryPadding*t.EXTENT/n.tileSize/g,v=[s.getTilePoint(new t.MercatorCoordinate(f,h)),s.getTilePoint(new t.MercatorCoordinate(p,d))];if(v[0].x-m<t.EXTENT&&v[0].y-m<t.EXTENT&&v[1].x+m>=0&&v[1].y+m>=0){var y=l.map((function(t){return s.getTilePoint(t)})),x=c.map((function(t){return s.getTilePoint(t)}));a.push({tile:n,tileID:s,queryGeometry:y,cameraQueryGeometry:x,scale:g})}}},x=0;x<u.length;x++)y(x);return a},r.prototype.getVisibleCoordinates=function(t){for(var e=this,r=this.getRenderableIds(t).map((function(t){return e._tiles[t].tileID})),n=0,i=r;n<i.length;n+=1){var a=i[n];a.posMatrix=this.transform.calculatePosMatrix(a.toUnwrapped())}return r},r.prototype.hasTransition=function(){if(this._source.hasTransition())return!0;if(Pt(this._source.type))for(var e in this._tiles){var r=this._tiles[e];if(void 0!==r.fadeEndTime&&r.fadeEndTime>=t.browser.now())return!0}return!1},r.prototype.setFeatureState=function(t,e,r){this._state.updateState(t=t||"_geojsonTileLayer",e,r)},r.prototype.removeFeatureState=function(t,e,r){this._state.removeFeatureState(t=t||"_geojsonTileLayer",e,r)},r.prototype.getFeatureState=function(t,e){return this._state.getState(t=t||"_geojsonTileLayer",e)},r.prototype.setDependencies=function(t,e,r){var n=this._tiles[t];n&&n.setDependencies(e,r)},r.prototype.reloadTilesForDependencies=function(t,e){for(var r in this._tiles)this._tiles[r].hasDependency(t,e)&&this._reloadTile(r,"reloading");this._cache.filter((function(r){return!r.hasDependency(t,e)}))},r}(t.Evented);function It(t,e){var r=Math.abs(2*t.wrap)-+(t.wrap<0),n=Math.abs(2*e.wrap)-+(e.wrap<0);return t.overscaledZ-e.overscaledZ||n-r||e.canonical.y-t.canonical.y||e.canonical.x-t.canonical.x}function Pt(t){return"raster"===t||"image"===t||"video"===t}function zt(){return new t.window.Worker(Yi.workerUrl)}Lt.maxOverzooming=10,Lt.maxUnderzooming=3;var Ot="mapboxgl_preloaded_worker_pool",Dt=function(){this.active={}};Dt.prototype.acquire=function(t){if(!this.workers)for(this.workers=[];this.workers.length<Dt.workerCount;)this.workers.push(new zt);return this.active[t]=!0,this.workers.slice()},Dt.prototype.release=function(t){delete this.active[t],0===this.numActive()&&(this.workers.forEach((function(t){t.terminate()})),this.workers=null)},Dt.prototype.isPreloaded=function(){return!!this.active[Ot]},Dt.prototype.numActive=function(){return Object.keys(this.active).length};var Rt,Ft=Math.floor(t.browser.hardwareConcurrency/2);function Bt(){return Rt||(Rt=new Dt),Rt}function Nt(e,r){var n={};for(var i in e)"ref"!==i&&(n[i]=e[i]);return t.refProperties.forEach((function(t){t in r&&(n[t]=r[t])})),n}function jt(t){t=t.slice();for(var e=Object.create(null),r=0;r<t.length;r++)e[t[r].id]=t[r];for(var n=0;n<t.length;n++)"ref"in t[n]&&(t[n]=Nt(t[n],e[t[n].ref]));return t}Dt.workerCount=Math.max(Math.min(Ft,6),1);var Ut={setStyle:"setStyle",addLayer:"addLayer",removeLayer:"removeLayer",setPaintProperty:"setPaintProperty",setLayoutProperty:"setLayoutProperty",setFilter:"setFilter",addSource:"addSource",removeSource:"removeSource",setGeoJSONSourceData:"setGeoJSONSourceData",setLayerZoomRange:"setLayerZoomRange",setLayerProperty:"setLayerProperty",setCenter:"setCenter",setZoom:"setZoom",setBearing:"setBearing",setPitch:"setPitch",setSprite:"setSprite",setGlyphs:"setGlyphs",setTransition:"setTransition",setLight:"setLight"};function Vt(t,e,r){r.push({command:Ut.addSource,args:[t,e[t]]})}function qt(t,e,r){e.push({command:Ut.removeSource,args:[t]}),r[t]=!0}function Ht(t,e,r,n){qt(t,r,n),Vt(t,e,r)}function Gt(e,r,n){var i;for(i in e[n])if(e[n].hasOwnProperty(i)&&"data"!==i&&!t.deepEqual(e[n][i],r[n][i]))return!1;for(i in r[n])if(r[n].hasOwnProperty(i)&&"data"!==i&&!t.deepEqual(e[n][i],r[n][i]))return!1;return!0}function Yt(e,r,n,i,a,o){var s;for(s in r=r||{},e=e||{})e.hasOwnProperty(s)&&(t.deepEqual(e[s],r[s])||n.push({command:o,args:[i,s,r[s],a]}));for(s in r)r.hasOwnProperty(s)&&!e.hasOwnProperty(s)&&(t.deepEqual(e[s],r[s])||n.push({command:o,args:[i,s,r[s],a]}))}function Wt(t){return t.id}function Xt(t,e){return t[e.id]=e,t}var Zt=function(t,e){this.reset(t,e)};Zt.prototype.reset=function(t,e){this.points=t||[],this._distances=[0];for(var r=1;r<this.points.length;r++)this._distances[r]=this._distances[r-1]+this.points[r].dist(this.points[r-1]);this.length=this._distances[this._distances.length-1],this.padding=Math.min(e||0,.5*this.length),this.paddedLength=this.length-2*this.padding},Zt.prototype.lerp=function(e){if(1===this.points.length)return this.points[0];e=t.clamp(e,0,1);for(var r=1,n=this._distances[r],i=e*this.paddedLength+this.padding;n<i&&r<this._distances.length;)n=this._distances[++r];var a=r-1,o=this._distances[a],s=n-o,l=s>0?(i-o)/s:0;return this.points[a].mult(1-l).add(this.points[r].mult(l))};var Jt=function(t,e,r){var n=this.boxCells=[],i=this.circleCells=[];this.xCellCount=Math.ceil(t/r),this.yCellCount=Math.ceil(e/r);for(var a=0;a<this.xCellCount*this.yCellCount;a++)n.push([]),i.push([]);this.circleKeys=[],this.boxKeys=[],this.bboxes=[],this.circles=[],this.width=t,this.height=e,this.xScale=this.xCellCount/t,this.yScale=this.yCellCount/e,this.boxUid=0,this.circleUid=0};function Kt(e,r,n,i,a){var o=t.create();return r?(t.scale(o,o,[1/a,1/a,1]),n||t.rotateZ(o,o,i.angle)):t.multiply(o,i.labelPlaneMatrix,e),o}function Qt(e,r,n,i,a){if(r){var o=t.clone(e);return t.scale(o,o,[a,a,1]),n||t.rotateZ(o,o,-i.angle),o}return i.glCoordMatrix}function $t(e,r){var n=[e.x,e.y,0,1];ue(n,n,r);var i=n[3];return{point:new t.Point(n[0]/i,n[1]/i),signedDistanceFromCamera:i}}function te(t,e){return.5+t/e*.5}function ee(t,e){var r=t[0]/t[3],n=t[1]/t[3];return r>=-e[0]&&r<=e[0]&&n>=-e[1]&&n<=e[1]}function re(e,r,n,i,a,o,s,l){var c=i?e.textSizeData:e.iconSizeData,u=t.evaluateSizeForZoom(c,n.transform.zoom),f=[256/n.width*2+1,256/n.height*2+1],h=i?e.text.dynamicLayoutVertexArray:e.icon.dynamicLayoutVertexArray;h.clear();for(var p=e.lineVertexArray,d=i?e.text.placedSymbolArray:e.icon.placedSymbolArray,g=n.transform.width/n.transform.height,m=!1,v=0;v<d.length;v++){var y=d.get(v);if(y.hidden||y.writingMode===t.WritingMode.vertical&&!m)ce(y.numGlyphs,h);else{m=!1;var x=[y.anchorX,y.anchorY,0,1];if(t.transformMat4(x,x,r),ee(x,f)){var b=te(n.transform.cameraToCenterDistance,x[3]),_=t.evaluateSizeForFeature(c,u,y),w=s?_/b:_*b,T=new t.Point(y.anchorX,y.anchorY),k=$t(T,a).point,M={},A=ae(y,w,!1,l,r,a,o,e.glyphOffsetArray,p,h,k,T,M,g);m=A.useVertical,(A.notEnoughRoom||m||A.needsFlipping&&ae(y,w,!0,l,r,a,o,e.glyphOffsetArray,p,h,k,T,M,g).notEnoughRoom)&&ce(y.numGlyphs,h)}else ce(y.numGlyphs,h)}}i?e.text.dynamicLayoutVertexBuffer.updateData(h):e.icon.dynamicLayoutVertexBuffer.updateData(h)}function ne(t,e,r,n,i,a,o,s,l,c,u){var f=s.glyphStartIndex+s.numGlyphs,h=s.lineStartIndex,p=s.lineStartIndex+s.lineLength,d=e.getoffsetX(s.glyphStartIndex),g=e.getoffsetX(f-1),m=se(t*d,r,n,i,a,o,s.segment,h,p,l,c,u);if(!m)return null;var v=se(t*g,r,n,i,a,o,s.segment,h,p,l,c,u);return v?{first:m,last:v}:null}function ie(e,r,n,i){return e===t.WritingMode.horizontal&&Math.abs(n.y-r.y)>Math.abs(n.x-r.x)*i?{useVertical:!0}:(e===t.WritingMode.vertical?r.y<n.y:r.x>n.x)?{needsFlipping:!0}:null}function ae(e,r,n,i,a,o,s,l,c,u,f,h,p,d){var g,m=r/24,v=e.lineOffsetX*m,y=e.lineOffsetY*m;if(e.numGlyphs>1){var x=e.glyphStartIndex+e.numGlyphs,b=e.lineStartIndex,_=e.lineStartIndex+e.lineLength,w=ne(m,l,v,y,n,f,h,e,c,o,p);if(!w)return{notEnoughRoom:!0};var T=$t(w.first.point,s).point,k=$t(w.last.point,s).point;if(i&&!n){var M=ie(e.writingMode,T,k,d);if(M)return M}g=[w.first];for(var A=e.glyphStartIndex+1;A<x-1;A++)g.push(se(m*l.getoffsetX(A),v,y,n,f,h,e.segment,b,_,c,o,p));g.push(w.last)}else{if(i&&!n){var S=$t(h,a).point,E=e.lineStartIndex+e.segment+1,C=new t.Point(c.getx(E),c.gety(E)),L=$t(C,a),I=L.signedDistanceFromCamera>0?L.point:oe(h,C,S,1,a),P=ie(e.writingMode,S,I,d);if(P)return P}var z=se(m*l.getoffsetX(e.glyphStartIndex),v,y,n,f,h,e.segment,e.lineStartIndex,e.lineStartIndex+e.lineLength,c,o,p);if(!z)return{notEnoughRoom:!0};g=[z]}for(var O=0,D=g;O<D.length;O+=1){var R=D[O];t.addDynamicAttributes(u,R.point,R.angle)}return{}}function oe(t,e,r,n,i){var a=$t(t.add(t.sub(e)._unit()),i).point,o=r.sub(a);return r.add(o._mult(n/o.mag()))}function se(e,r,n,i,a,o,s,l,c,u,f,h){var p=i?e-r:e+r,d=p>0?1:-1,g=0;i&&(d*=-1,g=Math.PI),d<0&&(g+=Math.PI);for(var m=d>0?l+s:l+s+1,v=a,y=a,x=0,b=0,_=Math.abs(p),w=[];x+b<=_;){if((m+=d)<l||m>=c)return null;if(y=v,w.push(v),void 0===(v=h[m])){var T=new t.Point(u.getx(m),u.gety(m)),k=$t(T,f);if(k.signedDistanceFromCamera>0)v=h[m]=k.point;else{var M=m-d;v=oe(0===x?o:new t.Point(u.getx(M),u.gety(M)),T,y,_-x+1,f)}}x+=b,b=y.dist(v)}var A=(_-x)/b,S=v.sub(y),E=S.mult(A)._add(y);E._add(S._unit()._perp()._mult(n*d));var C=g+Math.atan2(v.y-y.y,v.x-y.x);return w.push(E),{point:E,angle:C,path:w}}Jt.prototype.keysLength=function(){return this.boxKeys.length+this.circleKeys.length},Jt.prototype.insert=function(t,e,r,n,i){this._forEachCell(e,r,n,i,this._insertBoxCell,this.boxUid++),this.boxKeys.push(t),this.bboxes.push(e),this.bboxes.push(r),this.bboxes.push(n),this.bboxes.push(i)},Jt.prototype.insertCircle=function(t,e,r,n){this._forEachCell(e-n,r-n,e+n,r+n,this._insertCircleCell,this.circleUid++),this.circleKeys.push(t),this.circles.push(e),this.circles.push(r),this.circles.push(n)},Jt.prototype._insertBoxCell=function(t,e,r,n,i,a){this.boxCells[i].push(a)},Jt.prototype._insertCircleCell=function(t,e,r,n,i,a){this.circleCells[i].push(a)},Jt.prototype._query=function(t,e,r,n,i,a){if(r<0||t>this.width||n<0||e>this.height)return!i&&[];var o=[];if(t<=0&&e<=0&&this.width<=r&&this.height<=n){if(i)return!0;for(var s=0;s<this.boxKeys.length;s++)o.push({key:this.boxKeys[s],x1:this.bboxes[4*s],y1:this.bboxes[4*s+1],x2:this.bboxes[4*s+2],y2:this.bboxes[4*s+3]});for(var l=0;l<this.circleKeys.length;l++){var c=this.circles[3*l],u=this.circles[3*l+1],f=this.circles[3*l+2];o.push({key:this.circleKeys[l],x1:c-f,y1:u-f,x2:c+f,y2:u+f})}return a?o.filter(a):o}return this._forEachCell(t,e,r,n,this._queryCell,o,{hitTest:i,seenUids:{box:{},circle:{}}},a),i?o.length>0:o},Jt.prototype._queryCircle=function(t,e,r,n,i){var a=t-r,o=t+r,s=e-r,l=e+r;if(o<0||a>this.width||l<0||s>this.height)return!n&&[];var c=[];return this._forEachCell(a,s,o,l,this._queryCellCircle,c,{hitTest:n,circle:{x:t,y:e,radius:r},seenUids:{box:{},circle:{}}},i),n?c.length>0:c},Jt.prototype.query=function(t,e,r,n,i){return this._query(t,e,r,n,!1,i)},Jt.prototype.hitTest=function(t,e,r,n,i){return this._query(t,e,r,n,!0,i)},Jt.prototype.hitTestCircle=function(t,e,r,n){return this._queryCircle(t,e,r,!0,n)},Jt.prototype._queryCell=function(t,e,r,n,i,a,o,s){var l=o.seenUids,c=this.boxCells[i];if(null!==c)for(var u=this.bboxes,f=0,h=c;f<h.length;f+=1){var p=h[f];if(!l.box[p]){l.box[p]=!0;var d=4*p;if(t<=u[d+2]&&e<=u[d+3]&&r>=u[d+0]&&n>=u[d+1]&&(!s||s(this.boxKeys[p]))){if(o.hitTest)return a.push(!0),!0;a.push({key:this.boxKeys[p],x1:u[d],y1:u[d+1],x2:u[d+2],y2:u[d+3]})}}}var g=this.circleCells[i];if(null!==g)for(var m=this.circles,v=0,y=g;v<y.length;v+=1){var x=y[v];if(!l.circle[x]){l.circle[x]=!0;var b=3*x;if(this._circleAndRectCollide(m[b],m[b+1],m[b+2],t,e,r,n)&&(!s||s(this.circleKeys[x]))){if(o.hitTest)return a.push(!0),!0;var _=m[b],w=m[b+1],T=m[b+2];a.push({key:this.circleKeys[x],x1:_-T,y1:w-T,x2:_+T,y2:w+T})}}}},Jt.prototype._queryCellCircle=function(t,e,r,n,i,a,o,s){var l=o.circle,c=o.seenUids,u=this.boxCells[i];if(null!==u)for(var f=this.bboxes,h=0,p=u;h<p.length;h+=1){var d=p[h];if(!c.box[d]){c.box[d]=!0;var g=4*d;if(this._circleAndRectCollide(l.x,l.y,l.radius,f[g+0],f[g+1],f[g+2],f[g+3])&&(!s||s(this.boxKeys[d])))return a.push(!0),!0}}var m=this.circleCells[i];if(null!==m)for(var v=this.circles,y=0,x=m;y<x.length;y+=1){var b=x[y];if(!c.circle[b]){c.circle[b]=!0;var _=3*b;if(this._circlesCollide(v[_],v[_+1],v[_+2],l.x,l.y,l.radius)&&(!s||s(this.circleKeys[b])))return a.push(!0),!0}}},Jt.prototype._forEachCell=function(t,e,r,n,i,a,o,s){for(var l=this._convertToXCellCoord(t),c=this._convertToYCellCoord(e),u=this._convertToXCellCoord(r),f=this._convertToYCellCoord(n),h=l;h<=u;h++)for(var p=c;p<=f;p++)if(i.call(this,t,e,r,n,this.xCellCount*p+h,a,o,s))return},Jt.prototype._convertToXCellCoord=function(t){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(t*this.xScale)))},Jt.prototype._convertToYCellCoord=function(t){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(t*this.yScale)))},Jt.prototype._circlesCollide=function(t,e,r,n,i,a){var o=n-t,s=i-e,l=r+a;return l*l>o*o+s*s},Jt.prototype._circleAndRectCollide=function(t,e,r,n,i,a,o){var s=(a-n)/2,l=Math.abs(t-(n+s));if(l>s+r)return!1;var c=(o-i)/2,u=Math.abs(e-(i+c));if(u>c+r)return!1;if(l<=s||u<=c)return!0;var f=l-s,h=u-c;return f*f+h*h<=r*r};var le=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function ce(t,e){for(var r=0;r<t;r++){var n=e.length;e.resize(n+4),e.float32.set(le,3*n)}}function ue(t,e,r){var n=e[0],i=e[1];return t[0]=r[0]*n+r[4]*i+r[12],t[1]=r[1]*n+r[5]*i+r[13],t[3]=r[3]*n+r[7]*i+r[15],t}var fe=function(t,e,r){void 0===e&&(e=new Jt(t.width+200,t.height+200,25)),void 0===r&&(r=new Jt(t.width+200,t.height+200,25)),this.transform=t,this.grid=e,this.ignoredGrid=r,this.pitchfactor=Math.cos(t._pitch)*t.cameraToCenterDistance,this.screenRightBoundary=t.width+100,this.screenBottomBoundary=t.height+100,this.gridRightBoundary=t.width+200,this.gridBottomBoundary=t.height+200};function he(e,r,n){return r*(t.EXTENT/(e.tileSize*Math.pow(2,n-e.tileID.overscaledZ)))}fe.prototype.placeCollisionBox=function(t,e,r,n,i){var a=this.projectAndGetPerspectiveRatio(n,t.anchorPointX,t.anchorPointY),o=r*a.perspectiveRatio,s=t.x1*o+a.point.x,l=t.y1*o+a.point.y,c=t.x2*o+a.point.x,u=t.y2*o+a.point.y;return!this.isInsideGrid(s,l,c,u)||!e&&this.grid.hitTest(s,l,c,u,i)?{box:[],offscreen:!1}:{box:[s,l,c,u],offscreen:this.isOffscreen(s,l,c,u)}},fe.prototype.placeCollisionCircles=function(e,r,n,i,a,o,s,l,c,u,f,h,p){var d=[],g=new t.Point(r.anchorX,r.anchorY),m=$t(g,o),v=te(this.transform.cameraToCenterDistance,m.signedDistanceFromCamera),y=(u?a/v:a*v)/t.ONE_EM,x=$t(g,s).point,b=ne(y,i,r.lineOffsetX*y,r.lineOffsetY*y,!1,x,g,r,n,s,{}),_=!1,w=!1,T=!0;if(b){for(var k=.5*h*v+p,M=new t.Point(-100,-100),A=new t.Point(this.screenRightBoundary,this.screenBottomBoundary),S=new Zt,E=b.first,C=b.last,L=[],I=E.path.length-1;I>=1;I--)L.push(E.path[I]);for(var P=1;P<C.path.length;P++)L.push(C.path[P]);var z=2.5*k;if(l){var O=L.map((function(t){return $t(t,l)}));L=O.some((function(t){return t.signedDistanceFromCamera<=0}))?[]:O.map((function(t){return t.point}))}var D=[];if(L.length>0){for(var R=L[0].clone(),F=L[0].clone(),B=1;B<L.length;B++)R.x=Math.min(R.x,L[B].x),R.y=Math.min(R.y,L[B].y),F.x=Math.max(F.x,L[B].x),F.y=Math.max(F.y,L[B].y);D=R.x>=M.x&&F.x<=A.x&&R.y>=M.y&&F.y<=A.y?[L]:F.x<M.x||R.x>A.x||F.y<M.y||R.y>A.y?[]:t.clipLine([L],M.x,M.y,A.x,A.y)}for(var N=0,j=D;N<j.length;N+=1){var U;S.reset(j[N],.25*k),U=S.length<=.5*k?1:Math.ceil(S.paddedLength/z)+1;for(var V=0;V<U;V++){var q=V/Math.max(U-1,1),H=S.lerp(q),G=H.x+100,Y=H.y+100;d.push(G,Y,k,0);var W=G-k,X=Y-k,Z=G+k,J=Y+k;if(T=T&&this.isOffscreen(W,X,Z,J),w=w||this.isInsideGrid(W,X,Z,J),!e&&this.grid.hitTestCircle(G,Y,k,f)&&(_=!0,!c))return{circles:[],offscreen:!1,collisionDetected:_}}}}return{circles:!c&&_||!w?[]:d,offscreen:T,collisionDetected:_}},fe.prototype.queryRenderedSymbols=function(e){if(0===e.length||0===this.grid.keysLength()&&0===this.ignoredGrid.keysLength())return{};for(var r=[],n=1/0,i=1/0,a=-1/0,o=-1/0,s=0,l=e;s<l.length;s+=1){var c=l[s],u=new t.Point(c.x+100,c.y+100);n=Math.min(n,u.x),i=Math.min(i,u.y),a=Math.max(a,u.x),o=Math.max(o,u.y),r.push(u)}for(var f={},h={},p=0,d=this.grid.query(n,i,a,o).concat(this.ignoredGrid.query(n,i,a,o));p<d.length;p+=1){var g=d[p],m=g.key;if(void 0===f[m.bucketInstanceId]&&(f[m.bucketInstanceId]={}),!f[m.bucketInstanceId][m.featureIndex]){var v=[new t.Point(g.x1,g.y1),new t.Point(g.x2,g.y1),new t.Point(g.x2,g.y2),new t.Point(g.x1,g.y2)];t.polygonIntersectsPolygon(r,v)&&(f[m.bucketInstanceId][m.featureIndex]=!0,void 0===h[m.bucketInstanceId]&&(h[m.bucketInstanceId]=[]),h[m.bucketInstanceId].push(m.featureIndex))}}return h},fe.prototype.insertCollisionBox=function(t,e,r,n,i){(e?this.ignoredGrid:this.grid).insert({bucketInstanceId:r,featureIndex:n,collisionGroupID:i},t[0],t[1],t[2],t[3])},fe.prototype.insertCollisionCircles=function(t,e,r,n,i){for(var a=e?this.ignoredGrid:this.grid,o={bucketInstanceId:r,featureIndex:n,collisionGroupID:i},s=0;s<t.length;s+=4)a.insertCircle(o,t[s],t[s+1],t[s+2])},fe.prototype.projectAndGetPerspectiveRatio=function(e,r,n){var i=[r,n,0,1];return ue(i,i,e),{point:new t.Point((i[0]/i[3]+1)/2*this.transform.width+100,(-i[1]/i[3]+1)/2*this.transform.height+100),perspectiveRatio:.5+this.transform.cameraToCenterDistance/i[3]*.5}},fe.prototype.isOffscreen=function(t,e,r,n){return r<100||t>=this.screenRightBoundary||n<100||e>this.screenBottomBoundary},fe.prototype.isInsideGrid=function(t,e,r,n){return r>=0&&t<this.gridRightBoundary&&n>=0&&e<this.gridBottomBoundary},fe.prototype.getViewportMatrix=function(){var e=t.identity([]);return t.translate(e,e,[-100,-100,0]),e};var pe=function(t,e,r,n){this.opacity=t?Math.max(0,Math.min(1,t.opacity+(t.placed?e:-e))):n&&r?1:0,this.placed=r};pe.prototype.isHidden=function(){return 0===this.opacity&&!this.placed};var de=function(t,e,r,n,i){this.text=new pe(t?t.text:null,e,r,i),this.icon=new pe(t?t.icon:null,e,n,i)};de.prototype.isHidden=function(){return this.text.isHidden()&&this.icon.isHidden()};var ge=function(t,e,r){this.text=t,this.icon=e,this.skipFade=r},me=function(){this.invProjMatrix=t.create(),this.viewportMatrix=t.create(),this.circles=[]},ve=function(t,e,r,n,i){this.bucketInstanceId=t,this.featureIndex=e,this.sourceLayerIndex=r,this.bucketIndex=n,this.tileID=i},ye=function(t){this.crossSourceCollisions=t,this.maxGroupID=0,this.collisionGroups={}};function xe(e,r,n,i,a){var o=t.getAnchorAlignment(e),s=-(o.horizontalAlign-.5)*r,l=-(o.verticalAlign-.5)*n,c=t.evaluateVariableOffset(e,i);return new t.Point(s+c[0]*a,l+c[1]*a)}function be(e,r,n,i,a,o){var s=e.x1,l=e.x2,c=e.y1,u=e.y2,f=e.anchorPointX,h=e.anchorPointY,p=new t.Point(r,n);return i&&p._rotate(a?o:-o),{x1:s+p.x,y1:c+p.y,x2:l+p.x,y2:u+p.y,anchorPointX:f,anchorPointY:h}}ye.prototype.get=function(t){if(this.crossSourceCollisions)return{ID:0,predicate:null};if(!this.collisionGroups[t]){var e=++this.maxGroupID;this.collisionGroups[t]={ID:e,predicate:function(t){return t.collisionGroupID===e}}}return this.collisionGroups[t]};var _e=function(t,e,r,n){this.transform=t.clone(),this.collisionIndex=new fe(this.transform),this.placements={},this.opacities={},this.variableOffsets={},this.stale=!1,this.commitTime=0,this.fadeDuration=e,this.retainedQueryData={},this.collisionGroups=new ye(r),this.collisionCircleArrays={},this.prevPlacement=n,n&&(n.prevPlacement=void 0),this.placedOrientations={}};function we(t,e,r,n,i){t.emplaceBack(e?1:0,r?1:0,n||0,i||0),t.emplaceBack(e?1:0,r?1:0,n||0,i||0),t.emplaceBack(e?1:0,r?1:0,n||0,i||0),t.emplaceBack(e?1:0,r?1:0,n||0,i||0)}_e.prototype.getBucketParts=function(e,r,n,i){var a=n.getBucket(r),o=n.latestFeatureIndex;if(a&&o&&r.id===a.layerIds[0]){var s=n.collisionBoxArray,l=a.layers[0].layout,c=Math.pow(2,this.transform.zoom-n.tileID.overscaledZ),u=n.tileSize/t.EXTENT,f=this.transform.calculatePosMatrix(n.tileID.toUnwrapped()),h="map"===l.get("text-pitch-alignment"),p="map"===l.get("text-rotation-alignment"),d=he(n,1,this.transform.zoom),g=Kt(f,h,p,this.transform,d),m=null;if(h){var v=Qt(f,h,p,this.transform,d);m=t.multiply([],this.transform.labelPlaneMatrix,v)}this.retainedQueryData[a.bucketInstanceId]=new ve(a.bucketInstanceId,o,a.sourceLayerIndex,a.index,n.tileID);var y={bucket:a,layout:l,posMatrix:f,textLabelPlaneMatrix:g,labelToScreenMatrix:m,scale:c,textPixelRatio:u,holdingForFade:n.holdingForFade(),collisionBoxArray:s,partiallyEvaluatedTextSize:t.evaluateSizeForZoom(a.textSizeData,this.transform.zoom),collisionGroup:this.collisionGroups.get(a.sourceID)};if(i)for(var x=0,b=a.sortKeyRanges;x<b.length;x+=1){var _=b[x];e.push({sortKey:_.sortKey,symbolInstanceStart:_.symbolInstanceStart,symbolInstanceEnd:_.symbolInstanceEnd,parameters:y})}else e.push({symbolInstanceStart:0,symbolInstanceEnd:a.symbolInstances.length,parameters:y})}},_e.prototype.attemptAnchorPlacement=function(t,e,r,n,i,a,o,s,l,c,u,f,h,p,d){var g,m=[f.textOffset0,f.textOffset1],v=xe(t,r,n,m,i),y=this.collisionIndex.placeCollisionBox(be(e,v.x,v.y,a,o,this.transform.angle),u,s,l,c.predicate);if(!d||0!==this.collisionIndex.placeCollisionBox(be(d,v.x,v.y,a,o,this.transform.angle),u,s,l,c.predicate).box.length)return y.box.length>0?(this.prevPlacement&&this.prevPlacement.variableOffsets[f.crossTileID]&&this.prevPlacement.placements[f.crossTileID]&&this.prevPlacement.placements[f.crossTileID].text&&(g=this.prevPlacement.variableOffsets[f.crossTileID].anchor),this.variableOffsets[f.crossTileID]={textOffset:m,width:r,height:n,anchor:t,textBoxScale:i,prevAnchor:g},this.markUsedJustification(h,t,f,p),h.allowVerticalPlacement&&(this.markUsedOrientation(h,p,f),this.placedOrientations[f.crossTileID]=p),{shift:v,placedGlyphBoxes:y}):void 0},_e.prototype.placeLayerBucketPart=function(e,r,n){var i=this,a=e.parameters,o=a.bucket,s=a.layout,l=a.posMatrix,c=a.textLabelPlaneMatrix,u=a.labelToScreenMatrix,f=a.textPixelRatio,h=a.holdingForFade,p=a.collisionBoxArray,d=a.partiallyEvaluatedTextSize,g=a.collisionGroup,m=s.get("text-optional"),v=s.get("icon-optional"),y=s.get("text-allow-overlap"),x=s.get("icon-allow-overlap"),b="map"===s.get("text-rotation-alignment"),_="map"===s.get("text-pitch-alignment"),w="none"!==s.get("icon-text-fit"),T="viewport-y"===s.get("symbol-z-order"),k=y&&(x||!o.hasIconData()||v),M=x&&(y||!o.hasTextData()||m);!o.collisionArrays&&p&&o.deserializeCollisionBoxes(p);var A=function(e,a){if(!r[e.crossTileID])if(h)i.placements[e.crossTileID]=new ge(!1,!1,!1);else{var p,T=!1,A=!1,S=!0,E=null,C={box:null,offscreen:null},L={box:null,offscreen:null},I=null,P=null,z=0,O=0,D=0;a.textFeatureIndex?z=a.textFeatureIndex:e.useRuntimeCollisionCircles&&(z=e.featureIndex),a.verticalTextFeatureIndex&&(O=a.verticalTextFeatureIndex);var R=a.textBox;if(R){var F=function(r){var n=t.WritingMode.horizontal;if(o.allowVerticalPlacement&&!r&&i.prevPlacement){var a=i.prevPlacement.placedOrientations[e.crossTileID];a&&(i.placedOrientations[e.crossTileID]=a,i.markUsedOrientation(o,n=a,e))}return n},B=function(r,n){if(o.allowVerticalPlacement&&e.numVerticalGlyphVertices>0&&a.verticalTextBox)for(var i=0,s=o.writingModes;i<s.length&&(s[i]===t.WritingMode.vertical?(C=n(),L=C):C=r(),!(C&&C.box&&C.box.length));i+=1);else C=r()};if(s.get("text-variable-anchor")){var N=s.get("text-variable-anchor");if(i.prevPlacement&&i.prevPlacement.variableOffsets[e.crossTileID]){var j=i.prevPlacement.variableOffsets[e.crossTileID];N.indexOf(j.anchor)>0&&(N=N.filter((function(t){return t!==j.anchor}))).unshift(j.anchor)}var U=function(t,r,n){for(var a=t.x2-t.x1,s=t.y2-t.y1,c=e.textBoxScale,u=w&&!x?r:null,h={box:[],offscreen:!1},p=y?2*N.length:N.length,d=0;d<p;++d){var m=i.attemptAnchorPlacement(N[d%N.length],t,a,s,c,b,_,f,l,g,d>=N.length,e,o,n,u);if(m&&(h=m.placedGlyphBoxes)&&h.box&&h.box.length){T=!0,E=m.shift;break}}return h};B((function(){return U(R,a.iconBox,t.WritingMode.horizontal)}),(function(){var r=a.verticalTextBox;return o.allowVerticalPlacement&&!(C&&C.box&&C.box.length)&&e.numVerticalGlyphVertices>0&&r?U(r,a.verticalIconBox,t.WritingMode.vertical):{box:null,offscreen:null}})),C&&(T=C.box,S=C.offscreen);var V=F(C&&C.box);if(!T&&i.prevPlacement){var q=i.prevPlacement.variableOffsets[e.crossTileID];q&&(i.variableOffsets[e.crossTileID]=q,i.markUsedJustification(o,q.anchor,e,V))}}else{var H=function(t,r){var n=i.collisionIndex.placeCollisionBox(t,y,f,l,g.predicate);return n&&n.box&&n.box.length&&(i.markUsedOrientation(o,r,e),i.placedOrientations[e.crossTileID]=r),n};B((function(){return H(R,t.WritingMode.horizontal)}),(function(){var r=a.verticalTextBox;return o.allowVerticalPlacement&&e.numVerticalGlyphVertices>0&&r?H(r,t.WritingMode.vertical):{box:null,offscreen:null}})),F(C&&C.box&&C.box.length)}}if(T=(p=C)&&p.box&&p.box.length>0,S=p&&p.offscreen,e.useRuntimeCollisionCircles){var G=o.text.placedSymbolArray.get(e.centerJustifiedTextSymbolIndex),Y=t.evaluateSizeForFeature(o.textSizeData,d,G),W=s.get("text-padding");I=i.collisionIndex.placeCollisionCircles(y,G,o.lineVertexArray,o.glyphOffsetArray,Y,l,c,u,n,_,g.predicate,e.collisionCircleDiameter,W),T=y||I.circles.length>0&&!I.collisionDetected,S=S&&I.offscreen}if(a.iconFeatureIndex&&(D=a.iconFeatureIndex),a.iconBox){var X=function(t){var e=w&&E?be(t,E.x,E.y,b,_,i.transform.angle):t;return i.collisionIndex.placeCollisionBox(e,x,f,l,g.predicate)};A=L&&L.box&&L.box.length&&a.verticalIconBox?(P=X(a.verticalIconBox)).box.length>0:(P=X(a.iconBox)).box.length>0,S=S&&P.offscreen}var Z=m||0===e.numHorizontalGlyphVertices&&0===e.numVerticalGlyphVertices,J=v||0===e.numIconVertices;if(Z||J?J?Z||(A=A&&T):T=A&&T:A=T=A&&T,T&&p&&p.box&&i.collisionIndex.insertCollisionBox(p.box,s.get("text-ignore-placement"),o.bucketInstanceId,L&&L.box&&O?O:z,g.ID),A&&P&&i.collisionIndex.insertCollisionBox(P.box,s.get("icon-ignore-placement"),o.bucketInstanceId,D,g.ID),I&&(T&&i.collisionIndex.insertCollisionCircles(I.circles,s.get("text-ignore-placement"),o.bucketInstanceId,z,g.ID),n)){var K=o.bucketInstanceId,Q=i.collisionCircleArrays[K];void 0===Q&&(Q=i.collisionCircleArrays[K]=new me);for(var $=0;$<I.circles.length;$+=4)Q.circles.push(I.circles[$+0]),Q.circles.push(I.circles[$+1]),Q.circles.push(I.circles[$+2]),Q.circles.push(I.collisionDetected?1:0)}i.placements[e.crossTileID]=new ge(T||k,A||M,S||o.justReloaded),r[e.crossTileID]=!0}};if(T)for(var S=o.getSortedSymbolIndexes(this.transform.angle),E=S.length-1;E>=0;--E){var C=S[E];A(o.symbolInstances.get(C),o.collisionArrays[C])}else for(var L=e.symbolInstanceStart;L<e.symbolInstanceEnd;L++)A(o.symbolInstances.get(L),o.collisionArrays[L]);if(n&&o.bucketInstanceId in this.collisionCircleArrays){var I=this.collisionCircleArrays[o.bucketInstanceId];t.invert(I.invProjMatrix,l),I.viewportMatrix=this.collisionIndex.getViewportMatrix()}o.justReloaded=!1},_e.prototype.markUsedJustification=function(e,r,n,i){var a;a=i===t.WritingMode.vertical?n.verticalPlacedTextSymbolIndex:{left:n.leftJustifiedTextSymbolIndex,center:n.centerJustifiedTextSymbolIndex,right:n.rightJustifiedTextSymbolIndex}[t.getAnchorJustification(r)];for(var o=0,s=[n.leftJustifiedTextSymbolIndex,n.centerJustifiedTextSymbolIndex,n.rightJustifiedTextSymbolIndex,n.verticalPlacedTextSymbolIndex];o<s.length;o+=1){var l=s[o];l>=0&&(e.text.placedSymbolArray.get(l).crossTileID=a>=0&&l!==a?0:n.crossTileID)}},_e.prototype.markUsedOrientation=function(e,r,n){for(var i=r===t.WritingMode.horizontal||r===t.WritingMode.horizontalOnly?r:0,a=r===t.WritingMode.vertical?r:0,o=0,s=[n.leftJustifiedTextSymbolIndex,n.centerJustifiedTextSymbolIndex,n.rightJustifiedTextSymbolIndex];o<s.length;o+=1)e.text.placedSymbolArray.get(s[o]).placedOrientation=i;n.verticalPlacedTextSymbolIndex&&(e.text.placedSymbolArray.get(n.verticalPlacedTextSymbolIndex).placedOrientation=a)},_e.prototype.commit=function(t){this.commitTime=t,this.zoomAtLastRecencyCheck=this.transform.zoom;var e=this.prevPlacement,r=!1;this.prevZoomAdjustment=e?e.zoomAdjustment(this.transform.zoom):0;var n=e?e.symbolFadeChange(t):1,i=e?e.opacities:{},a=e?e.variableOffsets:{},o=e?e.placedOrientations:{};for(var s in this.placements){var l=this.placements[s],c=i[s];c?(this.opacities[s]=new de(c,n,l.text,l.icon),r=r||l.text!==c.text.placed||l.icon!==c.icon.placed):(this.opacities[s]=new de(null,n,l.text,l.icon,l.skipFade),r=r||l.text||l.icon)}for(var u in i){var f=i[u];if(!this.opacities[u]){var h=new de(f,n,!1,!1);h.isHidden()||(this.opacities[u]=h,r=r||f.text.placed||f.icon.placed)}}for(var p in a)this.variableOffsets[p]||!this.opacities[p]||this.opacities[p].isHidden()||(this.variableOffsets[p]=a[p]);for(var d in o)this.placedOrientations[d]||!this.opacities[d]||this.opacities[d].isHidden()||(this.placedOrientations[d]=o[d]);r?this.lastPlacementChangeTime=t:"number"!=typeof this.lastPlacementChangeTime&&(this.lastPlacementChangeTime=e?e.lastPlacementChangeTime:t)},_e.prototype.updateLayerOpacities=function(t,e){for(var r={},n=0,i=e;n<i.length;n+=1){var a=i[n],o=a.getBucket(t);o&&a.latestFeatureIndex&&t.id===o.layerIds[0]&&this.updateBucketOpacities(o,r,a.collisionBoxArray)}},_e.prototype.updateBucketOpacities=function(e,r,n){var i=this;e.hasTextData()&&e.text.opacityVertexArray.clear(),e.hasIconData()&&e.icon.opacityVertexArray.clear(),e.hasIconCollisionBoxData()&&e.iconCollisionBox.collisionVertexArray.clear(),e.hasTextCollisionBoxData()&&e.textCollisionBox.collisionVertexArray.clear();var a=e.layers[0].layout,o=new de(null,0,!1,!1,!0),s=a.get("text-allow-overlap"),l=a.get("icon-allow-overlap"),c=a.get("text-variable-anchor"),u="map"===a.get("text-rotation-alignment"),f="map"===a.get("text-pitch-alignment"),h="none"!==a.get("icon-text-fit"),p=new de(null,0,s&&(l||!e.hasIconData()||a.get("icon-optional")),l&&(s||!e.hasTextData()||a.get("text-optional")),!0);!e.collisionArrays&&n&&(e.hasIconCollisionBoxData()||e.hasTextCollisionBoxData())&&e.deserializeCollisionBoxes(n);for(var d=function(t,e,r){for(var n=0;n<e/4;n++)t.opacityVertexArray.emplaceBack(r)},g=function(n){var a=e.symbolInstances.get(n),s=a.numHorizontalGlyphVertices,l=a.numVerticalGlyphVertices,g=a.crossTileID,m=i.opacities[g];r[g]?m=o:m||(i.opacities[g]=m=p),r[g]=!0;var v=a.numIconVertices>0,y=i.placedOrientations[a.crossTileID],x=y===t.WritingMode.vertical,b=y===t.WritingMode.horizontal||y===t.WritingMode.horizontalOnly;if(s>0||l>0){var _=Le(m.text);d(e.text,s,x?Ie:_),d(e.text,l,b?Ie:_);var w=m.text.isHidden();[a.rightJustifiedTextSymbolIndex,a.centerJustifiedTextSymbolIndex,a.leftJustifiedTextSymbolIndex].forEach((function(t){t>=0&&(e.text.placedSymbolArray.get(t).hidden=w||x?1:0)})),a.verticalPlacedTextSymbolIndex>=0&&(e.text.placedSymbolArray.get(a.verticalPlacedTextSymbolIndex).hidden=w||b?1:0);var T=i.variableOffsets[a.crossTileID];T&&i.markUsedJustification(e,T.anchor,a,y);var k=i.placedOrientations[a.crossTileID];k&&(i.markUsedJustification(e,"left",a,k),i.markUsedOrientation(e,k,a))}if(v){var M=Le(m.icon),A=!(h&&a.verticalPlacedIconSymbolIndex&&x);a.placedIconSymbolIndex>=0&&(d(e.icon,a.numIconVertices,A?M:Ie),e.icon.placedSymbolArray.get(a.placedIconSymbolIndex).hidden=m.icon.isHidden()),a.verticalPlacedIconSymbolIndex>=0&&(d(e.icon,a.numVerticalIconVertices,A?Ie:M),e.icon.placedSymbolArray.get(a.verticalPlacedIconSymbolIndex).hidden=m.icon.isHidden())}if(e.hasIconCollisionBoxData()||e.hasTextCollisionBoxData()){var S=e.collisionArrays[n];if(S){var E=new t.Point(0,0);if(S.textBox||S.verticalTextBox){var C=!0;if(c){var L=i.variableOffsets[g];L?(E=xe(L.anchor,L.width,L.height,L.textOffset,L.textBoxScale),u&&E._rotate(f?i.transform.angle:-i.transform.angle)):C=!1}S.textBox&&we(e.textCollisionBox.collisionVertexArray,m.text.placed,!C||x,E.x,E.y),S.verticalTextBox&&we(e.textCollisionBox.collisionVertexArray,m.text.placed,!C||b,E.x,E.y)}var I=Boolean(!b&&S.verticalIconBox);S.iconBox&&we(e.iconCollisionBox.collisionVertexArray,m.icon.placed,I,h?E.x:0,h?E.y:0),S.verticalIconBox&&we(e.iconCollisionBox.collisionVertexArray,m.icon.placed,!I,h?E.x:0,h?E.y:0)}}},m=0;m<e.symbolInstances.length;m++)g(m);if(e.sortFeatures(this.transform.angle),this.retainedQueryData[e.bucketInstanceId]&&(this.retainedQueryData[e.bucketInstanceId].featureSortOrder=e.featureSortOrder),e.hasTextData()&&e.text.opacityVertexBuffer&&e.text.opacityVertexBuffer.updateData(e.text.opacityVertexArray),e.hasIconData()&&e.icon.opacityVertexBuffer&&e.icon.opacityVertexBuffer.updateData(e.icon.opacityVertexArray),e.hasIconCollisionBoxData()&&e.iconCollisionBox.collisionVertexBuffer&&e.iconCollisionBox.collisionVertexBuffer.updateData(e.iconCollisionBox.collisionVertexArray),e.hasTextCollisionBoxData()&&e.textCollisionBox.collisionVertexBuffer&&e.textCollisionBox.collisionVertexBuffer.updateData(e.textCollisionBox.collisionVertexArray),e.bucketInstanceId in this.collisionCircleArrays){var v=this.collisionCircleArrays[e.bucketInstanceId];e.placementInvProjMatrix=v.invProjMatrix,e.placementViewportMatrix=v.viewportMatrix,e.collisionCircleArray=v.circles,delete this.collisionCircleArrays[e.bucketInstanceId]}},_e.prototype.symbolFadeChange=function(t){return 0===this.fadeDuration?1:(t-this.commitTime)/this.fadeDuration+this.prevZoomAdjustment},_e.prototype.zoomAdjustment=function(t){return Math.max(0,(this.transform.zoom-t)/1.5)},_e.prototype.hasTransitions=function(t){return this.stale||t-this.lastPlacementChangeTime<this.fadeDuration},_e.prototype.stillRecent=function(t,e){var r=this.zoomAtLastRecencyCheck===e?1-this.zoomAdjustment(e):1;return this.zoomAtLastRecencyCheck=e,this.commitTime+this.fadeDuration*r>t},_e.prototype.setStale=function(){this.stale=!0};var Te=Math.pow(2,25),ke=Math.pow(2,24),Me=Math.pow(2,17),Ae=Math.pow(2,16),Se=Math.pow(2,9),Ee=Math.pow(2,8),Ce=Math.pow(2,1);function Le(t){if(0===t.opacity&&!t.placed)return 0;if(1===t.opacity&&t.placed)return 4294967295;var e=t.placed?1:0,r=Math.floor(127*t.opacity);return r*Te+e*ke+r*Me+e*Ae+r*Se+e*Ee+r*Ce+e}var Ie=0,Pe=function(t){this._sortAcrossTiles="viewport-y"!==t.layout.get("symbol-z-order")&&void 0!==t.layout.get("symbol-sort-key").constantOr(1),this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[]};Pe.prototype.continuePlacement=function(t,e,r,n,i){for(var a=this._bucketParts;this._currentTileIndex<t.length;)if(e.getBucketParts(a,n,t[this._currentTileIndex],this._sortAcrossTiles),this._currentTileIndex++,i())return!0;for(this._sortAcrossTiles&&(this._sortAcrossTiles=!1,a.sort((function(t,e){return t.sortKey-e.sortKey})));this._currentPartIndex<a.length;)if(e.placeLayerBucketPart(a[this._currentPartIndex],this._seenCrossTileIDs,r),this._currentPartIndex++,i())return!0;return!1};var ze=function(t,e,r,n,i,a,o){this.placement=new _e(t,i,a,o),this._currentPlacementIndex=e.length-1,this._forceFullPlacement=r,this._showCollisionBoxes=n,this._done=!1};ze.prototype.isDone=function(){return this._done},ze.prototype.continuePlacement=function(e,r,n){for(var i=this,a=t.browser.now(),o=function(){var e=t.browser.now()-a;return!i._forceFullPlacement&&e>2};this._currentPlacementIndex>=0;){var s=r[e[this._currentPlacementIndex]],l=this.placement.collisionIndex.transform.zoom;if("symbol"===s.type&&(!s.minzoom||s.minzoom<=l)&&(!s.maxzoom||s.maxzoom>l)){if(this._inProgressLayer||(this._inProgressLayer=new Pe(s)),this._inProgressLayer.continuePlacement(n[s.source],this.placement,this._showCollisionBoxes,s,o))return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0},ze.prototype.commit=function(t){return this.placement.commit(t),this.placement};var Oe=512/t.EXTENT/2,De=function(t,e,r){this.tileID=t,this.indexedSymbolInstances={},this.bucketInstanceId=r;for(var n=0;n<e.length;n++){var i=e.get(n),a=i.key;this.indexedSymbolInstances[a]||(this.indexedSymbolInstances[a]=[]),this.indexedSymbolInstances[a].push({crossTileID:i.crossTileID,coord:this.getScaledCoordinates(i,t)})}};De.prototype.getScaledCoordinates=function(e,r){var n=Oe/Math.pow(2,r.canonical.z-this.tileID.canonical.z);return{x:Math.floor((r.canonical.x*t.EXTENT+e.anchorX)*n),y:Math.floor((r.canonical.y*t.EXTENT+e.anchorY)*n)}},De.prototype.findMatches=function(t,e,r){for(var n=this.tileID.canonical.z<e.canonical.z?1:Math.pow(2,this.tileID.canonical.z-e.canonical.z),i=0;i<t.length;i++){var a=t.get(i);if(!a.crossTileID){var o=this.indexedSymbolInstances[a.key];if(o)for(var s=this.getScaledCoordinates(a,e),l=0,c=o;l<c.length;l+=1){var u=c[l];if(Math.abs(u.coord.x-s.x)<=n&&Math.abs(u.coord.y-s.y)<=n&&!r[u.crossTileID]){r[u.crossTileID]=!0,a.crossTileID=u.crossTileID;break}}}}};var Re=function(){this.maxCrossTileID=0};Re.prototype.generate=function(){return++this.maxCrossTileID};var Fe=function(){this.indexes={},this.usedCrossTileIDs={},this.lng=0};Fe.prototype.handleWrapJump=function(t){var e=Math.round((t-this.lng)/360);if(0!==e)for(var r in this.indexes){var n=this.indexes[r],i={};for(var a in n){var o=n[a];o.tileID=o.tileID.unwrapTo(o.tileID.wrap+e),i[o.tileID.key]=o}this.indexes[r]=i}this.lng=t},Fe.prototype.addBucket=function(t,e,r){if(this.indexes[t.overscaledZ]&&this.indexes[t.overscaledZ][t.key]){if(this.indexes[t.overscaledZ][t.key].bucketInstanceId===e.bucketInstanceId)return!1;this.removeBucketCrossTileIDs(t.overscaledZ,this.indexes[t.overscaledZ][t.key])}for(var n=0;n<e.symbolInstances.length;n++)e.symbolInstances.get(n).crossTileID=0;this.usedCrossTileIDs[t.overscaledZ]||(this.usedCrossTileIDs[t.overscaledZ]={});var i=this.usedCrossTileIDs[t.overscaledZ];for(var a in this.indexes){var o=this.indexes[a];if(Number(a)>t.overscaledZ)for(var s in o){var l=o[s];l.tileID.isChildOf(t)&&l.findMatches(e.symbolInstances,t,i)}else{var c=o[t.scaledTo(Number(a)).key];c&&c.findMatches(e.symbolInstances,t,i)}}for(var u=0;u<e.symbolInstances.length;u++){var f=e.symbolInstances.get(u);f.crossTileID||(f.crossTileID=r.generate(),i[f.crossTileID]=!0)}return void 0===this.indexes[t.overscaledZ]&&(this.indexes[t.overscaledZ]={}),this.indexes[t.overscaledZ][t.key]=new De(t,e.symbolInstances,e.bucketInstanceId),!0},Fe.prototype.removeBucketCrossTileIDs=function(t,e){for(var r in e.indexedSymbolInstances)for(var n=0,i=e.indexedSymbolInstances[r];n<i.length;n+=1)delete this.usedCrossTileIDs[t][i[n].crossTileID]},Fe.prototype.removeStaleBuckets=function(t){var e=!1;for(var r in this.indexes){var n=this.indexes[r];for(var i in n)t[n[i].bucketInstanceId]||(this.removeBucketCrossTileIDs(r,n[i]),delete n[i],e=!0)}return e};var Be=function(){this.layerIndexes={},this.crossTileIDs=new Re,this.maxBucketInstanceId=0,this.bucketsInCurrentPlacement={}};Be.prototype.addLayer=function(t,e,r){var n=this.layerIndexes[t.id];void 0===n&&(n=this.layerIndexes[t.id]=new Fe);var i=!1,a={};n.handleWrapJump(r);for(var o=0,s=e;o<s.length;o+=1){var l=s[o],c=l.getBucket(t);c&&t.id===c.layerIds[0]&&(c.bucketInstanceId||(c.bucketInstanceId=++this.maxBucketInstanceId),n.addBucket(l.tileID,c,this.crossTileIDs)&&(i=!0),a[c.bucketInstanceId]=!0)}return n.removeStaleBuckets(a)&&(i=!0),i},Be.prototype.pruneUnusedLayers=function(t){var e={};for(var r in t.forEach((function(t){e[t]=!0})),this.layerIndexes)e[r]||delete this.layerIndexes[r]};var Ne=function(e,r){return t.emitValidationErrors(e,r&&r.filter((function(t){return"source.canvas"!==t.identifier})))},je=t.pick(Ut,["addLayer","removeLayer","setPaintProperty","setLayoutProperty","setFilter","addSource","removeSource","setLayerZoomRange","setLight","setTransition","setGeoJSONSourceData"]),Ue=t.pick(Ut,["setCenter","setZoom","setBearing","setPitch"]),Ve=function(){var e={},r=t.styleSpec.$version;for(var n in t.styleSpec.$root){var i,a=t.styleSpec.$root[n];a.required&&null!=(i="version"===n?r:"array"===a.type?[]:{})&&(e[n]=i)}return e}(),qe=function(e){function r(n,i){var a=this;void 0===i&&(i={}),e.call(this),this.map=n,this.dispatcher=new k(Bt(),this),this.imageManager=new h,this.imageManager.setEventedParent(this),this.glyphManager=new x(n._requestManager,i.localIdeographFontFamily),this.lineAtlas=new T(256,512),this.crossTileSymbolIndex=new Be,this._layers={},this._serializedLayers={},this._order=[],this.sourceCaches={},this.zoomHistory=new t.ZoomHistory,this._loaded=!1,this._availableImages=[],this._resetUpdates(),this.dispatcher.broadcast("setReferrer",t.getReferrer());var o=this;this._rtlTextPluginCallback=r.registerForPluginStateChange((function(e){o.dispatcher.broadcast("syncRTLPluginState",{pluginStatus:e.pluginStatus,pluginURL:e.pluginURL},(function(e,r){if(t.triggerPluginCompletionEvent(e),r&&r.every((function(t){return t})))for(var n in o.sourceCaches)o.sourceCaches[n].reload()}))})),this.on("data",(function(t){if("source"===t.dataType&&"metadata"===t.sourceDataType){var e=a.sourceCaches[t.sourceId];if(e){var r=e.getSource();if(r&&r.vectorLayerIds)for(var n in a._layers){var i=a._layers[n];i.source===r.id&&a._validateLayer(i)}}}}))}return e&&(r.__proto__=e),(r.prototype=Object.create(e&&e.prototype)).constructor=r,r.prototype.loadURL=function(e,r){var n=this;void 0===r&&(r={}),this.fire(new t.Event("dataloading",{dataType:"style"}));var i="boolean"==typeof r.validate?r.validate:!t.isMapboxURL(e);e=this.map._requestManager.normalizeStyleURL(e,r.accessToken);var a=this.map._requestManager.transformRequest(e,t.ResourceType.Style);this._request=t.getJSON(a,(function(e,r){n._request=null,e?n.fire(new t.ErrorEvent(e)):r&&n._load(r,i)}))},r.prototype.loadJSON=function(e,r){var n=this;void 0===r&&(r={}),this.fire(new t.Event("dataloading",{dataType:"style"})),this._request=t.browser.frame((function(){n._request=null,n._load(e,!1!==r.validate)}))},r.prototype.loadEmpty=function(){this.fire(new t.Event("dataloading",{dataType:"style"})),this._load(Ve,!1)},r.prototype._load=function(e,r){if(!r||!Ne(this,t.validateStyle(e))){for(var n in this._loaded=!0,this.stylesheet=e,e.sources)this.addSource(n,e.sources[n],{validate:!1});e.sprite?this._loadSprite(e.sprite):this.imageManager.setLoaded(!0),this.glyphManager.setURL(e.glyphs);var i=jt(this.stylesheet.layers);this._order=i.map((function(t){return t.id})),this._layers={},this._serializedLayers={};for(var a=0,o=i;a<o.length;a+=1){var s=o[a];(s=t.createStyleLayer(s)).setEventedParent(this,{layer:{id:s.id}}),this._layers[s.id]=s,this._serializedLayers[s.id]=s.serialize()}this.dispatcher.broadcast("setLayers",this._serializeLayers(this._order)),this.light=new w(this.stylesheet.light),this.fire(new t.Event("data",{dataType:"style"})),this.fire(new t.Event("style.load"))}},r.prototype._loadSprite=function(e){var r=this;this._spriteRequest=function(e,r,n){var i,a,o,s=t.browser.devicePixelRatio>1?"@2x":"",l=t.getJSON(r.transformRequest(r.normalizeSpriteURL(e,s,".json"),t.ResourceType.SpriteJSON),(function(t,e){l=null,o||(o=t,i=e,u())})),c=t.getImage(r.transformRequest(r.normalizeSpriteURL(e,s,".png"),t.ResourceType.SpriteImage),(function(t,e){c=null,o||(o=t,a=e,u())}));function u(){if(o)n(o);else if(i&&a){var e=t.browser.getImageData(a),r={};for(var s in i){var l=i[s],c=l.width,u=l.height,f=l.x,h=l.y,p=l.sdf,d=l.pixelRatio,g=l.stretchX,m=l.stretchY,v=l.content,y=new t.RGBAImage({width:c,height:u});t.RGBAImage.copy(e,y,{x:f,y:h},{x:0,y:0},{width:c,height:u}),r[s]={data:y,pixelRatio:d,sdf:p,stretchX:g,stretchY:m,content:v}}n(null,r)}}return{cancel:function(){l&&(l.cancel(),l=null),c&&(c.cancel(),c=null)}}}(e,this.map._requestManager,(function(e,n){if(r._spriteRequest=null,e)r.fire(new t.ErrorEvent(e));else if(n)for(var i in n)r.imageManager.addImage(i,n[i]);r.imageManager.setLoaded(!0),r._availableImages=r.imageManager.listImages(),r.dispatcher.broadcast("setImages",r._availableImages),r.fire(new t.Event("data",{dataType:"style"}))}))},r.prototype._validateLayer=function(e){var r=this.sourceCaches[e.source];if(r){var n=e.sourceLayer;if(n){var i=r.getSource();("geojson"===i.type||i.vectorLayerIds&&-1===i.vectorLayerIds.indexOf(n))&&this.fire(new t.ErrorEvent(new Error('Source layer "'+n+'" does not exist on source "'+i.id+'" as specified by style layer "'+e.id+'"')))}}},r.prototype.loaded=function(){if(!this._loaded)return!1;if(Object.keys(this._updatedSources).length)return!1;for(var t in this.sourceCaches)if(!this.sourceCaches[t].loaded())return!1;return!!this.imageManager.isLoaded()},r.prototype._serializeLayers=function(t){for(var e=[],r=0,n=t;r<n.length;r+=1){var i=this._layers[n[r]];"custom"!==i.type&&e.push(i.serialize())}return e},r.prototype.hasTransitions=function(){if(this.light&&this.light.hasTransition())return!0;for(var t in this.sourceCaches)if(this.sourceCaches[t].hasTransition())return!0;for(var e in this._layers)if(this._layers[e].hasTransition())return!0;return!1},r.prototype._checkLoaded=function(){if(!this._loaded)throw new Error("Style is not done loading")},r.prototype.update=function(e){if(this._loaded){var r=this._changed;if(this._changed){var n=Object.keys(this._updatedLayers),i=Object.keys(this._removedLayers);for(var a in(n.length||i.length)&&this._updateWorkerLayers(n,i),this._updatedSources){var o=this._updatedSources[a];"reload"===o?this._reloadSource(a):"clear"===o&&this._clearSource(a)}for(var s in this._updateTilesForChangedImages(),this._updatedPaintProps)this._layers[s].updateTransitions(e);this.light.updateTransitions(e),this._resetUpdates()}for(var l in this.sourceCaches)this.sourceCaches[l].used=!1;for(var c=0,u=this._order;c<u.length;c+=1){var f=this._layers[u[c]];f.recalculate(e,this._availableImages),!f.isHidden(e.zoom)&&f.source&&(this.sourceCaches[f.source].used=!0)}this.light.recalculate(e),this.z=e.zoom,r&&this.fire(new t.Event("data",{dataType:"style"}))}},r.prototype._updateTilesForChangedImages=function(){var t=Object.keys(this._changedImages);if(t.length){for(var e in this.sourceCaches)this.sourceCaches[e].reloadTilesForDependencies(["icons","patterns"],t);this._changedImages={}}},r.prototype._updateWorkerLayers=function(t,e){this.dispatcher.broadcast("updateLayers",{layers:this._serializeLayers(t),removedIds:e})},r.prototype._resetUpdates=function(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSources={},this._updatedPaintProps={},this._changedImages={}},r.prototype.setState=function(e){var r=this;if(this._checkLoaded(),Ne(this,t.validateStyle(e)))return!1;(e=t.clone$1(e)).layers=jt(e.layers);var n=function(e,r){if(!e)return[{command:Ut.setStyle,args:[r]}];var n=[];try{if(!t.deepEqual(e.version,r.version))return[{command:Ut.setStyle,args:[r]}];t.deepEqual(e.center,r.center)||n.push({command:Ut.setCenter,args:[r.center]}),t.deepEqual(e.zoom,r.zoom)||n.push({command:Ut.setZoom,args:[r.zoom]}),t.deepEqual(e.bearing,r.bearing)||n.push({command:Ut.setBearing,args:[r.bearing]}),t.deepEqual(e.pitch,r.pitch)||n.push({command:Ut.setPitch,args:[r.pitch]}),t.deepEqual(e.sprite,r.sprite)||n.push({command:Ut.setSprite,args:[r.sprite]}),t.deepEqual(e.glyphs,r.glyphs)||n.push({command:Ut.setGlyphs,args:[r.glyphs]}),t.deepEqual(e.transition,r.transition)||n.push({command:Ut.setTransition,args:[r.transition]}),t.deepEqual(e.light,r.light)||n.push({command:Ut.setLight,args:[r.light]});var i={},a=[];!function(e,r,n,i){var a;for(a in r=r||{},e=e||{})e.hasOwnProperty(a)&&(r.hasOwnProperty(a)||qt(a,n,i));for(a in r)r.hasOwnProperty(a)&&(e.hasOwnProperty(a)?t.deepEqual(e[a],r[a])||("geojson"===e[a].type&&"geojson"===r[a].type&&Gt(e,r,a)?n.push({command:Ut.setGeoJSONSourceData,args:[a,r[a].data]}):Ht(a,r,n,i)):Vt(a,r,n))}(e.sources,r.sources,a,i);var o=[];e.layers&&e.layers.forEach((function(t){i[t.source]?n.push({command:Ut.removeLayer,args:[t.id]}):o.push(t)})),n=n.concat(a),function(e,r,n){r=r||[];var i,a,o,s,l,c,u,f=(e=e||[]).map(Wt),h=r.map(Wt),p=e.reduce(Xt,{}),d=r.reduce(Xt,{}),g=f.slice(),m=Object.create(null);for(i=0,a=0;i<f.length;i++)d.hasOwnProperty(o=f[i])?a++:(n.push({command:Ut.removeLayer,args:[o]}),g.splice(g.indexOf(o,a),1));for(i=0,a=0;i<h.length;i++)g[g.length-1-i]!==(o=h[h.length-1-i])&&(p.hasOwnProperty(o)?(n.push({command:Ut.removeLayer,args:[o]}),g.splice(g.lastIndexOf(o,g.length-a),1)):a++,n.push({command:Ut.addLayer,args:[d[o],c=g[g.length-i]]}),g.splice(g.length-i,0,o),m[o]=!0);for(i=0;i<h.length;i++)if(s=p[o=h[i]],l=d[o],!m[o]&&!t.deepEqual(s,l))if(t.deepEqual(s.source,l.source)&&t.deepEqual(s["source-layer"],l["source-layer"])&&t.deepEqual(s.type,l.type)){for(u in Yt(s.layout,l.layout,n,o,null,Ut.setLayoutProperty),Yt(s.paint,l.paint,n,o,null,Ut.setPaintProperty),t.deepEqual(s.filter,l.filter)||n.push({command:Ut.setFilter,args:[o,l.filter]}),t.deepEqual(s.minzoom,l.minzoom)&&t.deepEqual(s.maxzoom,l.maxzoom)||n.push({command:Ut.setLayerZoomRange,args:[o,l.minzoom,l.maxzoom]}),s)s.hasOwnProperty(u)&&"layout"!==u&&"paint"!==u&&"filter"!==u&&"metadata"!==u&&"minzoom"!==u&&"maxzoom"!==u&&(0===u.indexOf("paint.")?Yt(s[u],l[u],n,o,u.slice(6),Ut.setPaintProperty):t.deepEqual(s[u],l[u])||n.push({command:Ut.setLayerProperty,args:[o,u,l[u]]}));for(u in l)l.hasOwnProperty(u)&&!s.hasOwnProperty(u)&&"layout"!==u&&"paint"!==u&&"filter"!==u&&"metadata"!==u&&"minzoom"!==u&&"maxzoom"!==u&&(0===u.indexOf("paint.")?Yt(s[u],l[u],n,o,u.slice(6),Ut.setPaintProperty):t.deepEqual(s[u],l[u])||n.push({command:Ut.setLayerProperty,args:[o,u,l[u]]}))}else n.push({command:Ut.removeLayer,args:[o]}),c=g[g.lastIndexOf(o)+1],n.push({command:Ut.addLayer,args:[l,c]})}(o,r.layers,n)}catch(t){console.warn("Unable to compute style diff:",t),n=[{command:Ut.setStyle,args:[r]}]}return n}(this.serialize(),e).filter((function(t){return!(t.command in Ue)}));if(0===n.length)return!1;var i=n.filter((function(t){return!(t.command in je)}));if(i.length>0)throw new Error("Unimplemented: "+i.map((function(t){return t.command})).join(", ")+".");return n.forEach((function(t){"setTransition"!==t.command&&r[t.command].apply(r,t.args)})),this.stylesheet=e,!0},r.prototype.addImage=function(e,r){if(this.getImage(e))return this.fire(new t.ErrorEvent(new Error("An image with this name already exists.")));this.imageManager.addImage(e,r),this._availableImages=this.imageManager.listImages(),this._changedImages[e]=!0,this._changed=!0,this.fire(new t.Event("data",{dataType:"style"}))},r.prototype.updateImage=function(t,e){this.imageManager.updateImage(t,e)},r.prototype.getImage=function(t){return this.imageManager.getImage(t)},r.prototype.removeImage=function(e){if(!this.getImage(e))return this.fire(new t.ErrorEvent(new Error("No image with this name exists.")));this.imageManager.removeImage(e),this._availableImages=this.imageManager.listImages(),this._changedImages[e]=!0,this._changed=!0,this.fire(new t.Event("data",{dataType:"style"}))},r.prototype.listImages=function(){return this._checkLoaded(),this.imageManager.listImages()},r.prototype.addSource=function(e,r,n){var i=this;if(void 0===n&&(n={}),this._checkLoaded(),void 0!==this.sourceCaches[e])throw new Error("There is already a source with this ID");if(!r.type)throw new Error("The type property must be defined, but the only the following properties were given: "+Object.keys(r).join(", ")+".");if(!(["vector","raster","geojson","video","image"].indexOf(r.type)>=0&&this._validate(t.validateStyle.source,"sources."+e,r,null,n))){this.map&&this.map._collectResourceTiming&&(r.collectResourceTiming=!0);var a=this.sourceCaches[e]=new Lt(e,r,this.dispatcher);a.style=this,a.setEventedParent(this,(function(){return{isSourceLoaded:i.loaded(),source:a.serialize(),sourceId:e}})),a.onAdd(this.map),this._changed=!0}},r.prototype.removeSource=function(e){if(this._checkLoaded(),void 0===this.sourceCaches[e])throw new Error("There is no source with this ID");for(var r in this._layers)if(this._layers[r].source===e)return this.fire(new t.ErrorEvent(new Error('Source "'+e+'" cannot be removed while layer "'+r+'" is using it.')));var n=this.sourceCaches[e];delete this.sourceCaches[e],delete this._updatedSources[e],n.fire(new t.Event("data",{sourceDataType:"metadata",dataType:"source",sourceId:e})),n.setEventedParent(null),n.clearTiles(),n.onRemove&&n.onRemove(this.map),this._changed=!0},r.prototype.setGeoJSONSourceData=function(t,e){this._checkLoaded(),this.sourceCaches[t].getSource().setData(e),this._changed=!0},r.prototype.getSource=function(t){return this.sourceCaches[t]&&this.sourceCaches[t].getSource()},r.prototype.addLayer=function(e,r,n){void 0===n&&(n={}),this._checkLoaded();var i=e.id;if(this.getLayer(i))this.fire(new t.ErrorEvent(new Error('Layer with id "'+i+'" already exists on this map')));else{var a;if("custom"===e.type){if(Ne(this,t.validateCustomStyleLayer(e)))return;a=t.createStyleLayer(e)}else{if("object"==typeof e.source&&(this.addSource(i,e.source),e=t.clone$1(e),e=t.extend(e,{source:i})),this._validate(t.validateStyle.layer,"layers."+i,e,{arrayIndex:-1},n))return;a=t.createStyleLayer(e),this._validateLayer(a),a.setEventedParent(this,{layer:{id:i}}),this._serializedLayers[a.id]=a.serialize()}var o=r?this._order.indexOf(r):this._order.length;if(r&&-1===o)this.fire(new t.ErrorEvent(new Error('Layer with id "'+r+'" does not exist on this map.')));else{if(this._order.splice(o,0,i),this._layerOrderChanged=!0,this._layers[i]=a,this._removedLayers[i]&&a.source&&"custom"!==a.type){var s=this._removedLayers[i];delete this._removedLayers[i],s.type!==a.type?this._updatedSources[a.source]="clear":(this._updatedSources[a.source]="reload",this.sourceCaches[a.source].pause())}this._updateLayer(a),a.onAdd&&a.onAdd(this.map)}}},r.prototype.moveLayer=function(e,r){if(this._checkLoaded(),this._changed=!0,this._layers[e]){if(e!==r){var n=this._order.indexOf(e);this._order.splice(n,1);var i=r?this._order.indexOf(r):this._order.length;r&&-1===i?this.fire(new t.ErrorEvent(new Error('Layer with id "'+r+'" does not exist on this map.'))):(this._order.splice(i,0,e),this._layerOrderChanged=!0)}}else this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be moved.")))},r.prototype.removeLayer=function(e){this._checkLoaded();var r=this._layers[e];if(r){r.setEventedParent(null);var n=this._order.indexOf(e);this._order.splice(n,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[e]=r,delete this._layers[e],delete this._serializedLayers[e],delete this._updatedLayers[e],delete this._updatedPaintProps[e],r.onRemove&&r.onRemove(this.map)}else this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be removed.")))},r.prototype.getLayer=function(t){return this._layers[t]},r.prototype.hasLayer=function(t){return t in this._layers},r.prototype.setLayerZoomRange=function(e,r,n){this._checkLoaded();var i=this.getLayer(e);i?i.minzoom===r&&i.maxzoom===n||(null!=r&&(i.minzoom=r),null!=n&&(i.maxzoom=n),this._updateLayer(i)):this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot have zoom extent.")))},r.prototype.setFilter=function(e,r,n){void 0===n&&(n={}),this._checkLoaded();var i=this.getLayer(e);if(i){if(!t.deepEqual(i.filter,r))return null==r?(i.filter=void 0,void this._updateLayer(i)):void(this._validate(t.validateStyle.filter,"layers."+i.id+".filter",r,null,n)||(i.filter=t.clone$1(r),this._updateLayer(i)))}else this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be filtered.")))},r.prototype.getFilter=function(e){return t.clone$1(this.getLayer(e).filter)},r.prototype.setLayoutProperty=function(e,r,n,i){void 0===i&&(i={}),this._checkLoaded();var a=this.getLayer(e);a?t.deepEqual(a.getLayoutProperty(r),n)||(a.setLayoutProperty(r,n,i),this._updateLayer(a)):this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be styled.")))},r.prototype.getLayoutProperty=function(e,r){var n=this.getLayer(e);if(n)return n.getLayoutProperty(r);this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style.")))},r.prototype.setPaintProperty=function(e,r,n,i){void 0===i&&(i={}),this._checkLoaded();var a=this.getLayer(e);a?t.deepEqual(a.getPaintProperty(r),n)||(a.setPaintProperty(r,n,i)&&this._updateLayer(a),this._changed=!0,this._updatedPaintProps[e]=!0):this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be styled.")))},r.prototype.getPaintProperty=function(t,e){return this.getLayer(t).getPaintProperty(e)},r.prototype.setFeatureState=function(e,r){this._checkLoaded();var n=e.source,i=e.sourceLayer,a=this.sourceCaches[n];if(void 0!==a){var o=a.getSource().type;"geojson"===o&&i?this.fire(new t.ErrorEvent(new Error("GeoJSON sources cannot have a sourceLayer parameter."))):"vector"!==o||i?(void 0===e.id&&this.fire(new t.ErrorEvent(new Error("The feature id parameter must be provided."))),a.setFeatureState(i,e.id,r)):this.fire(new t.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")))}else this.fire(new t.ErrorEvent(new Error("The source '"+n+"' does not exist in the map's style.")))},r.prototype.removeFeatureState=function(e,r){this._checkLoaded();var n=e.source,i=this.sourceCaches[n];if(void 0!==i){var a=i.getSource().type,o="vector"===a?e.sourceLayer:void 0;"vector"!==a||o?r&&"string"!=typeof e.id&&"number"!=typeof e.id?this.fire(new t.ErrorEvent(new Error("A feature id is requred to remove its specific state property."))):i.removeFeatureState(o,e.id,r):this.fire(new t.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")))}else this.fire(new t.ErrorEvent(new Error("The source '"+n+"' does not exist in the map's style.")))},r.prototype.getFeatureState=function(e){this._checkLoaded();var r=e.source,n=e.sourceLayer,i=this.sourceCaches[r];if(void 0!==i){if("vector"!==i.getSource().type||n)return void 0===e.id&&this.fire(new t.ErrorEvent(new Error("The feature id parameter must be provided."))),i.getFeatureState(n,e.id);this.fire(new t.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")))}else this.fire(new t.ErrorEvent(new Error("The source '"+r+"' does not exist in the map's style.")))},r.prototype.getTransition=function(){return t.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)},r.prototype.serialize=function(){return t.filterObject({version:this.stylesheet.version,name:this.stylesheet.name,metadata:this.stylesheet.metadata,light:this.stylesheet.light,center:this.stylesheet.center,zoom:this.stylesheet.zoom,bearing:this.stylesheet.bearing,pitch:this.stylesheet.pitch,sprite:this.stylesheet.sprite,glyphs:this.stylesheet.glyphs,transition:this.stylesheet.transition,sources:t.mapObject(this.sourceCaches,(function(t){return t.serialize()})),layers:this._serializeLayers(this._order)},(function(t){return void 0!==t}))},r.prototype._updateLayer=function(t){this._updatedLayers[t.id]=!0,t.source&&!this._updatedSources[t.source]&&"raster"!==this.sourceCaches[t.source].getSource().type&&(this._updatedSources[t.source]="reload",this.sourceCaches[t.source].pause()),this._changed=!0},r.prototype._flattenAndSortRenderedFeatures=function(t){for(var e=this,r=function(t){return"fill-extrusion"===e._layers[t].type},n={},i=[],a=this._order.length-1;a>=0;a--){var o=this._order[a];if(r(o)){n[o]=a;for(var s=0,l=t;s<l.length;s+=1){var c=l[s][o];if(c)for(var u=0,f=c;u<f.length;u+=1)i.push(f[u])}}}i.sort((function(t,e){return e.intersectionZ-t.intersectionZ}));for(var h=[],p=this._order.length-1;p>=0;p--){var d=this._order[p];if(r(d))for(var g=i.length-1;g>=0;g--){var m=i[g].feature;if(n[m.layer.id]<p)break;h.push(m),i.pop()}else for(var v=0,y=t;v<y.length;v+=1){var x=y[v][d];if(x)for(var b=0,_=x;b<_.length;b+=1)h.push(_[b].feature)}}return h},r.prototype.queryRenderedFeatures=function(e,r,n){r&&r.filter&&this._validate(t.validateStyle.filter,"queryRenderedFeatures.filter",r.filter,null,r);var i={};if(r&&r.layers){if(!Array.isArray(r.layers))return this.fire(new t.ErrorEvent(new Error("parameters.layers must be an Array."))),[];for(var a=0,o=r.layers;a<o.length;a+=1){var s=o[a],l=this._layers[s];if(!l)return this.fire(new t.ErrorEvent(new Error("The layer '"+s+"' does not exist in the map's style and cannot be queried for features."))),[];i[l.source]=!0}}var c=[];for(var u in r.availableImages=this._availableImages,this.sourceCaches)r.layers&&!i[u]||c.push(F(this.sourceCaches[u],this._layers,this._serializedLayers,e,r,n));return this.placement&&c.push(function(t,e,r,n,i,a,o){for(var s={},l=a.queryRenderedSymbols(n),c=[],u=0,f=Object.keys(l).map(Number);u<f.length;u+=1)c.push(o[f[u]]);c.sort(B);for(var h=function(){var r=d[p],n=r.featureIndex.lookupSymbolFeatures(l[r.bucketInstanceId],e,r.bucketIndex,r.sourceLayerIndex,i.filter,i.layers,i.availableImages,t);for(var a in n){var o=s[a]=s[a]||[],c=n[a];c.sort((function(t,e){var n=r.featureSortOrder;if(n){var i=n.indexOf(t.featureIndex);return n.indexOf(e.featureIndex)-i}return e.featureIndex-t.featureIndex}));for(var u=0,f=c;u<f.length;u+=1)o.push(f[u])}},p=0,d=c;p<d.length;p+=1)h();var g=function(e){s[e].forEach((function(n){var i=n.feature,a=r[t[e].source].getFeatureState(i.layer["source-layer"],i.id);i.source=i.layer.source,i.layer["source-layer"]&&(i.sourceLayer=i.layer["source-layer"]),i.state=a}))};for(var m in s)g(m);return s}(this._layers,this._serializedLayers,this.sourceCaches,e,r,this.placement.collisionIndex,this.placement.retainedQueryData)),this._flattenAndSortRenderedFeatures(c)},r.prototype.querySourceFeatures=function(e,r){r&&r.filter&&this._validate(t.validateStyle.filter,"querySourceFeatures.filter",r.filter,null,r);var n=this.sourceCaches[e];return n?function(t,e){for(var r=t.getRenderableIds().map((function(e){return t.getTileByID(e)})),n=[],i={},a=0;a<r.length;a++){var o=r[a],s=o.tileID.canonical.key;i[s]||(i[s]=!0,o.querySourceFeatures(n,e))}return n}(n,r):[]},r.prototype.addSourceType=function(t,e,n){return r.getSourceType(t)?n(new Error('A source type called "'+t+'" already exists.')):(r.setSourceType(t,e),e.workerSourceURL?void this.dispatcher.broadcast("loadWorkerSource",{name:t,url:e.workerSourceURL},n):n(null,null))},r.prototype.getLight=function(){return this.light.getLight()},r.prototype.setLight=function(e,r){void 0===r&&(r={}),this._checkLoaded();var n=this.light.getLight(),i=!1;for(var a in e)if(!t.deepEqual(e[a],n[a])){i=!0;break}if(i){var o={now:t.browser.now(),transition:t.extend({duration:300,delay:0},this.stylesheet.transition)};this.light.setLight(e,r),this.light.updateTransitions(o)}},r.prototype._validate=function(e,r,n,i,a){return void 0===a&&(a={}),(!a||!1!==a.validate)&&Ne(this,e.call(t.validateStyle,t.extend({key:r,style:this.serialize(),value:n,styleSpec:t.styleSpec},i)))},r.prototype._remove=function(){for(var e in this._request&&(this._request.cancel(),this._request=null),this._spriteRequest&&(this._spriteRequest.cancel(),this._spriteRequest=null),t.evented.off("pluginStateChange",this._rtlTextPluginCallback),this._layers)this._layers[e].setEventedParent(null);for(var r in this.sourceCaches)this.sourceCaches[r].clearTiles(),this.sourceCaches[r].setEventedParent(null);this.imageManager.setEventedParent(null),this.setEventedParent(null),this.dispatcher.remove()},r.prototype._clearSource=function(t){this.sourceCaches[t].clearTiles()},r.prototype._reloadSource=function(t){this.sourceCaches[t].resume(),this.sourceCaches[t].reload()},r.prototype._updateSources=function(t){for(var e in this.sourceCaches)this.sourceCaches[e].update(t)},r.prototype._generateCollisionBoxes=function(){for(var t in this.sourceCaches)this._reloadSource(t)},r.prototype._updatePlacement=function(e,r,n,i,a){void 0===a&&(a=!1);for(var o=!1,s=!1,l={},c=0,u=this._order;c<u.length;c+=1){var f=this._layers[u[c]];if("symbol"===f.type){if(!l[f.source]){var h=this.sourceCaches[f.source];l[f.source]=h.getRenderableIds(!0).map((function(t){return h.getTileByID(t)})).sort((function(t,e){return e.tileID.overscaledZ-t.tileID.overscaledZ||(t.tileID.isLessThan(e.tileID)?-1:1)}))}var p=this.crossTileSymbolIndex.addLayer(f,l[f.source],e.center.lng);o=o||p}}if(this.crossTileSymbolIndex.pruneUnusedLayers(this._order),((a=a||this._layerOrderChanged||0===n)||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(t.browser.now(),e.zoom))&&(this.pauseablePlacement=new ze(e,this._order,a,r,n,i,this.placement),this._layerOrderChanged=!1),this.pauseablePlacement.isDone()?this.placement.setStale():(this.pauseablePlacement.continuePlacement(this._order,this._layers,l),this.pauseablePlacement.isDone()&&(this.placement=this.pauseablePlacement.commit(t.browser.now()),s=!0),o&&this.pauseablePlacement.placement.setStale()),s||o)for(var d=0,g=this._order;d<g.length;d+=1){var m=this._layers[g[d]];"symbol"===m.type&&this.placement.updateLayerOpacities(m,l[m.source])}return!this.pauseablePlacement.isDone()||this.placement.hasTransitions(t.browser.now())},r.prototype._releaseSymbolFadeTiles=function(){for(var t in this.sourceCaches)this.sourceCaches[t].releaseSymbolFadeTiles()},r.prototype.getImages=function(t,e,r){this.imageManager.getImages(e.icons,r),this._updateTilesForChangedImages();var n=this.sourceCaches[e.source];n&&n.setDependencies(e.tileID.key,e.type,e.icons)},r.prototype.getGlyphs=function(t,e,r){this.glyphManager.getGlyphs(e.stacks,r)},r.prototype.getResource=function(e,r,n){return t.makeRequest(r,n)},r}(t.Evented);qe.getSourceType=function(t){return D[t]},qe.setSourceType=function(t,e){D[t]=e},qe.registerForPluginStateChange=t.registerForPluginStateChange;var He=t.createLayout([{name:"a_pos",type:"Int16",components:2}]),Ge=vr("#ifdef GL_ES\nprecision mediump float;\n#else\n#if !defined(lowp)\n#define lowp\n#endif\n#if !defined(mediump)\n#define mediump\n#endif\n#if !defined(highp)\n#define highp\n#endif\n#endif","#ifdef GL_ES\nprecision highp float;\n#else\n#if !defined(lowp)\n#define lowp\n#endif\n#if !defined(mediump)\n#define mediump\n#endif\n#if !defined(highp)\n#define highp\n#endif\n#endif\nvec2 unpack_float(const float packedValue) {int packedIntValue=int(packedValue);int v0=packedIntValue/256;return vec2(v0,packedIntValue-v0*256);}vec2 unpack_opacity(const float packedOpacity) {int intOpacity=int(packedOpacity)/2;return vec2(float(intOpacity)/127.0,mod(packedOpacity,2.0));}vec4 decode_color(const vec2 encodedColor) {return vec4(unpack_float(encodedColor[0])/255.0,unpack_float(encodedColor[1])/255.0\n);}float unpack_mix_vec2(const vec2 packedValue,const float t) {return mix(packedValue[0],packedValue[1],t);}vec4 unpack_mix_color(const vec4 packedColors,const float t) {vec4 minColor=decode_color(vec2(packedColors[0],packedColors[1]));vec4 maxColor=decode_color(vec2(packedColors[2],packedColors[3]));return mix(minColor,maxColor,t);}vec2 get_pattern_pos(const vec2 pixel_coord_upper,const vec2 pixel_coord_lower,const vec2 pattern_size,const float tile_units_to_pixels,const vec2 pos) {vec2 offset=mod(mod(mod(pixel_coord_upper,pattern_size)*256.0,pattern_size)*256.0+pixel_coord_lower,pattern_size);return (tile_units_to_pixels*pos+offset)/pattern_size;}"),Ye=vr("uniform vec4 u_color;uniform float u_opacity;void main() {gl_FragColor=u_color*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}"),We=vr("uniform vec2 u_pattern_tl_a;uniform vec2 u_pattern_br_a;uniform vec2 u_pattern_tl_b;uniform vec2 u_pattern_br_b;uniform vec2 u_texsize;uniform float u_mix;uniform float u_opacity;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(u_pattern_tl_a/u_texsize,u_pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(u_pattern_tl_b/u_texsize,u_pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_mix)*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_pattern_size_a;uniform vec2 u_pattern_size_b;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_scale_a;uniform float u_scale_b;uniform float u_tile_units_to_pixels;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_a*u_pattern_size_a,u_tile_units_to_pixels,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_b*u_pattern_size_b,u_tile_units_to_pixels,a_pos);}"),Xe=vr("varying vec3 v_data;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define mediump float radius\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define highp vec4 stroke_color\n#pragma mapbox: define mediump float stroke_width\n#pragma mapbox: define lowp float stroke_opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize mediump float radius\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize highp vec4 stroke_color\n#pragma mapbox: initialize mediump float stroke_width\n#pragma mapbox: initialize lowp float stroke_opacity\nvec2 extrude=v_data.xy;float extrude_length=length(extrude);lowp float antialiasblur=v_data.z;float antialiased_blur=-max(blur,antialiasblur);float opacity_t=smoothstep(0.0,antialiased_blur,extrude_length-1.0);float color_t=stroke_width < 0.01 ? 0.0 : smoothstep(antialiased_blur,0.0,extrude_length-radius/(radius+stroke_width));gl_FragColor=opacity_t*mix(color*opacity,stroke_color*stroke_opacity,color_t);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform bool u_scale_with_map;uniform bool u_pitch_with_map;uniform vec2 u_extrude_scale;uniform lowp float u_device_pixel_ratio;uniform highp float u_camera_to_center_distance;attribute vec2 a_pos;varying vec3 v_data;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define mediump float radius\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define highp vec4 stroke_color\n#pragma mapbox: define mediump float stroke_width\n#pragma mapbox: define lowp float stroke_opacity\nvoid main(void) {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize mediump float radius\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize highp vec4 stroke_color\n#pragma mapbox: initialize mediump float stroke_width\n#pragma mapbox: initialize lowp float stroke_opacity\nvec2 extrude=vec2(mod(a_pos,2.0)*2.0-1.0);vec2 circle_center=floor(a_pos*0.5);if (u_pitch_with_map) {vec2 corner_position=circle_center;if (u_scale_with_map) {corner_position+=extrude*(radius+stroke_width)*u_extrude_scale;} else {vec4 projected_center=u_matrix*vec4(circle_center,0,1);corner_position+=extrude*(radius+stroke_width)*u_extrude_scale*(projected_center.w/u_camera_to_center_distance);}gl_Position=u_matrix*vec4(corner_position,0,1);} else {gl_Position=u_matrix*vec4(circle_center,0,1);if (u_scale_with_map) {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*u_camera_to_center_distance;} else {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*gl_Position.w;}}lowp float antialiasblur=1.0/u_device_pixel_ratio/(radius+stroke_width);v_data=vec3(extrude.x,extrude.y,antialiasblur);}"),Ze=vr("void main() {gl_FragColor=vec4(1.0);}","attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}"),Je=vr("uniform highp float u_intensity;varying vec2 v_extrude;\n#pragma mapbox: define highp float weight\n#define GAUSS_COEF 0.3989422804014327\nvoid main() {\n#pragma mapbox: initialize highp float weight\nfloat d=-0.5*3.0*3.0*dot(v_extrude,v_extrude);float val=weight*u_intensity*GAUSS_COEF*exp(d);gl_FragColor=vec4(val,1.0,1.0,1.0);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform float u_extrude_scale;uniform float u_opacity;uniform float u_intensity;attribute vec2 a_pos;varying vec2 v_extrude;\n#pragma mapbox: define highp float weight\n#pragma mapbox: define mediump float radius\nconst highp float ZERO=1.0/255.0/16.0;\n#define GAUSS_COEF 0.3989422804014327\nvoid main(void) {\n#pragma mapbox: initialize highp float weight\n#pragma mapbox: initialize mediump float radius\nvec2 unscaled_extrude=vec2(mod(a_pos,2.0)*2.0-1.0);float S=sqrt(-2.0*log(ZERO/weight/u_intensity/GAUSS_COEF))/3.0;v_extrude=S*unscaled_extrude;vec2 extrude=v_extrude*radius*u_extrude_scale;vec4 pos=vec4(floor(a_pos*0.5)+extrude,0,1);gl_Position=u_matrix*pos;}"),Ke=vr("uniform sampler2D u_image;uniform sampler2D u_color_ramp;uniform float u_opacity;varying vec2 v_pos;void main() {float t=texture2D(u_image,v_pos).r;vec4 color=texture2D(u_color_ramp,vec2(t,0.5));gl_FragColor=color*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(0.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_world;attribute vec2 a_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos*u_world,0,1);v_pos.x=a_pos.x;v_pos.y=1.0-a_pos.y;}"),Qe=vr("varying float v_placed;varying float v_notUsed;void main() {float alpha=0.5;gl_FragColor=vec4(1.0,0.0,0.0,1.0)*alpha;if (v_placed > 0.5) {gl_FragColor=vec4(0.0,0.0,1.0,0.5)*alpha;}if (v_notUsed > 0.5) {gl_FragColor*=.1;}}","attribute vec2 a_pos;attribute vec2 a_anchor_pos;attribute vec2 a_extrude;attribute vec2 a_placed;attribute vec2 a_shift;uniform mat4 u_matrix;uniform vec2 u_extrude_scale;uniform float u_camera_to_center_distance;varying float v_placed;varying float v_notUsed;void main() {vec4 projectedPoint=u_matrix*vec4(a_anchor_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);gl_Position=u_matrix*vec4(a_pos,0.0,1.0);gl_Position.xy+=(a_extrude+a_shift)*u_extrude_scale*gl_Position.w*collision_perspective_ratio;v_placed=a_placed.x;v_notUsed=a_placed.y;}"),$e=vr("varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;void main() {float alpha=0.5*min(v_perspective_ratio,1.0);float stroke_radius=0.9*max(v_perspective_ratio,1.0);float distance_to_center=length(v_extrude);float distance_to_edge=abs(distance_to_center-v_radius);float opacity_t=smoothstep(-stroke_radius,0.0,-distance_to_edge);vec4 color=mix(vec4(0.0,0.0,1.0,0.5),vec4(1.0,0.0,0.0,1.0),v_collision);gl_FragColor=color*alpha*opacity_t;}","attribute vec2 a_pos;attribute float a_radius;attribute vec2 a_flags;uniform mat4 u_matrix;uniform mat4 u_inv_matrix;uniform vec2 u_viewport_size;uniform float u_camera_to_center_distance;varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;vec3 toTilePosition(vec2 screenPos) {vec4 rayStart=u_inv_matrix*vec4(screenPos,-1.0,1.0);vec4 rayEnd =u_inv_matrix*vec4(screenPos, 1.0,1.0);rayStart.xyz/=rayStart.w;rayEnd.xyz /=rayEnd.w;highp float t=(0.0-rayStart.z)/(rayEnd.z-rayStart.z);return mix(rayStart.xyz,rayEnd.xyz,t);}void main() {vec2 quadCenterPos=a_pos;float radius=a_radius;float collision=a_flags.x;float vertexIdx=a_flags.y;vec2 quadVertexOffset=vec2(mix(-1.0,1.0,float(vertexIdx >=2.0)),mix(-1.0,1.0,float(vertexIdx >=1.0 && vertexIdx <=2.0)));vec2 quadVertexExtent=quadVertexOffset*radius;vec3 tilePos=toTilePosition(quadCenterPos);vec4 clipPos=u_matrix*vec4(tilePos,1.0);highp float camera_to_anchor_distance=clipPos.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);float padding_factor=1.2;v_radius=radius;v_extrude=quadVertexExtent*padding_factor;v_perspective_ratio=collision_perspective_ratio;v_collision=collision;gl_Position=vec4(clipPos.xyz/clipPos.w,1.0)+vec4(quadVertexExtent*padding_factor/u_viewport_size*2.0,0.0,0.0);}"),tr=vr("uniform highp vec4 u_color;uniform sampler2D u_overlay;varying vec2 v_uv;void main() {vec4 overlay_color=texture2D(u_overlay,v_uv);gl_FragColor=mix(u_color,overlay_color,overlay_color.a);}","attribute vec2 a_pos;varying vec2 v_uv;uniform mat4 u_matrix;uniform float u_overlay_scale;void main() {v_uv=a_pos/8192.0;gl_Position=u_matrix*vec4(a_pos*u_overlay_scale,0,1);}"),er=vr("#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float opacity\ngl_FragColor=color*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec2 a_pos;uniform mat4 u_matrix;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float opacity\ngl_Position=u_matrix*vec4(a_pos,0,1);}"),rr=vr("varying vec2 v_pos;\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 outline_color\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=outline_color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec2 a_pos;uniform mat4 u_matrix;uniform vec2 u_world;varying vec2 v_pos;\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 outline_color\n#pragma mapbox: initialize lowp float opacity\ngl_Position=u_matrix*vec4(a_pos,0,1);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}"),nr=vr("uniform vec2 u_texsize;uniform sampler2D u_image;uniform float u_fade;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);float dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=mix(color1,color2,u_fade)*alpha*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_world;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;gl_Position=u_matrix*vec4(a_pos,0,1);vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,a_pos);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}"),ir=vr("uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_fade)*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileZoomRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileZoomRatio,a_pos);}"),ar=vr("varying vec4 v_color;void main() {gl_FragColor=v_color;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;uniform float u_vertical_gradient;uniform lowp float u_opacity;attribute vec2 a_pos;attribute vec4 a_normal_ed;varying vec4 v_color;\n#pragma mapbox: define highp float base\n#pragma mapbox: define highp float height\n#pragma mapbox: define highp vec4 color\nvoid main() {\n#pragma mapbox: initialize highp float base\n#pragma mapbox: initialize highp float height\n#pragma mapbox: initialize highp vec4 color\nvec3 normal=a_normal_ed.xyz;base=max(0.0,base);height=max(0.0,height);float t=mod(normal.x,2.0);gl_Position=u_matrix*vec4(a_pos,t > 0.0 ? height : base,1);float colorvalue=color.r*0.2126+color.g*0.7152+color.b*0.0722;v_color=vec4(0.0,0.0,0.0,1.0);vec4 ambientlight=vec4(0.03,0.03,0.03,1.0);color+=ambientlight;float directional=clamp(dot(normal/16384.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((1.0-colorvalue+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_color.r+=clamp(color.r*directional*u_lightcolor.r,mix(0.0,0.3,1.0-u_lightcolor.r),1.0);v_color.g+=clamp(color.g*directional*u_lightcolor.g,mix(0.0,0.3,1.0-u_lightcolor.g),1.0);v_color.b+=clamp(color.b*directional*u_lightcolor.b,mix(0.0,0.3,1.0-u_lightcolor.b),1.0);v_color*=u_opacity;}"),or=vr("uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);vec4 mixedColor=mix(color1,color2,u_fade);gl_FragColor=mixedColor*v_lighting;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_height_factor;uniform vec3 u_scale;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;attribute vec2 a_pos;attribute vec4 a_normal_ed;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec3 normal=a_normal_ed.xyz;float edgedistance=a_normal_ed.w;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;base=max(0.0,base);height=max(0.0,height);float t=mod(normal.x,2.0);float z=t > 0.0 ? height : base;gl_Position=u_matrix*vec4(a_pos,z,1);vec2 pos=normal.x==1.0 && normal.y==0.0 && normal.z==16384.0\n? a_pos\n: vec2(edgedistance,z*u_height_factor);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,pos);v_lighting=vec4(0.0,0.0,0.0,1.0);float directional=clamp(dot(normal/16383.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((0.5+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_lighting.rgb+=clamp(directional*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));v_lighting*=u_opacity;}"),sr=vr("#ifdef GL_ES\nprecision highp float;\n#endif\nuniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_dimension;uniform float u_zoom;uniform float u_maxzoom;uniform vec4 u_unpack;float getElevation(vec2 coord,float bias) {vec4 data=texture2D(u_image,coord)*255.0;data.a=-1.0;return dot(data,u_unpack)/4.0;}void main() {vec2 epsilon=1.0/u_dimension;float a=getElevation(v_pos+vec2(-epsilon.x,-epsilon.y),0.0);float b=getElevation(v_pos+vec2(0,-epsilon.y),0.0);float c=getElevation(v_pos+vec2(epsilon.x,-epsilon.y),0.0);float d=getElevation(v_pos+vec2(-epsilon.x,0),0.0);float e=getElevation(v_pos,0.0);float f=getElevation(v_pos+vec2(epsilon.x,0),0.0);float g=getElevation(v_pos+vec2(-epsilon.x,epsilon.y),0.0);float h=getElevation(v_pos+vec2(0,epsilon.y),0.0);float i=getElevation(v_pos+vec2(epsilon.x,epsilon.y),0.0);float exaggeration=u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;vec2 deriv=vec2((c+f+f+i)-(a+d+d+g),(g+h+h+i)-(a+b+b+c))/ pow(2.0,(u_zoom-u_maxzoom)*exaggeration+19.2562-u_zoom);gl_FragColor=clamp(vec4(deriv.x/2.0+0.5,deriv.y/2.0+0.5,1.0,1.0),0.0,1.0);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_dimension;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);highp vec2 epsilon=1.0/u_dimension;float scale=(u_dimension.x-2.0)/u_dimension.x;v_pos=(a_texture_pos/8192.0)*scale+epsilon;}"),lr=vr("uniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_latrange;uniform vec2 u_light;uniform vec4 u_shadow;uniform vec4 u_highlight;uniform vec4 u_accent;\n#define PI 3.141592653589793\nvoid main() {vec4 pixel=texture2D(u_image,v_pos);vec2 deriv=((pixel.rg*2.0)-1.0);float scaleFactor=cos(radians((u_latrange[0]-u_latrange[1])*(1.0-v_pos.y)+u_latrange[1]));float slope=atan(1.25*length(deriv)/scaleFactor);float aspect=deriv.x !=0.0 ? atan(deriv.y,-deriv.x) : PI/2.0*(deriv.y > 0.0 ? 1.0 :-1.0);float intensity=u_light.x;float azimuth=u_light.y+PI;float base=1.875-intensity*1.75;float maxValue=0.5*PI;float scaledSlope=intensity !=0.5 ? ((pow(base,slope)-1.0)/(pow(base,maxValue)-1.0))*maxValue : slope;float accent=cos(scaledSlope);vec4 accent_color=(1.0-accent)*u_accent*clamp(intensity*2.0,0.0,1.0);float shade=abs(mod((aspect+azimuth)/PI+0.5,2.0)-1.0);vec4 shade_color=mix(u_shadow,u_highlight,shade)*sin(scaledSlope)*clamp(intensity*2.0,0.0,1.0);gl_FragColor=accent_color*(1.0-shade_color.a)+shade_color;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=a_texture_pos/8192.0;}"),cr=vr("uniform lowp float u_device_pixel_ratio;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform vec2 u_units_to_pixels;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp float v_linesofar;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;v_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*2.0;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_width2=vec2(outset,inset);}"),ur=vr("uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;varying highp float v_lineprogress;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);vec4 color=texture2D(u_image,vec2(v_lineprogress,0.5));gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define MAX_LINE_DISTANCE 32767.0\n#define scale 0.015873016\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_units_to_pixels;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp float v_lineprogress;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;v_lineprogress=(floor(a_data.z/4.0)+a_data.w*64.0)*2.0/MAX_LINE_DISTANCE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_width2=vec2(outset,inset);}"),fr=vr("uniform lowp float u_device_pixel_ratio;uniform vec2 u_texsize;uniform float u_fade;uniform mediump vec3 u_scale;uniform sampler2D u_image;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;vec2 pattern_size_a=vec2(display_size_a.x*fromScale/tileZoomRatio,display_size_a.y);vec2 pattern_size_b=vec2(display_size_b.x*toScale/tileZoomRatio,display_size_b.y);float aspect_a=display_size_a.y/v_width;float aspect_b=display_size_b.y/v_width;float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float x_a=mod(v_linesofar/pattern_size_a.x*aspect_a,1.0);float x_b=mod(v_linesofar/pattern_size_b.x*aspect_b,1.0);float y=0.5*v_normal.y+0.5;vec2 texel_size=1.0/u_texsize;vec2 pos_a=mix(pattern_tl_a*texel_size-texel_size,pattern_br_a*texel_size+texel_size,vec2(x_a,y));vec2 pos_b=mix(pattern_tl_b*texel_size-texel_size,pattern_br_b*texel_size+texel_size,vec2(x_b,y));vec4 color=mix(texture2D(u_image,pos_a),texture2D(u_image,pos_b),u_fade);gl_FragColor=color*alpha*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\n#define LINE_DISTANCE_SCALE 2.0\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform vec2 u_units_to_pixels;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;}"),hr=vr("uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;uniform float u_sdfgamma;uniform float u_mix;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float sdfdist_a=texture2D(u_image,v_tex_a).a;float sdfdist_b=texture2D(u_image,v_tex_b).a;float sdfdist=mix(sdfdist_a,sdfdist_b,u_mix);alpha*=smoothstep(0.5-u_sdfgamma/floorwidth,0.5+u_sdfgamma/floorwidth,sdfdist);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\n#define LINE_DISTANCE_SCALE 2.0\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_patternscale_a;uniform float u_tex_y_a;uniform vec2 u_patternscale_b;uniform float u_tex_y_b;uniform vec2 u_units_to_pixels;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_tex_a=vec2(a_linesofar*u_patternscale_a.x/floorwidth,normal.y*u_patternscale_a.y+u_tex_y_a);v_tex_b=vec2(a_linesofar*u_patternscale_b.x/floorwidth,normal.y*u_patternscale_b.y+u_tex_y_b);v_width2=vec2(outset,inset);}"),pr=vr("uniform float u_fade_t;uniform float u_opacity;uniform sampler2D u_image0;uniform sampler2D u_image1;varying vec2 v_pos0;varying vec2 v_pos1;uniform float u_brightness_low;uniform float u_brightness_high;uniform float u_saturation_factor;uniform float u_contrast_factor;uniform vec3 u_spin_weights;void main() {vec4 color0=texture2D(u_image0,v_pos0);vec4 color1=texture2D(u_image1,v_pos1);if (color0.a > 0.0) {color0.rgb=color0.rgb/color0.a;}if (color1.a > 0.0) {color1.rgb=color1.rgb/color1.a;}vec4 color=mix(color0,color1,u_fade_t);color.a*=u_opacity;vec3 rgb=color.rgb;rgb=vec3(dot(rgb,u_spin_weights.xyz),dot(rgb,u_spin_weights.zxy),dot(rgb,u_spin_weights.yzx));float average=(color.r+color.g+color.b)/3.0;rgb+=(average-rgb)*u_saturation_factor;rgb=(rgb-0.5)*u_contrast_factor+0.5;vec3 u_high_vec=vec3(u_brightness_low,u_brightness_low,u_brightness_low);vec3 u_low_vec=vec3(u_brightness_high,u_brightness_high,u_brightness_high);gl_FragColor=vec4(mix(u_high_vec,u_low_vec,rgb)*color.a,color.a);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_tl_parent;uniform float u_scale_parent;uniform float u_buffer_scale;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos0;varying vec2 v_pos1;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos0=(((a_texture_pos/8192.0)-0.5)/u_buffer_scale )+0.5;v_pos1=(v_pos0*u_scale_parent)+u_tl_parent;}"),dr=vr("uniform sampler2D u_texture;varying vec2 v_tex;varying float v_fade_opacity;\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\nlowp float alpha=opacity*v_fade_opacity;gl_FragColor=texture2D(u_texture,v_tex)*alpha;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform highp float u_camera_to_center_distance;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform float u_fade_change;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform vec2 u_texsize;varying vec2 v_tex;varying float v_fade_opacity;\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;vec2 a_minFontScale=a_pixeloffset.zw/256.0;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*max(a_minFontScale,fontScale)+a_pxoffset/16.0),0.0,1.0);v_tex=a_tex/u_texsize;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;v_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));}"),gr=vr("#define SDF_PX 8.0\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;uniform bool u_is_text;varying vec2 v_data0;varying vec3 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nfloat EDGE_GAMMA=0.105/u_device_pixel_ratio;vec2 tex=v_data0.xy;float gamma_scale=v_data1.x;float size=v_data1.y;float fade_opacity=v_data1[2];float fontScale=u_is_text ? size/24.0 : size;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;varying vec2 v_data0;varying vec3 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale+a_pxoffset),0.0,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));v_data0=a_tex/u_texsize;v_data1=vec3(gamma_scale,size,interpolated_fade_opacity);}"),mr=vr("#define SDF_PX 8.0\n#define SDF 1.0\n#define ICON 0.0\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform sampler2D u_texture_icon;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;varying vec4 v_data0;varying vec4 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nfloat fade_opacity=v_data1[2];if (v_data1.w==ICON) {vec2 tex_icon=v_data0.zw;lowp float alpha=opacity*fade_opacity;gl_FragColor=texture2D(u_texture_icon,tex_icon)*alpha;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\nreturn;}vec2 tex=v_data0.xy;float EDGE_GAMMA=0.105/u_device_pixel_ratio;float gamma_scale=v_data1.x;float size=v_data1.y;float fontScale=size/24.0;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec2 u_texsize_icon;varying vec4 v_data0;varying vec4 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);float is_sdf=a_size[0]-2.0*a_size_min;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=size/24.0;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale),0.0,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));v_data0.xy=a_tex/u_texsize;v_data0.zw=a_tex/u_texsize_icon;v_data1=vec4(gamma_scale,size,interpolated_fade_opacity,is_sdf);}");function vr(t,e){var r=/#pragma mapbox: ([\w]+) ([\w]+) ([\w]+) ([\w]+)/g,n={};return{fragmentSource:t=t.replace(r,(function(t,e,r,i,a){return n[a]=!0,"define"===e?"\n#ifndef HAS_UNIFORM_u_"+a+"\nvarying "+r+" "+i+" "+a+";\n#else\nuniform "+r+" "+i+" u_"+a+";\n#endif\n":"\n#ifdef HAS_UNIFORM_u_"+a+"\n "+r+" "+i+" "+a+" = u_"+a+";\n#endif\n"})),vertexSource:e=e.replace(r,(function(t,e,r,i,a){var o="float"===i?"vec2":"vec4",s=a.match(/color/)?"color":o;return n[a]?"define"===e?"\n#ifndef HAS_UNIFORM_u_"+a+"\nuniform lowp float u_"+a+"_t;\nattribute "+r+" "+o+" a_"+a+";\nvarying "+r+" "+i+" "+a+";\n#else\nuniform "+r+" "+i+" u_"+a+";\n#endif\n":"vec4"===s?"\n#ifndef HAS_UNIFORM_u_"+a+"\n "+a+" = a_"+a+";\n#else\n "+r+" "+i+" "+a+" = u_"+a+";\n#endif\n":"\n#ifndef HAS_UNIFORM_u_"+a+"\n "+a+" = unpack_mix_"+s+"(a_"+a+", u_"+a+"_t);\n#else\n "+r+" "+i+" "+a+" = u_"+a+";\n#endif\n":"define"===e?"\n#ifndef HAS_UNIFORM_u_"+a+"\nuniform lowp float u_"+a+"_t;\nattribute "+r+" "+o+" a_"+a+";\n#else\nuniform "+r+" "+i+" u_"+a+";\n#endif\n":"vec4"===s?"\n#ifndef HAS_UNIFORM_u_"+a+"\n "+r+" "+i+" "+a+" = a_"+a+";\n#else\n "+r+" "+i+" "+a+" = u_"+a+";\n#endif\n":"\n#ifndef HAS_UNIFORM_u_"+a+"\n "+r+" "+i+" "+a+" = unpack_mix_"+s+"(a_"+a+", u_"+a+"_t);\n#else\n "+r+" "+i+" "+a+" = u_"+a+";\n#endif\n"}))}}var yr=Object.freeze({__proto__:null,prelude:Ge,background:Ye,backgroundPattern:We,circle:Xe,clippingMask:Ze,heatmap:Je,heatmapTexture:Ke,collisionBox:Qe,collisionCircle:$e,debug:tr,fill:er,fillOutline:rr,fillOutlinePattern:nr,fillPattern:ir,fillExtrusion:ar,fillExtrusionPattern:or,hillshadePrepare:sr,hillshade:lr,line:cr,lineGradient:ur,linePattern:fr,lineSDF:hr,raster:pr,symbolIcon:dr,symbolSDF:gr,symbolTextAndIcon:mr}),xr=function(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null};xr.prototype.bind=function(t,e,r,n,i,a,o,s){this.context=t;for(var l=this.boundPaintVertexBuffers.length!==n.length,c=0;!l&&c<n.length;c++)this.boundPaintVertexBuffers[c]!==n[c]&&(l=!0);t.extVertexArrayObject&&this.vao&&this.boundProgram===e&&this.boundLayoutVertexBuffer===r&&!l&&this.boundIndexBuffer===i&&this.boundVertexOffset===a&&this.boundDynamicVertexBuffer===o&&this.boundDynamicVertexBuffer2===s?(t.bindVertexArrayOES.set(this.vao),o&&o.bind(),i&&i.dynamicDraw&&i.bind(),s&&s.bind()):this.freshBind(e,r,n,i,a,o,s)},xr.prototype.freshBind=function(t,e,r,n,i,a,o){var s,l=t.numAttributes,c=this.context,u=c.gl;if(c.extVertexArrayObject)this.vao&&this.destroy(),this.vao=c.extVertexArrayObject.createVertexArrayOES(),c.bindVertexArrayOES.set(this.vao),s=0,this.boundProgram=t,this.boundLayoutVertexBuffer=e,this.boundPaintVertexBuffers=r,this.boundIndexBuffer=n,this.boundVertexOffset=i,this.boundDynamicVertexBuffer=a,this.boundDynamicVertexBuffer2=o;else{s=c.currentNumAttributes||0;for(var f=l;f<s;f++)u.disableVertexAttribArray(f)}e.enableAttributes(u,t);for(var h=0,p=r;h<p.length;h+=1)p[h].enableAttributes(u,t);a&&a.enableAttributes(u,t),o&&o.enableAttributes(u,t),e.bind(),e.setVertexAttribPointers(u,t,i);for(var d=0,g=r;d<g.length;d+=1){var m=g[d];m.bind(),m.setVertexAttribPointers(u,t,i)}a&&(a.bind(),a.setVertexAttribPointers(u,t,i)),n&&n.bind(),o&&(o.bind(),o.setVertexAttribPointers(u,t,i)),c.currentNumAttributes=l},xr.prototype.destroy=function(){this.vao&&(this.context.extVertexArrayObject.deleteVertexArrayOES(this.vao),this.vao=null)};var br=function(t,e,r,n,i){var a=t.gl;this.program=a.createProgram();var o=r?r.defines():[];i&&o.push("#define OVERDRAW_INSPECTOR;");var s=o.concat(Ge.fragmentSource,e.fragmentSource).join("\n"),l=o.concat(Ge.vertexSource,e.vertexSource).join("\n"),c=a.createShader(a.FRAGMENT_SHADER);if(a.isContextLost())this.failedToCreate=!0;else{a.shaderSource(c,s),a.compileShader(c),a.attachShader(this.program,c);var u=a.createShader(a.VERTEX_SHADER);if(a.isContextLost())this.failedToCreate=!0;else{a.shaderSource(u,l),a.compileShader(u),a.attachShader(this.program,u);for(var f=r?r.layoutAttributes:[],h=0;h<f.length;h++)a.bindAttribLocation(this.program,h,f[h].name);a.linkProgram(this.program),a.deleteShader(u),a.deleteShader(c),this.numAttributes=a.getProgramParameter(this.program,a.ACTIVE_ATTRIBUTES),this.attributes={};for(var p={},d=0;d<this.numAttributes;d++){var g=a.getActiveAttrib(this.program,d);g&&(this.attributes[g.name]=a.getAttribLocation(this.program,g.name))}for(var m=a.getProgramParameter(this.program,a.ACTIVE_UNIFORMS),v=0;v<m;v++){var y=a.getActiveUniform(this.program,v);y&&(p[y.name]=a.getUniformLocation(this.program,y.name))}this.fixedUniforms=n(t,p),this.binderUniforms=r?r.getUniforms(t,p):[]}}};function _r(t,e,r){var n=1/he(r,1,e.transform.tileZoom),i=Math.pow(2,r.tileID.overscaledZ),a=r.tileSize*Math.pow(2,e.transform.tileZoom)/i,o=a*(r.tileID.canonical.x+r.tileID.wrap*i),s=a*r.tileID.canonical.y;return{u_image:0,u_texsize:r.imageAtlasTexture.size,u_scale:[n,t.fromScale,t.toScale],u_fade:t.t,u_pixel_coord_upper:[o>>16,s>>16],u_pixel_coord_lower:[65535&o,65535&s]}}br.prototype.draw=function(t,e,r,n,i,a,o,s,l,c,u,f,h,p,d,g){var m,v=t.gl;if(!this.failedToCreate){for(var y in t.program.set(this.program),t.setDepthMode(r),t.setStencilMode(n),t.setColorMode(i),t.setCullFace(a),this.fixedUniforms)this.fixedUniforms[y].set(o[y]);p&&p.setUniforms(t,this.binderUniforms,f,{zoom:h});for(var x=(m={},m[v.LINES]=2,m[v.TRIANGLES]=3,m[v.LINE_STRIP]=1,m)[e],b=0,_=u.get();b<_.length;b+=1){var w=_[b],T=w.vaos||(w.vaos={});(T[s]||(T[s]=new xr)).bind(t,this,l,p?p.getPaintVertexBuffers():[],c,w.vertexOffset,d,g),v.drawElements(e,w.primitiveLength*x,v.UNSIGNED_SHORT,w.primitiveOffset*x*2)}}};var wr=function(e,r,n,i){var a=r.style.light,o=a.properties.get("position"),s=[o.x,o.y,o.z],l=t.create$1();"viewport"===a.properties.get("anchor")&&t.fromRotation(l,-r.transform.angle),t.transformMat3(s,s,l);var c=a.properties.get("color");return{u_matrix:e,u_lightpos:s,u_lightintensity:a.properties.get("intensity"),u_lightcolor:[c.r,c.g,c.b],u_vertical_gradient:+n,u_opacity:i}},Tr=function(e,r,n,i,a,o,s){return t.extend(wr(e,r,n,i),_r(o,r,s),{u_height_factor:-Math.pow(2,a.overscaledZ)/s.tileSize/8})},kr=function(t){return{u_matrix:t}},Mr=function(e,r,n,i){return t.extend(kr(e),_r(n,r,i))},Ar=function(t,e){return{u_matrix:t,u_world:e}},Sr=function(e,r,n,i,a){return t.extend(Mr(e,r,n,i),{u_world:a})},Er=function(e,r,n,i){var a,o,s=e.transform;if("map"===i.paint.get("circle-pitch-alignment")){var l=he(n,1,s.zoom);a=!0,o=[l,l]}else a=!1,o=s.pixelsToGLUnits;return{u_camera_to_center_distance:s.cameraToCenterDistance,u_scale_with_map:+("map"===i.paint.get("circle-pitch-scale")),u_matrix:e.translatePosMatrix(r.posMatrix,n,i.paint.get("circle-translate"),i.paint.get("circle-translate-anchor")),u_pitch_with_map:+a,u_device_pixel_ratio:t.browser.devicePixelRatio,u_extrude_scale:o}},Cr=function(t,e,r){var n=he(r,1,e.zoom),i=Math.pow(2,e.zoom-r.tileID.overscaledZ),a=r.tileID.overscaleFactor();return{u_matrix:t,u_camera_to_center_distance:e.cameraToCenterDistance,u_pixels_to_tile_units:n,u_extrude_scale:[e.pixelsToGLUnits[0]/(n*i),e.pixelsToGLUnits[1]/(n*i)],u_overscale_factor:a}},Lr=function(t,e,r){return{u_matrix:t,u_inv_matrix:e,u_camera_to_center_distance:r.cameraToCenterDistance,u_viewport_size:[r.width,r.height]}},Ir=function(t,e,r){return void 0===r&&(r=1),{u_matrix:t,u_color:e,u_overlay:0,u_overlay_scale:r}},Pr=function(t){return{u_matrix:t}},zr=function(t,e,r,n){return{u_matrix:t,u_extrude_scale:he(e,1,r),u_intensity:n}},Or=function(e,r,n){var i=e.transform;return{u_matrix:Nr(e,r,n),u_ratio:1/he(r,1,i.zoom),u_device_pixel_ratio:t.browser.devicePixelRatio,u_units_to_pixels:[1/i.pixelsToGLUnits[0],1/i.pixelsToGLUnits[1]]}},Dr=function(e,r,n){return t.extend(Or(e,r,n),{u_image:0})},Rr=function(e,r,n,i){var a=e.transform,o=Br(r,a);return{u_matrix:Nr(e,r,n),u_texsize:r.imageAtlasTexture.size,u_ratio:1/he(r,1,a.zoom),u_device_pixel_ratio:t.browser.devicePixelRatio,u_image:0,u_scale:[o,i.fromScale,i.toScale],u_fade:i.t,u_units_to_pixels:[1/a.pixelsToGLUnits[0],1/a.pixelsToGLUnits[1]]}},Fr=function(e,r,n,i,a){var o=e.lineAtlas,s=Br(r,e.transform),l="round"===n.layout.get("line-cap"),c=o.getDash(i.from,l),u=o.getDash(i.to,l),f=c.width*a.fromScale,h=u.width*a.toScale;return t.extend(Or(e,r,n),{u_patternscale_a:[s/f,-c.height/2],u_patternscale_b:[s/h,-u.height/2],u_sdfgamma:o.width/(256*Math.min(f,h)*t.browser.devicePixelRatio)/2,u_image:0,u_tex_y_a:c.y,u_tex_y_b:u.y,u_mix:a.t})};function Br(t,e){return 1/he(t,1,e.tileZoom)}function Nr(t,e,r){return t.translatePosMatrix(e.tileID.posMatrix,e,r.paint.get("line-translate"),r.paint.get("line-translate-anchor"))}var jr=function(t,e,r,n,i){return{u_matrix:t,u_tl_parent:e,u_scale_parent:r,u_buffer_scale:1,u_fade_t:n.mix,u_opacity:n.opacity*i.paint.get("raster-opacity"),u_image0:0,u_image1:1,u_brightness_low:i.paint.get("raster-brightness-min"),u_brightness_high:i.paint.get("raster-brightness-max"),u_saturation_factor:(o=i.paint.get("raster-saturation"),o>0?1-1/(1.001-o):-o),u_contrast_factor:(a=i.paint.get("raster-contrast"),a>0?1/(1-a):1+a),u_spin_weights:Ur(i.paint.get("raster-hue-rotate"))};var a,o};function Ur(t){t*=Math.PI/180;var e=Math.sin(t),r=Math.cos(t);return[(2*r+1)/3,(-Math.sqrt(3)*e-r+1)/3,(Math.sqrt(3)*e-r+1)/3]}var Vr,qr=function(t,e,r,n,i,a,o,s,l,c){var u=i.transform;return{u_is_size_zoom_constant:+("constant"===t||"source"===t),u_is_size_feature_constant:+("constant"===t||"camera"===t),u_size_t:e?e.uSizeT:0,u_size:e?e.uSize:0,u_camera_to_center_distance:u.cameraToCenterDistance,u_pitch:u.pitch/360*2*Math.PI,u_rotate_symbol:+r,u_aspect_ratio:u.width/u.height,u_fade_change:i.options.fadeDuration?i.symbolFadeChange:1,u_matrix:a,u_label_plane_matrix:o,u_coord_matrix:s,u_is_text:+l,u_pitch_with_map:+n,u_texsize:c,u_texture:0}},Hr=function(e,r,n,i,a,o,s,l,c,u,f){var h=a.transform;return t.extend(qr(e,r,n,i,a,o,s,l,c,u),{u_gamma_scale:i?Math.cos(h._pitch)*h.cameraToCenterDistance:1,u_device_pixel_ratio:t.browser.devicePixelRatio,u_is_halo:+f})},Gr=function(e,r,n,i,a,o,s,l,c,u){return t.extend(Hr(e,r,n,i,a,o,s,l,!0,c,!0),{u_texsize_icon:u,u_texture_icon:1})},Yr=function(t,e,r){return{u_matrix:t,u_opacity:e,u_color:r}},Wr=function(e,r,n,i,a,o){return t.extend(function(t,e,r,n){var i=r.imageManager.getPattern(t.from.toString()),a=r.imageManager.getPattern(t.to.toString()),o=r.imageManager.getPixelSize(),s=o.width,l=o.height,c=Math.pow(2,n.tileID.overscaledZ),u=n.tileSize*Math.pow(2,r.transform.tileZoom)/c,f=u*(n.tileID.canonical.x+n.tileID.wrap*c),h=u*n.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:i.tl,u_pattern_br_a:i.br,u_pattern_tl_b:a.tl,u_pattern_br_b:a.br,u_texsize:[s,l],u_mix:e.t,u_pattern_size_a:i.displaySize,u_pattern_size_b:a.displaySize,u_scale_a:e.fromScale,u_scale_b:e.toScale,u_tile_units_to_pixels:1/he(n,1,r.transform.tileZoom),u_pixel_coord_upper:[f>>16,h>>16],u_pixel_coord_lower:[65535&f,65535&h]}}(i,o,n,a),{u_matrix:e,u_opacity:r})},Xr={fillExtrusion:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_lightpos:new t.Uniform3f(e,r.u_lightpos),u_lightintensity:new t.Uniform1f(e,r.u_lightintensity),u_lightcolor:new t.Uniform3f(e,r.u_lightcolor),u_vertical_gradient:new t.Uniform1f(e,r.u_vertical_gradient),u_opacity:new t.Uniform1f(e,r.u_opacity)}},fillExtrusionPattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_lightpos:new t.Uniform3f(e,r.u_lightpos),u_lightintensity:new t.Uniform1f(e,r.u_lightintensity),u_lightcolor:new t.Uniform3f(e,r.u_lightcolor),u_vertical_gradient:new t.Uniform1f(e,r.u_vertical_gradient),u_height_factor:new t.Uniform1f(e,r.u_height_factor),u_image:new t.Uniform1i(e,r.u_image),u_texsize:new t.Uniform2f(e,r.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,r.u_pixel_coord_lower),u_scale:new t.Uniform3f(e,r.u_scale),u_fade:new t.Uniform1f(e,r.u_fade),u_opacity:new t.Uniform1f(e,r.u_opacity)}},fill:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},fillPattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_image:new t.Uniform1i(e,r.u_image),u_texsize:new t.Uniform2f(e,r.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,r.u_pixel_coord_lower),u_scale:new t.Uniform3f(e,r.u_scale),u_fade:new t.Uniform1f(e,r.u_fade)}},fillOutline:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_world:new t.Uniform2f(e,r.u_world)}},fillOutlinePattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_world:new t.Uniform2f(e,r.u_world),u_image:new t.Uniform1i(e,r.u_image),u_texsize:new t.Uniform2f(e,r.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,r.u_pixel_coord_lower),u_scale:new t.Uniform3f(e,r.u_scale),u_fade:new t.Uniform1f(e,r.u_fade)}},circle:function(e,r){return{u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_scale_with_map:new t.Uniform1i(e,r.u_scale_with_map),u_pitch_with_map:new t.Uniform1i(e,r.u_pitch_with_map),u_extrude_scale:new t.Uniform2f(e,r.u_extrude_scale),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},collisionBox:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_pixels_to_tile_units:new t.Uniform1f(e,r.u_pixels_to_tile_units),u_extrude_scale:new t.Uniform2f(e,r.u_extrude_scale),u_overscale_factor:new t.Uniform1f(e,r.u_overscale_factor)}},collisionCircle:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_inv_matrix:new t.UniformMatrix4f(e,r.u_inv_matrix),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_viewport_size:new t.Uniform2f(e,r.u_viewport_size)}},debug:function(e,r){return{u_color:new t.UniformColor(e,r.u_color),u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_overlay:new t.Uniform1i(e,r.u_overlay),u_overlay_scale:new t.Uniform1f(e,r.u_overlay_scale)}},clippingMask:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},heatmap:function(e,r){return{u_extrude_scale:new t.Uniform1f(e,r.u_extrude_scale),u_intensity:new t.Uniform1f(e,r.u_intensity),u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},heatmapTexture:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_world:new t.Uniform2f(e,r.u_world),u_image:new t.Uniform1i(e,r.u_image),u_color_ramp:new t.Uniform1i(e,r.u_color_ramp),u_opacity:new t.Uniform1f(e,r.u_opacity)}},hillshade:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_image:new t.Uniform1i(e,r.u_image),u_latrange:new t.Uniform2f(e,r.u_latrange),u_light:new t.Uniform2f(e,r.u_light),u_shadow:new t.UniformColor(e,r.u_shadow),u_highlight:new t.UniformColor(e,r.u_highlight),u_accent:new t.UniformColor(e,r.u_accent)}},hillshadePrepare:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_image:new t.Uniform1i(e,r.u_image),u_dimension:new t.Uniform2f(e,r.u_dimension),u_zoom:new t.Uniform1f(e,r.u_zoom),u_maxzoom:new t.Uniform1f(e,r.u_maxzoom),u_unpack:new t.Uniform4f(e,r.u_unpack)}},line:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_ratio:new t.Uniform1f(e,r.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,r.u_units_to_pixels)}},lineGradient:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_ratio:new t.Uniform1f(e,r.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,r.u_units_to_pixels),u_image:new t.Uniform1i(e,r.u_image)}},linePattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_texsize:new t.Uniform2f(e,r.u_texsize),u_ratio:new t.Uniform1f(e,r.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_image:new t.Uniform1i(e,r.u_image),u_units_to_pixels:new t.Uniform2f(e,r.u_units_to_pixels),u_scale:new t.Uniform3f(e,r.u_scale),u_fade:new t.Uniform1f(e,r.u_fade)}},lineSDF:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_ratio:new t.Uniform1f(e,r.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,r.u_units_to_pixels),u_patternscale_a:new t.Uniform2f(e,r.u_patternscale_a),u_patternscale_b:new t.Uniform2f(e,r.u_patternscale_b),u_sdfgamma:new t.Uniform1f(e,r.u_sdfgamma),u_image:new t.Uniform1i(e,r.u_image),u_tex_y_a:new t.Uniform1f(e,r.u_tex_y_a),u_tex_y_b:new t.Uniform1f(e,r.u_tex_y_b),u_mix:new t.Uniform1f(e,r.u_mix)}},raster:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_tl_parent:new t.Uniform2f(e,r.u_tl_parent),u_scale_parent:new t.Uniform1f(e,r.u_scale_parent),u_buffer_scale:new t.Uniform1f(e,r.u_buffer_scale),u_fade_t:new t.Uniform1f(e,r.u_fade_t),u_opacity:new t.Uniform1f(e,r.u_opacity),u_image0:new t.Uniform1i(e,r.u_image0),u_image1:new t.Uniform1i(e,r.u_image1),u_brightness_low:new t.Uniform1f(e,r.u_brightness_low),u_brightness_high:new t.Uniform1f(e,r.u_brightness_high),u_saturation_factor:new t.Uniform1f(e,r.u_saturation_factor),u_contrast_factor:new t.Uniform1f(e,r.u_contrast_factor),u_spin_weights:new t.Uniform3f(e,r.u_spin_weights)}},symbolIcon:function(e,r){return{u_is_size_zoom_constant:new t.Uniform1i(e,r.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,r.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,r.u_size_t),u_size:new t.Uniform1f(e,r.u_size),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,r.u_pitch),u_rotate_symbol:new t.Uniform1i(e,r.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,r.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,r.u_fade_change),u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,r.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,r.u_coord_matrix),u_is_text:new t.Uniform1i(e,r.u_is_text),u_pitch_with_map:new t.Uniform1i(e,r.u_pitch_with_map),u_texsize:new t.Uniform2f(e,r.u_texsize),u_texture:new t.Uniform1i(e,r.u_texture)}},symbolSDF:function(e,r){return{u_is_size_zoom_constant:new t.Uniform1i(e,r.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,r.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,r.u_size_t),u_size:new t.Uniform1f(e,r.u_size),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,r.u_pitch),u_rotate_symbol:new t.Uniform1i(e,r.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,r.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,r.u_fade_change),u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,r.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,r.u_coord_matrix),u_is_text:new t.Uniform1i(e,r.u_is_text),u_pitch_with_map:new t.Uniform1i(e,r.u_pitch_with_map),u_texsize:new t.Uniform2f(e,r.u_texsize),u_texture:new t.Uniform1i(e,r.u_texture),u_gamma_scale:new t.Uniform1f(e,r.u_gamma_scale),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_is_halo:new t.Uniform1i(e,r.u_is_halo)}},symbolTextAndIcon:function(e,r){return{u_is_size_zoom_constant:new t.Uniform1i(e,r.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,r.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,r.u_size_t),u_size:new t.Uniform1f(e,r.u_size),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,r.u_pitch),u_rotate_symbol:new t.Uniform1i(e,r.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,r.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,r.u_fade_change),u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,r.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,r.u_coord_matrix),u_is_text:new t.Uniform1i(e,r.u_is_text),u_pitch_with_map:new t.Uniform1i(e,r.u_pitch_with_map),u_texsize:new t.Uniform2f(e,r.u_texsize),u_texsize_icon:new t.Uniform2f(e,r.u_texsize_icon),u_texture:new t.Uniform1i(e,r.u_texture),u_texture_icon:new t.Uniform1i(e,r.u_texture_icon),u_gamma_scale:new t.Uniform1f(e,r.u_gamma_scale),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_is_halo:new t.Uniform1i(e,r.u_is_halo)}},background:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_opacity:new t.Uniform1f(e,r.u_opacity),u_color:new t.UniformColor(e,r.u_color)}},backgroundPattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_opacity:new t.Uniform1f(e,r.u_opacity),u_image:new t.Uniform1i(e,r.u_image),u_pattern_tl_a:new t.Uniform2f(e,r.u_pattern_tl_a),u_pattern_br_a:new t.Uniform2f(e,r.u_pattern_br_a),u_pattern_tl_b:new t.Uniform2f(e,r.u_pattern_tl_b),u_pattern_br_b:new t.Uniform2f(e,r.u_pattern_br_b),u_texsize:new t.Uniform2f(e,r.u_texsize),u_mix:new t.Uniform1f(e,r.u_mix),u_pattern_size_a:new t.Uniform2f(e,r.u_pattern_size_a),u_pattern_size_b:new t.Uniform2f(e,r.u_pattern_size_b),u_scale_a:new t.Uniform1f(e,r.u_scale_a),u_scale_b:new t.Uniform1f(e,r.u_scale_b),u_pixel_coord_upper:new t.Uniform2f(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,r.u_pixel_coord_lower),u_tile_units_to_pixels:new t.Uniform1f(e,r.u_tile_units_to_pixels)}}};function Zr(e,r,n,i,a,o,s){for(var l=e.context,c=l.gl,u=e.useProgram("collisionBox"),f=[],h=0,p=0,d=0;d<i.length;d++){var g=i[d],m=r.getTile(g),v=m.getBucket(n);if(v){var y=g.posMatrix;0===a[0]&&0===a[1]||(y=e.translatePosMatrix(g.posMatrix,m,a,o));var x=s?v.textCollisionBox:v.iconCollisionBox,b=v.collisionCircleArray;if(b.length>0){var _=t.create(),w=y;t.mul(_,v.placementInvProjMatrix,e.transform.glCoordMatrix),t.mul(_,_,v.placementViewportMatrix),f.push({circleArray:b,circleOffset:p,transform:w,invTransform:_}),p=h+=b.length/4}x&&u.draw(l,c.LINES,Mt.disabled,At.disabled,e.colorModeForRenderPass(),Et.disabled,Cr(y,e.transform,m),n.id,x.layoutVertexBuffer,x.indexBuffer,x.segments,null,e.transform.zoom,null,null,x.collisionVertexBuffer)}}if(s&&f.length){var T=e.useProgram("collisionCircle"),k=new t.StructArrayLayout2f1f2i16;k.resize(4*h),k._trim();for(var M=0,A=0,S=f;A<S.length;A+=1)for(var E=S[A],C=0;C<E.circleArray.length/4;C++){var L=4*C,I=E.circleArray[L+0],P=E.circleArray[L+1],z=E.circleArray[L+2],O=E.circleArray[L+3];k.emplace(M++,I,P,z,O,0),k.emplace(M++,I,P,z,O,1),k.emplace(M++,I,P,z,O,2),k.emplace(M++,I,P,z,O,3)}(!Vr||Vr.length<2*h)&&(Vr=function(e){var r=2*e,n=new t.StructArrayLayout3ui6;n.resize(r),n._trim();for(var i=0;i<r;i++){var a=6*i;n.uint16[a+0]=4*i+0,n.uint16[a+1]=4*i+1,n.uint16[a+2]=4*i+2,n.uint16[a+3]=4*i+2,n.uint16[a+4]=4*i+3,n.uint16[a+5]=4*i+0}return n}(h));for(var D=l.createIndexBuffer(Vr,!0),R=l.createVertexBuffer(k,t.collisionCircleLayout.members,!0),F=0,B=f;F<B.length;F+=1){var N=B[F],j=Lr(N.transform,N.invTransform,e.transform);T.draw(l,c.TRIANGLES,Mt.disabled,At.disabled,e.colorModeForRenderPass(),Et.disabled,j,n.id,R,D,t.SegmentVector.simpleSegment(0,2*N.circleOffset,N.circleArray.length,N.circleArray.length/2),null,e.transform.zoom,null,null,null)}R.destroy(),D.destroy()}}var Jr=t.identity(new Float32Array(16));function Kr(e,r,n,i,a,o){var s=t.getAnchorAlignment(e),l=-(s.horizontalAlign-.5)*r,c=-(s.verticalAlign-.5)*n,u=t.evaluateVariableOffset(e,i);return new t.Point((l/a+u[0])*o,(c/a+u[1])*o)}function Qr(e,r,n,i,a,o,s,l,c,u,f){var h=e.text.placedSymbolArray,p=e.text.dynamicLayoutVertexArray,d=e.icon.dynamicLayoutVertexArray,g={};p.clear();for(var m=0;m<h.length;m++){var v=h.get(m),y=v.hidden||!v.crossTileID||e.allowVerticalPlacement&&!v.placedOrientation?null:i[v.crossTileID];if(y){var x=new t.Point(v.anchorX,v.anchorY),b=$t(x,n?l:s),_=te(o.cameraToCenterDistance,b.signedDistanceFromCamera),w=a.evaluateSizeForFeature(e.textSizeData,u,v)*_/t.ONE_EM;n&&(w*=e.tilePixelRatio/c);for(var T=Kr(y.anchor,y.width,y.height,y.textOffset,y.textBoxScale,w),k=n?$t(x.add(T),s).point:b.point.add(r?T.rotate(-o.angle):T),M=e.allowVerticalPlacement&&v.placedOrientation===t.WritingMode.vertical?Math.PI/2:0,A=0;A<v.numGlyphs;A++)t.addDynamicAttributes(p,k,M);f&&v.associatedIconIndex>=0&&(g[v.associatedIconIndex]={shiftedAnchor:k,angle:M})}else ce(v.numGlyphs,p)}if(f){d.clear();for(var S=e.icon.placedSymbolArray,E=0;E<S.length;E++){var C=S.get(E);if(C.hidden)ce(C.numGlyphs,d);else{var L=g[E];if(L)for(var I=0;I<C.numGlyphs;I++)t.addDynamicAttributes(d,L.shiftedAnchor,L.angle);else ce(C.numGlyphs,d)}}e.icon.dynamicLayoutVertexBuffer.updateData(d)}e.text.dynamicLayoutVertexBuffer.updateData(p)}function $r(t,e,r){return r.iconsInText&&e?"symbolTextAndIcon":t?"symbolSDF":"symbolIcon"}function tn(e,r,n,i,a,o,s,l,c,u,f,h){for(var p=e.context,d=p.gl,g=e.transform,m="map"===l,v="map"===c,y=m&&"point"!==n.layout.get("symbol-placement"),x=m&&!v&&!y,b=void 0!==n.layout.get("symbol-sort-key").constantOr(1),_=e.depthModeForSublayer(0,Mt.ReadOnly),w=n.layout.get("text-variable-anchor"),T=[],k=0,M=i;k<M.length;k+=1){var A=M[k],S=r.getTile(A),E=S.getBucket(n);if(E){var C=a?E.text:E.icon;if(C&&C.segments.get().length){var L=C.programConfigurations.get(n.id),I=a||E.sdfIcons,P=a?E.textSizeData:E.iconSizeData,z=v||0!==g.pitch,O=e.useProgram($r(I,a,E),L),D=t.evaluateSizeForZoom(P,g.zoom),R=void 0,F=[0,0],B=void 0,N=void 0,j=null,U=void 0;if(a)B=S.glyphAtlasTexture,N=d.LINEAR,R=S.glyphAtlasTexture.size,E.iconsInText&&(F=S.imageAtlasTexture.size,j=S.imageAtlasTexture,U=z||e.options.rotating||e.options.zooming||"composite"===P.kind||"camera"===P.kind?d.LINEAR:d.NEAREST);else{var V=1!==n.layout.get("icon-size").constantOr(0)||E.iconsNeedLinear;B=S.imageAtlasTexture,N=I||e.options.rotating||e.options.zooming||V||z?d.LINEAR:d.NEAREST,R=S.imageAtlasTexture.size}var q=he(S,1,e.transform.zoom),H=Kt(A.posMatrix,v,m,e.transform,q),G=Qt(A.posMatrix,v,m,e.transform,q),Y=w&&E.hasTextData(),W="none"!==n.layout.get("icon-text-fit")&&Y&&E.hasIconData();y&&re(E,A.posMatrix,e,a,H,G,v,u);var X=e.translatePosMatrix(A.posMatrix,S,o,s),Z=y||a&&w||W?Jr:H,J=e.translatePosMatrix(G,S,o,s,!0),K=I&&0!==n.paint.get(a?"text-halo-width":"icon-halo-width").constantOr(1),Q={program:O,buffers:C,uniformValues:I?E.iconsInText?Gr(P.kind,D,x,v,e,X,Z,J,R,F):Hr(P.kind,D,x,v,e,X,Z,J,a,R,!0):qr(P.kind,D,x,v,e,X,Z,J,a,R),atlasTexture:B,atlasTextureIcon:j,atlasInterpolation:N,atlasInterpolationIcon:U,isSDF:I,hasHalo:K};if(b)for(var $=0,tt=C.segments.get();$<tt.length;$+=1){var et=tt[$];T.push({segments:new t.SegmentVector([et]),sortKey:et.sortKey,state:Q})}else T.push({segments:C.segments,sortKey:0,state:Q})}}}b&&T.sort((function(t,e){return t.sortKey-e.sortKey}));for(var rt=0,nt=T;rt<nt.length;rt+=1){var it=nt[rt],at=it.state;if(p.activeTexture.set(d.TEXTURE0),at.atlasTexture.bind(at.atlasInterpolation,d.CLAMP_TO_EDGE),at.atlasTextureIcon&&(p.activeTexture.set(d.TEXTURE1),at.atlasTextureIcon&&at.atlasTextureIcon.bind(at.atlasInterpolationIcon,d.CLAMP_TO_EDGE)),at.isSDF){var ot=at.uniformValues;at.hasHalo&&(ot.u_is_halo=1,en(at.buffers,it.segments,n,e,at.program,_,f,h,ot)),ot.u_is_halo=0}en(at.buffers,it.segments,n,e,at.program,_,f,h,at.uniformValues)}}function en(t,e,r,n,i,a,o,s,l){var c=n.context;i.draw(c,c.gl.TRIANGLES,a,o,s,Et.disabled,l,r.id,t.layoutVertexBuffer,t.indexBuffer,e,r.paint,n.transform.zoom,t.programConfigurations.get(r.id),t.dynamicLayoutVertexBuffer,t.opacityVertexBuffer)}function rn(t,e,r,n,i,a,o){var s,l,c,u,f,h=t.context.gl,p=r.paint.get("fill-pattern"),d=p&&p.constantOr(1),g=r.getCrossfadeParameters();o?(l=d&&!r.getPaintProperty("fill-outline-color")?"fillOutlinePattern":"fillOutline",s=h.LINES):(l=d?"fillPattern":"fill",s=h.TRIANGLES);for(var m=0,v=n;m<v.length;m+=1){var y=v[m],x=e.getTile(y);if(!d||x.patternsLoaded()){var b=x.getBucket(r);if(b){var _=b.programConfigurations.get(r.id),w=t.useProgram(l,_);d&&(t.context.activeTexture.set(h.TEXTURE0),x.imageAtlasTexture.bind(h.LINEAR,h.CLAMP_TO_EDGE),_.updatePaintBuffers(g));var T=p.constantOr(null);if(T&&x.imageAtlas){var k=x.imageAtlas,M=k.patternPositions[T.to.toString()],A=k.patternPositions[T.from.toString()];M&&A&&_.setConstantPatternPositions(M,A)}var S=t.translatePosMatrix(y.posMatrix,x,r.paint.get("fill-translate"),r.paint.get("fill-translate-anchor"));if(o){u=b.indexBuffer2,f=b.segments2;var E=[h.drawingBufferWidth,h.drawingBufferHeight];c="fillOutlinePattern"===l&&d?Sr(S,t,g,x,E):Ar(S,E)}else u=b.indexBuffer,f=b.segments,c=d?Mr(S,t,g,x):kr(S);w.draw(t.context,s,i,t.stencilModeForClipping(y),a,Et.disabled,c,r.id,b.layoutVertexBuffer,u,f,r.paint,t.transform.zoom,_)}}}}function nn(t,e,r,n,i,a,o){for(var s=t.context,l=s.gl,c=r.paint.get("fill-extrusion-pattern"),u=c.constantOr(1),f=r.getCrossfadeParameters(),h=r.paint.get("fill-extrusion-opacity"),p=0,d=n;p<d.length;p+=1){var g=d[p],m=e.getTile(g),v=m.getBucket(r);if(v){var y=v.programConfigurations.get(r.id),x=t.useProgram(u?"fillExtrusionPattern":"fillExtrusion",y);u&&(t.context.activeTexture.set(l.TEXTURE0),m.imageAtlasTexture.bind(l.LINEAR,l.CLAMP_TO_EDGE),y.updatePaintBuffers(f));var b=c.constantOr(null);if(b&&m.imageAtlas){var _=m.imageAtlas,w=_.patternPositions[b.to.toString()],T=_.patternPositions[b.from.toString()];w&&T&&y.setConstantPatternPositions(w,T)}var k=t.translatePosMatrix(g.posMatrix,m,r.paint.get("fill-extrusion-translate"),r.paint.get("fill-extrusion-translate-anchor")),M=r.paint.get("fill-extrusion-vertical-gradient"),A=u?Tr(k,t,M,h,g,f,m):wr(k,t,M,h);x.draw(s,s.gl.TRIANGLES,i,a,o,Et.backCCW,A,r.id,v.layoutVertexBuffer,v.indexBuffer,v.segments,r.paint,t.transform.zoom,y)}}}function an(e,r,n,i,a,o){var s=e.context,l=s.gl,c=r.fbo;if(c){var u=e.useProgram("hillshade");s.activeTexture.set(l.TEXTURE0),l.bindTexture(l.TEXTURE_2D,c.colorAttachment.get());var f=function(e,r,n){var i=n.paint.get("hillshade-shadow-color"),a=n.paint.get("hillshade-highlight-color"),o=n.paint.get("hillshade-accent-color"),s=n.paint.get("hillshade-illumination-direction")*(Math.PI/180);"viewport"===n.paint.get("hillshade-illumination-anchor")&&(s-=e.transform.angle);var l,c,u,f=!e.options.moving;return{u_matrix:e.transform.calculatePosMatrix(r.tileID.toUnwrapped(),f),u_image:0,u_latrange:(l=r.tileID,c=Math.pow(2,l.canonical.z),u=l.canonical.y,[new t.MercatorCoordinate(0,u/c).toLngLat().lat,new t.MercatorCoordinate(0,(u+1)/c).toLngLat().lat]),u_light:[n.paint.get("hillshade-exaggeration"),s],u_shadow:i,u_highlight:a,u_accent:o}}(e,r,n);u.draw(s,l.TRIANGLES,i,a,o,Et.disabled,f,n.id,e.rasterBoundsBuffer,e.quadTriangleIndexBuffer,e.rasterBoundsSegments)}}function on(e,r,n,i,a,o,s){var l=e.context,c=l.gl,u=r.dem;if(u&&u.data){var f=u.dim,h=u.stride,p=u.getPixels();if(l.activeTexture.set(c.TEXTURE1),l.pixelStoreUnpackPremultiplyAlpha.set(!1),r.demTexture=r.demTexture||e.getTileTexture(h),r.demTexture){var d=r.demTexture;d.update(p,{premultiply:!1}),d.bind(c.NEAREST,c.CLAMP_TO_EDGE)}else r.demTexture=new t.Texture(l,p,c.RGBA,{premultiply:!1}),r.demTexture.bind(c.NEAREST,c.CLAMP_TO_EDGE);l.activeTexture.set(c.TEXTURE0);var g=r.fbo;if(!g){var m=new t.Texture(l,{width:f,height:f,data:null},c.RGBA);m.bind(c.LINEAR,c.CLAMP_TO_EDGE),(g=r.fbo=l.createFramebuffer(f,f,!0)).colorAttachment.set(m.texture)}l.bindFramebuffer.set(g.framebuffer),l.viewport.set([0,0,f,f]),e.useProgram("hillshadePrepare").draw(l,c.TRIANGLES,a,o,s,Et.disabled,function(e,r,n){var i=r.stride,a=t.create();return t.ortho(a,0,t.EXTENT,-t.EXTENT,0,0,1),t.translate(a,a,[0,-t.EXTENT,0]),{u_matrix:a,u_image:1,u_dimension:[i,i],u_zoom:e.overscaledZ,u_maxzoom:n,u_unpack:r.getUnpackVector()}}(r.tileID,u,i),n.id,e.rasterBoundsBuffer,e.quadTriangleIndexBuffer,e.rasterBoundsSegments),r.needsHillshadePrepare=!1}}function sn(e,r,n,i,a){var o=i.paint.get("raster-fade-duration");if(o>0){var s=t.browser.now(),l=(s-e.timeAdded)/o,c=r?(s-r.timeAdded)/o:-1,u=n.getSource(),f=a.coveringZoomLevel({tileSize:u.tileSize,roundZoom:u.roundZoom}),h=!r||Math.abs(r.tileID.overscaledZ-f)>Math.abs(e.tileID.overscaledZ-f),p=h&&e.refreshedUponExpiration?1:t.clamp(h?l:1-c,0,1);return e.refreshedUponExpiration&&l>=1&&(e.refreshedUponExpiration=!1),r?{opacity:1,mix:1-p}:{opacity:p,mix:0}}return{opacity:1,mix:0}}var ln=new t.Color(1,0,0,1),cn=new t.Color(0,1,0,1),un=new t.Color(0,0,1,1),fn=new t.Color(1,0,1,1),hn=new t.Color(0,1,1,1);function pn(t,e,r,n){gn(t,0,e+r/2,t.transform.width,r,n)}function dn(t,e,r,n){gn(t,e-r/2,0,r,t.transform.height,n)}function gn(e,r,n,i,a,o){var s=e.context,l=s.gl;l.enable(l.SCISSOR_TEST),l.scissor(r*t.browser.devicePixelRatio,n*t.browser.devicePixelRatio,i*t.browser.devicePixelRatio,a*t.browser.devicePixelRatio),s.clear({color:o}),l.disable(l.SCISSOR_TEST)}function mn(e,r,n){var i=e.context,a=i.gl,o=n.posMatrix,s=e.useProgram("debug"),l=Mt.disabled,c=At.disabled,u=e.colorModeForRenderPass();i.activeTexture.set(a.TEXTURE0),e.emptyTexture.bind(a.LINEAR,a.CLAMP_TO_EDGE),s.draw(i,a.LINE_STRIP,l,c,u,Et.disabled,Ir(o,t.Color.red),"$debug",e.debugBuffer,e.tileBorderIndexBuffer,e.debugSegments);var f=r.getTileByID(n.key).latestRawTileData,h=Math.floor((f&&f.byteLength||0)/1024),p=r.getTile(n).tileSize,d=512/Math.min(p,512)*(n.overscaledZ/e.transform.zoom)*.5,g=n.canonical.toString();n.overscaledZ!==n.canonical.z&&(g+=" => "+n.overscaledZ),function(t,e){t.initDebugOverlayCanvas();var r=t.debugOverlayCanvas,n=t.context.gl,i=t.debugOverlayCanvas.getContext("2d");i.clearRect(0,0,r.width,r.height),i.shadowColor="white",i.shadowBlur=2,i.lineWidth=1.5,i.strokeStyle="white",i.textBaseline="top",i.font="bold 36px Open Sans, sans-serif",i.fillText(e,5,5),i.strokeText(e,5,5),t.debugOverlayTexture.update(r),t.debugOverlayTexture.bind(n.LINEAR,n.CLAMP_TO_EDGE)}(e,g+" "+h+"kb"),s.draw(i,a.TRIANGLES,l,c,St.alphaBlended,Et.disabled,Ir(o,t.Color.transparent,d),"$debug",e.debugBuffer,e.quadTriangleIndexBuffer,e.debugSegments)}var vn={symbol:function(e,r,n,i,a){if("translucent"===e.renderPass){var o=At.disabled,s=e.colorModeForRenderPass();n.layout.get("text-variable-anchor")&&function(e,r,n,i,a,o,s){for(var l=r.transform,c="map"===a,u="map"===o,f=0,h=e;f<h.length;f+=1){var p=h[f],d=i.getTile(p),g=d.getBucket(n);if(g&&g.text&&g.text.segments.get().length){var m=t.evaluateSizeForZoom(g.textSizeData,l.zoom),v=he(d,1,r.transform.zoom),y=Kt(p.posMatrix,u,c,r.transform,v),x="none"!==n.layout.get("icon-text-fit")&&g.hasIconData();if(m){var b=Math.pow(2,l.zoom-d.tileID.overscaledZ);Qr(g,c,u,s,t.symbolSize,l,y,p.posMatrix,b,m,x)}}}}(i,e,n,r,n.layout.get("text-rotation-alignment"),n.layout.get("text-pitch-alignment"),a),0!==n.paint.get("icon-opacity").constantOr(1)&&tn(e,r,n,i,!1,n.paint.get("icon-translate"),n.paint.get("icon-translate-anchor"),n.layout.get("icon-rotation-alignment"),n.layout.get("icon-pitch-alignment"),n.layout.get("icon-keep-upright"),o,s),0!==n.paint.get("text-opacity").constantOr(1)&&tn(e,r,n,i,!0,n.paint.get("text-translate"),n.paint.get("text-translate-anchor"),n.layout.get("text-rotation-alignment"),n.layout.get("text-pitch-alignment"),n.layout.get("text-keep-upright"),o,s),r.map.showCollisionBoxes&&(Zr(e,r,n,i,n.paint.get("text-translate"),n.paint.get("text-translate-anchor"),!0),Zr(e,r,n,i,n.paint.get("icon-translate"),n.paint.get("icon-translate-anchor"),!1))}},circle:function(e,r,n,i){if("translucent"===e.renderPass){var a=n.paint.get("circle-opacity"),o=n.paint.get("circle-stroke-width"),s=n.paint.get("circle-stroke-opacity"),l=void 0!==n.layout.get("circle-sort-key").constantOr(1);if(0!==a.constantOr(1)||0!==o.constantOr(1)&&0!==s.constantOr(1)){for(var c=e.context,u=c.gl,f=e.depthModeForSublayer(0,Mt.ReadOnly),h=At.disabled,p=e.colorModeForRenderPass(),d=[],g=0;g<i.length;g++){var m=i[g],v=r.getTile(m),y=v.getBucket(n);if(y){var x=y.programConfigurations.get(n.id),b={programConfiguration:x,program:e.useProgram("circle",x),layoutVertexBuffer:y.layoutVertexBuffer,indexBuffer:y.indexBuffer,uniformValues:Er(e,m,v,n)};if(l)for(var _=0,w=y.segments.get();_<w.length;_+=1){var T=w[_];d.push({segments:new t.SegmentVector([T]),sortKey:T.sortKey,state:b})}else d.push({segments:y.segments,sortKey:0,state:b})}}l&&d.sort((function(t,e){return t.sortKey-e.sortKey}));for(var k=0,M=d;k<M.length;k+=1){var A=M[k],S=A.state;S.program.draw(c,u.TRIANGLES,f,h,p,Et.disabled,S.uniformValues,n.id,S.layoutVertexBuffer,S.indexBuffer,A.segments,n.paint,e.transform.zoom,S.programConfiguration)}}}},heatmap:function(e,r,n,i){if(0!==n.paint.get("heatmap-opacity"))if("offscreen"===e.renderPass){var a=e.context,o=a.gl,s=At.disabled,l=new St([o.ONE,o.ONE],t.Color.transparent,[!0,!0,!0,!0]);!function(t,e,r){var n=t.gl;t.activeTexture.set(n.TEXTURE1),t.viewport.set([0,0,e.width/4,e.height/4]);var i=r.heatmapFbo;if(i)n.bindTexture(n.TEXTURE_2D,i.colorAttachment.get()),t.bindFramebuffer.set(i.framebuffer);else{var a=n.createTexture();n.bindTexture(n.TEXTURE_2D,a),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,n.LINEAR),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,n.LINEAR),i=r.heatmapFbo=t.createFramebuffer(e.width/4,e.height/4,!1),function(t,e,r,n){var i=t.gl;i.texImage2D(i.TEXTURE_2D,0,i.RGBA,e.width/4,e.height/4,0,i.RGBA,t.extRenderToTextureHalfFloat?t.extTextureHalfFloat.HALF_FLOAT_OES:i.UNSIGNED_BYTE,null),n.colorAttachment.set(r)}(t,e,a,i)}}(a,e,n),a.clear({color:t.Color.transparent});for(var c=0;c<i.length;c++){var u=i[c];if(!r.hasRenderableParent(u)){var f=r.getTile(u),h=f.getBucket(n);if(h){var p=h.programConfigurations.get(n.id);e.useProgram("heatmap",p).draw(a,o.TRIANGLES,Mt.disabled,s,l,Et.disabled,zr(u.posMatrix,f,e.transform.zoom,n.paint.get("heatmap-intensity")),n.id,h.layoutVertexBuffer,h.indexBuffer,h.segments,n.paint,e.transform.zoom,p)}}}a.viewport.set([0,0,e.width,e.height])}else"translucent"===e.renderPass&&(e.context.setColorMode(e.colorModeForRenderPass()),function(e,r){var n=e.context,i=n.gl,a=r.heatmapFbo;if(a){n.activeTexture.set(i.TEXTURE0),i.bindTexture(i.TEXTURE_2D,a.colorAttachment.get()),n.activeTexture.set(i.TEXTURE1);var o=r.colorRampTexture;o||(o=r.colorRampTexture=new t.Texture(n,r.colorRamp,i.RGBA)),o.bind(i.LINEAR,i.CLAMP_TO_EDGE),e.useProgram("heatmapTexture").draw(n,i.TRIANGLES,Mt.disabled,At.disabled,e.colorModeForRenderPass(),Et.disabled,function(e,r,n,i){var a=t.create();t.ortho(a,0,e.width,e.height,0,0,1);var o=e.context.gl;return{u_matrix:a,u_world:[o.drawingBufferWidth,o.drawingBufferHeight],u_image:0,u_color_ramp:1,u_opacity:r.paint.get("heatmap-opacity")}}(e,r),r.id,e.viewportBuffer,e.quadTriangleIndexBuffer,e.viewportSegments,r.paint,e.transform.zoom)}}(e,n))},line:function(e,r,n,i){if("translucent"===e.renderPass){var a=n.paint.get("line-opacity"),o=n.paint.get("line-width");if(0!==a.constantOr(1)&&0!==o.constantOr(1)){var s=e.depthModeForSublayer(0,Mt.ReadOnly),l=e.colorModeForRenderPass(),c=n.paint.get("line-dasharray"),u=n.paint.get("line-pattern"),f=u.constantOr(1),h=n.paint.get("line-gradient"),p=n.getCrossfadeParameters(),d=f?"linePattern":c?"lineSDF":h?"lineGradient":"line",g=e.context,m=g.gl,v=!0;if(h){g.activeTexture.set(m.TEXTURE0);var y=n.gradientTexture;if(!n.gradient)return;y||(y=n.gradientTexture=new t.Texture(g,n.gradient,m.RGBA)),y.bind(m.LINEAR,m.CLAMP_TO_EDGE)}for(var x=0,b=i;x<b.length;x+=1){var _=b[x],w=r.getTile(_);if(!f||w.patternsLoaded()){var T=w.getBucket(n);if(T){var k=T.programConfigurations.get(n.id),M=e.context.program.get(),A=e.useProgram(d,k),S=v||A.program!==M,E=u.constantOr(null);if(E&&w.imageAtlas){var C=w.imageAtlas,L=C.patternPositions[E.to.toString()],I=C.patternPositions[E.from.toString()];L&&I&&k.setConstantPatternPositions(L,I)}var P=f?Rr(e,w,n,p):c?Fr(e,w,n,c,p):h?Dr(e,w,n):Or(e,w,n);f?(g.activeTexture.set(m.TEXTURE0),w.imageAtlasTexture.bind(m.LINEAR,m.CLAMP_TO_EDGE),k.updatePaintBuffers(p)):c&&(S||e.lineAtlas.dirty)&&(g.activeTexture.set(m.TEXTURE0),e.lineAtlas.bind(g)),A.draw(g,m.TRIANGLES,s,e.stencilModeForClipping(_),l,Et.disabled,P,n.id,T.layoutVertexBuffer,T.indexBuffer,T.segments,n.paint,e.transform.zoom,k),v=!1}}}}}},fill:function(e,r,n,i){var a=n.paint.get("fill-color"),o=n.paint.get("fill-opacity");if(0!==o.constantOr(1)){var s=e.colorModeForRenderPass(),l=n.paint.get("fill-pattern"),c=e.opaquePassEnabledForLayer()&&!l.constantOr(1)&&1===a.constantOr(t.Color.transparent).a&&1===o.constantOr(0)?"opaque":"translucent";if(e.renderPass===c){var u=e.depthModeForSublayer(1,"opaque"===e.renderPass?Mt.ReadWrite:Mt.ReadOnly);rn(e,r,n,i,u,s,!1)}if("translucent"===e.renderPass&&n.paint.get("fill-antialias")){var f=e.depthModeForSublayer(n.getPaintProperty("fill-outline-color")?2:0,Mt.ReadOnly);rn(e,r,n,i,f,s,!0)}}},"fill-extrusion":function(t,e,r,n){var i=r.paint.get("fill-extrusion-opacity");if(0!==i&&"translucent"===t.renderPass){var a=new Mt(t.context.gl.LEQUAL,Mt.ReadWrite,t.depthRangeFor3D);if(1!==i||r.paint.get("fill-extrusion-pattern").constantOr(1))nn(t,e,r,n,a,At.disabled,St.disabled),nn(t,e,r,n,a,t.stencilModeFor3D(),t.colorModeForRenderPass());else{var o=t.colorModeForRenderPass();nn(t,e,r,n,a,At.disabled,o)}}},hillshade:function(t,e,r,n){if("offscreen"===t.renderPass||"translucent"===t.renderPass){for(var i=t.context,a=e.getSource().maxzoom,o=t.depthModeForSublayer(0,Mt.ReadOnly),s=t.colorModeForRenderPass(),l="translucent"===t.renderPass?t.stencilConfigForOverlap(n):[{},n],c=l[0],u=0,f=l[1];u<f.length;u+=1){var h=f[u],p=e.getTile(h);p.needsHillshadePrepare&&"offscreen"===t.renderPass?on(t,p,r,a,o,At.disabled,s):"translucent"===t.renderPass&&an(t,p,r,o,c[h.overscaledZ],s)}i.viewport.set([0,0,t.width,t.height])}},raster:function(t,e,r,n){if("translucent"===t.renderPass&&0!==r.paint.get("raster-opacity")&&n.length)for(var i=t.context,a=i.gl,o=e.getSource(),s=t.useProgram("raster"),l=t.colorModeForRenderPass(),c=o instanceof P?[{},n]:t.stencilConfigForOverlap(n),u=c[0],f=c[1],h=f[f.length-1].overscaledZ,p=!t.options.moving,d=0,g=f;d<g.length;d+=1){var m=g[d],v=t.depthModeForSublayer(m.overscaledZ-h,1===r.paint.get("raster-opacity")?Mt.ReadWrite:Mt.ReadOnly,a.LESS),y=e.getTile(m),x=t.transform.calculatePosMatrix(m.toUnwrapped(),p);y.registerFadeDuration(r.paint.get("raster-fade-duration"));var b=e.findLoadedParent(m,0),_=sn(y,b,e,r,t.transform),w=void 0,T=void 0,k="nearest"===r.paint.get("raster-resampling")?a.NEAREST:a.LINEAR;i.activeTexture.set(a.TEXTURE0),y.texture.bind(k,a.CLAMP_TO_EDGE,a.LINEAR_MIPMAP_NEAREST),i.activeTexture.set(a.TEXTURE1),b?(b.texture.bind(k,a.CLAMP_TO_EDGE,a.LINEAR_MIPMAP_NEAREST),w=Math.pow(2,b.tileID.overscaledZ-y.tileID.overscaledZ),T=[y.tileID.canonical.x*w%1,y.tileID.canonical.y*w%1]):y.texture.bind(k,a.CLAMP_TO_EDGE,a.LINEAR_MIPMAP_NEAREST);var M=jr(x,T||[0,0],w||1,_,r);o instanceof P?s.draw(i,a.TRIANGLES,v,At.disabled,l,Et.disabled,M,r.id,o.boundsBuffer,t.quadTriangleIndexBuffer,o.boundsSegments):s.draw(i,a.TRIANGLES,v,u[m.overscaledZ],l,Et.disabled,M,r.id,t.rasterBoundsBuffer,t.quadTriangleIndexBuffer,t.rasterBoundsSegments)}},background:function(t,e,r){var n=r.paint.get("background-color"),i=r.paint.get("background-opacity");if(0!==i){var a=t.context,o=a.gl,s=t.transform,l=s.tileSize,c=r.paint.get("background-pattern");if(!t.isPatternMissing(c)){var u=!c&&1===n.a&&1===i&&t.opaquePassEnabledForLayer()?"opaque":"translucent";if(t.renderPass===u){var f=At.disabled,h=t.depthModeForSublayer(0,"opaque"===u?Mt.ReadWrite:Mt.ReadOnly),p=t.colorModeForRenderPass(),d=t.useProgram(c?"backgroundPattern":"background"),g=s.coveringTiles({tileSize:l});c&&(a.activeTexture.set(o.TEXTURE0),t.imageManager.bind(t.context));for(var m=r.getCrossfadeParameters(),v=0,y=g;v<y.length;v+=1){var x=y[v],b=t.transform.calculatePosMatrix(x.toUnwrapped()),_=c?Wr(b,i,t,c,{tileID:x,tileSize:l},m):Yr(b,i,n);d.draw(a,o.TRIANGLES,h,f,p,Et.disabled,_,r.id,t.tileExtentBuffer,t.quadTriangleIndexBuffer,t.tileExtentSegments)}}}}},debug:function(t,e,r){for(var n=0;n<r.length;n++)mn(t,e,r[n])},custom:function(t,e,r){var n=t.context,i=r.implementation;if("offscreen"===t.renderPass){var a=i.prerender;a&&(t.setCustomLayerDefaults(),n.setColorMode(t.colorModeForRenderPass()),a.call(i,n.gl,t.transform.customLayerMatrix()),n.setDirty(),t.setBaseState())}else if("translucent"===t.renderPass){t.setCustomLayerDefaults(),n.setColorMode(t.colorModeForRenderPass()),n.setStencilMode(At.disabled);var o="3d"===i.renderingMode?new Mt(t.context.gl.LEQUAL,Mt.ReadWrite,t.depthRangeFor3D):t.depthModeForSublayer(0,Mt.ReadOnly);n.setDepthMode(o),i.render(n.gl,t.transform.customLayerMatrix()),n.setDirty(),t.setBaseState(),n.bindFramebuffer.set(null)}}},yn=function(t,e){this.context=new Ct(t),this.transform=e,this._tileTextures={},this.setup(),this.numSublayers=Lt.maxUnderzooming+Lt.maxOverzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.crossTileSymbolIndex=new Be,this.gpuTimers={}};yn.prototype.resize=function(e,r){if(this.width=e*t.browser.devicePixelRatio,this.height=r*t.browser.devicePixelRatio,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(var n=0,i=this.style._order;n<i.length;n+=1)this.style._layers[i[n]].resize()},yn.prototype.setup=function(){var e=this.context,r=new t.StructArrayLayout2i4;r.emplaceBack(0,0),r.emplaceBack(t.EXTENT,0),r.emplaceBack(0,t.EXTENT),r.emplaceBack(t.EXTENT,t.EXTENT),this.tileExtentBuffer=e.createVertexBuffer(r,He.members),this.tileExtentSegments=t.SegmentVector.simpleSegment(0,0,4,2);var n=new t.StructArrayLayout2i4;n.emplaceBack(0,0),n.emplaceBack(t.EXTENT,0),n.emplaceBack(0,t.EXTENT),n.emplaceBack(t.EXTENT,t.EXTENT),this.debugBuffer=e.createVertexBuffer(n,He.members),this.debugSegments=t.SegmentVector.simpleSegment(0,0,4,5);var i=new t.StructArrayLayout4i8;i.emplaceBack(0,0,0,0),i.emplaceBack(t.EXTENT,0,t.EXTENT,0),i.emplaceBack(0,t.EXTENT,0,t.EXTENT),i.emplaceBack(t.EXTENT,t.EXTENT,t.EXTENT,t.EXTENT),this.rasterBoundsBuffer=e.createVertexBuffer(i,I.members),this.rasterBoundsSegments=t.SegmentVector.simpleSegment(0,0,4,2);var a=new t.StructArrayLayout2i4;a.emplaceBack(0,0),a.emplaceBack(1,0),a.emplaceBack(0,1),a.emplaceBack(1,1),this.viewportBuffer=e.createVertexBuffer(a,He.members),this.viewportSegments=t.SegmentVector.simpleSegment(0,0,4,2);var o=new t.StructArrayLayout1ui2;o.emplaceBack(0),o.emplaceBack(1),o.emplaceBack(3),o.emplaceBack(2),o.emplaceBack(0),this.tileBorderIndexBuffer=e.createIndexBuffer(o);var s=new t.StructArrayLayout3ui6;s.emplaceBack(0,1,2),s.emplaceBack(2,1,3),this.quadTriangleIndexBuffer=e.createIndexBuffer(s),this.emptyTexture=new t.Texture(e,{width:1,height:1,data:new Uint8Array([0,0,0,0])},e.gl.RGBA);var l=this.context.gl;this.stencilClearMode=new At({func:l.ALWAYS,mask:0},0,255,l.ZERO,l.ZERO,l.ZERO)},yn.prototype.clearStencil=function(){var e=this.context,r=e.gl;this.nextStencilID=1,this.currentStencilSource=void 0;var n=t.create();t.ortho(n,0,this.width,this.height,0,0,1),t.scale(n,n,[r.drawingBufferWidth,r.drawingBufferHeight,0]),this.useProgram("clippingMask").draw(e,r.TRIANGLES,Mt.disabled,this.stencilClearMode,St.disabled,Et.disabled,Pr(n),"$clipping",this.viewportBuffer,this.quadTriangleIndexBuffer,this.viewportSegments)},yn.prototype._renderTileClippingMasks=function(t,e){if(this.currentStencilSource!==t.source&&t.isTileClipped()&&e&&e.length){this.currentStencilSource=t.source;var r=this.context,n=r.gl;this.nextStencilID+e.length>256&&this.clearStencil(),r.setColorMode(St.disabled),r.setDepthMode(Mt.disabled);var i=this.useProgram("clippingMask");this._tileClippingMaskIDs={};for(var a=0,o=e;a<o.length;a+=1){var s=o[a],l=this._tileClippingMaskIDs[s.key]=this.nextStencilID++;i.draw(r,n.TRIANGLES,Mt.disabled,new At({func:n.ALWAYS,mask:0},l,255,n.KEEP,n.KEEP,n.REPLACE),St.disabled,Et.disabled,Pr(s.posMatrix),"$clipping",this.tileExtentBuffer,this.quadTriangleIndexBuffer,this.tileExtentSegments)}}},yn.prototype.stencilModeFor3D=function(){this.currentStencilSource=void 0,this.nextStencilID+1>256&&this.clearStencil();var t=this.nextStencilID++,e=this.context.gl;return new At({func:e.NOTEQUAL,mask:255},t,255,e.KEEP,e.KEEP,e.REPLACE)},yn.prototype.stencilModeForClipping=function(t){var e=this.context.gl;return new At({func:e.EQUAL,mask:255},this._tileClippingMaskIDs[t.key],0,e.KEEP,e.KEEP,e.REPLACE)},yn.prototype.stencilConfigForOverlap=function(t){var e,r=this.context.gl,n=t.sort((function(t,e){return e.overscaledZ-t.overscaledZ})),i=n[n.length-1].overscaledZ,a=n[0].overscaledZ-i+1;if(a>1){this.currentStencilSource=void 0,this.nextStencilID+a>256&&this.clearStencil();for(var o={},s=0;s<a;s++)o[s+i]=new At({func:r.GEQUAL,mask:255},s+this.nextStencilID,255,r.KEEP,r.KEEP,r.REPLACE);return this.nextStencilID+=a,[o,n]}return[(e={},e[i]=At.disabled,e),n]},yn.prototype.colorModeForRenderPass=function(){var e=this.context.gl;return this._showOverdrawInspector?new St([e.CONSTANT_COLOR,e.ONE],new t.Color(1/8,1/8,1/8,0),[!0,!0,!0,!0]):"opaque"===this.renderPass?St.unblended:St.alphaBlended},yn.prototype.depthModeForSublayer=function(t,e,r){if(!this.opaquePassEnabledForLayer())return Mt.disabled;var n=1-((1+this.currentLayer)*this.numSublayers+t)*this.depthEpsilon;return new Mt(r||this.context.gl.LEQUAL,e,[n,n])},yn.prototype.opaquePassEnabledForLayer=function(){return this.currentLayer<this.opaquePassCutoff},yn.prototype.render=function(e,r){var n=this;this.style=e,this.options=r,this.lineAtlas=e.lineAtlas,this.imageManager=e.imageManager,this.glyphManager=e.glyphManager,this.symbolFadeChange=e.placement.symbolFadeChange(t.browser.now()),this.imageManager.beginFrame();var i=this.style._order,a=this.style.sourceCaches;for(var o in a){var s=a[o];s.used&&s.prepare(this.context)}var l,c,u={},f={},h={};for(var p in a){var d=a[p];u[p]=d.getVisibleCoordinates(),f[p]=u[p].slice().reverse(),h[p]=d.getVisibleCoordinates(!0).reverse()}this.opaquePassCutoff=1/0;for(var g=0;g<i.length;g++)if(this.style._layers[i[g]].is3D()){this.opaquePassCutoff=g;break}this.renderPass="offscreen";for(var m=0,v=i;m<v.length;m+=1){var y=this.style._layers[v[m]];if(y.hasOffscreenPass()&&!y.isHidden(this.transform.zoom)){var x=f[y.source];("custom"===y.type||x.length)&&this.renderLayer(this,a[y.source],y,x)}}for(this.context.bindFramebuffer.set(null),this.context.clear({color:r.showOverdrawInspector?t.Color.black:t.Color.transparent,depth:1}),this.clearStencil(),this._showOverdrawInspector=r.showOverdrawInspector,this.depthRangeFor3D=[0,1-(e._order.length+2)*this.numSublayers*this.depthEpsilon],this.renderPass="opaque",this.currentLayer=i.length-1;this.currentLayer>=0;this.currentLayer--){var b=this.style._layers[i[this.currentLayer]],_=a[b.source],w=u[b.source];this._renderTileClippingMasks(b,w),this.renderLayer(this,_,b,w)}for(this.renderPass="translucent",this.currentLayer=0;this.currentLayer<i.length;this.currentLayer++){var T=this.style._layers[i[this.currentLayer]],k=a[T.source],M=("symbol"===T.type?h:f)[T.source];this._renderTileClippingMasks(T,u[T.source]),this.renderLayer(this,k,T,M)}this.options.showTileBoundaries&&(t.values(this.style._layers).forEach((function(t){t.source&&!t.isHidden(n.transform.zoom)&&(t.source!==(c&&c.id)&&(c=n.style.sourceCaches[t.source]),(!l||l.getSource().maxzoom<c.getSource().maxzoom)&&(l=c))})),l&&vn.debug(this,l,l.getVisibleCoordinates())),this.options.showPadding&&function(t){var e=t.transform.padding;pn(t,t.transform.height-(e.top||0),3,ln),pn(t,e.bottom||0,3,cn),dn(t,e.left||0,3,un),dn(t,t.transform.width-(e.right||0),3,fn);var r=t.transform.centerPoint;!function(t,e,r,n){gn(t,e-1,r-10,2,20,n),gn(t,e-10,r-1,20,2,n)}(t,r.x,t.transform.height-r.y,hn)}(this),this.context.setDefault()},yn.prototype.renderLayer=function(t,e,r,n){r.isHidden(this.transform.zoom)||("background"===r.type||"custom"===r.type||n.length)&&(this.id=r.id,this.gpuTimingStart(r),vn[r.type](t,e,r,n,this.style.placement.variableOffsets),this.gpuTimingEnd())},yn.prototype.gpuTimingStart=function(t){if(this.options.gpuTiming){var e=this.context.extTimerQuery,r=this.gpuTimers[t.id];r||(r=this.gpuTimers[t.id]={calls:0,cpuTime:0,query:e.createQueryEXT()}),r.calls++,e.beginQueryEXT(e.TIME_ELAPSED_EXT,r.query)}},yn.prototype.gpuTimingEnd=function(){if(this.options.gpuTiming){var t=this.context.extTimerQuery;t.endQueryEXT(t.TIME_ELAPSED_EXT)}},yn.prototype.collectGpuTimers=function(){var t=this.gpuTimers;return this.gpuTimers={},t},yn.prototype.queryGpuTimers=function(t){var e={};for(var r in t){var n=t[r],i=this.context.extTimerQuery,a=i.getQueryObjectEXT(n.query,i.QUERY_RESULT_EXT)/1e6;i.deleteQueryEXT(n.query),e[r]=a}return e},yn.prototype.translatePosMatrix=function(e,r,n,i,a){if(!n[0]&&!n[1])return e;var o=a?"map"===i?this.transform.angle:0:"viewport"===i?-this.transform.angle:0;if(o){var s=Math.sin(o),l=Math.cos(o);n=[n[0]*l-n[1]*s,n[0]*s+n[1]*l]}var c=[a?n[0]:he(r,n[0],this.transform.zoom),a?n[1]:he(r,n[1],this.transform.zoom),0],u=new Float32Array(16);return t.translate(u,e,c),u},yn.prototype.saveTileTexture=function(t){var e=this._tileTextures[t.size[0]];e?e.push(t):this._tileTextures[t.size[0]]=[t]},yn.prototype.getTileTexture=function(t){var e=this._tileTextures[t];return e&&e.length>0?e.pop():null},yn.prototype.isPatternMissing=function(t){if(!t)return!1;if(!t.from||!t.to)return!0;var e=this.imageManager.getPattern(t.from.toString()),r=this.imageManager.getPattern(t.to.toString());return!e||!r},yn.prototype.useProgram=function(t,e){this.cache=this.cache||{};var r=""+t+(e?e.cacheKey:"")+(this._showOverdrawInspector?"/overdraw":"");return this.cache[r]||(this.cache[r]=new br(this.context,yr[t],e,Xr[t],this._showOverdrawInspector)),this.cache[r]},yn.prototype.setCustomLayerDefaults=function(){this.context.unbindVAO(),this.context.cullFace.setDefault(),this.context.activeTexture.setDefault(),this.context.pixelStoreUnpack.setDefault(),this.context.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.context.pixelStoreUnpackFlipY.setDefault()},yn.prototype.setBaseState=function(){var t=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(t.FUNC_ADD)},yn.prototype.initDebugOverlayCanvas=function(){null==this.debugOverlayCanvas&&(this.debugOverlayCanvas=t.window.document.createElement("canvas"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512,this.debugOverlayTexture=new t.Texture(this.context,this.debugOverlayCanvas,this.context.gl.RGBA))},yn.prototype.destroy=function(){this.emptyTexture.destroy(),this.debugOverlayTexture&&this.debugOverlayTexture.destroy()};var xn=function(t,e){this.points=t,this.planes=e};xn.fromInvProjectionMatrix=function(e,r,n){var i=Math.pow(2,n),a=[[-1,1,-1,1],[1,1,-1,1],[1,-1,-1,1],[-1,-1,-1,1],[-1,1,1,1],[1,1,1,1],[1,-1,1,1],[-1,-1,1,1]].map((function(r){return t.transformMat4([],r,e)})).map((function(e){return t.scale$1([],e,1/e[3]/r*i)})),o=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]].map((function(e){var r=t.sub([],a[e[0]],a[e[1]]),n=t.sub([],a[e[2]],a[e[1]]),i=t.normalize([],t.cross([],r,n)),o=-t.dot(i,a[e[1]]);return i.concat(o)}));return new xn(a,o)};var bn=function(e,r){this.min=e,this.max=r,this.center=t.scale$2([],t.add([],this.min,this.max),.5)};bn.prototype.quadrant=function(e){for(var r=[e%2==0,e<2],n=t.clone$2(this.min),i=t.clone$2(this.max),a=0;a<r.length;a++)n[a]=r[a]?this.min[a]:this.center[a],i[a]=r[a]?this.center[a]:this.max[a];return i[2]=this.max[2],new bn(n,i)},bn.prototype.distanceX=function(t){return Math.max(Math.min(this.max[0],t[0]),this.min[0])-t[0]},bn.prototype.distanceY=function(t){return Math.max(Math.min(this.max[1],t[1]),this.min[1])-t[1]},bn.prototype.intersects=function(e){for(var r=[[this.min[0],this.min[1],0,1],[this.max[0],this.min[1],0,1],[this.max[0],this.max[1],0,1],[this.min[0],this.max[1],0,1]],n=!0,i=0;i<e.planes.length;i++){for(var a=e.planes[i],o=0,s=0;s<r.length;s++)o+=t.dot$1(a,r[s])>=0;if(0===o)return 0;o!==r.length&&(n=!1)}if(n)return 2;for(var l=0;l<3;l++){for(var c=Number.MAX_VALUE,u=-Number.MAX_VALUE,f=0;f<e.points.length;f++){var h=e.points[f][l]-this.min[l];c=Math.min(c,h),u=Math.max(u,h)}if(u<0||c>this.max[l]-this.min[l])return 0}return 1};var _n=function(t,e,r,n){if(void 0===t&&(t=0),void 0===e&&(e=0),void 0===r&&(r=0),void 0===n&&(n=0),isNaN(t)||t<0||isNaN(e)||e<0||isNaN(r)||r<0||isNaN(n)||n<0)throw new Error("Invalid value for edge-insets, top, bottom, left and right must all be numbers");this.top=t,this.bottom=e,this.left=r,this.right=n};_n.prototype.interpolate=function(e,r,n){return null!=r.top&&null!=e.top&&(this.top=t.number(e.top,r.top,n)),null!=r.bottom&&null!=e.bottom&&(this.bottom=t.number(e.bottom,r.bottom,n)),null!=r.left&&null!=e.left&&(this.left=t.number(e.left,r.left,n)),null!=r.right&&null!=e.right&&(this.right=t.number(e.right,r.right,n)),this},_n.prototype.getCenter=function(e,r){var n=t.clamp((this.left+e-this.right)/2,0,e),i=t.clamp((this.top+r-this.bottom)/2,0,r);return new t.Point(n,i)},_n.prototype.equals=function(t){return this.top===t.top&&this.bottom===t.bottom&&this.left===t.left&&this.right===t.right},_n.prototype.clone=function(){return new _n(this.top,this.bottom,this.left,this.right)},_n.prototype.toJSON=function(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}};var wn=function(e,r,n,i,a){this.tileSize=512,this.maxValidLatitude=85.051129,this._renderWorldCopies=void 0===a||a,this._minZoom=e||0,this._maxZoom=r||22,this._minPitch=null==n?0:n,this._maxPitch=null==i?60:i,this.setMaxBounds(),this.width=0,this.height=0,this._center=new t.LngLat(0,0),this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._edgeInsets=new _n,this._posMatrixCache={},this._alignedPosMatrixCache={}},Tn={minZoom:{configurable:!0},maxZoom:{configurable:!0},minPitch:{configurable:!0},maxPitch:{configurable:!0},renderWorldCopies:{configurable:!0},worldSize:{configurable:!0},centerOffset:{configurable:!0},size:{configurable:!0},bearing:{configurable:!0},pitch:{configurable:!0},fov:{configurable:!0},zoom:{configurable:!0},center:{configurable:!0},padding:{configurable:!0},centerPoint:{configurable:!0},unmodified:{configurable:!0},point:{configurable:!0}};wn.prototype.clone=function(){var t=new wn(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies);return t.tileSize=this.tileSize,t.latRange=this.latRange,t.width=this.width,t.height=this.height,t._center=this._center,t.zoom=this.zoom,t.angle=this.angle,t._fov=this._fov,t._pitch=this._pitch,t._unmodified=this._unmodified,t._edgeInsets=this._edgeInsets.clone(),t._calcMatrices(),t},Tn.minZoom.get=function(){return this._minZoom},Tn.minZoom.set=function(t){this._minZoom!==t&&(this._minZoom=t,this.zoom=Math.max(this.zoom,t))},Tn.maxZoom.get=function(){return this._maxZoom},Tn.maxZoom.set=function(t){this._maxZoom!==t&&(this._maxZoom=t,this.zoom=Math.min(this.zoom,t))},Tn.minPitch.get=function(){return this._minPitch},Tn.minPitch.set=function(t){this._minPitch!==t&&(this._minPitch=t,this.pitch=Math.max(this.pitch,t))},Tn.maxPitch.get=function(){return this._maxPitch},Tn.maxPitch.set=function(t){this._maxPitch!==t&&(this._maxPitch=t,this.pitch=Math.min(this.pitch,t))},Tn.renderWorldCopies.get=function(){return this._renderWorldCopies},Tn.renderWorldCopies.set=function(t){void 0===t?t=!0:null===t&&(t=!1),this._renderWorldCopies=t},Tn.worldSize.get=function(){return this.tileSize*this.scale},Tn.centerOffset.get=function(){return this.centerPoint._sub(this.size._div(2))},Tn.size.get=function(){return new t.Point(this.width,this.height)},Tn.bearing.get=function(){return-this.angle/Math.PI*180},Tn.bearing.set=function(e){var r=-t.wrap(e,-180,180)*Math.PI/180;this.angle!==r&&(this._unmodified=!1,this.angle=r,this._calcMatrices(),this.rotationMatrix=t.create$2(),t.rotate(this.rotationMatrix,this.rotationMatrix,this.angle))},Tn.pitch.get=function(){return this._pitch/Math.PI*180},Tn.pitch.set=function(e){var r=t.clamp(e,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==r&&(this._unmodified=!1,this._pitch=r,this._calcMatrices())},Tn.fov.get=function(){return this._fov/Math.PI*180},Tn.fov.set=function(t){t=Math.max(.01,Math.min(60,t)),this._fov!==t&&(this._unmodified=!1,this._fov=t/180*Math.PI,this._calcMatrices())},Tn.zoom.get=function(){return this._zoom},Tn.zoom.set=function(t){var e=Math.min(Math.max(t,this.minZoom),this.maxZoom);this._zoom!==e&&(this._unmodified=!1,this._zoom=e,this.scale=this.zoomScale(e),this.tileZoom=Math.floor(e),this.zoomFraction=e-this.tileZoom,this._constrain(),this._calcMatrices())},Tn.center.get=function(){return this._center},Tn.center.set=function(t){t.lat===this._center.lat&&t.lng===this._center.lng||(this._unmodified=!1,this._center=t,this._constrain(),this._calcMatrices())},Tn.padding.get=function(){return this._edgeInsets.toJSON()},Tn.padding.set=function(t){this._edgeInsets.equals(t)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,t,1),this._calcMatrices())},Tn.centerPoint.get=function(){return this._edgeInsets.getCenter(this.width,this.height)},wn.prototype.isPaddingEqual=function(t){return this._edgeInsets.equals(t)},wn.prototype.interpolatePadding=function(t,e,r){this._unmodified=!1,this._edgeInsets.interpolate(t,e,r),this._constrain(),this._calcMatrices()},wn.prototype.coveringZoomLevel=function(t){var e=(t.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/t.tileSize));return Math.max(0,e)},wn.prototype.getVisibleUnwrappedCoordinates=function(e){var r=[new t.UnwrappedTileID(0,e)];if(this._renderWorldCopies)for(var n=this.pointCoordinate(new t.Point(0,0)),i=this.pointCoordinate(new t.Point(this.width,0)),a=this.pointCoordinate(new t.Point(this.width,this.height)),o=this.pointCoordinate(new t.Point(0,this.height)),s=Math.floor(Math.min(n.x,i.x,a.x,o.x)),l=Math.floor(Math.max(n.x,i.x,a.x,o.x)),c=s-1;c<=l+1;c++)0!==c&&r.push(new t.UnwrappedTileID(c,e));return r},wn.prototype.coveringTiles=function(e){var r=this.coveringZoomLevel(e),n=r;if(void 0!==e.minzoom&&r<e.minzoom)return[];void 0!==e.maxzoom&&r>e.maxzoom&&(r=e.maxzoom);var i=t.MercatorCoordinate.fromLngLat(this.center),a=Math.pow(2,r),o=[a*i.x,a*i.y,0],s=xn.fromInvProjectionMatrix(this.invProjMatrix,this.worldSize,r),l=e.minzoom||0;this.pitch<=60&&this._edgeInsets.top<.1&&(l=r);var c=function(t){return{aabb:new bn([t*a,0,0],[(t+1)*a,a,0]),zoom:0,x:0,y:0,wrap:t,fullyVisible:!1}},u=[],f=[],h=r,p=e.reparseOverscaled?n:r;if(this._renderWorldCopies)for(var d=1;d<=3;d++)u.push(c(-d)),u.push(c(d));for(u.push(c(0));u.length>0;){var g=u.pop(),m=g.x,v=g.y,y=g.fullyVisible;if(!y){var x=g.aabb.intersects(s);if(0===x)continue;y=2===x}var b=g.aabb.distanceX(o),_=g.aabb.distanceY(o),w=Math.max(Math.abs(b),Math.abs(_));if(g.zoom===h||w>3+(1<<h-g.zoom)-2&&g.zoom>=l)f.push({tileID:new t.OverscaledTileID(g.zoom===h?p:g.zoom,g.wrap,g.zoom,m,v),distanceSq:t.sqrLen([o[0]-.5-m,o[1]-.5-v])});else for(var T=0;T<4;T++){var k=(m<<1)+T%2,M=(v<<1)+(T>>1);u.push({aabb:g.aabb.quadrant(T),zoom:g.zoom+1,x:k,y:M,wrap:g.wrap,fullyVisible:y})}}return f.sort((function(t,e){return t.distanceSq-e.distanceSq})).map((function(t){return t.tileID}))},wn.prototype.resize=function(t,e){this.width=t,this.height=e,this.pixelsToGLUnits=[2/t,-2/e],this._constrain(),this._calcMatrices()},Tn.unmodified.get=function(){return this._unmodified},wn.prototype.zoomScale=function(t){return Math.pow(2,t)},wn.prototype.scaleZoom=function(t){return Math.log(t)/Math.LN2},wn.prototype.project=function(e){var r=t.clamp(e.lat,-this.maxValidLatitude,this.maxValidLatitude);return new t.Point(t.mercatorXfromLng(e.lng)*this.worldSize,t.mercatorYfromLat(r)*this.worldSize)},wn.prototype.unproject=function(e){return new t.MercatorCoordinate(e.x/this.worldSize,e.y/this.worldSize).toLngLat()},Tn.point.get=function(){return this.project(this.center)},wn.prototype.setLocationAtPoint=function(e,r){var n=this.pointCoordinate(r),i=this.pointCoordinate(this.centerPoint),a=this.locationCoordinate(e),o=new t.MercatorCoordinate(a.x-(n.x-i.x),a.y-(n.y-i.y));this.center=this.coordinateLocation(o),this._renderWorldCopies&&(this.center=this.center.wrap())},wn.prototype.locationPoint=function(t){return this.coordinatePoint(this.locationCoordinate(t))},wn.prototype.pointLocation=function(t){return this.coordinateLocation(this.pointCoordinate(t))},wn.prototype.locationCoordinate=function(e){return t.MercatorCoordinate.fromLngLat(e)},wn.prototype.coordinateLocation=function(t){return t.toLngLat()},wn.prototype.pointCoordinate=function(e){var r=[e.x,e.y,0,1],n=[e.x,e.y,1,1];t.transformMat4(r,r,this.pixelMatrixInverse),t.transformMat4(n,n,this.pixelMatrixInverse);var i=r[3],a=n[3],o=r[1]/i,s=n[1]/a,l=r[2]/i,c=n[2]/a,u=l===c?0:(0-l)/(c-l);return new t.MercatorCoordinate(t.number(r[0]/i,n[0]/a,u)/this.worldSize,t.number(o,s,u)/this.worldSize)},wn.prototype.coordinatePoint=function(e){var r=[e.x*this.worldSize,e.y*this.worldSize,0,1];return t.transformMat4(r,r,this.pixelMatrix),new t.Point(r[0]/r[3],r[1]/r[3])},wn.prototype.getBounds=function(){return(new t.LngLatBounds).extend(this.pointLocation(new t.Point(0,0))).extend(this.pointLocation(new t.Point(this.width,0))).extend(this.pointLocation(new t.Point(this.width,this.height))).extend(this.pointLocation(new t.Point(0,this.height)))},wn.prototype.getMaxBounds=function(){return this.latRange&&2===this.latRange.length&&this.lngRange&&2===this.lngRange.length?new t.LngLatBounds([this.lngRange[0],this.latRange[0]],[this.lngRange[1],this.latRange[1]]):null},wn.prototype.setMaxBounds=function(t){t?(this.lngRange=[t.getWest(),t.getEast()],this.latRange=[t.getSouth(),t.getNorth()],this._constrain()):(this.lngRange=null,this.latRange=[-this.maxValidLatitude,this.maxValidLatitude])},wn.prototype.calculatePosMatrix=function(e,r){void 0===r&&(r=!1);var n=e.key,i=r?this._alignedPosMatrixCache:this._posMatrixCache;if(i[n])return i[n];var a=e.canonical,o=this.worldSize/this.zoomScale(a.z),s=a.x+Math.pow(2,a.z)*e.wrap,l=t.identity(new Float64Array(16));return t.translate(l,l,[s*o,a.y*o,0]),t.scale(l,l,[o/t.EXTENT,o/t.EXTENT,1]),t.multiply(l,r?this.alignedProjMatrix:this.projMatrix,l),i[n]=new Float32Array(l),i[n]},wn.prototype.customLayerMatrix=function(){return this.mercatorMatrix.slice()},wn.prototype._constrain=function(){if(this.center&&this.width&&this.height&&!this._constraining){this._constraining=!0;var e,r,n,i,a=-90,o=90,s=-180,l=180,c=this.size,u=this._unmodified;if(this.latRange){var f=this.latRange;a=t.mercatorYfromLat(f[1])*this.worldSize,e=(o=t.mercatorYfromLat(f[0])*this.worldSize)-a<c.y?c.y/(o-a):0}if(this.lngRange){var h=this.lngRange;s=t.mercatorXfromLng(h[0])*this.worldSize,r=(l=t.mercatorXfromLng(h[1])*this.worldSize)-s<c.x?c.x/(l-s):0}var p=this.point,d=Math.max(r||0,e||0);if(d)return this.center=this.unproject(new t.Point(r?(l+s)/2:p.x,e?(o+a)/2:p.y)),this.zoom+=this.scaleZoom(d),this._unmodified=u,void(this._constraining=!1);if(this.latRange){var g=p.y,m=c.y/2;g-m<a&&(i=a+m),g+m>o&&(i=o-m)}if(this.lngRange){var v=p.x,y=c.x/2;v-y<s&&(n=s+y),v+y>l&&(n=l-y)}void 0===n&&void 0===i||(this.center=this.unproject(new t.Point(void 0!==n?n:p.x,void 0!==i?i:p.y))),this._unmodified=u,this._constraining=!1}},wn.prototype._calcMatrices=function(){if(this.height){var e=this.centerOffset;this.cameraToCenterDistance=.5/Math.tan(this._fov/2)*this.height;var r=Math.PI/2+this._pitch,n=this._fov*(.5+e.y/this.height),i=Math.sin(n)*this.cameraToCenterDistance/Math.sin(t.clamp(Math.PI-r-n,.01,Math.PI-.01)),a=this.point,o=a.x,s=a.y,l=1.01*(Math.cos(Math.PI/2-this._pitch)*i+this.cameraToCenterDistance),c=this.height/50,u=new Float64Array(16);t.perspective(u,this._fov,this.width/this.height,c,l),u[8]=2*-e.x/this.width,u[9]=2*e.y/this.height,t.scale(u,u,[1,-1,1]),t.translate(u,u,[0,0,-this.cameraToCenterDistance]),t.rotateX(u,u,this._pitch),t.rotateZ(u,u,this.angle),t.translate(u,u,[-o,-s,0]),this.mercatorMatrix=t.scale([],u,[this.worldSize,this.worldSize,this.worldSize]),t.scale(u,u,[1,1,t.mercatorZfromAltitude(1,this.center.lat)*this.worldSize,1]),this.projMatrix=u,this.invProjMatrix=t.invert([],this.projMatrix);var f=this.width%2/2,h=this.height%2/2,p=Math.cos(this.angle),d=Math.sin(this.angle),g=o-Math.round(o)+p*f+d*h,m=s-Math.round(s)+p*h+d*f,v=new Float64Array(u);if(t.translate(v,v,[g>.5?g-1:g,m>.5?m-1:m,0]),this.alignedProjMatrix=v,u=t.create(),t.scale(u,u,[this.width/2,-this.height/2,1]),t.translate(u,u,[1,-1,0]),this.labelPlaneMatrix=u,u=t.create(),t.scale(u,u,[1,-1,1]),t.translate(u,u,[-1,-1,0]),t.scale(u,u,[2/this.width,2/this.height,1]),this.glCoordMatrix=u,this.pixelMatrix=t.multiply(new Float64Array(16),this.labelPlaneMatrix,this.projMatrix),!(u=t.invert(new Float64Array(16),this.pixelMatrix)))throw new Error("failed to invert matrix");this.pixelMatrixInverse=u,this._posMatrixCache={},this._alignedPosMatrixCache={}}},wn.prototype.maxPitchScaleFactor=function(){if(!this.pixelMatrixInverse)return 1;var e=this.pointCoordinate(new t.Point(0,0)),r=[e.x*this.worldSize,e.y*this.worldSize,0,1];return t.transformMat4(r,r,this.pixelMatrix)[3]/this.cameraToCenterDistance},wn.prototype.getCameraPoint=function(){var e=Math.tan(this._pitch)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new t.Point(0,e))},wn.prototype.getCameraQueryGeometry=function(e){var r=this.getCameraPoint();if(1===e.length)return[e[0],r];for(var n=r.x,i=r.y,a=r.x,o=r.y,s=0,l=e;s<l.length;s+=1){var c=l[s];n=Math.min(n,c.x),i=Math.min(i,c.y),a=Math.max(a,c.x),o=Math.max(o,c.y)}return[new t.Point(n,i),new t.Point(a,i),new t.Point(a,o),new t.Point(n,o),new t.Point(n,i)]},Object.defineProperties(wn.prototype,Tn);var kn=function(e){var r,n,i,a;this._hashName=e&&encodeURIComponent(e),t.bindAll(["_getCurrentHash","_onHashChange","_updateHash"],this),this._updateHash=(r=this._updateHashUnthrottled.bind(this),n=!1,i=null,a=function(){i=null,n&&(r(),i=setTimeout(a,300),n=!1)},function(){return n=!0,i||a(),i})};kn.prototype.addTo=function(e){return this._map=e,t.window.addEventListener("hashchange",this._onHashChange,!1),this._map.on("moveend",this._updateHash),this},kn.prototype.remove=function(){return t.window.removeEventListener("hashchange",this._onHashChange,!1),this._map.off("moveend",this._updateHash),clearTimeout(this._updateHash()),delete this._map,this},kn.prototype.getHashString=function(e){var r=this._map.getCenter(),n=Math.round(100*this._map.getZoom())/100,i=Math.ceil((n*Math.LN2+Math.log(512/360/.5))/Math.LN10),a=Math.pow(10,i),o=Math.round(r.lng*a)/a,s=Math.round(r.lat*a)/a,l=this._map.getBearing(),c=this._map.getPitch(),u="";if(u+=e?"/"+o+"/"+s+"/"+n:n+"/"+s+"/"+o,(l||c)&&(u+="/"+Math.round(10*l)/10),c&&(u+="/"+Math.round(c)),this._hashName){var f=this._hashName,h=!1,p=t.window.location.hash.slice(1).split("&").map((function(t){var e=t.split("=")[0];return e===f?(h=!0,e+"="+u):t})).filter((function(t){return t}));return h||p.push(f+"="+u),"#"+p.join("&")}return"#"+u},kn.prototype._getCurrentHash=function(){var e,r=this,n=t.window.location.hash.replace("#","");return this._hashName?(n.split("&").map((function(t){return t.split("=")})).forEach((function(t){t[0]===r._hashName&&(e=t)})),(e&&e[1]||"").split("/")):n.split("/")},kn.prototype._onHashChange=function(){var t=this._getCurrentHash();if(t.length>=3&&!t.some((function(t){return isNaN(t)}))){var e=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(t[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+t[2],+t[1]],zoom:+t[0],bearing:e,pitch:+(t[4]||0)}),!0}return!1},kn.prototype._updateHashUnthrottled=function(){var e=this.getHashString();try{t.window.history.replaceState(t.window.history.state,"",e)}catch(t){}};var Mn={linearity:.3,easing:t.bezier(0,0,.3,1)},An=t.extend({deceleration:2500,maxSpeed:1400},Mn),Sn=t.extend({deceleration:20,maxSpeed:1400},Mn),En=t.extend({deceleration:1e3,maxSpeed:360},Mn),Cn=t.extend({deceleration:1e3,maxSpeed:90},Mn),Ln=function(t){this._map=t,this.clear()};function In(t,e){(!t.duration||t.duration<e.duration)&&(t.duration=e.duration,t.easing=e.easing)}function Pn(e,r,n){var i=n.maxSpeed,a=n.linearity,o=n.deceleration,s=t.clamp(e*a/(r/1e3),-i,i),l=Math.abs(s)/(o*a);return{easing:n.easing,duration:1e3*l,amount:s*(l/2)}}Ln.prototype.clear=function(){this._inertiaBuffer=[]},Ln.prototype.record=function(e){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:t.browser.now(),settings:e})},Ln.prototype._drainInertiaBuffer=function(){for(var e=this._inertiaBuffer,r=t.browser.now();e.length>0&&r-e[0].time>160;)e.shift()},Ln.prototype._onMoveEnd=function(e){if(this._drainInertiaBuffer(),!(this._inertiaBuffer.length<2)){for(var r={zoom:0,bearing:0,pitch:0,pan:new t.Point(0,0),pinchAround:void 0,around:void 0},n=0,i=this._inertiaBuffer;n<i.length;n+=1){var a=i[n].settings;r.zoom+=a.zoomDelta||0,r.bearing+=a.bearingDelta||0,r.pitch+=a.pitchDelta||0,a.panDelta&&r.pan._add(a.panDelta),a.around&&(r.around=a.around),a.pinchAround&&(r.pinchAround=a.pinchAround)}var o=this._inertiaBuffer[this._inertiaBuffer.length-1].time-this._inertiaBuffer[0].time,s={};if(r.pan.mag()){var l=Pn(r.pan.mag(),o,t.extend({},An,e||{}));s.offset=r.pan.mult(l.amount/r.pan.mag()),s.center=this._map.transform.center,In(s,l)}if(r.zoom){var c=Pn(r.zoom,o,Sn);s.zoom=this._map.transform.zoom+c.amount,In(s,c)}if(r.bearing){var u=Pn(r.bearing,o,En);s.bearing=this._map.transform.bearing+t.clamp(u.amount,-179,179),In(s,u)}if(r.pitch){var f=Pn(r.pitch,o,Cn);s.pitch=this._map.transform.pitch+f.amount,In(s,f)}if(s.zoom||s.bearing){var h=void 0===r.pinchAround?r.around:r.pinchAround;s.around=h?this._map.unproject(h):this._map.getCenter()}return this.clear(),t.extend(s,{noMoveStart:!0})}};var zn=function(e){function n(n,i,a,o){void 0===o&&(o={});var s=r.mousePos(i.getCanvasContainer(),a),l=i.unproject(s);e.call(this,n,t.extend({point:s,lngLat:l,originalEvent:a},o)),this._defaultPrevented=!1,this.target=i}e&&(n.__proto__=e),(n.prototype=Object.create(e&&e.prototype)).constructor=n;var i={defaultPrevented:{configurable:!0}};return n.prototype.preventDefault=function(){this._defaultPrevented=!0},i.defaultPrevented.get=function(){return this._defaultPrevented},Object.defineProperties(n.prototype,i),n}(t.Event),On=function(e){function n(n,i,a){var o="touchend"===n?a.changedTouches:a.touches,s=r.touchPos(i.getCanvasContainer(),o),l=s.map((function(t){return i.unproject(t)})),c=s.reduce((function(t,e,r,n){return t.add(e.div(n.length))}),new t.Point(0,0)),u=i.unproject(c);e.call(this,n,{points:s,point:c,lngLats:l,lngLat:u,originalEvent:a}),this._defaultPrevented=!1}e&&(n.__proto__=e),(n.prototype=Object.create(e&&e.prototype)).constructor=n;var i={defaultPrevented:{configurable:!0}};return n.prototype.preventDefault=function(){this._defaultPrevented=!0},i.defaultPrevented.get=function(){return this._defaultPrevented},Object.defineProperties(n.prototype,i),n}(t.Event),Dn=function(t){function e(e,r,n){t.call(this,e,{originalEvent:n}),this._defaultPrevented=!1}t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e;var r={defaultPrevented:{configurable:!0}};return e.prototype.preventDefault=function(){this._defaultPrevented=!0},r.defaultPrevented.get=function(){return this._defaultPrevented},Object.defineProperties(e.prototype,r),e}(t.Event),Rn=function(t,e){this._map=t,this._clickTolerance=e.clickTolerance};Rn.prototype.reset=function(){delete this._mousedownPos},Rn.prototype.wheel=function(t){return this._firePreventable(new Dn(t.type,this._map,t))},Rn.prototype.mousedown=function(t,e){return this._mousedownPos=e,this._firePreventable(new zn(t.type,this._map,t))},Rn.prototype.mouseup=function(t){this._map.fire(new zn(t.type,this._map,t))},Rn.prototype.click=function(t,e){this._mousedownPos&&this._mousedownPos.dist(e)>=this._clickTolerance||this._map.fire(new zn(t.type,this._map,t))},Rn.prototype.dblclick=function(t){return this._firePreventable(new zn(t.type,this._map,t))},Rn.prototype.mouseover=function(t){this._map.fire(new zn(t.type,this._map,t))},Rn.prototype.mouseout=function(t){this._map.fire(new zn(t.type,this._map,t))},Rn.prototype.touchstart=function(t){return this._firePreventable(new On(t.type,this._map,t))},Rn.prototype.touchmove=function(t){this._map.fire(new On(t.type,this._map,t))},Rn.prototype.touchend=function(t){this._map.fire(new On(t.type,this._map,t))},Rn.prototype.touchcancel=function(t){this._map.fire(new On(t.type,this._map,t))},Rn.prototype._firePreventable=function(t){if(this._map.fire(t),t.defaultPrevented)return{}},Rn.prototype.isEnabled=function(){return!0},Rn.prototype.isActive=function(){return!1},Rn.prototype.enable=function(){},Rn.prototype.disable=function(){};var Fn=function(t){this._map=t};Fn.prototype.reset=function(){this._delayContextMenu=!1,delete this._contextMenuEvent},Fn.prototype.mousemove=function(t){this._map.fire(new zn(t.type,this._map,t))},Fn.prototype.mousedown=function(){this._delayContextMenu=!0},Fn.prototype.mouseup=function(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new zn("contextmenu",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)},Fn.prototype.contextmenu=function(t){this._delayContextMenu?this._contextMenuEvent=t:this._map.fire(new zn(t.type,this._map,t)),this._map.listens("contextmenu")&&t.preventDefault()},Fn.prototype.isEnabled=function(){return!0},Fn.prototype.isActive=function(){return!1},Fn.prototype.enable=function(){},Fn.prototype.disable=function(){};var Bn=function(t,e){this._map=t,this._el=t.getCanvasContainer(),this._container=t.getContainer(),this._clickTolerance=e.clickTolerance||1};function Nn(t,e){for(var r={},n=0;n<t.length;n++)r[t[n].identifier]=e[n];return r}Bn.prototype.isEnabled=function(){return!!this._enabled},Bn.prototype.isActive=function(){return!!this._active},Bn.prototype.enable=function(){this.isEnabled()||(this._enabled=!0)},Bn.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)},Bn.prototype.mousedown=function(t,e){this.isEnabled()&&t.shiftKey&&0===t.button&&(r.disableDrag(),this._startPos=this._lastPos=e,this._active=!0)},Bn.prototype.mousemoveWindow=function(t,e){if(this._active){var n=e;if(!(this._lastPos.equals(n)||!this._box&&n.dist(this._startPos)<this._clickTolerance)){var i=this._startPos;this._lastPos=n,this._box||(this._box=r.create("div","mapboxgl-boxzoom",this._container),this._container.classList.add("mapboxgl-crosshair"),this._fireEvent("boxzoomstart",t));var a=Math.min(i.x,n.x),o=Math.max(i.x,n.x),s=Math.min(i.y,n.y),l=Math.max(i.y,n.y);r.setTransform(this._box,"translate("+a+"px,"+s+"px)"),this._box.style.width=o-a+"px",this._box.style.height=l-s+"px"}}},Bn.prototype.mouseupWindow=function(e,n){var i=this;if(this._active&&0===e.button){var a=this._startPos,o=n;if(this.reset(),r.suppressClick(),a.x!==o.x||a.y!==o.y)return this._map.fire(new t.Event("boxzoomend",{originalEvent:e})),{cameraAnimation:function(t){return t.fitScreenCoordinates(a,o,i._map.getBearing(),{linear:!0})}};this._fireEvent("boxzoomcancel",e)}},Bn.prototype.keydown=function(t){this._active&&27===t.keyCode&&(this.reset(),this._fireEvent("boxzoomcancel",t))},Bn.prototype.reset=function(){this._active=!1,this._container.classList.remove("mapboxgl-crosshair"),this._box&&(r.remove(this._box),this._box=null),r.enableDrag(),delete this._startPos,delete this._lastPos},Bn.prototype._fireEvent=function(e,r){return this._map.fire(new t.Event(e,{originalEvent:r}))};var jn=function(t){this.reset(),this.numTouches=t.numTouches};jn.prototype.reset=function(){delete this.centroid,delete this.startTime,delete this.touches,this.aborted=!1},jn.prototype.touchstart=function(e,r,n){(this.centroid||n.length>this.numTouches)&&(this.aborted=!0),this.aborted||(void 0===this.startTime&&(this.startTime=e.timeStamp),n.length===this.numTouches&&(this.centroid=function(e){for(var r=new t.Point(0,0),n=0,i=e;n<i.length;n+=1)r._add(i[n]);return r.div(e.length)}(r),this.touches=Nn(n,r)))},jn.prototype.touchmove=function(t,e,r){if(!this.aborted&&this.centroid){var n=Nn(r,e);for(var i in this.touches){var a=n[i];(!a||a.dist(this.touches[i])>30)&&(this.aborted=!0)}}},jn.prototype.touchend=function(t,e,r){if((!this.centroid||t.timeStamp-this.startTime>500)&&(this.aborted=!0),0===r.length){var n=!this.aborted&&this.centroid;if(this.reset(),n)return n}};var Un=function(t){this.singleTap=new jn(t),this.numTaps=t.numTaps,this.reset()};Un.prototype.reset=function(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()},Un.prototype.touchstart=function(t,e,r){this.singleTap.touchstart(t,e,r)},Un.prototype.touchmove=function(t,e,r){this.singleTap.touchmove(t,e,r)},Un.prototype.touchend=function(t,e,r){var n=this.singleTap.touchend(t,e,r);if(n){var i=t.timeStamp-this.lastTime<500,a=!this.lastTap||this.lastTap.dist(n)<30;if(i&&a||this.reset(),this.count++,this.lastTime=t.timeStamp,this.lastTap=n,this.count===this.numTaps)return this.reset(),n}};var Vn=function(){this._zoomIn=new Un({numTouches:1,numTaps:2}),this._zoomOut=new Un({numTouches:2,numTaps:1}),this.reset()};Vn.prototype.reset=function(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset()},Vn.prototype.touchstart=function(t,e,r){this._zoomIn.touchstart(t,e,r),this._zoomOut.touchstart(t,e,r)},Vn.prototype.touchmove=function(t,e,r){this._zoomIn.touchmove(t,e,r),this._zoomOut.touchmove(t,e,r)},Vn.prototype.touchend=function(t,e,r){var n=this,i=this._zoomIn.touchend(t,e,r),a=this._zoomOut.touchend(t,e,r);return i?(this._active=!0,t.preventDefault(),setTimeout((function(){return n.reset()}),0),{cameraAnimation:function(e){return e.easeTo({duration:300,zoom:e.getZoom()+1,around:e.unproject(i)},{originalEvent:t})}}):a?(this._active=!0,t.preventDefault(),setTimeout((function(){return n.reset()}),0),{cameraAnimation:function(e){return e.easeTo({duration:300,zoom:e.getZoom()-1,around:e.unproject(a)},{originalEvent:t})}}):void 0},Vn.prototype.touchcancel=function(){this.reset()},Vn.prototype.enable=function(){this._enabled=!0},Vn.prototype.disable=function(){this._enabled=!1,this.reset()},Vn.prototype.isEnabled=function(){return this._enabled},Vn.prototype.isActive=function(){return this._active};var qn=function(t){this.reset(),this._clickTolerance=t.clickTolerance||1};qn.prototype.reset=function(){this._active=!1,this._moved=!1,delete this._lastPoint,delete this._eventButton},qn.prototype._correctButton=function(t,e){return!1},qn.prototype._move=function(t,e){return{}},qn.prototype.mousedown=function(t,e){if(!this._lastPoint){var n=r.mouseButton(t);this._correctButton(t,n)&&(this._lastPoint=e,this._eventButton=n)}},qn.prototype.mousemoveWindow=function(t,e){var r=this._lastPoint;if(r&&(t.preventDefault(),this._moved||!(e.dist(r)<this._clickTolerance)))return this._moved=!0,this._lastPoint=e,this._move(r,e)},qn.prototype.mouseupWindow=function(t){r.mouseButton(t)===this._eventButton&&(this._moved&&r.suppressClick(),this.reset())},qn.prototype.enable=function(){this._enabled=!0},qn.prototype.disable=function(){this._enabled=!1,this.reset()},qn.prototype.isEnabled=function(){return this._enabled},qn.prototype.isActive=function(){return this._active};var Hn=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.mousedown=function(e,r){t.prototype.mousedown.call(this,e,r),this._lastPoint&&(this._active=!0)},e.prototype._correctButton=function(t,e){return 0===e&&!t.ctrlKey},e.prototype._move=function(t,e){return{around:e,panDelta:e.sub(t)}},e}(qn),Gn=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._correctButton=function(t,e){return 0===e&&t.ctrlKey||2===e},e.prototype._move=function(t,e){var r=.8*(e.x-t.x);if(r)return this._active=!0,{bearingDelta:r}},e.prototype.contextmenu=function(t){t.preventDefault()},e}(qn),Yn=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._correctButton=function(t,e){return 0===e&&t.ctrlKey||2===e},e.prototype._move=function(t,e){var r=-.5*(e.y-t.y);if(r)return this._active=!0,{pitchDelta:r}},e.prototype.contextmenu=function(t){t.preventDefault()},e}(qn),Wn=function(t){this._minTouches=1,this._clickTolerance=t.clickTolerance||1,this.reset()};Wn.prototype.reset=function(){this._active=!1,this._touches={},this._sum=new t.Point(0,0)},Wn.prototype.touchstart=function(t,e,r){return this._calculateTransform(t,e,r)},Wn.prototype.touchmove=function(t,e,r){if(this._active)return t.preventDefault(),this._calculateTransform(t,e,r)},Wn.prototype.touchend=function(t,e,r){this._calculateTransform(t,e,r),this._active&&r.length<this._minTouches&&this.reset()},Wn.prototype.touchcancel=function(){this.reset()},Wn.prototype._calculateTransform=function(e,r,n){n.length>0&&(this._active=!0);var i=Nn(n,r),a=new t.Point(0,0),o=new t.Point(0,0),s=0;for(var l in i){var c=i[l],u=this._touches[l];u&&(a._add(c),o._add(c.sub(u)),s++,i[l]=c)}if(this._touches=i,!(s<this._minTouches)&&o.mag()){var f=o.div(s);if(this._sum._add(f),!(this._sum.mag()<this._clickTolerance))return{around:a.div(s),panDelta:f}}},Wn.prototype.enable=function(){this._enabled=!0},Wn.prototype.disable=function(){this._enabled=!1,this.reset()},Wn.prototype.isEnabled=function(){return this._enabled},Wn.prototype.isActive=function(){return this._active};var Xn=function(){this.reset()};function Zn(t,e,r){for(var n=0;n<t.length;n++)if(t[n].identifier===r)return e[n]}function Jn(t,e){return Math.log(t/e)/Math.LN2}Xn.prototype.reset=function(){this._active=!1,delete this._firstTwoTouches},Xn.prototype._start=function(t){},Xn.prototype._move=function(t,e,r){return{}},Xn.prototype.touchstart=function(t,e,r){this._firstTwoTouches||r.length<2||(this._firstTwoTouches=[r[0].identifier,r[1].identifier],this._start([e[0],e[1]]))},Xn.prototype.touchmove=function(t,e,r){if(this._firstTwoTouches){t.preventDefault();var n=this._firstTwoTouches,i=n[1],a=Zn(r,e,n[0]),o=Zn(r,e,i);if(a&&o){var s=this._aroundCenter?null:a.add(o).div(2);return this._move([a,o],s,t)}}},Xn.prototype.touchend=function(t,e,n){if(this._firstTwoTouches){var i=this._firstTwoTouches,a=i[1],o=Zn(n,e,i[0]),s=Zn(n,e,a);o&&s||(this._active&&r.suppressClick(),this.reset())}},Xn.prototype.touchcancel=function(){this.reset()},Xn.prototype.enable=function(t){this._enabled=!0,this._aroundCenter=!!t&&"center"===t.around},Xn.prototype.disable=function(){this._enabled=!1,this.reset()},Xn.prototype.isEnabled=function(){return this._enabled},Xn.prototype.isActive=function(){return this._active};var Kn=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.reset=function(){t.prototype.reset.call(this),delete this._distance,delete this._startDistance},e.prototype._start=function(t){this._startDistance=this._distance=t[0].dist(t[1])},e.prototype._move=function(t,e){var r=this._distance;if(this._distance=t[0].dist(t[1]),this._active||!(Math.abs(Jn(this._distance,this._startDistance))<.1))return this._active=!0,{zoomDelta:Jn(this._distance,r),pinchAround:e}},e}(Xn);function Qn(t,e){return 180*t.angleWith(e)/Math.PI}var $n=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.reset=function(){t.prototype.reset.call(this),delete this._minDiameter,delete this._startVector,delete this._vector},e.prototype._start=function(t){this._startVector=this._vector=t[0].sub(t[1]),this._minDiameter=t[0].dist(t[1])},e.prototype._move=function(t,e){var r=this._vector;if(this._vector=t[0].sub(t[1]),this._active||!this._isBelowThreshold(this._vector))return this._active=!0,{bearingDelta:Qn(this._vector,r),pinchAround:e}},e.prototype._isBelowThreshold=function(t){this._minDiameter=Math.min(this._minDiameter,t.mag());var e=25/(Math.PI*this._minDiameter)*360,r=Qn(t,this._startVector);return Math.abs(r)<e},e}(Xn);function ti(t){return Math.abs(t.y)>Math.abs(t.x)}var ei=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.reset=function(){t.prototype.reset.call(this),this._valid=void 0,delete this._firstMove,delete this._lastPoints},e.prototype._start=function(t){this._lastPoints=t,ti(t[0].sub(t[1]))&&(this._valid=!1)},e.prototype._move=function(t,e,r){var n=t[0].sub(this._lastPoints[0]),i=t[1].sub(this._lastPoints[1]);if(this._valid=this.gestureBeginsVertically(n,i,r.timeStamp),this._valid)return this._lastPoints=t,this._active=!0,{pitchDelta:(n.y+i.y)/2*-.5}},e.prototype.gestureBeginsVertically=function(t,e,r){if(void 0!==this._valid)return this._valid;var n=t.mag()>=2,i=e.mag()>=2;if(n||i){if(!n||!i)return void 0===this._firstMove&&(this._firstMove=r),r-this._firstMove<100&&void 0;var a=t.y>0==e.y>0;return ti(t)&&ti(e)&&a}},e}(Xn),ri={panStep:100,bearingStep:15,pitchStep:10},ni=function(){var t=ri;this._panStep=t.panStep,this._bearingStep=t.bearingStep,this._pitchStep=t.pitchStep};function ii(t){return t*(2-t)}ni.prototype.reset=function(){this._active=!1},ni.prototype.keydown=function(t){var e=this;if(!(t.altKey||t.ctrlKey||t.metaKey)){var r=0,n=0,i=0,a=0,o=0;switch(t.keyCode){case 61:case 107:case 171:case 187:r=1;break;case 189:case 109:case 173:r=-1;break;case 37:t.shiftKey?n=-1:(t.preventDefault(),a=-1);break;case 39:t.shiftKey?n=1:(t.preventDefault(),a=1);break;case 38:t.shiftKey?i=1:(t.preventDefault(),o=-1);break;case 40:t.shiftKey?i=-1:(t.preventDefault(),o=1);break;default:return}return{cameraAnimation:function(s){var l=s.getZoom();s.easeTo({duration:300,easeId:"keyboardHandler",easing:ii,zoom:r?Math.round(l)+r*(t.shiftKey?2:1):l,bearing:s.getBearing()+n*e._bearingStep,pitch:s.getPitch()+i*e._pitchStep,offset:[-a*e._panStep,-o*e._panStep],center:s.getCenter()},{originalEvent:t})}}}},ni.prototype.enable=function(){this._enabled=!0},ni.prototype.disable=function(){this._enabled=!1,this.reset()},ni.prototype.isEnabled=function(){return this._enabled},ni.prototype.isActive=function(){return this._active};var ai=function(e,r){this._map=e,this._el=e.getCanvasContainer(),this._handler=r,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=1/450,t.bindAll(["_onWheel","_onTimeout","_onScrollFrame","_onScrollFinished"],this)};ai.prototype.setZoomRate=function(t){this._defaultZoomRate=t},ai.prototype.setWheelZoomRate=function(t){this._wheelZoomRate=t},ai.prototype.isEnabled=function(){return!!this._enabled},ai.prototype.isActive=function(){return!!this._active||void 0!==this._finishTimeout},ai.prototype.isZooming=function(){return!!this._zooming},ai.prototype.enable=function(t){this.isEnabled()||(this._enabled=!0,this._aroundCenter=t&&"center"===t.around)},ai.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)},ai.prototype.wheel=function(e){if(this.isEnabled()){var r=e.deltaMode===t.window.WheelEvent.DOM_DELTA_LINE?40*e.deltaY:e.deltaY,n=t.browser.now(),i=n-(this._lastWheelEventTime||0);this._lastWheelEventTime=n,0!==r&&r%4.000244140625==0?this._type="wheel":0!==r&&Math.abs(r)<4?this._type="trackpad":i>400?(this._type=null,this._lastValue=r,this._timeout=setTimeout(this._onTimeout,40,e)):this._type||(this._type=Math.abs(i*r)<200?"trackpad":"wheel",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,r+=this._lastValue)),e.shiftKey&&r&&(r/=4),this._type&&(this._lastWheelEvent=e,this._delta-=r,this._active||this._start(e)),e.preventDefault()}},ai.prototype._onTimeout=function(t){this._type="wheel",this._delta-=this._lastValue,this._active||this._start(t)},ai.prototype._start=function(e){if(this._delta){this._frameId&&(this._frameId=null),this._active=!0,this.isZooming()||(this._zooming=!0),this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout);var n=r.mousePos(this._el,e);this._around=t.LngLat.convert(this._aroundCenter?this._map.getCenter():this._map.unproject(n)),this._aroundPoint=this._map.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._handler._triggerRenderFrame())}},ai.prototype.renderFrame=function(){return this._onScrollFrame()},ai.prototype._onScrollFrame=function(){var e=this;if(this._frameId&&(this._frameId=null,this.isActive())){var r=this._map.transform;if(0!==this._delta){var n="wheel"===this._type&&Math.abs(this._delta)>4.000244140625?this._wheelZoomRate:this._defaultZoomRate,i=2/(1+Math.exp(-Math.abs(this._delta*n)));this._delta<0&&0!==i&&(i=1/i);var a="number"==typeof this._targetZoom?r.zoomScale(this._targetZoom):r.scale;this._targetZoom=Math.min(r.maxZoom,Math.max(r.minZoom,r.scaleZoom(a*i))),"wheel"===this._type&&(this._startZoom=r.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}var o,s="number"==typeof this._targetZoom?this._targetZoom:r.zoom,l=this._startZoom,c=this._easing,u=!1;if("wheel"===this._type&&l&&c){var f=Math.min((t.browser.now()-this._lastWheelEventTime)/200,1),h=c(f);o=t.number(l,s,h),f<1?this._frameId||(this._frameId=!0):u=!0}else o=s,u=!0;return this._active=!0,u&&(this._active=!1,this._finishTimeout=setTimeout((function(){e._zooming=!1,e._handler._triggerRenderFrame(),delete e._targetZoom,delete e._finishTimeout}),200)),{noInertia:!0,needsRenderFrame:!u,zoomDelta:o-r.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}},ai.prototype._smoothOutEasing=function(e){var r=t.ease;if(this._prevEase){var n=this._prevEase,i=(t.browser.now()-n.start)/n.duration,a=n.easing(i+.01)-n.easing(i),o=.27/Math.sqrt(a*a+1e-4)*.01,s=Math.sqrt(.0729-o*o);r=t.bezier(o,s,.25,1)}return this._prevEase={start:t.browser.now(),duration:e,easing:r},r},ai.prototype.reset=function(){this._active=!1};var oi=function(t,e){this._clickZoom=t,this._tapZoom=e};oi.prototype.enable=function(){this._clickZoom.enable(),this._tapZoom.enable()},oi.prototype.disable=function(){this._clickZoom.disable(),this._tapZoom.disable()},oi.prototype.isEnabled=function(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()},oi.prototype.isActive=function(){return this._clickZoom.isActive()||this._tapZoom.isActive()};var si=function(){this.reset()};si.prototype.reset=function(){this._active=!1},si.prototype.dblclick=function(t,e){return t.preventDefault(),{cameraAnimation:function(r){r.easeTo({duration:300,zoom:r.getZoom()+(t.shiftKey?-1:1),around:r.unproject(e)},{originalEvent:t})}}},si.prototype.enable=function(){this._enabled=!0},si.prototype.disable=function(){this._enabled=!1,this.reset()},si.prototype.isEnabled=function(){return this._enabled},si.prototype.isActive=function(){return this._active};var li=function(){this._tap=new Un({numTouches:1,numTaps:1}),this.reset()};li.prototype.reset=function(){this._active=!1,delete this._swipePoint,delete this._swipeTouch,delete this._tapTime,this._tap.reset()},li.prototype.touchstart=function(t,e,r){this._swipePoint||(this._tapTime&&t.timeStamp-this._tapTime>500&&this.reset(),this._tapTime?r.length>0&&(this._swipePoint=e[0],this._swipeTouch=r[0].identifier):this._tap.touchstart(t,e,r))},li.prototype.touchmove=function(t,e,r){if(this._tapTime){if(this._swipePoint){if(r[0].identifier!==this._swipeTouch)return;var n=e[0],i=n.y-this._swipePoint.y;return this._swipePoint=n,t.preventDefault(),this._active=!0,{zoomDelta:i/128}}}else this._tap.touchmove(t,e,r)},li.prototype.touchend=function(t,e,r){this._tapTime?this._swipePoint&&0===r.length&&this.reset():this._tap.touchend(t,e,r)&&(this._tapTime=t.timeStamp)},li.prototype.touchcancel=function(){this.reset()},li.prototype.enable=function(){this._enabled=!0},li.prototype.disable=function(){this._enabled=!1,this.reset()},li.prototype.isEnabled=function(){return this._enabled},li.prototype.isActive=function(){return this._active};var ci=function(t,e,r){this._el=t,this._mousePan=e,this._touchPan=r};ci.prototype.enable=function(t){this._inertiaOptions=t||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add("mapboxgl-touch-drag-pan")},ci.prototype.disable=function(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove("mapboxgl-touch-drag-pan")},ci.prototype.isEnabled=function(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()},ci.prototype.isActive=function(){return this._mousePan.isActive()||this._touchPan.isActive()};var ui=function(t,e,r){this._pitchWithRotate=t.pitchWithRotate,this._mouseRotate=e,this._mousePitch=r};ui.prototype.enable=function(){this._mouseRotate.enable(),this._pitchWithRotate&&this._mousePitch.enable()},ui.prototype.disable=function(){this._mouseRotate.disable(),this._mousePitch.disable()},ui.prototype.isEnabled=function(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())},ui.prototype.isActive=function(){return this._mouseRotate.isActive()||this._mousePitch.isActive()};var fi=function(t,e,r,n){this._el=t,this._touchZoom=e,this._touchRotate=r,this._tapDragZoom=n,this._rotationDisabled=!1,this._enabled=!0};fi.prototype.enable=function(t){this._touchZoom.enable(t),this._rotationDisabled||this._touchRotate.enable(t),this._tapDragZoom.enable(),this._el.classList.add("mapboxgl-touch-zoom-rotate")},fi.prototype.disable=function(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove("mapboxgl-touch-zoom-rotate")},fi.prototype.isEnabled=function(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()},fi.prototype.isActive=function(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()},fi.prototype.disableRotation=function(){this._rotationDisabled=!0,this._touchRotate.disable()},fi.prototype.enableRotation=function(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable()};var hi=function(t){return t.zoom||t.drag||t.pitch||t.rotate},pi=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e}(t.Event);function di(t){return t.panDelta&&t.panDelta.mag()||t.zoomDelta||t.bearingDelta||t.pitchDelta}var gi=function(e,n){this._map=e,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new Ln(e),this._bearingSnap=n.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(n),t.bindAll(["handleEvent","handleWindowEvent"],this);var i=this._el;this._listeners=[[i,"touchstart",{passive:!1}],[i,"touchmove",{passive:!1}],[i,"touchend",void 0],[i,"touchcancel",void 0],[i,"mousedown",void 0],[i,"mousemove",void 0],[i,"mouseup",void 0],[t.window.document,"mousemove",{capture:!0}],[t.window.document,"mouseup",void 0],[i,"mouseover",void 0],[i,"mouseout",void 0],[i,"dblclick",void 0],[i,"click",void 0],[i,"keydown",{capture:!1}],[i,"keyup",void 0],[i,"wheel",{passive:!1}],[i,"contextmenu",void 0],[t.window,"blur",void 0]];for(var a=0,o=this._listeners;a<o.length;a+=1){var s=o[a],l=s[0];r.addEventListener(l,s[1],l===t.window.document?this.handleWindowEvent:this.handleEvent,s[2])}};gi.prototype.destroy=function(){for(var e=0,n=this._listeners;e<n.length;e+=1){var i=n[e],a=i[0];r.removeEventListener(a,i[1],a===t.window.document?this.handleWindowEvent:this.handleEvent,i[2])}},gi.prototype._addDefaultHandlers=function(t){var e=this._map,r=e.getCanvasContainer();this._add("mapEvent",new Rn(e,t));var n=e.boxZoom=new Bn(e,t);this._add("boxZoom",n);var i=new Vn,a=new si;e.doubleClickZoom=new oi(a,i),this._add("tapZoom",i),this._add("clickZoom",a);var o=new li;this._add("tapDragZoom",o);var s=e.touchPitch=new ei;this._add("touchPitch",s);var l=new Gn(t),c=new Yn(t);e.dragRotate=new ui(t,l,c),this._add("mouseRotate",l,["mousePitch"]),this._add("mousePitch",c,["mouseRotate"]);var u=new Hn(t),f=new Wn(t);e.dragPan=new ci(r,u,f),this._add("mousePan",u),this._add("touchPan",f,["touchZoom","touchRotate"]);var h=new $n,p=new Kn;e.touchZoomRotate=new fi(r,p,h,o),this._add("touchRotate",h,["touchPan","touchZoom"]),this._add("touchZoom",p,["touchPan","touchRotate"]);var d=e.scrollZoom=new ai(e,this);this._add("scrollZoom",d,["mousePan"]);var g=e.keyboard=new ni;this._add("keyboard",g),this._add("blockableMapEvent",new Fn(e));for(var m=0,v=["boxZoom","doubleClickZoom","tapDragZoom","touchPitch","dragRotate","dragPan","touchZoomRotate","scrollZoom","keyboard"];m<v.length;m+=1){var y=v[m];t.interactive&&t[y]&&e[y].enable(t[y])}},gi.prototype._add=function(t,e,r){this._handlers.push({handlerName:t,handler:e,allowed:r}),this._handlersById[t]=e},gi.prototype.stop=function(){if(!this._updatingCamera){for(var t=0,e=this._handlers;t<e.length;t+=1)e[t].handler.reset();this._inertia.clear(),this._fireEvents({},{}),this._changes=[]}},gi.prototype.isActive=function(){for(var t=0,e=this._handlers;t<e.length;t+=1)if(e[t].handler.isActive())return!0;return!1},gi.prototype.isZooming=function(){return!!this._eventsInProgress.zoom||this._map.scrollZoom.isZooming()},gi.prototype.isRotating=function(){return!!this._eventsInProgress.rotate},gi.prototype.isMoving=function(){return Boolean(hi(this._eventsInProgress))||this.isZooming()},gi.prototype._blockedByActive=function(t,e,r){for(var n in t)if(n!==r&&(!e||e.indexOf(n)<0))return!0;return!1},gi.prototype.handleWindowEvent=function(t){this.handleEvent(t,t.type+"Window")},gi.prototype._getMapTouches=function(t){for(var e=[],r=0,n=t;r<n.length;r+=1){var i=n[r];this._el.contains(i.target)&&e.push(i)}return e},gi.prototype.handleEvent=function(t,e){if("blur"!==t.type){this._updatingCamera=!0;for(var n="renderFrame"===t.type?void 0:t,i={needsRenderFrame:!1},a={},o={},s=t.touches?this._getMapTouches(t.touches):void 0,l=s?r.touchPos(this._el,s):r.mousePos(this._el,t),c=0,u=this._handlers;c<u.length;c+=1){var f=u[c],h=f.handlerName,p=f.handler,d=f.allowed;if(p.isEnabled()){var g=void 0;this._blockedByActive(o,d,h)?p.reset():p[e||t.type]&&(g=p[e||t.type](t,l,s),this.mergeHandlerResult(i,a,g,h,n),g&&g.needsRenderFrame&&this._triggerRenderFrame()),(g||p.isActive())&&(o[h]=p)}}var m={};for(var v in this._previousActiveHandlers)o[v]||(m[v]=n);this._previousActiveHandlers=o,(Object.keys(m).length||di(i))&&(this._changes.push([i,a,m]),this._triggerRenderFrame()),(Object.keys(o).length||di(i))&&this._map._stop(!0),this._updatingCamera=!1;var y=i.cameraAnimation;y&&(this._inertia.clear(),this._fireEvents({},{}),this._changes=[],y(this._map))}else this.stop()},gi.prototype.mergeHandlerResult=function(e,r,n,i,a){if(n){t.extend(e,n);var o={handlerName:i,originalEvent:n.originalEvent||a};void 0!==n.zoomDelta&&(r.zoom=o),void 0!==n.panDelta&&(r.drag=o),void 0!==n.pitchDelta&&(r.pitch=o),void 0!==n.bearingDelta&&(r.rotate=o)}},gi.prototype._applyChanges=function(){for(var e={},r={},n={},i=0,a=this._changes;i<a.length;i+=1){var o=a[i],s=o[0],l=o[1],c=o[2];s.panDelta&&(e.panDelta=(e.panDelta||new t.Point(0,0))._add(s.panDelta)),s.zoomDelta&&(e.zoomDelta=(e.zoomDelta||0)+s.zoomDelta),s.bearingDelta&&(e.bearingDelta=(e.bearingDelta||0)+s.bearingDelta),s.pitchDelta&&(e.pitchDelta=(e.pitchDelta||0)+s.pitchDelta),void 0!==s.around&&(e.around=s.around),void 0!==s.pinchAround&&(e.pinchAround=s.pinchAround),s.noInertia&&(e.noInertia=s.noInertia),t.extend(r,l),t.extend(n,c)}this._updateMapTransform(e,r,n),this._changes=[]},gi.prototype._updateMapTransform=function(t,e,r){var n=this._map,i=n.transform;if(!di(t))return this._fireEvents(e,r);var a=t.panDelta,o=t.zoomDelta,s=t.bearingDelta,l=t.pitchDelta,c=t.around,u=t.pinchAround;void 0!==u&&(c=u),n._stop(!0),c=c||n.transform.centerPoint;var f=i.pointLocation(a?c.sub(a):c);s&&(i.bearing+=s),l&&(i.pitch+=l),o&&(i.zoom+=o),i.setLocationAtPoint(f,c),this._map._update(),t.noInertia||this._inertia.record(t),this._fireEvents(e,r)},gi.prototype._fireEvents=function(e,r){var n=this,i=hi(this._eventsInProgress),a=hi(e),o={};for(var s in e)this._eventsInProgress[s]||(o[s+"start"]=e[s].originalEvent),this._eventsInProgress[s]=e[s];for(var l in!i&&a&&this._fireEvent("movestart",a.originalEvent),o)this._fireEvent(l,o[l]);for(var c in e.rotate&&(this._bearingChanged=!0),a&&this._fireEvent("move",a.originalEvent),e)this._fireEvent(c,e[c].originalEvent);var u,f={};for(var h in this._eventsInProgress){var p=this._eventsInProgress[h],d=p.handlerName,g=p.originalEvent;this._handlersById[d].isActive()||(delete this._eventsInProgress[h],f[h+"end"]=u=r[d]||g)}for(var m in f)this._fireEvent(m,f[m]);var v=hi(this._eventsInProgress);if((i||a)&&!v){this._updatingCamera=!0;var y=this._inertia._onMoveEnd(this._map.dragPan._inertiaOptions),x=function(t){return 0!==t&&-n._bearingSnap<t&&t<n._bearingSnap};y?(x(y.bearing||this._map.getBearing())&&(y.bearing=0),this._map.easeTo(y,{originalEvent:u})):(this._map.fire(new t.Event("moveend",{originalEvent:u})),x(this._map.getBearing())&&this._map.resetNorth()),this._bearingChanged=!1,this._updatingCamera=!1}},gi.prototype._fireEvent=function(e,r){this._map.fire(new t.Event(e,r?{originalEvent:r}:{}))},gi.prototype._triggerRenderFrame=function(){var t=this;void 0===this._frameId&&(this._frameId=this._map._requestRenderFrame((function(e){delete t._frameId,t.handleEvent(new pi("renderFrame",{timeStamp:e})),t._applyChanges()})))};var mi=function(e){function r(r,n){e.call(this),this._moving=!1,this._zooming=!1,this.transform=r,this._bearingSnap=n.bearingSnap,t.bindAll(["_renderFrameCallback"],this)}return e&&(r.__proto__=e),(r.prototype=Object.create(e&&e.prototype)).constructor=r,r.prototype.getCenter=function(){return new t.LngLat(this.transform.center.lng,this.transform.center.lat)},r.prototype.setCenter=function(t,e){return this.jumpTo({center:t},e)},r.prototype.panBy=function(e,r,n){return e=t.Point.convert(e).mult(-1),this.panTo(this.transform.center,t.extend({offset:e},r),n)},r.prototype.panTo=function(e,r,n){return this.easeTo(t.extend({center:e},r),n)},r.prototype.getZoom=function(){return this.transform.zoom},r.prototype.setZoom=function(t,e){return this.jumpTo({zoom:t},e),this},r.prototype.zoomTo=function(e,r,n){return this.easeTo(t.extend({zoom:e},r),n)},r.prototype.zoomIn=function(t,e){return this.zoomTo(this.getZoom()+1,t,e),this},r.prototype.zoomOut=function(t,e){return this.zoomTo(this.getZoom()-1,t,e),this},r.prototype.getBearing=function(){return this.transform.bearing},r.prototype.setBearing=function(t,e){return this.jumpTo({bearing:t},e),this},r.prototype.getPadding=function(){return this.transform.padding},r.prototype.setPadding=function(t,e){return this.jumpTo({padding:t},e),this},r.prototype.rotateTo=function(e,r,n){return this.easeTo(t.extend({bearing:e},r),n)},r.prototype.resetNorth=function(e,r){return this.rotateTo(0,t.extend({duration:1e3},e),r),this},r.prototype.resetNorthPitch=function(e,r){return this.easeTo(t.extend({bearing:0,pitch:0,duration:1e3},e),r),this},r.prototype.snapToNorth=function(t,e){return Math.abs(this.getBearing())<this._bearingSnap?this.resetNorth(t,e):this},r.prototype.getPitch=function(){return this.transform.pitch},r.prototype.setPitch=function(t,e){return this.jumpTo({pitch:t},e),this},r.prototype.cameraForBounds=function(e,r){return e=t.LngLatBounds.convert(e),this._cameraForBoxAndBearing(e.getNorthWest(),e.getSouthEast(),0,r)},r.prototype._cameraForBoxAndBearing=function(e,r,n,i){var a={top:0,bottom:0,right:0,left:0};if("number"==typeof(i=t.extend({padding:a,offset:[0,0],maxZoom:this.transform.maxZoom},i)).padding){var o=i.padding;i.padding={top:o,bottom:o,right:o,left:o}}i.padding=t.extend(a,i.padding);var s=this.transform,l=s.padding,c=s.project(t.LngLat.convert(e)),u=s.project(t.LngLat.convert(r)),f=c.rotate(-n*Math.PI/180),h=u.rotate(-n*Math.PI/180),p=new t.Point(Math.max(f.x,h.x),Math.max(f.y,h.y)),d=new t.Point(Math.min(f.x,h.x),Math.min(f.y,h.y)),g=p.sub(d),m=(s.width-(l.left+l.right+i.padding.left+i.padding.right))/g.x,v=(s.height-(l.top+l.bottom+i.padding.top+i.padding.bottom))/g.y;if(!(v<0||m<0)){var y=Math.min(s.scaleZoom(s.scale*Math.min(m,v)),i.maxZoom),x=t.Point.convert(i.offset),b=new t.Point(x.x+(i.padding.left-i.padding.right)/2,x.y+(i.padding.top-i.padding.bottom)/2).mult(s.scale/s.zoomScale(y));return{center:s.unproject(c.add(u).div(2).sub(b)),zoom:y,bearing:n}}t.warnOnce("Map cannot fit within canvas with the given bounds, padding, and/or offset.")},r.prototype.fitBounds=function(t,e,r){return this._fitInternal(this.cameraForBounds(t,e),e,r)},r.prototype.fitScreenCoordinates=function(e,r,n,i,a){return this._fitInternal(this._cameraForBoxAndBearing(this.transform.pointLocation(t.Point.convert(e)),this.transform.pointLocation(t.Point.convert(r)),n,i),i,a)},r.prototype._fitInternal=function(e,r,n){return e?(delete(r=t.extend(e,r)).padding,r.linear?this.easeTo(r,n):this.flyTo(r,n)):this},r.prototype.jumpTo=function(e,r){this.stop();var n=this.transform,i=!1,a=!1,o=!1;return"zoom"in e&&n.zoom!==+e.zoom&&(i=!0,n.zoom=+e.zoom),void 0!==e.center&&(n.center=t.LngLat.convert(e.center)),"bearing"in e&&n.bearing!==+e.bearing&&(a=!0,n.bearing=+e.bearing),"pitch"in e&&n.pitch!==+e.pitch&&(o=!0,n.pitch=+e.pitch),null==e.padding||n.isPaddingEqual(e.padding)||(n.padding=e.padding),this.fire(new t.Event("movestart",r)).fire(new t.Event("move",r)),i&&this.fire(new t.Event("zoomstart",r)).fire(new t.Event("zoom",r)).fire(new t.Event("zoomend",r)),a&&this.fire(new t.Event("rotatestart",r)).fire(new t.Event("rotate",r)).fire(new t.Event("rotateend",r)),o&&this.fire(new t.Event("pitchstart",r)).fire(new t.Event("pitch",r)).fire(new t.Event("pitchend",r)),this.fire(new t.Event("moveend",r))},r.prototype.easeTo=function(e,r){var n=this;this._stop(!1,e.easeId),(!1===(e=t.extend({offset:[0,0],duration:500,easing:t.ease},e)).animate||!e.essential&&t.browser.prefersReducedMotion)&&(e.duration=0);var i=this.transform,a=this.getZoom(),o=this.getBearing(),s=this.getPitch(),l=this.getPadding(),c="zoom"in e?+e.zoom:a,u="bearing"in e?this._normalizeBearing(e.bearing,o):o,f="pitch"in e?+e.pitch:s,h="padding"in e?e.padding:i.padding,p=t.Point.convert(e.offset),d=i.centerPoint.add(p),g=i.pointLocation(d),m=t.LngLat.convert(e.center||g);this._normalizeCenter(m);var v,y,x=i.project(g),b=i.project(m).sub(x),_=i.zoomScale(c-a);e.around&&(v=t.LngLat.convert(e.around),y=i.locationPoint(v));var w={moving:this._moving,zooming:this._zooming,rotating:this._rotating,pitching:this._pitching};return this._zooming=this._zooming||c!==a,this._rotating=this._rotating||o!==u,this._pitching=this._pitching||f!==s,this._padding=!i.isPaddingEqual(h),this._easeId=e.easeId,this._prepareEase(r,e.noMoveStart,w),clearTimeout(this._easeEndTimeoutID),this._ease((function(e){if(n._zooming&&(i.zoom=t.number(a,c,e)),n._rotating&&(i.bearing=t.number(o,u,e)),n._pitching&&(i.pitch=t.number(s,f,e)),n._padding&&(i.interpolatePadding(l,h,e),d=i.centerPoint.add(p)),v)i.setLocationAtPoint(v,y);else{var g=i.zoomScale(i.zoom-a),m=c>a?Math.min(2,_):Math.max(.5,_),w=Math.pow(m,1-e),T=i.unproject(x.add(b.mult(e*w)).mult(g));i.setLocationAtPoint(i.renderWorldCopies?T.wrap():T,d)}n._fireMoveEvents(r)}),(function(t){n._afterEase(r,t)}),e),this},r.prototype._prepareEase=function(e,r,n){void 0===n&&(n={}),this._moving=!0,r||n.moving||this.fire(new t.Event("movestart",e)),this._zooming&&!n.zooming&&this.fire(new t.Event("zoomstart",e)),this._rotating&&!n.rotating&&this.fire(new t.Event("rotatestart",e)),this._pitching&&!n.pitching&&this.fire(new t.Event("pitchstart",e))},r.prototype._fireMoveEvents=function(e){this.fire(new t.Event("move",e)),this._zooming&&this.fire(new t.Event("zoom",e)),this._rotating&&this.fire(new t.Event("rotate",e)),this._pitching&&this.fire(new t.Event("pitch",e))},r.prototype._afterEase=function(e,r){if(!this._easeId||!r||this._easeId!==r){delete this._easeId;var n=this._zooming,i=this._rotating,a=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,n&&this.fire(new t.Event("zoomend",e)),i&&this.fire(new t.Event("rotateend",e)),a&&this.fire(new t.Event("pitchend",e)),this.fire(new t.Event("moveend",e))}},r.prototype.flyTo=function(e,r){var n=this;if(!e.essential&&t.browser.prefersReducedMotion){var i=t.pick(e,["center","zoom","bearing","pitch","around"]);return this.jumpTo(i,r)}this.stop(),e=t.extend({offset:[0,0],speed:1.2,curve:1.42,easing:t.ease},e);var a=this.transform,o=this.getZoom(),s=this.getBearing(),l=this.getPitch(),c=this.getPadding(),u="zoom"in e?t.clamp(+e.zoom,a.minZoom,a.maxZoom):o,f="bearing"in e?this._normalizeBearing(e.bearing,s):s,h="pitch"in e?+e.pitch:l,p="padding"in e?e.padding:a.padding,d=a.zoomScale(u-o),g=t.Point.convert(e.offset),m=a.centerPoint.add(g),v=a.pointLocation(m),y=t.LngLat.convert(e.center||v);this._normalizeCenter(y);var x=a.project(v),b=a.project(y).sub(x),_=e.curve,w=Math.max(a.width,a.height),T=w/d,k=b.mag();if("minZoom"in e){var M=t.clamp(Math.min(e.minZoom,o,u),a.minZoom,a.maxZoom),A=w/a.zoomScale(M-o);_=Math.sqrt(A/k*2)}var S=_*_;function E(t){var e=(T*T-w*w+(t?-1:1)*S*S*k*k)/(2*(t?T:w)*S*k);return Math.log(Math.sqrt(e*e+1)-e)}function C(t){return(Math.exp(t)-Math.exp(-t))/2}function L(t){return(Math.exp(t)+Math.exp(-t))/2}var I=E(0),P=function(t){return L(I)/L(I+_*t)},z=function(t){return w*((L(I)*(C(e=I+_*t)/L(e))-C(I))/S)/k;var e},O=(E(1)-I)/_;if(Math.abs(k)<1e-6||!isFinite(O)){if(Math.abs(w-T)<1e-6)return this.easeTo(e,r);var D=T<w?-1:1;O=Math.abs(Math.log(T/w))/_,z=function(){return 0},P=function(t){return Math.exp(D*_*t)}}return e.duration="duration"in e?+e.duration:1e3*O/("screenSpeed"in e?+e.screenSpeed/_:+e.speed),e.maxDuration&&e.duration>e.maxDuration&&(e.duration=0),this._zooming=!0,this._rotating=s!==f,this._pitching=h!==l,this._padding=!a.isPaddingEqual(p),this._prepareEase(r,!1),this._ease((function(e){var i=e*O,d=1/P(i);a.zoom=1===e?u:o+a.scaleZoom(d),n._rotating&&(a.bearing=t.number(s,f,e)),n._pitching&&(a.pitch=t.number(l,h,e)),n._padding&&(a.interpolatePadding(c,p,e),m=a.centerPoint.add(g));var v=1===e?y:a.unproject(x.add(b.mult(z(i))).mult(d));a.setLocationAtPoint(a.renderWorldCopies?v.wrap():v,m),n._fireMoveEvents(r)}),(function(){return n._afterEase(r)}),e),this},r.prototype.isEasing=function(){return!!this._easeFrameId},r.prototype.stop=function(){return this._stop()},r.prototype._stop=function(t,e){if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){var r=this._onEaseEnd;delete this._onEaseEnd,r.call(this,e)}if(!t){var n=this.handlers;n&&n.stop()}return this},r.prototype._ease=function(e,r,n){!1===n.animate||0===n.duration?(e(1),r()):(this._easeStart=t.browser.now(),this._easeOptions=n,this._onEaseFrame=e,this._onEaseEnd=r,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))},r.prototype._renderFrameCallback=function(){var e=Math.min((t.browser.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(e)),e<1?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},r.prototype._normalizeBearing=function(e,r){e=t.wrap(e,-180,180);var n=Math.abs(e-r);return Math.abs(e-360-r)<n&&(e-=360),Math.abs(e+360-r)<n&&(e+=360),e},r.prototype._normalizeCenter=function(t){var e=this.transform;if(e.renderWorldCopies&&!e.lngRange){var r=t.lng-e.center.lng;t.lng+=r>180?-360:r<-180?360:0}},r}(t.Evented),vi=function(e){void 0===e&&(e={}),this.options=e,t.bindAll(["_updateEditLink","_updateData","_updateCompact"],this)};vi.prototype.getDefaultPosition=function(){return"bottom-right"},vi.prototype.onAdd=function(t){var e=this.options&&this.options.compact;return this._map=t,this._container=r.create("div","mapboxgl-ctrl mapboxgl-ctrl-attrib"),this._innerContainer=r.create("div","mapboxgl-ctrl-attrib-inner",this._container),e&&this._container.classList.add("mapboxgl-compact"),this._updateAttributions(),this._updateEditLink(),this._map.on("styledata",this._updateData),this._map.on("sourcedata",this._updateData),this._map.on("moveend",this._updateEditLink),void 0===e&&(this._map.on("resize",this._updateCompact),this._updateCompact()),this._container},vi.prototype.onRemove=function(){r.remove(this._container),this._map.off("styledata",this._updateData),this._map.off("sourcedata",this._updateData),this._map.off("moveend",this._updateEditLink),this._map.off("resize",this._updateCompact),this._map=void 0,this._attribHTML=void 0},vi.prototype._updateEditLink=function(){var e=this._editLink;e||(e=this._editLink=this._container.querySelector(".mapbox-improve-map"));var r=[{key:"owner",value:this.styleOwner},{key:"id",value:this.styleId},{key:"access_token",value:this._map._requestManager._customAccessToken||t.config.ACCESS_TOKEN}];if(e){var n=r.reduce((function(t,e,n){return e.value&&(t+=e.key+"="+e.value+(n<r.length-1?"&":"")),t}),"?");e.href=t.config.FEEDBACK_URL+"/"+n+(this._map._hash?this._map._hash.getHashString(!0):""),e.rel="noopener nofollow"}},vi.prototype._updateData=function(t){!t||"metadata"!==t.sourceDataType&&"style"!==t.dataType||(this._updateAttributions(),this._updateEditLink())},vi.prototype._updateAttributions=function(){if(this._map.style){var t=[];if(this.options.customAttribution&&(Array.isArray(this.options.customAttribution)?t=t.concat(this.options.customAttribution.map((function(t){return"string"!=typeof t?"":t}))):"string"==typeof this.options.customAttribution&&t.push(this.options.customAttribution)),this._map.style.stylesheet){var e=this._map.style.stylesheet;this.styleOwner=e.owner,this.styleId=e.id}var r=this._map.style.sourceCaches;for(var n in r){var i=r[n];if(i.used){var a=i.getSource();a.attribution&&t.indexOf(a.attribution)<0&&t.push(a.attribution)}}t.sort((function(t,e){return t.length-e.length}));var o=(t=t.filter((function(e,r){for(var n=r+1;n<t.length;n++)if(t[n].indexOf(e)>=0)return!1;return!0}))).join(" | ");o!==this._attribHTML&&(this._attribHTML=o,t.length?(this._innerContainer.innerHTML=o,this._container.classList.remove("mapboxgl-attrib-empty")):this._container.classList.add("mapboxgl-attrib-empty"),this._editLink=null)}},vi.prototype._updateCompact=function(){this._map.getCanvasContainer().offsetWidth<=640?this._container.classList.add("mapboxgl-compact"):this._container.classList.remove("mapboxgl-compact")};var yi=function(){t.bindAll(["_updateLogo"],this),t.bindAll(["_updateCompact"],this)};yi.prototype.onAdd=function(t){this._map=t,this._container=r.create("div","mapboxgl-ctrl");var e=r.create("a","mapboxgl-ctrl-logo");return e.target="_blank",e.rel="noopener nofollow",e.href="https://www.mapbox.com/",e.setAttribute("aria-label",this._map._getUIString("LogoControl.Title")),e.setAttribute("rel","noopener nofollow"),this._container.appendChild(e),this._container.style.display="none",this._map.on("sourcedata",this._updateLogo),this._updateLogo(),this._map.on("resize",this._updateCompact),this._updateCompact(),this._container},yi.prototype.onRemove=function(){r.remove(this._container),this._map.off("sourcedata",this._updateLogo),this._map.off("resize",this._updateCompact)},yi.prototype.getDefaultPosition=function(){return"bottom-left"},yi.prototype._updateLogo=function(t){t&&"metadata"!==t.sourceDataType||(this._container.style.display=this._logoRequired()?"block":"none")},yi.prototype._logoRequired=function(){if(this._map.style){var t=this._map.style.sourceCaches;for(var e in t)if(t[e].getSource().mapbox_logo)return!0;return!1}},yi.prototype._updateCompact=function(){var t=this._container.children;if(t.length){var e=t[0];this._map.getCanvasContainer().offsetWidth<250?e.classList.add("mapboxgl-compact"):e.classList.remove("mapboxgl-compact")}};var xi=function(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1};xi.prototype.add=function(t){var e=++this._id;return this._queue.push({callback:t,id:e,cancelled:!1}),e},xi.prototype.remove=function(t){for(var e=this._currentlyRunning,r=0,n=e?this._queue.concat(e):this._queue;r<n.length;r+=1){var i=n[r];if(i.id===t)return void(i.cancelled=!0)}},xi.prototype.run=function(t){void 0===t&&(t=0);var e=this._currentlyRunning=this._queue;this._queue=[];for(var r=0,n=e;r<n.length;r+=1){var i=n[r];if(!i.cancelled&&(i.callback(t),this._cleared))break}this._cleared=!1,this._currentlyRunning=!1},xi.prototype.clear=function(){this._currentlyRunning&&(this._cleared=!0),this._queue=[]};var bi={"FullscreenControl.Enter":"Enter fullscreen","FullscreenControl.Exit":"Exit fullscreen","GeolocateControl.FindMyLocation":"Find my location","GeolocateControl.LocationNotAvailable":"Location not available","LogoControl.Title":"Mapbox logo","NavigationControl.ResetBearing":"Reset bearing to north","NavigationControl.ZoomIn":"Zoom in","NavigationControl.ZoomOut":"Zoom out","ScaleControl.Feet":"ft","ScaleControl.Meters":"m","ScaleControl.Kilometers":"km","ScaleControl.Miles":"mi","ScaleControl.NauticalMiles":"nm"},_i=t.window.HTMLImageElement,wi=t.window.HTMLElement,Ti=t.window.ImageBitmap,ki={center:[0,0],zoom:0,bearing:0,pitch:0,minZoom:-2,maxZoom:22,minPitch:0,maxPitch:60,interactive:!0,scrollZoom:!0,boxZoom:!0,dragRotate:!0,dragPan:!0,keyboard:!0,doubleClickZoom:!0,touchZoomRotate:!0,touchPitch:!0,bearingSnap:7,clickTolerance:3,pitchWithRotate:!0,hash:!1,attributionControl:!0,failIfMajorPerformanceCaveat:!1,preserveDrawingBuffer:!1,trackResize:!0,renderWorldCopies:!0,refreshExpiredTiles:!0,maxTileCacheSize:null,localIdeographFontFamily:"sans-serif",transformRequest:null,accessToken:null,fadeDuration:300,crossSourceCollisions:!0},Mi=function(n){function i(e){var r=this;if(null!=(e=t.extend({},ki,e)).minZoom&&null!=e.maxZoom&&e.minZoom>e.maxZoom)throw new Error("maxZoom must be greater than or equal to minZoom");if(null!=e.minPitch&&null!=e.maxPitch&&e.minPitch>e.maxPitch)throw new Error("maxPitch must be greater than or equal to minPitch");if(null!=e.minPitch&&e.minPitch<0)throw new Error("minPitch must be greater than or equal to 0");if(null!=e.maxPitch&&e.maxPitch>60)throw new Error("maxPitch must be less than or equal to 60");var i=new wn(e.minZoom,e.maxZoom,e.minPitch,e.maxPitch,e.renderWorldCopies);if(n.call(this,i,e),this._interactive=e.interactive,this._maxTileCacheSize=e.maxTileCacheSize,this._failIfMajorPerformanceCaveat=e.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=e.preserveDrawingBuffer,this._antialias=e.antialias,this._trackResize=e.trackResize,this._bearingSnap=e.bearingSnap,this._refreshExpiredTiles=e.refreshExpiredTiles,this._fadeDuration=e.fadeDuration,this._crossSourceCollisions=e.crossSourceCollisions,this._crossFadingFactor=1,this._collectResourceTiming=e.collectResourceTiming,this._renderTaskQueue=new xi,this._controls=[],this._mapId=t.uniqueId(),this._locale=t.extend({},bi,e.locale),this._requestManager=new t.RequestManager(e.transformRequest,e.accessToken),"string"==typeof e.container){if(this._container=t.window.document.getElementById(e.container),!this._container)throw new Error("Container '"+e.container+"' not found.")}else{if(!(e.container instanceof wi))throw new Error("Invalid type: 'container' must be a String or HTMLElement.");this._container=e.container}if(e.maxBounds&&this.setMaxBounds(e.maxBounds),t.bindAll(["_onWindowOnline","_onWindowResize","_contextLost","_contextRestored"],this),this._setupContainer(),this._setupPainter(),void 0===this.painter)throw new Error("Failed to initialize WebGL.");this.on("move",(function(){return r._update(!1)})),this.on("moveend",(function(){return r._update(!1)})),this.on("zoom",(function(){return r._update(!0)})),void 0!==t.window&&(t.window.addEventListener("online",this._onWindowOnline,!1),t.window.addEventListener("resize",this._onWindowResize,!1)),this.handlers=new gi(this,e),this._hash=e.hash&&new kn("string"==typeof e.hash&&e.hash||void 0).addTo(this),this._hash&&this._hash._onHashChange()||(this.jumpTo({center:e.center,zoom:e.zoom,bearing:e.bearing,pitch:e.pitch}),e.bounds&&(this.resize(),this.fitBounds(e.bounds,t.extend({},e.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=e.localIdeographFontFamily,e.style&&this.setStyle(e.style,{localIdeographFontFamily:e.localIdeographFontFamily}),e.attributionControl&&this.addControl(new vi({customAttribution:e.customAttribution})),this.addControl(new yi,e.logoPosition),this.on("style.load",(function(){r.transform.unmodified&&r.jumpTo(r.style.stylesheet)})),this.on("data",(function(e){r._update("style"===e.dataType),r.fire(new t.Event(e.dataType+"data",e))})),this.on("dataloading",(function(e){r.fire(new t.Event(e.dataType+"dataloading",e))}))}n&&(i.__proto__=n),(i.prototype=Object.create(n&&n.prototype)).constructor=i;var a={showTileBoundaries:{configurable:!0},showPadding:{configurable:!0},showCollisionBoxes:{configurable:!0},showOverdrawInspector:{configurable:!0},repaint:{configurable:!0},vertices:{configurable:!0},version:{configurable:!0}};return i.prototype._getMapId=function(){return this._mapId},i.prototype.addControl=function(e,r){if(void 0===r&&e.getDefaultPosition&&(r=e.getDefaultPosition()),void 0===r&&(r="top-right"),!e||!e.onAdd)return this.fire(new t.ErrorEvent(new Error("Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.")));var n=e.onAdd(this);this._controls.push(e);var i=this._controlPositions[r];return-1!==r.indexOf("bottom")?i.insertBefore(n,i.firstChild):i.appendChild(n),this},i.prototype.removeControl=function(e){if(!e||!e.onRemove)return this.fire(new t.ErrorEvent(new Error("Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.")));var r=this._controls.indexOf(e);return r>-1&&this._controls.splice(r,1),e.onRemove(this),this},i.prototype.resize=function(e){var r=this._containerDimensions(),n=r[0],i=r[1];this._resizeCanvas(n,i),this.transform.resize(n,i),this.painter.resize(n,i);var a=!this._moving;return a&&(this.stop(),this.fire(new t.Event("movestart",e)).fire(new t.Event("move",e))),this.fire(new t.Event("resize",e)),a&&this.fire(new t.Event("moveend",e)),this},i.prototype.getBounds=function(){return this.transform.getBounds()},i.prototype.getMaxBounds=function(){return this.transform.getMaxBounds()},i.prototype.setMaxBounds=function(e){return this.transform.setMaxBounds(t.LngLatBounds.convert(e)),this._update()},i.prototype.setMinZoom=function(t){if((t=null==t?-2:t)>=-2&&t<=this.transform.maxZoom)return this.transform.minZoom=t,this._update(),this.getZoom()<t&&this.setZoom(t),this;throw new Error("minZoom must be between -2 and the current maxZoom, inclusive")},i.prototype.getMinZoom=function(){return this.transform.minZoom},i.prototype.setMaxZoom=function(t){if((t=null==t?22:t)>=this.transform.minZoom)return this.transform.maxZoom=t,this._update(),this.getZoom()>t&&this.setZoom(t),this;throw new Error("maxZoom must be greater than the current minZoom")},i.prototype.getMaxZoom=function(){return this.transform.maxZoom},i.prototype.setMinPitch=function(t){if((t=null==t?0:t)<0)throw new Error("minPitch must be greater than or equal to 0");if(t>=0&&t<=this.transform.maxPitch)return this.transform.minPitch=t,this._update(),this.getPitch()<t&&this.setPitch(t),this;throw new Error("minPitch must be between 0 and the current maxPitch, inclusive")},i.prototype.getMinPitch=function(){return this.transform.minPitch},i.prototype.setMaxPitch=function(t){if((t=null==t?60:t)>60)throw new Error("maxPitch must be less than or equal to 60");if(t>=this.transform.minPitch)return this.transform.maxPitch=t,this._update(),this.getPitch()>t&&this.setPitch(t),this;throw new Error("maxPitch must be greater than the current minPitch")},i.prototype.getMaxPitch=function(){return this.transform.maxPitch},i.prototype.getRenderWorldCopies=function(){return this.transform.renderWorldCopies},i.prototype.setRenderWorldCopies=function(t){return this.transform.renderWorldCopies=t,this._update()},i.prototype.project=function(e){return this.transform.locationPoint(t.LngLat.convert(e))},i.prototype.unproject=function(e){return this.transform.pointLocation(t.Point.convert(e))},i.prototype.isMoving=function(){return this._moving||this.handlers.isMoving()},i.prototype.isZooming=function(){return this._zooming||this.handlers.isZooming()},i.prototype.isRotating=function(){return this._rotating||this.handlers.isRotating()},i.prototype._createDelegatedListener=function(t,e,r){var n,i=this;if("mouseenter"===t||"mouseover"===t){var a=!1;return{layer:e,listener:r,delegates:{mousemove:function(n){var o=i.getLayer(e)?i.queryRenderedFeatures(n.point,{layers:[e]}):[];o.length?a||(a=!0,r.call(i,new zn(t,i,n.originalEvent,{features:o}))):a=!1},mouseout:function(){a=!1}}}}if("mouseleave"===t||"mouseout"===t){var o=!1;return{layer:e,listener:r,delegates:{mousemove:function(n){(i.getLayer(e)?i.queryRenderedFeatures(n.point,{layers:[e]}):[]).length?o=!0:o&&(o=!1,r.call(i,new zn(t,i,n.originalEvent)))},mouseout:function(e){o&&(o=!1,r.call(i,new zn(t,i,e.originalEvent)))}}}}return{layer:e,listener:r,delegates:(n={},n[t]=function(t){var n=i.getLayer(e)?i.queryRenderedFeatures(t.point,{layers:[e]}):[];n.length&&(t.features=n,r.call(i,t),delete t.features)},n)}},i.prototype.on=function(t,e,r){if(void 0===r)return n.prototype.on.call(this,t,e);var i=this._createDelegatedListener(t,e,r);for(var a in this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[t]=this._delegatedListeners[t]||[],this._delegatedListeners[t].push(i),i.delegates)this.on(a,i.delegates[a]);return this},i.prototype.once=function(t,e,r){if(void 0===r)return n.prototype.once.call(this,t,e);var i=this._createDelegatedListener(t,e,r);for(var a in i.delegates)this.once(a,i.delegates[a]);return this},i.prototype.off=function(t,e,r){var i=this;return void 0===r?n.prototype.off.call(this,t,e):(this._delegatedListeners&&this._delegatedListeners[t]&&function(n){for(var a=n[t],o=0;o<a.length;o++){var s=a[o];if(s.layer===e&&s.listener===r){for(var l in s.delegates)i.off(l,s.delegates[l]);return a.splice(o,1),i}}}(this._delegatedListeners),this)},i.prototype.queryRenderedFeatures=function(e,r){if(!this.style)return[];var n;if(void 0!==r||void 0===e||e instanceof t.Point||Array.isArray(e)||(r=e,e=void 0),r=r||{},(e=e||[[0,0],[this.transform.width,this.transform.height]])instanceof t.Point||"number"==typeof e[0])n=[t.Point.convert(e)];else{var i=t.Point.convert(e[0]),a=t.Point.convert(e[1]);n=[i,new t.Point(a.x,i.y),a,new t.Point(i.x,a.y),i]}return this.style.queryRenderedFeatures(n,r,this.transform)},i.prototype.querySourceFeatures=function(t,e){return this.style.querySourceFeatures(t,e)},i.prototype.setStyle=function(e,r){return!1!==(r=t.extend({},{localIdeographFontFamily:this._localIdeographFontFamily},r)).diff&&r.localIdeographFontFamily===this._localIdeographFontFamily&&this.style&&e?(this._diffStyle(e,r),this):(this._localIdeographFontFamily=r.localIdeographFontFamily,this._updateStyle(e,r))},i.prototype._getUIString=function(t){var e=this._locale[t];if(null==e)throw new Error("Missing UI string '"+t+"'");return e},i.prototype._updateStyle=function(t,e){return this.style&&(this.style.setEventedParent(null),this.style._remove()),t?(this.style=new qe(this,e||{}),this.style.setEventedParent(this,{style:this.style}),"string"==typeof t?this.style.loadURL(t):this.style.loadJSON(t),this):(delete this.style,this)},i.prototype._lazyInitEmptyStyle=function(){this.style||(this.style=new qe(this,{}),this.style.setEventedParent(this,{style:this.style}),this.style.loadEmpty())},i.prototype._diffStyle=function(e,r){var n=this;if("string"==typeof e){var i=this._requestManager.normalizeStyleURL(e),a=this._requestManager.transformRequest(i,t.ResourceType.Style);t.getJSON(a,(function(e,i){e?n.fire(new t.ErrorEvent(e)):i&&n._updateDiff(i,r)}))}else"object"==typeof e&&this._updateDiff(e,r)},i.prototype._updateDiff=function(e,r){try{this.style.setState(e)&&this._update(!0)}catch(n){t.warnOnce("Unable to perform style diff: "+(n.message||n.error||n)+". Rebuilding the style from scratch."),this._updateStyle(e,r)}},i.prototype.getStyle=function(){if(this.style)return this.style.serialize()},i.prototype.isStyleLoaded=function(){return this.style?this.style.loaded():t.warnOnce("There is no style added to the map.")},i.prototype.addSource=function(t,e){return this._lazyInitEmptyStyle(),this.style.addSource(t,e),this._update(!0)},i.prototype.isSourceLoaded=function(e){var r=this.style&&this.style.sourceCaches[e];if(void 0!==r)return r.loaded();this.fire(new t.ErrorEvent(new Error("There is no source with ID '"+e+"'")))},i.prototype.areTilesLoaded=function(){var t=this.style&&this.style.sourceCaches;for(var e in t){var r=t[e]._tiles;for(var n in r){var i=r[n];if("loaded"!==i.state&&"errored"!==i.state)return!1}}return!0},i.prototype.addSourceType=function(t,e,r){return this._lazyInitEmptyStyle(),this.style.addSourceType(t,e,r)},i.prototype.removeSource=function(t){return this.style.removeSource(t),this._update(!0)},i.prototype.getSource=function(t){return this.style.getSource(t)},i.prototype.addImage=function(e,r,n){void 0===n&&(n={});var i=n.pixelRatio;void 0===i&&(i=1);var a=n.sdf;void 0===a&&(a=!1);var o=n.stretchX,s=n.stretchY,l=n.content;if(this._lazyInitEmptyStyle(),r instanceof _i||Ti&&r instanceof Ti){var c=t.browser.getImageData(r);this.style.addImage(e,{data:new t.RGBAImage({width:c.width,height:c.height},c.data),pixelRatio:i,stretchX:o,stretchY:s,content:l,sdf:a,version:0})}else{if(void 0===r.width||void 0===r.height)return this.fire(new t.ErrorEvent(new Error("Invalid arguments to map.addImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`")));var u=r;this.style.addImage(e,{data:new t.RGBAImage({width:r.width,height:r.height},new Uint8Array(r.data)),pixelRatio:i,stretchX:o,stretchY:s,content:l,sdf:a,version:0,userImage:u}),u.onAdd&&u.onAdd(this,e)}},i.prototype.updateImage=function(e,r){var n=this.style.getImage(e);if(!n)return this.fire(new t.ErrorEvent(new Error("The map has no image with that id. If you are adding a new image use `map.addImage(...)` instead.")));var i=r instanceof _i||Ti&&r instanceof Ti?t.browser.getImageData(r):r,a=i.width,o=i.height,s=i.data;return void 0===a||void 0===o?this.fire(new t.ErrorEvent(new Error("Invalid arguments to map.updateImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`"))):a!==n.data.width||o!==n.data.height?this.fire(new t.ErrorEvent(new Error("The width and height of the updated image must be that same as the previous version of the image"))):(n.data.replace(s,!(r instanceof _i||Ti&&r instanceof Ti)),void this.style.updateImage(e,n))},i.prototype.hasImage=function(e){return e?!!this.style.getImage(e):(this.fire(new t.ErrorEvent(new Error("Missing required image id"))),!1)},i.prototype.removeImage=function(t){this.style.removeImage(t)},i.prototype.loadImage=function(e,r){t.getImage(this._requestManager.transformRequest(e,t.ResourceType.Image),r)},i.prototype.listImages=function(){return this.style.listImages()},i.prototype.addLayer=function(t,e){return this._lazyInitEmptyStyle(),this.style.addLayer(t,e),this._update(!0)},i.prototype.moveLayer=function(t,e){return this.style.moveLayer(t,e),this._update(!0)},i.prototype.removeLayer=function(t){return this.style.removeLayer(t),this._update(!0)},i.prototype.getLayer=function(t){return this.style.getLayer(t)},i.prototype.setLayerZoomRange=function(t,e,r){return this.style.setLayerZoomRange(t,e,r),this._update(!0)},i.prototype.setFilter=function(t,e,r){return void 0===r&&(r={}),this.style.setFilter(t,e,r),this._update(!0)},i.prototype.getFilter=function(t){return this.style.getFilter(t)},i.prototype.setPaintProperty=function(t,e,r,n){return void 0===n&&(n={}),this.style.setPaintProperty(t,e,r,n),this._update(!0)},i.prototype.getPaintProperty=function(t,e){return this.style.getPaintProperty(t,e)},i.prototype.setLayoutProperty=function(t,e,r,n){return void 0===n&&(n={}),this.style.setLayoutProperty(t,e,r,n),this._update(!0)},i.prototype.getLayoutProperty=function(t,e){return this.style.getLayoutProperty(t,e)},i.prototype.setLight=function(t,e){return void 0===e&&(e={}),this._lazyInitEmptyStyle(),this.style.setLight(t,e),this._update(!0)},i.prototype.getLight=function(){return this.style.getLight()},i.prototype.setFeatureState=function(t,e){return this.style.setFeatureState(t,e),this._update()},i.prototype.removeFeatureState=function(t,e){return this.style.removeFeatureState(t,e),this._update()},i.prototype.getFeatureState=function(t){return this.style.getFeatureState(t)},i.prototype.getContainer=function(){return this._container},i.prototype.getCanvasContainer=function(){return this._canvasContainer},i.prototype.getCanvas=function(){return this._canvas},i.prototype._containerDimensions=function(){var t=0,e=0;return this._container&&(t=this._container.clientWidth||400,e=this._container.clientHeight||300),[t,e]},i.prototype._detectMissingCSS=function(){"rgb(250, 128, 114)"!==t.window.getComputedStyle(this._missingCSSCanary).getPropertyValue("background-color")&&t.warnOnce("This page appears to be missing CSS declarations for Mapbox GL JS, which may cause the map to display incorrectly. Please ensure your page includes mapbox-gl.css, as described in https://www.mapbox.com/mapbox-gl-js/api/.")},i.prototype._setupContainer=function(){var t=this._container;t.classList.add("mapboxgl-map"),(this._missingCSSCanary=r.create("div","mapboxgl-canary",t)).style.visibility="hidden",this._detectMissingCSS();var e=this._canvasContainer=r.create("div","mapboxgl-canvas-container",t);this._interactive&&e.classList.add("mapboxgl-interactive"),this._canvas=r.create("canvas","mapboxgl-canvas",e),this._canvas.addEventListener("webglcontextlost",this._contextLost,!1),this._canvas.addEventListener("webglcontextrestored",this._contextRestored,!1),this._canvas.setAttribute("tabindex","0"),this._canvas.setAttribute("aria-label","Map");var n=this._containerDimensions();this._resizeCanvas(n[0],n[1]);var i=this._controlContainer=r.create("div","mapboxgl-control-container",t),a=this._controlPositions={};["top-left","top-right","bottom-left","bottom-right"].forEach((function(t){a[t]=r.create("div","mapboxgl-ctrl-"+t,i)}))},i.prototype._resizeCanvas=function(e,r){var n=t.browser.devicePixelRatio||1;this._canvas.width=n*e,this._canvas.height=n*r,this._canvas.style.width=e+"px",this._canvas.style.height=r+"px"},i.prototype._setupPainter=function(){var r=t.extend({},e.webGLContextAttributes,{failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer,antialias:this._antialias||!1}),n=this._canvas.getContext("webgl",r)||this._canvas.getContext("experimental-webgl",r);n?(this.painter=new yn(n,this.transform),t.webpSupported.testSupport(n)):this.fire(new t.ErrorEvent(new Error("Failed to initialize WebGL")))},i.prototype._contextLost=function(e){e.preventDefault(),this._frame&&(this._frame.cancel(),this._frame=null),this.fire(new t.Event("webglcontextlost",{originalEvent:e}))},i.prototype._contextRestored=function(e){this._setupPainter(),this.resize(),this._update(),this.fire(new t.Event("webglcontextrestored",{originalEvent:e}))},i.prototype.loaded=function(){return!this._styleDirty&&!this._sourcesDirty&&!!this.style&&this.style.loaded()},i.prototype._update=function(t){return this.style?(this._styleDirty=this._styleDirty||t,this._sourcesDirty=!0,this.triggerRepaint(),this):this},i.prototype._requestRenderFrame=function(t){return this._update(),this._renderTaskQueue.add(t)},i.prototype._cancelRenderFrame=function(t){this._renderTaskQueue.remove(t)},i.prototype._render=function(e){var r,n=this,i=0,a=this.painter.context.extTimerQuery;if(this.listens("gpu-timing-frame")&&(r=a.createQueryEXT(),a.beginQueryEXT(a.TIME_ELAPSED_EXT,r),i=t.browser.now()),this.painter.context.setDirty(),this.painter.setBaseState(),this._renderTaskQueue.run(e),!this._removed){var o=!1;if(this.style&&this._styleDirty){this._styleDirty=!1;var s=this.transform.zoom,l=t.browser.now();this.style.zoomHistory.update(s,l);var c=new t.EvaluationParameters(s,{now:l,fadeDuration:this._fadeDuration,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()}),u=c.crossFadingFactor();1===u&&u===this._crossFadingFactor||(o=!0,this._crossFadingFactor=u),this.style.update(c)}if(this.style&&this._sourcesDirty&&(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this._placementDirty=this.style&&this.style._updatePlacement(this.painter.transform,this.showCollisionBoxes,this._fadeDuration,this._crossSourceCollisions),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.isRotating(),zooming:this.isZooming(),moving:this.isMoving(),fadeDuration:this._fadeDuration,showPadding:this.showPadding,gpuTiming:!!this.listens("gpu-timing-layer")}),this.fire(new t.Event("render")),this.loaded()&&!this._loaded&&(this._loaded=!0,this.fire(new t.Event("load"))),this.style&&(this.style.hasTransitions()||o)&&(this._styleDirty=!0),this.style&&!this._placementDirty&&this.style._releaseSymbolFadeTiles(),this.listens("gpu-timing-frame")){var f=t.browser.now()-i;a.endQueryEXT(a.TIME_ELAPSED_EXT,r),setTimeout((function(){var e=a.getQueryObjectEXT(r,a.QUERY_RESULT_EXT)/1e6;a.deleteQueryEXT(r),n.fire(new t.Event("gpu-timing-frame",{cpuTime:f,gpuTime:e}))}),50)}if(this.listens("gpu-timing-layer")){var h=this.painter.collectGpuTimers();setTimeout((function(){var e=n.painter.queryGpuTimers(h);n.fire(new t.Event("gpu-timing-layer",{layerTimes:e}))}),50)}return this._sourcesDirty||this._styleDirty||this._placementDirty||this._repaint?this.triggerRepaint():!this.isMoving()&&this.loaded()&&(this._fullyLoaded||(this._fullyLoaded=!0),this.fire(new t.Event("idle"))),this}},i.prototype.remove=function(){this._hash&&this._hash.remove();for(var e=0,r=this._controls;e<r.length;e+=1)r[e].onRemove(this);this._controls=[],this._frame&&(this._frame.cancel(),this._frame=null),this._renderTaskQueue.clear(),this.painter.destroy(),this.handlers.destroy(),delete this.handlers,this.setStyle(null),void 0!==t.window&&(t.window.removeEventListener("resize",this._onWindowResize,!1),t.window.removeEventListener("online",this._onWindowOnline,!1));var n=this.painter.context.gl.getExtension("WEBGL_lose_context");n&&n.loseContext(),Ai(this._canvasContainer),Ai(this._controlContainer),Ai(this._missingCSSCanary),this._container.classList.remove("mapboxgl-map"),this._removed=!0,this.fire(new t.Event("remove"))},i.prototype.triggerRepaint=function(){var e=this;this.style&&!this._frame&&(this._frame=t.browser.frame((function(t){e._frame=null,e._render(t)})))},i.prototype._onWindowOnline=function(){this._update()},i.prototype._onWindowResize=function(t){this._trackResize&&this.resize({originalEvent:t})._update()},a.showTileBoundaries.get=function(){return!!this._showTileBoundaries},a.showTileBoundaries.set=function(t){this._showTileBoundaries!==t&&(this._showTileBoundaries=t,this._update())},a.showPadding.get=function(){return!!this._showPadding},a.showPadding.set=function(t){this._showPadding!==t&&(this._showPadding=t,this._update())},a.showCollisionBoxes.get=function(){return!!this._showCollisionBoxes},a.showCollisionBoxes.set=function(t){this._showCollisionBoxes!==t&&(this._showCollisionBoxes=t,t?this.style._generateCollisionBoxes():this._update())},a.showOverdrawInspector.get=function(){return!!this._showOverdrawInspector},a.showOverdrawInspector.set=function(t){this._showOverdrawInspector!==t&&(this._showOverdrawInspector=t,this._update())},a.repaint.get=function(){return!!this._repaint},a.repaint.set=function(t){this._repaint!==t&&(this._repaint=t,this.triggerRepaint())},a.vertices.get=function(){return!!this._vertices},a.vertices.set=function(t){this._vertices=t,this._update()},i.prototype._setCacheLimits=function(e,r){t.setCacheLimits(e,r)},a.version.get=function(){return t.version},Object.defineProperties(i.prototype,a),i}(mi);function Ai(t){t.parentNode&&t.parentNode.removeChild(t)}var Si={showCompass:!0,showZoom:!0,visualizePitch:!1},Ei=function(e){var n=this;this.options=t.extend({},Si,e),this._container=r.create("div","mapboxgl-ctrl mapboxgl-ctrl-group"),this._container.addEventListener("contextmenu",(function(t){return t.preventDefault()})),this.options.showZoom&&(t.bindAll(["_setButtonTitle","_updateZoomButtons"],this),this._zoomInButton=this._createButton("mapboxgl-ctrl-zoom-in",(function(t){return n._map.zoomIn({},{originalEvent:t})})),r.create("span","mapboxgl-ctrl-icon",this._zoomInButton).setAttribute("aria-hidden",!0),this._zoomOutButton=this._createButton("mapboxgl-ctrl-zoom-out",(function(t){return n._map.zoomOut({},{originalEvent:t})})),r.create("span","mapboxgl-ctrl-icon",this._zoomOutButton).setAttribute("aria-hidden",!0)),this.options.showCompass&&(t.bindAll(["_rotateCompassArrow"],this),this._compass=this._createButton("mapboxgl-ctrl-compass",(function(t){n.options.visualizePitch?n._map.resetNorthPitch({},{originalEvent:t}):n._map.resetNorth({},{originalEvent:t})})),this._compassIcon=r.create("span","mapboxgl-ctrl-icon",this._compass),this._compassIcon.setAttribute("aria-hidden",!0))};Ei.prototype._updateZoomButtons=function(){var t=this._map.getZoom();this._zoomInButton.disabled=t===this._map.getMaxZoom(),this._zoomOutButton.disabled=t===this._map.getMinZoom()},Ei.prototype._rotateCompassArrow=function(){var t=this.options.visualizePitch?"scale("+1/Math.pow(Math.cos(this._map.transform.pitch*(Math.PI/180)),.5)+") rotateX("+this._map.transform.pitch+"deg) rotateZ("+this._map.transform.angle*(180/Math.PI)+"deg)":"rotate("+this._map.transform.angle*(180/Math.PI)+"deg)";this._compassIcon.style.transform=t},Ei.prototype.onAdd=function(t){return this._map=t,this.options.showZoom&&(this._setButtonTitle(this._zoomInButton,"ZoomIn"),this._setButtonTitle(this._zoomOutButton,"ZoomOut"),this._map.on("zoom",this._updateZoomButtons),this._updateZoomButtons()),this.options.showCompass&&(this._setButtonTitle(this._compass,"ResetBearing"),this.options.visualizePitch&&this._map.on("pitch",this._rotateCompassArrow),this._map.on("rotate",this._rotateCompassArrow),this._rotateCompassArrow(),this._handler=new Ci(this._map,this._compass,this.options.visualizePitch)),this._container},Ei.prototype.onRemove=function(){r.remove(this._container),this.options.showZoom&&this._map.off("zoom",this._updateZoomButtons),this.options.showCompass&&(this.options.visualizePitch&&this._map.off("pitch",this._rotateCompassArrow),this._map.off("rotate",this._rotateCompassArrow),this._handler.off(),delete this._handler),delete this._map},Ei.prototype._createButton=function(t,e){var n=r.create("button",t,this._container);return n.type="button",n.addEventListener("click",e),n},Ei.prototype._setButtonTitle=function(t,e){var r=this._map._getUIString("NavigationControl."+e);t.title=r,t.setAttribute("aria-label",r)};var Ci=function(e,n,i){void 0===i&&(i=!1),this._clickTolerance=10,this.element=n,this.mouseRotate=new Gn({clickTolerance:e.dragRotate._mouseRotate._clickTolerance}),this.map=e,i&&(this.mousePitch=new Yn({clickTolerance:e.dragRotate._mousePitch._clickTolerance})),t.bindAll(["mousedown","mousemove","mouseup","touchstart","touchmove","touchend","reset"],this),r.addEventListener(n,"mousedown",this.mousedown),r.addEventListener(n,"touchstart",this.touchstart,{passive:!1}),r.addEventListener(n,"touchmove",this.touchmove),r.addEventListener(n,"touchend",this.touchend),r.addEventListener(n,"touchcancel",this.reset)};function Li(e,r,n){if(e=new t.LngLat(e.lng,e.lat),r){var i=new t.LngLat(e.lng-360,e.lat),a=new t.LngLat(e.lng+360,e.lat),o=n.locationPoint(e).distSqr(r);n.locationPoint(i).distSqr(r)<o?e=i:n.locationPoint(a).distSqr(r)<o&&(e=a)}for(;Math.abs(e.lng-n.center.lng)>180;){var s=n.locationPoint(e);if(s.x>=0&&s.y>=0&&s.x<=n.width&&s.y<=n.height)break;e.lng>n.center.lng?e.lng-=360:e.lng+=360}return e}Ci.prototype.down=function(t,e){this.mouseRotate.mousedown(t,e),this.mousePitch&&this.mousePitch.mousedown(t,e),r.disableDrag()},Ci.prototype.move=function(t,e){var r=this.map,n=this.mouseRotate.mousemoveWindow(t,e);if(n&&n.bearingDelta&&r.setBearing(r.getBearing()+n.bearingDelta),this.mousePitch){var i=this.mousePitch.mousemoveWindow(t,e);i&&i.pitchDelta&&r.setPitch(r.getPitch()+i.pitchDelta)}},Ci.prototype.off=function(){var t=this.element;r.removeEventListener(t,"mousedown",this.mousedown),r.removeEventListener(t,"touchstart",this.touchstart,{passive:!1}),r.removeEventListener(t,"touchmove",this.touchmove),r.removeEventListener(t,"touchend",this.touchend),r.removeEventListener(t,"touchcancel",this.reset),this.offTemp()},Ci.prototype.offTemp=function(){r.enableDrag(),r.removeEventListener(t.window,"mousemove",this.mousemove),r.removeEventListener(t.window,"mouseup",this.mouseup)},Ci.prototype.mousedown=function(e){this.down(t.extend({},e,{ctrlKey:!0,preventDefault:function(){return e.preventDefault()}}),r.mousePos(this.element,e)),r.addEventListener(t.window,"mousemove",this.mousemove),r.addEventListener(t.window,"mouseup",this.mouseup)},Ci.prototype.mousemove=function(t){this.move(t,r.mousePos(this.element,t))},Ci.prototype.mouseup=function(t){this.mouseRotate.mouseupWindow(t),this.mousePitch&&this.mousePitch.mouseupWindow(t),this.offTemp()},Ci.prototype.touchstart=function(t){1!==t.targetTouches.length?this.reset():(this._startPos=this._lastPos=r.touchPos(this.element,t.targetTouches)[0],this.down({type:"mousedown",button:0,ctrlKey:!0,preventDefault:function(){return t.preventDefault()}},this._startPos))},Ci.prototype.touchmove=function(t){1!==t.targetTouches.length?this.reset():(this._lastPos=r.touchPos(this.element,t.targetTouches)[0],this.move({preventDefault:function(){return t.preventDefault()}},this._lastPos))},Ci.prototype.touchend=function(t){0===t.targetTouches.length&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos)<this._clickTolerance&&this.element.click(),this.reset()},Ci.prototype.reset=function(){this.mouseRotate.reset(),this.mousePitch&&this.mousePitch.reset(),delete this._startPos,delete this._lastPos,this.offTemp()};var Ii={center:"translate(-50%,-50%)",top:"translate(-50%,0)","top-left":"translate(0,0)","top-right":"translate(-100%,0)",bottom:"translate(-50%,-100%)","bottom-left":"translate(0,-100%)","bottom-right":"translate(-100%,-100%)",left:"translate(0,-50%)",right:"translate(-100%,-50%)"};function Pi(t,e,r){var n=t.classList;for(var i in Ii)n.remove("mapboxgl-"+r+"-anchor-"+i);n.add("mapboxgl-"+r+"-anchor-"+e)}var zi,Oi=function(e){function n(n,i){var a=this;if(e.call(this),(n instanceof t.window.HTMLElement||i)&&(n=t.extend({element:n},i)),t.bindAll(["_update","_onMove","_onUp","_addDragHandler","_onMapClick","_onKeyPress"],this),this._anchor=n&&n.anchor||"center",this._color=n&&n.color||"#3FB1CE",this._draggable=n&&n.draggable||!1,this._state="inactive",this._rotation=n&&n.rotation||0,this._rotationAlignment=n&&n.rotationAlignment||"auto",this._pitchAlignment=n&&n.pitchAlignment&&"auto"!==n.pitchAlignment?n.pitchAlignment:this._rotationAlignment,n&&n.element)this._element=n.element,this._offset=t.Point.convert(n&&n.offset||[0,0]);else{this._defaultMarker=!0,this._element=r.create("div"),this._element.setAttribute("aria-label","Map marker");var o=r.createNS("http://www.w3.org/2000/svg","svg");o.setAttributeNS(null,"display","block"),o.setAttributeNS(null,"height","41px"),o.setAttributeNS(null,"width","27px"),o.setAttributeNS(null,"viewBox","0 0 27 41");var s=r.createNS("http://www.w3.org/2000/svg","g");s.setAttributeNS(null,"stroke","none"),s.setAttributeNS(null,"stroke-width","1"),s.setAttributeNS(null,"fill","none"),s.setAttributeNS(null,"fill-rule","evenodd");var l=r.createNS("http://www.w3.org/2000/svg","g");l.setAttributeNS(null,"fill-rule","nonzero");var c=r.createNS("http://www.w3.org/2000/svg","g");c.setAttributeNS(null,"transform","translate(3.0, 29.0)"),c.setAttributeNS(null,"fill","#000000");for(var u=0,f=[{rx:"10.5",ry:"5.25002273"},{rx:"10.5",ry:"5.25002273"},{rx:"9.5",ry:"4.77275007"},{rx:"8.5",ry:"4.29549936"},{rx:"7.5",ry:"3.81822308"},{rx:"6.5",ry:"3.34094679"},{rx:"5.5",ry:"2.86367051"},{rx:"4.5",ry:"2.38636864"}];u<f.length;u+=1){var h=f[u],p=r.createNS("http://www.w3.org/2000/svg","ellipse");p.setAttributeNS(null,"opacity","0.04"),p.setAttributeNS(null,"cx","10.5"),p.setAttributeNS(null,"cy","5.80029008"),p.setAttributeNS(null,"rx",h.rx),p.setAttributeNS(null,"ry",h.ry),c.appendChild(p)}var d=r.createNS("http://www.w3.org/2000/svg","g");d.setAttributeNS(null,"fill",this._color);var g=r.createNS("http://www.w3.org/2000/svg","path");g.setAttributeNS(null,"d","M27,13.5 C27,19.074644 20.250001,27.000002 14.75,34.500002 C14.016665,35.500004 12.983335,35.500004 12.25,34.500002 C6.7499993,27.000002 0,19.222562 0,13.5 C0,6.0441559 6.0441559,0 13.5,0 C20.955844,0 27,6.0441559 27,13.5 Z"),d.appendChild(g);var m=r.createNS("http://www.w3.org/2000/svg","g");m.setAttributeNS(null,"opacity","0.25"),m.setAttributeNS(null,"fill","#000000");var v=r.createNS("http://www.w3.org/2000/svg","path");v.setAttributeNS(null,"d","M13.5,0 C6.0441559,0 0,6.0441559 0,13.5 C0,19.222562 6.7499993,27 12.25,34.5 C13,35.522727 14.016664,35.500004 14.75,34.5 C20.250001,27 27,19.074644 27,13.5 C27,6.0441559 20.955844,0 13.5,0 Z M13.5,1 C20.415404,1 26,6.584596 26,13.5 C26,15.898657 24.495584,19.181431 22.220703,22.738281 C19.945823,26.295132 16.705119,30.142167 13.943359,33.908203 C13.743445,34.180814 13.612715,34.322738 13.5,34.441406 C13.387285,34.322738 13.256555,34.180814 13.056641,33.908203 C10.284481,30.127985 7.4148684,26.314159 5.015625,22.773438 C2.6163816,19.232715 1,15.953538 1,13.5 C1,6.584596 6.584596,1 13.5,1 Z"),m.appendChild(v);var y=r.createNS("http://www.w3.org/2000/svg","g");y.setAttributeNS(null,"transform","translate(6.0, 7.0)"),y.setAttributeNS(null,"fill","#FFFFFF");var x=r.createNS("http://www.w3.org/2000/svg","g");x.setAttributeNS(null,"transform","translate(8.0, 8.0)");var b=r.createNS("http://www.w3.org/2000/svg","circle");b.setAttributeNS(null,"fill","#000000"),b.setAttributeNS(null,"opacity","0.25"),b.setAttributeNS(null,"cx","5.5"),b.setAttributeNS(null,"cy","5.5"),b.setAttributeNS(null,"r","5.4999962");var _=r.createNS("http://www.w3.org/2000/svg","circle");_.setAttributeNS(null,"fill","#FFFFFF"),_.setAttributeNS(null,"cx","5.5"),_.setAttributeNS(null,"cy","5.5"),_.setAttributeNS(null,"r","5.4999962"),x.appendChild(b),x.appendChild(_),l.appendChild(c),l.appendChild(d),l.appendChild(m),l.appendChild(y),l.appendChild(x),o.appendChild(l),this._element.appendChild(o),this._offset=t.Point.convert(n&&n.offset||[0,-14])}this._element.classList.add("mapboxgl-marker"),this._element.addEventListener("dragstart",(function(t){t.preventDefault()})),this._element.addEventListener("mousedown",(function(t){t.preventDefault()})),this._element.addEventListener("focus",(function(){var t=a._map.getContainer();t.scrollTop=0,t.scrollLeft=0})),Pi(this._element,this._anchor,"marker"),this._popup=null}return e&&(n.__proto__=e),(n.prototype=Object.create(e&&e.prototype)).constructor=n,n.prototype.addTo=function(t){return this.remove(),this._map=t,t.getCanvasContainer().appendChild(this._element),t.on("move",this._update),t.on("moveend",this._update),this.setDraggable(this._draggable),this._update(),this._map.on("click",this._onMapClick),this},n.prototype.remove=function(){return this._map&&(this._map.off("click",this._onMapClick),this._map.off("move",this._update),this._map.off("moveend",this._update),this._map.off("mousedown",this._addDragHandler),this._map.off("touchstart",this._addDragHandler),this._map.off("mouseup",this._onUp),this._map.off("touchend",this._onUp),this._map.off("mousemove",this._onMove),this._map.off("touchmove",this._onMove),delete this._map),r.remove(this._element),this._popup&&this._popup.remove(),this},n.prototype.getLngLat=function(){return this._lngLat},n.prototype.setLngLat=function(e){return this._lngLat=t.LngLat.convert(e),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this},n.prototype.getElement=function(){return this._element},n.prototype.setPopup=function(t){if(this._popup&&(this._popup.remove(),this._popup=null,this._element.removeEventListener("keypress",this._onKeyPress),this._originalTabIndex||this._element.removeAttribute("tabindex")),t){if(!("offset"in t.options)){var e=Math.sqrt(Math.pow(13.5,2)/2);t.options.offset=this._defaultMarker?{top:[0,0],"top-left":[0,0],"top-right":[0,0],bottom:[0,-38.1],"bottom-left":[e,-1*(24.6+e)],"bottom-right":[-e,-1*(24.6+e)],left:[13.5,-24.6],right:[-13.5,-24.6]}:this._offset}this._popup=t,this._lngLat&&this._popup.setLngLat(this._lngLat),this._originalTabIndex=this._element.getAttribute("tabindex"),this._originalTabIndex||this._element.setAttribute("tabindex","0"),this._element.addEventListener("keypress",this._onKeyPress)}return this},n.prototype._onKeyPress=function(t){var e=t.code,r=t.charCode||t.keyCode;"Space"!==e&&"Enter"!==e&&32!==r&&13!==r||this.togglePopup()},n.prototype._onMapClick=function(t){var e=t.originalEvent.target,r=this._element;this._popup&&(e===r||r.contains(e))&&this.togglePopup()},n.prototype.getPopup=function(){return this._popup},n.prototype.togglePopup=function(){var t=this._popup;return t?(t.isOpen()?t.remove():t.addTo(this._map),this):this},n.prototype._update=function(t){if(this._map){this._map.transform.renderWorldCopies&&(this._lngLat=Li(this._lngLat,this._pos,this._map.transform)),this._pos=this._map.project(this._lngLat)._add(this._offset);var e="";"viewport"===this._rotationAlignment||"auto"===this._rotationAlignment?e="rotateZ("+this._rotation+"deg)":"map"===this._rotationAlignment&&(e="rotateZ("+(this._rotation-this._map.getBearing())+"deg)");var n="";"viewport"===this._pitchAlignment||"auto"===this._pitchAlignment?n="rotateX(0deg)":"map"===this._pitchAlignment&&(n="rotateX("+this._map.getPitch()+"deg)"),t&&"moveend"!==t.type||(this._pos=this._pos.round()),r.setTransform(this._element,Ii[this._anchor]+" translate("+this._pos.x+"px, "+this._pos.y+"px) "+n+" "+e)}},n.prototype.getOffset=function(){return this._offset},n.prototype.setOffset=function(e){return this._offset=t.Point.convert(e),this._update(),this},n.prototype._onMove=function(e){this._pos=e.point.sub(this._positionDelta),this._lngLat=this._map.unproject(this._pos),this.setLngLat(this._lngLat),this._element.style.pointerEvents="none","pending"===this._state&&(this._state="active",this.fire(new t.Event("dragstart"))),this.fire(new t.Event("drag"))},n.prototype._onUp=function(){this._element.style.pointerEvents="auto",this._positionDelta=null,this._map.off("mousemove",this._onMove),this._map.off("touchmove",this._onMove),"active"===this._state&&this.fire(new t.Event("dragend")),this._state="inactive"},n.prototype._addDragHandler=function(t){this._element.contains(t.originalEvent.target)&&(t.preventDefault(),this._positionDelta=t.point.sub(this._pos).add(this._offset),this._state="pending",this._map.on("mousemove",this._onMove),this._map.on("touchmove",this._onMove),this._map.once("mouseup",this._onUp),this._map.once("touchend",this._onUp))},n.prototype.setDraggable=function(t){return this._draggable=!!t,this._map&&(t?(this._map.on("mousedown",this._addDragHandler),this._map.on("touchstart",this._addDragHandler)):(this._map.off("mousedown",this._addDragHandler),this._map.off("touchstart",this._addDragHandler))),this},n.prototype.isDraggable=function(){return this._draggable},n.prototype.setRotation=function(t){return this._rotation=t||0,this._update(),this},n.prototype.getRotation=function(){return this._rotation},n.prototype.setRotationAlignment=function(t){return this._rotationAlignment=t||"auto",this._update(),this},n.prototype.getRotationAlignment=function(){return this._rotationAlignment},n.prototype.setPitchAlignment=function(t){return this._pitchAlignment=t&&"auto"!==t?t:this._rotationAlignment,this._update(),this},n.prototype.getPitchAlignment=function(){return this._pitchAlignment},n}(t.Evented),Di={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0},Ri=0,Fi=!1,Bi=function(e){function n(r){e.call(this),this.options=t.extend({},Di,r),t.bindAll(["_onSuccess","_onError","_onZoom","_finish","_setupUI","_updateCamera","_updateMarker"],this)}return e&&(n.__proto__=e),(n.prototype=Object.create(e&&e.prototype)).constructor=n,n.prototype.onAdd=function(e){var n;return this._map=e,this._container=r.create("div","mapboxgl-ctrl mapboxgl-ctrl-group"),n=this._setupUI,void 0!==zi?n(zi):void 0!==t.window.navigator.permissions?t.window.navigator.permissions.query({name:"geolocation"}).then((function(t){n(zi="denied"!==t.state)})):n(zi=!!t.window.navigator.geolocation),this._container},n.prototype.onRemove=function(){void 0!==this._geolocationWatchID&&(t.window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0),this.options.showUserLocation&&this._userLocationDotMarker&&this._userLocationDotMarker.remove(),this.options.showAccuracyCircle&&this._accuracyCircleMarker&&this._accuracyCircleMarker.remove(),r.remove(this._container),this._map.off("zoom",this._onZoom),this._map=void 0,Ri=0,Fi=!1},n.prototype._isOutOfMapMaxBounds=function(t){var e=this._map.getMaxBounds(),r=t.coords;return e&&(r.longitude<e.getWest()||r.longitude>e.getEast()||r.latitude<e.getSouth()||r.latitude>e.getNorth())},n.prototype._setErrorState=function(){switch(this._watchState){case"WAITING_ACTIVE":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error");break;case"ACTIVE_LOCK":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting");break;case"BACKGROUND":this._watchState="BACKGROUND_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting")}},n.prototype._onSuccess=function(e){if(this._map){if(this._isOutOfMapMaxBounds(e))return this._setErrorState(),this.fire(new t.Event("outofmaxbounds",e)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=e,this._watchState){case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"BACKGROUND":case"BACKGROUND_ERROR":this._watchState="BACKGROUND",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background")}this.options.showUserLocation&&"OFF"!==this._watchState&&this._updateMarker(e),this.options.trackUserLocation&&"ACTIVE_LOCK"!==this._watchState||this._updateCamera(e),this.options.showUserLocation&&this._dotElement.classList.remove("mapboxgl-user-location-dot-stale"),this.fire(new t.Event("geolocate",e)),this._finish()}},n.prototype._updateCamera=function(e){var r=new t.LngLat(e.coords.longitude,e.coords.latitude),n=e.coords.accuracy,i=this._map.getBearing(),a=t.extend({bearing:i},this.options.fitBoundsOptions);this._map.fitBounds(r.toBounds(n),a,{geolocateSource:!0})},n.prototype._updateMarker=function(e){if(e){var r=new t.LngLat(e.coords.longitude,e.coords.latitude);this._accuracyCircleMarker.setLngLat(r).addTo(this._map),this._userLocationDotMarker.setLngLat(r).addTo(this._map),this._accuracy=e.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove()},n.prototype._updateCircleRadius=function(){var t=this._map._container.clientHeight/2,e=this._map.unproject([0,t]),r=this._map.unproject([1,t]),n=e.distanceTo(r),i=Math.ceil(2*this._accuracy/n);this._circleElement.style.width=i+"px",this._circleElement.style.height=i+"px"},n.prototype._onZoom=function(){this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()},n.prototype._onError=function(e){if(this._map){if(this.options.trackUserLocation)if(1===e.code){this._watchState="OFF",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.disabled=!0;var r=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.title=r,this._geolocateButton.setAttribute("aria-label",r),void 0!==this._geolocationWatchID&&this._clearWatch()}else{if(3===e.code&&Fi)return;this._setErrorState()}"OFF"!==this._watchState&&this.options.showUserLocation&&this._dotElement.classList.add("mapboxgl-user-location-dot-stale"),this.fire(new t.Event("error",e)),this._finish()}},n.prototype._finish=function(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},n.prototype._setupUI=function(e){var n=this;if(this._container.addEventListener("contextmenu",(function(t){return t.preventDefault()})),this._geolocateButton=r.create("button","mapboxgl-ctrl-geolocate",this._container),r.create("span","mapboxgl-ctrl-icon",this._geolocateButton).setAttribute("aria-hidden",!0),this._geolocateButton.type="button",!1===e){t.warnOnce("Geolocation support is not available so the GeolocateControl will be disabled.");var i=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.disabled=!0,this._geolocateButton.title=i,this._geolocateButton.setAttribute("aria-label",i)}else{var a=this._map._getUIString("GeolocateControl.FindMyLocation");this._geolocateButton.title=a,this._geolocateButton.setAttribute("aria-label",a)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute("aria-pressed","false"),this._watchState="OFF"),this.options.showUserLocation&&(this._dotElement=r.create("div","mapboxgl-user-location-dot"),this._userLocationDotMarker=new Oi(this._dotElement),this._circleElement=r.create("div","mapboxgl-user-location-accuracy-circle"),this._accuracyCircleMarker=new Oi({element:this._circleElement,pitchAlignment:"map"}),this.options.trackUserLocation&&(this._watchState="OFF"),this._map.on("zoom",this._onZoom)),this._geolocateButton.addEventListener("click",this.trigger.bind(this)),this._setup=!0,this.options.trackUserLocation&&this._map.on("movestart",(function(e){e.geolocateSource||"ACTIVE_LOCK"!==n._watchState||e.originalEvent&&"resize"===e.originalEvent.type||(n._watchState="BACKGROUND",n._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background"),n._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),n.fire(new t.Event("trackuserlocationend")))}))},n.prototype.trigger=function(){if(!this._setup)return t.warnOnce("Geolocate control triggered before added to a map"),!1;if(this.options.trackUserLocation){switch(this._watchState){case"OFF":this._watchState="WAITING_ACTIVE",this.fire(new t.Event("trackuserlocationstart"));break;case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":case"BACKGROUND_ERROR":Ri--,Fi=!1,this._watchState="OFF",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),this.fire(new t.Event("trackuserlocationend"));break;case"BACKGROUND":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(new t.Event("trackuserlocationstart"))}switch(this._watchState){case"WAITING_ACTIVE":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"ACTIVE_LOCK":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"ACTIVE_ERROR":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error");break;case"BACKGROUND":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background");break;case"BACKGROUND_ERROR":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background-error")}if("OFF"===this._watchState&&void 0!==this._geolocationWatchID)this._clearWatch();else if(void 0===this._geolocationWatchID){var e;this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","true"),++Ri>1?(e={maximumAge:6e5,timeout:0},Fi=!0):(e=this.options.positionOptions,Fi=!1),this._geolocationWatchID=t.window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,e)}}else t.window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return!0},n.prototype._clearWatch=function(){t.window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0,this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","false"),this.options.showUserLocation&&this._updateMarker(null)},n}(t.Evented),Ni={maxWidth:100,unit:"metric"},ji=function(e){this.options=t.extend({},Ni,e),t.bindAll(["_onMove","setUnit"],this)};function Ui(t,e,r){var n=r&&r.maxWidth||100,i=t._container.clientHeight/2,a=t.unproject([0,i]),o=t.unproject([n,i]),s=a.distanceTo(o);if(r&&"imperial"===r.unit){var l=3.2808*s;l>5280?Vi(e,n,l/5280,t._getUIString("ScaleControl.Miles")):Vi(e,n,l,t._getUIString("ScaleControl.Feet"))}else r&&"nautical"===r.unit?Vi(e,n,s/1852,t._getUIString("ScaleControl.NauticalMiles")):s>=1e3?Vi(e,n,s/1e3,t._getUIString("ScaleControl.Kilometers")):Vi(e,n,s,t._getUIString("ScaleControl.Meters"))}function Vi(t,e,r,n){var i,a,o,s=(i=r,(a=Math.pow(10,(""+Math.floor(i)).length-1))*(o=(o=i/a)>=10?10:o>=5?5:o>=3?3:o>=2?2:o>=1?1:function(t){var e=Math.pow(10,Math.ceil(-Math.log(t)/Math.LN10));return Math.round(t*e)/e}(o)));t.style.width=e*(s/r)+"px",t.innerHTML=s+" "+n}ji.prototype.getDefaultPosition=function(){return"bottom-left"},ji.prototype._onMove=function(){Ui(this._map,this._container,this.options)},ji.prototype.onAdd=function(t){return this._map=t,this._container=r.create("div","mapboxgl-ctrl mapboxgl-ctrl-scale",t.getContainer()),this._map.on("move",this._onMove),this._onMove(),this._container},ji.prototype.onRemove=function(){r.remove(this._container),this._map.off("move",this._onMove),this._map=void 0},ji.prototype.setUnit=function(t){this.options.unit=t,Ui(this._map,this._container,this.options)};var qi=function(e){this._fullscreen=!1,e&&e.container&&(e.container instanceof t.window.HTMLElement?this._container=e.container:t.warnOnce("Full screen control 'container' must be a DOM element.")),t.bindAll(["_onClickFullscreen","_changeIcon"],this),"onfullscreenchange"in t.window.document?this._fullscreenchange="fullscreenchange":"onmozfullscreenchange"in t.window.document?this._fullscreenchange="mozfullscreenchange":"onwebkitfullscreenchange"in t.window.document?this._fullscreenchange="webkitfullscreenchange":"onmsfullscreenchange"in t.window.document&&(this._fullscreenchange="MSFullscreenChange")};qi.prototype.onAdd=function(e){return this._map=e,this._container||(this._container=this._map.getContainer()),this._controlContainer=r.create("div","mapboxgl-ctrl mapboxgl-ctrl-group"),this._checkFullscreenSupport()?this._setupUI():(this._controlContainer.style.display="none",t.warnOnce("This device does not support fullscreen mode.")),this._controlContainer},qi.prototype.onRemove=function(){r.remove(this._controlContainer),this._map=null,t.window.document.removeEventListener(this._fullscreenchange,this._changeIcon)},qi.prototype._checkFullscreenSupport=function(){return!!(t.window.document.fullscreenEnabled||t.window.document.mozFullScreenEnabled||t.window.document.msFullscreenEnabled||t.window.document.webkitFullscreenEnabled)},qi.prototype._setupUI=function(){var e=this._fullscreenButton=r.create("button","mapboxgl-ctrl-fullscreen",this._controlContainer);r.create("span","mapboxgl-ctrl-icon",e).setAttribute("aria-hidden",!0),e.type="button",this._updateTitle(),this._fullscreenButton.addEventListener("click",this._onClickFullscreen),t.window.document.addEventListener(this._fullscreenchange,this._changeIcon)},qi.prototype._updateTitle=function(){var t=this._getTitle();this._fullscreenButton.setAttribute("aria-label",t),this._fullscreenButton.title=t},qi.prototype._getTitle=function(){return this._map._getUIString(this._isFullscreen()?"FullscreenControl.Exit":"FullscreenControl.Enter")},qi.prototype._isFullscreen=function(){return this._fullscreen},qi.prototype._changeIcon=function(){(t.window.document.fullscreenElement||t.window.document.mozFullScreenElement||t.window.document.webkitFullscreenElement||t.window.document.msFullscreenElement)===this._container!==this._fullscreen&&(this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle("mapboxgl-ctrl-shrink"),this._fullscreenButton.classList.toggle("mapboxgl-ctrl-fullscreen"),this._updateTitle())},qi.prototype._onClickFullscreen=function(){this._isFullscreen()?t.window.document.exitFullscreen?t.window.document.exitFullscreen():t.window.document.mozCancelFullScreen?t.window.document.mozCancelFullScreen():t.window.document.msExitFullscreen?t.window.document.msExitFullscreen():t.window.document.webkitCancelFullScreen&&t.window.document.webkitCancelFullScreen():this._container.requestFullscreen?this._container.requestFullscreen():this._container.mozRequestFullScreen?this._container.mozRequestFullScreen():this._container.msRequestFullscreen?this._container.msRequestFullscreen():this._container.webkitRequestFullscreen&&this._container.webkitRequestFullscreen()};var Hi={closeButton:!0,closeOnClick:!0,className:"",maxWidth:"240px"},Gi=function(e){function n(r){e.call(this),this.options=t.extend(Object.create(Hi),r),t.bindAll(["_update","_onClose","remove","_onMouseMove","_onMouseUp","_onDrag"],this)}return e&&(n.__proto__=e),(n.prototype=Object.create(e&&e.prototype)).constructor=n,n.prototype.addTo=function(e){return this._map&&this.remove(),this._map=e,this.options.closeOnClick&&this._map.on("click",this._onClose),this.options.closeOnMove&&this._map.on("move",this._onClose),this._map.on("remove",this.remove),this._update(),this._trackPointer?(this._map.on("mousemove",this._onMouseMove),this._map.on("mouseup",this._onMouseUp),this._container&&this._container.classList.add("mapboxgl-popup-track-pointer"),this._map._canvasContainer.classList.add("mapboxgl-track-pointer")):this._map.on("move",this._update),this.fire(new t.Event("open")),this},n.prototype.isOpen=function(){return!!this._map},n.prototype.remove=function(){return this._content&&r.remove(this._content),this._container&&(r.remove(this._container),delete this._container),this._map&&(this._map.off("move",this._update),this._map.off("move",this._onClose),this._map.off("click",this._onClose),this._map.off("remove",this.remove),this._map.off("mousemove",this._onMouseMove),this._map.off("mouseup",this._onMouseUp),this._map.off("drag",this._onDrag),delete this._map),this.fire(new t.Event("close")),this},n.prototype.getLngLat=function(){return this._lngLat},n.prototype.setLngLat=function(e){return this._lngLat=t.LngLat.convert(e),this._pos=null,this._trackPointer=!1,this._update(),this._map&&(this._map.on("move",this._update),this._map.off("mousemove",this._onMouseMove),this._container&&this._container.classList.remove("mapboxgl-popup-track-pointer"),this._map._canvasContainer.classList.remove("mapboxgl-track-pointer")),this},n.prototype.trackPointer=function(){return this._trackPointer=!0,this._pos=null,this._update(),this._map&&(this._map.off("move",this._update),this._map.on("mousemove",this._onMouseMove),this._map.on("drag",this._onDrag),this._container&&this._container.classList.add("mapboxgl-popup-track-pointer"),this._map._canvasContainer.classList.add("mapboxgl-track-pointer")),this},n.prototype.getElement=function(){return this._container},n.prototype.setText=function(e){return this.setDOMContent(t.window.document.createTextNode(e))},n.prototype.setHTML=function(e){var r,n=t.window.document.createDocumentFragment(),i=t.window.document.createElement("body");for(i.innerHTML=e;r=i.firstChild;)n.appendChild(r);return this.setDOMContent(n)},n.prototype.getMaxWidth=function(){return this._container&&this._container.style.maxWidth},n.prototype.setMaxWidth=function(t){return this.options.maxWidth=t,this._update(),this},n.prototype.setDOMContent=function(t){return this._createContent(),this._content.appendChild(t),this._update(),this},n.prototype.addClassName=function(t){this._container&&this._container.classList.add(t)},n.prototype.removeClassName=function(t){this._container&&this._container.classList.remove(t)},n.prototype.toggleClassName=function(t){if(this._container)return this._container.classList.toggle(t)},n.prototype._createContent=function(){this._content&&r.remove(this._content),this._content=r.create("div","mapboxgl-popup-content",this._container),this.options.closeButton&&(this._closeButton=r.create("button","mapboxgl-popup-close-button",this._content),this._closeButton.type="button",this._closeButton.setAttribute("aria-label","Close popup"),this._closeButton.innerHTML="×",this._closeButton.addEventListener("click",this._onClose))},n.prototype._onMouseUp=function(t){this._update(t.point)},n.prototype._onMouseMove=function(t){this._update(t.point)},n.prototype._onDrag=function(t){this._update(t.point)},n.prototype._update=function(e){var n=this;if(this._map&&(this._lngLat||this._trackPointer)&&this._content&&(this._container||(this._container=r.create("div","mapboxgl-popup",this._map.getContainer()),this._tip=r.create("div","mapboxgl-popup-tip",this._container),this._container.appendChild(this._content),this.options.className&&this.options.className.split(" ").forEach((function(t){return n._container.classList.add(t)})),this._trackPointer&&this._container.classList.add("mapboxgl-popup-track-pointer")),this.options.maxWidth&&this._container.style.maxWidth!==this.options.maxWidth&&(this._container.style.maxWidth=this.options.maxWidth),this._map.transform.renderWorldCopies&&!this._trackPointer&&(this._lngLat=Li(this._lngLat,this._pos,this._map.transform)),!this._trackPointer||e)){var i=this._pos=this._trackPointer&&e?e:this._map.project(this._lngLat),a=this.options.anchor,o=function e(r){if(r){if("number"==typeof r){var n=Math.round(Math.sqrt(.5*Math.pow(r,2)));return{center:new t.Point(0,0),top:new t.Point(0,r),"top-left":new t.Point(n,n),"top-right":new t.Point(-n,n),bottom:new t.Point(0,-r),"bottom-left":new t.Point(n,-n),"bottom-right":new t.Point(-n,-n),left:new t.Point(r,0),right:new t.Point(-r,0)}}if(r instanceof t.Point||Array.isArray(r)){var i=t.Point.convert(r);return{center:i,top:i,"top-left":i,"top-right":i,bottom:i,"bottom-left":i,"bottom-right":i,left:i,right:i}}return{center:t.Point.convert(r.center||[0,0]),top:t.Point.convert(r.top||[0,0]),"top-left":t.Point.convert(r["top-left"]||[0,0]),"top-right":t.Point.convert(r["top-right"]||[0,0]),bottom:t.Point.convert(r.bottom||[0,0]),"bottom-left":t.Point.convert(r["bottom-left"]||[0,0]),"bottom-right":t.Point.convert(r["bottom-right"]||[0,0]),left:t.Point.convert(r.left||[0,0]),right:t.Point.convert(r.right||[0,0])}}return e(new t.Point(0,0))}(this.options.offset);if(!a){var s,l=this._container.offsetWidth,c=this._container.offsetHeight;s=i.y+o.bottom.y<c?["top"]:i.y>this._map.transform.height-c?["bottom"]:[],i.x<l/2?s.push("left"):i.x>this._map.transform.width-l/2&&s.push("right"),a=0===s.length?"bottom":s.join("-")}var u=i.add(o[a]).round();r.setTransform(this._container,Ii[a]+" translate("+u.x+"px,"+u.y+"px)"),Pi(this._container,a,"popup")}},n.prototype._onClose=function(){this.remove()},n}(t.Evented),Yi={version:t.version,supported:e,setRTLTextPlugin:t.setRTLTextPlugin,getRTLTextPluginStatus:t.getRTLTextPluginStatus,Map:Mi,NavigationControl:Ei,GeolocateControl:Bi,AttributionControl:vi,ScaleControl:ji,FullscreenControl:qi,Popup:Gi,Marker:Oi,Style:qe,LngLat:t.LngLat,LngLatBounds:t.LngLatBounds,Point:t.Point,MercatorCoordinate:t.MercatorCoordinate,Evented:t.Evented,config:t.config,prewarm:function(){Bt().acquire(Ot)},clearPrewarmedResources:function(){var t=Rt;t&&(t.isPreloaded()&&1===t.numActive()?(t.release(Ot),Rt=null):console.warn("Could not clear WebWorkers since there are active Map instances that still reference it. The pre-warmed WebWorker pool can only be cleared when all map instances have been removed with map.remove()"))},get accessToken(){return t.config.ACCESS_TOKEN},set accessToken(e){t.config.ACCESS_TOKEN=e},get baseApiUrl(){return t.config.API_URL},set baseApiUrl(e){t.config.API_URL=e},get workerCount(){return Dt.workerCount},set workerCount(t){Dt.workerCount=t},get maxParallelImageRequests(){return t.config.MAX_PARALLEL_IMAGE_REQUESTS},set maxParallelImageRequests(e){t.config.MAX_PARALLEL_IMAGE_REQUESTS=e},clearStorage:function(e){t.clearTileCache(e)},workerUrl:""};return Yi})),r}))},{}],474:[function(t,e,r){"use strict";e.exports=function(t){for(var e=1<<t+1,r=new Array(e),n=0;n<e;++n)r[n]=a(t,n);return r};var n=t("convex-hull");function i(t,e,r){for(var n=new Array(t),i=0;i<t;++i)n[i]=0,i===e&&(n[i]+=.5),i===r&&(n[i]+=.5);return n}function a(t,e){if(0===e||e===(1<<t+1)-1)return[];for(var r=[],a=[],o=0;o<=t;++o)if(e&1<<o){r.push(i(t,o-1,o-1)),a.push(null);for(var s=0;s<=t;++s)~e&1<<s&&(r.push(i(t,o-1,s-1)),a.push([o,s]))}var l=n(r),c=[];t:for(o=0;o<l.length;++o){var u=l[o],f=[];for(s=0;s<u.length;++s){if(!a[u[s]])continue t;f.push(a[u[s]].slice())}c.push(f)}return c}},{"convex-hull":135}],475:[function(t,e,r){var n=t("./normalize"),i=t("gl-mat4/create"),a=t("gl-mat4/clone"),o=t("gl-mat4/determinant"),s=t("gl-mat4/invert"),l=t("gl-mat4/transpose"),c={length:t("gl-vec3/length"),normalize:t("gl-vec3/normalize"),dot:t("gl-vec3/dot"),cross:t("gl-vec3/cross")},u=i(),f=i(),h=[0,0,0,0],p=[[0,0,0],[0,0,0],[0,0,0]],d=[0,0,0];function g(t,e,r,n,i){t[0]=e[0]*n+r[0]*i,t[1]=e[1]*n+r[1]*i,t[2]=e[2]*n+r[2]*i}e.exports=function(t,e,r,i,m,v){if(e||(e=[0,0,0]),r||(r=[0,0,0]),i||(i=[0,0,0]),m||(m=[0,0,0,1]),v||(v=[0,0,0,1]),!n(u,t))return!1;if(a(f,u),f[3]=0,f[7]=0,f[11]=0,f[15]=1,Math.abs(o(f)<1e-8))return!1;var y,x,b,_,w,T,k,M=u[3],A=u[7],S=u[11],E=u[12],C=u[13],L=u[14],I=u[15];if(0!==M||0!==A||0!==S){if(h[0]=M,h[1]=A,h[2]=S,h[3]=I,!s(f,f))return!1;l(f,f),y=m,b=f,_=(x=h)[0],w=x[1],T=x[2],k=x[3],y[0]=b[0]*_+b[4]*w+b[8]*T+b[12]*k,y[1]=b[1]*_+b[5]*w+b[9]*T+b[13]*k,y[2]=b[2]*_+b[6]*w+b[10]*T+b[14]*k,y[3]=b[3]*_+b[7]*w+b[11]*T+b[15]*k}else m[0]=m[1]=m[2]=0,m[3]=1;if(e[0]=E,e[1]=C,e[2]=L,function(t,e){t[0][0]=e[0],t[0][1]=e[1],t[0][2]=e[2],t[1][0]=e[4],t[1][1]=e[5],t[1][2]=e[6],t[2][0]=e[8],t[2][1]=e[9],t[2][2]=e[10]}(p,u),r[0]=c.length(p[0]),c.normalize(p[0],p[0]),i[0]=c.dot(p[0],p[1]),g(p[1],p[1],p[0],1,-i[0]),r[1]=c.length(p[1]),c.normalize(p[1],p[1]),i[0]/=r[1],i[1]=c.dot(p[0],p[2]),g(p[2],p[2],p[0],1,-i[1]),i[2]=c.dot(p[1],p[2]),g(p[2],p[2],p[1],1,-i[2]),r[2]=c.length(p[2]),c.normalize(p[2],p[2]),i[1]/=r[2],i[2]/=r[2],c.cross(d,p[1],p[2]),c.dot(p[0],d)<0)for(var P=0;P<3;P++)r[P]*=-1,p[P][0]*=-1,p[P][1]*=-1,p[P][2]*=-1;return v[0]=.5*Math.sqrt(Math.max(1+p[0][0]-p[1][1]-p[2][2],0)),v[1]=.5*Math.sqrt(Math.max(1-p[0][0]+p[1][1]-p[2][2],0)),v[2]=.5*Math.sqrt(Math.max(1-p[0][0]-p[1][1]+p[2][2],0)),v[3]=.5*Math.sqrt(Math.max(1+p[0][0]+p[1][1]+p[2][2],0)),p[2][1]>p[1][2]&&(v[0]=-v[0]),p[0][2]>p[2][0]&&(v[1]=-v[1]),p[1][0]>p[0][1]&&(v[2]=-v[2]),!0}},{"./normalize":476,"gl-mat4/clone":278,"gl-mat4/create":280,"gl-mat4/determinant":281,"gl-mat4/invert":293,"gl-mat4/transpose":306,"gl-vec3/cross":365,"gl-vec3/dot":370,"gl-vec3/length":380,"gl-vec3/normalize":387}],476:[function(t,e,r){e.exports=function(t,e){var r=e[15];if(0===r)return!1;for(var n=1/r,i=0;i<16;i++)t[i]=e[i]*n;return!0}},{}],477:[function(t,e,r){var n=t("gl-vec3/lerp"),i=t("mat4-recompose"),a=t("mat4-decompose"),o=t("gl-mat4/determinant"),s=t("quat-slerp"),l=f(),c=f(),u=f();function f(){return{translate:h(),scale:h(1),skew:h(),perspective:[0,0,0,1],quaternion:[0,0,0,1]}}function h(t){return[t||0,t||0,t||0]}e.exports=function(t,e,r,f){if(0===o(e)||0===o(r))return!1;var h=a(e,l.translate,l.scale,l.skew,l.perspective,l.quaternion),p=a(r,c.translate,c.scale,c.skew,c.perspective,c.quaternion);return!(!h||!p)&&(n(u.translate,l.translate,c.translate,f),n(u.skew,l.skew,c.skew,f),n(u.scale,l.scale,c.scale,f),n(u.perspective,l.perspective,c.perspective,f),s(u.quaternion,l.quaternion,c.quaternion,f),i(t,u.translate,u.scale,u.skew,u.perspective,u.quaternion),!0)}},{"gl-mat4/determinant":281,"gl-vec3/lerp":381,"mat4-decompose":475,"mat4-recompose":478,"quat-slerp":527}],478:[function(t,e,r){var n={identity:t("gl-mat4/identity"),translate:t("gl-mat4/translate"),multiply:t("gl-mat4/multiply"),create:t("gl-mat4/create"),scale:t("gl-mat4/scale"),fromRotationTranslation:t("gl-mat4/fromRotationTranslation")},i=(n.create(),n.create());e.exports=function(t,e,r,a,o,s){return n.identity(t),n.fromRotationTranslation(t,s,e),t[3]=o[0],t[7]=o[1],t[11]=o[2],t[15]=o[3],n.identity(i),0!==a[2]&&(i[9]=a[2],n.multiply(t,t,i)),0!==a[1]&&(i[9]=0,i[8]=a[1],n.multiply(t,t,i)),0!==a[0]&&(i[8]=0,i[4]=a[0],n.multiply(t,t,i)),n.scale(t,t,r),t}},{"gl-mat4/create":280,"gl-mat4/fromRotationTranslation":284,"gl-mat4/identity":291,"gl-mat4/multiply":295,"gl-mat4/scale":303,"gl-mat4/translate":305}],479:[function(t,e,r){"use strict";e.exports=Math.log2||function(t){return Math.log(t)*Math.LOG2E}},{}],480:[function(t,e,r){"use strict";var n=t("binary-search-bounds"),i=t("mat4-interpolate"),a=t("gl-mat4/invert"),o=t("gl-mat4/rotateX"),s=t("gl-mat4/rotateY"),l=t("gl-mat4/rotateZ"),c=t("gl-mat4/lookAt"),u=t("gl-mat4/translate"),f=(t("gl-mat4/scale"),t("gl-vec3/normalize")),h=[0,0,0];function p(t){this._components=t.slice(),this._time=[0],this.prevMatrix=t.slice(),this.nextMatrix=t.slice(),this.computedMatrix=t.slice(),this.computedInverse=t.slice(),this.computedEye=[0,0,0],this.computedUp=[0,0,0],this.computedCenter=[0,0,0],this.computedRadius=[0],this._limits=[-1/0,1/0]}e.exports=function(t){return new p((t=t||{}).matrix||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])};var d=p.prototype;d.recalcMatrix=function(t){var e=this._time,r=n.le(e,t),o=this.computedMatrix;if(!(r<0)){var s=this._components;if(r===e.length-1)for(var l=16*r,c=0;c<16;++c)o[c]=s[l++];else{var u=e[r+1]-e[r],h=(l=16*r,this.prevMatrix),p=!0;for(c=0;c<16;++c)h[c]=s[l++];var d=this.nextMatrix;for(c=0;c<16;++c)d[c]=s[l++],p=p&&h[c]===d[c];if(u<1e-6||p)for(c=0;c<16;++c)o[c]=h[c];else i(o,h,d,(t-e[r])/u)}var g=this.computedUp;g[0]=o[1],g[1]=o[5],g[2]=o[9],f(g,g);var m=this.computedInverse;a(m,o);var v=this.computedEye,y=m[15];v[0]=m[12]/y,v[1]=m[13]/y,v[2]=m[14]/y;var x=this.computedCenter,b=Math.exp(this.computedRadius[0]);for(c=0;c<3;++c)x[c]=v[c]-o[2+4*c]*b}},d.idle=function(t){if(!(t<this.lastT())){for(var e=this._components,r=e.length-16,n=0;n<16;++n)e.push(e[r++]);this._time.push(t)}},d.flush=function(t){var e=n.gt(this._time,t)-2;e<0||(this._time.splice(0,e),this._components.splice(0,16*e))},d.lastT=function(){return this._time[this._time.length-1]},d.lookAt=function(t,e,r,n){this.recalcMatrix(t),e=e||this.computedEye,r=r||h,n=n||this.computedUp,this.setMatrix(t,c(this.computedMatrix,e,r,n));for(var i=0,a=0;a<3;++a)i+=Math.pow(r[a]-e[a],2);i=Math.log(Math.sqrt(i)),this.computedRadius[0]=i},d.rotate=function(t,e,r,n){this.recalcMatrix(t);var i=this.computedInverse;e&&s(i,i,e),r&&o(i,i,r),n&&l(i,i,n),this.setMatrix(t,a(this.computedMatrix,i))};var g=[0,0,0];d.pan=function(t,e,r,n){g[0]=-(e||0),g[1]=-(r||0),g[2]=-(n||0),this.recalcMatrix(t);var i=this.computedInverse;u(i,i,g),this.setMatrix(t,a(i,i))},d.translate=function(t,e,r,n){g[0]=e||0,g[1]=r||0,g[2]=n||0,this.recalcMatrix(t);var i=this.computedMatrix;u(i,i,g),this.setMatrix(t,i)},d.setMatrix=function(t,e){if(!(t<this.lastT())){this._time.push(t);for(var r=0;r<16;++r)this._components.push(e[r])}},d.setDistance=function(t,e){this.computedRadius[0]=e},d.setDistanceLimits=function(t,e){var r=this._limits;r[0]=t,r[1]=e},d.getDistanceLimits=function(t){var e=this._limits;return t?(t[0]=e[0],t[1]=e[1],t):e}},{"binary-search-bounds":481,"gl-mat4/invert":293,"gl-mat4/lookAt":294,"gl-mat4/rotateX":300,"gl-mat4/rotateY":301,"gl-mat4/rotateZ":302,"gl-mat4/scale":303,"gl-mat4/translate":305,"gl-vec3/normalize":387,"mat4-interpolate":477}],481:[function(t,e,r){arguments[4][243][0].apply(r,arguments)},{dup:243}],482:[function(t,e,r){"use strict";e.exports=function(t){var e=t.length;if(e<3){for(var r=new Array(e),i=0;i<e;++i)r[i]=i;return 2===e&&t[0][0]===t[1][0]&&t[0][1]===t[1][1]?[0]:r}var a=new Array(e);for(i=0;i<e;++i)a[i]=i;a.sort((function(e,r){var n=t[e][0]-t[r][0];return n||t[e][1]-t[r][1]}));var o=[a[0],a[1]],s=[a[0],a[1]];for(i=2;i<e;++i){for(var l=a[i],c=t[l],u=o.length;u>1&&n(t[o[u-2]],t[o[u-1]],c)<=0;)u-=1,o.pop();for(o.push(l),u=s.length;u>1&&n(t[s[u-2]],t[s[u-1]],c)>=0;)u-=1,s.pop();s.push(l)}r=new Array(s.length+o.length-2);for(var f=0,h=(i=0,o.length);i<h;++i)r[f++]=o[i];for(var p=s.length-2;p>0;--p)r[f++]=s[p];return r};var n=t("robust-orientation")[3]},{"robust-orientation":548}],483:[function(t,e,r){"use strict";e.exports=function(t,e){e||(e=t,t=window);var r=0,i=0,a=0,o={shift:!1,alt:!1,control:!1,meta:!1},s=!1;function l(t){var e=!1;return"altKey"in t&&(e=e||t.altKey!==o.alt,o.alt=!!t.altKey),"shiftKey"in t&&(e=e||t.shiftKey!==o.shift,o.shift=!!t.shiftKey),"ctrlKey"in t&&(e=e||t.ctrlKey!==o.control,o.control=!!t.ctrlKey),"metaKey"in t&&(e=e||t.metaKey!==o.meta,o.meta=!!t.metaKey),e}function c(t,s){var c=n.x(s),u=n.y(s);"buttons"in s&&(t=0|s.buttons),(t!==r||c!==i||u!==a||l(s))&&(r=0|t,i=c||0,a=u||0,e&&e(r,i,a,o))}function u(t){c(0,t)}function f(){(r||i||a||o.shift||o.alt||o.meta||o.control)&&(i=a=0,r=0,o.shift=o.alt=o.control=o.meta=!1,e&&e(0,0,0,o))}function h(t){l(t)&&e&&e(r,i,a,o)}function p(t){0===n.buttons(t)?c(0,t):c(r,t)}function d(t){c(r|n.buttons(t),t)}function g(t){c(r&~n.buttons(t),t)}function m(){s||(s=!0,t.addEventListener("mousemove",p),t.addEventListener("mousedown",d),t.addEventListener("mouseup",g),t.addEventListener("mouseleave",u),t.addEventListener("mouseenter",u),t.addEventListener("mouseout",u),t.addEventListener("mouseover",u),t.addEventListener("blur",f),t.addEventListener("keyup",h),t.addEventListener("keydown",h),t.addEventListener("keypress",h),t!==window&&(window.addEventListener("blur",f),window.addEventListener("keyup",h),window.addEventListener("keydown",h),window.addEventListener("keypress",h)))}m();var v={element:t};return Object.defineProperties(v,{enabled:{get:function(){return s},set:function(e){e?m():function(){if(!s)return;s=!1,t.removeEventListener("mousemove",p),t.removeEventListener("mousedown",d),t.removeEventListener("mouseup",g),t.removeEventListener("mouseleave",u),t.removeEventListener("mouseenter",u),t.removeEventListener("mouseout",u),t.removeEventListener("mouseover",u),t.removeEventListener("blur",f),t.removeEventListener("keyup",h),t.removeEventListener("keydown",h),t.removeEventListener("keypress",h),t!==window&&(window.removeEventListener("blur",f),window.removeEventListener("keyup",h),window.removeEventListener("keydown",h),window.removeEventListener("keypress",h))}()},enumerable:!0},buttons:{get:function(){return r},enumerable:!0},x:{get:function(){return i},enumerable:!0},y:{get:function(){return a},enumerable:!0},mods:{get:function(){return o},enumerable:!0}}),v};var n=t("mouse-event")},{"mouse-event":485}],484:[function(t,e,r){var n={left:0,top:0};e.exports=function(t,e,r){e=e||t.currentTarget||t.srcElement,Array.isArray(r)||(r=[0,0]);var i=t.clientX||0,a=t.clientY||0,o=(s=e,s===window||s===document||s===document.body?n:s.getBoundingClientRect());var s;return r[0]=i-o.left,r[1]=a-o.top,r}},{}],485:[function(t,e,r){"use strict";function n(t){return t.target||t.srcElement||window}r.buttons=function(t){if("object"==typeof t){if("buttons"in t)return t.buttons;if("which"in t){if(2===(e=t.which))return 4;if(3===e)return 2;if(e>0)return 1<<e-1}else if("button"in t){var e;if(1===(e=t.button))return 4;if(2===e)return 2;if(e>=0)return 1<<e}}return 0},r.element=n,r.x=function(t){if("object"==typeof t){if("offsetX"in t)return t.offsetX;var e=n(t).getBoundingClientRect();return t.clientX-e.left}return 0},r.y=function(t){if("object"==typeof t){if("offsetY"in t)return t.offsetY;var e=n(t).getBoundingClientRect();return t.clientY-e.top}return 0}},{}],486:[function(t,e,r){"use strict";var n=t("to-px");e.exports=function(t,e,r){"function"==typeof t&&(r=!!e,e=t,t=window);var i=n("ex",t),a=function(t){r&&t.preventDefault();var n=t.deltaX||0,a=t.deltaY||0,o=t.deltaZ||0,s=1;switch(t.deltaMode){case 1:s=i;break;case 2:s=window.innerHeight}if(a*=s,o*=s,(n*=s)||a||o)return e(n,a,o,t)};return t.addEventListener("wheel",a),a}},{"to-px":578}],487:[function(t,e,r){"use strict";var n=t("typedarray-pool");function i(t){return"a"+t}function a(t){return"d"+t}function o(t,e){return"c"+t+"_"+e}function s(t){return"s"+t}function l(t,e){return"t"+t+"_"+e}function c(t){return"o"+t}function u(t){return"x"+t}function f(t){return"p"+t}function h(t,e){return"d"+t+"_"+e}function p(t){return"i"+t}function d(t,e){return"u"+t+"_"+e}function g(t){return"b"+t}function m(t){return"y"+t}function v(t){return"e"+t}function y(t){return"v"+t}e.exports=function(t){function e(t){throw new Error("ndarray-extract-contour: "+t)}"object"!=typeof t&&e("Must specify arguments");var r=t.order;Array.isArray(r)||e("Must specify order");var b=t.arrayArguments||1;b<1&&e("Must have at least one array argument");var _=t.scalarArguments||0;_<0&&e("Scalar arg count must be > 0");"function"!=typeof t.vertex&&e("Must specify vertex creation function");"function"!=typeof t.cell&&e("Must specify cell creation function");"function"!=typeof t.phase&&e("Must specify phase function");for(var w=t.getters||[],T=new Array(b),k=0;k<b;++k)w.indexOf(k)>=0?T[k]=!0:T[k]=!1;return function(t,e,r,b,_,w){var T=w.length,k=_.length;if(k<2)throw new Error("ndarray-extract-contour: Dimension must be at least 2");for(var M="extractContour"+_.join("_"),A=[],S=[],E=[],C=0;C<T;++C)E.push(i(C));for(C=0;C<b;++C)E.push(u(C));for(C=0;C<k;++C)S.push(s(C)+"="+i(0)+".shape["+C+"]|0");for(C=0;C<T;++C){S.push(a(C)+"="+i(C)+".data",c(C)+"="+i(C)+".offset|0");for(var L=0;L<k;++L)S.push(l(C,L)+"="+i(C)+".stride["+L+"]|0")}for(C=0;C<T;++C){S.push(f(C)+"="+c(C)),S.push(o(C,0));for(L=1;L<1<<k;++L){for(var I=[],P=0;P<k;++P)L&1<<P&&I.push("-"+l(C,P));S.push(h(C,L)+"=("+I.join("")+")|0"),S.push(o(C,L)+"=0")}}for(C=0;C<T;++C)for(L=0;L<k;++L){var z=[l(C,_[L])];L>0&&z.push(l(C,_[L-1])+"*"+s(_[L-1])),S.push(d(C,_[L])+"=("+z.join("-")+")|0")}for(C=0;C<k;++C)S.push(p(C)+"=0");S.push("N=0");var O=["2"];for(C=k-2;C>=0;--C)O.push(s(_[C]));S.push("Q=("+O.join("*")+")|0","P=mallocUint32(Q)","V=mallocUint32(Q)","X=0"),S.push(g(0)+"=0");for(L=1;L<1<<k;++L){var D=[],R=[];for(P=0;P<k;++P)L&1<<P&&(0===R.length?D.push("1"):D.unshift(R.join("*"))),R.push(s(_[P]));var F="";D[0].indexOf(s(_[k-2]))<0&&(F="-");var B=x(k,L,_);S.push(v(B)+"=(-"+D.join("-")+")|0",m(B)+"=("+F+D.join("-")+")|0",g(B)+"=0")}function N(t,e){A.push("for(",p(_[t]),"=",e,";",p(_[t]),"<",s(_[t]),";","++",p(_[t]),"){")}function j(t){for(var e=0;e<T;++e)A.push(f(e),"+=",d(e,_[t]),";");A.push("}")}function U(){for(var t=1;t<1<<k;++t)A.push("T","=",v(t),";",v(t),"=",m(t),";",m(t),"=","T",";")}S.push(y(0)+"=0","T=0"),function t(e,r){if(e<0)!function(t){for(var e=0;e<T;++e)w[e]?A.push(o(e,0),"=",a(e),".get(",f(e),");"):A.push(o(e,0),"=",a(e),"[",f(e),"];");var r=[];for(e=0;e<T;++e)r.push(o(e,0));for(e=0;e<b;++e)r.push(u(e));A.push(g(0),"=","P","[","X","]=phase(",r.join(),");");for(var n=1;n<1<<k;++n)A.push(g(n),"=","P","[","X","+",v(n),"];");var i=[];for(n=1;n<1<<k;++n)i.push("("+g(0)+"!=="+g(n)+")");A.push("if(",i.join("||"),"){");var s=[];for(e=0;e<k;++e)s.push(p(e));for(e=0;e<T;++e){s.push(o(e,0));for(n=1;n<1<<k;++n)w[e]?A.push(o(e,n),"=",a(e),".get(",f(e),"+",h(e,n),");"):A.push(o(e,n),"=",a(e),"[",f(e),"+",h(e,n),"];"),s.push(o(e,n))}for(e=0;e<1<<k;++e)s.push(g(e));for(e=0;e<b;++e)s.push(u(e));A.push("vertex(",s.join(),");",y(0),"=","V","[","X","]=","N","++;");var l=(1<<k)-1,c=g(l);for(n=0;n<k;++n)if(0==(t&~(1<<n))){for(var d=l^1<<n,m=g(d),x=[],_=d;_>0;_=_-1&d)x.push("V[X+"+v(_)+"]");x.push(y(0));for(_=0;_<T;++_)1&n?x.push(o(_,l),o(_,d)):x.push(o(_,d),o(_,l));1&n?x.push(c,m):x.push(m,c);for(_=0;_<b;++_)x.push(u(_));A.push("if(",c,"!==",m,"){","face(",x.join(),")}")}A.push("}","X","+=1;")}(r);else{!function(t){for(var e=t-1;e>=0;--e)N(e,0);var r=[];for(e=0;e<T;++e)w[e]?r.push(a(e)+".get("+f(e)+")"):r.push(a(e)+"["+f(e)+"]");for(e=0;e<b;++e)r.push(u(e));for(A.push("P","[","X","++]=phase(",r.join(),");"),e=0;e<t;++e)j(e);for(var n=0;n<T;++n)A.push(f(n),"+=",d(n,_[t]),";")}(e),A.push("if(",s(_[e]),">0){",p(_[e]),"=1;"),t(e-1,r|1<<_[e]);for(var n=0;n<T;++n)A.push(f(n),"+=",d(n,_[e]),";");e===k-1&&(A.push("X","=0;"),U()),N(e,2),t(e-1,r),e===k-1&&(A.push("if(",p(_[k-1]),"&1){","X","=0;}"),U()),j(e),A.push("}")}}(k-1,0),A.push("freeUint32(","V",");freeUint32(","P",");");var V=["'use strict';","function ",M,"(",E.join(),"){","var ",S.join(),";",A.join(""),"}","return ",M].join("");return new Function("vertex","face","phase","mallocUint32","freeUint32",V)(t,e,r,n.mallocUint32,n.freeUint32)}(t.vertex,t.cell,t.phase,_,r,T)};function x(t,e,r){for(var n=0,i=0;i<t;++i)e&1<<i&&(n|=1<<r[i]);return n}},{"typedarray-pool":595}],488:[function(t,e,r){"use strict";e.exports=function(t,e,r){if(Array.isArray(r)){if(r.length!==e.dimension)throw new Error("ndarray-gradient: invalid boundary conditions")}else r=n(e.dimension,"string"==typeof r?r:"clamp");if(t.dimension!==e.dimension+1)throw new Error("ndarray-gradient: output dimension must be +1 input dimension");if(t.shape[e.dimension]!==e.dimension)throw new Error("ndarray-gradient: output shape must match input shape");for(var i=0;i<e.dimension;++i)if(t.shape[i]!==e.shape[i])throw new Error("ndarray-gradient: shape mismatch");if(0===e.size)return t;if(e.dimension<=0)return t.set(0),t;return function(t){var e=t.join();if(v=o[e])return v;var r=t.length,n=["function gradient(dst,src){var s=src.shape.slice();"];function i(e){for(var i=r-e.length,a=[],o=[],s=[],l=0;l<r;++l)e.indexOf(l+1)>=0?s.push("0"):e.indexOf(-(l+1))>=0?s.push("s["+l+"]-1"):(s.push("-1"),a.push("1"),o.push("s["+l+"]-2"));var c=".lo("+a.join()+").hi("+o.join()+")";if(0===a.length&&(c=""),i>0){n.push("if(1");for(l=0;l<r;++l)e.indexOf(l+1)>=0||e.indexOf(-(l+1))>=0||n.push("&&s[",l,"]>2");n.push("){grad",i,"(src.pick(",s.join(),")",c);for(l=0;l<r;++l)e.indexOf(l+1)>=0||e.indexOf(-(l+1))>=0||n.push(",dst.pick(",s.join(),",",l,")",c);n.push(");")}for(l=0;l<e.length;++l){var u=Math.abs(e[l])-1,f="dst.pick("+s.join()+","+u+")"+c;switch(t[u]){case"clamp":var h=s.slice(),p=s.slice();e[l]<0?h[u]="s["+u+"]-2":p[u]="1",0===i?n.push("if(s[",u,"]>1){dst.set(",s.join(),",",u,",0.5*(src.get(",h.join(),")-src.get(",p.join(),")))}else{dst.set(",s.join(),",",u,",0)};"):n.push("if(s[",u,"]>1){diff(",f,",src.pick(",h.join(),")",c,",src.pick(",p.join(),")",c,");}else{zero(",f,");};");break;case"mirror":0===i?n.push("dst.set(",s.join(),",",u,",0);"):n.push("zero(",f,");");break;case"wrap":var d=s.slice(),g=s.slice();e[l]<0?(d[u]="s["+u+"]-2",g[u]="0"):(d[u]="s["+u+"]-1",g[u]="1"),0===i?n.push("if(s[",u,"]>2){dst.set(",s.join(),",",u,",0.5*(src.get(",d.join(),")-src.get(",g.join(),")))}else{dst.set(",s.join(),",",u,",0)};"):n.push("if(s[",u,"]>2){diff(",f,",src.pick(",d.join(),")",c,",src.pick(",g.join(),")",c,");}else{zero(",f,");};");break;default:throw new Error("ndarray-gradient: Invalid boundary condition")}}i>0&&n.push("};")}for(var s=0;s<1<<r;++s){for(var f=[],h=0;h<r;++h)s&1<<h&&f.push(h+1);for(var p=0;p<1<<f.length;++p){var d=f.slice();for(h=0;h<f.length;++h)p&1<<h&&(d[h]=-d[h]);i(d)}}n.push("return dst;};return gradient");var g=["diff","zero"],m=[l,c];for(s=1;s<=r;++s)g.push("grad"+s),m.push(u(s));g.push(n.join(""));var v=Function.apply(void 0,g).apply(void 0,m);return a[e]=v,v}(r)(t,e)};var n=t("dup"),i=t("cwise-compiler"),a={},o={},s={body:"",args:[],thisVars:[],localVars:[]},l=i({args:["array","array","array"],pre:s,post:s,body:{args:[{name:"out",lvalue:!0,rvalue:!1,count:1},{name:"left",lvalue:!1,rvalue:!0,count:1},{name:"right",lvalue:!1,rvalue:!0,count:1}],body:"out=0.5*(left-right)",thisVars:[],localVars:[]},funcName:"cdiff"}),c=i({args:["array"],pre:s,post:s,body:{args:[{name:"out",lvalue:!0,rvalue:!1,count:1}],body:"out=0",thisVars:[],localVars:[]},funcName:"zero"});function u(t){if(t in a)return a[t];for(var e=[],r=0;r<t;++r)e.push("out",r,"s=0.5*(inp",r,"l-inp",r,"r);");var o=["array"],l=["junk"];for(r=0;r<t;++r){o.push("array"),l.push("out"+r+"s");var c=n(t);c[r]=-1,o.push({array:0,offset:c.slice()}),c[r]=1,o.push({array:0,offset:c.slice()}),l.push("inp"+r+"l","inp"+r+"r")}return a[t]=i({args:o,pre:s,post:s,body:{body:e.join(""),args:l.map((function(t){return{name:t,lvalue:0===t.indexOf("out"),rvalue:0===t.indexOf("inp"),count:"junk"!==t|0}})),thisVars:[],localVars:[]},funcName:"fdTemplate"+t})}},{"cwise-compiler":151,dup:176}],489:[function(t,e,r){"use strict";function n(t,e){var r=Math.floor(e),n=e-r,i=0<=r&&r<t.shape[0],a=0<=r+1&&r+1<t.shape[0];return(1-n)*(i?+t.get(r):0)+n*(a?+t.get(r+1):0)}function i(t,e,r){var n=Math.floor(e),i=e-n,a=0<=n&&n<t.shape[0],o=0<=n+1&&n+1<t.shape[0],s=Math.floor(r),l=r-s,c=0<=s&&s<t.shape[1],u=0<=s+1&&s+1<t.shape[1],f=a&&c?t.get(n,s):0,h=a&&u?t.get(n,s+1):0;return(1-l)*((1-i)*f+i*(o&&c?t.get(n+1,s):0))+l*((1-i)*h+i*(o&&u?t.get(n+1,s+1):0))}function a(t,e,r,n){var i=Math.floor(e),a=e-i,o=0<=i&&i<t.shape[0],s=0<=i+1&&i+1<t.shape[0],l=Math.floor(r),c=r-l,u=0<=l&&l<t.shape[1],f=0<=l+1&&l+1<t.shape[1],h=Math.floor(n),p=n-h,d=0<=h&&h<t.shape[2],g=0<=h+1&&h+1<t.shape[2],m=o&&u&&d?t.get(i,l,h):0,v=o&&f&&d?t.get(i,l+1,h):0,y=s&&u&&d?t.get(i+1,l,h):0,x=s&&f&&d?t.get(i+1,l+1,h):0,b=o&&u&&g?t.get(i,l,h+1):0,_=o&&f&&g?t.get(i,l+1,h+1):0;return(1-p)*((1-c)*((1-a)*m+a*y)+c*((1-a)*v+a*x))+p*((1-c)*((1-a)*b+a*(s&&u&&g?t.get(i+1,l,h+1):0))+c*((1-a)*_+a*(s&&f&&g?t.get(i+1,l+1,h+1):0)))}function o(t){var e,r,n=0|t.shape.length,i=new Array(n),a=new Array(n),o=new Array(n),s=new Array(n);for(e=0;e<n;++e)r=+arguments[e+1],i[e]=Math.floor(r),a[e]=r-i[e],o[e]=0<=i[e]&&i[e]<t.shape[e],s[e]=0<=i[e]+1&&i[e]+1<t.shape[e];var l,c,u,f=0;t:for(e=0;e<1<<n;++e){for(c=1,u=t.offset,l=0;l<n;++l)if(e&1<<l){if(!s[l])continue t;c*=a[l],u+=t.stride[l]*(i[l]+1)}else{if(!o[l])continue t;c*=1-a[l],u+=t.stride[l]*i[l]}f+=c*t.data[u]}return f}e.exports=function(t,e,r,s){switch(t.shape.length){case 0:return 0;case 1:return n(t,e);case 2:return i(t,e,r);case 3:return a(t,e,r,s);default:return o.apply(void 0,arguments)}},e.exports.d1=n,e.exports.d2=i,e.exports.d3=a},{}],490:[function(t,e,r){"use strict";var n=t("cwise-compiler"),i={body:"",args:[],thisVars:[],localVars:[]};function a(t){if(!t)return i;for(var e=0;e<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 o(t){for(var e=[],r=0;r<t.args.length;++r)e.push("a"+r);return new Function("P",["return function ",t.funcName,"_ndarrayops(",e.join(","),") {P(",e.join(","),");return a0}"].join(""))(function(t){return n({args:t.args,pre:a(t.pre),body:a(t.body),post:a(t.proc),funcName:t.funcName})}(t))}var s={add:"+",sub:"-",mul:"*",div:"/",mod:"%",band:"&",bor:"|",bxor:"^",lshift:"<<",rshift:">>",rrshift:">>>"};!function(){for(var t in s){var e=s[t];r[t]=o({args:["array","array","array"],body:{args:["a","b","c"],body:"a=b"+e+"c"},funcName:t}),r[t+"eq"]=o({args:["array","array"],body:{args:["a","b"],body:"a"+e+"=b"},rvalue:!0,funcName:t+"eq"}),r[t+"s"]=o({args:["array","array","scalar"],body:{args:["a","b","s"],body:"a=b"+e+"s"},funcName:t+"s"}),r[t+"seq"]=o({args:["array","scalar"],body:{args:["a","s"],body:"a"+e+"=s"},rvalue:!0,funcName:t+"seq"})}}();var l={not:"!",bnot:"~",neg:"-",recip:"1.0/"};!function(){for(var t in l){var e=l[t];r[t]=o({args:["array","array"],body:{args:["a","b"],body:"a="+e+"b"},funcName:t}),r[t+"eq"]=o({args:["array"],body:{args:["a"],body:"a="+e+"a"},rvalue:!0,count:2,funcName:t+"eq"})}}();var c={and:"&&",or:"||",eq:"===",neq:"!==",lt:"<",gt:">",leq:"<=",geq:">="};!function(){for(var t in c){var e=c[t];r[t]=o({args:["array","array","array"],body:{args:["a","b","c"],body:"a=b"+e+"c"},funcName:t}),r[t+"s"]=o({args:["array","array","scalar"],body:{args:["a","b","s"],body:"a=b"+e+"s"},funcName:t+"s"}),r[t+"eq"]=o({args:["array","array"],body:{args:["a","b"],body:"a=a"+e+"b"},rvalue:!0,count:2,funcName:t+"eq"}),r[t+"seq"]=o({args:["array","scalar"],body:{args:["a","s"],body:"a=a"+e+"s"},rvalue:!0,count:2,funcName:t+"seq"})}}();var u=["abs","acos","asin","atan","ceil","cos","exp","floor","log","round","sin","sqrt","tan"];!function(){for(var t=0;t<u.length;++t){var e=u[t];r[e]=o({args:["array","array"],pre:{args:[],body:"this_f=Math."+e,thisVars:["this_f"]},body:{args:["a","b"],body:"a=this_f(b)",thisVars:["this_f"]},funcName:e}),r[e+"eq"]=o({args:["array"],pre:{args:[],body:"this_f=Math."+e,thisVars:["this_f"]},body:{args:["a"],body:"a=this_f(a)",thisVars:["this_f"]},rvalue:!0,count:2,funcName:e+"eq"})}}();var f=["max","min","atan2","pow"];!function(){for(var t=0;t<f.length;++t){var e=f[t];r[e]=o({args:["array","array","array"],pre:{args:[],body:"this_f=Math."+e,thisVars:["this_f"]},body:{args:["a","b","c"],body:"a=this_f(b,c)",thisVars:["this_f"]},funcName:e}),r[e+"s"]=o({args:["array","array","scalar"],pre:{args:[],body:"this_f=Math."+e,thisVars:["this_f"]},body:{args:["a","b","c"],body:"a=this_f(b,c)",thisVars:["this_f"]},funcName:e+"s"}),r[e+"eq"]=o({args:["array","array"],pre:{args:[],body:"this_f=Math."+e,thisVars:["this_f"]},body:{args:["a","b"],body:"a=this_f(a,b)",thisVars:["this_f"]},rvalue:!0,count:2,funcName:e+"eq"}),r[e+"seq"]=o({args:["array","scalar"],pre:{args:[],body:"this_f=Math."+e,thisVars:["this_f"]},body:{args:["a","b"],body:"a=this_f(a,b)",thisVars:["this_f"]},rvalue:!0,count:2,funcName:e+"seq"})}}();var h=["atan2","pow"];!function(){for(var t=0;t<h.length;++t){var e=h[t];r[e+"op"]=o({args:["array","array","array"],pre:{args:[],body:"this_f=Math."+e,thisVars:["this_f"]},body:{args:["a","b","c"],body:"a=this_f(c,b)",thisVars:["this_f"]},funcName:e+"op"}),r[e+"ops"]=o({args:["array","array","scalar"],pre:{args:[],body:"this_f=Math."+e,thisVars:["this_f"]},body:{args:["a","b","c"],body:"a=this_f(c,b)",thisVars:["this_f"]},funcName:e+"ops"}),r[e+"opeq"]=o({args:["array","array"],pre:{args:[],body:"this_f=Math."+e,thisVars:["this_f"]},body:{args:["a","b"],body:"a=this_f(b,a)",thisVars:["this_f"]},rvalue:!0,count:2,funcName:e+"opeq"}),r[e+"opseq"]=o({args:["array","scalar"],pre:{args:[],body:"this_f=Math."+e,thisVars:["this_f"]},body:{args:["a","b"],body:"a=this_f(b,a)",thisVars:["this_f"]},rvalue:!0,count:2,funcName:e+"opseq"})}}(),r.any=n({args:["array"],pre:i,body:{args:[{name:"a",lvalue:!1,rvalue:!0,count:1}],body:"if(a){return true}",localVars:[],thisVars:[]},post:{args:[],localVars:[],thisVars:[],body:"return false"},funcName:"any"}),r.all=n({args:["array"],pre:i,body:{args:[{name:"x",lvalue:!1,rvalue:!0,count:1}],body:"if(!x){return false}",localVars:[],thisVars:[]},post:{args:[],localVars:[],thisVars:[],body:"return true"},funcName:"all"}),r.sum=n({args:["array"],pre:{args:[],localVars:[],thisVars:["this_s"],body:"this_s=0"},body:{args:[{name:"a",lvalue:!1,rvalue:!0,count:1}],body:"this_s+=a",localVars:[],thisVars:["this_s"]},post:{args:[],localVars:[],thisVars:["this_s"],body:"return this_s"},funcName:"sum"}),r.prod=n({args:["array"],pre:{args:[],localVars:[],thisVars:["this_s"],body:"this_s=1"},body:{args:[{name:"a",lvalue:!1,rvalue:!0,count:1}],body:"this_s*=a",localVars:[],thisVars:["this_s"]},post:{args:[],localVars:[],thisVars:["this_s"],body:"return this_s"},funcName:"prod"}),r.norm2squared=n({args:["array"],pre:{args:[],localVars:[],thisVars:["this_s"],body:"this_s=0"},body:{args:[{name:"a",lvalue:!1,rvalue:!0,count:2}],body:"this_s+=a*a",localVars:[],thisVars:["this_s"]},post:{args:[],localVars:[],thisVars:["this_s"],body:"return this_s"},funcName:"norm2squared"}),r.norm2=n({args:["array"],pre:{args:[],localVars:[],thisVars:["this_s"],body:"this_s=0"},body:{args:[{name:"a",lvalue:!1,rvalue:!0,count:2}],body:"this_s+=a*a",localVars:[],thisVars:["this_s"]},post:{args:[],localVars:[],thisVars:["this_s"],body:"return Math.sqrt(this_s)"},funcName:"norm2"}),r.norminf=n({args:["array"],pre:{args:[],localVars:[],thisVars:["this_s"],body:"this_s=0"},body:{args:[{name:"a",lvalue:!1,rvalue:!0,count:4}],body:"if(-a>this_s){this_s=-a}else if(a>this_s){this_s=a}",localVars:[],thisVars:["this_s"]},post:{args:[],localVars:[],thisVars:["this_s"],body:"return this_s"},funcName:"norminf"}),r.norm1=n({args:["array"],pre:{args:[],localVars:[],thisVars:["this_s"],body:"this_s=0"},body:{args:[{name:"a",lvalue:!1,rvalue:!0,count:3}],body:"this_s+=a<0?-a:a",localVars:[],thisVars:["this_s"]},post:{args:[],localVars:[],thisVars:["this_s"],body:"return this_s"},funcName:"norm1"}),r.sup=n({args:["array"],pre:{body:"this_h=-Infinity",args:[],thisVars:["this_h"],localVars:[]},body:{body:"if(_inline_1_arg0_>this_h)this_h=_inline_1_arg0_",args:[{name:"_inline_1_arg0_",lvalue:!1,rvalue:!0,count:2}],thisVars:["this_h"],localVars:[]},post:{body:"return this_h",args:[],thisVars:["this_h"],localVars:[]}}),r.inf=n({args:["array"],pre:{body:"this_h=Infinity",args:[],thisVars:["this_h"],localVars:[]},body:{body:"if(_inline_1_arg0_<this_h)this_h=_inline_1_arg0_",args:[{name:"_inline_1_arg0_",lvalue:!1,rvalue:!0,count:2}],thisVars:["this_h"],localVars:[]},post:{body:"return this_h",args:[],thisVars:["this_h"],localVars:[]}}),r.argmin=n({args:["index","array","shape"],pre:{body:"{this_v=Infinity;this_i=_inline_0_arg2_.slice(0)}",args:[{name:"_inline_0_arg0_",lvalue:!1,rvalue:!1,count:0},{name:"_inline_0_arg1_",lvalue:!1,rvalue:!1,count:0},{name:"_inline_0_arg2_",lvalue:!1,rvalue:!0,count:1}],thisVars:["this_i","this_v"],localVars:[]},body:{body:"{if(_inline_1_arg1_<this_v){this_v=_inline_1_arg1_;for(var _inline_1_k=0;_inline_1_k<_inline_1_arg0_.length;++_inline_1_k){this_i[_inline_1_k]=_inline_1_arg0_[_inline_1_k]}}}",args:[{name:"_inline_1_arg0_",lvalue:!1,rvalue:!0,count:2},{name:"_inline_1_arg1_",lvalue:!1,rvalue:!0,count:2}],thisVars:["this_i","this_v"],localVars:["_inline_1_k"]},post:{body:"{return this_i}",args:[],thisVars:["this_i"],localVars:[]}}),r.argmax=n({args:["index","array","shape"],pre:{body:"{this_v=-Infinity;this_i=_inline_0_arg2_.slice(0)}",args:[{name:"_inline_0_arg0_",lvalue:!1,rvalue:!1,count:0},{name:"_inline_0_arg1_",lvalue:!1,rvalue:!1,count:0},{name:"_inline_0_arg2_",lvalue:!1,rvalue:!0,count:1}],thisVars:["this_i","this_v"],localVars:[]},body:{body:"{if(_inline_1_arg1_>this_v){this_v=_inline_1_arg1_;for(var _inline_1_k=0;_inline_1_k<_inline_1_arg0_.length;++_inline_1_k){this_i[_inline_1_k]=_inline_1_arg0_[_inline_1_k]}}}",args:[{name:"_inline_1_arg0_",lvalue:!1,rvalue:!0,count:2},{name:"_inline_1_arg1_",lvalue:!1,rvalue:!0,count:2}],thisVars:["this_i","this_v"],localVars:["_inline_1_k"]},post:{body:"{return this_i}",args:[],thisVars:["this_i"],localVars:[]}}),r.random=o({args:["array"],pre:{args:[],body:"this_f=Math.random",thisVars:["this_f"]},body:{args:["a"],body:"a=this_f()",thisVars:["this_f"]},funcName:"random"}),r.assign=o({args:["array","array"],body:{args:["a","b"],body:"a=b"},funcName:"assign"}),r.assigns=o({args:["array","scalar"],body:{args:["a","b"],body:"a=b"},funcName:"assigns"}),r.equals=n({args:["array","array"],pre:i,body:{args:[{name:"x",lvalue:!1,rvalue:!0,count:1},{name:"y",lvalue:!1,rvalue:!0,count:1}],body:"if(x!==y){return false}",localVars:[],thisVars:[]},post:{args:[],localVars:[],thisVars:[],body:"return true"},funcName:"equals"})},{"cwise-compiler":151}],491:[function(t,e,r){"use strict";var n=t("ndarray"),i=t("./doConvert.js");e.exports=function(t,e){for(var r=[],a=t,o=1;Array.isArray(a);)r.push(a.length),o*=a.length,a=a[0];return 0===r.length?n():(e||(e=n(new Float64Array(o),r)),i(e,t),e)}},{"./doConvert.js":492,ndarray:495}],492:[function(t,e,r){e.exports=t("cwise-compiler")({args:["array","scalar","index"],pre:{body:"{}",args:[],thisVars:[],localVars:[]},body:{body:"{\nvar _inline_1_v=_inline_1_arg1_,_inline_1_i\nfor(_inline_1_i=0;_inline_1_i<_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}",args:[{name:"_inline_1_arg0_",lvalue:!0,rvalue:!1,count:1},{name:"_inline_1_arg1_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_1_arg2_",lvalue:!1,rvalue:!0,count:4}],thisVars:[],localVars:["_inline_1_i","_inline_1_v"]},post:{body:"{}",args:[],thisVars:[],localVars:[]},funcName:"convert",blockSize:64})},{"cwise-compiler":151}],493:[function(t,e,r){"use strict";var n=t("typedarray-pool"),i=32;function a(t){switch(t){case"uint8":return[n.mallocUint8,n.freeUint8];case"uint16":return[n.mallocUint16,n.freeUint16];case"uint32":return[n.mallocUint32,n.freeUint32];case"int8":return[n.mallocInt8,n.freeInt8];case"int16":return[n.mallocInt16,n.freeInt16];case"int32":return[n.mallocInt32,n.freeInt32];case"float32":return[n.mallocFloat,n.freeFloat];case"float64":return[n.mallocDouble,n.freeDouble];default:return null}}function o(t){for(var e=[],r=0;r<t;++r)e.push("s"+r);for(r=0;r<t;++r)e.push("n"+r);for(r=1;r<t;++r)e.push("d"+r);for(r=1;r<t;++r)e.push("e"+r);for(r=1;r<t;++r)e.push("f"+r);return e}e.exports=function(t,e){var r=["'use strict'"],n=["ndarraySortWrapper",t.join("d"),e].join("");r.push(["function ",n,"(",["array"].join(","),"){"].join(""));for(var s=["data=array.data,offset=array.offset|0,shape=array.shape,stride=array.stride"],l=0;l<t.length;++l)s.push(["s",l,"=stride[",l,"]|0,n",l,"=shape[",l,"]|0"].join(""));var c=new Array(t.length),u=[];for(l=0;l<t.length;++l){0!==(p=t[l])&&(0===u.length?c[p]="1":c[p]=u.join("*"),u.push("n"+p))}var f=-1,h=-1;for(l=0;l<t.length;++l){var p,d=t[l];0!==d&&(f>0?s.push(["d",d,"=s",d,"-d",f,"*n",f].join("")):s.push(["d",d,"=s",d].join("")),f=d),0!==(p=t.length-1-l)&&(h>0?s.push(["e",p,"=s",p,"-e",h,"*n",h,",f",p,"=",c[p],"-f",h,"*n",h].join("")):s.push(["e",p,"=s",p,",f",p,"=",c[p]].join("")),h=p)}r.push("var "+s.join(","));var g=["0","n0-1","data","offset"].concat(o(t.length));r.push(["if(n0<=",i,"){","insertionSort(",g.join(","),")}else{","quickSort(",g.join(","),")}"].join("")),r.push("}return "+n);var m=new Function("insertionSort","quickSort",r.join("\n")),v=function(t,e){var r=["'use strict'"],n=["ndarrayInsertionSort",t.join("d"),e].join(""),i=["left","right","data","offset"].concat(o(t.length)),s=a(e),l=["i,j,cptr,ptr=left*s0+offset"];if(t.length>1){for(var c=[],u=1;u<t.length;++u)l.push("i"+u),c.push("n"+u);s?l.push("scratch=malloc("+c.join("*")+")"):l.push("scratch=new Array("+c.join("*")+")"),l.push("dptr","sptr","a","b")}else l.push("scratch");function f(t){return"generic"===e?["data.get(",t,")"].join(""):["data[",t,"]"].join("")}function h(t,r){return"generic"===e?["data.set(",t,",",r,")"].join(""):["data[",t,"]=",r].join("")}if(r.push(["function ",n,"(",i.join(","),"){var ",l.join(",")].join(""),"for(i=left+1;i<=right;++i){","j=i;ptr+=s0","cptr=ptr"),t.length>1){r.push("dptr=0;sptr=ptr");for(u=t.length-1;u>=0;--u){0!==(p=t[u])&&r.push(["for(i",p,"=0;i",p,"<n",p,";++i",p,"){"].join(""))}r.push("scratch[dptr++]=",f("sptr"));for(u=0;u<t.length;++u){0!==(p=t[u])&&r.push("sptr+=d"+p,"}")}r.push("__g:while(j--\x3eleft){","dptr=0","sptr=cptr-s0");for(u=1;u<t.length;++u)1===u&&r.push("__l:"),r.push(["for(i",u,"=0;i",u,"<n",u,";++i",u,"){"].join(""));r.push(["a=",f("sptr"),"\nb=scratch[dptr]\nif(a<b){break __g}\nif(a>b){break __l}"].join(""));for(u=t.length-1;u>=1;--u)r.push("sptr+=e"+u,"dptr+=f"+u,"}");r.push("dptr=cptr;sptr=cptr-s0");for(u=t.length-1;u>=0;--u){0!==(p=t[u])&&r.push(["for(i",p,"=0;i",p,"<n",p,";++i",p,"){"].join(""))}r.push(h("dptr",f("sptr")));for(u=0;u<t.length;++u){0!==(p=t[u])&&r.push(["dptr+=d",p,";sptr+=d",p].join(""),"}")}r.push("cptr-=s0\n}"),r.push("dptr=cptr;sptr=0");for(u=t.length-1;u>=0;--u){0!==(p=t[u])&&r.push(["for(i",p,"=0;i",p,"<n",p,";++i",p,"){"].join(""))}r.push(h("dptr","scratch[sptr++]"));for(u=0;u<t.length;++u){var p;0!==(p=t[u])&&r.push("dptr+=d"+p,"}")}}else r.push("scratch="+f("ptr"),"while((j--\x3eleft)&&("+f("cptr-s0")+">scratch)){",h("cptr",f("cptr-s0")),"cptr-=s0","}",h("cptr","scratch"));return r.push("}"),t.length>1&&s&&r.push("free(scratch)"),r.push("} return "+n),s?new Function("malloc","free",r.join("\n"))(s[0],s[1]):new Function(r.join("\n"))()}(t,e),y=function(t,e,r){var n=["'use strict'"],s=["ndarrayQuickSort",t.join("d"),e].join(""),l=["left","right","data","offset"].concat(o(t.length)),c=a(e),u=0;n.push(["function ",s,"(",l.join(","),"){"].join(""));var f=["sixth=((right-left+1)/6)|0","index1=left+sixth","index5=right-sixth","index3=(left+right)>>1","index2=index3-sixth","index4=index3+sixth","el1=index1","el2=index2","el3=index3","el4=index4","el5=index5","less=left+1","great=right-1","pivots_are_equal=true","tmp","tmp0","x","y","z","k","ptr0","ptr1","ptr2","comp_pivot1=0","comp_pivot2=0","comp=0"];if(t.length>1){for(var h=[],p=1;p<t.length;++p)h.push("n"+p),f.push("i"+p);for(p=0;p<8;++p)f.push("b_ptr"+p);f.push("ptr3","ptr4","ptr5","ptr6","ptr7","pivot_ptr","ptr_shift","elementSize="+h.join("*")),c?f.push("pivot1=malloc(elementSize)","pivot2=malloc(elementSize)"):f.push("pivot1=new Array(elementSize),pivot2=new Array(elementSize)")}else f.push("pivot1","pivot2");function d(t){return["(offset+",t,"*s0)"].join("")}function g(t){return"generic"===e?["data.get(",t,")"].join(""):["data[",t,"]"].join("")}function m(t,r){return"generic"===e?["data.set(",t,",",r,")"].join(""):["data[",t,"]=",r].join("")}function v(e,r,i){if(1===e.length)n.push("ptr0="+d(e[0]));else for(var a=0;a<e.length;++a)n.push(["b_ptr",a,"=s0*",e[a]].join(""));r&&n.push("pivot_ptr=0"),n.push("ptr_shift=offset");for(a=t.length-1;a>=0;--a){0!==(o=t[a])&&n.push(["for(i",o,"=0;i",o,"<n",o,";++i",o,"){"].join(""))}if(e.length>1)for(a=0;a<e.length;++a)n.push(["ptr",a,"=b_ptr",a,"+ptr_shift"].join(""));n.push(i),r&&n.push("++pivot_ptr");for(a=0;a<t.length;++a){var o;0!==(o=t[a])&&(e.length>1?n.push("ptr_shift+=d"+o):n.push("ptr0+=d"+o),n.push("}"))}}function y(e,r,i,a){if(1===r.length)n.push("ptr0="+d(r[0]));else{for(var o=0;o<r.length;++o)n.push(["b_ptr",o,"=s0*",r[o]].join(""));n.push("ptr_shift=offset")}i&&n.push("pivot_ptr=0"),e&&n.push(e+":");for(o=1;o<t.length;++o)n.push(["for(i",o,"=0;i",o,"<n",o,";++i",o,"){"].join(""));if(r.length>1)for(o=0;o<r.length;++o)n.push(["ptr",o,"=b_ptr",o,"+ptr_shift"].join(""));n.push(a);for(o=t.length-1;o>=1;--o)i&&n.push("pivot_ptr+=f"+o),r.length>1?n.push("ptr_shift+=e"+o):n.push("ptr0+=e"+o),n.push("}")}function x(){t.length>1&&c&&n.push("free(pivot1)","free(pivot2)")}function b(e,r){var i="el"+e,a="el"+r;if(t.length>1){var o="__l"+ ++u;y(o,[i,a],!1,["comp=",g("ptr0"),"-",g("ptr1"),"\n","if(comp>0){tmp0=",i,";",i,"=",a,";",a,"=tmp0;break ",o,"}\n","if(comp<0){break ",o,"}"].join(""))}else n.push(["if(",g(d(i)),">",g(d(a)),"){tmp0=",i,";",i,"=",a,";",a,"=tmp0}"].join(""))}function _(e,r){t.length>1?v([e,r],!1,m("ptr0",g("ptr1"))):n.push(m(d(e),g(d(r))))}function w(e,r,i){if(t.length>1){var a="__l"+ ++u;y(a,[r],!0,[e,"=",g("ptr0"),"-pivot",i,"[pivot_ptr]\n","if(",e,"!==0){break ",a,"}"].join(""))}else n.push([e,"=",g(d(r)),"-pivot",i].join(""))}function T(e,r){t.length>1?v([e,r],!1,["tmp=",g("ptr0"),"\n",m("ptr0",g("ptr1")),"\n",m("ptr1","tmp")].join("")):n.push(["ptr0=",d(e),"\n","ptr1=",d(r),"\n","tmp=",g("ptr0"),"\n",m("ptr0",g("ptr1")),"\n",m("ptr1","tmp")].join(""))}function k(e,r,i){t.length>1?(v([e,r,i],!1,["tmp=",g("ptr0"),"\n",m("ptr0",g("ptr1")),"\n",m("ptr1",g("ptr2")),"\n",m("ptr2","tmp")].join("")),n.push("++"+r,"--"+i)):n.push(["ptr0=",d(e),"\n","ptr1=",d(r),"\n","ptr2=",d(i),"\n","++",r,"\n","--",i,"\n","tmp=",g("ptr0"),"\n",m("ptr0",g("ptr1")),"\n",m("ptr1",g("ptr2")),"\n",m("ptr2","tmp")].join(""))}function M(t,e){T(t,e),n.push("--"+e)}function A(e,r,i){t.length>1?v([e,r],!0,[m("ptr0",g("ptr1")),"\n",m("ptr1",["pivot",i,"[pivot_ptr]"].join(""))].join("")):n.push(m(d(e),g(d(r))),m(d(r),"pivot"+i))}function S(e,r){n.push(["if((",r,"-",e,")<=",i,"){\n","insertionSort(",e,",",r,",data,offset,",o(t.length).join(","),")\n","}else{\n",s,"(",e,",",r,",data,offset,",o(t.length).join(","),")\n","}"].join(""))}function E(e,r,i){t.length>1?(n.push(["__l",++u,":while(true){"].join("")),v([e],!0,["if(",g("ptr0"),"!==pivot",r,"[pivot_ptr]){break __l",u,"}"].join("")),n.push(i,"}")):n.push(["while(",g(d(e)),"===pivot",r,"){",i,"}"].join(""))}return n.push("var "+f.join(",")),b(1,2),b(4,5),b(1,3),b(2,3),b(1,4),b(3,4),b(2,5),b(2,3),b(4,5),t.length>1?v(["el1","el2","el3","el4","el5","index1","index3","index5"],!0,["pivot1[pivot_ptr]=",g("ptr1"),"\n","pivot2[pivot_ptr]=",g("ptr3"),"\n","pivots_are_equal=pivots_are_equal&&(pivot1[pivot_ptr]===pivot2[pivot_ptr])\n","x=",g("ptr0"),"\n","y=",g("ptr2"),"\n","z=",g("ptr4"),"\n",m("ptr5","x"),"\n",m("ptr6","y"),"\n",m("ptr7","z")].join("")):n.push(["pivot1=",g(d("el2")),"\n","pivot2=",g(d("el4")),"\n","pivots_are_equal=pivot1===pivot2\n","x=",g(d("el1")),"\n","y=",g(d("el3")),"\n","z=",g(d("el5")),"\n",m(d("index1"),"x"),"\n",m(d("index3"),"y"),"\n",m(d("index5"),"z")].join("")),_("index2","left"),_("index4","right"),n.push("if(pivots_are_equal){"),n.push("for(k=less;k<=great;++k){"),w("comp","k",1),n.push("if(comp===0){continue}"),n.push("if(comp<0){"),n.push("if(k!==less){"),T("k","less"),n.push("}"),n.push("++less"),n.push("}else{"),n.push("while(true){"),w("comp","great",1),n.push("if(comp>0){"),n.push("great--"),n.push("}else if(comp<0){"),k("k","less","great"),n.push("break"),n.push("}else{"),M("k","great"),n.push("break"),n.push("}"),n.push("}"),n.push("}"),n.push("}"),n.push("}else{"),n.push("for(k=less;k<=great;++k){"),w("comp_pivot1","k",1),n.push("if(comp_pivot1<0){"),n.push("if(k!==less){"),T("k","less"),n.push("}"),n.push("++less"),n.push("}else{"),w("comp_pivot2","k",2),n.push("if(comp_pivot2>0){"),n.push("while(true){"),w("comp","great",2),n.push("if(comp>0){"),n.push("if(--great<k){break}"),n.push("continue"),n.push("}else{"),w("comp","great",1),n.push("if(comp<0){"),k("k","less","great"),n.push("}else{"),M("k","great"),n.push("}"),n.push("break"),n.push("}"),n.push("}"),n.push("}"),n.push("}"),n.push("}"),n.push("}"),A("left","(less-1)",1),A("right","(great+1)",2),S("left","(less-2)"),S("(great+2)","right"),n.push("if(pivots_are_equal){"),x(),n.push("return"),n.push("}"),n.push("if(less<index1&&great>index5){"),E("less",1,"++less"),E("great",2,"--great"),n.push("for(k=less;k<=great;++k){"),w("comp_pivot1","k",1),n.push("if(comp_pivot1===0){"),n.push("if(k!==less){"),T("k","less"),n.push("}"),n.push("++less"),n.push("}else{"),w("comp_pivot2","k",2),n.push("if(comp_pivot2===0){"),n.push("while(true){"),w("comp","great",2),n.push("if(comp===0){"),n.push("if(--great<k){break}"),n.push("continue"),n.push("}else{"),w("comp","great",1),n.push("if(comp<0){"),k("k","less","great"),n.push("}else{"),M("k","great"),n.push("}"),n.push("break"),n.push("}"),n.push("}"),n.push("}"),n.push("}"),n.push("}"),n.push("}"),x(),S("less","great"),n.push("}return "+s),t.length>1&&c?new Function("insertionSort","malloc","free",n.join("\n"))(r,c[0],c[1]):new Function("insertionSort",n.join("\n"))(r)}(t,e,v);return m(v,y)}},{"typedarray-pool":595}],494:[function(t,e,r){"use strict";var n=t("./lib/compile_sort.js"),i={};e.exports=function(t){var e=t.order,r=t.dtype,a=[e,r].join(":"),o=i[a];return o||(i[a]=o=n(e,r)),o(t),t}},{"./lib/compile_sort.js":493}],495:[function(t,e,r){var n=t("iota-array"),i=t("is-buffer"),a="undefined"!=typeof Float64Array;function o(t,e){return t[0]-e[0]}function s(){var t,e=this.stride,r=new Array(e.length);for(t=0;t<r.length;++t)r[t]=[Math.abs(e[t]),t];r.sort(o);var n=new Array(r.length);for(t=0;t<n.length;++t)n[t]=r[t][1];return n}function l(t,e){var r=["View",e,"d",t].join("");e<0&&(r="View_Nil"+t);var i="generic"===t;if(-1===e){var a="function "+r+"(a){this.data=a;};var proto="+r+".prototype;proto.dtype='"+t+"';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 "+r+"(this.data);};proto.get=proto.set=function(){};proto.pick=function(){return null};return function construct_"+r+"(a){return new "+r+"(a);}";return new Function(a)()}if(0===e){a="function "+r+"(a,d) {this.data = a;this.offset = d};var proto="+r+".prototype;proto.dtype='"+t+"';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 "+r+"_copy() {return new "+r+"(this.data,this.offset)};proto.pick=function "+r+"_pick(){return TrivialArray(this.data);};proto.valueOf=proto.get=function "+r+"_get(){return "+(i?"this.data.get(this.offset)":"this.data[this.offset]")+"};proto.set=function "+r+"_set(v){return "+(i?"this.data.set(this.offset,v)":"this.data[this.offset]=v")+"};return function construct_"+r+"(a,b,c,d){return new "+r+"(a,d)}";return new Function("TrivialArray",a)(c[t][0])}a=["'use strict'"];var o=n(e),l=o.map((function(t){return"i"+t})),u="this.offset+"+o.map((function(t){return"this.stride["+t+"]*i"+t})).join("+"),f=o.map((function(t){return"b"+t})).join(","),h=o.map((function(t){return"c"+t})).join(",");a.push("function "+r+"(a,"+f+","+h+",d){this.data=a","this.shape=["+f+"]","this.stride=["+h+"]","this.offset=d|0}","var proto="+r+".prototype","proto.dtype='"+t+"'","proto.dimension="+e),a.push("Object.defineProperty(proto,'size',{get:function "+r+"_size(){return "+o.map((function(t){return"this.shape["+t+"]"})).join("*"),"}})"),1===e?a.push("proto.order=[0]"):(a.push("Object.defineProperty(proto,'order',{get:"),e<4?(a.push("function "+r+"_order(){"),2===e?a.push("return (Math.abs(this.stride[0])>Math.abs(this.stride[1]))?[1,0]:[0,1]}})"):3===e&&a.push("var s0=Math.abs(this.stride[0]),s1=Math.abs(this.stride[1]),s2=Math.abs(this.stride[2]);if(s0>s1){if(s1>s2){return [2,1,0];}else if(s0>s2){return [1,2,0];}else{return [1,0,2];}}else if(s0>s2){return [2,0,1];}else if(s2>s1){return [0,1,2];}else{return [0,2,1];}}})")):a.push("ORDER})")),a.push("proto.set=function "+r+"_set("+l.join(",")+",v){"),i?a.push("return this.data.set("+u+",v)}"):a.push("return this.data["+u+"]=v}"),a.push("proto.get=function "+r+"_get("+l.join(",")+"){"),i?a.push("return this.data.get("+u+")}"):a.push("return this.data["+u+"]}"),a.push("proto.index=function "+r+"_index(",l.join(),"){return "+u+"}"),a.push("proto.hi=function "+r+"_hi("+l.join(",")+"){return new "+r+"(this.data,"+o.map((function(t){return["(typeof i",t,"!=='number'||i",t,"<0)?this.shape[",t,"]:i",t,"|0"].join("")})).join(",")+","+o.map((function(t){return"this.stride["+t+"]"})).join(",")+",this.offset)}");var p=o.map((function(t){return"a"+t+"=this.shape["+t+"]"})),d=o.map((function(t){return"c"+t+"=this.stride["+t+"]"}));a.push("proto.lo=function "+r+"_lo("+l.join(",")+"){var b=this.offset,d=0,"+p.join(",")+","+d.join(","));for(var g=0;g<e;++g)a.push("if(typeof i"+g+"==='number'&&i"+g+">=0){d=i"+g+"|0;b+=c"+g+"*d;a"+g+"-=d}");a.push("return new "+r+"(this.data,"+o.map((function(t){return"a"+t})).join(",")+","+o.map((function(t){return"c"+t})).join(",")+",b)}"),a.push("proto.step=function "+r+"_step("+l.join(",")+"){var "+o.map((function(t){return"a"+t+"=this.shape["+t+"]"})).join(",")+","+o.map((function(t){return"b"+t+"=this.stride["+t+"]"})).join(",")+",c=this.offset,d=0,ceil=Math.ceil");for(g=0;g<e;++g)a.push("if(typeof i"+g+"==='number'){d=i"+g+"|0;if(d<0){c+=b"+g+"*(a"+g+"-1);a"+g+"=ceil(-a"+g+"/d)}else{a"+g+"=ceil(a"+g+"/d)}b"+g+"*=d}");a.push("return new "+r+"(this.data,"+o.map((function(t){return"a"+t})).join(",")+","+o.map((function(t){return"b"+t})).join(",")+",c)}");var m=new Array(e),v=new Array(e);for(g=0;g<e;++g)m[g]="a[i"+g+"]",v[g]="b[i"+g+"]";a.push("proto.transpose=function "+r+"_transpose("+l+"){"+l.map((function(t,e){return t+"=("+t+"===undefined?"+e+":"+t+"|0)"})).join(";"),"var a=this.shape,b=this.stride;return new "+r+"(this.data,"+m.join(",")+","+v.join(",")+",this.offset)}"),a.push("proto.pick=function "+r+"_pick("+l+"){var a=[],b=[],c=this.offset");for(g=0;g<e;++g)a.push("if(typeof i"+g+"==='number'&&i"+g+">=0){c=(c+this.stride["+g+"]*i"+g+")|0}else{a.push(this.shape["+g+"]);b.push(this.stride["+g+"])}");return a.push("var ctor=CTOR_LIST[a.length+1];return ctor(this.data,a,b,c)}"),a.push("return function construct_"+r+"(data,shape,stride,offset){return new "+r+"(data,"+o.map((function(t){return"shape["+t+"]"})).join(",")+","+o.map((function(t){return"stride["+t+"]"})).join(",")+",offset)}"),new Function("CTOR_LIST","ORDER",a.join("\n"))(c[t],s)}var c={float32:[],float64:[],int8:[],int16:[],int32:[],uint8:[],uint16:[],uint32:[],array:[],uint8_clamped:[],bigint64:[],biguint64:[],buffer:[],generic:[]};e.exports=function(t,e,r,n){if(void 0===t)return(0,c.array[0])([]);"number"==typeof t&&(t=[t]),void 0===e&&(e=[t.length]);var o=e.length;if(void 0===r){r=new Array(o);for(var s=o-1,u=1;s>=0;--s)r[s]=u,u*=e[s]}if(void 0===n){n=0;for(s=0;s<o;++s)r[s]<0&&(n-=(e[s]-1)*r[s])}for(var f=function(t){if(i(t))return"buffer";if(a)switch(Object.prototype.toString.call(t)){case"[object Float64Array]":return"float64";case"[object Float32Array]":return"float32";case"[object Int8Array]":return"int8";case"[object Int16Array]":return"int16";case"[object Int32Array]":return"int32";case"[object Uint8Array]":return"uint8";case"[object Uint16Array]":return"uint16";case"[object Uint32Array]":return"uint32";case"[object Uint8ClampedArray]":return"uint8_clamped";case"[object BigInt64Array]":return"bigint64";case"[object BigUint64Array]":return"biguint64"}return Array.isArray(t)?"array":"generic"}(t),h=c[f];h.length<=o+1;)h.push(l(f,h.length-1));return(0,h[o+1])(t,e,r,n)}},{"iota-array":463,"is-buffer":465}],496:[function(t,e,r){"use strict";var n=t("double-bits"),i=Math.pow(2,-1074);e.exports=function(t,e){if(isNaN(t)||isNaN(e))return NaN;if(t===e)return t;if(0===t)return e<0?-i:i;var r=n.hi(t),a=n.lo(t);e>t==t>0?a===-1>>>0?(r+=1,a=0):a+=1:0===a?(a=-1>>>0,r-=1):a-=1;return n.pack(a,r)}},{"double-bits":173}],497:[function(t,e,r){var n=Math.PI,i=c(120);function a(t,e,r,n){return["C",t,e,r,n,r,n]}function o(t,e,r,n,i,a){return["C",t/3+2/3*r,e/3+2/3*n,i/3+2/3*r,a/3+2/3*n,i,a]}function s(t,e,r,a,o,c,u,f,h,p){if(p)T=p[0],k=p[1],_=p[2],w=p[3];else{var d=l(t,e,-o);t=d.x,e=d.y;var g=(t-(f=(d=l(f,h,-o)).x))/2,m=(e-(h=d.y))/2,v=g*g/(r*r)+m*m/(a*a);v>1&&(r*=v=Math.sqrt(v),a*=v);var y=r*r,x=a*a,b=(c==u?-1:1)*Math.sqrt(Math.abs((y*x-y*m*m-x*g*g)/(y*m*m+x*g*g)));b==1/0&&(b=1);var _=b*r*m/a+(t+f)/2,w=b*-a*g/r+(e+h)/2,T=Math.asin(((e-w)/a).toFixed(9)),k=Math.asin(((h-w)/a).toFixed(9));(T=t<_?n-T:T)<0&&(T=2*n+T),(k=f<_?n-k:k)<0&&(k=2*n+k),u&&T>k&&(T-=2*n),!u&&k>T&&(k-=2*n)}if(Math.abs(k-T)>i){var M=k,A=f,S=h;k=T+i*(u&&k>T?1:-1);var E=s(f=_+r*Math.cos(k),h=w+a*Math.sin(k),r,a,o,0,u,A,S,[k,M,_,w])}var C=Math.tan((k-T)/4),L=4/3*r*C,I=4/3*a*C,P=[2*t-(t+L*Math.sin(T)),2*e-(e-I*Math.cos(T)),f+L*Math.sin(k),h-I*Math.cos(k),f,h];if(p)return P;E&&(P=P.concat(E));for(var z=0;z<P.length;){var O=l(P[z],P[z+1],o);P[z++]=O.x,P[z++]=O.y}return P}function l(t,e,r){return{x:t*Math.cos(r)-e*Math.sin(r),y:t*Math.sin(r)+e*Math.cos(r)}}function c(t){return t*(n/180)}e.exports=function(t){for(var e,r=[],n=0,i=0,l=0,u=0,f=null,h=null,p=0,d=0,g=0,m=t.length;g<m;g++){var v=t[g],y=v[0];switch(y){case"M":l=v[1],u=v[2];break;case"A":(v=s(p,d,v[1],v[2],c(v[3]),v[4],v[5],v[6],v[7])).unshift("C"),v.length>7&&(r.push(v.splice(0,7)),v.unshift("C"));break;case"S":var x=p,b=d;"C"!=e&&"S"!=e||(x+=x-n,b+=b-i),v=["C",x,b,v[1],v[2],v[3],v[4]];break;case"T":"Q"==e||"T"==e?(f=2*p-f,h=2*d-h):(f=p,h=d),v=o(p,d,f,h,v[1],v[2]);break;case"Q":f=v[1],h=v[2],v=o(p,d,v[1],v[2],v[3],v[4]);break;case"L":v=a(p,d,v[1],v[2]);break;case"H":v=a(p,d,v[1],d);break;case"V":v=a(p,d,p,v[1]);break;case"Z":v=a(p,d,l,u)}e=y,p=v[v.length-2],d=v[v.length-1],v.length>4?(n=v[v.length-4],i=v[v.length-3]):(n=p,i=d),r.push(v)}return r}},{}],498:[function(t,e,r){r.vertexNormals=function(t,e,r){for(var n=e.length,i=new Array(n),a=void 0===r?1e-6:r,o=0;o<n;++o)i[o]=[0,0,0];for(o=0;o<t.length;++o)for(var s=t[o],l=0,c=s[s.length-1],u=s[0],f=0;f<s.length;++f){l=c,c=u,u=s[(f+1)%s.length];for(var h=e[l],p=e[c],d=e[u],g=new Array(3),m=0,v=new Array(3),y=0,x=0;x<3;++x)g[x]=h[x]-p[x],m+=g[x]*g[x],v[x]=d[x]-p[x],y+=v[x]*v[x];if(m*y>a){var b=i[c],_=1/Math.sqrt(m*y);for(x=0;x<3;++x){var w=(x+1)%3,T=(x+2)%3;b[x]+=_*(v[w]*g[T]-v[T]*g[w])}}}for(o=0;o<n;++o){b=i[o];var k=0;for(x=0;x<3;++x)k+=b[x]*b[x];if(k>a)for(_=1/Math.sqrt(k),x=0;x<3;++x)b[x]*=_;else for(x=0;x<3;++x)b[x]=0}return i},r.faceNormals=function(t,e,r){for(var n=t.length,i=new Array(n),a=void 0===r?1e-6:r,o=0;o<n;++o){for(var s=t[o],l=new Array(3),c=0;c<3;++c)l[c]=e[s[c]];var u=new Array(3),f=new Array(3);for(c=0;c<3;++c)u[c]=l[1][c]-l[0][c],f[c]=l[2][c]-l[0][c];var h=new Array(3),p=0;for(c=0;c<3;++c){var d=(c+1)%3,g=(c+2)%3;h[c]=u[d]*f[g]-u[g]*f[d],p+=h[c]*h[c]}p=p>a?1/Math.sqrt(p):0;for(c=0;c<3;++c)h[c]*=p;i[o]=h}return i}},{}],499:[function(t,e,r){ +/* +object-assign +(c) Sindre Sorhus +@license MIT +*/ +"use strict";var n=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;function o(t){if(null==t)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(t)}e.exports=function(){try{if(!Object.assign)return!1;var t=new String("abc");if(t[5]="de","5"===Object.getOwnPropertyNames(t)[0])return!1;for(var e={},r=0;r<10;r++)e["_"+String.fromCharCode(r)]=r;if("0123456789"!==Object.getOwnPropertyNames(e).map((function(t){return e[t]})).join(""))return!1;var n={};return"abcdefghijklmnopqrst".split("").forEach((function(t){n[t]=t})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},n)).join("")}catch(t){return!1}}()?Object.assign:function(t,e){for(var r,s,l=o(t),c=1;c<arguments.length;c++){for(var u in r=Object(arguments[c]))i.call(r,u)&&(l[u]=r[u]);if(n){s=n(r);for(var f=0;f<s.length;f++)a.call(r,s[f])&&(l[s[f]]=r[s[f]])}}return l}},{}],500:[function(t,e,r){"use strict";e.exports=function(t,e,r,n,i,a,o,s,l,c){var u=e+a+c;if(f>0){var f=Math.sqrt(u+1);t[0]=.5*(o-l)/f,t[1]=.5*(s-n)/f,t[2]=.5*(r-a)/f,t[3]=.5*f}else{var h=Math.max(e,a,c);f=Math.sqrt(2*h-u+1);e>=h?(t[0]=.5*f,t[1]=.5*(i+r)/f,t[2]=.5*(s+n)/f,t[3]=.5*(o-l)/f):a>=h?(t[0]=.5*(r+i)/f,t[1]=.5*f,t[2]=.5*(l+o)/f,t[3]=.5*(s-n)/f):(t[0]=.5*(n+s)/f,t[1]=.5*(o+l)/f,t[2]=.5*f,t[3]=.5*(r-i)/f)}return t}},{}],501:[function(t,e,r){"use strict";e.exports=function(t){var e=(t=t||{}).center||[0,0,0],r=t.rotation||[0,0,0,1],n=t.radius||1;e=[].slice.call(e,0,3),u(r=[].slice.call(r,0,4),r);var i=new f(r,e,Math.log(n));i.setDistanceLimits(t.zoomMin,t.zoomMax),("eye"in t||"up"in t)&&i.lookAt(0,t.eye,t.center,t.up);return i};var n=t("filtered-vector"),i=t("gl-mat4/lookAt"),a=t("gl-mat4/fromQuat"),o=t("gl-mat4/invert"),s=t("./lib/quatFromFrame");function l(t,e,r){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2))}function c(t,e,r,n){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2)+Math.pow(n,2))}function u(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=c(r,n,i,a);o>1e-6?(t[0]=r/o,t[1]=n/o,t[2]=i/o,t[3]=a/o):(t[0]=t[1]=t[2]=0,t[3]=1)}function f(t,e,r){this.radius=n([r]),this.center=n(e),this.rotation=n(t),this.computedRadius=this.radius.curve(0),this.computedCenter=this.center.curve(0),this.computedRotation=this.rotation.curve(0),this.computedUp=[.1,0,0],this.computedEye=[.1,0,0],this.computedMatrix=[.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],this.recalcMatrix(0)}var h=f.prototype;h.lastT=function(){return Math.max(this.radius.lastT(),this.center.lastT(),this.rotation.lastT())},h.recalcMatrix=function(t){this.radius.curve(t),this.center.curve(t),this.rotation.curve(t);var e=this.computedRotation;u(e,e);var r=this.computedMatrix;a(r,e);var n=this.computedCenter,i=this.computedEye,o=this.computedUp,s=Math.exp(this.computedRadius[0]);i[0]=n[0]+s*r[2],i[1]=n[1]+s*r[6],i[2]=n[2]+s*r[10],o[0]=r[1],o[1]=r[5],o[2]=r[9];for(var l=0;l<3;++l){for(var c=0,f=0;f<3;++f)c+=r[l+4*f]*i[f];r[12+l]=-c}},h.getMatrix=function(t,e){this.recalcMatrix(t);var r=this.computedMatrix;if(e){for(var n=0;n<16;++n)e[n]=r[n];return e}return r},h.idle=function(t){this.center.idle(t),this.radius.idle(t),this.rotation.idle(t)},h.flush=function(t){this.center.flush(t),this.radius.flush(t),this.rotation.flush(t)},h.pan=function(t,e,r,n){e=e||0,r=r||0,n=n||0,this.recalcMatrix(t);var i=this.computedMatrix,a=i[1],o=i[5],s=i[9],c=l(a,o,s);a/=c,o/=c,s/=c;var u=i[0],f=i[4],h=i[8],p=u*a+f*o+h*s,d=l(u-=a*p,f-=o*p,h-=s*p);u/=d,f/=d,h/=d;var g=i[2],m=i[6],v=i[10],y=g*a+m*o+v*s,x=g*u+m*f+v*h,b=l(g-=y*a+x*u,m-=y*o+x*f,v-=y*s+x*h);g/=b,m/=b,v/=b;var _=u*e+a*r,w=f*e+o*r,T=h*e+s*r;this.center.move(t,_,w,T);var k=Math.exp(this.computedRadius[0]);k=Math.max(1e-4,k+n),this.radius.set(t,Math.log(k))},h.rotate=function(t,e,r,n){this.recalcMatrix(t),e=e||0,r=r||0;var i=this.computedMatrix,a=i[0],o=i[4],s=i[8],u=i[1],f=i[5],h=i[9],p=i[2],d=i[6],g=i[10],m=e*a+r*u,v=e*o+r*f,y=e*s+r*h,x=-(d*y-g*v),b=-(g*m-p*y),_=-(p*v-d*m),w=Math.sqrt(Math.max(0,1-Math.pow(x,2)-Math.pow(b,2)-Math.pow(_,2))),T=c(x,b,_,w);T>1e-6?(x/=T,b/=T,_/=T,w/=T):(x=b=_=0,w=1);var k=this.computedRotation,M=k[0],A=k[1],S=k[2],E=k[3],C=M*w+E*x+A*_-S*b,L=A*w+E*b+S*x-M*_,I=S*w+E*_+M*b-A*x,P=E*w-M*x-A*b-S*_;if(n){x=p,b=d,_=g;var z=Math.sin(n)/l(x,b,_);x*=z,b*=z,_*=z,P=P*(w=Math.cos(e))-(C=C*w+P*x+L*_-I*b)*x-(L=L*w+P*b+I*x-C*_)*b-(I=I*w+P*_+C*b-L*x)*_}var O=c(C,L,I,P);O>1e-6?(C/=O,L/=O,I/=O,P/=O):(C=L=I=0,P=1),this.rotation.set(t,C,L,I,P)},h.lookAt=function(t,e,r,n){this.recalcMatrix(t),r=r||this.computedCenter,e=e||this.computedEye,n=n||this.computedUp;var a=this.computedMatrix;i(a,e,r,n);var o=this.computedRotation;s(o,a[0],a[1],a[2],a[4],a[5],a[6],a[8],a[9],a[10]),u(o,o),this.rotation.set(t,o[0],o[1],o[2],o[3]);for(var l=0,c=0;c<3;++c)l+=Math.pow(r[c]-e[c],2);this.radius.set(t,.5*Math.log(Math.max(l,1e-6))),this.center.set(t,r[0],r[1],r[2])},h.translate=function(t,e,r,n){this.center.move(t,e||0,r||0,n||0)},h.setMatrix=function(t,e){var r=this.computedRotation;s(r,e[0],e[1],e[2],e[4],e[5],e[6],e[8],e[9],e[10]),u(r,r),this.rotation.set(t,r[0],r[1],r[2],r[3]);var n=this.computedMatrix;o(n,e);var i=n[15];if(Math.abs(i)>1e-6){var a=n[12]/i,l=n[13]/i,c=n[14]/i;this.recalcMatrix(t);var f=Math.exp(this.computedRadius[0]);this.center.set(t,a-n[2]*f,l-n[6]*f,c-n[10]*f),this.radius.idle(t)}else this.center.idle(t),this.radius.idle(t)},h.setDistance=function(t,e){e>0&&this.radius.set(t,Math.log(e))},h.setDistanceLimits=function(t,e){t=t>0?Math.log(t):-1/0,e=e>0?Math.log(e):1/0,e=Math.max(e,t),this.radius.bounds[0][0]=t,this.radius.bounds[1][0]=e},h.getDistanceLimits=function(t){var e=this.radius.bounds;return t?(t[0]=Math.exp(e[0][0]),t[1]=Math.exp(e[1][0]),t):[Math.exp(e[0][0]),Math.exp(e[1][0])]},h.toJSON=function(){return this.recalcMatrix(this.lastT()),{center:this.computedCenter.slice(),rotation:this.computedRotation.slice(),distance:Math.log(this.computedRadius[0]),zoomMin:this.radius.bounds[0][0],zoomMax:this.radius.bounds[1][0]}},h.fromJSON=function(t){var e=this.lastT(),r=t.center;r&&this.center.set(e,r[0],r[1],r[2]);var n=t.rotation;n&&this.rotation.set(e,n[0],n[1],n[2],n[3]);var i=t.distance;i&&i>0&&this.radius.set(e,Math.log(i)),this.setDistanceLimits(t.zoomMin,t.zoomMax)}},{"./lib/quatFromFrame":500,"filtered-vector":242,"gl-mat4/fromQuat":282,"gl-mat4/invert":293,"gl-mat4/lookAt":294}],502:[function(t,e,r){ +/*! + * pad-left <https://github.com/jonschlinkert/pad-left> + * + * Copyright (c) 2014-2015, Jon Schlinkert. + * Licensed under the MIT license. + */ +"use strict";var n=t("repeat-string");e.exports=function(t,e,r){return n(r="undefined"!=typeof r?r+"":" ",e)+t}},{"repeat-string":541}],503:[function(t,e,r){"use strict";function n(t,e){if("string"!=typeof t)return[t];var r=[t];"string"==typeof e||Array.isArray(e)?e={brackets:e}:e||(e={});var n=e.brackets?Array.isArray(e.brackets)?e.brackets:[e.brackets]:["{}","[]","()"],i=e.escape||"___",a=!!e.flat;n.forEach((function(t){var e=new RegExp(["\\",t[0],"[^\\",t[0],"\\",t[1],"]*\\",t[1]].join("")),n=[];function a(e,a,o){var s=r.push(e.slice(t[0].length,-t[1].length))-1;return n.push(s),i+s+i}r.forEach((function(t,n){for(var i,o=0;t!=i;)if(i=t,t=t.replace(e,a),o++>1e4)throw Error("References have circular dependency. Please, check them.");r[n]=t})),n=n.reverse(),r=r.map((function(e){return n.forEach((function(r){e=e.replace(new RegExp("(\\"+i+r+"\\"+i+")","g"),t[0]+"$1"+t[1])})),e}))}));var o=new RegExp("\\"+i+"([0-9]+)\\"+i);return a?r:function t(e,r,n){for(var i,a=[],s=0;i=o.exec(e);){if(s++>1e4)throw Error("Circular references in parenthesis");a.push(e.slice(0,i.index)),a.push(t(r[i[1]],r)),e=e.slice(i.index+i[0].length)}return a.push(e),a}(r[0],r)}function i(t,e){if(e&&e.flat){var r,n=e&&e.escape||"___",i=t[0];if(!i)return"";for(var a=new RegExp("\\"+n+"([0-9]+)\\"+n),o=0;i!=r;){if(o++>1e4)throw Error("Circular references in "+t);r=i,i=i.replace(a,s)}return i}return t.reduce((function t(e,r){return Array.isArray(r)&&(r=r.reduce(t,"")),e+r}),"");function s(e,r){if(null==t[r])throw Error("Reference "+r+"is undefined");return t[r]}}function a(t,e){return Array.isArray(t)?i(t,e):n(t,e)}a.parse=n,a.stringify=i,e.exports=a},{}],504:[function(t,e,r){"use strict";var n=t("pick-by-alias");e.exports=function(t){var e;arguments.length>1&&(t=arguments);"string"==typeof t?t=t.split(/\s/).map(parseFloat):"number"==typeof t&&(t=[t]);t.length&&"number"==typeof t[0]?e=1===t.length?{width:t[0],height:t[0],x:0,y:0}:2===t.length?{width:t[0],height:t[1],x:0,y:0}:{x:t[0],y:t[1],width:t[2]-t[0]||0,height:t[3]-t[1]||0}:t&&(t=n(t,{left:"x l left Left",top:"y t top Top",width:"w width W Width",height:"h height W Width",bottom:"b bottom Bottom",right:"r right Right"}),e={x:t.left||0,y:t.top||0},null==t.width?t.right?e.width=t.right-e.x:e.width=0:e.width=t.width,null==t.height?t.bottom?e.height=t.bottom-e.y:e.height=0:e.height=t.height);return e}},{"pick-by-alias":511}],505:[function(t,e,r){e.exports=function(t){var e=[];return t.replace(i,(function(t,r,i){var o=r.toLowerCase();for(i=function(t){var e=t.match(a);return e?e.map(Number):[]}(i),"m"==o&&i.length>2&&(e.push([r].concat(i.splice(0,2))),o="l",r="m"==r?"l":"L");;){if(i.length==n[o])return i.unshift(r),e.push(i);if(i.length<n[o])throw new Error("malformed path data");e.push([r].concat(i.splice(0,n[o])))}})),e};var n={a:7,c:6,h:1,l:2,m:2,q:4,s:4,t:2,v:1,z:0},i=/([astvzqmhlc])([^astvzqmhlc]*)/gi;var a=/-?[0-9]*\.?[0-9]+(?:e[-+]?\d+)?/gi},{}],506:[function(t,e,r){e.exports=function(t,e){e||(e=[0,""]),t=String(t);var r=parseFloat(t,10);return e[0]=r,e[1]=t.match(/[\d.\-\+]*\s*(.*)/)[1]||"",e}},{}],507:[function(t,e,r){(function(t){(function(){"use strict";function r(t){if("string"!=typeof t)throw new TypeError("Path must be a string. Received "+JSON.stringify(t))}function n(t,e){for(var r,n="",i=0,a=-1,o=0,s=0;s<=t.length;++s){if(s<t.length)r=t.charCodeAt(s);else{if(47===r)break;r=47}if(47===r){if(a===s-1||1===o);else if(a!==s-1&&2===o){if(n.length<2||2!==i||46!==n.charCodeAt(n.length-1)||46!==n.charCodeAt(n.length-2))if(n.length>2){var l=n.lastIndexOf("/");if(l!==n.length-1){-1===l?(n="",i=0):i=(n=n.slice(0,l)).length-1-n.lastIndexOf("/"),a=s,o=0;continue}}else if(2===n.length||1===n.length){n="",i=0,a=s,o=0;continue}e&&(n.length>0?n+="/..":n="..",i=2)}else n.length>0?n+="/"+t.slice(a+1,s):n=t.slice(a+1,s),i=s-a-1;a=s,o=0}else 46===r&&-1!==o?++o:o=-1}return n}var i={resolve:function(){for(var e,i="",a=!1,o=arguments.length-1;o>=-1&&!a;o--){var s;o>=0?s=arguments[o]:(void 0===e&&(e=t.cwd()),s=e),r(s),0!==s.length&&(i=s+"/"+i,a=47===s.charCodeAt(0))}return i=n(i,!a),a?i.length>0?"/"+i:"/":i.length>0?i:"."},normalize:function(t){if(r(t),0===t.length)return".";var e=47===t.charCodeAt(0),i=47===t.charCodeAt(t.length-1);return 0!==(t=n(t,!e)).length||e||(t="."),t.length>0&&i&&(t+="/"),e?"/"+t:t},isAbsolute:function(t){return r(t),t.length>0&&47===t.charCodeAt(0)},join:function(){if(0===arguments.length)return".";for(var t,e=0;e<arguments.length;++e){var n=arguments[e];r(n),n.length>0&&(void 0===t?t=n:t+="/"+n)}return void 0===t?".":i.normalize(t)},relative:function(t,e){if(r(t),r(e),t===e)return"";if((t=i.resolve(t))===(e=i.resolve(e)))return"";for(var n=1;n<t.length&&47===t.charCodeAt(n);++n);for(var a=t.length,o=a-n,s=1;s<e.length&&47===e.charCodeAt(s);++s);for(var l=e.length-s,c=o<l?o:l,u=-1,f=0;f<=c;++f){if(f===c){if(l>c){if(47===e.charCodeAt(s+f))return e.slice(s+f+1);if(0===f)return e.slice(s+f)}else o>c&&(47===t.charCodeAt(n+f)?u=f:0===f&&(u=0));break}var h=t.charCodeAt(n+f);if(h!==e.charCodeAt(s+f))break;47===h&&(u=f)}var p="";for(f=n+u+1;f<=a;++f)f!==a&&47!==t.charCodeAt(f)||(0===p.length?p+="..":p+="/..");return p.length>0?p+e.slice(s+u):(s+=u,47===e.charCodeAt(s)&&++s,e.slice(s))},_makeLong:function(t){return t},dirname:function(t){if(r(t),0===t.length)return".";for(var e=t.charCodeAt(0),n=47===e,i=-1,a=!0,o=t.length-1;o>=1;--o)if(47===(e=t.charCodeAt(o))){if(!a){i=o;break}}else a=!1;return-1===i?n?"/":".":n&&1===i?"//":t.slice(0,i)},basename:function(t,e){if(void 0!==e&&"string"!=typeof e)throw new TypeError('"ext" argument must be a string');r(t);var n,i=0,a=-1,o=!0;if(void 0!==e&&e.length>0&&e.length<=t.length){if(e.length===t.length&&e===t)return"";var s=e.length-1,l=-1;for(n=t.length-1;n>=0;--n){var c=t.charCodeAt(n);if(47===c){if(!o){i=n+1;break}}else-1===l&&(o=!1,l=n+1),s>=0&&(c===e.charCodeAt(s)?-1==--s&&(a=n):(s=-1,a=l))}return i===a?a=l:-1===a&&(a=t.length),t.slice(i,a)}for(n=t.length-1;n>=0;--n)if(47===t.charCodeAt(n)){if(!o){i=n+1;break}}else-1===a&&(o=!1,a=n+1);return-1===a?"":t.slice(i,a)},extname:function(t){r(t);for(var e=-1,n=0,i=-1,a=!0,o=0,s=t.length-1;s>=0;--s){var l=t.charCodeAt(s);if(47!==l)-1===i&&(a=!1,i=s+1),46===l?-1===e?e=s:1!==o&&(o=1):-1!==e&&(o=-1);else if(!a){n=s+1;break}}return-1===e||-1===i||0===o||1===o&&e===i-1&&e===n+1?"":t.slice(e,i)},format:function(t){if(null===t||"object"!=typeof t)throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof t);return function(t,e){var r=e.dir||e.root,n=e.base||(e.name||"")+(e.ext||"");return r?r===e.root?r+n:r+t+n:n}("/",t)},parse:function(t){r(t);var e={root:"",dir:"",base:"",ext:"",name:""};if(0===t.length)return e;var n,i=t.charCodeAt(0),a=47===i;a?(e.root="/",n=1):n=0;for(var o=-1,s=0,l=-1,c=!0,u=t.length-1,f=0;u>=n;--u)if(47!==(i=t.charCodeAt(u)))-1===l&&(c=!1,l=u+1),46===i?-1===o?o=u:1!==f&&(f=1):-1!==o&&(f=-1);else if(!c){s=u+1;break}return-1===o||-1===l||0===f||1===f&&o===l-1&&o===s+1?-1!==l&&(e.base=e.name=0===s&&a?t.slice(1,l):t.slice(s,l)):(0===s&&a?(e.name=t.slice(1,o),e.base=t.slice(1,l)):(e.name=t.slice(s,o),e.base=t.slice(s,l)),e.ext=t.slice(o,l)),s>0?e.dir=t.slice(0,s-1):a&&(e.dir="/"),e},sep:"/",delimiter:":",win32:null,posix:null};i.posix=i,e.exports=i}).call(this)}).call(this,t("_process"))},{_process:526}],508:[function(t,e,r){(function(t){(function(){(function(){var r,n,i,a,o,s;"undefined"!=typeof performance&&null!==performance&&performance.now?e.exports=function(){return performance.now()}:"undefined"!=typeof t&&null!==t&&t.hrtime?(e.exports=function(){return(r()-o)/1e6},n=t.hrtime,a=(r=function(){var t;return 1e9*(t=n())[0]+t[1]})(),s=1e9*t.uptime(),o=a-s):Date.now?(e.exports=function(){return Date.now()-i},i=Date.now()):(e.exports=function(){return(new Date).getTime()-i},i=(new Date).getTime())}).call(this)}).call(this)}).call(this,t("_process"))},{_process:526}],509:[function(t,e,r){"use strict";e.exports=function(t){var e=t.length;if(e<32){for(var r=1,i=0;i<e;++i)for(var a=0;a<i;++a)if(t[i]<t[a])r=-r;else if(t[i]===t[a])return 0;return r}var o=n.mallocUint8(e);for(i=0;i<e;++i)o[i]=0;for(r=1,i=0;i<e;++i)if(!o[i]){var s=1;o[i]=1;for(a=t[i];a!==i;a=t[a]){if(o[a])return n.freeUint8(o),0;s+=1,o[a]=1}1&s||(r=-r)}return n.freeUint8(o),r};var n=t("typedarray-pool")},{"typedarray-pool":595}],510:[function(t,e,r){"use strict";var n=t("typedarray-pool"),i=t("invert-permutation");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<e;++o)s[o]=t[o];for(o=e-1;o>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<t;++a)r[a]=a,o=o*a|0;for(a=t-1;a>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}},{"invert-permutation":462,"typedarray-pool":595}],511:[function(t,e,r){"use strict";e.exports=function(t,e,r){var n,a,o={};if("string"==typeof e&&(e=i(e)),Array.isArray(e)){var s={};for(a=0;a<e.length;a++)s[e[a]]=!0;e=s}for(n in e)e[n]=i(e[n]);var l={};for(n in e){var c=e[n];if(Array.isArray(c))for(a=0;a<c.length;a++){var u=c[a];if(r&&(l[u]=!0),u in t){if(o[n]=t[u],r)for(var f=a;f<c.length;f++)l[c[f]]=!0;break}}else n in t&&(e[n]&&(o[n]=t[n]),r&&(l[n]=!0))}if(r)for(n in t)l[n]||(o[n]=t[n]);return o};var n={};function i(t){return n[t]?n[t]:("string"==typeof t&&(t=n[t]=t.split(/\s*,\s*|\s+/)),t)}},{}],512:[function(t,e,r){"use strict";e.exports=function(t,e){for(var r=0|e.length,i=t.length,a=[new Array(r),new Array(r)],o=0;o<r;++o)a[0][o]=[],a[1][o]=[];for(o=0;o<i;++o){var s=t[o];a[0][s[0]].push(s),a[1][s[1]].push(s)}var l=[];for(o=0;o<r;++o)a[0][o].length+a[1][o].length===0&&l.push([o]);function c(t,e){var r=a[e][t[e]];r.splice(r.indexOf(t),1)}function u(t,r,i){for(var o,s,l,u=0;u<2;++u)if(a[u][r].length>0){o=a[u][r][0],l=u;break}s=o[1^l];for(var f=0;f<2;++f)for(var h=a[f][r],p=0;p<h.length;++p){var d=h[p],g=d[1^f];n(e[t],e[r],e[s],e[g])>0&&(o=d,s=g,l=f)}return i||o&&c(o,l),s}function f(t,r){var i=a[r][t][0],o=[t];c(i,r);for(var s=i[1^r];;){for(;s!==t;)o.push(s),s=u(o[o.length-2],s,!1);if(a[0][t].length+a[1][t].length===0)break;var l=o[o.length-1],f=t,h=o[1],p=u(l,f,!0);if(n(e[l],e[f],e[h],e[p])<0)break;o.push(t),s=u(l,f)}return o}function h(t,e){return e[1]===e[e.length-1]}for(o=0;o<r;++o)for(var p=0;p<2;++p){for(var d=[];a[p][o].length>0;){a[0][o].length;var g=f(o,p);h(0,g)?d.push.apply(d,g):(d.length>0&&l.push(d),d=g)}d.length>0&&l.push(d)}return l};var n=t("compare-angle")},{"compare-angle":132}],513:[function(t,e,r){"use strict";e.exports=function(t,e){for(var r=n(t,e.length),i=new Array(e.length),a=new Array(e.length),o=[],s=0;s<e.length;++s){var l=r[s].length;a[s]=l,i[s]=!0,l<=1&&o.push(s)}for(;o.length>0;){var c=o.pop();i[c]=!1;var u=r[c];for(s=0;s<u.length;++s){var f=u[s];0==--a[f]&&o.push(f)}}var h=new Array(e.length),p=[];for(s=0;s<e.length;++s)if(i[s]){c=p.length;h[s]=c,p.push(e[s])}else h[s]=-1;var d=[];for(s=0;s<t.length;++s){var g=t[s];i[g[0]]&&i[g[1]]&&d.push([h[g[0]],h[g[1]]])}return[d,p]};var n=t("edges-to-adjacency-list")},{"edges-to-adjacency-list":178}],514:[function(t,e,r){"use strict";e.exports=function(t,e){var r=c(t,e);t=r[0];for(var f=(e=r[1]).length,h=(t.length,n(t,e.length)),p=0;p<f;++p)if(h[p].length%2==1)throw new Error("planar-graph-to-polyline: graph must be manifold");var d=i(t,e);var g=(d=d.filter((function(t){for(var r=t.length,n=[0],i=0;i<r;++i){var a=e[t[i]],l=e[t[(i+1)%r]],c=o(-a[0],a[1]),u=o(-a[0],l[1]),f=o(l[0],a[1]),h=o(l[0],l[1]);n=s(n,s(s(c,u),s(f,h)))}return n[n.length-1]>0}))).length,m=new Array(g),v=new Array(g);for(p=0;p<g;++p){m[p]=p;var y=new Array(g),x=d[p].map((function(t){return e[t]})),b=a([x]),_=0;t:for(var w=0;w<g;++w)if(y[w]=0,p!==w){for(var T=(q=d[w]).length,k=0;k<T;++k){var M=b(e[q[k]]);if(0!==M){M<0&&(y[w]=1,_+=1);continue t}}y[w]=1,_+=1}v[p]=[_,p,y]}v.sort((function(t,e){return e[0]-t[0]}));for(p=0;p<g;++p){var A=(y=v[p])[1],S=y[2];for(w=0;w<g;++w)S[w]&&(m[w]=A)}var E=function(t){for(var e=new Array(t),r=0;r<t;++r)e[r]=[];return e}(g);for(p=0;p<g;++p)E[p].push(m[p]),E[m[p]].push(p);var C={},L=u(f,!1);for(p=0;p<g;++p)for(T=(q=d[p]).length,w=0;w<T;++w){var I=q[w],P=q[(w+1)%T],z=Math.min(I,P)+":"+Math.max(I,P);if(z in C){var O=C[z];E[O].push(p),E[p].push(O),L[I]=L[P]=!0}else C[z]=p}function D(t){for(var e=t.length,r=0;r<e;++r)if(!L[t[r]])return!1;return!0}var R=[],F=u(g,-1);for(p=0;p<g;++p)m[p]!==p||D(d[p])?F[p]=-1:(R.push(p),F[p]=0);r=[];for(;R.length>0;){var B=R.pop(),N=E[B];l(N,(function(t,e){return t-e}));var j,U=N.length,V=F[B];if(0===V){var q=d[B];j=[q]}for(p=0;p<U;++p){var H=N[p];if(!(F[H]>=0))if(F[H]=1^V,R.push(H),0===V)D(q=d[H])||(q.reverse(),j.push(q))}0===V&&r.push(j)}return r};var n=t("edges-to-adjacency-list"),i=t("planar-dual"),a=t("point-in-big-polygon"),o=t("two-product"),s=t("robust-sum"),l=t("uniq"),c=t("./lib/trim-leaves");function u(t,e){for(var r=new Array(t),n=0;n<t;++n)r[n]=e;return r}},{"./lib/trim-leaves":513,"edges-to-adjacency-list":178,"planar-dual":512,"point-in-big-polygon":516,"robust-sum":553,"two-product":582,uniq:597}],515:[function(t,e,r){arguments[4][243][0].apply(r,arguments)},{dup:243}],516:[function(t,e,r){e.exports=function(t){for(var e=t.length,r=[],a=[],s=0;s<e;++s)for(var u=t[s],f=u.length,h=f-1,p=0;p<f;h=p++){var d=u[h],g=u[p];d[0]===g[0]?a.push([d,g]):r.push([d,g])}if(0===r.length)return 0===a.length?c:(m=l(a),function(t){return m(t[0],t[1])?0:1});var m;var v=i(r),y=function(t,e){return function(r){var i=o.le(e,r[0]);if(i<0)return 1;var a=t[i];if(!a){if(!(i>0&&e[i]===r[0]))return 1;a=t[i-1]}for(var s=1;a;){var l=a.key,c=n(r,l[0],l[1]);if(l[0][0]<l[1][0])if(c<0)a=a.left;else{if(!(c>0))return 0;s=-1,a=a.right}else if(c>0)a=a.left;else{if(!(c<0))return 0;s=1,a=a.right}}return s}}(v.slabs,v.coordinates);return 0===a.length?y:function(t,e){return function(r){return t(r[0],r[1])?0:e(r)}}(l(a),y)};var n=t("robust-orientation")[3],i=t("slab-decomposition"),a=t("interval-tree-1d"),o=t("binary-search-bounds");function s(){return!0}function l(t){for(var e={},r=0;r<t.length;++r){var n=t[r],i=n[0][0],o=n[0][1],l=n[1][1],c=[Math.min(o,l),Math.max(o,l)];i in e?e[i].push(c):e[i]=[c]}var u={},f=Object.keys(e);for(r=0;r<f.length;++r){var h=e[f[r]];u[f[r]]=a(h)}return function(t){return function(e,r){var n=t[e];return!!n&&!!n.queryPoint(r,s)}}(u)}function c(t){return 1}},{"binary-search-bounds":515,"interval-tree-1d":460,"robust-orientation":548,"slab-decomposition":565}],517:[function(t,e,r){ +/* + * @copyright 2016 Sean Connelly (@voidqk), http://syntheti.cc + * @license MIT + * @preserve Project Home: https://github.com/voidqk/polybooljs + */ +var n,i=t("./lib/build-log"),a=t("./lib/epsilon"),o=t("./lib/intersecter"),s=t("./lib/segment-chainer"),l=t("./lib/segment-selector"),c=t("./lib/geojson"),u=!1,f=a();function h(t,e,r){var i=n.segments(t),a=n.segments(e),o=r(n.combine(i,a));return n.polygon(o)}n={buildLog:function(t){return!0===t?u=i():!1===t&&(u=!1),!1!==u&&u.list},epsilon:function(t){return f.epsilon(t)},segments:function(t){var e=o(!0,f,u);return t.regions.forEach(e.addRegion),{segments:e.calculate(t.inverted),inverted:t.inverted}},combine:function(t,e){return{combined:o(!1,f,u).calculate(t.segments,t.inverted,e.segments,e.inverted),inverted1:t.inverted,inverted2:e.inverted}},selectUnion:function(t){return{segments:l.union(t.combined,u),inverted:t.inverted1||t.inverted2}},selectIntersect:function(t){return{segments:l.intersect(t.combined,u),inverted:t.inverted1&&t.inverted2}},selectDifference:function(t){return{segments:l.difference(t.combined,u),inverted:t.inverted1&&!t.inverted2}},selectDifferenceRev:function(t){return{segments:l.differenceRev(t.combined,u),inverted:!t.inverted1&&t.inverted2}},selectXor:function(t){return{segments:l.xor(t.combined,u),inverted:t.inverted1!==t.inverted2}},polygon:function(t){return{regions:s(t.segments,f,u),inverted:t.inverted}},polygonFromGeoJSON:function(t){return c.toPolygon(n,t)},polygonToGeoJSON:function(t){return c.fromPolygon(n,f,t)},union:function(t,e){return h(t,e,n.selectUnion)},intersect:function(t,e){return h(t,e,n.selectIntersect)},difference:function(t,e){return h(t,e,n.selectDifference)},differenceRev:function(t,e){return h(t,e,n.selectDifferenceRev)},xor:function(t,e){return h(t,e,n.selectXor)}},"object"==typeof window&&(window.PolyBool=n),e.exports=n},{"./lib/build-log":518,"./lib/epsilon":519,"./lib/geojson":520,"./lib/intersecter":521,"./lib/segment-chainer":523,"./lib/segment-selector":524}],518:[function(t,e,r){e.exports=function(){var t,e=0,r=!1;function n(e,r){return t.list.push({type:e,data:r?JSON.parse(JSON.stringify(r)):void 0}),t}return t={list:[],segmentId:function(){return e++},checkIntersection:function(t,e){return n("check",{seg1:t,seg2:e})},segmentChop:function(t,e){return n("div_seg",{seg:t,pt:e}),n("chop",{seg:t,pt:e})},statusRemove:function(t){return n("pop_seg",{seg:t})},segmentUpdate:function(t){return n("seg_update",{seg:t})},segmentNew:function(t,e){return n("new_seg",{seg:t,primary:e})},segmentRemove:function(t){return n("rem_seg",{seg:t})},tempStatus:function(t,e,r){return n("temp_status",{seg:t,above:e,below:r})},rewind:function(t){return n("rewind",{seg:t})},status:function(t,e,r){return n("status",{seg:t,above:e,below:r})},vert:function(e){return e===r?t:(r=e,n("vert",{x:e}))},log:function(t){return"string"!=typeof t&&(t=JSON.stringify(t,!1," ")),n("log",{txt:t})},reset:function(){return n("reset")},selected:function(t){return n("selected",{segs:t})},chainStart:function(t){return n("chain_start",{seg:t})},chainRemoveHead:function(t,e){return n("chain_rem_head",{index:t,pt:e})},chainRemoveTail:function(t,e){return n("chain_rem_tail",{index:t,pt:e})},chainNew:function(t,e){return n("chain_new",{pt1:t,pt2:e})},chainMatch:function(t){return n("chain_match",{index:t})},chainClose:function(t){return n("chain_close",{index:t})},chainAddHead:function(t,e){return n("chain_add_head",{index:t,pt:e})},chainAddTail:function(t,e){return n("chain_add_tail",{index:t,pt:e})},chainConnect:function(t,e){return n("chain_con",{index1:t,index2:e})},chainReverse:function(t){return n("chain_rev",{index:t})},chainJoin:function(t,e){return n("chain_join",{index1:t,index2:e})},done:function(){return n("done")}}}},{}],519:[function(t,e,r){e.exports=function(t){"number"!=typeof t&&(t=1e-10);var e={epsilon:function(e){return"number"==typeof e&&(t=e),t},pointAboveOrOnLine:function(e,r,n){var i=r[0],a=r[1],o=n[0],s=n[1],l=e[0];return(o-i)*(e[1]-a)-(s-a)*(l-i)>=-t},pointBetween:function(e,r,n){var i=e[1]-r[1],a=n[0]-r[0],o=e[0]-r[0],s=n[1]-r[1],l=o*a+i*s;return!(l<t)&&!(l-(a*a+s*s)>-t)},pointsSameX:function(e,r){return Math.abs(e[0]-r[0])<t},pointsSameY:function(e,r){return Math.abs(e[1]-r[1])<t},pointsSame:function(t,r){return e.pointsSameX(t,r)&&e.pointsSameY(t,r)},pointsCompare:function(t,r){return e.pointsSameX(t,r)?e.pointsSameY(t,r)?0:t[1]<r[1]?-1:1:t[0]<r[0]?-1:1},pointsCollinear:function(e,r,n){var i=e[0]-r[0],a=e[1]-r[1],o=r[0]-n[0],s=r[1]-n[1];return Math.abs(i*s-o*a)<t},linesIntersect:function(e,r,n,i){var a=r[0]-e[0],o=r[1]-e[1],s=i[0]-n[0],l=i[1]-n[1],c=a*l-o*s;if(Math.abs(c)<t)return!1;var u=e[0]-n[0],f=e[1]-n[1],h=(s*f-l*u)/c,p=(a*f-o*u)/c,d={alongA:0,alongB:0,pt:[e[0]+h*a,e[1]+h*o]};return d.alongA=h<=-t?-2:h<t?-1:h-1<=-t?0:h-1<t?1:2,d.alongB=p<=-t?-2:p<t?-1:p-1<=-t?0:p-1<t?1:2,d},pointInsideRegion:function(e,r){for(var n=e[0],i=e[1],a=r[r.length-1][0],o=r[r.length-1][1],s=!1,l=0;l<r.length;l++){var c=r[l][0],u=r[l][1];u-i>t!=o-i>t&&(a-c)*(i-u)/(o-u)+c-n>t&&(s=!s),a=c,o=u}return s}};return e}},{}],520:[function(t,e,r){var n={toPolygon:function(t,e){function r(e){if(e.length<=0)return t.segments({inverted:!1,regions:[]});function r(e){var r=e.slice(0,e.length-1);return t.segments({inverted:!1,regions:[r]})}for(var n=r(e[0]),i=1;i<e.length;i++)n=t.selectDifference(t.combine(n,r(e[i])));return n}if("Polygon"===e.type)return t.polygon(r(e.coordinates));if("MultiPolygon"===e.type){for(var n=t.segments({inverted:!1,regions:[]}),i=0;i<e.coordinates.length;i++)n=t.selectUnion(t.combine(n,r(e.coordinates[i])));return t.polygon(n)}throw new Error("PolyBool: Cannot convert GeoJSON object to PolyBool polygon")},fromPolygon:function(t,e,r){function n(t,r){return e.pointInsideRegion([.5*(t[0][0]+t[1][0]),.5*(t[0][1]+t[1][1])],r)}function i(t){return{region:t,children:[]}}r=t.polygon(t.segments(r));var a=i(null);function o(t,e){for(var r=0;r<t.children.length;r++){if(n(e,(s=t.children[r]).region))return void o(s,e)}var a=i(e);for(r=0;r<t.children.length;r++){var s;n((s=t.children[r]).region,e)&&(a.children.push(s),t.children.splice(r,1),r--)}t.children.push(a)}for(var s=0;s<r.regions.length;s++){var l=r.regions[s];l.length<3||o(a,l)}function c(t,e){for(var r=0,n=t[t.length-1][0],i=t[t.length-1][1],a=[],o=0;o<t.length;o++){var s=t[o][0],l=t[o][1];a.push([s,l]),r+=l*n-s*i,n=s,i=l}return r<0!==e&&a.reverse(),a.push([a[0][0],a[0][1]]),a}var u=[];function f(t){var e=[c(t.region,!1)];u.push(e);for(var r=0;r<t.children.length;r++)e.push(h(t.children[r]))}function h(t){for(var e=0;e<t.children.length;e++)f(t.children[e]);return c(t.region,!0)}for(s=0;s<a.children.length;s++)f(a.children[s]);return u.length<=0?{type:"Polygon",coordinates:[]}:1==u.length?{type:"Polygon",coordinates:u[0]}:{type:"MultiPolygon",coordinates:u}}};e.exports=n},{}],521:[function(t,e,r){var n=t("./linked-list");e.exports=function(t,e,r){function i(t,e,n){return{id:r?r.segmentId():-1,start:t,end:e,myFill:{above:n.myFill.above,below:n.myFill.below},otherFill:null}}var a=n.create();function o(t,r){a.insertBefore(t,(function(n){return function(t,r,n,i,a,o){var s=e.pointsCompare(r,a);return 0!==s?s:e.pointsSame(n,o)?0:t!==i?t?1:-1:e.pointAboveOrOnLine(n,i?a:o,i?o:a)?1:-1}(t.isStart,t.pt,r,n.isStart,n.pt,n.other.pt)<0}))}function s(t,e){var r=function(t,e){var r=n.node({isStart:!0,pt:t.start,seg:t,primary:e,other:null,status:null});return o(r,t.end),r}(t,e);return function(t,e,r){var i=n.node({isStart:!1,pt:e.end,seg:e,primary:r,other:t,status:null});t.other=i,o(i,t.pt)}(r,t,e),r}function l(t,e){var n=i(e,t.seg.end,t.seg);return function(t,e){r&&r.segmentChop(t.seg,e),t.other.remove(),t.seg.end=e,t.other.pt=e,o(t.other,t.pt)}(t,e),s(n,t.primary)}function c(i,o){var s=n.create();function c(t){return s.findTransition((function(r){var n,i,a,o,s,l;return(n=t,i=r.ev,a=n.seg.start,o=n.seg.end,s=i.seg.start,l=i.seg.end,e.pointsCollinear(a,s,l)?e.pointsCollinear(o,s,l)||e.pointAboveOrOnLine(o,s,l)?1:-1:e.pointAboveOrOnLine(a,s,l)?1:-1)>0}))}function u(t,n){var i=t.seg,a=n.seg,o=i.start,s=i.end,c=a.start,u=a.end;r&&r.checkIntersection(i,a);var f=e.linesIntersect(o,s,c,u);if(!1===f){if(!e.pointsCollinear(o,s,c))return!1;if(e.pointsSame(o,u)||e.pointsSame(s,c))return!1;var h=e.pointsSame(o,c),p=e.pointsSame(s,u);if(h&&p)return n;var d=!h&&e.pointBetween(o,c,u),g=!p&&e.pointBetween(s,c,u);if(h)return g?l(n,s):l(t,u),n;d&&(p||(g?l(n,s):l(t,u)),l(n,o))}else 0===f.alongA&&(-1===f.alongB?l(t,c):0===f.alongB?l(t,f.pt):1===f.alongB&&l(t,u)),0===f.alongB&&(-1===f.alongA?l(n,o):0===f.alongA?l(n,f.pt):1===f.alongA&&l(n,s));return!1}for(var f=[];!a.isEmpty();){var h=a.getHead();if(r&&r.vert(h.pt[0]),h.isStart){r&&r.segmentNew(h.seg,h.primary);var p=c(h),d=p.before?p.before.ev:null,g=p.after?p.after.ev:null;function m(){if(d){var t=u(h,d);if(t)return t}return!!g&&u(h,g)}r&&r.tempStatus(h.seg,!!d&&d.seg,!!g&&g.seg);var v,y=m();if(y){var x;if(t)(x=null===h.seg.myFill.below||h.seg.myFill.above!==h.seg.myFill.below)&&(y.seg.myFill.above=!y.seg.myFill.above);else y.seg.otherFill=h.seg.myFill;r&&r.segmentUpdate(y.seg),h.other.remove(),h.remove()}if(a.getHead()!==h){r&&r.rewind(h.seg);continue}if(t)x=null===h.seg.myFill.below||h.seg.myFill.above!==h.seg.myFill.below,h.seg.myFill.below=g?g.seg.myFill.above:i,h.seg.myFill.above=x?!h.seg.myFill.below:h.seg.myFill.below;else if(null===h.seg.otherFill)v=g?h.primary===g.primary?g.seg.otherFill.above:g.seg.myFill.above:h.primary?o:i,h.seg.otherFill={above:v,below:v};r&&r.status(h.seg,!!d&&d.seg,!!g&&g.seg),h.other.status=p.insert(n.node({ev:h}))}else{var b=h.status;if(null===b)throw new Error("PolyBool: Zero-length segment detected; your epsilon is probably too small or too large");if(s.exists(b.prev)&&s.exists(b.next)&&u(b.prev.ev,b.next.ev),r&&r.statusRemove(b.ev.seg),b.remove(),!h.primary){var _=h.seg.myFill;h.seg.myFill=h.seg.otherFill,h.seg.otherFill=_}f.push(h.seg)}a.getHead().remove()}return r&&r.done(),f}return t?{addRegion:function(t){for(var n,i,a,o=t[t.length-1],l=0;l<t.length;l++){n=o,o=t[l];var c=e.pointsCompare(n,o);0!==c&&s((i=c<0?n:o,a=c<0?o:n,{id:r?r.segmentId():-1,start:i,end:a,myFill:{above:null,below:null},otherFill:null}),!0)}},calculate:function(t){return c(t,!1)}}:{calculate:function(t,e,r,n){return t.forEach((function(t){s(i(t.start,t.end,t),!0)})),r.forEach((function(t){s(i(t.start,t.end,t),!1)})),c(e,n)}}}},{"./linked-list":522}],522:[function(t,e,r){e.exports={create:function(){var t={root:{root:!0,next:null},exists:function(e){return null!==e&&e!==t.root},isEmpty:function(){return null===t.root.next},getHead:function(){return t.root.next},insertBefore:function(e,r){for(var n=t.root,i=t.root.next;null!==i;){if(r(i))return e.prev=i.prev,e.next=i,i.prev.next=e,void(i.prev=e);n=i,i=i.next}n.next=e,e.prev=n,e.next=null},findTransition:function(e){for(var r=t.root,n=t.root.next;null!==n&&!e(n);)r=n,n=n.next;return{before:r===t.root?null:r,after:n,insert:function(t){return t.prev=r,t.next=n,r.next=t,null!==n&&(n.prev=t),t}}}};return t},node:function(t){return t.prev=null,t.next=null,t.remove=function(){t.prev.next=t.next,t.next&&(t.next.prev=t.prev),t.prev=null,t.next=null},t}}},{}],523:[function(t,e,r){e.exports=function(t,e,r){var n=[],i=[];return t.forEach((function(t){var a=t.start,o=t.end;if(e.pointsSame(a,o))console.warn("PolyBool: Warning: Zero-length segment detected; your epsilon is probably too small or too large");else{r&&r.chainStart(t);for(var s={index:0,matches_head:!1,matches_pt1:!1},l={index:0,matches_head:!1,matches_pt1:!1},c=s,u=0;u<n.length;u++){var f=(m=n[u])[0],h=(m[1],m[m.length-1]);m[m.length-2];if(e.pointsSame(f,a)){if(k(u,!0,!0))break}else if(e.pointsSame(f,o)){if(k(u,!0,!1))break}else if(e.pointsSame(h,a)){if(k(u,!1,!0))break}else if(e.pointsSame(h,o)&&k(u,!1,!1))break}if(c===s)return n.push([a,o]),void(r&&r.chainNew(a,o));if(c===l){r&&r.chainMatch(s.index);var p=s.index,d=s.matches_pt1?o:a,g=s.matches_head,m=n[p],v=g?m[0]:m[m.length-1],y=g?m[1]:m[m.length-2],x=g?m[m.length-1]:m[0],b=g?m[m.length-2]:m[1];return e.pointsCollinear(y,v,d)&&(g?(r&&r.chainRemoveHead(s.index,d),m.shift()):(r&&r.chainRemoveTail(s.index,d),m.pop()),v=y),e.pointsSame(x,d)?(n.splice(p,1),e.pointsCollinear(b,x,v)&&(g?(r&&r.chainRemoveTail(s.index,v),m.pop()):(r&&r.chainRemoveHead(s.index,v),m.shift())),r&&r.chainClose(s.index),void i.push(m)):void(g?(r&&r.chainAddHead(s.index,d),m.unshift(d)):(r&&r.chainAddTail(s.index,d),m.push(d)))}var _=s.index,w=l.index;r&&r.chainConnect(_,w);var T=n[_].length<n[w].length;s.matches_head?l.matches_head?T?(M(_),A(_,w)):(M(w),A(w,_)):A(w,_):l.matches_head?A(_,w):T?(M(_),A(w,_)):(M(w),A(_,w))}function k(t,e,r){return c.index=t,c.matches_head=e,c.matches_pt1=r,c===s?(c=l,!1):(c=null,!0)}function M(t){r&&r.chainReverse(t),n[t].reverse()}function A(t,i){var a=n[t],o=n[i],s=a[a.length-1],l=a[a.length-2],c=o[0],u=o[1];e.pointsCollinear(l,s,c)&&(r&&r.chainRemoveTail(t,s),a.pop(),s=l),e.pointsCollinear(s,c,u)&&(r&&r.chainRemoveHead(i,c),o.shift()),r&&r.chainJoin(t,i),n[t]=a.concat(o),n.splice(i,1)}})),i}},{}],524:[function(t,e,r){function n(t,e,r){var n=[];return t.forEach((function(t){var i=(t.myFill.above?8:0)+(t.myFill.below?4:0)+(t.otherFill&&t.otherFill.above?2:0)+(t.otherFill&&t.otherFill.below?1:0);0!==e[i]&&n.push({id:r?r.segmentId():-1,start:t.start,end:t.end,myFill:{above:1===e[i],below:2===e[i]},otherFill:null})})),r&&r.selected(n),n}var i={union:function(t,e){return n(t,[0,2,1,0,2,2,0,0,1,0,1,0,0,0,0,0],e)},intersect:function(t,e){return n(t,[0,0,0,0,0,2,0,2,0,0,1,1,0,2,1,0],e)},difference:function(t,e){return n(t,[0,0,0,0,2,0,2,0,1,1,0,0,0,1,2,0],e)},differenceRev:function(t,e){return n(t,[0,2,1,0,0,0,1,1,0,2,0,2,0,0,0,0],e)},xor:function(t,e){return n(t,[0,2,1,0,2,0,0,1,1,0,0,2,0,1,2,0],e)}};e.exports=i},{}],525:[function(t,e,r){"use strict";var n=new Float64Array(4),i=new Float64Array(4),a=new Float64Array(4);e.exports=function(t,e,r,o,s){n.length<o.length&&(n=new Float64Array(o.length),i=new Float64Array(o.length),a=new Float64Array(o.length));for(var l=0;l<o.length;++l)n[l]=t[l]-o[l],i[l]=e[l]-t[l],a[l]=r[l]-t[l];var c=0,u=0,f=0,h=0,p=0,d=0;for(l=0;l<o.length;++l){var g=i[l],m=a[l],v=n[l];c+=g*g,u+=g*m,f+=m*m,h+=v*g,p+=v*m,d+=v*v}var y,x,b,_,w,T=Math.abs(c*f-u*u),k=u*p-f*h,M=u*h-c*p;if(k+M<=T)if(k<0)M<0&&h<0?(M=0,-h>=c?(k=1,y=c+2*h+d):y=h*(k=-h/c)+d):(k=0,p>=0?(M=0,y=d):-p>=f?(M=1,y=f+2*p+d):y=p*(M=-p/f)+d);else if(M<0)M=0,h>=0?(k=0,y=d):-h>=c?(k=1,y=c+2*h+d):y=h*(k=-h/c)+d;else{var A=1/T;y=(k*=A)*(c*k+u*(M*=A)+2*h)+M*(u*k+f*M+2*p)+d}else k<0?(b=f+p)>(x=u+h)?(_=b-x)>=(w=c-2*u+f)?(k=1,M=0,y=c+2*h+d):y=(k=_/w)*(c*k+u*(M=1-k)+2*h)+M*(u*k+f*M+2*p)+d:(k=0,b<=0?(M=1,y=f+2*p+d):p>=0?(M=0,y=d):y=p*(M=-p/f)+d):M<0?(b=c+h)>(x=u+p)?(_=b-x)>=(w=c-2*u+f)?(M=1,k=0,y=f+2*p+d):y=(k=1-(M=_/w))*(c*k+u*M+2*h)+M*(u*k+f*M+2*p)+d:(M=0,b<=0?(k=1,y=c+2*h+d):h>=0?(k=0,y=d):y=h*(k=-h/c)+d):(_=f+p-u-h)<=0?(k=0,M=1,y=f+2*p+d):_>=(w=c-2*u+f)?(k=1,M=0,y=c+2*h+d):y=(k=_/w)*(c*k+u*(M=1-k)+2*h)+M*(u*k+f*M+2*p)+d;var S=1-k-M;for(l=0;l<o.length;++l)s[l]=S*t[l]+k*e[l]+M*r[l];return y<0?0:y}},{}],526:[function(t,e,r){var n,i,a=e.exports={};function o(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}function l(t){if(n===setTimeout)return setTimeout(t,0);if((n===o||!n)&&setTimeout)return n=setTimeout,setTimeout(t,0);try{return n(t,0)}catch(e){try{return n.call(null,t,0)}catch(e){return n.call(this,t,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:o}catch(t){n=o}try{i="function"==typeof clearTimeout?clearTimeout:s}catch(t){i=s}}();var c,u=[],f=!1,h=-1;function p(){f&&c&&(f=!1,c.length?u=c.concat(u):h=-1,u.length&&d())}function d(){if(!f){var t=l(p);f=!0;for(var e=u.length;e;){for(c=u,u=[];++h<e;)c&&c[h].run();h=-1,e=u.length}c=null,f=!1,function(t){if(i===clearTimeout)return clearTimeout(t);if((i===s||!i)&&clearTimeout)return i=clearTimeout,clearTimeout(t);try{i(t)}catch(e){try{return i.call(null,t)}catch(e){return i.call(this,t)}}}(t)}}function g(t,e){this.fun=t,this.array=e}function m(){}a.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)e[r-1]=arguments[r];u.push(new g(t,e)),1!==u.length||f||l(d)},g.prototype.run=function(){this.fun.apply(null,this.array)},a.title="browser",a.browser=!0,a.env={},a.argv=[],a.version="",a.versions={},a.on=m,a.addListener=m,a.once=m,a.off=m,a.removeListener=m,a.removeAllListeners=m,a.emit=m,a.prependListener=m,a.prependOnceListener=m,a.listeners=function(t){return[]},a.binding=function(t){throw new Error("process.binding is not supported")},a.cwd=function(){return"/"},a.chdir=function(t){throw new Error("process.chdir is not supported")},a.umask=function(){return 0}},{}],527:[function(t,e,r){e.exports=t("gl-quat/slerp")},{"gl-quat/slerp":325}],528:[function(t,e,r){(function(r){(function(){for(var n=t("performance-now"),i="undefined"==typeof window?r:window,a=["moz","webkit"],o="AnimationFrame",s=i["request"+o],l=i["cancel"+o]||i["cancelRequest"+o],c=0;!s&&c<a.length;c++)s=i[a[c]+"Request"+o],l=i[a[c]+"Cancel"+o]||i[a[c]+"CancelRequest"+o];if(!s||!l){var u=0,f=0,h=[];s=function(t){if(0===h.length){var e=n(),r=Math.max(0,1e3/60-(e-u));u=r+e,setTimeout((function(){var t=h.slice(0);h.length=0;for(var e=0;e<t.length;e++)if(!t[e].cancelled)try{t[e].callback(u)}catch(t){setTimeout((function(){throw t}),0)}}),Math.round(r))}return h.push({handle:++f,callback:t,cancelled:!1}),f},l=function(t){for(var e=0;e<h.length;e++)h[e].handle===t&&(h[e].cancelled=!0)}}e.exports=function(t){return s.call(i,t)},e.exports.cancel=function(){l.apply(i,arguments)},e.exports.polyfill=function(t){t||(t=i),t.requestAnimationFrame=s,t.cancelAnimationFrame=l}}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"performance-now":508}],529:[function(t,e,r){"use strict";var n=t("big-rat/add");e.exports=function(t,e){for(var r=t.length,i=new Array(r),a=0;a<r;++a)i[a]=n(t[a],e[a]);return i}},{"big-rat/add":80}],530:[function(t,e,r){"use strict";e.exports=function(t){for(var e=new Array(t.length),r=0;r<t.length;++r)e[r]=n(t[r]);return e};var n=t("big-rat")},{"big-rat":83}],531:[function(t,e,r){"use strict";var n=t("big-rat"),i=t("big-rat/mul");e.exports=function(t,e){for(var r=n(e),a=t.length,o=new Array(a),s=0;s<a;++s)o[s]=i(t[s],r);return o}},{"big-rat":83,"big-rat/mul":92}],532:[function(t,e,r){"use strict";var n=t("big-rat/sub");e.exports=function(t,e){for(var r=t.length,i=new Array(r),a=0;a<r;++a)i[a]=n(t[a],e[a]);return i}},{"big-rat/sub":94}],533:[function(t,e,r){"use strict";var n=t("compare-cell"),i=t("compare-oriented-cell"),a=t("cell-orientation");e.exports=function(t){t.sort(i);for(var e=t.length,r=0,o=0;o<e;++o){var s=t[o],l=a(s);if(0!==l){if(r>0){var c=t[r-1];if(0===n(s,c)&&a(c)!==l){r-=1;continue}}t[r++]=s}}return t.length=r,t}},{"cell-orientation":117,"compare-cell":133,"compare-oriented-cell":134}],534:[function(t,e,r){"use strict";var n=t("array-bounds"),i=t("color-normalize"),a=t("update-diff"),o=t("pick-by-alias"),s=t("object-assign"),l=t("flatten-vertex-data"),c=t("to-float32"),u=c.float32,f=c.fract32;e.exports=function(t,e){"function"==typeof t?(e||(e={}),e.regl=t):e=t;e.length&&(e.positions=e);if(!(t=e.regl).hasExtension("ANGLE_instanced_arrays"))throw Error("regl-error2d: `ANGLE_instanced_arrays` extension should be enabled");var r,c,p,d,g,m,v=t._gl,y={color:"black",capSize:5,lineWidth:1,opacity:1,viewport:null,range:null,offset:0,count:0,bounds:null,positions:[],errors:[]},x=[];return d=t.buffer({usage:"dynamic",type:"uint8",data:new Uint8Array(0)}),c=t.buffer({usage:"dynamic",type:"float",data:new Uint8Array(0)}),p=t.buffer({usage:"dynamic",type:"float",data:new Uint8Array(0)}),g=t.buffer({usage:"dynamic",type:"float",data:new Uint8Array(0)}),m=t.buffer({usage:"static",type:"float",data:h}),T(e),r=t({vert:"\n\t\tprecision highp float;\n\n\t\tattribute vec2 position, positionFract;\n\t\tattribute vec4 error;\n\t\tattribute vec4 color;\n\n\t\tattribute vec2 direction, lineOffset, capOffset;\n\n\t\tuniform vec4 viewport;\n\t\tuniform float lineWidth, capSize;\n\t\tuniform vec2 scale, scaleFract, translate, translateFract;\n\n\t\tvarying vec4 fragColor;\n\n\t\tvoid main() {\n\t\t\tfragColor = color / 255.;\n\n\t\t\tvec2 pixelOffset = lineWidth * lineOffset + (capSize + lineWidth) * capOffset;\n\n\t\t\tvec2 dxy = -step(.5, direction.xy) * error.xz + step(direction.xy, vec2(-.5)) * error.yw;\n\n\t\t\tvec2 position = position + dxy;\n\n\t\t\tvec2 pos = (position + translate) * scale\n\t\t\t\t+ (positionFract + translateFract) * scale\n\t\t\t\t+ (position + translate) * scaleFract\n\t\t\t\t+ (positionFract + translateFract) * scaleFract;\n\n\t\t\tpos += pixelOffset / viewport.zw;\n\n\t\t\tgl_Position = vec4(pos * 2. - 1., 0, 1);\n\t\t}\n\t\t",frag:"\n\t\tprecision highp float;\n\n\t\tvarying vec4 fragColor;\n\n\t\tuniform float opacity;\n\n\t\tvoid main() {\n\t\t\tgl_FragColor = fragColor;\n\t\t\tgl_FragColor.a *= opacity;\n\t\t}\n\t\t",uniforms:{range:t.prop("range"),lineWidth:t.prop("lineWidth"),capSize:t.prop("capSize"),opacity:t.prop("opacity"),scale:t.prop("scale"),translate:t.prop("translate"),scaleFract:t.prop("scaleFract"),translateFract:t.prop("translateFract"),viewport:function(t,e){return[e.viewport.x,e.viewport.y,t.viewportWidth,t.viewportHeight]}},attributes:{color:{buffer:d,offset:function(t,e){return 4*e.offset},divisor:1},position:{buffer:c,offset:function(t,e){return 8*e.offset},divisor:1},positionFract:{buffer:p,offset:function(t,e){return 8*e.offset},divisor:1},error:{buffer:g,offset:function(t,e){return 16*e.offset},divisor:1},direction:{buffer:m,stride:24,offset:0},lineOffset:{buffer:m,stride:24,offset:8},capOffset:{buffer:m,stride:24,offset:16}},primitive:"triangles",blend:{enable:!0,color:[0,0,0,0],equation:{rgb:"add",alpha:"add"},func:{srcRGB:"src alpha",dstRGB:"one minus src alpha",srcAlpha:"one minus dst alpha",dstAlpha:"one"}},depth:{enable:!1},scissor:{enable:!0,box:t.prop("viewport")},viewport:t.prop("viewport"),stencil:!1,instances:t.prop("count"),count:h.length}),s(b,{update:T,draw:_,destroy:k,regl:t,gl:v,canvas:v.canvas,groups:x}),b;function b(t){t?T(t):null===t&&k(),_()}function _(e){if("number"==typeof e)return w(e);e&&!Array.isArray(e)&&(e=[e]),t._refresh(),x.forEach((function(t,r){t&&(e&&(e[r]?t.draw=!0:t.draw=!1),t.draw?w(r):t.draw=!0)}))}function w(t){"number"==typeof t&&(t=x[t]),null!=t&&t&&t.count&&t.color&&t.opacity&&t.positions&&t.positions.length>1&&(t.scaleRatio=[t.scale[0]*t.viewport.width,t.scale[1]*t.viewport.height],r(t),t.after&&t.after(t))}function T(t){if(t){null!=t.length?"number"==typeof t[0]&&(t=[{positions:t}]):Array.isArray(t)||(t=[t]);var e=0,r=0;if(b.groups=x=t.map((function(t,c){var u=x[c];return t?("function"==typeof t?t={after:t}:"number"==typeof t[0]&&(t={positions:t}),t=o(t,{color:"color colors fill",capSize:"capSize cap capsize cap-size",lineWidth:"lineWidth line-width width line thickness",opacity:"opacity alpha",range:"range dataBox",viewport:"viewport viewBox",errors:"errors error",positions:"positions position data points"}),u||(x[c]=u={id:c,scale:null,translate:null,scaleFract:null,translateFract:null,draw:!0},t=s({},y,t)),a(u,t,[{lineWidth:function(t){return.5*+t},capSize:function(t){return.5*+t},opacity:parseFloat,errors:function(t){return t=l(t),r+=t.length,t},positions:function(t,r){return t=l(t,"float64"),r.count=Math.floor(t.length/2),r.bounds=n(t,2),r.offset=e,e+=r.count,t}},{color:function(t,e){var r=e.count;if(t||(t="transparent"),!Array.isArray(t)||"number"==typeof t[0]){var n=t;t=Array(r);for(var a=0;a<r;a++)t[a]=n}if(t.length<r)throw Error("Not enough colors");for(var o=new Uint8Array(4*r),s=0;s<r;s++){var l=i(t[s],"uint8");o.set(l,4*s)}return o},range:function(t,e,r){var n=e.bounds;return t||(t=n),e.scale=[1/(t[2]-t[0]),1/(t[3]-t[1])],e.translate=[-t[0],-t[1]],e.scaleFract=f(e.scale),e.translateFract=f(e.translate),t},viewport:function(t){var e;return Array.isArray(t)?e={x:t[0],y:t[1],width:t[2]-t[0],height:t[3]-t[1]}:t?(e={x:t.x||t.left||0,y:t.y||t.top||0},t.right?e.width=t.right-e.x:e.width=t.w||t.width||0,t.bottom?e.height=t.bottom-e.y:e.height=t.h||t.height||0):e={x:0,y:0,width:v.drawingBufferWidth,height:v.drawingBufferHeight},e}}]),u):u})),e||r){var h=x.reduce((function(t,e,r){return t+(e?e.count:0)}),0),m=new Float64Array(2*h),_=new Uint8Array(4*h),w=new Float32Array(4*h);x.forEach((function(t,e){if(t){var r=t.positions,n=t.count,i=t.offset,a=t.color,o=t.errors;n&&(_.set(a,4*i),w.set(o,4*i),m.set(r,2*i))}})),c(u(m)),p(f(m)),d(_),g(w)}}}function k(){c.destroy(),p.destroy(),d.destroy(),g.destroy(),m.destroy()}};var h=[[1,0,0,1,0,0],[1,0,0,-1,0,0],[-1,0,0,-1,0,0],[-1,0,0,-1,0,0],[-1,0,0,1,0,0],[1,0,0,1,0,0],[1,0,-1,0,0,1],[1,0,-1,0,0,-1],[1,0,1,0,0,-1],[1,0,1,0,0,-1],[1,0,1,0,0,1],[1,0,-1,0,0,1],[-1,0,-1,0,0,1],[-1,0,-1,0,0,-1],[-1,0,1,0,0,-1],[-1,0,1,0,0,-1],[-1,0,1,0,0,1],[-1,0,-1,0,0,1],[0,1,1,0,0,0],[0,1,-1,0,0,0],[0,-1,-1,0,0,0],[0,-1,-1,0,0,0],[0,1,1,0,0,0],[0,-1,1,0,0,0],[0,1,0,-1,1,0],[0,1,0,-1,-1,0],[0,1,0,1,-1,0],[0,1,0,1,1,0],[0,1,0,-1,1,0],[0,1,0,1,-1,0],[0,-1,0,-1,1,0],[0,-1,0,-1,-1,0],[0,-1,0,1,-1,0],[0,-1,0,1,1,0],[0,-1,0,-1,1,0],[0,-1,0,1,-1,0]]},{"array-bounds":70,"color-normalize":125,"flatten-vertex-data":244,"object-assign":499,"pick-by-alias":511,"to-float32":577,"update-diff":599}],535:[function(t,e,r){"use strict";var n=t("color-normalize"),i=t("array-bounds"),a=t("object-assign"),o=t("glslify"),s=t("pick-by-alias"),l=t("flatten-vertex-data"),c=t("earcut"),u=t("array-normalize"),f=t("to-float32"),h=f.float32,p=f.fract32,d=t("es6-weak-map"),g=t("parse-rect");function m(t,e){if(!(this instanceof m))return new m(t,e);if("function"==typeof t?(e||(e={}),e.regl=t):e=t,e.length&&(e.positions=e),!(t=e.regl).hasExtension("ANGLE_instanced_arrays"))throw Error("regl-error2d: `ANGLE_instanced_arrays` extension should be enabled");this.gl=t._gl,this.regl=t,this.passes=[],this.shaders=m.shaders.has(t)?m.shaders.get(t):m.shaders.set(t,m.createShaders(t)).get(t),this.update(e)}e.exports=m,m.dashMult=2,m.maxPatternLength=256,m.precisionThreshold=3e6,m.maxPoints=1e4,m.maxLines=2048,m.shaders=new d,m.createShaders=function(t){var e,r=t.buffer({usage:"static",type:"float",data:[0,1,0,0,1,1,1,0]}),n={primitive:"triangle strip",instances:t.prop("count"),count:4,offset:0,uniforms:{miterMode:function(t,e){return"round"===e.join?2:1},miterLimit:t.prop("miterLimit"),scale:t.prop("scale"),scaleFract:t.prop("scaleFract"),translateFract:t.prop("translateFract"),translate:t.prop("translate"),thickness:t.prop("thickness"),dashPattern:t.prop("dashTexture"),opacity:t.prop("opacity"),pixelRatio:t.context("pixelRatio"),id:t.prop("id"),dashSize:t.prop("dashLength"),viewport:function(t,e){return[e.viewport.x,e.viewport.y,t.viewportWidth,t.viewportHeight]},depth:t.prop("depth")},blend:{enable:!0,color:[0,0,0,0],equation:{rgb:"add",alpha:"add"},func:{srcRGB:"src alpha",dstRGB:"one minus src alpha",srcAlpha:"one minus dst alpha",dstAlpha:"one"}},depth:{enable:function(t,e){return!e.overlay}},stencil:{enable:!1},scissor:{enable:!0,box:t.prop("viewport")},viewport:t.prop("viewport")},i=t(a({vert:o(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec2 aCoord, bCoord, aCoordFract, bCoordFract;\nattribute vec4 color;\nattribute float lineEnd, lineTop;\n\nuniform vec2 scale, scaleFract, translate, translateFract;\nuniform float thickness, pixelRatio, id, depth;\nuniform vec4 viewport;\n\nvarying vec4 fragColor;\nvarying vec2 tangent;\n\nvec2 project(vec2 position, vec2 positionFract, vec2 scale, vec2 scaleFract, vec2 translate, vec2 translateFract) {\n\t// the order is important\n\treturn position * scale + translate\n + positionFract * scale + translateFract\n + position * scaleFract\n + positionFract * scaleFract;\n}\n\nvoid main() {\n\tfloat lineStart = 1. - lineEnd;\n\tfloat lineOffset = lineTop * 2. - 1.;\n\n\tvec2 diff = (bCoord + bCoordFract - aCoord - aCoordFract);\n\ttangent = normalize(diff * scale * viewport.zw);\n\tvec2 normal = vec2(-tangent.y, tangent.x);\n\n\tvec2 position = project(aCoord, aCoordFract, scale, scaleFract, translate, translateFract) * lineStart\n\t\t+ project(bCoord, bCoordFract, scale, scaleFract, translate, translateFract) * lineEnd\n\n\t\t+ thickness * normal * .5 * lineOffset / viewport.zw;\n\n\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\n\n\tfragColor = color / 255.;\n}\n"]),frag:o(["precision highp float;\n#define GLSLIFY 1\n\nuniform sampler2D dashPattern;\n\nuniform float dashSize, 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) / dashSize) * .5 + .25;\n\tfloat dash = texture2D(dashPattern, vec2(t, .5)).r;\n\n\tgl_FragColor = fragColor;\n\tgl_FragColor.a *= alpha * opacity * dash;\n}\n"]),attributes:{lineEnd:{buffer:r,divisor:0,stride:8,offset:0},lineTop:{buffer:r,divisor:0,stride:8,offset:4},aCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:8,divisor:1},bCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:16,divisor:1},aCoordFract:{buffer:t.prop("positionFractBuffer"),stride:8,offset:8,divisor:1},bCoordFract:{buffer:t.prop("positionFractBuffer"),stride:8,offset:16,divisor:1},color:{buffer:t.prop("colorBuffer"),stride:4,offset:0,divisor:1}}},n));try{e=t(a({cull:{enable:!0,face:"back"},vert:o(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec2 aCoord, bCoord, nextCoord, prevCoord;\nattribute vec4 aColor, bColor;\nattribute float lineEnd, lineTop;\n\nuniform vec2 scale, translate;\nuniform float thickness, pixelRatio, id, depth;\nuniform vec4 viewport;\nuniform float miterLimit, miterMode;\n\nvarying vec4 fragColor;\nvarying vec4 startCutoff, endCutoff;\nvarying vec2 tangent;\nvarying vec2 startCoord, endCoord;\nvarying float enableStartMiter, enableEndMiter;\n\nconst float REVERSE_THRESHOLD = -.875;\nconst float MIN_DIFF = 1e-6;\n\n// TODO: possible optimizations: avoid overcalculating all for vertices and calc just one instead\n// TODO: precalculate dot products, normalize things beforehead etc.\n// TODO: refactor to rectangular algorithm\n\nfloat distToLine(vec2 p, vec2 a, vec2 b) {\n\tvec2 diff = b - a;\n\tvec2 perp = normalize(vec2(-diff.y, diff.x));\n\treturn dot(p - a, perp);\n}\n\nbool isNaN( float val ){\n return ( val < 0.0 || 0.0 < val || val == 0.0 ) ? false : true;\n}\n\nvoid main() {\n\tvec2 aCoord = aCoord, bCoord = bCoord, prevCoord = prevCoord, nextCoord = nextCoord;\n\n vec2 adjustedScale;\n adjustedScale.x = (abs(scale.x) < MIN_DIFF) ? MIN_DIFF : scale.x;\n adjustedScale.y = (abs(scale.y) < MIN_DIFF) ? MIN_DIFF : scale.y;\n\n vec2 scaleRatio = adjustedScale * viewport.zw;\n\tvec2 normalWidth = thickness / scaleRatio;\n\n\tfloat lineStart = 1. - lineEnd;\n\tfloat lineBot = 1. - lineTop;\n\n\tfragColor = (lineStart * aColor + lineEnd * bColor) / 255.;\n\n\tif (isNaN(aCoord.x) || isNaN(aCoord.y) || isNaN(bCoord.x) || isNaN(bCoord.y)) return;\n\n\tif (aCoord == prevCoord) prevCoord = aCoord + normalize(bCoord - aCoord);\n\tif (bCoord == nextCoord) nextCoord = bCoord - normalize(bCoord - aCoord);\n\n\tvec2 prevDiff = aCoord - prevCoord;\n\tvec2 currDiff = bCoord - aCoord;\n\tvec2 nextDiff = nextCoord - bCoord;\n\n\tvec2 prevTangent = normalize(prevDiff * scaleRatio);\n\tvec2 currTangent = normalize(currDiff * scaleRatio);\n\tvec2 nextTangent = normalize(nextDiff * scaleRatio);\n\n\tvec2 prevNormal = vec2(-prevTangent.y, prevTangent.x);\n\tvec2 currNormal = vec2(-currTangent.y, currTangent.x);\n\tvec2 nextNormal = vec2(-nextTangent.y, nextTangent.x);\n\n\tvec2 startJoinDirection = normalize(prevTangent - currTangent);\n\tvec2 endJoinDirection = normalize(currTangent - nextTangent);\n\n\t// collapsed/unidirectional segment cases\n\t// FIXME: there should be more elegant solution\n\tvec2 prevTanDiff = abs(prevTangent - currTangent);\n\tvec2 nextTanDiff = abs(nextTangent - currTangent);\n\tif (max(prevTanDiff.x, prevTanDiff.y) < MIN_DIFF) {\n\t\tstartJoinDirection = currNormal;\n\t}\n\tif (max(nextTanDiff.x, nextTanDiff.y) < MIN_DIFF) {\n\t\tendJoinDirection = currNormal;\n\t}\n\tif (aCoord == bCoord) {\n\t\tendJoinDirection = startJoinDirection;\n\t\tcurrNormal = prevNormal;\n\t\tcurrTangent = prevTangent;\n\t}\n\n\ttangent = currTangent;\n\n\t//calculate join shifts relative to normals\n\tfloat startJoinShift = dot(currNormal, startJoinDirection);\n\tfloat endJoinShift = dot(currNormal, endJoinDirection);\n\n\tfloat startMiterRatio = abs(1. / startJoinShift);\n\tfloat endMiterRatio = abs(1. / endJoinShift);\n\n\tvec2 startJoin = startJoinDirection * startMiterRatio;\n\tvec2 endJoin = endJoinDirection * endMiterRatio;\n\n\tvec2 startTopJoin, startBotJoin, endTopJoin, endBotJoin;\n\tstartTopJoin = sign(startJoinShift) * startJoin * .5;\n\tstartBotJoin = -startTopJoin;\n\n\tendTopJoin = sign(endJoinShift) * endJoin * .5;\n\tendBotJoin = -endTopJoin;\n\n\tvec2 aTopCoord = aCoord + normalWidth * startTopJoin;\n\tvec2 bTopCoord = bCoord + normalWidth * endTopJoin;\n\tvec2 aBotCoord = aCoord + normalWidth * startBotJoin;\n\tvec2 bBotCoord = bCoord + normalWidth * endBotJoin;\n\n\t//miter anti-clipping\n\tfloat baClipping = distToLine(bCoord, aCoord, aBotCoord) / dot(normalize(normalWidth * endBotJoin), normalize(normalWidth.yx * vec2(-startBotJoin.y, startBotJoin.x)));\n\tfloat abClipping = distToLine(aCoord, bCoord, bTopCoord) / dot(normalize(normalWidth * startBotJoin), normalize(normalWidth.yx * vec2(-endBotJoin.y, endBotJoin.x)));\n\n\t//prevent close to reverse direction switch\n\tbool prevReverse = dot(currTangent, prevTangent) <= REVERSE_THRESHOLD && abs(dot(currTangent, prevNormal)) * min(length(prevDiff), length(currDiff)) < length(normalWidth * currNormal);\n\tbool nextReverse = dot(currTangent, nextTangent) <= REVERSE_THRESHOLD && abs(dot(currTangent, nextNormal)) * min(length(nextDiff), length(currDiff)) < length(normalWidth * currNormal);\n\n\tif (prevReverse) {\n\t\t//make join rectangular\n\t\tvec2 miterShift = normalWidth * startJoinDirection * miterLimit * .5;\n\t\tfloat normalAdjust = 1. - min(miterLimit / startMiterRatio, 1.);\n\t\taBotCoord = aCoord + miterShift - normalAdjust * normalWidth * currNormal * .5;\n\t\taTopCoord = aCoord + miterShift + normalAdjust * normalWidth * currNormal * .5;\n\t}\n\telse if (!nextReverse && baClipping > 0. && baClipping < length(normalWidth * endBotJoin)) {\n\t\t//handle miter clipping\n\t\tbTopCoord -= normalWidth * endTopJoin;\n\t\tbTopCoord += normalize(endTopJoin * normalWidth) * baClipping;\n\t}\n\n\tif (nextReverse) {\n\t\t//make join rectangular\n\t\tvec2 miterShift = normalWidth * endJoinDirection * miterLimit * .5;\n\t\tfloat normalAdjust = 1. - min(miterLimit / endMiterRatio, 1.);\n\t\tbBotCoord = bCoord + miterShift - normalAdjust * normalWidth * currNormal * .5;\n\t\tbTopCoord = bCoord + miterShift + normalAdjust * normalWidth * currNormal * .5;\n\t}\n\telse if (!prevReverse && abClipping > 0. && abClipping < length(normalWidth * startBotJoin)) {\n\t\t//handle miter clipping\n\t\taBotCoord -= normalWidth * startBotJoin;\n\t\taBotCoord += normalize(startBotJoin * normalWidth) * abClipping;\n\t}\n\n\tvec2 aTopPosition = (aTopCoord) * adjustedScale + translate;\n\tvec2 aBotPosition = (aBotCoord) * adjustedScale + translate;\n\n\tvec2 bTopPosition = (bTopCoord) * adjustedScale + translate;\n\tvec2 bBotPosition = (bBotCoord) * adjustedScale + translate;\n\n\t//position is normalized 0..1 coord on the screen\n\tvec2 position = (aTopPosition * lineTop + aBotPosition * lineBot) * lineStart + (bTopPosition * lineTop + bBotPosition * lineBot) * lineEnd;\n\n\tstartCoord = aCoord * scaleRatio + translate * viewport.zw + viewport.xy;\n\tendCoord = bCoord * scaleRatio + translate * viewport.zw + viewport.xy;\n\n\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\n\n\tenableStartMiter = step(dot(currTangent, prevTangent), .5);\n\tenableEndMiter = step(dot(currTangent, nextTangent), .5);\n\n\t//bevel miter cutoffs\n\tif (miterMode == 1.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tvec2 startMiterWidth = vec2(startJoinDirection) * thickness * miterLimit * .5;\n\t\t\tstartCutoff = vec4(aCoord, aCoord);\n\t\t\tstartCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio;\n\t\t\tstartCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tstartCutoff += viewport.xyxy;\n\t\t\tstartCutoff += startMiterWidth.xyxy;\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tvec2 endMiterWidth = vec2(endJoinDirection) * thickness * miterLimit * .5;\n\t\t\tendCutoff = vec4(bCoord, bCoord);\n\t\t\tendCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x) / scaleRatio;\n\t\t\tendCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tendCutoff += viewport.xyxy;\n\t\t\tendCutoff += endMiterWidth.xyxy;\n\t\t}\n\t}\n\n\t//round miter cutoffs\n\telse if (miterMode == 2.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tvec2 startMiterWidth = vec2(startJoinDirection) * thickness * abs(dot(startJoinDirection, currNormal)) * .5;\n\t\t\tstartCutoff = vec4(aCoord, aCoord);\n\t\t\tstartCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio;\n\t\t\tstartCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tstartCutoff += viewport.xyxy;\n\t\t\tstartCutoff += startMiterWidth.xyxy;\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tvec2 endMiterWidth = vec2(endJoinDirection) * thickness * abs(dot(endJoinDirection, currNormal)) * .5;\n\t\t\tendCutoff = vec4(bCoord, bCoord);\n\t\t\tendCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x) / scaleRatio;\n\t\t\tendCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tendCutoff += viewport.xyxy;\n\t\t\tendCutoff += endMiterWidth.xyxy;\n\t\t}\n\t}\n}\n"]),frag:o(["precision highp float;\n#define GLSLIFY 1\n\nuniform sampler2D dashPattern;\nuniform float dashSize, 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 < -1.) {\n\t\t\t\tdiscard;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\talpha *= min(max(distToStart + 1., 0.), 1.);\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tdistToEnd = distToLine(gl_FragCoord.xy, endCutoff.xy, endCutoff.zw);\n\t\t\tif (distToEnd < -1.) {\n\t\t\t\tdiscard;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\talpha *= min(max(distToEnd + 1., 0.), 1.);\n\t\t}\n\t}\n\n\t// round miter\n\telse if (miterMode == 2.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tdistToStart = distToLine(gl_FragCoord.xy, startCutoff.xy, startCutoff.zw);\n\t\t\tif (distToStart < 0.) {\n\t\t\t\tfloat radius = length(gl_FragCoord.xy - startCoord);\n\n\t\t\t\tif(radius > cutoff + .5) {\n\t\t\t\t\tdiscard;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\talpha -= smoothstep(cutoff - .5, cutoff + .5, radius);\n\t\t\t}\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tdistToEnd = distToLine(gl_FragCoord.xy, endCutoff.xy, endCutoff.zw);\n\t\t\tif (distToEnd < 0.) {\n\t\t\t\tfloat radius = length(gl_FragCoord.xy - endCoord);\n\n\t\t\t\tif(radius > cutoff + .5) {\n\t\t\t\t\tdiscard;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\talpha -= smoothstep(cutoff - .5, cutoff + .5, radius);\n\t\t\t}\n\t\t}\n\t}\n\n\tfloat t = fract(dot(tangent, gl_FragCoord.xy) / dashSize) * .5 + .25;\n\tfloat dash = texture2D(dashPattern, vec2(t, .5)).r;\n\n\tgl_FragColor = fragColor;\n\tgl_FragColor.a *= alpha * opacity * dash;\n}\n"]),attributes:{lineEnd:{buffer:r,divisor:0,stride:8,offset:0},lineTop:{buffer:r,divisor:0,stride:8,offset:4},aColor:{buffer:t.prop("colorBuffer"),stride:4,offset:0,divisor:1},bColor:{buffer:t.prop("colorBuffer"),stride:4,offset:4,divisor:1},prevCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:0,divisor:1},aCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:8,divisor:1},bCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:16,divisor:1},nextCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:24,divisor:1}}},n))}catch(t){e=i}return{fill:t({primitive:"triangle",elements:function(t,e){return e.triangles},offset:0,vert:o(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec2 position, positionFract;\n\nuniform vec4 color;\nuniform vec2 scale, scaleFract, translate, translateFract;\nuniform float pixelRatio, id;\nuniform vec4 viewport;\nuniform float opacity;\n\nvarying vec4 fragColor;\n\nconst float MAX_LINES = 256.;\n\nvoid main() {\n\tfloat depth = (MAX_LINES - 4. - id) / (MAX_LINES);\n\n\tvec2 position = position * scale + translate\n + positionFract * scale + translateFract\n + position * scaleFract\n + positionFract * scaleFract;\n\n\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\n\n\tfragColor = color / 255.;\n\tfragColor.a *= opacity;\n}\n"]),frag:o(["precision highp float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor;\n\nvoid main() {\n\tgl_FragColor = fragColor;\n}\n"]),uniforms:{scale:t.prop("scale"),color:t.prop("fill"),scaleFract:t.prop("scaleFract"),translateFract:t.prop("translateFract"),translate:t.prop("translate"),opacity:t.prop("opacity"),pixelRatio:t.context("pixelRatio"),id:t.prop("id"),viewport:function(t,e){return[e.viewport.x,e.viewport.y,t.viewportWidth,t.viewportHeight]}},attributes:{position:{buffer:t.prop("positionBuffer"),stride:8,offset:8},positionFract:{buffer:t.prop("positionFractBuffer"),stride:8,offset:8}},blend:n.blend,depth:{enable:!1},scissor:n.scissor,stencil:n.stencil,viewport:n.viewport}),rect:i,miter:e}},m.defaults={dashes:null,join:"miter",miterLimit:1,thickness:10,cap:"square",color:"black",opacity:1,overlay:!1,viewport:null,range:null,close:!1,fill:null},m.prototype.render=function(){for(var t,e=[],r=arguments.length;r--;)e[r]=arguments[r];e.length&&(t=this).update.apply(t,e),this.draw()},m.prototype.draw=function(){for(var t=this,e=[],r=arguments.length;r--;)e[r]=arguments[r];return(e.length?e:this.passes).forEach((function(e,r){var n;if(e&&Array.isArray(e))return(n=t).draw.apply(n,e);"number"==typeof e&&(e=t.passes[e]),e&&e.count>1&&e.opacity&&(t.regl._refresh(),e.fill&&e.triangles&&e.triangles.length>2&&t.shaders.fill(e),e.thickness&&(e.scale[0]*e.viewport.width>m.precisionThreshold||e.scale[1]*e.viewport.height>m.precisionThreshold||"rect"===e.join||!e.join&&(e.thickness<=2||e.count>=m.maxPoints)?t.shaders.rect(e):t.shaders.miter(e)))})),this},m.prototype.update=function(t){var e=this;if(t){null!=t.length?"number"==typeof t[0]&&(t=[{positions:t}]):Array.isArray(t)||(t=[t]);var r=this.regl,o=this.gl;if(t.forEach((function(t,f){var d=e.passes[f];if(void 0!==t)if(null!==t){if("number"==typeof t[0]&&(t={positions:t}),t=s(t,{positions:"positions points data coords",thickness:"thickness lineWidth lineWidths line-width linewidth width stroke-width strokewidth strokeWidth",join:"lineJoin linejoin join type mode",miterLimit:"miterlimit miterLimit",dashes:"dash dashes dasharray dash-array dashArray",color:"color colour stroke colors colours stroke-color strokeColor",fill:"fill fill-color fillColor",opacity:"alpha opacity",overlay:"overlay crease overlap intersect",close:"closed close closed-path closePath",range:"range dataBox",viewport:"viewport viewBox",hole:"holes hole hollow"}),d||(e.passes[f]=d={id:f,scale:null,scaleFract:null,translate:null,translateFract:null,count:0,hole:[],depth:0,dashLength:1,dashTexture:r.texture({channels:1,data:new Uint8Array([255]),width:1,height:1,mag:"linear",min:"linear"}),colorBuffer:r.buffer({usage:"dynamic",type:"uint8",data:new Uint8Array}),positionBuffer:r.buffer({usage:"dynamic",type:"float",data:new Uint8Array}),positionFractBuffer:r.buffer({usage:"dynamic",type:"float",data:new Uint8Array})},t=a({},m.defaults,t)),null!=t.thickness&&(d.thickness=parseFloat(t.thickness)),null!=t.opacity&&(d.opacity=parseFloat(t.opacity)),null!=t.miterLimit&&(d.miterLimit=parseFloat(t.miterLimit)),null!=t.overlay&&(d.overlay=!!t.overlay,f<m.maxLines&&(d.depth=2*(m.maxLines-1-f%m.maxLines)/m.maxLines-1)),null!=t.join&&(d.join=t.join),null!=t.hole&&(d.hole=t.hole),null!=t.fill&&(d.fill=t.fill?n(t.fill,"uint8"):null),null!=t.viewport&&(d.viewport=g(t.viewport)),d.viewport||(d.viewport=g([o.drawingBufferWidth,o.drawingBufferHeight])),null!=t.close&&(d.close=t.close),null===t.positions&&(t.positions=[]),t.positions){var v,y;if(t.positions.x&&t.positions.y){var x=t.positions.x,b=t.positions.y;y=d.count=Math.max(x.length,b.length),v=new Float64Array(2*y);for(var _=0;_<y;_++)v[2*_]=x[_],v[2*_+1]=b[_]}else v=l(t.positions,"float64"),y=d.count=Math.floor(v.length/2);var w=d.bounds=i(v,2);if(d.fill){for(var T=[],k={},M=0,A=0,S=0,E=d.count;A<E;A++){var C=v[2*A],L=v[2*A+1];isNaN(C)||isNaN(L)||null==C||null==L?(C=v[2*M],L=v[2*M+1],k[A]=M):M=A,T[S++]=C,T[S++]=L}for(var I=c(T,d.hole||[]),P=0,z=I.length;P<z;P++)null!=k[I[P]]&&(I[P]=k[I[P]]);d.triangles=I}var O=new Float64Array(v);u(O,2,w);var D=new Float64Array(2*y+6);d.close?v[0]===v[2*y-2]&&v[1]===v[2*y-1]?(D[0]=O[2*y-4],D[1]=O[2*y-3]):(D[0]=O[2*y-2],D[1]=O[2*y-1]):(D[0]=O[0],D[1]=O[1]),D.set(O,2),d.close?v[0]===v[2*y-2]&&v[1]===v[2*y-1]?(D[2*y+2]=O[2],D[2*y+3]=O[3],d.count-=1):(D[2*y+2]=O[0],D[2*y+3]=O[1],D[2*y+4]=O[2],D[2*y+5]=O[3]):(D[2*y+2]=O[2*y-2],D[2*y+3]=O[2*y-1],D[2*y+4]=O[2*y-2],D[2*y+5]=O[2*y-1]),d.positionBuffer(h(D)),d.positionFractBuffer(p(D))}if(t.range?d.range=t.range:d.range||(d.range=d.bounds),(t.range||t.positions)&&d.count){var R=d.bounds,F=R[2]-R[0],B=R[3]-R[1],N=d.range[2]-d.range[0],j=d.range[3]-d.range[1];d.scale=[F/N,B/j],d.translate=[-d.range[0]/N+R[0]/N||0,-d.range[1]/j+R[1]/j||0],d.scaleFract=p(d.scale),d.translateFract=p(d.translate)}if(t.dashes){var U,V=0;if(!t.dashes||t.dashes.length<2)V=1,U=new Uint8Array([255,255,255,255,255,255,255,255]);else{V=0;for(var q=0;q<t.dashes.length;++q)V+=t.dashes[q];U=new Uint8Array(V*m.dashMult);for(var H=0,G=255,Y=0;Y<2;Y++)for(var W=0;W<t.dashes.length;++W){for(var X=0,Z=t.dashes[W]*m.dashMult*.5;X<Z;++X)U[H++]=G;G^=255}}d.dashLength=V,d.dashTexture({channels:1,data:U,width:U.length,height:1,mag:"linear",min:"linear"},0,0)}if(t.color){var J=d.count,K=t.color;K||(K="transparent");var Q=new Uint8Array(4*J+4);if(Array.isArray(K)&&"number"!=typeof K[0]){for(var $=0;$<J;$++){var tt=n(K[$],"uint8");Q.set(tt,4*$)}Q.set(n(K[0],"uint8"),4*J)}else for(var et=n(K,"uint8"),rt=0;rt<J+1;rt++)Q.set(et,4*rt);d.colorBuffer({usage:"dynamic",type:"uint8",data:Q})}}else e.passes[f]=null})),t.length<this.passes.length){for(var f=t.length;f<this.passes.length;f++){var d=this.passes[f];d&&(d.colorBuffer.destroy(),d.positionBuffer.destroy(),d.dashTexture.destroy())}this.passes.length=t.length}for(var v=[],y=0;y<this.passes.length;y++)null!==this.passes[y]&&v.push(this.passes[y]);return this.passes=v,this}},m.prototype.destroy=function(){return this.passes.forEach((function(t){t.colorBuffer.destroy(),t.positionBuffer.destroy(),t.dashTexture.destroy()})),this.passes.length=0,this}},{"array-bounds":70,"array-normalize":71,"color-normalize":125,earcut:177,"es6-weak-map":233,"flatten-vertex-data":244,glslify:536,"object-assign":499,"parse-rect":504,"pick-by-alias":511,"to-float32":577}],536:[function(t,e,r){arguments[4][257][0].apply(r,arguments)},{dup:257}],537:[function(t,e,r){"use strict";function n(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(t)))return;var r=[],n=!0,i=!1,a=void 0;try{for(var o,s=t[Symbol.iterator]();!(n=(o=s.next()).done)&&(r.push(o.value),!e||r.length!==e);n=!0);}catch(t){i=!0,a=t}finally{try{n||null==s.return||s.return()}finally{if(i)throw a}}return r}(t,e)||a(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function i(t){return function(t){if(Array.isArray(t))return o(t)}(t)||function(t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(t))return Array.from(t)}(t)||a(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function a(t,e){if(t){if("string"==typeof t)return o(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?o(t,e):void 0}}function o(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}var s=t("color-normalize"),l=t("array-bounds"),c=t("color-id"),u=t("@plotly/point-cluster"),f=t("object-assign"),h=t("glslify"),p=t("pick-by-alias"),d=t("update-diff"),g=t("flatten-vertex-data"),m=t("is-iexplorer"),v=t("to-float32"),y=t("parse-rect"),x=b;function b(t,e){var r=this;if(!(this instanceof b))return new b(t,e);"function"==typeof t?(e||(e={}),e.regl=t):(e=t,t=null),e&&e.length&&(e.positions=e);var n,i=(t=e.regl)._gl,a=[];this.tooManyColors=m,n=t.texture({data:new Uint8Array(1020),width:255,height:1,type:"uint8",format:"rgba",wrapS:"clamp",wrapT:"clamp",mag:"nearest",min:"nearest"}),f(this,{regl:t,gl:i,groups:[],markerCache:[null],markerTextures:[null],palette:a,paletteIds:{},paletteTexture:n,maxColors:255,maxSize:100,canvas:i.canvas}),this.update(e);var o={uniforms:{constPointSize:!!e.constPointSize,pixelRatio:t.context("pixelRatio"),palette:n,paletteSize:function(t,e){return[r.tooManyColors?0:255,n.height]},scale:t.prop("scale"),scaleFract:t.prop("scaleFract"),translate:t.prop("translate"),translateFract:t.prop("translateFract"),opacity:t.prop("opacity"),marker:t.prop("markerTexture")},attributes:{x:function(t,e){return e.xAttr||{buffer:e.positionBuffer,stride:8,offset:0}},y:function(t,e){return e.yAttr||{buffer:e.positionBuffer,stride:8,offset:4}},xFract:function(t,e){return e.xAttr?{constant:[0,0]}:{buffer:e.positionFractBuffer,stride:8,offset:0}},yFract:function(t,e){return e.yAttr?{constant:[0,0]}:{buffer:e.positionFractBuffer,stride:8,offset:4}},size:function(t,e){return e.size.length?{buffer:e.sizeBuffer,stride:2,offset:0}:{constant:[Math.round(255*e.size/r.maxSize)]}},borderSize:function(t,e){return e.borderSize.length?{buffer:e.sizeBuffer,stride:2,offset:1}:{constant:[Math.round(255*e.borderSize/r.maxSize)]}},colorId:function(t,e){return e.color.length?{buffer:e.colorBuffer,stride:r.tooManyColors?8:4,offset:0}:{constant:r.tooManyColors?a.slice(4*e.color,4*e.color+4):[e.color]}},borderColorId:function(t,e){return e.borderColor.length?{buffer:e.colorBuffer,stride:r.tooManyColors?8:4,offset:r.tooManyColors?4:2}:{constant:r.tooManyColors?a.slice(4*e.borderColor,4*e.borderColor+4):[e.borderColor]}},isActive:function(t,e){return!0===e.activation?{constant:[1]}:e.activation?e.activation:{constant:[0]}}},blend:{enable:!0,color:[0,0,0,1],func:{srcRGB:"src alpha",dstRGB:"one minus src alpha",srcAlpha:"one minus dst alpha",dstAlpha:"one"}},scissor:{enable:!0,box:t.prop("viewport")},viewport:t.prop("viewport"),stencil:{enable:!1},depth:{enable:!1},elements:t.prop("elements"),count:t.prop("count"),offset:t.prop("offset"),primitive:"points"},s=f({},o);s.frag=h(["precision highp float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor, fragBorderColor;\nvarying float fragWidth, fragBorderColorLevel, fragColorLevel;\n\nuniform sampler2D marker;\nuniform float 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 < 0.003) discard;\n\n // null-border case\n if (fragBorderColorLevel == fragColorLevel || fragBorderColor.a == 0.) {\n float colorAmt = smoothstep(.5 - delta, .5 + delta, dist);\n gl_FragColor = vec4(fragColor.rgb, colorAmt * fragColor.a * opacity);\n }\n else {\n float borderColorAmt = smoothstep(fragBorderColorLevel - delta, fragBorderColorLevel + delta, dist);\n float colorAmt = smoothstep(fragColorLevel - delta, fragColorLevel + delta, dist);\n\n vec4 color = fragBorderColor;\n color.a *= borderColorAmt;\n color = mix(color, fragColor, colorAmt);\n color.a *= opacity;\n\n gl_FragColor = color;\n }\n\n}\n"]),s.vert=h(["precision highp float;\n#define GLSLIFY 1\n\nattribute float x, y, xFract, yFract;\nattribute float size, borderSize;\nattribute vec4 colorId, borderColorId;\nattribute float isActive;\n\nuniform vec2 scale, scaleFract, translate, translateFract, paletteSize;\nuniform float pixelRatio;\nuniform bool constPointSize;\nuniform sampler2D palette;\n\nconst float maxSize = 100.;\nconst float borderLevel = .5;\n\nvarying vec4 fragColor, fragBorderColor;\nvarying float fragPointSize, fragBorderRadius, fragWidth, fragBorderColorLevel, fragColorLevel;\n\nfloat pointSizeScale = (constPointSize) ? 2. : pixelRatio;\n\nbool isDirect = (paletteSize.x < 1.);\n\nvec4 getColor(vec4 id) {\n return isDirect ? id / 255. : texture2D(palette,\n vec2(\n (id.x + .5) / paletteSize.x,\n (id.y + .5) / paletteSize.y\n )\n );\n}\n\nvoid main() {\n // ignore inactive points\n if (isActive == 0.) return;\n\n vec2 position = vec2(x, y);\n vec2 positionFract = vec2(xFract, yFract);\n\n vec4 color = getColor(colorId);\n vec4 borderColor = getColor(borderColorId);\n\n float size = size * maxSize / 255.;\n float borderSize = borderSize * maxSize / 255.;\n\n gl_PointSize = 2. * size * pointSizeScale;\n fragPointSize = size * pixelRatio;\n\n vec2 pos = (position + translate) * scale\n + (positionFract + translateFract) * scale\n + (position + translate) * scaleFract\n + (positionFract + translateFract) * scaleFract;\n\n gl_Position = vec4(pos * 2. - 1., 0., 1.);\n\n fragColor = color;\n fragBorderColor = borderColor;\n fragWidth = 1. / gl_PointSize;\n\n fragBorderColorLevel = clamp(borderLevel - borderLevel * borderSize / size, 0., 1.);\n fragColorLevel = clamp(borderLevel + (1. - borderLevel) * borderSize / size, 0., 1.);\n}"]),this.drawMarker=t(s);var l=f({},o);l.frag=h(["precision highp float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor, fragBorderColor;\n\nuniform float opacity;\nvarying float fragBorderRadius, fragWidth;\n\nfloat smoothStep(float edge0, float edge1, float x) {\n\tfloat t;\n\tt = clamp((x - edge0) / (edge1 - edge0), 0.0, 1.0);\n\treturn t * t * (3.0 - 2.0 * t);\n}\n\nvoid main() {\n\tfloat radius, alpha = 1.0, delta = fragWidth;\n\n\tradius = length(2.0 * gl_PointCoord.xy - 1.0);\n\n\tif (radius > 1.0 + delta) {\n\t\tdiscard;\n\t}\n\n\talpha -= smoothstep(1.0 - delta, 1.0 + delta, radius);\n\n\tfloat borderRadius = fragBorderRadius;\n\tfloat ratio = smoothstep(borderRadius - delta, borderRadius + delta, radius);\n\tvec4 color = mix(fragColor, fragBorderColor, ratio);\n\tcolor.a *= alpha * opacity;\n\tgl_FragColor = color;\n}\n"]),l.vert=h(["precision highp float;\n#define GLSLIFY 1\n\nattribute float x, y, xFract, yFract;\nattribute float size, borderSize;\nattribute vec4 colorId, borderColorId;\nattribute float isActive;\n\nuniform vec2 scale, scaleFract, translate, translateFract;\nuniform float pixelRatio;\nuniform bool constPointSize;\nuniform sampler2D palette;\nuniform vec2 paletteSize;\n\nconst float maxSize = 100.;\n\nvarying vec4 fragColor, fragBorderColor;\nvarying float fragBorderRadius, fragWidth;\n\nfloat pointSizeScale = (constPointSize) ? 2. : pixelRatio;\n\nbool isDirect = (paletteSize.x < 1.);\n\nvec4 getColor(vec4 id) {\n return isDirect ? id / 255. : texture2D(palette,\n vec2(\n (id.x + .5) / paletteSize.x,\n (id.y + .5) / paletteSize.y\n )\n );\n}\n\nvoid main() {\n // ignore inactive points\n if (isActive == 0.) return;\n\n vec2 position = vec2(x, y);\n vec2 positionFract = vec2(xFract, yFract);\n\n vec4 color = getColor(colorId);\n vec4 borderColor = getColor(borderColorId);\n\n float size = size * maxSize / 255.;\n float borderSize = borderSize * maxSize / 255.;\n\n gl_PointSize = (size + borderSize) * pointSizeScale;\n\n vec2 pos = (position + translate) * scale\n + (positionFract + translateFract) * scale\n + (position + translate) * scaleFract\n + (positionFract + translateFract) * scaleFract;\n\n gl_Position = vec4(pos * 2. - 1., 0., 1.);\n\n fragBorderRadius = 1. - 2. * borderSize / (size + borderSize);\n fragColor = color;\n fragBorderColor = borderColor.a == 0. || borderSize == 0. ? vec4(color.rgb, 0.) : borderColor;\n fragWidth = 1. / gl_PointSize;\n}\n"]),m&&(l.frag=l.frag.replace("smoothstep","smoothStep"),s.frag=s.frag.replace("smoothstep","smoothStep")),this.drawCircle=t(l)}b.defaults={color:"black",borderColor:"transparent",borderSize:0,size:12,opacity:1,marker:void 0,viewport:null,range:null,pixelSize:null,count:0,offset:0,bounds:null,positions:[],snap:1e4},b.prototype.render=function(){return arguments.length&&this.update.apply(this,arguments),this.draw(),this},b.prototype.draw=function(){for(var t=this,e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];var i=this.groups;if(1===r.length&&Array.isArray(r[0])&&(null===r[0][0]||Array.isArray(r[0][0]))&&(r=r[0]),this.regl._refresh(),r.length)for(var a=0;a<r.length;a++)this.drawItem(a,r[a]);else i.forEach((function(e,r){t.drawItem(r)}));return this},b.prototype.drawItem=function(t,e){var r=this.groups,n=r[t];if("number"==typeof e&&(t=e,n=r[e],e=null),n&&n.count&&n.opacity){n.activation[0]&&this.drawCircle(this.getMarkerDrawOptions(0,n,e));for(var a=[],o=1;o<n.activation.length;o++)n.activation[o]&&(!0===n.activation[o]||n.activation[o].data.length)&&a.push.apply(a,i(this.getMarkerDrawOptions(o,n,e)));a.length&&this.drawMarker(a)}},b.prototype.getMarkerDrawOptions=function(t,e,r){var i=e.range,a=e.tree,o=e.viewport,s=e.activation,l=e.selectionBuffer,c=e.count;this.regl;if(!a)return r?[f({},e,{markerTexture:this.markerTextures[t],activation:s[t],count:r.length,elements:r,offset:0})]:[f({},e,{markerTexture:this.markerTextures[t],activation:s[t],offset:0})];var u=[],h=a.range(i,{lod:!0,px:[(i[2]-i[0])/o.width,(i[3]-i[1])/o.height]});if(r){for(var p=s[t].data,d=new Uint8Array(c),g=0;g<r.length;g++){var m=r[g];d[m]=p?p[m]:1}l.subdata(d)}for(var v=h.length;v--;){var y=n(h[v],2),x=y[0],b=y[1];u.push(f({},e,{markerTexture:this.markerTextures[t],activation:r?l:s[t],offset:x,count:b-x}))}return u},b.prototype.update=function(){for(var t=this,e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];if(r.length){1===r.length&&Array.isArray(r[0])&&(r=r[0]);var i=this.groups,a=this.gl,o=this.regl,s=this.maxSize,c=this.maxColors,h=this.palette;this.groups=i=r.map((function(e,r){var n=i[r];if(void 0===e)return n;null===e?e={positions:null}:"function"==typeof e?e={ondraw:e}:"number"==typeof e[0]&&(e={positions:e}),null===(e=p(e,{positions:"positions data points",snap:"snap cluster lod tree",size:"sizes size radius",borderSize:"borderSizes borderSize border-size bordersize borderWidth borderWidths border-width borderwidth stroke-width strokeWidth strokewidth outline",color:"colors color fill fill-color fillColor",borderColor:"borderColors borderColor stroke stroke-color strokeColor",marker:"markers marker shape",range:"range dataBox databox",viewport:"viewport viewPort viewBox viewbox",opacity:"opacity alpha transparency",bounds:"bound bounds boundaries limits",tooManyColors:"tooManyColors palette paletteMode optimizePalette enablePalette"})).positions&&(e.positions=[]),null!=e.tooManyColors&&(t.tooManyColors=e.tooManyColors),n||(i[r]=n={id:r,scale:null,translate:null,scaleFract:null,translateFract:null,activation:[],selectionBuffer:o.buffer({data:new Uint8Array(0),usage:"stream",type:"uint8"}),sizeBuffer:o.buffer({data:new Uint8Array(0),usage:"dynamic",type:"uint8"}),colorBuffer:o.buffer({data:new Uint8Array(0),usage:"dynamic",type:"uint8"}),positionBuffer:o.buffer({data:new Uint8Array(0),usage:"dynamic",type:"float"}),positionFractBuffer:o.buffer({data:new Uint8Array(0),usage:"dynamic",type:"float"})},e=f({},b.defaults,e)),e.positions&&!("marker"in e)&&(e.marker=n.marker,delete n.marker),e.marker&&!("positions"in e)&&(e.positions=n.positions,delete n.positions);var m=0,x=0;if(d(n,e,[{snap:!0,size:function(t,e){return null==t&&(t=b.defaults.size),m+=t&&t.length?1:0,t},borderSize:function(t,e){return null==t&&(t=b.defaults.borderSize),m+=t&&t.length?1:0,t},opacity:parseFloat,color:function(e,r){return null==e&&(e=b.defaults.color),e=t.updateColor(e),x++,e},borderColor:function(e,r){return null==e&&(e=b.defaults.borderColor),e=t.updateColor(e),x++,e},bounds:function(t,e,r){return"range"in r||(r.range=null),t},positions:function(t,e,r){var n=e.snap,i=e.positionBuffer,a=e.positionFractBuffer,s=e.selectionBuffer;if(t.x||t.y)return t.x.length?e.xAttr={buffer:o.buffer(t.x),offset:0,stride:4,count:t.x.length}:e.xAttr={buffer:t.x.buffer,offset:4*t.x.offset||0,stride:4*(t.x.stride||1),count:t.x.count},t.y.length?e.yAttr={buffer:o.buffer(t.y),offset:0,stride:4,count:t.y.length}:e.yAttr={buffer:t.y.buffer,offset:4*t.y.offset||0,stride:4*(t.y.stride||1),count:t.y.count},e.count=Math.max(e.xAttr.count,e.yAttr.count),t;t=g(t,"float64");var c=e.count=Math.floor(t.length/2),f=e.bounds=c?l(t,2):null;if(r.range||e.range||(delete e.range,r.range=f),r.marker||e.marker||(delete e.marker,r.marker=null),n&&(!0===n||c>n)?e.tree=u(t,{bounds:f}):n&&n.length&&(e.tree=n),e.tree){var h={primitive:"points",usage:"static",data:e.tree,type:"uint32"};e.elements?e.elements(h):e.elements=o.elements(h)}return i({data:v.float(t),usage:"dynamic"}),a({data:v.fract(t),usage:"dynamic"}),s({data:new Uint8Array(c),type:"uint8",usage:"stream"}),t}},{marker:function(e,r,n){var i=r.activation;if(i.forEach((function(t){return t&&t.destroy&&t.destroy()})),i.length=0,e&&"number"!=typeof e[0]){for(var a=[],s=0,l=Math.min(e.length,r.count);s<l;s++){var c=t.addMarker(e[s]);a[c]||(a[c]=new Uint8Array(r.count)),a[c][s]=1}for(var u=0;u<a.length;u++)if(a[u]){var f={data:a[u],type:"uint8",usage:"static"};i[u]?i[u](f):i[u]=o.buffer(f),i[u].data=a[u]}}else{i[t.addMarker(e)]=!0}return e},range:function(t,e,r){var n=e.bounds;if(n)return t||(t=n),e.scale=[1/(t[2]-t[0]),1/(t[3]-t[1])],e.translate=[-t[0],-t[1]],e.scaleFract=v.fract(e.scale),e.translateFract=v.fract(e.translate),t},viewport:function(t){return y(t||[a.drawingBufferWidth,a.drawingBufferHeight])}}]),m){var _=n,w=_.count,T=_.size,k=_.borderSize,M=_.sizeBuffer,A=new Uint8Array(2*w);if(T.length||k.length)for(var S=0;S<w;S++)A[2*S]=Math.round(255*(null==T[S]?T:T[S])/s),A[2*S+1]=Math.round(255*(null==k[S]?k:k[S])/s);M({data:A,usage:"dynamic"})}if(x){var E,C=n,L=C.count,I=C.color,P=C.borderColor,z=C.colorBuffer;if(t.tooManyColors){if(I.length||P.length){E=new Uint8Array(8*L);for(var O=0;O<L;O++){var D=I[O];E[8*O]=h[4*D],E[8*O+1]=h[4*D+1],E[8*O+2]=h[4*D+2],E[8*O+3]=h[4*D+3];var R=P[O];E[8*O+4]=h[4*R],E[8*O+5]=h[4*R+1],E[8*O+6]=h[4*R+2],E[8*O+7]=h[4*R+3]}}}else if(I.length||P.length){E=new Uint8Array(4*L+2);for(var F=0;F<L;F++)null!=I[F]&&(E[4*F]=I[F]%c,E[4*F+1]=Math.floor(I[F]/c)),null!=P[F]&&(E[4*F+2]=P[F]%c,E[4*F+3]=Math.floor(P[F]/c))}z({data:E||new Uint8Array(0),type:"uint8",usage:"dynamic"})}return n}))}},b.prototype.addMarker=function(t){var e,r=this.markerTextures,n=this.regl,i=this.markerCache,a=null==t?0:i.indexOf(t);if(a>=0)return a;if(t instanceof Uint8Array||t instanceof Uint8ClampedArray)e=t;else{e=new Uint8Array(t.length);for(var o=0,s=t.length;o<s;o++)e[o]=255*t[o]}var l=Math.floor(Math.sqrt(e.length));return a=r.length,i.push(t),r.push(n.texture({channels:1,data:e,radius:l,mag:"linear",min:"linear"})),a},b.prototype.updateColor=function(t){var e=this.paletteIds,r=this.palette,n=this.maxColors;Array.isArray(t)||(t=[t]);var i=[];if("number"==typeof t[0]){var a=[];if(Array.isArray(t))for(var o=0;o<t.length;o+=4)a.push(t.slice(o,o+4));else for(var l=0;l<t.length;l+=4)a.push(t.subarray(l,l+4));t=a}for(var u=0;u<t.length;u++){var f=t[u];f=s(f,"uint8");var h=c(f,!1);if(null==e[h]){var p=r.length;e[h]=Math.floor(p/4),r[p]=f[0],r[p+1]=f[1],r[p+2]=f[2],r[p+3]=f[3]}i[u]=e[h]}return!this.tooManyColors&&r.length>4*n&&(this.tooManyColors=!0),this.updatePalette(r),1===i.length?i[0]:i},b.prototype.updatePalette=function(t){if(!this.tooManyColors){var e=this.maxColors,r=this.paletteTexture,n=Math.ceil(.25*t.length/e);if(n>1)for(var i=.25*(t=t.slice()).length%e;i<n*e;i++)t.push(0,0,0,0);r.height<n&&r.resize(e,n),r.subimage({width:Math.min(.25*t.length,e),height:n,data:t},0,0)}},b.prototype.destroy=function(){return this.groups.forEach((function(t){t.sizeBuffer.destroy(),t.positionBuffer.destroy(),t.positionFractBuffer.destroy(),t.colorBuffer.destroy(),t.activation.forEach((function(t){return t&&t.destroy&&t.destroy()})),t.selectionBuffer.destroy(),t.elements&&t.elements.destroy()})),this.groups.length=0,this.paletteTexture.destroy(),this.markerTextures.forEach((function(t){return t&&t.destroy&&t.destroy()})),this};var _=t("object-assign");e.exports=function(t,e){var r=new x(t,e),n=r.render.bind(r);return _(n,{render:n,update:r.update.bind(r),draw:r.draw.bind(r),destroy:r.destroy.bind(r),regl:r.regl,gl:r.gl,canvas:r.gl.canvas,groups:r.groups,markers:r.markerCache,palette:r.palette}),n}},{"@plotly/point-cluster":57,"array-bounds":70,"color-id":123,"color-normalize":125,"flatten-vertex-data":244,glslify:538,"is-iexplorer":466,"object-assign":499,"parse-rect":504,"pick-by-alias":511,"to-float32":577,"update-diff":599}],538:[function(t,e,r){arguments[4][257][0].apply(r,arguments)},{dup:257}],539:[function(t,e,r){"use strict";var n=t("regl-scatter2d"),i=t("pick-by-alias"),a=t("array-bounds"),o=t("raf"),s=t("array-range"),l=t("parse-rect"),c=t("flatten-vertex-data");function u(t,e){if(!(this instanceof u))return new u(t,e);this.traces=[],this.passes={},this.regl=t,this.scatter=n(t),this.canvas=this.scatter.canvas}function f(t,e,r){return(null!=t.id?t.id:t)<<16|(255&e)<<8|255&r}function h(t,e,r){var n,i,a,o,s=t[e],l=t[r];return s.length>2?(s[0],s[2],n=s[1],i=s[3]):s.length?(n=s[0],i=s[1]):(s.x,n=s.y,s.x+s.width,i=s.y+s.height),l.length>2?(a=l[0],o=l[2],l[1],l[3]):l.length?(a=l[0],o=l[1]):(a=l.x,l.y,o=l.x+l.width,l.y+l.height),[a,n,o,i]}function p(t){if("number"==typeof t)return[t,t,t,t];if(2===t.length)return[t[0],t[1],t[0],t[1]];var e=l(t);return[e.x,e.y,e.x+e.width,e.y+e.height]}e.exports=u,u.prototype.render=function(){for(var t,e=this,r=[],n=arguments.length;n--;)r[n]=arguments[n];return r.length&&(t=this).update.apply(t,r),this.regl.attributes.preserveDrawingBuffer?this.draw():(this.dirty?null==this.planned&&(this.planned=o((function(){e.draw(),e.dirty=!0,e.planned=null}))):(this.draw(),this.dirty=!0,o((function(){e.dirty=!1}))),this)},u.prototype.update=function(){for(var t,e=[],r=arguments.length;r--;)e[r]=arguments[r];if(e.length){for(var n=0;n<e.length;n++)this.updateItem(n,e[n]);this.traces=this.traces.filter(Boolean);for(var i=[],a=0,o=0;o<this.traces.length;o++){for(var s=this.traces[o],l=this.traces[o].passes,c=0;c<l.length;c++)i.push(this.passes[l[c]]);s.passOffset=a,a+=s.passes.length}return(t=this.scatter).update.apply(t,i),this}},u.prototype.updateItem=function(t,e){var r=this.regl;if(null===e)return this.traces[t]=null,this;if(!e)return this;var n,o=i(e,{data:"data items columns rows values dimensions samples x",snap:"snap cluster",size:"sizes size radius",color:"colors color fill fill-color fillColor",opacity:"opacity alpha transparency opaque",borderSize:"borderSizes borderSize border-size bordersize borderWidth borderWidths border-width borderwidth stroke-width strokeWidth strokewidth outline",borderColor:"borderColors borderColor bordercolor stroke stroke-color strokeColor",marker:"markers marker shape",range:"range ranges databox dataBox",viewport:"viewport viewBox viewbox",domain:"domain domains area areas",padding:"pad padding paddings pads margin margins",transpose:"transpose transposed",diagonal:"diagonal diag showDiagonal",upper:"upper up top upperhalf upperHalf showupperhalf showUpper showUpperHalf",lower:"lower low bottom lowerhalf lowerHalf showlowerhalf showLowerHalf showLower"}),s=this.traces[t]||(this.traces[t]={id:t,buffer:r.buffer({usage:"dynamic",type:"float",data:new Uint8Array}),color:"black",marker:null,size:12,borderColor:"transparent",borderSize:1,viewport:l([r._gl.drawingBufferWidth,r._gl.drawingBufferHeight]),padding:[0,0,0,0],opacity:1,diagonal:!0,upper:!0,lower:!0});if(null!=o.color&&(s.color=o.color),null!=o.size&&(s.size=o.size),null!=o.marker&&(s.marker=o.marker),null!=o.borderColor&&(s.borderColor=o.borderColor),null!=o.borderSize&&(s.borderSize=o.borderSize),null!=o.opacity&&(s.opacity=o.opacity),o.viewport&&(s.viewport=l(o.viewport)),null!=o.diagonal&&(s.diagonal=o.diagonal),null!=o.upper&&(s.upper=o.upper),null!=o.lower&&(s.lower=o.lower),o.data){s.buffer(c(o.data)),s.columns=o.data.length,s.count=o.data[0].length,s.bounds=[];for(var u=0;u<s.columns;u++)s.bounds[u]=a(o.data[u],1)}o.range&&(s.range=o.range,n=s.range&&"number"!=typeof s.range[0]),o.domain&&(s.domain=o.domain);var d=!1;null!=o.padding&&(Array.isArray(o.padding)&&o.padding.length===s.columns&&"number"==typeof o.padding[o.padding.length-1]?(s.padding=o.padding.map(p),d=!0):s.padding=p(o.padding));var g=s.columns,m=s.count,v=s.viewport.width,y=s.viewport.height,x=s.viewport.x,b=s.viewport.y,_=v/g,w=y/g;s.passes=[];for(var T=0;T<g;T++)for(var k=0;k<g;k++)if((s.diagonal||k!==T)&&(s.upper||!(T>k))&&(s.lower||!(T<k))){var M=f(s.id,T,k),A=this.passes[M]||(this.passes[M]={});if(o.data&&(o.transpose?A.positions={x:{buffer:s.buffer,offset:k,count:m,stride:g},y:{buffer:s.buffer,offset:T,count:m,stride:g}}:A.positions={x:{buffer:s.buffer,offset:k*m,count:m},y:{buffer:s.buffer,offset:T*m,count:m}},A.bounds=h(s.bounds,T,k)),o.domain||o.viewport||o.data){var S=d?h(s.padding,T,k):s.padding;if(s.domain){var E=h(s.domain,T,k),C=E[0],L=E[1],I=E[2],P=E[3];A.viewport=[x+C*v+S[0],b+L*y+S[1],x+I*v-S[2],b+P*y-S[3]]}else A.viewport=[x+k*_+_*S[0],b+T*w+w*S[1],x+(k+1)*_-_*S[2],b+(T+1)*w-w*S[3]]}o.color&&(A.color=s.color),o.size&&(A.size=s.size),o.marker&&(A.marker=s.marker),o.borderSize&&(A.borderSize=s.borderSize),o.borderColor&&(A.borderColor=s.borderColor),o.opacity&&(A.opacity=s.opacity),o.range&&(A.range=n?h(s.range,T,k):s.range||A.bounds),s.passes.push(M)}return this},u.prototype.draw=function(){for(var t,e=[],r=arguments.length;r--;)e[r]=arguments[r];if(e.length){for(var n=[],i=0;i<e.length;i++)if("number"==typeof e[i]){var a=this.traces[e[i]],o=a.passes,l=a.passOffset;n.push.apply(n,s(l,l+o.length))}else if(e[i].length){var c=e[i],u=this.traces[i],f=u.passes,h=u.passOffset;f=f.map((function(t,e){n[h+e]=c}))}(t=this.scatter).draw.apply(t,n)}else this.scatter.draw();return this},u.prototype.destroy=function(){return this.traces.forEach((function(t){t.buffer&&t.buffer.destroy&&t.buffer.destroy()})),this.traces=null,this.passes=null,this.scatter.destroy(),this}},{"array-bounds":70,"array-range":72,"flatten-vertex-data":244,"parse-rect":504,"pick-by-alias":511,raf:528,"regl-scatter2d":537}],540:[function(t,e,r){!function(t,n){"object"==typeof r&&"undefined"!=typeof e?e.exports=n():t.createREGL=n()}(this,(function(){function t(t,e){this.id=V++,this.type=t,this.data=e}function e(t){return"["+function t(e){if(0===e.length)return[];var r=e.charAt(0),n=e.charAt(e.length-1);if(1<e.length&&r===n&&('"'===r||"'"===r))return['"'+e.substr(1,e.length-2).replace(/\\/g,"\\\\").replace(/"/g,'\\"')+'"'];if(r=/\[(false|true|null|\d+|'[^']*'|"[^"]*")\]/.exec(e))return t(e.substr(0,r.index)).concat(t(r[1])).concat(t(e.substr(r.index+r[0].length)));if(1===(r=e.split(".")).length)return['"'+e.replace(/\\/g,"\\\\").replace(/"/g,'\\"')+'"'];for(e=[],n=0;n<r.length;++n)e=e.concat(t(r[n]));return e}(t).join("][")+"]"}function r(t){return"string"==typeof t?t.split():t}function n(t){return"string"==typeof t?document.querySelector(t):t}function i(t){var e,i,a,o,s=t||{};t={};var l=[],c=[],u="undefined"==typeof window?1:window.devicePixelRatio,f=!1,h=function(t){},p=function(){};if("string"==typeof s?e=document.querySelector(s):"object"==typeof s&&("string"==typeof s.nodeName&&"function"==typeof s.appendChild&&"function"==typeof s.getBoundingClientRect?e=s:"function"==typeof s.drawArrays||"function"==typeof s.drawElements?a=(o=s).canvas:("gl"in s?o=s.gl:"canvas"in s?a=n(s.canvas):"container"in s&&(i=n(s.container)),"attributes"in s&&(t=s.attributes),"extensions"in s&&(l=r(s.extensions)),"optionalExtensions"in s&&(c=r(s.optionalExtensions)),"onDone"in s&&(h=s.onDone),"profile"in s&&(f=!!s.profile),"pixelRatio"in s&&(u=+s.pixelRatio))),e&&("canvas"===e.nodeName.toLowerCase()?a=e:i=e),!o){if(!a){if(!(e=function(t,e,r){function n(){var e=window.innerWidth,n=window.innerHeight;t!==document.body&&(e=(n=t.getBoundingClientRect()).right-n.left,n=n.bottom-n.top),a.width=r*e,a.height=r*n,U(a.style,{width:e+"px",height:n+"px"})}var i,a=document.createElement("canvas");return U(a.style,{border:0,margin:0,padding:0,top:0,left:0}),t.appendChild(a),t===document.body&&(a.style.position="absolute",U(t.style,{margin:0,padding:0})),t!==document.body&&"function"==typeof ResizeObserver?(i=new ResizeObserver((function(){setTimeout(n)}))).observe(t):window.addEventListener("resize",n,!1),n(),{canvas:a,onDestroy:function(){i?i.disconnect():window.removeEventListener("resize",n),t.removeChild(a)}}}(i||document.body,0,u)))return null;a=e.canvas,p=e.onDestroy}void 0===t.premultipliedAlpha&&(t.premultipliedAlpha=!0),o=function(t,e){function r(r){try{return t.getContext(r,e)}catch(t){return null}}return r("webgl")||r("experimental-webgl")||r("webgl-experimental")}(a,t)}return o?{gl:o,canvas:a,container:i,extensions:l,optionalExtensions:c,pixelRatio:u,profile:f,onDone:h,onDestroy:p}:(p(),h("webgl not supported, try upgrading your browser or graphics drivers http://get.webgl.org"),null)}function a(t,e){for(var r=Array(t),n=0;n<t;++n)r[n]=e(n);return r}function o(t){var e,r;return e=(65535<t)<<4,e|=r=(255<(t>>>=e))<<3,(e|=r=(15<(t>>>=r))<<2)|(r=(3<(t>>>=r))<<1)|t>>>r>>1}function s(){function t(t){t:{for(var e=16;268435456>=e;e*=16)if(t<=e){t=e;break t}t=0}return 0<(e=r[o(t)>>2]).length?e.pop():new ArrayBuffer(t)}function e(t){r[o(t.byteLength)>>2].push(t)}var r=a(8,(function(){return[]}));return{alloc:t,free:e,allocType:function(e,r){var n=null;switch(e){case 5120:n=new Int8Array(t(r),0,r);break;case 5121:n=new Uint8Array(t(r),0,r);break;case 5122:n=new Int16Array(t(2*r),0,r);break;case 5123:n=new Uint16Array(t(2*r),0,r);break;case 5124:n=new Int32Array(t(4*r),0,r);break;case 5125:n=new Uint32Array(t(4*r),0,r);break;case 5126:n=new Float32Array(t(4*r),0,r);break;default:return null}return n.length!==r?n.subarray(0,r):n},freeType:function(t){e(t.buffer)}}}function l(t){return!!t&&"object"==typeof t&&Array.isArray(t.shape)&&Array.isArray(t.stride)&&"number"==typeof t.offset&&t.shape.length===t.stride.length&&(Array.isArray(t.data)||X(t.data))}function c(t,e,r,n,i,a){for(var o=0;o<e;++o)for(var s=t[o],l=0;l<r;++l)for(var c=s[l],u=0;u<n;++u)i[a++]=c[u]}function u(t){return 0|K[Object.prototype.toString.call(t)]}function f(t,e){for(var r=0;r<e.length;++r)t[r]=e[r]}function h(t,e,r,n,i,a,o){for(var s=0,l=0;l<r;++l)for(var c=0;c<n;++c)t[s++]=e[i*l+a*c+o]}function p(t,e,r,n){function i(e){this.id=c++,this.buffer=t.createBuffer(),this.type=e,this.usage=35044,this.byteLength=0,this.dimension=1,this.dtype=5121,this.persistentData=null,r.profile&&(this.stats={size:0})}function a(e,r,n){e.byteLength=r.byteLength,t.bufferData(e.type,r,n)}function o(t,e,r,n,i,o){if(t.usage=r,Array.isArray(e)){if(t.dtype=n||5126,0<e.length)if(Array.isArray(e[0])){i=et(e);for(var s=n=1;s<i.length;++s)n*=i[s];t.dimension=n,a(t,e=tt(e,i,t.dtype),r),o?t.persistentData=e:Y.freeType(e)}else"number"==typeof e[0]?(t.dimension=i,f(i=Y.allocType(t.dtype,e.length),e),a(t,i,r),o?t.persistentData=i:Y.freeType(i)):X(e[0])&&(t.dimension=e[0].length,t.dtype=n||u(e[0])||5126,a(t,e=tt(e,[e.length,e[0].length],t.dtype),r),o?t.persistentData=e:Y.freeType(e))}else if(X(e))t.dtype=n||u(e),t.dimension=i,a(t,e,r),o&&(t.persistentData=new Uint8Array(new Uint8Array(e.buffer)));else if(l(e)){i=e.shape;var c=e.stride,p=(s=e.offset,0),d=0,g=0,m=0;1===i.length?(p=i[0],d=1,g=c[0],m=0):2===i.length&&(p=i[0],d=i[1],g=c[0],m=c[1]),t.dtype=n||u(e.data)||5126,t.dimension=d,h(i=Y.allocType(t.dtype,p*d),e.data,p,d,g,m,s),a(t,i,r),o?t.persistentData=i:Y.freeType(i)}else e instanceof ArrayBuffer&&(t.dtype=5121,t.dimension=i,a(t,e,r),o&&(t.persistentData=new Uint8Array(new Uint8Array(e))))}function s(r){e.bufferCount--,n(r),t.deleteBuffer(r.buffer),r.buffer=null,delete p[r.id]}var c=0,p={};i.prototype.bind=function(){t.bindBuffer(this.type,this.buffer)},i.prototype.destroy=function(){s(this)};var d=[];return r.profile&&(e.getTotalBufferSize=function(){var t=0;return Object.keys(p).forEach((function(e){t+=p[e].stats.size})),t}),{create:function(n,a,c,d){function g(e){var n=35044,i=null,a=0,s=0,c=1;return Array.isArray(e)||X(e)||l(e)||e instanceof ArrayBuffer?i=e:"number"==typeof e?a=0|e:e&&("data"in e&&(i=e.data),"usage"in e&&(n=$[e.usage]),"type"in e&&(s=Q[e.type]),"dimension"in e&&(c=0|e.dimension),"length"in e&&(a=0|e.length)),m.bind(),i?o(m,i,n,s,c,d):(a&&t.bufferData(m.type,a,n),m.dtype=s||5121,m.usage=n,m.dimension=c,m.byteLength=a),r.profile&&(m.stats.size=m.byteLength*rt[m.dtype]),g}e.bufferCount++;var m=new i(a);return p[m.id]=m,c||g(n),g._reglType="buffer",g._buffer=m,g.subdata=function(e,r){var n,i=0|(r||0);if(m.bind(),X(e)||e instanceof ArrayBuffer)t.bufferSubData(m.type,i,e);else if(Array.isArray(e)){if(0<e.length)if("number"==typeof e[0]){var a=Y.allocType(m.dtype,e.length);f(a,e),t.bufferSubData(m.type,i,a),Y.freeType(a)}else(Array.isArray(e[0])||X(e[0]))&&(n=et(e),a=tt(e,n,m.dtype),t.bufferSubData(m.type,i,a),Y.freeType(a))}else if(l(e)){n=e.shape;var o=e.stride,s=a=0,c=0,p=0;1===n.length?(a=n[0],s=1,c=o[0],p=0):2===n.length&&(a=n[0],s=n[1],c=o[0],p=o[1]),n=Array.isArray(e.data)?m.dtype:u(e.data),h(n=Y.allocType(n,a*s),e.data,a,s,c,p,e.offset),t.bufferSubData(m.type,i,n),Y.freeType(n)}return g},r.profile&&(g.stats=m.stats),g.destroy=function(){s(m)},g},createStream:function(t,e){var r=d.pop();return r||(r=new i(t)),r.bind(),o(r,e,35040,0,1,!1),r},destroyStream:function(t){d.push(t)},clear:function(){Z(p).forEach(s),d.forEach(s)},getBuffer:function(t){return t&&t._buffer instanceof i?t._buffer:null},restore:function(){Z(p).forEach((function(e){e.buffer=t.createBuffer(),t.bindBuffer(e.type,e.buffer),t.bufferData(e.type,e.persistentData||e.byteLength,e.usage)}))},_initBuffer:o}}function d(t,e,r,n){function i(t){this.id=c++,s[this.id]=this,this.buffer=t,this.primType=4,this.type=this.vertCount=0}function a(n,i,a,o,s,c,u){var f;if(n.buffer.bind(),i?((f=u)||X(i)&&(!l(i)||X(i.data))||(f=e.oes_element_index_uint?5125:5123),r._initBuffer(n.buffer,i,a,f,3)):(t.bufferData(34963,c,a),n.buffer.dtype=f||5121,n.buffer.usage=a,n.buffer.dimension=3,n.buffer.byteLength=c),f=u,!u){switch(n.buffer.dtype){case 5121:case 5120:f=5121;break;case 5123:case 5122:f=5123;break;case 5125:case 5124:f=5125}n.buffer.dtype=f}n.type=f,0>(i=s)&&(i=n.buffer.byteLength,5123===f?i>>=1:5125===f&&(i>>=2)),n.vertCount=i,i=o,0>o&&(i=4,1===(o=n.buffer.dimension)&&(i=0),2===o&&(i=1),3===o&&(i=4)),n.primType=i}function o(t){n.elementsCount--,delete s[t.id],t.buffer.destroy(),t.buffer=null}var s={},c=0,u={uint8:5121,uint16:5123};e.oes_element_index_uint&&(u.uint32=5125),i.prototype.bind=function(){this.buffer.bind()};var f=[];return{create:function(t,e){function s(t){if(t)if("number"==typeof t)c(t),f.primType=4,f.vertCount=0|t,f.type=5121;else{var e=null,r=35044,n=-1,i=-1,o=0,h=0;Array.isArray(t)||X(t)||l(t)?e=t:("data"in t&&(e=t.data),"usage"in t&&(r=$[t.usage]),"primitive"in t&&(n=nt[t.primitive]),"count"in t&&(i=0|t.count),"type"in t&&(h=u[t.type]),"length"in t?o=0|t.length:(o=i,5123===h||5122===h?o*=2:5125!==h&&5124!==h||(o*=4))),a(f,e,r,n,i,o,h)}else c(),f.primType=4,f.vertCount=0,f.type=5121;return s}var c=r.create(null,34963,!0),f=new i(c._buffer);return n.elementsCount++,s(t),s._reglType="elements",s._elements=f,s.subdata=function(t,e){return c.subdata(t,e),s},s.destroy=function(){o(f)},s},createStream:function(t){var e=f.pop();return e||(e=new i(r.create(null,34963,!0,!1)._buffer)),a(e,t,35040,-1,-1,0,0),e},destroyStream:function(t){f.push(t)},getElements:function(t){return"function"==typeof t&&t._elements instanceof i?t._elements:null},clear:function(){Z(s).forEach(o)}}}function g(t){for(var e=Y.allocType(5123,t.length),r=0;r<t.length;++r)if(isNaN(t[r]))e[r]=65535;else if(1/0===t[r])e[r]=31744;else if(-1/0===t[r])e[r]=64512;else{it[0]=t[r];var n=(a=at[0])>>>31<<15,i=(a<<1>>>24)-127,a=a>>13&1023;e[r]=-24>i?n:-14>i?n+(a+1024>>-14-i):15<i?n+31744:n+(i+15<<10)+a}return e}function m(t){return Array.isArray(t)||X(t)}function v(t){return"[object "+t+"]"}function y(t){return Array.isArray(t)&&(0===t.length||"number"==typeof t[0])}function x(t){return!(!Array.isArray(t)||0===t.length||!m(t[0]))}function b(t){return Object.prototype.toString.call(t)}function _(t){if(!t)return!1;var e=b(t);return 0<=gt.indexOf(e)||(y(t)||x(t)||l(t))}function w(t,e){36193===t.type?(t.data=g(e),Y.freeType(e)):t.data=e}function T(t,e,r,n,i,a){if(t="undefined"!=typeof vt[t]?vt[t]:lt[t]*mt[e],a&&(t*=6),i){for(n=0;1<=r;)n+=t*r*r,r/=2;return n}return t*r*n}function k(t,e,r,n,i,a,o){function s(){this.format=this.internalformat=6408,this.type=5121,this.flipY=this.premultiplyAlpha=this.compressed=!1,this.unpackAlignment=1,this.colorSpace=37444,this.channels=this.height=this.width=0}function c(t,e){t.internalformat=e.internalformat,t.format=e.format,t.type=e.type,t.compressed=e.compressed,t.premultiplyAlpha=e.premultiplyAlpha,t.flipY=e.flipY,t.unpackAlignment=e.unpackAlignment,t.colorSpace=e.colorSpace,t.width=e.width,t.height=e.height,t.channels=e.channels}function u(t,e){if("object"==typeof e&&e){"premultiplyAlpha"in e&&(t.premultiplyAlpha=e.premultiplyAlpha),"flipY"in e&&(t.flipY=e.flipY),"alignment"in e&&(t.unpackAlignment=e.alignment),"colorSpace"in e&&(t.colorSpace=q[e.colorSpace]),"type"in e&&(t.type=H[e.type]);var r=t.width,n=t.height,i=t.channels,a=!1;"shape"in e?(r=e.shape[0],n=e.shape[1],3===e.shape.length&&(i=e.shape[2],a=!0)):("radius"in e&&(r=n=e.radius),"width"in e&&(r=e.width),"height"in e&&(n=e.height),"channels"in e&&(i=e.channels,a=!0)),t.width=0|r,t.height=0|n,t.channels=0|i,r=!1,"format"in e&&(r=e.format,n=t.internalformat=G[r],t.format=at[n],r in H&&!("type"in e)&&(t.type=H[r]),r in W&&(t.compressed=!0),r=!0),!a&&r?t.channels=lt[t.format]:a&&!r&&t.channels!==st[t.format]&&(t.format=t.internalformat=st[t.channels])}}function f(e){t.pixelStorei(37440,e.flipY),t.pixelStorei(37441,e.premultiplyAlpha),t.pixelStorei(37443,e.colorSpace),t.pixelStorei(3317,e.unpackAlignment)}function h(){s.call(this),this.yOffset=this.xOffset=0,this.data=null,this.needsFree=!1,this.element=null,this.needsCopy=!1}function p(t,e){var r=null;if(_(e)?r=e:e&&(u(t,e),"x"in e&&(t.xOffset=0|e.x),"y"in e&&(t.yOffset=0|e.y),_(e.data)&&(r=e.data)),e.copy){var n=i.viewportWidth,a=i.viewportHeight;t.width=t.width||n-t.xOffset,t.height=t.height||a-t.yOffset,t.needsCopy=!0}else if(r){if(X(r))t.channels=t.channels||4,t.data=r,"type"in e||5121!==t.type||(t.type=0|K[Object.prototype.toString.call(r)]);else if(y(r)){switch(t.channels=t.channels||4,a=(n=r).length,t.type){case 5121:case 5123:case 5125:case 5126:(a=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(l(r)){n=r.data,Array.isArray(n)||5121!==t.type||(t.type=0|K[Object.prototype.toString.call(n)]);a=r.shape;var o,s,c,f,h=r.stride;3===a.length?(c=a[2],f=h[2]):f=c=1,o=a[0],s=a[1],a=h[0],h=h[1],t.alignment=1,t.width=o,t.height=s,t.channels=c,t.format=t.internalformat=st[c],t.needsFree=!0,o=f,r=r.offset,c=t.width,f=t.height,s=t.channels;for(var p=Y.allocType(36193===t.type?5126:t.type,c*f*s),d=0,v=0;v<f;++v)for(var T=0;T<c;++T)for(var k=0;k<s;++k)p[d++]=n[a*T+h*v+o*k+r];w(t,p)}else if(b(r)===ct||b(r)===ut||b(r)===ft)b(r)===ct||b(r)===ut?t.element=r:t.element=r.canvas,t.width=t.element.width,t.height=t.element.height,t.channels=4;else if(b(r)===ht)t.element=r,t.width=r.width,t.height=r.height,t.channels=4;else if(b(r)===pt)t.element=r,t.width=r.naturalWidth,t.height=r.naturalHeight,t.channels=4;else if(b(r)===dt)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=m(r[0][0])?h||r[0][0].length:h||1,o=J.shape(r),c=1,f=0;f<o.length;++f)c*=o[f];c=Y.allocType(36193===t.type?5126:t.type,c),J.flatten(r,o,"",c),w(t,c),t.alignment=1,t.width=n,t.height=a,t.channels=h,t.format=t.internalformat=st[h],t.needsFree=!0}}else t.width=t.width||1,t.height=t.height||1,t.channels=t.channels||4}function d(e,r,i,a,o){var s=e.element,l=e.data,c=e.internalformat,u=e.format,h=e.type,p=e.width,d=e.height;f(e),s?t.texSubImage2D(r,o,i,a,u,h,s):e.compressed?t.compressedTexSubImage2D(r,o,i,a,c,p,d,l):e.needsCopy?(n(),t.copyTexSubImage2D(r,o,i,a,e.xOffset,e.yOffset,p,d)):t.texSubImage2D(r,o,i,a,p,d,u,h,l)}function v(){return gt.pop()||new h}function k(t){t.needsFree&&Y.freeType(t.data),h.call(t),gt.push(t)}function M(){s.call(this),this.genMipmaps=!1,this.mipmapHint=4352,this.mipmask=0,this.images=Array(16)}function A(t,e,r){var n=t.images[0]=v();t.mipmask=1,n.width=t.width=e,n.height=t.height=r,n.channels=t.channels=4}function S(t,e){var r=null;if(_(e))c(r=t.images[0]=v(),t),p(r,e),t.mipmask=1;else if(u(t,e),Array.isArray(e.mipmap))for(var n=e.mipmap,i=0;i<n.length;++i)c(r=t.images[i]=v(),t),r.width>>=i,r.height>>=i,p(r,n[i]),t.mipmask|=1<<i;else c(r=t.images[0]=v(),t),p(r,e),t.mipmask=1;c(t,t.images[0])}function E(e,r){for(var i=e.images,a=0;a<i.length&&i[a];++a){var o=i[a],s=r,l=a,c=o.element,u=o.data,h=o.internalformat,p=o.format,d=o.type,g=o.width,m=o.height;f(o),c?t.texImage2D(s,l,p,p,d,c):o.compressed?t.compressedTexImage2D(s,l,h,g,m,0,u):o.needsCopy?(n(),t.copyTexImage2D(s,l,p,o.xOffset,o.yOffset,g,m,0)):t.texImage2D(s,l,p,g,m,0,p,d,u||null)}}function C(){var t=mt.pop()||new M;s.call(t);for(var e=t.mipmask=0;16>e;++e)t.images[e]=null;return t}function L(t){for(var e=t.images,r=0;r<e.length;++r)e[r]&&k(e[r]),e[r]=null;mt.push(t)}function I(){this.magFilter=this.minFilter=9728,this.wrapT=this.wrapS=33071,this.anisotropic=1,this.genMipmaps=!1,this.mipmapHint=4352}function P(t,e){"min"in e&&(t.minFilter=V[e.min],0<=ot.indexOf(t.minFilter)&&!("faces"in e)&&(t.genMipmaps=!0)),"mag"in e&&(t.magFilter=j[e.mag]);var r=t.wrapS,n=t.wrapT;if("wrap"in e){var i=e.wrap;"string"==typeof i?r=n=N[i]:Array.isArray(i)&&(r=N[i[0]],n=N[i[1]])}else"wrapS"in e&&(r=N[e.wrapS]),"wrapT"in e&&(n=N[e.wrapT]);if(t.wrapS=r,t.wrapT=n,"anisotropic"in e&&(t.anisotropic=e.anisotropic),"mipmap"in e){switch(r=!1,typeof e.mipmap){case"string":t.mipmapHint=B[e.mipmap],r=t.genMipmaps=!0;break;case"boolean":r=t.genMipmaps=e.mipmap;break;case"object":t.genMipmaps=!1,r=!0}!r||"min"in e||(t.minFilter=9984)}}function z(r,n){t.texParameteri(n,10241,r.minFilter),t.texParameteri(n,10240,r.magFilter),t.texParameteri(n,10242,r.wrapS),t.texParameteri(n,10243,r.wrapT),e.ext_texture_filter_anisotropic&&t.texParameteri(n,34046,r.anisotropic),r.genMipmaps&&(t.hint(33170,r.mipmapHint),t.generateMipmap(n))}function O(e){s.call(this),this.mipmask=0,this.internalformat=6408,this.id=vt++,this.refCount=1,this.target=e,this.texture=t.createTexture(),this.unit=-1,this.bindCount=0,this.texInfo=new I,o.profile&&(this.stats={size:0})}function D(e){t.activeTexture(33984),t.bindTexture(e.target,e.texture)}function R(){var e=bt[0];e?t.bindTexture(e.target,e.texture):t.bindTexture(3553,null)}function F(e){var r=e.texture,n=e.unit,i=e.target;0<=n&&(t.activeTexture(33984+n),t.bindTexture(i,null),bt[n]=null),t.deleteTexture(r),e.texture=null,e.params=null,e.pixels=null,e.refCount=0,delete yt[e.id],a.textureCount--}var B={"don't care":4352,"dont care":4352,nice:4354,fast:4353},N={repeat:10497,clamp:33071,mirror:33648},j={nearest:9728,linear:9729},V=U({mipmap:9987,"nearest mipmap nearest":9984,"linear mipmap nearest":9985,"nearest mipmap linear":9986,"linear mipmap linear":9987},j),q={none:0,browser:37444},H={uint8:5121,rgba4:32819,rgb565:33635,"rgb5 a1":32820},G={alpha:6406,luminance:6409,"luminance alpha":6410,rgb:6407,rgba:6408,rgba4:32854,"rgb5 a1":32855,rgb565:36194},W={};e.ext_srgb&&(G.srgb=35904,G.srgba=35906),e.oes_texture_float&&(H.float32=H.float=5126),e.oes_texture_half_float&&(H.float16=H["half float"]=36193),e.webgl_depth_texture&&(U(G,{depth:6402,"depth stencil":34041}),U(H,{uint16:5123,uint32:5125,"depth stencil":34042})),e.webgl_compressed_texture_s3tc&&U(W,{"rgb s3tc dxt1":33776,"rgba s3tc dxt1":33777,"rgba s3tc dxt3":33778,"rgba s3tc dxt5":33779}),e.webgl_compressed_texture_atc&&U(W,{"rgb atc":35986,"rgba atc explicit alpha":35987,"rgba atc interpolated alpha":34798}),e.webgl_compressed_texture_pvrtc&&U(W,{"rgb pvrtc 4bppv1":35840,"rgb pvrtc 2bppv1":35841,"rgba pvrtc 4bppv1":35842,"rgba pvrtc 2bppv1":35843}),e.webgl_compressed_texture_etc1&&(W["rgb etc1"]=36196);var Q=Array.prototype.slice.call(t.getParameter(34467));Object.keys(W).forEach((function(t){var e=W[t];0<=Q.indexOf(e)&&(G[t]=e)}));var $=Object.keys(G);r.textureFormats=$;var tt=[];Object.keys(G).forEach((function(t){tt[G[t]]=t}));var et=[];Object.keys(H).forEach((function(t){et[H[t]]=t}));var rt=[];Object.keys(j).forEach((function(t){rt[j[t]]=t}));var nt=[];Object.keys(V).forEach((function(t){nt[V[t]]=t}));var it=[];Object.keys(N).forEach((function(t){it[N[t]]=t}));var at=$.reduce((function(t,r){var n=G[r];return 6409===n||6406===n||6409===n||6410===n||6402===n||34041===n||e.ext_srgb&&(35904===n||35906===n)?t[n]=n:32855===n||0<=r.indexOf("rgba")?t[n]=6408:t[n]=6407,t}),{}),gt=[],mt=[],vt=0,yt={},xt=r.maxTextureUnits,bt=Array(xt).map((function(){return null}));return U(O.prototype,{bind:function(){this.bindCount+=1;var e=this.unit;if(0>e){for(var r=0;r<xt;++r){var n=bt[r];if(n){if(0<n.bindCount)continue;n.unit=-1}bt[r]=this,e=r;break}o.profile&&a.maxTextureUnits<e+1&&(a.maxTextureUnits=e+1),this.unit=e,t.activeTexture(33984+e),t.bindTexture(this.target,this.texture)}return e},unbind:function(){--this.bindCount},decRef:function(){0>=--this.refCount&&F(this)}}),o.profile&&(a.getTotalTextureSize=function(){var t=0;return Object.keys(yt).forEach((function(e){t+=yt[e].stats.size})),t}),{create2D:function(e,r){function n(t,e){var r=i.texInfo;I.call(r);var a=C();return"number"==typeof t?A(a,0|t,"number"==typeof e?0|e:0|t):t?(P(r,t),S(a,t)):A(a,1,1),r.genMipmaps&&(a.mipmask=(a.width<<1)-1),i.mipmask=a.mipmask,c(i,a),i.internalformat=a.internalformat,n.width=a.width,n.height=a.height,D(i),E(a,3553),z(r,3553),R(),L(a),o.profile&&(i.stats.size=T(i.internalformat,i.type,a.width,a.height,r.genMipmaps,!1)),n.format=tt[i.internalformat],n.type=et[i.type],n.mag=rt[r.magFilter],n.min=nt[r.minFilter],n.wrapS=it[r.wrapS],n.wrapT=it[r.wrapT],n}var i=new O(3553);return yt[i.id]=i,a.textureCount++,n(e,r),n.subimage=function(t,e,r,a){e|=0,r|=0,a|=0;var o=v();return c(o,i),o.width=0,o.height=0,p(o,t),o.width=o.width||(i.width>>a)-e,o.height=o.height||(i.height>>a)-r,D(i),d(o,3553,e,r,a),R(),k(o),n},n.resize=function(e,r){var a=0|e,s=0|r||a;if(a===i.width&&s===i.height)return n;n.width=i.width=a,n.height=i.height=s,D(i);for(var l=0;i.mipmask>>l;++l){var c=a>>l,u=s>>l;if(!c||!u)break;t.texImage2D(3553,l,i.format,c,u,0,i.format,i.type,null)}return R(),o.profile&&(i.stats.size=T(i.internalformat,i.type,a,s,!1,!1)),n},n._reglType="texture2d",n._texture=i,o.profile&&(n.stats=i.stats),n.destroy=function(){i.decRef()},n},createCube:function(e,r,n,i,s,l){function f(t,e,r,n,i,a){var s,l=h.texInfo;for(I.call(l),s=0;6>s;++s)g[s]=C();if("number"!=typeof t&&t){if("object"==typeof t)if(e)S(g[0],t),S(g[1],e),S(g[2],r),S(g[3],n),S(g[4],i),S(g[5],a);else if(P(l,t),u(h,t),"faces"in t)for(t=t.faces,s=0;6>s;++s)c(g[s],h),S(g[s],t[s]);else for(s=0;6>s;++s)S(g[s],t)}else for(t=0|t||1,s=0;6>s;++s)A(g[s],t,t);for(c(h,g[0]),h.mipmask=l.genMipmaps?(g[0].width<<1)-1:g[0].mipmask,h.internalformat=g[0].internalformat,f.width=g[0].width,f.height=g[0].height,D(h),s=0;6>s;++s)E(g[s],34069+s);for(z(l,34067),R(),o.profile&&(h.stats.size=T(h.internalformat,h.type,f.width,f.height,l.genMipmaps,!0)),f.format=tt[h.internalformat],f.type=et[h.type],f.mag=rt[l.magFilter],f.min=nt[l.minFilter],f.wrapS=it[l.wrapS],f.wrapT=it[l.wrapT],s=0;6>s;++s)L(g[s]);return f}var h=new O(34067);yt[h.id]=h,a.cubeCount++;var g=Array(6);return f(e,r,n,i,s,l),f.subimage=function(t,e,r,n,i){r|=0,n|=0,i|=0;var a=v();return c(a,h),a.width=0,a.height=0,p(a,e),a.width=a.width||(h.width>>i)-r,a.height=a.height||(h.height>>i)-n,D(h),d(a,34069+t,r,n,i),R(),k(a),f},f.resize=function(e){if((e|=0)!==h.width){f.width=h.width=e,f.height=h.height=e,D(h);for(var r=0;6>r;++r)for(var n=0;h.mipmask>>n;++n)t.texImage2D(34069+r,n,h.format,e>>n,e>>n,0,h.format,h.type,null);return R(),o.profile&&(h.stats.size=T(h.internalformat,h.type,f.width,f.height,!1,!0)),f}},f._reglType="textureCube",f._texture=h,o.profile&&(f.stats=h.stats),f.destroy=function(){h.decRef()},f},clear:function(){for(var e=0;e<xt;++e)t.activeTexture(33984+e),t.bindTexture(3553,null),bt[e]=null;Z(yt).forEach(F),a.cubeCount=0,a.textureCount=0},getTexture:function(t){return null},restore:function(){for(var e=0;e<xt;++e){var r=bt[e];r&&(r.bindCount=0,r.unit=-1,bt[e]=null)}Z(yt).forEach((function(e){e.texture=t.createTexture(),t.bindTexture(e.target,e.texture);for(var r=0;32>r;++r)if(0!=(e.mipmask&1<<r))if(3553===e.target)t.texImage2D(3553,r,e.internalformat,e.width>>r,e.height>>r,0,e.internalformat,e.type,null);else for(var n=0;6>n;++n)t.texImage2D(34069+n,r,e.internalformat,e.width>>r,e.height>>r,0,e.internalformat,e.type,null);z(e.texInfo,e.target)}))}}}function M(t,e,r,n,i,a){function o(t,e,r){this.target=t,this.texture=e,this.renderbuffer=r;var n=t=0;e?(t=e.width,n=e.height):r&&(t=r.width,n=r.height),this.width=t,this.height=n}function s(t){t&&(t.texture&&t.texture._texture.decRef(),t.renderbuffer&&t.renderbuffer._renderbuffer.decRef())}function l(t,e,r){t&&(t.texture?t.texture._texture.refCount+=1:t.renderbuffer._renderbuffer.refCount+=1)}function c(e,r){r&&(r.texture?t.framebufferTexture2D(36160,e,r.target,r.texture._texture.texture,0):t.framebufferRenderbuffer(36160,e,36161,r.renderbuffer._renderbuffer.renderbuffer))}function u(t){var e=3553,r=null,n=null,i=t;return"object"==typeof t&&(i=t.data,"target"in t&&(e=0|t.target)),"texture2d"===(t=i._reglType)||"textureCube"===t?r=i:"renderbuffer"===t&&(n=i,e=36161),new o(e,r,n)}function f(t,e,r,a,s){return r?((t=n.create2D({width:t,height:e,format:a,type:s}))._texture.refCount=0,new o(3553,t,null)):((t=i.create({width:t,height:e,format:a}))._renderbuffer.refCount=0,new o(36161,null,t))}function h(t){return t&&(t.texture||t.renderbuffer)}function p(t,e,r){t&&(t.texture?t.texture.resize(e,r):t.renderbuffer&&t.renderbuffer.resize(e,r),t.width=e,t.height=r)}function d(){this.id=T++,k[this.id]=this,this.framebuffer=t.createFramebuffer(),this.height=this.width=0,this.colorAttachments=[],this.depthStencilAttachment=this.stencilAttachment=this.depthAttachment=null}function g(t){t.colorAttachments.forEach(s),s(t.depthAttachment),s(t.stencilAttachment),s(t.depthStencilAttachment)}function m(e){t.deleteFramebuffer(e.framebuffer),e.framebuffer=null,a.framebufferCount--,delete k[e.id]}function v(e){var n;t.bindFramebuffer(36160,e.framebuffer);var i=e.colorAttachments;for(n=0;n<i.length;++n)c(36064+n,i[n]);for(n=i.length;n<r.maxColorAttachments;++n)t.framebufferTexture2D(36160,36064+n,3553,null,0);t.framebufferTexture2D(36160,33306,3553,null,0),t.framebufferTexture2D(36160,36096,3553,null,0),t.framebufferTexture2D(36160,36128,3553,null,0),c(36096,e.depthAttachment),c(36128,e.stencilAttachment),c(33306,e.depthStencilAttachment),t.checkFramebufferStatus(36160),t.isContextLost(),t.bindFramebuffer(36160,x.next?x.next.framebuffer:null),x.cur=x.next,t.getError()}function y(t,e){function r(t,e){var i,a=0,o=0,s=!0,c=!0;i=null;var p=!0,d="rgba",m="uint8",y=1,x=null,w=null,T=null,k=!1;"number"==typeof t?(a=0|t,o=0|e||a):t?("shape"in t?(a=(o=t.shape)[0],o=o[1]):("radius"in t&&(a=o=t.radius),"width"in t&&(a=t.width),"height"in t&&(o=t.height)),("color"in t||"colors"in t)&&(i=t.color||t.colors,Array.isArray(i)),i||("colorCount"in t&&(y=0|t.colorCount),"colorTexture"in t&&(p=!!t.colorTexture,d="rgba4"),"colorType"in t&&(m=t.colorType,!p)&&("half float"===m||"float16"===m?d="rgba16f":"float"!==m&&"float32"!==m||(d="rgba32f")),"colorFormat"in t&&(d=t.colorFormat,0<=b.indexOf(d)?p=!0:0<=_.indexOf(d)&&(p=!1))),("depthTexture"in t||"depthStencilTexture"in t)&&(k=!(!t.depthTexture&&!t.depthStencilTexture)),"depth"in t&&("boolean"==typeof t.depth?s=t.depth:(x=t.depth,c=!1)),"stencil"in t&&("boolean"==typeof t.stencil?c=t.stencil:(w=t.stencil,s=!1)),"depthStencil"in t&&("boolean"==typeof t.depthStencil?s=c=t.depthStencil:(T=t.depthStencil,c=s=!1))):a=o=1;var M=null,A=null,S=null,E=null;if(Array.isArray(i))M=i.map(u);else if(i)M=[u(i)];else for(M=Array(y),i=0;i<y;++i)M[i]=f(a,o,p,d,m);for(a=a||M[0].width,o=o||M[0].height,x?A=u(x):s&&!c&&(A=f(a,o,k,"depth","uint32")),w?S=u(w):c&&!s&&(S=f(a,o,!1,"stencil","uint8")),T?E=u(T):!x&&!w&&c&&s&&(E=f(a,o,k,"depth stencil","depth stencil")),s=null,i=0;i<M.length;++i)l(M[i]),M[i]&&M[i].texture&&(c=bt[M[i].texture._texture.format]*_t[M[i].texture._texture.type],null===s&&(s=c));return l(A),l(S),l(E),g(n),n.width=a,n.height=o,n.colorAttachments=M,n.depthAttachment=A,n.stencilAttachment=S,n.depthStencilAttachment=E,r.color=M.map(h),r.depth=h(A),r.stencil=h(S),r.depthStencil=h(E),r.width=n.width,r.height=n.height,v(n),r}var n=new d;return a.framebufferCount++,r(t,e),U(r,{resize:function(t,e){var i=Math.max(0|t,1),a=Math.max(0|e||i,1);if(i===n.width&&a===n.height)return r;for(var o=n.colorAttachments,s=0;s<o.length;++s)p(o[s],i,a);return p(n.depthAttachment,i,a),p(n.stencilAttachment,i,a),p(n.depthStencilAttachment,i,a),n.width=r.width=i,n.height=r.height=a,v(n),r},_reglType:"framebuffer",_framebuffer:n,destroy:function(){m(n),g(n)},use:function(t){x.setFBO({framebuffer:r},t)}})}var x={cur:null,next:null,dirty:!1,setFBO:null},b=["rgba"],_=["rgba4","rgb565","rgb5 a1"];e.ext_srgb&&_.push("srgba"),e.ext_color_buffer_half_float&&_.push("rgba16f","rgb16f"),e.webgl_color_buffer_float&&_.push("rgba32f");var w=["uint8"];e.oes_texture_half_float&&w.push("half float","float16"),e.oes_texture_float&&w.push("float","float32");var T=0,k={};return U(x,{getFramebuffer:function(t){return"function"==typeof t&&"framebuffer"===t._reglType&&(t=t._framebuffer)instanceof d?t:null},create:y,createCube:function(t){function e(t){var i,a={color:null},o=0,s=null;i="rgba";var l="uint8",c=1;if("number"==typeof t?o=0|t:t?("shape"in t?o=t.shape[0]:("radius"in t&&(o=0|t.radius),"width"in t?o=0|t.width:"height"in t&&(o=0|t.height)),("color"in t||"colors"in t)&&(s=t.color||t.colors,Array.isArray(s)),s||("colorCount"in t&&(c=0|t.colorCount),"colorType"in t&&(l=t.colorType),"colorFormat"in t&&(i=t.colorFormat)),"depth"in t&&(a.depth=t.depth),"stencil"in t&&(a.stencil=t.stencil),"depthStencil"in t&&(a.depthStencil=t.depthStencil)):o=1,s)if(Array.isArray(s))for(t=[],i=0;i<s.length;++i)t[i]=s[i];else t=[s];else for(t=Array(c),s={radius:o,format:i,type:l},i=0;i<c;++i)t[i]=n.createCube(s);for(a.color=Array(t.length),i=0;i<t.length;++i)c=t[i],o=o||c.width,a.color[i]={target:34069,data:t[i]};for(i=0;6>i;++i){for(c=0;c<t.length;++c)a.color[c].target=34069+i;0<i&&(a.depth=r[0].depth,a.stencil=r[0].stencil,a.depthStencil=r[0].depthStencil),r[i]?r[i](a):r[i]=y(a)}return U(e,{width:o,height:o,color:t})}var r=Array(6);return e(t),U(e,{faces:r,resize:function(t){var n=0|t;if(n===e.width)return e;var i=e.color;for(t=0;t<i.length;++t)i[t].resize(n);for(t=0;6>t;++t)r[t].resize(n);return e.width=e.height=n,e},_reglType:"framebufferCube",destroy:function(){r.forEach((function(t){t.destroy()}))}})},clear:function(){Z(k).forEach(m)},restore:function(){x.cur=null,x.next=null,x.dirty=!0,Z(k).forEach((function(e){e.framebuffer=t.createFramebuffer(),v(e)}))}})}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 S(t,e,r,n,i){function a(){this.id=++c,this.attributes=[];var t=e.oes_vertex_array_object;this.vao=t?t.createVertexArrayOES():null,u[this.id]=this,this.buffers=[]}var o=r.maxAttributes,s=Array(o);for(r=0;r<o;++r)s[r]=new A;var c=0,u={},f={Record:A,scope:{},state:s,currentVAO:null,targetVAO:null,restore:e.oes_vertex_array_object?function(){e.oes_vertex_array_object&&Z(u).forEach((function(t){t.refresh()}))}:function(){},createVAO:function(t){function e(t){for(var n=0;n<r.buffers.length;++n)r.buffers[n].destroy();r.buffers.length=0,(n=r.attributes).length=t.length;for(var a=0;a<t.length;++a){var o=t[a],s=n[a]=new A;Array.isArray(o)||X(o)||l(o)?(o=i.create(o,34962,!1,!0),s.buffer=i.getBuffer(o),s.size=0|s.buffer.dimension,s.normalized=!1,s.type=s.buffer.dtype,s.offset=0,s.stride=0,s.divisor=0,s.state=1,r.buffers.push(o)):i.getBuffer(o)?(s.buffer=i.getBuffer(o),s.size=0|s.buffer.dimension,s.normalized=!1,s.type=s.buffer.dtype,s.offset=0,s.stride=0,s.divisor=0,s.state=1):i.getBuffer(o.buffer)?(s.buffer=i.getBuffer(o.buffer),s.size=0|(+o.size||s.buffer.dimension),s.normalized=!!o.normalized||!1,s.type="type"in o?Q[o.type]:s.buffer.dtype,s.offset=0|(o.offset||0),s.stride=0|(o.stride||0),s.divisor=0|(o.divisor||0),s.state=1):"x"in o&&(s.x=+o.x||0,s.y=+o.y||0,s.z=+o.z||0,s.w=+o.w||0,s.state=2)}return r.refresh(),e}var r=new a;return n.vaoCount+=1,e.destroy=function(){r.destroy()},e._vao=r,e._reglType="vao",e(t)},getVAO:function(t){return"function"==typeof t&&t._vao?t._vao:null},destroyBuffer:function(e){for(var r=0;r<s.length;++r){var n=s[r];n.buffer===e&&(t.disableVertexAttribArray(r),n.buffer=null)}},setVAO:e.oes_vertex_array_object?function(t){if(t!==f.currentVAO){var r=e.oes_vertex_array_object;t?r.bindVertexArrayOES(t.vao):r.bindVertexArrayOES(null),f.currentVAO=t}}:function(r){if(r!==f.currentVAO){if(r)r.bindAttrs();else for(var n=e.angle_instanced_arrays,i=0;i<s.length;++i){var a=s[i];a.buffer?(t.enableVertexAttribArray(i),t.vertexAttribPointer(i,a.size,a.type,a.normalized,a.stride,a.offfset),n&&n.vertexAttribDivisorANGLE(i,a.divisor)):(t.disableVertexAttribArray(i),t.vertexAttrib4f(i,a.x,a.y,a.z,a.w))}f.currentVAO=r}},clear:e.oes_vertex_array_object?function(){Z(u).forEach((function(t){t.destroy()}))}:function(){}};return a.prototype.bindAttrs=function(){for(var r=e.angle_instanced_arrays,n=this.attributes,i=0;i<n.length;++i){var a=n[i];a.buffer?(t.enableVertexAttribArray(i),t.bindBuffer(34962,a.buffer.buffer),t.vertexAttribPointer(i,a.size,a.type,a.normalized,a.stride,a.offset),r&&r.vertexAttribDivisorANGLE(i,a.divisor)):(t.disableVertexAttribArray(i),t.vertexAttrib4f(i,a.x,a.y,a.z,a.w))}for(r=n.length;r<o;++r)t.disableVertexAttribArray(r)},a.prototype.refresh=function(){var t=e.oes_vertex_array_object;t&&(t.bindVertexArrayOES(this.vao),this.bindAttrs(),f.currentVAO=this)},a.prototype.destroy=function(){if(this.vao){var t=e.oes_vertex_array_object;this===f.currentVAO&&(f.currentVAO=null,t.bindVertexArrayOES(null)),t.deleteVertexArrayOES(this.vao),this.vao=null}u[this.id]&&(delete u[this.id],--n.vaoCount)},f}function E(t,e,r,n){function i(t,e,r,n){this.name=t,this.id=e,this.location=r,this.info=n}function a(t,e){for(var r=0;r<t.length;++r)if(t[r].id===e.id)return void(t[r].location=e.location);t.push(e)}function o(r,n,i){if(!(o=(i=35632===r?c:u)[n])){var a=e.str(n),o=t.createShader(r);t.shaderSource(o,a),t.compileShader(o),i[n]=o}return o}function s(t,e){this.id=p++,this.fragId=t,this.vertId=e,this.program=null,this.uniforms=[],this.attributes=[],n.profile&&(this.stats={uniformsCount:0,attributesCount:0})}function l(r,s,l){var c;c=o(35632,r.fragId);var u=o(35633,r.vertId);if(s=r.program=t.createProgram(),t.attachShader(s,c),t.attachShader(s,u),l)for(c=0;c<l.length;++c)u=l[c],t.bindAttribLocation(s,u[0],u[1]);t.linkProgram(s),u=t.getProgramParameter(s,35718),n.profile&&(r.stats.uniformsCount=u);var f=r.uniforms;for(c=0;c<u;++c)if(l=t.getActiveUniform(s,c))if(1<l.size)for(var h=0;h<l.size;++h){var p=l.name.replace("[0]","["+h+"]");a(f,new i(p,e.id(p),t.getUniformLocation(s,p),l))}else a(f,new i(l.name,e.id(l.name),t.getUniformLocation(s,l.name),l));for(u=t.getProgramParameter(s,35721),n.profile&&(r.stats.attributesCount=u),r=r.attributes,c=0;c<u;++c)(l=t.getActiveAttrib(s,c))&&a(r,new i(l.name,e.id(l.name),t.getAttribLocation(s,l.name),l))}var c={},u={},f={},h=[],p=0;return n.profile&&(r.getMaxUniformsCount=function(){var t=0;return h.forEach((function(e){e.stats.uniformsCount>t&&(t=e.stats.uniformsCount)})),t},r.getMaxAttributesCount=function(){var t=0;return h.forEach((function(e){e.stats.attributesCount>t&&(t=e.stats.attributesCount)})),t}),{clear:function(){var e=t.deleteShader.bind(t);Z(c).forEach(e),c={},Z(u).forEach(e),u={},h.forEach((function(e){t.deleteProgram(e.program)})),h.length=0,f={},r.shaderCount=0},program:function(t,e,n,i){var a=f[e];a||(a=f[e]={});var o=a[t];return o&&!i?o:(e=new s(e,t),r.shaderCount++,l(e,n,i),o||(a[t]=e),h.push(e),e)},restore:function(){c={},u={};for(var t=0;t<h.length;++t)l(h[t],null,h[t].attributes.map((function(t){return[t.location,t.name]})))},shader:o,frag:-1,vert:-1}}function C(t,e,r,n,i,a,o){function s(i){var a;a=null===e.next?5121:e.next.colorAttachments[0].texture._texture.type;var o=0,s=0,l=n.framebufferWidth,c=n.framebufferHeight,u=null;return X(i)?u=i:i&&(o=0|i.x,s=0|i.y,l=0|(i.width||n.framebufferWidth-o),c=0|(i.height||n.framebufferHeight-s),u=i.data||null),r(),i=l*c*4,u||(5121===a?u=new Uint8Array(i):5126===a&&(u=u||new Float32Array(i))),t.pixelStorei(3333,4),t.readPixels(o,s,l,c,6408,a,u),u}return function(t){return t&&"framebuffer"in t?function(t){var r;return e.setFBO({framebuffer:t.framebuffer},(function(){r=s(t)})),r}(t):s(t)}}function L(t){return Array.prototype.slice.call(t)}function I(t){return L(t).join("")}function P(){function t(){var t=[],e=[];return U((function(){t.push.apply(t,L(arguments))}),{def:function(){var n="v"+r++;return e.push(n),0<arguments.length&&(t.push(n,"="),t.push.apply(t,L(arguments)),t.push(";")),n},toString:function(){return I([0<e.length?"var "+e.join(",")+";":"",I(t)])}})}function e(){function e(t,e){n(t,e,"=",r.def(t,e),";")}var r=t(),n=t(),i=r.toString,a=n.toString;return U((function(){r.apply(r,L(arguments))}),{def:r.def,entry:r,exit:n,save:e,set:function(t,n,i){e(t,n),r(t,n,"=",i,";")},toString:function(){return i()+a()}})}var r=0,n=[],i=[],a=t(),o={};return{global:a,link:function(t){for(var e=0;e<i.length;++e)if(i[e]===t)return n[e];return e="g"+r++,n.push(e),i.push(t),e},block:t,proc:function(t,r){function n(){var t="a"+i.length;return i.push(t),t}var i=[];r=r||0;for(var a=0;a<r;++a)n();var s=(a=e()).toString;return o[t]=U(a,{arg:n,toString:function(){return I(["function(",i.join(),"){",s(),"}"])}})},scope:e,cond:function(){var t=I(arguments),r=e(),n=e(),i=r.toString,a=n.toString;return U(r,{then:function(){return r.apply(r,L(arguments)),this},else:function(){return n.apply(n,L(arguments)),this},toString:function(){var e=a();return e&&(e="else{"+e+"}"),I(["if(",t,"){",i(),"}",e])}})},compile:function(){var t=['"use strict";',a,"return {"];Object.keys(o).forEach((function(e){t.push('"',e,'":',o[e].toString(),",")})),t.push("}");var e=I(t).replace(/;/g,";\n").replace(/}/g,"}\n").replace(/{/g,"{\n");return Function.apply(null,n.concat(e)).apply(null,i)}}}function z(t){return Array.isArray(t)||X(t)||l(t)}function O(t){return t.sort((function(t,e){return"viewport"===t?-1:"viewport"===e?1:t<e?-1:1}))}function D(t,e,r,n){this.thisDep=t,this.contextDep=e,this.propDep=r,this.append=n}function R(t){return t&&!(t.thisDep||t.contextDep||t.propDep)}function F(t){return new D(!1,!1,!1,t)}function B(t,e){var r=t.type;return 0===r?new D(!0,1<=(r=t.data.length),2<=r,e):4===r?new D((r=t.data).thisDep,r.contextDep,r.propDep,e):new D(3===r,2===r,1===r,e)}function N(t,e,r,n,i,o,s,l,c,u,f,h,p,d,g){function v(t){return t.replace(".","_")}function y(t,e,r){var n=v(t);rt.push(t),et[n]=tt[n]=!!r,it[n]=e}function x(t,e,r){var n=v(t);rt.push(t),Array.isArray(r)?(tt[n]=r.slice(),et[n]=r.slice()):tt[n]=et[n]=r,at[n]=e}function b(){var t=P(),r=t.link,n=t.global;t.id=lt++,t.batchId="0";var i=r(ot),a=t.shared={props:"a0"};Object.keys(ot).forEach((function(t){a[t]=n.def(i,".",t)}));var o=t.next={},s=t.current={};Object.keys(at).forEach((function(t){Array.isArray(tt[t])&&(o[t]=n.def(a.next,".",t),s[t]=n.def(a.current,".",t))}));var l=t.constants={};Object.keys(st).forEach((function(t){l[t]=n.def(JSON.stringify(st[t]))})),t.invoke=function(e,n){switch(n.type){case 0:var i=["this",a.context,a.props,t.batchId];return e.def(r(n.data),".call(",i.slice(0,Math.max(n.data.length+1,4)),")");case 1:return e.def(a.props,n.data);case 2:return e.def(a.context,n.data);case 3:return e.def("this",n.data);case 4:return n.data.append(t,e),n.data.ref}},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 Z),c[t]=r(n)},t}function _(t,e){var r=t.static,n=t.dynamic;if("framebuffer"in r){var i=r.framebuffer;return i?(i=l.getFramebuffer(i),F((function(t,e){var r=t.link(i),n=t.shared;return e.set(n.framebuffer,".next",r),n=n.context,e.set(n,".framebufferWidth",r+".width"),e.set(n,".framebufferHeight",r+".height"),r}))):F((function(t,e){var r=t.shared;return e.set(r.framebuffer,".next","null"),r=r.context,e.set(r,".framebufferWidth",r+".drawingBufferWidth"),e.set(r,".framebufferHeight",r+".drawingBufferHeight"),"null"}))}if("framebuffer"in n){var a=n.framebuffer;return B(a,(function(t,e){var r=t.invoke(e,a),n=t.shared,i=n.framebuffer;r=e.def(i,".getFramebuffer(",r,")");return e.set(i,".next",r),n=n.context,e.set(n,".framebufferWidth",r+"?"+r+".width:"+n+".drawingBufferWidth"),e.set(n,".framebufferHeight",r+"?"+r+".height:"+n+".drawingBufferHeight"),r}))}return null}function w(t,r,n){function i(t){if(t in a){var r=e.id(a[t]);return(t=F((function(){return r}))).id=r,t}if(t in o){var n=o[t];return B(n,(function(t,e){var r=t.invoke(e,n);return e.def(t.shared.strings,".id(",r,")")}))}return null}var a=t.static,o=t.dynamic,s=i("frag"),l=i("vert"),c=null;return R(s)&&R(l)?(c=f.program(l.id,s.id,null,n),t=F((function(t,e){return t.link(c)}))):t=new D(s&&s.thisDep||l&&l.thisDep,s&&s.contextDep||l&&l.contextDep,s&&s.propDep||l&&l.propDep,(function(t,e){var r,n,i=t.shared.shader;return r=s?s.append(t,e):e.def(i,".","frag"),n=l?l.append(t,e):e.def(i,".","vert"),e.def(i+".program("+n+","+r+")")})),{frag:s,vert:l,progVar:t,program:c}}function T(t,e){function r(t,e){if(t in n){var r=0|n[t];return F((function(t,n){return e&&(t.OFFSET=r),r}))}if(t in i){var o=i[t];return B(o,(function(t,r){var n=t.invoke(r,o);return e&&(t.OFFSET=n),n}))}return e&&a?F((function(t,e){return t.OFFSET="0",0})):null}var n=t.static,i=t.dynamic,a=function(){if("elements"in n){var t=n.elements;z(t)?t=o.getElements(o.create(t,!0)):t&&(t=o.getElements(t));var e=F((function(e,r){if(t){var n=e.link(t);return e.ELEMENTS=n}return e.ELEMENTS=null}));return e.value=t,e}if("elements"in i){var r=i.elements;return B(r,(function(t,e){var n=(i=t.shared).isBufferArgs,i=i.elements,a=t.invoke(e,r),o=e.def("null");n=e.def(n,"(",a,")"),a=t.cond(n).then(o,"=",i,".createStream(",a,");").else(o,"=",i,".getElements(",a,");");return e.entry(a),e.exit(t.cond(n).then(i,".destroyStream(",o,");")),t.ELEMENTS=o}))}return null}(),s=r("offset",!0);return{elements:a,primitive:function(){if("primitive"in n){var t=n.primitive;return F((function(e,r){return nt[t]}))}if("primitive"in i){var e=i.primitive;return B(e,(function(t,r){var n=t.constants.primTypes,i=t.invoke(r,e);return r.def(n,"[",i,"]")}))}return a?R(a)?a.value?F((function(t,e){return e.def(t.ELEMENTS,".primType")})):F((function(){return 4})):new D(a.thisDep,a.contextDep,a.propDep,(function(t,e){var r=t.ELEMENTS;return e.def(r,"?",r,".primType:",4)})):null}(),count:function(){if("count"in n){var t=0|n.count;return F((function(){return t}))}if("count"in i){var e=i.count;return B(e,(function(t,r){return t.invoke(r,e)}))}return a?R(a)?a?s?new D(s.thisDep,s.contextDep,s.propDep,(function(t,e){return e.def(t.ELEMENTS,".vertCount-",t.OFFSET)})):F((function(t,e){return e.def(t.ELEMENTS,".vertCount")})):F((function(){return-1})):new D(a.thisDep||s.thisDep,a.contextDep||s.contextDep,a.propDep||s.propDep,(function(t,e){var r=t.ELEMENTS;return t.OFFSET?e.def(r,"?",r,".vertCount-",t.OFFSET,":-1"):e.def(r,"?",r,".vertCount:-1")})):null}(),instances:r("instances",!1),offset:s}}function k(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 Z;if(z(r))s.state=1,s.buffer=i.getBuffer(i.create(r,34962,!1,!0)),s.type=0;else if(c=i.getBuffer(r))s.state=1,s.buffer=c,s.type=0;else if("constant"in r){var l=r.constant;s.buffer="null",s.state=2,"number"==typeof l?s.x=l:wt.forEach((function(t,e){e<l.length&&(s[t]=l[e])}))}else{var c=z(r.buffer)?i.getBuffer(i.create(r.buffer,34962,!1,!0)):i.getBuffer(r.buffer),u=0|r.offset,f=0|r.stride,h=0|r.size,p=!!r.normalized,d=0;"type"in r&&(d=Q[r.type]),r=0|r.divisor,s.buffer=c,s.state=1,s.size=h,s.normalized=p,s.type=d||c.dtype,s.offset=u,s.stride=f,s.divisor=r}o[t]=F((function(t,e){var r=t.attribCache;if(a in r)return r[a];var n={isStream:!1};return Object.keys(s).forEach((function(t){n[t]=s[t]})),s.buffer&&(n.buffer=t.link(s.buffer),n.type=n.type||n.buffer+".dtype"),r[a]=n}))})),Object.keys(a).forEach((function(t){var e=a[t];o[t]=B(e,(function(t,r){function n(t){r(l[t],"=",i,".",t,"|0;")}var i=t.invoke(r,e),a=t.shared,o=t.constants,s=a.isBufferArgs,l=(a=a.buffer,{isStream:r.def(!1)}),c=new Z;c.state=1,Object.keys(c).forEach((function(t){l[t]=r.def(""+c[t])}));var u=l.buffer,f=l.type;return r("if(",s,"(",i,")){",l.isStream,"=true;",u,"=",a,".createStream(",34962,",",i,");",f,"=",u,".dtype;","}else{",u,"=",a,".getBuffer(",i,");","if(",u,"){",f,"=",u,".dtype;",'}else if("constant" in ',i,"){",l.state,"=",2,";","if(typeof "+i+'.constant === "number"){',l[wt[0]],"=",i,".constant;",wt.slice(1).map((function(t){return l[t]})).join("="),"=0;","}else{",wt.map((function(t,e){return l[t]+"="+i+".constant.length>"+e+"?"+i+".constant["+e+"]:0;"})).join(""),"}}else{","if(",s,"(",i,".buffer)){",u,"=",a,".createStream(",34962,",",i,".buffer);","}else{",u,"=",a,".getBuffer(",i,".buffer);","}",f,'="type" in ',i,"?",o.glTypes,"[",i,".type]:",u,".dtype;",l.normalized,"=!!",i,".normalized;"),n("size"),n("offset"),n("stride"),n("divisor"),r("}}"),r.exit("if(",l.isStream,"){",a,".destroyStream(",u,");","}"),l}))})),o}function M(t,e,n,i,o){function s(t){var e=c[t];e&&(h[t]=e)}var l=function(t,e){if("string"==typeof(r=t.static).frag&&"string"==typeof r.vert){if(0<Object.keys(e.dynamic).length)return null;var r=e.static,n=Object.keys(r);if(0<n.length&&"number"==typeof r[n[0]]){for(var i=[],a=0;a<n.length;++a)i.push([0|r[n[a]],n[a]]);return i}}return null}(t,e),c=function(t,e,r){function n(t){if(t in i){var r=i[t];t=!0;var n,o,s=0|r.x,l=0|r.y;return"width"in r?n=0|r.width:t=!1,"height"in r?o=0|r.height:t=!1,new D(!t&&e&&e.thisDep,!t&&e&&e.contextDep,!t&&e&&e.propDep,(function(t,e){var i=t.shared.context,a=n;"width"in r||(a=e.def(i,".","framebufferWidth","-",s));var c=o;return"height"in r||(c=e.def(i,".","framebufferHeight","-",l)),[s,l,a,c]}))}if(t in a){var c=a[t];return t=B(c,(function(t,e){var r=t.invoke(e,c),n=t.shared.context,i=e.def(r,".x|0"),a=e.def(r,".y|0");return[i,a,e.def('"width" in ',r,"?",r,".width|0:","(",n,".","framebufferWidth","-",i,")"),r=e.def('"height" in ',r,"?",r,".height|0:","(",n,".","framebufferHeight","-",a,")")]})),e&&(t.thisDep=t.thisDep||e.thisDep,t.contextDep=t.contextDep||e.contextDep,t.propDep=t.propDep||e.propDep),t}return e?new D(e.thisDep,e.contextDep,e.propDep,(function(t,e){var r=t.shared.context;return[0,0,e.def(r,".","framebufferWidth"),e.def(r,".","framebufferHeight")]})):null}var i=t.static,a=t.dynamic;if(t=n("viewport")){var o=t;t=new D(t.thisDep,t.contextDep,t.propDep,(function(t,e){var r=o.append(t,e),n=t.shared.context;return e.set(n,".viewportWidth",r[2]),e.set(n,".viewportHeight",r[3]),r}))}return{viewport:t,scissor_box:n("scissor.box")}}(t,d=_(t)),f=T(t),h=function(t,e){var r=t.static,n=t.dynamic,i={};return rt.forEach((function(t){function e(e,a){if(t in r){var s=e(r[t]);i[o]=F((function(){return s}))}else if(t in n){var l=n[t];i[o]=B(l,(function(t,e){return a(t,e,t.invoke(e,l))}))}}var o=v(t);switch(t){case"cull.enable":case"blend.enable":case"dither":case"stencil.enable":case"depth.enable":case"scissor.enable":case"polygonOffset.enable":case"sample.alpha":case"sample.enable":case"depth.mask":return e((function(t){return t}),(function(t,e,r){return r}));case"depth.func":return e((function(t){return Mt[t]}),(function(t,e,r){return e.def(t.constants.compareFuncs,"[",r,"]")}));case"depth.range":return e((function(t){return t}),(function(t,e,r){return[e.def("+",r,"[0]"),e=e.def("+",r,"[1]")]}));case"blend.func":return e((function(t){return[kt["srcRGB"in t?t.srcRGB:t.src],kt["dstRGB"in t?t.dstRGB:t.dst],kt["srcAlpha"in t?t.srcAlpha:t.src],kt["dstAlpha"in t?t.dstAlpha:t.dst]]}),(function(t,e,r){function n(t,n){return e.def('"',t,n,'" in ',r,"?",r,".",t,n,":",r,".",t)}t=t.constants.blendFuncs;var i=n("src","RGB"),a=n("dst","RGB"),o=(i=e.def(t,"[",i,"]"),e.def(t,"[",n("src","Alpha"),"]"));return[i,a=e.def(t,"[",a,"]"),o,t=e.def(t,"[",n("dst","Alpha"),"]")]}));case"blend.equation":return e((function(t){return"string"==typeof t?[J[t],J[t]]:"object"==typeof t?[J[t.rgb],J[t.alpha]]:void 0}),(function(t,e,r){var n=t.constants.blendEquations,i=e.def(),a=e.def();return(t=t.cond("typeof ",r,'==="string"')).then(i,"=",a,"=",n,"[",r,"];"),t.else(i,"=",n,"[",r,".rgb];",a,"=",n,"[",r,".alpha];"),e(t),[i,a]}));case"blend.color":return e((function(t){return a(4,(function(e){return+t[e]}))}),(function(t,e,r){return a(4,(function(t){return e.def("+",r,"[",t,"]")}))}));case"stencil.mask":return e((function(t){return 0|t}),(function(t,e,r){return e.def(r,"|0")}));case"stencil.func":return e((function(t){return[Mt[t.cmp||"keep"],t.ref||0,"mask"in t?t.mask:-1]}),(function(t,e,r){return[t=e.def('"cmp" in ',r,"?",t.constants.compareFuncs,"[",r,".cmp]",":",7680),e.def(r,".ref|0"),e=e.def('"mask" in ',r,"?",r,".mask|0:-1")]}));case"stencil.opFront":case"stencil.opBack":return e((function(e){return["stencil.opBack"===t?1029:1028,At[e.fail||"keep"],At[e.zfail||"keep"],At[e.zpass||"keep"]]}),(function(e,r,n){function i(t){return r.def('"',t,'" in ',n,"?",a,"[",n,".",t,"]:",7680)}var a=e.constants.stencilOps;return["stencil.opBack"===t?1029:1028,i("fail"),i("zfail"),i("zpass")]}));case"polygonOffset.offset":return e((function(t){return[0|t.factor,0|t.units]}),(function(t,e,r){return[e.def(r,".factor|0"),e=e.def(r,".units|0")]}));case"cull.face":return e((function(t){var e=0;return"front"===t?e=1028:"back"===t&&(e=1029),e}),(function(t,e,r){return e.def(r,'==="front"?',1028,":",1029)}));case"lineWidth":return e((function(t){return t}),(function(t,e,r){return r}));case"frontFace":return e((function(t){return St[t]}),(function(t,e,r){return e.def(r+'==="cw"?2304:2305')}));case"colorMask":return e((function(t){return t.map((function(t){return!!t}))}),(function(t,e,r){return a(4,(function(t){return"!!"+r+"["+t+"]"}))}));case"sample.coverage":return e((function(t){return["value"in t?t.value:1,!!t.invert]}),(function(t,e,r){return[e.def('"value" in ',r,"?+",r,".value:1"),e=e.def("!!",r,".invert")]}))}})),i}(t),p=w(t,0,l);s("viewport"),s(v("scissor.box"));var d,g=0<Object.keys(h).length;if((d={framebuffer:d,draw:f,shader:p,state:h,dirty:g,scopeVAO:null,drawVAO:null,useVAO:!1,attributes:{}}).profile=function(t){var e,r=t.static;if(t=t.dynamic,"profile"in r){var n=!!r.profile;(e=F((function(t,e){return n}))).enable=n}else if("profile"in t){var i=t.profile;e=B(i,(function(t,e){return t.invoke(e,i)}))}return e}(t),d.uniforms=function(t,e){var r=t.static,n=t.dynamic,i={};return Object.keys(r).forEach((function(t){var e,n=r[t];if("number"==typeof n||"boolean"==typeof n)e=F((function(){return n}));else if("function"==typeof n){var o=n._reglType;"texture2d"===o||"textureCube"===o?e=F((function(t){return t.link(n)})):"framebuffer"!==o&&"framebufferCube"!==o||(e=F((function(t){return t.link(n.color[0])})))}else m(n)&&(e=F((function(t){return t.global.def("[",a(n.length,(function(t){return n[t]})),"]")})));e.value=n,i[t]=e})),Object.keys(n).forEach((function(t){var e=n[t];i[t]=B(e,(function(t,r){return t.invoke(r,e)}))})),i}(n),d.drawVAO=d.scopeVAO=function(t,e){var r=t.static,n=t.dynamic;if("vao"in r){var i=r.vao;return null!==i&&null===u.getVAO(i)&&(i=u.createVAO(i)),F((function(t){return t.link(u.getVAO(i))}))}if("vao"in n){var a=n.vao;return B(a,(function(t,e){var r=t.invoke(e,a);return e.def(t.shared.vao+".getVAO("+r+")")}))}return null}(t),!d.drawVAO&&p.program&&!l&&r.angle_instanced_arrays){var y=!0;if(t=p.program.attributes.map((function(t){return t=e.static[t],y=y&&!!t,t})),y&&0<t.length){var x=u.getVAO(u.createVAO(t));d.drawVAO=new D(null,null,null,(function(t,e){return t.link(x)})),d.useVAO=!0}}return l?d.useVAO=!0:d.attributes=k(e),d.context=function(t){var e=t.static,r=t.dynamic,n={};return Object.keys(e).forEach((function(t){var r=e[t];n[t]=F((function(t,e){return"number"==typeof r||"boolean"==typeof r?""+r:t.link(r)}))})),Object.keys(r).forEach((function(t){var e=r[t];n[t]=B(e,(function(t,r){return t.invoke(r,e)}))})),n}(i),d}function A(t,e,r){var n=t.shared.context,i=t.scope();Object.keys(r).forEach((function(a){e.save(n,"."+a),i(n,".",a,"=",r[a].append(t,e),";")})),e(i)}function S(t,e,r,n){var i,a=(s=t.shared).gl,o=s.framebuffer;$&&(i=e.def(s.extensions,".webgl_draw_buffers"));var s=(l=t.constants).drawBuffer,l=l.backBuffer;t=r?r.append(t,e):e.def(o,".next"),n||e("if(",t,"!==",o,".cur){"),e("if(",t,"){",a,".bindFramebuffer(",36160,",",t,".framebuffer);"),$&&e(i,".drawBuffersWEBGL(",s,"[",t,".colorAttachments.length]);"),e("}else{",a,".bindFramebuffer(",36160,",null);"),$&&e(i,".drawBuffersWEBGL(",l,");"),e("}",o,".cur=",t,";"),n||e("}")}function E(t,e,r){var n=t.shared,i=n.gl,o=t.current,s=t.next,l=n.current,c=n.next,u=t.cond(l,".dirty");rt.forEach((function(e){var n,f;if(!((e=v(e))in r.state))if(e in s){n=s[e],f=o[e];var h=a(tt[e].length,(function(t){return u.def(n,"[",t,"]")}));u(t.cond(h.map((function(t,e){return t+"!=="+f+"["+e+"]"})).join("||")).then(i,".",at[e],"(",h,");",h.map((function(t,e){return f+"["+e+"]="+t})).join(";"),";"))}else n=u.def(c,".",e),h=t.cond(n,"!==",l,".",e),u(h),e in it?h(t.cond(n).then(i,".enable(",it[e],");").else(i,".disable(",it[e],");"),l,".",e,"=",n,";"):h(i,".",at[e],"(",n,");",l,".",e,"=",n,";")})),0===Object.keys(r.state).length&&u(l,".dirty=false;"),e(u)}function C(t,e,r,n){var i=t.shared,a=t.current,o=i.current,s=i.gl;O(Object.keys(r)).forEach((function(i){var l=r[i];if(!n||n(l)){var c=l.append(t,e);if(it[i]){var u=it[i];R(l)?e(s,c?".enable(":".disable(",u,");"):e(t.cond(c).then(s,".enable(",u,");").else(s,".disable(",u,");")),e(o,".",i,"=",c,";")}else if(m(c)){var f=a[i];e(s,".",at[i],"(",c,");",c.map((function(t,e){return f+"["+e+"]="+t})).join(";"),";")}else e(s,".",at[i],"(",c,");",o,".",i,"=",c,";")}}))}function L(t,e){K&&(t.instancing=e.def(t.shared.extensions,".angle_instanced_arrays"))}function I(t,e,r,n,i){function a(){return"undefined"==typeof performance?"Date.now()":"performance.now()"}function o(t){t(c=e.def(),"=",a(),";"),"string"==typeof i?t(h,".count+=",i,";"):t(h,".count++;"),d&&(n?t(u=e.def(),"=",g,".getNumPendingQueries();"):t(g,".beginQuery(",h,");"))}function s(t){t(h,".cpuTime+=",a(),"-",c,";"),d&&(n?t(g,".pushScopeStats(",u,",",g,".getNumPendingQueries(),",h,");"):t(g,".endQuery();"))}function l(t){var r=e.def(p,".profile");e(p,".profile=",t,";"),e.exit(p,".profile=",r,";")}var c,u,f=t.shared,h=t.stats,p=f.current,g=f.timer;if(r=r.profile){if(R(r))return void(r.enable?(o(e),s(e.exit),l("true")):l("false"));l(r=r.append(t,e))}else r=e.def(p,".profile");o(f=t.block()),e("if(",r,"){",f,"}"),s(t=t.block()),e.exit("if(",r,"){",t,"}")}function N(t,e,r,n,i){function a(r,n,i){function a(){e("if(!",u,".buffer){",l,".enableVertexAttribArray(",c,");}");var r,a=i.type;r=i.size?e.def(i.size,"||",n):n,e("if(",u,".type!==",a,"||",u,".size!==",r,"||",p.map((function(t){return u+"."+t+"!=="+i[t]})).join("||"),"){",l,".bindBuffer(",34962,",",f,".buffer);",l,".vertexAttribPointer(",[c,r,a,i.normalized,i.stride,i.offset],");",u,".type=",a,";",u,".size=",r,";",p.map((function(t){return u+"."+t+"="+i[t]+";"})).join(""),"}"),K&&(a=i.divisor,e("if(",u,".divisor!==",a,"){",t.instancing,".vertexAttribDivisorANGLE(",[c,a],");",u,".divisor=",a,";}"))}function s(){e("if(",u,".buffer){",l,".disableVertexAttribArray(",c,");",u,".buffer=null;","}if(",wt.map((function(t,e){return u+"."+t+"!=="+h[e]})).join("||"),"){",l,".vertexAttrib4f(",c,",",h,");",wt.map((function(t,e){return u+"."+t+"="+h[e]+";"})).join(""),"}")}var l=o.gl,c=e.def(r,".location"),u=e.def(o.attributes,"[",c,"]");r=i.state;var f=i.buffer,h=[i.x,i.y,i.z,i.w],p=["buffer","normalized","offset","stride"];1===r?a():2===r?s():(e("if(",r,"===",1,"){"),a(),e("}else{"),s(),e("}"))}var o=t.shared;n.forEach((function(n){var o,s=n.name,l=r.attributes[s];if(l){if(!i(l))return;o=l.append(t,e)}else{if(!i(Et))return;var c=t.scopeAttrib(s);o={},Object.keys(new Z).forEach((function(t){o[t]=e.def(c,".",t)}))}a(t.link(n),function(t){switch(t){case 35664:case 35667:case 35671:return 2;case 35665:case 35668:case 35672:return 3;case 35666:case 35669:case 35673:return 4;default:return 1}}(n.info.type),o)}))}function j(t,r,n,i,o){for(var s,l=t.shared,c=l.gl,u=0;u<i.length;++u){var f,h=(g=i[u]).name,p=g.info.type,d=n.uniforms[h],g=t.link(g)+".location";if(d){if(!o(d))continue;if(R(d)){if(h=d.value,35678===p||35680===p)r(c,".uniform1i(",g,",",(p=t.link(h._texture||h.color[0]._texture))+".bind());"),r.exit(p,".unbind();");else if(35674===p||35675===p||35676===p)d=2,35675===p?d=3:35676===p&&(d=4),r(c,".uniformMatrix",d,"fv(",g,",false,",h=t.global.def("new Float32Array(["+Array.prototype.slice.call(h)+"])"),");");else{switch(p){case 5126:s="1f";break;case 35664:s="2f";break;case 35665:s="3f";break;case 35666:s="4f";break;case 35670:case 5124:s="1i";break;case 35671:case 35667:s="2i";break;case 35672:case 35668:s="3i";break;case 35673:s="4i";break;case 35669:s="4i"}r(c,".uniform",s,"(",g,",",m(h)?Array.prototype.slice.call(h):h,");")}continue}f=d.append(t,r)}else{if(!o(Et))continue;f=r.def(l.uniforms,"[",e.id(h),"]")}switch(35678===p?r("if(",f,"&&",f,'._reglType==="framebuffer"){',f,"=",f,".color[0];","}"):35680===p&&r("if(",f,"&&",f,'._reglType==="framebufferCube"){',f,"=",f,".color[0];","}"),h=1,p){case 35678:case 35680:p=r.def(f,"._texture"),r(c,".uniform1i(",g,",",p,".bind());"),r.exit(p,".unbind();");continue;case 5124:case 35670:s="1i";break;case 35667:case 35671:s="2i",h=2;break;case 35668:case 35672:s="3i",h=3;break;case 35669:case 35673:s="4i",h=4;break;case 5126:s="1f";break;case 35664:s="2f",h=2;break;case 35665:s="3f",h=3;break;case 35666:s="4f",h=4;break;case 35674:s="Matrix2fv";break;case 35675:s="Matrix3fv";break;case 35676:s="Matrix4fv"}if(r(c,".uniform",s,"(",g,","),"M"===s.charAt(0)){g=Math.pow(p-35674+2,2);var v=t.global.def("new Float32Array(",g,")");r("false,(Array.isArray(",f,")||",f," instanceof Float32Array)?",f,":(",a(g,(function(t){return v+"["+t+"]="+f+"["+t+"]"})),",",v,")")}else r(1<h?a(h,(function(t){return f+"["+t+"]"})):f);r(");")}}function U(t,e,r,n){function i(i){var a=h[i];return a?a.contextDep&&n.contextDynamic||a.propDep?a.append(t,r):a.append(t,e):e.def(f,".",i)}function a(){function t(){r(l,".drawElementsInstancedANGLE(",[d,m,v,g+"<<(("+v+"-5121)>>1)",s],");")}function e(){r(l,".drawArraysInstancedANGLE(",[d,g,m,s],");")}p?y?t():(r("if(",p,"){"),t(),r("}else{"),e(),r("}")):e()}function o(){function t(){r(u+".drawElements("+[d,m,v,g+"<<(("+v+"-5121)>>1)"]+");")}function e(){r(u+".drawArrays("+[d,g,m]+");")}p?y?t():(r("if(",p,"){"),t(),r("}else{"),e(),r("}")):e()}var s,l,c=t.shared,u=c.gl,f=c.draw,h=n.draw,p=function(){var i=h.elements,a=e;return i?((i.contextDep&&n.contextDynamic||i.propDep)&&(a=r),i=i.append(t,a)):i=a.def(f,".","elements"),i&&a("if("+i+")"+u+".bindBuffer(34963,"+i+".buffer.buffer);"),i}(),d=i("primitive"),g=i("offset"),m=function(){var i=h.count,a=e;return i?((i.contextDep&&n.contextDynamic||i.propDep)&&(a=r),i=i.append(t,a)):i=a.def(f,".","count"),i}();if("number"==typeof m){if(0===m)return}else r("if(",m,"){"),r.exit("}");K&&(s=i("instances"),l=t.instancing);var v=p+".type",y=h.elements&&R(h.elements);K&&("number"!=typeof s||0<=s)?"string"==typeof s?(r("if(",s,">0){"),a(),r("}else if(",s,"<0){"),o(),r("}")):a():o()}function V(t,e,r,n,i){return i=(e=b()).proc("body",i),K&&(e.instancing=i.def(e.shared.extensions,".angle_instanced_arrays")),t(e,i,r,n),e.compile().body}function H(t,e,r,n){L(t,e),r.useVAO?r.drawVAO?e(t.shared.vao,".setVAO(",r.drawVAO.append(t,e),");"):e(t.shared.vao,".setVAO(",t.shared.vao,".targetVAO);"):(e(t.shared.vao,".setVAO(null);"),N(t,e,r,n.attributes,(function(){return!0}))),j(t,e,r,n.uniforms,(function(){return!0})),U(t,e,e,r)}function G(t,e,r,n){function i(){return!0}t.batchId="a1",L(t,e),N(t,e,r,n.attributes,i),j(t,e,r,n.uniforms,i),U(t,e,e,r)}function Y(t,e,r,n){function i(t){return t.contextDep&&o||t.propDep}function a(t){return!i(t)}L(t,e);var o=r.contextDep,s=e.def(),l=e.def();t.shared.props=l,t.batchId=s;var c=t.scope(),u=t.scope();e(c.entry,"for(",s,"=0;",s,"<","a1",";++",s,"){",l,"=","a0","[",s,"];",u,"}",c.exit),r.needsContext&&A(t,u,r.context),r.needsFramebuffer&&S(t,u,r.framebuffer),C(t,u,r.state,i),r.profile&&i(r.profile)&&I(t,u,r,!1,!0),n?(r.useVAO?r.drawVAO?i(r.drawVAO)?u(t.shared.vao,".setVAO(",r.drawVAO.append(t,u),");"):c(t.shared.vao,".setVAO(",r.drawVAO.append(t,c),");"):c(t.shared.vao,".setVAO(",t.shared.vao,".targetVAO);"):(c(t.shared.vao,".setVAO(null);"),N(t,c,r,n.attributes,a),N(t,u,r,n.attributes,i)),j(t,c,r,n.uniforms,a),j(t,u,r,n.uniforms,i),U(t,c,u,r)):(e=t.global.def("{}"),n=r.shader.progVar.append(t,u),l=u.def(n,".id"),c=u.def(e,"[",l,"]"),u(t.shared.gl,".useProgram(",n,".program);","if(!",c,"){",c,"=",e,"[",l,"]=",t.link((function(e){return V(G,t,r,e,2)})),"(",n,");}",c,".call(this,a0[",s,"],",s,");"))}function W(t,r){function n(e){var n=r.shader[e];n&&i.set(a.shader,"."+e,n.append(t,i))}var i=t.proc("scope",3);t.batchId="a2";var a=t.shared,o=a.current;A(t,i,r.context),r.framebuffer&&r.framebuffer.append(t,i),O(Object.keys(r.state)).forEach((function(e){var n=r.state[e].append(t,i);m(n)?n.forEach((function(r,n){i.set(t.next[e],"["+n+"]",r)})):i.set(a.next,"."+e,n)})),I(t,i,r,!0,!0),["elements","offset","count","instances","primitive"].forEach((function(e){var n=r.draw[e];n&&i.set(a.draw,"."+e,""+n.append(t,i))})),Object.keys(r.uniforms).forEach((function(n){i.set(a.uniforms,"["+e.id(n)+"]",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 Z).forEach((function(t){i.set(a,"."+t,n[t])}))})),r.scopeVAO&&i.set(a.vao,".targetVAO",r.scopeVAO.append(t,i)),n("vert"),n("frag"),0<Object.keys(r.state).length&&(i(o,".dirty=true;"),i.exit(o,".dirty=true;")),i("a1(",t.shared.context,",a0,",t.batchId,");")}function X(t,e,r){var n=e.static[r];if(n&&function(t){if("object"==typeof t&&!m(t)){for(var e=Object.keys(t),r=0;r<e.length;++r)if(q.isDynamic(t[e[r]]))return!0;return!1}}(n)){var i=t.global,a=Object.keys(n),o=!1,s=!1,l=!1,c=t.global.def("{}");a.forEach((function(e){var r=n[e];if(q.isDynamic(r))"function"==typeof r&&(r=n[e]=q.unbox(r)),e=B(r,null),o=o||e.thisDep,l=l||e.propDep,s=s||e.contextDep;else{switch(i(c,".",e,"="),typeof r){case"number":i(r);break;case"string":i('"',r,'"');break;case"object":Array.isArray(r)&&i("[",r.join(),"]");break;default:i(t.link(r))}i(";")}})),e.dynamic[r]=new q.DynamicVariable(4,{thisDep:o,contextDep:s,propDep:l,ref:c,append:function(t,e){a.forEach((function(r){var i=n[r];q.isDynamic(i)&&(i=t.invoke(e,i),e(c,".",r,"=",i,";"))}))}}),delete e.static[r]}}var Z=u.Record,J={add:32774,subtract:32778,"reverse subtract":32779};r.ext_blend_minmax&&(J.min=32775,J.max=32776);var K=r.angle_instanced_arrays,$=r.webgl_draw_buffers,tt={dirty:!0,profile:g.profile},et={},rt=[],it={},at={};y("dither",3024),y("blend.enable",3042),x("blend.color","blendColor",[0,0,0,0]),x("blend.equation","blendEquationSeparate",[32774,32774]),x("blend.func","blendFuncSeparate",[1,0,1,0]),y("depth.enable",2929,!0),x("depth.func","depthFunc",513),x("depth.range","depthRange",[0,1]),x("depth.mask","depthMask",!0),x("colorMask","colorMask",[!0,!0,!0,!0]),y("cull.enable",2884),x("cull.face","cullFace",1029),x("frontFace","frontFace",2305),x("lineWidth","lineWidth",1),y("polygonOffset.enable",32823),x("polygonOffset.offset","polygonOffset",[0,0]),y("sample.alpha",32926),y("sample.enable",32928),x("sample.coverage","sampleCoverage",[1,!1]),y("stencil.enable",2960),x("stencil.mask","stencilMask",-1),x("stencil.func","stencilFunc",[519,0,-1]),x("stencil.opFront","stencilOpSeparate",[1028,7680,7680,7680]),x("stencil.opBack","stencilOpSeparate",[1029,7680,7680,7680]),y("scissor.enable",3089),x("scissor.box","scissor",[0,0,t.drawingBufferWidth,t.drawingBufferHeight]),x("viewport","viewport",[0,0,t.drawingBufferWidth,t.drawingBufferHeight]);var ot={gl:t,context:p,strings:e,next:et,current:tt,draw:h,elements:o,buffer:i,shader:f,attributes:u.state,vao:u,uniforms:c,framebuffer:l,extensions:r,timer:d,isBufferArgs:z},st={primTypes:nt,compareFuncs:Mt,blendFuncs:kt,blendEquations:J,stencilOps:At,glTypes:Q,orientationType:St};$&&(st.backBuffer=[1029],st.drawBuffer=a(n.maxDrawbuffers,(function(t){return 0===t?[0]:a(t,(function(t){return 36064+t}))})));var lt=0;return{next:et,current:tt,procs:function(){var t=b(),e=t.proc("poll"),i=t.proc("refresh"),o=t.block();e(o),i(o);var s,l=t.shared,c=l.gl,u=l.next,f=l.current;o(f,".dirty=false;"),S(t,e),S(t,i,null,!0),K&&(s=t.link(K)),r.oes_vertex_array_object&&i(t.link(r.oes_vertex_array_object),".bindVertexArrayOES(null);");for(var h=0;h<n.maxAttributes;++h){var p=i.def(l.attributes,"[",h,"]"),d=t.cond(p,".buffer");d.then(c,".enableVertexAttribArray(",h,");",c,".bindBuffer(",34962,",",p,".buffer.buffer);",c,".vertexAttribPointer(",h,",",p,".size,",p,".type,",p,".normalized,",p,".stride,",p,".offset);").else(c,".disableVertexAttribArray(",h,");",c,".vertexAttrib4f(",h,",",p,".x,",p,".y,",p,".z,",p,".w);",p,".buffer=null;"),i(d),K&&i(s,".vertexAttribDivisorANGLE(",h,",",p,".divisor);")}return i(t.shared.vao,".currentVAO=null;",t.shared.vao,".setVAO(",t.shared.vao,".targetVAO);"),Object.keys(it).forEach((function(r){var n=it[r],a=o.def(u,".",r),s=t.block();s("if(",a,"){",c,".enable(",n,")}else{",c,".disable(",n,")}",f,".",r,"=",a,";"),i(s),e("if(",a,"!==",f,".",r,"){",s,"}")})),Object.keys(at).forEach((function(r){var n,s,l=at[r],h=tt[r],p=t.block();p(c,".",l,"("),m(h)?(l=h.length,n=t.global.def(u,".",r),s=t.global.def(f,".",r),p(a(l,(function(t){return n+"["+t+"]"})),");",a(l,(function(t){return s+"["+t+"]="+n+"["+t+"];"})).join("")),e("if(",a(l,(function(t){return n+"["+t+"]!=="+s+"["+t+"]"})).join("||"),"){",p,"}")):(n=o.def(u,".",r),s=o.def(f,".",r),p(n,");",f,".",r,"=",n,";"),e("if(",n,"!==",s,"){",p,"}")),i(p)})),t.compile()}(),compile:function(t,e,r,n,i){var a=b();return a.stats=a.link(i),Object.keys(e.static).forEach((function(t){X(a,e,t)})),Tt.forEach((function(e){X(a,t,e)})),r=M(t,e,r,n),function(t,e){var r=t.proc("draw",1);L(t,r),A(t,r,e.context),S(t,r,e.framebuffer),E(t,r,e),C(t,r,e.state),I(t,r,e,!1,!0);var n=e.shader.progVar.append(t,r);if(r(t.shared.gl,".useProgram(",n,".program);"),e.shader.program)H(t,r,e,e.shader.program);else{r(t.shared.vao,".setVAO(null);");var i=t.global.def("{}"),a=r.def(n,".id"),o=r.def(i,"[",a,"]");r(t.cond(o).then(o,".call(this,a0);").else(o,"=",i,"[",a,"]=",t.link((function(r){return V(H,t,e,r,1)})),"(",n,");",o,".call(this,a0);"))}0<Object.keys(e.state).length&&r(t.shared.current,".dirty=true;")}(a,r),W(a,r),function(t,e){function r(t){return t.contextDep&&i||t.propDep}var n=t.proc("batch",2);t.batchId="0",L(t,n);var i=!1,a=!0;Object.keys(e.context).forEach((function(t){i=i||e.context[t].propDep})),i||(A(t,n,e.context),a=!1);var o=!1;if((s=e.framebuffer)?(s.propDep?i=o=!0:s.contextDep&&i&&(o=!0),o||S(t,n,s)):S(t,n,null),e.state.viewport&&e.state.viewport.propDep&&(i=!0),E(t,n,e),C(t,n,e.state,(function(t){return!r(t)})),e.profile&&r(e.profile)||I(t,n,e,!1,"a1"),e.contextDep=i,e.needsContext=a,e.needsFramebuffer=o,(a=e.shader.progVar).contextDep&&i||a.propDep)Y(t,n,e,null);else if(a=a.append(t,n),n(t.shared.gl,".useProgram(",a,".program);"),e.shader.program)Y(t,n,e,e.shader.program);else{n(t.shared.vao,".setVAO(null);");var s=t.global.def("{}"),l=(o=n.def(a,".id"),n.def(s,"[",o,"]"));n(t.cond(l).then(l,".call(this,a0,a1);").else(l,"=",s,"[",o,"]=",t.link((function(r){return V(Y,t,e,r,2)})),"(",a,");",l,".call(this,a0,a1);"))}0<Object.keys(e.state).length&&n(t.shared.current,".dirty=true;")}(a,r),a.compile()}}}function j(t,e){for(var r=0;r<t.length;++r)if(t[r]===e)return r;return-1}var U=function(t,e){for(var r=Object.keys(e),n=0;n<r.length;++n)t[r[n]]=e[r[n]];return t},V=0,q={DynamicVariable:t,define:function(r,n){return new t(r,e(n+""))},isDynamic:function(e){return"function"==typeof e&&!e._reglType||e instanceof t},unbox:function(e,r){return"function"==typeof e?new t(0,e):e},accessor:e},H={next:"function"==typeof requestAnimationFrame?function(t){return requestAnimationFrame(t)}:function(t){return setTimeout(t,16)},cancel:"function"==typeof cancelAnimationFrame?function(t){return cancelAnimationFrame(t)}:clearTimeout},G="undefined"!=typeof performance&&performance.now?function(){return performance.now()}:function(){return+new Date},Y=s();Y.zero=s();var W=function(t,e){var r=1;e.ext_texture_filter_anisotropic&&(r=t.getParameter(34047));var n=1,i=1;e.webgl_draw_buffers&&(n=t.getParameter(34852),i=t.getParameter(36063));var a=!!e.oes_texture_float;if(a){a=t.createTexture(),t.bindTexture(3553,a),t.texImage2D(3553,0,6408,1,1,0,6408,5126,null);var o=t.createFramebuffer();if(t.bindFramebuffer(36160,o),t.framebufferTexture2D(36160,36064,3553,a,0),t.bindTexture(3553,null),36053!==t.checkFramebufferStatus(36160))a=!1;else{t.viewport(0,0,1,1),t.clearColor(1,0,0,1),t.clear(16384);var s=Y.allocType(5126,4);t.readPixels(0,0,1,1,6408,5126,s),t.getError()?a=!1:(t.deleteFramebuffer(o),t.deleteTexture(a),a=1===s[0]),Y.freeType(s)}}return s=!0,"undefined"!=typeof navigator&&(/MSIE/.test(navigator.userAgent)||/Trident\//.test(navigator.appVersion)||/Edge/.test(navigator.userAgent))||(s=t.createTexture(),o=Y.allocType(5121,36),t.activeTexture(33984),t.bindTexture(34067,s),t.texImage2D(34069,0,6408,3,3,0,6408,5121,o),Y.freeType(o),t.bindTexture(34067,null),t.deleteTexture(s),s=!t.getError()),{colorBits:[t.getParameter(3410),t.getParameter(3411),t.getParameter(3412),t.getParameter(3413)],depthBits:t.getParameter(3414),stencilBits:t.getParameter(3415),subpixelBits:t.getParameter(3408),extensions:Object.keys(e).filter((function(t){return!!e[t]})),maxAnisotropic:r,maxDrawbuffers:n,maxColorAttachments:i,pointSizeDims:t.getParameter(33901),lineWidthDims:t.getParameter(33902),maxViewportDims:t.getParameter(3386),maxCombinedTextureUnits:t.getParameter(35661),maxCubeMapSize:t.getParameter(34076),maxRenderbufferSize:t.getParameter(34024),maxTextureUnits:t.getParameter(34930),maxTextureSize:t.getParameter(3379),maxAttributes:t.getParameter(34921),maxVertexUniforms:t.getParameter(36347),maxVertexTextureUnits:t.getParameter(35660),maxVaryingVectors:t.getParameter(36348),maxFragmentUniforms:t.getParameter(36349),glsl:t.getParameter(35724),renderer:t.getParameter(7937),vendor:t.getParameter(7936),version:t.getParameter(7938),readFloat:a,npotTextureCube:s}},X=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},Z=function(t){return Object.keys(t).map((function(e){return t[e]}))},J={shape:function(t){for(var e=[];t.length;t=t[0])e.push(t.length);return e},flatten:function(t,e,r,n){var i=1;if(e.length)for(var a=0;a<e.length;++a)i*=e[a];else i=0;switch(r=n||Y.allocType(r,i),e.length){case 0:break;case 1:for(n=e[0],e=0;e<n;++e)r[e]=t[e];break;case 2:for(n=e[0],e=e[1],a=i=0;a<n;++a)for(var o=t[a],s=0;s<e;++s)r[i++]=o[s];break;case 3:c(t,e[0],e[1],e[2],r,0);break;default:!function t(e,r,n,i,a){for(var o=1,s=n+1;s<r.length;++s)o*=r[s];var l=r[n];if(4==r.length-n){var u=r[n+1],f=r[n+2];for(r=r[n+3],s=0;s<l;++s)c(e[s],u,f,r,i,a),a+=o}else for(s=0;s<l;++s)t(e[s],r,n+1,i,a),a+=o}(t,e,0,r,0)}return r}},K={"[object Int8Array]":5120,"[object Int16Array]":5122,"[object Int32Array]":5124,"[object Uint8Array]":5121,"[object Uint8ClampedArray]":5121,"[object Uint16Array]":5123,"[object Uint32Array]":5125,"[object Float32Array]":5126,"[object Float64Array]":5121,"[object ArrayBuffer]":5121},Q={int8:5120,int16:5122,int32:5124,uint8:5121,uint16:5123,uint32:5125,float:5126,float32:5126},$={dynamic:35048,stream:35040,static:35044},tt=J.flatten,et=J.shape,rt=[];rt[5120]=1,rt[5122]=2,rt[5124]=4,rt[5121]=1,rt[5123]=2,rt[5125]=4,rt[5126]=4;var nt={points:0,point:0,lines:1,line:1,triangles:4,triangle:4,"line loop":2,"line strip":3,"triangle strip":5,"triangle fan":6},it=new Float32Array(1),at=new Uint32Array(it.buffer),ot=[9984,9986,9985,9987],st=[0,6409,6410,6407,6408],lt={};lt[6409]=lt[6406]=lt[6402]=1,lt[34041]=lt[6410]=2,lt[6407]=lt[35904]=3,lt[6408]=lt[35906]=4;var ct=v("HTMLCanvasElement"),ut=v("OffscreenCanvas"),ft=v("CanvasRenderingContext2D"),ht=v("ImageBitmap"),pt=v("HTMLImageElement"),dt=v("HTMLVideoElement"),gt=Object.keys(K).concat([ct,ut,ft,ht,pt,dt]),mt=[];mt[5121]=1,mt[5126]=4,mt[36193]=2,mt[5123]=2,mt[5125]=4;var vt=[];vt[32854]=2,vt[32855]=2,vt[36194]=2,vt[34041]=4,vt[33776]=.5,vt[33777]=.5,vt[33778]=1,vt[33779]=1,vt[35986]=.5,vt[35987]=1,vt[34798]=1,vt[35840]=.5,vt[35841]=.25,vt[35842]=.5,vt[35843]=.25,vt[36196]=.5;var yt=[];yt[32854]=2,yt[32855]=2,yt[36194]=2,yt[33189]=2,yt[36168]=1,yt[34041]=4,yt[35907]=4,yt[34836]=16,yt[34842]=8,yt[34843]=6;var xt=function(t,e,r,n,i){function a(t){this.id=c++,this.refCount=1,this.renderbuffer=t,this.format=32854,this.height=this.width=0,i.profile&&(this.stats={size:0})}function o(e){var r=e.renderbuffer;t.bindRenderbuffer(36161,null),t.deleteRenderbuffer(r),e.renderbuffer=null,e.refCount=0,delete u[e.id],n.renderbufferCount--}var s={rgba4:32854,rgb565:36194,"rgb5 a1":32855,depth:33189,stencil:36168,"depth stencil":34041};e.ext_srgb&&(s.srgba=35907),e.ext_color_buffer_half_float&&(s.rgba16f=34842,s.rgb16f=34843),e.webgl_color_buffer_float&&(s.rgba32f=34836);var l=[];Object.keys(s).forEach((function(t){l[s[t]]=t}));var c=0,u={};return a.prototype.decRef=function(){0>=--this.refCount&&o(this)},i.profile&&(n.getTotalRenderbufferSize=function(){var t=0;return Object.keys(u).forEach((function(e){t+=u[e].stats.size})),t}),{create:function(e,r){function o(e,r){var n=0,a=0,u=32854;if("object"==typeof e&&e?("shape"in e?(n=0|(a=e.shape)[0],a=0|a[1]):("radius"in e&&(n=a=0|e.radius),"width"in e&&(n=0|e.width),"height"in e&&(a=0|e.height)),"format"in e&&(u=s[e.format])):"number"==typeof e?(n=0|e,a="number"==typeof r?0|r:n):e||(n=a=1),n!==c.width||a!==c.height||u!==c.format)return o.width=c.width=n,o.height=c.height=a,c.format=u,t.bindRenderbuffer(36161,c.renderbuffer),t.renderbufferStorage(36161,u,n,a),i.profile&&(c.stats.size=yt[c.format]*c.width*c.height),o.format=l[c.format],o}var c=new a(t.createRenderbuffer());return u[c.id]=c,n.renderbufferCount++,o(e,r),o.resize=function(e,r){var n=0|e,a=0|r||n;return n===c.width&&a===c.height||(o.width=c.width=n,o.height=c.height=a,t.bindRenderbuffer(36161,c.renderbuffer),t.renderbufferStorage(36161,c.format,n,a),i.profile&&(c.stats.size=yt[c.format]*c.width*c.height)),o},o._reglType="renderbuffer",o._renderbuffer=c,i.profile&&(o.stats=c.stats),o.destroy=function(){c.decRef()},o},clear:function(){Z(u).forEach(o)},restore:function(){Z(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)}}},bt=[];bt[6408]=4,bt[6407]=3;var _t=[];_t[5121]=1,_t[5126]=4,_t[36193]=2;var wt=["x","y","z","w"],Tt="blend.func blend.equation stencil.func stencil.opFront stencil.opBack sample.coverage viewport scissor.box polygonOffset.offset".split(" "),kt={0:0,1:1,zero:0,one:1,"src color":768,"one minus src color":769,"src alpha":770,"one minus src alpha":771,"dst color":774,"one minus dst color":775,"dst alpha":772,"one minus dst alpha":773,"constant color":32769,"one minus constant color":32770,"constant alpha":32771,"one minus constant alpha":32772,"src alpha saturate":776},Mt={never:512,less:513,"<":513,equal:514,"=":514,"==":514,"===":514,lequal:515,"<=":515,greater:516,">":516,notequal:517,"!=":517,"!==":517,gequal:518,">=":518,always:519},At={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,"increment wrap":34055,"decrement wrap":34056,invert:5386},St={cw:2304,ccw:2305},Et=new D(!1,!1,!1,(function(){}));return function(t){function e(){if(0===J.length)w&&w.update(),tt=null;else{tt=H.next(e),f();for(var t=J.length-1;0<=t;--t){var r=J[t];r&&r(I,null,0)}m.flush(),w&&w.update()}}function r(){!tt&&0<J.length&&(tt=H.next(e))}function n(){tt&&(H.cancel(e),tt=null)}function a(t){t.preventDefault(),n(),K.forEach((function(t){t()}))}function o(t){m.getError(),y.restore(),R.restore(),z.restore(),F.restore(),B.restore(),V.restore(),O.restore(),w&&w.restore(),Y.procs.refresh(),r(),Q.forEach((function(t){t()}))}function s(t){function e(t){var e={},r={};return Object.keys(t).forEach((function(n){var i=t[n];q.isDynamic(i)?r[n]=q.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(t){function e(t){if(t in r){var e=r[t];delete r[t],Object.keys(e).forEach((function(n){r[t+"."+n]=e[n]}))}}var r=U({},t);return delete r.uniforms,delete r.attributes,delete r.context,delete r.vao,"stencil"in r&&r.stencil.op&&(r.stencil.opBack=r.stencil.opFront=r.stencil.op,delete r.stencil.op),e("blend"),e("depth"),e("cull"),e("stencil"),e("polygonOffset"),e("scissor"),e("sample"),"vao"in t&&(r.vao=t.vao),r}(t));t={gpuTime:0,cpuTime:0,count:0};var o=(r=Y.compile(a,i,n,r,t)).draw,s=r.batch,l=r.scope,c=[];return U((function(t,e){var r;if("function"==typeof t)return l.call(this,null,t,0);if("function"==typeof e)if("number"==typeof t)for(r=0;r<t;++r)l.call(this,null,e,r);else{if(!Array.isArray(t))return l.call(this,t,e,0);for(r=0;r<t.length;++r)l.call(this,t[r],e,r)}else if("number"==typeof t){if(0<t)return s.call(this,function(t){for(;c.length<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 l(t,e){var r=0;Y.procs.poll();var n=e.color;n&&(m.clearColor(+n[0]||0,+n[1]||0,+n[2]||0,+n[3]||0),r|=16384),"depth"in e&&(m.clearDepth(+e.depth),r|=256),"stencil"in e&&(m.clearStencil(0|e.stencil),r|=1024),m.clear(r)}function c(t){return J.push(t),r(),{cancel:function(){var e=j(J,t);J[e]=function t(){var e=j(J,t);J[e]=J[J.length-1],--J.length,0>=J.length&&n()}}}}function u(){var t=X.viewport,e=X.scissor_box;t[0]=t[1]=e[0]=e[1]=0,I.viewportWidth=I.framebufferWidth=I.drawingBufferWidth=t[2]=e[2]=m.drawingBufferWidth,I.viewportHeight=I.framebufferHeight=I.drawingBufferHeight=t[3]=e[3]=m.drawingBufferHeight}function f(){I.tick+=1,I.time=g(),u(),Y.procs.poll()}function h(){u(),Y.procs.refresh(),w&&w.update()}function g(){return(G()-T)/1e3}if(!(t=i(t)))return null;var m=t.gl,v=m.getContextAttributes();m.isContextLost();var y=function(t,e){function r(e){var r;e=e.toLowerCase();try{r=n[e]=t.getExtension(e)}catch(t){}return!!r}for(var n={},i=0;i<e.extensions.length;++i){var a=e.extensions[i];if(!r(a))return e.onDestroy(),e.onDone('"'+a+'" extension is not supported by the current WebGL context, try upgrading your system or a different browser'),null}return e.optionalExtensions.forEach(r),{extensions:n,restore:function(){Object.keys(n).forEach((function(t){if(n[t]&&!r(t))throw Error("(regl): error restoring extension "+t)}))}}}(m,t);if(!y)return null;var x=function(){var t={"":0},e=[""];return{id:function(r){var n=t[r];return n||(n=t[r]=e.length,e.push(r),n)},str:function(t){return e[t]}}}(),b={vaoCount:0,bufferCount:0,elementsCount:0,framebufferCount:0,shaderCount:0,textureCount:0,cubeCount:0,renderbufferCount:0,maxTextureUnits:0},_=y.extensions,w=function(t,e){function r(){this.endQueryIndex=this.startQueryIndex=-1,this.sum=0,this.stats=null}function n(t,e,n){var i=o.pop()||new r;i.startQueryIndex=t,i.endQueryIndex=e,i.sum=0,i.stats=n,s.push(i)}if(!e.ext_disjoint_timer_query)return null;var i=[],a=[],o=[],s=[],l=[],c=[];return{beginQuery:function(t){var r=i.pop()||e.ext_disjoint_timer_query.createQueryEXT();e.ext_disjoint_timer_query.beginQueryEXT(35007,r),a.push(r),n(a.length-1,a.length,t)},endQuery:function(){e.ext_disjoint_timer_query.endQueryEXT(35007)},pushScopeStats:n,update:function(){var t,r;if(0!==(t=a.length)){c.length=Math.max(c.length,t+1),l.length=Math.max(l.length,t+1),l[0]=0;var n=c[0]=0;for(r=t=0;r<a.length;++r){var u=a[r];e.ext_disjoint_timer_query.getQueryObjectEXT(u,34919)?(n+=e.ext_disjoint_timer_query.getQueryObjectEXT(u,34918),i.push(u)):a[t++]=u,l[r+1]=n,c[r+1]=t}for(a.length=t,r=t=0;r<s.length;++r){var f=(n=s[r]).startQueryIndex;u=n.endQueryIndex;n.sum+=l[u]-l[f],f=c[f],(u=c[u])===f?(n.stats.gpuTime+=n.sum/1e6,o.push(n)):(n.startQueryIndex=f,n.endQueryIndex=u,s[t++]=n)}s.length=t}},getNumPendingQueries:function(){return a.length},clear:function(){i.push.apply(i,a);for(var t=0;t<i.length;t++)e.ext_disjoint_timer_query.deleteQueryEXT(i[t]);a.length=0,i.length=0},restore:function(){a.length=0,i.length=0}}}(0,_),T=G(),A=m.drawingBufferWidth,L=m.drawingBufferHeight,I={tick:0,time:0,viewportWidth:A,viewportHeight:L,framebufferWidth:A,framebufferHeight:L,drawingBufferWidth:A,drawingBufferHeight:L,pixelRatio:t.pixelRatio},P=W(m,_),z=p(m,b,t,(function(t){return O.destroyBuffer(t)})),O=S(m,_,P,b,z),D=d(m,_,z,b),R=E(m,x,b,t),F=k(m,_,P,(function(){Y.procs.poll()}),I,b,t),B=xt(m,_,0,b,t),V=M(m,_,P,F,B,b),Y=N(m,x,_,P,z,D,0,V,{},O,R,{elements:null,primitive:4,count:-1,offset:0,instances:-1},I,w,t),X=(x=C(m,V,Y.procs.poll,I),Y.next),Z=m.canvas,J=[],K=[],Q=[],$=[t.onDestroy],tt=null;Z&&(Z.addEventListener("webglcontextlost",a,!1),Z.addEventListener("webglcontextrestored",o,!1));var et=V.setFBO=s({framebuffer:q.define.call(null,1,"framebuffer")});return h(),v=U(s,{clear:function(t){if("framebuffer"in t)if(t.framebuffer&&"framebufferCube"===t.framebuffer_reglType)for(var e=0;6>e;++e)et(U({framebuffer:t.framebuffer.faces[e]},t),l);else et(t,l);else l(0,t)},prop:q.define.bind(null,1),context:q.define.bind(null,2),this:q.define.bind(null,3),draw:s({}),buffer:function(t){return z.create(t,34962,!1,!1)},elements:function(t){return D.create(t,!1)},texture:F.create2D,cube:F.createCube,renderbuffer:B.create,framebuffer:V.create,framebufferCube:V.createCube,vao:O.createVAO,attributes:v,frame:c,on:function(t,e){var r;switch(t){case"frame":return c(e);case"lost":r=K;break;case"restore":r=Q;break;case"destroy":r=$}return r.push(e),{cancel:function(){for(var t=0;t<r.length;++t)if(r[t]===e){r[t]=r[r.length-1],r.pop();break}}}},limits:P,hasExtension:function(t){return 0<=P.extensions.indexOf(t.toLowerCase())},read:x,destroy:function(){J.length=0,n(),Z&&(Z.removeEventListener("webglcontextlost",a),Z.removeEventListener("webglcontextrestored",o)),R.clear(),V.clear(),B.clear(),F.clear(),D.clear(),z.clear(),O.clear(),w&&w.clear(),$.forEach((function(t){t()}))},_gl:m,_refresh:h,poll:function(){f(),w&&w.update()},now:g,stats:b}),t.onDone(null,v),v}}))},{}],541:[function(t,e,r){ +/*! + * repeat-string <https://github.com/jonschlinkert/repeat-string> + * + * Copyright (c) 2014-2015, Jon Schlinkert. + * Licensed under the MIT License. + */ +"use strict";var n,i="";e.exports=function(t,e){if("string"!=typeof t)throw new TypeError("expected a string");if(1===e)return t;if(2===e)return t+t;var r=t.length*e;if(n!==t||"undefined"==typeof n)n=t,i="";else if(i.length>=r)return i.substr(0,r);for(;r>i.length&&e>1;)1&e&&(i+=t),e>>=1,t+=t;return i=(i+=t).substr(0,r)}},{}],542:[function(t,e,r){(function(t){(function(){e.exports=t.performance&&t.performance.now?function(){return performance.now()}:Date.now||function(){return+new Date}}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],543:[function(t,e,r){"use strict";e.exports=function(t){for(var e=t.length,r=t[t.length-1],n=e,i=e-2;i>=0;--i){var a=r,o=t[i];(l=o-((r=a+o)-a))&&(t[--n]=r,r=l)}var s=0;for(i=n;i<e;++i){var l;a=t[i];(l=(o=r)-((r=a+o)-a))&&(t[s++]=l)}return t[s++]=r,t.length=s,t}},{}],544:[function(t,e,r){"use strict";var n=t("two-product"),i=t("robust-sum"),a=t("robust-scale"),o=t("robust-compress");function s(t,e){for(var r=new Array(t.length-1),n=1;n<t.length;++n)for(var i=r[n-1]=new Array(t.length-1),a=0,o=0;a<t.length;++a)a!==e&&(i[o++]=t[n][a]);return r}function l(t){for(var e=new Array(t),r=0;r<t;++r){e[r]=new Array(t);for(var n=0;n<t;++n)e[r][n]=["m[",r,"][",n,"]"].join("")}return e}function c(t){if(2===t.length)return["sum(prod(",t[0][0],",",t[1][1],"),prod(-",t[0][1],",",t[1][0],"))"].join("");for(var e=[],r=0;r<t.length;++r)e.push(["scale(",c(s(t,r)),",",(n=r,1&n?"-":""),t[0][r],")"].join(""));return function t(e){if(1===e.length)return e[0];if(2===e.length)return["sum(",e[0],",",e[1],")"].join("");var r=e.length>>1;return["sum(",t(e.slice(0,r)),",",t(e.slice(r)),")"].join("")}(e);var n}function u(t){return new Function("sum","scale","prod","compress",["function robustDeterminant",t,"(m){return compress(",c(l(t)),")};return robustDeterminant",t].join(""))(i,a,n,o)}var f=[function(){return[0]},function(t){return[t[0][0]]}];!function(){for(;f.length<6;)f.push(u(f.length));for(var t=[],r=["function robustDeterminant(m){switch(m.length){"],n=0;n<6;++n)t.push("det"+n),r.push("case ",n,":return det",n,"(m);");r.push("}var det=CACHE[m.length];if(!det)det=CACHE[m.length]=gen(m.length);return det(m);}return robustDeterminant"),t.push("CACHE","gen",r.join(""));var i=Function.apply(void 0,t);for(e.exports=i.apply(void 0,f.concat([f,u])),n=0;n<f.length;++n)e.exports[n]=f[n]}()},{"robust-compress":543,"robust-scale":550,"robust-sum":553,"two-product":582}],545:[function(t,e,r){"use strict";var n=t("two-product"),i=t("robust-sum");e.exports=function(t,e){for(var r=n(t[0],e[0]),a=1;a<t.length;++a)r=i(r,n(t[a],e[a]));return r}},{"robust-sum":553,"two-product":582}],546:[function(t,e,r){"use strict";var n=t("two-product"),i=t("robust-sum"),a=t("robust-subtract"),o=t("robust-scale");function s(t,e){for(var r=new Array(t.length-1),n=1;n<t.length;++n)for(var i=r[n-1]=new Array(t.length-1),a=0,o=0;a<t.length;++a)a!==e&&(i[o++]=t[n][a]);return r}function l(t){if(1===t.length)return t[0];if(2===t.length)return["sum(",t[0],",",t[1],")"].join("");var e=t.length>>1;return["sum(",l(t.slice(0,e)),",",l(t.slice(e)),")"].join("")}function c(t,e){if("m"===t.charAt(0)){if("w"===e.charAt(0)){var r=t.split("[");return["w",e.substr(1),"m",r[0].substr(1)].join("")}return["prod(",t,",",e,")"].join("")}return c(e,t)}function u(t){if(2===t.length)return[["diff(",c(t[0][0],t[1][1]),",",c(t[1][0],t[0][1]),")"].join("")];for(var e=[],r=0;r<t.length;++r)e.push(["scale(",l(u(s(t,r))),",",(n=r,!0&n?"-":""),t[0][r],")"].join(""));return e;var n}function f(t,e){for(var r=[],n=0;n<e-2;++n)r.push(["prod(m",t,"[",n,"],m",t,"[",n,"])"].join(""));return l(r)}function h(t){for(var e=[],r=[],c=function(t){for(var e=new Array(t),r=0;r<t;++r){e[r]=new Array(t);for(var n=0;n<t;++n)e[r][n]=["m",n,"[",t-r-2,"]"].join("")}return e}(t),h=0;h<t;++h)c[0][h]="1",c[t-1][h]="w"+h;for(h=0;h<t;++h)0==(1&h)?e.push.apply(e,u(s(c,h))):r.push.apply(r,u(s(c,h)));var p=l(e),d=l(r),g="exactInSphere"+t,m=[];for(h=0;h<t;++h)m.push("m"+h);var v=["function ",g,"(",m.join(),"){"];for(h=0;h<t;++h){v.push("var w",h,"=",f(h,t),";");for(var y=0;y<t;++y)y!==h&&v.push("var w",h,"m",y,"=scale(w",h,",m",y,"[0]);")}return v.push("var p=",p,",n=",d,",d=diff(p,n);return d[d.length-1];}return ",g),new Function("sum","diff","prod","scale",v.join(""))(i,a,n,o)}var p=[function(){return 0},function(){return 0},function(){return 0}];function d(t){var e=p[t.length];return e||(e=p[t.length]=h(t.length)),e.apply(void 0,t)}!function(){for(;p.length<=6;)p.push(h(p.length));for(var t=[],r=["slow"],n=0;n<=6;++n)t.push("a"+n),r.push("o"+n);var i=["function testInSphere(",t.join(),"){switch(arguments.length){case 0:case 1:return 0;"];for(n=2;n<=6;++n)i.push("case ",n,":return o",n,"(",t.slice(0,n).join(),");");i.push("}var s=new Array(arguments.length);for(var i=0;i<arguments.length;++i){s[i]=arguments[i]};return slow(s);}return testInSphere"),r.push(i.join(""));var a=Function.apply(void 0,r);for(e.exports=a.apply(void 0,[d].concat(p)),n=0;n<=6;++n)e.exports[n]=p[n]}()},{"robust-scale":550,"robust-subtract":552,"robust-sum":553,"two-product":582}],547:[function(t,e,r){"use strict";var n=t("robust-determinant");function i(t){for(var e="robustLinearSolve"+t+"d",r=["function ",e,"(A,b){return ["],i=0;i<t;++i){r.push("det([");for(var a=0;a<t;++a){a>0&&r.push(","),r.push("[");for(var o=0;o<t;++o)o>0&&r.push(","),o===i?r.push("+b[",a,"]"):r.push("+A[",a,"][",o,"]");r.push("]")}r.push("]),")}r.push("det(A)]}return ",e);var s=new Function("det",r.join(""));return s(t<6?n[t]:n)}var a=[function(){return[0]},function(t,e){return[[e[0]],[t[0][0]]]}];!function(){for(;a.length<6;)a.push(i(a.length));for(var t=[],r=["function dispatchLinearSolve(A,b){switch(A.length){"],n=0;n<6;++n)t.push("s"+n),r.push("case ",n,":return s",n,"(A,b);");r.push("}var s=CACHE[A.length];if(!s)s=CACHE[A.length]=g(A.length);return s(A,b)}return dispatchLinearSolve"),t.push("CACHE","g",r.join(""));var o=Function.apply(void 0,t);for(e.exports=o.apply(void 0,a.concat([a,i])),n=0;n<6;++n)e.exports[n]=a[n]}()},{"robust-determinant":544}],548:[function(t,e,r){"use strict";var n=t("two-product"),i=t("robust-sum"),a=t("robust-scale"),o=t("robust-subtract");function s(t,e){for(var r=new Array(t.length-1),n=1;n<t.length;++n)for(var i=r[n-1]=new Array(t.length-1),a=0,o=0;a<t.length;++a)a!==e&&(i[o++]=t[n][a]);return r}function l(t){if(1===t.length)return t[0];if(2===t.length)return["sum(",t[0],",",t[1],")"].join("");var e=t.length>>1;return["sum(",l(t.slice(0,e)),",",l(t.slice(e)),")"].join("")}function c(t){if(2===t.length)return[["sum(prod(",t[0][0],",",t[1][1],"),prod(-",t[0][1],",",t[1][0],"))"].join("")];for(var e=[],r=0;r<t.length;++r)e.push(["scale(",l(c(s(t,r))),",",(n=r,1&n?"-":""),t[0][r],")"].join(""));return e;var n}function u(t){for(var e=[],r=[],u=function(t){for(var e=new Array(t),r=0;r<t;++r){e[r]=new Array(t);for(var n=0;n<t;++n)e[r][n]=["m",n,"[",t-r-1,"]"].join("")}return e}(t),f=[],h=0;h<t;++h)0==(1&h)?e.push.apply(e,c(s(u,h))):r.push.apply(r,c(s(u,h))),f.push("m"+h);var p=l(e),d=l(r),g="orientation"+t+"Exact",m=["function ",g,"(",f.join(),"){var p=",p,",n=",d,",d=sub(p,n);return d[d.length-1];};return ",g].join("");return new Function("sum","prod","scale","sub",m)(i,n,a,o)}var f=u(3),h=u(4),p=[function(){return 0},function(){return 0},function(t,e){return e[0]-t[0]},function(t,e,r){var n,i=(t[1]-r[1])*(e[0]-r[0]),a=(t[0]-r[0])*(e[1]-r[1]),o=i-a;if(i>0){if(a<=0)return o;n=i+a}else{if(!(i<0))return o;if(a>=0)return o;n=-(i+a)}var s=33306690738754716e-32*n;return o>=s||o<=-s?o:f(t,e,r)},function(t,e,r,n){var i=t[0]-n[0],a=e[0]-n[0],o=r[0]-n[0],s=t[1]-n[1],l=e[1]-n[1],c=r[1]-n[1],u=t[2]-n[2],f=e[2]-n[2],p=r[2]-n[2],d=a*c,g=o*l,m=o*s,v=i*c,y=i*l,x=a*s,b=u*(d-g)+f*(m-v)+p*(y-x),_=7771561172376103e-31*((Math.abs(d)+Math.abs(g))*Math.abs(u)+(Math.abs(m)+Math.abs(v))*Math.abs(f)+(Math.abs(y)+Math.abs(x))*Math.abs(p));return b>_||-b>_?b:h(t,e,r,n)}];function d(t){var e=p[t.length];return e||(e=p[t.length]=u(t.length)),e.apply(void 0,t)}!function(){for(;p.length<=5;)p.push(u(p.length));for(var t=[],r=["slow"],n=0;n<=5;++n)t.push("a"+n),r.push("o"+n);var i=["function getOrientation(",t.join(),"){switch(arguments.length){case 0:case 1:return 0;"];for(n=2;n<=5;++n)i.push("case ",n,":return o",n,"(",t.slice(0,n).join(),");");i.push("}var s=new Array(arguments.length);for(var i=0;i<arguments.length;++i){s[i]=arguments[i]};return slow(s);}return getOrientation"),r.push(i.join(""));var a=Function.apply(void 0,r);for(e.exports=a.apply(void 0,[d].concat(p)),n=0;n<=5;++n)e.exports[n]=p[n]}()},{"robust-scale":550,"robust-subtract":552,"robust-sum":553,"two-product":582}],549:[function(t,e,r){"use strict";var n=t("robust-sum"),i=t("robust-scale");e.exports=function(t,e){if(1===t.length)return i(e,t[0]);if(1===e.length)return i(t,e[0]);if(0===t.length||0===e.length)return[0];var r=[0];if(t.length<e.length)for(var a=0;a<t.length;++a)r=n(r,i(e,t[a]));else for(a=0;a<e.length;++a)r=n(r,i(t,e[a]));return r}},{"robust-scale":550,"robust-sum":553}],550:[function(t,e,r){"use strict";var n=t("two-product"),i=t("two-sum");e.exports=function(t,e){var r=t.length;if(1===r){var a=n(t[0],e);return a[0]?a:[a[1]]}var o=new Array(2*r),s=[.1,.1],l=[.1,.1],c=0;n(t[0],e,s),s[0]&&(o[c++]=s[0]);for(var u=1;u<r;++u){n(t[u],e,l);var f=s[1];i(f,l[0],s),s[0]&&(o[c++]=s[0]);var h=l[1],p=s[1],d=h+p,g=p-(d-h);s[1]=d,g&&(o[c++]=g)}s[1]&&(o[c++]=s[1]);0===c&&(o[c++]=0);return o.length=c,o}},{"two-product":582,"two-sum":583}],551:[function(t,e,r){"use strict";e.exports=function(t,e,r,i){var a=n(t,r,i),o=n(e,r,i);if(a>0&&o>0||a<0&&o<0)return!1;var s=n(r,t,e),l=n(i,t,e);if(s>0&&l>0||s<0&&l<0)return!1;if(0===a&&0===o&&0===s&&0===l)return function(t,e,r,n){for(var i=0;i<2;++i){var a=t[i],o=e[i],s=Math.min(a,o),l=Math.max(a,o),c=r[i],u=n[i],f=Math.min(c,u);if(Math.max(c,u)<s||l<f)return!1}return!0}(t,e,r,i);return!0};var n=t("robust-orientation")[3]},{"robust-orientation":548}],552:[function(t,e,r){"use strict";e.exports=function(t,e){var r=0|t.length,n=0|e.length;if(1===r&&1===n)return function(t,e){var r=t+e,n=r-t,i=t-(r-n)+(e-n);if(i)return[i,r];return[r]}(t[0],-e[0]);var i,a,o=new Array(r+n),s=0,l=0,c=0,u=Math.abs,f=t[l],h=u(f),p=-e[c],d=u(p);h<d?(a=f,(l+=1)<r&&(f=t[l],h=u(f))):(a=p,(c+=1)<n&&(p=-e[c],d=u(p)));l<r&&h<d||c>=n?(i=f,(l+=1)<r&&(f=t[l],h=u(f))):(i=p,(c+=1)<n&&(p=-e[c],d=u(p)));var g,m,v=i+a,y=v-i,x=a-y,b=x,_=v;for(;l<r&&c<n;)h<d?(i=f,(l+=1)<r&&(f=t[l],h=u(f))):(i=p,(c+=1)<n&&(p=-e[c],d=u(p))),(x=(a=b)-(y=(v=i+a)-i))&&(o[s++]=x),b=_-((g=_+v)-(m=g-_))+(v-m),_=g;for(;l<r;)(x=(a=b)-(y=(v=(i=f)+a)-i))&&(o[s++]=x),b=_-((g=_+v)-(m=g-_))+(v-m),_=g,(l+=1)<r&&(f=t[l]);for(;c<n;)(x=(a=b)-(y=(v=(i=p)+a)-i))&&(o[s++]=x),b=_-((g=_+v)-(m=g-_))+(v-m),_=g,(c+=1)<n&&(p=-e[c]);b&&(o[s++]=b);_&&(o[s++]=_);s||(o[s++]=0);return o.length=s,o}},{}],553:[function(t,e,r){"use strict";e.exports=function(t,e){var r=0|t.length,n=0|e.length;if(1===r&&1===n)return function(t,e){var r=t+e,n=r-t,i=t-(r-n)+(e-n);if(i)return[i,r];return[r]}(t[0],e[0]);var i,a,o=new Array(r+n),s=0,l=0,c=0,u=Math.abs,f=t[l],h=u(f),p=e[c],d=u(p);h<d?(a=f,(l+=1)<r&&(f=t[l],h=u(f))):(a=p,(c+=1)<n&&(p=e[c],d=u(p)));l<r&&h<d||c>=n?(i=f,(l+=1)<r&&(f=t[l],h=u(f))):(i=p,(c+=1)<n&&(p=e[c],d=u(p)));var g,m,v=i+a,y=v-i,x=a-y,b=x,_=v;for(;l<r&&c<n;)h<d?(i=f,(l+=1)<r&&(f=t[l],h=u(f))):(i=p,(c+=1)<n&&(p=e[c],d=u(p))),(x=(a=b)-(y=(v=i+a)-i))&&(o[s++]=x),b=_-((g=_+v)-(m=g-_))+(v-m),_=g;for(;l<r;)(x=(a=b)-(y=(v=(i=f)+a)-i))&&(o[s++]=x),b=_-((g=_+v)-(m=g-_))+(v-m),_=g,(l+=1)<r&&(f=t[l]);for(;c<n;)(x=(a=b)-(y=(v=(i=p)+a)-i))&&(o[s++]=x),b=_-((g=_+v)-(m=g-_))+(v-m),_=g,(c+=1)<n&&(p=e[c]);b&&(o[s++]=b);_&&(o[s++]=_);s||(o[s++]=0);return o.length=s,o}},{}],554:[function(t,e,r){"use strict";e.exports=function(t){return t<0?-1:t>0?1:0}},{}],555:[function(t,e,r){"use strict";e.exports=function(t){return i(n(t))};var n=t("boundary-cells"),i=t("reduce-simplicial-complex")},{"boundary-cells":100,"reduce-simplicial-complex":533}],556:[function(t,e,r){"use strict";e.exports=function(t,e,r,s){r=r||0,"undefined"==typeof s&&(s=function(t){for(var e=t.length,r=0,n=0;n<e;++n)r=0|Math.max(r,t[n].length);return r-1}(t));if(0===t.length||s<1)return{cells:[],vertexIds:[],vertexWeights:[]};var l=function(t,e){for(var r=t.length,n=i.mallocUint8(r),a=0;a<r;++a)n[a]=t[a]<e|0;return n}(e,+r),c=function(t,e){for(var r=t.length,o=e*(e+1)/2*r|0,s=i.mallocUint32(2*o),l=0,c=0;c<r;++c)for(var u=t[c],f=(e=u.length,0);f<e;++f)for(var h=0;h<f;++h){var p=u[h],d=u[f];s[l++]=0|Math.min(p,d),s[l++]=0|Math.max(p,d)}a(n(s,[l/2|0,2]));var g=2;for(c=2;c<l;c+=2)s[c-2]===s[c]&&s[c-1]===s[c+1]||(s[g++]=s[c],s[g++]=s[c+1]);return n(s,[g/2|0,2])}(t,s),u=function(t,e,r,a){for(var o=t.data,s=t.shape[0],l=i.mallocDouble(s),c=0,u=0;u<s;++u){var f=o[2*u],h=o[2*u+1];if(r[f]!==r[h]){var p=e[f],d=e[h];o[2*c]=f,o[2*c+1]=h,l[c++]=(d-a)/(d-p)}}return t.shape[0]=c,n(l,[c])}(c,e,l,+r),f=function(t,e){var r=i.mallocInt32(2*e),n=t.shape[0],a=t.data;r[0]=0;for(var o=0,s=0;s<n;++s){var l=a[2*s];if(l!==o){for(r[2*o+1]=s;++o<l;)r[2*o]=s,r[2*o+1]=s;r[2*o]=s}}r[2*o+1]=n;for(;++o<e;)r[2*o]=r[2*o+1]=n;return r}(c,0|e.length),h=o(s)(t,c.data,f,l),p=function(t){for(var e=0|t.shape[0],r=t.data,n=new Array(e),i=0;i<e;++i)n[i]=[r[2*i],r[2*i+1]];return n}(c),d=[].slice.call(u.data,0,u.shape[0]);return i.free(l),i.free(c.data),i.free(u.data),i.free(f),{cells:h,vertexIds:p,vertexWeights:d}};var n=t("ndarray"),i=t("typedarray-pool"),a=t("ndarray-sort"),o=t("./lib/codegen")},{"./lib/codegen":557,ndarray:495,"ndarray-sort":494,"typedarray-pool":595}],557:[function(t,e,r){"use strict";e.exports=function(t){var e=a[t];e||(e=a[t]=function(t){var e=0,r=new Array(t+1);r[0]=[[]];for(var a=1;a<=t;++a)for(var o=r[a]=i(a),s=0;s<o.length;++s)e=Math.max(e,o[a].length);var l=["function B(C,E,i,j){","var a=Math.min(i,j)|0,b=Math.max(i,j)|0,l=C[2*a],h=C[2*a+1];","while(l<h){","var m=(l+h)>>1,v=E[2*m+1];","if(v===b){return m}","if(b<v){h=m}else{l=m+1}","}","return l;","};","function getContour",t,"d(F,E,C,S){","var n=F.length,R=[];","for(var i=0;i<n;++i){var c=F[i],l=c.length;"];function c(t){if(!(t.length<=0)){l.push("R.push(");for(var e=0;e<t.length;++e){var r=t[e];e>0&&l.push(","),l.push("[");for(var n=0;n<r.length;++n){var i=r[n];n>0&&l.push(","),l.push("B(C,E,c[",i[0],"],c[",i[1],"])")}l.push("]")}l.push(");")}}for(a=t+1;a>1;--a){a<t+1&&l.push("else "),l.push("if(l===",a,"){");var u=[];for(s=0;s<a;++s)u.push("(S[c["+s+"]]<<"+s+")");l.push("var M=",u.join("+"),";if(M===0||M===",(1<<a)-1,"){continue}switch(M){");for(o=r[a-1],s=0;s<o.length;++s)l.push("case ",s,":"),c(o[s]),l.push("break;");l.push("}}")}return l.push("}return R;};return getContour",t,"d"),new Function("pool",l.join(""))(n)}(t));return e};var n=t("typedarray-pool"),i=t("marching-simplex-table"),a={}},{"marching-simplex-table":474,"typedarray-pool":595}],558:[function(t,e,r){"use strict";var n=t("bit-twiddle"),i=t("union-find");function a(t,e){var r=t.length,n=t.length-e.length,i=Math.min;if(n)return n;switch(r){case 0:return 0;case 1:return t[0]-e[0];case 2:return(s=t[0]+t[1]-e[0]-e[1])||i(t[0],t[1])-i(e[0],e[1]);case 3:var a=t[0]+t[1],o=e[0]+e[1];if(s=a+t[2]-(o+e[2]))return s;var s,l=i(t[0],t[1]),c=i(e[0],e[1]);return(s=i(l,t[2])-i(c,e[2]))||i(l+t[2],a)-i(c+e[2],o);default:var u=t.slice(0);u.sort();var f=e.slice(0);f.sort();for(var h=0;h<r;++h)if(n=u[h]-f[h])return n;return 0}}function o(t,e){return a(t[0],e[0])}function s(t,e){if(e){for(var r=t.length,n=new Array(r),i=0;i<r;++i)n[i]=[t[i],e[i]];n.sort(o);for(i=0;i<r;++i)t[i]=n[i][0],e[i]=n[i][1];return t}return t.sort(a),t}function l(t){if(0===t.length)return[];for(var e=1,r=t.length,n=1;n<r;++n){var i=t[n];if(a(i,t[n-1])){if(n===e){e++;continue}t[e++]=i}}return t.length=e,t}function c(t,e){for(var r=0,n=t.length-1,i=-1;r<=n;){var o=r+n>>1,s=a(t[o],e);s<=0?(0===s&&(i=o),r=o+1):s>0&&(n=o-1)}return i}function u(t,e){for(var r=new Array(t.length),i=0,o=r.length;i<o;++i)r[i]=[];for(var s=[],l=(i=0,e.length);i<l;++i)for(var u=e[i],f=u.length,h=1,p=1<<f;h<p;++h){s.length=n.popCount(h);for(var d=0,g=0;g<f;++g)h&1<<g&&(s[d++]=u[g]);var m=c(t,s);if(!(m<0))for(;r[m++].push(i),!(m>=t.length||0!==a(t[m],s)););}return r}function f(t,e){if(e<0)return[];for(var r=[],i=(1<<e+1)-1,a=0;a<t.length;++a)for(var o=t[a],l=i;l<1<<o.length;l=n.nextCombination(l)){for(var c=new Array(e+1),u=0,f=0;f<o.length;++f)l&1<<f&&(c[u++]=o[f]);r.push(c)}return s(r)}r.dimension=function(t){for(var e=0,r=Math.max,n=0,i=t.length;n<i;++n)e=r(e,t[n].length);return e-1},r.countVertices=function(t){for(var e=-1,r=Math.max,n=0,i=t.length;n<i;++n)for(var a=t[n],o=0,s=a.length;o<s;++o)e=r(e,a[o]);return e+1},r.cloneCells=function(t){for(var e=new Array(t.length),r=0,n=t.length;r<n;++r)e[r]=t[r].slice(0);return e},r.compareCells=a,r.normalize=s,r.unique=l,r.findCell=c,r.incidence=u,r.dual=function(t,e){if(!e)return u(l(f(t,0)),t);for(var r=new Array(e),n=0;n<e;++n)r[n]=[];n=0;for(var i=t.length;n<i;++n)for(var a=t[n],o=0,s=a.length;o<s;++o)r[a[o]].push(n);return r},r.explode=function(t){for(var e=[],r=0,n=t.length;r<n;++r)for(var i=t[r],a=0|i.length,o=1,l=1<<a;o<l;++o){for(var c=[],u=0;u<a;++u)o>>>u&1&&c.push(i[u]);e.push(c)}return s(e)},r.skeleton=f,r.boundary=function(t){for(var e=[],r=0,n=t.length;r<n;++r)for(var i=t[r],a=0,o=i.length;a<o;++a){for(var l=new Array(i.length-1),c=0,u=0;c<o;++c)c!==a&&(l[u++]=i[c]);e.push(l)}return s(e)},r.connectedComponents=function(t,e){return e?function(t,e){for(var r=new i(e),n=0;n<t.length;++n)for(var a=t[n],o=0;o<a.length;++o)for(var s=o+1;s<a.length;++s)r.link(a[o],a[s]);var l=[],c=r.ranks;for(n=0;n<c.length;++n)c[n]=-1;for(n=0;n<t.length;++n){var u=r.find(t[n][0]);c[u]<0?(c[u]=l.length,l.push([t[n].slice(0)])):l[c[u]].push(t[n].slice(0))}return l}(t,e):function(t){for(var e=l(s(f(t,0))),r=new i(e.length),n=0;n<t.length;++n)for(var a=t[n],o=0;o<a.length;++o)for(var u=c(e,[a[o]]),h=o+1;h<a.length;++h)r.link(u,c(e,[a[h]]));var p=[],d=r.ranks;for(n=0;n<d.length;++n)d[n]=-1;for(n=0;n<t.length;++n){var g=r.find(c(e,[t[n][0]]));d[g]<0?(d[g]=p.length,p.push([t[n].slice(0)])):p[d[g]].push(t[n].slice(0))}return p}(t)}},{"bit-twiddle":97,"union-find":596}],559:[function(t,e,r){arguments[4][97][0].apply(r,arguments)},{dup:97}],560:[function(t,e,r){arguments[4][558][0].apply(r,arguments)},{"bit-twiddle":559,dup:558,"union-find":561}],561:[function(t,e,r){"use strict";function n(t){this.roots=new Array(t),this.ranks=new Array(t);for(var e=0;e<t;++e)this.roots[e]=e,this.ranks[e]=0}e.exports=n,n.prototype.length=function(){return this.roots.length},n.prototype.makeSet=function(){var t=this.roots.length;return this.roots.push(t),this.ranks.push(0),t},n.prototype.find=function(t){for(var e=this.roots;e[t]!==t;){var r=e[t];e[t]=e[r],t=r}return t},n.prototype.link=function(t,e){var r=this.find(t),n=this.find(e);if(r!==n){var i=this.ranks,a=this.roots,o=i[r],s=i[n];o<s?a[r]=n:s<o?a[n]=r:(a[n]=r,++i[r])}}},{}],562:[function(t,e,r){"use strict";e.exports=function(t,e,r){for(var a=e.length,o=t.length,s=new Array(a),l=new Array(a),c=new Array(a),u=new Array(a),f=0;f<a;++f)s[f]=l[f]=-1,c[f]=1/0,u[f]=!1;for(f=0;f<o;++f){var h=t[f];if(2!==h.length)throw new Error("Input must be a graph");var p=h[1],d=h[0];-1!==l[d]?l[d]=-2:l[d]=p,-1!==s[p]?s[p]=-2:s[p]=d}function g(t){if(u[t])return 1/0;var r,i,a,o,c,f=s[t],h=l[t];return f<0||h<0?1/0:(r=e[t],i=e[f],a=e[h],o=Math.abs(n(r,i,a)),c=Math.sqrt(Math.pow(i[0]-a[0],2)+Math.pow(i[1]-a[1],2)),o/c)}function m(t,e){var r=k[t],n=k[e];k[t]=n,k[e]=r,M[r]=e,M[n]=t}function v(t){return c[k[t]]}function y(t){return 1&t?t-1>>1:(t>>1)-1}function x(t){for(var e=v(t);;){var r=e,n=2*t+1,i=2*(t+1),a=t;if(n<A){var o=v(n);o<r&&(a=n,r=o)}if(i<A)v(i)<r&&(a=i);if(a===t)return t;m(t,a),t=a}}function b(t){for(var e=v(t);t>0;){var r=y(t);if(r>=0)if(e<v(r)){m(t,r),t=r;continue}return t}}function _(){if(A>0){var t=k[0];return m(0,A-1),A-=1,x(0),t}return-1}function w(t,e){var r=k[t];return c[r]===e?t:(c[r]=-1/0,b(t),_(),c[r]=e,b((A+=1)-1))}function T(t){if(!u[t]){u[t]=!0;var e=s[t],r=l[t];s[r]>=0&&(s[r]=e),l[e]>=0&&(l[e]=r),M[e]>=0&&w(M[e],g(e)),M[r]>=0&&w(M[r],g(r))}}var k=[],M=new Array(a);for(f=0;f<a;++f){(c[f]=g(f))<1/0?(M[f]=k.length,k.push(f)):M[f]=-1}var A=k.length;for(f=A>>1;f>=0;--f)x(f);for(;;){var S=_();if(S<0||c[S]>r)break;T(S)}var E=[];for(f=0;f<a;++f)u[f]||(M[f]=E.length,E.push(e[f].slice()));E.length;function C(t,e){if(t[e]<0)return e;var r=e,n=e;do{var i=t[n];if(!u[n]||i<0||i===n)break;if(i=t[n=i],!u[n]||i<0||i===n)break;n=i,r=t[r]}while(r!==n);for(var a=e;a!==n;a=t[a])t[a]=n;return n}var L=[];return t.forEach((function(t){var e=C(s,t[0]),r=C(l,t[1]);if(e>=0&&r>=0&&e!==r){var n=M[e],i=M[r];n!==i&&L.push([n,i])}})),i.unique(i.normalize(L)),{positions:E,edges:L}};var n=t("robust-orientation"),i=t("simplicial-complex")},{"robust-orientation":548,"simplicial-complex":560}],563:[function(t,e,r){"use strict";e.exports=function(t,e){var r,a,o,s;if(e[0][0]<e[1][0])r=e[0],a=e[1];else{if(!(e[0][0]>e[1][0]))return i(e,t);r=e[1],a=e[0]}if(t[0][0]<t[1][0])o=t[0],s=t[1];else{if(!(t[0][0]>t[1][0]))return-i(t,e);o=t[1],s=t[0]}var l=n(r,a,s),c=n(r,a,o);if(l<0){if(c<=0)return l}else if(l>0){if(c>=0)return l}else if(c)return c;if(l=n(s,o,a),c=n(s,o,r),l<0){if(c<=0)return l}else if(l>0){if(c>=0)return l}else if(c)return c;return a[0]-s[0]};var n=t("robust-orientation");function i(t,e){var r,i,a,o;if(e[0][0]<e[1][0])r=e[0],i=e[1];else{if(!(e[0][0]>e[1][0])){var s=Math.min(t[0][1],t[1][1]),l=Math.max(t[0][1],t[1][1]),c=Math.min(e[0][1],e[1][1]),u=Math.max(e[0][1],e[1][1]);return l<c?l-c:s>u?s-u:l-u}r=e[1],i=e[0]}t[0][1]<t[1][1]?(a=t[0],o=t[1]):(a=t[1],o=t[0]);var f=n(i,r,a);return f||((f=n(i,r,o))||o-i)}},{"robust-orientation":548}],564:[function(t,e,r){arguments[4][243][0].apply(r,arguments)},{dup:243}],565:[function(t,e,r){"use strict";e.exports=function(t){for(var e=t.length,r=2*e,n=new Array(r),a=0;a<e;++a){var l=t[a],c=l[0][0]<l[1][0];n[2*a]=new f(l[0][0],l,c,a),n[2*a+1]=new f(l[1][0],l,!c,a)}n.sort((function(t,e){var r=t.x-e.x;return r||((r=t.create-e.create)||Math.min(t.segment[0][1],t.segment[1][1])-Math.min(e.segment[0][1],e.segment[1][1]))}));var h=i(o),p=[],d=[],g=[];for(a=0;a<r;){for(var m=n[a].x,v=[];a<r;){var y=n[a];if(y.x!==m)break;a+=1,y.segment[0][0]===y.x&&y.segment[1][0]===y.x?y.create&&(y.segment[0][1]<y.segment[1][1]?(v.push(new u(y.segment[0][1],y.index,!0,!0)),v.push(new u(y.segment[1][1],y.index,!1,!1))):(v.push(new u(y.segment[1][1],y.index,!0,!1)),v.push(new u(y.segment[0][1],y.index,!1,!0)))):h=y.create?h.insert(y.segment,y.index):h.remove(y.segment)}p.push(h.root),d.push(m),g.push(v)}return new s(p,d,g)};var n=t("binary-search-bounds"),i=t("functional-red-black-tree"),a=t("robust-orientation"),o=t("./lib/order-segments");function s(t,e,r){this.slabs=t,this.coordinates=e,this.horizontal=r}function l(t,e){return t.y-e}function c(t,e){for(var r=null;t;){var n,i,o=t.key;o[0][0]<o[1][0]?(n=o[0],i=o[1]):(n=o[1],i=o[0]);var s=a(n,i,e);if(s<0)t=t.left;else if(s>0)if(e[0]!==o[1][0])r=t,t=t.right;else{if(l=c(t.right,e))return l;t=t.left}else{if(e[0]!==o[1][0])return t;var l;if(l=c(t.right,e))return l;t=t.left}}return r}function u(t,e,r,n){this.y=t,this.index=e,this.start=r,this.closed=n}function f(t,e,r,n){this.x=t,this.segment=e,this.create=r,this.index=n}s.prototype.castUp=function(t){var e=n.le(this.coordinates,t[0]);if(e<0)return-1;this.slabs[e];var r=c(this.slabs[e],t),i=-1;if(r&&(i=r.value),this.coordinates[e]===t[0]){var s=null;if(r&&(s=r.key),e>0){var u=c(this.slabs[e-1],t);u&&(s?o(u.key,s)>0&&(s=u.key,i=u.value):(i=u.value,s=u.key))}var f=this.horizontal[e];if(f.length>0){var h=n.ge(f,t[1],l);if(h<f.length){var p=f[h];if(t[1]===p.y){if(p.closed)return p.index;for(;h<f.length-1&&f[h+1].y===t[1];)if((p=f[h+=1]).closed)return p.index;if(p.y===t[1]&&!p.start){if((h+=1)>=f.length)return i;p=f[h]}}if(p.start)if(s){var d=a(s[0],s[1],[t[0],p.y]);s[0][0]>s[1][0]&&(d=-d),d>0&&(i=p.index)}else i=p.index;else p.y!==t[1]&&(i=p.index)}}}return i}},{"./lib/order-segments":563,"binary-search-bounds":564,"functional-red-black-tree":247,"robust-orientation":548}],566:[function(t,e,r){"use strict";var n=t("robust-dot-product"),i=t("robust-sum");function a(t,e){var r=i(n(t,e),[e[e.length-1]]);return r[r.length-1]}function o(t,e,r,n){var i=-e/(n-e);i<0?i=0:i>1&&(i=1);for(var a=1-i,o=t.length,s=new Array(o),l=0;l<o;++l)s[l]=i*t[l]+a*r[l];return s}e.exports=function(t,e){for(var r=[],n=[],i=a(t[t.length-1],e),s=t[t.length-1],l=t[0],c=0;c<t.length;++c,s=l){var u=a(l=t[c],e);if(i<0&&u>0||i>0&&u<0){var f=o(s,u,l,i);r.push(f),n.push(f.slice())}u<0?n.push(l.slice()):u>0?r.push(l.slice()):(r.push(l.slice()),n.push(l.slice())),i=u}return{positive:r,negative:n}},e.exports.positive=function(t,e){for(var r=[],n=a(t[t.length-1],e),i=t[t.length-1],s=t[0],l=0;l<t.length;++l,i=s){var c=a(s=t[l],e);(n<0&&c>0||n>0&&c<0)&&r.push(o(i,c,s,n)),c>=0&&r.push(s.slice()),n=c}return r},e.exports.negative=function(t,e){for(var r=[],n=a(t[t.length-1],e),i=t[t.length-1],s=t[0],l=0;l<t.length;++l,i=s){var c=a(s=t[l],e);(n<0&&c>0||n>0&&c<0)&&r.push(o(i,c,s,n)),c<=0&&r.push(s.slice()),n=c}return r}},{"robust-dot-product":545,"robust-sum":553}],567:[function(t,e,r){!function(){"use strict";var t={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function e(t){return i(o(t),arguments)}function n(t,r){return e.apply(null,[t].concat(r||[]))}function i(r,n){var i,a,o,s,l,c,u,f,h,p=1,d=r.length,g="";for(a=0;a<d;a++)if("string"==typeof r[a])g+=r[a];else if("object"==typeof r[a]){if((s=r[a]).keys)for(i=n[p],o=0;o<s.keys.length;o++){if(null==i)throw new Error(e('[sprintf] Cannot access property "%s" of undefined value "%s"',s.keys[o],s.keys[o-1]));i=i[s.keys[o]]}else i=s.param_no?n[s.param_no]:n[p++];if(t.not_type.test(s.type)&&t.not_primitive.test(s.type)&&i instanceof Function&&(i=i()),t.numeric_arg.test(s.type)&&"number"!=typeof i&&isNaN(i))throw new TypeError(e("[sprintf] expecting number but found %T",i));switch(t.number.test(s.type)&&(f=i>=0),s.type){case"b":i=parseInt(i,10).toString(2);break;case"c":i=String.fromCharCode(parseInt(i,10));break;case"d":case"i":i=parseInt(i,10);break;case"j":i=JSON.stringify(i,null,s.width?parseInt(s.width):0);break;case"e":i=s.precision?parseFloat(i).toExponential(s.precision):parseFloat(i).toExponential();break;case"f":i=s.precision?parseFloat(i).toFixed(s.precision):parseFloat(i);break;case"g":i=s.precision?String(Number(i.toPrecision(s.precision))):parseFloat(i);break;case"o":i=(parseInt(i,10)>>>0).toString(8);break;case"s":i=String(i),i=s.precision?i.substring(0,s.precision):i;break;case"t":i=String(!!i),i=s.precision?i.substring(0,s.precision):i;break;case"T":i=Object.prototype.toString.call(i).slice(8,-1).toLowerCase(),i=s.precision?i.substring(0,s.precision):i;break;case"u":i=parseInt(i,10)>>>0;break;case"v":i=i.valueOf(),i=s.precision?i.substring(0,s.precision):i;break;case"x":i=(parseInt(i,10)>>>0).toString(16);break;case"X":i=(parseInt(i,10)>>>0).toString(16).toUpperCase()}t.json.test(s.type)?g+=i:(!t.number.test(s.type)||f&&!s.sign?h="":(h=f?"+":"-",i=i.toString().replace(t.sign,"")),c=s.pad_char?"0"===s.pad_char?"0":s.pad_char.charAt(1):" ",u=s.width-(h+i).length,l=s.width&&u>0?c.repeat(u):"",g+=s.align?h+i+l:"0"===c?h+l+i:l+h+i)}return g}var a=Object.create(null);function o(e){if(a[e])return a[e];for(var r,n=e,i=[],o=0;n;){if(null!==(r=t.text.exec(n)))i.push(r[0]);else if(null!==(r=t.modulo.exec(n)))i.push("%");else{if(null===(r=t.placeholder.exec(n)))throw new SyntaxError("[sprintf] unexpected placeholder");if(r[2]){o|=1;var s=[],l=r[2],c=[];if(null===(c=t.key.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(s.push(c[1]);""!==(l=l.substring(c[0].length));)if(null!==(c=t.key_access.exec(l)))s.push(c[1]);else{if(null===(c=t.index_access.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");s.push(c[1])}r[2]=s}else o|=2;if(3===o)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");i.push({placeholder:r[0],param_no:r[1],keys:r[2],sign:r[3],pad_char:r[4],align:r[5],width:r[6],precision:r[7],type:r[8]})}n=n.substring(r[0].length)}return a[e]=i}"undefined"!=typeof r&&(r.sprintf=e,r.vsprintf=n),"undefined"!=typeof window&&(window.sprintf=e,window.vsprintf=n)}()},{}],568:[function(t,e,r){"use strict";var n=t("parenthesis");e.exports=function(t,e,r){if(null==t)throw Error("First argument should be a string");if(null==e)throw Error("Separator should be a string or a RegExp");r?("string"==typeof r||Array.isArray(r))&&(r={ignore:r}):r={},null==r.escape&&(r.escape=!0),null==r.ignore?r.ignore=["[]","()","{}","<>",'""',"''","``","\u201c\u201d","\xab\xbb"]:("string"==typeof r.ignore&&(r.ignore=[r.ignore]),r.ignore=r.ignore.map((function(t){return 1===t.length&&(t+=t),t})));var i=n.parse(t,{flat:!0,brackets:r.ignore}),a=i[0].split(e);if(r.escape){for(var o=[],s=0;s<a.length;s++){var l=a[s],c=a[s+1];"\\"===l[l.length-1]&&"\\"!==l[l.length-2]?(o.push(l+e+c),s++):o.push(l)}a=o}for(s=0;s<a.length;s++)i[0]=a[s],a[s]=n.stringify(i,{flat:!0});return a}},{parenthesis:503}],569:[function(t,e,r){"use strict";e.exports=function(t){for(var e=t.length,r=new Array(e),n=new Array(e),i=new Array(e),a=new Array(e),o=new Array(e),s=new Array(e),l=0;l<e;++l)r[l]=-1,n[l]=0,i[l]=!1,a[l]=0,o[l]=-1,s[l]=[];var c,u=0,f=[],h=[];function p(e){var l=[e],c=[e];for(r[e]=n[e]=u,i[e]=!0,u+=1;c.length>0;){e=c[c.length-1];var p=t[e];if(a[e]<p.length){for(var d=a[e];d<p.length;++d){var g=p[d];if(r[g]<0){r[g]=n[g]=u,i[g]=!0,u+=1,l.push(g),c.push(g);break}i[g]&&(n[e]=0|Math.min(n[e],n[g])),o[g]>=0&&s[e].push(o[g])}a[e]=d}else{if(n[e]===r[e]){var m=[],v=[],y=0;for(d=l.length-1;d>=0;--d){var x=l[d];if(i[x]=!1,m.push(x),v.push(s[x]),y+=s[x].length,o[x]=f.length,x===e){l.length=d;break}}f.push(m);var b=new Array(y);for(d=0;d<v.length;d++)for(var _=0;_<v[d].length;_++)b[--y]=v[d][_];h.push(b)}c.pop()}}}for(l=0;l<e;++l)r[l]<0&&p(l);for(l=0;l<h.length;l++){var d=h[l];if(0!==d.length){d.sort((function(t,e){return t-e})),c=[d[0]];for(var g=1;g<d.length;g++)d[g]!==d[g-1]&&c.push(d[g]);h[l]=c}}return{components:f,adjacencyList:h}}},{}],570:[function(t,e,r){"use strict";e.exports=function(t,e){if(t.dimension<=0)return{positions:[],cells:[]};if(1===t.dimension)return function(t,e){for(var r=a(t,e),n=r.length,i=new Array(n),o=new Array(n),s=0;s<n;++s)i[s]=[r[s]],o[s]=[s];return{positions:i,cells:o}}(t,e);var r=t.order.join()+"-"+t.dtype,s=o[r];e=+e||0;s||(s=o[r]=function(t,e){var r=t.length,a=["'use strict';"],o="surfaceNets"+t.join("_")+"d"+e;a.push("var contour=genContour({","order:[",t.join(),"],","scalarArguments: 3,","phase:function phaseFunc(p,a,b,c) { return (p > c)|0 },"),"generic"===e&&a.push("getters:[0],");for(var s=[],l=[],c=0;c<r;++c)s.push("d"+c),l.push("d"+c);for(c=0;c<1<<r;++c)s.push("v"+c),l.push("v"+c);for(c=0;c<1<<r;++c)s.push("p"+c),l.push("p"+c);s.push("a","b","c"),l.push("a","c"),a.push("vertex:function vertexFunc(",s.join(),"){");var u=[];for(c=0;c<1<<r;++c)u.push("(p"+c+"<<"+c+")");a.push("var m=(",u.join("+"),")|0;if(m===0||m===",(1<<(1<<r))-1,"){return}");var f=[],h=[];1<<(1<<r)<=128?(a.push("switch(m){"),h=a):a.push("switch(m>>>7){");for(c=0;c<1<<(1<<r);++c){if(1<<(1<<r)>128&&c%128==0){f.length>0&&h.push("}}");var p="vExtra"+f.length;a.push("case ",c>>>7,":",p,"(m&0x7f,",l.join(),");break;"),h=["function ",p,"(m,",l.join(),"){switch(m){"],f.push(h)}h.push("case ",127&c,":");for(var d=new Array(r),g=new Array(r),m=new Array(r),v=new Array(r),y=0,x=0;x<r;++x)d[x]=[],g[x]=[],m[x]=0,v[x]=0;for(x=0;x<1<<r;++x)for(var b=0;b<r;++b){var _=x^1<<b;if(!(_>x)&&!(c&1<<_)!=!(c&1<<x)){var w=1;c&1<<_?g[b].push("v"+_+"-v"+x):(g[b].push("v"+x+"-v"+_),w=-w),w<0?(d[b].push("-v"+x+"-v"+_),m[b]+=2):(d[b].push("v"+x+"+v"+_),m[b]-=2),y+=1;for(var T=0;T<r;++T)T!==b&&(_&1<<T?v[T]+=1:v[T]-=1)}}var k=[];for(b=0;b<r;++b)if(0===d[b].length)k.push("d"+b+"-0.5");else{var M="";m[b]<0?M=m[b]+"*c":m[b]>0&&(M="+"+m[b]+"*c");var A=d[b].length/y*.5,S=.5+v[b]/y*.5;k.push("d"+b+"-"+S+"-"+A+"*("+d[b].join("+")+M+")/("+g[b].join("+")+")")}h.push("a.push([",k.join(),"]);","break;")}a.push("}},"),f.length>0&&h.push("}}");var E=[];for(c=0;c<1<<r-1;++c)E.push("v"+c);E.push("c0","c1","p0","p1","a","b","c"),a.push("cell:function cellFunc(",E.join(),"){");var C=i(r-1);a.push("if(p0){b.push(",C.map((function(t){return"["+t.map((function(t){return"v"+t}))+"]"})).join(),")}else{b.push(",C.map((function(t){var e=t.slice();return e.reverse(),"["+e.map((function(t){return"v"+t}))+"]"})).join(),")}}});function ",o,"(array,level){var verts=[],cells=[];contour(array,verts,cells,level);return {positions:verts,cells:cells};} return ",o,";");for(c=0;c<f.length;++c)a.push(f[c].join(""));return new Function("genContour",a.join(""))(n)}(t.order,t.dtype));return s(t,e)};var n=t("ndarray-extract-contour"),i=t("triangulate-hypercube"),a=t("zero-crossings");var o={}},{"ndarray-extract-contour":487,"triangulate-hypercube":580,"zero-crossings":624}],571:[function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=function(t,e){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return function(t,e){var r=[],n=!0,i=!1,a=void 0;try{for(var o,s=t[Symbol.iterator]();!(n=(o=s.next()).done)&&(r.push(o.value),!e||r.length!==e);n=!0);}catch(t){i=!0,a=t}finally{try{!n&&s.return&&s.return()}finally{if(i)throw a}}return r}(t,e);throw new TypeError("Invalid attempt to destructure non-iterable instance")},i=2*Math.PI,a=function(t,e,r,n,i,a,o){var s=t.x,l=t.y;return{x:n*(s*=e)-i*(l*=r)+a,y:i*s+n*l+o}},o=function(t,e){var r=1.5707963267948966===e?.551915024494:-1.5707963267948966===e?-.551915024494:4/3*Math.tan(e/4),n=Math.cos(t),i=Math.sin(t),a=Math.cos(t+e),o=Math.sin(t+e);return[{x:n-i*r,y:i+n*r},{x:a+o*r,y:o-a*r},{x:a,y:o}]},s=function(t,e,r,n){var i=t*r+e*n;return i>1&&(i=1),i<-1&&(i=-1),(t*n-e*r<0?-1:1)*Math.acos(i)};r.default=function(t){var e=t.px,r=t.py,l=t.cx,c=t.cy,u=t.rx,f=t.ry,h=t.xAxisRotation,p=void 0===h?0:h,d=t.largeArcFlag,g=void 0===d?0:d,m=t.sweepFlag,v=void 0===m?0:m,y=[];if(0===u||0===f)return[];var x=Math.sin(p*i/360),b=Math.cos(p*i/360),_=b*(e-l)/2+x*(r-c)/2,w=-x*(e-l)/2+b*(r-c)/2;if(0===_&&0===w)return[];u=Math.abs(u),f=Math.abs(f);var T=Math.pow(_,2)/Math.pow(u,2)+Math.pow(w,2)/Math.pow(f,2);T>1&&(u*=Math.sqrt(T),f*=Math.sqrt(T));var k=function(t,e,r,n,a,o,l,c,u,f,h,p){var d=Math.pow(a,2),g=Math.pow(o,2),m=Math.pow(h,2),v=Math.pow(p,2),y=d*g-d*v-g*m;y<0&&(y=0),y/=d*v+g*m;var x=(y=Math.sqrt(y)*(l===c?-1:1))*a/o*p,b=y*-o/a*h,_=f*x-u*b+(t+r)/2,w=u*x+f*b+(e+n)/2,T=(h-x)/a,k=(p-b)/o,M=(-h-x)/a,A=(-p-b)/o,S=s(1,0,T,k),E=s(T,k,M,A);return 0===c&&E>0&&(E-=i),1===c&&E<0&&(E+=i),[_,w,S,E]}(e,r,l,c,u,f,g,v,x,b,_,w),M=n(k,4),A=M[0],S=M[1],E=M[2],C=M[3],L=Math.abs(C)/(i/4);Math.abs(1-L)<1e-7&&(L=1);var I=Math.max(Math.ceil(L),1);C/=I;for(var P=0;P<I;P++)y.push(o(E,C)),E+=C;return y.map((function(t){var e=a(t[0],u,f,b,x,A,S),r=e.x,n=e.y,i=a(t[1],u,f,b,x,A,S),o=i.x,s=i.y,l=a(t[2],u,f,b,x,A,S);return{x1:r,y1:n,x2:o,y2:s,x:l.x,y:l.y}}))},e.exports=r.default},{}],572:[function(t,e,r){"use strict";var n=t("parse-svg-path"),i=t("abs-svg-path"),a=t("normalize-svg-path"),o=t("is-svg-path"),s=t("assert");e.exports=function(t){Array.isArray(t)&&1===t.length&&"string"==typeof t[0]&&(t=t[0]);"string"==typeof t&&(s(o(t),"String is not an SVG path."),t=n(t));if(s(Array.isArray(t),"Argument should be a string or an array of path segments."),t=i(t),!(t=a(t)).length)return[0,0,0,0];for(var e=[1/0,1/0,-1/0,-1/0],r=0,l=t.length;r<l;r++)for(var c=t[r].slice(1),u=0;u<c.length;u+=2)c[u+0]<e[0]&&(e[0]=c[u+0]),c[u+1]<e[1]&&(e[1]=c[u+1]),c[u+0]>e[2]&&(e[2]=c[u+0]),c[u+1]>e[3]&&(e[3]=c[u+1]);return e}},{"abs-svg-path":65,assert:73,"is-svg-path":471,"normalize-svg-path":573,"parse-svg-path":505}],573:[function(t,e,r){"use strict";e.exports=function(t){for(var e,r=[],o=0,s=0,l=0,c=0,u=null,f=null,h=0,p=0,d=0,g=t.length;d<g;d++){var m=t[d],v=m[0];switch(v){case"M":l=m[1],c=m[2];break;case"A":var y=n({px:h,py:p,cx:m[6],cy:m[7],rx:m[1],ry:m[2],xAxisRotation:m[3],largeArcFlag:m[4],sweepFlag:m[5]});if(!y.length)continue;for(var x,b=0;b<y.length;b++)x=y[b],m=["C",x.x1,x.y1,x.x2,x.y2,x.x,x.y],b<y.length-1&&r.push(m);break;case"S":var _=h,w=p;"C"!=e&&"S"!=e||(_+=_-o,w+=w-s),m=["C",_,w,m[1],m[2],m[3],m[4]];break;case"T":"Q"==e||"T"==e?(u=2*h-u,f=2*p-f):(u=h,f=p),m=a(h,p,u,f,m[1],m[2]);break;case"Q":u=m[1],f=m[2],m=a(h,p,m[1],m[2],m[3],m[4]);break;case"L":m=i(h,p,m[1],m[2]);break;case"H":m=i(h,p,m[1],p);break;case"V":m=i(h,p,h,m[1]);break;case"Z":m=i(h,p,l,c)}e=v,h=m[m.length-2],p=m[m.length-1],m.length>4?(o=m[m.length-4],s=m[m.length-3]):(o=h,s=p),r.push(m)}return r};var n=t("svg-arc-to-cubic-bezier");function i(t,e,r,n){return["C",t,e,r,n,r,n]}function a(t,e,r,n,i,a){return["C",t/3+2/3*r,e/3+2/3*n,i/3+2/3*r,a/3+2/3*n,i,a]}},{"svg-arc-to-cubic-bezier":571}],574:[function(t,e,r){"use strict";var n,i=t("svg-path-bounds"),a=t("parse-svg-path"),o=t("draw-svg-path"),s=t("is-svg-path"),l=t("bitmap-sdf"),c=document.createElement("canvas"),u=c.getContext("2d");e.exports=function(t,e){if(!s(t))throw Error("Argument should be valid svg path string");e||(e={});var r,f;e.shape?(r=e.shape[0],f=e.shape[1]):(r=c.width=e.w||e.width||200,f=c.height=e.h||e.height||200);var h=Math.min(r,f),p=e.stroke||0,d=e.viewbox||e.viewBox||i(t),g=[r/(d[2]-d[0]),f/(d[3]-d[1])],m=Math.min(g[0]||0,g[1]||0)/2;u.fillStyle="black",u.fillRect(0,0,r,f),u.fillStyle="white",p&&("number"!=typeof p&&(p=1),u.strokeStyle=p>0?"white":"black",u.lineWidth=Math.abs(p));if(u.translate(.5*r,.5*f),u.scale(m,m),function(){if(null!=n)return n;var t=document.createElement("canvas").getContext("2d");if(t.canvas.width=t.canvas.height=1,!window.Path2D)return n=!1;var e=new Path2D("M0,0h1v1h-1v-1Z");t.fillStyle="black",t.fill(e);var r=t.getImageData(0,0,1,1);return n=r&&r.data&&255===r.data[3]}()){var v=new Path2D(t);u.fill(v),p&&u.stroke(v)}else{var y=a(t);o(u,y),u.fill(),p&&u.stroke()}return u.setTransform(1,0,0,1,0,0),l(u,{cutoff:null!=e.cutoff?e.cutoff:.5,radius:null!=e.radius?e.radius:.5*h})}},{"bitmap-sdf":98,"draw-svg-path":174,"is-svg-path":471,"parse-svg-path":505,"svg-path-bounds":572}],575:[function(t,e,r){(function(r){(function(){"use strict";e.exports=function t(e,r,i){i=i||{};var o=a[e];o||(o=a[e]={" ":{data:new Float32Array(0),shape:.2}});var s=o[r];if(!s)if(r.length<=1||!/\d/.test(r))s=o[r]=function(t){for(var e=t.cells,r=t.positions,n=new Float32Array(6*e.length),i=0,a=0,o=0;o<e.length;++o)for(var s=e[o],l=0;l<3;++l){var c=r[s[l]];n[i++]=c[0],n[i++]=c[1]+1.4,a=Math.max(c[0],a)}return{data:n,shape:a}}(n(r,{triangles:!0,font:e,textAlign:i.textAlign||"left",textBaseline:"alphabetic",styletags:{breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0}}));else{for(var l=r.split(/(\d|\s)/),c=new Array(l.length),u=0,f=0,h=0;h<l.length;++h)c[h]=t(e,l[h]),u+=c[h].data.length,f+=c[h].shape,h>0&&(f+=.02);var p=new Float32Array(u),d=0,g=-.5*f;for(h=0;h<c.length;++h){for(var m=c[h].data,v=0;v<m.length;v+=2)p[d++]=m[v]+g,p[d++]=m[v+1];g+=c[h].shape+.02}s=o[r]={data:p,shape:f}}return s};var n=t("vectorize-text"),i=window||r.global||{},a=i.__TEXT_CACHE||{};i.__TEXT_CACHE={}}).call(this)}).call(this,t("_process"))},{_process:526,"vectorize-text":600}],576:[function(t,e,r){!function(t){var r=/^\s+/,n=/\s+$/,i=0,a=t.round,o=t.min,s=t.max,l=t.random;function c(e,l){if(l=l||{},(e=e||"")instanceof c)return e;if(!(this instanceof c))return new c(e,l);var u=function(e){var i={r:0,g:0,b:0},a=1,l=null,c=null,u=null,f=!1,h=!1;"string"==typeof e&&(e=function(t){t=t.replace(r,"").replace(n,"").toLowerCase();var e,i=!1;if(S[t])t=S[t],i=!0;else if("transparent"==t)return{r:0,g:0,b:0,a:0,format:"name"};if(e=j.rgb.exec(t))return{r:e[1],g:e[2],b:e[3]};if(e=j.rgba.exec(t))return{r:e[1],g:e[2],b:e[3],a:e[4]};if(e=j.hsl.exec(t))return{h:e[1],s:e[2],l:e[3]};if(e=j.hsla.exec(t))return{h:e[1],s:e[2],l:e[3],a:e[4]};if(e=j.hsv.exec(t))return{h:e[1],s:e[2],v:e[3]};if(e=j.hsva.exec(t))return{h:e[1],s:e[2],v:e[3],a:e[4]};if(e=j.hex8.exec(t))return{r:P(e[1]),g:P(e[2]),b:P(e[3]),a:R(e[4]),format:i?"name":"hex8"};if(e=j.hex6.exec(t))return{r:P(e[1]),g:P(e[2]),b:P(e[3]),format:i?"name":"hex"};if(e=j.hex4.exec(t))return{r:P(e[1]+""+e[1]),g:P(e[2]+""+e[2]),b:P(e[3]+""+e[3]),a:R(e[4]+""+e[4]),format:i?"name":"hex8"};if(e=j.hex3.exec(t))return{r:P(e[1]+""+e[1]),g:P(e[2]+""+e[2]),b:P(e[3]+""+e[3]),format:i?"name":"hex"};return!1}(e));"object"==typeof e&&(U(e.r)&&U(e.g)&&U(e.b)?(p=e.r,d=e.g,g=e.b,i={r:255*L(p,255),g:255*L(d,255),b:255*L(g,255)},f=!0,h="%"===String(e.r).substr(-1)?"prgb":"rgb"):U(e.h)&&U(e.s)&&U(e.v)?(l=O(e.s),c=O(e.v),i=function(e,r,n){e=6*L(e,360),r=L(r,100),n=L(n,100);var i=t.floor(e),a=e-i,o=n*(1-r),s=n*(1-a*r),l=n*(1-(1-a)*r),c=i%6;return{r:255*[n,s,o,o,l,n][c],g:255*[l,n,n,s,o,o][c],b:255*[o,o,l,n,n,s][c]}}(e.h,l,c),f=!0,h="hsv"):U(e.h)&&U(e.s)&&U(e.l)&&(l=O(e.s),u=O(e.l),i=function(t,e,r){var n,i,a;function o(t,e,r){return r<0&&(r+=1),r>1&&(r-=1),r<1/6?t+6*(e-t)*r:r<.5?e:r<2/3?t+(e-t)*(2/3-r)*6:t}if(t=L(t,360),e=L(e,100),r=L(r,100),0===e)n=i=a=r;else{var s=r<.5?r*(1+e):r+e-r*e,l=2*r-s;n=o(l,s,t+1/3),i=o(l,s,t),a=o(l,s,t-1/3)}return{r:255*n,g:255*i,b:255*a}}(e.h,l,u),f=!0,h="hsl"),e.hasOwnProperty("a")&&(a=e.a));var p,d,g;return a=C(a),{ok:f,format:e.format||h,r:o(255,s(i.r,0)),g:o(255,s(i.g,0)),b:o(255,s(i.b,0)),a:a}}(e);this._originalInput=e,this._r=u.r,this._g=u.g,this._b=u.b,this._a=u.a,this._roundA=a(100*this._a)/100,this._format=l.format||u.format,this._gradientType=l.gradientType,this._r<1&&(this._r=a(this._r)),this._g<1&&(this._g=a(this._g)),this._b<1&&(this._b=a(this._b)),this._ok=u.ok,this._tc_id=i++}function u(t,e,r){t=L(t,255),e=L(e,255),r=L(r,255);var n,i,a=s(t,e,r),l=o(t,e,r),c=(a+l)/2;if(a==l)n=i=0;else{var u=a-l;switch(i=c>.5?u/(2-a-l):u/(a+l),a){case t:n=(e-r)/u+(e<r?6:0);break;case e:n=(r-t)/u+2;break;case r:n=(t-e)/u+4}n/=6}return{h:n,s:i,l:c}}function f(t,e,r){t=L(t,255),e=L(e,255),r=L(r,255);var n,i,a=s(t,e,r),l=o(t,e,r),c=a,u=a-l;if(i=0===a?0:u/a,a==l)n=0;else{switch(a){case t:n=(e-r)/u+(e<r?6:0);break;case e:n=(r-t)/u+2;break;case r:n=(t-e)/u+4}n/=6}return{h:n,s:i,v:c}}function h(t,e,r,n){var i=[z(a(t).toString(16)),z(a(e).toString(16)),z(a(r).toString(16))];return n&&i[0].charAt(0)==i[0].charAt(1)&&i[1].charAt(0)==i[1].charAt(1)&&i[2].charAt(0)==i[2].charAt(1)?i[0].charAt(0)+i[1].charAt(0)+i[2].charAt(0):i.join("")}function p(t,e,r,n){return[z(D(n)),z(a(t).toString(16)),z(a(e).toString(16)),z(a(r).toString(16))].join("")}function d(t,e){e=0===e?0:e||10;var r=c(t).toHsl();return r.s-=e/100,r.s=I(r.s),c(r)}function g(t,e){e=0===e?0:e||10;var r=c(t).toHsl();return r.s+=e/100,r.s=I(r.s),c(r)}function m(t){return c(t).desaturate(100)}function v(t,e){e=0===e?0:e||10;var r=c(t).toHsl();return r.l+=e/100,r.l=I(r.l),c(r)}function y(t,e){e=0===e?0:e||10;var r=c(t).toRgb();return r.r=s(0,o(255,r.r-a(-e/100*255))),r.g=s(0,o(255,r.g-a(-e/100*255))),r.b=s(0,o(255,r.b-a(-e/100*255))),c(r)}function x(t,e){e=0===e?0:e||10;var r=c(t).toHsl();return r.l-=e/100,r.l=I(r.l),c(r)}function b(t,e){var r=c(t).toHsl(),n=(r.h+e)%360;return r.h=n<0?360+n:n,c(r)}function _(t){var e=c(t).toHsl();return e.h=(e.h+180)%360,c(e)}function w(t){var e=c(t).toHsl(),r=e.h;return[c(t),c({h:(r+120)%360,s:e.s,l:e.l}),c({h:(r+240)%360,s:e.s,l:e.l})]}function T(t){var e=c(t).toHsl(),r=e.h;return[c(t),c({h:(r+90)%360,s:e.s,l:e.l}),c({h:(r+180)%360,s:e.s,l:e.l}),c({h:(r+270)%360,s:e.s,l:e.l})]}function k(t){var e=c(t).toHsl(),r=e.h;return[c(t),c({h:(r+72)%360,s:e.s,l:e.l}),c({h:(r+216)%360,s:e.s,l:e.l})]}function M(t,e,r){e=e||6,r=r||30;var n=c(t).toHsl(),i=360/r,a=[c(t)];for(n.h=(n.h-(i*e>>1)+720)%360;--e;)n.h=(n.h+i)%360,a.push(c(n));return a}function A(t,e){e=e||6;for(var r=c(t).toHsv(),n=r.h,i=r.s,a=r.v,o=[],s=1/e;e--;)o.push(c({h:n,s:i,v:a})),a=(a+s)%1;return o}c.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var t=this.toRgb();return(299*t.r+587*t.g+114*t.b)/1e3},getLuminance:function(){var e,r,n,i=this.toRgb();return e=i.r/255,r=i.g/255,n=i.b/255,.2126*(e<=.03928?e/12.92:t.pow((e+.055)/1.055,2.4))+.7152*(r<=.03928?r/12.92:t.pow((r+.055)/1.055,2.4))+.0722*(n<=.03928?n/12.92:t.pow((n+.055)/1.055,2.4))},setAlpha:function(t){return this._a=C(t),this._roundA=a(100*this._a)/100,this},toHsv:function(){var t=f(this._r,this._g,this._b);return{h:360*t.h,s:t.s,v:t.v,a:this._a}},toHsvString:function(){var t=f(this._r,this._g,this._b),e=a(360*t.h),r=a(100*t.s),n=a(100*t.v);return 1==this._a?"hsv("+e+", "+r+"%, "+n+"%)":"hsva("+e+", "+r+"%, "+n+"%, "+this._roundA+")"},toHsl:function(){var t=u(this._r,this._g,this._b);return{h:360*t.h,s:t.s,l:t.l,a:this._a}},toHslString:function(){var t=u(this._r,this._g,this._b),e=a(360*t.h),r=a(100*t.s),n=a(100*t.l);return 1==this._a?"hsl("+e+", "+r+"%, "+n+"%)":"hsla("+e+", "+r+"%, "+n+"%, "+this._roundA+")"},toHex:function(t){return h(this._r,this._g,this._b,t)},toHexString:function(t){return"#"+this.toHex(t)},toHex8:function(t){return function(t,e,r,n,i){var o=[z(a(t).toString(16)),z(a(e).toString(16)),z(a(r).toString(16)),z(D(n))];if(i&&o[0].charAt(0)==o[0].charAt(1)&&o[1].charAt(0)==o[1].charAt(1)&&o[2].charAt(0)==o[2].charAt(1)&&o[3].charAt(0)==o[3].charAt(1))return o[0].charAt(0)+o[1].charAt(0)+o[2].charAt(0)+o[3].charAt(0);return o.join("")}(this._r,this._g,this._b,this._a,t)},toHex8String:function(t){return"#"+this.toHex8(t)},toRgb:function(){return{r:a(this._r),g:a(this._g),b:a(this._b),a:this._a}},toRgbString:function(){return 1==this._a?"rgb("+a(this._r)+", "+a(this._g)+", "+a(this._b)+")":"rgba("+a(this._r)+", "+a(this._g)+", "+a(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:a(100*L(this._r,255))+"%",g:a(100*L(this._g,255))+"%",b:a(100*L(this._b,255))+"%",a:this._a}},toPercentageRgbString:function(){return 1==this._a?"rgb("+a(100*L(this._r,255))+"%, "+a(100*L(this._g,255))+"%, "+a(100*L(this._b,255))+"%)":"rgba("+a(100*L(this._r,255))+"%, "+a(100*L(this._g,255))+"%, "+a(100*L(this._b,255))+"%, "+this._roundA+")"},toName:function(){return 0===this._a?"transparent":!(this._a<1)&&(E[h(this._r,this._g,this._b,!0)]||!1)},toFilter:function(t){var e="#"+p(this._r,this._g,this._b,this._a),r=e,n=this._gradientType?"GradientType = 1, ":"";if(t){var i=c(t);r="#"+p(i._r,i._g,i._b,i._a)}return"progid:DXImageTransform.Microsoft.gradient("+n+"startColorstr="+e+",endColorstr="+r+")"},toString:function(t){var e=!!t;t=t||this._format;var r=!1,n=this._a<1&&this._a>=0;return e||!n||"hex"!==t&&"hex6"!==t&&"hex3"!==t&&"hex4"!==t&&"hex8"!==t&&"name"!==t?("rgb"===t&&(r=this.toRgbString()),"prgb"===t&&(r=this.toPercentageRgbString()),"hex"!==t&&"hex6"!==t||(r=this.toHexString()),"hex3"===t&&(r=this.toHexString(!0)),"hex4"===t&&(r=this.toHex8String(!0)),"hex8"===t&&(r=this.toHex8String()),"name"===t&&(r=this.toName()),"hsl"===t&&(r=this.toHslString()),"hsv"===t&&(r=this.toHsvString()),r||this.toHexString()):"name"===t&&0===this._a?this.toName():this.toRgbString()},clone:function(){return c(this.toString())},_applyModification:function(t,e){var r=t.apply(null,[this].concat([].slice.call(e)));return this._r=r._r,this._g=r._g,this._b=r._b,this.setAlpha(r._a),this},lighten:function(){return this._applyModification(v,arguments)},brighten:function(){return this._applyModification(y,arguments)},darken:function(){return this._applyModification(x,arguments)},desaturate:function(){return this._applyModification(d,arguments)},saturate:function(){return this._applyModification(g,arguments)},greyscale:function(){return this._applyModification(m,arguments)},spin:function(){return this._applyModification(b,arguments)},_applyCombination:function(t,e){return t.apply(null,[this].concat([].slice.call(e)))},analogous:function(){return this._applyCombination(M,arguments)},complement:function(){return this._applyCombination(_,arguments)},monochromatic:function(){return this._applyCombination(A,arguments)},splitcomplement:function(){return this._applyCombination(k,arguments)},triad:function(){return this._applyCombination(w,arguments)},tetrad:function(){return this._applyCombination(T,arguments)}},c.fromRatio=function(t,e){if("object"==typeof t){var r={};for(var n in t)t.hasOwnProperty(n)&&(r[n]="a"===n?t[n]:O(t[n]));t=r}return c(t,e)},c.equals=function(t,e){return!(!t||!e)&&c(t).toRgbString()==c(e).toRgbString()},c.random=function(){return c.fromRatio({r:l(),g:l(),b:l()})},c.mix=function(t,e,r){r=0===r?0:r||50;var n=c(t).toRgb(),i=c(e).toRgb(),a=r/100;return c({r:(i.r-n.r)*a+n.r,g:(i.g-n.g)*a+n.g,b:(i.b-n.b)*a+n.b,a:(i.a-n.a)*a+n.a})},c.readability=function(e,r){var n=c(e),i=c(r);return(t.max(n.getLuminance(),i.getLuminance())+.05)/(t.min(n.getLuminance(),i.getLuminance())+.05)},c.isReadable=function(t,e,r){var n,i,a=c.readability(t,e);switch(i=!1,(n=function(t){var e,r;e=((t=t||{level:"AA",size:"small"}).level||"AA").toUpperCase(),r=(t.size||"small").toLowerCase(),"AA"!==e&&"AAA"!==e&&(e="AA");"small"!==r&&"large"!==r&&(r="small");return{level:e,size:r}}(r)).level+n.size){case"AAsmall":case"AAAlarge":i=a>=4.5;break;case"AAlarge":i=a>=3;break;case"AAAsmall":i=a>=7}return i},c.mostReadable=function(t,e,r){var n,i,a,o,s=null,l=0;i=(r=r||{}).includeFallbackColors,a=r.level,o=r.size;for(var u=0;u<e.length;u++)(n=c.readability(t,e[u]))>l&&(l=n,s=c(e[u]));return c.isReadable(t,s,{level:a,size:o})||!i?s:(r.includeFallbackColors=!1,c.mostReadable(t,["#fff","#000"],r))};var S=c.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},E=c.hexNames=function(t){var e={};for(var r in t)t.hasOwnProperty(r)&&(e[t[r]]=r);return e}(S);function C(t){return t=parseFloat(t),(isNaN(t)||t<0||t>1)&&(t=1),t}function L(e,r){(function(t){return"string"==typeof t&&-1!=t.indexOf(".")&&1===parseFloat(t)})(e)&&(e="100%");var n=function(t){return"string"==typeof t&&-1!=t.indexOf("%")}(e);return e=o(r,s(0,parseFloat(e))),n&&(e=parseInt(e*r,10)/100),t.abs(e-r)<1e-6?1:e%r/parseFloat(r)}function I(t){return o(1,s(0,t))}function P(t){return parseInt(t,16)}function z(t){return 1==t.length?"0"+t:""+t}function O(t){return t<=1&&(t=100*t+"%"),t}function D(e){return t.round(255*parseFloat(e)).toString(16)}function R(t){return P(t)/255}var F,B,N,j=(B="[\\s|\\(]+("+(F="(?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?)")+")[,|\\s]+("+F+")[,|\\s]+("+F+")\\s*\\)?",N="[\\s|\\(]+("+F+")[,|\\s]+("+F+")[,|\\s]+("+F+")[,|\\s]+("+F+")\\s*\\)?",{CSS_UNIT:new RegExp(F),rgb:new RegExp("rgb"+B),rgba:new RegExp("rgba"+N),hsl:new RegExp("hsl"+B),hsla:new RegExp("hsla"+N),hsv:new RegExp("hsv"+B),hsva:new RegExp("hsva"+N),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/});function U(t){return!!j.CSS_UNIT.exec(t)}"undefined"!=typeof e&&e.exports?e.exports=c:window.tinycolor=c}(Math)},{}],577:[function(t,e,r){"use strict";e.exports=i,e.exports.float32=e.exports.float=i,e.exports.fract32=e.exports.fract=function(t){if(t.length){for(var e=i(t),r=0,n=e.length;r<n;r++)e[r]=t[r]-e[r];return e}return i(t-i(t))};var n=new Float32Array(1);function i(t){if(t.length){if(t instanceof Float32Array)return t;var e=new Float32Array(t);return e.set(t),e}return n[0]=t,n[0]}},{}],578:[function(t,e,r){"use strict";var n=t("parse-unit");e.exports=a;function i(t,e){var r=n(getComputedStyle(t).getPropertyValue(e));return r[0]*a(r[1],t)}function a(t,e){switch(e=e||document.body,t=(t||"px").trim().toLowerCase(),e!==window&&e!==document||(e=document.body),t){case"%":return e.clientHeight/100;case"ch":case"ex":return function(t,e){var r=document.createElement("div");r.style["font-size"]="128"+t,e.appendChild(r);var n=i(r,"font-size")/128;return e.removeChild(r),n}(t,e);case"em":return i(e,"font-size");case"rem":return i(document.body,"font-size");case"vw":return window.innerWidth/100;case"vh":return window.innerHeight/100;case"vmin":return Math.min(window.innerWidth,window.innerHeight)/100;case"vmax":return Math.max(window.innerWidth,window.innerHeight)/100;case"in":return 96;case"cm":return 96/2.54;case"mm":return 96/25.4;case"pt":return 96/72;case"pc":return 16}return 1}},{"parse-unit":506}],579:[function(t,e,r){!function(t,n){"object"==typeof r&&"undefined"!=typeof e?n(r):n((t=t||self).topojson=t.topojson||{})}(this,(function(t){"use strict";function e(t){return t}function r(t){if(null==t)return e;var r,n,i=t.scale[0],a=t.scale[1],o=t.translate[0],s=t.translate[1];return function(t,e){e||(r=n=0);var l=2,c=t.length,u=new Array(c);for(u[0]=(r+=t[0])*i+o,u[1]=(n+=t[1])*a+s;l<c;)u[l]=t[l],++l;return u}}function n(t){var e,n=r(t.transform),i=1/0,a=i,o=-i,s=-i;function l(t){(t=n(t))[0]<i&&(i=t[0]),t[0]>o&&(o=t[0]),t[1]<a&&(a=t[1]),t[1]>s&&(s=t[1])}function c(t){switch(t.type){case"GeometryCollection":t.geometries.forEach(c);break;case"Point":l(t.coordinates);break;case"MultiPoint":t.coordinates.forEach(l)}}for(e in t.arcs.forEach((function(t){for(var e,r=-1,l=t.length;++r<l;)(e=n(t[r],r))[0]<i&&(i=e[0]),e[0]>o&&(o=e[0]),e[1]<a&&(a=e[1]),e[1]>s&&(s=e[1])})),t.objects)c(t.objects[e]);return[i,a,o,s]}function i(t,e){var r=e.id,n=e.bbox,i=null==e.properties?{}:e.properties,o=a(t,e);return null==r&&null==n?{type:"Feature",properties:i,geometry:o}:null==n?{type:"Feature",id:r,properties:i,geometry:o}:{type:"Feature",id:r,bbox:n,properties:i,geometry:o}}function a(t,e){var n=r(t.transform),i=t.arcs;function a(t,e){e.length&&e.pop();for(var r=i[t<0?~t:t],a=0,o=r.length;a<o;++a)e.push(n(r[a],a));t<0&&function(t,e){for(var r,n=t.length,i=n-e;i<--n;)r=t[i],t[i++]=t[n],t[n]=r}(e,o)}function o(t){return n(t)}function s(t){for(var e=[],r=0,n=t.length;r<n;++r)a(t[r],e);return e.length<2&&e.push(e[0]),e}function l(t){for(var e=s(t);e.length<4;)e.push(e[0]);return e}function c(t){return t.map(l)}return function t(e){var r,n=e.type;switch(n){case"GeometryCollection":return{type:n,geometries:e.geometries.map(t)};case"Point":r=o(e.coordinates);break;case"MultiPoint":r=e.coordinates.map(o);break;case"LineString":r=s(e.arcs);break;case"MultiLineString":r=e.arcs.map(s);break;case"Polygon":r=c(e.arcs);break;case"MultiPolygon":r=e.arcs.map(c);break;default:return null}return{type:n,coordinates:r}}(e)}function o(t,e){var r={},n={},i={},a=[],o=-1;function s(t,e){for(var n in t){var i=t[n];delete e[i.start],delete i.start,delete i.end,i.forEach((function(t){r[t<0?~t:t]=1})),a.push(i)}}return e.forEach((function(r,n){var i,a=t.arcs[r<0?~r:r];a.length<3&&!a[1][0]&&!a[1][1]&&(i=e[++o],e[o]=r,e[n]=i)})),e.forEach((function(e){var r,a,o=function(e){var r,n=t.arcs[e<0?~e:e],i=n[0];t.transform?(r=[0,0],n.forEach((function(t){r[0]+=t[0],r[1]+=t[1]}))):r=n[n.length-1];return e<0?[r,i]:[i,r]}(e),s=o[0],l=o[1];if(r=i[s])if(delete i[r.end],r.push(e),r.end=l,a=n[l]){delete n[a.start];var c=a===r?r:r.concat(a);n[c.start=r.start]=i[c.end=a.end]=c}else n[r.start]=i[r.end]=r;else if(r=n[l])if(delete n[r.start],r.unshift(e),r.start=s,a=i[s]){delete i[a.end];var u=a===r?r:a.concat(r);n[u.start=a.start]=i[u.end=r.end]=u}else n[r.start]=i[r.end]=r;else n[(r=[e]).start=s]=i[r.end=l]=r})),s(i,n),s(n,i),e.forEach((function(t){r[t<0?~t:t]||a.push([t])})),a}function s(t,e,r){var n,i,a;if(arguments.length>1)n=l(t,e,r);else for(i=0,n=new Array(a=t.arcs.length);i<a;++i)n[i]=i;return{type:"MultiLineString",arcs:o(t,n)}}function l(t,e,r){var n,i=[],a=[];function o(t){var e=t<0?~t:t;(a[e]||(a[e]=[])).push({i:t,g:n})}function s(t){t.forEach(o)}function l(t){t.forEach(s)}return function t(e){switch(n=e,e.type){case"GeometryCollection":e.geometries.forEach(t);break;case"LineString":s(e.arcs);break;case"MultiLineString":case"Polygon":l(e.arcs);break;case"MultiPolygon":!function(t){t.forEach(l)}(e.arcs)}}(e),a.forEach(null==r?function(t){i.push(t[0].i)}:function(t){r(t[0].g,t[t.length-1].g)&&i.push(t[0].i)}),i}function c(t,e){var r={},n=[],i=[];function s(t){t.forEach((function(e){e.forEach((function(e){(r[e=e<0?~e:e]||(r[e]=[])).push(t)}))})),n.push(t)}function l(e){return function(t){for(var e,r=-1,n=t.length,i=t[n-1],a=0;++r<n;)e=i,i=t[r],a+=e[0]*i[1]-e[1]*i[0];return Math.abs(a)}(a(t,{type:"Polygon",arcs:[e]}).coordinates[0])}return e.forEach((function t(e){switch(e.type){case"GeometryCollection":e.geometries.forEach(t);break;case"Polygon":s(e.arcs);break;case"MultiPolygon":e.arcs.forEach(s)}})),n.forEach((function(t){if(!t._){var e=[],n=[t];for(t._=1,i.push(e);t=n.pop();)e.push(t),t.forEach((function(t){t.forEach((function(t){r[t<0?~t:t].forEach((function(t){t._||(t._=1,n.push(t))}))}))}))}})),n.forEach((function(t){delete t._})),{type:"MultiPolygon",arcs:i.map((function(e){var n,i=[];if(e.forEach((function(t){t.forEach((function(t){t.forEach((function(t){r[t<0?~t:t].length<2&&i.push(t)}))}))})),(n=(i=o(t,i)).length)>1)for(var a,s,c=1,u=l(i[0]);c<n;++c)(a=l(i[c]))>u&&(s=i[0],i[0]=i[c],i[c]=s,u=a);return i})).filter((function(t){return t.length>0}))}}function u(t,e){for(var r=0,n=t.length;r<n;){var i=r+n>>>1;t[i]<e?r=i+1:n=i}return r}function f(t){if(null==t)return e;var r,n,i=t.scale[0],a=t.scale[1],o=t.translate[0],s=t.translate[1];return function(t,e){e||(r=n=0);var l=2,c=t.length,u=new Array(c),f=Math.round((t[0]-o)/i),h=Math.round((t[1]-s)/a);for(u[0]=f-r,r=f,u[1]=h-n,n=h;l<c;)u[l]=t[l],++l;return u}}t.bbox=n,t.feature=function(t,e){return"string"==typeof e&&(e=t.objects[e]),"GeometryCollection"===e.type?{type:"FeatureCollection",features:e.geometries.map((function(e){return i(t,e)}))}:i(t,e)},t.merge=function(t){return a(t,c.apply(this,arguments))},t.mergeArcs=c,t.mesh=function(t){return a(t,s.apply(this,arguments))},t.meshArcs=s,t.neighbors=function(t){var e={},r=t.map((function(){return[]}));function n(t,r){t.forEach((function(t){t<0&&(t=~t);var n=e[t];n?n.push(r):e[t]=[r]}))}function i(t,e){t.forEach((function(t){n(t,e)}))}var a={LineString:n,MultiLineString:i,Polygon:i,MultiPolygon:function(t,e){t.forEach((function(t){i(t,e)}))}};for(var o in t.forEach((function t(e,r){"GeometryCollection"===e.type?e.geometries.forEach((function(e){t(e,r)})):e.type in a&&a[e.type](e.arcs,r)})),e)for(var s=e[o],l=s.length,c=0;c<l;++c)for(var f=c+1;f<l;++f){var h,p=s[c],d=s[f];(h=r[p])[o=u(h,d)]!==d&&h.splice(o,0,d),(h=r[d])[o=u(h,p)]!==p&&h.splice(o,0,p)}return r},t.quantize=function(t,e){if(t.transform)throw new Error("already quantized");if(e&&e.scale)l=t.bbox;else{if(!((r=Math.floor(e))>=2))throw new Error("n must be \u22652");var r,i=(l=t.bbox||n(t))[0],a=l[1],o=l[2],s=l[3];e={scale:[o-i?(o-i)/(r-1):1,s-a?(s-a)/(r-1):1],translate:[i,a]}}var l,c,u=f(e),h=t.objects,p={};function d(t){return u(t)}function g(t){var e;switch(t.type){case"GeometryCollection":e={type:"GeometryCollection",geometries:t.geometries.map(g)};break;case"Point":e={type:"Point",coordinates:d(t.coordinates)};break;case"MultiPoint":e={type:"MultiPoint",coordinates:t.coordinates.map(d)};break;default:return t}return null!=t.id&&(e.id=t.id),null!=t.bbox&&(e.bbox=t.bbox),null!=t.properties&&(e.properties=t.properties),e}for(c in h)p[c]=g(h[c]);return{type:"Topology",bbox:l,transform:e,objects:p,arcs:t.arcs.map((function(t){var e,r=0,n=1,i=t.length,a=new Array(i);for(a[0]=u(t[0],0);++r<i;)((e=u(t[r],r))[0]||e[1])&&(a[n++]=e);return 1===n&&(a[n++]=[0,0]),a.length=n,a}))}},t.transform=r,t.untransform=f,Object.defineProperty(t,"__esModule",{value:!0})}))},{}],580:[function(t,e,r){"use strict";e.exports=function(t){if(t<0)return[];if(0===t)return[[0]];for(var e=0|Math.round(a(t+1)),r=[],o=0;o<e;++o){for(var s=n.unrank(t,o),l=[0],c=0,u=0;u<s.length;++u)c+=1<<s[u],l.push(c);i(s)<1&&(l[0]=c,l[t]=0),r.push(l)}return r};var n=t("permutation-rank"),i=t("permutation-parity"),a=t("gamma")},{gamma:248,"permutation-parity":509,"permutation-rank":510}],581:[function(t,e,r){"use strict";e.exports=function(t){var e=(t=t||{}).center||[0,0,0],r=t.up||[0,1,0],n=t.right||f(r),i=t.radius||1,a=t.theta||0,u=t.phi||0;if(e=[].slice.call(e,0,3),r=[].slice.call(r,0,3),s(r,r),n=[].slice.call(n,0,3),s(n,n),"eye"in t){var p=t.eye,d=[p[0]-e[0],p[1]-e[1],p[2]-e[2]];o(n,d,r),c(n[0],n[1],n[2])<1e-6?n=f(r):s(n,n),i=c(d[0],d[1],d[2]);var g=l(r,d)/i,m=l(n,d)/i;u=Math.acos(g),a=Math.acos(m)}return i=Math.log(i),new h(t.zoomMin,t.zoomMax,e,r,n,i,a,u)};var n=t("filtered-vector"),i=t("gl-mat4/invert"),a=t("gl-mat4/rotate"),o=t("gl-vec3/cross"),s=t("gl-vec3/normalize"),l=t("gl-vec3/dot");function c(t,e,r){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2))}function u(t){return Math.min(1,Math.max(-1,t))}function f(t){var e=Math.abs(t[0]),r=Math.abs(t[1]),n=Math.abs(t[2]),i=[0,0,0];e>Math.max(r,n)?i[2]=1:r>Math.max(e,n)?i[0]=1:i[1]=1;for(var a=0,o=0,l=0;l<3;++l)a+=t[l]*t[l],o+=i[l]*t[l];for(l=0;l<3;++l)i[l]-=o/a*t[l];return s(i,i),i}function h(t,e,r,i,a,o,s,l){this.center=n(r),this.up=n(i),this.right=n(a),this.radius=n([o]),this.angle=n([s,l]),this.angle.bounds=[[-1/0,-Math.PI/2],[1/0,Math.PI/2]],this.setDistanceLimits(t,e),this.computedCenter=this.center.curve(0),this.computedUp=this.up.curve(0),this.computedRight=this.right.curve(0),this.computedRadius=this.radius.curve(0),this.computedAngle=this.angle.curve(0),this.computedToward=[0,0,0],this.computedEye=[0,0,0],this.computedMatrix=new Array(16);for(var c=0;c<16;++c)this.computedMatrix[c]=.5;this.recalcMatrix(0)}var p=h.prototype;p.setDistanceLimits=function(t,e){t=t>0?Math.log(t):-1/0,e=e>0?Math.log(e):1/0,e=Math.max(e,t),this.radius.bounds[0][0]=t,this.radius.bounds[1][0]=e},p.getDistanceLimits=function(t){var e=this.radius.bounds[0];return t?(t[0]=Math.exp(e[0][0]),t[1]=Math.exp(e[1][0]),t):[Math.exp(e[0][0]),Math.exp(e[1][0])]},p.recalcMatrix=function(t){this.center.curve(t),this.up.curve(t),this.right.curve(t),this.radius.curve(t),this.angle.curve(t);for(var e=this.computedUp,r=this.computedRight,n=0,i=0,a=0;a<3;++a)i+=e[a]*r[a],n+=e[a]*e[a];var l=Math.sqrt(n),u=0;for(a=0;a<3;++a)r[a]-=e[a]*i/n,u+=r[a]*r[a],e[a]/=l;var f=Math.sqrt(u);for(a=0;a<3;++a)r[a]/=f;var h=this.computedToward;o(h,e,r),s(h,h);var p=Math.exp(this.computedRadius[0]),d=this.computedAngle[0],g=this.computedAngle[1],m=Math.cos(d),v=Math.sin(d),y=Math.cos(g),x=Math.sin(g),b=this.computedCenter,_=m*y,w=v*y,T=x,k=-m*x,M=-v*x,A=y,S=this.computedEye,E=this.computedMatrix;for(a=0;a<3;++a){var C=_*r[a]+w*h[a]+T*e[a];E[4*a+1]=k*r[a]+M*h[a]+A*e[a],E[4*a+2]=C,E[4*a+3]=0}var L=E[1],I=E[5],P=E[9],z=E[2],O=E[6],D=E[10],R=I*D-P*O,F=P*z-L*D,B=L*O-I*z,N=c(R,F,B);R/=N,F/=N,B/=N,E[0]=R,E[4]=F,E[8]=B;for(a=0;a<3;++a)S[a]=b[a]+E[2+4*a]*p;for(a=0;a<3;++a){u=0;for(var j=0;j<3;++j)u+=E[a+4*j]*S[j];E[12+a]=-u}E[15]=1},p.getMatrix=function(t,e){this.recalcMatrix(t);var r=this.computedMatrix;if(e){for(var n=0;n<16;++n)e[n]=r[n];return e}return r};var d=[0,0,0];p.rotate=function(t,e,r,n){if(this.angle.move(t,e,r),n){this.recalcMatrix(t);var i=this.computedMatrix;d[0]=i[2],d[1]=i[6],d[2]=i[10];for(var o=this.computedUp,s=this.computedRight,l=this.computedToward,c=0;c<3;++c)i[4*c]=o[c],i[4*c+1]=s[c],i[4*c+2]=l[c];a(i,i,n,d);for(c=0;c<3;++c)o[c]=i[4*c],s[c]=i[4*c+1];this.up.set(t,o[0],o[1],o[2]),this.right.set(t,s[0],s[1],s[2])}},p.pan=function(t,e,r,n){e=e||0,r=r||0,n=n||0,this.recalcMatrix(t);var i=this.computedMatrix,a=(Math.exp(this.computedRadius[0]),i[1]),o=i[5],s=i[9],l=c(a,o,s);a/=l,o/=l,s/=l;var u=i[0],f=i[4],h=i[8],p=u*a+f*o+h*s,d=c(u-=a*p,f-=o*p,h-=s*p),g=(u/=d)*e+a*r,m=(f/=d)*e+o*r,v=(h/=d)*e+s*r;this.center.move(t,g,m,v);var y=Math.exp(this.computedRadius[0]);y=Math.max(1e-4,y+n),this.radius.set(t,Math.log(y))},p.translate=function(t,e,r,n){this.center.move(t,e||0,r||0,n||0)},p.setMatrix=function(t,e,r,n){var a=1;"number"==typeof r&&(a=0|r),(a<0||a>3)&&(a=1);var o=(a+2)%3;e||(this.recalcMatrix(t),e=this.computedMatrix);var s=e[a],l=e[a+4],f=e[a+8];if(n){var h=Math.abs(s),p=Math.abs(l),d=Math.abs(f),g=Math.max(h,p,d);h===g?(s=s<0?-1:1,l=f=0):d===g?(f=f<0?-1:1,s=l=0):(l=l<0?-1:1,s=f=0)}else{var m=c(s,l,f);s/=m,l/=m,f/=m}var v,y,x=e[o],b=e[o+4],_=e[o+8],w=x*s+b*l+_*f,T=c(x-=s*w,b-=l*w,_-=f*w),k=l*(_/=T)-f*(b/=T),M=f*(x/=T)-s*_,A=s*b-l*x,S=c(k,M,A);if(k/=S,M/=S,A/=S,this.center.jump(t,H,G,Y),this.radius.idle(t),this.up.jump(t,s,l,f),this.right.jump(t,x,b,_),2===a){var E=e[1],C=e[5],L=e[9],I=E*x+C*b+L*_,P=E*k+C*M+L*A;v=R<0?-Math.PI/2:Math.PI/2,y=Math.atan2(P,I)}else{var z=e[2],O=e[6],D=e[10],R=z*s+O*l+D*f,F=z*x+O*b+D*_,B=z*k+O*M+D*A;v=Math.asin(u(R)),y=Math.atan2(B,F)}this.angle.jump(t,y,v),this.recalcMatrix(t);var N=e[2],j=e[6],U=e[10],V=this.computedMatrix;i(V,e);var 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-N*W,G-j*W,Y-U*W)},p.lastT=function(){return Math.max(this.center.lastT(),this.up.lastT(),this.right.lastT(),this.radius.lastT(),this.angle.lastT())},p.idle=function(t){this.center.idle(t),this.up.idle(t),this.right.idle(t),this.radius.idle(t),this.angle.idle(t)},p.flush=function(t){this.center.flush(t),this.up.flush(t),this.right.flush(t),this.radius.flush(t),this.angle.flush(t)},p.setDistance=function(t,e){e>0&&this.radius.set(t,Math.log(e))},p.lookAt=function(t,e,r,n){this.recalcMatrix(t),e=e||this.computedEye,r=r||this.computedCenter;var i=(n=n||this.computedUp)[0],a=n[1],o=n[2],s=c(i,a,o);if(!(s<1e-6)){i/=s,a/=s,o/=s;var l=e[0]-r[0],f=e[1]-r[1],h=e[2]-r[2],p=c(l,f,h);if(!(p<1e-6)){l/=p,f/=p,h/=p;var d=this.computedRight,g=d[0],m=d[1],v=d[2],y=i*g+a*m+o*v,x=c(g-=y*i,m-=y*a,v-=y*o);if(!(x<.01&&(x=c(g=a*h-o*f,m=o*l-i*h,v=i*f-a*l))<1e-6)){g/=x,m/=x,v/=x,this.up.set(t,i,a,o),this.right.set(t,g,m,v),this.center.set(t,r[0],r[1],r[2]),this.radius.set(t,Math.log(p));var b=a*v-o*m,_=o*g-i*v,w=i*m-a*g,T=c(b,_,w),k=i*l+a*f+o*h,M=g*l+m*f+v*h,A=(b/=T)*l+(_/=T)*f+(w/=T)*h,S=Math.asin(u(k)),E=Math.atan2(A,M),C=this.angle._state,L=C[C.length-1],I=C[C.length-2];L%=2*Math.PI;var P=Math.abs(L+2*Math.PI-E),z=Math.abs(L-E),O=Math.abs(L-2*Math.PI-E);P<z&&(L+=2*Math.PI),O<z&&(L-=2*Math.PI),this.angle.jump(this.angle.lastT(),L,I),this.angle.set(t,E,S)}}}}},{"filtered-vector":242,"gl-mat4/invert":293,"gl-mat4/rotate":299,"gl-vec3/cross":365,"gl-vec3/dot":370,"gl-vec3/normalize":387}],582:[function(t,e,r){"use strict";e.exports=function(t,e,r){var i=t*e,a=n*t,o=a-(a-t),s=t-o,l=n*e,c=l-(l-e),u=e-c,f=s*u-(i-o*c-s*c-o*u);if(r)return r[0]=f,r[1]=i,r;return[f,i]};var n=+(Math.pow(2,27)+1)},{}],583:[function(t,e,r){"use strict";e.exports=function(t,e,r){var n=t+e,i=n-t,a=e-i,o=t-(n-i);if(r)return r[0]=o+a,r[1]=n,r;return[o+a,n]}},{}],584:[function(t,e,r){"use strict";var n=t("../prototype/is");e.exports=function(t){if("function"!=typeof t)return!1;if(!hasOwnProperty.call(t,"length"))return!1;try{if("number"!=typeof t.length)return!1;if("function"!=typeof t.call)return!1;if("function"!=typeof t.apply)return!1}catch(t){return!1}return!n(t)}},{"../prototype/is":591}],585:[function(t,e,r){"use strict";var n=t("../value/is"),i=t("../object/is"),a=t("../string/coerce"),o=t("./to-short-string"),s=function(t,e){return t.replace("%v",o(e))};e.exports=function(t,e,r){if(!i(r))throw new TypeError(s(e,t));if(!n(t)){if("default"in r)return r.default;if(r.isOptional)return null}var o=a(r.errorMessage);throw n(o)||(o=e),new TypeError(s(o,t))}},{"../object/is":588,"../string/coerce":592,"../value/is":594,"./to-short-string":587}],586:[function(t,e,r){"use strict";e.exports=function(t){try{return t.toString()}catch(e){try{return String(t)}catch(t){return null}}}},{}],587:[function(t,e,r){"use strict";var n=t("./safe-to-string"),i=/[\n\r\u2028\u2029]/g;e.exports=function(t){var e=n(t);return null===e?"<Non-coercible to string value>":(e.length>100&&(e=e.slice(0,99)+"\u2026"),e=e.replace(i,(function(t){switch(t){case"\n":return"\\n";case"\r":return"\\r";case"\u2028":return"\\u2028";case"\u2029":return"\\u2029";default:throw new Error("Unexpected character")}})))}},{"./safe-to-string":586}],588:[function(t,e,r){"use strict";var n=t("../value/is"),i={object:!0,function:!0,undefined:!0};e.exports=function(t){return!!n(t)&&hasOwnProperty.call(i,typeof t)}},{"../value/is":594}],589:[function(t,e,r){"use strict";var n=t("../lib/resolve-exception"),i=t("./is");e.exports=function(t){return i(t)?t:n(t,"%v is not a plain function",arguments[1])}},{"../lib/resolve-exception":585,"./is":590}],590:[function(t,e,r){"use strict";var n=t("../function/is"),i=/^\s*class[\s{/}]/,a=Function.prototype.toString;e.exports=function(t){return!!n(t)&&!i.test(a.call(t))}},{"../function/is":584}],591:[function(t,e,r){"use strict";var n=t("../object/is");e.exports=function(t){if(!n(t))return!1;try{return!!t.constructor&&t.constructor.prototype===t}catch(t){return!1}}},{"../object/is":588}],592:[function(t,e,r){"use strict";var n=t("../value/is"),i=t("../object/is"),a=Object.prototype.toString;e.exports=function(t){if(!n(t))return null;if(i(t)){var e=t.toString;if("function"!=typeof e)return null;if(e===a)return null}try{return""+t}catch(t){return null}}},{"../object/is":588,"../value/is":594}],593:[function(t,e,r){"use strict";var n=t("../lib/resolve-exception"),i=t("./is");e.exports=function(t){return i(t)?t:n(t,"Cannot use %v",arguments[1])}},{"../lib/resolve-exception":585,"./is":594}],594:[function(t,e,r){"use strict";e.exports=function(t){return null!=t}},{}],595:[function(t,e,r){(function(e){(function(){"use strict";var n=t("bit-twiddle"),i=t("dup"),a=t("buffer").Buffer;e.__TYPEDARRAY_POOL||(e.__TYPEDARRAY_POOL={UINT8:i([32,0]),UINT16:i([32,0]),UINT32:i([32,0]),BIGUINT64:i([32,0]),INT8:i([32,0]),INT16:i([32,0]),INT32:i([32,0]),BIGINT64:i([32,0]),FLOAT:i([32,0]),DOUBLE:i([32,0]),DATA:i([32,0]),UINT8C:i([32,0]),BUFFER:i([32,0])});var o="undefined"!=typeof Uint8ClampedArray,s="undefined"!=typeof BigUint64Array,l="undefined"!=typeof BigInt64Array,c=e.__TYPEDARRAY_POOL;c.UINT8C||(c.UINT8C=i([32,0])),c.BIGUINT64||(c.BIGUINT64=i([32,0])),c.BIGINT64||(c.BIGINT64=i([32,0])),c.BUFFER||(c.BUFFER=i([32,0]));var u=c.DATA,f=c.BUFFER;function h(t){if(t){var e=t.length||t.byteLength,r=n.log2(e);u[r].push(t)}}function p(t){t=n.nextPow2(t);var e=n.log2(t),r=u[e];return r.length>0?r.pop():new ArrayBuffer(t)}function d(t){return new Uint8Array(p(t),0,t)}function g(t){return new Uint16Array(p(2*t),0,t)}function m(t){return new Uint32Array(p(4*t),0,t)}function v(t){return new Int8Array(p(t),0,t)}function y(t){return new Int16Array(p(2*t),0,t)}function x(t){return new Int32Array(p(4*t),0,t)}function b(t){return new Float32Array(p(4*t),0,t)}function _(t){return new Float64Array(p(8*t),0,t)}function w(t){return o?new Uint8ClampedArray(p(t),0,t):d(t)}function T(t){return s?new BigUint64Array(p(8*t),0,t):null}function k(t){return l?new BigInt64Array(p(8*t),0,t):null}function M(t){return new DataView(p(t),0,t)}function A(t){t=n.nextPow2(t);var e=n.log2(t),r=f[e];return r.length>0?r.pop():new a(t)}r.free=function(t){if(a.isBuffer(t))f[n.log2(t.length)].push(t);else{if("[object ArrayBuffer]"!==Object.prototype.toString.call(t)&&(t=t.buffer),!t)return;var e=t.length||t.byteLength,r=0|n.log2(e);u[r].push(t)}},r.freeUint8=r.freeUint16=r.freeUint32=r.freeBigUint64=r.freeInt8=r.freeInt16=r.freeInt32=r.freeBigInt64=r.freeFloat32=r.freeFloat=r.freeFloat64=r.freeDouble=r.freeUint8Clamped=r.freeDataView=function(t){h(t.buffer)},r.freeArrayBuffer=h,r.freeBuffer=function(t){f[n.log2(t.length)].push(t)},r.malloc=function(t,e){if(void 0===e||"arraybuffer"===e)return p(t);switch(e){case"uint8":return d(t);case"uint16":return g(t);case"uint32":return m(t);case"int8":return v(t);case"int16":return y(t);case"int32":return x(t);case"float":case"float32":return b(t);case"double":case"float64":return _(t);case"uint8_clamped":return w(t);case"bigint64":return k(t);case"biguint64":return T(t);case"buffer":return A(t);case"data":case"dataview":return M(t);default:return null}return null},r.mallocArrayBuffer=p,r.mallocUint8=d,r.mallocUint16=g,r.mallocUint32=m,r.mallocInt8=v,r.mallocInt16=y,r.mallocInt32=x,r.mallocFloat32=r.mallocFloat=b,r.mallocFloat64=r.mallocDouble=_,r.mallocUint8Clamped=w,r.mallocBigUint64=T,r.mallocBigInt64=k,r.mallocDataView=M,r.mallocBuffer=A,r.clearCache=function(){for(var t=0;t<32;++t)c.UINT8[t].length=0,c.UINT16[t].length=0,c.UINT32[t].length=0,c.INT8[t].length=0,c.INT16[t].length=0,c.INT32[t].length=0,c.FLOAT[t].length=0,c.DOUBLE[t].length=0,c.BIGUINT64[t].length=0,c.BIGINT64[t].length=0,c.UINT8C[t].length=0,u[t].length=0,f[t].length=0}}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"bit-twiddle":97,buffer:111,dup:176}],596:[function(t,e,r){"use strict";function n(t){this.roots=new Array(t),this.ranks=new Array(t);for(var e=0;e<t;++e)this.roots[e]=e,this.ranks[e]=0}e.exports=n;var i=n.prototype;Object.defineProperty(i,"length",{get:function(){return this.roots.length}}),i.makeSet=function(){var t=this.roots.length;return this.roots.push(t),this.ranks.push(0),t},i.find=function(t){for(var e=t,r=this.roots;r[t]!==t;)t=r[t];for(;r[e]!==t;){var n=r[e];r[e]=t,e=n}return t},i.link=function(t,e){var r=this.find(t),n=this.find(e);if(r!==n){var i=this.ranks,a=this.roots,o=i[r],s=i[n];o<s?a[r]=n:s<o?a[n]=r:(a[n]=r,++i[r])}}},{}],597:[function(t,e,r){"use strict";e.exports=function(t,e,r){return 0===t.length?t:e?(r||t.sort(e),function(t,e){for(var r=1,n=t.length,i=t[0],a=t[0],o=1;o<n;++o)if(a=i,e(i=t[o],a)){if(o===r){r++;continue}t[r++]=i}return t.length=r,t}(t,e)):(r||t.sort(),function(t){for(var e=1,r=t.length,n=t[0],i=t[0],a=1;a<r;++a,i=n)if(i=n,(n=t[a])!==i){if(a===e){e++;continue}t[e++]=n}return t.length=e,t}(t))}},{}],598:[function(t,e,r){var n=/[\'\"]/;e.exports=function(t){return t?(n.test(t.charAt(0))&&(t=t.substr(1)),n.test(t.charAt(t.length-1))&&(t=t.substr(0,t.length-1)),t):""}},{}],599:[function(t,e,r){"use strict";e.exports=function(t,e,r){Array.isArray(r)||(r=[].slice.call(arguments,2));for(var n=0,i=r.length;n<i;n++){var a=r[n];for(var o in a)if((void 0===e[o]||Array.isArray(e[o])||t[o]!==e[o])&&o in e){var s;if(!0===a[o])s=e[o];else{if(!1===a[o])continue;if("function"==typeof a[o]&&void 0===(s=a[o](e[o],t,e)))continue}t[o]=s}}return t}},{}],600:[function(t,e,r){"use strict";e.exports=function(t,e){"object"==typeof e&&null!==e||(e={});return n(t,e.canvas||i,e.context||a,e)};var n=t("./lib/vtext"),i=null,a=null;"undefined"!=typeof document&&((i=document.createElement("canvas")).width=8192,i.height=1024,a=i.getContext("2d"))},{"./lib/vtext":601}],601:[function(t,e,r){e.exports=function(t,e,r,n){var a=64,o=1.25,s={breaklines:!1,bolds:!1,italics:!1,subscripts:!1,superscripts:!1};n&&(n.size&&n.size>0&&(a=n.size),n.lineSpacing&&n.lineSpacing>0&&(o=n.lineSpacing),n.styletags&&n.styletags.breaklines&&(s.breaklines=!!n.styletags.breaklines),n.styletags&&n.styletags.bolds&&(s.bolds=!!n.styletags.bolds),n.styletags&&n.styletags.italics&&(s.italics=!!n.styletags.italics),n.styletags&&n.styletags.subscripts&&(s.subscripts=!!n.styletags.subscripts),n.styletags&&n.styletags.superscripts&&(s.superscripts=!!n.styletags.superscripts));return r.font=[n.fontStyle,n.fontVariant,n.fontWeight,a+"px",n.font].filter((function(t){return t})).join(" "),r.textAlign="start",r.textBaseline="alphabetic",r.direction="ltr",h(function(t,e,r,n,a,o){r=r.replace(/\n/g,""),r=!0===o.breaklines?r.replace(/\<br\>/g,"\n"):r.replace(/\<br\>/g," ");var s="",l=[];for(p=0;p<r.length;++p)l[p]=s;!0===o.bolds&&(l=c("b","b|",r,l));!0===o.italics&&(l=c("i","i|",r,l));!0===o.superscripts&&(l=c("sup","+1",r,l));!0===o.subscripts&&(l=c("sub","-1",r,l));var u=[],f="";for(p=0;p<r.length;++p)null!==l[p]&&(f+=r[p],u.push(l[p]));var h,p,d,g,m,v=f.split("\n"),y=v.length,x=Math.round(a*n),b=n,_=2*n,w=0,T=y*x+_;t.height<T&&(t.height=T);e.fillStyle="#000",e.fillRect(0,0,t.width,t.height),e.fillStyle="#fff";var k=0,M="";function A(){if(""!==M){var t=e.measureText(M).width;e.fillText(M,b+d,_+g),d+=t}}function S(){return Math.round(m)+"px "}function E(t,r){var n=""+e.font;if(!0===o.subscripts){var i=t.indexOf("-"),a=r.indexOf("-"),s=i>-1?parseInt(t[1+i]):0,l=a>-1?parseInt(r[1+a]):0;s!==l&&(n=n.replace(S(),"?px "),m*=Math.pow(.75,l-s),n=n.replace("?px ",S())),g+=.25*x*(l-s)}if(!0===o.superscripts){var c=t.indexOf("+"),u=r.indexOf("+"),f=c>-1?parseInt(t[1+c]):0,h=u>-1?parseInt(r[1+u]):0;f!==h&&(n=n.replace(S(),"?px "),m*=Math.pow(.75,h-f),n=n.replace("?px ",S())),g-=.25*x*(h-f)}if(!0===o.bolds){var p=t.indexOf("b|")>-1,d=r.indexOf("b|")>-1;!p&&d&&(n=v?n.replace("italic ","italic bold "):"bold "+n),p&&!d&&(n=n.replace("bold ",""))}if(!0===o.italics){var v=t.indexOf("i|")>-1,y=r.indexOf("i|")>-1;!v&&y&&(n="italic "+n),v&&!y&&(n=n.replace("italic ",""))}e.font=n}for(h=0;h<y;++h){var C=v[h]+"\n";for(d=0,g=h*x,m=n,M="",p=0;p<C.length;++p){var L=p+k<u.length?u[p+k]:u[u.length-1];s===L?M+=C[p]:(A(),M=C[p],void 0!==L&&(E(s,L),s=L))}A(),k+=C.length;var I=0|Math.round(d+2*b);w<I&&(w=I)}var P=w,z=_+x*y;return i(e.getImageData(0,0,P,z).data,[z,P,4]).pick(-1,-1,0).transpose(1,0)}(e,r,t,a,o,s),n,a)},e.exports.processPixels=h;var n=t("surface-nets"),i=t("ndarray"),a=t("simplify-planar-graph"),o=t("clean-pslg"),s=t("cdt2d"),l=t("planar-graph-to-polyline");function c(t,e,r,n){for(var i="<"+t+">",a="</"+t+">",o=i.length,s=a.length,l="+"===e[0]||"-"===e[0],c=0,u=-s;c>-1&&-1!==(c=r.indexOf(i,c))&&-1!==(u=r.indexOf(a,c+o))&&!(u<=c);){for(var f=c;f<u+s;++f)if(f<c+o||f>=u)n[f]=null,r=r.substr(0,f)+" "+r.substr(f+1);else if(null!==n[f]){var h=n[f].indexOf(e[0]);-1===h?n[f]+=e:l&&(n[f]=n[f].substr(0,h+1)+(1+parseInt(n[f][h+1]))+n[f].substr(h+2))}var p=c+o,d=r.substr(p,u-p).indexOf(i);c=-1!==d?d:u+s}return n}function u(t,e){var r=n(t,128);return e?a(r.cells,r.positions,.25):{edges:r.cells,positions:r.positions}}function f(t,e,r,n){var i=u(t,n),a=function(t,e,r){for(var n=e.textAlign||"start",i=e.textBaseline||"alphabetic",a=[1<<30,1<<30],o=[0,0],s=t.length,l=0;l<s;++l)for(var c=t[l],u=0;u<2;++u)a[u]=0|Math.min(a[u],c[u]),o[u]=0|Math.max(o[u],c[u]);var f=0;switch(n){case"center":f=-.5*(a[0]+o[0]);break;case"right":case"end":f=-o[0];break;case"left":case"start":f=-a[0];break;default:throw new Error("vectorize-text: Unrecognized textAlign: '"+n+"'")}var h=0;switch(i){case"hanging":case"top":h=-a[1];break;case"middle":h=-.5*(a[1]+o[1]);break;case"alphabetic":case"ideographic":h=-3*r;break;case"bottom":h=-o[1];break;default:throw new Error("vectorize-text: Unrecoginized textBaseline: '"+i+"'")}var p=1/r;return"lineHeight"in e?p*=+e.lineHeight:"width"in e?p=e.width/(o[0]-a[0]):"height"in e&&(p=e.height/(o[1]-a[1])),t.map((function(t){return[p*(t[0]+f),p*(t[1]+h)]}))}(i.positions,e,r),c=i.edges,f="ccw"===e.orientation;if(o(a,c),e.polygons||e.polygon||e.polyline){for(var h=l(c,a),p=new Array(h.length),d=0;d<h.length;++d){for(var g=h[d],m=new Array(g.length),v=0;v<g.length;++v){for(var y=g[v],x=new Array(y.length),b=0;b<y.length;++b)x[b]=a[y[b]].slice();f&&x.reverse(),m[v]=x}p[d]=m}return p}return e.triangles||e.triangulate||e.triangle?{cells:s(a,c,{delaunay:!1,exterior:!1,interior:!0}),positions:a}:{edges:c,positions:a}}function h(t,e,r){try{return f(t,e,r,!0)}catch(t){}try{return f(t,e,r,!1)}catch(t){}return e.polygons||e.polyline||e.polygon?[]:e.triangles||e.triangulate||e.triangle?{cells:[],positions:[]}:{edges:[],positions:[]}}},{cdt2d:112,"clean-pslg":121,ndarray:495,"planar-graph-to-polyline":514,"simplify-planar-graph":562,"surface-nets":570}],602:[function(t,e,r){!function(){"use strict";if("undefined"==typeof ses||!ses.ok||ses.ok()){"undefined"!=typeof ses&&(ses.weakMapPermitHostObjects=g);var t=!1;if("function"==typeof WeakMap){var r=WeakMap;if("undefined"!=typeof navigator&&/Firefox/.test(navigator.userAgent));else{var n=new r,i=Object.freeze({});if(n.set(i,1),1===n.get(i))return void(e.exports=WeakMap);t=!0}}Object.prototype.hasOwnProperty;var a=Object.getOwnPropertyNames,o=Object.defineProperty,s=Object.isExtensible,l="weakmap:ident:"+Math.random()+"___";if("undefined"!=typeof crypto&&"function"==typeof crypto.getRandomValues&&"function"==typeof ArrayBuffer&&"function"==typeof Uint8Array){var c=new ArrayBuffer(25),u=new Uint8Array(c);crypto.getRandomValues(u),l="weakmap:rand:"+Array.prototype.map.call(u,(function(t){return(t%36).toString(36)})).join("")+"___"}if(o(Object,"getOwnPropertyNames",{value:function(t){return a(t).filter(m)}}),"getPropertyNames"in Object){var f=Object.getPropertyNames;o(Object,"getPropertyNames",{value:function(t){return f(t).filter(m)}})}!function(){var t=Object.freeze;o(Object,"freeze",{value:function(e){return v(e),t(e)}});var e=Object.seal;o(Object,"seal",{value:function(t){return v(t),e(t)}});var r=Object.preventExtensions;o(Object,"preventExtensions",{value:function(t){return v(t),r(t)}})}();var h=!1,p=0,d=function(){this instanceof d||x();var t=[],e=[],r=p++;return Object.create(d.prototype,{get___:{value:y((function(n,i){var a,o=v(n);return o?r in o?o[r]:i:(a=t.indexOf(n))>=0?e[a]:i}))},has___:{value:y((function(e){var n=v(e);return n?r in n:t.indexOf(e)>=0}))},set___:{value:y((function(n,i){var a,o=v(n);return o?o[r]=i:(a=t.indexOf(n))>=0?e[a]=i:(a=t.length,e[a]=i,t[a]=n),this}))},delete___:{value:y((function(n){var i,a,o=v(n);return o?r in o&&delete o[r]:!((i=t.indexOf(n))<0)&&(a=t.length-1,t[i]=void 0,e[i]=e[a],t[i]=t[a],t.length=a,e.length=a,!0)}))}})};d.prototype=Object.create(Object.prototype,{get:{value:function(t,e){return this.get___(t,e)},writable:!0,configurable:!0},has:{value:function(t){return this.has___(t)},writable:!0,configurable:!0},set:{value:function(t,e){return this.set___(t,e)},writable:!0,configurable:!0},delete:{value:function(t){return this.delete___(t)},writable:!0,configurable:!0}}),"function"==typeof r?function(){function n(){this instanceof d||x();var e,n=new r,i=void 0,a=!1;return e=t?function(t,e){return n.set(t,e),n.has(t)||(i||(i=new d),i.set(t,e)),this}:function(t,e){if(a)try{n.set(t,e)}catch(r){i||(i=new d),i.set___(t,e)}else n.set(t,e);return this},Object.create(d.prototype,{get___:{value:y((function(t,e){return i?n.has(t)?n.get(t):i.get___(t,e):n.get(t,e)}))},has___:{value:y((function(t){return n.has(t)||!!i&&i.has___(t)}))},set___:{value:y(e)},delete___:{value:y((function(t){var e=!!n.delete(t);return i&&i.delete___(t)||e}))},permitHostObjects___:{value:y((function(t){if(t!==g)throw new Error("bogus call to permitHostObjects___");a=!0}))}})}t&&"undefined"!=typeof Proxy&&(Proxy=void 0),n.prototype=d.prototype,e.exports=n,Object.defineProperty(WeakMap.prototype,"constructor",{value:WeakMap,enumerable:!1,configurable:!0,writable:!0})}():("undefined"!=typeof Proxy&&(Proxy=void 0),e.exports=d)}function g(t){t.permitHostObjects___&&t.permitHostObjects___(g)}function m(t){return!("weakmap:"==t.substr(0,"weakmap:".length)&&"___"===t.substr(t.length-3))}function v(t){if(t!==Object(t))throw new TypeError("Not an object: "+t);var e=t[l];if(e&&e.key===t)return e;if(s(t)){e={key:t};try{return o(t,l,{value:e,writable:!1,enumerable:!1,configurable:!1}),e}catch(t){return}}}function y(t){return t.prototype=null,Object.freeze(t)}function x(){h||"undefined"==typeof console||(h=!0,console.warn("WeakMap should be invoked as new WeakMap(), not WeakMap(). This will be an error in the future."))}}()},{}],603:[function(t,e,r){var n=t("./hidden-store.js");e.exports=function(){var t={};return function(e){if(("object"!=typeof e||null===e)&&"function"!=typeof e)throw new Error("Weakmap-shim: Key must be object");var r=e.valueOf(t);return r&&r.identity===t?r:n(e,t)}}},{"./hidden-store.js":604}],604:[function(t,e,r){e.exports=function(t,e){var r={identity:e},n=t.valueOf;return Object.defineProperty(t,"valueOf",{value:function(t){return t!==e?n.apply(this,arguments):r},writable:!0}),r}},{}],605:[function(t,e,r){var n=t("./create-store.js");e.exports=function(){var t=n();return{get:function(e,r){var n=t(e);return n.hasOwnProperty("value")?n.value:r},set:function(e,r){return t(e).value=r,this},has:function(e){return"value"in t(e)},delete:function(e){return delete t(e).value}}}},{"./create-store.js":603}],606:[function(t,e,r){var n=t("get-canvas-context");e.exports=function(t){return n("webgl",t)}},{"get-canvas-context":249}],607:[function(t,e,r){var n=t("../main"),i=t("object-assign"),a=n.instance();function o(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}o.prototype=new n.baseCalendar,i(o.prototype,{name:"Chinese",jdEpoch:1721425.5,hasYearZero:!1,minMonth:0,firstMonth:0,minDay:1,regionalOptions:{"":{name:"Chinese",epochs:["BEC","EC"],monthNumbers:function(t,e){if("string"==typeof t){var r=t.match(l);return r?r[0]:""}var n=this._validateYear(t),i=t.month(),a=""+this.toChineseMonth(n,i);return e&&a.length<2&&(a="0"+a),this.isIntercalaryMonth(n,i)&&(a+="i"),a},monthNames:function(t){if("string"==typeof t){var e=t.match(c);return e?e[0]:""}var r=this._validateYear(t),n=t.month(),i=["\u4e00\u6708","\u4e8c\u6708","\u4e09\u6708","\u56db\u6708","\u4e94\u6708","\u516d\u6708","\u4e03\u6708","\u516b\u6708","\u4e5d\u6708","\u5341\u6708","\u5341\u4e00\u6708","\u5341\u4e8c\u6708"][this.toChineseMonth(r,n)-1];return this.isIntercalaryMonth(r,n)&&(i="\u95f0"+i),i},monthNamesShort:function(t){if("string"==typeof t){var e=t.match(u);return e?e[0]:""}var r=this._validateYear(t),n=t.month(),i=["\u4e00","\u4e8c","\u4e09","\u56db","\u4e94","\u516d","\u4e03","\u516b","\u4e5d","\u5341","\u5341\u4e00","\u5341\u4e8c"][this.toChineseMonth(r,n)-1];return this.isIntercalaryMonth(r,n)&&(i="\u95f0"+i),i},parseMonth:function(t,e){t=this._validateYear(t);var r,n=parseInt(e);if(isNaN(n))"\u95f0"===e[0]&&(r=!0,e=e.substring(1)),"\u6708"===e[e.length-1]&&(e=e.substring(0,e.length-1)),n=1+["\u4e00","\u4e8c","\u4e09","\u56db","\u4e94","\u516d","\u4e03","\u516b","\u4e5d","\u5341","\u5341\u4e00","\u5341\u4e8c"].indexOf(e);else{var i=e[e.length-1];r="i"===i||"I"===i}return this.toMonthIndex(t,n,r)},dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:1,isRTL:!1}},_validateYear:function(t,e){if(t.year&&(t=t.year()),"number"!=typeof t||t<1888||t>2111)throw e.replace(/\{0\}/,this.local.name);return t},toMonthIndex:function(t,e,r){var i=this.intercalaryMonth(t);if(r&&e!==i||e<1||e>12)throw n.local.invalidMonth.replace(/\{0\}/,this.local.name);return i?!r&&e<=i?e-1:e:e-1},toChineseMonth:function(t,e){t.year&&(e=(t=t.year()).month());var r=this.intercalaryMonth(t);if(e<0||e>(r?12:11))throw n.local.invalidMonth.replace(/\{0\}/,this.local.name);return r?e<r?e+1:e:e+1},intercalaryMonth:function(t){return t=this._validateYear(t),f[t-f[0]]>>13},isIntercalaryMonth:function(t,e){t.year&&(e=(t=t.year()).month());var r=this.intercalaryMonth(t);return!!r&&r===e},leapYear:function(t){return 0!==this.intercalaryMonth(t)},weekOfYear:function(t,e,r){var i,o=this._validateYear(t,n.local.invalidyear),s=h[o-h[0]],l=s>>9&4095,c=s>>5&15,u=31&s;(i=a.newDate(l,c,u)).add(4-(i.dayOfWeek()||7),"d");var f=this.toJD(t,e,r)-i.toJD();return 1+Math.floor(f/7)},monthsInYear:function(t){return this.leapYear(t)?13:12},daysInMonth:function(t,e){t.year&&(e=t.month(),t=t.year()),t=this._validateYear(t);var r=f[t-f[0]];if(e>(r>>13?12:11))throw n.local.invalidMonth.replace(/\{0\}/,this.local.name);return r&1<<12-e?30:29},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,s,r,n.local.invalidDate);t=this._validateYear(i.year()),e=i.month(),r=i.day();var o=this.isIntercalaryMonth(t,e),s=this.toChineseMonth(t,e),l=function(t,e,r,n,i){var a,o,s;if("object"==typeof t)o=t,a=e||{};else{var l;if(!("number"==typeof t&&t>=1888&&t<=2111))throw new Error("Lunar year outside range 1888-2111");if(!("number"==typeof e&&e>=1&&e<=12))throw new Error("Lunar month outside range 1 - 12");if(!("number"==typeof r&&r>=1&&r<=30))throw new Error("Lunar day outside range 1 - 30");"object"==typeof n?(l=!1,a=n):(l=!!n,a=i||{}),o={year:t,month:e,day:r,isIntercalary:l}}s=o.day-1;var c,u=f[o.year-f[0]],p=u>>13;c=p&&(o.month>p||o.isIntercalary)?o.month:o.month-1;for(var d=0;d<c;d++){s+=u&1<<12-d?30:29}var g=h[o.year-h[0]],m=new Date(g>>9&4095,(g>>5&15)-1,(31&g)+s);return a.year=m.getFullYear(),a.month=1+m.getMonth(),a.day=m.getDate(),a}(t,s,r,o);return a.toJD(l.year,l.month,l.day)},fromJD:function(t){var e=a.fromJD(t),r=function(t,e,r,n){var i,a;if("object"==typeof t)i=t,a=e||{};else{if(!("number"==typeof t&&t>=1888&&t<=2111))throw new Error("Solar year outside range 1888-2111");if(!("number"==typeof e&&e>=1&&e<=12))throw new Error("Solar month outside range 1 - 12");if(!("number"==typeof r&&r>=1&&r<=31))throw new Error("Solar day outside range 1 - 31");i={year:t,month:e,day:r},a=n||{}}var o=h[i.year-h[0]],s=i.year<<9|i.month<<5|i.day;a.year=s>=o?i.year:i.year-1,o=h[a.year-h[0]];var l,c=new Date(o>>9&4095,(o>>5&15)-1,31&o),u=new Date(i.year,i.month-1,i.day);l=Math.round((u-c)/864e5);var p,d=f[a.year-f[0]];for(p=0;p<13;p++){var g=d&1<<12-p?30:29;if(l<g)break;l-=g}var m=d>>13;!m||p<m?(a.isIntercalary=!1,a.month=1+p):p===m?(a.isIntercalary=!0,a.month=p):(a.isIntercalary=!1,a.month=p);return a.day=1+l,a}(e.year(),e.month(),e.day()),n=this.toMonthIndex(r.year,r.month,r.isIntercalary);return this.newDate(r.year,n,r.day)},fromString:function(t){var e=t.match(s),r=this._validateYear(+e[1]),n=+e[2],i=!!e[3],a=this.toMonthIndex(r,n,i),o=+e[4];return this.newDate(r,a,o)},add:function(t,e,r){var n=t.year(),i=t.month(),a=this.isIntercalaryMonth(n,i),s=this.toChineseMonth(n,i),l=Object.getPrototypeOf(o.prototype).add.call(this,t,e,r);if("y"===r){var c=l.year(),u=l.month(),f=this.isIntercalaryMonth(c,s),h=a&&f?this.toMonthIndex(c,s,!0):this.toMonthIndex(c,s,!1);h!==u&&l.month(h)}return l}});var s=/^\s*(-?\d\d\d\d|\d\d)[-/](\d?\d)([iI]?)[-/](\d?\d)/m,l=/^\d?\d[iI]?/m,c=/^\u95f0?\u5341?[\u4e00\u4e8c\u4e09\u56db\u4e94\u516d\u4e03\u516b\u4e5d]?\u6708/m,u=/^\u95f0?\u5341?[\u4e00\u4e8c\u4e09\u56db\u4e94\u516d\u4e03\u516b\u4e5d]?/m;n.calendars.chinese=o;var f=[1887,5780,5802,19157,2742,50359,1198,2646,46378,7466,3412,30122,5482,67949,2396,5294,43597,6732,6954,36181,2772,4954,18781,2396,54427,5274,6730,47781,5800,6868,21210,4790,59703,2350,5270,46667,3402,3496,38325,1388,4782,18735,2350,52374,6804,7498,44457,2906,1388,29294,4700,63789,6442,6804,56138,5802,2772,38235,1210,4698,22827,5418,63125,3476,5802,43701,2484,5302,27223,2646,70954,7466,3412,54698,5482,2412,38062,5294,2636,32038,6954,60245,2772,4826,43357,2394,5274,39501,6730,72357,5800,5844,53978,4790,2358,38039,5270,87627,3402,3496,54708,5484,4782,43311,2350,3222,27978,7498,68965,2904,5484,45677,4700,6444,39573,6804,6986,19285,2772,62811,1210,4698,47403,5418,5780,38570,5546,76469,2420,5302,51799,2646,5414,36501,3412,5546,18869,2412,54446,5276,6732,48422,6822,2900,28010,4826,92509,2394,5274,55883,6730,6820,47956,5812,2778,18779,2358,62615,5270,5450,46757,3492,5556,27318,4718,67887,2350,3222,52554,7498,3428,38252,5468,4700,31022,6444,64149,6804,6986,43861,2772,5338,35421,2650,70955,5418,5780,54954,5546,2740,38074,5302,2646,29991,3366,61011,3412,5546,43445,2412,5294,35406,6732,72998,6820,6996,52586,2778,2396,38045,5274,6698,23333,6820,64338,5812,2746,43355,2358,5270,39499,5450,79525,3492,5548],h=[1887,966732,967231,967733,968265,968766,969297,969798,970298,970829,971330,971830,972362,972863,973395,973896,974397,974928,975428,975929,976461,976962,977462,977994,978494,979026,979526,980026,980558,981059,981559,982091,982593,983124,983624,984124,984656,985157,985656,986189,986690,987191,987722,988222,988753,989254,989754,990286,990788,991288,991819,992319,992851,993352,993851,994383,994885,995385,995917,996418,996918,997450,997949,998481,998982,999483,1000014,1000515,1001016,1001548,1002047,1002578,1003080,1003580,1004111,1004613,1005113,1005645,1006146,1006645,1007177,1007678,1008209,1008710,1009211,1009743,1010243,1010743,1011275,1011775,1012306,1012807,1013308,1013840,1014341,1014841,1015373,1015874,1016404,1016905,1017405,1017937,1018438,1018939,1019471,1019972,1020471,1021002,1021503,1022035,1022535,1023036,1023568,1024069,1024568,1025100,1025601,1026102,1026633,1027133,1027666,1028167,1028666,1029198,1029699,1030199,1030730,1031231,1031763,1032264,1032764,1033296,1033797,1034297,1034828,1035329,1035830,1036362,1036861,1037393,1037894,1038394,1038925,1039427,1039927,1040459,1040959,1041491,1041992,1042492,1043023,1043524,1044024,1044556,1045057,1045558,1046090,1046590,1047121,1047622,1048122,1048654,1049154,1049655,1050187,1050689,1051219,1051720,1052220,1052751,1053252,1053752,1054284,1054786,1055285,1055817,1056317,1056849,1057349,1057850,1058382,1058883,1059383,1059915,1060415,1060947,1061447,1061947,1062479,1062981,1063480,1064012,1064514,1065014,1065545,1066045,1066577,1067078,1067578,1068110,1068611,1069112,1069642,1070142,1070674,1071175,1071675,1072207,1072709,1073209,1073740,1074241,1074741,1075273,1075773,1076305,1076807,1077308,1077839,1078340,1078840,1079372,1079871,1080403,1080904]},{"../main":621,"object-assign":499}],608:[function(t,e,r){var n=t("../main"),i=t("object-assign");function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Coptic",jdEpoch:1825029.5,daysPerMonth:[30,30,30,30,30,30,30,30,30,30,30,30,5],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Coptic",epochs:["BAM","AM"],monthNames:["Thout","Paopi","Hathor","Koiak","Tobi","Meshir","Paremhat","Paremoude","Pashons","Paoni","Epip","Mesori","Pi Kogi Enavot"],monthNamesShort:["Tho","Pao","Hath","Koi","Tob","Mesh","Pat","Pad","Pash","Pao","Epi","Meso","PiK"],dayNames:["Tkyriaka","Pesnau","Pshoment","Peftoou","Ptiou","Psoou","Psabbaton"],dayNamesShort:["Tky","Pes","Psh","Pef","Pti","Pso","Psa"],dayNamesMin:["Tk","Pes","Psh","Pef","Pt","Pso","Psa"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return(t=e.year()+(e.year()<0?1:0))%4==3||t%4==-1},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear||n.regionalOptions[""].invalidYear),13},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(13===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return(t=i.year())<0&&t++,i.day()+30*(i.month()-1)+365*(t-1)+Math.floor(t/4)+this.jdEpoch-1},fromJD:function(t){var e=Math.floor(t)+.5-this.jdEpoch,r=Math.floor((e-Math.floor((e+366)/1461))/365)+1;r<=0&&r--,e=Math.floor(t)+.5-this.newDate(r,1,1).toJD();var n=Math.floor(e/30)+1,i=e-30*(n-1)+1;return this.newDate(r,n,i)}}),n.calendars.coptic=a},{"../main":621,"object-assign":499}],609:[function(t,e,r){var n=t("../main"),i=t("object-assign");function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Discworld",jdEpoch:1721425.5,daysPerMonth:[16,32,32,32,32,32,32,32,32,32,32,32,32],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Discworld",epochs:["BUC","UC"],monthNames:["Ick","Offle","February","March","April","May","June","Grune","August","Spune","Sektober","Ember","December"],monthNamesShort:["Ick","Off","Feb","Mar","Apr","May","Jun","Gru","Aug","Spu","Sek","Emb","Dec"],dayNames:["Sunday","Octeday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Oct","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Oc","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:2,isRTL:!1}},leapYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),!1},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),13},daysInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),400},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/8)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]},daysInWeek:function(){return 8},dayOfWeek:function(t,e,r){return(this._validate(t,e,r,n.local.invalidDate).day()+1)%8},weekDay:function(t,e,r){var n=this.dayOfWeek(t,e,r);return n>=2&&n<=6},extraInfo:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return{century:o[Math.floor((i.year()-1)/100)+1]||""}},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return t=i.year()+(i.year()<0?1:0),e=i.month(),(r=i.day())+(e>1?16:0)+(e>2?32*(e-2):0)+400*(t-1)+this.jdEpoch-1},fromJD:function(t){t=Math.floor(t+.5)-Math.floor(this.jdEpoch)-1;var e=Math.floor(t/400)+1;t-=400*(e-1),t+=t>15?16:0;var r=Math.floor(t/32)+1,n=t-32*(r-1)+1;return this.newDate(e<=0?e-1:e,r,n)}});var o={20:"Fruitbat",21:"Anchovy"};n.calendars.discworld=a},{"../main":621,"object-assign":499}],610:[function(t,e,r){var n=t("../main"),i=t("object-assign");function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Ethiopian",jdEpoch:1724220.5,daysPerMonth:[30,30,30,30,30,30,30,30,30,30,30,30,5],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Ethiopian",epochs:["BEE","EE"],monthNames:["Meskerem","Tikemet","Hidar","Tahesas","Tir","Yekatit","Megabit","Miazia","Genbot","Sene","Hamle","Nehase","Pagume"],monthNamesShort:["Mes","Tik","Hid","Tah","Tir","Yek","Meg","Mia","Gen","Sen","Ham","Neh","Pag"],dayNames:["Ehud","Segno","Maksegno","Irob","Hamus","Arb","Kidame"],dayNamesShort:["Ehu","Seg","Mak","Iro","Ham","Arb","Kid"],dayNamesMin:["Eh","Se","Ma","Ir","Ha","Ar","Ki"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return(t=e.year()+(e.year()<0?1:0))%4==3||t%4==-1},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear||n.regionalOptions[""].invalidYear),13},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(13===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return(t=i.year())<0&&t++,i.day()+30*(i.month()-1)+365*(t-1)+Math.floor(t/4)+this.jdEpoch-1},fromJD:function(t){var e=Math.floor(t)+.5-this.jdEpoch,r=Math.floor((e-Math.floor((e+366)/1461))/365)+1;r<=0&&r--,e=Math.floor(t)+.5-this.newDate(r,1,1).toJD();var n=Math.floor(e/30)+1,i=e-30*(n-1)+1;return this.newDate(r,n,i)}}),n.calendars.ethiopian=a},{"../main":621,"object-assign":499}],611:[function(t,e,r){var n=t("../main"),i=t("object-assign");function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}function o(t,e){return t-e*Math.floor(t/e)}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Hebrew",jdEpoch:347995.5,daysPerMonth:[30,29,30,29,30,29,30,29,30,29,30,29,29],hasYearZero:!1,minMonth:1,firstMonth:7,minDay:1,regionalOptions:{"":{name:"Hebrew",epochs:["BAM","AM"],monthNames:["Nisan","Iyar","Sivan","Tammuz","Av","Elul","Tishrei","Cheshvan","Kislev","Tevet","Shevat","Adar","Adar II"],monthNamesShort:["Nis","Iya","Siv","Tam","Av","Elu","Tis","Che","Kis","Tev","She","Ada","Ad2"],dayNames:["Yom Rishon","Yom Sheni","Yom Shlishi","Yom Revi'i","Yom Chamishi","Yom Shishi","Yom Shabbat"],dayNamesShort:["Ris","She","Shl","Rev","Cha","Shi","Sha"],dayNamesMin:["Ri","She","Shl","Re","Ch","Shi","Sha"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return this._leapYear(e.year())},_leapYear:function(t){return o(7*(t=t<0?t+1:t)+1,19)<7},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),this._leapYear(t.year?t.year():t)?13:12},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){return t=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year(),this.toJD(-1===t?1:t+1,7,1)-this.toJD(t,7,1)},daysInMonth:function(t,e){return t.year&&(e=t.month(),t=t.year()),this._validate(t,e,this.minDay,n.local.invalidMonth),12===e&&this.leapYear(t)||8===e&&5===o(this.daysInYear(t),10)?30:9===e&&3===o(this.daysInYear(t),10)?29:this.daysPerMonth[e-1]},weekDay:function(t,e,r){return 6!==this.dayOfWeek(t,e,r)},extraInfo:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return{yearType:(this.leapYear(i)?"embolismic":"common")+" "+["deficient","regular","complete"][this.daysInYear(i)%10-3]}},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);t=i.year(),e=i.month(),r=i.day();var a=t<=0?t+1:t,o=this.jdEpoch+this._delay1(a)+this._delay2(a)+r+1;if(e<7){for(var s=7;s<=this.monthsInYear(t);s++)o+=this.daysInMonth(t,s);for(s=1;s<e;s++)o+=this.daysInMonth(t,s)}else for(s=7;s<e;s++)o+=this.daysInMonth(t,s);return o},_delay1:function(t){var e=Math.floor((235*t-234)/19),r=12084+13753*e,n=29*e+Math.floor(r/25920);return o(3*(n+1),7)<3&&n++,n},_delay2:function(t){var e=this._delay1(t-1),r=this._delay1(t);return this._delay1(t+1)-r==356?2:r-e==382?1:0},fromJD:function(t){t=Math.floor(t)+.5;for(var e=Math.floor(98496*(t-this.jdEpoch)/35975351)-1;t>=this.toJD(-1===e?1:e+1,7,1);)e++;for(var r=t<this.toJD(e,1,1)?7:1;t>this.toJD(e,r,this.daysInMonth(e,r));)r++;var n=t-this.toJD(e,r,1)+1;return this.newDate(e,r,n)}}),n.calendars.hebrew=a},{"../main":621,"object-assign":499}],612:[function(t,e,r){var n=t("../main"),i=t("object-assign");function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Islamic",jdEpoch:1948439.5,daysPerMonth:[30,29,30,29,30,29,30,29,30,29,30,29],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Islamic",epochs:["BH","AH"],monthNames:["Muharram","Safar","Rabi' al-awwal","Rabi' al-thani","Jumada al-awwal","Jumada al-thani","Rajab","Sha'aban","Ramadan","Shawwal","Dhu al-Qi'dah","Dhu al-Hijjah"],monthNamesShort:["Muh","Saf","Rab1","Rab2","Jum1","Jum2","Raj","Sha'","Ram","Shaw","DhuQ","DhuH"],dayNames:["Yawm al-ahad","Yawm al-ithnayn","Yawm ath-thulaathaa'","Yawm al-arbi'aa'","Yawm al-kham\u012bs","Yawm al-jum'a","Yawm as-sabt"],dayNamesShort:["Aha","Ith","Thu","Arb","Kha","Jum","Sab"],dayNamesMin:["Ah","It","Th","Ar","Kh","Ju","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:6,isRTL:!1}},leapYear:function(t){return(11*this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year()+14)%30<11},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){return this.leapYear(t)?355:354},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return t=i.year(),e=i.month(),t=t<=0?t+1:t,(r=i.day())+Math.ceil(29.5*(e-1))+354*(t-1)+Math.floor((3+11*t)/30)+this.jdEpoch-1},fromJD:function(t){t=Math.floor(t)+.5;var e=Math.floor((30*(t-this.jdEpoch)+10646)/10631);e=e<=0?e-1:e;var r=Math.min(12,Math.ceil((t-29-this.toJD(e,1,1))/29.5)+1),n=t-this.toJD(e,r,1)+1;return this.newDate(e,r,n)}}),n.calendars.islamic=a},{"../main":621,"object-assign":499}],613:[function(t,e,r){var n=t("../main"),i=t("object-assign");function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Julian",jdEpoch:1721423.5,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Julian",epochs:["BC","AD"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"mm/dd/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return(t=e.year()<0?e.year()+1:e.year())%4==0},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(4-(n.dayOfWeek()||7),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return t=i.year(),e=i.month(),r=i.day(),t<0&&t++,e<=2&&(t--,e+=12),Math.floor(365.25*(t+4716))+Math.floor(30.6001*(e+1))+r-1524.5},fromJD:function(t){var e=Math.floor(t+.5)+1524,r=Math.floor((e-122.1)/365.25),n=Math.floor(365.25*r),i=Math.floor((e-n)/30.6001),a=i-Math.floor(i<14?1:13),o=r-Math.floor(a>2?4716:4715),s=e-n-Math.floor(30.6001*i);return o<=0&&o--,this.newDate(o,a,s)}}),n.calendars.julian=a},{"../main":621,"object-assign":499}],614:[function(t,e,r){var n=t("../main"),i=t("object-assign");function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}function o(t,e){return t-e*Math.floor(t/e)}function s(t,e){return o(t-1,e)+1}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Mayan",jdEpoch:584282.5,hasYearZero:!0,minMonth:0,firstMonth:0,minDay:0,regionalOptions:{"":{name:"Mayan",epochs:["",""],monthNames:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17"],monthNamesShort:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17"],dayNames:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"],dayNamesShort:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"],dayNamesMin:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"],digits:null,dateFormat:"YYYY.m.d",firstDay:0,isRTL:!1,haabMonths:["Pop","Uo","Zip","Zotz","Tzec","Xul","Yaxkin","Mol","Chen","Yax","Zac","Ceh","Mac","Kankin","Muan","Pax","Kayab","Cumku","Uayeb"],tzolkinMonths:["Imix","Ik","Akbal","Kan","Chicchan","Cimi","Manik","Lamat","Muluc","Oc","Chuen","Eb","Ben","Ix","Men","Cib","Caban","Etznab","Cauac","Ahau"]}},leapYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),!1},formatYear:function(t){t=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year();var e=Math.floor(t/400);return t%=400,t+=t<0?400:0,e+"."+Math.floor(t/20)+"."+t%20},forYear:function(t){if((t=t.split(".")).length<3)throw"Invalid Mayan year";for(var e=0,r=0;r<t.length;r++){var n=parseInt(t[r],10);if(Math.abs(n)>19||r>0&&n<0)throw"Invalid Mayan year";e=20*e+n}return e},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),18},weekOfYear:function(t,e,r){return this._validate(t,e,r,n.local.invalidDate),0},daysInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),360},daysInMonth:function(t,e){return this._validate(t,e,this.minDay,n.local.invalidMonth),20},daysInWeek:function(){return 5},dayOfWeek:function(t,e,r){return this._validate(t,e,r,n.local.invalidDate).day()},weekDay:function(t,e,r){return this._validate(t,e,r,n.local.invalidDate),!0},extraInfo:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate).toJD(),a=this._toHaab(i),o=this._toTzolkin(i);return{haabMonthName:this.local.haabMonths[a[0]-1],haabMonth:a[0],haabDay:a[1],tzolkinDayName:this.local.tzolkinMonths[o[0]-1],tzolkinDay:o[0],tzolkinTrecena:o[1]}},_toHaab:function(t){var e=o((t-=this.jdEpoch)+8+340,365);return[Math.floor(e/20)+1,o(e,20)]},_toTzolkin:function(t){return[s((t-=this.jdEpoch)+20,20),s(t+4,13)]},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return i.day()+20*i.month()+360*i.year()+this.jdEpoch},fromJD:function(t){t=Math.floor(t)+.5-this.jdEpoch;var e=Math.floor(t/360);t%=360,t+=t<0?360:0;var r=Math.floor(t/20),n=t%20;return this.newDate(e,r,n)}}),n.calendars.mayan=a},{"../main":621,"object-assign":499}],615:[function(t,e,r){var n=t("../main"),i=t("object-assign");function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar;var o=n.instance("gregorian");i(a.prototype,{name:"Nanakshahi",jdEpoch:2257673.5,daysPerMonth:[31,31,31,31,31,30,30,30,30,30,30,30],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Nanakshahi",epochs:["BN","AN"],monthNames:["Chet","Vaisakh","Jeth","Harh","Sawan","Bhadon","Assu","Katak","Maghar","Poh","Magh","Phagun"],monthNamesShort:["Che","Vai","Jet","Har","Saw","Bha","Ass","Kat","Mgr","Poh","Mgh","Pha"],dayNames:["Somvaar","Mangalvar","Budhvaar","Veervaar","Shukarvaar","Sanicharvaar","Etvaar"],dayNamesShort:["Som","Mangal","Budh","Veer","Shukar","Sanichar","Et"],dayNamesMin:["So","Ma","Bu","Ve","Sh","Sa","Et"],digits:null,dateFormat:"dd-mm-yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear||n.regionalOptions[""].invalidYear);return o.leapYear(e.year()+(e.year()<1?1:0)+1469)},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(1-(n.dayOfWeek()||7),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidMonth);(t=i.year())<0&&t++;for(var a=i.day(),s=1;s<i.month();s++)a+=this.daysPerMonth[s-1];return a+o.toJD(t+1468,3,13)},fromJD:function(t){t=Math.floor(t+.5);for(var e=Math.floor((t-(this.jdEpoch-1))/366);t>=this.toJD(e+1,1,1);)e++;for(var r=t-Math.floor(this.toJD(e,1,1)+.5)+1,n=1;r>this.daysInMonth(e,n);)r-=this.daysInMonth(e,n),n++;return this.newDate(e,n,r)}}),n.calendars.nanakshahi=a},{"../main":621,"object-assign":499}],616:[function(t,e,r){var n=t("../main"),i=t("object-assign");function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Nepali",jdEpoch:1700709.5,daysPerMonth:[31,31,32,32,31,30,30,29,30,29,30,30],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,daysPerYear:365,regionalOptions:{"":{name:"Nepali",epochs:["BBS","ABS"],monthNames:["Baisakh","Jestha","Ashadh","Shrawan","Bhadra","Ashwin","Kartik","Mangsir","Paush","Mangh","Falgun","Chaitra"],monthNamesShort:["Bai","Je","As","Shra","Bha","Ash","Kar","Mang","Pau","Ma","Fal","Chai"],dayNames:["Aaitabaar","Sombaar","Manglbaar","Budhabaar","Bihibaar","Shukrabaar","Shanibaar"],dayNamesShort:["Aaita","Som","Mangl","Budha","Bihi","Shukra","Shani"],dayNamesMin:["Aai","So","Man","Bu","Bi","Shu","Sha"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:1,isRTL:!1}},leapYear:function(t){return this.daysInYear(t)!==this.daysPerYear},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){if(t=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year(),"undefined"==typeof this.NEPALI_CALENDAR_DATA[t])return this.daysPerYear;for(var e=0,r=this.minMonth;r<=12;r++)e+=this.NEPALI_CALENDAR_DATA[t][r];return e},daysInMonth:function(t,e){return t.year&&(e=t.month(),t=t.year()),this._validate(t,e,this.minDay,n.local.invalidMonth),"undefined"==typeof this.NEPALI_CALENDAR_DATA[t]?this.daysPerMonth[e-1]:this.NEPALI_CALENDAR_DATA[t][e]},weekDay:function(t,e,r){return 6!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);t=i.year(),e=i.month(),r=i.day();var a=n.instance(),o=0,s=e,l=t;this._createMissingCalendarData(t);var c=t-(s>9||9===s&&r>=this.NEPALI_CALENDAR_DATA[l][0]?56:57);for(9!==e&&(o=r,s--);9!==s;)s<=0&&(s=12,l--),o+=this.NEPALI_CALENDAR_DATA[l][s],s--;return 9===e?(o+=r-this.NEPALI_CALENDAR_DATA[l][0])<0&&(o+=a.daysInYear(c)):o+=this.NEPALI_CALENDAR_DATA[l][9]-this.NEPALI_CALENDAR_DATA[l][0],a.newDate(c,1,1).add(o,"d").toJD()},fromJD:function(t){var e=n.instance().fromJD(t),r=e.year(),i=e.dayOfYear(),a=r+56;this._createMissingCalendarData(a);for(var o=9,s=this.NEPALI_CALENDAR_DATA[a][0],l=this.NEPALI_CALENDAR_DATA[a][o]-s+1;i>l;)++o>12&&(o=1,a++),l+=this.NEPALI_CALENDAR_DATA[a][o];var c=this.NEPALI_CALENDAR_DATA[a][o]-(l-i);return this.newDate(a,o,c)},_createMissingCalendarData:function(t){var e=this.daysPerMonth.slice(0);e.unshift(17);for(var r=t-1;r<t+2;r++)"undefined"==typeof this.NEPALI_CALENDAR_DATA[r]&&(this.NEPALI_CALENDAR_DATA[r]=e)},NEPALI_CALENDAR_DATA:{1970:[18,31,31,32,31,31,31,30,29,30,29,30,30],1971:[18,31,31,32,31,32,30,30,29,30,29,30,30],1972:[17,31,32,31,32,31,30,30,30,29,29,30,30],1973:[19,30,32,31,32,31,30,30,30,29,30,29,31],1974:[19,31,31,32,30,31,31,30,29,30,29,30,30],1975:[18,31,31,32,32,30,31,30,29,30,29,30,30],1976:[17,31,32,31,32,31,30,30,30,29,29,30,31],1977:[18,31,32,31,32,31,31,29,30,29,30,29,31],1978:[18,31,31,32,31,31,31,30,29,30,29,30,30],1979:[18,31,31,32,32,31,30,30,29,30,29,30,30],1980:[17,31,32,31,32,31,30,30,30,29,29,30,31],1981:[18,31,31,31,32,31,31,29,30,30,29,30,30],1982:[18,31,31,32,31,31,31,30,29,30,29,30,30],1983:[18,31,31,32,32,31,30,30,29,30,29,30,30],1984:[17,31,32,31,32,31,30,30,30,29,29,30,31],1985:[18,31,31,31,32,31,31,29,30,30,29,30,30],1986:[18,31,31,32,31,31,31,30,29,30,29,30,30],1987:[18,31,32,31,32,31,30,30,29,30,29,30,30],1988:[17,31,32,31,32,31,30,30,30,29,29,30,31],1989:[18,31,31,31,32,31,31,30,29,30,29,30,30],1990:[18,31,31,32,31,31,31,30,29,30,29,30,30],1991:[18,31,32,31,32,31,30,30,29,30,29,30,30],1992:[17,31,32,31,32,31,30,30,30,29,30,29,31],1993:[18,31,31,31,32,31,31,30,29,30,29,30,30],1994:[18,31,31,32,31,31,31,30,29,30,29,30,30],1995:[17,31,32,31,32,31,30,30,30,29,29,30,30],1996:[17,31,32,31,32,31,30,30,30,29,30,29,31],1997:[18,31,31,32,31,31,31,30,29,30,29,30,30],1998:[18,31,31,32,31,31,31,30,29,30,29,30,30],1999:[17,31,32,31,32,31,30,30,30,29,29,30,31],2e3:[17,30,32,31,32,31,30,30,30,29,30,29,31],2001:[18,31,31,32,31,31,31,30,29,30,29,30,30],2002:[18,31,31,32,32,31,30,30,29,30,29,30,30],2003:[17,31,32,31,32,31,30,30,30,29,29,30,31],2004:[17,30,32,31,32,31,30,30,30,29,30,29,31],2005:[18,31,31,32,31,31,31,30,29,30,29,30,30],2006:[18,31,31,32,32,31,30,30,29,30,29,30,30],2007:[17,31,32,31,32,31,30,30,30,29,29,30,31],2008:[17,31,31,31,32,31,31,29,30,30,29,29,31],2009:[18,31,31,32,31,31,31,30,29,30,29,30,30],2010:[18,31,31,32,32,31,30,30,29,30,29,30,30],2011:[17,31,32,31,32,31,30,30,30,29,29,30,31],2012:[17,31,31,31,32,31,31,29,30,30,29,30,30],2013:[18,31,31,32,31,31,31,30,29,30,29,30,30],2014:[18,31,31,32,32,31,30,30,29,30,29,30,30],2015:[17,31,32,31,32,31,30,30,30,29,29,30,31],2016:[17,31,31,31,32,31,31,29,30,30,29,30,30],2017:[18,31,31,32,31,31,31,30,29,30,29,30,30],2018:[18,31,32,31,32,31,30,30,29,30,29,30,30],2019:[17,31,32,31,32,31,30,30,30,29,30,29,31],2020:[17,31,31,31,32,31,31,30,29,30,29,30,30],2021:[18,31,31,32,31,31,31,30,29,30,29,30,30],2022:[17,31,32,31,32,31,30,30,30,29,29,30,30],2023:[17,31,32,31,32,31,30,30,30,29,30,29,31],2024:[17,31,31,31,32,31,31,30,29,30,29,30,30],2025:[18,31,31,32,31,31,31,30,29,30,29,30,30],2026:[17,31,32,31,32,31,30,30,30,29,29,30,31],2027:[17,30,32,31,32,31,30,30,30,29,30,29,31],2028:[17,31,31,32,31,31,31,30,29,30,29,30,30],2029:[18,31,31,32,31,32,30,30,29,30,29,30,30],2030:[17,31,32,31,32,31,30,30,30,30,30,30,31],2031:[17,31,32,31,32,31,31,31,31,31,31,31,31],2032:[17,32,32,32,32,32,32,32,32,32,32,32,32],2033:[18,31,31,32,32,31,30,30,29,30,29,30,30],2034:[17,31,32,31,32,31,30,30,30,29,29,30,31],2035:[17,30,32,31,32,31,31,29,30,30,29,29,31],2036:[17,31,31,32,31,31,31,30,29,30,29,30,30],2037:[18,31,31,32,32,31,30,30,29,30,29,30,30],2038:[17,31,32,31,32,31,30,30,30,29,29,30,31],2039:[17,31,31,31,32,31,31,29,30,30,29,30,30],2040:[17,31,31,32,31,31,31,30,29,30,29,30,30],2041:[18,31,31,32,32,31,30,30,29,30,29,30,30],2042:[17,31,32,31,32,31,30,30,30,29,29,30,31],2043:[17,31,31,31,32,31,31,29,30,30,29,30,30],2044:[17,31,31,32,31,31,31,30,29,30,29,30,30],2045:[18,31,32,31,32,31,30,30,29,30,29,30,30],2046:[17,31,32,31,32,31,30,30,30,29,29,30,31],2047:[17,31,31,31,32,31,31,30,29,30,29,30,30],2048:[17,31,31,32,31,31,31,30,29,30,29,30,30],2049:[17,31,32,31,32,31,30,30,30,29,29,30,30],2050:[17,31,32,31,32,31,30,30,30,29,30,29,31],2051:[17,31,31,31,32,31,31,30,29,30,29,30,30],2052:[17,31,31,32,31,31,31,30,29,30,29,30,30],2053:[17,31,32,31,32,31,30,30,30,29,29,30,30],2054:[17,31,32,31,32,31,30,30,30,29,30,29,31],2055:[17,31,31,32,31,31,31,30,29,30,30,29,30],2056:[17,31,31,32,31,32,30,30,29,30,29,30,30],2057:[17,31,32,31,32,31,30,30,30,29,29,30,31],2058:[17,30,32,31,32,31,30,30,30,29,30,29,31],2059:[17,31,31,32,31,31,31,30,29,30,29,30,30],2060:[17,31,31,32,32,31,30,30,29,30,29,30,30],2061:[17,31,32,31,32,31,30,30,30,29,29,30,31],2062:[17,30,32,31,32,31,31,29,30,29,30,29,31],2063:[17,31,31,32,31,31,31,30,29,30,29,30,30],2064:[17,31,31,32,32,31,30,30,29,30,29,30,30],2065:[17,31,32,31,32,31,30,30,30,29,29,30,31],2066:[17,31,31,31,32,31,31,29,30,30,29,29,31],2067:[17,31,31,32,31,31,31,30,29,30,29,30,30],2068:[17,31,31,32,32,31,30,30,29,30,29,30,30],2069:[17,31,32,31,32,31,30,30,30,29,29,30,31],2070:[17,31,31,31,32,31,31,29,30,30,29,30,30],2071:[17,31,31,32,31,31,31,30,29,30,29,30,30],2072:[17,31,32,31,32,31,30,30,29,30,29,30,30],2073:[17,31,32,31,32,31,30,30,30,29,29,30,31],2074:[17,31,31,31,32,31,31,30,29,30,29,30,30],2075:[17,31,31,32,31,31,31,30,29,30,29,30,30],2076:[16,31,32,31,32,31,30,30,30,29,29,30,30],2077:[17,31,32,31,32,31,30,30,30,29,30,29,31],2078:[17,31,31,31,32,31,31,30,29,30,29,30,30],2079:[17,31,31,32,31,31,31,30,29,30,29,30,30],2080:[16,31,32,31,32,31,30,30,30,29,29,30,30],2081:[17,31,31,32,32,31,30,30,30,29,30,30,30],2082:[17,31,32,31,32,31,30,30,30,29,30,30,30],2083:[17,31,31,32,31,31,30,30,30,29,30,30,30],2084:[17,31,31,32,31,31,30,30,30,29,30,30,30],2085:[17,31,32,31,32,31,31,30,30,29,30,30,30],2086:[17,31,32,31,32,31,30,30,30,29,30,30,30],2087:[16,31,31,32,31,31,31,30,30,29,30,30,30],2088:[16,30,31,32,32,30,31,30,30,29,30,30,30],2089:[17,31,32,31,32,31,30,30,30,29,30,30,30],2090:[17,31,32,31,32,31,30,30,30,29,30,30,30],2091:[16,31,31,32,31,31,31,30,30,29,30,30,30],2092:[16,31,31,32,32,31,30,30,30,29,30,30,30],2093:[17,31,32,31,32,31,30,30,30,29,30,30,30],2094:[17,31,31,32,31,31,30,30,30,29,30,30,30],2095:[17,31,31,32,31,31,31,30,29,30,30,30,30],2096:[17,30,31,32,32,31,30,30,29,30,29,30,30],2097:[17,31,32,31,32,31,30,30,30,29,30,30,30],2098:[17,31,31,32,31,31,31,29,30,29,30,30,31],2099:[17,31,31,32,31,31,31,30,29,29,30,30,30],2100:[17,31,32,31,32,30,31,30,29,30,29,30,30]}}),n.calendars.nepali=a},{"../main":621,"object-assign":499}],617:[function(t,e,r){var n=t("../main"),i=t("object-assign");function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}function o(t,e){return t-e*Math.floor(t/e)}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Persian",jdEpoch:1948320.5,daysPerMonth:[31,31,31,31,31,31,30,30,30,30,30,29],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Persian",epochs:["BP","AP"],monthNames:["Farvardin","Ordibehesht","Khordad","Tir","Mordad","Shahrivar","Mehr","Aban","Azar","Day","Bahman","Esfand"],monthNamesShort:["Far","Ord","Kho","Tir","Mor","Sha","Meh","Aba","Aza","Day","Bah","Esf"],dayNames:["Yekshambe","Doshambe","Seshambe","Ch\xe6harshambe","Panjshambe","Jom'e","Shambe"],dayNamesShort:["Yek","Do","Se","Ch\xe6","Panj","Jom","Sha"],dayNamesMin:["Ye","Do","Se","Ch","Pa","Jo","Sh"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:6,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return 682*((e.year()-(e.year()>0?474:473))%2820+474+38)%2816<682},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-(n.dayOfWeek()+1)%7,"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);t=i.year(),e=i.month(),r=i.day();var a=t-(t>=0?474:473),s=474+o(a,2820);return r+(e<=7?31*(e-1):30*(e-1)+6)+Math.floor((682*s-110)/2816)+365*(s-1)+1029983*Math.floor(a/2820)+this.jdEpoch-1},fromJD:function(t){var e=(t=Math.floor(t)+.5)-this.toJD(475,1,1),r=Math.floor(e/1029983),n=o(e,1029983),i=2820;if(1029982!==n){var a=Math.floor(n/366),s=o(n,366);i=Math.floor((2134*a+2816*s+2815)/1028522)+a+1}var l=i+2820*r+474;l=l<=0?l-1:l;var c=t-this.toJD(l,1,1)+1,u=c<=186?Math.ceil(c/31):Math.ceil((c-6)/30),f=t-this.toJD(l,u,1)+1;return this.newDate(l,u,f)}}),n.calendars.persian=a,n.calendars.jalali=a},{"../main":621,"object-assign":499}],618:[function(t,e,r){var n=t("../main"),i=t("object-assign"),a=n.instance();function o(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}o.prototype=new n.baseCalendar,i(o.prototype,{name:"Taiwan",jdEpoch:2419402.5,yearsOffset:1911,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Taiwan",epochs:["BROC","ROC"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:1,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);t=this._t2gYear(e.year());return a.leapYear(t)},weekOfYear:function(t,e,r){var i=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);t=this._t2gYear(i.year());return a.weekOfYear(t,i.month(),i.day())},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);t=this._t2gYear(i.year());return a.toJD(t,i.month(),i.day())},fromJD:function(t){var e=a.fromJD(t),r=this._g2tYear(e.year());return this.newDate(r,e.month(),e.day())},_t2gYear:function(t){return t+this.yearsOffset+(t>=-this.yearsOffset&&t<=-1?1:0)},_g2tYear:function(t){return t-this.yearsOffset-(t>=1&&t<=this.yearsOffset?1:0)}}),n.calendars.taiwan=o},{"../main":621,"object-assign":499}],619:[function(t,e,r){var n=t("../main"),i=t("object-assign"),a=n.instance();function o(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}o.prototype=new n.baseCalendar,i(o.prototype,{name:"Thai",jdEpoch:1523098.5,yearsOffset:543,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Thai",epochs:["BBE","BE"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);t=this._t2gYear(e.year());return a.leapYear(t)},weekOfYear:function(t,e,r){var i=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);t=this._t2gYear(i.year());return a.weekOfYear(t,i.month(),i.day())},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);t=this._t2gYear(i.year());return a.toJD(t,i.month(),i.day())},fromJD:function(t){var e=a.fromJD(t),r=this._g2tYear(e.year());return this.newDate(r,e.month(),e.day())},_t2gYear:function(t){return t-this.yearsOffset-(t>=1&&t<=this.yearsOffset?1:0)},_g2tYear:function(t){return t+this.yearsOffset+(t>=-this.yearsOffset&&t<=-1?1:0)}}),n.calendars.thai=o},{"../main":621,"object-assign":499}],620:[function(t,e,r){var n=t("../main"),i=t("object-assign");function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar,i(a.prototype,{name:"UmmAlQura",hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Umm al-Qura",epochs:["BH","AH"],monthNames:["Al-Muharram","Safar","Rabi' al-awwal","Rabi' Al-Thani","Jumada Al-Awwal","Jumada Al-Thani","Rajab","Sha'aban","Ramadan","Shawwal","Dhu al-Qi'dah","Dhu al-Hijjah"],monthNamesShort:["Muh","Saf","Rab1","Rab2","Jum1","Jum2","Raj","Sha'","Ram","Shaw","DhuQ","DhuH"],dayNames:["Yawm al-Ahad","Yawm al-Ithnain","Yawm al-Thal\u0101th\u0101\u2019","Yawm al-Arba\u2018\u0101\u2019","Yawm al-Kham\u012bs","Yawm al-Jum\u2018a","Yawm al-Sabt"],dayNamesMin:["Ah","Ith","Th","Ar","Kh","Ju","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:6,isRTL:!0}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return 355===this.daysInYear(e.year())},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){for(var e=0,r=1;r<=12;r++)e+=this.daysInMonth(t,r);return e},daysInMonth:function(t,e){for(var r=this._validate(t,e,this.minDay,n.local.invalidMonth).toJD()-24e5+.5,i=0,a=0;a<o.length;a++){if(o[a]>r)return o[i]-o[i-1];i++}return 30},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate),a=12*(i.year()-1)+i.month()-15292;return i.day()+o[a-1]-1+24e5-.5},fromJD:function(t){for(var e=t-24e5+.5,r=0,n=0;n<o.length&&!(o[n]>e);n++)r++;var i=r+15292,a=Math.floor((i-1)/12),s=a+1,l=i-12*a,c=e-o[r-1]+1;return this.newDate(s,l,c)},isValid:function(t,e,r){var i=n.baseCalendar.prototype.isValid.apply(this,arguments);return i&&(i=(t=null!=t.year?t.year:t)>=1276&&t<=1500),i},_validate:function(t,e,r,i){var a=n.baseCalendar.prototype._validate.apply(this,arguments);if(a.year<1276||a.year>1500)throw i.replace(/\{0\}/,this.local.name);return a}}),n.calendars.ummalqura=a;var o=[20,50,79,109,138,168,197,227,256,286,315,345,374,404,433,463,492,522,551,581,611,641,670,700,729,759,788,818,847,877,906,936,965,995,1024,1054,1083,1113,1142,1172,1201,1231,1260,1290,1320,1350,1379,1409,1438,1468,1497,1527,1556,1586,1615,1645,1674,1704,1733,1763,1792,1822,1851,1881,1910,1940,1969,1999,2028,2058,2087,2117,2146,2176,2205,2235,2264,2294,2323,2353,2383,2413,2442,2472,2501,2531,2560,2590,2619,2649,2678,2708,2737,2767,2796,2826,2855,2885,2914,2944,2973,3003,3032,3062,3091,3121,3150,3180,3209,3239,3268,3298,3327,3357,3386,3416,3446,3476,3505,3535,3564,3594,3623,3653,3682,3712,3741,3771,3800,3830,3859,3889,3918,3948,3977,4007,4036,4066,4095,4125,4155,4185,4214,4244,4273,4303,4332,4362,4391,4421,4450,4480,4509,4539,4568,4598,4627,4657,4686,4716,4745,4775,4804,4834,4863,4893,4922,4952,4981,5011,5040,5070,5099,5129,5158,5188,5218,5248,5277,5307,5336,5366,5395,5425,5454,5484,5513,5543,5572,5602,5631,5661,5690,5720,5749,5779,5808,5838,5867,5897,5926,5956,5985,6015,6044,6074,6103,6133,6162,6192,6221,6251,6281,6311,6340,6370,6399,6429,6458,6488,6517,6547,6576,6606,6635,6665,6694,6724,6753,6783,6812,6842,6871,6901,6930,6960,6989,7019,7048,7078,7107,7137,7166,7196,7225,7255,7284,7314,7344,7374,7403,7433,7462,7492,7521,7551,7580,7610,7639,7669,7698,7728,7757,7787,7816,7846,7875,7905,7934,7964,7993,8023,8053,8083,8112,8142,8171,8201,8230,8260,8289,8319,8348,8378,8407,8437,8466,8496,8525,8555,8584,8614,8643,8673,8702,8732,8761,8791,8821,8850,8880,8909,8938,8968,8997,9027,9056,9086,9115,9145,9175,9205,9234,9264,9293,9322,9352,9381,9410,9440,9470,9499,9529,9559,9589,9618,9648,9677,9706,9736,9765,9794,9824,9853,9883,9913,9943,9972,10002,10032,10061,10090,10120,10149,10178,10208,10237,10267,10297,10326,10356,10386,10415,10445,10474,10504,10533,10562,10592,10621,10651,10680,10710,10740,10770,10799,10829,10858,10888,10917,10947,10976,11005,11035,11064,11094,11124,11153,11183,11213,11242,11272,11301,11331,11360,11389,11419,11448,11478,11507,11537,11567,11596,11626,11655,11685,11715,11744,11774,11803,11832,11862,11891,11921,11950,11980,12010,12039,12069,12099,12128,12158,12187,12216,12246,12275,12304,12334,12364,12393,12423,12453,12483,12512,12542,12571,12600,12630,12659,12688,12718,12747,12777,12807,12837,12866,12896,12926,12955,12984,13014,13043,13072,13102,13131,13161,13191,13220,13250,13280,13310,13339,13368,13398,13427,13456,13486,13515,13545,13574,13604,13634,13664,13693,13723,13752,13782,13811,13840,13870,13899,13929,13958,13988,14018,14047,14077,14107,14136,14166,14195,14224,14254,14283,14313,14342,14372,14401,14431,14461,14490,14520,14550,14579,14609,14638,14667,14697,14726,14756,14785,14815,14844,14874,14904,14933,14963,14993,15021,15051,15081,15110,15140,15169,15199,15228,15258,15287,15317,15347,15377,15406,15436,15465,15494,15524,15553,15582,15612,15641,15671,15701,15731,15760,15790,15820,15849,15878,15908,15937,15966,15996,16025,16055,16085,16114,16144,16174,16204,16233,16262,16292,16321,16350,16380,16409,16439,16468,16498,16528,16558,16587,16617,16646,16676,16705,16734,16764,16793,16823,16852,16882,16912,16941,16971,17001,17030,17060,17089,17118,17148,17177,17207,17236,17266,17295,17325,17355,17384,17414,17444,17473,17502,17532,17561,17591,17620,17650,17679,17709,17738,17768,17798,17827,17857,17886,17916,17945,17975,18004,18034,18063,18093,18122,18152,18181,18211,18241,18270,18300,18330,18359,18388,18418,18447,18476,18506,18535,18565,18595,18625,18654,18684,18714,18743,18772,18802,18831,18860,18890,18919,18949,18979,19008,19038,19068,19098,19127,19156,19186,19215,19244,19274,19303,19333,19362,19392,19422,19452,19481,19511,19540,19570,19599,19628,19658,19687,19717,19746,19776,19806,19836,19865,19895,19924,19954,19983,20012,20042,20071,20101,20130,20160,20190,20219,20249,20279,20308,20338,20367,20396,20426,20455,20485,20514,20544,20573,20603,20633,20662,20692,20721,20751,20780,20810,20839,20869,20898,20928,20957,20987,21016,21046,21076,21105,21135,21164,21194,21223,21253,21282,21312,21341,21371,21400,21430,21459,21489,21519,21548,21578,21607,21637,21666,21696,21725,21754,21784,21813,21843,21873,21902,21932,21962,21991,22021,22050,22080,22109,22138,22168,22197,22227,22256,22286,22316,22346,22375,22405,22434,22464,22493,22522,22552,22581,22611,22640,22670,22700,22730,22759,22789,22818,22848,22877,22906,22936,22965,22994,23024,23054,23083,23113,23143,23173,23202,23232,23261,23290,23320,23349,23379,23408,23438,23467,23497,23527,23556,23586,23616,23645,23674,23704,23733,23763,23792,23822,23851,23881,23910,23940,23970,23999,24029,24058,24088,24117,24147,24176,24206,24235,24265,24294,24324,24353,24383,24413,24442,24472,24501,24531,24560,24590,24619,24648,24678,24707,24737,24767,24796,24826,24856,24885,24915,24944,24974,25003,25032,25062,25091,25121,25150,25180,25210,25240,25269,25299,25328,25358,25387,25416,25446,25475,25505,25534,25564,25594,25624,25653,25683,25712,25742,25771,25800,25830,25859,25888,25918,25948,25977,26007,26037,26067,26096,26126,26155,26184,26214,26243,26272,26302,26332,26361,26391,26421,26451,26480,26510,26539,26568,26598,26627,26656,26686,26715,26745,26775,26805,26834,26864,26893,26923,26952,26982,27011,27041,27070,27099,27129,27159,27188,27218,27248,27277,27307,27336,27366,27395,27425,27454,27484,27513,27542,27572,27602,27631,27661,27691,27720,27750,27779,27809,27838,27868,27897,27926,27956,27985,28015,28045,28074,28104,28134,28163,28193,28222,28252,28281,28310,28340,28369,28399,28428,28458,28488,28517,28547,28577,28607,28636,28665,28695,28724,28754,28783,28813,28843,28872,28901,28931,28960,28990,29019,29049,29078,29108,29137,29167,29196,29226,29255,29285,29315,29345,29375,29404,29434,29463,29492,29522,29551,29580,29610,29640,29669,29699,29729,29759,29788,29818,29847,29876,29906,29935,29964,29994,30023,30053,30082,30112,30141,30171,30200,30230,30259,30289,30318,30348,30378,30408,30437,30467,30496,30526,30555,30585,30614,30644,30673,30703,30732,30762,30791,30821,30850,30880,30909,30939,30968,30998,31027,31057,31086,31116,31145,31175,31204,31234,31263,31293,31322,31352,31381,31411,31441,31471,31500,31530,31559,31589,31618,31648,31676,31706,31736,31766,31795,31825,31854,31884,31913,31943,31972,32002,32031,32061,32090,32120,32150,32180,32209,32239,32268,32298,32327,32357,32386,32416,32445,32475,32504,32534,32563,32593,32622,32652,32681,32711,32740,32770,32799,32829,32858,32888,32917,32947,32976,33006,33035,33065,33094,33124,33153,33183,33213,33243,33272,33302,33331,33361,33390,33420,33450,33479,33509,33539,33568,33598,33627,33657,33686,33716,33745,33775,33804,33834,33863,33893,33922,33952,33981,34011,34040,34069,34099,34128,34158,34187,34217,34247,34277,34306,34336,34365,34395,34424,34454,34483,34512,34542,34571,34601,34631,34660,34690,34719,34749,34778,34808,34837,34867,34896,34926,34955,34985,35015,35044,35074,35103,35133,35162,35192,35222,35251,35280,35310,35340,35370,35399,35429,35458,35488,35517,35547,35576,35605,35635,35665,35694,35723,35753,35782,35811,35841,35871,35901,35930,35960,35989,36019,36048,36078,36107,36136,36166,36195,36225,36254,36284,36314,36343,36373,36403,36433,36462,36492,36521,36551,36580,36610,36639,36669,36698,36728,36757,36786,36816,36845,36875,36904,36934,36963,36993,37022,37052,37081,37111,37141,37170,37200,37229,37259,37288,37318,37347,37377,37406,37436,37465,37495,37524,37554,37584,37613,37643,37672,37701,37731,37760,37790,37819,37849,37878,37908,37938,37967,37997,38027,38056,38085,38115,38144,38174,38203,38233,38262,38292,38322,38351,38381,38410,38440,38469,38499,38528,38558,38587,38617,38646,38676,38705,38735,38764,38794,38823,38853,38882,38912,38941,38971,39001,39030,39059,39089,39118,39148,39178,39208,39237,39267,39297,39326,39355,39385,39414,39444,39473,39503,39532,39562,39592,39621,39650,39680,39709,39739,39768,39798,39827,39857,39886,39916,39946,39975,40005,40035,40064,40094,40123,40153,40182,40212,40241,40271,40300,40330,40359,40389,40418,40448,40477,40507,40536,40566,40595,40625,40655,40685,40714,40744,40773,40803,40832,40862,40892,40921,40951,40980,41009,41039,41068,41098,41127,41157,41186,41216,41245,41275,41304,41334,41364,41393,41422,41452,41481,41511,41540,41570,41599,41629,41658,41688,41718,41748,41777,41807,41836,41865,41894,41924,41953,41983,42012,42042,42072,42102,42131,42161,42190,42220,42249,42279,42308,42337,42367,42397,42426,42456,42485,42515,42545,42574,42604,42633,42662,42692,42721,42751,42780,42810,42839,42869,42899,42929,42958,42988,43017,43046,43076,43105,43135,43164,43194,43223,43253,43283,43312,43342,43371,43401,43430,43460,43489,43519,43548,43578,43607,43637,43666,43696,43726,43755,43785,43814,43844,43873,43903,43932,43962,43991,44021,44050,44080,44109,44139,44169,44198,44228,44258,44287,44317,44346,44375,44405,44434,44464,44493,44523,44553,44582,44612,44641,44671,44700,44730,44759,44788,44818,44847,44877,44906,44936,44966,44996,45025,45055,45084,45114,45143,45172,45202,45231,45261,45290,45320,45350,45380,45409,45439,45468,45498,45527,45556,45586,45615,45644,45674,45704,45733,45763,45793,45823,45852,45882,45911,45940,45970,45999,46028,46058,46088,46117,46147,46177,46206,46236,46265,46295,46324,46354,46383,46413,46442,46472,46501,46531,46560,46590,46620,46649,46679,46708,46738,46767,46797,46826,46856,46885,46915,46944,46974,47003,47033,47063,47092,47122,47151,47181,47210,47240,47269,47298,47328,47357,47387,47417,47446,47476,47506,47535,47565,47594,47624,47653,47682,47712,47741,47771,47800,47830,47860,47890,47919,47949,47978,48008,48037,48066,48096,48125,48155,48184,48214,48244,48273,48303,48333,48362,48392,48421,48450,48480,48509,48538,48568,48598,48627,48657,48687,48717,48746,48776,48805,48834,48864,48893,48922,48952,48982,49011,49041,49071,49100,49130,49160,49189,49218,49248,49277,49306,49336,49365,49395,49425,49455,49484,49514,49543,49573,49602,49632,49661,49690,49720,49749,49779,49809,49838,49868,49898,49927,49957,49986,50016,50045,50075,50104,50133,50163,50192,50222,50252,50281,50311,50340,50370,50400,50429,50459,50488,50518,50547,50576,50606,50635,50665,50694,50724,50754,50784,50813,50843,50872,50902,50931,50960,50990,51019,51049,51078,51108,51138,51167,51197,51227,51256,51286,51315,51345,51374,51403,51433,51462,51492,51522,51552,51582,51611,51641,51670,51699,51729,51758,51787,51816,51846,51876,51906,51936,51965,51995,52025,52054,52083,52113,52142,52171,52200,52230,52260,52290,52319,52349,52379,52408,52438,52467,52497,52526,52555,52585,52614,52644,52673,52703,52733,52762,52792,52822,52851,52881,52910,52939,52969,52998,53028,53057,53087,53116,53146,53176,53205,53235,53264,53294,53324,53353,53383,53412,53441,53471,53500,53530,53559,53589,53619,53648,53678,53708,53737,53767,53796,53825,53855,53884,53913,53943,53973,54003,54032,54062,54092,54121,54151,54180,54209,54239,54268,54297,54327,54357,54387,54416,54446,54476,54505,54535,54564,54593,54623,54652,54681,54711,54741,54770,54800,54830,54859,54889,54919,54948,54977,55007,55036,55066,55095,55125,55154,55184,55213,55243,55273,55302,55332,55361,55391,55420,55450,55479,55508,55538,55567,55597,55627,55657,55686,55716,55745,55775,55804,55834,55863,55892,55922,55951,55981,56011,56040,56070,56100,56129,56159,56188,56218,56247,56276,56306,56335,56365,56394,56424,56454,56483,56513,56543,56572,56601,56631,56660,56690,56719,56749,56778,56808,56837,56867,56897,56926,56956,56985,57015,57044,57074,57103,57133,57162,57192,57221,57251,57280,57310,57340,57369,57399,57429,57458,57487,57517,57546,57576,57605,57634,57664,57694,57723,57753,57783,57813,57842,57871,57901,57930,57959,57989,58018,58048,58077,58107,58137,58167,58196,58226,58255,58285,58314,58343,58373,58402,58432,58461,58491,58521,58551,58580,58610,58639,58669,58698,58727,58757,58786,58816,58845,58875,58905,58934,58964,58994,59023,59053,59082,59111,59141,59170,59200,59229,59259,59288,59318,59348,59377,59407,59436,59466,59495,59525,59554,59584,59613,59643,59672,59702,59731,59761,59791,59820,59850,59879,59909,59939,59968,59997,60027,60056,60086,60115,60145,60174,60204,60234,60264,60293,60323,60352,60381,60411,60440,60469,60499,60528,60558,60588,60618,60648,60677,60707,60736,60765,60795,60824,60853,60883,60912,60942,60972,61002,61031,61061,61090,61120,61149,61179,61208,61237,61267,61296,61326,61356,61385,61415,61445,61474,61504,61533,61563,61592,61621,61651,61680,61710,61739,61769,61799,61828,61858,61888,61917,61947,61976,62006,62035,62064,62094,62123,62153,62182,62212,62242,62271,62301,62331,62360,62390,62419,62448,62478,62507,62537,62566,62596,62625,62655,62685,62715,62744,62774,62803,62832,62862,62891,62921,62950,62980,63009,63039,63069,63099,63128,63157,63187,63216,63246,63275,63305,63334,63363,63393,63423,63453,63482,63512,63541,63571,63600,63630,63659,63689,63718,63747,63777,63807,63836,63866,63895,63925,63955,63984,64014,64043,64073,64102,64131,64161,64190,64220,64249,64279,64309,64339,64368,64398,64427,64457,64486,64515,64545,64574,64603,64633,64663,64692,64722,64752,64782,64811,64841,64870,64899,64929,64958,64987,65017,65047,65076,65106,65136,65166,65195,65225,65254,65283,65313,65342,65371,65401,65431,65460,65490,65520,65549,65579,65608,65638,65667,65697,65726,65755,65785,65815,65844,65874,65903,65933,65963,65992,66022,66051,66081,66110,66140,66169,66199,66228,66258,66287,66317,66346,66376,66405,66435,66465,66494,66524,66553,66583,66612,66641,66671,66700,66730,66760,66789,66819,66849,66878,66908,66937,66967,66996,67025,67055,67084,67114,67143,67173,67203,67233,67262,67292,67321,67351,67380,67409,67439,67468,67497,67527,67557,67587,67617,67646,67676,67705,67735,67764,67793,67823,67852,67882,67911,67941,67971,68e3,68030,68060,68089,68119,68148,68177,68207,68236,68266,68295,68325,68354,68384,68414,68443,68473,68502,68532,68561,68591,68620,68650,68679,68708,68738,68768,68797,68827,68857,68886,68916,68946,68975,69004,69034,69063,69092,69122,69152,69181,69211,69240,69270,69300,69330,69359,69388,69418,69447,69476,69506,69535,69565,69595,69624,69654,69684,69713,69743,69772,69802,69831,69861,69890,69919,69949,69978,70008,70038,70067,70097,70126,70156,70186,70215,70245,70274,70303,70333,70362,70392,70421,70451,70481,70510,70540,70570,70599,70629,70658,70687,70717,70746,70776,70805,70835,70864,70894,70924,70954,70983,71013,71042,71071,71101,71130,71159,71189,71218,71248,71278,71308,71337,71367,71397,71426,71455,71485,71514,71543,71573,71602,71632,71662,71691,71721,71751,71781,71810,71839,71869,71898,71927,71957,71986,72016,72046,72075,72105,72135,72164,72194,72223,72253,72282,72311,72341,72370,72400,72429,72459,72489,72518,72548,72577,72607,72637,72666,72695,72725,72754,72784,72813,72843,72872,72902,72931,72961,72991,73020,73050,73080,73109,73139,73168,73197,73227,73256,73286,73315,73345,73375,73404,73434,73464,73493,73523,73552,73581,73611,73640,73669,73699,73729,73758,73788,73818,73848,73877,73907,73936,73965,73995,74024,74053,74083,74113,74142,74172,74202,74231,74261,74291,74320,74349,74379,74408,74437,74467,74497,74526,74556,74586,74615,74645,74675,74704,74733,74763,74792,74822,74851,74881,74910,74940,74969,74999,75029,75058,75088,75117,75147,75176,75206,75235,75264,75294,75323,75353,75383,75412,75442,75472,75501,75531,75560,75590,75619,75648,75678,75707,75737,75766,75796,75826,75856,75885,75915,75944,75974,76003,76032,76062,76091,76121,76150,76180,76210,76239,76269,76299,76328,76358,76387,76416,76446,76475,76505,76534,76564,76593,76623,76653,76682,76712,76741,76771,76801,76830,76859,76889,76918,76948,76977,77007,77036,77066,77096,77125,77155,77185,77214,77243,77273,77302,77332,77361,77390,77420,77450,77479,77509,77539,77569,77598,77627,77657,77686,77715,77745,77774,77804,77833,77863,77893,77923,77952,77982,78011,78041,78070,78099,78129,78158,78188,78217,78247,78277,78307,78336,78366,78395,78425,78454,78483,78513,78542,78572,78601,78631,78661,78690,78720,78750,78779,78808,78838,78867,78897,78926,78956,78985,79015,79044,79074,79104,79133,79163,79192,79222,79251,79281,79310,79340,79369,79399,79428,79458,79487,79517,79546,79576,79606,79635,79665,79695,79724,79753,79783,79812,79841,79871,79900,79930,79960,79990]},{"../main":621,"object-assign":499}],621:[function(t,e,r){var n=t("object-assign");function i(){this.regionalOptions=[],this.regionalOptions[""]={invalidCalendar:"Calendar {0} not found",invalidDate:"Invalid {0} date",invalidMonth:"Invalid {0} month",invalidYear:"Invalid {0} year",differentCalendars:"Cannot mix {0} and {1} dates"},this.local=this.regionalOptions[""],this.calendars={},this._localCals={}}function a(t,e,r,n){if(this._calendar=t,this._year=e,this._month=r,this._day=n,0===this._calendar._validateLevel&&!this._calendar.isValid(this._year,this._month,this._day))throw(c.local.invalidDate||c.regionalOptions[""].invalidDate).replace(/\{0\}/,this._calendar.local.name)}function o(t,e){return"000000".substring(0,e-(t=""+t).length)+t}function s(){this.shortYearCutoff="+10"}function l(t){this.local=this.regionalOptions[t]||this.regionalOptions[""]}n(i.prototype,{instance:function(t,e){t=(t||"gregorian").toLowerCase(),e=e||"";var r=this._localCals[t+"-"+e];if(!r&&this.calendars[t]&&(r=new this.calendars[t](e),this._localCals[t+"-"+e]=r),!r)throw(this.local.invalidCalendar||this.regionalOptions[""].invalidCalendar).replace(/\{0\}/,t);return r},newDate:function(t,e,r,n,i){return(n=(null!=t&&t.year?t.calendar():"string"==typeof n?this.instance(n,i):n)||this.instance()).newDate(t,e,r)},substituteDigits:function(t){return function(e){return(e+"").replace(/[0-9]/g,(function(e){return t[e]}))}},substituteChineseDigits:function(t,e){return function(r){for(var n="",i=0;r>0;){var a=r%10;n=(0===a?"":t[a]+e[i])+n,i++,r=Math.floor(r/10)}return 0===n.indexOf(t[1]+e[1])&&(n=n.substr(1)),n||t[0]}}}),n(a.prototype,{newDate:function(t,e,r){return this._calendar.newDate(null==t?this:t,e,r)},year:function(t){return 0===arguments.length?this._year:this.set(t,"y")},month:function(t){return 0===arguments.length?this._month:this.set(t,"m")},day:function(t){return 0===arguments.length?this._day:this.set(t,"d")},date:function(t,e,r){if(!this._calendar.isValid(t,e,r))throw(c.local.invalidDate||c.regionalOptions[""].invalidDate).replace(/\{0\}/,this._calendar.local.name);return this._year=t,this._month=e,this._day=r,this},leapYear:function(){return this._calendar.leapYear(this)},epoch:function(){return this._calendar.epoch(this)},formatYear:function(){return this._calendar.formatYear(this)},monthOfYear:function(){return this._calendar.monthOfYear(this)},weekOfYear:function(){return this._calendar.weekOfYear(this)},daysInYear:function(){return this._calendar.daysInYear(this)},dayOfYear:function(){return this._calendar.dayOfYear(this)},daysInMonth:function(){return this._calendar.daysInMonth(this)},dayOfWeek:function(){return this._calendar.dayOfWeek(this)},weekDay:function(){return this._calendar.weekDay(this)},extraInfo:function(){return this._calendar.extraInfo(this)},add:function(t,e){return this._calendar.add(this,t,e)},set:function(t,e){return this._calendar.set(this,t,e)},compareTo:function(t){if(this._calendar.name!==t._calendar.name)throw(c.local.differentCalendars||c.regionalOptions[""].differentCalendars).replace(/\{0\}/,this._calendar.local.name).replace(/\{1\}/,t._calendar.local.name);var e=this._year!==t._year?this._year-t._year:this._month!==t._month?this.monthOfYear()-t.monthOfYear():this._day-t._day;return 0===e?0:e<0?-1:1},calendar:function(){return this._calendar},toJD:function(){return this._calendar.toJD(this)},fromJD:function(t){return this._calendar.fromJD(t)},toJSDate:function(){return this._calendar.toJSDate(this)},fromJSDate:function(t){return this._calendar.fromJSDate(t)},toString:function(){return(this.year()<0?"-":"")+o(Math.abs(this.year()),4)+"-"+o(this.month(),2)+"-"+o(this.day(),2)}}),n(s.prototype,{_validateLevel:0,newDate:function(t,e,r){return null==t?this.today():(t.year&&(this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[""].invalidDate),r=t.day(),e=t.month(),t=t.year()),new a(this,t,e,r))},today:function(){return this.fromJSDate(new Date)},epoch:function(t){return this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[""].invalidYear).year()<0?this.local.epochs[0]:this.local.epochs[1]},formatYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[""].invalidYear);return(e.year()<0?"-":"")+o(Math.abs(e.year()),4)},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[""].invalidYear),12},monthOfYear:function(t,e){var r=this._validate(t,e,this.minDay,c.local.invalidMonth||c.regionalOptions[""].invalidMonth);return(r.month()+this.monthsInYear(r)-this.firstMonth)%this.monthsInYear(r)+this.minMonth},fromMonthOfYear:function(t,e){var r=(e+this.firstMonth-2*this.minMonth)%this.monthsInYear(t)+this.minMonth;return this._validate(t,r,this.minDay,c.local.invalidMonth||c.regionalOptions[""].invalidMonth),r},daysInYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[""].invalidYear);return this.leapYear(e)?366:365},dayOfYear:function(t,e,r){var n=this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[""].invalidDate);return n.toJD()-this.newDate(n.year(),this.fromMonthOfYear(n.year(),this.minMonth),this.minDay).toJD()+1},daysInWeek:function(){return 7},dayOfWeek:function(t,e,r){var n=this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[""].invalidDate);return(Math.floor(this.toJD(n))+2)%this.daysInWeek()},extraInfo:function(t,e,r){return this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[""].invalidDate),{}},add:function(t,e,r){return this._validate(t,this.minMonth,this.minDay,c.local.invalidDate||c.regionalOptions[""].invalidDate),this._correctAdd(t,this._add(t,e,r),e,r)},_add:function(t,e,r){if(this._validateLevel++,"d"===r||"w"===r){var n=t.toJD()+e*("w"===r?this.daysInWeek():1),i=t.calendar().fromJD(n);return this._validateLevel--,[i.year(),i.month(),i.day()]}try{var a=t.year()+("y"===r?e:0),o=t.monthOfYear()+("m"===r?e:0);i=t.day();"y"===r?(t.month()!==this.fromMonthOfYear(a,o)&&(o=this.newDate(a,t.month(),this.minDay).monthOfYear()),o=Math.min(o,this.monthsInYear(a)),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o)))):"m"===r&&(!function(t){for(;o<t.minMonth;)a--,o+=t.monthsInYear(a);for(var e=t.monthsInYear(a);o>e-1+t.minMonth;)a++,o-=e,e=t.monthsInYear(a)}(this),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o))));var s=[a,this.fromMonthOfYear(a,o),i];return this._validateLevel--,s}catch(t){throw this._validateLevel--,t}},_correctAdd:function(t,e,r,n){if(!(this.hasYearZero||"y"!==n&&"m"!==n||0!==e[0]&&t.year()>0==e[0]>0)){var i={y:[1,1,"y"],m:[1,this.monthsInYear(-1),"m"],w:[this.daysInWeek(),this.daysInYear(-1),"d"],d:[1,this.daysInYear(-1),"d"]}[n],a=r<0?-1:1;e=this._add(t,r*i[0]+a*i[1],i[2])}return t.date(e[0],e[1],e[2])},set:function(t,e,r){this._validate(t,this.minMonth,this.minDay,c.local.invalidDate||c.regionalOptions[""].invalidDate);var n="y"===r?e:t.year(),i="m"===r?e:t.month(),a="d"===r?e:t.day();return"y"!==r&&"m"!==r||(a=Math.min(a,this.daysInMonth(n,i))),t.date(n,i,a)},isValid:function(t,e,r){this._validateLevel++;var n=this.hasYearZero||0!==t;if(n){var i=this.newDate(t,e,this.minDay);n=e>=this.minMonth&&e-this.minMonth<this.monthsInYear(i)&&r>=this.minDay&&r-this.minDay<this.daysInMonth(i)}return this._validateLevel--,n},toJSDate:function(t,e,r){var n=this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[""].invalidDate);return c.instance().fromJD(this.toJD(n)).toJSDate()},fromJSDate:function(t){return this.fromJD(c.instance().fromJSDate(t).toJD())},_validate:function(t,e,r,n){if(t.year){if(0===this._validateLevel&&this.name!==t.calendar().name)throw(c.local.differentCalendars||c.regionalOptions[""].differentCalendars).replace(/\{0\}/,this.local.name).replace(/\{1\}/,t.calendar().local.name);return t}try{if(this._validateLevel++,1===this._validateLevel&&!this.isValid(t,e,r))throw n.replace(/\{0\}/,this.local.name);var i=this.newDate(t,e,r);return this._validateLevel--,i}catch(t){throw this._validateLevel--,t}}}),l.prototype=new s,n(l.prototype,{name:"Gregorian",jdEpoch:1721425.5,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Gregorian",epochs:["BCE","CE"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"mm/dd/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[""].invalidYear);return(t=e.year()+(e.year()<0?1:0))%4==0&&(t%100!=0||t%400==0)},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(4-(n.dayOfWeek()||7),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,c.local.invalidMonth||c.regionalOptions[""].invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var n=this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[""].invalidDate);t=n.year(),e=n.month(),r=n.day(),t<0&&t++,e<3&&(e+=12,t--);var i=Math.floor(t/100),a=2-i+Math.floor(i/4);return Math.floor(365.25*(t+4716))+Math.floor(30.6001*(e+1))+r+a-1524.5},fromJD:function(t){var e=Math.floor(t+.5),r=Math.floor((e-1867216.25)/36524.25),n=(r=e+1+r-Math.floor(r/4))+1524,i=Math.floor((n-122.1)/365.25),a=Math.floor(365.25*i),o=Math.floor((n-a)/30.6001),s=n-a-Math.floor(30.6001*o),l=o-(o>13.5?13:1),c=i-(l>2.5?4716:4715);return c<=0&&c--,this.newDate(c,l,s)},toJSDate:function(t,e,r){var n=this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[""].invalidDate),i=new Date(n.year(),n.month()-1,n.day());return i.setHours(0),i.setMinutes(0),i.setSeconds(0),i.setMilliseconds(0),i.setHours(i.getHours()>12?i.getHours()+2:0),i},fromJSDate:function(t){return this.newDate(t.getFullYear(),t.getMonth()+1,t.getDate())}});var c=e.exports=new i;c.cdate=a,c.baseCalendar=s,c.calendars.gregorian=l},{"object-assign":499}],622:[function(t,e,r){var n=t("object-assign"),i=t("./main");n(i.regionalOptions[""],{invalidArguments:"Invalid arguments",invalidFormat:"Cannot format a date from another calendar",missingNumberAt:"Missing number at position {0}",unknownNameAt:"Unknown name at position {0}",unexpectedLiteralAt:"Unexpected literal at position {0}",unexpectedText:"Additional text found at end"}),i.local=i.regionalOptions[""],n(i.cdate.prototype,{formatDate:function(t,e){return"string"!=typeof t&&(e=t,t=""),this._calendar.formatDate(t||"",this,e)}}),n(i.baseCalendar.prototype,{UNIX_EPOCH:i.instance().newDate(1970,1,1).toJD(),SECS_PER_DAY:86400,TICKS_EPOCH:i.instance().jdEpoch,TICKS_PER_DAY:864e9,ATOM:"yyyy-mm-dd",COOKIE:"D, dd M yyyy",FULL:"DD, MM d, yyyy",ISO_8601:"yyyy-mm-dd",JULIAN:"J",RFC_822:"D, d M yy",RFC_850:"DD, dd-M-yy",RFC_1036:"D, d M yy",RFC_1123:"D, d M yyyy",RFC_2822:"D, d M yyyy",RSS:"D, d M yy",TICKS:"!",TIMESTAMP:"@",W3C:"yyyy-mm-dd",formatDate:function(t,e,r){if("string"!=typeof t&&(r=e,e=t,t=""),!e)return"";if(e.calendar()!==this)throw i.local.invalidFormat||i.regionalOptions[""].invalidFormat;t=t||this.local.dateFormat;for(var n,a,o,s,l=(r=r||{}).dayNamesShort||this.local.dayNamesShort,c=r.dayNames||this.local.dayNames,u=r.monthNumbers||this.local.monthNumbers,f=r.monthNamesShort||this.local.monthNamesShort,h=r.monthNames||this.local.monthNames,p=(r.calculateWeek||this.local.calculateWeek,function(e,r){for(var n=1;w+n<t.length&&t.charAt(w+n)===e;)n++;return w+=n-1,Math.floor(n/(r||1))>1}),d=function(t,e,r,n){var i=""+e;if(p(t,n))for(;i.length<r;)i="0"+i;return i},g=this,m=function(t){return"function"==typeof u?u.call(g,t,p("m")):x(d("m",t.month(),2))},v=function(t,e){return e?"function"==typeof h?h.call(g,t):h[t.month()-g.minMonth]:"function"==typeof f?f.call(g,t):f[t.month()-g.minMonth]},y=this.local.digits,x=function(t){return r.localNumbers&&y?y(t):t},b="",_=!1,w=0;w<t.length;w++)if(_)"'"!==t.charAt(w)||p("'")?b+=t.charAt(w):_=!1;else switch(t.charAt(w)){case"d":b+=x(d("d",e.day(),2));break;case"D":b+=(n="D",a=e.dayOfWeek(),o=l,s=c,p(n)?s[a]:o[a]);break;case"o":b+=d("o",e.dayOfYear(),3);break;case"w":b+=d("w",e.weekOfYear(),2);break;case"m":b+=m(e);break;case"M":b+=v(e,p("M"));break;case"y":b+=p("y",2)?e.year():(e.year()%100<10?"0":"")+e.year()%100;break;case"Y":p("Y",2),b+=e.formatYear();break;case"J":b+=e.toJD();break;case"@":b+=(e.toJD()-this.UNIX_EPOCH)*this.SECS_PER_DAY;break;case"!":b+=(e.toJD()-this.TICKS_EPOCH)*this.TICKS_PER_DAY;break;case"'":p("'")?b+="'":_=!0;break;default:b+=t.charAt(w)}return b},parseDate:function(t,e,r){if(null==e)throw i.local.invalidArguments||i.regionalOptions[""].invalidArguments;if(""===(e="object"==typeof e?e.toString():e+""))return null;t=t||this.local.dateFormat;var n=(r=r||{}).shortYearCutoff||this.shortYearCutoff;n="string"!=typeof n?n:this.today().year()%100+parseInt(n,10);for(var a=r.dayNamesShort||this.local.dayNamesShort,o=r.dayNames||this.local.dayNames,s=r.parseMonth||this.local.parseMonth,l=r.monthNumbers||this.local.monthNumbers,c=r.monthNamesShort||this.local.monthNamesShort,u=r.monthNames||this.local.monthNames,f=-1,h=-1,p=-1,d=-1,g=-1,m=!1,v=!1,y=function(e,r){for(var n=1;A+n<t.length&&t.charAt(A+n)===e;)n++;return A+=n-1,Math.floor(n/(r||1))>1},x=function(t,r){var n=y(t,r),a=[2,3,n?4:2,n?4:2,10,11,20]["oyYJ@!".indexOf(t)+1],o=new RegExp("^-?\\d{1,"+a+"}"),s=e.substring(M).match(o);if(!s)throw(i.local.missingNumberAt||i.regionalOptions[""].missingNumberAt).replace(/\{0\}/,M);return M+=s[0].length,parseInt(s[0],10)},b=this,_=function(){if("function"==typeof l){y("m");var t=l.call(b,e.substring(M));return M+=t.length,t}return x("m")},w=function(t,r,n,a){for(var o=y(t,a)?n:r,s=0;s<o.length;s++)if(e.substr(M,o[s].length).toLowerCase()===o[s].toLowerCase())return M+=o[s].length,s+b.minMonth;throw(i.local.unknownNameAt||i.regionalOptions[""].unknownNameAt).replace(/\{0\}/,M)},T=function(){if("function"==typeof u){var t=y("M")?u.call(b,e.substring(M)):c.call(b,e.substring(M));return M+=t.length,t}return w("M",c,u)},k=function(){if(e.charAt(M)!==t.charAt(A))throw(i.local.unexpectedLiteralAt||i.regionalOptions[""].unexpectedLiteralAt).replace(/\{0\}/,M);M++},M=0,A=0;A<t.length;A++)if(v)"'"!==t.charAt(A)||y("'")?k():v=!1;else switch(t.charAt(A)){case"d":d=x("d");break;case"D":w("D",a,o);break;case"o":g=x("o");break;case"w":x("w");break;case"m":p=_();break;case"M":p=T();break;case"y":var S=A;m=!y("y",2),A=S,h=x("y",2);break;case"Y":h=x("Y",2);break;case"J":f=x("J")+.5,"."===e.charAt(M)&&(M++,x("J"));break;case"@":f=x("@")/this.SECS_PER_DAY+this.UNIX_EPOCH;break;case"!":f=x("!")/this.TICKS_PER_DAY+this.TICKS_EPOCH;break;case"*":M=e.length;break;case"'":y("'")?k():v=!0;break;default:k()}if(M<e.length)throw i.local.unexpectedText||i.regionalOptions[""].unexpectedText;if(-1===h?h=this.today().year():h<100&&m&&(h+=-1===n?1900:this.today().year()-this.today().year()%100-(h<=n?0:100)),"string"==typeof p&&(p=s.call(this,h,p)),g>-1){p=1,d=g;for(var E=this.daysInMonth(h,p);d>E;E=this.daysInMonth(h,p))p++,d-=E}return f>-1?this.fromJD(f):this.newDate(h,p,d)},determineDate:function(t,e,r,n,i){r&&"object"!=typeof r&&(i=n,n=r,r=null),"string"!=typeof n&&(i=n,n="");var a=this;return e=e?e.newDate():null,t=null==t?e:"string"==typeof t?function(t){try{return a.parseDate(n,t,i)}catch(t){}for(var e=((t=t.toLowerCase()).match(/^c/)&&r?r.newDate():null)||a.today(),o=/([+-]?[0-9]+)\s*(d|w|m|y)?/g,s=o.exec(t);s;)e.add(parseInt(s[1],10),s[2]||"d"),s=o.exec(t);return e}(t):"number"==typeof t?isNaN(t)||t===1/0||t===-1/0?e:a.today().add(t,"d"):a.newDate(t)}})},{"./main":621,"object-assign":499}],623:[function(t,e,r){e.exports=t("cwise-compiler")({args:["array",{offset:[1],array:0},"scalar","scalar","index"],pre:{body:"{}",args:[],thisVars:[],localVars:[]},post:{body:"{}",args:[],thisVars:[],localVars:[]},body:{body:"{\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 >= 0) !== (_inline_1_db >= 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 }",args:[{name:"_inline_1_arg0_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_1_arg1_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_1_arg2_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_1_arg3_",lvalue:!1,rvalue:!0,count:2},{name:"_inline_1_arg4_",lvalue:!1,rvalue:!0,count:1}],thisVars:[],localVars:["_inline_1_da","_inline_1_db"]},funcName:"zeroCrossings"})},{"cwise-compiler":151}],624:[function(t,e,r){"use strict";e.exports=function(t,e){var r=[];return e=+e||0,n(t.hi(t.shape[0]-1),r,e),r};var n=t("./lib/zc-core")},{"./lib/zc-core":623}],625:[function(t,e,r){"use strict";e.exports=[{path:"",backoff:0},{path:"M-2.4,-3V3L0.6,0Z",backoff:.6},{path:"M-3.7,-2.5V2.5L1.3,0Z",backoff:1.3},{path:"M-4.45,-3L-1.65,-0.2V0.2L-4.45,3L1.55,0Z",backoff:1.55},{path:"M-2.2,-2.2L-0.2,-0.2V0.2L-2.2,2.2L-1.4,3L1.6,0L-1.4,-3Z",backoff:1.6},{path:"M-4.4,-2.1L-0.6,-0.2V0.2L-4.4,2.1L-4,3L2,0L-4,-3Z",backoff:2},{path:"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z",backoff:0,noRotate:!0},{path:"M2,2V-2H-2V2Z",backoff:0,noRotate:!0}]},{}],626:[function(t,e,r){"use strict";var n=t("./arrow_paths"),i=t("../../plots/font_attributes"),a=t("../../plots/cartesian/constants"),o=t("../../plot_api/plot_template").templatedArray;t("../../constants/axis_placeable_objects");e.exports=o("annotation",{visible:{valType:"boolean",dflt:!0,editType:"calc+arraydraw"},text:{valType:"string",editType:"calc+arraydraw"},textangle:{valType:"angle",dflt:0,editType:"calc+arraydraw"},font:i({editType:"calc+arraydraw",colorEditType:"arraydraw"}),width:{valType:"number",min:1,dflt:null,editType:"calc+arraydraw"},height:{valType:"number",min:1,dflt:null,editType:"calc+arraydraw"},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"arraydraw"},align:{valType:"enumerated",values:["left","center","right"],dflt:"center",editType:"arraydraw"},valign:{valType:"enumerated",values:["top","middle","bottom"],dflt:"middle",editType:"arraydraw"},bgcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"arraydraw"},bordercolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"arraydraw"},borderpad:{valType:"number",min:0,dflt:1,editType:"calc+arraydraw"},borderwidth:{valType:"number",min:0,dflt:1,editType:"calc+arraydraw"},showarrow:{valType:"boolean",dflt:!0,editType:"calc+arraydraw"},arrowcolor:{valType:"color",editType:"arraydraw"},arrowhead:{valType:"integer",min:0,max:n.length,dflt:1,editType:"arraydraw"},startarrowhead:{valType:"integer",min:0,max:n.length,dflt:1,editType:"arraydraw"},arrowside:{valType:"flaglist",flags:["end","start"],extras:["none"],dflt:"end",editType:"arraydraw"},arrowsize:{valType:"number",min:.3,dflt:1,editType:"calc+arraydraw"},startarrowsize:{valType:"number",min:.3,dflt:1,editType:"calc+arraydraw"},arrowwidth:{valType:"number",min:.1,editType:"calc+arraydraw"},standoff:{valType:"number",min:0,dflt:0,editType:"calc+arraydraw"},startstandoff:{valType:"number",min:0,dflt:0,editType:"calc+arraydraw"},ax:{valType:"any",editType:"calc+arraydraw"},ay:{valType:"any",editType:"calc+arraydraw"},axref:{valType:"enumerated",dflt:"pixel",values:["pixel",a.idRegex.x.toString()],editType:"calc"},ayref:{valType:"enumerated",dflt:"pixel",values:["pixel",a.idRegex.y.toString()],editType:"calc"},xref:{valType:"enumerated",values:["paper",a.idRegex.x.toString()],editType:"calc"},x:{valType:"any",editType:"calc+arraydraw"},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"auto",editType:"calc+arraydraw"},xshift:{valType:"number",dflt:0,editType:"calc+arraydraw"},yref:{valType:"enumerated",values:["paper",a.idRegex.y.toString()],editType:"calc"},y:{valType:"any",editType:"calc+arraydraw"},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"auto",editType:"calc+arraydraw"},yshift:{valType:"number",dflt:0,editType:"calc+arraydraw"},clicktoshow:{valType:"enumerated",values:[!1,"onoff","onout"],dflt:!1,editType:"arraydraw"},xclick:{valType:"any",editType:"arraydraw"},yclick:{valType:"any",editType:"arraydraw"},hovertext:{valType:"string",editType:"arraydraw"},hoverlabel:{bgcolor:{valType:"color",editType:"arraydraw"},bordercolor:{valType:"color",editType:"arraydraw"},font:i({editType:"arraydraw"}),editType:"arraydraw"},captureevents:{valType:"boolean",editType:"arraydraw"},editType:"calc",_deprecated:{ref:{valType:"string",editType:"calc"}}})},{"../../constants/axis_placeable_objects":746,"../../plot_api/plot_template":817,"../../plots/cartesian/constants":834,"../../plots/font_attributes":856,"./arrow_paths":625}],627:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../plots/cartesian/axes"),a=t("./draw").draw;function o(t){var e=t._fullLayout;n.filterVisible(e.annotations).forEach((function(e){var r=i.getFromId(t,e.xref),n=i.getFromId(t,e.yref),a=i.getRefType(e.xref),o=i.getRefType(e.yref);e._extremes={},"range"===a&&s(e,r),"range"===o&&s(e,n)}))}function s(t,e){var r,n=e._id,a=n.charAt(0),o=t[a],s=t["a"+a],l=t[a+"ref"],c=t["a"+a+"ref"],u=t["_"+a+"padplus"],f=t["_"+a+"padminus"],h={x:1,y:-1}[a]*t[a+"shift"],p=3*t.arrowsize*t.arrowwidth||0,d=p+h,g=p-h,m=3*t.startarrowsize*t.arrowwidth||0,v=m+h,y=m-h;if(c===l){var x=i.findExtremes(e,[e.r2c(o)],{ppadplus:d,ppadminus:g}),b=i.findExtremes(e,[e.r2c(s)],{ppadplus:Math.max(u,v),ppadminus:Math.max(f,y)});r={min:[x.min[0],b.min[0]],max:[x.max[0],b.max[0]]}}else v=s?v+s:v,y=s?y-s:y,r=i.findExtremes(e,[e.r2c(o)],{ppadplus:Math.max(u,d,v),ppadminus:Math.max(f,g,y)});t._extremes[n]=r}e.exports=function(t){var e=t._fullLayout;if(n.filterVisible(e.annotations).length&&t._fullData.length)return n.syncOrAsync([a,o],t)}},{"../../lib":778,"../../plots/cartesian/axes":828,"./draw":632}],628:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../registry"),a=t("../../plot_api/plot_template").arrayEditor;function o(t,e){var r,n,i,a,o,l,c,u=t._fullLayout.annotations,f=[],h=[],p=[],d=(e||[]).length;for(r=0;r<u.length;r++)if(a=(i=u[r]).clicktoshow){for(n=0;n<d;n++)if(l=(o=e[n]).xaxis,c=o.yaxis,l._id===i.xref&&c._id===i.yref&&l.d2r(o.x)===s(i._xclick,l)&&c.d2r(o.y)===s(i._yclick,c)){(i.visible?"onout"===a?h:p:f).push(r);break}n===d&&i.visible&&"onout"===a&&h.push(r)}return{on:f,off:h,explicitOff:p}}function s(t,e){return"log"===e.type?e.l2r(t):e.d2r(t)}e.exports={hasClickToShow:function(t,e){var r=o(t,e);return r.on.length>0||r.explicitOff.length>0},onClick:function(t,e){var r,s,l=o(t,e),c=l.on,u=l.off.concat(l.explicitOff),f={},h=t._fullLayout.annotations;if(!c.length&&!u.length)return;for(r=0;r<c.length;r++)(s=a(t.layout,"annotations",h[c[r]])).modifyItem("visible",!0),n.extendFlat(f,s.getUpdateObj());for(r=0;r<u.length;r++)(s=a(t.layout,"annotations",h[u[r]])).modifyItem("visible",!1),n.extendFlat(f,s.getUpdateObj());return i.call("update",t,{},f)}}},{"../../lib":778,"../../plot_api/plot_template":817,"../../registry":911}],629:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../color");e.exports=function(t,e,r,a){a("opacity");var o=a("bgcolor"),s=a("bordercolor"),l=i.opacity(s);a("borderpad");var c=a("borderwidth"),u=a("showarrow");if(a("text",u?" ":r._dfltTitle.annotation),a("textangle"),n.coerceFont(a,"font",r.font),a("width"),a("align"),a("height")&&a("valign"),u){var f,h,p=a("arrowside");-1!==p.indexOf("end")&&(f=a("arrowhead"),h=a("arrowsize")),-1!==p.indexOf("start")&&(a("startarrowhead",f),a("startarrowsize",h)),a("arrowcolor",l?e.bordercolor:i.defaultLine),a("arrowwidth",2*(l&&c||1)),a("standoff"),a("startstandoff")}var d=a("hovertext"),g=r.hoverlabel||{};if(d){var m=a("hoverlabel.bgcolor",g.bgcolor||(i.opacity(o)?i.rgb(o):i.defaultLine)),v=a("hoverlabel.bordercolor",g.bordercolor||i.contrast(m));n.coerceFont(a,"hoverlabel.font",{family:g.font.family,size:g.font.size,color:g.font.color||v})}a("captureevents",!!d)}},{"../../lib":778,"../color":643}],630:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../lib/to_log_range");e.exports=function(t,e,r,a){e=e||{};var o="log"===r&&"linear"===e.type,s="linear"===r&&"log"===e.type;if(o||s)for(var l,c,u=t._fullLayout.annotations,f=e._id.charAt(0),h=0;h<u.length;h++)l=u[h],c="annotations["+h+"].",l[f+"ref"]===e._id&&p(f),l["a"+f+"ref"]===e._id&&p("a"+f);function p(t){var r=l[t],s=null;s=o?i(r,e.range):Math.pow(10,r),n(s)||(s=null),a(c+t,s)}}},{"../../lib/to_log_range":805,"fast-isnumeric":241}],631:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../plots/cartesian/axes"),a=t("../../plots/array_container_defaults"),o=t("./common_defaults"),s=t("./attributes");function l(t,e,r){function a(r,i){return n.coerce(t,e,s,r,i)}var l=a("visible"),c=a("clicktoshow");if(l||c){o(t,e,r,a);for(var u=e.showarrow,f=["x","y"],h=[-10,-30],p={_fullLayout:r},d=0;d<2;d++){var g=f[d],m=i.coerceRef(t,e,p,g,"","paper");if("paper"!==m)i.getFromId(p,m)._annIndices.push(e._index);if(i.coercePosition(e,p,a,m,g,.5),u){var v="a"+g,y=i.coerceRef(t,e,p,v,"pixel",["pixel","paper"]);"pixel"!==y&&y!==m&&(y=e[v]="pixel");var x="pixel"===y?h[d]:.4;i.coercePosition(e,p,a,y,v,x)}a(g+"anchor"),a(g+"shift")}if(n.noneOrAll(t,e,["x","y"]),u&&n.noneOrAll(t,e,["ax","ay"]),c){var b=a("xclick"),_=a("yclick");e._xclick=void 0===b?e.x:i.cleanPosition(b,p,e.xref),e._yclick=void 0===_?e.y:i.cleanPosition(_,p,e.yref)}}}e.exports=function(t,e){a(t,e,{name:"annotations",handleItemDefaults:l})}},{"../../lib":778,"../../plots/array_container_defaults":823,"../../plots/cartesian/axes":828,"./attributes":626,"./common_defaults":629}],632:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../registry"),a=t("../../plots/plots"),o=t("../../lib"),s=o.strTranslate,l=t("../../plots/cartesian/axes"),c=t("../color"),u=t("../drawing"),f=t("../fx"),h=t("../../lib/svg_text_utils"),p=t("../../lib/setcursor"),d=t("../dragelement"),g=t("../../plot_api/plot_template").arrayEditor,m=t("./draw_arrow_head");function v(t,e){var r=t._fullLayout.annotations[e]||{},n=l.getFromId(t,r.xref),i=l.getFromId(t,r.yref);n&&n.setScale(),i&&i.setScale(),x(t,r,e,!1,n,i)}function y(t,e,r,n,i){var a=i[r],o=i[r+"ref"],s=-1!==r.indexOf("y"),c="domain"===l.getRefType(o),u=s?n.h:n.w;return t?c?a+(s?-e:e)/t._length:t.p2r(t.r2p(a)+e):a+(s?-e:e)/u}function x(t,e,r,a,v,x){var b,_,w=t._fullLayout,T=t._fullLayout._size,k=t._context.edits;a?(b="annotation-"+a,_=a+".annotations"):(b="annotation",_="annotations");var M=g(t.layout,_,e),A=M.modifyBase,S=M.modifyItem,E=M.getUpdateObj;w._infolayer.selectAll("."+b+'[data-index="'+r+'"]').remove();var C="clip"+w._uid+"_ann"+r;if(e._input&&!1!==e.visible){var L={x:{},y:{}},I=+e.textangle||0,P=w._infolayer.append("g").classed(b,!0).attr("data-index",String(r)).style("opacity",e.opacity),z=P.append("g").classed("annotation-text-g",!0),O=k[e.showarrow?"annotationTail":"annotationPosition"],D=e.captureevents||k.annotationText||O,R=z.append("g").style("pointer-events",D?"all":null).call(p,"pointer").on("click",(function(){t._dragging=!1,t.emit("plotly_clickannotation",Y(n.event))}));e.hovertext&&R.on("mouseover",(function(){var r=e.hoverlabel,n=r.font,i=this.getBoundingClientRect(),a=t.getBoundingClientRect();f.loneHover({x0:i.left-a.left,x1:i.right-a.left,y:(i.top+i.bottom)/2-a.top,text:e.hovertext,color:r.bgcolor,borderColor:r.bordercolor,fontFamily:n.family,fontSize:n.size,fontColor:n.color},{container:w._hoverlayer.node(),outerContainer:w._paper.node(),gd:t})})).on("mouseout",(function(){f.loneUnhover(w._hoverlayer.node())}));var F=e.borderwidth,B=e.borderpad,N=F+B,j=R.append("rect").attr("class","bg").style("stroke-width",F+"px").call(c.stroke,e.bordercolor).call(c.fill,e.bgcolor),U=e.width||e.height,V=w._topclips.selectAll("#"+C).data(U?[0]:[]);V.enter().append("clipPath").classed("annclip",!0).attr("id",C).append("rect"),V.exit().remove();var q=e.font,H=w._meta?o.templateString(e.text,w._meta):e.text,G=R.append("text").classed("annotation-text",!0).text(H);k.annotationText?G.call(h.makeEditable,{delegate:R,gd:t}).call(W).on("edit",(function(r){e.text=r,this.call(W),S("text",r),v&&v.autorange&&A(v._name+".autorange",!0),x&&x.autorange&&A(x._name+".autorange",!0),i.call("_guiRelayout",t,E())})):G.call(W)}else n.selectAll("#"+C).remove();function Y(t){var n={index:r,annotation:e._input,fullAnnotation:e,event:t};return a&&(n.subplotId=a),n}function W(r){return r.call(u.font,q).attr({"text-anchor":{left:"start",right:"end"}[e.align]||"middle"}),h.convertToTspans(r,t,X),r}function X(){var r=G.selectAll("a");1===r.size()&&r.text()===G.text()&&R.insert("a",":first-child").attr({"xlink:xlink:href":r.attr("xlink:href"),"xlink:xlink:show":r.attr("xlink:show")}).style({cursor:"pointer"}).node().appendChild(j.node());var n=R.select(".annotation-text-math-group"),f=!n.empty(),g=u.bBox((f?n:G).node()),b=g.width,_=g.height,M=e.width||b,D=e.height||_,B=Math.round(M+2*N),q=Math.round(D+2*N);function H(t,e){return"auto"===e&&(e=t<1/3?"left":t>2/3?"right":"center"),{center:0,middle:0,left:.5,bottom:-.5,right:-.5,top:.5}[e]}for(var W=!1,X=["x","y"],Z=0;Z<X.length;Z++){var J,K,Q,$,tt,et=X[Z],rt=e[et+"ref"]||et,nt=e["a"+et+"ref"],it={x:v,y:x}[et],at=(I+("x"===et?0:-90))*Math.PI/180,ot=B*Math.cos(at),st=q*Math.sin(at),lt=Math.abs(ot)+Math.abs(st),ct=e[et+"anchor"],ut=e[et+"shift"]*("x"===et?1:-1),ft=L[et],ht=l.getRefType(rt);if(it&&"domain"!==ht){var pt=it.r2fraction(e[et]);(pt<0||pt>1)&&(nt===rt?((pt=it.r2fraction(e["a"+et]))<0||pt>1)&&(W=!0):W=!0),J=it._offset+it.r2p(e[et]),$=.5}else{var dt="domain"===ht;"x"===et?(Q=e[et],J=dt?it._offset+it._length*Q:J=T.l+T.w*Q):(Q=1-e[et],J=dt?it._offset+it._length*Q:J=T.t+T.h*Q),$=e.showarrow?.5:Q}if(e.showarrow){ft.head=J;var gt=e["a"+et];if(tt=ot*H(.5,e.xanchor)-st*H(.5,e.yanchor),nt===rt){var mt=l.getRefType(nt);"domain"===mt?("y"===et&&(gt=1-gt),ft.tail=it._offset+it._length*gt):"paper"===mt?"y"===et?(gt=1-gt,ft.tail=T.t+T.h*gt):ft.tail=T.l+T.w*gt:ft.tail=it._offset+it.r2p(gt),K=tt}else ft.tail=J+gt,K=tt+gt;ft.text=ft.tail+tt;var vt=w["x"===et?"width":"height"];if("paper"===rt&&(ft.head=o.constrain(ft.head,1,vt-1)),"pixel"===nt){var yt=-Math.max(ft.tail-3,ft.text),xt=Math.min(ft.tail+3,ft.text)-vt;yt>0?(ft.tail+=yt,ft.text+=yt):xt>0&&(ft.tail-=xt,ft.text-=xt)}ft.tail+=ut,ft.head+=ut}else K=tt=lt*H($,ct),ft.text=J+tt;ft.text+=ut,tt+=ut,K+=ut,e["_"+et+"padplus"]=lt/2+K,e["_"+et+"padminus"]=lt/2-K,e["_"+et+"size"]=lt,e["_"+et+"shift"]=tt}if(W)R.remove();else{var bt=0,_t=0;if("left"!==e.align&&(bt=(M-b)*("center"===e.align?.5:1)),"top"!==e.valign&&(_t=(D-_)*("middle"===e.valign?.5:1)),f)n.select("svg").attr({x:N+bt-1,y:N+_t}).call(u.setClipUrl,U?C:null,t);else{var wt=N+_t-g.top,Tt=N+bt-g.left;G.call(h.positionText,Tt,wt).call(u.setClipUrl,U?C:null,t)}V.select("rect").call(u.setRect,N,N,M,D),j.call(u.setRect,F/2,F/2,B-F,q-F),R.call(u.setTranslate,Math.round(L.x.text-B/2),Math.round(L.y.text-q/2)),z.attr({transform:"rotate("+I+","+L.x.text+","+L.y.text+")"});var kt,Mt=function(r,n){P.selectAll(".annotation-arrow-g").remove();var l=L.x.head,f=L.y.head,h=L.x.tail+r,p=L.y.tail+n,g=L.x.text+r,b=L.y.text+n,_=o.rotationXYMatrix(I,g,b),w=o.apply2DTransform(_),M=o.apply2DTransform2(_),C=+j.attr("width"),O=+j.attr("height"),D=g-.5*C,F=D+C,B=b-.5*O,N=B+O,U=[[D,B,D,N],[D,N,F,N],[F,N,F,B],[F,B,D,B]].map(M);if(!U.reduce((function(t,e){return t^!!o.segmentsIntersect(l,f,l+1e6,f+1e6,e[0],e[1],e[2],e[3])}),!1)){U.forEach((function(t){var e=o.segmentsIntersect(h,p,l,f,t[0],t[1],t[2],t[3]);e&&(h=e.x,p=e.y)}));var V=e.arrowwidth,q=e.arrowcolor,H=e.arrowside,G=P.append("g").style({opacity:c.opacity(q)}).classed("annotation-arrow-g",!0),Y=G.append("path").attr("d","M"+h+","+p+"L"+l+","+f).style("stroke-width",V+"px").call(c.stroke,c.rgb(q));if(m(Y,H,e),k.annotationPosition&&Y.node().parentNode&&!a){var W=l,X=f;if(e.standoff){var Z=Math.sqrt(Math.pow(l-h,2)+Math.pow(f-p,2));W+=e.standoff*(h-l)/Z,X+=e.standoff*(p-f)/Z}var J,K,Q=G.append("path").classed("annotation-arrow",!0).classed("anndrag",!0).classed("cursor-move",!0).attr({d:"M3,3H-3V-3H3ZM0,0L"+(h-W)+","+(p-X),transform:s(W,X)}).style("stroke-width",V+6+"px").call(c.stroke,"rgba(0,0,0,0)").call(c.fill,"rgba(0,0,0,0)");d.init({element:Q.node(),gd:t,prepFn:function(){var t=u.getTranslate(R);J=t.x,K=t.y,v&&v.autorange&&A(v._name+".autorange",!0),x&&x.autorange&&A(x._name+".autorange",!0)},moveFn:function(t,r){var n=w(J,K),i=n[0]+t,a=n[1]+r;R.call(u.setTranslate,i,a),S("x",y(v,t,"x",T,e)),S("y",y(x,r,"y",T,e)),e.axref===e.xref&&S("ax",y(v,t,"ax",T,e)),e.ayref===e.yref&&S("ay",y(x,r,"ay",T,e)),G.attr("transform",s(t,r)),z.attr({transform:"rotate("+I+","+i+","+a+")"})},doneFn:function(){i.call("_guiRelayout",t,E());var e=document.querySelector(".js-notes-box-panel");e&&e.redraw(e.selectedObj)}})}}};if(e.showarrow&&Mt(0,0),O)d.init({element:R.node(),gd:t,prepFn:function(){kt=z.attr("transform")},moveFn:function(t,r){var n="pointer";if(e.showarrow)e.axref===e.xref?S("ax",y(v,t,"ax",T,e)):S("ax",e.ax+t),e.ayref===e.yref?S("ay",y(x,r,"ay",T.w,e)):S("ay",e.ay+r),Mt(t,r);else{if(a)return;var i,o;if(v)i=y(v,t,"x",T,e);else{var l=e._xsize/T.w,c=e.x+(e._xshift-e.xshift)/T.w-l/2;i=d.align(c+t/T.w,l,0,1,e.xanchor)}if(x)o=y(x,r,"y",T,e);else{var u=e._ysize/T.h,f=e.y-(e._yshift+e.yshift)/T.h-u/2;o=d.align(f-r/T.h,u,0,1,e.yanchor)}S("x",i),S("y",o),v&&x||(n=d.getCursor(v?.5:i,x?.5:o,e.xanchor,e.yanchor))}z.attr({transform:s(t,r)+kt}),p(R,n)},clickFn:function(r,n){e.captureevents&&t.emit("plotly_clickannotation",Y(n))},doneFn:function(){p(R),i.call("_guiRelayout",t,E());var e=document.querySelector(".js-notes-box-panel");e&&e.redraw(e.selectedObj)}})}}}e.exports={draw:function(t){var e=t._fullLayout;e._infolayer.selectAll(".annotation").remove();for(var r=0;r<e.annotations.length;r++)e.annotations[r].visible&&v(t,r);return a.previousPromises(t)},drawOne:v,drawRaw:x}},{"../../lib":778,"../../lib/setcursor":799,"../../lib/svg_text_utils":803,"../../plot_api/plot_template":817,"../../plots/cartesian/axes":828,"../../plots/plots":891,"../../registry":911,"../color":643,"../dragelement":662,"../drawing":665,"../fx":683,"./draw_arrow_head":633,d3:169}],633:[function(t,e,r){"use strict";var n=t("d3"),i=t("../color"),a=t("./arrow_paths"),o=t("../../lib"),s=o.strScale,l=o.strRotate,c=o.strTranslate;e.exports=function(t,e,r){var o,u,f,h,p=t.node(),d=a[r.arrowhead||0],g=a[r.startarrowhead||0],m=(r.arrowwidth||1)*(r.arrowsize||1),v=(r.arrowwidth||1)*(r.startarrowsize||1),y=e.indexOf("start")>=0,x=e.indexOf("end")>=0,b=d.backoff*m+r.standoff,_=g.backoff*v+r.startstandoff;if("line"===p.nodeName){o={x:+t.attr("x1"),y:+t.attr("y1")},u={x:+t.attr("x2"),y:+t.attr("y2")};var w=o.x-u.x,T=o.y-u.y;if(h=(f=Math.atan2(T,w))+Math.PI,b&&_&&b+_>Math.sqrt(w*w+T*T))return void O();if(b){if(b*b>w*w+T*T)return void O();var k=b*Math.cos(f),M=b*Math.sin(f);u.x+=k,u.y+=M,t.attr({x2:u.x,y2:u.y})}if(_){if(_*_>w*w+T*T)return void O();var A=_*Math.cos(f),S=_*Math.sin(f);o.x-=A,o.y-=S,t.attr({x1:o.x,y1:o.y})}}else if("path"===p.nodeName){var E=p.getTotalLength(),C="";if(E<b+_)return void O();var L=p.getPointAtLength(0),I=p.getPointAtLength(.1);f=Math.atan2(L.y-I.y,L.x-I.x),o=p.getPointAtLength(Math.min(_,E)),C="0px,"+_+"px,";var P=p.getPointAtLength(E),z=p.getPointAtLength(E-.1);h=Math.atan2(P.y-z.y,P.x-z.x),u=p.getPointAtLength(Math.max(0,E-b)),C+=E-(C?_+b:b)+"px,"+E+"px",t.style("stroke-dasharray",C)}function O(){t.style("stroke-dasharray","0px,100px")}function D(e,a,o,u){e.path&&(e.noRotate&&(o=0),n.select(p.parentNode).append("path").attr({class:t.attr("class"),d:e.path,transform:c(a.x,a.y)+l(180*o/Math.PI)+s(u)}).style({fill:i.rgb(r.arrowcolor),"stroke-width":0}))}y&&D(g,o,f,v),x&&D(d,u,h,m)}},{"../../lib":778,"../color":643,"./arrow_paths":625,d3:169}],634:[function(t,e,r){"use strict";var n=t("./draw"),i=t("./click");e.exports={moduleType:"component",name:"annotations",layoutAttributes:t("./attributes"),supplyLayoutDefaults:t("./defaults"),includeBasePlot:t("../../plots/cartesian/include_components")("annotations"),calcAutorange:t("./calc_autorange"),draw:n.draw,drawOne:n.drawOne,drawRaw:n.drawRaw,hasClickToShow:i.hasClickToShow,onClick:i.onClick,convertCoords:t("./convert_coords")}},{"../../plots/cartesian/include_components":840,"./attributes":626,"./calc_autorange":627,"./click":628,"./convert_coords":630,"./defaults":631,"./draw":632}],635:[function(t,e,r){"use strict";var n=t("../annotations/attributes"),i=t("../../plot_api/edit_types").overrideAll,a=t("../../plot_api/plot_template").templatedArray;e.exports=i(a("annotation",{visible:n.visible,x:{valType:"any"},y:{valType:"any"},z:{valType:"any"},ax:{valType:"number"},ay:{valType:"number"},xanchor:n.xanchor,xshift:n.xshift,yanchor:n.yanchor,yshift:n.yshift,text:n.text,textangle:n.textangle,font:n.font,width:n.width,height:n.height,opacity:n.opacity,align:n.align,valign:n.valign,bgcolor:n.bgcolor,bordercolor:n.bordercolor,borderpad:n.borderpad,borderwidth:n.borderwidth,showarrow:n.showarrow,arrowcolor:n.arrowcolor,arrowhead:n.arrowhead,startarrowhead:n.startarrowhead,arrowside:n.arrowside,arrowsize:n.arrowsize,startarrowsize:n.startarrowsize,arrowwidth:n.arrowwidth,standoff:n.standoff,startstandoff:n.startstandoff,hovertext:n.hovertext,hoverlabel:n.hoverlabel,captureevents:n.captureevents}),"calc","from-root")},{"../../plot_api/edit_types":810,"../../plot_api/plot_template":817,"../annotations/attributes":626}],636:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../plots/cartesian/axes");function a(t,e){var r=e.fullSceneLayout.domain,a=e.fullLayout._size,o={pdata:null,type:"linear",autorange:!1,range:[-1/0,1/0]};t._xa={},n.extendFlat(t._xa,o),i.setConvert(t._xa),t._xa._offset=a.l+r.x[0]*a.w,t._xa.l2p=function(){return.5*(1+t._pdata[0]/t._pdata[3])*a.w*(r.x[1]-r.x[0])},t._ya={},n.extendFlat(t._ya,o),i.setConvert(t._ya),t._ya._offset=a.t+(1-r.y[1])*a.h,t._ya.l2p=function(){return.5*(1-t._pdata[1]/t._pdata[3])*a.h*(r.y[1]-r.y[0])}}e.exports=function(t){for(var e=t.fullSceneLayout.annotations,r=0;r<e.length;r++)a(e[r],t);t.fullLayout._infolayer.selectAll(".annotation-"+t.id).remove()}},{"../../lib":778,"../../plots/cartesian/axes":828}],637:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../plots/cartesian/axes"),a=t("../../plots/array_container_defaults"),o=t("../annotations/common_defaults"),s=t("./attributes");function l(t,e,r,a){function l(r,i){return n.coerce(t,e,s,r,i)}function c(t){var n=t+"axis",a={_fullLayout:{}};return a._fullLayout[n]=r[n],i.coercePosition(e,a,l,t,t,.5)}l("visible")&&(o(t,e,a.fullLayout,l),c("x"),c("y"),c("z"),n.noneOrAll(t,e,["x","y","z"]),e.xref="x",e.yref="y",e.zref="z",l("xanchor"),l("yanchor"),l("xshift"),l("yshift"),e.showarrow&&(e.axref="pixel",e.ayref="pixel",l("ax",-10),l("ay",-30),n.noneOrAll(t,e,["ax","ay"])))}e.exports=function(t,e,r){a(t,e,{name:"annotations",handleItemDefaults:l,fullLayout:r.fullLayout})}},{"../../lib":778,"../../plots/array_container_defaults":823,"../../plots/cartesian/axes":828,"../annotations/common_defaults":629,"./attributes":635}],638:[function(t,e,r){"use strict";var n=t("../annotations/draw").drawRaw,i=t("../../plots/gl3d/project"),a=["x","y","z"];e.exports=function(t){for(var e=t.fullSceneLayout,r=t.dataScale,o=e.annotations,s=0;s<o.length;s++){for(var l=o[s],c=!1,u=0;u<3;u++){var f=a[u],h=l[f],p=e[f+"axis"].r2fraction(h);if(p<0||p>1){c=!0;break}}c?t.fullLayout._infolayer.select(".annotation-"+t.id+'[data-index="'+s+'"]').remove():(l._pdata=i(t.glplot.cameraParams,[e.xaxis.r2l(l.x)*r[0],e.yaxis.r2l(l.y)*r[1],e.zaxis.r2l(l.z)*r[2]]),n(t.graphDiv,l,s,t.id,l._xa,l._ya))}}},{"../../plots/gl3d/project":879,"../annotations/draw":632}],639:[function(t,e,r){"use strict";var n=t("../../registry"),i=t("../../lib");e.exports={moduleType:"component",name:"annotations3d",schema:{subplots:{scene:{annotations:t("./attributes")}}},layoutAttributes:t("./attributes"),handleDefaults:t("./defaults"),includeBasePlot:function(t,e){var r=n.subplotsRegistry.gl3d;if(!r)return;for(var a=r.attrRegex,o=Object.keys(t),s=0;s<o.length;s++){var l=o[s];a.test(l)&&(t[l].annotations||[]).length&&(i.pushUnique(e._basePlotModules,r),i.pushUnique(e._subplots.gl3d,l))}},convert:t("./convert"),draw:t("./draw")}},{"../../lib":778,"../../registry":911,"./attributes":635,"./convert":636,"./defaults":637,"./draw":638}],640:[function(t,e,r){"use strict";e.exports=t("world-calendars/dist/main"),t("world-calendars/dist/plus"),t("world-calendars/dist/calendars/chinese"),t("world-calendars/dist/calendars/coptic"),t("world-calendars/dist/calendars/discworld"),t("world-calendars/dist/calendars/ethiopian"),t("world-calendars/dist/calendars/hebrew"),t("world-calendars/dist/calendars/islamic"),t("world-calendars/dist/calendars/julian"),t("world-calendars/dist/calendars/mayan"),t("world-calendars/dist/calendars/nanakshahi"),t("world-calendars/dist/calendars/nepali"),t("world-calendars/dist/calendars/persian"),t("world-calendars/dist/calendars/taiwan"),t("world-calendars/dist/calendars/thai"),t("world-calendars/dist/calendars/ummalqura")},{"world-calendars/dist/calendars/chinese":607,"world-calendars/dist/calendars/coptic":608,"world-calendars/dist/calendars/discworld":609,"world-calendars/dist/calendars/ethiopian":610,"world-calendars/dist/calendars/hebrew":611,"world-calendars/dist/calendars/islamic":612,"world-calendars/dist/calendars/julian":613,"world-calendars/dist/calendars/mayan":614,"world-calendars/dist/calendars/nanakshahi":615,"world-calendars/dist/calendars/nepali":616,"world-calendars/dist/calendars/persian":617,"world-calendars/dist/calendars/taiwan":618,"world-calendars/dist/calendars/thai":619,"world-calendars/dist/calendars/ummalqura":620,"world-calendars/dist/main":621,"world-calendars/dist/plus":622}],641:[function(t,e,r){"use strict";var n=t("./calendars"),i=t("../../lib"),a=t("../../constants/numerical"),o=a.EPOCHJD,s=a.ONEDAY,l={valType:"enumerated",values:Object.keys(n.calendars),editType:"calc",dflt:"gregorian"},c=function(t,e,r,n){var a={};return a[r]=l,i.coerce(t,e,a,r,n)},u={d:{0:"dd","-":"d"},e:{0:"d","-":"d"},a:{0:"D","-":"D"},A:{0:"DD","-":"DD"},j:{0:"oo","-":"o"},W:{0:"ww","-":"w"},m:{0:"mm","-":"m"},b:{0:"M","-":"M"},B:{0:"MM","-":"MM"},y:{0:"yy","-":"yy"},Y:{0:"yyyy","-":"yyyy"},U:"##",w:"##",c:{0:"D M d %X yyyy","-":"D M d %X yyyy"},x:{0:"mm/dd/yyyy","-":"mm/dd/yyyy"}};var f={};function h(t){var e=f[t];return e||(e=f[t]=n.instance(t))}function p(t){return i.extendFlat({},l,{description:t})}function d(t){return"Sets the calendar system to use with `"+t+"` date data."}var g={xcalendar:p(d("x"))},m=i.extendFlat({},g,{ycalendar:p(d("y"))}),v=i.extendFlat({},m,{zcalendar:p(d("z"))}),y=p(["Sets the calendar system to use for `range` and `tick0`","if this is a date axis. This does not set the calendar for","interpreting data on this axis, that's specified in the trace","or via the global `layout.calendar`"].join(" "));e.exports={moduleType:"component",name:"calendars",schema:{traces:{scatter:m,bar:m,box:m,heatmap:m,contour:m,histogram:m,histogram2d:m,histogram2dcontour:m,scatter3d:v,surface:v,mesh3d:v,scattergl:m,ohlc:g,candlestick:g},layout:{calendar:p(["Sets the default calendar system to use for interpreting and","displaying dates throughout the plot."].join(" "))},subplots:{xaxis:{calendar:y},yaxis:{calendar:y},scene:{xaxis:{calendar:y},yaxis:{calendar:y},zaxis:{calendar:y}},polar:{radialaxis:{calendar:y}}},transforms:{filter:{valuecalendar:p(["Sets the calendar system to use for `value`, if it is a date."].join(" ")),targetcalendar:p(["Sets the calendar system to use for `target`, if it is an","array of dates. If `target` is a string (eg *x*) we use the","corresponding trace attribute (eg `xcalendar`) if it exists,","even if `targetcalendar` is provided."].join(" "))}}},layoutAttributes:l,handleDefaults:c,handleTraceDefaults:function(t,e,r,n){for(var i=0;i<r.length;i++)c(t,e,r[i]+"calendar",n.calendar)},CANONICAL_SUNDAY:{chinese:"2000-01-02",coptic:"2000-01-03",discworld:"2000-01-03",ethiopian:"2000-01-05",hebrew:"5000-01-01",islamic:"1000-01-02",julian:"2000-01-03",mayan:"5000-01-01",nanakshahi:"1000-01-05",nepali:"2000-01-05",persian:"1000-01-01",jalali:"1000-01-01",taiwan:"1000-01-04",thai:"2000-01-04",ummalqura:"1400-01-06"},CANONICAL_TICK:{chinese:"2000-01-01",coptic:"2000-01-01",discworld:"2000-01-01",ethiopian:"2000-01-01",hebrew:"5000-01-01",islamic:"1000-01-01",julian:"2000-01-01",mayan:"5000-01-01",nanakshahi:"1000-01-01",nepali:"2000-01-01",persian:"1000-01-01",jalali:"1000-01-01",taiwan:"1000-01-01",thai:"2000-01-01",ummalqura:"1400-01-01"},DFLTRANGE:{chinese:["2000-01-01","2001-01-01"],coptic:["1700-01-01","1701-01-01"],discworld:["1800-01-01","1801-01-01"],ethiopian:["2000-01-01","2001-01-01"],hebrew:["5700-01-01","5701-01-01"],islamic:["1400-01-01","1401-01-01"],julian:["2000-01-01","2001-01-01"],mayan:["5200-01-01","5201-01-01"],nanakshahi:["0500-01-01","0501-01-01"],nepali:["2000-01-01","2001-01-01"],persian:["1400-01-01","1401-01-01"],jalali:["1400-01-01","1401-01-01"],taiwan:["0100-01-01","0101-01-01"],thai:["2500-01-01","2501-01-01"],ummalqura:["1400-01-01","1401-01-01"]},getCal:h,worldCalFmt:function(t,e,r){for(var n,i,a,l,c,f=Math.floor((e+.05)/s)+o,p=h(r).fromJD(f),d=0;-1!==(d=t.indexOf("%",d));)"0"===(n=t.charAt(d+1))||"-"===n||"_"===n?(a=3,i=t.charAt(d+2),"_"===n&&(n="-")):(i=n,n="0",a=2),(l=u[i])?(c="##"===l?"##":p.formatDate(l[n]),t=t.substr(0,d)+c+t.substr(d+a),d+=c.length):d+=a;return t}}},{"../../constants/numerical":753,"../../lib":778,"./calendars":640}],642:[function(t,e,r){"use strict";r.defaults=["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf"],r.defaultLine="#444",r.lightLine="#eee",r.background="#fff",r.borderLine="#BEC8D9",r.lightFraction=1e3/11},{}],643:[function(t,e,r){"use strict";var n=t("tinycolor2"),i=t("fast-isnumeric"),a=e.exports={},o=t("./attributes");a.defaults=o.defaults;var s=a.defaultLine=o.defaultLine;a.lightLine=o.lightLine;var l=a.background=o.background;function c(t){if(i(t)||"string"!=typeof t)return t;var e=t.trim();if("rgb"!==e.substr(0,3))return t;var r=e.match(/^rgba?\s*\(([^()]*)\)$/);if(!r)return t;var n=r[1].trim().split(/\s*[\s,]\s*/),a="a"===e.charAt(3)&&4===n.length;if(!a&&3!==n.length)return t;for(var o=0;o<n.length;o++){if(!n[o].length)return t;if(n[o]=Number(n[o]),!(n[o]>=0))return t;if(3===o)n[o]>1&&(n[o]=1);else if(n[o]>=1)return t}var s=Math.round(255*n[0])+", "+Math.round(255*n[1])+", "+Math.round(255*n[2]);return a?"rgba("+s+", "+n[3]+")":"rgb("+s+")"}a.tinyRGB=function(t){var e=t.toRgb();return"rgb("+Math.round(e.r)+", "+Math.round(e.g)+", "+Math.round(e.b)+")"},a.rgb=function(t){return a.tinyRGB(n(t))},a.opacity=function(t){return t?n(t).getAlpha():0},a.addOpacity=function(t,e){var r=n(t).toRgb();return"rgba("+Math.round(r.r)+", "+Math.round(r.g)+", "+Math.round(r.b)+", "+e+")"},a.combine=function(t,e){var r=n(t).toRgb();if(1===r.a)return n(t).toRgbString();var i=n(e||l).toRgb(),a=1===i.a?i:{r:255*(1-i.a)+i.r*i.a,g:255*(1-i.a)+i.g*i.a,b:255*(1-i.a)+i.b*i.a},o={r:a.r*(1-r.a)+r.r*r.a,g:a.g*(1-r.a)+r.g*r.a,b:a.b*(1-r.a)+r.b*r.a};return n(o).toRgbString()},a.contrast=function(t,e,r){var i=n(t);return 1!==i.getAlpha()&&(i=n(a.combine(t,l))),(i.isDark()?e?i.lighten(e):l:r?i.darken(r):s).toString()},a.stroke=function(t,e){var r=n(e);t.style({stroke:a.tinyRGB(r),"stroke-opacity":r.getAlpha()})},a.fill=function(t,e){var r=n(e);t.style({fill:a.tinyRGB(r),"fill-opacity":r.getAlpha()})},a.clean=function(t){if(t&&"object"==typeof t){var e,r,n,i,o=Object.keys(t);for(e=0;e<o.length;e++)if(i=t[n=o[e]],"color"===n.substr(n.length-5))if(Array.isArray(i))for(r=0;r<i.length;r++)i[r]=c(i[r]);else t[n]=c(i);else if("colorscale"===n.substr(n.length-10)&&Array.isArray(i))for(r=0;r<i.length;r++)Array.isArray(i[r])&&(i[r][1]=c(i[r][1]));else if(Array.isArray(i)){var s=i[0];if(!Array.isArray(s)&&s&&"object"==typeof s)for(r=0;r<i.length;r++)a.clean(i[r])}else i&&"object"==typeof i&&a.clean(i)}}},{"./attributes":642,"fast-isnumeric":241,tinycolor2:576}],644:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/layout_attributes"),i=t("../../plots/font_attributes"),a=t("../../lib/extend").extendFlat,o=t("../../plot_api/edit_types").overrideAll;e.exports=o({thicknessmode:{valType:"enumerated",values:["fraction","pixels"],dflt:"pixels"},thickness:{valType:"number",min:0,dflt:30},lenmode:{valType:"enumerated",values:["fraction","pixels"],dflt:"fraction"},len:{valType:"number",min:0,dflt:1},x:{valType:"number",dflt:1.02,min:-2,max:3},xanchor:{valType:"enumerated",values:["left","center","right"],dflt:"left"},xpad:{valType:"number",min:0,dflt:10},y:{valType:"number",dflt:.5,min:-2,max:3},yanchor:{valType:"enumerated",values:["top","middle","bottom"],dflt:"middle"},ypad:{valType:"number",min:0,dflt:10},outlinecolor:n.linecolor,outlinewidth:n.linewidth,bordercolor:n.linecolor,borderwidth:{valType:"number",min:0,dflt:0},bgcolor:{valType:"color",dflt:"rgba(0,0,0,0)"},tickmode:n.tickmode,nticks:n.nticks,tick0:n.tick0,dtick:n.dtick,tickvals:n.tickvals,ticktext:n.ticktext,ticks:a({},n.ticks,{dflt:""}),ticklabelposition:{valType:"enumerated",values:["outside","inside","outside top","inside top","outside bottom","inside bottom"],dflt:"outside"},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,minexponent:n.minexponent,showexponent:n.showexponent,title:{text:{valType:"string"},font:i({}),side:{valType:"enumerated",values:["right","top","bottom"],dflt:"top"}},_deprecated:{title:{valType:"string"},titlefont:i({}),titleside:{valType:"enumerated",values:["right","top","bottom"],dflt:"top"}}},"colorbars","from-root")},{"../../lib/extend":768,"../../plot_api/edit_types":810,"../../plots/cartesian/layout_attributes":842,"../../plots/font_attributes":856}],645:[function(t,e,r){"use strict";e.exports={cn:{colorbar:"colorbar",cbbg:"cbbg",cbfill:"cbfill",cbfills:"cbfills",cbline:"cbline",cblines:"cblines",cbaxis:"cbaxis",cbtitleunshift:"cbtitleunshift",cbtitle:"cbtitle",cboutline:"cboutline",crisp:"crisp",jsPlaceholder:"js-placeholder"}}},{}],646:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../plot_api/plot_template"),a=t("../../plots/cartesian/tick_value_defaults"),o=t("../../plots/cartesian/tick_mark_defaults"),s=t("../../plots/cartesian/tick_label_defaults"),l=t("./attributes");e.exports=function(t,e,r){var c=i.newContainer(e,"colorbar"),u=t.colorbar||{};function f(t,e){return n.coerce(u,c,l,t,e)}var h=f("thicknessmode");f("thickness","fraction"===h?30/(r.width-r.margin.l-r.margin.r):30);var p=f("lenmode");f("len","fraction"===p?1:r.height-r.margin.t-r.margin.b),f("x"),f("xanchor"),f("xpad"),f("y"),f("yanchor"),f("ypad"),n.noneOrAll(u,c,["x","y"]),f("outlinecolor"),f("outlinewidth"),f("bordercolor"),f("borderwidth"),f("bgcolor");var d=f("ticklabelposition");a(u,c,f,"linear");var g={outerTicks:!1,font:r.font};-1!==d.indexOf("inside")&&(g.bgColor="black"),s(u,c,f,"linear",g),o(u,c,f,"linear",g),f("title.text",r._dfltTitle.colorbar),n.coerceFont(f,"title.font",r.font),f("title.side")}},{"../../lib":778,"../../plot_api/plot_template":817,"../../plots/cartesian/tick_label_defaults":849,"../../plots/cartesian/tick_mark_defaults":850,"../../plots/cartesian/tick_value_defaults":851,"./attributes":644}],647:[function(t,e,r){"use strict";var n=t("d3"),i=t("tinycolor2"),a=t("../../plots/plots"),o=t("../../registry"),s=t("../../plots/cartesian/axes"),l=t("../dragelement"),c=t("../../lib"),u=c.strTranslate,f=t("../../lib/extend").extendFlat,h=t("../../lib/setcursor"),p=t("../drawing"),d=t("../color"),g=t("../titles"),m=t("../../lib/svg_text_utils"),v=t("../colorscale/helpers").flipScale,y=t("../../plots/cartesian/axis_defaults"),x=t("../../plots/cartesian/position_defaults"),b=t("../../plots/cartesian/layout_attributes"),_=t("../../constants/alignment"),w=_.LINE_SPACING,T=_.FROM_TL,k=_.FROM_BR,M=t("./constants").cn;e.exports={draw:function(t){var e=t._fullLayout._infolayer.selectAll("g."+M.colorbar).data(function(t){var e,r,n,i,a=t._fullLayout,o=t.calcdata,s=[];function l(t){return f(t,{_fillcolor:null,_line:{color:null,width:null,dash:null},_levels:{start:null,end:null,size:null},_filllevels:null,_fillgradient:null,_zrange:null})}function c(){"function"==typeof i.calc?i.calc(t,n,e):(e._fillgradient=r.reversescale?v(r.colorscale):r.colorscale,e._zrange=[r[i.min],r[i.max]])}for(var u=0;u<o.length;u++){var h=o[u],p=(n=h[0].trace)._module.colorbar;if(!0===n.visible&&p)for(var d=Array.isArray(p),g=d?p:[p],m=0;m<g.length;m++){var y=(i=g[m]).container;(r=y?n[y]:n)&&r.showscale&&((e=l(r.colorbar))._id="cb"+n.uid+(d&&y?"-"+y:""),e._traceIndex=n.index,e._propPrefix=(y?y+".":"")+"colorbar.",e._meta=n._meta,c(),s.push(e))}}for(var x in a._colorAxes)if((r=a[x]).showscale){var b=a._colorAxes[x];(e=l(r.colorbar))._id="cb"+x,e._propPrefix=x+".colorbar.",e._meta=a._meta,i={min:"cmin",max:"cmax"},"heatmap"!==b[0]&&(n=b[1],i.calc=n._module.colorbar.calc),c(),s.push(e)}return s}(t),(function(t){return t._id}));e.enter().append("g").attr("class",(function(t){return t._id})).classed(M.colorbar,!0),e.each((function(e){var r=n.select(this);c.ensureSingle(r,"rect",M.cbbg),c.ensureSingle(r,"g",M.cbfills),c.ensureSingle(r,"g",M.cblines),c.ensureSingle(r,"g",M.cbaxis,(function(t){t.classed(M.crisp,!0)})),c.ensureSingle(r,"g",M.cbtitleunshift,(function(t){t.append("g").classed(M.cbtitle,!0)})),c.ensureSingle(r,"rect",M.cboutline);var v=function(t,e,r){var o=r._fullLayout,l=o._size,h=e._fillcolor,v=e._line,_=e.title,A=_.side,S=e._zrange||n.extent(("function"==typeof h?h:v.color).domain()),E="function"==typeof v.color?v.color:function(){return v.color},C="function"==typeof h?h:function(){return h},L=e._levels,I=function(t,e,r){var n,i,a=e._levels,o=[],s=[],l=a.end+a.size/100,c=a.size,u=1.001*r[0]-.001*r[1],f=1.001*r[1]-.001*r[0];for(i=0;i<1e5&&(n=a.start+i*c,!(c>0?n>=l:n<=l));i++)n>u&&n<f&&o.push(n);if(e._fillgradient)s=[0];else if("function"==typeof e._fillcolor){var h=e._filllevels;if(h)for(l=h.end+h.size/100,c=h.size,i=0;i<1e5&&(n=h.start+i*c,!(c>0?n>=l:n<=l));i++)n>r[0]&&n<r[1]&&s.push(n);else(s=o.map((function(t){return t-a.size/2}))).push(s[s.length-1]+a.size)}else e._fillcolor&&"string"==typeof e._fillcolor&&(s=[0]);a.size<0&&(o.reverse(),s.reverse());return{line:o,fill:s}}(0,e,S),P=I.fill,z=I.line,O=Math.round(e.thickness*("fraction"===e.thicknessmode?l.w:1)),D=O/l.w,R=Math.round(e.len*("fraction"===e.lenmode?l.h:1)),F=R/l.h,B=e.xpad/l.w,N=(e.borderwidth+e.outlinewidth)/2,j=e.ypad/l.h,U=Math.round(e.x*l.w+e.xpad),V=e.x-D*({middle:.5,right:1}[e.xanchor]||0),q=e.y+F*(({top:-.5,bottom:.5}[e.yanchor]||0)-.5),H=Math.round(l.h*(1-q)),G=H-R;e._lenFrac=F,e._thickFrac=D,e._xLeftFrac=V,e._yBottomFrac=q;var Y=e._axis=function(t,e,r){var n=t._fullLayout,i={type:"linear",range:r,tickmode:e.tickmode,nticks:e.nticks,tick0:e.tick0,dtick:e.dtick,tickvals:e.tickvals,ticktext:e.ticktext,ticks:e.ticks,ticklen:e.ticklen,tickwidth:e.tickwidth,tickcolor:e.tickcolor,showticklabels:e.showticklabels,ticklabelposition:e.ticklabelposition,tickfont:e.tickfont,tickangle:e.tickangle,tickformat:e.tickformat,exponentformat:e.exponentformat,minexponent:e.minexponent,separatethousands:e.separatethousands,showexponent:e.showexponent,showtickprefix:e.showtickprefix,tickprefix:e.tickprefix,showticksuffix:e.showticksuffix,ticksuffix:e.ticksuffix,title:e.title,showline:!0,anchor:"free",side:"right",position:1},a={type:"linear",_id:"y"+e._id},o={letter:"y",font:n.font,noHover:!0,noTickson:!0,noTicklabelmode:!0,calendar:n.calendar};function s(t,e){return c.coerce(i,a,b,t,e)}return y(i,a,s,o,n),x(i,a,s,o),a}(r,e,S);Y.position=e.x+B+D,-1!==["top","bottom"].indexOf(A)&&(Y.title.side=A,Y.titlex=e.x+B,Y.titley=q+("top"===_.side?F-j:j));if(v.color&&"auto"===e.tickmode){Y.tickmode="linear",Y.tick0=L.start;var W=L.size,X=c.constrain((H-G)/50,4,15)+1,Z=(S[1]-S[0])/((e.nticks||X)*W);if(Z>1){var J=Math.pow(10,Math.floor(Math.log(Z)/Math.LN10));W*=J*c.roundUp(Z/J,[2,5,10]),(Math.abs(L.start)/L.size+1e-6)%1<2e-6&&(Y.tick0=0)}Y.dtick=W}Y.domain=[q+j,q+F-j],Y.setScale(),t.attr("transform",u(Math.round(l.l),Math.round(l.t)));var K,Q=t.select("."+M.cbtitleunshift).attr("transform",u(-Math.round(l.l),-Math.round(l.t))),$=t.select("."+M.cbaxis),tt=0;function et(n,i){var a={propContainer:Y,propName:e._propPrefix+"title",traceIndex:e._traceIndex,_meta:e._meta,placeholder:o._dfltTitle.colorbar,containerGroup:t.select("."+M.cbtitle)},s="h"===n.charAt(0)?n.substr(1):"h"+n;t.selectAll("."+s+",."+s+"-math-group").remove(),g.draw(r,n,f(a,i||{}))}return c.syncOrAsync([a.previousPromises,function(){if(-1!==["top","bottom"].indexOf(A)){var t,r=l.l+(e.x+B)*l.w,n=Y.title.font.size;t="top"===A?(1-(q+F-j))*l.h+l.t+3+.75*n:(1-(q+j))*l.h+l.t-3-.25*n,et(Y._id+"title",{attributes:{x:r,y:t,"text-anchor":"start"}})}},function(){if(-1!==["top","bottom"].indexOf(A)){var a=t.select("."+M.cbtitle),o=a.select("text"),f=[-e.outlinewidth/2,e.outlinewidth/2],h=a.select(".h"+Y._id+"title-math-group").node(),d=15.6;if(o.node()&&(d=parseInt(o.node().style.fontSize,10)*w),h?(tt=p.bBox(h).height)>d&&(f[1]-=(tt-d)/2):o.node()&&!o.classed(M.jsPlaceholder)&&(tt=p.bBox(o.node()).height),tt){if(tt+=5,"top"===A)Y.domain[1]-=tt/l.h,f[1]*=-1;else{Y.domain[0]+=tt/l.h;var g=m.lineCount(o);f[1]+=(1-g)*d}a.attr("transform",u(f[0],f[1])),Y.setScale()}}t.selectAll("."+M.cbfills+",."+M.cblines).attr("transform",u(0,Math.round(l.h*(1-Y.domain[1])))),$.attr("transform",u(0,Math.round(-l.t)));var y=t.select("."+M.cbfills).selectAll("rect."+M.cbfill).attr("style","").data(P);y.enter().append("rect").classed(M.cbfill,!0).style("stroke","none"),y.exit().remove();var x=S.map(Y.c2p).map(Math.round).sort((function(t,e){return t-e}));y.each((function(t,a){var o=[0===a?S[0]:(P[a]+P[a-1])/2,a===P.length-1?S[1]:(P[a]+P[a+1])/2].map(Y.c2p).map(Math.round);o[1]=c.constrain(o[1]+(o[1]>o[0])?1:-1,x[0],x[1]);var s=n.select(this).attr({x:U,width:Math.max(O,2),y:n.min(o),height:Math.max(n.max(o)-n.min(o),2)});if(e._fillgradient)p.gradient(s,r,e._id,"vertical",e._fillgradient,"fill");else{var l=C(t).replace("e-","");s.attr("fill",i(l).toHexString())}}));var b=t.select("."+M.cblines).selectAll("path."+M.cbline).data(v.color&&v.width?z:[]);b.enter().append("path").classed(M.cbline,!0),b.exit().remove(),b.each((function(t){n.select(this).attr("d","M"+U+","+(Math.round(Y.c2p(t))+v.width/2%1)+"h"+O).call(p.lineGroupStyle,v.width,E(t),v.dash)})),$.selectAll("g."+Y._id+"tick,path").remove();var _=U+O+(e.outlinewidth||0)/2-("outside"===e.ticks?1:0),T=s.calcTicks(Y),k=s.getTickSigns(Y)[2];return s.drawTicks(r,Y,{vals:"inside"===Y.ticks?s.clipEnds(Y,T):T,layer:$,path:s.makeTickPath(Y,_,k),transFn:s.makeTransTickFn(Y)}),s.drawLabels(r,Y,{vals:T,layer:$,transFn:s.makeTransTickLabelFn(Y),labelFns:s.makeLabelFns(Y,_)})},function(){if(-1===["top","bottom"].indexOf(A)){var t=Y.title.font.size,e=Y._offset+Y._length/2,i=l.l+(Y.position||0)*l.w+("right"===Y.side?10+t*(Y.showticklabels?1:.5):-10-t*(Y.showticklabels?.5:0));et("h"+Y._id+"title",{avoid:{selection:n.select(r).selectAll("g."+Y._id+"tick"),side:A,offsetLeft:l.l,offsetTop:0,maxShift:o.width},attributes:{x:i,y:e,"text-anchor":"middle"},transform:{rotate:"-90",offset:0}})}},a.previousPromises,function(){var n=O+e.outlinewidth/2;if(-1===Y.ticklabelposition.indexOf("inside")&&(n+=p.bBox($.node()).width),(K=Q.select("text")).node()&&!K.classed(M.jsPlaceholder)){var i,o=Q.select(".h"+Y._id+"title-math-group").node();i=o&&-1!==["top","bottom"].indexOf(A)?p.bBox(o).width:p.bBox(Q.node()).right-U-l.l,n=Math.max(n,i)}var s=2*e.xpad+n+e.borderwidth+e.outlinewidth/2,c=H-G;t.select("."+M.cbbg).attr({x:U-e.xpad-(e.borderwidth+e.outlinewidth)/2,y:G-N,width:Math.max(s,2),height:Math.max(c+2*N,2)}).call(d.fill,e.bgcolor).call(d.stroke,e.bordercolor).style("stroke-width",e.borderwidth),t.selectAll("."+M.cboutline).attr({x:U,y:G+e.ypad+("top"===A?tt:0),width:Math.max(O,2),height:Math.max(c-2*e.ypad-tt,2)}).call(d.stroke,e.outlinecolor).style({fill:"none","stroke-width":e.outlinewidth});var f=({center:.5,right:1}[e.xanchor]||0)*s;t.attr("transform",u(l.l-f,l.t));var h={},g=T[e.yanchor],m=k[e.yanchor];"pixels"===e.lenmode?(h.y=e.y,h.t=c*g,h.b=c*m):(h.t=h.b=0,h.yt=e.y+e.len*g,h.yb=e.y-e.len*m);var v=T[e.xanchor],y=k[e.xanchor];if("pixels"===e.thicknessmode)h.x=e.x,h.l=s*v,h.r=s*y;else{var x=s-O;h.l=x*v,h.r=x*y,h.xl=e.x-e.thickness*v,h.xr=e.x+e.thickness*y}a.autoMargin(r,e._id,h)}],r)}(r,e,t);v&&v.then&&(t._promises||[]).push(v),t._context.edits.colorbarPosition&&function(t,e,r){var n,i,a,s=r._fullLayout._size;l.init({element:t.node(),gd:r,prepFn:function(){n=t.attr("transform"),h(t)},moveFn:function(r,o){t.attr("transform",n+u(r,o)),i=l.align(e._xLeftFrac+r/s.w,e._thickFrac,0,1,e.xanchor),a=l.align(e._yBottomFrac-o/s.h,e._lenFrac,0,1,e.yanchor);var c=l.getCursor(i,a,e.xanchor,e.yanchor);h(t,c)},doneFn:function(){if(h(t),void 0!==i&&void 0!==a){var n={};n[e._propPrefix+"x"]=i,n[e._propPrefix+"y"]=a,void 0!==e._traceIndex?o.call("_guiRestyle",r,n,e._traceIndex):o.call("_guiRelayout",r,n)}}})}(r,e,t)})),e.exit().each((function(e){a.autoMargin(t,e._id)})).remove(),e.order()}}},{"../../constants/alignment":745,"../../lib":778,"../../lib/extend":768,"../../lib/setcursor":799,"../../lib/svg_text_utils":803,"../../plots/cartesian/axes":828,"../../plots/cartesian/axis_defaults":830,"../../plots/cartesian/layout_attributes":842,"../../plots/cartesian/position_defaults":845,"../../plots/plots":891,"../../registry":911,"../color":643,"../colorscale/helpers":654,"../dragelement":662,"../drawing":665,"../titles":738,"./constants":645,d3:169,tinycolor2:576}],648:[function(t,e,r){"use strict";var n=t("../../lib");e.exports=function(t){return n.isPlainObject(t.colorbar)}},{"../../lib":778}],649:[function(t,e,r){"use strict";e.exports={moduleType:"component",name:"colorbar",attributes:t("./attributes"),supplyDefaults:t("./defaults"),draw:t("./draw").draw,hasColorbar:t("./has_colorbar")}},{"./attributes":644,"./defaults":646,"./draw":647,"./has_colorbar":648}],650:[function(t,e,r){"use strict";var n=t("../colorbar/attributes"),i=t("../../lib/regex").counter,a=t("./scales.js").scales;Object.keys(a);function o(t){return"`"+t+"`"}e.exports=function(t,e){t=t||"";var r,s=(e=e||{}).cLetter||"c",l=("onlyIfNumerical"in e?e.onlyIfNumerical:Boolean(t),"noScale"in e?e.noScale:"marker.line"===t),c="showScaleDflt"in e?e.showScaleDflt:"z"===s,u="string"==typeof e.colorscaleDflt?a[e.colorscaleDflt]:null,f=e.editTypeOverride||"",h=t?t+".":"";"colorAttr"in e?(r=e.colorAttr,e.colorAttr):o(h+(r={z:"z",c:"color"}[s]));var p=s+"auto",d=s+"min",g=s+"max",m=s+"mid",v=(o(h+p),o(h+d),o(h+g),{});v[d]=v[g]=void 0;var y={};y[p]=!1;var x={};return"color"===r&&(x.color={valType:"color",arrayOk:!0,editType:f||"style"},e.anim&&(x.color.anim=!0)),x[p]={valType:"boolean",dflt:!0,editType:"calc",impliedEdits:v},x[d]={valType:"number",dflt:null,editType:f||"plot",impliedEdits:y},x[g]={valType:"number",dflt:null,editType:f||"plot",impliedEdits:y},x[m]={valType:"number",dflt:null,editType:"calc",impliedEdits:v},x.colorscale={valType:"colorscale",editType:"calc",dflt:u,impliedEdits:{autocolorscale:!1}},x.autocolorscale={valType:"boolean",dflt:!1!==e.autoColorDflt,editType:"calc",impliedEdits:{colorscale:void 0}},x.reversescale={valType:"boolean",dflt:!1,editType:"plot"},l||(x.showscale={valType:"boolean",dflt:c,editType:"calc"},x.colorbar=n),e.noColorAxis||(x.coloraxis={valType:"subplotid",regex:i("coloraxis"),dflt:null,editType:"calc"}),x}},{"../../lib/regex":795,"../colorbar/attributes":644,"./scales.js":658}],651:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../lib"),a=t("./helpers").extractOpts;e.exports=function(t,e,r){var o,s=t._fullLayout,l=r.vals,c=r.containerStr,u=c?i.nestedProperty(e,c).get():e,f=a(u),h=!1!==f.auto,p=f.min,d=f.max,g=f.mid,m=function(){return i.aggNums(Math.min,null,l)},v=function(){return i.aggNums(Math.max,null,l)};(void 0===p?p=m():h&&(p=u._colorAx&&n(p)?Math.min(p,m()):m()),void 0===d?d=v():h&&(d=u._colorAx&&n(d)?Math.max(d,v()):v()),h&&void 0!==g&&(d-g>g-p?p=g-(d-g):d-g<g-p&&(d=g+(g-p))),p===d&&(p-=.5,d+=.5),f._sync("min",p),f._sync("max",d),f.autocolorscale)&&(o=p*d<0?s.colorscale.diverging:p>=0?s.colorscale.sequential:s.colorscale.sequentialminus,f._sync("colorscale",o))}},{"../../lib":778,"./helpers":654,"fast-isnumeric":241}],652:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./helpers").hasColorscale,a=t("./helpers").extractOpts;e.exports=function(t,e){function r(t,e){var r=t["_"+e];void 0!==r&&(t[e]=r)}function o(t,i){var o=i.container?n.nestedProperty(t,i.container).get():t;if(o)if(o.coloraxis)o._colorAx=e[o.coloraxis];else{var s=a(o),l=s.auto;(l||void 0===s.min)&&r(o,i.min),(l||void 0===s.max)&&r(o,i.max),s.autocolorscale&&r(o,"colorscale")}}for(var s=0;s<t.length;s++){var l=t[s],c=l._module.colorbar;if(c)if(Array.isArray(c))for(var u=0;u<c.length;u++)o(l,c[u]);else o(l,c);i(l,"marker.line")&&o(l,{container:"marker.line",min:"cmin",max:"cmax"})}for(var f in e._colorAxes)o(e[f],{min:"cmin",max:"cmax"})}},{"../../lib":778,"./helpers":654}],653:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../lib"),a=t("../colorbar/has_colorbar"),o=t("../colorbar/defaults"),s=t("./scales").isValid,l=t("../../registry").traceIs;function c(t,e){var r=e.slice(0,e.length-1);return e?i.nestedProperty(t,r).get()||{}:t}e.exports=function t(e,r,u,f,h){var p=h.prefix,d=h.cLetter,g="_module"in r,m=c(e,p),v=c(r,p),y=c(r._template||{},p)||{},x=function(){return delete e.coloraxis,delete r.coloraxis,t(e,r,u,f,h)};if(g){var b=u._colorAxes||{},_=f(p+"coloraxis");if(_){var w=l(r,"contour")&&i.nestedProperty(r,"contours.coloring").get()||"heatmap",T=b[_];return void(T?(T[2].push(x),T[0]!==w&&(T[0]=!1,i.warn(["Ignoring coloraxis:",_,"setting","as it is linked to incompatible colorscales."].join(" ")))):b[_]=[w,r,[x]])}}var k=m[d+"min"],M=m[d+"max"],A=n(k)&&n(M)&&k<M;f(p+d+"auto",!A)?f(p+d+"mid"):(f(p+d+"min"),f(p+d+"max"));var S,E,C=m.colorscale,L=y.colorscale;(void 0!==C&&(S=!s(C)),void 0!==L&&(S=!s(L)),f(p+"autocolorscale",S),f(p+"colorscale"),f(p+"reversescale"),"marker.line."!==p)&&(p&&g&&(E=a(m)),f(p+"showscale",E)&&(p&&y&&(v._template=y),o(m,v,u)))}},{"../../lib":778,"../../registry":911,"../colorbar/defaults":646,"../colorbar/has_colorbar":648,"./scales":658,"fast-isnumeric":241}],654:[function(t,e,r){"use strict";var n=t("d3"),i=t("tinycolor2"),a=t("fast-isnumeric"),o=t("../../lib"),s=t("../color"),l=t("./scales").isValid;var c=["showscale","autocolorscale","colorscale","reversescale","colorbar"],u=["min","max","mid","auto"];function f(t){var e,r,n,i=t._colorAx,a=i||t,o={};for(r=0;r<c.length;r++)o[n=c[r]]=a[n];if(i)for(e="c",r=0;r<u.length;r++)o[n=u[r]]=a["c"+n];else{var s;for(r=0;r<u.length;r++)((s="c"+(n=u[r]))in a||(s="z"+n)in a)&&(o[n]=a[s]);e=s.charAt(0)}return o._sync=function(t,r){var n=-1!==u.indexOf(t)?e+t:t;a[n]=a["_"+n]=r},o}function h(t){for(var e=f(t),r=e.min,n=e.max,i=e.reversescale?p(e.colorscale):e.colorscale,a=i.length,o=new Array(a),s=new Array(a),l=0;l<a;l++){var c=i[l];o[l]=r+c[0]*(n-r),s[l]=c[1]}return{domain:o,range:s}}function p(t){for(var e=t.length,r=new Array(e),n=e-1,i=0;n>=0;n--,i++){var a=t[n];r[i]=[1-a[0],a[1]]}return r}function d(t,e){e=e||{};for(var r=t.domain,o=t.range,l=o.length,c=new Array(l),u=0;u<l;u++){var f=i(o[u]).toRgb();c[u]=[f.r,f.g,f.b,f.a]}var h,p=n.scale.linear().domain(r).range(c).clamp(!0),d=e.noNumericCheck,m=e.returnArray;return(h=d&&m?p:d?function(t){return g(p(t))}:m?function(t){return a(t)?p(t):i(t).isValid()?t:s.defaultLine}:function(t){return a(t)?g(p(t)):i(t).isValid()?t:s.defaultLine}).domain=p.domain,h.range=function(){return o},h}function g(t){var e={r:t[0],g:t[1],b:t[2],a:t[3]};return i(e).toRgbString()}e.exports={hasColorscale:function(t,e,r){var n=e?o.nestedProperty(t,e).get()||{}:t,i=n[r||"color"],s=!1;if(o.isArrayOrTypedArray(i))for(var c=0;c<i.length;c++)if(a(i[c])){s=!0;break}return o.isPlainObject(n)&&(s||!0===n.showscale||a(n.cmin)&&a(n.cmax)||l(n.colorscale)||o.isPlainObject(n.colorbar))},extractOpts:f,extractScale:h,flipScale:p,makeColorScaleFunc:d,makeColorScaleFuncFromTrace:function(t,e){return d(h(t),e)}}},{"../../lib":778,"../color":643,"./scales":658,d3:169,"fast-isnumeric":241,tinycolor2:576}],655:[function(t,e,r){"use strict";var n=t("./scales"),i=t("./helpers");e.exports={moduleType:"component",name:"colorscale",attributes:t("./attributes"),layoutAttributes:t("./layout_attributes"),supplyLayoutDefaults:t("./layout_defaults"),handleDefaults:t("./defaults"),crossTraceDefaults:t("./cross_trace_defaults"),calc:t("./calc"),scales:n.scales,defaultScale:n.defaultScale,getScale:n.get,isValidScale:n.isValid,hasColorscale:i.hasColorscale,extractOpts:i.extractOpts,extractScale:i.extractScale,flipScale:i.flipScale,makeColorScaleFunc:i.makeColorScaleFunc,makeColorScaleFuncFromTrace:i.makeColorScaleFuncFromTrace}},{"./attributes":650,"./calc":651,"./cross_trace_defaults":652,"./defaults":653,"./helpers":654,"./layout_attributes":656,"./layout_defaults":657,"./scales":658}],656:[function(t,e,r){"use strict";var n=t("../../lib/extend").extendFlat,i=t("./attributes"),a=t("./scales").scales;e.exports={editType:"calc",colorscale:{editType:"calc",sequential:{valType:"colorscale",dflt:a.Reds,editType:"calc"},sequentialminus:{valType:"colorscale",dflt:a.Blues,editType:"calc"},diverging:{valType:"colorscale",dflt:a.RdBu,editType:"calc"}},coloraxis:n({_isSubplotObj:!0,editType:"calc"},i("",{colorAttr:"corresponding trace color array(s)",noColorAxis:!0,showScaleDflt:!0}))}},{"../../lib/extend":768,"./attributes":650,"./scales":658}],657:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../plot_api/plot_template"),a=t("./layout_attributes"),o=t("./defaults");e.exports=function(t,e){function r(r,i){return n.coerce(t,e,a,r,i)}r("colorscale.sequential"),r("colorscale.sequentialminus"),r("colorscale.diverging");var s,l,c=e._colorAxes;function u(t,e){return n.coerce(s,l,a.coloraxis,t,e)}for(var f in c){var h=c[f];if(h[0])s=t[f]||{},(l=i.newContainer(e,f,"coloraxis"))._name=f,o(s,l,e,u,{prefix:"",cLetter:"c"});else{for(var p=0;p<h[2].length;p++)h[2][p]();delete e._colorAxes[f]}}}},{"../../lib":778,"../../plot_api/plot_template":817,"./defaults":653,"./layout_attributes":656}],658:[function(t,e,r){"use strict";var n=t("tinycolor2"),i={Greys:[[0,"rgb(0,0,0)"],[1,"rgb(255,255,255)"]],YlGnBu:[[0,"rgb(8,29,88)"],[.125,"rgb(37,52,148)"],[.25,"rgb(34,94,168)"],[.375,"rgb(29,145,192)"],[.5,"rgb(65,182,196)"],[.625,"rgb(127,205,187)"],[.75,"rgb(199,233,180)"],[.875,"rgb(237,248,217)"],[1,"rgb(255,255,217)"]],Greens:[[0,"rgb(0,68,27)"],[.125,"rgb(0,109,44)"],[.25,"rgb(35,139,69)"],[.375,"rgb(65,171,93)"],[.5,"rgb(116,196,118)"],[.625,"rgb(161,217,155)"],[.75,"rgb(199,233,192)"],[.875,"rgb(229,245,224)"],[1,"rgb(247,252,245)"]],YlOrRd:[[0,"rgb(128,0,38)"],[.125,"rgb(189,0,38)"],[.25,"rgb(227,26,28)"],[.375,"rgb(252,78,42)"],[.5,"rgb(253,141,60)"],[.625,"rgb(254,178,76)"],[.75,"rgb(254,217,118)"],[.875,"rgb(255,237,160)"],[1,"rgb(255,255,204)"]],Bluered:[[0,"rgb(0,0,255)"],[1,"rgb(255,0,0)"]],RdBu:[[0,"rgb(5,10,172)"],[.35,"rgb(106,137,247)"],[.5,"rgb(190,190,190)"],[.6,"rgb(220,170,132)"],[.7,"rgb(230,145,90)"],[1,"rgb(178,10,28)"]],Reds:[[0,"rgb(220,220,220)"],[.2,"rgb(245,195,157)"],[.4,"rgb(245,160,105)"],[1,"rgb(178,10,28)"]],Blues:[[0,"rgb(5,10,172)"],[.35,"rgb(40,60,190)"],[.5,"rgb(70,100,245)"],[.6,"rgb(90,120,245)"],[.7,"rgb(106,137,247)"],[1,"rgb(220,220,220)"]],Picnic:[[0,"rgb(0,0,255)"],[.1,"rgb(51,153,255)"],[.2,"rgb(102,204,255)"],[.3,"rgb(153,204,255)"],[.4,"rgb(204,204,255)"],[.5,"rgb(255,255,255)"],[.6,"rgb(255,204,255)"],[.7,"rgb(255,153,255)"],[.8,"rgb(255,102,204)"],[.9,"rgb(255,102,102)"],[1,"rgb(255,0,0)"]],Rainbow:[[0,"rgb(150,0,90)"],[.125,"rgb(0,0,200)"],[.25,"rgb(0,25,255)"],[.375,"rgb(0,152,255)"],[.5,"rgb(44,255,150)"],[.625,"rgb(151,255,0)"],[.75,"rgb(255,234,0)"],[.875,"rgb(255,111,0)"],[1,"rgb(255,0,0)"]],Portland:[[0,"rgb(12,51,131)"],[.25,"rgb(10,136,186)"],[.5,"rgb(242,211,56)"],[.75,"rgb(242,143,56)"],[1,"rgb(217,30,30)"]],Jet:[[0,"rgb(0,0,131)"],[.125,"rgb(0,60,170)"],[.375,"rgb(5,255,255)"],[.625,"rgb(255,255,0)"],[.875,"rgb(250,0,0)"],[1,"rgb(128,0,0)"]],Hot:[[0,"rgb(0,0,0)"],[.3,"rgb(230,0,0)"],[.6,"rgb(255,210,0)"],[1,"rgb(255,255,255)"]],Blackbody:[[0,"rgb(0,0,0)"],[.2,"rgb(230,0,0)"],[.4,"rgb(230,210,0)"],[.7,"rgb(255,255,255)"],[1,"rgb(160,200,255)"]],Earth:[[0,"rgb(0,0,130)"],[.1,"rgb(0,180,180)"],[.2,"rgb(40,210,40)"],[.4,"rgb(230,230,50)"],[.6,"rgb(120,70,20)"],[1,"rgb(255,255,255)"]],Electric:[[0,"rgb(0,0,0)"],[.15,"rgb(30,0,100)"],[.4,"rgb(120,0,100)"],[.6,"rgb(160,90,0)"],[.8,"rgb(230,200,0)"],[1,"rgb(255,250,220)"]],Viridis:[[0,"#440154"],[.06274509803921569,"#48186a"],[.12549019607843137,"#472d7b"],[.18823529411764706,"#424086"],[.25098039215686274,"#3b528b"],[.3137254901960784,"#33638d"],[.3764705882352941,"#2c728e"],[.4392156862745098,"#26828e"],[.5019607843137255,"#21918c"],[.5647058823529412,"#1fa088"],[.6274509803921569,"#28ae80"],[.6901960784313725,"#3fbc73"],[.7529411764705882,"#5ec962"],[.8156862745098039,"#84d44b"],[.8784313725490196,"#addc30"],[.9411764705882353,"#d8e219"],[1,"#fde725"]],Cividis:[[0,"rgb(0,32,76)"],[.058824,"rgb(0,42,102)"],[.117647,"rgb(0,52,110)"],[.176471,"rgb(39,63,108)"],[.235294,"rgb(60,74,107)"],[.294118,"rgb(76,85,107)"],[.352941,"rgb(91,95,109)"],[.411765,"rgb(104,106,112)"],[.470588,"rgb(117,117,117)"],[.529412,"rgb(131,129,120)"],[.588235,"rgb(146,140,120)"],[.647059,"rgb(161,152,118)"],[.705882,"rgb(176,165,114)"],[.764706,"rgb(192,177,109)"],[.823529,"rgb(209,191,102)"],[.882353,"rgb(225,204,92)"],[.941176,"rgb(243,219,79)"],[1,"rgb(255,233,69)"]]},a=i.RdBu;function o(t){var e=0;if(!Array.isArray(t)||t.length<2)return!1;if(!t[0]||!t[t.length-1])return!1;if(0!=+t[0][0]||1!=+t[t.length-1][0])return!1;for(var r=0;r<t.length;r++){var i=t[r];if(2!==i.length||+i[0]<e||!n(i[1]).isValid())return!1;e=+i[0]}return!0}e.exports={scales:i,defaultScale:a,get:function(t,e){if(e||(e=a),!t)return e;function r(){try{t=i[t]||JSON.parse(t)}catch(r){t=e}}return"string"==typeof t&&(r(),"string"==typeof t&&r()),o(t)?t:e},isValid:function(t){return void 0!==i[t]||o(t)}}},{tinycolor2:576}],659:[function(t,e,r){"use strict";e.exports=function(t,e,r,n,i){var a=(t-r)/(n-r),o=a+e/(n-r),s=(a+o)/2;return"left"===i||"bottom"===i?a:"center"===i||"middle"===i?s:"right"===i||"top"===i?o:a<2/3-s?a:o>4/3-s?o:s}},{}],660:[function(t,e,r){"use strict";var n=t("../../lib"),i=[["sw-resize","s-resize","se-resize"],["w-resize","move","e-resize"],["nw-resize","n-resize","ne-resize"]];e.exports=function(t,e,r,a){return t="left"===r?0:"center"===r?1:"right"===r?2:n.constrain(Math.floor(3*t),0,2),e="bottom"===a?0:"middle"===a?1:"top"===a?2:n.constrain(Math.floor(3*e),0,2),i[e][t]}},{"../../lib":778}],661:[function(t,e,r){"use strict";r.selectMode=function(t){return"lasso"===t||"select"===t},r.drawMode=function(t){return"drawclosedpath"===t||"drawopenpath"===t||"drawline"===t||"drawrect"===t||"drawcircle"===t},r.openMode=function(t){return"drawline"===t||"drawopenpath"===t},r.rectMode=function(t){return"select"===t||"drawline"===t||"drawrect"===t||"drawcircle"===t},r.freeMode=function(t){return"lasso"===t||"drawclosedpath"===t||"drawopenpath"===t},r.selectingOrDrawing=function(t){return r.freeMode(t)||r.rectMode(t)}},{}],662:[function(t,e,r){"use strict";var n=t("mouse-event-offset"),i=t("has-hover"),a=t("has-passive-events"),o=t("../../lib").removeElement,s=t("../../plots/cartesian/constants"),l=e.exports={};l.align=t("./align"),l.getCursor=t("./cursor");var c=t("./unhover");function u(){var t=document.createElement("div");t.className="dragcover";var e=t.style;return e.position="fixed",e.left=0,e.right=0,e.top=0,e.bottom=0,e.zIndex=999999999,e.background="none",document.body.appendChild(t),t}function f(t){return n(t.changedTouches?t.changedTouches[0]:t,document.body)}l.unhover=c.wrapped,l.unhoverRaw=c.raw,l.init=function(t){var e,r,n,c,h,p,d,g,m=t.gd,v=1,y=m._context.doubleClickDelay,x=t.element;m._mouseDownTime||(m._mouseDownTime=0),x.style.pointerEvents="all",x.onmousedown=_,a?(x._ontouchstart&&x.removeEventListener("touchstart",x._ontouchstart),x._ontouchstart=_,x.addEventListener("touchstart",_,{passive:!1})):x.ontouchstart=_;var b=t.clampFn||function(t,e,r){return Math.abs(t)<r&&(t=0),Math.abs(e)<r&&(e=0),[t,e]};function _(a){m._dragged=!1,m._dragging=!0;var o=f(a);e=o[0],r=o[1],d=a.target,p=a,g=2===a.buttons||a.ctrlKey,"undefined"==typeof a.clientX&&"undefined"==typeof a.clientY&&(a.clientX=e,a.clientY=r),(n=(new Date).getTime())-m._mouseDownTime<y?v+=1:(v=1,m._mouseDownTime=n),t.prepFn&&t.prepFn(a,e,r),i&&!g?(h=u()).style.cursor=window.getComputedStyle(x).cursor:i||(h=document,c=window.getComputedStyle(document.documentElement).cursor,document.documentElement.style.cursor=window.getComputedStyle(x).cursor),document.addEventListener("mouseup",T),document.addEventListener("touchend",T),!1!==t.dragmode&&(a.preventDefault(),document.addEventListener("mousemove",w),document.addEventListener("touchmove",w,{passive:!1}))}function w(n){n.preventDefault();var i=f(n),a=t.minDrag||s.MINDRAG,o=b(i[0]-e,i[1]-r,a),c=o[0],u=o[1];(c||u)&&(m._dragged=!0,l.unhover(m)),m._dragged&&t.moveFn&&!g&&(m._dragdata={element:x,dx:c,dy:u},t.moveFn(c,u))}function T(e){if(delete m._dragdata,!1!==t.dragmode&&(e.preventDefault(),document.removeEventListener("mousemove",w),document.removeEventListener("touchmove",w)),document.removeEventListener("mouseup",T),document.removeEventListener("touchend",T),i?o(h):c&&(h.documentElement.style.cursor=c,c=null),m._dragging){if(m._dragging=!1,(new Date).getTime()-m._mouseDownTime>y&&(v=Math.max(v-1,1)),m._dragged)t.doneFn&&t.doneFn();else if(t.clickFn&&t.clickFn(v,p),!g){var r;try{r=new MouseEvent("click",e)}catch(t){var n=f(e);(r=document.createEvent("MouseEvents")).initMouseEvent("click",e.bubbles,e.cancelable,e.view,e.detail,e.screenX,e.screenY,n[0],n[1],e.ctrlKey,e.altKey,e.shiftKey,e.metaKey,e.button,e.relatedTarget)}d.dispatchEvent(r)}m._dragging=!1,m._dragged=!1}else m._dragged=!1}},l.coverSlip=u},{"../../lib":778,"../../plots/cartesian/constants":834,"./align":659,"./cursor":660,"./unhover":663,"has-hover":440,"has-passive-events":441,"mouse-event-offset":484}],663:[function(t,e,r){"use strict";var n=t("../../lib/events"),i=t("../../lib/throttle"),a=t("../../lib/dom").getGraphDiv,o=t("../fx/constants"),s=e.exports={};s.wrapped=function(t,e,r){(t=a(t))._fullLayout&&i.clear(t._fullLayout._uid+o.HOVERID),s.raw(t,e,r)},s.raw=function(t,e){var r=t._fullLayout,i=t._hoverdata;e||(e={}),e.target&&!1===n.triggerHandler(t,"plotly_beforehover",e)||(r._hoverlayer.selectAll("g").remove(),r._hoverlayer.selectAll("line").remove(),r._hoverlayer.selectAll("circle").remove(),t._hoverdata=void 0,e.target&&i&&t.emit("plotly_unhover",{event:e,points:i}))}},{"../../lib/dom":766,"../../lib/events":767,"../../lib/throttle":804,"../fx/constants":677}],664:[function(t,e,r){"use strict";r.dash={valType:"string",values:["solid","dot","dash","longdash","dashdot","longdashdot"],dflt:"solid",editType:"style"}},{}],665:[function(t,e,r){"use strict";var n=t("d3"),i=t("fast-isnumeric"),a=t("tinycolor2"),o=t("../../registry"),s=t("../color"),l=t("../colorscale"),c=t("../../lib"),u=c.strTranslate,f=t("../../lib/svg_text_utils"),h=t("../../constants/xmlns_namespaces"),p=t("../../constants/alignment").LINE_SPACING,d=t("../../constants/interactions").DESELECTDIM,g=t("../../traces/scatter/subtypes"),m=t("../../traces/scatter/make_bubble_size_func"),v=t("../../components/fx/helpers").appendArrayPointValue,y=e.exports={};y.font=function(t,e,r,n){c.isPlainObject(e)&&(n=e.color,r=e.size,e=e.family),e&&t.style("font-family",e),r+1&&t.style("font-size",r+"px"),n&&t.call(s.fill,n)},y.setPosition=function(t,e,r){t.attr("x",e).attr("y",r)},y.setSize=function(t,e,r){t.attr("width",e).attr("height",r)},y.setRect=function(t,e,r,n,i){t.call(y.setPosition,e,r).call(y.setSize,n,i)},y.translatePoint=function(t,e,r,n){var a=r.c2p(t.x),o=n.c2p(t.y);return!!(i(a)&&i(o)&&e.node())&&("text"===e.node().nodeName?e.attr("x",a).attr("y",o):e.attr("transform",u(a,o)),!0)},y.translatePoints=function(t,e,r){t.each((function(t){var i=n.select(this);y.translatePoint(t,i,e,r)}))},y.hideOutsideRangePoint=function(t,e,r,n,i,a){e.attr("display",r.isPtWithinRange(t,i)&&n.isPtWithinRange(t,a)?null:"none")},y.hideOutsideRangePoints=function(t,e){if(e._hasClipOnAxisFalse){var r=e.xaxis,i=e.yaxis;t.each((function(e){var a=e[0].trace,s=a.xcalendar,l=a.ycalendar,c=o.traceIs(a,"bar-like")?".bartext":".point,.textpoint";t.selectAll(c).each((function(t){y.hideOutsideRangePoint(t,n.select(this),r,i,s,l)}))}))}},y.crispRound=function(t,e,r){return e&&i(e)?t._context.staticPlot?e:e<1?1:Math.round(e):r||0},y.singleLineStyle=function(t,e,r,n,i){e.style("fill","none");var a=(((t||[])[0]||{}).trace||{}).line||{},o=r||a.width||0,l=i||a.dash||"";s.stroke(e,n||a.color),y.dashLine(e,l,o)},y.lineGroupStyle=function(t,e,r,i){t.style("fill","none").each((function(t){var a=(((t||[])[0]||{}).trace||{}).line||{},o=e||a.width||0,l=i||a.dash||"";n.select(this).call(s.stroke,r||a.color).call(y.dashLine,l,o)}))},y.dashLine=function(t,e,r){r=+r||0,e=y.dashStyle(e,r),t.style({"stroke-dasharray":e,"stroke-width":r+"px"})},y.dashStyle=function(t,e){e=+e||1;var r=Math.max(e,3);return"solid"===t?t="":"dot"===t?t=r+"px,"+r+"px":"dash"===t?t=3*r+"px,"+3*r+"px":"longdash"===t?t=5*r+"px,"+5*r+"px":"dashdot"===t?t=3*r+"px,"+r+"px,"+r+"px,"+r+"px":"longdashdot"===t&&(t=5*r+"px,"+2*r+"px,"+r+"px,"+2*r+"px"),t},y.singleFillStyle=function(t){var e=(((n.select(t.node()).data()[0]||[])[0]||{}).trace||{}).fillcolor;e&&t.call(s.fill,e)},y.fillGroupStyle=function(t){t.style("stroke-width",0).each((function(t){var e=n.select(this);t[0].trace&&e.call(s.fill,t[0].trace.fillcolor)}))};var x=t("./symbol_defs");y.symbolNames=[],y.symbolFuncs=[],y.symbolNeedLines={},y.symbolNoDot={},y.symbolNoFill={},y.symbolList=[],Object.keys(x).forEach((function(t){var e=x[t],r=e.n;y.symbolList.push(r,String(r),t,r+100,String(r+100),t+"-open"),y.symbolNames[r]=t,y.symbolFuncs[r]=e.f,e.needLine&&(y.symbolNeedLines[r]=!0),e.noDot?y.symbolNoDot[r]=!0:y.symbolList.push(r+200,String(r+200),t+"-dot",r+300,String(r+300),t+"-open-dot"),e.noFill&&(y.symbolNoFill[r]=!0)}));var b=y.symbolNames.length;function _(t,e){var r=t%100;return y.symbolFuncs[r](e)+(t>=200?"M0,0.5L0.5,0L0,-0.5L-0.5,0Z":"")}y.symbolNumber=function(t){if(i(t))t=+t;else if("string"==typeof t){var e=0;t.indexOf("-open")>0&&(e=100,t=t.replace("-open","")),t.indexOf("-dot")>0&&(e+=200,t=t.replace("-dot","")),(t=y.symbolNames.indexOf(t))>=0&&(t+=e)}return t%100>=b||t>=400?0:Math.floor(Math.max(t,0))};var w={x1:1,x2:0,y1:0,y2:0},T={x1:0,x2:0,y1:1,y2:0},k=n.format("~.1f"),M={radial:{node:"radialGradient"},radialreversed:{node:"radialGradient",reversed:!0},horizontal:{node:"linearGradient",attrs:w},horizontalreversed:{node:"linearGradient",attrs:w,reversed:!0},vertical:{node:"linearGradient",attrs:T},verticalreversed:{node:"linearGradient",attrs:T,reversed:!0}};y.gradient=function(t,e,r,i,o,l){for(var u=o.length,f=M[i],h=new Array(u),p=0;p<u;p++)f.reversed?h[u-1-p]=[k(100*(1-o[p][0])),o[p][1]]:h[p]=[k(100*o[p][0]),o[p][1]];var d=e._fullLayout,g="g"+d._uid+"-"+r,m=d._defs.select(".gradients").selectAll("#"+g).data([i+h.join(";")],c.identity);m.exit().remove(),m.enter().append(f.node).each((function(){var t=n.select(this);f.attrs&&t.attr(f.attrs),t.attr("id",g);var e=t.selectAll("stop").data(h);e.exit().remove(),e.enter().append("stop"),e.each((function(t){var e=a(t[1]);n.select(this).attr({offset:t[0]+"%","stop-color":s.tinyRGB(e),"stop-opacity":e.getAlpha()})}))})),t.style(l,O(g,e)).style(l+"-opacity",null);var v=function(t){return"."+t.attr("class").replace(/\s/g,".")},y=v(n.select(t.node().parentNode))+">"+v(t);d._gradientUrlQueryParts[y]=1},y.initGradients=function(t){var e=t._fullLayout;c.ensureSingle(e._defs,"g","gradients").selectAll("linearGradient,radialGradient").remove(),e._gradientUrlQueryParts={}},y.pointStyle=function(t,e,r){if(t.size()){var i=y.makePointStyleFns(e);t.each((function(t){y.singlePointStyle(t,n.select(this),e,i,r)}))}},y.singlePointStyle=function(t,e,r,n,i){var a=r.marker,o=a.line;if(e.style("opacity",n.selectedOpacityFn?n.selectedOpacityFn(t):void 0===t.mo?a.opacity:t.mo),n.ms2mrc){var l;l="various"===t.ms||"various"===a.size?3:n.ms2mrc(t.ms),t.mrc=l,n.selectedSizeFn&&(l=t.mrc=n.selectedSizeFn(t));var u=y.symbolNumber(t.mx||a.symbol)||0;t.om=u%200>=100,e.attr("d",_(u,l))}var f,h,p,d=!1;if(t.so)p=o.outlierwidth,h=o.outliercolor,f=a.outliercolor;else{var g=(o||{}).width;p=(t.mlw+1||g+1||(t.trace?(t.trace.marker.line||{}).width:0)+1)-1||0,h="mlc"in t?t.mlcc=n.lineScale(t.mlc):c.isArrayOrTypedArray(o.color)?s.defaultLine:o.color,c.isArrayOrTypedArray(a.color)&&(f=s.defaultLine,d=!0),f="mc"in t?t.mcc=n.markerScale(t.mc):a.color||"rgba(0,0,0,0)",n.selectedColorFn&&(f=n.selectedColorFn(t))}if(t.om)e.call(s.stroke,f).style({"stroke-width":(p||1)+"px",fill:"none"});else{e.style("stroke-width",(t.isBlank?0:p)+"px");var m=a.gradient,v=t.mgt;if(v?d=!0:v=m&&m.type,Array.isArray(v)&&(v=v[0],M[v]||(v=0)),v&&"none"!==v){var x=t.mgc;x?d=!0:x=m.color;var b=r.uid;d&&(b+="-"+t.i),y.gradient(e,i,b,v,[[0,x],[1,f]],"fill")}else s.fill(e,f);p&&s.stroke(e,h)}},y.makePointStyleFns=function(t){var e={},r=t.marker;return e.markerScale=y.tryColorscale(r,""),e.lineScale=y.tryColorscale(r,"line"),o.traceIs(t,"symbols")&&(e.ms2mrc=g.isBubble(t)?m(t):function(){return(r.size||6)/2}),t.selectedpoints&&c.extendFlat(e,y.makeSelectedPointStyleFns(t)),e},y.makeSelectedPointStyleFns=function(t){var e={},r=t.selected||{},n=t.unselected||{},i=t.marker||{},a=r.marker||{},s=n.marker||{},l=i.opacity,u=a.opacity,f=s.opacity,h=void 0!==u,p=void 0!==f;(c.isArrayOrTypedArray(l)||h||p)&&(e.selectedOpacityFn=function(t){var e=void 0===t.mo?i.opacity:t.mo;return t.selected?h?u:e:p?f:d*e});var g=i.color,m=a.color,v=s.color;(m||v)&&(e.selectedColorFn=function(t){var e=t.mcc||g;return t.selected?m||e:v||e});var y=i.size,x=a.size,b=s.size,_=void 0!==x,w=void 0!==b;return o.traceIs(t,"symbols")&&(_||w)&&(e.selectedSizeFn=function(t){var e=t.mrc||y/2;return t.selected?_?x/2:e:w?b/2:e}),e},y.makeSelectedTextStyleFns=function(t){var e={},r=t.selected||{},n=t.unselected||{},i=t.textfont||{},a=r.textfont||{},o=n.textfont||{},l=i.color,c=a.color,u=o.color;return e.selectedTextColorFn=function(t){var e=t.tc||l;return t.selected?c||e:u||(c?e:s.addOpacity(e,d))},e},y.selectedPointStyle=function(t,e){if(t.size()&&e.selectedpoints){var r=y.makeSelectedPointStyleFns(e),i=e.marker||{},a=[];r.selectedOpacityFn&&a.push((function(t,e){t.style("opacity",r.selectedOpacityFn(e))})),r.selectedColorFn&&a.push((function(t,e){s.fill(t,r.selectedColorFn(e))})),r.selectedSizeFn&&a.push((function(t,e){var n=e.mx||i.symbol||0,a=r.selectedSizeFn(e);t.attr("d",_(y.symbolNumber(n),a)),e.mrc2=a})),a.length&&t.each((function(t){for(var e=n.select(this),r=0;r<a.length;r++)a[r](e,t)}))}},y.tryColorscale=function(t,e){var r=e?c.nestedProperty(t,e).get():t;if(r){var n=r.color;if((r.colorscale||r._colorAx)&&c.isArrayOrTypedArray(n))return l.makeColorScaleFuncFromTrace(r)}return c.identity};var A={start:1,end:-1,middle:0,bottom:1,top:-1};function S(t,e,r,i){var a=n.select(t.node().parentNode),o=-1!==e.indexOf("top")?"top":-1!==e.indexOf("bottom")?"bottom":"middle",s=-1!==e.indexOf("left")?"end":-1!==e.indexOf("right")?"start":"middle",l=i?i/.8+1:0,c=(f.lineCount(t)-1)*p+1,h=A[s]*l,d=.75*r+A[o]*l+(A[o]-1)*c*r/2;t.attr("text-anchor",s),a.attr("transform",u(h,d))}function E(t,e){var r=t.ts||e.textfont.size;return i(r)&&r>0?r:0}y.textPointStyle=function(t,e,r){if(t.size()){var i;if(e.selectedpoints){var a=y.makeSelectedTextStyleFns(e);i=a.selectedTextColorFn}var o=e.texttemplate,s=r._fullLayout;t.each((function(t){var a=n.select(this),l=o?c.extractOption(t,e,"txt","texttemplate"):c.extractOption(t,e,"tx","text");if(l||0===l){if(o){var u=e._module.formatLabels?e._module.formatLabels(t,e,s):{},h={};v(h,e,t.i);var p=e._meta||{};l=c.texttemplateString(l,u,s._d3locale,h,t,p)}var d=t.tp||e.textposition,g=E(t,e),m=i?i(t):t.tc||e.textfont.color;a.call(y.font,t.tf||e.textfont.family,g,m).text(l).call(f.convertToTspans,r).call(S,d,g,t.mrc)}else a.remove()}))}},y.selectedTextStyle=function(t,e){if(t.size()&&e.selectedpoints){var r=y.makeSelectedTextStyleFns(e);t.each((function(t){var i=n.select(this),a=r.selectedTextColorFn(t),o=t.tp||e.textposition,l=E(t,e);s.fill(i,a),S(i,o,l,t.mrc2||t.mrc)}))}};function C(t,e,r,i){var a=t[0]-e[0],o=t[1]-e[1],s=r[0]-e[0],l=r[1]-e[1],c=Math.pow(a*a+o*o,.25),u=Math.pow(s*s+l*l,.25),f=(u*u*a-c*c*s)*i,h=(u*u*o-c*c*l)*i,p=3*u*(c+u),d=3*c*(c+u);return[[n.round(e[0]+(p&&f/p),2),n.round(e[1]+(p&&h/p),2)],[n.round(e[0]-(d&&f/d),2),n.round(e[1]-(d&&h/d),2)]]}y.smoothopen=function(t,e){if(t.length<3)return"M"+t.join("L");var r,n="M"+t[0],i=[];for(r=1;r<t.length-1;r++)i.push(C(t[r-1],t[r],t[r+1],e));for(n+="Q"+i[0][0]+" "+t[1],r=2;r<t.length-1;r++)n+="C"+i[r-2][1]+" "+i[r-1][0]+" "+t[r];return n+="Q"+i[t.length-3][1]+" "+t[t.length-1]},y.smoothclosed=function(t,e){if(t.length<3)return"M"+t.join("L")+"Z";var r,n="M"+t[0],i=t.length-1,a=[C(t[i],t[0],t[1],e)];for(r=1;r<i;r++)a.push(C(t[r-1],t[r],t[r+1],e));for(a.push(C(t[i-1],t[i],t[0],e)),r=1;r<=i;r++)n+="C"+a[r-1][1]+" "+a[r][0]+" "+t[r];return n+="C"+a[i][1]+" "+a[0][0]+" "+t[0]+"Z"};var L={hv:function(t,e){return"H"+n.round(e[0],2)+"V"+n.round(e[1],2)},vh:function(t,e){return"V"+n.round(e[1],2)+"H"+n.round(e[0],2)},hvh:function(t,e){return"H"+n.round((t[0]+e[0])/2,2)+"V"+n.round(e[1],2)+"H"+n.round(e[0],2)},vhv:function(t,e){return"V"+n.round((t[1]+e[1])/2,2)+"H"+n.round(e[0],2)+"V"+n.round(e[1],2)}},I=function(t,e){return"L"+n.round(e[0],2)+","+n.round(e[1],2)};y.steps=function(t){var e=L[t]||I;return function(t){for(var r="M"+n.round(t[0][0],2)+","+n.round(t[0][1],2),i=1;i<t.length;i++)r+=e(t[i-1],t[i]);return r}},y.makeTester=function(){var t=c.ensureSingleById(n.select("body"),"svg","js-plotly-tester",(function(t){t.attr(h.svgAttrs).style({position:"absolute",left:"-10000px",top:"-10000px",width:"9000px",height:"9000px","z-index":"1"})})),e=c.ensureSingle(t,"path","js-reference-point",(function(t){t.attr("d","M0,0H1V1H0Z").style({"stroke-width":0,fill:"black"})}));y.tester=t,y.testref=e},y.savedBBoxes={};var P=0;function z(t){var e=t.getAttribute("data-unformatted");if(null!==e)return e+t.getAttribute("data-math")+t.getAttribute("text-anchor")+t.getAttribute("style")}function O(t,e){if(!t)return null;var r=e._context;return"url('"+(r._exportedPlot?"":r._baseUrl||"")+"#"+t+"')"}y.bBox=function(t,e,r){var i,a,o;if(r||(r=z(t)),r){if(i=y.savedBBoxes[r])return c.extendFlat({},i)}else if(1===t.childNodes.length){var s=t.childNodes[0];if(r=z(s)){var l=+s.getAttribute("x")||0,u=+s.getAttribute("y")||0,h=s.getAttribute("transform");if(!h){var p=y.bBox(s,!1,r);return l&&(p.left+=l,p.right+=l),u&&(p.top+=u,p.bottom+=u),p}if(r+="~"+l+"~"+u+"~"+h,i=y.savedBBoxes[r])return c.extendFlat({},i)}}e?a=t:(o=y.tester.node(),a=t.cloneNode(!0),o.appendChild(a)),n.select(a).attr("transform",null).call(f.positionText,0,0);var d=a.getBoundingClientRect(),g=y.testref.node().getBoundingClientRect();e||o.removeChild(a);var m={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 P>=1e4&&(y.savedBBoxes={},P=0),r&&(y.savedBBoxes[r]=m),P++,c.extendFlat({},m)},y.setClipUrl=function(t,e,r){t.attr("clip-path",O(e,r))},y.getTranslate=function(t){var e=(t[t.attr?"attr":"getAttribute"]("transform")||"").replace(/.*\btranslate\((-?\d*\.?\d*)[^-\d]*(-?\d*\.?\d*)[^\d].*/,(function(t,e,r){return[e,r].join(" ")})).split(" ");return{x:+e[0]||0,y:+e[1]||0}},y.setTranslate=function(t,e,r){var n=t.attr?"attr":"getAttribute",i=t.attr?"attr":"setAttribute",a=t[n]("transform")||"";return e=e||0,r=r||0,a=a.replace(/(\btranslate\(.*?\);?)/,"").trim(),a=(a+=u(e,r)).trim(),t[i]("transform",a),a},y.getScale=function(t){var e=(t[t.attr?"attr":"getAttribute"]("transform")||"").replace(/.*\bscale\((\d*\.?\d*)[^\d]*(\d*\.?\d*)[^\d].*/,(function(t,e,r){return[e,r].join(" ")})).split(" ");return{x:+e[0]||1,y:+e[1]||1}},y.setScale=function(t,e,r){var n=t.attr?"attr":"getAttribute",i=t.attr?"attr":"setAttribute",a=t[n]("transform")||"";return e=e||1,r=r||1,a=a.replace(/(\bscale\(.*?\);?)/,"").trim(),a=(a+="scale("+e+","+r+")").trim(),t[i]("transform",a),a};var D=/\s*sc.*/;y.setPointGroupScale=function(t,e,r){if(e=e||1,r=r||1,t){var n=1===e&&1===r?"":"scale("+e+","+r+")";t.each((function(){var t=(this.getAttribute("transform")||"").replace(D,"");t=(t+=n).trim(),this.setAttribute("transform",t)}))}};var R=/translate\([^)]*\)\s*$/;y.setTextPointsScale=function(t,e,r){t&&t.each((function(){var t,i=n.select(this),a=i.select("text");if(a.node()){var o=parseFloat(a.attr("x")||0),s=parseFloat(a.attr("y")||0),l=(i.attr("transform")||"").match(R);t=1===e&&1===r?[]:[u(o,s),"scale("+e+","+r+")",u(-o,-s)],l&&t.push(l),i.attr("transform",t.join(""))}}))}},{"../../components/fx/helpers":679,"../../constants/alignment":745,"../../constants/interactions":752,"../../constants/xmlns_namespaces":754,"../../lib":778,"../../lib/svg_text_utils":803,"../../registry":911,"../../traces/scatter/make_bubble_size_func":1204,"../../traces/scatter/subtypes":1212,"../color":643,"../colorscale":655,"./symbol_defs":666,d3:169,"fast-isnumeric":241,tinycolor2:576}],666:[function(t,e,r){"use strict";var n=t("d3");e.exports={circle:{n:0,f:function(t){var e=n.round(t,2);return"M"+e+",0A"+e+","+e+" 0 1,1 0,-"+e+"A"+e+","+e+" 0 0,1 "+e+",0Z"}},square:{n:1,f:function(t){var e=n.round(t,2);return"M"+e+","+e+"H-"+e+"V-"+e+"H"+e+"Z"}},diamond:{n:2,f:function(t){var e=n.round(1.3*t,2);return"M"+e+",0L0,"+e+"L-"+e+",0L0,-"+e+"Z"}},cross:{n:3,f:function(t){var e=n.round(.4*t,2),r=n.round(1.2*t,2);return"M"+r+","+e+"H"+e+"V"+r+"H-"+e+"V"+e+"H-"+r+"V-"+e+"H-"+e+"V-"+r+"H"+e+"V-"+e+"H"+r+"Z"}},x:{n:4,f:function(t){var e=n.round(.8*t/Math.sqrt(2),2),r="l"+e+","+e,i="l"+e+",-"+e,a="l-"+e+",-"+e,o="l-"+e+","+e;return"M0,"+e+r+i+a+i+a+o+a+o+r+o+r+"Z"}},"triangle-up":{n:5,f:function(t){var e=n.round(2*t/Math.sqrt(3),2);return"M-"+e+","+n.round(t/2,2)+"H"+e+"L0,-"+n.round(t,2)+"Z"}},"triangle-down":{n:6,f:function(t){var e=n.round(2*t/Math.sqrt(3),2);return"M-"+e+",-"+n.round(t/2,2)+"H"+e+"L0,"+n.round(t,2)+"Z"}},"triangle-left":{n:7,f:function(t){var e=n.round(2*t/Math.sqrt(3),2);return"M"+n.round(t/2,2)+",-"+e+"V"+e+"L-"+n.round(t,2)+",0Z"}},"triangle-right":{n:8,f:function(t){var e=n.round(2*t/Math.sqrt(3),2);return"M-"+n.round(t/2,2)+",-"+e+"V"+e+"L"+n.round(t,2)+",0Z"}},"triangle-ne":{n:9,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return"M-"+r+",-"+e+"H"+e+"V"+r+"Z"}},"triangle-se":{n:10,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return"M"+e+",-"+r+"V"+e+"H-"+r+"Z"}},"triangle-sw":{n:11,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return"M"+r+","+e+"H-"+e+"V-"+r+"Z"}},"triangle-nw":{n:12,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return"M-"+e+","+r+"V-"+e+"H"+r+"Z"}},pentagon:{n:13,f:function(t){var e=n.round(.951*t,2),r=n.round(.588*t,2),i=n.round(-t,2),a=n.round(-.309*t,2);return"M"+e+","+a+"L"+r+","+n.round(.809*t,2)+"H-"+r+"L-"+e+","+a+"L0,"+i+"Z"}},hexagon:{n:14,f:function(t){var e=n.round(t,2),r=n.round(t/2,2),i=n.round(t*Math.sqrt(3)/2,2);return"M"+i+",-"+r+"V"+r+"L0,"+e+"L-"+i+","+r+"V-"+r+"L0,-"+e+"Z"}},hexagon2:{n:15,f:function(t){var e=n.round(t,2),r=n.round(t/2,2),i=n.round(t*Math.sqrt(3)/2,2);return"M-"+r+","+i+"H"+r+"L"+e+",0L"+r+",-"+i+"H-"+r+"L-"+e+",0Z"}},octagon:{n:16,f:function(t){var e=n.round(.924*t,2),r=n.round(.383*t,2);return"M-"+r+",-"+e+"H"+r+"L"+e+",-"+r+"V"+r+"L"+r+","+e+"H-"+r+"L-"+e+","+r+"V-"+r+"Z"}},star:{n:17,f:function(t){var e=1.4*t,r=n.round(.225*e,2),i=n.round(.951*e,2),a=n.round(.363*e,2),o=n.round(.588*e,2),s=n.round(-e,2),l=n.round(-.309*e,2),c=n.round(.118*e,2),u=n.round(.809*e,2);return"M"+r+","+l+"H"+i+"L"+a+","+c+"L"+o+","+u+"L0,"+n.round(.382*e,2)+"L-"+o+","+u+"L-"+a+","+c+"L-"+i+","+l+"H-"+r+"L0,"+s+"Z"}},hexagram:{n:18,f:function(t){var e=n.round(.66*t,2),r=n.round(.38*t,2),i=n.round(.76*t,2);return"M-"+i+",0l-"+r+",-"+e+"h"+i+"l"+r+",-"+e+"l"+r+","+e+"h"+i+"l-"+r+","+e+"l"+r+","+e+"h-"+i+"l-"+r+","+e+"l-"+r+",-"+e+"h-"+i+"Z"}},"star-triangle-up":{n:19,f:function(t){var e=n.round(t*Math.sqrt(3)*.8,2),r=n.round(.8*t,2),i=n.round(1.6*t,2),a=n.round(4*t,2),o="A "+a+","+a+" 0 0 1 ";return"M-"+e+","+r+o+e+","+r+o+"0,-"+i+o+"-"+e+","+r+"Z"}},"star-triangle-down":{n:20,f:function(t){var e=n.round(t*Math.sqrt(3)*.8,2),r=n.round(.8*t,2),i=n.round(1.6*t,2),a=n.round(4*t,2),o="A "+a+","+a+" 0 0 1 ";return"M"+e+",-"+r+o+"-"+e+",-"+r+o+"0,"+i+o+e+",-"+r+"Z"}},"star-square":{n:21,f:function(t){var e=n.round(1.1*t,2),r=n.round(2*t,2),i="A "+r+","+r+" 0 0 1 ";return"M-"+e+",-"+e+i+"-"+e+","+e+i+e+","+e+i+e+",-"+e+i+"-"+e+",-"+e+"Z"}},"star-diamond":{n:22,f:function(t){var e=n.round(1.4*t,2),r=n.round(1.9*t,2),i="A "+r+","+r+" 0 0 1 ";return"M-"+e+",0"+i+"0,"+e+i+e+",0"+i+"0,-"+e+i+"-"+e+",0Z"}},"diamond-tall":{n:23,f:function(t){var e=n.round(.7*t,2),r=n.round(1.4*t,2);return"M0,"+r+"L"+e+",0L0,-"+r+"L-"+e+",0Z"}},"diamond-wide":{n:24,f:function(t){var e=n.round(1.4*t,2),r=n.round(.7*t,2);return"M0,"+r+"L"+e+",0L0,-"+r+"L-"+e+",0Z"}},hourglass:{n:25,f:function(t){var e=n.round(t,2);return"M"+e+","+e+"H-"+e+"L"+e+",-"+e+"H-"+e+"Z"},noDot:!0},bowtie:{n:26,f:function(t){var e=n.round(t,2);return"M"+e+","+e+"V-"+e+"L-"+e+","+e+"V-"+e+"Z"},noDot:!0},"circle-cross":{n:27,f:function(t){var e=n.round(t,2);return"M0,"+e+"V-"+e+"M"+e+",0H-"+e+"M"+e+",0A"+e+","+e+" 0 1,1 0,-"+e+"A"+e+","+e+" 0 0,1 "+e+",0Z"},needLine:!0,noDot:!0},"circle-x":{n:28,f:function(t){var e=n.round(t,2),r=n.round(t/Math.sqrt(2),2);return"M"+r+","+r+"L-"+r+",-"+r+"M"+r+",-"+r+"L-"+r+","+r+"M"+e+",0A"+e+","+e+" 0 1,1 0,-"+e+"A"+e+","+e+" 0 0,1 "+e+",0Z"},needLine:!0,noDot:!0},"square-cross":{n:29,f:function(t){var e=n.round(t,2);return"M0,"+e+"V-"+e+"M"+e+",0H-"+e+"M"+e+","+e+"H-"+e+"V-"+e+"H"+e+"Z"},needLine:!0,noDot:!0},"square-x":{n:30,f:function(t){var e=n.round(t,2);return"M"+e+","+e+"L-"+e+",-"+e+"M"+e+",-"+e+"L-"+e+","+e+"M"+e+","+e+"H-"+e+"V-"+e+"H"+e+"Z"},needLine:!0,noDot:!0},"diamond-cross":{n:31,f:function(t){var e=n.round(1.3*t,2);return"M"+e+",0L0,"+e+"L-"+e+",0L0,-"+e+"ZM0,-"+e+"V"+e+"M-"+e+",0H"+e},needLine:!0,noDot:!0},"diamond-x":{n:32,f:function(t){var e=n.round(1.3*t,2),r=n.round(.65*t,2);return"M"+e+",0L0,"+e+"L-"+e+",0L0,-"+e+"ZM-"+r+",-"+r+"L"+r+","+r+"M-"+r+","+r+"L"+r+",-"+r},needLine:!0,noDot:!0},"cross-thin":{n:33,f:function(t){var e=n.round(1.4*t,2);return"M0,"+e+"V-"+e+"M"+e+",0H-"+e},needLine:!0,noDot:!0,noFill:!0},"x-thin":{n:34,f:function(t){var e=n.round(t,2);return"M"+e+","+e+"L-"+e+",-"+e+"M"+e+",-"+e+"L-"+e+","+e},needLine:!0,noDot:!0,noFill:!0},asterisk:{n:35,f:function(t){var e=n.round(1.2*t,2),r=n.round(.85*t,2);return"M0,"+e+"V-"+e+"M"+e+",0H-"+e+"M"+r+","+r+"L-"+r+",-"+r+"M"+r+",-"+r+"L-"+r+","+r},needLine:!0,noDot:!0,noFill:!0},hash:{n:36,f:function(t){var e=n.round(t/2,2),r=n.round(t,2);return"M"+e+","+r+"V-"+r+"m-"+r+",0V"+r+"M"+r+","+e+"H-"+r+"m0,-"+r+"H"+r},needLine:!0,noFill:!0},"y-up":{n:37,f:function(t){var e=n.round(1.2*t,2),r=n.round(1.6*t,2),i=n.round(.8*t,2);return"M-"+e+","+i+"L0,0M"+e+","+i+"L0,0M0,-"+r+"L0,0"},needLine:!0,noDot:!0,noFill:!0},"y-down":{n:38,f:function(t){var e=n.round(1.2*t,2),r=n.round(1.6*t,2),i=n.round(.8*t,2);return"M-"+e+",-"+i+"L0,0M"+e+",-"+i+"L0,0M0,"+r+"L0,0"},needLine:!0,noDot:!0,noFill:!0},"y-left":{n:39,f:function(t){var e=n.round(1.2*t,2),r=n.round(1.6*t,2),i=n.round(.8*t,2);return"M"+i+","+e+"L0,0M"+i+",-"+e+"L0,0M-"+r+",0L0,0"},needLine:!0,noDot:!0,noFill:!0},"y-right":{n:40,f:function(t){var e=n.round(1.2*t,2),r=n.round(1.6*t,2),i=n.round(.8*t,2);return"M-"+i+","+e+"L0,0M-"+i+",-"+e+"L0,0M"+r+",0L0,0"},needLine:!0,noDot:!0,noFill:!0},"line-ew":{n:41,f:function(t){var e=n.round(1.4*t,2);return"M"+e+",0H-"+e},needLine:!0,noDot:!0,noFill:!0},"line-ns":{n:42,f:function(t){var e=n.round(1.4*t,2);return"M0,"+e+"V-"+e},needLine:!0,noDot:!0,noFill:!0},"line-ne":{n:43,f:function(t){var e=n.round(t,2);return"M"+e+",-"+e+"L-"+e+","+e},needLine:!0,noDot:!0,noFill:!0},"line-nw":{n:44,f:function(t){var e=n.round(t,2);return"M"+e+","+e+"L-"+e+",-"+e},needLine:!0,noDot:!0,noFill:!0},"arrow-up":{n:45,f:function(t){var e=n.round(t,2);return"M0,0L-"+e+","+n.round(2*t,2)+"H"+e+"Z"},noDot:!0},"arrow-down":{n:46,f:function(t){var e=n.round(t,2);return"M0,0L-"+e+",-"+n.round(2*t,2)+"H"+e+"Z"},noDot:!0},"arrow-left":{n:47,f:function(t){var e=n.round(2*t,2),r=n.round(t,2);return"M0,0L"+e+",-"+r+"V"+r+"Z"},noDot:!0},"arrow-right":{n:48,f:function(t){var e=n.round(2*t,2),r=n.round(t,2);return"M0,0L-"+e+",-"+r+"V"+r+"Z"},noDot:!0},"arrow-bar-up":{n:49,f:function(t){var e=n.round(t,2);return"M-"+e+",0H"+e+"M0,0L-"+e+","+n.round(2*t,2)+"H"+e+"Z"},needLine:!0,noDot:!0},"arrow-bar-down":{n:50,f:function(t){var e=n.round(t,2);return"M-"+e+",0H"+e+"M0,0L-"+e+",-"+n.round(2*t,2)+"H"+e+"Z"},needLine:!0,noDot:!0},"arrow-bar-left":{n:51,f:function(t){var e=n.round(2*t,2),r=n.round(t,2);return"M0,-"+r+"V"+r+"M0,0L"+e+",-"+r+"V"+r+"Z"},needLine:!0,noDot:!0},"arrow-bar-right":{n:52,f:function(t){var e=n.round(2*t,2),r=n.round(t,2);return"M0,-"+r+"V"+r+"M0,0L-"+e+",-"+r+"V"+r+"Z"},needLine:!0,noDot:!0}}},{d3:169}],667:[function(t,e,r){"use strict";e.exports={visible:{valType:"boolean",editType:"calc"},type:{valType:"enumerated",values:["percent","constant","sqrt","data"],editType:"calc"},symmetric:{valType:"boolean",editType:"calc"},array:{valType:"data_array",editType:"calc"},arrayminus:{valType:"data_array",editType:"calc"},value:{valType:"number",min:0,dflt:10,editType:"calc"},valueminus:{valType:"number",min:0,dflt:10,editType:"calc"},traceref:{valType:"integer",min:0,dflt:0,editType:"style"},tracerefminus:{valType:"integer",min:0,dflt:0,editType:"style"},copy_ystyle:{valType:"boolean",editType:"plot"},copy_zstyle:{valType:"boolean",editType:"style"},color:{valType:"color",editType:"style"},thickness:{valType:"number",min:0,dflt:2,editType:"style"},width:{valType:"number",min:0,editType:"plot"},editType:"calc",_deprecated:{opacity:{valType:"number",editType:"style"}}}},{}],668:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../registry"),a=t("../../plots/cartesian/axes"),o=t("../../lib"),s=t("./compute_error");function l(t,e,r,i){var l=e["error_"+i]||{},c=[];if(l.visible&&-1!==["linear","log"].indexOf(r.type)){for(var u=s(l),f=0;f<t.length;f++){var h=t[f],p=h.i;if(void 0===p)p=f;else if(null===p)continue;var d=h[i];if(n(r.c2l(d))){var g=u(d,p);if(n(g[0])&&n(g[1])){var m=h[i+"s"]=d-g[0],v=h[i+"h"]=d+g[1];c.push(m,v)}}}var y=r._id,x=e._extremes[y],b=a.findExtremes(r,c,o.extendFlat({tozero:x.opts.tozero},{padded:!0}));x.min=x.min.concat(b.min),x.max=x.max.concat(b.max)}}e.exports=function(t){for(var e=t.calcdata,r=0;r<e.length;r++){var n=e[r],o=n[0].trace;if(!0===o.visible&&i.traceIs(o,"errorBarsOK")){var s=a.getFromId(t,o.xaxis),c=a.getFromId(t,o.yaxis);l(n,o,s,"x"),l(n,o,c,"y")}}}},{"../../lib":778,"../../plots/cartesian/axes":828,"../../registry":911,"./compute_error":669,"fast-isnumeric":241}],669:[function(t,e,r){"use strict";function n(t,e){return"percent"===t?function(t){return Math.abs(t*e/100)}:"constant"===t?function(){return Math.abs(e)}:"sqrt"===t?function(t){return Math.sqrt(Math.abs(t))}:void 0}e.exports=function(t){var e=t.type,r=t.symmetric;if("data"===e){var i=t.array||[];if(r)return function(t,e){var r=+i[e];return[r,r]};var a=t.arrayminus||[];return function(t,e){var r=+i[e],n=+a[e];return isNaN(r)&&isNaN(n)?[NaN,NaN]:[n||0,r||0]}}var o=n(e,t.value),s=n(e,t.valueminus);return r||void 0===t.valueminus?function(t){var e=o(t);return[e,e]}:function(t){return[s(t),o(t)]}}},{}],670:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../registry"),a=t("../../lib"),o=t("../../plot_api/plot_template"),s=t("./attributes");e.exports=function(t,e,r,l){var c="error_"+l.axis,u=o.newContainer(e,c),f=t[c]||{};function h(t,e){return a.coerce(f,u,s,t,e)}if(!1!==h("visible",void 0!==f.array||void 0!==f.value||"sqrt"===f.type)){var p=h("type","array"in f?"data":"percent"),d=!0;"sqrt"!==p&&(d=h("symmetric",!(("data"===p?"arrayminus":"valueminus")in f))),"data"===p?(h("array"),h("traceref"),d||(h("arrayminus"),h("tracerefminus"))):"percent"!==p&&"constant"!==p||(h("value"),d||h("valueminus"));var g="copy_"+l.inherit+"style";if(l.inherit)(e["error_"+l.inherit]||{}).visible&&h(g,!(f.color||n(f.thickness)||n(f.width)));l.inherit&&u[g]||(h("color",r),h("thickness"),h("width",i.traceIs(e,"gl3d")?0:4))}}},{"../../lib":778,"../../plot_api/plot_template":817,"../../registry":911,"./attributes":667,"fast-isnumeric":241}],671:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../plot_api/edit_types").overrideAll,a=t("./attributes"),o={error_x:n.extendFlat({},a),error_y:n.extendFlat({},a)};delete o.error_x.copy_zstyle,delete o.error_y.copy_zstyle,delete o.error_y.copy_ystyle;var s={error_x:n.extendFlat({},a),error_y:n.extendFlat({},a),error_z:n.extendFlat({},a)};delete s.error_x.copy_ystyle,delete s.error_y.copy_ystyle,delete s.error_z.copy_ystyle,delete s.error_z.copy_zstyle,e.exports={moduleType:"component",name:"errorbars",schema:{traces:{scatter:o,bar:o,histogram:o,scatter3d:i(s,"calc","nested"),scattergl:i(o,"calc","nested")}},supplyDefaults:t("./defaults"),calc:t("./calc"),makeComputeError:t("./compute_error"),plot:t("./plot"),style:t("./style"),hoverInfo:function(t,e,r){(e.error_y||{}).visible&&(r.yerr=t.yh-t.y,e.error_y.symmetric||(r.yerrneg=t.y-t.ys));(e.error_x||{}).visible&&(r.xerr=t.xh-t.x,e.error_x.symmetric||(r.xerrneg=t.x-t.xs))}}},{"../../lib":778,"../../plot_api/edit_types":810,"./attributes":667,"./calc":668,"./compute_error":669,"./defaults":670,"./plot":672,"./style":673}],672:[function(t,e,r){"use strict";var n=t("d3"),i=t("fast-isnumeric"),a=t("../drawing"),o=t("../../traces/scatter/subtypes");e.exports=function(t,e,r,s){var l=r.xaxis,c=r.yaxis,u=s&&s.duration>0;e.each((function(e){var f,h=e[0].trace,p=h.error_x||{},d=h.error_y||{};h.ids&&(f=function(t){return t.id});var g=o.hasMarkers(h)&&h.marker.maxdisplayed>0;d.visible||p.visible||(e=[]);var m=n.select(this).selectAll("g.errorbar").data(e,f);if(m.exit().remove(),e.length){p.visible||m.selectAll("path.xerror").remove(),d.visible||m.selectAll("path.yerror").remove(),m.style("opacity",1);var v=m.enter().append("g").classed("errorbar",!0);u&&v.style("opacity",0).transition().duration(s.duration).style("opacity",1),a.setClipUrl(m,r.layerClipId,t),m.each((function(t){var e=n.select(this),r=function(t,e,r){var n={x:e.c2p(t.x),y:r.c2p(t.y)};void 0!==t.yh&&(n.yh=r.c2p(t.yh),n.ys=r.c2p(t.ys),i(n.ys)||(n.noYS=!0,n.ys=r.c2p(t.ys,!0)));void 0!==t.xh&&(n.xh=e.c2p(t.xh),n.xs=e.c2p(t.xs),i(n.xs)||(n.noXS=!0,n.xs=e.c2p(t.xs,!0)));return n}(t,l,c);if(!g||t.vis){var a,o=e.select("path.yerror");if(d.visible&&i(r.x)&&i(r.yh)&&i(r.ys)){var f=d.width;a="M"+(r.x-f)+","+r.yh+"h"+2*f+"m-"+f+",0V"+r.ys,r.noYS||(a+="m-"+f+",0h"+2*f),!o.size()?o=e.append("path").style("vector-effect","non-scaling-stroke").classed("yerror",!0):u&&(o=o.transition().duration(s.duration).ease(s.easing)),o.attr("d",a)}else o.remove();var h=e.select("path.xerror");if(p.visible&&i(r.y)&&i(r.xh)&&i(r.xs)){var m=(p.copy_ystyle?d:p).width;a="M"+r.xh+","+(r.y-m)+"v"+2*m+"m0,-"+m+"H"+r.xs,r.noXS||(a+="m0,-"+m+"v"+2*m),!h.size()?h=e.append("path").style("vector-effect","non-scaling-stroke").classed("xerror",!0):u&&(h=h.transition().duration(s.duration).ease(s.easing)),h.attr("d",a)}else h.remove()}}))}}))}},{"../../traces/scatter/subtypes":1212,"../drawing":665,d3:169,"fast-isnumeric":241}],673:[function(t,e,r){"use strict";var n=t("d3"),i=t("../color");e.exports=function(t){t.each((function(t){var e=t[0].trace,r=e.error_y||{},a=e.error_x||{},o=n.select(this);o.selectAll("path.yerror").style("stroke-width",r.thickness+"px").call(i.stroke,r.color),a.copy_ystyle&&(a=r),o.selectAll("path.xerror").style("stroke-width",a.thickness+"px").call(i.stroke,a.color)}))}},{"../color":643,d3:169}],674:[function(t,e,r){"use strict";var n=t("../../plots/font_attributes"),i=t("./layout_attributes").hoverlabel,a=t("../../lib/extend").extendFlat;e.exports={hoverlabel:{bgcolor:a({},i.bgcolor,{arrayOk:!0}),bordercolor:a({},i.bordercolor,{arrayOk:!0}),font:n({arrayOk:!0,editType:"none"}),align:a({},i.align,{arrayOk:!0}),namelength:a({},i.namelength,{arrayOk:!0}),editType:"none"}}},{"../../lib/extend":768,"../../plots/font_attributes":856,"./layout_attributes":684}],675:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../registry");function a(t,e,r,i){i=i||n.identity,Array.isArray(t)&&(e[0][r]=i(t))}e.exports=function(t){var e=t.calcdata,r=t._fullLayout;function o(t){return function(e){return n.coerceHoverinfo({hoverinfo:e},{_module:t._module},r)}}for(var s=0;s<e.length;s++){var l=e[s],c=l[0].trace;if(!i.traceIs(c,"pie-like")){var u=i.traceIs(c,"2dMap")?a:n.fillArray;u(c.hoverinfo,l,"hi",o(c)),c.hovertemplate&&u(c.hovertemplate,l,"ht"),c.hoverlabel&&(u(c.hoverlabel.bgcolor,l,"hbg"),u(c.hoverlabel.bordercolor,l,"hbc"),u(c.hoverlabel.font.size,l,"hts"),u(c.hoverlabel.font.color,l,"htc"),u(c.hoverlabel.font.family,l,"htf"),u(c.hoverlabel.namelength,l,"hnl"),u(c.hoverlabel.align,l,"hta"))}}}},{"../../lib":778,"../../registry":911}],676:[function(t,e,r){"use strict";var n=t("../../registry"),i=t("./hover").hover;e.exports=function(t,e,r){var a=n.getComponentMethod("annotations","onClick")(t,t._hoverdata);function o(){t.emit("plotly_click",{points:t._hoverdata,event:e})}void 0!==r&&i(t,e,r,!0),t._hoverdata&&e&&e.target&&(a&&a.then?a.then(o):o(),e.stopImmediatePropagation&&e.stopImmediatePropagation())}},{"../../registry":911,"./hover":680}],677:[function(t,e,r){"use strict";e.exports={YANGLE:60,HOVERARROWSIZE:6,HOVERTEXTPAD:3,HOVERFONTSIZE:13,HOVERFONT:"Arial, sans-serif",HOVERMINTIME:50,HOVERID:"-hover"}},{}],678:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./attributes"),a=t("./hoverlabel_defaults");e.exports=function(t,e,r,o){var s=n.extendFlat({},o.hoverlabel);e.hovertemplate&&(s.namelength=-1),a(t,e,(function(r,a){return n.coerce(t,e,i,r,a)}),s)}},{"../../lib":778,"./attributes":674,"./hoverlabel_defaults":681}],679:[function(t,e,r){"use strict";var n=t("../../lib");r.getSubplot=function(t){return t.subplot||t.xaxis+t.yaxis||t.geo},r.isTraceInSubplots=function(t,e){if("splom"===t.type){for(var n=t.xaxes||[],i=t.yaxes||[],a=0;a<n.length;a++)for(var o=0;o<i.length;o++)if(-1!==e.indexOf(n[a]+i[o]))return!0;return!1}return-1!==e.indexOf(r.getSubplot(t))},r.flat=function(t,e){for(var r=new Array(t.length),n=0;n<t.length;n++)r[n]=e;return r},r.p2c=function(t,e){for(var r=new Array(t.length),n=0;n<t.length;n++)r[n]=t[n].p2c(e);return r},r.getDistanceFunction=function(t,e,n,i){return"closest"===t?i||r.quadrature(e,n):"x"===t.charAt(0)?e:n},r.getClosest=function(t,e,r){if(!1!==r.index)r.index>=0&&r.index<t.length?r.distance=0:r.index=!1;else for(var n=0;n<t.length;n++){var i=e(t[n]);i<=r.distance&&(r.index=n,r.distance=i)}return r},r.inbox=function(t,e,r){return t*e<0||0===t?r:1/0},r.quadrature=function(t,e){return function(r){var n=t(r),i=e(r);return Math.sqrt(n*n+i*i)}},r.makeEventData=function(t,e,n){var i="index"in t?t.index:t.pointNumber,a={data:e._input,fullData:e,curveNumber:e.index,pointNumber:i};if(e._indexToPoints){var o=e._indexToPoints[i];1===o.length?a.pointIndex=o[0]:a.pointIndices=o}else a.pointIndex=i;return e._module.eventData?a=e._module.eventData(a,t,e,n,i):("xVal"in t?a.x=t.xVal:"x"in t&&(a.x=t.x),"yVal"in t?a.y=t.yVal:"y"in t&&(a.y=t.y),t.xa&&(a.xaxis=t.xa),t.ya&&(a.yaxis=t.ya),void 0!==t.zLabelVal&&(a.z=t.zLabelVal)),r.appendArrayPointValue(a,e,i),a},r.appendArrayPointValue=function(t,e,r){var i=e._arrayAttrs;if(i)for(var s=0;s<i.length;s++){var l=i[s],c=a(l);if(void 0===t[c]){var u=o(n.nestedProperty(e,l).get(),r);void 0!==u&&(t[c]=u)}}},r.appendArrayMultiPointValues=function(t,e,r){var i=e._arrayAttrs;if(i)for(var s=0;s<i.length;s++){var l=i[s],c=a(l);if(void 0===t[c]){for(var u=n.nestedProperty(e,l).get(),f=new Array(r.length),h=0;h<r.length;h++)f[h]=o(u,r[h]);t[c]=f}}};var i={ids:"id",locations:"location",labels:"label",values:"value","marker.colors":"color",parents:"parent"};function a(t){return i[t]||t}function o(t,e){return Array.isArray(e)?Array.isArray(t)&&Array.isArray(t[e[0]])?t[e[0]][e[1]]:void 0:t[e]}var s={x:!0,y:!0},l={"x unified":!0,"y unified":!0};r.isUnifiedHover=function(t){return"string"==typeof t&&!!l[t]},r.isXYhover=function(t){return"string"==typeof t&&!!s[t]}},{"../../lib":778}],680:[function(t,e,r){"use strict";var n=t("d3"),i=t("fast-isnumeric"),a=t("tinycolor2"),o=t("../../lib"),s=o.strTranslate,l=o.strRotate,c=t("../../lib/events"),u=t("../../lib/svg_text_utils"),f=t("../../lib/override_cursor"),h=t("../drawing"),p=t("../color"),d=t("../dragelement"),g=t("../../plots/cartesian/axes"),m=t("../../registry"),v=t("./helpers"),y=t("./constants"),x=t("../legend/defaults"),b=t("../legend/draw"),_=y.YANGLE,w=Math.PI*_/180,T=1/Math.sin(w),k=Math.cos(w),M=Math.sin(w),A=y.HOVERARROWSIZE,S=y.HOVERTEXTPAD;function E(t){return[t.trace.index,t.index,t.x0,t.y0,t.name,t.attr,t.xa,t.ya||""].join(",")}r.hover=function(t,e,r,a){t=o.getGraphDiv(t),o.throttle(t._fullLayout._uid+y.HOVERID,y.HOVERMINTIME,(function(){!function(t,e,r,a){r||(r="xy");var s=Array.isArray(r)?r:[r],l=t._fullLayout,u=l._plots||[],h=u[r],g=l._has("cartesian");if(h){var y=h.overlays.map((function(t){return t.id}));s=s.concat(y)}for(var x=s.length,b=new Array(x),_=new Array(x),w=!1,k=0;k<x;k++){var M=s[k];if(u[M])w=!0,b[k]=u[M].xaxis,_[k]=u[M].yaxis;else{if(!l[M]||!l[M]._subplot)return void o.warn("Unrecognized subplot: "+M);var A=l[M]._subplot;b[k]=A.xaxis,_[k]=A.yaxis}}var S=e.hovermode||l.hovermode;S&&!w&&(S="closest");if(-1===["x","y","closest","x unified","y unified"].indexOf(S)||!t.calcdata||t.querySelector(".zoombox")||t._dragging)return d.unhoverRaw(t,e);var C,I,R,F,B,N,j,U,V,q,H,G,Y,W=-1===l.hoverdistance?1/0:l.hoverdistance,X=-1===l.spikedistance?1/0:l.spikedistance,Z=[],J=[],K={hLinePoint:null,vLinePoint:null},Q=!1;if(Array.isArray(e))for(S="array",R=0;R<e.length;R++)(B=t.calcdata[e[R].curveNumber||0])&&(N=B[0].trace,"skip"!==B[0].trace.hoverinfo&&(J.push(B),"h"===N.orientation&&(Q=!0)));else{for(F=0;F<t.calcdata.length;F++)B=t.calcdata[F],"skip"!==(N=B[0].trace).hoverinfo&&v.isTraceInSubplots(N,s)&&(J.push(B),"h"===N.orientation&&(Q=!0));var $,tt;if(!e.target)$="xpx"in e?e.xpx:b[0]._length/2,tt="ypx"in e?e.ypx:_[0]._length/2;else{if(!1===c.triggerHandler(t,"plotly_beforehover",e))return;var et=e.target.getBoundingClientRect();$=e.clientX-et.left,tt=e.clientY-et.top,l._calcInverseTransform(t);var rt=o.apply3DTransform(l._invTransform)($,tt);if($=rt[0],tt=rt[1],$<0||$>b[0]._length||tt<0||tt>_[0]._length)return d.unhoverRaw(t,e)}if(e.pointerX=$+b[0]._offset,e.pointerY=tt+_[0]._offset,C="xval"in e?v.flat(s,e.xval):v.p2c(b,$),I="yval"in e?v.flat(s,e.yval):v.p2c(_,tt),!i(C[0])||!i(I[0]))return o.warn("Fx.hover failed",e,t),d.unhoverRaw(t,e)}var nt=1/0;function it(t,r){for(F=0;F<J.length;F++)if((B=J[F])&&B[0]&&B[0].trace&&!0===(N=B[0].trace).visible&&0!==N._length&&-1===["carpet","contourcarpet"].indexOf(N._module.name)){if("splom"===N.type?j=s[U=0]:(j=v.getSubplot(N),U=s.indexOf(j)),V=S,v.isUnifiedHover(V)&&(V=V.charAt(0)),G={cd:B,trace:N,xa:b[U],ya:_[U],maxHoverDistance:W,maxSpikeDistance:X,index:!1,distance:Math.min(nt,W),spikeDistance:1/0,xSpike:void 0,ySpike:void 0,color:p.defaultLine,name:N.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},l[j]&&(G.subplot=l[j]._subplot),l._splomScenes&&l._splomScenes[N.uid]&&(G.scene=l._splomScenes[N.uid]),Y=Z.length,"array"===V){var n=e[F];"pointNumber"in n?(G.index=n.pointNumber,V="closest"):(V="","xval"in n&&(q=n.xval,V="x"),"yval"in n&&(H=n.yval,V=V?"closest":"y"))}else void 0!==t&&void 0!==r?(q=t,H=r):(q=C[U],H=I[U]);if(0!==W)if(N._module&&N._module.hoverPoints){var a=N._module.hoverPoints(G,q,H,V,l._hoverlayer);if(a)for(var c,u=0;u<a.length;u++)c=a[u],i(c.x0)&&i(c.y0)&&Z.push(z(c,S))}else o.log("Unrecognized trace type in hover:",N);if("closest"===S&&Z.length>Y&&(Z.splice(0,Y),nt=Z[0].distance),g&&0!==X&&0===Z.length){G.distance=X,G.index=!1;var f=N._module.hoverPoints(G,q,H,"closest",l._hoverlayer);if(f&&(f=f.filter((function(t){return t.spikeDistance<=X}))),f&&f.length){var h,d=f.filter((function(t){return t.xa.showspikes&&"hovered data"!==t.xa.spikesnap}));if(d.length){var m=d[0];i(m.x0)&&i(m.y0)&&(h=ot(m),(!K.vLinePoint||K.vLinePoint.spikeDistance>h.spikeDistance)&&(K.vLinePoint=h))}var y=f.filter((function(t){return t.ya.showspikes&&"hovered data"!==t.ya.spikesnap}));if(y.length){var x=y[0];i(x.x0)&&i(x.y0)&&(h=ot(x),(!K.hLinePoint||K.hLinePoint.spikeDistance>h.spikeDistance)&&(K.hLinePoint=h))}}}}}function at(t,e){for(var r,n=null,i=1/0,a=0;a<t.length;a++)(r=t[a].spikeDistance)<=i&&r<=e&&(n=t[a],i=r);return n}function ot(t){return t?{xa:t.xa,ya:t.ya,x:void 0!==t.xSpike?t.xSpike:(t.x0+t.x1)/2,y:void 0!==t.ySpike?t.ySpike:(t.y0+t.y1)/2,distance:t.distance,spikeDistance:t.spikeDistance,curveNumber:t.trace.index,color:t.color,pointNumber:t.index}:null}it();var st={fullLayout:l,container:l._hoverlayer,outerContainer:l._paperdiv,event:e},lt=t._spikepoints,ct={vLinePoint:K.vLinePoint,hLinePoint:K.hLinePoint};if(t._spikepoints=ct,g&&0!==X&&0!==Z.length){var ut=at(Z.filter((function(t){return t.ya.showspikes})),X);K.hLinePoint=ot(ut);var ft=at(Z.filter((function(t){return t.xa.showspikes})),X);K.vLinePoint=ot(ft)}if(0===Z.length){var ht=d.unhoverRaw(t,e);return!g||null===K.hLinePoint&&null===K.vLinePoint||D(lt)&&O(t,K,st),ht}g&&D(lt)&&O(t,K,st);if(Z.sort((function(t,e){return t.distance-e.distance})),v.isXYhover(V)&&0!==Z[0].length&&"splom"!==Z[0].trace.type){var pt=Z[0],dt=pt.cd[pt.index],gt="group"===l.boxmode||"group"===l.violinmode,mt=pt.xVal,vt=pt.xa;"category"===vt.type&&(mt=vt._categoriesMap[mt]),"date"===vt.type&&(mt=vt.d2c(mt)),dt&&dt.t&&dt.t.posLetter===vt._id&>&&(mt+=dt.t.dPos);var yt=pt.yVal;"category"===(vt=pt.ya).type&&(yt=vt._categoriesMap[yt]),"date"===vt.type&&(yt=vt.d2c(yt)),dt&&dt.t&&dt.t.posLetter===vt._id&>&&(yt+=dt.t.dPos),it(mt,yt);var xt={};Z=Z.filter((function(t){var e=E(t);if(!xt[e])return xt[e]=!0,xt[e]}))}var bt=t._hoverdata,_t=[];for(R=0;R<Z.length;R++){var wt=Z[R],Tt=v.makeEventData(wt,wt.trace,wt.cd);if(!1!==wt.hovertemplate){var kt=!1;wt.cd[wt.index]&&wt.cd[wt.index].ht&&(kt=wt.cd[wt.index].ht),wt.hovertemplate=kt||wt.trace.hovertemplate||!1}wt.eventData=[Tt],_t.push(Tt)}t._hoverdata=_t;var Mt="y"===S&&(J.length>1||Z.length>1)||"closest"===S&&Q&&Z.length>1,At=p.combine(l.plot_bgcolor||p.background,l.paper_bgcolor),St={hovermode:S,rotateLabels:Mt,bgColor:At,container:l._hoverlayer,outerContainer:l._paperdiv,commonLabelOpts:l.hoverlabel,hoverdistance:l.hoverdistance},Et=L(Z,St,t);v.isUnifiedHover(S)||(!function(t,e,r){var n,i,a,o,s,l,c,u=0,f=1,h=t.size(),p=new Array(h),d=0;function g(t){var e=t[0],r=t[t.length-1];if(i=e.pmin-e.pos-e.dp+e.size,a=r.pos+r.dp+r.size-e.pmax,i>.01){for(s=t.length-1;s>=0;s--)t[s].dp+=i;n=!1}if(!(a<.01)){if(i<-.01){for(s=t.length-1;s>=0;s--)t[s].dp-=a;n=!1}if(n){var c=0;for(o=0;o<t.length;o++)(l=t[o]).pos+l.dp+l.size>e.pmax&&c++;for(o=t.length-1;o>=0&&!(c<=0);o--)(l=t[o]).pos>e.pmax-1&&(l.del=!0,c--);for(o=0;o<t.length&&!(c<=0);o++)if((l=t[o]).pos<e.pmin+1)for(l.del=!0,c--,a=2*l.size,s=t.length-1;s>=0;s--)t[s].dp-=a;for(o=t.length-1;o>=0&&!(c<=0);o--)(l=t[o]).pos+l.dp+l.size>e.pmax&&(l.del=!0,c--)}}}t.each((function(t){var n=t[e],i="x"===n._id.charAt(0),a=n.range;0===d&&a&&a[0]>a[1]!==i&&(f=-1),p[d++]=[{datum:t,traceIndex:t.trace.index,dp:0,pos:t.pos,posref:t.posref,size:t.by*(i?T:1)/2,pmin:0,pmax:i?r.width:r.height}]})),p.sort((function(t,e){return t[0].posref-e[0].posref||f*(e[0].traceIndex-t[0].traceIndex)}));for(;!n&&u<=h;){for(u++,n=!0,o=0;o<p.length-1;){var m=p[o],v=p[o+1],y=m[m.length-1],x=v[0];if((i=y.pos+y.dp+y.size-x.pos-x.dp+x.size)>.01&&y.pmin===x.pmin&&y.pmax===x.pmax){for(s=v.length-1;s>=0;s--)v[s].dp+=i;for(m.push.apply(m,v),p.splice(o+1,1),c=0,s=m.length-1;s>=0;s--)c+=m[s].dp;for(a=c/m.length,s=m.length-1;s>=0;s--)m[s].dp-=a;n=!1}else o++}p.forEach(g)}for(o=p.length-1;o>=0;o--){var b=p[o];for(s=b.length-1;s>=0;s--){var _=b[s],w=_.datum;w.offset=_.dp,w.del=_.del}}}(Et,Mt?"xa":"ya",l),P(Et,Mt,l._invScaleX,l._invScaleY));if(e.target&&e.target.tagName){var Ct=m.getComponentMethod("annotations","hasClickToShow")(t,_t);f(n.select(e.target),Ct?"pointer":"")}if(!e.target||a||!function(t,e,r){if(!r||r.length!==t._hoverdata.length)return!0;for(var n=r.length-1;n>=0;n--){var i=r[n],a=t._hoverdata[n];if(i.curveNumber!==a.curveNumber||String(i.pointNumber)!==String(a.pointNumber)||String(i.pointNumbers)!==String(a.pointNumbers))return!0}return!1}(t,0,bt))return;bt&&t.emit("plotly_unhover",{event:e,points:bt});t.emit("plotly_hover",{event:e,points:t._hoverdata,xaxes:b,yaxes:_,xvals:C,yvals:I})}(t,e,r,a)}))},r.loneHover=function(t,e){var r=!0;Array.isArray(t)||(r=!1,t=[t]);var i=t.map((function(t){return{color:t.color||p.defaultLine,x0:t.x0||t.x||0,x1:t.x1||t.x||0,y0:t.y0||t.y||0,y1:t.y1||t.y||0,xLabel:t.xLabel,yLabel:t.yLabel,zLabel:t.zLabel,text:t.text,name:t.name,idealAlign:t.idealAlign,borderColor:t.borderColor,fontFamily:t.fontFamily,fontSize:t.fontSize,fontColor:t.fontColor,nameLength:t.nameLength,textAlign:t.textAlign,trace:t.trace||{index:0,hoverinfo:""},xa:{_offset:0},ya:{_offset:0},index:0,hovertemplate:t.hovertemplate||!1,eventData:t.eventData||!1,hovertemplateLabels:t.hovertemplateLabels||!1}})),a=n.select(e.container),o=e.outerContainer?n.select(e.outerContainer):a,s={hovermode:"closest",rotateLabels:!1,bgColor:e.bgColor||p.background,container:a,outerContainer:o},l=L(i,s,e.gd),c=0,u=0;l.sort((function(t,e){return t.y0-e.y0})).each((function(t,r){var n=t.y0-t.by/2;t.offset=n-5<c?c-n+5:0,c=n+t.by+t.offset,r===e.anchorIndex&&(u=t.offset)})).each((function(t){t.offset-=u}));var f=e.gd._fullLayout._invScaleX,h=e.gd._fullLayout._invScaleY;return P(l,s.rotateLabels,f,h),r?l:l.node()};var C=/<extra>([\s\S]*)<\/extra>/;function L(t,e,r){var i=r._fullLayout,a=e.hovermode,c=e.rotateLabels,f=e.bgColor,d=e.container,g=e.outerContainer,m=e.commonLabelOpts||{},w=e.fontFamily||y.HOVERFONT,T=e.fontSize||y.HOVERFONTSIZE,k=t[0],M=k.xa,C=k.ya,L="y"===a.charAt(0)?"yLabel":"xLabel",P=k[L],z=(String(P)||"").split(" ")[0],O=g.node().getBoundingClientRect(),D=O.top,R=O.width,F=O.height,B=void 0!==P&&k.distance<=e.hoverdistance&&("x"===a||"y"===a);if(B){var N,j,U=!0;for(N=0;N<t.length;N++)if(U&&void 0===t[N].zLabel&&(U=!1),j=t[N].hoverinfo||t[N].trace.hoverinfo){var V=Array.isArray(j)?j:j.split("+");if(-1===V.indexOf("all")&&-1===V.indexOf(a)){B=!1;break}}U&&(B=!1)}var q=d.selectAll("g.axistext").data(B?[0]:[]);function H(t){return t.filter((function(t){return void 0!==t.zLabelVal||(t[L]||"").split(" ")[0]===z}))}if(q.enter().append("g").classed("axistext",!0),q.exit().remove(),q.each((function(){var e=n.select(this),l=o.ensureSingle(e,"path","",(function(t){t.style({"stroke-width":"1px"})})),c=o.ensureSingle(e,"text","",(function(t){t.attr("data-notex",1)})),f=m.bgcolor||p.defaultLine,d=m.bordercolor||p.contrast(f),g=p.contrast(f),v={family:m.font.family||w,size:m.font.size||T,color:m.font.color||g};l.style({fill:f,stroke:d}),c.text(P).call(h.font,v).call(u.positionText,0,0).call(u.convertToTspans,r),e.attr("transform","");var y,x,b=c.node().getBoundingClientRect();if("x"===a){var _="top"===M.side?"-":"";c.attr("text-anchor","middle").call(u.positionText,0,"top"===M.side?D-b.bottom-A-S:D-b.top+A+S),y=M._offset+(k.x0+k.x1)/2,x=C._offset+("top"===M.side?0:C._length);var E=b.width/2+S;y<E?(y=E,l.attr("d","M-"+(E-A)+",0L-"+(E-2*A)+","+_+A+"H"+(S+b.width/2)+"v"+_+(2*S+b.height)+"H-"+E+"V"+_+A+"Z")):y>i.width-E?(y=i.width-E,l.attr("d","M"+(E-A)+",0L"+E+","+_+A+"v"+_+(2*S+b.height)+"H-"+E+"V"+_+A+"H"+(E-2*A)+"Z")):l.attr("d","M0,0L"+A+","+_+A+"H"+(S+b.width/2)+"v"+_+(2*S+b.height)+"H-"+(S+b.width/2)+"V"+_+A+"H-"+A+"Z")}else{var L,I,z;"right"===C.side?(L="start",I=1,z="",y=M._offset+M._length):(L="end",I=-1,z="-",y=M._offset),x=C._offset+(k.y0+k.y1)/2,c.attr("text-anchor",L),l.attr("d","M0,0L"+z+A+","+A+"V"+(S+b.height/2)+"h"+z+(2*S+b.width)+"V-"+(S+b.height/2)+"H"+z+A+"V-"+A+"Z");var O,R=b.height/2,F=D-b.top-R,B="clip"+i._uid+"commonlabel"+C._id;if(y<b.width+2*S+A){O="M-"+(A+S)+"-"+R+"h-"+(b.width-S)+"V"+R+"h"+(b.width-S)+"Z";var N=b.width-y+S;u.positionText(c,N,F),"end"===L&&c.selectAll("tspan").each((function(){var t=n.select(this),e=h.tester.append("text").text(t.text()).call(h.font,v),r=e.node().getBoundingClientRect();Math.round(r.width)<Math.round(b.width)&&t.attr("x",N-r.width),e.remove()}))}else u.positionText(c,I*(S+A),F),O=null;var j=i._topclips.selectAll("#"+B).data(O?[0]:[]);j.enter().append("clipPath").attr("id",B).append("path"),j.exit().remove(),j.select("path").attr("d",O),h.setClipUrl(c,O?B:null,r)}e.attr("transform",s(y,x)),t=H(t)})),v.isUnifiedHover(a)){if(d.selectAll("g.hovertext").remove(),void 0!==P&&k.distance<=e.hoverdistance&&(t=H(t)),0===t.length)return;var G={showlegend:!0,legend:{title:{text:P,font:i.hoverlabel.font},font:i.hoverlabel.font,bgcolor:i.hoverlabel.bgcolor,bordercolor:i.hoverlabel.bordercolor,borderwidth:1,tracegroupgap:7,traceorder:i.legend?i.legend.traceorder:void 0,orientation:"v"}},Y={};x(G,Y,r._fullData);var W=Y.legend;W.entries=[];for(var X=0;X<t.length;X++){var Z=I(t[X],!0,a,i,P),J=Z[0],K=Z[1],Q=t[X];Q.name=K,Q.text=""!==K?K+" : "+J:J;var $=Q.cd[Q.index];$&&($.mc&&(Q.mc=$.mc),$.mcc&&(Q.mc=$.mcc),$.mlc&&(Q.mlc=$.mlc),$.mlcc&&(Q.mlc=$.mlcc),$.mlw&&(Q.mlw=$.mlw),$.mrc&&(Q.mrc=$.mrc),$.dir&&(Q.dir=$.dir)),Q._distinct=!0,W.entries.push([Q])}W.entries.sort((function(t,e){return t[0].trace.index-e[0].trace.index})),W.layer=d,b(r,W);var tt=o.mean(t.map((function(t){return(t.y0+t.y1)/2}))),et=o.mean(t.map((function(t){return(t.x0+t.x1)/2}))),rt=d.select("g.legend"),nt=rt.node().getBoundingClientRect();et+=M._offset,tt+=C._offset-nt.height/2;var it=nt.width+2*S;!(et+it<=R)&&et-it>=0?et-=it:et+=2*S;var at=nt.height+2*S,ot=tt+at>=F;return at<=F&&(tt<=D?tt=C._offset+2*S:ot&&(tt=F-at)),rt.attr("transform",s(et,tt)),rt}var st=d.selectAll("g.hovertext").data(t,(function(t){return E(t)}));return st.enter().append("g").classed("hovertext",!0).each((function(){var t=n.select(this);t.append("rect").call(p.fill,p.addOpacity(f,.8)),t.append("text").classed("name",!0),t.append("path").style("stroke-width","1px"),t.append("text").classed("nums",!0).call(h.font,w,T)})),st.exit().remove(),st.each((function(t){var e=n.select(this).attr("transform",""),o=t.color;Array.isArray(o)&&(o=o[t.eventData[0].pointNumber]);var d=t.bgcolor||o,g=p.combine(p.opacity(d)?d:p.defaultLine,f),m=p.combine(p.opacity(o)?o:p.defaultLine,f),v=t.borderColor||p.contrast(g),y=I(t,B,a,i,P,e),x=y[0],b=y[1],k=e.select("text.nums").call(h.font,t.fontFamily||w,t.fontSize||T,t.fontColor||v).text(x).attr("data-notex",1).call(u.positionText,0,0).call(u.convertToTspans,r),M=e.select("text.name"),E=0,C=0;if(b&&b!==x){M.call(h.font,t.fontFamily||w,t.fontSize||T,m).text(b).attr("data-notex",1).call(u.positionText,0,0).call(u.convertToTspans,r);var L=M.node().getBoundingClientRect();E=L.width+2*S,C=L.height+2*S}else M.remove(),e.select("rect").remove();e.select("path").style({fill:g,stroke:v});var z,O,N=k.node().getBoundingClientRect(),j=t.xa._offset+(t.x0+t.x1)/2,U=t.ya._offset+(t.y0+t.y1)/2,V=Math.abs(t.x1-t.x0),q=Math.abs(t.y1-t.y0),H=N.width+A+S+E;if(t.ty0=D-N.top,t.bx=N.width+2*S,t.by=Math.max(N.height+2*S,C),t.anchor="start",t.txwidth=N.width,t.tx2width=E,t.offset=0,c)t.pos=j,z=U+q/2+H<=F,O=U-q/2-H>=0,"top"!==t.idealAlign&&z||!O?z?(U+=q/2,t.anchor="start"):t.anchor="middle":(U-=q/2,t.anchor="end");else if(t.pos=U,z=j+V/2+H<=R,O=j-V/2-H>=0,"left"!==t.idealAlign&&z||!O)if(z)j+=V/2,t.anchor="start";else{t.anchor="middle";var G=H/2,Y=j+G-R,W=j-G;Y>0&&(j-=Y),W<0&&(j+=-W)}else j-=V/2,t.anchor="end";k.attr("text-anchor",t.anchor),E&&M.attr("text-anchor",t.anchor),e.attr("transform",s(j,U)+(c?l(_):""))})),st}function I(t,e,r,n,i,a){var s="",l="";void 0!==t.nameOverride&&(t.name=t.nameOverride),t.name&&(t.trace._meta&&(t.name=o.templateString(t.name,t.trace._meta)),s=R(t.name,t.nameLength)),void 0!==t.zLabel?(void 0!==t.xLabel&&(l+="x: "+t.xLabel+"<br>"),void 0!==t.yLabel&&(l+="y: "+t.yLabel+"<br>"),"choropleth"!==t.trace.type&&"choroplethmapbox"!==t.trace.type&&(l+=(l?"z: ":"")+t.zLabel)):e&&t[r.charAt(0)+"Label"]===i?l=t[("x"===r.charAt(0)?"y":"x")+"Label"]||"":void 0===t.xLabel?void 0!==t.yLabel&&"scattercarpet"!==t.trace.type&&(l=t.yLabel):l=void 0===t.yLabel?t.xLabel:"("+t.xLabel+", "+t.yLabel+")",!t.text&&0!==t.text||Array.isArray(t.text)||(l+=(l?"<br>":"")+t.text),void 0!==t.extraText&&(l+=(l?"<br>":"")+t.extraText),a&&""===l&&!t.hovertemplate&&(""===s&&a.remove(),l=s);var c=n._d3locale,u=t.hovertemplate||!1,f=t.hovertemplateLabels||t,h=t.eventData[0]||{};return u&&(l=(l=o.hovertemplateString(u,f,c,h,t.trace._meta)).replace(C,(function(e,r){return s=R(r,t.nameLength),""}))),[l,s]}function P(t,e,r,i){var a=function(t){return t*r},o=function(t){return t*i};t.each((function(t){var r=n.select(this);if(t.del)return r.remove();var i=r.select("text.nums"),s=t.anchor,l="end"===s?-1:1,c={start:1,end:-1,middle:0}[s],f=c*(A+S),p=f+c*(t.txwidth+S),d=0,g=t.offset,m="middle"===s;m&&(f-=t.tx2width/2,p+=t.txwidth/2+S),e&&(g*=-M,d=t.offset*k),r.select("path").attr("d",m?"M-"+a(t.bx/2+t.tx2width/2)+","+o(g-t.by/2)+"h"+a(t.bx)+"v"+o(t.by)+"h-"+a(t.bx)+"Z":"M0,0L"+a(l*A+d)+","+o(A+g)+"v"+o(t.by/2-A)+"h"+a(l*t.bx)+"v-"+o(t.by)+"H"+a(l*A+d)+"V"+o(g-A)+"Z");var v=d+f,y=g+t.ty0-t.by/2+S,x=t.textAlign||"auto";"auto"!==x&&("left"===x&&"start"!==s?(i.attr("text-anchor","start"),v=m?-t.bx/2-t.tx2width/2+S:-t.bx-S):"right"===x&&"end"!==s&&(i.attr("text-anchor","end"),v=m?t.bx/2-t.tx2width/2-S:t.bx+S)),i.call(u.positionText,a(v),o(y)),t.tx2width&&(r.select("text.name").call(u.positionText,a(p+c*S+d),o(g+t.ty0-t.by/2+S)),r.select("rect").call(h.setRect,a(p+(c-1)*t.tx2width/2+d),o(g-t.by/2-1),a(t.tx2width),o(t.by+2)))}))}function z(t,e){var r=t.index,n=t.trace||{},a=t.cd[0],s=t.cd[r]||{};function l(t){return t||i(t)&&0===t}var c=Array.isArray(r)?function(t,e){var i=o.castOption(a,r,t);return l(i)?i:o.extractOption({},n,"",e)}:function(t,e){return o.extractOption(s,n,t,e)};function u(e,r,n){var i=c(r,n);l(i)&&(t[e]=i)}if(u("hoverinfo","hi","hoverinfo"),u("bgcolor","hbg","hoverlabel.bgcolor"),u("borderColor","hbc","hoverlabel.bordercolor"),u("fontFamily","htf","hoverlabel.font.family"),u("fontSize","hts","hoverlabel.font.size"),u("fontColor","htc","hoverlabel.font.color"),u("nameLength","hnl","hoverlabel.namelength"),u("textAlign","hta","hoverlabel.align"),t.posref="y"===e||"closest"===e&&"h"===n.orientation?t.xa._offset+(t.x0+t.x1)/2:t.ya._offset+(t.y0+t.y1)/2,t.x0=o.constrain(t.x0,0,t.xa._length),t.x1=o.constrain(t.x1,0,t.xa._length),t.y0=o.constrain(t.y0,0,t.ya._length),t.y1=o.constrain(t.y1,0,t.ya._length),void 0!==t.xLabelVal&&(t.xLabel="xLabel"in t?t.xLabel:g.hoverLabelText(t.xa,t.xLabelVal),t.xVal=t.xa.c2d(t.xLabelVal)),void 0!==t.yLabelVal&&(t.yLabel="yLabel"in t?t.yLabel:g.hoverLabelText(t.ya,t.yLabelVal),t.yVal=t.ya.c2d(t.yLabelVal)),void 0!==t.zLabelVal&&void 0===t.zLabel&&(t.zLabel=String(t.zLabelVal)),!(isNaN(t.xerr)||"log"===t.xa.type&&t.xerr<=0)){var f=g.tickText(t.xa,t.xa.c2l(t.xerr),"hover").text;void 0!==t.xerrneg?t.xLabel+=" +"+f+" / -"+g.tickText(t.xa,t.xa.c2l(t.xerrneg),"hover").text:t.xLabel+=" \xb1 "+f,"x"===e&&(t.distance+=1)}if(!(isNaN(t.yerr)||"log"===t.ya.type&&t.yerr<=0)){var h=g.tickText(t.ya,t.ya.c2l(t.yerr),"hover").text;void 0!==t.yerrneg?t.yLabel+=" +"+h+" / -"+g.tickText(t.ya,t.ya.c2l(t.yerrneg),"hover").text:t.yLabel+=" \xb1 "+h,"y"===e&&(t.distance+=1)}var p=t.hoverinfo||t.trace.hoverinfo;return p&&"all"!==p&&(-1===(p=Array.isArray(p)?p:p.split("+")).indexOf("x")&&(t.xLabel=void 0),-1===p.indexOf("y")&&(t.yLabel=void 0),-1===p.indexOf("z")&&(t.zLabel=void 0),-1===p.indexOf("text")&&(t.text=void 0),-1===p.indexOf("name")&&(t.name=void 0)),t}function O(t,e,r){var n,i,o=r.container,s=r.fullLayout,l=s._size,c=r.event,u=!!e.hLinePoint,f=!!e.vLinePoint;if(o.selectAll(".spikeline").remove(),f||u){var d=p.combine(s.plot_bgcolor,s.paper_bgcolor);if(u){var m,v,y=e.hLinePoint;n=y&&y.xa,"cursor"===(i=y&&y.ya).spikesnap?(m=c.pointerX,v=c.pointerY):(m=n._offset+y.x,v=i._offset+y.y);var x,b,_=a.readability(y.color,d)<1.5?p.contrast(d):y.color,w=i.spikemode,T=i.spikethickness,k=i.spikecolor||_,M=g.getPxPosition(t,i);if(-1!==w.indexOf("toaxis")||-1!==w.indexOf("across")){if(-1!==w.indexOf("toaxis")&&(x=M,b=m),-1!==w.indexOf("across")){var A=i._counterDomainMin,S=i._counterDomainMax;"free"===i.anchor&&(A=Math.min(A,i.position),S=Math.max(S,i.position)),x=l.l+A*l.w,b=l.l+S*l.w}o.insert("line",":first-child").attr({x1:x,x2:b,y1:v,y2:v,"stroke-width":T,stroke:k,"stroke-dasharray":h.dashStyle(i.spikedash,T)}).classed("spikeline",!0).classed("crisp",!0),o.insert("line",":first-child").attr({x1:x,x2:b,y1:v,y2:v,"stroke-width":T+2,stroke:d}).classed("spikeline",!0).classed("crisp",!0)}-1!==w.indexOf("marker")&&o.insert("circle",":first-child").attr({cx:M+("right"!==i.side?T:-T),cy:v,r:T,fill:k}).classed("spikeline",!0)}if(f){var E,C,L=e.vLinePoint;n=L&&L.xa,i=L&&L.ya,"cursor"===n.spikesnap?(E=c.pointerX,C=c.pointerY):(E=n._offset+L.x,C=i._offset+L.y);var I,P,z=a.readability(L.color,d)<1.5?p.contrast(d):L.color,O=n.spikemode,D=n.spikethickness,R=n.spikecolor||z,F=g.getPxPosition(t,n);if(-1!==O.indexOf("toaxis")||-1!==O.indexOf("across")){if(-1!==O.indexOf("toaxis")&&(I=F,P=C),-1!==O.indexOf("across")){var B=n._counterDomainMin,N=n._counterDomainMax;"free"===n.anchor&&(B=Math.min(B,n.position),N=Math.max(N,n.position)),I=l.t+(1-N)*l.h,P=l.t+(1-B)*l.h}o.insert("line",":first-child").attr({x1:E,x2:E,y1:I,y2:P,"stroke-width":D,stroke:R,"stroke-dasharray":h.dashStyle(n.spikedash,D)}).classed("spikeline",!0).classed("crisp",!0),o.insert("line",":first-child").attr({x1:E,x2:E,y1:I,y2:P,"stroke-width":D+2,stroke:d}).classed("spikeline",!0).classed("crisp",!0)}-1!==O.indexOf("marker")&&o.insert("circle",":first-child").attr({cx:E,cy:F-("top"!==n.side?D:-D),r:D,fill:R}).classed("spikeline",!0)}}}function D(t,e){return!e||(e.vLinePoint!==t._spikepoints.vLinePoint||e.hLinePoint!==t._spikepoints.hLinePoint)}function R(t,e){return u.plainText(t||"",{len:e,allowedTags:["br","sub","sup","b","i","em"]})}},{"../../lib":778,"../../lib/events":767,"../../lib/override_cursor":789,"../../lib/svg_text_utils":803,"../../plots/cartesian/axes":828,"../../registry":911,"../color":643,"../dragelement":662,"../drawing":665,"../legend/defaults":695,"../legend/draw":696,"./constants":677,"./helpers":679,d3:169,"fast-isnumeric":241,tinycolor2:576}],681:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../color"),a=t("./helpers").isUnifiedHover;e.exports=function(t,e,r,o){function s(t){o.font[t]||(o.font[t]=e.legend?e.legend.font[t]:e.font[t])}o=o||{},e&&a(e.hovermode)&&(o.font||(o.font={}),s("size"),s("family"),s("color"),e.legend?(o.bgcolor||(o.bgcolor=i.combine(e.legend.bgcolor,e.paper_bgcolor)),o.bordercolor||(o.bordercolor=e.legend.bordercolor)):o.bgcolor||(o.bgcolor=e.paper_bgcolor)),r("hoverlabel.bgcolor",o.bgcolor),r("hoverlabel.bordercolor",o.bordercolor),r("hoverlabel.namelength",o.namelength),n.coerceFont(r,"hoverlabel.font",o.font),r("hoverlabel.align",o.align)}},{"../../lib":778,"../color":643,"./helpers":679}],682:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./layout_attributes");e.exports=function(t,e,r){function a(r,a){return void 0!==e[r]?e[r]:n.coerce(t,e,i,r,a)}var o,s=a("clickmode");return e._has("cartesian")?s.indexOf("select")>-1?o="closest":(e._isHoriz=function(t,e){for(var r=e._scatterStackOpts||{},n=0;n<t.length;n++){var i=t[n],a=i.xaxis+i.yaxis,o=(r[a]||{})[i.stackgroup]||{};if("h"!==i.orientation&&"h"!==o.orientation)return!1}return!0}(r,e),o=e._isHoriz?"y":"x"):o="closest",a("hovermode",o)}},{"../../lib":778,"./layout_attributes":684}],683:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../lib"),a=t("../dragelement"),o=t("./helpers"),s=t("./layout_attributes"),l=t("./hover");e.exports={moduleType:"component",name:"fx",constants:t("./constants"),schema:{layout:s},attributes:t("./attributes"),layoutAttributes:s,supplyLayoutGlobalDefaults:t("./layout_global_defaults"),supplyDefaults:t("./defaults"),supplyLayoutDefaults:t("./layout_defaults"),calc:t("./calc"),getDistanceFunction:o.getDistanceFunction,getClosest:o.getClosest,inbox:o.inbox,quadrature:o.quadrature,appendArrayPointValue:o.appendArrayPointValue,castHoverOption:function(t,e,r){return i.castOption(t,e,"hoverlabel."+r)},castHoverinfo:function(t,e,r){return i.castOption(t,r,"hoverinfo",(function(r){return i.coerceHoverinfo({hoverinfo:r},{_module:t._module},e)}))},hover:l.hover,unhover:a.unhover,loneHover:l.loneHover,loneUnhover:function(t){var e=i.isD3Selection(t)?t:n.select(t);e.selectAll("g.hovertext").remove(),e.selectAll(".spikeline").remove()},click:t("./click")}},{"../../lib":778,"../dragelement":662,"./attributes":674,"./calc":675,"./click":676,"./constants":677,"./defaults":678,"./helpers":679,"./hover":680,"./layout_attributes":684,"./layout_defaults":685,"./layout_global_defaults":686,d3:169}],684:[function(t,e,r){"use strict";var n=t("./constants"),i=t("../../plots/font_attributes")({editType:"none"});i.family.dflt=n.HOVERFONT,i.size.dflt=n.HOVERFONTSIZE,e.exports={clickmode:{valType:"flaglist",flags:["event","select"],dflt:"event",editType:"plot",extras:["none"]},dragmode:{valType:"enumerated",values:["zoom","pan","select","lasso","drawclosedpath","drawopenpath","drawline","drawrect","drawcircle","orbit","turntable",!1],dflt:"zoom",editType:"modebar"},hovermode:{valType:"enumerated",values:["x","y","closest",!1,"x unified","y unified"],editType:"modebar"},hoverdistance:{valType:"integer",min:-1,dflt:20,editType:"none"},spikedistance:{valType:"integer",min:-1,dflt:20,editType:"none"},hoverlabel:{bgcolor:{valType:"color",editType:"none"},bordercolor:{valType:"color",editType:"none"},font:i,align:{valType:"enumerated",values:["left","right","auto"],dflt:"auto",editType:"none"},namelength:{valType:"integer",min:-1,dflt:15,editType:"none"},editType:"none"},selectdirection:{valType:"enumerated",values:["h","v","d","any"],dflt:"any",editType:"none"}}},{"../../plots/font_attributes":856,"./constants":677}],685:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./helpers").isUnifiedHover,a=t("./layout_attributes"),o=t("./hovermode_defaults"),s=t("./hoverlabel_defaults");e.exports=function(t,e,r){function l(r,i){return n.coerce(t,e,a,r,i)}var c=o(t,e,r);c&&(l("hoverdistance"),l("spikedistance",i(c)?-1:void 0)),"select"===l("dragmode")&&l("selectdirection");var u=e._has("mapbox"),f=e._has("geo"),h=e._basePlotModules.length;"zoom"===e.dragmode&&((u||f)&&1===h||u&&f&&2===h)&&(e.dragmode="pan"),s(t,e,l)}},{"../../lib":778,"./helpers":679,"./hoverlabel_defaults":681,"./hovermode_defaults":682,"./layout_attributes":684}],686:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./hoverlabel_defaults"),a=t("./layout_attributes");e.exports=function(t,e){i(t,e,(function(r,i){return n.coerce(t,e,a,r,i)}))}},{"../../lib":778,"./hoverlabel_defaults":681,"./layout_attributes":684}],687:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../lib/regex").counter,a=t("../../plots/domain").attributes,o=t("../../plots/cartesian/constants").idRegex,s=t("../../plot_api/plot_template"),l={rows:{valType:"integer",min:1,editType:"plot"},roworder:{valType:"enumerated",values:["top to bottom","bottom to top"],dflt:"top to bottom",editType:"plot"},columns:{valType:"integer",min:1,editType:"plot"},subplots:{valType:"info_array",freeLength:!0,dimensions:2,items:{valType:"enumerated",values:[i("xy").toString(),""],editType:"plot"},editType:"plot"},xaxes:{valType:"info_array",freeLength:!0,items:{valType:"enumerated",values:[o.x.toString(),""],editType:"plot"},editType:"plot"},yaxes:{valType:"info_array",freeLength:!0,items:{valType:"enumerated",values:[o.y.toString(),""],editType:"plot"},editType:"plot"},pattern:{valType:"enumerated",values:["independent","coupled"],dflt:"coupled",editType:"plot"},xgap:{valType:"number",min:0,max:1,editType:"plot"},ygap:{valType:"number",min:0,max:1,editType:"plot"},domain:a({name:"grid",editType:"plot",noGridCell:!0},{}),xside:{valType:"enumerated",values:["bottom","bottom plot","top plot","top"],dflt:"bottom plot",editType:"plot"},yside:{valType:"enumerated",values:["left","left plot","right plot","right"],dflt:"left plot",editType:"plot"},editType:"plot"};function c(t,e,r){var n=e[r+"axes"],i=Object.keys((t._splomAxes||{})[r]||{});return Array.isArray(n)?n:i.length?i:void 0}function u(t,e,r,n,i,a){var o=e(t+"gap",r),s=e("domain."+t);e(t+"side",n);for(var l=new Array(i),c=s[0],u=(s[1]-c)/(i-o),f=u*(1-o),h=0;h<i;h++){var p=c+u*h;l[a?i-1-h:h]=[p,p+f]}return l}function f(t,e,r,n,i){var a,o=new Array(r);function s(t,r){-1!==e.indexOf(r)&&void 0===n[r]?(o[t]=r,n[r]=t):o[t]=""}if(Array.isArray(t))for(a=0;a<r;a++)s(a,t[a]);else for(s(0,i),a=1;a<r;a++)s(a,i+(a+1));return o}e.exports={moduleType:"component",name:"grid",schema:{layout:{grid:l}},layoutAttributes:l,sizeDefaults:function(t,e){var r=t.grid||{},i=c(e,r,"x"),a=c(e,r,"y");if(t.grid||i||a){var o,f,h=Array.isArray(r.subplots)&&Array.isArray(r.subplots[0]),p=Array.isArray(i),d=Array.isArray(a),g=p&&i!==r.xaxes&&d&&a!==r.yaxes;h?(o=r.subplots.length,f=r.subplots[0].length):(d&&(o=a.length),p&&(f=i.length));var m=s.newContainer(e,"grid"),v=k("rows",o),y=k("columns",f);if(v*y>1){if(!h&&!p&&!d)"independent"===k("pattern")&&(h=!0);m._hasSubplotGrid=h;var x,b,_="top to bottom"===k("roworder"),w=h?.2:.1,T=h?.3:.1;g&&e._splomGridDflt&&(x=e._splomGridDflt.xside,b=e._splomGridDflt.yside),m._domains={x:u("x",k,w,x,y),y:u("y",k,T,b,v,_)}}else delete e.grid}function k(t,e){return n.coerce(r,m,l,t,e)}},contentDefaults:function(t,e){var r=e.grid;if(r&&r._domains){var n,i,a,o,s,l,u,h=t.grid||{},p=e._subplots,d=r._hasSubplotGrid,g=r.rows,m=r.columns,v="independent"===r.pattern,y=r._axisMap={};if(d){var x=h.subplots||[];l=r.subplots=new Array(g);var b=1;for(n=0;n<g;n++){var _=l[n]=new Array(m),w=x[n]||[];for(i=0;i<m;i++)if(v?(s=1===b?"xy":"x"+b+"y"+b,b++):s=w[i],_[i]="",-1!==p.cartesian.indexOf(s)){if(u=s.indexOf("y"),a=s.slice(0,u),o=s.slice(u),void 0!==y[a]&&y[a]!==i||void 0!==y[o]&&y[o]!==n)continue;_[i]=s,y[a]=i,y[o]=n}}}else{var T=c(e,h,"x"),k=c(e,h,"y");r.xaxes=f(T,p.xaxis,m,y,"x"),r.yaxes=f(k,p.yaxis,g,y,"y")}var M=r._anchors={},A="top to bottom"===r.roworder;for(var S in y){var E,C,L,I=S.charAt(0),P=r[I+"side"];if(P.length<8)M[S]="free";else if("x"===I){if("t"===P.charAt(0)===A?(E=0,C=1,L=g):(E=g-1,C=-1,L=-1),d){var z=y[S];for(n=E;n!==L;n+=C)if((s=l[n][z])&&(u=s.indexOf("y"),s.slice(0,u)===S)){M[S]=s.slice(u);break}}else for(n=E;n!==L;n+=C)if(o=r.yaxes[n],-1!==p.cartesian.indexOf(S+o)){M[S]=o;break}}else if("l"===P.charAt(0)?(E=0,C=1,L=m):(E=m-1,C=-1,L=-1),d){var O=y[S];for(n=E;n!==L;n+=C)if((s=l[O][n])&&(u=s.indexOf("y"),s.slice(u)===S)){M[S]=s.slice(0,u);break}}else for(n=E;n!==L;n+=C)if(a=r.xaxes[n],-1!==p.cartesian.indexOf(a+S)){M[S]=a;break}}}}}},{"../../lib":778,"../../lib/regex":795,"../../plot_api/plot_template":817,"../../plots/cartesian/constants":834,"../../plots/domain":855}],688:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/constants"),i=t("../../plot_api/plot_template").templatedArray;t("../../constants/axis_placeable_objects");e.exports=i("image",{visible:{valType:"boolean",dflt:!0,editType:"arraydraw"},source:{valType:"string",editType:"arraydraw"},layer:{valType:"enumerated",values:["below","above"],dflt:"above",editType:"arraydraw"},sizex:{valType:"number",dflt:0,editType:"arraydraw"},sizey:{valType:"number",dflt:0,editType:"arraydraw"},sizing:{valType:"enumerated",values:["fill","contain","stretch"],dflt:"contain",editType:"arraydraw"},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"arraydraw"},x:{valType:"any",dflt:0,editType:"arraydraw"},y:{valType:"any",dflt:0,editType:"arraydraw"},xanchor:{valType:"enumerated",values:["left","center","right"],dflt:"left",editType:"arraydraw"},yanchor:{valType:"enumerated",values:["top","middle","bottom"],dflt:"top",editType:"arraydraw"},xref:{valType:"enumerated",values:["paper",n.idRegex.x.toString()],dflt:"paper",editType:"arraydraw"},yref:{valType:"enumerated",values:["paper",n.idRegex.y.toString()],dflt:"paper",editType:"arraydraw"},editType:"arraydraw"})},{"../../constants/axis_placeable_objects":746,"../../plot_api/plot_template":817,"../../plots/cartesian/constants":834}],689:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../lib/to_log_range");e.exports=function(t,e,r,a){e=e||{};var o="log"===r&&"linear"===e.type,s="linear"===r&&"log"===e.type;if(o||s)for(var l,c,u=t._fullLayout.images,f=e._id.charAt(0),h=0;h<u.length;h++)if(c="images["+h+"].",(l=u[h])[f+"ref"]===e._id){var p=l[f],d=l["size"+f],g=null,m=null;if(o){g=i(p,e.range);var v=d/Math.pow(10,g)/2;m=2*Math.log(v+Math.sqrt(1+v*v))/Math.LN10}else m=(g=Math.pow(10,p))*(Math.pow(10,d/2)-Math.pow(10,-d/2));n(g)?n(m)||(m=null):(g=null,m=null),a(c+f,g),a(c+"size"+f,m)}}},{"../../lib/to_log_range":805,"fast-isnumeric":241}],690:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../plots/cartesian/axes"),a=t("../../plots/array_container_defaults"),o=t("./attributes");function s(t,e,r){function a(r,i){return n.coerce(t,e,o,r,i)}var s=a("source");if(!a("visible",!!s))return e;a("layer"),a("xanchor"),a("yanchor"),a("sizex"),a("sizey"),a("sizing"),a("opacity");for(var l={_fullLayout:r},c=["x","y"],u=0;u<2;u++){var f=c[u],h=i.coerceRef(t,e,l,f,"paper",void 0);if("paper"!==h)i.getFromId(l,h)._imgIndices.push(e._index);i.coercePosition(e,l,a,h,f,0)}return e}e.exports=function(t,e){a(t,e,{name:"images",handleItemDefaults:s})}},{"../../lib":778,"../../plots/array_container_defaults":823,"../../plots/cartesian/axes":828,"./attributes":688}],691:[function(t,e,r){"use strict";var n=t("d3"),i=t("../drawing"),a=t("../../plots/cartesian/axes"),o=t("../../plots/cartesian/axis_ids"),s=t("../../constants/xmlns_namespaces");e.exports=function(t){var e,r,l=t._fullLayout,c=[],u={},f=[];for(r=0;r<l.images.length;r++){var h=l.images[r];if(h.visible)if("below"===h.layer&&"paper"!==h.xref&&"paper"!==h.yref){e=o.ref2id(h.xref)+o.ref2id(h.yref);var p=l._plots[e];if(!p){f.push(h);continue}p.mainplot&&(e=p.mainplot.id),u[e]||(u[e]=[]),u[e].push(h)}else"above"===h.layer?c.push(h):f.push(h)}var d={left:{sizing:"xMin",offset:0},center:{sizing:"xMid",offset:-.5},right:{sizing:"xMax",offset:-1}},g={top:{sizing:"YMin",offset:0},middle:{sizing:"YMid",offset:-.5},bottom:{sizing:"YMax",offset:-1}};function m(e){var r=n.select(this);if(this._imgSrc!==e.source)if(r.attr("xmlns",s.svg),e.source&&"data:"===e.source.slice(0,5))r.attr("xlink:href",e.source),this._imgSrc=e.source;else{var i=new Promise(function(t){var n=new Image;function i(){r.remove(),t()}this.img=n,n.setAttribute("crossOrigin","anonymous"),n.onerror=i,n.onload=function(){var e=document.createElement("canvas");e.width=this.width,e.height=this.height,e.getContext("2d").drawImage(this,0,0);var n=e.toDataURL("image/png");r.attr("xlink:href",n),t()},r.on("error",i),n.src=e.source,this._imgSrc=e.source}.bind(this));t._promises.push(i)}}function v(e){var r,o,s=n.select(this),c=a.getFromId(t,e.xref),u=a.getFromId(t,e.yref),f="domain"===a.getRefType(e.xref),h="domain"===a.getRefType(e.yref),p=l._size;r=void 0!==c?"string"==typeof e.xref&&f?c._length*e.sizex:Math.abs(c.l2p(e.sizex)-c.l2p(0)):e.sizex*p.w,o=void 0!==u?"string"==typeof e.yref&&h?u._length*e.sizey:Math.abs(u.l2p(e.sizey)-u.l2p(0)):e.sizey*p.h;var m,v,y=r*d[e.xanchor].offset,x=o*g[e.yanchor].offset,b=d[e.xanchor].sizing+g[e.yanchor].sizing;switch(m=void 0!==c?"string"==typeof e.xref&&f?c._length*e.x+c._offset:c.r2p(e.x)+c._offset:e.x*p.w+p.l,m+=y,v=void 0!==u?"string"==typeof e.yref&&h?u._length*(1-e.y)+u._offset:u.r2p(e.y)+u._offset:p.h-e.y*p.h+p.t,v+=x,e.sizing){case"fill":b+=" slice";break;case"stretch":b="none"}s.attr({x:m,y:v,width:r,height:o,preserveAspectRatio:b,opacity:e.opacity});var _=(c&&"domain"!==a.getRefType(e.xref)?c._id:"")+(u&&"domain"!==a.getRefType(e.yref)?u._id:"");i.setClipUrl(s,_?"clip"+l._uid+_:null,t)}var y=l._imageLowerLayer.selectAll("image").data(f),x=l._imageUpperLayer.selectAll("image").data(c);y.enter().append("image"),x.enter().append("image"),y.exit().remove(),x.exit().remove(),y.each((function(t){m.bind(this)(t),v.bind(this)(t)})),x.each((function(t){m.bind(this)(t),v.bind(this)(t)}));var b=Object.keys(l._plots);for(r=0;r<b.length;r++){e=b[r];var _=l._plots[e];if(_.imagelayer){var w=_.imagelayer.selectAll("image").data(u[e]||[]);w.enter().append("image"),w.exit().remove(),w.each((function(t){m.bind(this)(t),v.bind(this)(t)}))}}}},{"../../constants/xmlns_namespaces":754,"../../plots/cartesian/axes":828,"../../plots/cartesian/axis_ids":831,"../drawing":665,d3:169}],692:[function(t,e,r){"use strict";e.exports={moduleType:"component",name:"images",layoutAttributes:t("./attributes"),supplyLayoutDefaults:t("./defaults"),includeBasePlot:t("../../plots/cartesian/include_components")("images"),draw:t("./draw"),convertCoords:t("./convert_coords")}},{"../../plots/cartesian/include_components":840,"./attributes":688,"./convert_coords":689,"./defaults":690,"./draw":691}],693:[function(t,e,r){"use strict";var n=t("../../plots/font_attributes"),i=t("../color/attributes");e.exports={bgcolor:{valType:"color",editType:"legend"},bordercolor:{valType:"color",dflt:i.defaultLine,editType:"legend"},borderwidth:{valType:"number",min:0,dflt:0,editType:"legend"},font:n({editType:"legend"}),orientation:{valType:"enumerated",values:["v","h"],dflt:"v",editType:"legend"},traceorder:{valType:"flaglist",flags:["reversed","grouped"],extras:["normal"],editType:"legend"},tracegroupgap:{valType:"number",min:0,dflt:10,editType:"legend"},itemsizing:{valType:"enumerated",values:["trace","constant"],dflt:"trace",editType:"legend"},itemwidth:{valType:"number",min:30,dflt:30,editType:"legend"},itemclick:{valType:"enumerated",values:["toggle","toggleothers",!1],dflt:"toggle",editType:"legend"},itemdoubleclick:{valType:"enumerated",values:["toggle","toggleothers",!1],dflt:"toggleothers",editType:"legend"},x:{valType:"number",min:-2,max:3,editType:"legend"},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"left",editType:"legend"},y:{valType:"number",min:-2,max:3,editType:"legend"},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],editType:"legend"},uirevision:{valType:"any",editType:"none"},valign:{valType:"enumerated",values:["top","middle","bottom"],dflt:"middle",editType:"legend"},title:{text:{valType:"string",dflt:"",editType:"legend"},font:n({editType:"legend"}),side:{valType:"enumerated",values:["top","left","top left"],editType:"legend"},editType:"legend"},editType:"legend"}},{"../../plots/font_attributes":856,"../color/attributes":642}],694:[function(t,e,r){"use strict";e.exports={scrollBarWidth:6,scrollBarMinHeight:20,scrollBarColor:"#808BA4",scrollBarMargin:4,scrollBarEnterAttrs:{rx:20,ry:3,width:0,height:0},titlePad:2,itemGap:5}},{}],695:[function(t,e,r){"use strict";var n=t("../../registry"),i=t("../../lib"),a=t("../../plot_api/plot_template"),o=t("./attributes"),s=t("../../plots/layout_attributes"),l=t("./helpers");e.exports=function(t,e,r){for(var c=t.legend||{},u=0,f=!1,h="normal",p=0;p<r.length;p++){var d=r[p];d.visible&&((d.showlegend||d._dfltShowLegend&&!(d._module&&d._module.attributes&&d._module.attributes.showlegend&&!1===d._module.attributes.showlegend.dflt))&&(u++,d.showlegend&&(f=!0,(n.traceIs(d,"pie-like")||!0===d._input.showlegend)&&u++)),(n.traceIs(d,"bar")&&"stack"===e.barmode||-1!==["tonextx","tonexty"].indexOf(d.fill))&&(h=l.isGrouped({traceorder:h})?"grouped+reversed":"reversed"),void 0!==d.legendgroup&&""!==d.legendgroup&&(h=l.isReversed({traceorder:h})?"reversed+grouped":"grouped"))}var g=i.coerce(t,e,s,"showlegend",f&&u>1);if(!1!==g||c.uirevision){var m=a.newContainer(e,"legend");if(_("uirevision",e.uirevision),!1!==g){_("bgcolor",e.paper_bgcolor),_("bordercolor"),_("borderwidth"),i.coerceFont(_,"font",e.font);var v,y,x,b=_("orientation");"h"===b?(v=0,n.getComponentMethod("rangeslider","isVisible")(t.xaxis)?(y=1.1,x="bottom"):(y=-.1,x="top")):(v=1.02,y=1,x="auto"),_("traceorder",h),l.isGrouped(e.legend)&&_("tracegroupgap"),_("itemsizing"),_("itemwidth"),_("itemclick"),_("itemdoubleclick"),_("x",v),_("xanchor"),_("y",y),_("yanchor",x),_("valign"),i.noneOrAll(c,m,["x","y"]),_("title.text")&&(_("title.side","h"===b?"left":"top"),i.coerceFont(_,"title.font",e.font))}}function _(t,e){return i.coerce(c,m,o,t,e)}}},{"../../lib":778,"../../plot_api/plot_template":817,"../../plots/layout_attributes":882,"../../registry":911,"./attributes":693,"./helpers":699}],696:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../lib"),a=t("../../plots/plots"),o=t("../../registry"),s=t("../../lib/events"),l=t("../dragelement"),c=t("../drawing"),u=t("../color"),f=t("../../lib/svg_text_utils"),h=t("./handle_click"),p=t("./constants"),d=t("../../constants/alignment"),g=d.LINE_SPACING,m=d.FROM_TL,v=d.FROM_BR,y=t("./get_legend_data"),x=t("./style"),b=t("./helpers");function _(t,e,r,n,i){var a=r.data()[0][0].trace,l={event:i,node:r.node(),curveNumber:a.index,expandedIndex:a._expandedIndex,data:t.data,layout:t.layout,frames:t._transitionData._frames,config:t._context,fullData:t._fullData,fullLayout:t._fullLayout};if(a._group&&(l.group=a._group),o.traceIs(a,"pie-like")&&(l.label=r.datum()[0].label),!1!==s.triggerHandler(t,"plotly_legendclick",l))if(1===n)e._clickTimeout=setTimeout((function(){h(r,t,n)}),t._context.doubleClickDelay);else if(2===n){e._clickTimeout&&clearTimeout(e._clickTimeout),t._legendMouseDownTime=0,!1!==s.triggerHandler(t,"plotly_legenddoubleclick",l)&&h(r,t,n)}}function w(t,e,r){var n,a=t.data()[0][0],s=a.trace,l=o.traceIs(s,"pie-like"),u=s.index,h=r._main&&e._context.edits.legendText&&!l,d=r._maxNameLength;r.entries?n=a.text:(n=l?a.label:s.name,s._meta&&(n=i.templateString(n,s._meta)));var g=i.ensureSingle(t,"text","legendtext");g.attr("text-anchor","start").call(c.font,r.font).text(h?T(n,d):n);var m=r.itemwidth+2*p.itemGap;f.positionText(g,m,0),h?g.call(f.makeEditable,{gd:e,text:n}).call(M,t,e,r).on("edit",(function(n){this.text(T(n,d)).call(M,t,e,r);var s=a.trace._fullInput||{},l={};if(o.hasTransform(s,"groupby")){var c=o.getTransformIndices(s,"groupby"),f=c[c.length-1],h=i.keyedContainer(s,"transforms["+f+"].styles","target","value.name");h.set(a.trace._group,n),l=h.constructUpdate()}else l.name=n;return o.call("_guiRestyle",e,l,u)})):M(g,t,e,r)}function T(t,e){var r=Math.max(4,e);if(t&&t.trim().length>=r/2)return t;for(var n=r-(t=t||"").length;n>0;n--)t+=" ";return t}function k(t,e){var r,a=e._context.doubleClickDelay,o=1,s=i.ensureSingle(t,"rect","legendtoggle",(function(t){e._context.staticPlot||t.style("cursor","pointer").attr("pointer-events","all"),t.call(u.fill,"rgba(0,0,0,0)")}));e._context.staticPlot||(s.on("mousedown",(function(){(r=(new Date).getTime())-e._legendMouseDownTime<a?o+=1:(o=1,e._legendMouseDownTime=r)})),s.on("mouseup",(function(){if(!e._dragged&&!e._editing){var r=e._fullLayout.legend;(new Date).getTime()-e._legendMouseDownTime>a&&(o=Math.max(o-1,1)),_(e,r,t,o,n.event)}})))}function M(t,e,r,n){n._main||t.attr("data-notex",!0),f.convertToTspans(t,r,(function(){!function(t,e,r){var n=t.data()[0][0];if(r._main&&n&&!n.trace.showlegend)return void t.remove();var i=t.select("g[class*=math-group]"),a=i.node();r||(r=e._fullLayout.legend);var o,s,l=r.borderwidth,u=(n?r:r.title).font.size*g;if(a){var h=c.bBox(a);o=h.height,s=h.width,n?c.setTranslate(i,0,.25*o):c.setTranslate(i,l,.75*o+l)}else{var d=t.select(n?".legendtext":".legendtitletext"),m=f.lineCount(d),v=d.node();o=u*m,s=v?c.bBox(v).width:0;var y=u*((m-1)/2-.3);if(n){var x=r.itemwidth+2*p.itemGap;f.positionText(d,x,-y)}else f.positionText(d,p.titlePad+l,u+l)}n?(n.lineHeight=u,n.height=Math.max(o,16)+3,n.width=s):(r._titleWidth=s,r._titleHeight=o)}(e,r,n)}))}function A(t){return i.isRightAnchor(t)?"right":i.isCenterAnchor(t)?"center":"left"}function S(t){return i.isBottomAnchor(t)?"bottom":i.isMiddleAnchor(t)?"middle":"top"}e.exports=function(t,e){var r,s=t._fullLayout,f="legend"+s._uid;if(e?(r=e.layer,f+="-hover"):((e=s.legend||{})._main=!0,r=s._infolayer),r){var h;if(t._legendMouseDownTime||(t._legendMouseDownTime=0),e._main){if(!t.calcdata)return;h=s.showlegend&&y(t.calcdata,e)}else{if(!e.entries)return;h=y(e.entries,e)}var d=s.hiddenlabels||[];if(e._main&&(!s.showlegend||!h.length))return r.selectAll(".legend").remove(),s._topdefs.select("#"+f).remove(),a.autoMargin(t,"legend");var g=i.ensureSingle(r,"g","legend",(function(t){e._main&&t.attr("pointer-events","all")})),T=i.ensureSingleById(s._topdefs,"clipPath",f,(function(t){t.append("rect")})),E=i.ensureSingle(g,"rect","bg",(function(t){t.attr("shape-rendering","crispEdges")}));E.call(u.stroke,e.bordercolor).call(u.fill,e.bgcolor).style("stroke-width",e.borderwidth+"px");var C=i.ensureSingle(g,"g","scrollbox"),L=e.title;if(e._titleWidth=0,e._titleHeight=0,L.text){var I=i.ensureSingle(C,"text","legendtitletext");I.attr("text-anchor","start").call(c.font,L.font).text(L.text),M(I,C,t,e)}else C.selectAll(".legendtitletext").remove();var P=i.ensureSingle(g,"rect","scrollbar",(function(t){t.attr(p.scrollBarEnterAttrs).call(u.fill,p.scrollBarColor)})),z=C.selectAll("g.groups").data(h);z.enter().append("g").attr("class","groups"),z.exit().remove();var O=z.selectAll("g.traces").data(i.identity);O.enter().append("g").attr("class","traces"),O.exit().remove(),O.style("opacity",(function(t){var e=t[0].trace;return o.traceIs(e,"pie-like")?-1!==d.indexOf(t[0].label)?.5:1:"legendonly"===e.visible?.5:1})).each((function(){n.select(this).call(w,t,e)})).call(x,t,e).each((function(){e._main&&n.select(this).call(k,t)})),i.syncOrAsync([a.previousPromises,function(){return function(t,e,r,i){var a=t._fullLayout;i||(i=a.legend);var o=a._size,s=b.isVertical(i),l=b.isGrouped(i),u=i.borderwidth,f=2*u,h=p.itemGap,d=i.itemwidth+2*h,g=2*(u+h),m=S(i),v=i.y<0||0===i.y&&"top"===m,y=i.y>1||1===i.y&&"bottom"===m;i._maxHeight=Math.max(v||y?a.height/2:o.h,30);var x=0;i._width=0,i._height=0;var _=function(t){var e=0,r=0,n=t.title.side;n&&(-1!==n.indexOf("left")&&(e=t._titleWidth),-1!==n.indexOf("top")&&(r=t._titleHeight));return[e,r]}(i);if(s)r.each((function(t){var e=t[0].height;c.setTranslate(this,u+_[0],u+_[1]+i._height+e/2+h),i._height+=e,i._width=Math.max(i._width,t[0].width)})),x=d+i._width,i._width+=h+d+f,i._height+=g,l&&(e.each((function(t,e){c.setTranslate(this,0,e*i.tracegroupgap)})),i._height+=(i._lgroupsLength-1)*i.tracegroupgap);else{var w=A(i),T=i.x<0||0===i.x&&"right"===w,k=i.x>1||1===i.x&&"left"===w,M=y||v,E=a.width/2;i._maxWidth=Math.max(T?M&&"left"===w?o.l+o.w:E:k?M&&"right"===w?o.r+o.w:E:o.w,2*d);var C=0,L=0;r.each((function(t){var e=t[0].width+d;C=Math.max(C,e),L+=e})),x=null;var I=0;if(l){var P=0,z=0,O=0;e.each((function(){var t=0,e=0;n.select(this).selectAll("g.traces").each((function(r){var n=r[0].height;c.setTranslate(this,_[0],_[1]+u+h+n/2+e),e+=n,t=Math.max(t,d+r[0].width)})),P=Math.max(P,e);var r=t+h;r+u+z>i._maxWidth&&(I=Math.max(I,z),z=0,O+=P+i.tracegroupgap,P=e),c.setTranslate(this,z,O),z+=r})),i._width=Math.max(I,z)+u,i._height=O+P+g}else{var D=r.size(),R=L+f+(D-1)*h<i._maxWidth,F=0,B=0,N=0,j=0;r.each((function(t){var e=t[0].height,r=d+t[0].width,n=(R?r:C)+h;n+u+B-h>=i._maxWidth&&(I=Math.max(I,j),B=0,N+=F,i._height+=F,F=0),c.setTranslate(this,_[0]+u+B,_[1]+u+N+e/2+h),j=B+r+h,B+=n,F=Math.max(F,e)})),R?(i._width=B+f,i._height=F+g):(i._width=Math.max(I,j)+f,i._height+=F+g)}}i._width=Math.ceil(Math.max(i._width+_[0],i._titleWidth+2*(u+p.titlePad))),i._height=Math.ceil(Math.max(i._height+_[1],i._titleHeight+2*(u+p.itemGap))),i._effHeight=Math.min(i._height,i._maxHeight);var U=t._context.edits,V=U.legendText||U.legendPosition;r.each((function(t){var e=n.select(this).select(".legendtoggle"),r=t[0].height,i=V?d:x||d+t[0].width;s||(i+=h/2),c.setRect(e,0,-r/2,i,r)}))}(t,z,O,e)},function(){if(!e._main||!function(t){var e=t._fullLayout.legend,r=A(e),n=S(e);return a.autoMargin(t,"legend",{x:e.x,y:e.y,l:e._width*m[r],r:e._width*v[r],b:e._effHeight*v[n],t:e._effHeight*m[n]})}(t)){var u,h,d,y,x=s._size,b=e.borderwidth,w=x.l+x.w*e.x-m[A(e)]*e._width,k=x.t+x.h*(1-e.y)-m[S(e)]*e._effHeight;if(e._main&&s.margin.autoexpand){var M=w,L=k;w=i.constrain(w,0,s.width-e._width),k=i.constrain(k,0,s.height-e._effHeight),w!==M&&i.log("Constrain legend.x to make legend fit inside graph"),k!==L&&i.log("Constrain legend.y to make legend fit inside graph")}if(e._main&&c.setTranslate(g,w,k),P.on(".drag",null),g.on("wheel",null),!e._main||e._height<=e._maxHeight||t._context.staticPlot){var I=e._effHeight;e._main||(I=e._height),E.attr({width:e._width-b,height:I-b,x:b/2,y:b/2}),c.setTranslate(C,0,0),T.select("rect").attr({width:e._width-2*b,height:I-2*b,x:b,y:b}),c.setClipUrl(C,f,t),c.setRect(P,0,0,0,0),delete e._scrollY}else{var z,O,D,R=Math.max(p.scrollBarMinHeight,e._effHeight*e._effHeight/e._height),F=e._effHeight-R-2*p.scrollBarMargin,B=e._height-e._effHeight,N=F/B,j=Math.min(e._scrollY||0,B);E.attr({width:e._width-2*b+p.scrollBarWidth+p.scrollBarMargin,height:e._effHeight-b,x:b/2,y:b/2}),T.select("rect").attr({width:e._width-2*b+p.scrollBarWidth+p.scrollBarMargin,height:e._effHeight-2*b,x:b,y:b+j}),c.setClipUrl(C,f,t),q(j,R,N),g.on("wheel",(function(){q(j=i.constrain(e._scrollY+n.event.deltaY/F*B,0,B),R,N),0!==j&&j!==B&&n.event.preventDefault()}));var U=n.behavior.drag().on("dragstart",(function(){var t=n.event.sourceEvent;z="touchstart"===t.type?t.changedTouches[0].clientY:t.clientY,D=j})).on("drag",(function(){var t=n.event.sourceEvent;2===t.buttons||t.ctrlKey||(O="touchmove"===t.type?t.changedTouches[0].clientY:t.clientY,q(j=function(t,e,r){var n=(r-e)/N+t;return i.constrain(n,0,B)}(D,z,O),R,N))}));P.call(U);var V=n.behavior.drag().on("dragstart",(function(){var t=n.event.sourceEvent;"touchstart"===t.type&&(z=t.changedTouches[0].clientY,D=j)})).on("drag",(function(){var t=n.event.sourceEvent;"touchmove"===t.type&&(O=t.changedTouches[0].clientY,q(j=function(t,e,r){var n=(e-r)/N+t;return i.constrain(n,0,B)}(D,z,O),R,N))}));C.call(V)}if(t._context.edits.legendPosition)g.classed("cursor-move",!0),l.init({element:g.node(),gd:t,prepFn:function(){var t=c.getTranslate(g);d=t.x,y=t.y},moveFn:function(t,r){var n=d+t,i=y+r;c.setTranslate(g,n,i),u=l.align(n,0,x.l,x.l+x.w,e.xanchor),h=l.align(i,0,x.t+x.h,x.t,e.yanchor)},doneFn:function(){void 0!==u&&void 0!==h&&o.call("_guiRelayout",t,{"legend.x":u,"legend.y":h})},clickFn:function(e,n){var i=r.selectAll("g.traces").filter((function(){var t=this.getBoundingClientRect();return n.clientX>=t.left&&n.clientX<=t.right&&n.clientY>=t.top&&n.clientY<=t.bottom}));i.size()>0&&_(t,g,i,e,n)}})}function q(r,n,i){e._scrollY=t._fullLayout.legend._scrollY=r,c.setTranslate(C,0,-r),c.setRect(P,e._width,p.scrollBarMargin+r*i,p.scrollBarWidth,n),T.select("rect").attr("y",b+r)}}],t)}}},{"../../constants/alignment":745,"../../lib":778,"../../lib/events":767,"../../lib/svg_text_utils":803,"../../plots/plots":891,"../../registry":911,"../color":643,"../dragelement":662,"../drawing":665,"./constants":694,"./get_legend_data":697,"./handle_click":698,"./helpers":699,"./style":701,d3:169}],697:[function(t,e,r){"use strict";var n=t("../../registry"),i=t("./helpers");e.exports=function(t,e){var r,a,o={},s=[],l=!1,c={},u=0,f=0,h=e._main;function p(t,r){if(""!==t&&i.isGrouped(e))-1===s.indexOf(t)?(s.push(t),l=!0,o[t]=[[r]]):o[t].push([r]);else{var n="~~i"+u;s.push(n),o[n]=[[r]],u++}}for(r=0;r<t.length;r++){var d=t[r],g=d[0],m=g.trace,v=m.legendgroup;if(!h||m.visible&&m.showlegend)if(n.traceIs(m,"pie-like"))for(c[v]||(c[v]={}),a=0;a<d.length;a++){var y=d[a].label;c[v][y]||(p(v,{label:y,color:d[a].color,i:d[a].i,trace:m,pts:d[a].pts}),c[v][y]=!0,f=Math.max(f,(y||"").length))}else p(v,g),f=Math.max(f,(m.name||"").length)}if(!s.length)return[];var x,b,_=s.length;if(l&&i.isGrouped(e))for(b=new Array(_),r=0;r<_;r++)x=o[s[r]],b[r]=i.isReversed(e)?x.reverse():x;else{for(b=[new Array(_)],r=0;r<_;r++)x=o[s[r]][0],b[0][i.isReversed(e)?_-r-1:r]=x;_=1}return e._lgroupsLength=_,e._maxNameLength=f,b}},{"../../registry":911,"./helpers":699}],698:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../registry"),a=!0;e.exports=function(t,e,r){var o=e._fullLayout;if(!e._dragged&&!e._editing){var s,l=o.legend.itemclick,c=o.legend.itemdoubleclick;if(1===r&&"toggle"===l&&"toggleothers"===c&&a&&e.data&&e._context.showTips?(n.notifier(n._(e,"Double-click on legend to isolate one trace"),"long"),a=!1):a=!1,1===r?s=l:2===r&&(s=c),s){var u,f,h,p,d,g=o.hiddenlabels?o.hiddenlabels.slice():[],m=t.data()[0][0],v=e._fullData,y=m.trace,x=y.legendgroup,b={},_=[],w=[],T=[];if(i.traceIs(y,"pie-like")){var k=m.label,M=g.indexOf(k);"toggle"===s?-1===M?g.push(k):g.splice(M,1):"toggleothers"===s&&(g=[],e.calcdata[0].forEach((function(t){k!==t.label&&g.push(t.label)})),e._fullLayout.hiddenlabels&&e._fullLayout.hiddenlabels.length===g.length&&-1===M&&(g=[])),i.call("_guiRelayout",e,"hiddenlabels",g)}else{var A,S=x&&x.length,E=[];if(S)for(u=0;u<v.length;u++)(A=v[u]).visible&&A.legendgroup===x&&E.push(u);if("toggle"===s){var C;switch(y.visible){case!0:C="legendonly";break;case!1:C=!1;break;case"legendonly":C=!0}if(S)for(u=0;u<v.length;u++)!1!==v[u].visible&&v[u].legendgroup===x&&B(v[u],C);else B(y,C)}else if("toggleothers"===s){var L,I,P,z,O=!0;for(u=0;u<v.length;u++)if(L=v[u]===y,P=!0!==v[u].showlegend,!(L||P||(I=S&&v[u].legendgroup===x)||!0!==v[u].visible||i.traceIs(v[u],"notLegendIsolatable"))){O=!1;break}for(u=0;u<v.length;u++)if(!1!==v[u].visible&&!i.traceIs(v[u],"notLegendIsolatable"))switch(y.visible){case"legendonly":B(v[u],!0);break;case!0:z=!!O||"legendonly",L=v[u]===y,P=!0!==v[u].showlegend&&!v[u].legendgroup,I=L||S&&v[u].legendgroup===x,B(v[u],!(!I&&!P)||z)}}for(u=0;u<w.length;u++)if(h=w[u]){var D=h.constructUpdate(),R=Object.keys(D);for(f=0;f<R.length;f++)p=R[f],(b[p]=b[p]||[])[T[u]]=D[p]}for(d=Object.keys(b),u=0;u<d.length;u++)for(p=d[u],f=0;f<_.length;f++)b[p].hasOwnProperty(f)||(b[p][f]=void 0);i.call("_guiRestyle",e,b,_)}}}function F(t,e,r){var n=_.indexOf(t),i=b[e];return i||(i=b[e]=[]),-1===_.indexOf(t)&&(_.push(t),n=_.length-1),i[n]=r,n}function B(t,e){var r=t._fullInput;if(i.hasTransform(r,"groupby")){var a=w[r.index];if(!a){var o=i.getTransformIndices(r,"groupby"),s=o[o.length-1];a=n.keyedContainer(r,"transforms["+s+"].styles","target","value.visible"),w[r.index]=a}var l=a.get(t._group);void 0===l&&(l=!0),!1!==l&&a.set(t._group,e),T[r.index]=F(r.index,"visible",!1!==r.visible)}else{var c=!1!==r.visible&&e;F(r.index,"visible",c)}}}},{"../../lib":778,"../../registry":911}],699:[function(t,e,r){"use strict";r.isGrouped=function(t){return-1!==(t.traceorder||"").indexOf("grouped")},r.isVertical=function(t){return"h"!==t.orientation},r.isReversed=function(t){return-1!==(t.traceorder||"").indexOf("reversed")}},{}],700:[function(t,e,r){"use strict";e.exports={moduleType:"component",name:"legend",layoutAttributes:t("./attributes"),supplyLayoutDefaults:t("./defaults"),draw:t("./draw"),style:t("./style")}},{"./attributes":693,"./defaults":695,"./draw":696,"./style":701}],701:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../registry"),a=t("../../lib"),o=a.strTranslate,s=t("../drawing"),l=t("../color"),c=t("../colorscale/helpers").extractOpts,u=t("../../traces/scatter/subtypes"),f=t("../../traces/pie/style_one"),h=t("../../traces/pie/helpers").castOption,p=t("./constants");function d(t,e){return(e?"radial":"horizontal")+(t?"":"reversed")}e.exports=function(t,e,r){var g=e._fullLayout;r||(r=g.legend);var m="constant"===r.itemsizing,v=r.itemwidth,y=(v+2*p.itemGap)/2,x=o(y,0),b=function(t,e,r,n){var i;if(t+1)i=t;else{if(!(e&&e.width>0))return 0;i=e.width}return m?n:Math.min(i,r)};function _(t,e,r){var a=t[0].trace,o=a.marker||{},s=o.line||{},c=r?a.visible&&a.type===r:i.traceIs(a,"bar"),u=n.select(e).select("g.legendpoints").selectAll("path.legend"+r).data(c?[t]:[]);u.enter().append("path").classed("legend"+r,!0).attr("d","M6,6H-6V-6H6Z").attr("transform",x),u.exit().remove(),u.each((function(t){var e=n.select(this),r=t[0],i=b(r.mlw,o.line,5,2);e.style("stroke-width",i+"px").call(l.fill,r.mc||o.color),i&&l.stroke(e,r.mlc||s.color)}))}function w(t,e,r){var o=t[0],s=o.trace,l=r?s.visible&&s.type===r:i.traceIs(s,r),c=n.select(e).select("g.legendpoints").selectAll("path.legend"+r).data(l?[t]:[]);if(c.enter().append("path").classed("legend"+r,!0).attr("d","M6,6H-6V-6H6Z").attr("transform",x),c.exit().remove(),c.size()){var u=(s.marker||{}).line,p=b(h(u.width,o.pts),u,5,2),d=a.minExtend(s,{marker:{line:{width:p}}});d.marker.line.color=u.color;var g=a.minExtend(o,{trace:d});f(c,g,d)}}t.each((function(t){var e=n.select(this),i=a.ensureSingle(e,"g","layers");i.style("opacity",t[0].trace.opacity);var s=r.valign,l=t[0].lineHeight,c=t[0].height;if("middle"!==s&&l&&c){var u={top:1,bottom:-1}[s]*(.5*(l-c+3));i.attr("transform",o(0,u))}else i.attr("transform",null);i.selectAll("g.legendfill").data([t]).enter().append("g").classed("legendfill",!0),i.selectAll("g.legendlines").data([t]).enter().append("g").classed("legendlines",!0);var f=i.selectAll("g.legendsymbols").data([t]);f.enter().append("g").classed("legendsymbols",!0),f.selectAll("g.legendpoints").data([t]).enter().append("g").classed("legendpoints",!0)})).each((function(t){var r,i=t[0].trace,o=[];if(i.visible)switch(i.type){case"histogram2d":case"heatmap":o=[["M-15,-2V4H15V-2Z"]],r=!0;break;case"choropleth":case"choroplethmapbox":o=[["M-6,-6V6H6V-6Z"]],r=!0;break;case"densitymapbox":o=[["M-6,0 a6,6 0 1,0 12,0 a 6,6 0 1,0 -12,0"]],r="radial";break;case"cone":o=[["M-6,2 A2,2 0 0,0 -6,6 V6L6,4Z"],["M-6,-6 A2,2 0 0,0 -6,-2 L6,-4Z"],["M-6,-2 A2,2 0 0,0 -6,2 L6,0Z"]],r=!1;break;case"streamtube":o=[["M-6,2 A2,2 0 0,0 -6,6 H6 A2,2 0 0,1 6,2 Z"],["M-6,-6 A2,2 0 0,0 -6,-2 H6 A2,2 0 0,1 6,-6 Z"],["M-6,-2 A2,2 0 0,0 -6,2 H6 A2,2 0 0,1 6,-2 Z"]],r=!1;break;case"surface":o=[["M-6,-6 A2,3 0 0,0 -6,0 H6 A2,3 0 0,1 6,-6 Z"],["M-6,1 A2,3 0 0,1 -6,6 H6 A2,3 0 0,0 6,0 Z"]],r=!0;break;case"mesh3d":o=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6H6L0,6Z"]],r=!1;break;case"volume":o=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6H6L0,6Z"]],r=!0;break;case"isosurface":o=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6 A12,24 0 0,0 6,-6 L0,6Z"]],r=!1}var u=n.select(this).select("g.legendpoints").selectAll("path.legend3dandfriends").data(o);u.enter().append("path").classed("legend3dandfriends",!0).attr("transform",x).style("stroke-miterlimit",1),u.exit().remove(),u.each((function(t,o){var u,f=n.select(this),h=c(i),p=h.colorscale,g=h.reversescale;if(p){if(!r){var m=p.length;u=0===o?p[g?m-1:0][1]:1===o?p[g?0:m-1][1]:p[Math.floor((m-1)/2)][1]}}else{var v=i.vertexcolor||i.facecolor||i.color;u=a.isArrayOrTypedArray(v)?v[o]||v[0]:v}f.attr("d",t[0]),u?f.call(l.fill,u):f.call((function(t){if(t.size()){var n="legendfill-"+i.uid;s.gradient(t,e,n,d(g,"radial"===r),p,"fill")}}))}))})).each((function(t){var e=t[0].trace,r="waterfall"===e.type;if(t[0]._distinct&&r){var i=t[0].trace[t[0].dir].marker;return t[0].mc=i.color,t[0].mlw=i.line.width,t[0].mlc=i.line.color,_(t,this,"waterfall")}var a=[];e.visible&&r&&(a=t[0].hasTotals?[["increasing","M-6,-6V6H0Z"],["totals","M6,6H0L-6,-6H-0Z"],["decreasing","M6,6V-6H0Z"]]:[["increasing","M-6,-6V6H6Z"],["decreasing","M6,6V-6H-6Z"]]);var o=n.select(this).select("g.legendpoints").selectAll("path.legendwaterfall").data(a);o.enter().append("path").classed("legendwaterfall",!0).attr("transform",x).style("stroke-miterlimit",1),o.exit().remove(),o.each((function(t){var r=n.select(this),i=e[t[0]].marker,a=b(void 0,i.line,5,2);r.attr("d",t[1]).style("stroke-width",a+"px").call(l.fill,i.color),a&&r.call(l.stroke,i.line.color)}))})).each((function(t){_(t,this,"funnel")})).each((function(t){_(t,this)})).each((function(t){var r=t[0].trace,o=n.select(this).select("g.legendpoints").selectAll("path.legendbox").data(r.visible&&i.traceIs(r,"box-violin")?[t]:[]);o.enter().append("path").classed("legendbox",!0).attr("d","M6,6H-6V-6H6Z").attr("transform",x),o.exit().remove(),o.each((function(){var t=n.select(this);if("all"!==r.boxpoints&&"all"!==r.points||0!==l.opacity(r.fillcolor)||0!==l.opacity((r.line||{}).color)){var i=b(void 0,r.line,5,2);t.style("stroke-width",i+"px").call(l.fill,r.fillcolor),i&&l.stroke(t,r.line.color)}else{var c=a.minExtend(r,{marker:{size:m?12:a.constrain(r.marker.size,2,16),sizeref:1,sizemin:1,sizemode:"diameter"}});o.call(s.pointStyle,c,e)}}))})).each((function(t){w(t,this,"funnelarea")})).each((function(t){w(t,this,"pie")})).each((function(t){var r,i,o=t[0],l=o.trace,f=l.visible&&l.fill&&"none"!==l.fill,h=u.hasLines(l),p=l.contours,g=!1,m=!1,y=c(l),x=y.colorscale,_=y.reversescale;if(p){var w=p.coloring;"lines"===w?g=!0:h="none"===w||"heatmap"===w||p.showlines,"constraint"===p.type?f="="!==p._operation:"fill"!==w&&"heatmap"!==w||(m=!0)}var T=u.hasMarkers(l)||u.hasText(l),k=f||m,M=h||g,A=T||!k?"M5,0":M?"M5,-2":"M5,-3",S=n.select(this),E=S.select(".legendfill").selectAll("path").data(f||m?[t]:[]);if(E.enter().append("path").classed("js-fill",!0),E.exit().remove(),E.attr("d",A+"h"+v+"v6h-"+v+"z").call(f?s.fillGroupStyle:function(t){if(t.size()){var r="legendfill-"+l.uid;s.gradient(t,e,r,d(_),x,"fill")}}),h||g){var C=b(void 0,l.line,10,5);i=a.minExtend(l,{line:{width:C}}),r=[a.minExtend(o,{trace:i})]}var L=S.select(".legendlines").selectAll("path").data(h||g?[r]:[]);L.enter().append("path").classed("js-line",!0),L.exit().remove(),L.attr("d",A+(g?"l"+v+",0.0001":"h"+v)).call(h?s.lineGroupStyle:function(t){if(t.size()){var r="legendline-"+l.uid;s.lineGroupStyle(t),s.gradient(t,e,r,d(_),x,"stroke")}})})).each((function(t){var r,i,o=t[0],l=o.trace,c=u.hasMarkers(l),f=u.hasText(l),h=u.hasLines(l);function p(t,e,r,n){var i=a.nestedProperty(l,t).get(),o=a.isArrayOrTypedArray(i)&&e?e(i):i;if(m&&o&&void 0!==n&&(o=n),r){if(o<r[0])return r[0];if(o>r[1])return r[1]}return o}function d(t){return o._distinct&&o.index&&t[o.index]?t[o.index]:t[0]}if(c||f||h){var g={},v={};if(c){g.mc=p("marker.color",d),g.mx=p("marker.symbol",d),g.mo=p("marker.opacity",a.mean,[.2,1]),g.mlc=p("marker.line.color",d),g.mlw=p("marker.line.width",a.mean,[0,5],2),v.marker={sizeref:1,sizemin:1,sizemode:"diameter"};var y=p("marker.size",a.mean,[2,16],12);g.ms=y,v.marker.size=y}h&&(v.line={width:p("line.width",d,[0,10],5)}),f&&(g.tx="Aa",g.tp=p("textposition",d),g.ts=10,g.tc=p("textfont.color",d),g.tf=p("textfont.family",d)),r=[a.minExtend(o,g)],(i=a.minExtend(l,v)).selectedpoints=null,i.texttemplate=null}var b=n.select(this).select("g.legendpoints"),_=b.selectAll("path.scatterpts").data(c?r:[]);_.enter().insert("path",":first-child").classed("scatterpts",!0).attr("transform",x),_.exit().remove(),_.call(s.pointStyle,i,e),c&&(r[0].mrc=3);var w=b.selectAll("g.pointtext").data(f?r:[]);w.enter().append("g").classed("pointtext",!0).append("text").attr("transform",x),w.exit().remove(),w.selectAll("text").call(s.textPointStyle,i,e)})).each((function(t){var e=t[0].trace,r=n.select(this).select("g.legendpoints").selectAll("path.legendcandle").data(e.visible&&"candlestick"===e.type?[t,t]:[]);r.enter().append("path").classed("legendcandle",!0).attr("d",(function(t,e){return e?"M-15,0H-8M-8,6V-6H8Z":"M15,0H8M8,-6V6H-8Z"})).attr("transform",x).style("stroke-miterlimit",1),r.exit().remove(),r.each((function(t,r){var i=n.select(this),a=e[r?"increasing":"decreasing"],o=b(void 0,a.line,5,2);i.style("stroke-width",o+"px").call(l.fill,a.fillcolor),o&&l.stroke(i,a.line.color)}))})).each((function(t){var e=t[0].trace,r=n.select(this).select("g.legendpoints").selectAll("path.legendohlc").data(e.visible&&"ohlc"===e.type?[t,t]:[]);r.enter().append("path").classed("legendohlc",!0).attr("d",(function(t,e){return e?"M-15,0H0M-8,-6V0":"M15,0H0M8,6V0"})).attr("transform",x).style("stroke-miterlimit",1),r.exit().remove(),r.each((function(t,r){var i=n.select(this),a=e[r?"increasing":"decreasing"],o=b(void 0,a.line,5,2);i.style("fill","none").call(s.dashLine,a.line.dash,o),o&&l.stroke(i,a.line.color)}))}))}},{"../../lib":778,"../../registry":911,"../../traces/pie/helpers":1166,"../../traces/pie/style_one":1172,"../../traces/scatter/subtypes":1212,"../color":643,"../colorscale/helpers":654,"../drawing":665,"./constants":694,d3:169}],702:[function(t,e,r){"use strict";var n=t("../../registry"),i=t("../../plots/plots"),a=t("../../plots/cartesian/axis_ids"),o=t("../../fonts/ploticon"),s=t("../shapes/draw").eraseActiveShape,l=t("../../lib"),c=l._,u=e.exports={};function f(t,e){var r,i,o=e.currentTarget,s=o.getAttribute("data-attr"),l=o.getAttribute("data-val")||!0,c=t._fullLayout,u={},f=a.list(t,null,!0),h=c._cartesianSpikesEnabled;if("zoom"===s){var p,d="in"===l?.5:2,g=(1+d)/2,m=(1-d)/2;for(i=0;i<f.length;i++)if(!(r=f[i]).fixedrange)if(p=r._name,"auto"===l)u[p+".autorange"]=!0;else if("reset"===l){if(void 0===r._rangeInitial)u[p+".autorange"]=!0;else{var v=r._rangeInitial.slice();u[p+".range[0]"]=v[0],u[p+".range[1]"]=v[1]}void 0!==r._showSpikeInitial&&(u[p+".showspikes"]=r._showSpikeInitial,"on"!==h||r._showSpikeInitial||(h="off"))}else{var y=[r.r2l(r.range[0]),r.r2l(r.range[1])],x=[g*y[0]+m*y[1],g*y[1]+m*y[0]];u[p+".range[0]"]=r.l2r(x[0]),u[p+".range[1]"]=r.l2r(x[1])}}else"hovermode"!==s||"x"!==l&&"y"!==l||(l=c._isHoriz?"y":"x",o.setAttribute("data-val",l)),u[s]=l;c._cartesianSpikesEnabled=h,n.call("_guiRelayout",t,u)}function h(t,e){for(var r=e.currentTarget,i=r.getAttribute("data-attr"),a=r.getAttribute("data-val")||!0,o=t._fullLayout._subplots.gl3d||[],s={},l=i.split("."),c=0;c<o.length;c++)s[o[c]+"."+l[1]]=a;var u="pan"===a?a:"zoom";s.dragmode=u,n.call("_guiRelayout",t,s)}function p(t,e){for(var r=e.currentTarget.getAttribute("data-attr"),i="resetLastSave"===r,a="resetDefault"===r,o=t._fullLayout,s=o._subplots.gl3d||[],l={},c=0;c<s.length;c++){var u,f=s[c],h=f+".camera",p=f+".aspectratio",d=f+".aspectmode",g=o[f]._scene;i?(l[h+".up"]=g.viewInitial.up,l[h+".eye"]=g.viewInitial.eye,l[h+".center"]=g.viewInitial.center,u=!0):a&&(l[h+".up"]=null,l[h+".eye"]=null,l[h+".center"]=null,u=!0),u&&(l[p+".x"]=g.viewInitial.aspectratio.x,l[p+".y"]=g.viewInitial.aspectratio.y,l[p+".z"]=g.viewInitial.aspectratio.z,l[d]=g.viewInitial.aspectmode)}n.call("_guiRelayout",t,l)}function d(t,e){var r=e.currentTarget,n=r._previousVal,i=t._fullLayout,a=i._subplots.gl3d||[],o=["xaxis","yaxis","zaxis"],s={},l={};if(n)l=n,r._previousVal=null;else{for(var c=0;c<a.length;c++){var u=a[c],f=i[u],h=u+".hovermode";s[h]=f.hovermode,l[h]=!1;for(var p=0;p<3;p++){var d=o[p],g=u+"."+d+".showspikes";l[g]=!1,s[g]=f[d].showspikes}}r._previousVal=s}return l}function g(t,e){for(var r=e.currentTarget,i=r.getAttribute("data-attr"),a=r.getAttribute("data-val")||!0,o=t._fullLayout,s=o._subplots.geo||[],l=0;l<s.length;l++){var c=s[l],u=o[c];if("zoom"===i){var f=u.projection.scale,h="in"===a?2*f:.5*f;n.call("_guiRelayout",t,c+".projection.scale",h)}}"reset"===i&&x(t,"geo")}function m(t){var e=t._fullLayout;return!e.hovermode&&(e._has("cartesian")?e._isHoriz?"y":"x":"closest")}function v(t){var e=m(t);n.call("_guiRelayout",t,"hovermode",e)}function y(t,e){for(var r=e.currentTarget.getAttribute("data-val"),i=t._fullLayout,a=i._subplots.mapbox||[],o={},s=0;s<a.length;s++){var l=a[s],c=i[l].zoom,u="in"===r?1.05*c:c/1.05;o[l+".zoom"]=u}n.call("_guiRelayout",t,o)}function x(t,e){for(var r=t._fullLayout,i=r._subplots[e]||[],a={},o=0;o<i.length;o++)for(var s=i[o],l=r[s]._subplot.viewInitial,c=Object.keys(l),u=0;u<c.length;u++){var f=c[u];a[s+"."+f]=l[f]}n.call("_guiRelayout",t,a)}u.toImage={name:"toImage",title:function(t){var e=(t._context.toImageButtonOptions||{}).format||"png";return c(t,"png"===e?"Download plot as a png":"Download plot")},icon:o.camera,click:function(t){var e=t._context.toImageButtonOptions,r={format:e.format||"png"};l.notifier(c(t,"Taking snapshot - this may take a few seconds"),"long"),"svg"!==r.format&&l.isIE()&&(l.notifier(c(t,"IE only supports svg. Changing format to svg."),"long"),r.format="svg"),["filename","width","height","scale"].forEach((function(t){t in e&&(r[t]=e[t])})),n.call("downloadImage",t,r).then((function(e){l.notifier(c(t,"Snapshot succeeded")+" - "+e,"long")})).catch((function(){l.notifier(c(t,"Sorry, there was a problem downloading your snapshot!"),"long")}))}},u.sendDataToCloud={name:"sendDataToCloud",title:function(t){return c(t,"Edit in Chart Studio")},icon:o.disk,click:function(t){i.sendDataToCloud(t)}},u.editInChartStudio={name:"editInChartStudio",title:function(t){return c(t,"Edit in Chart Studio")},icon:o.pencil,click:function(t){i.sendDataToCloud(t)}},u.zoom2d={name:"zoom2d",title:function(t){return c(t,"Zoom")},attr:"dragmode",val:"zoom",icon:o.zoombox,click:f},u.pan2d={name:"pan2d",title:function(t){return c(t,"Pan")},attr:"dragmode",val:"pan",icon:o.pan,click:f},u.select2d={name:"select2d",title:function(t){return c(t,"Box Select")},attr:"dragmode",val:"select",icon:o.selectbox,click:f},u.lasso2d={name:"lasso2d",title:function(t){return c(t,"Lasso Select")},attr:"dragmode",val:"lasso",icon:o.lasso,click:f},u.drawclosedpath={name:"drawclosedpath",title:function(t){return c(t,"Draw closed freeform")},attr:"dragmode",val:"drawclosedpath",icon:o.drawclosedpath,click:f},u.drawopenpath={name:"drawopenpath",title:function(t){return c(t,"Draw open freeform")},attr:"dragmode",val:"drawopenpath",icon:o.drawopenpath,click:f},u.drawline={name:"drawline",title:function(t){return c(t,"Draw line")},attr:"dragmode",val:"drawline",icon:o.drawline,click:f},u.drawrect={name:"drawrect",title:function(t){return c(t,"Draw rectangle")},attr:"dragmode",val:"drawrect",icon:o.drawrect,click:f},u.drawcircle={name:"drawcircle",title:function(t){return c(t,"Draw circle")},attr:"dragmode",val:"drawcircle",icon:o.drawcircle,click:f},u.eraseshape={name:"eraseshape",title:function(t){return c(t,"Erase active shape")},icon:o.eraseshape,click:s},u.zoomIn2d={name:"zoomIn2d",title:function(t){return c(t,"Zoom in")},attr:"zoom",val:"in",icon:o.zoom_plus,click:f},u.zoomOut2d={name:"zoomOut2d",title:function(t){return c(t,"Zoom out")},attr:"zoom",val:"out",icon:o.zoom_minus,click:f},u.autoScale2d={name:"autoScale2d",title:function(t){return c(t,"Autoscale")},attr:"zoom",val:"auto",icon:o.autoscale,click:f},u.resetScale2d={name:"resetScale2d",title:function(t){return c(t,"Reset axes")},attr:"zoom",val:"reset",icon:o.home,click:f},u.hoverClosestCartesian={name:"hoverClosestCartesian",title:function(t){return c(t,"Show closest data on hover")},attr:"hovermode",val:"closest",icon:o.tooltip_basic,gravity:"ne",click:f},u.hoverCompareCartesian={name:"hoverCompareCartesian",title:function(t){return c(t,"Compare data on hover")},attr:"hovermode",val:function(t){return t._fullLayout._isHoriz?"y":"x"},icon:o.tooltip_compare,gravity:"ne",click:f},u.zoom3d={name:"zoom3d",title:function(t){return c(t,"Zoom")},attr:"scene.dragmode",val:"zoom",icon:o.zoombox,click:h},u.pan3d={name:"pan3d",title:function(t){return c(t,"Pan")},attr:"scene.dragmode",val:"pan",icon:o.pan,click:h},u.orbitRotation={name:"orbitRotation",title:function(t){return c(t,"Orbital rotation")},attr:"scene.dragmode",val:"orbit",icon:o["3d_rotate"],click:h},u.tableRotation={name:"tableRotation",title:function(t){return c(t,"Turntable rotation")},attr:"scene.dragmode",val:"turntable",icon:o["z-axis"],click:h},u.resetCameraDefault3d={name:"resetCameraDefault3d",title:function(t){return c(t,"Reset camera to default")},attr:"resetDefault",icon:o.home,click:p},u.resetCameraLastSave3d={name:"resetCameraLastSave3d",title:function(t){return c(t,"Reset camera to last save")},attr:"resetLastSave",icon:o.movie,click:p},u.hoverClosest3d={name:"hoverClosest3d",title:function(t){return c(t,"Toggle show closest data on hover")},attr:"hovermode",val:null,toggle:!0,icon:o.tooltip_basic,gravity:"ne",click:function(t,e){var r=d(t,e);n.call("_guiRelayout",t,r)}},u.zoomInGeo={name:"zoomInGeo",title:function(t){return c(t,"Zoom in")},attr:"zoom",val:"in",icon:o.zoom_plus,click:g},u.zoomOutGeo={name:"zoomOutGeo",title:function(t){return c(t,"Zoom out")},attr:"zoom",val:"out",icon:o.zoom_minus,click:g},u.resetGeo={name:"resetGeo",title:function(t){return c(t,"Reset")},attr:"reset",val:null,icon:o.autoscale,click:g},u.hoverClosestGeo={name:"hoverClosestGeo",title:function(t){return c(t,"Toggle show closest data on hover")},attr:"hovermode",val:null,toggle:!0,icon:o.tooltip_basic,gravity:"ne",click:v},u.hoverClosestGl2d={name:"hoverClosestGl2d",title:function(t){return c(t,"Toggle show closest data on hover")},attr:"hovermode",val:null,toggle:!0,icon:o.tooltip_basic,gravity:"ne",click:v},u.hoverClosestPie={name:"hoverClosestPie",title:function(t){return c(t,"Toggle show closest data on hover")},attr:"hovermode",val:"closest",icon:o.tooltip_basic,gravity:"ne",click:v},u.resetViewSankey={name:"resetSankeyGroup",title:function(t){return c(t,"Reset view")},icon:o.home,click:function(t){for(var e={"node.groups":[],"node.x":[],"node.y":[]},r=0;r<t._fullData.length;r++){var i=t._fullData[r]._viewInitial;e["node.groups"].push(i.node.groups.slice()),e["node.x"].push(i.node.x.slice()),e["node.y"].push(i.node.y.slice())}n.call("restyle",t,e)}},u.toggleHover={name:"toggleHover",title:function(t){return c(t,"Toggle show closest data on hover")},attr:"hovermode",val:null,toggle:!0,icon:o.tooltip_basic,gravity:"ne",click:function(t,e){var r=d(t,e);r.hovermode=m(t),n.call("_guiRelayout",t,r)}},u.resetViews={name:"resetViews",title:function(t){return c(t,"Reset views")},icon:o.home,click:function(t,e){var r=e.currentTarget;r.setAttribute("data-attr","zoom"),r.setAttribute("data-val","reset"),f(t,e),r.setAttribute("data-attr","resetLastSave"),p(t,e),x(t,"geo"),x(t,"mapbox")}},u.toggleSpikelines={name:"toggleSpikelines",title:function(t){return c(t,"Toggle Spike Lines")},icon:o.spikeline,attr:"_cartesianSpikesEnabled",val:"on",click:function(t){var e=t._fullLayout,r=e._cartesianSpikesEnabled;e._cartesianSpikesEnabled="on"===r?"off":"on",n.call("_guiRelayout",t,function(t){for(var e="on"===t._fullLayout._cartesianSpikesEnabled,r=a.list(t,null,!0),n={},i=0;i<r.length;i++){var o=r[i];n[o._name+".showspikes"]=!!e||o._showSpikeInitial}return n}(t))}},u.resetViewMapbox={name:"resetViewMapbox",title:function(t){return c(t,"Reset view")},attr:"reset",icon:o.home,click:function(t){x(t,"mapbox")}},u.zoomInMapbox={name:"zoomInMapbox",title:function(t){return c(t,"Zoom in")},attr:"zoom",val:"in",icon:o.zoom_plus,click:y},u.zoomOutMapbox={name:"zoomOutMapbox",title:function(t){return c(t,"Zoom out")},attr:"zoom",val:"out",icon:o.zoom_minus,click:y}},{"../../fonts/ploticon":757,"../../lib":778,"../../plots/cartesian/axis_ids":831,"../../plots/plots":891,"../../registry":911,"../shapes/draw":724}],703:[function(t,e,r){"use strict";r.manage=t("./manage")},{"./manage":704}],704:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axis_ids"),i=t("../../traces/scatter/subtypes"),a=t("../../registry"),o=t("../fx/helpers").isUnifiedHover,s=t("./modebar"),l=t("./buttons");e.exports=function(t){var e=t._fullLayout,r=t._context,u=e._modeBar;if(r.displayModeBar||r.watermark){if(!Array.isArray(r.modeBarButtonsToRemove))throw new Error(["*modeBarButtonsToRemove* configuration options","must be an array."].join(" "));if(!Array.isArray(r.modeBarButtonsToAdd))throw new Error(["*modeBarButtonsToAdd* configuration options","must be an array."].join(" "));var f,h=r.modeBarButtons;f=Array.isArray(h)&&h.length?function(t){for(var e=0;e<t.length;e++)for(var r=t[e],n=0;n<r.length;n++){var i=r[n];if("string"==typeof i){if(void 0===l[i])throw new Error(["*modeBarButtons* configuration options","invalid button name"].join(" "));t[e][n]=l[i]}}return t}(h):!r.displayModeBar&&r.watermark?[]:function(t){var e=t._fullLayout,r=t._fullData,s=t._context,u=s.modeBarButtonsToRemove,f=s.modeBarButtonsToAdd,h=e._has("cartesian"),p=e._has("gl3d"),d=e._has("geo"),g=e._has("pie"),m=e._has("funnelarea"),v=e._has("gl2d"),y=e._has("ternary"),x=e._has("mapbox"),b=e._has("polar"),_=e._has("sankey"),w=function(t){for(var e=n.list({_fullLayout:t},null,!0),r=0;r<e.length;r++)if(!e[r].fixedrange)return!1;return!0}(e),T=o(e.hovermode),k=[];function M(t){if(t.length){for(var e=[],r=0;r<t.length;r++){var n=t[r];-1===u.indexOf(n)&&e.push(l[n])}k.push(e)}}var A=["toImage"];s.showEditInChartStudio?A.push("editInChartStudio"):s.showSendToCloud&&A.push("sendDataToCloud");M(A);var S=[],E=[],C=[],L=[];(h||v||g||m||y)+d+p+x+b>1?(E=["toggleHover"],C=["resetViews"]):d?(S=["zoomInGeo","zoomOutGeo"],E=["hoverClosestGeo"],C=["resetGeo"]):p?(E=["hoverClosest3d"],C=["resetCameraDefault3d","resetCameraLastSave3d"]):x?(S=["zoomInMapbox","zoomOutMapbox"],E=["toggleHover"],C=["resetViewMapbox"]):v?E=["hoverClosestGl2d"]:g?E=["hoverClosestPie"]:_?(E=["hoverClosestCartesian","hoverCompareCartesian"],C=["resetViewSankey"]):E=["toggleHover"];h&&(E=["toggleSpikelines","hoverClosestCartesian","hoverCompareCartesian"]);(function(t){for(var e=0;e<t.length;e++)if(!a.traceIs(t[e],"noHover"))return!1;return!0}(r)||T)&&(E=[]);!h&&!v||w||(S=["zoomIn2d","zoomOut2d","autoScale2d"],"resetViews"!==C[0]&&(C=["resetScale2d"]));p?L=["zoom3d","pan3d","orbitRotation","tableRotation"]:(h||v)&&!w||y?L=["zoom2d","pan2d"]:x||d?L=["pan2d"]:b&&(L=["zoom2d"]);(function(t){for(var e=!1,r=0;r<t.length&&!e;r++){var n=t[r];n._module&&n._module.selectPoints&&(a.traceIs(n,"scatter-like")?(i.hasMarkers(n)||i.hasText(n))&&(e=!0):a.traceIs(n,"box-violin")&&"all"!==n.boxpoints&&"all"!==n.points||(e=!0))}return e})(r)&&L.push("select2d","lasso2d");if(Array.isArray(f)){for(var I=[],P=0;P<f.length;P++){var z=f[P];"string"==typeof z?-1!==c.indexOf(z)&&(e._has("mapbox")||e._has("cartesian"))&&L.push(z):I.push(z)}f=I}return M(L),M(S.concat(C)),M(E),function(t,e){if(e.length)if(Array.isArray(e[0]))for(var r=0;r<e.length;r++)t.push(e[r]);else t.push(e);return t}(k,f)}(t),u?u.update(t,f):e._modeBar=s(t,f)}else u&&(u.destroy(),delete e._modeBar)};var c=["drawline","drawopenpath","drawclosedpath","drawcircle","drawrect","eraseshape"]},{"../../plots/cartesian/axis_ids":831,"../../registry":911,"../../traces/scatter/subtypes":1212,"../fx/helpers":679,"./buttons":702,"./modebar":705}],705:[function(t,e,r){"use strict";var n=t("d3"),i=t("fast-isnumeric"),a=t("../../lib"),o=t("../../fonts/ploticon"),s=new DOMParser;function l(t){this.container=t.container,this.element=document.createElement("div"),this.update(t.graphInfo,t.buttons),this.container.appendChild(this.element)}var c=l.prototype;c.update=function(t,e){this.graphInfo=t;var r=this.graphInfo._context,n=this.graphInfo._fullLayout,i="modebar-"+n._uid;this.element.setAttribute("id",i),this._uid=i,this.element.className="modebar","hover"===r.displayModeBar&&(this.element.className+=" modebar--hover ease-bg"),"v"===n.modebar.orientation&&(this.element.className+=" vertical",e=e.reverse());var o=n.modebar,s="hover"===r.displayModeBar?".js-plotly-plot .plotly:hover ":"";a.deleteRelatedStyleRule(i),a.addRelatedStyleRule(i,s+"#"+i+" .modebar-group","background-color: "+o.bgcolor),a.addRelatedStyleRule(i,"#"+i+" .modebar-btn .icon path","fill: "+o.color),a.addRelatedStyleRule(i,"#"+i+" .modebar-btn:hover .icon path","fill: "+o.activecolor),a.addRelatedStyleRule(i,"#"+i+" .modebar-btn.active .icon path","fill: "+o.activecolor);var l=!this.hasButtons(e),c=this.hasLogo!==r.displaylogo,u=this.locale!==r.locale;if(this.locale=r.locale,(l||c||u)&&(this.removeAllButtons(),this.updateButtons(e),r.watermark||r.displaylogo)){var f=this.getLogo();r.watermark&&(f.className=f.className+" watermark"),"v"===n.modebar.orientation?this.element.insertBefore(f,this.element.childNodes[0]):this.element.appendChild(f),this.hasLogo=!0}this.updateActiveButton()},c.updateButtons=function(t){var e=this;this.buttons=t,this.buttonElements=[],this.buttonsNames=[],this.buttons.forEach((function(t){var r=e.createGroup();t.forEach((function(t){var n=t.name;if(!n)throw new Error("must provide button 'name' in button config");if(-1!==e.buttonsNames.indexOf(n))throw new Error("button name '"+n+"' is taken");e.buttonsNames.push(n);var i=e.createButton(t);e.buttonElements.push(i),r.appendChild(i)})),e.element.appendChild(r)}))},c.createGroup=function(){var t=document.createElement("div");return t.className="modebar-group",t},c.createButton=function(t){var e=this,r=document.createElement("a");r.setAttribute("rel","tooltip"),r.className="modebar-btn";var i=t.title;void 0===i?i=t.name:"function"==typeof i&&(i=i(this.graphInfo)),(i||0===i)&&r.setAttribute("data-title",i),void 0!==t.attr&&r.setAttribute("data-attr",t.attr);var a=t.val;if(void 0!==a&&("function"==typeof a&&(a=a(this.graphInfo)),r.setAttribute("data-val",a)),"function"!=typeof t.click)throw new Error("must provide button 'click' function in button config");r.addEventListener("click",(function(r){t.click(e.graphInfo,r),e.updateActiveButton(r.currentTarget)})),r.setAttribute("data-toggle",t.toggle||!1),t.toggle&&n.select(r).classed("active",!0);var s=t.icon;return"function"==typeof s?r.appendChild(s()):r.appendChild(this.createIcon(s||o.question)),r.setAttribute("data-gravity",t.gravity||"n"),r},c.createIcon=function(t){var e,r=i(t.height)?Number(t.height):t.ascent-t.descent,n="http://www.w3.org/2000/svg";if(t.path){(e=document.createElementNS(n,"svg")).setAttribute("viewBox",[0,0,t.width,r].join(" ")),e.setAttribute("class","icon");var a=document.createElementNS(n,"path");a.setAttribute("d",t.path),t.transform?a.setAttribute("transform",t.transform):void 0!==t.ascent&&a.setAttribute("transform","matrix(1 0 0 -1 0 "+t.ascent+")"),e.appendChild(a)}t.svg&&(e=s.parseFromString(t.svg,"application/xml").childNodes[0]);return e.setAttribute("height","1em"),e.setAttribute("width","1em"),e},c.updateActiveButton=function(t){var e=this.graphInfo._fullLayout,r=void 0!==t?t.getAttribute("data-attr"):null;this.buttonElements.forEach((function(t){var i=t.getAttribute("data-val")||!0,o=t.getAttribute("data-attr"),s="true"===t.getAttribute("data-toggle"),l=n.select(t);if(s)o===r&&l.classed("active",!l.classed("active"));else{var c=null===o?o:a.nestedProperty(e,o).get();l.classed("active",c===i)}}))},c.hasButtons=function(t){var e=this.buttons;if(!e)return!1;if(t.length!==e.length)return!1;for(var r=0;r<t.length;++r){if(t[r].length!==e[r].length)return!1;for(var n=0;n<t[r].length;n++)if(t[r][n].name!==e[r][n].name)return!1}return!0},c.getLogo=function(){var t=this.createGroup(),e=document.createElement("a");return e.href="https://plotly.com/",e.target="_blank",e.setAttribute("data-title",a._(this.graphInfo,"Produced with Plotly")),e.className="modebar-btn plotlyjsicon modebar-btn--logo",e.appendChild(this.createIcon(o.newplotlylogo)),t.appendChild(e),t},c.removeAllButtons=function(){for(;this.element.firstChild;)this.element.removeChild(this.element.firstChild);this.hasLogo=!1},c.destroy=function(){a.removeElement(this.container.querySelector(".modebar")),a.deleteRelatedStyleRule(this._uid)},e.exports=function(t,e){var r=t._fullLayout,i=new l({graphInfo:t,container:r._modebardiv.node(),buttons:e});return r._privateplot&&n.select(i.element).append("span").classed("badge-private float--left",!0).text("PRIVATE"),i}},{"../../fonts/ploticon":757,"../../lib":778,d3:169,"fast-isnumeric":241}],706:[function(t,e,r){"use strict";var n=t("../../plots/font_attributes"),i=t("../color/attributes"),a=(0,t("../../plot_api/plot_template").templatedArray)("button",{visible:{valType:"boolean",dflt:!0,editType:"plot"},step:{valType:"enumerated",values:["month","year","day","hour","minute","second","all"],dflt:"month",editType:"plot"},stepmode:{valType:"enumerated",values:["backward","todate"],dflt:"backward",editType:"plot"},count:{valType:"number",min:0,dflt:1,editType:"plot"},label:{valType:"string",editType:"plot"},editType:"plot"});e.exports={visible:{valType:"boolean",editType:"plot"},buttons:a,x:{valType:"number",min:-2,max:3,editType:"plot"},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"left",editType:"plot"},y:{valType:"number",min:-2,max:3,editType:"plot"},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"bottom",editType:"plot"},font:n({editType:"plot"}),bgcolor:{valType:"color",dflt:i.lightLine,editType:"plot"},activecolor:{valType:"color",editType:"plot"},bordercolor:{valType:"color",dflt:i.defaultLine,editType:"plot"},borderwidth:{valType:"number",min:0,dflt:0,editType:"plot"},editType:"plot"}},{"../../plot_api/plot_template":817,"../../plots/font_attributes":856,"../color/attributes":642}],707:[function(t,e,r){"use strict";e.exports={yPad:.02,minButtonWidth:30,rx:3,ry:3,lightAmount:25,darkAmount:10}},{}],708:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../color"),a=t("../../plot_api/plot_template"),o=t("../../plots/array_container_defaults"),s=t("./attributes"),l=t("./constants");function c(t,e,r,i){var a=i.calendar;function o(r,i){return n.coerce(t,e,s.buttons,r,i)}if(o("visible")){var l=o("step");"all"!==l&&(!a||"gregorian"===a||"month"!==l&&"year"!==l?o("stepmode"):e.stepmode="backward",o("count")),o("label")}}e.exports=function(t,e,r,u,f){var h=t.rangeselector||{},p=a.newContainer(e,"rangeselector");function d(t,e){return n.coerce(h,p,s,t,e)}if(d("visible",o(h,p,{name:"buttons",handleItemDefaults:c,calendar:f}).length>0)){var g=function(t,e,r){for(var n=r.filter((function(r){return e[r].anchor===t._id})),i=0,a=0;a<n.length;a++){var o=e[n[a]].domain;o&&(i=Math.max(o[1],i))}return[t.domain[0],i+l.yPad]}(e,r,u);d("x",g[0]),d("y",g[1]),n.noneOrAll(t,e,["x","y"]),d("xanchor"),d("yanchor"),n.coerceFont(d,"font",r.font);var m=d("bgcolor");d("activecolor",i.contrast(m,l.lightAmount,l.darkAmount)),d("bordercolor"),d("borderwidth")}}},{"../../lib":778,"../../plot_api/plot_template":817,"../../plots/array_container_defaults":823,"../color":643,"./attributes":706,"./constants":707}],709:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../registry"),a=t("../../plots/plots"),o=t("../color"),s=t("../drawing"),l=t("../../lib"),c=l.strTranslate,u=t("../../lib/svg_text_utils"),f=t("../../plots/cartesian/axis_ids"),h=t("../../constants/alignment"),p=h.LINE_SPACING,d=h.FROM_TL,g=h.FROM_BR,m=t("./constants"),v=t("./get_update_object");function y(t){return t._id}function x(t,e,r){var n=l.ensureSingle(t,"rect","selector-rect",(function(t){t.attr("shape-rendering","crispEdges")}));n.attr({rx:m.rx,ry:m.ry}),n.call(o.stroke,e.bordercolor).call(o.fill,function(t,e){return e._isActive||e._isHovered?t.activecolor:t.bgcolor}(e,r)).style("stroke-width",e.borderwidth+"px")}function b(t,e,r,n){l.ensureSingle(t,"text","selector-text",(function(t){t.attr("text-anchor","middle")})).call(s.font,e.font).text(function(t,e){if(t.label)return e?l.templateString(t.label,e):t.label;return"all"===t.step?"all":t.count+t.step.charAt(0)}(r,n._fullLayout._meta)).call((function(t){u.convertToTspans(t,n)}))}e.exports=function(t){var e=t._fullLayout._infolayer.selectAll(".rangeselector").data(function(t){for(var e=f.list(t,"x",!0),r=[],n=0;n<e.length;n++){var i=e[n];i.rangeselector&&i.rangeselector.visible&&r.push(i)}return r}(t),y);e.enter().append("g").classed("rangeselector",!0),e.exit().remove(),e.style({cursor:"pointer","pointer-events":"all"}),e.each((function(e){var r=n.select(this),o=e,f=o.rangeselector,h=r.selectAll("g.button").data(l.filterVisible(f.buttons));h.enter().append("g").classed("button",!0),h.exit().remove(),h.each((function(e){var r=n.select(this),a=v(o,e);e._isActive=function(t,e,r){if("all"===e.step)return!0===t.autorange;var n=Object.keys(r);return t.range[0]===r[n[0]]&&t.range[1]===r[n[1]]}(o,e,a),r.call(x,f,e),r.call(b,f,e,t),r.on("click",(function(){t._dragged||i.call("_guiRelayout",t,a)})),r.on("mouseover",(function(){e._isHovered=!0,r.call(x,f,e)})),r.on("mouseout",(function(){e._isHovered=!1,r.call(x,f,e)}))})),function(t,e,r,i,o){var f=0,h=0,v=r.borderwidth;e.each((function(){var t=n.select(this).select(".selector-text"),e=r.font.size*p,i=Math.max(e*u.lineCount(t),16)+3;h=Math.max(h,i)})),e.each((function(){var t=n.select(this),e=t.select(".selector-rect"),i=t.select(".selector-text"),a=i.node()&&s.bBox(i.node()).width,o=r.font.size*p,l=u.lineCount(i),d=Math.max(a+10,m.minButtonWidth);t.attr("transform",c(v+f,v)),e.attr({x:0,y:0,width:d,height:h}),u.positionText(i,d/2,h/2-(l-1)*o/2+3),f+=d+5}));var y=t._fullLayout._size,x=y.l+y.w*r.x,b=y.t+y.h*(1-r.y),_="left";l.isRightAnchor(r)&&(x-=f,_="right");l.isCenterAnchor(r)&&(x-=f/2,_="center");var w="top";l.isBottomAnchor(r)&&(b-=h,w="bottom");l.isMiddleAnchor(r)&&(b-=h/2,w="middle");f=Math.ceil(f),h=Math.ceil(h),x=Math.round(x),b=Math.round(b),a.autoMargin(t,i+"-range-selector",{x:r.x,y:r.y,l:f*d[_],r:f*g[_],b:h*g[w],t:h*d[w]}),o.attr("transform",c(x,b))}(t,h,f,o._name,r)}))}},{"../../constants/alignment":745,"../../lib":778,"../../lib/svg_text_utils":803,"../../plots/cartesian/axis_ids":831,"../../plots/plots":891,"../../registry":911,"../color":643,"../drawing":665,"./constants":707,"./get_update_object":710,d3:169}],710:[function(t,e,r){"use strict";var n=t("d3");e.exports=function(t,e){var r=t._name,i={};if("all"===e.step)i[r+".autorange"]=!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"backward":r=t.l2r(+n.time[o].utc.offset(a,-s));break;case"todate":var l=n.time[o].utc.offset(a,-s);r=t.l2r(+n.time[o].utc.ceil(l))}var c=i[1];return[r,c]}(t,e);i[r+".range[0]"]=a[0],i[r+".range[1]"]=a[1]}return i}},{d3:169}],711:[function(t,e,r){"use strict";e.exports={moduleType:"component",name:"rangeselector",schema:{subplots:{xaxis:{rangeselector:t("./attributes")}}},layoutAttributes:t("./attributes"),handleDefaults:t("./defaults"),draw:t("./draw")}},{"./attributes":706,"./defaults":708,"./draw":709}],712:[function(t,e,r){"use strict";var n=t("../color/attributes");e.exports={bgcolor:{valType:"color",dflt:n.background,editType:"plot"},bordercolor:{valType:"color",dflt:n.defaultLine,editType:"plot"},borderwidth:{valType:"integer",dflt:0,min:0,editType:"plot"},autorange:{valType:"boolean",dflt:!0,editType:"calc",impliedEdits:{"range[0]":void 0,"range[1]":void 0}},range:{valType:"info_array",items:[{valType:"any",editType:"calc",impliedEdits:{"^autorange":!1}},{valType:"any",editType:"calc",impliedEdits:{"^autorange":!1}}],editType:"calc",impliedEdits:{autorange:!1}},thickness:{valType:"number",dflt:.15,min:0,max:1,editType:"plot"},visible:{valType:"boolean",dflt:!0,editType:"calc"},editType:"calc"}},{"../color/attributes":642}],713:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axis_ids").list,i=t("../../plots/cartesian/autorange").getAutoRange,a=t("./constants");e.exports=function(t){for(var e=n(t,"x",!0),r=0;r<e.length;r++){var o=e[r],s=o[a.name];s&&s.visible&&s.autorange&&(s._input.autorange=!0,s._input.range=s.range=i(t,o))}}},{"../../plots/cartesian/autorange":827,"../../plots/cartesian/axis_ids":831,"./constants":714}],714:[function(t,e,r){"use strict";e.exports={name:"rangeslider",containerClassName:"rangeslider-container",bgClassName:"rangeslider-bg",rangePlotClassName:"rangeslider-rangeplot",maskMinClassName:"rangeslider-mask-min",maskMaxClassName:"rangeslider-mask-max",slideBoxClassName:"rangeslider-slidebox",grabberMinClassName:"rangeslider-grabber-min",grabAreaMinClassName:"rangeslider-grabarea-min",handleMinClassName:"rangeslider-handle-min",grabberMaxClassName:"rangeslider-grabber-max",grabAreaMaxClassName:"rangeslider-grabarea-max",handleMaxClassName:"rangeslider-handle-max",maskMinOppAxisClassName:"rangeslider-mask-min-opp-axis",maskMaxOppAxisClassName:"rangeslider-mask-max-opp-axis",maskColor:"rgba(0,0,0,0.4)",maskOppAxisColor:"rgba(0,0,0,0.2)",slideBoxFill:"transparent",slideBoxCursor:"ew-resize",grabAreaFill:"transparent",grabAreaCursor:"col-resize",grabAreaWidth:10,handleWidth:4,handleRadius:1,handleStrokeWidth:1,extraPad:15}},{}],715:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../plot_api/plot_template"),a=t("../../plots/cartesian/axis_ids"),o=t("./attributes"),s=t("./oppaxis_attributes");e.exports=function(t,e,r){var l=t[r],c=e[r];if(l.rangeslider||e._requestRangeslider[c._id]){n.isPlainObject(l.rangeslider)||(l.rangeslider={});var u,f,h=l.rangeslider,p=i.newContainer(c,"rangeslider");if(_("visible")){_("bgcolor",e.plot_bgcolor),_("bordercolor"),_("borderwidth"),_("thickness"),_("autorange",!c.isValidRange(h.range)),_("range");var d=e._subplots;if(d)for(var g=d.cartesian.filter((function(t){return t.substr(0,t.indexOf("y"))===a.name2id(r)})).map((function(t){return t.substr(t.indexOf("y"),t.length)})),m=n.simpleMap(g,a.id2name),v=0;v<m.length;v++){var y=m[v];u=h[y]||{},f=i.newContainer(p,y,"yaxis");var x,b=e[y];u.range&&b.isValidRange(u.range)&&(x="fixed"),"match"!==w("rangemode",x)&&w("range",b.range.slice())}p._input=h}}function _(t,e){return n.coerce(h,p,o,t,e)}function w(t,e){return n.coerce(u,f,s,t,e)}}},{"../../lib":778,"../../plot_api/plot_template":817,"../../plots/cartesian/axis_ids":831,"./attributes":712,"./oppaxis_attributes":719}],716:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../registry"),a=t("../../plots/plots"),o=t("../../lib"),s=o.strTranslate,l=t("../drawing"),c=t("../color"),u=t("../titles"),f=t("../../plots/cartesian"),h=t("../../plots/cartesian/axis_ids"),p=t("../dragelement"),d=t("../../lib/setcursor"),g=t("./constants");function m(t,e,r,n){var i=o.ensureSingle(t,"rect",g.bgClassName,(function(t){t.attr({x:0,y:0,"shape-rendering":"crispEdges"})})),a=n.borderwidth%2==0?n.borderwidth:n.borderwidth-1,c=-n._offsetShift,u=l.crispRound(e,n.borderwidth);i.attr({width:n._width+a,height:n._height+a,transform:s(c,c),fill:n.bgcolor,stroke:n.bordercolor,"stroke-width":u})}function v(t,e,r,n){var i=e._fullLayout;o.ensureSingleById(i._topdefs,"clipPath",n._clipId,(function(t){t.append("rect").attr({x:0,y:0})})).select("rect").attr({width:n._width,height:n._height})}function y(t,e,r,i){var s,c=e.calcdata,u=t.selectAll("g."+g.rangePlotClassName).data(r._subplotsWith,o.identity);u.enter().append("g").attr("class",(function(t){return g.rangePlotClassName+" "+t})).call(l.setClipUrl,i._clipId,e),u.order(),u.exit().remove(),u.each((function(t,o){var l=n.select(this),u=0===o,p=h.getFromId(e,t,"y"),d=p._name,g=i[d],m={data:[],layout:{xaxis:{type:r.type,domain:[0,1],range:i.range.slice(),calendar:r.calendar},width:i._width,height:i._height,margin:{t:0,b:0,l:0,r:0}},_context:e._context};r.rangebreaks&&(m.layout.xaxis.rangebreaks=r.rangebreaks),m.layout[d]={type:p.type,domain:[0,1],range:"match"!==g.rangemode?g.range.slice():p.range.slice(),calendar:p.calendar},p.rangebreaks&&(m.layout[d].rangebreaks=p.rangebreaks),a.supplyDefaults(m);var v=m._fullLayout.xaxis,y=m._fullLayout[d];v.clearCalc(),v.setScale(),y.clearCalc(),y.setScale();var x={id:t,plotgroup:l,xaxis:v,yaxis:y,isRangePlot:!0};u?s=x:(x.mainplot="xy",x.mainplotinfo=s),f.rangePlot(e,x,function(t,e){for(var r=[],n=0;n<t.length;n++){var i=t[n],a=i[0].trace;a.xaxis+a.yaxis===e&&r.push(i)}return r}(c,t))}))}function x(t,e,r,n,i){(o.ensureSingle(t,"rect",g.maskMinClassName,(function(t){t.attr({x:0,y:0,"shape-rendering":"crispEdges"})})).attr("height",n._height).call(c.fill,g.maskColor),o.ensureSingle(t,"rect",g.maskMaxClassName,(function(t){t.attr({y:0,"shape-rendering":"crispEdges"})})).attr("height",n._height).call(c.fill,g.maskColor),"match"!==i.rangemode)&&(o.ensureSingle(t,"rect",g.maskMinOppAxisClassName,(function(t){t.attr({y:0,"shape-rendering":"crispEdges"})})).attr("width",n._width).call(c.fill,g.maskOppAxisColor),o.ensureSingle(t,"rect",g.maskMaxOppAxisClassName,(function(t){t.attr({y:0,"shape-rendering":"crispEdges"})})).attr("width",n._width).style("border-top",g.maskOppBorder).call(c.fill,g.maskOppAxisColor))}function b(t,e,r,n){e._context.staticPlot||o.ensureSingle(t,"rect",g.slideBoxClassName,(function(t){t.attr({y:0,cursor:g.slideBoxCursor,"shape-rendering":"crispEdges"})})).attr({height:n._height,fill:g.slideBoxFill})}function _(t,e,r,n){var i=o.ensureSingle(t,"g",g.grabberMinClassName),a=o.ensureSingle(t,"g",g.grabberMaxClassName),s={x:0,width:g.handleWidth,rx:g.handleRadius,fill:c.background,stroke:c.defaultLine,"stroke-width":g.handleStrokeWidth,"shape-rendering":"crispEdges"},l={y:Math.round(n._height/4),height:Math.round(n._height/2)};o.ensureSingle(i,"rect",g.handleMinClassName,(function(t){t.attr(s)})).attr(l),o.ensureSingle(a,"rect",g.handleMaxClassName,(function(t){t.attr(s)})).attr(l);var u={width:g.grabAreaWidth,x:0,y:0,fill:g.grabAreaFill,cursor:e._context.staticPlot?void 0:g.grabAreaCursor};o.ensureSingle(i,"rect",g.grabAreaMinClassName,(function(t){t.attr(u)})).attr("height",n._height),o.ensureSingle(a,"rect",g.grabAreaMaxClassName,(function(t){t.attr(u)})).attr("height",n._height)}e.exports=function(t){for(var e=t._fullLayout,r=e._rangeSliderData,a=0;a<r.length;a++){var l=r[a][g.name];l._clipId=l._id+"-"+e._uid}var c=e._infolayer.selectAll("g."+g.containerClassName).data(r,(function(t){return t._name}));c.exit().each((function(t){var r=t[g.name];e._topdefs.select("#"+r._clipId).remove()})).remove(),0!==r.length&&(c.enter().append("g").classed(g.containerClassName,!0).attr("pointer-events","all"),c.each((function(r){var a=n.select(this),l=r[g.name],c=e[h.id2name(r.anchor)],f=l[h.id2name(r.anchor)];if(l.range){var w,T=o.simpleMap(l.range,r.r2l),k=o.simpleMap(r.range,r.r2l);w=k[0]<k[1]?[Math.min(T[0],k[0]),Math.max(T[1],k[1])]:[Math.max(T[0],k[0]),Math.min(T[1],k[1])],l.range=l._input.range=o.simpleMap(w,r.l2r)}r.cleanRange("rangeslider.range");var M=e._size,A=r.domain;l._width=M.w*(A[1]-A[0]);var S=Math.round(M.l+M.w*A[0]),E=Math.round(M.t+M.h*(1-r._counterDomainMin)+("bottom"===r.side?r._depth:0)+l._offsetShift+g.extraPad);a.attr("transform",s(S,E)),l._rl=o.simpleMap(l.range,r.r2l);var C=l._rl[0],L=l._rl[1],I=L-C;if(l.p2d=function(t){return t/l._width*I+C},l.d2p=function(t){return(t-C)/I*l._width},r.rangebreaks){var P=r.locateBreaks(C,L);if(P.length){var z,O,D=0;for(z=0;z<P.length;z++)D+=(O=P[z]).max-O.min;var R=l._width/(L-C-D),F=[-R*C];for(z=0;z<P.length;z++)O=P[z],F.push(F[F.length-1]-R*(O.max-O.min));for(l.d2p=function(t){for(var e=F[0],r=0;r<P.length;r++){var n=P[r];if(t>=n.max)e=F[r+1];else if(t<n.min)break}return e+R*t},z=0;z<P.length;z++)(O=P[z]).pmin=l.d2p(O.min),O.pmax=l.d2p(O.max);l.p2d=function(t){for(var e=F[0],r=0;r<P.length;r++){var n=P[r];if(t>=n.pmax)e=F[r+1];else if(t<n.pmin)break}return(t-e)/R}}}if("match"!==f.rangemode){var B=c.r2l(f.range[0]),N=c.r2l(f.range[1])-B;l.d2pOppAxis=function(t){return(t-B)/N*l._height}}a.call(m,t,r,l).call(v,t,r,l).call(y,t,r,l).call(x,t,r,l,f).call(b,t,r,l).call(_,t,r,l),function(t,e,r,a){if(e._context.staticPlot)return;var s=t.select("rect."+g.slideBoxClassName).node(),l=t.select("rect."+g.grabAreaMinClassName).node(),c=t.select("rect."+g.grabAreaMaxClassName).node();function u(){var u=n.event,f=u.target,h=u.clientX||u.touches[0].clientX,g=h-t.node().getBoundingClientRect().left,m=a.d2p(r._rl[0]),v=a.d2p(r._rl[1]),y=p.coverSlip();function x(t){var u,p,x,b=+(t.clientX||t.touches[0].clientX)-h;switch(f){case s:x="ew-resize",u=m+b,p=v+b;break;case l:x="col-resize",u=m+b,p=v;break;case c:x="col-resize",u=m,p=v+b;break;default:x="ew-resize",u=g,p=g+b}if(p<u){var _=p;p=u,u=_}a._pixelMin=u,a._pixelMax=p,d(n.select(y),x),function(t,e,r,n){function a(t){return r.l2r(o.constrain(t,n._rl[0],n._rl[1]))}var s=a(n.p2d(n._pixelMin)),l=a(n.p2d(n._pixelMax));window.requestAnimationFrame((function(){i.call("_guiRelayout",e,r._name+".range",[s,l])}))}(0,e,r,a)}function b(){y.removeEventListener("mousemove",x),y.removeEventListener("mouseup",b),this.removeEventListener("touchmove",x),this.removeEventListener("touchend",b),o.removeElement(y)}this.addEventListener("touchmove",x),this.addEventListener("touchend",b),y.addEventListener("mousemove",x),y.addEventListener("mouseup",b)}t.on("mousedown",u),t.on("touchstart",u)}(a,t,r,l),function(t,e,r,n,i,a){var l=g.handleWidth/2;function c(t){return o.constrain(t,0,n._width)}function u(t){return o.constrain(t,0,n._height)}function f(t){return o.constrain(t,-l,n._width+l)}var h=c(n.d2p(r._rl[0])),p=c(n.d2p(r._rl[1]));if(t.select("rect."+g.slideBoxClassName).attr("x",h).attr("width",p-h),t.select("rect."+g.maskMinClassName).attr("width",h),t.select("rect."+g.maskMaxClassName).attr("x",p).attr("width",n._width-p),"match"!==a.rangemode){var d=n._height-u(n.d2pOppAxis(i._rl[1])),m=n._height-u(n.d2pOppAxis(i._rl[0]));t.select("rect."+g.maskMinOppAxisClassName).attr("x",h).attr("height",d).attr("width",p-h),t.select("rect."+g.maskMaxOppAxisClassName).attr("x",h).attr("y",m).attr("height",n._height-m).attr("width",p-h),t.select("rect."+g.slideBoxClassName).attr("y",d).attr("height",m-d)}var v=Math.round(f(h-l))-.5,y=Math.round(f(p-l))+.5;t.select("g."+g.grabberMinClassName).attr("transform",s(v,.5)),t.select("g."+g.grabberMaxClassName).attr("transform",s(y,.5))}(a,0,r,l,c,f),"bottom"===r.side&&u.draw(t,r._id+"title",{propContainer:r,propName:r._name+".title",placeholder:e._dfltTitle.x,attributes:{x:r._offset+r._length/2,y:E+l._height+l._offsetShift+10+1.5*r.title.font.size,"text-anchor":"middle"}})})))}},{"../../lib":778,"../../lib/setcursor":799,"../../plots/cartesian":841,"../../plots/cartesian/axis_ids":831,"../../plots/plots":891,"../../registry":911,"../color":643,"../dragelement":662,"../drawing":665,"../titles":738,"./constants":714,d3:169}],717:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axis_ids"),i=t("../../lib/svg_text_utils"),a=t("./constants"),o=t("../../constants/alignment").LINE_SPACING,s=a.name;function l(t){var e=t&&t[s];return e&&e.visible}r.isVisible=l,r.makeData=function(t){var e=n.list({_fullLayout:t},"x",!0),r=t.margin,i=[];if(!t._has("gl2d"))for(var a=0;a<e.length;a++){var o=e[a];if(l(o)){i.push(o);var c=o[s];c._id=s+o._id,c._height=(t.height-r.b-r.t)*c.thickness,c._offsetShift=Math.floor(c.borderwidth/2)}}t._rangeSliderData=i},r.autoMarginOpts=function(t,e){var r=t._fullLayout,n=e[s],l=e._id.charAt(0),c=0,u=0;"bottom"===e.side&&(c=e._depth,e.title.text!==r._dfltTitle[l]&&(u=1.5*e.title.font.size+10+n._offsetShift,u+=(e.title.text.match(i.BR_TAG_ALL)||[]).length*e.title.font.size*o));return{x:0,y:e._counterDomainMin,l:0,r:0,t:0,b:n._height+c+Math.max(r.margin.b,u),pad:a.extraPad+2*n._offsetShift}}},{"../../constants/alignment":745,"../../lib/svg_text_utils":803,"../../plots/cartesian/axis_ids":831,"./constants":714}],718:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./attributes"),a=t("./oppaxis_attributes"),o=t("./helpers");e.exports={moduleType:"component",name:"rangeslider",schema:{subplots:{xaxis:{rangeslider:n.extendFlat({},i,{yaxis:a})}}},layoutAttributes:t("./attributes"),handleDefaults:t("./defaults"),calcAutorange:t("./calc_autorange"),draw:t("./draw"),isVisible:o.isVisible,makeData:o.makeData,autoMarginOpts:o.autoMarginOpts}},{"../../lib":778,"./attributes":712,"./calc_autorange":713,"./defaults":715,"./draw":716,"./helpers":717,"./oppaxis_attributes":719}],719:[function(t,e,r){"use strict";e.exports={_isSubplotObj:!0,rangemode:{valType:"enumerated",values:["auto","fixed","match"],dflt:"match",editType:"calc"},range:{valType:"info_array",items:[{valType:"any",editType:"plot"},{valType:"any",editType:"plot"}],editType:"plot"},editType:"calc"}},{}],720:[function(t,e,r){"use strict";var n=t("../annotations/attributes"),i=t("../../traces/scatter/attributes").line,a=t("../drawing/attributes").dash,o=t("../../lib/extend").extendFlat,s=t("../../plot_api/plot_template").templatedArray;t("../../constants/axis_placeable_objects");e.exports=s("shape",{visible:{valType:"boolean",dflt:!0,editType:"calc+arraydraw"},type:{valType:"enumerated",values:["circle","rect","path","line"],editType:"calc+arraydraw"},layer:{valType:"enumerated",values:["below","above"],dflt:"above",editType:"arraydraw"},xref:o({},n.xref,{}),xsizemode:{valType:"enumerated",values:["scaled","pixel"],dflt:"scaled",editType:"calc+arraydraw"},xanchor:{valType:"any",editType:"calc+arraydraw"},x0:{valType:"any",editType:"calc+arraydraw"},x1:{valType:"any",editType:"calc+arraydraw"},yref:o({},n.yref,{}),ysizemode:{valType:"enumerated",values:["scaled","pixel"],dflt:"scaled",editType:"calc+arraydraw"},yanchor:{valType:"any",editType:"calc+arraydraw"},y0:{valType:"any",editType:"calc+arraydraw"},y1:{valType:"any",editType:"calc+arraydraw"},path:{valType:"string",editType:"calc+arraydraw"},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"arraydraw"},line:{color:o({},i.color,{editType:"arraydraw"}),width:o({},i.width,{editType:"calc+arraydraw"}),dash:o({},a,{editType:"arraydraw"}),editType:"calc+arraydraw"},fillcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"arraydraw"},fillrule:{valType:"enumerated",values:["evenodd","nonzero"],dflt:"evenodd",editType:"arraydraw"},editable:{valType:"boolean",dflt:!1,editType:"calc+arraydraw"},editType:"arraydraw"})},{"../../constants/axis_placeable_objects":746,"../../lib/extend":768,"../../plot_api/plot_template":817,"../../traces/scatter/attributes":1187,"../annotations/attributes":626,"../drawing/attributes":664}],721:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../plots/cartesian/axes"),a=t("./constants"),o=t("./helpers");function s(t){return c(t.line.width,t.xsizemode,t.x0,t.x1,t.path,!1)}function l(t){return c(t.line.width,t.ysizemode,t.y0,t.y1,t.path,!0)}function c(t,e,r,i,s,l){var c=t/2,u=l;if("pixel"===e){var f=s?o.extractPathCoords(s,l?a.paramIsY:a.paramIsX):[r,i],h=n.aggNums(Math.max,null,f),p=n.aggNums(Math.min,null,f),d=p<0?Math.abs(p)+c:c,g=h>0?h+c:c;return{ppad:c,ppadplus:u?d:g,ppadminus:u?g:d}}return{ppad:c}}function u(t,e,r,n,i){var s="category"===t.type||"multicategory"===t.type?t.r2c:t.d2c;if(void 0!==e)return[s(e),s(r)];if(n){var l,c,u,f,h=1/0,p=-1/0,d=n.match(a.segmentRE);for("date"===t.type&&(s=o.decodeDate(s)),l=0;l<d.length;l++)void 0!==(c=i[d[l].charAt(0)].drawn)&&(!(u=d[l].substr(1).match(a.paramRE))||u.length<c||((f=s(u[c]))<h&&(h=f),f>p&&(p=f)));return p>=h?[h,p]:void 0}}e.exports=function(t){var e=t._fullLayout,r=n.filterVisible(e.shapes);if(r.length&&t._fullData.length)for(var o=0;o<r.length;o++){var c,f,h=r[o];h._extremes={};var p=i.getRefType(h.xref),d=i.getRefType(h.yref);if("paper"!==h.xref&&"domain"!==p){var g="pixel"===h.xsizemode?h.xanchor:h.x0,m="pixel"===h.xsizemode?h.xanchor:h.x1;(f=u(c=i.getFromId(t,h.xref),g,m,h.path,a.paramIsX))&&(h._extremes[c._id]=i.findExtremes(c,f,s(h)))}if("paper"!==h.yref&&"domain"!==d){var v="pixel"===h.ysizemode?h.yanchor:h.y0,y="pixel"===h.ysizemode?h.yanchor:h.y1;(f=u(c=i.getFromId(t,h.yref),v,y,h.path,a.paramIsY))&&(h._extremes[c._id]=i.findExtremes(c,f,l(h)))}}}},{"../../lib":778,"../../plots/cartesian/axes":828,"./constants":722,"./helpers":731}],722:[function(t,e,r){"use strict";e.exports={segmentRE:/[MLHVQCTSZ][^MLHVQCTSZ]*/g,paramRE:/[^\s,]+/g,paramIsX:{M:{0:!0,drawn:0},L:{0:!0,drawn:0},H:{0:!0,drawn:0},V:{},Q:{0:!0,2:!0,drawn:2},C:{0:!0,2:!0,4:!0,drawn:4},T:{0:!0,drawn:0},S:{0:!0,2:!0,drawn:2},Z:{}},paramIsY:{M:{1:!0,drawn:1},L:{1:!0,drawn:1},H:{},V:{0:!0,drawn:0},Q:{1:!0,3:!0,drawn:3},C:{1:!0,3:!0,5:!0,drawn:5},T:{1:!0,drawn:1},S:{1:!0,3:!0,drawn:5},Z:{}},numParams:{M:2,L:2,H:1,V:1,Q:4,C:6,T:2,S:4,Z:0}}},{}],723:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../plots/cartesian/axes"),a=t("../../plots/array_container_defaults"),o=t("./attributes"),s=t("./helpers");function l(t,e,r){function a(r,i){return n.coerce(t,e,o,r,i)}if(a("visible")){var l=a("path"),c=a("type",l?"path":"rect");"path"!==e.type&&delete e.path,a("editable"),a("layer"),a("opacity"),a("fillcolor"),a("fillrule"),a("line.width")&&(a("line.color"),a("line.dash"));for(var u=a("xsizemode"),f=a("ysizemode"),h=["x","y"],p=0;p<2;p++){var d,g,m,v=h[p],y=v+"anchor",x="x"===v?u:f,b={_fullLayout:r},_=i.coerceRef(t,e,b,v,void 0,"paper");if("range"===i.getRefType(_)?((d=i.getFromId(b,_))._shapeIndices.push(e._index),m=s.rangeToShapePosition(d),g=s.shapePositionToRange(d)):g=m=n.identity,"path"!==c){var w=v+"0",T=v+"1",k=t[w],M=t[T];t[w]=g(t[w],!0),t[T]=g(t[T],!0),"pixel"===x?(a(w,0),a(T,10)):(i.coercePosition(e,b,a,_,w,.25),i.coercePosition(e,b,a,_,T,.75)),e[w]=m(e[w]),e[T]=m(e[T]),t[w]=k,t[T]=M}if("pixel"===x){var A=t[y];t[y]=g(t[y],!0),i.coercePosition(e,b,a,_,y,.25),e[y]=m(e[y]),t[y]=A}}"path"===c?a("path"):n.noneOrAll(t,e,["x0","x1","y0","y1"])}}e.exports=function(t,e){a(t,e,{name:"shapes",handleItemDefaults:l})}},{"../../lib":778,"../../plots/array_container_defaults":823,"../../plots/cartesian/axes":828,"./attributes":720,"./helpers":731}],724:[function(t,e,r){"use strict";var n=t("../../registry"),i=t("../../lib"),a=t("../../plots/cartesian/axes"),o=t("./draw_newshape/helpers").readPaths,s=t("./draw_newshape/display_outlines"),l=t("../../plots/cartesian/handle_outline").clearOutlineControllers,c=t("../color"),u=t("../drawing"),f=t("../../plot_api/plot_template").arrayEditor,h=t("../dragelement"),p=t("../../lib/setcursor"),d=t("./constants"),g=t("./helpers");function m(t){var e=t._fullLayout;for(var r in e._shapeUpperLayer.selectAll("path").remove(),e._shapeLowerLayer.selectAll("path").remove(),e._plots){var n=e._plots[r].shapelayer;n&&n.selectAll("path").remove()}for(var i=0;i<e.shapes.length;i++)e.shapes[i].visible&&x(t,i)}function v(t){return!!t._fullLayout._drawing}function y(t){return!t._context.edits.shapePosition}function x(t,e){t._fullLayout._paperdiv.selectAll('.shapelayer [data-index="'+e+'"]').remove();var r=g.makeOptionsAndPlotinfo(t,e),l=r.options,x=r.plotinfo;if(l._input&&!1!==l.visible)if("below"!==l.layer)k(t._fullLayout._shapeUpperLayer);else if("paper"===l.xref||"paper"===l.yref)k(t._fullLayout._shapeLowerLayer);else{if(x._hadPlotinfo)k((x.mainplotinfo||x).shapelayer);else k(t._fullLayout._shapeLowerLayer)}function k(r){var k=_(t,l),M={"data-index":e,"fill-rule":l.fillrule,d:k},A=l.opacity,S=l.fillcolor,E=l.line.width?l.line.color:"rgba(0,0,0,0)",C=l.line.width,L=l.line.dash;C||!0!==l.editable||(C=5,L="solid");var I="Z"!==k[k.length-1],P=y(t)&&l.editable&&t._fullLayout._activeShapeIndex===e;P&&(S=I?"rgba(0,0,0,0)":t._fullLayout.activeshape.fillcolor,A=t._fullLayout.activeshape.opacity);var z,O=r.append("path").attr(M).style("opacity",A).call(c.stroke,E).call(c.fill,S).call(u.dashLine,L,C);if(b(O,t,l),(P||t._context.edits.shapePosition)&&(z=f(t.layout,"shapes",l)),P){O.style({cursor:"move"});var D={element:O.node(),plotinfo:x,gd:t,editHelpers:z,isActiveShape:!0},R=o(k,t);s(R,O,D)}else t._context.edits.shapePosition?function(t,e,r,o,s,l){var c,f,m,y,x,T,k,M,A,S,E,C,L,I,P,z,O="pixel"===r.xsizemode,D="pixel"===r.ysizemode,R="line"===r.type,F="path"===r.type,B=l.modifyItem,N=a.getFromId(t,r.xref),j=a.getRefType(r.xref),U=a.getFromId(t,r.yref),V=a.getRefType(r.yref),q=g.getDataToPixel(t,N,!1,j),H=g.getDataToPixel(t,U,!0,V),G=g.getPixelToData(t,N,!1,j),Y=g.getPixelToData(t,U,!0,V),W=R?function(){var t=Math.max(r.line.width,10),n=s.append("g").attr("data-index",o);n.append("path").attr("d",e.attr("d")).style({cursor:"move","stroke-width":t,"stroke-opacity":"0"});var i={"fill-opacity":"0"},a=Math.max(t/2,10);return n.append("circle").attr({"data-line-point":"start-point",cx:O?q(r.xanchor)+r.x0:q(r.x0),cy:D?H(r.yanchor)-r.y0:H(r.y0),r:a}).style(i).classed("cursor-grab",!0),n.append("circle").attr({"data-line-point":"end-point",cx:O?q(r.xanchor)+r.x1:q(r.x1),cy:D?H(r.yanchor)-r.y1:H(r.y1),r:a}).style(i).classed("cursor-grab",!0),n}():e,X={element:W.node(),gd:t,prepFn:function(n){if(v(t))return;O&&(x=q(r.xanchor));D&&(T=H(r.yanchor));"path"===r.type?P=r.path:(c=O?r.x0:q(r.x0),f=D?r.y0:H(r.y0),m=O?r.x1:q(r.x1),y=D?r.y1:H(r.y1));c<m?(A=c,L="x0",S=m,I="x1"):(A=m,L="x1",S=c,I="x0");!D&&f<y||D&&f>y?(k=f,E="y0",M=y,C="y1"):(k=y,E="y1",M=f,C="y0");Z(n),Q(s,r),function(t,e,r){var n=e.xref,i=e.yref,o=a.getFromId(r,n),s=a.getFromId(r,i),l="";"paper"===n||o.autorange||(l+=n);"paper"===i||s.autorange||(l+=i);u.setClipUrl(t,l?"clip"+r._fullLayout._uid+l:null,r)}(e,r,t),X.moveFn="move"===z?J:K,X.altKey=n.altKey},doneFn:function(){if(v(t))return;p(e),$(s),b(e,t,r),n.call("_guiRelayout",t,l.getUpdateObj())},clickFn:function(){if(v(t))return;$(s)}};function Z(r){if(v(t))z=null;else if(R)z="path"===r.target.tagName?"move":"start-point"===r.target.attributes["data-line-point"].value?"resize-over-start-point":"resize-over-end-point";else{var n=X.element.getBoundingClientRect(),i=n.right-n.left,a=n.bottom-n.top,o=r.clientX-n.left,s=r.clientY-n.top,l=!F&&i>10&&a>10&&!r.shiftKey?h.getCursor(o/i,1-s/a):"move";p(e,l),z=l.split("-")[0]}}function J(n,i){if("path"===r.type){var a=function(t){return t},o=a,l=a;O?B("xanchor",r.xanchor=G(x+n)):(o=function(t){return G(q(t)+n)},N&&"date"===N.type&&(o=g.encodeDate(o))),D?B("yanchor",r.yanchor=Y(T+i)):(l=function(t){return Y(H(t)+i)},U&&"date"===U.type&&(l=g.encodeDate(l))),B("path",r.path=w(P,o,l))}else O?B("xanchor",r.xanchor=G(x+n)):(B("x0",r.x0=G(c+n)),B("x1",r.x1=G(m+n))),D?B("yanchor",r.yanchor=Y(T+i)):(B("y0",r.y0=Y(f+i)),B("y1",r.y1=Y(y+i)));e.attr("d",_(t,r)),Q(s,r)}function K(n,i){if(F){var a=function(t){return t},o=a,l=a;O?B("xanchor",r.xanchor=G(x+n)):(o=function(t){return G(q(t)+n)},N&&"date"===N.type&&(o=g.encodeDate(o))),D?B("yanchor",r.yanchor=Y(T+i)):(l=function(t){return Y(H(t)+i)},U&&"date"===U.type&&(l=g.encodeDate(l))),B("path",r.path=w(P,o,l))}else if(R){if("resize-over-start-point"===z){var u=c+n,h=D?f-i:f+i;B("x0",r.x0=O?u:G(u)),B("y0",r.y0=D?h:Y(h))}else if("resize-over-end-point"===z){var p=m+n,d=D?y-i:y+i;B("x1",r.x1=O?p:G(p)),B("y1",r.y1=D?d:Y(d))}}else{var v=function(t){return-1!==z.indexOf(t)},b=v("n"),j=v("s"),V=v("w"),W=v("e"),X=b?k+i:k,Z=j?M+i:M,J=V?A+n:A,K=W?S+n:S;D&&(b&&(X=k-i),j&&(Z=M-i)),(!D&&Z-X>10||D&&X-Z>10)&&(B(E,r[E]=D?X:Y(X)),B(C,r[C]=D?Z:Y(Z))),K-J>10&&(B(L,r[L]=O?J:G(J)),B(I,r[I]=O?K:G(K)))}e.attr("d",_(t,r)),Q(s,r)}function Q(t,e){(O||D)&&function(){var r="path"!==e.type,n=t.selectAll(".visual-cue").data([0]);n.enter().append("path").attr({fill:"#fff","fill-rule":"evenodd",stroke:"#000","stroke-width":1}).classed("visual-cue",!0);var a=q(O?e.xanchor:i.midRange(r?[e.x0,e.x1]:g.extractPathCoords(e.path,d.paramIsX))),o=H(D?e.yanchor:i.midRange(r?[e.y0,e.y1]:g.extractPathCoords(e.path,d.paramIsY)));if(a=g.roundPositionForSharpStrokeRendering(a,1),o=g.roundPositionForSharpStrokeRendering(o,1),O&&D){var s="M"+(a-1-1)+","+(o-1-1)+"h-8v2h8 v8h2v-8 h8v-2h-8 v-8h-2 Z";n.attr("d",s)}else if(O){var l="M"+(a-1-1)+","+(o-9-1)+"v18 h2 v-18 Z";n.attr("d",l)}else{var c="M"+(a-9-1)+","+(o-1-1)+"h18 v2 h-18 Z";n.attr("d",c)}}()}function $(t){t.selectAll(".visual-cue").remove()}h.init(X),W.node().onmousemove=Z}(t,O,l,e,r,z):!0===l.editable&&O.style("pointer-events",I||c.opacity(S)*A<=.5?"stroke":"all");O.node().addEventListener("click",(function(){return function(t,e){if(!y(t))return;var r=+e.node().getAttribute("data-index");if(r>=0){if(r===t._fullLayout._activeShapeIndex)return void T(t);t._fullLayout._activeShapeIndex=r,t._fullLayout._deactivateShape=T,m(t)}}(t,O)}))}}function b(t,e,r){var n=(r.xref+r.yref).replace(/paper/g,"").replace(/[xyz][1-9]* *domain/g,"");u.setClipUrl(t,n?"clip"+e._fullLayout._uid+n:null,e)}function _(t,e){var r,n,o,s,l,c,u,f,h=e.type,p=a.getRefType(e.xref),m=a.getRefType(e.yref),v=a.getFromId(t,e.xref),y=a.getFromId(t,e.yref),x=t._fullLayout._size;if(v?"domain"===p?n=function(t){return v._offset+v._length*t}:(r=g.shapePositionToRange(v),n=function(t){return v._offset+v.r2p(r(t,!0))}):n=function(t){return x.l+x.w*t},y?"domain"===m?s=function(t){return y._offset+y._length*(1-t)}:(o=g.shapePositionToRange(y),s=function(t){return y._offset+y.r2p(o(t,!0))}):s=function(t){return x.t+x.h*(1-t)},"path"===h)return v&&"date"===v.type&&(n=g.decodeDate(n)),y&&"date"===y.type&&(s=g.decodeDate(s)),function(t,e,r){var n=t.path,a=t.xsizemode,o=t.ysizemode,s=t.xanchor,l=t.yanchor;return n.replace(d.segmentRE,(function(t){var n=0,c=t.charAt(0),u=d.paramIsX[c],f=d.paramIsY[c],h=d.numParams[c],p=t.substr(1).replace(d.paramRE,(function(t){return u[n]?t="pixel"===a?e(s)+Number(t):e(t):f[n]&&(t="pixel"===o?r(l)-Number(t):r(t)),++n>h&&(t="X"),t}));return n>h&&(p=p.replace(/[\s,]*X.*/,""),i.log("Ignoring extra params in segment "+t)),c+p}))}(e,n,s);if("pixel"===e.xsizemode){var b=n(e.xanchor);l=b+e.x0,c=b+e.x1}else l=n(e.x0),c=n(e.x1);if("pixel"===e.ysizemode){var _=s(e.yanchor);u=_-e.y0,f=_-e.y1}else u=s(e.y0),f=s(e.y1);if("line"===h)return"M"+l+","+u+"L"+c+","+f;if("rect"===h)return"M"+l+","+u+"H"+c+"V"+f+"H"+l+"Z";var w=(l+c)/2,T=(u+f)/2,k=Math.abs(w-l),M=Math.abs(T-u),A="A"+k+","+M,S=w+k+","+T;return"M"+S+A+" 0 1,1 "+(w+","+(T-M))+A+" 0 0,1 "+S+"Z"}function w(t,e,r){return t.replace(d.segmentRE,(function(t){var n=0,i=t.charAt(0),a=d.paramIsX[i],o=d.paramIsY[i],s=d.numParams[i];return i+t.substr(1).replace(d.paramRE,(function(t){return n>=s||(a[n]?t=e(t):o[n]&&(t=r(t)),n++),t}))}))}function T(t){y(t)&&(t._fullLayout._activeShapeIndex>=0&&(l(t),delete t._fullLayout._activeShapeIndex,m(t)))}e.exports={draw:m,drawOne:x,eraseActiveShape:function(t){if(!y(t))return;l(t);var e=t._fullLayout._activeShapeIndex,r=(t.layout||{}).shapes||[];if(e<r.length){for(var i=[],a=0;a<r.length;a++)a!==e&&i.push(r[a]);delete t._fullLayout._activeShapeIndex,n.call("_guiRelayout",t,{shapes:i})}}}},{"../../lib":778,"../../lib/setcursor":799,"../../plot_api/plot_template":817,"../../plots/cartesian/axes":828,"../../plots/cartesian/handle_outline":838,"../../registry":911,"../color":643,"../dragelement":662,"../drawing":665,"./constants":722,"./draw_newshape/display_outlines":728,"./draw_newshape/helpers":729,"./helpers":731}],725:[function(t,e,r){"use strict";var n=t("../../drawing/attributes").dash,i=t("../../../lib/extend").extendFlat;e.exports={newshape:{line:{color:{valType:"color",editType:"none"},width:{valType:"number",min:0,dflt:4,editType:"none"},dash:i({},n,{dflt:"solid",editType:"none"}),editType:"none"},fillcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"none"},fillrule:{valType:"enumerated",values:["evenodd","nonzero"],dflt:"evenodd",editType:"none"},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"none"},layer:{valType:"enumerated",values:["below","above"],dflt:"above",editType:"none"},drawdirection:{valType:"enumerated",values:["ortho","horizontal","vertical","diagonal"],dflt:"diagonal",editType:"none"},editType:"none"},activeshape:{fillcolor:{valType:"color",dflt:"rgb(255,0,255)",editType:"none"},opacity:{valType:"number",min:0,max:1,dflt:.5,editType:"none"},editType:"none"}}},{"../../../lib/extend":768,"../../drawing/attributes":664}],726:[function(t,e,r){"use strict";e.exports={CIRCLE_SIDES:32,i000:0,i090:8,i180:16,i270:24,cos45:Math.cos(Math.PI/4),sin45:Math.sin(Math.PI/4),SQRT2:Math.sqrt(2)}},{}],727:[function(t,e,r){"use strict";var n=t("../../color");e.exports=function(t,e,r){if(r("newshape.drawdirection"),r("newshape.layer"),r("newshape.fillcolor"),r("newshape.fillrule"),r("newshape.opacity"),r("newshape.line.width")){var i=(t||{}).plot_bgcolor||"#FFF";r("newshape.line.color",n.contrast(i)),r("newshape.line.dash")}r("activeshape.fillcolor"),r("activeshape.opacity")}},{"../../color":643}],728:[function(t,e,r){"use strict";var n=t("../../dragelement"),i=t("../../dragelement/helpers").drawMode,a=t("../../../registry"),o=t("./constants"),s=o.i000,l=o.i090,c=o.i180,u=o.i270,f=t("../../../plots/cartesian/handle_outline").clearOutlineControllers,h=t("./helpers"),p=h.pointsShapeRectangle,d=h.pointsShapeEllipse,g=h.writePaths,m=t("./newshapes");e.exports=function t(e,r,o,h){h||(h=0);var v=o.gd;function y(){t(e,r,o,h++),d(e[0])&&x({redrawing:!0})}function x(t){o.isActiveShape=!1;var e=m(r,o);Object.keys(e).length&&a.call((t||{}).redrawing?"relayout":"_guiRelayout",v,e)}var b,_,w,T,k,M=o.isActiveShape,A=v._fullLayout._zoomlayer,S=o.dragmode;(i(S)?v._fullLayout._drawing=!0:v._fullLayout._activeShapeIndex>=0&&f(v),r.attr("d",g(e)),M&&!h)&&(k=function(t,e){for(var r=0;r<e.length;r++){var n=e[r];t[r]=[];for(var i=0;i<n.length;i++){t[r][i]=[];for(var a=0;a<n[i].length;a++)t[r][i][a]=n[i][a]}}return t}([],e),function(t){b=[];for(var r=0;r<e.length;r++){var i=e[r],a=!p(i)&&d(i);b[r]=[];for(var o=0;o<i.length;o++)if("Z"!==i[o][0]&&(!a||o===s||o===l||o===c||o===u)){var f=i[o][1],h=i[o][2],g=t.append("circle").classed("cursor-grab",!0).attr("data-i",r).attr("data-j",o).attr("cx",f).attr("cy",h).attr("r",4).style({"mix-blend-mode":"luminosity",fill:"black",stroke:"white","stroke-width":1});b[r][o]={element:g.node(),gd:v,prepFn:E,doneFn:L,clickFn:I},n.init(b[r][o])}}}(A.append("g").attr("class","outline-controllers")),function(){if(_=[],!e.length)return;_[0]={element:r[0][0],gd:v,prepFn:z,doneFn:O},n.init(_[0])}());function E(t){w=+t.srcElement.getAttribute("data-i"),T=+t.srcElement.getAttribute("data-j"),b[w][T].moveFn=C}function C(t,r){if(e.length){var n=k[w][T][1],i=k[w][T][2],a=e[w],o=a.length;if(p(a)){for(var s=0;s<o;s++)if(s!==T){var l=a[s];l[1]===a[T][1]&&(l[1]=n+t),l[2]===a[T][2]&&(l[2]=i+r)}if(a[T][1]=n+t,a[T][2]=i+r,!p(a))for(var c=0;c<o;c++)for(var u=0;u<a[c].length;u++)a[c][u]=k[w][c][u]}else a[T][1]=n+t,a[T][2]=i+r;y()}}function L(){x()}function I(t,r){if(2===t){w=+r.srcElement.getAttribute("data-i"),T=+r.srcElement.getAttribute("data-j");var n=e[w];p(n)||d(n)||function(){if(e.length&&e[w]&&e[w].length){for(var t=[],r=0;r<e[w].length;r++)r!==T&&t.push(e[w][r]);t.length>1&&(2!==t.length||"Z"!==t[1][0])&&(0===T&&(t[0][0]="M"),e[w]=t,y(),x())}}()}}function P(t,r){!function(t,r){if(e.length)for(var n=0;n<e.length;n++)for(var i=0;i<e[n].length;i++)for(var a=0;a+2<e[n][i].length;a+=2)e[n][i][a+1]=k[n][i][a+1]+t,e[n][i][a+2]=k[n][i][a+2]+r}(t,r),y()}function z(t){(w=+t.srcElement.getAttribute("data-i"))||(w=0),_[w].moveFn=P}function O(){x()}}},{"../../../plots/cartesian/handle_outline":838,"../../../registry":911,"../../dragelement":662,"../../dragelement/helpers":661,"./constants":726,"./helpers":729,"./newshapes":730}],729:[function(t,e,r){"use strict";var n=t("parse-svg-path"),i=t("./constants"),a=i.CIRCLE_SIDES,o=i.SQRT2,s=t("../../../plots/cartesian/helpers"),l=s.p2r,c=s.r2p,u=[0,3,4,5,6,1,2],f=[0,3,4,1,2];function h(t,e){return Math.abs(t-e)<=1e-6}function p(t,e){var r=e[1]-t[1],n=e[2]-t[2];return Math.sqrt(r*r+n*n)}r.writePaths=function(t){var e=t.length;if(!e)return"M0,0Z";for(var r="",n=0;n<e;n++)for(var i=t[n].length,a=0;a<i;a++){var o=t[n][a][0];if("Z"===o)r+="Z";else for(var s=t[n][a].length,l=0;l<s;l++){var c=l;"Q"===o||"S"===o?c=f[l]:"C"===o&&(c=u[l]),r+=t[n][a][c],l>0&&l<s-1&&(r+=",")}}return r},r.readPaths=function(t,e,r,i){var o,s,u,f=n(t),h=[],p=-1,d=0,g=0,m=function(){s=d,u=g};m();for(var v=0;v<f.length;v++){var y,x,b,_,w=[],T=f[v][0],k=T;switch(T){case"M":p++,h[p]=[],d=+f[v][1],g=+f[v][2],w.push([k,d,g]),m();break;case"Q":case"S":y=+f[v][1],b=+f[v][2],d=+f[v][3],g=+f[v][4],w.push([k,d,g,y,b]);break;case"C":y=+f[v][1],b=+f[v][2],x=+f[v][3],_=+f[v][4],d=+f[v][5],g=+f[v][6],w.push([k,d,g,y,b,x,_]);break;case"T":case"L":d=+f[v][1],g=+f[v][2],w.push([k,d,g]);break;case"H":k="L",d=+f[v][1],w.push([k,d,g]);break;case"V":k="L",g=+f[v][1],w.push([k,d,g]);break;case"A":k="L";var M=+f[v][1],A=+f[v][2];+f[v][4]||(M=-M,A=-A);var S=d-M,E=g;for(o=1;o<=a/2;o++){var C=2*Math.PI*o/a;w.push([k,S+M*Math.cos(C),E+A*Math.sin(C)])}break;case"Z":d===s&&g===u||(d=s,g=u,w.push([k,d,g]))}for(var L=(r||{}).domain,I=e._fullLayout._size,P=r&&"pixel"===r.xsizemode,z=r&&"pixel"===r.ysizemode,O=!1===i,D=0;D<w.length;D++){for(o=0;o+2<7;o+=2){var R=w[D][o+1],F=w[D][o+2];void 0!==R&&void 0!==F&&(d=R,g=F,r&&(r.xaxis&&r.xaxis.p2r?(O&&(R-=r.xaxis._offset),R=P?c(r.xaxis,r.xanchor)+R:l(r.xaxis,R)):(O&&(R-=I.l),L?R=L.x[0]+R/I.w:R/=I.w),r.yaxis&&r.yaxis.p2r?(O&&(F-=r.yaxis._offset),F=z?c(r.yaxis,r.yanchor)-F:l(r.yaxis,F)):(O&&(F-=I.t),F=L?L.y[1]-F/I.h:1-F/I.h)),w[D][o+1]=R,w[D][o+2]=F)}h[p].push(w[D].slice())}}return h},r.pointsShapeRectangle=function(t){if(5!==t.length)return!1;for(var e=1;e<3;e++){if(!h(t[0][e]-t[1][e],t[3][e]-t[2][e]))return!1;if(!h(t[0][e]-t[3][e],t[1][e]-t[2][e]))return!1}return!(!h(t[0][1],t[1][1])&&!h(t[0][1],t[3][1]))&&!!(p(t[0],t[1])*p(t[0],t[3]))},r.pointsShapeEllipse=function(t){var e=t.length;if(e!==a+1)return!1;e=a;for(var r=0;r<e;r++){var n=(2*e-r)%e,i=(e/2+n)%e,o=(e/2+r)%e;if(!h(p(t[r],t[o]),p(t[n],t[i])))return!1}return!0},r.handleEllipse=function(t,e,n){if(!t)return[e,n];var i=r.ellipseOver({x0:e[0],y0:e[1],x1:n[0],y1:n[1]}),s=(i.x1+i.x0)/2,l=(i.y1+i.y0)/2,c=(i.x1-i.x0)/2,u=(i.y1-i.y0)/2;c||(c=u/=o),u||(u=c/=o);for(var f=[],h=0;h<a;h++){var p=2*h*Math.PI/a;f.push([s+c*Math.cos(p),l+u*Math.sin(p)])}return f},r.ellipseOver=function(t){var e=t.x0,r=t.y0,n=t.x1,i=t.y1,a=n-e,s=i-r,l=((e-=a)+n)/2,c=((r-=s)+i)/2;return{x0:l-(a*=o),y0:c-(s*=o),x1:l+a,y1:c+s}}},{"../../../plots/cartesian/helpers":839,"./constants":726,"parse-svg-path":505}],730:[function(t,e,r){"use strict";var n=t("../../dragelement/helpers"),i=n.drawMode,a=n.openMode,o=t("./constants"),s=o.i000,l=o.i090,c=o.i180,u=o.i270,f=o.cos45,h=o.sin45,p=t("../../../plots/cartesian/helpers"),d=p.p2r,g=p.r2p,m=t("../../../plots/cartesian/handle_outline").clearSelect,v=t("./helpers"),y=v.readPaths,x=v.writePaths,b=v.ellipseOver;e.exports=function(t,e){if(t.length){var r=t[0][0];if(r){var n=r.getAttribute("d"),o=e.gd,p=o._fullLayout.newshape,v=e.plotinfo,_=v.xaxis,w=v.yaxis,T=!!v.domain||!v.xaxis,k=!!v.domain||!v.yaxis,M=e.isActiveShape,A=e.dragmode,S=(o.layout||{}).shapes||[];if(!i(A)&&void 0!==M){var E=o._fullLayout._activeShapeIndex;if(E<S.length)switch(o._fullLayout.shapes[E].type){case"rect":A="drawrect";break;case"circle":A="drawcircle";break;case"line":A="drawline";break;case"path":var C=S[E].path||"";A="Z"===C[C.length-1]?"drawclosedpath":"drawopenpath"}}var L,I=a(A),P=y(n,o,v,M),z={editable:!0,xref:T?"paper":_._id,yref:k?"paper":w._id,layer:p.layer,opacity:p.opacity,line:{color:p.line.color,width:p.line.width,dash:p.line.dash}};if(I||(z.fillcolor=p.fillcolor,z.fillrule=p.fillrule),1===P.length&&(L=P[0]),L&&"drawrect"===A)z.type="rect",z.x0=L[0][1],z.y0=L[0][2],z.x1=L[2][1],z.y1=L[2][2];else if(L&&"drawline"===A)z.type="line",z.x0=L[0][1],z.y0=L[0][2],z.x1=L[1][1],z.y1=L[1][2];else if(L&&"drawcircle"===A){z.type="circle";var O=L[s][1],D=L[l][1],R=L[c][1],F=L[u][1],B=L[s][2],N=L[l][2],j=L[c][2],U=L[u][2],V=v.xaxis&&("date"===v.xaxis.type||"log"===v.xaxis.type),q=v.yaxis&&("date"===v.yaxis.type||"log"===v.yaxis.type);V&&(O=g(v.xaxis,O),D=g(v.xaxis,D),R=g(v.xaxis,R),F=g(v.xaxis,F)),q&&(B=g(v.yaxis,B),N=g(v.yaxis,N),j=g(v.yaxis,j),U=g(v.yaxis,U));var H=(D+F)/2,G=(B+j)/2,Y=b({x0:H,y0:G,x1:H+(F-D+R-O)/2*f,y1:G+(U-N+j-B)/2*h});V&&(Y.x0=d(v.xaxis,Y.x0),Y.x1=d(v.xaxis,Y.x1)),q&&(Y.y0=d(v.yaxis,Y.y0),Y.y1=d(v.yaxis,Y.y1)),z.x0=Y.x0,z.y0=Y.y0,z.x1=Y.x1,z.y1=Y.y1}else z.type="path",_&&w&&function(t,e,r){var n="date"===e.type,i="date"===r.type;if(!n&&!i)return t;for(var a=0;a<t.length;a++)for(var o=0;o<t[a].length;o++)for(var s=0;s+2<t[a][o].length;s+=2)n&&(t[a][o][s+1]=t[a][o][s+1].replace(" ","_")),i&&(t[a][o][s+2]=t[a][o][s+2].replace(" ","_"))}(P,_,w),z.path=x(P),L=null;m(o);for(var W=e.editHelpers,X=(W||{}).modifyItem,Z=[],J=0;J<S.length;J++){var K=o._fullLayout.shapes[J];if(Z[J]=K._input,void 0!==M&&J===o._fullLayout._activeShapeIndex){var Q=z;switch(K.type){case"line":case"rect":case"circle":X("x0",Q.x0),X("x1",Q.x1),X("y0",Q.y0),X("y1",Q.y1);break;case"path":X("path",Q.path)}}}return void 0===M?(Z.push(z),Z):W?W.getUpdateObj():{}}}}},{"../../../plots/cartesian/handle_outline":838,"../../../plots/cartesian/helpers":839,"../../dragelement/helpers":661,"./constants":726,"./helpers":729}],731:[function(t,e,r){"use strict";var n=t("./constants"),i=t("../../lib");r.rangeToShapePosition=function(t){return"log"===t.type?t.r2d:function(t){return t}},r.shapePositionToRange=function(t){return"log"===t.type?t.d2r:function(t){return t}},r.decodeDate=function(t){return function(e){return e.replace&&(e=e.replace("_"," ")),t(e)}},r.encodeDate=function(t){return function(e){return t(e).replace(" ","_")}},r.extractPathCoords=function(t,e){var r=[];return t.match(n.segmentRE).forEach((function(t){var a=e[t.charAt(0)].drawn;if(void 0!==a){var o=t.substr(1).match(n.paramRE);!o||o.length<a||r.push(i.cleanNumber(o[a]))}})),r},r.getDataToPixel=function(t,e,n,i){var a,o=t._fullLayout._size;if(e)if("domain"===i)a=function(t){return e._length*(n?1-t:t)+e._offset};else{var s=r.shapePositionToRange(e);a=function(t){return e._offset+e.r2p(s(t,!0))},"date"===e.type&&(a=r.decodeDate(a))}else a=n?function(t){return o.t+o.h*(1-t)}:function(t){return o.l+o.w*t};return a},r.getPixelToData=function(t,e,n,i){var a,o=t._fullLayout._size;if(e)if("domain"===i)a=function(t){var r=(t-e._offset)/e._length;return n?1-r:r};else{var s=r.rangeToShapePosition(e);a=function(t){return s(e.p2r(t-e._offset))}}else a=n?function(t){return 1-(t-o.t)/o.h}:function(t){return(t-o.l)/o.w};return a},r.roundPositionForSharpStrokeRendering=function(t,e){var r=1===Math.round(e%2),n=Math.round(t);return r?n+.5:n},r.makeOptionsAndPlotinfo=function(t,e){var r=t._fullLayout.shapes[e]||{},n=t._fullLayout._plots[r.xref+r.yref];return!!n?n._hadPlotinfo=!0:(n={},r.xref&&"paper"!==r.xref&&(n.xaxis=t._fullLayout[r.xref+"axis"]),r.yref&&"paper"!==r.yref&&(n.yaxis=t._fullLayout[r.yref+"axis"])),n.xsizemode=r.xsizemode,n.ysizemode=r.ysizemode,n.xanchor=r.xanchor,n.yanchor=r.yanchor,{options:r,plotinfo:n}}},{"../../lib":778,"./constants":722}],732:[function(t,e,r){"use strict";var n=t("./draw");e.exports={moduleType:"component",name:"shapes",layoutAttributes:t("./attributes"),supplyLayoutDefaults:t("./defaults"),supplyDrawNewShapeDefaults:t("./draw_newshape/defaults"),includeBasePlot:t("../../plots/cartesian/include_components")("shapes"),calcAutorange:t("./calc_autorange"),draw:n.draw,drawOne:n.drawOne}},{"../../plots/cartesian/include_components":840,"./attributes":720,"./calc_autorange":721,"./defaults":723,"./draw":724,"./draw_newshape/defaults":727}],733:[function(t,e,r){"use strict";var n=t("../../plots/font_attributes"),i=t("../../plots/pad_attributes"),a=t("../../lib/extend").extendDeepAll,o=t("../../plot_api/edit_types").overrideAll,s=t("../../plots/animation_attributes"),l=t("../../plot_api/plot_template").templatedArray,c=t("./constants"),u=l("step",{visible:{valType:"boolean",dflt:!0},method:{valType:"enumerated",values:["restyle","relayout","animate","update","skip"],dflt:"restyle"},args:{valType:"info_array",freeLength:!0,items:[{valType:"any"},{valType:"any"},{valType:"any"}]},label:{valType:"string"},value:{valType:"string"},execute:{valType:"boolean",dflt:!0}});e.exports=o(l("slider",{visible:{valType:"boolean",dflt:!0},active:{valType:"number",min:0,dflt:0},steps:u,lenmode:{valType:"enumerated",values:["fraction","pixels"],dflt:"fraction"},len:{valType:"number",min:0,dflt:1},x:{valType:"number",min:-2,max:3,dflt:0},pad:a(i({editType:"arraydraw"}),{},{t:{dflt:20}}),xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"left"},y:{valType:"number",min:-2,max:3,dflt:0},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"top"},transition:{duration:{valType:"number",min:0,dflt:150},easing:{valType:"enumerated",values:s.transition.easing.values,dflt:"cubic-in-out"}},currentvalue:{visible:{valType:"boolean",dflt:!0},xanchor:{valType:"enumerated",values:["left","center","right"],dflt:"left"},offset:{valType:"number",dflt:10},prefix:{valType:"string"},suffix:{valType:"string"},font:n({})},font:n({}),activebgcolor:{valType:"color",dflt:c.gripBgActiveColor},bgcolor:{valType:"color",dflt:c.railBgColor},bordercolor:{valType:"color",dflt:c.railBorderColor},borderwidth:{valType:"number",min:0,dflt:c.railBorderWidth},ticklen:{valType:"number",min:0,dflt:c.tickLength},tickcolor:{valType:"color",dflt:c.tickColor},tickwidth:{valType:"number",min:0,dflt:1},minorticklen:{valType:"number",min:0,dflt:c.minorTickLength}}),"arraydraw","from-root")},{"../../lib/extend":768,"../../plot_api/edit_types":810,"../../plot_api/plot_template":817,"../../plots/animation_attributes":822,"../../plots/font_attributes":856,"../../plots/pad_attributes":890,"./constants":734}],734:[function(t,e,r){"use strict";e.exports={name:"sliders",containerClassName:"slider-container",groupClassName:"slider-group",inputAreaClass:"slider-input-area",railRectClass:"slider-rail-rect",railTouchRectClass:"slider-rail-touch-rect",gripRectClass:"slider-grip-rect",tickRectClass:"slider-tick-rect",inputProxyClass:"slider-input-proxy",labelsClass:"slider-labels",labelGroupClass:"slider-label-group",labelClass:"slider-label",currentValueClass:"slider-current-value",railHeight:5,menuIndexAttrName:"slider-active-index",autoMarginIdRoot:"slider-",minWidth:30,minHeight:30,textPadX:40,arrowOffsetX:4,railRadius:2,railWidth:5,railBorder:4,railBorderWidth:1,railBorderColor:"#bec8d9",railBgColor:"#f8fafc",railInset:8,stepInset:10,gripRadius:10,gripWidth:20,gripHeight:20,gripBorder:20,gripBorderWidth:1,gripBorderColor:"#bec8d9",gripBgColor:"#f6f8fa",gripBgActiveColor:"#dbdde0",labelPadding:8,labelOffset:0,tickWidth:1,tickColor:"#333",tickOffset:25,tickLength:7,minorTickOffset:25,minorTickColor:"#333",minorTickLength:4,currentValuePadding:8,currentValueInset:0}},{}],735:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../plots/array_container_defaults"),a=t("./attributes"),o=t("./constants").name,s=a.steps;function l(t,e,r){function o(r,i){return n.coerce(t,e,a,r,i)}for(var s=i(t,e,{name:"steps",handleItemDefaults:c}),l=0,u=0;u<s.length;u++)s[u].visible&&l++;if(l<2?e.visible=!1:o("visible")){e._stepCount=l;var f=e._visibleSteps=n.filterVisible(s);(s[o("active")]||{}).visible||(e.active=f[0]._index),o("x"),o("y"),n.noneOrAll(t,e,["x","y"]),o("xanchor"),o("yanchor"),o("len"),o("lenmode"),o("pad.t"),o("pad.r"),o("pad.b"),o("pad.l"),n.coerceFont(o,"font",r.font),o("currentvalue.visible")&&(o("currentvalue.xanchor"),o("currentvalue.prefix"),o("currentvalue.suffix"),o("currentvalue.offset"),n.coerceFont(o,"currentvalue.font",e.font)),o("transition.duration"),o("transition.easing"),o("bgcolor"),o("activebgcolor"),o("bordercolor"),o("borderwidth"),o("ticklen"),o("tickwidth"),o("tickcolor"),o("minorticklen")}}function c(t,e){function r(r,i){return n.coerce(t,e,s,r,i)}if("skip"===t.method||Array.isArray(t.args)?r("visible"):e.visible=!1){r("method"),r("args");var i=r("label","step-"+e._index);r("value",i),r("execute")}}e.exports=function(t,e){i(t,e,{name:o,handleItemDefaults:l})}},{"../../lib":778,"../../plots/array_container_defaults":823,"./attributes":733,"./constants":734}],736:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../plots/plots"),a=t("../color"),o=t("../drawing"),s=t("../../lib"),l=s.strTranslate,c=t("../../lib/svg_text_utils"),u=t("../../plot_api/plot_template").arrayEditor,f=t("./constants"),h=t("../../constants/alignment"),p=h.LINE_SPACING,d=h.FROM_TL,g=h.FROM_BR;function m(t){return f.autoMarginIdRoot+t._index}function v(t){return t._index}function y(t,e){var r=o.tester.selectAll("g."+f.labelGroupClass).data(e._visibleSteps);r.enter().append("g").classed(f.labelGroupClass,!0);var a=0,l=0;r.each((function(t){var r=_(n.select(this),{step:t},e).node();if(r){var i=o.bBox(r);l=Math.max(l,i.height),a=Math.max(a,i.width)}})),r.remove();var u=e._dims={};u.inputAreaWidth=Math.max(f.railWidth,f.gripHeight);var h=t._fullLayout._size;u.lx=h.l+h.w*e.x,u.ly=h.t+h.h*(1-e.y),"fraction"===e.lenmode?u.outerLength=Math.round(h.w*e.len):u.outerLength=e.len,u.inputAreaStart=0,u.inputAreaLength=Math.round(u.outerLength-e.pad.l-e.pad.r);var p=(u.inputAreaLength-2*f.stepInset)/(e._stepCount-1),v=a+f.labelPadding;if(u.labelStride=Math.max(1,Math.ceil(v/p)),u.labelHeight=l,u.currentValueMaxWidth=0,u.currentValueHeight=0,u.currentValueTotalHeight=0,u.currentValueMaxLines=1,e.currentvalue.visible){var y=o.tester.append("g");r.each((function(t){var r=x(y,e,t.label),n=r.node()&&o.bBox(r.node())||{width:0,height:0},i=c.lineCount(r);u.currentValueMaxWidth=Math.max(u.currentValueMaxWidth,Math.ceil(n.width)),u.currentValueHeight=Math.max(u.currentValueHeight,Math.ceil(n.height)),u.currentValueMaxLines=Math.max(u.currentValueMaxLines,i)})),u.currentValueTotalHeight=u.currentValueHeight+e.currentvalue.offset,y.remove()}u.height=u.currentValueTotalHeight+f.tickOffset+e.ticklen+f.labelOffset+u.labelHeight+e.pad.t+e.pad.b;var b="left";s.isRightAnchor(e)&&(u.lx-=u.outerLength,b="right"),s.isCenterAnchor(e)&&(u.lx-=u.outerLength/2,b="center");var w="top";s.isBottomAnchor(e)&&(u.ly-=u.height,w="bottom"),s.isMiddleAnchor(e)&&(u.ly-=u.height/2,w="middle"),u.outerLength=Math.ceil(u.outerLength),u.height=Math.ceil(u.height),u.lx=Math.round(u.lx),u.ly=Math.round(u.ly);var T={y:e.y,b:u.height*g[w],t:u.height*d[w]};"fraction"===e.lenmode?(T.l=0,T.xl=e.x-e.len*d[b],T.r=0,T.xr=e.x+e.len*g[b]):(T.x=e.x,T.l=u.outerLength*d[b],T.r=u.outerLength*g[b]),i.autoMargin(t,m(e),T)}function x(t,e,r){if(e.currentvalue.visible){var n,i,a=e._dims;switch(e.currentvalue.xanchor){case"right":n=a.inputAreaLength-f.currentValueInset-a.currentValueMaxWidth,i="left";break;case"center":n=.5*a.inputAreaLength,i="middle";break;default:n=f.currentValueInset,i="left"}var l=s.ensureSingle(t,"text",f.labelClass,(function(t){t.attr({"text-anchor":i,"data-notex":1})})),u=e.currentvalue.prefix?e.currentvalue.prefix:"";if("string"==typeof r)u+=r;else{var h=e.steps[e.active].label,d=e._gd._fullLayout._meta;d&&(h=s.templateString(h,d)),u+=h}e.currentvalue.suffix&&(u+=e.currentvalue.suffix),l.call(o.font,e.currentvalue.font).text(u).call(c.convertToTspans,e._gd);var g=c.lineCount(l),m=(a.currentValueMaxLines+1-g)*e.currentvalue.font.size*p;return c.positionText(l,n,m),l}}function b(t,e,r){s.ensureSingle(t,"rect",f.gripRectClass,(function(n){n.call(M,e,t,r).style("pointer-events","all")})).attr({width:f.gripWidth,height:f.gripHeight,rx:f.gripRadius,ry:f.gripRadius}).call(a.stroke,r.bordercolor).call(a.fill,r.bgcolor).style("stroke-width",r.borderwidth+"px")}function _(t,e,r){var n=s.ensureSingle(t,"text",f.labelClass,(function(t){t.attr({"text-anchor":"middle","data-notex":1})})),i=e.step.label,a=r._gd._fullLayout._meta;return a&&(i=s.templateString(i,a)),n.call(o.font,r.font).text(i).call(c.convertToTspans,r._gd),n}function w(t,e){var r=s.ensureSingle(t,"g",f.labelsClass),i=e._dims,a=r.selectAll("g."+f.labelGroupClass).data(i.labelSteps);a.enter().append("g").classed(f.labelGroupClass,!0),a.exit().remove(),a.each((function(t){var r=n.select(this);r.call(_,t,e),o.setTranslate(r,E(e,t.fraction),f.tickOffset+e.ticklen+e.font.size*p+f.labelOffset+i.currentValueTotalHeight)}))}function T(t,e,r,n,i){var a=Math.round(n*(r._stepCount-1)),o=r._visibleSteps[a]._index;o!==r.active&&k(t,e,r,o,!0,i)}function k(t,e,r,n,a,o){var s=r.active;r.active=n,u(t.layout,f.name,r).applyUpdate("active",n);var l=r.steps[r.active];e.call(S,r,o),e.call(x,r),t.emit("plotly_sliderchange",{slider:r,step:r.steps[r.active],interaction:a,previousActive:s}),l&&l.method&&a&&(e._nextMethod?(e._nextMethod.step=l,e._nextMethod.doCallback=a,e._nextMethod.doTransition=o):(e._nextMethod={step:l,doCallback:a,doTransition:o},e._nextMethodRaf=window.requestAnimationFrame((function(){var r=e._nextMethod.step;r.method&&(r.execute&&i.executeAPICommand(t,r.method,r.args),e._nextMethod=null,e._nextMethodRaf=null)}))))}function M(t,e,r){var i=r.node(),o=n.select(e);function s(){return r.data()[0]}t.on("mousedown",(function(){var t=s();e.emit("plotly_sliderstart",{slider:t});var l=r.select("."+f.gripRectClass);n.event.stopPropagation(),n.event.preventDefault(),l.call(a.fill,t.activebgcolor);var c=C(t,n.mouse(i)[0]);T(e,r,t,c,!0),t._dragging=!0,o.on("mousemove",(function(){var t=s(),a=C(t,n.mouse(i)[0]);T(e,r,t,a,!1)})),o.on("mouseup",(function(){var t=s();t._dragging=!1,l.call(a.fill,t.bgcolor),o.on("mouseup",null),o.on("mousemove",null),e.emit("plotly_sliderend",{slider:t,step:t.steps[t.active]})}))}))}function A(t,e){var r=t.selectAll("rect."+f.tickRectClass).data(e._visibleSteps),i=e._dims;r.enter().append("rect").classed(f.tickRectClass,!0),r.exit().remove(),r.attr({width:e.tickwidth+"px","shape-rendering":"crispEdges"}),r.each((function(t,r){var s=r%i.labelStride==0,l=n.select(this);l.attr({height:s?e.ticklen:e.minorticklen}).call(a.fill,e.tickcolor),o.setTranslate(l,E(e,r/(e._stepCount-1))-.5*e.tickwidth,(s?f.tickOffset:f.minorTickOffset)+i.currentValueTotalHeight)}))}function S(t,e,r){for(var n=t.select("rect."+f.gripRectClass),i=0,a=0;a<e._stepCount;a++)if(e._visibleSteps[a]._index===e.active){i=a;break}var o=E(e,i/(e._stepCount-1));if(!e._invokingCommand){var s=n;r&&e.transition.duration>0&&(s=s.transition().duration(e.transition.duration).ease(e.transition.easing)),s.attr("transform",l(o-.5*f.gripWidth,e._dims.currentValueTotalHeight))}}function E(t,e){var r=t._dims;return r.inputAreaStart+f.stepInset+(r.inputAreaLength-2*f.stepInset)*Math.min(1,Math.max(0,e))}function C(t,e){var r=t._dims;return Math.min(1,Math.max(0,(e-f.stepInset-r.inputAreaStart)/(r.inputAreaLength-2*f.stepInset-2*r.inputAreaStart)))}function L(t,e,r){var n=r._dims,i=s.ensureSingle(t,"rect",f.railTouchRectClass,(function(n){n.call(M,e,t,r).style("pointer-events","all")}));i.attr({width:n.inputAreaLength,height:Math.max(n.inputAreaWidth,f.tickOffset+r.ticklen+n.labelHeight)}).call(a.fill,r.bgcolor).attr("opacity",0),o.setTranslate(i,0,n.currentValueTotalHeight)}function I(t,e){var r=e._dims,n=r.inputAreaLength-2*f.railInset,i=s.ensureSingle(t,"rect",f.railRectClass);i.attr({width:n,height:f.railWidth,rx:f.railRadius,ry:f.railRadius,"shape-rendering":"crispEdges"}).call(a.stroke,e.bordercolor).call(a.fill,e.bgcolor).style("stroke-width",e.borderwidth+"px"),o.setTranslate(i,f.railInset,.5*(r.inputAreaWidth-f.railWidth)+r.currentValueTotalHeight)}e.exports=function(t){var e=t._fullLayout,r=function(t,e){for(var r=t[f.name],n=[],i=0;i<r.length;i++){var a=r[i];a.visible&&(a._gd=e,n.push(a))}return n}(e,t),a=e._infolayer.selectAll("g."+f.containerClassName).data(r.length>0?[0]:[]);function s(e){e._commandObserver&&(e._commandObserver.remove(),delete e._commandObserver),i.autoMargin(t,m(e))}if(a.enter().append("g").classed(f.containerClassName,!0).style("cursor","ew-resize"),a.exit().each((function(){n.select(this).selectAll("g."+f.groupClassName).each(s)})).remove(),0!==r.length){var l=a.selectAll("g."+f.groupClassName).data(r,v);l.enter().append("g").classed(f.groupClassName,!0),l.exit().each(s).remove();for(var c=0;c<r.length;c++){var u=r[c];y(t,u)}l.each((function(e){var r=n.select(this);!function(t){var e=t._dims;e.labelSteps=[];for(var r=t._stepCount,n=0;n<r;n+=e.labelStride)e.labelSteps.push({fraction:n/(r-1),step:t._visibleSteps[n]})}(e),i.manageCommandObserver(t,e,e._visibleSteps,(function(e){var n=r.data()[0];n.active!==e.index&&(n._dragging||k(t,r,n,e.index,!1,!0))})),function(t,e,r){(r.steps[r.active]||{}).visible||(r.active=r._visibleSteps[0]._index);e.call(x,r).call(I,r).call(w,r).call(A,r).call(L,t,r).call(b,t,r);var n=r._dims;o.setTranslate(e,n.lx+r.pad.l,n.ly+r.pad.t),e.call(S,r,!1),e.call(x,r)}(t,n.select(this),e)}))}}},{"../../constants/alignment":745,"../../lib":778,"../../lib/svg_text_utils":803,"../../plot_api/plot_template":817,"../../plots/plots":891,"../color":643,"../drawing":665,"./constants":734,d3:169}],737:[function(t,e,r){"use strict";var n=t("./constants");e.exports={moduleType:"component",name:n.name,layoutAttributes:t("./attributes"),supplyLayoutDefaults:t("./defaults"),draw:t("./draw")}},{"./attributes":733,"./constants":734,"./defaults":735,"./draw":736}],738:[function(t,e,r){"use strict";var n=t("d3"),i=t("fast-isnumeric"),a=t("../../plots/plots"),o=t("../../registry"),s=t("../../lib"),l=s.strTranslate,c=t("../drawing"),u=t("../color"),f=t("../../lib/svg_text_utils"),h=t("../../constants/interactions"),p=t("../../constants/alignment").OPPOSITE_SIDE,d=/ [XY][0-9]* /;e.exports={draw:function(t,e,r){var g,m=r.propContainer,v=r.propName,y=r.placeholder,x=r.traceIndex,b=r.avoid||{},_=r.attributes,w=r.transform,T=r.containerGroup,k=t._fullLayout,M=1,A=!1,S=m.title,E=(S&&S.text?S.text:"").trim(),C=S&&S.font?S.font:{},L=C.family,I=C.size,P=C.color;"title.text"===v?g="titleText":-1!==v.indexOf("axis")?g="axisTitleText":v.indexOf(!0)&&(g="colorbarTitleText");var z=t._context.edits[g];""===E?M=0:E.replace(d," % ")===y.replace(d," % ")&&(M=.2,A=!0,z||(E="")),r._meta?E=s.templateString(E,r._meta):k._meta&&(E=s.templateString(E,k._meta));var O=E||z;T||(T=s.ensureSingle(k._infolayer,"g","g-"+e));var D=T.selectAll("text").data(O?[0]:[]);if(D.enter().append("text"),D.text(E).attr("class",e),D.exit().remove(),!O)return T;function R(t){s.syncOrAsync([F,B],t)}function F(e){var r;return w?(r="",w.rotate&&(r+="rotate("+[w.rotate,_.x,_.y]+")"),w.offset&&(r+=l(0,w.offset))):r=null,e.attr("transform",r),e.style({"font-family":L,"font-size":n.round(I,2)+"px",fill:u.rgb(P),opacity:M*u.opacity(P),"font-weight":a.fontWeight}).attr(_).call(f.convertToTspans,t),a.previousPromises(t)}function B(t){var e=n.select(t.node().parentNode);if(b&&b.selection&&b.side&&E){e.attr("transform",null);var r=p[b.side],a="left"===b.side||"top"===b.side?-1:1,o=i(b.pad)?b.pad:2,u=c.bBox(e.node()),f={left:0,top:0,right:k.width,bottom:k.height},h=b.maxShift||a*(f[b.side]-u[b.side]),d=0;if(h<0)d=h;else{var g=b.offsetLeft||0,m=b.offsetTop||0;u.left-=g,u.right-=g,u.top-=m,u.bottom-=m,b.selection.each((function(){var t=c.bBox(this);s.bBoxIntersect(u,t,o)&&(d=Math.max(d,a*(t[b.side]-u[r])+o))})),d=Math.min(h,d)}if(d>0||h<0){var v={left:[-d,0],right:[d,0],top:[0,-d],bottom:[0,d]}[b.side];e.attr("transform",l(v[0],v[1]))}}}return D.call(R),z&&(E?D.on(".opacity",null):(M=0,A=!0,D.text(y).on("mouseover.opacity",(function(){n.select(this).transition().duration(h.SHOW_PLACEHOLDER).style("opacity",1)})).on("mouseout.opacity",(function(){n.select(this).transition().duration(h.HIDE_PLACEHOLDER).style("opacity",0)}))),D.call(f.makeEditable,{gd:t}).on("edit",(function(e){void 0!==x?o.call("_guiRestyle",t,v,e,x):o.call("_guiRelayout",t,v,e)})).on("cancel",(function(){this.text(this.attr("data-unformatted")).call(R)})).on("input",(function(t){this.text(t||" ").call(f.positionText,_.x,_.y)}))),D.classed("js-placeholder",A),T}}},{"../../constants/alignment":745,"../../constants/interactions":752,"../../lib":778,"../../lib/svg_text_utils":803,"../../plots/plots":891,"../../registry":911,"../color":643,"../drawing":665,d3:169,"fast-isnumeric":241}],739:[function(t,e,r){"use strict";var n=t("../../plots/font_attributes"),i=t("../color/attributes"),a=t("../../lib/extend").extendFlat,o=t("../../plot_api/edit_types").overrideAll,s=t("../../plots/pad_attributes"),l=t("../../plot_api/plot_template").templatedArray,c=l("button",{visible:{valType:"boolean"},method:{valType:"enumerated",values:["restyle","relayout","animate","update","skip"],dflt:"restyle"},args:{valType:"info_array",freeLength:!0,items:[{valType:"any"},{valType:"any"},{valType:"any"}]},args2:{valType:"info_array",freeLength:!0,items:[{valType:"any"},{valType:"any"},{valType:"any"}]},label:{valType:"string",dflt:""},execute:{valType:"boolean",dflt:!0}});e.exports=o(l("updatemenu",{_arrayAttrRegexps:[/^updatemenus\[(0|[1-9][0-9]+)\]\.buttons/],visible:{valType:"boolean"},type:{valType:"enumerated",values:["dropdown","buttons"],dflt:"dropdown"},direction:{valType:"enumerated",values:["left","right","up","down"],dflt:"down"},active:{valType:"integer",min:-1,dflt:0},showactive:{valType:"boolean",dflt:!0},buttons:c,x:{valType:"number",min:-2,max:3,dflt:-.05},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"right"},y:{valType:"number",min:-2,max:3,dflt:1},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"top"},pad:a(s({editType:"arraydraw"}),{}),font:n({}),bgcolor:{valType:"color"},bordercolor:{valType:"color",dflt:i.borderLine},borderwidth:{valType:"number",min:0,dflt:1,editType:"arraydraw"}}),"arraydraw","from-root")},{"../../lib/extend":768,"../../plot_api/edit_types":810,"../../plot_api/plot_template":817,"../../plots/font_attributes":856,"../../plots/pad_attributes":890,"../color/attributes":642}],740:[function(t,e,r){"use strict";e.exports={name:"updatemenus",containerClassName:"updatemenu-container",headerGroupClassName:"updatemenu-header-group",headerClassName:"updatemenu-header",headerArrowClassName:"updatemenu-header-arrow",dropdownButtonGroupClassName:"updatemenu-dropdown-button-group",dropdownButtonClassName:"updatemenu-dropdown-button",buttonClassName:"updatemenu-button",itemRectClassName:"updatemenu-item-rect",itemTextClassName:"updatemenu-item-text",menuIndexAttrName:"updatemenu-active-index",autoMarginIdRoot:"updatemenu-",blankHeaderOpts:{label:" "},minWidth:30,minHeight:30,textPadX:24,arrowPadX:16,rx:2,ry:2,textOffsetX:12,textOffsetY:3,arrowOffsetX:4,gapButtonHeader:5,gapButton:2,activeColor:"#F4FAFF",hoverColor:"#F4FAFF",arrowSymbol:{left:"\u25c4",right:"\u25ba",up:"\u25b2",down:"\u25bc"}}},{}],741:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../plots/array_container_defaults"),a=t("./attributes"),o=t("./constants").name,s=a.buttons;function l(t,e,r){function o(r,i){return n.coerce(t,e,a,r,i)}o("visible",i(t,e,{name:"buttons",handleItemDefaults:c}).length>0)&&(o("active"),o("direction"),o("type"),o("showactive"),o("x"),o("y"),n.noneOrAll(t,e,["x","y"]),o("xanchor"),o("yanchor"),o("pad.t"),o("pad.r"),o("pad.b"),o("pad.l"),n.coerceFont(o,"font",r.font),o("bgcolor",r.paper_bgcolor),o("bordercolor"),o("borderwidth"))}function c(t,e){function r(r,i){return n.coerce(t,e,s,r,i)}r("visible","skip"===t.method||Array.isArray(t.args))&&(r("method"),r("args"),r("args2"),r("label"),r("execute"))}e.exports=function(t,e){i(t,e,{name:o,handleItemDefaults:l})}},{"../../lib":778,"../../plots/array_container_defaults":823,"./attributes":739,"./constants":740}],742:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../plots/plots"),a=t("../color"),o=t("../drawing"),s=t("../../lib"),l=t("../../lib/svg_text_utils"),c=t("../../plot_api/plot_template").arrayEditor,u=t("../../constants/alignment").LINE_SPACING,f=t("./constants"),h=t("./scrollbox");function p(t){return t._index}function d(t,e){return+t.attr(f.menuIndexAttrName)===e._index}function g(t,e,r,n,i,a,o,s){e.active=o,c(t.layout,f.name,e).applyUpdate("active",o),"buttons"===e.type?v(t,n,null,null,e):"dropdown"===e.type&&(i.attr(f.menuIndexAttrName,"-1"),m(t,n,i,a,e),s||v(t,n,i,a,e))}function m(t,e,r,n,i){var a=s.ensureSingle(e,"g",f.headerClassName,(function(t){t.style("pointer-events","all")})),l=i._dims,c=i.active,u=i.buttons[c]||f.blankHeaderOpts,h={y:i.pad.t,yPad:0,x:i.pad.l,xPad:0,index:0},p={width:l.headerWidth,height:l.headerHeight};a.call(y,i,u,t).call(A,i,h,p),s.ensureSingle(e,"text",f.headerArrowClassName,(function(t){t.attr("text-anchor","end").call(o.font,i.font).text(f.arrowSymbol[i.direction])})).attr({x:l.headerWidth-f.arrowOffsetX+i.pad.l,y:l.headerHeight/2+f.textOffsetY+i.pad.t}),a.on("click",(function(){r.call(S,String(d(r,i)?-1:i._index)),v(t,e,r,n,i)})),a.on("mouseover",(function(){a.call(w)})),a.on("mouseout",(function(){a.call(T,i)})),o.setTranslate(e,l.lx,l.ly)}function v(t,e,r,a,o){r||(r=e).attr("pointer-events","all");var l=function(t){return-1==+t.attr(f.menuIndexAttrName)}(r)&&"buttons"!==o.type?[]:o.buttons,c="dropdown"===o.type?f.dropdownButtonClassName:f.buttonClassName,u=r.selectAll("g."+c).data(s.filterVisible(l)),h=u.enter().append("g").classed(c,!0),p=u.exit();"dropdown"===o.type?(h.attr("opacity","0").transition().attr("opacity","1"),p.transition().attr("opacity","0").remove()):p.remove();var d=0,m=0,v=o._dims,x=-1!==["up","down"].indexOf(o.direction);"dropdown"===o.type&&(x?m=v.headerHeight+f.gapButtonHeader:d=v.headerWidth+f.gapButtonHeader),"dropdown"===o.type&&"up"===o.direction&&(m=-f.gapButtonHeader+f.gapButton-v.openHeight),"dropdown"===o.type&&"left"===o.direction&&(d=-f.gapButtonHeader+f.gapButton-v.openWidth);var b={x:v.lx+d+o.pad.l,y:v.ly+m+o.pad.t,yPad:f.gapButton,xPad:f.gapButton,index:0},k={l:b.x+o.borderwidth,t:b.y+o.borderwidth};u.each((function(s,l){var c=n.select(this);c.call(y,o,s,t).call(A,o,b),c.on("click",(function(){n.event.defaultPrevented||(s.execute&&(s.args2&&o.active===l?(g(t,o,0,e,r,a,-1),i.executeAPICommand(t,s.method,s.args2)):(g(t,o,0,e,r,a,l),i.executeAPICommand(t,s.method,s.args))),t.emit("plotly_buttonclicked",{menu:o,button:s,active:o.active}))})),c.on("mouseover",(function(){c.call(w)})),c.on("mouseout",(function(){c.call(T,o),u.call(_,o)}))})),u.call(_,o),x?(k.w=Math.max(v.openWidth,v.headerWidth),k.h=b.y-k.t):(k.w=b.x-k.l,k.h=Math.max(v.openHeight,v.headerHeight)),k.direction=o.direction,a&&(u.size()?function(t,e,r,n,i,a){var o,s,l,c=i.direction,u="up"===c||"down"===c,h=i._dims,p=i.active;if(u)for(s=0,l=0;l<p;l++)s+=h.heights[l]+f.gapButton;else for(o=0,l=0;l<p;l++)o+=h.widths[l]+f.gapButton;n.enable(a,o,s),n.hbar&&n.hbar.attr("opacity","0").transition().attr("opacity","1");n.vbar&&n.vbar.attr("opacity","0").transition().attr("opacity","1")}(0,0,0,a,o,k):function(t){var e=!!t.hbar,r=!!t.vbar;e&&t.hbar.transition().attr("opacity","0").each("end",(function(){e=!1,r||t.disable()}));r&&t.vbar.transition().attr("opacity","0").each("end",(function(){r=!1,e||t.disable()}))}(a))}function y(t,e,r,n){t.call(x,e).call(b,e,r,n)}function x(t,e){s.ensureSingle(t,"rect",f.itemRectClassName,(function(t){t.attr({rx:f.rx,ry:f.ry,"shape-rendering":"crispEdges"})})).call(a.stroke,e.bordercolor).call(a.fill,e.bgcolor).style("stroke-width",e.borderwidth+"px")}function b(t,e,r,n){var i=s.ensureSingle(t,"text",f.itemTextClassName,(function(t){t.attr({"text-anchor":"start","data-notex":1})})),a=r.label,c=n._fullLayout._meta;c&&(a=s.templateString(a,c)),i.call(o.font,e.font).text(a).call(l.convertToTspans,n)}function _(t,e){var r=e.active;t.each((function(t,i){var o=n.select(this);i===r&&e.showactive&&o.select("rect."+f.itemRectClassName).call(a.fill,f.activeColor)}))}function w(t){t.select("rect."+f.itemRectClassName).call(a.fill,f.hoverColor)}function T(t,e){t.select("rect."+f.itemRectClassName).call(a.fill,e.bgcolor)}function k(t,e){var r=e._dims={width1:0,height1:0,heights:[],widths:[],totalWidth:0,totalHeight:0,openWidth:0,openHeight:0,lx:0,ly:0},a=o.tester.selectAll("g."+f.dropdownButtonClassName).data(s.filterVisible(e.buttons));a.enter().append("g").classed(f.dropdownButtonClassName,!0);var c=-1!==["up","down"].indexOf(e.direction);a.each((function(i,a){var s=n.select(this);s.call(y,e,i,t);var h=s.select("."+f.itemTextClassName),p=h.node()&&o.bBox(h.node()).width,d=Math.max(p+f.textPadX,f.minWidth),g=e.font.size*u,m=l.lineCount(h),v=Math.max(g*m,f.minHeight)+f.textOffsetY;v=Math.ceil(v),d=Math.ceil(d),r.widths[a]=d,r.heights[a]=v,r.height1=Math.max(r.height1,v),r.width1=Math.max(r.width1,d),c?(r.totalWidth=Math.max(r.totalWidth,d),r.openWidth=r.totalWidth,r.totalHeight+=v+f.gapButton,r.openHeight+=v+f.gapButton):(r.totalWidth+=d+f.gapButton,r.openWidth+=d+f.gapButton,r.totalHeight=Math.max(r.totalHeight,v),r.openHeight=r.totalHeight)})),c?r.totalHeight-=f.gapButton:r.totalWidth-=f.gapButton,r.headerWidth=r.width1+f.arrowPadX,r.headerHeight=r.height1,"dropdown"===e.type&&(c?(r.width1+=f.arrowPadX,r.totalHeight=r.height1):r.totalWidth=r.width1,r.totalWidth+=f.arrowPadX),a.remove();var h=r.totalWidth+e.pad.l+e.pad.r,p=r.totalHeight+e.pad.t+e.pad.b,d=t._fullLayout._size;r.lx=d.l+d.w*e.x,r.ly=d.t+d.h*(1-e.y);var g="left";s.isRightAnchor(e)&&(r.lx-=h,g="right"),s.isCenterAnchor(e)&&(r.lx-=h/2,g="center");var m="top";s.isBottomAnchor(e)&&(r.ly-=p,m="bottom"),s.isMiddleAnchor(e)&&(r.ly-=p/2,m="middle"),r.totalWidth=Math.ceil(r.totalWidth),r.totalHeight=Math.ceil(r.totalHeight),r.lx=Math.round(r.lx),r.ly=Math.round(r.ly),i.autoMargin(t,M(e),{x:e.x,y:e.y,l:h*({right:1,center:.5}[g]||0),r:h*({left:1,center:.5}[g]||0),b:p*({top:1,middle:.5}[m]||0),t:p*({bottom:1,middle:.5}[m]||0)})}function M(t){return f.autoMarginIdRoot+t._index}function A(t,e,r,n){n=n||{};var i=t.select("."+f.itemRectClassName),a=t.select("."+f.itemTextClassName),s=e.borderwidth,c=r.index,h=e._dims;o.setTranslate(t,s+r.x,s+r.y);var p=-1!==["up","down"].indexOf(e.direction),d=n.height||(p?h.heights[c]:h.height1);i.attr({x:0,y:0,width:n.width||(p?h.width1:h.widths[c]),height:d});var g=e.font.size*u,m=(l.lineCount(a)-1)*g/2;l.positionText(a,f.textOffsetX,d/2-m+f.textOffsetY),p?r.y+=h.heights[c]+r.yPad:r.x+=h.widths[c]+r.xPad,r.index++}function S(t,e){t.attr(f.menuIndexAttrName,e||"-1").selectAll("g."+f.dropdownButtonClassName).remove()}e.exports=function(t){var e=t._fullLayout,r=s.filterVisible(e[f.name]);function a(e){i.autoMargin(t,M(e))}var o=e._menulayer.selectAll("g."+f.containerClassName).data(r.length>0?[0]:[]);if(o.enter().append("g").classed(f.containerClassName,!0).style("cursor","pointer"),o.exit().each((function(){n.select(this).selectAll("g."+f.headerGroupClassName).each(a)})).remove(),0!==r.length){var l=o.selectAll("g."+f.headerGroupClassName).data(r,p);l.enter().append("g").classed(f.headerGroupClassName,!0);for(var c=s.ensureSingle(o,"g",f.dropdownButtonGroupClassName,(function(t){t.style("pointer-events","all")})),u=0;u<r.length;u++){var y=r[u];k(t,y)}var x="updatemenus"+e._uid,b=new h(t,c,x);l.enter().size()&&(c.node().parentNode.appendChild(c.node()),c.call(S)),l.exit().each((function(t){c.call(S),a(t)})).remove(),l.each((function(e){var r=n.select(this),a="dropdown"===e.type?c:null;i.manageCommandObserver(t,e,e.buttons,(function(n){g(t,e,e.buttons[n.index],r,a,b,n.index,!0)})),"dropdown"===e.type?(m(t,r,c,b,e),d(c,e)&&v(t,r,c,b,e)):v(t,r,null,null,e)}))}}},{"../../constants/alignment":745,"../../lib":778,"../../lib/svg_text_utils":803,"../../plot_api/plot_template":817,"../../plots/plots":891,"../color":643,"../drawing":665,"./constants":740,"./scrollbox":744,d3:169}],743:[function(t,e,r){arguments[4][737][0].apply(r,arguments)},{"./attributes":739,"./constants":740,"./defaults":741,"./draw":742,dup:737}],744:[function(t,e,r){"use strict";e.exports=s;var n=t("d3"),i=t("../color"),a=t("../drawing"),o=t("../../lib");function s(t,e,r){this.gd=t,this.container=e,this.id=r,this.position=null,this.translateX=null,this.translateY=null,this.hbar=null,this.vbar=null,this.bg=this.container.selectAll("rect.scrollbox-bg").data([0]),this.bg.exit().on(".drag",null).on("wheel",null).remove(),this.bg.enter().append("rect").classed("scrollbox-bg",!0).style("pointer-events","all").attr({opacity:0,x:0,y:0,width:0,height:0})}s.barWidth=2,s.barLength=20,s.barRadius=2,s.barPad=1,s.barColor="#808BA4",s.prototype.enable=function(t,e,r){var o=this.gd._fullLayout,l=o.width,c=o.height;this.position=t;var u,f,h,p,d=this.position.l,g=this.position.w,m=this.position.t,v=this.position.h,y=this.position.direction,x="down"===y,b="left"===y,_="up"===y,w=g,T=v;x||b||"right"===y||_||(this.position.direction="down",x=!0),x||_?(f=(u=d)+w,x?(h=m,T=(p=Math.min(h+T,c))-h):T=(p=m+T)-(h=Math.max(p-T,0))):(p=(h=m)+T,b?w=(f=d+w)-(u=Math.max(f-w,0)):(u=d,w=(f=Math.min(u+w,l))-u)),this._box={l:u,t:h,w:w,h:T};var k=g>w,M=s.barLength+2*s.barPad,A=s.barWidth+2*s.barPad,S=d,E=m+v;E+A>c&&(E=c-A);var C=this.container.selectAll("rect.scrollbar-horizontal").data(k?[0]:[]);C.exit().on(".drag",null).remove(),C.enter().append("rect").classed("scrollbar-horizontal",!0).call(i.fill,s.barColor),k?(this.hbar=C.attr({rx:s.barRadius,ry:s.barRadius,x:S,y:E,width:M,height:A}),this._hbarXMin=S+M/2,this._hbarTranslateMax=w-M):(delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax);var L=v>T,I=s.barWidth+2*s.barPad,P=s.barLength+2*s.barPad,z=d+g,O=m;z+I>l&&(z=l-I);var D=this.container.selectAll("rect.scrollbar-vertical").data(L?[0]:[]);D.exit().on(".drag",null).remove(),D.enter().append("rect").classed("scrollbar-vertical",!0).call(i.fill,s.barColor),L?(this.vbar=D.attr({rx:s.barRadius,ry:s.barRadius,x:z,y:O,width:I,height:P}),this._vbarYMin=O+P/2,this._vbarTranslateMax=T-P):(delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax);var R=this.id,F=u-.5,B=L?f+I+.5:f+.5,N=h-.5,j=k?p+A+.5:p+.5,U=o._topdefs.selectAll("#"+R).data(k||L?[0]:[]);if(U.exit().remove(),U.enter().append("clipPath").attr("id",R).append("rect"),k||L?(this._clipRect=U.select("rect").attr({x:Math.floor(F),y:Math.floor(N),width:Math.ceil(B)-Math.floor(F),height:Math.ceil(j)-Math.floor(N)}),this.container.call(a.setClipUrl,R,this.gd),this.bg.attr({x:d,y:m,width:g,height:v})):(this.bg.attr({width:0,height:0}),this.container.on("wheel",null).on(".drag",null).call(a.setClipUrl,null),delete this._clipRect),k||L){var V=n.behavior.drag().on("dragstart",(function(){n.event.sourceEvent.preventDefault()})).on("drag",this._onBoxDrag.bind(this));this.container.on("wheel",null).on("wheel",this._onBoxWheel.bind(this)).on(".drag",null).call(V);var q=n.behavior.drag().on("dragstart",(function(){n.event.sourceEvent.preventDefault(),n.event.sourceEvent.stopPropagation()})).on("drag",this._onBarDrag.bind(this));k&&this.hbar.on(".drag",null).call(q),L&&this.vbar.on(".drag",null).call(q)}this.setTranslate(e,r)},s.prototype.disable=function(){(this.hbar||this.vbar)&&(this.bg.attr({width:0,height:0}),this.container.on("wheel",null).on(".drag",null).call(a.setClipUrl,null),delete this._clipRect),this.hbar&&(this.hbar.on(".drag",null),this.hbar.remove(),delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax),this.vbar&&(this.vbar.on(".drag",null),this.vbar.remove(),delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax)},s.prototype._onBoxDrag=function(){var t=this.translateX,e=this.translateY;this.hbar&&(t-=n.event.dx),this.vbar&&(e-=n.event.dy),this.setTranslate(t,e)},s.prototype._onBoxWheel=function(){var t=this.translateX,e=this.translateY;this.hbar&&(t+=n.event.deltaY),this.vbar&&(e+=n.event.deltaY),this.setTranslate(t,e)},s.prototype._onBarDrag=function(){var t=this.translateX,e=this.translateY;if(this.hbar){var r=t+this._hbarXMin,i=r+this._hbarTranslateMax;t=(o.constrain(n.event.x,r,i)-r)/(i-r)*(this.position.w-this._box.w)}if(this.vbar){var a=e+this._vbarYMin,s=a+this._vbarTranslateMax;e=(o.constrain(n.event.y,a,s)-a)/(s-a)*(this.position.h-this._box.h)}this.setTranslate(t,e)},s.prototype.setTranslate=function(t,e){var r=this.position.w-this._box.w,n=this.position.h-this._box.h;if(t=o.constrain(t||0,0,r),e=o.constrain(e||0,0,n),this.translateX=t,this.translateY=e,this.container.call(a.setTranslate,this._box.l-this.position.l-t,this._box.t-this.position.t-e),this._clipRect&&this._clipRect.attr({x:Math.floor(this.position.l+t-.5),y:Math.floor(this.position.t+e-.5)}),this.hbar){var i=t/r;this.hbar.call(a.setTranslate,t+i*this._hbarTranslateMax,e)}if(this.vbar){var s=e/n;this.vbar.call(a.setTranslate,t,e+s*this._vbarTranslateMax)}}},{"../../lib":778,"../color":643,"../drawing":665,d3:169}],745:[function(t,e,r){"use strict";e.exports={FROM_BL:{left:0,center:.5,right:1,bottom:0,middle:.5,top:1},FROM_TL:{left:0,center:.5,right:1,bottom:1,middle:.5,top:0},FROM_BR:{left:1,center:.5,right:0,bottom:0,middle:.5,top:1},LINE_SPACING:1.3,CAP_SHIFT:.7,MID_SHIFT:.35,OPPOSITE_SIDE:{left:"right",right:"left",top:"bottom",bottom:"top"}}},{}],746:[function(t,e,r){"use strict";e.exports={axisRefDescription:function(t,e,r){return["If set to a",t,"axis id (e.g. *"+t+"* or","*"+t+"2*), the `"+t+"` position refers to a",t,"coordinate. If set to *paper*, the `"+t+"`","position refers to the distance from the",e,"of the plotting","area in normalized coordinates where *0* (*1*) corresponds to the",e,"("+r+"). If set to a",t,"axis ID followed by","*domain* (separated by a space), the position behaves like for","*paper*, but refers to the distance in fractions of the domain","length from the",e,"of the domain of that axis: e.g.,","*"+t+"2 domain* refers to the domain of the second",t," axis and a",t,"position of 0.5 refers to the","point between the",e,"and the",r,"of the domain of the","second",t,"axis."].join(" ")}}},{}],747:[function(t,e,r){"use strict";e.exports={INCREASING:{COLOR:"#3D9970",SYMBOL:"\u25b2"},DECREASING:{COLOR:"#FF4136",SYMBOL:"\u25bc"}}},{}],748:[function(t,e,r){"use strict";e.exports={FORMAT_LINK:"https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#d3_format",DATE_FORMAT_LINK:"https://github.com/d3/d3-time-format#locale_format"}},{}],749:[function(t,e,r){"use strict";e.exports={COMPARISON_OPS:["=","!=","<",">=",">","<="],COMPARISON_OPS2:["=","<",">=",">","<="],INTERVAL_OPS:["[]","()","[)","(]","][",")(","](",")["],SET_OPS:["{}","}{"],CONSTRAINT_REDUCTION:{"=":"=","<":"<","<=":"<",">":">",">=":">","[]":"[]","()":"[]","[)":"[]","(]":"[]","][":"][",")(":"][","](":"][",")[":"]["}}},{}],750:[function(t,e,r){"use strict";e.exports={solid:[[],0],dot:[[.5,1],200],dash:[[.5,1],50],longdash:[[.5,1],10],dashdot:[[.5,.625,.875,1],50],longdashdot:[[.5,.7,.8,1],10]}},{}],751:[function(t,e,r){"use strict";e.exports={circle:"\u25cf","circle-open":"\u25cb",square:"\u25a0","square-open":"\u25a1",diamond:"\u25c6","diamond-open":"\u25c7",cross:"+",x:"\u274c"}},{}],752:[function(t,e,r){"use strict";e.exports={SHOW_PLACEHOLDER:100,HIDE_PLACEHOLDER:1e3,DESELECTDIM:.2}},{}],753:[function(t,e,r){"use strict";e.exports={BADNUM:void 0,FP_SAFE:Number.MAX_VALUE/1e4,ONEMAXYEAR:316224e5,ONEAVGYEAR:315576e5,ONEMINYEAR:31536e6,ONEMAXQUARTER:79488e5,ONEAVGQUARTER:78894e5,ONEMINQUARTER:76896e5,ONEMAXMONTH:26784e5,ONEAVGMONTH:26298e5,ONEMINMONTH:24192e5,ONEWEEK:6048e5,ONEDAY:864e5,ONEHOUR:36e5,ONEMIN:6e4,ONESEC:1e3,EPOCHJD:2440587.5,ALMOST_EQUAL:.999999,LOG_CLIP:10,MINUS_SIGN:"\u2212"}},{}],754:[function(t,e,r){"use strict";r.xmlns="http://www.w3.org/2000/xmlns/",r.svg="http://www.w3.org/2000/svg",r.xlink="http://www.w3.org/1999/xlink",r.svgAttrs={xmlns:r.svg,"xmlns:xlink":r.xlink}},{}],755:[function(t,e,r){"use strict";r.version=t("./version").version,t("es6-promise").polyfill(),t("../build/plotcss"),t("./fonts/mathjax_config")();for(var n=t("./registry"),i=r.register=n.register,a=t("./plot_api"),o=Object.keys(a),s=0;s<o.length;s++){var l=o[s];"_"!==l.charAt(0)&&(r[l]=a[l]),i({moduleType:"apiMethod",name:l,fn:a[l]})}i(t("./traces/scatter")),i([t("./components/legend"),t("./components/fx"),t("./components/annotations"),t("./components/annotations3d"),t("./components/shapes"),t("./components/images"),t("./components/updatemenus"),t("./components/sliders"),t("./components/rangeslider"),t("./components/rangeselector"),t("./components/grid"),t("./components/errorbars"),t("./components/colorscale"),t("./components/colorbar")]),i([t("./locale-en"),t("./locale-en-us")]),window.PlotlyLocales&&Array.isArray(window.PlotlyLocales)&&(i(window.PlotlyLocales),delete window.PlotlyLocales),r.Icons=t("./fonts/ploticon"),r.Plots=t("./plots/plots"),r.Fx=t("./components/fx"),r.Snapshot=t("./snapshot"),r.PlotSchema=t("./plot_api/plot_schema"),r.Queue=t("./lib/queue"),r.d3=t("d3")},{"../build/plotcss":1,"./components/annotations":634,"./components/annotations3d":639,"./components/colorbar":649,"./components/colorscale":655,"./components/errorbars":671,"./components/fx":683,"./components/grid":687,"./components/images":692,"./components/legend":700,"./components/rangeselector":711,"./components/rangeslider":718,"./components/shapes":732,"./components/sliders":737,"./components/updatemenus":743,"./fonts/mathjax_config":756,"./fonts/ploticon":757,"./lib/queue":794,"./locale-en":808,"./locale-en-us":807,"./plot_api":812,"./plot_api/plot_schema":816,"./plots/plots":891,"./registry":911,"./snapshot":916,"./traces/scatter":1199,"./version":1370,d3:169,"es6-promise":224}],756:[function(t,e,r){"use strict";e.exports=function(){"undefined"!=typeof MathJax&&("local"!==(window.PlotlyConfig||{}).MathJaxConfig&&(MathJax.Hub.Config({messageStyle:"none",skipStartupTypeset:!0,displayAlign:"left",tex2jax:{inlineMath:[["$","$"],["\\(","\\)"]]}}),MathJax.Hub.Configured()))}},{}],757:[function(t,e,r){"use strict";e.exports={undo:{width:857.1,height:1e3,path:"m857 350q0-87-34-166t-91-137-137-92-166-34q-96 0-183 41t-147 114q-4 6-4 13t5 11l76 77q6 5 14 5 9-1 13-7 41-53 100-82t126-29q58 0 110 23t92 61 61 91 22 111-22 111-61 91-92 61-110 23q-55 0-105-20t-90-57l77-77q17-16 8-38-10-23-33-23h-250q-15 0-25 11t-11 25v250q0 24 22 33 22 10 39-8l72-72q60 57 137 88t159 31q87 0 166-34t137-92 91-137 34-166z",transform:"matrix(1 0 0 -1 0 850)"},home:{width:928.6,height:1e3,path:"m786 296v-267q0-15-11-26t-25-10h-214v214h-143v-214h-214q-15 0-25 10t-11 26v267q0 1 0 2t0 2l321 264 321-264q1-1 1-4z m124 39l-34-41q-5-5-12-6h-2q-7 0-12 3l-386 322-386-322q-7-4-13-4-7 2-12 7l-35 41q-4 5-3 13t6 12l401 334q18 15 42 15t43-15l136-114v109q0 8 5 13t13 5h107q8 0 13-5t5-13v-227l122-102q5-5 6-12t-4-13z",transform:"matrix(1 0 0 -1 0 850)"},"camera-retro":{width:1e3,height:1e3,path:"m518 386q0 8-5 13t-13 5q-37 0-63-27t-26-63q0-8 5-13t13-5 12 5 5 13q0 23 16 38t38 16q8 0 13 5t5 13z m125-73q0-59-42-101t-101-42-101 42-42 101 42 101 101 42 101-42 42-101z m-572-320h858v71h-858v-71z m643 320q0 89-62 152t-152 62-151-62-63-152 63-151 151-63 152 63 62 151z m-571 358h214v72h-214v-72z m-72-107h858v143h-462l-36-71h-360v-72z m929 143v-714q0-30-21-51t-50-21h-858q-29 0-50 21t-21 51v714q0 30 21 51t50 21h858q29 0 50-21t21-51z",transform:"matrix(1 0 0 -1 0 850)"},zoombox:{width:1e3,height:1e3,path:"m1000-25l-250 251c40 63 63 138 63 218 0 224-182 406-407 406-224 0-406-182-406-406s183-406 407-406c80 0 155 22 218 62l250-250 125 125z m-812 250l0 438 437 0 0-438-437 0z m62 375l313 0 0-312-313 0 0 312z",transform:"matrix(1 0 0 -1 0 850)"},pan:{width:1e3,height:1e3,path:"m1000 350l-187 188 0-125-250 0 0 250 125 0-188 187-187-187 125 0 0-250-250 0 0 125-188-188 186-187 0 125 252 0 0-250-125 0 187-188 188 188-125 0 0 250 250 0 0-126 187 188z",transform:"matrix(1 0 0 -1 0 850)"},zoom_plus:{width:875,height:1e3,path:"m1 787l0-875 875 0 0 875-875 0z m687-500l-187 0 0-187-125 0 0 187-188 0 0 125 188 0 0 187 125 0 0-187 187 0 0-125z",transform:"matrix(1 0 0 -1 0 850)"},zoom_minus:{width:875,height:1e3,path:"m0 788l0-876 875 0 0 876-875 0z m688-500l-500 0 0 125 500 0 0-125z",transform:"matrix(1 0 0 -1 0 850)"},autoscale:{width:1e3,height:1e3,path:"m250 850l-187 0-63 0 0-62 0-188 63 0 0 188 187 0 0 62z m688 0l-188 0 0-62 188 0 0-188 62 0 0 188 0 62-62 0z m-875-938l0 188-63 0 0-188 0-62 63 0 187 0 0 62-187 0z m875 188l0-188-188 0 0-62 188 0 62 0 0 62 0 188-62 0z m-125 188l-1 0-93-94-156 156 156 156 92-93 2 0 0 250-250 0 0-2 93-92-156-156-156 156 94 92 0 2-250 0 0-250 0 0 93 93 157-156-157-156-93 94 0 0 0-250 250 0 0 0-94 93 156 157 156-157-93-93 0 0 250 0 0 250z",transform:"matrix(1 0 0 -1 0 850)"},tooltip_basic:{width:1500,height:1e3,path:"m375 725l0 0-375-375 375-374 0-1 1125 0 0 750-1125 0z",transform:"matrix(1 0 0 -1 0 850)"},tooltip_compare:{width:1125,height:1e3,path:"m187 786l0 2-187-188 188-187 0 0 937 0 0 373-938 0z m0-499l0 1-187-188 188-188 0 0 937 0 0 376-938-1z",transform:"matrix(1 0 0 -1 0 850)"},plotlylogo:{width:1542,height:1e3,path:"m0-10h182v-140h-182v140z m228 146h183v-286h-183v286z m225 714h182v-1000h-182v1000z m225-285h182v-715h-182v715z m225 142h183v-857h-183v857z m231-428h182v-429h-182v429z m225-291h183v-138h-183v138z",transform:"matrix(1 0 0 -1 0 850)"},"z-axis":{width:1e3,height:1e3,path:"m833 5l-17 108v41l-130-65 130-66c0 0 0 38 0 39 0-1 36-14 39-25 4-15-6-22-16-30-15-12-39-16-56-20-90-22-187-23-279-23-261 0-341 34-353 59 3 60 228 110 228 110-140-8-351-35-351-116 0-120 293-142 474-142 155 0 477 22 477 142 0 50-74 79-163 96z m-374 94c-58-5-99-21-99-40 0-24 65-43 144-43 79 0 143 19 143 43 0 19-42 34-98 40v216h87l-132 135-133-135h88v-216z m167 515h-136v1c16 16 31 34 46 52l84 109v54h-230v-71h124v-1c-16-17-28-32-44-51l-89-114v-51h245v72z",transform:"matrix(1 0 0 -1 0 850)"},"3d_rotate":{width:1e3,height:1e3,path:"m922 660c-5 4-9 7-14 11-359 263-580-31-580-31l-102 28 58-400c0 1 1 1 2 2 118 108 351 249 351 249s-62 27-100 42c88 83 222 183 347 122 16-8 30-17 44-27-2 1-4 2-6 4z m36-329c0 0 64 229-88 296-62 27-124 14-175-11 157-78 225-208 249-266 8-19 11-31 11-31 2 5 6 15 11 32-5-13-8-20-8-20z m-775-239c70-31 117-50 198-32-121 80-199 346-199 346l-96-15-58-12c0 0 55-226 155-287z m603 133l-317-139c0 0 4-4 19-14 7-5 24-15 24-15s-177-147-389 4c235-287 536-112 536-112l31-22 100 299-4-1z m-298-153c6-4 14-9 24-15 0 0-17 10-24 15z",transform:"matrix(1 0 0 -1 0 850)"},camera:{width:1e3,height:1e3,path:"m500 450c-83 0-150-67-150-150 0-83 67-150 150-150 83 0 150 67 150 150 0 83-67 150-150 150z m400 150h-120c-16 0-34 13-39 29l-31 93c-6 15-23 28-40 28h-340c-16 0-34-13-39-28l-31-94c-6-15-23-28-40-28h-120c-55 0-100-45-100-100v-450c0-55 45-100 100-100h800c55 0 100 45 100 100v450c0 55-45 100-100 100z m-400-550c-138 0-250 112-250 250 0 138 112 250 250 250 138 0 250-112 250-250 0-138-112-250-250-250z m365 380c-19 0-35 16-35 35 0 19 16 35 35 35 19 0 35-16 35-35 0-19-16-35-35-35z",transform:"matrix(1 0 0 -1 0 850)"},movie:{width:1e3,height:1e3,path:"m938 413l-188-125c0 37-17 71-44 94 64 38 107 107 107 187 0 121-98 219-219 219-121 0-219-98-219-219 0-61 25-117 66-156h-115c30 33 49 76 49 125 0 103-84 187-187 187s-188-84-188-187c0-57 26-107 65-141-38-22-65-62-65-109v-250c0-70 56-126 125-126h500c69 0 125 56 125 126l188-126c34 0 62 28 62 63v375c0 35-28 63-62 63z m-750 0c-69 0-125 56-125 125s56 125 125 125 125-56 125-125-56-125-125-125z m406-1c-87 0-157 70-157 157 0 86 70 156 157 156s156-70 156-156-70-157-156-157z",transform:"matrix(1 0 0 -1 0 850)"},question:{width:857.1,height:1e3,path:"m500 82v107q0 8-5 13t-13 5h-107q-8 0-13-5t-5-13v-107q0-8 5-13t13-5h107q8 0 13 5t5 13z m143 375q0 49-31 91t-77 65-95 23q-136 0-207-119-9-14 4-24l74-55q4-4 10-4 9 0 14 7 30 38 48 51 19 14 48 14 27 0 48-15t21-33q0-21-11-34t-38-25q-35-16-65-48t-29-70v-20q0-8 5-13t13-5h107q8 0 13 5t5 13q0 10 12 27t30 28q18 10 28 16t25 19 25 27 16 34 7 45z m214-107q0-117-57-215t-156-156-215-58-216 58-155 156-58 215 58 215 155 156 216 58 215-58 156-156 57-215z",transform:"matrix(1 0 0 -1 0 850)"},disk:{width:857.1,height:1e3,path:"m214-7h429v214h-429v-214z m500 0h72v500q0 8-6 21t-11 20l-157 156q-5 6-19 12t-22 5v-232q0-22-15-38t-38-16h-322q-22 0-37 16t-16 38v232h-72v-714h72v232q0 22 16 38t37 16h465q22 0 38-16t15-38v-232z m-214 518v178q0 8-5 13t-13 5h-107q-7 0-13-5t-5-13v-178q0-8 5-13t13-5h107q7 0 13 5t5 13z m357-18v-518q0-22-15-38t-38-16h-750q-23 0-38 16t-16 38v750q0 22 16 38t38 16h517q23 0 50-12t42-26l156-157q16-15 27-42t11-49z",transform:"matrix(1 0 0 -1 0 850)"},drawopenpath:{width:70,height:70,path:"M33.21,85.65a7.31,7.31,0,0,1-2.59-.48c-8.16-3.11-9.27-19.8-9.88-41.3-.1-3.58-.19-6.68-.35-9-.15-2.1-.67-3.48-1.43-3.79-2.13-.88-7.91,2.32-12,5.86L3,32.38c1.87-1.64,11.55-9.66,18.27-6.9,2.13.87,4.75,3.14,5.17,9,.17,2.43.26,5.59.36,9.25a224.17,224.17,0,0,0,1.5,23.4c1.54,10.76,4,12.22,4.48,12.4.84.32,2.79-.46,5.76-3.59L43,80.07C41.53,81.57,37.68,85.64,33.21,85.65ZM74.81,69a11.34,11.34,0,0,0,6.09-6.72L87.26,44.5,74.72,32,56.9,38.35c-2.37.86-5.57,3.42-6.61,6L38.65,72.14l8.42,8.43ZM55,46.27a7.91,7.91,0,0,1,3.64-3.17l14.8-5.3,8,8L76.11,60.6l-.06.19a6.37,6.37,0,0,1-3,3.43L48.25,74.59,44.62,71Zm16.57,7.82A6.9,6.9,0,1,0,64.64,61,6.91,6.91,0,0,0,71.54,54.09Zm-4.05,0a2.85,2.85,0,1,1-2.85-2.85A2.86,2.86,0,0,1,67.49,54.09Zm-4.13,5.22L60.5,56.45,44.26,72.7l2.86,2.86ZM97.83,35.67,84.14,22l-8.57,8.57L89.26,44.24Zm-13.69-8,8,8-2.85,2.85-8-8Z",transform:"matrix(1 0 0 1 -15 -15)"},drawclosedpath:{width:90,height:90,path:"M88.41,21.12a26.56,26.56,0,0,0-36.18,0l-2.07,2-2.07-2a26.57,26.57,0,0,0-36.18,0,23.74,23.74,0,0,0,0,34.8L48,90.12a3.22,3.22,0,0,0,4.42,0l36-34.21a23.73,23.73,0,0,0,0-34.79ZM84,51.24,50.16,83.35,16.35,51.25a17.28,17.28,0,0,1,0-25.47,20,20,0,0,1,27.3,0l4.29,4.07a3.23,3.23,0,0,0,4.44,0l4.29-4.07a20,20,0,0,1,27.3,0,17.27,17.27,0,0,1,0,25.46ZM66.76,47.68h-33v6.91h33ZM53.35,35H46.44V68h6.91Z",transform:"matrix(1 0 0 1 -5 -5)"},lasso:{width:1031,height:1e3,path:"m1018 538c-36 207-290 336-568 286-277-48-473-256-436-463 10-57 36-108 76-151-13-66 11-137 68-183 34-28 75-41 114-42l-55-70 0 0c-2-1-3-2-4-3-10-14-8-34 5-45 14-11 34-8 45 4 1 1 2 3 2 5l0 0 113 140c16 11 31 24 45 40 4 3 6 7 8 11 48-3 100 0 151 9 278 48 473 255 436 462z m-624-379c-80 14-149 48-197 96 42 42 109 47 156 9 33-26 47-66 41-105z m-187-74c-19 16-33 37-39 60 50-32 109-55 174-68-42-25-95-24-135 8z m360 75c-34-7-69-9-102-8 8 62-16 128-68 170-73 59-175 54-244-5-9 20-16 40-20 61-28 159 121 317 333 354s407-60 434-217c28-159-121-318-333-355z",transform:"matrix(1 0 0 -1 0 850)"},selectbox:{width:1e3,height:1e3,path:"m0 850l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m285 0l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m-857-286l0-143 143 0 0 143-143 0z m857 0l0-143 143 0 0 143-143 0z m-857-285l0-143 143 0 0 143-143 0z m857 0l0-143 143 0 0 143-143 0z m-857-286l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m285 0l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z",transform:"matrix(1 0 0 -1 0 850)"},drawline:{width:70,height:70,path:"M60.64,62.3a11.29,11.29,0,0,0,6.09-6.72l6.35-17.72L60.54,25.31l-17.82,6.4c-2.36.86-5.57,3.41-6.6,6L24.48,65.5l8.42,8.42ZM40.79,39.63a7.89,7.89,0,0,1,3.65-3.17l14.79-5.31,8,8L61.94,54l-.06.19a6.44,6.44,0,0,1-3,3.43L34.07,68l-3.62-3.63Zm16.57,7.81a6.9,6.9,0,1,0-6.89,6.9A6.9,6.9,0,0,0,57.36,47.44Zm-4,0a2.86,2.86,0,1,1-2.85-2.85A2.86,2.86,0,0,1,53.32,47.44Zm-4.13,5.22L46.33,49.8,30.08,66.05l2.86,2.86ZM83.65,29,70,15.34,61.4,23.9,75.09,37.59ZM70,21.06l8,8-2.84,2.85-8-8ZM87,80.49H10.67V87H87Z",transform:"matrix(1 0 0 1 -15 -15)"},drawrect:{width:80,height:80,path:"M78,22V79H21V22H78m9-9H12V88H87V13ZM68,46.22H31V54H68ZM53,32H45.22V69H53Z",transform:"matrix(1 0 0 1 -10 -10)"},drawcircle:{width:80,height:80,path:"M50,84.72C26.84,84.72,8,69.28,8,50.3S26.84,15.87,50,15.87,92,31.31,92,50.3,73.16,84.72,50,84.72Zm0-60.59c-18.6,0-33.74,11.74-33.74,26.17S31.4,76.46,50,76.46,83.74,64.72,83.74,50.3,68.6,24.13,50,24.13Zm17.15,22h-34v7.11h34Zm-13.8-13H46.24v34h7.11Z",transform:"matrix(1 0 0 1 -10 -10)"},eraseshape:{width:80,height:80,path:"M82.77,78H31.85L6,49.57,31.85,21.14H82.77a8.72,8.72,0,0,1,8.65,8.77V69.24A8.72,8.72,0,0,1,82.77,78ZM35.46,69.84H82.77a.57.57,0,0,0,.49-.6V29.91a.57.57,0,0,0-.49-.61H35.46L17,49.57Zm32.68-34.7-24,24,5,5,24-24Zm-19,.53-5,5,24,24,5-5Z",transform:"matrix(1 0 0 1 -10 -10)"},spikeline:{width:1e3,height:1e3,path:"M512 409c0-57-46-104-103-104-57 0-104 47-104 104 0 57 47 103 104 103 57 0 103-46 103-103z m-327-39l92 0 0 92-92 0z m-185 0l92 0 0 92-92 0z m370-186l92 0 0 93-92 0z m0-184l92 0 0 92-92 0z",transform:"matrix(1.5 0 0 -1.5 0 850)"},pencil:{width:1792,height:1792,path:"M491 1536l91-91-235-235-91 91v107h128v128h107zm523-928q0-22-22-22-10 0-17 7l-542 542q-7 7-7 17 0 22 22 22 10 0 17-7l542-542q7-7 7-17zm-54-192l416 416-832 832h-416v-416zm683 96q0 53-37 90l-166 166-416-416 166-165q36-38 90-38 53 0 91 38l235 234q37 39 37 91z",transform:"matrix(1 0 0 1 0 1)"},newplotlylogo:{name:"newplotlylogo",svg:"<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 132 132'><defs><style>.cls-1 {fill: #3f4f75;} .cls-2 {fill: #80cfbe;} .cls-3 {fill: #fff;}</style></defs><title>plotly-logomark</title><g id='symbol'><rect class='cls-1' width='132' height='132' rx='6' ry='6'/><circle class='cls-2' cx='78' cy='54' r='6'/><circle class='cls-2' cx='102' cy='30' r='6'/><circle class='cls-2' cx='78' cy='30' r='6'/><circle class='cls-2' cx='54' cy='30' r='6'/><circle class='cls-2' cx='30' cy='30' r='6'/><circle class='cls-2' cx='30' cy='54' r='6'/><path class='cls-3' d='M30,72a6,6,0,0,0-6,6v24a6,6,0,0,0,12,0V78A6,6,0,0,0,30,72Z'/><path class='cls-3' d='M78,72a6,6,0,0,0-6,6v24a6,6,0,0,0,12,0V78A6,6,0,0,0,78,72Z'/><path class='cls-3' d='M54,48a6,6,0,0,0-6,6v48a6,6,0,0,0,12,0V54A6,6,0,0,0,54,48Z'/><path class='cls-3' d='M102,48a6,6,0,0,0-6,6v48a6,6,0,0,0,12,0V54A6,6,0,0,0,102,48Z'/></g></svg>"}}},{}],758:[function(t,e,r){"use strict";r.isLeftAnchor=function(t){return"left"===t.xanchor||"auto"===t.xanchor&&t.x<=1/3},r.isCenterAnchor=function(t){return"center"===t.xanchor||"auto"===t.xanchor&&t.x>1/3&&t.x<2/3},r.isRightAnchor=function(t){return"right"===t.xanchor||"auto"===t.xanchor&&t.x>=2/3},r.isTopAnchor=function(t){return"top"===t.yanchor||"auto"===t.yanchor&&t.y>=2/3},r.isMiddleAnchor=function(t){return"middle"===t.yanchor||"auto"===t.yanchor&&t.y>1/3&&t.y<2/3},r.isBottomAnchor=function(t){return"bottom"===t.yanchor||"auto"===t.yanchor&&t.y<=1/3}},{}],759:[function(t,e,r){"use strict";var n=t("./mod"),i=n.mod,a=n.modHalf,o=Math.PI,s=2*o;function l(t){return Math.abs(t[1]-t[0])>s-1e-14}function c(t,e){return a(e-t,s)}function u(t,e){if(l(e))return!0;var r,n;e[0]<e[1]?(r=e[0],n=e[1]):(r=e[1],n=e[0]),(r=i(r,s))>(n=i(n,s))&&(n+=s);var a=i(t,s),o=a+s;return a>=r&&a<=n||o>=r&&o<=n}function f(t,e,r,n,i,a,c){i=i||0,a=a||0;var u,f,h,p,d,g=l([r,n]);function m(t,e){return[t*Math.cos(e)+i,a-t*Math.sin(e)]}g?(u=0,f=o,h=s):r<n?(u=r,h=n):(u=n,h=r),t<e?(p=t,d=e):(p=e,d=t);var v,y=Math.abs(h-u)<=o?0:1;function x(t,e,r){return"A"+[t,t]+" "+[0,y,r]+" "+m(t,e)}return g?v=null===p?"M"+m(d,u)+x(d,f,0)+x(d,h,0)+"Z":"M"+m(p,u)+x(p,f,0)+x(p,h,0)+"ZM"+m(d,u)+x(d,f,1)+x(d,h,1)+"Z":null===p?(v="M"+m(d,u)+x(d,h,0),c&&(v+="L0,0Z")):v="M"+m(p,u)+"L"+m(d,u)+x(d,h,0)+"L"+m(p,h)+x(p,u,1)+"Z",v}e.exports={deg2rad:function(t){return t/180*o},rad2deg:function(t){return t/o*180},angleDelta:c,angleDist:function(t,e){return Math.abs(c(t,e))},isFullCircle:l,isAngleInsideSector:u,isPtInsideSector:function(t,e,r,n){return!!u(e,n)&&(r[0]<r[1]?(i=r[0],a=r[1]):(i=r[1],a=r[0]),t>=i&&t<=a);var i,a},pathArc:function(t,e,r,n,i){return f(null,t,e,r,n,i,0)},pathSector:function(t,e,r,n,i){return f(null,t,e,r,n,i,1)},pathAnnulus:function(t,e,r,n,i,a){return f(t,e,r,n,i,a,1)}}},{"./mod":785}],760:[function(t,e,r){"use strict";var n=Array.isArray,i="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer:{isView:function(){return!1}},a="undefined"==typeof DataView?function(){}:DataView;function o(t){return i.isView(t)&&!(t instanceof a)}function s(t){return n(t)||o(t)}function l(t,e,r){if(s(t)){if(s(t[0])){for(var n=r,i=0;i<t.length;i++)n=e(n,t[i].length);return n}return t.length}return 0}r.isTypedArray=o,r.isArrayOrTypedArray=s,r.isArray1D=function(t){return!s(t[0])},r.ensureArray=function(t,e){return n(t)||(t=[]),t.length=e,t},r.concat=function(){var t,e,r,i,a,o,s,l,c=[],u=!0,f=0;for(r=0;r<arguments.length;r++)(o=(i=arguments[r]).length)&&(e?c.push(i):(e=i,a=o),n(i)?t=!1:(u=!1,f?t!==i.constructor&&(t=!1):t=i.constructor),f+=o);if(!f)return[];if(!c.length)return e;if(u)return e.concat.apply(e,c);if(t){for((s=new t(f)).set(e),r=0;r<c.length;r++)i=c[r],s.set(i,a),a+=i.length;return s}for(s=new Array(f),l=0;l<e.length;l++)s[l]=e[l];for(r=0;r<c.length;r++){for(i=c[r],l=0;l<i.length;l++)s[a+l]=i[l];a+=l}return s},r.maxRowLength=function(t){return l(t,Math.max,0)},r.minRowLength=function(t){return l(t,Math.min,1/0)}},{}],761:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../constants/numerical").BADNUM,a=/^['"%,$#\s']+|[, ]|['"%,$#\s']+$/g;e.exports=function(t){return"string"==typeof t&&(t=t.replace(a,"")),n(t)?Number(t):i}},{"../constants/numerical":753,"fast-isnumeric":241}],762:[function(t,e,r){"use strict";e.exports=function(t){var e=t._fullLayout;e._glcanvas&&e._glcanvas.size()&&e._glcanvas.each((function(t){t.regl&&t.regl.clear({color:!0,depth:!0})}))}},{}],763:[function(t,e,r){"use strict";e.exports=function(t){t._responsiveChartHandler&&(window.removeEventListener("resize",t._responsiveChartHandler),delete t._responsiveChartHandler)}},{}],764:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("tinycolor2"),a=t("../plots/attributes"),o=t("../components/colorscale/scales"),s=t("../constants/interactions").DESELECTDIM,l=t("./nested_property"),c=t("./regex").counter,u=t("./mod").modHalf,f=t("./array").isArrayOrTypedArray;function h(t,e){var n=r.valObjectMeta[e.valType];if(e.arrayOk&&f(t))return!0;if(n.validateFunction)return n.validateFunction(t,e);var i={},a=i,o={set:function(t){a=t}};return n.coerceFunction(t,o,i,e),a!==i}r.valObjectMeta={data_array:{coerceFunction:function(t,e,r){f(t)?e.set(t):void 0!==r&&e.set(r)}},enumerated:{coerceFunction:function(t,e,r,n){n.coerceNumber&&(t=+t),-1===n.values.indexOf(t)?e.set(r):e.set(t)},validateFunction:function(t,e){e.coerceNumber&&(t=+t);for(var r=e.values,n=0;n<r.length;n++){var i=String(r[n]);if("/"===i.charAt(0)&&"/"===i.charAt(i.length-1)){if(new RegExp(i.substr(1,i.length-2)).test(t))return!0}else if(t===r[n])return!0}return!1}},boolean:{coerceFunction:function(t,e,r){!0===t||!1===t?e.set(t):e.set(r)}},number:{coerceFunction:function(t,e,r,i){!n(t)||void 0!==i.min&&t<i.min||void 0!==i.max&&t>i.max?e.set(r):e.set(+t)}},integer:{coerceFunction:function(t,e,r,i){t%1||!n(t)||void 0!==i.min&&t<i.min||void 0!==i.max&&t>i.max?e.set(r):e.set(+t)}},string:{coerceFunction:function(t,e,r,n){if("string"!=typeof t){var i="number"==typeof t;!0!==n.strict&&i?e.set(String(t)):e.set(r)}else n.noBlank&&!t?e.set(r):e.set(t)}},color:{coerceFunction:function(t,e,r){i(t).isValid()?e.set(t):e.set(r)}},colorlist:{coerceFunction:function(t,e,r){Array.isArray(t)&&t.length&&t.every((function(t){return i(t).isValid()}))?e.set(t):e.set(r)}},colorscale:{coerceFunction:function(t,e,r){e.set(o.get(t,r))}},angle:{coerceFunction:function(t,e,r){"auto"===t?e.set("auto"):n(t)?e.set(u(+t,360)):e.set(r)}},subplotid:{coerceFunction:function(t,e,r,n){var i=n.regex||c(r);"string"==typeof t&&i.test(t)?e.set(t):e.set(r)},validateFunction:function(t,e){var r=e.dflt;return t===r||"string"==typeof t&&!!c(r).test(t)}},flaglist:{coerceFunction:function(t,e,r,n){if("string"==typeof t)if(-1===(n.extras||[]).indexOf(t)){for(var i=t.split("+"),a=0;a<i.length;){var o=i[a];-1===n.flags.indexOf(o)||i.indexOf(o)<a?i.splice(a,1):a++}i.length?e.set(i.join("+")):e.set(r)}else e.set(t);else e.set(r)}},any:{coerceFunction:function(t,e,r){void 0===t?e.set(r):e.set(t)}},info_array:{coerceFunction:function(t,e,n,i){function a(t,e,n){var i,a={set:function(t){i=t}};return void 0===n&&(n=e.dflt),r.valObjectMeta[e.valType].coerceFunction(t,a,n,e),i}var o=2===i.dimensions||"1-2"===i.dimensions&&Array.isArray(t)&&Array.isArray(t[0]);if(Array.isArray(t)){var s,l,c,u,f,h,p=i.items,d=[],g=Array.isArray(p),m=g&&o&&Array.isArray(p[0]),v=o&&g&&!m,y=g&&!v?p.length:t.length;if(n=Array.isArray(n)?n:[],o)for(s=0;s<y;s++)for(d[s]=[],c=Array.isArray(t[s])?t[s]:[],f=v?p.length:g?p[s].length:c.length,l=0;l<f;l++)u=v?p[l]:g?p[s][l]:p,void 0!==(h=a(c[l],u,(n[s]||[])[l]))&&(d[s][l]=h);else for(s=0;s<y;s++)void 0!==(h=a(t[s],g?p[s]:p,n[s]))&&(d[s]=h);e.set(d)}else e.set(n)},validateFunction:function(t,e){if(!Array.isArray(t))return!1;var r=e.items,n=Array.isArray(r),i=2===e.dimensions;if(!e.freeLength&&t.length!==r.length)return!1;for(var a=0;a<t.length;a++)if(i){if(!Array.isArray(t[a])||!e.freeLength&&t[a].length!==r[a].length)return!1;for(var o=0;o<t[a].length;o++)if(!h(t[a][o],n?r[a][o]:r))return!1}else if(!h(t[a],n?r[a]:r))return!1;return!0}}},r.coerce=function(t,e,n,i,a){var o=l(n,i).get(),s=l(t,i),c=l(e,i),u=s.get(),p=e._template;if(void 0===u&&p&&(u=l(p,i).get(),p=0),void 0===a&&(a=o.dflt),o.arrayOk&&f(u))return c.set(u),u;var d=r.valObjectMeta[o.valType].coerceFunction;d(u,c,a,o);var g=c.get();return p&&g===a&&!h(u,o)&&(d(u=l(p,i).get(),c,a,o),g=c.get()),g},r.coerce2=function(t,e,n,i,a){var o=l(t,i),s=r.coerce(t,e,n,i,a),c=o.get();return null!=c&&s},r.coerceFont=function(t,e,r){var n={};return r=r||{},n.family=t(e+".family",r.family),n.size=t(e+".size",r.size),n.color=t(e+".color",r.color),n},r.coerceHoverinfo=function(t,e,n){var i,o=e._module.attributes,s=o.hoverinfo?o:a,l=s.hoverinfo;if(1===n._dataLength){var c="all"===l.dflt?l.flags.slice():l.dflt.split("+");c.splice(c.indexOf("name"),1),i=c.join("+")}return r.coerce(t,e,s,"hoverinfo",i)},r.coerceSelectionMarkerOpacity=function(t,e){if(t.marker){var r,n,i=t.marker.opacity;if(void 0!==i)f(i)||t.selected||t.unselected||(r=i,n=s*i),e("selected.marker.opacity",r),e("unselected.marker.opacity",n)}},r.validate=h},{"../components/colorscale/scales":658,"../constants/interactions":752,"../plots/attributes":824,"./array":760,"./mod":785,"./nested_property":786,"./regex":795,"fast-isnumeric":241,tinycolor2:576}],765:[function(t,e,r){"use strict";var n,i,a=t("d3-time-format").timeFormat,o=t("fast-isnumeric"),s=t("./loggers"),l=t("./mod").mod,c=t("../constants/numerical"),u=c.BADNUM,f=c.ONEDAY,h=c.ONEHOUR,p=c.ONEMIN,d=c.ONESEC,g=c.EPOCHJD,m=t("../registry"),v=t("d3-time-format").utcFormat,y=/^\s*(-?\d\d\d\d|\d\d)(-(\d?\d)(-(\d?\d)([ Tt]([01]?\d|2[0-3])(:([0-5]\d)(:([0-5]\d(\.\d+)?))?(Z|z|[+\-]\d\d(:?\d\d)?)?)?)?)?)?\s*$/m,x=/^\s*(-?\d\d\d\d|\d\d)(-(\d?\di?)(-(\d?\d)([ Tt]([01]?\d|2[0-3])(:([0-5]\d)(:([0-5]\d(\.\d+)?))?(Z|z|[+\-]\d\d(:?\d\d)?)?)?)?)?)?\s*$/m,b=(new Date).getFullYear()-70;function _(t){return t&&m.componentsRegistry.calendars&&"string"==typeof t&&"gregorian"!==t}function w(t,e){return String(t+Math.pow(10,e)).substr(1)}r.dateTick0=function(t,e){var n=function(t,e){return _(t)?e?m.getComponentMethod("calendars","CANONICAL_SUNDAY")[t]:m.getComponentMethod("calendars","CANONICAL_TICK")[t]:e?"2000-01-02":"2000-01-01"}(t,!!e);if(e<2)return n;var i=r.dateTime2ms(n,t);return i+=f*(e-1),r.ms2DateTime(i,0,t)},r.dfltRange=function(t){return _(t)?m.getComponentMethod("calendars","DFLTRANGE")[t]:["2000-01-01","2001-01-01"]},r.isJSDate=function(t){return"object"==typeof t&&null!==t&&"function"==typeof t.getTime},r.dateTime2ms=function(t,e){if(r.isJSDate(t)){var a=t.getTimezoneOffset()*p,o=(t.getUTCMinutes()-t.getMinutes())*p+(t.getUTCSeconds()-t.getSeconds())*d+(t.getUTCMilliseconds()-t.getMilliseconds());if(o){var s=3*p;a=a-s/2+l(o-a+s/2,s)}return(t=Number(t)-a)>=n&&t<=i?t:u}if("string"!=typeof t&&"number"!=typeof t)return u;t=String(t);var c=_(e),v=t.charAt(0);!c||"G"!==v&&"g"!==v||(t=t.substr(1),e="");var w=c&&"chinese"===e.substr(0,7),T=t.match(w?x:y);if(!T)return u;var k=T[1],M=T[3]||"1",A=Number(T[5]||1),S=Number(T[7]||0),E=Number(T[9]||0),C=Number(T[11]||0);if(c){if(2===k.length)return u;var L;k=Number(k);try{var I=m.getComponentMethod("calendars","getCal")(e);if(w){var P="i"===M.charAt(M.length-1);M=parseInt(M,10),L=I.newDate(k,I.toMonthIndex(k,M,P),A)}else L=I.newDate(k,Number(M),A)}catch(t){return u}return L?(L.toJD()-g)*f+S*h+E*p+C*d:u}k=2===k.length?(Number(k)+2e3-b)%100+b:Number(k),M-=1;var z=new Date(Date.UTC(2e3,M,A,S,E));return z.setUTCFullYear(k),z.getUTCMonth()!==M||z.getUTCDate()!==A?u:z.getTime()+C*d},n=r.MIN_MS=r.dateTime2ms("-9999"),i=r.MAX_MS=r.dateTime2ms("9999-12-31 23:59:59.9999"),r.isDateTime=function(t,e){return r.dateTime2ms(t,e)!==u};var T=90*f,k=3*h,M=5*p;function A(t,e,r,n,i){if((e||r||n||i)&&(t+=" "+w(e,2)+":"+w(r,2),(n||i)&&(t+=":"+w(n,2),i))){for(var a=4;i%10==0;)a-=1,i/=10;t+="."+w(i,a)}return t}r.ms2DateTime=function(t,e,r){if("number"!=typeof t||!(t>=n&&t<=i))return u;e||(e=0);var a,o,s,c,y,x,b=Math.floor(10*l(t+.05,1)),w=Math.round(t-b/10);if(_(r)){var S=Math.floor(w/f)+g,E=Math.floor(l(t,f));try{a=m.getComponentMethod("calendars","getCal")(r).fromJD(S).formatDate("yyyy-mm-dd")}catch(t){a=v("G%Y-%m-%d")(new Date(w))}if("-"===a.charAt(0))for(;a.length<11;)a="-0"+a.substr(1);else for(;a.length<10;)a="0"+a;o=e<T?Math.floor(E/h):0,s=e<T?Math.floor(E%h/p):0,c=e<k?Math.floor(E%p/d):0,y=e<M?E%d*10+b:0}else x=new Date(w),a=v("%Y-%m-%d")(x),o=e<T?x.getUTCHours():0,s=e<T?x.getUTCMinutes():0,c=e<k?x.getUTCSeconds():0,y=e<M?10*x.getUTCMilliseconds()+b:0;return A(a,o,s,c,y)},r.ms2DateTimeLocal=function(t){if(!(t>=n+f&&t<=i-f))return u;var e=Math.floor(10*l(t+.05,1)),r=new Date(Math.round(t-e/10));return A(a("%Y-%m-%d")(r),r.getHours(),r.getMinutes(),r.getSeconds(),10*r.getUTCMilliseconds()+e)},r.cleanDate=function(t,e,n){if(t===u)return e;if(r.isJSDate(t)||"number"==typeof t&&isFinite(t)){if(_(n))return s.error("JS Dates and milliseconds are incompatible with world calendars",t),e;if(!(t=r.ms2DateTimeLocal(+t))&&void 0!==e)return e}else if(!r.isDateTime(t,n))return s.error("unrecognized date",t),e;return t};var S=/%\d?f/g;function E(t,e,r,n){t=t.replace(S,(function(t){var r=Math.min(+t.charAt(1)||6,6);return(e/1e3%1+2).toFixed(r).substr(2).replace(/0+$/,"")||"0"}));var i=new Date(Math.floor(e+.05));if(_(n))try{t=m.getComponentMethod("calendars","worldCalFmt")(t,e,n)}catch(t){return"Invalid"}return r(t)(i)}var C=[59,59.9,59.99,59.999,59.9999];r.formatDate=function(t,e,r,n,i,a){if(i=_(i)&&i,!e)if("y"===r)e=a.year;else if("m"===r)e=a.month;else{if("d"!==r)return function(t,e){var r=l(t+.05,f),n=w(Math.floor(r/h),2)+":"+w(l(Math.floor(r/p),60),2);if("M"!==e){o(e)||(e=0);var i=(100+Math.min(l(t/d,60),C[e])).toFixed(e).substr(1);e>0&&(i=i.replace(/0+$/,"").replace(/[\.]$/,"")),n+=":"+i}return n}(t,r)+"\n"+E(a.dayMonthYear,t,n,i);e=a.dayMonth+"\n"+a.year}return E(e,t,n,i)};var L=3*f;r.incrementMonth=function(t,e,r){r=_(r)&&r;var n=l(t,f);if(t=Math.round(t-n),r)try{var i=Math.round(t/f)+g,a=m.getComponentMethod("calendars","getCal")(r),o=a.fromJD(i);return e%12?a.add(o,e,"m"):a.add(o,e/12,"y"),(o.toJD()-g)*f+n}catch(e){s.error("invalid ms "+t+" in calendar "+r)}var c=new Date(t+L);return c.setUTCMonth(c.getUTCMonth()+e)+n-L},r.findExactDates=function(t,e){for(var r,n,i=0,a=0,s=0,l=0,c=_(e)&&m.getComponentMethod("calendars","getCal")(e),u=0;u<t.length;u++)if(n=t[u],o(n)){if(!(n%f))if(c)try{1===(r=c.fromJD(n/f+g)).day()?1===r.month()?i++:a++:s++}catch(t){}else 1===(r=new Date(n)).getUTCDate()?0===r.getUTCMonth()?i++:a++:s++}else l++;s+=a+=i;var h=t.length-l;return{exactYears:i/h,exactMonths:a/h,exactDays:s/h}}},{"../constants/numerical":753,"../registry":911,"./loggers":782,"./mod":785,"d3-time-format":166,"fast-isnumeric":241}],766:[function(t,e,r){"use strict";var n=t("d3"),i=t("./loggers"),a=t("./matrix"),o=t("gl-mat4");function s(t){var e=t&&t.parentNode;e&&e.removeChild(t)}function l(t,e,r){var n="plotly.js-style-"+t,a=document.getElementById(n);a||((a=document.createElement("style")).setAttribute("id",n),a.appendChild(document.createTextNode("")),document.head.appendChild(a));var o=a.sheet;o.insertRule?o.insertRule(e+"{"+r+"}",0):o.addRule?o.addRule(e,r,0):i.warn("addStyleRule failed")}function c(t){var e=window.getComputedStyle(t,null),r=e.getPropertyValue("-webkit-transform")||e.getPropertyValue("-moz-transform")||e.getPropertyValue("-ms-transform")||e.getPropertyValue("-o-transform")||e.getPropertyValue("transform");return"none"===r?null:r.replace("matrix","").replace("3d","").slice(1,-1).split(",").map((function(t){return+t}))}function u(t){for(var e=[];f(t);)e.push(t),t=t.parentNode;return e}function f(t){return t&&(t instanceof Element||t instanceof HTMLElement)}e.exports={getGraphDiv:function(t){var e;if("string"==typeof t){if(null===(e=document.getElementById(t)))throw new Error("No DOM element with id '"+t+"' exists on the page.");return e}if(null==t)throw new Error("DOM element provided is null or undefined");return t},isPlotDiv:function(t){var e=n.select(t);return e.node()instanceof HTMLElement&&e.size()&&e.classed("js-plotly-plot")},removeElement:s,addStyleRule:function(t,e){l("global",t,e)},addRelatedStyleRule:l,deleteRelatedStyleRule:function(t){var e="plotly.js-style-"+t,r=document.getElementById(e);r&&s(r)},getFullTransformMatrix:function(t){var e=u(t),r=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];return e.forEach((function(t){var e=c(t);if(e){var n=a.convertCssMatrix(e);r=o.multiply(r,r,n)}})),r},getElementTransformMatrix:c,getElementAndAncestors:u,equalDomRects:function(t,e){return t&&e&&t.x===e.x&&t.y===e.y&&t.top===e.top&&t.left===e.left&&t.right===e.right&&t.bottom===e.bottom}}},{"./loggers":782,"./matrix":784,d3:169,"gl-mat4":292}],767:[function(t,e,r){"use strict";var n=t("events").EventEmitter,i={init:function(t){if(t._ev instanceof n)return t;var e=new n,r=new n;return t._ev=e,t._internalEv=r,t.on=e.on.bind(e),t.once=e.once.bind(e),t.removeListener=e.removeListener.bind(e),t.removeAllListeners=e.removeAllListeners.bind(e),t._internalOn=r.on.bind(r),t._internalOnce=r.once.bind(r),t._removeInternalListener=r.removeListener.bind(r),t._removeAllInternalListeners=r.removeAllListeners.bind(r),t.emit=function(n,i){"undefined"!=typeof jQuery&&jQuery(t).trigger(n,i),e.emit(n,i),r.emit(n,i)},t},triggerHandler:function(t,e,r){var n,i;"undefined"!=typeof jQuery&&(n=jQuery(t).triggerHandler(e,r));var a=t._ev;if(!a)return n;var o,s=a._events[e];if(!s)return n;function l(t){return t.listener?(a.removeListener(e,t.listener),t.fired?void 0:(t.fired=!0,t.listener.apply(a,[r]))):t.apply(a,[r])}for(s=Array.isArray(s)?s:[s],o=0;o<s.length-1;o++)l(s[o]);return i=l(s[o]),void 0!==n?n:i},purge:function(t){return delete t._ev,delete t.on,delete t.once,delete t.removeListener,delete t.removeAllListeners,delete t.emit,delete t._ev,delete t._internalEv,delete t._internalOn,delete t._internalOnce,delete t._removeInternalListener,delete t._removeAllInternalListeners,t}};e.exports=i},{events:110}],768:[function(t,e,r){"use strict";var n=t("./is_plain_object.js"),i=Array.isArray;function a(t,e,r,o){var s,l,c,u,f,h,p=t[0],d=t.length;if(2===d&&i(p)&&i(t[1])&&0===p.length){if(function(t,e){var r,n;for(r=0;r<t.length;r++){if(null!==(n=t[r])&&"object"==typeof n)return!1;void 0!==n&&(e[r]=n)}return!0}(t[1],p))return p;p.splice(0,p.length)}for(var g=1;g<d;g++)for(l in s=t[g])c=p[l],u=s[l],o&&i(u)?p[l]=u:e&&u&&(n(u)||(f=i(u)))?(f?(f=!1,h=c&&i(c)?c:[]):h=c&&n(c)?c:{},p[l]=a([h,u],e,r,o)):("undefined"!=typeof u||r)&&(p[l]=u);return p}r.extendFlat=function(){return a(arguments,!1,!1,!1)},r.extendDeep=function(){return a(arguments,!0,!1,!1)},r.extendDeepAll=function(){return a(arguments,!0,!0,!1)},r.extendDeepNoArrays=function(){return a(arguments,!0,!1,!0)}},{"./is_plain_object.js":779}],769:[function(t,e,r){"use strict";e.exports=function(t){for(var e={},r=[],n=0,i=0;i<t.length;i++){var a=t[i];1!==e[a]&&(e[a]=1,r[n++]=a)}return r}},{}],770:[function(t,e,r){"use strict";function n(t){return!0===t.visible}function i(t){var e=t[0].trace;return!0===e.visible&&0!==e._length}e.exports=function(t){for(var e,r=(e=t,Array.isArray(e)&&Array.isArray(e[0])&&e[0][0]&&e[0][0].trace?i:n),a=[],o=0;o<t.length;o++){var s=t[o];r(s)&&a.push(s)}return a}},{}],771:[function(t,e,r){"use strict";var n=t("d3"),i=t("country-regex"),a=t("@turf/area"),o=t("@turf/centroid"),s=t("@turf/bbox"),l=t("./identity"),c=t("./loggers"),u=t("./is_plain_object"),f=t("./nested_property"),h=t("./polygon"),p=Object.keys(i),d={"ISO-3":l,"USA-states":l,"country names":function(t){for(var e=0;e<p.length;e++){var r=p[e];if(new RegExp(i[r]).test(t.trim().toLowerCase()))return r}return c.log("Unrecognized country name: "+t+"."),!1}};function g(t){var e=t.geojson,r=window.PlotlyGeoAssets||{},n="string"==typeof e?r[e]:e;return u(n)?n:(c.error("Oops ... something went wrong when fetching "+e),!1)}e.exports={locationToFeature:function(t,e,r){if(!e||"string"!=typeof e)return!1;var n,i,a,o=d[t](e);if(o){if("USA-states"===t)for(n=[],a=0;a<r.length;a++)(i=r[a]).properties&&i.properties.gu&&"USA"===i.properties.gu&&n.push(i);else n=r;for(a=0;a<n.length;a++)if((i=n[a]).id===o)return i;c.log(["Location with id",o,"does not have a matching topojson feature at this resolution."].join(" "))}return!1},feature2polygons:function(t){var e,r,n,i,a=t.geometry,o=a.coordinates,s=t.id,l=[];function c(t){for(var e=0;e<t.length-1;e++)if(t[e][0]>0&&t[e+1][0]<0)return e;return null}switch(e="RUS"===s||"FJI"===s?function(t){var e;if(null===c(t))e=t;else for(e=new Array(t.length),i=0;i<t.length;i++)e[i]=[t[i][0]<0?t[i][0]+360:t[i][0],t[i][1]];l.push(h.tester(e))}:"ATA"===s?function(t){var e=c(t);if(null===e)return l.push(h.tester(t));var r=new Array(t.length+1),n=0;for(i=0;i<t.length;i++)i>e?r[n++]=[t[i][0]+360,t[i][1]]:i===e?(r[n++]=t[i],r[n++]=[t[i][0],-90]):r[n++]=t[i];var a=h.tester(r);a.pts.pop(),l.push(a)}:function(t){l.push(h.tester(t))},a.type){case"MultiPolygon":for(r=0;r<o.length;r++)for(n=0;n<o[r].length;n++)e(o[r][n]);break;case"Polygon":for(r=0;r<o.length;r++)e(o[r])}return l},getTraceGeojson:g,extractTraceFeature:function(t){var e=t[0].trace,r=g(e);if(!r)return!1;var n,i={},s=[];for(n=0;n<e._length;n++){var l=t[n];(l.loc||0===l.loc)&&(i[l.loc]=l)}function u(t){var r=f(t,e.featureidkey||"id").get(),n=i[r];if(n){var l=t.geometry;if("Polygon"===l.type||"MultiPolygon"===l.type){var u={type:"Feature",id:r,geometry:l,properties:{}};u.properties.ct=function(t){var e,r=t.geometry;if("MultiPolygon"===r.type)for(var n=r.coordinates,i=0,s=0;s<n.length;s++){var l={type:"Polygon",coordinates:n[s]},c=a.default(l);c>i&&(i=c,e=l)}else e=r;return o.default(e).geometry.coordinates}(u),n.fIn=t,n.fOut=u,s.push(u)}else c.log(["Location",n.loc,"does not have a valid GeoJSON geometry.","Traces with locationmode *geojson-id* only support","*Polygon* and *MultiPolygon* geometries."].join(" "))}delete i[r]}switch(r.type){case"FeatureCollection":var h=r.features;for(n=0;n<h.length;n++)u(h[n]);break;case"Feature":u(r);break;default:return c.warn(["Invalid GeoJSON type",(r.type||"none")+".","Traces with locationmode *geojson-id* only support","*FeatureCollection* and *Feature* types."].join(" ")),!1}for(var p in i)c.log(["Location *"+p+"*","does not have a matching feature with id-key","*"+e.featureidkey+"*."].join(" "));return s},fetchTraceGeoData:function(t){var e=window.PlotlyGeoAssets||{},r=[];function i(t){return new Promise((function(r,i){n.json(t,(function(n,a){if(n){delete e[t];var o=404===n.status?'GeoJSON at URL "'+t+'" does not exist.':"Unexpected error while fetching from "+t;return i(new Error(o))}return e[t]=a,r(a)}))}))}function a(t){return new Promise((function(r,n){var i=0,a=setInterval((function(){return e[t]&&"pending"!==e[t]?(clearInterval(a),r(e[t])):i>100?(clearInterval(a),n("Unexpected error while fetching from "+t)):void i++}),50)}))}for(var o=0;o<t.length;o++){var s=t[o][0].trace.geojson;"string"==typeof s&&(e[s]?"pending"===e[s]&&r.push(a(s)):(e[s]="pending",r.push(i(s))))}return r},computeBbox:function(t){return s.default(t)}}},{"./identity":776,"./is_plain_object":779,"./loggers":782,"./nested_property":786,"./polygon":790,"@turf/area":59,"@turf/bbox":60,"@turf/centroid":61,"country-regex":139,d3:169}],772:[function(t,e,r){"use strict";var n=t("../constants/numerical").BADNUM;r.calcTraceToLineCoords=function(t){for(var e=t[0].trace.connectgaps,r=[],i=[],a=0;a<t.length;a++){var o=t[a].lonlat;o[0]!==n?i.push(o):!e&&i.length>0&&(r.push(i),i=[])}return i.length>0&&r.push(i),r},r.makeLine=function(t){return 1===t.length?{type:"LineString",coordinates:t[0]}:{type:"MultiLineString",coordinates:t}},r.makePolygon=function(t){if(1===t.length)return{type:"Polygon",coordinates:t};for(var e=new Array(t.length),r=0;r<t.length;r++)e[r]=[t[r]];return{type:"MultiPolygon",coordinates:e}},r.makeBlank=function(){return{type:"Point",coordinates:[]}}},{"../constants/numerical":753}],773:[function(t,e,r){"use strict";var n,i,a,o=t("./mod").mod;function s(t,e,r,n,i,a,o,s){var l=r-t,c=i-t,u=o-i,f=n-e,h=a-e,p=s-a,d=l*p-u*f;if(0===d)return null;var g=(c*p-u*h)/d,m=(c*f-l*h)/d;return m<0||m>1||g<0||g>1?null:{x:t+l*g,y:e+f*g}}function l(t,e,r,n,i){var a=n*t+i*e;if(a<0)return n*n+i*i;if(a>r){var o=n-t,s=i-e;return o*o+s*s}var l=n*e-i*t;return l*l/r}r.segmentsIntersect=s,r.segmentDistance=function(t,e,r,n,i,a,o,c){if(s(t,e,r,n,i,a,o,c))return 0;var u=r-t,f=n-e,h=o-i,p=c-a,d=u*u+f*f,g=h*h+p*p,m=Math.min(l(u,f,d,i-t,a-e),l(u,f,d,o-t,c-e),l(h,p,g,t-i,e-a),l(h,p,g,r-i,n-a));return Math.sqrt(m)},r.getTextLocation=function(t,e,r,s){if(t===i&&s===a||(n={},i=t,a=s),n[r])return n[r];var l=t.getPointAtLength(o(r-s/2,e)),c=t.getPointAtLength(o(r+s/2,e)),u=Math.atan((c.y-l.y)/(c.x-l.x)),f=t.getPointAtLength(o(r,e)),h={x:(4*f.x+l.x+c.x)/6,y:(4*f.y+l.y+c.y)/6,theta:u};return n[r]=h,h},r.clearLocationCache=function(){i=null},r.getVisibleSegment=function(t,e,r){var n,i,a=e.left,o=e.right,s=e.top,l=e.bottom,c=0,u=t.getTotalLength(),f=u;function h(e){var r=t.getPointAtLength(e);0===e?n=r:e===u&&(i=r);var c=r.x<a?a-r.x:r.x>o?r.x-o:0,f=r.y<s?s-r.y:r.y>l?r.y-l:0;return Math.sqrt(c*c+f*f)}for(var p=h(c);p;){if((c+=p+r)>f)return;p=h(c)}for(p=h(f);p;){if(c>(f-=p+r))return;p=h(f)}return{min:c,max:f,len:f-c,total:u,isClosed:0===c&&f===u&&Math.abs(n.x-i.x)<.1&&Math.abs(n.y-i.y)<.1}},r.findPointOnPath=function(t,e,r,n){for(var i,a,o,s=(n=n||{}).pathLength||t.getTotalLength(),l=n.tolerance||.001,c=n.iterationLimit||30,u=t.getPointAtLength(0)[r]>t.getPointAtLength(s)[r]?-1:1,f=0,h=0,p=s;f<c;){if(i=(h+p)/2,o=(a=t.getPointAtLength(i))[r]-e,Math.abs(o)<l)return a;u*o>0?p=i:h=i,f++}return a}},{"./mod":785}],774:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("tinycolor2"),a=t("color-normalize"),o=t("../components/colorscale"),s=t("../components/color/attributes").defaultLine,l=t("./array").isArrayOrTypedArray,c=a(s);function u(t,e){var r=t;return r[3]*=e,r}function f(t){if(n(t))return c;var e=a(t);return e.length?e:c}function h(t){return n(t)?t:1}e.exports={formatColor:function(t,e,r){var n,i,s,p,d,g=t.color,m=l(g),v=l(e),y=o.extractOpts(t),x=[];if(n=void 0!==y.colorscale?o.makeColorScaleFuncFromTrace(t):f,i=m?function(t,e){return void 0===t[e]?c:a(n(t[e]))}:f,s=v?function(t,e){return void 0===t[e]?1:h(t[e])}:h,m||v)for(var b=0;b<r;b++)p=i(g,b),d=s(e,b),x[b]=u(p,d);else x=u(a(g),e);return x},parseColorScale:function(t){var e=o.extractOpts(t),r=e.colorscale;return e.reversescale&&(r=o.flipScale(e.colorscale)),r.map((function(t){var e=t[0],r=i(t[1]).toRgb();return{index:e,rgb:[r.r,r.g,r.b,r.a]}}))}}},{"../components/color/attributes":642,"../components/colorscale":655,"./array":760,"color-normalize":125,"fast-isnumeric":241,tinycolor2:576}],775:[function(t,e,r){"use strict";var n=t("./identity");function i(t){return[t]}e.exports={keyFun:function(t){return t.key},repeat:i,descend:n,wrap:i,unwrap:function(t){return t[0]}}},{"./identity":776}],776:[function(t,e,r){"use strict";e.exports=function(t){return t}},{}],777:[function(t,e,r){"use strict";e.exports=function(t,e){if(!e)return t;var r=1/Math.abs(e),n=r>1?(r*t+r*e)/r:t+e,i=String(n).length;if(i>16){var a=String(e).length;if(i>=String(t).length+a){var o=parseFloat(n).toPrecision(12);-1===o.indexOf("e+")&&(n=+o)}}return n}},{}],778:[function(t,e,r){"use strict";var n=t("d3"),i=t("d3-time-format").utcFormat,a=t("fast-isnumeric"),o=t("../constants/numerical"),s=o.FP_SAFE,l=o.BADNUM,c=e.exports={};c.nestedProperty=t("./nested_property"),c.keyedContainer=t("./keyed_container"),c.relativeAttr=t("./relative_attr"),c.isPlainObject=t("./is_plain_object"),c.toLogRange=t("./to_log_range"),c.relinkPrivateKeys=t("./relink_private");var u=t("./array");c.isTypedArray=u.isTypedArray,c.isArrayOrTypedArray=u.isArrayOrTypedArray,c.isArray1D=u.isArray1D,c.ensureArray=u.ensureArray,c.concat=u.concat,c.maxRowLength=u.maxRowLength,c.minRowLength=u.minRowLength;var f=t("./mod");c.mod=f.mod,c.modHalf=f.modHalf;var h=t("./coerce");c.valObjectMeta=h.valObjectMeta,c.coerce=h.coerce,c.coerce2=h.coerce2,c.coerceFont=h.coerceFont,c.coerceHoverinfo=h.coerceHoverinfo,c.coerceSelectionMarkerOpacity=h.coerceSelectionMarkerOpacity,c.validate=h.validate;var p=t("./dates");c.dateTime2ms=p.dateTime2ms,c.isDateTime=p.isDateTime,c.ms2DateTime=p.ms2DateTime,c.ms2DateTimeLocal=p.ms2DateTimeLocal,c.cleanDate=p.cleanDate,c.isJSDate=p.isJSDate,c.formatDate=p.formatDate,c.incrementMonth=p.incrementMonth,c.dateTick0=p.dateTick0,c.dfltRange=p.dfltRange,c.findExactDates=p.findExactDates,c.MIN_MS=p.MIN_MS,c.MAX_MS=p.MAX_MS;var d=t("./search");c.findBin=d.findBin,c.sorterAsc=d.sorterAsc,c.sorterDes=d.sorterDes,c.distinctVals=d.distinctVals,c.roundUp=d.roundUp,c.sort=d.sort,c.findIndexOfMin=d.findIndexOfMin;var g=t("./stats");c.aggNums=g.aggNums,c.len=g.len,c.mean=g.mean,c.median=g.median,c.midRange=g.midRange,c.variance=g.variance,c.stdev=g.stdev,c.interp=g.interp;var m=t("./matrix");c.init2dArray=m.init2dArray,c.transposeRagged=m.transposeRagged,c.dot=m.dot,c.translationMatrix=m.translationMatrix,c.rotationMatrix=m.rotationMatrix,c.rotationXYMatrix=m.rotationXYMatrix,c.apply3DTransform=m.apply3DTransform,c.apply2DTransform=m.apply2DTransform,c.apply2DTransform2=m.apply2DTransform2,c.convertCssMatrix=m.convertCssMatrix,c.inverseTransformMatrix=m.inverseTransformMatrix;var v=t("./angles");c.deg2rad=v.deg2rad,c.rad2deg=v.rad2deg,c.angleDelta=v.angleDelta,c.angleDist=v.angleDist,c.isFullCircle=v.isFullCircle,c.isAngleInsideSector=v.isAngleInsideSector,c.isPtInsideSector=v.isPtInsideSector,c.pathArc=v.pathArc,c.pathSector=v.pathSector,c.pathAnnulus=v.pathAnnulus;var y=t("./anchor_utils");c.isLeftAnchor=y.isLeftAnchor,c.isCenterAnchor=y.isCenterAnchor,c.isRightAnchor=y.isRightAnchor,c.isTopAnchor=y.isTopAnchor,c.isMiddleAnchor=y.isMiddleAnchor,c.isBottomAnchor=y.isBottomAnchor;var x=t("./geometry2d");c.segmentsIntersect=x.segmentsIntersect,c.segmentDistance=x.segmentDistance,c.getTextLocation=x.getTextLocation,c.clearLocationCache=x.clearLocationCache,c.getVisibleSegment=x.getVisibleSegment,c.findPointOnPath=x.findPointOnPath;var b=t("./extend");c.extendFlat=b.extendFlat,c.extendDeep=b.extendDeep,c.extendDeepAll=b.extendDeepAll,c.extendDeepNoArrays=b.extendDeepNoArrays;var _=t("./loggers");c.log=_.log,c.warn=_.warn,c.error=_.error;var w=t("./regex");c.counterRegex=w.counter;var T=t("./throttle");c.throttle=T.throttle,c.throttleDone=T.done,c.clearThrottle=T.clear;var k=t("./dom");function M(t){var e={};for(var r in t)for(var n=t[r],i=0;i<n.length;i++)e[n[i]]=+r;return e}c.getGraphDiv=k.getGraphDiv,c.isPlotDiv=k.isPlotDiv,c.removeElement=k.removeElement,c.addStyleRule=k.addStyleRule,c.addRelatedStyleRule=k.addRelatedStyleRule,c.deleteRelatedStyleRule=k.deleteRelatedStyleRule,c.getFullTransformMatrix=k.getFullTransformMatrix,c.getElementTransformMatrix=k.getElementTransformMatrix,c.getElementAndAncestors=k.getElementAndAncestors,c.equalDomRects=k.equalDomRects,c.clearResponsive=t("./clear_responsive"),c.preserveDrawingBuffer=t("./preserve_drawing_buffer"),c.makeTraceGroups=t("./make_trace_groups"),c._=t("./localize"),c.notifier=t("./notifier"),c.filterUnique=t("./filter_unique"),c.filterVisible=t("./filter_visible"),c.pushUnique=t("./push_unique"),c.increment=t("./increment"),c.cleanNumber=t("./clean_number"),c.ensureNumber=function(t){return a(t)?(t=Number(t))<-s||t>s?l:a(t)?Number(t):l:l},c.isIndex=function(t,e){return!(void 0!==e&&t>=e)&&(a(t)&&t>=0&&t%1==0)},c.noop=t("./noop"),c.identity=t("./identity"),c.repeat=function(t,e){for(var r=new Array(e),n=0;n<e;n++)r[n]=t;return r},c.swapAttrs=function(t,e,r,n){r||(r="x"),n||(n="y");for(var i=0;i<e.length;i++){var a=e[i],o=c.nestedProperty(t,a.replace("?",r)),s=c.nestedProperty(t,a.replace("?",n)),l=o.get();o.set(s.get()),s.set(l)}},c.raiseToTop=function(t){t.parentNode.appendChild(t)},c.cancelTransition=function(t){return t.transition().duration(0)},c.constrain=function(t,e,r){return e>r?Math.max(r,Math.min(e,t)):Math.max(e,Math.min(r,t))},c.bBoxIntersect=function(t,e,r){return r=r||0,t.left<=e.right+r&&e.left<=t.right+r&&t.top<=e.bottom+r&&e.top<=t.bottom+r},c.simpleMap=function(t,e,r,n,i){for(var a=t.length,o=new Array(a),s=0;s<a;s++)o[s]=e(t[s],r,n,i);return o},c.randstr=function t(e,r,n,i){if(n||(n=16),void 0===r&&(r=24),r<=0)return"0";var a,o,s=Math.log(Math.pow(2,r))/Math.log(n),l="";for(a=2;s===1/0;a*=2)s=Math.log(Math.pow(2,r/a))/Math.log(n)*a;var u=s-Math.floor(s);for(a=0;a<Math.floor(s);a++)l=Math.floor(Math.random()*n).toString(n)+l;u&&(o=Math.pow(n,u),l=Math.floor(Math.random()*o).toString(n)+l);var f=parseInt(l,n);return e&&e[l]||f!==1/0&&f>=Math.pow(2,r)?i>10?(c.warn("randstr failed uniqueness"),l):t(e,r,n,(i||0)+1):l},c.OptionControl=function(t,e){t||(t={}),e||(e="opt");var r={optionList:[],_newoption:function(n){n[e]=t,r[n.name]=n,r.optionList.push(n)}};return r["_"+e]=t,r},c.smooth=function(t,e){if((e=Math.round(e)||0)<2)return t;var r,n,i,a,o=t.length,s=2*o,l=2*e-1,c=new Array(l),u=new Array(o);for(r=0;r<l;r++)c[r]=(1-Math.cos(Math.PI*(r+1)/e))/(2*e);for(r=0;r<o;r++){for(a=0,n=0;n<l;n++)(i=r+n+1-e)<-o?i-=s*Math.round(i/s):i>=s&&(i-=s*Math.floor(i/s)),i<0?i=-1-i:i>=o&&(i=s-1-i),a+=t[i]*c[n];u[r]=a}return u},c.syncOrAsync=function(t,e,r){var n;function i(){return c.syncOrAsync(t,e,r)}for(;t.length;)if((n=(0,t.splice(0,1)[0])(e))&&n.then)return n.then(i).then(void 0,c.promiseError);return r&&r(e)},c.stripTrailingSlash=function(t){return"/"===t.substr(-1)?t.substr(0,t.length-1):t},c.noneOrAll=function(t,e,r){if(t){var n,i=!1,a=!0;for(n=0;n<r.length;n++)null!=t[r[n]]?i=!0:a=!1;if(i&&!a)for(n=0;n<r.length;n++)t[r[n]]=e[r[n]]}},c.mergeArray=function(t,e,r,n){var i="function"==typeof n;if(c.isArrayOrTypedArray(t))for(var a=Math.min(t.length,e.length),o=0;o<a;o++){var s=t[o];e[o][r]=i?n(s):s}},c.mergeArrayCastPositive=function(t,e,r){return c.mergeArray(t,e,r,(function(t){var e=+t;return isFinite(e)&&e>0?e:0}))},c.fillArray=function(t,e,r,n){if(n=n||c.identity,c.isArrayOrTypedArray(t))for(var i=0;i<e.length;i++)e[i][r]=n(t[i])},c.castOption=function(t,e,r,n){n=n||c.identity;var i=c.nestedProperty(t,r).get();return c.isArrayOrTypedArray(i)?Array.isArray(e)&&c.isArrayOrTypedArray(i[e[0]])?n(i[e[0]][e[1]]):n(i[e]):i},c.extractOption=function(t,e,r,n){if(r in t)return t[r];var i=c.nestedProperty(e,n).get();return Array.isArray(i)?void 0:i},c.tagSelected=function(t,e,r){var n,i,a=e.selectedpoints,o=e._indexToPoints;o&&(n=M(o));for(var s=0;s<a.length;s++){var l=a[s];if(c.isIndex(l)||c.isArrayOrTypedArray(l)&&c.isIndex(l[0])&&c.isIndex(l[1])){var u=n?n[l]:l,f=r?r[u]:u;void 0!==(i=f)&&i<t.length&&(t[f].selected=1)}}},c.selIndices2selPoints=function(t){var e=t.selectedpoints,r=t._indexToPoints;if(r){for(var n=M(r),i=[],a=0;a<e.length;a++){var o=e[a];if(c.isIndex(o)){var s=n[o];c.isIndex(s)&&i.push(s)}}return i}return e},c.getTargetArray=function(t,e){var r=e.target;if("string"==typeof r&&r){var n=c.nestedProperty(t,r).get();return!!Array.isArray(n)&&n}return!!Array.isArray(r)&&r},c.minExtend=function(t,e){var r={};"object"!=typeof e&&(e={});var n,i,a,o=Object.keys(t);for(n=0;n<o.length;n++)a=t[i=o[n]],"_"!==i.charAt(0)&&"function"!=typeof a&&("module"===i?r[i]=a:Array.isArray(a)?r[i]="colorscale"===i?a.slice():a.slice(0,3):c.isTypedArray(a)?r[i]=a.subarray(0,3):r[i]=a&&"object"==typeof a?c.minExtend(t[i],e[i]):a);for(o=Object.keys(e),n=0;n<o.length;n++)"object"==typeof(a=e[i=o[n]])&&i in r&&"object"==typeof r[i]||(r[i]=a);return r},c.titleCase=function(t){return t.charAt(0).toUpperCase()+t.substr(1)},c.containsAny=function(t,e){for(var r=0;r<e.length;r++)if(-1!==t.indexOf(e[r]))return!0;return!1},c.isIE=function(){return"undefined"!=typeof window.navigator.msSaveBlob};var A=/MSIE [1-9]\./;c.isIE9orBelow=function(){return c.isIE()&&A.test(window.navigator.userAgent)};var S=/Version\/[\d\.]+.*Safari/;c.isSafari=function(){return S.test(window.navigator.userAgent)};var E=/iPad|iPhone|iPod/;c.isIOS=function(){return E.test(window.navigator.userAgent)},c.isD3Selection=function(t){return t&&"function"==typeof t.classed},c.ensureSingle=function(t,e,r,n){var i=t.select(e+(r?"."+r:""));if(i.size())return i;var a=t.append(e);return r&&a.classed(r,!0),n&&a.call(n),a},c.ensureSingleById=function(t,e,r,n){var i=t.select(e+"#"+r);if(i.size())return i;var a=t.append(e).attr("id",r);return n&&a.call(n),a},c.objectFromPath=function(t,e){for(var r,n=t.split("."),i=r={},a=0;a<n.length;a++){var o=n[a],s=null,l=n[a].match(/(.*)\[([0-9]+)\]/);l?(o=l[1],s=l[2],r=r[o]=[],a===n.length-1?r[s]=e:r[s]={},r=r[s]):(a===n.length-1?r[o]=e:r[o]={},r=r[o])}return i};var C=/^([^\[\.]+)\.(.+)?/,L=/^([^\.]+)\[([0-9]+)\](\.)?(.+)?/;c.expandObjectPaths=function(t){var e,r,n,i,a,o,s;if("object"==typeof t&&!Array.isArray(t))for(r in t)t.hasOwnProperty(r)&&((e=r.match(C))?(i=t[r],n=e[1],delete t[r],t[n]=c.extendDeepNoArrays(t[n]||{},c.objectFromPath(r,c.expandObjectPaths(i))[n])):(e=r.match(L))?(i=t[r],n=e[1],a=parseInt(e[2]),delete t[r],t[n]=t[n]||[],"."===e[3]?(s=e[4],o=t[n][a]=t[n][a]||{},c.extendDeepNoArrays(o,c.objectFromPath(s,c.expandObjectPaths(i)))):t[n][a]=c.expandObjectPaths(i)):t[r]=c.expandObjectPaths(t[r]));return t},c.numSeparate=function(t,e,r){if(r||(r=!1),"string"!=typeof e||0===e.length)throw new Error("Separator string required for formatting!");"number"==typeof t&&(t=String(t));var n=/(\d+)(\d{3})/,i=e.charAt(0),a=e.charAt(1),o=t.split("."),s=o[0],l=o.length>1?i+o[1]:"";if(a&&(o.length>1||s.length>4||r))for(;n.test(s);)s=s.replace(n,"$1"+a+"$2");return s+l},c.TEMPLATE_STRING_REGEX=/%{([^\s%{}:]*)([:|\|][^}]*)?}/g;var I=/^\w*$/;c.templateString=function(t,e){var r={};return t.replace(c.TEMPLATE_STRING_REGEX,(function(t,n){var i;return I.test(n)?i=e[n]:(r[n]=r[n]||c.nestedProperty(e,n).get,i=r[n]()),c.isValidTextValue(i)?i:""}))};var P={max:10,count:0,name:"hovertemplate"};c.hovertemplateString=function(){return D.apply(P,arguments)};var z={max:10,count:0,name:"texttemplate"};c.texttemplateString=function(){return D.apply(z,arguments)};var O=/^[:|\|]/;function D(t,e,r){var a=this,o=arguments;e||(e={});var s={};return t.replace(c.TEMPLATE_STRING_REGEX,(function(t,l,u){var f,h,p,d;for(p=3;p<o.length;p++)if(f=o[p]){if(f.hasOwnProperty(l)){h=f[l];break}if(I.test(l)||(h=s[l]||c.nestedProperty(f,l).get())&&(s[l]=h),void 0!==h)break}if(void 0===h&&a)return a.count<a.max&&(c.warn("Variable '"+l+"' in "+a.name+" could not be found!"),h=t),a.count===a.max&&c.warn("Too many "+a.name+" warnings - additional warnings will be suppressed"),a.count++,t;if(u){if(":"===u[0]&&(h=(d=r?r.numberFormat:n.format)(u.replace(O,""))(h)),"|"===u[0]){d=r?r.timeFormat:i;var g=c.dateTime2ms(h);h=c.formatDate(g,u.replace(O,""),!1,d)}}else e.hasOwnProperty(l+"Label")&&(h=e[l+"Label"]);return h}))}c.subplotSort=function(t,e){for(var r=Math.min(t.length,e.length)+1,n=0,i=0,a=0;a<r;a++){var o=t.charCodeAt(a)||0,s=e.charCodeAt(a)||0,l=o>=48&&o<=57,c=s>=48&&s<=57;if(l&&(n=10*n+o-48),c&&(i=10*i+s-48),!l||!c){if(n!==i)return n-i;if(o!==s)return o-s}}return i-n};var R=2e9;c.seedPseudoRandom=function(){R=2e9},c.pseudoRandom=function(){var t=R;return R=(69069*R+1)%4294967296,Math.abs(R-t)<429496729?c.pseudoRandom():R/4294967296},c.fillText=function(t,e,r){var n=Array.isArray(r)?function(t){r.push(t)}:function(t){r.text=t},i=c.extractOption(t,e,"htx","hovertext");if(c.isValidTextValue(i))return n(i);var a=c.extractOption(t,e,"tx","text");return c.isValidTextValue(a)?n(a):void 0},c.isValidTextValue=function(t){return t||0===t},c.formatPercent=function(t,e){e=e||0;for(var r=(Math.round(100*t*Math.pow(10,e))*Math.pow(.1,e)).toFixed(e)+"%",n=0;n<e;n++)-1!==r.indexOf(".")&&(r=(r=r.replace("0%","%")).replace(".%","%"));return r},c.isHidden=function(t){var e=window.getComputedStyle(t).display;return!e||"none"===e},c.strTranslate=function(t,e){return t||e?"translate("+t+","+e+")":""},c.strRotate=function(t){return t?"rotate("+t+")":""},c.strScale=function(t){return 1!==t?"scale("+t+")":""},c.getTextTransform=function(t){var e=t.noCenter,r=t.textX,n=t.textY,i=t.targetX,a=t.targetY,o=t.anchorX||0,s=t.anchorY||0,l=t.rotate,u=t.scale;return u?u>1&&(u=1):u=0,c.strTranslate(i-u*(r+o),a-u*(n+s))+c.strScale(u)+(l?"rotate("+l+(e?"":" "+r+" "+n)+")":"")},c.ensureUniformFontSize=function(t,e){var r=c.extendFlat({},e);return r.size=Math.max(e.size,t._fullLayout.uniformtext.minsize||0),r},c.join2=function(t,e,r){var n=t.length;return n>1?t.slice(0,-1).join(e)+r+t[n-1]:t.join(e)}},{"../constants/numerical":753,"./anchor_utils":758,"./angles":759,"./array":760,"./clean_number":761,"./clear_responsive":763,"./coerce":764,"./dates":765,"./dom":766,"./extend":768,"./filter_unique":769,"./filter_visible":770,"./geometry2d":773,"./identity":776,"./increment":777,"./is_plain_object":779,"./keyed_container":780,"./localize":781,"./loggers":782,"./make_trace_groups":783,"./matrix":784,"./mod":785,"./nested_property":786,"./noop":787,"./notifier":788,"./preserve_drawing_buffer":792,"./push_unique":793,"./regex":795,"./relative_attr":796,"./relink_private":797,"./search":798,"./stats":801,"./throttle":804,"./to_log_range":805,d3:169,"d3-time-format":166,"fast-isnumeric":241}],779:[function(t,e,r){"use strict";e.exports=function(t){return window&&window.process&&window.process.versions?"[object Object]"===Object.prototype.toString.call(t):"[object Object]"===Object.prototype.toString.call(t)&&Object.getPrototypeOf(t)===Object.prototype}},{}],780:[function(t,e,r){"use strict";var n=t("./nested_property"),i=/^\w*$/;e.exports=function(t,e,r,a){var o,s,l;r=r||"name",a=a||"value";var c={};e&&e.length?(l=n(t,e),s=l.get()):s=t,e=e||"";var u={};if(s)for(o=0;o<s.length;o++)u[s[o][r]]=o;var f=i.test(a),h={set:function(t,e){var i=null===e?4:0;if(!s){if(!l||4===i)return;s=[],l.set(s)}var o=u[t];if(void 0===o){if(4===i)return;i|=3,o=s.length,u[t]=o}else e!==(f?s[o][a]:n(s[o],a).get())&&(i|=2);var p=s[o]=s[o]||{};return p[r]=t,f?p[a]=e:n(p,a).set(e),null!==e&&(i&=-5),c[o]=c[o]|i,h},get:function(t){if(s){var e=u[t];return void 0===e?void 0:f?s[e][a]:n(s[e],a).get()}},rename:function(t,e){var n=u[t];return void 0===n||(c[n]=1|c[n],u[e]=n,delete u[t],s[n][r]=e),h},remove:function(t){var e=u[t];if(void 0===e)return h;var i=s[e];if(Object.keys(i).length>2)return c[e]=2|c[e],h.set(t,null);if(f){for(o=e;o<s.length;o++)c[o]=3|c[o];for(o=e;o<s.length;o++)u[s[o][r]]--;s.splice(e,1),delete u[t]}else n(i,a).set(null),c[e]=6|c[e];return h},constructUpdate:function(){for(var t,i,o={},l=Object.keys(c),u=0;u<l.length;u++)i=l[u],t=e+"["+i+"]",s[i]?(1&c[i]&&(o[t+"."+r]=s[i][r]),2&c[i]&&(o[t+"."+a]=f?4&c[i]?null:s[i][a]:4&c[i]?null:n(s[i],a).get())):o[t]=null;return o}};return h}},{"./nested_property":786}],781:[function(t,e,r){"use strict";var n=t("../registry");e.exports=function(t,e){for(var r=t._context.locale,i=0;i<2;i++){for(var a=t._context.locales,o=0;o<2;o++){var s=(a[r]||{}).dictionary;if(s){var l=s[e];if(l)return l}a=n.localeRegistry}var c=r.split("-")[0];if(c===r)break;r=c}return e}},{"../registry":911}],782:[function(t,e,r){"use strict";var n=t("../plot_api/plot_config").dfltConfig,i=t("./notifier"),a=e.exports={};function o(t,e){if(t&&t.apply)try{return void t.apply(console,e)}catch(t){}for(var r=0;r<e.length;r++)try{t(e[r])}catch(t){console.log(e[r])}}a.log=function(){var t;if(n.logging>1){var e=["LOG:"];for(t=0;t<arguments.length;t++)e.push(arguments[t]);o(console.trace||console.log,e)}if(n.notifyOnLogging>1){var r=[];for(t=0;t<arguments.length;t++)r.push(arguments[t]);i(r.join("<br>"),"long")}},a.warn=function(){var t;if(n.logging>0){var e=["WARN:"];for(t=0;t<arguments.length;t++)e.push(arguments[t]);o(console.trace||console.log,e)}if(n.notifyOnLogging>0){var r=[];for(t=0;t<arguments.length;t++)r.push(arguments[t]);i(r.join("<br>"),"stick")}},a.error=function(){var t;if(n.logging>0){var e=["ERROR:"];for(t=0;t<arguments.length;t++)e.push(arguments[t]);o(console.error,e)}if(n.notifyOnLogging>0){var r=[];for(t=0;t<arguments.length;t++)r.push(arguments[t]);i(r.join("<br>"),"stick")}}},{"../plot_api/plot_config":815,"./notifier":788}],783:[function(t,e,r){"use strict";var n=t("d3");e.exports=function(t,e,r){var i=t.selectAll("g."+r.replace(/\s/g,".")).data(e,(function(t){return t[0].trace.uid}));i.exit().remove(),i.enter().append("g").attr("class",r),i.order();var a=t.classed("rangeplot")?"nodeRangePlot3":"node3";return i.each((function(t){t[0][a]=n.select(this)})),i}},{d3:169}],784:[function(t,e,r){"use strict";var n=t("gl-mat4");r.init2dArray=function(t,e){for(var r=new Array(t),n=0;n<t;n++)r[n]=new Array(e);return r},r.transposeRagged=function(t){var e,r,n=0,i=t.length;for(e=0;e<i;e++)n=Math.max(n,t[e].length);var a=new Array(n);for(e=0;e<n;e++)for(a[e]=new Array(i),r=0;r<i;r++)a[e][r]=t[r][e];return a},r.dot=function(t,e){if(!t.length||!e.length||t.length!==e.length)return null;var n,i,a=t.length;if(t[0].length)for(n=new Array(a),i=0;i<a;i++)n[i]=r.dot(t[i],e);else if(e[0].length){var o=r.transposeRagged(e);for(n=new Array(o.length),i=0;i<o.length;i++)n[i]=r.dot(t,o[i])}else for(n=0,i=0;i<a;i++)n+=t[i]*e[i];return n},r.translationMatrix=function(t,e){return[[1,0,t],[0,1,e],[0,0,1]]},r.rotationMatrix=function(t){var e=t*Math.PI/180;return[[Math.cos(e),-Math.sin(e),0],[Math.sin(e),Math.cos(e),0],[0,0,1]]},r.rotationXYMatrix=function(t,e,n){return r.dot(r.dot(r.translationMatrix(e,n),r.rotationMatrix(t)),r.translationMatrix(-e,-n))},r.apply3DTransform=function(t){return function(){var e=arguments,n=1===arguments.length?e[0]:[e[0],e[1],e[2]||0];return r.dot(t,[n[0],n[1],n[2],1]).slice(0,3)}},r.apply2DTransform=function(t){return function(){var e=arguments;3===e.length&&(e=e[0]);var n=1===arguments.length?e[0]:[e[0],e[1]];return r.dot(t,[n[0],n[1],1]).slice(0,2)}},r.apply2DTransform2=function(t){var e=r.apply2DTransform(t);return function(t){return e(t.slice(0,2)).concat(e(t.slice(2,4)))}},r.convertCssMatrix=function(t){if(t){var e=t.length;if(16===e)return t;if(6===e)return[t[0],t[1],0,0,t[2],t[3],0,0,0,0,1,0,t[4],t[5],0,1]}return[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},r.inverseTransformMatrix=function(t){var e=[];return n.invert(e,t),[[e[0],e[1],e[2],e[3]],[e[4],e[5],e[6],e[7]],[e[8],e[9],e[10],e[11]],[e[12],e[13],e[14],e[15]]]}},{"gl-mat4":292}],785:[function(t,e,r){"use strict";e.exports={mod:function(t,e){var r=t%e;return r<0?r+e:r},modHalf:function(t,e){return Math.abs(t)>e/2?t-Math.round(t/e)*e:t}}},{}],786:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("./array").isArrayOrTypedArray;function a(t,e){return function(){var r,n,o,s,l,c=t;for(s=0;s<e.length-1;s++){if(-1===(r=e[s])){for(n=!0,o=[],l=0;l<c.length;l++)o[l]=a(c[l],e.slice(s+1))(),o[l]!==o[0]&&(n=!1);return n?o[0]:o}if("number"==typeof r&&!i(c))return;if("object"!=typeof(c=c[r])||null===c)return}if("object"==typeof c&&null!==c&&null!==(o=c[e[s]]))return o}}e.exports=function(t,e){if(n(e))e=String(e);else if("string"!=typeof e||"[-1]"===e.substr(e.length-4))throw"bad property string";for(var r,i,o,s=0,c=e.split(".");s<c.length;){if(r=String(c[s]).match(/^([^\[\]]*)((\[\-?[0-9]*\])+)$/)){if(r[1])c[s]=r[1];else{if(0!==s)throw"bad property string";c.splice(0,1)}for(i=r[2].substr(1,r[2].length-2).split("]["),o=0;o<i.length;o++)s++,c.splice(s,0,Number(i[o]))}s++}return"object"!=typeof t?function(t,e,r){return{set:function(){throw"bad container"},get:function(){},astr:e,parts:r,obj:t}}(t,e,c):{set:l(t,c,e),get:a(t,c),astr:e,parts:c,obj:t}};var o=/(^|\.)args\[/;function s(t,e){return void 0===t||null===t&&!e.match(o)}function l(t,e,r){return function(n){var a,o,l=t,h="",p=[[t,h]],d=s(n,r);for(o=0;o<e.length-1;o++){if("number"==typeof(a=e[o])&&!i(l))throw"array index but container is not an array";if(-1===a){if(d=!u(l,e.slice(o+1),n,r))break;return}if(!f(l,a,e[o+1],d))break;if("object"!=typeof(l=l[a])||null===l)throw"container is not an object";h=c(h,a),p.push([l,h])}if(d){if(o===e.length-1&&(delete l[e[o]],Array.isArray(l)&&+e[o]==l.length-1))for(;l.length&&void 0===l[l.length-1];)l.pop()}else l[e[o]]=n}}function c(t,e){var r=e;return n(e)?r="["+e+"]":t&&(r="."+e),t+r}function u(t,e,r,n){var a,o=i(r),c=!0,u=r,h=n.replace("-1",0),p=!o&&s(r,h),d=e[0];for(a=0;a<t.length;a++)h=n.replace("-1",a),o&&(p=s(u=r[a%r.length],h)),p&&(c=!1),f(t,a,d,p)&&l(t[a],e,n.replace("-1",a))(u);return c}function f(t,e,r,n){if(void 0===t[e]){if(n)return!1;t[e]="number"==typeof r?[]:{}}return!0}},{"./array":760,"fast-isnumeric":241}],787:[function(t,e,r){"use strict";e.exports=function(){}},{}],788:[function(t,e,r){"use strict";var n=t("d3"),i=t("fast-isnumeric"),a=[];e.exports=function(t,e){if(-1===a.indexOf(t)){a.push(t);var r=1e3;i(e)?r=e:"long"===e&&(r=3e3);var o=n.select("body").selectAll(".plotly-notifier").data([0]);o.enter().append("div").classed("plotly-notifier",!0),o.selectAll(".notifier-note").data(a).enter().append("div").classed("notifier-note",!0).style("opacity",0).each((function(t){var i=n.select(this);i.append("button").classed("notifier-close",!0).html("×").on("click",(function(){i.transition().call(s)}));for(var a=i.append("p"),o=t.split(/<br\s*\/?>/g),l=0;l<o.length;l++)l&&a.append("br"),a.append("span").text(o[l]);"stick"===e?i.transition().duration(350).style("opacity",1):i.transition().duration(700).style("opacity",1).transition().delay(r).call(s)}))}function s(t){t.duration(700).style("opacity",0).each("end",(function(t){var e=a.indexOf(t);-1!==e&&a.splice(e,1),n.select(this).remove()}))}}},{d3:169,"fast-isnumeric":241}],789:[function(t,e,r){"use strict";var n=t("./setcursor"),i="data-savedcursor";e.exports=function(t,e){var r=t.attr(i);if(e){if(!r){for(var a=(t.attr("class")||"").split(" "),o=0;o<a.length;o++){var s=a[o];0===s.indexOf("cursor-")&&t.attr(i,s.substr(7)).classed(s,!1)}t.attr(i)||t.attr(i,"!!")}n(t,e)}else r&&(t.attr(i,null),"!!"===r?n(t):n(t,r))}},{"./setcursor":799}],790:[function(t,e,r){"use strict";var n=t("./matrix").dot,i=t("../constants/numerical").BADNUM,a=e.exports={};a.tester=function(t){var e,r=t.slice(),n=r[0][0],a=n,o=r[0][1],s=o;for(r.push(r[0]),e=1;e<r.length;e++)n=Math.min(n,r[e][0]),a=Math.max(a,r[e][0]),o=Math.min(o,r[e][1]),s=Math.max(s,r[e][1]);var l,c=!1;5===r.length&&(r[0][0]===r[1][0]?r[2][0]===r[3][0]&&r[0][1]===r[3][1]&&r[1][1]===r[2][1]&&(c=!0,l=function(t){return t[0]===r[0][0]}):r[0][1]===r[1][1]&&r[2][1]===r[3][1]&&r[0][0]===r[3][0]&&r[1][0]===r[2][0]&&(c=!0,l=function(t){return t[1]===r[0][1]}));var u=!0,f=r[0];for(e=1;e<r.length;e++)if(f[0]!==r[e][0]||f[1]!==r[e][1]){u=!1;break}return{xmin:n,xmax:a,ymin:o,ymax:s,pts:r,contains:c?function(t,e){var r=t[0],c=t[1];return!(r===i||r<n||r>a||c===i||c<o||c>s)&&(!e||!l(t))}:function(t,e){var l=t[0],c=t[1];if(l===i||l<n||l>a||c===i||c<o||c>s)return!1;var u,f,h,p,d,g=r.length,m=r[0][0],v=r[0][1],y=0;for(u=1;u<g;u++)if(f=m,h=v,m=r[u][0],v=r[u][1],!(l<(p=Math.min(f,m))||l>Math.max(f,m)||c>Math.max(h,v)))if(c<Math.min(h,v))l!==p&&y++;else{if(c===(d=m===f?c:h+(l-f)*(v-h)/(m-f)))return 1!==u||!e;c<=d&&l!==p&&y++}return y%2==1},isRect:c,degenerate:u}},a.isSegmentBent=function(t,e,r,i){var a,o,s,l=t[e],c=[t[r][0]-l[0],t[r][1]-l[1]],u=n(c,c),f=Math.sqrt(u),h=[-c[1]/f,c[0]/f];for(a=e+1;a<r;a++)if(o=[t[a][0]-l[0],t[a][1]-l[1]],(s=n(o,c))<0||s>u||Math.abs(n(o,h))>i)return!0;return!1},a.filter=function(t,e){var r=[t[0]],n=0,i=0;function o(o){t.push(o);var s=r.length,l=n;r.splice(i+1);for(var c=l+1;c<t.length;c++)(c===t.length-1||a.isSegmentBent(t,l,c+1,e))&&(r.push(t[c]),r.length<s-2&&(n=c,i=r.length-1),l=c)}t.length>1&&o(t.pop());return{addPt:o,raw:t,filtered:r}}},{"../constants/numerical":753,"./matrix":784}],791:[function(t,e,r){(function(r){(function(){"use strict";var n=t("./show_no_webgl_msg"),i=t("regl");e.exports=function(t,e){var a=t._fullLayout,o=!0;return a._glcanvas.each((function(n){if(!n.regl&&(!n.pick||a._has("parcoords"))){try{n.regl=i({canvas:this,attributes:{antialias:!n.pick,preserveDrawingBuffer:!0},pixelRatio:t._context.plotGlPixelRatio||r.devicePixelRatio,extensions:e||[]})}catch(t){o=!1}n.regl||(o=!1),o&&this.addEventListener("webglcontextlost",(function(e){t&&t.emit&&t.emit("plotly_webglcontextlost",{event:e,layer:n.key})}),!1)}})),o||n({container:a._glcontainer.node()}),o}}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./show_no_webgl_msg":800,regl:540}],792:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("is-mobile");e.exports=function(t){var e;if("string"!=typeof(e=t&&t.hasOwnProperty("userAgent")?t.userAgent:function(){var t;"undefined"!=typeof navigator&&(t=navigator.userAgent);t&&t.headers&&"string"==typeof t.headers["user-agent"]&&(t=t.headers["user-agent"]);return t}()))return!0;var r=i({ua:{headers:{"user-agent":e}},tablet:!0,featureDetect:!1});if(!r)for(var a=e.split(" "),o=1;o<a.length;o++){if(-1!==a[o].indexOf("Safari"))for(var s=o-1;s>-1;s--){var l=a[s];if("Version/"===l.substr(0,8)){var c=l.substr(8).split(".")[0];if(n(c)&&(c=+c),c>=13)return!0}}}return r}},{"fast-isnumeric":241,"is-mobile":467}],793:[function(t,e,r){"use strict";e.exports=function(t,e){if(e instanceof RegExp){for(var r=e.toString(),n=0;n<t.length;n++)if(t[n]instanceof RegExp&&t[n].toString()===r)return t;t.push(e)}else!e&&0!==e||-1!==t.indexOf(e)||t.push(e);return t}},{}],794:[function(t,e,r){"use strict";var n=t("../lib"),i=t("../plot_api/plot_config").dfltConfig;var a={add:function(t,e,r,n,a){var o,s;t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},s=t.undoQueue.index,t.autoplay?t.undoQueue.inSequence||(t.autoplay=!1):(!t.undoQueue.sequence||t.undoQueue.beginSequence?(o={undo:{calls:[],args:[]},redo:{calls:[],args:[]}},t.undoQueue.queue.splice(s,t.undoQueue.queue.length-s,o),t.undoQueue.index+=1):o=t.undoQueue.queue[s-1],t.undoQueue.beginSequence=!1,o&&(o.undo.calls.unshift(e),o.undo.args.unshift(r),o.redo.calls.push(n),o.redo.args.push(a)),t.undoQueue.queue.length>i.queueLength&&(t.undoQueue.queue.shift(),t.undoQueue.index--))},startSequence:function(t){t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},t.undoQueue.sequence=!0,t.undoQueue.beginSequence=!0},stopSequence:function(t){t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},t.undoQueue.sequence=!1,t.undoQueue.beginSequence=!1},undo:function(t){var e,r;if(t.framework&&t.framework.isPolar)t.framework.undo();else if(!(void 0===t.undoQueue||isNaN(t.undoQueue.index)||t.undoQueue.index<=0)){for(t.undoQueue.index--,e=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,r=0;r<e.undo.calls.length;r++)a.plotDo(t,e.undo.calls[r],e.undo.args[r]);t.undoQueue.inSequence=!1,t.autoplay=!1}},redo:function(t){var e,r;if(t.framework&&t.framework.isPolar)t.framework.redo();else if(!(void 0===t.undoQueue||isNaN(t.undoQueue.index)||t.undoQueue.index>=t.undoQueue.queue.length)){for(e=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,r=0;r<e.redo.calls.length;r++)a.plotDo(t,e.redo.calls[r],e.redo.args[r]);t.undoQueue.inSequence=!1,t.autoplay=!1,t.undoQueue.index++}}};a.plotDo=function(t,e,r){t.autoplay=!0,r=function(t,e){for(var r,i=[],a=0;a<e.length;a++)r=e[a],i[a]=r===t?r:"object"==typeof r?Array.isArray(r)?n.extendDeep([],r):n.extendDeepAll({},r):r;return i}(t,r),e.apply(null,r)},e.exports=a},{"../lib":778,"../plot_api/plot_config":815}],795:[function(t,e,r){"use strict";r.counter=function(t,e,r,n){var i=(e||"")+(r?"":"$"),a=!1===n?"":"^";return"xy"===t?new RegExp(a+"x([2-9]|[1-9][0-9]+)?y([2-9]|[1-9][0-9]+)?"+i):new RegExp(a+t+"([2-9]|[1-9][0-9]+)?"+i)}},{}],796:[function(t,e,r){"use strict";var n=/^(.*)(\.[^\.\[\]]+|\[\d\])$/,i=/^[^\.\[\]]+$/;e.exports=function(t,e){for(;e;){var r=t.match(n);if(r)t=r[1];else{if(!t.match(i))throw new Error("bad relativeAttr call:"+[t,e]);t=""}if("^"!==e.charAt(0))break;e=e.slice(1)}return t&&"["!==e.charAt(0)?t+"."+e:t+e}},{}],797:[function(t,e,r){"use strict";var n=t("./array").isArrayOrTypedArray,i=t("./is_plain_object");e.exports=function t(e,r){for(var a in r){var o=r[a],s=e[a];if(s!==o)if("_"===a.charAt(0)||"function"==typeof o){if(a in e)continue;e[a]=o}else if(n(o)&&n(s)&&i(o[0])){if("customdata"===a||"ids"===a)continue;for(var l=Math.min(o.length,s.length),c=0;c<l;c++)s[c]!==o[c]&&i(o[c])&&i(s[c])&&t(s[c],o[c])}else i(o)&&i(s)&&(t(s,o),Object.keys(s).length||delete e[a])}}},{"./array":760,"./is_plain_object":779}],798:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("./loggers"),a=t("./identity"),o=t("../constants/numerical").BADNUM;function s(t,e){return t<e}function l(t,e){return t<=e}function c(t,e){return t>e}function u(t,e){return t>=e}r.findBin=function(t,e,r){if(n(e.start))return r?Math.ceil((t-e.start)/e.size-1e-9)-1:Math.floor((t-e.start)/e.size+1e-9);var a,o,f=0,h=e.length,p=0,d=h>1?(e[h-1]-e[0])/(h-1):1;for(o=d>=0?r?s:l:r?u:c,t+=1e-9*d*(r?-1:1)*(d>=0?1:-1);f<h&&p++<100;)o(e[a=Math.floor((f+h)/2)],t)?f=a+1:h=a;return p>90&&i.log("Long binary search..."),f-1},r.sorterAsc=function(t,e){return t-e},r.sorterDes=function(t,e){return e-t},r.distinctVals=function(t,e){var n,i=(e||{}).unitMinDiff,a=t.slice();for(a.sort(r.sorterAsc),n=a.length-1;n>-1&&a[n]===o;n--);var s=1;i||(s=a[n]-a[0]||1);for(var l,c=s/(n||1)/1e4,u=[],f=0;f<=n;f++){var h=a[f],p=h-l;void 0===l?(u.push(h),l=h):p>c&&(s=Math.min(s,p),u.push(h),l=h)}return{vals:u,minDiff:s}},r.roundUp=function(t,e,r){for(var n,i=0,a=e.length-1,o=0,s=r?0:1,l=r?1:0,c=r?Math.ceil:Math.floor;i<a&&o++<100;)e[n=c((i+a)/2)]<=t?i=n+s:a=n-l;return e[i]},r.sort=function(t,e){for(var r=0,n=0,i=1;i<t.length;i++){var a=e(t[i],t[i-1]);if(a<0?r=1:a>0&&(n=1),r&&n)return t.sort(e)}return n?t:t.reverse()},r.findIndexOfMin=function(t,e){e=e||a;for(var r,n=1/0,i=0;i<t.length;i++){var o=e(t[i]);o<n&&(n=o,r=i)}return r}},{"../constants/numerical":753,"./identity":776,"./loggers":782,"fast-isnumeric":241}],799:[function(t,e,r){"use strict";e.exports=function(t,e){(t.attr("class")||"").split(" ").forEach((function(e){0===e.indexOf("cursor-")&&t.classed(e,!1)})),e&&t.classed("cursor-"+e,!0)}},{}],800:[function(t,e,r){"use strict";var n=t("../components/color"),i=function(){};e.exports=function(t){for(var e in t)"function"==typeof t[e]&&(t[e]=i);t.destroy=function(){t.container.parentNode.removeChild(t.container)};var r=document.createElement("div");r.className="no-webgl",r.style.cursor="pointer",r.style.fontSize="24px",r.style.color=n.defaults[0],r.style.position="absolute",r.style.left=r.style.top="0px",r.style.width=r.style.height="100%",r.style["background-color"]=n.lightLine,r.style["z-index"]=30;var a=document.createElement("p");return a.textContent="WebGL is not supported by your browser - visit https://get.webgl.org for more info",a.style.position="relative",a.style.top="50%",a.style.left="50%",a.style.height="30%",a.style.width="50%",a.style.margin="-15% 0 0 -25%",r.appendChild(a),t.container.appendChild(r),t.container.style.background="#FFFFFF",t.container.onclick=function(){window.open("https://get.webgl.org")},!1}},{"../components/color":643}],801:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("./array").isArrayOrTypedArray;r.aggNums=function(t,e,a,o){var s,l;if((!o||o>a.length)&&(o=a.length),n(e)||(e=!1),i(a[0])){for(l=new Array(o),s=0;s<o;s++)l[s]=r.aggNums(t,e,a[s]);a=l}for(s=0;s<o;s++)n(e)?n(a[s])&&(e=t(+e,+a[s])):e=a[s];return e},r.len=function(t){return r.aggNums((function(t){return t+1}),0,t)},r.mean=function(t,e){return e||(e=r.len(t)),r.aggNums((function(t,e){return t+e}),0,t)/e},r.midRange=function(t){if(void 0!==t&&0!==t.length)return(r.aggNums(Math.max,null,t)+r.aggNums(Math.min,null,t))/2},r.variance=function(t,e,i){return e||(e=r.len(t)),n(i)||(i=r.mean(t,e)),r.aggNums((function(t,e){return t+Math.pow(e-i,2)}),0,t)/e},r.stdev=function(t,e,n){return Math.sqrt(r.variance(t,e,n))},r.median=function(t){var e=t.slice().sort();return r.interp(e,.5)},r.interp=function(t,e){if(!n(e))throw"n should be a finite number";if((e=e*t.length-.5)<0)return t[0];if(e>t.length-1)return t[t.length-1];var r=e%1;return r*t[Math.ceil(e)]+(1-r)*t[Math.floor(e)]}},{"./array":760,"fast-isnumeric":241}],802:[function(t,e,r){"use strict";var n=t("color-normalize");e.exports=function(t){return t?n(t):[0,0,0,1]}},{"color-normalize":125}],803:[function(t,e,r){"use strict";var n=t("d3"),i=t("../lib"),a=i.strTranslate,o=t("../constants/xmlns_namespaces"),s=t("../constants/alignment").LINE_SPACING;function l(t,e){return t.node().getBoundingClientRect()[e]}var c=/([^$]*)([$]+[^$]*[$]+)([^$]*)/;r.convertToTspans=function(t,e,A){var S=t.text(),C=!t.attr("data-notex")&&"undefined"!=typeof MathJax&&S.match(c),L=n.select(t.node().parentNode);if(!L.empty()){var I=t.attr("class")?t.attr("class").split(" ")[0]:"text";return I+="-math",L.selectAll("svg."+I).remove(),L.selectAll("g."+I+"-group").remove(),t.style("display",null).attr({"data-unformatted":S,"data-math":"N"}),C?(e&&e._promises||[]).push(new Promise((function(e){t.style("display","none");var r=parseInt(t.node().style.fontSize,10),o={fontSize:r};!function(t,e,r){var a,o,s,l;MathJax.Hub.Queue((function(){return o=i.extendDeepAll({},MathJax.Hub.config),s=MathJax.Hub.processSectionDelay,void 0!==MathJax.Hub.processSectionDelay&&(MathJax.Hub.processSectionDelay=0),MathJax.Hub.Config({messageStyle:"none",tex2jax:{inlineMath:[["$","$"],["\\(","\\)"]]},displayAlign:"left"})}),(function(){if("SVG"!==(a=MathJax.Hub.config.menuSettings.renderer))return MathJax.Hub.setRenderer("SVG")}),(function(){var r="math-output-"+i.randstr({},64);return l=n.select("body").append("div").attr({id:r}).style({visibility:"hidden",position:"absolute"}).style({"font-size":e.fontSize+"px"}).text(t.replace(u,"\\lt ").replace(f,"\\gt ")),MathJax.Hub.Typeset(l.node())}),(function(){var e=n.select("body").select("#MathJax_SVG_glyphs");if(l.select(".MathJax_SVG").empty()||!l.select("svg").node())i.log("There was an error in the tex syntax.",t),r();else{var o=l.select("svg").node().getBoundingClientRect();r(l.select(".MathJax_SVG"),e,o)}if(l.remove(),"SVG"!==a)return MathJax.Hub.setRenderer(a)}),(function(){return void 0!==s&&(MathJax.Hub.processSectionDelay=s),MathJax.Hub.Config(o)}))}(C[2],o,(function(n,i,o){L.selectAll("svg."+I).remove(),L.selectAll("g."+I+"-group").remove();var s=n&&n.select("svg");if(!s||!s.node())return P(),void e();var c=L.append("g").classed(I+"-group",!0).attr({"pointer-events":"none","data-unformatted":S,"data-math":"Y"});c.node().appendChild(s.node()),i&&i.node()&&s.node().insertBefore(i.node().cloneNode(!0),s.node().firstChild),s.attr({class:I,height:o.height,preserveAspectRatio:"xMinYMin meet"}).style({overflow:"visible","pointer-events":"none"});var u=t.node().style.fill||"black",f=s.select("g");f.attr({fill:u,stroke:u});var h=l(f,"width"),p=l(f,"height"),d=+t.attr("x")-h*{start:0,middle:.5,end:1}[t.attr("text-anchor")||"start"],g=-(r||l(t,"height"))/4;"y"===I[0]?(c.attr({transform:"rotate("+[-90,+t.attr("x"),+t.attr("y")]+")"+a(-h/2,g-p/2)}),s.attr({x:+t.attr("x"),y:+t.attr("y")})):"l"===I[0]?s.attr({x:t.attr("x"),y:g-p/2}):"a"===I[0]&&0!==I.indexOf("atitle")?s.attr({x:0,y:g}):s.attr({x:d,y:+t.attr("y")+g-p/2}),A&&A.call(t,c),e(c)}))}))):P(),t}function P(){L.empty()||(I=t.attr("class")+"-math",L.select("svg."+I).remove()),t.text("").style("white-space","pre"),function(t,e){e=e.replace(m," ");var r,a=!1,l=[],c=-1;function u(){c++;var e=document.createElementNS(o.svg,"tspan");n.select(e).attr({class:"line",dy:c*s+"em"}),t.appendChild(e),r=e;var i=l;if(l=[{node:e}],i.length>1)for(var a=1;a<i.length;a++)f(i[a])}function f(t){var e,i=t.type,a={};if("a"===i){e="a";var s=t.target,c=t.href,u=t.popup;c&&(a={"xlink:xlink:show":"_blank"===s||"_"!==s.charAt(0)?"new":"replace",target:s,"xlink:xlink:href":c},u&&(a.onclick='window.open(this.href.baseVal,this.target.baseVal,"'+u+'");return false;'))}else e="tspan";t.style&&(a.style=t.style);var f=document.createElementNS(o.svg,e);if("sup"===i||"sub"===i){A(r,"\u200b"),r.appendChild(f);var h=document.createElementNS(o.svg,"tspan");A(h,"\u200b"),n.select(h).attr("dy",d[i]),a.dy=p[i],r.appendChild(f),r.appendChild(h)}else r.appendChild(f);n.select(f).attr(a),r=t.node=f,l.push(t)}function A(t,e){t.appendChild(document.createTextNode(e))}function S(t){if(1!==l.length){var n=l.pop();t!==n.type&&i.log("Start tag <"+n.type+"> doesnt match end tag <"+t+">. Pretending it did match.",e),r=l[l.length-1].node}else i.log("Ignoring unexpected end tag </"+t+">.",e)}x.test(e)?u():(r=t,l=[{node:t}]);for(var C=e.split(v),L=0;L<C.length;L++){var I=C[L],P=I.match(y),z=P&&P[2].toLowerCase(),O=h[z];if("br"===z)u();else if(void 0===O)A(r,E(I));else if(P[1])S(z);else{var D=P[4],R={type:z},F=k(D,b);if(F?(F=F.replace(M,"$1 fill:"),O&&(F+=";"+O)):O&&(F=O),F&&(R.style=F),"a"===z){a=!0;var B=k(D,_);if(B){var N=document.createElement("a");N.href=B,-1!==g.indexOf(N.protocol)&&(R.href=encodeURI(decodeURI(B)),R.target=k(D,w)||"_blank",R.popup=k(D,T))}}f(R)}}return a}(t.node(),S)&&t.style("pointer-events","all"),r.positionText(t),A&&A.call(t)}};var u=/(<|<|<)/g,f=/(>|>|>)/g;var h={sup:"font-size:70%",sub:"font-size:70%",b:"font-weight:bold",i:"font-style:italic",a:"cursor:pointer",span:"",em:"font-style:italic;font-weight:bold"},p={sub:"0.3em",sup:"-0.6em"},d={sub:"-0.21em",sup:"0.42em"},g=["http:","https:","mailto:","",void 0,":"],m=r.NEWLINES=/(\r\n?|\n)/g,v=/(<[^<>]*>)/,y=/<(\/?)([^ >]*)(\s+(.*))?>/i,x=/<br(\s+.*)?>/i;r.BR_TAG_ALL=/<br(\s+.*)?>/gi;var b=/(^|[\s"'])style\s*=\s*("([^"]*);?"|'([^']*);?')/i,_=/(^|[\s"'])href\s*=\s*("([^"]*)"|'([^']*)')/i,w=/(^|[\s"'])target\s*=\s*("([^"\s]*)"|'([^'\s]*)')/i,T=/(^|[\s"'])popup\s*=\s*("([\w=,]*)"|'([\w=,]*)')/i;function k(t,e){if(!t)return null;var r=t.match(e),n=r&&(r[3]||r[4]);return n&&E(n)}var M=/(^|;)\s*color:/;r.plainText=function(t,e){for(var r=void 0!==(e=e||{}).len&&-1!==e.len?e.len:1/0,n=void 0!==e.allowedTags?e.allowedTags:["br"],i="...".length,a=t.split(v),o=[],s="",l=0,c=0;c<a.length;c++){var u=a[c],f=u.match(y),h=f&&f[2].toLowerCase();if(h)-1!==n.indexOf(h)&&(o.push(u),s=h);else{var p=u.length;if(l+p<r)o.push(u),l+=p;else if(l<r){var d=r-l;s&&("br"!==s||d<=i||p<=i)&&o.pop(),r>i?o.push(u.substr(0,d-i)+"..."):o.push(u.substr(0,d));break}s=""}}return o.join("")};var A={mu:"\u03bc",amp:"&",lt:"<",gt:">",nbsp:"\xa0",times:"\xd7",plusmn:"\xb1",deg:"\xb0"},S=/&(#\d+|#x[\da-fA-F]+|[a-z]+);/g;function E(t){return t.replace(S,(function(t,e){return("#"===e.charAt(0)?function(t){if(t>1114111)return;var e=String.fromCodePoint;if(e)return e(t);var r=String.fromCharCode;return t<=65535?r(t):r(55232+(t>>10),t%1024+56320)}("x"===e.charAt(1)?parseInt(e.substr(2),16):parseInt(e.substr(1),10)):A[e])||t}))}function C(t,e,r){var n,a,o,s=r.horizontalAlign,l=r.verticalAlign||"top",c=t.node().getBoundingClientRect(),u=e.node().getBoundingClientRect();return a="bottom"===l?function(){return c.bottom-n.height}:"middle"===l?function(){return c.top+(c.height-n.height)/2}:function(){return c.top},o="right"===s?function(){return c.right-n.width}:"center"===s?function(){return c.left+(c.width-n.width)/2}:function(){return c.left},function(){n=this.node().getBoundingClientRect();var t=o()-u.left,e=a()-u.top,s=r.gd||{};if(r.gd){s._fullLayout._calcInverseTransform(s);var l=i.apply3DTransform(s._fullLayout._invTransform)(t,e);t=l[0],e=l[1]}return this.style({top:e+"px",left:t+"px","z-index":1e3}),this}}r.convertEntities=E,r.sanitizeHTML=function(t){t=t.replace(m," ");for(var e=document.createElement("p"),r=e,i=[],a=t.split(v),o=0;o<a.length;o++){var s=a[o],l=s.match(y),c=l&&l[2].toLowerCase();if(c in h)if(l[1])i.length&&(r=i.pop());else{var u=l[4],f=k(u,b),p=f?{style:f}:{};if("a"===c){var d=k(u,_);if(d){var x=document.createElement("a");if(x.href=d,-1!==g.indexOf(x.protocol)){p.href=encodeURI(decodeURI(d));var T=k(u,w);T&&(p.target=T)}}}var M=document.createElement(c);r.appendChild(M),n.select(M).attr(p),r=M,i.push(M)}else r.appendChild(document.createTextNode(E(s)))}return e.innerHTML},r.lineCount=function(t){return t.selectAll("tspan.line").size()||1},r.positionText=function(t,e,r){return t.each((function(){var t=n.select(this);function i(e,r){return void 0===r?null===(r=t.attr(e))&&(t.attr(e,0),r=0):t.attr(e,r),r}var a=i("x",e),o=i("y",r);"text"===this.nodeName&&t.selectAll("tspan.line").attr({x:a,y:o})}))},r.makeEditable=function(t,e){var r=e.gd,i=e.delegate,a=n.dispatch("edit","input","cancel"),o=i||t;if(t.style({"pointer-events":i?"none":"all"}),1!==t.size())throw new Error("boo");function s(){!function(){var i=n.select(r).select(".svg-container"),o=i.append("div"),s=t.node().style,c=parseFloat(s.fontSize||12),u=e.text;void 0===u&&(u=t.attr("data-unformatted"));o.classed("plugin-editable editable",!0).style({position:"absolute","font-family":s.fontFamily||"Arial","font-size":c,color:e.fill||s.fill||"black",opacity:1,"background-color":e.background||"transparent",outline:"#ffffff33 1px solid",margin:[-c/8+1,0,0,-1].join("px ")+"px",padding:"0","box-sizing":"border-box"}).attr({contenteditable:!0}).text(u).call(C(t,i,e)).on("blur",(function(){r._editing=!1,t.text(this.textContent).style({opacity:1});var e,i=n.select(this).attr("class");(e=i?"."+i.split(" ")[0]+"-math-group":"[class*=-math-group]")&&n.select(t.node().parentNode).select(e).style({opacity:0});var o=this.textContent;n.select(this).transition().duration(0).remove(),n.select(document).on("mouseup",null),a.edit.call(t,o)})).on("focus",(function(){var t=this;r._editing=!0,n.select(document).on("mouseup",(function(){if(n.event.target===t)return!1;document.activeElement===o.node()&&o.node().blur()}))})).on("keyup",(function(){27===n.event.which?(r._editing=!1,t.style({opacity:1}),n.select(this).style({opacity:0}).on("blur",(function(){return!1})).transition().remove(),a.cancel.call(t,this.textContent)):(a.input.call(t,this.textContent),n.select(this).call(C(t,i,e)))})).on("keydown",(function(){13===n.event.which&&this.blur()})).call(l)}(),t.style({opacity:0});var i,s=o.attr("class");(i=s?"."+s.split(" ")[0]+"-math-group":"[class*=-math-group]")&&n.select(t.node().parentNode).select(i).style({opacity:0})}function l(t){var e=t.node(),r=document.createRange();r.selectNodeContents(e);var n=window.getSelection();n.removeAllRanges(),n.addRange(r),e.focus()}return e.immediate?s():o.on("click",s),n.rebind(t,a,"on")}},{"../constants/alignment":745,"../constants/xmlns_namespaces":754,"../lib":778,d3:169}],804:[function(t,e,r){"use strict";var n={};function i(t){t&&null!==t.timer&&(clearTimeout(t.timer),t.timer=null)}r.throttle=function(t,e,r){var a=n[t],o=Date.now();if(!a){for(var s in n)n[s].ts<o-6e4&&delete n[s];a=n[t]={ts:0,timer:null}}function l(){r(),a.ts=Date.now(),a.onDone&&(a.onDone(),a.onDone=null)}i(a),o>a.ts+e?l():a.timer=setTimeout((function(){l(),a.timer=null}),e)},r.done=function(t){var e=n[t];return e&&e.timer?new Promise((function(t){var r=e.onDone;e.onDone=function(){r&&r(),t(),e.onDone=null}})):Promise.resolve()},r.clear=function(t){if(t)i(n[t]),delete n[t];else for(var e in n)r.clear(e)}},{}],805:[function(t,e,r){"use strict";var n=t("fast-isnumeric");e.exports=function(t,e){if(t>0)return Math.log(t)/Math.LN10;var r=Math.log(Math.min(e[0],e[1]))/Math.LN10;return n(r)||(r=Math.log(Math.max(e[0],e[1]))/Math.LN10-6),r}},{"fast-isnumeric":241}],806:[function(t,e,r){"use strict";var n=e.exports={},i=t("../plots/geo/constants").locationmodeToLayer,a=t("topojson-client").feature;n.getTopojsonName=function(t){return[t.scope.replace(/ /g,"-"),"_",t.resolution.toString(),"m"].join("")},n.getTopojsonPath=function(t,e){return t+e+".json"},n.getTopojsonFeatures=function(t,e){var r=i[t.locationmode],n=e.objects[r];return a(e,n).features}},{"../plots/geo/constants":858,"topojson-client":579}],807:[function(t,e,r){"use strict";e.exports={moduleType:"locale",name:"en-US",dictionary:{"Click to enter Colorscale title":"Click to enter Colorscale title"},format:{date:"%m/%d/%Y"}}},{}],808:[function(t,e,r){"use strict";e.exports={moduleType:"locale",name:"en",dictionary:{"Click to enter Colorscale title":"Click to enter Colourscale title"},format:{days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],periods:["AM","PM"],dateTime:"%a %b %e %X %Y",date:"%d/%m/%Y",time:"%H:%M:%S",decimal:".",thousands:",",grouping:[3],currency:["$",""],year:"%Y",month:"%b %Y",dayMonth:"%b %-d",dayMonthYear:"%b %-d, %Y"}}},{}],809:[function(t,e,r){"use strict";var n=t("../registry");e.exports=function(t){for(var e,r,i=n.layoutArrayContainers,a=n.layoutArrayRegexes,o=t.split("[")[0],s=0;s<a.length;s++)if((r=t.match(a[s]))&&0===r.index){e=r[0];break}if(e||(e=i[i.indexOf(o)]),!e)return!1;var l=t.substr(e.length);return l?!!(r=l.match(/^\[(0|[1-9][0-9]*)\](\.(.+))?$/))&&{array:e,index:Number(r[1]),property:r[3]||""}:{array:e,index:"",property:""}}},{"../registry":911}],810:[function(t,e,r){"use strict";var n=t("../lib"),i=n.extendFlat,a=n.isPlainObject,o={valType:"flaglist",extras:["none"],flags:["calc","clearAxisTypes","plot","style","markerSize","colorbars"]},s={valType:"flaglist",extras:["none"],flags:["calc","plot","legend","ticks","axrange","layoutstyle","modebar","camera","arraydraw","colorbars"]},l=o.flags.slice().concat(["fullReplot"]),c=s.flags.slice().concat("layoutReplot");function u(t){for(var e={},r=0;r<t.length;r++)e[t[r]]=!1;return e}function f(t,e,r){var n=i({},t);for(var o in n){var s=n[o];a(s)&&(n[o]=h(s,e,r,o))}return"from-root"===r&&(n.editType=e),n}function h(t,e,r,n){if(t.valType){var a=i({},t);if(a.editType=e,Array.isArray(t.items)){a.items=new Array(t.items.length);for(var o=0;o<t.items.length;o++)a.items[o]=h(t.items[o],e,"from-root")}return a}return f(t,e,"_"===n.charAt(0)?"nested":"from-root")}e.exports={traces:o,layout:s,traceFlags:function(){return u(l)},layoutFlags:function(){return u(c)},update:function(t,e){var r=e.editType;if(r&&"none"!==r)for(var n=r.split("+"),i=0;i<n.length;i++)t[n[i]]=!0},overrideAll:f}},{"../lib":778}],811:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("gl-mat4/fromQuat"),a=t("../registry"),o=t("../lib"),s=t("../plots/plots"),l=t("../plots/cartesian/axis_ids"),c=t("../components/color"),u=l.cleanId,f=l.getFromTrace,h=a.traceIs;function p(t,e){var r=t[e],n=e.charAt(0);r&&"paper"!==r&&(t[e]=u(r,n,!0))}function d(t){function e(e,r){var n=t[e],i=t.title&&t.title[r];n&&!i&&(t.title||(t.title={}),t.title[r]=t[e],delete t[e])}t&&("string"!=typeof t.title&&"number"!=typeof t.title||(t.title={text:t.title}),e("titlefont","font"),e("titleposition","position"),e("titleside","side"),e("titleoffset","offset"))}function g(t){if(!o.isPlainObject(t))return!1;var e=t.name;return delete t.name,delete t.showlegend,("string"==typeof e||"number"==typeof e)&&String(e)}function m(t,e,r,n){if(r&&!n)return t;if(n&&!r)return e;if(!t.trim())return e;if(!e.trim())return t;var i,a=Math.min(t.length,e.length);for(i=0;i<a&&t.charAt(i)===e.charAt(i);i++);return t.substr(0,i).trim()}function v(t){var e="middle",r="center";return"string"==typeof t&&(-1!==t.indexOf("top")?e="top":-1!==t.indexOf("bottom")&&(e="bottom"),-1!==t.indexOf("left")?r="left":-1!==t.indexOf("right")&&(r="right")),e+" "+r}function y(t,e){return e in t&&"object"==typeof t[e]&&0===Object.keys(t[e]).length}r.clearPromiseQueue=function(t){Array.isArray(t._promises)&&t._promises.length>0&&o.log("Clearing previous rejected promises from queue."),t._promises=[]},r.cleanLayout=function(t){var e,n;t||(t={}),t.xaxis1&&(t.xaxis||(t.xaxis=t.xaxis1),delete t.xaxis1),t.yaxis1&&(t.yaxis||(t.yaxis=t.yaxis1),delete t.yaxis1),t.scene1&&(t.scene||(t.scene=t.scene1),delete t.scene1);var a=(s.subplotsRegistry.cartesian||{}).attrRegex,l=(s.subplotsRegistry.polar||{}).attrRegex,f=(s.subplotsRegistry.ternary||{}).attrRegex,h=(s.subplotsRegistry.gl3d||{}).attrRegex,g=Object.keys(t);for(e=0;e<g.length;e++){var m=g[e];if(a&&a.test(m)){var v=t[m];v.anchor&&"free"!==v.anchor&&(v.anchor=u(v.anchor)),v.overlaying&&(v.overlaying=u(v.overlaying)),v.type||(v.isdate?v.type="date":v.islog?v.type="log":!1===v.isdate&&!1===v.islog&&(v.type="linear")),"withzero"!==v.autorange&&"tozero"!==v.autorange||(v.autorange=!0,v.rangemode="tozero"),delete v.islog,delete v.isdate,delete v.categories,y(v,"domain")&&delete v.domain,void 0!==v.autotick&&(void 0===v.tickmode&&(v.tickmode=v.autotick?"auto":"linear"),delete v.autotick),d(v)}else if(l&&l.test(m)){d(t[m].radialaxis)}else if(f&&f.test(m)){var x=t[m];d(x.aaxis),d(x.baxis),d(x.caxis)}else if(h&&h.test(m)){var b=t[m],_=b.cameraposition;if(Array.isArray(_)&&4===_[0].length){var w=_[0],T=_[1],k=_[2],M=i([],w),A=[];for(n=0;n<3;++n)A[n]=T[n]+k*M[2+4*n];b.camera={eye:{x:A[0],y:A[1],z:A[2]},center:{x:T[0],y:T[1],z:T[2]},up:{x:0,y:0,z:1}},delete b.cameraposition}d(b.xaxis),d(b.yaxis),d(b.zaxis)}}var S=Array.isArray(t.annotations)?t.annotations.length:0;for(e=0;e<S;e++){var E=t.annotations[e];o.isPlainObject(E)&&(E.ref&&("paper"===E.ref?(E.xref="paper",E.yref="paper"):"data"===E.ref&&(E.xref="x",E.yref="y"),delete E.ref),p(E,"xref"),p(E,"yref"))}var C=Array.isArray(t.shapes)?t.shapes.length:0;for(e=0;e<C;e++){var L=t.shapes[e];o.isPlainObject(L)&&(p(L,"xref"),p(L,"yref"))}var I=Array.isArray(t.images)?t.images.length:0;for(e=0;e<I;e++){var P=t.images[e];o.isPlainObject(P)&&(p(P,"xref"),p(P,"yref"))}var z=t.legend;return z&&(z.x>3?(z.x=1.02,z.xanchor="left"):z.x<-2&&(z.x=-.02,z.xanchor="right"),z.y>3?(z.y=1.02,z.yanchor="bottom"):z.y<-2&&(z.y=-.02,z.yanchor="top")),d(t),"rotate"===t.dragmode&&(t.dragmode="orbit"),c.clean(t),t.template&&t.template.layout&&r.cleanLayout(t.template.layout),t},r.cleanData=function(t){for(var e=0;e<t.length;e++){var n,i=t[e];if("histogramy"===i.type&&"xbins"in i&&!("ybins"in i)&&(i.ybins=i.xbins,delete i.xbins),i.error_y&&"opacity"in i.error_y){var l=c.defaults,f=i.error_y.color||(h(i,"bar")?c.defaultLine:l[e%l.length]);i.error_y.color=c.addOpacity(c.rgb(f),c.opacity(f)*i.error_y.opacity),delete i.error_y.opacity}if("bardir"in i&&("h"!==i.bardir||!h(i,"bar")&&"histogram"!==i.type.substr(0,9)||(i.orientation="h",r.swapXYData(i)),delete i.bardir),"histogramy"===i.type&&r.swapXYData(i),"histogramx"!==i.type&&"histogramy"!==i.type||(i.type="histogram"),"scl"in i&&!("colorscale"in i)&&(i.colorscale=i.scl,delete i.scl),"reversescl"in i&&!("reversescale"in i)&&(i.reversescale=i.reversescl,delete i.reversescl),i.xaxis&&(i.xaxis=u(i.xaxis,"x")),i.yaxis&&(i.yaxis=u(i.yaxis,"y")),h(i,"gl3d")&&i.scene&&(i.scene=s.subplotsRegistry.gl3d.cleanId(i.scene)),!h(i,"pie-like")&&!h(i,"bar-like"))if(Array.isArray(i.textposition))for(n=0;n<i.textposition.length;n++)i.textposition[n]=v(i.textposition[n]);else i.textposition&&(i.textposition=v(i.textposition));var p=a.getModule(i);if(p&&p.colorbar){var x=p.colorbar.container,b=x?i[x]:i;b&&b.colorscale&&("YIGnBu"===b.colorscale&&(b.colorscale="YlGnBu"),"YIOrRd"===b.colorscale&&(b.colorscale="YlOrRd"))}if("surface"===i.type&&o.isPlainObject(i.contours)){var _=["x","y","z"];for(n=0;n<_.length;n++){var w=i.contours[_[n]];o.isPlainObject(w)&&(w.highlightColor&&(w.highlightcolor=w.highlightColor,delete w.highlightColor),w.highlightWidth&&(w.highlightwidth=w.highlightWidth,delete w.highlightWidth))}}if("candlestick"===i.type||"ohlc"===i.type){var T=!1!==(i.increasing||{}).showlegend,k=!1!==(i.decreasing||{}).showlegend,M=g(i.increasing),A=g(i.decreasing);if(!1!==M&&!1!==A){var S=m(M,A,T,k);S&&(i.name=S)}else!M&&!A||i.name||(i.name=M||A)}if(Array.isArray(i.transforms)){var E=i.transforms;for(n=0;n<E.length;n++){var C=E[n];if(o.isPlainObject(C))switch(C.type){case"filter":C.filtersrc&&(C.target=C.filtersrc,delete C.filtersrc),C.calendar&&(C.valuecalendar||(C.valuecalendar=C.calendar),delete C.calendar);break;case"groupby":if(C.styles=C.styles||C.style,C.styles&&!Array.isArray(C.styles)){var L=C.styles,I=Object.keys(L);C.styles=[];for(var P=0;P<I.length;P++)C.styles.push({target:I[P],value:L[I[P]]})}}}}y(i,"line")&&delete i.line,"marker"in i&&(y(i.marker,"line")&&delete i.marker.line,y(i,"marker")&&delete i.marker),c.clean(i),i.autobinx&&(delete i.autobinx,delete i.xbins),i.autobiny&&(delete i.autobiny,delete i.ybins),d(i),i.colorbar&&d(i.colorbar),i.marker&&i.marker.colorbar&&d(i.marker.colorbar),i.line&&i.line.colorbar&&d(i.line.colorbar),i.aaxis&&d(i.aaxis),i.baxis&&d(i.baxis)}},r.swapXYData=function(t){var e;if(o.swapAttrs(t,["?","?0","d?","?bins","nbins?","autobin?","?src","error_?"]),Array.isArray(t.z)&&Array.isArray(t.z[0])&&(t.transpose?delete t.transpose:t.transpose=!0),t.error_x&&t.error_y){var r=t.error_y,n="copy_ystyle"in r?r.copy_ystyle:!(r.color||r.thickness||r.width);o.swapAttrs(t,["error_?.copy_ystyle"]),n&&o.swapAttrs(t,["error_?.color","error_?.thickness","error_?.width"])}if("string"==typeof t.hoverinfo){var i=t.hoverinfo.split("+");for(e=0;e<i.length;e++)"x"===i[e]?i[e]="y":"y"===i[e]&&(i[e]="x");t.hoverinfo=i.join("+")}},r.coerceTraceIndices=function(t,e){if(n(e))return[e];if(!Array.isArray(e)||!e.length)return t.data.map((function(t,e){return e}));if(Array.isArray(e)){for(var r=[],i=0;i<e.length;i++)o.isIndex(e[i],t.data.length)?r.push(e[i]):o.warn("trace index (",e[i],") is not a number or is out of bounds");return r}return e},r.manageArrayContainers=function(t,e,r){var i=t.obj,a=t.parts,s=a.length,l=a[s-1],c=n(l);if(c&&null===e){var u=a.slice(0,s-1).join(".");o.nestedProperty(i,u).get().splice(l,1)}else c&&void 0===t.get()?(void 0===t.get()&&(r[t.astr]=null),t.set(e)):t.set(e)};var x=/(\.[^\[\]\.]+|\[[^\[\]\.]+\])$/;function b(t){var e=t.search(x);if(e>0)return t.substr(0,e)}r.hasParent=function(t,e){for(var r=b(e);r;){if(r in t)return!0;r=b(r)}return!1};var _=["x","y","z"];r.clearAxisTypes=function(t,e,r){for(var n=0;n<e.length;n++)for(var i=t._fullData[n],a=0;a<3;a++){var s=f(t,i,_[a]);if(s&&"log"!==s.type){var l=s._name,c=s._id.substr(1);if("scene"===c.substr(0,5)){if(void 0!==r[c])continue;l=c+"."+l}var u=l+".type";void 0===r[l]&&void 0===r[u]&&o.nestedProperty(t.layout,u).set(null)}}}},{"../components/color":643,"../lib":778,"../plots/cartesian/axis_ids":831,"../plots/plots":891,"../registry":911,"fast-isnumeric":241,"gl-mat4/fromQuat":282}],812:[function(t,e,r){"use strict";var n=t("./plot_api");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._guiRestyle=n._guiRestyle,r._guiRelayout=n._guiRelayout,r._guiUpdate=n._guiUpdate,r._storeDirectGUIEdit=n._storeDirectGUIEdit,r.react=n.react,r.extendTraces=n.extendTraces,r.prependTraces=n.prependTraces,r.addTraces=n.addTraces,r.deleteTraces=n.deleteTraces,r.moveTraces=n.moveTraces,r.purge=n.purge,r.addFrames=n.addFrames,r.deleteFrames=n.deleteFrames,r.animate=n.animate,r.setPlotConfig=n.setPlotConfig,r.toImage=t("./to_image"),r.validate=t("./validate"),r.downloadImage=t("../snapshot/download");var i=t("./template_api");r.makeTemplate=i.makeTemplate,r.validateTemplate=i.validateTemplate},{"../snapshot/download":913,"./plot_api":814,"./template_api":819,"./to_image":820,"./validate":821}],813:[function(t,e,r){"use strict";var n=t("../lib/is_plain_object"),i=t("../lib/noop"),a=t("../lib/loggers"),o=t("../lib/search").sorterAsc,s=t("../registry");r.containerArrayMatch=t("./container_array_match");var l=r.isAddVal=function(t){return"add"===t||n(t)},c=r.isRemoveVal=function(t){return null===t||"remove"===t};r.applyContainerArrayChanges=function(t,e,r,n,u){var f=e.astr,h=s.getComponentMethod(f,"supplyLayoutDefaults"),p=s.getComponentMethod(f,"draw"),d=s.getComponentMethod(f,"drawOne"),g=n.replot||n.recalc||h===i||p===i,m=t.layout,v=t._fullLayout;if(r[""]){Object.keys(r).length>1&&a.warn("Full array edits are incompatible with other edits",f);var y=r[""][""];if(c(y))e.set(null);else{if(!Array.isArray(y))return a.warn("Unrecognized full array edit value",f,y),!0;e.set(y)}return!g&&(h(m,v),p(t),!0)}var x,b,_,w,T,k,M,A,S=Object.keys(r).map(Number).sort(o),E=e.get(),C=E||[],L=u(v,f).get(),I=[],P=-1,z=C.length;for(x=0;x<S.length;x++)if(w=r[_=S[x]],T=Object.keys(w),k=w[""],M=l(k),_<0||_>C.length-(M?0:1))a.warn("index out of range",f,_);else if(void 0!==k)T.length>1&&a.warn("Insertion & removal are incompatible with edits to the same index.",f,_),c(k)?I.push(_):M?("add"===k&&(k={}),C.splice(_,0,k),L&&L.splice(_,0,{})):a.warn("Unrecognized full object edit value",f,_,k),-1===P&&(P=_);else for(b=0;b<T.length;b++)A=f+"["+_+"].",u(C[_],T[b],A).set(w[T[b]]);for(x=I.length-1;x>=0;x--)C.splice(I[x],1),L&&L.splice(I[x],1);if(C.length?E||e.set(C):e.set(null),g)return!1;if(h(m,v),d!==i){var O;if(-1===P)O=S;else{for(z=Math.max(C.length,z),O=[],x=0;x<S.length&&!((_=S[x])>=P);x++)O.push(_);for(x=P;x<z;x++)O.push(x)}for(x=0;x<O.length;x++)d(t,O[x])}else p(t);return!0}},{"../lib/is_plain_object":779,"../lib/loggers":782,"../lib/noop":787,"../lib/search":798,"../registry":911,"./container_array_match":809}],814:[function(t,e,r){"use strict";var n=t("d3"),i=t("fast-isnumeric"),a=t("has-hover"),o=t("../lib"),s=o.nestedProperty,l=t("../lib/events"),c=t("../lib/queue"),u=t("../registry"),f=t("./plot_schema"),h=t("../plots/plots"),p=t("../plots/polar/legacy"),d=t("../plots/cartesian/axes"),g=t("../components/drawing"),m=t("../components/color"),v=t("../plots/cartesian/graph_interact").initInteractions,y=t("../constants/xmlns_namespaces"),x=t("../lib/svg_text_utils"),b=t("../plots/cartesian/select").clearSelect,_=t("./plot_config").dfltConfig,w=t("./manage_arrays"),T=t("./helpers"),k=t("./subroutines"),M=t("./edit_types"),A=t("../plots/cartesian/constants").AX_NAME_PATTERN,S=0;function E(t){var e=t._fullLayout;e._redrawFromAutoMarginCount?e._redrawFromAutoMarginCount--:t.emit("plotly_afterplot")}function C(t,e){try{t._fullLayout._paper.style("background",e)}catch(t){o.error(t)}}function L(t,e){C(t,m.combine(e,"white"))}function I(t,e){if(!t._context){t._context=o.extendDeep({},_);var r=n.select("base");t._context._baseUrl=r.size()&&r.attr("href")?window.location.href.split("#")[0]:""}var i,s,l,c=t._context;if(e){for(s=Object.keys(e),i=0;i<s.length;i++)"editable"!==(l=s[i])&&"edits"!==l&&l in c&&("setBackground"===l&&"opaque"===e[l]?c[l]=L:c[l]=e[l]);e.plot3dPixelRatio&&!c.plotGlPixelRatio&&(c.plotGlPixelRatio=c.plot3dPixelRatio);var u=e.editable;if(void 0!==u)for(c.editable=u,s=Object.keys(c.edits),i=0;i<s.length;i++)c.edits[s[i]]=u;if(e.edits)for(s=Object.keys(e.edits),i=0;i<s.length;i++)(l=s[i])in c.edits&&(c.edits[l]=e.edits[l]);c._exportedPlot=e._exportedPlot}c.staticPlot&&(c.editable=!1,c.edits={},c.autosizable=!1,c.scrollZoom=!1,c.doubleClick=!1,c.showTips=!1,c.showLink=!1,c.displayModeBar=!1),"hover"!==c.displayModeBar||a||(c.displayModeBar=!0),"transparent"!==c.setBackground&&"function"==typeof c.setBackground||(c.setBackground=C),c._hasZeroHeight=c._hasZeroHeight||0===t.clientHeight,c._hasZeroWidth=c._hasZeroWidth||0===t.clientWidth;var f=c.scrollZoom,h=c._scrollZoom={};if(!0===f)h.cartesian=1,h.gl3d=1,h.geo=1,h.mapbox=1;else if("string"==typeof f){var p=f.split("+");for(i=0;i<p.length;i++)h[p[i]]=1}else!1!==f&&(h.gl3d=1,h.geo=1,h.mapbox=1)}function P(t,e){var r,n,i=e+1,a=[];for(r=0;r<t.length;r++)(n=t[r])<0?a.push(i+n):a.push(n);return a}function z(t,e,r){var n,i;for(n=0;n<e.length;n++){if((i=e[n])!==parseInt(i,10))throw new Error("all values in "+r+" must be integers");if(i>=t.data.length||i<-t.data.length)throw new Error(r+" must be valid indices for gd.data.");if(e.indexOf(i,n+1)>-1||i>=0&&e.indexOf(-t.data.length+i)>-1||i<0&&e.indexOf(t.data.length+i)>-1)throw new Error("each index in "+r+" must be unique.")}}function O(t,e,r){if(!Array.isArray(t.data))throw new Error("gd.data must be an array.");if("undefined"==typeof e)throw new Error("currentIndices is a required argument.");if(Array.isArray(e)||(e=[e]),z(t,e,"currentIndices"),"undefined"==typeof r||Array.isArray(r)||(r=[r]),"undefined"!=typeof r&&z(t,r,"newIndices"),"undefined"!=typeof r&&e.length!==r.length)throw new Error("current and new indices must be of equal length.")}function D(t,e,r,n,a){!function(t,e,r,n){var i=o.isPlainObject(n);if(!Array.isArray(t.data))throw new Error("gd.data must be an array");if(!o.isPlainObject(e))throw new Error("update must be a key:value object");if("undefined"==typeof r)throw new Error("indices must be an integer or array of integers");for(var a in z(t,r,"indices"),e){if(!Array.isArray(e[a])||e[a].length!==r.length)throw new Error("attribute "+a+" must be an array of length equal to indices array length");if(i&&(!(a in n)||!Array.isArray(n[a])||n[a].length!==e[a].length))throw new Error("when maxPoints is set as a key:value object it must contain a 1:1 corrispondence with the keys and number of traces in the update object")}}(t,e,r,n);for(var l=function(t,e,r,n){var a,l,c,u,f,h=o.isPlainObject(n),p=[];for(var d in Array.isArray(r)||(r=[r]),r=P(r,t.data.length-1),e)for(var g=0;g<r.length;g++){if(a=t.data[r[g]],l=(c=s(a,d)).get(),u=e[d][g],!o.isArrayOrTypedArray(u))throw new Error("attribute: "+d+" index: "+g+" must be an array");if(!o.isArrayOrTypedArray(l))throw new Error("cannot extend missing or non-array attribute: "+d);if(l.constructor!==u.constructor)throw new Error("cannot extend array with an array of a different type: "+d);f=h?n[d][g]:n,i(f)||(f=-1),p.push({prop:c,target:l,insert:u,maxp:Math.floor(f)})}return p}(t,e,r,n),c={},u={},f=0;f<l.length;f++){var h=l[f].prop,p=l[f].maxp,d=a(l[f].target,l[f].insert,p);h.set(d[0]),Array.isArray(c[h.astr])||(c[h.astr]=[]),c[h.astr].push(d[1]),Array.isArray(u[h.astr])||(u[h.astr]=[]),u[h.astr].push(l[f].target.length)}return{update:c,maxPoints:u}}function R(t,e){var r=new t.constructor(t.length+e.length);return r.set(t),r.set(e,t.length),r}function F(t,e,n,i){t=o.getGraphDiv(t),T.clearPromiseQueue(t);var a={};if("string"==typeof e)a[e]=n;else{if(!o.isPlainObject(e))return o.warn("Restyle fail.",e,n,i),Promise.reject();a=o.extendFlat({},e),void 0===i&&(i=n)}Object.keys(a).length&&(t.changed=!0);var s=T.coerceTraceIndices(t,i),l=U(t,a,s),u=l.flags;u.calc&&(t.calcdata=void 0),u.clearAxisTypes&&T.clearAxisTypes(t,s,{});var f=[];u.fullReplot?f.push(r.plot):(f.push(h.previousPromises),h.supplyDefaults(t),u.markerSize&&(h.doCalcdata(t),G(f)),u.style&&f.push(k.doTraceStyle),u.colorbars&&f.push(k.doColorBars),f.push(E)),f.push(h.rehover,h.redrag),c.add(t,F,[t,l.undoit,l.traces],F,[t,l.redoit,l.traces]);var p=o.syncOrAsync(f,t);return p&&p.then||(p=Promise.resolve()),p.then((function(){return t.emit("plotly_restyle",l.eventData),t}))}function B(t){return void 0===t?null:t}function N(t,e){return e?function(e,r,n){var i=s(e,r),a=i.set;return i.set=function(e){j((n||"")+r,i.get(),e,t),a(e)},i}:s}function j(t,e,r,n){if(Array.isArray(e)||Array.isArray(r))for(var i=Array.isArray(e)?e:[],a=Array.isArray(r)?r:[],s=Math.max(i.length,a.length),l=0;l<s;l++)j(t+"["+l+"]",i[l],a[l],n);else if(o.isPlainObject(e)||o.isPlainObject(r)){var c=o.isPlainObject(e)?e:{},u=o.isPlainObject(r)?r:{},f=o.extendFlat({},c,u);for(var h in f)j(t+"."+h,c[h],u[h],n)}else void 0===n[t]&&(n[t]=B(e))}function U(t,e,r){var n,i=t._fullLayout,a=t._fullData,l=t.data,c=i._guiEditing,p=N(i._preGUI,c),g=o.extendDeepAll({},e);V(e);var m,v=M.traceFlags(),y={},x={};function b(){return r.map((function(){}))}function _(t){var e=d.id2name(t);-1===m.indexOf(e)&&m.push(e)}function w(t){return"LAYOUT"+t+".autorange"}function k(t){return"LAYOUT"+t+".range"}function A(t){for(var e=t;e<a.length;e++)if(a[e]._input===l[t])return a[e]}function S(n,a,o){if(Array.isArray(n))n.forEach((function(t){S(t,a,o)}));else if(!(n in e)&&!T.hasParent(e,n)){var s;if("LAYOUT"===n.substr(0,6))s=p(t.layout,n.replace("LAYOUT",""));else{var u=r[o];s=N(i._tracePreGUI[A(u)._fullInput.uid],c)(l[u],n)}n in x||(x[n]=b()),void 0===x[n][o]&&(x[n][o]=B(s.get())),void 0!==a&&s.set(a)}}function E(t){return function(e){return a[e][t]}}function C(t){return function(e,n){return!1===e?a[r[n]][t]:null}}for(var L in e){if(T.hasParent(e,L))throw new Error("cannot set "+L+" and a parent attribute simultaneously");var I,P,z,O,D,R,F=e[L];if("autobinx"!==L&&"autobiny"!==L||(L=L.charAt(L.length-1)+"bins",F=Array.isArray(F)?F.map(C(L)):!1===F?r.map(E(L)):null),y[L]=F,"LAYOUT"!==L.substr(0,6)){for(x[L]=b(),n=0;n<r.length;n++){if(I=l[r[n]],P=A(r[n]),O=(z=N(i._tracePreGUI[P._fullInput.uid],c)(I,L)).get(),void 0!==(D=Array.isArray(F)?F[n%F.length]:F)){var j=z.parts[z.parts.length-1],U=L.substr(0,L.length-j.length-1),q=U?U+".":"",H=U?s(P,U).get():P;if((R=f.getTraceValObject(P,z.parts))&&R.impliedEdits&&null!==D)for(var G in R.impliedEdits)S(o.relativeAttr(L,G),R.impliedEdits[G],n);else if("thicknessmode"!==j&&"lenmode"!==j||O===D||"fraction"!==D&&"pixels"!==D||!H){if("type"===L&&("pie"===D!=("pie"===O)||"funnelarea"===D!=("funnelarea"===O))){var Y="x",W="y";"bar"!==D&&"bar"!==O||"h"!==I.orientation||(Y="y",W="x"),o.swapAttrs(I,["?","?src"],"labels",Y),o.swapAttrs(I,["d?","?0"],"label",Y),o.swapAttrs(I,["?","?src"],"values",W),"pie"===O||"funnelarea"===O?(s(I,"marker.color").set(s(I,"marker.colors").get()),i._pielayer.selectAll("g.trace").remove()):u.traceIs(I,"cartesian")&&s(I,"marker.colors").set(s(I,"marker.color").get())}}else{var X=i._size,Z=H.orient,J="top"===Z||"bottom"===Z;if("thicknessmode"===j){var K=J?X.h:X.w;S(q+"thickness",H.thickness*("fraction"===D?1/K:K),n)}else{var Q=J?X.w:X.h;S(q+"len",H.len*("fraction"===D?1/Q:Q),n)}}x[L][n]=B(O);if(-1!==["swapxy","swapxyaxes","orientation","orientationaxes"].indexOf(L)){if("orientation"===L){z.set(D);var $=I.x&&!I.y?"h":"v";if((z.get()||$)===P.orientation)continue}else"orientationaxes"===L&&(I.orientation={v:"h",h:"v"}[P.orientation]);T.swapXYData(I),v.calc=v.clearAxisTypes=!0}else-1!==h.dataArrayContainers.indexOf(z.parts[0])?(T.manageArrayContainers(z,D,x),v.calc=!0):(R?R.arrayOk&&!u.traceIs(P,"regl")&&(o.isArrayOrTypedArray(D)||o.isArrayOrTypedArray(O))?v.calc=!0:M.update(v,R):v.calc=!0,z.set(D))}}if(-1!==["swapxyaxes","orientationaxes"].indexOf(L)&&d.swap(t,r),"orientationaxes"===L){var tt=s(t.layout,"hovermode"),et=tt.get();"x"===et?tt.set("y"):"y"===et?tt.set("x"):"x unified"===et?tt.set("y unified"):"y unified"===et&&tt.set("x unified")}if(-1!==["orientation","type"].indexOf(L)){for(m=[],n=0;n<r.length;n++){var rt=l[r[n]];u.traceIs(rt,"cartesian")&&(_(rt.xaxis||"x"),_(rt.yaxis||"y"))}S(m.map(w),!0,0),S(m.map(k),[0,1],0)}}else z=p(t.layout,L.replace("LAYOUT","")),x[L]=[B(z.get())],z.set(Array.isArray(F)?F[0]:F),v.calc=!0}return(v.calc||v.plot)&&(v.fullReplot=!0),{flags:v,undoit:x,redoit:y,traces:r,eventData:o.extendDeepNoArrays([],[g,r])}}function V(t){var e,r,n,i=o.counterRegex("axis",".title",!1,!1),a=/colorbar\.title$/,s=Object.keys(t);for(e=0;e<s.length;e++)r=s[e],n=t[r],"title"!==r&&!i.test(r)&&!a.test(r)||"string"!=typeof n&&"number"!=typeof n?r.indexOf("titlefont")>-1?l(r,r.replace("titlefont","title.font")):r.indexOf("titleposition")>-1?l(r,r.replace("titleposition","title.position")):r.indexOf("titleside")>-1?l(r,r.replace("titleside","title.side")):r.indexOf("titleoffset")>-1&&l(r,r.replace("titleoffset","title.offset")):l(r,r.replace("title","title.text"));function l(e,r){t[r]=t[e],delete t[e]}}function q(t,e,r){if(t=o.getGraphDiv(t),T.clearPromiseQueue(t),t.framework&&t.framework.isPolar)return Promise.resolve(t);var n={};if("string"==typeof e)n[e]=r;else{if(!o.isPlainObject(e))return o.warn("Relayout fail.",e,r),Promise.reject();n=o.extendFlat({},e)}Object.keys(n).length&&(t.changed=!0);var i=Z(t,n),a=i.flags;a.calc&&(t.calcdata=void 0);var s=[h.previousPromises];a.layoutReplot?s.push(k.layoutReplot):Object.keys(n).length&&(H(t,a,i)||h.supplyDefaults(t),a.legend&&s.push(k.doLegend),a.layoutstyle&&s.push(k.layoutStyles),a.axrange&&G(s,i.rangesAltered),a.ticks&&s.push(k.doTicksRelayout),a.modebar&&s.push(k.doModeBar),a.camera&&s.push(k.doCamera),a.colorbars&&s.push(k.doColorBars),s.push(E)),s.push(h.rehover,h.redrag),c.add(t,q,[t,i.undoit],q,[t,i.redoit]);var l=o.syncOrAsync(s,t);return l&&l.then||(l=Promise.resolve(t)),l.then((function(){return t.emit("plotly_relayout",i.eventData),t}))}function H(t,e,r){var n=t._fullLayout;if(!e.axrange)return!1;for(var i in e)if("axrange"!==i&&e[i])return!1;for(var a in r.rangesAltered){var o=d.id2name(a),s=t.layout[o],l=n[o];if(l.autorange=s.autorange,s.range&&(l.range=s.range.slice()),l.cleanRange(),l._matchGroup)for(var c in l._matchGroup)if(c!==a){var u=n[d.id2name(c)];u.autorange=l.autorange,u.range=l.range.slice(),u._input.range=l.range.slice()}}return!0}function G(t,e){var r=e?function(t){var r=[],n=!0;for(var i in e){var a=d.getFromId(t,i);if(r.push(i),-1!==(a.ticklabelposition||"").indexOf("inside")&&a._anchorAxis&&r.push(a._anchorAxis._id),a._matchGroup)for(var o in a._matchGroup)e[o]||r.push(o);a.automargin&&(n=!1)}return d.draw(t,r,{skipTitle:n})}:function(t){return d.draw(t,"redraw")};t.push(b,k.doAutoRangeAndConstraints,r,k.drawData,k.finalDraw)}var Y=/^[xyz]axis[0-9]*\.range(\[[0|1]\])?$/,W=/^[xyz]axis[0-9]*\.autorange$/,X=/^[xyz]axis[0-9]*\.domain(\[[0|1]\])?$/;function Z(t,e){var r,n,i,a=t.layout,l=t._fullLayout,c=l._guiEditing,h=N(l._preGUI,c),p=Object.keys(e),g=d.list(t),m=o.extendDeepAll({},e),v={};for(V(e),p=Object.keys(e),n=0;n<p.length;n++)if(0===p[n].indexOf("allaxes")){for(i=0;i<g.length;i++){var y=g[i]._id.substr(1),x=-1!==y.indexOf("scene")?y+".":"",b=p[n].replace("allaxes",x+g[i]._name);e[b]||(e[b]=e[p[n]])}delete e[p[n]]}var _=M.layoutFlags(),k={},S={};function E(t,r){if(Array.isArray(t))t.forEach((function(t){E(t,r)}));else if(!(t in e)&&!T.hasParent(e,t)){var n=h(a,t);t in S||(S[t]=B(n.get())),void 0!==r&&n.set(r)}}var C,L={};function I(t){var e=d.name2id(t.split(".")[0]);return L[e]=1,e}for(var P in e){if(T.hasParent(e,P))throw new Error("cannot set "+P+" and a parent attribute simultaneously");for(var z=h(a,P),O=e[P],D=z.parts.length-1;D>0&&"string"!=typeof z.parts[D];)D--;var R=z.parts[D],F=z.parts[D-1]+"."+R,j=z.parts.slice(0,D).join("."),U=s(t.layout,j).get(),q=s(l,j).get(),H=z.get();if(void 0!==O){k[P]=O,S[P]="reverse"===R?O:B(H);var G=f.getLayoutValObject(l,z.parts);if(G&&G.impliedEdits&&null!==O)for(var Z in G.impliedEdits)E(o.relativeAttr(P,Z),G.impliedEdits[Z]);if(-1!==["width","height"].indexOf(P))if(O){E("autosize",null);var K="height"===P?"width":"height";E(K,l[K])}else l[P]=t._initialAutoSize[P];else if("autosize"===P)E("width",O?null:l.width),E("height",O?null:l.height);else if(F.match(Y))I(F),s(l,j+"._inputRange").set(null);else if(F.match(W)){I(F),s(l,j+"._inputRange").set(null);var Q=s(l,j).get();Q._inputDomain&&(Q._input.domain=Q._inputDomain.slice())}else F.match(X)&&s(l,j+"._inputDomain").set(null);if("type"===R){C=U;var $="linear"===q.type&&"log"===O,tt="log"===q.type&&"linear"===O;if($||tt){if(C&&C.range)if(q.autorange)$&&(C.range=C.range[1]>C.range[0]?[1,2]:[2,1]);else{var et=C.range[0],rt=C.range[1];$?(et<=0&&rt<=0&&E(j+".autorange",!0),et<=0?et=rt/1e6:rt<=0&&(rt=et/1e6),E(j+".range[0]",Math.log(et)/Math.LN10),E(j+".range[1]",Math.log(rt)/Math.LN10)):(E(j+".range[0]",Math.pow(10,et)),E(j+".range[1]",Math.pow(10,rt)))}else E(j+".autorange",!0);Array.isArray(l._subplots.polar)&&l._subplots.polar.length&&l[z.parts[0]]&&"radialaxis"===z.parts[1]&&delete l[z.parts[0]]._subplot.viewInitial["radialaxis.range"],u.getComponentMethod("annotations","convertCoords")(t,q,O,E),u.getComponentMethod("images","convertCoords")(t,q,O,E)}else E(j+".autorange",!0),E(j+".range",null);s(l,j+"._inputRange").set(null)}else if(R.match(A)){var nt=s(l,P).get(),it=(O||{}).type;it&&"-"!==it||(it="linear"),u.getComponentMethod("annotations","convertCoords")(t,nt,it,E),u.getComponentMethod("images","convertCoords")(t,nt,it,E)}var at=w.containerArrayMatch(P);if(at){r=at.array,n=at.index;var ot=at.property,st=G||{editType:"calc"};""!==n&&""===ot&&(w.isAddVal(O)?S[P]=null:w.isRemoveVal(O)?S[P]=(s(a,r).get()||[])[n]:o.warn("unrecognized full object value",e)),M.update(_,st),v[r]||(v[r]={});var lt=v[r][n];lt||(lt=v[r][n]={}),lt[ot]=O,delete e[P]}else"reverse"===R?(U.range?U.range.reverse():(E(j+".autorange",!0),U.range=[1,0]),q.autorange?_.calc=!0:_.plot=!0):(l._has("scatter-like")&&l._has("regl")&&"dragmode"===P&&("lasso"===O||"select"===O)&&"lasso"!==H&&"select"!==H||l._has("gl2d")?_.plot=!0:G?M.update(_,G):_.calc=!0,z.set(O))}}for(r in v){w.applyContainerArrayChanges(t,h(a,r),v[r],_,h)||(_.plot=!0)}for(var ct in L){var ut=(C=d.getFromId(t,ct))&&C._constraintGroup;if(ut)for(var ft in _.calc=!0,ut)L[ft]||(d.getFromId(t,ft)._constraintShrinkable=!0)}return(J(t)||e.height||e.width)&&(_.plot=!0),(_.plot||_.calc)&&(_.layoutReplot=!0),{flags:_,rangesAltered:L,undoit:S,redoit:k,eventData:m}}function J(t){var e=t._fullLayout,r=e.width,n=e.height;return t.layout.autosize&&h.plotAutoSize(t,t.layout,e),e.width!==r||e.height!==n}function K(t,e,n,i){if(t=o.getGraphDiv(t),T.clearPromiseQueue(t),t.framework&&t.framework.isPolar)return Promise.resolve(t);o.isPlainObject(e)||(e={}),o.isPlainObject(n)||(n={}),Object.keys(e).length&&(t.changed=!0),Object.keys(n).length&&(t.changed=!0);var a=T.coerceTraceIndices(t,i),s=U(t,o.extendFlat({},e),a),l=s.flags,u=Z(t,o.extendFlat({},n)),f=u.flags;(l.calc||f.calc)&&(t.calcdata=void 0),l.clearAxisTypes&&T.clearAxisTypes(t,a,n);var p=[];f.layoutReplot?p.push(k.layoutReplot):l.fullReplot?p.push(r.plot):(p.push(h.previousPromises),H(t,f,u)||h.supplyDefaults(t),l.style&&p.push(k.doTraceStyle),(l.colorbars||f.colorbars)&&p.push(k.doColorBars),f.legend&&p.push(k.doLegend),f.layoutstyle&&p.push(k.layoutStyles),f.axrange&&G(p,u.rangesAltered),f.ticks&&p.push(k.doTicksRelayout),f.modebar&&p.push(k.doModeBar),f.camera&&p.push(k.doCamera),p.push(E)),p.push(h.rehover,h.redrag),c.add(t,K,[t,s.undoit,u.undoit,s.traces],K,[t,s.redoit,u.redoit,s.traces]);var d=o.syncOrAsync(p,t);return d&&d.then||(d=Promise.resolve(t)),d.then((function(){return t.emit("plotly_update",{data:s.eventData,layout:u.eventData}),t}))}function Q(t){return function(e){e._fullLayout._guiEditing=!0;var r=t.apply(null,arguments);return e._fullLayout._guiEditing=!1,r}}var $=[{pattern:/^hiddenlabels/,attr:"legend.uirevision"},{pattern:/^((x|y)axis\d*)\.((auto)?range|title\.text)/},{pattern:/axis\d*\.showspikes$/,attr:"modebar.uirevision"},{pattern:/(hover|drag)mode$/,attr:"modebar.uirevision"},{pattern:/^(scene\d*)\.camera/},{pattern:/^(geo\d*)\.(projection|center|fitbounds)/},{pattern:/^(ternary\d*\.[abc]axis)\.(min|title\.text)$/},{pattern:/^(polar\d*\.radialaxis)\.((auto)?range|angle|title\.text)/},{pattern:/^(polar\d*\.angularaxis)\.rotation/},{pattern:/^(mapbox\d*)\.(center|zoom|bearing|pitch)/},{pattern:/^legend\.(x|y)$/,attr:"editrevision"},{pattern:/^(shapes|annotations)/,attr:"editrevision"},{pattern:/^title\.text$/,attr:"editrevision"}],tt=[{pattern:/^selectedpoints$/,attr:"selectionrevision"},{pattern:/(^|value\.)visible$/,attr:"legend.uirevision"},{pattern:/^dimensions\[\d+\]\.constraintrange/},{pattern:/^node\.(x|y|groups)/},{pattern:/^level$/},{pattern:/(^|value\.)name$/},{pattern:/colorbar\.title\.text$/},{pattern:/colorbar\.(x|y)$/,attr:"editrevision"}];function et(t,e){for(var r=0;r<e.length;r++){var n=e[r],i=t.match(n.pattern);if(i)return{head:i[1],attr:n.attr}}}function rt(t,e){var r=s(e,t).get();if(void 0!==r)return r;var n=t.split(".");for(n.pop();n.length>1;)if(n.pop(),void 0!==(r=s(e,n.join(".")+".uirevision").get()))return r;return e.uirevision}function nt(t,e){for(var r=0;r<e.length;r++)if(e[r]._fullInput.uid===t)return r;return-1}function it(t,e,r){for(var n=0;n<e.length;n++)if(e[n].uid===t)return n;return!e[r]||e[r].uid?-1:r}function at(t,e){var r=o.isPlainObject(t),n=Array.isArray(t);return r||n?(r&&o.isPlainObject(e)||n&&Array.isArray(e))&&JSON.stringify(t)===JSON.stringify(e):t===e}function ot(t,e,r,n){var i,a,l,c=n.getValObject,u=n.flags,f=n.immutable,h=n.inArray,p=n.arrayIndex;function d(){var t=i.editType;h&&-1!==t.indexOf("arraydraw")?o.pushUnique(u.arrays[h],p):(M.update(u,i),"none"!==t&&u.nChanges++,n.transition&&i.anim&&u.nChangesAnim++,(Y.test(l)||W.test(l))&&(u.rangesAltered[r[0]]=1),X.test(l)&&s(e,"_inputDomain").set(null),"datarevision"===a&&(u.newDataRevision=1))}function g(t){return"data_array"===t.valType||t.arrayOk}for(a in t){if(u.calc&&!n.transition)return;var m=t[a],v=e[a],y=r.concat(a);if(l=y.join("."),"_"!==a.charAt(0)&&"function"!=typeof m&&m!==v){if(("tick0"===a||"dtick"===a)&&"geo"!==r[0]){var x=e.tickmode;if("auto"===x||"array"===x||!x)continue}if(("range"!==a||!e.autorange)&&("zmin"!==a&&"zmax"!==a||"contourcarpet"!==e.type)&&(i=c(y))&&(!i._compareAsJSON||JSON.stringify(m)!==JSON.stringify(v))){var b,_=i.valType,w=g(i),T=Array.isArray(m),k=Array.isArray(v);if(T&&k){var A="_input_"+a,S=t[A],E=e[A];if(Array.isArray(S)&&S===E)continue}if(void 0===v)w&&T?u.calc=!0:d();else if(i._isLinkedToArray){var C=[],L=!1;h||(u.arrays[a]=C);var I=Math.min(m.length,v.length),P=Math.max(m.length,v.length);if(I!==P){if("arraydraw"!==i.editType){d();continue}L=!0}for(b=0;b<I;b++)ot(m[b],v[b],y.concat(b),o.extendFlat({inArray:a,arrayIndex:b},n));if(L)for(b=I;b<P;b++)C.push(b)}else!_&&o.isPlainObject(m)?ot(m,v,y,n):w?T&&k?(f&&(u.calc=!0),(f||n.newDataRevision)&&d()):T!==k?u.calc=!0:d():T&&k&&m.length===v.length&&String(m)===String(v)||d()}}}for(a in e)if(!(a in t)&&"_"!==a.charAt(0)&&"function"!=typeof e[a]){if(g(i=c(r.concat(a)))&&Array.isArray(e[a]))return void(u.calc=!0);d()}}function st(t){var e=t._fullLayout,r=t.getBoundingClientRect();if(!o.equalDomRects(r,e._lastBBox)){var n=e._invTransform=o.inverseTransformMatrix(o.getFullTransformMatrix(t));e._invScaleX=Math.sqrt(n[0][0]*n[0][0]+n[0][1]*n[0][1]+n[0][2]*n[0][2]),e._invScaleY=Math.sqrt(n[1][0]*n[1][0]+n[1][1]*n[1][1]+n[1][2]*n[1][2]),e._lastBBox=r}}function lt(t){var e=n.select(t),r=t._fullLayout;if(r._calcInverseTransform=st,r._calcInverseTransform(t),r._container=e.selectAll(".plot-container").data([0]),r._container.enter().insert("div",":first-child").classed("plot-container",!0).classed("plotly",!0),r._paperdiv=r._container.selectAll(".svg-container").data([0]),r._paperdiv.enter().append("div").classed("user-select-none",!0).classed("svg-container",!0).style("position","relative"),r._glcontainer=r._paperdiv.selectAll(".gl-container").data([{}]),r._glcontainer.enter().append("div").classed("gl-container",!0),r._paperdiv.selectAll(".main-svg").remove(),r._paperdiv.select(".modebar-container").remove(),r._paper=r._paperdiv.insert("svg",":first-child").classed("main-svg",!0),r._toppaper=r._paperdiv.append("svg").classed("main-svg",!0),r._modebardiv=r._paperdiv.append("div"),delete r._modeBar,r._hoverpaper=r._paperdiv.append("svg").classed("main-svg",!0),!r._uid){var i={};n.selectAll("defs").each((function(){this.id&&(i[this.id.split("-")[1]]=1)})),r._uid=o.randstr(i)}r._paperdiv.selectAll(".main-svg").attr(y.svgAttrs),r._defs=r._paper.append("defs").attr("id","defs-"+r._uid),r._clips=r._defs.append("g").classed("clips",!0),r._topdefs=r._toppaper.append("defs").attr("id","topdefs-"+r._uid),r._topclips=r._topdefs.append("g").classed("clips",!0),r._bgLayer=r._paper.append("g").classed("bglayer",!0),r._draggers=r._paper.append("g").classed("draglayer",!0);var a=r._paper.append("g").classed("layer-below",!0);r._imageLowerLayer=a.append("g").classed("imagelayer",!0),r._shapeLowerLayer=a.append("g").classed("shapelayer",!0),r._cartesianlayer=r._paper.append("g").classed("cartesianlayer",!0),r._polarlayer=r._paper.append("g").classed("polarlayer",!0),r._ternarylayer=r._paper.append("g").classed("ternarylayer",!0),r._geolayer=r._paper.append("g").classed("geolayer",!0),r._funnelarealayer=r._paper.append("g").classed("funnelarealayer",!0),r._pielayer=r._paper.append("g").classed("pielayer",!0),r._treemaplayer=r._paper.append("g").classed("treemaplayer",!0),r._sunburstlayer=r._paper.append("g").classed("sunburstlayer",!0),r._indicatorlayer=r._toppaper.append("g").classed("indicatorlayer",!0),r._glimages=r._paper.append("g").classed("glimages",!0);var s=r._toppaper.append("g").classed("layer-above",!0);r._imageUpperLayer=s.append("g").classed("imagelayer",!0),r._shapeUpperLayer=s.append("g").classed("shapelayer",!0),r._infolayer=r._toppaper.append("g").classed("infolayer",!0),r._menulayer=r._toppaper.append("g").classed("menulayer",!0),r._zoomlayer=r._toppaper.append("g").classed("zoomlayer",!0),r._hoverlayer=r._hoverpaper.append("g").classed("hoverlayer",!0),r._modebardiv.classed("modebar-container",!0).style("position","absolute").style("top","0px").style("right","0px"),t.emit("plotly_framework")}r.animate=function(t,e,r){if(t=o.getGraphDiv(t),!o.isPlotDiv(t))throw new Error("This element is not a Plotly plot: "+t+". It's likely that you've failed to create a plot before animating it. For more details, see https://plotly.com/javascript/animations/");var n=t._transitionData;n._frameQueue||(n._frameQueue=[]);var i=(r=h.supplyAnimationDefaults(r)).transition,a=r.frame;function s(t){return Array.isArray(i)?t>=i.length?i[0]:i[t]:i}function l(t){return Array.isArray(a)?t>=a.length?a[0]:a[t]:a}function c(t,e){var r=0;return function(){if(t&&++r===e)return t()}}return void 0===n._frameWaitingCnt&&(n._frameWaitingCnt=0),new Promise((function(a,u){function f(){n._currentFrame&&n._currentFrame.onComplete&&n._currentFrame.onComplete();var e=n._currentFrame=n._frameQueue.shift();if(e){var r=e.name?e.name.toString():null;t._fullLayout._currentFrame=r,n._lastFrameAt=Date.now(),n._timeToNext=e.frameOpts.duration,h.transition(t,e.frame.data,e.frame.layout,T.coerceTraceIndices(t,e.frame.traces),e.frameOpts,e.transitionOpts).then((function(){e.onComplete&&e.onComplete()})),t.emit("plotly_animatingframe",{name:r,frame:e.frame,animation:{frame:e.frameOpts,transition:e.transitionOpts}})}else t.emit("plotly_animated"),window.cancelAnimationFrame(n._animationRaf),n._animationRaf=null}function p(){t.emit("plotly_animating"),n._lastFrameAt=-1/0,n._timeToNext=0,n._runningTransitions=0,n._currentFrame=null;var e=function(){n._animationRaf=window.requestAnimationFrame(e),Date.now()-n._lastFrameAt>n._timeToNext&&f()};e()}var d,g,m=0;function v(t){return Array.isArray(i)?m>=i.length?t.transitionOpts=i[m]:t.transitionOpts=i[0]:t.transitionOpts=i,m++,t}var y=[],x=null==e,b=Array.isArray(e);if(!x&&!b&&o.isPlainObject(e))y.push({type:"object",data:v(o.extendFlat({},e))});else if(x||-1!==["string","number"].indexOf(typeof e))for(d=0;d<n._frames.length;d++)(g=n._frames[d])&&(x||String(g.group)===String(e))&&y.push({type:"byname",name:String(g.name),data:v({name:g.name})});else if(b)for(d=0;d<e.length;d++){var _=e[d];-1!==["number","string"].indexOf(typeof _)?(_=String(_),y.push({type:"byname",name:_,data:v({name:_})})):o.isPlainObject(_)&&y.push({type:"object",data:v(o.extendFlat({},_))})}for(d=0;d<y.length;d++)if("byname"===(g=y[d]).type&&!n._frameHash[g.data.name])return o.warn('animate failure: frame not found: "'+g.data.name+'"'),void u();-1!==["next","immediate"].indexOf(r.mode)&&function(){if(0!==n._frameQueue.length){for(;n._frameQueue.length;){var e=n._frameQueue.pop();e.onInterrupt&&e.onInterrupt()}t.emit("plotly_animationinterrupted",[])}}(),"reverse"===r.direction&&y.reverse();var w=t._fullLayout._currentFrame;if(w&&r.fromcurrent){var k=-1;for(d=0;d<y.length;d++)if("byname"===(g=y[d]).type&&g.name===w){k=d;break}if(k>0&&k<y.length-1){var M=[];for(d=0;d<y.length;d++)g=y[d],("byname"!==y[d].type||d>k)&&M.push(g);y=M}}y.length>0?function(e){if(0!==e.length){for(var i=0;i<e.length;i++){var o;o="byname"===e[i].type?h.computeFrame(t,e[i].name):e[i].data;var f=l(i),d=s(i);d.duration=Math.min(d.duration,f.duration);var g={frame:o,name:e[i].name,frameOpts:f,transitionOpts:d};i===e.length-1&&(g.onComplete=c(a,2),g.onInterrupt=u),n._frameQueue.push(g)}"immediate"===r.mode&&(n._lastFrameAt=-1/0),n._animationRaf||p()}}(y):(t.emit("plotly_animated"),a())}))},r.addFrames=function(t,e,r){if(t=o.getGraphDiv(t),null==e)return Promise.resolve();if(!o.isPlotDiv(t))throw new Error("This element is not a Plotly plot: "+t+". It's likely that you've failed to create a plot before adding frames. For more details, see https://plotly.com/javascript/animations/");var n,i,a,s,l=t._transitionData._frames,u=t._transitionData._frameHash;if(!Array.isArray(e))throw new Error("addFrames failure: frameList must be an Array of frame definitions"+e);var f=l.length+2*e.length,p=[],d={};for(n=e.length-1;n>=0;n--)if(o.isPlainObject(e[n])){var g=e[n].name,m=(u[g]||d[g]||{}).name,v=e[n].name,y=u[m]||d[m];m&&v&&"number"==typeof v&&y&&S<5&&(S++,o.warn('addFrames: overwriting frame "'+(u[m]||d[m]).name+'" with a frame whose name of type "number" also equates to "'+m+'". This is valid but may potentially lead to unexpected behavior since all plotly.js frame names are stored internally as strings.'),5===S&&o.warn("addFrames: This API call has yielded too many of these warnings. For the rest of this call, further warnings about numeric frame names will be suppressed.")),d[g]={name:g},p.push({frame:h.supplyFrameDefaults(e[n]),index:r&&void 0!==r[n]&&null!==r[n]?r[n]:f+n})}p.sort((function(t,e){return t.index>e.index?-1:t.index<e.index?1:0}));var x=[],b=[],_=l.length;for(n=p.length-1;n>=0;n--){if("number"==typeof(i=p[n].frame).name&&o.warn("Warning: addFrames accepts frames with numeric names, but the numbers areimplicitly cast to strings"),!i.name)for(;u[i.name="frame "+t._transitionData._counter++];);if(u[i.name]){for(a=0;a<l.length&&(l[a]||{}).name!==i.name;a++);x.push({type:"replace",index:a,value:i}),b.unshift({type:"replace",index:a,value:l[a]})}else s=Math.max(0,Math.min(p[n].index,_)),x.push({type:"insert",index:s,value:i}),b.unshift({type:"delete",index:s}),_++}var w=h.modifyFrames,T=h.modifyFrames,k=[t,b],M=[t,x];return c&&c.add(t,w,k,T,M),h.modifyFrames(t,x)},r.deleteFrames=function(t,e){if(t=o.getGraphDiv(t),!o.isPlotDiv(t))throw new Error("This element is not a Plotly plot: "+t);var r,n,i=t._transitionData._frames,a=[],s=[];if(!e)for(e=[],r=0;r<i.length;r++)e.push(r);for((e=e.slice()).sort(),r=e.length-1;r>=0;r--)n=e[r],a.push({type:"delete",index:n}),s.unshift({type:"insert",index:n,value:i[n]});var l=h.modifyFrames,u=h.modifyFrames,f=[t,s],p=[t,a];return c&&c.add(t,l,f,u,p),h.modifyFrames(t,a)},r.addTraces=function t(e,n,i){e=o.getGraphDiv(e);var a,s,l=[],u=r.deleteTraces,f=t,h=[e,l],p=[e,n];for(function(t,e,r){var n,i;if(!Array.isArray(t.data))throw new Error("gd.data must be an array.");if("undefined"==typeof e)throw new Error("traces must be defined.");for(Array.isArray(e)||(e=[e]),n=0;n<e.length;n++)if("object"!=typeof(i=e[n])||Array.isArray(i)||null===i)throw new Error("all values in traces array must be non-array objects");if("undefined"==typeof r||Array.isArray(r)||(r=[r]),"undefined"!=typeof r&&r.length!==e.length)throw new Error("if indices is specified, traces.length must equal indices.length")}(e,n,i),Array.isArray(n)||(n=[n]),n=n.map((function(t){return o.extendFlat({},t)})),T.cleanData(n),a=0;a<n.length;a++)e.data.push(n[a]);for(a=0;a<n.length;a++)l.push(-n.length+a);if("undefined"==typeof i)return s=r.redraw(e),c.add(e,u,h,f,p),s;Array.isArray(i)||(i=[i]);try{O(e,l,i)}catch(t){throw e.data.splice(e.data.length-n.length,n.length),t}return c.startSequence(e),c.add(e,u,h,f,p),s=r.moveTraces(e,l,i),c.stopSequence(e),s},r.deleteTraces=function t(e,n){e=o.getGraphDiv(e);var i,a,s=[],l=r.addTraces,u=t,f=[e,s,n],h=[e,n];if("undefined"==typeof n)throw new Error("indices must be an integer or array of integers.");for(Array.isArray(n)||(n=[n]),z(e,n,"indices"),(n=P(n,e.data.length-1)).sort(o.sorterDes),i=0;i<n.length;i+=1)a=e.data.splice(n[i],1)[0],s.push(a);var p=r.redraw(e);return c.add(e,l,f,u,h),p},r.extendTraces=function t(e,n,i,a){function s(t,e,r){var n,i;if(o.isTypedArray(t))if(r<0){var a=new t.constructor(0),s=R(t,e);r<0?(n=s,i=a):(n=a,i=s)}else if(n=new t.constructor(r),i=new t.constructor(t.length+e.length-r),r===e.length)n.set(e),i.set(t);else if(r<e.length){var l=e.length-r;n.set(e.subarray(l)),i.set(t),i.set(e.subarray(0,l),t.length)}else{var c=r-e.length,u=t.length-c;n.set(t.subarray(u)),n.set(e,c),i.set(t.subarray(0,u))}else n=t.concat(e),i=r>=0&&r<n.length?n.splice(0,n.length-r):[];return[n,i]}var l=D(e=o.getGraphDiv(e),n,i,a,s),u=r.redraw(e),f=[e,l.update,i,l.maxPoints];return c.add(e,r.prependTraces,f,t,arguments),u},r.moveTraces=function t(e,n,i){var a,s=[],l=[],u=t,f=t,h=[e=o.getGraphDiv(e),i,n],p=[e,n,i];if(O(e,n,i),n=Array.isArray(n)?n:[n],"undefined"==typeof i)for(i=[],a=0;a<n.length;a++)i.push(-n.length+a);for(i=Array.isArray(i)?i:[i],n=P(n,e.data.length-1),i=P(i,e.data.length-1),a=0;a<e.data.length;a++)-1===n.indexOf(a)&&s.push(e.data[a]);for(a=0;a<n.length;a++)l.push({newIndex:i[a],trace:e.data[n[a]]});for(l.sort((function(t,e){return t.newIndex-e.newIndex})),a=0;a<l.length;a+=1)s.splice(l[a].newIndex,0,l[a].trace);e.data=s;var d=r.redraw(e);return c.add(e,u,h,f,p),d},r.prependTraces=function t(e,n,i,a){function s(t,e,r){var n,i;if(o.isTypedArray(t))if(r<=0){var a=new t.constructor(0),s=R(e,t);r<0?(n=s,i=a):(n=a,i=s)}else if(n=new t.constructor(r),i=new t.constructor(t.length+e.length-r),r===e.length)n.set(e),i.set(t);else if(r<e.length){var l=e.length-r;n.set(e.subarray(0,l)),i.set(e.subarray(l)),i.set(t,l)}else{var c=r-e.length;n.set(e),n.set(t.subarray(0,c),e.length),i.set(t.subarray(c))}else n=e.concat(t),i=r>=0&&r<n.length?n.splice(r,n.length):[];return[n,i]}var l=D(e=o.getGraphDiv(e),n,i,a,s),u=r.redraw(e),f=[e,l.update,i,l.maxPoints];return c.add(e,r.extendTraces,f,t,arguments),u},r.newPlot=function(t,e,n,i){return t=o.getGraphDiv(t),h.cleanPlot([],{},t._fullData||[],t._fullLayout||{}),h.purge(t),r.plot(t,e,n,i)},r.plot=function(t,e,i,a){var s;if(t=o.getGraphDiv(t),l.init(t),o.isPlainObject(e)){var c=e;e=c.data,i=c.layout,a=c.config,s=c.frames}if(!1===l.triggerHandler(t,"plotly_beforeplot",[e,i,a]))return Promise.reject();e||i||o.isPlotDiv(t)||o.warn("Calling Plotly.plot as if redrawing but this container doesn't yet have a plot.",t),I(t,a),i||(i={}),n.select(t).classed("js-plotly-plot",!0),g.makeTester(),Array.isArray(t._promises)||(t._promises=[]);var f=0===(t.data||[]).length&&Array.isArray(e);Array.isArray(e)&&(T.cleanData(e),f?t.data=e:t.data.push.apply(t.data,e),t.empty=!1),t.layout&&!f||(t.layout=T.cleanLayout(i)),h.supplyDefaults(t);var m=t._fullLayout,y=m._has("cartesian");if(!m._has("polar")&&e&&e[0]&&e[0].r)return o.log("Legacy polar charts are deprecated!"),function(t,e,r){var i=n.select(t).selectAll(".plot-container").data([0]);i.enter().insert("div",":first-child").classed("plot-container plotly",!0);var a=i.selectAll(".svg-container").data([0]);a.enter().append("div").classed("svg-container",!0).style("position","relative"),a.html(""),e&&(t.data=e);r&&(t.layout=r);p.manager.fillLayout(t),a.style({width:t._fullLayout.width+"px",height:t._fullLayout.height+"px"}),t.framework=p.manager.framework(t),t.framework({data:t.data,layout:t.layout},a.node()),t.framework.setUndoPoint();var s=t.framework.svg(),l=1,c=t._fullLayout.title?t._fullLayout.title.text:"";""!==c&&c||(l=0);var u=function(){this.call(x.convertToTspans,t)},f=s.select(".title-group text").call(u);if(t._context.edits.titleText){var d=o._(t,"Click to enter Plot title");c&&c!==d||(l=.2,f.attr({"data-unformatted":d}).text(d).style({opacity:l}).on("mouseover.opacity",(function(){n.select(this).transition().duration(100).style("opacity",1)})).on("mouseout.opacity",(function(){n.select(this).transition().duration(1e3).style("opacity",0)})));var g=function(){this.call(x.makeEditable,{gd:t}).on("edit",(function(e){t.framework({layout:{title:{text:e}}}),this.text(e).call(u),this.call(g)})).on("cancel",(function(){var t=this.attr("data-unformatted");this.text(t).call(u)}))};f.call(g)}return t._context.setBackground(t,t._fullLayout.paper_bgcolor),h.addLinks(t),Promise.resolve()}(t,e,i);m._replotting=!0,(f||m._shouldCreateBgLayer)&&(lt(t),m._shouldCreateBgLayer&&delete m._shouldCreateBgLayer),t.framework!==lt&&(t.framework=lt,lt(t)),g.initGradients(t),f&&d.saveShowSpikeInitial(t);var b=!t.calcdata||t.calcdata.length!==(t._fullData||[]).length;b&&h.doCalcdata(t);for(var _=0;_<t.calcdata.length;_++)t.calcdata[_][0].trace=t._fullData[_];t._context.responsive?t._responsiveChartHandler||(t._responsiveChartHandler=function(){o.isHidden(t)||h.resize(t)},window.addEventListener("resize",t._responsiveChartHandler)):o.clearResponsive(t);var w=o.extendFlat({},m._size),M=0;function A(){if(h.clearAutoMarginIds(t),k.drawMarginPushers(t),d.allowAutoMargin(t),m._has("pie"))for(var e=t._fullData,r=0;r<e.length;r++){var n=e[r];"pie"===n.type&&n.automargin&&h.allowAutoMargin(t,"pie."+n.uid+".automargin")}return h.doAutoMargin(t),h.previousPromises(t)}function S(){t._transitioning||(k.doAutoRangeAndConstraints(t),f&&d.saveRangeInitial(t),u.getComponentMethod("rangeslider","calcAutorange")(t))}var C=[h.previousPromises,function(){if(s)return r.addFrames(t,s)},function e(){for(var r=m._basePlotModules,n=0;n<r.length;n++)r[n].drawFramework&&r[n].drawFramework(t);if(!m._glcanvas&&m._has("gl")&&(m._glcanvas=m._glcontainer.selectAll(".gl-canvas").data([{key:"contextLayer",context:!0,pick:!1},{key:"focusLayer",context:!1,pick:!1},{key:"pickLayer",context:!1,pick:!0}],(function(t){return t.key})),m._glcanvas.enter().append("canvas").attr("class",(function(t){return"gl-canvas gl-canvas-"+t.key.replace("Layer","")})).style({position:"absolute",top:0,left:0,overflow:"visible","pointer-events":"none"})),m._glcanvas){m._glcanvas.attr("width",m.width).attr("height",m.height);var i=m._glcanvas.data()[0].regl;if(i&&(Math.floor(m.width)!==i._gl.drawingBufferWidth||Math.floor(m.height)!==i._gl.drawingBufferHeight)){var a="WebGL context buffer and canvas dimensions do not match due to browser/WebGL bug.";if(!M)return o.log(a+" Clearing graph and plotting again."),h.cleanPlot([],{},t._fullData,m),h.supplyDefaults(t),m=t._fullLayout,h.doCalcdata(t),M++,e();o.error(a)}}return"h"===m.modebar.orientation?m._modebardiv.style("height",null).style("width","100%"):m._modebardiv.style("width",null).style("height",m.height+"px"),h.previousPromises(t)},A,function(){if(h.didMarginChange(w,m._size))return o.syncOrAsync([A,k.layoutStyles],t)}];y&&C.push((function(){if(b)return o.syncOrAsync([u.getComponentMethod("shapes","calcAutorange"),u.getComponentMethod("annotations","calcAutorange"),S],t);S()})),C.push(k.layoutStyles),y&&C.push((function(){return d.draw(t,f?"":"redraw")}),(function(t){t._fullLayout._insideTickLabelsAutorange&&q(t,t._fullLayout._insideTickLabelsAutorange).then((function(){t._fullLayout._insideTickLabelsAutorange=void 0}))})),C.push(k.drawData,k.finalDraw,v,h.addLinks,h.rehover,h.redrag,h.doAutoMargin,(function(t){t._fullLayout._insideTickLabelsAutorange&&f&&d.saveRangeInitial(t,!0)}),h.previousPromises);var L=o.syncOrAsync(C,t);return L&&L.then||(L=Promise.resolve()),L.then((function(){return E(t),t}))},r.purge=function(t){var e=(t=o.getGraphDiv(t))._fullLayout||{},r=t._fullData||[];return h.cleanPlot([],{},r,e),h.purge(t),l.purge(t),e._container&&e._container.remove(),delete t._context,t},r.react=function(t,e,n,i){var a,l;t=o.getGraphDiv(t),T.clearPromiseQueue(t);var c=t._fullData,p=t._fullLayout;if(o.isPlotDiv(t)&&c&&p){if(o.isPlainObject(e)){var d=e;e=d.data,n=d.layout,i=d.config,a=d.frames}var g=!1;if(i){var m=o.extendDeep({},t._context);t._context=void 0,I(t,i),g=function t(e,r){var n;for(n in e)if("_"!==n.charAt(0)){var i=e[n],a=r[n];if(i!==a)if(o.isPlainObject(i)&&o.isPlainObject(a)){if(t(i,a))return!0}else{if(!Array.isArray(i)||!Array.isArray(a))return!0;if(i.length!==a.length)return!0;for(var s=0;s<i.length;s++)if(i[s]!==a[s]){if(!o.isPlainObject(i[s])||!o.isPlainObject(a[s]))return!0;if(t(i[s],a[s]))return!0}}}}(m,t._context)}t.data=e||[],T.cleanData(t.data),t.layout=n||{},T.cleanLayout(t.layout),function(t,e,r,n){var i,a,l,c,u,f,h,p,d=n._preGUI,g=[],m={};for(i in d){if(u=et(i,$)){if(a=u.attr||u.head+".uirevision",(c=(l=s(n,a).get())&&rt(a,e))&&c===l&&(null===(f=d[i])&&(f=void 0),at(p=(h=s(e,i)).get(),f))){void 0===p&&"autorange"===i.substr(i.length-9)&&g.push(i.substr(0,i.length-10)),h.set(B(s(n,i).get()));continue}}else o.warn("unrecognized GUI edit: "+i);delete d[i],"range["===i.substr(i.length-8,6)&&(m[i.substr(0,i.length-9)]=1)}for(var v=0;v<g.length;v++){var y=g[v];if(m[y]){var x=s(e,y).get();x&&delete x.autorange}}var b=n._tracePreGUI;for(var _ in b){var w,T=b[_],k=null;for(i in T){if(!k){var M=nt(_,r);if(M<0){delete b[_];break}var A=it(_,t,(w=r[M]._fullInput).index);if(A<0){delete b[_];break}k=t[A]}if(u=et(i,tt)){if(u.attr?c=(l=s(n,u.attr).get())&&rt(u.attr,e):(l=w.uirevision,void 0===(c=k.uirevision)&&(c=e.uirevision)),c&&c===l&&(null===(f=T[i])&&(f=void 0),at(p=(h=s(k,i)).get(),f))){h.set(B(s(w,i).get()));continue}}else o.warn("unrecognized GUI edit: "+i+" in trace uid "+_);delete T[i]}}}(t.data,t.layout,c,p),h.supplyDefaults(t,{skipUpdateCalc:!0});var v=t._fullData,y=t._fullLayout,x=void 0===y.datarevision,b=y.transition,_=function(t,e,r,n,i){var a=M.layoutFlags();function o(t){return f.getLayoutValObject(r,t)}a.arrays={},a.rangesAltered={},a.nChanges=0,a.nChangesAnim=0,ot(e,r,[],{getValObject:o,flags:a,immutable:n,transition:i,gd:t}),(a.plot||a.calc)&&(a.layoutReplot=!0);i&&a.nChanges&&a.nChangesAnim&&(a.anim=a.nChanges===a.nChangesAnim?"all":"some");return a}(t,p,y,x,b),w=_.newDataRevision,A=function(t,e,r,n,i,a){var o=e.length===r.length;if(!i&&!o)return{fullReplot:!0,calc:!0};var s,l,c=M.traceFlags();c.arrays={},c.nChanges=0,c.nChangesAnim=0;var u={getValObject:function(t){var e=f.getTraceValObject(l,t);return!l._module.animatable&&e.anim&&(e.anim=!1),e},flags:c,immutable:n,transition:i,newDataRevision:a,gd:t},p={};for(s=0;s<e.length;s++)if(r[s]){if(l=r[s]._fullInput,h.hasMakesDataTransform(l)&&(l=r[s]),p[l.uid])continue;p[l.uid]=1,ot(e[s]._fullInput,l,[],u)}(c.calc||c.plot)&&(c.fullReplot=!0);i&&c.nChanges&&c.nChangesAnim&&(c.anim=c.nChanges===c.nChangesAnim&&o?"all":"some");return c}(t,c,v,x,b,w);if(J(t)&&(_.layoutReplot=!0),A.calc||_.calc){t.calcdata=void 0;for(var S=Object.getOwnPropertyNames(y),C=0;C<S.length;C++){var L=S[C],P=L.substring(0,5);if("xaxis"===P||"yaxis"===P){var z=y[L]._emptyCategories;z&&z()}}}else h.supplyDefaultsUpdateCalc(t.calcdata,v);var O=[];if(a&&(t._transitionData={},h.createTransitionData(t),O.push((function(){return r.addFrames(t,a)}))),y.transition&&!g&&(A.anim||_.anim))_.ticks&&O.push(k.doTicksRelayout),h.doCalcdata(t),k.doAutoRangeAndConstraints(t),O.push((function(){return h.transitionFromReact(t,A,_,p)}));else if(A.fullReplot||_.layoutReplot||g)t._fullLayout._skipDefaults=!0,O.push(r.plot);else{for(var D in _.arrays){var R=_.arrays[D];if(R.length){var F=u.getComponentMethod(D,"drawOne");if(F!==o.noop)for(var N=0;N<R.length;N++)F(t,R[N]);else{var j=u.getComponentMethod(D,"draw");if(j===o.noop)throw new Error("cannot draw components: "+D);j(t)}}}O.push(h.previousPromises),A.style&&O.push(k.doTraceStyle),(A.colorbars||_.colorbars)&&O.push(k.doColorBars),_.legend&&O.push(k.doLegend),_.layoutstyle&&O.push(k.layoutStyles),_.axrange&&G(O),_.ticks&&O.push(k.doTicksRelayout),_.modebar&&O.push(k.doModeBar),_.camera&&O.push(k.doCamera),O.push(E)}O.push(h.rehover,h.redrag),(l=o.syncOrAsync(O,t))&&l.then||(l=Promise.resolve(t))}else l=r.newPlot(t,e,n,i);return l.then((function(){return t.emit("plotly_react",{data:e,layout:n}),t}))},r.redraw=function(t){if(t=o.getGraphDiv(t),!o.isPlotDiv(t))throw new Error("This element is not a Plotly plot: "+t);return T.cleanData(t.data),T.cleanLayout(t.layout),t.calcdata=void 0,r.plot(t).then((function(){return t.emit("plotly_redraw"),t}))},r.relayout=q,r.restyle=F,r.setPlotConfig=function(t){return o.extendFlat(_,t)},r.update=K,r._guiRelayout=Q(q),r._guiRestyle=Q(F),r._guiUpdate=Q(K),r._storeDirectGUIEdit=function(t,e,r){for(var n in r){j(n,s(t,n).get(),r[n],e)}}},{"../components/color":643,"../components/drawing":665,"../constants/xmlns_namespaces":754,"../lib":778,"../lib/events":767,"../lib/queue":794,"../lib/svg_text_utils":803,"../plots/cartesian/axes":828,"../plots/cartesian/constants":834,"../plots/cartesian/graph_interact":837,"../plots/cartesian/select":847,"../plots/plots":891,"../plots/polar/legacy":899,"../registry":911,"./edit_types":810,"./helpers":811,"./manage_arrays":813,"./plot_config":815,"./plot_schema":816,"./subroutines":818,d3:169,"fast-isnumeric":241,"has-hover":440}],815:[function(t,e,r){"use strict";var n={staticPlot:{valType:"boolean",dflt:!1},plotlyServerURL:{valType:"string",dflt:""},editable:{valType:"boolean",dflt:!1},edits:{annotationPosition:{valType:"boolean",dflt:!1},annotationTail:{valType:"boolean",dflt:!1},annotationText:{valType:"boolean",dflt:!1},axisTitleText:{valType:"boolean",dflt:!1},colorbarPosition:{valType:"boolean",dflt:!1},colorbarTitleText:{valType:"boolean",dflt:!1},legendPosition:{valType:"boolean",dflt:!1},legendText:{valType:"boolean",dflt:!1},shapePosition:{valType:"boolean",dflt:!1},titleText:{valType:"boolean",dflt:!1}},autosizable:{valType:"boolean",dflt:!1},responsive:{valType:"boolean",dflt:!1},fillFrame:{valType:"boolean",dflt:!1},frameMargins:{valType:"number",dflt:0,min:0,max:.5},scrollZoom:{valType:"flaglist",flags:["cartesian","gl3d","geo","mapbox"],extras:[!0,!1],dflt:"gl3d+geo+mapbox"},doubleClick:{valType:"enumerated",values:[!1,"reset","autosize","reset+autosize"],dflt:"reset+autosize"},doubleClickDelay:{valType:"number",dflt:300,min:0},showAxisDragHandles:{valType:"boolean",dflt:!0},showAxisRangeEntryBoxes:{valType:"boolean",dflt:!0},showTips:{valType:"boolean",dflt:!0},showLink:{valType:"boolean",dflt:!1},linkText:{valType:"string",dflt:"Edit chart",noBlank:!0},sendData:{valType:"boolean",dflt:!0},showSources:{valType:"any",dflt:!1},displayModeBar:{valType:"enumerated",values:["hover",!0,!1],dflt:"hover"},showSendToCloud:{valType:"boolean",dflt:!1},showEditInChartStudio:{valType:"boolean",dflt:!1},modeBarButtonsToRemove:{valType:"any",dflt:[]},modeBarButtonsToAdd:{valType:"any",dflt:[]},modeBarButtons:{valType:"any",dflt:!1},toImageButtonOptions:{valType:"any",dflt:{}},displaylogo:{valType:"boolean",dflt:!0},watermark:{valType:"boolean",dflt:!1},plotGlPixelRatio:{valType:"number",dflt:2,min:1,max:4},setBackground:{valType:"any",dflt:"transparent"},topojsonURL:{valType:"string",noBlank:!0,dflt:"https://cdn.plot.ly/"},mapboxAccessToken:{valType:"string",dflt:null},logging:{valType:"integer",min:0,max:2,dflt:1},notifyOnLogging:{valType:"integer",min:0,max:2,dflt:0},queueLength:{valType:"integer",min:0,dflt:0},globalTransforms:{valType:"any",dflt:[]},locale:{valType:"string",dflt:"en-US"},locales:{valType:"any",dflt:{}}},i={};!function t(e,r){for(var n in e){var i=e[n];i.valType?r[n]=i.dflt:(r[n]||(r[n]={}),t(i,r[n]))}}(n,i),e.exports={configAttributes:n,dfltConfig:i}},{}],816:[function(t,e,r){"use strict";var n=t("../registry"),i=t("../lib"),a=t("../plots/attributes"),o=t("../plots/layout_attributes"),s=t("../plots/frame_attributes"),l=t("../plots/animation_attributes"),c=t("./plot_config").configAttributes,u=t("../plots/polar/legacy/area_attributes"),f=t("../plots/polar/legacy/axis_attributes"),h=t("./edit_types"),p=i.extendFlat,d=i.extendDeepAll,g=i.isPlainObject,m=i.isArrayOrTypedArray,v=i.nestedProperty,y=i.valObjectMeta,x=["_isSubplotObj","_isLinkedToArray","_arrayAttrRegexps","_deprecated"];function b(t,e,r){if(!t)return!1;if(t._isLinkedToArray)if(_(e[r]))r++;else if(r<e.length)return!1;for(;r<e.length;r++){var n=t[e[r]];if(!g(n))break;if(t=n,r===e.length-1)break;if(t._isLinkedToArray){if(!_(e[++r]))return!1}else if("info_array"===t.valType){var i=e[++r];if(!_(i))return!1;var a=t.items;if(Array.isArray(a)){if(i>=a.length)return!1;if(2===t.dimensions){if(r++,e.length===r)return t;var o=e[r];if(!_(o))return!1;t=a[i][o]}else t=a[i]}else t=a}}return t}function _(t){return t===Math.round(t)&&t>=0}function w(){var t,e,r={};for(t in d(r,o),n.subplotsRegistry){if((e=n.subplotsRegistry[t]).layoutAttributes)if(Array.isArray(e.attr))for(var i=0;i<e.attr.length;i++)M(r,e,e.attr[i]);else M(r,e,"subplot"===e.attr?e.name:e.attr)}for(t in r=function(t){return p(t,{radialaxis:f.radialaxis,angularaxis:f.angularaxis}),p(t,f.layout),t}(r),n.componentsRegistry){var a=(e=n.componentsRegistry[t]).schema;if(a&&(a.subplots||a.layout)){var s=a.subplots;if(s&&s.xaxis&&!s.yaxis)for(var l in s.xaxis)delete r.yaxis[l]}else"colorscale"===e.name?d(r,e.layoutAttributes):e.layoutAttributes&&A(r,e.layoutAttributes,e.name)}return{layoutAttributes:k(r)}}function T(){var t={frames:d({},s)};return k(t),t.frames}function k(t){return function(t){r.crawl(t,(function(t,e,n){r.isValObject(t)?"data_array"===t.valType?(t.role="data",n[e+"src"]={valType:"string",editType:"none"}):!0===t.arrayOk&&(n[e+"src"]={valType:"string",editType:"none"}):g(t)&&(t.role="object")}))}(t),function(t){r.crawl(t,(function(t,e,r){if(t){var n=t._isLinkedToArray;n&&(delete t._isLinkedToArray,r[e]={items:{}},r[e].items[n]=t,r[e].role="object")}}))}(t),function(t){!function t(e){for(var r in e)if(g(e[r]))t(e[r]);else if(Array.isArray(e[r]))for(var n=0;n<e[r].length;n++)t(e[r][n]);else e[r]instanceof RegExp&&(e[r]=e[r].toString())}(t)}(t),t}function M(t,e,r){var n=v(t,r),i=d({},e.layoutAttributes);i._isSubplotObj=!0,n.set(i)}function A(t,e,r){var n=v(t,r);n.set(d(n.get()||{},e))}r.IS_SUBPLOT_OBJ="_isSubplotObj",r.IS_LINKED_TO_ARRAY="_isLinkedToArray",r.DEPRECATED="_deprecated",r.UNDERSCORE_ATTRS=x,r.get=function(){var t={};n.allTypes.concat("area").forEach((function(e){t[e]=function(t){var e,i;"area"===t?(e={attributes:u},i={}):(e=n.modules[t]._module,i=e.basePlotModule);var o={type:null},s=d({},a),l=d({},e.attributes);r.crawl(l,(function(t,e,r,n,i){v(s,i).set(void 0),void 0===t&&v(l,i).set(void 0)})),d(o,s),n.traceIs(t,"noOpacity")&&delete o.opacity;n.traceIs(t,"showLegend")||(delete o.showlegend,delete o.legendgroup);n.traceIs(t,"noHover")&&(delete o.hoverinfo,delete o.hoverlabel);e.selectPoints||delete o.selectedpoints;d(o,l),i.attributes&&d(o,i.attributes);o.type=t;var c={meta:e.meta||{},categories:e.categories||{},animatable:Boolean(e.animatable),type:t,attributes:k(o)};if(e.layoutAttributes){var f={};d(f,e.layoutAttributes),c.layoutAttributes=k(f)}e.animatable||r.crawl(c,(function(t){r.isValObject(t)&&"anim"in t&&delete t.anim}));return c}(e)}));var e={};return Object.keys(n.transformsRegistry).forEach((function(t){e[t]=function(t){var e=n.transformsRegistry[t],r=d({},e.attributes);return Object.keys(n.componentsRegistry).forEach((function(e){var i=n.componentsRegistry[e];i.schema&&i.schema.transforms&&i.schema.transforms[t]&&Object.keys(i.schema.transforms[t]).forEach((function(e){A(r,i.schema.transforms[t][e],e)}))})),{attributes:k(r)}}(t)})),{defs:{valObjects:y,metaKeys:x.concat(["description","role","editType","impliedEdits"]),editType:{traces:h.traces,layout:h.layout},impliedEdits:{}},traces:t,layout:w(),transforms:e,frames:T(),animation:k(l),config:k(c)}},r.crawl=function(t,e,n,i){var a=n||0;i=i||"",Object.keys(t).forEach((function(n){var o=t[n];if(-1===x.indexOf(n)){var s=(i?i+".":"")+n;e(o,n,t,a,s),r.isValObject(o)||g(o)&&"impliedEdits"!==n&&r.crawl(o,e,a+1,s)}}))},r.isValObject=function(t){return t&&void 0!==t.valType},r.findArrayAttributes=function(t){var e,n,i=[],o=[],s=[];function l(t,r,a,l){o=o.slice(0,l).concat([r]),s=s.slice(0,l).concat([t&&t._isLinkedToArray]),t&&("data_array"===t.valType||!0===t.arrayOk)&&!("colorbar"===o[l-1]&&("ticktext"===r||"tickvals"===r))&&function t(e,r,a){var l=e[o[r]],c=a+o[r];if(r===o.length-1)m(l)&&i.push(n+c);else if(s[r]){if(Array.isArray(l))for(var u=0;u<l.length;u++)g(l[u])&&t(l[u],r+1,c+"["+u+"].")}else g(l)&&t(l,r+1,c+".")}(e,0,"")}e=t,n="",r.crawl(a,l),t._module&&t._module.attributes&&r.crawl(t._module.attributes,l);var c=t.transforms;if(c)for(var u=0;u<c.length;u++){var f=c[u],h=f._module;h&&(n="transforms["+u+"].",e=f,r.crawl(h.attributes,l))}return i},r.getTraceValObject=function(t,e){var r,i,o=e[0],s=1;if("transforms"===o){if(1===e.length)return a.transforms;var l=t.transforms;if(!Array.isArray(l)||!l.length)return!1;var c=e[1];if(!_(c)||c>=l.length)return!1;i=(r=(n.transformsRegistry[l[c].type]||{}).attributes)&&r[e[2]],s=3}else if("area"===t.type)i=u[o];else{var f=t._module;if(f||(f=(n.modules[t.type||a.type.dflt]||{})._module),!f)return!1;if(!(i=(r=f.attributes)&&r[o])){var h=f.basePlotModule;h&&h.attributes&&(i=h.attributes[o])}i||(i=a[o])}return b(i,e,s)},r.getLayoutValObject=function(t,e){return b(function(t,e){var r,i,a,s,l=t._basePlotModules;if(l){var c;for(r=0;r<l.length;r++){if((a=l[r]).attrRegex&&a.attrRegex.test(e)){if(a.layoutAttrOverrides)return a.layoutAttrOverrides;!c&&a.layoutAttributes&&(c=a.layoutAttributes)}var u=a.baseLayoutAttrOverrides;if(u&&e in u)return u[e]}if(c)return c}var h=t._modules;if(h)for(r=0;r<h.length;r++)if((s=h[r].layoutAttributes)&&e in s)return s[e];for(i in n.componentsRegistry){if("colorscale"===(a=n.componentsRegistry[i]).name&&0===e.indexOf("coloraxis"))return a.layoutAttributes[e];if(!a.schema&&e===a.name)return a.layoutAttributes}if(e in o)return o[e];if("radialaxis"===e||"angularaxis"===e)return f[e];return f.layout[e]||!1}(t,e[0]),e,1)}},{"../lib":778,"../plots/animation_attributes":822,"../plots/attributes":824,"../plots/frame_attributes":857,"../plots/layout_attributes":882,"../plots/polar/legacy/area_attributes":897,"../plots/polar/legacy/axis_attributes":898,"../registry":911,"./edit_types":810,"./plot_config":815}],817:[function(t,e,r){"use strict";var n=t("../lib"),i=t("../plots/attributes"),a={name:{valType:"string",editType:"none"}};function o(t){return t&&"string"==typeof t}function s(t){var e=t.length-1;return"s"!==t.charAt(e)&&n.warn("bad argument to arrayDefaultKey: "+t),t.substr(0,t.length-1)+"defaults"}a.templateitemname={valType:"string",editType:"calc"},r.templatedArray=function(t,e){return e._isLinkedToArray=t,e.name=a.name,e.templateitemname=a.templateitemname,e},r.traceTemplater=function(t){var e,r,a={};for(e in t)r=t[e],Array.isArray(r)&&r.length&&(a[e]=0);return{newTrace:function(o){var s={type:e=n.coerce(o,{},i,"type"),_template:null};if(e in a){r=t[e];var l=a[e]%r.length;a[e]++,s._template=r[l]}return s}}},r.newContainer=function(t,e,r){var i=t._template,a=i&&(i[e]||r&&i[r]);return n.isPlainObject(a)||(a=null),t[e]={_template:a}},r.arrayTemplater=function(t,e,r){var n=t._template,i=n&&n[s(e)],a=n&&n[e];Array.isArray(a)&&a.length||(a=[]);var l={};return{newItem:function(t){var e={name:t.name,_input:t},n=e.templateitemname=t.templateitemname;if(!o(n))return e._template=i,e;for(var s=0;s<a.length;s++){var c=a[s];if(c.name===n)return l[n]=1,e._template=c,e}return e[r]=t[r]||!1,e._template=!1,e},defaultItems:function(){for(var t=[],e=0;e<a.length;e++){var r=a[e],n=r.name;if(o(n)&&!l[n]){var i={_template:r,name:n,_input:{_templateitemname:n}};i.templateitemname=r.templateitemname,t.push(i),l[n]=1}}return t}}},r.arrayDefaultKey=s,r.arrayEditor=function(t,e,r){var i=(n.nestedProperty(t,e).get()||[]).length,a=r._index,o=a>=i&&(r._input||{})._templateitemname;o&&(a=i);var s,l=e+"["+a+"]";function c(){s={},o&&(s[l]={},s[l].templateitemname=o)}function u(t,e){o?n.nestedProperty(s[l],t).set(e):s[l+"."+t]=e}function f(){var t=s;return c(),t}return c(),{modifyBase:function(t,e){s[t]=e},modifyItem:u,getUpdateObj:f,applyUpdate:function(e,r){e&&u(e,r);var i=f();for(var a in i)n.nestedProperty(t,a).set(i[a])}}}},{"../lib":778,"../plots/attributes":824}],818:[function(t,e,r){"use strict";var n=t("d3"),i=t("../registry"),a=t("../plots/plots"),o=t("../lib"),s=t("../lib/clear_gl_canvases"),l=t("../components/color"),c=t("../components/drawing"),u=t("../components/titles"),f=t("../components/modebar"),h=t("../plots/cartesian/axes"),p=t("../constants/alignment"),d=t("../plots/cartesian/constraints"),g=d.enforce,m=d.clean,v=t("../plots/cartesian/autorange").doAutoRange;function y(t,e,r){for(var n=0;n<r.length;n++){var i=r[n][0],a=r[n][1];if(!(i[0]>=t[1]||i[1]<=t[0])&&(a[0]<e[1]&&a[1]>e[0]))return!0}return!1}function x(t){var e,i,s,u,d,g,m=t._fullLayout,v=m._size,x=v.p,_=h.list(t,"",!0);if(m._paperdiv.style({width:t._context.responsive&&m.autosize&&!t._context._hasZeroWidth&&!t.layout.width?"100%":m.width+"px",height:t._context.responsive&&m.autosize&&!t._context._hasZeroHeight&&!t.layout.height?"100%":m.height+"px"}).selectAll(".main-svg").call(c.setSize,m.width,m.height),t._context.setBackground(t,m.paper_bgcolor),r.drawMainTitle(t),f.manage(t),!m._has("cartesian"))return a.previousPromises(t);function T(t,e,r){var n=t._lw/2;return"x"===t._id.charAt(0)?e?"top"===r?e._offset-x-n:e._offset+e._length+x+n:v.t+v.h*(1-(t.position||0))+n%1:e?"right"===r?e._offset+e._length+x+n:e._offset-x-n:v.l+v.w*(t.position||0)+n%1}for(e=0;e<_.length;e++){var k=(u=_[e])._anchorAxis;u._linepositions={},u._lw=c.crispRound(t,u.linewidth,1),u._mainLinePosition=T(u,k,u.side),u._mainMirrorPosition=u.mirror&&k?T(u,k,p.OPPOSITE_SIDE[u.side]):null}var M=[],A=[],S=[],E=1===l.opacity(m.paper_bgcolor)&&1===l.opacity(m.plot_bgcolor)&&m.paper_bgcolor===m.plot_bgcolor;for(i in m._plots)if((s=m._plots[i]).mainplot)s.bg&&s.bg.remove(),s.bg=void 0;else{var C=s.xaxis.domain,L=s.yaxis.domain,I=s.plotgroup;if(y(C,L,S)){var P=I.node(),z=s.bg=o.ensureSingle(I,"rect","bg");P.insertBefore(z.node(),P.childNodes[0]),A.push(i)}else I.select("rect.bg").remove(),S.push([C,L]),E||(M.push(i),A.push(i))}var O,D,R,F,B,N,j,U,V,q,H,G,Y,W=m._bgLayer.selectAll(".bg").data(M);for(W.enter().append("rect").classed("bg",!0),W.exit().remove(),W.each((function(t){m._plots[t].bg=n.select(this)})),e=0;e<A.length;e++)s=m._plots[A[e]],d=s.xaxis,g=s.yaxis,s.bg&&void 0!==d._offset&&void 0!==g._offset&&s.bg.call(c.setRect,d._offset-x,g._offset-x,d._length+2*x,g._length+2*x).call(l.fill,m.plot_bgcolor).style("stroke-width",0);if(!m._hasOnlyLargeSploms)for(i in m._plots){s=m._plots[i],d=s.xaxis,g=s.yaxis;var X,Z,J=s.clipId="clip"+m._uid+i+"plot",K=o.ensureSingleById(m._clips,"clipPath",J,(function(t){t.classed("plotclip",!0).append("rect")}));s.clipRect=K.select("rect").attr({width:d._length,height:g._length}),c.setTranslate(s.plot,d._offset,g._offset),s._hasClipOnAxisFalse?(X=null,Z=J):(X=J,Z=null),c.setClipUrl(s.plot,X,t),s.layerClipId=Z}function Q(t){return"M"+O+","+t+"H"+D}function $(t){return"M"+d._offset+","+t+"h"+d._length}function tt(t){return"M"+t+","+U+"V"+j}function et(t){return"M"+t+","+g._offset+"v"+g._length}function rt(t,e,r){if(!t.showline||i!==t._mainSubplot)return"";if(!t._anchorAxis)return r(t._mainLinePosition);var n=e(t._mainLinePosition);return t.mirror&&(n+=e(t._mainMirrorPosition)),n}for(i in m._plots){s=m._plots[i],d=s.xaxis,g=s.yaxis;var nt="M0,0";b(d,i)&&(B=w(d,"left",g,_),O=d._offset-(B?x+B:0),N=w(d,"right",g,_),D=d._offset+d._length+(N?x+N:0),R=T(d,g,"bottom"),F=T(d,g,"top"),!(Y=!d._anchorAxis||i!==d._mainSubplot)||"allticks"!==d.mirror&&"all"!==d.mirror||(d._linepositions[i]=[R,F]),nt=rt(d,Q,$),Y&&d.showline&&("all"===d.mirror||"allticks"===d.mirror)&&(nt+=Q(R)+Q(F)),s.xlines.style("stroke-width",d._lw+"px").call(l.stroke,d.showline?d.linecolor:"rgba(0,0,0,0)")),s.xlines.attr("d",nt);var it="M0,0";b(g,i)&&(H=w(g,"bottom",d,_),j=g._offset+g._length+(H?x:0),G=w(g,"top",d,_),U=g._offset-(G?x:0),V=T(g,d,"left"),q=T(g,d,"right"),!(Y=!g._anchorAxis||i!==g._mainSubplot)||"allticks"!==g.mirror&&"all"!==g.mirror||(g._linepositions[i]=[V,q]),it=rt(g,tt,et),Y&&g.showline&&("all"===g.mirror||"allticks"===g.mirror)&&(it+=tt(V)+tt(q)),s.ylines.style("stroke-width",g._lw+"px").call(l.stroke,g.showline?g.linecolor:"rgba(0,0,0,0)")),s.ylines.attr("d",it)}return h.makeClipPaths(t),a.previousPromises(t)}function b(t,e){return(t.ticks||t.showline)&&(e===t._mainSubplot||"all"===t.mirror||"allticks"===t.mirror)}function _(t,e,r){if(!r.showline||!r._lw)return!1;if("all"===r.mirror||"allticks"===r.mirror)return!0;var n=r._anchorAxis;if(!n)return!1;var i=p.FROM_BL[e];return r.side===e?n.domain[i]===t.domain[i]:r.mirror&&n.domain[1-i]===t.domain[1-i]}function w(t,e,r,n){if(_(t,e,r))return r._lw;for(var i=0;i<n.length;i++){var a=n[i];if(a._mainAxis===r._mainAxis&&_(t,e,a))return a._lw}return 0}function T(t,e){var r=t.title,n=t._size,i=0;switch("start"===e?i=r.pad.l:"end"===e&&(i=-r.pad.r),r.xref){case"paper":return n.l+n.w*r.x+i;case"container":default:return t.width*r.x+i}}function k(t,e){var r=t.title,n=t._size,i=0;if("0em"!==e&&e?e===p.CAP_SHIFT+"em"&&(i=r.pad.t):i=-r.pad.b,"auto"===r.y)return n.t/2;switch(r.yref){case"paper":return n.t+n.h-n.h*r.y+i;case"container":default:return t.height-t.height*r.y+i}}r.layoutStyles=function(t){return o.syncOrAsync([a.doAutoMargin,x],t)},r.drawMainTitle=function(t){var e=t._fullLayout,r=function(t){var e=t.title,r="middle";o.isRightAnchor(e)?r="end":o.isLeftAnchor(e)&&(r="start");return r}(e),n=function(t){var e=t.title,r="0em";o.isTopAnchor(e)?r=p.CAP_SHIFT+"em":o.isMiddleAnchor(e)&&(r=p.MID_SHIFT+"em");return r}(e);u.draw(t,"gtitle",{propContainer:e,propName:"title.text",placeholder:e._dfltTitle.plot,attributes:{x:T(e,r),y:k(e,n),"text-anchor":r,dy:n}})},r.doTraceStyle=function(t){var e,n=t.calcdata,o=[];for(e=0;e<n.length;e++){var l=n[e],c=l[0]||{},u=c.trace||{},f=u._module||{},h=f.arraysToCalcdata;h&&h(l,u);var p=f.editStyle;p&&o.push({fn:p,cd0:c})}if(o.length){for(e=0;e<o.length;e++){var d=o[e];d.fn(t,d.cd0)}s(t),r.redrawReglTraces(t)}return a.style(t),i.getComponentMethod("legend","draw")(t),a.previousPromises(t)},r.doColorBars=function(t){return i.getComponentMethod("colorbar","draw")(t),a.previousPromises(t)},r.layoutReplot=function(t){var e=t.layout;return t.layout=void 0,i.call("plot",t,"",e)},r.doLegend=function(t){return i.getComponentMethod("legend","draw")(t),a.previousPromises(t)},r.doTicksRelayout=function(t){return h.draw(t,"redraw"),t._fullLayout._hasOnlyLargeSploms&&(i.subplotsRegistry.splom.updateGrid(t),s(t),r.redrawReglTraces(t)),r.drawMainTitle(t),a.previousPromises(t)},r.doModeBar=function(t){var e=t._fullLayout;f.manage(t);for(var r=0;r<e._basePlotModules.length;r++){var n=e._basePlotModules[r].updateFx;n&&n(t)}return a.previousPromises(t)},r.doCamera=function(t){for(var e=t._fullLayout,r=e._subplots.gl3d,n=0;n<r.length;n++){var i=e[r[n]];i._scene.setViewport(i)}},r.drawData=function(t){var e=t._fullLayout;s(t);for(var n=e._basePlotModules,o=0;o<n.length;o++)n[o].plot(t);return r.redrawReglTraces(t),a.style(t),i.getComponentMethod("shapes","draw")(t),i.getComponentMethod("annotations","draw")(t),i.getComponentMethod("images","draw")(t),e._replotting=!1,a.previousPromises(t)},r.redrawReglTraces=function(t){var e=t._fullLayout;if(e._has("regl")){var r,n,i=t._fullData,a=[],s=[];for(e._hasOnlyLargeSploms&&e._splomGrid.draw(),r=0;r<i.length;r++){var l=i[r];!0===l.visible&&0!==l._length&&("splom"===l.type?e._splomScenes[l.uid].draw():"scattergl"===l.type?o.pushUnique(a,l.xaxis+l.yaxis):"scatterpolargl"===l.type&&o.pushUnique(s,l.subplot))}for(r=0;r<a.length;r++)(n=e._plots[a[r]])._scene&&n._scene.draw();for(r=0;r<s.length;r++)(n=e[s[r]]._subplot)._scene&&n._scene.draw()}},r.doAutoRangeAndConstraints=function(t){for(var e,r=h.list(t,"",!0),n={},i=0;i<r.length;i++)if(!n[(e=r[i])._id]){n[e._id]=1,m(t,e),v(t,e);var a=e._matchGroup;if(a)for(var o in a){var s=h.getFromId(t,o);v(t,s,e.range),n[o]=1}}g(t)},r.finalDraw=function(t){i.getComponentMethod("rangeslider","draw")(t),i.getComponentMethod("rangeselector","draw")(t)},r.drawMarginPushers=function(t){i.getComponentMethod("legend","draw")(t),i.getComponentMethod("rangeselector","draw")(t),i.getComponentMethod("sliders","draw")(t),i.getComponentMethod("updatemenus","draw")(t),i.getComponentMethod("colorbar","draw")(t)}},{"../components/color":643,"../components/drawing":665,"../components/modebar":703,"../components/titles":738,"../constants/alignment":745,"../lib":778,"../lib/clear_gl_canvases":762,"../plots/cartesian/autorange":827,"../plots/cartesian/axes":828,"../plots/cartesian/constraints":835,"../plots/plots":891,"../registry":911,d3:169}],819:[function(t,e,r){"use strict";var n=t("../lib"),i=n.isPlainObject,a=t("./plot_schema"),o=t("../plots/plots"),s=t("../plots/attributes"),l=t("./plot_template"),c=t("./plot_config").dfltConfig;function u(t,e){t=n.extendDeep({},t);var r,a,o=Object.keys(t).sort();function s(e,r,n){if(i(r)&&i(e))u(e,r);else if(Array.isArray(r)&&Array.isArray(e)){var o=l.arrayTemplater({_template:t},n);for(a=0;a<r.length;a++){var s=r[a],c=o.newItem(s)._template;c&&u(c,s)}var f=o.defaultItems();for(a=0;a<f.length;a++)r.push(f[a]._template);for(a=0;a<r.length;a++)delete r[a].templateitemname}}for(r=0;r<o.length;r++){var c=o[r],h=t[c];if(c in e?s(h,e[c],c):e[c]=h,f(c)===c)for(var p in e){var d=f(p);p===d||d!==c||p in t||s(h,e[p],c)}}}function f(t){return t.replace(/[0-9]+$/,"")}function h(t,e,r,a,o){var s=o&&r(o);for(var c in t){var u=t[c],p=g(t,c,a),d=g(t,c,o),m=r(d);if(!m){var v=f(c);v!==c&&(m=r(d=g(t,v,o)))}if((!s||s!==m)&&!(!m||m._noTemplating||"data_array"===m.valType||m.arrayOk&&Array.isArray(u)))if(!m.valType&&i(u))h(u,e,r,p,d);else if(m._isLinkedToArray&&Array.isArray(u))for(var y=!1,x=0,b={},_=0;_<u.length;_++){var w=u[_];if(i(w)){var T=w.name;if(T)b[T]||(h(w,e,r,g(u,x,p),g(u,x,d)),x++,b[T]=1);else if(!y){var k=g(t,l.arrayDefaultKey(c),a),M=g(u,x,p);h(w,e,r,M,g(u,x,d));var A=n.nestedProperty(e,M);n.nestedProperty(e,k).set(A.get()),A.set(null),y=!0}}}else{n.nestedProperty(e,p).set(u)}}}function p(t,e){return a.getLayoutValObject(t,n.nestedProperty({},e).parts)}function d(t,e){return a.getTraceValObject(t,n.nestedProperty({},e).parts)}function g(t,e,r){return r?Array.isArray(t)?r+"["+e+"]":r+"."+e:e}function m(t){for(var e=0;e<t.length;e++)if(i(t[e]))return!0}function v(t){var e;switch(t.code){case"data":e="The template has no key data.";break;case"layout":e="The template has no key layout.";break;case"missing":e=t.path?"There are no templates for item "+t.path+" with name "+t.templateitemname:"There are no templates for trace "+t.index+", of type "+t.traceType+".";break;case"unused":e=t.path?"The template item at "+t.path+" was not used in constructing the plot.":t.dataCount?"Some of the templates of type "+t.traceType+" were not used. The template has "+t.templateCount+" traces, the data only has "+t.dataCount+" of this type.":"The template has "+t.templateCount+" traces of type "+t.traceType+" but there are none in the data.";break;case"reused":e="Some of the templates of type "+t.traceType+" were used more than once. The template has "+t.templateCount+" traces, the data has "+t.dataCount+" of this type."}return t.msg=e,t}r.makeTemplate=function(t){t=n.isPlainObject(t)?t:n.getGraphDiv(t),t=n.extendDeep({_context:c},{data:t.data,layout:t.layout}),o.supplyDefaults(t);var e=t.data||[],r=t.layout||{};r._basePlotModules=t._fullLayout._basePlotModules,r._modules=t._fullLayout._modules;var a={data:{},layout:{}};e.forEach((function(t){var e={};h(t,e,d.bind(null,t));var r=n.coerce(t,{},s,"type"),i=a.data[r];i||(i=a.data[r]=[]),i.push(e)})),h(r,a.layout,p.bind(null,r)),delete a.layout.template;var l=r.template;if(i(l)){var f,g,m,v,y,x,b=l.layout;i(b)&&u(b,a.layout);var _=l.data;if(i(_)){for(g in a.data)if(m=_[g],Array.isArray(m)){for(x=(y=a.data[g]).length,v=m.length,f=0;f<x;f++)u(m[f%v],y[f]);for(f=x;f<v;f++)y.push(n.extendDeep({},m[f]))}for(g in _)g in a.data||(a.data[g]=n.extendDeep([],_[g]))}}return a},r.validateTemplate=function(t,e){var r=n.extendDeep({},{_context:c,data:t.data,layout:t.layout}),a=r.layout||{};i(e)||(e=a.template||{});var s=e.layout,l=e.data,u=[];r.layout=a,r.layout.template=e,o.supplyDefaults(r);var h=r._fullLayout,p=r._fullData,d={};if(i(s)?(!function t(e,r){for(var n in e)if("_"!==n.charAt(0)&&i(e[n])){var a,o=f(n),s=[];for(a=0;a<r.length;a++)s.push(g(e,n,r[a])),o!==n&&s.push(g(e,o,r[a]));for(a=0;a<s.length;a++)d[s[a]]=1;t(e[n],s)}}(h,["layout"]),function t(e,r){for(var n in e)if(-1===n.indexOf("defaults")&&i(e[n])){var a=g(e,n,r);d[a]?t(e[n],a):u.push({code:"unused",path:a})}}(s,"layout")):u.push({code:"layout"}),i(l)){for(var y,x={},b=0;b<p.length;b++){var _=p[b];x[y=_.type]=(x[y]||0)+1,_._fullInput._template||u.push({code:"missing",index:_._fullInput.index,traceType:y})}for(y in l){var w=l[y].length,T=x[y]||0;w>T?u.push({code:"unused",traceType:y,templateCount:w,dataCount:T}):T>w&&u.push({code:"reused",traceType:y,templateCount:w,dataCount:T})}}else u.push({code:"data"});if(function t(e,r){for(var n in e)if("_"!==n.charAt(0)){var a=e[n],o=g(e,n,r);i(a)?(Array.isArray(e)&&!1===a._template&&a.templateitemname&&u.push({code:"missing",path:o,templateitemname:a.templateitemname}),t(a,o)):Array.isArray(a)&&m(a)&&t(a,o)}}({data:p,layout:h},""),u.length)return u.map(v)}},{"../lib":778,"../plots/attributes":824,"../plots/plots":891,"./plot_config":815,"./plot_schema":816,"./plot_template":817}],820:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("./plot_api"),a=t("../plots/plots"),o=t("../lib"),s=t("../snapshot/helpers"),l=t("../snapshot/tosvg"),c=t("../snapshot/svgtoimg"),u=t("../version").version,f={format:{valType:"enumerated",values:["png","jpeg","webp","svg","full-json"],dflt:"png"},width:{valType:"number",min:1},height:{valType:"number",min:1},scale:{valType:"number",min:0,dflt:1},setBackground:{valType:"any",dflt:!1},imageDataOnly:{valType:"boolean",dflt:!1}};e.exports=function(t,e){var r,h,p,d;function g(t){return!(t in e)||o.validate(e[t],f[t])}if(e=e||{},o.isPlainObject(t)?(r=t.data||[],h=t.layout||{},p=t.config||{},d={}):(t=o.getGraphDiv(t),r=o.extendDeep([],t.data),h=o.extendDeep({},t.layout),p=t._context,d=t._fullLayout||{}),!g("width")&&null!==e.width||!g("height")&&null!==e.height)throw new Error("Height and width should be pixel values.");if(!g("format"))throw new Error("Export format is not "+o.join2(f.format.values,", "," or ")+".");var m={};function v(t,r){return o.coerce(e,m,f,t,r)}var y=v("format"),x=v("width"),b=v("height"),_=v("scale"),w=v("setBackground"),T=v("imageDataOnly"),k=document.createElement("div");k.style.position="absolute",k.style.left="-5000px",document.body.appendChild(k);var M=o.extendFlat({},h);x?M.width=x:null===e.width&&n(d.width)&&(M.width=d.width),b?M.height=b:null===e.height&&n(d.height)&&(M.height=d.height);var A=o.extendFlat({},p,{_exportedPlot:!0,staticPlot:!0,setBackground:w}),S=s.getRedrawFunc(k);function E(){return new Promise((function(t){setTimeout(t,s.getDelay(k._fullLayout))}))}function C(){return new Promise((function(t,e){var r=l(k,y,_),n=k._fullLayout.width,f=k._fullLayout.height;function h(){i.purge(k),document.body.removeChild(k)}if("full-json"===y){var p=a.graphJson(k,!1,"keepdata","object",!0,!0);return p.version=u,p=JSON.stringify(p),h(),t(T?p:s.encodeJSON(p))}if(h(),"svg"===y)return t(T?r:s.encodeSVG(r));var d=document.createElement("canvas");d.id=o.randstr(),c({format:y,width:n,height:f,scale:_,canvas:d,svg:r,promise:!0}).then(t).catch(e)}))}return new Promise((function(t,e){i.plot(k,r,M,A).then(S).then(E).then(C).then((function(e){t(function(t){return T?t.replace(s.IMAGE_URL_PREFIX,""):t}(e))})).catch((function(t){e(t)}))}))}},{"../lib":778,"../plots/plots":891,"../snapshot/helpers":915,"../snapshot/svgtoimg":917,"../snapshot/tosvg":919,"../version":1370,"./plot_api":814,"fast-isnumeric":241}],821:[function(t,e,r){"use strict";var n=t("../lib"),i=t("../plots/plots"),a=t("./plot_schema"),o=t("./plot_config").dfltConfig,s=n.isPlainObject,l=Array.isArray,c=n.isArrayOrTypedArray;function u(t,e,r,i,a,o){o=o||[];for(var f=Object.keys(t),h=0;h<f.length;h++){var p=f[h];if("transforms"!==p){var v=o.slice();v.push(p);var y=t[p],x=e[p],b=m(r,p),_=(b||{}).valType,w="info_array"===_,T="colorscale"===_,k=(b||{}).items;if(g(r,p))if(s(y)&&s(x)&&"any"!==_)u(y,x,b,i,a,v);else if(w&&l(y)){y.length>x.length&&i.push(d("unused",a,v.concat(x.length)));var M,A,S,E,C,L=x.length,I=Array.isArray(k);if(I&&(L=Math.min(L,k.length)),2===b.dimensions)for(A=0;A<L;A++)if(l(y[A])){y[A].length>x[A].length&&i.push(d("unused",a,v.concat(A,x[A].length)));var P=x[A].length;for(M=0;M<(I?Math.min(P,k[A].length):P);M++)S=I?k[A][M]:k,E=y[A][M],C=x[A][M],n.validate(E,S)?C!==E&&C!==+E&&i.push(d("dynamic",a,v.concat(A,M),E,C)):i.push(d("value",a,v.concat(A,M),E))}else i.push(d("array",a,v.concat(A),y[A]));else for(A=0;A<L;A++)S=I?k[A]:k,E=y[A],C=x[A],n.validate(E,S)?C!==E&&C!==+E&&i.push(d("dynamic",a,v.concat(A),E,C)):i.push(d("value",a,v.concat(A),E))}else if(b.items&&!w&&l(y)){var z,O,D=k[Object.keys(k)[0]],R=[];for(z=0;z<x.length;z++){var F=x[z]._index||z;if((O=v.slice()).push(F),s(y[F])&&s(x[z])){R.push(F);var B=y[F],N=x[z];s(B)&&!1!==B.visible&&!1===N.visible?i.push(d("invisible",a,O)):u(B,N,D,i,a,O)}}for(z=0;z<y.length;z++)(O=v.slice()).push(z),s(y[z])?-1===R.indexOf(z)&&i.push(d("unused",a,O)):i.push(d("object",a,O,y[z]))}else!s(y)&&s(x)?i.push(d("object",a,v,y)):c(y)||!c(x)||w||T?p in e?n.validate(y,b)?"enumerated"===b.valType&&(b.coerceNumber&&y!==+x||y!==x)&&i.push(d("dynamic",a,v,y,x)):i.push(d("value",a,v,y)):i.push(d("unused",a,v,y)):i.push(d("array",a,v,y));else i.push(d("schema",a,v))}}return i}function f(t,e){for(var r=t.layout.layoutAttributes,i=0;i<e.length;i++){var a=e[i],o=t.traces[a.type],s=o.layoutAttributes;s&&(a.subplot?n.extendFlat(r[o.attributes.subplot.dflt],s):n.extendFlat(r,s))}return r}e.exports=function(t,e){void 0===t&&(t=[]),void 0===e&&(e={});var r,c,h=a.get(),p=[],g={_context:n.extendFlat({},o)};l(t)?(g.data=n.extendDeep([],t),r=t):(g.data=[],r=[],p.push(d("array","data"))),s(e)?(g.layout=n.extendDeep({},e),c=e):(g.layout={},c={},arguments.length>1&&p.push(d("object","layout"))),i.supplyDefaults(g);for(var m=g._fullData,v=r.length,y=0;y<v;y++){var x=r[y],b=["data",y];if(s(x)){var _=m[y],w=_.type,T=h.traces[w].attributes;T.type={valType:"enumerated",values:[w]},!1===_.visible&&!1!==x.visible&&p.push(d("invisible",b)),u(x,_,T,p,b);var k=x.transforms,M=_.transforms;if(k){l(k)||p.push(d("array",b,["transforms"])),b.push("transforms");for(var A=0;A<k.length;A++){var S=["transforms",A],E=k[A].type;if(s(k[A])){var C=h.transforms[E]?h.transforms[E].attributes:{};C.type={valType:"enumerated",values:Object.keys(h.transforms)},u(k[A],M[A],C,p,b,S)}else p.push(d("object",b,S))}}}else p.push(d("object",b))}var L=g._fullLayout,I=f(h,m);return u(c,L,I,p,"layout"),0===p.length?void 0:p};var h={object:function(t,e){return("layout"===t&&""===e?"The layout argument":"data"===t[0]&&""===e?"Trace "+t[1]+" in the data argument":p(t)+"key "+e)+" must be linked to an object container"},array:function(t,e){return("data"===t?"The data argument":p(t)+"key "+e)+" must be linked to an array container"},schema:function(t,e){return p(t)+"key "+e+" is not part of the schema"},unused:function(t,e,r){var n=s(r)?"container":"key";return p(t)+n+" "+e+" did not get coerced"},dynamic:function(t,e,r,n){return[p(t)+"key",e,"(set to '"+r+"')","got reset to","'"+n+"'","during defaults."].join(" ")},invisible:function(t,e){return(e?p(t)+"item "+e:"Trace "+t[1])+" got defaulted to be not visible"},value:function(t,e,r){return[p(t)+"key "+e,"is set to an invalid value ("+r+")"].join(" ")}};function p(t){return l(t)?"In data trace "+t[1]+", ":"In "+t+", "}function d(t,e,r,i,a){var o,s;r=r||"",l(e)?(o=e[0],s=e[1]):(o=e,s=null);var c=function(t){if(!l(t))return String(t);for(var e="",r=0;r<t.length;r++){var n=t[r];"number"==typeof n?e=e.substr(0,e.length-1)+"["+n+"]":e+=n,r<t.length-1&&(e+=".")}return e}(r),u=h[t](e,c,i,a);return n.log(u),{code:t,container:o,trace:s,path:r,astr:c,msg:u}}function g(t,e){var r=y(e),n=r.keyMinusId,i=r.id;return!!(n in t&&t[n]._isSubplotObj&&i)||e in t}function m(t,e){return e in t?t[e]:t[y(e).keyMinusId]}var v=n.counterRegex("([a-z]+)");function y(t){var e=t.match(v);return{keyMinusId:e&&e[1],id:e&&e[2]}}},{"../lib":778,"../plots/plots":891,"./plot_config":815,"./plot_schema":816}],822:[function(t,e,r){"use strict";e.exports={mode:{valType:"enumerated",dflt:"afterall",values:["immediate","next","afterall"]},direction:{valType:"enumerated",values:["forward","reverse"],dflt:"forward"},fromcurrent:{valType:"boolean",dflt:!1},frame:{duration:{valType:"number",min:0,dflt:500},redraw:{valType:"boolean",dflt:!0}},transition:{duration:{valType:"number",min:0,dflt:500,editType:"none"},easing:{valType:"enumerated",dflt:"cubic-in-out",values:["linear","quad","cubic","sin","exp","circle","elastic","back","bounce","linear-in","quad-in","cubic-in","sin-in","exp-in","circle-in","elastic-in","back-in","bounce-in","linear-out","quad-out","cubic-out","sin-out","exp-out","circle-out","elastic-out","back-out","bounce-out","linear-in-out","quad-in-out","cubic-in-out","sin-in-out","exp-in-out","circle-in-out","elastic-in-out","back-in-out","bounce-in-out"],editType:"none"},ordering:{valType:"enumerated",values:["layout first","traces first"],dflt:"layout first",editType:"none"}}}},{}],823:[function(t,e,r){"use strict";var n=t("../lib"),i=t("../plot_api/plot_template");e.exports=function(t,e,r){var a,o,s=r.name,l=r.inclusionAttr||"visible",c=e[s],u=n.isArrayOrTypedArray(t[s])?t[s]:[],f=e[s]=[],h=i.arrayTemplater(e,s,l);for(a=0;a<u.length;a++){var p=u[a];n.isPlainObject(p)?o=h.newItem(p):(o=h.newItem({}))[l]=!1,o._index=a,!1!==o[l]&&r.handleItemDefaults(p,o,e,r),f.push(o)}var d=h.defaultItems();for(a=0;a<d.length;a++)(o=d[a])._index=f.length,r.handleItemDefaults({},o,e,r,{}),f.push(o);if(n.isArrayOrTypedArray(c)){var g=Math.min(c.length,f.length);for(a=0;a<g;a++)n.relinkPrivateKeys(f[a],c[a])}return f}},{"../lib":778,"../plot_api/plot_template":817}],824:[function(t,e,r){"use strict";var n=t("../components/fx/attributes");e.exports={type:{valType:"enumerated",values:[],dflt:"scatter",editType:"calc+clearAxisTypes",_noTemplating:!0},visible:{valType:"enumerated",values:[!0,!1,"legendonly"],dflt:!0,editType:"calc"},showlegend:{valType:"boolean",dflt:!0,editType:"style"},legendgroup:{valType:"string",dflt:"",editType:"style"},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"style"},name:{valType:"string",editType:"style"},uid:{valType:"string",editType:"plot",anim:!0},ids:{valType:"data_array",editType:"calc",anim:!0},customdata:{valType:"data_array",editType:"calc"},meta:{valType:"any",arrayOk:!0,editType:"plot"},selectedpoints:{valType:"any",editType:"calc"},hoverinfo:{valType:"flaglist",flags:["x","y","z","text","name"],extras:["all","none","skip"],arrayOk:!0,dflt:"all",editType:"none"},hoverlabel:n.hoverlabel,stream:{token:{valType:"string",noBlank:!0,strict:!0,editType:"calc"},maxpoints:{valType:"number",min:0,max:1e4,dflt:500,editType:"calc"},editType:"calc"},transforms:{_isLinkedToArray:"transform",editType:"calc"},uirevision:{valType:"any",editType:"none"}}},{"../components/fx/attributes":674}],825:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../lib"),a=i.dateTime2ms,o=i.incrementMonth,s=t("../../constants/numerical").ONEAVGMONTH;e.exports=function(t,e,r,i){if("date"!==e.type)return i;var l=t[r+"periodalignment"];if(!l)return i;var c,u=t[r+"period"];if(n(u)){if((u=+u)<=0)return i}else if("string"==typeof u&&"M"===u.charAt(0)){var f=+u.substring(1);if(!(f>0&&Math.round(f)===f))return i;c=f}for(var h=e.calendar,p="start"===l,d="end"===l,g=t[r+"period0"],m=a(g,h)||0,v=[],y=i.length,x=0;x<y;x++){var b,_,w,T=i[x];if(c){for(b=Math.round((T-m)/(c*s)),w=o(m,c*b,h);w>T;)w=o(w,-c,h);for(;w<=T;)w=o(w,c,h);_=o(w,-c,h)}else{for(w=m+(b=Math.round((T-m)/u))*u;w>T;)w-=u;for(;w<=T;)w+=u;_=w-u}v[x]=p?_:d?w:(_+w)/2}return v}},{"../../constants/numerical":753,"../../lib":778,"fast-isnumeric":241}],826:[function(t,e,r){"use strict";e.exports={xaxis:{valType:"subplotid",dflt:"x",editType:"calc+clearAxisTypes"},yaxis:{valType:"subplotid",dflt:"y",editType:"calc+clearAxisTypes"}}},{}],827:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../lib"),a=t("../../constants/numerical").FP_SAFE,o=t("../../registry"),s=t("./axis_ids"),l=s.getFromId,c=s.isLinked;function u(t,e){var r,n,a=[],o=t._fullLayout,s=h(o,e,0),l=h(o,e,1),c=p(t,e),u=c.min,d=c.max;if(0===u.length||0===d.length)return i.simpleMap(e.range,e.r2l);var g=u[0].val,m=d[0].val;for(r=1;r<u.length&&g===m;r++)g=Math.min(g,u[r].val);for(r=1;r<d.length&&g===m;r++)m=Math.max(m,d[r].val);var v=!1;if(e.range){var y=i.simpleMap(e.range,e.r2l);v=y[1]<y[0]}"reversed"===e.autorange&&(v=!0,e.autorange=!0);var x,b,_,w,T,k,M=e.rangemode,A="tozero"===M,S="nonnegative"===M,E=e._length,C=E/10,L=0;for(r=0;r<u.length;r++)for(x=u[r],n=0;n<d.length;n++)(k=(b=d[n]).val-x.val-f(e,x.val,b.val))>0&&((T=E-s(x)-l(b))>C?k/T>L&&(_=x,w=b,L=k/T):k/E>L&&(_={val:x.val,nopad:1},w={val:b.val,nopad:1},L=k/E));if(g===m){var I=g-1,P=g+1;if(A)if(0===g)a=[0,1];else{var z=(g>0?d:u).reduce((function(t,e){return Math.max(t,l(e))}),0),O=g/(1-Math.min(.5,z/E));a=g>0?[0,O]:[O,0]}else a=S?[Math.max(0,I),Math.max(1,P)]:[I,P]}else A?(_.val>=0&&(_={val:0,nopad:1}),w.val<=0&&(w={val:0,nopad:1})):S&&(_.val-L*s(_)<0&&(_={val:0,nopad:1}),w.val<=0&&(w={val:1,nopad:1})),L=(w.val-_.val-f(e,x.val,b.val))/(E-s(_)-l(w)),a=[_.val-L*s(_),w.val+L*l(w)];return v&&a.reverse(),i.simpleMap(a,e.l2r||Number)}function f(t,e,r){var n=0;if(t.rangebreaks)for(var i=t.locateBreaks(e,r),a=0;a<i.length;a++){var o=i[a];n+=o.max-o.min}return n}function h(t,e,r){var n=.05*e._length,a=e._anchorAxis||{};if(-1!==(e.ticklabelposition||"").indexOf("inside")||-1!==(a.ticklabelposition||"").indexOf("inside")){var o="reversed"===e.autorange;if(!o){var s=i.simpleMap(e.range,e.r2l);o=s[1]<s[0]}o&&(r=!r)}var l=0;return c(t,e._id)||(l=function(t,e){var r=0,n=t._anchorAxis||{};if(-1!==(n.ticklabelposition||"").indexOf("inside")&&(!e&&("left"===n.side||"bottom"===n.side)||e&&("top"===n.side||"right"===n.side))){var a="x"===t._id.charAt(0);if(n._vals){var o=i.deg2rad(n._tickAngles[n._id+"tick"]||0),s=Math.abs(Math.cos(o)),l=Math.abs(Math.sin(o));n._vals.forEach((function(t){if(t.bb){var e=6+t.bb.width,n=6+t.bb.height;r=Math.max(r,a?Math.max(e*s,n*l):Math.max(n*s,e*l))}}))}"inside"===n.ticks&&"inside"===n.ticklabelposition&&(r+=n.ticklen||0)}return r}(e,r)),n=Math.max(l,n),"domain"===e.constrain&&e._inputDomain&&(n*=(e._inputDomain[1]-e._inputDomain[0])/(e.domain[1]-e.domain[0])),function(t){return t.nopad?0:t.pad+(t.extrapad?n:l)}}e.exports={getAutoRange:u,makePadFn:h,doAutoRange:function(t,e,r){if(e.setScale(),e.autorange){e.range=r?r.slice():u(t,e),e._r=e.range.slice(),e._rl=i.simpleMap(e._r,e.r2l);var n=e._input,a={};a[e._attr+".range"]=e.range,a[e._attr+".autorange"]=e.autorange,o.call("_storeDirectGUIEdit",t.layout,t._fullLayout._preGUI,a),n.range=e.range.slice(),n.autorange=e.autorange}var s=e._anchorAxis;if(s&&s.rangeslider){var l=s.rangeslider[e._name];l&&"auto"===l.rangemode&&(l.range=u(t,e)),s._input.rangeslider[e._name]=i.extendFlat({},l)}},findExtremes:function(t,e,r){r||(r={});t._m||t.setScale();var i,o,s,l,c,u,f,h,p,m=[],y=[],x=e.length,b=r.padded||!1,_=r.tozero&&("linear"===t.type||"-"===t.type),w="log"===t.type,T=!1,k=r.vpadLinearized||!1;function M(t){if(Array.isArray(t))return T=!0,function(e){return Math.max(Number(t[e]||0),0)};var e=Math.max(Number(t||0),0);return function(){return e}}var A=M((t._m>0?r.ppadplus:r.ppadminus)||r.ppad||0),S=M((t._m>0?r.ppadminus:r.ppadplus)||r.ppad||0),E=M(r.vpadplus||r.vpad),C=M(r.vpadminus||r.vpad);if(!T){if(h=1/0,p=-1/0,w)for(i=0;i<x;i++)(o=e[i])<h&&o>0&&(h=o),o>p&&o<a&&(p=o);else for(i=0;i<x;i++)(o=e[i])<h&&o>-a&&(h=o),o>p&&o<a&&(p=o);e=[h,p],x=2}var L={tozero:_,extrapad:b};function I(r){s=e[r],n(s)&&(u=A(r),f=S(r),k?(l=t.c2l(s)-C(r),c=t.c2l(s)+E(r)):(h=s-C(r),p=s+E(r),w&&h<p/10&&(h=p/10),l=t.c2l(h),c=t.c2l(p)),_&&(l=Math.min(0,l),c=Math.max(0,c)),v(l)&&d(m,l,f,L),v(c)&&g(y,c,u,L))}var P=Math.min(6,x);for(i=0;i<P;i++)I(i);for(i=x-1;i>=P;i--)I(i);return{min:m,max:y,opts:r}},concatExtremes:p};function p(t,e,r){var n,i,a,o=e._id,s=t._fullData,c=t._fullLayout,u=[],f=[];function h(t,e){for(n=0;n<e.length;n++){var r=t[e[n]],s=(r._extremes||{})[o];if(!0===r.visible&&s){for(i=0;i<s.min.length;i++)a=s.min[i],d(u,a.val,a.pad,{extrapad:a.extrapad});for(i=0;i<s.max.length;i++)a=s.max[i],g(f,a.val,a.pad,{extrapad:a.extrapad})}}}if(h(s,e._traceIndices),h(c.annotations||[],e._annIndices||[]),h(c.shapes||[],e._shapeIndices||[]),e._matchGroup&&!r)for(var m in e._matchGroup)if(m!==e._id){var v=l(t,m),y=p(t,v,!0),x=e._length/v._length;for(i=0;i<y.min.length;i++)a=y.min[i],d(u,a.val,a.pad*x,{extrapad:a.extrapad});for(i=0;i<y.max.length;i++)a=y.max[i],g(f,a.val,a.pad*x,{extrapad:a.extrapad})}return{min:u,max:f}}function d(t,e,r,n){m(t,e,r,n,y)}function g(t,e,r,n){m(t,e,r,n,x)}function m(t,e,r,n,i){for(var a=n.tozero,o=n.extrapad,s=!0,l=0;l<t.length&&s;l++){var c=t[l];if(i(c.val,e)&&c.pad>=r&&(c.extrapad||!o)){s=!1;break}i(e,c.val)&&c.pad<=r&&(o||!c.extrapad)&&(t.splice(l,1),l--)}if(s){var u=a&&0===e;t.push({val:e,pad:u?0:r,extrapad:!u&&o})}}function v(t){return n(t)&&Math.abs(t)<a}function y(t,e){return t<=e}function x(t,e){return t>=e}},{"../../constants/numerical":753,"../../lib":778,"../../registry":911,"./axis_ids":831,"fast-isnumeric":241}],828:[function(t,e,r){"use strict";var n=t("d3"),i=t("fast-isnumeric"),a=t("../../plots/plots"),o=t("../../registry"),s=t("../../lib"),l=s.strTranslate,c=t("../../lib/svg_text_utils"),u=t("../../components/titles"),f=t("../../components/color"),h=t("../../components/drawing"),p=t("./layout_attributes"),d=t("./clean_ticks"),g=t("../../constants/numerical"),m=g.ONEMAXYEAR,v=g.ONEAVGYEAR,y=g.ONEMINYEAR,x=g.ONEMAXQUARTER,b=g.ONEAVGQUARTER,_=g.ONEMINQUARTER,w=g.ONEMAXMONTH,T=g.ONEAVGMONTH,k=g.ONEMINMONTH,M=g.ONEWEEK,A=g.ONEDAY,S=A/2,E=g.ONEHOUR,C=g.ONEMIN,L=g.ONESEC,I=g.MINUS_SIGN,P=g.BADNUM,z=t("../../constants/alignment"),O=z.MID_SHIFT,D=z.CAP_SHIFT,R=z.LINE_SPACING,F=z.OPPOSITE_SIDE,B=e.exports={};B.setConvert=t("./set_convert");var N=t("./axis_autotype"),j=t("./axis_ids"),U=j.idSort,V=j.isLinked;B.id2name=j.id2name,B.name2id=j.name2id,B.cleanId=j.cleanId,B.list=j.list,B.listIds=j.listIds,B.getFromId=j.getFromId,B.getFromTrace=j.getFromTrace;var q=t("./autorange");B.getAutoRange=q.getAutoRange,B.findExtremes=q.findExtremes;function H(t){var e=1e-4*(t[1]-t[0]);return[t[0]-e,t[1]+e]}B.coerceRef=function(t,e,r,n,i,a){var o=n.charAt(n.length-1),l=r._fullLayout._subplots[o+"axis"],c=n+"ref",u={};return i||(i=l[0]||("string"==typeof a?a:a[0])),a||(a=i),l=l.concat(l.map((function(t){return t+" domain"}))),u[c]={valType:"enumerated",values:l.concat(a?"string"==typeof a?[a]:a:[]),dflt:i},s.coerce(t,e,u,c)},B.getRefType=function(t){return void 0===t?t:"paper"===t?"paper":"pixel"===t?"pixel":/( domain)$/.test(t)?"domain":"range"},B.coercePosition=function(t,e,r,n,i,a){var o,l;if("range"!==B.getRefType(n))o=s.ensureNumber,l=r(i,a);else{var c=B.getFromId(e,n);l=r(i,a=c.fraction2r(a)),o=c.cleanPos}t[i]=o(l)},B.cleanPosition=function(t,e,r){return("paper"===r||"pixel"===r?s.ensureNumber:B.getFromId(e,r).cleanPos)(t)},B.redrawComponents=function(t,e){e=e||B.listIds(t);var r=t._fullLayout;function n(n,i,a,s){for(var l=o.getComponentMethod(n,i),c={},u=0;u<e.length;u++)for(var f=r[B.id2name(e[u])][a],h=0;h<f.length;h++){var p=f[h];if(!c[p]&&(l(t,p),c[p]=1,s))return}}n("annotations","drawOne","_annIndices"),n("shapes","drawOne","_shapeIndices"),n("images","draw","_imgIndices",!0)};var G=B.getDataConversions=function(t,e,r,n){var i,a="x"===r||"y"===r||"z"===r?r:n;if(Array.isArray(a)){if(i={type:N(n,void 0,{autotypenumbers:t._fullLayout.autotypenumbers}),_categories:[]},B.setConvert(i),"category"===i.type)for(var o=0;o<n.length;o++)i.d2c(n[o])}else i=B.getFromTrace(t,e,a);return i?{d2c:i.d2c,c2d:i.c2d}:"ids"===a?{d2c:W,c2d:W}:{d2c:Y,c2d:Y}};function Y(t){return+t}function W(t){return String(t)}function X(t){return+t.substring(1)}B.getDataToCoordFunc=function(t,e,r,n){return G(t,e,r,n).d2c},B.counterLetter=function(t){var e=t.charAt(0);return"x"===e?"y":"y"===e?"x":void 0},B.minDtick=function(t,e,r,n){-1===["log","category","multicategory"].indexOf(t.type)&&n?void 0===t._minDtick?(t._minDtick=e,t._forceTick0=r):t._minDtick&&((t._minDtick/e+1e-6)%1<2e-6&&((r-t._forceTick0)/e%1+1.000001)%1<2e-6?(t._minDtick=e,t._forceTick0=r):((e/t._minDtick+1e-6)%1>2e-6||((r-t._forceTick0)/t._minDtick%1+1.000001)%1>2e-6)&&(t._minDtick=0)):t._minDtick=0},B.saveRangeInitial=function(t,e){for(var r=B.list(t,"",!0),n=!1,i=0;i<r.length;i++){var a=r[i],o=void 0===a._rangeInitial,s=o||!(a.range[0]===a._rangeInitial[0]&&a.range[1]===a._rangeInitial[1]);(o&&!1===a.autorange||e&&s)&&(a._rangeInitial=a.range.slice(),n=!0)}return n},B.saveShowSpikeInitial=function(t,e){for(var r=B.list(t,"",!0),n=!1,i="on",a=0;a<r.length;a++){var o=r[a],s=void 0===o._showSpikeInitial,l=s||!(o.showspikes===o._showspikes);(s||e&&l)&&(o._showSpikeInitial=o.showspikes,n=!0),"on"!==i||o.showspikes||(i="off")}return t._fullLayout._cartesianSpikesEnabled=i,n},B.autoBin=function(t,e,r,n,a,o){var l,c=s.aggNums(Math.min,null,t),u=s.aggNums(Math.max,null,t);if("category"===e.type||"multicategory"===e.type)return{start:c-.5,end:u+.5,size:Math.max(1,Math.round(o)||1),_dataSpan:u-c};if(a||(a=e.calendar),l="log"===e.type?{type:"linear",range:[c,u]}:{type:e.type,range:s.simpleMap([c,u],e.c2r,0,a),calendar:a},B.setConvert(l),o=o&&d.dtick(o,l.type))l.dtick=o,l.tick0=d.tick0(void 0,l.type,a);else{var f;if(r)f=(u-c)/r;else{var h=s.distinctVals(t),p=Math.pow(10,Math.floor(Math.log(h.minDiff)/Math.LN10)),g=p*s.roundUp(h.minDiff/p,[.9,1.9,4.9,9.9],!0);f=Math.max(g,2*s.stdev(t)/Math.pow(t.length,n?.25:.4)),i(f)||(f=1)}B.autoTicks(l,f)}var m,v=l.dtick,y=B.tickIncrement(B.tickFirst(l),v,"reverse",a);if("number"==typeof v)m=(y=function(t,e,r,n,a){var o=0,s=0,l=0,c=0;function u(e){return(1+100*(e-t)/r.dtick)%100<2}for(var f=0;f<e.length;f++)e[f]%1==0?l++:i(e[f])||c++,u(e[f])&&o++,u(e[f]+r.dtick/2)&&s++;var h=e.length-c;if(l===h&&"date"!==r.type)r.dtick<1?t=n-.5*r.dtick:(t-=.5)+r.dtick<n&&(t+=r.dtick);else if(s<.1*h&&(o>.3*h||u(n)||u(a))){var p=r.dtick/2;t+=t+p<n?p:-p}return t}(y,t,l,c,u))+(1+Math.floor((u-y)/v))*v;else for("M"===l.dtick.charAt(0)&&(y=function(t,e,r,n,i){var a=s.findExactDates(e,i);if(a.exactDays>.8){var o=Number(r.substr(1));a.exactYears>.8&&o%12==0?t=B.tickIncrement(t,"M6","reverse")+1.5*A:a.exactMonths>.8?t=B.tickIncrement(t,"M1","reverse")+15.5*A:t-=S;var l=B.tickIncrement(t,r);if(l<=n)return l}return t}(y,t,v,c,a)),m=y,0;m<=u;)m=B.tickIncrement(m,v,!1,a);return{start:e.c2r(y,0,a),end:e.c2r(m,0,a),size:v,_dataSpan:u-c}},B.prepTicks=function(t,e){var r=s.simpleMap(t.range,t.r2l,void 0,void 0,e);if(t._dtickInit=t.dtick,t._tick0Init=t.tick0,"auto"===t.tickmode||!t.dtick){var n,a=t.nticks;a||("category"===t.type||"multicategory"===t.type?(n=t.tickfont?1.2*(t.tickfont.size||12):15,a=t._length/n):(n="y"===t._id.charAt(0)?40:80,a=s.constrain(t._length/n,4,9)+1),"radialaxis"===t._name&&(a*=2)),"array"===t.tickmode&&(a*=100),t._roughDTick=Math.abs(r[1]-r[0])/a,B.autoTicks(t,t._roughDTick),t._minDtick>0&&t.dtick<2*t._minDtick&&(t.dtick=t._minDtick,t.tick0=t.l2r(t._forceTick0))}"period"===t.ticklabelmode&&function(t){var e;function r(){return!(i(t.dtick)||"M"!==t.dtick.charAt(0))}var n=r(),a=B.getTickFormat(t);if(a){var o=t._dtickInit!==t.dtick;/%[fLQsSMX]/.test(a)||(/%[HI]/.test(a)?(e=E,o&&!n&&t.dtick<E&&(t.dtick=E)):/%p/.test(a)?(e=S,o&&!n&&t.dtick<S&&(t.dtick=S)):/%[Aadejuwx]/.test(a)?(e=A,o&&!n&&t.dtick<A&&(t.dtick=A)):/%[UVW]/.test(a)?(e=M,o&&!n&&t.dtick<M&&(t.dtick=M)):/%[Bbm]/.test(a)?(e=T,o&&(n?X(t.dtick)<1:t.dtick<k)&&(t.dtick="M1")):/%[q]/.test(a)?(e=b,o&&(n?X(t.dtick)<3:t.dtick<_)&&(t.dtick="M3")):/%[Yy]/.test(a)&&(e=v,o&&(n?X(t.dtick)<12:t.dtick<y)&&(t.dtick="M12")))}(n=r())&&t.tick0===t._dowTick0&&(t.tick0=t._rawTick0);t._definedDelta=e}(t),t.tick0||(t.tick0="date"===t.type?"2000-01-01":0),"date"===t.type&&t.dtick<.1&&(t.dtick=.1),nt(t)},B.calcTicks=function(t,e){B.prepTicks(t,e);var r=s.simpleMap(t.range,t.r2l,void 0,void 0,e);if("array"===t.tickmode)return function(t){var e=t.tickvals,r=t.ticktext,n=new Array(e.length),i=H(s.simpleMap(t.range,t.r2l)),a=Math.min(i[0],i[1]),o=Math.max(i[0],i[1]),l=0;Array.isArray(r)||(r=[]);var c="category"===t.type?t.d2l_noadd:t.d2l;"log"===t.type&&"L"!==String(t.dtick).charAt(0)&&(t.dtick="L"+Math.pow(10,Math.floor(Math.min(t.range[0],t.range[1]))-1));for(var u=0;u<e.length;u++){var f=c(e[u]);f>a&&f<o&&(void 0===r[u]?n[l]=B.tickText(t,f):n[l]=it(t,f,String(r[u])),l++)}l<e.length&&n.splice(l,e.length-l);t.rangebreaks&&(n=n.filter((function(e){return t.maskBreaks(e.x)!==P})));return n}(t);var n=H(r),a=n[0],o=n[1],l=r[1]<r[0],c=Math.min(r[0],r[1]),u=Math.max(r[0],r[1]),f="log"===t.type&&!(i(t.dtick)||"L"===t.dtick.charAt(0)),h="period"===t.ticklabelmode;if(t._tmin=B.tickFirst(t,e),t._tmin<a!==l)return[];"category"!==t.type&&"multicategory"!==t.type||(o=l?Math.max(-.5,o):Math.min(t._categories.length-.5,o));var p=t._tmin;t.rangebreaks&&t._tick0Init!==t.tick0&&(p=wt(p,t),l||(p=B.tickIncrement(p,t.dtick,!l,t.calendar))),h&&(p=B.tickIncrement(p,t.dtick,!l,t.calendar));for(var d,g=Math.max(1e3,t._length||0),C=[],L=null;l?p>=o:p<=o;p=B.tickIncrement(p,t.dtick,l,t.calendar)){if(t.rangebreaks&&!l){if(p<a)continue;if(t.maskBreaks(p)===P&&wt(p,t)>=u)break}if(C.length>g||p===L)break;L=p;var I=!1;f&&p!==(0|p)&&(I=!0),C.push({minor:I,value:p})}if(h&&function(t,e,r){for(var n=0;n<t.length;n++){var i=t[n].value,a=n,o=n+1;n<t.length-1?(a=n,o=n+1):n>0?(a=n-1,o=n):(a=n,o=n);var s,l=t[a].value,c=t[o].value,u=Math.abs(c-l),f=r||u,h=0;f>=y?h=u>=y&&u<=m?u:v:r===b&&f>=_?h=u>=_&&u<=x?u:b:f>=k?h=u>=k&&u<=w?u:T:r===M&&f>=M?h=M:f>=A?h=A:r===S&&f>=S?h=S:r===E&&f>=E&&(h=E),h>=u&&(h=u,s=!0);var p=i+h;if(e.rangebreaks&&h>0){for(var d=0,g=0;g<84;g++){var C=(g+.5)/84;e.maskBreaks(i*(1-C)+C*p)!==P&&d++}(h*=d/84)||(t[n].drop=!0),s&&u>M&&(h=u)}(h>0||0===n)&&(t[n].periodX=i+h/2)}}(C,t,t._definedDelta),t.rangebreaks){var z="y"===t._id.charAt(0),O=1;"auto"===t.tickmode&&(O=t.tickfont?t.tickfont.size:12);var D=NaN;for(d=C.length-1;d>-1;d--)if(C[d].drop)C.splice(d,1);else{C[d].value=wt(C[d].value,t);var R=t.c2p(C[d].value);(z?D>R-O:D<R+O)?C.splice(l?d+1:d,1):D=R}}_t(t)&&360===Math.abs(r[1]-r[0])&&C.pop(),t._tmax=(C[C.length-1]||{}).value,t._prevDateHead="",t._inCalcTicks=!0;var F,N,j=[];for(d=0;d<C.length;d++){var U=C[d].minor,V=C[d].value;F=B.tickText(t,V,!1,U),void 0!==(N=C[d].periodX)&&(F.periodX=N,(N>u||N<c)&&(N>u&&(F.periodX=u),N<c&&(F.periodX=c),F.text=" ",t._prevDateHead="")),j.push(F)}return t._inCalcTicks=!1,j};var Z=[2,5,10],J=[1,2,3,6,12],K=[1,2,5,10,15,30],Q=[1,2,3,7,14],$=[-.046,0,.301,.477,.602,.699,.778,.845,.903,.954,1],tt=[-.301,0,.301,.699,1],et=[15,30,45,90,180];function rt(t,e,r){return e*s.roundUp(t/e,r)}function nt(t){var e=t.dtick;if(t._tickexponent=0,i(e)||"string"==typeof e||(e=1),"category"!==t.type&&"multicategory"!==t.type||(t._tickround=null),"date"===t.type){var r=t.r2l(t.tick0),n=t.l2r(r).replace(/(^-|i)/g,""),a=n.length;if("M"===String(e).charAt(0))a>10||"01-01"!==n.substr(5)?t._tickround="d":t._tickround=+e.substr(1)%12==0?"y":"m";else if(e>=A&&a<=10||e>=15*A)t._tickround="d";else if(e>=C&&a<=16||e>=E)t._tickround="M";else if(e>=L&&a<=19||e>=C)t._tickround="S";else{var o=t.l2r(r+e).replace(/^-/,"").length;t._tickround=Math.max(a,o)-20,t._tickround<0&&(t._tickround=4)}}else if(i(e)||"L"===e.charAt(0)){var s=t.range.map(t.r2d||Number);i(e)||(e=Number(e.substr(1))),t._tickround=2-Math.floor(Math.log(e)/Math.LN10+.01);var l=Math.max(Math.abs(s[0]),Math.abs(s[1])),c=Math.floor(Math.log(l)/Math.LN10+.01),u=void 0===t.minexponent?3:t.minexponent;Math.abs(c)>u&&(ot(t.exponentformat)&&!st(c)?t._tickexponent=3*Math.round((c-1)/3):t._tickexponent=c)}else t._tickround=null}function it(t,e,r){var n=t.tickfont||{};return{x:e,dx:0,dy:0,text:r||"",fontSize:n.size,font:n.family,fontColor:n.color}}B.autoTicks=function(t,e){var r;function n(t){return Math.pow(t,Math.floor(Math.log(e)/Math.LN10))}if("date"===t.type){t.tick0=s.dateTick0(t.calendar,0);var a=2*e;if(a>v)e/=v,r=n(10),t.dtick="M"+12*rt(e,r,Z);else if(a>T)e/=T,t.dtick="M"+rt(e,1,J);else if(a>A){t.dtick=rt(e,A,t._hasDayOfWeekBreaks?[1,2,7,14]:Q);var o=B.getTickFormat(t),l="period"===t.ticklabelmode;l&&(t._rawTick0=t.tick0),/%[uVW]/.test(o)?t.tick0=s.dateTick0(t.calendar,2):t.tick0=s.dateTick0(t.calendar,1),l&&(t._dowTick0=t.tick0)}else a>E?t.dtick=rt(e,E,J):a>C?t.dtick=rt(e,C,K):a>L?t.dtick=rt(e,L,K):(r=n(10),t.dtick=rt(e,r,Z))}else if("log"===t.type){t.tick0=0;var c=s.simpleMap(t.range,t.r2l);if(e>.7)t.dtick=Math.ceil(e);else if(Math.abs(c[1]-c[0])<1){var u=1.5*Math.abs((c[1]-c[0])/e);e=Math.abs(Math.pow(10,c[1])-Math.pow(10,c[0]))/u,r=n(10),t.dtick="L"+rt(e,r,Z)}else t.dtick=e>.3?"D2":"D1"}else"category"===t.type||"multicategory"===t.type?(t.tick0=0,t.dtick=Math.ceil(Math.max(e,1))):_t(t)?(t.tick0=0,r=1,t.dtick=rt(e,r,et)):(t.tick0=0,r=n(10),t.dtick=rt(e,r,Z));if(0===t.dtick&&(t.dtick=1),!i(t.dtick)&&"string"!=typeof t.dtick){var f=t.dtick;throw t.dtick=1,"ax.dtick error: "+String(f)}},B.tickIncrement=function(t,e,r,a){var o=r?-1:1;if(i(e))return s.increment(t,o*e);var l=e.charAt(0),c=o*Number(e.substr(1));if("M"===l)return s.incrementMonth(t,c,a);if("L"===l)return Math.log(Math.pow(10,t)+c)/Math.LN10;if("D"===l){var u="D2"===e?tt:$,f=t+.01*o,h=s.roundUp(s.mod(f,1),u,r);return Math.floor(f)+Math.log(n.round(Math.pow(10,h),1))/Math.LN10}throw"unrecognized dtick "+String(e)},B.tickFirst=function(t,e){var r=t.r2l||Number,a=s.simpleMap(t.range,r,void 0,void 0,e),o=a[1]<a[0],l=o?Math.floor:Math.ceil,c=H(a)[0],u=t.dtick,f=r(t.tick0);if(i(u)){var h=l((c-f)/u)*u+f;return"category"!==t.type&&"multicategory"!==t.type||(h=s.constrain(h,0,t._categories.length-1)),h}var p=u.charAt(0),d=Number(u.substr(1));if("M"===p){for(var g,m,v,y=0,x=f;y<10;){if(((g=B.tickIncrement(x,u,o,t.calendar))-c)*(x-c)<=0)return o?Math.min(x,g):Math.max(x,g);m=(c-(x+g)/2)/(g-x),v=p+(Math.abs(Math.round(m))||1)*d,x=B.tickIncrement(x,v,m<0?!o:o,t.calendar),y++}return s.error("tickFirst did not converge",t),x}if("L"===p)return Math.log(l((Math.pow(10,c)-f)/d)*d+f)/Math.LN10;if("D"===p){var b="D2"===u?tt:$,_=s.roundUp(s.mod(c,1),b,o);return Math.floor(c)+Math.log(n.round(Math.pow(10,_),1))/Math.LN10}throw"unrecognized dtick "+String(u)},B.tickText=function(t,e,r,n){var a,o=it(t,e),l="array"===t.tickmode,c=r||l,u=t.type,f="category"===u?t.d2l_noadd:t.d2l;if(l&&Array.isArray(t.ticktext)){var h=s.simpleMap(t.range,t.r2l),p=(Math.abs(h[1]-h[0])-(t._lBreaks||0))/1e4;for(a=0;a<t.ticktext.length&&!(Math.abs(e-f(t.tickvals[a]))<p);a++);if(a<t.ticktext.length)return o.text=String(t.ticktext[a]),o}function d(n){if(void 0===n)return!0;if(r)return"none"===n;var i={first:t._tmin,last:t._tmax}[n];return"all"!==n&&e!==i}var g=r?"never":"none"!==t.exponentformat&&d(t.showexponent)?"hide":"";if("date"===u?function(t,e,r,n){var a=t._tickround,o=r&&t.hoverformat||B.getTickFormat(t);n&&(a=i(a)?4:{y:"m",m:"d",d:"M",M:"S",S:4}[a]);var l,c=s.formatDate(e.x,o,a,t._dateFormat,t.calendar,t._extraFormat),u=c.indexOf("\n");-1!==u&&(l=c.substr(u+1),c=c.substr(0,u));n&&("00:00:00"===c||"00:00"===c?(c=l,l=""):8===c.length&&(c=c.replace(/:00$/,"")));if(l)if(r)"d"===a?c+=", "+l:c=l+(c?", "+c:"");else if(t._inCalcTicks&&t._prevDateHead===l){var f=-1!==(t.ticklabelposition||"").indexOf("inside"),h=t._realSide||t.side;(!f&&"top"===h||f&&"bottom"===h)&&(c+="<br> ")}else t._prevDateHead=l,c+="<br>"+l;e.text=c}(t,o,r,c):"log"===u?function(t,e,r,n,a){var o=t.dtick,l=e.x,c=t.tickformat,u="string"==typeof o&&o.charAt(0);"never"===a&&(a="");n&&"L"!==u&&(o="L3",u="L");if(c||"L"===u)e.text=lt(Math.pow(10,l),t,a,n);else if(i(o)||"D"===u&&s.mod(l+.01,1)<.1){var f=Math.round(l),h=Math.abs(f),p=t.exponentformat;"power"===p||ot(p)&&st(f)?(e.text=0===f?1:1===f?"10":"10<sup>"+(f>1?"":I)+h+"</sup>",e.fontSize*=1.25):("e"===p||"E"===p)&&h>2?e.text="1"+p+(f>0?"+":I)+h:(e.text=lt(Math.pow(10,l),t,"","fakehover"),"D1"===o&&"y"===t._id.charAt(0)&&(e.dy-=e.fontSize/6))}else{if("D"!==u)throw"unrecognized dtick "+String(o);e.text=String(Math.round(Math.pow(10,s.mod(l,1)))),e.fontSize*=.75}if("D1"===t.dtick){var d=String(e.text).charAt(0);"0"!==d&&"1"!==d||("y"===t._id.charAt(0)?e.dx-=e.fontSize/4:(e.dy+=e.fontSize/2,e.dx+=(t.range[1]>t.range[0]?1:-1)*e.fontSize*(l<0?.5:.25)))}}(t,o,0,c,g):"category"===u?function(t,e){var r=t._categories[Math.round(e.x)];void 0===r&&(r="");e.text=String(r)}(t,o):"multicategory"===u?function(t,e,r){var n=Math.round(e.x),i=t._categories[n]||[],a=void 0===i[1]?"":String(i[1]),o=void 0===i[0]?"":String(i[0]);r?e.text=o+" - "+a:(e.text=a,e.text2=o)}(t,o,r):_t(t)?function(t,e,r,n,i){if("radians"!==t.thetaunit||r)e.text=lt(e.x,t,i,n);else{var a=e.x/180;if(0===a)e.text="0";else{var o=function(t){function e(t,e){return Math.abs(t-e)<=1e-6}var r=function(t){for(var r=1;!e(Math.round(t*r)/r,t);)r*=10;return r}(t),n=t*r,i=Math.abs(function t(r,n){return e(n,0)?r:t(n,r%n)}(n,r));return[Math.round(n/i),Math.round(r/i)]}(a);if(o[1]>=100)e.text=lt(s.deg2rad(e.x),t,i,n);else{var l=e.x<0;1===o[1]?1===o[0]?e.text="\u03c0":e.text=o[0]+"\u03c0":e.text=["<sup>",o[0],"</sup>","\u2044","<sub>",o[1],"</sub>","\u03c0"].join(""),l&&(e.text=I+e.text)}}}}(t,o,r,c,g):function(t,e,r,n,i){"never"===i?i="":"all"===t.showexponent&&Math.abs(e.x/t.dtick)<1e-6&&(i="hide");e.text=lt(e.x,t,i,n)}(t,o,0,c,g),n||(t.tickprefix&&!d(t.showtickprefix)&&(o.text=t.tickprefix+o.text),t.ticksuffix&&!d(t.showticksuffix)&&(o.text+=t.ticksuffix)),"boundaries"===t.tickson||t.showdividers){var m=function(e){var r=t.l2p(e);return r>=0&&r<=t._length?e:null};o.xbnd=[m(o.x-.5),m(o.x+t.dtick-.5)]}return o},B.hoverLabelText=function(t,e,r){if(r!==P&&r!==e)return B.hoverLabelText(t,e)+" - "+B.hoverLabelText(t,r);var n="log"===t.type&&e<=0,i=B.tickText(t,t.c2l(n?-e:e),"hover").text;return n?0===e?"0":I+i:i};var at=["f","p","n","\u03bc","m","","k","M","G","T"];function ot(t){return"SI"===t||"B"===t}function st(t){return t>14||t<-15}function lt(t,e,r,n){var a=t<0,o=e._tickround,l=r||e.exponentformat||"B",c=e._tickexponent,u=B.getTickFormat(e),f=e.separatethousands;if(n){var h={exponentformat:l,minexponent:e.minexponent,dtick:"none"===e.showexponent?e.dtick:i(t)&&Math.abs(t)||1,range:"none"===e.showexponent?e.range.map(e.r2d):[0,t||1]};nt(h),o=(Number(h._tickround)||0)+4,c=h._tickexponent,e.hoverformat&&(u=e.hoverformat)}if(u)return e._numFormat(u)(t).replace(/-/g,I);var p,d=Math.pow(10,-o)/2;if("none"===l&&(c=0),(t=Math.abs(t))<d)t="0",a=!1;else{if(t+=d,c&&(t*=Math.pow(10,-c),o+=c),0===o)t=String(Math.floor(t));else if(o<0){t=(t=String(Math.round(t))).substr(0,t.length+o);for(var g=o;g<0;g++)t+="0"}else{var m=(t=String(t)).indexOf(".")+1;m&&(t=t.substr(0,m+o).replace(/\.?0+$/,""))}t=s.numSeparate(t,e._separators,f)}c&&"hide"!==l&&(ot(l)&&st(c)&&(l="power"),p=c<0?I+-c:"power"!==l?"+"+c:String(c),"e"===l||"E"===l?t+=l+p:"power"===l?t+="\xd710<sup>"+p+"</sup>":"B"===l&&9===c?t+="B":ot(l)&&(t+=at[c/3+5]));return a?I+t:t}function ct(t,e){for(var r=[],n={},i=0;i<e.length;i++){var a=e[i];n[a.text2]?n[a.text2].push(a.x):n[a.text2]=[a.x]}for(var o in n)r.push(it(t,s.interp(n[o],.5),o));return r}function ut(t){return void 0!==t.periodX?t.periodX:t.x}function ft(t){return[t.text,t.x,t.axInfo,t.font,t.fontSize,t.fontColor].join("_")}function ht(t){var e=t.title.font.size,r=(t.title.text.match(c.BR_TAG_ALL)||[]).length;return t.title.hasOwnProperty("standoff")?r?e*(D+r*R):e*D:r?e*(r+1)*R:e}function pt(t,e){var r=t.l2p(e);return r>1&&r<t._length-1}function dt(t){var e=n.select(t),r=e.select(".text-math-group");return r.empty()?e.select("text"):r}function gt(t){return t._id+".automargin"}function mt(t){return gt(t)+".mirror"}function vt(t){return t._id+".rangeslider"}function yt(t,e){for(var r=0;r<e.length;r++)-1===t.indexOf(e[r])&&t.push(e[r])}function xt(t,e,r){var n,i,a=[],o=[],l=t.layout;for(n=0;n<e.length;n++)a.push(B.getFromId(t,e[n]));for(n=0;n<r.length;n++)o.push(B.getFromId(t,r[n]));var c=Object.keys(p),u=["anchor","domain","overlaying","position","side","tickangle","editType"],f=["linear","log"];for(n=0;n<c.length;n++){var h=c[n],d=a[0][h],g=o[0][h],m=!0,v=!1,y=!1;if("_"!==h.charAt(0)&&"function"!=typeof d&&-1===u.indexOf(h)){for(i=1;i<a.length&&m;i++){var x=a[i][h];"type"===h&&-1!==f.indexOf(d)&&-1!==f.indexOf(x)&&d!==x?v=!0:x!==d&&(m=!1)}for(i=1;i<o.length&&m;i++){var b=o[i][h];"type"===h&&-1!==f.indexOf(g)&&-1!==f.indexOf(b)&&g!==b?y=!0:o[i][h]!==g&&(m=!1)}m&&(v&&(l[a[0]._name].type="linear"),y&&(l[o[0]._name].type="linear"),bt(l,h,a,o,t._fullLayout._dfltTitle))}}for(n=0;n<t._fullLayout.annotations.length;n++){var _=t._fullLayout.annotations[n];-1!==e.indexOf(_.xref)&&-1!==r.indexOf(_.yref)&&s.swapAttrs(l.annotations[n],["?"])}}function bt(t,e,r,n,i){var a,o=s.nestedProperty,l=o(t[r[0]._name],e).get(),c=o(t[n[0]._name],e).get();for("title"===e&&(l&&l.text===i.x&&(l.text=i.y),c&&c.text===i.y&&(c.text=i.x)),a=0;a<r.length;a++)o(t,r[a]._name+"."+e).set(c);for(a=0;a<n.length;a++)o(t,n[a]._name+"."+e).set(l)}function _t(t){return"angularaxis"===t._id}function wt(t,e){for(var r=e._rangebreaks.length,n=0;n<r;n++){var i=e._rangebreaks[n];if(t>=i.min&&t<i.max)return i.max}return t}B.getTickFormat=function(t){var e,r,n,i,a,o,s,l;function c(t){return"string"!=typeof t?t:Number(t.replace("M",""))*T}function u(t,e){var r=["L","D"];if(typeof t==typeof e){if("number"==typeof t)return t-e;var n=r.indexOf(t.charAt(0)),i=r.indexOf(e.charAt(0));return n===i?Number(t.replace(/(L|D)/g,""))-Number(e.replace(/(L|D)/g,"")):n-i}return"number"==typeof t?1:-1}function f(t,e){var r=null===e[0],n=null===e[1],i=u(t,e[0])>=0,a=u(t,e[1])<=0;return(r||i)&&(n||a)}if(t.tickformatstops&&t.tickformatstops.length>0)switch(t.type){case"date":case"linear":for(e=0;e<t.tickformatstops.length;e++)if((n=t.tickformatstops[e]).enabled&&(i=t.dtick,a=n.dtickrange,o=void 0,s=void 0,l=void 0,o=c||function(t){return t},s=a[0],l=a[1],(!s&&"number"!=typeof s||o(s)<=o(i))&&(!l&&"number"!=typeof l||o(l)>=o(i)))){r=n;break}break;case"log":for(e=0;e<t.tickformatstops.length;e++)if((n=t.tickformatstops[e]).enabled&&f(t.dtick,n.dtickrange)){r=n;break}}return r?r.value:t.tickformat},B.getSubplots=function(t,e){var r=t._fullLayout._subplots,n=r.cartesian.concat(r.gl2d||[]),i=e?B.findSubplotsWithAxis(n,e):n;return i.sort((function(t,e){var r=t.substr(1).split("y"),n=e.substr(1).split("y");return r[0]===n[0]?+r[1]-+n[1]:+r[0]-+n[0]})),i},B.findSubplotsWithAxis=function(t,e){for(var r=new RegExp("x"===e._id.charAt(0)?"^"+e._id+"y":e._id+"$"),n=[],i=0;i<t.length;i++){var a=t[i];r.test(a)&&n.push(a)}return n},B.makeClipPaths=function(t){var e=t._fullLayout;if(!e._hasOnlyLargeSploms){var r,i,a={_offset:0,_length:e.width,_id:""},o={_offset:0,_length:e.height,_id:""},s=B.list(t,"x",!0),l=B.list(t,"y",!0),c=[];for(r=0;r<s.length;r++)for(c.push({x:s[r],y:o}),i=0;i<l.length;i++)0===r&&c.push({x:a,y:l[i]}),c.push({x:s[r],y:l[i]});var u=e._clips.selectAll(".axesclip").data(c,(function(t){return t.x._id+t.y._id}));u.enter().append("clipPath").classed("axesclip",!0).attr("id",(function(t){return"clip"+e._uid+t.x._id+t.y._id})).append("rect"),u.exit().remove(),u.each((function(t){n.select(this).select("rect").attr({x:t.x._offset||0,y:t.y._offset||0,width:t.x._length||1,height:t.y._length||1})}))}},B.draw=function(t,e,r){var n=t._fullLayout;"redraw"===e&&n._paper.selectAll("g.subplot").each((function(t){var e=t[0],r=n._plots[e];if(r){var i=r.xaxis,a=r.yaxis;r.xaxislayer.selectAll("."+i._id+"tick").remove(),r.yaxislayer.selectAll("."+a._id+"tick").remove(),r.xaxislayer.selectAll("."+i._id+"tick2").remove(),r.yaxislayer.selectAll("."+a._id+"tick2").remove(),r.xaxislayer.selectAll("."+i._id+"divider").remove(),r.yaxislayer.selectAll("."+a._id+"divider").remove(),r.gridlayer&&r.gridlayer.selectAll("path").remove(),r.zerolinelayer&&r.zerolinelayer.selectAll("path").remove(),n._infolayer.select(".g-"+i._id+"title").remove(),n._infolayer.select(".g-"+a._id+"title").remove()}}));var i=e&&"redraw"!==e?e:B.listIds(t);return s.syncOrAsync(i.map((function(e){return function(){if(e){var n=B.getFromId(t,e),i=B.drawOne(t,n,r);return n._r=n.range.slice(),n._rl=s.simpleMap(n._r,n.r2l),i}}})))},B.drawOne=function(t,e,r){var n,i,l;r=r||{},e.setScale();var c=t._fullLayout,p=e._id,d=p.charAt(0),g=B.counterLetter(p),m=c._plots[e._mainSubplot];if(m){var v=m[d+"axislayer"],y=e._mainLinePosition,x=e._mainMirrorPosition,b=e._vals=B.calcTicks(e),_=[e.mirror,y,x].join("_");for(n=0;n<b.length;n++)b[n].axInfo=_;e._selections={},e._tickAngles&&(e._prevTickAngles=e._tickAngles),e._tickAngles={},e._depth=null;var w={};if(e.visible){var T,k,M=B.makeTransTickFn(e),A=B.makeTransTickLabelFn(e),S="inside"===e.ticks,E="outside"===e.ticks;if("boundaries"===e.tickson){var C=function(t,e){var r,n=[],i=function(t,e){var r=t.xbnd[e];null!==r&&n.push(s.extendFlat({},t,{x:r}))};if(e.length){for(r=0;r<e.length;r++)i(e[r],0);i(e[r-1],1)}return n}(0,b);k=B.clipEnds(e,C),T=S?k:C}else k=B.clipEnds(e,b),T=S&&"period"!==e.ticklabelmode?k:b;var L=e._gridVals=k,I=function(t,e){var r,n,i=[],a=e.length&&e[e.length-1].x<e[0].x,o=function(t,e){var r=t.xbnd[e];null!==r&&i.push(s.extendFlat({},t,{x:r}))};if(t.showdividers&&e.length){for(r=0;r<e.length;r++){var l=e[r];l.text2!==n&&o(l,a?1:0),n=l.text2}o(e[r-1],a?0:1)}return i}(e,b);if(!c._hasOnlyLargeSploms){var P=e._subplotsWith,z={};for(n=0;n<P.length;n++){i=P[n];var O=(l=c._plots[i])[g+"axis"],D=O._mainAxis._id;if(!z[D]){z[D]=1;var N="x"===d?"M0,"+O._offset+"v"+O._length:"M"+O._offset+",0h"+O._length;B.drawGrid(t,e,{vals:L,counterAxis:O,layer:l.gridlayer.select("."+p),path:N,transFn:M}),B.drawZeroLine(t,e,{counterAxis:O,layer:l.zerolinelayer,path:N,transFn:M})}}}var j=B.getTickSigns(e),U=[];if(e.ticks){var V,q,H,G=B.makeTickPath(e,y,j[2]);if(e._anchorAxis&&e.mirror&&!0!==e.mirror?(V=B.makeTickPath(e,x,j[3]),q=G+V):(V="",q=G),e.showdividers&&E&&"boundaries"===e.tickson){var Y={};for(n=0;n<I.length;n++)Y[I[n].x]=1;H=function(t){return Y[t.x]?V:q}}else H=q;B.drawTicks(t,e,{vals:T,layer:v,path:H,transFn:M}),"allticks"===e.mirror&&(U=Object.keys(e._linepositions||{}))}for(n=0;n<U.length;n++){i=U[n],l=c._plots[i];var W=e._linepositions[i]||[],X=B.makeTickPath(e,W[0],j[0])+B.makeTickPath(e,W[1],j[1]);B.drawTicks(t,e,{vals:T,layer:l[d+"axislayer"],path:X,transFn:M})}var Z=[];if(Z.push((function(){return B.drawLabels(t,e,{vals:b,layer:v,transFn:A,labelFns:B.makeLabelFns(e,y)})})),"multicategory"===e.type){var J={x:2,y:10}[d];Z.push((function(){var r={x:"height",y:"width"}[d],n=Q()[r]+J+(e._tickAngles[p+"tick"]?e.tickfont.size*R:0);return B.drawLabels(t,e,{vals:ct(e,b),layer:v,cls:p+"tick2",repositionOnUpdate:!0,secondary:!0,transFn:M,labelFns:B.makeLabelFns(e,y+n*j[4])})})),Z.push((function(){return e._depth=j[4]*(Q("tick2")[e.side]-y),function(t,e,r){var n=e._id+"divider",i=r.vals,a=r.layer.selectAll("path."+n).data(i,ft);a.exit().remove(),a.enter().insert("path",":first-child").classed(n,1).classed("crisp",1).call(f.stroke,e.dividercolor).style("stroke-width",h.crispRound(t,e.dividerwidth,1)+"px"),a.attr("transform",r.transFn).attr("d",r.path)}(t,e,{vals:I,layer:v,path:B.makeTickPath(e,y,j[4],e._depth),transFn:M})}))}else e.title.hasOwnProperty("standoff")&&Z.push((function(){e._depth=j[4]*(Q()[e.side]-y)}));var K=o.getComponentMethod("rangeslider","isVisible")(e);return Z.push((function(){var r,n,i,s,l=e.side.charAt(0),u=F[e.side].charAt(0),f=B.getPxPosition(t,e),h=E?e.ticklen:0;if((e.automargin||K)&&("multicategory"===e.type?r=Q("tick2"):(r=Q(),"x"===d&&"b"===l&&(e._depth=Math.max(r.width>0?r.bottom-f:0,h)))),e.automargin){n={x:0,y:0,r:0,l:0,t:0,b:0};var p=[0,1];if("x"===d){if("b"===l?n[l]=e._depth:(n[l]=e._depth=Math.max(r.width>0?f-r.top:0,h),p.reverse()),r.width>0){var m=r.right-(e._offset+e._length);m>0&&(n.xr=1,n.r=m);var v=e._offset-r.left;v>0&&(n.xl=0,n.l=v)}}else if("l"===l?n[l]=e._depth=Math.max(r.height>0?f-r.left:0,h):(n[l]=e._depth=Math.max(r.height>0?r.right-f:0,h),p.reverse()),r.height>0){var y=r.bottom-(e._offset+e._length);y>0&&(n.yb=0,n.b=y);var x=e._offset-r.top;x>0&&(n.yt=1,n.t=x)}n[g]="free"===e.anchor?e.position:e._anchorAxis.domain[p[0]],e.title.text!==c._dfltTitle[d]&&(n[l]+=ht(e)+(e.title.standoff||0)),e.mirror&&"free"!==e.anchor&&((i={x:0,y:0,r:0,l:0,t:0,b:0})[u]=e.linewidth,e.mirror&&!0!==e.mirror&&(i[u]+=h),!0===e.mirror||"ticks"===e.mirror?i[g]=e._anchorAxis.domain[p[1]]:"all"!==e.mirror&&"allticks"!==e.mirror||(i[g]=[e._counterDomainMin,e._counterDomainMax][p[1]]))}K&&(s=o.getComponentMethod("rangeslider","autoMarginOpts")(t,e)),a.autoMargin(t,gt(e),n),a.autoMargin(t,mt(e),i),a.autoMargin(t,vt(e),s)})),r.skipTitle||K&&"bottom"===e.side||Z.push((function(){return function(t,e){var r,n=t._fullLayout,i=e._id,a=i.charAt(0),o=e.title.font.size;if(e.title.hasOwnProperty("standoff"))r=e._depth+e.title.standoff+ht(e);else{var s=-1!==(e.ticklabelposition||"").indexOf("inside");if("multicategory"===e.type)r=e._depth;else{var l=1.5*o;s&&(l=.5*o,"outside"===e.ticks&&(l+=e.ticklen)),r=10+l+(e.linewidth?e.linewidth-1:0)}s||(r+="x"===a?"top"===e.side?o*(e.showticklabels?1:0):o*(e.showticklabels?1.5:.5):"right"===e.side?o*(e.showticklabels?1:.5):o*(e.showticklabels?.5:0))}var c,f,p,d,g=B.getPxPosition(t,e);"x"===a?(f=e._offset+e._length/2,p="top"===e.side?g-r:g+r):(p=e._offset+e._length/2,f="right"===e.side?g+r:g-r,c={rotate:"-90",offset:0});if("multicategory"!==e.type){var m=e._selections[e._id+"tick"];if(d={selection:m,side:e.side},m&&m.node()&&m.node().parentNode){var v=h.getTranslate(m.node().parentNode);d.offsetLeft=v.x,d.offsetTop=v.y}e.title.hasOwnProperty("standoff")&&(d.pad=0)}return u.draw(t,i+"title",{propContainer:e,propName:e._name+".title.text",placeholder:n._dfltTitle[a],avoid:d,transform:c,attributes:{x:f,y:p,"text-anchor":"middle"}})}(t,e)})),s.syncOrAsync(Z)}}function Q(t){var r=p+(t||"tick");return w[r]||(w[r]=function(t,e){var r,n,i,a;t._selections[e].size()?(r=1/0,n=-1/0,i=1/0,a=-1/0,t._selections[e].each((function(){var t=dt(this),e=h.bBox(t.node().parentNode);r=Math.min(r,e.top),n=Math.max(n,e.bottom),i=Math.min(i,e.left),a=Math.max(a,e.right)}))):(r=0,n=0,i=0,a=0);return{top:r,bottom:n,left:i,right:a,height:n-r,width:a-i}}(e,r)),w[r]}},B.getTickSigns=function(t){var e=t._id.charAt(0),r={x:"top",y:"right"}[e],n=t.side===r?1:-1,i=[-1,1,n,-n];return"inside"!==t.ticks==("x"===e)&&(i=i.map((function(t){return-t}))),t.side&&i.push({l:-1,t:-1,r:1,b:1}[t.side.charAt(0)]),i},B.makeTransTickFn=function(t){return"x"===t._id.charAt(0)?function(e){return l(t._offset+t.l2p(e.x),0)}:function(e){return l(0,t._offset+t.l2p(e.x))}},B.makeTransTickLabelFn=function(t){var e=function(t){var e=t.ticklabelposition||"",r=function(t){return-1!==e.indexOf(t)},n=r("top"),i=r("left"),a=r("right"),o=r("bottom"),s=r("inside"),l=o||i||n||a;if(!l&&!s)return[0,0];var c=t.side,u=l?(t.tickwidth||0)/2:0,f=3,h=t.tickfont?t.tickfont.size:12;(o||n)&&(u+=h*D,f+=(t.linewidth||0)/2);(i||a)&&(u+=(t.linewidth||0)/2,f+=3);s&&"top"===c&&(f-=h*(1-D));(i||n)&&(u=-u);"bottom"!==c&&"right"!==c||(f=-f);return[l?u:0,s?f:0]}(t),r=e[0],n=e[1];return"x"===t._id.charAt(0)?function(e){return l(r+t._offset+t.l2p(ut(e)),n)}:function(e){return l(n,r+t._offset+t.l2p(ut(e)))}},B.makeTickPath=function(t,e,r,n){n=void 0!==n?n:t.ticklen;var i=t._id.charAt(0),a=(t.linewidth||1)/2;return"x"===i?"M0,"+(e+a*r)+"v"+n*r:"M"+(e+a*r)+",0h"+n*r},B.makeLabelFns=function(t,e,r){var n=t.ticklabelposition||"",a=function(t){return-1!==n.indexOf(t)},o=a("top"),l=a("left"),c=a("right"),u=a("bottom")||l||o||c,f=a("inside"),h="inside"===n&&"inside"===t.ticks||!f&&"outside"===t.ticks&&"boundaries"!==t.tickson,p=0,d=0,g=h?t.ticklen:0;if(f?g*=-1:u&&(g=0),h&&(p+=g,r)){var m=s.deg2rad(r);p=g*Math.cos(m)+1,d=g*Math.sin(m)}t.showticklabels&&(h||t.showline)&&(p+=.2*t.tickfont.size);var v,y,x,b,_,w={labelStandoff:p+=(t.linewidth||1)/2*(f?-1:1),labelShift:d},T=0,k=t.side,M=t._id.charAt(0),A=t.tickangle;if("x"===M)b=(_=!f&&"bottom"===k||f&&"top"===k)?1:-1,f&&(b*=-1),v=d*b,y=e+p*b,x=_?1:-.2,90===Math.abs(A)&&(f?x+=O:x=-90===A&&"bottom"===k?D:90===A&&"top"===k?O:.5,T=O/2*(A/90)),w.xFn=function(t){return t.dx+v+T*t.fontSize},w.yFn=function(t){return t.dy+y+t.fontSize*x},w.anchorFn=function(t,e){if(u){if(l)return"end";if(c)return"start"}return i(e)&&0!==e&&180!==e?e*b<0!==f?"end":"start":"middle"},w.heightFn=function(e,r,n){return r<-60||r>60?-.5*n:"top"===t.side!==f?-n:0};else if("y"===M){if(b=(_=!f&&"left"===k||f&&"right"===k)?1:-1,f&&(b*=-1),v=p,y=d*b,x=0,f||90!==Math.abs(A)||(x=-90===A&&"left"===k||90===A&&"right"===k?D:.5),f){var S=i(A)?+A:0;if(0!==S){var E=s.deg2rad(S);T=Math.abs(Math.sin(E))*D*b,x=0}}w.xFn=function(t){return t.dx+e-(v+t.fontSize*x)*b+T*t.fontSize},w.yFn=function(t){return t.dy+y+t.fontSize*O},w.anchorFn=function(t,e){return i(e)&&90===Math.abs(e)?"middle":_?"end":"start"},w.heightFn=function(e,r,n){return"right"===t.side&&(r*=-1),r<-30?-n:r<30?-.5*n:0}}return w},B.drawTicks=function(t,e,r){r=r||{};var n=e._id+"tick",i=r.vals;"period"===e.ticklabelmode&&(i=i.slice()).shift();var a=r.layer.selectAll("path."+n).data(e.ticks?i:[],ft);a.exit().remove(),a.enter().append("path").classed(n,1).classed("ticks",1).classed("crisp",!1!==r.crisp).call(f.stroke,e.tickcolor).style("stroke-width",h.crispRound(t,e.tickwidth,1)+"px").attr("d",r.path),a.attr("transform",r.transFn)},B.drawGrid=function(t,e,r){r=r||{};var n=e._id+"grid",i=r.vals,a=r.counterAxis;if(!1===e.showgrid)i=[];else if(a&&B.shouldShowZeroLine(t,e,a))for(var o="array"===e.tickmode,s=0;s<i.length;s++){var l=i[s].x;if(o?!l:Math.abs(l)<e.dtick/100){if(i=i.slice(0,s).concat(i.slice(s+1)),!o)break;s--}}var c=r.layer.selectAll("path."+n).data(i,ft);c.exit().remove(),c.enter().append("path").classed(n,1).classed("crisp",!1!==r.crisp),e._gw=h.crispRound(t,e.gridwidth,1),c.attr("transform",r.transFn).attr("d",r.path).call(f.stroke,e.gridcolor||"#ddd").style("stroke-width",e._gw+"px"),"function"==typeof r.path&&c.attr("d",r.path)},B.drawZeroLine=function(t,e,r){r=r||r;var n=e._id+"zl",i=B.shouldShowZeroLine(t,e,r.counterAxis),a=r.layer.selectAll("path."+n).data(i?[{x:0,id:e._id}]:[]);a.exit().remove(),a.enter().append("path").classed(n,1).classed("zl",1).classed("crisp",!1!==r.crisp).each((function(){r.layer.selectAll("path").sort((function(t,e){return U(t.id,e.id)}))})),a.attr("transform",r.transFn).attr("d",r.path).call(f.stroke,e.zerolinecolor||f.defaultLine).style("stroke-width",h.crispRound(t,e.zerolinewidth,e._gw||1)+"px")},B.drawLabels=function(t,e,r){r=r||{};var a=t._fullLayout,o=e._id,u=o.charAt(0),f=r.cls||o+"tick",p=r.vals,d=r.labelFns,g=r.secondary?0:e.tickangle,m=(e._prevTickAngles||{})[f],v=r.layer.selectAll("g."+f).data(e.showticklabels?p:[],ft),y=[];function x(t,a){var o=-1!==(e.ticklabelposition||"").indexOf("inside");t.each((function(t){var s=n.select(this),u=s.select(".text-math-group"),f=d.anchorFn(t,a),p=r.transFn.call(s.node(),t)+(i(a)&&0!=+a?" rotate("+a+","+d.xFn(t)+","+(d.yFn(t)-t.fontSize/2)+")":""),g=c.lineCount(s),m=R*t.fontSize,v=d.heightFn(t,i(a)?+a:0,(g-1)*m);if(v&&(p+=l(0,v)),u.empty()){var y=s.select("text");y.attr({transform:p,"text-anchor":f}),o&&(y.style({opacity:100}),e._hideOutOfRangeInsideTickLabels&&e._hideOutOfRangeInsideTickLabels())}else{var x=h.bBox(u.node()).width*{end:-.5,start:.5}[f];u.attr("transform",p+l(x,0))}}))}v.enter().append("g").classed(f,1).append("text").attr("text-anchor","middle").each((function(e){var r=n.select(this),i=t._promises.length;r.call(c.positionText,d.xFn(e),d.yFn(e)).call(h.font,e.font,e.fontSize,e.fontColor).text(e.text).call(c.convertToTspans,t),t._promises[i]?y.push(t._promises.pop().then((function(){x(r,g)}))):x(r,g)})),v.exit().remove(),r.repositionOnUpdate&&v.each((function(t){n.select(this).select("text").call(c.positionText,d.xFn(t),d.yFn(t))})),e._hideOutOfRangeInsideTickLabels=void 0,-1!==(e.ticklabelposition||"").indexOf("inside")&&(e._hideOutOfRangeInsideTickLabels=function(){var t=s.simpleMap(e.range,e.r2l),r=e.l2p(t[0]),i=e.l2p(t[1]),a=Math.min(r,i)+e._offset,o=Math.max(r,i)+e._offset,l="x"===e._id.charAt(0);v.each((function(t){var r=n.select(this);if(r.select(".text-math-group").empty()){var i=h.bBox(r.node()),s=!1;l?(i.right>o||i.left<a)&&(s=!0):(i.bottom>o||i.top+(e.tickangle?0:t.fontSize/4)<a)&&(s=!0),s&&r.select("text").style({opacity:0})}}))}),x(v,m+1?m:g);var b=null;e._selections&&(e._selections[f]=v);var _=[function(){return y.length&&Promise.all(y)}];e.automargin&&a._redrawFromAutoMarginCount&&90===m?(b=90,_.push((function(){x(v,m)}))):_.push((function(){if(x(v,g),p.length&&"x"===u&&!i(g)&&("log"!==e.type||"D"!==String(e.dtick).charAt(0))){b=0;var t,n=0,a=[];if(v.each((function(t){n=Math.max(n,t.fontSize);var r=e.l2p(t.x),i=dt(this),o=h.bBox(i.node());a.push({top:0,bottom:10,height:10,left:r-o.width/2,right:r+o.width/2+2,width:o.width+2})})),"boundaries"!==e.tickson&&!e.showdividers||r.secondary){var o=p.length,l=Math.abs((p[o-1].x-p[0].x)*e._m)/(o-1),c=e.ticklabelposition||"",f=function(t){return-1!==c.indexOf(t)},d=f("top"),m=f("left"),y=f("right"),_=f("bottom")||m||d||y?(e.tickwidth||0)+6:0,w=l<2.5*n||"multicategory"===e.type;for(t=0;t<a.length-1;t++)if(s.bBoxIntersect(a[t],a[t+1],_)){b=w?90:30;break}}else{var T=2;for(e.ticks&&(T+=e.tickwidth/2),t=0;t<a.length;t++){var k=p[t].xbnd,M=a[t];if(null!==k[0]&&M.left-e.l2p(k[0])<T||null!==k[1]&&e.l2p(k[1])-M.right<T){b=90;break}}}b&&x(v,b)}})),e._tickAngles&&_.push((function(){e._tickAngles[f]=null===b?i(g)?g:0:b}));var w=e._anchorAxis;w&&w.autorange&&-1!==(e.ticklabelposition||"").indexOf("inside")&&!V(a,e._id)&&(a._insideTickLabelsAutorange||(a._insideTickLabelsAutorange={}),a._insideTickLabelsAutorange[w._name+".autorange"]=w.autorange,_.push((function(){v.each((function(t,r){var n=dt(this);e._vals[r].bb=h.bBox(n.node())}))})));var T=s.syncOrAsync(_);return T&&T.then&&t._promises.push(T),T},B.getPxPosition=function(t,e){var r,n=t._fullLayout._size,i=e._id.charAt(0),a=e.side;return"free"!==e.anchor?r=e._anchorAxis:"x"===i?r={_offset:n.t+(1-(e.position||0))*n.h,_length:0}:"y"===i&&(r={_offset:n.l+(e.position||0)*n.w,_length:0}),"top"===a||"left"===a?r._offset:"bottom"===a||"right"===a?r._offset+r._length:void 0},B.shouldShowZeroLine=function(t,e,r){var n=s.simpleMap(e.range,e.r2l);return n[0]*n[1]<=0&&e.zeroline&&("linear"===e.type||"-"===e.type)&&!(e.rangebreaks&&e.maskBreaks(0)===P)&&(pt(e,0)||!function(t,e,r,n){var i=r._mainAxis;if(!i)return;var a=t._fullLayout,o=e._id.charAt(0),s=B.counterLetter(e._id),l=e._offset+(Math.abs(n[0])<Math.abs(n[1])==("x"===o)?0:e._length);function c(t){if(!t.showline||!t.linewidth)return!1;var r=Math.max((t.linewidth+e.zerolinewidth)/2,1);function n(t){return"number"==typeof t&&Math.abs(t-l)<r}if(n(t._mainLinePosition)||n(t._mainMirrorPosition))return!0;var i=t._linepositions||{};for(var a in i)if(n(i[a][0])||n(i[a][1]))return!0}var u=a._plots[r._mainSubplot];if(!(u.mainplotinfo||u).overlays.length)return c(r);for(var f=B.list(t,s),h=0;h<f.length;h++){var p=f[h];if(p._mainAxis===i&&c(p))return!0}}(t,e,r,n)||function(t,e){for(var r=t._fullData,n=e._mainSubplot,i=e._id.charAt(0),a=0;a<r.length;a++){var s=r[a];if(!0===s.visible&&s.xaxis+s.yaxis===n){if(o.traceIs(s,"bar-like")&&s.orientation==={x:"h",y:"v"}[i])return!0;if(s.fill&&s.fill.charAt(s.fill.length-1)===i)return!0}}return!1}(t,e))},B.clipEnds=function(t,e){return e.filter((function(e){return pt(t,e.x)}))},B.allowAutoMargin=function(t){for(var e=B.list(t,"",!0),r=0;r<e.length;r++){var n=e[r];n.automargin&&(a.allowAutoMargin(t,gt(n)),n.mirror&&a.allowAutoMargin(t,mt(n))),o.getComponentMethod("rangeslider","isVisible")(n)&&a.allowAutoMargin(t,vt(n))}},B.swap=function(t,e){for(var r=function(t,e){var r,n,i=[];for(r=0;r<e.length;r++){var a=[],o=t._fullData[e[r]].xaxis,s=t._fullData[e[r]].yaxis;if(o&&s){for(n=0;n<i.length;n++)-1===i[n].x.indexOf(o)&&-1===i[n].y.indexOf(s)||a.push(n);if(a.length){var l,c=i[a[0]];if(a.length>1)for(n=1;n<a.length;n++)l=i[a[n]],yt(c.x,l.x),yt(c.y,l.y);yt(c.x,[o]),yt(c.y,[s])}else i.push({x:[o],y:[s]})}}return i}(t,e),n=0;n<r.length;n++)xt(t,r[n].x,r[n].y)}},{"../../components/color":643,"../../components/drawing":665,"../../components/titles":738,"../../constants/alignment":745,"../../constants/numerical":753,"../../lib":778,"../../lib/svg_text_utils":803,"../../plots/plots":891,"../../registry":911,"./autorange":827,"./axis_autotype":829,"./axis_ids":831,"./clean_ticks":833,"./layout_attributes":842,"./set_convert":848,d3:169,"fast-isnumeric":241}],829:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../lib"),a=t("../../constants/numerical").BADNUM,o=i.isArrayOrTypedArray,s=i.isDateTime,l=i.cleanNumber,c=Math.round;function u(t,e){return e?n(t):"number"==typeof t}function f(t){return Math.max(1,(t-1)/1e3)}e.exports=function(t,e,r){var i=t,h=r.noMultiCategory;if(o(i)&&!i.length)return"-";if(!h&&function(t){return o(t[0])&&o(t[1])}(i))return"multicategory";if(h&&Array.isArray(i[0])){for(var p=[],d=0;d<i.length;d++)if(o(i[d]))for(var g=0;g<i[d].length;g++)p.push(i[d][g]);i=p}if(function(t,e){for(var r=t.length,i=f(r),a=0,o=0,l={},u=0;u<r;u+=i){var h=c(u),p=t[h],d=String(p);l[d]||(l[d]=1,s(p,e)&&a++,n(p)&&o++)}return a>2*o}(i,e))return"date";var m="strict"!==r.autotypenumbers;return function(t,e){for(var r=t.length,n=f(r),i=0,o=0,s={},u=0;u<r;u+=n){var h=c(u),p=t[h],d=String(p);if(!s[d]){s[d]=1;var g=typeof p;"boolean"===g?o++:(e?l(p)!==a:"number"===g)?i++:"string"===g&&o++}}return o>2*i}(i,m)?"category":function(t,e){for(var r=t.length,n=0;n<r;n++)if(u(t[n],e))return!0;return!1}(i,m)?"linear":"-"}},{"../../constants/numerical":753,"../../lib":778,"fast-isnumeric":241}],830:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../registry"),a=t("../../lib"),o=t("../array_container_defaults"),s=t("./layout_attributes"),l=t("./tick_value_defaults"),c=t("./tick_mark_defaults"),u=t("./tick_label_defaults"),f=t("./category_order_defaults"),h=t("./line_grid_defaults"),p=t("./set_convert"),d=t("./constants").WEEKDAY_PATTERN,g=t("./constants").HOUR_PATTERN;function m(t,e,r){function i(r,n){return a.coerce(t,e,s.rangebreaks,r,n)}if(i("enabled")){var o=i("bounds");if(o&&o.length>=2){var l,c,u="";if(2===o.length)for(l=0;l<2;l++)if(c=y(o[l])){u=d;break}var f=i("pattern",u);if(f===d)for(l=0;l<2;l++)(c=y(o[l]))&&(e.bounds[l]=o[l]=c-1);if(f)for(l=0;l<2;l++)switch(c=o[l],f){case d:if(!n(c))return void(e.enabled=!1);if((c=+c)!==Math.floor(c)||c<0||c>=7)return void(e.enabled=!1);e.bounds[l]=o[l]=c;break;case g:if(!n(c))return void(e.enabled=!1);if((c=+c)<0||c>24)return void(e.enabled=!1);e.bounds[l]=o[l]=c}if(!1===r.autorange){var h=r.range;if(h[0]<h[1]){if(o[0]<h[0]&&o[1]>h[1])return void(e.enabled=!1)}else if(o[0]>h[0]&&o[1]<h[1])return void(e.enabled=!1)}}else{var p=i("values");if(!p||!p.length)return void(e.enabled=!1);i("dvalue")}}}e.exports=function(t,e,r,n,g){var v,y=n.letter,x=n.font||{},b=n.splomStash||{},_=r("visible",!n.visibleDflt),w=e._template||{},T=e.type||w.type||"-";"date"===T&&(i.getComponentMethod("calendars","handleDefaults")(t,e,"calendar",n.calendar),n.noTicklabelmode||(v=r("ticklabelmode")));n.noTicklabelposition&&"multicategory"!==T||a.coerce(t,e,{ticklabelposition:{valType:"enumerated",dflt:"outside",values:"period"===v?["outside","inside"]:"x"===y?["outside","inside","outside left","inside left","outside right","inside right"]:["outside","inside","outside top","inside top","outside bottom","inside bottom"]}},"ticklabelposition"),p(e,g);var k=!e.isValidRange(t.range);k&&n.reverseDflt&&(k="reversed"),!r("autorange",k)||"linear"!==T&&"-"!==T||r("rangemode"),r("range"),e.cleanRange(),f(t,e,r,n),"category"===T||n.noHover||r("hoverformat");var M=r("color"),A=M!==s.color.dflt?M:x.color,S=b.label||g._dfltTitle[y];if(u(t,e,r,T,n,{pass:1}),!_)return e;r("title.text",S),a.coerceFont(r,"title.font",{family:x.family,size:Math.round(1.2*x.size),color:A}),l(t,e,r,T),u(t,e,r,T,n,{pass:2}),c(t,e,r,n),h(t,e,r,{dfltColor:M,bgColor:n.bgColor,showGrid:n.showGrid,attributes:s}),(e.showline||e.ticks)&&r("mirror"),n.automargin&&r("automargin");var E,C="multicategory"===T;n.noTickson||"category"!==T&&!C||!e.ticks&&!e.showgrid||(C&&(E="boundaries"),"boundaries"===r("tickson",E)&&delete e.ticklabelposition);C&&(r("showdividers")&&(r("dividercolor"),r("dividerwidth")));if("date"===T)if(o(t,e,{name:"rangebreaks",inclusionAttr:"enabled",handleItemDefaults:m}),e.rangebreaks.length){for(var L=0;L<e.rangebreaks.length;L++)if(e.rangebreaks[L].pattern===d){e._hasDayOfWeekBreaks=!0;break}if(p(e,g),g._has("scattergl")||g._has("splom"))for(var I=0;I<n.data.length;I++){var P=n.data[I];"scattergl"!==P.type&&"splom"!==P.type||(P.visible=!1,a.warn(P.type+" traces do not work on axes with rangebreaks. Setting trace "+P.index+" to `visible: false`."))}}else delete e.rangebreaks;return e};var v={sun:1,mon:2,tue:3,wed:4,thu:5,fri:6,sat:7};function y(t){if("string"==typeof t)return v[t.substr(0,3).toLowerCase()]}},{"../../lib":778,"../../registry":911,"../array_container_defaults":823,"./category_order_defaults":832,"./constants":834,"./layout_attributes":842,"./line_grid_defaults":844,"./set_convert":848,"./tick_label_defaults":849,"./tick_mark_defaults":850,"./tick_value_defaults":851,"fast-isnumeric":241}],831:[function(t,e,r){"use strict";var n=t("../../registry"),i=t("./constants");function a(t,e){if(e&&e.length)for(var r=0;r<e.length;r++)if(e[r][t])return!0;return!1}r.id2name=function(t){if("string"==typeof t&&t.match(i.AX_ID_PATTERN)){var e=t.split(" ")[0].substr(1);return"1"===e&&(e=""),t.charAt(0)+"axis"+e}},r.name2id=function(t){if(t.match(i.AX_NAME_PATTERN)){var e=t.substr(5);return"1"===e&&(e=""),t.charAt(0)+e}},r.cleanId=function(t,e,r){var n=/( domain)$/.test(t);if("string"==typeof t&&t.match(i.AX_ID_PATTERN)&&(!e||t.charAt(0)===e)&&(!n||r)){var a=t.split(" ")[0].substr(1).replace(/^0+/,"");return"1"===a&&(a=""),t.charAt(0)+a+(n&&r?" domain":"")}},r.list=function(t,e,n){var i=t._fullLayout;if(!i)return[];var a,o=r.listIds(t,e),s=new Array(o.length);for(a=0;a<o.length;a++){var l=o[a];s[a]=i[l.charAt(0)+"axis"+l.substr(1)]}if(!n){var c=i._subplots.gl3d||[];for(a=0;a<c.length;a++){var u=i[c[a]];e?s.push(u[e+"axis"]):s.push(u.xaxis,u.yaxis,u.zaxis)}}return s},r.listIds=function(t,e){var r=t._fullLayout;if(!r)return[];var n=r._subplots;return e?n[e+"axis"]:n.xaxis.concat(n.yaxis)},r.getFromId=function(t,e,n){var i=t._fullLayout;return e=void 0===e||"string"!=typeof e?e:e.replace(" domain",""),"x"===n?e=e.replace(/y[0-9]*/,""):"y"===n&&(e=e.replace(/x[0-9]*/,"")),i[r.id2name(e)]},r.getFromTrace=function(t,e,i){var a=t._fullLayout,o=null;if(n.traceIs(e,"gl3d")){var s=e.scene;"scene"===s.substr(0,5)&&(o=a[s][i+"axis"])}else o=r.getFromId(t,e[i+"axis"]||i);return o},r.idSort=function(t,e){var r=t.charAt(0),n=e.charAt(0);return r!==n?r>n?1:-1:+(t.substr(1)||1)-+(e.substr(1)||1)},r.ref2id=function(t){return!!/^[xyz]/.test(t)&&t.split(" ")[0]},r.isLinked=function(t,e){return a(e,t._axisMatchGroups)||a(e,t._axisConstraintGroups)}},{"../../registry":911,"./constants":834}],832:[function(t,e,r){"use strict";e.exports=function(t,e,r,n){if("category"===e.type){var i,a=t.categoryarray,o=Array.isArray(a)&&a.length>0;o&&(i="array");var s,l=r("categoryorder",i);"array"===l&&(s=r("categoryarray")),o||"array"!==l||(l=e.categoryorder="trace"),"trace"===l?e._initialCategories=[]:"array"===l?e._initialCategories=s.slice():(s=function(t,e){var r,n,i,a=e.dataAttr||t._id.charAt(0),o={};if(e.axData)r=e.axData;else for(r=[],n=0;n<e.data.length;n++){var s=e.data[n];s[a+"axis"]===t._id&&r.push(s)}for(n=0;n<r.length;n++){var l=r[n][a];for(i=0;i<l.length;i++){var c=l[i];null!=c&&(o[c]=1)}}return Object.keys(o)}(e,n).sort(),"category ascending"===l?e._initialCategories=s:"category descending"===l&&(e._initialCategories=s.reverse()))}}},{}],833:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../lib"),a=t("../../constants/numerical"),o=a.ONEDAY,s=a.ONEWEEK;r.dtick=function(t,e){var r="log"===e,i="date"===e,a="category"===e,s=i?o:1;if(!t)return s;if(n(t))return(t=Number(t))<=0?s:a?Math.max(1,Math.round(t)):i?Math.max(.1,t):t;if("string"!=typeof t||!i&&!r)return s;var l=t.charAt(0),c=t.substr(1);return(c=n(c)?Number(c):0)<=0||!(i&&"M"===l&&c===Math.round(c)||r&&"L"===l||r&&"D"===l&&(1===c||2===c))?s:t},r.tick0=function(t,e,r,a){return"date"===e?i.cleanDate(t,i.dateTick0(r,a%s==0?1:0)):"D1"!==a&&"D2"!==a?n(t)?Number(t):0:void 0}},{"../../constants/numerical":753,"../../lib":778,"fast-isnumeric":241}],834:[function(t,e,r){"use strict";var n=t("../../lib/regex").counter;e.exports={idRegex:{x:n("x","( domain)?"),y:n("y","( domain)?")},attrRegex:n("[xy]axis"),xAxisMatch:n("xaxis"),yAxisMatch:n("yaxis"),AX_ID_PATTERN:/^[xyz][0-9]*( domain)?$/,AX_NAME_PATTERN:/^[xyz]axis[0-9]*$/,SUBPLOT_PATTERN:/^x([0-9]*)y([0-9]*)$/,HOUR_PATTERN:"hour",WEEKDAY_PATTERN:"day of week",MINDRAG:8,MINSELECT:12,MINZOOM:20,DRAGGERSIZE:20,BENDPX:1.5,REDRAWDELAY:50,SELECTDELAY:100,SELECTID:"-select",DFLTRANGEX:[-1,6],DFLTRANGEY:[-1,4],traceLayerClasses:["imagelayer","heatmaplayer","contourcarpetlayer","contourlayer","funnellayer","waterfalllayer","barlayer","carpetlayer","violinlayer","boxlayer","ohlclayer","scattercarpetlayer","scatterlayer"],clipOnAxisFalseQuery:[".scatterlayer",".barlayer",".funnellayer",".waterfalllayer"],layerValue2layerClass:{"above traces":"above","below traces":"below"}}},{"../../lib/regex":795}],835:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./autorange"),a=t("./axis_ids").id2name,o=t("./layout_attributes"),s=t("./scale_zoom"),l=t("./set_convert"),c=t("../../constants/numerical").ALMOST_EQUAL,u=t("../../constants/alignment").FROM_BL;function f(t,e,r){var i=r.axIds,s=r.layoutOut,l=r.hasImage,c=s._axisConstraintGroups,u=s._axisMatchGroups,f=e._id,g=f.charAt(0),m=((s._splomAxes||{})[g]||{})[f]||{},v=e._id,y="x"===v.charAt(0);function x(r,i){return n.coerce(t,e,o,r,i)}e._matchGroup=null,e._constraintGroup=null,x("constrain",l?"domain":"range"),n.coerce(t,e,{constraintoward:{valType:"enumerated",values:y?["left","center","right"]:["bottom","middle","top"],dflt:y?"center":"middle"}},"constraintoward");var b,_,w=e.type,T=[];for(b=0;b<i.length;b++){if((_=i[b])!==v)s[a(_)].type===w&&T.push(_)}var k=p(c,v);if(k){var M=[];for(b=0;b<T.length;b++)k[_=T[b]]||M.push(_);T=M}var A,S,E=T.length;E&&(t.matches||m.matches)&&(A=n.coerce(t,e,{matches:{valType:"enumerated",values:T,dflt:-1!==T.indexOf(m.matches)?m.matches:void 0}},"matches"));var C=l&&!y?e.anchor:void 0;if(E&&!A&&(t.scaleanchor||C)&&(S=n.coerce(t,e,{scaleanchor:{valType:"enumerated",values:T}},"scaleanchor",C)),A){e._matchGroup=d(u,v,A,1);var L=s[a(A)],I=h(s,e)/h(s,L);y!==("x"===A.charAt(0))&&(I=(y?"x":"y")+I),d(c,v,A,I)}else t.matches&&-1!==i.indexOf(t.matches)&&n.warn("ignored "+e._name+'.matches: "'+t.matches+'" to avoid an infinite loop');if(S){var P=x("scaleratio");P||(P=e.scaleratio=1),d(c,v,S,P)}else t.scaleanchor&&-1!==i.indexOf(t.scaleanchor)&&n.warn("ignored "+e._name+'.scaleanchor: "'+t.scaleanchor+'" to avoid either an infinite loop and possibly inconsistent scaleratios, or because this axis declares a *matches* constraint.')}function h(t,e){var r=e.domain;return r||(r=t[a(e.overlaying)].domain),r[1]-r[0]}function p(t,e){for(var r=0;r<t.length;r++)if(t[r][e])return t[r];return null}function d(t,e,r,n){var i,a,o,s,l,c=p(t,e);null===c?((c={})[e]=1,l=t.length,t.push(c)):l=t.indexOf(c);var u=Object.keys(c);for(i=0;i<t.length;i++)if(o=t[i],i!==l&&o[r]){var f=o[r];for(a=0;a<u.length;a++)o[s=u[a]]=g(f,g(n,c[s]));return void t.splice(l,1)}if(1!==n)for(a=0;a<u.length;a++){var h=u[a];c[h]=g(n,c[h])}c[r]=1}function g(t,e){var r,n,i="",a="";"string"==typeof t&&(r=(i=t.match(/^[xy]*/)[0]).length,t=+t.substr(r)),"string"==typeof e&&(n=(a=e.match(/^[xy]*/)[0]).length,e=+e.substr(n));var o=t*e;return r||n?r&&n&&i.charAt(0)!==a.charAt(0)?r===n?o:(r>n?i.substr(n):a.substr(r))+o:i+a+t*e:o}function m(t,e){for(var r=e._size,n=r.h/r.w,i={},a=Object.keys(t),o=0;o<a.length;o++){var s=a[o],l=t[s];if("string"==typeof l){var c=l.match(/^[xy]*/)[0],u=c.length;l=+l.substr(u);for(var f="y"===c.charAt(0)?n:1/n,h=0;h<u;h++)l*=f}i[s]=l}return i}function v(t,e){var r=t._inputDomain,n=u[t.constraintoward],i=r[0]+(r[1]-r[0])*n;t.domain=t._input.domain=[i+(r[0]-i)/e,i+(r[1]-i)/e],t.setScale()}r.handleDefaults=function(t,e,r){var i,o,s,c,u,h,p,d,g=r.axIds,m=r.axHasImage,v=e._axisConstraintGroups=[],y=e._axisMatchGroups=[];for(i=0;i<g.length;i++)f(u=t[c=a(g[i])],h=e[c],{axIds:g,layoutOut:e,hasImage:m[c]});function x(t,r){for(i=0;i<t.length;i++)for(s in o=t[i])e[a(s)][r]=o}for(x(y,"_matchGroup"),i=0;i<v.length;i++)for(s in o=v[i])if((h=e[a(s)]).fixedrange){for(var b in o){var _=a(b);!1===(t[_]||{}).fixedrange&&n.warn("fixedrange was specified as false for axis "+_+" but was overridden because another axis in its constraint group has fixedrange true"),e[_].fixedrange=!0}break}for(i=0;i<v.length;){for(s in o=v[i]){(h=e[a(s)])._matchGroup&&Object.keys(h._matchGroup).length===Object.keys(o).length&&(v.splice(i,1),i--);break}i++}x(v,"_constraintGroup");var w=["constrain","range","autorange","rangemode","rangebreaks","categoryorder","categoryarray"],T=!1,k=!1;function M(){d=h[p],"rangebreaks"===p&&(k=h._hasDayOfWeekBreaks)}for(i=0;i<y.length;i++){o=y[i];for(var A=0;A<w.length;A++){var S;for(s in p=w[A],d=null,o)if(u=t[c=a(s)],h=e[c],p in h){if(!h.matches&&(S=h,p in u)){M();break}null===d&&p in u&&M()}if("range"===p&&d&&(T=!0),"autorange"===p&&null===d&&T&&(d=!1),null===d&&p in S&&(d=S[p]),null!==d)for(s in o)(h=e[a(s)])[p]="range"===p?d.slice():d,"rangebreaks"===p&&(h._hasDayOfWeekBreaks=k,l(h,e))}}},r.enforce=function(t){var e,r,n,o,l,u,f,h,p=t._fullLayout,d=p._axisConstraintGroups||[];for(e=0;e<d.length;e++){n=m(d[e],p);var g=Object.keys(n),y=1/0,x=0,b=1/0,_={},w={},T=!1;for(r=0;r<g.length;r++)w[o=g[r]]=l=p[a(o)],l._inputDomain?l.domain=l._inputDomain.slice():l._inputDomain=l.domain.slice(),l._inputRange||(l._inputRange=l.range.slice()),l.setScale(),_[o]=u=Math.abs(l._m)/n[o],y=Math.min(y,u),"domain"!==l.constrain&&l._constraintShrinkable||(b=Math.min(b,u)),delete l._constraintShrinkable,x=Math.max(x,u),"domain"===l.constrain&&(T=!0);if(!(y>c*x)||T)for(r=0;r<g.length;r++)if(u=_[o=g[r]],f=(l=w[o]).constrain,u!==b||"domain"===f)if(h=u/b,"range"===f)s(l,h);else{var k=l._inputDomain,M=(l.domain[1]-l.domain[0])/(k[1]-k[0]),A=(l.r2l(l.range[1])-l.r2l(l.range[0]))/(l.r2l(l._inputRange[1])-l.r2l(l._inputRange[0]));if((h/=M)*A<1){l.domain=l._input.domain=k.slice(),s(l,h);continue}if(A<1&&(l.range=l._input.range=l._inputRange.slice(),h*=A),l.autorange){var S=l.r2l(l.range[0]),E=l.r2l(l.range[1]),C=(S+E)/2,L=C,I=C,P=Math.abs(E-C),z=C-P*h*1.0001,O=C+P*h*1.0001,D=i.makePadFn(p,l,0),R=i.makePadFn(p,l,1);v(l,h);var F,B,N=Math.abs(l._m),j=i.concatExtremes(t,l),U=j.min,V=j.max;for(B=0;B<U.length;B++)(F=U[B].val-D(U[B])/N)>z&&F<L&&(L=F);for(B=0;B<V.length;B++)(F=V[B].val+R(V[B])/N)<O&&F>I&&(I=F);h/=(I-L)/(2*P),L=l.l2r(L),I=l.l2r(I),l.range=l._input.range=S<E?[L,I]:[I,L]}v(l,h)}}},r.getAxisGroup=function(t,e){for(var r=t._axisMatchGroups,n=0;n<r.length;n++){if(r[n][e])return"g"+n}return e},r.clean=function(t,e){if(e._inputDomain){for(var r=!1,n=e._id,i=t._fullLayout._axisConstraintGroups,a=0;a<i.length;a++)if(i[a][n]){r=!0;break}r&&"domain"===e.constrain||(e._input.domain=e.domain=e._inputDomain,delete e._inputDomain)}}},{"../../constants/alignment":745,"../../constants/numerical":753,"../../lib":778,"./autorange":827,"./axis_ids":831,"./layout_attributes":842,"./scale_zoom":846,"./set_convert":848}],836:[function(t,e,r){"use strict";var n=t("d3"),i=t("tinycolor2"),a=t("has-passive-events"),o=t("../../registry"),s=t("../../lib"),l=s.strTranslate,c=t("../../lib/svg_text_utils"),u=t("../../components/color"),f=t("../../components/drawing"),h=t("../../components/fx"),p=t("./axes"),d=t("../../lib/setcursor"),g=t("../../components/dragelement"),m=t("../../components/dragelement/helpers"),v=m.selectingOrDrawing,y=m.freeMode,x=t("../../constants/alignment").FROM_TL,b=t("../../lib/clear_gl_canvases"),_=t("../../plot_api/subroutines").redrawReglTraces,w=t("../plots"),T=t("./axis_ids").getFromId,k=t("./select").prepSelect,M=t("./select").clearSelect,A=t("./select").selectOnClick,S=t("./scale_zoom"),E=t("./constants"),C=E.MINDRAG,L=E.MINZOOM,I=!0;function P(t,e,r,n){var i=s.ensureSingle(t.draglayer,e,r,(function(e){e.classed("drag",!0).style({fill:"transparent","stroke-width":0}).attr("data-subplot",t.id)}));return i.call(d,n),i.node()}function z(t,e,r,i,a,o,s){var l=P(t,"rect",e,r);return n.select(l).call(f.setRect,i,a,o,s),l}function O(t,e){for(var r=0;r<t.length;r++)if(!t[r].fixedrange)return e;return""}function D(t,e,r,n,i){for(var a=0;a<t.length;a++){var o=t[a];if(!o.fixedrange)if(o.rangebreaks){var s="y"===o._id.charAt(0),l=s?1-e:e,c=s?1-r:r;n[o._name+".range[0]"]=o.l2r(o.p2l(l*o._length)),n[o._name+".range[1]"]=o.l2r(o.p2l(c*o._length))}else{var u=o._rl[0],f=o._rl[1]-u;n[o._name+".range[0]"]=o.l2r(u+f*e),n[o._name+".range[1]"]=o.l2r(u+f*r)}}if(i&&i.length){var h=(e+(1-r))/2;D(i,h,1-h,n,[])}}function R(t,e){for(var r=0;r<t.length;r++){var n=t[r];if(!n.fixedrange)if(n.rangebreaks){var i=n._length,a=(n.p2l(0+e)-n.p2l(0)+(n.p2l(i+e)-n.p2l(i)))/2;n.range=[n.l2r(n._rl[0]-a),n.l2r(n._rl[1]-a)]}else n.range=[n.l2r(n._rl[0]-e/n._m),n.l2r(n._rl[1]-e/n._m)]}}function F(t){return 1-(t>=0?Math.min(t,.9):1/(1/Math.max(t,-.3)+3.222))}function B(t,e,r,n,i){return t.append("path").attr("class","zoombox").style({fill:e>.2?"rgba(0,0,0,0)":"rgba(255,255,255,0)","stroke-width":0}).attr("transform",l(r,n)).attr("d",i+"Z")}function N(t,e,r){return t.append("path").attr("class","zoombox-corners").style({fill:u.background,stroke:u.defaultLine,"stroke-width":1,opacity:0}).attr("transform",l(e,r)).attr("d","M0,0Z")}function j(t,e,r,n,i,a){t.attr("d",n+"M"+r.l+","+r.t+"v"+r.h+"h"+r.w+"v-"+r.h+"h-"+r.w+"Z"),U(t,e,i,a)}function U(t,e,r,n){r||(t.transition().style("fill",n>.2?"rgba(0,0,0,0.4)":"rgba(255,255,255,0.3)").duration(200),e.transition().style("opacity",1).duration(200))}function V(t){n.select(t).selectAll(".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners").remove()}function q(t){I&&t.data&&t._context.showTips&&(s.notifier(s._(t,"Double-click to zoom back out"),"long"),I=!1)}function H(t){var e=Math.floor(Math.min(t.b-t.t,t.r-t.l,L)/2);return"M"+(t.l-3.5)+","+(t.t-.5+e)+"h3v"+-e+"h"+e+"v-3h-"+(e+3)+"ZM"+(t.r+3.5)+","+(t.t-.5+e)+"h-3v"+-e+"h"+-e+"v-3h"+(e+3)+"ZM"+(t.r+3.5)+","+(t.b+.5-e)+"h-3v"+e+"h"+-e+"v3h"+(e+3)+"ZM"+(t.l-3.5)+","+(t.b+.5-e)+"h3v"+e+"h"+e+"v3h-"+(e+3)+"Z"}function G(t,e,r,n,i){for(var a,o,l,c,u=!1,f={},h={},p=(i||{}).xaHash,d=(i||{}).yaHash,g=0;g<e.length;g++){var m=e[g];for(a in r)if(m[a]){for(l in m)i&&(p[l]||d[l])||("x"===l.charAt(0)?r:n)[l]||(f[l]=a);for(o in n)i&&(p[o]||d[o])||!m[o]||(u=!0)}for(o in n)if(m[o])for(c in m)i&&(p[c]||d[c])||("x"===c.charAt(0)?r:n)[c]||(h[c]=o)}u&&(s.extendFlat(f,h),h={});var v={},y=[];for(l in f){var x=T(t,l);y.push(x),v[x._id]=x}var b={},_=[];for(c in h){var w=T(t,c);_.push(w),b[w._id]=w}return{xaHash:v,yaHash:b,xaxes:y,yaxes:_,xLinks:f,yLinks:h,isSubplotConstrained:u}}function Y(t,e){if(a){var r=void 0!==t.onwheel?"wheel":"mousewheel";t._onwheel&&t.removeEventListener(r,t._onwheel),t._onwheel=e,t.addEventListener(r,e,{passive:!1})}else void 0!==t.onwheel?t.onwheel=e:void 0!==t.onmousewheel?t.onmousewheel=e:t.isAddedWheelEvent||(t.isAddedWheelEvent=!0,t.addEventListener("wheel",e,{passive:!1}))}function W(t){var e=[];for(var r in t)e.push(t[r]);return e}e.exports={makeDragBox:function(t,e,r,a,l,u,d,m){var I,P,U,X,Z,J,K,Q,$,tt,et,rt,nt,it,at,ot,st,lt,ct,ut,ft,ht,pt,dt=t._fullLayout._zoomlayer,gt=d+m==="nsew",mt=1===(d+m).length;function vt(){if(I=e.xaxis,P=e.yaxis,$=I._length,tt=P._length,K=I._offset,Q=P._offset,(U={})[I._id]=I,(X={})[P._id]=P,d&&m)for(var r=e.overlays,n=0;n<r.length;n++){var i=r[n].xaxis;U[i._id]=i;var a=r[n].yaxis;X[a._id]=a}Z=W(U),J=W(X),nt=O(Z,m),it=O(J,d),at=!it&&!nt,rt=G(t,t._fullLayout._axisMatchGroups,U,X);var o=(et=G(t,t._fullLayout._axisConstraintGroups,U,X,rt)).isSubplotConstrained||rt.isSubplotConstrained;ot=m||o,st=d||o;var s=t._fullLayout;lt=s._has("scattergl"),ct=s._has("splom"),ut=s._has("svg")}vt();var yt=function(t,e,r){if(!t)return"pointer";if("nsew"===t)return r?"":"pan"===e?"move":"crosshair";return t.toLowerCase()+"-resize"}(it+nt,t._fullLayout.dragmode,gt),xt=z(e,d+m+"drag",yt,r,a,l,u);if(at&&!gt)return xt.onmousedown=null,xt.style.pointerEvents="none",xt;var bt,_t,wt,Tt,kt,Mt,At,St,Et,Ct,Lt={element:xt,gd:t,plotinfo:e};function It(){Lt.plotinfo.selection=!1,M(t)}function Pt(t,r){var i=Lt.gd;if(i._fullLayout._activeShapeIndex>=0)i._fullLayout._deactivateShape(i);else{var a=i._fullLayout.clickmode;if(V(i),2!==t||mt||qt(),gt)a.indexOf("select")>-1&&A(r,i,Z,J,e.id,Lt),a.indexOf("event")>-1&&h.click(i,r,e.id);else if(1===t&&mt){var s=d?P:I,l="s"===d||"w"===m?0:1,u=s._name+".range["+l+"]",f=function(t,e){var r,i=t.range[e],a=Math.abs(i-t.range[1-e]);return"date"===t.type?i:"log"===t.type?(r=Math.ceil(Math.max(0,-Math.log(a)/Math.LN10))+3,n.format("."+r+"g")(Math.pow(10,i))):(r=Math.floor(Math.log(Math.abs(i))/Math.LN10)-Math.floor(Math.log(a)/Math.LN10)+4,n.format("."+String(r)+"g")(i))}(s,l),p="left",g="middle";if(s.fixedrange)return;d?(g="n"===d?"top":"bottom","right"===s.side&&(p="right")):"e"===m&&(p="right"),i._context.showAxisRangeEntryBoxes&&n.select(xt).call(c.makeEditable,{gd:i,immediate:!0,background:i._fullLayout.paper_bgcolor,text:String(f),fill:s.tickfont?s.tickfont.color:"#444",horizontalAlign:p,verticalAlign:g}).on("edit",(function(t){var e=s.d2r(t);void 0!==e&&o.call("_guiRelayout",i,u,e)}))}}}function zt(e,r){if(t._transitioningWithDuration)return!1;var n=Math.max(0,Math.min($,ht*e+bt)),i=Math.max(0,Math.min(tt,pt*r+_t)),a=Math.abs(n-bt),o=Math.abs(i-_t);function s(){At="",wt.r=wt.l,wt.t=wt.b,Et.attr("d","M0,0Z")}if(wt.l=Math.min(bt,n),wt.r=Math.max(bt,n),wt.t=Math.min(_t,i),wt.b=Math.max(_t,i),et.isSubplotConstrained)a>L||o>L?(At="xy",a/$>o/tt?(o=a*tt/$,_t>i?wt.t=_t-o:wt.b=_t+o):(a=o*$/tt,bt>n?wt.l=bt-a:wt.r=bt+a),Et.attr("d",H(wt))):s();else if(rt.isSubplotConstrained)if(a>L||o>L){At="xy";var l=Math.min(wt.l/$,(tt-wt.b)/tt),c=Math.max(wt.r/$,(tt-wt.t)/tt);wt.l=l*$,wt.r=c*$,wt.b=(1-l)*tt,wt.t=(1-c)*tt,Et.attr("d",H(wt))}else s();else!it||o<Math.min(Math.max(.6*a,C),L)?a<C||!nt?s():(wt.t=0,wt.b=tt,At="x",Et.attr("d",function(t,e){return"M"+(t.l-.5)+","+(e-L-.5)+"h-3v"+(2*L+1)+"h3ZM"+(t.r+.5)+","+(e-L-.5)+"h3v"+(2*L+1)+"h-3Z"}(wt,_t))):!nt||a<Math.min(.6*o,L)?(wt.l=0,wt.r=$,At="y",Et.attr("d",function(t,e){return"M"+(e-L-.5)+","+(t.t-.5)+"v-3h"+(2*L+1)+"v3ZM"+(e-L-.5)+","+(t.b+.5)+"v3h"+(2*L+1)+"v-3Z"}(wt,bt))):(At="xy",Et.attr("d",H(wt)));wt.w=wt.r-wt.l,wt.h=wt.b-wt.t,At&&(Ct=!0),t._dragged=Ct,j(St,Et,wt,kt,Mt,Tt),Ot(),t.emit("plotly_relayouting",ft),Mt=!0}function Ot(){ft={},"xy"!==At&&"x"!==At||(D(Z,wt.l/$,wt.r/$,ft,et.xaxes),Ut("x",ft)),"xy"!==At&&"y"!==At||(D(J,(tt-wt.b)/tt,(tt-wt.t)/tt,ft,et.yaxes),Ut("y",ft))}function Dt(){Ot(),V(t),Ht(),q(t)}Lt.prepFn=function(e,r,n){var a=Lt.dragmode,o=t._fullLayout.dragmode;o!==a&&(Lt.dragmode=o),vt(),ht=t._fullLayout._invScaleX,pt=t._fullLayout._invScaleY,at||(gt?e.shiftKey?"pan"===o?o="zoom":v(o)||(o="pan"):e.ctrlKey&&(o="pan"):o="pan"),y(o)?Lt.minDrag=1:Lt.minDrag=void 0,v(o)?(Lt.xaxes=Z,Lt.yaxes=J,k(e,r,n,Lt,o)):(Lt.clickFn=Pt,v(a)&&It(),at||("zoom"===o?(Lt.moveFn=zt,Lt.doneFn=Dt,Lt.minDrag=1,function(e,r,n){var a=xt.getBoundingClientRect();bt=r-a.left,_t=n-a.top,t._fullLayout._calcInverseTransform(t);var o=s.apply3DTransform(t._fullLayout._invTransform)(bt,_t);bt=o[0],_t=o[1],wt={l:bt,r:bt,w:0,t:_t,b:_t,h:0},Tt=t._hmpixcount?t._hmlumcount/t._hmpixcount:i(t._fullLayout.plot_bgcolor).getLuminance(),Mt=!1,At="xy",Ct=!1,St=B(dt,Tt,K,Q,kt="M0,0H"+$+"V"+tt+"H0V0"),Et=N(dt,K,Q)}(0,r,n)):"pan"===o&&(Lt.moveFn=jt,Lt.doneFn=Ht))),t._fullLayout._redrag=function(){var e=t._dragdata;if(e&&e.element===xt){var r=t._fullLayout.dragmode;v(r)||(vt(),Gt([0,0,$,tt]),Lt.moveFn(e.dx,e.dy))}}},g.init(Lt);var Rt=[0,0,$,tt],Ft=null,Bt=E.REDRAWDELAY,Nt=e.mainplot?t._fullLayout._plots[e.mainplot]:e;function jt(e,r){if(e*=ht,r*=pt,!t._transitioningWithDuration){if(t._fullLayout._replotting=!0,"ew"===nt||"ns"===it){var n=nt?-e:0,i=it?-r:0;if(rt.isSubplotConstrained){if(nt&&it){var a=(e/$-r/tt)/2;n=-(e=a*$),i=-(r=-a*tt)}it?n=-i*$/tt:i=-n*tt/$}return nt&&(R(Z,e),Ut("x")),it&&(R(J,r),Ut("y")),Gt([n,i,$,tt]),Vt(),void t.emit("plotly_relayouting",ft)}var o,s,l="w"===nt==("n"===it)?1:-1;if(nt&&it&&(et.isSubplotConstrained||rt.isSubplotConstrained)){var c=(e/$+l*r/tt)/2;e=c*$,r=l*c*tt}if("w"===nt?e=p(Z,0,e):"e"===nt?e=p(Z,1,-e):nt||(e=0),"n"===it?r=p(J,1,r):"s"===it?r=p(J,0,-r):it||(r=0),o="w"===nt?e:0,s="n"===it?r:0,et.isSubplotConstrained&&!rt.isSubplotConstrained||rt.isSubplotConstrained&&nt&&it&&l>0){var u;if(rt.isSubplotConstrained||!nt&&1===it.length){for(u=0;u<Z.length;u++)Z[u].range=Z[u]._r.slice(),S(Z[u],1-r/tt);o=(e=r*$/tt)/2}if(rt.isSubplotConstrained||!it&&1===nt.length){for(u=0;u<J.length;u++)J[u].range=J[u]._r.slice(),S(J[u],1-e/$);s=(r=e*tt/$)/2}}rt.isSubplotConstrained&&it||Ut("x"),rt.isSubplotConstrained&&nt||Ut("y");var f=$-e,h=tt-r;!rt.isSubplotConstrained||nt&&it||(nt?(s=o?0:e*tt/$,h=f*tt/$):(o=s?0:r*$/tt,f=h*$/tt)),Gt([o,s,f,h]),Vt(),t.emit("plotly_relayouting",ft)}function p(t,e,r){for(var n,i,a=1-e,o=0;o<t.length;o++){var s=t[o];if(!s.fixedrange){n=s,i=s._rl[a]+(s._rl[e]-s._rl[a])/F(r/s._length);var l=s.l2r(i);!1!==l&&void 0!==l&&(s.range[e]=l)}}return n._length*(n._rl[e]-i)/(n._rl[e]-n._rl[a])}}function Ut(t,e){for(var r=rt.isSubplotConstrained?{x:J,y:Z}[t]:rt[t+"axes"],n=rt.isSubplotConstrained?{x:Z,y:J}[t]:[],i=0;i<r.length;i++){var a=r[i],o=a._id,s=rt.xLinks[o]||rt.yLinks[o],l=n[0]||U[s]||X[s];l&&(e?(e[a._name+".range[0]"]=e[l._name+".range[0]"],e[a._name+".range[1]"]=e[l._name+".range[1]"]):a.range=l.range.slice())}}function Vt(){var e,r=[];function n(t){for(e=0;e<t.length;e++)t[e].fixedrange||r.push(t[e]._id)}for(ot&&(n(Z),n(et.xaxes),n(rt.xaxes)),st&&(n(J),n(et.yaxes),n(rt.yaxes)),ft={},e=0;e<r.length;e++){var i=r[e],a=T(t,i);p.drawOne(t,a,{skipTitle:!0}),ft[a._name+".range[0]"]=a.range[0],ft[a._name+".range[1]"]=a.range[1]}p.redrawComponents(t,r)}function qt(){if(!t._transitioningWithDuration){var e=t._context.doubleClick,r=[];nt&&(r=r.concat(Z)),it&&(r=r.concat(J)),rt.xaxes&&(r=r.concat(rt.xaxes)),rt.yaxes&&(r=r.concat(rt.yaxes));var n,i,a,s={};if("reset+autosize"===e)for(e="autosize",i=0;i<r.length;i++)if((n=r[i])._rangeInitial&&(n.range[0]!==n._rangeInitial[0]||n.range[1]!==n._rangeInitial[1])||!n._rangeInitial&&!n.autorange){e="reset";break}if("autosize"===e)for(i=0;i<r.length;i++)(n=r[i]).fixedrange||(s[n._name+".autorange"]=!0);else if("reset"===e)for((nt||et.isSubplotConstrained)&&(r=r.concat(et.xaxes)),it&&!et.isSubplotConstrained&&(r=r.concat(et.yaxes)),et.isSubplotConstrained&&(nt?it||(r=r.concat(J)):r=r.concat(Z)),i=0;i<r.length;i++)(n=r[i]).fixedrange||(n._rangeInitial?(a=n._rangeInitial,s[n._name+".range[0]"]=a[0],s[n._name+".range[1]"]=a[1]):s[n._name+".autorange"]=!0);t.emit("plotly_doubleclick",null),o.call("_guiRelayout",t,s)}}function Ht(){Gt([0,0,$,tt]),s.syncOrAsync([w.previousPromises,function(){t._fullLayout._replotting=!1,o.call("_guiRelayout",t,ft)}],t)}function Gt(e){var r,n,i,a,l=t._fullLayout,c=l._plots,u=l._subplots.cartesian;if(ct&&o.subplotsRegistry.splom.drag(t),lt)for(r=0;r<u.length;r++)if(i=(n=c[u[r]]).xaxis,a=n.yaxis,n._scene){var h=s.simpleMap(i.range,i.r2l),p=s.simpleMap(a.range,a.r2l);n._scene.update({range:[h[0],p[0],h[1],p[1]]})}if((ct||lt)&&(b(t),_(t)),ut){var g=e[2]/I._length,v=e[3]/P._length;for(r=0;r<u.length;r++){i=(n=c[u[r]]).xaxis,a=n.yaxis;var y,x,w,T,k=(ot||rt.isSubplotConstrained)&&!i.fixedrange&&U[i._id],M=(st||rt.isSubplotConstrained)&&!a.fixedrange&&X[a._id];if(k?(y=g,w=m||rt.isSubplotConstrained?e[0]:Xt(i,y)):rt.xaHash[i._id]?(y=g,w=e[0]*i._length/I._length):rt.yaHash[i._id]?(y=v,w="ns"===it?-e[1]*i._length/P._length:Xt(i,y,{n:"top",s:"bottom"}[it])):w=Wt(i,y=Yt(i,g,v)),M?(x=v,T=d||rt.isSubplotConstrained?e[1]:Xt(a,x)):rt.yaHash[a._id]?(x=v,T=e[1]*a._length/P._length):rt.xaHash[a._id]?(x=g,T="ew"===nt?-e[0]*a._length/I._length:Xt(a,x,{e:"right",w:"left"}[nt])):T=Wt(a,x=Yt(a,g,v)),y||x){y||(y=1),x||(x=1);var A=i._offset-w/y,S=a._offset-T/x;n.clipRect.call(f.setTranslate,w,T).call(f.setScale,y,x),n.plot.call(f.setTranslate,A,S).call(f.setScale,1/y,1/x),y===n.xScaleFactor&&x===n.yScaleFactor||(f.setPointGroupScale(n.zoomScalePts,y,x),f.setTextPointsScale(n.zoomScaleTxt,y,x)),f.hideOutsideRangePoints(n.clipOnAxisFalseTraces,n),n.xScaleFactor=y,n.yScaleFactor=x}}}}function Yt(t,e,r){return t.fixedrange?0:ot&&et.xaHash[t._id]?e:st&&(et.isSubplotConstrained?et.xaHash:et.yaHash)[t._id]?r:0}function Wt(t,e){return e?(t.range=t._r.slice(),S(t,e),Xt(t,e)):0}function Xt(t,e,r){return t._length*(1-e)*x[r||t.constraintoward||"middle"]}return d.length*m.length!=1&&Y(xt,(function(e){if(t._context._scrollZoom.cartesian||t._fullLayout._enablescrollzoom){if(It(),t._transitioningWithDuration)return e.preventDefault(),void e.stopPropagation();vt(),clearTimeout(Ft);var r=-e.deltaY;if(isFinite(r)||(r=e.wheelDelta/10),isFinite(r)){var n,i=Math.exp(-Math.min(Math.max(r,-20),20)/200),a=Nt.draglayer.select(".nsewdrag").node().getBoundingClientRect(),o=(e.clientX-a.left)/a.width,l=(a.bottom-e.clientY)/a.height;if(ot){for(m||(o=.5),n=0;n<Z.length;n++)c(Z[n],o,i);Ut("x"),Rt[2]*=i,Rt[0]+=Rt[2]*o*(1/i-1)}if(st){for(d||(l=.5),n=0;n<J.length;n++)c(J[n],l,i);Ut("y"),Rt[3]*=i,Rt[1]+=Rt[3]*(1-l)*(1/i-1)}Gt(Rt),Vt(),t.emit("plotly_relayouting",ft),Ft=setTimeout((function(){Rt=[0,0,$,tt],Ht()}),Bt),e.preventDefault()}else s.log("Did not find wheel motion attributes: ",e)}function c(t,e,r){if(!t.fixedrange){var n=s.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)}))}}})),xt},makeDragger:P,makeRectDragger:z,makeZoombox:B,makeCorners:N,updateZoombox:j,xyCorners:H,transitionZoombox:U,removeZoombox:V,showDoubleClickNotifier:q,attachWheelEventHandler:Y}},{"../../components/color":643,"../../components/dragelement":662,"../../components/dragelement/helpers":661,"../../components/drawing":665,"../../components/fx":683,"../../constants/alignment":745,"../../lib":778,"../../lib/clear_gl_canvases":762,"../../lib/setcursor":799,"../../lib/svg_text_utils":803,"../../plot_api/subroutines":818,"../../registry":911,"../plots":891,"./axes":828,"./axis_ids":831,"./constants":834,"./scale_zoom":846,"./select":847,d3:169,"has-passive-events":441,tinycolor2:576}],837:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../components/fx"),a=t("../../components/dragelement"),o=t("../../lib/setcursor"),s=t("./dragbox").makeDragBox,l=t("./constants").DRAGGERSIZE;r.initInteractions=function(t){var e=t._fullLayout;if(t._context.staticPlot)n.select(t).selectAll(".drag").remove();else if(e._has("cartesian")||e._has("splom")){Object.keys(e._plots||{}).sort((function(t,r){if((e._plots[t].mainplot&&!0)===(e._plots[r].mainplot&&!0)){var n=t.split("y"),i=r.split("y");return n[0]===i[0]?Number(n[1]||1)-Number(i[1]||1):Number(n[0]||1)-Number(i[0]||1)}return e._plots[t].mainplot?1:-1})).forEach((function(r){var n=e._plots[r],o=n.xaxis,c=n.yaxis;if(!n.mainplot){var u=s(t,n,o._offset,c._offset,o._length,c._length,"ns","ew");u.onmousemove=function(e){t._fullLayout._rehover=function(){t._fullLayout._hoversubplot===r&&t._fullLayout._plots[r]&&i.hover(t,e,r)},i.hover(t,e,r),t._fullLayout._lasthover=u,t._fullLayout._hoversubplot=r},u.onmouseout=function(e){t._dragging||(t._fullLayout._hoversubplot=null,a.unhover(t,e))},t._context.showAxisDragHandles&&(s(t,n,o._offset-l,c._offset-l,l,l,"n","w"),s(t,n,o._offset+o._length,c._offset-l,l,l,"n","e"),s(t,n,o._offset-l,c._offset+c._length,l,l,"s","w"),s(t,n,o._offset+o._length,c._offset+c._length,l,l,"s","e"))}if(t._context.showAxisDragHandles){if(r===o._mainSubplot){var f=o._mainLinePosition;"top"===o.side&&(f-=l),s(t,n,o._offset+.1*o._length,f,.8*o._length,l,"","ew"),s(t,n,o._offset,f,.1*o._length,l,"","w"),s(t,n,o._offset+.9*o._length,f,.1*o._length,l,"","e")}if(r===c._mainSubplot){var h=c._mainLinePosition;"right"!==c.side&&(h-=l),s(t,n,h,c._offset+.1*c._length,l,.8*c._length,"ns",""),s(t,n,h,c._offset+.9*c._length,l,.1*c._length,"s",""),s(t,n,h,c._offset,l,.1*c._length,"n","")}}}));var o=e._hoverlayer.node();o.onmousemove=function(r){r.target=t._fullLayout._lasthover,i.hover(t,r,e._hoversubplot)},o.onclick=function(e){e.target=t._fullLayout._lasthover,i.click(t,e)},o.onmousedown=function(e){t._fullLayout._lasthover.onmousedown(e)},r.updateFx(t)}},r.updateFx=function(t){var e=t._fullLayout,r="pan"===e.dragmode?"move":"crosshair";o(e._draggers,r)}},{"../../components/dragelement":662,"../../components/fx":683,"../../lib/setcursor":799,"./constants":834,"./dragbox":836,d3:169}],838:[function(t,e,r){"use strict";e.exports={clearOutlineControllers:function(t){var e=t._fullLayout._zoomlayer;e&&e.selectAll(".outline-controllers").remove()},clearSelect:function(t){var e=t._fullLayout._zoomlayer;e&&e.selectAll(".select-outline").remove(),t._fullLayout._drawing=!1}}},{}],839:[function(t,e,r){"use strict";var n=t("../../lib").strTranslate;function i(t,e){switch(t.type){case"log":return t.p2d(e);case"date":return t.p2r(e,0,t.calendar);default:return t.p2r(e)}}e.exports={p2r:i,r2p:function(t,e){switch(t.type){case"log":return t.d2p(e);case"date":return t.r2p(e,0,t.calendar);default:return t.r2p(e)}},axValue:function(t){var e="y"===t._id.charAt(0)?1:0;return function(r){return i(t,r[e])}},getTransform:function(t){return n(t.xaxis._offset,t.yaxis._offset)}}},{"../../lib":778}],840:[function(t,e,r){"use strict";var n=t("../../registry"),i=t("../../lib"),a=t("./axis_ids");e.exports=function(t){return function(e,r){var o=e[t];if(Array.isArray(o))for(var s=n.subplotsRegistry.cartesian,l=s.idRegex,c=r._subplots,u=c.xaxis,f=c.yaxis,h=c.cartesian,p=r._has("cartesian")||r._has("gl2d"),d=0;d<o.length;d++){var g=o[d];if(i.isPlainObject(g)){var m=a.cleanId(g.xref,"x",!1),v=a.cleanId(g.yref,"y",!1),y=l.x.test(m),x=l.y.test(v);if(y||x){p||i.pushUnique(r._basePlotModules,s);var b=!1;y&&-1===u.indexOf(m)&&(u.push(m),b=!0),x&&-1===f.indexOf(v)&&(f.push(v),b=!0),b&&y&&x&&h.push(m+v)}}}}}},{"../../lib":778,"../../registry":911,"./axis_ids":831}],841:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../registry"),a=t("../../lib"),o=t("../plots"),s=t("../../components/drawing"),l=t("../get_data").getModuleCalcData,c=t("./axis_ids"),u=t("./constants"),f=t("../../constants/xmlns_namespaces"),h=a.ensureSingle;function p(t,e,r){return a.ensureSingle(t,e,r,(function(t){t.datum(r)}))}function d(t,e,r,a,o){for(var c,f,h,p=u.traceLayerClasses,d=t._fullLayout,g=d._modules,m=[],v=[],y=0;y<g.length;y++){var x=(c=g[y]).name,b=i.modules[x].categories;if(b.svg){var _=c.layerName||x+"layer",w=c.plot;h=(f=l(r,w))[0],r=f[1],h.length&&m.push({i:p.indexOf(_),className:_,plotMethod:w,cdModule:h}),b.zoomScale&&v.push("."+_)}}m.sort((function(t,e){return t.i-e.i}));var T=e.plot.selectAll("g.mlayer").data(m,(function(t){return t.className}));if(T.enter().append("g").attr("class",(function(t){return t.className})).classed("mlayer",!0).classed("rangeplot",e.isRangePlot),T.exit().remove(),T.order(),T.each((function(r){var i=n.select(this),l=r.className;r.plotMethod(t,e,r.cdModule,i,a,o),-1===u.clipOnAxisFalseQuery.indexOf("."+l)&&s.setClipUrl(i,e.layerClipId,t)})),d._has("scattergl")&&(c=i.getModule("scattergl"),h=l(r,c)[0],c.plot(t,e,h)),!t._context.staticPlot&&(e._hasClipOnAxisFalse&&(e.clipOnAxisFalseTraces=e.plot.selectAll(u.clipOnAxisFalseQuery.join(",")).selectAll(".trace")),v.length)){var k=e.plot.selectAll(v.join(",")).selectAll(".trace");e.zoomScalePts=k.selectAll("path.point"),e.zoomScaleTxt=k.selectAll(".textpoint")}}function g(t,e){var r=e.plotgroup,n=e.id,i=u.layerValue2layerClass[e.xaxis.layer],a=u.layerValue2layerClass[e.yaxis.layer],o=t._fullLayout._hasOnlyLargeSploms;if(e.mainplot){var s=e.mainplotinfo,l=s.plotgroup,f=n+"-x",d=n+"-y";e.gridlayer=s.gridlayer,e.zerolinelayer=s.zerolinelayer,h(s.overlinesBelow,"path",f),h(s.overlinesBelow,"path",d),h(s.overaxesBelow,"g",f),h(s.overaxesBelow,"g",d),e.plot=h(s.overplot,"g",n),h(s.overlinesAbove,"path",f),h(s.overlinesAbove,"path",d),h(s.overaxesAbove,"g",f),h(s.overaxesAbove,"g",d),e.xlines=l.select(".overlines-"+i).select("."+f),e.ylines=l.select(".overlines-"+a).select("."+d),e.xaxislayer=l.select(".overaxes-"+i).select("."+f),e.yaxislayer=l.select(".overaxes-"+a).select("."+d)}else if(o)e.xlines=h(r,"path","xlines-above"),e.ylines=h(r,"path","ylines-above"),e.xaxislayer=h(r,"g","xaxislayer-above"),e.yaxislayer=h(r,"g","yaxislayer-above");else{var g=h(r,"g","layer-subplot");e.shapelayer=h(g,"g","shapelayer"),e.imagelayer=h(g,"g","imagelayer"),e.gridlayer=h(r,"g","gridlayer"),e.zerolinelayer=h(r,"g","zerolinelayer"),h(r,"path","xlines-below"),h(r,"path","ylines-below"),e.overlinesBelow=h(r,"g","overlines-below"),h(r,"g","xaxislayer-below"),h(r,"g","yaxislayer-below"),e.overaxesBelow=h(r,"g","overaxes-below"),e.plot=h(r,"g","plot"),e.overplot=h(r,"g","overplot"),e.xlines=h(r,"path","xlines-above"),e.ylines=h(r,"path","ylines-above"),e.overlinesAbove=h(r,"g","overlines-above"),h(r,"g","xaxislayer-above"),h(r,"g","yaxislayer-above"),e.overaxesAbove=h(r,"g","overaxes-above"),e.xlines=r.select(".xlines-"+i),e.ylines=r.select(".ylines-"+a),e.xaxislayer=r.select(".xaxislayer-"+i),e.yaxislayer=r.select(".yaxislayer-"+a)}o||(p(e.gridlayer,"g",e.xaxis._id),p(e.gridlayer,"g",e.yaxis._id),e.gridlayer.selectAll("g").map((function(t){return t[0]})).sort(c.idSort)),e.xlines.style("fill","none").classed("crisp",!0),e.ylines.style("fill","none").classed("crisp",!0)}function m(t,e){if(t){var r={};for(var i in t.each((function(t){var i=t[0];n.select(this).remove(),v(i,e),r[i]=!0})),e._plots)for(var a=e._plots[i].overlays||[],o=0;o<a.length;o++){var s=a[o];r[s.id]&&s.plot.selectAll(".trace").remove()}}}function v(t,e){e._draggers.selectAll("g."+t).remove(),e._defs.select("#clip"+e._uid+t+"plot").remove()}r.name="cartesian",r.attr=["xaxis","yaxis"],r.idRoot=["x","y"],r.idRegex=u.idRegex,r.attrRegex=u.attrRegex,r.attributes=t("./attributes"),r.layoutAttributes=t("./layout_attributes"),r.supplyLayoutDefaults=t("./layout_defaults"),r.transitionAxes=t("./transition_axes"),r.finalizeSubplots=function(t,e){var r,n,i,o=e._subplots,s=o.xaxis,l=o.yaxis,f=o.cartesian,h=f.concat(o.gl2d||[]),p={},d={};for(r=0;r<h.length;r++){var g=h[r].split("y");p[g[0]]=1,d["y"+g[1]]=1}for(r=0;r<s.length;r++)p[n=s[r]]||(i=(t[c.id2name(n)]||{}).anchor,u.idRegex.y.test(i)||(i="y"),f.push(n+i),h.push(n+i),d[i]||(d[i]=1,a.pushUnique(l,i)));for(r=0;r<l.length;r++)d[i=l[r]]||(n=(t[c.id2name(i)]||{}).anchor,u.idRegex.x.test(n)||(n="x"),f.push(n+i),h.push(n+i),p[n]||(p[n]=1,a.pushUnique(s,n)));if(!h.length){for(var m in n="",i="",t){if(u.attrRegex.test(m))"x"===m.charAt(0)?(!n||+m.substr(5)<+n.substr(5))&&(n=m):(!i||+m.substr(5)<+i.substr(5))&&(i=m)}n=n?c.name2id(n):"x",i=i?c.name2id(i):"y",s.push(n),l.push(i),f.push(n+i)}},r.plot=function(t,e,r,n){var i,a=t._fullLayout,o=a._subplots.cartesian,s=t.calcdata;if(!Array.isArray(e))for(e=[],i=0;i<s.length;i++)e.push(i);for(i=0;i<o.length;i++){for(var l,c=o[i],u=a._plots[c],f=[],h=0;h<s.length;h++){var p=s[h],g=p[0].trace;g.xaxis+g.yaxis===c&&((-1!==e.indexOf(g.index)||g.carpet)&&(l&&l[0].trace.xaxis+l[0].trace.yaxis===c&&-1!==["tonextx","tonexty","tonext"].indexOf(g.fill)&&-1===f.indexOf(l)&&f.push(l),f.push(p)),l=p)}d(t,u,f,r,n)}},r.clean=function(t,e,r,n){var i,a,o,s=n._plots||{},l=e._plots||{},u=n._subplots||{};if(n._hasOnlyLargeSploms&&!e._hasOnlyLargeSploms)for(o in s)(i=s[o]).plotgroup&&i.plotgroup.remove();var f=n._has&&n._has("gl"),h=e._has&&e._has("gl");if(f&&!h)for(o in s)(i=s[o])._scene&&i._scene.destroy();if(u.xaxis&&u.yaxis){var p=c.listIds({_fullLayout:n});for(a=0;a<p.length;a++){var d=p[a];e[c.id2name(d)]||n._infolayer.selectAll(".g-"+d+"title").remove()}}var g=n._has&&n._has("cartesian"),y=e._has&&e._has("cartesian");if(g&&!y)m(n._cartesianlayer.selectAll(".subplot"),n),n._defs.selectAll(".axesclip").remove(),delete n._axisConstraintGroups,delete n._axisMatchGroups;else if(u.cartesian)for(a=0;a<u.cartesian.length;a++){var x=u.cartesian[a];if(!l[x]){var b="."+x+",."+x+"-x,."+x+"-y";n._cartesianlayer.selectAll(b).remove(),v(x,n)}}},r.drawFramework=function(t){var e=t._fullLayout,r=function(t){var e,r,n,i,a,o,s=t._fullLayout,l=s._subplots.cartesian,c=l.length,u=[],f=[];for(e=0;e<c;e++){n=l[e],i=s._plots[n],a=i.xaxis,o=i.yaxis;var h=a._mainAxis,p=o._mainAxis,d=h._id+p._id,g=s._plots[d];i.overlays=[],d!==n&&g?(i.mainplot=d,i.mainplotinfo=g,f.push(n)):(i.mainplot=void 0,i.mainplotinfo=void 0,u.push(n))}for(e=0;e<f.length;e++)n=f[e],(i=s._plots[n]).mainplotinfo.overlays.push(i);var m=u.concat(f),v=new Array(c);for(e=0;e<c;e++){n=m[e],i=s._plots[n],a=i.xaxis,o=i.yaxis;var y=[n,a.layer,o.layer,a.overlaying||"",o.overlaying||""];for(r=0;r<i.overlays.length;r++)y.push(i.overlays[r].id);v[e]=y}return v}(t),i=e._cartesianlayer.selectAll(".subplot").data(r,String);i.enter().append("g").attr("class",(function(t){return"subplot "+t[0]})),i.order(),i.exit().call(m,e),i.each((function(r){var i=r[0],a=e._plots[i];a.plotgroup=n.select(this),g(t,a),a.draglayer=h(e._draggers,"g",i)}))},r.rangePlot=function(t,e,r){g(t,e),d(t,e,r),o.style(t)},r.toSVG=function(t){var e=t._fullLayout._glimages,r=n.select(t).selectAll(".svg-container");r.filter((function(t,e){return e===r.size()-1})).selectAll(".gl-canvas-context, .gl-canvas-focus").each((function(){var t=this.toDataURL("image/png");e.append("svg:image").attr({xmlns:f.svg,"xlink:href":t,preserveAspectRatio:"none",x:0,y:0,width:this.width,height:this.height})}))},r.updateFx=t("./graph_interact").updateFx},{"../../components/drawing":665,"../../constants/xmlns_namespaces":754,"../../lib":778,"../../registry":911,"../get_data":865,"../plots":891,"./attributes":826,"./axis_ids":831,"./constants":834,"./graph_interact":837,"./layout_attributes":842,"./layout_defaults":843,"./transition_axes":852,d3:169}],842:[function(t,e,r){"use strict";var n=t("../font_attributes"),i=t("../../components/color/attributes"),a=t("../../components/drawing/attributes").dash,o=t("../../lib/extend").extendFlat,s=t("../../plot_api/plot_template").templatedArray,l=(t("../../constants/docs").FORMAT_LINK,t("../../constants/docs").DATE_FORMAT_LINK,t("../../constants/numerical").ONEDAY),c=t("./constants"),u=c.HOUR_PATTERN,f=c.WEEKDAY_PATTERN;e.exports={visible:{valType:"boolean",editType:"plot"},color:{valType:"color",dflt:i.defaultLine,editType:"ticks"},title:{text:{valType:"string",editType:"ticks"},font:n({editType:"ticks"}),standoff:{valType:"number",min:0,editType:"ticks"},editType:"ticks"},type:{valType:"enumerated",values:["-","linear","log","date","category","multicategory"],dflt:"-",editType:"calc",_noTemplating:!0},autotypenumbers:{valType:"enumerated",values:["convert types","strict"],dflt:"convert types",editType:"calc"},autorange:{valType:"enumerated",values:[!0,!1,"reversed"],dflt:!0,editType:"axrange",impliedEdits:{"range[0]":void 0,"range[1]":void 0}},rangemode:{valType:"enumerated",values:["normal","tozero","nonnegative"],dflt:"normal",editType:"plot"},range:{valType:"info_array",items:[{valType:"any",editType:"axrange",impliedEdits:{"^autorange":!1},anim:!0},{valType:"any",editType:"axrange",impliedEdits:{"^autorange":!1},anim:!0}],editType:"axrange",impliedEdits:{autorange:!1},anim:!0},fixedrange:{valType:"boolean",dflt:!1,editType:"calc"},scaleanchor:{valType:"enumerated",values:[c.idRegex.x.toString(),c.idRegex.y.toString()],editType:"plot"},scaleratio:{valType:"number",min:0,dflt:1,editType:"plot"},constrain:{valType:"enumerated",values:["range","domain"],editType:"plot"},constraintoward:{valType:"enumerated",values:["left","center","right","top","middle","bottom"],editType:"plot"},matches:{valType:"enumerated",values:[c.idRegex.x.toString(),c.idRegex.y.toString()],editType:"calc"},rangebreaks:s("rangebreak",{enabled:{valType:"boolean",dflt:!0,editType:"calc"},bounds:{valType:"info_array",items:[{valType:"any",editType:"calc"},{valType:"any",editType:"calc"}],editType:"calc"},pattern:{valType:"enumerated",values:[f,u,""],editType:"calc"},values:{valType:"info_array",freeLength:!0,editType:"calc",items:{valType:"any",editType:"calc"}},dvalue:{valType:"number",editType:"calc",min:0,dflt:l},editType:"calc"}),tickmode:{valType:"enumerated",values:["auto","linear","array"],editType:"ticks",impliedEdits:{tick0:void 0,dtick:void 0}},nticks:{valType:"integer",min:0,dflt:0,editType:"ticks"},tick0:{valType:"any",editType:"ticks",impliedEdits:{tickmode:"linear"}},dtick:{valType:"any",editType:"ticks",impliedEdits:{tickmode:"linear"}},tickvals:{valType:"data_array",editType:"ticks"},ticktext:{valType:"data_array",editType:"ticks"},ticks:{valType:"enumerated",values:["outside","inside",""],editType:"ticks"},tickson:{valType:"enumerated",values:["labels","boundaries"],dflt:"labels",editType:"ticks"},ticklabelmode:{valType:"enumerated",values:["instant","period"],dflt:"instant",editType:"ticks"},ticklabelposition:{valType:"enumerated",values:["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"],dflt:"outside",editType:"calc"},mirror:{valType:"enumerated",values:[!0,"ticks",!1,"all","allticks"],dflt:!1,editType:"ticks+layoutstyle"},ticklen:{valType:"number",min:0,dflt:5,editType:"ticks"},tickwidth:{valType:"number",min:0,dflt:1,editType:"ticks"},tickcolor:{valType:"color",dflt:i.defaultLine,editType:"ticks"},showticklabels:{valType:"boolean",dflt:!0,editType:"ticks"},automargin:{valType:"boolean",dflt:!1,editType:"ticks"},showspikes:{valType:"boolean",dflt:!1,editType:"modebar"},spikecolor:{valType:"color",dflt:null,editType:"none"},spikethickness:{valType:"number",dflt:3,editType:"none"},spikedash:o({},a,{dflt:"dash",editType:"none"}),spikemode:{valType:"flaglist",flags:["toaxis","across","marker"],dflt:"toaxis",editType:"none"},spikesnap:{valType:"enumerated",values:["data","cursor","hovered data"],dflt:"data",editType:"none"},tickfont:n({editType:"ticks"}),tickangle:{valType:"angle",dflt:"auto",editType:"ticks"},tickprefix:{valType:"string",dflt:"",editType:"ticks"},showtickprefix:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"ticks"},ticksuffix:{valType:"string",dflt:"",editType:"ticks"},showticksuffix:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"ticks"},showexponent:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"ticks"},exponentformat:{valType:"enumerated",values:["none","e","E","power","SI","B"],dflt:"B",editType:"ticks"},minexponent:{valType:"number",dflt:3,min:0,editType:"ticks"},separatethousands:{valType:"boolean",dflt:!1,editType:"ticks"},tickformat:{valType:"string",dflt:"",editType:"ticks"},tickformatstops:s("tickformatstop",{enabled:{valType:"boolean",dflt:!0,editType:"ticks"},dtickrange:{valType:"info_array",items:[{valType:"any",editType:"ticks"},{valType:"any",editType:"ticks"}],editType:"ticks"},value:{valType:"string",dflt:"",editType:"ticks"},editType:"ticks"}),hoverformat:{valType:"string",dflt:"",editType:"none"},showline:{valType:"boolean",dflt:!1,editType:"ticks+layoutstyle"},linecolor:{valType:"color",dflt:i.defaultLine,editType:"layoutstyle"},linewidth:{valType:"number",min:0,dflt:1,editType:"ticks+layoutstyle"},showgrid:{valType:"boolean",editType:"ticks"},gridcolor:{valType:"color",dflt:i.lightLine,editType:"ticks"},gridwidth:{valType:"number",min:0,dflt:1,editType:"ticks"},zeroline:{valType:"boolean",editType:"ticks"},zerolinecolor:{valType:"color",dflt:i.defaultLine,editType:"ticks"},zerolinewidth:{valType:"number",dflt:1,editType:"ticks"},showdividers:{valType:"boolean",dflt:!0,editType:"ticks"},dividercolor:{valType:"color",dflt:i.defaultLine,editType:"ticks"},dividerwidth:{valType:"number",dflt:1,editType:"ticks"},anchor:{valType:"enumerated",values:["free",c.idRegex.x.toString(),c.idRegex.y.toString()],editType:"plot"},side:{valType:"enumerated",values:["top","bottom","left","right"],editType:"plot"},overlaying:{valType:"enumerated",values:["free",c.idRegex.x.toString(),c.idRegex.y.toString()],editType:"plot"},layer:{valType:"enumerated",values:["above traces","below traces"],dflt:"above traces",editType:"plot"},domain:{valType:"info_array",items:[{valType:"number",min:0,max:1,editType:"plot"},{valType:"number",min:0,max:1,editType:"plot"}],dflt:[0,1],editType:"plot"},position:{valType:"number",min:0,max:1,dflt:0,editType:"plot"},categoryorder:{valType:"enumerated",values:["trace","category ascending","category descending","array","total ascending","total descending","min ascending","min descending","max ascending","max descending","sum ascending","sum descending","mean ascending","mean descending","median ascending","median descending"],dflt:"trace",editType:"calc"},categoryarray:{valType:"data_array",editType:"calc"},uirevision:{valType:"any",editType:"none"},editType:"calc",_deprecated:{autotick:{valType:"boolean",editType:"ticks"},title:{valType:"string",editType:"ticks"},titlefont:n({editType:"ticks"})}}},{"../../components/color/attributes":642,"../../components/drawing/attributes":664,"../../constants/docs":748,"../../constants/numerical":753,"../../lib/extend":768,"../../plot_api/plot_template":817,"../font_attributes":856,"./constants":834}],843:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../components/color"),a=t("../../components/fx/helpers").isUnifiedHover,o=t("../../components/fx/hovermode_defaults"),s=t("../../plot_api/plot_template"),l=t("../layout_attributes"),c=t("./layout_attributes"),u=t("./type_defaults"),f=t("./axis_defaults"),h=t("./constraints"),p=t("./position_defaults"),d=t("./axis_ids"),g=d.id2name,m=d.name2id,v=t("./constants").AX_ID_PATTERN,y=t("../../registry"),x=y.traceIs,b=y.getComponentMethod;function _(t,e,r){Array.isArray(t[e])?t[e].push(r):t[e]=[r]}e.exports=function(t,e,r){var y,w,T=e.autotypenumbers,k={},M={},A={},S={},E={},C={},L={},I={},P={},z={};for(y=0;y<r.length;y++){var O=r[y];if(x(O,"cartesian")||x(O,"gl2d")){var D,R;if(O.xaxis)D=g(O.xaxis),_(k,D,O);else if(O.xaxes)for(w=0;w<O.xaxes.length;w++)_(k,g(O.xaxes[w]),O);if(O.yaxis)R=g(O.yaxis),_(k,R,O);else if(O.yaxes)for(w=0;w<O.yaxes.length;w++)_(k,g(O.yaxes[w]),O);if("funnel"===O.type?"h"===O.orientation?(D&&(M[D]=!0),R&&(L[R]=!0)):R&&(A[R]=!0):"image"===O.type?(R&&(I[R]=!0),D&&(I[D]=!0)):(R&&(E[R]=!0,C[R]=!0),x(O,"carpet")&&("carpet"!==O.type||O._cheater)||D&&(S[D]=!0)),"carpet"===O.type&&O._cheater&&D&&(M[D]=!0),x(O,"2dMap")&&(P[D]=!0,P[R]=!0),x(O,"oriented"))z["h"===O.orientation?R:D]=!0}}var F=e._subplots,B=F.xaxis,N=F.yaxis,j=n.simpleMap(B,g),U=n.simpleMap(N,g),V=j.concat(U),q=i.background;B.length&&N.length&&(q=n.coerce(t,e,l,"plot_bgcolor"));var H,G,Y,W,X,Z=i.combine(q,e.paper_bgcolor);function J(){var t=k[H]||[];X._traceIndices=t.map((function(t){return t._expandedIndex})),X._annIndices=[],X._shapeIndices=[],X._imgIndices=[],X._subplotsWith=[],X._counterAxes=[],X._name=X._attr=H,X._id=G}function K(t,e){return n.coerce(W,X,c,t,e)}function Q(t,e){return n.coerce2(W,X,c,t,e)}function $(t){return"x"===t?N:B}function tt(e,r){for(var n="x"===e?j:U,i=[],a=0;a<n.length;a++){var o=n[a];o===r||(t[o]||{}).overlaying||i.push(m(o))}return i}var et={x:$("x"),y:$("y")},rt=et.x.concat(et.y),nt={},it=[];function at(){var t=W.matches;v.test(t)&&-1===rt.indexOf(t)&&(nt[t]=W.type,it=Object.keys(nt))}var ot=o(t,e,r),st=a(ot);for(y=0;y<V.length;y++){H=V[y],G=m(H),Y=H.charAt(0),n.isPlainObject(t[H])||(t[H]={}),W=t[H],X=s.newContainer(e,H,Y+"axis"),J();var lt="x"===Y&&!S[H]&&M[H]||"y"===Y&&!E[H]&&A[H],ct="y"===Y&&(!C[H]&&L[H]||I[H]),ut={letter:Y,font:e.font,outerTicks:P[H],showGrid:!z[H],data:k[H]||[],bgColor:Z,calendar:e.calendar,automargin:!0,visibleDflt:lt,reverseDflt:ct,autotypenumbersDflt:T,splomStash:((e._splomAxes||{})[Y]||{})[G]};K("uirevision",e.uirevision),u(W,X,K,ut),f(W,X,K,ut,e);var ft=st&&Y===ot.charAt(0),ht=Q("spikecolor",st?X.color:void 0),pt=Q("spikethickness",st?1.5:void 0),dt=Q("spikedash",st?"dot":void 0),gt=Q("spikemode",st?"across":void 0),mt=Q("spikesnap",st?"hovered data":void 0);K("showspikes",!!(ft||ht||pt||dt||gt||mt))||(delete X.spikecolor,delete X.spikethickness,delete X.spikedash,delete X.spikemode,delete X.spikesnap),p(W,X,K,{letter:Y,counterAxes:et[Y],overlayableAxes:tt(Y,H),grid:e.grid}),K("title.standoff"),at(),X._input=W}for(y=0;y<it.length;){G=it[y++],Y=(H=g(G)).charAt(0),n.isPlainObject(t[H])||(t[H]={}),W=t[H],X=s.newContainer(e,H,Y+"axis"),J();var vt={letter:Y,font:e.font,outerTicks:P[H],showGrid:!z[H],data:[],bgColor:Z,calendar:e.calendar,automargin:!0,visibleDflt:!1,reverseDflt:!1,autotypenumbersDflt:T,splomStash:((e._splomAxes||{})[Y]||{})[G]};K("uirevision",e.uirevision),X.type=nt[G]||"linear",f(W,X,K,vt,e),p(W,X,K,{letter:Y,counterAxes:et[Y],overlayableAxes:tt(Y,H),grid:e.grid}),K("fixedrange"),at(),X._input=W}var yt=b("rangeslider","handleDefaults"),xt=b("rangeselector","handleDefaults");for(y=0;y<j.length;y++)H=j[y],W=t[H],X=e[H],yt(t,e,H),"date"===X.type&&xt(W,X,e,U,X.calendar),K("fixedrange");for(y=0;y<U.length;y++){H=U[y],W=t[H],X=e[H];var bt=e[g(X.anchor)];K("fixedrange",b("rangeslider","isVisible")(bt))}h.handleDefaults(t,e,{axIds:rt.concat(it).sort(d.idSort),axHasImage:I})}},{"../../components/color":643,"../../components/fx/helpers":679,"../../components/fx/hovermode_defaults":682,"../../lib":778,"../../plot_api/plot_template":817,"../../registry":911,"../layout_attributes":882,"./axis_defaults":830,"./axis_ids":831,"./constants":834,"./constraints":835,"./layout_attributes":842,"./position_defaults":845,"./type_defaults":853}],844:[function(t,e,r){"use strict";var n=t("tinycolor2").mix,i=t("../../components/color/attributes").lightFraction,a=t("../../lib");e.exports=function(t,e,r,o){var s=(o=o||{}).dfltColor;function l(r,n){return a.coerce2(t,e,o.attributes,r,n)}var c=l("linecolor",s),u=l("linewidth");r("showline",o.showLine||!!c||!!u)||(delete e.linecolor,delete e.linewidth);var f=l("gridcolor",n(s,o.bgColor,o.blend||i).toRgbString()),h=l("gridwidth");if(r("showgrid",o.showGrid||!!f||!!h)||(delete e.gridcolor,delete e.gridwidth),!o.noZeroLine){var p=l("zerolinecolor",s),d=l("zerolinewidth");r("zeroline",o.showGrid||!!p||!!d)||(delete e.zerolinecolor,delete e.zerolinewidth)}}},{"../../components/color/attributes":642,"../../lib":778,tinycolor2:576}],845:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../lib");e.exports=function(t,e,r,a){var o,s,l,c,u=a.counterAxes||[],f=a.overlayableAxes||[],h=a.letter,p=a.grid;p&&(s=p._domains[h][p._axisMap[e._id]],o=p._anchors[e._id],s&&(l=p[h+"side"].split(" ")[0],c=p.domain[h]["right"===l||"top"===l?1:0])),s=s||[0,1],o=o||(n(t.position)?"free":u[0]||"free"),l=l||("x"===h?"bottom":"left"),c=c||0,"free"===i.coerce(t,e,{anchor:{valType:"enumerated",values:["free"].concat(u),dflt:o}},"anchor")&&r("position",c),i.coerce(t,e,{side:{valType:"enumerated",values:"x"===h?["bottom","top"]:["left","right"],dflt:l}},"side");var d=!1;if(f.length&&(d=i.coerce(t,e,{overlaying:{valType:"enumerated",values:[!1].concat(f),dflt:!1}},"overlaying")),!d){var g=r("domain",s);g[0]>g[1]-1/4096&&(e.domain=s),i.noneOrAll(t.domain,e.domain,s)}return r("layer"),e}},{"../../lib":778,"fast-isnumeric":241}],846:[function(t,e,r){"use strict";var n=t("../../constants/alignment").FROM_BL;e.exports=function(t,e,r){void 0===r&&(r=n[t.constraintoward||"center"]);var i=[t.r2l(t.range[0]),t.r2l(t.range[1])],a=i[0]+(i[1]-i[0])*r;t.range=t._input.range=[t.l2r(a+(i[0]-a)*e),t.l2r(a+(i[1]-a)*e)],t.setScale()}},{"../../constants/alignment":745}],847:[function(t,e,r){"use strict";var n=t("polybooljs"),i=t("../../registry"),a=t("../../components/drawing").dashStyle,o=t("../../components/color"),s=t("../../components/fx"),l=t("../../components/fx/helpers").makeEventData,c=t("../../components/dragelement/helpers"),u=c.freeMode,f=c.rectMode,h=c.drawMode,p=c.openMode,d=c.selectMode,g=t("../../components/shapes/draw_newshape/display_outlines"),m=t("../../components/shapes/draw_newshape/helpers").handleEllipse,v=t("../../components/shapes/draw_newshape/newshapes"),y=t("../../lib"),x=t("../../lib/polygon"),b=t("../../lib/throttle"),_=t("./axis_ids").getFromId,w=t("../../lib/clear_gl_canvases"),T=t("../../plot_api/subroutines").redrawReglTraces,k=t("./constants"),M=k.MINSELECT,A=x.filter,S=x.tester,E=t("./handle_outline").clearSelect,C=t("./helpers"),L=C.p2r,I=C.axValue,P=C.getTransform;function z(t,e,r,n,i,a,o){var s,l,c,u,f,h,d,m,v,y=e._hoverdata,x=e._fullLayout.clickmode.indexOf("event")>-1,b=[];if(function(t){return t&&Array.isArray(t)&&!0!==t[0].hoverOnBox}(y)){F(t,e,a);var _=function(t,e){var r,n,i=t[0],a=-1,o=[];for(n=0;n<e.length;n++)if(r=e[n],i.fullData._expandedIndex===r.cd[0].trace._expandedIndex){if(!0===i.hoverOnBox)break;void 0!==i.pointNumber?a=i.pointNumber:void 0!==i.binNumber&&(a=i.binNumber,o=i.pointNumbers);break}return{pointNumber:a,pointNumbers:o,searchInfo:r}}(y,s=N(e,r,n,i));if(_.pointNumbers.length>0?function(t,e){var r,n,i,a=[];for(i=0;i<t.length;i++)(r=t[i]).cd[0].trace.selectedpoints&&r.cd[0].trace.selectedpoints.length>0&&a.push(r);if(1===a.length&&a[0]===e.searchInfo&&(n=e.searchInfo.cd[0].trace).selectedpoints.length===e.pointNumbers.length){for(i=0;i<e.pointNumbers.length;i++)if(n.selectedpoints.indexOf(e.pointNumbers[i])<0)return!1;return!0}return!1}(s,_):function(t){var e,r,n,i=0;for(n=0;n<t.length;n++)if(e=t[n],(r=e.cd[0].trace).selectedpoints){if(r.selectedpoints.length>1)return!1;if((i+=r.selectedpoints.length)>1)return!1}return 1===i}(s)&&(h=j(_))){for(o&&o.remove(),v=0;v<s.length;v++)(l=s[v])._module.selectPoints(l,!1);U(e,s),B(a),x&&e.emit("plotly_deselect",null)}else{for(d=t.shiftKey&&(void 0!==h?h:j(_)),c=function(t,e,r){return{pointNumber:t,searchInfo:e,subtract:r}}(_.pointNumber,_.searchInfo,d),u=R(a.selectionDefs.concat([c])),v=0;v<s.length;v++)if(f=V(s[v]._module.selectPoints(s[v],u),s[v]),b.length)for(var w=0;w<f.length;w++)b.push(f[w]);else b=f;if(U(e,s,m={points:b}),c&&a&&a.selectionDefs.push(c),o){var T=a.mergedPolygons,k=p(a.dragmode);g(q(T,k),o,a)}x&&e.emit("plotly_selected",m)}}}function O(t){return"pointNumber"in t&&"searchInfo"in t}function D(t){return{xmin:0,xmax:0,ymin:0,ymax:0,pts:[],contains:function(e,r,n,i){var a=t.searchInfo.cd[0].trace._expandedIndex;return i.cd[0].trace._expandedIndex===a&&n===t.pointNumber},isRect:!1,degenerate:!1,subtract:t.subtract}}function R(t){for(var e=[],r=O(t[0])?0:t[0][0][0],n=r,i=O(t[0])?0:t[0][0][1],a=i,o=0;o<t.length;o++)if(O(t[o]))e.push(D(t[o]));else{var s=x.tester(t[o]);s.subtract=t[o].subtract,e.push(s),r=Math.min(r,s.xmin),n=Math.max(n,s.xmax),i=Math.min(i,s.ymin),a=Math.max(a,s.ymax)}return{xmin:r,xmax:n,ymin:i,ymax:a,pts:[],contains:function(t,r,n,i){for(var a=!1,o=0;o<e.length;o++)e[o].contains(t,r,n,i)&&(a=!1===e[o].subtract);return a},isRect:!1,degenerate:!1}}function F(t,e,r){e._fullLayout._drawing=!1;var n=e._fullLayout,i=r.plotinfo,a=r.dragmode,o=n._lastSelectedSubplot&&n._lastSelectedSubplot===i.id,s=(t.shiftKey||t.altKey)&&!(h(a)&&p(a));o&&s&&i.selection&&i.selection.selectionDefs&&!r.selectionDefs?(r.selectionDefs=i.selection.selectionDefs,r.mergedPolygons=i.selection.mergedPolygons):s&&i.selection||B(r),o||(E(e),n._lastSelectedSubplot=i.id)}function B(t){var e=t.dragmode,r=t.plotinfo,n=t.gd;if(n._fullLayout._activeShapeIndex>=0&&n._fullLayout._deactivateShape(n),h(e)){var a=n._fullLayout._zoomlayer.selectAll(".select-outline-"+r.id);if(a&&n._fullLayout._drawing){var o=v(a,t);o&&i.call("_guiRelayout",n,{shapes:o}),n._fullLayout._drawing=!1}}r.selection={},r.selection.selectionDefs=t.selectionDefs=[],r.selection.mergedPolygons=t.mergedPolygons=[]}function N(t,e,r,n){var i,a,o,s=[],l=e.map((function(t){return t._id})),c=r.map((function(t){return t._id}));for(o=0;o<t.calcdata.length;o++)if(!0===(a=(i=t.calcdata[o])[0].trace).visible&&a._module&&a._module.selectPoints)if(!n||a.subplot!==n&&a.geo!==n)if("splom"===a.type&&a._xaxes[l[0]]&&a._yaxes[c[0]]){var u=h(a._module,i,e[0],r[0]);u.scene=t._fullLayout._splomScenes[a.uid],s.push(u)}else if("sankey"===a.type){var f=h(a._module,i,e[0],r[0]);s.push(f)}else{if(-1===l.indexOf(a.xaxis))continue;if(-1===c.indexOf(a.yaxis))continue;s.push(h(a._module,i,_(t,a.xaxis),_(t,a.yaxis)))}else s.push(h(a._module,i,e[0],r[0]));return s;function h(t,e,r,n){return{_module:t,cd:e,xaxis:r,yaxis:n}}}function j(t){var e=t.searchInfo.cd[0].trace,r=t.pointNumber,n=t.pointNumbers,i=n.length>0?n[0]:r;return!!e.selectedpoints&&e.selectedpoints.indexOf(i)>-1}function U(t,e,r){var n,a,o,s;for(n=0;n<e.length;n++){var l=e[n].cd[0].trace._fullInput,c=t._fullLayout._tracePreGUI[l.uid]||{};void 0===c.selectedpoints&&(c.selectedpoints=l._input.selectedpoints||null)}if(r){var u=r.points||[];for(n=0;n<e.length;n++)(s=e[n].cd[0].trace)._input.selectedpoints=s._fullInput.selectedpoints=[],s._fullInput!==s&&(s.selectedpoints=[]);for(n=0;n<u.length;n++){var f=u[n],h=f.data,p=f.fullData;f.pointIndices?([].push.apply(h.selectedpoints,f.pointIndices),s._fullInput!==s&&[].push.apply(p.selectedpoints,f.pointIndices)):(h.selectedpoints.push(f.pointIndex),s._fullInput!==s&&p.selectedpoints.push(f.pointIndex))}}else for(n=0;n<e.length;n++)delete(s=e[n].cd[0].trace).selectedpoints,delete s._input.selectedpoints,s._fullInput!==s&&delete s._fullInput.selectedpoints;var d=!1;for(n=0;n<e.length;n++){s=(o=(a=e[n]).cd)[0].trace,i.traceIs(s,"regl")&&(d=!0);var g=a._module,m=g.styleOnSelect||g.style;m&&(m(t,o,o[0].node3),o[0].nodeRangePlot3&&m(t,o,o[0].nodeRangePlot3))}d&&(w(t),T(t))}function V(t,e){if(Array.isArray(t))for(var r=e.cd,n=e.cd[0].trace,i=0;i<t.length;i++)t[i]=l(t[i],n,r);return t}function q(t,e){for(var r=[],n=0;n<t.length;n++){r[n]=[];for(var i=0;i<t[n].length;i++){r[n][i]=[],r[n][i][0]=i?"L":"M";for(var a=0;a<t[n][i].length;a++)r[n][i].push(t[n][i][a])}e||r[n].push(["Z",r[n][0][1],r[n][0][2]])}return r}e.exports={prepSelect:function(t,e,r,i,l){var c=u(l),v=f(l),x=p(l),_=h(l),w=d(l),T="drawcircle"===l,E="drawline"===l||T,C=i.gd,O=C._fullLayout,D=O._zoomlayer,j=i.element.getBoundingClientRect(),H=i.plotinfo,G=P(H),Y=e-j.left,W=r-j.top;O._calcInverseTransform(C);var X=y.apply3DTransform(O._invTransform)(Y,W);Y=X[0],W=X[1];var Z,J,K,Q,$,tt,et,rt=O._invScaleX,nt=O._invScaleY,it=Y,at=W,ot="M"+Y+","+W,st=i.xaxes[0]._length,lt=i.yaxes[0]._length,ct=i.xaxes.concat(i.yaxes),ut=t.altKey&&!(h(l)&&x);F(t,C,i),c&&(Z=A([[Y,W]],k.BENDPX));var ft=D.selectAll("path.select-outline-"+H.id).data(_?[0]:[1,2]),ht=O.newshape;ft.enter().append("path").attr("class",(function(t){return"select-outline select-outline-"+t+" select-outline-"+H.id})).style(_?{opacity:ht.opacity/2,fill:x?void 0:ht.fillcolor,stroke:ht.line.color,"stroke-dasharray":a(ht.line.dash,ht.line.width),"stroke-width":ht.line.width+"px"}:{}).attr("fill-rule",ht.fillrule).classed("cursor-move",!!_).attr("transform",G).attr("d",ot+"Z");var pt,dt=D.append("path").attr("class","zoombox-corners").style({fill:o.background,stroke:o.defaultLine,"stroke-width":1}).attr("transform",G).attr("d","M0,0Z"),gt=O._uid+k.SELECTID,mt=[],vt=N(C,i.xaxes,i.yaxes,i.subplot);function yt(t,e){return t-e}pt=H.fillRangeItems?H.fillRangeItems:v?function(t,e){var r=t.range={};for($=0;$<ct.length;$++){var n=ct[$],i=n._id.charAt(0);r[n._id]=[L(n,e[i+"min"]),L(n,e[i+"max"])].sort(yt)}}:function(t,e,r){var n=t.lassoPoints={};for($=0;$<ct.length;$++){var i=ct[$];n[i._id]=r.filtered.map(I(i))}},i.moveFn=function(t,e){it=Math.max(0,Math.min(st,rt*t+Y)),at=Math.max(0,Math.min(lt,nt*e+W));var r=Math.abs(it-Y),a=Math.abs(at-W);if(v){var o,s,l;if(w){var u=O.selectdirection;switch(o="any"===u?a<Math.min(.6*r,M)?"h":r<Math.min(.6*a,M)?"v":"d":u){case"h":s=T?lt/2:0,l=lt;break;case"v":s=T?st/2:0,l=st}}if(_)switch(O.newshape.drawdirection){case"vertical":o="h",s=T?lt/2:0,l=lt;break;case"horizontal":o="v",s=T?st/2:0,l=st;break;case"ortho":r<a?(o="h",s=W,l=at):(o="v",s=Y,l=it);break;default:o="d"}"h"===o?((Q=E?m(T,[it,s],[it,l]):[[Y,s],[Y,l],[it,l],[it,s]]).xmin=E?it:Math.min(Y,it),Q.xmax=E?it:Math.max(Y,it),Q.ymin=Math.min(s,l),Q.ymax=Math.max(s,l),dt.attr("d","M"+Q.xmin+","+(W-M)+"h-4v"+2*M+"h4ZM"+(Q.xmax-1)+","+(W-M)+"h4v"+2*M+"h-4Z")):"v"===o?((Q=E?m(T,[s,at],[l,at]):[[s,W],[s,at],[l,at],[l,W]]).xmin=Math.min(s,l),Q.xmax=Math.max(s,l),Q.ymin=E?at:Math.min(W,at),Q.ymax=E?at:Math.max(W,at),dt.attr("d","M"+(Y-M)+","+Q.ymin+"v-4h"+2*M+"v4ZM"+(Y-M)+","+(Q.ymax-1)+"v4h"+2*M+"v-4Z")):"d"===o&&((Q=E?m(T,[Y,W],[it,at]):[[Y,W],[Y,at],[it,at],[it,W]]).xmin=Math.min(Y,it),Q.xmax=Math.max(Y,it),Q.ymin=Math.min(W,at),Q.ymax=Math.max(W,at),dt.attr("d","M0,0Z"))}else c&&(Z.addPt([it,at]),Q=Z.filtered);i.selectionDefs&&i.selectionDefs.length?(K=function(t,e,r){if(r)return n.difference({regions:t,inverted:!1},{regions:[e],inverted:!1}).regions;return n.union({regions:t,inverted:!1},{regions:[e],inverted:!1}).regions}(i.mergedPolygons,Q,ut),Q.subtract=ut,J=R(i.selectionDefs.concat([Q]))):(K=[Q],J=S(Q)),g(q(K,x),ft,i),w&&b.throttle(gt,k.SELECTDELAY,(function(){var t;mt=[];var e,r=[];for($=0;$<vt.length;$++)if(e=(tt=vt[$])._module.selectPoints(tt,J),r.push(e),t=V(e,tt),mt.length)for(var n=0;n<t.length;n++)mt.push(t[n]);else mt=t;U(C,vt,et={points:mt}),pt(et,Q,Z),i.gd.emit("plotly_selecting",et)}))},i.clickFn=function(t,e){if(dt.remove(),C._fullLayout._activeShapeIndex>=0)C._fullLayout._deactivateShape(C);else if(!_){var r=O.clickmode;b.done(gt).then((function(){if(b.clear(gt),2===t){for(ft.remove(),$=0;$<vt.length;$++)(tt=vt[$])._module.selectPoints(tt,!1);U(C,vt),B(i),C.emit("plotly_deselect",null)}else r.indexOf("select")>-1&&z(e,C,i.xaxes,i.yaxes,i.subplot,i,ft),"event"===r&&C.emit("plotly_selected",void 0);s.click(C,e)})).catch(y.error)}},i.doneFn=function(){dt.remove(),b.done(gt).then((function(){b.clear(gt),i.gd.emit("plotly_selected",et),Q&&i.selectionDefs&&(Q.subtract=ut,i.selectionDefs.push(Q),i.mergedPolygons.length=0,[].push.apply(i.mergedPolygons,K)),i.doneFnCompleted&&i.doneFnCompleted(mt)})).catch(y.error),_&&B(i)}},clearSelect:E,clearSelectionsCache:B,selectOnClick:z}},{"../../components/color":643,"../../components/dragelement/helpers":661,"../../components/drawing":665,"../../components/fx":683,"../../components/fx/helpers":679,"../../components/shapes/draw_newshape/display_outlines":728,"../../components/shapes/draw_newshape/helpers":729,"../../components/shapes/draw_newshape/newshapes":730,"../../lib":778,"../../lib/clear_gl_canvases":762,"../../lib/polygon":790,"../../lib/throttle":804,"../../plot_api/subroutines":818,"../../registry":911,"./axis_ids":831,"./constants":834,"./handle_outline":838,"./helpers":839,polybooljs:517}],848:[function(t,e,r){"use strict";var n=t("d3"),i=t("d3-time-format").utcFormat,a=t("fast-isnumeric"),o=t("../../lib"),s=o.cleanNumber,l=o.ms2DateTime,c=o.dateTime2ms,u=o.ensureNumber,f=o.isArrayOrTypedArray,h=t("../../constants/numerical"),p=h.FP_SAFE,d=h.BADNUM,g=h.LOG_CLIP,m=h.ONEWEEK,v=h.ONEDAY,y=h.ONEHOUR,x=h.ONEMIN,b=h.ONESEC,_=t("./axis_ids"),w=t("./constants"),T=w.HOUR_PATTERN,k=w.WEEKDAY_PATTERN;function M(t){return Math.pow(10,t)}function A(t){return null!=t}e.exports=function(t,e){e=e||{};var r=t._id||"x",h=r.charAt(0);function S(e,r){if(e>0)return Math.log(e)/Math.LN10;if(e<=0&&r&&t.range&&2===t.range.length){var n=t.range[0],i=t.range[1];return.5*(n+i-2*g*Math.abs(n-i))}return d}function E(e,r,n,i){if((i||{}).msUTC&&a(e))return+e;var s=c(e,n||t.calendar);if(s===d){if(!a(e))return d;e=+e;var l=Math.floor(10*o.mod(e+.05,1)),u=Math.round(e-l/10);s=c(new Date(u))+l/10}return s}function C(e,r,n){return l(e,r,n||t.calendar)}function L(e){return t._categories[Math.round(e)]}function I(e){if(A(e)){if(void 0===t._categoriesMap&&(t._categoriesMap={}),void 0!==t._categoriesMap[e])return t._categoriesMap[e];t._categories.push("number"==typeof e?String(e):e);var r=t._categories.length-1;return t._categoriesMap[e]=r,r}return d}function P(e){if(t._categoriesMap)return t._categoriesMap[e]}function z(t){var e=P(t);return void 0!==e?e:a(t)?+t:void 0}function O(t){return a(t)?+t:P(t)}function D(t,e,r){return n.round(r+e*t,2)}function R(t,e,r){return(t-r)/e}var F=function(e){return a(e)?D(e,t._m,t._b):d},B=function(e){return R(e,t._m,t._b)};if(t.rangebreaks){var N="y"===h;F=function(e){if(!a(e))return d;var r=t._rangebreaks.length;if(!r)return D(e,t._m,t._b);var n=N;t.range[0]>t.range[1]&&(n=!n);for(var i=n?-1:1,o=i*e,s=0,l=0;l<r;l++){var c=i*t._rangebreaks[l].min,u=i*t._rangebreaks[l].max;if(o<c)break;if(!(o>u)){s=o<(c+u)/2?l:l+1;break}s=l+1}var f=t._B[s]||0;return isFinite(f)?D(e,t._m2,f):0},B=function(e){var r=t._rangebreaks.length;if(!r)return R(e,t._m,t._b);for(var n=0,i=0;i<r&&!(e<t._rangebreaks[i].pmin);i++)e>t._rangebreaks[i].pmax&&(n=i+1);return R(e,t._m2,t._B[n])}}t.c2l="log"===t.type?S:u,t.l2c="log"===t.type?M:u,t.l2p=F,t.p2l=B,t.c2p="log"===t.type?function(t,e){return F(S(t,e))}:F,t.p2c="log"===t.type?function(t){return M(B(t))}:B,-1!==["linear","-"].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=B,t.cleanPos=u):"log"===t.type?(t.d2r=t.d2l=function(t,e){return S(s(t),e)},t.r2d=t.r2c=function(t){return M(s(t))},t.d2c=t.r2l=s,t.c2d=t.l2r=u,t.c2r=S,t.l2d=M,t.d2p=function(e,r){return t.l2p(t.d2r(e,r))},t.p2d=function(t){return M(B(t))},t.r2p=function(e){return t.l2p(s(e))},t.p2r=B,t.cleanPos=u):"date"===t.type?(t.d2r=t.r2d=o.identity,t.d2c=t.r2c=t.d2l=t.r2l=E,t.c2d=t.c2r=t.l2d=t.l2r=C,t.d2p=t.r2p=function(e,r,n){return t.l2p(E(e,0,n))},t.p2d=t.p2r=function(t,e,r){return C(B(t),e,r)},t.cleanPos=function(e){return o.cleanDate(e,d,t.calendar)}):"category"===t.type?(t.d2c=t.d2l=I,t.r2d=t.c2d=t.l2d=L,t.d2r=t.d2l_noadd=z,t.r2c=function(e){var r=O(e);return void 0!==r?r:t.fraction2r(.5)},t.l2r=t.c2r=u,t.r2l=O,t.d2p=function(e){return t.l2p(t.r2c(e))},t.p2d=function(t){return L(B(t))},t.r2p=t.d2p,t.p2r=B,t.cleanPos=function(t){return"string"==typeof t&&""!==t?t:u(t)}):"multicategory"===t.type&&(t.r2d=t.c2d=t.l2d=L,t.d2r=t.d2l_noadd=z,t.r2c=function(e){var r=z(e);return void 0!==r?r:t.fraction2r(.5)},t.r2c_just_indices=P,t.l2r=t.c2r=u,t.r2l=z,t.d2p=function(e){return t.l2p(t.r2c(e))},t.p2d=function(t){return L(B(t))},t.r2p=t.d2p,t.p2r=B,t.cleanPos=function(t){return Array.isArray(t)||"string"==typeof t&&""!==t?t:u(t)},t.setupMultiCategory=function(n){var i,a,s=t._traceIndices,l=t._matchGroup;if(l&&0===t._categories.length)for(var c in l)if(c!==r){var u=e[_.id2name(c)];s=s.concat(u._traceIndices)}var p=[[0,{}],[0,{}]],d=[];for(i=0;i<s.length;i++){var g=n[s[i]];if(h in g){var m=g[h],v=g._length||o.minRowLength(m);if(f(m[0])&&f(m[1]))for(a=0;a<v;a++){var y=m[0][a],x=m[1][a];A(y)&&A(x)&&(d.push([y,x]),y in p[0][1]||(p[0][1][y]=p[0][0]++),x in p[1][1]||(p[1][1][x]=p[1][0]++))}}}for(d.sort((function(t,e){var r=p[0][1],n=r[t[0]]-r[e[0]];if(n)return n;var i=p[1][1];return i[t[1]]-i[e[1]]})),i=0;i<d.length;i++)I(d[i])}),t.fraction2r=function(e){var r=t.r2l(t.range[0]),n=t.r2l(t.range[1]);return t.l2r(r+e*(n-r))},t.r2fraction=function(e){var r=t.r2l(t.range[0]),n=t.r2l(t.range[1]);return(t.r2l(e)-r)/(n-r)},t.cleanRange=function(e,r){r||(r={}),e||(e="range");var n,i,s=o.nestedProperty(t,e).get();if(i=(i="date"===t.type?o.dfltRange(t.calendar):"y"===h?w.DFLTRANGEY:r.dfltRange||w.DFLTRANGEX).slice(),"tozero"!==t.rangemode&&"nonnegative"!==t.rangemode||(i[0]=0),s&&2===s.length)for("date"!==t.type||t.autorange||(s[0]=o.cleanDate(s[0],d,t.calendar),s[1]=o.cleanDate(s[1],d,t.calendar)),n=0;n<2;n++)if("date"===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]<-p?s[n]=-p:s[n]>p&&(s[n]=p),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.overlaying){var i=_.getFromId({_fullLayout:e},t.overlaying);t.domain=i.domain}var a=r&&t._r?"_r":"range",o=t.calendar;t.cleanRange(a);var s,l,c=t.r2l(t[a][0],o),u=t.r2l(t[a][1],o),f="y"===h;if((f?(t._offset=n.t+(1-t.domain[1])*n.h,t._length=n.h*(t.domain[1]-t.domain[0]),t._m=t._length/(c-u),t._b=-t._m*u):(t._offset=n.l+t.domain[0]*n.w,t._length=n.w*(t.domain[1]-t.domain[0]),t._m=t._length/(u-c),t._b=-t._m*c),t._rangebreaks=[],t._lBreaks=0,t._m2=0,t._B=[],t.rangebreaks)&&(t._rangebreaks=t.locateBreaks(Math.min(c,u),Math.max(c,u)),t._rangebreaks.length)){for(s=0;s<t._rangebreaks.length;s++)l=t._rangebreaks[s],t._lBreaks+=Math.abs(l.max-l.min);var p=f;c>u&&(p=!p),p&&t._rangebreaks.reverse();var d=p?-1:1;for(t._m2=d*t._length/(Math.abs(u-c)-t._lBreaks),t._B.push(-t._m2*(f?u:c)),s=0;s<t._rangebreaks.length;s++)l=t._rangebreaks[s],t._B.push(t._B[t._B.length-1]-d*t._m2*(l.max-l.min));for(s=0;s<t._rangebreaks.length;s++)(l=t._rangebreaks[s]).pmin=F(l.min),l.pmax=F(l.max)}if(!isFinite(t._m)||!isFinite(t._b)||t._length<0)throw e._replotting=!1,new Error("Something went wrong with axis scaling")},t.maskBreaks=function(e){for(var r,n,i,a,l,c=t.rangebreaks||[],u=0;u<c.length;u++){var f=c[u];if(f.enabled)if(f.bounds){var h=f.pattern;switch(n=(r=o.simpleMap(f.bounds,h?s:t.d2c))[0],i=r[1],h){case k:a=(l=new Date(e)).getUTCDay(),n>i&&(i+=7,a<n&&(a+=7));break;case T:a=(l=new Date(e)).getUTCHours()+(l.getUTCMinutes()/60+l.getUTCSeconds()/3600+l.getUTCMilliseconds()/36e5),n>i&&(i+=24,a<n&&(a+=24));break;case"":a=e}if(a>=n&&a<i)return d}else for(var p=o.simpleMap(f.values,t.d2c).sort(o.sorterAsc),g=0;g<p.length;g++)if(i=(n=p[g])+f.dvalue,e>=n&&e<i)return d}return e},t.locateBreaks=function(e,r){var n,i,a,l,c=[];if(!t.rangebreaks)return c;var u=t.rangebreaks.slice().sort((function(t,e){return t.pattern===k&&e.pattern===T?-1:e.pattern===k&&t.pattern===T?1:0})),f=function(t,n){if((t=o.constrain(t,e,r))!==(n=o.constrain(n,e,r))){for(var i=!0,a=0;a<c.length;a++){var s=c[a];t<s.max&&n>=s.min&&(t<s.min&&(s.min=t),n>s.max&&(s.max=n),i=!1)}i&&c.push({min:t,max:n})}};for(n=0;n<u.length;n++){var h=u[n];if(h.enabled)if(h.bounds){var p=e,d=r;h.pattern&&(p=Math.floor(p)),a=(i=o.simpleMap(h.bounds,h.pattern?s:t.r2l))[0],l=i[1];var g,_,w=new Date(p);switch(h.pattern){case k:_=m,g=(l-a+(l<a?7:0))*v,p+=a*v-(w.getUTCDay()*v+w.getUTCHours()*y+w.getUTCMinutes()*x+w.getUTCSeconds()*b+w.getUTCMilliseconds());break;case T:_=v,g=(l-a+(l<a?24:0))*y,p+=a*y-(w.getUTCHours()*y+w.getUTCMinutes()*x+w.getUTCSeconds()*b+w.getUTCMilliseconds());break;default:p=Math.min(i[0],i[1]),g=_=(d=Math.max(i[0],i[1]))-p}for(var M=p;M<d;M+=_)f(M,M+g)}else for(var A=o.simpleMap(h.values,t.d2c),S=0;S<A.length;S++)f(a=A[S],l=a+h.dvalue)}return c.sort((function(t,e){return t.min-e.min})),c},t.makeCalcdata=function(e,r,n){var i,a,s,l,c=t.type,u="date"===c&&e[r+"calendar"];if(r in e){if(i=e[r],l=e._length||o.minRowLength(i),o.isTypedArray(i)&&("linear"===c||"log"===c)){if(l===i.length)return i;if(i.subarray)return i.subarray(0,l)}if("multicategory"===c)return function(t,e){for(var r=new Array(e),n=0;n<e;n++){var i=(t[0]||[])[n],a=(t[1]||[])[n];r[n]=P([i,a])}return r}(i,l);for(a=new Array(l),s=0;s<l;s++)a[s]=t.d2c(i[s],0,u,n)}else{var f=r+"0"in e?t.d2c(e[r+"0"],0,u):0,h=e["d"+r]?Number(e["d"+r]):1;for(i=e[{x:"y",y:"x"}[r]],l=e._length||i.length,a=new Array(l),s=0;s<l;s++)a[s]=f+s*h}if(t.rangebreaks)for(s=0;s<l;s++)a[s]=t.maskBreaks(a[s]);return a},t.isValidRange=function(e){return Array.isArray(e)&&2===e.length&&a(t.r2l(e[0]))&&a(t.r2l(e[1]))},t.isPtWithinRange=function(e,r){var n=t.c2l(e[h],null,r),i=t.r2l(t.range[0]),a=t.r2l(t.range[1]);return i<a?i<=n&&n<=a:a<=n&&n<=i},t._emptyCategories=function(){t._categories=[],t._categoriesMap={}},t.clearCalc=function(){var r=t._matchGroup;if(r){var n=null,i=null;for(var a in r){var o=e[_.id2name(a)];if(o._categories){n=o._categories,i=o._categoriesMap;break}}n&&i?(t._categories=n,t._categoriesMap=i):t._emptyCategories()}else t._emptyCategories();if(t._initialCategories)for(var s=0;s<t._initialCategories.length;s++)I(t._initialCategories[s])},t.sortByInitialCategories=function(){var n=[];if(t._emptyCategories(),t._initialCategories)for(var i=0;i<t._initialCategories.length;i++)I(t._initialCategories[i]);n=n.concat(t._traceIndices);var a=t._matchGroup;for(var o in a)if(r!==o){var s=e[_.id2name(o)];s._categories=t._categories,s._categoriesMap=t._categoriesMap,n=n.concat(s._traceIndices)}return n};var j=e._d3locale;"date"===t.type&&(t._dateFormat=j?j.timeFormat:i,t._extraFormat=e._extraFormat),t._separators=e.separators,t._numFormat=j?j.numberFormat:n.format,delete t._minDtick,delete t._forceTick0}},{"../../constants/numerical":753,"../../lib":778,"./axis_ids":831,"./constants":834,d3:169,"d3-time-format":166,"fast-isnumeric":241}],849:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../components/color").contrast,a=t("./layout_attributes"),o=t("../array_container_defaults");function s(t){var e=["showexponent","showtickprefix","showticksuffix"].filter((function(e){return void 0!==t[e]}));if(e.every((function(r){return t[r]===t[e[0]]}))||1===e.length)return t[e[0]]}function l(t,e){function r(r,i){return n.coerce(t,e,a.tickformatstops,r,i)}r("enabled")&&(r("dtickrange"),r("value"))}e.exports=function(t,e,r,c,u,f){f&&1!==f.pass||function(t,e,r,n,i){var a=s(t);r("tickprefix")&&r("showtickprefix",a);r("ticksuffix",i.tickSuffixDflt)&&r("showticksuffix",a)}(t,0,r,0,u),f&&2!==f.pass||function(t,e,r,c,u){var f=s(t);r("tickprefix")&&r("showtickprefix",f);r("ticksuffix",u.tickSuffixDflt)&&r("showticksuffix",f);if(r("showticklabels")){var h=u.font||{},p=e.color,d=-1!==(e.ticklabelposition||"").indexOf("inside")?i(u.bgColor):p&&p!==a.color.dflt?p:h.color;if(n.coerceFont(r,"tickfont",{family:h.family,size:h.size,color:d}),r("tickangle"),"category"!==c){var g=r("tickformat");o(t,e,{name:"tickformatstops",inclusionAttr:"enabled",handleItemDefaults:l}),e.tickformatstops.length||delete e.tickformatstops,g||"date"===c||(r("showexponent",f),r("exponentformat"),r("minexponent"),r("separatethousands"))}}}(t,e,r,c,u)}},{"../../components/color":643,"../../lib":778,"../array_container_defaults":823,"./layout_attributes":842}],850:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./layout_attributes");e.exports=function(t,e,r,a){var o=n.coerce2(t,e,i,"ticklen"),s=n.coerce2(t,e,i,"tickwidth"),l=n.coerce2(t,e,i,"tickcolor",e.color);r("ticks",a.outerTicks||o||s||l?"outside":"")||(delete e.ticklen,delete e.tickwidth,delete e.tickcolor)}},{"../../lib":778,"./layout_attributes":842}],851:[function(t,e,r){"use strict";var n=t("./clean_ticks"),i=t("../../lib").isArrayOrTypedArray;e.exports=function(t,e,r,a){function o(r){var n=t[r];return void 0!==n?n:(e._template||{})[r]}var s=o("tick0"),l=o("dtick"),c=o("tickvals"),u=r("tickmode",i(c)?"array":l?"linear":"auto");if("auto"===u)r("nticks");else if("linear"===u){var f=e.dtick=n.dtick(l,a);e.tick0=n.tick0(s,a,e.calendar,f)}else if("multicategory"!==a){void 0===r("tickvals")?e.tickmode="auto":r("ticktext")}}},{"../../lib":778,"./clean_ticks":833}],852:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../registry"),a=t("../../lib"),o=t("../../components/drawing"),s=t("./axes");e.exports=function(t,e,r,l){var c=t._fullLayout;if(0!==e.length){var u,f,h,p;l&&(u=l());var d=n.ease(r.easing);return t._transitionData._interruptCallbacks.push((function(){return window.cancelAnimationFrame(p),p=null,function(){for(var r={},n=0;n<e.length;n++){var a=e[n],o=a.plotinfo.xaxis,s=a.plotinfo.yaxis;a.xr0&&(r[o._name+".range"]=a.xr0.slice()),a.yr0&&(r[s._name+".range"]=a.yr0.slice())}return i.call("relayout",t,r).then((function(){for(var t=0;t<e.length;t++)g(e[t].plotinfo)}))}()})),f=Date.now(),p=window.requestAnimationFrame((function n(){h=Date.now();for(var a=Math.min(1,(h-f)/r.duration),o=d(a),s=0;s<e.length;s++)m(e[s],o);h-f>r.duration?(!function(){for(var r={},n=0;n<e.length;n++){var a=e[n],o=a.plotinfo.xaxis,s=a.plotinfo.yaxis;a.xr1&&(r[o._name+".range"]=a.xr1.slice()),a.yr1&&(r[s._name+".range"]=a.yr1.slice())}u&&u(),i.call("relayout",t,r).then((function(){for(var t=0;t<e.length;t++)g(e[t].plotinfo)}))}(),p=window.cancelAnimationFrame(n)):p=window.requestAnimationFrame(n)})),Promise.resolve()}function g(t){var e=t.xaxis,r=t.yaxis;c._defs.select("#"+t.clipId+"> rect").call(o.setTranslate,0,0).call(o.setScale,1,1),t.plot.call(o.setTranslate,e._offset,r._offset).call(o.setScale,1,1);var n=t.plot.selectAll(".scatterlayer .trace");n.selectAll(".point").call(o.setPointGroupScale,1,1),n.selectAll(".textpoint").call(o.setTextPointsScale,1,1),n.call(o.hideOutsideRangePoints,t)}function m(e,r){var n=e.plotinfo,i=n.xaxis,l=n.yaxis,c=i._length,u=l._length,f=!!e.xr1,h=!!e.yr1,p=[];if(f){var d=a.simpleMap(e.xr0,i.r2l),g=a.simpleMap(e.xr1,i.r2l),m=d[1]-d[0],v=g[1]-g[0];p[0]=(d[0]*(1-r)+r*g[0]-d[0])/(d[1]-d[0])*c,p[2]=c*(1-r+r*v/m),i.range[0]=i.l2r(d[0]*(1-r)+r*g[0]),i.range[1]=i.l2r(d[1]*(1-r)+r*g[1])}else p[0]=0,p[2]=c;if(h){var y=a.simpleMap(e.yr0,l.r2l),x=a.simpleMap(e.yr1,l.r2l),b=y[1]-y[0],_=x[1]-x[0];p[1]=(y[1]*(1-r)+r*x[1]-y[1])/(y[0]-y[1])*u,p[3]=u*(1-r+r*_/b),l.range[0]=i.l2r(y[0]*(1-r)+r*x[0]),l.range[1]=l.l2r(y[1]*(1-r)+r*x[1])}else p[1]=0,p[3]=u;s.drawOne(t,i,{skipTitle:!0}),s.drawOne(t,l,{skipTitle:!0}),s.redrawComponents(t,[i._id,l._id]);var w=f?c/p[2]:1,T=h?u/p[3]:1,k=f?p[0]:0,M=h?p[1]:0,A=f?p[0]/p[2]*c:0,S=h?p[1]/p[3]*u:0,E=i._offset-A,C=l._offset-S;n.clipRect.call(o.setTranslate,k,M).call(o.setScale,1/w,1/T),n.plot.call(o.setTranslate,E,C).call(o.setScale,w,T),o.setPointGroupScale(n.zoomScalePts,1/w,1/T),o.setTextPointsScale(n.zoomScaleTxt,1/w,1/T)}s.redrawComponents(t)}},{"../../components/drawing":665,"../../lib":778,"../../registry":911,"./axes":828,d3:169}],853:[function(t,e,r){"use strict";var n=t("../../registry").traceIs,i=t("./axis_autotype");function a(t){return{v:"x",h:"y"}[t.orientation||"v"]}function o(t,e){var r=a(t),i=n(t,"box-violin"),o=n(t._fullInput||{},"candlestick");return i&&!o&&e===r&&void 0===t[r]&&void 0===t[r+"0"]}e.exports=function(t,e,r,s){r("autotypenumbers",s.autotypenumbersDflt),"-"===r("type",(s.splomStash||{}).type)&&(!function(t,e){if("-"!==t.type)return;var r,s=t._id,l=s.charAt(0);-1!==s.indexOf("scene")&&(s=l);var c=function(t,e,r){for(var n=0;n<t.length;n++){var i=t[n];if("splom"===i.type&&i._length>0&&(i["_"+r+"axes"]||{})[e])return i;if((i[r+"axis"]||r)===e){if(o(i,r))return i;if((i[r]||[]).length||i[r+"0"])return i}}}(e,s,l);if(!c)return;if("histogram"===c.type&&l==={v:"y",h:"x"}[c.orientation||"v"])return void(t.type="linear");var u=l+"calendar",f=c[u],h={noMultiCategory:!n(c,"cartesian")||n(c,"noMultiCategory")};"box"===c.type&&c._hasPreCompStats&&l==={h:"x",v:"y"}[c.orientation||"v"]&&(h.noMultiCategory=!0);if(h.autotypenumbers=t.autotypenumbers,o(c,l)){var p=a(c),d=[];for(r=0;r<e.length;r++){var g=e[r];n(g,"box-violin")&&(g[l+"axis"]||l)===s&&(void 0!==g[p]?d.push(g[p][0]):void 0!==g.name?d.push(g.name):d.push("text"),g[u]!==f&&(f=void 0))}t.type=i(d,f,h)}else if("splom"===c.type){var m=c.dimensions[c._axesDim[s]];m.visible&&(t.type=i(m.values,f,h))}else t.type=i(c[l]||[c[l+"0"]],f,h)}(e,s.data),"-"===e.type?e.type="linear":t.type=e.type)}},{"../../registry":911,"./axis_autotype":829}],854:[function(t,e,r){"use strict";var n=t("../registry"),i=t("../lib");function a(t,e,r){var n,a,o,s=!1;if("data"===e.type)n=t._fullData[null!==e.traces?e.traces[0]:0];else{if("layout"!==e.type)return!1;n=t._fullLayout}return a=i.nestedProperty(n,e.prop).get(),(o=r[e.type]=r[e.type]||{}).hasOwnProperty(e.prop)&&o[e.prop]!==a&&(s=!0),o[e.prop]=a,{changed:s,value:a}}function o(t,e){var r=[],n=e[0],a={};if("string"==typeof n)a[n]=e[1];else{if(!i.isPlainObject(n))return r;a=n}return l(a,(function(t,e,n){r.push({type:"layout",prop:t,value:n})}),"",0),r}function s(t,e){var r,n,a,o,s=[];if(n=e[0],a=e[1],r=e[2],o={},"string"==typeof n)o[n]=a;else{if(!i.isPlainObject(n))return s;o=n,void 0===r&&(r=a)}return void 0===r&&(r=null),l(o,(function(e,n,i){var a,o;if(Array.isArray(i)){o=i.slice();var l=Math.min(o.length,t.data.length);r&&(l=Math.min(l,r.length)),a=[];for(var c=0;c<l;c++)a[c]=r?r[c]:c}else o=i,a=r?r.slice():null;if(null===a)Array.isArray(o)&&(o=o[0]);else if(Array.isArray(a)){if(!Array.isArray(o)){var u=o;o=[];for(var f=0;f<a.length;f++)o[f]=u}o.length=Math.min(a.length,o.length)}s.push({type:"data",prop:e,traces:a,value:o})}),"",0),s}function l(t,e,r,n){Object.keys(t).forEach((function(a){var o=t[a];if("_"!==a[0]){var s=r+(n>0?".":"")+a;i.isPlainObject(o)?l(o,e,s,n+1):e(s,a,o)}}))}r.manageCommandObserver=function(t,e,n,o){var s={},l=!0;e&&e._commandObserver&&(s=e._commandObserver),s.cache||(s.cache={}),s.lookupTable={};var c=r.hasSimpleAPICommandBindings(t,n,s.lookupTable);if(e&&e._commandObserver){if(c)return s;if(e._commandObserver.remove)return e._commandObserver.remove(),e._commandObserver=null,s}if(c){a(t,c,s.cache),s.check=function(){if(l){var e=a(t,c,s.cache);return e.changed&&o&&void 0!==s.lookupTable[e.value]&&(s.disable(),Promise.resolve(o({value:e.value,type:c.type,prop:c.prop,traces:c.traces,index:s.lookupTable[e.value]})).then(s.enable,s.enable)),e.changed}};for(var u=["plotly_relayout","plotly_redraw","plotly_restyle","plotly_update","plotly_animatingframe","plotly_afterplot"],f=0;f<u.length;f++)t._internalOn(u[f],s.check);s.remove=function(){for(var e=0;e<u.length;e++)t._removeInternalListener(u[e],s.check)}}else i.log("Unable to automatically bind plot updates to API command"),s.lookupTable={},s.remove=function(){};return s.disable=function(){l=!1},s.enable=function(){l=!0},e&&(e._commandObserver=s),s},r.hasSimpleAPICommandBindings=function(t,e,n){var i,a,o=e.length;for(i=0;i<o;i++){var s,l=e[i],c=l.method,u=l.args;if(Array.isArray(u)||(u=[]),!c)return!1;var f=r.computeAPICommandBindings(t,c,u);if(1!==f.length)return!1;if(a){if((s=f[0]).type!==a.type)return!1;if(s.prop!==a.prop)return!1;if(Array.isArray(a.traces)){if(!Array.isArray(s.traces))return!1;s.traces.sort();for(var h=0;h<a.traces.length;h++)if(a.traces[h]!==s.traces[h])return!1}else if(s.prop!==a.prop)return!1}else a=f[0],Array.isArray(a.traces)&&a.traces.sort();var p=(s=f[0]).value;if(Array.isArray(p)){if(1!==p.length)return!1;p=p[0]}n&&(n[p]=i)}return a},r.executeAPICommand=function(t,e,r){if("skip"===e)return Promise.resolve();var a=n.apiMethodRegistry[e],o=[t];Array.isArray(r)||(r=[]);for(var s=0;s<r.length;s++)o.push(r[s]);return a.apply(null,o).catch((function(t){return i.warn("API call to Plotly."+e+" rejected.",t),Promise.reject(t)}))},r.computeAPICommandBindings=function(t,e,r){var n;switch(Array.isArray(r)||(r=[]),e){case"restyle":n=s(t,r);break;case"relayout":n=o(t,r);break;case"update":n=s(t,[r[0],r[2]]).concat(o(t,[r[1]]));break;case"animate":n=function(t,e){return Array.isArray(e[0])&&1===e[0].length&&-1!==["string","number"].indexOf(typeof e[0][0])?[{type:"layout",prop:"_currentFrame",value:e[0][0].toString()}]:[]}(0,r);break;default:n=[]}return n}},{"../lib":778,"../registry":911}],855:[function(t,e,r){"use strict";var n=t("../lib/extend").extendFlat;r.attributes=function(t,e){e=e||{};var r={valType:"info_array",editType:(t=t||{}).editType,items:[{valType:"number",min:0,max:1,editType:t.editType},{valType:"number",min:0,max:1,editType:t.editType}],dflt:[0,1]},i=(t.name&&t.name,t.trace,e.description&&e.description,{x:n({},r,{}),y:n({},r,{}),editType:t.editType});return t.noGridCell||(i.row={valType:"integer",min:0,dflt:0,editType:t.editType},i.column={valType:"integer",min:0,dflt:0,editType:t.editType}),i},r.defaults=function(t,e,r,n){var i=n&&n.x||[0,1],a=n&&n.y||[0,1],o=e.grid;if(o){var s=r("domain.column");void 0!==s&&(s<o.columns?i=o._domains.x[s]:delete t.domain.column);var l=r("domain.row");void 0!==l&&(l<o.rows?a=o._domains.y[l]:delete t.domain.row)}var c=r("domain.x",i),u=r("domain.y",a);c[0]<c[1]||(t.domain.x=i.slice()),u[0]<u[1]||(t.domain.y=a.slice())}},{"../lib/extend":768}],856:[function(t,e,r){"use strict";e.exports=function(t){var e=t.editType,r=t.colorEditType;void 0===r&&(r=e);var n={family:{valType:"string",noBlank:!0,strict:!0,editType:e},size:{valType:"number",min:1,editType:e},color:{valType:"color",editType:r},editType:e};return t.arrayOk&&(n.family.arrayOk=!0,n.size.arrayOk=!0,n.color.arrayOk=!0),n}},{}],857:[function(t,e,r){"use strict";e.exports={_isLinkedToArray:"frames_entry",group:{valType:"string"},name:{valType:"string"},traces:{valType:"any"},baseframe:{valType:"string"},data:{valType:"any"},layout:{valType:"any"}}},{}],858:[function(t,e,r){"use strict";r.projNames={equirectangular:"equirectangular",mercator:"mercator",orthographic:"orthographic","natural earth":"naturalEarth",kavrayskiy7:"kavrayskiy7",miller:"miller",robinson:"robinson",eckert4:"eckert4","azimuthal equal area":"azimuthalEqualArea","azimuthal equidistant":"azimuthalEquidistant","conic equal area":"conicEqualArea","conic conformal":"conicConformal","conic equidistant":"conicEquidistant",gnomonic:"gnomonic",stereographic:"stereographic",mollweide:"mollweide",hammer:"hammer","transverse mercator":"transverseMercator","albers usa":"albersUsa","winkel tripel":"winkel3",aitoff:"aitoff",sinusoidal:"sinusoidal"},r.axesNames=["lonaxis","lataxis"],r.lonaxisSpan={orthographic:180,"azimuthal equal area":360,"azimuthal equidistant":360,"conic conformal":180,gnomonic:160,stereographic:180,"transverse mercator":180,"*":360},r.lataxisSpan={"conic conformal":150,stereographic:179.5,"*":180},r.scopeDefaults={world:{lonaxisRange:[-180,180],lataxisRange:[-90,90],projType:"equirectangular",projRotate:[0,0,0]},usa:{lonaxisRange:[-180,-50],lataxisRange:[15,80],projType:"albers usa"},europe:{lonaxisRange:[-30,60],lataxisRange:[30,85],projType:"conic conformal",projRotate:[15,0,0],projParallels:[0,60]},asia:{lonaxisRange:[22,160],lataxisRange:[-15,55],projType:"mercator",projRotate:[0,0,0]},africa:{lonaxisRange:[-30,60],lataxisRange:[-40,40],projType:"mercator",projRotate:[0,0,0]},"north america":{lonaxisRange:[-180,-45],lataxisRange:[5,85],projType:"conic conformal",projRotate:[-100,0,0],projParallels:[29.5,45.5]},"south america":{lonaxisRange:[-100,-30],lataxisRange:[-60,15],projType:"mercator",projRotate:[0,0,0]}},r.clipPad=.001,r.precision=.1,r.landColor="#F0DC82",r.waterColor="#3399FF",r.locationmodeToLayer={"ISO-3":"countries","USA-states":"subunits","country names":"countries"},r.sphereSVG={type:"Sphere"},r.fillLayers={ocean:1,land:1,lakes:1},r.lineLayers={subunits:1,countries:1,coastlines:1,rivers:1,frame:1},r.layers=["bg","ocean","land","lakes","subunits","countries","coastlines","rivers","lataxis","lonaxis","frame","backplot","frontplot"],r.layersForChoropleth=["bg","ocean","land","subunits","countries","coastlines","lataxis","lonaxis","frame","backplot","rivers","lakes","frontplot"],r.layerNameToAdjective={ocean:"ocean",land:"land",lakes:"lake",subunits:"subunit",countries:"country",coastlines:"coastline",rivers:"river",frame:"frame"}},{}],859:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../registry"),a=t("../../lib"),o=a.strTranslate,s=t("../../components/color"),l=t("../../components/drawing"),c=t("../../components/fx"),u=t("../plots"),f=t("../cartesian/axes"),h=t("../cartesian/autorange").getAutoRange,p=t("../../components/dragelement"),d=t("../cartesian/select").prepSelect,g=t("../cartesian/select").clearSelect,m=t("../cartesian/select").selectOnClick,v=t("./zoom"),y=t("./constants"),x=t("../../lib/geo_location_utils"),b=t("../../lib/topojson_utils"),_=t("topojson-client").feature;function w(t){this.id=t.id,this.graphDiv=t.graphDiv,this.container=t.container,this.topojsonURL=t.topojsonURL,this.isStatic=t.staticPlot,this.topojsonName=null,this.topojson=null,this.projection=null,this.scope=null,this.viewInitial=null,this.fitScale=null,this.bounds=null,this.midPt=null,this.hasChoropleth=!1,this.traceHash={},this.layers={},this.basePaths={},this.dataPaths={},this.dataPoints={},this.clipDef=null,this.clipRect=null,this.bgRect=null,this.makeFramework()}t("./projections")(n);var T=w.prototype;function k(t,e){var r=y.clipPad,n=t[0]+r,i=t[1]-r,a=e[0]+r,o=e[1]-r;n>0&&i<0&&(i+=360);var s=(i-n)/4;return{type:"Polygon",coordinates:[[[n,a],[n,o],[n+s,o],[n+2*s,o],[n+3*s,o],[i,o],[i,a],[i-s,a],[i-2*s,a],[i-3*s,a],[n,a]]]}}e.exports=function(t){return new w(t)},T.plot=function(t,e,r){var n=this,i=e[this.id],a=[],o=!1;for(var s in y.layerNameToAdjective)if("frame"!==s&&i["show"+s]){o=!0;break}for(var l=0;l<t.length;l++)if(t[0][0].trace.locationmode){o=!0;break}if(o){var c=b.getTopojsonName(i);null!==n.topojson&&c===n.topojsonName||(n.topojsonName=c,void 0===PlotlyGeoAssets.topojson[n.topojsonName]&&a.push(n.fetchTopojson()))}a=a.concat(x.fetchTraceGeoData(t)),r.push(new Promise((function(r,i){Promise.all(a).then((function(){n.topojson=PlotlyGeoAssets.topojson[n.topojsonName],n.update(t,e),r()})).catch(i)})))},T.fetchTopojson=function(){var t=this,e=b.getTopojsonPath(t.topojsonURL,t.topojsonName);return new Promise((function(r,i){n.json(e,(function(n,a){if(n)return 404===n.status?i(new Error(["plotly.js could not find topojson file at",e,".","Make sure the *topojsonURL* plot config option","is set properly."].join(" "))):i(new Error(["unexpected error while fetching topojson file at",e].join(" ")));PlotlyGeoAssets.topojson[t.topojsonName]=a,r()}))}))},T.update=function(t,e){var r=e[this.id];this.hasChoropleth=!1;for(var n=0;n<t.length;n++){var i=t[n],a=i[0].trace;"choropleth"===a.type&&(this.hasChoropleth=!0),!0===a.visible&&a._length>0&&a._module.calcGeoJSON(i,e)}if(!this.updateProjection(t,e)){this.viewInitial&&this.scope===r.scope||this.saveViewInitial(r),this.scope=r.scope,this.updateBaseLayers(e,r),this.updateDims(e,r),this.updateFx(e,r),u.generalUpdatePerTraceModule(this.graphDiv,this,t,r);var o=this.layers.frontplot.select(".scatterlayer");this.dataPoints.point=o.selectAll(".point"),this.dataPoints.text=o.selectAll("text"),this.dataPaths.line=o.selectAll(".js-line");var s=this.layers.backplot.select(".choroplethlayer");this.dataPaths.choropleth=s.selectAll("path"),this.render()}},T.updateProjection=function(t,e){var r=this.graphDiv,o=e[this.id],s=e._size,l=o.domain,c=o.projection,u=o.lonaxis,f=o.lataxis,p=u._ax,d=f._ax,g=this.projection=function(t){for(var e=t.projection.type,r=n.geo[y.projNames[e]](),i=t._isClipped?y.lonaxisSpan[e]/2:null,a=["center","rotate","parallels","clipExtent"],o=function(t){return t?r:[]},s=0;s<a.length;s++){var l=a[s];"function"!=typeof r[l]&&(r[l]=o)}r.isLonLatOverEdges=function(t){if(null===r(t))return!0;if(i){var e=r.rotate();return n.geo.distance(t,[-e[0],-e[1]])>i*Math.PI/180}return!1},r.getPath=function(){return n.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&&r.clipExtent();r.scale(150).translate([0,0]),a&&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&&r.clipExtent(a),r.scale(150*s).translate([l,c])},r.precision(y.precision),i&&r.clipAngle(i-y.clipPad);return r}(o),m=[[s.l+s.w*l.x[0],s.t+s.h*(1-l.y[1])],[s.l+s.w*l.x[1],s.t+s.h*(1-l.y[0])]],v=o.center||{},x=c.rotation||{},b=u.range||[],_=f.range||[];if(o.fitbounds){p._length=m[1][0]-m[0][0],d._length=m[1][1]-m[0][1],p.range=h(r,p),d.range=h(r,d);var w=(p.range[0]+p.range[1])/2,T=(d.range[0]+d.range[1])/2;if(o._isScoped)v={lon:w,lat:T};else if(o._isClipped){v={lon:w,lat:T},x={lon:w,lat:T,roll:x.roll};var M=c.type,A=y.lonaxisSpan[M]/2||180,S=y.lataxisSpan[M]/2||90;b=[w-A,w+A],_=[T-S,T+S]}else v={lon:w,lat:T},x={lon:w,lat:x.lat,roll:x.roll}}g.center([v.lon-x.lon,v.lat-x.lat]).rotate([-x.lon,-x.lat,x.roll]).parallels(c.parallels);var E=k(b,_);g.fitExtent(m,E);var C=this.bounds=g.getBounds(E),L=this.fitScale=g.scale(),I=g.translate();if(!isFinite(C[0][0])||!isFinite(C[0][1])||!isFinite(C[1][0])||!isFinite(C[1][1])||isNaN(I[0])||isNaN(I[0])){for(var P=["fitbounds","projection.rotation","center","lonaxis.range","lataxis.range"],z="Invalid geo settings, relayout'ing to default view.",O={},D=0;D<P.length;D++)O[this.id+"."+P[D]]=null;return this.viewInitial=null,a.warn(z),r._promises.push(i.call("relayout",r,O)),z}if(o.fitbounds){var R=g.getBounds(k(p.range,d.range)),F=Math.min((C[1][0]-C[0][0])/(R[1][0]-R[0][0]),(C[1][1]-C[0][1])/(R[1][1]-R[0][1]));isFinite(F)?g.scale(F*L):a.warn("Something went wrong during"+this.id+"fitbounds computations.")}else g.scale(c.scale*L);var B=this.midPt=[(C[0][0]+C[1][0])/2,(C[0][1]+C[1][1])/2];if(g.translate([I[0]+(B[0]-I[0]),I[1]+(B[1]-I[1])]).clipExtent(C),o._isAlbersUsa){var N=g([v.lon,v.lat]),j=g.translate();g.translate([j[0]-(N[0]-j[0]),j[1]-(N[1]-j[1])])}},T.updateBaseLayers=function(t,e){var r=this,i=r.topojson,a=r.layers,o=r.basePaths;function c(t){return"lonaxis"===t||"lataxis"===t}function u(t){return Boolean(y.lineLayers[t])}function h(t){return Boolean(y.fillLayers[t])}var p=(this.hasChoropleth?y.layersForChoropleth:y.layers).filter((function(t){return u(t)||h(t)?e["show"+t]:!c(t)||e[t].showgrid})),d=r.framework.selectAll(".layer").data(p,String);d.exit().each((function(t){delete a[t],delete o[t],n.select(this).remove()})),d.enter().append("g").attr("class",(function(t){return"layer "+t})).each((function(t){var e=a[t]=n.select(this);"bg"===t?r.bgRect=e.append("rect").style("pointer-events","all"):c(t)?o[t]=e.append("path").style("fill","none"):"backplot"===t?e.append("g").classed("choroplethlayer",!0):"frontplot"===t?e.append("g").classed("scatterlayer",!0):u(t)?o[t]=e.append("path").style("fill","none").style("stroke-miterlimit",2):h(t)&&(o[t]=e.append("path").style("stroke","none"))})),d.order(),d.each((function(r){var n=o[r],a=y.layerNameToAdjective[r];"frame"===r?n.datum(y.sphereSVG):u(r)||h(r)?n.datum(_(i,i.objects[r])):c(r)&&n.datum(function(t,e,r){var n,i,a,o=e[t],s=y.scopeDefaults[e.scope];"lonaxis"===t?(n=s.lonaxisRange,i=s.lataxisRange,a=function(t,e){return[t,e]}):"lataxis"===t&&(n=s.lataxisRange,i=s.lonaxisRange,a=function(t,e){return[e,t]});var l={type:"linear",range:[n[0],n[1]-1e-6],tick0:o.tick0,dtick:o.dtick};f.setConvert(l,r);var c=f.calcTicks(l);e.isScoped||"lonaxis"!==t||c.pop();for(var u=c.length,h=new Array(u),p=0;p<u;p++)for(var d=c[p].x,g=h[p]=[],m=i[0];m<i[1]+2.5;m+=2.5)g.push(a(d,m));return{type:"MultiLineString",coordinates:h}}(r,e,t)).call(s.stroke,e[r].gridcolor).call(l.dashLine,"",e[r].gridwidth),u(r)?n.call(s.stroke,e[a+"color"]).call(l.dashLine,"",e[a+"width"]):h(r)&&n.call(s.fill,e[a+"color"])}))},T.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},T.updateFx=function(t,e){var r=this,a=r.graphDiv,o=r.bgRect,s=t.dragmode,l=t.clickmode;if(!r.isStatic){var u;"select"===s?u=function(t,e){(t.range={})[r.id]=[h([e.xmin,e.ymin]),h([e.xmax,e.ymax])]}:"lasso"===s&&(u=function(t,e,n){(t.lassoPoints={})[r.id]=n.filtered.map(h)});var f={element:r.bgRect.node(),gd:a,plotinfo:{id:r.id,xaxis:r.xaxis,yaxis:r.yaxis,fillRangeItems:u},xaxes:[r.xaxis],yaxes:[r.yaxis],subplot:r.id,clickFn:function(t){2===t&&g(a)}};"pan"===s?(o.node().onmousedown=null,o.call(v(r,e)),o.on("dblclick.zoom",(function(){var t=r.viewInitial,e={};for(var n in t)e[r.id+"."+n]=t[n];i.call("_guiRelayout",a,e),a.emit("plotly_doubleclick",null)})),a._context._scrollZoom.geo||o.on("wheel.zoom",null)):"select"!==s&&"lasso"!==s||(o.on(".zoom",null),f.prepFn=function(t,e,r){d(t,e,r,f,s)},p.init(f)),o.on("mousemove",(function(){var t=r.projection.invert(n.mouse(this));if(!t||isNaN(t[0])||isNaN(t[1]))return p.unhover(a,n.event);r.xaxis.p2c=function(){return t[0]},r.yaxis.p2c=function(){return t[1]},c.hover(a,n.event,r.id)})),o.on("mouseout",(function(){a._dragging||p.unhover(a,n.event)})),o.on("click",(function(){"select"!==s&&"lasso"!==s&&(l.indexOf("select")>-1&&m(n.event,a,[r.xaxis],[r.yaxis],r.id,f),l.indexOf("event")>-1&&c.click(a,n.event))}))}function h(t){return r.projection.invert([t[0]+r.xaxis._offset,t[1]+r.yaxis._offset])}},T.makeFramework=function(){var t=this,e=t.graphDiv,r=e._fullLayout,i="clip"+r._uid+t.id;t.clipDef=r._clips.append("clipPath").attr("id",i),t.clipRect=t.clipDef.append("rect"),t.framework=n.select(t.container).append("g").attr("class","geo "+t.id).call(l.setClipUrl,i,e),t.project=function(e){var r=t.projection(e);return r?[r[0]-t.xaxis._offset,r[1]-t.yaxis._offset]:[null,null]},t.xaxis={_id:"x",c2p:function(e){return t.project(e)[0]}},t.yaxis={_id:"y",c2p:function(e){return t.project(e)[1]}},t.mockAxis={type:"linear",showexponent:"all",exponentformat:"B"},f.setConvert(t.mockAxis,r)},T.saveViewInitial=function(t){var e,r=t.center||{},n=t.projection,i=n.rotation||{};this.viewInitial={fitbounds:t.fitbounds,"projection.scale":n.scale},e=t._isScoped?{"center.lon":r.lon,"center.lat":r.lat}:t._isClipped?{"projection.rotation.lon":i.lon,"projection.rotation.lat":i.lat}:{"center.lon":r.lon,"center.lat":r.lat,"projection.rotation.lon":i.lon},a.extendFlat(this.viewInitial,e)},T.render=function(){var t,e=this.projection,r=e.getPath();function n(t){var r=e(t.lonlat);return r?o(r[0],r[1]):null}function i(t){return e.isLonLatOverEdges(t.lonlat)?"none":null}for(t in this.basePaths)this.basePaths[t].attr("d",r);for(t in this.dataPaths)this.dataPaths[t].attr("d",(function(t){return r(t.geojson)}));for(t in this.dataPoints)this.dataPoints[t].attr("display",i).attr("transform",n)}},{"../../components/color":643,"../../components/dragelement":662,"../../components/drawing":665,"../../components/fx":683,"../../lib":778,"../../lib/geo_location_utils":771,"../../lib/topojson_utils":806,"../../registry":911,"../cartesian/autorange":827,"../cartesian/axes":828,"../cartesian/select":847,"../plots":891,"./constants":858,"./projections":863,"./zoom":864,d3:169,"topojson-client":579}],860:[function(t,e,r){"use strict";var n=t("../../plots/get_data").getSubplotCalcData,i=t("../../lib").counterRegex,a=t("./geo"),o="geo",s=i(o),l={};l.geo={valType:"subplotid",dflt:o,editType:"calc"},e.exports={attr:o,name:o,idRoot:o,idRegex:s,attrRegex:s,attributes:l,layoutAttributes:t("./layout_attributes"),supplyLayoutDefaults:t("./layout_defaults"),plot:function(t){for(var e=t._fullLayout,r=t.calcdata,i=e._subplots.geo,s=0;s<i.length;s++){var l=i[s],c=n(r,o,l),u=e[l]._subplot;u||(u=a({id:l,graphDiv:t,container:e._geolayer.node(),topojsonURL:t._context.topojsonURL,staticPlot:t._context.staticPlot}),e[l]._subplot=u),u.plot(c,e,t._promises)}},updateFx:function(t){for(var e=t._fullLayout,r=e._subplots.geo,n=0;n<r.length;n++){var i=e[r[n]];i._subplot.updateFx(e,i)}},clean:function(t,e,r,n){for(var i=n._subplots.geo||[],a=0;a<i.length;a++){var o=i[a],s=n[o]._subplot;!e[o]&&s&&(s.framework.remove(),s.clipDef.remove())}}}},{"../../lib":778,"../../plots/get_data":865,"./geo":859,"./layout_attributes":861,"./layout_defaults":862}],861:[function(t,e,r){"use strict";var n=t("../../components/color/attributes"),i=t("../domain").attributes,a=t("./constants"),o=t("../../plot_api/edit_types").overrideAll,s={range:{valType:"info_array",items:[{valType:"number"},{valType:"number"}]},showgrid:{valType:"boolean",dflt:!1},tick0:{valType:"number",dflt:0},dtick:{valType:"number"},gridcolor:{valType:"color",dflt:n.lightLine},gridwidth:{valType:"number",min:0,dflt:1}};(e.exports=o({domain:i({name:"geo"},{}),fitbounds:{valType:"enumerated",values:[!1,"locations","geojson"],dflt:!1,editType:"plot"},resolution:{valType:"enumerated",values:[110,50],dflt:110,coerceNumber:!0},scope:{valType:"enumerated",values:Object.keys(a.scopeDefaults),dflt:"world"},projection:{type:{valType:"enumerated",values:Object.keys(a.projNames)},rotation:{lon:{valType:"number"},lat:{valType:"number"},roll:{valType:"number"}},parallels:{valType:"info_array",items:[{valType:"number"},{valType:"number"}]},scale:{valType:"number",min:0,dflt:1}},center:{lon:{valType:"number"},lat:{valType:"number"}},visible:{valType:"boolean",dflt:!0},showcoastlines:{valType:"boolean"},coastlinecolor:{valType:"color",dflt:n.defaultLine},coastlinewidth:{valType:"number",min:0,dflt:1},showland:{valType:"boolean",dflt:!1},landcolor:{valType:"color",dflt:a.landColor},showocean:{valType:"boolean",dflt:!1},oceancolor:{valType:"color",dflt:a.waterColor},showlakes:{valType:"boolean",dflt:!1},lakecolor:{valType:"color",dflt:a.waterColor},showrivers:{valType:"boolean",dflt:!1},rivercolor:{valType:"color",dflt:a.waterColor},riverwidth:{valType:"number",min:0,dflt:1},showcountries:{valType:"boolean"},countrycolor:{valType:"color",dflt:n.defaultLine},countrywidth:{valType:"number",min:0,dflt:1},showsubunits:{valType:"boolean"},subunitcolor:{valType:"color",dflt:n.defaultLine},subunitwidth:{valType:"number",min:0,dflt:1},showframe:{valType:"boolean"},framecolor:{valType:"color",dflt:n.defaultLine},framewidth:{valType:"number",min:0,dflt:1},bgcolor:{valType:"color",dflt:n.background},lonaxis:s,lataxis:s},"plot","from-root")).uirevision={valType:"any",editType:"none"}},{"../../components/color/attributes":642,"../../plot_api/edit_types":810,"../domain":855,"./constants":858}],862:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../subplot_defaults"),a=t("../get_data").getSubplotData,o=t("./constants"),s=t("./layout_attributes"),l=o.axesNames;function c(t,e,r,i){var s=a(i.fullData,"geo",i.id).map((function(t){return t._expandedIndex})),c=r("resolution"),u=r("scope"),f=o.scopeDefaults[u],h=r("projection.type",f.projType),p=e._isAlbersUsa="albers usa"===h;p&&(u=e.scope="usa");var d=e._isScoped="world"!==u,g=e._isConic=-1!==h.indexOf("conic"),m=e._isClipped=!!o.lonaxisSpan[h];if(!1===t.visible){var v=n.extendDeep({},e._template);v.showcoastlines=!1,v.showcountries=!1,v.showframe=!1,v.showlakes=!1,v.showland=!1,v.showocean=!1,v.showrivers=!1,v.showsubunits=!1,v.lonaxis&&(v.lonaxis.showgrid=!1),v.lataxis&&(v.lataxis.showgrid=!1),e._template=v}for(var y=r("visible"),x=0;x<l.length;x++){var b,_=l[x],w=[30,10][x];if(d)b=f[_+"Range"];else{var T=o[_+"Span"],k=(T[h]||T["*"])/2,M=r("projection.rotation."+_.substr(0,3),f.projRotate[x]);b=[M-k,M+k]}var A=r(_+".range",b);r(_+".tick0"),r(_+".dtick",w),r(_+".showgrid",!!y&&void 0)&&(r(_+".gridcolor"),r(_+".gridwidth")),e[_]._ax={type:"linear",_id:_.slice(0,3),_traceIndices:s,setScale:n.identity,c2l:n.identity,r2l:n.identity,autorange:!0,range:A.slice(),_m:1,_input:{}}}var S=e.lonaxis.range,E=e.lataxis.range,C=S[0],L=S[1];C>0&&L<0&&(L+=360);var I,P,z,O=(C+L)/2;if(!p){var D=d?f.projRotate:[O,0,0];I=r("projection.rotation.lon",D[0]),r("projection.rotation.lat",D[1]),r("projection.rotation.roll",D[2]),r("showcoastlines",!d&&y)&&(r("coastlinecolor"),r("coastlinewidth")),r("showocean",!!y&&void 0)&&r("oceancolor")}(p?(P=-96.6,z=38.7):(P=d?O:I,z=(E[0]+E[1])/2),r("center.lon",P),r("center.lat",z),g)&&r("projection.parallels",f.projParallels||[0,60]);r("projection.scale"),r("showland",!!y&&void 0)&&r("landcolor"),r("showlakes",!!y&&void 0)&&r("lakecolor"),r("showrivers",!!y&&void 0)&&(r("rivercolor"),r("riverwidth")),r("showcountries",d&&"usa"!==u&&y)&&(r("countrycolor"),r("countrywidth")),("usa"===u||"north america"===u&&50===c)&&(r("showsubunits",y),r("subunitcolor"),r("subunitwidth")),d||r("showframe",y)&&(r("framecolor"),r("framewidth")),r("bgcolor"),r("fitbounds")&&(delete e.projection.scale,d?(delete e.center.lon,delete e.center.lat):m?(delete e.center.lon,delete e.center.lat,delete e.projection.rotation.lon,delete e.projection.rotation.lat,delete e.lonaxis.range,delete e.lataxis.range):(delete e.center.lon,delete e.center.lat,delete e.projection.rotation.lon))}e.exports=function(t,e,r){i(t,e,r,{type:"geo",attributes:s,handleDefaults:c,fullData:r,partition:"y"})}},{"../../lib":778,"../get_data":865,"../subplot_defaults":905,"./constants":858,"./layout_attributes":861}],863:[function(t,e,r){"use strict";e.exports=function(t){function e(t,e){return{type:"Feature",id:t.id,properties:t.properties,geometry:r(t.geometry,e)}}function r(e,n){if(!e)return null;if("GeometryCollection"===e.type)return{type:"GeometryCollection",geometries:object.geometries.map((function(t){return r(t,n)}))};if(!c.hasOwnProperty(e.type))return null;var i=c[e.type];return t.geo.stream(e,n(i)),i.result()}t.geo.project=function(t,e){var i=e.stream;if(!i)throw new Error("not yet supported");return(t&&n.hasOwnProperty(t.type)?n[t.type]:r)(t,i)};var n={Feature:e,FeatureCollection:function(t,r){return{type:"FeatureCollection",features:t.features.map((function(t){return e(t,r)}))}}},i=[],a=[],o={point:function(t,e){i.push([t,e])},result:function(){var t=i.length?i.length<2?{type:"Point",coordinates:i[0]}:{type:"MultiPoint",coordinates:i}:null;return i=[],t}},s={lineStart:u,point:function(t,e){i.push([t,e])},lineEnd:function(){i.length&&(a.push(i),i=[])},result:function(){var t=a.length?a.length<2?{type:"LineString",coordinates:a[0]}:{type:"MultiLineString",coordinates:a}:null;return a=[],t}},l={polygonStart:u,lineStart:u,point:function(t,e){i.push([t,e])},lineEnd:function(){var t=i.length;if(t){do{i.push(i[0].slice())}while(++t<4);a.push(i),i=[]}},polygonEnd:u,result:function(){if(!a.length)return null;var t=[],e=[];return a.forEach((function(r){!function(t){if((e=t.length)<4)return!1;var e,r=0,n=t[e-1][1]*t[0][0]-t[e-1][0]*t[0][1];for(;++r<e;)n+=t[r-1][1]*t[r][0]-t[r-1][0]*t[r][1];return n<=0}(r)?e.push(r):t.push([r])})),e.forEach((function(e){var r=e[0];t.some((function(t){if(function(t,e){for(var r=e[0],n=e[1],i=!1,a=0,o=t.length,s=o-1;a<o;s=a++){var l=t[a],c=l[0],u=l[1],f=t[s],h=f[0],p=f[1];u>n^p>n&&r<(h-c)*(n-u)/(p-u)+c&&(i=!i)}return i}(t[0],r))return t.push(e),!0}))||t.push([e])})),a=[],t.length?t.length>1?{type:"MultiPolygon",coordinates:t}:{type:"Polygon",coordinates:t[0]}:null}},c={Point:o,MultiPoint:o,LineString:s,MultiLineString:s,Polygon:l,MultiPolygon:l,Sphere:l};function u(){}var f=1e-6,h=Math.PI,p=h/2,d=(Math.sqrt(h),h/180),g=180/h;function m(t){return t>1?p:t<-1?-p:Math.asin(t)}function v(t){return t>1?0:t<-1?h:Math.acos(t)}var y=t.geo.projection,x=t.geo.projectionMutator;function b(t,e){var r=(2+p)*Math.sin(e);e/=2;for(var n=0,i=1/0;n<10&&Math.abs(i)>f;n++){var a=Math.cos(e);e-=i=(e+Math.sin(e)*(a+2)-r)/(2*a*(1+a))}return[2/Math.sqrt(h*(4+h))*t*(1+Math.cos(e)),2*Math.sqrt(h/(4+h))*Math.sin(e)]}t.geo.interrupt=function(e){var r,n=[[[[-h,0],[0,p],[h,0]]],[[[-h,0],[0,-p],[h,0]]]];function i(t,r){for(var i=r<0?-1:1,a=n[+(r<0)],o=0,s=a.length-1;o<s&&t>a[o][2][0];++o);var l=e(t-a[o][1][0],r);return l[0]+=e(a[o][1][0],i*r>i*a[o][0][1]?a[o][0][1]:r)[0],l}function a(){r=n.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>o&&(r=a,a=o,o=r),[[n,a],[i,o]]}))}))}e.invert&&(i.invert=function(t,a){for(var o=r[+(a<0)],s=n[+(a<0)],l=0,u=o.length;l<u;++l){var f=o[l];if(f[0][0]<=t&&t<f[1][0]&&f[0][1]<=a&&a<f[1][1]){var h=e.invert(t-e(s[l][1][0],0)[0],a);return h[0]+=s[l][1][0],c(i(h[0],h[1]),[t,a])?h:null}}});var o=t.geo.projection(i),s=o.stream;function l(t,e){for(var r,n,i,a=-1,o=t.length,s=t[0],l=[];++a<o;){n=((r=t[a])[0]-s[0])/e,i=(r[1]-s[1])/e;for(var c=0;c<e;++c)l.push([s[0]+c*n,s[1]+c*i]);s=r}return l.push(r),l}function c(t,e){return Math.abs(t[0]-e[0])<f&&Math.abs(t[1]-e[1])<f}return o.stream=function(e){var r=o.rotate(),i=s(e),a=(o.rotate([0,0]),s(e));return o.rotate(r),i.sphere=function(){t.geo.stream(function(){for(var e=1e-6,r=[],i=0,a=n[0].length;i<a;++i){var o=180*(p=n[0][i])[0][0]/h,s=180*p[0][1]/h,c=180*p[1][1]/h,u=180*p[2][0]/h,f=180*p[2][1]/h;r.push(l([[o+e,s+e],[o+e,c-e],[u-e,c-e],[u-e,f+e]],30))}for(i=n[1].length-1;i>=0;--i){var p;o=180*(p=n[1][i])[0][0]/h,s=180*p[0][1]/h,c=180*p[1][1]/h,u=180*p[2][0]/h,f=180*p[2][1]/h;r.push(l([[u-e,f-e],[u-e,c+e],[o+e,c+e],[o+e,s-e]],30))}return{type:"Polygon",coordinates:[t.merge(r)]}}(),a)},i},o.lobes=function(t){return arguments.length?(n=t.map((function(t){return t.map((function(t){return[[t[0][0]*h/180,t[0][1]*h/180],[t[1][0]*h/180,t[1][1]*h/180],[t[2][0]*h/180,t[2][1]*h/180]]}))})),a(),o):n.map((function(t){return t.map((function(t){return[[180*t[0][0]/h,180*t[0][1]/h],[180*t[1][0]/h,180*t[1][1]/h],[180*t[2][0]/h,180*t[2][1]/h]]}))}))},o},b.invert=function(t,e){var r=.5*e*Math.sqrt((4+h)/h),n=m(r),i=Math.cos(n);return[t/(2/Math.sqrt(h*(4+h))*(1+i)),m((n+r*(i+2))/(2+p))]},(t.geo.eckert4=function(){return y(b)}).raw=b;var _=t.geo.azimuthalEqualArea.raw;function w(t,e){if(arguments.length<2&&(e=t),1===e)return _;if(e===1/0)return T;function r(r,n){var i=_(r/e,n);return i[0]*=t,i}return r.invert=function(r,n){var i=_.invert(r/t,n);return i[0]*=e,i},r}function T(t,e){return[t*Math.cos(e)/Math.cos(e/=2),2*Math.sin(e)]}function k(t,e){return[3*t/(2*h)*Math.sqrt(h*h/3-e*e),e]}function M(t,e){return[t,1.25*Math.log(Math.tan(h/4+.4*e))]}function A(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)>f&&--i>0);return e/2}}T.invert=function(t,e){var r=2*m(e/2);return[t*Math.cos(r/2)/Math.cos(r),r]},(t.geo.hammer=function(){var t=2,e=x(w),r=e(t);return r.coefficient=function(r){return arguments.length?e(t=+r):t},r}).raw=w,k.invert=function(t,e){return[2/3*h*t/Math.sqrt(h*h/3-e*e),e]},(t.geo.kavrayskiy7=function(){return y(k)}).raw=k,M.invert=function(t,e){return[t,2.5*Math.atan(Math.exp(.8*e))-.625*h]},(t.geo.miller=function(){return y(M)}).raw=M,A(h);var S=function(t,e,r){var n=A(r);function i(r,i){return[t*r*Math.cos(i=n(i)),e*Math.sin(i)]}return i.invert=function(n,i){var a=m(i/e);return[n/(t*Math.cos(a)),m((2*a+Math.sin(2*a))/r)]},i}(Math.SQRT2/p,Math.SQRT2,h);function E(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)))]}(t.geo.mollweide=function(){return y(S)}).raw=S,E.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)>f&&--i>0);return[t/(.8707+(a=n*n)*(a*(a*a*a*(.003971-.001529*a)-.013791)-.131979)),n]},(t.geo.naturalEarth=function(){return y(E)}).raw=E;var C=[[.9986,-.062],[1,0],[.9986,.062],[.9954,.124],[.99,.186],[.9822,.248],[.973,.31],[.96,.372],[.9427,.434],[.9216,.4958],[.8962,.5571],[.8679,.6176],[.835,.6769],[.7986,.7346],[.7597,.7903],[.7186,.8435],[.6732,.8936],[.6213,.9394],[.5722,.9761],[.5322,1]];function L(t,e){var r,n=Math.min(18,36*Math.abs(e)/h),i=Math.floor(n),a=n-i,o=(r=C[i])[0],s=r[1],l=(r=C[++i])[0],c=r[1],u=(r=C[Math.min(19,++i)])[0],f=r[1];return[t*(l+a*(u-o)/2+a*a*(u-2*l+o)/2),(e>0?p:-p)*(c+a*(f-s)/2+a*a*(f-2*c+s)/2)]}function I(t,e){return[t*Math.cos(e),e]}function P(t,e){var r,n=Math.cos(e),i=(r=v(n*Math.cos(t/=2)))?r/Math.sin(r):1;return[2*n*Math.sin(t)*i,Math.sin(e)*i]}function z(t,e){var r=P(t,e);return[(r[0]+t/p)/2,(r[1]+e)/2]}C.forEach((function(t){t[1]*=1.0144})),L.invert=function(t,e){var r=e/p,n=90*r,i=Math.min(18,Math.abs(n/5)),a=Math.max(0,Math.floor(i));do{var o=C[a][1],s=C[a+1][1],l=C[Math.min(19,a+2)][1],c=l-o,u=l-2*s+o,f=2*(Math.abs(r)-s)/c,h=u/c,m=f*(1-h*f*(1-2*h*f));if(m>=0||1===a){n=(e>=0?5:-5)*(m+i);var v,y=50;do{m=(i=Math.min(18,Math.abs(n)/5))-(a=Math.floor(i)),o=C[a][1],s=C[a+1][1],l=C[Math.min(19,a+2)][1],n-=(v=(e>=0?p:-p)*(s+m*(l-o)/2+m*m*(l-2*s+o)/2)-e)*g}while(Math.abs(v)>1e-12&&--y>0);break}}while(--a>=0);var x=C[a][0],b=C[a+1][0],_=C[Math.min(19,a+2)][0];return[t/(b+m*(_-x)/2+m*m*(_-2*b+x)/2),n*d]},(t.geo.robinson=function(){return y(L)}).raw=L,I.invert=function(t,e){return[t/Math.cos(e),e]},(t.geo.sinusoidal=function(){return y(I)}).raw=I,P.invert=function(t,e){if(!(t*t+4*e*e>h*h+f)){var r=t,n=e,i=25;do{var a,o=Math.sin(r),s=Math.sin(r/2),l=Math.cos(r/2),c=Math.sin(n),u=Math.cos(n),p=Math.sin(2*n),d=c*c,g=u*u,m=s*s,y=1-g*l*l,x=y?v(u*l)*Math.sqrt(a=1/y):a=0,b=2*x*u*s-t,_=x*c-e,w=a*(g*m+x*u*l*d),T=a*(.5*o*p-2*x*c*s),k=.25*a*(p*s-x*c*g*o),M=a*(d*l+x*m*u),A=T*k-M*w;if(!A)break;var S=(_*T-b*M)/A,E=(b*k-_*w)/A;r-=S,n-=E}while((Math.abs(S)>f||Math.abs(E)>f)&&--i>0);return[r,n]}},(t.geo.aitoff=function(){return y(P)}).raw=P,z.invert=function(t,e){var r=t,n=e,i=25;do{var a,o=Math.cos(n),s=Math.sin(n),l=Math.sin(2*n),c=s*s,u=o*o,h=Math.sin(r),d=Math.cos(r/2),g=Math.sin(r/2),m=g*g,y=1-u*d*d,x=y?v(o*d)*Math.sqrt(a=1/y):a=0,b=.5*(2*x*o*g+r/p)-t,_=.5*(x*s+n)-e,w=.5*a*(u*m+x*o*d*c)+.5/p,T=a*(h*l/4-x*s*g),k=.125*a*(l*g-x*s*u*h),M=.5*a*(c*d+x*m*o)+.5,A=T*k-M*w,S=(_*T-b*M)/A,E=(b*k-_*w)/A;r-=S,n-=E}while((Math.abs(S)>f||Math.abs(E)>f)&&--i>0);return[r,n]},(t.geo.winkel3=function(){return y(z)}).raw=z}},{}],864:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../lib"),a=t("../../registry"),o=Math.PI/180,s=180/Math.PI,l={cursor:"pointer"},c={cursor:"auto"};function u(t,e){return n.behavior.zoom().translate(e.translate()).scale(e.scale())}function f(t,e,r){var n=t.id,o=t.graphDiv,s=o.layout,l=s[n],c=o._fullLayout,u=c[n],f={},h={};function p(t,e){f[n+"."+t]=i.nestedProperty(l,t).get(),a.call("_storeDirectGUIEdit",s,c._preGUI,f);var r=i.nestedProperty(u,t);r.get()!==e&&(r.set(e),i.nestedProperty(l,t).set(e),h[n+"."+t]=e)}r(p),p("projection.scale",e.scale()/t.fitScale),p("fitbounds",!1),o.emit("plotly_relayout",h)}function h(t,e){var r=u(0,e);function i(r){var n=e.invert(t.midPt);r("center.lon",n[0]),r("center.lat",n[1])}return r.on("zoomstart",(function(){n.select(this).style(l)})).on("zoom",(function(){e.scale(n.event.scale).translate(n.event.translate),t.render();var r=e.invert(t.midPt);t.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":e.scale()/t.fitScale,"geo.center.lon":r[0],"geo.center.lat":r[1]})})).on("zoomend",(function(){n.select(this).style(c),f(t,e,i)})),r}function p(t,e){var r,i,a,o,s,h,p,d,g,m=u(0,e);function v(t){return e.invert(t)}function y(r){var n=e.rotate(),i=e.invert(t.midPt);r("projection.rotation.lon",-n[0]),r("center.lon",i[0]),r("center.lat",i[1])}return m.on("zoomstart",(function(){n.select(this).style(l),r=n.mouse(this),i=e.rotate(),a=e.translate(),o=i,s=v(r)})).on("zoom",(function(){if(h=n.mouse(this),function(t){var r=v(t);if(!r)return!0;var n=e(r);return Math.abs(n[0]-t[0])>2||Math.abs(n[1]-t[1])>2}(r))return m.scale(e.scale()),void m.translate(e.translate());e.scale(n.event.scale),e.translate([a[0],n.event.translate[1]]),s?v(h)&&(d=v(h),p=[o[0]+(d[0]-s[0]),i[1],i[2]],e.rotate(p),o=p):s=v(r=h),g=!0,t.render();var l=e.rotate(),c=e.invert(t.midPt);t.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":e.scale()/t.fitScale,"geo.center.lon":c[0],"geo.center.lat":c[1],"geo.projection.rotation.lon":-l[0]})})).on("zoomend",(function(){n.select(this).style(c),g&&f(t,e,y)})),m}function d(t,e){var r,i={r:e.rotate(),k:e.scale()},a=u(0,e),o=function(t){var e=0,r=arguments.length,i=[];for(;++e<r;)i.push(arguments[e]);var a=n.dispatch.apply(null,i);return a.of=function(e,r){return function(i){var o;try{o=i.sourceEvent=n.event,i.target=t,n.event=i,a[i.type].apply(e,r)}finally{n.event=o}}},a}(a,"zoomstart","zoom","zoomend"),s=0,h=a.on;function p(t){s++||t({type:"zoomstart"})}function d(t){t({type:"zoom"})}function b(t){--s||t({type:"zoomend"})}function _(t){var r=e.rotate();t("projection.rotation.lon",-r[0]),t("projection.rotation.lat",-r[1])}return a.on("zoomstart",(function(){n.select(this).style(l);var t=n.mouse(this),s=e.rotate(),c=s,u=e.translate(),f=m(s);r=g(e,t),h.call(a,"zoom",(function(){var a=n.mouse(this);if(e.scale(i.k=n.event.scale),r){if(g(e,a)){e.rotate(s).translate(u);var l=g(e,a),h=y(r,l),p=T(v(f,h)),m=i.r=x(p,r,c);isFinite(m[0])&&isFinite(m[1])&&isFinite(m[2])||(m=c),e.rotate(m),c=m}}else r=g(e,t=a);d(o.of(this,arguments))})),p(o.of(this,arguments))})).on("zoomend",(function(){n.select(this).style(c),h.call(a,"zoom",null),b(o.of(this,arguments)),f(t,e,_)})).on("zoom.redraw",(function(){t.render();var r=e.rotate();t.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":e.scale()/t.fitScale,"geo.projection.rotation.lon":-r[0],"geo.projection.rotation.lat":-r[1]})})),n.rebind(a,o,"on")}function g(t,e){var r=t.invert(e);return r&&isFinite(r[0])&&isFinite(r[1])&&function(t){var e=t[0]*o,r=t[1]*o,n=Math.cos(r);return[n*Math.cos(e),n*Math.sin(e),Math.sin(r)]}(r)}function m(t){var e=.5*t[0]*o,r=.5*t[1]*o,n=.5*t[2]*o,i=Math.sin(e),a=Math.cos(e),s=Math.sin(r),l=Math.cos(r),c=Math.sin(n),u=Math.cos(n);return[a*l*u+i*s*c,i*l*u-a*s*c,a*s*u+i*l*c,a*l*c-i*s*u]}function v(t,e){var r=t[0],n=t[1],i=t[2],a=t[3],o=e[0],s=e[1],l=e[2],c=e[3];return[r*o-n*s-i*l-a*c,r*s+n*o+i*c-a*l,r*l-n*c+i*o+a*s,r*c+n*l-i*s+a*o]}function y(t,e){if(t&&e){var r=function(t,e){return[t[1]*e[2]-t[2]*e[1],t[2]*e[0]-t[0]*e[2],t[0]*e[1]-t[1]*e[0]]}(t,e),n=Math.sqrt(k(r,r)),i=.5*Math.acos(Math.max(-1,Math.min(1,k(t,e)))),a=Math.sin(i)/n;return n&&[Math.cos(i),r[2]*a,-r[1]*a,r[0]*a]}}function x(t,e,r){var n=w(e,2,t[0]);n=w(n,1,t[1]),n=w(n,0,t[2]-r[2]);var i,a,o=e[0],l=e[1],c=e[2],u=n[0],f=n[1],h=n[2],p=Math.atan2(l,o)*s,d=Math.sqrt(o*o+l*l);Math.abs(f)>d?(a=(f>0?90:-90)-p,i=0):(a=Math.asin(f/d)*s-p,i=Math.sqrt(d*d-f*f));var g=180-a-2*p,m=(Math.atan2(h,u)-Math.atan2(c,i))*s,v=(Math.atan2(h,u)-Math.atan2(c,-i))*s;return b(r[0],r[1],a,m)<=b(r[0],r[1],g,v)?[a,m,r[2]]:[g,v,r[2]]}function b(t,e,r,n){var i=_(r-t),a=_(n-e);return Math.sqrt(i*i+a*a)}function _(t){return(t%360+540)%360-180}function w(t,e,r){var n=r*o,i=t.slice(),a=0===e?1:0,s=2===e?1:2,l=Math.cos(n),c=Math.sin(n);return i[a]=t[a]*l-t[s]*c,i[s]=t[s]*l+t[a]*c,i}function T(t){return[Math.atan2(2*(t[0]*t[1]+t[2]*t[3]),1-2*(t[1]*t[1]+t[2]*t[2]))*s,Math.asin(Math.max(-1,Math.min(1,2*(t[0]*t[2]-t[3]*t[1]))))*s,Math.atan2(2*(t[0]*t[3]+t[1]*t[2]),1-2*(t[2]*t[2]+t[3]*t[3]))*s]}function k(t,e){for(var r=0,n=0,i=t.length;n<i;++n)r+=t[n]*e[n];return r}e.exports=function(t,e){var r=t.projection;return(e._isScoped?h:e._isClipped?d:p)(t,r)}},{"../../lib":778,"../../registry":911,d3:169}],865:[function(t,e,r){"use strict";var n=t("../registry"),i=t("./cartesian/constants").SUBPLOT_PATTERN;r.getSubplotCalcData=function(t,e,r){var i=n.subplotsRegistry[e];if(!i)return[];for(var a=i.attr,o=[],s=0;s<t.length;s++){var l=t[s];l[0].trace[a]===r&&o.push(l)}return o},r.getModuleCalcData=function(t,e){var r,i=[],a=[];if(!(r="string"==typeof e?n.getModule(e).plot:"function"==typeof e?e:e.plot))return[i,t];for(var o=0;o<t.length;o++){var s=t[o],l=s[0].trace;!0===l.visible&&0!==l._length&&(l._module.plot===r?i.push(s):a.push(s))}return[i,a]},r.getSubplotData=function(t,e,r){if(!n.subplotsRegistry[e])return[];var a,o,s,l=n.subplotsRegistry[e].attr,c=[];if("gl2d"===e){var u=r.match(i);o="x"+u[1],s="y"+u[2]}for(var f=0;f<t.length;f++)a=t[f],"gl2d"===e&&n.traceIs(a,"gl2d")?a[l[0]]===o&&a[l[1]]===s&&c.push(a):a[l]===r&&c.push(a);return c}},{"../registry":911,"./cartesian/constants":834}],866:[function(t,e,r){"use strict";var n=t("mouse-change"),i=t("mouse-wheel"),a=t("mouse-event-offset"),o=t("../cartesian/constants"),s=t("has-passive-events");function l(t,e){this.element=t,this.plot=e,this.mouseListener=null,this.wheelListener=null,this.lastInputTime=Date.now(),this.lastPos=[0,0],this.boxEnabled=!1,this.boxInited=!1,this.boxStart=[0,0],this.boxEnd=[0,0],this.dragStart=[0,0]}e.exports=function(t){var e=t.mouseContainer,r=t.glplot,c=new l(e,r);function u(){t.xaxis.autorange=!1,t.yaxis.autorange=!1}function f(e,n,i){var a,s,l=t.calcDataBox(),f=r.viewBox,h=c.lastPos[0],p=c.lastPos[1],d=o.MINDRAG*r.pixelRatio,g=o.MINZOOM*r.pixelRatio;function m(e,r,n){var i=Math.min(r,n),a=Math.max(r,n);i!==a?(l[e]=i,l[e+2]=a,c.dataBox=l,t.setRanges(l)):(t.selectBox.selectBox=[0,0,1,1],t.glplot.setDirty())}switch(n*=r.pixelRatio,i*=r.pixelRatio,i=f[3]-f[1]-i,t.fullLayout.dragmode){case"zoom":if(e){var v=n/(f[2]-f[0])*(l[2]-l[0])+l[0],y=i/(f[3]-f[1])*(l[3]-l[1])+l[1];c.boxInited||(c.boxStart[0]=v,c.boxStart[1]=y,c.dragStart[0]=n,c.dragStart[1]=i),c.boxEnd[0]=v,c.boxEnd[1]=y,c.boxInited=!0,c.boxEnabled||c.boxStart[0]===c.boxEnd[0]&&c.boxStart[1]===c.boxEnd[1]||(c.boxEnabled=!0);var x=Math.abs(c.dragStart[0]-n)<g,b=Math.abs(c.dragStart[1]-i)<g;if(!function(){for(var e=t.graphDiv._fullLayout._axisConstraintGroups,r=t.xaxis._id,n=t.yaxis._id,i=0;i<e.length;i++)if(-1!==e[i][r]){if(-1!==e[i][n])return!0;break}return!1}()||x&&b)x&&(c.boxEnd[0]=c.boxStart[0]),b&&(c.boxEnd[1]=c.boxStart[1]);else{a=c.boxEnd[0]-c.boxStart[0],s=c.boxEnd[1]-c.boxStart[1];var _=(l[3]-l[1])/(l[2]-l[0]);Math.abs(a*_)>Math.abs(s)?(c.boxEnd[1]=c.boxStart[1]+Math.abs(a)*_*(s>=0?1:-1),c.boxEnd[1]<l[1]?(c.boxEnd[1]=l[1],c.boxEnd[0]=c.boxStart[0]+(l[1]-c.boxStart[1])/Math.abs(_)):c.boxEnd[1]>l[3]&&(c.boxEnd[1]=l[3],c.boxEnd[0]=c.boxStart[0]+(l[3]-c.boxStart[1])/Math.abs(_))):(c.boxEnd[0]=c.boxStart[0]+Math.abs(s)/_*(a>=0?1:-1),c.boxEnd[0]<l[0]?(c.boxEnd[0]=l[0],c.boxEnd[1]=c.boxStart[1]+(l[0]-c.boxStart[0])*Math.abs(_)):c.boxEnd[0]>l[2]&&(c.boxEnd[0]=l[2],c.boxEnd[1]=c.boxStart[1]+(l[2]-c.boxStart[0])*Math.abs(_)))}}else c.boxEnabled?(a=c.boxStart[0]!==c.boxEnd[0],s=c.boxStart[1]!==c.boxEnd[1],a||s?(a&&(m(0,c.boxStart[0],c.boxEnd[0]),t.xaxis.autorange=!1),s&&(m(1,c.boxStart[1],c.boxEnd[1]),t.yaxis.autorange=!1),t.relayoutCallback()):t.glplot.setDirty(),c.boxEnabled=!1,c.boxInited=!1):c.boxInited&&(c.boxInited=!1);break;case"pan":c.boxEnabled=!1,c.boxInited=!1,e?(c.panning||(c.dragStart[0]=n,c.dragStart[1]=i),Math.abs(c.dragStart[0]-n)<d&&(n=c.dragStart[0]),Math.abs(c.dragStart[1]-i)<d&&(i=c.dragStart[1]),a=(h-n)*(l[2]-l[0])/(r.viewBox[2]-r.viewBox[0]),s=(p-i)*(l[3]-l[1])/(r.viewBox[3]-r.viewBox[1]),l[0]+=a,l[2]+=a,l[1]+=s,l[3]+=s,t.setRanges(l),c.panning=!0,c.lastInputTime=Date.now(),u(),t.cameraChanged(),t.handleAnnotations()):c.panning&&(c.panning=!1,t.relayoutCallback())}c.lastPos[0]=n,c.lastPos[1]=i}return c.mouseListener=n(e,f),e.addEventListener("touchstart",(function(t){var r=a(t.changedTouches[0],e);f(0,r[0],r[1]),f(1,r[0],r[1]),t.preventDefault()}),!!s&&{passive:!1}),e.addEventListener("touchmove",(function(t){t.preventDefault();var r=a(t.changedTouches[0],e);f(1,r[0],r[1]),t.preventDefault()}),!!s&&{passive:!1}),e.addEventListener("touchend",(function(t){f(0,c.lastPos[0],c.lastPos[1]),t.preventDefault()}),!!s&&{passive:!1}),c.wheelListener=i(e,(function(e,n){if(!t.scrollZoom)return!1;var i=t.calcDataBox(),a=r.viewBox,o=c.lastPos[0],s=c.lastPos[1],l=Math.exp(5*n/(a[3]-a[1])),f=o/(a[2]-a[0])*(i[2]-i[0])+i[0],h=s/(a[3]-a[1])*(i[3]-i[1])+i[1];return i[0]=(i[0]-f)*l+f,i[2]=(i[2]-f)*l+f,i[1]=(i[1]-h)*l+h,i[3]=(i[3]-h)*l+h,t.setRanges(i),c.lastInputTime=Date.now(),u(),t.cameraChanged(),t.handleAnnotations(),t.relayoutCallback(),!0}),!0),c}},{"../cartesian/constants":834,"has-passive-events":441,"mouse-change":483,"mouse-event-offset":484,"mouse-wheel":486}],867:[function(t,e,r){"use strict";var n=t("../cartesian/axes"),i=t("../../lib/str2rgbarray");function a(t){this.scene=t,this.gl=t.gl,this.pixelRatio=t.pixelRatio,this.screenBox=[0,0,1,1],this.viewBox=[0,0,1,1],this.dataBox=[-1,-1,1,1],this.borderLineEnable=[!1,!1,!1,!1],this.borderLineWidth=[1,1,1,1],this.borderLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.ticks=[[],[]],this.tickEnable=[!0,!0,!1,!1],this.tickPad=[15,15,15,15],this.tickAngle=[0,0,0,0],this.tickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.tickMarkLength=[0,0,0,0],this.tickMarkWidth=[0,0,0,0],this.tickMarkColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.labels=["x","y"],this.labelEnable=[!0,!0,!1,!1],this.labelAngle=[0,Math.PI/2,0,3*Math.PI/2],this.labelPad=[15,15,15,15],this.labelSize=[12,12],this.labelFont=["sans-serif","sans-serif"],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.title="",this.titleEnable=!0,this.titleCenter=[0,0,0,0],this.titleAngle=0,this.titleColor=[0,0,0,1],this.titleFont="sans-serif",this.titleSize=18,this.gridLineEnable=[!0,!0],this.gridLineColor=[[0,0,0,.5],[0,0,0,.5]],this.gridLineWidth=[1,1],this.zeroLineEnable=[!0,!0],this.zeroLineWidth=[1,1],this.zeroLineColor=[[0,0,0,1],[0,0,0,1]],this.borderColor=[0,0,0,0],this.backgroundColor=[0,0,0,0],this.static=this.scene.staticPlot}var o=a.prototype,s=["xaxis","yaxis"];o.merge=function(t){var e,r,n,a,o,l,c,u,f,h,p;for(this.titleEnable=!1,this.backgroundColor=i(t.plot_bgcolor),h=0;h<2;++h){var d=(e=s[h]).charAt(0);for(n=(r=t[this.scene[e]._name]).title.text===this.scene.fullLayout._dfltTitle[d]?"":r.title.text,p=0;p<=2;p+=2)this.labelEnable[h+p]=!1,this.labels[h+p]=n,this.labelColor[h+p]=i(r.title.font.color),this.labelFont[h+p]=r.title.font.family,this.labelSize[h+p]=r.title.font.size,this.labelPad[h+p]=this.getLabelPad(e,r),this.tickEnable[h+p]=!1,this.tickColor[h+p]=i((r.tickfont||{}).color),this.tickAngle[h+p]="auto"===r.tickangle?0:Math.PI*-r.tickangle/180,this.tickPad[h+p]=this.getTickPad(r),this.tickMarkLength[h+p]=0,this.tickMarkWidth[h+p]=r.tickwidth||0,this.tickMarkColor[h+p]=i(r.tickcolor),this.borderLineEnable[h+p]=!1,this.borderLineColor[h+p]=i(r.linecolor),this.borderLineWidth[h+p]=r.linewidth||0;c=this.hasSharedAxis(r),o=this.hasAxisInDfltPos(e,r)&&!c,l=this.hasAxisInAltrPos(e,r)&&!c,a=r.mirror||!1,u=c?-1!==String(a).indexOf("all"):!!a,f=c?"allticks"===a:-1!==String(a).indexOf("ticks"),o?this.labelEnable[h]=!0:l&&(this.labelEnable[h+2]=!0),o?this.tickEnable[h]=r.showticklabels:l&&(this.tickEnable[h+2]=r.showticklabels),(o||u)&&(this.borderLineEnable[h]=r.showline),(l||u)&&(this.borderLineEnable[h+2]=r.showline),(o||f)&&(this.tickMarkLength[h]=this.getTickMarkLength(r)),(l||f)&&(this.tickMarkLength[h+2]=this.getTickMarkLength(r)),this.gridLineEnable[h]=r.showgrid,this.gridLineColor[h]=i(r.gridcolor),this.gridLineWidth[h]=r.gridwidth,this.zeroLineEnable[h]=r.zeroline,this.zeroLineColor[h]=i(r.zerolinecolor),this.zeroLineWidth[h]=r.zerolinewidth}},o.hasSharedAxis=function(t){var e=this.scene,r=e.fullLayout._subplots.gl2d;return 0!==n.findSubplotsWithAxis(r,t).indexOf(e.id)},o.hasAxisInDfltPos=function(t,e){var r=e.side;return"xaxis"===t?"bottom"===r:"yaxis"===t?"left"===r:void 0},o.hasAxisInAltrPos=function(t,e){var r=e.side;return"xaxis"===t?"top"===r:"yaxis"===t?"right"===r:void 0},o.getLabelPad=function(t,e){var r=e.title.font.size,n=e.showticklabels;return"xaxis"===t?"top"===e.side?r*(1.5+(n?1:0))-10:r*(1.5+(n?.5:0))-10:"yaxis"===t?"right"===e.side?10+r*(1.5+(n?1:.5)):10+r*(1.5+(n?.5:0)):void 0},o.getTickPad=function(t){return"outside"===t.ticks?10+t.ticklen:15},o.getTickMarkLength=function(t){if(!t.ticks)return 0;var e=t.ticklen;return"inside"===t.ticks?-e:e},e.exports=function(t){return new a(t)}},{"../../lib/str2rgbarray":802,"../cartesian/axes":828}],868:[function(t,e,r){"use strict";var n=t("../../plot_api/edit_types").overrideAll,i=t("./scene2d"),a=t("../layout_attributes"),o=t("../../constants/xmlns_namespaces"),s=t("../cartesian/constants"),l=t("../cartesian"),c=t("../../components/fx/layout_attributes"),u=t("../get_data").getSubplotData;r.name="gl2d",r.attr=["xaxis","yaxis"],r.idRoot=["x","y"],r.idRegex=s.idRegex,r.attrRegex=s.attrRegex,r.attributes=t("../cartesian/attributes"),r.supplyLayoutDefaults=function(t,e,r){e._has("cartesian")||l.supplyLayoutDefaults(t,e,r)},r.layoutAttrOverrides=n(l.layoutAttributes,"plot","from-root"),r.baseLayoutAttrOverrides=n({plot_bgcolor:a.plot_bgcolor,hoverlabel:c.hoverlabel},"plot","nested"),r.plot=function(t){for(var e=t._fullLayout,r=t._fullData,n=e._subplots.gl2d,a=0;a<n.length;a++){var o=n[a],s=e._plots[o],l=u(r,"gl2d",o),c=s._scene2d;void 0===c&&(c=new i({id:o,graphDiv:t,container:t.querySelector(".gl-container"),staticPlot:t._context.staticPlot,plotGlPixelRatio:t._context.plotGlPixelRatio},e),s._scene2d=c),c.plot(l,t.calcdata,e,t.layout)}},r.clean=function(t,e,r,n){for(var i=n._subplots.gl2d||[],a=0;a<i.length;a++){var o=i[a],s=n._plots[o];if(s._scene2d){var c=u(t,"gl2d",o);0===c.length&&(s._scene2d.destroy(),delete n._plots[o])}}l.clean.apply(this,arguments)},r.drawFramework=function(t){t._context.staticPlot||l.drawFramework(t)},r.toSVG=function(t){for(var e=t._fullLayout,r=e._subplots.gl2d,n=0;n<r.length;n++){var i=e._plots[r[n]]._scene2d,a=i.toImage("png");e._glimages.append("svg:image").attr({xmlns:o.svg,"xlink:href":a,x:0,y:0,width:"100%",height:"100%",preserveAspectRatio:"none"}),i.destroy()}},r.updateFx=function(t){for(var e=t._fullLayout,r=e._subplots.gl2d,n=0;n<r.length;n++){e._plots[r[n]]._scene2d.updateFx(e.dragmode)}}},{"../../components/fx/layout_attributes":684,"../../constants/xmlns_namespaces":754,"../../plot_api/edit_types":810,"../cartesian":841,"../cartesian/attributes":826,"../cartesian/constants":834,"../get_data":865,"../layout_attributes":882,"./scene2d":869}],869:[function(t,e,r){"use strict";var n,i,a=t("../../registry"),o=t("../../plots/cartesian/axes"),s=t("../../components/fx"),l=t("gl-plot2d"),c=t("gl-spikes2d"),u=t("gl-select-box"),f=t("webgl-context"),h=t("./convert"),p=t("./camera"),d=t("../../lib/show_no_webgl_msg"),g=t("../cartesian/constraints"),m=g.enforce,v=g.clean,y=t("../cartesian/autorange").doAutoRange,x=t("../../components/dragelement/helpers"),b=x.drawMode,_=x.selectMode,w=["xaxis","yaxis"],T=t("../cartesian/constants").SUBPLOT_PATTERN;function k(t,e){this.container=t.container,this.graphDiv=t.graphDiv,this.pixelRatio=t.plotGlPixelRatio||window.devicePixelRatio,this.id=t.id,this.staticPlot=!!t.staticPlot,this.scrollZoom=this.graphDiv._context._scrollZoom.cartesian,this.fullData=null,this.updateRefs(e),this.makeFramework(),this.stopped||(this.glplotOptions=h(this),this.glplotOptions.merge(e),this.glplot=l(this.glplotOptions),this.camera=p(this),this.traces={},this.spikes=c(this.glplot),this.selectBox=u(this.glplot,{innerFill:!1,outerFill:!0}),this.lastButtonState=0,this.pickResult=null,this.isMouseOver=!0,this.stopped=!1,this.redraw=this.draw.bind(this),this.redraw())}e.exports=k;var M=k.prototype;M.makeFramework=function(){if(this.staticPlot){if(!(i||(n=document.createElement("canvas"),i=f({canvas:n,preserveDrawingBuffer:!1,premultipliedAlpha:!0,antialias:!0}))))throw new Error("Error creating static canvas/context for image server");this.canvas=n,this.gl=i}else{var t=this.container.querySelector(".gl-canvas-focus"),e=f({canvas:t,preserveDrawingBuffer:!0,premultipliedAlpha:!0});if(!e)return d(this),void(this.stopped=!0);this.canvas=t,this.gl=e}var r=this.canvas;r.style.width="100%",r.style.height="100%",r.style.position="absolute",r.style.top="0px",r.style.left="0px",r.style["pointer-events"]="none",this.updateSize(r);var a=this.svgContainer=document.createElementNS("http://www.w3.org/2000/svg","svg");a.style.position="absolute",a.style.top=a.style.left="0px",a.style.width=a.style.height="100%",a.style["z-index"]=20,a.style["pointer-events"]="none";var o=this.mouseContainer=document.createElement("div");o.style.position="absolute",o.style["pointer-events"]="auto",this.pickCanvas=this.container.querySelector(".gl-canvas-pick");var s=this.container;s.appendChild(a),s.appendChild(o);var l=this;o.addEventListener("mouseout",(function(){l.isMouseOver=!1,l.unhover()})),o.addEventListener("mouseover",(function(){l.isMouseOver=!0}))},M.toImage=function(t){t||(t="png"),this.stopped=!0,this.staticPlot&&this.container.appendChild(n),this.updateSize(this.canvas);var e=this.glplot.gl,r=e.drawingBufferWidth,i=e.drawingBufferHeight;e.clearColor(1,1,1,0),e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT),this.glplot.setDirty(),this.glplot.draw(),e.bindFramebuffer(e.FRAMEBUFFER,null);var a=new Uint8Array(r*i*4);e.readPixels(0,0,r,i,e.RGBA,e.UNSIGNED_BYTE,a);for(var o=0,s=i-1;o<s;++o,--s)for(var l=0;l<r;++l)for(var c=0;c<4;++c){var u=a[4*(r*o+l)+c];a[4*(r*o+l)+c]=a[4*(r*s+l)+c],a[4*(r*s+l)+c]=u}var f=document.createElement("canvas");f.width=r,f.height=i;var h,p=f.getContext("2d"),d=p.createImageData(r,i);switch(d.data.set(a),p.putImageData(d,0,0),t){case"jpeg":h=f.toDataURL("image/jpeg");break;case"webp":h=f.toDataURL("image/webp");break;default:h=f.toDataURL("image/png")}return this.staticPlot&&this.container.removeChild(n),h},M.updateSize=function(t){t||(t=this.canvas);var e=this.pixelRatio,r=this.fullLayout,n=r.width,i=r.height,a=0|Math.ceil(e*n),o=0|Math.ceil(e*i);return t.width===a&&t.height===o||(t.width=a,t.height=o),t},M.computeTickMarks=function(){this.xaxis.setScale(),this.yaxis.setScale();for(var t=[o.calcTicks(this.xaxis),o.calcTicks(this.yaxis)],e=0;e<2;++e)for(var r=0;r<t[e].length;++r)t[e][r].text=t[e][r].text+"";return t},M.updateRefs=function(t){this.fullLayout=t;var e=this.id.match(T),r="xaxis"+e[1],n="yaxis"+e[2];this.xaxis=this.fullLayout[r],this.yaxis=this.fullLayout[n]},M.relayoutCallback=function(){var t=this.graphDiv,e=this.xaxis,r=this.yaxis,n=t.layout,i={},o=i[e._name+".range"]=e.range.slice(),s=i[r._name+".range"]=r.range.slice();i[e._name+".autorange"]=e.autorange,i[r._name+".autorange"]=r.autorange,a.call("_storeDirectGUIEdit",t.layout,t._fullLayout._preGUI,i);var l=n[e._name];l.range=o,l.autorange=e.autorange;var c=n[r._name];c.range=s,c.autorange=r.autorange,i.lastInputTime=this.camera.lastInputTime,t.emit("plotly_relayout",i)},M.cameraChanged=function(){var t=this.camera;this.glplot.setDataBox(this.calcDataBox());var e=this.computeTickMarks();(function(t,e){for(var r=0;r<2;++r){var n=t[r],i=e[r];if(n.length!==i.length)return!0;for(var a=0;a<n.length;++a)if(n[a].x!==i[a].x)return!0}return!1})(e,this.glplotOptions.ticks)&&(this.glplotOptions.ticks=e,this.glplotOptions.dataBox=t.dataBox,this.glplot.update(this.glplotOptions),this.handleAnnotations())},M.handleAnnotations=function(){for(var t=this.graphDiv,e=this.fullLayout.annotations,r=0;r<e.length;r++){var n=e[r];n.xref===this.xaxis._id&&n.yref===this.yaxis._id&&a.getComponentMethod("annotations","drawOne")(t,r)}},M.destroy=function(){if(this.glplot){var t=this.traces;t&&Object.keys(t).map((function(e){t[e].dispose(),delete t[e]})),this.glplot.dispose(),this.container.removeChild(this.svgContainer),this.container.removeChild(this.mouseContainer),this.fullData=null,this.glplot=null,this.stopped=!0,this.camera.mouseListener.enabled=!1,this.mouseContainer.removeEventListener("wheel",this.camera.wheelListener),this.camera=null}},M.plot=function(t,e,r){var n=this.glplot;this.updateRefs(r),this.xaxis.clearCalc(),this.yaxis.clearCalc(),this.updateTraces(t,e),this.updateFx(r.dragmode);var i=r.width,a=r.height;this.updateSize(this.canvas);var o=this.glplotOptions;o.merge(r),o.screenBox=[0,0,i,a];var s={_fullLayout:{_axisConstraintGroups:this.graphDiv._fullLayout._axisConstraintGroups,xaxis:this.xaxis,yaxis:this.yaxis}};v(s,this.xaxis),v(s,this.yaxis);var l,c,u=r._size,f=this.xaxis.domain,h=this.yaxis.domain;for(o.viewBox=[u.l+f[0]*u.w,u.b+h[0]*u.h,i-u.r-(1-f[1])*u.w,a-u.t-(1-h[1])*u.h],this.mouseContainer.style.width=u.w*(f[1]-f[0])+"px",this.mouseContainer.style.height=u.h*(h[1]-h[0])+"px",this.mouseContainer.height=u.h*(h[1]-h[0]),this.mouseContainer.style.left=u.l+f[0]*u.w+"px",this.mouseContainer.style.top=u.t+(1-h[1])*u.h+"px",c=0;c<2;++c)(l=this[w[c]])._length=o.viewBox[c+2]-o.viewBox[c],y(this.graphDiv,l),l.setScale();m(s),o.ticks=this.computeTickMarks(),o.dataBox=this.calcDataBox(),o.merge(r),n.update(o),this.glplot.draw()},M.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])]},M.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])]},M.updateTraces=function(t,e){var r,n,i,a=Object.keys(this.traces);this.fullData=t;t:for(r=0;r<a.length;r++){var o=a[r],s=this.traces[o];for(n=0;n<t.length;n++)if((i=t[n]).uid===o&&i.type===s.type)continue t;s.dispose(),delete this.traces[o]}for(r=0;r<t.length;r++){i=t[r];var l=e[r],c=this.traces[i.uid];c?c.update(i,l):(c=i._module.plot(this,i,l),this.traces[i.uid]=c)}this.glplot.objects.sort((function(t,e){return t._trace.index-e._trace.index}))},M.updateFx=function(t){_(t)||b(t)?(this.pickCanvas.style["pointer-events"]="none",this.mouseContainer.style["pointer-events"]="none"):(this.pickCanvas.style["pointer-events"]="auto",this.mouseContainer.style["pointer-events"]="auto"),this.mouseContainer.style.cursor="pan"===t?"move":"zoom"===t?"crosshair":null},M.emitPointAction=function(t,e){for(var r,n=t.trace.uid,i=t.pointIndex,a=0;a<this.fullData.length;a++)this.fullData[a].uid===n&&(r=this.fullData[a]);var o={x:t.traceCoord[0],y:t.traceCoord[1],curveNumber:r.index,pointNumber:i,data:r._input,fullData:this.fullData,xaxis:this.xaxis,yaxis:this.yaxis};s.appendArrayPointValue(o,r,i),this.graphDiv.emit(e,{points:[o]})},M.draw=function(){if(!this.stopped){requestAnimationFrame(this.redraw);var t=this.glplot,e=this.camera,r=e.mouseListener,n=1===this.lastButtonState&&0===r.buttons,i=this.fullLayout;this.lastButtonState=r.buttons,this.cameraChanged();var a,o=r.x*t.pixelRatio,l=this.canvas.height-t.pixelRatio*r.y;if(e.boxEnabled&&"zoom"===i.dragmode){this.selectBox.enabled=!0;for(var c=this.selectBox.selectBox=[Math.min(e.boxStart[0],e.boxEnd[0]),Math.min(e.boxStart[1],e.boxEnd[1]),Math.max(e.boxStart[0],e.boxEnd[0]),Math.max(e.boxStart[1],e.boxEnd[1])],u=0;u<2;u++)e.boxStart[u]===e.boxEnd[u]&&(c[u]=t.dataBox[u],c[u+2]=t.dataBox[u+2]);t.setDirty()}else if(!e.panning&&this.isMouseOver){this.selectBox.enabled=!1;var f=i._size,h=this.xaxis.domain,p=this.yaxis.domain,d=(a=t.pick(o/t.pixelRatio+f.l+h[0]*f.w,l/t.pixelRatio-(f.t+(1-p[1])*f.h)))&&a.object._trace.handlePick(a);if(d&&n&&this.emitPointAction(d,"plotly_click"),a&&"skip"!==a.object._trace.hoverinfo&&i.hovermode&&d&&(!this.lastPickResult||this.lastPickResult.traceUid!==d.trace.uid||this.lastPickResult.dataCoord[0]!==d.dataCoord[0]||this.lastPickResult.dataCoord[1]!==d.dataCoord[1])){var g=d;this.lastPickResult={traceUid:d.trace?d.trace.uid:null,dataCoord:d.dataCoord.slice()},this.spikes.update({center:a.dataCoord}),g.screenCoord=[((t.viewBox[2]-t.viewBox[0])*(a.dataCoord[0]-t.dataBox[0])/(t.dataBox[2]-t.dataBox[0])+t.viewBox[0])/t.pixelRatio,(this.canvas.height-(t.viewBox[3]-t.viewBox[1])*(a.dataCoord[1]-t.dataBox[1])/(t.dataBox[3]-t.dataBox[1])-t.viewBox[1])/t.pixelRatio],this.emitPointAction(d,"plotly_hover");var m=this.fullData[g.trace.index]||{},v=g.pointIndex,y=s.castHoverinfo(m,i,v);if(y&&"all"!==y){var x=y.split("+");-1===x.indexOf("x")&&(g.traceCoord[0]=void 0),-1===x.indexOf("y")&&(g.traceCoord[1]=void 0),-1===x.indexOf("z")&&(g.traceCoord[2]=void 0),-1===x.indexOf("text")&&(g.textLabel=void 0),-1===x.indexOf("name")&&(g.name=void 0)}s.loneHover({x:g.screenCoord[0],y:g.screenCoord[1],xLabel:this.hoverFormatter("xaxis",g.traceCoord[0]),yLabel:this.hoverFormatter("yaxis",g.traceCoord[1]),zLabel:g.traceCoord[2],text:g.textLabel,name:g.name,color:s.castHoverOption(m,v,"bgcolor")||g.color,borderColor:s.castHoverOption(m,v,"bordercolor"),fontFamily:s.castHoverOption(m,v,"font.family"),fontSize:s.castHoverOption(m,v,"font.size"),fontColor:s.castHoverOption(m,v,"font.color"),nameLength:s.castHoverOption(m,v,"namelength"),textAlign:s.castHoverOption(m,v,"align")},{container:this.svgContainer,gd:this.graphDiv})}}a||this.unhover(),t.draw()}},M.unhover=function(){this.lastPickResult&&(this.spikes.update({}),this.lastPickResult=null,this.graphDiv.emit("plotly_unhover"),s.loneUnhover(this.svgContainer))},M.hoverFormatter=function(t,e){if(void 0!==e){var r=this[t];return o.tickText(r,r.c2l(e),"hover").text}}},{"../../components/dragelement/helpers":661,"../../components/fx":683,"../../lib/show_no_webgl_msg":800,"../../plots/cartesian/axes":828,"../../registry":911,"../cartesian/autorange":827,"../cartesian/constants":834,"../cartesian/constraints":835,"./camera":866,"./convert":867,"gl-plot2d":317,"gl-select-box":333,"gl-spikes2d":342,"webgl-context":606}],870:[function(t,e,r){"use strict";var n=t("../../plot_api/edit_types").overrideAll,i=t("../../components/fx/layout_attributes"),a=t("./scene"),o=t("../get_data").getSubplotData,s=t("../../lib"),l=t("../../constants/xmlns_namespaces");r.name="gl3d",r.attr="scene",r.idRoot="scene",r.idRegex=r.attrRegex=s.counterRegex("scene"),r.attributes=t("./layout/attributes"),r.layoutAttributes=t("./layout/layout_attributes"),r.baseLayoutAttrOverrides=n({hoverlabel:i.hoverlabel},"plot","nested"),r.supplyLayoutDefaults=t("./layout/defaults"),r.plot=function(t){for(var e=t._fullLayout,r=t._fullData,n=e._subplots.gl3d,i=0;i<n.length;i++){var s=n[i],l=o(r,"gl3d",s),c=e[s],u=c.camera,f=c._scene;f||(f=new a({id:s,graphDiv:t,container:t.querySelector(".gl-container"),staticPlot:t._context.staticPlot,plotGlPixelRatio:t._context.plotGlPixelRatio,camera:u},e),c._scene=f),f.viewInitial||(f.viewInitial={up:{x:u.up.x,y:u.up.y,z:u.up.z},eye:{x:u.eye.x,y:u.eye.y,z:u.eye.z},center:{x:u.center.x,y:u.center.y,z:u.center.z}}),f.plot(l,e,t.layout)}},r.clean=function(t,e,r,n){for(var i=n._subplots.gl3d||[],a=0;a<i.length;a++){var o=i[a];!e[o]&&n[o]._scene&&(n[o]._scene.destroy(),n._infolayer&&n._infolayer.selectAll(".annotation-"+o).remove())}},r.toSVG=function(t){for(var e=t._fullLayout,r=e._subplots.gl3d,n=e._size,i=0;i<r.length;i++){var a=e[r[i]],o=a.domain,s=a._scene,c=s.toImage("png");e._glimages.append("svg:image").attr({xmlns:l.svg,"xlink:href":c,x:n.l+n.w*o.x[0],y:n.t+n.h*(1-o.y[1]),width:n.w*(o.x[1]-o.x[0]),height:n.h*(o.y[1]-o.y[0]),preserveAspectRatio:"none"}),s.destroy()}},r.cleanId=function(t){if(t.match(/^scene[0-9]*$/)){var e=t.substr(5);return"1"===e&&(e=""),"scene"+e}},r.updateFx=function(t){for(var e=t._fullLayout,r=e._subplots.gl3d,n=0;n<r.length;n++){e[r[n]]._scene.updateFx(e.dragmode,e.hovermode)}}},{"../../components/fx/layout_attributes":684,"../../constants/xmlns_namespaces":754,"../../lib":778,"../../plot_api/edit_types":810,"../get_data":865,"./layout/attributes":871,"./layout/defaults":875,"./layout/layout_attributes":876,"./scene":880}],871:[function(t,e,r){"use strict";e.exports={scene:{valType:"subplotid",dflt:"scene",editType:"calc+clearAxisTypes"}}},{}],872:[function(t,e,r){"use strict";var n=t("../../../components/color"),i=t("../../cartesian/layout_attributes"),a=t("../../../lib/extend").extendFlat,o=t("../../../plot_api/edit_types").overrideAll;e.exports=o({visible:i.visible,showspikes:{valType:"boolean",dflt:!0},spikesides:{valType:"boolean",dflt:!0},spikethickness:{valType:"number",min:0,dflt:2},spikecolor:{valType:"color",dflt:n.defaultLine},showbackground:{valType:"boolean",dflt:!1},backgroundcolor:{valType:"color",dflt:"rgba(204, 204, 204, 0.5)"},showaxeslabels:{valType:"boolean",dflt:!0},color:i.color,categoryorder:i.categoryorder,categoryarray:i.categoryarray,title:{text:i.title.text,font:i.title.font},type:a({},i.type,{values:["-","linear","log","date","category"]}),autotypenumbers:i.autotypenumbers,autorange:i.autorange,rangemode:i.rangemode,range:a({},i.range,{items:[{valType:"any",editType:"plot",impliedEdits:{"^autorange":!1}},{valType:"any",editType:"plot",impliedEdits:{"^autorange":!1}}],anim:!1}),tickmode:i.tickmode,nticks:i.nticks,tick0:i.tick0,dtick:i.dtick,tickvals:i.tickvals,ticktext:i.ticktext,ticks:i.ticks,mirror:i.mirror,ticklen:i.ticklen,tickwidth:i.tickwidth,tickcolor:i.tickcolor,showticklabels:i.showticklabels,tickfont:i.tickfont,tickangle:i.tickangle,tickprefix:i.tickprefix,showtickprefix:i.showtickprefix,ticksuffix:i.ticksuffix,showticksuffix:i.showticksuffix,showexponent:i.showexponent,exponentformat:i.exponentformat,minexponent:i.minexponent,separatethousands:i.separatethousands,tickformat:i.tickformat,tickformatstops:i.tickformatstops,hoverformat:i.hoverformat,showline:i.showline,linecolor:i.linecolor,linewidth:i.linewidth,showgrid:i.showgrid,gridcolor:a({},i.gridcolor,{dflt:"rgb(204, 204, 204)"}),gridwidth:i.gridwidth,zeroline:i.zeroline,zerolinecolor:i.zerolinecolor,zerolinewidth:i.zerolinewidth,_deprecated:{title:i._deprecated.title,titlefont:i._deprecated.titlefont}},"plot","from-root")},{"../../../components/color":643,"../../../lib/extend":768,"../../../plot_api/edit_types":810,"../../cartesian/layout_attributes":842}],873:[function(t,e,r){"use strict";var n=t("tinycolor2").mix,i=t("../../../lib"),a=t("../../../plot_api/plot_template"),o=t("./axis_attributes"),s=t("../../cartesian/type_defaults"),l=t("../../cartesian/axis_defaults"),c=["xaxis","yaxis","zaxis"];e.exports=function(t,e,r){var u,f;function h(t,e){return i.coerce(u,f,o,t,e)}for(var p=0;p<c.length;p++){var d=c[p];u=t[d]||{},(f=a.newContainer(e,d))._id=d[0]+r.scene,f._name=d,s(u,f,h,r),l(u,f,h,{font:r.font,letter:d[0],data:r.data,showGrid:!0,noTickson:!0,noTicklabelmode:!0,noTicklabelposition:!0,bgColor:r.bgColor,calendar:r.calendar},r.fullLayout),h("gridcolor",n(f.color,r.bgColor,13600/187).toRgbString()),h("title.text",d[0]),f.setScale=i.noop,h("showspikes")&&(h("spikesides"),h("spikethickness"),h("spikecolor",f.color)),h("showaxeslabels"),h("showbackground")&&h("backgroundcolor")}}},{"../../../lib":778,"../../../plot_api/plot_template":817,"../../cartesian/axis_defaults":830,"../../cartesian/type_defaults":853,"./axis_attributes":872,tinycolor2:576}],874:[function(t,e,r){"use strict";var n=t("../../../lib/str2rgbarray"),i=t("../../../lib"),a=["xaxis","yaxis","zaxis"];function o(){this.bounds=[[-10,-10,-10],[10,10,10]],this.ticks=[[],[],[]],this.tickEnable=[!0,!0,!0],this.tickFont=["sans-serif","sans-serif","sans-serif"],this.tickSize=[12,12,12],this.tickAngle=[0,0,0],this.tickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.tickPad=[18,18,18],this.labels=["x","y","z"],this.labelEnable=[!0,!0,!0],this.labelFont=["Open Sans","Open Sans","Open Sans"],this.labelSize=[20,20,20],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.labelPad=[30,30,30],this.lineEnable=[!0,!0,!0],this.lineMirror=[!1,!1,!1],this.lineWidth=[1,1,1],this.lineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.lineTickEnable=[!0,!0,!0],this.lineTickMirror=[!1,!1,!1],this.lineTickLength=[10,10,10],this.lineTickWidth=[1,1,1],this.lineTickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.gridEnable=[!0,!0,!0],this.gridWidth=[1,1,1],this.gridColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroEnable=[!0,!0,!0],this.zeroLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroLineWidth=[2,2,2],this.backgroundEnable=[!0,!0,!0],this.backgroundColor=[[.8,.8,.8,.5],[.8,.8,.8,.5],[.8,.8,.8,.5]],this._defaultTickPad=this.tickPad.slice(),this._defaultLabelPad=this.labelPad.slice(),this._defaultLineTickLength=this.lineTickLength.slice()}o.prototype.merge=function(t,e){for(var r=0;r<3;++r){var o=e[a[r]];o.visible?(this.labels[r]=t._meta?i.templateString(o.title.text,t._meta):o.title.text,"font"in o.title&&(o.title.font.color&&(this.labelColor[r]=n(o.title.font.color)),o.title.font.family&&(this.labelFont[r]=o.title.font.family),o.title.font.size&&(this.labelSize[r]=o.title.font.size)),"showline"in o&&(this.lineEnable[r]=o.showline),"linecolor"in o&&(this.lineColor[r]=n(o.linecolor)),"linewidth"in o&&(this.lineWidth[r]=o.linewidth),"showgrid"in o&&(this.gridEnable[r]=o.showgrid),"gridcolor"in o&&(this.gridColor[r]=n(o.gridcolor)),"gridwidth"in o&&(this.gridWidth[r]=o.gridwidth),"log"===o.type?this.zeroEnable[r]=!1:"zeroline"in o&&(this.zeroEnable[r]=o.zeroline),"zerolinecolor"in o&&(this.zeroLineColor[r]=n(o.zerolinecolor)),"zerolinewidth"in o&&(this.zeroLineWidth[r]=o.zerolinewidth),"ticks"in o&&o.ticks?this.lineTickEnable[r]=!0:this.lineTickEnable[r]=!1,"ticklen"in o&&(this.lineTickLength[r]=this._defaultLineTickLength[r]=o.ticklen),"tickcolor"in o&&(this.lineTickColor[r]=n(o.tickcolor)),"tickwidth"in o&&(this.lineTickWidth[r]=o.tickwidth),"tickangle"in o&&(this.tickAngle[r]="auto"===o.tickangle?-3600:Math.PI*-o.tickangle/180),"showticklabels"in o&&(this.tickEnable[r]=o.showticklabels),"tickfont"in o&&(o.tickfont.color&&(this.tickColor[r]=n(o.tickfont.color)),o.tickfont.family&&(this.tickFont[r]=o.tickfont.family),o.tickfont.size&&(this.tickSize[r]=o.tickfont.size)),"mirror"in o?-1!==["ticks","all","allticks"].indexOf(o.mirror)?(this.lineTickMirror[r]=!0,this.lineMirror[r]=!0):!0===o.mirror?(this.lineTickMirror[r]=!1,this.lineMirror[r]=!0):(this.lineTickMirror[r]=!1,this.lineMirror[r]=!1):this.lineMirror[r]=!1,"showbackground"in o&&!1!==o.showbackground?(this.backgroundEnable[r]=!0,this.backgroundColor[r]=n(o.backgroundcolor)):this.backgroundEnable[r]=!1):(this.tickEnable[r]=!1,this.labelEnable[r]=!1,this.lineEnable[r]=!1,this.lineTickEnable[r]=!1,this.gridEnable[r]=!1,this.zeroEnable[r]=!1,this.backgroundEnable[r]=!1)}},e.exports=function(t,e){var r=new o;return r.merge(t,e),r}},{"../../../lib":778,"../../../lib/str2rgbarray":802}],875:[function(t,e,r){"use strict";var n=t("../../../lib"),i=t("../../../components/color"),a=t("../../../registry"),o=t("../../subplot_defaults"),s=t("./axis_defaults"),l=t("./layout_attributes"),c=t("../../get_data").getSubplotData;function u(t,e,r,n){for(var o=r("bgcolor"),l=i.combine(o,n.paper_bgcolor),u=["up","center","eye"],f=0;f<u.length;f++)r("camera."+u[f]+".x"),r("camera."+u[f]+".y"),r("camera."+u[f]+".z");r("camera.projection.type");var h=!!r("aspectratio.x")&&!!r("aspectratio.y")&&!!r("aspectratio.z"),p=r("aspectmode",h?"manual":"auto");h||(t.aspectratio=e.aspectratio={x:1,y:1,z:1},"manual"===p&&(e.aspectmode="auto"),t.aspectmode=e.aspectmode);var d=c(n.fullData,"gl3d",n.id);s(t,e,{font:n.font,scene:n.id,data:d,bgColor:l,calendar:n.calendar,autotypenumbersDflt:n.autotypenumbersDflt,fullLayout:n.fullLayout}),a.getComponentMethod("annotations3d","handleDefaults")(t,e,n);var g=n.getDfltFromLayout("dragmode");if(!1!==g&&!g)if(g="orbit",t.camera&&t.camera.up){var m=t.camera.up.x,v=t.camera.up.y,y=t.camera.up.z;0!==y&&(m&&v&&y?y/Math.sqrt(m*m+v*v+y*y)>.999&&(g="turntable"):g="turntable")}else g="turntable";r("dragmode",g),r("hovermode",n.getDfltFromLayout("hovermode"))}e.exports=function(t,e,r){var i=e._basePlotModules.length>1;o(t,e,r,{type:"gl3d",attributes:l,handleDefaults:u,fullLayout:e,font:e.font,fullData:r,getDfltFromLayout:function(e){if(!i)return n.validate(t[e],l[e])?t[e]:void 0},autotypenumbersDflt:e.autotypenumbers,paper_bgcolor:e.paper_bgcolor,calendar:e.calendar})}},{"../../../components/color":643,"../../../lib":778,"../../../registry":911,"../../get_data":865,"../../subplot_defaults":905,"./axis_defaults":873,"./layout_attributes":876}],876:[function(t,e,r){"use strict";var n=t("./axis_attributes"),i=t("../../domain").attributes,a=t("../../../lib/extend").extendFlat,o=t("../../../lib").counterRegex;function s(t,e,r){return{x:{valType:"number",dflt:t,editType:"camera"},y:{valType:"number",dflt:e,editType:"camera"},z:{valType:"number",dflt:r,editType:"camera"},editType:"camera"}}e.exports={_arrayAttrRegexps:[o("scene",".annotations",!0)],bgcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"plot"},camera:{up:a(s(0,0,1),{}),center:a(s(0,0,0),{}),eye:a(s(1.25,1.25,1.25),{}),projection:{type:{valType:"enumerated",values:["perspective","orthographic"],dflt:"perspective",editType:"calc"},editType:"calc"},editType:"camera"},domain:i({name:"scene",editType:"plot"}),aspectmode:{valType:"enumerated",values:["auto","cube","data","manual"],dflt:"auto",editType:"plot",impliedEdits:{"aspectratio.x":void 0,"aspectratio.y":void 0,"aspectratio.z":void 0}},aspectratio:{x:{valType:"number",min:0,editType:"plot",impliedEdits:{"^aspectmode":"manual"}},y:{valType:"number",min:0,editType:"plot",impliedEdits:{"^aspectmode":"manual"}},z:{valType:"number",min:0,editType:"plot",impliedEdits:{"^aspectmode":"manual"}},editType:"plot",impliedEdits:{aspectmode:"manual"}},xaxis:n,yaxis:n,zaxis:n,dragmode:{valType:"enumerated",values:["orbit","turntable","zoom","pan",!1],editType:"plot"},hovermode:{valType:"enumerated",values:["closest",!1],dflt:"closest",editType:"modebar"},uirevision:{valType:"any",editType:"none"},editType:"plot",_deprecated:{cameraposition:{valType:"info_array",editType:"camera"}}}},{"../../../lib":778,"../../../lib/extend":768,"../../domain":855,"./axis_attributes":872}],877:[function(t,e,r){"use strict";var n=t("../../../lib/str2rgbarray"),i=["xaxis","yaxis","zaxis"];function a(){this.enabled=[!0,!0,!0],this.colors=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.drawSides=[!0,!0,!0],this.lineWidth=[1,1,1]}a.prototype.merge=function(t){for(var e=0;e<3;++e){var r=t[i[e]];r.visible?(this.enabled[e]=r.showspikes,this.colors[e]=n(r.spikecolor),this.drawSides[e]=r.spikesides,this.lineWidth[e]=r.spikethickness):(this.enabled[e]=!1,this.drawSides[e]=!1)}},e.exports=function(t){var e=new a;return e.merge(t),e}},{"../../../lib/str2rgbarray":802}],878:[function(t,e,r){"use strict";e.exports=function(t){for(var e=t.axesOptions,r=t.glplot.axesPixels,s=t.fullSceneLayout,l=[[],[],[]],c=0;c<3;++c){var u=s[a[c]];if(u._length=(r[c].hi-r[c].lo)*r[c].pixelsPerDataUnit/t.dataScale[c],Math.abs(u._length)===1/0||isNaN(u._length))l[c]=[];else{u._input_range=u.range.slice(),u.range[0]=r[c].lo/t.dataScale[c],u.range[1]=r[c].hi/t.dataScale[c],u._m=1/(t.dataScale[c]*r[c].pixelsPerDataUnit),u.range[0]===u.range[1]&&(u.range[0]-=1,u.range[1]+=1);var f=u.tickmode;if("auto"===u.tickmode){u.tickmode="linear";var h=u.nticks||i.constrain(u._length/40,4,9);n.autoTicks(u,Math.abs(u.range[1]-u.range[0])/h)}for(var p=n.calcTicks(u,{msUTC:!0}),d=0;d<p.length;++d)p[d].x=p[d].x*t.dataScale[c],"date"===u.type&&(p[d].text=p[d].text.replace(/\<br\>/g," "));l[c]=p,u.tickmode=f}}e.ticks=l;for(c=0;c<3;++c){o[c]=.5*(t.glplot.bounds[0][c]+t.glplot.bounds[1][c]);for(d=0;d<2;++d)e.bounds[d][c]=t.glplot.bounds[d][c]}t.contourLevels=function(t){for(var e=new Array(3),r=0;r<3;++r){for(var n=t[r],i=new Array(n.length),a=0;a<n.length;++a)i[a]=n[a].x;e[r]=i}return e}(l)};var n=t("../../cartesian/axes"),i=t("../../../lib"),a=["xaxis","yaxis","zaxis"],o=[0,0,0]},{"../../../lib":778,"../../cartesian/axes":828}],879:[function(t,e,r){"use strict";function n(t,e){var r,n,i=[0,0,0,0];for(r=0;r<4;++r)for(n=0;n<4;++n)i[n]+=t[4*r+n]*e[r];return i}e.exports=function(t,e){return n(t.projection,n(t.view,n(t.model,[e[0],e[1],e[2],1])))}},{}],880:[function(t,e,r){"use strict";var n,i,a=t("gl-plot3d"),o=a.createCamera,s=a.createScene,l=t("webgl-context"),c=t("has-passive-events"),u=t("../../registry"),f=t("../../lib"),h=f.preserveDrawingBuffer(),p=t("../../plots/cartesian/axes"),d=t("../../components/fx"),g=t("../../lib/str2rgbarray"),m=t("../../lib/show_no_webgl_msg"),v=t("./project"),y=t("./layout/convert"),x=t("./layout/spikes"),b=t("./layout/tick_marks");function _(t,e){var r=document.createElement("div"),n=t.container;this.graphDiv=t.graphDiv;var i=document.createElementNS("http://www.w3.org/2000/svg","svg");i.style.position="absolute",i.style.top=i.style.left="0px",i.style.width=i.style.height="100%",i.style["z-index"]=20,i.style["pointer-events"]="none",r.appendChild(i),this.svgContainer=i,r.id=t.id,r.style.position="absolute",r.style.top=r.style.left="0px",r.style.width=r.style.height="100%",n.appendChild(r),this.fullLayout=e,this.id=t.id||"scene",this.fullSceneLayout=e[this.id],this.plotArgs=[[],{},{}],this.axesOptions=y(e,e[this.id]),this.spikeOptions=x(e[this.id]),this.container=r,this.staticMode=!!t.staticPlot,this.pixelRatio=this.pixelRatio||t.plotGlPixelRatio||2,this.dataScale=[1,1,1],this.contourLevels=[[],[],[]],this.convertAnnotations=u.getComponentMethod("annotations3d","convert"),this.drawAnnotations=u.getComponentMethod("annotations3d","draw"),this.initializeGLPlot()}var w=_.prototype;w.prepareOptions=function(){var t={canvas:this.canvas,gl:this.gl,glOptions:{preserveDrawingBuffer:h,premultipliedAlpha:!0,antialias:!0},container:this.container,axes:this.axesOptions,spikes:this.spikeOptions,pickRadius:10,snapToData:!0,autoScale:!0,autoBounds:!1,cameraObject:this.camera,pixelRatio:this.pixelRatio};if(this.staticMode){if(!(i||(n=document.createElement("canvas"),i=l({canvas:n,preserveDrawingBuffer:!0,premultipliedAlpha:!0,antialias:!0}))))throw new Error("error creating static canvas/context for image server");t.gl=i,t.canvas=n}return t};var T=!0;w.tryCreatePlot=function(){var t=this.prepareOptions(),e=!0;try{this.glplot=s(t)}catch(r){if(this.staticMode||!T||h)e=!1;else{f.warn(["webgl setup failed possibly due to","false preserveDrawingBuffer config.","The mobile/tablet device may not be detected by is-mobile module.","Enabling preserveDrawingBuffer in second attempt to create webgl scene..."].join(" "));try{h=t.glOptions.preserveDrawingBuffer=!0,this.glplot=s(t)}catch(r){h=t.glOptions.preserveDrawingBuffer=!1,e=!1}}}return T=!1,e},w.initializeGLCamera=function(){var t=this.fullSceneLayout.camera,e="orthographic"===t.projection.type;this.camera=o(this.container,{center:[t.center.x,t.center.y,t.center.z],eye:[t.eye.x,t.eye.y,t.eye.z],up:[t.up.x,t.up.y,t.up.z],_ortho:e,zoomMin:.01,zoomMax:100,mode:"orbit"})},w.initializeGLPlot=function(){var t=this;if(t.initializeGLCamera(),!t.tryCreatePlot())return m(t);t.traces={},t.make4thDimension();var e=t.graphDiv,r=e.layout,n=function(){var e={};return t.isCameraChanged(r)&&(e[t.id+".camera"]=t.getCamera()),t.isAspectChanged(r)&&(e[t.id+".aspectratio"]=t.glplot.getAspectratio(),"manual"!==r[t.id].aspectmode&&(t.fullSceneLayout.aspectmode=r[t.id].aspectmode=e[t.id+".aspectmode"]="manual")),e},i=function(t){if(!1!==t.fullSceneLayout.dragmode){var e=n();t.saveLayout(r),t.graphDiv.emit("plotly_relayout",e)}};return t.glplot.canvas&&(t.glplot.canvas.addEventListener("mouseup",(function(){i(t)})),t.glplot.canvas.addEventListener("wheel",(function(r){if(e._context._scrollZoom.gl3d){if(t.camera._ortho){var n=r.deltaX>r.deltaY?1.1:1/1.1,a=t.glplot.getAspectratio();t.glplot.setAspectratio({x:n*a.x,y:n*a.y,z:n*a.z})}i(t)}}),!!c&&{passive:!1}),t.glplot.canvas.addEventListener("mousemove",(function(){if(!1!==t.fullSceneLayout.dragmode&&0!==t.camera.mouseListener.buttons){var e=n();t.graphDiv.emit("plotly_relayouting",e)}})),t.staticMode||t.glplot.canvas.addEventListener("webglcontextlost",(function(r){e&&e.emit&&e.emit("plotly_webglcontextlost",{event:r,layer:t.id})}),!1)),t.glplot.oncontextloss=function(){t.recoverContext()},t.glplot.onrender=function(){t.render()},!0},w.render=function(){var t,e=this,r=e.graphDiv,n=e.svgContainer,i=e.container.getBoundingClientRect();r._fullLayout._calcInverseTransform(r);var a=r._fullLayout._invScaleX,o=r._fullLayout._invScaleY,s=i.width*a,l=i.height*o;n.setAttributeNS(null,"viewBox","0 0 "+s+" "+l),n.setAttributeNS(null,"width",s),n.setAttributeNS(null,"height",l),b(e),e.glplot.axes.update(e.axesOptions);for(var c,u=Object.keys(e.traces),h=null,g=e.glplot.selection,m=0;m<u.length;++m)"skip"!==(t=e.traces[u[m]]).data.hoverinfo&&t.handlePick(g)&&(h=t),t.setContourLevels&&t.setContourLevels();function y(t,r){var n=e.fullSceneLayout[t];return p.tickText(n,n.d2l(r),"hover").text}if(null!==h){var x=v(e.glplot.cameraParams,g.dataCoordinate);t=h.data;var _,w=r._fullData[t.index],T=g.index,k={xLabel:y("xaxis",g.traceCoordinate[0]),yLabel:y("yaxis",g.traceCoordinate[1]),zLabel:y("zaxis",g.traceCoordinate[2])},M=d.castHoverinfo(w,e.fullLayout,T),A=(M||"").split("+"),S=M&&"all"===M;w.hovertemplate||S||(-1===A.indexOf("x")&&(k.xLabel=void 0),-1===A.indexOf("y")&&(k.yLabel=void 0),-1===A.indexOf("z")&&(k.zLabel=void 0),-1===A.indexOf("text")&&(g.textLabel=void 0),-1===A.indexOf("name")&&(h.name=void 0));var E=[];"cone"===t.type||"streamtube"===t.type?(k.uLabel=y("xaxis",g.traceCoordinate[3]),(S||-1!==A.indexOf("u"))&&E.push("u: "+k.uLabel),k.vLabel=y("yaxis",g.traceCoordinate[4]),(S||-1!==A.indexOf("v"))&&E.push("v: "+k.vLabel),k.wLabel=y("zaxis",g.traceCoordinate[5]),(S||-1!==A.indexOf("w"))&&E.push("w: "+k.wLabel),k.normLabel=g.traceCoordinate[6].toPrecision(3),(S||-1!==A.indexOf("norm"))&&E.push("norm: "+k.normLabel),"streamtube"===t.type&&(k.divergenceLabel=g.traceCoordinate[7].toPrecision(3),(S||-1!==A.indexOf("divergence"))&&E.push("divergence: "+k.divergenceLabel)),g.textLabel&&E.push(g.textLabel),_=E.join("<br>")):"isosurface"===t.type||"volume"===t.type?(k.valueLabel=p.tickText(e._mockAxis,e._mockAxis.d2l(g.traceCoordinate[3]),"hover").text,E.push("value: "+k.valueLabel),g.textLabel&&E.push(g.textLabel),_=E.join("<br>")):_=g.textLabel;var C={x:g.traceCoordinate[0],y:g.traceCoordinate[1],z:g.traceCoordinate[2],data:w._input,fullData:w,curveNumber:w.index,pointNumber:T};d.appendArrayPointValue(C,w,T),t._module.eventData&&(C=w._module.eventData(C,g,w,{},T));var L={points:[C]};e.fullSceneLayout.hovermode&&d.loneHover({trace:w,x:(.5+.5*x[0]/x[3])*s,y:(.5-.5*x[1]/x[3])*l,xLabel:k.xLabel,yLabel:k.yLabel,zLabel:k.zLabel,text:_,name:h.name,color:d.castHoverOption(w,T,"bgcolor")||h.color,borderColor:d.castHoverOption(w,T,"bordercolor"),fontFamily:d.castHoverOption(w,T,"font.family"),fontSize:d.castHoverOption(w,T,"font.size"),fontColor:d.castHoverOption(w,T,"font.color"),nameLength:d.castHoverOption(w,T,"namelength"),textAlign:d.castHoverOption(w,T,"align"),hovertemplate:f.castOption(w,T,"hovertemplate"),hovertemplateLabels:f.extendFlat({},C,k),eventData:[C]},{container:n,gd:r}),g.buttons&&g.distance<5?r.emit("plotly_click",L):r.emit("plotly_hover",L),c=L}else d.loneUnhover(n),r.emit("plotly_unhover",c);e.drawAnnotations(e)},w.recoverContext=function(){var t=this;t.glplot.dispose();var e=function(){t.glplot.gl.isContextLost()?requestAnimationFrame(e):t.initializeGLPlot()?t.plot.apply(t,t.plotArgs):f.error("Catastrophic and unrecoverable WebGL error. Context lost.")};requestAnimationFrame(e)};var k=["xaxis","yaxis","zaxis"];function M(t,e,r){for(var n=t.fullSceneLayout,i=0;i<3;i++){var a=k[i],o=a.charAt(0),s=n[a],l=e[o],c=e[o+"calendar"],u=e["_"+o+"length"];if(f.isArrayOrTypedArray(l))for(var h,p=0;p<(u||l.length);p++)if(f.isArrayOrTypedArray(l[p]))for(var d=0;d<l[p].length;++d)h=s.d2l(l[p][d],0,c),!isNaN(h)&&isFinite(h)&&(r[0][i]=Math.min(r[0][i],h),r[1][i]=Math.max(r[1][i],h));else h=s.d2l(l[p],0,c),!isNaN(h)&&isFinite(h)&&(r[0][i]=Math.min(r[0][i],h),r[1][i]=Math.max(r[1][i],h));else r[0][i]=Math.min(r[0][i],0),r[1][i]=Math.max(r[1][i],u-1)}}w.plot=function(t,e,r){if(this.plotArgs=[t,e,r],!this.glplot.contextLost){var n,i,a,o,s,l,c=e[this.id],u=r[this.id];this.fullLayout=e,this.fullSceneLayout=c,this.axesOptions.merge(e,c),this.spikeOptions.merge(c),this.setViewport(c),this.updateFx(c.dragmode,c.hovermode),this.camera.enableWheel=this.graphDiv._context._scrollZoom.gl3d,this.glplot.setClearColor(g(c.bgcolor)),this.setConvert(s),t?Array.isArray(t)||(t=[t]):t=[];var f=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]];for(a=0;a<t.length;++a)!0===(n=t[a]).visible&&0!==n._length&&M(this,n,f);!function(t,e){for(var r=t.fullSceneLayout,n=r.annotations||[],i=0;i<3;i++)for(var a=k[i],o=a.charAt(0),s=r[a],l=0;l<n.length;l++){var c=n[l];if(c.visible){var u=s.r2l(c[o]);!isNaN(u)&&isFinite(u)&&(e[0][i]=Math.min(e[0][i],u),e[1][i]=Math.max(e[1][i],u))}}}(this,f);var h=[1,1,1];for(o=0;o<3;++o)f[1][o]===f[0][o]?h[o]=1:h[o]=1/(f[1][o]-f[0][o]);for(this.dataScale=h,this.convertAnnotations(this),a=0;a<t.length;++a)!0===(n=t[a]).visible&&0!==n._length&&((i=this.traces[n.uid])?i.data.type===n.type?i.update(n):(i.dispose(),i=n._module.plot(this,n),this.traces[n.uid]=i):(i=n._module.plot(this,n),this.traces[n.uid]=i),i.name=n.name);var p=Object.keys(this.traces);t:for(a=0;a<p.length;++a){for(o=0;o<t.length;++o)if(t[o].uid===p[a]&&!0===t[o].visible&&0!==t[o]._length)continue t;(i=this.traces[p[a]]).dispose(),delete this.traces[p[a]]}this.glplot.objects.sort((function(t,e){return t._trace.data.index-e._trace.data.index}));var d,m=[[0,0,0],[0,0,0]],v=[],y={};for(a=0;a<3;++a){if((l=(s=c[k[a]]).type)in y?(y[l].acc*=h[a],y[l].count+=1):y[l]={acc:h[a],count:1},s.autorange){m[0][a]=1/0,m[1][a]=-1/0;var x=this.glplot.objects,b=this.fullSceneLayout.annotations||[],_=s._name.charAt(0);for(o=0;o<x.length;o++){var w=x[o],T=w.bounds,A=w._trace.data._pad||0;"ErrorBars"===w.constructor.name&&s._lowerLogErrorBound?m[0][a]=Math.min(m[0][a],s._lowerLogErrorBound):m[0][a]=Math.min(m[0][a],T[0][a]/h[a]-A),m[1][a]=Math.max(m[1][a],T[1][a]/h[a]+A)}for(o=0;o<b.length;o++){var S=b[o];if(S.visible){var E=s.r2l(S[_]);m[0][a]=Math.min(m[0][a],E),m[1][a]=Math.max(m[1][a],E)}}if("rangemode"in s&&"tozero"===s.rangemode&&(m[0][a]=Math.min(m[0][a],0),m[1][a]=Math.max(m[1][a],0)),m[0][a]>m[1][a])m[0][a]=-1,m[1][a]=1;else{var C=m[1][a]-m[0][a];m[0][a]-=C/32,m[1][a]+=C/32}if("reversed"===s.autorange){var L=m[0][a];m[0][a]=m[1][a],m[1][a]=L}}else{var I=s.range;m[0][a]=s.r2l(I[0]),m[1][a]=s.r2l(I[1])}m[0][a]===m[1][a]&&(m[0][a]-=1,m[1][a]+=1),v[a]=m[1][a]-m[0][a],this.glplot.setBounds(a,{min:m[0][a]*h[a],max:m[1][a]*h[a]})}var P=c.aspectmode;if("cube"===P)d=[1,1,1];else if("manual"===P){var z=c.aspectratio;d=[z.x,z.y,z.z]}else{if("auto"!==P&&"data"!==P)throw new Error("scene.js aspectRatio was not one of the enumerated types");var O=[1,1,1];for(a=0;a<3;++a){var D=y[l=(s=c[k[a]]).type];O[a]=Math.pow(D.acc,1/D.count)/h[a]}d="data"===P||Math.max.apply(null,O)/Math.min.apply(null,O)<=4?O:[1,1,1]}c.aspectratio.x=u.aspectratio.x=d[0],c.aspectratio.y=u.aspectratio.y=d[1],c.aspectratio.z=u.aspectratio.z=d[2],this.glplot.setAspectratio(c.aspectratio),this.viewInitial.aspectratio||(this.viewInitial.aspectratio={x:c.aspectratio.x,y:c.aspectratio.y,z:c.aspectratio.z}),this.viewInitial.aspectmode||(this.viewInitial.aspectmode=c.aspectmode);var R=c.domain||null,F=e._size||null;if(R&&F){var B=this.container.style;B.position="absolute",B.left=F.l+R.x[0]*F.w+"px",B.top=F.t+(1-R.y[1])*F.h+"px",B.width=F.w*(R.x[1]-R.x[0])+"px",B.height=F.h*(R.y[1]-R.y[0])+"px"}this.glplot.redraw()}},w.destroy=function(){this.glplot&&(this.camera.mouseListener.enabled=!1,this.container.removeEventListener("wheel",this.camera.wheelListener),this.camera=null,this.glplot.dispose(),this.container.parentNode.removeChild(this.container),this.glplot=null)},w.getCamera=function(){var t;return this.camera.view.recalcMatrix(this.camera.view.lastT()),{up:{x:(t=this.camera).up[0],y:t.up[1],z:t.up[2]},center:{x:t.center[0],y:t.center[1],z:t.center[2]},eye:{x:t.eye[0],y:t.eye[1],z:t.eye[2]},projection:{type:!0===t._ortho?"orthographic":"perspective"}}},w.setViewport=function(t){var e,r=t.camera;this.camera.lookAt.apply(this,[[(e=r).eye.x,e.eye.y,e.eye.z],[e.center.x,e.center.y,e.center.z],[e.up.x,e.up.y,e.up.z]]),this.glplot.setAspectratio(t.aspectratio),"orthographic"===r.projection.type!==this.camera._ortho&&(this.glplot.redraw(),this.glplot.clearRGBA(),this.glplot.dispose(),this.initializeGLPlot())},w.isCameraChanged=function(t){var e=this.getCamera(),r=f.nestedProperty(t,this.id+".camera").get();function n(t,e,r,n){var i=["up","center","eye"],a=["x","y","z"];return e[i[r]]&&t[i[r]][a[n]]===e[i[r]][a[n]]}var i=!1;if(void 0===r)i=!0;else{for(var a=0;a<3;a++)for(var o=0;o<3;o++)if(!n(e,r,a,o)){i=!0;break}(!r.projection||e.projection&&e.projection.type!==r.projection.type)&&(i=!0)}return i},w.isAspectChanged=function(t){var e=this.glplot.getAspectratio(),r=f.nestedProperty(t,this.id+".aspectratio").get();return void 0===r||r.x!==e.x||r.y!==e.y||r.z!==e.z},w.saveLayout=function(t){var e,r,n,i,a,o,s=this.fullLayout,l=this.isCameraChanged(t),c=this.isAspectChanged(t),h=l||c;if(h){var p={};if(l&&(e=this.getCamera(),n=(r=f.nestedProperty(t,this.id+".camera")).get(),p[this.id+".camera"]=n),c&&(i=this.glplot.getAspectratio(),o=(a=f.nestedProperty(t,this.id+".aspectratio")).get(),p[this.id+".aspectratio"]=o),u.call("_storeDirectGUIEdit",t,s._preGUI,p),l)r.set(e),f.nestedProperty(s,this.id+".camera").set(e);if(c)a.set(i),f.nestedProperty(s,this.id+".aspectratio").set(i),this.glplot.redraw()}return h},w.updateFx=function(t,e){var r=this.camera;if(r)if("orbit"===t)r.mode="orbit",r.keyBindingMode="rotate";else if("turntable"===t){r.up=[0,0,1],r.mode="turntable",r.keyBindingMode="rotate";var n=this.graphDiv,i=n._fullLayout,a=this.fullSceneLayout.camera,o=a.up.x,s=a.up.y,l=a.up.z;if(l/Math.sqrt(o*o+s*s+l*l)<.999){var c=this.id+".camera.up",h={x:0,y:0,z:1},p={};p[c]=h;var d=n.layout;u.call("_storeDirectGUIEdit",d,i._preGUI,p),a.up=h,f.nestedProperty(d,c).set(h)}}else r.keyBindingMode=t;this.fullSceneLayout.hovermode=e},w.toImage=function(t){t||(t="png"),this.staticMode&&this.container.appendChild(n),this.glplot.redraw();var e=this.glplot.gl,r=e.drawingBufferWidth,i=e.drawingBufferHeight;e.bindFramebuffer(e.FRAMEBUFFER,null);var a=new Uint8Array(r*i*4);e.readPixels(0,0,r,i,e.RGBA,e.UNSIGNED_BYTE,a),function(t,e,r){for(var n=0,i=r-1;n<i;++n,--i)for(var a=0;a<e;++a)for(var o=0;o<4;++o){var s=4*(e*n+a)+o,l=4*(e*i+a)+o,c=t[s];t[s]=t[l],t[l]=c}}(a,r,i),function(t,e,r){for(var n=0;n<r;++n)for(var i=0;i<e;++i){var a=4*(e*n+i),o=t[a+3];if(o>0)for(var s=255/o,l=0;l<3;++l)t[a+l]=Math.min(s*t[a+l],255)}}(a,r,i);var o=document.createElement("canvas");o.width=r,o.height=i;var s,l=o.getContext("2d"),c=l.createImageData(r,i);switch(c.data.set(a),l.putImageData(c,0,0),t){case"jpeg":s=o.toDataURL("image/jpeg");break;case"webp":s=o.toDataURL("image/webp");break;default:s=o.toDataURL("image/png")}return this.staticMode&&this.container.removeChild(n),s},w.setConvert=function(){for(var t=0;t<3;t++){var e=this.fullSceneLayout[k[t]];p.setConvert(e,this.fullLayout),e.setScale=f.noop}},w.make4thDimension=function(){var t=this.graphDiv._fullLayout;this._mockAxis={type:"linear",showexponent:"all",exponentformat:"B"},p.setConvert(this._mockAxis,t)},e.exports=_},{"../../components/fx":683,"../../lib":778,"../../lib/show_no_webgl_msg":800,"../../lib/str2rgbarray":802,"../../plots/cartesian/axes":828,"../../registry":911,"./layout/convert":874,"./layout/spikes":877,"./layout/tick_marks":878,"./project":879,"gl-plot3d":321,"has-passive-events":441,"webgl-context":606}],881:[function(t,e,r){"use strict";e.exports=function(t,e,r,n){n=n||t.length;for(var i=new Array(n),a=0;a<n;a++)i[a]=[t[a],e[a],r[a]];return i}},{}],882:[function(t,e,r){"use strict";var n=t("./font_attributes"),i=t("./animation_attributes"),a=t("../components/color/attributes"),o=t("../components/shapes/draw_newshape/attributes"),s=t("./pad_attributes"),l=t("../lib/extend").extendFlat,c=n({editType:"calc"});c.family.dflt='"Open Sans", verdana, arial, sans-serif',c.size.dflt=12,c.color.dflt=a.defaultLine,e.exports={font:c,title:{text:{valType:"string",editType:"layoutstyle"},font:n({editType:"layoutstyle"}),xref:{valType:"enumerated",dflt:"container",values:["container","paper"],editType:"layoutstyle"},yref:{valType:"enumerated",dflt:"container",values:["container","paper"],editType:"layoutstyle"},x:{valType:"number",min:0,max:1,dflt:.5,editType:"layoutstyle"},y:{valType:"number",min:0,max:1,dflt:"auto",editType:"layoutstyle"},xanchor:{valType:"enumerated",dflt:"auto",values:["auto","left","center","right"],editType:"layoutstyle"},yanchor:{valType:"enumerated",dflt:"auto",values:["auto","top","middle","bottom"],editType:"layoutstyle"},pad:l(s({editType:"layoutstyle"}),{}),editType:"layoutstyle"},uniformtext:{mode:{valType:"enumerated",values:[!1,"hide","show"],dflt:!1,editType:"plot"},minsize:{valType:"number",min:0,dflt:0,editType:"plot"},editType:"plot"},autosize:{valType:"boolean",dflt:!1,editType:"none"},width:{valType:"number",min:10,dflt:700,editType:"plot"},height:{valType:"number",min:10,dflt:450,editType:"plot"},margin:{l:{valType:"number",min:0,dflt:80,editType:"plot"},r:{valType:"number",min:0,dflt:80,editType:"plot"},t:{valType:"number",min:0,dflt:100,editType:"plot"},b:{valType:"number",min:0,dflt:80,editType:"plot"},pad:{valType:"number",min:0,dflt:0,editType:"plot"},autoexpand:{valType:"boolean",dflt:!0,editType:"plot"},editType:"plot"},computed:{valType:"any",editType:"none"},paper_bgcolor:{valType:"color",dflt:a.background,editType:"plot"},plot_bgcolor:{valType:"color",dflt:a.background,editType:"layoutstyle"},autotypenumbers:{valType:"enumerated",values:["convert types","strict"],dflt:"convert types",editType:"calc"},separators:{valType:"string",editType:"plot"},hidesources:{valType:"boolean",dflt:!1,editType:"plot"},showlegend:{valType:"boolean",editType:"legend"},colorway:{valType:"colorlist",dflt:a.defaults,editType:"calc"},datarevision:{valType:"any",editType:"calc"},uirevision:{valType:"any",editType:"none"},editrevision:{valType:"any",editType:"none"},selectionrevision:{valType:"any",editType:"none"},template:{valType:"any",editType:"calc"},modebar:{orientation:{valType:"enumerated",values:["v","h"],dflt:"h",editType:"modebar"},bgcolor:{valType:"color",editType:"modebar"},color:{valType:"color",editType:"modebar"},activecolor:{valType:"color",editType:"modebar"},uirevision:{valType:"any",editType:"none"},editType:"modebar"},newshape:o.newshape,activeshape:o.activeshape,meta:{valType:"any",arrayOk:!0,editType:"plot"},transition:l({},i.transition,{editType:"none"}),_deprecated:{title:{valType:"string",editType:"layoutstyle"},titlefont:n({editType:"layoutstyle"})}}},{"../components/color/attributes":642,"../components/shapes/draw_newshape/attributes":725,"../lib/extend":768,"./animation_attributes":822,"./font_attributes":856,"./pad_attributes":890}],883:[function(t,e,r){"use strict";var n={"open-street-map":{id:"osm",version:8,sources:{"plotly-osm-tiles":{type:"raster",attribution:'<a href="http://www.openstreetmap.org/about/" target="_blank">\xa9 OpenStreetMap</a>',tiles:["https://a.tile.openstreetmap.org/{z}/{x}/{y}.png","https://b.tile.openstreetmap.org/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-osm-tiles",type:"raster",source:"plotly-osm-tiles",minzoom:0,maxzoom:22}]},"white-bg":{id:"white-bg",version:8,sources:{},layers:[{id:"white-bg",type:"background",paint:{"background-color":"#FFFFFF"},minzoom:0,maxzoom:22}]},"carto-positron":{id:"carto-positron",version:8,sources:{"plotly-carto-positron":{type:"raster",attribution:'<a href="https://carto.com/" target="_blank">\xa9 CARTO</a>',tiles:["https://cartodb-basemaps-c.global.ssl.fastly.net/light_all/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-carto-positron",type:"raster",source:"plotly-carto-positron",minzoom:0,maxzoom:22}]},"carto-darkmatter":{id:"carto-darkmatter",version:8,sources:{"plotly-carto-darkmatter":{type:"raster",attribution:'<a href="https://carto.com/" target="_blank">\xa9 CARTO</a>',tiles:["https://cartodb-basemaps-c.global.ssl.fastly.net/dark_all/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-carto-darkmatter",type:"raster",source:"plotly-carto-darkmatter",minzoom:0,maxzoom:22}]},"stamen-terrain":{id:"stamen-terrain",version:8,sources:{"plotly-stamen-terrain":{type:"raster",attribution:'Map tiles by <a href="http://stamen.com">Stamen Design</a>, under <a href="http://creativecommons.org/licenses/by/3.0">CC BY 3.0</a> | Data by <a href="http://openstreetmap.org">OpenStreetMap</a>, under <a href="http://www.openstreetmap.org/copyright">ODbL</a>.',tiles:["https://stamen-tiles.a.ssl.fastly.net/terrain/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-stamen-terrain",type:"raster",source:"plotly-stamen-terrain",minzoom:0,maxzoom:22}]},"stamen-toner":{id:"stamen-toner",version:8,sources:{"plotly-stamen-toner":{type:"raster",attribution:'Map tiles by <a href="http://stamen.com">Stamen Design</a>, under <a href="http://creativecommons.org/licenses/by/3.0">CC BY 3.0</a> | Data by <a href="http://openstreetmap.org">OpenStreetMap</a>, under <a href="http://www.openstreetmap.org/copyright">ODbL</a>.',tiles:["https://stamen-tiles.a.ssl.fastly.net/toner/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-stamen-toner",type:"raster",source:"plotly-stamen-toner",minzoom:0,maxzoom:22}]},"stamen-watercolor":{id:"stamen-watercolor",version:8,sources:{"plotly-stamen-watercolor":{type:"raster",attribution:'Map tiles by <a href="http://stamen.com">Stamen Design</a>, under <a href="http://creativecommons.org/licenses/by/3.0">CC BY 3.0</a> | Data by <a href="http://openstreetmap.org">OpenStreetMap</a>, under <a href="http://creativecommons.org/licenses/by-sa/3.0">CC BY SA</a>.',tiles:["https://stamen-tiles.a.ssl.fastly.net/watercolor/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-stamen-watercolor",type:"raster",source:"plotly-stamen-watercolor",minzoom:0,maxzoom:22}]}},i=Object.keys(n);e.exports={requiredVersion:"1.10.1",styleUrlPrefix:"mapbox://styles/mapbox/",styleUrlSuffix:"v9",styleValuesMapbox:["basic","streets","outdoors","light","dark","satellite","satellite-streets"],styleValueDflt:"basic",stylesNonMapbox:n,styleValuesNonMapbox:i,traceLayerPrefix:"plotly-trace-layer-",layoutLayerPrefix:"plotly-layout-layer-",wrongVersionErrorMsg:["Your custom plotly.js bundle is not using the correct mapbox-gl version","Please install mapbox-gl@1.10.1."].join("\n"),noAccessTokenErrorMsg:["Missing Mapbox access token.","Mapbox trace type require a Mapbox access token to be registered.","For example:"," Plotly.plot(gd, data, layout, { mapboxAccessToken: 'my-access-token' });","More info here: https://www.mapbox.com/help/define-access-token/"].join("\n"),missingStyleErrorMsg:["No valid mapbox style found, please set `mapbox.style` to one of:",i.join(", "),"or register a Mapbox access token to use a Mapbox-served style."].join("\n"),multipleTokensErrorMsg:["Set multiple mapbox access token across different mapbox subplot,","using first token found as mapbox-gl does not allow multipleaccess tokens on the same page."].join("\n"),mapOnErrorMsg:"Mapbox error.",mapboxLogo:{path0:"m 10.5,1.24 c -5.11,0 -9.25,4.15 -9.25,9.25 0,5.1 4.15,9.25 9.25,9.25 5.1,0 9.25,-4.15 9.25,-9.25 0,-5.11 -4.14,-9.25 -9.25,-9.25 z m 4.39,11.53 c -1.93,1.93 -4.78,2.31 -6.7,2.31 -0.7,0 -1.41,-0.05 -2.1,-0.16 0,0 -1.02,-5.64 2.14,-8.81 0.83,-0.83 1.95,-1.28 3.13,-1.28 1.27,0 2.49,0.51 3.39,1.42 1.84,1.84 1.89,4.75 0.14,6.52 z",path1:"M 10.5,-0.01 C 4.7,-0.01 0,4.7 0,10.49 c 0,5.79 4.7,10.5 10.5,10.5 5.8,0 10.5,-4.7 10.5,-10.5 C 20.99,4.7 16.3,-0.01 10.5,-0.01 Z m 0,19.75 c -5.11,0 -9.25,-4.15 -9.25,-9.25 0,-5.1 4.14,-9.26 9.25,-9.26 5.11,0 9.25,4.15 9.25,9.25 0,5.13 -4.14,9.26 -9.25,9.26 z",path2:"M 14.74,6.25 C 12.9,4.41 9.98,4.35 8.23,6.1 5.07,9.27 6.09,14.91 6.09,14.91 c 0,0 5.64,1.02 8.81,-2.14 C 16.64,11 16.59,8.09 14.74,6.25 Z m -2.27,4.09 -0.91,1.87 -0.9,-1.87 -1.86,-0.91 1.86,-0.9 0.9,-1.87 0.91,1.87 1.86,0.9 z",polygon:"11.56,12.21 10.66,10.34 8.8,9.43 10.66,8.53 11.56,6.66 12.47,8.53 14.33,9.43 12.47,10.34"},styleRules:{map:"overflow:hidden;position:relative;","missing-css":"display:none;",canary:"background-color:salmon;","ctrl-bottom-left":"position: absolute; pointer-events: none; z-index: 2; bottom: 0; left: 0;","ctrl-bottom-right":"position: absolute; pointer-events: none; z-index: 2; right: 0; bottom: 0;",ctrl:"clear: both; pointer-events: auto; transform: translate(0, 0);","ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-inner":"display: none;","ctrl-attrib.mapboxgl-compact:hover .mapboxgl-ctrl-attrib-inner":"display: block; margin-top:2px","ctrl-attrib.mapboxgl-compact:hover":"padding: 2px 24px 2px 4px; visibility: visible; margin-top: 6px;","ctrl-attrib.mapboxgl-compact::after":'content: ""; cursor: pointer; position: absolute; background-image: url(\'data:image/svg+xml;charset=utf-8,%3Csvg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"%3E %3Cpath fill="%23333333" fill-rule="evenodd" d="M4,10a6,6 0 1,0 12,0a6,6 0 1,0 -12,0 M9,7a1,1 0 1,0 2,0a1,1 0 1,0 -2,0 M9,10a1,1 0 1,1 2,0l0,3a1,1 0 1,1 -2,0"/%3E %3C/svg%3E\'); background-color: rgba(255, 255, 255, 0.5); width: 24px; height: 24px; box-sizing: border-box; border-radius: 12px;',"ctrl-attrib.mapboxgl-compact":"min-height: 20px; padding: 0; margin: 10px; position: relative; background-color: #fff; border-radius: 3px 12px 12px 3px;","ctrl-bottom-right > .mapboxgl-ctrl-attrib.mapboxgl-compact::after":"bottom: 0; right: 0","ctrl-bottom-left > .mapboxgl-ctrl-attrib.mapboxgl-compact::after":"bottom: 0; left: 0","ctrl-bottom-left .mapboxgl-ctrl":"margin: 0 0 10px 10px; float: left;","ctrl-bottom-right .mapboxgl-ctrl":"margin: 0 10px 10px 0; float: right;","ctrl-attrib":"color: rgba(0, 0, 0, 0.75); text-decoration: none; font-size: 12px","ctrl-attrib a":"color: rgba(0, 0, 0, 0.75); text-decoration: none; font-size: 12px","ctrl-attrib a:hover":"color: inherit; text-decoration: underline;","ctrl-attrib .mapbox-improve-map":"font-weight: bold; margin-left: 2px;","attrib-empty":"display: none;","ctrl-logo":'display:block; width: 21px; height: 21px; background-image: url(\'data:image/svg+xml;charset=utf-8,%3C?xml version="1.0" encoding="utf-8"?%3E %3Csvg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 21 21" style="enable-background:new 0 0 21 21;" xml:space="preserve"%3E%3Cg transform="translate(0,0.01)"%3E%3Cpath d="m 10.5,1.24 c -5.11,0 -9.25,4.15 -9.25,9.25 0,5.1 4.15,9.25 9.25,9.25 5.1,0 9.25,-4.15 9.25,-9.25 0,-5.11 -4.14,-9.25 -9.25,-9.25 z m 4.39,11.53 c -1.93,1.93 -4.78,2.31 -6.7,2.31 -0.7,0 -1.41,-0.05 -2.1,-0.16 0,0 -1.02,-5.64 2.14,-8.81 0.83,-0.83 1.95,-1.28 3.13,-1.28 1.27,0 2.49,0.51 3.39,1.42 1.84,1.84 1.89,4.75 0.14,6.52 z" style="opacity:0.9;fill:%23ffffff;enable-background:new" class="st0"/%3E%3Cpath d="M 10.5,-0.01 C 4.7,-0.01 0,4.7 0,10.49 c 0,5.79 4.7,10.5 10.5,10.5 5.8,0 10.5,-4.7 10.5,-10.5 C 20.99,4.7 16.3,-0.01 10.5,-0.01 Z m 0,19.75 c -5.11,0 -9.25,-4.15 -9.25,-9.25 0,-5.1 4.14,-9.26 9.25,-9.26 5.11,0 9.25,4.15 9.25,9.25 0,5.13 -4.14,9.26 -9.25,9.26 z" style="opacity:0.35;enable-background:new" class="st1"/%3E%3Cpath d="M 14.74,6.25 C 12.9,4.41 9.98,4.35 8.23,6.1 5.07,9.27 6.09,14.91 6.09,14.91 c 0,0 5.64,1.02 8.81,-2.14 C 16.64,11 16.59,8.09 14.74,6.25 Z m -2.27,4.09 -0.91,1.87 -0.9,-1.87 -1.86,-0.91 1.86,-0.9 0.9,-1.87 0.91,1.87 1.86,0.9 z" style="opacity:0.35;enable-background:new" class="st1"/%3E%3Cpolygon points="11.56,12.21 10.66,10.34 8.8,9.43 10.66,8.53 11.56,6.66 12.47,8.53 14.33,9.43 12.47,10.34 " style="opacity:0.9;fill:%23ffffff;enable-background:new" class="st0"/%3E%3C/g%3E%3C/svg%3E\')'}}},{}],884:[function(t,e,r){"use strict";var n=t("../../lib");e.exports=function(t,e){var r=t.split(" "),i=r[0],a=r[1],o=n.isArrayOrTypedArray(e)?n.mean(e):e,s=.5+o/100,l=1.5+o/100,c=["",""],u=[0,0];switch(i){case"top":c[0]="top",u[1]=-l;break;case"bottom":c[0]="bottom",u[1]=l}switch(a){case"left":c[1]="right",u[0]=-s;break;case"right":c[1]="left",u[0]=s}return{anchor:c[0]&&c[1]?c.join("-"):c[0]?c[0]:c[1]?c[1]:"center",offset:u}}},{"../../lib":778}],885:[function(t,e,r){"use strict";var n=t("mapbox-gl"),i=t("../../lib"),a=i.strTranslate,o=i.strScale,s=t("../../plots/get_data").getSubplotCalcData,l=t("../../constants/xmlns_namespaces"),c=t("d3"),u=t("../../components/drawing"),f=t("../../lib/svg_text_utils"),h=t("./mapbox"),p=r.constants=t("./constants");function d(t){return"string"==typeof t&&(-1!==p.styleValuesMapbox.indexOf(t)||0===t.indexOf("mapbox://"))}r.name="mapbox",r.attr="subplot",r.idRoot="mapbox",r.idRegex=r.attrRegex=i.counterRegex("mapbox"),r.attributes={subplot:{valType:"subplotid",dflt:"mapbox",editType:"calc"}},r.layoutAttributes=t("./layout_attributes"),r.supplyLayoutDefaults=t("./layout_defaults"),r.plot=function(t){var e=t._fullLayout,r=t.calcdata,a=e._subplots.mapbox;if(n.version!==p.requiredVersion)throw new Error(p.wrongVersionErrorMsg);var o=function(t,e){var r=t._fullLayout;if(""===t._context.mapboxAccessToken)return"";for(var n=[],a=[],o=!1,s=!1,l=0;l<e.length;l++){var c=r[e[l]],u=c.accesstoken;d(c.style)&&(u?i.pushUnique(n,u):(d(c._input.style)&&(i.error("Uses Mapbox map style, but did not set an access token."),o=!0),s=!0)),u&&i.pushUnique(a,u)}if(s){var f=o?p.noAccessTokenErrorMsg:p.missingStyleErrorMsg;throw i.error(f),new Error(f)}return n.length?(n.length>1&&i.warn(p.multipleTokensErrorMsg),n[0]):(a.length&&i.log(["Listed mapbox access token(s)",a.join(","),"but did not use a Mapbox map style, ignoring token(s)."].join(" ")),"")}(t,a);n.accessToken=o;for(var l=0;l<a.length;l++){var c=a[l],u=s(r,"mapbox",c),f=e[c],g=f._subplot;g||(g=new h(t,c),e[c]._subplot=g),g.viewInitial||(g.viewInitial={center:i.extendFlat({},f.center),zoom:f.zoom,bearing:f.bearing,pitch:f.pitch}),g.plot(u,e,t._promises)}},r.clean=function(t,e,r,n){for(var i=n._subplots.mapbox||[],a=0;a<i.length;a++){var o=i[a];!e[o]&&n[o]._subplot&&n[o]._subplot.destroy()}},r.toSVG=function(t){for(var e=t._fullLayout,r=e._subplots.mapbox,n=e._size,i=0;i<r.length;i++){var s=e[r[i]],h=s.domain,d=s._subplot.toImage("png");e._glimages.append("svg:image").attr({xmlns:l.svg,"xlink:href":d,x:n.l+n.w*h.x[0],y:n.t+n.h*(1-h.y[1]),width:n.w*(h.x[1]-h.x[0]),height:n.h*(h.y[1]-h.y[0]),preserveAspectRatio:"none"});var g=c.select(s._subplot.div);if(!(null===g.select(".mapboxgl-ctrl-logo").node().offsetParent)){var m=e._glimages.append("g");m.attr("transform",a(n.l+n.w*h.x[0]+10,n.t+n.h*(1-h.y[0])-31)),m.append("path").attr("d",p.mapboxLogo.path0).style({opacity:.9,fill:"#ffffff","enable-background":"new"}),m.append("path").attr("d",p.mapboxLogo.path1).style("opacity",.35).style("enable-background","new"),m.append("path").attr("d",p.mapboxLogo.path2).style("opacity",.35).style("enable-background","new"),m.append("polygon").attr("points",p.mapboxLogo.polygon).style({opacity:.9,fill:"#ffffff","enable-background":"new"})}var v=g.select(".mapboxgl-ctrl-attrib").text().replace("Improve this map",""),y=e._glimages.append("g"),x=y.append("text");x.text(v).classed("static-attribution",!0).attr({"font-size":12,"font-family":"Arial",color:"rgba(0, 0, 0, 0.75)","text-anchor":"end","data-unformatted":v});var b=u.bBox(x.node()),_=n.w*(h.x[1]-h.x[0]);if(b.width>_/2){var w=v.split("|").join("<br>");x.text(w).attr("data-unformatted",w).call(f.convertToTspans,t),b=u.bBox(x.node())}x.attr("transform",a(-3,8-b.height)),y.insert("rect",".static-attribution").attr({x:-b.width-6,y:-b.height-3,width:b.width+6,height:b.height+3,fill:"rgba(255, 255, 255, 0.75)"});var T=1;b.width+6>_&&(T=_/(b.width+6));var k=[n.l+n.w*h.x[1],n.t+n.h*(1-h.y[0])];y.attr("transform",a(k[0],k[1])+o(T))}},r.updateFx=function(t){for(var e=t._fullLayout,r=e._subplots.mapbox,n=0;n<r.length;n++){e[r[n]]._subplot.updateFx(e)}}},{"../../components/drawing":665,"../../constants/xmlns_namespaces":754,"../../lib":778,"../../lib/svg_text_utils":803,"../../plots/get_data":865,"./constants":883,"./layout_attributes":887,"./layout_defaults":888,"./mapbox":889,d3:169,"mapbox-gl":473}],886:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../lib/svg_text_utils").sanitizeHTML,a=t("./convert_text_opts"),o=t("./constants");function s(t,e){this.subplot=t,this.uid=t.uid+"-"+e,this.index=e,this.idSource="source-"+this.uid,this.idLayer=o.layoutLayerPrefix+this.uid,this.sourceType=null,this.source=null,this.layerType=null,this.below=null,this.visible=!1}var l=s.prototype;function c(t){if(!t.visible)return!1;var e=t.source;if(Array.isArray(e)&&e.length>0){for(var r=0;r<e.length;r++)if("string"!=typeof e[r]||0===e[r].length)return!1;return!0}return n.isPlainObject(e)||"string"==typeof e&&e.length>0}function u(t){var e={},r={};switch(t.type){case"circle":n.extendFlat(r,{"circle-radius":t.circle.radius,"circle-color":t.color,"circle-opacity":t.opacity});break;case"line":n.extendFlat(r,{"line-width":t.line.width,"line-color":t.color,"line-opacity":t.opacity,"line-dasharray":t.line.dash});break;case"fill":n.extendFlat(r,{"fill-color":t.color,"fill-outline-color":t.fill.outlinecolor,"fill-opacity":t.opacity});break;case"symbol":var i=t.symbol,o=a(i.textposition,i.iconsize);n.extendFlat(e,{"icon-image":i.icon+"-15","icon-size":i.iconsize/10,"text-field":i.text,"text-size":i.textfont.size,"text-anchor":o.anchor,"text-offset":o.offset,"symbol-placement":i.placement}),n.extendFlat(r,{"icon-color":t.color,"text-color":i.textfont.color,"text-opacity":t.opacity});break;case"raster":n.extendFlat(r,{"raster-fade-duration":0,"raster-opacity":t.opacity})}return{layout:e,paint:r}}l.update=function(t){this.visible?this.needsNewImage(t)?this.updateImage(t):this.needsNewSource(t)?(this.removeLayer(),this.updateSource(t),this.updateLayer(t)):this.needsNewLayer(t)?this.updateLayer(t):this.updateStyle(t):(this.updateSource(t),this.updateLayer(t)),this.visible=c(t)},l.needsNewImage=function(t){return this.subplot.map.getSource(this.idSource)&&"image"===this.sourceType&&"image"===t.sourcetype&&(this.source!==t.source||JSON.stringify(this.coordinates)!==JSON.stringify(t.coordinates))},l.needsNewSource=function(t){return this.sourceType!==t.sourcetype||JSON.stringify(this.source)!==JSON.stringify(t.source)||this.layerType!==t.type},l.needsNewLayer=function(t){return this.layerType!==t.type||this.below!==this.subplot.belowLookup["layout-"+this.index]},l.lookupBelow=function(){return this.subplot.belowLookup["layout-"+this.index]},l.updateImage=function(t){this.subplot.map.getSource(this.idSource).updateImage({url:t.source,coordinates:t.coordinates});var e=this.findFollowingMapboxLayerId(this.lookupBelow());null!==e&&this.subplot.map.moveLayer(this.idLayer,e)},l.updateSource=function(t){var e=this.subplot.map;if(e.getSource(this.idSource)&&e.removeSource(this.idSource),this.sourceType=t.sourcetype,this.source=t.source,c(t)){var r=function(t){var e,r=t.sourcetype,n=t.source,a={type:r};"geojson"===r?e="data":"vector"===r?e="string"==typeof n?"url":"tiles":"raster"===r?(e="tiles",a.tileSize=256):"image"===r&&(e="url",a.coordinates=t.coordinates);a[e]=n,t.sourceattribution&&(a.attribution=i(t.sourceattribution));return a}(t);e.addSource(this.idSource,r)}},l.findFollowingMapboxLayerId=function(t){if("traces"===t)for(var e=this.subplot.getMapLayers(),r=0;r<e.length;r++){var n=e[r].id;if("string"==typeof n&&0===n.indexOf(o.traceLayerPrefix)){t=n;break}}return t},l.updateLayer=function(t){var e=this.subplot,r=u(t),n=this.lookupBelow(),i=this.findFollowingMapboxLayerId(n);this.removeLayer(),c(t)&&e.addLayer({id:this.idLayer,source:this.idSource,"source-layer":t.sourcelayer||"",type:t.type,minzoom:t.minzoom,maxzoom:t.maxzoom,layout:r.layout,paint:r.paint},i),this.layerType=t.type,this.below=n},l.updateStyle=function(t){if(c(t)){var e=u(t);this.subplot.setOptions(this.idLayer,"setLayoutProperty",e.layout),this.subplot.setOptions(this.idLayer,"setPaintProperty",e.paint)}},l.removeLayer=function(){var t=this.subplot.map;t.getLayer(this.idLayer)&&t.removeLayer(this.idLayer)},l.dispose=function(){var t=this.subplot.map;t.getLayer(this.idLayer)&&t.removeLayer(this.idLayer),t.getSource(this.idSource)&&t.removeSource(this.idSource)},e.exports=function(t,e,r){var n=new s(t,e);return n.update(r),n}},{"../../lib":778,"../../lib/svg_text_utils":803,"./constants":883,"./convert_text_opts":884}],887:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../components/color").defaultLine,a=t("../domain").attributes,o=t("../font_attributes"),s=t("../../traces/scatter/attributes").textposition,l=t("../../plot_api/edit_types").overrideAll,c=t("../../plot_api/plot_template").templatedArray,u=t("./constants"),f=o({});f.family.dflt="Open Sans Regular, Arial Unicode MS Regular",(e.exports=l({_arrayAttrRegexps:[n.counterRegex("mapbox",".layers",!0)],domain:a({name:"mapbox"}),accesstoken:{valType:"string",noBlank:!0,strict:!0},style:{valType:"any",values:u.styleValuesMapbox.concat(u.styleValuesNonMapbox),dflt:u.styleValueDflt},center:{lon:{valType:"number",dflt:0},lat:{valType:"number",dflt:0}},zoom:{valType:"number",dflt:1},bearing:{valType:"number",dflt:0},pitch:{valType:"number",dflt:0},layers:c("layer",{visible:{valType:"boolean",dflt:!0},sourcetype:{valType:"enumerated",values:["geojson","vector","raster","image"],dflt:"geojson"},source:{valType:"any"},sourcelayer:{valType:"string",dflt:""},sourceattribution:{valType:"string"},type:{valType:"enumerated",values:["circle","line","fill","symbol","raster"],dflt:"circle"},coordinates:{valType:"any"},below:{valType:"string"},color:{valType:"color",dflt:i},opacity:{valType:"number",min:0,max:1,dflt:1},minzoom:{valType:"number",min:0,max:24,dflt:0},maxzoom:{valType:"number",min:0,max:24,dflt:24},circle:{radius:{valType:"number",dflt:15}},line:{width:{valType:"number",dflt:2},dash:{valType:"data_array"}},fill:{outlinecolor:{valType:"color",dflt:i}},symbol:{icon:{valType:"string",dflt:"marker"},iconsize:{valType:"number",dflt:10},text:{valType:"string",dflt:""},placement:{valType:"enumerated",values:["point","line","line-center"],dflt:"point"},textfont:f,textposition:n.extendFlat({},s,{arrayOk:!1})}})},"plot","from-root")).uirevision={valType:"any",editType:"none"}},{"../../components/color":643,"../../lib":778,"../../plot_api/edit_types":810,"../../plot_api/plot_template":817,"../../traces/scatter/attributes":1187,"../domain":855,"../font_attributes":856,"./constants":883}],888:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../subplot_defaults"),a=t("../array_container_defaults"),o=t("./layout_attributes");function s(t,e,r,n){r("accesstoken",n.accessToken),r("style"),r("center.lon"),r("center.lat"),r("zoom"),r("bearing"),r("pitch"),a(t,e,{name:"layers",handleItemDefaults:l}),e._input=t}function l(t,e){function r(r,i){return n.coerce(t,e,o.layers,r,i)}if(r("visible")){var i,a=r("sourcetype"),s="raster"===a||"image"===a;r("source"),r("sourceattribution"),"vector"===a&&r("sourcelayer"),"image"===a&&r("coordinates"),s&&(i="raster");var l=r("type",i);s&&"raster"!==l&&(l=e.type="raster",n.log("Source types *raster* and *image* must drawn *raster* layer type.")),r("below"),r("color"),r("opacity"),r("minzoom"),r("maxzoom"),"circle"===l&&r("circle.radius"),"line"===l&&(r("line.width"),r("line.dash")),"fill"===l&&r("fill.outlinecolor"),"symbol"===l&&(r("symbol.icon"),r("symbol.iconsize"),r("symbol.text"),n.coerceFont(r,"symbol.textfont"),r("symbol.textposition"),r("symbol.placement"))}}e.exports=function(t,e,r){i(t,e,r,{type:"mapbox",attributes:o,handleDefaults:s,partition:"y",accessToken:e._mapboxAccessToken})}},{"../../lib":778,"../array_container_defaults":823,"../subplot_defaults":905,"./layout_attributes":887}],889:[function(t,e,r){"use strict";var n=t("mapbox-gl"),i=t("../../lib"),a=t("../../lib/geo_location_utils"),o=t("../../registry"),s=t("../cartesian/axes"),l=t("../../components/dragelement"),c=t("../../components/fx"),u=t("../../components/dragelement/helpers"),f=u.rectMode,h=u.drawMode,p=u.selectMode,d=t("../cartesian/select").prepSelect,g=t("../cartesian/select").clearSelect,m=t("../cartesian/select").clearSelectionsCache,v=t("../cartesian/select").selectOnClick,y=t("./constants"),x=t("./layers");function b(t,e){this.id=e,this.gd=t;var r=t._fullLayout,n=t._context;this.container=r._glcontainer.node(),this.isStatic=n.staticPlot,this.uid=r._uid+"-"+this.id,this.div=null,this.xaxis=null,this.yaxis=null,this.createFramework(r),this.map=null,this.accessToken=null,this.styleObj=null,this.traceHash={},this.layerList=[],this.belowLookup={},this.dragging=!1,this.wheeling=!1}var _=b.prototype;_.plot=function(t,e,r){var n,i=this,a=e[i.id];i.map&&a.accesstoken!==i.accessToken&&(i.map.remove(),i.map=null,i.styleObj=null,i.traceHash={},i.layerList=[]),n=i.map?new Promise((function(r,n){i.updateMap(t,e,r,n)})):new Promise((function(r,n){i.createMap(t,e,r,n)})),r.push(n)},_.createMap=function(t,e,r,i){var o=this,s=e[o.id],l=o.styleObj=T(s.style);o.accessToken=s.accesstoken;var c=o.map=new n.Map({container:o.div,style:l.style,center:M(s.center),zoom:s.zoom,bearing:s.bearing,pitch:s.pitch,interactive:!o.isStatic,preserveDrawingBuffer:o.isStatic,doubleClickZoom:!1,boxZoom:!1,attributionControl:!1}).addControl(new n.AttributionControl({compact:!0}));c._canvas.style.left="0px",c._canvas.style.top="0px",o.rejectOnError(i),o.isStatic||o.initFx(t,e);var u=[];u.push(new Promise((function(t){c.once("load",t)}))),u=u.concat(a.fetchTraceGeoData(t)),Promise.all(u).then((function(){o.fillBelowLookup(t,e),o.updateData(t),o.updateLayout(e),o.resolveOnRender(r)})).catch(i)},_.updateMap=function(t,e,r,n){var i=this,o=i.map,s=e[this.id];i.rejectOnError(n);var l=[],c=T(s.style);JSON.stringify(i.styleObj)!==JSON.stringify(c)&&(i.styleObj=c,o.setStyle(c.style),i.traceHash={},l.push(new Promise((function(t){o.once("styledata",t)})))),l=l.concat(a.fetchTraceGeoData(t)),Promise.all(l).then((function(){i.fillBelowLookup(t,e),i.updateData(t),i.updateLayout(e),i.resolveOnRender(r)})).catch(n)},_.fillBelowLookup=function(t,e){var r,n,i=e[this.id].layers,a=this.belowLookup={},o=!1;for(r=0;r<t.length;r++){var s=t[r][0].trace,l=s._module;"string"==typeof s.below?n=s.below:l.getBelow&&(n=l.getBelow(s,this)),""===n&&(o=!0),a["trace-"+s.uid]=n||""}for(r=0;r<i.length;r++){var c=i[r];n="string"==typeof c.below?c.below:o?"traces":"",a["layout-"+r]=n}var u,f,h={};for(u in a)h[n=a[u]]?h[n].push(u):h[n]=[u];for(n in h){var p=h[n];if(p.length>1)for(r=0;r<p.length;r++)0===(u=p[r]).indexOf("trace-")?(f=u.split("trace-")[1],this.traceHash[f]&&(this.traceHash[f].below=null)):0===u.indexOf("layout-")&&(f=u.split("layout-")[1],this.layerList[f]&&(this.layerList[f].below=null))}};var w={choroplethmapbox:0,densitymapbox:1,scattermapbox:2};function T(t){var e={};return i.isPlainObject(t)?(e.id=t.id,e.style=t):"string"==typeof t?(e.id=t,-1!==y.styleValuesMapbox.indexOf(t)?e.style=k(t):y.stylesNonMapbox[t]?e.style=y.stylesNonMapbox[t]:e.style=t):(e.id=y.styleValueDflt,e.style=k(y.styleValueDflt)),e.transition={duration:0,delay:0},e}function k(t){return y.styleUrlPrefix+t+"-"+y.styleUrlSuffix}function M(t){return[t.lon,t.lat]}_.updateData=function(t){var e,r,n,i,a=this.traceHash,o=t.slice().sort((function(t,e){return w[t[0].trace.type]-w[e[0].trace.type]}));for(n=0;n<o.length;n++){var s=o[n],l=!1;(e=a[(r=s[0].trace).uid])&&(e.type===r.type?(e.update(s),l=!0):e.dispose()),!l&&r._module&&(a[r.uid]=r._module.plot(this,s))}var c=Object.keys(a);t:for(n=0;n<c.length;n++){var u=c[n];for(i=0;i<t.length;i++)if(u===(r=t[i][0].trace).uid)continue t;(e=a[u]).dispose(),delete a[u]}},_.updateLayout=function(t){var e=this.map,r=t[this.id];this.dragging||this.wheeling||(e.setCenter(M(r.center)),e.setZoom(r.zoom),e.setBearing(r.bearing),e.setPitch(r.pitch)),this.updateLayers(t),this.updateFramework(t),this.updateFx(t),this.map.resize(),this.gd._context._scrollZoom.mapbox?e.scrollZoom.enable():e.scrollZoom.disable()},_.resolveOnRender=function(t){var e=this.map;e.on("render",(function r(){e.loaded()&&(e.off("render",r),setTimeout(t,10))}))},_.rejectOnError=function(t){var e=this.map;function r(){t(new Error(y.mapOnErrorMsg))}e.once("error",r),e.once("style.error",r),e.once("source.error",r),e.once("tile.error",r),e.once("layer.error",r)},_.createFramework=function(t){var e=this,r=e.div=document.createElement("div");r.id=e.uid,r.style.position="absolute",e.container.appendChild(r),e.xaxis={_id:"x",c2p:function(t){return e.project(t).x}},e.yaxis={_id:"y",c2p:function(t){return e.project(t).y}},e.updateFramework(t),e.mockAxis={type:"linear",showexponent:"all",exponentformat:"B"},s.setConvert(e.mockAxis,t)},_.initFx=function(t,e){var r=this,n=r.gd,i=r.map;function a(){c.loneUnhover(e._hoverlayer)}function s(){var t=r.getView();n.emit("plotly_relayouting",r.getViewEditsWithDerived(t))}i.on("moveend",(function(t){if(r.map){var e=n._fullLayout;if(t.originalEvent||r.wheeling){var i=e[r.id];o.call("_storeDirectGUIEdit",n.layout,e._preGUI,r.getViewEdits(i));var a=r.getView();i._input.center=i.center=a.center,i._input.zoom=i.zoom=a.zoom,i._input.bearing=i.bearing=a.bearing,i._input.pitch=i.pitch=a.pitch,n.emit("plotly_relayout",r.getViewEditsWithDerived(a))}t.originalEvent&&"mouseup"===t.originalEvent.type?r.dragging=!1:r.wheeling&&(r.wheeling=!1),e._rehover&&e._rehover()}})),i.on("wheel",(function(){r.wheeling=!0})),i.on("mousemove",(function(t){var e=r.div.getBoundingClientRect(),a=[t.originalEvent.offsetX,t.originalEvent.offsetY];t.target.getBoundingClientRect=function(){return e},r.xaxis.p2c=function(){return i.unproject(a).lng},r.yaxis.p2c=function(){return i.unproject(a).lat},n._fullLayout._rehover=function(){n._fullLayout._hoversubplot===r.id&&n._fullLayout[r.id]&&c.hover(n,t,r.id)},c.hover(n,t,r.id),n._fullLayout._hoversubplot=r.id})),i.on("dragstart",(function(){r.dragging=!0,a()})),i.on("zoomstart",a),i.on("mouseout",(function(){n._fullLayout._hoversubplot=null})),i.on("drag",s),i.on("zoom",s),i.on("dblclick",(function(){var t=n._fullLayout[r.id];o.call("_storeDirectGUIEdit",n.layout,n._fullLayout._preGUI,r.getViewEdits(t));var e=r.viewInitial;i.setCenter(M(e.center)),i.setZoom(e.zoom),i.setBearing(e.bearing),i.setPitch(e.pitch);var a=r.getView();t._input.center=t.center=a.center,t._input.zoom=t.zoom=a.zoom,t._input.bearing=t.bearing=a.bearing,t._input.pitch=t.pitch=a.pitch,n.emit("plotly_doubleclick",null),n.emit("plotly_relayout",r.getViewEditsWithDerived(a))})),r.clearSelect=function(){m(r.dragOptions),g(r.dragOptions.gd)},r.onClickInPanFn=function(t){return function(e){var i=n._fullLayout.clickmode;i.indexOf("select")>-1&&v(e.originalEvent,n,[r.xaxis],[r.yaxis],r.id,t),i.indexOf("event")>-1&&c.click(n,e.originalEvent)}}},_.updateFx=function(t){var e=this,r=e.map,n=e.gd;if(!e.isStatic){var a,o=t.dragmode;a=f(o)?function(t,r){(t.range={})[e.id]=[c([r.xmin,r.ymin]),c([r.xmax,r.ymax])]}:function(t,r,n){(t.lassoPoints={})[e.id]=n.filtered.map(c)};var s=e.dragOptions;e.dragOptions=i.extendDeep(s||{},{dragmode:t.dragmode,element:e.div,gd:n,plotinfo:{id:e.id,domain:t[e.id].domain,xaxis:e.xaxis,yaxis:e.yaxis,fillRangeItems:a},xaxes:[e.xaxis],yaxes:[e.yaxis],subplot:e.id}),r.off("click",e.onClickInPanHandler),p(o)||h(o)?(r.dragPan.disable(),r.on("zoomstart",e.clearSelect),e.dragOptions.prepFn=function(t,r,n){d(t,r,n,e.dragOptions,o)},l.init(e.dragOptions)):(r.dragPan.enable(),r.off("zoomstart",e.clearSelect),e.div.onmousedown=null,e.onClickInPanHandler=e.onClickInPanFn(e.dragOptions),r.on("click",e.onClickInPanHandler))}function c(t){var r=e.map.unproject(t);return[r.lng,r.lat]}},_.updateFramework=function(t){var e=t[this.id].domain,r=t._size,n=this.div.style;n.width=r.w*(e.x[1]-e.x[0])+"px",n.height=r.h*(e.y[1]-e.y[0])+"px",n.left=r.l+e.x[0]*r.w+"px",n.top=r.t+(1-e.y[1])*r.h+"px",this.xaxis._offset=r.l+e.x[0]*r.w,this.xaxis._length=r.w*(e.x[1]-e.x[0]),this.yaxis._offset=r.t+(1-e.y[1])*r.h,this.yaxis._length=r.h*(e.y[1]-e.y[0])},_.updateLayers=function(t){var e,r=t[this.id].layers,n=this.layerList;if(r.length!==n.length){for(e=0;e<n.length;e++)n[e].dispose();for(n=this.layerList=[],e=0;e<r.length;e++)n.push(x(this,e,r[e]))}else for(e=0;e<r.length;e++)n[e].update(r[e])},_.destroy=function(){this.map&&(this.map.remove(),this.map=null,this.container.removeChild(this.div))},_.toImage=function(){return this.map.stop(),this.map.getCanvas().toDataURL()},_.setOptions=function(t,e,r){for(var n in r)this.map[e](t,n,r[n])},_.getMapLayers=function(){return this.map.getStyle().layers},_.addLayer=function(t,e){var r=this.map;if("string"==typeof e){if(""===e)return void r.addLayer(t,e);for(var n=this.getMapLayers(),a=0;a<n.length;a++)if(e===n[a].id)return void r.addLayer(t,e);i.warn(["Trying to add layer with *below* value",e,"referencing a layer that does not exist","or that does not yet exist."].join(" "))}r.addLayer(t)},_.project=function(t){return this.map.project(new n.LngLat(t[0],t[1]))},_.getView=function(){var t=this.map,e=t.getCenter(),r={lon:e.lng,lat:e.lat},n=t.getCanvas(),i=n.width,a=n.height;return{center:r,zoom:t.getZoom(),bearing:t.getBearing(),pitch:t.getPitch(),_derived:{coordinates:[t.unproject([0,0]).toArray(),t.unproject([i,0]).toArray(),t.unproject([i,a]).toArray(),t.unproject([0,a]).toArray()]}}},_.getViewEdits=function(t){for(var e=this.id,r=["center","zoom","bearing","pitch"],n={},i=0;i<r.length;i++){var a=r[i];n[e+"."+a]=t[a]}return n},_.getViewEditsWithDerived=function(t){var e=this.id,r=this.getViewEdits(t);return r[e+"._derived"]=t._derived,r},e.exports=b},{"../../components/dragelement":662,"../../components/dragelement/helpers":661,"../../components/fx":683,"../../lib":778,"../../lib/geo_location_utils":771,"../../registry":911,"../cartesian/axes":828,"../cartesian/select":847,"./constants":883,"./layers":886,"mapbox-gl":473}],890:[function(t,e,r){"use strict";e.exports=function(t){var e=t.editType;return{t:{valType:"number",dflt:0,editType:e},r:{valType:"number",dflt:0,editType:e},b:{valType:"number",dflt:0,editType:e},l:{valType:"number",dflt:0,editType:e},editType:e}}},{}],891:[function(t,e,r){"use strict";var n=t("d3"),i=t("d3-time-format").timeFormatLocale,a=t("fast-isnumeric"),o=t("../registry"),s=t("../plot_api/plot_schema"),l=t("../plot_api/plot_template"),c=t("../lib"),u=t("../components/color"),f=t("../constants/numerical").BADNUM,h=t("./cartesian/axis_ids"),p=t("./cartesian/handle_outline").clearSelect,d=t("./animation_attributes"),g=t("./frame_attributes"),m=t("../plots/get_data").getModuleCalcData,v=c.relinkPrivateKeys,y=c._,x=e.exports={};c.extendFlat(x,o),x.attributes=t("./attributes"),x.attributes.type.values=x.allTypes,x.fontAttrs=t("./font_attributes"),x.layoutAttributes=t("./layout_attributes"),x.fontWeight="normal";var b=x.transformsRegistry,_=t("./command");x.executeAPICommand=_.executeAPICommand,x.computeAPICommandBindings=_.computeAPICommandBindings,x.manageCommandObserver=_.manageCommandObserver,x.hasSimpleAPICommandBindings=_.hasSimpleAPICommandBindings,x.redrawText=function(t){var e=(t=c.getGraphDiv(t))._fullLayout||{};if(!(!(e._has&&e._has("polar"))&&t.data&&t.data[0]&&t.data[0].r))return new Promise((function(e){setTimeout((function(){o.getComponentMethod("annotations","draw")(t),o.getComponentMethod("legend","draw")(t),o.getComponentMethod("colorbar","draw")(t),e(x.previousPromises(t))}),300)}))},x.resize=function(t){var e;t=c.getGraphDiv(t);var r=new Promise((function(r,n){t&&!c.isHidden(t)||n(new Error("Resize must be passed a displayed plot div element.")),t._redrawTimer&&clearTimeout(t._redrawTimer),t._resolveResize&&(e=t._resolveResize),t._resolveResize=r,t._redrawTimer=setTimeout((function(){if(!t.layout||t.layout.width&&t.layout.height||c.isHidden(t))r(t);else{delete t.layout.width,delete t.layout.height;var e=t.changed;t.autoplay=!0,o.call("relayout",t,{autosize:!0}).then((function(){t.changed=e,t._resolveResize===r&&(delete t._resolveResize,r(t))}))}}),100)}));return e&&e(r),r},x.previousPromises=function(t){if((t._promises||[]).length)return Promise.all(t._promises).then((function(){t._promises=[]}))},x.addLinks=function(t){if(t._context.showLink||t._context.showSources){var e=t._fullLayout,r=c.ensureSingle(e._paper,"text","js-plot-link-container",(function(t){t.style({"font-family":'"Open Sans", Arial, sans-serif',"font-size":"12px",fill:u.defaultLine,"pointer-events":"all"}).each((function(){var t=n.select(this);t.append("tspan").classed("js-link-to-tool",!0),t.append("tspan").classed("js-link-spacer",!0),t.append("tspan").classed("js-sourcelinks",!0)}))})),i=r.node(),a={y:e._paper.attr("height")-9};document.body.contains(i)&&i.getComputedTextLength()>=e.width-20?(a["text-anchor"]="start",a.x=5):(a["text-anchor"]="end",a.x=e._paper.attr("width")-7),r.attr(a);var o=r.select(".js-link-to-tool"),s=r.select(".js-link-spacer"),l=r.select(".js-sourcelinks");t._context.showSources&&t._context.showSources(t),t._context.showLink&&function(t,e){e.text("");var r=e.append("a").attr({"xlink:xlink:href":"#",class:"link--impt link--embedview","font-weight":"bold"}).text(t._context.linkText+" "+String.fromCharCode(187));if(t._context.sendData)r.on("click",(function(){x.sendDataToCloud(t)}));else{var n=window.location.pathname.split("/"),i=window.location.search;r.attr({"xlink:xlink:show":"new","xlink:xlink:href":"/"+n[2].split(".")[0]+"/"+n[1]+i})}}(t,o),s.text(o.text()&&l.text()?" - ":"")}},x.sendDataToCloud=function(t){var e=(window.PLOTLYENV||{}).BASE_URL||t._context.plotlyServerURL;if(e){t.emit("plotly_beforeexport");var r=n.select(t).append("div").attr("id","hiddenform").style("display","none"),i=r.append("form").attr({action:e+"/external",method:"post",target:"_blank"});return i.append("input").attr({type:"text",name:"data"}).node().value=x.graphJson(t,!1,"keepdata"),i.node().submit(),r.remove(),t.emit("plotly_afterexport"),!1}};var w=["days","shortDays","months","shortMonths","periods","dateTime","date","time","decimal","thousands","grouping","currency"],T=["year","month","dayMonth","dayMonthYear"];function k(t,e){var r=t._context.locale;r||(r="en-US");var n=!1,i={};function a(t){for(var r=!0,a=0;a<e.length;a++){var o=e[a];i[o]||(t[o]?i[o]=t[o]:r=!1)}r&&(n=!0)}for(var s=0;s<2;s++){for(var l=t._context.locales,c=0;c<2;c++){var u=(l[r]||{}).format;if(u&&(a(u),n))break;l=o.localeRegistry}var f=r.split("-")[0];if(n||f===r)break;r=f}return n||a(o.localeRegistry.en.format),i}function M(t,e){var r={_fullLayout:e},n="x"===t._id.charAt(0),i=t._mainAxis._anchorAxis,a="",o="",s="";if(i&&(s=i._mainAxis._id,a=n?t._id+s:s+t._id),!a||!e._plots[a]){a="";for(var l=t._counterAxes,c=0;c<l.length;c++){var u=l[c],f=n?t._id+u:u+t._id;o||(o=f);var p=h.getFromId(r,u);if(s&&p.overlaying===s){a=f;break}}}return a||o}function A(t){var e=t.transforms;if(Array.isArray(e)&&e.length)for(var r=0;r<e.length;r++){var n=e[r],i=n._module||b[n.type];if(i&&i.makesData)return!0}return!1}function S(t,e,r,n){for(var i=t.transforms,a=[t],o=0;o<i.length;o++){var s=i[o],l=b[s.type];l&&l.transform&&(a=l.transform(a,{transform:s,fullTrace:t,fullData:e,layout:r,fullLayout:n,transformIndex:o}))}return a}function E(t){return"string"==typeof t&&"px"===t.substr(t.length-2)&&parseFloat(t)}function C(t){var e=t.margin;if(!t._size){var r=t._size={l:Math.round(e.l),r:Math.round(e.r),t:Math.round(e.t),b:Math.round(e.b),p:Math.round(e.pad)};r.w=Math.round(t.width)-r.l-r.r,r.h=Math.round(t.height)-r.t-r.b}t._pushmargin||(t._pushmargin={}),t._pushmarginIds||(t._pushmarginIds={})}x.supplyDefaults=function(t,e){var r=e&&e.skipUpdateCalc,a=t._fullLayout||{};if(a._skipDefaults)delete a._skipDefaults;else{var s,l=t._fullLayout={},u=t.layout||{},f=t._fullData||[],h=t._fullData=[],d=t.data||[],g=t.calcdata||[],m=t._context||{};t._transitionData||x.createTransitionData(t),l._dfltTitle={plot:y(t,"Click to enter Plot title"),x:y(t,"Click to enter X axis title"),y:y(t,"Click to enter Y axis title"),colorbar:y(t,"Click to enter Colorscale title"),annotation:y(t,"new text")},l._traceWord=y(t,"trace");var b=k(t,w);if(l._mapboxAccessToken=m.mapboxAccessToken,a._initialAutoSizeIsDone){var _=a.width,M=a.height;x.supplyLayoutGlobalDefaults(u,l,b),u.width||(l.width=_),u.height||(l.height=M),x.sanitizeMargins(l)}else{x.supplyLayoutGlobalDefaults(u,l,b);var A=!u.width||!u.height,S=l.autosize,E=m.autosizable;A&&(S||E)?x.plotAutoSize(t,u,l):A&&x.sanitizeMargins(l),!S&&A&&(u.width=l.width,u.height=l.height)}l._d3locale=function(t,e){return t.decimal=e.charAt(0),t.thousands=e.charAt(1),{numberFormat:n.locale(t).numberFormat,timeFormat:i(t).utcFormat}}(b,l.separators),l._extraFormat=k(t,T),l._initialAutoSizeIsDone=!0,l._dataLength=d.length,l._modules=[],l._visibleModules=[],l._basePlotModules=[];var L=l._subplots=function(){var t,e,r=o.collectableSubplotTypes,n={};if(!r){r=[];var i=o.subplotsRegistry;for(var a in i){var s=i[a].attr;if(s&&(r.push(a),Array.isArray(s)))for(e=0;e<s.length;e++)c.pushUnique(r,s[e])}}for(t=0;t<r.length;t++)n[r[t]]=[];return n}(),I=l._splomAxes={x:{},y:{}},P=l._splomSubplots={};l._splomGridDflt={},l._scatterStackOpts={},l._firstScatter={},l._alignmentOpts={},l._colorAxes={},l._requestRangeslider={},l._traceUids=function(t,e){var r,n,i=e.length,a=[];for(r=0;r<t.length;r++){var o=t[r]._fullInput;o!==n&&a.push(o),n=o}var s=a.length,l=new Array(i),u={};function f(t,e){l[e]=t,u[t]=1}function h(t,e){if(t&&"string"==typeof t&&!u[t])return f(t,e),!0}for(r=0;r<i;r++){var p=e[r].uid;"number"==typeof p&&(p=String(p)),h(p,r)||(r<s&&h(a[r].uid,r)||f(c.randstr(u),r))}return l}(f,d),l._globalTransforms=(t._context||{}).globalTransforms,x.supplyDataDefaults(d,h,u,l);var z=Object.keys(I.x),O=Object.keys(I.y);if(z.length>1&&O.length>1){for(o.getComponentMethod("grid","sizeDefaults")(u,l),s=0;s<z.length;s++)c.pushUnique(L.xaxis,z[s]);for(s=0;s<O.length;s++)c.pushUnique(L.yaxis,O[s]);for(var D in P)c.pushUnique(L.cartesian,D)}if(l._has=x._hasPlotType.bind(l),f.length===h.length)for(s=0;s<h.length;s++)v(h[s],f[s]);x.supplyLayoutModuleDefaults(u,l,h,t._transitionData);var R=l._visibleModules,F=[];for(s=0;s<R.length;s++){var B=R[s].crossTraceDefaults;B&&c.pushUnique(F,B)}for(s=0;s<F.length;s++)F[s](h,l);l._hasOnlyLargeSploms=1===l._basePlotModules.length&&"splom"===l._basePlotModules[0].name&&z.length>15&&O.length>15&&0===l.shapes.length&&0===l.images.length,l._hasCartesian=l._has("cartesian"),l._hasGeo=l._has("geo"),l._hasGL3D=l._has("gl3d"),l._hasGL2D=l._has("gl2d"),l._hasTernary=l._has("ternary"),l._hasPie=l._has("pie"),x.linkSubplots(h,l,f,a),x.cleanPlot(h,l,f,a);var N=!(!a._has||!a._has("gl2d")),j=!(!l._has||!l._has("gl2d")),U=!(!a._has||!a._has("cartesian"))||N,V=!(!l._has||!l._has("cartesian"))||j;U&&!V?a._bgLayer.remove():V&&!U&&(l._shouldCreateBgLayer=!0),a._zoomlayer&&!t._dragging&&p({_fullLayout:a}),function(t,e){var r,n=[];e.meta&&(r=e._meta={meta:e.meta,layout:{meta:e.meta}});for(var i=0;i<t.length;i++){var a=t[i];a.meta?n[a.index]=a._meta={meta:a.meta}:e.meta&&(a._meta={meta:e.meta}),e.meta&&(a._meta.layout={meta:e.meta})}n.length&&(r||(r=e._meta={}),r.data=n)}(h,l),v(l,a),o.getComponentMethod("colorscale","crossTraceDefaults")(h,l),l._preGUI||(l._preGUI={}),l._tracePreGUI||(l._tracePreGUI={});var q,H=l._tracePreGUI,G={};for(q in H)G[q]="old";for(s=0;s<h.length;s++)G[q=h[s]._fullInput.uid]||(H[q]={}),G[q]="new";for(q in G)"old"===G[q]&&delete H[q];C(l),o.getComponentMethod("rangeslider","makeData")(l),r||g.length!==h.length||x.supplyDefaultsUpdateCalc(g,h)}},x.supplyDefaultsUpdateCalc=function(t,e){for(var r=0;r<e.length;r++){var n=e[r],i=(t[r]||[])[0];if(i&&i.trace){var a=i.trace;if(a._hasCalcTransform){var o,s,l,u=a._arrayAttrs;for(o=0;o<u.length;o++)s=u[o],l=c.nestedProperty(a,s).get().slice(),c.nestedProperty(n,s).set(l)}i.trace=n}}},x.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=[])},x._hasPlotType=function(t){var e,r=this._basePlotModules||[];for(e=0;e<r.length;e++)if(r[e].name===t)return!0;var n=this._modules||[];for(e=0;e<n.length;e++){var i=n[e].name;if(i===t)return!0;var a=o.modules[i];if(a&&a.categories[t])return!0}return!1},x.cleanPlot=function(t,e,r,n){var i,a,o=n._basePlotModules||[];for(i=0;i<o.length;i++){var s=o[i];s.clean&&s.clean(t,e,r,n)}var l=n._has&&n._has("gl"),c=e._has&&e._has("gl");l&&!c&&void 0!==n._glcontainer&&(n._glcontainer.selectAll(".gl-canvas").remove(),n._glcontainer.selectAll(".no-webgl").remove(),n._glcanvas=null);var u=!!n._infolayer;t:for(i=0;i<r.length;i++){var f=r[i].uid;for(a=0;a<t.length;a++){if(f===t[a].uid)continue t}u&&n._infolayer.select(".cb"+f).remove()}},x.linkSubplots=function(t,e,r,n){var i,a,s=n._plots||{},l=e._plots={},u=e._subplots,f={_fullData:t,_fullLayout:e},p=u.cartesian.concat(u.gl2d||[]);for(i=0;i<p.length;i++){var d,g=p[i],m=s[g],v=h.getFromId(f,g,"x"),y=h.getFromId(f,g,"y");for(m?d=l[g]=m:(d=l[g]={}).id=g,v._counterAxes.push(y._id),y._counterAxes.push(v._id),v._subplotsWith.push(g),y._subplotsWith.push(g),d.xaxis=v,d.yaxis=y,d._hasClipOnAxisFalse=!1,a=0;a<t.length;a++){var x=t[a];if(x.xaxis===d.xaxis._id&&x.yaxis===d.yaxis._id&&!1===x.cliponaxis){d._hasClipOnAxisFalse=!0;break}}}var b,_=h.list(f,null,!0);for(i=0;i<_.length;i++){var w=null;(b=_[i]).overlaying&&(w=h.getFromId(f,b.overlaying))&&w.overlaying&&(b.overlaying=!1,w=null),b._mainAxis=w||b,w&&(b.domain=w.domain.slice()),b._anchorAxis="free"===b.anchor?null:h.getFromId(f,b.anchor)}for(i=0;i<_.length;i++)if((b=_[i])._counterAxes.sort(h.idSort),b._subplotsWith.sort(c.subplotSort),b._mainSubplot=M(b,e),b._counterAxes.length&&(b.spikemode&&-1!==b.spikemode.indexOf("across")||b.automargin&&b.mirror&&"free"!==b.anchor||o.getComponentMethod("rangeslider","isVisible")(b))){var T=1,k=0;for(a=0;a<b._counterAxes.length;a++){var A=h.getFromId(f,b._counterAxes[a]);T=Math.min(T,A.domain[0]),k=Math.max(k,A.domain[1])}T<k&&(b._counterDomainMin=T,b._counterDomainMax=k)}},x.clearExpandedTraceDefaultColors=function(t){var e,r,n;for(r=[],(e=t._module._colorAttrs)||(t._module._colorAttrs=e=[],s.crawl(t._module.attributes,(function(t,n,i,a){r[a]=n,r.length=a+1,"color"===t.valType&&void 0===t.dflt&&e.push(r.join("."))}))),n=0;n<e.length;n++){c.nestedProperty(t,"_input."+e[n]).get()||c.nestedProperty(t,e[n]).set(null)}},x.supplyDataDefaults=function(t,e,r,n){var i,a,s,u=n._modules,f=n._visibleModules,h=n._basePlotModules,p=0,d=0;function g(t){e.push(t);var r=t._module;r&&(c.pushUnique(u,r),!0===t.visible&&c.pushUnique(f,r),c.pushUnique(h,t._module.basePlotModule),p++,!1!==t._input.visible&&d++)}n._transformModules=[];var m={},y=[],b=(r.template||{}).data||{},_=l.traceTemplater(b);for(i=0;i<t.length;i++){if(s=t[i],(a=_.newTrace(s)).uid=n._traceUids[i],x.supplyTraceDefaults(s,a,d,n,i),a.index=i,a._input=s,a._expandedIndex=p,a.transforms&&a.transforms.length)for(var w=!1!==s.visible&&!1===a.visible,T=S(a,e,r,n),k=0;k<T.length;k++){var M=T[k],A={_template:a._template,type:a.type,uid:a.uid+k};w&&!1===M.visible&&delete M.visible,x.supplyTraceDefaults(M,A,p,n,i),v(A,M),A.index=i,A._input=s,A._fullInput=a,A._expandedIndex=p,A._expandedInput=M,g(A)}else a._fullInput=a,a._expandedInput=a,g(a);o.traceIs(a,"carpetAxis")&&(m[a.carpet]=a),o.traceIs(a,"carpetDependent")&&y.push(i)}for(i=0;i<y.length;i++)if((a=e[y[i]]).visible){var E=m[a.carpet];a._carpet=E,E&&E.visible?(a.xaxis=E.xaxis,a.yaxis=E.yaxis):a.visible=!1}},x.supplyAnimationDefaults=function(t){var e;t=t||{};var r={};function n(e,n){return c.coerce(t||{},r,d,e,n)}if(n("mode"),n("direction"),n("fromcurrent"),Array.isArray(t.frame))for(r.frame=[],e=0;e<t.frame.length;e++)r.frame[e]=x.supplyAnimationFrameDefaults(t.frame[e]||{});else r.frame=x.supplyAnimationFrameDefaults(t.frame||{});if(Array.isArray(t.transition))for(r.transition=[],e=0;e<t.transition.length;e++)r.transition[e]=x.supplyAnimationTransitionDefaults(t.transition[e]||{});else r.transition=x.supplyAnimationTransitionDefaults(t.transition||{});return r},x.supplyAnimationFrameDefaults=function(t){var e={};function r(r,n){return c.coerce(t||{},e,d.frame,r,n)}return r("duration"),r("redraw"),e},x.supplyAnimationTransitionDefaults=function(t){var e={};function r(r,n){return c.coerce(t||{},e,d.transition,r,n)}return r("duration"),r("easing"),e},x.supplyFrameDefaults=function(t){var e={};function r(r,n){return c.coerce(t,e,g,r,n)}return r("group"),r("name"),r("traces"),r("baseframe"),r("data"),r("layout"),e},x.supplyTraceDefaults=function(t,e,r,n,i){var a,s=n.colorway||u.defaults,l=s[r%s.length];function f(r,n){return c.coerce(t,e,x.attributes,r,n)}var h=f("visible");f("type"),f("name",n._traceWord+" "+i),f("uirevision",n.uirevision);var p=x.getModule(e);if(e._module=p,p){var d=p.basePlotModule,g=d.attr,m=d.attributes;if(g&&m){var v=n._subplots,y="";if(h||"gl2d"!==d.name){if(Array.isArray(g))for(a=0;a<g.length;a++){var b=g[a],_=c.coerce(t,e,m,b);v[b]&&c.pushUnique(v[b],_),y+=_}else y=c.coerce(t,e,m,g);v[d.name]&&c.pushUnique(v[d.name],y)}}}return h&&(f("customdata"),f("ids"),f("meta"),o.traceIs(e,"showLegend")?(c.coerce(t,e,p.attributes.showlegend?p.attributes:x.attributes,"showlegend"),f("legendgroup"),e._dfltShowLegend=!0):e._dfltShowLegend=!1,p&&p.supplyDefaults(t,e,l,n),o.traceIs(e,"noOpacity")||f("opacity"),o.traceIs(e,"notLegendIsolatable")&&(e.visible=!!e.visible),o.traceIs(e,"noHover")||(e.hovertemplate||c.coerceHoverinfo(t,e,n),"parcats"!==e.type&&o.getComponentMethod("fx","supplyDefaults")(t,e,l,n)),p&&p.selectPoints&&f("selectedpoints"),x.supplyTransformDefaults(t,e,n)),e},x.hasMakesDataTransform=A,x.supplyTransformDefaults=function(t,e,r){if(e._length||A(t)){var n=r._globalTransforms||[],i=r._transformModules||[];if(Array.isArray(t.transforms)||0!==n.length)for(var a=t.transforms||[],o=n.concat(a),s=e.transforms=[],l=0;l<o.length;l++){var u,f=o[l],h=f.type,p=b[h],d=!(f._module&&f._module===p),g=p&&"function"==typeof p.transform;p||c.warn("Unrecognized transform type "+h+"."),p&&p.supplyDefaults&&(d||g)?((u=p.supplyDefaults(f,e,r,t)).type=h,u._module=p,c.pushUnique(i,p)):u=c.extendFlat({},f),s.push(u)}}},x.supplyLayoutGlobalDefaults=function(t,e,r){function n(r,n){return c.coerce(t,e,x.layoutAttributes,r,n)}var i=t.template;c.isPlainObject(i)&&(e.template=i,e._template=i.layout,e._dataTemplate=i.data),n("autotypenumbers");var a=c.coerceFont(n,"font");n("title.text",e._dfltTitle.plot),c.coerceFont(n,"title.font",{family:a.family,size:Math.round(1.4*a.size),color:a.color}),n("title.xref"),n("title.yref"),n("title.x"),n("title.y"),n("title.xanchor"),n("title.yanchor"),n("title.pad.t"),n("title.pad.r"),n("title.pad.b"),n("title.pad.l"),n("uniformtext.mode")&&n("uniformtext.minsize"),n("autosize",!(t.width&&t.height)),n("width"),n("height"),n("margin.l"),n("margin.r"),n("margin.t"),n("margin.b"),n("margin.pad"),n("margin.autoexpand"),t.width&&t.height&&x.sanitizeMargins(e),o.getComponentMethod("grid","sizeDefaults")(t,e),n("paper_bgcolor"),n("separators",r.decimal+r.thousands),n("hidesources"),n("colorway"),n("datarevision");var s=n("uirevision");n("editrevision",s),n("selectionrevision",s),n("modebar.orientation"),n("modebar.bgcolor",u.addOpacity(e.paper_bgcolor,.5));var l=u.contrast(u.rgb(e.modebar.bgcolor));n("modebar.color",u.addOpacity(l,.3)),n("modebar.activecolor",u.addOpacity(l,.7)),n("modebar.uirevision",s),o.getComponentMethod("shapes","supplyDrawNewShapeDefaults")(t,e,n),n("meta"),c.isPlainObject(t.transition)&&(n("transition.duration"),n("transition.easing"),n("transition.ordering")),o.getComponentMethod("calendars","handleDefaults")(t,e,"calendar"),o.getComponentMethod("fx","supplyLayoutGlobalDefaults")(t,e,n)},x.plotAutoSize=function(t,e,r){var n,i,o=t._context||{},s=o.frameMargins,l=c.isPlotDiv(t);if(l&&t.emit("plotly_autosize"),o.fillFrame)n=window.innerWidth,i=window.innerHeight,document.body.style.overflow="hidden";else{var u=l?window.getComputedStyle(t):{};if(n=E(u.width)||E(u.maxWidth)||r.width,i=E(u.height)||E(u.maxHeight)||r.height,a(s)&&s>0){var f=1-2*s;n=Math.round(f*n),i=Math.round(f*i)}}var h=x.layoutAttributes.width.min,p=x.layoutAttributes.height.min;n<h&&(n=h),i<p&&(i=p);var d=!e.width&&Math.abs(r.width-n)>1,g=!e.height&&Math.abs(r.height-i)>1;(g||d)&&(d&&(r.width=n),g&&(r.height=i)),t._initialAutoSize||(t._initialAutoSize={width:n,height:i}),x.sanitizeMargins(r)},x.supplyLayoutModuleDefaults=function(t,e,r,n){var i,a,s,l=o.componentsRegistry,u=e._basePlotModules,f=o.subplotsRegistry.cartesian;for(i in l)(s=l[i]).includeBasePlot&&s.includeBasePlot(t,e);for(var h in u.length||u.push(f),e._has("cartesian")&&(o.getComponentMethod("grid","contentDefaults")(t,e),f.finalizeSubplots(t,e)),e._subplots)e._subplots[h].sort(c.subplotSort);for(a=0;a<u.length;a++)(s=u[a]).supplyLayoutDefaults&&s.supplyLayoutDefaults(t,e,r);var p=e._modules;for(a=0;a<p.length;a++)(s=p[a]).supplyLayoutDefaults&&s.supplyLayoutDefaults(t,e,r);var d=e._transformModules;for(a=0;a<d.length;a++)(s=d[a]).supplyLayoutDefaults&&s.supplyLayoutDefaults(t,e,r,n);for(i in l)(s=l[i]).supplyLayoutDefaults&&s.supplyLayoutDefaults(t,e,r)},x.purge=function(t){var e=t._fullLayout||{};void 0!==e._glcontainer&&(e._glcontainer.selectAll(".gl-canvas").remove(),e._glcontainer.remove(),e._glcanvas=null),e._modeBar&&e._modeBar.destroy(),t._transitionData&&(t._transitionData._interruptCallbacks&&(t._transitionData._interruptCallbacks.length=0),t._transitionData._animationRaf&&window.cancelAnimationFrame(t._transitionData._animationRaf)),c.clearThrottle(),c.clearResponsive(t),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._hmlumcount,delete t._hmpixcount,delete t._transitionData,delete t._transitioning,delete t._initialAutoSize,delete t._transitioningWithDuration,delete t._dragging,delete t._dragged,delete t._dragdata,delete t._hoverdata,delete t._snapshotInProgress,delete t._editing,delete t._mouseDownTime,delete t._legendMouseDownTime,t.removeAllListeners&&t.removeAllListeners()},x.style=function(t){var e,r=t._fullLayout._visibleModules,n=[];for(e=0;e<r.length;e++){var i=r[e];i.style&&c.pushUnique(n,i.style)}for(e=0;e<n.length;e++)n[e](t)},x.sanitizeMargins=function(t){if(t&&t.margin){var e,r=t.width,n=t.height,i=t.margin,a=r-(i.l+i.r),o=n-(i.t+i.b);a<0&&(e=(r-1)/(i.l+i.r),i.l=Math.floor(e*i.l),i.r=Math.floor(e*i.r)),o<0&&(e=(n-1)/(i.t+i.b),i.t=Math.floor(e*i.t),i.b=Math.floor(e*i.b))}},x.clearAutoMarginIds=function(t){t._fullLayout._pushmarginIds={}},x.allowAutoMargin=function(t,e){t._fullLayout._pushmarginIds[e]=1};x.autoMargin=function(t,e,r){var n=t._fullLayout,i=n.width,a=n.height,o=n.margin,s=c.constrain(i-o.l-o.r,2,64),l=c.constrain(a-o.t-o.b,2,64),u=Math.max(0,i-s),f=Math.max(0,a-l),h=n._pushmargin,p=n._pushmarginIds;if(!1!==o.autoexpand){if(r){var d=r.pad;if(void 0===d&&(d=Math.min(12,o.l,o.r,o.t,o.b)),u){var g=(r.l+r.r)/u;g>1&&(r.l/=g,r.r/=g)}if(f){var m=(r.t+r.b)/f;m>1&&(r.t/=m,r.b/=m)}var v=void 0!==r.xl?r.xl:r.x,y=void 0!==r.xr?r.xr:r.x,b=void 0!==r.yt?r.yt:r.y,_=void 0!==r.yb?r.yb:r.y;h[e]={l:{val:v,size:r.l+d},r:{val:y,size:r.r+d},b:{val:_,size:r.b+d},t:{val:b,size:r.t+d}},p[e]=1}else delete h[e],delete p[e];if(!n._replotting)return x.doAutoMargin(t)}},x.doAutoMargin=function(t){var e=t._fullLayout,r=e.width,n=e.height;e._size||(e._size={}),C(e);var i=e._size,s=e.margin,l=c.extendFlat({},i),u=s.l,f=s.r,p=s.t,d=s.b,g=e._pushmargin,m=e._pushmarginIds;if(!1!==e.margin.autoexpand){for(var v in g)m[v]||delete g[v];for(var y in g.base={l:{val:0,size:u},r:{val:1,size:f},t:{val:1,size:p},b:{val:0,size:d}},g){var b=g[y].l||{},_=g[y].b||{},w=b.val,T=b.size,k=_.val,M=_.size;for(var A in g){if(a(T)&&g[A].r){var S=g[A].r.val,E=g[A].r.size;if(S>w){var L=(T*S+(E-r)*w)/(S-w),I=(E*(1-w)+(T-r)*(1-S))/(S-w);L+I>u+f&&(u=L,f=I)}}if(a(M)&&g[A].t){var P=g[A].t.val,z=g[A].t.size;if(P>k){var O=(M*P+(z-n)*k)/(P-k),D=(z*(1-k)+(M-n)*(1-P))/(P-k);O+D>d+p&&(d=O,p=D)}}}}}var R=c.constrain(r-s.l-s.r,2,64),F=c.constrain(n-s.t-s.b,2,64),B=Math.max(0,r-R),N=Math.max(0,n-F);if(B){var j=(u+f)/B;j>1&&(u/=j,f/=j)}if(N){var U=(d+p)/N;U>1&&(d/=U,p/=U)}if(i.l=Math.round(u),i.r=Math.round(f),i.t=Math.round(p),i.b=Math.round(d),i.p=Math.round(s.pad),i.w=Math.round(r)-i.l-i.r,i.h=Math.round(n)-i.t-i.b,!e._replotting&&x.didMarginChange(l,i)){"_redrawFromAutoMarginCount"in e?e._redrawFromAutoMarginCount++:e._redrawFromAutoMarginCount=1;var V=3*(1+Object.keys(m).length);if(e._redrawFromAutoMarginCount<V)return o.call("plot",t);e._size=l,c.warn("Too many auto-margin redraws.")}!function(t){for(var e=h.list(t,"",!0),r=0;r<e.length;r++){var n=e[r]._hideOutOfRangeInsideTickLabels;n&&n()}}(t)};var L=["l","r","t","b","p","w","h"];function I(t,e,r){var n=!1;var i=[x.previousPromises,function(){if(t._transitionData)return t._transitioning=!1,function(t){var e=Promise.resolve();if(!t)return e;for(;t.length;)e=e.then(t.shift());return e}(t._transitionData._interruptCallbacks)},r.prepareFn,x.rehover,function(){return t.emit("plotly_transitioning",[]),new Promise((function(i){t._transitioning=!0,e.duration>0&&(t._transitioningWithDuration=!0),t._transitionData._interruptCallbacks.push((function(){n=!0})),r.redraw&&t._transitionData._interruptCallbacks.push((function(){return o.call("redraw",t)})),t._transitionData._interruptCallbacks.push((function(){t.emit("plotly_transitioninterrupted",[])}));var a=0,s=0;function l(){return a++,function(){s++,n||s!==a||function(e){if(!t._transitionData)return;(function(t){if(t)for(;t.length;)t.shift()})(t._transitionData._interruptCallbacks),Promise.resolve().then((function(){if(r.redraw)return o.call("redraw",t)})).then((function(){t._transitioning=!1,t._transitioningWithDuration=!1,t.emit("plotly_transitioned",[])})).then(e)}(i)}}r.runFn(l),setTimeout(l())}))}],a=c.syncOrAsync(i,t);return a&&a.then||(a=Promise.resolve()),a.then((function(){return t}))}x.didMarginChange=function(t,e){for(var r=0;r<L.length;r++){var n=L[r],i=t[n],o=e[n];if(!a(i)||Math.abs(o-i)>1)return!0}return!1},x.graphJson=function(t,e,r,n,i,a){(i&&e&&!t._fullData||i&&!e&&!t._fullLayout)&&x.supplyDefaults(t);var o=i?t._fullData:t.data,s=i?t._fullLayout:t.layout,l=(t._transitionData||{})._frames;function u(t,e){if("function"==typeof t)return e?"_function_":null;if(c.isPlainObject(t)){var n,i={};return Object.keys(t).sort().forEach((function(a){if(-1===["_","["].indexOf(a.charAt(0)))if("function"!=typeof t[a]){if("keepdata"===r){if("src"===a.substr(a.length-3))return}else if("keepstream"===r){if("string"==typeof(n=t[a+"src"])&&n.indexOf(":")>0&&!c.isPlainObject(t.stream))return}else if("keepall"!==r&&"string"==typeof(n=t[a+"src"])&&n.indexOf(":")>0)return;i[a]=u(t[a],e)}else e&&(i[a]="_function")})),i}return Array.isArray(t)?t.map((function(t){return u(t,e)})):c.isTypedArray(t)?c.simpleMap(t,c.identity):c.isJSDate(t)?c.ms2DateTimeLocal(+t):t}var f={data:(o||[]).map((function(t){var r=u(t);return e&&delete r.fit,r}))};if(!e&&(f.layout=u(s),i)){var h=s._size;f.layout.computed={margin:{b:h.b,l:h.l,r:h.r,t:h.t}}}return t.framework&&t.framework.isPolar&&(f=t.framework.getConfig()),l&&(f.frames=u(l)),a&&(f.config=u(t._context,!0)),"object"===n?f:JSON.stringify(f)},x.modifyFrames=function(t,e){var r,n,i,a=t._transitionData._frames,o=t._transitionData._frameHash;for(r=0;r<e.length;r++)switch((n=e[r]).type){case"replace":i=n.value;var s=(a[n.index]||{}).name,l=i.name;a[n.index]=o[l]=i,l!==s&&(delete o[s],o[l]=i);break;case"insert":o[(i=n.value).name]=i,a.splice(n.index,0,i);break;case"delete":delete o[(i=a[n.index]).name],a.splice(n.index,1)}return Promise.resolve()},x.computeFrame=function(t,e){var r,n,i,a,o=t._transitionData._frameHash;if(!e)throw new Error("computeFrame must be given a string frame name");var s=o[e.toString()];if(!s)return!1;for(var l=[s],c=[s.name];s.baseframe&&(s=o[s.baseframe.toString()])&&-1===c.indexOf(s.name);)l.push(s),c.push(s.name);for(var u={};s=l.pop();)if(s.layout&&(u.layout=x.extendLayout(u.layout,s.layout)),s.data){if(u.data||(u.data=[]),!(n=s.traces))for(n=[],r=0;r<s.data.length;r++)n[r]=r;for(u.traces||(u.traces=[]),r=0;r<s.data.length;r++)null!=(i=n[r])&&(-1===(a=u.traces.indexOf(i))&&(a=u.data.length,u.traces[a]=i),u.data[a]=x.extendTrace(u.data[a],s.data[r]))}return u},x.recomputeFrameHash=function(t){for(var e=t._transitionData._frameHash={},r=t._transitionData._frames,n=0;n<r.length;n++){var i=r[n];i&&i.name&&(e[i.name]=i)}},x.extendObjectWithContainers=function(t,e,r){var n,i,a,o,s,l,u,f=c.extendDeepNoArrays({},e||{}),h=c.expandObjectPaths(f),p={};if(r&&r.length)for(a=0;a<r.length;a++)void 0===(i=(n=c.nestedProperty(h,r[a])).get())?c.nestedProperty(p,r[a]).set(null):(n.set(null),c.nestedProperty(p,r[a]).set(i));if(t=c.extendDeepNoArrays(t||{},h),r&&r.length)for(a=0;a<r.length;a++)if(l=c.nestedProperty(p,r[a]).get()){for(u=(s=c.nestedProperty(t,r[a])).get(),Array.isArray(u)||(u=[],s.set(u)),o=0;o<l.length;o++){var d=l[o];u[o]=null===d?null:x.extendObjectWithContainers(u[o],d)}s.set(u)}return t},x.dataArrayContainers=["transforms","dimensions"],x.layoutArrayContainers=o.layoutArrayContainers,x.extendTrace=function(t,e){return x.extendObjectWithContainers(t,e,x.dataArrayContainers)},x.extendLayout=function(t,e){return x.extendObjectWithContainers(t,e,x.layoutArrayContainers)},x.transition=function(t,e,r,n,i,a){var o={redraw:i.redraw},s={},l=[];return o.prepareFn=function(){for(var i=Array.isArray(e)?e.length:0,a=n.slice(0,i),o=0;o<a.length;o++){var u=a[o],f=t._fullData[u]._module;if(f){if(f.animatable){var h=f.basePlotModule.name;s[h]||(s[h]=[]),s[h].push(u)}t.data[a[o]]=x.extendTrace(t.data[a[o]],e[o])}}var p=c.expandObjectPaths(c.extendDeepNoArrays({},r)),d=/^[xy]axis[0-9]*$/;for(var g in p)d.test(g)&&delete p[g].range;x.extendLayout(t.layout,p),delete t.calcdata,x.supplyDefaults(t),x.doCalcdata(t);var m=c.expandObjectPaths(r);if(m){var v=t._fullLayout._plots;for(var y in v){var b=v[y],_=b.xaxis,w=b.yaxis,T=_.range.slice(),k=w.range.slice(),M=null,A=null,S=null,E=null;Array.isArray(m[_._name+".range"])?M=m[_._name+".range"].slice():Array.isArray((m[_._name]||{}).range)&&(M=m[_._name].range.slice()),Array.isArray(m[w._name+".range"])?A=m[w._name+".range"].slice():Array.isArray((m[w._name]||{}).range)&&(A=m[w._name].range.slice()),T&&M&&(_.r2l(T[0])!==_.r2l(M[0])||_.r2l(T[1])!==_.r2l(M[1]))&&(S={xr0:T,xr1:M}),k&&A&&(w.r2l(k[0])!==w.r2l(A[0])||w.r2l(k[1])!==w.r2l(A[1]))&&(E={yr0:k,yr1:A}),(S||E)&&l.push(c.extendFlat({plotinfo:b},S,E))}}return Promise.resolve()},o.runFn=function(e){var n,i,o=t._fullLayout._basePlotModules,u=l.length;if(r)for(i=0;i<o.length;i++)o[i].transitionAxes&&o[i].transitionAxes(t,l,a,e);for(var f in u?((n=c.extendFlat({},a)).duration=0,delete s.cartesian):n=a,s){var h=s[f];t._fullData[h[0]]._module.basePlotModule.plot(t,h,n,e)}},I(t,a,o)},x.transitionFromReact=function(t,e,r,n){var i=t._fullLayout,a=i.transition,o={},s=[];return o.prepareFn=function(){var t=i._plots;for(var a in o.redraw=!1,"some"===e.anim&&(o.redraw=!0),"some"===r.anim&&(o.redraw=!0),t){var l=t[a],u=l.xaxis,f=l.yaxis,h=n[u._name].range.slice(),p=n[f._name].range.slice(),d=u.range.slice(),g=f.range.slice();u.setScale(),f.setScale();var m=null,v=null;u.r2l(h[0])===u.r2l(d[0])&&u.r2l(h[1])===u.r2l(d[1])||(m={xr0:h,xr1:d}),f.r2l(p[0])===f.r2l(g[0])&&f.r2l(p[1])===f.r2l(g[1])||(v={yr0:p,yr1:g}),(m||v)&&s.push(c.extendFlat({plotinfo:l},m,v))}return Promise.resolve()},o.runFn=function(r){for(var n,i,o,l=t._fullData,u=t._fullLayout._basePlotModules,f=[],h=0;h<l.length;h++)f.push(h);function p(){for(var e=0;e<u.length;e++)u[e].transitionAxes&&u[e].transitionAxes(t,s,n,r)}function d(){for(var e=0;e<u.length;e++)u[e].plot(t,o,i,r)}s.length&&e.anim?"traces first"===a.ordering?(n=c.extendFlat({},a,{duration:0}),o=f,i=a,setTimeout(p,a.duration),d()):(n=a,o=null,i=c.extendFlat({},a,{duration:0}),setTimeout(d,n.duration),p()):s.length?(n=a,p()):e.anim&&(o=f,i=a,d())},I(t,a,o)},x.doCalcdata=function(t,e){var r,n,i,a,l=h.list(t),u=t._fullData,p=t._fullLayout,d=new Array(u.length),g=(t.calcdata||[]).slice();for(t.calcdata=d,p._numBoxes=0,p._numViolins=0,p._violinScaleGroupStats={},t._hmpixcount=0,t._hmlumcount=0,p._piecolormap={},p._sunburstcolormap={},p._treemapcolormap={},p._funnelareacolormap={},i=0;i<u.length;i++)Array.isArray(e)&&-1===e.indexOf(i)&&(d[i]=g[i]);for(i=0;i<u.length;i++)(r=u[i])._arrayAttrs=s.findArrayAttributes(r),r._extremes={};var m=p._subplots.polar||[];for(i=0;i<m.length;i++)l.push(p[m[i]].radialaxis,p[m[i]].angularaxis);for(var v in p._colorAxes){var y=p[v];!1!==y.cauto&&(delete y.cmin,delete y.cmax)}var x=!1;function _(e){if(r=u[e],n=r._module,!0===r.visible&&r.transforms){if(n&&n.calc){var i=n.calc(t,r);i[0]&&i[0].t&&i[0].t._scene&&delete i[0].t._scene.dirty}for(a=0;a<r.transforms.length;a++){var o=r.transforms[a];(n=b[o.type])&&n.calcTransform&&(r._hasCalcTransform=!0,x=!0,n.calcTransform(t,r,o))}}}function w(e,i){if(r=u[e],!!(n=r._module).isContainer===i){var o=[];if(!0===r.visible&&0!==r._length){delete r._indexToPoints;var s=r.transforms||[];for(a=s.length-1;a>=0;a--)if(s[a].enabled){r._indexToPoints=s[a]._indexToPoints;break}n&&n.calc&&(o=n.calc(t,r))}Array.isArray(o)&&o[0]||(o=[{x:f,y:f}]),o[0].t||(o[0].t={}),o[0].trace=r,d[e]=o}}for(z(l,u,p),i=0;i<u.length;i++)w(i,!0);for(i=0;i<u.length;i++)_(i);for(x&&z(l,u,p),i=0;i<u.length;i++)w(i,!0);for(i=0;i<u.length;i++)w(i,!1);O(t);var T=function(t,e){var r,n,i,a,s,l=[];function u(t,r,n){var i=r._id.charAt(0);if("histogram2dcontour"===t){var a=r._counterAxes[0],o=h.getFromId(e,a),s="x"===i||"x"===a&&"category"===o.type,l="y"===i||"y"===a&&"category"===o.type;return function(t,e){return 0===t||0===e||s&&t===n[e].length-1||l&&e===n.length-1?-1:("y"===i?e:t)-1}}return function(t,e){return"y"===i?e:t}}var f={min:function(t){return c.aggNums(Math.min,null,t)},max:function(t){return c.aggNums(Math.max,null,t)},sum:function(t){return c.aggNums((function(t,e){return t+e}),null,t)},total:function(t){return c.aggNums((function(t,e){return t+e}),null,t)},mean:function(t){return c.mean(t)},median:function(t){return c.median(t)}};for(r=0;r<t.length;r++){var p=t[r];if("category"===p.type){var d=p.categoryorder.match(P);if(d){var g=d[1],m=d[2],v=p._id.charAt(0),y="x"===v,x=[];for(n=0;n<p._categories.length;n++)x.push([p._categories[n],[]]);for(n=0;n<p._traceIndices.length;n++){var b=p._traceIndices[n],_=e._fullData[b];if(!0===_.visible){var w=_.type;o.traceIs(_,"histogram")&&(delete _._xautoBinFinished,delete _._yautoBinFinished);var T="splom"===w,k="scattergl"===w,M=e.calcdata[b];for(i=0;i<M.length;i++){var A,S,E=M[i];if(T){var C=_._axesDim[p._id];if(!y){var L=_._diag[C][0];L&&(p=e._fullLayout[h.id2name(L)])}var I=E.trace.dimensions[C].values;for(a=0;a<I.length;a++)for(A=p._categoriesMap[I[a]],s=0;s<E.trace.dimensions.length;s++)if(s!==C){var z=E.trace.dimensions[s];x[A][1].push(z.values[a])}}else if(k){for(a=0;a<E.t.x.length;a++)y?(A=E.t.x[a],S=E.t.y[a]):(A=E.t.y[a],S=E.t.x[a]),x[A][1].push(S);E.t&&E.t._scene&&delete E.t._scene.dirty}else if(E.hasOwnProperty("z")){S=E.z;var O=u(_.type,p,S);for(a=0;a<S.length;a++)for(s=0;s<S[a].length;s++)(A=O(s,a))+1&&x[A][1].push(S[a][s])}else for(void 0===(A=E.p)&&(A=E[v]),void 0===(S=E.s)&&(S=E.v),void 0===S&&(S=y?E.y:E.x),Array.isArray(S)||(S=void 0===S?[]:[S]),a=0;a<S.length;a++)x[A][1].push(S[a])}}}p._categoriesValue=x;var D=[];for(n=0;n<x.length;n++)D.push([x[n][0],f[g](x[n][1])]);D.sort((function(t,e){return t[1]-e[1]})),p._categoriesAggregatedValue=D,p._initialCategories=D.map((function(t){return t[0]})),"descending"===m&&p._initialCategories.reverse(),l=l.concat(p.sortByInitialCategories())}}}return l}(l,t);if(T.length){for(p._numBoxes=0,p._numViolins=0,i=0;i<T.length;i++)w(T[i],!0);for(i=0;i<T.length;i++)w(T[i],!1);O(t)}o.getComponentMethod("fx","calc")(t),o.getComponentMethod("errorbars","calc")(t)};var P=/(total|sum|min|max|mean|median) (ascending|descending)/;function z(t,e,r){var n={};function i(t){t.clearCalc(),"multicategory"===t.type&&t.setupMultiCategory(e),n[t._id]=1}c.simpleMap(t,i);for(var a=r._axisMatchGroups||[],o=0;o<a.length;o++)for(var s in a[o])n[s]||i(r[h.id2name(s)])}function O(t){var e,r,n,i=t._fullLayout,a=i._visibleModules,o={};for(r=0;r<a.length;r++){var s=a[r],l=s.crossTraceCalc;if(l){var u=s.basePlotModule.name;o[u]?c.pushUnique(o[u],l):o[u]=[l]}}for(n in o){var f=o[n],h=i._subplots[n];if(Array.isArray(h))for(e=0;e<h.length;e++){var p=h[e],d="cartesian"===n?i._plots[p]:i[p];for(r=0;r<f.length;r++)f[r](t,d,p)}else for(r=0;r<f.length;r++)f[r](t)}}x.rehover=function(t){t._fullLayout._rehover&&t._fullLayout._rehover()},x.redrag=function(t){t._fullLayout._redrag&&t._fullLayout._redrag()},x.generalUpdatePerTraceModule=function(t,e,r,n){var i,a=e.traceHash,o={};for(i=0;i<r.length;i++){var s=r[i],l=s[0].trace;l.visible&&(o[l.type]=o[l.type]||[],o[l.type].push(s))}for(var u in a)if(!o[u]){var f=a[u][0];f[0].trace.visible=!1,o[u]=[f]}for(var h in o){var p=o[h];p[0][0].trace._module.plot(t,e,c.filterVisible(p),n)}e.traceHash=o},x.plotBasePlot=function(t,e,r,n,i){var a=o.getModule(t),s=m(e.calcdata,a)[0];a.plot(e,s,n,i)},x.cleanBasePlot=function(t,e,r,n,i){var a=i._has&&i._has(t),o=r._has&&r._has(t);a&&!o&&i["_"+t+"layer"].selectAll("g.trace").remove()}},{"../components/color":643,"../constants/numerical":753,"../lib":778,"../plot_api/plot_schema":816,"../plot_api/plot_template":817,"../plots/get_data":865,"../registry":911,"./animation_attributes":822,"./attributes":824,"./cartesian/axis_ids":831,"./cartesian/handle_outline":838,"./command":854,"./font_attributes":856,"./frame_attributes":857,"./layout_attributes":882,d3:169,"d3-time-format":166,"fast-isnumeric":241}],892:[function(t,e,r){"use strict";e.exports={attr:"subplot",name:"polar",axisNames:["angularaxis","radialaxis"],axisName2dataArray:{angularaxis:"theta",radialaxis:"r"},layerNames:["draglayer","plotbg","backplot","angular-grid","radial-grid","frontplot","angular-line","radial-line","angular-axis","radial-axis"],radialDragBoxSize:50,angularDragBoxSize:30,cornerLen:25,cornerHalfWidth:2,MINDRAG:8,MINZOOM:20,OFFEDGE:20}},{}],893:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../lib/polygon").tester,a=n.findIndexOfMin,o=n.isAngleInsideSector,s=n.angleDelta,l=n.angleDist;function c(t,e,r,n){var i,a,o=n[0],s=n[1],l=f(Math.sin(e)-Math.sin(t)),c=f(Math.cos(e)-Math.cos(t)),u=Math.tan(r),h=f(1/u),p=l/c,d=s-p*o;return h?l&&c?a=u*(i=d/(u-p)):c?(i=s*h,a=s):(i=o,a=o*u):l&&c?(i=0,a=d):c?(i=0,a=s):i=a=NaN,[i,a]}function u(t,e,r,i){return n.isFullCircle([e,r])?function(t,e){var r,n=e.length,i=new Array(n+1);for(r=0;r<n;r++){var a=e[r];i[r]=[t*Math.cos(a),t*Math.sin(a)]}return i[r]=i[0].slice(),i}(t,i):function(t,e,r,i){var s,u,f=i.length,h=[];function p(e){return[t*Math.cos(e),t*Math.sin(e)]}function d(t,e,r){return c(t,e,r,p(t))}function g(t){return n.mod(t,f)}function m(t){return o(t,[e,r])}var v=a(i,(function(t){return m(t)?l(t,e):1/0})),y=d(i[v],i[g(v-1)],e);for(h.push(y),s=v,u=0;u<f;s++,u++){var x=i[g(s)];if(!m(x))break;h.push(p(x))}var b=a(i,(function(t){return m(t)?l(t,r):1/0})),_=d(i[b],i[g(b+1)],r);return h.push(_),h.push([0,0]),h.push(h[0].slice()),h}(t,e,r,i)}function f(t){return Math.abs(t)>1e-10?t:0}function h(t,e,r){e=e||0,r=r||0;for(var n=t.length,i=new Array(n),a=0;a<n;a++){var o=t[a];i[a]=[e+o[0],r-o[1]]}return i}e.exports={isPtInsidePolygon:function(t,e,r,n,a){if(!o(e,n))return!1;var s,l;r[0]<r[1]?(s=r[0],l=r[1]):(s=r[1],l=r[0]);var c=i(u(s,n[0],n[1],a)),f=i(u(l,n[0],n[1],a)),h=[t*Math.cos(e),t*Math.sin(e)];return f.contains(h)&&!c.contains(h)},findPolygonOffset:function(t,e,r,n){for(var i=1/0,a=1/0,o=u(t,e,r,n),s=0;s<o.length;s++){var l=o[s];i=Math.min(i,l[0]),a=Math.min(a,-l[1])}return[i,a]},findEnclosingVertexAngles:function(t,e){var r=a(e,(function(e){var r=s(e,t);return r>0?r:1/0})),i=n.mod(r+1,e.length);return[e[r],e[i]]},findIntersectionXY:c,findXYatLength:function(t,e,r,n){var i=-e*r,a=e*e+1,o=2*(e*i-r),s=i*i+r*r-t*t,l=Math.sqrt(o*o-4*a*s),c=(-o+l)/(2*a),u=(-o-l)/(2*a);return[[c,e*c+i+n],[u,e*u+i+n]]},clampTiny:f,pathPolygon:function(t,e,r,n,i,a){return"M"+h(u(t,e,r,n),i,a).join("L")},pathPolygonAnnulus:function(t,e,r,n,i,a,o){var s,l;t<e?(s=t,l=e):(s=e,l=t);var c=h(u(s,r,n,i),a,o);return"M"+h(u(l,r,n,i),a,o).reverse().join("L")+"M"+c.join("L")}}},{"../../lib":778,"../../lib/polygon":790}],894:[function(t,e,r){"use strict";var n=t("../get_data").getSubplotCalcData,i=t("../../lib").counterRegex,a=t("./polar"),o=t("./constants"),s=o.attr,l=o.name,c=i(l),u={};u[s]={valType:"subplotid",dflt:l,editType:"calc"},e.exports={attr:s,name:l,idRoot:l,idRegex:c,attrRegex:c,attributes:u,layoutAttributes:t("./layout_attributes"),supplyLayoutDefaults:t("./layout_defaults"),plot:function(t){for(var e=t._fullLayout,r=t.calcdata,i=e._subplots[l],o=0;o<i.length;o++){var s=i[o],c=n(r,l,s),u=e[s]._subplot;u||(u=a(t,s),e[s]._subplot=u),u.plot(c,e,t._promises)}},clean:function(t,e,r,n){for(var i=n._subplots[l]||[],a=n._has&&n._has("gl"),o=e._has&&e._has("gl"),s=a&&!o,c=0;c<i.length;c++){var u=i[c],f=n[u]._subplot;if(!e[u]&&f)for(var h in f.framework.remove(),f.layers["radial-axis-title"].remove(),f.clipPaths)f.clipPaths[h].remove();s&&f._scene&&(f._scene.destroy(),f._scene=null)}},toSVG:t("../cartesian").toSVG}},{"../../lib":778,"../cartesian":841,"../get_data":865,"./constants":892,"./layout_attributes":895,"./layout_defaults":896,"./polar":903}],895:[function(t,e,r){"use strict";var n=t("../../components/color/attributes"),i=t("../cartesian/layout_attributes"),a=t("../domain").attributes,o=t("../../lib").extendFlat,s=t("../../plot_api/edit_types").overrideAll,l=s({color:i.color,showline:o({},i.showline,{dflt:!0}),linecolor:i.linecolor,linewidth:i.linewidth,showgrid:o({},i.showgrid,{dflt:!0}),gridcolor:i.gridcolor,gridwidth:i.gridwidth},"plot","from-root"),c=s({tickmode:i.tickmode,nticks:i.nticks,tick0:i.tick0,dtick:i.dtick,tickvals:i.tickvals,ticktext:i.ticktext,ticks:i.ticks,ticklen:i.ticklen,tickwidth:i.tickwidth,tickcolor:i.tickcolor,showticklabels:i.showticklabels,showtickprefix:i.showtickprefix,tickprefix:i.tickprefix,showticksuffix:i.showticksuffix,ticksuffix:i.ticksuffix,showexponent:i.showexponent,exponentformat:i.exponentformat,minexponent:i.minexponent,separatethousands:i.separatethousands,tickfont:i.tickfont,tickangle:i.tickangle,tickformat:i.tickformat,tickformatstops:i.tickformatstops,layer:i.layer},"plot","from-root"),u={visible:o({},i.visible,{dflt:!0}),type:o({},i.type,{values:["-","linear","log","date","category"]}),autotypenumbers:i.autotypenumbers,autorange:o({},i.autorange,{editType:"plot"}),rangemode:{valType:"enumerated",values:["tozero","nonnegative","normal"],dflt:"tozero",editType:"calc"},range:o({},i.range,{items:[{valType:"any",editType:"plot",impliedEdits:{"^autorange":!1}},{valType:"any",editType:"plot",impliedEdits:{"^autorange":!1}}],editType:"plot"}),categoryorder:i.categoryorder,categoryarray:i.categoryarray,angle:{valType:"angle",editType:"plot"},side:{valType:"enumerated",values:["clockwise","counterclockwise"],dflt:"clockwise",editType:"plot"},title:{text:o({},i.title.text,{editType:"plot",dflt:""}),font:o({},i.title.font,{editType:"plot"}),editType:"plot"},hoverformat:i.hoverformat,uirevision:{valType:"any",editType:"none"},editType:"calc",_deprecated:{title:i._deprecated.title,titlefont:i._deprecated.titlefont}};o(u,l,c);var f={visible:o({},i.visible,{dflt:!0}),type:{valType:"enumerated",values:["-","linear","category"],dflt:"-",editType:"calc",_noTemplating:!0},autotypenumbers:i.autotypenumbers,categoryorder:i.categoryorder,categoryarray:i.categoryarray,thetaunit:{valType:"enumerated",values:["radians","degrees"],dflt:"degrees",editType:"calc"},period:{valType:"number",editType:"calc",min:0},direction:{valType:"enumerated",values:["counterclockwise","clockwise"],dflt:"counterclockwise",editType:"calc"},rotation:{valType:"angle",editType:"calc"},hoverformat:i.hoverformat,uirevision:{valType:"any",editType:"none"},editType:"calc"};o(f,l,c),e.exports={domain:a({name:"polar",editType:"plot"}),sector:{valType:"info_array",items:[{valType:"number",editType:"plot"},{valType:"number",editType:"plot"}],dflt:[0,360],editType:"plot"},hole:{valType:"number",min:0,max:1,dflt:0,editType:"plot"},bgcolor:{valType:"color",editType:"plot",dflt:n.background},radialaxis:u,angularaxis:f,gridshape:{valType:"enumerated",values:["circular","linear"],dflt:"circular",editType:"plot"},uirevision:{valType:"any",editType:"none"},editType:"calc"}},{"../../components/color/attributes":642,"../../lib":778,"../../plot_api/edit_types":810,"../cartesian/layout_attributes":842,"../domain":855}],896:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../components/color"),a=t("../../plot_api/plot_template"),o=t("../subplot_defaults"),s=t("../get_data").getSubplotData,l=t("../cartesian/tick_value_defaults"),c=t("../cartesian/tick_mark_defaults"),u=t("../cartesian/tick_label_defaults"),f=t("../cartesian/category_order_defaults"),h=t("../cartesian/line_grid_defaults"),p=t("../cartesian/axis_autotype"),d=t("./layout_attributes"),g=t("./set_convert"),m=t("./constants"),v=m.axisNames;function y(t,e,r,o){var p=r("bgcolor");o.bgColor=i.combine(p,o.paper_bgcolor);var y=r("sector");r("hole");var b,_=s(o.fullData,m.name,o.id),w=o.layoutOut;function T(t,e){return r(b+"."+t,e)}for(var k=0;k<v.length;k++){b=v[k],n.isPlainObject(t[b])||(t[b]={});var M=t[b],A=a.newContainer(e,b);A._id=A._name=b,A._attr=o.id+"."+b,A._traceIndices=_.map((function(t){return t._expandedIndex}));var S=m.axisName2dataArray[b],E=x(M,A,T,_,S,o);f(M,A,T,{axData:_,dataAttr:S});var C,L,I=T("visible");switch(g(A,e,w),T("uirevision",e.uirevision),I&&(L=(C=T("color"))===M.color?C:o.font.color),A._m=1,b){case"radialaxis":var P=T("autorange",!A.isValidRange(M.range));M.autorange=P,!P||"linear"!==E&&"-"!==E||T("rangemode"),"reversed"===P&&(A._m=-1),T("range"),A.cleanRange("range",{dfltRange:[0,1]}),I&&(T("side"),T("angle",y[0]),T("title.text"),n.coerceFont(T,"title.font",{family:o.font.family,size:Math.round(1.2*o.font.size),color:L}));break;case"angularaxis":if("date"===E){n.log("Polar plots do not support date angular axes yet.");for(var z=0;z<_.length;z++)_[z].visible=!1;E=M.type=A.type="linear"}T("linear"===E?"thetaunit":"period");var O=T("direction");T("rotation",{counterclockwise:0,clockwise:90}[O])}if(I)l(M,A,T,A.type),u(M,A,T,A.type,{tickSuffixDflt:"degrees"===A.thetaunit?"\xb0":void 0}),c(M,A,T,{outerTicks:!0}),T("showticklabels")&&(n.coerceFont(T,"tickfont",{family:o.font.family,size:o.font.size,color:L}),T("tickangle"),T("tickformat")),h(M,A,T,{dfltColor:C,bgColor:o.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:d[b]}),T("layer");"category"!==E&&T("hoverformat"),A._input=M}"category"===e.angularaxis.type&&r("gridshape")}function x(t,e,r,n,i,a){var o=r("autotypenumbers",a.autotypenumbersDflt);if("-"===r("type")){for(var s,l=0;l<n.length;l++)if(n[l].visible){s=n[l];break}s&&s[i]&&(e.type=p(s[i],"gregorian",{noMultiCategory:!0,autotypenumbers:o})),"-"===e.type?e.type="linear":t.type=e.type}return e.type}e.exports=function(t,e,r){o(t,e,r,{type:m.name,attributes:d,handleDefaults:y,font:e.font,autotypenumbersDflt:e.autotypenumbers,paper_bgcolor:e.paper_bgcolor,fullData:r,layoutOut:e})}},{"../../components/color":643,"../../lib":778,"../../plot_api/plot_template":817,"../cartesian/axis_autotype":829,"../cartesian/category_order_defaults":832,"../cartesian/line_grid_defaults":844,"../cartesian/tick_label_defaults":849,"../cartesian/tick_mark_defaults":850,"../cartesian/tick_value_defaults":851,"../get_data":865,"../subplot_defaults":905,"./constants":892,"./layout_attributes":895,"./set_convert":904}],897:[function(t,e,r){"use strict";var n=t("../../../traces/scatter/attributes"),i=n.marker,a=t("../../../lib/extend").extendFlat;["Area traces are deprecated!","Please switch to the *barpolar* trace type."].join(" ");e.exports={r:a({},n.r,{}),t:a({},n.t,{}),marker:{color:a({},i.color,{}),size:a({},i.size,{}),symbol:a({},i.symbol,{}),opacity:a({},i.opacity,{}),editType:"calc"}}},{"../../../lib/extend":768,"../../../traces/scatter/attributes":1187}],898:[function(t,e,r){"use strict";var n=t("../../cartesian/layout_attributes"),i=t("../../../lib/extend").extendFlat,a=t("../../../plot_api/edit_types").overrideAll,o=["Legacy polar charts are deprecated!","Please switch to *polar* subplots."].join(" "),s=i({},n.domain,{});function l(t,e){return i({},e,{showline:{valType:"boolean"},showticklabels:{valType:"boolean"},tickorientation:{valType:"enumerated",values:["horizontal","vertical"]},ticklen:{valType:"number",min:0},tickcolor:{valType:"color"},ticksuffix:{valType:"string"},endpadding:{valType:"number",description:o},visible:{valType:"boolean"}})}e.exports=a({radialaxis:l(0,{range:{valType:"info_array",items:[{valType:"number"},{valType:"number"}]},domain:s,orientation:{valType:"number"}}),angularaxis:l(0,{range:{valType:"info_array",items:[{valType:"number",dflt:0},{valType:"number",dflt:360}]},domain:s}),layout:{direction:{valType:"enumerated",values:["clockwise","counterclockwise"]},orientation:{valType:"angle"}}},"plot","nested")},{"../../../lib/extend":768,"../../../plot_api/edit_types":810,"../../cartesian/layout_attributes":842}],899:[function(t,e,r){"use strict";(e.exports=t("./micropolar")).manager=t("./micropolar_manager")},{"./micropolar":900,"./micropolar_manager":901}],900:[function(t,e,r){var n=t("d3"),i=t("../../../lib").extendDeepAll,a=t("../../../constants/alignment").MID_SHIFT,o=e.exports={version:"0.2.2"};o.Axis=function(){var t,e,r,s,l={data:[],layout:{}},c={},u={},f=n.dispatch("hover"),h={};return h.render=function(c){return function(c){e=c||e;var f=l.data,h=l.layout;("string"==typeof e||e.nodeName)&&(e=n.select(e)),e.datum(f).each((function(e,l){var c=e.slice();u={data:o.util.cloneJson(c),layout:o.util.cloneJson(h)};var f=0;c.forEach((function(t,e){t.color||(t.color=h.defaultColorRange[f],f=(f+1)%h.defaultColorRange.length),t.strokeColor||(t.strokeColor="LinePlot"===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=c.filter((function(t,e){var r=t.visible;return"undefined"==typeof r||!0===r})),d=!1,g=p.map((function(t,e){return d=d||"undefined"!=typeof t.groupId,t}));if(d){var m=n.nest().key((function(t,e){return"undefined"!=typeof t.groupId?t.groupId:"unstacked"})).entries(g),v=[],y=m.map((function(t,e){if("unstacked"===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];d?b=[0,n.max(o.util.sumArrays(o.util.arrayLast(p).r[0],o.util.arrayLast(v)))]:b=n.extent(o.util.flattenArray(p.map((function(t,e){return t.r}))));h.radialAxis.domain!=o.DATAEXTENT&&(b[0]=0),r=n.scale.linear().domain(h.radialAxis.domain!=o.DATAEXTENT&&h.radialAxis.domain?h.radialAxis.domain:b).range([0,x]),u.layout.radialAxis.domain=r.domain();var w,T=o.util.flattenArray(p.map((function(t,e){return t.t}))),k="string"==typeof T[0];k&&(T=o.util.deduplicate(T),w=T.slice(),T=n.range(T.length),p=p.map((function(t,e){var r=t;return t.t=[T],d&&(r.yStack=t.yStack),r})));var M=p.filter((function(t,e){return"LinePlot"===t.geometry||"DotPlot"===t.geometry})).length===p.length,A=null===h.needsEndSpacing?k||!M:h.needsEndSpacing,S=h.angularAxis.domain&&h.angularAxis.domain!=o.DATAEXTENT&&!k&&h.angularAxis.domain[0]>=0?h.angularAxis.domain:n.extent(T),E=Math.abs(T[1]-T[0]);M&&!k&&(E=0);var C=S.slice();A&&k&&(C[1]+=E);var L=h.angularAxis.ticksCount||4;L>8&&(L=L/(L/8)+L%8),h.angularAxis.ticksStep&&(L=(C[1]-C[0])/L);var I=h.angularAxis.ticksStep||(C[1]-C[0])/(L*(h.minorTicks+1));w&&(I=Math.max(Math.round(I),1)),C[2]||(C[2]=I);var P=n.range.apply(this,C);if(P=P.map((function(t,e){return parseFloat(t.toPrecision(12))})),s=n.scale.linear().domain(C.slice(0,2)).range("clockwise"===h.direction?[0,360]:[360,0]),u.layout.angularAxis.domain=s.domain(),u.layout.angularAxis.endPadding=A?E:0,"undefined"==typeof(t=n.select(this).select("svg.chart-root"))||t.empty()){var z=(new DOMParser).parseFromString("<svg xmlns='http://www.w3.org/2000/svg' class='chart-root'>' + '<g class='outer-group'>' + '<g class='chart-group'>' + '<circle class='background-circle'></circle>' + '<g class='geometry-group'></g>' + '<g class='radial axis-group'>' + '<circle class='outside-circle'></circle>' + '</g>' + '<g class='angular axis-group'></g>' + '<g class='guides-group'><line></line><circle r='0'></circle></g>' + '</g>' + '<g class='legend-group'></g>' + '<g class='tooltips-group'></g>' + '<g class='title-group'><text></text></g>' + '</g>' + '</svg>","application/xml"),O=this.appendChild(this.ownerDocument.importNode(z.documentElement,!0));t=n.select(O)}t.select(".guides-group").style({"pointer-events":"none"}),t.select(".angular.axis-group").style({"pointer-events":"none"}),t.select(".radial.axis-group").style({"pointer-events":"none"});var D,R=t.select(".chart-group"),F={fill:"none",stroke:h.tickColor},B={"font-size":h.font.size,"font-family":h.font.family,fill:h.font.color,"text-shadow":["-1px 0px","1px -1px","-1px 1px","1px 1px"].map((function(t,e){return" "+t+" 0 "+h.font.outlineColor})).join(",")};if(h.showLegend){D=t.select(".legend-group").attr({transform:"translate("+[x,h.margin.top]+")"}).style({display:"block"});var N=p.map((function(t,e){var r=o.util.cloneJson(t);return r.symbol="DotPlot"===t.geometry?t.dotType||"circle":"LinePlot"!=t.geometry?"square":"line",r.visibleInLegend="undefined"==typeof t.visibleInLegend||t.visibleInLegend,r.color="LinePlot"===t.geometry?t.strokeColor:t.color,r}));o.Legend().config({data:p.map((function(t,e){return t.name||"Element"+e})),legendConfig:i({},o.Legend.defaultConfig().legendConfig,{container:D,elements:N,reverseOrder:h.legend.reverseOrder})})();var j=D.node().getBBox();x=Math.min(h.width-j.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(),D.attr("transform","translate("+[_[0]+x,_[1]-x]+")")}else D=t.select(".legend-group").style({display:"none"});t.attr({width:h.width,height:h.height}).style({opacity:h.opacity}),R.attr("transform","translate("+_+")").style({cursor:"crosshair"});var U=[(h.width-(h.margin.left+h.margin.right+2*x+(j?j.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(".outer-group").attr("transform","translate("+U+")"),h.title&&h.title.text){var V=t.select("g.title-group text").style(B).text(h.title.text),q=V.node().getBBox();V.attr({x:_[0]-q.width/2,y:_[1]-x-20})}var H=t.select(".radial.axis-group");if(h.radialAxis.gridLinesVisible){var G=H.selectAll("circle.grid-circle").data(r.ticks(5));G.enter().append("circle").attr({class:"grid-circle"}).style(F),G.attr("r",r),G.exit().remove()}H.select("circle.outside-circle").attr({r:x}).style(F);var Y=t.select("circle.background-circle").attr({r:x}).style({fill:h.backgroundColor,stroke:h.stroke});function W(t,e){return s(t)%360+h.orientation}if(h.radialAxis.visible){var X=n.svg.axis().scale(r).ticks(5).tickSize(5);H.call(X).attr({transform:"rotate("+h.radialAxis.orientation+")"}),H.selectAll(".domain").style(F),H.selectAll("g>text").text((function(t,e){return this.textContent+h.radialAxis.ticksSuffix})).style(B).style({"text-anchor":"start"}).attr({x:0,y:0,dx:0,dy:0,transform:function(t,e){return"horizontal"===h.radialAxis.tickOrientation?"rotate("+-h.radialAxis.orientation+") translate("+[0,B["font-size"]]+")":"translate("+[0,B["font-size"]]+")"}}),H.selectAll("g>line").style({stroke:"black"})}var Z=t.select(".angular.axis-group").selectAll("g.angular-tick").data(P),J=Z.enter().append("g").classed("angular-tick",!0);Z.attr({transform:function(t,e){return"rotate("+W(t)+")"}}).style({display:h.angularAxis.visible?"block":"none"}),Z.exit().remove(),J.append("line").classed("grid-line",!0).classed("major",(function(t,e){return e%(h.minorTicks+1)==0})).classed("minor",(function(t,e){return!(e%(h.minorTicks+1)==0)})).style(F),J.selectAll(".minor").style({stroke:h.minorTickColor}),Z.select("line.grid-line").attr({x1:h.tickLength?x-h.tickLength:0,x2:x}).style({display:h.angularAxis.gridLinesVisible?"block":"none"}),J.append("text").classed("axis-text",!0).style(B);var K=Z.select("text.axis-text").attr({x:x+h.labelOffset,dy:a+"em",transform:function(t,e){var r=W(t),n=x+h.labelOffset,i=h.angularAxis.tickOrientation;return"horizontal"==i?"rotate("+-r+" "+n+" 0)":"radial"==i?r<270&&r>90?"rotate(180 "+n+" 0)":null:"rotate("+(r<=180&&r>0?-90:90)+" "+n+" 0)"}}).style({"text-anchor":"middle",display:h.angularAxis.labelsVisible?"block":"none"}).text((function(t,e){return e%(h.minorTicks+1)!=0?"":w?w[t]+h.angularAxis.ticksSuffix:t+h.angularAxis.ticksSuffix})).style(B);h.angularAxis.rewriteTicks&&K.text((function(t,e){return e%(h.minorTicks+1)!=0?"":h.angularAxis.rewriteTicks(this.textContent,e)}));var Q=n.max(R.selectAll(".angular-tick text")[0].map((function(t,e){return t.getCTM().e+t.getBBox().width})));D.attr({transform:"translate("+[x+Q,h.margin.top]+")"});var $=t.select("g.geometry-group").selectAll("g").size()>0,tt=t.select("g.geometry-group").selectAll("g.geometry").data(p);if(tt.enter().append("g").attr({class:function(t,e){return"geometry geometry"+e}}),tt.exit().remove(),p[0]||$){var et=[];p.forEach((function(t,e){var n={};n.radialScale=r,n.angularScale=s,n.container=tt.filter((function(t,r){return r==e})),n.geometry=t.geometry,n.orientation=h.orientation,n.direction=h.direction,n.index=e,et.push({data:t,geometryConfig:n})}));var rt=n.nest().key((function(t,e){return"undefined"!=typeof t.data.groupId||"unstacked"})).entries(et),nt=[];rt.forEach((function(t,e){"unstacked"===t.key?nt=nt.concat(t.values.map((function(t,e){return[t]}))):nt.push(t.values)})),nt.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 it,at,ot=t.select(".guides-group"),st=t.select(".tooltips-group"),lt=o.tooltipPanel().config({container:st,fontSize:8})(),ct=o.tooltipPanel().config({container:st,fontSize:8})(),ut=o.tooltipPanel().config({container:st,hasTick:!0})();if(!k){var ft=ot.select("line").attr({x1:0,y1:0,y2:0}).style({stroke:"grey","pointer-events":"none"});R.on("mousemove.angular-guide",(function(t,e){var r=o.util.getMousePos(Y).angle;ft.attr({x2:-x,transform:"rotate("+r+")"}).style({opacity:.5});var n=(r+180+360-h.orientation)%360;it=s.invert(n);var i=o.util.convertToCartesian(x+12,r+180);lt.text(o.util.round(it)).move([i[0]+_[0],i[1]+_[1]])})).on("mouseout.angular-guide",(function(t,e){ot.select("line").style({opacity:0})}))}var ht=ot.select("circle").style({stroke:"grey",fill:"none"});R.on("mousemove.radial-guide",(function(t,e){var n=o.util.getMousePos(Y).radius;ht.attr({r:n}).style({opacity:.5}),at=r.invert(o.util.getMousePos(Y).radius);var i=o.util.convertToCartesian(n,h.radialAxis.orientation);ct.text(o.util.round(at)).move([i[0]+_[0],i[1]+_[1]])})).on("mouseout.radial-guide",(function(t,e){ht.style({opacity:0}),ut.hide(),lt.hide(),ct.hide()})),t.selectAll(".geometry-group .mark").on("mouseover.tooltip",(function(e,r){var i=n.select(this),a=this.style.fill,s="black",l=this.style.opacity||1;if(i.attr({"data-opacity":l}),a&&"none"!==a){i.attr({"data-fill":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&&(c.t=w[e[0]]);var u="t: "+c.t+", r: "+c.r,f=this.getBoundingClientRect(),h=t.node().getBoundingClientRect(),p=[f.left+f.width/2-U[0]-h.left,f.top+f.height/2-U[1]-h.top];ut.config({color:s}).text(u),ut.move(p)}else a=this.style.stroke||"black",i.attr({"data-stroke":a}),s=n.hsl(a).darker().toString(),i.style({stroke:s,opacity:1})})).on("mousemove.tooltip",(function(t,e){if(0!=n.event.which)return!1;n.select(this).attr("data-fill")&&ut.show()})).on("mouseout.tooltip",(function(t,e){ut.hide();var r=n.select(this),i=r.attr("data-fill");i?r.style({fill:i,opacity:r.attr("data-opacity")}):r.style({stroke:r.attr("data-stroke"),opacity:r.attr("data-opacity")})}))}))}(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,"on"),h},o.Axis.defaultConfig=function(t,e){return{data:[{t:[1,2,3,4],r:[10,11,12,13],name:"Line1",geometry:"LinePlot",color:null,strokeDash:"solid",strokeColor:null,strokeSize:"1",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:"gray",outlineColor:"white",family:"Tahoma, sans-serif"},direction:"clockwise",orientation:0,labelOffset:10,radialAxis:{domain:null,orientation:-45,ticksSuffix:"",visible:!0,gridLinesVisible:!0,tickOrientation:"horizontal",rewriteTicks:null},angularAxis:{domain:[0,360],ticksSuffix:"",visible:!0,gridLinesVisible:!0,labelsVisible:!0,tickOrientation:"horizontal",rewriteTicks:null,ticksCount:null,ticksStep:null},minorTicks:0,tickLength:null,tickColor:"silver",minorTickColor:"#eee",backgroundColor:"none",needsEndSpacing:null,showLegend:!0,legend:{reverseOrder:!1},opacity:1}}},o.util={},o.DATAEXTENT="dataExtent",o.AREA="AreaChart",o.LINE="LinePlot",o.DOT="DotPlot",o.BAR="BarChart",o.util._override=function(t,e){for(var r in t)r in e&&(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&&(s.name=r),s},o.util.ensureArray=function(t,e){if("undefined"==typeof 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){"string"==typeof e&&(e=e.split("."));var r=e.shift();return t[r]&&(!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-- >=0&&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<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("undefined"!=typeof t)return t[e]}),t);"undefined"!=typeof a&&(e.reduce((function(t,r,n){if("undefined"!=typeof t)return n===e.length-1&&delete t[r],t[r]}),t),r.reduce((function(t,e,n){return"undefined"==typeof t[e]&&(t[e]={}),n===r.length-1&&(t[e]=a),t[e]}),t))},o.PolyChart=function(){var t=[o.PolyChart.defaultConfig()],e=n.dispatch("hover"),r={solid:"none",dash:[5,2],dot:[2,5]};function a(){var e=t[0].geometryConfig,i=e.container;"string"==typeof i&&(i=n.select(i)),i.datum(t).each((function(t,i){var a=!!t[0].data.yStack,o=t.map((function(t,e){return a?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=e.angularScale,l=e.radialScale.domain()[0],c={bar:function(r,i,a){var o=t[a].data,l=e.radialScale(r[1])-e.radialScale(0),c=e.radialScale(r[2]||0),u=o.barWidth;n.select(this).attr({class:"mark bar",d:"M"+[[l+c,-u/2],[l+c,u/2],[c,u/2],[c,-u/2]].join("L")+"Z",transform:function(t,r){return"rotate("+(e.orientation+s(t[0]))+")"}})}};c.dot=function(r,i,a){var o=r[2]?[r[0],r[1]+r[2]]:r,s=n.svg.symbol().size(t[a].data.dotSize).type(t[a].data.dotType)(r,i);n.select(this).attr({class:"mark dot",d:s,transform:function(t,r){var n,i,a,s=(n=function(t,r){var n=e.radialScale(t[1]),i=(e.angularScale(t[0])+e.orientation)*Math.PI/180;return{r:n,t:i}}(o),i=n.r*Math.cos(n.t),a=n.r*Math.sin(n.t),{x:i,y:a});return"translate("+[s.x,s.y]+")"}})};var u=n.svg.line.radial().interpolate(t[0].data.lineInterpolation).radius((function(t){return e.radialScale(t[1])})).angle((function(t){return e.angularScale(t[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(e,r){return+t[a].data.dotVisible},fill:d.stroke(r,i,a)}).attr({class:"mark dot"}),!(i>0)){var l=n.select(this.parentNode).selectAll("path.line").data([0]);l.enter().insert("path"),l.attr({class:"line",d:u(s),transform:function(t,r){return"rotate("+(e.orientation+90)+")"},"pointer-events":"none"}).style({fill:function(t,e){return d.fill(r,i,a)},"fill-opacity":0,stroke:function(t,e){return d.stroke(r,i,a)},"stroke-width":function(t,e){return d["stroke-width"](r,i,a)},"stroke-dasharray":function(t,e){return d["stroke-dasharray"](r,i,a)},opacity:function(t,e){return d.opacity(r,i,a)},display:function(t,e){return d.display(r,i,a)}})}};var f=e.angularScale.range(),h=Math.abs(f[1]-f[0])/o[0].length*Math.PI/180,p=n.svg.arc().startAngle((function(t){return-h/2})).endAngle((function(t){return h/2})).innerRadius((function(t){return e.radialScale(l+(t[2]||0))})).outerRadius((function(t){return e.radialScale(l+(t[2]||0))+e.radialScale(t[1])}));c.arc=function(t,r,i){n.select(this).attr({class:"mark arc",d:p,transform:function(t,r){return"rotate("+(e.orientation+s(t[0])+90)+")"}})};var d={fill:function(e,r,n){return t[n].data.color},stroke:function(e,r,n){return t[n].data.strokeColor},"stroke-width":function(e,r,n){return t[n].data.strokeSize+"px"},"stroke-dasharray":function(e,n,i){return r[t[i].data.strokeDash]},opacity:function(e,r,n){return t[n].data.opacity},display:function(e,r,n){return"undefined"==typeof t[n].data.visible||t[n].data.visible?"block":"none"}},g=n.select(this).selectAll("g.layer").data(o);g.enter().append("g").attr({class:"layer"});var m=g.selectAll("path.mark").data((function(t,e){return t}));m.enter().append("path").attr({class:"mark"}),m.style(d).each(c[e.geometryType]),m.exit().remove(),g.exit().remove()}))}return a.config=function(e){return arguments.length?(e.forEach((function(e,r){t[r]||(t[r]={}),i(t[r],o.PolyChart.defaultConfig()),i(t[r],e)})),this):t},a.getColorScale=function(){},n.rebind(a,e,"on"),a},o.PolyChart.defaultConfig=function(){return{data:{name:"geom1",t:[[1,2,3,4]],r:[[1,2,3,4]],dotType:"circle",dotSize:64,dotVisible:!1,barWidth:20,color:"#ffa500",strokeSize:1,strokeColor:"silver",strokeDash:"solid",opacity:1,index:0,visible:!0,visibleInLegend:!0},geometryConfig:{geometry:"LinePlot",geometryType:"arc",direction:"clockwise",orientation:0,container:"body",radialScale:null,angularScale:null,colorScale:n.scale.category20()}}},o.BarChart=function(){return o.PolyChart()},o.BarChart.defaultConfig=function(){return{geometryConfig:{geometryType:"bar"}}},o.AreaChart=function(){return o.PolyChart()},o.AreaChart.defaultConfig=function(){return{geometryConfig:{geometryType:"arc"}}},o.DotPlot=function(){return o.PolyChart()},o.DotPlot.defaultConfig=function(){return{geometryConfig:{geometryType:"dot",dotType:"circle"}}},o.LinePlot=function(){return o.PolyChart()},o.LinePlot.defaultConfig=function(){return{geometryConfig:{geometryType:"line"}}},o.Legend=function(){var t=o.Legend.defaultConfig(),e=n.dispatch("hover");function r(){var e=t.legendConfig,a=t.data.map((function(t,r){return[].concat(t).map((function(t,n){var a=i({},e.elements[r]);return a.name=t,a.color=[].concat(e.elements[r].color)[n],a}))})),o=n.merge(a);o=o.filter((function(t,r){return e.elements[r]&&(e.elements[r].visibleInLegend||"undefined"==typeof e.elements[r].visibleInLegend)})),e.reverseOrder&&(o=o.reverse());var s=e.container;("string"==typeof s||s.nodeName)&&(s=n.select(s));var l=o.map((function(t,e){return t.color})),c=e.fontSize,u=null==e.isContinuous?"number"==typeof o[0]:e.isContinuous,f=u?e.height:c*o.length,h=s.classed("legend-group",!0).selectAll("svg").data([0]),p=h.enter().append("svg").attr({width:300,height:f+c,xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",version:"1.1"});p.append("g").classed("legend-axis",!0),p.append("g").classed("legend-marks",!0);var d=n.range(o.length),g=n.scale[u?"linear":"ordinal"]().domain(d).range(l),m=n.scale[u?"linear":"ordinal"]().domain(d)[u?"range":"rangePoints"]([0,f]);if(u){var v=h.select(".legend-marks").append("defs").append("linearGradient").attr({id:"grad1",x1:"0%",y1:"0%",x2:"0%",y2:"100%"}).selectAll("stop").data(l);v.enter().append("stop"),v.attr({offset:function(t,e){return e/(l.length-1)*100+"%"}}).style({"stop-color":function(t,e){return t}}),h.append("rect").classed("legend-mark",!0).attr({height:e.height,width:e.colorBandWidth,fill:"url(#grad1)"})}else{var y=h.select(".legend-marks").selectAll("path.legend-mark").data(o);y.enter().append("path").classed("legend-mark",!0),y.attr({transform:function(t,e){return"translate("+[c/2,m(e)+c/2]+")"},d:function(t,e){var r,i,a,o=t.symbol;return a=3*(i=c),"line"===(r=o)?"M"+[[-i/2,-i/12],[i/2,-i/12],[i/2,i/12],[-i/2,i/12]]+"Z":-1!=n.svg.symbolTypes.indexOf(r)?n.svg.symbol().type(r).size(a)():n.svg.symbol().type("square").size(a)()},fill:function(t,e){return g(e)}}),y.exit().remove()}var x=n.svg.axis().scale(m).orient("right"),b=h.select("g.legend-axis").attr({transform:"translate("+[u?e.colorBandWidth:c,c/2]+")"}).call(x);return b.selectAll(".domain").style({fill:"none",stroke:"none"}),b.selectAll("line").style({fill:"none",stroke:u?e.textColor:"none"}),b.selectAll("text").style({fill:e.textColor,"font-size":e.fontSize}).text((function(t,e){return o[e].name})),r}return r.config=function(e){return arguments.length?(i(t,e),this):t},n.rebind(r,e,"on"),r},o.Legend.defaultConfig=function(t,e){return{data:["a","b","c"],legendConfig:{elements:[{symbol:"line",color:"red"},{symbol:"square",color:"yellow"},{symbol:"diamond",color:"limegreen"}],height:150,colorBandWidth:30,fontSize:12,container:"body",isContinuous:null,textColor:"grey",reverseOrder:!1}}},o.tooltipPanel=function(){var t,e,r,a={container:null,hasTick:!1,fontSize:12,color:"white",padding:5},s="tooltip-"+o.tooltipPanel.uid++,l=10,c=function(){var n=(t=a.container.selectAll("g."+s).data([0])).enter().append("g").classed(s,!0).style({"pointer-events":"none",display:"none"});return r=n.append("path").style({fill:"white","fill-opacity":.9}).attr({d:"M0 0"}),e=n.append("text").attr({dx:a.padding+l,dy:.3*+a.fontSize}),c};return c.text=function(i){var o=n.hsl(a.color).l,s=o>=.5?"#aaa":"white",u=o>=.5?"black":"white",f=i||"";e.style({fill:u,"font-size":a.fontSize+"px"}).text(f);var h=a.padding,p=e.node().getBBox(),d={fill:a.color,stroke:s,"stroke-width":"2px"},g=p.width+2*h+l,m=p.height+2*h;return r.attr({d:"M"+[[l,-m/2],[l,-m/4],[a.hasTick?0:l,0],[l,m/4],[l,m/2],[g,m/2],[g,-m/2]].join("L")+"Z"}).style(d),t.attr({transform:"translate("+[l,-m/2+2*h]+")"}),t.style({display:"block"}),c},c.move=function(e){if(t)return t.attr({transform:"translate("+[e[0],e[1]]+")"}).style({display:"block"}),c},c.hide=function(){if(t)return t.style({display:"none"}),c},c.show=function(){if(t)return t.style({display:"block"}),c},c.config=function(t){return i(a,t),c},c},o.tooltipPanel.uid=1,o.adapter={},o.adapter.plotly=function(){var t={convert:function(t,e){var r={};if(t.data&&(r.data=t.data.map((function(t,r){var n=i({},t);return[[n,["marker","color"],["color"]],[n,["marker","opacity"],["opacity"]],[n,["marker","line","color"],["strokeColor"]],[n,["marker","line","dash"],["strokeDash"]],[n,["marker","line","width"],["strokeSize"]],[n,["marker","symbol"],["dotType"]],[n,["marker","size"],["dotSize"]],[n,["marker","barWidth"],["barWidth"]],[n,["line","interpolation"],["lineInterpolation"]],[n,["showlegend"],["visibleInLegend"]]].forEach((function(t,r){o.util.translator.apply(null,t.concat(e))})),e||delete n.marker,e&&delete n.groupId,e?("LinePlot"===n.geometry?(n.type="scatter",!0===n.dotVisible?(delete n.dotVisible,n.mode="lines+markers"):n.mode="lines"):"DotPlot"===n.geometry?(n.type="scatter",n.mode="markers"):"AreaChart"===n.geometry?n.type="area":"BarChart"===n.geometry&&(n.type="bar"),delete n.geometry):("scatter"===n.type?"lines"===n.mode?n.geometry="LinePlot":"markers"===n.mode?n.geometry="DotPlot":"lines+markers"===n.mode&&(n.geometry="LinePlot",n.dotVisible=!0):"area"===n.type?n.geometry="AreaChart":"bar"===n.type&&(n.geometry="BarChart"),delete n.mode,delete n.type),n})),!e&&t.layout&&"stack"===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&&(r.data[e].groupId=n)}))}if(t.layout){var s=i({},t.layout);if([[s,["plot_bgcolor"],["backgroundColor"]],[s,["showlegend"],["showLegend"]],[s,["radialaxis"],["radialAxis"]],[s,["angularaxis"],["angularAxis"]],[s.angularaxis,["showline"],["gridLinesVisible"]],[s.angularaxis,["showticklabels"],["labelsVisible"]],[s.angularaxis,["nticks"],["ticksCount"]],[s.angularaxis,["tickorientation"],["tickOrientation"]],[s.angularaxis,["ticksuffix"],["ticksSuffix"]],[s.angularaxis,["range"],["domain"]],[s.angularaxis,["endpadding"],["endPadding"]],[s.radialaxis,["showline"],["gridLinesVisible"]],[s.radialaxis,["tickorientation"],["tickOrientation"]],[s.radialaxis,["ticksuffix"],["ticksSuffix"]],[s.radialaxis,["range"],["domain"]],[s.angularAxis,["showline"],["gridLinesVisible"]],[s.angularAxis,["showticklabels"],["labelsVisible"]],[s.angularAxis,["nticks"],["ticksCount"]],[s.angularAxis,["tickorientation"],["tickOrientation"]],[s.angularAxis,["ticksuffix"],["ticksSuffix"]],[s.angularAxis,["range"],["domain"]],[s.angularAxis,["endpadding"],["endPadding"]],[s.radialAxis,["showline"],["gridLinesVisible"]],[s.radialAxis,["tickorientation"],["tickOrientation"]],[s.radialAxis,["ticksuffix"],["ticksSuffix"]],[s.radialAxis,["range"],["domain"]],[s.font,["outlinecolor"],["outlineColor"]],[s.legend,["traceorder"],["reverseOrder"]],[s,["labeloffset"],["labelOffset"]],[s,["defaultcolorrange"],["defaultColorRange"]]].forEach((function(t,r){o.util.translator.apply(null,t.concat(e))})),e?("undefined"!=typeof s.tickLength&&(s.angularaxis.ticklen=s.tickLength,delete s.tickLength),s.tickColor&&(s.angularaxis.tickcolor=s.tickColor,delete s.tickColor)):(s.angularAxis&&"undefined"!=typeof s.angularAxis.ticklen&&(s.tickLength=s.angularAxis.ticklen),s.angularAxis&&"undefined"!=typeof s.angularAxis.tickcolor&&(s.tickColor=s.angularAxis.tickcolor)),s.legend&&"boolean"!=typeof s.legend.reverseOrder&&(s.legend.reverseOrder="normal"!=s.legend.reverseOrder),s.legend&&"boolean"==typeof s.legend.traceorder&&(s.legend.traceorder=s.legend.traceorder?"reversed":"normal",delete s.legend.reverseOrder),s.margin&&"undefined"!=typeof s.margin.t){var l=["t","r","b","l","pad"],c=["top","right","bottom","left","pad"],u={};n.entries(s.margin).forEach((function(t,e){u[c[l.indexOf(t.key)]]=t.value})),s.margin=u}e&&(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}};return t}},{"../../../constants/alignment":745,"../../../lib":778,d3:169}],901:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../../lib"),a=t("../../../components/color"),o=t("./micropolar"),s=t("./undo_manager"),l=i.extendDeepAll,c=e.exports={};c.framework=function(t){var e,r,i,a,u,f=new s;function h(r,s){return s&&(u=s),n.select(n.select(u).node().parentNode).selectAll(".svg-container>*:not(.chart-root)").remove(),e=e?l(e,r):r,i||(i=o.Axis()),a=o.adapter.plotly().convert(e),i.config(a).render(u),t.data=e.data,t.layout=e.layout,c.fillLayout(t),e}return h.isPolar=!0,h.svg=function(){return i.svg()},h.getConfig=function(){return e},h.getLiveConfig=function(){return o.adapter.plotly().convert(i.getLiveConfig(),!0)},h.getLiveScales=function(){return{t:i.angularScale(),r:i.radialScale()}},h.setUndoPoint=function(){var t,n,i=this,a=o.util.cloneJson(e);t=a,n=r,f.add({undo:function(){n&&i(n)},redo:function(){i(t)}}),r=o.util.cloneJson(a)},h.undo=function(){f.undo()},h.redo=function(){f.redo()},h},c.fillLayout=function(t){var e=n.select(t).selectAll(".plot-container"),r=e.selectAll(".svg-container"),i=t.framework&&t.framework.svg&&t.framework.svg(),o={width:800,height:600,paper_bgcolor:a.background,_container:e,_paperdiv:r,_paper:i};t._fullLayout=l(o,t.layout)}},{"../../../components/color":643,"../../../lib":778,"./micropolar":900,"./undo_manager":902,d3:169}],902:[function(t,e,r){"use strict";e.exports=function(){var t,e=[],r=-1,n=!1;function i(t,e){return t?(n=!0,t[e](),n=!1,this):this}return{add:function(t){return n||(e.splice(r+1,e.length-r),e.push(t),r=e.length-1),this},setCallback:function(e){t=e},undo:function(){var n=e[r];return n?(i(n,"undo"),r-=1,t&&t(n.undo),this):this},redo:function(){var n=e[r+1];return n?(i(n,"redo"),r+=1,t&&t(n.redo),this):this},clear:function(){e=[],r=-1},hasUndo:function(){return-1!==r},hasRedo:function(){return r<e.length-1},getCommands:function(){return e},getPreviousCommand:function(){return e[r-1]},getIndex:function(){return r}}}},{}],903:[function(t,e,r){"use strict";var n=t("d3"),i=t("tinycolor2"),a=t("../../registry"),o=t("../../lib"),s=o.strRotate,l=o.strTranslate,c=t("../../components/color"),u=t("../../components/drawing"),f=t("../plots"),h=t("../../plots/cartesian/axes"),p=t("../cartesian/set_convert"),d=t("./set_convert"),g=t("../cartesian/autorange").doAutoRange,m=t("../cartesian/dragbox"),v=t("../../components/dragelement"),y=t("../../components/fx"),x=t("../../components/titles"),b=t("../cartesian/select").prepSelect,_=t("../cartesian/select").selectOnClick,w=t("../cartesian/select").clearSelect,T=t("../../lib/setcursor"),k=t("../../lib/clear_gl_canvases"),M=t("../../plot_api/subroutines").redrawReglTraces,A=t("../../constants/alignment").MID_SHIFT,S=t("./constants"),E=t("./helpers"),C=o._,L=o.mod,I=o.deg2rad,P=o.rad2deg;function z(t,e){this.id=e,this.gd=t,this._hasClipOnAxisFalse=null,this.vangles=null,this.radialAxisAngle=null,this.traceHash={},this.layers={},this.clipPaths={},this.clipIds={},this.viewInitial={};var r=t._fullLayout,n="clip"+r._uid+e;this.clipIds.forTraces=n+"-for-traces",this.clipPaths.forTraces=r._clips.append("clipPath").attr("id",this.clipIds.forTraces),this.clipPaths.forTraces.append("path"),this.framework=r._polarlayer.append("g").attr("class",e),this.radialTickLayout=null,this.angularTickLayout=null}var O=z.prototype;function D(t){var e=t.ticks+String(t.ticklen)+String(t.showticklabels);return"side"in t&&(e+=t.side),e}function R(t,e){return e[o.findIndexOfMin(e,(function(e){return o.angleDist(t,e)}))]}function F(t,e,r){return e?(t.attr("display",null),t.attr(r)):t&&t.attr("display","none"),t}e.exports=function(t,e){return new z(t,e)},O.plot=function(t,e){var r=e[this.id];this._hasClipOnAxisFalse=!1;for(var n=0;n<t.length;n++){if(!1===t[n][0].trace.cliponaxis){this._hasClipOnAxisFalse=!0;break}}this.updateLayers(e,r),this.updateLayout(e,r),f.generalUpdatePerTraceModule(this.gd,this,t,r),this.updateFx(e,r)},O.updateLayers=function(t,e){var r=this.layers,i=e.radialaxis,a=e.angularaxis,o=S.layerNames,s=o.indexOf("frontplot"),l=o.slice(0,s),c="below traces"===a.layer,u="below traces"===i.layer;c&&l.push("angular-line"),u&&l.push("radial-line"),c&&l.push("angular-axis"),u&&l.push("radial-axis"),l.push("frontplot"),c||l.push("angular-line"),u||l.push("radial-line"),c||l.push("angular-axis"),u||l.push("radial-axis");var f=this.framework.selectAll(".polarsublayer").data(l,String);f.enter().append("g").attr("class",(function(t){return"polarsublayer "+t})).each((function(t){var e=r[t]=n.select(this);switch(t){case"frontplot":e.append("g").classed("barlayer",!0),e.append("g").classed("scatterlayer",!0);break;case"backplot":e.append("g").classed("maplayer",!0);break;case"plotbg":r.bg=e.append("path");break;case"radial-grid":case"angular-grid":e.style("fill","none");break;case"radial-line":e.append("line").style("fill","none");break;case"angular-line":e.append("path").style("fill","none")}})),f.order()},O.updateLayout=function(t,e){var r=this.layers,n=t._size,i=e.radialaxis,a=e.angularaxis,o=e.domain.x,s=e.domain.y;this.xOffset=n.l+n.w*o[0],this.yOffset=n.t+n.h*(1-s[1]);var f=this.xLength=n.w*(o[1]-o[0]),h=this.yLength=n.h*(s[1]-s[0]),p=e.sector;this.sectorInRad=p.map(I);var d,g,m,v,y,x=this.sectorBBox=function(t){var e,r,n,i,a=t[0],o=t[1]-a,s=L(a,360),l=s+o,c=Math.cos(I(s)),u=Math.sin(I(s)),f=Math.cos(I(l)),h=Math.sin(I(l));i=s<=90&&l>=90||s>90&&l>=450?1:u<=0&&h<=0?0:Math.max(u,h);e=s<=180&&l>=180||s>180&&l>=540?-1:c>=0&&f>=0?0:Math.min(c,f);r=s<=270&&l>=270||s>270&&l>=630?-1:u>=0&&h>=0?0:Math.min(u,h);n=l>=360?1:c<=0&&f<=0?0:Math.max(c,f);return[e,r,n,i]}(p),b=x[2]-x[0],_=x[3]-x[1],w=h/f,T=Math.abs(_/b);w>T?(d=f,y=(h-(g=f*T))/n.h/2,m=[o[0],o[1]],v=[s[0]+y,s[1]-y]):(g=h,y=(f-(d=h/T))/n.w/2,m=[o[0]+y,o[1]-y],v=[s[0],s[1]]),this.xLength2=d,this.yLength2=g,this.xDomain2=m,this.yDomain2=v;var k=this.xOffset2=n.l+n.w*m[0],M=this.yOffset2=n.t+n.h*(1-v[1]),A=this.radius=d/b,S=this.innerRadius=e.hole*A,E=this.cx=k-A*x[0],C=this.cy=M+A*x[3],P=this.cxx=E-k,z=this.cyy=C-M;this.radialAxis=this.mockAxis(t,e,i,{_id:"x",side:{counterclockwise:"top",clockwise:"bottom"}[i.side],_realSide:i.side,domain:[S/n.w,A/n.w]}),this.angularAxis=this.mockAxis(t,e,a,{side:"right",domain:[0,Math.PI],autorange:!1}),this.doAutoRange(t,e),this.updateAngularAxis(t,e),this.updateRadialAxis(t,e),this.updateRadialAxisTitle(t,e),this.xaxis=this.mockCartesianAxis(t,e,{_id:"x",domain:m}),this.yaxis=this.mockCartesianAxis(t,e,{_id:"y",domain:v});var O=this.pathSubplot();this.clipPaths.forTraces.select("path").attr("d",O).attr("transform",l(P,z)),r.frontplot.attr("transform",l(k,M)).call(u.setClipUrl,this._hasClipOnAxisFalse?null:this.clipIds.forTraces,this.gd),r.bg.attr("d",O).attr("transform",l(E,C)).call(c.fill,e.bgcolor)},O.mockAxis=function(t,e,r,n){var i=o.extendFlat({},r,n);return d(i,e,t),i},O.mockCartesianAxis=function(t,e,r){var n=this,i=r._id,a=o.extendFlat({type:"linear"},r);p(a,t);var s={x:[0,2],y:[1,3]};return a.setRange=function(){var t=n.sectorBBox,r=s[i],o=n.radialAxis._rl,l=(o[1]-o[0])/(1-e.hole);a.range=[t[r[0]]*l,t[r[1]]*l]},a.isPtWithinRange="x"===i?function(t){return n.isPtInside(t)}:function(){return!0},a.setRange(),a.setScale(),a},O.doAutoRange=function(t,e){var r=this.gd,n=this.radialAxis,i=e.radialaxis;n.setScale(),g(r,n);var a=n.range;i.range=a.slice(),i._input.range=a.slice(),n._rl=[n.r2l(a[0],null,"gregorian"),n.r2l(a[1],null,"gregorian")]},O.updateRadialAxis=function(t,e){var r=this,n=r.gd,i=r.layers,a=r.radius,u=r.innerRadius,f=r.cx,p=r.cy,d=e.radialaxis,g=L(e.sector[0],360),m=r.radialAxis,v=u<a;r.fillViewInitialKey("radialaxis.angle",d.angle),r.fillViewInitialKey("radialaxis.range",m.range.slice()),m.setGeometry(),"auto"===m.tickangle&&g>90&&g<=270&&(m.tickangle=180);var y=function(t){return l(m.l2p(t.x)+u,0)},x=D(d);if(r.radialTickLayout!==x&&(i["radial-axis"].selectAll(".xtick").remove(),r.radialTickLayout=x),v){m.setScale();var b=h.calcTicks(m),_=h.clipEnds(m,b),w=h.getTickSigns(m)[2];h.drawTicks(n,m,{vals:b,layer:i["radial-axis"],path:h.makeTickPath(m,0,w),transFn:y,crisp:!1}),h.drawGrid(n,m,{vals:_,layer:i["radial-grid"],path:function(t){return r.pathArc(m.r2p(t.x)+u)},transFn:o.noop,crisp:!1}),h.drawLabels(n,m,{vals:b,layer:i["radial-axis"],transFn:y,labelFns:h.makeLabelFns(m,0)})}var T=r.radialAxisAngle=r.vangles?P(R(I(d.angle),r.vangles)):d.angle,k=l(f,p),M=k+s(-T);F(i["radial-axis"],v&&(d.showticklabels||d.ticks),{transform:M}),F(i["radial-grid"],v&&d.showgrid,{transform:k}),F(i["radial-line"].select("line"),v&&d.showline,{x1:u,y1:0,x2:a,y2:0,transform:M}).attr("stroke-width",d.linewidth).call(c.stroke,d.linecolor)},O.updateRadialAxisTitle=function(t,e,r){var n=this.gd,i=this.radius,a=this.cx,o=this.cy,s=e.radialaxis,l=this.id+"title",c=void 0!==r?r:this.radialAxisAngle,f=I(c),h=Math.cos(f),p=Math.sin(f),d=0;if(s.title){var g=u.bBox(this.layers["radial-axis"].node()).height,m=s.title.font.size;d="counterclockwise"===s.side?-g-.4*m:g+.8*m}this.layers["radial-axis-title"]=x.draw(n,l,{propContainer:s,propName:this.id+".radialaxis.title",placeholder:C(n,"Click to enter radial axis title"),attributes:{x:a+i/2*h+d*p,y:o-i/2*p+d*h,"text-anchor":"middle"},transform:{rotate:-c}})},O.updateAngularAxis=function(t,e){var r=this,n=r.gd,i=r.layers,a=r.radius,u=r.innerRadius,f=r.cx,p=r.cy,d=e.angularaxis,g=r.angularAxis;r.fillViewInitialKey("angularaxis.rotation",d.rotation),g.setGeometry(),g.setScale();var m=function(t){return g.t2g(t.x)};"linear"===g.type&&"radians"===g.thetaunit&&(g.tick0=P(g.tick0),g.dtick=P(g.dtick));var v=function(t){return l(f+a*Math.cos(t),p-a*Math.sin(t))},y=h.makeLabelFns(g,0).labelStandoff,x={xFn:function(t){var e=m(t);return Math.cos(e)*y},yFn:function(t){var e=m(t),r=Math.sin(e)>0?.2:1;return-Math.sin(e)*(y+t.fontSize*r)+Math.abs(Math.cos(e))*(t.fontSize*A)},anchorFn:function(t){var e=m(t),r=Math.cos(e);return Math.abs(r)<.1?"middle":r>0?"start":"end"},heightFn:function(t,e,r){var n=m(t);return-.5*(1+Math.sin(n))*r}},b=D(d);r.angularTickLayout!==b&&(i["angular-axis"].selectAll("."+g._id+"tick").remove(),r.angularTickLayout=b);var _,w=h.calcTicks(g);if("linear"===e.gridshape?(_=w.map(m),o.angleDelta(_[0],_[1])<0&&(_=_.slice().reverse())):_=null,r.vangles=_,"category"===g.type&&(w=w.filter((function(t){return o.isAngleInsideSector(m(t),r.sectorInRad)}))),g.visible){var T="inside"===g.ticks?-1:1,k=(g.linewidth||1)/2;h.drawTicks(n,g,{vals:w,layer:i["angular-axis"],path:"M"+T*k+",0h"+T*g.ticklen,transFn:function(t){var e=m(t);return v(e)+s(-P(e))},crisp:!1}),h.drawGrid(n,g,{vals:w,layer:i["angular-grid"],path:function(t){var e=m(t),r=Math.cos(e),n=Math.sin(e);return"M"+[f+u*r,p-u*n]+"L"+[f+a*r,p-a*n]},transFn:o.noop,crisp:!1}),h.drawLabels(n,g,{vals:w,layer:i["angular-axis"],repositionOnUpdate:!0,transFn:function(t){return v(m(t))},labelFns:x})}F(i["angular-line"].select("path"),d.showline,{d:r.pathSubplot(),transform:l(f,p)}).attr("stroke-width",d.linewidth).call(c.stroke,d.linecolor)},O.updateFx=function(t,e){this.gd._context.staticPlot||(this.updateAngularDrag(t),this.updateRadialDrag(t,e,0),this.updateRadialDrag(t,e,1),this.updateMainDrag(t))},O.updateMainDrag=function(t){var e,r,s=this,c=s.gd,u=s.layers,f=t._zoomlayer,h=S.MINZOOM,p=S.OFFEDGE,d=s.radius,g=s.innerRadius,x=s.cx,T=s.cy,k=s.cxx,M=s.cyy,A=s.sectorInRad,C=s.vangles,L=s.radialAxis,I=E.clampTiny,P=E.findXYatLength,z=E.findEnclosingVertexAngles,O=S.cornerHalfWidth,D=S.cornerLen/2,R=m.makeDragger(u,"path","maindrag","crosshair");n.select(R).attr("d",s.pathSubplot()).attr("transform",l(x,T));var F,B,N,j,U,V,q,H,G,Y={element:R,gd:c,subplot:s.id,plotinfo:{id:s.id,xaxis:s.xaxis,yaxis:s.yaxis},xaxes:[s.xaxis],yaxes:[s.yaxis]};function W(t,e){return Math.sqrt(t*t+e*e)}function X(t,e){return W(t-k,e-M)}function Z(t,e){return Math.atan2(M-e,t-k)}function J(t,e){return[t*Math.cos(e),t*Math.sin(-e)]}function K(t,e){if(0===t)return s.pathSector(2*O);var r=D/t,n=e-r,i=e+r,a=Math.max(0,Math.min(t,d)),o=a-O,l=a+O;return"M"+J(o,n)+"A"+[o,o]+" 0,0,0 "+J(o,i)+"L"+J(l,i)+"A"+[l,l]+" 0,0,1 "+J(l,n)+"Z"}function Q(t,e,r){if(0===t)return s.pathSector(2*O);var n,i,a=J(t,e),o=J(t,r),l=I((a[0]+o[0])/2),c=I((a[1]+o[1])/2);if(l&&c){var u=c/l,f=-1/u,h=P(O,u,l,c);n=P(D,f,h[0][0],h[0][1]),i=P(D,f,h[1][0],h[1][1])}else{var p,d;c?(p=D,d=O):(p=O,d=D),n=[[l-p,c-d],[l+p,c-d]],i=[[l-p,c+d],[l+p,c+d]]}return"M"+n.join("L")+"L"+i.reverse().join("L")+"Z"}function $(t,e){return e=Math.max(Math.min(e,d),g),t<p?t=0:d-t<p?t=d:e<p?e=0:d-e<p&&(e=d),Math.abs(e-t)>h?(t<e?(N=t,j=e):(N=e,j=t),!0):(N=null,j=null,!1)}function tt(t,e){t=t||U,e=e||"M0,0Z",H.attr("d",t),G.attr("d",e),m.transitionZoombox(H,G,V,q),V=!0;var r={};at(r),c.emit("plotly_relayouting",r)}function et(t,n){var i,a,o=F+(t*=e),l=B+(n*=r),c=X(F,B),u=Math.min(X(o,l),d),f=Z(F,B);$(c,u)&&(i=U+s.pathSector(j),N&&(i+=s.pathSector(N)),a=K(N,f)+K(j,f)),tt(i,a)}function rt(t,e,r,n){var i=E.findIntersectionXY(r,n,r,[t-k,M-e]);return W(i[0],i[1])}function nt(t,e){var r,n,i=F+t,a=B+e,o=Z(F,B),l=Z(i,a),c=z(o,C),u=z(l,C);$(rt(F,B,c[0],c[1]),Math.min(rt(i,a,u[0],u[1]),d))&&(r=U+s.pathSector(j),N&&(r+=s.pathSector(N)),n=[Q(N,c[0],c[1]),Q(j,c[0],c[1])].join(" ")),tt(r,n)}function it(){if(m.removeZoombox(c),null!==N&&null!==j){var t={};at(t),m.showDoubleClickNotifier(c),a.call("_guiRelayout",c,t)}}function at(t){var e=L._rl,r=(e[1]-e[0])/(1-g/d)/d,n=[e[0]+(N-g)*r,e[0]+(j-g)*r];t[s.id+".radialaxis.range"]=n}function ot(t,e){var r=c._fullLayout.clickmode;if(m.removeZoombox(c),2===t){var n={};for(var i in s.viewInitial)n[s.id+"."+i]=s.viewInitial[i];c.emit("plotly_doubleclick",null),a.call("_guiRelayout",c,n)}r.indexOf("select")>-1&&1===t&&_(e,c,[s.xaxis],[s.yaxis],s.id,Y),r.indexOf("event")>-1&&y.click(c,e,s.id)}Y.prepFn=function(t,n,a){var l=c._fullLayout.dragmode,u=R.getBoundingClientRect();c._fullLayout._calcInverseTransform(c);var h=c._fullLayout._invTransform;e=c._fullLayout._invScaleX,r=c._fullLayout._invScaleY;var p=o.apply3DTransform(h)(n-u.left,a-u.top);if(F=p[0],B=p[1],C){var g=E.findPolygonOffset(d,A[0],A[1],C);F+=k+g[0],B+=M+g[1]}switch(l){case"zoom":Y.moveFn=C?nt:et,Y.clickFn=ot,Y.doneFn=it,function(){N=null,j=null,U=s.pathSubplot(),V=!1;var t=c._fullLayout[s.id];q=i(t.bgcolor).getLuminance(),(H=m.makeZoombox(f,q,x,T,U)).attr("fill-rule","evenodd"),G=m.makeCorners(f,x,T),w(c)}();break;case"select":case"lasso":b(t,n,a,Y,l)}},R.onmousemove=function(t){y.hover(c,t,s.id),c._fullLayout._lasthover=R,c._fullLayout._hoversubplot=s.id},R.onmouseout=function(t){c._dragging||v.unhover(c,t)},v.init(Y)},O.updateRadialDrag=function(t,e,r){var i=this,c=i.gd,u=i.layers,f=i.radius,h=i.innerRadius,p=i.cx,d=i.cy,g=i.radialAxis,y=S.radialDragBoxSize,x=y/2;if(g.visible){var b,_,T,A=I(i.radialAxisAngle),E=g._rl,C=E[0],L=E[1],z=E[r],O=.75*(E[1]-E[0])/(1-e.hole)/f;r?(b=p+(f+x)*Math.cos(A),_=d-(f+x)*Math.sin(A),T="radialdrag"):(b=p+(h-x)*Math.cos(A),_=d-(h-x)*Math.sin(A),T="radialdrag-inner");var D,B,N,j=m.makeRectDragger(u,T,"crosshair",-x,-x,y,y),U={element:j,gd:c};F(n.select(j),g.visible&&h<f,{transform:l(b,_)}),U.prepFn=function(){D=null,B=null,N=null,U.moveFn=V,U.doneFn=q,w(c)},U.clampFn=function(t,e){return Math.sqrt(t*t+e*e)<S.MINDRAG&&(t=0,e=0),[t,e]},v.init(U)}function V(t,e){if(D)D(t,e);else{var n=[t,-e],a=[Math.cos(A),Math.sin(A)],s=Math.abs(o.dot(n,a)/Math.sqrt(o.dot(n,n)));isNaN(s)||(D=s<.5?H:G)}var l={};!function(t){null!==B?t[i.id+".radialaxis.angle"]=B:null!==N&&(t[i.id+".radialaxis.range["+r+"]"]=N)}(l),c.emit("plotly_relayouting",l)}function q(){null!==B?a.call("_guiRelayout",c,i.id+".radialaxis.angle",B):null!==N&&a.call("_guiRelayout",c,i.id+".radialaxis.range["+r+"]",N)}function H(t,e){if(0!==r){var n=b+t,a=_+e;B=Math.atan2(d-a,n-p),i.vangles&&(B=R(B,i.vangles)),B=P(B);var o=l(p,d)+s(-B);u["radial-axis"].attr("transform",o),u["radial-line"].select("line").attr("transform",o);var c=i.gd._fullLayout,f=c[i.id];i.updateRadialAxisTitle(c,f,B)}}function G(t,e){var n=o.dot([t,-e],[Math.cos(A),Math.sin(A)]);if(N=z-O*n,O>0==(r?N>C:N<L)){var s=c._fullLayout,l=s[i.id];g.range[r]=N,g._rl[r]=N,i.updateRadialAxis(s,l),i.xaxis.setRange(),i.xaxis.setScale(),i.yaxis.setRange(),i.yaxis.setScale();var u=!1;for(var f in i.traceHash){var h=i.traceHash[f],p=o.filterVisible(h);h[0][0].trace._module.plot(c,i,p,l),a.traceIs(f,"gl")&&p.length&&(u=!0)}u&&(k(c),M(c))}else N=null}},O.updateAngularDrag=function(t){var e=this,r=e.gd,i=e.layers,c=e.radius,f=e.angularAxis,h=e.cx,p=e.cy,d=e.cxx,g=e.cyy,y=S.angularDragBoxSize,x=m.makeDragger(i,"path","angulardrag","move"),b={element:x,gd:r};function _(t,e){return Math.atan2(g+y-e,t-d-y)}n.select(x).attr("d",e.pathAnnulus(c,c+y)).attr("transform",l(h,p)).call(T,"move");var A,E,C,L,I,z,O=i.frontplot.select(".scatterlayer").selectAll(".trace"),D=O.selectAll(".point"),R=O.selectAll(".textpoint");function F(c,m){var v=e.gd._fullLayout,y=v[e.id],x=_(A+c*t._invScaleX,E+m*t._invScaleY),b=P(x-z);if(L=C+b,i.frontplot.attr("transform",l(e.xOffset2,e.yOffset2)+s([-b,d,g])),e.vangles){I=e.radialAxisAngle+b;var w=l(h,p)+s(-b),T=l(h,p)+s(-I);i.bg.attr("transform",w),i["radial-grid"].attr("transform",w),i["radial-axis"].attr("transform",T),i["radial-line"].select("line").attr("transform",T),e.updateRadialAxisTitle(v,y,I)}else e.clipPaths.forTraces.select("path").attr("transform",l(d,g)+s(b));D.each((function(){var t=n.select(this),e=u.getTranslate(t);t.attr("transform",l(e.x,e.y)+s([b]))})),R.each((function(){var t=n.select(this),e=t.select("text"),r=u.getTranslate(t);t.attr("transform",s([b,e.attr("x"),e.attr("y")])+l(r.x,r.y))})),f.rotation=o.modHalf(L,360),e.updateAngularAxis(v,y),e._hasClipOnAxisFalse&&!o.isFullCircle(e.sectorInRad)&&O.call(u.hideOutsideRangePoints,e);var S=!1;for(var F in e.traceHash)if(a.traceIs(F,"gl")){var N=e.traceHash[F],j=o.filterVisible(N);N[0][0].trace._module.plot(r,e,j,y),j.length&&(S=!0)}S&&(k(r),M(r));var U={};B(U),r.emit("plotly_relayouting",U)}function B(t){t[e.id+".angularaxis.rotation"]=L,e.vangles&&(t[e.id+".radialaxis.angle"]=I)}function N(){R.select("text").attr("transform",null);var t={};B(t),a.call("_guiRelayout",r,t)}b.prepFn=function(n,i,a){var s=t[e.id];C=s.angularaxis.rotation;var l=x.getBoundingClientRect();A=i-l.left,E=a-l.top,r._fullLayout._calcInverseTransform(r);var c=o.apply3DTransform(t._invTransform)(A,E);A=c[0],E=c[1],z=_(A,E),b.moveFn=F,b.doneFn=N,w(r)},e.vangles&&!o.isFullCircle(e.sectorInRad)&&(b.prepFn=o.noop,T(n.select(x),null)),v.init(b)},O.isPtInside=function(t){var e=this.sectorInRad,r=this.vangles,n=this.angularAxis.c2g(t.theta),i=this.radialAxis,a=i.c2l(t.r),s=i._rl;return(r?E.isPtInsidePolygon:o.isPtInsideSector)(a,n,s,e,r)},O.pathArc=function(t){var e=this.sectorInRad,r=this.vangles;return(r?E.pathPolygon:o.pathArc)(t,e[0],e[1],r)},O.pathSector=function(t){var e=this.sectorInRad,r=this.vangles;return(r?E.pathPolygon:o.pathSector)(t,e[0],e[1],r)},O.pathAnnulus=function(t,e){var r=this.sectorInRad,n=this.vangles;return(n?E.pathPolygonAnnulus:o.pathAnnulus)(t,e,r[0],r[1],n)},O.pathSubplot=function(){var t=this.innerRadius,e=this.radius;return t?this.pathAnnulus(t,e):this.pathSector(e)},O.fillViewInitialKey=function(t,e){t in this.viewInitial||(this.viewInitial[t]=e)}},{"../../components/color":643,"../../components/dragelement":662,"../../components/drawing":665,"../../components/fx":683,"../../components/titles":738,"../../constants/alignment":745,"../../lib":778,"../../lib/clear_gl_canvases":762,"../../lib/setcursor":799,"../../plot_api/subroutines":818,"../../plots/cartesian/axes":828,"../../registry":911,"../cartesian/autorange":827,"../cartesian/dragbox":836,"../cartesian/select":847,"../cartesian/set_convert":848,"../plots":891,"./constants":892,"./helpers":893,"./set_convert":904,d3:169,tinycolor2:576}],904:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../cartesian/set_convert"),a=n.deg2rad,o=n.rad2deg;e.exports=function(t,e,r){switch(i(t,r),t._id){case"x":case"radialaxis":!function(t,e){var r=e._subplot;t.setGeometry=function(){var e=t._rl[0],n=t._rl[1],i=r.innerRadius,a=(r.radius-i)/(n-e),o=i/a,s=e>n?function(t){return t<=0}:function(t){return t>=0};t.c2g=function(r){var n=t.c2l(r)-e;return(s(n)?n:0)+o},t.g2c=function(r){return t.l2c(r+e-o)},t.g2p=function(t){return t*a},t.c2p=function(e){return t.g2p(t.c2g(e))}}}(t,e);break;case"angularaxis":!function(t,e){var r=t.type;if("linear"===r){var i=t.d2c,s=t.c2d;t.d2c=function(t,e){return function(t,e){return"degrees"===e?a(t):t}(i(t),e)},t.c2d=function(t,e){return s(function(t,e){return"degrees"===e?o(t):t}(t,e))}}t.makeCalcdata=function(e,i){var a,o,s=e[i],l=e._length,c=function(r){return t.d2c(r,e.thetaunit)};if(s){if(n.isTypedArray(s)&&"linear"===r){if(l===s.length)return s;if(s.subarray)return s.subarray(0,l)}for(a=new Array(l),o=0;o<l;o++)a[o]=c(s[o])}else{var u=i+"0",f="d"+i,h=u in e?c(e[u]):0,p=e[f]?c(e[f]):(t.period||2*Math.PI)/l;for(a=new Array(l),o=0;o<l;o++)a[o]=h+o*p}return a},t.setGeometry=function(){var i,s,l,c,u=e.sector,f=u.map(a),h={clockwise:-1,counterclockwise:1}[t.direction],p=a(t.rotation),d=function(t){return h*t+p},g=function(t){return(t-p)/h};switch(r){case"linear":s=i=n.identity,c=a,l=o,t.range=n.isFullCircle(f)?[u[0],u[0]+360]:f.map(g).map(o);break;case"category":var m=t._categories.length,v=t.period?Math.max(t.period,m):m;0===v&&(v=1),s=c=function(t){return 2*t*Math.PI/v},i=l=function(t){return t*v/Math.PI/2},t.range=[0,v]}t.c2g=function(t){return d(s(t))},t.g2c=function(t){return i(g(t))},t.t2g=function(t){return d(c(t))},t.g2t=function(t){return l(g(t))}}}(t,e)}}},{"../../lib":778,"../cartesian/set_convert":848}],905:[function(t,e,r){"use strict";var n=t("../lib"),i=t("../plot_api/plot_template"),a=t("./domain").defaults;e.exports=function(t,e,r,o){var s,l,c=o.type,u=o.attributes,f=o.handleDefaults,h=o.partition||"x",p=e._subplots[c],d=p.length,g=d&&p[0].replace(/\d+$/,"");function m(t,e){return n.coerce(s,l,u,t,e)}for(var v=0;v<d;v++){var y=p[v];s=t[y]?t[y]:t[y]={},l=i.newContainer(e,y,g),m("uirevision",e.uirevision);var x={};x[h]=[v/d,(v+1)/d],a(l,e,m,x),o.id=y,f(s,l,m,o)}}},{"../lib":778,"../plot_api/plot_template":817,"./domain":855}],906:[function(t,e,r){"use strict";['Variables are inserted using %{variable}, for example "y: %{y}".','Numbers are formatted using d3-format\'s syntax %{variable:d3-format}, for example "Price: %{y:$.2f}".',t("../constants/docs").FORMAT_LINK,"for details on the formatting syntax.",'Dates are formatted using d3-time-format\'s syntax %{variable|d3-time-format}, for example "Day: %{2019-01-01|%A}".',t("../constants/docs").DATE_FORMAT_LINK,"for details on the date formatting syntax."].join(" ");function n(t){var e=t.description?" "+t.description:"",r=t.keys||[];if(r.length>0){for(var n=[],i=0;i<r.length;i++)n[i]="`"+r[i]+"`";e+="Finally, the template string has access to ",e=1===r.length?"variable "+n[0]:"variables "+n.slice(0,-1).join(", ")+" and "+n.slice(-1)+"."}return e}r.hovertemplateAttrs=function(t,e){t=t||{};n(e=e||{});var r={valType:"string",dflt:"",editType:t.editType||"none"};return!1!==t.arrayOk&&(r.arrayOk=!0),r},r.texttemplateAttrs=function(t,e){t=t||{};n(e=e||{});var r={valType:"string",dflt:"",editType:t.editType||"calc"};return!1!==t.arrayOk&&(r.arrayOk=!0),r}},{"../constants/docs":748}],907:[function(t,e,r){"use strict";var n=t("./ternary"),i=t("../../plots/get_data").getSubplotCalcData,a=t("../../lib").counterRegex;r.name="ternary";var o=r.attr="subplot";r.idRoot="ternary",r.idRegex=r.attrRegex=a("ternary"),(r.attributes={})[o]={valType:"subplotid",dflt:"ternary",editType:"calc"},r.layoutAttributes=t("./layout_attributes"),r.supplyLayoutDefaults=t("./layout_defaults"),r.plot=function(t){for(var e=t._fullLayout,r=t.calcdata,a=e._subplots.ternary,o=0;o<a.length;o++){var s=a[o],l=i(r,"ternary",s),c=e[s]._subplot;c||(c=new n({id:s,graphDiv:t,container:e._ternarylayer.node()},e),e[s]._subplot=c),c.plot(l,e,t._promises)}},r.clean=function(t,e,r,n){for(var i=n._subplots.ternary||[],a=0;a<i.length;a++){var o=i[a],s=n[o]._subplot;!e[o]&&s&&(s.plotContainer.remove(),s.clipDef.remove(),s.clipDefRelative.remove(),s.layers["a-title"].remove(),s.layers["b-title"].remove(),s.layers["c-title"].remove())}}},{"../../lib":778,"../../plots/get_data":865,"./layout_attributes":908,"./layout_defaults":909,"./ternary":910}],908:[function(t,e,r){"use strict";var n=t("../../components/color/attributes"),i=t("../domain").attributes,a=t("../cartesian/layout_attributes"),o=t("../../plot_api/edit_types").overrideAll,s=t("../../lib/extend").extendFlat,l={title:{text:a.title.text,font:a.title.font},color:a.color,tickmode:a.tickmode,nticks:s({},a.nticks,{dflt:6,min:1}),tick0:a.tick0,dtick:a.dtick,tickvals:a.tickvals,ticktext:a.ticktext,ticks:a.ticks,ticklen:a.ticklen,tickwidth:a.tickwidth,tickcolor:a.tickcolor,showticklabels:a.showticklabels,showtickprefix:a.showtickprefix,tickprefix:a.tickprefix,showticksuffix:a.showticksuffix,ticksuffix:a.ticksuffix,showexponent:a.showexponent,exponentformat:a.exponentformat,minexponent:a.minexponent,separatethousands:a.separatethousands,tickfont:a.tickfont,tickangle:a.tickangle,tickformat:a.tickformat,tickformatstops:a.tickformatstops,hoverformat:a.hoverformat,showline:s({},a.showline,{dflt:!0}),linecolor:a.linecolor,linewidth:a.linewidth,showgrid:s({},a.showgrid,{dflt:!0}),gridcolor:a.gridcolor,gridwidth:a.gridwidth,layer:a.layer,min:{valType:"number",dflt:0,min:0},_deprecated:{title:a._deprecated.title,titlefont:a._deprecated.titlefont}},c=e.exports=o({domain:i({name:"ternary"}),bgcolor:{valType:"color",dflt:n.background},sum:{valType:"number",dflt:1,min:0},aaxis:l,baxis:l,caxis:l},"plot","from-root");c.uirevision={valType:"any",editType:"none"},c.aaxis.uirevision=c.baxis.uirevision=c.caxis.uirevision={valType:"any",editType:"none"}},{"../../components/color/attributes":642,"../../lib/extend":768,"../../plot_api/edit_types":810,"../cartesian/layout_attributes":842,"../domain":855}],909:[function(t,e,r){"use strict";var n=t("../../components/color"),i=t("../../plot_api/plot_template"),a=t("../../lib"),o=t("../subplot_defaults"),s=t("../cartesian/tick_label_defaults"),l=t("../cartesian/tick_mark_defaults"),c=t("../cartesian/tick_value_defaults"),u=t("../cartesian/line_grid_defaults"),f=t("./layout_attributes"),h=["aaxis","baxis","caxis"];function p(t,e,r,a){var o,s,l,c=r("bgcolor"),u=r("sum");a.bgColor=n.combine(c,a.paper_bgcolor);for(var f=0;f<h.length;f++)s=t[o=h[f]]||{},(l=i.newContainer(e,o))._name=o,d(s,l,a,e);var p=e.aaxis,g=e.baxis,m=e.caxis;p.min+g.min+m.min>=u&&(p.min=0,g.min=0,m.min=0,t.aaxis&&delete t.aaxis.min,t.baxis&&delete t.baxis.min,t.caxis&&delete t.caxis.min)}function d(t,e,r,n){var i=f[e._name];function o(r,n){return a.coerce(t,e,i,r,n)}o("uirevision",n.uirevision),e.type="linear";var h=o("color"),p=h!==i.color.dflt?h:r.font.color,d=e._name.charAt(0).toUpperCase(),g="Component "+d,m=o("title.text",g);e._hovertitle=m===g?m:d,a.coerceFont(o,"title.font",{family:r.font.family,size:Math.round(1.2*r.font.size),color:p}),o("min"),c(t,e,o,"linear"),s(t,e,o,"linear",{}),l(t,e,o,{outerTicks:!0}),o("showticklabels")&&(a.coerceFont(o,"tickfont",{family:r.font.family,size:r.font.size,color:p}),o("tickangle"),o("tickformat")),u(t,e,o,{dfltColor:h,bgColor:r.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:i}),o("hoverformat"),o("layer")}e.exports=function(t,e,r){o(t,e,r,{type:"ternary",attributes:f,handleDefaults:p,font:e.font,paper_bgcolor:e.paper_bgcolor})}},{"../../components/color":643,"../../lib":778,"../../plot_api/plot_template":817,"../cartesian/line_grid_defaults":844,"../cartesian/tick_label_defaults":849,"../cartesian/tick_mark_defaults":850,"../cartesian/tick_value_defaults":851,"../subplot_defaults":905,"./layout_attributes":908}],910:[function(t,e,r){"use strict";var n=t("d3"),i=t("tinycolor2"),a=t("../../registry"),o=t("../../lib"),s=o.strTranslate,l=o._,c=t("../../components/color"),u=t("../../components/drawing"),f=t("../cartesian/set_convert"),h=t("../../lib/extend").extendFlat,p=t("../plots"),d=t("../cartesian/axes"),g=t("../../components/dragelement"),m=t("../../components/fx"),v=t("../../components/dragelement/helpers"),y=v.freeMode,x=v.rectMode,b=t("../../components/titles"),_=t("../cartesian/select").prepSelect,w=t("../cartesian/select").selectOnClick,T=t("../cartesian/select").clearSelect,k=t("../cartesian/select").clearSelectionsCache,M=t("../cartesian/constants");function A(t,e){this.id=t.id,this.graphDiv=t.graphDiv,this.init(e),this.makeFramework(e),this.aTickLayout=null,this.bTickLayout=null,this.cTickLayout=null}e.exports=A;var S=A.prototype;S.init=function(t){this.container=t._ternarylayer,this.defs=t._defs,this.layoutId=t._uid,this.traceHash={},this.layers={}},S.plot=function(t,e){var r=e[this.id],n=e._size;this._hasClipOnAxisFalse=!1;for(var i=0;i<t.length;i++){if(!1===t[i][0].trace.cliponaxis){this._hasClipOnAxisFalse=!0;break}}this.updateLayers(r),this.adjustLayout(r,n),p.generalUpdatePerTraceModule(this.graphDiv,this,t,r),this.layers.plotbg.select("path").call(c.fill,r.bgcolor)},S.makeFramework=function(t){var e=this.graphDiv,r=t[this.id],n=this.clipId="clip"+this.layoutId+this.id,i=this.clipIdRelative="clip-relative"+this.layoutId+this.id;this.clipDef=o.ensureSingleById(t._clips,"clipPath",n,(function(t){t.append("path").attr("d","M0,0Z")})),this.clipDefRelative=o.ensureSingleById(t._clips,"clipPath",i,(function(t){t.append("path").attr("d","M0,0Z")})),this.plotContainer=o.ensureSingle(this.container,"g",this.id),this.updateLayers(r),u.setClipUrl(this.layers.backplot,n,e),u.setClipUrl(this.layers.grids,n,e)},S.updateLayers=function(t){var e=this.layers,r=["draglayer","plotbg","backplot","grids"];"below traces"===t.aaxis.layer&&r.push("aaxis","aline"),"below traces"===t.baxis.layer&&r.push("baxis","bline"),"below traces"===t.caxis.layer&&r.push("caxis","cline"),r.push("frontplot"),"above traces"===t.aaxis.layer&&r.push("aaxis","aline"),"above traces"===t.baxis.layer&&r.push("baxis","bline"),"above traces"===t.caxis.layer&&r.push("caxis","cline");var i=this.plotContainer.selectAll("g.toplevel").data(r,String),a=["agrid","bgrid","cgrid"];i.enter().append("g").attr("class",(function(t){return"toplevel "+t})).each((function(t){var r=n.select(this);e[t]=r,"frontplot"===t?r.append("g").classed("scatterlayer",!0):"backplot"===t?r.append("g").classed("maplayer",!0):"plotbg"===t?r.append("path").attr("d","M0,0Z"):"aline"===t||"bline"===t||"cline"===t?r.append("path"):"grids"===t&&a.forEach((function(t){e[t]=r.append("g").classed("grid "+t,!0)}))})),i.order()};var E=Math.sqrt(4/3);S.adjustLayout=function(t,e){var r,n,i,a,o,l,p=this,d=t.domain,g=(d.x[0]+d.x[1])/2,m=(d.y[0]+d.y[1])/2,v=d.x[1]-d.x[0],y=d.y[1]-d.y[0],x=v*e.w,b=y*e.h,_=t.sum,w=t.aaxis.min,T=t.baxis.min,k=t.caxis.min;x>E*b?i=(a=b)*E:a=(i=x)/E,o=v*i/x,l=y*a/b,r=e.l+e.w*g-i/2,n=e.t+e.h*(1-m)-a/2,p.x0=r,p.y0=n,p.w=i,p.h=a,p.sum=_,p.xaxis={type:"linear",range:[w+2*k-_,_-w-2*T],domain:[g-o/2,g+o/2],_id:"x"},f(p.xaxis,p.graphDiv._fullLayout),p.xaxis.setScale(),p.xaxis.isPtWithinRange=function(t){return t.a>=p.aaxis.range[0]&&t.a<=p.aaxis.range[1]&&t.b>=p.baxis.range[1]&&t.b<=p.baxis.range[0]&&t.c>=p.caxis.range[1]&&t.c<=p.caxis.range[0]},p.yaxis={type:"linear",range:[w,_-T-k],domain:[m-l/2,m+l/2],_id:"y"},f(p.yaxis,p.graphDiv._fullLayout),p.yaxis.setScale(),p.yaxis.isPtWithinRange=function(){return!0};var M=p.yaxis.domain[0],A=p.aaxis=h({},t.aaxis,{range:[w,_-T-k],side:"left",tickangle:(+t.aaxis.tickangle||0)-30,domain:[M,M+l*E],anchor:"free",position:0,_id:"y",_length:i});f(A,p.graphDiv._fullLayout),A.setScale();var S=p.baxis=h({},t.baxis,{range:[_-w-k,T],side:"bottom",domain:p.xaxis.domain,anchor:"free",position:0,_id:"x",_length:i});f(S,p.graphDiv._fullLayout),S.setScale();var C=p.caxis=h({},t.caxis,{range:[_-w-T,k],side:"right",tickangle:(+t.caxis.tickangle||0)+30,domain:[M,M+l*E],anchor:"free",position:0,_id:"y",_length:i});f(C,p.graphDiv._fullLayout),C.setScale();var L="M"+r+","+(n+a)+"h"+i+"l-"+i/2+",-"+a+"Z";p.clipDef.select("path").attr("d",L),p.layers.plotbg.select("path").attr("d",L);var I="M0,"+a+"h"+i+"l-"+i/2+",-"+a+"Z";p.clipDefRelative.select("path").attr("d",I);var P=s(r,n);p.plotContainer.selectAll(".scatterlayer,.maplayer").attr("transform",P),p.clipDefRelative.select("path").attr("transform",null);var z=s(r-S._offset,n+a);p.layers.baxis.attr("transform",z),p.layers.bgrid.attr("transform",z);var O=s(r+i/2,n)+"rotate(30)"+s(0,-A._offset);p.layers.aaxis.attr("transform",O),p.layers.agrid.attr("transform",O);var D=s(r+i/2,n)+"rotate(-30)"+s(0,-C._offset);p.layers.caxis.attr("transform",D),p.layers.cgrid.attr("transform",D),p.drawAxes(!0),p.layers.aline.select("path").attr("d",A.showline?"M"+r+","+(n+a)+"l"+i/2+",-"+a:"M0,0").call(c.stroke,A.linecolor||"#000").style("stroke-width",(A.linewidth||0)+"px"),p.layers.bline.select("path").attr("d",S.showline?"M"+r+","+(n+a)+"h"+i:"M0,0").call(c.stroke,S.linecolor||"#000").style("stroke-width",(S.linewidth||0)+"px"),p.layers.cline.select("path").attr("d",C.showline?"M"+(r+i/2)+","+n+"l"+i/2+","+a:"M0,0").call(c.stroke,C.linecolor||"#000").style("stroke-width",(C.linewidth||0)+"px"),p.graphDiv._context.staticPlot||p.initInteractions(),u.setClipUrl(p.layers.frontplot,p._hasClipOnAxisFalse?null:p.clipId,p.graphDiv)},S.drawAxes=function(t){var e=this.graphDiv,r=this.id.substr(7)+"title",n=this.layers,i=this.aaxis,a=this.baxis,o=this.caxis;if(this.drawAx(i),this.drawAx(a),this.drawAx(o),t){var s=Math.max(i.showticklabels?i.tickfont.size/2:0,(o.showticklabels?.75*o.tickfont.size:0)+("outside"===o.ticks?.87*o.ticklen:0)),c=(a.showticklabels?a.tickfont.size:0)+("outside"===a.ticks?a.ticklen:0)+3;n["a-title"]=b.draw(e,"a"+r,{propContainer:i,propName:this.id+".aaxis.title",placeholder:l(e,"Click to enter Component A title"),attributes:{x:this.x0+this.w/2,y:this.y0-i.title.font.size/3-s,"text-anchor":"middle"}}),n["b-title"]=b.draw(e,"b"+r,{propContainer:a,propName:this.id+".baxis.title",placeholder:l(e,"Click to enter Component B title"),attributes:{x:this.x0-c,y:this.y0+this.h+.83*a.title.font.size+c,"text-anchor":"middle"}}),n["c-title"]=b.draw(e,"c"+r,{propContainer:o,propName:this.id+".caxis.title",placeholder:l(e,"Click to enter Component C title"),attributes:{x:this.x0+this.w+c,y:this.y0+this.h+.83*o.title.font.size+c,"text-anchor":"middle"}})}},S.drawAx=function(t){var e,r=this.graphDiv,n=t._name,i=n.charAt(0),a=t._id,s=this.layers[n],l=i+"tickLayout",c=(e=t).ticks+String(e.ticklen)+String(e.showticklabels);this[l]!==c&&(s.selectAll("."+a+"tick").remove(),this[l]=c),t.setScale();var u=d.calcTicks(t),f=d.clipEnds(t,u),h=d.makeTransTickFn(t),p=d.getTickSigns(t)[2],g=o.deg2rad(30),m=p*(t.linewidth||1)/2,v=p*t.ticklen,y=this.w,x=this.h,b="b"===i?"M0,"+m+"l"+Math.sin(g)*v+","+Math.cos(g)*v:"M"+m+",0l"+Math.cos(g)*v+","+-Math.sin(g)*v,_={a:"M0,0l"+x+",-"+y/2,b:"M0,0l-"+y/2+",-"+x,c:"M0,0l-"+x+","+y/2}[i];d.drawTicks(r,t,{vals:"inside"===t.ticks?f:u,layer:s,path:b,transFn:h,crisp:!1}),d.drawGrid(r,t,{vals:f,layer:this.layers[i+"grid"],path:_,transFn:h,crisp:!1}),d.drawLabels(r,t,{vals:u,layer:s,transFn:h,labelFns:d.makeLabelFns(t,0,30)})};var C=M.MINZOOM/2+.87,L="m-0.87,.5h"+C+"v3h-"+(C+5.2)+"l"+(C/2+2.6)+",-"+(.87*C+4.5)+"l2.6,1.5l-"+C/2+","+.87*C+"Z",I="m0.87,.5h-"+C+"v3h"+(C+5.2)+"l-"+(C/2+2.6)+",-"+(.87*C+4.5)+"l-2.6,1.5l"+C/2+","+.87*C+"Z",P="m0,1l"+C/2+","+.87*C+"l2.6,-1.5l-"+(C/2+2.6)+",-"+(.87*C+4.5)+"l-"+(C/2+2.6)+","+(.87*C+4.5)+"l2.6,1.5l"+C/2+",-"+.87*C+"Z",z=!0;function O(t){n.select(t).selectAll(".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners").remove()}S.clearSelect=function(){k(this.dragOptions),T(this.dragOptions.gd)},S.initInteractions=function(){var t,e,r,n,f,h,p,d,v,b,T,k,A=this,S=A.layers.plotbg.select("path").node(),C=A.graphDiv,D=C._fullLayout._zoomlayer;function R(t){var e={};return e[A.id+".aaxis.min"]=t.a,e[A.id+".baxis.min"]=t.b,e[A.id+".caxis.min"]=t.c,e}function F(t,e){var r=C._fullLayout.clickmode;O(C),2===t&&(C.emit("plotly_doubleclick",null),a.call("_guiRelayout",C,R({a:0,b:0,c:0}))),r.indexOf("select")>-1&&1===t&&w(e,C,[A.xaxis],[A.yaxis],A.id,A.dragOptions),r.indexOf("event")>-1&&m.click(C,e,A.id)}function B(t,e){return 1-e/A.h}function N(t,e){return 1-(t+(A.h-e)/Math.sqrt(3))/A.w}function j(t,e){return(t-(A.h-e)/Math.sqrt(3))/A.w}function U(i,a){var o=r+i*t,s=n+a*e,l=Math.max(0,Math.min(1,B(0,n),B(0,s))),c=Math.max(0,Math.min(1,N(r,n),N(o,s))),u=Math.max(0,Math.min(1,j(r,n),j(o,s))),g=(l/2+u)*A.w,m=(1-l/2-c)*A.w,y=(g+m)/2,x=m-g,_=(1-l)*A.h,w=_-x/E;x<M.MINZOOM?(p=f,T.attr("d",v),k.attr("d","M0,0Z")):(p={a:f.a+l*h,b:f.b+c*h,c:f.c+u*h},T.attr("d",v+"M"+g+","+_+"H"+m+"L"+y+","+w+"L"+g+","+_+"Z"),k.attr("d","M"+r+","+n+"m0.5,0.5h5v-2h-5v-5h-2v5h-5v2h5v5h2ZM"+g+","+_+L+"M"+m+","+_+I+"M"+y+","+w+P)),b||(T.transition().style("fill",d>.2?"rgba(0,0,0,0.4)":"rgba(255,255,255,0.3)").duration(200),k.transition().style("opacity",1).duration(200),b=!0),C.emit("plotly_relayouting",R(p))}function V(){O(C),p!==f&&(a.call("_guiRelayout",C,R(p)),z&&C.data&&C._context.showTips&&(o.notifier(l(C,"Double-click to zoom back out"),"long"),z=!1))}function q(t,e){var r=t/A.xaxis._m,n=e/A.yaxis._m,i=[(p={a:f.a-n,b:f.b+(r+n)/2,c:f.c-(r-n)/2}).a,p.b,p.c].sort(o.sorterAsc),a=i.indexOf(p.a),l=i.indexOf(p.b),c=i.indexOf(p.c);i[0]<0&&(i[1]+i[0]/2<0?(i[2]+=i[0]+i[1],i[0]=i[1]=0):(i[2]+=i[0]/2,i[1]+=i[0]/2,i[0]=0),p={a:i[a],b:i[l],c:i[c]},e=(f.a-p.a)*A.yaxis._m,t=(f.c-p.c-f.b+p.b)*A.xaxis._m);var h=s(A.x0+t,A.y0+e);A.plotContainer.selectAll(".scatterlayer,.maplayer").attr("transform",h);var d=s(-t,-e);A.clipDefRelative.select("path").attr("transform",d),A.aaxis.range=[p.a,A.sum-p.b-p.c],A.baxis.range=[A.sum-p.a-p.c,p.b],A.caxis.range=[A.sum-p.a-p.b,p.c],A.drawAxes(!1),A._hasClipOnAxisFalse&&A.plotContainer.select(".scatterlayer").selectAll(".trace").call(u.hideOutsideRangePoints,A),C.emit("plotly_relayouting",R(p))}function H(){a.call("_guiRelayout",C,R(p))}this.dragOptions={element:S,gd:C,plotinfo:{id:A.id,domain:C._fullLayout[A.id].domain,xaxis:A.xaxis,yaxis:A.yaxis},subplot:A.id,prepFn:function(a,l,u){A.dragOptions.xaxes=[A.xaxis],A.dragOptions.yaxes=[A.yaxis],t=C._fullLayout._invScaleX,e=C._fullLayout._invScaleY;var g=A.dragOptions.dragmode=C._fullLayout.dragmode;y(g)?A.dragOptions.minDrag=1:A.dragOptions.minDrag=void 0,"zoom"===g?(A.dragOptions.moveFn=U,A.dragOptions.clickFn=F,A.dragOptions.doneFn=V,function(t,e,a){var l=S.getBoundingClientRect();r=e-l.left,n=a-l.top,C._fullLayout._calcInverseTransform(C);var u=C._fullLayout._invTransform,g=o.apply3DTransform(u)(r,n);r=g[0],n=g[1],f={a:A.aaxis.range[0],b:A.baxis.range[1],c:A.caxis.range[1]},p=f,h=A.aaxis.range[1]-f.a,d=i(A.graphDiv._fullLayout[A.id].bgcolor).getLuminance(),v="M0,"+A.h+"L"+A.w/2+", 0L"+A.w+","+A.h+"Z",b=!1,T=D.append("path").attr("class","zoombox").attr("transform",s(A.x0,A.y0)).style({fill:d>.2?"rgba(0,0,0,0)":"rgba(255,255,255,0)","stroke-width":0}).attr("d",v),k=D.append("path").attr("class","zoombox-corners").attr("transform",s(A.x0,A.y0)).style({fill:c.background,stroke:c.defaultLine,"stroke-width":1,opacity:0}).attr("d","M0,0Z"),A.clearSelect(C)}(0,l,u)):"pan"===g?(A.dragOptions.moveFn=q,A.dragOptions.clickFn=F,A.dragOptions.doneFn=H,f={a:A.aaxis.range[0],b:A.baxis.range[1],c:A.caxis.range[1]},p=f,A.clearSelect(C)):(x(g)||y(g))&&_(a,l,u,A.dragOptions,g)}},S.onmousemove=function(t){m.hover(C,t,A.id),C._fullLayout._lasthover=S,C._fullLayout._hoversubplot=A.id},S.onmouseout=function(t){C._dragging||g.unhover(C,t)},g.init(this.dragOptions)}},{"../../components/color":643,"../../components/dragelement":662,"../../components/dragelement/helpers":661,"../../components/drawing":665,"../../components/fx":683,"../../components/titles":738,"../../lib":778,"../../lib/extend":768,"../../registry":911,"../cartesian/axes":828,"../cartesian/constants":834,"../cartesian/select":847,"../cartesian/set_convert":848,"../plots":891,d3:169,tinycolor2:576}],911:[function(t,e,r){"use strict";var n=t("./lib/loggers"),i=t("./lib/noop"),a=t("./lib/push_unique"),o=t("./lib/is_plain_object"),s=t("./lib/dom").addStyleRule,l=t("./lib/extend"),c=t("./plots/attributes"),u=t("./plots/layout_attributes"),f=l.extendFlat,h=l.extendDeepAll;function p(t){var e=t.name,i=t.categories,a=t.meta;if(r.modules[e])n.log("Type "+e+" already registered");else{r.subplotsRegistry[t.basePlotModule.name]||function(t){var e=t.name;if(r.subplotsRegistry[e])return void n.log("Plot type "+e+" already registered.");for(var i in v(t),r.subplotsRegistry[e]=t,r.componentsRegistry)b(i,t.name)}(t.basePlotModule);for(var o={},l=0;l<i.length;l++)o[i[l]]=!0,r.allCategories[i[l]]=!0;for(var c in r.modules[e]={_module:t,categories:o},a&&Object.keys(a).length&&(r.modules[e].meta=a),r.allTypes.push(e),r.componentsRegistry)y(c,e);t.layoutAttributes&&f(r.traceLayoutAttributes,t.layoutAttributes);var u=t.basePlotModule,h=u.name;if("mapbox"===h){var p=u.constants.styleRules;for(var d in p)s(".js-plotly-plot .plotly .mapboxgl-"+d,p[d])}"geo"!==h&&"mapbox"!==h||void 0===typeof window||void 0!==window.PlotlyGeoAssets||(window.PlotlyGeoAssets={topojson:{}})}}function d(t){if("string"!=typeof t.name)throw new Error("Component module *name* must be a string.");var e=t.name;for(var n in r.componentsRegistry[e]=t,t.layoutAttributes&&(t.layoutAttributes._isLinkedToArray&&a(r.layoutArrayContainers,e),v(t)),r.modules)y(e,n);for(var i in r.subplotsRegistry)b(e,i);for(var o in r.transformsRegistry)x(e,o);t.schema&&t.schema.layout&&h(u,t.schema.layout)}function g(t){if("string"!=typeof t.name)throw new Error("Transform module *name* must be a string.");var e="Transform module "+t.name,i="function"==typeof t.transform,a="function"==typeof t.calcTransform;if(!i&&!a)throw new Error(e+" is missing a *transform* or *calcTransform* method.");for(var s in i&&a&&n.log([e+" has both a *transform* and *calcTransform* methods.","Please note that all *transform* methods are executed","before all *calcTransform* methods."].join(" ")),o(t.attributes)||n.log(e+" registered without an *attributes* object."),"function"!=typeof t.supplyDefaults&&n.log(e+" registered without a *supplyDefaults* method."),r.transformsRegistry[t.name]=t,r.componentsRegistry)x(s,t.name)}function m(t){var e=t.name,n=e.split("-")[0],i=t.dictionary,a=t.format,o=i&&Object.keys(i).length,s=a&&Object.keys(a).length,l=r.localeRegistry,c=l[e];if(c||(l[e]=c={}),n!==e){var u=l[n];u||(l[n]=u={}),o&&u.dictionary===c.dictionary&&(u.dictionary=i),s&&u.format===c.format&&(u.format=a)}o&&(c.dictionary=i),s&&(c.format=a)}function v(t){if(t.layoutAttributes){var e=t.layoutAttributes._arrayAttrRegexps;if(e)for(var n=0;n<e.length;n++)a(r.layoutArrayRegexes,e[n])}}function y(t,e){var n=r.componentsRegistry[t].schema;if(n&&n.traces){var i=n.traces[e];i&&h(r.modules[e]._module.attributes,i)}}function x(t,e){var n=r.componentsRegistry[t].schema;if(n&&n.transforms){var i=n.transforms[e];i&&h(r.transformsRegistry[e].attributes,i)}}function b(t,e){var n=r.componentsRegistry[t].schema;if(n&&n.subplots){var i=r.subplotsRegistry[e],a=i.layoutAttributes,o="subplot"===i.attr?i.name:i.attr;Array.isArray(o)&&(o=o[0]);var s=n.subplots[o];a&&s&&h(a,s)}}function _(t){return"object"==typeof t&&(t=t.type),t}r.modules={},r.allCategories={},r.allTypes=[],r.subplotsRegistry={},r.transformsRegistry={},r.componentsRegistry={},r.layoutArrayContainers=[],r.layoutArrayRegexes=[],r.traceLayoutAttributes={},r.localeRegistry={},r.apiMethodRegistry={},r.collectableSubplotTypes=null,r.register=function(t){if(r.collectableSubplotTypes=null,!t)throw new Error("No argument passed to Plotly.register.");t&&!Array.isArray(t)&&(t=[t]);for(var e=0;e<t.length;e++){var n=t[e];if(!n)throw new Error("Invalid module was attempted to be registered!");switch(n.moduleType){case"trace":p(n);break;case"transform":g(n);break;case"component":d(n);break;case"locale":m(n);break;case"apiMethod":var i=n.name;r.apiMethodRegistry[i]=n.fn;break;default:throw new Error("Invalid module was attempted to be registered!")}}},r.getModule=function(t){var e=r.modules[_(t)];return!!e&&e._module},r.traceIs=function(t,e){if("various"===(t=_(t)))return!1;var i=r.modules[t];return i||(t&&"area"!==t&&n.log("Unrecognized trace type "+t+"."),i=r.modules[c.type.dflt]),!!i.categories[e]},r.getTransformIndices=function(t,e){for(var r=[],n=t.transforms||[],i=0;i<n.length;i++)n[i].type===e&&r.push(i);return r},r.hasTransform=function(t,e){for(var r=t.transforms||[],n=0;n<r.length;n++)if(r[n].type===e)return!0;return!1},r.getComponentMethod=function(t,e){var n=r.componentsRegistry[t];return n&&n[e]||i},r.call=function(){var t=arguments[0],e=[].slice.call(arguments,1);return r.apiMethodRegistry[t].apply(null,e)}},{"./lib/dom":766,"./lib/extend":768,"./lib/is_plain_object":779,"./lib/loggers":782,"./lib/noop":787,"./lib/push_unique":793,"./plots/attributes":824,"./plots/layout_attributes":882}],912:[function(t,e,r){"use strict";var n=t("../registry"),i=t("../lib"),a=i.extendFlat,o=i.extendDeep;function s(t){var e;switch(t){case"themes__thumb":e={autosize:!0,width:150,height:150,title:{text:""},showlegend:!1,margin:{l:5,r:5,t:5,b:5,pad:0},annotations:[]};break;case"thumbnail":e={title:{text:""},hidesources:!0,showlegend:!1,borderwidth:0,bordercolor:"",margin:{l:1,r:1,t:1,b:1,pad:0},annotations:[]};break;default:e={}}return e}e.exports=function(t,e){var r;t.framework&&t.framework.isPolar&&(t=t.framework.getConfig());var i,l=t.data,c=t.layout,u=o([],l),f=o({},c,s(e.tileClass)),h=t._context||{};if(e.width&&(f.width=e.width),e.height&&(f.height=e.height),"thumbnail"===e.tileClass||"themes__thumb"===e.tileClass){f.annotations=[];var p=Object.keys(f);for(r=0;r<p.length;r++)i=p[r],["xaxis","yaxis","zaxis"].indexOf(i.slice(0,5))>-1&&(f[p[r]].title={text:""});for(r=0;r<u.length;r++){var d=u[r];d.showscale=!1,d.marker&&(d.marker.showscale=!1),n.traceIs(d,"pie-like")&&(d.textposition="none")}}if(Array.isArray(e.annotations))for(r=0;r<e.annotations.length;r++)f.annotations.push(e.annotations[r]);var g=Object.keys(f).filter((function(t){return t.match(/^scene\d*$/)}));if(g.length){var m={};for("thumbnail"===e.tileClass&&(m={title:{text:""},showaxeslabels:!1,showticklabels:!1,linetickenable:!1}),r=0;r<g.length;r++){var v=f[g[r]];v.xaxis||(v.xaxis={}),v.yaxis||(v.yaxis={}),v.zaxis||(v.zaxis={}),a(v.xaxis,m),a(v.yaxis,m),a(v.zaxis,m),v._scene=null}}var y=document.createElement("div");e.tileClass&&(y.className=e.tileClass);var x={gd:y,td:y,layout:f,data:u,config:{staticPlot:void 0===e.staticPlot||e.staticPlot,plotGlPixelRatio:void 0===e.plotGlPixelRatio?2:e.plotGlPixelRatio,displaylogo:e.displaylogo||!1,showLink:e.showLink||!1,showTips:e.showTips||!1,mapboxAccessToken:h.mapboxAccessToken}};return"transparent"!==e.setBackground&&(x.config.setBackground=e.setBackground||"opaque"),x.gd.defaultLayout=s(e.tileClass),x}},{"../lib":778,"../registry":911}],913:[function(t,e,r){"use strict";var n=t("../lib"),i=t("../plot_api/to_image"),a=t("./filesaver"),o=t("./helpers");e.exports=function(t,e){var r;return n.isPlainObject(t)||(r=n.getGraphDiv(t)),(e=e||{}).format=e.format||"png",e.width=e.width||null,e.height=e.height||null,e.imageDataOnly=!0,new Promise((function(s,l){r&&r._snapshotInProgress&&l(new Error("Snapshotting already in progress.")),n.isIE()&&"svg"!==e.format&&l(new Error(o.MSG_IE_BAD_FORMAT)),r&&(r._snapshotInProgress=!0);var c=i(t,e),u=e.filename||t.fn||"newplot";u+="."+e.format.replace("-","."),c.then((function(t){return r&&(r._snapshotInProgress=!1),a(t,u,e.format)})).then((function(t){s(t)})).catch((function(t){r&&(r._snapshotInProgress=!1),l(t)}))}))}},{"../lib":778,"../plot_api/to_image":820,"./filesaver":914,"./helpers":915}],914:[function(t,e,r){"use strict";var n=t("../lib"),i=t("./helpers");e.exports=function(t,e,r){var a=document.createElement("a"),o="download"in a;return new Promise((function(s,l){var c,u;if(n.isIE9orBelow()&&l(new Error("IE < 10 unsupported")),n.isSafari()){var f="svg"===r?",":";base64,";return i.octetStream(f+encodeURIComponent(t)),s(e)}return n.isIE()?(c=i.createBlob(t,"svg"),window.navigator.msSaveBlob(c,e),c=null,s(e)):o?(c=i.createBlob(t,r),u=i.createObjectURL(c),a.href=u,a.download=e,document.body.appendChild(a),a.click(),document.body.removeChild(a),i.revokeObjectURL(u),c=null,s(e)):void l(new Error("download error"))}))}},{"../lib":778,"./helpers":915}],915:[function(t,e,r){"use strict";var n=t("../registry");r.getDelay=function(t){return t._has&&(t._has("gl3d")||t._has("gl2d")||t._has("mapbox"))?500:0},r.getRedrawFunc=function(t){return function(){var e=t._fullLayout||{};!(e._has&&e._has("polar"))&&t.data&&t.data[0]&&t.data[0].r||n.getComponentMethod("colorbar","draw")(t)}},r.encodeSVG=function(t){return"data:image/svg+xml,"+encodeURIComponent(t)},r.encodeJSON=function(t){return"data:application/json,"+encodeURIComponent(t)};var i=window.URL||window.webkitURL;r.createObjectURL=function(t){return i.createObjectURL(t)},r.revokeObjectURL=function(t){return i.revokeObjectURL(t)},r.createBlob=function(t,e){if("svg"===e)return new window.Blob([t],{type:"image/svg+xml;charset=utf-8"});if("full-json"===e)return new window.Blob([t],{type:"application/json;charset=utf-8"});var r=function(t){for(var e=t.length,r=new ArrayBuffer(e),n=new Uint8Array(r),i=0;i<e;i++)n[i]=t.charCodeAt(i);return r}(window.atob(t));return new window.Blob([r],{type:"image/"+e})},r.octetStream=function(t){document.location.href="data:application/octet-stream"+t},r.IMAGE_URL_PREFIX=/^data:image\/\w+;base64,/,r.MSG_IE_BAD_FORMAT="Sorry IE does not support downloading from canvas. Try {format:'svg'} instead."},{"../registry":911}],916:[function(t,e,r){"use strict";var n=t("./helpers"),i={getDelay:n.getDelay,getRedrawFunc:n.getRedrawFunc,clone:t("./cloneplot"),toSVG:t("./tosvg"),svgToImg:t("./svgtoimg"),toImage:t("./toimage"),downloadImage:t("./download")};e.exports=i},{"./cloneplot":912,"./download":913,"./helpers":915,"./svgtoimg":917,"./toimage":918,"./tosvg":919}],917:[function(t,e,r){"use strict";var n=t("../lib"),i=t("events").EventEmitter,a=t("./helpers");e.exports=function(t){var e=t.emitter||new i,r=new Promise((function(i,o){var s=window.Image,l=t.svg,c=t.format||"png";if(n.isIE()&&"svg"!==c){var u=new Error(a.MSG_IE_BAD_FORMAT);return o(u),t.promise?r:e.emit("error",u)}var f,h,p=t.canvas,d=t.scale||1,g=t.width||300,m=t.height||150,v=d*g,y=d*m,x=p.getContext("2d"),b=new s;"svg"===c||n.isIE9orBelow()||n.isSafari()?h=a.encodeSVG(l):(f=a.createBlob(l,"svg"),h=a.createObjectURL(f)),p.width=v,p.height=y,b.onload=function(){var r;switch(f=null,a.revokeObjectURL(h),"svg"!==c&&x.drawImage(b,0,0,v,y),c){case"jpeg":r=p.toDataURL("image/jpeg");break;case"png":r=p.toDataURL("image/png");break;case"webp":r=p.toDataURL("image/webp");break;case"svg":r=h;break;default:var n="Image format is not jpeg, png, svg or webp.";if(o(new Error(n)),!t.promise)return e.emit("error",n)}i(r),t.promise||e.emit("success",r)},b.onerror=function(r){if(f=null,a.revokeObjectURL(h),o(r),!t.promise)return e.emit("error",r)},b.src=h}));return t.promise?r:e}},{"../lib":778,"./helpers":915,events:110}],918:[function(t,e,r){"use strict";var n=t("events").EventEmitter,i=t("../registry"),a=t("../lib"),o=t("./helpers"),s=t("./cloneplot"),l=t("./tosvg"),c=t("./svgtoimg");e.exports=function(t,e){var r=new n,u=s(t,{format:"png"}),f=u.gd;f.style.position="absolute",f.style.left="-5000px",document.body.appendChild(f);var h=o.getRedrawFunc(f);return i.call("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("canvas");n.id=a.randstr(),(r=c({format:e.format,width:f._fullLayout.width,height:f._fullLayout.height,canvas:n,emitter:r,svg:t})).clean=function(){f&&document.body.removeChild(f)}}),t)})).catch((function(t){r.emit("error",t)})),r}},{"../lib":778,"../registry":911,"./cloneplot":912,"./helpers":915,"./svgtoimg":917,"./tosvg":919,events:110}],919:[function(t,e,r){"use strict";var n=t("d3"),i=t("../lib"),a=t("../components/drawing"),o=t("../components/color"),s=t("../constants/xmlns_namespaces"),l=/"/g,c=new RegExp('("TOBESTRIPPED)|(TOBESTRIPPED")',"g");e.exports=function(t,e,r){var u,f=t._fullLayout,h=f._paper,p=f._toppaper,d=f.width,g=f.height;h.insert("rect",":first-child").call(a.setRect,0,0,d,g).call(o.fill,f.paper_bgcolor);var m=f._basePlotModules||[];for(u=0;u<m.length;u++){var v=m[u];v.toSVG&&v.toSVG(t)}if(p){var y=p.node().childNodes,x=Array.prototype.slice.call(y);for(u=0;u<x.length;u++){var b=x[u];b.childNodes.length&&h.node().appendChild(b)}}if(f._draggers&&f._draggers.remove(),h.node().style.background="",h.selectAll("text").attr({"data-unformatted":null,"data-math":null}).each((function(){var t=n.select(this);if("hidden"!==this.style.visibility&&"none"!==this.style.display){t.style({visibility:null,display:null});var e=this.style.fontFamily;e&&-1!==e.indexOf('"')&&t.style("font-family",e.replace(l,"TOBESTRIPPED"))}else t.remove()})),f._gradientUrlQueryParts){var _=[];for(var w in f._gradientUrlQueryParts)_.push(w);_.length&&h.selectAll(_.join(",")).each((function(){var t=n.select(this),e=this.style.fill;e&&-1!==e.indexOf("url(")&&t.style("fill",e.replace(l,"TOBESTRIPPED"));var r=this.style.stroke;r&&-1!==r.indexOf("url(")&&t.style("stroke",r.replace(l,"TOBESTRIPPED"))}))}"pdf"!==e&&"eps"!==e||h.selectAll("#MathJax_SVG_glyphs path").attr("stroke-width",0),h.node().setAttributeNS(s.xmlns,"xmlns",s.svg),h.node().setAttributeNS(s.xmlns,"xmlns:xlink",s.xlink),"svg"===e&&r&&(h.attr("width",r*d),h.attr("height",r*g),h.attr("viewBox","0 0 "+d+" "+g));var T=(new window.XMLSerializer).serializeToString(h.node());return T=function(t){var e=n.select("body").append("div").style({display:"none"}).html(""),r=t.replace(/(&[^;]*;)/gi,(function(t){return"<"===t?"<":"&rt;"===t?">":-1!==t.indexOf("<")||-1!==t.indexOf(">")?"":e.html(t).text()}));return e.remove(),r}(T),T=(T=T.replace(/&(?!\w+;|\#[0-9]+;| \#x[0-9A-F]+;)/g,"&")).replace(c,"'"),i.isIE()&&(T=(T=(T=T.replace(/"/gi,"'")).replace(/(\('#)([^']*)('\))/gi,'("#$2")')).replace(/(\\')/gi,'"')),T}},{"../components/color":643,"../components/drawing":665,"../constants/xmlns_namespaces":754,"../lib":778,d3:169}],920:[function(t,e,r){"use strict";var n=t("../../lib");e.exports=function(t,e){for(var r=0;r<t.length;r++)t[r].i=r;n.mergeArray(e.text,t,"tx"),n.mergeArray(e.hovertext,t,"htx");var i=e.marker;if(i){n.mergeArray(i.opacity,t,"mo",!0),n.mergeArray(i.color,t,"mc");var a=i.line;a&&(n.mergeArray(a.color,t,"mlc"),n.mergeArrayCastPositive(a.width,t,"mlw"))}}},{"../../lib":778}],921:[function(t,e,r){"use strict";var n=t("../scatter/attributes"),i=t("../../plots/template_attributes").hovertemplateAttrs,a=t("../../plots/template_attributes").texttemplateAttrs,o=t("../../components/colorscale/attributes"),s=t("../../plots/font_attributes"),l=t("./constants"),c=t("../../lib/extend").extendFlat,u=s({editType:"calc",arrayOk:!0,colorEditType:"style"}),f=c({},n.marker.line.width,{dflt:0}),h=c({width:f,editType:"calc"},o("marker.line")),p=c({line:h,editType:"calc"},o("marker"),{opacity:{valType:"number",arrayOk:!0,dflt:1,min:0,max:1,editType:"style"}});e.exports={x:n.x,x0:n.x0,dx:n.dx,y:n.y,y0:n.y0,dy:n.dy,xperiod:n.xperiod,yperiod:n.yperiod,xperiod0:n.xperiod0,yperiod0:n.yperiod0,xperiodalignment:n.xperiodalignment,yperiodalignment:n.yperiodalignment,text:n.text,texttemplate:a({editType:"plot"},{keys:l.eventDataKeys}),hovertext:n.hovertext,hovertemplate:i({},{keys:l.eventDataKeys}),textposition:{valType:"enumerated",values:["inside","outside","auto","none"],dflt:"none",arrayOk:!0,editType:"calc"},insidetextanchor:{valType:"enumerated",values:["end","middle","start"],dflt:"end",editType:"plot"},textangle:{valType:"angle",dflt:"auto",editType:"plot"},textfont:c({},u,{}),insidetextfont:c({},u,{}),outsidetextfont:c({},u,{}),constraintext:{valType:"enumerated",values:["inside","outside","both","none"],dflt:"both",editType:"calc"},cliponaxis:c({},n.cliponaxis,{}),orientation:{valType:"enumerated",values:["v","h"],editType:"calc+clearAxisTypes"},base:{valType:"any",dflt:null,arrayOk:!0,editType:"calc"},offset:{valType:"number",dflt:null,arrayOk:!0,editType:"calc"},width:{valType:"number",dflt:null,min:0,arrayOk:!0,editType:"calc"},marker:p,offsetgroup:{valType:"string",dflt:"",editType:"calc"},alignmentgroup:{valType:"string",dflt:"",editType:"calc"},selected:{marker:{opacity:n.selected.marker.opacity,color:n.selected.marker.color,editType:"style"},textfont:n.selected.textfont,editType:"style"},unselected:{marker:{opacity:n.unselected.marker.opacity,color:n.unselected.marker.color,editType:"style"},textfont:n.unselected.textfont,editType:"style"},r:n.r,t:n.t,_deprecated:{bardir:{valType:"enumerated",editType:"calc",values:["v","h"]}}}},{"../../components/colorscale/attributes":650,"../../lib/extend":768,"../../plots/font_attributes":856,"../../plots/template_attributes":906,"../scatter/attributes":1187,"./constants":923}],922:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes"),i=t("../../plots/cartesian/align_period"),a=t("../../components/colorscale/helpers").hasColorscale,o=t("../../components/colorscale/calc"),s=t("./arrays_to_calcdata"),l=t("../scatter/calc_selection");e.exports=function(t,e){var r,c,u,f,h=n.getFromId(t,e.xaxis||"x"),p=n.getFromId(t,e.yaxis||"y"),d={msUTC:!(!e.base&&0!==e.base)};"h"===e.orientation?(r=h.makeCalcdata(e,"x",d),u=p.makeCalcdata(e,"y"),c=i(e,p,"y",u),f=!!e.yperiodalignment):(r=p.makeCalcdata(e,"y",d),u=h.makeCalcdata(e,"x"),c=i(e,h,"x",u),f=!!e.xperiodalignment);for(var g=Math.min(c.length,r.length),m=new Array(g),v=0;v<g;v++)m[v]={p:c[v],s:r[v]},f&&(m[v].orig_p=u[v]),e.ids&&(m[v].id=String(e.ids[v]));return a(e,"marker")&&o(t,e,{vals:e.marker.color,containerStr:"marker",cLetter:"c"}),a(e,"marker.line")&&o(t,e,{vals:e.marker.line.color,containerStr:"marker.line",cLetter:"c"}),s(m,e),l(m,e),m}},{"../../components/colorscale/calc":651,"../../components/colorscale/helpers":654,"../../plots/cartesian/align_period":825,"../../plots/cartesian/axes":828,"../scatter/calc_selection":1189,"./arrays_to_calcdata":920}],923:[function(t,e,r){"use strict";e.exports={TEXTPAD:3,eventDataKeys:["value","label"]}},{}],924:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../lib").isArrayOrTypedArray,a=t("../../constants/numerical").BADNUM,o=t("../../registry"),s=t("../../plots/cartesian/axes"),l=t("../../plots/cartesian/constraints").getAxisGroup,c=t("./sieve.js");function u(t,e,r,o,u){if(o.length){var b,_,w,T;switch(function(t,e){var r,a;for(r=0;r<e.length;r++){var o,s=e[r],l=s[0].trace,c="funnel"===l.type?l._base:l.base,u="h"===l.orientation?l.xcalendar:l.ycalendar,f="category"===t.type||"multicategory"===t.type?function(){return null}:t.d2c;if(i(c)){for(a=0;a<Math.min(c.length,s.length);a++)o=f(c[a],0,u),n(o)?(s[a].b=+o,s[a].hasB=1):s[a].b=0;for(;a<s.length;a++)s[a].b=0}else{o=f(c,0,u);var h=n(o);for(o=h?o:0,a=0;a<s.length;a++)s[a].b=o,h&&(s[a].hasB=1)}}}(r,o),u.mode){case"overlay":f(e,r,o,u);break;case"group":for(b=[],_=[],w=0;w<o.length;w++)void 0===(T=o[w])[0].trace.offset?_.push(T):b.push(T);_.length&&function(t,e,r,n,i){var o=new c(n,{sepNegVal:!1,overlapNoMerge:!i.norm});(function(t,e,r,n){for(var i=t._fullLayout,a=r.positions,o=r.distinctPositions,s=r.minDiff,c=r.traces,u=c.length,f=a.length!==o.length,h=s*(1-n.gap),m=l(i,e._id)+c[0][0].trace.orientation,v=i._alignmentOpts[m]||{},y=0;y<u;y++){var x,b,_=c[y],w=_[0].trace,T=v[w.alignmentgroup]||{},k=Object.keys(T.offsetGroups||{}).length,M=(x=k?h/k:f?h/u:h)*(1-(n.groupgap||0));b=k?((2*w._offsetIndex+1-k)*x-M)/2:f?((2*y+1-u)*x-M)/2:-M/2;var A=_[0].t;A.barwidth=M,A.poffset=b,A.bargroupwidth=h,A.bardelta=s}r.binWidth=c[0][0].t.barwidth/100,p(r),d(e,r),g(e,r,f)})(t,e,o,i),function(t){for(var e=t.traces,r=0;r<e.length;r++){var n=e[r];if(void 0===n[0].trace.base)for(var i=new c([n],{sepNegVal:!0,overlapNoMerge:!0}),o=0;o<n.length;o++){var s=n[o];if(s.p!==a){var l=i.put(s.p,s.b+s.s);l&&(s.b=l)}}}}(o),i.norm?(v(o),y(r,o,i)):m(r,o)}(t,e,r,_,u),b.length&&f(e,r,b,u);break;case"stack":case"relative":for(b=[],_=[],w=0;w<o.length;w++)void 0===(T=o[w])[0].trace.base?_.push(T):b.push(T);_.length&&function(t,e,r,n,i){var o=new c(n,{sepNegVal:"relative"===i.mode,overlapNoMerge:!(i.norm||"stack"===i.mode||"relative"===i.mode)});h(e,o,i),function(t,e,r){var n,i,o,l,c,u,f=x(t),h=e.traces;for(l=0;l<h.length;l++)if(n=h[l],"funnel"===(i=n[0].trace).type)for(c=0;c<n.length;c++)(u=n[c]).s!==a&&e.put(u.p,-.5*u.s);for(l=0;l<h.length;l++){n=h[l],i=n[0].trace,o="funnel"===i.type;var p=[];for(c=0;c<n.length;c++)if((u=n[c]).s!==a){var d;d=o?u.s:u.s+u.b;var g=e.put(u.p,d),m=g+d;u.b=g,u[f]=m,r.norm||(p.push(m),u.hasB&&p.push(g))}r.norm||(i._extremes[t._id]=s.findExtremes(t,p,{tozero:!0,padded:!0}))}}(r,o,i);for(var l=0;l<n.length;l++)for(var u=n[l],f=0;f<u.length;f++){var p=u[f];if(p.s!==a)p.b+p.s===o.get(p.p,p.s)&&(p._outmost=!0)}i.norm&&y(r,o,i)}(0,e,r,_,u),b.length&&f(e,r,b,u)}!function(t,e){var r,i,a,o=x(e),s={},l=1/0,c=-1/0;for(r=0;r<t.length;r++)for(a=t[r],i=0;i<a.length;i++){var u=a[i].p;n(u)&&(l=Math.min(l,u),c=Math.max(c,u))}var f=1e4/(c-l),h=s.round=function(t){return String(Math.round(f*(t-l)))};for(r=0;r<t.length;r++){(a=t[r])[0].t.extents=s;var p=a[0].t.poffset,d=Array.isArray(p);for(i=0;i<a.length;i++){var g=a[i],m=g[o]-g.w/2;if(n(m)){var v=g[o]+g.w/2,y=h(g.p);s[y]?s[y]=[Math.min(m,s[y][0]),Math.max(v,s[y][1])]:s[y]=[m,v]}g.p0=g.p+(d?p[i]:p),g.p1=g.p0+g.w,g.s0=g.b,g.s1=g.s0+g.s}}}(o,e)}}function f(t,e,r,n){for(var i=0;i<r.length;i++){var a=r[i],o=new c([a],{unitMinDiff:n.xCat||n.yCat,sepNegVal:!1,overlapNoMerge:!n.norm});h(t,o,n),n.norm?(v(o),y(e,o,n)):m(e,o)}}function h(t,e,r){for(var n=e.minDiff,i=e.traces,a=n*(1-r.gap),o=a*(1-(r.groupgap||0)),s=-o/2,l=0;l<i.length;l++){var c=i[l][0].t;c.barwidth=o,c.poffset=s,c.bargroupwidth=a,c.bardelta=n}e.binWidth=i[0][0].t.barwidth/100,p(e),d(t,e),g(t,e)}function p(t){var e,r,a=t.traces;for(e=0;e<a.length;e++){var o,s=a[e],l=s[0],c=l.trace,u=l.t,f=c._offset||c.offset,h=u.poffset;if(i(f)){for(o=Array.prototype.slice.call(f,0,s.length),r=0;r<o.length;r++)n(o[r])||(o[r]=h);for(r=o.length;r<s.length;r++)o.push(h);u.poffset=o}else void 0!==f&&(u.poffset=f);var p=c._width||c.width,d=u.barwidth;if(i(p)){var g=Array.prototype.slice.call(p,0,s.length);for(r=0;r<g.length;r++)n(g[r])||(g[r]=d);for(r=g.length;r<s.length;r++)g.push(d);if(u.barwidth=g,void 0===f){for(o=[],r=0;r<s.length;r++)o.push(h+(d-g[r])/2);u.poffset=o}}else void 0!==p&&(u.barwidth=p,void 0===f&&(u.poffset=h+(d-p)/2))}}function d(t,e){for(var r=e.traces,n=x(t),i=0;i<r.length;i++)for(var a=r[i],o=a[0].t,s=o.poffset,l=Array.isArray(s),c=o.barwidth,u=Array.isArray(c),f=0;f<a.length;f++){var h=a[f],p=h.w=u?c[f]:c;h[n]=h.p+(l?s[f]:s)+p/2}}function g(t,e,r){var n=e.traces,i=e.minDiff/2;s.minDtick(t,e.minDiff,e.distinctPositions[0],r);for(var a=0;a<n.length;a++){var o,l,c,u,f=n[a],h=f[0],p=h.trace,d=[];for(u=0;u<f.length;u++)l=(o=f[u]).p-i,c=o.p+i,d.push(l,c);if(p.width||p.offset){var g=h.t,m=g.poffset,v=g.barwidth,y=Array.isArray(m),x=Array.isArray(v);for(u=0;u<f.length;u++){o=f[u];var b=y?m[u]:m,_=x?v[u]:v;c=(l=o.p+b)+_,d.push(l,c)}}p._extremes[t._id]=s.findExtremes(t,d,{padded:!1})}}function m(t,e){for(var r=e.traces,n=x(t),i=0;i<r.length;i++){for(var a=r[i],o=a[0].trace,l=[],c=!1,u=0;u<a.length;u++){var f=a[u],h=f.b,p=h+f.s;f[n]=p,l.push(p),f.hasB&&l.push(h),f.hasB&&f.b||(c=!0)}o._extremes[t._id]=s.findExtremes(t,l,{tozero:c,padded:!0})}}function v(t){for(var e=t.traces,r=0;r<e.length;r++)for(var n=e[r],i=0;i<n.length;i++){var o=n[i];o.s!==a&&t.put(o.p,o.b+o.s)}}function y(t,e,r){var i=e.traces,o=x(t),l="fraction"===r.norm?1:100,c=l/1e9,u=t.l2c(t.c2l(0)),f="stack"===r.mode?l:u;function h(e){return n(t.c2l(e))&&(e<u-c||e>f+c||!n(u))}for(var p=0;p<i.length;p++){for(var d=i[p],g=d[0].trace,m=[],v=!1,y=!1,b=0;b<d.length;b++){var _=d[b];if(_.s!==a){var w=Math.abs(l/e.get(_.p,_.s));_.b*=w,_.s*=w;var T=_.b,k=T+_.s;_[o]=k,m.push(k),y=y||h(k),_.hasB&&(m.push(T),y=y||h(T)),_.hasB&&_.b||(v=!0)}}g._extremes[t._id]=s.findExtremes(t,m,{tozero:v,padded:y})}}function x(t){return t._id.charAt(0)}e.exports={crossTraceCalc:function(t,e){for(var r=e.xaxis,n=e.yaxis,i=t._fullLayout,a=t._fullData,s=t.calcdata,l=[],c=[],f=0;f<a.length;f++){var h=a[f];if(!0===h.visible&&o.traceIs(h,"bar")&&h.xaxis===r._id&&h.yaxis===n._id&&("h"===h.orientation?l.push(s[f]):c.push(s[f]),h._computePh))for(var p=t.calcdata[f],d=0;d<p.length;d++)"function"==typeof p[d].ph0&&(p[d].ph0=p[d].ph0()),"function"==typeof p[d].ph1&&(p[d].ph1=p[d].ph1())}var g={xCat:"category"===r.type||"multicategory"===r.type,yCat:"category"===n.type||"multicategory"===n.type,mode:i.barmode,norm:i.barnorm,gap:i.bargap,groupgap:i.bargroupgap};u(t,r,n,c,g),u(t,n,r,l,g)},setGroupPositions:u}},{"../../constants/numerical":753,"../../lib":778,"../../plots/cartesian/axes":828,"../../plots/cartesian/constraints":835,"../../registry":911,"./sieve.js":934,"fast-isnumeric":241}],925:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../components/color"),a=t("../../registry"),o=t("../scatter/xy_defaults"),s=t("../scatter/period_defaults"),l=t("./style_defaults"),c=t("../../plots/cartesian/constraints").getAxisGroup,u=t("./attributes"),f=n.coerceFont;function h(t,e,r,n){var i=e.orientation,a=e[{v:"x",h:"y"}[i]+"axis"],o=c(r,a)+i,s=r._alignmentOpts||{},l=n("alignmentgroup"),u=s[o];u||(u=s[o]={});var f=u[l];f?f.traces.push(e):f=u[l]={traces:[e],alignmentIndex:Object.keys(u).length,offsetGroups:{}};var h=n("offsetgroup"),p=f.offsetGroups,d=p[h];h&&(d||(d=p[h]={offsetIndex:Object.keys(p).length}),e._offsetIndex=d.offsetIndex)}function p(t,e,r,i,a,o){var s=!(!1===(o=o||{}).moduleHasSelected),l=!(!1===o.moduleHasUnselected),c=!(!1===o.moduleHasConstrain),u=!(!1===o.moduleHasCliponaxis),h=!(!1===o.moduleHasTextangle),p=!(!1===o.moduleHasInsideanchor),d=!!o.hasPathbar,g=Array.isArray(a)||"auto"===a,m=g||"inside"===a,v=g||"outside"===a;if(m||v){var y=f(i,"textfont",r.font),x=n.extendFlat({},y),b=!(t.textfont&&t.textfont.color);if(b&&delete x.color,f(i,"insidetextfont",x),d){var _=n.extendFlat({},y);b&&delete _.color,f(i,"pathbar.textfont",_)}v&&f(i,"outsidetextfont",y),s&&i("selected.textfont.color"),l&&i("unselected.textfont.color"),c&&i("constraintext"),u&&i("cliponaxis"),h&&i("textangle"),i("texttemplate")}m&&p&&i("insidetextanchor")}e.exports={supplyDefaults:function(t,e,r,c){function f(r,i){return n.coerce(t,e,u,r,i)}if(o(t,e,c,f)){s(t,e,c,f),f("orientation",e.x&&!e.y?"h":"v"),f("base"),f("offset"),f("width"),f("text"),f("hovertext"),f("hovertemplate");var h=f("textposition");p(t,e,c,f,h,{moduleHasSelected:!0,moduleHasUnselected:!0,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),l(t,e,f,r,c);var d=(e.marker.line||{}).color,g=a.getComponentMethod("errorbars","supplyDefaults");g(t,e,d||i.defaultLine,{axis:"y"}),g(t,e,d||i.defaultLine,{axis:"x",inherit:"y"}),n.coerceSelectionMarkerOpacity(e,f)}else e.visible=!1},crossTraceDefaults:function(t,e){var r;function i(t){return n.coerce(r._input,r,u,t)}if("group"===e.barmode)for(var a=0;a<t.length;a++)"bar"===(r=t[a]).type&&(r._input,h(0,r,e,i))},handleGroupingDefaults:h,handleText:p}},{"../../components/color":643,"../../lib":778,"../../plots/cartesian/constraints":835,"../../registry":911,"../scatter/period_defaults":1207,"../scatter/xy_defaults":1214,"./attributes":921,"./style_defaults":936}],926:[function(t,e,r){"use strict";e.exports=function(t,e,r){return t.x="xVal"in e?e.xVal:e.x,t.y="yVal"in e?e.yVal:e.y,e.xa&&(t.xaxis=e.xa),e.ya&&(t.yaxis=e.ya),"h"===r.orientation?(t.label=t.y,t.value=t.x):(t.label=t.x,t.value=t.y),t}},{}],927:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("tinycolor2"),a=t("../../lib").isArrayOrTypedArray;r.coerceString=function(t,e,r){if("string"==typeof e){if(e||!t.noBlank)return e}else if(("number"==typeof e||!0===e)&&!t.strict)return String(e);return void 0!==r?r:t.dflt},r.coerceNumber=function(t,e,r){if(n(e)){e=+e;var i=t.min,a=t.max;if(!(void 0!==i&&e<i||void 0!==a&&e>a))return e}return void 0!==r?r:t.dflt},r.coerceColor=function(t,e,r){return i(e).isValid()?e:void 0!==r?r:t.dflt},r.coerceEnumerated=function(t,e,r){return t.coerceNumber&&(e=+e),-1!==t.values.indexOf(e)?e:void 0!==r?r:t.dflt},r.getValue=function(t,e){var r;return Array.isArray(t)?e<t.length&&(r=t[e]):r=t,r},r.getLineWidth=function(t,e){return 0<e.mlw?e.mlw:a(t.marker.line.width)?0:t.marker.line.width}},{"../../lib":778,"fast-isnumeric":241,tinycolor2:576}],928:[function(t,e,r){"use strict";var n=t("../../components/fx"),i=t("../../registry"),a=t("../../components/color"),o=t("../../lib").fillText,s=t("./helpers").getLineWidth,l=t("../../plots/cartesian/axes").hoverLabelText,c=t("../../constants/numerical").BADNUM;function u(t,e,r,i){var a,s,u,f,h,p,d,g=t.cd,m=g[0].trace,v=g[0].t,y="closest"===i,x="waterfall"===m.type,b=t.maxHoverDistance;function _(t){return t[u]-t.w/2}function w(t){return t[u]+t.w/2}var T=y?_:function(t){return Math.min(_(t),t.p-v.bardelta/2)},k=y?w:function(t){return Math.max(w(t),t.p+v.bardelta/2)};function M(t,e){return n.inbox(t-a,e-a,b+Math.min(1,Math.abs(e-t)/d)-1)}function A(t){return M(T(t),k(t))}function S(t){var e=s,r=t.b,i=t[f];if(x){var a=Math.abs(t.rawS)||0;e>0?i+=a:e<0&&(i-=a)}return n.inbox(r-e,i-e,b+(i-e)/(i-r)-1)}"h"===m.orientation?(a=r,s=e,u="y",f="x",h=S,p=A):(a=e,s=r,u="x",f="y",p=S,h=A);var E=t[u+"a"],C=t[f+"a"];d=Math.abs(E.r2c(E.range[1])-E.r2c(E.range[0]));var L=n.getDistanceFunction(i,h,p,(function(t){return(h(t)+p(t))/2}));if(n.getClosest(g,L,t),!1!==t.index&&g[t.index].p!==c){y||(T=function(t){return Math.min(_(t),t.p-v.bargroupwidth/2)},k=function(t){return Math.max(w(t),t.p+v.bargroupwidth/2)});var I=g[t.index],P=m.base?I.b+I.s:I.s;t[f+"0"]=t[f+"1"]=C.c2p(I[f],!0),t[f+"LabelVal"]=P;var z=v.extents[v.extents.round(I.p)];t[u+"0"]=E.c2p(y?T(I):z[0],!0),t[u+"1"]=E.c2p(y?k(I):z[1],!0);var O=void 0!==I.orig_p;return t[u+"LabelVal"]=O?I.orig_p:I.p,t.labelLabel=l(E,t[u+"LabelVal"]),t.valueLabel=l(C,t[f+"LabelVal"]),t.baseLabel=l(C,I.b),t.spikeDistance=(S(I)+function(t){return M(_(t),w(t))}(I))/2-b,t[u+"Spike"]=E.c2p(I.p,!0),o(I,m,t),t.hovertemplate=m.hovertemplate,t}}function f(t,e){var r=e.mcc||t.marker.color,n=e.mlcc||t.marker.line.color,i=s(t,e);return a.opacity(r)?r:a.opacity(n)&&i?n:void 0}e.exports={hoverPoints:function(t,e,r,n){var a=u(t,e,r,n);if(a){var o=a.cd,s=o[0].trace,l=o[a.index];return a.color=f(s,l),i.getComponentMethod("errorbars","hoverInfo")(l,s,a),[a]}},hoverOnBars:u,getTraceColor:f}},{"../../components/color":643,"../../components/fx":683,"../../constants/numerical":753,"../../lib":778,"../../plots/cartesian/axes":828,"../../registry":911,"./helpers":927}],929:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),layoutAttributes:t("./layout_attributes"),supplyDefaults:t("./defaults").supplyDefaults,crossTraceDefaults:t("./defaults").crossTraceDefaults,supplyLayoutDefaults:t("./layout_defaults"),calc:t("./calc"),crossTraceCalc:t("./cross_trace_calc").crossTraceCalc,colorbar:t("../scatter/marker_colorbar"),arraysToCalcdata:t("./arrays_to_calcdata"),plot:t("./plot").plot,style:t("./style").style,styleOnSelect:t("./style").styleOnSelect,hoverPoints:t("./hover").hoverPoints,eventData:t("./event_data"),selectPoints:t("./select"),moduleType:"trace",name:"bar",basePlotModule:t("../../plots/cartesian"),categories:["bar-like","cartesian","svg","bar","oriented","errorBarsOK","showLegend","zoomScale"],animatable:!0,meta:{}}},{"../../plots/cartesian":841,"../scatter/marker_colorbar":1205,"./arrays_to_calcdata":920,"./attributes":921,"./calc":922,"./cross_trace_calc":924,"./defaults":925,"./event_data":926,"./hover":928,"./layout_attributes":930,"./layout_defaults":931,"./plot":932,"./select":933,"./style":935}],930:[function(t,e,r){"use strict";e.exports={barmode:{valType:"enumerated",values:["stack","group","overlay","relative"],dflt:"group",editType:"calc"},barnorm:{valType:"enumerated",values:["","fraction","percent"],dflt:"",editType:"calc"},bargap:{valType:"number",min:0,max:1,editType:"calc"},bargroupgap:{valType:"number",min:0,max:1,dflt:0,editType:"calc"}}},{}],931:[function(t,e,r){"use strict";var n=t("../../registry"),i=t("../../plots/cartesian/axes"),a=t("../../lib"),o=t("./layout_attributes");e.exports=function(t,e,r){function s(r,n){return a.coerce(t,e,o,r,n)}for(var l=!1,c=!1,u=!1,f={},h=s("barmode"),p=0;p<r.length;p++){var d=r[p];if(n.traceIs(d,"bar")&&d.visible){if(l=!0,"group"===h){var g=d.xaxis+d.yaxis;f[g]&&(u=!0),f[g]=!0}if(d.visible&&"histogram"===d.type)"category"!==i.getFromId({_fullLayout:e},d["v"===d.orientation?"xaxis":"yaxis"]).type&&(c=!0)}}l?("overlay"!==h&&s("barnorm"),s("bargap",c&&!u?0:.2),s("bargroupgap")):delete e.barmode}},{"../../lib":778,"../../plots/cartesian/axes":828,"../../registry":911,"./layout_attributes":930}],932:[function(t,e,r){"use strict";var n=t("d3"),i=t("fast-isnumeric"),a=t("../../lib"),o=t("../../lib/svg_text_utils"),s=t("../../components/color"),l=t("../../components/drawing"),c=t("../../registry"),u=t("../../plots/cartesian/axes").tickText,f=t("./uniform_text"),h=f.recordMinTextSize,p=f.clearMinTextSize,d=t("./style"),g=t("./helpers"),m=t("./constants"),v=t("./attributes"),y=v.text,x=v.textposition,b=t("../../components/fx/helpers").appendArrayPointValue,_=m.TEXTPAD;function w(t){return t.id}function T(t){if(t.ids)return w}function k(t,e){return t<e?1:-1}function M(t,e,r,n){var i;return!e.uniformtext.mode&&A(r)?(n&&(i=n()),t.transition().duration(r.duration).ease(r.easing).each("end",(function(){i&&i()})).each("interrupt",(function(){i&&i()}))):t}function A(t){return t&&t.duration>0}function S(t){return"auto"===t?0:t}function E(t,e){var r=Math.PI/180*e,n=Math.abs(Math.sin(r)),i=Math.abs(Math.cos(r));return{x:t.width*i+t.height*n,y:t.width*n+t.height*i}}function C(t,e,r,n,i,a){var o=!!a.isHorizontal,s=!!a.constrained,l=a.angle||0,c=a.anchor||"end",u="end"===c,f="start"===c,h=((a.leftToRight||0)+1)/2,p=1-h,d=i.width,g=i.height,m=Math.abs(e-t),v=Math.abs(n-r),y=m>2*_&&v>2*_?_:0;m-=2*y,v-=2*y;var x=S(l);"auto"!==l||d<=m&&g<=v||!(d>m||g>v)||(d>v||g>m)&&d<g==m<v||(x+=90);var b=E(i,x),w=1;s&&(w=Math.min(1,m/b.x,v/b.y));var T=i.left*p+i.right*h,M=(i.top+i.bottom)/2,A=(t+_)*p+(e-_)*h,C=(r+n)/2,L=0,I=0;if(f||u){var P=(o?b.x:b.y)/2,z=o?k(t,e):k(r,n);o?f?(A=t+z*y,L=-z*P):(A=e-z*y,L=z*P):f?(C=r+z*y,I=-z*P):(C=n-z*y,I=z*P)}return{textX:T,textY:M,targetX:A,targetY:C,anchorX:L,anchorY:I,scale:w,rotate:x}}e.exports={plot:function(t,e,r,f,m,v){var w=e.xaxis,L=e.yaxis,I=t._fullLayout;m||(m={mode:I.barmode,norm:I.barmode,gap:I.bargap,groupgap:I.bargroupgap},p("bar",I));var P=a.makeTraceGroups(f,r,"trace bars").each((function(r){var c=n.select(this),f=r[0].trace,p="waterfall"===f.type,P="funnel"===f.type,z="bar"===f.type||P,O=0;p&&f.connector.visible&&"between"===f.connector.mode&&(O=f.connector.line.width/2);var D="h"===f.orientation,R=A(m),F=a.ensureSingle(c,"g","points"),B=T(f),N=F.selectAll("g.point").data(a.identity,B);N.enter().append("g").classed("point",!0),N.exit().remove(),N.each((function(c,p){var T,A,P=n.select(this),F=function(t,e,r,n){var i=[],a=[],o=n?e:r,s=n?r:e;return i[0]=o.c2p(t.s0,!0),a[0]=s.c2p(t.p0,!0),i[1]=o.c2p(t.s1,!0),a[1]=s.c2p(t.p1,!0),n?[i,a]:[a,i]}(c,w,L,D),B=F[0][0],N=F[0][1],j=F[1][0],U=F[1][1],V=0==(D?N-B:U-j);if(V&&z&&g.getLineWidth(f,c)&&(V=!1),V||(V=!(i(B)&&i(N)&&i(j)&&i(U))),c.isBlank=V,V&&(D?N=B:U=j),O&&!V&&(D?(B-=k(B,N)*O,N+=k(B,N)*O):(j-=k(j,U)*O,U+=k(j,U)*O)),"waterfall"===f.type){if(!V){var q=f[c.dir].marker;T=q.line.width,A=q.color}}else T=g.getLineWidth(f,c),A=c.mc||f.marker.color;function H(t){var e=n.round(T/2%1,2);return 0===m.gap&&0===m.groupgap?n.round(Math.round(t)-e,2):t}if(!t._context.staticPlot){var G=s.opacity(A)<1||T>.01?H:function(t,e,r){return r&&t===e?t:Math.abs(t-e)>=2?H(t):t>e?Math.ceil(t):Math.floor(t)};B=G(B,N,D),N=G(N,B,D),j=G(j,U,!D),U=G(U,j,!D)}var Y=M(a.ensureSingle(P,"path"),I,m,v);if(Y.style("vector-effect","non-scaling-stroke").attr("d",isNaN((N-B)*(U-j))||V&&t._context.staticPlot?"M0,0Z":"M"+B+","+j+"V"+U+"H"+N+"V"+j+"Z").call(l.setClipUrl,e.layerClipId,t),!I.uniformtext.mode&&R){var W=l.makePointStyleFns(f);l.singlePointStyle(c,Y,f,W,t)}!function(t,e,r,n,i,s,c,f,p,m,v){var w,T=e.xaxis,A=e.yaxis,L=t._fullLayout;function I(e,r,n){return a.ensureSingle(e,"text").text(r).attr({class:"bartext bartext-"+w,"text-anchor":"middle","data-notex":1}).call(l.font,n).call(o.convertToTspans,t)}var P=n[0].trace,z="h"===P.orientation,O=function(t,e,r,n,i){var o,s=e[0].trace;o=s.texttemplate?function(t,e,r,n,i){var o=e[0].trace,s=a.castOption(o,r,"texttemplate");if(!s)return"";var l,c,f,h,p="waterfall"===o.type,d="funnel"===o.type;"h"===o.orientation?(l="y",c=i,f="x",h=n):(l="x",c=n,f="y",h=i);function g(t){return u(h,+t,!0).text}var m=e[r],v={};v.label=m.p,v.labelLabel=v[l+"Label"]=(y=m.p,u(c,y,!0).text);var y;var x=a.castOption(o,m.i,"text");(0===x||x)&&(v.text=x);v.value=m.s,v.valueLabel=v[f+"Label"]=g(m.s);var _={};b(_,o,m.i),p&&(v.delta=+m.rawS||m.s,v.deltaLabel=g(v.delta),v.final=m.v,v.finalLabel=g(v.final),v.initial=v.final-v.delta,v.initialLabel=g(v.initial));d&&(v.value=m.s,v.valueLabel=g(v.value),v.percentInitial=m.begR,v.percentInitialLabel=a.formatPercent(m.begR),v.percentPrevious=m.difR,v.percentPreviousLabel=a.formatPercent(m.difR),v.percentTotal=m.sumR,v.percenTotalLabel=a.formatPercent(m.sumR));var w=a.castOption(o,m.i,"customdata");w&&(v.customdata=w);return a.texttemplateString(s,v,t._d3locale,_,v,o._meta||{})}(t,e,r,n,i):s.textinfo?function(t,e,r,n){var i=t[0].trace,o="h"===i.orientation,s="waterfall"===i.type,l="funnel"===i.type;function c(t){return u(o?r:n,+t,!0).text}var f,h=i.textinfo,p=t[e],d=h.split("+"),g=[],m=function(t){return-1!==d.indexOf(t)};m("label")&&g.push((v=t[e].p,u(o?n:r,v,!0).text));var v;m("text")&&(0===(f=a.castOption(i,p.i,"text"))||f)&&g.push(f);if(s){var y=+p.rawS||p.s,x=p.v,b=x-y;m("initial")&&g.push(c(b)),m("delta")&&g.push(c(y)),m("final")&&g.push(c(x))}if(l){m("value")&&g.push(c(p.s));var _=0;m("percent initial")&&_++,m("percent previous")&&_++,m("percent total")&&_++;var w=_>1;m("percent initial")&&(f=a.formatPercent(p.begR),w&&(f+=" of initial"),g.push(f)),m("percent previous")&&(f=a.formatPercent(p.difR),w&&(f+=" of previous"),g.push(f)),m("percent total")&&(f=a.formatPercent(p.sumR),w&&(f+=" of total"),g.push(f))}return g.join("<br>")}(e,r,n,i):g.getValue(s.text,r);return g.coerceString(y,o)}(L,n,i,T,A);w=function(t,e){var r=g.getValue(t.textposition,e);return g.coerceEnumerated(x,r)}(P,i);var D="stack"===m.mode||"relative"===m.mode,R=n[i],F=!D||R._outmost;if(!O||"none"===w||(R.isBlank||s===c||f===p)&&("auto"===w||"inside"===w))return void r.select("text").remove();var B=L.font,N=d.getBarColor(n[i],P),j=d.getInsideTextFont(P,i,B,N),U=d.getOutsideTextFont(P,i,B),V=r.datum();z?"log"===T.type&&V.s0<=0&&(s=T.range[0]<T.range[1]?0:T._length):"log"===A.type&&V.s0<=0&&(f=A.range[0]<A.range[1]?A._length:0);var q,H,G,Y,W,X=Math.abs(c-s)-2*_,Z=Math.abs(p-f)-2*_;"outside"===w&&(F||R.hasB||(w="inside"));if("auto"===w)if(F){w="inside",W=a.ensureUniformFontSize(t,j),q=I(r,O,W),H=l.bBox(q.node()),G=H.width,Y=H.height;var J=G<=X&&Y<=Z,K=G<=Z&&Y<=X,Q=z?X>=G*(Z/Y):Z>=Y*(X/G);G>0&&Y>0&&(J||K||Q)?w="inside":(w="outside",q.remove(),q=null)}else w="inside";if(!q){W=a.ensureUniformFontSize(t,"outside"===w?U:j);var $=(q=I(r,O,W)).attr("transform");if(q.attr("transform",""),H=l.bBox(q.node()),G=H.width,Y=H.height,q.attr("transform",$),G<=0||Y<=0)return void q.remove()}var tt,et,rt=P.textangle;"outside"===w?(et="both"===P.constraintext||"outside"===P.constraintext,tt=function(t,e,r,n,i,a){var o,s=!!a.isHorizontal,l=!!a.constrained,c=a.angle||0,u=i.width,f=i.height,h=Math.abs(e-t),p=Math.abs(n-r);o=s?p>2*_?_:0:h>2*_?_:0;var d=1;l&&(d=s?Math.min(1,p/f):Math.min(1,h/u));var g=S(c),m=E(i,g),v=(s?m.x:m.y)/2,y=(i.left+i.right)/2,x=(i.top+i.bottom)/2,b=(t+e)/2,w=(r+n)/2,T=0,M=0,A=s?k(e,t):k(r,n);s?(b=e-A*o,T=A*v):(w=n+A*o,M=-A*v);return{textX:y,textY:x,targetX:b,targetY:w,anchorX:T,anchorY:M,scale:d,rotate:g}}(s,c,f,p,H,{isHorizontal:z,constrained:et,angle:rt})):(et="both"===P.constraintext||"inside"===P.constraintext,tt=C(s,c,f,p,H,{isHorizontal:z,constrained:et,angle:rt,anchor:P.insidetextanchor}));tt.fontSize=W.size,h(P.type,tt,L),R.transform=tt,M(q,L,m,v).attr("transform",a.getTextTransform(tt))}(t,e,P,r,p,B,N,j,U,m,v),e.layerClipId&&l.hideOutsideRangePoint(c,P.select("text"),w,L,f.xcalendar,f.ycalendar)}));var j=!1===f.cliponaxis;l.setClipUrl(c,j?null:e.layerClipId,t)}));c.getComponentMethod("errorbars","plot")(t,P,e,m)},toMoveInsideBar:C}},{"../../components/color":643,"../../components/drawing":665,"../../components/fx/helpers":679,"../../lib":778,"../../lib/svg_text_utils":803,"../../plots/cartesian/axes":828,"../../registry":911,"./attributes":921,"./constants":923,"./helpers":927,"./style":935,"./uniform_text":937,d3:169,"fast-isnumeric":241}],933:[function(t,e,r){"use strict";function n(t,e,r,n,i){var a=e.c2p(n?t.s0:t.p0,!0),o=e.c2p(n?t.s1:t.p1,!0),s=r.c2p(n?t.p0:t.s0,!0),l=r.c2p(n?t.p1:t.s1,!0);return i?[(a+o)/2,(s+l)/2]:n?[o,(s+l)/2]:[(a+o)/2,l]}e.exports=function(t,e){var r,i=t.cd,a=t.xaxis,o=t.yaxis,s=i[0].trace,l="funnel"===s.type,c="h"===s.orientation,u=[];if(!1===e)for(r=0;r<i.length;r++)i[r].selected=0;else for(r=0;r<i.length;r++){var f=i[r],h="ct"in f?f.ct:n(f,a,o,c,l);e.contains(h,!1,r,t)?(u.push({pointNumber:r,x:a.c2d(f.x),y:o.c2d(f.y)}),f.selected=1):f.selected=0}return u}},{}],934:[function(t,e,r){"use strict";e.exports=a;var n=t("../../lib").distinctVals,i=t("../../constants/numerical").BADNUM;function a(t,e){this.traces=t,this.sepNegVal=e.sepNegVal,this.overlapNoMerge=e.overlapNoMerge;for(var r=1/0,a=[],o=0;o<t.length;o++){for(var s=t[o],l=0;l<s.length;l++){var c=s[l];c.p!==i&&a.push(c.p)}s[0]&&s[0].width1&&(r=Math.min(s[0].width1,r))}this.positions=a;var u=n(a,{unitMinDiff:e.unitMinDiff});this.distinctPositions=u.vals,1===u.vals.length&&r!==1/0?this.minDiff=r:this.minDiff=Math.min(u.minDiff,r),this.binWidth=this.minDiff,this.bins={}}a.prototype.put=function(t,e){var r=this.getLabel(t,e),n=this.bins[r]||0;return this.bins[r]=n+e,n},a.prototype.get=function(t,e){var r=this.getLabel(t,e);return this.bins[r]||0},a.prototype.getLabel=function(t,e){return(e<0&&this.sepNegVal?"v":"^")+(this.overlapNoMerge?t:Math.round(t/this.binWidth))}},{"../../constants/numerical":753,"../../lib":778}],935:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../components/color"),a=t("../../components/drawing"),o=t("../../lib"),s=t("../../registry"),l=t("./uniform_text").resizeText,c=t("./attributes"),u=c.textfont,f=c.insidetextfont,h=c.outsidetextfont,p=t("./helpers");function d(t,e,r){a.pointStyle(t.selectAll("path"),e,r),g(t,e,r)}function g(t,e,r){t.selectAll("text").each((function(t){var i=n.select(this),s=o.ensureUniformFontSize(r,m(i,t,e,r));a.font(i,s)}))}function m(t,e,r,n){var i=n._fullLayout.font,a=r.textfont;if(t.classed("bartext-inside")){var o=_(e,r);a=y(r,e.i,i,o)}else t.classed("bartext-outside")&&(a=x(r,e.i,i));return a}function v(t,e,r){return b(u,t.textfont,e,r)}function y(t,e,r,n){var a=v(t,e,r);return(void 0===t._input.textfont||void 0===t._input.textfont.color||Array.isArray(t.textfont.color)&&void 0===t.textfont.color[e])&&(a={color:i.contrast(n),family:a.family,size:a.size}),b(f,t.insidetextfont,e,a)}function x(t,e,r){var n=v(t,e,r);return b(h,t.outsidetextfont,e,n)}function b(t,e,r,n){e=e||{};var i=p.getValue(e.family,r),a=p.getValue(e.size,r),o=p.getValue(e.color,r);return{family:p.coerceString(t.family,i,n.family),size:p.coerceNumber(t.size,a,n.size),color:p.coerceColor(t.color,o,n.color)}}function _(t,e){return"waterfall"===e.type?e[t.dir].marker.color:t.mc||e.marker.color}e.exports={style:function(t){var e=n.select(t).selectAll("g.barlayer").selectAll("g.trace");l(t,e,"bar");var r=e.size(),i=t._fullLayout;e.style("opacity",(function(t){return t[0].trace.opacity})).each((function(t){("stack"===i.barmode&&r>1||0===i.bargap&&0===i.bargroupgap&&!t[0].trace.marker.line.width)&&n.select(this).attr("shape-rendering","crispEdges")})),e.selectAll("g.points").each((function(e){d(n.select(this),e[0].trace,t)})),s.getComponentMethod("errorbars","style")(e)},styleTextPoints:g,styleOnSelect:function(t,e,r){var i=e[0].trace;i.selectedpoints?function(t,e,r){a.selectedPointStyle(t.selectAll("path"),e),function(t,e,r){t.each((function(t){var i,s=n.select(this);if(t.selected){i=o.ensureUniformFontSize(r,m(s,t,e,r));var l=e.selected.textfont&&e.selected.textfont.color;l&&(i.color=l),a.font(s,i)}else a.selectedTextStyle(s,e)}))}(t.selectAll("text"),e,r)}(r,i,t):(d(r,i,t),s.getComponentMethod("errorbars","style")(r))},getInsideTextFont:y,getOutsideTextFont:x,getBarColor:_,resizeText:l}},{"../../components/color":643,"../../components/drawing":665,"../../lib":778,"../../registry":911,"./attributes":921,"./helpers":927,"./uniform_text":937,d3:169}],936:[function(t,e,r){"use strict";var n=t("../../components/color"),i=t("../../components/colorscale/helpers").hasColorscale,a=t("../../components/colorscale/defaults");e.exports=function(t,e,r,o,s){r("marker.color",o),i(t,"marker")&&a(t,e,s,r,{prefix:"marker.",cLetter:"c"}),r("marker.line.color",n.defaultLine),i(t,"marker.line")&&a(t,e,s,r,{prefix:"marker.line.",cLetter:"c"}),r("marker.line.width"),r("marker.opacity"),r("selected.marker.color"),r("unselected.marker.color")}},{"../../components/color":643,"../../components/colorscale/defaults":653,"../../components/colorscale/helpers":654}],937:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../lib");function a(t){return"_"+t+"Text_minsize"}e.exports={recordMinTextSize:function(t,e,r){if(r.uniformtext.mode){var n=a(t),i=r.uniformtext.minsize,o=e.scale*e.fontSize;e.hide=o<i,r[n]=r[n]||1/0,e.hide||(r[n]=Math.min(r[n],Math.max(o,i)))}},clearMinTextSize:function(t,e){e[a(t)]=void 0},resizeText:function(t,e,r){var a=t._fullLayout,o=a["_"+r+"Text_minsize"];if(o){var s,l="hide"===a.uniformtext.mode;switch(r){case"funnelarea":case"pie":case"sunburst":s="g.slice";break;case"treemap":s="g.slice, g.pathbar";break;default:s="g.points > g.point"}e.selectAll(s).each((function(t){var e=t.transform;e&&(e.scale=l&&e.hide?0:o/e.fontSize,n.select(this).select("text").attr("transform",i.getTextTransform(e)))}))}}}},{"../../lib":778,d3:169}],938:[function(t,e,r){"use strict";var n=t("../../plots/template_attributes").hovertemplateAttrs,i=t("../../lib/extend").extendFlat,a=t("../scatterpolar/attributes"),o=t("../bar/attributes");e.exports={r:a.r,theta:a.theta,r0:a.r0,dr:a.dr,theta0:a.theta0,dtheta:a.dtheta,thetaunit:a.thetaunit,base:i({},o.base,{}),offset:i({},o.offset,{}),width:i({},o.width,{}),text:i({},o.text,{}),hovertext:i({},o.hovertext,{}),marker:o.marker,hoverinfo:a.hoverinfo,hovertemplate:n(),selected:o.selected,unselected:o.unselected}},{"../../lib/extend":768,"../../plots/template_attributes":906,"../bar/attributes":921,"../scatterpolar/attributes":1261}],939:[function(t,e,r){"use strict";var n=t("../../components/colorscale/helpers").hasColorscale,i=t("../../components/colorscale/calc"),a=t("../bar/arrays_to_calcdata"),o=t("../bar/cross_trace_calc").setGroupPositions,s=t("../scatter/calc_selection"),l=t("../../registry").traceIs,c=t("../../lib").extendFlat;e.exports={calc:function(t,e){for(var r=t._fullLayout,o=e.subplot,l=r[o].radialaxis,c=r[o].angularaxis,u=l.makeCalcdata(e,"r"),f=c.makeCalcdata(e,"theta"),h=e._length,p=new Array(h),d=u,g=f,m=0;m<h;m++)p[m]={p:g[m],s:d[m]};function v(t){var r=e[t];void 0!==r&&(e["_"+t]=Array.isArray(r)?c.makeCalcdata(e,t):c.d2c(r,e.thetaunit))}return"linear"===c.type&&(v("width"),v("offset")),n(e,"marker")&&i(t,e,{vals:e.marker.color,containerStr:"marker",cLetter:"c"}),n(e,"marker.line")&&i(t,e,{vals:e.marker.line.color,containerStr:"marker.line",cLetter:"c"}),a(p,e),s(p,e),p},crossTraceCalc:function(t,e,r){for(var n=t.calcdata,i=[],a=0;a<n.length;a++){var s=n[a],u=s[0].trace;!0===u.visible&&l(u,"bar")&&u.subplot===r&&i.push(s)}var f=c({},e.radialaxis,{_id:"x"}),h=e.angularaxis;o(t,h,f,i,{mode:e.barmode,norm:e.barnorm,gap:e.bargap,groupgap:e.bargroupgap})}}},{"../../components/colorscale/calc":651,"../../components/colorscale/helpers":654,"../../lib":778,"../../registry":911,"../bar/arrays_to_calcdata":920,"../bar/cross_trace_calc":924,"../scatter/calc_selection":1189}],940:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../scatterpolar/defaults").handleRThetaDefaults,a=t("../bar/style_defaults"),o=t("./attributes");e.exports=function(t,e,r,s){function l(r,i){return n.coerce(t,e,o,r,i)}i(t,e,s,l)?(l("thetaunit"),l("base"),l("offset"),l("width"),l("text"),l("hovertext"),l("hovertemplate"),a(t,e,l,r,s),n.coerceSelectionMarkerOpacity(e,l)):e.visible=!1}},{"../../lib":778,"../bar/style_defaults":936,"../scatterpolar/defaults":1263,"./attributes":938}],941:[function(t,e,r){"use strict";var n=t("../../components/fx"),i=t("../../lib"),a=t("../bar/hover").getTraceColor,o=i.fillText,s=t("../scatterpolar/hover").makeHoverPointText,l=t("../../plots/polar/helpers").isPtInsidePolygon;e.exports=function(t,e,r){var c=t.cd,u=c[0].trace,f=t.subplot,h=f.radialAxis,p=f.angularAxis,d=f.vangles,g=d?l:i.isPtInsideSector,m=t.maxHoverDistance,v=p._period||2*Math.PI,y=Math.abs(h.g2p(Math.sqrt(e*e+r*r))),x=Math.atan2(r,e);h.range[0]>h.range[1]&&(x+=Math.PI);if(n.getClosest(c,(function(t){return g(y,x,[t.rp0,t.rp1],[t.thetag0,t.thetag1],d)?m+Math.min(1,Math.abs(t.thetag1-t.thetag0)/v)-1+(t.rp1-y)/(t.rp1-t.rp0)-1:1/0}),t),!1!==t.index){var b=c[t.index];t.x0=t.x1=b.ct[0],t.y0=t.y1=b.ct[1];var _=i.extendFlat({},b,{r:b.s,theta:b.p});return o(b,u,t),s(_,u,f,t),t.hovertemplate=u.hovertemplate,t.color=a(u,b),t.xLabelVal=t.yLabelVal=void 0,b.s<0&&(t.idealAlign="left"),[t]}}},{"../../components/fx":683,"../../lib":778,"../../plots/polar/helpers":893,"../bar/hover":928,"../scatterpolar/hover":1265}],942:[function(t,e,r){"use strict";e.exports={moduleType:"trace",name:"barpolar",basePlotModule:t("../../plots/polar"),categories:["polar","bar","showLegend"],attributes:t("./attributes"),layoutAttributes:t("./layout_attributes"),supplyDefaults:t("./defaults"),supplyLayoutDefaults:t("./layout_defaults"),calc:t("./calc").calc,crossTraceCalc:t("./calc").crossTraceCalc,plot:t("./plot"),colorbar:t("../scatter/marker_colorbar"),formatLabels:t("../scatterpolar/format_labels"),style:t("../bar/style").style,styleOnSelect:t("../bar/style").styleOnSelect,hoverPoints:t("./hover"),selectPoints:t("../bar/select"),meta:{}}},{"../../plots/polar":894,"../bar/select":933,"../bar/style":935,"../scatter/marker_colorbar":1205,"../scatterpolar/format_labels":1264,"./attributes":938,"./calc":939,"./defaults":940,"./hover":941,"./layout_attributes":943,"./layout_defaults":944,"./plot":945}],943:[function(t,e,r){"use strict";e.exports={barmode:{valType:"enumerated",values:["stack","overlay"],dflt:"stack",editType:"calc"},bargap:{valType:"number",dflt:.1,min:0,max:1,editType:"calc"}}},{}],944:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./layout_attributes");e.exports=function(t,e,r){var a,o={};function s(r,o){return n.coerce(t[a]||{},e[a],i,r,o)}for(var l=0;l<r.length;l++){var c=r[l];"barpolar"===c.type&&!0===c.visible&&(o[a=c.subplot]||(s("barmode"),s("bargap"),o[a]=1))}}},{"../../lib":778,"./layout_attributes":943}],945:[function(t,e,r){"use strict";var n=t("d3"),i=t("fast-isnumeric"),a=t("../../lib"),o=t("../../components/drawing"),s=t("../../plots/polar/helpers");e.exports=function(t,e,r){var l=e.xaxis,c=e.yaxis,u=e.radialAxis,f=e.angularAxis,h=function(t){var e=t.cxx,r=t.cyy;if(t.vangles)return function(n,i,o,l){var c,u;a.angleDelta(o,l)>0?(c=o,u=l):(c=l,u=o);var f=[s.findEnclosingVertexAngles(c,t.vangles)[0],(c+u)/2,s.findEnclosingVertexAngles(u,t.vangles)[1]];return s.pathPolygonAnnulus(n,i,c,u,f,e,r)};return function(t,n,i,o){return a.pathAnnulus(t,n,i,o,e,r)}}(e),p=e.layers.frontplot.select("g.barlayer");a.makeTraceGroups(p,r,"trace bars").each((function(){var r=n.select(this),s=a.ensureSingle(r,"g","points").selectAll("g.point").data(a.identity);s.enter().append("g").style("vector-effect","non-scaling-stroke").style("stroke-miterlimit",2).classed("point",!0),s.exit().remove(),s.each((function(t){var e,r=n.select(this),o=t.rp0=u.c2p(t.s0),s=t.rp1=u.c2p(t.s1),p=t.thetag0=f.c2g(t.p0),d=t.thetag1=f.c2g(t.p1);if(i(o)&&i(s)&&i(p)&&i(d)&&o!==s&&p!==d){var g=u.c2g(t.s1),m=(p+d)/2;t.ct=[l.c2p(g*Math.cos(m)),c.c2p(g*Math.sin(m))],e=h(o,s,p,d)}else e="M0,0Z";a.ensureSingle(r,"path").attr("d",e)})),o.setClipUrl(r,e._hasClipOnAxisFalse?e.clipIds.forTraces:null,t)}))}},{"../../components/drawing":665,"../../lib":778,"../../plots/polar/helpers":893,d3:169,"fast-isnumeric":241}],946:[function(t,e,r){"use strict";var n=t("../scatter/attributes"),i=t("../bar/attributes"),a=t("../../components/color/attributes"),o=t("../../plots/template_attributes").hovertemplateAttrs,s=t("../../lib/extend").extendFlat,l=n.marker,c=l.line;e.exports={y:{valType:"data_array",editType:"calc+clearAxisTypes"},x:{valType:"data_array",editType:"calc+clearAxisTypes"},x0:{valType:"any",editType:"calc+clearAxisTypes"},y0:{valType:"any",editType:"calc+clearAxisTypes"},dx:{valType:"number",editType:"calc"},dy:{valType:"number",editType:"calc"},xperiod:n.xperiod,yperiod:n.yperiod,xperiod0:n.xperiod0,yperiod0:n.yperiod0,xperiodalignment:n.xperiodalignment,yperiodalignment:n.yperiodalignment,name:{valType:"string",editType:"calc+clearAxisTypes"},q1:{valType:"data_array",editType:"calc+clearAxisTypes"},median:{valType:"data_array",editType:"calc+clearAxisTypes"},q3:{valType:"data_array",editType:"calc+clearAxisTypes"},lowerfence:{valType:"data_array",editType:"calc"},upperfence:{valType:"data_array",editType:"calc"},notched:{valType:"boolean",editType:"calc"},notchwidth:{valType:"number",min:0,max:.5,dflt:.25,editType:"calc"},notchspan:{valType:"data_array",editType:"calc"},boxpoints:{valType:"enumerated",values:["all","outliers","suspectedoutliers",!1],editType:"calc"},jitter:{valType:"number",min:0,max:1,editType:"calc"},pointpos:{valType:"number",min:-2,max:2,editType:"calc"},boxmean:{valType:"enumerated",values:[!0,"sd",!1],editType:"calc"},mean:{valType:"data_array",editType:"calc"},sd:{valType:"data_array",editType:"calc"},orientation:{valType:"enumerated",values:["v","h"],editType:"calc+clearAxisTypes"},quartilemethod:{valType:"enumerated",values:["linear","exclusive","inclusive"],dflt:"linear",editType:"calc"},width:{valType:"number",min:0,dflt:0,editType:"calc"},marker:{outliercolor:{valType:"color",dflt:"rgba(0, 0, 0, 0)",editType:"style"},symbol:s({},l.symbol,{arrayOk:!1,editType:"plot"}),opacity:s({},l.opacity,{arrayOk:!1,dflt:1,editType:"style"}),size:s({},l.size,{arrayOk:!1,editType:"calc"}),color:s({},l.color,{arrayOk:!1,editType:"style"}),line:{color:s({},c.color,{arrayOk:!1,dflt:a.defaultLine,editType:"style"}),width:s({},c.width,{arrayOk:!1,dflt:0,editType:"style"}),outliercolor:{valType:"color",editType:"style"},outlierwidth:{valType:"number",min:0,dflt:1,editType:"style"},editType:"style"},editType:"plot"},line:{color:{valType:"color",editType:"style"},width:{valType:"number",min:0,dflt:2,editType:"style"},editType:"plot"},fillcolor:n.fillcolor,whiskerwidth:{valType:"number",min:0,max:1,dflt:.5,editType:"calc"},offsetgroup:i.offsetgroup,alignmentgroup:i.alignmentgroup,selected:{marker:n.selected.marker,editType:"style"},unselected:{marker:n.unselected.marker,editType:"style"},text:s({},n.text,{}),hovertext:s({},n.hovertext,{}),hovertemplate:o({}),hoveron:{valType:"flaglist",flags:["boxes","points"],dflt:"boxes+points",editType:"style"}}},{"../../components/color/attributes":642,"../../lib/extend":768,"../../plots/template_attributes":906,"../bar/attributes":921,"../scatter/attributes":1187}],947:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../plots/cartesian/axes"),a=t("../../plots/cartesian/align_period"),o=t("../../lib"),s=t("../../constants/numerical").BADNUM,l=o._;e.exports=function(t,e){var r,c,y,x,b,_,w,T=t._fullLayout,k=i.getFromId(t,e.xaxis||"x"),M=i.getFromId(t,e.yaxis||"y"),A=[],S="violin"===e.type?"_numViolins":"_numBoxes";"h"===e.orientation?(y=k,x="x",b=M,_="y",w=!!e.yperiodalignment):(y=M,x="y",b=k,_="x",w=!!e.xperiodalignment);var E,C,L,I,P,z,O=function(t,e,r,i){var s,l=e+"0"in t,c="d"+e in t;if(e in t||l&&c){var u=r.makeCalcdata(t,e);return[a(t,r,e,u),u]}s=l?t[e+"0"]:"name"in t&&("category"===r.type||n(t.name)&&-1!==["linear","log"].indexOf(r.type)||o.isDateTime(t.name)&&"date"===r.type)?t.name:i;for(var f="multicategory"===r.type?r.r2c_just_indices(s):r.d2c(s,0,t[e+"calendar"]),h=t._length,p=new Array(h),d=0;d<h;d++)p[d]=f;return[p]}(e,_,b,T[S]),D=O[0],R=O[1],F=o.distinctVals(D),B=F.vals,N=F.minDiff/2,j="all"===(e.boxpoints||e.points)?o.identity:function(t){return t.v<E.lf||t.v>E.uf};if(e._hasPreCompStats){var U=e[x],V=function(t){return y.d2c((e[t]||[])[r])},q=1/0,H=-1/0;for(r=0;r<e._length;r++){var G=D[r];if(n(G)){if((E={}).pos=E[_]=G,w&&R&&(E.orig_p=R[r]),E.q1=V("q1"),E.med=V("median"),E.q3=V("q3"),C=[],U&&o.isArrayOrTypedArray(U[r]))for(c=0;c<U[r].length;c++)(z=y.d2c(U[r][c]))!==s&&(u(P={v:z,i:[r,c]},e,[r,c]),C.push(P));if(E.pts=C.sort(f),I=(L=E[x]=C.map(h)).length,E.med!==s&&E.q1!==s&&E.q3!==s&&E.med>=E.q1&&E.q3>=E.med){var Y=V("lowerfence");E.lf=Y!==s&&Y<=E.q1?Y:p(E,L,I);var W=V("upperfence");E.uf=W!==s&&W>=E.q3?W:d(E,L,I);var X=V("mean");E.mean=X!==s?X:I?o.mean(L,I):(E.q1+E.q3)/2;var Z=V("sd");E.sd=X!==s&&Z>=0?Z:I?o.stdev(L,I,E.mean):E.q3-E.q1,E.lo=g(E),E.uo=m(E);var J=V("notchspan");J=J!==s&&J>0?J:v(E,I),E.ln=E.med-J,E.un=E.med+J;var K=E.lf,Q=E.uf;e.boxpoints&&L.length&&(K=Math.min(K,L[0]),Q=Math.max(Q,L[I-1])),e.notched&&(K=Math.min(K,E.ln),Q=Math.max(Q,E.un)),E.min=K,E.max=Q}else{var $;o.warn(["Invalid input - make sure that q1 <= median <= q3","q1 = "+E.q1,"median = "+E.med,"q3 = "+E.q3].join("\n")),$=E.med!==s?E.med:E.q1!==s?E.q3!==s?(E.q1+E.q3)/2:E.q1:E.q3!==s?E.q3:0,E.med=$,E.q1=E.q3=$,E.lf=E.uf=$,E.mean=E.sd=$,E.ln=E.un=$,E.min=E.max=$}q=Math.min(q,E.min),H=Math.max(H,E.max),E.pts2=C.filter(j),A.push(E)}}e._extremes[y._id]=i.findExtremes(y,[q,H],{padded:!0})}else{var tt=y.makeCalcdata(e,x),et=function(t,e){for(var r=t.length,n=new Array(r+1),i=0;i<r;i++)n[i]=t[i]-e;return n[r]=t[r-1]+e,n}(B,N),rt=B.length,nt=function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=[];return e}(rt);for(r=0;r<e._length;r++)if(z=tt[r],n(z)){var it=o.findBin(D[r],et);it>=0&&it<rt&&(u(P={v:z,i:r},e,r),nt[it].push(P))}var at=1/0,ot=-1/0,st=e.quartilemethod,lt="exclusive"===st,ct="inclusive"===st;for(r=0;r<rt;r++)if(nt[r].length>0){var ut,ft;if((E={}).pos=E[_]=B[r],C=E.pts=nt[r].sort(f),I=(L=E[x]=C.map(h)).length,E.min=L[0],E.max=L[I-1],E.mean=o.mean(L,I),E.sd=o.stdev(L,I,E.mean),E.med=o.interp(L,.5),I%2&&(lt||ct))lt?(ut=L.slice(0,I/2),ft=L.slice(I/2+1)):ct&&(ut=L.slice(0,I/2+1),ft=L.slice(I/2)),E.q1=o.interp(ut,.5),E.q3=o.interp(ft,.5);else E.q1=o.interp(L,.25),E.q3=o.interp(L,.75);E.lf=p(E,L,I),E.uf=d(E,L,I),E.lo=g(E),E.uo=m(E);var ht=v(E,I);E.ln=E.med-ht,E.un=E.med+ht,at=Math.min(at,E.ln),ot=Math.max(ot,E.un),E.pts2=C.filter(j),A.push(E)}e._extremes[y._id]=i.findExtremes(y,e.notched?tt.concat([at,ot]):tt,{padded:!0})}return function(t,e){if(o.isArrayOrTypedArray(e.selectedpoints))for(var r=0;r<t.length;r++){for(var n=t[r].pts||[],i={},a=0;a<n.length;a++)i[n[a].i]=a;o.tagSelected(n,e,i)}}(A,e),A.length>0?(A[0].t={num:T[S],dPos:N,posLetter:_,valLetter:x,labels:{med:l(t,"median:"),min:l(t,"min:"),q1:l(t,"q1:"),q3:l(t,"q3:"),max:l(t,"max:"),mean:"sd"===e.boxmean?l(t,"mean \xb1 \u03c3:"):l(t,"mean:"),lf:l(t,"lower fence:"),uf:l(t,"upper fence:")}},T[S]++,A):[{t:{empty:!0}}]};var c={text:"tx",hovertext:"htx"};function u(t,e,r){for(var n in c)o.isArrayOrTypedArray(e[n])&&(Array.isArray(r)?o.isArrayOrTypedArray(e[n][r[0]])&&(t[c[n]]=e[n][r[0]][r[1]]):t[c[n]]=e[n][r])}function f(t,e){return t.v-e.v}function h(t){return t.v}function p(t,e,r){return 0===r?t.q1:Math.min(t.q1,e[Math.min(o.findBin(2.5*t.q1-1.5*t.q3,e,!0)+1,r-1)])}function d(t,e,r){return 0===r?t.q3:Math.max(t.q3,e[Math.max(o.findBin(2.5*t.q3-1.5*t.q1,e),0)])}function g(t){return 4*t.q1-3*t.q3}function m(t){return 4*t.q3-3*t.q1}function v(t,e){return 0===e?0:1.57*(t.q3-t.q1)/Math.sqrt(e)}},{"../../constants/numerical":753,"../../lib":778,"../../plots/cartesian/align_period":825,"../../plots/cartesian/axes":828,"fast-isnumeric":241}],948:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes"),i=t("../../lib"),a=t("../../plots/cartesian/constraints").getAxisGroup,o=["v","h"];function s(t,e,r,o){var s,l,c,u=e.calcdata,f=e._fullLayout,h=o._id,p=h.charAt(0),d=[],g=0;for(s=0;s<r.length;s++)for(c=u[r[s]],l=0;l<c.length;l++)d.push(o.c2l(c[l].pos,!0)),g+=(c[l].pts2||[]).length;if(d.length){var m=i.distinctVals(d,{unitMinDiff:"category"===o.type||"multicategory"===o.type}),v=m.minDiff/2;n.minDtick(o,m.minDiff,m.vals[0],!0);var y=f["violin"===t?"_numViolins":"_numBoxes"],x="group"===f[t+"mode"]&&y>1,b=1-f[t+"gap"],_=1-f[t+"groupgap"];for(s=0;s<r.length;s++){var w,T,k,M,A,S,E=(c=u[r[s]])[0].trace,C=c[0].t,L=E.width,I=E.side;if(L)w=T=M=L/2,k=0;else if(w=v,x){var P=a(f,o._id)+E.orientation,z=(f._alignmentOpts[P]||{})[E.alignmentgroup]||{},O=Object.keys(z.offsetGroups||{}).length,D=O||y;T=w*b*_/D,k=2*w*(((O?E._offsetIndex:C.num)+.5)/D-.5)*b,M=w*b/D}else T=w*b*_,k=0,M=w;C.dPos=w,C.bPos=k,C.bdPos=T,C.wHover=M;var R,F,B,N,j,U,V=k+T,q=Boolean(L);if("positive"===I?(A=w*(L?1:.5),R=V,S=R=k):"negative"===I?(A=R=k,S=w*(L?1:.5),F=V):(A=S=w,R=F=V),(E.boxpoints||E.points)&&g>0){var H=E.pointpos,G=E.jitter,Y=E.marker.size/2,W=0;H+G>=0&&((W=V*(H+G))>A?(q=!0,j=Y,B=W):W>R&&(j=Y,B=A)),W<=A&&(B=A);var X=0;H-G<=0&&((X=-V*(H-G))>S?(q=!0,U=Y,N=X):X>F&&(U=Y,N=S)),X<=S&&(N=S)}else B=A,N=S;var Z=new Array(c.length);for(l=0;l<c.length;l++)Z[l]=c[l].pos;E._extremes[h]=n.findExtremes(o,Z,{padded:q,vpadminus:N,vpadplus:B,vpadLinearized:!0,ppadminus:{x:U,y:j}[p],ppadplus:{x:j,y:U}[p]})}}}e.exports={crossTraceCalc:function(t,e){for(var r=t.calcdata,n=e.xaxis,i=e.yaxis,a=0;a<o.length;a++){for(var l=o[a],c="h"===l?i:n,u=[],f=0;f<r.length;f++){var h=r[f],p=h[0].t,d=h[0].trace;!0!==d.visible||"box"!==d.type&&"candlestick"!==d.type||p.empty||(d.orientation||"v")!==l||d.xaxis!==n._id||d.yaxis!==i._id||u.push(f)}s("box",t,u,c)}},setPositionOffset:s}},{"../../lib":778,"../../plots/cartesian/axes":828,"../../plots/cartesian/constraints":835}],949:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../registry"),a=t("../../components/color"),o=t("../scatter/period_defaults"),s=t("../bar/defaults").handleGroupingDefaults,l=t("../../plots/cartesian/axis_autotype"),c=t("./attributes");function u(t,e,r,a){function o(t){var e=0;return t&&t.length&&(e+=1,n.isArrayOrTypedArray(t[0])&&t[0].length&&(e+=1)),e}function s(e){return n.validate(t[e],c[e])}var u,f=r("y"),h=r("x");if("box"===e.type){var p=r("q1"),d=r("median"),g=r("q3");e._hasPreCompStats=p&&p.length&&d&&d.length&&g&&g.length,u=Math.min(n.minRowLength(p),n.minRowLength(d),n.minRowLength(g))}var m,v,y=o(f),x=o(h),b=y&&n.minRowLength(f),_=x&&n.minRowLength(h),w=a.calendar,T={autotypenumbers:a.autotypenumbers};if(e._hasPreCompStats)switch(String(x)+String(y)){case"00":var k=s("x0")||s("dx");m=(s("y0")||s("dy"))&&!k?"h":"v",v=u;break;case"10":m="v",v=Math.min(u,_);break;case"20":m="h",v=Math.min(u,h.length);break;case"01":m="h",v=Math.min(u,b);break;case"02":m="v",v=Math.min(u,f.length);break;case"12":m="v",v=Math.min(u,_,f.length);break;case"21":m="h",v=Math.min(u,h.length,b);break;case"11":v=0;break;case"22":var M,A=!1;for(M=0;M<h.length;M++)if("category"===l(h[M],w,T)){A=!0;break}if(A)m="v",v=Math.min(u,_,f.length);else{for(M=0;M<f.length;M++)if("category"===l(f[M],w,T)){A=!0;break}A?(m="h",v=Math.min(u,h.length,b)):(m="v",v=Math.min(u,_,f.length))}}else y>0?(m="v",v=x>0?Math.min(_,b):Math.min(b)):x>0?(m="h",v=Math.min(_)):v=0;if(v){e._length=v;var S=r("orientation",m);e._hasPreCompStats?"v"===S&&0===x?(r("x0",0),r("dx",1)):"h"===S&&0===y&&(r("y0",0),r("dy",1)):"v"===S&&0===x?r("x0"):"h"===S&&0===y&&r("y0"),i.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x","y"],a)}else e.visible=!1}function f(t,e,r,i){var a=i.prefix,o=n.coerce2(t,e,c,"marker.outliercolor"),s=r("marker.line.outliercolor"),l="outliers";e._hasPreCompStats?l="all":(o||s)&&(l="suspectedoutliers");var u=r(a+"points",l);u?(r("jitter","all"===u?.3:0),r("pointpos","all"===u?-1.5:0),r("marker.symbol"),r("marker.opacity"),r("marker.size"),r("marker.color",e.line.color),r("marker.line.color"),r("marker.line.width"),"suspectedoutliers"===u&&(r("marker.line.outliercolor",e.marker.color),r("marker.line.outlierwidth")),r("selected.marker.color"),r("unselected.marker.color"),r("selected.marker.size"),r("unselected.marker.size"),r("text"),r("hovertext")):delete e.marker;var f=r("hoveron");"all"!==f&&-1===f.indexOf("points")||r("hovertemplate"),n.coerceSelectionMarkerOpacity(e,r)}e.exports={supplyDefaults:function(t,e,r,i){function s(r,i){return n.coerce(t,e,c,r,i)}if(u(t,e,s,i),!1!==e.visible){o(t,e,i,s);var l=e._hasPreCompStats;l&&(s("lowerfence"),s("upperfence")),s("line.color",(t.marker||{}).color||r),s("line.width"),s("fillcolor",a.addOpacity(e.line.color,.5));var h=!1;if(l){var p=s("mean"),d=s("sd");p&&p.length&&(h=!0,d&&d.length&&(h="sd"))}s("boxmean",h),s("whiskerwidth"),s("width"),s("quartilemethod");var g=!1;if(l){var m=s("notchspan");m&&m.length&&(g=!0)}else n.validate(t.notchwidth,c.notchwidth)&&(g=!0);s("notched",g)&&s("notchwidth"),f(t,e,s,{prefix:"box"})}},crossTraceDefaults:function(t,e){var r,i;function a(t){return n.coerce(i._input,i,c,t)}for(var o=0;o<t.length;o++){var l=(i=t[o]).type;"box"!==l&&"violin"!==l||(r=i._input,"group"===e[l+"mode"]&&s(r,i,e,a))}},handleSampleDefaults:u,handlePointsDefaults:f}},{"../../components/color":643,"../../lib":778,"../../plots/cartesian/axis_autotype":829,"../../registry":911,"../bar/defaults":925,"../scatter/period_defaults":1207,"./attributes":946}],950:[function(t,e,r){"use strict";e.exports=function(t,e){return e.hoverOnBox&&(t.hoverOnBox=e.hoverOnBox),"xVal"in e&&(t.x=e.xVal),"yVal"in e&&(t.y=e.yVal),e.xa&&(t.xaxis=e.xa),e.ya&&(t.yaxis=e.ya),t}},{}],951:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes"),i=t("../../lib"),a=t("../../components/fx"),o=t("../../components/color"),s=i.fillText;function l(t,e,r,s){var l,c,u,f,h,p,d,g,m,v,y,x,b,_,w=t.cd,T=t.xa,k=t.ya,M=w[0].trace,A=w[0].t,S="violin"===M.type,E=[],C=A.bdPos,L=A.wHover,I=function(t){return u.c2l(t.pos)+A.bPos-u.c2l(p)};S&&"both"!==M.side?("positive"===M.side&&(m=function(t){var e=I(t);return a.inbox(e,e+L,v)},x=C,b=0),"negative"===M.side&&(m=function(t){var e=I(t);return a.inbox(e-L,e,v)},x=0,b=C)):(m=function(t){var e=I(t);return a.inbox(e-L,e+L,v)},x=b=C),_=S?function(t){return a.inbox(t.span[0]-h,t.span[1]-h,v)}:function(t){return a.inbox(t.min-h,t.max-h,v)},"h"===M.orientation?(h=e,p=r,d=_,g=m,l="y",u=k,c="x",f=T):(h=r,p=e,d=m,g=_,l="x",u=T,c="y",f=k);var P=Math.min(1,C/Math.abs(u.r2c(u.range[1])-u.r2c(u.range[0])));function z(t){return(d(t)+g(t))/2}v=t.maxHoverDistance-P,y=t.maxSpikeDistance-P;var O=a.getDistanceFunction(s,d,g,z);if(a.getClosest(w,O,t),!1===t.index)return[];var D=w[t.index],R=M.line.color,F=(M.marker||{}).color;o.opacity(R)&&M.line.width?t.color=R:o.opacity(F)&&M.boxpoints?t.color=F:t.color=M.fillcolor,t[l+"0"]=u.c2p(D.pos+A.bPos-b,!0),t[l+"1"]=u.c2p(D.pos+A.bPos+x,!0),t[l+"LabelVal"]=void 0!==D.orig_p?D.orig_p:D.pos;var B=l+"Spike";t.spikeDistance=z(D)*y/v,t[B]=u.c2p(D.pos,!0);var N={},j=["med","q1","q3","min","max"];(M.boxmean||(M.meanline||{}).visible)&&j.push("mean"),(M.boxpoints||M.points)&&j.push("lf","uf");for(var U=0;U<j.length;U++){var V=j[U];if(V in D&&!(D[V]in N)){N[D[V]]=!0;var q=D[V],H=f.c2p(q,!0),G=i.extendFlat({},t);G.attr=V,G[c+"0"]=G[c+"1"]=H,G[c+"LabelVal"]=q,G[c+"Label"]=(A.labels?A.labels[V]+" ":"")+n.hoverLabelText(f,q),G.hoverOnBox=!0,"mean"===V&&"sd"in D&&"sd"===M.boxmean&&(G[c+"err"]=D.sd),t.name="",t.spikeDistance=void 0,t[B]=void 0,G.hovertemplate=!1,E.push(G)}}return E}function c(t,e,r){for(var n,o,l,c=t.cd,u=t.xa,f=t.ya,h=c[0].trace,p=u.c2p(e),d=f.c2p(r),g=a.quadrature((function(t){var e=Math.max(3,t.mrc||0);return Math.max(Math.abs(u.c2p(t.x)-p)-e,1-3/e)}),(function(t){var e=Math.max(3,t.mrc||0);return Math.max(Math.abs(f.c2p(t.y)-d)-e,1-3/e)})),m=!1,v=0;v<c.length;v++){o=c[v];for(var y=0;y<(o.pts||[]).length;y++){var x=g(l=o.pts[y]);x<=t.distance&&(t.distance=x,m=[v,y])}}if(!m)return!1;l=(o=c[m[0]]).pts[m[1]];var b=u.c2p(l.x,!0),_=f.c2p(l.y,!0),w=l.mrc||1;n=i.extendFlat({},t,{index:l.i,color:(h.marker||{}).color,name:h.name,x0:b-w,x1:b+w,y0:_-w,y1:_+w,spikeDistance:t.distance,hovertemplate:h.hovertemplate});var T,k=o.orig_p,M=void 0!==k?k:o.pos;return"h"===h.orientation?(T=f,n.xLabelVal=l.x,n.yLabelVal=M):(T=u,n.xLabelVal=M,n.yLabelVal=l.y),n[T._id.charAt(0)+"Spike"]=T.c2p(o.pos,!0),s(l,h,n),n}e.exports={hoverPoints:function(t,e,r,n){var i,a=t.cd[0].trace.hoveron,o=[];return-1!==a.indexOf("boxes")&&(o=o.concat(l(t,e,r,n))),-1!==a.indexOf("points")&&(i=c(t,e,r)),"closest"===n?i?[i]:o:i?(o.push(i),o):o},hoverOnBoxes:l,hoverOnPoints:c}},{"../../components/color":643,"../../components/fx":683,"../../lib":778,"../../plots/cartesian/axes":828}],952:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),layoutAttributes:t("./layout_attributes"),supplyDefaults:t("./defaults").supplyDefaults,crossTraceDefaults:t("./defaults").crossTraceDefaults,supplyLayoutDefaults:t("./layout_defaults").supplyLayoutDefaults,calc:t("./calc"),crossTraceCalc:t("./cross_trace_calc").crossTraceCalc,plot:t("./plot").plot,style:t("./style").style,styleOnSelect:t("./style").styleOnSelect,hoverPoints:t("./hover").hoverPoints,eventData:t("./event_data"),selectPoints:t("./select"),moduleType:"trace",name:"box",basePlotModule:t("../../plots/cartesian"),categories:["cartesian","svg","symbols","oriented","box-violin","showLegend","boxLayout","zoomScale"],meta:{}}},{"../../plots/cartesian":841,"./attributes":946,"./calc":947,"./cross_trace_calc":948,"./defaults":949,"./event_data":950,"./hover":951,"./layout_attributes":953,"./layout_defaults":954,"./plot":955,"./select":956,"./style":957}],953:[function(t,e,r){"use strict";e.exports={boxmode:{valType:"enumerated",values:["group","overlay"],dflt:"overlay",editType:"calc"},boxgap:{valType:"number",min:0,max:1,dflt:.3,editType:"calc"},boxgroupgap:{valType:"number",min:0,max:1,dflt:.3,editType:"calc"}}},{}],954:[function(t,e,r){"use strict";var n=t("../../registry"),i=t("../../lib"),a=t("./layout_attributes");function o(t,e,r,i,a){for(var o=a+"Layout",s=!1,l=0;l<r.length;l++){var c=r[l];if(n.traceIs(c,o)){s=!0;break}}s&&(i(a+"mode"),i(a+"gap"),i(a+"groupgap"))}e.exports={supplyLayoutDefaults:function(t,e,r){o(0,0,r,(function(r,n){return i.coerce(t,e,a,r,n)}),"box")},_supply:o}},{"../../lib":778,"../../registry":911,"./layout_attributes":953}],955:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../lib"),a=t("../../components/drawing");function o(t,e,r,a){var o,s,l="h"===r.orientation,c=e.val,u=e.pos,f=!!u.rangebreaks,h=a.bPos,p=a.wdPos||0,d=a.bPosPxOffset||0,g=r.whiskerwidth||0,m=r.notched||!1,v=m?1-2*r.notchwidth:1;Array.isArray(a.bdPos)?(o=a.bdPos[0],s=a.bdPos[1]):(o=a.bdPos,s=a.bdPos);var y=t.selectAll("path.box").data("violin"!==r.type||r.box.visible?i.identity:[]);y.enter().append("path").style("vector-effect","non-scaling-stroke").attr("class","box"),y.exit().remove(),y.each((function(t){if(t.empty)return"M0,0Z";var e=u.c2l(t.pos+h,!0),a=u.l2p(e-o)+d,y=u.l2p(e+s)+d,x=f?(a+y)/2:u.l2p(e)+d,b=r.whiskerwidth,_=f?a*b+(1-b)*x:u.l2p(e-p)+d,w=f?y*b+(1-b)*x:u.l2p(e+p)+d,T=u.l2p(e-o*v)+d,k=u.l2p(e+s*v)+d,M=c.c2p(t.q1,!0),A=c.c2p(t.q3,!0),S=i.constrain(c.c2p(t.med,!0),Math.min(M,A)+1,Math.max(M,A)-1),E=void 0===t.lf||!1===r.boxpoints,C=c.c2p(E?t.min:t.lf,!0),L=c.c2p(E?t.max:t.uf,!0),I=c.c2p(t.ln,!0),P=c.c2p(t.un,!0);l?n.select(this).attr("d","M"+S+","+T+"V"+k+"M"+M+","+a+"V"+y+(m?"H"+I+"L"+S+","+k+"L"+P+","+y:"")+"H"+A+"V"+a+(m?"H"+P+"L"+S+","+T+"L"+I+","+a:"")+"ZM"+M+","+x+"H"+C+"M"+A+","+x+"H"+L+(0===g?"":"M"+C+","+_+"V"+w+"M"+L+","+_+"V"+w)):n.select(this).attr("d","M"+T+","+S+"H"+k+"M"+a+","+M+"H"+y+(m?"V"+I+"L"+k+","+S+"L"+y+","+P:"")+"V"+A+"H"+a+(m?"V"+P+"L"+T+","+S+"L"+a+","+I:"")+"ZM"+x+","+M+"V"+C+"M"+x+","+A+"V"+L+(0===g?"":"M"+_+","+C+"H"+w+"M"+_+","+L+"H"+w))}))}function s(t,e,r,n){var o=e.x,s=e.y,l=n.bdPos,c=n.bPos,u=r.boxpoints||r.points;i.seedPseudoRandom();var f=t.selectAll("g.points").data(u?function(t){return t.forEach((function(t){t.t=n,t.trace=r})),t}:[]);f.enter().append("g").attr("class","points"),f.exit().remove();var h=f.selectAll("path").data((function(t){var e,n,a=t.pts2,o=Math.max((t.max-t.min)/10,t.q3-t.q1),s=1e-9*o,f=.01*o,h=[],p=0;if(r.jitter){if(0===o)for(p=1,h=new Array(a.length),e=0;e<a.length;e++)h[e]=1;else for(e=0;e<a.length;e++){var d=Math.max(0,e-5),g=a[d].v,m=Math.min(a.length-1,e+5),v=a[m].v;"all"!==u&&(a[e].v<t.lf?v=Math.min(v,t.lf):g=Math.max(g,t.uf));var y=Math.sqrt(f*(m-d)/(v-g+s))||0;y=i.constrain(Math.abs(y),0,1),h.push(y),p=Math.max(y,p)}n=2*r.jitter/(p||1)}for(e=0;e<a.length;e++){var x=a[e],b=x.v,_=r.jitter?n*h[e]*(i.pseudoRandom()-.5):0,w=t.pos+c+l*(r.pointpos+_);"h"===r.orientation?(x.y=w,x.x=b):(x.x=w,x.y=b),"suspectedoutliers"===u&&b<t.uo&&b>t.lo&&(x.so=!0)}return a}));h.enter().append("path").classed("point",!0),h.exit().remove(),h.call(a.translatePoints,o,s)}function l(t,e,r,a){var o,s,l=e.val,c=e.pos,u=!!c.rangebreaks,f=a.bPos,h=a.bPosPxOffset||0,p=r.boxmean||(r.meanline||{}).visible;Array.isArray(a.bdPos)?(o=a.bdPos[0],s=a.bdPos[1]):(o=a.bdPos,s=a.bdPos);var d=t.selectAll("path.mean").data("box"===r.type&&r.boxmean||"violin"===r.type&&r.box.visible&&r.meanline.visible?i.identity:[]);d.enter().append("path").attr("class","mean").style({fill:"none","vector-effect":"non-scaling-stroke"}),d.exit().remove(),d.each((function(t){var e=c.c2l(t.pos+f,!0),i=c.l2p(e-o)+h,a=c.l2p(e+s)+h,d=u?(i+a)/2:c.l2p(e)+h,g=l.c2p(t.mean,!0),m=l.c2p(t.mean-t.sd,!0),v=l.c2p(t.mean+t.sd,!0);"h"===r.orientation?n.select(this).attr("d","M"+g+","+i+"V"+a+("sd"===p?"m0,0L"+m+","+d+"L"+g+","+i+"L"+v+","+d+"Z":"")):n.select(this).attr("d","M"+i+","+g+"H"+a+("sd"===p?"m0,0L"+d+","+m+"L"+i+","+g+"L"+d+","+v+"Z":""))}))}e.exports={plot:function(t,e,r,a){var c=e.xaxis,u=e.yaxis;i.makeTraceGroups(a,r,"trace boxes").each((function(t){var e,r,i=n.select(this),a=t[0],f=a.t,h=a.trace;(f.wdPos=f.bdPos*h.whiskerwidth,!0!==h.visible||f.empty)?i.remove():("h"===h.orientation?(e=u,r=c):(e=c,r=u),o(i,{pos:e,val:r},h,f),s(i,{x:c,y:u},h,f),l(i,{pos:e,val:r},h,f))}))},plotBoxAndWhiskers:o,plotPoints:s,plotBoxMean:l}},{"../../components/drawing":665,"../../lib":778,d3:169}],956:[function(t,e,r){"use strict";e.exports=function(t,e){var r,n,i=t.cd,a=t.xaxis,o=t.yaxis,s=[];if(!1===e)for(r=0;r<i.length;r++)for(n=0;n<(i[r].pts||[]).length;n++)i[r].pts[n].selected=0;else for(r=0;r<i.length;r++)for(n=0;n<(i[r].pts||[]).length;n++){var l=i[r].pts[n],c=a.c2p(l.x),u=o.c2p(l.y);e.contains([c,u],null,l.i,t)?(s.push({pointNumber:l.i,x:a.c2d(l.x),y:o.c2d(l.y)}),l.selected=1):l.selected=0}return s}},{}],957:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../components/color"),a=t("../../components/drawing");e.exports={style:function(t,e,r){var o=r||n.select(t).selectAll("g.trace.boxes");o.style("opacity",(function(t){return t[0].trace.opacity})),o.each((function(e){var r=n.select(this),o=e[0].trace,s=o.line.width;function l(t,e,r,n){t.style("stroke-width",e+"px").call(i.stroke,r).call(i.fill,n)}var c=r.selectAll("path.box");if("candlestick"===o.type)c.each((function(t){if(!t.empty){var e=n.select(this),r=o[t.dir];l(e,r.line.width,r.line.color,r.fillcolor),e.style("opacity",o.selectedpoints&&!t.selected?.3:1)}}));else{l(c,s,o.line.color,o.fillcolor),r.selectAll("path.mean").style({"stroke-width":s,"stroke-dasharray":2*s+"px,"+s+"px"}).call(i.stroke,o.line.color);var u=r.selectAll("path.point");a.pointStyle(u,o,t)}}))},styleOnSelect:function(t,e,r){var n=e[0].trace,i=r.selectAll("path.point");n.selectedpoints?a.selectedPointStyle(i,n):a.pointStyle(i,n,t)}}},{"../../components/color":643,"../../components/drawing":665,d3:169}],958:[function(t,e,r){"use strict";var n=t("../../lib").extendFlat,i=t("../ohlc/attributes"),a=t("../box/attributes");function o(t){return{line:{color:n({},a.line.color,{dflt:t}),width:a.line.width,editType:"style"},fillcolor:a.fillcolor,editType:"style"}}e.exports={xperiod:i.xperiod,xperiod0:i.xperiod0,xperiodalignment:i.xperiodalignment,x:i.x,open:i.open,high:i.high,low:i.low,close:i.close,line:{width:n({},a.line.width,{}),editType:"style"},increasing:o(i.increasing.line.color.dflt),decreasing:o(i.decreasing.line.color.dflt),text:i.text,hovertext:i.hovertext,whiskerwidth:n({},a.whiskerwidth,{dflt:0}),hoverlabel:i.hoverlabel}},{"../../lib":778,"../box/attributes":946,"../ohlc/attributes":1133}],959:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../plots/cartesian/axes"),a=t("../../plots/cartesian/align_period"),o=t("../ohlc/calc").calcCommon;function s(t,e,r,n){return{min:r,q1:Math.min(t,n),med:n,q3:Math.max(t,n),max:e}}e.exports=function(t,e){var r=t._fullLayout,l=i.getFromId(t,e.xaxis),c=i.getFromId(t,e.yaxis),u=l.makeCalcdata(e,"x"),f=a(e,l,"x",u),h=o(t,e,u,f,c,s);return h.length?(n.extendFlat(h[0].t,{num:r._numBoxes,dPos:n.distinctVals(f).minDiff/2,posLetter:"x",valLetter:"y"}),r._numBoxes++,h):[{t:{empty:!0}}]}},{"../../lib":778,"../../plots/cartesian/align_period":825,"../../plots/cartesian/axes":828,"../ohlc/calc":1134}],960:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../components/color"),a=t("../ohlc/ohlc_defaults"),o=t("../scatter/period_defaults"),s=t("./attributes");function l(t,e,r,n){var a=r(n+".line.color");r(n+".line.width",e.line.width),r(n+".fillcolor",i.addOpacity(a,.5))}e.exports=function(t,e,r,i){function c(r,i){return n.coerce(t,e,s,r,i)}a(t,e,c,i)?(o(t,e,i,c,{x:!0}),c("line.width"),l(t,e,c,"increasing"),l(t,e,c,"decreasing"),c("text"),c("hovertext"),c("whiskerwidth"),i._requestRangeslider[e.xaxis]=!0):e.visible=!1}},{"../../components/color":643,"../../lib":778,"../ohlc/ohlc_defaults":1138,"../scatter/period_defaults":1207,"./attributes":958}],961:[function(t,e,r){"use strict";e.exports={moduleType:"trace",name:"candlestick",basePlotModule:t("../../plots/cartesian"),categories:["cartesian","svg","showLegend","candlestick","boxLayout"],meta:{},attributes:t("./attributes"),layoutAttributes:t("../box/layout_attributes"),supplyLayoutDefaults:t("../box/layout_defaults").supplyLayoutDefaults,crossTraceCalc:t("../box/cross_trace_calc").crossTraceCalc,supplyDefaults:t("./defaults"),calc:t("./calc"),plot:t("../box/plot").plot,layerName:"boxlayer",style:t("../box/style").style,hoverPoints:t("../ohlc/hover").hoverPoints,selectPoints:t("../ohlc/select")}},{"../../plots/cartesian":841,"../box/cross_trace_calc":948,"../box/layout_attributes":953,"../box/layout_defaults":954,"../box/plot":955,"../box/style":957,"../ohlc/hover":1136,"../ohlc/select":1140,"./attributes":958,"./calc":959,"./defaults":960}],962:[function(t,e,r){"use strict";var n=t("./axis_defaults"),i=t("../../plot_api/plot_template");e.exports=function(t,e,r,a,o){a("a")||(a("da"),a("a0")),a("b")||(a("db"),a("b0")),function(t,e,r,a){["aaxis","baxis"].forEach((function(o){var s=o.charAt(0),l=t[o]||{},c=i.newContainer(e,o),u={tickfont:"x",id:s+"axis",letter:s,font:e.font,name:o,data:t[s],calendar:e.calendar,dfltColor:a,bgColor:r.paper_bgcolor,autotypenumbersDflt:r.autotypenumbers,fullLayout:r};n(l,c,u),c._categories=c._categories||[],t[o]||"-"===l.type||(t[o]={type:l.type})}))}(t,e,r,o)}},{"../../plot_api/plot_template":817,"./axis_defaults":967}],963:[function(t,e,r){"use strict";var n=t("../../lib").isArrayOrTypedArray;e.exports=function(t){return function t(e,r){if(!n(e)||r>=10)return null;for(var i=1/0,a=-1/0,o=e.length,s=0;s<o;s++){var l=e[s];if(n(l)){var c=t(l,r+1);c&&(i=Math.min(c[0],i),a=Math.max(c[1],a))}else i=Math.min(l,i),a=Math.max(l,a)}return[i,a]}(t,0)}},{"../../lib":778}],964:[function(t,e,r){"use strict";var n=t("../../plots/font_attributes"),i=t("./axis_attributes"),a=t("../../components/color/attributes"),o=n({editType:"calc"});o.family.dflt='"Open Sans", verdana, arial, sans-serif',o.size.dflt=12,o.color.dflt=a.defaultLine,e.exports={carpet:{valType:"string",editType:"calc"},x:{valType:"data_array",editType:"calc+clearAxisTypes"},y:{valType:"data_array",editType:"calc+clearAxisTypes"},a:{valType:"data_array",editType:"calc"},a0:{valType:"number",dflt:0,editType:"calc"},da:{valType:"number",dflt:1,editType:"calc"},b:{valType:"data_array",editType:"calc"},b0:{valType:"number",dflt:0,editType:"calc"},db:{valType:"number",dflt:1,editType:"calc"},cheaterslope:{valType:"number",dflt:1,editType:"calc"},aaxis:i,baxis:i,font:o,color:{valType:"color",dflt:a.defaultLine,editType:"plot"},transforms:void 0}},{"../../components/color/attributes":642,"../../plots/font_attributes":856,"./axis_attributes":966}],965:[function(t,e,r){"use strict";var n=t("../../lib").isArrayOrTypedArray;e.exports=function(t,e,r,i){var a,o,s,l,c,u,f,h,p,d,g,m,v,y=n(r)?"a":"b",x=("a"===y?t.aaxis:t.baxis).smoothing,b="a"===y?t.a2i:t.b2j,_="a"===y?r:i,w="a"===y?i:r,T="a"===y?e.a.length:e.b.length,k="a"===y?e.b.length:e.a.length,M=Math.floor("a"===y?t.b2j(w):t.a2i(w)),A="a"===y?function(e){return t.evalxy([],e,M)}:function(e){return t.evalxy([],M,e)};x&&(s=Math.max(0,Math.min(k-2,M)),l=M-s,o="a"===y?function(e,r){return t.dxydi([],e,s,r,l)}:function(e,r){return t.dxydj([],s,e,l,r)});var S=b(_[0]),E=b(_[1]),C=S<E?1:-1,L=1e-8*(E-S),I=C>0?Math.floor:Math.ceil,P=C>0?Math.ceil:Math.floor,z=C>0?Math.min:Math.max,O=C>0?Math.max:Math.min,D=I(S+L),R=P(E-L),F=[[f=A(S)]];for(a=D;a*C<R*C;a+=C)c=[],g=O(S,a),v=(m=z(E,a+C))-g,u=Math.max(0,Math.min(T-2,Math.floor(.5*(g+m)))),h=A(m),x&&(p=o(u,g-u),d=o(u,m-u),c.push([f[0]+p[0]/3*v,f[1]+p[1]/3*v]),c.push([h[0]-d[0]/3*v,h[1]-d[1]/3*v])),c.push(h),F.push(c),f=h;return F}},{"../../lib":778}],966:[function(t,e,r){"use strict";var n=t("../../plots/font_attributes"),i=t("../../components/color/attributes"),a=t("../../plots/cartesian/layout_attributes"),o=t("../../plot_api/edit_types").overrideAll;t("../../constants/docs").FORMAT_LINK,t("../../constants/docs").TIME_FORMAT_LINK;e.exports={color:{valType:"color",editType:"calc"},smoothing:{valType:"number",dflt:1,min:0,max:1.3,editType:"calc"},title:{text:{valType:"string",dflt:"",editType:"calc"},font:n({editType:"calc"}),offset:{valType:"number",dflt:10,editType:"calc"},editType:"calc"},type:{valType:"enumerated",values:["-","linear","date","category"],dflt:"-",editType:"calc"},autotypenumbers:a.autotypenumbers,autorange:{valType:"enumerated",values:[!0,!1,"reversed"],dflt:!0,editType:"calc"},rangemode:{valType:"enumerated",values:["normal","tozero","nonnegative"],dflt:"normal",editType:"calc"},range:{valType:"info_array",editType:"calc",items:[{valType:"any",editType:"calc"},{valType:"any",editType:"calc"}]},fixedrange:{valType:"boolean",dflt:!1,editType:"calc"},cheatertype:{valType:"enumerated",values:["index","value"],dflt:"value",editType:"calc"},tickmode:{valType:"enumerated",values:["linear","array"],dflt:"array",editType:"calc"},nticks:{valType:"integer",min:0,dflt:0,editType:"calc"},tickvals:{valType:"data_array",editType:"calc"},ticktext:{valType:"data_array",editType:"calc"},showticklabels:{valType:"enumerated",values:["start","end","both","none"],dflt:"start",editType:"calc"},tickfont:n({editType:"calc"}),tickangle:{valType:"angle",dflt:"auto",editType:"calc"},tickprefix:{valType:"string",dflt:"",editType:"calc"},showtickprefix:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"calc"},ticksuffix:{valType:"string",dflt:"",editType:"calc"},showticksuffix:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"calc"},showexponent:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"calc"},exponentformat:{valType:"enumerated",values:["none","e","E","power","SI","B"],dflt:"B",editType:"calc"},minexponent:{valType:"number",dflt:3,min:0,editType:"calc"},separatethousands:{valType:"boolean",dflt:!1,editType:"calc"},tickformat:{valType:"string",dflt:"",editType:"calc"},tickformatstops:o(a.tickformatstops,"calc","from-root"),categoryorder:{valType:"enumerated",values:["trace","category ascending","category descending","array"],dflt:"trace",editType:"calc"},categoryarray:{valType:"data_array",editType:"calc"},labelpadding:{valType:"integer",dflt:10,editType:"calc"},labelprefix:{valType:"string",editType:"calc"},labelsuffix:{valType:"string",dflt:"",editType:"calc"},showline:{valType:"boolean",dflt:!1,editType:"calc"},linecolor:{valType:"color",dflt:i.defaultLine,editType:"calc"},linewidth:{valType:"number",min:0,dflt:1,editType:"calc"},gridcolor:{valType:"color",editType:"calc"},gridwidth:{valType:"number",min:0,dflt:1,editType:"calc"},showgrid:{valType:"boolean",dflt:!0,editType:"calc"},minorgridcount:{valType:"integer",min:0,dflt:0,editType:"calc"},minorgridwidth:{valType:"number",min:0,dflt:1,editType:"calc"},minorgridcolor:{valType:"color",dflt:i.lightLine,editType:"calc"},startline:{valType:"boolean",editType:"calc"},startlinecolor:{valType:"color",editType:"calc"},startlinewidth:{valType:"number",dflt:1,editType:"calc"},endline:{valType:"boolean",editType:"calc"},endlinewidth:{valType:"number",dflt:1,editType:"calc"},endlinecolor:{valType:"color",editType:"calc"},tick0:{valType:"number",min:0,dflt:0,editType:"calc"},dtick:{valType:"number",min:0,dflt:1,editType:"calc"},arraytick0:{valType:"integer",min:0,dflt:0,editType:"calc"},arraydtick:{valType:"integer",min:1,dflt:1,editType:"calc"},_deprecated:{title:{valType:"string",editType:"calc"},titlefont:n({editType:"calc"}),titleoffset:{valType:"number",dflt:10,editType:"calc"}},editType:"calc"}},{"../../components/color/attributes":642,"../../constants/docs":748,"../../plot_api/edit_types":810,"../../plots/cartesian/layout_attributes":842,"../../plots/font_attributes":856}],967:[function(t,e,r){"use strict";var n=t("./attributes"),i=t("../../components/color").addOpacity,a=t("../../registry"),o=t("../../lib"),s=t("../../plots/cartesian/tick_value_defaults"),l=t("../../plots/cartesian/tick_label_defaults"),c=t("../../plots/cartesian/category_order_defaults"),u=t("../../plots/cartesian/set_convert"),f=t("../../plots/cartesian/axis_autotype");e.exports=function(t,e,r){var h=r.letter,p=r.font||{},d=n[h+"axis"];function g(r,n){return o.coerce(t,e,d,r,n)}function m(r,n){return o.coerce2(t,e,d,r,n)}r.name&&(e._name=r.name,e._id=r.name),g("autotypenumbers",r.autotypenumbersDflt);var v=g("type");("-"===v&&(r.data&&function(t,e){if("-"!==t.type)return;var r=t._id.charAt(0),n=t[r+"calendar"];t.type=f(e,n,{autotypenumbers:t.autotypenumbers})}(e,r.data),"-"===e.type?e.type="linear":v=t.type=e.type),g("smoothing"),g("cheatertype"),g("showticklabels"),g("labelprefix",h+" = "),g("labelsuffix"),g("showtickprefix"),g("showticksuffix"),g("separatethousands"),g("tickformat"),g("exponentformat"),g("minexponent"),g("showexponent"),g("categoryorder"),g("tickmode"),g("tickvals"),g("ticktext"),g("tick0"),g("dtick"),"array"===e.tickmode&&(g("arraytick0"),g("arraydtick")),g("labelpadding"),e._hovertitle=h,"date"===v)&&a.getComponentMethod("calendars","handleDefaults")(t,e,"calendar",r.calendar);u(e,r.fullLayout),e.c2p=o.identity;var y=g("color",r.dfltColor),x=y===t.color?y:p.color;g("title.text")&&(o.coerceFont(g,"title.font",{family:p.family,size:Math.round(1.2*p.size),color:x}),g("title.offset")),g("tickangle"),g("autorange",!e.isValidRange(t.range))&&g("rangemode"),g("range"),e.cleanRange(),g("fixedrange"),s(t,e,g,v),l(t,e,g,v,r),c(t,e,g,{data:r.data,dataAttr:h});var b=m("gridcolor",i(y,.3)),_=m("gridwidth"),w=g("showgrid");w||(delete e.gridcolor,delete e.gridwidth);var T=m("startlinecolor",y),k=m("startlinewidth",_);g("startline",e.showgrid||!!T||!!k)||(delete e.startlinecolor,delete e.startlinewidth);var M=m("endlinecolor",y),A=m("endlinewidth",_);return g("endline",e.showgrid||!!M||!!A)||(delete e.endlinecolor,delete e.endlinewidth),w?(g("minorgridcount"),g("minorgridwidth",_),g("minorgridcolor",i(b,.06)),e.minorgridcount||(delete e.minorgridwidth,delete e.minorgridcolor)):(delete e.gridcolor,delete e.gridWidth),"none"===e.showticklabels&&(delete e.tickfont,delete e.tickangle,delete e.showexponent,delete e.exponentformat,delete e.minexponent,delete e.tickformat,delete e.showticksuffix,delete e.showtickprefix),e.showticksuffix||delete e.ticksuffix,e.showtickprefix||delete e.tickprefix,g("tickmode"),e}},{"../../components/color":643,"../../lib":778,"../../plots/cartesian/axis_autotype":829,"../../plots/cartesian/category_order_defaults":832,"../../plots/cartesian/set_convert":848,"../../plots/cartesian/tick_label_defaults":849,"../../plots/cartesian/tick_value_defaults":851,"../../registry":911,"./attributes":964}],968:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes"),i=t("../../lib").isArray1D,a=t("./cheater_basis"),o=t("./array_minmax"),s=t("./calc_gridlines"),l=t("./calc_labels"),c=t("./calc_clippath"),u=t("../heatmap/clean_2d_array"),f=t("./smooth_fill_2d_array"),h=t("../heatmap/convert_column_xyz"),p=t("./set_convert");e.exports=function(t,e){var r=n.getFromId(t,e.xaxis),d=n.getFromId(t,e.yaxis),g=e.aaxis,m=e.baxis,v=e.x,y=e.y,x=[];v&&i(v)&&x.push("x"),y&&i(y)&&x.push("y"),x.length&&h(e,g,m,"a","b",x);var b=e._a=e._a||e.a,_=e._b=e._b||e.b;v=e._x||e.x,y=e._y||e.y;var w={};if(e._cheater){var T="index"===g.cheatertype?b.length:b,k="index"===m.cheatertype?_.length:_;v=a(T,k,e.cheaterslope)}e._x=v=u(v),e._y=y=u(y),f(v,b,_),f(y,b,_),p(e),e.setScale();var M=o(v),A=o(y),S=.5*(M[1]-M[0]),E=.5*(M[1]+M[0]),C=.5*(A[1]-A[0]),L=.5*(A[1]+A[0]);return M=[E-1.3*S,E+1.3*S],A=[L-1.3*C,L+1.3*C],e._extremes[r._id]=n.findExtremes(r,M,{padded:!0}),e._extremes[d._id]=n.findExtremes(d,A,{padded:!0}),s(e,"a","b"),s(e,"b","a"),l(e,g),l(e,m),w.clipsegments=c(e._xctrl,e._yctrl,g,m),w.x=v,w.y=y,w.a=b,w.b=_,[w]}},{"../../lib":778,"../../plots/cartesian/axes":828,"../heatmap/clean_2d_array":1067,"../heatmap/convert_column_xyz":1069,"./array_minmax":963,"./calc_clippath":969,"./calc_gridlines":970,"./calc_labels":971,"./cheater_basis":973,"./set_convert":986,"./smooth_fill_2d_array":987}],969:[function(t,e,r){"use strict";e.exports=function(t,e,r,n){var i,a,o,s=[],l=!!r.smoothing,c=!!n.smoothing,u=t[0].length-1,f=t.length-1;for(i=0,a=[],o=[];i<=u;i++)a[i]=t[0][i],o[i]=e[0][i];for(s.push({x:a,y:o,bicubic:l}),i=0,a=[],o=[];i<=f;i++)a[i]=t[i][u],o[i]=e[i][u];for(s.push({x:a,y:o,bicubic:c}),i=u,a=[],o=[];i>=0;i--)a[u-i]=t[f][i],o[u-i]=e[f][i];for(s.push({x:a,y:o,bicubic:l}),i=f,a=[],o=[];i>=0;i--)a[f-i]=t[i][0],o[f-i]=e[i][0];return s.push({x:a,y:o,bicubic:c}),s}},{}],970:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes"),i=t("../../lib/extend").extendFlat;e.exports=function(t,e,r){var a,o,s,l,c,u,f,h,p,d,g,m,v,y,x=t["_"+e],b=t[e+"axis"],_=b._gridlines=[],w=b._minorgridlines=[],T=b._boundarylines=[],k=t["_"+r],M=t[r+"axis"];"array"===b.tickmode&&(b.tickvals=x.slice());var A=t._xctrl,S=t._yctrl,E=A[0].length,C=A.length,L=t._a.length,I=t._b.length;n.prepTicks(b),"array"===b.tickmode&&delete b.tickvals;var P=b.smoothing?3:1;function z(n){var i,a,o,s,l,c,u,f,p,d,g,m,v=[],y=[],x={};if("b"===e)for(a=t.b2j(n),o=Math.floor(Math.max(0,Math.min(I-2,a))),s=a-o,x.length=I,x.crossLength=L,x.xy=function(e){return t.evalxy([],e,a)},x.dxy=function(e,r){return t.dxydi([],e,o,r,s)},i=0;i<L;i++)c=Math.min(L-2,i),u=i-c,f=t.evalxy([],i,a),M.smoothing&&i>0&&(p=t.dxydi([],i-1,o,0,s),v.push(l[0]+p[0]/3),y.push(l[1]+p[1]/3),d=t.dxydi([],i-1,o,1,s),v.push(f[0]-d[0]/3),y.push(f[1]-d[1]/3)),v.push(f[0]),y.push(f[1]),l=f;else for(i=t.a2i(n),c=Math.floor(Math.max(0,Math.min(L-2,i))),u=i-c,x.length=L,x.crossLength=I,x.xy=function(e){return t.evalxy([],i,e)},x.dxy=function(e,r){return t.dxydj([],c,e,u,r)},a=0;a<I;a++)o=Math.min(I-2,a),s=a-o,f=t.evalxy([],i,a),M.smoothing&&a>0&&(g=t.dxydj([],c,a-1,u,0),v.push(l[0]+g[0]/3),y.push(l[1]+g[1]/3),m=t.dxydj([],c,a-1,u,1),v.push(f[0]-m[0]/3),y.push(f[1]-m[1]/3)),v.push(f[0]),y.push(f[1]),l=f;return x.axisLetter=e,x.axis=b,x.crossAxis=M,x.value=n,x.constvar=r,x.index=h,x.x=v,x.y=y,x.smoothing=M.smoothing,x}function O(n){var i,a,o,s,l,c=[],u=[],f={};if(f.length=x.length,f.crossLength=k.length,"b"===e)for(o=Math.max(0,Math.min(I-2,n)),l=Math.min(1,Math.max(0,n-o)),f.xy=function(e){return t.evalxy([],e,n)},f.dxy=function(e,r){return t.dxydi([],e,o,r,l)},i=0;i<E;i++)c[i]=A[n*P][i],u[i]=S[n*P][i];else for(a=Math.max(0,Math.min(L-2,n)),s=Math.min(1,Math.max(0,n-a)),f.xy=function(e){return t.evalxy([],n,e)},f.dxy=function(e,r){return t.dxydj([],a,e,s,r)},i=0;i<C;i++)c[i]=A[i][n*P],u[i]=S[i][n*P];return f.axisLetter=e,f.axis=b,f.crossAxis=M,f.value=x[n],f.constvar=r,f.index=n,f.x=c,f.y=u,f.smoothing=M.smoothing,f}if("array"===b.tickmode){for(l=5e-15,u=(c=[Math.floor((x.length-1-b.arraytick0)/b.arraydtick*(1+l)),Math.ceil(-b.arraytick0/b.arraydtick/(1+l))].sort((function(t,e){return t-e})))[0]-1,f=c[1]+1,h=u;h<f;h++)(o=b.arraytick0+b.arraydtick*h)<0||o>x.length-1||_.push(i(O(o),{color:b.gridcolor,width:b.gridwidth}));for(h=u;h<f;h++)if(s=b.arraytick0+b.arraydtick*h,g=Math.min(s+b.arraydtick,x.length-1),!(s<0||s>x.length-1||g<0||g>x.length-1))for(m=x[s],v=x[g],a=0;a<b.minorgridcount;a++)(y=g-s)<=0||(d=m+(v-m)*(a+1)/(b.minorgridcount+1)*(b.arraydtick/y))<x[0]||d>x[x.length-1]||w.push(i(z(d),{color:b.minorgridcolor,width:b.minorgridwidth}));b.startline&&T.push(i(O(0),{color:b.startlinecolor,width:b.startlinewidth})),b.endline&&T.push(i(O(x.length-1),{color:b.endlinecolor,width:b.endlinewidth}))}else{for(l=5e-15,u=(c=[Math.floor((x[x.length-1]-b.tick0)/b.dtick*(1+l)),Math.ceil((x[0]-b.tick0)/b.dtick/(1+l))].sort((function(t,e){return t-e})))[0],f=c[1],h=u;h<=f;h++)p=b.tick0+b.dtick*h,_.push(i(z(p),{color:b.gridcolor,width:b.gridwidth}));for(h=u-1;h<f+1;h++)for(p=b.tick0+b.dtick*h,a=0;a<b.minorgridcount;a++)(d=p+b.dtick*(a+1)/(b.minorgridcount+1))<x[0]||d>x[x.length-1]||w.push(i(z(d),{color:b.minorgridcolor,width:b.minorgridwidth}));b.startline&&T.push(i(z(x[0]),{color:b.startlinecolor,width:b.startlinewidth})),b.endline&&T.push(i(z(x[x.length-1]),{color:b.endlinecolor,width:b.endlinewidth}))}}},{"../../lib/extend":768,"../../plots/cartesian/axes":828}],971:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes"),i=t("../../lib/extend").extendFlat;e.exports=function(t,e){var r,a,o,s=e._labels=[],l=e._gridlines;for(r=0;r<l.length;r++)o=l[r],-1!==["start","both"].indexOf(e.showticklabels)&&(a=n.tickText(e,o.value),i(a,{prefix:void 0,suffix:void 0,endAnchor:!0,xy:o.xy(0),dxy:o.dxy(0,0),axis:o.axis,length:o.crossAxis.length,font:o.axis.tickfont,isFirst:0===r,isLast:r===l.length-1}),s.push(a)),-1!==["end","both"].indexOf(e.showticklabels)&&(a=n.tickText(e,o.value),i(a,{endAnchor:!1,xy:o.xy(o.crossLength-1),dxy:o.dxy(o.crossLength-2,1),axis:o.axis,length:o.crossAxis.length,font:o.axis.tickfont,isFirst:0===r,isLast:r===l.length-1}),s.push(a))}},{"../../lib/extend":768,"../../plots/cartesian/axes":828}],972:[function(t,e,r){"use strict";e.exports=function(t,e,r,n){var i=t[0]-e[0],a=t[1]-e[1],o=r[0]-e[0],s=r[1]-e[1],l=Math.pow(i*i+a*a,.25),c=Math.pow(o*o+s*s,.25),u=(c*c*i-l*l*o)*n,f=(c*c*a-l*l*s)*n,h=c*(l+c)*3,p=l*(l+c)*3;return[[e[0]+(h&&u/h),e[1]+(h&&f/h)],[e[0]-(p&&u/p),e[1]-(p&&f/p)]]}},{}],973:[function(t,e,r){"use strict";var n=t("../../lib").isArrayOrTypedArray;e.exports=function(t,e,r){var i,a,o,s,l,c,u=[],f=n(t)?t.length:t,h=n(e)?e.length:e,p=n(t)?t:null,d=n(e)?e:null;p&&(o=(p.length-1)/(p[p.length-1]-p[0])/(f-1)),d&&(s=(d.length-1)/(d[d.length-1]-d[0])/(h-1));var g=1/0,m=-1/0;for(a=0;a<h;a++)for(u[a]=[],l=d?(d[a]-d[0])*s:a/(h-1),i=0;i<f;i++)c=(p?(p[i]-p[0])*o:i/(f-1))-l*r,g=Math.min(c,g),m=Math.max(c,m),u[a][i]=c;var v=1/(m-g),y=-g*v;for(a=0;a<h;a++)for(i=0;i<f;i++)u[a][i]=v*u[a][i]+y;return u}},{"../../lib":778}],974:[function(t,e,r){"use strict";var n=t("./catmull_rom"),i=t("../../lib").ensureArray;function a(t,e,r){var n=-.5*r[0]+1.5*e[0],i=-.5*r[1]+1.5*e[1];return[(2*n+t[0])/3,(2*i+t[1])/3]}e.exports=function(t,e,r,o,s,l){var c,u,f,h,p,d,g,m,v,y,x=r[0].length,b=r.length,_=s?3*x-2:x,w=l?3*b-2:b;for(t=i(t,w),e=i(e,w),f=0;f<w;f++)t[f]=i(t[f],_),e[f]=i(e[f],_);for(u=0,h=0;u<b;u++,h+=l?3:1)for(p=t[h],d=e[h],g=r[u],m=o[u],c=0,f=0;c<x;c++,f+=s?3:1)p[f]=g[c],d[f]=m[c];if(s)for(u=0,h=0;u<b;u++,h+=l?3:1){for(c=1,f=3;c<x-1;c++,f+=3)v=n([r[u][c-1],o[u][c-1]],[r[u][c],o[u][c]],[r[u][c+1],o[u][c+1]],s),t[h][f-1]=v[0][0],e[h][f-1]=v[0][1],t[h][f+1]=v[1][0],e[h][f+1]=v[1][1];y=a([t[h][0],e[h][0]],[t[h][2],e[h][2]],[t[h][3],e[h][3]]),t[h][1]=y[0],e[h][1]=y[1],y=a([t[h][_-1],e[h][_-1]],[t[h][_-3],e[h][_-3]],[t[h][_-4],e[h][_-4]]),t[h][_-2]=y[0],e[h][_-2]=y[1]}if(l)for(f=0;f<_;f++){for(h=3;h<w-3;h+=3)v=n([t[h-3][f],e[h-3][f]],[t[h][f],e[h][f]],[t[h+3][f],e[h+3][f]],l),t[h-1][f]=v[0][0],e[h-1][f]=v[0][1],t[h+1][f]=v[1][0],e[h+1][f]=v[1][1];y=a([t[0][f],e[0][f]],[t[2][f],e[2][f]],[t[3][f],e[3][f]]),t[1][f]=y[0],e[1][f]=y[1],y=a([t[w-1][f],e[w-1][f]],[t[w-3][f],e[w-3][f]],[t[w-4][f],e[w-4][f]]),t[w-2][f]=y[0],e[w-2][f]=y[1]}if(s&&l)for(h=1;h<w;h+=(h+1)%3==0?2:1){for(f=3;f<_-3;f+=3)v=n([t[h][f-3],e[h][f-3]],[t[h][f],e[h][f]],[t[h][f+3],e[h][f+3]],s),t[h][f-1]=.5*(t[h][f-1]+v[0][0]),e[h][f-1]=.5*(e[h][f-1]+v[0][1]),t[h][f+1]=.5*(t[h][f+1]+v[1][0]),e[h][f+1]=.5*(e[h][f+1]+v[1][1]);y=a([t[h][0],e[h][0]],[t[h][2],e[h][2]],[t[h][3],e[h][3]]),t[h][1]=.5*(t[h][1]+y[0]),e[h][1]=.5*(e[h][1]+y[1]),y=a([t[h][_-1],e[h][_-1]],[t[h][_-3],e[h][_-3]],[t[h][_-4],e[h][_-4]]),t[h][_-2]=.5*(t[h][_-2]+y[0]),e[h][_-2]=.5*(e[h][_-2]+y[1])}return[t,e]}},{"../../lib":778,"./catmull_rom":972}],975:[function(t,e,r){"use strict";e.exports={RELATIVE_CULL_TOLERANCE:1e-6}},{}],976:[function(t,e,r){"use strict";e.exports=function(t,e,r){return e&&r?function(e,r,n,i,a){var o,s,l,c,u,f;e||(e=[]),r*=3,n*=3;var h=i*i,p=1-i,d=p*p,g=p*i*2,m=-3*d,v=3*(d-g),y=3*(g-h),x=3*h,b=a*a,_=b*a,w=1-a,T=w*w,k=T*w;for(f=0;f<t.length;f++)o=m*(u=t[f])[n][r]+v*u[n][r+1]+y*u[n][r+2]+x*u[n][r+3],s=m*u[n+1][r]+v*u[n+1][r+1]+y*u[n+1][r+2]+x*u[n+1][r+3],l=m*u[n+2][r]+v*u[n+2][r+1]+y*u[n+2][r+2]+x*u[n+2][r+3],c=m*u[n+3][r]+v*u[n+3][r+1]+y*u[n+3][r+2]+x*u[n+3][r+3],e[f]=k*o+3*(T*a*s+w*b*l)+_*c;return e}:e?function(e,r,n,i,a){var o,s,l,c;e||(e=[]),r*=3;var u=i*i,f=1-i,h=f*f,p=f*i*2,d=-3*h,g=3*(h-p),m=3*(p-u),v=3*u,y=1-a;for(l=0;l<t.length;l++)o=d*(c=t[l])[n][r]+g*c[n][r+1]+m*c[n][r+2]+v*c[n][r+3],s=d*c[n+1][r]+g*c[n+1][r+1]+m*c[n+1][r+2]+v*c[n+1][r+3],e[l]=y*o+a*s;return e}:r?function(e,r,n,i,a){var o,s,l,c,u,f;e||(e=[]),n*=3;var h=a*a,p=h*a,d=1-a,g=d*d,m=g*d;for(u=0;u<t.length;u++)o=(f=t[u])[n][r+1]-f[n][r],s=f[n+1][r+1]-f[n+1][r],l=f[n+2][r+1]-f[n+2][r],c=f[n+3][r+1]-f[n+3][r],e[u]=m*o+3*(g*a*s+d*h*l)+p*c;return e}:function(e,r,n,i,a){var o,s,l,c;e||(e=[]);var u=1-a;for(l=0;l<t.length;l++)o=(c=t[l])[n][r+1]-c[n][r],s=c[n+1][r+1]-c[n+1][r],e[l]=u*o+a*s;return e}}},{}],977:[function(t,e,r){"use strict";e.exports=function(t,e,r){return e&&r?function(e,r,n,i,a){var o,s,l,c,u,f;e||(e=[]),r*=3,n*=3;var h=i*i,p=h*i,d=1-i,g=d*d,m=g*d,v=a*a,y=1-a,x=y*y,b=y*a*2,_=-3*x,w=3*(x-b),T=3*(b-v),k=3*v;for(f=0;f<t.length;f++)o=_*(u=t[f])[n][r]+w*u[n+1][r]+T*u[n+2][r]+k*u[n+3][r],s=_*u[n][r+1]+w*u[n+1][r+1]+T*u[n+2][r+1]+k*u[n+3][r+1],l=_*u[n][r+2]+w*u[n+1][r+2]+T*u[n+2][r+2]+k*u[n+3][r+2],c=_*u[n][r+3]+w*u[n+1][r+3]+T*u[n+2][r+3]+k*u[n+3][r+3],e[f]=m*o+3*(g*i*s+d*h*l)+p*c;return e}:e?function(e,r,n,i,a){var o,s,l,c,u,f;e||(e=[]),r*=3;var h=a*a,p=h*a,d=1-a,g=d*d,m=g*d;for(u=0;u<t.length;u++)o=(f=t[u])[n+1][r]-f[n][r],s=f[n+1][r+1]-f[n][r+1],l=f[n+1][r+2]-f[n][r+2],c=f[n+1][r+3]-f[n][r+3],e[u]=m*o+3*(g*a*s+d*h*l)+p*c;return e}:r?function(e,r,n,i,a){var o,s,l,c;e||(e=[]),n*=3;var u=1-i,f=a*a,h=1-a,p=h*h,d=h*a*2,g=-3*p,m=3*(p-d),v=3*(d-f),y=3*f;for(l=0;l<t.length;l++)o=g*(c=t[l])[n][r]+m*c[n+1][r]+v*c[n+2][r]+y*c[n+3][r],s=g*c[n][r+1]+m*c[n+1][r+1]+v*c[n+2][r+1]+y*c[n+3][r+1],e[l]=u*o+i*s;return e}:function(e,r,n,i,a){var o,s,l,c;e||(e=[]);var u=1-i;for(l=0;l<t.length;l++)o=(c=t[l])[n+1][r]-c[n][r],s=c[n+1][r+1]-c[n][r+1],e[l]=u*o+i*s;return e}}},{}],978:[function(t,e,r){"use strict";e.exports=function(t,e,r,n,i){var a=e-2,o=r-2;return n&&i?function(e,r,n){var i,s,l,c,u,f;e||(e=[]);var h=Math.max(0,Math.min(Math.floor(r),a)),p=Math.max(0,Math.min(Math.floor(n),o)),d=Math.max(0,Math.min(1,r-h)),g=Math.max(0,Math.min(1,n-p));h*=3,p*=3;var m=d*d,v=m*d,y=1-d,x=y*y,b=x*y,_=g*g,w=_*g,T=1-g,k=T*T,M=k*T;for(f=0;f<t.length;f++)i=b*(u=t[f])[p][h]+3*(x*d*u[p][h+1]+y*m*u[p][h+2])+v*u[p][h+3],s=b*u[p+1][h]+3*(x*d*u[p+1][h+1]+y*m*u[p+1][h+2])+v*u[p+1][h+3],l=b*u[p+2][h]+3*(x*d*u[p+2][h+1]+y*m*u[p+2][h+2])+v*u[p+2][h+3],c=b*u[p+3][h]+3*(x*d*u[p+3][h+1]+y*m*u[p+3][h+2])+v*u[p+3][h+3],e[f]=M*i+3*(k*g*s+T*_*l)+w*c;return e}:n?function(e,r,n){e||(e=[]);var i,s,l,c,u,f,h=Math.max(0,Math.min(Math.floor(r),a)),p=Math.max(0,Math.min(Math.floor(n),o)),d=Math.max(0,Math.min(1,r-h)),g=Math.max(0,Math.min(1,n-p));h*=3;var m=d*d,v=m*d,y=1-d,x=y*y,b=x*y,_=1-g;for(u=0;u<t.length;u++)i=_*(f=t[u])[p][h]+g*f[p+1][h],s=_*f[p][h+1]+g*f[p+1][h+1],l=_*f[p][h+2]+g*f[p+1][h+1],c=_*f[p][h+3]+g*f[p+1][h+1],e[u]=b*i+3*(x*d*s+y*m*l)+v*c;return e}:i?function(e,r,n){e||(e=[]);var i,s,l,c,u,f,h=Math.max(0,Math.min(Math.floor(r),a)),p=Math.max(0,Math.min(Math.floor(n),o)),d=Math.max(0,Math.min(1,r-h)),g=Math.max(0,Math.min(1,n-p));p*=3;var m=g*g,v=m*g,y=1-g,x=y*y,b=x*y,_=1-d;for(u=0;u<t.length;u++)i=_*(f=t[u])[p][h]+d*f[p][h+1],s=_*f[p+1][h]+d*f[p+1][h+1],l=_*f[p+2][h]+d*f[p+2][h+1],c=_*f[p+3][h]+d*f[p+3][h+1],e[u]=b*i+3*(x*g*s+y*m*l)+v*c;return e}:function(e,r,n){e||(e=[]);var i,s,l,c,u=Math.max(0,Math.min(Math.floor(r),a)),f=Math.max(0,Math.min(Math.floor(n),o)),h=Math.max(0,Math.min(1,r-u)),p=Math.max(0,Math.min(1,n-f)),d=1-p,g=1-h;for(l=0;l<t.length;l++)i=g*(c=t[l])[f][u]+h*c[f][u+1],s=g*c[f+1][u]+h*c[f+1][u+1],e[l]=d*i+p*s;return e}}},{}],979:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./xy_defaults"),a=t("./ab_defaults"),o=t("./attributes"),s=t("../../components/color/attributes");e.exports=function(t,e,r,l){function c(r,i){return n.coerce(t,e,o,r,i)}e._clipPathId="clip"+e.uid+"carpet";var u=c("color",s.defaultLine);(n.coerceFont(c,"font"),c("carpet"),a(t,e,l,c,u),e.a&&e.b)?(e.a.length<3&&(e.aaxis.smoothing=0),e.b.length<3&&(e.baxis.smoothing=0),i(t,e,c)||(e.visible=!1),e._cheater&&c("cheaterslope")):e.visible=!1}},{"../../components/color/attributes":642,"../../lib":778,"./ab_defaults":962,"./attributes":964,"./xy_defaults":988}],980:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),plot:t("./plot"),calc:t("./calc"),animatable:!0,isContainer:!0,moduleType:"trace",name:"carpet",basePlotModule:t("../../plots/cartesian"),categories:["cartesian","svg","carpet","carpetAxis","notLegendIsolatable","noMultiCategory","noHover","noSortingByValue"],meta:{}}},{"../../plots/cartesian":841,"./attributes":964,"./calc":968,"./defaults":979,"./plot":985}],981:[function(t,e,r){"use strict";e.exports=function(t,e){for(var r,n=t._fullData.length,i=0;i<n;i++){var a=t._fullData[i];if(a.index!==e.index&&("carpet"===a.type&&(r||(r=a),a.carpet===e.carpet)))return a}return r}},{}],982:[function(t,e,r){"use strict";e.exports=function(t,e,r){if(0===t.length)return"";var n,i=[],a=r?3:1;for(n=0;n<t.length;n+=a)i.push(t[n]+","+e[n]),r&&n<t.length-a&&(i.push("C"),i.push([t[n+1]+","+e[n+1],t[n+2]+","+e[n+2]+" "].join(" ")));return i.join(r?"":"L")}},{}],983:[function(t,e,r){"use strict";var n=t("../../lib").isArrayOrTypedArray;e.exports=function(t,e,r){var i;for(n(t)?t.length>e.length&&(t=t.slice(0,e.length)):t=[],i=0;i<e.length;i++)t[i]=r(e[i]);return t}},{"../../lib":778}],984:[function(t,e,r){"use strict";e.exports=function(t,e,r,n,i,a){var o=i[0]*t.dpdx(e),s=i[1]*t.dpdy(r),l=1,c=1;if(a){var u=Math.sqrt(i[0]*i[0]+i[1]*i[1]),f=Math.sqrt(a[0]*a[0]+a[1]*a[1]),h=(i[0]*a[0]+i[1]*a[1])/u/f;c=Math.max(0,h)}var p=180*Math.atan2(s,o)/Math.PI;return p<-90?(p+=180,l=-l):p>90&&(p-=180,l=-l),{angle:p,flip:l,p:t.c2p(n,e,r),offsetMultplier:c}}},{}],985:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../components/drawing"),a=t("./map_1d_array"),o=t("./makepath"),s=t("./orient_text"),l=t("../../lib/svg_text_utils"),c=t("../../lib"),u=c.strRotate,f=c.strTranslate,h=t("../../constants/alignment");function p(t,e,r,i,s,l){var c="const-"+s+"-lines",u=r.selectAll("."+c).data(l);u.enter().append("path").classed(c,!0).style("vector-effect","non-scaling-stroke"),u.each((function(r){var i=r,s=i.x,l=i.y,c=a([],s,t.c2p),u=a([],l,e.c2p),f="M"+o(c,u,i.smoothing);n.select(this).attr("d",f).style("stroke-width",i.width).style("stroke",i.color).style("fill","none")})),u.exit().remove()}function d(t,e,r,a,o,c,h,p){var d=c.selectAll("text."+p).data(h);d.enter().append("text").classed(p,!0);var g=0,m={};return d.each((function(o,c){var h;if("auto"===o.axis.tickangle)h=s(a,e,r,o.xy,o.dxy);else{var p=(o.axis.tickangle+180)*Math.PI/180;h=s(a,e,r,o.xy,[Math.cos(p),Math.sin(p)])}c||(m={angle:h.angle,flip:h.flip});var d=(o.endAnchor?-1:1)*h.flip,v=n.select(this).attr({"text-anchor":d>0?"start":"end","data-notex":1}).call(i.font,o.font).text(o.text).call(l.convertToTspans,t),y=i.bBox(this);v.attr("transform",f(h.p[0],h.p[1])+u(h.angle)+f(o.axis.labelpadding*d,.3*y.height)),g=Math.max(g,y.width+o.axis.labelpadding)})),d.exit().remove(),m.maxExtent=g,m}e.exports=function(t,e,r,i){var l=e.xaxis,u=e.yaxis,f=t._fullLayout._clips;c.makeTraceGroups(i,r,"trace").each((function(e){var r=n.select(this),i=e[0],h=i.trace,g=h.aaxis,m=h.baxis,y=c.ensureSingle(r,"g","minorlayer"),x=c.ensureSingle(r,"g","majorlayer"),b=c.ensureSingle(r,"g","boundarylayer"),_=c.ensureSingle(r,"g","labellayer");r.style("opacity",h.opacity),p(l,u,x,g,"a",g._gridlines),p(l,u,x,m,"b",m._gridlines),p(l,u,y,g,"a",g._minorgridlines),p(l,u,y,m,"b",m._minorgridlines),p(l,u,b,g,"a-boundary",g._boundarylines),p(l,u,b,m,"b-boundary",m._boundarylines);var w=d(t,l,u,h,i,_,g._labels,"a-label"),T=d(t,l,u,h,i,_,m._labels,"b-label");!function(t,e,r,n,i,a,o,l){var u,f,h,p,d=c.aggNums(Math.min,null,r.a),g=c.aggNums(Math.max,null,r.a),m=c.aggNums(Math.min,null,r.b),y=c.aggNums(Math.max,null,r.b);u=.5*(d+g),f=m,h=r.ab2xy(u,f,!0),p=r.dxyda_rough(u,f),void 0===o.angle&&c.extendFlat(o,s(r,i,a,h,r.dxydb_rough(u,f)));v(t,e,r,n,h,p,r.aaxis,i,a,o,"a-title"),u=d,f=.5*(m+y),h=r.ab2xy(u,f,!0),p=r.dxydb_rough(u,f),void 0===l.angle&&c.extendFlat(l,s(r,i,a,h,r.dxyda_rough(u,f)));v(t,e,r,n,h,p,r.baxis,i,a,l,"b-title")}(t,_,h,i,l,u,w,T),function(t,e,r,n,i){var s,l,u,f,h=r.select("#"+t._clipPathId);h.size()||(h=r.append("clipPath").classed("carpetclip",!0));var p=c.ensureSingle(h,"path","carpetboundary"),d=e.clipsegments,g=[];for(f=0;f<d.length;f++)s=d[f],l=a([],s.x,n.c2p),u=a([],s.y,i.c2p),g.push(o(l,u,s.bicubic));var m="M"+g.join("L")+"Z";h.attr("id",t._clipPathId),p.attr("d",m)}(h,i,f,l,u)}))};var g=h.LINE_SPACING,m=(1-h.MID_SHIFT)/g+1;function v(t,e,r,a,o,c,h,p,d,v,y){var x=[];h.title.text&&x.push(h.title.text);var b=e.selectAll("text."+y).data(x),_=v.maxExtent;b.enter().append("text").classed(y,!0),b.each((function(){var e=s(r,p,d,o,c);-1===["start","both"].indexOf(h.showticklabels)&&(_=0);var a=h.title.font.size;_+=a+h.title.offset;var y=(v.angle+(v.flip<0?180:0)-e.angle+450)%360,x=y>90&&y<270,b=n.select(this);b.text(h.title.text).call(l.convertToTspans,t),x&&(_=(-l.lineCount(b)+m)*g*a-_),b.attr("transform",f(e.p[0],e.p[1])+u(e.angle)+f(0,_)).attr("text-anchor","middle").call(i.font,h.title.font)})),b.exit().remove()}},{"../../components/drawing":665,"../../constants/alignment":745,"../../lib":778,"../../lib/svg_text_utils":803,"./makepath":982,"./map_1d_array":983,"./orient_text":984,d3:169}],986:[function(t,e,r){"use strict";var n=t("./constants"),i=t("../../lib/search").findBin,a=t("./compute_control_points"),o=t("./create_spline_evaluator"),s=t("./create_i_derivative_evaluator"),l=t("./create_j_derivative_evaluator");e.exports=function(t){var e=t._a,r=t._b,c=e.length,u=r.length,f=t.aaxis,h=t.baxis,p=e[0],d=e[c-1],g=r[0],m=r[u-1],v=e[e.length-1]-e[0],y=r[r.length-1]-r[0],x=v*n.RELATIVE_CULL_TOLERANCE,b=y*n.RELATIVE_CULL_TOLERANCE;p-=x,d+=x,g-=b,m+=b,t.isVisible=function(t,e){return t>p&&t<d&&e>g&&e<m},t.isOccluded=function(t,e){return t<p||t>d||e<g||e>m},t.setScale=function(){var e=t._x,r=t._y,n=a(t._xctrl,t._yctrl,e,r,f.smoothing,h.smoothing);t._xctrl=n[0],t._yctrl=n[1],t.evalxy=o([t._xctrl,t._yctrl],c,u,f.smoothing,h.smoothing),t.dxydi=s([t._xctrl,t._yctrl],f.smoothing,h.smoothing),t.dxydj=l([t._xctrl,t._yctrl],f.smoothing,h.smoothing)},t.i2a=function(t){var r=Math.max(0,Math.floor(t[0]),c-2),n=t[0]-r;return(1-n)*e[r]+n*e[r+1]},t.j2b=function(t){var e=Math.max(0,Math.floor(t[1]),c-2),n=t[1]-e;return(1-n)*r[e]+n*r[e+1]},t.ij2ab=function(e){return[t.i2a(e[0]),t.j2b(e[1])]},t.a2i=function(t){var r=Math.max(0,Math.min(i(t,e),c-2)),n=e[r],a=e[r+1];return Math.max(0,Math.min(c-1,r+(t-n)/(a-n)))},t.b2j=function(t){var e=Math.max(0,Math.min(i(t,r),u-2)),n=r[e],a=r[e+1];return Math.max(0,Math.min(u-1,e+(t-n)/(a-n)))},t.ab2ij=function(e){return[t.a2i(e[0]),t.b2j(e[1])]},t.i2c=function(e,r){return t.evalxy([],e,r)},t.ab2xy=function(n,i,a){if(!a&&(n<e[0]||n>e[c-1]|i<r[0]||i>r[u-1]))return[!1,!1];var o=t.a2i(n),s=t.b2j(i),l=t.evalxy([],o,s);if(a){var f,h,p,d,g=0,m=0,v=[];n<e[0]?(f=0,h=0,g=(n-e[0])/(e[1]-e[0])):n>e[c-1]?(f=c-2,h=1,g=(n-e[c-1])/(e[c-1]-e[c-2])):h=o-(f=Math.max(0,Math.min(c-2,Math.floor(o)))),i<r[0]?(p=0,d=0,m=(i-r[0])/(r[1]-r[0])):i>r[u-1]?(p=u-2,d=1,m=(i-r[u-1])/(r[u-1]-r[u-2])):d=s-(p=Math.max(0,Math.min(u-2,Math.floor(s)))),g&&(t.dxydi(v,f,p,h,d),l[0]+=v[0]*g,l[1]+=v[1]*g),m&&(t.dxydj(v,f,p,h,d),l[0]+=v[0]*m,l[1]+=v[1]*m)}return l},t.c2p=function(t,e,r){return[e.c2p(t[0]),r.c2p(t[1])]},t.p2x=function(t,e,r){return[e.p2c(t[0]),r.p2c(t[1])]},t.dadi=function(t){var r=Math.max(0,Math.min(e.length-2,t));return e[r+1]-e[r]},t.dbdj=function(t){var e=Math.max(0,Math.min(r.length-2,t));return r[e+1]-r[e]},t.dxyda=function(e,r,n,i){var a=t.dxydi(null,e,r,n,i),o=t.dadi(e,n);return[a[0]/o,a[1]/o]},t.dxydb=function(e,r,n,i){var a=t.dxydj(null,e,r,n,i),o=t.dbdj(r,i);return[a[0]/o,a[1]/o]},t.dxyda_rough=function(e,r,n){var i=v*(n||.1),a=t.ab2xy(e+i,r,!0),o=t.ab2xy(e-i,r,!0);return[.5*(a[0]-o[0])/i,.5*(a[1]-o[1])/i]},t.dxydb_rough=function(e,r,n){var i=y*(n||.1),a=t.ab2xy(e,r+i,!0),o=t.ab2xy(e,r-i,!0);return[.5*(a[0]-o[0])/i,.5*(a[1]-o[1])/i]},t.dpdx=function(t){return t._m},t.dpdy=function(t){return t._m}}},{"../../lib/search":798,"./compute_control_points":974,"./constants":975,"./create_i_derivative_evaluator":976,"./create_j_derivative_evaluator":977,"./create_spline_evaluator":978}],987:[function(t,e,r){"use strict";var n=t("../../lib");e.exports=function(t,e,r){var i,a,o,s=[],l=[],c=t[0].length,u=t.length;function f(e,r){var n,i=0,a=0;return e>0&&void 0!==(n=t[r][e-1])&&(a++,i+=n),e<c-1&&void 0!==(n=t[r][e+1])&&(a++,i+=n),r>0&&void 0!==(n=t[r-1][e])&&(a++,i+=n),r<u-1&&void 0!==(n=t[r+1][e])&&(a++,i+=n),i/Math.max(1,a)}var h,p,d,g,m,v,y,x,b,_,w,T=0;for(i=0;i<c;i++)for(a=0;a<u;a++)void 0===t[a][i]&&(s.push(i),l.push(a),t[a][i]=f(i,a)),T=Math.max(T,Math.abs(t[a][i]));if(!s.length)return t;var k=0,M=0,A=s.length;do{for(k=0,o=0;o<A;o++){i=s[o],a=l[o];var S,E,C,L,I,P,z=0,O=0;0===i?(C=e[I=Math.min(c-1,2)],L=e[1],S=t[a][I],O+=(E=t[a][1])+(E-S)*(e[0]-L)/(L-C),z++):i===c-1&&(C=e[I=Math.max(0,c-3)],L=e[c-2],S=t[a][I],O+=(E=t[a][c-2])+(E-S)*(e[c-1]-L)/(L-C),z++),(0===i||i===c-1)&&a>0&&a<u-1&&(h=r[a+1]-r[a],O+=((p=r[a]-r[a-1])*t[a+1][i]+h*t[a-1][i])/(p+h),z++),0===a?(C=r[P=Math.min(u-1,2)],L=r[1],S=t[P][i],O+=(E=t[1][i])+(E-S)*(r[0]-L)/(L-C),z++):a===u-1&&(C=r[P=Math.max(0,u-3)],L=r[u-2],S=t[P][i],O+=(E=t[u-2][i])+(E-S)*(r[u-1]-L)/(L-C),z++),(0===a||a===u-1)&&i>0&&i<c-1&&(h=e[i+1]-e[i],O+=((p=e[i]-e[i-1])*t[a][i+1]+h*t[a][i-1])/(p+h),z++),z?O/=z:(d=e[i+1]-e[i],g=e[i]-e[i-1],x=(m=r[a+1]-r[a])*(v=r[a]-r[a-1])*(m+v),O=((y=d*g*(d+g))*(v*t[a+1][i]+m*t[a-1][i])+x*(g*t[a][i+1]+d*t[a][i-1]))/(x*(g+d)+y*(v+m))),k+=(_=(b=O-t[a][i])/T)*_,w=z?0:.85,t[a][i]+=b*(1+w)}k=Math.sqrt(k)}while(M++<100&&k>1e-5);return n.log("Smoother converged to",k,"after",M,"iterations"),t}},{"../../lib":778}],988:[function(t,e,r){"use strict";var n=t("../../lib").isArray1D;e.exports=function(t,e,r){var i=r("x"),a=i&&i.length,o=r("y"),s=o&&o.length;if(!a&&!s)return!1;if(e._cheater=!i,a&&!n(i)||s&&!n(o))e._length=null;else{var l=a?i.length:1/0;s&&(l=Math.min(l,o.length)),e.a&&e.a.length&&(l=Math.min(l,e.a.length)),e.b&&e.b.length&&(l=Math.min(l,e.b.length)),e._length=l}return!0}},{"../../lib":778}],989:[function(t,e,r){"use strict";var n=t("../../plots/template_attributes").hovertemplateAttrs,i=t("../scattergeo/attributes"),a=t("../../components/colorscale/attributes"),o=t("../../plots/attributes"),s=t("../../components/color/attributes").defaultLine,l=t("../../lib/extend").extendFlat,c=i.marker.line;e.exports=l({locations:{valType:"data_array",editType:"calc"},locationmode:i.locationmode,z:{valType:"data_array",editType:"calc"},geojson:l({},i.geojson,{}),featureidkey:i.featureidkey,text:l({},i.text,{}),hovertext:l({},i.hovertext,{}),marker:{line:{color:l({},c.color,{dflt:s}),width:l({},c.width,{dflt:1}),editType:"calc"},opacity:{valType:"number",arrayOk:!0,min:0,max:1,dflt:1,editType:"style"},editType:"calc"},selected:{marker:{opacity:i.selected.marker.opacity,editType:"plot"},editType:"plot"},unselected:{marker:{opacity:i.unselected.marker.opacity,editType:"plot"},editType:"plot"},hoverinfo:l({},o.hoverinfo,{editType:"calc",flags:["location","z","text","name"]}),hovertemplate:n(),showlegend:l({},o.showlegend,{dflt:!1})},a("",{cLetter:"z",editTypeOverride:"calc"}))},{"../../components/color/attributes":642,"../../components/colorscale/attributes":650,"../../lib/extend":768,"../../plots/attributes":824,"../../plots/template_attributes":906,"../scattergeo/attributes":1229}],990:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../constants/numerical").BADNUM,a=t("../../components/colorscale/calc"),o=t("../scatter/arrays_to_calcdata"),s=t("../scatter/calc_selection");function l(t){return t&&"string"==typeof t}e.exports=function(t,e){var r,c=e._length,u=new Array(c);r=e.geojson?function(t){return l(t)||n(t)}:l;for(var f=0;f<c;f++){var h=u[f]={},p=e.locations[f],d=e.z[f];r(p)&&n(d)?(h.loc=p,h.z=d):(h.loc=null,h.z=i),h.index=f}return o(u,e),a(t,e,{vals:e.z,containerStr:"",cLetter:"z"}),s(u,e),u}},{"../../components/colorscale/calc":651,"../../constants/numerical":753,"../scatter/arrays_to_calcdata":1186,"../scatter/calc_selection":1189,"fast-isnumeric":241}],991:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../components/colorscale/defaults"),a=t("./attributes");e.exports=function(t,e,r,o){function s(r,i){return n.coerce(t,e,a,r,i)}var l=s("locations"),c=s("z");if(l&&l.length&&n.isArrayOrTypedArray(c)&&c.length){e._length=Math.min(l.length,c.length);var u,f=s("geojson");("string"==typeof f&&""!==f||n.isPlainObject(f))&&(u="geojson-id"),"geojson-id"===s("locationmode",u)&&s("featureidkey"),s("text"),s("hovertext"),s("hovertemplate"),s("marker.line.width")&&s("marker.line.color"),s("marker.opacity"),i(t,e,o,s,{prefix:"",cLetter:"z"}),n.coerceSelectionMarkerOpacity(e,s)}else e.visible=!1}},{"../../components/colorscale/defaults":653,"../../lib":778,"./attributes":989}],992:[function(t,e,r){"use strict";e.exports=function(t,e,r,n,i){t.location=e.location,t.z=e.z;var a=n[i];return a.fIn&&a.fIn.properties&&(t.properties=a.fIn.properties),t.ct=a.ct,t}},{}],993:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes"),i=t("./attributes"),a=t("../../lib").fillText;e.exports=function(t,e,r){var o,s,l,c,u=t.cd,f=u[0].trace,h=t.subplot,p=[e,r],d=[e+360,r];for(s=0;s<u.length;s++)if(c=!1,(o=u[s])._polygons){for(l=0;l<o._polygons.length;l++)o._polygons[l].contains(p)&&(c=!c),o._polygons[l].contains(d)&&(c=!c);if(c)break}if(c&&o)return t.x0=t.x1=t.xa.c2p(o.ct),t.y0=t.y1=t.ya.c2p(o.ct),t.index=o.index,t.location=o.loc,t.z=o.z,t.zLabel=n.tickText(h.mockAxis,h.mockAxis.c2l(o.z),"hover").text,t.hovertemplate=o.hovertemplate,function(t,e,r){if(e.hovertemplate)return;var n=r.hi||e.hoverinfo,o=String(r.loc),s="all"===n?i.hoverinfo.flags:n.split("+"),l=-1!==s.indexOf("name"),c=-1!==s.indexOf("location"),u=-1!==s.indexOf("z"),f=-1!==s.indexOf("text"),h=[];!l&&c?t.nameOverride=o:(l&&(t.nameOverride=e.name),c&&h.push(o));u&&h.push(t.zLabel);f&&a(r,e,h);t.extraText=h.join("<br>")}(t,f,o),[t]}},{"../../lib":778,"../../plots/cartesian/axes":828,"./attributes":989}],994:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),colorbar:t("../heatmap/colorbar"),calc:t("./calc"),calcGeoJSON:t("./plot").calcGeoJSON,plot:t("./plot").plot,style:t("./style").style,styleOnSelect:t("./style").styleOnSelect,hoverPoints:t("./hover"),eventData:t("./event_data"),selectPoints:t("./select"),moduleType:"trace",name:"choropleth",basePlotModule:t("../../plots/geo"),categories:["geo","noOpacity","showLegend"],meta:{}}},{"../../plots/geo":860,"../heatmap/colorbar":1068,"./attributes":989,"./calc":990,"./defaults":991,"./event_data":992,"./hover":993,"./plot":995,"./select":996,"./style":997}],995:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../lib"),a=t("../../lib/geo_location_utils"),o=t("../../lib/topojson_utils").getTopojsonFeatures,s=t("../../plots/cartesian/autorange").findExtremes,l=t("./style").style;e.exports={calcGeoJSON:function(t,e){for(var r=t[0].trace,n=e[r.geo],i=n._subplot,l=r.locationmode,c=r._length,u="geojson-id"===l?a.extractTraceFeature(t):o(r,i.topojson),f=[],h=[],p=0;p<c;p++){var d=t[p],g="geojson-id"===l?d.fOut:a.locationToFeature(l,d.loc,u);if(g){d.geojson=g,d.ct=g.properties.ct,d._polygons=a.feature2polygons(g);var m=a.computeBbox(g);f.push(m[0],m[2]),h.push(m[1],m[3])}else d.geojson=null}if("geojson"===n.fitbounds&&"geojson-id"===l){var v=a.computeBbox(a.getTraceGeojson(r));f=[v[0],v[2]],h=[v[1],v[3]]}var y={padded:!0};r._extremes.lon=s(n.lonaxis._ax,f,y),r._extremes.lat=s(n.lataxis._ax,h,y)},plot:function(t,e,r){var a=e.layers.backplot.select(".choroplethlayer");i.makeTraceGroups(a,r,"trace choropleth").each((function(e){var r=n.select(this).selectAll("path.choroplethlocation").data(i.identity);r.enter().append("path").classed("choroplethlocation",!0),r.exit().remove(),l(t,e)}))}}},{"../../lib":778,"../../lib/geo_location_utils":771,"../../lib/topojson_utils":806,"../../plots/cartesian/autorange":827,"./style":997,d3:169}],996:[function(t,e,r){"use strict";e.exports=function(t,e){var r,n,i,a,o,s=t.cd,l=t.xaxis,c=t.yaxis,u=[];if(!1===e)for(r=0;r<s.length;r++)s[r].selected=0;else for(r=0;r<s.length;r++)(i=(n=s[r]).ct)&&(a=l.c2p(i),o=c.c2p(i),e.contains([a,o],null,r,t)?(u.push({pointNumber:r,lon:i[0],lat:i[1]}),n.selected=1):n.selected=0);return u}},{}],997:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../components/color"),a=t("../../components/drawing"),o=t("../../components/colorscale");function s(t,e){var r=e[0].trace,s=e[0].node3.selectAll(".choroplethlocation"),l=r.marker||{},c=l.line||{},u=o.makeColorScaleFuncFromTrace(r);s.each((function(t){n.select(this).attr("fill",u(t.z)).call(i.stroke,t.mlc||c.color).call(a.dashLine,"",t.mlw||c.width||0).style("opacity",l.opacity)})),a.selectedPointStyle(s,r,t)}e.exports={style:function(t,e){e&&s(t,e)},styleOnSelect:function(t,e){var r=e[0].node3,n=e[0].trace;n.selectedpoints?a.selectedPointStyle(r.selectAll(".choroplethlocation"),n,t):s(t,e)}}},{"../../components/color":643,"../../components/colorscale":655,"../../components/drawing":665,d3:169}],998:[function(t,e,r){"use strict";var n=t("../choropleth/attributes"),i=t("../../components/colorscale/attributes"),a=t("../../plots/template_attributes").hovertemplateAttrs,o=t("../../plots/attributes"),s=t("../../lib/extend").extendFlat;e.exports=s({locations:{valType:"data_array",editType:"calc"},z:{valType:"data_array",editType:"calc"},geojson:{valType:"any",editType:"calc"},featureidkey:s({},n.featureidkey,{}),below:{valType:"string",editType:"plot"},text:n.text,hovertext:n.hovertext,marker:{line:{color:s({},n.marker.line.color,{editType:"plot"}),width:s({},n.marker.line.width,{editType:"plot"}),editType:"calc"},opacity:s({},n.marker.opacity,{editType:"plot"}),editType:"calc"},selected:{marker:{opacity:s({},n.selected.marker.opacity,{editType:"plot"}),editType:"plot"},editType:"plot"},unselected:{marker:{opacity:s({},n.unselected.marker.opacity,{editType:"plot"}),editType:"plot"},editType:"plot"},hoverinfo:n.hoverinfo,hovertemplate:a({},{keys:["properties"]}),showlegend:s({},o.showlegend,{dflt:!1})},i("",{cLetter:"z",editTypeOverride:"calc"}))},{"../../components/colorscale/attributes":650,"../../lib/extend":768,"../../plots/attributes":824,"../../plots/template_attributes":906,"../choropleth/attributes":989}],999:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../lib"),a=t("../../components/colorscale"),o=t("../../components/drawing"),s=t("../../lib/geojson_utils").makeBlank,l=t("../../lib/geo_location_utils");function c(t){var e,r=t[0].trace,n=r._opts;if(r.selectedpoints){for(var a=o.makeSelectedPointStyleFns(r),s=0;s<t.length;s++){var l=t[s];l.fOut&&(l.fOut.properties.mo2=a.selectedOpacityFn(l))}e={type:"identity",property:"mo2"}}else e=i.isArrayOrTypedArray(r.marker.opacity)?{type:"identity",property:"mo"}:r.marker.opacity;return i.extendFlat(n.fill.paint,{"fill-opacity":e}),i.extendFlat(n.line.paint,{"line-opacity":e}),n}e.exports={convert:function(t){var e=t[0].trace,r=!0===e.visible&&0!==e._length,o={layout:{visibility:"none"},paint:{}},u={layout:{visibility:"none"},paint:{}},f=e._opts={fill:o,line:u,geojson:s()};if(!r)return f;var h=l.extractTraceFeature(t);if(!h)return f;var p,d,g,m=a.makeColorScaleFuncFromTrace(e),v=e.marker,y=v.line||{};i.isArrayOrTypedArray(v.opacity)&&(p=function(t){var e=t.mo;return n(e)?+i.constrain(e,0,1):0}),i.isArrayOrTypedArray(y.color)&&(d=function(t){return t.mlc}),i.isArrayOrTypedArray(y.width)&&(g=function(t){return t.mlw});for(var x=0;x<t.length;x++){var b=t[x],_=b.fOut;if(_){var w=_.properties;w.fc=m(b.z),p&&(w.mo=p(b)),d&&(w.mlc=d(b)),g&&(w.mlw=g(b)),b.ct=w.ct,b._polygons=l.feature2polygons(_)}}var T=p?{type:"identity",property:"mo"}:v.opacity;return i.extendFlat(o.paint,{"fill-color":{type:"identity",property:"fc"},"fill-opacity":T}),i.extendFlat(u.paint,{"line-color":d?{type:"identity",property:"mlc"}:y.color,"line-width":g?{type:"identity",property:"mlw"}:y.width,"line-opacity":T}),o.layout.visibility="visible",u.layout.visibility="visible",f.geojson={type:"FeatureCollection",features:h},c(t),f},convertOnSelect:c}},{"../../components/colorscale":655,"../../components/drawing":665,"../../lib":778,"../../lib/geo_location_utils":771,"../../lib/geojson_utils":772,"fast-isnumeric":241}],1e3:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../components/colorscale/defaults"),a=t("./attributes");e.exports=function(t,e,r,o){function s(r,i){return n.coerce(t,e,a,r,i)}var l=s("locations"),c=s("z"),u=s("geojson");n.isArrayOrTypedArray(l)&&l.length&&n.isArrayOrTypedArray(c)&&c.length&&("string"==typeof u&&""!==u||n.isPlainObject(u))?(s("featureidkey"),e._length=Math.min(l.length,c.length),s("below"),s("text"),s("hovertext"),s("hovertemplate"),s("marker.line.width")&&s("marker.line.color"),s("marker.opacity"),i(t,e,o,s,{prefix:"",cLetter:"z"}),n.coerceSelectionMarkerOpacity(e,s)):e.visible=!1}},{"../../components/colorscale/defaults":653,"../../lib":778,"./attributes":998}],1001:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),colorbar:t("../heatmap/colorbar"),calc:t("../choropleth/calc"),plot:t("./plot"),hoverPoints:t("../choropleth/hover"),eventData:t("../choropleth/event_data"),selectPoints:t("../choropleth/select"),styleOnSelect:function(t,e){e&&e[0].trace._glTrace.updateOnSelect(e)},getBelow:function(t,e){for(var r=e.getMapLayers(),n=r.length-2;n>=0;n--){var i=r[n].id;if("string"==typeof i&&0===i.indexOf("water"))for(var a=n+1;a<r.length;a++)if("string"==typeof(i=r[a].id)&&-1===i.indexOf("plotly-"))return i}},moduleType:"trace",name:"choroplethmapbox",basePlotModule:t("../../plots/mapbox"),categories:["mapbox","gl","noOpacity","showLegend"],meta:{hr_name:"choropleth_mapbox"}}},{"../../plots/mapbox":885,"../choropleth/calc":990,"../choropleth/event_data":992,"../choropleth/hover":993,"../choropleth/select":996,"../heatmap/colorbar":1068,"./attributes":998,"./defaults":1e3,"./plot":1002}],1002:[function(t,e,r){"use strict";var n=t("./convert").convert,i=t("./convert").convertOnSelect,a=t("../../plots/mapbox/constants").traceLayerPrefix;function o(t,e){this.type="choroplethmapbox",this.subplot=t,this.uid=e,this.sourceId="source-"+e,this.layerList=[["fill",a+e+"-fill"],["line",a+e+"-line"]],this.below=null}var s=o.prototype;s.update=function(t){this._update(n(t))},s.updateOnSelect=function(t){this._update(i(t))},s._update=function(t){var e=this.subplot,r=this.layerList,n=e.belowLookup["trace-"+this.uid];e.map.getSource(this.sourceId).setData(t.geojson),n!==this.below&&(this._removeLayers(),this._addLayers(t,n),this.below=n);for(var i=0;i<r.length;i++){var a=r[i],o=a[0],s=a[1],l=t[o];e.setOptions(s,"setLayoutProperty",l.layout),"visible"===l.layout.visibility&&e.setOptions(s,"setPaintProperty",l.paint)}},s._addLayers=function(t,e){for(var r=this.subplot,n=this.layerList,i=this.sourceId,a=0;a<n.length;a++){var o=n[a],s=o[0],l=t[s];r.addLayer({type:s,id:o[1],source:i,layout:l.layout,paint:l.paint},e)}},s._removeLayers=function(){for(var t=this.subplot.map,e=this.layerList,r=e.length-1;r>=0;r--)t.removeLayer(e[r][1])},s.dispose=function(){var t=this.subplot.map;this._removeLayers(),t.removeSource(this.sourceId)},e.exports=function(t,e){var r=e[0].trace,i=new o(t,r.uid),a=i.sourceId,s=n(e),l=i.below=t.belowLookup["trace-"+r.uid];return t.map.addSource(a,{type:"geojson",data:s.geojson}),i._addLayers(s,l),e[0].trace._glTrace=i,i}},{"../../plots/mapbox/constants":883,"./convert":999}],1003:[function(t,e,r){"use strict";var n=t("../../components/colorscale/attributes"),i=t("../../plots/template_attributes").hovertemplateAttrs,a=t("../mesh3d/attributes"),o=t("../../plots/attributes"),s=t("../../lib/extend").extendFlat,l={x:{valType:"data_array",editType:"calc+clearAxisTypes"},y:{valType:"data_array",editType:"calc+clearAxisTypes"},z:{valType:"data_array",editType:"calc+clearAxisTypes"},u:{valType:"data_array",editType:"calc"},v:{valType:"data_array",editType:"calc"},w:{valType:"data_array",editType:"calc"},sizemode:{valType:"enumerated",values:["scaled","absolute"],editType:"calc",dflt:"scaled"},sizeref:{valType:"number",editType:"calc",min:0},anchor:{valType:"enumerated",editType:"calc",values:["tip","tail","cm","center"],dflt:"cm"},text:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},hovertemplate:i({editType:"calc"},{keys:["norm"]}),showlegend:s({},o.showlegend,{dflt:!1})};s(l,n("",{colorAttr:"u/v/w norm",showScaleDflt:!0,editTypeOverride:"calc"}));["opacity","lightposition","lighting"].forEach((function(t){l[t]=a[t]})),l.hoverinfo=s({},o.hoverinfo,{editType:"calc",flags:["x","y","z","u","v","w","norm","text","name"],dflt:"x+y+z+norm+text+name"}),l.transforms=void 0,e.exports=l},{"../../components/colorscale/attributes":650,"../../lib/extend":768,"../../plots/attributes":824,"../../plots/template_attributes":906,"../mesh3d/attributes":1128}],1004:[function(t,e,r){"use strict";var n=t("../../components/colorscale/calc");e.exports=function(t,e){for(var r=e.u,i=e.v,a=e.w,o=Math.min(e.x.length,e.y.length,e.z.length,r.length,i.length,a.length),s=-1/0,l=1/0,c=0;c<o;c++){var u=r[c],f=i[c],h=a[c],p=Math.sqrt(u*u+f*f+h*h);s=Math.max(s,p),l=Math.min(l,p)}e._len=o,e._normMax=s,n(t,e,{vals:[l,s],containerStr:"",cLetter:"c"})}},{"../../components/colorscale/calc":651}],1005:[function(t,e,r){"use strict";var n=t("gl-cone3d"),i=t("gl-cone3d").createConeMesh,a=t("../../lib").simpleMap,o=t("../../lib/gl_format_color").parseColorScale,s=t("../../components/colorscale").extractOpts,l=t("../../plots/gl3d/zip3");function c(t,e){this.scene=t,this.uid=e,this.mesh=null,this.data=null}var u=c.prototype;u.handlePick=function(t){if(t.object===this.mesh){var e=t.index=t.data.index,r=this.data.x[e],n=this.data.y[e],i=this.data.z[e],a=this.data.u[e],o=this.data.v[e],s=this.data.w[e];t.traceCoordinate=[r,n,i,a,o,s,Math.sqrt(a*a+o*o+s*s)];var l=this.data.hovertext||this.data.text;return Array.isArray(l)&&void 0!==l[e]?t.textLabel=l[e]:l&&(t.textLabel=l),!0}};var f={xaxis:0,yaxis:1,zaxis:2},h={tip:1,tail:0,cm:.25,center:.5},p={tip:1,tail:1,cm:.75,center:.5};function d(t,e){var r=t.fullSceneLayout,i=t.dataScale,c={};function u(t,e){var n=r[e],o=i[f[e]];return a(t,(function(t){return n.d2l(t)*o}))}c.vectors=l(u(e.u,"xaxis"),u(e.v,"yaxis"),u(e.w,"zaxis"),e._len),c.positions=l(u(e.x,"xaxis"),u(e.y,"yaxis"),u(e.z,"zaxis"),e._len);var d=s(e);c.colormap=o(e),c.vertexIntensityBounds=[d.min/e._normMax,d.max/e._normMax],c.coneOffset=h[e.anchor],"scaled"===e.sizemode?c.coneSize=e.sizeref||.5:c.coneSize=e.sizeref&&e._normMax?e.sizeref/e._normMax:.5;var g=n(c),m=e.lightposition;return g.lightPosition=[m.x,m.y,m.z],g.ambient=e.lighting.ambient,g.diffuse=e.lighting.diffuse,g.specular=e.lighting.specular,g.roughness=e.lighting.roughness,g.fresnel=e.lighting.fresnel,g.opacity=e.opacity,e._pad=p[e.anchor]*g.vectorScale*g.coneScale*e._normMax,g}u.update=function(t){this.data=t;var e=d(this.scene,t);this.mesh.update(e)},u.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()},e.exports=function(t,e){var r=t.glplot.gl,n=d(t,e),a=i(r,n),o=new c(t,e.uid);return o.mesh=a,o.data=e,a._trace=o,t.glplot.add(a),o}},{"../../components/colorscale":655,"../../lib":778,"../../lib/gl_format_color":774,"../../plots/gl3d/zip3":881,"gl-cone3d":260}],1006:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../components/colorscale/defaults"),a=t("./attributes");e.exports=function(t,e,r,o){function s(r,i){return n.coerce(t,e,a,r,i)}var l=s("u"),c=s("v"),u=s("w"),f=s("x"),h=s("y"),p=s("z");l&&l.length&&c&&c.length&&u&&u.length&&f&&f.length&&h&&h.length&&p&&p.length?(s("sizeref"),s("sizemode"),s("anchor"),s("lighting.ambient"),s("lighting.diffuse"),s("lighting.specular"),s("lighting.roughness"),s("lighting.fresnel"),s("lightposition.x"),s("lightposition.y"),s("lightposition.z"),i(t,e,o,s,{prefix:"",cLetter:"c"}),s("text"),s("hovertext"),s("hovertemplate"),e._length=null):e.visible=!1}},{"../../components/colorscale/defaults":653,"../../lib":778,"./attributes":1003}],1007:[function(t,e,r){"use strict";e.exports={moduleType:"trace",name:"cone",basePlotModule:t("../../plots/gl3d"),categories:["gl3d","showLegend"],attributes:t("./attributes"),supplyDefaults:t("./defaults"),colorbar:{min:"cmin",max:"cmax"},calc:t("./calc"),plot:t("./convert"),eventData:function(t,e){return t.norm=e.traceCoordinate[6],t},meta:{}}},{"../../plots/gl3d":870,"./attributes":1003,"./calc":1004,"./convert":1005,"./defaults":1006}],1008:[function(t,e,r){"use strict";var n=t("../heatmap/attributes"),i=t("../scatter/attributes"),a=t("../../components/colorscale/attributes"),o=t("../../components/drawing/attributes").dash,s=t("../../plots/font_attributes"),l=t("../../lib/extend").extendFlat,c=t("../../constants/filter_ops"),u=c.COMPARISON_OPS2,f=c.INTERVAL_OPS,h=(t("../../constants/docs").FORMAT_LINK,i.line);e.exports=l({z:n.z,x:n.x,x0:n.x0,dx:n.dx,y:n.y,y0:n.y0,dy:n.dy,xperiod:n.xperiod,yperiod:n.yperiod,xperiod0:i.xperiod0,yperiod0:i.yperiod0,xperiodalignment:n.xperiodalignment,yperiodalignment:n.yperiodalignment,text:n.text,hovertext:n.hovertext,transpose:n.transpose,xtype:n.xtype,ytype:n.ytype,zhoverformat:n.zhoverformat,hovertemplate:n.hovertemplate,hoverongaps:n.hoverongaps,connectgaps:l({},n.connectgaps,{}),fillcolor:{valType:"color",editType:"calc"},autocontour:{valType:"boolean",dflt:!0,editType:"calc",impliedEdits:{"contours.start":void 0,"contours.end":void 0,"contours.size":void 0}},ncontours:{valType:"integer",dflt:15,min:1,editType:"calc"},contours:{type:{valType:"enumerated",values:["levels","constraint"],dflt:"levels",editType:"calc"},start:{valType:"number",dflt:null,editType:"plot",impliedEdits:{"^autocontour":!1}},end:{valType:"number",dflt:null,editType:"plot",impliedEdits:{"^autocontour":!1}},size:{valType:"number",dflt:null,min:0,editType:"plot",impliedEdits:{"^autocontour":!1}},coloring:{valType:"enumerated",values:["fill","heatmap","lines","none"],dflt:"fill",editType:"calc"},showlines:{valType:"boolean",dflt:!0,editType:"plot"},showlabels:{valType:"boolean",dflt:!1,editType:"plot"},labelfont:s({editType:"plot",colorEditType:"style"}),labelformat:{valType:"string",dflt:"",editType:"plot"},operation:{valType:"enumerated",values:[].concat(u).concat(f),dflt:"=",editType:"calc"},value:{valType:"any",dflt:0,editType:"calc"},editType:"calc",impliedEdits:{autocontour:!1}},line:{color:l({},h.color,{editType:"style+colorbars"}),width:{valType:"number",min:0,editType:"style+colorbars"},dash:o,smoothing:l({},h.smoothing,{}),editType:"plot"}},a("",{cLetter:"z",autoColorDflt:!1,editTypeOverride:"calc"}))},{"../../components/colorscale/attributes":650,"../../components/drawing/attributes":664,"../../constants/docs":748,"../../constants/filter_ops":749,"../../lib/extend":768,"../../plots/font_attributes":856,"../heatmap/attributes":1065,"../scatter/attributes":1187}],1009:[function(t,e,r){"use strict";var n=t("../../components/colorscale"),i=t("../heatmap/calc"),a=t("./set_contours"),o=t("./end_plus");e.exports=function(t,e){var r=i(t,e),s=r[0].z;a(e,s);var l,c=e.contours,u=n.extractOpts(e);if("heatmap"===c.coloring&&u.auto&&!1===e.autocontour){var f=c.start,h=o(c),p=c.size||1,d=Math.floor((h-f)/p)+1;isFinite(p)||(p=1,d=1);var g=f-p/2;l=[g,g+d*p]}else l=s;return n.calc(t,e,{vals:l,cLetter:"z"}),r}},{"../../components/colorscale":655,"../heatmap/calc":1066,"./end_plus":1019,"./set_contours":1027}],1010:[function(t,e,r){"use strict";e.exports=function(t,e){var r,n=t[0],i=n.z;switch(e.type){case"levels":var a=Math.min(i[0][0],i[0][1]);for(r=0;r<t.length;r++){var o=t[r];o.prefixBoundary=!o.edgepaths.length&&(a>o.level||o.starts.length&&a===o.level)}break;case"constraint":if(n.prefixBoundary=!1,n.edgepaths.length)return;var s=n.x.length,l=n.y.length,c=-1/0,u=1/0;for(r=0;r<l;r++)u=Math.min(u,i[r][0]),u=Math.min(u,i[r][s-1]),c=Math.max(c,i[r][0]),c=Math.max(c,i[r][s-1]);for(r=1;r<s-1;r++)u=Math.min(u,i[0][r]),u=Math.min(u,i[l-1][r]),c=Math.max(c,i[0][r]),c=Math.max(c,i[l-1][r]);var f,h,p=e.value;switch(e._operation){case">":p>c&&(n.prefixBoundary=!0);break;case"<":(p<u||n.starts.length&&p===u)&&(n.prefixBoundary=!0);break;case"[]":f=Math.min(p[0],p[1]),((h=Math.max(p[0],p[1]))<u||f>c||n.starts.length&&h===u)&&(n.prefixBoundary=!0);break;case"][":f=Math.min(p[0],p[1]),h=Math.max(p[0],p[1]),f<u&&h>c&&(n.prefixBoundary=!0)}}}},{}],1011:[function(t,e,r){"use strict";var n=t("../../components/colorscale"),i=t("./make_color_map"),a=t("./end_plus");e.exports={min:"zmin",max:"zmax",calc:function(t,e,r){var o=e.contours,s=e.line,l=o.size||1,c=o.coloring,u=i(e,{isColorbar:!0});if("heatmap"===c){var f=n.extractOpts(e);r._fillgradient=f.reversescale?n.flipScale(f.colorscale):f.colorscale,r._zrange=[f.min,f.max]}else"fill"===c&&(r._fillcolor=u);r._line={color:"lines"===c?u:s.color,width:!1!==o.showlines?s.width:0,dash:s.dash},r._levels={start:o.start,end:a(o),size:l}}}},{"../../components/colorscale":655,"./end_plus":1019,"./make_color_map":1024}],1012:[function(t,e,r){"use strict";e.exports={BOTTOMSTART:[1,9,13,104,713],TOPSTART:[4,6,7,104,713],LEFTSTART:[8,12,14,208,1114],RIGHTSTART:[2,3,11,208,1114],NEWDELTA:[null,[-1,0],[0,-1],[-1,0],[1,0],null,[0,-1],[-1,0],[0,1],[0,1],null,[0,1],[1,0],[1,0],[0,-1]],CHOOSESADDLE:{104:[4,1],208:[2,8],713:[7,13],1114:[11,14]},SADDLEREMAINDER:{1:4,2:8,4:1,7:13,8:2,11:14,13:7,14:11},LABELDISTANCE:2,LABELINCREASE:10,LABELMIN:3,LABELMAX:10,LABELOPTIMIZER:{EDGECOST:1,ANGLECOST:1,NEIGHBORCOST:5,SAMELEVELFACTOR:10,SAMELEVELDISTANCE:5,MAXCOST:100,INITIALSEARCHPOINTS:10,ITERATIONS:5}}},{}],1013:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("./label_defaults"),a=t("../../components/color"),o=a.addOpacity,s=a.opacity,l=t("../../constants/filter_ops"),c=l.CONSTRAINT_REDUCTION,u=l.COMPARISON_OPS2;e.exports=function(t,e,r,a,l,f){var h,p,d,g=e.contours,m=r("contours.operation");(g._operation=c[m],function(t,e){var r;-1===u.indexOf(e.operation)?(t("contours.value",[0,1]),Array.isArray(e.value)?e.value.length>2?e.value=e.value.slice(2):0===e.length?e.value=[0,1]:e.length<2?(r=parseFloat(e.value[0]),e.value=[r,r+1]):e.value=[parseFloat(e.value[0]),parseFloat(e.value[1])]:n(e.value)&&(r=parseFloat(e.value),e.value=[r,r+1])):(t("contours.value",0),n(e.value)||(Array.isArray(e.value)?e.value=parseFloat(e.value[0]):e.value=0))}(r,g),"="===m?h=g.showlines=!0:(h=r("contours.showlines"),d=r("fillcolor",o((t.line||{}).color||l,.5))),h)&&(p=r("line.color",d&&s(d)?o(e.fillcolor,1):l),r("line.width",2),r("line.dash"));r("line.smoothing"),i(r,a,p,f)}},{"../../components/color":643,"../../constants/filter_ops":749,"./label_defaults":1023,"fast-isnumeric":241}],1014:[function(t,e,r){"use strict";var n=t("../../constants/filter_ops"),i=t("fast-isnumeric");function a(t,e){var r,a=Array.isArray(e);function o(t){return i(t)?+t:null}return-1!==n.COMPARISON_OPS2.indexOf(t)?r=o(a?e[0]:e):-1!==n.INTERVAL_OPS.indexOf(t)?r=a?[o(e[0]),o(e[1])]:[o(e),o(e)]:-1!==n.SET_OPS.indexOf(t)&&(r=a?e.map(o):[o(e)]),r}function o(t){return function(e){e=a(t,e);var r=Math.min(e[0],e[1]),n=Math.max(e[0],e[1]);return{start:r,end:n,size:n-r}}}function s(t){return function(e){return{start:e=a(t,e),end:1/0,size:1/0}}}e.exports={"[]":o("[]"),"][":o("]["),">":s(">"),"<":s("<"),"=":s("=")}},{"../../constants/filter_ops":749,"fast-isnumeric":241}],1015:[function(t,e,r){"use strict";e.exports=function(t,e,r,n){var i=n("contours.start"),a=n("contours.end"),o=!1===i||!1===a,s=r("contours.size");!(o?e.autocontour=!0:r("autocontour",!1))&&s||r("ncontours")}},{}],1016:[function(t,e,r){"use strict";var n=t("../../lib");function i(t){return n.extendFlat({},t,{edgepaths:n.extendDeep([],t.edgepaths),paths:n.extendDeep([],t.paths),starts:n.extendDeep([],t.starts)})}e.exports=function(t,e){var r,a,o,s=function(t){return t.reverse()},l=function(t){return t};switch(e){case"=":case"<":return t;case">":for(1!==t.length&&n.warn("Contour data invalid for the specified inequality operation."),a=t[0],r=0;r<a.edgepaths.length;r++)a.edgepaths[r]=s(a.edgepaths[r]);for(r=0;r<a.paths.length;r++)a.paths[r]=s(a.paths[r]);for(r=0;r<a.starts.length;r++)a.starts[r]=s(a.starts[r]);return t;case"][":var c=s;s=l,l=c;case"[]":for(2!==t.length&&n.warn("Contour data invalid for the specified inequality range operation."),a=i(t[0]),o=i(t[1]),r=0;r<a.edgepaths.length;r++)a.edgepaths[r]=s(a.edgepaths[r]);for(r=0;r<a.paths.length;r++)a.paths[r]=s(a.paths[r]);for(r=0;r<a.starts.length;r++)a.starts[r]=s(a.starts[r]);for(;o.edgepaths.length;)a.edgepaths.push(l(o.edgepaths.shift()));for(;o.paths.length;)a.paths.push(l(o.paths.shift()));for(;o.starts.length;)a.starts.push(l(o.starts.shift()));return[a]}}},{"../../lib":778}],1017:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../heatmap/xyz_defaults"),a=t("../scatter/period_defaults"),o=t("./constraint_defaults"),s=t("./contours_defaults"),l=t("./style_defaults"),c=t("./attributes");e.exports=function(t,e,r,u){function f(r,i){return n.coerce(t,e,c,r,i)}if(i(t,e,f,u)){a(t,e,u,f),f("text"),f("hovertext"),f("hovertemplate"),f("hoverongaps");var h="constraint"===f("contours.type");f("connectgaps",n.isArray1D(e.z)),h?o(t,e,f,u,r):(s(t,e,f,(function(r){return n.coerce2(t,e,c,r)})),l(t,e,f,u))}else e.visible=!1}},{"../../lib":778,"../heatmap/xyz_defaults":1079,"../scatter/period_defaults":1207,"./attributes":1008,"./constraint_defaults":1013,"./contours_defaults":1015,"./style_defaults":1029}],1018:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./constraint_mapping"),a=t("./end_plus");e.exports=function(t,e,r){for(var o="constraint"===t.type?i[t._operation](t.value):t,s=o.size,l=[],c=a(o),u=r.trace._carpetTrace,f=u?{xaxis:u.aaxis,yaxis:u.baxis,x:r.a,y:r.b}:{xaxis:e.xaxis,yaxis:e.yaxis,x:r.x,y:r.y},h=o.start;h<c;h+=s)if(l.push(n.extendFlat({level:h,crossings:{},starts:[],edgepaths:[],paths:[],z:r.z,smoothing:r.trace.line.smoothing},f)),l.length>1e3){n.warn("Too many contours, clipping at 1000",t);break}return l}},{"../../lib":778,"./constraint_mapping":1014,"./end_plus":1019}],1019:[function(t,e,r){"use strict";e.exports=function(t){return t.end+t.size/1e6}},{}],1020:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./constants");function a(t,e,r,n){return Math.abs(t[0]-e[0])<r&&Math.abs(t[1]-e[1])<n}function o(t,e,r,o,l){var c,u=e.join(","),f=t.crossings[u],h=function(t,e,r){var n=0,a=0;t>20&&e?208===t||1114===t?n=0===r[0]?1:-1:a=0===r[1]?1:-1:-1!==i.BOTTOMSTART.indexOf(t)?a=1:-1!==i.LEFTSTART.indexOf(t)?n=1:-1!==i.TOPSTART.indexOf(t)?a=-1:n=-1;return[n,a]}(f,r,e),p=[s(t,e,[-h[0],-h[1]])],d=t.z.length,g=t.z[0].length,m=e.slice(),v=h.slice();for(c=0;c<1e4;c++){if(f>20?(f=i.CHOOSESADDLE[f][(h[0]||h[1])<0?0:1],t.crossings[u]=i.SADDLEREMAINDER[f]):delete t.crossings[u],!(h=i.NEWDELTA[f])){n.log("Found bad marching index:",f,e,t.level);break}p.push(s(t,e,h)),e[0]+=h[0],e[1]+=h[1],u=e.join(","),a(p[p.length-1],p[p.length-2],o,l)&&p.pop();var y=h[0]&&(e[0]<0||e[0]>g-2)||h[1]&&(e[1]<0||e[1]>d-2);if(e[0]===m[0]&&e[1]===m[1]&&h[0]===v[0]&&h[1]===v[1]||r&&y)break;f=t.crossings[u]}1e4===c&&n.log("Infinite loop in contour?");var x,b,_,w,T,k,M,A,S,E,C,L,I,P,z,O=a(p[0],p[p.length-1],o,l),D=0,R=.2*t.smoothing,F=[],B=0;for(c=1;c<p.length;c++)L=p[c],I=p[c-1],P=void 0,z=void 0,P=L[2]-I[2],z=L[3]-I[3],D+=M=Math.sqrt(P*P+z*z),F.push(M);var N=D/F.length*R;function j(t){return p[t%p.length]}for(c=p.length-2;c>=B;c--)if((x=F[c])<N){for(_=0,b=c-1;b>=B&&x+F[b]<N;b--)x+=F[b];if(O&&c===p.length-2)for(_=0;_<b&&x+F[_]<N;_++)x+=F[_];T=c-b+_+1,k=Math.floor((c+b+_+2)/2),w=O||c!==p.length-2?O||-1!==b?T%2?j(k):[(j(k)[0]+j(k+1)[0])/2,(j(k)[1]+j(k+1)[1])/2]:p[0]:p[p.length-1],p.splice(b+1,c-b+1,w),c=b+1,_&&(B=_),O&&(c===p.length-2?p[_]=p[p.length-1]:0===c&&(p[p.length-1]=p[0]))}for(p.splice(0,B),c=0;c<p.length;c++)p[c].length=2;if(!(p.length<2))if(O)p.pop(),t.paths.push(p);else{r||n.log("Unclosed interior contour?",t.level,m.join(","),p.join("L"));var U=!1;for(A=0;A<t.edgepaths.length;A++)if(E=t.edgepaths[A],!U&&a(E[0],p[p.length-1],o,l)){p.pop(),U=!0;var V=!1;for(S=0;S<t.edgepaths.length;S++)if(a((C=t.edgepaths[S])[C.length-1],p[0],o,l)){V=!0,p.shift(),t.edgepaths.splice(A,1),S===A?t.paths.push(p.concat(C)):(S>A&&S--,t.edgepaths[S]=C.concat(p,E));break}V||(t.edgepaths[A]=p.concat(E))}for(A=0;A<t.edgepaths.length&&!U;A++)a((E=t.edgepaths[A])[E.length-1],p[0],o,l)&&(p.shift(),t.edgepaths[A]=E.concat(p),U=!0);U||t.edgepaths.push(p)}}function s(t,e,r){var n=e[0]+Math.max(r[0],0),i=e[1]+Math.max(r[1],0),a=t.z[i][n],o=t.xaxis,s=t.yaxis;if(r[1]){var l=(t.level-a)/(t.z[i][n+1]-a);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]}e.exports=function(t,e,r){var i,a,s,l;for(e=e||.01,r=r||.01,a=0;a<t.length;a++){for(s=t[a],l=0;l<s.starts.length;l++)o(s,s.starts[l],"edge",e,r);for(i=0;Object.keys(s.crossings).length&&i<1e4;)i++,o(s,Object.keys(s.crossings)[0].split(",").map(Number),void 0,e,r);1e4===i&&n.log("Infinite loop in contour?")}}},{"../../lib":778,"./constants":1012}],1021:[function(t,e,r){"use strict";var n=t("../../components/color"),i=t("../heatmap/hover");e.exports=function(t,e,r,a,o){var s=i(t,e,r,a,o,!0);return s&&s.forEach((function(t){var e=t.trace;"constraint"===e.contours.type&&(e.fillcolor&&n.opacity(e.fillcolor)?t.color=n.addOpacity(e.fillcolor,1):e.contours.showlines&&n.opacity(e.line.color)&&(t.color=n.addOpacity(e.line.color,1)))})),s}},{"../../components/color":643,"../heatmap/hover":1072}],1022:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),calc:t("./calc"),plot:t("./plot").plot,style:t("./style"),colorbar:t("./colorbar"),hoverPoints:t("./hover"),moduleType:"trace",name:"contour",basePlotModule:t("../../plots/cartesian"),categories:["cartesian","svg","2dMap","contour","showLegend"],meta:{}}},{"../../plots/cartesian":841,"./attributes":1008,"./calc":1009,"./colorbar":1011,"./defaults":1017,"./hover":1021,"./plot":1026,"./style":1028}],1023:[function(t,e,r){"use strict";var n=t("../../lib");e.exports=function(t,e,r,i){if(i||(i={}),t("contours.showlabels")){var a=e.font;n.coerceFont(t,"contours.labelfont",{family:a.family,size:a.size,color:r}),t("contours.labelformat")}!1!==i.hasHover&&t("zhoverformat")}},{"../../lib":778}],1024:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../components/colorscale"),a=t("./end_plus");e.exports=function(t){var e=t.contours,r=e.start,o=a(e),s=e.size||1,l=Math.floor((o-r)/s)+1,c="lines"===e.coloring?0:1,u=i.extractOpts(t);isFinite(s)||(s=1,l=1);var f,h,p=u.reversescale?i.flipScale(u.colorscale):u.colorscale,d=p.length,g=new Array(d),m=new Array(d);if("heatmap"===e.coloring){var v=u.min,y=u.max;for(h=0;h<d;h++)f=p[h],g[h]=f[0]*(y-v)+v,m[h]=f[1];var x=n.extent([v,y,e.start,e.start+s*(l-1)]),b=x[v<y?0:1],_=x[v<y?1:0];b!==v&&(g.splice(0,0,b),m.splice(0,0,m[0])),_!==y&&(g.push(_),m.push(m[m.length-1]))}else for(h=0;h<d;h++)f=p[h],g[h]=(f[0]*(l+c-1)-c/2)*s+r,m[h]=f[1];return i.makeColorScaleFunc({domain:g,range:m},{noNumericCheck:!0})}},{"../../components/colorscale":655,"./end_plus":1019,d3:169}],1025:[function(t,e,r){"use strict";var n=t("./constants");function i(t,e){var r=(e[0][0]>t?0:1)+(e[0][1]>t?0:2)+(e[1][1]>t?0:4)+(e[1][0]>t?0:8);return 5===r||10===r?t>(e[0][0]+e[0][1]+e[1][0]+e[1][1])/4?5===r?713:1114:5===r?104:208:15===r?0:r}e.exports=function(t){var e,r,a,o,s,l,c,u,f,h=t[0].z,p=h.length,d=h[0].length,g=2===p||2===d;for(r=0;r<p-1;r++)for(o=[],0===r&&(o=o.concat(n.BOTTOMSTART)),r===p-2&&(o=o.concat(n.TOPSTART)),e=0;e<d-1;e++)for(a=o.slice(),0===e&&(a=a.concat(n.LEFTSTART)),e===d-2&&(a=a.concat(n.RIGHTSTART)),s=e+","+r,l=[[h[r][e],h[r][e+1]],[h[r+1][e],h[r+1][e+1]]],f=0;f<t.length;f++)(c=i((u=t[f]).level,l))&&(u.crossings[s]=c,-1!==a.indexOf(c)&&(u.starts.push([e,r]),g&&-1!==a.indexOf(c,a.indexOf(c)+1)&&u.starts.push([e,r])))}},{"./constants":1012}],1026:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../lib"),a=t("../../components/drawing"),o=t("../../components/colorscale"),s=t("../../lib/svg_text_utils"),l=t("../../plots/cartesian/axes"),c=t("../../plots/cartesian/set_convert"),u=t("../heatmap/plot"),f=t("./make_crossings"),h=t("./find_all_paths"),p=t("./empty_pathinfo"),d=t("./convert_to_constraints"),g=t("./close_boundaries"),m=t("./constants"),v=m.LABELOPTIMIZER;function y(t,e){var r,n,o,s,l,c,u,f="",h=0,p=t.edgepaths.map((function(t,e){return e})),d=!0;function g(t){return Math.abs(t[1]-e[2][1])<.01}function m(t){return Math.abs(t[0]-e[0][0])<.01}function v(t){return Math.abs(t[0]-e[2][0])<.01}for(;p.length;){for(c=a.smoothopen(t.edgepaths[h],t.smoothing),f+=d?c:c.replace(/^M/,"L"),p.splice(p.indexOf(h),1),r=t.edgepaths[h][t.edgepaths[h].length-1],s=-1,o=0;o<4;o++){if(!r){i.log("Missing end?",h,t);break}for(u=r,Math.abs(u[1]-e[0][1])<.01&&!v(r)?n=e[1]:m(r)?n=e[0]:g(r)?n=e[3]:v(r)&&(n=e[2]),l=0;l<t.edgepaths.length;l++){var y=t.edgepaths[l][0];Math.abs(r[0]-n[0])<.01?Math.abs(r[0]-y[0])<.01&&(y[1]-r[1])*(n[1]-y[1])>=0&&(n=y,s=l):Math.abs(r[1]-n[1])<.01?Math.abs(r[1]-y[1])<.01&&(y[0]-r[0])*(n[0]-y[0])>=0&&(n=y,s=l):i.log("endpt to newendpt is not vert. or horz.",r,n,y)}if(r=n,s>=0)break;f+="L"+n}if(s===t.edgepaths.length){i.log("unclosed perimeter path");break}h=s,(d=-1===p.indexOf(h))&&(h=p[0],f+="Z")}for(h=0;h<t.paths.length;h++)f+=a.smoothclosed(t.paths[h],t.smoothing);return f}function x(t,e,r,n){var a=e.width/2,o=e.height/2,s=t.x,l=t.y,c=t.theta,u=Math.cos(c)*a,f=Math.sin(c)*a,h=(s>n.center?n.right-s:s-n.left)/(u+Math.abs(Math.sin(c)*o)),p=(l>n.middle?n.bottom-l:l-n.top)/(Math.abs(f)+Math.cos(c)*o);if(h<1||p<1)return 1/0;var d=v.EDGECOST*(1/(h-1)+1/(p-1));d+=v.ANGLECOST*c*c;for(var g=s-u,m=l-f,y=s+u,x=l+f,b=0;b<r.length;b++){var _=r[b],w=Math.cos(_.theta)*_.width/2,T=Math.sin(_.theta)*_.width/2,k=2*i.segmentDistance(g,m,y,x,_.x-w,_.y-T,_.x+w,_.y+T)/(e.height+_.height),M=_.level===e.level,A=M?v.SAMELEVELDISTANCE:1;if(k<=A)return 1/0;d+=v.NEIGHBORCOST*(M?v.SAMELEVELFACTOR:1)/(k-A)}return d}function b(t){var e,r,n=t.trace._emptypoints,i=[],a=t.z.length,o=t.z[0].length,s=[];for(e=0;e<o;e++)s.push(1);for(e=0;e<a;e++)i.push(s.slice());for(e=0;e<n.length;e++)i[(r=n[e])[0]][r[1]]=0;return t.zmask=i,i}r.plot=function(t,e,o,s){var l=e.xaxis,c=e.yaxis;i.makeTraceGroups(s,o,"contour").each((function(o){var s=n.select(this),v=o[0],x=v.trace,_=v.x,w=v.y,T=x.contours,k=p(T,e,v),M=i.ensureSingle(s,"g","heatmapcoloring"),A=[];"heatmap"===T.coloring&&(A=[o]),u(t,e,A,M),f(k),h(k);var S=l.c2p(_[0],!0),E=l.c2p(_[_.length-1],!0),C=c.c2p(w[0],!0),L=c.c2p(w[w.length-1],!0),I=[[S,L],[E,L],[E,C],[S,C]],P=k;"constraint"===T.type&&(P=d(k,T._operation)),function(t,e,r){var n=i.ensureSingle(t,"g","contourbg").selectAll("path").data("fill"===r.coloring?[0]:[]);n.enter().append("path"),n.exit().remove(),n.attr("d","M"+e.join("L")+"Z").style("stroke","none")}(s,I,T),function(t,e,r,a){var o="fill"===a.coloring||"constraint"===a.type&&"="!==a._operation,s="M"+r.join("L")+"Z";o&&g(e,a);var l=i.ensureSingle(t,"g","contourfill").selectAll("path").data(o?e:[]);l.enter().append("path"),l.exit().remove(),l.each((function(t){var e=(t.prefixBoundary?s:"")+y(t,r);e?n.select(this).attr("d",e).style("stroke","none"):n.select(this).remove()}))}(s,P,I,T),function(t,e,o,s,l){var c=i.ensureSingle(t,"g","contourlines"),u=!1!==l.showlines,f=l.showlabels,h=u&&f,p=r.createLines(c,u||f,e),d=r.createLineClip(c,h,o,s.trace.uid),g=t.selectAll("g.contourlabels").data(f?[0]:[]);if(g.exit().remove(),g.enter().append("g").classed("contourlabels",!0),f){var v=[],y=[];i.clearLocationCache();var x=r.labelFormatter(o,s),b=a.tester.append("text").attr("data-notex",1).call(a.font,l.labelfont),_=e[0].xaxis,w=e[0].yaxis,T=_._length,k=w._length,M=_.range,A=w.range,S=i.aggNums(Math.min,null,s.x),E=i.aggNums(Math.max,null,s.x),C=i.aggNums(Math.min,null,s.y),L=i.aggNums(Math.max,null,s.y),I=Math.max(_.c2p(S,!0),0),P=Math.min(_.c2p(E,!0),T),z=Math.max(w.c2p(L,!0),0),O=Math.min(w.c2p(C,!0),k),D={};M[0]<M[1]?(D.left=I,D.right=P):(D.left=P,D.right=I),A[0]<A[1]?(D.top=z,D.bottom=O):(D.top=O,D.bottom=z),D.middle=(D.top+D.bottom)/2,D.center=(D.left+D.right)/2,v.push([[D.left,D.top],[D.right,D.top],[D.right,D.bottom],[D.left,D.bottom]]);var R=Math.sqrt(T*T+k*k),F=m.LABELDISTANCE*R/Math.max(1,e.length/m.LABELINCREASE);p.each((function(t){var e=r.calcTextOpts(t.level,x,b,o);n.select(this).selectAll("path").each((function(){var t=i.getVisibleSegment(this,D,e.height/2);if(t&&!(t.len<(e.width+e.height)*m.LABELMIN))for(var n=Math.min(Math.ceil(t.len/F),m.LABELMAX),a=0;a<n;a++){var o=r.findBestTextLocation(this,t,e,y,D);if(!o)break;r.addLabelData(o,e,y,v)}}))})),b.remove(),r.drawLabels(g,y,o,d,h?v:null)}f&&!u&&p.remove()}(s,k,t,v,T),function(t,e,r,n,o){var s=n.trace,l=r._fullLayout._clips,c="clip"+s.uid,u=l.selectAll("#"+c).data(s.connectgaps?[]:[0]);if(u.enter().append("clipPath").classed("contourclip",!0).attr("id",c),u.exit().remove(),!1===s.connectgaps){var p={level:.9,crossings:{},starts:[],edgepaths:[],paths:[],xaxis:e.xaxis,yaxis:e.yaxis,x:n.x,y:n.y,z:b(n),smoothing:0};f([p]),h([p]),g([p],{type:"levels"}),i.ensureSingle(u,"path","").attr("d",(p.prefixBoundary?"M"+o.join("L")+"Z":"")+y(p,o))}else c=null;a.setClipUrl(t,c,r)}(s,e,t,v,I)}))},r.createLines=function(t,e,r){var n=r[0].smoothing,i=t.selectAll("g.contourlevel").data(e?r:[]);if(i.exit().remove(),i.enter().append("g").classed("contourlevel",!0),e){var o=i.selectAll("path.openline").data((function(t){return t.pedgepaths||t.edgepaths}));o.exit().remove(),o.enter().append("path").classed("openline",!0),o.attr("d",(function(t){return a.smoothopen(t,n)})).style("stroke-miterlimit",1).style("vector-effect","non-scaling-stroke");var s=i.selectAll("path.closedline").data((function(t){return t.ppaths||t.paths}));s.exit().remove(),s.enter().append("path").classed("closedline",!0),s.attr("d",(function(t){return a.smoothclosed(t,n)})).style("stroke-miterlimit",1).style("vector-effect","non-scaling-stroke")}return i},r.createLineClip=function(t,e,r,n){var i=e?"clipline"+n:null,o=r._fullLayout._clips.selectAll("#"+i).data(e?[0]:[]);return o.exit().remove(),o.enter().append("clipPath").classed("contourlineclip",!0).attr("id",i),a.setClipUrl(t,i,r),o},r.labelFormatter=function(t,e){var r=t._fullLayout,n=e.trace,i=n.contours,a={type:"linear",_id:"ycontour",showexponent:"all",exponentformat:"B"};if(i.labelformat)a.tickformat=i.labelformat,c(a,r);else{var s=o.extractOpts(n);if(s&&s.colorbar&&s.colorbar._axis)a=s.colorbar._axis;else{if("constraint"===i.type){var u=i.value;Array.isArray(u)?a.range=[u[0],u[u.length-1]]:a.range=[u,u]}else a.range=[i.start,i.end],a.nticks=(i.end-i.start)/i.size;a.range[0]===a.range[1]&&(a.range[1]+=a.range[0]||1),a.nticks||(a.nticks=1e3),c(a,r),l.prepTicks(a),a._tmin=null,a._tmax=null}}return function(t){return l.tickText(a,t).text}},r.calcTextOpts=function(t,e,r,n){var i=e(t);r.text(i).call(s.convertToTspans,n);var o=r.node(),l=a.bBox(o,!0);return{text:i,width:l.width,height:l.height,fontSize:+o.style["font-size"].replace("px",""),level:t,dy:(l.top+l.bottom)/2}},r.findBestTextLocation=function(t,e,r,n,a){var o,s,l,c,u,f=r.width;e.isClosed?(s=e.len/v.INITIALSEARCHPOINTS,o=e.min+s/2,l=e.max):(s=(e.len-f)/(v.INITIALSEARCHPOINTS+1),o=e.min+s+f/2,l=e.max-(s+f)/2);for(var h=1/0,p=0;p<v.ITERATIONS;p++){for(var d=o;d<l;d+=s){var g=i.getTextLocation(t,e.total,d,f),m=x(g,r,n,a);m<h&&(h=m,u=g,c=d)}if(h>2*v.MAXCOST)break;p&&(s/=2),l=(o=c-s/2)+1.5*s}if(h<=v.MAXCOST)return u},r.addLabelData=function(t,e,r,n){var i=e.fontSize,a=e.width+i/3,o=Math.max(0,e.height-i/3),s=t.x,l=t.y,c=t.theta,u=Math.sin(c),f=Math.cos(c),h=function(t,e){return[s+t*f-e*u,l+t*u+e*f]},p=[h(-a/2,-o/2),h(-a/2,o/2),h(a/2,o/2),h(a/2,-o/2)];r.push({text:e.text,x:s,y:l,dy:e.dy,theta:c,level:e.level,width:a,height:o}),n.push(p)},r.drawLabels=function(t,e,r,a,o){var l=t.selectAll("text").data(e,(function(t){return t.text+","+t.x+","+t.y+","+t.theta}));if(l.exit().remove(),l.enter().append("text").attr({"data-notex":1,"text-anchor":"middle"}).each((function(t){var e=t.x+Math.sin(t.theta)*t.dy,i=t.y-Math.cos(t.theta)*t.dy;n.select(this).text(t.text).attr({x:e,y:i,transform:"rotate("+180*t.theta/Math.PI+" "+e+" "+i+")"}).call(s.convertToTspans,r)})),o){for(var c="",u=0;u<o.length;u++)c+="M"+o[u].join("L")+"Z";i.ensureSingle(a,"path","").attr("d",c)}}},{"../../components/colorscale":655,"../../components/drawing":665,"../../lib":778,"../../lib/svg_text_utils":803,"../../plots/cartesian/axes":828,"../../plots/cartesian/set_convert":848,"../heatmap/plot":1076,"./close_boundaries":1010,"./constants":1012,"./convert_to_constraints":1016,"./empty_pathinfo":1018,"./find_all_paths":1020,"./make_crossings":1025,d3:169}],1027:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes"),i=t("../../lib");function a(t,e,r){var i={type:"linear",range:[t,e]};return n.autoTicks(i,(e-t)/(r||15)),i}e.exports=function(t,e){var r=t.contours;if(t.autocontour){var o=t.zmin,s=t.zmax;(t.zauto||void 0===o)&&(o=i.aggNums(Math.min,null,e)),(t.zauto||void 0===s)&&(s=i.aggNums(Math.max,null,e));var l=a(o,s,t.ncontours);r.size=l.dtick,r.start=n.tickFirst(l),l.range.reverse(),r.end=n.tickFirst(l),r.start===o&&(r.start+=r.size),r.end===s&&(r.end-=r.size),r.start>r.end&&(r.start=r.end=(r.start+r.end)/2),t._input.contours||(t._input.contours={}),i.extendFlat(t._input.contours,{start:r.start,end:r.end,size:r.size}),t._input.autocontour=!0}else if("constraint"!==r.type){var c,u=r.start,f=r.end,h=t._input.contours;if(u>f&&(r.start=h.start=f,f=r.end=h.end=u,u=r.start),!(r.size>0))c=u===f?1:a(u,f,t.ncontours).dtick,h.size=r.size=c}}},{"../../lib":778,"../../plots/cartesian/axes":828}],1028:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../components/drawing"),a=t("../heatmap/style"),o=t("./make_color_map");e.exports=function(t){var e=n.select(t).selectAll("g.contour");e.style("opacity",(function(t){return t[0].trace.opacity})),e.each((function(t){var e=n.select(this),r=t[0].trace,a=r.contours,s=r.line,l=a.size||1,c=a.start,u="constraint"===a.type,f=!u&&"lines"===a.coloring,h=!u&&"fill"===a.coloring,p=f||h?o(r):null;e.selectAll("g.contourlevel").each((function(t){n.select(this).selectAll("path").call(i.lineGroupStyle,s.width,f?p(t.level):s.color,s.dash)}));var d=a.labelfont;if(e.selectAll("g.contourlabels text").each((function(t){i.font(n.select(this),{family:d.family,size:d.size,color:d.color||(f?p(t.level):s.color)})})),u)e.selectAll("g.contourfill path").style("fill",r.fillcolor);else if(h){var g;e.selectAll("g.contourfill path").style("fill",(function(t){return void 0===g&&(g=t.level),p(t.level+.5*l)})),void 0===g&&(g=c),e.selectAll("g.contourbg path").style("fill",p(g-.5*l))}})),a(t)}},{"../../components/drawing":665,"../heatmap/style":1077,"./make_color_map":1024,d3:169}],1029:[function(t,e,r){"use strict";var n=t("../../components/colorscale/defaults"),i=t("./label_defaults");e.exports=function(t,e,r,a,o){var s,l=r("contours.coloring"),c="";"fill"===l&&(s=r("contours.showlines")),!1!==s&&("lines"!==l&&(c=r("line.color","#000")),r("line.width",.5),r("line.dash")),"none"!==l&&(!0!==t.showlegend&&(e.showlegend=!1),e._dfltShowLegend=!1,n(t,e,a,r,{prefix:"",cLetter:"z"})),r("line.smoothing"),i(r,a,c,o)}},{"../../components/colorscale/defaults":653,"./label_defaults":1023}],1030:[function(t,e,r){"use strict";var n=t("../heatmap/attributes"),i=t("../contour/attributes"),a=t("../../components/colorscale/attributes"),o=t("../../lib/extend").extendFlat,s=i.contours;e.exports=o({carpet:{valType:"string",editType:"calc"},z:n.z,a:n.x,a0:n.x0,da:n.dx,b:n.y,b0:n.y0,db:n.dy,text:n.text,hovertext:n.hovertext,transpose:n.transpose,atype:n.xtype,btype:n.ytype,fillcolor:i.fillcolor,autocontour:i.autocontour,ncontours:i.ncontours,contours:{type:s.type,start:s.start,end:s.end,size:s.size,coloring:{valType:"enumerated",values:["fill","lines","none"],dflt:"fill",editType:"calc"},showlines:s.showlines,showlabels:s.showlabels,labelfont:s.labelfont,labelformat:s.labelformat,operation:s.operation,value:s.value,editType:"calc",impliedEdits:{autocontour:!1}},line:{color:i.line.color,width:i.line.width,dash:i.line.dash,smoothing:i.line.smoothing,editType:"plot"},transforms:void 0},a("",{cLetter:"z",autoColorDflt:!1}))},{"../../components/colorscale/attributes":650,"../../lib/extend":768,"../contour/attributes":1008,"../heatmap/attributes":1065}],1031:[function(t,e,r){"use strict";var n=t("../../components/colorscale/calc"),i=t("../../lib"),a=t("../heatmap/convert_column_xyz"),o=t("../heatmap/clean_2d_array"),s=t("../heatmap/interp2d"),l=t("../heatmap/find_empties"),c=t("../heatmap/make_bound_array"),u=t("./defaults"),f=t("../carpet/lookup_carpetid"),h=t("../contour/set_contours");e.exports=function(t,e){var r=e._carpetTrace=f(t,e);if(r&&r.visible&&"legendonly"!==r.visible){if(!e.a||!e.b){var p=t.data[r.index],d=t.data[e.index];d.a||(d.a=p.a),d.b||(d.b=p.b),u(d,e,e._defaultColor,t._fullLayout)}var g=function(t,e){var r,u,f,h,p,d,g,m=e._carpetTrace,v=m.aaxis,y=m.baxis;v._minDtick=0,y._minDtick=0,i.isArray1D(e.z)&&a(e,v,y,"a","b",["z"]);r=e._a=e._a||e.a,h=e._b=e._b||e.b,r=r?v.makeCalcdata(e,"_a"):[],h=h?y.makeCalcdata(e,"_b"):[],u=e.a0||0,f=e.da||1,p=e.b0||0,d=e.db||1,g=e._z=o(e._z||e.z,e.transpose),e._emptypoints=l(g),s(g,e._emptypoints);var x=i.maxRowLength(g),b="scaled"===e.xtype?"":r,_=c(e,b,u,f,x,v),w="scaled"===e.ytype?"":h,T=c(e,w,p,d,g.length,y),k={a:_,b:T,z:g};"levels"===e.contours.type&&"none"!==e.contours.coloring&&n(t,e,{vals:g,containerStr:"",cLetter:"z"});return[k]}(t,e);return h(e,e._z),g}}},{"../../components/colorscale/calc":651,"../../lib":778,"../carpet/lookup_carpetid":981,"../contour/set_contours":1027,"../heatmap/clean_2d_array":1067,"../heatmap/convert_column_xyz":1069,"../heatmap/find_empties":1071,"../heatmap/interp2d":1074,"../heatmap/make_bound_array":1075,"./defaults":1032}],1032:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../heatmap/xyz_defaults"),a=t("./attributes"),o=t("../contour/constraint_defaults"),s=t("../contour/contours_defaults"),l=t("../contour/style_defaults");e.exports=function(t,e,r,c){function u(r,i){return n.coerce(t,e,a,r,i)}if(u("carpet"),t.a&&t.b){if(!i(t,e,u,c,"a","b"))return void(e.visible=!1);u("text"),"constraint"===u("contours.type")?o(t,e,u,c,r,{hasHover:!1}):(s(t,e,u,(function(r){return n.coerce2(t,e,a,r)})),l(t,e,u,c,{hasHover:!1}))}else e._defaultColor=r,e._length=null}},{"../../lib":778,"../contour/constraint_defaults":1013,"../contour/contours_defaults":1015,"../contour/style_defaults":1029,"../heatmap/xyz_defaults":1079,"./attributes":1030}],1033:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),colorbar:t("../contour/colorbar"),calc:t("./calc"),plot:t("./plot"),style:t("../contour/style"),moduleType:"trace",name:"contourcarpet",basePlotModule:t("../../plots/cartesian"),categories:["cartesian","svg","carpet","contour","symbols","showLegend","hasLines","carpetDependent","noHover","noSortingByValue"],meta:{}}},{"../../plots/cartesian":841,"../contour/colorbar":1011,"../contour/style":1028,"./attributes":1030,"./calc":1031,"./defaults":1032,"./plot":1034}],1034:[function(t,e,r){"use strict";var n=t("d3"),i=t("../carpet/map_1d_array"),a=t("../carpet/makepath"),o=t("../../components/drawing"),s=t("../../lib"),l=t("../contour/make_crossings"),c=t("../contour/find_all_paths"),u=t("../contour/plot"),f=t("../contour/constants"),h=t("../contour/convert_to_constraints"),p=t("../contour/empty_pathinfo"),d=t("../contour/close_boundaries"),g=t("../carpet/lookup_carpetid"),m=t("../carpet/axis_aligned_line");function v(t,e,r){var n=t.getPointAtLength(e),i=t.getPointAtLength(r),a=i.x-n.x,o=i.y-n.y,s=Math.sqrt(a*a+o*o);return[a/s,o/s]}function y(t){var e=Math.sqrt(t[0]*t[0]+t[1]*t[1]);return[t[0]/e,t[1]/e]}function x(t,e){var r=Math.abs(t[0]*e[0]+t[1]*e[1]);return Math.sqrt(1-r*r)/r}e.exports=function(t,e,r,b){var _=e.xaxis,w=e.yaxis;s.makeTraceGroups(b,r,"contour").each((function(r){var b=n.select(this),T=r[0],k=T.trace,M=k._carpetTrace=g(t,k),A=t.calcdata[M.index][0];if(M.visible&&"legendonly"!==M.visible){var S=T.a,E=T.b,C=k.contours,L=p(C,e,T),I="constraint"===C.type,P=C._operation,z=I?"="===P?"lines":"fill":C.coloring,O=[[S[0],E[E.length-1]],[S[S.length-1],E[E.length-1]],[S[S.length-1],E[0]],[S[0],E[0]]];l(L);var D=1e-8*(S[S.length-1]-S[0]),R=1e-8*(E[E.length-1]-E[0]);c(L,D,R);var F,B,N,j,U=L;"constraint"===C.type&&(U=h(L,P)),function(t,e){var r,n,i,a,o,s,l,c,u;for(r=0;r<t.length;r++){for(a=t[r],o=a.pedgepaths=[],s=a.ppaths=[],n=0;n<a.edgepaths.length;n++){for(u=a.edgepaths[n],l=[],i=0;i<u.length;i++)l[i]=e(u[i]);o.push(l)}for(n=0;n<a.paths.length;n++){for(u=a.paths[n],c=[],i=0;i<u.length;i++)c[i]=e(u[i]);s.push(c)}}}(L,H);var V=[];for(j=A.clipsegments.length-1;j>=0;j--)F=A.clipsegments[j],B=i([],F.x,_.c2p),N=i([],F.y,w.c2p),B.reverse(),N.reverse(),V.push(a(B,N,F.bicubic));var q="M"+V.join("L")+"Z";!function(t,e,r,n,o,l){var c,u,f,h,p=s.ensureSingle(t,"g","contourbg").selectAll("path").data("fill"!==l||o?[]:[0]);p.enter().append("path"),p.exit().remove();var d=[];for(h=0;h<e.length;h++)c=e[h],u=i([],c.x,r.c2p),f=i([],c.y,n.c2p),d.push(a(u,f,c.bicubic));p.attr("d","M"+d.join("L")+"Z").style("stroke","none")}(b,A.clipsegments,_,w,I,z),function(t,e,r,i,a,l,c,u,f,h,p){var g="fill"===h;g&&d(a,t.contours);var v=s.ensureSingle(e,"g","contourfill").selectAll("path").data(g?a:[]);v.enter().append("path"),v.exit().remove(),v.each((function(t){var e=(t.prefixBoundary?p:"")+function(t,e,r,n,i,a,l,c){var u,f,h,p,d,g,v,y="",x=e.edgepaths.map((function(t,e){return e})),b=!0,_=1e-4*Math.abs(r[0][0]-r[2][0]),w=1e-4*Math.abs(r[0][1]-r[2][1]);function T(t){return Math.abs(t[1]-r[0][1])<w}function k(t){return Math.abs(t[1]-r[2][1])<w}function M(t){return Math.abs(t[0]-r[0][0])<_}function A(t){return Math.abs(t[0]-r[2][0])<_}function S(t,e){var r,n,o,s,u="";for(T(t)&&!A(t)||k(t)&&!M(t)?(s=i.aaxis,o=m(i,a,[t[0],e[0]],.5*(t[1]+e[1]))):(s=i.baxis,o=m(i,a,.5*(t[0]+e[0]),[t[1],e[1]])),r=1;r<o.length;r++)for(u+=s.smoothing?"C":"L",n=0;n<o[r].length;n++){var f=o[r][n];u+=[l.c2p(f[0]),c.c2p(f[1])]+" "}return u}u=0,f=null;for(;x.length;){var E=e.edgepaths[u][0];for(f&&(y+=S(f,E)),v=o.smoothopen(e.edgepaths[u].map(n),e.smoothing),y+=b?v:v.replace(/^M/,"L"),x.splice(x.indexOf(u),1),f=e.edgepaths[u][e.edgepaths[u].length-1],d=-1,p=0;p<4;p++){if(!f){s.log("Missing end?",u,e);break}for(T(f)&&!A(f)?h=r[1]:M(f)?h=r[0]:k(f)?h=r[3]:A(f)&&(h=r[2]),g=0;g<e.edgepaths.length;g++){var C=e.edgepaths[g][0];Math.abs(f[0]-h[0])<_?Math.abs(f[0]-C[0])<_&&(C[1]-f[1])*(h[1]-C[1])>=0&&(h=C,d=g):Math.abs(f[1]-h[1])<w?Math.abs(f[1]-C[1])<w&&(C[0]-f[0])*(h[0]-C[0])>=0&&(h=C,d=g):s.log("endpt to newendpt is not vert. or horz.",f,h,C)}if(d>=0)break;y+=S(f,h),f=h}if(d===e.edgepaths.length){s.log("unclosed perimeter path");break}u=d,(b=-1===x.indexOf(u))&&(u=x[0],y+=S(f,h)+"Z",f=null)}for(u=0;u<e.paths.length;u++)y+=o.smoothclosed(e.paths[u].map(n),e.smoothing);return y}(0,t,l,c,u,f,r,i);e?n.select(this).attr("d",e).style("stroke","none"):n.select(this).remove()}))}(k,b,_,w,U,O,H,M,A,z,q),function(t,e,r,i,a,l,c){var h=s.ensureSingle(t,"g","contourlines"),p=!1!==a.showlines,d=a.showlabels,g=p&&d,m=u.createLines(h,p||d,e),b=u.createLineClip(h,g,r,i.trace.uid),_=t.selectAll("g.contourlabels").data(d?[0]:[]);if(_.exit().remove(),_.enter().append("g").classed("contourlabels",!0),d){var w=l.xaxis,T=l.yaxis,k=w._length,M=T._length,A=[[[0,0],[k,0],[k,M],[0,M]]],S=[];s.clearLocationCache();var E=u.labelFormatter(r,i),C=o.tester.append("text").attr("data-notex",1).call(o.font,a.labelfont),L={left:0,right:k,center:k/2,top:0,bottom:M,middle:M/2},I=Math.sqrt(k*k+M*M),P=f.LABELDISTANCE*I/Math.max(1,e.length/f.LABELINCREASE);m.each((function(t){var e=u.calcTextOpts(t.level,E,C,r);n.select(this).selectAll("path").each((function(r){var n=s.getVisibleSegment(this,L,e.height/2);if(n&&(function(t,e,r,n,i,a){for(var o,s=0;s<r.pedgepaths.length;s++)e===r.pedgepaths[s]&&(o=r.edgepaths[s]);if(!o)return;var l=i.a[0],c=i.a[i.a.length-1],u=i.b[0],f=i.b[i.b.length-1];function h(t,e){var r,n=0;return(Math.abs(t[0]-l)<.1||Math.abs(t[0]-c)<.1)&&(r=y(i.dxydb_rough(t[0],t[1],.1)),n=Math.max(n,a*x(e,r)/2)),(Math.abs(t[1]-u)<.1||Math.abs(t[1]-f)<.1)&&(r=y(i.dxyda_rough(t[0],t[1],.1)),n=Math.max(n,a*x(e,r)/2)),n}var p=v(t,0,1),d=v(t,n.total,n.total-1),g=h(o[0],p),m=n.total-h(o[o.length-1],d);n.min<g&&(n.min=g);n.max>m&&(n.max=m);n.len=n.max-n.min}(this,r,t,n,c,e.height),!(n.len<(e.width+e.height)*f.LABELMIN)))for(var i=Math.min(Math.ceil(n.len/P),f.LABELMAX),a=0;a<i;a++){var o=u.findBestTextLocation(this,n,e,S,L);if(!o)break;u.addLabelData(o,e,S,A)}}))})),C.remove(),u.drawLabels(_,S,r,b,g?A:null)}d&&!p&&m.remove()}(b,L,t,T,C,e,M),o.setClipUrl(b,M._clipPathId,t)}function H(t){var e=M.ab2xy(t[0],t[1],!0);return[_.c2p(e[0]),w.c2p(e[1])]}}))}},{"../../components/drawing":665,"../../lib":778,"../carpet/axis_aligned_line":965,"../carpet/lookup_carpetid":981,"../carpet/makepath":982,"../carpet/map_1d_array":983,"../contour/close_boundaries":1010,"../contour/constants":1012,"../contour/convert_to_constraints":1016,"../contour/empty_pathinfo":1018,"../contour/find_all_paths":1020,"../contour/make_crossings":1025,"../contour/plot":1026,d3:169}],1035:[function(t,e,r){"use strict";var n=t("../../components/colorscale/attributes"),i=t("../../plots/template_attributes").hovertemplateAttrs,a=t("../../plots/attributes"),o=t("../scattermapbox/attributes"),s=t("../../lib/extend").extendFlat;e.exports=s({lon:o.lon,lat:o.lat,z:{valType:"data_array",editType:"calc"},radius:{valType:"number",editType:"plot",arrayOk:!0,min:1,dflt:30},below:{valType:"string",editType:"plot"},text:o.text,hovertext:o.hovertext,hoverinfo:s({},a.hoverinfo,{flags:["lon","lat","z","text","name"]}),hovertemplate:i(),showlegend:s({},a.showlegend,{dflt:!1})},n("",{cLetter:"z",editTypeOverride:"calc"}))},{"../../components/colorscale/attributes":650,"../../lib/extend":768,"../../plots/attributes":824,"../../plots/template_attributes":906,"../scattermapbox/attributes":1252}],1036:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../lib").isArrayOrTypedArray,a=t("../../constants/numerical").BADNUM,o=t("../../components/colorscale/calc"),s=t("../../lib")._;e.exports=function(t,e){for(var r=e._length,l=new Array(r),c=e.z,u=i(c)&&c.length,f=0;f<r;f++){var h=l[f]={},p=e.lon[f],d=e.lat[f];if(h.lonlat=n(p)&&n(d)?[+p,+d]:[a,a],u){var g=c[f];h.z=n(g)?g:a}}return o(t,e,{vals:u?c:[0,1],containerStr:"",cLetter:"z"}),r&&(l[0].t={labels:{lat:s(t,"lat:")+" ",lon:s(t,"lon:")+" "}}),l}},{"../../components/colorscale/calc":651,"../../constants/numerical":753,"../../lib":778,"fast-isnumeric":241}],1037:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../lib"),a=t("../../components/color"),o=t("../../components/colorscale"),s=t("../../constants/numerical").BADNUM,l=t("../../lib/geojson_utils").makeBlank;e.exports=function(t){var e=t[0].trace,r=!0===e.visible&&0!==e._length,c=e._opts={heatmap:{layout:{visibility:"none"},paint:{}},geojson:l()};if(!r)return c;var u,f=[],h=e.z,p=e.radius,d=i.isArrayOrTypedArray(h)&&h.length,g=i.isArrayOrTypedArray(p);for(u=0;u<t.length;u++){var m=t[u],v=m.lonlat;if(v[0]!==s){var y={};if(d){var x=m.z;y.z=x!==s?x:0}g&&(y.r=n(p[u])&&p[u]>0?+p[u]:0),f.push({type:"Feature",geometry:{type:"Point",coordinates:v},properties:y})}}var b=o.extractOpts(e),_=b.reversescale?o.flipScale(b.colorscale):b.colorscale,w=_[0][1],T=["interpolate",["linear"],["heatmap-density"],0,a.opacity(w)<1?w:a.addOpacity(w,0)];for(u=1;u<_.length;u++)T.push(_[u][0],_[u][1]);var k=["interpolate",["linear"],["get","z"],b.min,0,b.max,1];return i.extendFlat(c.heatmap.paint,{"heatmap-weight":d?k:1/(b.max-b.min),"heatmap-color":T,"heatmap-radius":g?{type:"identity",property:"r"}:e.radius,"heatmap-opacity":e.opacity}),c.geojson={type:"FeatureCollection",features:f},c.heatmap.layout.visibility="visible",c}},{"../../components/color":643,"../../components/colorscale":655,"../../constants/numerical":753,"../../lib":778,"../../lib/geojson_utils":772,"fast-isnumeric":241}],1038:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../components/colorscale/defaults"),a=t("./attributes");e.exports=function(t,e,r,o){function s(r,i){return n.coerce(t,e,a,r,i)}var l=s("lon")||[],c=s("lat")||[],u=Math.min(l.length,c.length);u?(e._length=u,s("z"),s("radius"),s("below"),s("text"),s("hovertext"),s("hovertemplate"),i(t,e,o,s,{prefix:"",cLetter:"z"})):e.visible=!1}},{"../../components/colorscale/defaults":653,"../../lib":778,"./attributes":1035}],1039:[function(t,e,r){"use strict";e.exports=function(t,e){return t.lon=e.lon,t.lat=e.lat,t.z=e.z,t}},{}],1040:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../plots/cartesian/axes"),a=t("../scattermapbox/hover");e.exports=function(t,e,r){var o=a(t,e,r);if(o){var s=o[0],l=s.cd,c=l[0].trace,u=l[s.index];if(delete s.color,"z"in u){var f=s.subplot.mockAxis;s.z=u.z,s.zLabel=i.tickText(f,f.c2l(u.z),"hover").text}return s.extraText=function(t,e,r){if(t.hovertemplate)return;var i=(e.hi||t.hoverinfo).split("+"),a=-1!==i.indexOf("all"),o=-1!==i.indexOf("lon"),s=-1!==i.indexOf("lat"),l=e.lonlat,c=[];function u(t){return t+"\xb0"}a||o&&s?c.push("("+u(l[0])+", "+u(l[1])+")"):o?c.push(r.lon+u(l[0])):s&&c.push(r.lat+u(l[1]));(a||-1!==i.indexOf("text"))&&n.fillText(e,t,c);return c.join("<br>")}(c,u,l[0].t.labels),[s]}}},{"../../lib":778,"../../plots/cartesian/axes":828,"../scattermapbox/hover":1257}],1041:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),colorbar:t("../heatmap/colorbar"),formatLabels:t("../scattermapbox/format_labels"),calc:t("./calc"),plot:t("./plot"),hoverPoints:t("./hover"),eventData:t("./event_data"),getBelow:function(t,e){for(var r=e.getMapLayers(),n=0;n<r.length;n++){var i=r[n],a=i.id;if("symbol"===i.type&&"string"==typeof a&&-1===a.indexOf("plotly-"))return a}},moduleType:"trace",name:"densitymapbox",basePlotModule:t("../../plots/mapbox"),categories:["mapbox","gl","showLegend"],meta:{hr_name:"density_mapbox"}}},{"../../plots/mapbox":885,"../heatmap/colorbar":1068,"../scattermapbox/format_labels":1256,"./attributes":1035,"./calc":1036,"./defaults":1038,"./event_data":1039,"./hover":1040,"./plot":1042}],1042:[function(t,e,r){"use strict";var n=t("./convert"),i=t("../../plots/mapbox/constants").traceLayerPrefix;function a(t,e){this.type="densitymapbox",this.subplot=t,this.uid=e,this.sourceId="source-"+e,this.layerList=[["heatmap",i+e+"-heatmap"]],this.below=null}var o=a.prototype;o.update=function(t){var e=this.subplot,r=this.layerList,i=n(t),a=e.belowLookup["trace-"+this.uid];e.map.getSource(this.sourceId).setData(i.geojson),a!==this.below&&(this._removeLayers(),this._addLayers(i,a),this.below=a);for(var o=0;o<r.length;o++){var s=r[o],l=s[0],c=s[1],u=i[l];e.setOptions(c,"setLayoutProperty",u.layout),"visible"===u.layout.visibility&&e.setOptions(c,"setPaintProperty",u.paint)}},o._addLayers=function(t,e){for(var r=this.subplot,n=this.layerList,i=this.sourceId,a=0;a<n.length;a++){var o=n[a],s=o[0],l=t[s];r.addLayer({type:s,id:o[1],source:i,layout:l.layout,paint:l.paint},e)}},o._removeLayers=function(){for(var t=this.subplot.map,e=this.layerList,r=e.length-1;r>=0;r--)t.removeLayer(e[r][1])},o.dispose=function(){var t=this.subplot.map;this._removeLayers(),t.removeSource(this.sourceId)},e.exports=function(t,e){var r=e[0].trace,i=new a(t,r.uid),o=i.sourceId,s=n(e),l=i.below=t.belowLookup["trace-"+r.uid];return t.map.addSource(o,{type:"geojson",data:s.geojson}),i._addLayers(s,l),i}},{"../../plots/mapbox/constants":883,"./convert":1037}],1043:[function(t,e,r){"use strict";var n=t("../../lib");e.exports=function(t,e){for(var r=0;r<t.length;r++)t[r].i=r;n.mergeArray(e.text,t,"tx"),n.mergeArray(e.hovertext,t,"htx");var i=e.marker;if(i){n.mergeArray(i.opacity,t,"mo"),n.mergeArray(i.color,t,"mc");var a=i.line;a&&(n.mergeArray(a.color,t,"mlc"),n.mergeArrayCastPositive(a.width,t,"mlw"))}}},{"../../lib":778}],1044:[function(t,e,r){"use strict";var n=t("../bar/attributes"),i=t("../scatter/attributes").line,a=t("../../plots/attributes"),o=t("../../plots/template_attributes").hovertemplateAttrs,s=t("../../plots/template_attributes").texttemplateAttrs,l=t("./constants"),c=t("../../lib/extend").extendFlat,u=t("../../components/color");e.exports={x:n.x,x0:n.x0,dx:n.dx,y:n.y,y0:n.y0,dy:n.dy,xperiod:n.xperiod,yperiod:n.yperiod,xperiod0:n.xperiod0,yperiod0:n.yperiod0,xperiodalignment:n.xperiodalignment,yperiodalignment:n.yperiodalignment,hovertext:n.hovertext,hovertemplate:o({},{keys:l.eventDataKeys}),hoverinfo:c({},a.hoverinfo,{flags:["name","x","y","text","percent initial","percent previous","percent total"]}),textinfo:{valType:"flaglist",flags:["label","text","percent initial","percent previous","percent total","value"],extras:["none"],editType:"plot",arrayOk:!1},texttemplate:s({editType:"plot"},{keys:l.eventDataKeys.concat(["label","value"])}),text:n.text,textposition:c({},n.textposition,{dflt:"auto"}),insidetextanchor:c({},n.insidetextanchor,{dflt:"middle"}),textangle:c({},n.textangle,{dflt:0}),textfont:n.textfont,insidetextfont:n.insidetextfont,outsidetextfont:n.outsidetextfont,constraintext:n.constraintext,cliponaxis:n.cliponaxis,orientation:c({},n.orientation,{}),offset:c({},n.offset,{arrayOk:!1}),width:c({},n.width,{arrayOk:!1}),marker:n.marker,connector:{fillcolor:{valType:"color",editType:"style"},line:{color:c({},i.color,{dflt:u.defaultLine}),width:c({},i.width,{dflt:0,editType:"plot"}),dash:i.dash,editType:"style"},visible:{valType:"boolean",dflt:!0,editType:"plot"},editType:"plot"},offsetgroup:n.offsetgroup,alignmentgroup:n.alignmentgroup}},{"../../components/color":643,"../../lib/extend":768,"../../plots/attributes":824,"../../plots/template_attributes":906,"../bar/attributes":921,"../scatter/attributes":1187,"./constants":1046}],1045:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes"),i=t("../../plots/cartesian/align_period"),a=t("./arrays_to_calcdata"),o=t("../scatter/calc_selection"),s=t("../../constants/numerical").BADNUM;function l(t){return t===s?0:t}e.exports=function(t,e){var r,c,u,f,h,p,d=n.getFromId(t,e.xaxis||"x"),g=n.getFromId(t,e.yaxis||"y");"h"===e.orientation?(r=d.makeCalcdata(e,"x"),u=g.makeCalcdata(e,"y"),c=i(e,g,"y",u),p=!!e.yperiodalignment):(r=g.makeCalcdata(e,"y"),u=d.makeCalcdata(e,"x"),c=i(e,d,"x",u),p=!!e.xperiodalignment);var m,v=Math.min(c.length,r.length),y=new Array(v);for(e._base=[],f=0;f<v;f++){r[f]<0&&(r[f]=s);var x=!1;r[f]!==s&&f+1<v&&r[f+1]!==s&&(x=!0),h=y[f]={p:c[f],s:r[f],cNext:x},e._base[f]=-.5*h.s,p&&(y[f].orig_p=u[f]),e.ids&&(h.id=String(e.ids[f])),0===f&&(y[0].vTotal=0),y[0].vTotal+=l(h.s),h.begR=l(h.s)/l(y[0].s)}for(f=0;f<v;f++)(h=y[f]).s!==s&&(h.sumR=h.s/y[0].vTotal,h.difR=void 0!==m?h.s/m:1,m=h.s);return a(y,e),o(y,e),y}},{"../../constants/numerical":753,"../../plots/cartesian/align_period":825,"../../plots/cartesian/axes":828,"../scatter/calc_selection":1189,"./arrays_to_calcdata":1043}],1046:[function(t,e,r){"use strict";e.exports={eventDataKeys:["percentInitial","percentPrevious","percentTotal"]}},{}],1047:[function(t,e,r){"use strict";var n=t("../bar/cross_trace_calc").setGroupPositions;e.exports=function(t,e){var r,i,a=t._fullLayout,o=t._fullData,s=t.calcdata,l=e.xaxis,c=e.yaxis,u=[],f=[],h=[];for(i=0;i<o.length;i++){var p=o[i],d="h"===p.orientation;!0===p.visible&&p.xaxis===l._id&&p.yaxis===c._id&&"funnel"===p.type&&(r=s[i],d?h.push(r):f.push(r),u.push(r))}var g={mode:a.funnelmode,norm:a.funnelnorm,gap:a.funnelgap,groupgap:a.funnelgroupgap};for(n(t,l,c,f,g),n(t,c,l,h,g),i=0;i<u.length;i++){r=u[i];for(var m=0;m<r.length;m++)m+1<r.length&&(r[m].nextP0=r[m+1].p0,r[m].nextS0=r[m+1].s0,r[m].nextP1=r[m+1].p1,r[m].nextS1=r[m+1].s1)}}},{"../bar/cross_trace_calc":924}],1048:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../bar/defaults").handleGroupingDefaults,a=t("../bar/defaults").handleText,o=t("../scatter/xy_defaults"),s=t("../scatter/period_defaults"),l=t("./attributes"),c=t("../../components/color");e.exports={supplyDefaults:function(t,e,r,i){function u(r,i){return n.coerce(t,e,l,r,i)}if(o(t,e,i,u)){s(t,e,i,u),u("orientation",e.y&&!e.x?"v":"h"),u("offset"),u("width");var f=u("text");u("hovertext"),u("hovertemplate");var h=u("textposition");a(t,e,i,u,h,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),"none"===e.textposition||e.texttemplate||u("textinfo",Array.isArray(f)?"text+value":"value");var p=u("marker.color",r);if(u("marker.line.color",c.defaultLine),u("marker.line.width"),u("connector.visible"))u("connector.fillcolor",function(t){var e=n.isArrayOrTypedArray(t)?"#000":t;return c.addOpacity(e,.5*c.opacity(e))}(p)),u("connector.line.width")&&(u("connector.line.color"),u("connector.line.dash"))}else e.visible=!1},crossTraceDefaults:function(t,e){var r,a;function o(t){return n.coerce(a._input,a,l,t)}if("group"===e.funnelmode)for(var s=0;s<t.length;s++)r=(a=t[s])._input,i(r,a,e,o)}}},{"../../components/color":643,"../../lib":778,"../bar/defaults":925,"../scatter/period_defaults":1207,"../scatter/xy_defaults":1214,"./attributes":1044}],1049:[function(t,e,r){"use strict";e.exports=function(t,e){return t.x="xVal"in e?e.xVal:e.x,t.y="yVal"in e?e.yVal:e.y,"percentInitial"in e&&(t.percentInitial=e.percentInitial),"percentPrevious"in e&&(t.percentPrevious=e.percentPrevious),"percentTotal"in e&&(t.percentTotal=e.percentTotal),e.xa&&(t.xaxis=e.xa),e.ya&&(t.yaxis=e.ya),t}},{}],1050:[function(t,e,r){"use strict";var n=t("../../components/color").opacity,i=t("../bar/hover").hoverOnBars,a=t("../../lib").formatPercent;e.exports=function(t,e,r,o){var s=i(t,e,r,o);if(s){var l=s.cd,c=l[0].trace,u="h"===c.orientation,f=l[s.index];s[(u?"x":"y")+"LabelVal"]=f.s,s.percentInitial=f.begR,s.percentInitialLabel=a(f.begR,1),s.percentPrevious=f.difR,s.percentPreviousLabel=a(f.difR,1),s.percentTotal=f.sumR,s.percentTotalLabel=a(f.sumR,1);var h=f.hi||c.hoverinfo,p=[];if(h&&"none"!==h&&"skip"!==h){var d="all"===h,g=h.split("+"),m=function(t){return d||-1!==g.indexOf(t)};m("percent initial")&&p.push(s.percentInitialLabel+" of initial"),m("percent previous")&&p.push(s.percentPreviousLabel+" of previous"),m("percent total")&&p.push(s.percentTotalLabel+" of total")}return s.extraText=p.join("<br>"),s.color=function(t,e){var r=t.marker,i=e.mc||r.color,a=e.mlc||r.line.color,o=e.mlw||r.line.width;if(n(i))return i;if(n(a)&&o)return a}(c,f),[s]}}},{"../../components/color":643,"../../lib":778,"../bar/hover":928}],1051:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),layoutAttributes:t("./layout_attributes"),supplyDefaults:t("./defaults").supplyDefaults,crossTraceDefaults:t("./defaults").crossTraceDefaults,supplyLayoutDefaults:t("./layout_defaults"),calc:t("./calc"),crossTraceCalc:t("./cross_trace_calc"),plot:t("./plot"),style:t("./style").style,hoverPoints:t("./hover"),eventData:t("./event_data"),selectPoints:t("../bar/select"),moduleType:"trace",name:"funnel",basePlotModule:t("../../plots/cartesian"),categories:["bar-like","cartesian","svg","oriented","showLegend","zoomScale"],meta:{}}},{"../../plots/cartesian":841,"../bar/select":933,"./attributes":1044,"./calc":1045,"./cross_trace_calc":1047,"./defaults":1048,"./event_data":1049,"./hover":1050,"./layout_attributes":1052,"./layout_defaults":1053,"./plot":1054,"./style":1055}],1052:[function(t,e,r){"use strict";e.exports={funnelmode:{valType:"enumerated",values:["stack","group","overlay"],dflt:"stack",editType:"calc"},funnelgap:{valType:"number",min:0,max:1,editType:"calc"},funnelgroupgap:{valType:"number",min:0,max:1,dflt:0,editType:"calc"}}},{}],1053:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./layout_attributes");e.exports=function(t,e,r){var a=!1;function o(r,a){return n.coerce(t,e,i,r,a)}for(var s=0;s<r.length;s++){var l=r[s];if(l.visible&&"funnel"===l.type){a=!0;break}}a&&(o("funnelmode"),o("funnelgap",.2),o("funnelgroupgap"))}},{"../../lib":778,"./layout_attributes":1052}],1054:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../lib"),a=t("../../components/drawing"),o=t("../../constants/numerical").BADNUM,s=t("../bar/plot"),l=t("../bar/uniform_text").clearMinTextSize;function c(t,e,r,n){var i=[],a=[],o=n?e:r,s=n?r:e;return i[0]=o.c2p(t.s0,!0),a[0]=s.c2p(t.p0,!0),i[1]=o.c2p(t.s1,!0),a[1]=s.c2p(t.p1,!0),i[2]=o.c2p(t.nextS0,!0),a[2]=s.c2p(t.nextP0,!0),i[3]=o.c2p(t.nextS1,!0),a[3]=s.c2p(t.nextP1,!0),n?[i,a]:[a,i]}e.exports=function(t,e,r,u){var f=t._fullLayout;l("funnel",f),function(t,e,r,s){var l=e.xaxis,u=e.yaxis;i.makeTraceGroups(s,r,"trace bars").each((function(r){var s=n.select(this),f=r[0].trace,h=i.ensureSingle(s,"g","regions");if(f.connector&&f.connector.visible){var p="h"===f.orientation,d=h.selectAll("g.region").data(i.identity);d.enter().append("g").classed("region",!0),d.exit().remove();var g=d.size();d.each((function(r,s){if(s===g-1||r.cNext){var f=c(r,l,u,p),h=f[0],d=f[1],m="";h[0]!==o&&d[0]!==o&&h[1]!==o&&d[1]!==o&&h[2]!==o&&d[2]!==o&&h[3]!==o&&d[3]!==o&&(m+=p?"M"+h[0]+","+d[1]+"L"+h[2]+","+d[2]+"H"+h[3]+"L"+h[1]+","+d[1]+"Z":"M"+h[1]+","+d[1]+"L"+h[2]+","+d[3]+"V"+d[2]+"L"+h[1]+","+d[0]+"Z"),""===m&&(m="M0,0Z"),i.ensureSingle(n.select(this),"path").attr("d",m).call(a.setClipUrl,e.layerClipId,t)}}))}else h.remove()}))}(t,e,r,u),function(t,e,r,o){var s=e.xaxis,l=e.yaxis;i.makeTraceGroups(o,r,"trace bars").each((function(r){var o=n.select(this),u=r[0].trace,f=i.ensureSingle(o,"g","lines");if(u.connector&&u.connector.visible&&u.connector.line.width){var h="h"===u.orientation,p=f.selectAll("g.line").data(i.identity);p.enter().append("g").classed("line",!0),p.exit().remove();var d=p.size();p.each((function(r,o){if(o===d-1||r.cNext){var u=c(r,s,l,h),f=u[0],p=u[1],g="";void 0!==f[3]&&void 0!==p[3]&&(h?(g+="M"+f[0]+","+p[1]+"L"+f[2]+","+p[2],g+="M"+f[1]+","+p[1]+"L"+f[3]+","+p[2]):(g+="M"+f[1]+","+p[1]+"L"+f[2]+","+p[3],g+="M"+f[1]+","+p[0]+"L"+f[2]+","+p[2])),""===g&&(g="M0,0Z"),i.ensureSingle(n.select(this),"path").attr("d",g).call(a.setClipUrl,e.layerClipId,t)}}))}else f.remove()}))}(t,e,r,u),s.plot(t,e,r,u,{mode:f.funnelmode,norm:f.funnelmode,gap:f.funnelgap,groupgap:f.funnelgroupgap})}},{"../../components/drawing":665,"../../constants/numerical":753,"../../lib":778,"../bar/plot":932,"../bar/uniform_text":937,d3:169}],1055:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../components/drawing"),a=t("../../components/color"),o=t("../../constants/interactions").DESELECTDIM,s=t("../bar/style"),l=t("../bar/uniform_text").resizeText,c=s.styleTextPoints;e.exports={style:function(t,e,r){var s=r||n.select(t).selectAll("g.funnellayer").selectAll("g.trace");l(t,s,"funnel"),s.style("opacity",(function(t){return t[0].trace.opacity})),s.each((function(e){var r=n.select(this),s=e[0].trace;r.selectAll(".point > path").each((function(t){if(!t.isBlank){var e=s.marker;n.select(this).call(a.fill,t.mc||e.color).call(a.stroke,t.mlc||e.line.color).call(i.dashLine,e.line.dash,t.mlw||e.line.width).style("opacity",s.selectedpoints&&!t.selected?o:1)}})),c(r,s,t),r.selectAll(".regions").each((function(){n.select(this).selectAll("path").style("stroke-width",0).call(a.fill,s.connector.fillcolor)})),r.selectAll(".lines").each((function(){var t=s.connector.line;i.lineGroupStyle(n.select(this).selectAll("path"),t.width,t.color,t.dash)}))}))}}},{"../../components/color":643,"../../components/drawing":665,"../../constants/interactions":752,"../bar/style":935,"../bar/uniform_text":937,d3:169}],1056:[function(t,e,r){"use strict";var n=t("../pie/attributes"),i=t("../../plots/attributes"),a=t("../../plots/domain").attributes,o=t("../../plots/template_attributes").hovertemplateAttrs,s=t("../../plots/template_attributes").texttemplateAttrs,l=t("../../lib/extend").extendFlat;e.exports={labels:n.labels,label0:n.label0,dlabel:n.dlabel,values:n.values,marker:{colors:n.marker.colors,line:{color:l({},n.marker.line.color,{dflt:null}),width:l({},n.marker.line.width,{dflt:1}),editType:"calc"},editType:"calc"},text:n.text,hovertext:n.hovertext,scalegroup:l({},n.scalegroup,{}),textinfo:l({},n.textinfo,{flags:["label","text","value","percent"]}),texttemplate:s({editType:"plot"},{keys:["label","color","value","text","percent"]}),hoverinfo:l({},i.hoverinfo,{flags:["label","text","value","percent","name"]}),hovertemplate:o({},{keys:["label","color","value","text","percent"]}),textposition:l({},n.textposition,{values:["inside","none"],dflt:"inside"}),textfont:n.textfont,insidetextfont:n.insidetextfont,title:{text:n.title.text,font:n.title.font,position:l({},n.title.position,{values:["top left","top center","top right"],dflt:"top center"}),editType:"plot"},domain:a({name:"funnelarea",trace:!0,editType:"calc"}),aspectratio:{valType:"number",min:0,dflt:1,editType:"plot"},baseratio:{valType:"number",min:0,max:1,dflt:.333,editType:"plot"}}},{"../../lib/extend":768,"../../plots/attributes":824,"../../plots/domain":855,"../../plots/template_attributes":906,"../pie/attributes":1161}],1057:[function(t,e,r){"use strict";var n=t("../../plots/plots");r.name="funnelarea",r.plot=function(t,e,i,a){n.plotBasePlot(r.name,t,e,i,a)},r.clean=function(t,e,i,a){n.cleanBasePlot(r.name,t,e,i,a)}},{"../../plots/plots":891}],1058:[function(t,e,r){"use strict";var n=t("../pie/calc");e.exports={calc:function(t,e){return n.calc(t,e)},crossTraceCalc:function(t){n.crossTraceCalc(t,{type:"funnelarea"})}}},{"../pie/calc":1163}],1059:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./attributes"),a=t("../../plots/domain").defaults,o=t("../bar/defaults").handleText,s=t("../pie/defaults").handleLabelsAndValues;e.exports=function(t,e,r,l){function c(r,a){return n.coerce(t,e,i,r,a)}var u=c("labels"),f=c("values"),h=s(u,f),p=h.len;if(e._hasLabels=h.hasLabels,e._hasValues=h.hasValues,!e._hasLabels&&e._hasValues&&(c("label0"),c("dlabel")),p){e._length=p,c("marker.line.width")&&c("marker.line.color",l.paper_bgcolor),c("marker.colors"),c("scalegroup");var d,g=c("text"),m=c("texttemplate");if(m||(d=c("textinfo",Array.isArray(g)?"text+percent":"percent")),c("hovertext"),c("hovertemplate"),m||d&&"none"!==d){var v=c("textposition");o(t,e,l,c,v,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1})}a(e,l,c),c("title.text")&&(c("title.position"),n.coerceFont(c,"title.font",l.font)),c("aspectratio"),c("baseratio")}else e.visible=!1}},{"../../lib":778,"../../plots/domain":855,"../bar/defaults":925,"../pie/defaults":1164,"./attributes":1056}],1060:[function(t,e,r){"use strict";e.exports={moduleType:"trace",name:"funnelarea",basePlotModule:t("./base_plot"),categories:["pie-like","funnelarea","showLegend"],attributes:t("./attributes"),layoutAttributes:t("./layout_attributes"),supplyDefaults:t("./defaults"),supplyLayoutDefaults:t("./layout_defaults"),calc:t("./calc").calc,crossTraceCalc:t("./calc").crossTraceCalc,plot:t("./plot"),style:t("./style"),styleOne:t("../pie/style_one"),meta:{}}},{"../pie/style_one":1172,"./attributes":1056,"./base_plot":1057,"./calc":1058,"./defaults":1059,"./layout_attributes":1061,"./layout_defaults":1062,"./plot":1063,"./style":1064}],1061:[function(t,e,r){"use strict";var n=t("../pie/layout_attributes").hiddenlabels;e.exports={hiddenlabels:n,funnelareacolorway:{valType:"colorlist",editType:"calc"},extendfunnelareacolors:{valType:"boolean",dflt:!0,editType:"calc"}}},{"../pie/layout_attributes":1168}],1062:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./layout_attributes");e.exports=function(t,e){function r(r,a){return n.coerce(t,e,i,r,a)}r("hiddenlabels"),r("funnelareacolorway",e.colorway),r("extendfunnelareacolors")}},{"../../lib":778,"./layout_attributes":1061}],1063:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../components/drawing"),a=t("../../lib"),o=a.strScale,s=a.strTranslate,l=t("../../lib/svg_text_utils"),c=t("../bar/plot").toMoveInsideBar,u=t("../bar/uniform_text"),f=u.recordMinTextSize,h=u.clearMinTextSize,p=t("../pie/helpers"),d=t("../pie/plot"),g=d.attachFxHandlers,m=d.determineInsideTextFont,v=d.layoutAreas,y=d.prerenderTitles,x=d.positionTitleOutside,b=d.formatSliceLabel;function _(t,e){return"l"+(e[0]-t[0])+","+(e[1]-t[1])}e.exports=function(t,e){var r=t._fullLayout;h("funnelarea",r),y(e,t),v(e,r._size),a.makeTraceGroups(r._funnelarealayer,e,"trace").each((function(e){var u=n.select(this),h=e[0],d=h.trace;!function(t){if(!t.length)return;var e=t[0],r=e.trace,n=r.aspectratio,i=r.baseratio;i>.999&&(i=.999);var a,o=Math.pow(i,2),s=e.vTotal,l=s,c=s*o/(1-o)/s;function u(){var t,e={x:t=Math.sqrt(c),y:-t};return[e.x,e.y]}var f,h,p=[];for(p.push(u()),f=t.length-1;f>-1;f--)if(!(h=t[f]).hidden){var d=h.v/l;c+=d,p.push(u())}var g=1/0,m=-1/0;for(f=0;f<p.length;f++)a=p[f],g=Math.min(g,a[1]),m=Math.max(m,a[1]);for(f=0;f<p.length;f++)p[f][1]-=(m+g)/2;var v=p[p.length-1][0],y=e.r,x=(m-g)/2,b=y/v,_=y/x*n;for(e.r=_*x,f=0;f<p.length;f++)p[f][0]*=b,p[f][1]*=_;var w=[-(a=p[0])[0],a[1]],T=[a[0],a[1]],k=0;for(f=t.length-1;f>-1;f--)if(!(h=t[f]).hidden){var M=p[k+=1][0],A=p[k][1];h.TL=[-M,A],h.TR=[M,A],h.BL=w,h.BR=T,h.pxmid=(S=h.TR,E=h.BR,[.5*(S[0]+E[0]),.5*(S[1]+E[1])]),w=h.TL,T=h.TR}var S,E}(e),u.each((function(){var u=n.select(this).selectAll("g.slice").data(e);u.enter().append("g").classed("slice",!0),u.exit().remove(),u.each((function(o,s){if(o.hidden)n.select(this).selectAll("path,g").remove();else{o.pointNumber=o.i,o.curveNumber=d.index;var u=h.cx,v=h.cy,y=n.select(this),x=y.selectAll("path.surface").data([o]);x.enter().append("path").classed("surface",!0).style({"pointer-events":"all"}),y.call(g,t,e);var w="M"+(u+o.TR[0])+","+(v+o.TR[1])+_(o.TR,o.BR)+_(o.BR,o.BL)+_(o.BL,o.TL)+"Z";x.attr("d",w),b(t,o,h);var T=p.castOption(d.textposition,o.pts),k=y.selectAll("g.slicetext").data(o.text&&"none"!==T?[0]:[]);k.enter().append("g").classed("slicetext",!0),k.exit().remove(),k.each((function(){var h=a.ensureSingle(n.select(this),"text","",(function(t){t.attr("data-notex",1)})),p=a.ensureUniformFontSize(t,m(d,o,r.font));h.text(o.text).attr({class:"slicetext",transform:"","text-anchor":"middle"}).call(i.font,p).call(l.convertToTspans,t);var g,y,x,b=i.bBox(h.node()),_=Math.min(o.BL[1],o.BR[1])+v,w=Math.max(o.TL[1],o.TR[1])+v;y=Math.max(o.TL[0],o.BL[0])+u,x=Math.min(o.TR[0],o.BR[0])+u,(g=c(y,x,_,w,b,{isHorizontal:!0,constrained:!0,angle:0,anchor:"middle"})).fontSize=p.size,f(d.type,g,r),e[s].transform=g,h.attr("transform",a.getTextTransform(g))}))}}));var v=n.select(this).selectAll("g.titletext").data(d.title.text?[0]:[]);v.enter().append("g").classed("titletext",!0),v.exit().remove(),v.each((function(){var e=a.ensureSingle(n.select(this),"text","",(function(t){t.attr("data-notex",1)})),c=d.title.text;d._meta&&(c=a.templateString(c,d._meta)),e.text(c).attr({class:"titletext",transform:"","text-anchor":"middle"}).call(i.font,d.title.font).call(l.convertToTspans,t);var u=x(h,r._size);e.attr("transform",s(u.x,u.y)+o(Math.min(1,u.scale))+s(u.tx,u.ty))}))}))}))}},{"../../components/drawing":665,"../../lib":778,"../../lib/svg_text_utils":803,"../bar/plot":932,"../bar/uniform_text":937,"../pie/helpers":1166,"../pie/plot":1170,d3:169}],1064:[function(t,e,r){"use strict";var n=t("d3"),i=t("../pie/style_one"),a=t("../bar/uniform_text").resizeText;e.exports=function(t){var e=t._fullLayout._funnelarealayer.selectAll(".trace");a(t,e,"funnelarea"),e.each((function(t){var e=t[0].trace,r=n.select(this);r.style({opacity:e.opacity}),r.selectAll("path.surface").each((function(t){n.select(this).call(i,t,e)}))}))}},{"../bar/uniform_text":937,"../pie/style_one":1172,d3:169}],1065:[function(t,e,r){"use strict";var n=t("../scatter/attributes"),i=t("../../plots/attributes"),a=t("../../plots/template_attributes").hovertemplateAttrs,o=t("../../components/colorscale/attributes"),s=(t("../../constants/docs").FORMAT_LINK,t("../../lib/extend").extendFlat);e.exports=s({z:{valType:"data_array",editType:"calc"},x:s({},n.x,{impliedEdits:{xtype:"array"}}),x0:s({},n.x0,{impliedEdits:{xtype:"scaled"}}),dx:s({},n.dx,{impliedEdits:{xtype:"scaled"}}),y:s({},n.y,{impliedEdits:{ytype:"array"}}),y0:s({},n.y0,{impliedEdits:{ytype:"scaled"}}),dy:s({},n.dy,{impliedEdits:{ytype:"scaled"}}),xperiod:s({},n.xperiod,{impliedEdits:{xtype:"scaled"}}),yperiod:s({},n.yperiod,{impliedEdits:{ytype:"scaled"}}),xperiod0:s({},n.xperiod0,{impliedEdits:{xtype:"scaled"}}),yperiod0:s({},n.yperiod0,{impliedEdits:{ytype:"scaled"}}),xperiodalignment:s({},n.xperiodalignment,{impliedEdits:{xtype:"scaled"}}),yperiodalignment:s({},n.yperiodalignment,{impliedEdits:{ytype:"scaled"}}),text:{valType:"data_array",editType:"calc"},hovertext:{valType:"data_array",editType:"calc"},transpose:{valType:"boolean",dflt:!1,editType:"calc"},xtype:{valType:"enumerated",values:["array","scaled"],editType:"calc+clearAxisTypes"},ytype:{valType:"enumerated",values:["array","scaled"],editType:"calc+clearAxisTypes"},zsmooth:{valType:"enumerated",values:["fast","best",!1],dflt:!1,editType:"calc"},hoverongaps:{valType:"boolean",dflt:!0,editType:"none"},connectgaps:{valType:"boolean",editType:"calc"},xgap:{valType:"number",dflt:0,min:0,editType:"plot"},ygap:{valType:"number",dflt:0,min:0,editType:"plot"},zhoverformat:{valType:"string",dflt:"",editType:"none"},hovertemplate:a(),showlegend:s({},i.showlegend,{dflt:!1})},{transforms:void 0},o("",{cLetter:"z",autoColorDflt:!1}))},{"../../components/colorscale/attributes":650,"../../constants/docs":748,"../../lib/extend":768,"../../plots/attributes":824,"../../plots/template_attributes":906,"../scatter/attributes":1187}],1066:[function(t,e,r){"use strict";var n=t("../../registry"),i=t("../../lib"),a=t("../../plots/cartesian/axes"),o=t("../../plots/cartesian/align_period"),s=t("../histogram2d/calc"),l=t("../../components/colorscale/calc"),c=t("./convert_column_xyz"),u=t("./clean_2d_array"),f=t("./interp2d"),h=t("./find_empties"),p=t("./make_bound_array"),d=t("../../constants/numerical").BADNUM;function g(t){for(var e=[],r=t.length,n=0;n<r;n++){var i=t[n];i!==d&&e.push(i)}return e}e.exports=function(t,e){var r,m,v,y,x,b,_,w,T,k,M,A=a.getFromId(t,e.xaxis||"x"),S=a.getFromId(t,e.yaxis||"y"),E=n.traceIs(e,"contour"),C=n.traceIs(e,"histogram"),L=n.traceIs(e,"gl2d"),I=E?"best":e.zsmooth;if(A._minDtick=0,S._minDtick=0,C)y=(M=s(t,e)).orig_x,r=M.x,m=M.x0,v=M.dx,w=M.orig_y,x=M.y,b=M.y0,_=M.dy,T=M.z;else{var P=e.z;i.isArray1D(P)?(c(e,A,S,"x","y",["z"]),r=e._x,x=e._y,P=e._z):(y=e.x?A.makeCalcdata(e,"x"):[],w=e.y?S.makeCalcdata(e,"y"):[],r=o(e,A,"x",y),x=o(e,S,"y",w),e._x=r,e._y=x),m=e.x0,v=e.dx,b=e.y0,_=e.dy,T=u(P,e,A,S)}function z(t){I=e._input.zsmooth=e.zsmooth=!1,i.warn('cannot use zsmooth: "fast": '+t)}if((A.rangebreaks||S.rangebreaks)&&(T=function(t,e,r){for(var n=[],i=-1,a=0;a<r.length;a++)if(e[a]!==d){i++,n[i]=[];for(var o=0;o<r[a].length;o++)t[o]!==d&&n[i].push(r[a][o])}return n}(r,x,T),C||(r=g(r),x=g(x),e._x=r,e._y=x)),C||!E&&!e.connectgaps||(e._emptypoints=h(T),f(T,e._emptypoints)),"fast"===I)if("log"===A.type||"log"===S.type)z("log axis found");else if(!C){if(r.length){var O=(r[r.length-1]-r[0])/(r.length-1),D=Math.abs(O/100);for(k=0;k<r.length-1;k++)if(Math.abs(r[k+1]-r[k]-O)>D){z("x scale is not linear");break}}if(x.length&&"fast"===I){var R=(x[x.length-1]-x[0])/(x.length-1),F=Math.abs(R/100);for(k=0;k<x.length-1;k++)if(Math.abs(x[k+1]-x[k]-R)>F){z("y scale is not linear");break}}}var B=i.maxRowLength(T),N="scaled"===e.xtype?"":r,j=p(e,N,m,v,B,A),U="scaled"===e.ytype?"":x,V=p(e,U,b,_,T.length,S);L||(e._extremes[A._id]=a.findExtremes(A,j),e._extremes[S._id]=a.findExtremes(S,V));var q={x:j,y:V,z:T,text:e._text||e.text,hovertext:e._hovertext||e.hovertext};if(e.xperiodalignment&&y&&(q.orig_x=y),e.yperiodalignment&&w&&(q.orig_y=w),N&&N.length===j.length-1&&(q.xCenter=N),U&&U.length===V.length-1&&(q.yCenter=U),C&&(q.xRanges=M.xRanges,q.yRanges=M.yRanges,q.pts=M.pts),E||l(t,e,{vals:T,cLetter:"z"}),E&&e.contours&&"heatmap"===e.contours.coloring){var H={type:"contour"===e.type?"heatmap":"histogram2d",xcalendar:e.xcalendar,ycalendar:e.ycalendar};q.xfill=p(H,N,m,v,B,A),q.yfill=p(H,U,b,_,T.length,S)}return[q]}},{"../../components/colorscale/calc":651,"../../constants/numerical":753,"../../lib":778,"../../plots/cartesian/align_period":825,"../../plots/cartesian/axes":828,"../../registry":911,"../histogram2d/calc":1098,"./clean_2d_array":1067,"./convert_column_xyz":1069,"./find_empties":1071,"./interp2d":1074,"./make_bound_array":1075}],1067:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../lib"),a=t("../../constants/numerical").BADNUM;e.exports=function(t,e,r,o){var s,l,c,u,f,h;function p(t){if(n(t))return+t}if(e&&e.transpose){for(s=0,f=0;f<t.length;f++)s=Math.max(s,t[f].length);if(0===s)return!1;c=function(t){return t.length},u=function(t,e,r){return(t[r]||[])[e]}}else s=t.length,c=function(t,e){return t[e].length},u=function(t,e,r){return(t[e]||[])[r]};var d=function(t,e,r){return e===a||r===a?a:u(t,e,r)};function g(t){if(e&&"carpet"!==e.type&&"contourcarpet"!==e.type&&t&&"category"===t.type&&e["_"+t._id.charAt(0)].length){var r=t._id.charAt(0),n={},o=e["_"+r+"CategoryMap"]||e[r];for(f=0;f<o.length;f++)n[o[f]]=f;return function(e){var r=n[t._categories[e]];return r+1?r:a}}return i.identity}var m=g(r),v=g(o);o&&"category"===o.type&&(s=o._categories.length);var y=new Array(s);for(f=0;f<s;f++)for(l=r&&"category"===r.type?r._categories.length:c(t,f),y[f]=new Array(l),h=0;h<l;h++)y[f][h]=p(d(t,v(f),m(h)));return y}},{"../../constants/numerical":753,"../../lib":778,"fast-isnumeric":241}],1068:[function(t,e,r){"use strict";e.exports={min:"zmin",max:"zmax"}},{}],1069:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../constants/numerical").BADNUM,a=t("../../plots/cartesian/align_period");e.exports=function(t,e,r,o,s,l){var c=t._length,u=e.makeCalcdata(t,o),f=r.makeCalcdata(t,s);u=a(t,e,o,u),f=a(t,r,s,f);var h,p,d,g,m=t.text,v=void 0!==m&&n.isArray1D(m),y=t.hovertext,x=void 0!==y&&n.isArray1D(y),b=n.distinctVals(u),_=b.vals,w=n.distinctVals(f),T=w.vals,k=[],M=T.length,A=_.length;for(h=0;h<l.length;h++)k[h]=n.init2dArray(M,A);v&&(d=n.init2dArray(M,A)),x&&(g=n.init2dArray(M,A));var S=n.init2dArray(M,A);for(h=0;h<c;h++)if(u[h]!==i&&f[h]!==i){var E=n.findBin(u[h]+b.minDiff/2,_),C=n.findBin(f[h]+w.minDiff/2,T);for(p=0;p<l.length;p++){var L=t[l[p]];k[p][C][E]=L[h],S[C][E]=h}v&&(d[C][E]=m[h]),x&&(g[C][E]=y[h])}for(t["_"+o]=_,t["_"+s]=T,p=0;p<l.length;p++)t["_"+l[p]]=k[p];v&&(t._text=d),x&&(t._hovertext=g),e&&"category"===e.type&&(t["_"+o+"CategoryMap"]=_.map((function(t){return e._categories[t]}))),r&&"category"===r.type&&(t["_"+s+"CategoryMap"]=T.map((function(t){return r._categories[t]}))),t._after2before=S}},{"../../constants/numerical":753,"../../lib":778,"../../plots/cartesian/align_period":825}],1070:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./xyz_defaults"),a=t("../scatter/period_defaults"),o=t("./style_defaults"),s=t("../../components/colorscale/defaults"),l=t("./attributes");e.exports=function(t,e,r,c){function u(r,i){return n.coerce(t,e,l,r,i)}i(t,e,u,c)?(a(t,e,c,u),u("text"),u("hovertext"),u("hovertemplate"),o(t,e,u,c),u("hoverongaps"),u("connectgaps",n.isArray1D(e.z)&&!1!==e.zsmooth),s(t,e,c,u,{prefix:"",cLetter:"z"})):e.visible=!1}},{"../../components/colorscale/defaults":653,"../../lib":778,"../scatter/period_defaults":1207,"./attributes":1065,"./style_defaults":1078,"./xyz_defaults":1079}],1071:[function(t,e,r){"use strict";var n=t("../../lib").maxRowLength;e.exports=function(t){var e,r,i,a,o,s,l,c,u=[],f={},h=[],p=t[0],d=[],g=[0,0,0],m=n(t);for(r=0;r<t.length;r++)for(e=d,d=p,p=t[r+1]||[],i=0;i<m;i++)void 0===d[i]&&((s=(void 0!==d[i-1]?1:0)+(void 0!==d[i+1]?1:0)+(void 0!==e[i]?1:0)+(void 0!==p[i]?1:0))?(0===r&&s++,0===i&&s++,r===t.length-1&&s++,i===d.length-1&&s++,s<4&&(f[[r,i]]=[r,i,s]),u.push([r,i,s])):h.push([r,i]));for(;h.length;){for(l={},c=!1,o=h.length-1;o>=0;o--)(s=((f[[(r=(a=h[o])[0])-1,i=a[1]]]||g)[2]+(f[[r+1,i]]||g)[2]+(f[[r,i-1]]||g)[2]+(f[[r,i+1]]||g)[2])/20)&&(l[a]=[r,i,s],h.splice(o,1),c=!0);if(!c)throw"findEmpties iterated with no new neighbors";for(a in l)f[a]=l[a],u.push(l[a])}return u.sort((function(t,e){return e[2]-t[2]}))}},{"../../lib":778}],1072:[function(t,e,r){"use strict";var n=t("../../components/fx"),i=t("../../lib"),a=t("../../plots/cartesian/axes"),o=t("../../components/colorscale").extractOpts;e.exports=function(t,e,r,s,l,c){var u,f,h,p,d=t.cd[0],g=d.trace,m=t.xa,v=t.ya,y=d.x,x=d.y,b=d.z,_=d.xCenter,w=d.yCenter,T=d.zmask,k=g.zhoverformat,M=y,A=x;if(!1!==t.index){try{h=Math.round(t.index[1]),p=Math.round(t.index[0])}catch(e){return void i.error("Error hovering on heatmap, pointNumber must be [row,col], found:",t.index)}if(h<0||h>=b[0].length||p<0||p>b.length)return}else{if(n.inbox(e-y[0],e-y[y.length-1],0)>0||n.inbox(r-x[0],r-x[x.length-1],0)>0)return;if(c){var S;for(M=[2*y[0]-y[1]],S=1;S<y.length;S++)M.push((y[S]+y[S-1])/2);for(M.push([2*y[y.length-1]-y[y.length-2]]),A=[2*x[0]-x[1]],S=1;S<x.length;S++)A.push((x[S]+x[S-1])/2);A.push([2*x[x.length-1]-x[x.length-2]])}h=Math.max(0,Math.min(M.length-2,i.findBin(e,M))),p=Math.max(0,Math.min(A.length-2,i.findBin(r,A)))}var E,C,L=m.c2p(y[h]),I=m.c2p(y[h+1]),P=v.c2p(x[p]),z=v.c2p(x[p+1]);c?(E=d.orig_x||y,C=d.orig_y||x,I=L,u=E[h],z=P,f=C[p]):(E=d.orig_x||_||y,C=d.orig_y||w||x,u=_?E[h]:(E[h]+E[h+1])/2,f=w?C[p]:(C[p]+C[p+1])/2,m&&"category"===m.type&&(u=y[h]),v&&"category"===v.type&&(f=x[p]),g.zsmooth&&(L=I=m.c2p(u),P=z=v.c2p(f)));var O=b[p][h];if(T&&!T[p][h]&&(O=void 0),void 0!==O||g.hoverongaps){var D;Array.isArray(d.hovertext)&&Array.isArray(d.hovertext[p])?D=d.hovertext[p][h]:Array.isArray(d.text)&&Array.isArray(d.text[p])&&(D=d.text[p][h]);var R=o(g),F={type:"linear",range:[R.min,R.max],hoverformat:k,_separators:m._separators,_numFormat:m._numFormat},B=a.tickText(F,O,"hover").text;return[i.extendFlat(t,{index:g._after2before?g._after2before[p][h]:[p,h],distance:t.maxHoverDistance,spikeDistance:t.maxSpikeDistance,x0:L,x1:I,y0:P,y1:z,xLabelVal:u,yLabelVal:f,zLabelVal:O,zLabel:B,text:D})]}}},{"../../components/colorscale":655,"../../components/fx":683,"../../lib":778,"../../plots/cartesian/axes":828}],1073:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),calc:t("./calc"),plot:t("./plot"),colorbar:t("./colorbar"),style:t("./style"),hoverPoints:t("./hover"),moduleType:"trace",name:"heatmap",basePlotModule:t("../../plots/cartesian"),categories:["cartesian","svg","2dMap","showLegend"],meta:{}}},{"../../plots/cartesian":841,"./attributes":1065,"./calc":1066,"./colorbar":1068,"./defaults":1070,"./hover":1072,"./plot":1076,"./style":1077}],1074:[function(t,e,r){"use strict";var n=t("../../lib"),i=[[-1,0],[1,0],[0,-1],[0,1]];function a(t){return.5-.25*Math.min(1,.5*t)}function o(t,e,r){var n,a,o,s,l,c,u,f,h,p,d,g,m,v=0;for(s=0;s<e.length;s++){for(a=(n=e[s])[0],o=n[1],d=t[a][o],p=0,h=0,l=0;l<4;l++)(u=t[a+(c=i[l])[0]])&&void 0!==(f=u[o+c[1]])&&(0===p?g=m=f:(g=Math.min(g,f),m=Math.max(m,f)),h++,p+=f);if(0===h)throw"iterateInterp2d order is wrong: no defined neighbors";t[a][o]=p/h,void 0===d?h<4&&(v=1):(t[a][o]=(1+r)*t[a][o]-r*d,m>g&&(v=Math.max(v,Math.abs(t[a][o]-d)/(m-g))))}return v}e.exports=function(t,e){var r,i=1;for(o(t,e),r=0;r<e.length&&!(e[r][2]<4);r++);for(e=e.slice(r),r=0;r<100&&i>.01;r++)i=o(t,e,a(i));return i>.01&&n.log("interp2d didn't converge quickly",i),t}},{"../../lib":778}],1075:[function(t,e,r){"use strict";var n=t("../../registry"),i=t("../../lib").isArrayOrTypedArray;e.exports=function(t,e,r,a,o,s){var l,c,u,f=[],h=n.traceIs(t,"contour"),p=n.traceIs(t,"histogram"),d=n.traceIs(t,"gl2d");if(i(e)&&e.length>1&&!p&&"category"!==s.type){var g=e.length;if(!(g<=o))return h?e.slice(0,o):e.slice(0,o+1);if(h||d)f=e.slice(0,o);else if(1===o)f=[e[0]-.5,e[0]+.5];else{for(f=[1.5*e[0]-.5*e[1]],u=1;u<g;u++)f.push(.5*(e[u-1]+e[u]));f.push(1.5*e[g-1]-.5*e[g-2])}if(g<o){var m=f[f.length-1],v=m-f[f.length-2];for(u=g;u<o;u++)m+=v,f.push(m)}}else{var y=t[s._id.charAt(0)+"calendar"];if(p)l=s.r2c(r,0,y);else if(i(e)&&1===e.length)l=e[0];else if(void 0===r)l=0;else{l=("log"===s.type?s.d2c:s.r2c)(r,0,y)}for(c=a||1,u=h||d?0:-.5;u<o;u++)f.push(l+c*u)}return f}},{"../../lib":778,"../../registry":911}],1076:[function(t,e,r){"use strict";var n=t("d3"),i=t("tinycolor2"),a=t("../../registry"),o=t("../../lib"),s=t("../../components/colorscale").makeColorScaleFuncFromTrace,l=t("../../constants/xmlns_namespaces");function c(t,e){var r=e.length-2,n=o.constrain(o.findBin(t,e),0,r),i=e[n],a=e[n+1],s=o.constrain(n+(t-i)/(a-i)-.5,0,r),l=Math.round(s),c=Math.abs(s-l);return s&&s!==r&&c?{bin0:l,frac:c,bin1:Math.round(l+c/(s-l))}:{bin0:l,bin1:l,frac:0}}function u(t,e){var r=e.length-1,n=o.constrain(o.findBin(t,e),0,r),i=e[n],a=(t-i)/(e[n+1]-i)||0;return a<=0?{bin0:n,bin1:n,frac:0}:a<.5?{bin0:n,bin1:n+1,frac:a}:{bin0:n+1,bin1:n,frac:1-a}}function f(t,e,r){t[e]=r[0],t[e+1]=r[1],t[e+2]=r[2],t[e+3]=Math.round(255*r[3])}e.exports=function(t,e,r,h){var p=e.xaxis,d=e.yaxis;o.makeTraceGroups(h,r,"hm").each((function(e){var r,h,g,m,v,y,x=n.select(this),b=e[0],_=b.trace,w=b.z,T=b.x,k=b.y,M=b.xCenter,A=b.yCenter,S=a.traceIs(_,"contour"),E=S?"best":_.zsmooth,C=w.length,L=o.maxRowLength(w),I=!1,P=!1;for(y=0;void 0===r&&y<T.length-1;)r=p.c2p(T[y]),y++;for(y=T.length-1;void 0===h&&y>0;)h=p.c2p(T[y]),y--;for(h<r&&(g=h,h=r,r=g,I=!0),y=0;void 0===m&&y<k.length-1;)m=d.c2p(k[y]),y++;for(y=k.length-1;void 0===v&&y>0;)v=d.c2p(k[y]),y--;if(v<m&&(g=m,m=v,v=g,P=!0),S&&(M=T,A=k,T=b.xfill,k=b.yfill),"fast"!==E){var z="best"===E?0:.5;r=Math.max(-z*p._length,r),h=Math.min((1+z)*p._length,h),m=Math.max(-z*d._length,m),v=Math.min((1+z)*d._length,v)}var O=Math.round(h-r),D=Math.round(v-m);if(O<=0||D<=0){x.selectAll("image").data([]).exit().remove()}else{var R,F;"fast"===E?(R=L,F=C):(R=O,F=D);var B=document.createElement("canvas");B.width=R,B.height=F;var N,j,U=B.getContext("2d"),V=s(_,{noNumericCheck:!0,returnArray:!0});"fast"===E?(N=I?function(t){return L-1-t}:o.identity,j=P?function(t){return C-1-t}:o.identity):(N=function(t){return o.constrain(Math.round(p.c2p(T[t])-r),0,O)},j=function(t){return o.constrain(Math.round(d.c2p(k[t])-m),0,D)});var q,H,G,Y,W,X=j(0),Z=[X,X],J=I?0:1,K=P?0:1,Q=0,$=0,tt=0,et=0;if(E){var rt,nt=0;try{rt=new Uint8Array(O*D*4)}catch(t){rt=new Array(O*D*4)}if("best"===E){var it,at,ot,st=M||T,lt=A||k,ct=new Array(st.length),ut=new Array(lt.length),ft=new Array(O),ht=M?u:c,pt=A?u:c;for(y=0;y<st.length;y++)ct[y]=Math.round(p.c2p(st[y])-r);for(y=0;y<lt.length;y++)ut[y]=Math.round(d.c2p(lt[y])-m);for(y=0;y<O;y++)ft[y]=ht(y,ct);for(H=0;H<D;H++)for(at=w[(it=pt(H,ut)).bin0],ot=w[it.bin1],y=0;y<O;y++,nt+=4)f(rt,nt,W=kt(at,ot,ft[y],it))}else for(H=0;H<C;H++)for(Y=w[H],Z=j(H),y=0;y<O;y++)W=Tt(Y[y],1),f(rt,nt=4*(Z*O+N(y)),W);var dt=U.createImageData(O,D);try{dt.data.set(rt)}catch(t){var gt=dt.data,mt=gt.length;for(H=0;H<mt;H++)gt[H]=rt[H]}U.putImageData(dt,0,0)}else{var vt=_.xgap,yt=_.ygap,xt=Math.floor(vt/2),bt=Math.floor(yt/2);for(H=0;H<C;H++)if(Y=w[H],Z.reverse(),Z[K]=j(H+1),Z[0]!==Z[1]&&void 0!==Z[0]&&void 0!==Z[1])for(q=[G=N(0),G],y=0;y<L;y++)q.reverse(),q[J]=N(y+1),q[0]!==q[1]&&void 0!==q[0]&&void 0!==q[1]&&(W=Tt(Y[y],(q[1]-q[0])*(Z[1]-Z[0])),U.fillStyle="rgba("+W.join(",")+")",U.fillRect(q[0]+xt,Z[0]+bt,q[1]-q[0]-vt,Z[1]-Z[0]-yt))}$=Math.round($/Q),tt=Math.round(tt/Q),et=Math.round(et/Q);var _t=i("rgb("+$+","+tt+","+et+")");t._hmpixcount=(t._hmpixcount||0)+Q,t._hmlumcount=(t._hmlumcount||0)+Q*_t.getLuminance();var wt=x.selectAll("image").data(e);wt.enter().append("svg:image").attr({xmlns:l.svg,preserveAspectRatio:"none"}),wt.attr({height:D,width:O,x:r,y:m,"xlink:href":B.toDataURL("image/png")})}function Tt(t,e){if(void 0!==t){var r=V(t);return r[0]=Math.round(r[0]),r[1]=Math.round(r[1]),r[2]=Math.round(r[2]),Q+=e,$+=r[0]*e,tt+=r[1]*e,et+=r[2]*e,r}return[0,0,0,0]}function kt(t,e,r,n){var i=t[r.bin0];if(void 0===i)return Tt(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,Tt(i+r.frac*c+n.frac*(u+r.frac*a))}}))}},{"../../components/colorscale":655,"../../constants/xmlns_namespaces":754,"../../lib":778,"../../registry":911,d3:169,tinycolor2:576}],1077:[function(t,e,r){"use strict";var n=t("d3");e.exports=function(t){n.select(t).selectAll(".hm image").style("opacity",(function(t){return t.trace.opacity}))}},{d3:169}],1078:[function(t,e,r){"use strict";e.exports=function(t,e,r){!1===r("zsmooth")&&(r("xgap"),r("ygap")),r("zhoverformat")}},{}],1079:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../lib"),a=t("../../registry");function o(t,e){var r=e(t);return"scaled"===(r?e(t+"type","array"):"scaled")&&(e(t+"0"),e("d"+t)),r}e.exports=function(t,e,r,s,l,c){var u,f,h=r("z");if(l=l||"x",c=c||"y",void 0===h||!h.length)return 0;if(i.isArray1D(t.z)){u=r(l),f=r(c);var p=i.minRowLength(u),d=i.minRowLength(f);if(0===p||0===d)return 0;e._length=Math.min(p,d,h.length)}else{if(u=o(l,r),f=o(c,r),!function(t){for(var e,r=!0,a=!1,o=!1,s=0;s<t.length;s++){if(e=t[s],!i.isArrayOrTypedArray(e)){r=!1;break}e.length>0&&(a=!0);for(var l=0;l<e.length;l++)if(n(e[l])){o=!0;break}}return r&&a&&o}(h))return 0;r("transpose"),e._length=null}return"heatmapgl"===t.type||"contourgl"===t.type||a.getComponentMethod("calendars","handleTraceDefaults")(t,e,[l,c],s),!0}},{"../../lib":778,"../../registry":911,"fast-isnumeric":241}],1080:[function(t,e,r){"use strict";for(var n=t("../heatmap/attributes"),i=t("../../components/colorscale/attributes"),a=t("../../lib/extend").extendFlat,o=t("../../plot_api/edit_types").overrideAll,s=["z","x","x0","dx","y","y0","dy","text","transpose","xtype","ytype"],l={},c=0;c<s.length;c++){var u=s[c];l[u]=n[u]}l.zsmooth={valType:"enumerated",values:["fast",!1],dflt:"fast",editType:"calc"},a(l,i("",{cLetter:"z",autoColorDflt:!1})),e.exports=o(l,"calc","nested")},{"../../components/colorscale/attributes":650,"../../lib/extend":768,"../../plot_api/edit_types":810,"../heatmap/attributes":1065}],1081:[function(t,e,r){"use strict";var n=t("gl-heatmap2d"),i=t("../../plots/cartesian/axes"),a=t("../../lib/str2rgbarray");function o(t,e){this.scene=t,this.uid=e,this.type="heatmapgl",this.name="",this.hoverinfo="all",this.xData=[],this.yData=[],this.zData=[],this.textLabels=[],this.idToIndex=[],this.bounds=[0,0,0,0],this.options={zsmooth:"fast",z:[],x:[],y:[],shape:[0,0],colorLevels:[0],colorValues:[0,0,0,1]},this.heatmap=n(t.glplot,this.options),this.heatmap._trace=this}var s=o.prototype;s.handlePick=function(t){var e=this.options,r=e.shape,n=t.pointId,i=n%r[0],a=Math.floor(n/r[0]),o=n;return{trace:this,dataCoord:t.dataCoord,traceCoord:[e.x[i],e.y[a],e.z[o]],textLabel:this.textLabels[n],name:this.name,pointIndex:[a,i],hoverinfo:this.hoverinfo}},s.update=function(t,e){var r=e[0];this.index=t.index,this.name=t.name,this.hoverinfo=t.hoverinfo;var n=r.z;this.options.z=[].concat.apply([],n);var o=n[0].length,s=n.length;this.options.shape=[o,s],this.options.x=r.x,this.options.y=r.y,this.options.zsmooth=t.zsmooth;var l=function(t){for(var e=t.colorscale,r=t.zmin,n=t.zmax,i=e.length,o=new Array(i),s=new Array(4*i),l=0;l<i;l++){var c=e[l],u=a(c[1]);o[l]=r+c[0]*(n-r);for(var f=0;f<4;f++)s[4*l+f]=u[f]}return{colorLevels:o,colorValues:s}}(t);this.options.colorLevels=l.colorLevels,this.options.colorValues=l.colorValues,this.textLabels=[].concat.apply([],t.text),this.heatmap.update(this.options);var c,u,f=this.scene.xaxis,h=this.scene.yaxis;!1===t.zsmooth&&(c={ppad:r.x[1]-r.x[0]},u={ppad:r.y[1]-r.y[0]}),t._extremes[f._id]=i.findExtremes(f,r.x,c),t._extremes[h._id]=i.findExtremes(h,r.y,u)},s.dispose=function(){this.heatmap.dispose()},e.exports=function(t,e,r){var n=new o(t,e.uid);return n.update(e,r),n}},{"../../lib/str2rgbarray":802,"../../plots/cartesian/axes":828,"gl-heatmap2d":271}],1082:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../heatmap/xyz_defaults"),a=t("../../components/colorscale/defaults"),o=t("./attributes");e.exports=function(t,e,r,s){function l(r,i){return n.coerce(t,e,o,r,i)}i(t,e,l,s)?(l("text"),l("zsmooth"),a(t,e,s,l,{prefix:"",cLetter:"z"})):e.visible=!1}},{"../../components/colorscale/defaults":653,"../../lib":778,"../heatmap/xyz_defaults":1079,"./attributes":1080}],1083:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),colorbar:t("../heatmap/colorbar"),calc:t("../heatmap/calc"),plot:t("./convert"),moduleType:"trace",name:"heatmapgl",basePlotModule:t("../../plots/gl2d"),categories:["gl","gl2d","2dMap"],meta:{}}},{"../../plots/gl2d":868,"../heatmap/calc":1066,"../heatmap/colorbar":1068,"./attributes":1080,"./convert":1081,"./defaults":1082}],1084:[function(t,e,r){"use strict";var n=t("../bar/attributes"),i=t("../../plots/template_attributes").hovertemplateAttrs,a=t("./bin_attributes"),o=t("./constants"),s=t("../../lib/extend").extendFlat;e.exports={x:{valType:"data_array",editType:"calc+clearAxisTypes"},y:{valType:"data_array",editType:"calc+clearAxisTypes"},text:s({},n.text,{}),hovertext:s({},n.hovertext,{}),orientation:n.orientation,histfunc:{valType:"enumerated",values:["count","sum","avg","min","max"],dflt:"count",editType:"calc"},histnorm:{valType:"enumerated",values:["","percent","probability","density","probability density"],dflt:"",editType:"calc"},cumulative:{enabled:{valType:"boolean",dflt:!1,editType:"calc"},direction:{valType:"enumerated",values:["increasing","decreasing"],dflt:"increasing",editType:"calc"},currentbin:{valType:"enumerated",values:["include","exclude","half"],dflt:"include",editType:"calc"},editType:"calc"},nbinsx:{valType:"integer",min:0,dflt:0,editType:"calc"},xbins:a("x",!0),nbinsy:{valType:"integer",min:0,dflt:0,editType:"calc"},ybins:a("y",!0),autobinx:{valType:"boolean",dflt:null,editType:"calc"},autobiny:{valType:"boolean",dflt:null,editType:"calc"},bingroup:{valType:"string",dflt:"",editType:"calc"},hovertemplate:i({},{keys:o.eventDataKeys}),marker:n.marker,offsetgroup:n.offsetgroup,alignmentgroup:n.alignmentgroup,selected:n.selected,unselected:n.unselected,_deprecated:{bardir:n._deprecated.bardir}}},{"../../lib/extend":768,"../../plots/template_attributes":906,"../bar/attributes":921,"./bin_attributes":1086,"./constants":1090}],1085:[function(t,e,r){"use strict";e.exports=function(t,e){for(var r=t.length,n=0,i=0;i<r;i++)e[i]?(t[i]/=e[i],n+=t[i]):t[i]=null;return n}},{}],1086:[function(t,e,r){"use strict";e.exports=function(t,e){return{start:{valType:"any",editType:"calc"},end:{valType:"any",editType:"calc"},size:{valType:"any",editType:"calc"},editType:"calc"}}},{}],1087:[function(t,e,r){"use strict";var n=t("fast-isnumeric");e.exports={count:function(t,e,r){return r[t]++,1},sum:function(t,e,r,i){var a=i[e];return n(a)?(a=Number(a),r[t]+=a,a):0},avg:function(t,e,r,i,a){var o=i[e];return n(o)&&(o=Number(o),r[t]+=o,a[t]++),0},min:function(t,e,r,i){var a=i[e];if(n(a)){if(a=Number(a),!n(r[t]))return r[t]=a,a;if(r[t]>a){var o=a-r[t];return r[t]=a,o}}return 0},max:function(t,e,r,i){var a=i[e];if(n(a)){if(a=Number(a),!n(r[t]))return r[t]=a,a;if(r[t]<a){var o=a-r[t];return r[t]=a,o}}return 0}}},{"fast-isnumeric":241}],1088:[function(t,e,r){"use strict";var n=t("../../constants/numerical"),i=n.ONEAVGYEAR,a=n.ONEAVGMONTH,o=n.ONEDAY,s=n.ONEHOUR,l=n.ONEMIN,c=n.ONESEC,u=t("../../plots/cartesian/axes").tickIncrement;function f(t,e,r,n){if(t*e<=0)return 1/0;for(var i=Math.abs(e-t),a="date"===r.type,o=h(i,a),s=0;s<10;s++){var l=h(80*o,a);if(o===l)break;if(!p(l,t,e,a,r,n))break;o=l}return o}function h(t,e){return e&&t>c?t>o?t>1.1*i?i:t>1.1*a?a:o:t>s?s:t>l?l:c:Math.pow(10,Math.floor(Math.log(t)/Math.LN10))}function p(t,e,r,n,a,s){if(n&&t>o){var l=d(e,a,s),c=d(r,a,s),u=t===i?0:1;return l[u]!==c[u]}return Math.floor(r/t)-Math.floor(e/t)>.1}function d(t,e,r){var n=e.c2d(t,i,r).split("-");return""===n[0]&&(n.unshift(),n[0]="-"+n[0]),n}e.exports=function(t,e,r,n,a){var s,l,c=-1.1*e,h=-.1*e,p=t-h,d=r[0],g=r[1],m=Math.min(f(d+h,d+p,n,a),f(g+h,g+p,n,a)),v=Math.min(f(d+c,d+h,n,a),f(g+c,g+h,n,a));if(m>v&&v<Math.abs(g-d)/4e3?(s=m,l=!1):(s=Math.min(m,v),l=!0),"date"===n.type&&s>o){var y=s===i?1:6,x=s===i?"M12":"M1";return function(e,r){var o=n.c2d(e,i,a),s=o.indexOf("-",y);s>0&&(o=o.substr(0,s));var c=n.d2c(o,0,a);if(c<e){var f=u(c,x,!1,a);(c+f)/2<e+t&&(c=f)}return r&&l?u(c,x,!0,a):c}}return function(e,r){var n=s*Math.round(e/s);return n+s/10<e&&n+.9*s<e+t&&(n+=s),r&&l&&(n-=s),n}}},{"../../constants/numerical":753,"../../plots/cartesian/axes":828}],1089:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../lib"),a=t("../../registry"),o=t("../../plots/cartesian/axes"),s=t("../bar/arrays_to_calcdata"),l=t("./bin_functions"),c=t("./norm_functions"),u=t("./average"),f=t("./bin_label_vals");function h(t,e,r,s,l){var c,u,f,p,d,g,m,v=s+"bins",y=t._fullLayout,x=e["_"+s+"bingroup"],b=y._histogramBinOpts[x],_="overlay"===y.barmode,w=function(t){return r.r2c(t,0,p)},T=function(t){return r.c2r(t,0,p)},k="date"===r.type?function(t){return t||0===t?i.cleanDate(t,null,p):null}:function(t){return n(t)?Number(t):null};function M(t,e,r){e[t+"Found"]?(e[t]=k(e[t]),null===e[t]&&(e[t]=r[t])):(g[t]=e[t]=r[t],i.nestedProperty(u[0],v+"."+t).set(r[t]))}if(e["_"+s+"autoBinFinished"])delete e["_"+s+"autoBinFinished"];else{u=b.traces;var A=[],S=!0,E=!1,C=!1;for(c=0;c<u.length;c++)if((f=u[c]).visible){var L=b.dirs[c];d=f["_"+L+"pos0"]=r.makeCalcdata(f,L),A=i.concat(A,d),delete f["_"+s+"autoBinFinished"],!0===e.visible&&(S?S=!1:(delete f._autoBin,f["_"+s+"autoBinFinished"]=1),a.traceIs(f,"2dMap")&&(E=!0),"histogram2dcontour"===f.type&&(C=!0))}p=u[0][s+"calendar"];var I=o.autoBin(A,r,b.nbins,E,p,b.sizeFound&&b.size),P=u[0]._autoBin={};if(g=P[b.dirs[0]]={},C&&(b.size||(I.start=T(o.tickIncrement(w(I.start),I.size,!0,p))),void 0===b.end&&(I.end=T(o.tickIncrement(w(I.end),I.size,!1,p)))),_&&!a.traceIs(e,"2dMap")&&0===I._dataSpan&&"category"!==r.type&&"multicategory"!==r.type){if(l)return[I,d,!0];I=function(t,e,r,n,a){var o,s,l,c=t._fullLayout,u=function(t,e){for(var r=e.xaxis,n=e.yaxis,i=e.orientation,a=[],o=t._fullData,s=0;s<o.length;s++){var l=o[s];"histogram"===l.type&&!0===l.visible&&l.orientation===i&&l.xaxis===r&&l.yaxis===n&&a.push(l)}return a}(t,e),f=!1,p=1/0,d=[e];for(o=0;o<u.length;o++)if((s=u[o])===e)f=!0;else if(f){var g=h(t,s,r,n,!0),m=g[0],v=g[2];s["_"+n+"autoBinFinished"]=1,s["_"+n+"pos0"]=g[1],v?d.push(s):p=Math.min(p,m.size)}else l=c._histogramBinOpts[s["_"+n+"bingroup"]],p=Math.min(p,l.size||s[a].size);var y=new Array(d.length);for(o=0;o<d.length;o++)for(var x=d[o]["_"+n+"pos0"],b=0;b<x.length;b++)if(void 0!==x[b]){y[o]=x[b];break}isFinite(p)||(p=i.distinctVals(y).minDiff);for(o=0;o<d.length;o++){var _=(s=d[o])[n+"calendar"],w={start:r.c2r(y[o]-p/2,0,_),end:r.c2r(y[o]+p/2,0,_),size:p};s._input[a]=s[a]=w,(l=c._histogramBinOpts[s["_"+n+"bingroup"]])&&i.extendFlat(l,w)}return e[a]}(t,e,r,s,v)}(m=f.cumulative||{}).enabled&&"include"!==m.currentbin&&("decreasing"===m.direction?I.start=T(o.tickIncrement(w(I.start),I.size,!0,p)):I.end=T(o.tickIncrement(w(I.end),I.size,!1,p))),b.size=I.size,b.sizeFound||(g.size=I.size,i.nestedProperty(u[0],v+".size").set(I.size)),M("start",b,I),M("end",b,I)}d=e["_"+s+"pos0"],delete e["_"+s+"pos0"];var z=e._input[v]||{},O=i.extendFlat({},b),D=b.start,R=r.r2l(z.start),F=void 0!==R;if((b.startFound||F)&&R!==r.r2l(D)){var B=F?R:i.aggNums(Math.min,null,d),N={type:"category"===r.type||"multicategory"===r.type?"linear":r.type,r2l:r.r2l,dtick:b.size,tick0:D,calendar:p,range:[B,o.tickIncrement(B,b.size,!1,p)].map(r.l2r)},j=o.tickFirst(N);j>r.r2l(B)&&(j=o.tickIncrement(j,b.size,!0,p)),O.start=r.l2r(j),F||i.nestedProperty(e,v+".start").set(O.start)}var U=b.end,V=r.r2l(z.end),q=void 0!==V;if((b.endFound||q)&&V!==r.r2l(U)){var H=q?V:i.aggNums(Math.max,null,d);O.end=r.l2r(H),q||i.nestedProperty(e,v+".start").set(O.end)}var G="autobin"+s;return!1===e._input[G]&&(e._input[v]=i.extendFlat({},e[v]||{}),delete e._input[G],delete e[G]),[O,d]}e.exports={calc:function(t,e){var r,a,p,d,g=[],m=[],v=o.getFromId(t,"h"===e.orientation?e.yaxis:e.xaxis),y="h"===e.orientation?"y":"x",x={x:"y",y:"x"}[y],b=e[y+"calendar"],_=e.cumulative,w=h(t,e,v,y),T=w[0],k=w[1],M="string"==typeof T.size,A=[],S=M?A:T,E=[],C=[],L=[],I=0,P=e.histnorm,z=e.histfunc,O=-1!==P.indexOf("density");_.enabled&&O&&(P=P.replace(/ ?density$/,""),O=!1);var D,R="max"===z||"min"===z?null:0,F=l.count,B=c[P],N=!1,j=function(t){return v.r2c(t,0,b)};for(i.isArrayOrTypedArray(e[x])&&"count"!==z&&(D=e[x],N="avg"===z,F=l[z]),r=j(T.start),p=j(T.end)+(r-o.tickIncrement(r,T.size,!1,b))/1e6;r<p&&g.length<1e6&&(a=o.tickIncrement(r,T.size,!1,b),g.push((r+a)/2),m.push(R),L.push([]),A.push(r),O&&E.push(1/(a-r)),N&&C.push(0),!(a<=r));)r=a;A.push(r),M||"date"!==v.type||(S={start:j(S.start),end:j(S.end),size:S.size}),t._fullLayout._roundFnOpts||(t._fullLayout._roundFnOpts={});var U=e["_"+y+"bingroup"],V={leftGap:1/0,rightGap:1/0};U&&(t._fullLayout._roundFnOpts[U]||(t._fullLayout._roundFnOpts[U]=V),V=t._fullLayout._roundFnOpts[U]);var q,H=m.length,G=!0,Y=V.leftGap,W=V.rightGap,X={};for(r=0;r<k.length;r++){var Z=k[r];(d=i.findBin(Z,S))>=0&&d<H&&(I+=F(d,r,m,D,C),G&&L[d].length&&Z!==k[L[d][0]]&&(G=!1),L[d].push(r),X[r]=d,Y=Math.min(Y,Z-A[d]),W=Math.min(W,A[d+1]-Z))}V.leftGap=Y,V.rightGap=W,G||(q=function(e,r){return function(){var n=t._fullLayout._roundFnOpts[U];return f(n.leftGap,n.rightGap,A,v,b)(e,r)}}),N&&(I=u(m,C)),B&&B(m,I,E),_.enabled&&function(t,e,r){var n,i,a;function o(e){a=t[e],t[e]/=2}function s(e){i=t[e],t[e]=a+i/2,a+=i}if("half"===r)if("increasing"===e)for(o(0),n=1;n<t.length;n++)s(n);else for(o(t.length-1),n=t.length-2;n>=0;n--)s(n);else if("increasing"===e){for(n=1;n<t.length;n++)t[n]+=t[n-1];"exclude"===r&&(t.unshift(0),t.pop())}else{for(n=t.length-2;n>=0;n--)t[n]+=t[n+1];"exclude"===r&&(t.push(0),t.shift())}}(m,_.direction,_.currentbin);var J=Math.min(g.length,m.length),K=[],Q=0,$=J-1;for(r=0;r<J;r++)if(m[r]){Q=r;break}for(r=J-1;r>=Q;r--)if(m[r]){$=r;break}for(r=Q;r<=$;r++)if(n(g[r])&&n(m[r])){var tt={p:g[r],s:m[r],b:0};_.enabled||(tt.pts=L[r],G?tt.ph0=tt.ph1=L[r].length?k[L[r][0]]:g[r]:(e._computePh=!0,tt.ph0=q(A[r]),tt.ph1=q(A[r+1],!0))),K.push(tt)}return 1===K.length&&(K[0].width1=o.tickIncrement(K[0].p,T.size,!1,b)-K[0].p),s(K,e),i.isArrayOrTypedArray(e.selectedpoints)&&i.tagSelected(K,e,X),K},calcAllAutoBins:h}},{"../../lib":778,"../../plots/cartesian/axes":828,"../../registry":911,"../bar/arrays_to_calcdata":920,"./average":1085,"./bin_functions":1087,"./bin_label_vals":1088,"./norm_functions":1096,"fast-isnumeric":241}],1090:[function(t,e,r){"use strict";e.exports={eventDataKeys:["binNumber"]}},{}],1091:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../plots/cartesian/axis_ids"),a=t("../../registry").traceIs,o=t("../bar/defaults").handleGroupingDefaults,s=n.nestedProperty,l=t("../../plots/cartesian/constraints").getAxisGroup,c=[{aStr:{x:"xbins.start",y:"ybins.start"},name:"start"},{aStr:{x:"xbins.end",y:"ybins.end"},name:"end"},{aStr:{x:"xbins.size",y:"ybins.size"},name:"size"},{aStr:{x:"nbinsx",y:"nbinsy"},name:"nbins"}],u=["x","y"];e.exports=function(t,e){var r,f,h,p,d,g,m,v=e._histogramBinOpts={},y=[],x={},b=[];function _(t,e){return n.coerce(r._input,r,r._module.attributes,t,e)}function w(t){return"v"===t.orientation?"x":"y"}function T(t,r,a){var o=t.uid+"__"+a;r||(r=o);var s=function(t,r){return i.getFromTrace({_fullLayout:e},t,r).type}(t,a),l=t[a+"calendar"]||"",c=v[r],u=!0;c&&(s===c.axType&&l===c.calendar?(u=!1,c.traces.push(t),c.dirs.push(a)):(r=o,s!==c.axType&&n.warn(["Attempted to group the bins of trace",t.index,"set on a","type:"+s,"axis","with bins on","type:"+c.axType,"axis."].join(" ")),l!==c.calendar&&n.warn(["Attempted to group the bins of trace",t.index,"set with a",l,"calendar","with bins",c.calendar?"on a "+c.calendar+" calendar":"w/o a set calendar"].join(" ")))),u&&(v[r]={traces:[t],dirs:[a],axType:s,calendar:t[a+"calendar"]||""}),t["_"+a+"bingroup"]=r}for(d=0;d<t.length;d++)r=t[d],a(r,"histogram")&&(y.push(r),delete r._xautoBinFinished,delete r._yautoBinFinished,a(r,"2dMap")||o(r._input,r,e,_));var k=e._alignmentOpts||{};for(d=0;d<y.length;d++){if(r=y[d],h="",!a(r,"2dMap")){if(p=w(r),"group"===e.barmode&&r.alignmentgroup){var M=r[p+"axis"],A=l(e,M)+r.orientation;(k[A]||{})[r.alignmentgroup]&&(h=A)}h||"overlay"===e.barmode||(h=l(e,r.xaxis)+l(e,r.yaxis)+w(r))}h?(x[h]||(x[h]=[]),x[h].push(r)):b.push(r)}for(h in x)if(1!==(f=x[h]).length){var S=!1;for(f.length&&(r=f[0],S=_("bingroup")),h=S||h,d=0;d<f.length;d++){var E=(r=f[d])._input.bingroup;E&&E!==h&&n.warn(["Trace",r.index,"must match","within bingroup",h+".","Ignoring its bingroup:",E,"setting."].join(" ")),r.bingroup=h,T(r,h,w(r))}}else b.push(f[0]);for(d=0;d<b.length;d++){r=b[d];var C=_("bingroup");if(a(r,"2dMap"))for(m=0;m<2;m++){var L=_((p=u[m])+"bingroup",C?C+"__"+p:null);T(r,L,p)}else T(r,C,w(r))}for(h in v){var I=v[h];for(f=I.traces,g=0;g<c.length;g++){var P,z,O=c[g],D=O.name;if("nbins"!==D||!I.sizeFound){for(d=0;d<f.length;d++){if(r=f[d],p=I.dirs[d],P=O.aStr[p],void 0!==s(r._input,P).get()){I[D]=_(P),I[D+"Found"]=!0;break}(z=(r._autoBin||{})[p]||{})[D]&&s(r,P).set(z[D])}if("start"===D||"end"===D)for(;d<f.length;d++)(r=f[d])["_"+p+"bingroup"]&&_(P,(z=(r._autoBin||{})[p]||{})[D]);"nbins"!==D||I.sizeFound||I.nbinsFound||(r=f[0],I[D]=_(P))}}}}},{"../../lib":778,"../../plots/cartesian/axis_ids":831,"../../plots/cartesian/constraints":835,"../../registry":911,"../bar/defaults":925}],1092:[function(t,e,r){"use strict";var n=t("../../registry"),i=t("../../lib"),a=t("../../components/color"),o=t("../bar/style_defaults"),s=t("./attributes");e.exports=function(t,e,r,l){function c(r,n){return i.coerce(t,e,s,r,n)}var u=c("x"),f=c("y");c("cumulative.enabled")&&(c("cumulative.direction"),c("cumulative.currentbin")),c("text"),c("hovertext"),c("hovertemplate");var h=c("orientation",f&&!u?"h":"v"),p="v"===h?"x":"y",d="v"===h?"y":"x",g=u&&f?Math.min(i.minRowLength(u)&&i.minRowLength(f)):i.minRowLength(e[p]||[]);if(g){e._length=g,n.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x","y"],l),e[d]&&c("histfunc"),c("histnorm"),c("autobin"+p),o(t,e,c,r,l),i.coerceSelectionMarkerOpacity(e,c);var m=(e.marker.line||{}).color,v=n.getComponentMethod("errorbars","supplyDefaults");v(t,e,m||a.defaultLine,{axis:"y"}),v(t,e,m||a.defaultLine,{axis:"x",inherit:"y"})}else e.visible=!1}},{"../../components/color":643,"../../lib":778,"../../registry":911,"../bar/style_defaults":936,"./attributes":1084}],1093:[function(t,e,r){"use strict";e.exports=function(t,e,r,n,i){if(t.x="xVal"in e?e.xVal:e.x,t.y="yVal"in e?e.yVal:e.y,"zLabelVal"in e&&(t.z=e.zLabelVal),e.xa&&(t.xaxis=e.xa),e.ya&&(t.yaxis=e.ya),!(r.cumulative||{}).enabled){var a,o=Array.isArray(i)?n[0].pts[i[0]][i[1]]:n[i].pts;if(t.pointNumbers=o,t.binNumber=t.pointNumber,delete t.pointNumber,delete t.pointIndex,r._indexToPoints){a=[];for(var s=0;s<o.length;s++)a=a.concat(r._indexToPoints[o[s]])}else a=o;t.pointIndices=a}return t}},{}],1094:[function(t,e,r){"use strict";var n=t("../bar/hover").hoverPoints,i=t("../../plots/cartesian/axes").hoverLabelText;e.exports=function(t,e,r,a){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="h"===l.orientation?"y":"x";t[c+"Label"]=i(t[c+"a"],s.ph0,s.ph1)}return o}}},{"../../plots/cartesian/axes":828,"../bar/hover":928}],1095:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),layoutAttributes:t("../bar/layout_attributes"),supplyDefaults:t("./defaults"),crossTraceDefaults:t("./cross_trace_defaults"),supplyLayoutDefaults:t("../bar/layout_defaults"),calc:t("./calc").calc,crossTraceCalc:t("../bar/cross_trace_calc").crossTraceCalc,plot:t("../bar/plot").plot,layerName:"barlayer",style:t("../bar/style").style,styleOnSelect:t("../bar/style").styleOnSelect,colorbar:t("../scatter/marker_colorbar"),hoverPoints:t("./hover"),selectPoints:t("../bar/select"),eventData:t("./event_data"),moduleType:"trace",name:"histogram",basePlotModule:t("../../plots/cartesian"),categories:["bar-like","cartesian","svg","bar","histogram","oriented","errorBarsOK","showLegend"],meta:{}}},{"../../plots/cartesian":841,"../bar/cross_trace_calc":924,"../bar/layout_attributes":930,"../bar/layout_defaults":931,"../bar/plot":932,"../bar/select":933,"../bar/style":935,"../scatter/marker_colorbar":1205,"./attributes":1084,"./calc":1089,"./cross_trace_defaults":1091,"./defaults":1092,"./event_data":1093,"./hover":1094}],1096:[function(t,e,r){"use strict";e.exports={percent:function(t,e){for(var r=t.length,n=100/e,i=0;i<r;i++)t[i]*=n},probability:function(t,e){for(var r=t.length,n=0;n<r;n++)t[n]/=e},density:function(t,e,r,n){var i=t.length;n=n||1;for(var a=0;a<i;a++)t[a]*=r[a]*n},"probability density":function(t,e,r,n){var i=t.length;n&&(e/=n);for(var a=0;a<i;a++)t[a]*=r[a]/e}}},{}],1097:[function(t,e,r){"use strict";var n=t("../histogram/attributes"),i=t("../histogram/bin_attributes"),a=t("../heatmap/attributes"),o=t("../../plots/attributes"),s=t("../../plots/template_attributes").hovertemplateAttrs,l=t("../../components/colorscale/attributes"),c=t("../../lib/extend").extendFlat;e.exports=c({x:n.x,y:n.y,z:{valType:"data_array",editType:"calc"},marker:{color:{valType:"data_array",editType:"calc"},editType:"calc"},histnorm:n.histnorm,histfunc:n.histfunc,nbinsx:n.nbinsx,xbins:i("x"),nbinsy:n.nbinsy,ybins:i("y"),autobinx:n.autobinx,autobiny:n.autobiny,bingroup:c({},n.bingroup,{}),xbingroup:c({},n.bingroup,{}),ybingroup:c({},n.bingroup,{}),xgap:a.xgap,ygap:a.ygap,zsmooth:a.zsmooth,zhoverformat:a.zhoverformat,hovertemplate:s({},{keys:"z"}),showlegend:c({},o.showlegend,{dflt:!1})},l("",{cLetter:"z",autoColorDflt:!1}))},{"../../components/colorscale/attributes":650,"../../lib/extend":768,"../../plots/attributes":824,"../../plots/template_attributes":906,"../heatmap/attributes":1065,"../histogram/attributes":1084,"../histogram/bin_attributes":1086}],1098:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../plots/cartesian/axes"),a=t("../histogram/bin_functions"),o=t("../histogram/norm_functions"),s=t("../histogram/average"),l=t("../histogram/bin_label_vals"),c=t("../histogram/calc").calcAllAutoBins;function u(t,e,r,n){var i,a=new Array(t);if(n)for(i=0;i<t;i++)a[i]=1/(e[i+1]-e[i]);else{var o=1/r;for(i=0;i<t;i++)a[i]=o}return a}function f(t,e){return{start:t(e.start),end:t(e.end),size:e.size}}function h(t,e,r,n,i,a){var o,s=t.length-1,c=new Array(s),u=l(r,n,t,i,a);for(o=0;o<s;o++){var f=(e||[])[o];c[o]=void 0===f?[u(t[o]),u(t[o+1],!0)]:[f,f]}return c}e.exports=function(t,e){var r,l,p,d,g=i.getFromId(t,e.xaxis),m=i.getFromId(t,e.yaxis),v=e.xcalendar,y=e.ycalendar,x=function(t){return g.r2c(t,0,v)},b=function(t){return m.r2c(t,0,y)},_=c(t,e,g,"x"),w=_[0],T=_[1],k=c(t,e,m,"y"),M=k[0],A=k[1],S=e._length;T.length>S&&T.splice(S,T.length-S),A.length>S&&A.splice(S,A.length-S);var E=[],C=[],L=[],I="string"==typeof w.size,P="string"==typeof M.size,z=[],O=[],D=I?z:w,R=P?O:M,F=0,B=[],N=[],j=e.histnorm,U=e.histfunc,V=-1!==j.indexOf("density"),q="max"===U||"min"===U?null:0,H=a.count,G=o[j],Y=!1,W=[],X=[],Z="z"in e?e.z:"marker"in e&&Array.isArray(e.marker.color)?e.marker.color:"";Z&&"count"!==U&&(Y="avg"===U,H=a[U]);var J=w.size,K=x(w.start),Q=x(w.end)+(K-i.tickIncrement(K,J,!1,v))/1e6;for(r=K;r<Q;r=i.tickIncrement(r,J,!1,v))C.push(q),z.push(r),Y&&L.push(0);z.push(r);var $,tt=C.length,et=(r-K)/tt,rt=($=K+et/2,g.c2r($,0,v)),nt=M.size,it=b(M.start),at=b(M.end)+(it-i.tickIncrement(it,nt,!1,y))/1e6;for(r=it;r<at;r=i.tickIncrement(r,nt,!1,y)){E.push(C.slice()),O.push(r);var ot=new Array(tt);for(l=0;l<tt;l++)ot[l]=[];N.push(ot),Y&&B.push(L.slice())}O.push(r);var st=E.length,lt=(r-it)/st,ct=function(t){return m.c2r(t,0,y)}(it+lt/2);V&&(W=u(C.length,D,et,I),X=u(E.length,R,lt,P)),I||"date"!==g.type||(D=f(x,D)),P||"date"!==m.type||(R=f(b,R));var ut=!0,ft=!0,ht=new Array(tt),pt=new Array(st),dt=1/0,gt=1/0,mt=1/0,vt=1/0;for(r=0;r<S;r++){var yt=T[r],xt=A[r];p=n.findBin(yt,D),d=n.findBin(xt,R),p>=0&&p<tt&&d>=0&&d<st&&(F+=H(p,r,E[d],Z,B[d]),N[d][p].push(r),ut&&(void 0===ht[p]?ht[p]=yt:ht[p]!==yt&&(ut=!1)),ft&&(void 0===pt[d]?pt[d]=xt:pt[d]!==xt&&(ft=!1)),dt=Math.min(dt,yt-z[p]),gt=Math.min(gt,z[p+1]-yt),mt=Math.min(mt,xt-O[d]),vt=Math.min(vt,O[d+1]-xt))}if(Y)for(d=0;d<st;d++)F+=s(E[d],B[d]);if(G)for(d=0;d<st;d++)G(E[d],F,W,X[d]);return{x:T,xRanges:h(z,ut&&ht,dt,gt,g,v),x0:rt,dx:et,y:A,yRanges:h(O,ft&&pt,mt,vt,m,y),y0:ct,dy:lt,z:E,pts:N}}},{"../../lib":778,"../../plots/cartesian/axes":828,"../histogram/average":1085,"../histogram/bin_functions":1087,"../histogram/bin_label_vals":1088,"../histogram/calc":1089,"../histogram/norm_functions":1096}],1099:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./sample_defaults"),a=t("../heatmap/style_defaults"),o=t("../../components/colorscale/defaults"),s=t("./attributes");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&&(a(t,e,c,l),o(t,e,l,c,{prefix:"",cLetter:"z"}),c("hovertemplate"))}},{"../../components/colorscale/defaults":653,"../../lib":778,"../heatmap/style_defaults":1078,"./attributes":1097,"./sample_defaults":1102}],1100:[function(t,e,r){"use strict";var n=t("../heatmap/hover"),i=t("../../plots/cartesian/axes").hoverLabelText;e.exports=function(t,e,r,a,o,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],p=h.xRanges[f],d=h.yRanges[u];return t.xLabel=i(t.xa,p[0],p[1]),t.yLabel=i(t.ya,d[0],d[1]),l}}},{"../../plots/cartesian/axes":828,"../heatmap/hover":1072}],1101:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),crossTraceDefaults:t("../histogram/cross_trace_defaults"),calc:t("../heatmap/calc"),plot:t("../heatmap/plot"),layerName:"heatmaplayer",colorbar:t("../heatmap/colorbar"),style:t("../heatmap/style"),hoverPoints:t("./hover"),eventData:t("../histogram/event_data"),moduleType:"trace",name:"histogram2d",basePlotModule:t("../../plots/cartesian"),categories:["cartesian","svg","2dMap","histogram","showLegend"],meta:{}}},{"../../plots/cartesian":841,"../heatmap/calc":1066,"../heatmap/colorbar":1068,"../heatmap/plot":1076,"../heatmap/style":1077,"../histogram/cross_trace_defaults":1091,"../histogram/event_data":1093,"./attributes":1097,"./defaults":1099,"./hover":1100}],1102:[function(t,e,r){"use strict";var n=t("../../registry"),i=t("../../lib");e.exports=function(t,e,r,a){var o=r("x"),s=r("y"),l=i.minRowLength(o),c=i.minRowLength(s);l&&c?(e._length=Math.min(l,c),n.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x","y"],a),(r("z")||r("marker.color"))&&r("histfunc"),r("histnorm"),r("autobinx"),r("autobiny")):e.visible=!1}},{"../../lib":778,"../../registry":911}],1103:[function(t,e,r){"use strict";var n=t("../histogram2d/attributes"),i=t("../contour/attributes"),a=t("../../components/colorscale/attributes"),o=t("../../lib/extend").extendFlat;e.exports=o({x:n.x,y:n.y,z:n.z,marker:n.marker,histnorm:n.histnorm,histfunc:n.histfunc,nbinsx:n.nbinsx,xbins:n.xbins,nbinsy:n.nbinsy,ybins:n.ybins,autobinx:n.autobinx,autobiny:n.autobiny,bingroup:n.bingroup,xbingroup:n.xbingroup,ybingroup:n.ybingroup,autocontour:i.autocontour,ncontours:i.ncontours,contours:i.contours,line:{color:i.line.color,width:o({},i.line.width,{dflt:.5}),dash:i.line.dash,smoothing:i.line.smoothing,editType:"plot"},zhoverformat:n.zhoverformat,hovertemplate:n.hovertemplate},a("",{cLetter:"z",editTypeOverride:"calc"}))},{"../../components/colorscale/attributes":650,"../../lib/extend":768,"../contour/attributes":1008,"../histogram2d/attributes":1097}],1104:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../histogram2d/sample_defaults"),a=t("../contour/contours_defaults"),o=t("../contour/style_defaults"),s=t("./attributes");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&&(a(t,e,c,(function(r){return n.coerce2(t,e,s,r)})),o(t,e,c,l),c("hovertemplate"))}},{"../../lib":778,"../contour/contours_defaults":1015,"../contour/style_defaults":1029,"../histogram2d/sample_defaults":1102,"./attributes":1103}],1105:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),crossTraceDefaults:t("../histogram/cross_trace_defaults"),calc:t("../contour/calc"),plot:t("../contour/plot").plot,layerName:"contourlayer",style:t("../contour/style"),colorbar:t("../contour/colorbar"),hoverPoints:t("../contour/hover"),moduleType:"trace",name:"histogram2dcontour",basePlotModule:t("../../plots/cartesian"),categories:["cartesian","svg","2dMap","contour","histogram","showLegend"],meta:{}}},{"../../plots/cartesian":841,"../contour/calc":1009,"../contour/colorbar":1011,"../contour/hover":1021,"../contour/plot":1026,"../contour/style":1028,"../histogram/cross_trace_defaults":1091,"./attributes":1103,"./defaults":1104}],1106:[function(t,e,r){"use strict";for(var n=t("../../plots/attributes"),i=t("../../plots/template_attributes").hovertemplateAttrs,a=t("../../lib/extend").extendFlat,o=t("./constants").colormodel,s=["rgb","rgba","rgba256","hsl","hsla"],l=[],c=[],u=0;u<s.length;u++){var f=o[s[u]];l.push("For the `"+s[u]+"` colormodel, it is ["+(f.zminDflt||f.min).join(", ")+"]."),c.push("For the `"+s[u]+"` colormodel, it is ["+(f.zmaxDflt||f.max).join(", ")+"].")}e.exports=a({source:{valType:"string",editType:"calc"},z:{valType:"data_array",editType:"calc"},colormodel:{valType:"enumerated",values:s,editType:"calc"},zmin:{valType:"info_array",items:[{valType:"number",editType:"calc"},{valType:"number",editType:"calc"},{valType:"number",editType:"calc"},{valType:"number",editType:"calc"}],editType:"calc"},zmax:{valType:"info_array",items:[{valType:"number",editType:"calc"},{valType:"number",editType:"calc"},{valType:"number",editType:"calc"},{valType:"number",editType:"calc"}],editType:"calc"},x0:{valType:"any",dflt:0,editType:"calc+clearAxisTypes"},y0:{valType:"any",dflt:0,editType:"calc+clearAxisTypes"},dx:{valType:"number",dflt:1,editType:"calc"},dy:{valType:"number",dflt:1,editType:"calc"},text:{valType:"data_array",editType:"plot"},hovertext:{valType:"data_array",editType:"plot"},hoverinfo:a({},n.hoverinfo,{flags:["x","y","z","color","name","text"],dflt:"x+y+z+text+name"}),hovertemplate:i({},{keys:["z","color","colormodel"]}),transforms:void 0})},{"../../lib/extend":768,"../../plots/attributes":824,"../../plots/template_attributes":906,"./constants":1108}],1107:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./constants"),a=t("fast-isnumeric"),o=t("../../plots/cartesian/axes"),s=t("../../lib").maxRowLength,l=t("./helpers").getImageSize;function c(t,e,r,i){return function(a){return n.constrain((a-t)*e,r,i)}}function u(t,e){return function(r){return n.constrain(r,t,e)}}e.exports=function(t,e){var r,n;if(e._hasZ)r=e.z.length,n=s(e.z);else if(e._hasSource){var f=l(e.source);r=f.height,n=f.width}var h,p=o.getFromId(t,e.xaxis||"x"),d=o.getFromId(t,e.yaxis||"y"),g=p.d2c(e.x0)-e.dx/2,m=d.d2c(e.y0)-e.dy/2,v=[g,g+n*e.dx],y=[m,m+r*e.dy];if(p&&"log"===p.type)for(h=0;h<n;h++)v.push(g+h*e.dx);if(d&&"log"===d.type)for(h=0;h<r;h++)y.push(m+h*e.dy);return e._extremes[p._id]=o.findExtremes(p,v),e._extremes[d._id]=o.findExtremes(d,y),e._scaler=function(t){var e=i.colormodel[t.colormodel],r=(e.colormodel||t.colormodel).length;t._sArray=[];for(var n=0;n<r;n++)e.min[n]!==t.zmin[n]||e.max[n]!==t.zmax[n]?t._sArray.push(c(t.zmin[n],(e.max[n]-e.min[n])/(t.zmax[n]-t.zmin[n]),e.min[n],e.max[n])):t._sArray.push(u(e.min[n],e.max[n]));return function(e){for(var n=e.slice(0,r),i=0;i<r;i++){var o=n[i];if(!a(o))return!1;n[i]=t._sArray[i](o)}return n}}(e),[{x0:g,y0:m,z:e.z,w:n,h:r}]}},{"../../lib":778,"../../plots/cartesian/axes":828,"./constants":1108,"./helpers":1111,"fast-isnumeric":241}],1108:[function(t,e,r){"use strict";e.exports={colormodel:{rgb:{min:[0,0,0],max:[255,255,255],fmt:function(t){return t.slice(0,3)},suffix:["","",""]},rgba:{min:[0,0,0,0],max:[255,255,255,1],fmt:function(t){return t.slice(0,4)},suffix:["","","",""]},rgba256:{colormodel:"rgba",zminDflt:[0,0,0,0],zmaxDflt:[255,255,255,255],min:[0,0,0,0],max:[255,255,255,1],fmt:function(t){return t.slice(0,4)},suffix:["","","",""]},hsl:{min:[0,0,0],max:[360,100,100],fmt:function(t){var e=t.slice(0,3);return e[1]=e[1]+"%",e[2]=e[2]+"%",e},suffix:["\xb0","%","%"]},hsla:{min:[0,0,0,0],max:[360,100,100,1],fmt:function(t){var e=t.slice(0,4);return e[1]=e[1]+"%",e[2]=e[2]+"%",e},suffix:["\xb0","%","%",""]}}}},{}],1109:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./attributes"),a=t("./constants"),o=t("../../snapshot/helpers").IMAGE_URL_PREFIX;e.exports=function(t,e){function r(r,a){return n.coerce(t,e,i,r,a)}r("source"),e.source&&!e.source.match(o)&&delete e.source,e._hasSource=!!e.source;var s,l=r("z");(e._hasZ=!(void 0===l||!l.length||!l[0]||!l[0].length),e._hasZ||e._hasSource)?(r("x0"),r("y0"),r("dx"),r("dy"),e._hasZ?(r("colormodel","rgb"),r("zmin",(s=a.colormodel[e.colormodel]).zminDflt||s.min),r("zmax",s.zmaxDflt||s.max)):e._hasSource&&(e.colormodel="rgba256",s=a.colormodel[e.colormodel],e.zmin=s.zminDflt,e.zmax=s.zmaxDflt),r("text"),r("hovertext"),r("hovertemplate"),e._length=null):e.visible=!1}},{"../../lib":778,"../../snapshot/helpers":915,"./attributes":1106,"./constants":1108}],1110:[function(t,e,r){"use strict";e.exports=function(t,e){return"xVal"in e&&(t.x=e.xVal),"yVal"in e&&(t.y=e.yVal),e.xa&&(t.xaxis=e.xa),e.ya&&(t.yaxis=e.ya),t.color=e.color,t.colormodel=e.trace.colormodel,t.z||(t.z=e.color),t}},{}],1111:[function(t,e,r){"use strict";var n=t("image-size"),i=t("../../snapshot/helpers").IMAGE_URL_PREFIX,a=t("buffer/").Buffer;r.getImageSize=function(t){var e=t.replace(i,""),r=new a(e,"base64");return n(r)}},{"../../snapshot/helpers":915,"buffer/":111,"image-size":444}],1112:[function(t,e,r){"use strict";var n=t("../../components/fx"),i=t("../../lib"),a=t("./constants");e.exports=function(t,e,r){var o=t.cd[0],s=o.trace,l=t.xa,c=t.ya;if(!(n.inbox(e-o.x0,e-(o.x0+o.w*s.dx),0)>0||n.inbox(r-o.y0,r-(o.y0+o.h*s.dy),0)>0)){var u,f=Math.floor((e-o.x0)/s.dx),h=Math.floor(Math.abs(r-o.y0)/s.dy);if(s._hasZ?u=o.z[h][f]:s._hasSource&&(u=s._canvas.el.getContext("2d").getImageData(f,h,1,1).data),u){var p,d=o.hi||s.hoverinfo;if(d){var g=d.split("+");-1!==g.indexOf("all")&&(g=["color"]),-1!==g.indexOf("color")&&(p=!0)}var m,v=a.colormodel[s.colormodel],y=v.colormodel||s.colormodel,x=y.length,b=s._scaler(u),_=v.suffix,w=[];(s.hovertemplate||p)&&(w.push("["+[b[0]+_[0],b[1]+_[1],b[2]+_[2]].join(", ")),4===x&&w.push(", "+b[3]+_[3]),w.push("]"),w=w.join(""),t.extraText=y.toUpperCase()+": "+w),Array.isArray(s.hovertext)&&Array.isArray(s.hovertext[h])?m=s.hovertext[h][f]:Array.isArray(s.text)&&Array.isArray(s.text[h])&&(m=s.text[h][f]);var T=c.c2p(o.y0+(h+.5)*s.dy),k=o.x0+(f+.5)*s.dx,M=o.y0+(h+.5)*s.dy,A="["+u.slice(0,s.colormodel.length).join(", ")+"]";return[i.extendFlat(t,{index:[h,f],x0:l.c2p(o.x0+f*s.dx),x1:l.c2p(o.x0+(f+1)*s.dx),y0:T,y1:T,color:b,xVal:k,xLabelVal:k,yVal:M,yLabelVal:M,zLabelVal:A,text:m,hovertemplateLabels:{zLabel:A,colorLabel:w,"color[0]Label":b[0]+_[0],"color[1]Label":b[1]+_[1],"color[2]Label":b[2]+_[2],"color[3]Label":b[3]+_[3]}})]}}}},{"../../components/fx":683,"../../lib":778,"./constants":1108}],1113:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),calc:t("./calc"),plot:t("./plot"),style:t("./style"),hoverPoints:t("./hover"),eventData:t("./event_data"),moduleType:"trace",name:"image",basePlotModule:t("../../plots/cartesian"),categories:["cartesian","svg","2dMap","noSortingByValue"],animatable:!1,meta:{}}},{"../../plots/cartesian":841,"./attributes":1106,"./calc":1107,"./defaults":1109,"./event_data":1110,"./hover":1112,"./plot":1114,"./style":1115}],1114:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../lib"),a=i.strTranslate,o=t("../../constants/xmlns_namespaces"),s=t("./constants"),l=i.isIOS()||i.isSafari()||i.isIE();e.exports=function(t,e,r,c){var u=e.xaxis,f=e.yaxis,h=!(l||t._context._exportedPlot);i.makeTraceGroups(c,r,"im").each((function(e){var r=n.select(this),l=e[0],c=l.trace,p=h&&!c._hasZ&&c._hasSource&&"linear"===u.type&&"linear"===f.type;c._fastImage=p;var d,g,m,v,y,x,b=l.z,_=l.x0,w=l.y0,T=l.w,k=l.h,M=c.dx,A=c.dy;for(x=0;void 0===d&&x<T;)d=u.c2p(_+x*M),x++;for(x=T;void 0===g&&x>0;)g=u.c2p(_+x*M),x--;for(x=0;void 0===v&&x<k;)v=f.c2p(w+x*A),x++;for(x=k;void 0===y&&x>0;)y=f.c2p(w+x*A),x--;if(g<d&&(m=g,g=d,d=m),y<v&&(m=v,v=y,y=m),!p){d=Math.max(-.5*u._length,d),g=Math.min(1.5*u._length,g),v=Math.max(-.5*f._length,v),y=Math.min(1.5*f._length,y)}var S=Math.round(g-d),E=Math.round(y-v);if(S<=0||E<=0){r.selectAll("image").data([]).exit().remove()}else{var C=r.selectAll("image").data([e]);C.enter().append("svg:image").attr({xmlns:o.svg,preserveAspectRatio:"none"}),C.exit().remove();var L="image-rendering: optimizeSpeed; image-rendering: -moz-crisp-edges; image-rendering: -o-crisp-edges; image-rendering: -webkit-optimize-contrast; image-rendering: optimize-contrast; image-rendering: crisp-edges; image-rendering: pixelated;";if(p){var I=i.simpleMap(u.range,u.r2l),P=i.simpleMap(f.range,f.r2l),z=I[1]<I[0],O=P[1]>P[0];if(z||O){var D=d+S/2,R=v+E/2;L+="transform:"+a(D+"px",R+"px")+"scale("+(z?-1:1)+","+(O?-1:1)+")"+a(-D+"px",-R+"px")+";"}}C.attr("style",L);var F=new Promise((function(t){if(c._hasZ)t();else if(c._hasSource)if(c._canvas&&c._canvas.el.width===T&&c._canvas.el.height===k&&c._canvas.source===c.source)t();else{var e=document.createElement("canvas");e.width=T,e.height=k;var r=e.getContext("2d");c._image=c._image||new Image;var n=c._image;n.onload=function(){r.drawImage(n,0,0),c._canvas={el:e,source:c.source},t()},n.setAttribute("src",c.source)}})).then((function(){var t;if(c._hasZ)t=B((function(t,e){return b[e][t]})).toDataURL("image/png");else if(c._hasSource)if(p)t=c.source;else{var e=c._canvas.el.getContext("2d").getImageData(0,0,T,k).data;t=B((function(t,r){var n=4*(r*T+t);return[e[n],e[n+1],e[n+2],e[n+3]]})).toDataURL("image/png")}C.attr({"xlink:href":t,height:E,width:S,x:d,y:v})}));t._promises.push(F)}function B(t){var e=document.createElement("canvas");e.width=S,e.height=E;var r,n=e.getContext("2d"),a=function(t){return i.constrain(Math.round(u.c2p(_+t*M)-d),0,S)},o=function(t){return i.constrain(Math.round(f.c2p(w+t*A)-v),0,E)},h=s.colormodel[c.colormodel],p=h.colormodel||c.colormodel,g=h.fmt;for(x=0;x<l.w;x++){var m=a(x),y=a(x+1);if(y!==m&&!isNaN(y)&&!isNaN(m))for(var b=0;b<l.h;b++){var T=o(b),k=o(b+1);k===T||isNaN(k)||isNaN(T)||!t(x,b)||(r=c._scaler(t(x,b)),n.fillStyle=r?p+"("+g(r).join(",")+")":"rgba(0,0,0,0)",n.fillRect(m,T,y-m,k-T))}}return e}}))}},{"../../constants/xmlns_namespaces":754,"../../lib":778,"./constants":1108,d3:169}],1115:[function(t,e,r){"use strict";var n=t("d3");e.exports=function(t){n.select(t).selectAll(".im image").style("opacity",(function(t){return t[0].trace.opacity}))}},{d3:169}],1116:[function(t,e,r){"use strict";var n=t("../../lib/extend").extendFlat,i=t("../../lib/extend").extendDeep,a=t("../../plot_api/edit_types").overrideAll,o=t("../../plots/font_attributes"),s=t("../../components/color/attributes"),l=t("../../plots/domain").attributes,c=t("../../plots/cartesian/layout_attributes"),u=t("../../plot_api/plot_template").templatedArray,f=t("../../constants/delta.js"),h=(t("../../constants/docs").FORMAT_LINK,o({editType:"plot",colorEditType:"plot"})),p={color:{valType:"color",editType:"plot"},line:{color:{valType:"color",dflt:s.defaultLine,editType:"plot"},width:{valType:"number",min:0,dflt:0,editType:"plot"},editType:"calc"},thickness:{valType:"number",min:0,max:1,dflt:1,editType:"plot"},editType:"calc"},d={valType:"info_array",items:[{valType:"number",editType:"plot"},{valType:"number",editType:"plot"}],editType:"plot"},g=u("step",i({},p,{range:d}));e.exports={mode:{valType:"flaglist",editType:"calc",flags:["number","delta","gauge"],dflt:"number"},value:{valType:"number",editType:"calc",anim:!0},align:{valType:"enumerated",values:["left","center","right"],editType:"plot"},domain:l({name:"indicator",trace:!0,editType:"calc"}),title:{text:{valType:"string",editType:"plot"},align:{valType:"enumerated",values:["left","center","right"],editType:"plot"},font:n({},h,{}),editType:"plot"},number:{valueformat:{valType:"string",dflt:"",editType:"plot"},font:n({},h,{}),prefix:{valType:"string",dflt:"",editType:"plot"},suffix:{valType:"string",dflt:"",editType:"plot"},editType:"plot"},delta:{reference:{valType:"number",editType:"calc"},position:{valType:"enumerated",values:["top","bottom","left","right"],dflt:"bottom",editType:"plot"},relative:{valType:"boolean",editType:"plot",dflt:!1},valueformat:{valType:"string",editType:"plot"},increasing:{symbol:{valType:"string",dflt:f.INCREASING.SYMBOL,editType:"plot"},color:{valType:"color",dflt:f.INCREASING.COLOR,editType:"plot"},editType:"plot"},decreasing:{symbol:{valType:"string",dflt:f.DECREASING.SYMBOL,editType:"plot"},color:{valType:"color",dflt:f.DECREASING.COLOR,editType:"plot"},editType:"plot"},font:n({},h,{}),editType:"calc"},gauge:{shape:{valType:"enumerated",editType:"plot",dflt:"angular",values:["angular","bullet"]},bar:i({},p,{color:{dflt:"green"}}),bgcolor:{valType:"color",editType:"plot"},bordercolor:{valType:"color",dflt:s.defaultLine,editType:"plot"},borderwidth:{valType:"number",min:0,dflt:1,editType:"plot"},axis:a({range:d,visible:n({},c.visible,{dflt:!0}),tickmode:c.tickmode,nticks:c.nticks,tick0:c.tick0,dtick:c.dtick,tickvals:c.tickvals,ticktext:c.ticktext,ticks:n({},c.ticks,{dflt:"outside"}),ticklen:c.ticklen,tickwidth:c.tickwidth,tickcolor:c.tickcolor,showticklabels:c.showticklabels,tickfont:o({}),tickangle:c.tickangle,tickformat:c.tickformat,tickformatstops:c.tickformatstops,tickprefix:c.tickprefix,showtickprefix:c.showtickprefix,ticksuffix:c.ticksuffix,showticksuffix:c.showticksuffix,separatethousands:c.separatethousands,exponentformat:c.exponentformat,minexponent:c.minexponent,showexponent:c.showexponent,editType:"plot"},"plot"),steps:g,threshold:{line:{color:n({},p.line.color,{}),width:n({},p.line.width,{dflt:1}),editType:"plot"},thickness:n({},p.thickness,{dflt:.85}),value:{valType:"number",editType:"calc",dflt:!1},editType:"plot"},editType:"plot"}}},{"../../components/color/attributes":642,"../../constants/delta.js":747,"../../constants/docs":748,"../../lib/extend":768,"../../plot_api/edit_types":810,"../../plot_api/plot_template":817,"../../plots/cartesian/layout_attributes":842,"../../plots/domain":855,"../../plots/font_attributes":856}],1117:[function(t,e,r){"use strict";var n=t("../../plots/plots");r.name="indicator",r.plot=function(t,e,i,a){n.plotBasePlot(r.name,t,e,i,a)},r.clean=function(t,e,i,a){n.cleanBasePlot(r.name,t,e,i,a)}},{"../../plots/plots":891}],1118:[function(t,e,r){"use strict";e.exports={calc:function(t,e){var r=[],n=e.value;"number"!=typeof e._lastValue&&(e._lastValue=e.value);var i=e._lastValue,a=i;return e._hasDelta&&"number"==typeof e.delta.reference&&(a=e.delta.reference),r[0]={y:n,lastY:i,delta:n-a,relativeDelta:(n-a)/a},r}}},{}],1119:[function(t,e,r){"use strict";e.exports={defaultNumberFontSize:80,bulletNumberDomainSize:.25,bulletPadding:.025,innerRadius:.75,valueThickness:.5,titlePadding:5,horizontalPadding:10}},{}],1120:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./attributes"),a=t("../../plots/domain").defaults,o=t("../../plot_api/plot_template"),s=t("../../plots/array_container_defaults"),l=t("./constants.js"),c=t("../../plots/cartesian/tick_value_defaults"),u=t("../../plots/cartesian/tick_mark_defaults"),f=t("../../plots/cartesian/tick_label_defaults");function h(t,e){function r(r,a){return n.coerce(t,e,i.gauge.steps,r,a)}r("color"),r("line.color"),r("line.width"),r("range"),r("thickness")}e.exports={supplyDefaults:function(t,e,r,p){function d(r,a){return n.coerce(t,e,i,r,a)}a(e,p,d),d("mode"),e._hasNumber=-1!==e.mode.indexOf("number"),e._hasDelta=-1!==e.mode.indexOf("delta"),e._hasGauge=-1!==e.mode.indexOf("gauge");var g=d("value");e._range=[0,"number"==typeof g?1.5*g:1];var m,v,y,x,b,_,w=new Array(2);function T(t,e){return n.coerce(y,x,i.gauge,t,e)}function k(t,e){return n.coerce(b,_,i.gauge.axis,t,e)}if(e._hasNumber&&(d("number.valueformat"),d("number.font.color",p.font.color),d("number.font.family",p.font.family),d("number.font.size"),void 0===e.number.font.size&&(e.number.font.size=l.defaultNumberFontSize,w[0]=!0),d("number.prefix"),d("number.suffix"),m=e.number.font.size),e._hasDelta&&(d("delta.font.color",p.font.color),d("delta.font.family",p.font.family),d("delta.font.size"),void 0===e.delta.font.size&&(e.delta.font.size=(e._hasNumber?.5:1)*(m||l.defaultNumberFontSize),w[1]=!0),d("delta.reference",e.value),d("delta.relative"),d("delta.valueformat",e.delta.relative?"2%":""),d("delta.increasing.symbol"),d("delta.increasing.color"),d("delta.decreasing.symbol"),d("delta.decreasing.color"),d("delta.position"),v=e.delta.font.size),e._scaleNumbers=(!e._hasNumber||w[0])&&(!e._hasDelta||w[1])||!1,d("title.font.color",p.font.color),d("title.font.family",p.font.family),d("title.font.size",.25*(m||v||l.defaultNumberFontSize)),d("title.text"),e._hasGauge){(y=t.gauge)||(y={}),x=o.newContainer(e,"gauge"),T("shape"),(e._isBullet="bullet"===e.gauge.shape)||d("title.align","center"),(e._isAngular="angular"===e.gauge.shape)||d("align","center"),T("bgcolor",p.paper_bgcolor),T("borderwidth"),T("bordercolor"),T("bar.color"),T("bar.line.color"),T("bar.line.width"),T("bar.thickness",l.valueThickness*("bullet"===e.gauge.shape?.5:1)),s(y,x,{name:"steps",handleItemDefaults:h}),T("threshold.value"),T("threshold.thickness"),T("threshold.line.width"),T("threshold.line.color"),b={},y&&(b=y.axis||{}),_=o.newContainer(x,"axis"),k("visible"),e._range=k("range",e._range);var M={outerTicks:!0};c(b,_,k,"linear"),f(b,_,k,"linear",M),u(b,_,k,M)}else d("title.align","center"),d("align","center"),e._isAngular=e._isBullet=!1;e._length=null}}},{"../../lib":778,"../../plot_api/plot_template":817,"../../plots/array_container_defaults":823,"../../plots/cartesian/tick_label_defaults":849,"../../plots/cartesian/tick_mark_defaults":850,"../../plots/cartesian/tick_value_defaults":851,"../../plots/domain":855,"./attributes":1116,"./constants.js":1119}],1121:[function(t,e,r){"use strict";e.exports={moduleType:"trace",name:"indicator",basePlotModule:t("./base_plot"),categories:["svg","noOpacity","noHover"],animatable:!0,attributes:t("./attributes"),supplyDefaults:t("./defaults").supplyDefaults,calc:t("./calc").calc,plot:t("./plot"),meta:{}}},{"./attributes":1116,"./base_plot":1117,"./calc":1118,"./defaults":1120,"./plot":1122}],1122:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../lib"),a=i.strScale,o=i.strTranslate,s=i.rad2deg,l=t("../../constants/alignment").MID_SHIFT,c=t("../../components/drawing"),u=t("./constants"),f=t("../../lib/svg_text_utils"),h=t("../../plots/cartesian/axes"),p=t("../../plots/cartesian/axis_defaults"),d=t("../../plots/cartesian/position_defaults"),g=t("../../plots/cartesian/layout_attributes"),m=t("../../components/color"),v={left:"start",center:"middle",right:"end"},y={left:0,center:.5,right:1},x=/[yzafpn\xb5mkMGTPEZY]/;function b(t){return t&&t.duration>0}function _(t){t.each((function(t){m.stroke(n.select(this),t.line.color)})).each((function(t){m.fill(n.select(this),t.color)})).style("stroke-width",(function(t){return t.line.width}))}function w(t,e,r){var n=t._fullLayout,a=i.extendFlat({type:"linear",ticks:"outside",range:r,showline:!0},e),o={type:"linear",_id:"x"+e._id},s={letter:"x",font:n.font,noHover:!0,noTickson:!0};function l(t,e){return i.coerce(a,o,g,t,e)}return p(a,o,l,s,n),d(a,o,l,s),o}function T(t,e,r){return[Math.min(e/t.width,r/t.height),t,e+"x"+r]}function k(t,e,r,i){var a=document.createElementNS("http://www.w3.org/2000/svg","text"),o=n.select(a);return o.text(t).attr("x",0).attr("y",0).attr("text-anchor",r).attr("data-unformatted",t).call(f.convertToTspans,i).call(c.font,e),c.bBox(o.node())}function M(t,e,r,n,a,o){var s="_cache"+e;t[s]&&t[s].key===a||(t[s]={key:a,value:r});var l=i.aggNums(o,null,[t[s].value,n],2);return t[s].value=l,l}e.exports=function(t,e,r,p){var d,g=t._fullLayout;b(r)&&p&&(d=p()),i.makeTraceGroups(g._indicatorlayer,e,"trace").each((function(e){var p,A,S,E,C,L=e[0].trace,I=n.select(this),P=L._hasGauge,z=L._isAngular,O=L._isBullet,D=L.domain,R={w:g._size.w*(D.x[1]-D.x[0]),h:g._size.h*(D.y[1]-D.y[0]),l:g._size.l+g._size.w*D.x[0],r:g._size.r+g._size.w*(1-D.x[1]),t:g._size.t+g._size.h*(1-D.y[1]),b:g._size.b+g._size.h*D.y[0]},F=R.l+R.w/2,B=R.t+R.h/2,N=Math.min(R.w/2,R.h),j=u.innerRadius*N,U=L.align||"center";if(A=B,P){if(z&&(p=F,A=B+N/2,S=function(t){return function(t,e){var r=Math.sqrt(t.width/2*(t.width/2)+t.height*t.height);return[e/r,t,e]}(t,.9*j)}),O){var V=u.bulletPadding,q=1-u.bulletNumberDomainSize+V;p=R.l+(q+(1-q)*y[U])*R.w,S=function(t){return T(t,(u.bulletNumberDomainSize-V)*R.w,R.h)}}}else p=R.l+y[U]*R.w,S=function(t){return T(t,R.w,R.h)};!function(t,e,r,s){var l,u,p,d=r[0].trace,g=s.numbersX,_=s.numbersY,T=d.align||"center",A=v[T],S=s.transitionOpts,E=s.onComplete,C=i.ensureSingle(e,"g","numbers"),L=[];d._hasNumber&&L.push("number");d._hasDelta&&(L.push("delta"),"left"===d.delta.position&&L.reverse());var I=C.selectAll("text").data(L);function P(e,r,n,i){if(!e.match("s")||n>=0==i>=0||r(n).slice(-1).match(x)||r(i).slice(-1).match(x))return r;var a=e.slice().replace("s","f").replace(/\d+/,(function(t){return parseInt(t)-1})),o=w(t,{tickformat:a});return function(t){return Math.abs(t)<1?h.tickText(o,t).text:r(t)}}I.enter().append("text"),I.attr("text-anchor",(function(){return A})).attr("class",(function(t){return t})).attr("x",null).attr("y",null).attr("dx",null).attr("dy",null),I.exit().remove();var z,O=d.mode+d.align;d._hasDelta&&(z=function(){var e=w(t,{tickformat:d.delta.valueformat},d._range);e.setScale(),h.prepTicks(e);var i=function(t){return h.tickText(e,t).text},a=function(t){return d.delta.relative?t.relativeDelta:t.delta},o=function(t,e){return 0===t||"number"!=typeof t||isNaN(t)?"-":(t>0?d.delta.increasing.symbol:d.delta.decreasing.symbol)+e(t)},s=function(t){return t.delta>=0?d.delta.increasing.color:d.delta.decreasing.color};void 0===d._deltaLastValue&&(d._deltaLastValue=a(r[0]));var l=C.select("text.delta");function p(){l.text(o(a(r[0]),i)).call(m.fill,s(r[0])).call(f.convertToTspans,t)}return l.call(c.font,d.delta.font).call(m.fill,s({delta:d._deltaLastValue})),b(S)?l.transition().duration(S.duration).ease(S.easing).tween("text",(function(){var t=n.select(this),e=a(r[0]),l=d._deltaLastValue,c=P(d.delta.valueformat,i,l,e),u=n.interpolateNumber(l,e);return d._deltaLastValue=e,function(e){t.text(o(u(e),c)),t.call(m.fill,s({delta:u(e)}))}})).each("end",(function(){p(),E&&E()})).each("interrupt",(function(){p(),E&&E()})):p(),u=k(o(a(r[0]),i),d.delta.font,A,t),l}(),O+=d.delta.position+d.delta.font.size+d.delta.font.family+d.delta.valueformat,O+=d.delta.increasing.symbol+d.delta.decreasing.symbol,p=u);d._hasNumber&&(!function(){var e=w(t,{tickformat:d.number.valueformat},d._range);e.setScale(),h.prepTicks(e);var i=function(t){return h.tickText(e,t).text},a=d.number.suffix,o=d.number.prefix,s=C.select("text.number");function u(){var e="number"==typeof r[0].y?o+i(r[0].y)+a:"-";s.text(e).call(c.font,d.number.font).call(f.convertToTspans,t)}b(S)?s.transition().duration(S.duration).ease(S.easing).each("end",(function(){u(),E&&E()})).each("interrupt",(function(){u(),E&&E()})).attrTween("text",(function(){var t=n.select(this),e=n.interpolateNumber(r[0].lastY,r[0].y);d._lastValue=r[0].y;var s=P(d.number.valueformat,i,r[0].lastY,r[0].y);return function(r){t.text(o+s(e(r))+a)}})):u(),l=k(o+i(r[0].y)+a,d.number.font,A,t)}(),O+=d.number.font.size+d.number.font.family+d.number.valueformat+d.number.suffix+d.number.prefix,p=l);if(d._hasDelta&&d._hasNumber){var D,R,F=[(l.left+l.right)/2,(l.top+l.bottom)/2],B=[(u.left+u.right)/2,(u.top+u.bottom)/2],N=.75*d.delta.font.size;"left"===d.delta.position&&(D=M(d,"deltaPos",0,-1*(l.width*y[d.align]+u.width*(1-y[d.align])+N),O,Math.min),R=F[1]-B[1],p={width:l.width+u.width+N,height:Math.max(l.height,u.height),left:u.left+D,right:l.right,top:Math.min(l.top,u.top+R),bottom:Math.max(l.bottom,u.bottom+R)}),"right"===d.delta.position&&(D=M(d,"deltaPos",0,l.width*(1-y[d.align])+u.width*y[d.align]+N,O,Math.max),R=F[1]-B[1],p={width:l.width+u.width+N,height:Math.max(l.height,u.height),left:l.left,right:u.right+D,top:Math.min(l.top,u.top+R),bottom:Math.max(l.bottom,u.bottom+R)}),"bottom"===d.delta.position&&(D=null,R=u.height,p={width:Math.max(l.width,u.width),height:l.height+u.height,left:Math.min(l.left,u.left),right:Math.max(l.right,u.right),top:l.bottom-l.height,bottom:l.bottom+u.height}),"top"===d.delta.position&&(D=null,R=l.top,p={width:Math.max(l.width,u.width),height:l.height+u.height,left:Math.min(l.left,u.left),right:Math.max(l.right,u.right),top:l.bottom-l.height-u.height,bottom:l.bottom}),z.attr({dx:D,dy:R})}(d._hasNumber||d._hasDelta)&&C.attr("transform",(function(){var t=s.numbersScaler(p);O+=t[2];var e,r=M(d,"numbersScale",1,t[0],O,Math.min);d._scaleNumbers||(r=1),e=d._isAngular?_-r*p.bottom:_-r*(p.top+p.bottom)/2,d._numbersTop=r*p.top+e;var n=p[T];"center"===T&&(n=(p.left+p.right)/2);var i=g-r*n;return i=M(d,"numbersTranslate",0,i,O,Math.max),o(i,e)+a(r)}))}(t,I,e,{numbersX:p,numbersY:A,numbersScaler:S,transitionOpts:r,onComplete:d}),P&&(E={range:L.gauge.axis.range,color:L.gauge.bgcolor,line:{color:L.gauge.bordercolor,width:0},thickness:1},C={range:L.gauge.axis.range,color:"rgba(0, 0, 0, 0)",line:{color:L.gauge.bordercolor,width:L.gauge.borderwidth},thickness:1});var H=I.selectAll("g.angular").data(z?e:[]);H.exit().remove();var G=I.selectAll("g.angularaxis").data(z?e:[]);G.exit().remove(),z&&function(t,e,r,i){var a,c,u,f,p=r[0].trace,d=i.size,g=i.radius,m=i.innerRadius,v=i.gaugeBg,y=i.gaugeOutline,x=[d.l+d.w/2,d.t+d.h/2+g/2],T=i.gauge,k=i.layer,M=i.transitionOpts,A=i.onComplete,S=Math.PI/2;function E(t){var e=p.gauge.axis.range[0],r=(t-e)/(p.gauge.axis.range[1]-e)*Math.PI-S;return r<-S?-S:r>S?S:r}function C(t){return n.svg.arc().innerRadius((m+g)/2-t/2*(g-m)).outerRadius((m+g)/2+t/2*(g-m)).startAngle(-S)}function L(t){t.attr("d",(function(t){return C(t.thickness).startAngle(E(t.range[0])).endAngle(E(t.range[1]))()}))}T.enter().append("g").classed("angular",!0),T.attr("transform",o(x[0],x[1])),k.enter().append("g").classed("angularaxis",!0).classed("crisp",!0),k.selectAll("g.xangularaxistick,path,text").remove(),(a=w(t,p.gauge.axis)).type="linear",a.range=p.gauge.axis.range,a._id="xangularaxis",a.setScale();var I=function(t){return(a.range[0]-t.x)/(a.range[1]-a.range[0])*Math.PI+Math.PI},P={},z=h.makeLabelFns(a,0).labelStandoff;P.xFn=function(t){var e=I(t);return Math.cos(e)*z},P.yFn=function(t){var e=I(t),r=Math.sin(e)>0?.2:1;return-Math.sin(e)*(z+t.fontSize*r)+Math.abs(Math.cos(e))*(t.fontSize*l)},P.anchorFn=function(t){var e=I(t),r=Math.cos(e);return Math.abs(r)<.1?"middle":r>0?"start":"end"},P.heightFn=function(t,e,r){var n=I(t);return-.5*(1+Math.sin(n))*r};var O=function(t){return o(x[0]+g*Math.cos(t),x[1]-g*Math.sin(t))};u=function(t){return O(I(t))};if(c=h.calcTicks(a),f=h.getTickSigns(a)[2],a.visible){f="inside"===a.ticks?-1:1;var D=(a.linewidth||1)/2;h.drawTicks(t,a,{vals:c,layer:k,path:"M"+f*D+",0h"+f*a.ticklen,transFn:function(t){var e=I(t);return O(e)+"rotate("+-s(e)+")"}}),h.drawLabels(t,a,{vals:c,layer:k,transFn:u,labelFns:P})}var R=[v].concat(p.gauge.steps),F=T.selectAll("g.bg-arc").data(R);F.enter().append("g").classed("bg-arc",!0).append("path"),F.select("path").call(L).call(_),F.exit().remove();var B=C(p.gauge.bar.thickness),N=T.selectAll("g.value-arc").data([p.gauge.bar]);N.enter().append("g").classed("value-arc",!0).append("path");var j=N.select("path");b(M)?(j.transition().duration(M.duration).ease(M.easing).each("end",(function(){A&&A()})).each("interrupt",(function(){A&&A()})).attrTween("d",(U=B,V=E(r[0].lastY),q=E(r[0].y),function(){var t=n.interpolate(V,q);return function(e){return U.endAngle(t(e))()}})),p._lastValue=r[0].y):j.attr("d","number"==typeof r[0].y?B.endAngle(E(r[0].y)):"M0,0Z");var U,V,q;j.call(_),N.exit().remove(),R=[];var H=p.gauge.threshold.value;H&&R.push({range:[H,H],color:p.gauge.threshold.color,line:{color:p.gauge.threshold.line.color,width:p.gauge.threshold.line.width},thickness:p.gauge.threshold.thickness});var G=T.selectAll("g.threshold-arc").data(R);G.enter().append("g").classed("threshold-arc",!0).append("path"),G.select("path").call(L).call(_),G.exit().remove();var Y=T.selectAll("g.gauge-outline").data([y]);Y.enter().append("g").classed("gauge-outline",!0).append("path"),Y.select("path").call(L).call(_),Y.exit().remove()}(t,0,e,{radius:N,innerRadius:j,gauge:H,layer:G,size:R,gaugeBg:E,gaugeOutline:C,transitionOpts:r,onComplete:d});var Y=I.selectAll("g.bullet").data(O?e:[]);Y.exit().remove();var W=I.selectAll("g.bulletaxis").data(O?e:[]);W.exit().remove(),O&&function(t,e,r,n){var i,a,s,l,c,f=r[0].trace,p=n.gauge,d=n.layer,g=n.gaugeBg,v=n.gaugeOutline,y=n.size,x=f.domain,T=n.transitionOpts,k=n.onComplete;p.enter().append("g").classed("bullet",!0),p.attr("transform",o(y.l,y.t)),d.enter().append("g").classed("bulletaxis",!0).classed("crisp",!0),d.selectAll("g.xbulletaxistick,path,text").remove();var M=y.h,A=f.gauge.bar.thickness*M,S=x.x[0],E=x.x[0]+(x.x[1]-x.x[0])*(f._hasNumber||f._hasDelta?1-u.bulletNumberDomainSize:1);(i=w(t,f.gauge.axis))._id="xbulletaxis",i.domain=[S,E],i.setScale(),a=h.calcTicks(i),s=h.makeTransTickFn(i),l=h.getTickSigns(i)[2],c=y.t+y.h,i.visible&&(h.drawTicks(t,i,{vals:"inside"===i.ticks?h.clipEnds(i,a):a,layer:d,path:h.makeTickPath(i,c,l),transFn:s}),h.drawLabels(t,i,{vals:a,layer:d,transFn:s,labelFns:h.makeLabelFns(i,c)}));function C(t){t.attr("width",(function(t){return Math.max(0,i.c2p(t.range[1])-i.c2p(t.range[0]))})).attr("x",(function(t){return i.c2p(t.range[0])})).attr("y",(function(t){return.5*(1-t.thickness)*M})).attr("height",(function(t){return t.thickness*M}))}var L=[g].concat(f.gauge.steps),I=p.selectAll("g.bg-bullet").data(L);I.enter().append("g").classed("bg-bullet",!0).append("rect"),I.select("rect").call(C).call(_),I.exit().remove();var P=p.selectAll("g.value-bullet").data([f.gauge.bar]);P.enter().append("g").classed("value-bullet",!0).append("rect"),P.select("rect").attr("height",A).attr("y",(M-A)/2).call(_),b(T)?P.select("rect").transition().duration(T.duration).ease(T.easing).each("end",(function(){k&&k()})).each("interrupt",(function(){k&&k()})).attr("width",Math.max(0,i.c2p(Math.min(f.gauge.axis.range[1],r[0].y)))):P.select("rect").attr("width","number"==typeof r[0].y?Math.max(0,i.c2p(Math.min(f.gauge.axis.range[1],r[0].y))):0);P.exit().remove();var z=r.filter((function(){return f.gauge.threshold.value})),O=p.selectAll("g.threshold-bullet").data(z);O.enter().append("g").classed("threshold-bullet",!0).append("line"),O.select("line").attr("x1",i.c2p(f.gauge.threshold.value)).attr("x2",i.c2p(f.gauge.threshold.value)).attr("y1",(1-f.gauge.threshold.thickness)/2*M).attr("y2",(1-(1-f.gauge.threshold.thickness)/2)*M).call(m.stroke,f.gauge.threshold.line.color).style("stroke-width",f.gauge.threshold.line.width),O.exit().remove();var D=p.selectAll("g.gauge-outline").data([v]);D.enter().append("g").classed("gauge-outline",!0).append("rect"),D.select("rect").call(C).call(_),D.exit().remove()}(t,0,e,{gauge:Y,layer:W,size:R,gaugeBg:E,gaugeOutline:C,transitionOpts:r,onComplete:d});var X=I.selectAll("text.title").data(e);X.exit().remove(),X.enter().append("text").classed("title",!0),X.attr("text-anchor",(function(){return O?v.right:v[L.title.align]})).text(L.title.text).call(c.font,L.title.font).call(f.convertToTspans,t),X.attr("transform",(function(){var t,e=R.l+R.w*y[L.title.align],r=u.titlePadding,n=c.bBox(X.node());if(P){if(z)if(L.gauge.axis.visible)t=c.bBox(G.node()).top-r-n.bottom;else t=R.t+R.h/2-N/2-n.bottom-r;O&&(t=A-(n.top+n.bottom)/2,e=R.l-u.bulletPadding*R.w)}else t=L._numbersTop-r-n.bottom;return o(e,t)}))}))}},{"../../components/color":643,"../../components/drawing":665,"../../constants/alignment":745,"../../lib":778,"../../lib/svg_text_utils":803,"../../plots/cartesian/axes":828,"../../plots/cartesian/axis_defaults":830,"../../plots/cartesian/layout_attributes":842,"../../plots/cartesian/position_defaults":845,"./constants":1119,d3:169}],1123:[function(t,e,r){"use strict";var n=t("../../components/colorscale/attributes"),i=t("../../plots/template_attributes").hovertemplateAttrs,a=t("../mesh3d/attributes"),o=t("../../plots/attributes"),s=t("../../lib/extend").extendFlat,l=t("../../plot_api/edit_types").overrideAll;var c=e.exports=l(s({x:{valType:"data_array"},y:{valType:"data_array"},z:{valType:"data_array"},value:{valType:"data_array"},isomin:{valType:"number"},isomax:{valType:"number"},surface:{show:{valType:"boolean",dflt:!0},count:{valType:"integer",dflt:2,min:1},fill:{valType:"number",min:0,max:1,dflt:1},pattern:{valType:"flaglist",flags:["A","B","C","D","E"],extras:["all","odd","even"],dflt:"all"}},spaceframe:{show:{valType:"boolean",dflt:!1},fill:{valType:"number",min:0,max:1,dflt:.15}},slices:{x:{show:{valType:"boolean",dflt:!1},locations:{valType:"data_array",dflt:[]},fill:{valType:"number",min:0,max:1,dflt:1}},y:{show:{valType:"boolean",dflt:!1},locations:{valType:"data_array",dflt:[]},fill:{valType:"number",min:0,max:1,dflt:1}},z:{show:{valType:"boolean",dflt:!1},locations:{valType:"data_array",dflt:[]},fill:{valType:"number",min:0,max:1,dflt:1}}},caps:{x:{show:{valType:"boolean",dflt:!0},fill:{valType:"number",min:0,max:1,dflt:1}},y:{show:{valType:"boolean",dflt:!0},fill:{valType:"number",min:0,max:1,dflt:1}},z:{show:{valType:"boolean",dflt:!0},fill:{valType:"number",min:0,max:1,dflt:1}}},text:{valType:"string",dflt:"",arrayOk:!0},hovertext:{valType:"string",dflt:"",arrayOk:!0},hovertemplate:i(),showlegend:s({},o.showlegend,{dflt:!1})},n("",{colorAttr:"`value`",showScaleDflt:!0,editTypeOverride:"calc"}),{opacity:a.opacity,lightposition:a.lightposition,lighting:a.lighting,flatshading:a.flatshading,contour:a.contour,hoverinfo:s({},o.hoverinfo)}),"calc","nested");c.flatshading.dflt=!0,c.lighting.facenormalsepsilon.dflt=0,c.x.editType=c.y.editType=c.z.editType=c.value.editType="calc+clearAxisTypes",c.transforms=void 0},{"../../components/colorscale/attributes":650,"../../lib/extend":768,"../../plot_api/edit_types":810,"../../plots/attributes":824,"../../plots/template_attributes":906,"../mesh3d/attributes":1128}],1124:[function(t,e,r){"use strict";var n=t("../../components/colorscale/calc"),i=t("../streamtube/calc").processGrid,a=t("../streamtube/calc").filter;e.exports=function(t,e){e._len=Math.min(e.x.length,e.y.length,e.z.length,e.value.length),e._x=a(e.x,e._len),e._y=a(e.y,e._len),e._z=a(e.z,e._len),e._value=a(e.value,e._len);var r=i(e);e._gridFill=r.fill,e._Xs=r.Xs,e._Ys=r.Ys,e._Zs=r.Zs,e._len=r.len;for(var o=1/0,s=-1/0,l=0;l<e._len;l++){var c=e._value[l];o=Math.min(o,c),s=Math.max(s,c)}e._minValues=o,e._maxValues=s,e._vMin=void 0===e.isomin||null===e.isomin?o:e.isomin,e._vMax=void 0===e.isomax||null===e.isomin?s:e.isomax,n(t,e,{vals:[e._vMin,e._vMax],containerStr:"",cLetter:"c"})}},{"../../components/colorscale/calc":651,"../streamtube/calc":1295}],1125:[function(t,e,r){"use strict";var n=t("gl-mesh3d"),i=t("../../lib/gl_format_color").parseColorScale,a=t("../../lib/str2rgbarray"),o=t("../../components/colorscale").extractOpts,s=t("../../plots/gl3d/zip3"),l=function(t,e){for(var r=e.length-1;r>0;r--){var n=Math.min(e[r],e[r-1]),i=Math.max(e[r],e[r-1]);if(i>n&&n<t&&t<=i)return{id:r,distRatio:(i-t)/(i-n)}}return{id:0,distRatio:0}};function c(t,e,r){this.scene=t,this.uid=r,this.mesh=e,this.name="",this.data=null,this.showContour=!1}var u=c.prototype;u.handlePick=function(t){if(t.object===this.mesh){var e=t.data.index,r=this.data._meshX[e],n=this.data._meshY[e],i=this.data._meshZ[e],a=this.data._Ys.length,o=this.data._Zs.length,s=l(r,this.data._Xs).id,c=l(n,this.data._Ys).id,u=l(i,this.data._Zs).id,f=t.index=u+o*c+o*a*s;t.traceCoordinate=[this.data._meshX[f],this.data._meshY[f],this.data._meshZ[f],this.data._value[f]];var h=this.data.hovertext||this.data.text;return Array.isArray(h)&&void 0!==h[f]?t.textLabel=h[f]:h&&(t.textLabel=h),!0}},u.update=function(t){var e=this.scene,r=e.fullSceneLayout;function n(t,e,r,n){return e.map((function(e){return t.d2l(e,0,n)*r}))}this.data=h(t);var l={positions:s(n(r.xaxis,t._meshX,e.dataScale[0],t.xcalendar),n(r.yaxis,t._meshY,e.dataScale[1],t.ycalendar),n(r.zaxis,t._meshZ,e.dataScale[2],t.zcalendar)),cells:s(t._meshI,t._meshJ,t._meshK),lightPosition:[t.lightposition.x,t.lightposition.y,t.lightposition.z],ambient:t.lighting.ambient,diffuse:t.lighting.diffuse,specular:t.lighting.specular,roughness:t.lighting.roughness,fresnel:t.lighting.fresnel,vertexNormalsEpsilon:t.lighting.vertexnormalsepsilon,faceNormalsEpsilon:t.lighting.facenormalsepsilon,opacity:t.opacity,contourEnable:t.contour.show,contourColor:a(t.contour.color).slice(0,3),contourWidth:t.contour.width,useFacetNormals:t.flatshading},c=o(t);l.vertexIntensity=t._meshIntensity,l.vertexIntensityBounds=[c.min,c.max],l.colormap=i(t),this.mesh.update(l)},u.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()};var f=["xyz","xzy","yxz","yzx","zxy","zyx"];function h(t){t._meshI=[],t._meshJ=[],t._meshK=[];var e,r,n,i,a,o,s,c=t.surface.show,u=t.spaceframe.show,h=t.surface.fill,p=t.spaceframe.fill,d=!1,g=!1,m=0,v=t._Xs,y=t._Ys,x=t._Zs,b=v.length,_=y.length,w=x.length,T=f.indexOf(t._gridFill.replace(/-/g,"").replace(/\+/g,"")),k=function(t,e,r){switch(T){case 5:return r+w*e+w*_*t;case 4:return r+w*t+w*b*e;case 3:return e+_*r+_*w*t;case 2:return e+_*t+_*b*r;case 1:return t+b*r+b*w*e;default:return t+b*e+b*_*r}},M=t._minValues,A=t._maxValues,S=t._vMin,E=t._vMax;function C(t,e,s){for(var l=o.length,c=r;c<l;c++)if(t===n[c]&&e===i[c]&&s===a[c])return c;return-1}function L(){r=e}function I(){n=[],i=[],a=[],o=[],e=0,L()}function P(t,r,s,l){return n.push(t),i.push(r),a.push(s),o.push(l),++e-1}function z(t,e,r){for(var n=[],i=0;i<t.length;i++)n[i]=t[i]*(1-r)+r*e[i];return n}function O(t){s=t}function D(t,e){return"all"===t||null===t||t.indexOf(e)>-1}function R(t,e){return null===t?e:t}function F(e,r,n){L();var i,a,o,l=[r],c=[n];if(s>=1)l=[r],c=[n];else if(s>0){var u=function(t,e){var r=t[0],n=t[1],i=t[2],a=function(t,e,r){for(var n=[],i=0;i<t.length;i++)n[i]=(t[i]+e[i]+r[i])/3;return n}(r,n,i),o=Math.sqrt(1-s),l=z(a,r,o),c=z(a,n,o),u=z(a,i,o),f=e[0],h=e[1],p=e[2];return{xyzv:[[r,n,c],[c,l,r],[n,i,u],[u,c,n],[i,r,l],[l,u,i]],abc:[[f,h,-1],[-1,-1,f],[h,p,-1],[-1,-1,h],[p,f,-1],[-1,-1,p]]}}(r,n);l=u.xyzv,c=u.abc}for(var f=0;f<l.length;f++){r=l[f],n=c[f];for(var h=[],p=0;p<3;p++){var d=r[p][0],g=r[p][1],v=r[p][2],y=r[p][3],x=n[p]>-1?n[p]:C(d,g,v);h[p]=x>-1?x:P(d,g,v,R(e,y))}i=h[0],a=h[1],o=h[2],t._meshI.push(i),t._meshJ.push(a),t._meshK.push(o),++m}}function B(t,e,r,n){var i=t[3];i<r&&(i=r),i>n&&(i=n);for(var a=(t[3]-i)/(t[3]-e[3]+1e-9),o=[],s=0;s<4;s++)o[s]=(1-a)*t[s]+a*e[s];return o}function N(t,e,r){return t>=e&&t<=r}function j(t){var e=.001*(E-S);return t>=S-e&&t<=E+e}function U(e){for(var r=[],n=0;n<4;n++){var i=e[n];r.push([t._x[i],t._y[i],t._z[i],t._value[i]])}return r}function V(t,e,r,n,i,a){a||(a=1),r=[-1,-1,-1];var o=!1,s=[N(e[0][3],n,i),N(e[1][3],n,i),N(e[2][3],n,i)];if(!s[0]&&!s[1]&&!s[2])return!1;var l=function(t,e,r){return j(e[0][3])&&j(e[1][3])&&j(e[2][3])?(F(t,e,r),!0):a<3&&V(t,e,r,S,E,++a)};if(s[0]&&s[1]&&s[2])return l(t,e,r)||o;var c=!1;return[[0,1,2],[2,0,1],[1,2,0]].forEach((function(a){if(s[a[0]]&&s[a[1]]&&!s[a[2]]){var u=e[a[0]],f=e[a[1]],h=e[a[2]],p=B(h,u,n,i),d=B(h,f,n,i);o=l(t,[d,p,u],[-1,-1,r[a[0]]])||o,o=l(t,[u,f,d],[r[a[0]],r[a[1]],-1])||o,c=!0}})),c||[[0,1,2],[1,2,0],[2,0,1]].forEach((function(a){if(s[a[0]]&&!s[a[1]]&&!s[a[2]]){var u=e[a[0]],f=e[a[1]],h=e[a[2]],p=B(f,u,n,i),d=B(h,u,n,i);o=l(t,[d,p,u],[-1,-1,r[a[0]]])||o,c=!0}})),o}function q(t,e,r,n){var i=!1,a=U(e),o=[N(a[0][3],r,n),N(a[1][3],r,n),N(a[2][3],r,n),N(a[3][3],r,n)];if(!(o[0]||o[1]||o[2]||o[3]))return i;if(o[0]&&o[1]&&o[2]&&o[3])return g&&(i=function(t,e,r){var n=function(n,i,a){F(t,[e[n],e[i],e[a]],[r[n],r[i],r[a]])};n(0,1,2),n(3,0,1),n(2,3,0),n(1,2,3)}(t,a,e)||i),i;var s=!1;return[[0,1,2,3],[3,0,1,2],[2,3,0,1],[1,2,3,0]].forEach((function(l){if(o[l[0]]&&o[l[1]]&&o[l[2]]&&!o[l[3]]){var c=a[l[0]],u=a[l[1]],f=a[l[2]],h=a[l[3]];if(g)i=F(t,[c,u,f],[e[l[0]],e[l[1]],e[l[2]]])||i;else{var p=B(h,c,r,n),d=B(h,u,r,n),m=B(h,f,r,n);i=F(null,[p,d,m],[-1,-1,-1])||i}s=!0}})),s?i:([[0,1,2,3],[1,2,3,0],[2,3,0,1],[3,0,1,2],[0,2,3,1],[1,3,2,0]].forEach((function(l){if(o[l[0]]&&o[l[1]]&&!o[l[2]]&&!o[l[3]]){var c=a[l[0]],u=a[l[1]],f=a[l[2]],h=a[l[3]],p=B(f,c,r,n),d=B(f,u,r,n),m=B(h,u,r,n),v=B(h,c,r,n);g?(i=F(t,[c,v,p],[e[l[0]],-1,-1])||i,i=F(t,[u,d,m],[e[l[1]],-1,-1])||i):i=function(t,e,r){var n=function(n,i,a){F(t,[e[n],e[i],e[a]],[r[n],r[i],r[a]])};n(0,1,2),n(2,3,0)}(null,[p,d,m,v],[-1,-1,-1,-1])||i,s=!0}})),s||[[0,1,2,3],[1,2,3,0],[2,3,0,1],[3,0,1,2]].forEach((function(l){if(o[l[0]]&&!o[l[1]]&&!o[l[2]]&&!o[l[3]]){var c=a[l[0]],u=a[l[1]],f=a[l[2]],h=a[l[3]],p=B(u,c,r,n),d=B(f,c,r,n),m=B(h,c,r,n);g?(i=F(t,[c,p,d],[e[l[0]],-1,-1])||i,i=F(t,[c,d,m],[e[l[0]],-1,-1])||i,i=F(t,[c,m,p],[e[l[0]],-1,-1])||i):i=F(null,[p,d,m],[-1,-1,-1])||i,s=!0}})),i)}function H(t,e,r,n,i,a,o,s,l,c,u){var f=!1;return d&&(D(t,"A")&&(f=q(null,[e,r,n,a],c,u)||f),D(t,"B")&&(f=q(null,[r,n,i,l],c,u)||f),D(t,"C")&&(f=q(null,[r,a,o,l],c,u)||f),D(t,"D")&&(f=q(null,[n,a,s,l],c,u)||f),D(t,"E")&&(f=q(null,[r,n,a,l],c,u)||f)),g&&(f=q(t,[r,n,a,l],c,u)||f),f}function G(t,e,r,n,i,a,o,s){return[!0===s[0]||V(t,U([e,r,n]),[e,r,n],a,o),!0===s[1]||V(t,U([n,i,e]),[n,i,e],a,o)]}function Y(t,e,r,n,i,a,o,s,l){return s?G(t,e,r,i,n,a,o,l):G(t,r,i,n,e,a,o,l)}function W(t,e,r,n,i,a,o){var s,l,c,u,f=!1,h=function(){f=V(t,[s,l,c],[-1,-1,-1],i,a)||f,f=V(t,[c,u,s],[-1,-1,-1],i,a)||f},p=o[0],d=o[1],g=o[2];return p&&(s=z(U([k(e,r-0,n-0)])[0],U([k(e-1,r-0,n-0)])[0],p),l=z(U([k(e,r-0,n-1)])[0],U([k(e-1,r-0,n-1)])[0],p),c=z(U([k(e,r-1,n-1)])[0],U([k(e-1,r-1,n-1)])[0],p),u=z(U([k(e,r-1,n-0)])[0],U([k(e-1,r-1,n-0)])[0],p),h()),d&&(s=z(U([k(e-0,r,n-0)])[0],U([k(e-0,r-1,n-0)])[0],d),l=z(U([k(e-0,r,n-1)])[0],U([k(e-0,r-1,n-1)])[0],d),c=z(U([k(e-1,r,n-1)])[0],U([k(e-1,r-1,n-1)])[0],d),u=z(U([k(e-1,r,n-0)])[0],U([k(e-1,r-1,n-0)])[0],d),h()),g&&(s=z(U([k(e-0,r-0,n)])[0],U([k(e-0,r-0,n-1)])[0],g),l=z(U([k(e-0,r-1,n)])[0],U([k(e-0,r-1,n-1)])[0],g),c=z(U([k(e-1,r-1,n)])[0],U([k(e-1,r-1,n-1)])[0],g),u=z(U([k(e-1,r-0,n)])[0],U([k(e-1,r-0,n-1)])[0],g),h()),f}function X(t,e,r,n,i,a,o,s,l,c,u,f){var h=t;return f?(d&&"even"===t&&(h=null),H(h,e,r,n,i,a,o,s,l,c,u)):(d&&"odd"===t&&(h=null),H(h,l,s,o,a,i,n,r,e,c,u))}function Z(t,e,r,n,i){for(var a=[],o=0,s=0;s<e.length;s++)for(var l=e[s],c=1;c<w;c++)for(var u=1;u<_;u++)a.push(Y(t,k(l,u-1,c-1),k(l,u-1,c),k(l,u,c-1),k(l,u,c),r,n,(l+u+c)%2,i&&i[o]?i[o]:[])),o++;return a}function J(t,e,r,n,i){for(var a=[],o=0,s=0;s<e.length;s++)for(var l=e[s],c=1;c<b;c++)for(var u=1;u<w;u++)a.push(Y(t,k(c-1,l,u-1),k(c,l,u-1),k(c-1,l,u),k(c,l,u),r,n,(c+l+u)%2,i&&i[o]?i[o]:[])),o++;return a}function K(t,e,r,n,i){for(var a=[],o=0,s=0;s<e.length;s++)for(var l=e[s],c=1;c<_;c++)for(var u=1;u<b;u++)a.push(Y(t,k(u-1,c-1,l),k(u-1,c,l),k(u,c-1,l),k(u,c,l),r,n,(u+c+l)%2,i&&i[o]?i[o]:[])),o++;return a}function Q(t,e,r){for(var n=1;n<w;n++)for(var i=1;i<_;i++)for(var a=1;a<b;a++)X(t,k(a-1,i-1,n-1),k(a-1,i-1,n),k(a-1,i,n-1),k(a-1,i,n),k(a,i-1,n-1),k(a,i-1,n),k(a,i,n-1),k(a,i,n),e,r,(a+i+n)%2)}function $(t,e,r){d=!0,Q(t,e,r),d=!1}function tt(t,e,r,n,i,a){for(var o=[],s=0,l=0;l<e.length;l++)for(var c=e[l],u=1;u<w;u++)for(var f=1;f<_;f++)o.push(W(t,c,f,u,r,n,i[l],a&&a[s]&&a[s])),s++;return o}function et(t,e,r,n,i,a){for(var o=[],s=0,l=0;l<e.length;l++)for(var c=e[l],u=1;u<b;u++)for(var f=1;f<w;f++)o.push(W(t,u,c,f,r,n,i[l],a&&a[s]&&a[s])),s++;return o}function rt(t,e,r,n,i,a){for(var o=[],s=0,l=0;l<e.length;l++)for(var c=e[l],u=1;u<_;u++)for(var f=1;f<b;f++)o.push(W(t,f,u,c,r,n,i[l],a&&a[s]&&a[s])),s++;return o}function nt(t,e){for(var r=[],n=t;n<e;n++)r.push(n);return r}return function(){if(I(),function(){for(var e=0;e<b;e++)for(var r=0;r<_;r++)for(var n=0;n<w;n++){var i=k(e,r,n);P(t._x[i],t._y[i],t._z[i],t._value[i])}}(),u&&p&&(O(p),g=!0,Q(null,S,E),g=!1),c&&h){O(h);for(var e=t.surface.pattern,r=t.surface.count,s=0;s<r;s++){var f=1===r?.5:s/(r-1),d=(1-f)*S+f*E,T=Math.abs(d-M)>Math.abs(d-A)?[M,d]:[d,A];$(e,T[0],T[1])}}var C=[[Math.min(S,A),Math.max(S,A)],[Math.min(M,E),Math.max(M,E)]];["x","y","z"].forEach((function(e){for(var r=[],n=0;n<C.length;n++){var i=0,a=C[n][0],o=C[n][1],s=t.slices[e];if(s.show&&s.fill){O(s.fill);var c=[],u=[],f=[];if(s.locations.length)for(var h=0;h<s.locations.length;h++){var p=l(s.locations[h],"x"===e?v:"y"===e?y:x);0===p.distRatio?c.push(p.id):p.id>0&&(u.push(p.id),"x"===e?f.push([p.distRatio,0,0]):"y"===e?f.push([0,p.distRatio,0]):f.push([0,0,p.distRatio]))}else c=nt(1,"x"===e?b-1:"y"===e?_-1:w-1);u.length>0&&(r[i]="x"===e?tt(null,u,a,o,f,r[i]):"y"===e?et(null,u,a,o,f,r[i]):rt(null,u,a,o,f,r[i]),i++),c.length>0&&(r[i]="x"===e?Z(null,c,a,o,r[i]):"y"===e?J(null,c,a,o,r[i]):K(null,c,a,o,r[i]),i++)}var d=t.caps[e];d.show&&d.fill&&(O(d.fill),r[i]="x"===e?Z(null,[0,b-1],a,o,r[i]):"y"===e?J(null,[0,_-1],a,o,r[i]):K(null,[0,w-1],a,o,r[i]),i++)}})),0===m&&I(),t._meshX=n,t._meshY=i,t._meshZ=a,t._meshIntensity=o,t._Xs=v,t._Ys=y,t._Zs=x}(),t}e.exports={findNearestOnAxis:l,generateIsoMeshes:h,createIsosurfaceTrace:function(t,e){var r=t.glplot.gl,i=n({gl:r}),a=new c(t,i,e.uid);return i._trace=a,a.update(e),t.glplot.add(i),a}}},{"../../components/colorscale":655,"../../lib/gl_format_color":774,"../../lib/str2rgbarray":802,"../../plots/gl3d/zip3":881,"gl-mesh3d":309}],1126:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../registry"),a=t("./attributes"),o=t("../../components/colorscale/defaults");function s(t,e,r,n,a){var s=a("isomin"),l=a("isomax");null!=l&&null!=s&&s>l&&(e.isomin=null,e.isomax=null);var c=a("x"),u=a("y"),f=a("z"),h=a("value");c&&c.length&&u&&u.length&&f&&f.length&&h&&h.length?(i.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x","y","z"],n),["x","y","z"].forEach((function(t){var e="caps."+t;a(e+".show")&&a(e+".fill");var r="slices."+t;a(r+".show")&&(a(r+".fill"),a(r+".locations"))})),a("spaceframe.show")&&a("spaceframe.fill"),a("surface.show")&&(a("surface.count"),a("surface.fill"),a("surface.pattern")),a("contour.show")&&(a("contour.color"),a("contour.width")),["text","hovertext","hovertemplate","lighting.ambient","lighting.diffuse","lighting.specular","lighting.roughness","lighting.fresnel","lighting.vertexnormalsepsilon","lighting.facenormalsepsilon","lightposition.x","lightposition.y","lightposition.z","flatshading","opacity"].forEach((function(t){a(t)})),o(t,e,n,a,{prefix:"",cLetter:"c"}),e._length=null):e.visible=!1}e.exports={supplyDefaults:function(t,e,r,i){s(t,e,r,i,(function(r,i){return n.coerce(t,e,a,r,i)}))},supplyIsoDefaults:s}},{"../../components/colorscale/defaults":653,"../../lib":778,"../../registry":911,"./attributes":1123}],1127:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults").supplyDefaults,calc:t("./calc"),colorbar:{min:"cmin",max:"cmax"},plot:t("./convert").createIsosurfaceTrace,moduleType:"trace",name:"isosurface",basePlotModule:t("../../plots/gl3d"),categories:["gl3d","showLegend"],meta:{}}},{"../../plots/gl3d":870,"./attributes":1123,"./calc":1124,"./convert":1125,"./defaults":1126}],1128:[function(t,e,r){"use strict";var n=t("../../components/colorscale/attributes"),i=t("../../plots/template_attributes").hovertemplateAttrs,a=t("../surface/attributes"),o=t("../../plots/attributes"),s=t("../../lib/extend").extendFlat;e.exports=s({x:{valType:"data_array",editType:"calc+clearAxisTypes"},y:{valType:"data_array",editType:"calc+clearAxisTypes"},z:{valType:"data_array",editType:"calc+clearAxisTypes"},i:{valType:"data_array",editType:"calc"},j:{valType:"data_array",editType:"calc"},k:{valType:"data_array",editType:"calc"},text:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},hovertemplate:i({editType:"calc"}),delaunayaxis:{valType:"enumerated",values:["x","y","z"],dflt:"z",editType:"calc"},alphahull:{valType:"number",dflt:-1,editType:"calc"},intensity:{valType:"data_array",editType:"calc"},intensitymode:{valType:"enumerated",values:["vertex","cell"],dflt:"vertex",editType:"calc"},color:{valType:"color",editType:"calc"},vertexcolor:{valType:"data_array",editType:"calc"},facecolor:{valType:"data_array",editType:"calc"},transforms:void 0},n("",{colorAttr:"`intensity`",showScaleDflt:!0,editTypeOverride:"calc"}),{opacity:a.opacity,flatshading:{valType:"boolean",dflt:!1,editType:"calc"},contour:{show:s({},a.contours.x.show,{}),color:a.contours.x.color,width:a.contours.x.width,editType:"calc"},lightposition:{x:s({},a.lightposition.x,{dflt:1e5}),y:s({},a.lightposition.y,{dflt:1e5}),z:s({},a.lightposition.z,{dflt:0}),editType:"calc"},lighting:s({vertexnormalsepsilon:{valType:"number",min:0,max:1,dflt:1e-12,editType:"calc"},facenormalsepsilon:{valType:"number",min:0,max:1,dflt:1e-6,editType:"calc"},editType:"calc"},a.lighting),hoverinfo:s({},o.hoverinfo,{editType:"calc"}),showlegend:s({},o.showlegend,{dflt:!1})})},{"../../components/colorscale/attributes":650,"../../lib/extend":768,"../../plots/attributes":824,"../../plots/template_attributes":906,"../surface/attributes":1311}],1129:[function(t,e,r){"use strict";var n=t("../../components/colorscale/calc");e.exports=function(t,e){e.intensity&&n(t,e,{vals:e.intensity,containerStr:"",cLetter:"c"})}},{"../../components/colorscale/calc":651}],1130:[function(t,e,r){"use strict";var n=t("gl-mesh3d"),i=t("delaunay-triangulate"),a=t("alpha-shape"),o=t("convex-hull"),s=t("../../lib/gl_format_color").parseColorScale,l=t("../../lib/str2rgbarray"),c=t("../../components/colorscale").extractOpts,u=t("../../plots/gl3d/zip3");function f(t,e,r){this.scene=t,this.uid=r,this.mesh=e,this.name="",this.color="#fff",this.data=null,this.showContour=!1}var h=f.prototype;function p(t){for(var e=[],r=t.length,n=0;n<r;n++)e[n]=l(t[n]);return e}function d(t,e,r,n){for(var i=[],a=e.length,o=0;o<a;o++)i[o]=t.d2l(e[o],0,n)*r;return i}function g(t){for(var e=[],r=t.length,n=0;n<r;n++)e[n]=Math.round(t[n]);return e}function m(t,e){for(var r=t.length,n=0;n<r;n++)if(t[n]<=-.5||t[n]>=e-.5)return!1;return!0}h.handlePick=function(t){if(t.object===this.mesh){var e=t.index=t.data.index;t.data._cellCenter?t.traceCoordinate=t.data.dataCoordinate:t.traceCoordinate=[this.data.x[e],this.data.y[e],this.data.z[e]];var r=this.data.hovertext||this.data.text;return Array.isArray(r)&&void 0!==r[e]?t.textLabel=r[e]:r&&(t.textLabel=r),!0}},h.update=function(t){var e=this.scene,r=e.fullSceneLayout;this.data=t;var n,f=t.x.length,h=u(d(r.xaxis,t.x,e.dataScale[0],t.xcalendar),d(r.yaxis,t.y,e.dataScale[1],t.ycalendar),d(r.zaxis,t.z,e.dataScale[2],t.zcalendar));if(t.i&&t.j&&t.k){if(t.i.length!==t.j.length||t.j.length!==t.k.length||!m(t.i,f)||!m(t.j,f)||!m(t.k,f))return;n=u(g(t.i),g(t.j),g(t.k))}else n=0===t.alphahull?o(h):t.alphahull>0?a(t.alphahull,h):function(t,e){for(var r=["x","y","z"].indexOf(t),n=[],a=e.length,o=0;o<a;o++)n[o]=[e[o][(r+1)%3],e[o][(r+2)%3]];return i(n)}(t.delaunayaxis,h);var v={positions:h,cells:n,lightPosition:[t.lightposition.x,t.lightposition.y,t.lightposition.z],ambient:t.lighting.ambient,diffuse:t.lighting.diffuse,specular:t.lighting.specular,roughness:t.lighting.roughness,fresnel:t.lighting.fresnel,vertexNormalsEpsilon:t.lighting.vertexnormalsepsilon,faceNormalsEpsilon:t.lighting.facenormalsepsilon,opacity:t.opacity,contourEnable:t.contour.show,contourColor:l(t.contour.color).slice(0,3),contourWidth:t.contour.width,useFacetNormals:t.flatshading};if(t.intensity){var y=c(t);this.color="#fff";var x=t.intensitymode;v[x+"Intensity"]=t.intensity,v[x+"IntensityBounds"]=[y.min,y.max],v.colormap=s(t)}else t.vertexcolor?(this.color=t.vertexcolor[0],v.vertexColors=p(t.vertexcolor)):t.facecolor?(this.color=t.facecolor[0],v.cellColors=p(t.facecolor)):(this.color=t.color,v.meshColor=l(t.color));this.mesh.update(v)},h.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()},e.exports=function(t,e){var r=t.glplot.gl,i=n({gl:r}),a=new f(t,i,e.uid);return i._trace=a,a.update(e),t.glplot.add(i),a}},{"../../components/colorscale":655,"../../lib/gl_format_color":774,"../../lib/str2rgbarray":802,"../../plots/gl3d/zip3":881,"alpha-shape":69,"convex-hull":135,"delaunay-triangulate":171,"gl-mesh3d":309}],1131:[function(t,e,r){"use strict";var n=t("../../registry"),i=t("../../lib"),a=t("../../components/colorscale/defaults"),o=t("./attributes");e.exports=function(t,e,r,s){function l(r,n){return i.coerce(t,e,o,r,n)}function c(t){var e=t.map((function(t){var e=l(t);return e&&i.isArrayOrTypedArray(e)?e:null}));return e.every((function(t){return t&&t.length===e[0].length}))&&e}c(["x","y","z"])?(c(["i","j","k"]),(!e.i||e.j&&e.k)&&(!e.j||e.k&&e.i)&&(!e.k||e.i&&e.j)?(n.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x","y","z"],s),["lighting.ambient","lighting.diffuse","lighting.specular","lighting.roughness","lighting.fresnel","lighting.vertexnormalsepsilon","lighting.facenormalsepsilon","lightposition.x","lightposition.y","lightposition.z","flatshading","alphahull","delaunayaxis","opacity"].forEach((function(t){l(t)})),l("contour.show")&&(l("contour.color"),l("contour.width")),"intensity"in t?(l("intensity"),l("intensitymode"),a(t,e,s,l,{prefix:"",cLetter:"c"})):(e.showscale=!1,"facecolor"in t?l("facecolor"):"vertexcolor"in t?l("vertexcolor"):l("color",r)),l("text"),l("hovertext"),l("hovertemplate"),e._length=null):e.visible=!1):e.visible=!1}},{"../../components/colorscale/defaults":653,"../../lib":778,"../../registry":911,"./attributes":1128}],1132:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),calc:t("./calc"),colorbar:{min:"cmin",max:"cmax"},plot:t("./convert"),moduleType:"trace",name:"mesh3d",basePlotModule:t("../../plots/gl3d"),categories:["gl3d","showLegend"],meta:{}}},{"../../plots/gl3d":870,"./attributes":1128,"./calc":1129,"./convert":1130,"./defaults":1131}],1133:[function(t,e,r){"use strict";var n=t("../../lib").extendFlat,i=t("../scatter/attributes"),a=t("../../components/drawing/attributes").dash,o=t("../../components/fx/attributes"),s=t("../../constants/delta.js"),l=s.INCREASING.COLOR,c=s.DECREASING.COLOR,u=i.line;function f(t){return{line:{color:n({},u.color,{dflt:t}),width:u.width,dash:a,editType:"style"},editType:"style"}}e.exports={xperiod:i.xperiod,xperiod0:i.xperiod0,xperiodalignment:i.xperiodalignment,x:{valType:"data_array",editType:"calc+clearAxisTypes"},open:{valType:"data_array",editType:"calc"},high:{valType:"data_array",editType:"calc"},low:{valType:"data_array",editType:"calc"},close:{valType:"data_array",editType:"calc"},line:{width:n({},u.width,{}),dash:n({},a,{}),editType:"style"},increasing:f(l),decreasing:f(c),text:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},tickwidth:{valType:"number",min:0,max:.5,dflt:.3,editType:"calc"},hoverlabel:n({},o.hoverlabel,{split:{valType:"boolean",dflt:!1,editType:"style"}})}},{"../../components/drawing/attributes":664,"../../components/fx/attributes":674,"../../constants/delta.js":747,"../../lib":778,"../scatter/attributes":1187}],1134:[function(t,e,r){"use strict";var n=t("../../lib"),i=n._,a=t("../../plots/cartesian/axes"),o=t("../../plots/cartesian/align_period"),s=t("../../constants/numerical").BADNUM;function l(t,e,r,n){return{o:t,h:e,l:r,c:n}}function c(t,e,r,o,l,c){for(var u=l.makeCalcdata(e,"open"),f=l.makeCalcdata(e,"high"),h=l.makeCalcdata(e,"low"),p=l.makeCalcdata(e,"close"),d=Array.isArray(e.text),g=Array.isArray(e.hovertext),m=!0,v=null,y=!!e.xperiodalignment,x=[],b=0;b<o.length;b++){var _=o[b],w=u[b],T=f[b],k=h[b],M=p[b];if(_!==s&&w!==s&&T!==s&&k!==s&&M!==s){M===w?null!==v&&M!==v&&(m=M>v):m=M>w,v=M;var A=c(w,T,k,M);A.pos=_,A.yc=(w+M)/2,A.i=b,A.dir=m?"increasing":"decreasing",A.x=A.pos,A.y=[k,T],y&&(A.orig_p=r[b]),d&&(A.tx=e.text[b]),g&&(A.htx=e.hovertext[b]),x.push(A)}else x.push({pos:_,empty:!0})}return e._extremes[l._id]=a.findExtremes(l,n.concat(h,f),{padded:!0}),x.length&&(x[0].t={labels:{open:i(t,"open:")+" ",high:i(t,"high:")+" ",low:i(t,"low:")+" ",close:i(t,"close:")+" "}}),x}e.exports={calc:function(t,e){var r=a.getFromId(t,e.xaxis),i=a.getFromId(t,e.yaxis),s=function(t,e,r){var i=r._minDiff;if(!i){var a,s=t._fullData,l=[];for(i=1/0,a=0;a<s.length;a++){var c=s[a];if("ohlc"===c.type&&!0===c.visible&&c.xaxis===e._id){l.push(c);var u=e.makeCalcdata(c,"x");c._origX=u;var f=o(r,e,"x",u);c._xcalc=f;var h=n.distinctVals(f).minDiff;h&&isFinite(h)&&(i=Math.min(i,h))}}for(i===1/0&&(i=1),a=0;a<l.length;a++)l[a]._minDiff=i}return i*r.tickwidth}(t,r,e),u=e._minDiff;e._minDiff=null;var f=e._origX;e._origX=null;var h=e._xcalc;e._xcalc=null;var p=c(t,e,f,h,i,l);return e._extremes[r._id]=a.findExtremes(r,h,{vpad:u/2}),p.length?(n.extendFlat(p[0].t,{wHover:u/2,tickLen:s}),p):[{t:{empty:!0}}]},calcCommon:c}},{"../../constants/numerical":753,"../../lib":778,"../../plots/cartesian/align_period":825,"../../plots/cartesian/axes":828}],1135:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./ohlc_defaults"),a=t("../scatter/period_defaults"),o=t("./attributes");function s(t,e,r,n){r(n+".line.color"),r(n+".line.width",e.line.width),r(n+".line.dash",e.line.dash)}e.exports=function(t,e,r,l){function c(r,i){return n.coerce(t,e,o,r,i)}i(t,e,c,l)?(a(t,e,l,c,{x:!0}),c("line.width"),c("line.dash"),s(t,e,c,"increasing"),s(t,e,c,"decreasing"),c("text"),c("hovertext"),c("tickwidth"),l._requestRangeslider[e.xaxis]=!0):e.visible=!1}},{"../../lib":778,"../scatter/period_defaults":1207,"./attributes":1133,"./ohlc_defaults":1138}],1136:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes"),i=t("../../lib"),a=t("../../components/fx"),o=t("../../components/color"),s=t("../../lib").fillText,l=t("../../constants/delta.js"),c={increasing:l.INCREASING.SYMBOL,decreasing:l.DECREASING.SYMBOL};function u(t,e,r,n){var i,s,l=t.cd,c=t.xa,u=l[0].trace,f=l[0].t,h=u.type,p="ohlc"===h?"l":"min",d="ohlc"===h?"h":"max",g=f.bPos||0,m=f.bdPos||f.tickLen,v=f.wHover,y=Math.min(1,m/Math.abs(c.r2c(c.range[1])-c.r2c(c.range[0])));function x(t){var r=function(t){return t.pos+g-e}(t);return a.inbox(r-v,r+v,i)}function b(t){var e=t[p],n=t[d];return e===n||a.inbox(e-r,n-r,i)}function _(t){return(x(t)+b(t))/2}i=t.maxHoverDistance-y,s=t.maxSpikeDistance-y;var w=a.getDistanceFunction(n,x,b,_);if(a.getClosest(l,w,t),!1===t.index)return null;var T=l[t.index];if(T.empty)return null;var k=u[T.dir],M=k.line.color;return o.opacity(M)&&k.line.width?t.color=M:t.color=k.fillcolor,t.x0=c.c2p(T.pos+g-m,!0),t.x1=c.c2p(T.pos+g+m,!0),t.xLabelVal=void 0!==T.orig_p?T.orig_p:T.pos,t.spikeDistance=_(T)*s/i,t.xSpike=c.c2p(T.pos,!0),t}function f(t,e,r,a){var o=t.cd,s=t.ya,l=o[0].trace,c=o[0].t,f=[],h=u(t,e,r,a);if(!h)return[];var p=o[h.index].hi||l.hoverinfo,d=p.split("+");if(!("all"===p||-1!==d.indexOf("y")))return[];for(var g=["high","open","close","low"],m={},v=0;v<g.length;v++){var y,x=g[v],b=l[x][h.index],_=s.c2p(b,!0);b in m?(y=m[b]).yLabel+="<br>"+c.labels[x]+n.hoverLabelText(s,b):((y=i.extendFlat({},h)).y0=y.y1=_,y.yLabelVal=b,y.yLabel=c.labels[x]+n.hoverLabelText(s,b),y.name="",f.push(y),m[b]=y)}return f}function h(t,e,r,i){var a=t.cd,o=t.ya,l=a[0].trace,f=a[0].t,h=u(t,e,r,i);if(!h)return[];var p=a[h.index],d=h.index=p.i,g=p.dir;function m(t){return f.labels[t]+n.hoverLabelText(o,l[t][d])}var v=p.hi||l.hoverinfo,y=v.split("+"),x="all"===v,b=x||-1!==y.indexOf("y"),_=x||-1!==y.indexOf("text"),w=b?[m("open"),m("high"),m("low"),m("close")+" "+c[g]]:[];return _&&s(p,l,w),h.extraText=w.join("<br>"),h.y0=h.y1=o.c2p(p.yc,!0),[h]}e.exports={hoverPoints:function(t,e,r,n){return t.cd[0].trace.hoverlabel.split?f(t,e,r,n):h(t,e,r,n)},hoverSplit:f,hoverOnPoints:h}},{"../../components/color":643,"../../components/fx":683,"../../constants/delta.js":747,"../../lib":778,"../../plots/cartesian/axes":828}],1137:[function(t,e,r){"use strict";e.exports={moduleType:"trace",name:"ohlc",basePlotModule:t("../../plots/cartesian"),categories:["cartesian","svg","showLegend"],meta:{},attributes:t("./attributes"),supplyDefaults:t("./defaults"),calc:t("./calc").calc,plot:t("./plot"),style:t("./style"),hoverPoints:t("./hover").hoverPoints,selectPoints:t("./select")}},{"../../plots/cartesian":841,"./attributes":1133,"./calc":1134,"./defaults":1135,"./hover":1136,"./plot":1139,"./select":1140,"./style":1141}],1138:[function(t,e,r){"use strict";var n=t("../../registry"),i=t("../../lib");e.exports=function(t,e,r,a){var o=r("x"),s=r("open"),l=r("high"),c=r("low"),u=r("close");if(r("hoverlabel.split"),n.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x"],a),s&&l&&c&&u){var f=Math.min(s.length,l.length,c.length,u.length);return o&&(f=Math.min(f,i.minRowLength(o))),e._length=f,f}}},{"../../lib":778,"../../registry":911}],1139:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../lib");e.exports=function(t,e,r,a){var o=e.yaxis,s=e.xaxis,l=!!s.rangebreaks;i.makeTraceGroups(a,r,"trace ohlc").each((function(t){var e=n.select(this),r=t[0],a=r.t;if(!0!==r.trace.visible||a.empty)e.remove();else{var c=a.tickLen,u=e.selectAll("path").data(i.identity);u.enter().append("path"),u.exit().remove(),u.attr("d",(function(t){if(t.empty)return"M0,0Z";var e=s.c2p(t.pos-c,!0),r=s.c2p(t.pos+c,!0),n=l?(e+r)/2:s.c2p(t.pos,!0);return"M"+e+","+o.c2p(t.o,!0)+"H"+n+"M"+n+","+o.c2p(t.h,!0)+"V"+o.c2p(t.l,!0)+"M"+r+","+o.c2p(t.c,!0)+"H"+n}))}}))}},{"../../lib":778,d3:169}],1140:[function(t,e,r){"use strict";e.exports=function(t,e){var r,n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s=n[0].t.bPos||0;if(!1===e)for(r=0;r<n.length;r++)n[r].selected=0;else for(r=0;r<n.length;r++){var l=n[r];e.contains([i.c2p(l.pos+s),a.c2p(l.yc)],null,l.i,t)?(o.push({pointNumber:l.i,x:i.c2d(l.pos),y:a.c2d(l.yc)}),l.selected=1):l.selected=0}return o}},{}],1141:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../components/drawing"),a=t("../../components/color");e.exports=function(t,e,r){var o=r||n.select(t).selectAll("g.ohlclayer").selectAll("g.trace");o.style("opacity",(function(t){return t[0].trace.opacity})),o.each((function(t){var e=t[0].trace;n.select(this).selectAll("path").each((function(t){if(!t.empty){var r=e[t.dir].line;n.select(this).style("fill","none").call(a.stroke,r.color).call(i.dashLine,r.dash,r.width).style("opacity",e.selectedpoints&&!t.selected?.3:1)}}))}))}},{"../../components/color":643,"../../components/drawing":665,d3:169}],1142:[function(t,e,r){"use strict";var n=t("../../lib/extend").extendFlat,i=t("../../plots/attributes"),a=t("../../plots/font_attributes"),o=t("../../components/colorscale/attributes"),s=t("../../plots/template_attributes").hovertemplateAttrs,l=t("../../plots/domain").attributes,c=n({editType:"calc"},o("line",{editTypeOverride:"calc"}),{shape:{valType:"enumerated",values:["linear","hspline"],dflt:"linear",editType:"plot"},hovertemplate:s({editType:"plot",arrayOk:!1},{keys:["count","probability"]})});e.exports={domain:l({name:"parcats",trace:!0,editType:"calc"}),hoverinfo:n({},i.hoverinfo,{flags:["count","probability"],editType:"plot",arrayOk:!1}),hoveron:{valType:"enumerated",values:["category","color","dimension"],dflt:"category",editType:"plot"},hovertemplate:s({editType:"plot",arrayOk:!1},{keys:["count","probability","category","categorycount","colorcount","bandcolorcount"]}),arrangement:{valType:"enumerated",values:["perpendicular","freeform","fixed"],dflt:"perpendicular",editType:"plot"},bundlecolors:{valType:"boolean",dflt:!0,editType:"plot"},sortpaths:{valType:"enumerated",values:["forward","backward"],dflt:"forward",editType:"plot"},labelfont:a({editType:"calc"}),tickfont:a({editType:"calc"}),dimensions:{_isLinkedToArray:"dimension",label:{valType:"string",editType:"calc"},categoryorder:{valType:"enumerated",values:["trace","category ascending","category descending","array"],dflt:"trace",editType:"calc"},categoryarray:{valType:"data_array",editType:"calc"},ticktext:{valType:"data_array",editType:"calc"},values:{valType:"data_array",dflt:[],editType:"calc"},displayindex:{valType:"integer",editType:"calc"},editType:"calc",visible:{valType:"boolean",dflt:!0,editType:"calc"}},line:c,counts:{valType:"number",min:0,dflt:1,arrayOk:!0,editType:"calc"},customdata:void 0,hoverlabel:void 0,ids:void 0,legendgroup:void 0,opacity:void 0,selectedpoints:void 0,showlegend:void 0}},{"../../components/colorscale/attributes":650,"../../lib/extend":768,"../../plots/attributes":824,"../../plots/domain":855,"../../plots/font_attributes":856,"../../plots/template_attributes":906}],1143:[function(t,e,r){"use strict";var n=t("../../plots/get_data").getModuleCalcData,i=t("./plot");r.name="parcats",r.plot=function(t,e,r,a){var o=n(t.calcdata,"parcats");if(o.length){var s=o[0];i(t,s,r,a)}},r.clean=function(t,e,r,n){var i=n._has&&n._has("parcats"),a=e._has&&e._has("parcats");i&&!a&&n._paperdiv.selectAll(".parcats").remove()}},{"../../plots/get_data":865,"./plot":1148}],1144:[function(t,e,r){"use strict";var n=t("../../lib/gup").wrap,i=t("../../components/colorscale/helpers").hasColorscale,a=t("../../components/colorscale/calc"),o=t("../../lib/filter_unique.js"),s=t("../../components/drawing"),l=t("../../lib"),c=t("fast-isnumeric");function u(t,e,r){t.valueInds.push(e),t.count+=r}function f(t,e,r){return{categoryInds:t,color:e,rawColor:r,valueInds:[],count:0}}function h(t,e,r){t.valueInds.push(e),t.count+=r}e.exports=function(t,e){var r=l.filterVisible(e.dimensions);if(0===r.length)return[];var p,d,g,m=r.map((function(t){var e;if("trace"===t.categoryorder)e=null;else if("array"===t.categoryorder)e=t.categoryarray;else{e=o(t.values);for(var r=!0,n=0;n<e.length;n++)if(!c(e[n])){r=!1;break}e.sort(r?l.sorterAsc:void 0),"category descending"===t.categoryorder&&(e=e.reverse())}return function(t,e){e=null==e?[]:e.map((function(t){return t}));var r={},n={},i=[];e.forEach((function(t,e){r[t]=0,n[t]=e}));for(var a=0;a<t.length;a++){var o,s=t[a];void 0===r[s]?(r[s]=1,o=e.push(s)-1,n[s]=o):(r[s]++,o=n[s]),i.push(o)}var l=e.map((function(t){return r[t]}));return{uniqueValues:e,uniqueCounts:l,inds:i}}(t.values,e)}));p=l.isArrayOrTypedArray(e.counts)?e.counts:[e.counts],function(t){var e;if(function(t){for(var e=new Array(t.length),r=0;r<t.length;r++){if(t[r]<0||t[r]>=t.length)return!1;if(void 0!==e[t[r]])return!1;e[t[r]]=!0}return!0}(t.map((function(t){return t.displayindex}))))for(e=0;e<t.length;e++)t[e]._displayindex=t[e].displayindex;else for(e=0;e<t.length;e++)t[e]._displayindex=e}(r),r.forEach((function(t,e){!function(t,e){t._categoryarray=e.uniqueValues,null===t.ticktext||void 0===t.ticktext?t._ticktext=[]:t._ticktext=t.ticktext.slice();for(var r=t._ticktext.length;r<e.uniqueValues.length;r++)t._ticktext.push(e.uniqueValues[r])}(t,m[e])}));var v,y=e.line;y?(i(e,"line")&&a(t,e,{vals:e.line.color,containerStr:"line",cLetter:"c"}),v=s.tryColorscale(y)):v=l.identity;var x,b,_,w,T,k=r[0].values.length,M={},A=m.map((function(t){return t.inds}));for(g=0,x=0;x<k;x++){var S=[];for(b=0;b<A.length;b++)S.push(A[b][x]);d=p[x%p.length],g+=d;var E=(_=x,w=void 0,T=void 0,l.isArrayOrTypedArray(y.color)?T=w=y.color[_%y.color.length]:w=y.color,{color:v(w),rawColor:T}),C=S+"-"+E.rawColor;void 0===M[C]&&(M[C]=f(S,E.color,E.rawColor)),h(M[C],x,d)}var L,I=r.map((function(t,e){return function(t,e,r,n,i){return{dimensionInd:t,containerInd:e,displayInd:r,dimensionLabel:n,count:i,categories:[],dragX:null}}(e,t._index,t._displayindex,t.label,g)}));for(x=0;x<k;x++)for(d=p[x%p.length],b=0;b<I.length;b++){var P=I[b].containerInd,z=m[b].inds[x],O=I[b].categories;if(void 0===O[z]){var D=e.dimensions[P]._categoryarray[z],R=e.dimensions[P]._ticktext[z];O[z]={dimensionInd:b,categoryInd:L=z,categoryValue:D,displayInd:L,categoryLabel:R,valueInds:[],count:0,dragY:null}}u(O[z],x,d)}return n(function(t,e,r){var n=t.map((function(t){return t.categories.length})).reduce((function(t,e){return Math.max(t,e)}));return{dimensions:t,paths:e,trace:void 0,maxCats:n,count:r}}(I,M,g))}},{"../../components/colorscale/calc":651,"../../components/colorscale/helpers":654,"../../components/drawing":665,"../../lib":778,"../../lib/filter_unique.js":769,"../../lib/gup":775,"fast-isnumeric":241}],1145:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../components/colorscale/helpers").hasColorscale,a=t("../../components/colorscale/defaults"),o=t("../../plots/domain").defaults,s=t("../../plots/array_container_defaults"),l=t("./attributes"),c=t("../parcoords/merge_length");function u(t,e){function r(r,i){return n.coerce(t,e,l.dimensions,r,i)}var i=r("values"),a=r("visible");if(i&&i.length||(a=e.visible=!1),a){r("label"),r("displayindex",e._index);var o,s=t.categoryarray,c=Array.isArray(s)&&s.length>0;c&&(o="array");var u=r("categoryorder",o);"array"===u?(r("categoryarray"),r("ticktext")):(delete t.categoryarray,delete t.ticktext),c||"array"!==u||(e.categoryorder="trace")}}e.exports=function(t,e,r,f){function h(r,i){return n.coerce(t,e,l,r,i)}var p=s(t,e,{name:"dimensions",handleItemDefaults:u}),d=function(t,e,r,o,s){s("line.shape"),s("line.hovertemplate");var l=s("line.color",o.colorway[0]);if(i(t,"line")&&n.isArrayOrTypedArray(l)){if(l.length)return s("line.colorscale"),a(t,e,o,s,{prefix:"line.",cLetter:"c"}),l.length;e.line.color=r}return 1/0}(t,e,r,f,h);o(e,f,h),Array.isArray(p)&&p.length||(e.visible=!1),c(e,p,"values",d),h("hoveron"),h("hovertemplate"),h("arrangement"),h("bundlecolors"),h("sortpaths"),h("counts");var g={family:f.font.family,size:Math.round(f.font.size),color:f.font.color};n.coerceFont(h,"labelfont",g);var m={family:f.font.family,size:Math.round(f.font.size/1.2),color:f.font.color};n.coerceFont(h,"tickfont",m)}},{"../../components/colorscale/defaults":653,"../../components/colorscale/helpers":654,"../../lib":778,"../../plots/array_container_defaults":823,"../../plots/domain":855,"../parcoords/merge_length":1158,"./attributes":1142}],1146:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),calc:t("./calc"),plot:t("./plot"),colorbar:{container:"line",min:"cmin",max:"cmax"},moduleType:"trace",name:"parcats",basePlotModule:t("./base_plot"),categories:["noOpacity"],meta:{}}},{"./attributes":1142,"./base_plot":1143,"./calc":1144,"./defaults":1145,"./plot":1148}],1147:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../plot_api/plot_api"),a=t("../../components/fx"),o=t("../../lib"),s=o.strTranslate,l=t("../../components/drawing"),c=t("tinycolor2"),u=t("../../lib/svg_text_utils");function f(t,e,r,i){var a=t.map(R.bind(0,e,r)),c=i.selectAll("g.parcatslayer").data([null]);c.enter().append("g").attr("class","parcatslayer").style("pointer-events","all");var f=c.selectAll("g.trace.parcats").data(a,h),v=f.enter().append("g").attr("class","trace parcats");f.attr("transform",(function(t){return s(t.x,t.y)})),v.append("g").attr("class","paths");var y=f.select("g.paths").selectAll("path.path").data((function(t){return t.paths}),h);y.attr("fill",(function(t){return t.model.color}));var _=y.enter().append("path").attr("class","path").attr("stroke-opacity",0).attr("fill",(function(t){return t.model.color})).attr("fill-opacity",0);b(_),y.attr("d",(function(t){return t.svgD})),_.empty()||y.sort(d),y.exit().remove(),y.on("mouseover",g).on("mouseout",m).on("click",x),v.append("g").attr("class","dimensions");var k=f.select("g.dimensions").selectAll("g.dimension").data((function(t){return t.dimensions}),h);k.enter().append("g").attr("class","dimension"),k.attr("transform",(function(t){return s(t.x,0)})),k.exit().remove();var M=k.selectAll("g.category").data((function(t){return t.categories}),h),A=M.enter().append("g").attr("class","category");M.attr("transform",(function(t){return s(0,t.y)})),A.append("rect").attr("class","catrect").attr("pointer-events","none"),M.select("rect.catrect").attr("fill","none").attr("width",(function(t){return t.width})).attr("height",(function(t){return t.height})),w(A);var S=M.selectAll("rect.bandrect").data((function(t){return t.bands}),h);S.each((function(){o.raiseToTop(this)})),S.attr("fill",(function(t){return t.color}));var z=S.enter().append("rect").attr("class","bandrect").attr("stroke-opacity",0).attr("fill",(function(t){return t.color})).attr("fill-opacity",0);S.attr("fill",(function(t){return t.color})).attr("width",(function(t){return t.width})).attr("height",(function(t){return t.height})).attr("y",(function(t){return t.y})).attr("cursor",(function(t){return"fixed"===t.parcatsViewModel.arrangement?"default":"perpendicular"===t.parcatsViewModel.arrangement?"ns-resize":"move"})),T(z),S.exit().remove(),A.append("text").attr("class","catlabel").attr("pointer-events","none");var O=e._fullLayout.paper_bgcolor;M.select("text.catlabel").attr("text-anchor",(function(t){return p(t)?"start":"end"})).attr("alignment-baseline","middle").style("text-shadow",O+" -1px 1px 2px, "+O+" 1px 1px 2px, "+O+" 1px -1px 2px, "+O+" -1px -1px 2px").style("fill","rgb(0, 0, 0)").attr("x",(function(t){return p(t)?t.width+5:-5})).attr("y",(function(t){return t.height/2})).text((function(t){return t.model.categoryLabel})).each((function(t){l.font(n.select(this),t.parcatsViewModel.categorylabelfont),u.convertToTspans(n.select(this),e)})),A.append("text").attr("class","dimlabel"),M.select("text.dimlabel").attr("text-anchor","middle").attr("alignment-baseline","baseline").attr("cursor",(function(t){return"fixed"===t.parcatsViewModel.arrangement?"default":"ew-resize"})).attr("x",(function(t){return t.width/2})).attr("y",-5).text((function(t,e){return 0===e?t.parcatsViewModel.model.dimensions[t.model.dimensionInd].dimensionLabel:null})).each((function(t){l.font(n.select(this),t.parcatsViewModel.labelfont)})),M.selectAll("rect.bandrect").on("mouseover",E).on("mouseout",C),M.exit().remove(),k.call(n.behavior.drag().origin((function(t){return{x:t.x,y:0}})).on("dragstart",L).on("drag",I).on("dragend",P)),f.each((function(t){t.traceSelection=n.select(this),t.pathSelection=n.select(this).selectAll("g.paths").selectAll("path.path"),t.dimensionSelection=n.select(this).selectAll("g.dimensions").selectAll("g.dimension")})),f.exit().remove()}function h(t){return t.key}function p(t){var e=t.parcatsViewModel.dimensions.length,r=t.parcatsViewModel.dimensions[e-1].model.dimensionInd;return t.model.dimensionInd===r}function d(t,e){return t.model.rawColor>e.model.rawColor?1:t.model.rawColor<e.model.rawColor?-1:0}function g(t){if(!t.parcatsViewModel.dragDimension&&-1===t.parcatsViewModel.hoverinfoItems.indexOf("skip")){o.raiseToTop(this),_(n.select(this));var e=v(t),r=y(t);if(t.parcatsViewModel.graphDiv.emit("plotly_hover",{points:e,event:n.event,constraints:r}),-1===t.parcatsViewModel.hoverinfoItems.indexOf("none")){var i,s,l,u=n.mouse(this)[0],f=t.parcatsViewModel.graphDiv,h=t.parcatsViewModel.trace,p=f._fullLayout,d=p._paperdiv.node().getBoundingClientRect(),g=t.parcatsViewModel.graphDiv.getBoundingClientRect();for(l=0;l<t.leftXs.length-1;l++)if(t.leftXs[l]+t.dimWidths[l]-2<=u&&u<=t.leftXs[l+1]+2){var m=t.parcatsViewModel.dimensions[l],x=t.parcatsViewModel.dimensions[l+1];i=(m.x+m.width+x.x)/2,s=(t.topYs[l]+t.topYs[l+1]+t.height)/2;break}var b=t.parcatsViewModel.x+i,w=t.parcatsViewModel.y+s,T=c.mostReadable(t.model.color,["black","white"]),k=t.model.count,M=k/t.parcatsViewModel.model.count,A={countLabel:k,probabilityLabel:M.toFixed(3)},S=[];-1!==t.parcatsViewModel.hoverinfoItems.indexOf("count")&&S.push(["Count:",A.countLabel].join(" ")),-1!==t.parcatsViewModel.hoverinfoItems.indexOf("probability")&&S.push(["P:",A.probabilityLabel].join(" "));var E=S.join("<br>"),C=n.mouse(f)[0];a.loneHover({trace:h,x:b-d.left+g.left,y:w-d.top+g.top,text:E,color:t.model.color,borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontSize:10,fontColor:T,idealAlign:C<b?"right":"left",hovertemplate:(h.line||{}).hovertemplate,hovertemplateLabels:A,eventData:[{data:h._input,fullData:h,count:k,probability:M}]},{container:p._hoverlayer.node(),outerContainer:p._paper.node(),gd:f})}}}function m(t){if(!t.parcatsViewModel.dragDimension&&(b(n.select(this)),a.loneUnhover(t.parcatsViewModel.graphDiv._fullLayout._hoverlayer.node()),t.parcatsViewModel.pathSelection.sort(d),-1===t.parcatsViewModel.hoverinfoItems.indexOf("skip"))){var e=v(t),r=y(t);t.parcatsViewModel.graphDiv.emit("plotly_unhover",{points:e,event:n.event,constraints:r})}}function v(t){for(var e=[],r=z(t.parcatsViewModel),n=0;n<t.model.valueInds.length;n++){var i=t.model.valueInds[n];e.push({curveNumber:r,pointNumber:i})}return e}function y(t){for(var e={},r=t.parcatsViewModel.model.dimensions,n=0;n<r.length;n++){var i=r[n],a=i.categories[t.model.categoryInds[n]];e[i.containerInd]=a.categoryValue}return void 0!==t.model.rawColor&&(e.color=t.model.rawColor),e}function x(t){if(-1===t.parcatsViewModel.hoverinfoItems.indexOf("skip")){var e=v(t),r=y(t);t.parcatsViewModel.graphDiv.emit("plotly_click",{points:e,event:n.event,constraints:r})}}function b(t){t.attr("fill",(function(t){return t.model.color})).attr("fill-opacity",.6).attr("stroke","lightgray").attr("stroke-width",.2).attr("stroke-opacity",1)}function _(t){t.attr("fill-opacity",.8).attr("stroke",(function(t){return c.mostReadable(t.model.color,["black","white"])})).attr("stroke-width",.3)}function w(t){t.select("rect.catrect").attr("stroke","black").attr("stroke-width",1).attr("stroke-opacity",1)}function T(t){t.attr("stroke","black").attr("stroke-width",.2).attr("stroke-opacity",1).attr("fill-opacity",1)}function k(t){var e=t.parcatsViewModel.pathSelection,r=t.categoryViewModel.model.dimensionInd,n=t.categoryViewModel.model.categoryInd;return e.filter((function(e){return e.model.categoryInds[r]===n&&e.model.color===t.color}))}function M(t,e,r){var i=n.select(t).datum(),a=i.categoryViewModel.model,o=i.parcatsViewModel.graphDiv,s=n.select(t.parentNode).selectAll("rect.bandrect"),l=[];s.each((function(t){k(t).each((function(t){Array.prototype.push.apply(l,v(t))}))}));var c={};c[a.dimensionInd]=a.categoryValue,o.emit(e,{points:l,event:r,constraints:c})}function A(t,e,r){var i=n.select(t).datum(),a=i.categoryViewModel.model,o=i.parcatsViewModel.graphDiv,s=k(i),l=[];s.each((function(t){Array.prototype.push.apply(l,v(t))}));var c={};c[a.dimensionInd]=a.categoryValue,void 0!==i.rawColor&&(c.color=i.rawColor),o.emit(e,{points:l,event:r,constraints:c})}function S(t,e,r){t._fullLayout._calcInverseTransform(t);var i,a,o=t._fullLayout._invScaleX,s=t._fullLayout._invScaleY,l=n.select(r.parentNode).select("rect.catrect"),c=l.node().getBoundingClientRect(),u=l.datum(),f=u.parcatsViewModel,h=f.model.dimensions[u.model.dimensionInd],p=f.trace,d=c.top+c.height/2;f.dimensions.length>1&&h.displayInd===f.dimensions.length-1?(i=c.left,a="left"):(i=c.left+c.width,a="right");var g=u.model.count,m=u.model.categoryLabel,v=g/u.parcatsViewModel.model.count,y={countLabel:g,categoryLabel:m,probabilityLabel:v.toFixed(3)},x=[];-1!==u.parcatsViewModel.hoverinfoItems.indexOf("count")&&x.push(["Count:",y.countLabel].join(" ")),-1!==u.parcatsViewModel.hoverinfoItems.indexOf("probability")&&x.push(["P("+y.categoryLabel+"):",y.probabilityLabel].join(" "));var b=x.join("<br>");return{trace:p,x:o*(i-e.left),y:s*(d-e.top),text:b,color:"lightgray",borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontSize:12,fontColor:"black",idealAlign:a,hovertemplate:p.hovertemplate,hovertemplateLabels:y,eventData:[{data:p._input,fullData:p,count:g,category:m,probability:v}]}}function E(t){if(!t.parcatsViewModel.dragDimension&&-1===t.parcatsViewModel.hoverinfoItems.indexOf("skip")){if(n.mouse(this)[1]<-1)return;var e,r=t.parcatsViewModel.graphDiv,i=r._fullLayout,s=i._paperdiv.node().getBoundingClientRect(),l=t.parcatsViewModel.hoveron;if("color"===l?(!function(t){var e=n.select(t).datum(),r=k(e);_(r),r.each((function(){o.raiseToTop(this)})),n.select(t.parentNode).selectAll("rect.bandrect").filter((function(t){return t.color===e.color})).each((function(){o.raiseToTop(this),n.select(this).attr("stroke","black").attr("stroke-width",1.5)}))}(this),A(this,"plotly_hover",n.event)):(!function(t){n.select(t.parentNode).selectAll("rect.bandrect").each((function(t){var e=k(t);_(e),e.each((function(){o.raiseToTop(this)}))})),n.select(t.parentNode).select("rect.catrect").attr("stroke","black").attr("stroke-width",2.5)}(this),M(this,"plotly_hover",n.event)),-1===t.parcatsViewModel.hoverinfoItems.indexOf("none"))"category"===l?e=S(r,s,this):"color"===l?e=function(t,e,r){t._fullLayout._calcInverseTransform(t);var i,a,o=t._fullLayout._invScaleX,s=t._fullLayout._invScaleY,l=r.getBoundingClientRect(),u=n.select(r).datum(),f=u.categoryViewModel,h=f.parcatsViewModel,p=h.model.dimensions[f.model.dimensionInd],d=h.trace,g=l.y+l.height/2;h.dimensions.length>1&&p.displayInd===h.dimensions.length-1?(i=l.left,a="left"):(i=l.left+l.width,a="right");var m=f.model.categoryLabel,v=u.parcatsViewModel.model.count,y=0;u.categoryViewModel.bands.forEach((function(t){t.color===u.color&&(y+=t.count)}));var x=f.model.count,b=0;h.pathSelection.each((function(t){t.model.color===u.color&&(b+=t.model.count)}));var _=y/v,w=y/b,T=y/x,k={countLabel:v,categoryLabel:m,probabilityLabel:_.toFixed(3)},M=[];-1!==f.parcatsViewModel.hoverinfoItems.indexOf("count")&&M.push(["Count:",k.countLabel].join(" ")),-1!==f.parcatsViewModel.hoverinfoItems.indexOf("probability")&&(M.push("P(color \u2229 "+m+"): "+k.probabilityLabel),M.push("P("+m+" | color): "+w.toFixed(3)),M.push("P(color | "+m+"): "+T.toFixed(3)));var A=M.join("<br>"),S=c.mostReadable(u.color,["black","white"]);return{trace:d,x:o*(i-e.left),y:s*(g-e.top),text:A,color:u.color,borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontColor:S,fontSize:10,idealAlign:a,hovertemplate:d.hovertemplate,hovertemplateLabels:k,eventData:[{data:d._input,fullData:d,category:m,count:v,probability:_,categorycount:x,colorcount:b,bandcolorcount:y}]}}(r,s,this):"dimension"===l&&(e=function(t,e,r){var i=[];return n.select(r.parentNode.parentNode).selectAll("g.category").select("rect.catrect").each((function(){i.push(S(t,e,this))})),i}(r,s,this)),e&&a.loneHover(e,{container:i._hoverlayer.node(),outerContainer:i._paper.node(),gd:r})}}function C(t){var e=t.parcatsViewModel;if(!e.dragDimension&&(b(e.pathSelection),w(e.dimensionSelection.selectAll("g.category")),T(e.dimensionSelection.selectAll("g.category").selectAll("rect.bandrect")),a.loneUnhover(e.graphDiv._fullLayout._hoverlayer.node()),e.pathSelection.sort(d),-1===e.hoverinfoItems.indexOf("skip"))){"color"===t.parcatsViewModel.hoveron?A(this,"plotly_unhover",n.event):M(this,"plotly_unhover",n.event)}}function L(t){"fixed"!==t.parcatsViewModel.arrangement&&(t.dragDimensionDisplayInd=t.model.displayInd,t.initialDragDimensionDisplayInds=t.parcatsViewModel.model.dimensions.map((function(t){return t.displayInd})),t.dragHasMoved=!1,t.dragCategoryDisplayInd=null,n.select(this).selectAll("g.category").select("rect.catrect").each((function(e){var r=n.mouse(this)[0],i=n.mouse(this)[1];-2<=r&&r<=e.width+2&&-2<=i&&i<=e.height+2&&(t.dragCategoryDisplayInd=e.model.displayInd,t.initialDragCategoryDisplayInds=t.model.categories.map((function(t){return t.displayInd})),e.model.dragY=e.y,o.raiseToTop(this.parentNode),n.select(this.parentNode).selectAll("rect.bandrect").each((function(e){e.y<i&&i<=e.y+e.height&&(t.potentialClickBand=this)})))})),t.parcatsViewModel.dragDimension=t,a.loneUnhover(t.parcatsViewModel.graphDiv._fullLayout._hoverlayer.node()))}function I(t){if("fixed"!==t.parcatsViewModel.arrangement&&(t.dragHasMoved=!0,null!==t.dragDimensionDisplayInd)){var e=t.dragDimensionDisplayInd,r=e-1,i=e+1,a=t.parcatsViewModel.dimensions[e];if(null!==t.dragCategoryDisplayInd){var o=a.categories[t.dragCategoryDisplayInd];o.model.dragY+=n.event.dy;var s=o.model.dragY,l=o.model.displayInd,c=a.categories,u=c[l-1],f=c[l+1];void 0!==u&&s<u.y+u.height/2&&(o.model.displayInd=u.model.displayInd,u.model.displayInd=l),void 0!==f&&s+o.height>f.y+f.height/2&&(o.model.displayInd=f.model.displayInd,f.model.displayInd=l),t.dragCategoryDisplayInd=o.model.displayInd}if(null===t.dragCategoryDisplayInd||"freeform"===t.parcatsViewModel.arrangement){a.model.dragX=n.event.x;var h=t.parcatsViewModel.dimensions[r],p=t.parcatsViewModel.dimensions[i];void 0!==h&&a.model.dragX<h.x+h.width&&(a.model.displayInd=h.model.displayInd,h.model.displayInd=e),void 0!==p&&a.model.dragX+a.width>p.x&&(a.model.displayInd=p.model.displayInd,p.model.displayInd=t.dragDimensionDisplayInd),t.dragDimensionDisplayInd=a.model.displayInd}N(t.parcatsViewModel),B(t.parcatsViewModel),D(t.parcatsViewModel),O(t.parcatsViewModel)}}function P(t){if("fixed"!==t.parcatsViewModel.arrangement&&null!==t.dragDimensionDisplayInd){n.select(this).selectAll("text").attr("font-weight","normal");var e={},r=z(t.parcatsViewModel),a=t.parcatsViewModel.model.dimensions.map((function(t){return t.displayInd})),o=t.initialDragDimensionDisplayInds.some((function(t,e){return t!==a[e]}));o&&a.forEach((function(r,n){var i=t.parcatsViewModel.model.dimensions[n].containerInd;e["dimensions["+i+"].displayindex"]=r}));var s=!1;if(null!==t.dragCategoryDisplayInd){var l=t.model.categories.map((function(t){return t.displayInd}));if(s=t.initialDragCategoryDisplayInds.some((function(t,e){return t!==l[e]}))){var c=t.model.categories.slice().sort((function(t,e){return t.displayInd-e.displayInd})),u=c.map((function(t){return t.categoryValue})),f=c.map((function(t){return t.categoryLabel}));e["dimensions["+t.model.containerInd+"].categoryarray"]=[u],e["dimensions["+t.model.containerInd+"].ticktext"]=[f],e["dimensions["+t.model.containerInd+"].categoryorder"]="array"}}if(-1===t.parcatsViewModel.hoverinfoItems.indexOf("skip")&&!t.dragHasMoved&&t.potentialClickBand&&("color"===t.parcatsViewModel.hoveron?A(t.potentialClickBand,"plotly_click",n.event.sourceEvent):M(t.potentialClickBand,"plotly_click",n.event.sourceEvent)),t.model.dragX=null,null!==t.dragCategoryDisplayInd)t.parcatsViewModel.dimensions[t.dragDimensionDisplayInd].categories[t.dragCategoryDisplayInd].model.dragY=null,t.dragCategoryDisplayInd=null;t.dragDimensionDisplayInd=null,t.parcatsViewModel.dragDimension=null,t.dragHasMoved=null,t.potentialClickBand=null,N(t.parcatsViewModel),B(t.parcatsViewModel),n.transition().duration(300).ease("cubic-in-out").each((function(){D(t.parcatsViewModel,!0),O(t.parcatsViewModel,!0)})).each("end",(function(){(o||s)&&i.restyle(t.parcatsViewModel.graphDiv,e,[r])}))}}function z(t){for(var e,r=t.graphDiv._fullData,n=0;n<r.length;n++)if(t.key===r[n].uid){e=n;break}return e}function O(t,e){var r;void 0===e&&(e=!1),t.pathSelection.data((function(t){return t.paths}),h),(r=t.pathSelection,e?r.transition():r).attr("d",(function(t){return t.svgD}))}function D(t,e){function r(t){return e?t.transition():t}void 0===e&&(e=!1),t.dimensionSelection.data((function(t){return t.dimensions}),h);var i=t.dimensionSelection.selectAll("g.category").data((function(t){return t.categories}),h);r(t.dimensionSelection).attr("transform",(function(t){return s(t.x,0)})),r(i).attr("transform",(function(t){return s(0,t.y)})),i.select(".dimlabel").text((function(t,e){return 0===e?t.parcatsViewModel.model.dimensions[t.model.dimensionInd].dimensionLabel:null})),i.select(".catlabel").attr("text-anchor",(function(t){return p(t)?"start":"end"})).attr("x",(function(t){return p(t)?t.width+5:-5})).each((function(t){var e,r;p(t)?(e=t.width+5,r="start"):(e=-5,r="end"),n.select(this).selectAll("tspan").attr("x",e).attr("text-anchor",r)}));var a=i.selectAll("rect.bandrect").data((function(t){return t.bands}),h),l=a.enter().append("rect").attr("class","bandrect").attr("cursor","move").attr("stroke-opacity",0).attr("fill",(function(t){return t.color})).attr("fill-opacity",0);a.attr("fill",(function(t){return t.color})).attr("width",(function(t){return t.width})).attr("height",(function(t){return t.height})).attr("y",(function(t){return t.y})),T(l),a.each((function(){o.raiseToTop(this)})),a.exit().remove()}function R(t,e,r){var n,i=r[0],a=e.margin||{l:80,r:80,t:100,b:80},o=i.trace,s=o.domain,l=e.width,c=e.height,u=Math.floor(l*(s.x[1]-s.x[0])),f=Math.floor(c*(s.y[1]-s.y[0])),h=s.x[0]*l+a.l,p=e.height-s.y[1]*e.height+a.t,d=o.line.shape;n="all"===o.hoverinfo?["count","probability"]:(o.hoverinfo||"").split("+");var g={trace:o,key:o.uid,model:i,x:h,y:p,width:u,height:f,hoveron:o.hoveron,hoverinfoItems:n,arrangement:o.arrangement,bundlecolors:o.bundlecolors,sortpaths:o.sortpaths,labelfont:o.labelfont,categorylabelfont:o.tickfont,pathShape:d,dragDimension:null,margin:a,paths:[],dimensions:[],graphDiv:t,traceSelection:null,pathSelection:null,dimensionSelection:null};return i.dimensions&&(N(g),B(g)),g}function F(t,e,r,i,a){var o,s,l=[],c=[];for(s=0;s<r.length-1;s++)o=n.interpolateNumber(r[s]+t[s],t[s+1]),l.push(o(a)),c.push(o(1-a));var u="M "+t[0]+","+e[0];for(u+="l"+r[0]+",0 ",s=1;s<r.length;s++)u+="C"+l[s-1]+","+e[s-1]+" "+c[s-1]+","+e[s]+" "+t[s]+","+e[s],u+="l"+r[s]+",0 ";for(u+="l0,"+i+" ",u+="l -"+r[r.length-1]+",0 ",s=r.length-2;s>=0;s--)u+="C"+c[s]+","+(e[s+1]+i)+" "+l[s]+","+(e[s]+i)+" "+(t[s]+r[s])+","+(e[s]+i),u+="l-"+r[s]+",0 ";return u+="Z"}function B(t){var e=t.dimensions,r=t.model,n=e.map((function(t){return t.categories.map((function(t){return t.y}))})),i=t.model.dimensions.map((function(t){return t.categories.map((function(t){return t.displayInd}))})),a=t.model.dimensions.map((function(t){return t.displayInd})),o=t.dimensions.map((function(t){return t.model.dimensionInd})),s=e.map((function(t){return t.x})),l=e.map((function(t){return t.width})),c=[];for(var u in r.paths)r.paths.hasOwnProperty(u)&&c.push(r.paths[u]);function f(t){var e=t.categoryInds.map((function(t,e){return i[e][t]}));return o.map((function(t){return e[t]}))}c.sort((function(e,r){var n=f(e),i=f(r);return"backward"===t.sortpaths&&(n.reverse(),i.reverse()),n.push(e.valueInds[0]),i.push(r.valueInds[0]),t.bundlecolors&&(n.unshift(e.rawColor),i.unshift(r.rawColor)),n<i?-1:n>i?1:0}));for(var h=new Array(c.length),p=e[0].model.count,d=e[0].categories.map((function(t){return t.height})).reduce((function(t,e){return t+e})),g=0;g<c.length;g++){var m,v=c[g];m=p>0?d*(v.count/p):0;for(var y,x=new Array(n.length),b=0;b<v.categoryInds.length;b++){var _=v.categoryInds[b],w=i[b][_],T=a[b];x[T]=n[T][w],n[T][w]+=m;var k=t.dimensions[T].categories[w],M=k.bands.length,A=k.bands[M-1];if(void 0===A||v.rawColor!==A.rawColor){var S=void 0===A?0:A.y+A.height;k.bands.push({key:S,color:v.color,rawColor:v.rawColor,height:m,width:k.width,count:v.count,y:S,categoryViewModel:k,parcatsViewModel:t})}else{var E=k.bands[M-1];E.height+=m,E.count+=v.count}}y="hspline"===t.pathShape?F(s,x,l,m,.5):F(s,x,l,m,0),h[g]={key:v.valueInds[0],model:v,height:m,leftXs:s,topYs:x,dimWidths:l,svgD:y,parcatsViewModel:t}}t.paths=h}function N(t){var e=t.model.dimensions.map((function(t){return{displayInd:t.displayInd,dimensionInd:t.dimensionInd}}));e.sort((function(t,e){return t.displayInd-e.displayInd}));var r=[];for(var n in e){var i=e[n].dimensionInd,a=t.model.dimensions[i];r.push(j(t,a))}t.dimensions=r}function j(t,e){var r,n=t.model.dimensions.length,i=e.displayInd;r=40+(n>1?(t.width-80-16)/(n-1):0)*i;var a,o,s,l,c,u=[],f=t.model.maxCats,h=e.categories.length,p=e.count,d=t.height-8*(f-1),g=8*(f-h)/2,m=e.categories.map((function(t){return{displayInd:t.displayInd,categoryInd:t.categoryInd}}));for(m.sort((function(t,e){return t.displayInd-e.displayInd})),c=0;c<h;c++)l=m[c].categoryInd,o=e.categories[l],a=p>0?o.count/p*d:0,s={key:o.valueInds[0],model:o,width:16,height:a,y:null!==o.dragY?o.dragY:g,bands:[],parcatsViewModel:t},g=g+a+8,u.push(s);return{key:e.dimensionInd,x:null!==e.dragX?e.dragX:r,y:0,width:16,model:e,categories:u,parcatsViewModel:t,dragCategoryDisplayInd:null,dragDimensionDisplayInd:null,initialDragDimensionDisplayInds:null,initialDragCategoryDisplayInds:null,dragHasMoved:null,potentialClickBand:null}}e.exports=function(t,e,r,n){f(r,t,n,e)}},{"../../components/drawing":665,"../../components/fx":683,"../../lib":778,"../../lib/svg_text_utils":803,"../../plot_api/plot_api":814,d3:169,tinycolor2:576}],1148:[function(t,e,r){"use strict";var n=t("./parcats");e.exports=function(t,e,r,i){var a=t._fullLayout,o=a._paper,s=a._size;n(t,o,e,{width:s.w,height:s.h,margin:{t:s.t,r:s.r,b:s.b,l:s.l}},r,i)}},{"./parcats":1147}],1149:[function(t,e,r){"use strict";var n=t("../../components/colorscale/attributes"),i=t("../../plots/cartesian/layout_attributes"),a=t("../../plots/font_attributes"),o=t("../../plots/domain").attributes,s=t("../../lib/extend").extendFlat,l=t("../../plot_api/plot_template").templatedArray;e.exports={domain:o({name:"parcoords",trace:!0,editType:"plot"}),labelangle:{valType:"angle",dflt:0,editType:"plot"},labelside:{valType:"enumerated",values:["top","bottom"],dflt:"top",editType:"plot"},labelfont:a({editType:"plot"}),tickfont:a({editType:"plot"}),rangefont:a({editType:"plot"}),dimensions:l("dimension",{label:{valType:"string",editType:"plot"},tickvals:s({},i.tickvals,{editType:"plot"}),ticktext:s({},i.ticktext,{editType:"plot"}),tickformat:s({},i.tickformat,{editType:"plot"}),visible:{valType:"boolean",dflt:!0,editType:"plot"},range:{valType:"info_array",items:[{valType:"number",editType:"plot"},{valType:"number",editType:"plot"}],editType:"plot"},constraintrange:{valType:"info_array",freeLength:!0,dimensions:"1-2",items:[{valType:"number",editType:"plot"},{valType:"number",editType:"plot"}],editType:"plot"},multiselect:{valType:"boolean",dflt:!0,editType:"plot"},values:{valType:"data_array",editType:"calc"},editType:"calc"}),line:s({editType:"calc"},n("line",{colorscaleDflt:"Viridis",autoColorDflt:!1,editTypeOverride:"calc"}))}},{"../../components/colorscale/attributes":650,"../../lib/extend":768,"../../plot_api/plot_template":817,"../../plots/cartesian/layout_attributes":842,"../../plots/domain":855,"../../plots/font_attributes":856}],1150:[function(t,e,r){"use strict";var n=t("./constants"),i=t("d3"),a=t("../../lib/gup").keyFun,o=t("../../lib/gup").repeat,s=t("../../lib").sorterAsc,l=t("../../lib").strTranslate,c=n.bar.snapRatio;function u(t,e){return t*(1-c)+e*c}var f=n.bar.snapClose;function h(t,e){return t*(1-f)+e*f}function p(t,e,r,n){if(function(t,e){for(var r=0;r<e.length;r++)if(t>=e[r][0]&&t<=e[r][1])return!0;return!1}(r,n))return r;var i=t?-1:1,a=0,o=e.length-1;if(i<0){var s=a;a=o,o=s}for(var l=e[a],c=l,f=a;i*f<i*o;f+=i){var p=f+i,d=e[p];if(i*r<i*h(l,d))return u(l,c);if(i*r<i*d||p===o)return u(d,l);c=l,l=d}}function d(t){t.attr("x",-n.bar.captureWidth/2).attr("width",n.bar.captureWidth)}function g(t){t.attr("visibility","visible").style("visibility","visible").attr("fill","yellow").attr("opacity",0)}function m(t){if(!t.brush.filterSpecified)return"0,"+t.height;for(var e,r,n,i=v(t.brush.filter.getConsolidated(),t.height),a=[0],o=i.length?i[0][0]:null,s=0;s<i.length;s++)r=(e=i[s])[1]-e[0],a.push(o),a.push(r),(n=s+1)<i.length&&(o=i[n][0]-e[1]);return a.push(t.height),a}function v(t,e){return t.map((function(t){return t.map((function(t){return Math.max(0,t*e)})).sort(s)}))}function y(){i.select(document.body).style("cursor",null)}function x(t){t.attr("stroke-dasharray",m)}function b(t,e){var r=i.select(t).selectAll(".highlight, .highlight-shadow");x(e?r.transition().duration(n.bar.snapDuration).each("end",e):r)}function _(t,e){var r,i=t.brush,a=NaN,o={};if(i.filterSpecified){var s=t.height,l=i.filter.getConsolidated(),c=v(l,s),u=NaN,f=NaN,h=NaN;for(r=0;r<=c.length;r++){var p=c[r];if(p&&p[0]<=e&&e<=p[1]){u=r;break}if(f=r?r-1:NaN,p&&p[0]>e){h=r;break}}if(a=u,isNaN(a)&&(a=isNaN(f)||isNaN(h)?isNaN(f)?h:f:e-c[f][1]<c[h][0]-e?f:h),!isNaN(a)){var d=c[a],g=function(t,e){var r=n.bar.handleHeight;if(!(e>t[1]+r||e<t[0]-r))return e>=.9*t[1]+.1*t[0]?"n":e<=.9*t[0]+.1*t[1]?"s":"ns"}(d,e);g&&(o.interval=l[a],o.intervalPix=d,o.region=g)}}if(t.ordinal&&!o.region){var m=t.unitTickvals,y=t.unitToPaddedPx.invert(e);for(r=0;r<m.length;r++){var x=[.25*m[Math.max(r-1,0)]+.75*m[r],.25*m[Math.min(r+1,m.length-1)]+.75*m[r]];if(y>=x[0]&&y<=x[1]){o.clickableOrdinalRange=x;break}}}return o}function w(t,e){i.event.sourceEvent.stopPropagation();var r=e.height-i.mouse(t)[1]-2*n.verticalPadding,a=e.brush.svgBrush;a.wasDragged=!0,a._dragging=!0,a.grabbingBar?a.newExtent=[r-a.grabPoint,r+a.barLength-a.grabPoint].map(e.unitToPaddedPx.invert):a.newExtent=[a.startExtent,e.unitToPaddedPx.invert(r)].sort(s),e.brush.filterSpecified=!0,a.extent=a.stayingIntervals.concat([a.newExtent]),a.brushCallback(e),b(t.parentNode)}function T(t,e){var r=_(e,e.height-i.mouse(t)[1]-2*n.verticalPadding),a="crosshair";r.clickableOrdinalRange?a="pointer":r.region&&(a=r.region+"-resize"),i.select(document.body).style("cursor",a)}function k(t){t.on("mousemove",(function(t){i.event.preventDefault(),t.parent.inBrushDrag||T(this,t)})).on("mouseleave",(function(t){t.parent.inBrushDrag||y()})).call(i.behavior.drag().on("dragstart",(function(t){!function(t,e){i.event.sourceEvent.stopPropagation();var r=e.height-i.mouse(t)[1]-2*n.verticalPadding,a=e.unitToPaddedPx.invert(r),o=e.brush,s=_(e,r),l=s.interval,c=o.svgBrush;if(c.wasDragged=!1,c.grabbingBar="ns"===s.region,c.grabbingBar){var u=l.map(e.unitToPaddedPx);c.grabPoint=r-u[0]-n.verticalPadding,c.barLength=u[1]-u[0]}c.clickableOrdinalRange=s.clickableOrdinalRange,c.stayingIntervals=e.multiselect&&o.filterSpecified?o.filter.getConsolidated():[],l&&(c.stayingIntervals=c.stayingIntervals.filter((function(t){return t[0]!==l[0]&&t[1]!==l[1]}))),c.startExtent=s.region?l["s"===s.region?1:0]:a,e.parent.inBrushDrag=!0,c.brushStartCallback()}(this,t)})).on("drag",(function(t){w(this,t)})).on("dragend",(function(t){!function(t,e){var r=e.brush,n=r.filter,a=r.svgBrush;a._dragging||(T(t,e),w(t,e),e.brush.svgBrush.wasDragged=!1),a._dragging=!1,i.event.sourceEvent.stopPropagation();var o=a.grabbingBar;if(a.grabbingBar=!1,a.grabLocation=void 0,e.parent.inBrushDrag=!1,y(),!a.wasDragged)return a.wasDragged=void 0,a.clickableOrdinalRange?r.filterSpecified&&e.multiselect?a.extent.push(a.clickableOrdinalRange):(a.extent=[a.clickableOrdinalRange],r.filterSpecified=!0):o?(a.extent=a.stayingIntervals,0===a.extent.length&&A(r)):A(r),a.brushCallback(e),b(t.parentNode),void a.brushEndCallback(r.filterSpecified?n.getConsolidated():[]);var s=function(){n.set(n.getConsolidated())};if(e.ordinal){var l=e.unitTickvals;l[l.length-1]<l[0]&&l.reverse(),a.newExtent=[p(0,l,a.newExtent[0],a.stayingIntervals),p(1,l,a.newExtent[1],a.stayingIntervals)];var c=a.newExtent[1]>a.newExtent[0];a.extent=a.stayingIntervals.concat(c?[a.newExtent]:[]),a.extent.length||A(r),a.brushCallback(e),c?b(t.parentNode,s):(s(),b(t.parentNode))}else s();a.brushEndCallback(r.filterSpecified?n.getConsolidated():[])}(this,t)})))}function M(t,e){return t[0]-e[0]}function A(t){t.filterSpecified=!1,t.svgBrush.extent=[[-1/0,1/0]]}function S(t){for(var e,r=t.slice(),n=[],i=r.shift();i;){for(e=i.slice();(i=r.shift())&&i[0]<=e[1];)e[1]=Math.max(e[1],i[1]);n.push(e)}return 1===n.length&&n[0][0]>n[0][1]&&(n=[]),n}e.exports={makeBrush:function(t,e,r,n,i,a){var o,l=function(){var t,e,r=[];return{set:function(n){1===(r=n.map((function(t){return t.slice().sort(s)})).sort(M)).length&&r[0][0]===-1/0&&r[0][1]===1/0&&(r=[[0,-1]]),t=S(r),e=r.reduce((function(t,e){return[Math.min(t[0],e[0]),Math.max(t[1],e[1])]}),[1/0,-1/0])},get:function(){return r.slice()},getConsolidated:function(){return t},getBounds:function(){return e}}}();return l.set(r),{filter:l,filterSpecified:e,svgBrush:{extent:[],brushStartCallback:n,brushCallback:(o=i,function(t){var e=t.brush,r=function(t){return t.svgBrush.extent.map((function(t){return t.slice()}))}(e).slice();e.filter.set(r),o()}),brushEndCallback:a}}},ensureAxisBrush:function(t){var e=t.selectAll("."+n.cn.axisBrush).data(o,a);e.enter().append("g").classed(n.cn.axisBrush,!0),function(t){var e=t.selectAll(".background").data(o);e.enter().append("rect").classed("background",!0).call(d).call(g).style("pointer-events","auto").attr("transform",l(0,n.verticalPadding)),e.call(k).attr("height",(function(t){return t.height-n.verticalPadding}));var r=t.selectAll(".highlight-shadow").data(o);r.enter().append("line").classed("highlight-shadow",!0).attr("x",-n.bar.width/2).attr("stroke-width",n.bar.width+n.bar.strokeWidth).attr("stroke",n.bar.strokeColor).attr("opacity",n.bar.strokeOpacity).attr("stroke-linecap","butt"),r.attr("y1",(function(t){return t.height})).call(x);var i=t.selectAll(".highlight").data(o);i.enter().append("line").classed("highlight",!0).attr("x",-n.bar.width/2).attr("stroke-width",n.bar.width-n.bar.strokeWidth).attr("stroke",n.bar.fillColor).attr("opacity",n.bar.fillOpacity).attr("stroke-linecap","butt"),i.attr("y1",(function(t){return t.height})).call(x)}(e)},cleanRanges:function(t,e){if(Array.isArray(t[0])?(t=t.map((function(t){return t.sort(s)})),t=e.multiselect?S(t.sort(M)):[t[0]]):t=[t.sort(s)],e.tickvals){var r=e.tickvals.slice().sort(s);if(!(t=t.map((function(t){var e=[p(0,r,t[0],[]),p(1,r,t[1],[])];if(e[1]>e[0])return e})).filter((function(t){return t}))).length)return}return t.length>1?t:t[0]}}},{"../../lib":778,"../../lib/gup":775,"./constants":1153,d3:169}],1151:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../plots/get_data").getModuleCalcData,a=t("./plot"),o=t("../../constants/xmlns_namespaces");r.name="parcoords",r.plot=function(t){var e=i(t.calcdata,"parcoords")[0];e.length&&a(t,e)},r.clean=function(t,e,r,n){var i=n._has&&n._has("parcoords"),a=e._has&&e._has("parcoords");i&&!a&&(n._paperdiv.selectAll(".parcoords").remove(),n._glimages.selectAll("*").remove())},r.toSVG=function(t){var e=t._fullLayout._glimages,r=n.select(t).selectAll(".svg-container");r.filter((function(t,e){return e===r.size()-1})).selectAll(".gl-canvas-context, .gl-canvas-focus").each((function(){var t=this.toDataURL("image/png");e.append("svg:image").attr({xmlns:o.svg,"xlink:href":t,preserveAspectRatio:"none",x:0,y:0,width:this.width,height:this.height})})),window.setTimeout((function(){n.selectAll("#filterBarPattern").attr("id","filterBarPattern")}),60)}},{"../../constants/xmlns_namespaces":754,"../../plots/get_data":865,"./plot":1160,d3:169}],1152:[function(t,e,r){"use strict";var n=t("../../lib").isArrayOrTypedArray,i=t("../../components/colorscale"),a=t("../../lib/gup").wrap;e.exports=function(t,e){var r,o;return i.hasColorscale(e,"line")&&n(e.line.color)?(r=e.line.color,o=i.extractOpts(e.line).colorscale,i.calc(t,e,{vals:r,containerStr:"line",cLetter:"c"})):(r=function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=.5;return e}(e._length),o=[[0,e.line.color],[1,e.line.color]]),a({lineColor:r,cscale:o})}},{"../../components/colorscale":655,"../../lib":778,"../../lib/gup":775}],1153:[function(t,e,r){"use strict";e.exports={maxDimensionCount:60,overdrag:45,verticalPadding:2,tickDistance:50,canvasPixelRatio:1,blockLineCount:5e3,layers:["contextLineLayer","focusLineLayer","pickLineLayer"],axisTitleOffset:28,axisExtentOffset:10,deselectedLineColor:"#777",bar:{width:4,captureWidth:10,fillColor:"magenta",fillOpacity:1,snapDuration:150,snapRatio:.25,snapClose:.01,strokeColor:"white",strokeOpacity:1,strokeWidth:1,handleHeight:8,handleOpacity:1,handleOverlap:0},cn:{axisExtentText:"axis-extent-text",parcoordsLineLayers:"parcoords-line-layers",parcoordsLineLayer:"parcoords-lines",parcoords:"parcoords",parcoordsControlView:"parcoords-control-view",yAxis:"y-axis",axisOverlays:"axis-overlays",axis:"axis",axisHeading:"axis-heading",axisTitle:"axis-title",axisExtent:"axis-extent",axisExtentTop:"axis-extent-top",axisExtentTopText:"axis-extent-top-text",axisExtentBottom:"axis-extent-bottom",axisExtentBottomText:"axis-extent-bottom-text",axisBrush:"axis-brush"},id:{filterBarPattern:"filter-bar-pattern"}}},{}],1154:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../components/colorscale/helpers").hasColorscale,a=t("../../components/colorscale/defaults"),o=t("../../plots/domain").defaults,s=t("../../plots/array_container_defaults"),l=t("../../plots/cartesian/axes"),c=t("./attributes"),u=t("./axisbrush"),f=t("./constants").maxDimensionCount,h=t("./merge_length");function p(t,e,r,i){function a(r,i){return n.coerce(t,e,c.dimensions,r,i)}var o=a("values"),s=a("visible");if(o&&o.length||(s=e.visible=!1),s){a("label"),a("tickvals"),a("ticktext"),a("tickformat");var f=a("range");e._ax={_id:"y",type:"linear",showexponent:"all",exponentformat:"B",range:f},l.setConvert(e._ax,i.layout),a("multiselect");var h=a("constraintrange");h&&(e.constraintrange=u.cleanRanges(h,e))}}e.exports=function(t,e,r,l){function u(r,i){return n.coerce(t,e,c,r,i)}var d=t.dimensions;Array.isArray(d)&&d.length>f&&(n.log("parcoords traces support up to "+f+" dimensions at the moment"),d.splice(f));var g=s(t,e,{name:"dimensions",layout:l,handleItemDefaults:p}),m=function(t,e,r,o,s){var l=s("line.color",r);if(i(t,"line")&&n.isArrayOrTypedArray(l)){if(l.length)return s("line.colorscale"),a(t,e,o,s,{prefix:"line.",cLetter:"c"}),l.length;e.line.color=r}return 1/0}(t,e,r,l,u);o(e,l,u),Array.isArray(g)&&g.length||(e.visible=!1),h(e,g,"values",m);var v={family:l.font.family,size:Math.round(l.font.size/1.2),color:l.font.color};n.coerceFont(u,"labelfont",v),n.coerceFont(u,"tickfont",v),n.coerceFont(u,"rangefont",v),u("labelangle"),u("labelside")}},{"../../components/colorscale/defaults":653,"../../components/colorscale/helpers":654,"../../lib":778,"../../plots/array_container_defaults":823,"../../plots/cartesian/axes":828,"../../plots/domain":855,"./attributes":1149,"./axisbrush":1150,"./constants":1153,"./merge_length":1158}],1155:[function(t,e,r){"use strict";var n=t("../../lib").isTypedArray;r.convertTypedArray=function(t){return n(t)?Array.prototype.slice.call(t):t},r.isOrdinal=function(t){return!!t.tickvals},r.isVisible=function(t){return t.visible||!("visible"in t)}},{"../../lib":778}],1156:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),calc:t("./calc"),plot:t("./plot"),colorbar:{container:"line",min:"cmin",max:"cmax"},moduleType:"trace",name:"parcoords",basePlotModule:t("./base_plot"),categories:["gl","regl","noOpacity","noHover"],meta:{}}},{"./attributes":1149,"./base_plot":1151,"./calc":1152,"./defaults":1154,"./plot":1160}],1157:[function(t,e,r){"use strict";var n=t("glslify"),i=n(["precision highp float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor;\n\nattribute vec4 p01_04, p05_08, p09_12, p13_16,\n p17_20, p21_24, p25_28, p29_32,\n p33_36, p37_40, p41_44, p45_48,\n p49_52, p53_56, p57_60, colors;\n\nuniform mat4 dim0A, dim1A, dim0B, dim1B, dim0C, dim1C, dim0D, dim1D,\n loA, hiA, loB, hiB, loC, hiC, loD, hiD;\n\nuniform vec2 resolution, viewBoxPos, viewBoxSize;\nuniform sampler2D mask, palette;\nuniform float maskHeight;\nuniform float drwLayer; // 0: context, 1: focus, 2: pick\nuniform vec4 contextColor;\n\nbool isPick = (drwLayer > 1.5);\nbool isContext = (drwLayer < 0.5);\n\nconst vec4 ZEROS = vec4(0.0, 0.0, 0.0, 0.0);\nconst vec4 UNITS = vec4(1.0, 1.0, 1.0, 1.0);\n\nfloat val(mat4 p, mat4 v) {\n return dot(matrixCompMult(p, v) * UNITS, UNITS);\n}\n\nfloat axisY(float ratio, mat4 A, mat4 B, mat4 C, mat4 D) {\n float y1 = val(A, dim0A) + val(B, dim0B) + val(C, dim0C) + val(D, dim0D);\n float y2 = val(A, dim1A) + val(B, dim1B) + val(C, dim1C) + val(D, dim1D);\n return y1 * (1.0 - ratio) + y2 * ratio;\n}\n\nint iMod(int a, int b) {\n return a - b * (a / b);\n}\n\nbool fOutside(float p, float lo, float hi) {\n return (lo < hi) && (lo > p || p > hi);\n}\n\nbool vOutside(vec4 p, vec4 lo, vec4 hi) {\n return (\n fOutside(p[0], lo[0], hi[0]) ||\n fOutside(p[1], lo[1], hi[1]) ||\n fOutside(p[2], lo[2], hi[2]) ||\n fOutside(p[3], lo[3], hi[3])\n );\n}\n\nbool mOutside(mat4 p, mat4 lo, mat4 hi) {\n return (\n vOutside(p[0], lo[0], hi[0]) ||\n vOutside(p[1], lo[1], hi[1]) ||\n vOutside(p[2], lo[2], hi[2]) ||\n vOutside(p[3], lo[3], hi[3])\n );\n}\n\nbool outsideBoundingBox(mat4 A, mat4 B, mat4 C, mat4 D) {\n return mOutside(A, loA, hiA) ||\n mOutside(B, loB, hiB) ||\n mOutside(C, loC, hiC) ||\n mOutside(D, loD, hiD);\n}\n\nbool outsideRasterMask(mat4 A, mat4 B, mat4 C, mat4 D) {\n mat4 pnts[4];\n pnts[0] = A;\n pnts[1] = B;\n pnts[2] = C;\n pnts[3] = D;\n\n for(int i = 0; i < 4; ++i) {\n for(int j = 0; j < 4; ++j) {\n for(int k = 0; k < 4; ++k) {\n if(0 == iMod(\n int(255.0 * texture2D(mask,\n vec2(\n (float(i * 2 + j / 2) + 0.5) / 8.0,\n (pnts[i][j][k] * (maskHeight - 1.0) + 1.0) / maskHeight\n ))[3]\n ) / int(pow(2.0, float(iMod(j * 4 + k, 8)))),\n 2\n )) return true;\n }\n }\n }\n return false;\n}\n\nvec4 position(bool isContext, float v, mat4 A, mat4 B, mat4 C, mat4 D) {\n float x = 0.5 * sign(v) + 0.5;\n float y = axisY(x, A, B, C, D);\n float z = 1.0 - abs(v);\n\n z += isContext ? 0.0 : 2.0 * float(\n outsideBoundingBox(A, B, C, D) ||\n outsideRasterMask(A, B, C, D)\n );\n\n return vec4(\n 2.0 * (vec2(x, y) * viewBoxSize + viewBoxPos) / resolution - 1.0,\n z,\n 1.0\n );\n}\n\nvoid main() {\n mat4 A = mat4(p01_04, p05_08, p09_12, p13_16);\n mat4 B = mat4(p17_20, p21_24, p25_28, p29_32);\n mat4 C = mat4(p33_36, p37_40, p41_44, p45_48);\n mat4 D = mat4(p49_52, p53_56, p57_60, ZEROS);\n\n float v = colors[3];\n\n gl_Position = position(isContext, v, A, B, C, D);\n\n fragColor =\n isContext ? vec4(contextColor) :\n isPick ? vec4(colors.rgb, 1.0) : texture2D(palette, vec2(abs(v), 0.5));\n}\n"]),a=n(["precision highp float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor;\n\nvoid main() {\n gl_FragColor = fragColor;\n}\n"]),o=t("./constants").maxDimensionCount,s=t("../../lib"),l=new Uint8Array(4),c=new Uint8Array(4),u={shape:[256,1],format:"rgba",type:"uint8",mag:"nearest",min:"nearest"};function f(t,e,r,n,i){var a=t._gl;a.enable(a.SCISSOR_TEST),a.scissor(e,r,n,i),t.clear({color:[0,0,0,0],depth:1})}function h(t,e,r,n,i,a){var o=a.key;r.drawCompleted||(!function(t){t.read({x:0,y:0,width:1,height:1,data:l})}(t),r.drawCompleted=!0),function s(l){var c=Math.min(n,i-l*n);0===l&&(window.cancelAnimationFrame(r.currentRafs[o]),delete r.currentRafs[o],f(t,a.scissorX,a.scissorY,a.scissorWidth,a.viewBoxSize[1])),r.clearOnly||(a.count=2*c,a.offset=2*l*n,e(a),l*n+c<i&&(r.currentRafs[o]=window.requestAnimationFrame((function(){s(l+1)}))),r.drawCompleted=!1)}(0)}function p(t,e){for(var r=new Array(256),n=0;n<256;n++)r[n]=t(n/255).concat(e);return r}function d(t,e){return(t>>>8*e)%256/255}function g(t,e,r){for(var n=new Array(8*e),i=0,a=0;a<e;a++)for(var o=0;o<2;o++)for(var s=0;s<4;s++){var l=4*t+s,c=r[64*a+l];63===l&&0===o&&(c*=-1),n[i++]=c}return n}function m(t){var e="0"+t;return e.substr(e.length-2)}function v(t){return t<o?"p"+m(t+1)+"_"+m(t+4):"colors"}function y(t,e,r,n,i,a,o,l,c,u,f,h,p){for(var d=[[],[]],g=0;g<64;g++)d[0][g]=g===i?1:0,d[1][g]=g===a?1:0;var m=t.lines.canvasOverdrag,v=t.domain,y=t.canvasWidth,x=t.canvasHeight,b=t.deselectedLines.color;return s.extendFlat({key:f,resolution:[y,x],viewBoxPos:[o+m,l],viewBoxSize:[c,u],i0:i,i1:a,dim0A:d[0].slice(0,16),dim0B:d[0].slice(16,32),dim0C:d[0].slice(32,48),dim0D:d[0].slice(48,64),dim1A:d[1].slice(0,16),dim1B:d[1].slice(16,32),dim1C:d[1].slice(32,48),dim1D:d[1].slice(48,64),drwLayer:h,contextColor:[b[0]/255,b[1]/255,b[2]/255,b[3]<1?b[3]:Math.max(1/255,Math.pow(1/t.lines.color.length,1/3))],scissorX:(n===e?0:o+m)+(t.pad.l-m)+t.layoutWidth*v.x[0],scissorWidth:(n===r?y-o+m:c+.5)+(n===e?o+m:0),scissorY:l+t.pad.b+t.layoutHeight*v.y[0],scissorHeight:u,viewportX:t.pad.l-m+t.layoutWidth*v.x[0],viewportY:t.pad.b+t.layoutHeight*v.y[0],viewportWidth:y,viewportHeight:x},p)}function x(t){var e=Math.max(0,Math.floor(2047*t[0]),0),r=Math.min(2047,Math.ceil(2047*t[1]),2047);return[Math.min(e,r),Math.max(e,r)]}e.exports=function(t,e){var r,n,l,m,b,_=e.context,w=e.pick,T=e.regl,k={currentRafs:{},drawCompleted:!0,clearOnly:!1},M=function(t){for(var e={},r=0;r<=o;r+=4)e[v(r)]=t.buffer({usage:"dynamic",type:"float",data:new Uint8Array(0)});return e}(T),A=T.texture(u),S=[];C(e);var E=T({profile:!1,blend:{enable:_,func:{srcRGB:"src alpha",dstRGB:"one minus src alpha",srcAlpha:1,dstAlpha:1},equation:{rgb:"add",alpha:"add"},color:[0,0,0,0]},depth:{enable:!_,mask:!0,func:"less",range:[0,1]},cull:{enable:!0,face:"back"},scissor:{enable:!0,box:{x:T.prop("scissorX"),y:T.prop("scissorY"),width:T.prop("scissorWidth"),height:T.prop("scissorHeight")}},viewport:{x:T.prop("viewportX"),y:T.prop("viewportY"),width:T.prop("viewportWidth"),height:T.prop("viewportHeight")},dither:!1,vert:i,frag:a,primitive:"lines",lineWidth:1,attributes:M,uniforms:{resolution:T.prop("resolution"),viewBoxPos:T.prop("viewBoxPos"),viewBoxSize:T.prop("viewBoxSize"),dim0A:T.prop("dim0A"),dim1A:T.prop("dim1A"),dim0B:T.prop("dim0B"),dim1B:T.prop("dim1B"),dim0C:T.prop("dim0C"),dim1C:T.prop("dim1C"),dim0D:T.prop("dim0D"),dim1D:T.prop("dim1D"),loA:T.prop("loA"),hiA:T.prop("hiA"),loB:T.prop("loB"),hiB:T.prop("hiB"),loC:T.prop("loC"),hiC:T.prop("hiC"),loD:T.prop("loD"),hiD:T.prop("hiD"),palette:A,contextColor:T.prop("contextColor"),mask:T.prop("maskTexture"),drwLayer:T.prop("drwLayer"),maskHeight:T.prop("maskHeight")},offset:T.prop("offset"),count:T.prop("count")});function C(t){r=t.model,n=t.viewModel,l=n.dimensions.slice(),m=l[0]?l[0].values.length:0;var e=r.lines,i=w?e.color.map((function(t,r){return r/e.color.length})):e.color,a=function(t,e,r){for(var n,i=new Array(t*(o+4)),a=0,s=0;s<t;s++){for(var l=0;l<o;l++)i[a++]=l<e.length?e[l].paddedUnitValues[s]:.5;i[a++]=d(s,2),i[a++]=d(s,1),i[a++]=d(s,0),i[a++]=(n=r[s],Math.max(1e-6,Math.min(.999999,n)))}return i}(m,l,i);!function(t,e,r){for(var n=0;n<=o;n+=4)t[v(n)](g(n/4,e,r))}(M,m,a),_||w||(A=T.texture(s.extendFlat({data:p(r.unitToColor,255)},u)))}return{render:function(t,e,n){var i,a,o,s=t.length,c=1/0,u=-1/0;for(i=0;i<s;i++)t[i].dim0.canvasX<c&&(c=t[i].dim0.canvasX,a=i),t[i].dim1.canvasX>u&&(u=t[i].dim1.canvasX,o=i);0===s&&f(T,0,0,r.canvasWidth,r.canvasHeight);var p=function(t){var e,r,n,i=[[],[]];for(n=0;n<64;n++){var a=!t&&n<l.length?l[n].brush.filter.getBounds():[-1/0,1/0];i[0][n]=a[0],i[1][n]=a[1]}var o=new Array(16384);for(e=0;e<16384;e++)o[e]=255;if(!t)for(e=0;e<l.length;e++){var s=e%8,c=(e-s)/8,u=Math.pow(2,s),f=l[e].brush.filter.get();if(!(f.length<2)){var h=x(f[0])[1];for(r=1;r<f.length;r++){var p=x(f[r]);for(n=h+1;n<p[0];n++)o[8*n+c]&=~u;h=Math.max(h,p[1])}}}var d={shape:[8,2048],format:"alpha",type:"uint8",mag:"nearest",min:"nearest",data:o};return b?b(d):b=T.texture(d),{maskTexture:b,maskHeight:2048,loA:i[0].slice(0,16),loB:i[0].slice(16,32),loC:i[0].slice(32,48),loD:i[0].slice(48,64),hiA:i[1].slice(0,16),hiB:i[1].slice(16,32),hiC:i[1].slice(32,48),hiD:i[1].slice(48,64)}}(_);for(i=0;i<s;i++){var d=t[i],g=d.dim0.crossfilterDimensionIndex,v=d.dim1.crossfilterDimensionIndex,M=d.canvasX,A=d.canvasY,C=M+d.panelSizeX;if(e||!S[g]||S[g][0]!==M||S[g][1]!==C){S[g]=[M,C];var L=y(r,a,o,i,g,v,M,A,d.panelSizeX,d.panelSizeY,d.dim0.crossfilterDimensionIndex,_?0:w?2:1,p);k.clearOnly=n;var I=e?r.lines.blockLineCount:m;h(T,E,k,I,m,L)}}},readPixel:function(t,e){return T.read({x:t,y:e,width:1,height:1,data:c}),c},readPixels:function(t,e,r,n){var i=new Uint8Array(4*r*n);return T.read({x:t,y:e,width:r,height:n,data:i}),i},destroy:function(){for(var e in t.style["pointer-events"]="none",A.destroy(),b&&b.destroy(),M)M[e].destroy()},update:C}}},{"../../lib":778,"./constants":1153,glslify:439}],1158:[function(t,e,r){"use strict";e.exports=function(t,e,r,n){var i,a;for(n||(n=1/0),i=0;i<e.length;i++)(a=e[i]).visible&&(n=Math.min(n,a[r].length));for(n===1/0&&(n=0),t._length=n,i=0;i<e.length;i++)(a=e[i]).visible&&(a._length=n);return n}},{}],1159:[function(t,e,r){"use strict";var n=t("d3"),i=t("color-rgba"),a=t("../../plots/cartesian/axes"),o=t("../../lib"),s=o.strRotate,l=o.strTranslate,c=t("../../lib/svg_text_utils"),u=t("../../components/drawing"),f=t("../../components/colorscale"),h=t("../../lib/gup"),p=h.keyFun,d=h.repeat,g=h.unwrap,m=t("./helpers"),v=t("./constants"),y=t("./axisbrush"),x=t("./lines");function b(t,e,r){return o.aggNums(t,null,e,r)}function _(t,e){return T(b(Math.min,t,e),b(Math.max,t,e))}function w(t){var e=t.range;return e?T(e[0],e[1]):_(t.values,t._length)}function T(t,e){return!isNaN(t)&&isFinite(t)||(t=0),!isNaN(e)&&isFinite(e)||(e=0),t===e&&(0===t?(t-=1,e+=1):(t*=.9,e*=1.1)),[t,e]}function k(t,e,r,i,a){var o,s,l=w(r);return i?n.scale.ordinal().domain(i.map((o=n.format(r.tickformat),s=a,s?function(t,e){var r=s[e];return null==r?o(t):r}:o))).range(i.map((function(r){var n=(r-l[0])/(l[1]-l[0]);return t-e+n*(2*e-t)}))):n.scale.linear().domain(l).range([t-e,e])}function M(t){if(t.tickvals){var e=w(t);return n.scale.ordinal().domain(t.tickvals).range(t.tickvals.map((function(t){return(t-e[0])/(e[1]-e[0])})))}}function A(t){var e=t.map((function(t){return t[0]})),r=t.map((function(t){var e=i(t[1]);return n.rgb("rgb("+e[0]+","+e[1]+","+e[2]+")")})),a="rgb".split("").map((function(t){return n.scale.linear().clamp(!0).domain(e).range(r.map((i=t,function(t){return t[i]})));var i}));return function(t){return a.map((function(e){return e(t)}))}}function S(t){return t.dimensions.some((function(t){return t.brush.filterSpecified}))}function E(t,e,r){var a=g(e),s=a.trace,l=m.convertTypedArray(a.lineColor),c=s.line,u={color:i(v.deselectedLineColor)},h=f.extractOpts(c),p=h.reversescale?f.flipScale(a.cscale):a.cscale,d=s.domain,y=s.dimensions,x=t.width,b=s.labelangle,_=s.labelside,T=s.labelfont,k=s.tickfont,M=s.rangefont,S=o.extendDeepNoArrays({},c,{color:l.map(n.scale.linear().domain(w({values:l,range:[h.min,h.max],_length:s._length}))),blockLineCount:v.blockLineCount,canvasOverdrag:v.overdrag*v.canvasPixelRatio}),E=Math.floor(x*(d.x[1]-d.x[0])),C=Math.floor(t.height*(d.y[1]-d.y[0])),L=t.margin||{l:80,r:80,t:100,b:80},I=E,P=C;return{key:r,colCount:y.filter(m.isVisible).length,dimensions:y,tickDistance:v.tickDistance,unitToColor:A(p),lines:S,deselectedLines:u,labelAngle:b,labelSide:_,labelFont:T,tickFont:k,rangeFont:M,layoutWidth:x,layoutHeight:t.height,domain:d,translateX:d.x[0]*x,translateY:t.height-d.y[1]*t.height,pad:L,canvasWidth:I*v.canvasPixelRatio+2*S.canvasOverdrag,canvasHeight:P*v.canvasPixelRatio,width:I,height:P,canvasPixelRatio:v.canvasPixelRatio}}function C(t,e,r){var i=r.width,a=r.height,s=r.dimensions,l=r.canvasPixelRatio,c=function(t){return i*t/Math.max(1,r.colCount-1)},u=v.verticalPadding/a,f=function(t,e){return n.scale.linear().range([e,t-e])}(a,v.verticalPadding),h={key:r.key,xScale:c,model:r,inBrushDrag:!1},p={};return h.dimensions=s.filter(m.isVisible).map((function(i,s){var d=function(t,e){return n.scale.linear().domain(w(t)).range([e,1-e])}(i,u),g=p[i.label];p[i.label]=(g||0)+1;var x=i.label+(g?"__"+g:""),b=i.constraintrange,_=b&&b.length;_&&!Array.isArray(b[0])&&(b=[b]);var T=_?b.map((function(t){return t.map(d)})):[[-1/0,1/0]],A=i.values;A.length>i._length&&(A=A.slice(0,i._length));var E,C=i.tickvals;function L(t,e){return{val:t,text:E[e]}}function I(t,e){return t.val-e.val}if(Array.isArray(C)&&C.length){E=i.ticktext,Array.isArray(E)&&E.length?E.length>C.length?E=E.slice(0,C.length):C.length>E.length&&(C=C.slice(0,E.length)):E=C.map(n.format(i.tickformat));for(var P=1;P<C.length;P++)if(C[P]<C[P-1]){for(var z=C.map(L).sort(I),O=0;O<C.length;O++)C[O]=z[O].val,E[O]=z[O].text;break}}else C=void 0;return A=m.convertTypedArray(A),{key:x,label:i.label,tickFormat:i.tickformat,tickvals:C,ticktext:E,ordinal:m.isOrdinal(i),multiselect:i.multiselect,xIndex:s,crossfilterDimensionIndex:s,visibleIndex:i._index,height:a,values:A,paddedUnitValues:A.map(d),unitTickvals:C&&C.map(d),xScale:c,x:c(s),canvasX:c(s)*l,unitToPaddedPx:f,domainScale:k(a,v.verticalPadding,i,C,E),ordinalScale:M(i),parent:h,model:r,brush:y.makeBrush(t,_,T,(function(){t.linePickActive(!1)}),(function(){var e=h;e.focusLayer&&e.focusLayer.render(e.panels,!0);var r=S(e);!t.contextShown()&&r?(e.contextLayer&&e.contextLayer.render(e.panels,!0),t.contextShown(!0)):t.contextShown()&&!r&&(e.contextLayer&&e.contextLayer.render(e.panels,!0,!0),t.contextShown(!1))}),(function(r){if(h.focusLayer.render(h.panels,!0),h.pickLayer&&h.pickLayer.render(h.panels,!0),t.linePickActive(!0),e&&e.filterChanged){var n=d.invert,a=r.map((function(t){return t.map(n).sort(o.sorterAsc)})).sort((function(t,e){return t[0]-e[0]}));e.filterChanged(h.key,i._index,a)}}))}})),h}function L(t){t.classed(v.cn.axisExtentText,!0).attr("text-anchor","middle").style("cursor","default")}function I(t,e){var r="top"===e?1:-1,n=t*Math.PI/180;return{dir:r,dx:Math.sin(n),dy:Math.cos(n),degrees:t}}function P(t,e){for(var r=e.panels||(e.panels=[]),n=t.data(),i=0;i<n.length-1;i++){var a=r[i]||(r[i]={}),o=n[i],s=n[i+1];a.dim0=o,a.dim1=s,a.canvasX=o.canvasX,a.panelSizeX=s.canvasX-o.canvasX,a.panelSizeY=e.model.canvasHeight,a.y=0,a.canvasY=0}}function z(t,e){return a.tickText(t._ax,e,!1).text}function O(t,e){if(t.ordinal)return"";var r=t.domainScale.domain(),n=r[e?r.length-1:0];return z(t.model.dimensions[t.visibleIndex],n)}e.exports=function(t,e,r,i){var f=t._fullLayout,h=f._toppaper,b=f._glcontainer;!function(t){for(var e=0;e<t.length;e++)for(var r=0;r<t[e].length;r++)for(var n=t[e][r].trace,i=n.dimensions,o=0;o<i.length;o++){var s=i[o].values,l=i[o]._ax;l&&(l.range?l.range=T(l.range[0],l.range[1]):l.range=_(s,n._length),l.dtick||(l.dtick=.01*(Math.abs(l.range[1]-l.range[0])||1)),l.tickformat=i[o].tickformat,a.calcTicks(l),l.cleanRange())}}(e);var w,k,M=(w=!0,k=!1,{linePickActive:function(t){return arguments.length?w=!!t:w},contextShown:function(t){return arguments.length?k=!!t:k}}),A=e.filter((function(t){return g(t).trace.visible})).map(E.bind(0,r)).map(C.bind(0,M,i));b.each((function(t,e){return o.extendFlat(t,A[e])}));var D=b.selectAll(".gl-canvas").each((function(t){t.viewModel=A[0],t.model=t.viewModel?t.viewModel.model:null})),R=null;D.filter((function(t){return t.pick})).style("pointer-events","auto").on("mousemove",(function(t){if(M.linePickActive()&&t.lineLayer&&i&&i.hover){var e=n.event,r=this.width,a=this.height,o=n.mouse(this),s=o[0],l=o[1];if(s<0||l<0||s>=r||l>=a)return;var c=t.lineLayer.readPixel(s,a-1-l),u=0!==c[3],f=u?c[2]+256*(c[1]+256*c[0]):null,h={x:s,y:l,clientX:e.clientX,clientY:e.clientY,dataIndex:t.model.key,curveNumber:f};f!==R&&(u?i.hover(h):i.unhover&&i.unhover(h),R=f)}})),D.style("opacity",(function(t){return t.pick?0:1})),h.style("background","rgba(255, 255, 255, 0)");var F=h.selectAll("."+v.cn.parcoords).data(A,p);F.exit().remove(),F.enter().append("g").classed(v.cn.parcoords,!0).style("shape-rendering","crispEdges").style("pointer-events","none"),F.attr("transform",(function(t){return l(t.model.translateX,t.model.translateY)}));var B=F.selectAll("."+v.cn.parcoordsControlView).data(d,p);B.enter().append("g").classed(v.cn.parcoordsControlView,!0),B.attr("transform",(function(t){return l(t.model.pad.l,t.model.pad.t)}));var N=B.selectAll("."+v.cn.yAxis).data((function(t){return t.dimensions}),p);N.enter().append("g").classed(v.cn.yAxis,!0),B.each((function(t){P(N,t)})),D.each((function(t){if(t.viewModel){!t.lineLayer||i?t.lineLayer=x(this,t):t.lineLayer.update(t),(t.key||0===t.key)&&(t.viewModel[t.key]=t.lineLayer);var e=!t.context||i;t.lineLayer.render(t.viewModel.panels,e)}})),N.attr("transform",(function(t){return l(t.xScale(t.xIndex),0)})),N.call(n.behavior.drag().origin((function(t){return t})).on("drag",(function(t){var e=t.parent;M.linePickActive(!1),t.x=Math.max(-v.overdrag,Math.min(t.model.width+v.overdrag,n.event.x)),t.canvasX=t.x*t.model.canvasPixelRatio,N.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})),P(N,e),N.filter((function(e){return 0!==Math.abs(t.xIndex-e.xIndex)})).attr("transform",(function(t){return l(t.xScale(t.xIndex),0)})),n.select(this).attr("transform",l(t.x,0)),N.each((function(r,n,i){i===t.parent.key&&(e.dimensions[n]=r)})),e.contextLayer&&e.contextLayer.render(e.panels,!1,!S(e)),e.focusLayer.render&&e.focusLayer.render(e.panels)})).on("dragend",(function(t){var e=t.parent;t.x=t.xScale(t.xIndex),t.canvasX=t.x*t.model.canvasPixelRatio,P(N,e),n.select(this).attr("transform",(function(t){return l(t.x,0)})),e.contextLayer&&e.contextLayer.render(e.panels,!1,!S(e)),e.focusLayer&&e.focusLayer.render(e.panels),e.pickLayer&&e.pickLayer.render(e.panels,!0),M.linePickActive(!0),i&&i.axesMoved&&i.axesMoved(e.key,e.dimensions.map((function(t){return t.crossfilterDimensionIndex})))}))),N.exit().remove();var j=N.selectAll("."+v.cn.axisOverlays).data(d,p);j.enter().append("g").classed(v.cn.axisOverlays,!0),j.selectAll("."+v.cn.axis).remove();var U=j.selectAll("."+v.cn.axis).data(d,p);U.enter().append("g").classed(v.cn.axis,!0),U.each((function(t){var e=t.model.height/t.model.tickDistance,r=t.domainScale,i=r.domain();n.select(this).call(n.svg.axis().orient("left").tickSize(4).outerTickSize(2).ticks(e,t.tickFormat).tickValues(t.ordinal?i:null).tickFormat((function(e){return m.isOrdinal(t)?e:z(t.model.dimensions[t.visibleIndex],e)})).scale(r)),u.font(U.selectAll("text"),t.model.tickFont)})),U.selectAll(".domain, .tick>line").attr("fill","none").attr("stroke","black").attr("stroke-opacity",.25).attr("stroke-width","1px"),U.selectAll("text").style("text-shadow","1px 1px 1px #fff, -1px -1px 1px #fff, 1px -1px 1px #fff, -1px 1px 1px #fff").style("cursor","default");var V=j.selectAll("."+v.cn.axisHeading).data(d,p);V.enter().append("g").classed(v.cn.axisHeading,!0);var q=V.selectAll("."+v.cn.axisTitle).data(d,p);q.enter().append("text").classed(v.cn.axisTitle,!0).attr("text-anchor","middle").style("cursor","ew-resize").style("pointer-events","auto"),q.text((function(t){return t.label})).each((function(e){var r=n.select(this);u.font(r,e.model.labelFont),c.convertToTspans(r,t)})).attr("transform",(function(t){var e=I(t.model.labelAngle,t.model.labelSide),r=v.axisTitleOffset;return(e.dir>0?"":l(0,2*r+t.model.height))+s(e.degrees)+l(-r*e.dx,-r*e.dy)})).attr("text-anchor",(function(t){var e=I(t.model.labelAngle,t.model.labelSide);return 2*Math.abs(e.dx)>Math.abs(e.dy)?e.dir*e.dx<0?"start":"end":"middle"}));var H=j.selectAll("."+v.cn.axisExtent).data(d,p);H.enter().append("g").classed(v.cn.axisExtent,!0);var G=H.selectAll("."+v.cn.axisExtentTop).data(d,p);G.enter().append("g").classed(v.cn.axisExtentTop,!0),G.attr("transform",l(0,-v.axisExtentOffset));var Y=G.selectAll("."+v.cn.axisExtentTopText).data(d,p);Y.enter().append("text").classed(v.cn.axisExtentTopText,!0).call(L),Y.text((function(t){return O(t,!0)})).each((function(t){u.font(n.select(this),t.model.rangeFont)}));var W=H.selectAll("."+v.cn.axisExtentBottom).data(d,p);W.enter().append("g").classed(v.cn.axisExtentBottom,!0),W.attr("transform",(function(t){return l(0,t.model.height+v.axisExtentOffset)}));var X=W.selectAll("."+v.cn.axisExtentBottomText).data(d,p);X.enter().append("text").classed(v.cn.axisExtentBottomText,!0).attr("dy","0.75em").call(L),X.text((function(t){return O(t,!1)})).each((function(t){u.font(n.select(this),t.model.rangeFont)})),y.ensureAxisBrush(j)}},{"../../components/colorscale":655,"../../components/drawing":665,"../../lib":778,"../../lib/gup":775,"../../lib/svg_text_utils":803,"../../plots/cartesian/axes":828,"./axisbrush":1150,"./constants":1153,"./helpers":1155,"./lines":1157,"color-rgba":127,d3:169}],1160:[function(t,e,r){"use strict";var n=t("./parcoords"),i=t("../../lib/prepare_regl"),a=t("./helpers").isVisible;function o(t,e,r){var n=e.indexOf(r),i=t.indexOf(n);return-1===i&&(i+=e.length),i}e.exports=function(t,e){var r=t._fullLayout;if(i(t)){var s={},l={},c={},u={},f=r._size;e.forEach((function(e,r){var n=e[0].trace;c[r]=n.index;var i=u[r]=n._fullInput.index;s[r]=t.data[i].dimensions,l[r]=t.data[i].dimensions.slice()}));n(t,e,{width:f.w,height:f.h,margin:{t:f.t,r:f.r,b:f.b,l:f.l}},{filterChanged:function(e,n,i){var a=l[e][n],o=i.map((function(t){return t.slice()})),s="dimensions["+n+"].constraintrange",f=r._tracePreGUI[t._fullData[c[e]]._fullInput.uid];if(void 0===f[s]){var h=a.constraintrange;f[s]=h||null}var p=t._fullData[c[e]].dimensions[n];o.length?(1===o.length&&(o=o[0]),a.constraintrange=o,p.constraintrange=o.slice(),o=[o]):(delete a.constraintrange,delete p.constraintrange,o=null);var d={};d[s]=o,t.emit("plotly_restyle",[d,[u[e]]])},hover:function(e){t.emit("plotly_hover",e)},unhover:function(e){t.emit("plotly_unhover",e)},axesMoved:function(e,r){var n=function(t,e){return function(r,n){return o(t,e,r)-o(t,e,n)}}(r,l[e].filter(a));s[e].sort(n),l[e].filter((function(t){return!a(t)})).sort((function(t){return l[e].indexOf(t)})).forEach((function(t){s[e].splice(s[e].indexOf(t),1),s[e].splice(l[e].indexOf(t),0,t)})),t.emit("plotly_restyle",[{dimensions:[s[e]]},[u[e]]])}})}}},{"../../lib/prepare_regl":791,"./helpers":1155,"./parcoords":1159}],1161:[function(t,e,r){"use strict";var n=t("../../plots/attributes"),i=t("../../plots/domain").attributes,a=t("../../plots/font_attributes"),o=t("../../components/color/attributes"),s=t("../../plots/template_attributes").hovertemplateAttrs,l=t("../../plots/template_attributes").texttemplateAttrs,c=t("../../lib/extend").extendFlat,u=a({editType:"plot",arrayOk:!0,colorEditType:"plot"});e.exports={labels:{valType:"data_array",editType:"calc"},label0:{valType:"number",dflt:0,editType:"calc"},dlabel:{valType:"number",dflt:1,editType:"calc"},values:{valType:"data_array",editType:"calc"},marker:{colors:{valType:"data_array",editType:"calc"},line:{color:{valType:"color",dflt:o.defaultLine,arrayOk:!0,editType:"style"},width:{valType:"number",min:0,dflt:0,arrayOk:!0,editType:"style"},editType:"calc"},editType:"calc"},text:{valType:"data_array",editType:"plot"},hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"style"},scalegroup:{valType:"string",dflt:"",editType:"calc"},textinfo:{valType:"flaglist",flags:["label","text","value","percent"],extras:["none"],editType:"calc"},hoverinfo:c({},n.hoverinfo,{flags:["label","text","value","percent","name"]}),hovertemplate:s({},{keys:["label","color","value","percent","text"]}),texttemplate:l({editType:"plot"},{keys:["label","color","value","percent","text"]}),textposition:{valType:"enumerated",values:["inside","outside","auto","none"],dflt:"auto",arrayOk:!0,editType:"plot"},textfont:c({},u,{}),insidetextorientation:{valType:"enumerated",values:["horizontal","radial","tangential","auto"],dflt:"auto",editType:"plot"},insidetextfont:c({},u,{}),outsidetextfont:c({},u,{}),automargin:{valType:"boolean",dflt:!1,editType:"plot"},title:{text:{valType:"string",dflt:"",editType:"plot"},font:c({},u,{}),position:{valType:"enumerated",values:["top left","top center","top right","middle center","bottom left","bottom center","bottom right"],editType:"plot"},editType:"plot"},domain:i({name:"pie",trace:!0,editType:"calc"}),hole:{valType:"number",min:0,max:1,dflt:0,editType:"calc"},sort:{valType:"boolean",dflt:!0,editType:"calc"},direction:{valType:"enumerated",values:["clockwise","counterclockwise"],dflt:"counterclockwise",editType:"calc"},rotation:{valType:"number",min:-360,max:360,dflt:0,editType:"calc"},pull:{valType:"number",min:0,max:1,dflt:0,arrayOk:!0,editType:"calc"},_deprecated:{title:{valType:"string",dflt:"",editType:"calc"},titlefont:c({},u,{}),titleposition:{valType:"enumerated",values:["top left","top center","top right","middle center","bottom left","bottom center","bottom right"],editType:"calc"}}}},{"../../components/color/attributes":642,"../../lib/extend":768,"../../plots/attributes":824,"../../plots/domain":855,"../../plots/font_attributes":856,"../../plots/template_attributes":906}],1162:[function(t,e,r){"use strict";var n=t("../../plots/plots");r.name="pie",r.plot=function(t,e,i,a){n.plotBasePlot(r.name,t,e,i,a)},r.clean=function(t,e,i,a){n.cleanBasePlot(r.name,t,e,i,a)}},{"../../plots/plots":891}],1163:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("tinycolor2"),a=t("../../components/color"),o={};function s(t){return function(e,r){return!!e&&(!!(e=i(e)).isValid()&&(e=a.addOpacity(e,e.getAlpha()),t[r]||(t[r]=e),e))}}function l(t,e){var r,n=JSON.stringify(t),a=e[n];if(!a){for(a=t.slice(),r=0;r<t.length;r++)a.push(i(t[r]).lighten(20).toHexString());for(r=0;r<t.length;r++)a.push(i(t[r]).darken(20).toHexString());e[n]=a}return a}e.exports={calc:function(t,e){var r,i,a=[],o=t._fullLayout,l=o.hiddenlabels||[],c=e.labels,u=e.marker.colors||[],f=e.values,h=e._length,p=e._hasValues&&h;if(e.dlabel)for(c=new Array(h),r=0;r<h;r++)c[r]=String(e.label0+r*e.dlabel);var d={},g=s(o["_"+e.type+"colormap"]),m=0,v=!1;for(r=0;r<h;r++){var y,x,b;if(p){if(y=f[r],!n(y))continue;if((y=+y)<0)continue}else y=1;void 0!==(x=c[r])&&""!==x||(x=r);var _=d[x=String(x)];void 0===_?(d[x]=a.length,(b=-1!==l.indexOf(x))||(m+=y),a.push({v:y,label:x,color:g(u[r],x),i:r,pts:[r],hidden:b})):(v=!0,(i=a[_]).v+=y,i.pts.push(r),i.hidden||(m+=y),!1===i.color&&u[r]&&(i.color=g(u[r],x)))}return("funnelarea"===e.type?v:e.sort)&&a.sort((function(t,e){return e.v-t.v})),a[0]&&(a[0].vTotal=m),a},crossTraceCalc:function(t,e){var r=(e||{}).type;r||(r="pie");var n=t._fullLayout,i=t.calcdata,a=n[r+"colorway"],s=n["_"+r+"colormap"];n["extend"+r+"colors"]&&(a=l(a,o));for(var c=0,u=0;u<i.length;u++){var f=i[u];if(f[0].trace.type===r)for(var h=0;h<f.length;h++){var p=f[h];!1===p.color&&(s[p.label]?p.color=s[p.label]:(s[p.label]=p.color=a[c%a.length],c++))}}},makePullColorFn:s,generateExtendedColors:l}},{"../../components/color":643,"fast-isnumeric":241,tinycolor2:576}],1164:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../lib"),a=t("./attributes"),o=t("../../plots/domain").defaults,s=t("../bar/defaults").handleText;function l(t,e){var r=Array.isArray(t),a=i.isArrayOrTypedArray(e),o=Math.min(r?t.length:1/0,a?e.length:1/0);if(isFinite(o)||(o=0),o&&a){for(var s,l=0;l<o;l++){var c=e[l];if(n(c)&&c>0){s=!0;break}}s||(o=0)}return{hasLabels:r,hasValues:a,len:o}}e.exports={handleLabelsAndValues:l,supplyDefaults:function(t,e,r,n){function c(r,n){return i.coerce(t,e,a,r,n)}var u=l(c("labels"),c("values")),f=u.len;if(e._hasLabels=u.hasLabels,e._hasValues=u.hasValues,!e._hasLabels&&e._hasValues&&(c("label0"),c("dlabel")),f){e._length=f,c("marker.line.width")&&c("marker.line.color"),c("marker.colors"),c("scalegroup");var h,p=c("text"),d=c("texttemplate");if(d||(h=c("textinfo",Array.isArray(p)?"text+percent":"percent")),c("hovertext"),c("hovertemplate"),d||h&&"none"!==h){var g=c("textposition");s(t,e,n,c,g,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),(Array.isArray(g)||"auto"===g||"outside"===g)&&c("automargin"),("inside"===g||"auto"===g||Array.isArray(g))&&c("insidetextorientation")}o(e,n,c);var m=c("hole");if(c("title.text")){var v=c("title.position",m?"middle center":"top center");m||"middle center"!==v||(e.title.position="top center"),i.coerceFont(c,"title.font",n.font)}c("sort"),c("direction"),c("rotation"),c("pull")}else e.visible=!1}}},{"../../lib":778,"../../plots/domain":855,"../bar/defaults":925,"./attributes":1161,"fast-isnumeric":241}],1165:[function(t,e,r){"use strict";var n=t("../../components/fx/helpers").appendArrayMultiPointValues;e.exports=function(t,e){var r={curveNumber:e.index,pointNumbers:t.pts,data:e._input,fullData:e,label:t.label,color:t.color,value:t.v,percent:t.percent,text:t.text,v:t.v};return 1===t.pts.length&&(r.pointNumber=r.i=t.pts[0]),n(r,e,t.pts),"funnelarea"===e.type&&(delete r.v,delete r.i),r}},{"../../components/fx/helpers":679}],1166:[function(t,e,r){"use strict";var n=t("../../lib");function i(t){return-1!==t.indexOf("e")?t.replace(/[.]?0+e/,"e"):-1!==t.indexOf(".")?t.replace(/[.]?0+$/,""):t}r.formatPiePercent=function(t,e){var r=i((100*t).toPrecision(3));return n.numSeparate(r,e)+"%"},r.formatPieValue=function(t,e){var r=i(t.toPrecision(10));return n.numSeparate(r,e)},r.getFirstFilled=function(t,e){if(Array.isArray(t))for(var r=0;r<e.length;r++){var n=t[e[r]];if(n||0===n||""===n)return n}},r.castOption=function(t,e){return Array.isArray(t)?r.getFirstFilled(t,e):t||void 0},r.getRotationAngle=function(t){return("auto"===t?0:t)*Math.PI/180}},{"../../lib":778}],1167:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults").supplyDefaults,supplyLayoutDefaults:t("./layout_defaults"),layoutAttributes:t("./layout_attributes"),calc:t("./calc").calc,crossTraceCalc:t("./calc").crossTraceCalc,plot:t("./plot").plot,style:t("./style"),styleOne:t("./style_one"),moduleType:"trace",name:"pie",basePlotModule:t("./base_plot"),categories:["pie-like","pie","showLegend"],meta:{}}},{"./attributes":1161,"./base_plot":1162,"./calc":1163,"./defaults":1164,"./layout_attributes":1168,"./layout_defaults":1169,"./plot":1170,"./style":1171,"./style_one":1172}],1168:[function(t,e,r){"use strict";e.exports={hiddenlabels:{valType:"data_array",editType:"calc"},piecolorway:{valType:"colorlist",editType:"calc"},extendpiecolors:{valType:"boolean",dflt:!0,editType:"calc"}}},{}],1169:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./layout_attributes");e.exports=function(t,e){function r(r,a){return n.coerce(t,e,i,r,a)}r("hiddenlabels"),r("piecolorway",e.colorway),r("extendpiecolors")}},{"../../lib":778,"./layout_attributes":1168}],1170:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../plots/plots"),a=t("../../components/fx"),o=t("../../components/color"),s=t("../../components/drawing"),l=t("../../lib"),c=l.strScale,u=l.strTranslate,f=t("../../lib/svg_text_utils"),h=t("../bar/uniform_text"),p=h.recordMinTextSize,d=h.clearMinTextSize,g=t("../bar/constants").TEXTPAD,m=t("./helpers"),v=t("./event_data"),y=t("../../lib").isValidTextValue;function x(t,e,r){var i=r[0],o=i.trace,s=i.cx,c=i.cy;"_hasHoverLabel"in o||(o._hasHoverLabel=!1),"_hasHoverEvent"in o||(o._hasHoverEvent=!1),t.on("mouseover",(function(t){var r=e._fullLayout,u=e._fullData[o.index];if(!e._dragging&&!1!==r.hovermode){var f=u.hoverinfo;if(Array.isArray(f)&&(f=a.castHoverinfo({hoverinfo:[m.castOption(f,t.pts)],_module:o._module},r,0)),"all"===f&&(f="label+text+value+percent+name"),u.hovertemplate||"none"!==f&&"skip"!==f&&f){var h=t.rInscribed||0,p=s+t.pxmid[0]*(1-h),d=c+t.pxmid[1]*(1-h),g=r.separators,y=[];if(f&&-1!==f.indexOf("label")&&y.push(t.label),t.text=m.castOption(u.hovertext||u.text,t.pts),f&&-1!==f.indexOf("text")){var x=t.text;l.isValidTextValue(x)&&y.push(x)}t.value=t.v,t.valueLabel=m.formatPieValue(t.v,g),f&&-1!==f.indexOf("value")&&y.push(t.valueLabel),t.percent=t.v/i.vTotal,t.percentLabel=m.formatPiePercent(t.percent,g),f&&-1!==f.indexOf("percent")&&y.push(t.percentLabel);var b=u.hoverlabel,_=b.font;a.loneHover({trace:o,x0:p-h*i.r,x1:p+h*i.r,y:d,text:y.join("<br>"),name:u.hovertemplate||-1!==f.indexOf("name")?u.name:void 0,idealAlign:t.pxmid[0]<0?"left":"right",color:m.castOption(b.bgcolor,t.pts)||t.color,borderColor:m.castOption(b.bordercolor,t.pts),fontFamily:m.castOption(_.family,t.pts),fontSize:m.castOption(_.size,t.pts),fontColor:m.castOption(_.color,t.pts),nameLength:m.castOption(b.namelength,t.pts),textAlign:m.castOption(b.align,t.pts),hovertemplate:m.castOption(u.hovertemplate,t.pts),hovertemplateLabels:t,eventData:[v(t,u)]},{container:r._hoverlayer.node(),outerContainer:r._paper.node(),gd:e}),o._hasHoverLabel=!0}o._hasHoverEvent=!0,e.emit("plotly_hover",{points:[v(t,u)],event:n.event})}})),t.on("mouseout",(function(t){var r=e._fullLayout,i=e._fullData[o.index],s=n.select(this).datum();o._hasHoverEvent&&(t.originalEvent=n.event,e.emit("plotly_unhover",{points:[v(s,i)],event:n.event}),o._hasHoverEvent=!1),o._hasHoverLabel&&(a.loneUnhover(r._hoverlayer.node()),o._hasHoverLabel=!1)})),t.on("click",(function(t){var r=e._fullLayout,i=e._fullData[o.index];e._dragging||!1===r.hovermode||(e._hoverdata=[v(t,i)],a.click(e,n.event))}))}function b(t,e,r){var n=m.castOption(t.insidetextfont.color,e.pts);!n&&t._input.textfont&&(n=m.castOption(t._input.textfont.color,e.pts));var i=m.castOption(t.insidetextfont.family,e.pts)||m.castOption(t.textfont.family,e.pts)||r.family,a=m.castOption(t.insidetextfont.size,e.pts)||m.castOption(t.textfont.size,e.pts)||r.size;return{color:n||o.contrast(e.color),family:i,size:a}}function _(t,e){for(var r,n,i=0;i<t.length;i++)if((n=(r=t[i][0]).trace).title.text){var a=n.title.text;n._meta&&(a=l.templateString(a,n._meta));var o=s.tester.append("text").attr("data-notex",1).text(a).call(s.font,n.title.font).call(f.convertToTspans,e),c=s.bBox(o.node(),!0);r.titleBox={width:c.width,height:c.height},o.remove()}}function w(t,e,r){var n=r.r||e.rpx1,i=e.rInscribed;if(e.startangle===e.stopangle)return{rCenter:1-i,scale:0,rotate:0,textPosAngle:0};var a,o=e.ring,s=1===o&&Math.abs(e.startangle-e.stopangle)===2*Math.PI,l=e.halfangle,c=e.midangle,u=r.trace.insidetextorientation,f="horizontal"===u,h="tangential"===u,p="radial"===u,d="auto"===u,g=[];if(!d){var m,v=function(r,i){if(function(t,e){var r=t.startangle,n=t.stopangle;return r>e&&e>n||r<e&&e<n}(e,r)){var s=Math.abs(r-e.startangle),l=Math.abs(r-e.stopangle),c=s<l?s:l;(a="tan"===i?k(t,n,o,c,0):T(t,n,o,c,Math.PI/2)).textPosAngle=r,g.push(a)}};if(f||h){for(m=4;m>=-4;m-=2)v(Math.PI*m,"tan");for(m=4;m>=-4;m-=2)v(Math.PI*(m+1),"tan")}if(f||p){for(m=4;m>=-4;m-=2)v(Math.PI*(m+1.5),"rad");for(m=4;m>=-4;m-=2)v(Math.PI*(m+.5),"rad")}}if(s||d||f){var y=Math.sqrt(t.width*t.width+t.height*t.height);if((a={scale:i*n*2/y,rCenter:1-i,rotate:0}).textPosAngle=(e.startangle+e.stopangle)/2,a.scale>=1)return a;g.push(a)}(d||p)&&((a=T(t,n,o,l,c)).textPosAngle=(e.startangle+e.stopangle)/2,g.push(a)),(d||h)&&((a=k(t,n,o,l,c)).textPosAngle=(e.startangle+e.stopangle)/2,g.push(a));for(var x=0,b=0,_=0;_<g.length;_++){var w=g[_].scale;if(b<w&&(b=w,x=_),!d&&b>=1)break}return g[x]}function T(t,e,r,n,i){e=Math.max(0,e-2*g);var a=t.width/t.height,o=S(a,n,e,r);return{scale:2*o/t.height,rCenter:M(a,o/e),rotate:A(i)}}function k(t,e,r,n,i){e=Math.max(0,e-2*g);var a=t.height/t.width,o=S(a,n,e,r);return{scale:2*o/t.width,rCenter:M(a,o/e),rotate:A(i+Math.PI/2)}}function M(t,e){return Math.cos(e)-t*e}function A(t){return(180/Math.PI*t+720)%180-90}function S(t,e,r,n){var i=t+1/(2*Math.tan(e));return r*Math.min(1/(Math.sqrt(i*i+.5)+i),n/(Math.sqrt(t*t+n/2)+t))}function E(t,e){return t.v!==e.vTotal||e.trace.hole?Math.min(1/(1+1/Math.sin(t.halfangle)),t.ring/2):1}function C(t,e){var r=e.pxmid[0],n=e.pxmid[1],i=t.width/2,a=t.height/2;return r<0&&(i*=-1),n<0&&(a*=-1),{scale:1,rCenter:1,rotate:0,x:i+Math.abs(a)*(i>0?1:-1)/2,y:a/(1+r*r/(n*n)),outside:!0}}function L(t,e){var r,n,i,a=t.trace,o={x:t.cx,y:t.cy},s={tx:0,ty:0};s.ty+=a.title.font.size,i=P(a),-1!==a.title.position.indexOf("top")?(o.y-=(1+i)*t.r,s.ty-=t.titleBox.height):-1!==a.title.position.indexOf("bottom")&&(o.y+=(1+i)*t.r);var l,c,u=(l=t.r,c=t.trace.aspectratio,l/(void 0===c?1:c)),f=e.w*(a.domain.x[1]-a.domain.x[0])/2;return-1!==a.title.position.indexOf("left")?(f+=u,o.x-=(1+i)*u,s.tx+=t.titleBox.width/2):-1!==a.title.position.indexOf("center")?f*=2:-1!==a.title.position.indexOf("right")&&(f+=u,o.x+=(1+i)*u,s.tx-=t.titleBox.width/2),r=f/t.titleBox.width,n=I(t,e)/t.titleBox.height,{x:o.x,y:o.y,scale:Math.min(r,n),tx:s.tx,ty:s.ty}}function I(t,e){var r=t.trace,n=e.h*(r.domain.y[1]-r.domain.y[0]);return Math.min(t.titleBox.height,n/2)}function P(t){var e,r=t.pull;if(!r)return 0;if(Array.isArray(r))for(r=0,e=0;e<t.pull.length;e++)t.pull[e]>r&&(r=t.pull[e]);return r}function z(t,e){for(var r=[],n=0;n<t.length;n++){var i=t[n][0],a=i.trace,o=a.domain,s=e.w*(o.x[1]-o.x[0]),l=e.h*(o.y[1]-o.y[0]);a.title.text&&"middle center"!==a.title.position&&(l-=I(i,e));var c=s/2,u=l/2;"funnelarea"!==a.type||a.scalegroup||(u/=a.aspectratio),i.r=Math.min(c,u)/(1+P(a)),i.cx=e.l+e.w*(a.domain.x[1]+a.domain.x[0])/2,i.cy=e.t+e.h*(1-a.domain.y[0])-l/2,a.title.text&&-1!==a.title.position.indexOf("bottom")&&(i.cy-=I(i,e)),a.scalegroup&&-1===r.indexOf(a.scalegroup)&&r.push(a.scalegroup)}!function(t,e){for(var r,n,i,a=0;a<e.length;a++){var o=1/0,s=e[a];for(n=0;n<t.length;n++)if(r=t[n][0],(i=r.trace).scalegroup===s){var l;if("pie"===i.type)l=r.r*r.r;else if("funnelarea"===i.type){var c,u;i.aspectratio>1?(c=r.r,u=c/i.aspectratio):(u=r.r,c=u*i.aspectratio),c*=(1+i.baseratio)/2,l=c*u}o=Math.min(o,l/r.vTotal)}for(n=0;n<t.length;n++)if(r=t[n][0],(i=r.trace).scalegroup===s){var f=o*r.vTotal;"funnelarea"===i.type&&(f/=(1+i.baseratio)/2,f/=i.aspectratio),r.r=Math.sqrt(f)}}}(t,r)}function O(t,e){return[t*Math.sin(e),-t*Math.cos(e)]}function D(t,e,r){var n=t._fullLayout,i=r.trace,a=i.texttemplate,o=i.textinfo;if(!a&&o&&"none"!==o){var s,c=o.split("+"),u=function(t){return-1!==c.indexOf(t)},f=u("label"),h=u("text"),p=u("value"),d=u("percent"),g=n.separators;if(s=f?[e.label]:[],h){var v=m.getFirstFilled(i.text,e.pts);y(v)&&s.push(v)}p&&s.push(m.formatPieValue(e.v,g)),d&&s.push(m.formatPiePercent(e.v/r.vTotal,g)),e.text=s.join("<br>")}if(a){var x=l.castOption(i,e.i,"texttemplate");if(x){var b=function(t){return{label:t.label,value:t.v,valueLabel:m.formatPieValue(t.v,n.separators),percent:t.v/r.vTotal,percentLabel:m.formatPiePercent(t.v/r.vTotal,n.separators),color:t.color,text:t.text,customdata:l.castOption(i,t.i,"customdata")}}(e),_=m.getFirstFilled(i.text,e.pts);(y(_)||""===_)&&(b.text=_),e.text=l.texttemplateString(x,b,t._fullLayout._d3locale,b,i._meta||{})}else e.text=""}}function R(t,e){var r=t.rotate*Math.PI/180,n=Math.cos(r),i=Math.sin(r),a=(e.left+e.right)/2,o=(e.top+e.bottom)/2;t.textX=a*n-o*i,t.textY=a*i+o*n,t.noCenter=!0}e.exports={plot:function(t,e){var r=t._fullLayout,a=r._size;d("pie",r),_(e,t),z(e,a);var h=l.makeTraceGroups(r._pielayer,e,"trace").each((function(e){var h=n.select(this),d=e[0],g=d.trace;!function(t){var e,r,n,i=t[0],a=i.r,o=i.trace,s=m.getRotationAngle(o.rotation),l=2*Math.PI/i.vTotal,c="px0",u="px1";if("counterclockwise"===o.direction){for(e=0;e<t.length&&t[e].hidden;e++);if(e===t.length)return;s+=l*t[e].v,l*=-1,c="px1",u="px0"}for(n=O(a,s),e=0;e<t.length;e++)(r=t[e]).hidden||(r[c]=n,r.startangle=s,s+=l*r.v/2,r.pxmid=O(a,s),r.midangle=s,s+=l*r.v/2,n=O(a,s),r.stopangle=s,r[u]=n,r.largeArc=r.v>i.vTotal/2?1:0,r.halfangle=Math.PI*Math.min(r.v/i.vTotal,.5),r.ring=1-o.hole,r.rInscribed=E(r,i))}(e),h.attr("stroke-linejoin","round"),h.each((function(){var v=n.select(this).selectAll("g.slice").data(e);v.enter().append("g").classed("slice",!0),v.exit().remove();var y=[[[],[]],[[],[]]],_=!1;v.each((function(i,a){if(i.hidden)n.select(this).selectAll("path,g").remove();else{i.pointNumber=i.i,i.curveNumber=g.index,y[i.pxmid[1]<0?0:1][i.pxmid[0]<0?0:1].push(i);var o=d.cx,c=d.cy,u=n.select(this),h=u.selectAll("path.surface").data([i]);if(h.enter().append("path").classed("surface",!0).style({"pointer-events":"all"}),u.call(x,t,e),g.pull){var v=+m.castOption(g.pull,i.pts)||0;v>0&&(o+=v*i.pxmid[0],c+=v*i.pxmid[1])}i.cxFinal=o,i.cyFinal=c;var T=g.hole;if(i.v===d.vTotal){var k="M"+(o+i.px0[0])+","+(c+i.px0[1])+L(i.px0,i.pxmid,!0,1)+L(i.pxmid,i.px0,!0,1)+"Z";T?h.attr("d","M"+(o+T*i.px0[0])+","+(c+T*i.px0[1])+L(i.px0,i.pxmid,!1,T)+L(i.pxmid,i.px0,!1,T)+"Z"+k):h.attr("d",k)}else{var M=L(i.px0,i.px1,!0,1);if(T){var A=1-T;h.attr("d","M"+(o+T*i.px1[0])+","+(c+T*i.px1[1])+L(i.px1,i.px0,!1,T)+"l"+A*i.px0[0]+","+A*i.px0[1]+M+"Z")}else h.attr("d","M"+o+","+c+"l"+i.px0[0]+","+i.px0[1]+M+"Z")}D(t,i,d);var S=m.castOption(g.textposition,i.pts),E=u.selectAll("g.slicetext").data(i.text&&"none"!==S?[0]:[]);E.enter().append("g").classed("slicetext",!0),E.exit().remove(),E.each((function(){var u=l.ensureSingle(n.select(this),"text","",(function(t){t.attr("data-notex",1)})),h=l.ensureUniformFontSize(t,"outside"===S?function(t,e,r){var n=m.castOption(t.outsidetextfont.color,e.pts)||m.castOption(t.textfont.color,e.pts)||r.color,i=m.castOption(t.outsidetextfont.family,e.pts)||m.castOption(t.textfont.family,e.pts)||r.family,a=m.castOption(t.outsidetextfont.size,e.pts)||m.castOption(t.textfont.size,e.pts)||r.size;return{color:n,family:i,size:a}}(g,i,r.font):b(g,i,r.font));u.text(i.text).attr({class:"slicetext",transform:"","text-anchor":"middle"}).call(s.font,h).call(f.convertToTspans,t);var v,y=s.bBox(u.node());if("outside"===S)v=C(y,i);else if(v=w(y,i,d),"auto"===S&&v.scale<1){var x=l.ensureUniformFontSize(t,g.outsidetextfont);u.call(s.font,x),v=C(y=s.bBox(u.node()),i)}var T=v.textPosAngle,k=void 0===T?i.pxmid:O(d.r,T);if(v.targetX=o+k[0]*v.rCenter+(v.x||0),v.targetY=c+k[1]*v.rCenter+(v.y||0),R(v,y),v.outside){var M=v.targetY;i.yLabelMin=M-y.height/2,i.yLabelMid=M,i.yLabelMax=M+y.height/2,i.labelExtraX=0,i.labelExtraY=0,_=!0}v.fontSize=h.size,p(g.type,v,r),e[a].transform=v,u.attr("transform",l.getTextTransform(v))}))}function L(t,e,r,n){var a=n*(e[0]-t[0]),o=n*(e[1]-t[1]);return"a"+n*d.r+","+n*d.r+" 0 "+i.largeArc+(r?" 1 ":" 0 ")+a+","+o}}));var T=n.select(this).selectAll("g.titletext").data(g.title.text?[0]:[]);if(T.enter().append("g").classed("titletext",!0),T.exit().remove(),T.each((function(){var e,r=l.ensureSingle(n.select(this),"text","",(function(t){t.attr("data-notex",1)})),i=g.title.text;g._meta&&(i=l.templateString(i,g._meta)),r.text(i).attr({class:"titletext",transform:"","text-anchor":"middle"}).call(s.font,g.title.font).call(f.convertToTspans,t),e="middle center"===g.title.position?function(t){var e=Math.sqrt(t.titleBox.width*t.titleBox.width+t.titleBox.height*t.titleBox.height);return{x:t.cx,y:t.cy,scale:t.trace.hole*t.r*2/e,tx:0,ty:-t.titleBox.height/2+t.trace.title.font.size}}(d):L(d,a),r.attr("transform",u(e.x,e.y)+c(Math.min(1,e.scale))+u(e.tx,e.ty))})),_&&function(t,e){var r,n,i,a,o,s,l,c,u,f,h,p,d;function g(t,e){return t.pxmid[1]-e.pxmid[1]}function v(t,e){return e.pxmid[1]-t.pxmid[1]}function y(t,r){r||(r={});var i,c,u,h,p=r.labelExtraY+(n?r.yLabelMax:r.yLabelMin),d=n?t.yLabelMin:t.yLabelMax,g=n?t.yLabelMax:t.yLabelMin,v=t.cyFinal+o(t.px0[1],t.px1[1]),y=p-d;if(y*l>0&&(t.labelExtraY=y),Array.isArray(e.pull))for(c=0;c<f.length;c++)(u=f[c])===t||(m.castOption(e.pull,t.pts)||0)>=(m.castOption(e.pull,u.pts)||0)||((t.pxmid[1]-u.pxmid[1])*l>0?(y=u.cyFinal+o(u.px0[1],u.px1[1])-d-t.labelExtraY)*l>0&&(t.labelExtraY+=y):(g+t.labelExtraY-v)*l>0&&(i=3*s*Math.abs(c-f.indexOf(t)),(h=u.cxFinal+a(u.px0[0],u.px1[0])+i-(t.cxFinal+t.pxmid[0])-t.labelExtraX)*s>0&&(t.labelExtraX+=h)))}for(n=0;n<2;n++)for(i=n?g:v,o=n?Math.max:Math.min,l=n?1:-1,r=0;r<2;r++){for(a=r?Math.max:Math.min,s=r?1:-1,(c=t[n][r]).sort(i),u=t[1-n][r],f=u.concat(c),p=[],h=0;h<c.length;h++)void 0!==c[h].yLabelMid&&p.push(c[h]);for(d=!1,h=0;n&&h<u.length;h++)if(void 0!==u[h].yLabelMid){d=u[h];break}for(h=0;h<p.length;h++){var x=h&&p[h-1];d&&!h&&(x=d),y(p[h],x)}}}(y,g),function(t,e){t.each((function(t){var r=n.select(this);if(t.labelExtraX||t.labelExtraY){var i=r.select("g.slicetext text");t.transform.targetX+=t.labelExtraX,t.transform.targetY+=t.labelExtraY,i.attr("transform",l.getTextTransform(t.transform));var a=t.cxFinal+t.pxmid[0],s="M"+a+","+(t.cyFinal+t.pxmid[1]),c=(t.yLabelMax-t.yLabelMin)*(t.pxmid[0]<0?-1:1)/4;if(t.labelExtraX){var u=t.labelExtraX*t.pxmid[1]/t.pxmid[0],f=t.yLabelMid+t.labelExtraY-(t.cyFinal+t.pxmid[1]);Math.abs(u)>Math.abs(f)?s+="l"+f*t.pxmid[0]/t.pxmid[1]+","+f+"H"+(a+t.labelExtraX+c):s+="l"+t.labelExtraX+","+u+"v"+(f-u)+"h"+c}else s+="V"+(t.yLabelMid+t.labelExtraY)+"h"+c;l.ensureSingle(r,"path","textline").call(o.stroke,e.outsidetextfont.color).attr({"stroke-width":Math.min(2,e.outsidetextfont.size/8),d:s,fill:"none"})}else r.select("path.textline").remove()}))}(v,g),_&&g.automargin){var k=s.bBox(h.node()),M=g.domain,A=a.w*(M.x[1]-M.x[0]),S=a.h*(M.y[1]-M.y[0]),E=(.5*A-d.r)/a.w,I=(.5*S-d.r)/a.h;i.autoMargin(t,"pie."+g.uid+".automargin",{xl:M.x[0]-E,xr:M.x[1]+E,yb:M.y[0]-I,yt:M.y[1]+I,l:Math.max(d.cx-d.r-k.left,0),r:Math.max(k.right-(d.cx+d.r),0),b:Math.max(k.bottom-(d.cy+d.r),0),t:Math.max(d.cy-d.r-k.top,0),pad:5})}}))}));setTimeout((function(){h.selectAll("tspan").each((function(){var t=n.select(this);t.attr("dy")&&t.attr("dy",t.attr("dy"))}))}),0)},formatSliceLabel:D,transformInsideText:w,determineInsideTextFont:b,positionTitleOutside:L,prerenderTitles:_,layoutAreas:z,attachFxHandlers:x,computeTransform:R}},{"../../components/color":643,"../../components/drawing":665,"../../components/fx":683,"../../lib":778,"../../lib/svg_text_utils":803,"../../plots/plots":891,"../bar/constants":923,"../bar/uniform_text":937,"./event_data":1165,"./helpers":1166,d3:169}],1171:[function(t,e,r){"use strict";var n=t("d3"),i=t("./style_one"),a=t("../bar/uniform_text").resizeText;e.exports=function(t){var e=t._fullLayout._pielayer.selectAll(".trace");a(t,e,"pie"),e.each((function(t){var e=t[0].trace,r=n.select(this);r.style({opacity:e.opacity}),r.selectAll("path.surface").each((function(t){n.select(this).call(i,t,e)}))}))}},{"../bar/uniform_text":937,"./style_one":1172,d3:169}],1172:[function(t,e,r){"use strict";var n=t("../../components/color"),i=t("./helpers").castOption;e.exports=function(t,e,r){var a=r.marker.line,o=i(a.color,e.pts)||n.defaultLine,s=i(a.width,e.pts)||0;t.style("stroke-width",s).call(n.fill,e.color).call(n.stroke,o)}},{"../../components/color":643,"./helpers":1166}],1173:[function(t,e,r){"use strict";var n=t("../scatter/attributes");e.exports={x:n.x,y:n.y,xy:{valType:"data_array",editType:"calc"},indices:{valType:"data_array",editType:"calc"},xbounds:{valType:"data_array",editType:"calc"},ybounds:{valType:"data_array",editType:"calc"},text:n.text,marker:{color:{valType:"color",arrayOk:!1,editType:"calc"},opacity:{valType:"number",min:0,max:1,dflt:1,arrayOk:!1,editType:"calc"},blend:{valType:"boolean",dflt:null,editType:"calc"},sizemin:{valType:"number",min:.1,max:2,dflt:.5,editType:"calc"},sizemax:{valType:"number",min:.1,dflt:20,editType:"calc"},border:{color:{valType:"color",arrayOk:!1,editType:"calc"},arearatio:{valType:"number",min:0,max:1,dflt:0,editType:"calc"},editType:"calc"},editType:"calc"},transforms:void 0}},{"../scatter/attributes":1187}],1174:[function(t,e,r){"use strict";var n=t("gl-pointcloud2d"),i=t("../../lib/str2rgbarray"),a=t("../../plots/cartesian/autorange").findExtremes,o=t("../scatter/get_trace_color");function s(t,e){this.scene=t,this.uid=e,this.type="pointcloud",this.pickXData=[],this.pickYData=[],this.xData=[],this.yData=[],this.textLabels=[],this.color="rgb(0, 0, 0)",this.name="",this.hoverinfo="all",this.idToIndex=new Int32Array(0),this.bounds=[0,0,0,0],this.pointcloudOptions={positions:new Float32Array(0),idToIndex:this.idToIndex,sizemin:.5,sizemax:12,color:[0,0,0,1],areaRatio:1,borderColor:[0,0,0,1]},this.pointcloud=n(t.glplot,this.pointcloudOptions),this.pointcloud._trace=this}var l=s.prototype;l.handlePick=function(t){var e=this.idToIndex[t.pointId];return{trace:this,dataCoord:t.dataCoord,traceCoord:this.pickXYData?[this.pickXYData[2*e],this.pickXYData[2*e+1]]:[this.pickXData[e],this.pickYData[e]],textLabel:Array.isArray(this.textLabels)?this.textLabels[e]:this.textLabels,color:this.color,name:this.name,pointIndex:e,hoverinfo:this.hoverinfo}},l.update=function(t){this.index=t.index,this.textLabels=t.text,this.name=t.name,this.hoverinfo=t.hoverinfo,this.bounds=[1/0,1/0,-1/0,-1/0],this.updateFast(t),this.color=o(t,{})},l.updateFast=function(t){var e,r,n,o,s,l,c=this.xData=this.pickXData=t.x,u=this.yData=this.pickYData=t.y,f=this.pickXYData=t.xy,h=t.xbounds&&t.ybounds,p=t.indices,d=this.bounds;if(f){if(n=f,e=f.length>>>1,h)d[0]=t.xbounds[0],d[2]=t.xbounds[1],d[1]=t.ybounds[0],d[3]=t.ybounds[1];else for(l=0;l<e;l++)o=n[2*l],s=n[2*l+1],o<d[0]&&(d[0]=o),o>d[2]&&(d[2]=o),s<d[1]&&(d[1]=s),s>d[3]&&(d[3]=s);if(p)r=p;else for(r=new Int32Array(e),l=0;l<e;l++)r[l]=l}else for(e=c.length,n=new Float32Array(2*e),r=new Int32Array(e),l=0;l<e;l++)o=c[l],s=u[l],r[l]=l,n[2*l]=o,n[2*l+1]=s,o<d[0]&&(d[0]=o),o>d[2]&&(d[2]=o),s<d[1]&&(d[1]=s),s>d[3]&&(d[3]=s);this.idToIndex=r,this.pointcloudOptions.idToIndex=r,this.pointcloudOptions.positions=n;var g=i(t.marker.color),m=i(t.marker.border.color),v=t.opacity*t.marker.opacity;g[3]*=v,this.pointcloudOptions.color=g;var y=t.marker.blend;if(null===y){y=c.length<100||u.length<100}this.pointcloudOptions.blend=y,m[3]*=v,this.pointcloudOptions.borderColor=m;var x=t.marker.sizemin,b=Math.max(t.marker.sizemax,t.marker.sizemin);this.pointcloudOptions.sizeMin=x,this.pointcloudOptions.sizeMax=b,this.pointcloudOptions.areaRatio=t.marker.border.arearatio,this.pointcloud.update(this.pointcloudOptions);var _=this.scene.xaxis,w=this.scene.yaxis,T=b/2||.5;t._extremes[_._id]=a(_,[d[0],d[2]],{ppad:T}),t._extremes[w._id]=a(w,[d[1],d[3]],{ppad:T})},l.dispose=function(){this.pointcloud.dispose()},e.exports=function(t,e){var r=new s(t,e.uid);return r.update(e),r}},{"../../lib/str2rgbarray":802,"../../plots/cartesian/autorange":827,"../scatter/get_trace_color":1197,"gl-pointcloud2d":324}],1175:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./attributes");e.exports=function(t,e,r){function a(r,a){return n.coerce(t,e,i,r,a)}a("x"),a("y"),a("xbounds"),a("ybounds"),t.xy&&t.xy instanceof Float32Array&&(e.xy=t.xy),t.indices&&t.indices instanceof Int32Array&&(e.indices=t.indices),a("text"),a("marker.color",r),a("marker.opacity"),a("marker.blend"),a("marker.sizemin"),a("marker.sizemax"),a("marker.border.color",r),a("marker.border.arearatio"),e._length=null}},{"../../lib":778,"./attributes":1173}],1176:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),calc:t("../scatter3d/calc"),plot:t("./convert"),moduleType:"trace",name:"pointcloud",basePlotModule:t("../../plots/gl2d"),categories:["gl","gl2d","showLegend"],meta:{}}},{"../../plots/gl2d":868,"../scatter3d/calc":1216,"./attributes":1173,"./convert":1174,"./defaults":1175}],1177:[function(t,e,r){"use strict";var n=t("../../plots/font_attributes"),i=t("../../plots/attributes"),a=t("../../components/color/attributes"),o=t("../../components/fx/attributes"),s=t("../../plots/domain").attributes,l=t("../../plots/template_attributes").hovertemplateAttrs,c=t("../../components/colorscale/attributes"),u=t("../../plot_api/plot_template").templatedArray,f=t("../../lib/extend").extendFlat,h=t("../../plot_api/edit_types").overrideAll;t("../../constants/docs").FORMAT_LINK;(e.exports=h({hoverinfo:f({},i.hoverinfo,{flags:[],arrayOk:!1}),hoverlabel:o.hoverlabel,domain:s({name:"sankey",trace:!0}),orientation:{valType:"enumerated",values:["v","h"],dflt:"h"},valueformat:{valType:"string",dflt:".3s"},valuesuffix:{valType:"string",dflt:""},arrangement:{valType:"enumerated",values:["snap","perpendicular","freeform","fixed"],dflt:"snap"},textfont:n({}),customdata:void 0,node:{label:{valType:"data_array",dflt:[]},groups:{valType:"info_array",impliedEdits:{x:[],y:[]},dimensions:2,freeLength:!0,dflt:[],items:{valType:"number",editType:"calc"}},x:{valType:"data_array",dflt:[]},y:{valType:"data_array",dflt:[]},color:{valType:"color",arrayOk:!0},customdata:{valType:"data_array",editType:"calc"},line:{color:{valType:"color",dflt:a.defaultLine,arrayOk:!0},width:{valType:"number",min:0,dflt:.5,arrayOk:!0}},pad:{valType:"number",arrayOk:!1,min:0,dflt:20},thickness:{valType:"number",arrayOk:!1,min:1,dflt:20},hoverinfo:{valType:"enumerated",values:["all","none","skip"],dflt:"all"},hoverlabel:o.hoverlabel,hovertemplate:l({},{keys:["value","label"]})},link:{label:{valType:"data_array",dflt:[]},color:{valType:"color",arrayOk:!0},customdata:{valType:"data_array",editType:"calc"},line:{color:{valType:"color",dflt:a.defaultLine,arrayOk:!0},width:{valType:"number",min:0,dflt:0,arrayOk:!0}},source:{valType:"data_array",dflt:[]},target:{valType:"data_array",dflt:[]},value:{valType:"data_array",dflt:[]},hoverinfo:{valType:"enumerated",values:["all","none","skip"],dflt:"all"},hoverlabel:o.hoverlabel,hovertemplate:l({},{keys:["value","label"]}),colorscales:u("concentrationscales",{editType:"calc",label:{valType:"string",editType:"calc",dflt:""},cmax:{valType:"number",editType:"calc",dflt:1},cmin:{valType:"number",editType:"calc",dflt:0},colorscale:f(c().colorscale,{dflt:[[0,"white"],[1,"black"]]})})}},"calc","nested")).transforms=void 0},{"../../components/color/attributes":642,"../../components/colorscale/attributes":650,"../../components/fx/attributes":674,"../../constants/docs":748,"../../lib/extend":768,"../../plot_api/edit_types":810,"../../plot_api/plot_template":817,"../../plots/attributes":824,"../../plots/domain":855,"../../plots/font_attributes":856,"../../plots/template_attributes":906}],1178:[function(t,e,r){"use strict";var n=t("../../plot_api/edit_types").overrideAll,i=t("../../plots/get_data").getModuleCalcData,a=t("./plot"),o=t("../../components/fx/layout_attributes"),s=t("../../lib/setcursor"),l=t("../../components/dragelement"),c=t("../../plots/cartesian/select").prepSelect,u=t("../../lib"),f=t("../../registry");function h(t,e){var r=t._fullData[e],n=t._fullLayout,i=n.dragmode,a="pan"===n.dragmode?"move":"crosshair",o=r._bgRect;if("pan"!==i&&"zoom"!==i){s(o,a);var h={_id:"x",c2p:u.identity,_offset:r._sankey.translateX,_length:r._sankey.width},p={_id:"y",c2p:u.identity,_offset:r._sankey.translateY,_length:r._sankey.height},d={gd:t,element:o.node(),plotinfo:{id:e,xaxis:h,yaxis:p,fillRangeItems:u.noop},subplot:e,xaxes:[h],yaxes:[p],doneFnCompleted:function(r){var n,i=t._fullData[e],a=i.node.groups.slice(),o=[];function s(t){for(var e=i._sankey.graph.nodes,r=0;r<e.length;r++)if(e[r].pointNumber===t)return e[r]}for(var l=0;l<r.length;l++){var c=s(r[l].pointNumber);if(c)if(c.group){for(var u=0;u<c.childrenNodes.length;u++)o.push(c.childrenNodes[u].pointNumber);a[c.pointNumber-i.node._count]=!1}else o.push(c.pointNumber)}n=a.filter(Boolean).concat([o]),f.call("_guiRestyle",t,{"node.groups":[n]},e)},prepFn:function(t,e,r){c(t,e,r,d,i)}};l.init(d)}}r.name="sankey",r.baseLayoutAttrOverrides=n({hoverlabel:o.hoverlabel},"plot","nested"),r.plot=function(t){var e=i(t.calcdata,"sankey")[0];a(t,e),r.updateFx(t)},r.clean=function(t,e,r,n){var i=n._has&&n._has("sankey"),a=e._has&&e._has("sankey");i&&!a&&(n._paperdiv.selectAll(".sankey").remove(),n._paperdiv.selectAll(".bgsankey").remove())},r.updateFx=function(t){for(var e=0;e<t._fullData.length;e++)h(t,e)}},{"../../components/dragelement":662,"../../components/fx/layout_attributes":684,"../../lib":778,"../../lib/setcursor":799,"../../plot_api/edit_types":810,"../../plots/cartesian/select":847,"../../plots/get_data":865,"../../registry":911,"./plot":1183}],1179:[function(t,e,r){"use strict";var n=t("strongly-connected-components"),i=t("../../lib"),a=t("../../lib/gup").wrap,o=i.isArrayOrTypedArray,s=i.isIndex,l=t("../../components/colorscale");function c(t){var e,r=t.node,a=t.link,c=[],u=o(a.color),f=o(a.customdata),h={},p={},d=a.colorscales.length;for(e=0;e<d;e++){var g=a.colorscales[e],m=l.extractScale(g,{cLetter:"c"}),v=l.makeColorScaleFunc(m);p[g.label]=v}var y=0;for(e=0;e<a.value.length;e++)a.source[e]>y&&(y=a.source[e]),a.target[e]>y&&(y=a.target[e]);var x,b=y+1;t.node._count=b;var _=t.node.groups,w={};for(e=0;e<_.length;e++){var T=_[e];for(x=0;x<T.length;x++){var k=T[x],M=b+e;w.hasOwnProperty(k)?i.warn("Node "+k+" is already part of a group."):w[k]=M}}var A={source:[],target:[]};for(e=0;e<a.value.length;e++){var S=a.value[e],E=a.source[e],C=a.target[e];if(S>0&&s(E,b)&&s(C,b)&&(!w.hasOwnProperty(E)||!w.hasOwnProperty(C)||w[E]!==w[C])){w.hasOwnProperty(C)&&(C=w[C]),w.hasOwnProperty(E)&&(E=w[E]),C=+C,h[E=+E]=h[C]=!0;var L="";a.label&&a.label[e]&&(L=a.label[e]);var I=null;L&&p.hasOwnProperty(L)&&(I=p[L]),c.push({pointNumber:e,label:L,color:u?a.color[e]:a.color,customdata:f?a.customdata[e]:a.customdata,concentrationscale:I,source:E,target:C,value:+S}),A.source.push(E),A.target.push(C)}}var P=b+_.length,z=o(r.color),O=o(r.customdata),D=[];for(e=0;e<P;e++)if(h[e]){var R=r.label[e];D.push({group:e>b-1,childrenNodes:[],pointNumber:e,label:R,color:z?r.color[e]:r.color,customdata:O?r.customdata[e]:r.customdata})}var F=!1;return function(t,e,r){for(var a=i.init2dArray(t,0),o=0;o<Math.min(e.length,r.length);o++)if(i.isIndex(e[o],t)&&i.isIndex(r[o],t)){if(e[o]===r[o])return!0;a[e[o]].push(r[o])}return n(a).components.some((function(t){return t.length>1}))}(P,A.source,A.target)&&(F=!0),{circular:F,links:c,nodes:D,groups:_,groupLookup:w}}e.exports=function(t,e){var r=c(e);return a({circular:r.circular,_nodes:r.nodes,_links:r.links,_groups:r.groups,_groupLookup:r.groupLookup})}},{"../../components/colorscale":655,"../../lib":778,"../../lib/gup":775,"strongly-connected-components":569}],1180:[function(t,e,r){"use strict";e.exports={nodeTextOffsetHorizontal:4,nodeTextOffsetVertical:3,nodePadAcross:10,sankeyIterations:50,forceIterations:5,forceTicksPerFrame:10,duration:500,ease:"linear",cn:{sankey:"sankey",sankeyLinks:"sankey-links",sankeyLink:"sankey-link",sankeyNodeSet:"sankey-node-set",sankeyNode:"sankey-node",nodeRect:"node-rect",nodeCapture:"node-capture",nodeCentered:"node-entered",nodeLabelGuide:"node-label-guide",nodeLabel:"node-label",nodeLabelTextPath:"node-label-text-path"}}},{}],1181:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./attributes"),a=t("../../components/color"),o=t("tinycolor2"),s=t("../../plots/domain").defaults,l=t("../../components/fx/hoverlabel_defaults"),c=t("../../plot_api/plot_template"),u=t("../../plots/array_container_defaults");function f(t,e){function r(r,a){return n.coerce(t,e,i.link.colorscales,r,a)}r("label"),r("cmin"),r("cmax"),r("colorscale")}e.exports=function(t,e,r,h){function p(r,a){return n.coerce(t,e,i,r,a)}var d=n.extendDeep(h.hoverlabel,t.hoverlabel),g=t.node,m=c.newContainer(e,"node");function v(t,e){return n.coerce(g,m,i.node,t,e)}v("label"),v("groups"),v("x"),v("y"),v("pad"),v("thickness"),v("line.color"),v("line.width"),v("hoverinfo",t.hoverinfo),l(g,m,v,d),v("hovertemplate");var y=h.colorway;v("color",m.label.map((function(t,e){return a.addOpacity(function(t){return y[t%y.length]}(e),.8)}))),v("customdata");var x=t.link||{},b=c.newContainer(e,"link");function _(t,e){return n.coerce(x,b,i.link,t,e)}_("label"),_("source"),_("target"),_("value"),_("line.color"),_("line.width"),_("hoverinfo",t.hoverinfo),l(x,b,_,d),_("hovertemplate");var w,T=o(h.paper_bgcolor).getLuminance()<.333?"rgba(255, 255, 255, 0.6)":"rgba(0, 0, 0, 0.2)";_("color",n.repeat(T,b.value.length)),_("customdata"),u(x,b,{name:"colorscales",handleItemDefaults:f}),s(e,h,p),p("orientation"),p("valueformat"),p("valuesuffix"),m.x.length&&m.y.length&&(w="freeform"),p("arrangement",w),n.coerceFont(p,"textfont",n.extendFlat({},h.font)),e._length=null}},{"../../components/color":643,"../../components/fx/hoverlabel_defaults":681,"../../lib":778,"../../plot_api/plot_template":817,"../../plots/array_container_defaults":823,"../../plots/domain":855,"./attributes":1177,tinycolor2:576}],1182:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),calc:t("./calc"),plot:t("./plot"),moduleType:"trace",name:"sankey",basePlotModule:t("./base_plot"),selectPoints:t("./select.js"),categories:["noOpacity"],meta:{}}},{"./attributes":1177,"./base_plot":1178,"./calc":1179,"./defaults":1181,"./plot":1183,"./select.js":1185}],1183:[function(t,e,r){"use strict";var n=t("d3"),i=t("./render"),a=t("../../components/fx"),o=t("../../components/color"),s=t("../../lib"),l=t("./constants").cn,c=s._;function u(t){return""!==t}function f(t,e){return t.filter((function(t){return t.key===e.traceId}))}function h(t,e){n.select(t).select("path").style("fill-opacity",e),n.select(t).select("rect").style("fill-opacity",e)}function p(t){n.select(t).select("text.name").style("fill","black")}function d(t){return function(e){return-1!==t.node.sourceLinks.indexOf(e.link)||-1!==t.node.targetLinks.indexOf(e.link)}}function g(t){return function(e){return-1!==e.node.sourceLinks.indexOf(t.link)||-1!==e.node.targetLinks.indexOf(t.link)}}function m(t,e,r){e&&r&&f(r,e).selectAll("."+l.sankeyLink).filter(d(e)).call(y.bind(0,e,r,!1))}function v(t,e,r){e&&r&&f(r,e).selectAll("."+l.sankeyLink).filter(d(e)).call(x.bind(0,e,r,!1))}function y(t,e,r,n){var i=n.datum().link.label;n.style("fill-opacity",(function(t){if(!t.link.concentrationscale)return.4})),i&&f(e,t).selectAll("."+l.sankeyLink).filter((function(t){return t.link.label===i})).style("fill-opacity",(function(t){if(!t.link.concentrationscale)return.4})),r&&f(e,t).selectAll("."+l.sankeyNode).filter(g(t)).call(m)}function x(t,e,r,n){var i=n.datum().link.label;n.style("fill-opacity",(function(t){return t.tinyColorAlpha})),i&&f(e,t).selectAll("."+l.sankeyLink).filter((function(t){return t.link.label===i})).style("fill-opacity",(function(t){return t.tinyColorAlpha})),r&&f(e,t).selectAll(l.sankeyNode).filter(g(t)).call(v)}function b(t,e){var r=t.hoverlabel||{},n=s.nestedProperty(r,e).get();return!Array.isArray(n)&&n}e.exports=function(t,e){for(var r=t._fullLayout,s=r._paper,f=r._size,d=0;d<t._fullData.length;d++)if(t._fullData[d].visible&&t._fullData[d].type===l.sankey&&!t._fullData[d]._viewInitial){var g=t._fullData[d].node;t._fullData[d]._viewInitial={node:{groups:g.groups.slice(),x:g.x.slice(),y:g.y.slice()}}}var _=c(t,"source:")+" ",w=c(t,"target:")+" ",T=c(t,"concentration:")+" ",k=c(t,"incoming flow count:")+" ",M=c(t,"outgoing flow count:")+" ";i(t,s,e,{width:f.w,height:f.h,margin:{t:f.t,r:f.r,b:f.b,l:f.l}},{linkEvents:{hover:function(e,r,i){!1!==t._fullLayout.hovermode&&(n.select(e).call(y.bind(0,r,i,!0)),"skip"!==r.link.trace.link.hoverinfo&&(r.link.fullData=r.link.trace,t.emit("plotly_hover",{event:n.event,points:[r.link]})))},follow:function(e,i){if(!1!==t._fullLayout.hovermode){var s=i.link.trace.link;if("none"!==s.hoverinfo&&"skip"!==s.hoverinfo){for(var l=[],c=0,f=0;f<i.flow.links.length;f++){var d=i.flow.links[f];if("closest"!==t._fullLayout.hovermode||i.link.pointNumber===d.pointNumber){i.link.pointNumber===d.pointNumber&&(c=f),d.fullData=d.trace,s=i.link.trace.link;var g=v(d),m={valueLabel:n.format(i.valueFormat)(d.value)+i.valueSuffix};l.push({x:g[0],y:g[1],name:m.valueLabel,text:[d.label||"",_+d.source.label,w+d.target.label,d.concentrationscale?T+n.format("%0.2f")(d.flow.labelConcentration):""].filter(u).join("<br>"),color:b(s,"bgcolor")||o.addOpacity(d.color,1),borderColor:b(s,"bordercolor"),fontFamily:b(s,"font.family"),fontSize:b(s,"font.size"),fontColor:b(s,"font.color"),nameLength:b(s,"namelength"),textAlign:b(s,"align"),idealAlign:n.event.x<g[0]?"right":"left",hovertemplate:s.hovertemplate,hovertemplateLabels:m,eventData:[d]})}}a.loneHover(l,{container:r._hoverlayer.node(),outerContainer:r._paper.node(),gd:t,anchorIndex:c}).each((function(){i.link.concentrationscale||h(this,.65),p(this)}))}}function v(t){var e,r;t.circular?(e=(t.circularPathData.leftInnerExtent+t.circularPathData.rightInnerExtent)/2,r=t.circularPathData.verticalFullExtent):(e=(t.source.x1+t.target.x0)/2,r=(t.y0+t.y1)/2);var n=[e,r];return"v"===t.trace.orientation&&n.reverse(),n[0]+=i.parent.translateX,n[1]+=i.parent.translateY,n}},unhover:function(e,i,o){!1!==t._fullLayout.hovermode&&(n.select(e).call(x.bind(0,i,o,!0)),"skip"!==i.link.trace.link.hoverinfo&&(i.link.fullData=i.link.trace,t.emit("plotly_unhover",{event:n.event,points:[i.link]})),a.loneUnhover(r._hoverlayer.node()))},select:function(e,r){var i=r.link;i.originalEvent=n.event,t._hoverdata=[i],a.click(t,{target:!0})}},nodeEvents:{hover:function(e,r,i){!1!==t._fullLayout.hovermode&&(n.select(e).call(m,r,i),"skip"!==r.node.trace.node.hoverinfo&&(r.node.fullData=r.node.trace,t.emit("plotly_hover",{event:n.event,points:[r.node]})))},follow:function(e,i){if(!1!==t._fullLayout.hovermode){var o=i.node.trace.node;if("none"!==o.hoverinfo&&"skip"!==o.hoverinfo){var s=n.select(e).select("."+l.nodeRect),c=t._fullLayout._paperdiv.node().getBoundingClientRect(),f=s.node().getBoundingClientRect(),d=f.left-2-c.left,g=f.right+2-c.left,m=f.top+f.height/4-c.top,v={valueLabel:n.format(i.valueFormat)(i.node.value)+i.valueSuffix};i.node.fullData=i.node.trace,t._fullLayout._calcInverseTransform(t);var y=t._fullLayout._invScaleX,x=t._fullLayout._invScaleY,_=a.loneHover({x0:y*d,x1:y*g,y:x*m,name:n.format(i.valueFormat)(i.node.value)+i.valueSuffix,text:[i.node.label,k+i.node.targetLinks.length,M+i.node.sourceLinks.length].filter(u).join("<br>"),color:b(o,"bgcolor")||i.tinyColorHue,borderColor:b(o,"bordercolor"),fontFamily:b(o,"font.family"),fontSize:b(o,"font.size"),fontColor:b(o,"font.color"),nameLength:b(o,"namelength"),textAlign:b(o,"align"),idealAlign:"left",hovertemplate:o.hovertemplate,hovertemplateLabels:v,eventData:[i.node]},{container:r._hoverlayer.node(),outerContainer:r._paper.node(),gd:t});h(_,.85),p(_)}}},unhover:function(e,i,o){!1!==t._fullLayout.hovermode&&(n.select(e).call(v,i,o),"skip"!==i.node.trace.node.hoverinfo&&(i.node.fullData=i.node.trace,t.emit("plotly_unhover",{event:n.event,points:[i.node]})),a.loneUnhover(r._hoverlayer.node()))},select:function(e,r,i){var o=r.node;o.originalEvent=n.event,t._hoverdata=[o],n.select(e).call(v,r,i),a.click(t,{target:!0})}}})}},{"../../components/color":643,"../../components/fx":683,"../../lib":778,"./constants":1180,"./render":1184,d3:169}],1184:[function(t,e,r){"use strict";var n=t("./constants"),i=t("d3"),a=t("tinycolor2"),o=t("../../components/color"),s=t("../../components/drawing"),l=t("@plotly/d3-sankey"),c=t("@plotly/d3-sankey-circular"),u=t("d3-force"),f=t("../../lib"),h=f.strTranslate,p=t("../../lib/gup"),d=p.keyFun,g=p.repeat,m=p.unwrap,v=t("d3-interpolate").interpolateNumber,y=t("../../registry");function x(t,e,r){var i,o=m(e),s=o.trace,u=s.domain,h="h"===s.orientation,p=s.node.pad,d=s.node.thickness,g=t.width*(u.x[1]-u.x[0]),v=t.height*(u.y[1]-u.y[0]),y=o._nodes,x=o._links,b=o.circular;(i=b?c.sankeyCircular().circularLinkGap(0):l.sankey()).iterations(n.sankeyIterations).size(h?[g,v]:[v,g]).nodeWidth(d).nodePadding(p).nodeId((function(t){return t.pointNumber})).nodes(y).links(x);var _,w,T,k=i();for(var M in i.nodePadding()<p&&f.warn("node.pad was reduced to ",i.nodePadding()," to fit within the figure."),o._groupLookup){var A,S=parseInt(o._groupLookup[M]);for(_=0;_<k.nodes.length;_++)if(k.nodes[_].pointNumber===S){A=k.nodes[_];break}if(A){var E={pointNumber:parseInt(M),x0:A.x0,x1:A.x1,y0:A.y0,y1:A.y1,partOfGroup:!0,sourceLinks:[],targetLinks:[]};k.nodes.unshift(E),A.childrenNodes.unshift(E)}}if(function(){for(_=0;_<k.nodes.length;_++){var t,e,r=k.nodes[_],n={};for(w=0;w<r.targetLinks.length;w++)t=(e=r.targetLinks[w]).source.pointNumber+":"+e.target.pointNumber,n.hasOwnProperty(t)||(n[t]=[]),n[t].push(e);var i=Object.keys(n);for(w=0;w<i.length;w++){var o=n[t=i[w]],s=0,l={};for(T=0;T<o.length;T++)l[(e=o[T]).label]||(l[e.label]=0),l[e.label]+=e.value,s+=e.value;for(T=0;T<o.length;T++)(e=o[T]).flow={value:s,labelConcentration:l[e.label]/s,concentration:e.value/s,links:o},e.concentrationscale&&(e.color=a(e.concentrationscale(e.flow.labelConcentration)))}var c=0;for(w=0;w<r.sourceLinks.length;w++)c+=r.sourceLinks[w].value;for(w=0;w<r.sourceLinks.length;w++)(e=r.sourceLinks[w]).concentrationOut=e.value/c;var u=0;for(w=0;w<r.targetLinks.length;w++)u+=r.targetLinks[w].value;for(w=0;w<r.targetLinks.length;w++)(e=r.targetLinks[w]).concenrationIn=e.value/u}}(),s.node.x.length&&s.node.y.length){for(_=0;_<Math.min(s.node.x.length,s.node.y.length,k.nodes.length);_++)if(s.node.x[_]&&s.node.y[_]){var C=[s.node.x[_]*g,s.node.y[_]*v];k.nodes[_].x0=C[0]-d/2,k.nodes[_].x1=C[0]+d/2;var L=k.nodes[_].y1-k.nodes[_].y0;k.nodes[_].y0=C[1]-L/2,k.nodes[_].y1=C[1]+L/2}if("snap"===s.arrangement)!function(t){t.forEach((function(t){var e,r,n,i=0,a=t.length;for(t.sort((function(t,e){return t.y0-e.y0})),n=0;n<a;++n)(e=t[n]).y0>=i||(r=i-e.y0)>1e-6&&(e.y0+=r,e.y1+=r),i=e.y1+p}))}(function(t){var e,r,n=t.map((function(t,e){return{x0:t.x0,index:e}})).sort((function(t,e){return t.x0-e.x0})),i=[],a=-1,o=-1/0;for(_=0;_<n.length;_++){var s=t[n[_].index];s.x0>o+d&&(a+=1,e=s.x0),o=s.x0,i[a]||(i[a]=[]),i[a].push(s),r=e-s.x0,s.x0+=r,s.x1+=r}return i}(y=k.nodes));i.update(k)}return{circular:b,key:r,trace:s,guid:f.randstr(),horizontal:h,width:g,height:v,nodePad:s.node.pad,nodeLineColor:s.node.line.color,nodeLineWidth:s.node.line.width,linkLineColor:s.link.line.color,linkLineWidth:s.link.line.width,valueFormat:s.valueformat,valueSuffix:s.valuesuffix,textFont:s.textfont,translateX:u.x[0]*t.width+t.margin.l,translateY:t.height-u.y[1]*t.height+t.margin.t,dragParallel:h?v:g,dragPerpendicular:h?g:v,arrangement:s.arrangement,sankey:i,graph:k,forceLayouts:{},interactionState:{dragInProgress:!1,hovered:!1}}}function b(t,e,r){var n=a(e.color),i=e.source.label+"|"+e.target.label+"__"+r;return e.trace=t.trace,e.curveNumber=t.trace.index,{circular:t.circular,key:i,traceId:t.key,pointNumber:e.pointNumber,link:e,tinyColorHue:o.tinyRGB(n),tinyColorAlpha:n.getAlpha(),linkPath:_,linkLineColor:t.linkLineColor,linkLineWidth:t.linkLineWidth,valueFormat:t.valueFormat,valueSuffix:t.valueSuffix,sankey:t.sankey,parent:t,interactionState:t.interactionState,flow:e.flow}}function _(){return function(t){if(t.link.circular)return e=t.link,r=e.width/2,n=e.circularPathData,"top"===e.circularLinkType?"M "+n.targetX+" "+(n.targetY+r)+" L"+n.rightInnerExtent+" "+(n.targetY+r)+"A"+(n.rightLargeArcRadius+r)+" "+(n.rightSmallArcRadius+r)+" 0 0 1 "+(n.rightFullExtent-r)+" "+(n.targetY-n.rightSmallArcRadius)+"L"+(n.rightFullExtent-r)+" "+n.verticalRightInnerExtent+"A"+(n.rightLargeArcRadius+r)+" "+(n.rightLargeArcRadius+r)+" 0 0 1 "+n.rightInnerExtent+" "+(n.verticalFullExtent-r)+"L"+n.leftInnerExtent+" "+(n.verticalFullExtent-r)+"A"+(n.leftLargeArcRadius+r)+" "+(n.leftLargeArcRadius+r)+" 0 0 1 "+(n.leftFullExtent+r)+" "+n.verticalLeftInnerExtent+"L"+(n.leftFullExtent+r)+" "+(n.sourceY-n.leftSmallArcRadius)+"A"+(n.leftLargeArcRadius+r)+" "+(n.leftSmallArcRadius+r)+" 0 0 1 "+n.leftInnerExtent+" "+(n.sourceY+r)+"L"+n.sourceX+" "+(n.sourceY+r)+"L"+n.sourceX+" "+(n.sourceY-r)+"L"+n.leftInnerExtent+" "+(n.sourceY-r)+"A"+(n.leftLargeArcRadius-r)+" "+(n.leftSmallArcRadius-r)+" 0 0 0 "+(n.leftFullExtent-r)+" "+(n.sourceY-n.leftSmallArcRadius)+"L"+(n.leftFullExtent-r)+" "+n.verticalLeftInnerExtent+"A"+(n.leftLargeArcRadius-r)+" "+(n.leftLargeArcRadius-r)+" 0 0 0 "+n.leftInnerExtent+" "+(n.verticalFullExtent+r)+"L"+n.rightInnerExtent+" "+(n.verticalFullExtent+r)+"A"+(n.rightLargeArcRadius-r)+" "+(n.rightLargeArcRadius-r)+" 0 0 0 "+(n.rightFullExtent+r)+" "+n.verticalRightInnerExtent+"L"+(n.rightFullExtent+r)+" "+(n.targetY-n.rightSmallArcRadius)+"A"+(n.rightLargeArcRadius-r)+" "+(n.rightSmallArcRadius-r)+" 0 0 0 "+n.rightInnerExtent+" "+(n.targetY-r)+"L"+n.targetX+" "+(n.targetY-r)+"Z":"M "+n.targetX+" "+(n.targetY-r)+" L"+n.rightInnerExtent+" "+(n.targetY-r)+"A"+(n.rightLargeArcRadius+r)+" "+(n.rightSmallArcRadius+r)+" 0 0 0 "+(n.rightFullExtent-r)+" "+(n.targetY+n.rightSmallArcRadius)+"L"+(n.rightFullExtent-r)+" "+n.verticalRightInnerExtent+"A"+(n.rightLargeArcRadius+r)+" "+(n.rightLargeArcRadius+r)+" 0 0 0 "+n.rightInnerExtent+" "+(n.verticalFullExtent+r)+"L"+n.leftInnerExtent+" "+(n.verticalFullExtent+r)+"A"+(n.leftLargeArcRadius+r)+" "+(n.leftLargeArcRadius+r)+" 0 0 0 "+(n.leftFullExtent+r)+" "+n.verticalLeftInnerExtent+"L"+(n.leftFullExtent+r)+" "+(n.sourceY+n.leftSmallArcRadius)+"A"+(n.leftLargeArcRadius+r)+" "+(n.leftSmallArcRadius+r)+" 0 0 0 "+n.leftInnerExtent+" "+(n.sourceY-r)+"L"+n.sourceX+" "+(n.sourceY-r)+"L"+n.sourceX+" "+(n.sourceY+r)+"L"+n.leftInnerExtent+" "+(n.sourceY+r)+"A"+(n.leftLargeArcRadius-r)+" "+(n.leftSmallArcRadius-r)+" 0 0 1 "+(n.leftFullExtent-r)+" "+(n.sourceY+n.leftSmallArcRadius)+"L"+(n.leftFullExtent-r)+" "+n.verticalLeftInnerExtent+"A"+(n.leftLargeArcRadius-r)+" "+(n.leftLargeArcRadius-r)+" 0 0 1 "+n.leftInnerExtent+" "+(n.verticalFullExtent-r)+"L"+n.rightInnerExtent+" "+(n.verticalFullExtent-r)+"A"+(n.rightLargeArcRadius-r)+" "+(n.rightLargeArcRadius-r)+" 0 0 1 "+(n.rightFullExtent+r)+" "+n.verticalRightInnerExtent+"L"+(n.rightFullExtent+r)+" "+(n.targetY+n.rightSmallArcRadius)+"A"+(n.rightLargeArcRadius-r)+" "+(n.rightSmallArcRadius-r)+" 0 0 1 "+n.rightInnerExtent+" "+(n.targetY+r)+"L"+n.targetX+" "+(n.targetY+r)+"Z";var e,r,n,i=t.link.source.x1,a=t.link.target.x0,o=v(i,a),s=o(.5),l=o(.5),c=t.link.y0-t.link.width/2,u=t.link.y0+t.link.width/2,f=t.link.y1-t.link.width/2,h=t.link.y1+t.link.width/2;return"M"+i+","+c+"C"+s+","+c+" "+l+","+f+" "+a+","+f+"L"+a+","+h+"C"+l+","+h+" "+s+","+u+" "+i+","+u+"Z"}}function w(t,e){var r=a(e.color),i=n.nodePadAcross,s=t.nodePad/2;e.dx=e.x1-e.x0,e.dy=e.y1-e.y0;var l=e.dx,c=Math.max(.5,e.dy),u="node_"+e.pointNumber;return e.group&&(u=f.randstr()),e.trace=t.trace,e.curveNumber=t.trace.index,{index:e.pointNumber,key:u,partOfGroup:e.partOfGroup||!1,group:e.group,traceId:t.key,trace:t.trace,node:e,nodePad:t.nodePad,nodeLineColor:t.nodeLineColor,nodeLineWidth:t.nodeLineWidth,textFont:t.textFont,size:t.horizontal?t.height:t.width,visibleWidth:Math.ceil(l),visibleHeight:c,zoneX:-i,zoneY:-s,zoneWidth:l+2*i,zoneHeight:c+2*s,labelY:t.horizontal?e.dy/2+1:e.dx/2+1,left:1===e.originalLayer,sizeAcross:t.width,forceLayouts:t.forceLayouts,horizontal:t.horizontal,darkBackground:r.getBrightness()<=128,tinyColorHue:o.tinyRGB(r),tinyColorAlpha:r.getAlpha(),valueFormat:t.valueFormat,valueSuffix:t.valueSuffix,sankey:t.sankey,graph:t.graph,arrangement:t.arrangement,uniqueNodeLabelPathId:[t.guid,t.key,u].join("_"),interactionState:t.interactionState,figure:t}}function T(t){t.attr("transform",(function(t){return h(t.node.x0.toFixed(3),t.node.y0.toFixed(3))}))}function k(t){t.call(T)}function M(t,e){t.call(k),e.attr("d",_())}function A(t){t.attr("width",(function(t){return t.node.x1-t.node.x0})).attr("height",(function(t){return t.visibleHeight}))}function S(t){return t.link.width>1||t.linkLineWidth>0}function E(t){return h(t.translateX,t.translateY)+(t.horizontal?"matrix(1 0 0 1 0 0)":"matrix(0 1 1 0 0 0)")}function C(t){return h(t.horizontal?0:t.labelY,t.horizontal?t.labelY:0)}function L(t){return i.svg.line()([[t.horizontal?t.left?-t.sizeAcross:t.visibleWidth+n.nodeTextOffsetHorizontal:n.nodeTextOffsetHorizontal,0],[t.horizontal?t.left?-n.nodeTextOffsetHorizontal:t.sizeAcross:t.visibleHeight-n.nodeTextOffsetHorizontal,0]])}function I(t){return t.horizontal?"matrix(1 0 0 1 0 0)":"matrix(0 1 1 0 0 0)"}function P(t){return t.horizontal?"scale(1 1)":"scale(-1 1)"}function z(t){return t.darkBackground&&!t.horizontal?"rgb(255,255,255)":"rgb(0,0,0)"}function O(t){return t.horizontal&&t.left?"100%":"0%"}function D(t,e,r){t.on(".basic",null).on("mouseover.basic",(function(t){t.interactionState.dragInProgress||t.partOfGroup||(r.hover(this,t,e),t.interactionState.hovered=[this,t])})).on("mousemove.basic",(function(t){t.interactionState.dragInProgress||t.partOfGroup||(r.follow(this,t),t.interactionState.hovered=[this,t])})).on("mouseout.basic",(function(t){t.interactionState.dragInProgress||t.partOfGroup||(r.unhover(this,t,e),t.interactionState.hovered=!1)})).on("click.basic",(function(t){t.interactionState.hovered&&(r.unhover(this,t,e),t.interactionState.hovered=!1),t.interactionState.dragInProgress||t.partOfGroup||r.select(this,t,e)}))}function R(t,e,r,a){var o=i.behavior.drag().origin((function(t){return{x:t.node.x0+t.visibleWidth/2,y:t.node.y0+t.visibleHeight/2}})).on("dragstart",(function(i){if("fixed"!==i.arrangement&&(f.ensureSingle(a._fullLayout._infolayer,"g","dragcover",(function(t){a._fullLayout._dragCover=t})),f.raiseToTop(this),i.interactionState.dragInProgress=i.node,B(i.node),i.interactionState.hovered&&(r.nodeEvents.unhover.apply(0,i.interactionState.hovered),i.interactionState.hovered=!1),"snap"===i.arrangement)){var o=i.traceId+"|"+i.key;i.forceLayouts[o]?i.forceLayouts[o].alpha(1):function(t,e,r,i){!function(t){for(var e=0;e<t.length;e++)t[e].y=(t[e].y0+t[e].y1)/2,t[e].x=(t[e].x0+t[e].x1)/2}(r.graph.nodes);var a=r.graph.nodes.filter((function(t){return t.originalX===r.node.originalX})).filter((function(t){return!t.partOfGroup}));r.forceLayouts[e]=u.forceSimulation(a).alphaDecay(0).force("collide",u.forceCollide().radius((function(t){return t.dy/2+r.nodePad/2})).strength(1).iterations(n.forceIterations)).force("constrain",function(t,e,r,i){return function(){for(var t=0,a=0;a<r.length;a++){var o=r[a];o===i.interactionState.dragInProgress?(o.x=o.lastDraggedX,o.y=o.lastDraggedY):(o.vx=(o.originalX-o.x)/n.forceTicksPerFrame,o.y=Math.min(i.size-o.dy/2,Math.max(o.dy/2,o.y))),t=Math.max(t,Math.abs(o.vx),Math.abs(o.vy))}!i.interactionState.dragInProgress&&t<.1&&i.forceLayouts[e].alpha()>0&&i.forceLayouts[e].alpha(0)}}(0,e,a,r)).stop()}(0,o,i),function(t,e,r,i,a){window.requestAnimationFrame((function o(){var s;for(s=0;s<n.forceTicksPerFrame;s++)r.forceLayouts[i].tick();if(function(t){for(var e=0;e<t.length;e++)t[e].y0=t[e].y-t[e].dy/2,t[e].y1=t[e].y0+t[e].dy,t[e].x0=t[e].x-t[e].dx/2,t[e].x1=t[e].x0+t[e].dx}(r.graph.nodes),r.sankey.update(r.graph),M(t.filter(N(r)),e),r.forceLayouts[i].alpha()>0)window.requestAnimationFrame(o);else{var l=r.node.originalX;r.node.x0=l-r.visibleWidth/2,r.node.x1=l+r.visibleWidth/2,F(r,a)}}))}(t,e,i,o,a)}})).on("drag",(function(r){if("fixed"!==r.arrangement){var n=i.event.x,a=i.event.y;"snap"===r.arrangement?(r.node.x0=n-r.visibleWidth/2,r.node.x1=n+r.visibleWidth/2,r.node.y0=a-r.visibleHeight/2,r.node.y1=a+r.visibleHeight/2):("freeform"===r.arrangement&&(r.node.x0=n-r.visibleWidth/2,r.node.x1=n+r.visibleWidth/2),a=Math.max(0,Math.min(r.size-r.visibleHeight/2,a)),r.node.y0=a-r.visibleHeight/2,r.node.y1=a+r.visibleHeight/2),B(r.node),"snap"!==r.arrangement&&(r.sankey.update(r.graph),M(t.filter(N(r)),e))}})).on("dragend",(function(t){if("fixed"!==t.arrangement){t.interactionState.dragInProgress=!1;for(var e=0;e<t.node.childrenNodes.length;e++)t.node.childrenNodes[e].x=t.node.x,t.node.childrenNodes[e].y=t.node.y;"snap"!==t.arrangement&&F(t,a)}}));t.on(".drag",null).call(o)}function F(t,e){for(var r=[],n=[],i=0;i<t.graph.nodes.length;i++){var a=(t.graph.nodes[i].x0+t.graph.nodes[i].x1)/2,o=(t.graph.nodes[i].y0+t.graph.nodes[i].y1)/2;r.push(a/t.figure.width),n.push(o/t.figure.height)}y.call("_guiRestyle",e,{"node.x":[r],"node.y":[n]},t.trace.index).then((function(){e._fullLayout._dragCover&&e._fullLayout._dragCover.remove()}))}function B(t){t.lastDraggedX=t.x0+t.dx/2,t.lastDraggedY=t.y0+t.dy/2}function N(t){return function(e){return e.node.originalX===t.node.originalX}}e.exports=function(t,e,r,l,c){var u=!1;f.ensureSingle(t._fullLayout._infolayer,"g","first-render",(function(){u=!0}));var h=t._fullLayout._dragCover,p=r.filter((function(t){return m(t).trace.visible})).map(x.bind(null,l)),v=e.selectAll("."+n.cn.sankey).data(p,d);v.exit().remove(),v.enter().append("g").classed(n.cn.sankey,!0).style("box-sizing","content-box").style("position","absolute").style("left",0).style("shape-rendering","geometricPrecision").style("pointer-events","auto").attr("transform",E),v.each((function(e,r){t._fullData[r]._sankey=e;var n="bgsankey-"+e.trace.uid+"-"+r;f.ensureSingle(t._fullLayout._draggers,"rect",n),t._fullData[r]._bgRect=i.select("."+n),t._fullData[r]._bgRect.style("pointer-events","all").attr("width",e.width).attr("height",e.height).attr("x",e.translateX).attr("y",e.translateY).classed("bgsankey",!0).style({fill:"transparent","stroke-width":0})})),v.transition().ease(n.ease).duration(n.duration).attr("transform",E);var y=v.selectAll("."+n.cn.sankeyLinks).data(g,d);y.enter().append("g").classed(n.cn.sankeyLinks,!0).style("fill","none");var k=y.selectAll("."+n.cn.sankeyLink).data((function(t){return t.graph.links.filter((function(t){return t.value})).map(b.bind(null,t))}),d);k.enter().append("path").classed(n.cn.sankeyLink,!0).call(D,v,c.linkEvents),k.style("stroke",(function(t){return S(t)?o.tinyRGB(a(t.linkLineColor)):t.tinyColorHue})).style("stroke-opacity",(function(t){return S(t)?o.opacity(t.linkLineColor):t.tinyColorAlpha})).style("fill",(function(t){return t.tinyColorHue})).style("fill-opacity",(function(t){return t.tinyColorAlpha})).style("stroke-width",(function(t){return S(t)?t.linkLineWidth:1})).attr("d",_()),k.style("opacity",(function(){return t._context.staticPlot||u||h?1:0})).transition().ease(n.ease).duration(n.duration).style("opacity",1),k.exit().transition().ease(n.ease).duration(n.duration).style("opacity",0).remove();var M=v.selectAll("."+n.cn.sankeyNodeSet).data(g,d);M.enter().append("g").classed(n.cn.sankeyNodeSet,!0),M.style("cursor",(function(t){switch(t.arrangement){case"fixed":return"default";case"perpendicular":return"ns-resize";default:return"move"}}));var F=M.selectAll("."+n.cn.sankeyNode).data((function(t){var e=t.graph.nodes;return function(t){var e,r=[];for(e=0;e<t.length;e++)t[e].originalX=(t[e].x0+t[e].x1)/2,t[e].originalY=(t[e].y0+t[e].y1)/2,-1===r.indexOf(t[e].originalX)&&r.push(t[e].originalX);for(r.sort((function(t,e){return t-e})),e=0;e<t.length;e++)t[e].originalLayerIndex=r.indexOf(t[e].originalX),t[e].originalLayer=t[e].originalLayerIndex/(r.length-1)}(e),e.map(w.bind(null,t))}),d);F.enter().append("g").classed(n.cn.sankeyNode,!0).call(T).style("opacity",(function(e){return!t._context.staticPlot&&!u||e.partOfGroup?0:1})),F.call(D,v,c.nodeEvents).call(R,k,c,t),F.transition().ease(n.ease).duration(n.duration).call(T).style("opacity",(function(t){return t.partOfGroup?0:1})),F.exit().transition().ease(n.ease).duration(n.duration).style("opacity",0).remove();var B=F.selectAll("."+n.cn.nodeRect).data(g);B.enter().append("rect").classed(n.cn.nodeRect,!0).call(A),B.style("stroke-width",(function(t){return t.nodeLineWidth})).style("stroke",(function(t){return o.tinyRGB(a(t.nodeLineColor))})).style("stroke-opacity",(function(t){return o.opacity(t.nodeLineColor)})).style("fill",(function(t){return t.tinyColorHue})).style("fill-opacity",(function(t){return t.tinyColorAlpha})),B.transition().ease(n.ease).duration(n.duration).call(A);var N=F.selectAll("."+n.cn.nodeCapture).data(g);N.enter().append("rect").classed(n.cn.nodeCapture,!0).style("fill-opacity",0),N.attr("x",(function(t){return t.zoneX})).attr("y",(function(t){return t.zoneY})).attr("width",(function(t){return t.zoneWidth})).attr("height",(function(t){return t.zoneHeight}));var j=F.selectAll("."+n.cn.nodeCentered).data(g);j.enter().append("g").classed(n.cn.nodeCentered,!0).attr("transform",C),j.transition().ease(n.ease).duration(n.duration).attr("transform",C);var U=j.selectAll("."+n.cn.nodeLabelGuide).data(g);U.enter().append("path").classed(n.cn.nodeLabelGuide,!0).attr("id",(function(t){return t.uniqueNodeLabelPathId})).attr("d",L).attr("transform",I),U.transition().ease(n.ease).duration(n.duration).attr("d",L).attr("transform",I);var V=j.selectAll("."+n.cn.nodeLabel).data(g);V.enter().append("text").classed(n.cn.nodeLabel,!0).attr("transform",P).style("cursor","default").style("fill","black"),V.style("text-shadow",(function(t){return t.horizontal?"-1px 1px 1px #fff, 1px 1px 1px #fff, 1px -1px 1px #fff, -1px -1px 1px #fff":"none"})).each((function(t){s.font(V,t.textFont)})),V.transition().ease(n.ease).duration(n.duration).attr("transform",P);var q=V.selectAll("."+n.cn.nodeLabelTextPath).data(g);q.enter().append("textPath").classed(n.cn.nodeLabelTextPath,!0).attr("alignment-baseline","middle").attr("xlink:href",(function(t){return"#"+t.uniqueNodeLabelPathId})).attr("startOffset",O).style("fill",z),q.text((function(t){return t.horizontal||t.node.dy>5?t.node.label:""})).attr("text-anchor",(function(t){return t.horizontal&&t.left?"end":"start"})),q.transition().ease(n.ease).duration(n.duration).attr("startOffset",O).style("fill",z)}},{"../../components/color":643,"../../components/drawing":665,"../../lib":778,"../../lib/gup":775,"../../registry":911,"./constants":1180,"@plotly/d3-sankey":56,"@plotly/d3-sankey-circular":55,d3:169,"d3-force":160,"d3-interpolate":162,tinycolor2:576}],1185:[function(t,e,r){"use strict";e.exports=function(t,e){for(var r=[],n=t.cd[0].trace,i=n._sankey.graph.nodes,a=0;a<i.length;a++){var o=i[a];if(!o.partOfGroup){var s=[(o.x0+o.x1)/2,(o.y0+o.y1)/2];"v"===n.orientation&&s.reverse(),e&&e.contains(s,!1,a,t)&&r.push({pointNumber:o.pointNumber})}}return r}},{}],1186:[function(t,e,r){"use strict";var n=t("../../lib");e.exports=function(t,e){for(var r=0;r<t.length;r++)t[r].i=r;n.mergeArray(e.text,t,"tx"),n.mergeArray(e.texttemplate,t,"txt"),n.mergeArray(e.hovertext,t,"htx"),n.mergeArray(e.customdata,t,"data"),n.mergeArray(e.textposition,t,"tp"),e.textfont&&(n.mergeArrayCastPositive(e.textfont.size,t,"ts"),n.mergeArray(e.textfont.color,t,"tc"),n.mergeArray(e.textfont.family,t,"tf"));var i=e.marker;if(i){n.mergeArrayCastPositive(i.size,t,"ms"),n.mergeArrayCastPositive(i.opacity,t,"mo"),n.mergeArray(i.symbol,t,"mx"),n.mergeArray(i.color,t,"mc");var a=i.line;i.line&&(n.mergeArray(a.color,t,"mlc"),n.mergeArrayCastPositive(a.width,t,"mlw"));var o=i.gradient;o&&"none"!==o.type&&(n.mergeArray(o.type,t,"mgt"),n.mergeArray(o.color,t,"mgc"))}}},{"../../lib":778}],1187:[function(t,e,r){"use strict";var n=t("../../plots/template_attributes").texttemplateAttrs,i=t("../../plots/template_attributes").hovertemplateAttrs,a=t("../../components/colorscale/attributes"),o=t("../../plots/font_attributes"),s=t("../../components/drawing/attributes").dash,l=t("../../components/drawing"),c=t("./constants"),u=t("../../lib/extend").extendFlat;e.exports={x:{valType:"data_array",editType:"calc+clearAxisTypes",anim:!0},x0:{valType:"any",dflt:0,editType:"calc+clearAxisTypes",anim:!0},dx:{valType:"number",dflt:1,editType:"calc",anim:!0},y:{valType:"data_array",editType:"calc+clearAxisTypes",anim:!0},y0:{valType:"any",dflt:0,editType:"calc+clearAxisTypes",anim:!0},dy:{valType:"number",dflt:1,editType:"calc",anim:!0},xperiod:{valType:"any",dflt:0,editType:"calc"},yperiod:{valType:"any",dflt:0,editType:"calc"},xperiod0:{valType:"any",editType:"calc"},yperiod0:{valType:"any",editType:"calc"},xperiodalignment:{valType:"enumerated",values:["start","middle","end"],dflt:"middle",editType:"calc"},yperiodalignment:{valType:"enumerated",values:["start","middle","end"],dflt:"middle",editType:"calc"},stackgroup:{valType:"string",dflt:"",editType:"calc"},orientation:{valType:"enumerated",values:["v","h"],editType:"calc"},groupnorm:{valType:"enumerated",values:["","fraction","percent"],dflt:"",editType:"calc"},stackgaps:{valType:"enumerated",values:["infer zero","interpolate"],dflt:"infer zero",editType:"calc"},text:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},texttemplate:n({},{}),hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"style"},mode:{valType:"flaglist",flags:["lines","markers","text"],extras:["none"],editType:"calc"},hoveron:{valType:"flaglist",flags:["points","fills"],editType:"style"},hovertemplate:i({},{keys:c.eventDataKeys}),line:{color:{valType:"color",editType:"style",anim:!0},width:{valType:"number",min:0,dflt:2,editType:"style",anim:!0},shape:{valType:"enumerated",values:["linear","spline","hv","vh","hvh","vhv"],dflt:"linear",editType:"plot"},smoothing:{valType:"number",min:0,max:1.3,dflt:1,editType:"plot"},dash:u({},s,{editType:"style"}),simplify:{valType:"boolean",dflt:!0,editType:"plot"},editType:"plot"},connectgaps:{valType:"boolean",dflt:!1,editType:"calc"},cliponaxis:{valType:"boolean",dflt:!0,editType:"plot"},fill:{valType:"enumerated",values:["none","tozeroy","tozerox","tonexty","tonextx","toself","tonext"],editType:"calc"},fillcolor:{valType:"color",editType:"style",anim:!0},marker:u({symbol:{valType:"enumerated",values:l.symbolList,dflt:"circle",arrayOk:!0,editType:"style"},opacity:{valType:"number",min:0,max:1,arrayOk:!0,editType:"style",anim:!0},size:{valType:"number",min:0,dflt:6,arrayOk:!0,editType:"calc",anim:!0},maxdisplayed:{valType:"number",min:0,dflt:0,editType:"plot"},sizeref:{valType:"number",dflt:1,editType:"calc"},sizemin:{valType:"number",min:0,dflt:0,editType:"calc"},sizemode:{valType:"enumerated",values:["diameter","area"],dflt:"diameter",editType:"calc"},line:u({width:{valType:"number",min:0,arrayOk:!0,editType:"style",anim:!0},editType:"calc"},a("marker.line",{anim:!0})),gradient:{type:{valType:"enumerated",values:["radial","horizontal","vertical","none"],arrayOk:!0,dflt:"none",editType:"calc"},color:{valType:"color",arrayOk:!0,editType:"calc"},editType:"calc"},editType:"calc"},a("marker",{anim:!0})),selected:{marker:{opacity:{valType:"number",min:0,max:1,editType:"style"},color:{valType:"color",editType:"style"},size:{valType:"number",min:0,editType:"style"},editType:"style"},textfont:{color:{valType:"color",editType:"style"},editType:"style"},editType:"style"},unselected:{marker:{opacity:{valType:"number",min:0,max:1,editType:"style"},color:{valType:"color",editType:"style"},size:{valType:"number",min:0,editType:"style"},editType:"style"},textfont:{color:{valType:"color",editType:"style"},editType:"style"},editType:"style"},textposition:{valType:"enumerated",values:["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"],dflt:"middle center",arrayOk:!0,editType:"calc"},textfont:o({editType:"calc",colorEditType:"style",arrayOk:!0}),r:{valType:"data_array",editType:"calc"},t:{valType:"data_array",editType:"calc"}}},{"../../components/colorscale/attributes":650,"../../components/drawing":665,"../../components/drawing/attributes":664,"../../lib/extend":768,"../../plots/font_attributes":856,"../../plots/template_attributes":906,"./constants":1191}],1188:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../lib"),a=t("../../plots/cartesian/axes"),o=t("../../plots/cartesian/align_period"),s=t("../../constants/numerical").BADNUM,l=t("./subtypes"),c=t("./colorscale_calc"),u=t("./arrays_to_calcdata"),f=t("./calc_selection");function h(t,e,r,n,i,o,s){var c=e._length,u=t._fullLayout,f=r._id,h=n._id,p=u._firstScatter[g(e)]===e.uid,d=(m(e,u,r,n)||{}).orientation,v=e.fill;r._minDtick=0,n._minDtick=0;var y={padded:!0},x={padded:!0};s&&(y.ppad=x.ppad=s);var b=c<2||i[0]!==i[c-1]||o[0]!==o[c-1];b&&("tozerox"===v||"tonextx"===v&&(p||"h"===d))?y.tozero=!0:(e.error_y||{}).visible||"tonexty"!==v&&"tozeroy"!==v&&(l.hasMarkers(e)||l.hasText(e))||(y.padded=!1,y.ppad=0),b&&("tozeroy"===v||"tonexty"===v&&(p||"v"===d))?x.tozero=!0:"tonextx"!==v&&"tozerox"!==v||(x.padded=!1),f&&(e._extremes[f]=a.findExtremes(r,i,y)),h&&(e._extremes[h]=a.findExtremes(n,o,x))}function p(t,e){if(l.hasMarkers(t)){var r,n=t.marker,o=1.6*(t.marker.sizeref||1);if(r="area"===t.marker.sizemode?function(t){return Math.max(Math.sqrt((t||0)/o),3)}:function(t){return Math.max((t||0)/o,3)},i.isArrayOrTypedArray(n.size)){var s={type:"linear"};a.setConvert(s);for(var c=s.makeCalcdata(t.marker,"size"),u=new Array(e),f=0;f<e;f++)u[f]=r(c[f]);return u}return r(n.size)}}function d(t,e){var r=g(e),n=t._firstScatter;n[r]||(n[r]=e.uid)}function g(t){var e=t.stackgroup;return t.xaxis+t.yaxis+t.type+(e?"-"+e:"")}function m(t,e,r,n){var i=t.stackgroup;if(i){var a=e._scatterStackOpts[r._id+n._id][i],o="v"===a.orientation?n:r;return"linear"===o.type||"log"===o.type?a:void 0}}e.exports={calc:function(t,e){var r,l,g,v,y,x,b=t._fullLayout,_=a.getFromId(t,e.xaxis||"x"),w=a.getFromId(t,e.yaxis||"y"),T=_.makeCalcdata(e,"x"),k=w.makeCalcdata(e,"y"),M=o(e,_,"x",T),A=o(e,w,"y",k),S=e._length,E=new Array(S),C=e.ids,L=m(e,b,_,w),I=!1;d(b,e);var P,z="x",O="y";L?(i.pushUnique(L.traceIndices,e._expandedIndex),(r="v"===L.orientation)?(O="s",P="x"):(z="s",P="y"),y="interpolate"===L.stackgaps):h(t,e,_,w,M,A,p(e,S));var D=!!e.xperiodalignment,R=!!e.yperiodalignment;for(l=0;l<S;l++){var F=E[l]={},B=n(M[l]),N=n(A[l]);B&&N?(F[z]=M[l],F[O]=A[l],D&&(F.orig_x=T[l]),R&&(F.orig_y=k[l])):L&&(r?B:N)?(F[P]=r?M[l]:A[l],F.gap=!0,y?(F.s=s,I=!0):F.s=0):F[z]=F[O]=s,C&&(F.id=String(C[l]))}if(u(E,e),c(t,e),f(E,e),L){for(l=0;l<E.length;)E[l][P]===s?E.splice(l,1):l++;if(i.sort(E,(function(t,e){return t[P]-e[P]||t.i-e.i})),I){for(l=0;l<E.length-1&&E[l].gap;)l++;for((x=E[l].s)||(x=E[l].s=0),g=0;g<l;g++)E[g].s=x;for(v=E.length-1;v>l&&E[v].gap;)v--;for(x=E[v].s,g=E.length-1;g>v;g--)E[g].s=x;for(;l<v;)if(E[++l].gap){for(g=l+1;E[g].gap;)g++;for(var j=E[l-1][P],U=E[l-1].s,V=(E[g].s-U)/(E[g][P]-j);l<g;)E[l].s=U+(E[l][P]-j)*V,l++}}}return E},calcMarkerSize:p,calcAxisExpansion:h,setFirstScatter:d,getStackOpts:m}},{"../../constants/numerical":753,"../../lib":778,"../../plots/cartesian/align_period":825,"../../plots/cartesian/axes":828,"./arrays_to_calcdata":1186,"./calc_selection":1189,"./colorscale_calc":1190,"./subtypes":1212,"fast-isnumeric":241}],1189:[function(t,e,r){"use strict";var n=t("../../lib");e.exports=function(t,e){n.isArrayOrTypedArray(e.selectedpoints)&&n.tagSelected(t,e)}},{"../../lib":778}],1190:[function(t,e,r){"use strict";var n=t("../../components/colorscale/helpers").hasColorscale,i=t("../../components/colorscale/calc"),a=t("./subtypes");e.exports=function(t,e){a.hasLines(e)&&n(e,"line")&&i(t,e,{vals:e.line.color,containerStr:"line",cLetter:"c"}),a.hasMarkers(e)&&(n(e,"marker")&&i(t,e,{vals:e.marker.color,containerStr:"marker",cLetter:"c"}),n(e,"marker.line")&&i(t,e,{vals:e.marker.line.color,containerStr:"marker.line",cLetter:"c"}))}},{"../../components/colorscale/calc":651,"../../components/colorscale/helpers":654,"./subtypes":1212}],1191:[function(t,e,r){"use strict";e.exports={PTS_LINESONLY:20,minTolerance:.2,toleranceGrowth:10,maxScreensAway:20,eventDataKeys:[]}},{}],1192:[function(t,e,r){"use strict";var n=t("./calc");function i(t,e,r,n,i,a,o){i[n]=!0;var s={i:null,gap:!0,s:0};if(s[o]=r,t.splice(e,0,s),e&&r===t[e-1][o]){var l=t[e-1];s.s=l.s,s.i=l.i,s.gap=l.gap}else a&&(s.s=function(t,e,r,n){var i=t[e-1],a=t[e+1];return a?i?i.s+(a.s-i.s)*(r-i[n])/(a[n]-i[n]):a.s:i.s}(t,e,r,o));e||(t[0].t=t[1].t,t[0].trace=t[1].trace,delete t[1].t,delete t[1].trace)}e.exports=function(t,e){var r=e.xaxis,a=e.yaxis,o=r._id+a._id,s=t._fullLayout._scatterStackOpts[o];if(s){var l,c,u,f,h,p,d,g,m,v,y,x,b,_,w,T=t.calcdata;for(var k in s){var M=(v=s[k]).traceIndices;if(M.length){for(y="interpolate"===v.stackgaps,x=v.groupnorm,"v"===v.orientation?(b="x",_="y"):(b="y",_="x"),w=new Array(M.length),l=0;l<w.length;l++)w[l]=!1;p=T[M[0]];var A=new Array(p.length);for(l=0;l<p.length;l++)A[l]=p[l][b];for(l=1;l<M.length;l++){for(h=T[M[l]],c=u=0;c<h.length;c++){for(d=h[c][b];d>A[u]&&u<A.length;u++)i(h,c,A[u],l,w,y,b),c++;if(d!==A[u]){for(f=0;f<l;f++)i(T[M[f]],u,d,f,w,y,b);A.splice(u,0,d)}u++}for(;u<A.length;u++)i(h,c,A[u],l,w,y,b),c++}var S=A.length;for(c=0;c<p.length;c++){for(g=p[c][_]=p[c].s,l=1;l<M.length;l++)(h=T[M[l]])[0].trace._rawLength=h[0].trace._length,h[0].trace._length=S,g+=h[c].s,h[c][_]=g;if(x)for(m=("fraction"===x?g:g/100)||1,l=0;l<M.length;l++){var E=T[M[l]][c];E[_]/=m,E.sNorm=E.s/m}}for(l=0;l<M.length;l++){var C=(h=T[M[l]])[0].trace,L=n.calcMarkerSize(C,C._rawLength),I=Array.isArray(L);if(L&&w[l]||I){var P=L;for(L=new Array(S),c=0;c<S;c++)L[c]=h[c].gap?0:I?P[h[c].i]:P}var z=new Array(S),O=new Array(S);for(c=0;c<S;c++)z[c]=h[c].x,O[c]=h[c].y;n.calcAxisExpansion(t,C,r,a,z,O,L),h[0].t.orientation=v.orientation}}}}}},{"./calc":1188}],1193:[function(t,e,r){"use strict";e.exports=function(t){for(var e=0;e<t.length;e++){var r=t[e];if("scatter"===r.type){var n=r.fill;if("none"!==n&&"toself"!==n&&(r.opacity=void 0,"tonexty"===n||"tonextx"===n))for(var i=e-1;i>=0;i--){var a=t[i];if("scatter"===a.type&&a.xaxis===r.xaxis&&a.yaxis===r.yaxis){a.opacity=void 0;break}}}}}},{}],1194:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../registry"),a=t("./attributes"),o=t("./constants"),s=t("./subtypes"),l=t("./xy_defaults"),c=t("./period_defaults"),u=t("./stack_defaults"),f=t("./marker_defaults"),h=t("./line_defaults"),p=t("./line_shape_defaults"),d=t("./text_defaults"),g=t("./fillcolor_defaults");e.exports=function(t,e,r,m){function v(r,i){return n.coerce(t,e,a,r,i)}var y=l(t,e,m,v);if(y||(e.visible=!1),e.visible){c(t,e,m,v);var x=u(t,e,m,v),b=!x&&y<o.PTS_LINESONLY?"lines+markers":"lines";v("text"),v("hovertext"),v("mode",b),s.hasLines(e)&&(h(t,e,r,m,v),p(t,e,v),v("connectgaps"),v("line.simplify")),s.hasMarkers(e)&&f(t,e,r,m,v,{gradient:!0}),s.hasText(e)&&(v("texttemplate"),d(t,e,m,v));var _=[];(s.hasMarkers(e)||s.hasText(e))&&(v("cliponaxis"),v("marker.maxdisplayed"),_.push("points")),v("fill",x?x.fillDflt:"none"),"none"!==e.fill&&(g(t,e,r,v),s.hasLines(e)||p(t,e,v));var w=(e.line||{}).color,T=(e.marker||{}).color;"tonext"!==e.fill&&"toself"!==e.fill||_.push("fills"),v("hoveron",_.join("+")||"points"),"fills"!==e.hoveron&&v("hovertemplate");var k=i.getComponentMethod("errorbars","supplyDefaults");k(t,e,w||T||r,{axis:"y"}),k(t,e,w||T||r,{axis:"x",inherit:"y"}),n.coerceSelectionMarkerOpacity(e,v)}}},{"../../lib":778,"../../registry":911,"./attributes":1187,"./constants":1191,"./fillcolor_defaults":1195,"./line_defaults":1200,"./line_shape_defaults":1202,"./marker_defaults":1206,"./period_defaults":1207,"./stack_defaults":1210,"./subtypes":1212,"./text_defaults":1213,"./xy_defaults":1214}],1195:[function(t,e,r){"use strict";var n=t("../../components/color"),i=t("../../lib").isArrayOrTypedArray;e.exports=function(t,e,r,a){var o=!1;if(e.marker){var s=e.marker.color,l=(e.marker.line||{}).color;s&&!i(s)?o=s:l&&!i(l)&&(o=l)}a("fillcolor",n.addOpacity((e.line||{}).color||o||r,.5))}},{"../../components/color":643,"../../lib":778}],1196:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes");e.exports=function(t,e,r){var i={},a={_fullLayout:r},o=n.getFromTrace(a,e,"x"),s=n.getFromTrace(a,e,"y");return i.xLabel=n.tickText(o,t.x,!0).text,i.yLabel=n.tickText(s,t.y,!0).text,i}},{"../../plots/cartesian/axes":828}],1197:[function(t,e,r){"use strict";var n=t("../../components/color"),i=t("./subtypes");e.exports=function(t,e){var r,a;if("lines"===t.mode)return(r=t.line.color)&&n.opacity(r)?r:t.fillcolor;if("none"===t.mode)return t.fill?t.fillcolor:"";var o=e.mcc||(t.marker||{}).color,s=e.mlcc||((t.marker||{}).line||{}).color;return(a=o&&n.opacity(o)?o:s&&n.opacity(s)&&(e.mlw||((t.marker||{}).line||{}).width)?s:"")?n.opacity(a)<.3?n.addOpacity(a,.3):a:(r=(t.line||{}).color)&&n.opacity(r)&&i.hasLines(t)&&t.line.width?r:t.fillcolor}},{"../../components/color":643,"./subtypes":1212}],1198:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../components/fx"),a=t("../../registry"),o=t("./get_trace_color"),s=t("../../components/color"),l=n.fillText;e.exports=function(t,e,r,c){var u=t.cd,f=u[0].trace,h=t.xa,p=t.ya,d=h.c2p(e),g=p.c2p(r),m=[d,g],v=f.hoveron||"",y=-1!==f.mode.indexOf("markers")?3:.5;if(-1!==v.indexOf("points")){var x=function(t){var e=Math.max(y,t.mrc||0),r=h.c2p(t.x)-d,n=p.c2p(t.y)-g;return Math.max(Math.sqrt(r*r+n*n)-e,1-y/e)},b=i.getDistanceFunction(c,(function(t){var e=Math.max(3,t.mrc||0),r=1-1/e,n=Math.abs(h.c2p(t.x)-d);return n<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<e?r*n/e:n-e+r}),x);if(i.getClosest(u,b,t),!1!==t.index){var _=u[t.index],w=h.c2p(_.x,!0),T=p.c2p(_.y,!0),k=_.mrc||1;t.index=_.i;var M=u[0].t.orientation,A=M&&(_.sNorm||_.s),S="h"===M?A:void 0!==_.orig_x?_.orig_x:_.x,E="v"===M?A:void 0!==_.orig_y?_.orig_y:_.y;return n.extendFlat(t,{color:o(f,_),x0:w-k,x1:w+k,xLabelVal:S,y0:T-k,y1:T+k,yLabelVal:E,spikeDistance:x(_),hovertemplate:f.hovertemplate}),l(_,f,t),a.getComponentMethod("errorbars","hoverInfo")(_,f,t),[t]}}if(-1!==v.indexOf("fills")&&f._polygons){var C,L,I,P,z,O,D,R,F,B=f._polygons,N=[],j=!1,U=1/0,V=-1/0,q=1/0,H=-1/0;for(C=0;C<B.length;C++)(I=B[C]).contains(m)&&(j=!j,N.push(I),q=Math.min(q,I.ymin),H=Math.max(H,I.ymax));if(j){var G=((q=Math.max(q,0))+(H=Math.min(H,p._length)))/2;for(C=0;C<N.length;C++)for(P=N[C].pts,L=1;L<P.length;L++)(R=P[L-1][1])>G!=(F=P[L][1])>=G&&(O=P[L-1][0],D=P[L][0],F-R&&(z=O+(D-O)*(G-R)/(F-R),U=Math.min(U,z),V=Math.max(V,z)));U=Math.max(U,0),V=Math.min(V,h._length);var Y=s.defaultLine;return s.opacity(f.fillcolor)?Y=f.fillcolor:s.opacity((f.line||{}).color)&&(Y=f.line.color),n.extendFlat(t,{distance:t.maxHoverDistance,x0:U,x1:V,y0:G,y1:G,color:Y,hovertemplate:!1}),delete t.index,f.text&&!Array.isArray(f.text)?t.text=String(f.text):t.text=f.name,[t]}}}},{"../../components/color":643,"../../components/fx":683,"../../lib":778,"../../registry":911,"./get_trace_color":1197}],1199:[function(t,e,r){"use strict";var n=t("./subtypes");e.exports={hasLines:n.hasLines,hasMarkers:n.hasMarkers,hasText:n.hasText,isBubble:n.isBubble,attributes:t("./attributes"),supplyDefaults:t("./defaults"),crossTraceDefaults:t("./cross_trace_defaults"),calc:t("./calc").calc,crossTraceCalc:t("./cross_trace_calc"),arraysToCalcdata:t("./arrays_to_calcdata"),plot:t("./plot"),colorbar:t("./marker_colorbar"),formatLabels:t("./format_labels"),style:t("./style").style,styleOnSelect:t("./style").styleOnSelect,hoverPoints:t("./hover"),selectPoints:t("./select"),animatable:!0,moduleType:"trace",name:"scatter",basePlotModule:t("../../plots/cartesian"),categories:["cartesian","svg","symbols","errorBarsOK","showLegend","scatter-like","zoomScale"],meta:{}}},{"../../plots/cartesian":841,"./arrays_to_calcdata":1186,"./attributes":1187,"./calc":1188,"./cross_trace_calc":1192,"./cross_trace_defaults":1193,"./defaults":1194,"./format_labels":1196,"./hover":1198,"./marker_colorbar":1205,"./plot":1208,"./select":1209,"./style":1211,"./subtypes":1212}],1200:[function(t,e,r){"use strict";var n=t("../../lib").isArrayOrTypedArray,i=t("../../components/colorscale/helpers").hasColorscale,a=t("../../components/colorscale/defaults");e.exports=function(t,e,r,o,s,l){var c=(t.marker||{}).color;(s("line.color",r),i(t,"line"))?a(t,e,o,s,{prefix:"line.",cLetter:"c"}):s("line.color",!n(c)&&c||r);s("line.width"),(l||{}).noDash||s("line.dash")}},{"../../components/colorscale/defaults":653,"../../components/colorscale/helpers":654,"../../lib":778}],1201:[function(t,e,r){"use strict";var n=t("../../constants/numerical"),i=n.BADNUM,a=n.LOG_CLIP,o=a+.5,s=a-.5,l=t("../../lib"),c=l.segmentsIntersect,u=l.constrain,f=t("./constants");e.exports=function(t,e){var r,n,a,h,p,d,g,m,v,y,x,b,_,w,T,k,M,A,S=e.xaxis,E=e.yaxis,C="log"===S.type,L="log"===E.type,I=S._length,P=E._length,z=e.connectGaps,O=e.baseTolerance,D=e.shape,R="linear"===D,F=e.fill&&"none"!==e.fill,B=[],N=f.minTolerance,j=t.length,U=new Array(j),V=0;function q(r){var n=t[r];if(!n)return!1;var a=e.linearized?S.l2p(n.x):S.c2p(n.x),l=e.linearized?E.l2p(n.y):E.c2p(n.y);if(a===i){if(C&&(a=S.c2p(n.x,!0)),a===i)return!1;L&&l===i&&(a*=Math.abs(S._m*P*(S._m>0?o:s)/(E._m*I*(E._m>0?o:s)))),a*=1e3}if(l===i){if(L&&(l=E.c2p(n.y,!0)),l===i)return!1;l*=1e3}return[a,l]}function H(t,e,r,n){var i=r-t,a=n-e,o=.5-t,s=.5-e,l=i*i+a*a,c=i*o+a*s;if(c>0&&c<l){var u=o*a-s*i;if(u*u<l)return!0}}function G(t,e){var r=t[0]/I,n=t[1]/P,i=Math.max(0,-r,r-1,-n,n-1);return i&&void 0!==M&&H(r,n,M,A)&&(i=0),i&&e&&H(r,n,e[0]/I,e[1]/P)&&(i=0),(1+f.toleranceGrowth*i)*O}function Y(t,e){var r=t[0]-e[0],n=t[1]-e[1];return Math.sqrt(r*r+n*n)}var W,X,Z,J,K,Q,$,tt=f.maxScreensAway,et=-I*tt,rt=I*(1+tt),nt=-P*tt,it=P*(1+tt),at=[[et,nt,rt,nt],[rt,nt,rt,it],[rt,it,et,it],[et,it,et,nt]];function ot(t){if(t[0]<et||t[0]>rt||t[1]<nt||t[1]>it)return[u(t[0],et,rt),u(t[1],nt,it)]}function st(t,e){return t[0]===e[0]&&(t[0]===et||t[0]===rt)||(t[1]===e[1]&&(t[1]===nt||t[1]===it)||void 0)}function lt(t,e,r){return function(n,i){var a=ot(n),o=ot(i),s=[];if(a&&o&&st(a,o))return s;a&&s.push(a),o&&s.push(o);var c=2*l.constrain((n[t]+i[t])/2,e,r)-((a||n)[t]+(o||i)[t]);c&&((a&&o?c>0==a[t]>o[t]?a:o:a||o)[t]+=c);return s}}function ct(t){var e=t[0],r=t[1],n=e===U[V-1][0],i=r===U[V-1][1];if(!n||!i)if(V>1){var a=e===U[V-2][0],o=r===U[V-2][1];n&&(e===et||e===rt)&&a?o?V--:U[V-1]=t:i&&(r===nt||r===it)&&o?a?V--:U[V-1]=t:U[V++]=t}else U[V++]=t}function ut(t){U[V-1][0]!==t[0]&&U[V-1][1]!==t[1]&&ct([Z,J]),ct(t),K=null,Z=J=0}function ft(t){if(M=t[0]/I,A=t[1]/P,W=t[0]<et?et:t[0]>rt?rt:0,X=t[1]<nt?nt:t[1]>it?it:0,W||X){if(V)if(K){var e=$(K,t);e.length>1&&(ut(e[0]),U[V++]=e[1])}else Q=$(U[V-1],t)[0],U[V++]=Q;else U[V++]=[W||t[0],X||t[1]];var r=U[V-1];W&&X&&(r[0]!==W||r[1]!==X)?(K&&(Z!==W&&J!==X?ct(Z&&J?(n=K,a=(i=t)[0]-n[0],o=(i[1]-n[1])/a,(n[1]*i[0]-i[1]*n[0])/a>0?[o>0?et:rt,it]:[o>0?rt:et,nt]):[Z||W,J||X]):Z&&J&&ct([Z,J])),ct([W,X])):Z-W&&J-X&&ct([W||Z,X||J]),K=t,Z=W,J=X}else K&&ut($(K,t)[0]),U[V++]=t;var n,i,a,o}for("linear"===D||"spline"===D?$=function(t,e){for(var r=[],n=0,i=0;i<4;i++){var a=at[i],o=c(t[0],t[1],e[0],e[1],a[0],a[1],a[2],a[3]);o&&(!n||Math.abs(o.x-r[0][0])>1||Math.abs(o.y-r[0][1])>1)&&(o=[o.x,o.y],n&&Y(o,t)<Y(r[0],t)?r.unshift(o):r.push(o),n++)}return r}:"hv"===D||"vh"===D?$=function(t,e){var r=[],n=ot(t),i=ot(e);return n&&i&&st(n,i)||(n&&r.push(n),i&&r.push(i)),r}:"hvh"===D?$=lt(0,et,rt):"vhv"===D&&($=lt(1,nt,it)),r=0;r<j;r++)if(n=q(r)){for(V=0,K=null,ft(n),r++;r<j;r++){if(!(h=q(r))){if(z)continue;break}if(R&&e.simplify){var ht=q(r+1);if(y=Y(h,n),F&&(0===V||V===j-1)||!(y<G(h,ht)*N)){for(m=[(h[0]-n[0])/y,(h[1]-n[1])/y],p=n,x=y,b=w=T=0,g=!1,a=h,r++;r<t.length;r++){if(d=ht,ht=q(r+1),!d){if(z)continue;break}if(k=(v=[d[0]-n[0],d[1]-n[1]])[0]*m[1]-v[1]*m[0],w=Math.min(w,k),(T=Math.max(T,k))-w>G(d,ht))break;a=d,(_=v[0]*m[0]+v[1]*m[1])>x?(x=_,h=d,g=!1):_<b&&(b=_,p=d,g=!0)}if(g?(ft(h),a!==p&&ft(p)):(p!==n&&ft(p),a!==h&&ft(h)),ft(a),r>=t.length||!d)break;ft(d),n=d}}else ft(h)}K&&ct([Z||K[0],J||K[1]]),B.push(U.slice(0,V))}return B}},{"../../constants/numerical":753,"../../lib":778,"./constants":1191}],1202:[function(t,e,r){"use strict";e.exports=function(t,e,r){"spline"===r("line.shape")&&r("line.smoothing")}},{}],1203:[function(t,e,r){"use strict";var n={tonextx:1,tonexty:1,tonext:1};e.exports=function(t,e,r){var i,a,o,s,l,c={},u=!1,f=-1,h=0,p=-1;for(a=0;a<r.length;a++)(o=(i=r[a][0].trace).stackgroup||"")?o in c?l=c[o]:(l=c[o]=h,h++):i.fill in n&&p>=0?l=p:(l=p=h,h++),l<f&&(u=!0),i._groupIndex=f=l;var d=r.slice();u&&d.sort((function(t,e){var r=t[0].trace,n=e[0].trace;return r._groupIndex-n._groupIndex||r.index-n.index}));var g={};for(a=0;a<d.length;a++)o=(i=d[a][0].trace).stackgroup||"",!0===i.visible?(i._nexttrace=null,i.fill in n&&(s=g[o],i._prevtrace=s||null,s&&(s._nexttrace=i)),i._ownfill=i.fill&&("tozero"===i.fill.substr(0,6)||"toself"===i.fill||"to"===i.fill.substr(0,2)&&!i._prevtrace),g[o]=i):i._prevtrace=i._nexttrace=i._ownfill=null;return d}},{}],1204:[function(t,e,r){"use strict";var n=t("fast-isnumeric");e.exports=function(t){var e=t.marker,r=e.sizeref||1,i=e.sizemin||0,a="area"===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)&&e>0?Math.max(e,i):0}}},{"fast-isnumeric":241}],1205:[function(t,e,r){"use strict";e.exports={container:"marker",min:"cmin",max:"cmax"}},{}],1206:[function(t,e,r){"use strict";var n=t("../../components/color"),i=t("../../components/colorscale/helpers").hasColorscale,a=t("../../components/colorscale/defaults"),o=t("./subtypes");e.exports=function(t,e,r,s,l,c){var u=o.isBubble(t),f=(t.line||{}).color;(c=c||{},f&&(r=f),l("marker.symbol"),l("marker.opacity",u?.7:1),l("marker.size"),l("marker.color",r),i(t,"marker")&&a(t,e,s,l,{prefix:"marker.",cLetter:"c"}),c.noSelect||(l("selected.marker.color"),l("unselected.marker.color"),l("selected.marker.size"),l("unselected.marker.size")),c.noLine||(l("marker.line.color",f&&!Array.isArray(f)&&e.marker.color!==f?f:u?n.background:n.defaultLine),i(t,"marker.line")&&a(t,e,s,l,{prefix:"marker.line.",cLetter:"c"}),l("marker.line.width",u?1:0)),u&&(l("marker.sizeref"),l("marker.sizemin"),l("marker.sizemode")),c.gradient)&&("none"!==l("marker.gradient.type")&&l("marker.gradient.color"))}},{"../../components/color":643,"../../components/colorscale/defaults":653,"../../components/colorscale/helpers":654,"./subtypes":1212}],1207:[function(t,e,r){"use strict";var n=t("../../lib").dateTick0,i=t("../../constants/numerical").ONEWEEK;function a(t,e){return n(e,t%i==0?1:0)}e.exports=function(t,e,r,n,i){if(i||(i={x:!0,y:!0}),i.x){var o=n("xperiod");o&&(n("xperiod0",a(o,e.xcalendar)),n("xperiodalignment"))}if(i.y){var s=n("yperiod");s&&(n("yperiod0",a(s,e.ycalendar)),n("yperiodalignment"))}}},{"../../constants/numerical":753,"../../lib":778}],1208:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../registry"),a=t("../../lib"),o=a.ensureSingle,s=a.identity,l=t("../../components/drawing"),c=t("./subtypes"),u=t("./line_points"),f=t("./link_traces"),h=t("../../lib/polygon").tester;function p(t,e,r,f,p,d,g){var m;!function(t,e,r,i,o){var s=r.xaxis,l=r.yaxis,u=n.extent(a.simpleMap(s.range,s.r2c)),f=n.extent(a.simpleMap(l.range,l.r2c)),h=i[0].trace;if(!c.hasMarkers(h))return;var p=h.marker.maxdisplayed;if(0===p)return;var d=i.filter((function(t){return t.x>=u[0]&&t.x<=u[1]&&t.y>=f[0]&&t.y<=f[1]})),g=Math.ceil(d.length/p),m=0;o.forEach((function(t,r){var n=t[0].trace;c.hasMarkers(n)&&n.marker.maxdisplayed>0&&r<e&&m++}));var v=Math.round(m*g/3+Math.floor(m/3)*g/7.1);i.forEach((function(t){delete t.vis})),d.forEach((function(t,e){0===Math.round((e+v)%g)&&(t.vis=!0)}))}(0,e,r,f,p);var v=!!g&&g.duration>0;function y(t){return v?t.transition():t}var x=r.xaxis,b=r.yaxis,_=f[0].trace,w=_.line,T=n.select(d),k=o(T,"g","errorbars"),M=o(T,"g","lines"),A=o(T,"g","points"),S=o(T,"g","text");if(i.getComponentMethod("errorbars","plot")(t,k,r,g),!0===_.visible){var E,C;y(T).style("opacity",_.opacity);var L=_.fill.charAt(_.fill.length-1);"x"!==L&&"y"!==L&&(L=""),f[0][r.isRangePlot?"nodeRangePlot3":"node3"]=T;var I,P,z="",O=[],D=_._prevtrace;D&&(z=D._prevRevpath||"",C=D._nextFill,O=D._polygons);var R,F,B,N,j,U,V,q="",H="",G=[],Y=a.noop;if(E=_._ownFill,c.hasLines(_)||"none"!==_.fill){for(C&&C.datum(f),-1!==["hv","vh","hvh","vhv"].indexOf(w.shape)?(R=l.steps(w.shape),F=l.steps(w.shape.split("").reverse().join(""))):R=F="spline"===w.shape?function(t){var e=t[t.length-1];return t.length>1&&t[0][0]===e[0]&&t[0][1]===e[1]?l.smoothclosed(t.slice(1),w.smoothing):l.smoothopen(t,w.smoothing)}:function(t){return"M"+t.join("L")},B=function(t){return F(t.reverse())},G=u(f,{xaxis:x,yaxis:b,connectGaps:_.connectgaps,baseTolerance:Math.max(w.width||1,3)/4,shape:w.shape,simplify:w.simplify,fill:_.fill}),V=_._polygons=new Array(G.length),m=0;m<G.length;m++)_._polygons[m]=h(G[m]);G.length&&(N=G[0][0],U=(j=G[G.length-1])[j.length-1]),Y=function(t){return function(e){if(I=R(e),P=B(e),q?L?(q+="L"+I.substr(1),H=P+"L"+H.substr(1)):(q+="Z"+I,H=P+"Z"+H):(q=I,H=P),c.hasLines(_)&&e.length>1){var r=n.select(this);if(r.datum(f),t)y(r.style("opacity",0).attr("d",I).call(l.lineGroupStyle)).style("opacity",1);else{var i=y(r);i.attr("d",I),l.singleLineStyle(f,i)}}}}}var W=M.selectAll(".js-line").data(G);y(W.exit()).style("opacity",0).remove(),W.each(Y(!1)),W.enter().append("path").classed("js-line",!0).style("vector-effect","non-scaling-stroke").call(l.lineGroupStyle).each(Y(!0)),l.setClipUrl(W,r.layerClipId,t),G.length?(E?(E.datum(f),N&&U&&(L?("y"===L?N[1]=U[1]=b.c2p(0,!0):"x"===L&&(N[0]=U[0]=x.c2p(0,!0)),y(E).attr("d","M"+U+"L"+N+"L"+q.substr(1)).call(l.singleFillStyle)):y(E).attr("d",q+"Z").call(l.singleFillStyle))):C&&("tonext"===_.fill.substr(0,6)&&q&&z?("tonext"===_.fill?y(C).attr("d",q+"Z"+z+"Z").call(l.singleFillStyle):y(C).attr("d",q+"L"+z.substr(1)+"Z").call(l.singleFillStyle),_._polygons=_._polygons.concat(O)):(Z(C),_._polygons=null)),_._prevRevpath=H,_._prevPolygons=V):(E?Z(E):C&&Z(C),_._polygons=_._prevRevpath=_._prevPolygons=null),A.datum(f),S.datum(f),function(e,i,a){var o,u=a[0].trace,f=c.hasMarkers(u),h=c.hasText(u),p=tt(u),d=et,g=et;if(f||h){var m=s,_=u.stackgroup,w=_&&"infer zero"===t._fullLayout._scatterStackOpts[x._id+b._id][_].stackgaps;u.marker.maxdisplayed||u._needsCull?m=w?K:J:_&&!w&&(m=Q),f&&(d=m),h&&(g=m)}var T,k=(o=e.selectAll("path.point").data(d,p)).enter().append("path").classed("point",!0);v&&k.call(l.pointStyle,u,t).call(l.translatePoints,x,b).style("opacity",0).transition().style("opacity",1),o.order(),f&&(T=l.makePointStyleFns(u)),o.each((function(e){var i=n.select(this),a=y(i);l.translatePoint(e,a,x,b)?(l.singlePointStyle(e,a,u,T,t),r.layerClipId&&l.hideOutsideRangePoint(e,a,x,b,u.xcalendar,u.ycalendar),u.customdata&&i.classed("plotly-customdata",null!==e.data&&void 0!==e.data)):a.remove()})),v?o.exit().transition().style("opacity",0).remove():o.exit().remove(),(o=i.selectAll("g").data(g,p)).enter().append("g").classed("textpoint",!0).append("text"),o.order(),o.each((function(t){var e=n.select(this),i=y(e.select("text"));l.translatePoint(t,i,x,b)?r.layerClipId&&l.hideOutsideRangePoint(t,e,x,b,u.xcalendar,u.ycalendar):e.remove()})),o.selectAll("text").call(l.textPointStyle,u,t).each((function(t){var e=x.c2p(t.x),r=b.c2p(t.y);n.select(this).selectAll("tspan.line").each((function(){y(n.select(this)).attr({x:e,y:r})}))})),o.exit().remove()}(A,S,f);var X=!1===_.cliponaxis?null:r.layerClipId;l.setClipUrl(A,X,t),l.setClipUrl(S,X,t)}function Z(t){y(t).attr("d","M0,0Z")}function J(t){return t.filter((function(t){return!t.gap&&t.vis}))}function K(t){return t.filter((function(t){return t.vis}))}function Q(t){return t.filter((function(t){return!t.gap}))}function $(t){return t.id}function tt(t){if(t.ids)return $}function et(){return!1}}e.exports=function(t,e,r,i,a,c){var u,h,d=!a,g=!!a&&a.duration>0,m=f(t,e,r);((u=i.selectAll("g.trace").data(m,(function(t){return t[0].trace.uid}))).enter().append("g").attr("class",(function(t){return"trace scatter trace"+t[0].trace.uid})).style("stroke-miterlimit",2),u.order(),function(t,e,r){e.each((function(e){var i=o(n.select(this),"g","fills");l.setClipUrl(i,r.layerClipId,t);var a=e[0].trace,c=[];a._ownfill&&c.push("_ownFill"),a._nexttrace&&c.push("_nextFill");var u=i.selectAll("g").data(c,s);u.enter().append("g"),u.exit().each((function(t){a[t]=null})).remove(),u.order().each((function(t){a[t]=o(n.select(this),"path","js-fill")}))}))}(t,u,e),g)?(c&&(h=c()),n.transition().duration(a.duration).ease(a.easing).each("end",(function(){h&&h()})).each("interrupt",(function(){h&&h()})).each((function(){i.selectAll("g.trace").each((function(r,n){p(t,n,e,r,m,this,a)}))}))):u.each((function(r,n){p(t,n,e,r,m,this,a)}));d&&u.exit().remove(),i.selectAll("path:not([d])").remove()}},{"../../components/drawing":665,"../../lib":778,"../../lib/polygon":790,"../../registry":911,"./line_points":1201,"./link_traces":1203,"./subtypes":1212,d3:169}],1209:[function(t,e,r){"use strict";var n=t("./subtypes");e.exports=function(t,e){var r,i,a,o,s=t.cd,l=t.xaxis,c=t.yaxis,u=[],f=s[0].trace;if(!n.hasMarkers(f)&&!n.hasText(f))return[];if(!1===e)for(r=0;r<s.length;r++)s[r].selected=0;else for(r=0;r<s.length;r++)i=s[r],a=l.c2p(i.x),o=c.c2p(i.y),null!==i.i&&e.contains([a,o],!1,r,t)?(u.push({pointNumber:i.i,x:l.c2d(i.x),y:c.c2d(i.y)}),i.selected=1):i.selected=0;return u}},{"./subtypes":1212}],1210:[function(t,e,r){"use strict";var n=["orientation","groupnorm","stackgaps"];e.exports=function(t,e,r,i){var a=r._scatterStackOpts,o=i("stackgroup");if(o){var s=e.xaxis+e.yaxis,l=a[s];l||(l=a[s]={});var c=l[o],u=!1;c?c.traces.push(e):(c=l[o]={traceIndices:[],traces:[e]},u=!0);for(var f={orientation:e.x&&!e.y?"h":"v"},h=0;h<n.length;h++){var p=n[h],d=p+"Found";if(!c[d]){var g=void 0!==t[p],m="orientation"===p;if((g||u)&&(c[p]=i(p,f[p]),m&&(c.fillDflt="h"===c[p]?"tonextx":"tonexty"),g&&(c[d]=!0,!u&&(delete c.traces[0][p],m))))for(var v=0;v<c.traces.length-1;v++){var y=c.traces[v];y._input.fill!==y.fill&&(y.fill=c.fillDflt)}}}return c}}},{}],1211:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../components/drawing"),a=t("../../registry");function o(t,e,r){i.pointStyle(t.selectAll("path.point"),e,r)}function s(t,e,r){i.textPointStyle(t.selectAll("text"),e,r)}e.exports={style:function(t){var e=n.select(t).selectAll("g.trace.scatter");e.style("opacity",(function(t){return t[0].trace.opacity})),e.selectAll("g.points").each((function(e){o(n.select(this),e.trace||e[0].trace,t)})),e.selectAll("g.text").each((function(e){s(n.select(this),e.trace||e[0].trace,t)})),e.selectAll("g.trace path.js-line").call(i.lineGroupStyle),e.selectAll("g.trace path.js-fill").call(i.fillGroupStyle),a.getComponentMethod("errorbars","style")(e)},stylePoints:o,styleText:s,styleOnSelect:function(t,e,r){var n=e[0].trace;n.selectedpoints?(i.selectedPointStyle(r.selectAll("path.point"),n),i.selectedTextStyle(r.selectAll("text"),n)):(o(r,n,t),s(r,n,t))}}},{"../../components/drawing":665,"../../registry":911,d3:169}],1212:[function(t,e,r){"use strict";var n=t("../../lib");e.exports={hasLines:function(t){return t.visible&&t.mode&&-1!==t.mode.indexOf("lines")},hasMarkers:function(t){return t.visible&&(t.mode&&-1!==t.mode.indexOf("markers")||"splom"===t.type)},hasText:function(t){return t.visible&&t.mode&&-1!==t.mode.indexOf("text")},isBubble:function(t){return n.isPlainObject(t.marker)&&n.isArrayOrTypedArray(t.marker.size)}}},{"../../lib":778}],1213:[function(t,e,r){"use strict";var n=t("../../lib");e.exports=function(t,e,r,i,a){a=a||{},i("textposition"),n.coerceFont(i,"textfont",r.font),a.noSelect||(i("selected.textfont.color"),i("unselected.textfont.color"))}},{"../../lib":778}],1214:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../registry");e.exports=function(t,e,r,a){var o,s=a("x"),l=a("y");if(i.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x","y"],r),s){var c=n.minRowLength(s);l?o=Math.min(c,n.minRowLength(l)):(o=c,a("y0"),a("dy"))}else{if(!l)return 0;o=n.minRowLength(l),a("x0"),a("dx")}return e._length=o,o}},{"../../lib":778,"../../registry":911}],1215:[function(t,e,r){"use strict";var n=t("../scatter/attributes"),i=t("../../components/colorscale/attributes"),a=t("../../plots/template_attributes").hovertemplateAttrs,o=t("../../plots/template_attributes").texttemplateAttrs,s=t("../../plots/attributes"),l=t("../../constants/gl3d_dashes"),c=t("../../constants/gl3d_markers"),u=t("../../lib/extend").extendFlat,f=t("../../plot_api/edit_types").overrideAll,h=n.line,p=n.marker,d=p.line,g=u({width:h.width,dash:{valType:"enumerated",values:Object.keys(l),dflt:"solid"}},i("line"));var m=e.exports=f({x:n.x,y:n.y,z:{valType:"data_array"},text:u({},n.text,{}),texttemplate:o({},{}),hovertext:u({},n.hovertext,{}),hovertemplate:a(),mode:u({},n.mode,{dflt:"lines+markers"}),surfaceaxis:{valType:"enumerated",values:[-1,0,1,2],dflt:-1},surfacecolor:{valType:"color"},projection:{x:{show:{valType:"boolean",dflt:!1},opacity:{valType:"number",min:0,max:1,dflt:1},scale:{valType:"number",min:0,max:10,dflt:2/3}},y:{show:{valType:"boolean",dflt:!1},opacity:{valType:"number",min:0,max:1,dflt:1},scale:{valType:"number",min:0,max:10,dflt:2/3}},z:{show:{valType:"boolean",dflt:!1},opacity:{valType:"number",min:0,max:1,dflt:1},scale:{valType:"number",min:0,max:10,dflt:2/3}}},connectgaps:n.connectgaps,line:g,marker:u({symbol:{valType:"enumerated",values:Object.keys(c),dflt:"circle",arrayOk:!0},size:u({},p.size,{dflt:8}),sizeref:p.sizeref,sizemin:p.sizemin,sizemode:p.sizemode,opacity:u({},p.opacity,{arrayOk:!1}),colorbar:p.colorbar,line:u({width:u({},d.width,{arrayOk:!1})},i("marker.line"))},i("marker")),textposition:u({},n.textposition,{dflt:"top center"}),textfont:{color:n.textfont.color,size:n.textfont.size,family:u({},n.textfont.family,{arrayOk:!1})},hoverinfo:u({},s.hoverinfo)},"calc","nested");m.x.editType=m.y.editType=m.z.editType="calc+clearAxisTypes"},{"../../components/colorscale/attributes":650,"../../constants/gl3d_dashes":750,"../../constants/gl3d_markers":751,"../../lib/extend":768,"../../plot_api/edit_types":810,"../../plots/attributes":824,"../../plots/template_attributes":906,"../scatter/attributes":1187}],1216:[function(t,e,r){"use strict";var n=t("../scatter/arrays_to_calcdata"),i=t("../scatter/colorscale_calc");e.exports=function(t,e){var r=[{x:!1,y:!1,trace:e,t:{}}];return n(r,e),i(t,e),r}},{"../scatter/arrays_to_calcdata":1186,"../scatter/colorscale_calc":1190}],1217:[function(t,e,r){"use strict";var n=t("../../registry");function i(t,e,r,i){if(!e||!e.visible)return null;for(var a=n.getComponentMethod("errorbars","makeComputeError")(e),o=new Array(t.length),s=0;s<t.length;s++){var l=a(+t[s],s);if("log"===i.type){var c=i.c2l(t[s]),u=t[s]-l[0],f=t[s]+l[1];if(o[s]=[(i.c2l(u,!0)-c)*r,(i.c2l(f,!0)-c)*r],u>0){var h=i.c2l(u);i._lowerLogErrorBound||(i._lowerLogErrorBound=h),i._lowerErrorBound=Math.min(i._lowerLogErrorBound,h)}}else o[s]=[-l[0]*r,l[1]*r]}return o}e.exports=function(t,e,r){var n=[i(t.x,t.error_x,e[0],r.xaxis),i(t.y,t.error_y,e[1],r.yaxis),i(t.z,t.error_z,e[2],r.zaxis)],a=function(t){for(var e=0;e<t.length;e++)if(t[e])return t[e].length;return 0}(n);if(0===a)return null;for(var o=new Array(a),s=0;s<a;s++){for(var l=[[0,0,0],[0,0,0]],c=0;c<3;c++)if(n[c])for(var u=0;u<2;u++)l[u][c]=n[c][s][u];o[s]=l}return o}},{"../../registry":911}],1218:[function(t,e,r){"use strict";var n=t("gl-line3d"),i=t("gl-scatter3d"),a=t("gl-error3d"),o=t("gl-mesh3d"),s=t("delaunay-triangulate"),l=t("../../lib"),c=t("../../lib/str2rgbarray"),u=t("../../lib/gl_format_color").formatColor,f=t("../scatter/make_bubble_size_func"),h=t("../../constants/gl3d_dashes"),p=t("../../constants/gl3d_markers"),d=t("../../plots/cartesian/axes"),g=t("../../components/fx/helpers").appendArrayPointValue,m=t("./calc_errors");function v(t,e){this.scene=t,this.uid=e,this.linePlot=null,this.scatterPlot=null,this.errorBars=null,this.textMarkers=null,this.delaunayMesh=null,this.color=null,this.mode="",this.dataPoints=[],this.axesBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.textLabels=null,this.data=null}var y=v.prototype;function x(t){return null==t?0:t.indexOf("left")>-1?-1:t.indexOf("right")>-1?1:0}function b(t){return null==t?0:t.indexOf("top")>-1?-1:t.indexOf("bottom")>-1?1:0}function _(t,e){return e(4*t)}function w(t){return p[t]}function T(t,e,r,n,i){var a=null;if(l.isArrayOrTypedArray(t)){a=[];for(var o=0;o<e;o++)void 0===t[o]?a[o]=n:a[o]=r(t[o],i)}else a=r(t,l.identity);return a}function k(t,e){var r,n,i,a,o,s,h=[],p=t.fullSceneLayout,v=t.dataScale,y=p.xaxis,k=p.yaxis,M=p.zaxis,A=e.marker,S=e.line,E=e.x||[],C=e.y||[],L=e.z||[],I=E.length,P=e.xcalendar,z=e.ycalendar,O=e.zcalendar;for(o=0;o<I;o++)r=y.d2l(E[o],0,P)*v[0],n=k.d2l(C[o],0,z)*v[1],i=M.d2l(L[o],0,O)*v[2],h[o]=[r,n,i];if(Array.isArray(e.text))s=e.text;else if(void 0!==e.text)for(s=new Array(I),o=0;o<I;o++)s[o]=e.text;function D(t,e){var r=p[t];return d.tickText(r,r.d2l(e),!0).text}var R=e.texttemplate;if(R){var F=t.fullLayout._d3locale,B=Array.isArray(R),N=B?Math.min(R.length,I):I,j=B?function(t){return R[t]}:function(){return R};for(s=new Array(N),o=0;o<N;o++){var U={x:E[o],y:C[o],z:L[o]},V={xLabel:D("xaxis",E[o]),yLabel:D("yaxis",C[o]),zLabel:D("zaxis",L[o])},q={};g(q,e,o);var H=e._meta||{};s[o]=l.texttemplateString(j(o),V,F,q,U,H)}}if(a={position:h,mode:e.mode,text:s},"line"in e&&(a.lineColor=u(S,1,I),a.lineWidth=S.width,a.lineDashes=S.dash),"marker"in e){var G=f(e);a.scatterColor=u(A,1,I),a.scatterSize=T(A.size,I,_,20,G),a.scatterMarker=T(A.symbol,I,w,"\u25cf"),a.scatterLineWidth=A.line.width,a.scatterLineColor=u(A.line,1,I),a.scatterAngle=0}"textposition"in e&&(a.textOffset=function(t){var e=[0,0];if(Array.isArray(t))for(var r=0;r<t.length;r++)e[r]=[0,0],t[r]&&(e[r][0]=x(t[r]),e[r][1]=b(t[r]));else e[0]=x(t),e[1]=b(t);return e}(e.textposition),a.textColor=u(e.textfont,1,I),a.textSize=T(e.textfont.size,I,l.identity,12),a.textFont=e.textfont.family,a.textAngle=0);var Y=["x","y","z"];for(a.project=[!1,!1,!1],a.projectScale=[1,1,1],a.projectOpacity=[1,1,1],o=0;o<3;++o){var W=e.projection[Y[o]];(a.project[o]=W.show)&&(a.projectOpacity[o]=W.opacity,a.projectScale[o]=W.scale)}a.errorBounds=m(e,v,p);var X=function(t){for(var e=[0,0,0],r=[[0,0,0],[0,0,0],[0,0,0]],n=[1,1,1],i=0;i<3;i++){var a=t[i];a&&!1!==a.copy_zstyle&&!1!==t[2].visible&&(a=t[2]),a&&a.visible&&(e[i]=a.width/2,r[i]=c(a.color),n[i]=a.thickness)}return{capSize:e,color:r,lineWidth:n}}([e.error_x,e.error_y,e.error_z]);return a.errorColor=X.color,a.errorLineWidth=X.lineWidth,a.errorCapSize=X.capSize,a.delaunayAxis=e.surfaceaxis,a.delaunayColor=c(e.surfacecolor),a}function M(t){if(l.isArrayOrTypedArray(t)){var e=t[0];return l.isArrayOrTypedArray(e)&&(t=e),"rgb("+t.slice(0,3).map((function(t){return Math.round(255*t)}))+")"}return null}function A(t){return l.isArrayOrTypedArray(t)?4===t.length&&"number"==typeof t[0]?M(t):t.map(M):null}y.handlePick=function(t){if(t.object&&(t.object===this.linePlot||t.object===this.delaunayMesh||t.object===this.textMarkers||t.object===this.scatterPlot)){var e=t.index=t.data.index;return t.object.highlight&&t.object.highlight(null),this.scatterPlot&&(t.object=this.scatterPlot,this.scatterPlot.highlight(t.data)),t.textLabel="",this.textLabels&&(Array.isArray(this.textLabels)?(this.textLabels[e]||0===this.textLabels[e])&&(t.textLabel=this.textLabels[e]):t.textLabel=this.textLabels),t.traceCoordinate=[this.data.x[e],this.data.y[e],this.data.z[e]],!0}},y.update=function(t){var e,r,l,c,u=this.scene.glplot.gl,f=h.solid;this.data=t;var p=k(this.scene,t);"mode"in p&&(this.mode=p.mode),"lineDashes"in p&&p.lineDashes in h&&(f=h[p.lineDashes]),this.color=A(p.scatterColor)||A(p.lineColor),this.dataPoints=p.position,e={gl:this.scene.glplot.gl,position:p.position,color:p.lineColor,lineWidth:p.lineWidth||1,dashes:f[0],dashScale:f[1],opacity:t.opacity,connectGaps:t.connectgaps},-1!==this.mode.indexOf("lines")?this.linePlot?this.linePlot.update(e):(this.linePlot=n(e),this.linePlot._trace=this,this.scene.glplot.add(this.linePlot)):this.linePlot&&(this.scene.glplot.remove(this.linePlot),this.linePlot.dispose(),this.linePlot=null);var d=t.opacity;if(t.marker&&t.marker.opacity&&(d*=t.marker.opacity),r={gl:this.scene.glplot.gl,position:p.position,color:p.scatterColor,size:p.scatterSize,glyph:p.scatterMarker,opacity:d,orthographic:!0,lineWidth:p.scatterLineWidth,lineColor:p.scatterLineColor,project:p.project,projectScale:p.projectScale,projectOpacity:p.projectOpacity},-1!==this.mode.indexOf("markers")?this.scatterPlot?this.scatterPlot.update(r):(this.scatterPlot=i(r),this.scatterPlot._trace=this,this.scatterPlot.highlightScale=1,this.scene.glplot.add(this.scatterPlot)):this.scatterPlot&&(this.scene.glplot.remove(this.scatterPlot),this.scatterPlot.dispose(),this.scatterPlot=null),c={gl:this.scene.glplot.gl,position:p.position,glyph:p.text,color:p.textColor,size:p.textSize,angle:p.textAngle,alignment:p.textOffset,font:p.textFont,orthographic:!0,lineWidth:0,project:!1,opacity:t.opacity},this.textLabels=t.hovertext||t.text,-1!==this.mode.indexOf("text")?this.textMarkers?this.textMarkers.update(c):(this.textMarkers=i(c),this.textMarkers._trace=this,this.textMarkers.highlightScale=1,this.scene.glplot.add(this.textMarkers)):this.textMarkers&&(this.scene.glplot.remove(this.textMarkers),this.textMarkers.dispose(),this.textMarkers=null),l={gl:this.scene.glplot.gl,position:p.position,color:p.errorColor,error:p.errorBounds,lineWidth:p.errorLineWidth,capSize:p.errorCapSize,opacity:t.opacity},this.errorBars?p.errorBounds?this.errorBars.update(l):(this.scene.glplot.remove(this.errorBars),this.errorBars.dispose(),this.errorBars=null):p.errorBounds&&(this.errorBars=a(l),this.errorBars._trace=this,this.scene.glplot.add(this.errorBars)),p.delaunayAxis>=0){var g=function(t,e,r){var n,i=(r+1)%3,a=(r+2)%3,o=[],l=[];for(n=0;n<t.length;++n){var c=t[n];!isNaN(c[i])&&isFinite(c[i])&&!isNaN(c[a])&&isFinite(c[a])&&(o.push([c[i],c[a]]),l.push(n))}var u=s(o);for(n=0;n<u.length;++n)for(var f=u[n],h=0;h<f.length;++h)f[h]=l[f[h]];return{positions:t,cells:u,meshColor:e}}(p.position,p.delaunayColor,p.delaunayAxis);g.opacity=t.opacity,this.delaunayMesh?this.delaunayMesh.update(g):(g.gl=u,this.delaunayMesh=o(g),this.delaunayMesh._trace=this,this.scene.glplot.add(this.delaunayMesh))}else this.delaunayMesh&&(this.scene.glplot.remove(this.delaunayMesh),this.delaunayMesh.dispose(),this.delaunayMesh=null)},y.dispose=function(){this.linePlot&&(this.scene.glplot.remove(this.linePlot),this.linePlot.dispose()),this.scatterPlot&&(this.scene.glplot.remove(this.scatterPlot),this.scatterPlot.dispose()),this.errorBars&&(this.scene.glplot.remove(this.errorBars),this.errorBars.dispose()),this.textMarkers&&(this.scene.glplot.remove(this.textMarkers),this.textMarkers.dispose()),this.delaunayMesh&&(this.scene.glplot.remove(this.delaunayMesh),this.delaunayMesh.dispose())},e.exports=function(t,e){var r=new v(t,e.uid);return r.update(e),r}},{"../../components/fx/helpers":679,"../../constants/gl3d_dashes":750,"../../constants/gl3d_markers":751,"../../lib":778,"../../lib/gl_format_color":774,"../../lib/str2rgbarray":802,"../../plots/cartesian/axes":828,"../scatter/make_bubble_size_func":1204,"./calc_errors":1217,"delaunay-triangulate":171,"gl-error3d":266,"gl-line3d":275,"gl-mesh3d":309,"gl-scatter3d":330}],1219:[function(t,e,r){"use strict";var n=t("../../registry"),i=t("../../lib"),a=t("../scatter/subtypes"),o=t("../scatter/marker_defaults"),s=t("../scatter/line_defaults"),l=t("../scatter/text_defaults"),c=t("./attributes");e.exports=function(t,e,r,u){function f(r,n){return i.coerce(t,e,c,r,n)}if(function(t,e,r,i){var a=0,o=r("x"),s=r("y"),l=r("z");n.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x","y","z"],i),o&&s&&l&&(a=Math.min(o.length,s.length,l.length),e._length=e._xlength=e._ylength=e._zlength=a);return a}(t,e,f,u)){f("text"),f("hovertext"),f("hovertemplate"),f("mode"),a.hasLines(e)&&(f("connectgaps"),s(t,e,r,u,f)),a.hasMarkers(e)&&o(t,e,r,u,f,{noSelect:!0}),a.hasText(e)&&(f("texttemplate"),l(t,e,u,f,{noSelect:!0}));var h=(e.line||{}).color,p=(e.marker||{}).color;f("surfaceaxis")>=0&&f("surfacecolor",h||p);for(var d=["x","y","z"],g=0;g<3;++g){var m="projection."+d[g];f(m+".show")&&(f(m+".opacity"),f(m+".scale"))}var v=n.getComponentMethod("errorbars","supplyDefaults");v(t,e,h||p||r,{axis:"z"}),v(t,e,h||p||r,{axis:"y",inherit:"z"}),v(t,e,h||p||r,{axis:"x",inherit:"z"})}else e.visible=!1}},{"../../lib":778,"../../registry":911,"../scatter/line_defaults":1200,"../scatter/marker_defaults":1206,"../scatter/subtypes":1212,"../scatter/text_defaults":1213,"./attributes":1215}],1220:[function(t,e,r){"use strict";e.exports={plot:t("./convert"),attributes:t("./attributes"),markerSymbols:t("../../constants/gl3d_markers"),supplyDefaults:t("./defaults"),colorbar:[{container:"marker",min:"cmin",max:"cmax"},{container:"line",min:"cmin",max:"cmax"}],calc:t("./calc"),moduleType:"trace",name:"scatter3d",basePlotModule:t("../../plots/gl3d"),categories:["gl3d","symbols","showLegend","scatter-like"],meta:{}}},{"../../constants/gl3d_markers":751,"../../plots/gl3d":870,"./attributes":1215,"./calc":1216,"./convert":1218,"./defaults":1219}],1221:[function(t,e,r){"use strict";var n=t("../scatter/attributes"),i=t("../../plots/attributes"),a=t("../../plots/template_attributes").hovertemplateAttrs,o=t("../../plots/template_attributes").texttemplateAttrs,s=t("../../components/colorscale/attributes"),l=t("../../lib/extend").extendFlat,c=n.marker,u=n.line,f=c.line;e.exports={carpet:{valType:"string",editType:"calc"},a:{valType:"data_array",editType:"calc"},b:{valType:"data_array",editType:"calc"},mode:l({},n.mode,{dflt:"markers"}),text:l({},n.text,{}),texttemplate:o({editType:"plot"},{keys:["a","b","text"]}),hovertext:l({},n.hovertext,{}),line:{color:u.color,width:u.width,dash:u.dash,shape:l({},u.shape,{values:["linear","spline"]}),smoothing:u.smoothing,editType:"calc"},connectgaps:n.connectgaps,fill:l({},n.fill,{values:["none","toself","tonext"],dflt:"none"}),fillcolor:n.fillcolor,marker:l({symbol:c.symbol,opacity:c.opacity,maxdisplayed:c.maxdisplayed,size:c.size,sizeref:c.sizeref,sizemin:c.sizemin,sizemode:c.sizemode,line:l({width:f.width,editType:"calc"},s("marker.line")),gradient:c.gradient,editType:"calc"},s("marker")),textfont:n.textfont,textposition:n.textposition,selected:n.selected,unselected:n.unselected,hoverinfo:l({},i.hoverinfo,{flags:["a","b","text","name"]}),hoveron:n.hoveron,hovertemplate:a()}},{"../../components/colorscale/attributes":650,"../../lib/extend":768,"../../plots/attributes":824,"../../plots/template_attributes":906,"../scatter/attributes":1187}],1222:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../scatter/colorscale_calc"),a=t("../scatter/arrays_to_calcdata"),o=t("../scatter/calc_selection"),s=t("../scatter/calc").calcMarkerSize,l=t("../carpet/lookup_carpetid");e.exports=function(t,e){var r=e._carpetTrace=l(t,e);if(r&&r.visible&&"legendonly"!==r.visible){var c;e.xaxis=r.xaxis,e.yaxis=r.yaxis;var u,f,h=e._length,p=new Array(h),d=!1;for(c=0;c<h;c++)if(u=e.a[c],f=e.b[c],n(u)&&n(f)){var g=r.ab2xy(+u,+f,!0),m=r.isVisible(+u,+f);m||(d=!0),p[c]={x:g[0],y:g[1],a:u,b:f,vis:m}}else p[c]={x:!1,y:!1};return e._needsCull=d,p[0].carpet=r,p[0].trace=e,s(e,h),i(t,e),a(p,e),o(p,e),p}}},{"../carpet/lookup_carpetid":981,"../scatter/arrays_to_calcdata":1186,"../scatter/calc":1188,"../scatter/calc_selection":1189,"../scatter/colorscale_calc":1190,"fast-isnumeric":241}],1223:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../scatter/constants"),a=t("../scatter/subtypes"),o=t("../scatter/marker_defaults"),s=t("../scatter/line_defaults"),l=t("../scatter/line_shape_defaults"),c=t("../scatter/text_defaults"),u=t("../scatter/fillcolor_defaults"),f=t("./attributes");e.exports=function(t,e,r,h){function p(r,i){return n.coerce(t,e,f,r,i)}p("carpet"),e.xaxis="x",e.yaxis="y";var d=p("a"),g=p("b"),m=Math.min(d.length,g.length);if(m){e._length=m,p("text"),p("texttemplate"),p("hovertext"),p("mode",m<i.PTS_LINESONLY?"lines+markers":"lines"),a.hasLines(e)&&(s(t,e,r,h,p),l(t,e,p),p("connectgaps")),a.hasMarkers(e)&&o(t,e,r,h,p,{gradient:!0}),a.hasText(e)&&c(t,e,h,p);var v=[];(a.hasMarkers(e)||a.hasText(e))&&(p("marker.maxdisplayed"),v.push("points")),p("fill"),"none"!==e.fill&&(u(t,e,r,p),a.hasLines(e)||l(t,e,p)),"tonext"!==e.fill&&"toself"!==e.fill||v.push("fills"),"fills"!==p("hoveron",v.join("+")||"points")&&p("hovertemplate"),n.coerceSelectionMarkerOpacity(e,p)}else e.visible=!1}},{"../../lib":778,"../scatter/constants":1191,"../scatter/fillcolor_defaults":1195,"../scatter/line_defaults":1200,"../scatter/line_shape_defaults":1202,"../scatter/marker_defaults":1206,"../scatter/subtypes":1212,"../scatter/text_defaults":1213,"./attributes":1221}],1224:[function(t,e,r){"use strict";e.exports=function(t,e,r,n,i){var a=n[i];return t.a=a.a,t.b=a.b,t.y=a.y,t}},{}],1225:[function(t,e,r){"use strict";e.exports=function(t,e){var r={},n=e._carpet,i=n.ab2ij([t.a,t.b]),a=Math.floor(i[0]),o=i[0]-a,s=Math.floor(i[1]),l=i[1]-s,c=n.evalxy([],a,s,o,l);return r.yLabel=c[1].toFixed(3),r}},{}],1226:[function(t,e,r){"use strict";var n=t("../scatter/hover"),i=t("../../lib").fillText;e.exports=function(t,e,r,a){var o=n(t,e,r,a);if(o&&!1!==o[0].index){var s=o[0];if(void 0===s.index){var l=1-s.y0/t.ya._length,c=t.xa._length,u=c*l/2,f=c-u;return s.x0=Math.max(Math.min(s.x0,f),u),s.x1=Math.max(Math.min(s.x1,f),u),o}var h=s.cd[s.index];s.a=h.a,s.b=h.b,s.xLabelVal=void 0,s.yLabelVal=void 0;var p=s.trace,d=p._carpet,g=p._module.formatLabels(h,p);s.yLabel=g.yLabel,delete s.text;var m=[];if(!p.hovertemplate){var v=(h.hi||p.hoverinfo).split("+");-1!==v.indexOf("all")&&(v=["a","b","text"]),-1!==v.indexOf("a")&&y(d.aaxis,h.a),-1!==v.indexOf("b")&&y(d.baxis,h.b),m.push("y: "+s.yLabel),-1!==v.indexOf("text")&&i(h,p,m),s.extraText=m.join("<br>")}return o}function y(t,e){var r;r=t.labelprefix&&t.labelprefix.length>0?t.labelprefix.replace(/ = $/,""):t._hovertitle,m.push(r+": "+e.toFixed(3)+t.labelsuffix)}}},{"../../lib":778,"../scatter/hover":1198}],1227:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),colorbar:t("../scatter/marker_colorbar"),formatLabels:t("./format_labels"),calc:t("./calc"),plot:t("./plot"),style:t("../scatter/style").style,styleOnSelect:t("../scatter/style").styleOnSelect,hoverPoints:t("./hover"),selectPoints:t("../scatter/select"),eventData:t("./event_data"),moduleType:"trace",name:"scattercarpet",basePlotModule:t("../../plots/cartesian"),categories:["svg","carpet","symbols","showLegend","carpetDependent","zoomScale"],meta:{}}},{"../../plots/cartesian":841,"../scatter/marker_colorbar":1205,"../scatter/select":1209,"../scatter/style":1211,"./attributes":1221,"./calc":1222,"./defaults":1223,"./event_data":1224,"./format_labels":1225,"./hover":1226,"./plot":1228}],1228:[function(t,e,r){"use strict";var n=t("../scatter/plot"),i=t("../../plots/cartesian/axes"),a=t("../../components/drawing");e.exports=function(t,e,r,o){var s,l,c,u=r[0][0].carpet,f={xaxis:i.getFromId(t,u.xaxis||"x"),yaxis:i.getFromId(t,u.yaxis||"y"),plot:e.plot};for(n(t,f,r,o),s=0;s<r.length;s++)l=r[s][0].trace,c=o.selectAll("g.trace"+l.uid+" .js-line"),a.setClipUrl(c,r[s][0].carpet._clipPathId,t)}},{"../../components/drawing":665,"../../plots/cartesian/axes":828,"../scatter/plot":1208}],1229:[function(t,e,r){"use strict";var n=t("../../plots/template_attributes").hovertemplateAttrs,i=t("../../plots/template_attributes").texttemplateAttrs,a=t("../scatter/attributes"),o=t("../../plots/attributes"),s=t("../../components/colorscale/attributes"),l=t("../../components/drawing/attributes").dash,c=t("../../lib/extend").extendFlat,u=t("../../plot_api/edit_types").overrideAll,f=a.marker,h=a.line,p=f.line;e.exports=u({lon:{valType:"data_array"},lat:{valType:"data_array"},locations:{valType:"data_array"},locationmode:{valType:"enumerated",values:["ISO-3","USA-states","country names","geojson-id"],dflt:"ISO-3"},geojson:{valType:"any",editType:"calc"},featureidkey:{valType:"string",editType:"calc",dflt:"id"},mode:c({},a.mode,{dflt:"markers"}),text:c({},a.text,{}),texttemplate:i({editType:"plot"},{keys:["lat","lon","location","text"]}),hovertext:c({},a.hovertext,{}),textfont:a.textfont,textposition:a.textposition,line:{color:h.color,width:h.width,dash:l},connectgaps:a.connectgaps,marker:c({symbol:f.symbol,opacity:f.opacity,size:f.size,sizeref:f.sizeref,sizemin:f.sizemin,sizemode:f.sizemode,colorbar:f.colorbar,line:c({width:p.width},s("marker.line")),gradient:f.gradient},s("marker")),fill:{valType:"enumerated",values:["none","toself"],dflt:"none"},fillcolor:a.fillcolor,selected:a.selected,unselected:a.unselected,hoverinfo:c({},o.hoverinfo,{flags:["lon","lat","location","text","name"]}),hovertemplate:n()},"calc","nested")},{"../../components/colorscale/attributes":650,"../../components/drawing/attributes":664,"../../lib/extend":768,"../../plot_api/edit_types":810,"../../plots/attributes":824,"../../plots/template_attributes":906,"../scatter/attributes":1187}],1230:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../constants/numerical").BADNUM,a=t("../scatter/colorscale_calc"),o=t("../scatter/arrays_to_calcdata"),s=t("../scatter/calc_selection"),l=t("../../lib")._;function c(t){return t&&"string"==typeof t}e.exports=function(t,e){var r,u=Array.isArray(e.locations),f=u?e.locations.length:e._length,h=new Array(f);r=e.geojson?function(t){return c(t)||n(t)}:c;for(var p=0;p<f;p++){var d=h[p]={};if(u){var g=e.locations[p];d.loc=r(g)?g:null}else{var m=e.lon[p],v=e.lat[p];n(m)&&n(v)?d.lonlat=[+m,+v]:d.lonlat=[i,i]}}return o(h,e),a(t,e),s(h,e),f&&(h[0].t={labels:{lat:l(t,"lat:")+" ",lon:l(t,"lon:")+" "}}),h}},{"../../constants/numerical":753,"../../lib":778,"../scatter/arrays_to_calcdata":1186,"../scatter/calc_selection":1189,"../scatter/colorscale_calc":1190,"fast-isnumeric":241}],1231:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../scatter/subtypes"),a=t("../scatter/marker_defaults"),o=t("../scatter/line_defaults"),s=t("../scatter/text_defaults"),l=t("../scatter/fillcolor_defaults"),c=t("./attributes");e.exports=function(t,e,r,u){function f(r,i){return n.coerce(t,e,c,r,i)}var h,p=f("locations");if(p&&p.length){var d,g=f("geojson");("string"==typeof g&&""!==g||n.isPlainObject(g))&&(d="geojson-id"),"geojson-id"===f("locationmode",d)&&f("featureidkey"),h=p.length}else{var m=f("lon")||[],v=f("lat")||[];h=Math.min(m.length,v.length)}h?(e._length=h,f("text"),f("hovertext"),f("hovertemplate"),f("mode"),i.hasLines(e)&&(o(t,e,r,u,f),f("connectgaps")),i.hasMarkers(e)&&a(t,e,r,u,f,{gradient:!0}),i.hasText(e)&&(f("texttemplate"),s(t,e,u,f)),f("fill"),"none"!==e.fill&&l(t,e,r,f),n.coerceSelectionMarkerOpacity(e,f)):e.visible=!1}},{"../../lib":778,"../scatter/fillcolor_defaults":1195,"../scatter/line_defaults":1200,"../scatter/marker_defaults":1206,"../scatter/subtypes":1212,"../scatter/text_defaults":1213,"./attributes":1229}],1232:[function(t,e,r){"use strict";e.exports=function(t,e,r,n,i){t.lon=e.lon,t.lat=e.lat,t.location=e.loc?e.loc:null;var a=n[i];return a.fIn&&a.fIn.properties&&(t.properties=a.fIn.properties),t}},{}],1233:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes");e.exports=function(t,e,r){var i={},a=r[e.geo]._subplot.mockAxis,o=t.lonlat;return i.lonLabel=n.tickText(a,a.c2l(o[0]),!0).text,i.latLabel=n.tickText(a,a.c2l(o[1]),!0).text,i}},{"../../plots/cartesian/axes":828}],1234:[function(t,e,r){"use strict";var n=t("../../components/fx"),i=t("../../constants/numerical").BADNUM,a=t("../scatter/get_trace_color"),o=t("../../lib").fillText,s=t("./attributes");e.exports=function(t,e,r){var l=t.cd,c=l[0].trace,u=t.xa,f=t.ya,h=t.subplot,p=h.projection.isLonLatOverEdges,d=h.project;if(n.getClosest(l,(function(t){var n=t.lonlat;if(n[0]===i)return 1/0;if(p(n))return 1/0;var a=d(n),o=d([e,r]),s=Math.abs(a[0]-o[0]),l=Math.abs(a[1]-o[1]),c=Math.max(3,t.mrc||0);return Math.max(Math.sqrt(s*s+l*l)-c,1-3/c)}),t),!1!==t.index){var g=l[t.index],m=g.lonlat,v=[u.c2p(m),f.c2p(m)],y=g.mrc||1;t.x0=v[0]-y,t.x1=v[0]+y,t.y0=v[1]-y,t.y1=v[1]+y,t.loc=g.loc,t.lon=m[0],t.lat=m[1];var x={};x[c.geo]={_subplot:h};var b=c._module.formatLabels(g,c,x);return t.lonLabel=b.lonLabel,t.latLabel=b.latLabel,t.color=a(c,g),t.extraText=function(t,e,r,n){if(t.hovertemplate)return;var i=e.hi||t.hoverinfo,a="all"===i?s.hoverinfo.flags:i.split("+"),l=-1!==a.indexOf("location")&&Array.isArray(t.locations),c=-1!==a.indexOf("lon"),u=-1!==a.indexOf("lat"),f=-1!==a.indexOf("text"),h=[];function p(t){return t+"\xb0"}l?h.push(e.loc):c&&u?h.push("("+p(r.lonLabel)+", "+p(r.latLabel)+")"):c?h.push(n.lon+p(r.lonLabel)):u&&h.push(n.lat+p(r.latLabel));f&&o(e,t,h);return h.join("<br>")}(c,g,t,l[0].t.labels),t.hovertemplate=c.hovertemplate,[t]}}},{"../../components/fx":683,"../../constants/numerical":753,"../../lib":778,"../scatter/get_trace_color":1197,"./attributes":1229}],1235:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),colorbar:t("../scatter/marker_colorbar"),formatLabels:t("./format_labels"),calc:t("./calc"),calcGeoJSON:t("./plot").calcGeoJSON,plot:t("./plot").plot,style:t("./style"),styleOnSelect:t("../scatter/style").styleOnSelect,hoverPoints:t("./hover"),eventData:t("./event_data"),selectPoints:t("./select"),moduleType:"trace",name:"scattergeo",basePlotModule:t("../../plots/geo"),categories:["geo","symbols","showLegend","scatter-like"],meta:{}}},{"../../plots/geo":860,"../scatter/marker_colorbar":1205,"../scatter/style":1211,"./attributes":1229,"./calc":1230,"./defaults":1231,"./event_data":1232,"./format_labels":1233,"./hover":1234,"./plot":1236,"./select":1237,"./style":1238}],1236:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../lib"),a=t("../../lib/topojson_utils").getTopojsonFeatures,o=t("../../lib/geojson_utils"),s=t("../../lib/geo_location_utils"),l=t("../../plots/cartesian/autorange").findExtremes,c=t("../../constants/numerical").BADNUM,u=t("../scatter/calc").calcMarkerSize,f=t("../scatter/subtypes"),h=t("./style");e.exports={calcGeoJSON:function(t,e){var r,n,i=t[0].trace,o=e[i.geo],f=o._subplot,h=i._length;if(Array.isArray(i.locations)){var p=i.locationmode,d="geojson-id"===p?s.extractTraceFeature(t):a(i,f.topojson);for(r=0;r<h;r++){n=t[r];var g="geojson-id"===p?n.fOut:s.locationToFeature(p,n.loc,d);n.lonlat=g?g.properties.ct:[c,c]}}var m,v,y={padded:!0};if("geojson"===o.fitbounds&&"geojson-id"===i.locationmode){var x=s.computeBbox(s.getTraceGeojson(i));m=[x[0],x[2]],v=[x[1],x[3]]}else{for(m=new Array(h),v=new Array(h),r=0;r<h;r++)n=t[r],m[r]=n.lonlat[0],v[r]=n.lonlat[1];y.ppad=u(i,h)}i._extremes.lon=l(o.lonaxis._ax,m,y),i._extremes.lat=l(o.lataxis._ax,v,y)},plot:function(t,e,r){var a=e.layers.frontplot.select(".scatterlayer"),s=i.makeTraceGroups(a,r,"trace scattergeo");function l(t,e){t.lonlat[0]===c&&n.select(e).remove()}s.selectAll("*").remove(),s.each((function(e){var r=n.select(this),a=e[0].trace;if(f.hasLines(a)||"none"!==a.fill){var s=o.calcTraceToLineCoords(e),c="none"!==a.fill?o.makePolygon(s):o.makeLine(s);r.selectAll("path.js-line").data([{geojson:c,trace:a}]).enter().append("path").classed("js-line",!0).style("stroke-miterlimit",2)}f.hasMarkers(a)&&r.selectAll("path.point").data(i.identity).enter().append("path").classed("point",!0).each((function(t){l(t,this)})),f.hasText(a)&&r.selectAll("g").data(i.identity).enter().append("g").append("text").each((function(t){l(t,this)})),h(t,e)}))}}},{"../../constants/numerical":753,"../../lib":778,"../../lib/geo_location_utils":771,"../../lib/geojson_utils":772,"../../lib/topojson_utils":806,"../../plots/cartesian/autorange":827,"../scatter/calc":1188,"../scatter/subtypes":1212,"./style":1238,d3:169}],1237:[function(t,e,r){"use strict";var n=t("../scatter/subtypes"),i=t("../../constants/numerical").BADNUM;e.exports=function(t,e){var r,a,o,s,l,c=t.cd,u=t.xaxis,f=t.yaxis,h=[],p=c[0].trace;if(!n.hasMarkers(p)&&!n.hasText(p))return[];if(!1===e)for(l=0;l<c.length;l++)c[l].selected=0;else for(l=0;l<c.length;l++)(a=(r=c[l]).lonlat)[0]!==i&&(o=u.c2p(a),s=f.c2p(a),e.contains([o,s],null,l,t)?(h.push({pointNumber:l,lon:a[0],lat:a[1]}),r.selected=1):r.selected=0);return h}},{"../../constants/numerical":753,"../scatter/subtypes":1212}],1238:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../components/drawing"),a=t("../../components/color"),o=t("../scatter/style"),s=o.stylePoints,l=o.styleText;e.exports=function(t,e){e&&function(t,e){var r=e[0].trace,o=e[0].node3;o.style("opacity",e[0].trace.opacity),s(o,r,t),l(o,r,t),o.selectAll("path.js-line").style("fill","none").each((function(t){var e=n.select(this),r=t.trace,o=r.line||{};e.call(a.stroke,o.color).call(i.dashLine,o.dash||"",o.width||0),"none"!==r.fill&&e.call(a.fill,r.fillcolor)}))}(t,e)}},{"../../components/color":643,"../../components/drawing":665,"../scatter/style":1211,d3:169}],1239:[function(t,e,r){"use strict";var n=t("../../plots/attributes"),i=t("../scatter/attributes"),a=t("../../components/colorscale/attributes"),o=t("../../lib/extend").extendFlat,s=t("../../plot_api/edit_types").overrideAll,l=t("./constants").DASHES,c=i.line,u=i.marker,f=u.line,h=e.exports=s({x:i.x,x0:i.x0,dx:i.dx,y:i.y,y0:i.y0,dy:i.dy,xperiod:i.xperiod,yperiod:i.yperiod,xperiod0:i.xperiod0,yperiod0:i.yperiod0,xperiodalignment:i.xperiodalignment,yperiodalignment:i.yperiodalignment,text:i.text,hovertext:i.hovertext,textposition:i.textposition,textfont:i.textfont,mode:{valType:"flaglist",flags:["lines","markers","text"],extras:["none"]},line:{color:c.color,width:c.width,shape:{valType:"enumerated",values:["linear","hv","vh","hvh","vhv"],dflt:"linear",editType:"plot"},dash:{valType:"enumerated",values:Object.keys(l),dflt:"solid"}},marker:o({},a("marker"),{symbol:u.symbol,size:u.size,sizeref:u.sizeref,sizemin:u.sizemin,sizemode:u.sizemode,opacity:u.opacity,colorbar:u.colorbar,line:o({},a("marker.line"),{width:f.width})}),connectgaps:i.connectgaps,fill:o({},i.fill,{dflt:"none"}),fillcolor:i.fillcolor,selected:{marker:i.selected.marker,textfont:i.selected.textfont},unselected:{marker:i.unselected.marker,textfont:i.unselected.textfont},opacity:n.opacity},"calc","nested");h.x.editType=h.y.editType=h.x0.editType=h.y0.editType="calc+clearAxisTypes",h.hovertemplate=i.hovertemplate,h.texttemplate=i.texttemplate},{"../../components/colorscale/attributes":650,"../../lib/extend":768,"../../plot_api/edit_types":810,"../../plots/attributes":824,"../scatter/attributes":1187,"./constants":1241}],1240:[function(t,e,r){"use strict";var n=t("@plotly/point-cluster"),i=t("../../lib"),a=t("../../plots/cartesian/axis_ids"),o=t("../../plots/cartesian/autorange").findExtremes,s=t("../../plots/cartesian/align_period"),l=t("../scatter/calc"),c=l.calcMarkerSize,u=l.calcAxisExpansion,f=l.setFirstScatter,h=t("../scatter/colorscale_calc"),p=t("./convert"),d=t("./scene_update"),g=t("../../constants/numerical").BADNUM,m=t("./constants").TOO_MANY_POINTS;function v(t,e,r){var n=t._extremes[e._id],i=o(e,r._bnds,{padded:!0});n.min=n.min.concat(i.min),n.max=n.max.concat(i.max)}e.exports=function(t,e){var r,o,l,y=t._fullLayout,x=a.getFromId(t,e.xaxis),b=a.getFromId(t,e.yaxis),_=y._plots[e.xaxis+e.yaxis],w=e._length,T=w>=m,k=2*w,M={},A=x.makeCalcdata(e,"x"),S=b.makeCalcdata(e,"y"),E=s(e,x,"x",A),C=s(e,b,"y",S);e._x=E,e._y=C,e.xperiodalignment&&(e._origX=A),e.yperiodalignment&&(e._origY=S);var L=new Array(k);for(r=0;r<w;r++)o=E[r],l=C[r],L[2*r]=o===g?NaN:o,L[2*r+1]=l===g?NaN:l;if("log"===x.type)for(r=0;r<k;r+=2)L[r]=x.c2l(L[r]);if("log"===b.type)for(r=1;r<k;r+=2)L[r]=b.c2l(L[r]);if(T&&"log"!==x.type&&"log"!==b.type)M.tree=n(L);else{var I=M.ids=new Array(w);for(r=0;r<w;r++)I[r]=r}h(t,e);var P,z=function(t,e,r,n,a,o){var s=p.style(t,r);s.marker&&(s.marker.positions=n);s.line&&n.length>1&&i.extendFlat(s.line,p.linePositions(t,r,n));if(s.errorX||s.errorY){var l=p.errorBarPositions(t,r,n,a,o);s.errorX&&i.extendFlat(s.errorX,l.x),s.errorY&&i.extendFlat(s.errorY,l.y)}s.text&&(i.extendFlat(s.text,{positions:n},p.textPosition(t,r,s.text,s.marker)),i.extendFlat(s.textSel,{positions:n},p.textPosition(t,r,s.text,s.markerSel)),i.extendFlat(s.textUnsel,{positions:n},p.textPosition(t,r,s.text,s.markerUnsel)));return s}(t,0,e,L,E,C),O=d(t,_);return f(y,e),T?z.marker&&(P=2*(z.marker.sizeAvg||Math.max(z.marker.size,3))):P=c(e,w),u(t,e,x,b,E,C,P),z.errorX&&v(e,x,z.errorX),z.errorY&&v(e,b,z.errorY),z.fill&&!O.fill2d&&(O.fill2d=!0),z.marker&&!O.scatter2d&&(O.scatter2d=!0),z.line&&!O.line2d&&(O.line2d=!0),!z.errorX&&!z.errorY||O.error2d||(O.error2d=!0),z.text&&!O.glText&&(O.glText=!0),z.marker&&(z.marker.snap=w),O.lineOptions.push(z.line),O.errorXOptions.push(z.errorX),O.errorYOptions.push(z.errorY),O.fillOptions.push(z.fill),O.markerOptions.push(z.marker),O.markerSelectedOptions.push(z.markerSel),O.markerUnselectedOptions.push(z.markerUnsel),O.textOptions.push(z.text),O.textSelectedOptions.push(z.textSel),O.textUnselectedOptions.push(z.textUnsel),O.selectBatch.push([]),O.unselectBatch.push([]),M._scene=O,M.index=O.count,M.x=E,M.y=C,M.positions=L,O.count++,[{x:!1,y:!1,t:M,trace:e}]}},{"../../constants/numerical":753,"../../lib":778,"../../plots/cartesian/align_period":825,"../../plots/cartesian/autorange":827,"../../plots/cartesian/axis_ids":831,"../scatter/calc":1188,"../scatter/colorscale_calc":1190,"./constants":1241,"./convert":1242,"./scene_update":1250,"@plotly/point-cluster":57}],1241:[function(t,e,r){"use strict";e.exports={TOO_MANY_POINTS:1e5,SYMBOL_SDF_SIZE:200,SYMBOL_SIZE:20,SYMBOL_STROKE:1,DOT_RE:/-dot/,OPEN_RE:/-open/,DASHES:{solid:[1],dot:[1,1],dash:[4,1],longdash:[8,1],dashdot:[4,1,1,1],longdashdot:[8,1,1,1]}}},{}],1242:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("svg-path-sdf"),a=t("color-normalize"),o=t("../../registry"),s=t("../../lib"),l=t("../../components/drawing"),c=t("../../plots/cartesian/axis_ids"),u=t("../../lib/gl_format_color").formatColor,f=t("../scatter/subtypes"),h=t("../scatter/make_bubble_size_func"),p=t("./helpers"),d=t("./constants"),g=t("../../constants/interactions").DESELECTDIM,m={start:1,left:1,end:-1,right:-1,middle:0,center:0,bottom:1,top:-1},v=t("../../components/fx/helpers").appendArrayPointValue;function y(t,e){var r,i=t._fullLayout,a=e._length,o=e.textfont,l=e.textposition,c=Array.isArray(l)?l:[l],u=o.color,f=o.size,h=o.family,p={},d=e.texttemplate;if(d){p.text=[];var g=i._d3locale,m=Array.isArray(d),y=m?Math.min(d.length,a):a,x=m?function(t){return d[t]}:function(){return d};for(r=0;r<y;r++){var b={i:r},_=e._module.formatLabels(b,e,i),w={};v(w,e,r);var T=e._meta||{};p.text.push(s.texttemplateString(x(r),_,g,w,b,T))}}else Array.isArray(e.text)&&e.text.length<a?p.text=e.text.slice():p.text=e.text;if(Array.isArray(p.text))for(r=p.text.length;r<a;r++)p.text[r]="";for(p.opacity=e.opacity,p.font={},p.align=[],p.baseline=[],r=0;r<c.length;r++){var k=c[r].split(/\s+/);switch(k[1]){case"left":p.align.push("right");break;case"right":p.align.push("left");break;default:p.align.push(k[1])}switch(k[0]){case"top":p.baseline.push("bottom");break;case"bottom":p.baseline.push("top");break;default:p.baseline.push(k[0])}}if(Array.isArray(u))for(p.color=new Array(a),r=0;r<a;r++)p.color[r]=u[r];else p.color=u;if(s.isArrayOrTypedArray(f)||Array.isArray(h))for(p.font=new Array(a),r=0;r<a;r++){var M=p.font[r]={};M.size=s.isTypedArray(f)?f[r]:Array.isArray(f)?n(f[r])?f[r]:0:f,M.family=Array.isArray(h)?h[r]:h}else p.font={size:f,family:h};return p}function x(t){var e,r,n=t._length,i=t.marker,o={},l=s.isArrayOrTypedArray(i.symbol),c=s.isArrayOrTypedArray(i.color),f=s.isArrayOrTypedArray(i.line.color),d=s.isArrayOrTypedArray(i.opacity),g=s.isArrayOrTypedArray(i.size),m=s.isArrayOrTypedArray(i.line.width);if(l||(r=p.isOpenSymbol(i.symbol)),l||c||f||d){o.colors=new Array(n),o.borderColors=new Array(n);var v=u(i,i.opacity,n),y=u(i.line,i.opacity,n);if(!Array.isArray(y[0])){var x=y;for(y=Array(n),e=0;e<n;e++)y[e]=x}if(!Array.isArray(v[0])){var b=v;for(v=Array(n),e=0;e<n;e++)v[e]=b}for(o.colors=v,o.borderColors=y,e=0;e<n;e++){if(l){var _=i.symbol[e];r=p.isOpenSymbol(_)}r&&(y[e]=v[e].slice(),v[e]=v[e].slice(),v[e][3]=0)}o.opacity=t.opacity}else r?(o.color=a(i.color,"uint8"),o.color[3]=0,o.borderColor=a(i.color,"uint8")):(o.color=a(i.color,"uint8"),o.borderColor=a(i.line.color,"uint8")),o.opacity=t.opacity*i.opacity;if(l)for(o.markers=new Array(n),e=0;e<n;e++)o.markers[e]=E(i.symbol[e]);else o.marker=E(i.symbol);var w,T=h(t);if(g||m){var k,M=o.sizes=new Array(n),A=o.borderSizes=new Array(n),S=0;if(g){for(e=0;e<n;e++)M[e]=T(i.size[e]),S+=M[e];k=S/n}else for(w=T(i.size),e=0;e<n;e++)M[e]=w;if(m)for(e=0;e<n;e++)A[e]=i.line.width[e]/2;else for(w=i.line.width/2,e=0;e<n;e++)A[e]=w;o.sizeAvg=k}else o.size=T(i&&i.size||10),o.borderSizes=T(i.line.width);return o}function b(t,e){var r=t.marker,n={};return e?(e.marker&&e.marker.symbol?n=x(s.extendFlat({},r,e.marker)):e.marker&&(e.marker.size&&(n.size=e.marker.size/2),e.marker.color&&(n.colors=e.marker.color),void 0!==e.marker.opacity&&(n.opacity=e.marker.opacity)),n):n}function _(t,e,r){var n={};if(!r)return n;if(r.textfont){var i={opacity:1,text:e.text,texttemplate:e.texttemplate,textposition:e.textposition,textfont:s.extendFlat({},e.textfont)};r.textfont&&s.extendFlat(i.textfont,r.textfont),n=y(t,i)}return n}function w(t,e){var r={capSize:2*e.width,lineWidth:e.thickness,color:e.color};return e.copy_ystyle&&(r=t.error_y),r}var T=d.SYMBOL_SDF_SIZE,k=d.SYMBOL_SIZE,M=d.SYMBOL_STROKE,A={},S=l.symbolFuncs[0](.05*k);function E(t){if("circle"===t)return null;var e,r,n=l.symbolNumber(t),a=l.symbolFuncs[n%100],o=!!l.symbolNoDot[n%100],s=!!l.symbolNoFill[n%100],c=p.isDotSymbol(t);return A[t]?A[t]:(e=c&&!o?a(1.1*k)+S:a(k),r=i(e,{w:T,h:T,viewBox:[-k,-k,k,k],stroke:s?M:-M}),A[t]=r,r||null)}e.exports={style:function(t,e){var r,n={marker:void 0,markerSel:void 0,markerUnsel:void 0,line:void 0,fill:void 0,errorX:void 0,errorY:void 0,text:void 0,textSel:void 0,textUnsel:void 0};if(!0!==e.visible)return n;if(f.hasText(e)&&(n.text=y(t,e),n.textSel=_(t,e,e.selected),n.textUnsel=_(t,e,e.unselected)),f.hasMarkers(e)&&(n.marker=x(e),n.markerSel=b(e,e.selected),n.markerUnsel=b(e,e.unselected),!e.unselected&&s.isArrayOrTypedArray(e.marker.opacity))){var i=e.marker.opacity;for(n.markerUnsel.opacity=new Array(i.length),r=0;r<i.length;r++)n.markerUnsel.opacity[r]=g*i[r]}if(f.hasLines(e)){n.line={overlay:!0,thickness:e.line.width,color:e.line.color,opacity:e.opacity};var a=(d.DASHES[e.line.dash]||[1]).slice();for(r=0;r<a.length;++r)a[r]*=e.line.width;n.line.dashes=a}return e.error_x&&e.error_x.visible&&(n.errorX=w(e,e.error_x)),e.error_y&&e.error_y.visible&&(n.errorY=w(e,e.error_y)),e.fill&&"none"!==e.fill&&(n.fill={closed:!0,fill:e.fillcolor,thickness:0}),n},markerStyle:x,markerSelection:b,linePositions:function(t,e,r){var n,i,a=r.length,o=a/2;if(f.hasLines(e)&&o)if("hv"===e.line.shape){for(n=[],i=0;i<o-1;i++)isNaN(r[2*i])||isNaN(r[2*i+1])?n.push(NaN,NaN,NaN,NaN):(n.push(r[2*i],r[2*i+1]),isNaN(r[2*i+2])||isNaN(r[2*i+3])?n.push(NaN,NaN):n.push(r[2*i+2],r[2*i+1]));n.push(r[a-2],r[a-1])}else if("hvh"===e.line.shape){for(n=[],i=0;i<o-1;i++)if(isNaN(r[2*i])||isNaN(r[2*i+1])||isNaN(r[2*i+2])||isNaN(r[2*i+3]))isNaN(r[2*i])||isNaN(r[2*i+1])?n.push(NaN,NaN):n.push(r[2*i],r[2*i+1]),n.push(NaN,NaN);else{var s=(r[2*i]+r[2*i+2])/2;n.push(r[2*i],r[2*i+1],s,r[2*i+1],s,r[2*i+3])}n.push(r[a-2],r[a-1])}else if("vhv"===e.line.shape){for(n=[],i=0;i<o-1;i++)if(isNaN(r[2*i])||isNaN(r[2*i+1])||isNaN(r[2*i+2])||isNaN(r[2*i+3]))isNaN(r[2*i])||isNaN(r[2*i+1])?n.push(NaN,NaN):n.push(r[2*i],r[2*i+1]),n.push(NaN,NaN);else{var l=(r[2*i+1]+r[2*i+3])/2;n.push(r[2*i],r[2*i+1],r[2*i],l,r[2*i+2],l)}n.push(r[a-2],r[a-1])}else if("vh"===e.line.shape){for(n=[],i=0;i<o-1;i++)isNaN(r[2*i])||isNaN(r[2*i+1])?n.push(NaN,NaN,NaN,NaN):(n.push(r[2*i],r[2*i+1]),isNaN(r[2*i+2])||isNaN(r[2*i+3])?n.push(NaN,NaN):n.push(r[2*i],r[2*i+3]));n.push(r[a-2],r[a-1])}else n=r;var c=!1;for(i=0;i<n.length;i++)if(isNaN(n[i])){c=!0;break}var u=c||n.length>d.TOO_MANY_POINTS||f.hasMarkers(e)?"rect":"round";if(c&&e.connectgaps){var h=n[0],p=n[1];for(i=0;i<n.length;i+=2)isNaN(n[i])||isNaN(n[i+1])?(n[i]=h,n[i+1]=p):(h=n[i],p=n[i+1])}return{join:u,positions:n}},errorBarPositions:function(t,e,r,i,a){var s=o.getComponentMethod("errorbars","makeComputeError"),l=c.getFromId(t,e.xaxis),u=c.getFromId(t,e.yaxis),f=r.length/2,h={};function p(t,i){var a=i._id.charAt(0),o=e["error_"+a];if(o&&o.visible&&("linear"===i.type||"log"===i.type)){for(var l=s(o),c={x:0,y:1}[a],u={x:[0,1,2,3],y:[2,3,0,1]}[a],p=new Float64Array(4*f),d=1/0,g=-1/0,m=0,v=0;m<f;m++,v+=4){var y=t[m];if(n(y)){var x=r[2*m+c],b=l(y,m),_=b[0],w=b[1];if(n(_)&&n(w)){var T=y-_,k=y+w;p[v+u[0]]=x-i.c2l(T),p[v+u[1]]=i.c2l(k)-x,p[v+u[2]]=0,p[v+u[3]]=0,d=Math.min(d,y-_),g=Math.max(g,y+w)}}}h[a]={positions:r,errors:p,_bnds:[d,g]}}}return p(i,l),p(a,u),h},textPosition:function(t,e,r,n){var i,a=e._length,o={};if(f.hasMarkers(e)){var s=r.font,l=r.align,c=r.baseline;for(o.offset=new Array(a),i=0;i<a;i++){var u=n.sizes?n.sizes[i]:n.size,h=Array.isArray(s)?s[i].size:s.size,p=Array.isArray(l)?l.length>1?l[i]:l[0]:l,d=Array.isArray(c)?c.length>1?c[i]:c[0]:c,g=m[p],v=m[d],y=u?u/.8+1:0,x=-v*y-.5*v;o.offset[i]=[g*y/h,x/h]}}return o}}},{"../../components/drawing":665,"../../components/fx/helpers":679,"../../constants/interactions":752,"../../lib":778,"../../lib/gl_format_color":774,"../../plots/cartesian/axis_ids":831,"../../registry":911,"../scatter/make_bubble_size_func":1204,"../scatter/subtypes":1212,"./constants":1241,"./helpers":1246,"color-normalize":125,"fast-isnumeric":241,"svg-path-sdf":574}],1243:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../registry"),a=t("./helpers"),o=t("./attributes"),s=t("../scatter/constants"),l=t("../scatter/subtypes"),c=t("../scatter/xy_defaults"),u=t("../scatter/period_defaults"),f=t("../scatter/marker_defaults"),h=t("../scatter/line_defaults"),p=t("../scatter/fillcolor_defaults"),d=t("../scatter/text_defaults");e.exports=function(t,e,r,g){function m(r,i){return n.coerce(t,e,o,r,i)}var v=!!t.marker&&a.isOpenSymbol(t.marker.symbol),y=l.isBubble(t),x=c(t,e,g,m);if(x){u(t,e,g,m);var b=x<s.PTS_LINESONLY?"lines+markers":"lines";m("text"),m("hovertext"),m("hovertemplate"),m("mode",b),l.hasLines(e)&&(m("connectgaps"),h(t,e,r,g,m),m("line.shape")),l.hasMarkers(e)&&(f(t,e,r,g,m),m("marker.line.width",v||y?1:0)),l.hasText(e)&&(m("texttemplate"),d(t,e,g,m));var _=(e.line||{}).color,w=(e.marker||{}).color;m("fill"),"none"!==e.fill&&p(t,e,r,m);var T=i.getComponentMethod("errorbars","supplyDefaults");T(t,e,_||w||r,{axis:"y"}),T(t,e,_||w||r,{axis:"x",inherit:"y"}),n.coerceSelectionMarkerOpacity(e,m)}else e.visible=!1}},{"../../lib":778,"../../registry":911,"../scatter/constants":1191,"../scatter/fillcolor_defaults":1195,"../scatter/line_defaults":1200,"../scatter/marker_defaults":1206,"../scatter/period_defaults":1207,"../scatter/subtypes":1212,"../scatter/text_defaults":1213,"../scatter/xy_defaults":1214,"./attributes":1239,"./helpers":1246}],1244:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../components/color"),a=t("../../constants/interactions").DESELECTDIM;e.exports={styleTextSelection:function(t){var e,r,o=t[0],s=o.trace,l=o.t,c=l._scene,u=l.index,f=c.selectBatch[u],h=c.unselectBatch[u],p=c.textOptions[u],d=c.textSelectedOptions[u]||{},g=c.textUnselectedOptions[u]||{},m=n.extendFlat({},p);if(f.length||h.length){var v=d.color,y=g.color,x=p.color,b=Array.isArray(x);for(m.color=new Array(s._length),e=0;e<f.length;e++)r=f[e],m.color[r]=v||(b?x[r]:x);for(e=0;e<h.length;e++){r=h[e];var _=b?x[r]:x;m.color[r]=y||(v?_:i.addOpacity(_,a))}}c.glText[u].update(m)}}},{"../../components/color":643,"../../constants/interactions":752,"../../lib":778}],1245:[function(t,e,r){"use strict";var n=t("../scatter/format_labels");e.exports=function(t,e,r){var i=t.i;return"x"in t||(t.x=e._x[i]),"y"in t||(t.y=e._y[i]),n(t,e,r)}},{"../scatter/format_labels":1196}],1246:[function(t,e,r){"use strict";var n=t("./constants");r.isOpenSymbol=function(t){return"string"==typeof t?n.OPEN_RE.test(t):t%200>100},r.isDotSymbol=function(t){return"string"==typeof t?n.DOT_RE.test(t):t>200}},{"./constants":1241}],1247:[function(t,e,r){"use strict";var n=t("../../registry"),i=t("../../lib"),a=t("../scatter/get_trace_color");function o(t,e,r,o){var s=t.xa,l=t.ya,c=t.distance,u=t.dxy,f=t.index,h={pointNumber:f,x:e[f],y:r[f]};h.tx=Array.isArray(o.text)?o.text[f]:o.text,h.htx=Array.isArray(o.hovertext)?o.hovertext[f]:o.hovertext,h.data=Array.isArray(o.customdata)?o.customdata[f]:o.customdata,h.tp=Array.isArray(o.textposition)?o.textposition[f]:o.textposition;var p=o.textfont;p&&(h.ts=i.isArrayOrTypedArray(p.size)?p.size[f]:p.size,h.tc=Array.isArray(p.color)?p.color[f]:p.color,h.tf=Array.isArray(p.family)?p.family[f]:p.family);var d=o.marker;d&&(h.ms=i.isArrayOrTypedArray(d.size)?d.size[f]:d.size,h.mo=i.isArrayOrTypedArray(d.opacity)?d.opacity[f]:d.opacity,h.mx=i.isArrayOrTypedArray(d.symbol)?d.symbol[f]:d.symbol,h.mc=i.isArrayOrTypedArray(d.color)?d.color[f]:d.color);var g=d&&d.line;g&&(h.mlc=Array.isArray(g.color)?g.color[f]:g.color,h.mlw=i.isArrayOrTypedArray(g.width)?g.width[f]:g.width);var m=d&&d.gradient;m&&"none"!==m.type&&(h.mgt=Array.isArray(m.type)?m.type[f]:m.type,h.mgc=Array.isArray(m.color)?m.color[f]:m.color);var v=s.c2p(h.x,!0),y=l.c2p(h.y,!0),x=h.mrc||1,b=o.hoverlabel;b&&(h.hbg=Array.isArray(b.bgcolor)?b.bgcolor[f]:b.bgcolor,h.hbc=Array.isArray(b.bordercolor)?b.bordercolor[f]:b.bordercolor,h.hts=i.isArrayOrTypedArray(b.font.size)?b.font.size[f]:b.font.size,h.htc=Array.isArray(b.font.color)?b.font.color[f]:b.font.color,h.htf=Array.isArray(b.font.family)?b.font.family[f]:b.font.family,h.hnl=i.isArrayOrTypedArray(b.namelength)?b.namelength[f]:b.namelength);var _=o.hoverinfo;_&&(h.hi=Array.isArray(_)?_[f]:_);var w=o.hovertemplate;w&&(h.ht=Array.isArray(w)?w[f]:w);var T={};T[t.index]=h;var k=o._origX,M=o._origY,A=i.extendFlat({},t,{color:a(o,h),x0:v-x,x1:v+x,xLabelVal:k?k[f]:h.x,y0:y-x,y1:y+x,yLabelVal:M?M[f]:h.y,cd:T,distance:c,spikeDistance:u,hovertemplate:h.ht});return h.htx?A.text=h.htx:h.tx?A.text=h.tx:o.text&&(A.text=o.text),i.fillText(h,o,A),n.getComponentMethod("errorbars","hoverInfo")(h,o,A),A}e.exports={hoverPoints:function(t,e,r,n){var i,a,s,l,c,u,f,h,p,d=t.cd,g=d[0].t,m=d[0].trace,v=t.xa,y=t.ya,x=g.x,b=g.y,_=v.c2p(e),w=y.c2p(r),T=t.distance;if(g.tree){var k=v.p2c(_-T),M=v.p2c(_+T),A=y.p2c(w-T),S=y.p2c(w+T);i="x"===n?g.tree.range(Math.min(k,M),Math.min(y._rl[0],y._rl[1]),Math.max(k,M),Math.max(y._rl[0],y._rl[1])):g.tree.range(Math.min(k,M),Math.min(A,S),Math.max(k,M),Math.max(A,S))}else i=g.ids;var E=T;if("x"===n)for(c=0;c<i.length;c++)s=x[i[c]],(u=Math.abs(v.c2p(s)-_))<E&&(E=u,f=y.c2p(b[i[c]])-w,p=Math.sqrt(u*u+f*f),a=i[c]);else for(c=i.length-1;c>-1;c--)s=x[i[c]],l=b[i[c]],u=v.c2p(s)-_,f=y.c2p(l)-w,(h=Math.sqrt(u*u+f*f))<E&&(E=p=h,a=i[c]);return t.index=a,t.distance=E,t.dxy=p,void 0===a?[t]:[o(t,x,b,m)]},calcHover:o}},{"../../lib":778,"../../registry":911,"../scatter/get_trace_color":1197}],1248:[function(t,e,r){"use strict";var n=t("./hover");e.exports={moduleType:"trace",name:"scattergl",basePlotModule:t("../../plots/cartesian"),categories:["gl","regl","cartesian","symbols","errorBarsOK","showLegend","scatter-like"],attributes:t("./attributes"),supplyDefaults:t("./defaults"),crossTraceDefaults:t("../scatter/cross_trace_defaults"),colorbar:t("../scatter/marker_colorbar"),formatLabels:t("./format_labels"),calc:t("./calc"),plot:t("./plot"),hoverPoints:n.hoverPoints,selectPoints:t("./select"),meta:{}}},{"../../plots/cartesian":841,"../scatter/cross_trace_defaults":1193,"../scatter/marker_colorbar":1205,"./attributes":1239,"./calc":1240,"./defaults":1243,"./format_labels":1245,"./hover":1247,"./plot":1249,"./select":1251}],1249:[function(t,e,r){"use strict";var n=t("regl-scatter2d"),i=t("regl-line2d"),a=t("regl-error2d"),o=t("gl-text"),s=t("../../lib"),l=t("../../components/dragelement/helpers").selectMode,c=t("../../lib/prepare_regl"),u=t("../scatter/subtypes"),f=t("../scatter/link_traces"),h=t("./edit_style").styleTextSelection;function p(t,e,r){var n=t._size,i=t.width,a=t.height;return[n.l+e.domain[0]*n.w,n.b+r.domain[0]*n.h,i-n.r-(1-e.domain[1])*n.w,a-n.t-(1-r.domain[1])*n.h]}e.exports=function(t,e,r){if(r.length){var d,g,m=t._fullLayout,v=e._scene,y=e.xaxis,x=e.yaxis;if(v)if(c(t,["ANGLE_instanced_arrays","OES_element_index_uint"])){var b=v.count,_=m._glcanvas.data()[0].regl;if(f(t,e,r),v.dirty){if(!0===v.error2d&&(v.error2d=a(_)),!0===v.line2d&&(v.line2d=i(_)),!0===v.scatter2d&&(v.scatter2d=n(_,{constPointSize:!0})),!0===v.fill2d&&(v.fill2d=i(_)),!0===v.glText)for(v.glText=new Array(b),d=0;d<b;d++)v.glText[d]=new o(_);if(v.glText){if(b>v.glText.length){var w=b-v.glText.length;for(d=0;d<w;d++)v.glText.push(new o(_))}else if(b<v.glText.length){var T=v.glText.length-b;v.glText.splice(b,T).forEach((function(t){t.destroy()}))}for(d=0;d<b;d++)v.glText[d].update(v.textOptions[d])}if(v.line2d&&(v.line2d.update(v.lineOptions),v.lineOptions=v.lineOptions.map((function(t){if(t&&t.positions){for(var e=t.positions,r=0;r<e.length&&(isNaN(e[r])||isNaN(e[r+1]));)r+=2;for(var n=e.length-2;n>r&&(isNaN(e[n])||isNaN(e[n+1]));)n-=2;t.positions=e.slice(r,n+2)}return t})),v.line2d.update(v.lineOptions)),v.error2d){var k=(v.errorXOptions||[]).concat(v.errorYOptions||[]);v.error2d.update(k)}v.scatter2d&&v.scatter2d.update(v.markerOptions),v.fillOrder=s.repeat(null,b),v.fill2d&&(v.fillOptions=v.fillOptions.map((function(t,e){var n=r[e];if(t&&n&&n[0]&&n[0].trace){var i,a,o=n[0],s=o.trace,l=o.t,c=v.lineOptions[e],u=[];s._ownfill&&u.push(e),s._nexttrace&&u.push(e+1),u.length&&(v.fillOrder[e]=u);var f,h,p=[],d=c&&c.positions||l.positions;if("tozeroy"===s.fill){for(f=0;f<d.length&&isNaN(d[f+1]);)f+=2;for(h=d.length-2;h>f&&isNaN(d[h+1]);)h-=2;0!==d[f+1]&&(p=[d[f],0]),p=p.concat(d.slice(f,h+2)),0!==d[h+1]&&(p=p.concat([d[h],0]))}else if("tozerox"===s.fill){for(f=0;f<d.length&&isNaN(d[f]);)f+=2;for(h=d.length-2;h>f&&isNaN(d[h]);)h-=2;0!==d[f]&&(p=[0,d[f+1]]),p=p.concat(d.slice(f,h+2)),0!==d[h]&&(p=p.concat([0,d[h+1]]))}else if("toself"===s.fill||"tonext"===s.fill){for(p=[],i=0,a=0;a<d.length;a+=2)(isNaN(d[a])||isNaN(d[a+1]))&&((p=p.concat(d.slice(i,a))).push(d[i],d[i+1]),i=a+2);p=p.concat(d.slice(i)),i&&p.push(d[i],d[i+1])}else{var g=s._nexttrace;if(g){var m=v.lineOptions[e+1];if(m){var y=m.positions;if("tonexty"===s.fill){for(p=d.slice(),e=Math.floor(y.length/2);e--;){var x=y[2*e],b=y[2*e+1];isNaN(x)||isNaN(b)||p.push(x,b)}t.fill=g.fillcolor}}}}if(s._prevtrace&&"tonext"===s._prevtrace.fill){var _=v.lineOptions[e-1].positions,w=p.length/2,T=[i=w];for(a=0;a<_.length;a+=2)(isNaN(_[a])||isNaN(_[a+1]))&&(T.push(a/2+w+1),i=a+2);p=p.concat(_),t.hole=T}return t.fillmode=s.fill,t.opacity=s.opacity,t.positions=p,t}})),v.fill2d.update(v.fillOptions))}var M=m.dragmode,A=l(M),S=m.clickmode.indexOf("select")>-1;for(d=0;d<b;d++){var E=r[d][0],C=E.trace,L=E.t,I=L.index,P=C._length,z=L.x,O=L.y;if(C.selectedpoints||A||S){if(A||(A=!0),C.selectedpoints){var D=v.selectBatch[I]=s.selIndices2selPoints(C),R={};for(g=0;g<D.length;g++)R[D[g]]=1;var F=[];for(g=0;g<P;g++)R[g]||F.push(g);v.unselectBatch[I]=F}var B=L.xpx=new Array(P),N=L.ypx=new Array(P);for(g=0;g<P;g++)B[g]=y.c2p(z[g]),N[g]=x.c2p(O[g])}else L.xpx=L.ypx=null}if(A){if(v.select2d||(v.select2d=n(m._glcanvas.data()[1].regl)),v.scatter2d){var j=new Array(b);for(d=0;d<b;d++)j[d]=v.selectBatch[d].length||v.unselectBatch[d].length?v.markerUnselectedOptions[d]:{};v.scatter2d.update(j)}v.select2d&&(v.select2d.update(v.markerOptions),v.select2d.update(v.markerSelectedOptions)),v.glText&&r.forEach((function(t){var e=((t||[])[0]||{}).trace||{};u.hasText(e)&&h(t)}))}else v.scatter2d&&v.scatter2d.update(v.markerOptions);var U={viewport:p(m,y,x),range:[(y._rl||y.range)[0],(x._rl||x.range)[0],(y._rl||y.range)[1],(x._rl||x.range)[1]]},V=s.repeat(U,v.count);v.fill2d&&v.fill2d.update(V),v.line2d&&v.line2d.update(V),v.error2d&&v.error2d.update(V.concat(V)),v.scatter2d&&v.scatter2d.update(V),v.select2d&&v.select2d.update(V),v.glText&&v.glText.forEach((function(t){t.update(U)}))}else v.init()}}},{"../../components/dragelement/helpers":661,"../../lib":778,"../../lib/prepare_regl":791,"../scatter/link_traces":1203,"../scatter/subtypes":1212,"./edit_style":1244,"gl-text":352,"regl-error2d":534,"regl-line2d":535,"regl-scatter2d":537}],1250:[function(t,e,r){"use strict";var n=t("../../lib");e.exports=function(t,e){var r=e._scene,i={count:0,dirty:!0,lineOptions:[],fillOptions:[],markerOptions:[],markerSelectedOptions:[],markerUnselectedOptions:[],errorXOptions:[],errorYOptions:[],textOptions:[],textSelectedOptions:[],textUnselectedOptions:[],selectBatch:[],unselectBatch:[]},a={fill2d:!1,scatter2d:!1,error2d:!1,line2d:!1,glText:!1,select2d:!1};return e._scene||((r=e._scene={}).init=function(){n.extendFlat(r,a,i)},r.init(),r.update=function(t){var e=n.repeat(t,r.count);if(r.fill2d&&r.fill2d.update(e),r.scatter2d&&r.scatter2d.update(e),r.line2d&&r.line2d.update(e),r.error2d&&r.error2d.update(e.concat(e)),r.select2d&&r.select2d.update(e),r.glText)for(var i=0;i<r.count;i++)r.glText[i].update(t)},r.draw=function(){for(var t=r.count,e=r.fill2d,i=r.error2d,a=r.line2d,o=r.scatter2d,s=r.glText,l=r.select2d,c=r.selectBatch,u=r.unselectBatch,f=0;f<t;f++){if(e&&r.fillOrder[f]&&e.draw(r.fillOrder[f]),a&&r.lineOptions[f]&&a.draw(f),i&&(r.errorXOptions[f]&&i.draw(f),r.errorYOptions[f]&&i.draw(f+t)),o&&r.markerOptions[f])if(u[f].length){var h=n.repeat([],r.count);h[f]=u[f],o.draw(h)}else c[f].length||o.draw(f);s[f]&&r.textOptions[f]&&s[f].render()}l&&l.draw(c),r.dirty=!1},r.destroy=function(){r.fill2d&&r.fill2d.destroy&&r.fill2d.destroy(),r.scatter2d&&r.scatter2d.destroy&&r.scatter2d.destroy(),r.error2d&&r.error2d.destroy&&r.error2d.destroy(),r.line2d&&r.line2d.destroy&&r.line2d.destroy(),r.select2d&&r.select2d.destroy&&r.select2d.destroy(),r.glText&&r.glText.forEach((function(t){t.destroy&&t.destroy()})),r.lineOptions=null,r.fillOptions=null,r.markerOptions=null,r.markerSelectedOptions=null,r.markerUnselectedOptions=null,r.errorXOptions=null,r.errorYOptions=null,r.textOptions=null,r.textSelectedOptions=null,r.textUnselectedOptions=null,r.selectBatch=null,r.unselectBatch=null,e._scene=null}),r.dirty||n.extendFlat(r,i),r}},{"../../lib":778}],1251:[function(t,e,r){"use strict";var n=t("../scatter/subtypes"),i=t("./edit_style").styleTextSelection;e.exports=function(t,e){var r=t.cd,a=[],o=r[0].trace,s=r[0].t,l=o._length,c=s.x,u=s.y,f=s._scene,h=s.index;if(!f)return a;var p=n.hasText(o),d=n.hasMarkers(o),g=!d&&!p;if(!0!==o.visible||g)return a;var m=[],v=[];if(!1!==e&&!e.degenerate)for(var y=0;y<l;y++)e.contains([s.xpx[y],s.ypx[y]],!1,y,t)?(m.push(y),a.push({pointNumber:y,x:c[y],y:u[y]})):v.push(y);if(d){var x=f.scatter2d;if(m.length||v.length){if(!f.selectBatch[h].length&&!f.unselectBatch[h].length){var b=new Array(f.count);b[h]=f.markerUnselectedOptions[h],x.update.apply(x,b)}}else{var _=new Array(f.count);_[h]=f.markerOptions[h],x.update.apply(x,_)}}return f.selectBatch[h]=m,f.unselectBatch[h]=v,p&&i(r),a}},{"../scatter/subtypes":1212,"./edit_style":1244}],1252:[function(t,e,r){"use strict";var n=t("../../plots/template_attributes").hovertemplateAttrs,i=t("../../plots/template_attributes").texttemplateAttrs,a=t("../scattergeo/attributes"),o=t("../scatter/attributes"),s=t("../../plots/mapbox/layout_attributes"),l=t("../../plots/attributes"),c=t("../../components/colorscale/attributes"),u=t("../../lib/extend").extendFlat,f=t("../../plot_api/edit_types").overrideAll,h=a.line,p=a.marker;e.exports=f({lon:a.lon,lat:a.lat,mode:u({},o.mode,{dflt:"markers"}),text:u({},o.text,{}),texttemplate:i({editType:"plot"},{keys:["lat","lon","text"]}),hovertext:u({},o.hovertext,{}),line:{color:h.color,width:h.width},connectgaps:o.connectgaps,marker:u({symbol:{valType:"string",dflt:"circle",arrayOk:!0},angle:{valType:"number",dflt:"auto",arrayOk:!0},allowoverlap:{valType:"boolean",dflt:!1},opacity:p.opacity,size:p.size,sizeref:p.sizeref,sizemin:p.sizemin,sizemode:p.sizemode},c("marker")),fill:a.fill,fillcolor:o.fillcolor,textfont:s.layers.symbol.textfont,textposition:s.layers.symbol.textposition,below:{valType:"string"},selected:{marker:o.selected.marker},unselected:{marker:o.unselected.marker},hoverinfo:u({},l.hoverinfo,{flags:["lon","lat","text","name"]}),hovertemplate:n()},"calc","nested")},{"../../components/colorscale/attributes":650,"../../lib/extend":768,"../../plot_api/edit_types":810,"../../plots/attributes":824,"../../plots/mapbox/layout_attributes":887,"../../plots/template_attributes":906,"../scatter/attributes":1187,"../scattergeo/attributes":1229}],1253:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../lib"),a=t("../../constants/numerical").BADNUM,o=t("../../lib/geojson_utils"),s=t("../../components/colorscale"),l=t("../../components/drawing"),c=t("../scatter/make_bubble_size_func"),u=t("../scatter/subtypes"),f=t("../../plots/mapbox/convert_text_opts"),h=t("../../components/fx/helpers").appendArrayPointValue,p=t("../../lib/svg_text_utils").NEWLINES,d=t("../../lib/svg_text_utils").BR_TAG_ALL;function g(){return{geojson:o.makeBlank(),layout:{visibility:"none"},paint:{}}}function m(t,e){return i.isArrayOrTypedArray(t)?e?function(e){return n(t[e])?+t[e]:0}:function(e){return t[e]}:t?function(){return t}:v}function v(){return""}function y(t){return t[0]===a}e.exports=function(t,e){var r,a=e[0].trace,x=!0===a.visible&&0!==a._length,b="none"!==a.fill,_=u.hasLines(a),w=u.hasMarkers(a),T=u.hasText(a),k=w&&"circle"===a.marker.symbol,M=w&&"circle"!==a.marker.symbol,A=g(),S=g(),E=g(),C=g(),L={fill:A,line:S,circle:E,symbol:C};if(!x)return L;if((b||_)&&(r=o.calcTraceToLineCoords(e)),b&&(A.geojson=o.makePolygon(r),A.layout.visibility="visible",i.extendFlat(A.paint,{"fill-color":a.fillcolor})),_&&(S.geojson=o.makeLine(r),S.layout.visibility="visible",i.extendFlat(S.paint,{"line-width":a.line.width,"line-color":a.line.color,"line-opacity":a.opacity})),k){var I=function(t){var e,r,a,o,u=t[0].trace,f=u.marker,h=u.selectedpoints,p=i.isArrayOrTypedArray(f.color),d=i.isArrayOrTypedArray(f.size),g=i.isArrayOrTypedArray(f.opacity);function m(t){return u.opacity*t}p&&(r=s.hasColorscale(u,"marker")?s.makeColorScaleFuncFromTrace(f):i.identity);d&&(a=c(u));g&&(o=function(t){return m(n(t)?+i.constrain(t,0,1):0)});var v,x=[];for(e=0;e<t.length;e++){var b=t[e],_=b.lonlat;if(!y(_)){var w={};r&&(w.mcc=b.mcc=r(b.mc)),a&&(w.mrc=b.mrc=a(b.ms)),o&&(w.mo=o(b.mo)),h&&(w.selected=b.selected||0),x.push({type:"Feature",geometry:{type:"Point",coordinates:_},properties:w})}}if(h)for(v=l.makeSelectedPointStyleFns(u),e=0;e<x.length;e++){var T=x[e].properties;v.selectedOpacityFn&&(T.mo=m(v.selectedOpacityFn(T))),v.selectedColorFn&&(T.mcc=v.selectedColorFn(T)),v.selectedSizeFn&&(T.mrc=v.selectedSizeFn(T))}return{geojson:{type:"FeatureCollection",features:x},mcc:p||v&&v.selectedColorFn?{type:"identity",property:"mcc"}:f.color,mrc:d||v&&v.selectedSizeFn?{type:"identity",property:"mrc"}:(k=f.size,k/2),mo:g||v&&v.selectedOpacityFn?{type:"identity",property:"mo"}:m(f.opacity)};var k}(e);E.geojson=I.geojson,E.layout.visibility="visible",i.extendFlat(E.paint,{"circle-color":I.mcc,"circle-radius":I.mrc,"circle-opacity":I.mo})}if((M||T)&&(C.geojson=function(t,e){for(var r=e._fullLayout,n=t[0].trace,a=n.marker||{},o=a.symbol,s=a.angle,l="circle"!==o?m(o):v,c="auto"!==s?m(s,!0):v,f=u.hasText(n)?m(n.text):v,g=[],x=0;x<t.length;x++){var b=t[x];if(!y(b.lonlat)){var _,w=n.texttemplate;if(w){var T=Array.isArray(w)?w[x]||"":w,k=n._module.formatLabels(b,n,r),M={};h(M,n,b.i);var A=n._meta||{};_=i.texttemplateString(T,k,r._d3locale,M,b,A)}else _=f(x);_&&(_=_.replace(p,"").replace(d,"\n")),g.push({type:"Feature",geometry:{type:"Point",coordinates:b.lonlat},properties:{symbol:l(x),angle:c(x),text:_}})}}return{type:"FeatureCollection",features:g}}(e,t),i.extendFlat(C.layout,{visibility:"visible","icon-image":"{symbol}-15","text-field":"{text}"}),M&&(i.extendFlat(C.layout,{"icon-size":a.marker.size/10}),"angle"in a.marker&&"auto"!==a.marker.angle&&i.extendFlat(C.layout,{"icon-rotate":{type:"identity",property:"angle"},"icon-rotation-alignment":"map"}),C.layout["icon-allow-overlap"]=a.marker.allowoverlap,i.extendFlat(C.paint,{"icon-opacity":a.opacity*a.marker.opacity,"icon-color":a.marker.color})),T)){var P=(a.marker||{}).size,z=f(a.textposition,P);i.extendFlat(C.layout,{"text-size":a.textfont.size,"text-anchor":z.anchor,"text-offset":z.offset}),i.extendFlat(C.paint,{"text-color":a.textfont.color,"text-opacity":a.opacity})}return L}},{"../../components/colorscale":655,"../../components/drawing":665,"../../components/fx/helpers":679,"../../constants/numerical":753,"../../lib":778,"../../lib/geojson_utils":772,"../../lib/svg_text_utils":803,"../../plots/mapbox/convert_text_opts":884,"../scatter/make_bubble_size_func":1204,"../scatter/subtypes":1212,"fast-isnumeric":241}],1254:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../scatter/subtypes"),a=t("../scatter/marker_defaults"),o=t("../scatter/line_defaults"),s=t("../scatter/text_defaults"),l=t("../scatter/fillcolor_defaults"),c=t("./attributes");e.exports=function(t,e,r,u){function f(r,i){return n.coerce(t,e,c,r,i)}if(function(t,e,r){var n=r("lon")||[],i=r("lat")||[],a=Math.min(n.length,i.length);return e._length=a,a}(0,e,f)){if(f("text"),f("texttemplate"),f("hovertext"),f("hovertemplate"),f("mode"),f("below"),i.hasLines(e)&&(o(t,e,r,u,f,{noDash:!0}),f("connectgaps")),i.hasMarkers(e)){a(t,e,r,u,f,{noLine:!0}),f("marker.allowoverlap"),f("marker.angle");var h=e.marker;"circle"!==h.symbol&&(n.isArrayOrTypedArray(h.size)&&(h.size=h.size[0]),n.isArrayOrTypedArray(h.color)&&(h.color=h.color[0]))}i.hasText(e)&&s(t,e,u,f,{noSelect:!0}),f("fill"),"none"!==e.fill&&l(t,e,r,f),n.coerceSelectionMarkerOpacity(e,f)}else e.visible=!1}},{"../../lib":778,"../scatter/fillcolor_defaults":1195,"../scatter/line_defaults":1200,"../scatter/marker_defaults":1206,"../scatter/subtypes":1212,"../scatter/text_defaults":1213,"./attributes":1252}],1255:[function(t,e,r){"use strict";e.exports=function(t,e){return t.lon=e.lon,t.lat=e.lat,t}},{}],1256:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes");e.exports=function(t,e,r){var i={},a=r[e.subplot]._subplot.mockAxis,o=t.lonlat;return i.lonLabel=n.tickText(a,a.c2l(o[0]),!0).text,i.latLabel=n.tickText(a,a.c2l(o[1]),!0).text,i}},{"../../plots/cartesian/axes":828}],1257:[function(t,e,r){"use strict";var n=t("../../components/fx"),i=t("../../lib"),a=t("../scatter/get_trace_color"),o=i.fillText,s=t("../../constants/numerical").BADNUM;e.exports=function(t,e,r){var l=t.cd,c=l[0].trace,u=t.xa,f=t.ya,h=t.subplot,p=360*(e>=0?Math.floor((e+180)/360):Math.ceil((e-180)/360)),d=e-p;if(n.getClosest(l,(function(t){var e=t.lonlat;if(e[0]===s)return 1/0;var n=i.modHalf(e[0],360),a=e[1],o=h.project([n,a]),l=o.x-u.c2p([d,a]),c=o.y-f.c2p([n,r]),p=Math.max(3,t.mrc||0);return Math.max(Math.sqrt(l*l+c*c)-p,1-3/p)}),t),!1!==t.index){var g=l[t.index],m=g.lonlat,v=[i.modHalf(m[0],360)+p,m[1]],y=u.c2p(v),x=f.c2p(v),b=g.mrc||1;t.x0=y-b,t.x1=y+b,t.y0=x-b,t.y1=x+b;var _={};_[c.subplot]={_subplot:h};var w=c._module.formatLabels(g,c,_);return t.lonLabel=w.lonLabel,t.latLabel=w.latLabel,t.color=a(c,g),t.extraText=function(t,e,r){if(t.hovertemplate)return;var n=(e.hi||t.hoverinfo).split("+"),i=-1!==n.indexOf("all"),a=-1!==n.indexOf("lon"),s=-1!==n.indexOf("lat"),l=e.lonlat,c=[];function u(t){return t+"\xb0"}i||a&&s?c.push("("+u(l[0])+", "+u(l[1])+")"):a?c.push(r.lon+u(l[0])):s&&c.push(r.lat+u(l[1]));(i||-1!==n.indexOf("text"))&&o(e,t,c);return c.join("<br>")}(c,g,l[0].t.labels),t.hovertemplate=c.hovertemplate,[t]}}},{"../../components/fx":683,"../../constants/numerical":753,"../../lib":778,"../scatter/get_trace_color":1197}],1258:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),colorbar:t("../scatter/marker_colorbar"),formatLabels:t("./format_labels"),calc:t("../scattergeo/calc"),plot:t("./plot"),hoverPoints:t("./hover"),eventData:t("./event_data"),selectPoints:t("./select"),styleOnSelect:function(t,e){e&&e[0].trace._glTrace.update(e)},moduleType:"trace",name:"scattermapbox",basePlotModule:t("../../plots/mapbox"),categories:["mapbox","gl","symbols","showLegend","scatter-like"],meta:{}}},{"../../plots/mapbox":885,"../scatter/marker_colorbar":1205,"../scattergeo/calc":1230,"./attributes":1252,"./defaults":1254,"./event_data":1255,"./format_labels":1256,"./hover":1257,"./plot":1259,"./select":1260}],1259:[function(t,e,r){"use strict";var n=t("./convert"),i=t("../../plots/mapbox/constants").traceLayerPrefix,a=["fill","line","circle","symbol"];function o(t,e){this.type="scattermapbox",this.subplot=t,this.uid=e,this.sourceIds={fill:"source-"+e+"-fill",line:"source-"+e+"-line",circle:"source-"+e+"-circle",symbol:"source-"+e+"-symbol"},this.layerIds={fill:i+e+"-fill",line:i+e+"-line",circle:i+e+"-circle",symbol:i+e+"-symbol"},this.below=null}var s=o.prototype;s.addSource=function(t,e){this.subplot.map.addSource(this.sourceIds[t],{type:"geojson",data:e.geojson})},s.setSourceData=function(t,e){this.subplot.map.getSource(this.sourceIds[t]).setData(e.geojson)},s.addLayer=function(t,e,r){this.subplot.addLayer({type:t,id:this.layerIds[t],source:this.sourceIds[t],layout:e.layout,paint:e.paint},r)},s.update=function(t){var e,r,i,o=this.subplot,s=o.map,l=n(o.gd,t),c=o.belowLookup["trace-"+this.uid];if(c!==this.below){for(e=a.length-1;e>=0;e--)r=a[e],s.removeLayer(this.layerIds[r]);for(e=0;e<a.length;e++)i=l[r=a[e]],this.addLayer(r,i,c);this.below=c}for(e=0;e<a.length;e++)i=l[r=a[e]],o.setOptions(this.layerIds[r],"setLayoutProperty",i.layout),"visible"===i.layout.visibility&&(this.setSourceData(r,i),o.setOptions(this.layerIds[r],"setPaintProperty",i.paint));t[0].trace._glTrace=this},s.dispose=function(){for(var t=this.subplot.map,e=a.length-1;e>=0;e--){var r=a[e];t.removeLayer(this.layerIds[r]),t.removeSource(this.sourceIds[r])}},e.exports=function(t,e){for(var r=e[0].trace,i=new o(t,r.uid),s=n(t.gd,e),l=i.below=t.belowLookup["trace-"+r.uid],c=0;c<a.length;c++){var u=a[c],f=s[u];i.addSource(u,f),i.addLayer(u,f,l)}return e[0].trace._glTrace=i,i}},{"../../plots/mapbox/constants":883,"./convert":1253}],1260:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../scatter/subtypes"),a=t("../../constants/numerical").BADNUM;e.exports=function(t,e){var r,o=t.cd,s=t.xaxis,l=t.yaxis,c=[],u=o[0].trace;if(!i.hasMarkers(u))return[];if(!1===e)for(r=0;r<o.length;r++)o[r].selected=0;else for(r=0;r<o.length;r++){var f=o[r],h=f.lonlat;if(h[0]!==a){var p=[n.modHalf(h[0],360),h[1]],d=[s.c2p(p),l.c2p(p)];e.contains(d,null,r,t)?(c.push({pointNumber:r,lon:h[0],lat:h[1]}),f.selected=1):f.selected=0}}return c}},{"../../constants/numerical":753,"../../lib":778,"../scatter/subtypes":1212}],1261:[function(t,e,r){"use strict";var n=t("../../plots/template_attributes").hovertemplateAttrs,i=t("../../plots/template_attributes").texttemplateAttrs,a=t("../../lib/extend").extendFlat,o=t("../scatter/attributes"),s=t("../../plots/attributes"),l=o.line;e.exports={mode:o.mode,r:{valType:"data_array",editType:"calc+clearAxisTypes"},theta:{valType:"data_array",editType:"calc+clearAxisTypes"},r0:{valType:"any",dflt:0,editType:"calc+clearAxisTypes"},dr:{valType:"number",dflt:1,editType:"calc"},theta0:{valType:"any",dflt:0,editType:"calc+clearAxisTypes"},dtheta:{valType:"number",editType:"calc"},thetaunit:{valType:"enumerated",values:["radians","degrees","gradians"],dflt:"degrees",editType:"calc+clearAxisTypes"},text:o.text,texttemplate:i({editType:"plot"},{keys:["r","theta","text"]}),hovertext:o.hovertext,line:{color:l.color,width:l.width,dash:l.dash,shape:a({},l.shape,{values:["linear","spline"]}),smoothing:l.smoothing,editType:"calc"},connectgaps:o.connectgaps,marker:o.marker,cliponaxis:a({},o.cliponaxis,{dflt:!1}),textposition:o.textposition,textfont:o.textfont,fill:a({},o.fill,{values:["none","toself","tonext"],dflt:"none"}),fillcolor:o.fillcolor,hoverinfo:a({},s.hoverinfo,{flags:["r","theta","text","name"]}),hoveron:o.hoveron,hovertemplate:n(),selected:o.selected,unselected:o.unselected}},{"../../lib/extend":768,"../../plots/attributes":824,"../../plots/template_attributes":906,"../scatter/attributes":1187}],1262:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../constants/numerical").BADNUM,a=t("../../plots/cartesian/axes"),o=t("../scatter/colorscale_calc"),s=t("../scatter/arrays_to_calcdata"),l=t("../scatter/calc_selection"),c=t("../scatter/calc").calcMarkerSize;e.exports=function(t,e){for(var r=t._fullLayout,u=e.subplot,f=r[u].radialaxis,h=r[u].angularaxis,p=f.makeCalcdata(e,"r"),d=h.makeCalcdata(e,"theta"),g=e._length,m=new Array(g),v=0;v<g;v++){var y=p[v],x=d[v],b=m[v]={};n(y)&&n(x)?(b.r=y,b.theta=x):b.r=i}var _=c(e,g);return e._extremes.x=a.findExtremes(f,p,{ppad:_}),o(t,e),s(m,e),l(m,e),m}},{"../../constants/numerical":753,"../../plots/cartesian/axes":828,"../scatter/arrays_to_calcdata":1186,"../scatter/calc":1188,"../scatter/calc_selection":1189,"../scatter/colorscale_calc":1190,"fast-isnumeric":241}],1263:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../scatter/subtypes"),a=t("../scatter/marker_defaults"),o=t("../scatter/line_defaults"),s=t("../scatter/line_shape_defaults"),l=t("../scatter/text_defaults"),c=t("../scatter/fillcolor_defaults"),u=t("../scatter/constants").PTS_LINESONLY,f=t("./attributes");function h(t,e,r,n){var i,a=n("r"),o=n("theta");if(a)o?i=Math.min(a.length,o.length):(i=a.length,n("theta0"),n("dtheta"));else{if(!o)return 0;i=e.theta.length,n("r0"),n("dr")}return e._length=i,i}e.exports={handleRThetaDefaults:h,supplyDefaults:function(t,e,r,p){function d(r,i){return n.coerce(t,e,f,r,i)}var g=h(t,e,p,d);if(g){d("thetaunit"),d("mode",g<u?"lines+markers":"lines"),d("text"),d("hovertext"),"fills"!==e.hoveron&&d("hovertemplate"),i.hasLines(e)&&(o(t,e,r,p,d),s(t,e,d),d("connectgaps")),i.hasMarkers(e)&&a(t,e,r,p,d,{gradient:!0}),i.hasText(e)&&(d("texttemplate"),l(t,e,p,d));var m=[];(i.hasMarkers(e)||i.hasText(e))&&(d("cliponaxis"),d("marker.maxdisplayed"),m.push("points")),d("fill"),"none"!==e.fill&&(c(t,e,r,d),i.hasLines(e)||s(t,e,d)),"tonext"!==e.fill&&"toself"!==e.fill||m.push("fills"),d("hoveron",m.join("+")||"points"),n.coerceSelectionMarkerOpacity(e,d)}else e.visible=!1}}},{"../../lib":778,"../scatter/constants":1191,"../scatter/fillcolor_defaults":1195,"../scatter/line_defaults":1200,"../scatter/line_shape_defaults":1202,"../scatter/marker_defaults":1206,"../scatter/subtypes":1212,"../scatter/text_defaults":1213,"./attributes":1261}],1264:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../plots/cartesian/axes");e.exports=function(t,e,r){var a,o,s={},l=r[e.subplot]._subplot;l?(a=l.radialAxis,o=l.angularAxis):(a=(l=r[e.subplot]).radialaxis,o=l.angularaxis);var c=a.c2l(t.r);s.rLabel=i.tickText(a,c,!0).text;var u="degrees"===o.thetaunit?n.rad2deg(t.theta):t.theta;return s.thetaLabel=i.tickText(o,u,!0).text,s}},{"../../lib":778,"../../plots/cartesian/axes":828}],1265:[function(t,e,r){"use strict";var n=t("../scatter/hover");function i(t,e,r,n){var i=r.radialAxis,a=r.angularAxis;i._hovertitle="r",a._hovertitle="\u03b8";var o={};o[e.subplot]={_subplot:r};var s=e._module.formatLabels(t,e,o);n.rLabel=s.rLabel,n.thetaLabel=s.thetaLabel;var l=t.hi||e.hoverinfo,c=[];function u(t,e){c.push(t._hovertitle+": "+e)}if(!e.hovertemplate){var f=l.split("+");-1!==f.indexOf("all")&&(f=["r","theta","text"]),-1!==f.indexOf("r")&&u(i,n.rLabel),-1!==f.indexOf("theta")&&u(a,n.thetaLabel),-1!==f.indexOf("text")&&n.text&&(c.push(n.text),delete n.text),n.extraText=c.join("<br>")}}e.exports={hoverPoints:function(t,e,r,a){var o=n(t,e,r,a);if(o&&!1!==o[0].index){var s=o[0];if(void 0===s.index)return o;var l=t.subplot,c=s.cd[s.index],u=s.trace;if(l.isPtInside(c))return s.xLabelVal=void 0,s.yLabelVal=void 0,i(c,u,l,s),s.hovertemplate=u.hovertemplate,o}},makeHoverPointText:i}},{"../scatter/hover":1198}],1266:[function(t,e,r){"use strict";e.exports={moduleType:"trace",name:"scatterpolar",basePlotModule:t("../../plots/polar"),categories:["polar","symbols","showLegend","scatter-like"],attributes:t("./attributes"),supplyDefaults:t("./defaults").supplyDefaults,colorbar:t("../scatter/marker_colorbar"),formatLabels:t("./format_labels"),calc:t("./calc"),plot:t("./plot"),style:t("../scatter/style").style,styleOnSelect:t("../scatter/style").styleOnSelect,hoverPoints:t("./hover").hoverPoints,selectPoints:t("../scatter/select"),meta:{}}},{"../../plots/polar":894,"../scatter/marker_colorbar":1205,"../scatter/select":1209,"../scatter/style":1211,"./attributes":1261,"./calc":1262,"./defaults":1263,"./format_labels":1264,"./hover":1265,"./plot":1267}],1267:[function(t,e,r){"use strict";var n=t("../scatter/plot"),i=t("../../constants/numerical").BADNUM;e.exports=function(t,e,r){for(var a=e.layers.frontplot.select("g.scatterlayer"),o={xaxis:e.xaxis,yaxis:e.yaxis,plot:e.framework,layerClipId:e._hasClipOnAxisFalse?e.clipIds.forTraces:null},s=e.radialAxis,l=e.angularAxis,c=0;c<r.length;c++)for(var u=r[c],f=0;f<u.length;f++){var h=u[f],p=h.r;if(p===i)h.x=h.y=i;else{var d=s.c2g(p),g=l.c2g(h.theta);h.x=d*Math.cos(g),h.y=d*Math.sin(g)}}n(t,o,r,a)}},{"../../constants/numerical":753,"../scatter/plot":1208}],1268:[function(t,e,r){"use strict";var n=t("../scatterpolar/attributes"),i=t("../scattergl/attributes"),a=t("../../plots/template_attributes").texttemplateAttrs;e.exports={mode:n.mode,r:n.r,theta:n.theta,r0:n.r0,dr:n.dr,theta0:n.theta0,dtheta:n.dtheta,thetaunit:n.thetaunit,text:n.text,texttemplate:a({editType:"plot"},{keys:["r","theta","text"]}),hovertext:n.hovertext,hovertemplate:n.hovertemplate,line:i.line,connectgaps:i.connectgaps,marker:i.marker,fill:i.fill,fillcolor:i.fillcolor,textposition:i.textposition,textfont:i.textfont,hoverinfo:n.hoverinfo,selected:n.selected,unselected:n.unselected}},{"../../plots/template_attributes":906,"../scattergl/attributes":1239,"../scatterpolar/attributes":1261}],1269:[function(t,e,r){"use strict";var n=t("../scatter/colorscale_calc"),i=t("../scatter/calc").calcMarkerSize,a=t("../scattergl/convert"),o=t("../../plots/cartesian/axes"),s=t("../scattergl/constants").TOO_MANY_POINTS;e.exports=function(t,e){var r=t._fullLayout,l=e.subplot,c=r[l].radialaxis,u=r[l].angularaxis,f=e._r=c.makeCalcdata(e,"r"),h=e._theta=u.makeCalcdata(e,"theta"),p=e._length,d={};p<f.length&&(f=f.slice(0,p)),p<h.length&&(h=h.slice(0,p)),d.r=f,d.theta=h,n(t,e);var g,m=d.opts=a.style(t,e);return p<s?g=i(e,p):m.marker&&(g=2*(m.marker.sizeAvg||Math.max(m.marker.size,3))),e._extremes.x=o.findExtremes(c,f,{ppad:g}),[{x:!1,y:!1,t:d,trace:e}]}},{"../../plots/cartesian/axes":828,"../scatter/calc":1188,"../scatter/colorscale_calc":1190,"../scattergl/constants":1241,"../scattergl/convert":1242}],1270:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../scatter/subtypes"),a=t("../scatterpolar/defaults").handleRThetaDefaults,o=t("../scatter/marker_defaults"),s=t("../scatter/line_defaults"),l=t("../scatter/text_defaults"),c=t("../scatter/fillcolor_defaults"),u=t("../scatter/constants").PTS_LINESONLY,f=t("./attributes");e.exports=function(t,e,r,h){function p(r,i){return n.coerce(t,e,f,r,i)}var d=a(t,e,h,p);d?(p("thetaunit"),p("mode",d<u?"lines+markers":"lines"),p("text"),p("hovertext"),"fills"!==e.hoveron&&p("hovertemplate"),i.hasLines(e)&&(s(t,e,r,h,p),p("connectgaps")),i.hasMarkers(e)&&o(t,e,r,h,p),i.hasText(e)&&(p("texttemplate"),l(t,e,h,p)),p("fill"),"none"!==e.fill&&c(t,e,r,p),n.coerceSelectionMarkerOpacity(e,p)):e.visible=!1}},{"../../lib":778,"../scatter/constants":1191,"../scatter/fillcolor_defaults":1195,"../scatter/line_defaults":1200,"../scatter/marker_defaults":1206,"../scatter/subtypes":1212,"../scatter/text_defaults":1213,"../scatterpolar/defaults":1263,"./attributes":1268}],1271:[function(t,e,r){"use strict";var n=t("../scatterpolar/format_labels");e.exports=function(t,e,r){var i=t.i;return"r"in t||(t.r=e._r[i]),"theta"in t||(t.theta=e._theta[i]),n(t,e,r)}},{"../scatterpolar/format_labels":1264}],1272:[function(t,e,r){"use strict";var n=t("../scattergl/hover"),i=t("../scatterpolar/hover").makeHoverPointText;e.exports={hoverPoints:function(t,e,r,a){var o=t.cd[0].t,s=o.r,l=o.theta,c=n.hoverPoints(t,e,r,a);if(c&&!1!==c[0].index){var u=c[0];if(void 0===u.index)return c;var f=t.subplot,h=u.cd[u.index],p=u.trace;if(h.r=s[u.index],h.theta=l[u.index],f.isPtInside(h))return u.xLabelVal=void 0,u.yLabelVal=void 0,i(h,p,f,u),c}}}},{"../scattergl/hover":1247,"../scatterpolar/hover":1265}],1273:[function(t,e,r){"use strict";e.exports={moduleType:"trace",name:"scatterpolargl",basePlotModule:t("../../plots/polar"),categories:["gl","regl","polar","symbols","showLegend","scatter-like"],attributes:t("./attributes"),supplyDefaults:t("./defaults"),colorbar:t("../scatter/marker_colorbar"),formatLabels:t("./format_labels"),calc:t("./calc"),plot:t("./plot"),hoverPoints:t("./hover").hoverPoints,selectPoints:t("../scattergl/select"),meta:{}}},{"../../plots/polar":894,"../scatter/marker_colorbar":1205,"../scattergl/select":1251,"./attributes":1268,"./calc":1269,"./defaults":1270,"./format_labels":1271,"./hover":1272,"./plot":1274}],1274:[function(t,e,r){"use strict";var n=t("@plotly/point-cluster"),i=t("fast-isnumeric"),a=t("../scattergl/plot"),o=t("../scattergl/scene_update"),s=t("../scattergl/convert"),l=t("../../lib"),c=t("../scattergl/constants").TOO_MANY_POINTS;e.exports=function(t,e,r){if(r.length){var u=e.radialAxis,f=e.angularAxis,h=o(t,e);return r.forEach((function(r){if(r&&r[0]&&r[0].trace){var a,o=r[0],p=o.trace,d=o.t,g=p._length,m=d.r,v=d.theta,y=d.opts,x=m.slice(),b=v.slice();for(a=0;a<m.length;a++)e.isPtInside({r:m[a],theta:v[a]})||(x[a]=NaN,b[a]=NaN);var _=new Array(2*g),w=Array(g),T=Array(g);for(a=0;a<g;a++){var k,M,A=x[a];if(i(A)){var S=u.c2g(A),E=f.c2g(b[a],p.thetaunit);k=S*Math.cos(E),M=S*Math.sin(E)}else k=M=NaN;w[a]=_[2*a]=k,T[a]=_[2*a+1]=M}d.tree=n(_),y.marker&&g>=c&&(y.marker.cluster=d.tree),y.marker&&(y.markerSel.positions=y.markerUnsel.positions=y.marker.positions=_),y.line&&_.length>1&&l.extendFlat(y.line,s.linePositions(t,p,_)),y.text&&(l.extendFlat(y.text,{positions:_},s.textPosition(t,p,y.text,y.marker)),l.extendFlat(y.textSel,{positions:_},s.textPosition(t,p,y.text,y.markerSel)),l.extendFlat(y.textUnsel,{positions:_},s.textPosition(t,p,y.text,y.markerUnsel))),y.fill&&!h.fill2d&&(h.fill2d=!0),y.marker&&!h.scatter2d&&(h.scatter2d=!0),y.line&&!h.line2d&&(h.line2d=!0),y.text&&!h.glText&&(h.glText=!0),h.lineOptions.push(y.line),h.fillOptions.push(y.fill),h.markerOptions.push(y.marker),h.markerSelectedOptions.push(y.markerSel),h.markerUnselectedOptions.push(y.markerUnsel),h.textOptions.push(y.text),h.textSelectedOptions.push(y.textSel),h.textUnselectedOptions.push(y.textUnsel),h.selectBatch.push([]),h.unselectBatch.push([]),d.x=w,d.y=T,d.rawx=w,d.rawy=T,d.r=m,d.theta=v,d.positions=_,d._scene=h,d.index=h.count,h.count++}})),a(t,e,r)}}},{"../../lib":778,"../scattergl/constants":1241,"../scattergl/convert":1242,"../scattergl/plot":1249,"../scattergl/scene_update":1250,"@plotly/point-cluster":57,"fast-isnumeric":241}],1275:[function(t,e,r){"use strict";var n=t("../../plots/template_attributes").hovertemplateAttrs,i=t("../../plots/template_attributes").texttemplateAttrs,a=t("../scatter/attributes"),o=t("../../plots/attributes"),s=t("../../components/colorscale/attributes"),l=t("../../components/drawing/attributes").dash,c=t("../../lib/extend").extendFlat,u=a.marker,f=a.line,h=u.line;e.exports={a:{valType:"data_array",editType:"calc"},b:{valType:"data_array",editType:"calc"},c:{valType:"data_array",editType:"calc"},sum:{valType:"number",dflt:0,min:0,editType:"calc"},mode:c({},a.mode,{dflt:"markers"}),text:c({},a.text,{}),texttemplate:i({editType:"plot"},{keys:["a","b","c","text"]}),hovertext:c({},a.hovertext,{}),line:{color:f.color,width:f.width,dash:l,shape:c({},f.shape,{values:["linear","spline"]}),smoothing:f.smoothing,editType:"calc"},connectgaps:a.connectgaps,cliponaxis:a.cliponaxis,fill:c({},a.fill,{values:["none","toself","tonext"],dflt:"none"}),fillcolor:a.fillcolor,marker:c({symbol:u.symbol,opacity:u.opacity,maxdisplayed:u.maxdisplayed,size:u.size,sizeref:u.sizeref,sizemin:u.sizemin,sizemode:u.sizemode,line:c({width:h.width,editType:"calc"},s("marker.line")),gradient:u.gradient,editType:"calc"},s("marker")),textfont:a.textfont,textposition:a.textposition,selected:a.selected,unselected:a.unselected,hoverinfo:c({},o.hoverinfo,{flags:["a","b","c","text","name"]}),hoveron:a.hoveron,hovertemplate:n()}},{"../../components/colorscale/attributes":650,"../../components/drawing/attributes":664,"../../lib/extend":768,"../../plots/attributes":824,"../../plots/template_attributes":906,"../scatter/attributes":1187}],1276:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../scatter/colorscale_calc"),a=t("../scatter/arrays_to_calcdata"),o=t("../scatter/calc_selection"),s=t("../scatter/calc").calcMarkerSize,l=["a","b","c"],c={a:["b","c"],b:["a","c"],c:["a","b"]};e.exports=function(t,e){var r,u,f,h,p,d,g=t._fullLayout[e.subplot].sum,m=e.sum||g,v={a:e.a,b:e.b,c:e.c};for(r=0;r<l.length;r++)if(!v[f=l[r]]){for(p=v[c[f][0]],d=v[c[f][1]],h=new Array(p.length),u=0;u<p.length;u++)h[u]=m-p[u]-d[u];v[f]=h}var y,x,b,_,w,T,k=e._length,M=new Array(k);for(r=0;r<k;r++)y=v.a[r],x=v.b[r],b=v.c[r],n(y)&&n(x)&&n(b)?(1!==(_=g/((y=+y)+(x=+x)+(b=+b)))&&(y*=_,x*=_,b*=_),T=y,w=b-x,M[r]={x:w,y:T,a:y,b:x,c:b}):M[r]={x:!1,y:!1};return s(e,k),i(t,e),a(M,e),o(M,e),M}},{"../scatter/arrays_to_calcdata":1186,"../scatter/calc":1188,"../scatter/calc_selection":1189,"../scatter/colorscale_calc":1190,"fast-isnumeric":241}],1277:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../scatter/constants"),a=t("../scatter/subtypes"),o=t("../scatter/marker_defaults"),s=t("../scatter/line_defaults"),l=t("../scatter/line_shape_defaults"),c=t("../scatter/text_defaults"),u=t("../scatter/fillcolor_defaults"),f=t("./attributes");e.exports=function(t,e,r,h){function p(r,i){return n.coerce(t,e,f,r,i)}var d,g=p("a"),m=p("b"),v=p("c");if(g?(d=g.length,m?(d=Math.min(d,m.length),v&&(d=Math.min(d,v.length))):d=v?Math.min(d,v.length):0):m&&v&&(d=Math.min(m.length,v.length)),d){e._length=d,p("sum"),p("text"),p("hovertext"),"fills"!==e.hoveron&&p("hovertemplate"),p("mode",d<i.PTS_LINESONLY?"lines+markers":"lines"),a.hasLines(e)&&(s(t,e,r,h,p),l(t,e,p),p("connectgaps")),a.hasMarkers(e)&&o(t,e,r,h,p,{gradient:!0}),a.hasText(e)&&(p("texttemplate"),c(t,e,h,p));var y=[];(a.hasMarkers(e)||a.hasText(e))&&(p("cliponaxis"),p("marker.maxdisplayed"),y.push("points")),p("fill"),"none"!==e.fill&&(u(t,e,r,p),a.hasLines(e)||l(t,e,p)),"tonext"!==e.fill&&"toself"!==e.fill||y.push("fills"),p("hoveron",y.join("+")||"points"),n.coerceSelectionMarkerOpacity(e,p)}else e.visible=!1}},{"../../lib":778,"../scatter/constants":1191,"../scatter/fillcolor_defaults":1195,"../scatter/line_defaults":1200,"../scatter/line_shape_defaults":1202,"../scatter/marker_defaults":1206,"../scatter/subtypes":1212,"../scatter/text_defaults":1213,"./attributes":1275}],1278:[function(t,e,r){"use strict";e.exports=function(t,e,r,n,i){if(e.xa&&(t.xaxis=e.xa),e.ya&&(t.yaxis=e.ya),n[i]){var a=n[i];t.a=a.a,t.b=a.b,t.c=a.c}else t.a=e.a,t.b=e.b,t.c=e.c;return t}},{}],1279:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes");e.exports=function(t,e,r){var i={},a=r[e.subplot]._subplot;return i.aLabel=n.tickText(a.aaxis,t.a,!0).text,i.bLabel=n.tickText(a.baxis,t.b,!0).text,i.cLabel=n.tickText(a.caxis,t.c,!0).text,i}},{"../../plots/cartesian/axes":828}],1280:[function(t,e,r){"use strict";var n=t("../scatter/hover");e.exports=function(t,e,r,i){var a=n(t,e,r,i);if(a&&!1!==a[0].index){var o=a[0];if(void 0===o.index){var s=1-o.y0/t.ya._length,l=t.xa._length,c=l*s/2,u=l-c;return o.x0=Math.max(Math.min(o.x0,u),c),o.x1=Math.max(Math.min(o.x1,u),c),a}var f=o.cd[o.index],h=o.trace,p=o.subplot;o.a=f.a,o.b=f.b,o.c=f.c,o.xLabelVal=void 0,o.yLabelVal=void 0;var d={};d[h.subplot]={_subplot:p};var g=h._module.formatLabels(f,h,d);o.aLabel=g.aLabel,o.bLabel=g.bLabel,o.cLabel=g.cLabel;var m=f.hi||h.hoverinfo,v=[];if(!h.hovertemplate){var y=m.split("+");-1!==y.indexOf("all")&&(y=["a","b","c"]),-1!==y.indexOf("a")&&x(p.aaxis,o.aLabel),-1!==y.indexOf("b")&&x(p.baxis,o.bLabel),-1!==y.indexOf("c")&&x(p.caxis,o.cLabel)}return o.extraText=v.join("<br>"),o.hovertemplate=h.hovertemplate,a}function x(t,e){v.push(t._hovertitle+": "+e)}}},{"../scatter/hover":1198}],1281:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),colorbar:t("../scatter/marker_colorbar"),formatLabels:t("./format_labels"),calc:t("./calc"),plot:t("./plot"),style:t("../scatter/style").style,styleOnSelect:t("../scatter/style").styleOnSelect,hoverPoints:t("./hover"),selectPoints:t("../scatter/select"),eventData:t("./event_data"),moduleType:"trace",name:"scatterternary",basePlotModule:t("../../plots/ternary"),categories:["ternary","symbols","showLegend","scatter-like"],meta:{}}},{"../../plots/ternary":907,"../scatter/marker_colorbar":1205,"../scatter/select":1209,"../scatter/style":1211,"./attributes":1275,"./calc":1276,"./defaults":1277,"./event_data":1278,"./format_labels":1279,"./hover":1280,"./plot":1282}],1282:[function(t,e,r){"use strict";var n=t("../scatter/plot");e.exports=function(t,e,r){var i=e.plotContainer;i.select(".scatterlayer").selectAll("*").remove();var a={xaxis:e.xaxis,yaxis:e.yaxis,plot:i,layerClipId:e._hasClipOnAxisFalse?e.clipIdRelative:null},o=e.layers.frontplot.select("g.scatterlayer");n(t,a,r,o)}},{"../scatter/plot":1208}],1283:[function(t,e,r){"use strict";var n=t("../scatter/attributes"),i=t("../../components/colorscale/attributes"),a=t("../../plots/template_attributes").hovertemplateAttrs,o=t("../scattergl/attributes"),s=t("../../plots/cartesian/constants").idRegex,l=t("../../plot_api/plot_template").templatedArray,c=t("../../lib/extend").extendFlat,u=n.marker,f=u.line,h=c(i("marker.line",{editTypeOverride:"calc"}),{width:c({},f.width,{editType:"calc"}),editType:"calc"}),p=c(i("marker"),{symbol:u.symbol,size:c({},u.size,{editType:"markerSize"}),sizeref:u.sizeref,sizemin:u.sizemin,sizemode:u.sizemode,opacity:u.opacity,colorbar:u.colorbar,line:h,editType:"calc"});function d(t){return{valType:"info_array",freeLength:!0,editType:"calc",items:{valType:"subplotid",regex:s[t],editType:"plot"}}}p.color.editType=p.cmin.editType=p.cmax.editType="style",e.exports={dimensions:l("dimension",{visible:{valType:"boolean",dflt:!0,editType:"calc"},label:{valType:"string",editType:"calc"},values:{valType:"data_array",editType:"calc+clearAxisTypes"},axis:{type:{valType:"enumerated",values:["linear","log","date","category"],editType:"calc+clearAxisTypes"},matches:{valType:"boolean",dflt:!1,editType:"calc"},editType:"calc+clearAxisTypes"},editType:"calc+clearAxisTypes"}),text:c({},o.text,{}),hovertext:c({},o.hovertext,{}),hovertemplate:a(),marker:p,xaxes:d("x"),yaxes:d("y"),diagonal:{visible:{valType:"boolean",dflt:!0,editType:"calc"},editType:"calc"},showupperhalf:{valType:"boolean",dflt:!0,editType:"calc"},showlowerhalf:{valType:"boolean",dflt:!0,editType:"calc"},selected:{marker:o.selected.marker,editType:"calc"},unselected:{marker:o.unselected.marker,editType:"calc"},opacity:o.opacity}},{"../../components/colorscale/attributes":650,"../../lib/extend":768,"../../plot_api/plot_template":817,"../../plots/cartesian/constants":834,"../../plots/template_attributes":906,"../scatter/attributes":1187,"../scattergl/attributes":1239}],1284:[function(t,e,r){"use strict";var n=t("regl-line2d"),i=t("../../registry"),a=t("../../lib/prepare_regl"),o=t("../../plots/get_data").getModuleCalcData,s=t("../../plots/cartesian"),l=t("../../plots/cartesian/axis_ids").getFromId,c=t("../../plots/cartesian/axes").shouldShowZeroLine;function u(t,e,r){for(var n=r.matrixOptions.data.length,i=e._visibleDims,a=r.viewOpts.ranges=new Array(n),o=0;o<i.length;o++){var s=i[o],c=a[o]=new Array(4),u=l(t,e._diag[s][0]);u&&(c[0]=u.r2l(u.range[0]),c[2]=u.r2l(u.range[1]));var f=l(t,e._diag[s][1]);f&&(c[1]=f.r2l(f.range[0]),c[3]=f.r2l(f.range[1]))}r.selectBatch.length||r.unselectBatch.length?r.matrix.update({ranges:a},{ranges:a}):r.matrix.update({ranges:a})}function f(t){var e=t._fullLayout,r=e._glcanvas.data()[0].regl,i=e._splomGrid;i||(i=e._splomGrid=n(r)),i.update(function(t){var e,r=t._fullLayout,n=r._size,i=[0,0,r.width,r.height],a={};function o(t,e,r,n,o,s){var l=e[t+"color"],c=e[t+"width"],u=String(l+c);u in a?a[u].data.push(NaN,NaN,r,n,o,s):a[u]={data:[r,n,o,s],join:"rect",thickness:c,color:l,viewport:i,range:i,overlay:!1}}for(e in r._splomSubplots){var s,l,u=r._plots[e],f=u.xaxis,h=u.yaxis,p=f._gridVals,d=h._gridVals,g=n.b+h.domain[0]*n.h,m=-h._m,v=-m*h.r2l(h.range[0],h.calendar);if(f.showgrid)for(e=0;e<p.length;e++)s=f._offset+f.l2p(p[e].x),o("grid",f,s,g,s,g+h._length);if(h.showgrid)for(e=0;e<d.length;e++)l=g+v+m*d[e].x,o("grid",h,f._offset,l,f._offset+f._length,l);c(t,f,h)&&(s=f._offset+f.l2p(0),o("zeroline",f,s,g,s,g+h._length)),c(t,h,f)&&(l=g+v+0,o("zeroline",h,f._offset,l,f._offset+f._length,l))}var y=[];for(e in a)y.push(a[e]);return y}(t))}e.exports={name:"splom",attr:s.attr,attrRegex:s.attrRegex,layoutAttributes:s.layoutAttributes,supplyLayoutDefaults:s.supplyLayoutDefaults,drawFramework:s.drawFramework,plot:function(t){var e=t._fullLayout,r=i.getModule("splom"),n=o(t.calcdata,r)[0];a(t,["ANGLE_instanced_arrays","OES_element_index_uint"])&&(e._hasOnlyLargeSploms&&f(t),r.plot(t,{},n))},drag:function(t){var e=t.calcdata,r=t._fullLayout;r._hasOnlyLargeSploms&&f(t);for(var n=0;n<e.length;n++){var i=e[n][0].trace,a=r._splomScenes[i.uid];"splom"===i.type&&a&&a.matrix&&u(t,i,a)}},updateGrid:f,clean:function(t,e,r,n){var i,a={};if(n._splomScenes){for(i=0;i<t.length;i++){var o=t[i];"splom"===o.type&&(a[o.uid]=1)}for(i=0;i<r.length;i++){var l=r[i];if(!a[l.uid]){var c=n._splomScenes[l.uid];c&&c.destroy&&c.destroy(),n._splomScenes[l.uid]=null,delete n._splomScenes[l.uid]}}}0===Object.keys(n._splomScenes||{}).length&&delete n._splomScenes,n._splomGrid&&!e._hasOnlyLargeSploms&&n._hasOnlyLargeSploms&&(n._splomGrid.destroy(),n._splomGrid=null,delete n._splomGrid),s.clean(t,e,r,n)},updateFx:s.updateFx,toSVG:s.toSVG}},{"../../lib/prepare_regl":791,"../../plots/cartesian":841,"../../plots/cartesian/axes":828,"../../plots/cartesian/axis_ids":831,"../../plots/get_data":865,"../../registry":911,"regl-line2d":535}],1285:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../plots/cartesian/axis_ids"),a=t("../scatter/calc").calcMarkerSize,o=t("../scatter/calc").calcAxisExpansion,s=t("../scatter/colorscale_calc"),l=t("../scattergl/convert").markerSelection,c=t("../scattergl/convert").markerStyle,u=t("./scene_update"),f=t("../../constants/numerical").BADNUM,h=t("../scattergl/constants").TOO_MANY_POINTS;e.exports=function(t,e){var r,p,d,g,m,v,y=e.dimensions,x=e._length,b={},_=b.cdata=[],w=b.data=[],T=e._visibleDims=[];function k(t,r){for(var i=t.makeCalcdata({v:r.values,vcalendar:e.calendar},"v"),a=0;a<i.length;a++)i[a]=i[a]===f?NaN:i[a];_.push(i),w.push("log"===t.type?n.simpleMap(i,t.c2l):i)}for(r=0;r<y.length;r++)if((d=y[r]).visible){if(g=i.getFromId(t,e._diag[r][0]),m=i.getFromId(t,e._diag[r][1]),g&&m&&g.type!==m.type){n.log("Skipping splom dimension "+r+" with conflicting axis types");continue}g?(k(g,d),m&&"category"===m.type&&(m._categories=g._categories.slice())):k(m,d),T.push(r)}for(s(t,e),n.extendFlat(b,c(e)),v=_.length*x>h?2*(b.sizeAvg||Math.max(b.size,3)):a(e,x),p=0;p<T.length;p++)d=y[r=T[p]],g=i.getFromId(t,e._diag[r][0])||{},m=i.getFromId(t,e._diag[r][1])||{},o(t,e,g,m,_[p],_[p],v);var M=u(t,e);return M.matrix||(M.matrix=!0),M.matrixOptions=b,M.selectedOptions=l(e,e.selected),M.unselectedOptions=l(e,e.unselected),[{x:!1,y:!1,t:{},trace:e}]}},{"../../constants/numerical":753,"../../lib":778,"../../plots/cartesian/axis_ids":831,"../scatter/calc":1188,"../scatter/colorscale_calc":1190,"../scattergl/constants":1241,"../scattergl/convert":1242,"./scene_update":1292}],1286:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../plots/array_container_defaults"),a=t("./attributes"),o=t("../scatter/subtypes"),s=t("../scatter/marker_defaults"),l=t("../parcoords/merge_length"),c=t("../scattergl/helpers").isOpenSymbol;function u(t,e){function r(r,i){return n.coerce(t,e,a.dimensions,r,i)}r("label");var i=r("values");i&&i.length?r("visible"):e.visible=!1,r("axis.type"),r("axis.matches")}e.exports=function(t,e,r,f){function h(r,i){return n.coerce(t,e,a,r,i)}var p=i(t,e,{name:"dimensions",handleItemDefaults:u}),d=h("diagonal.visible"),g=h("showupperhalf"),m=h("showlowerhalf");if(l(e,p,"values")&&(d||g||m)){h("text"),h("hovertext"),h("hovertemplate"),s(t,e,r,f,h);var v=c(e.marker.symbol),y=o.isBubble(e);h("marker.line.width",v||y?1:0),function(t,e,r,n){var i,a,o=e.dimensions,s=o.length,l=e.showupperhalf,c=e.showlowerhalf,u=e.diagonal.visible,f=new Array(s),h=new Array(s);for(i=0;i<s;i++){var p=i?i+1:"";f[i]="x"+p,h[i]="y"+p}var d=n("xaxes",f),g=n("yaxes",h),m=e._diag=new Array(s);e._xaxes={},e._yaxes={};var v=[],y=[];function x(t,n,i,a){if(t){var o=t.charAt(0),s=r._splomAxes[o];if(e["_"+o+"axes"][t]=1,a.push(t),!(t in s)){var l=s[t]={};i&&(l.label=i.label||"",i.visible&&i.axis&&(i.axis.type&&(l.type=i.axis.type),i.axis.matches&&(l.matches=n)))}}}var b=!u&&!c,_=!u&&!l;for(e._axesDim={},i=0;i<s;i++){var w=o[i],T=0===i,k=i===s-1,M=T&&b||k&&_?void 0:d[i],A=T&&_||k&&b?void 0:g[i];x(M,A,w,v),x(A,M,w,y),m[i]=[M,A],e._axesDim[M]=i,e._axesDim[A]=i}for(i=0;i<v.length;i++)for(a=0;a<y.length;a++){var S=v[i]+y[a];i>a&&l||i<a&&c?r._splomSubplots[S]=1:i!==a||!u&&c&&l||(r._splomSubplots[S]=1)}(!c||!u&&l&&c)&&(r._splomGridDflt.xside="bottom",r._splomGridDflt.yside="left")}(0,e,f,h),n.coerceSelectionMarkerOpacity(e,h)}else e.visible=!1}},{"../../lib":778,"../../plots/array_container_defaults":823,"../parcoords/merge_length":1158,"../scatter/marker_defaults":1206,"../scatter/subtypes":1212,"../scattergl/helpers":1246,"./attributes":1283}],1287:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../scatter/colorscale_calc"),a=t("../scattergl/convert").markerStyle;e.exports=function(t,e){var r=e.trace,o=t._fullLayout._splomScenes[r.uid];if(o){i(t,r),n.extendFlat(o.matrixOptions,a(r));var s=n.extendFlat({},o.matrixOptions,o.viewOpts);o.matrix.update(s,null)}}},{"../../lib":778,"../scatter/colorscale_calc":1190,"../scattergl/convert":1242}],1288:[function(t,e,r){"use strict";r.getDimIndex=function(t,e){for(var r=e._id,n={x:0,y:1}[r.charAt(0)],i=t._visibleDims,a=0;a<i.length;a++){var o=i[a];if(t._diag[o][n]===r)return a}return!1}},{}],1289:[function(t,e,r){"use strict";var n=t("./helpers"),i=t("../scattergl/hover").calcHover;e.exports={hoverPoints:function(t,e,r){var a=t.cd[0].trace,o=t.scene.matrixOptions.cdata,s=t.xa,l=t.ya,c=s.c2p(e),u=l.c2p(r),f=t.distance,h=n.getDimIndex(a,s),p=n.getDimIndex(a,l);if(!1===h||!1===p)return[t];for(var d,g,m=o[h],v=o[p],y=f,x=0;x<m.length;x++){var b=m[x],_=v[x],w=s.c2p(b)-c,T=l.c2p(_)-u,k=Math.sqrt(w*w+T*T);k<y&&(y=g=k,d=x)}return t.index=d,t.distance=y,t.dxy=g,void 0===d?[t]:[i(t,m,v,a)]}}},{"../scattergl/hover":1247,"./helpers":1288}],1290:[function(t,e,r){"use strict";var n=t("../../registry"),i=t("../../components/grid");e.exports={moduleType:"trace",name:"splom",basePlotModule:t("./base_plot"),categories:["gl","regl","cartesian","symbols","showLegend","scatter-like"],attributes:t("./attributes"),supplyDefaults:t("./defaults"),colorbar:t("../scatter/marker_colorbar"),calc:t("./calc"),plot:t("./plot"),hoverPoints:t("./hover").hoverPoints,selectPoints:t("./select"),editStyle:t("./edit_style"),meta:{}},n.register(i)},{"../../components/grid":687,"../../registry":911,"../scatter/marker_colorbar":1205,"./attributes":1283,"./base_plot":1284,"./calc":1285,"./defaults":1286,"./edit_style":1287,"./hover":1289,"./plot":1291,"./select":1293}],1291:[function(t,e,r){"use strict";var n=t("regl-splom"),i=t("../../lib"),a=t("../../plots/cartesian/axis_ids"),o=t("../../components/dragelement/helpers").selectMode;function s(t,e){var r,s,l,c,u,f=t._fullLayout,h=f._size,p=e.trace,d=e.t,g=f._splomScenes[p.uid],m=g.matrixOptions,v=m.cdata,y=f._glcanvas.data()[0].regl,x=f.dragmode;if(0!==v.length){m.lower=p.showupperhalf,m.upper=p.showlowerhalf,m.diagonal=p.diagonal.visible;var b=p._visibleDims,_=v.length,w=g.viewOpts={};for(w.ranges=new Array(_),w.domains=new Array(_),u=0;u<b.length;u++){l=b[u];var T=w.ranges[u]=new Array(4),k=w.domains[u]=new Array(4);(r=a.getFromId(t,p._diag[l][0]))&&(T[0]=r._rl[0],T[2]=r._rl[1],k[0]=r.domain[0],k[2]=r.domain[1]),(s=a.getFromId(t,p._diag[l][1]))&&(T[1]=s._rl[0],T[3]=s._rl[1],k[1]=s.domain[0],k[3]=s.domain[1])}w.viewport=[h.l,h.b,h.w+h.l,h.h+h.b],!0===g.matrix&&(g.matrix=n(y));var M=f.clickmode.indexOf("select")>-1,A=!0;if(o(x)||!!p.selectedpoints||M){var S=p._length;if(p.selectedpoints){g.selectBatch=p.selectedpoints;var E=p.selectedpoints,C={};for(l=0;l<E.length;l++)C[E[l]]=!0;var L=[];for(l=0;l<S;l++)C[l]||L.push(l);g.unselectBatch=L}var I=d.xpx=new Array(_),P=d.ypx=new Array(_);for(u=0;u<b.length;u++){if(l=b[u],r=a.getFromId(t,p._diag[l][0]))for(I[u]=new Array(S),c=0;c<S;c++)I[u][c]=r.c2p(v[u][c]);if(s=a.getFromId(t,p._diag[l][1]))for(P[u]=new Array(S),c=0;c<S;c++)P[u][c]=s.c2p(v[u][c])}if(g.selectBatch.length||g.unselectBatch.length){var z=i.extendFlat({},m,g.unselectedOptions,w),O=i.extendFlat({},m,g.selectedOptions,w);g.matrix.update(z,O),A=!1}}else d.xpx=d.ypx=null;if(A){var D=i.extendFlat({},m,w);g.matrix.update(D,null)}}}e.exports=function(t,e,r){if(r.length)for(var n=0;n<r.length;n++)s(t,r[n][0])}},{"../../components/dragelement/helpers":661,"../../lib":778,"../../plots/cartesian/axis_ids":831,"regl-splom":539}],1292:[function(t,e,r){"use strict";var n=t("../../lib");e.exports=function(t,e){var r=t._fullLayout,i=e.uid,a=r._splomScenes;a||(a=r._splomScenes={});var o={dirty:!0,selectBatch:[],unselectBatch:[]},s=a[e.uid];return s||((s=a[i]=n.extendFlat({},o,{matrix:!1,selectBatch:[],unselectBatch:[]})).draw=function(){s.matrix&&s.matrix.draw&&(s.selectBatch.length||s.unselectBatch.length?s.matrix.draw(s.unselectBatch,s.selectBatch):s.matrix.draw()),s.dirty=!1},s.destroy=function(){s.matrix&&s.matrix.destroy&&s.matrix.destroy(),s.matrixOptions=null,s.selectBatch=null,s.unselectBatch=null,s=null}),s.dirty||n.extendFlat(s,o),s}},{"../../lib":778}],1293:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../scatter/subtypes"),a=t("./helpers");e.exports=function(t,e){var r=t.cd,o=r[0].trace,s=r[0].t,l=t.scene,c=l.matrixOptions.cdata,u=t.xaxis,f=t.yaxis,h=[];if(!l)return h;var p=!i.hasMarkers(o)&&!i.hasText(o);if(!0!==o.visible||p)return h;var d=a.getDimIndex(o,u),g=a.getDimIndex(o,f);if(!1===d||!1===g)return h;var m=s.xpx[d],v=s.ypx[g],y=c[d],x=c[g],b=[],_=[];if(!1!==e&&!e.degenerate)for(var w=0;w<y.length;w++)e.contains([m[w],v[w]],null,w,t)?(b.push(w),h.push({pointNumber:w,x:y[w],y:x[w]})):_.push(w);var T=l.matrixOptions;return b.length||_.length?l.selectBatch.length||l.unselectBatch.length||l.matrix.update(l.unselectedOptions,n.extendFlat({},T,l.selectedOptions,l.viewOpts)):l.matrix.update(T,null),l.selectBatch=b,l.unselectBatch=_,h}},{"../../lib":778,"../scatter/subtypes":1212,"./helpers":1288}],1294:[function(t,e,r){"use strict";var n=t("../../components/colorscale/attributes"),i=t("../../plots/template_attributes").hovertemplateAttrs,a=t("../mesh3d/attributes"),o=t("../../plots/attributes"),s=t("../../lib/extend").extendFlat,l={x:{valType:"data_array",editType:"calc+clearAxisTypes"},y:{valType:"data_array",editType:"calc+clearAxisTypes"},z:{valType:"data_array",editType:"calc+clearAxisTypes"},u:{valType:"data_array",editType:"calc"},v:{valType:"data_array",editType:"calc"},w:{valType:"data_array",editType:"calc"},starts:{x:{valType:"data_array",editType:"calc"},y:{valType:"data_array",editType:"calc"},z:{valType:"data_array",editType:"calc"},editType:"calc"},maxdisplayed:{valType:"integer",min:0,dflt:1e3,editType:"calc"},sizeref:{valType:"number",editType:"calc",min:0,dflt:1},text:{valType:"string",dflt:"",editType:"calc"},hovertext:{valType:"string",dflt:"",editType:"calc"},hovertemplate:i({editType:"calc"},{keys:["tubex","tubey","tubez","tubeu","tubev","tubew","norm","divergence"]}),showlegend:s({},o.showlegend,{dflt:!1})};s(l,n("",{colorAttr:"u/v/w norm",showScaleDflt:!0,editTypeOverride:"calc"}));["opacity","lightposition","lighting"].forEach((function(t){l[t]=a[t]})),l.hoverinfo=s({},o.hoverinfo,{editType:"calc",flags:["x","y","z","u","v","w","norm","divergence","text","name"],dflt:"x+y+z+norm+text+name"}),l.transforms=void 0,e.exports=l},{"../../components/colorscale/attributes":650,"../../lib/extend":768,"../../plots/attributes":824,"../../plots/template_attributes":906,"../mesh3d/attributes":1128}],1295:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../components/colorscale/calc");function a(t){var e,r,i,a,s,l,c,u,f,h,p,d,g=t._x,m=t._y,v=t._z,y=t._len,x=-1/0,b=1/0,_=-1/0,w=1/0,T=-1/0,k=1/0,M="";for(y&&(c=g[0],f=m[0],p=v[0]),y>1&&(u=g[y-1],h=m[y-1],d=v[y-1]),e=0;e<y;e++)x=Math.max(x,g[e]),b=Math.min(b,g[e]),_=Math.max(_,m[e]),w=Math.min(w,m[e]),T=Math.max(T,v[e]),k=Math.min(k,v[e]),a||g[e]===c||(a=!0,M+="x"),s||m[e]===f||(s=!0,M+="y"),l||v[e]===p||(l=!0,M+="z");a||(M+="x"),s||(M+="y"),l||(M+="z");var A=o(t._x),S=o(t._y),E=o(t._z);M=(M=(M=M.replace("x",(c>u?"-":"+")+"x")).replace("y",(f>h?"-":"+")+"y")).replace("z",(p>d?"-":"+")+"z");var C=function(){y=0,A=[],S=[],E=[]};(!y||y<A.length*S.length*E.length)&&C();var L=function(t){return"x"===t?g:"y"===t?m:v},I=function(t){return"x"===t?A:"y"===t?S:E},P=function(t){return t[y-1]<t[0]?-1:1},z=L(M[1]),O=L(M[3]),D=L(M[5]),R=I(M[1]).length,F=I(M[3]).length,B=I(M[5]).length,N=!1,j=function(t,e,r){return R*(F*t+e)+r},U=P(L(M[1])),V=P(L(M[3])),q=P(L(M[5]));for(e=0;e<B-1;e++){for(r=0;r<F-1;r++){for(i=0;i<R-1;i++){var H=j(e,r,i),G=j(e,r,i+1),Y=j(e,r+1,i),W=j(e+1,r,i);if(z[H]*U<z[G]*U&&O[H]*V<O[Y]*V&&D[H]*q<D[W]*q||(N=!0),N)break}if(N)break}if(N)break}return N&&(n.warn("Encountered arbitrary coordinates! Unable to input data grid."),C()),{xMin:b,yMin:w,zMin:k,xMax:x,yMax:_,zMax:T,Xs:A,Ys:S,Zs:E,len:y,fill:M}}function o(t){return n.distinctVals(t).vals}function s(t,e){if(void 0===e&&(e=t.length),n.isTypedArray(t))return t.subarray(0,e);for(var r=[],i=0;i<e;i++)r[i]=+t[i];return r}e.exports={calc:function(t,e){e._len=Math.min(e.u.length,e.v.length,e.w.length,e.x.length,e.y.length,e.z.length),e._u=s(e.u,e._len),e._v=s(e.v,e._len),e._w=s(e.w,e._len),e._x=s(e.x,e._len),e._y=s(e.y,e._len),e._z=s(e.z,e._len);var r=a(e);e._gridFill=r.fill,e._Xs=r.Xs,e._Ys=r.Ys,e._Zs=r.Zs,e._len=r.len;var n,o,l,c=0;e.starts&&(n=s(e.starts.x||[]),o=s(e.starts.y||[]),l=s(e.starts.z||[]),c=Math.min(n.length,o.length,l.length)),e._startsX=n||[],e._startsY=o||[],e._startsZ=l||[];var u,f=0,h=1/0;for(u=0;u<e._len;u++){var p=e._u[u],d=e._v[u],g=e._w[u],m=Math.sqrt(p*p+d*d+g*g);f=Math.max(f,m),h=Math.min(h,m)}for(i(t,e,{vals:[h,f],containerStr:"",cLetter:"c"}),u=0;u<c;u++){var v=n[u];r.xMax=Math.max(r.xMax,v),r.xMin=Math.min(r.xMin,v);var y=o[u];r.yMax=Math.max(r.yMax,y),r.yMin=Math.min(r.yMin,y);var x=l[u];r.zMax=Math.max(r.zMax,x),r.zMin=Math.min(r.zMin,x)}e._slen=c,e._normMax=f,e._xbnds=[r.xMin,r.xMax],e._ybnds=[r.yMin,r.yMax],e._zbnds=[r.zMin,r.zMax]},filter:s,processGrid:a}},{"../../components/colorscale/calc":651,"../../lib":778}],1296:[function(t,e,r){"use strict";var n=t("gl-streamtube3d"),i=n.createTubeMesh,a=t("../../lib"),o=t("../../lib/gl_format_color").parseColorScale,s=t("../../components/colorscale").extractOpts,l=t("../../plots/gl3d/zip3"),c={xaxis:0,yaxis:1,zaxis:2};function u(t,e){this.scene=t,this.uid=e,this.mesh=null,this.data=null}var f=u.prototype;function h(t){var e=t.length;return e>2?t.slice(1,e-1):2===e?[(t[0]+t[1])/2]:t}function p(t){var e=t.length;return 1===e?[.5,.5]:[t[1]-t[0],t[e-1]-t[e-2]]}function d(t,e){var r=t.fullSceneLayout,i=t.dataScale,u=e._len,f={};function d(t,e){var n=r[e],o=i[c[e]];return a.simpleMap(t,(function(t){return n.d2l(t)*o}))}if(f.vectors=l(d(e._u,"xaxis"),d(e._v,"yaxis"),d(e._w,"zaxis"),u),!u)return{positions:[],cells:[]};var g=d(e._Xs,"xaxis"),m=d(e._Ys,"yaxis"),v=d(e._Zs,"zaxis");if(f.meshgrid=[g,m,v],f.gridFill=e._gridFill,e._slen)f.startingPositions=l(d(e._startsX,"xaxis"),d(e._startsY,"yaxis"),d(e._startsZ,"zaxis"));else{for(var y=m[0],x=h(g),b=h(v),_=new Array(x.length*b.length),w=0,T=0;T<x.length;T++)for(var k=0;k<b.length;k++)_[w++]=[x[T],y,b[k]];f.startingPositions=_}f.colormap=o(e),f.tubeSize=e.sizeref,f.maxLength=e.maxdisplayed;var M=d(e._xbnds,"xaxis"),A=d(e._ybnds,"yaxis"),S=d(e._zbnds,"zaxis"),E=p(g),C=p(m),L=p(v),I=[[M[0]-E[0],A[0]-C[0],S[0]-L[0]],[M[1]+E[1],A[1]+C[1],S[1]+L[1]]],P=n(f,I),z=s(e);P.vertexIntensityBounds=[z.min/e._normMax,z.max/e._normMax];var O=e.lightposition;return P.lightPosition=[O.x,O.y,O.z],P.ambient=e.lighting.ambient,P.diffuse=e.lighting.diffuse,P.specular=e.lighting.specular,P.roughness=e.lighting.roughness,P.fresnel=e.lighting.fresnel,P.opacity=e.opacity,e._pad=P.tubeScale*e.sizeref*2,P}f.handlePick=function(t){var e=this.scene.fullSceneLayout,r=this.scene.dataScale;function n(t,n){var i=e[n],a=r[c[n]];return i.l2c(t)/a}if(t.object===this.mesh){var i=t.data.position,a=t.data.velocity;return t.traceCoordinate=[n(i[0],"xaxis"),n(i[1],"yaxis"),n(i[2],"zaxis"),n(a[0],"xaxis"),n(a[1],"yaxis"),n(a[2],"zaxis"),t.data.intensity*this.data._normMax,t.data.divergence],t.textLabel=this.data.hovertext||this.data.text,!0}},f.update=function(t){this.data=t;var e=d(this.scene,t);this.mesh.update(e)},f.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()},e.exports=function(t,e){var r=t.glplot.gl,n=d(t,e),a=i(r,n),o=new u(t,e.uid);return o.mesh=a,o.data=e,a._trace=o,t.glplot.add(a),o}},{"../../components/colorscale":655,"../../lib":778,"../../lib/gl_format_color":774,"../../plots/gl3d/zip3":881,"gl-streamtube3d":348}],1297:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../components/colorscale/defaults"),a=t("./attributes");e.exports=function(t,e,r,o){function s(r,i){return n.coerce(t,e,a,r,i)}var l=s("u"),c=s("v"),u=s("w"),f=s("x"),h=s("y"),p=s("z");l&&l.length&&c&&c.length&&u&&u.length&&f&&f.length&&h&&h.length&&p&&p.length?(s("starts.x"),s("starts.y"),s("starts.z"),s("maxdisplayed"),s("sizeref"),s("lighting.ambient"),s("lighting.diffuse"),s("lighting.specular"),s("lighting.roughness"),s("lighting.fresnel"),s("lightposition.x"),s("lightposition.y"),s("lightposition.z"),i(t,e,o,s,{prefix:"",cLetter:"c"}),s("text"),s("hovertext"),s("hovertemplate"),e._length=null):e.visible=!1}},{"../../components/colorscale/defaults":653,"../../lib":778,"./attributes":1294}],1298:[function(t,e,r){"use strict";e.exports={moduleType:"trace",name:"streamtube",basePlotModule:t("../../plots/gl3d"),categories:["gl3d","showLegend"],attributes:t("./attributes"),supplyDefaults:t("./defaults"),colorbar:{min:"cmin",max:"cmax"},calc:t("./calc").calc,plot:t("./convert"),eventData:function(t,e){return t.tubex=t.x,t.tubey=t.y,t.tubez=t.z,t.tubeu=e.traceCoordinate[3],t.tubev=e.traceCoordinate[4],t.tubew=e.traceCoordinate[5],t.norm=e.traceCoordinate[6],t.divergence=e.traceCoordinate[7],delete t.x,delete t.y,delete t.z,t},meta:{}}},{"../../plots/gl3d":870,"./attributes":1294,"./calc":1295,"./convert":1296,"./defaults":1297}],1299:[function(t,e,r){"use strict";var n=t("../../plots/attributes"),i=t("../../plots/template_attributes").hovertemplateAttrs,a=t("../../plots/template_attributes").texttemplateAttrs,o=t("../../components/colorscale/attributes"),s=t("../../plots/domain").attributes,l=t("../pie/attributes"),c=t("./constants"),u=t("../../lib/extend").extendFlat;e.exports={labels:{valType:"data_array",editType:"calc"},parents:{valType:"data_array",editType:"calc"},values:{valType:"data_array",editType:"calc"},branchvalues:{valType:"enumerated",values:["remainder","total"],dflt:"remainder",editType:"calc"},count:{valType:"flaglist",flags:["branches","leaves"],dflt:"leaves",editType:"calc"},level:{valType:"any",editType:"plot",anim:!0},maxdepth:{valType:"integer",editType:"plot",dflt:-1},marker:u({colors:{valType:"data_array",editType:"calc"},line:{color:u({},l.marker.line.color,{dflt:null}),width:u({},l.marker.line.width,{dflt:1}),editType:"calc"},editType:"calc"},o("marker",{colorAttr:"colors",anim:!1})),leaf:{opacity:{valType:"number",editType:"style",min:0,max:1},editType:"plot"},text:l.text,textinfo:{valType:"flaglist",flags:["label","text","value","current path","percent root","percent entry","percent parent"],extras:["none"],editType:"plot"},texttemplate:a({editType:"plot"},{keys:c.eventDataKeys.concat(["label","value"])}),hovertext:l.hovertext,hoverinfo:u({},n.hoverinfo,{flags:["label","text","value","name","current path","percent root","percent entry","percent parent"],dflt:"label+text+value+name"}),hovertemplate:i({},{keys:c.eventDataKeys}),textfont:l.textfont,insidetextorientation:l.insidetextorientation,insidetextfont:l.insidetextfont,outsidetextfont:u({},l.outsidetextfont,{}),rotation:{valType:"angle",dflt:0,editType:"plot"},sort:l.sort,root:{color:{valType:"color",editType:"calc",dflt:"rgba(0,0,0,0)"},editType:"calc"},domain:s({name:"sunburst",trace:!0,editType:"calc"})}},{"../../components/colorscale/attributes":650,"../../lib/extend":768,"../../plots/attributes":824,"../../plots/domain":855,"../../plots/template_attributes":906,"../pie/attributes":1161,"./constants":1302}],1300:[function(t,e,r){"use strict";var n=t("../../plots/plots");r.name="sunburst",r.plot=function(t,e,i,a){n.plotBasePlot(r.name,t,e,i,a)},r.clean=function(t,e,i,a){n.cleanBasePlot(r.name,t,e,i,a)}},{"../../plots/plots":891}],1301:[function(t,e,r){"use strict";var n=t("d3-hierarchy"),i=t("fast-isnumeric"),a=t("../../lib"),o=t("../../components/colorscale").makeColorScaleFuncFromTrace,s=t("../pie/calc").makePullColorFn,l=t("../pie/calc").generateExtendedColors,c=t("../../components/colorscale").calc,u=t("../../constants/numerical").ALMOST_EQUAL,f={},h={};r.calc=function(t,e){var r,l,f,h,p,d,g=t._fullLayout,m=e.ids,v=a.isArrayOrTypedArray(m),y=e.labels,x=e.parents,b=e.values,_=a.isArrayOrTypedArray(b),w=[],T={},k={},M=function(t){return t||"number"==typeof t},A=function(t){return!_||i(b[t])&&b[t]>=0};v?(r=Math.min(m.length,x.length),l=function(t){return M(m[t])&&A(t)},f=function(t){return String(m[t])}):(r=Math.min(y.length,x.length),l=function(t){return M(y[t])&&A(t)},f=function(t){return String(y[t])}),_&&(r=Math.min(r,b.length));for(var S=0;S<r;S++)if(l(S)){var E=f(S),C=M(x[S])?String(x[S]):"",L={i:S,id:E,pid:C,label:M(y[S])?String(y[S]):""};_&&(L.v=+b[S]),w.push(L),p=E,T[h=C]?T[h].push(p):T[h]=[p],k[p]=1}if(T[""]){if(T[""].length>1){for(var I=a.randstr(),P=0;P<w.length;P++)""===w[P].pid&&(w[P].pid=I);w.unshift({hasMultipleRoots:!0,id:I,pid:"",label:""})}}else{var z,O=[];for(z in T)k[z]||O.push(z);if(1!==O.length)return a.warn(["Multiple implied roots, cannot build",e.type,"hierarchy of",e.name+".","These roots include:",O.join(", ")].join(" "));z=O[0],w.unshift({hasImpliedRoot:!0,id:z,pid:"",label:z})}try{d=n.stratify().id((function(t){return t.id})).parentId((function(t){return t.pid}))(w)}catch(t){return a.warn(["Failed to build",e.type,"hierarchy of",e.name+".","Error:",t.message].join(" "))}var D=n.hierarchy(d),R=!1;if(_)switch(e.branchvalues){case"remainder":D.sum((function(t){return t.data.v}));break;case"total":D.each((function(t){var r=t.data.data,n=r.v;if(t.children){var i=t.children.reduce((function(t,e){return t+e.data.data.v}),0);if((r.hasImpliedRoot||r.hasMultipleRoots)&&(n=i),n<i*u)return R=!0,a.warn(["Total value for node",t.data.data.id,"of",e.name,"is smaller than the sum of its children.","\nparent value =",n,"\nchildren sum =",i].join(" "))}t.value=n}))}else!function t(e,r,n){var i=0,a=e.children;if(a){for(var o=a.length,s=0;s<o;s++)i+=t(a[s],r,n);n.branches&&i++}else n.leaves&&i++;e.value=e.data.data.value=i,r._values||(r._values=[]);return r._values[e.data.data.i]=i,i}(D,e,{branches:-1!==e.count.indexOf("branches"),leaves:-1!==e.count.indexOf("leaves")});if(!R){var F,B;e.sort&&D.sort((function(t,e){return e.value-t.value}));var N=e.marker.colors||[],j=!!N.length;return e._hasColorscale?(j||(N=_?e.values:e._values),c(t,e,{vals:N,containerStr:"marker",cLetter:"c"}),B=o(e.marker)):F=s(g["_"+e.type+"colormap"]),D.each((function(t){var r=t.data.data;r.color=e._hasColorscale?B(N[r.i]):F(N[r.i],r.id)})),w[0].hierarchy=D,w}},r._runCrossTraceCalc=function(t,e){var r=e._fullLayout,n=e.calcdata,i=r[t+"colorway"],a=r["_"+t+"colormap"];r["extend"+t+"colors"]&&(i=l(i,"treemap"===t?h:f));var o,s=0;function c(t){var e=t.data.data,r=e.id;!1===e.color&&(a[r]?e.color=a[r]:t.parent?t.parent.parent?e.color=t.parent.data.data.color:(a[r]=e.color=i[s%i.length],s++):e.color=o)}for(var u=0;u<n.length;u++){var p=n[u][0];p.trace.type===t&&p.hierarchy&&(o=p.trace.root.color,p.hierarchy.each(c))}},r.crossTraceCalc=function(t){return r._runCrossTraceCalc("sunburst",t)}},{"../../components/colorscale":655,"../../constants/numerical":753,"../../lib":778,"../pie/calc":1163,"d3-hierarchy":161,"fast-isnumeric":241}],1302:[function(t,e,r){"use strict";e.exports={CLICK_TRANSITION_TIME:750,CLICK_TRANSITION_EASING:"linear",eventDataKeys:["currentPath","root","entry","percentRoot","percentEntry","percentParent"]}},{}],1303:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./attributes"),a=t("../../plots/domain").defaults,o=t("../bar/defaults").handleText,s=t("../../components/colorscale"),l=s.hasColorscale,c=s.handleDefaults;e.exports=function(t,e,r,s){function u(r,a){return n.coerce(t,e,i,r,a)}var f=u("labels"),h=u("parents");if(f&&f.length&&h&&h.length){var p=u("values");p&&p.length?u("branchvalues"):u("count"),u("level"),u("maxdepth"),u("marker.line.width")&&u("marker.line.color",s.paper_bgcolor),u("marker.colors");var d=e._hasColorscale=l(t,"marker","colors")||(t.marker||{}).coloraxis;d&&c(t,e,s,u,{prefix:"marker.",cLetter:"c"}),u("leaf.opacity",d?1:.7);var g=u("text");u("texttemplate"),e.texttemplate||u("textinfo",Array.isArray(g)?"text+label":"label"),u("hovertext"),u("hovertemplate");o(t,e,s,u,"auto",{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),u("insidetextorientation"),u("sort"),u("rotation"),u("root.color"),a(e,s,u),e._length=null}else e.visible=!1}},{"../../components/colorscale":655,"../../lib":778,"../../plots/domain":855,"../bar/defaults":925,"./attributes":1299}],1304:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../registry"),a=t("../../components/fx/helpers").appendArrayPointValue,o=t("../../components/fx"),s=t("../../lib"),l=t("../../lib/events"),c=t("./helpers"),u=t("../pie/helpers").formatPieValue;function f(t,e,r){for(var n=t.data.data,i={curveNumber:e.index,pointNumber:n.i,data:e._input,fullData:e},o=0;o<r.length;o++){var s=r[o];s in t&&(i[s]=t[s])}return"parentString"in t&&!c.isHierarchyRoot(t)&&(i.parent=t.parentString),a(i,e,n.i),i}e.exports=function(t,e,r,a,h){var p=a[0],d=p.trace,g=p.hierarchy,m="sunburst"===d.type,v="treemap"===d.type;"_hasHoverLabel"in d||(d._hasHoverLabel=!1),"_hasHoverEvent"in d||(d._hasHoverEvent=!1);t.on("mouseover",(function(i){var a=r._fullLayout;if(!r._dragging&&!1!==a.hovermode){var l=r._fullData[d.index],y=i.data.data,x=y.i,b=c.isHierarchyRoot(i),_=c.getParent(g,i),w=c.getValue(i),T=function(t){return s.castOption(l,x,t)},k=T("hovertemplate"),M=o.castHoverinfo(l,a,x),A=a.separators;if(k||M&&"none"!==M&&"skip"!==M){var S,E;m&&(S=p.cx+i.pxmid[0]*(1-i.rInscribed),E=p.cy+i.pxmid[1]*(1-i.rInscribed)),v&&(S=i._hoverX,E=i._hoverY);var C,L={},I=[],P=[],z=function(t){return-1!==I.indexOf(t)};M&&(I="all"===M?l._module.attributes.hoverinfo.flags:M.split("+")),L.label=y.label,z("label")&&L.label&&P.push(L.label),y.hasOwnProperty("v")&&(L.value=y.v,L.valueLabel=u(L.value,A),z("value")&&P.push(L.valueLabel)),L.currentPath=i.currentPath=c.getPath(i.data),z("current path")&&!b&&P.push(L.currentPath);var O=[],D=function(){-1===O.indexOf(C)&&(P.push(C),O.push(C))};L.percentParent=i.percentParent=w/c.getValue(_),L.parent=i.parentString=c.getPtLabel(_),z("percent parent")&&(C=c.formatPercent(L.percentParent,A)+" of "+L.parent,D()),L.percentEntry=i.percentEntry=w/c.getValue(e),L.entry=i.entry=c.getPtLabel(e),!z("percent entry")||b||i.onPathbar||(C=c.formatPercent(L.percentEntry,A)+" of "+L.entry,D()),L.percentRoot=i.percentRoot=w/c.getValue(g),L.root=i.root=c.getPtLabel(g),z("percent root")&&!b&&(C=c.formatPercent(L.percentRoot,A)+" of "+L.root,D()),L.text=T("hovertext")||T("text"),z("text")&&(C=L.text,s.isValidTextValue(C)&&P.push(C));var R={trace:l,y:E,text:P.join("<br>"),name:k||z("name")?l.name:void 0,color:T("hoverlabel.bgcolor")||y.color,borderColor:T("hoverlabel.bordercolor"),fontFamily:T("hoverlabel.font.family"),fontSize:T("hoverlabel.font.size"),fontColor:T("hoverlabel.font.color"),nameLength:T("hoverlabel.namelength"),textAlign:T("hoverlabel.align"),hovertemplate:k,hovertemplateLabels:L,eventData:[f(i,l,h.eventDataKeys)]};m&&(R.x0=S-i.rInscribed*i.rpx1,R.x1=S+i.rInscribed*i.rpx1,R.idealAlign=i.pxmid[0]<0?"left":"right"),v&&(R.x=S,R.idealAlign=S<0?"left":"right"),o.loneHover(R,{container:a._hoverlayer.node(),outerContainer:a._paper.node(),gd:r}),d._hasHoverLabel=!0}if(v){var F=t.select("path.surface");h.styleOne(F,i,l,{hovered:!0})}d._hasHoverEvent=!0,r.emit("plotly_hover",{points:[f(i,l,h.eventDataKeys)],event:n.event})}})),t.on("mouseout",(function(e){var i=r._fullLayout,a=r._fullData[d.index],s=n.select(this).datum();if(d._hasHoverEvent&&(e.originalEvent=n.event,r.emit("plotly_unhover",{points:[f(s,a,h.eventDataKeys)],event:n.event}),d._hasHoverEvent=!1),d._hasHoverLabel&&(o.loneUnhover(i._hoverlayer.node()),d._hasHoverLabel=!1),v){var l=t.select("path.surface");h.styleOne(l,s,a,{hovered:!1})}})),t.on("click",(function(t){var e=r._fullLayout,a=r._fullData[d.index],s=m&&(c.isHierarchyRoot(t)||c.isLeaf(t)),u=c.getPtId(t),p=c.isEntry(t)?c.findEntryWithChild(g,u):c.findEntryWithLevel(g,u),v=c.getPtId(p),y={points:[f(t,a,h.eventDataKeys)],event:n.event};s||(y.nextLevel=v);var x=l.triggerHandler(r,"plotly_"+d.type+"click",y);if(!1!==x&&e.hovermode&&(r._hoverdata=[f(t,a,h.eventDataKeys)],o.click(r,n.event)),!s&&!1!==x&&!r._dragging&&!r._transitioning){i.call("_storeDirectGUIEdit",a,e._tracePreGUI[a.uid],{level:a.level});var b={data:[{level:v}],traces:[d.index]},_={frame:{redraw:!1,duration:h.transitionTime},transition:{duration:h.transitionTime,easing:h.transitionEasing},mode:"immediate",fromcurrent:!0};o.loneUnhover(e._hoverlayer.node()),i.call("animate",r,b,_)}}))}},{"../../components/fx":683,"../../components/fx/helpers":679,"../../lib":778,"../../lib/events":767,"../../registry":911,"../pie/helpers":1166,"./helpers":1305,d3:169}],1305:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../components/color"),a=t("../../lib/setcursor"),o=t("../pie/helpers");function s(t){return t.data.data.pid}r.findEntryWithLevel=function(t,e){var n;return e&&t.eachAfter((function(t){if(r.getPtId(t)===e)return n=t.copy()})),n||t},r.findEntryWithChild=function(t,e){var n;return t.eachAfter((function(t){for(var i=t.children||[],a=0;a<i.length;a++){var o=i[a];if(r.getPtId(o)===e)return n=t.copy()}})),n||t},r.isEntry=function(t){return!t.parent},r.isLeaf=function(t){return!t.children},r.getPtId=function(t){return t.data.data.id},r.getPtLabel=function(t){return t.data.data.label},r.getValue=function(t){return t.value},r.isHierarchyRoot=function(t){return""===s(t)},r.setSliceCursor=function(t,e,n){var i=n.isTransitioning;if(!i){var o=t.datum();i=n.hideOnRoot&&r.isHierarchyRoot(o)||n.hideOnLeaves&&r.isLeaf(o)}a(t,i?null:"pointer")},r.getInsideTextFontKey=function(t,e,r,i,a){var o=(a||{}).onPathbar?"pathbar.textfont":"insidetextfont",s=r.data.data.i;return n.castOption(e,s,o+"."+t)||n.castOption(e,s,"textfont."+t)||i.size},r.getOutsideTextFontKey=function(t,e,r,i){var a=r.data.data.i;return n.castOption(e,a,"outsidetextfont."+t)||n.castOption(e,a,"textfont."+t)||i.size},r.isOutsideText=function(t,e){return!t._hasColorscale&&r.isHierarchyRoot(e)},r.determineTextFont=function(t,e,a,o){return r.isOutsideText(t,e)?function(t,e,n){return{color:r.getOutsideTextFontKey("color",t,e,n),family:r.getOutsideTextFontKey("family",t,e,n),size:r.getOutsideTextFontKey("size",t,e,n)}}(t,e,a):function(t,e,a,o){var s=(o||{}).onPathbar,l=e.data.data,c=l.i,u=n.castOption(t,c,(s?"pathbar.textfont":"insidetextfont")+".color");return!u&&t._input.textfont&&(u=n.castOption(t._input,c,"textfont.color")),{color:u||i.contrast(l.color),family:r.getInsideTextFontKey("family",t,e,a,o),size:r.getInsideTextFontKey("size",t,e,a,o)}}(t,e,a,o)},r.hasTransition=function(t){return!!(t&&t.duration>0)},r.getMaxDepth=function(t){return t.maxdepth>=0?t.maxdepth:1/0},r.isHeader=function(t,e){return!(r.isLeaf(t)||t.depth===e._maxDepth-1)},r.getParent=function(t,e){return r.findEntryWithLevel(t,s(e))},r.listPath=function(t,e){var n=t.parent;if(!n)return[];var i=e?[n.data[e]]:[n];return r.listPath(n,e).concat(i)},r.getPath=function(t){return r.listPath(t,"label").join("/")+"/"},r.formatValue=o.formatPieValue,r.formatPercent=function(t,e){var r=n.formatPercent(t,0);return"0%"===r&&(r=o.formatPiePercent(t,e)),r}},{"../../components/color":643,"../../lib":778,"../../lib/setcursor":799,"../pie/helpers":1166}],1306:[function(t,e,r){"use strict";e.exports={moduleType:"trace",name:"sunburst",basePlotModule:t("./base_plot"),categories:[],animatable:!0,attributes:t("./attributes"),layoutAttributes:t("./layout_attributes"),supplyDefaults:t("./defaults"),supplyLayoutDefaults:t("./layout_defaults"),calc:t("./calc").calc,crossTraceCalc:t("./calc").crossTraceCalc,plot:t("./plot").plot,style:t("./style").style,colorbar:t("../scatter/marker_colorbar"),meta:{}}},{"../scatter/marker_colorbar":1205,"./attributes":1299,"./base_plot":1300,"./calc":1301,"./defaults":1303,"./layout_attributes":1307,"./layout_defaults":1308,"./plot":1309,"./style":1310}],1307:[function(t,e,r){"use strict";e.exports={sunburstcolorway:{valType:"colorlist",editType:"calc"},extendsunburstcolors:{valType:"boolean",dflt:!0,editType:"calc"}}},{}],1308:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./layout_attributes");e.exports=function(t,e){function r(r,a){return n.coerce(t,e,i,r,a)}r("sunburstcolorway",e.colorway),r("extendsunburstcolors")}},{"../../lib":778,"./layout_attributes":1307}],1309:[function(t,e,r){"use strict";var n=t("d3"),i=t("d3-hierarchy"),a=t("../../components/drawing"),o=t("../../lib"),s=t("../../lib/svg_text_utils"),l=t("../bar/uniform_text"),c=l.recordMinTextSize,u=l.clearMinTextSize,f=t("../pie/plot"),h=t("../pie/helpers").getRotationAngle,p=f.computeTransform,d=f.transformInsideText,g=t("./style").styleOne,m=t("../bar/style").resizeText,v=t("./fx"),y=t("./constants"),x=t("./helpers");function b(t,e,l,u){var f=t._fullLayout,m=!f.uniformtext.mode&&x.hasTransition(u),b=n.select(l).selectAll("g.slice"),w=e[0],T=w.trace,k=w.hierarchy,M=x.findEntryWithLevel(k,T.level),A=x.getMaxDepth(T),S=f._size,E=T.domain,C=S.w*(E.x[1]-E.x[0]),L=S.h*(E.y[1]-E.y[0]),I=.5*Math.min(C,L),P=w.cx=S.l+S.w*(E.x[1]+E.x[0])/2,z=w.cy=S.t+S.h*(1-E.y[0])-L/2;if(!M)return b.remove();var O=null,D={};m&&b.each((function(t){D[x.getPtId(t)]={rpx0:t.rpx0,rpx1:t.rpx1,x0:t.x0,x1:t.x1,transform:t.transform},!O&&x.isEntry(t)&&(O=t)}));var R=function(t){return i.partition().size([2*Math.PI,t.height+1])(t)}(M).descendants(),F=M.height+1,B=0,N=A;w.hasMultipleRoots&&x.isHierarchyRoot(M)&&(R=R.slice(1),F-=1,B=1,N+=1),R=R.filter((function(t){return t.y1<=N}));var j=h(T.rotation);j&&R.forEach((function(t){t.x0+=j,t.x1+=j}));var U=Math.min(F,A),V=function(t){return(t-B)/U*I},q=function(t,e){return[t*Math.cos(e),-t*Math.sin(e)]},H=function(t){return o.pathAnnulus(t.rpx0,t.rpx1,t.x0,t.x1,P,z)},G=function(t){return P+_(t)[0]*(t.transform.rCenter||0)+(t.transform.x||0)},Y=function(t){return z+_(t)[1]*(t.transform.rCenter||0)+(t.transform.y||0)};(b=b.data(R,x.getPtId)).enter().append("g").classed("slice",!0),m?b.exit().transition().each((function(){var t=n.select(this);t.select("path.surface").transition().attrTween("d",(function(t){var e=function(t){var e,r=x.getPtId(t),i=D[r],a=D[x.getPtId(M)];if(a){var o=(t.x1>a.x1?2*Math.PI:0)+j;e=t.rpx1<a.rpx1?{rpx0:0,rpx1:0}:{x0:o,x1:o}}else{var s,l=x.getPtId(t.parent);b.each((function(t){if(x.getPtId(t)===l)return s=t}));var c,u=s.children;u.forEach((function(t,e){if(x.getPtId(t)===r)return c=e}));var f=u.length,h=n.interpolate(s.x0,s.x1);e={rpx0:I,rpx1:I,x0:h(c/f),x1:h((c+1)/f)}}return n.interpolate(i,e)}(t);return function(t){return H(e(t))}})),t.select("g.slicetext").attr("opacity",0)})).remove():b.exit().remove(),b.order();var W=null;if(m&&O){var X=x.getPtId(O);b.each((function(t){null===W&&x.getPtId(t)===X&&(W=t.x1)}))}var Z=b;function J(t){var e=t.parent,r=D[x.getPtId(e)],i={};if(r){var a=e.children,o=a.indexOf(t),s=a.length,l=n.interpolate(r.x0,r.x1);i.x0=l(o/s),i.x1=l(o/s)}else i.x0=i.x1=0;return i}m&&(Z=Z.transition().each("end",(function(){var e=n.select(this);x.setSliceCursor(e,t,{hideOnRoot:!0,hideOnLeaves:!0,isTransitioning:!1})}))),Z.each((function(i){var l=n.select(this),u=o.ensureSingle(l,"path","surface",(function(t){t.style("pointer-events","all")}));i.rpx0=V(i.y0),i.rpx1=V(i.y1),i.xmid=(i.x0+i.x1)/2,i.pxmid=q(i.rpx1,i.xmid),i.midangle=-(i.xmid-Math.PI/2),i.startangle=-(i.x0-Math.PI/2),i.stopangle=-(i.x1-Math.PI/2),i.halfangle=.5*Math.min(o.angleDelta(i.x0,i.x1)||Math.PI,Math.PI),i.ring=1-i.rpx0/i.rpx1,i.rInscribed=function(t){return 0===t.rpx0&&o.isFullCircle([t.x0,t.x1])?1:Math.max(0,Math.min(1/(1+1/Math.sin(t.halfangle)),t.ring/2))}(i),m?u.transition().attrTween("d",(function(t){var e=function(t){var e,r=D[x.getPtId(t)],i={x0:t.x0,x1:t.x1,rpx0:t.rpx0,rpx1:t.rpx1};if(r)e=r;else if(O)if(t.parent)if(W){var a=(t.x1>W?2*Math.PI:0)+j;e={x0:a,x1:a}}else e={rpx0:I,rpx1:I},o.extendFlat(e,J(t));else e={rpx0:0,rpx1:0};else e={x0:j,x1:j};return n.interpolate(e,i)}(t);return function(t){return H(e(t))}})):u.attr("d",H),l.call(v,M,t,e,{eventDataKeys:y.eventDataKeys,transitionTime:y.CLICK_TRANSITION_TIME,transitionEasing:y.CLICK_TRANSITION_EASING}).call(x.setSliceCursor,t,{hideOnRoot:!0,hideOnLeaves:!0,isTransitioning:t._transitioning}),u.call(g,i,T);var h=o.ensureSingle(l,"g","slicetext"),b=o.ensureSingle(h,"text","",(function(t){t.attr("data-notex",1)})),_=o.ensureUniformFontSize(t,x.determineTextFont(T,i,f.font));b.text(r.formatSliceLabel(i,M,T,e,f)).classed("slicetext",!0).attr("text-anchor","middle").call(a.font,_).call(s.convertToTspans,t);var k=a.bBox(b.node());i.transform=d(k,i,w),i.transform.targetX=G(i),i.transform.targetY=Y(i);var A=function(t,e){var r=t.transform;return p(r,e),r.fontSize=_.size,c(T.type,r,f),o.getTextTransform(r)};m?b.transition().attrTween("transform",(function(t){var e=function(t){var e,r=D[x.getPtId(t)],i=t.transform;if(r)e=r;else if(e={rpx1:t.rpx1,transform:{textPosAngle:i.textPosAngle,scale:0,rotate:i.rotate,rCenter:i.rCenter,x:i.x,y:i.y}},O)if(t.parent)if(W){var a=t.x1>W?2*Math.PI:0;e.x0=e.x1=a}else o.extendFlat(e,J(t));else e.x0=e.x1=j;else e.x0=e.x1=j;var s=n.interpolate(e.transform.textPosAngle,t.transform.textPosAngle),l=n.interpolate(e.rpx1,t.rpx1),u=n.interpolate(e.x0,t.x0),h=n.interpolate(e.x1,t.x1),p=n.interpolate(e.transform.scale,i.scale),d=n.interpolate(e.transform.rotate,i.rotate),g=0===i.rCenter?3:0===e.transform.rCenter?1/3:1,m=n.interpolate(e.transform.rCenter,i.rCenter);return function(t){var e=l(t),r=u(t),n=h(t),a=function(t){return m(Math.pow(t,g))}(t),o={pxmid:q(e,(r+n)/2),rpx1:e,transform:{textPosAngle:s(t),rCenter:a,x:i.x,y:i.y}};return c(T.type,i,f),{transform:{targetX:G(o),targetY:Y(o),scale:p(t),rotate:d(t),rCenter:a}}}}(t);return function(t){return A(e(t),k)}})):b.attr("transform",A(i,k))}))}function _(t){return e=t.rpx1,r=t.transform.textPosAngle,[e*Math.sin(r),-e*Math.cos(r)];var e,r}r.plot=function(t,e,r,i){var a,o,s=t._fullLayout,l=s._sunburstlayer,c=!r,f=!s.uniformtext.mode&&x.hasTransition(r);(u("sunburst",s),(a=l.selectAll("g.trace.sunburst").data(e,(function(t){return t[0].trace.uid}))).enter().append("g").classed("trace",!0).classed("sunburst",!0).attr("stroke-linejoin","round"),a.order(),f)?(i&&(o=i()),n.transition().duration(r.duration).ease(r.easing).each("end",(function(){o&&o()})).each("interrupt",(function(){o&&o()})).each((function(){l.selectAll("g.trace").each((function(e){b(t,e,this,r)}))}))):(a.each((function(e){b(t,e,this,r)})),s.uniformtext.mode&&m(t,s._sunburstlayer.selectAll(".trace"),"sunburst"));c&&a.exit().remove()},r.formatSliceLabel=function(t,e,r,n,i){var a=r.texttemplate,s=r.textinfo;if(!(a||s&&"none"!==s))return"";var l=i.separators,c=n[0],u=t.data.data,f=c.hierarchy,h=x.isHierarchyRoot(t),p=x.getParent(f,t),d=x.getValue(t);if(!a){var g,m=s.split("+"),v=function(t){return-1!==m.indexOf(t)},y=[];if(v("label")&&u.label&&y.push(u.label),u.hasOwnProperty("v")&&v("value")&&y.push(x.formatValue(u.v,l)),!h){v("current path")&&y.push(x.getPath(t.data));var b=0;v("percent parent")&&b++,v("percent entry")&&b++,v("percent root")&&b++;var _=b>1;if(b){var w,T=function(t){g=x.formatPercent(w,l),_&&(g+=" of "+t),y.push(g)};v("percent parent")&&!h&&(w=d/x.getValue(p),T("parent")),v("percent entry")&&(w=d/x.getValue(e),T("entry")),v("percent root")&&(w=d/x.getValue(f),T("root"))}}return v("text")&&(g=o.castOption(r,u.i,"text"),o.isValidTextValue(g)&&y.push(g)),y.join("<br>")}var k=o.castOption(r,u.i,"texttemplate");if(!k)return"";var M={};u.label&&(M.label=u.label),u.hasOwnProperty("v")&&(M.value=u.v,M.valueLabel=x.formatValue(u.v,l)),M.currentPath=x.getPath(t.data),h||(M.percentParent=d/x.getValue(p),M.percentParentLabel=x.formatPercent(M.percentParent,l),M.parent=x.getPtLabel(p)),M.percentEntry=d/x.getValue(e),M.percentEntryLabel=x.formatPercent(M.percentEntry,l),M.entry=x.getPtLabel(e),M.percentRoot=d/x.getValue(f),M.percentRootLabel=x.formatPercent(M.percentRoot,l),M.root=x.getPtLabel(f),u.hasOwnProperty("color")&&(M.color=u.color);var A=o.castOption(r,u.i,"text");return(o.isValidTextValue(A)||""===A)&&(M.text=A),M.customdata=o.castOption(r,u.i,"customdata"),o.texttemplateString(k,M,i._d3locale,M,r._meta||{})}},{"../../components/drawing":665,"../../lib":778,"../../lib/svg_text_utils":803,"../bar/style":935,"../bar/uniform_text":937,"../pie/helpers":1166,"../pie/plot":1170,"./constants":1302,"./fx":1304,"./helpers":1305,"./style":1310,d3:169,"d3-hierarchy":161}],1310:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../components/color"),a=t("../../lib"),o=t("../bar/uniform_text").resizeText;function s(t,e,r){var n=e.data.data,o=!e.children,s=n.i,l=a.castOption(r,s,"marker.line.color")||i.defaultLine,c=a.castOption(r,s,"marker.line.width")||0;t.style("stroke-width",c).call(i.fill,n.color).call(i.stroke,l).style("opacity",o?r.leaf.opacity:null)}e.exports={style:function(t){var e=t._fullLayout._sunburstlayer.selectAll(".trace");o(t,e,"sunburst"),e.each((function(t){var e=n.select(this),r=t[0].trace;e.style("opacity",r.opacity),e.selectAll("path.surface").each((function(t){n.select(this).call(s,t,r)}))}))},styleOne:s}},{"../../components/color":643,"../../lib":778,"../bar/uniform_text":937,d3:169}],1311:[function(t,e,r){"use strict";var n=t("../../components/color"),i=t("../../components/colorscale/attributes"),a=t("../../plots/template_attributes").hovertemplateAttrs,o=t("../../plots/attributes"),s=t("../../lib/extend").extendFlat,l=t("../../plot_api/edit_types").overrideAll;function c(t){return{show:{valType:"boolean",dflt:!1},start:{valType:"number",dflt:null,editType:"plot"},end:{valType:"number",dflt:null,editType:"plot"},size:{valType:"number",dflt:null,min:0,editType:"plot"},project:{x:{valType:"boolean",dflt:!1},y:{valType:"boolean",dflt:!1},z:{valType:"boolean",dflt:!1}},color:{valType:"color",dflt:n.defaultLine},usecolormap:{valType:"boolean",dflt:!1},width:{valType:"number",min:1,max:16,dflt:2},highlight:{valType:"boolean",dflt:!0},highlightcolor:{valType:"color",dflt:n.defaultLine},highlightwidth:{valType:"number",min:1,max:16,dflt:2}}}var u=e.exports=l(s({z:{valType:"data_array"},x:{valType:"data_array"},y:{valType:"data_array"},text:{valType:"string",dflt:"",arrayOk:!0},hovertext:{valType:"string",dflt:"",arrayOk:!0},hovertemplate:a(),connectgaps:{valType:"boolean",dflt:!1,editType:"calc"},surfacecolor:{valType:"data_array"}},i("",{colorAttr:"z or surfacecolor",showScaleDflt:!0,autoColorDflt:!1,editTypeOverride:"calc"}),{contours:{x:c(),y:c(),z:c()},hidesurface:{valType:"boolean",dflt:!1},lightposition:{x:{valType:"number",min:-1e5,max:1e5,dflt:10},y:{valType:"number",min:-1e5,max:1e5,dflt:1e4},z:{valType:"number",min:-1e5,max:1e5,dflt:0}},lighting:{ambient:{valType:"number",min:0,max:1,dflt:.8},diffuse:{valType:"number",min:0,max:1,dflt:.8},specular:{valType:"number",min:0,max:2,dflt:.05},roughness:{valType:"number",min:0,max:1,dflt:.5},fresnel:{valType:"number",min:0,max:5,dflt:.2}},opacity:{valType:"number",min:0,max:1,dflt:1},opacityscale:{valType:"any",editType:"calc"},_deprecated:{zauto:s({},i.zauto,{}),zmin:s({},i.zmin,{}),zmax:s({},i.zmax,{})},hoverinfo:s({},o.hoverinfo),showlegend:s({},o.showlegend,{dflt:!1})}),"calc","nested");u.x.editType=u.y.editType=u.z.editType="calc+clearAxisTypes",u.transforms=void 0},{"../../components/color":643,"../../components/colorscale/attributes":650,"../../lib/extend":768,"../../plot_api/edit_types":810,"../../plots/attributes":824,"../../plots/template_attributes":906}],1312:[function(t,e,r){"use strict";var n=t("../../components/colorscale/calc");e.exports=function(t,e){e.surfacecolor?n(t,e,{vals:e.surfacecolor,containerStr:"",cLetter:"c"}):n(t,e,{vals:e.z,containerStr:"",cLetter:"c"})}},{"../../components/colorscale/calc":651}],1313:[function(t,e,r){"use strict";var n=t("gl-surface3d"),i=t("ndarray"),a=t("ndarray-linear-interpolate").d2,o=t("../heatmap/interp2d"),s=t("../heatmap/find_empties"),l=t("../../lib").isArrayOrTypedArray,c=t("../../lib/gl_format_color").parseColorScale,u=t("../../lib/str2rgbarray"),f=t("../../components/colorscale").extractOpts;function h(t,e,r){this.scene=t,this.uid=r,this.surface=e,this.data=null,this.showContour=[!1,!1,!1],this.contourStart=[null,null,null],this.contourEnd=[null,null,null],this.contourSize=[0,0,0],this.minValues=[1/0,1/0,1/0],this.maxValues=[-1/0,-1/0,-1/0],this.dataScaleX=1,this.dataScaleY=1,this.refineData=!0,this.objectOffset=[0,0,0]}var p=h.prototype;p.getXat=function(t,e,r,n){var i=l(this.data.x)?l(this.data.x[0])?this.data.x[e][t]:this.data.x[t]:t;return void 0===r?i:n.d2l(i,0,r)},p.getYat=function(t,e,r,n){var i=l(this.data.y)?l(this.data.y[0])?this.data.y[e][t]:this.data.y[e]:e;return void 0===r?i:n.d2l(i,0,r)},p.getZat=function(t,e,r,n){var i=this.data.z[e][t];return null===i&&this.data.connectgaps&&this.data._interpolatedZ&&(i=this.data._interpolatedZ[e][t]),void 0===r?i:n.d2l(i,0,r)},p.handlePick=function(t){if(t.object===this.surface){var e=(t.data.index[0]-1)/this.dataScaleX-1,r=(t.data.index[1]-1)/this.dataScaleY-1,n=Math.max(Math.min(Math.round(e),this.data.z[0].length-1),0),i=Math.max(Math.min(Math.round(r),this.data._ylength-1),0);t.index=[n,i],t.traceCoordinate=[this.getXat(n,i),this.getYat(n,i),this.getZat(n,i)],t.dataCoordinate=[this.getXat(n,i,this.data.xcalendar,this.scene.fullSceneLayout.xaxis),this.getYat(n,i,this.data.ycalendar,this.scene.fullSceneLayout.yaxis),this.getZat(n,i,this.data.zcalendar,this.scene.fullSceneLayout.zaxis)];for(var a=0;a<3;a++){var o=t.dataCoordinate[a];null!=o&&(t.dataCoordinate[a]*=this.scene.dataScale[a])}var s=this.data.hovertext||this.data.text;return Array.isArray(s)&&s[i]&&void 0!==s[i][n]?t.textLabel=s[i][n]:t.textLabel=s||"",t.data.dataCoordinate=t.dataCoordinate.slice(),this.surface.highlight(t.data),this.scene.glplot.spikes.position=t.dataCoordinate,!0}};var d=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997,1009,1013,1019,1021,1031,1033,1039,1049,1051,1061,1063,1069,1087,1091,1093,1097,1103,1109,1117,1123,1129,1151,1153,1163,1171,1181,1187,1193,1201,1213,1217,1223,1229,1231,1237,1249,1259,1277,1279,1283,1289,1291,1297,1301,1303,1307,1319,1321,1327,1361,1367,1373,1381,1399,1409,1423,1427,1429,1433,1439,1447,1451,1453,1459,1471,1481,1483,1487,1489,1493,1499,1511,1523,1531,1543,1549,1553,1559,1567,1571,1579,1583,1597,1601,1607,1609,1613,1619,1621,1627,1637,1657,1663,1667,1669,1693,1697,1699,1709,1721,1723,1733,1741,1747,1753,1759,1777,1783,1787,1789,1801,1811,1823,1831,1847,1861,1867,1871,1873,1877,1879,1889,1901,1907,1913,1931,1933,1949,1951,1973,1979,1987,1993,1997,1999,2003,2011,2017,2027,2029,2039,2053,2063,2069,2081,2083,2087,2089,2099,2111,2113,2129,2131,2137,2141,2143,2153,2161,2179,2203,2207,2213,2221,2237,2239,2243,2251,2267,2269,2273,2281,2287,2293,2297,2309,2311,2333,2339,2341,2347,2351,2357,2371,2377,2381,2383,2389,2393,2399,2411,2417,2423,2437,2441,2447,2459,2467,2473,2477,2503,2521,2531,2539,2543,2549,2551,2557,2579,2591,2593,2609,2617,2621,2633,2647,2657,2659,2663,2671,2677,2683,2687,2689,2693,2699,2707,2711,2713,2719,2729,2731,2741,2749,2753,2767,2777,2789,2791,2797,2801,2803,2819,2833,2837,2843,2851,2857,2861,2879,2887,2897,2903,2909,2917,2927,2939,2953,2957,2963,2969,2971,2999];function g(t,e){if(t<e)return 0;for(var r=0;0===Math.floor(t%e);)t/=e,r++;return r}function m(t){for(var e=[],r=0;r<d.length;r++){var n=d[r];e.push(g(t,n))}return e}function v(t){for(var e=m(t),r=t,n=0;n<d.length;n++)if(e[n]>0){r=d[n];break}return r}function y(t,e){if(!(t<1||e<1)){for(var r=m(t),n=m(e),i=1,a=0;a<d.length;a++)i*=Math.pow(d[a],Math.max(r[a],n[a]));return i}}p.calcXnums=function(t){var e,r=[];for(e=1;e<t;e++){var n=this.getXat(e-1,0),i=this.getXat(e,0);r[e-1]=i!==n&&null!=n&&null!=i?Math.abs(i-n):0}var a=0;for(e=1;e<t;e++)a+=r[e-1];for(e=1;e<t;e++)0===r[e-1]?r[e-1]=1:r[e-1]=Math.round(a/r[e-1]);return r},p.calcYnums=function(t){var e,r=[];for(e=1;e<t;e++){var n=this.getYat(0,e-1),i=this.getYat(0,e);r[e-1]=i!==n&&null!=n&&null!=i?Math.abs(i-n):0}var a=0;for(e=1;e<t;e++)a+=r[e-1];for(e=1;e<t;e++)0===r[e-1]?r[e-1]=1:r[e-1]=Math.round(a/r[e-1]);return r};var x=[1,2,4,6,12,24,36,48,60,120,180,240,360,720,840,1260],b=x[9],_=x[13];function w(t,e,r){var n=r[8]+r[2]*e[0]+r[5]*e[1];return t[0]=(r[6]+r[0]*e[0]+r[3]*e[1])/n,t[1]=(r[7]+r[1]*e[0]+r[4]*e[1])/n,t}function T(t,e,r){return function(t,e,r,n){for(var i=[0,0],o=t.shape[0],s=t.shape[1],l=0;l<o;l++)for(var c=0;c<s;c++)r(i,[l,c],n),t.set(l,c,a(e,i[0],i[1]))}(t,e,w,r),t}function k(t,e){for(var r=!1,n=0;n<t.length;n++)if(e===t[n]){r=!0;break}!1===r&&t.push(e)}p.estimateScale=function(t,e){for(var r=1+function(t){if(0!==t.length){for(var e=1,r=0;r<t.length;r++)e=y(e,t[r]);return e}}(0===e?this.calcXnums(t):this.calcYnums(t));r<b;)r*=2;for(;r>_;)r--,r/=v(r),++r<b&&(r=_);var n=Math.round(r/t);return n>1?n:1},p.refineCoords=function(t){for(var e=this.dataScaleX,r=this.dataScaleY,n=t[0].shape[0],a=t[0].shape[1],o=0|Math.floor(t[0].shape[0]*e+1),s=0|Math.floor(t[0].shape[1]*r+1),l=1+n+1,c=1+a+1,u=i(new Float32Array(l*c),[l,c]),f=[1/e,0,0,0,1/r,0,0,0,1],h=0;h<t.length;++h){this.surface.padField(u,t[h]);var p=i(new Float32Array(o*s),[o,s]);T(p,u,f),t[h]=p}},p.setContourLevels=function(){var t,e,r,n=[[],[],[]],i=[!1,!1,!1],a=!1;for(t=0;t<3;++t)if(this.showContour[t]&&(a=!0,this.contourSize[t]>0&&null!==this.contourStart[t]&&null!==this.contourEnd[t]&&this.contourEnd[t]>this.contourStart[t]))for(i[t]=!0,e=this.contourStart[t];e<this.contourEnd[t];e+=this.contourSize[t])r=e*this.scene.dataScale[t],k(n[t],r);if(a){var o=[[],[],[]];for(t=0;t<3;++t)this.showContour[t]&&(o[t]=i[t]?n[t]:this.scene.contourLevels[t]);this.surface.update({levels:o})}},p.update=function(t){var e,r,n,a,l=this.scene,h=l.fullSceneLayout,p=this.surface,d=c(t),g=l.dataScale,m=t.z[0].length,v=t._ylength,y=l.contourLevels;this.data=t;var x=[];for(e=0;e<3;e++)for(x[e]=[],r=0;r<m;r++)x[e][r]=[];for(r=0;r<m;r++)for(n=0;n<v;n++)x[0][r][n]=this.getXat(r,n,t.xcalendar,h.xaxis),x[1][r][n]=this.getYat(r,n,t.ycalendar,h.yaxis),x[2][r][n]=this.getZat(r,n,t.zcalendar,h.zaxis);if(t.connectgaps)for(t._emptypoints=s(x[2]),o(x[2],t._emptypoints),t._interpolatedZ=[],r=0;r<m;r++)for(t._interpolatedZ[r]=[],n=0;n<v;n++)t._interpolatedZ[r][n]=x[2][r][n];for(e=0;e<3;e++)for(r=0;r<m;r++)for(n=0;n<v;n++)null==(a=x[e][r][n])?x[e][r][n]=NaN:a=x[e][r][n]*=g[e];for(e=0;e<3;e++)for(r=0;r<m;r++)for(n=0;n<v;n++)null!=(a=x[e][r][n])&&(this.minValues[e]>a&&(this.minValues[e]=a),this.maxValues[e]<a&&(this.maxValues[e]=a));for(e=0;e<3;e++)this.objectOffset[e]=.5*(this.minValues[e]+this.maxValues[e]);for(e=0;e<3;e++)for(r=0;r<m;r++)for(n=0;n<v;n++)null!=(a=x[e][r][n])&&(x[e][r][n]-=this.objectOffset[e]);var b=[i(new Float32Array(m*v),[m,v]),i(new Float32Array(m*v),[m,v]),i(new Float32Array(m*v),[m,v])];for(e=0;e<3;e++)for(r=0;r<m;r++)for(n=0;n<v;n++)b[e].set(r,n,x[e][r][n]);x=[];var w={colormap:d,levels:[[],[],[]],showContour:[!0,!0,!0],showSurface:!t.hidesurface,contourProject:[[!1,!1,!1],[!1,!1,!1],[!1,!1,!1]],contourWidth:[1,1,1],contourColor:[[1,1,1,1],[1,1,1,1],[1,1,1,1]],contourTint:[1,1,1],dynamicColor:[[1,1,1,1],[1,1,1,1],[1,1,1,1]],dynamicWidth:[1,1,1],dynamicTint:[1,1,1],opacityscale:t.opacityscale,opacity:t.opacity},T=f(t);if(w.intensityBounds=[T.min,T.max],t.surfacecolor){var k=i(new Float32Array(m*v),[m,v]);for(r=0;r<m;r++)for(n=0;n<v;n++)k.set(r,n,t.surfacecolor[n][r]);b.push(k)}else w.intensityBounds[0]*=g[2],w.intensityBounds[1]*=g[2];(_<b[0].shape[0]||_<b[0].shape[1])&&(this.refineData=!1),!0===this.refineData&&(this.dataScaleX=this.estimateScale(b[0].shape[0],0),this.dataScaleY=this.estimateScale(b[0].shape[1],1),1===this.dataScaleX&&1===this.dataScaleY||this.refineCoords(b)),t.surfacecolor&&(w.intensity=b.pop());var M=[!0,!0,!0],A=["x","y","z"];for(e=0;e<3;++e){var S=t.contours[A[e]];M[e]=S.highlight,w.showContour[e]=S.show||S.highlight,w.showContour[e]&&(w.contourProject[e]=[S.project.x,S.project.y,S.project.z],S.show?(this.showContour[e]=!0,w.levels[e]=y[e],p.highlightColor[e]=w.contourColor[e]=u(S.color),S.usecolormap?p.highlightTint[e]=w.contourTint[e]=0:p.highlightTint[e]=w.contourTint[e]=1,w.contourWidth[e]=S.width,this.contourStart[e]=S.start,this.contourEnd[e]=S.end,this.contourSize[e]=S.size):(this.showContour[e]=!1,this.contourStart[e]=null,this.contourEnd[e]=null,this.contourSize[e]=0),S.highlight&&(w.dynamicColor[e]=u(S.highlightcolor),w.dynamicWidth[e]=S.highlightwidth))}(function(t){var e=t[0].rgb,r=t[t.length-1].rgb;return e[0]===r[0]&&e[1]===r[1]&&e[2]===r[2]&&e[3]===r[3]})(d)&&(w.vertexColor=!0),w.objectOffset=this.objectOffset,w.coords=b,p.update(w),p.visible=t.visible,p.enableDynamic=M,p.enableHighlight=M,p.snapToData=!0,"lighting"in t&&(p.ambientLight=t.lighting.ambient,p.diffuseLight=t.lighting.diffuse,p.specularLight=t.lighting.specular,p.roughness=t.lighting.roughness,p.fresnel=t.lighting.fresnel),"lightposition"in t&&(p.lightPosition=[t.lightposition.x,t.lightposition.y,t.lightposition.z])},p.dispose=function(){this.scene.glplot.remove(this.surface),this.surface.dispose()},e.exports=function(t,e){var r=t.glplot.gl,i=n({gl:r}),a=new h(t,i,e.uid);return i._trace=a,a.update(e),t.glplot.add(i),a}},{"../../components/colorscale":655,"../../lib":778,"../../lib/gl_format_color":774,"../../lib/str2rgbarray":802,"../heatmap/find_empties":1071,"../heatmap/interp2d":1074,"gl-surface3d":351,ndarray:495,"ndarray-linear-interpolate":489}],1314:[function(t,e,r){"use strict";var n=t("../../registry"),i=t("../../lib"),a=t("../../components/colorscale/defaults"),o=t("./attributes");function s(t,e,r,n){var i=n("opacityscale");"max"===i?e.opacityscale=[[0,.1],[1,1]]:"min"===i?e.opacityscale=[[0,1],[1,.1]]:"extremes"===i?e.opacityscale=function(t,e){for(var r=[],n=0;n<32;n++){var i=n/31,a=e+(1-e)*(1-Math.pow(Math.sin(t*i*Math.PI),2));r.push([i,Math.max(0,Math.min(1,a))])}return r}(1,.1):function(t){var e=0;if(!Array.isArray(t)||t.length<2)return!1;if(!t[0]||!t[t.length-1])return!1;if(0!=+t[0][0]||1!=+t[t.length-1][0])return!1;for(var r=0;r<t.length;r++){var n=t[r];if(2!==n.length||+n[0]<e)return!1;e=+n[0]}return!0}(i)||(e.opacityscale=void 0)}function l(t,e,r){e in t&&!(r in t)&&(t[r]=t[e])}e.exports={supplyDefaults:function(t,e,r,c){var u,f;function h(r,n){return i.coerce(t,e,o,r,n)}var p=h("x"),d=h("y"),g=h("z");if(!g||!g.length||p&&p.length<1||d&&d.length<1)e.visible=!1;else{e._xlength=Array.isArray(p)&&i.isArrayOrTypedArray(p[0])?g.length:g[0].length,e._ylength=g.length,n.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x","y","z"],c),h("text"),h("hovertext"),h("hovertemplate"),["lighting.ambient","lighting.diffuse","lighting.specular","lighting.roughness","lighting.fresnel","lightposition.x","lightposition.y","lightposition.z","hidesurface","connectgaps","opacity"].forEach((function(t){h(t)}));var m=h("surfacecolor"),v=["x","y","z"];for(u=0;u<3;++u){var y="contours."+v[u],x=h(y+".show"),b=h(y+".highlight");if(x||b)for(f=0;f<3;++f)h(y+".project."+v[f]);x&&(h(y+".color"),h(y+".width"),h(y+".usecolormap")),b&&(h(y+".highlightcolor"),h(y+".highlightwidth")),h(y+".start"),h(y+".end"),h(y+".size")}m||(l(t,"zmin","cmin"),l(t,"zmax","cmax"),l(t,"zauto","cauto")),a(t,e,c,h,{prefix:"",cLetter:"c"}),s(t,e,c,h),e._length=null}},opacityscaleDefaults:s}},{"../../components/colorscale/defaults":653,"../../lib":778,"../../registry":911,"./attributes":1311}],1315:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults").supplyDefaults,colorbar:{min:"cmin",max:"cmax"},calc:t("./calc"),plot:t("./convert"),moduleType:"trace",name:"surface",basePlotModule:t("../../plots/gl3d"),categories:["gl3d","2dMap","showLegend"],meta:{}}},{"../../plots/gl3d":870,"./attributes":1311,"./calc":1312,"./convert":1313,"./defaults":1314}],1316:[function(t,e,r){"use strict";var n=t("../../components/annotations/attributes"),i=t("../../lib/extend").extendFlat,a=t("../../plot_api/edit_types").overrideAll,o=t("../../plots/font_attributes"),s=t("../../plots/domain").attributes;t("../../constants/docs").FORMAT_LINK;(e.exports=a({domain:s({name:"table",trace:!0}),columnwidth:{valType:"number",arrayOk:!0,dflt:null},columnorder:{valType:"data_array"},header:{values:{valType:"data_array",dflt:[]},format:{valType:"data_array",dflt:[]},prefix:{valType:"string",arrayOk:!0,dflt:null},suffix:{valType:"string",arrayOk:!0,dflt:null},height:{valType:"number",dflt:28},align:i({},n.align,{arrayOk:!0}),line:{width:{valType:"number",arrayOk:!0,dflt:1},color:{valType:"color",arrayOk:!0,dflt:"grey"}},fill:{color:{valType:"color",arrayOk:!0,dflt:"white"}},font:i({},o({arrayOk:!0}))},cells:{values:{valType:"data_array",dflt:[]},format:{valType:"data_array",dflt:[]},prefix:{valType:"string",arrayOk:!0,dflt:null},suffix:{valType:"string",arrayOk:!0,dflt:null},height:{valType:"number",dflt:20},align:i({},n.align,{arrayOk:!0}),line:{width:{valType:"number",arrayOk:!0,dflt:1},color:{valType:"color",arrayOk:!0,dflt:"grey"}},fill:{color:{valType:"color",arrayOk:!0,dflt:"white"}},font:i({},o({arrayOk:!0}))}},"calc","from-root")).transforms=void 0},{"../../components/annotations/attributes":626,"../../constants/docs":748,"../../lib/extend":768,"../../plot_api/edit_types":810,"../../plots/domain":855,"../../plots/font_attributes":856}],1317:[function(t,e,r){"use strict";var n=t("../../plots/get_data").getModuleCalcData,i=t("./plot");r.name="table",r.plot=function(t){var e=n(t.calcdata,"table")[0];e.length&&i(t,e)},r.clean=function(t,e,r,n){var i=n._has&&n._has("table"),a=e._has&&e._has("table");i&&!a&&n._paperdiv.selectAll(".table").remove()}},{"../../plots/get_data":865,"./plot":1324}],1318:[function(t,e,r){"use strict";var n=t("../../lib/gup").wrap;e.exports=function(){return n({})}},{"../../lib/gup":775}],1319:[function(t,e,r){"use strict";e.exports={cellPad:8,columnExtentOffset:10,columnTitleOffset:28,emptyHeaderHeight:16,latexCheck:/^\$.*\$$/,goldenRatio:1.618,lineBreaker:"<br>",maxDimensionCount:60,overdrag:45,releaseTransitionDuration:120,releaseTransitionEase:"cubic-out",scrollbarCaptureWidth:18,scrollbarHideDelay:1e3,scrollbarHideDuration:1e3,scrollbarOffset:5,scrollbarWidth:8,transitionDuration:100,transitionEase:"cubic-out",uplift:5,wrapSpacer:" ",wrapSplitCharacter:" ",cn:{table:"table",tableControlView:"table-control-view",scrollBackground:"scroll-background",yColumn:"y-column",columnBlock:"column-block",scrollAreaClip:"scroll-area-clip",scrollAreaClipRect:"scroll-area-clip-rect",columnBoundary:"column-boundary",columnBoundaryClippath:"column-boundary-clippath",columnBoundaryRect:"column-boundary-rect",columnCells:"column-cells",columnCell:"column-cell",cellRect:"cell-rect",cellText:"cell-text",cellTextHolder:"cell-text-holder",scrollbarKit:"scrollbar-kit",scrollbar:"scrollbar",scrollbarSlider:"scrollbar-slider",scrollbarGlyph:"scrollbar-glyph",scrollbarCaptureZone:"scrollbar-capture-zone"}}},{}],1320:[function(t,e,r){"use strict";var n=t("./constants"),i=t("../../lib/extend").extendFlat,a=t("fast-isnumeric");function o(t){if(Array.isArray(t)){for(var e=0,r=0;r<t.length;r++)e=Math.max(e,o(t[r]));return e}return t}function s(t,e){return t+e}function l(t){var e,r=t.slice(),n=1/0,i=0;for(e=0;e<r.length;e++)Array.isArray(r[e])||(r[e]=[r[e]]),n=Math.min(n,r[e].length),i=Math.max(i,r[e].length);if(n!==i)for(e=0;e<r.length;e++){var a=i-r[e].length;a&&(r[e]=r[e].concat(c(a)))}return r}function c(t){for(var e=new Array(t),r=0;r<t;r++)e[r]="";return e}function u(t){return t.calcdata.columns.reduce((function(e,r){return r.xIndex<t.xIndex?e+r.columnWidth:e}),0)}function f(t,e){return Object.keys(t).map((function(r){return i({},t[r],{auxiliaryBlocks:e})}))}function h(t,e){for(var r,n={},i=0,a=0,o={firstRowIndex:null,lastRowIndex:null,rows:[]},s=0,l=0,c=0;c<t.length;c++)r=t[c],o.rows.push({rowIndex:c,rowHeight:r}),((a+=r)>=e||c===t.length-1)&&(n[i]=o,o.key=l++,o.firstRowIndex=s,o.lastRowIndex=c,o={firstRowIndex:null,lastRowIndex:null,rows:[]},i+=a,s=c+1,a=0);return n}e.exports=function(t,e){var r=l(e.cells.values),p=function(t){return t.slice(e.header.values.length,t.length)},d=l(e.header.values);d.length&&!d[0].length&&(d[0]=[""],d=l(d));var g=d.concat(p(r).map((function(){return c((d[0]||[""]).length)}))),m=e.domain,v=Math.floor(t._fullLayout._size.w*(m.x[1]-m.x[0])),y=Math.floor(t._fullLayout._size.h*(m.y[1]-m.y[0])),x=e.header.values.length?g[0].map((function(){return e.header.height})):[n.emptyHeaderHeight],b=r.length?r[0].map((function(){return e.cells.height})):[],_=x.reduce(s,0),w=h(b,y-_+n.uplift),T=f(h(x,_),[]),k=f(w,T),M={},A=e._fullInput.columnorder.concat(p(r.map((function(t,e){return e})))),S=g.map((function(t,r){var n=Array.isArray(e.columnwidth)?e.columnwidth[Math.min(r,e.columnwidth.length-1)]:e.columnwidth;return a(n)?Number(n):1})),E=S.reduce(s,0);S=S.map((function(t){return t/E*v}));var C=Math.max(o(e.header.line.width),o(e.cells.line.width)),L={key:e.uid+t._context.staticPlot,translateX:m.x[0]*t._fullLayout._size.w,translateY:t._fullLayout._size.h*(1-m.y[1]),size:t._fullLayout._size,width:v,maxLineWidth:C,height:y,columnOrder:A,groupHeight:y,rowBlocks:k,headerRowBlocks:T,scrollY:0,cells:i({},e.cells,{values:r}),headerCells:i({},e.header,{values:g}),gdColumns:g.map((function(t){return t[0]})),gdColumnsOriginalOrder:g.map((function(t){return t[0]})),prevPages:[0,0],scrollbarState:{scrollbarScrollInProgress:!1},columns:g.map((function(t,e){var r=M[t];return M[t]=(r||0)+1,{key:t+"__"+M[t],label:t,specIndex:e,xIndex:A[e],xScale:u,x:void 0,calcdata:void 0,columnWidth:S[e]}}))};return L.columns.forEach((function(t){t.calcdata=L,t.x=u(t)})),L}},{"../../lib/extend":768,"./constants":1319,"fast-isnumeric":241}],1321:[function(t,e,r){"use strict";var n=t("../../lib/extend").extendFlat;r.splitToPanels=function(t){var e=[0,0],r=n({},t,{key:"header",type:"header",page:0,prevPages:e,currentRepaint:[null,null],dragHandle:!0,values:t.calcdata.headerCells.values[t.specIndex],rowBlocks:t.calcdata.headerRowBlocks,calcdata:n({},t.calcdata,{cells:t.calcdata.headerCells})});return[n({},t,{key:"cells1",type:"cells",page:0,prevPages:e,currentRepaint:[null,null],dragHandle:!1,values:t.calcdata.cells.values[t.specIndex],rowBlocks:t.calcdata.rowBlocks}),n({},t,{key:"cells2",type:"cells",page:1,prevPages:e,currentRepaint:[null,null],dragHandle:!1,values:t.calcdata.cells.values[t.specIndex],rowBlocks:t.calcdata.rowBlocks}),r]},r.splitToCells=function(t){var e=function(t){var e=t.rowBlocks[t.page],r=e?e.rows[0].rowIndex:0,n=e?r+e.rows.length:0;return[r,n]}(t);return(t.values||[]).slice(e[0],e[1]).map((function(r,n){return{keyWithinBlock:n+("string"==typeof r&&r.match(/[<$&> ]/)?"_keybuster_"+Math.random():""),key:e[0]+n,column:t,calcdata:t.calcdata,page:t.page,rowBlocks:t.rowBlocks,value:r}}))}},{"../../lib/extend":768}],1322:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./attributes"),a=t("../../plots/domain").defaults;e.exports=function(t,e,r,o){function s(r,a){return n.coerce(t,e,i,r,a)}a(e,o,s),s("columnwidth"),s("header.values"),s("header.format"),s("header.align"),s("header.prefix"),s("header.suffix"),s("header.height"),s("header.line.width"),s("header.line.color"),s("header.fill.color"),n.coerceFont(s,"header.font",n.extendFlat({},o.font)),function(t,e){for(var r=t.columnorder||[],n=t.header.values.length,i=r.slice(0,n),a=i.slice().sort((function(t,e){return t-e})),o=i.map((function(t){return a.indexOf(t)})),s=o.length;s<n;s++)o.push(s);e("columnorder",o)}(e,s),s("cells.values"),s("cells.format"),s("cells.align"),s("cells.prefix"),s("cells.suffix"),s("cells.height"),s("cells.line.width"),s("cells.line.color"),s("cells.fill.color"),n.coerceFont(s,"cells.font",n.extendFlat({},o.font)),e._length=null}},{"../../lib":778,"../../plots/domain":855,"./attributes":1316}],1323:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),calc:t("./calc"),plot:t("./plot"),moduleType:"trace",name:"table",basePlotModule:t("./base_plot"),categories:["noOpacity"],meta:{}}},{"./attributes":1316,"./base_plot":1317,"./calc":1318,"./defaults":1322,"./plot":1324}],1324:[function(t,e,r){"use strict";var n=t("./constants"),i=t("d3"),a=t("../../lib/gup"),o=t("../../components/drawing"),s=t("../../lib/svg_text_utils"),l=t("../../lib").raiseToTop,c=t("../../lib").strTranslate,u=t("../../lib").cancelTransition,f=t("./data_preparation_helper"),h=t("./data_split_helpers"),p=t("../../components/color");function d(t){return Math.ceil(t.calcdata.maxLineWidth/2)}function g(t,e){return"clip"+t._fullLayout._uid+"_scrollAreaBottomClip_"+e.key}function m(t,e){return"clip"+t._fullLayout._uid+"_columnBoundaryClippath_"+e.calcdata.key+"_"+e.specIndex}function v(t){return[].concat.apply([],t.map((function(t){return t}))).map((function(t){return t.__data__}))}function y(t,e,r){var o=t.selectAll("."+n.cn.scrollbarKit).data(a.repeat,a.keyFun);o.enter().append("g").classed(n.cn.scrollbarKit,!0).style("shape-rendering","geometricPrecision"),o.each((function(t){var e=t.scrollbarState;e.totalHeight=function(t){var e=t.rowBlocks;return O(e,e.length-1)+(e.length?D(e[e.length-1],1/0):1)}(t),e.scrollableAreaHeight=t.groupHeight-A(t),e.currentlyVisibleHeight=Math.min(e.totalHeight,e.scrollableAreaHeight),e.ratio=e.currentlyVisibleHeight/e.totalHeight,e.barLength=Math.max(e.ratio*e.currentlyVisibleHeight,n.goldenRatio*n.scrollbarWidth),e.barWiggleRoom=e.currentlyVisibleHeight-e.barLength,e.wiggleRoom=Math.max(0,e.totalHeight-e.scrollableAreaHeight),e.topY=0===e.barWiggleRoom?0:t.scrollY/e.wiggleRoom*e.barWiggleRoom,e.bottomY=e.topY+e.barLength,e.dragMultiplier=e.wiggleRoom/e.barWiggleRoom})).attr("transform",(function(t){var e=t.width+n.scrollbarWidth/2+n.scrollbarOffset;return c(e,A(t))}));var s=o.selectAll("."+n.cn.scrollbar).data(a.repeat,a.keyFun);s.enter().append("g").classed(n.cn.scrollbar,!0);var l=s.selectAll("."+n.cn.scrollbarSlider).data(a.repeat,a.keyFun);l.enter().append("g").classed(n.cn.scrollbarSlider,!0),l.attr("transform",(function(t){return c(0,t.scrollbarState.topY||0)}));var u=l.selectAll("."+n.cn.scrollbarGlyph).data(a.repeat,a.keyFun);u.enter().append("line").classed(n.cn.scrollbarGlyph,!0).attr("stroke","black").attr("stroke-width",n.scrollbarWidth).attr("stroke-linecap","round").attr("y1",n.scrollbarWidth/2),u.attr("y2",(function(t){return t.scrollbarState.barLength-n.scrollbarWidth/2})).attr("stroke-opacity",(function(t){return t.columnDragInProgress||!t.scrollbarState.barWiggleRoom||r?0:.4})),u.transition().delay(0).duration(0),u.transition().delay(n.scrollbarHideDelay).duration(n.scrollbarHideDuration).attr("stroke-opacity",0);var f=s.selectAll("."+n.cn.scrollbarCaptureZone).data(a.repeat,a.keyFun);f.enter().append("line").classed(n.cn.scrollbarCaptureZone,!0).attr("stroke","white").attr("stroke-opacity",.01).attr("stroke-width",n.scrollbarCaptureWidth).attr("stroke-linecap","butt").attr("y1",0).on("mousedown",(function(r){var n=i.event.y,a=this.getBoundingClientRect(),o=r.scrollbarState,s=n-a.top,l=i.scale.linear().domain([0,o.scrollableAreaHeight]).range([0,o.totalHeight]).clamp(!0);o.topY<=s&&s<=o.bottomY||E(e,t,null,l(s-o.barLength/2))(r)})).call(i.behavior.drag().origin((function(t){return i.event.stopPropagation(),t.scrollbarState.scrollbarScrollInProgress=!0,t})).on("drag",E(e,t)).on("dragend",(function(){}))),f.attr("y2",(function(t){return t.scrollbarState.scrollableAreaHeight})),e._context.staticPlot&&(u.remove(),f.remove())}function x(t,e,r,s){var l=function(t){var e=t.selectAll("."+n.cn.columnCell).data(h.splitToCells,(function(t){return t.keyWithinBlock}));return e.enter().append("g").classed(n.cn.columnCell,!0),e.exit().remove(),e}(function(t){var e=t.selectAll("."+n.cn.columnCells).data(a.repeat,a.keyFun);return e.enter().append("g").classed(n.cn.columnCells,!0),e.exit().remove(),e}(r));!function(t){t.each((function(t,e){var r=t.calcdata.cells.font,n=t.column.specIndex,i={size:w(r.size,n,e),color:w(r.color,n,e),family:w(r.family,n,e)};t.rowNumber=t.key,t.align=w(t.calcdata.cells.align,n,e),t.cellBorderWidth=w(t.calcdata.cells.line.width,n,e),t.font=i}))}(l),function(t){t.attr("width",(function(t){return t.column.columnWidth})).attr("stroke-width",(function(t){return t.cellBorderWidth})).each((function(t){var e=i.select(this);p.stroke(e,w(t.calcdata.cells.line.color,t.column.specIndex,t.rowNumber)),p.fill(e,w(t.calcdata.cells.fill.color,t.column.specIndex,t.rowNumber))}))}(function(t){var e=t.selectAll("."+n.cn.cellRect).data(a.repeat,(function(t){return t.keyWithinBlock}));return e.enter().append("rect").classed(n.cn.cellRect,!0),e}(l));var c=function(t){var e=t.selectAll("."+n.cn.cellText).data(a.repeat,(function(t){return t.keyWithinBlock}));return e.enter().append("text").classed(n.cn.cellText,!0).style("cursor",(function(){return"auto"})).on("mousedown",(function(){i.event.stopPropagation()})),e}(function(t){var e=t.selectAll("."+n.cn.cellTextHolder).data(a.repeat,(function(t){return t.keyWithinBlock}));return e.enter().append("g").classed(n.cn.cellTextHolder,!0).style("shape-rendering","geometricPrecision"),e}(l));!function(t){t.each((function(t){o.font(i.select(this),t.font)}))}(c),b(c,e,s,t),z(l)}function b(t,e,r,a){t.text((function(t){var e=t.column.specIndex,r=t.rowNumber,a=t.value,o="string"==typeof a,s=o&&a.match(/<br>/i),l=!o||s;t.mayHaveMarkup=o&&a.match(/[<&>]/);var c,u="string"==typeof(c=a)&&c.match(n.latexCheck);t.latex=u;var f,h,p=u?"":w(t.calcdata.cells.prefix,e,r)||"",d=u?"":w(t.calcdata.cells.suffix,e,r)||"",g=u?null:w(t.calcdata.cells.format,e,r)||null,m=p+(g?i.format(g)(t.value):t.value)+d;if(t.wrappingNeeded=!t.wrapped&&!l&&!u&&(f=_(m)),t.cellHeightMayIncrease=s||u||t.mayHaveMarkup||(void 0===f?_(m):f),t.needsConvertToTspans=t.mayHaveMarkup||t.wrappingNeeded||t.latex,t.wrappingNeeded){var v=(" "===n.wrapSplitCharacter?m.replace(/<a href=/gi,"<a_href="):m).split(n.wrapSplitCharacter),y=" "===n.wrapSplitCharacter?v.map((function(t){return t.replace(/<a_href=/gi,"<a href=")})):v;t.fragments=y.map((function(t){return{text:t,width:null}})),t.fragments.push({fragment:n.wrapSpacer,width:null}),h=y.join(n.lineBreaker)+n.lineBreaker+n.wrapSpacer}else delete t.fragments,h=m;return h})).attr("dy",(function(t){return t.needsConvertToTspans?0:"0.75em"})).each((function(t){var o=i.select(this),l=t.wrappingNeeded?L:I;t.needsConvertToTspans?s.convertToTspans(o,a,l(r,this,e,a,t)):i.select(this.parentNode).attr("transform",(function(t){return c(P(t),n.cellPad)})).attr("text-anchor",(function(t){return{left:"start",center:"middle",right:"end"}[t.align]}))}))}function _(t){return-1!==t.indexOf(n.wrapSplitCharacter)}function w(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 T(t,e,r){t.transition().ease(n.releaseTransitionEase).duration(n.releaseTransitionDuration).attr("transform",c(e.x,r))}function k(t){return"cells"===t.type}function M(t){return"header"===t.type}function A(t){return(t.rowBlocks.length?t.rowBlocks[0].auxiliaryBlocks:[]).reduce((function(t,e){return t+D(e,1/0)}),0)}function S(t,e,r){var n=v(e)[0];if(void 0!==n){var i=n.rowBlocks,a=n.calcdata,o=O(i,i.length),s=n.calcdata.groupHeight-A(n),l=a.scrollY=Math.max(0,Math.min(o-s,a.scrollY)),u=function(t,e,r){for(var n=[],i=0,a=0;a<t.length;a++){for(var o=t[a],s=o.rows,l=0,c=0;c<s.length;c++)l+=s[c].rowHeight;o.allRowsHeight=l;e<i+l&&e+r>i&&n.push(a),i+=l}return n}(i,l,s);1===u.length&&(u[0]===i.length-1?u.unshift(u[0]-1):u.push(u[0]+1)),u[0]%2&&u.reverse(),e.each((function(t,e){t.page=u[e],t.scrollY=l})),e.attr("transform",(function(t){var e=O(t.rowBlocks,t.page)-t.scrollY;return c(0,e)})),t&&(C(t,r,e,u,n.prevPages,n,0),C(t,r,e,u,n.prevPages,n,1),y(r,t))}}function E(t,e,r,a){return function(o){var s=o.calcdata?o.calcdata:o,l=e.filter((function(t){return s.key===t.key})),c=r||s.scrollbarState.dragMultiplier,u=s.scrollY;s.scrollY=void 0===a?s.scrollY+c*i.event.dy:a;var f=l.selectAll("."+n.cn.yColumn).selectAll("."+n.cn.columnBlock).filter(k);return S(t,f,l),s.scrollY===u}}function C(t,e,r,n,i,a,o){n[o]!==i[o]&&(clearTimeout(a.currentRepaint[o]),a.currentRepaint[o]=setTimeout((function(){var a=r.filter((function(t,e){return e===o&&n[e]!==i[e]}));x(t,e,a,r),i[o]=n[o]})))}function L(t,e,r,a){return function(){var o=i.select(e.parentNode);o.each((function(t){var e=t.fragments;o.selectAll("tspan.line").each((function(t,r){e[r].width=this.getComputedTextLength()}));var r,i,a=e[e.length-1].width,s=e.slice(0,-1),l=[],c=0,u=t.column.columnWidth-2*n.cellPad;for(t.value="";s.length;)c+(i=(r=s.shift()).width+a)>u&&(t.value+=l.join(n.wrapSpacer)+n.lineBreaker,l=[],c=0),l.push(r.text),c+=i;c&&(t.value+=l.join(n.wrapSpacer)),t.wrapped=!0})),o.selectAll("tspan.line").remove(),b(o.select("."+n.cn.cellText),r,t,a),i.select(e.parentNode.parentNode).call(z)}}function I(t,e,r,a,o){return function(){if(!o.settledY){var s=i.select(e.parentNode),l=F(o),u=o.key-l.firstRowIndex,f=l.rows[u].rowHeight,h=o.cellHeightMayIncrease?e.parentNode.getBoundingClientRect().height+2*n.cellPad:f,p=Math.max(h,f);p-l.rows[u].rowHeight&&(l.rows[u].rowHeight=p,t.selectAll("."+n.cn.columnCell).call(z),S(null,t.filter(k),0),y(r,a,!0)),s.attr("transform",(function(){var t=this.parentNode.getBoundingClientRect(),e=i.select(this.parentNode).select("."+n.cn.cellRect).node().getBoundingClientRect(),r=this.transform.baseVal.consolidate(),a=e.top-t.top+(r?r.matrix.f:n.cellPad);return c(P(o,i.select(this.parentNode).select("."+n.cn.cellTextHolder).node().getBoundingClientRect().width),a)})),o.settledY=!0}}}function P(t,e){switch(t.align){case"left":return n.cellPad;case"right":return t.column.columnWidth-(e||0)-n.cellPad;case"center":return(t.column.columnWidth-(e||0))/2;default:return n.cellPad}}function z(t){t.attr("transform",(function(t){var e=t.rowBlocks[0].auxiliaryBlocks.reduce((function(t,e){return t+D(e,1/0)}),0),r=D(F(t),t.key);return c(0,r+e)})).selectAll("."+n.cn.cellRect).attr("height",(function(t){return(e=F(t),r=t.key,e.rows[r-e.firstRowIndex]).rowHeight;var e,r}))}function O(t,e){for(var r=0,n=e-1;n>=0;n--)r+=R(t[n]);return r}function D(t,e){for(var r=0,n=0;n<t.rows.length&&t.rows[n].rowIndex<e;n++)r+=t.rows[n].rowHeight;return r}function R(t){var e=t.allRowsHeight;if(void 0!==e)return e;for(var r=0,n=0;n<t.rows.length;n++)r+=t.rows[n].rowHeight;return t.allRowsHeight=r,r}function F(t){return t.rowBlocks[t.page]}e.exports=function(t,e){var r=!t._context.staticPlot,s=t._fullLayout._paper.selectAll("."+n.cn.table).data(e.map((function(e){var r=a.unwrap(e).trace;return f(t,r)})),a.keyFun);s.exit().remove(),s.enter().append("g").classed(n.cn.table,!0).attr("overflow","visible").style("box-sizing","content-box").style("position","absolute").style("left",0).style("overflow","visible").style("shape-rendering","crispEdges").style("pointer-events","all"),s.attr("width",(function(t){return t.width+t.size.l+t.size.r})).attr("height",(function(t){return t.height+t.size.t+t.size.b})).attr("transform",(function(t){return c(t.translateX,t.translateY)}));var p=s.selectAll("."+n.cn.tableControlView).data(a.repeat,a.keyFun),b=p.enter().append("g").classed(n.cn.tableControlView,!0).style("box-sizing","content-box");if(r){var _="onwheel"in document?"wheel":"mousewheel";b.on("mousemove",(function(e){p.filter((function(t){return e===t})).call(y,t)})).on(_,(function(e){if(!e.scrollbarState.wheeling){e.scrollbarState.wheeling=!0;var r=e.scrollY+i.event.deltaY;E(t,p,null,r)(e)||(i.event.stopPropagation(),i.event.preventDefault()),e.scrollbarState.wheeling=!1}})).call(y,t,!0)}p.attr("transform",(function(t){return c(t.size.l,t.size.t)}));var w=p.selectAll("."+n.cn.scrollBackground).data(a.repeat,a.keyFun);w.enter().append("rect").classed(n.cn.scrollBackground,!0).attr("fill","none"),w.attr("width",(function(t){return t.width})).attr("height",(function(t){return t.height})),p.each((function(e){o.setClipUrl(i.select(this),g(t,e),t)}));var A=p.selectAll("."+n.cn.yColumn).data((function(t){return t.columns}),a.keyFun);A.enter().append("g").classed(n.cn.yColumn,!0),A.exit().remove(),A.attr("transform",(function(t){return c(t.x,0)})),r&&A.call(i.behavior.drag().origin((function(e){return T(i.select(this),e,-n.uplift),l(this),e.calcdata.columnDragInProgress=!0,y(p.filter((function(t){return e.calcdata.key===t.key})),t),e})).on("drag",(function(t){var e=i.select(this),r=function(e){return(t===e?i.event.x:e.x)+e.columnWidth/2};t.x=Math.max(-n.overdrag,Math.min(t.calcdata.width+n.overdrag-t.columnWidth,i.event.x)),v(A).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)})),A.filter((function(e){return t!==e})).transition().ease(n.transitionEase).duration(n.transitionDuration).attr("transform",(function(t){return c(t.x,0)})),e.call(u).attr("transform",c(t.x,-n.uplift))})).on("dragend",(function(e){var r=i.select(this),n=e.calcdata;e.x=e.xScale(e),e.calcdata.columnDragInProgress=!1,T(r,e,0),function(t,e,r){var n=e.gdColumnsOriginalOrder;e.gdColumns.sort((function(t,e){return r[n.indexOf(t)]-r[n.indexOf(e)]})),e.columnorder=r,t.emit("plotly_restyle")}(t,n,n.columns.map((function(t){return t.xIndex})))}))),A.each((function(e){o.setClipUrl(i.select(this),m(t,e),t)}));var C=A.selectAll("."+n.cn.columnBlock).data(h.splitToPanels,a.keyFun);C.enter().append("g").classed(n.cn.columnBlock,!0).attr("id",(function(t){return t.key})),C.style("cursor",(function(t){return t.dragHandle?"ew-resize":t.calcdata.scrollbarState.barWiggleRoom?"ns-resize":"default"}));var L=C.filter(M),I=C.filter(k);r&&I.call(i.behavior.drag().origin((function(t){return i.event.stopPropagation(),t})).on("drag",E(t,p,-1)).on("dragend",(function(){}))),x(t,p,L,C),x(t,p,I,C);var P=p.selectAll("."+n.cn.scrollAreaClip).data(a.repeat,a.keyFun);P.enter().append("clipPath").classed(n.cn.scrollAreaClip,!0).attr("id",(function(e){return g(t,e)}));var z=P.selectAll("."+n.cn.scrollAreaClipRect).data(a.repeat,a.keyFun);z.enter().append("rect").classed(n.cn.scrollAreaClipRect,!0).attr("x",-n.overdrag).attr("y",-n.uplift).attr("fill","none"),z.attr("width",(function(t){return t.width+2*n.overdrag})).attr("height",(function(t){return t.height+n.uplift})),A.selectAll("."+n.cn.columnBoundary).data(a.repeat,a.keyFun).enter().append("g").classed(n.cn.columnBoundary,!0);var O=A.selectAll("."+n.cn.columnBoundaryClippath).data(a.repeat,a.keyFun);O.enter().append("clipPath").classed(n.cn.columnBoundaryClippath,!0),O.attr("id",(function(e){return m(t,e)}));var D=O.selectAll("."+n.cn.columnBoundaryRect).data(a.repeat,a.keyFun);D.enter().append("rect").classed(n.cn.columnBoundaryRect,!0).attr("fill","none"),D.attr("width",(function(t){return t.columnWidth+2*d(t)})).attr("height",(function(t){return t.calcdata.height+2*d(t)+n.uplift})).attr("x",(function(t){return-d(t)})).attr("y",(function(t){return-d(t)})),S(null,I,p)}},{"../../components/color":643,"../../components/drawing":665,"../../lib":778,"../../lib/gup":775,"../../lib/svg_text_utils":803,"./constants":1319,"./data_preparation_helper":1320,"./data_split_helpers":1321,d3:169}],1325:[function(t,e,r){"use strict";var n=t("../../plots/template_attributes").hovertemplateAttrs,i=t("../../plots/template_attributes").texttemplateAttrs,a=t("../../components/colorscale/attributes"),o=t("../../plots/domain").attributes,s=t("../pie/attributes"),l=t("../sunburst/attributes"),c=t("./constants"),u=t("../../lib/extend").extendFlat;e.exports={labels:l.labels,parents:l.parents,values:l.values,branchvalues:l.branchvalues,count:l.count,level:l.level,maxdepth:l.maxdepth,tiling:{packing:{valType:"enumerated",values:["squarify","binary","dice","slice","slice-dice","dice-slice"],dflt:"squarify",editType:"plot"},squarifyratio:{valType:"number",min:1,dflt:1,editType:"plot"},flip:{valType:"flaglist",flags:["x","y"],dflt:"",editType:"plot"},pad:{valType:"number",min:0,dflt:3,editType:"plot"},editType:"calc"},marker:u({pad:{t:{valType:"number",min:0,editType:"plot"},l:{valType:"number",min:0,editType:"plot"},r:{valType:"number",min:0,editType:"plot"},b:{valType:"number",min:0,editType:"plot"},editType:"calc"},colors:l.marker.colors,depthfade:{valType:"enumerated",values:[!0,!1,"reversed"],editType:"style"},line:l.marker.line,editType:"calc"},a("marker",{colorAttr:"colors",anim:!1})),pathbar:{visible:{valType:"boolean",dflt:!0,editType:"plot"},side:{valType:"enumerated",values:["top","bottom"],dflt:"top",editType:"plot"},edgeshape:{valType:"enumerated",values:[">","<","|","/","\\"],dflt:">",editType:"plot"},thickness:{valType:"number",min:12,editType:"plot"},textfont:u({},s.textfont,{}),editType:"calc"},text:s.text,textinfo:l.textinfo,texttemplate:i({editType:"plot"},{keys:c.eventDataKeys.concat(["label","value"])}),hovertext:s.hovertext,hoverinfo:l.hoverinfo,hovertemplate:n({},{keys:c.eventDataKeys}),textfont:s.textfont,insidetextfont:s.insidetextfont,outsidetextfont:u({},s.outsidetextfont,{}),textposition:{valType:"enumerated",values:["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"],dflt:"top left",editType:"plot"},sort:s.sort,root:l.root,domain:o({name:"treemap",trace:!0,editType:"calc"})}},{"../../components/colorscale/attributes":650,"../../lib/extend":768,"../../plots/domain":855,"../../plots/template_attributes":906,"../pie/attributes":1161,"../sunburst/attributes":1299,"./constants":1328}],1326:[function(t,e,r){"use strict";var n=t("../../plots/plots");r.name="treemap",r.plot=function(t,e,i,a){n.plotBasePlot(r.name,t,e,i,a)},r.clean=function(t,e,i,a){n.cleanBasePlot(r.name,t,e,i,a)}},{"../../plots/plots":891}],1327:[function(t,e,r){"use strict";var n=t("../sunburst/calc");r.calc=function(t,e){return n.calc(t,e)},r.crossTraceCalc=function(t){return n._runCrossTraceCalc("treemap",t)}},{"../sunburst/calc":1301}],1328:[function(t,e,r){"use strict";e.exports={CLICK_TRANSITION_TIME:750,CLICK_TRANSITION_EASING:"poly",eventDataKeys:["currentPath","root","entry","percentRoot","percentEntry","percentParent"],gapWithPathbar:1}},{}],1329:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./attributes"),a=t("../../components/color"),o=t("../../plots/domain").defaults,s=t("../bar/defaults").handleText,l=t("../bar/constants").TEXTPAD,c=t("../../components/colorscale"),u=c.hasColorscale,f=c.handleDefaults;e.exports=function(t,e,r,c){function h(r,a){return n.coerce(t,e,i,r,a)}var p=h("labels"),d=h("parents");if(p&&p.length&&d&&d.length){var g=h("values");g&&g.length?h("branchvalues"):h("count"),h("level"),h("maxdepth"),"squarify"===h("tiling.packing")&&h("tiling.squarifyratio"),h("tiling.flip"),h("tiling.pad");var m=h("text");h("texttemplate"),e.texttemplate||h("textinfo",Array.isArray(m)?"text+label":"label"),h("hovertext"),h("hovertemplate");var v=h("pathbar.visible");s(t,e,c,h,"auto",{hasPathbar:v,moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),h("textposition");var y=-1!==e.textposition.indexOf("bottom");h("marker.line.width")&&h("marker.line.color",c.paper_bgcolor);var x=h("marker.colors"),b=e._hasColorscale=u(t,"marker","colors")||(t.marker||{}).coloraxis;b?f(t,e,c,h,{prefix:"marker.",cLetter:"c"}):h("marker.depthfade",!(x||[]).length);var _=2*e.textfont.size;h("marker.pad.t",y?_/4:_),h("marker.pad.l",_/4),h("marker.pad.r",_/4),h("marker.pad.b",y?_:_/4),b&&f(t,e,c,h,{prefix:"marker.",cLetter:"c"}),e._hovered={marker:{line:{width:2,color:a.contrast(c.paper_bgcolor)}}},v&&(h("pathbar.thickness",e.pathbar.textfont.size+2*l),h("pathbar.side"),h("pathbar.edgeshape")),h("sort"),h("root.color"),o(e,c,h),e._length=null}else e.visible=!1}},{"../../components/color":643,"../../components/colorscale":655,"../../lib":778,"../../plots/domain":855,"../bar/constants":923,"../bar/defaults":925,"./attributes":1325}],1330:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../lib"),a=t("../../components/drawing"),o=t("../../lib/svg_text_utils"),s=t("./partition"),l=t("./style").styleOne,c=t("./constants"),u=t("../sunburst/helpers"),f=t("../sunburst/fx");e.exports=function(t,e,r,h,p){var d=p.barDifY,g=p.width,m=p.height,v=p.viewX,y=p.viewY,x=p.pathSlice,b=p.toMoveInsideSlice,_=p.strTransform,w=p.hasTransition,T=p.handleSlicesExit,k=p.makeUpdateSliceInterpolator,M=p.makeUpdateTextInterpolator,A={},S=t._fullLayout,E=e[0],C=E.trace,L=E.hierarchy,I=g/C._entryDepth,P=u.listPath(r.data,"id"),z=s(L.copy(),[g,m],{packing:"dice",pad:{inner:0,top:0,left:0,right:0,bottom:0}}).descendants();(z=z.filter((function(t){var e=P.indexOf(t.data.id);return-1!==e&&(t.x0=I*e,t.x1=I*(e+1),t.y0=d,t.y1=d+m,t.onPathbar=!0,!0)}))).reverse(),(h=h.data(z,u.getPtId)).enter().append("g").classed("pathbar",!0),T(h,!0,A,[g,m],x),h.order();var O=h;w&&(O=O.transition().each("end",(function(){var e=n.select(this);u.setSliceCursor(e,t,{hideOnRoot:!1,hideOnLeaves:!1,isTransitioning:!1})}))),O.each((function(s){s._hoverX=v(s.x1-Math.min(g,m)/2),s._hoverY=y(s.y1-m/2);var h=n.select(this),p=i.ensureSingle(h,"path","surface",(function(t){t.style("pointer-events","all")}));w?p.transition().attrTween("d",(function(t){var e=k(t,!0,A,[g,m]);return function(t){return x(e(t))}})):p.attr("d",x),h.call(f,r,t,e,{styleOne:l,eventDataKeys:c.eventDataKeys,transitionTime:c.CLICK_TRANSITION_TIME,transitionEasing:c.CLICK_TRANSITION_EASING}).call(u.setSliceCursor,t,{hideOnRoot:!1,hideOnLeaves:!1,isTransitioning:t._transitioning}),p.call(l,s,C,{hovered:!1}),s._text=(u.getPtLabel(s)||"").split("<br>").join(" ")||"";var d=i.ensureSingle(h,"g","slicetext"),T=i.ensureSingle(d,"text","",(function(t){t.attr("data-notex",1)})),E=i.ensureUniformFontSize(t,u.determineTextFont(C,s,S.font,{onPathbar:!0}));T.text(s._text||" ").classed("slicetext",!0).attr("text-anchor","start").call(a.font,E).call(o.convertToTspans,t),s.textBB=a.bBox(T.node()),s.transform=b(s,{fontSize:E.size,onPathbar:!0}),s.transform.fontSize=E.size,w?T.transition().attrTween("transform",(function(t){var e=M(t,!0,A,[g,m]);return function(t){return _(e(t))}})):T.attr("transform",_(s))}))}},{"../../components/drawing":665,"../../lib":778,"../../lib/svg_text_utils":803,"../sunburst/fx":1304,"../sunburst/helpers":1305,"./constants":1328,"./partition":1335,"./style":1337,d3:169}],1331:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../lib"),a=t("../../components/drawing"),o=t("../../lib/svg_text_utils"),s=t("./partition"),l=t("./style").styleOne,c=t("./constants"),u=t("../sunburst/helpers"),f=t("../sunburst/fx"),h=t("../sunburst/plot").formatSliceLabel;e.exports=function(t,e,r,p,d){var g=d.width,m=d.height,v=d.viewX,y=d.viewY,x=d.pathSlice,b=d.toMoveInsideSlice,_=d.strTransform,w=d.hasTransition,T=d.handleSlicesExit,k=d.makeUpdateSliceInterpolator,M=d.makeUpdateTextInterpolator,A=d.prevEntry,S=t._fullLayout,E=e[0].trace,C=-1!==E.textposition.indexOf("left"),L=-1!==E.textposition.indexOf("right"),I=-1!==E.textposition.indexOf("bottom"),P=!I&&!E.marker.pad.t||I&&!E.marker.pad.b,z=s(r,[g,m],{packing:E.tiling.packing,squarifyratio:E.tiling.squarifyratio,flipX:E.tiling.flip.indexOf("x")>-1,flipY:E.tiling.flip.indexOf("y")>-1,pad:{inner:E.tiling.pad,top:E.marker.pad.t,left:E.marker.pad.l,right:E.marker.pad.r,bottom:E.marker.pad.b}}).descendants(),O=1/0,D=-1/0;z.forEach((function(t){var e=t.depth;e>=E._maxDepth?(t.x0=t.x1=(t.x0+t.x1)/2,t.y0=t.y1=(t.y0+t.y1)/2):(O=Math.min(O,e),D=Math.max(D,e))})),p=p.data(z,u.getPtId),E._maxVisibleLayers=isFinite(D)?D-O+1:0,p.enter().append("g").classed("slice",!0),T(p,!1,{},[g,m],x),p.order();var R=null;if(w&&A){var F=u.getPtId(A);p.each((function(t){null===R&&u.getPtId(t)===F&&(R={x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1})}))}var B=function(){return R||{x0:0,x1:g,y0:0,y1:m}},N=p;return w&&(N=N.transition().each("end",(function(){var e=n.select(this);u.setSliceCursor(e,t,{hideOnRoot:!0,hideOnLeaves:!1,isTransitioning:!1})}))),N.each((function(s){var p=u.isHeader(s,E);s._hoverX=v(s.x1-E.marker.pad.r),s._hoverY=y(I?s.y1-E.marker.pad.b/2:s.y0+E.marker.pad.t/2);var d=n.select(this),T=i.ensureSingle(d,"path","surface",(function(t){t.style("pointer-events","all")}));w?T.transition().attrTween("d",(function(t){var e=k(t,!1,B(),[g,m]);return function(t){return x(e(t))}})):T.attr("d",x),d.call(f,r,t,e,{styleOne:l,eventDataKeys:c.eventDataKeys,transitionTime:c.CLICK_TRANSITION_TIME,transitionEasing:c.CLICK_TRANSITION_EASING}).call(u.setSliceCursor,t,{isTransitioning:t._transitioning}),T.call(l,s,E,{hovered:!1}),s.x0===s.x1||s.y0===s.y1?s._text="":s._text=p?P?"":u.getPtLabel(s)||"":h(s,r,E,e,S)||"";var A=i.ensureSingle(d,"g","slicetext"),z=i.ensureSingle(A,"text","",(function(t){t.attr("data-notex",1)})),O=i.ensureUniformFontSize(t,u.determineTextFont(E,s,S.font));z.text(s._text||" ").classed("slicetext",!0).attr("text-anchor",L?"end":C||p?"start":"middle").call(a.font,O).call(o.convertToTspans,t),s.textBB=a.bBox(z.node()),s.transform=b(s,{fontSize:O.size,isHeader:p}),s.transform.fontSize=O.size,w?z.transition().attrTween("transform",(function(t){var e=M(t,!1,B(),[g,m]);return function(t){return _(e(t))}})):z.attr("transform",_(s))})),R}},{"../../components/drawing":665,"../../lib":778,"../../lib/svg_text_utils":803,"../sunburst/fx":1304,"../sunburst/helpers":1305,"../sunburst/plot":1309,"./constants":1328,"./partition":1335,"./style":1337,d3:169}],1332:[function(t,e,r){"use strict";e.exports={moduleType:"trace",name:"treemap",basePlotModule:t("./base_plot"),categories:[],animatable:!0,attributes:t("./attributes"),layoutAttributes:t("./layout_attributes"),supplyDefaults:t("./defaults"),supplyLayoutDefaults:t("./layout_defaults"),calc:t("./calc").calc,crossTraceCalc:t("./calc").crossTraceCalc,plot:t("./plot"),style:t("./style").style,colorbar:t("../scatter/marker_colorbar"),meta:{}}},{"../scatter/marker_colorbar":1205,"./attributes":1325,"./base_plot":1326,"./calc":1327,"./defaults":1329,"./layout_attributes":1333,"./layout_defaults":1334,"./plot":1336,"./style":1337}],1333:[function(t,e,r){"use strict";e.exports={treemapcolorway:{valType:"colorlist",editType:"calc"},extendtreemapcolors:{valType:"boolean",dflt:!0,editType:"calc"}}},{}],1334:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./layout_attributes");e.exports=function(t,e){function r(r,a){return n.coerce(t,e,i,r,a)}r("treemapcolorway",e.colorway),r("extendtreemapcolors")}},{"../../lib":778,"./layout_attributes":1333}],1335:[function(t,e,r){"use strict";var n=t("d3-hierarchy");e.exports=function(t,e,r){var i,a=r.flipX,o=r.flipY,s="dice-slice"===r.packing,l=r.pad[o?"bottom":"top"],c=r.pad[a?"right":"left"],u=r.pad[a?"left":"right"],f=r.pad[o?"top":"bottom"];s&&(i=c,c=l,l=i,i=u,u=f,f=i);var h=n.treemap().tile(function(t,e){switch(t){case"squarify":return n.treemapSquarify.ratio(e);case"binary":return n.treemapBinary;case"dice":return n.treemapDice;case"slice":return n.treemapSlice;default:return n.treemapSliceDice}}(r.packing,r.squarifyratio)).paddingInner(r.pad.inner).paddingLeft(c).paddingRight(u).paddingTop(l).paddingBottom(f).size(s?[e[1],e[0]]:e)(t);return(s||a||o)&&function t(e,r,n){var i;n.swapXY&&(i=e.x0,e.x0=e.y0,e.y0=i,i=e.x1,e.x1=e.y1,e.y1=i);n.flipX&&(i=e.x0,e.x0=r[0]-e.x1,e.x1=r[0]-i);n.flipY&&(i=e.y0,e.y0=r[1]-e.y1,e.y1=r[1]-i);var a=e.children;if(a)for(var o=0;o<a.length;o++)t(a[o],r,n)}(h,e,{swapXY:s,flipX:a,flipY:o}),h}},{"d3-hierarchy":161}],1336:[function(t,e,r){"use strict";var n=t("d3"),i=t("../sunburst/helpers"),a=t("../../lib"),o=t("../bar/constants").TEXTPAD,s=t("../bar/plot").toMoveInsideBar,l=t("../bar/uniform_text"),c=l.recordMinTextSize,u=l.clearMinTextSize,f=t("../bar/style").resizeText,h=t("./constants"),p=t("./draw_descendants"),d=t("./draw_ancestors");function g(t){return i.isHierarchyRoot(t)?"":i.getPtId(t)}function m(t,e,r,l){var u=t._fullLayout,f=e[0],m=f.trace,v=f.hierarchy,y=i.findEntryWithLevel(v,m.level),x=n.select(r),b=x.selectAll("g.pathbar"),_=x.selectAll("g.slice");if(!y)return b.remove(),void _.remove();var w=i.isHierarchyRoot(y),T=!u.uniformtext.mode&&i.hasTransition(l),k=i.getMaxDepth(m),M=u._size,A=m.domain,S=M.w*(A.x[1]-A.x[0]),E=M.h*(A.y[1]-A.y[0]),C=S,L=m.pathbar.thickness,I=m.marker.line.width+h.gapWithPathbar,P=m.pathbar.visible?m.pathbar.side.indexOf("bottom")>-1?E+I:-(L+I):0,z={x0:C,x1:C,y0:P,y1:P+L},O=function(t,e,r){var n=m.tiling.pad,i=function(t){return t-n<=e.x0},a=function(t){return t+n>=e.x1},o=function(t){return t-n<=e.y0},s=function(t){return t+n>=e.y1};return{x0:i(t.x0-n)?0:a(t.x0-n)?r[0]:t.x0,x1:i(t.x1+n)?0:a(t.x1+n)?r[0]:t.x1,y0:o(t.y0-n)?0:s(t.y0-n)?r[1]:t.y0,y1:o(t.y1+n)?0:s(t.y1+n)?r[1]:t.y1}},D=null,R={},F={},B=null,N=function(t,e){return e?R[g(t)]:F[g(t)]},j=function(t,e,r,n){if(e)return R[g(v)]||z;var i=F[m.level]||r;return function(t){return t.data.depth-y.data.depth<k}(t)?O(t,i,n):{}};f.hasMultipleRoots&&w&&k++,m._maxDepth=k,m._backgroundColor=u.paper_bgcolor,m._entryDepth=y.data.depth,m._atRootLevel=w;var U=-S/2+M.l+M.w*(A.x[1]+A.x[0])/2,V=-E/2+M.t+M.h*(1-(A.y[1]+A.y[0])/2),q=function(t){return U+t},H=function(t){return V+t},G=H(0),Y=q(0),W=function(t){return Y+t},X=function(t){return G+t};function Z(t,e){return t+","+e}var J=W(0),K=function(t){t.x=Math.max(J,t.x)},Q=m.pathbar.edgeshape,$=function(t,e){var r=t.x0,n=t.x1,i=t.y0,a=t.y1,l=t.textBB,f=function(t){return-1!==m.textposition.indexOf(t)},h=f("bottom"),p=f("top")||e.isHeader&&!h?"start":h?"end":"middle",d=f("right"),g=f("left")||e.onPathbar?-1:d?1:0,v=m.marker.pad;if(e.isHeader){if((r+=v.l-o)>=(n-=v.r-o)){var y=(r+n)/2;r=y,n=y}var x;h?i<(x=a-v.b)&&x<a&&(i=x):i<(x=i+v.t)&&x<a&&(a=x)}var b=s(r,n,i,a,l,{isHorizontal:!1,constrained:!0,angle:0,anchor:p,leftToRight:g});return b.fontSize=e.fontSize,b.targetX=q(b.targetX),b.targetY=H(b.targetY),isNaN(b.targetX)||isNaN(b.targetY)?{}:(r!==n&&i!==a&&c(m.type,b,u),{scale:b.scale,rotate:b.rotate,textX:b.textX,textY:b.textY,anchorX:b.anchorX,anchorY:b.anchorY,targetX:b.targetX,targetY:b.targetY})},tt=function(t,e){for(var r,n=0,i=t;!r&&n<k;)n++,(i=i.parent)?r=N(i,e):n=k;return r||{}},et=function(t,e,r,i){var o,s=N(t,e);if(s)o=s;else if(e)o=z;else if(D)if(t.parent){var l=B||r;l&&!e?o=O(t,l,i):(o={},a.extendFlat(o,tt(t,e)))}else o=t;else o={};return n.interpolate(o,{x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1})},rt=function(t,e,r,o){var s=N(t,e),l={},f=j(t,e,r,o);a.extendFlat(l,{transform:$({x0:f.x0,x1:f.x1,y0:f.y0,y1:f.y1,textBB:t.textBB,_text:t._text},{isHeader:i.isHeader(t,m)})}),s?l=s:t.parent&&a.extendFlat(l,tt(t,e));var h=t.transform;return t.x0!==t.x1&&t.y0!==t.y1&&c(m.type,h,u),n.interpolate(l,{transform:{scale:h.scale,rotate:h.rotate,textX:h.textX,textY:h.textY,anchorX:h.anchorX,anchorY:h.anchorY,targetX:h.targetX,targetY:h.targetY}})},nt=function(t,e,r,i,a){var o=i[0],s=i[1];T?t.exit().transition().each((function(){var t=n.select(this);t.select("path.surface").transition().attrTween("d",(function(t){var r=function(t,e,r,i){var a,o=N(t,e);if(e)a=z;else{var s=N(y,e);a=s?O(t,s,i):{}}return n.interpolate(o,a)}(t,e,0,[o,s]);return function(t){return a(r(t))}})),t.select("g.slicetext").attr("opacity",0)})).remove():t.exit().remove()},it=function(t){var e=t.transform;return t.x0!==t.x1&&t.y0!==t.y1&&c(m.type,e,u),a.getTextTransform({textX:e.textX,textY:e.textY,anchorX:e.anchorX,anchorY:e.anchorY,targetX:e.targetX,targetY:e.targetY,scale:e.scale,rotate:e.rotate})};T&&(b.each((function(t){R[g(t)]={x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1},t.transform&&(R[g(t)].transform={textX:t.transform.textX,textY:t.transform.textY,anchorX:t.transform.anchorX,anchorY:t.transform.anchorY,targetX:t.transform.targetX,targetY:t.transform.targetY,scale:t.transform.scale,rotate:t.transform.rotate})})),_.each((function(t){F[g(t)]={x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1},t.transform&&(F[g(t)].transform={textX:t.transform.textX,textY:t.transform.textY,anchorX:t.transform.anchorX,anchorY:t.transform.anchorY,targetX:t.transform.targetX,targetY:t.transform.targetY,scale:t.transform.scale,rotate:t.transform.rotate}),!D&&i.isEntry(t)&&(D=t)}))),B=p(t,e,y,_,{width:S,height:E,viewX:q,viewY:H,pathSlice:function(t){var e=q(t.x0),r=q(t.x1),n=H(t.y0),i=H(t.y1),a=r-e,o=i-n;if(!a||!o)return"";return"M"+Z(e,n+0)+"L"+Z(r-0,n)+"L"+Z(r,i-0)+"L"+Z(e+0,i)+"Z"},toMoveInsideSlice:$,prevEntry:D,makeUpdateSliceInterpolator:et,makeUpdateTextInterpolator:rt,handleSlicesExit:nt,hasTransition:T,strTransform:it}),m.pathbar.visible?d(t,e,y,b,{barDifY:P,width:C,height:L,viewX:W,viewY:X,pathSlice:function(t){var e=W(Math.max(Math.min(t.x0,t.x0),0)),r=W(Math.min(Math.max(t.x1,t.x1),C)),n=X(t.y0),i=X(t.y1),a=L/2,o={},s={};o.x=e,s.x=r,o.y=s.y=(n+i)/2;var l={x:e,y:n},c={x:r,y:n},u={x:r,y:i},f={x:e,y:i};return">"===Q?(l.x-=a,c.x-=a,u.x-=a,f.x-=a):"/"===Q?(u.x-=a,f.x-=a,o.x-=a/2,s.x-=a/2):"\\"===Q?(l.x-=a,c.x-=a,o.x-=a/2,s.x-=a/2):"<"===Q&&(o.x-=a,s.x-=a),K(l),K(f),K(o),K(c),K(u),K(s),"M"+Z(l.x,l.y)+"L"+Z(c.x,c.y)+"L"+Z(s.x,s.y)+"L"+Z(u.x,u.y)+"L"+Z(f.x,f.y)+"L"+Z(o.x,o.y)+"Z"},toMoveInsideSlice:$,makeUpdateSliceInterpolator:et,makeUpdateTextInterpolator:rt,handleSlicesExit:nt,hasTransition:T,strTransform:it}):b.remove()}e.exports=function(t,e,r,a){var o,s,l=t._fullLayout,c=l._treemaplayer,h=!r;(u("treemap",l),(o=c.selectAll("g.trace.treemap").data(e,(function(t){return t[0].trace.uid}))).enter().append("g").classed("trace",!0).classed("treemap",!0),o.order(),!l.uniformtext.mode&&i.hasTransition(r))?(a&&(s=a()),n.transition().duration(r.duration).ease(r.easing).each("end",(function(){s&&s()})).each("interrupt",(function(){s&&s()})).each((function(){c.selectAll("g.trace").each((function(e){m(t,e,this,r)}))}))):(o.each((function(e){m(t,e,this,r)})),l.uniformtext.mode&&f(t,l._treemaplayer.selectAll(".trace"),"treemap"));h&&o.exit().remove()}},{"../../lib":778,"../bar/constants":923,"../bar/plot":932,"../bar/style":935,"../bar/uniform_text":937,"../sunburst/helpers":1305,"./constants":1328,"./draw_ancestors":1330,"./draw_descendants":1331,d3:169}],1337:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../components/color"),a=t("../../lib"),o=t("../sunburst/helpers"),s=t("../bar/uniform_text").resizeText;function l(t,e,r,n){var s,l,c=(n||{}).hovered,u=e.data.data,f=u.i,h=u.color,p=o.isHierarchyRoot(e),d=1;if(c)s=r._hovered.marker.line.color,l=r._hovered.marker.line.width;else if(p&&h===r.root.color)d=100,s="rgba(0,0,0,0)",l=0;else if(s=a.castOption(r,f,"marker.line.color")||i.defaultLine,l=a.castOption(r,f,"marker.line.width")||0,!r._hasColorscale&&!e.onPathbar){var g=r.marker.depthfade;if(g){var m,v=i.combine(i.addOpacity(r._backgroundColor,.75),h);if(!0===g){var y=o.getMaxDepth(r);m=isFinite(y)?o.isLeaf(e)?0:r._maxVisibleLayers-(e.data.depth-r._entryDepth):e.data.height+1}else m=e.data.depth-r._entryDepth,r._atRootLevel||m++;if(m>0)for(var x=0;x<m;x++){var b=.5*x/m;h=i.combine(i.addOpacity(v,b),h)}}}t.style("stroke-width",l).call(i.fill,h).call(i.stroke,s).style("opacity",d)}e.exports={style:function(t){var e=t._fullLayout._treemaplayer.selectAll(".trace");s(t,e,"treemap"),e.each((function(t){var e=n.select(this),r=t[0].trace;e.style("opacity",r.opacity),e.selectAll("path.surface").each((function(t){n.select(this).call(l,t,r,{hovered:!1})}))}))},styleOne:l}},{"../../components/color":643,"../../lib":778,"../bar/uniform_text":937,"../sunburst/helpers":1305,d3:169}],1338:[function(t,e,r){"use strict";var n=t("../box/attributes"),i=t("../../lib/extend").extendFlat;e.exports={y:n.y,x:n.x,x0:n.x0,y0:n.y0,name:i({},n.name,{}),orientation:i({},n.orientation,{}),bandwidth:{valType:"number",min:0,editType:"calc"},scalegroup:{valType:"string",dflt:"",editType:"calc"},scalemode:{valType:"enumerated",values:["width","count"],dflt:"width",editType:"calc"},spanmode:{valType:"enumerated",values:["soft","hard","manual"],dflt:"soft",editType:"calc"},span:{valType:"info_array",items:[{valType:"any",editType:"calc"},{valType:"any",editType:"calc"}],editType:"calc"},line:{color:{valType:"color",editType:"style"},width:{valType:"number",min:0,dflt:2,editType:"style"},editType:"plot"},fillcolor:n.fillcolor,points:i({},n.boxpoints,{}),jitter:i({},n.jitter,{}),pointpos:i({},n.pointpos,{}),width:i({},n.width,{}),marker:n.marker,text:n.text,hovertext:n.hovertext,hovertemplate:n.hovertemplate,box:{visible:{valType:"boolean",dflt:!1,editType:"plot"},width:{valType:"number",min:0,max:1,dflt:.25,editType:"plot"},fillcolor:{valType:"color",editType:"style"},line:{color:{valType:"color",editType:"style"},width:{valType:"number",min:0,editType:"style"},editType:"style"},editType:"plot"},meanline:{visible:{valType:"boolean",dflt:!1,editType:"plot"},color:{valType:"color",editType:"style"},width:{valType:"number",min:0,editType:"style"},editType:"plot"},side:{valType:"enumerated",values:["both","positive","negative"],dflt:"both",editType:"calc"},offsetgroup:n.offsetgroup,alignmentgroup:n.alignmentgroup,selected:n.selected,unselected:n.unselected,hoveron:{valType:"flaglist",flags:["violins","points","kde"],dflt:"violins+points+kde",extras:["all"],editType:"style"}}},{"../../lib/extend":768,"../box/attributes":946}],1339:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../plots/cartesian/axes"),a=t("../box/calc"),o=t("./helpers"),s=t("../../constants/numerical").BADNUM;function l(t,e,r){var i=e.max-e.min;if(!i)return t.bandwidth?t.bandwidth:0;if(t.bandwidth)return Math.max(t.bandwidth,i/1e4);var a=r.length,o=n.stdev(r,a-1,e.mean);return Math.max(function(t,e,r){return 1.059*Math.min(e,r/1.349)*Math.pow(t,-.2)}(a,o,e.q3-e.q1),i/100)}function c(t,e,r,n){var a,o=t.spanmode,l=t.span||[],c=[e.min,e.max],u=[e.min-2*n,e.max+2*n];function f(n){var i=l[n],a="multicategory"===r.type?r.r2c(i):r.d2c(i,0,t[e.valLetter+"calendar"]);return a===s?u[n]:a}var h={type:"linear",range:a="soft"===o?u:"hard"===o?c:[f(0),f(1)]};return i.setConvert(h),h.cleanRange(),a}e.exports=function(t,e){var r=a(t,e);if(r[0].t.empty)return r;for(var s=t._fullLayout,u=i.getFromId(t,e["h"===e.orientation?"xaxis":"yaxis"]),f=1/0,h=-1/0,p=0,d=0,g=0;g<r.length;g++){var m=r[g],v=m.pts.map(o.extractVal),y=m.bandwidth=l(e,m,v),x=m.span=c(e,m,u,y);if(m.min===m.max&&0===y)x=m.span=[m.min,m.max],m.density=[{v:1,t:x[0]}],m.bandwidth=y,p=Math.max(p,1);else{var b=x[1]-x[0],_=Math.ceil(b/(y/3)),w=b/_;if(!isFinite(w)||!isFinite(_))return n.error("Something went wrong with computing the violin span"),r[0].t.empty=!0,r;var T=o.makeKDE(m,e,v);m.density=new Array(_);for(var k=0,M=x[0];M<x[1]+w/2;k++,M+=w){var A=T(M);m.density[k]={v:A,t:M},p=Math.max(p,A)}}d=Math.max(d,v.length),f=Math.min(f,x[0]),h=Math.max(h,x[1])}var S=i.findExtremes(u,[f,h],{padded:!0});if(e._extremes[u._id]=S,e.width)r[0].t.maxKDE=p;else{var E=s._violinScaleGroupStats,C=e.scalegroup,L=E[C];L?(L.maxKDE=Math.max(L.maxKDE,p),L.maxCount=Math.max(L.maxCount,d)):E[C]={maxKDE:p,maxCount:d}}return r[0].t.labels.kde=n._(t,"kde:"),r}},{"../../constants/numerical":753,"../../lib":778,"../../plots/cartesian/axes":828,"../box/calc":947,"./helpers":1342}],1340:[function(t,e,r){"use strict";var n=t("../box/cross_trace_calc").setPositionOffset,i=["v","h"];e.exports=function(t,e){for(var r=t.calcdata,a=e.xaxis,o=e.yaxis,s=0;s<i.length;s++){for(var l=i[s],c="h"===l?o:a,u=[],f=0;f<r.length;f++){var h=r[f],p=h[0].t,d=h[0].trace;!0!==d.visible||"violin"!==d.type||p.empty||d.orientation!==l||d.xaxis!==a._id||d.yaxis!==o._id||u.push(f)}n("violin",t,u,c)}}},{"../box/cross_trace_calc":948}],1341:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../components/color"),a=t("../box/defaults"),o=t("./attributes");e.exports=function(t,e,r,s){function l(r,i){return n.coerce(t,e,o,r,i)}function c(r,i){return n.coerce2(t,e,o,r,i)}if(a.handleSampleDefaults(t,e,l,s),!1!==e.visible){l("bandwidth"),l("side"),l("width")||(l("scalegroup",e.name),l("scalemode"));var u,f=l("span");Array.isArray(f)&&(u="manual"),l("spanmode",u);var h=l("line.color",(t.marker||{}).color||r),p=l("line.width"),d=l("fillcolor",i.addOpacity(e.line.color,.5));a.handlePointsDefaults(t,e,l,{prefix:""});var g=c("box.width"),m=c("box.fillcolor",d),v=c("box.line.color",h),y=c("box.line.width",p);l("box.visible",Boolean(g||m||v||y))||(e.box={visible:!1});var x=c("meanline.color",h),b=c("meanline.width",p);l("meanline.visible",Boolean(x||b))||(e.meanline={visible:!1})}}},{"../../components/color":643,"../../lib":778,"../box/defaults":949,"./attributes":1338}],1342:[function(t,e,r){"use strict";var n=t("../../lib"),i=function(t){return 1/Math.sqrt(2*Math.PI)*Math.exp(-.5*t*t)};r.makeKDE=function(t,e,r){var n=r.length,a=i,o=t.bandwidth,s=1/(n*o);return function(t){for(var e=0,i=0;i<n;i++)e+=a((t-r[i])/o);return s*e}},r.getPositionOnKdePath=function(t,e,r){var i,a;"h"===e.orientation?(i="y",a="x"):(i="x",a="y");var o=n.findPointOnPath(t.path,r,a,{pathLength:t.pathLength}),s=t.posCenterPx,l=o[i];return[l,"both"===e.side?2*s-l:s]},r.getKdeValue=function(t,e,n){var i=t.pts.map(r.extractVal);return r.makeKDE(t,e,i)(n)/t.posDensityScale},r.extractVal=function(t){return t.v}},{"../../lib":778}],1343:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../plots/cartesian/axes"),a=t("../box/hover"),o=t("./helpers");e.exports=function(t,e,r,s,l){var c,u,f=t.cd,h=f[0].trace,p=h.hoveron,d=-1!==p.indexOf("violins"),g=-1!==p.indexOf("kde"),m=[];if(d||g){var v=a.hoverOnBoxes(t,e,r,s);if(g&&v.length>0){var y,x,b,_,w,T=t.xa,k=t.ya;"h"===h.orientation?(w=e,y="y",b=k,x="x",_=T):(w=r,y="x",b=T,x="y",_=k);var M=f[t.index];if(w>=M.span[0]&&w<=M.span[1]){var A=n.extendFlat({},t),S=_.c2p(w,!0),E=o.getKdeValue(M,h,w),C=o.getPositionOnKdePath(M,h,S),L=b._offset,I=b._length;A[y+"0"]=C[0],A[y+"1"]=C[1],A[x+"0"]=A[x+"1"]=S,A[x+"Label"]=x+": "+i.hoverLabelText(_,w)+", "+f[0].t.labels.kde+" "+E.toFixed(3),A.spikeDistance=v[0].spikeDistance;var P=y+"Spike";A[P]=v[0][P],v[0].spikeDistance=void 0,v[0][P]=void 0,A.hovertemplate=!1,m.push(A),(u={stroke:t.color})[y+"1"]=n.constrain(L+C[0],L,L+I),u[y+"2"]=n.constrain(L+C[1],L,L+I),u[x+"1"]=u[x+"2"]=_._offset+S}}d&&(m=m.concat(v))}-1!==p.indexOf("points")&&(c=a.hoverOnPoints(t,e,r));var z=l.selectAll(".violinline-"+h.uid).data(u?[0]:[]);return z.enter().append("line").classed("violinline-"+h.uid,!0).attr("stroke-width",1.5),z.exit().remove(),z.attr(u),"closest"===s?c?[c]:m:c?(m.push(c),m):m}},{"../../lib":778,"../../plots/cartesian/axes":828,"../box/hover":951,"./helpers":1342}],1344:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),layoutAttributes:t("./layout_attributes"),supplyDefaults:t("./defaults"),crossTraceDefaults:t("../box/defaults").crossTraceDefaults,supplyLayoutDefaults:t("./layout_defaults"),calc:t("./calc"),crossTraceCalc:t("./cross_trace_calc"),plot:t("./plot"),style:t("./style"),styleOnSelect:t("../scatter/style").styleOnSelect,hoverPoints:t("./hover"),selectPoints:t("../box/select"),moduleType:"trace",name:"violin",basePlotModule:t("../../plots/cartesian"),categories:["cartesian","svg","symbols","oriented","box-violin","showLegend","violinLayout","zoomScale"],meta:{}}},{"../../plots/cartesian":841,"../box/defaults":949,"../box/select":956,"../scatter/style":1211,"./attributes":1338,"./calc":1339,"./cross_trace_calc":1340,"./defaults":1341,"./hover":1343,"./layout_attributes":1345,"./layout_defaults":1346,"./plot":1347,"./style":1348}],1345:[function(t,e,r){"use strict";var n=t("../box/layout_attributes"),i=t("../../lib").extendFlat;e.exports={violinmode:i({},n.boxmode,{}),violingap:i({},n.boxgap,{}),violingroupgap:i({},n.boxgroupgap,{})}},{"../../lib":778,"../box/layout_attributes":953}],1346:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./layout_attributes"),a=t("../box/layout_defaults");e.exports=function(t,e,r){a._supply(t,e,r,(function(r,a){return n.coerce(t,e,i,r,a)}),"violin")}},{"../../lib":778,"../box/layout_defaults":954,"./layout_attributes":1345}],1347:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../lib"),a=t("../../components/drawing"),o=t("../box/plot"),s=t("../scatter/line_points"),l=t("./helpers");e.exports=function(t,e,r,c){var u=t._fullLayout,f=e.xaxis,h=e.yaxis;function p(t){var e=s(t,{xaxis:f,yaxis:h,connectGaps:!0,baseTolerance:.75,shape:"spline",simplify:!0,linearized:!0});return a.smoothopen(e[0],1)}i.makeTraceGroups(c,r,"trace violins").each((function(t){var r=n.select(this),a=t[0],s=a.t,c=a.trace;if(!0!==c.visible||s.empty)r.remove();else{var d=s.bPos,g=s.bdPos,m=e[s.valLetter+"axis"],v=e[s.posLetter+"axis"],y="both"===c.side,x=y||"positive"===c.side,b=y||"negative"===c.side,_=r.selectAll("path.violin").data(i.identity);_.enter().append("path").style("vector-effect","non-scaling-stroke").attr("class","violin"),_.exit().remove(),_.each((function(t){var e,r,i,a,o,l,f,h,_=n.select(this),w=t.density,T=w.length,k=v.c2l(t.pos+d,!0),M=v.l2p(k);if(c.width)e=s.maxKDE/g;else{var A=u._violinScaleGroupStats[c.scalegroup];e="count"===c.scalemode?A.maxKDE/g*(A.maxCount/t.pts.length):A.maxKDE/g}if(x){for(f=new Array(T),o=0;o<T;o++)(h=f[o]={})[s.posLetter]=k+w[o].v/e,h[s.valLetter]=m.c2l(w[o].t,!0);r=p(f)}if(b){for(f=new Array(T),l=0,o=T-1;l<T;l++,o--)(h=f[l]={})[s.posLetter]=k-w[o].v/e,h[s.valLetter]=m.c2l(w[o].t,!0);i=p(f)}if(y)a=r+"L"+i.substr(1)+"Z";else{var S=[M,m.c2p(w[0].t)],E=[M,m.c2p(w[T-1].t)];"h"===c.orientation&&(S.reverse(),E.reverse()),a=x?"M"+S+"L"+r.substr(1)+"L"+E:"M"+E+"L"+i.substr(1)+"L"+S}_.attr("d",a),t.posCenterPx=M,t.posDensityScale=e*g,t.path=_.node(),t.pathLength=t.path.getTotalLength()/(y?2:1)}));var w,T,k,M=c.box,A=M.width,S=(M.line||{}).width;y?(w=g*A,T=0):x?(w=[0,g*A/2],T=S*{x:1,y:-1}[s.posLetter]):(w=[g*A/2,0],T=S*{x:-1,y:1}[s.posLetter]),o.plotBoxAndWhiskers(r,{pos:v,val:m},c,{bPos:d,bdPos:w,bPosPxOffset:T}),o.plotBoxMean(r,{pos:v,val:m},c,{bPos:d,bdPos:w,bPosPxOffset:T}),!c.box.visible&&c.meanline.visible&&(k=i.identity);var E=r.selectAll("path.meanline").data(k||[]);E.enter().append("path").attr("class","meanline").style("fill","none").style("vector-effect","non-scaling-stroke"),E.exit().remove(),E.each((function(t){var e=m.c2p(t.mean,!0),r=l.getPositionOnKdePath(t,c,e);n.select(this).attr("d","h"===c.orientation?"M"+e+","+r[0]+"V"+r[1]:"M"+r[0]+","+e+"H"+r[1])})),o.plotPoints(r,{x:f,y:h},c,s)}}))}},{"../../components/drawing":665,"../../lib":778,"../box/plot":955,"../scatter/line_points":1201,"./helpers":1342,d3:169}],1348:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../components/color"),a=t("../scatter/style").stylePoints;e.exports=function(t){var e=n.select(t).selectAll("g.trace.violins");e.style("opacity",(function(t){return t[0].trace.opacity})),e.each((function(e){var r=e[0].trace,o=n.select(this),s=r.box||{},l=s.line||{},c=r.meanline||{},u=c.width;o.selectAll("path.violin").style("stroke-width",r.line.width+"px").call(i.stroke,r.line.color).call(i.fill,r.fillcolor),o.selectAll("path.box").style("stroke-width",l.width+"px").call(i.stroke,l.color).call(i.fill,s.fillcolor);var f={"stroke-width":u+"px","stroke-dasharray":2*u+"px,"+u+"px"};o.selectAll("path.mean").style(f).call(i.stroke,c.color),o.selectAll("path.meanline").style(f).call(i.stroke,c.color),a(o,r,t)}))}},{"../../components/color":643,"../scatter/style":1211,d3:169}],1349:[function(t,e,r){"use strict";var n=t("../../components/colorscale/attributes"),i=t("../isosurface/attributes"),a=t("../surface/attributes"),o=t("../../plots/attributes"),s=t("../../lib/extend").extendFlat,l=t("../../plot_api/edit_types").overrideAll,c=e.exports=l(s({x:i.x,y:i.y,z:i.z,value:i.value,isomin:i.isomin,isomax:i.isomax,surface:i.surface,spaceframe:{show:{valType:"boolean",dflt:!1},fill:{valType:"number",min:0,max:1,dflt:1}},slices:i.slices,caps:i.caps,text:i.text,hovertext:i.hovertext,hovertemplate:i.hovertemplate},n("",{colorAttr:"`value`",showScaleDflt:!0,editTypeOverride:"calc"}),{colorbar:i.colorbar,opacity:i.opacity,opacityscale:a.opacityscale,lightposition:i.lightposition,lighting:i.lighting,flatshading:i.flatshading,contour:i.contour,hoverinfo:s({},o.hoverinfo),showlegend:s({},o.showlegend,{dflt:!1})}),"calc","nested");c.x.editType=c.y.editType=c.z.editType=c.value.editType="calc+clearAxisTypes",c.transforms=void 0},{"../../components/colorscale/attributes":650,"../../lib/extend":768,"../../plot_api/edit_types":810,"../../plots/attributes":824,"../isosurface/attributes":1123,"../surface/attributes":1311}],1350:[function(t,e,r){"use strict";var n=t("gl-mesh3d"),i=t("../../lib/gl_format_color").parseColorScale,a=t("../../lib/str2rgbarray"),o=t("../../components/colorscale").extractOpts,s=t("../../plots/gl3d/zip3"),l=t("../isosurface/convert").findNearestOnAxis,c=t("../isosurface/convert").generateIsoMeshes;function u(t,e,r){this.scene=t,this.uid=r,this.mesh=e,this.name="",this.data=null,this.showContour=!1}var f=u.prototype;f.handlePick=function(t){if(t.object===this.mesh){var e=t.data.index,r=this.data._meshX[e],n=this.data._meshY[e],i=this.data._meshZ[e],a=this.data._Ys.length,o=this.data._Zs.length,s=l(r,this.data._Xs).id,c=l(n,this.data._Ys).id,u=l(i,this.data._Zs).id,f=t.index=u+o*c+o*a*s;t.traceCoordinate=[this.data._meshX[f],this.data._meshY[f],this.data._meshZ[f],this.data._value[f]];var h=this.data.hovertext||this.data.text;return Array.isArray(h)&&void 0!==h[f]?t.textLabel=h[f]:h&&(t.textLabel=h),!0}},f.update=function(t){var e=this.scene,r=e.fullSceneLayout;function n(t,e,r,n){return e.map((function(e){return t.d2l(e,0,n)*r}))}this.data=c(t);var l={positions:s(n(r.xaxis,t._meshX,e.dataScale[0],t.xcalendar),n(r.yaxis,t._meshY,e.dataScale[1],t.ycalendar),n(r.zaxis,t._meshZ,e.dataScale[2],t.zcalendar)),cells:s(t._meshI,t._meshJ,t._meshK),lightPosition:[t.lightposition.x,t.lightposition.y,t.lightposition.z],ambient:t.lighting.ambient,diffuse:t.lighting.diffuse,specular:t.lighting.specular,roughness:t.lighting.roughness,fresnel:t.lighting.fresnel,vertexNormalsEpsilon:t.lighting.vertexnormalsepsilon,faceNormalsEpsilon:t.lighting.facenormalsepsilon,opacity:t.opacity,opacityscale:t.opacityscale,contourEnable:t.contour.show,contourColor:a(t.contour.color).slice(0,3),contourWidth:t.contour.width,useFacetNormals:t.flatshading},u=o(t);l.vertexIntensity=t._meshIntensity,l.vertexIntensityBounds=[u.min,u.max],l.colormap=i(t),this.mesh.update(l)},f.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()},e.exports=function(t,e){var r=t.glplot.gl,i=n({gl:r}),a=new u(t,i,e.uid);return i._trace=a,a.update(e),t.glplot.add(i),a}},{"../../components/colorscale":655,"../../lib/gl_format_color":774,"../../lib/str2rgbarray":802,"../../plots/gl3d/zip3":881,"../isosurface/convert":1125,"gl-mesh3d":309}],1351:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./attributes"),a=t("../isosurface/defaults").supplyIsoDefaults,o=t("../surface/defaults").opacityscaleDefaults;e.exports=function(t,e,r,s){function l(r,a){return n.coerce(t,e,i,r,a)}a(t,e,r,s,l),o(t,e,s,l)}},{"../../lib":778,"../isosurface/defaults":1126,"../surface/defaults":1314,"./attributes":1349}],1352:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),calc:t("../isosurface/calc"),colorbar:{min:"cmin",max:"cmax"},plot:t("./convert"),moduleType:"trace",name:"volume",basePlotModule:t("../../plots/gl3d"),categories:["gl3d","showLegend"],meta:{}}},{"../../plots/gl3d":870,"../isosurface/calc":1124,"./attributes":1349,"./convert":1350,"./defaults":1351}],1353:[function(t,e,r){"use strict";var n=t("../bar/attributes"),i=t("../scatter/attributes").line,a=t("../../plots/attributes"),o=t("../../plots/template_attributes").hovertemplateAttrs,s=t("../../plots/template_attributes").texttemplateAttrs,l=t("./constants"),c=t("../../lib/extend").extendFlat,u=t("../../components/color");function f(t){return{marker:{color:c({},n.marker.color,{arrayOk:!1,editType:"style"}),line:{color:c({},n.marker.line.color,{arrayOk:!1,editType:"style"}),width:c({},n.marker.line.width,{arrayOk:!1,editType:"style"}),editType:"style"},editType:"style"},editType:"style"}}e.exports={measure:{valType:"data_array",dflt:[],editType:"calc"},base:{valType:"number",dflt:null,arrayOk:!1,editType:"calc"},x:n.x,x0:n.x0,dx:n.dx,y:n.y,y0:n.y0,dy:n.dy,xperiod:n.xperiod,yperiod:n.yperiod,xperiod0:n.xperiod0,yperiod0:n.yperiod0,xperiodalignment:n.xperiodalignment,yperiodalignment:n.yperiodalignment,hovertext:n.hovertext,hovertemplate:o({},{keys:l.eventDataKeys}),hoverinfo:c({},a.hoverinfo,{flags:["name","x","y","text","initial","delta","final"]}),textinfo:{valType:"flaglist",flags:["label","text","initial","delta","final"],extras:["none"],editType:"plot",arrayOk:!1},texttemplate:s({editType:"plot"},{keys:l.eventDataKeys.concat(["label"])}),text:n.text,textposition:n.textposition,insidetextanchor:n.insidetextanchor,textangle:n.textangle,textfont:n.textfont,insidetextfont:n.insidetextfont,outsidetextfont:n.outsidetextfont,constraintext:n.constraintext,cliponaxis:n.cliponaxis,orientation:n.orientation,offset:n.offset,width:n.width,increasing:f(),decreasing:f(),totals:f(),connector:{line:{color:c({},i.color,{dflt:u.defaultLine}),width:c({},i.width,{editType:"plot"}),dash:i.dash,editType:"plot"},mode:{valType:"enumerated",values:["spanning","between"],dflt:"between",editType:"plot"},visible:{valType:"boolean",dflt:!0,editType:"plot"},editType:"plot"},offsetgroup:n.offsetgroup,alignmentgroup:n.alignmentgroup}},{"../../components/color":643,"../../lib/extend":768,"../../plots/attributes":824,"../../plots/template_attributes":906,"../bar/attributes":921,"../scatter/attributes":1187,"./constants":1355}],1354:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes"),i=t("../../plots/cartesian/align_period"),a=t("../../lib").mergeArray,o=t("../scatter/calc_selection"),s=t("../../constants/numerical").BADNUM;function l(t){return"a"===t||"absolute"===t}function c(t){return"t"===t||"total"===t}e.exports=function(t,e){var r,u,f,h,p=n.getFromId(t,e.xaxis||"x"),d=n.getFromId(t,e.yaxis||"y");"h"===e.orientation?(r=p.makeCalcdata(e,"x"),f=d.makeCalcdata(e,"y"),u=i(e,d,"y",f),h=!!e.yperiodalignment):(r=d.makeCalcdata(e,"y"),f=p.makeCalcdata(e,"x"),u=i(e,p,"x",f),h=!!e.xperiodalignment);for(var g,m=Math.min(u.length,r.length),v=new Array(m),y=0,x=!1,b=0;b<m;b++){var _=r[b]||0,w=!1;(r[b]!==s||c(e.measure[b])||l(e.measure[b]))&&b+1<m&&(r[b+1]!==s||c(e.measure[b+1])||l(e.measure[b+1]))&&(w=!0);var T=v[b]={i:b,p:u[b],s:_,rawS:_,cNext:w};l(e.measure[b])?(y=T.s,T.isSum=!0,T.dir="totals",T.s=y):c(e.measure[b])?(T.isSum=!0,T.dir="totals",T.s=y):(T.isSum=!1,T.dir=T.rawS<0?"decreasing":"increasing",g=T.s,T.s=y+g,y+=g),"totals"===T.dir&&(x=!0),h&&(v[b].orig_p=f[b]),e.ids&&(T.id=String(e.ids[b])),T.v=(e.base||0)+y}return v.length&&(v[0].hasTotals=x),a(e.text,v,"tx"),a(e.hovertext,v,"htx"),o(v,e),v}},{"../../constants/numerical":753,"../../lib":778,"../../plots/cartesian/align_period":825,"../../plots/cartesian/axes":828,"../scatter/calc_selection":1189}],1355:[function(t,e,r){"use strict";e.exports={eventDataKeys:["initial","delta","final"]}},{}],1356:[function(t,e,r){"use strict";var n=t("../bar/cross_trace_calc").setGroupPositions;e.exports=function(t,e){var r,i,a=t._fullLayout,o=t._fullData,s=t.calcdata,l=e.xaxis,c=e.yaxis,u=[],f=[],h=[];for(i=0;i<o.length;i++){var p=o[i];!0===p.visible&&p.xaxis===l._id&&p.yaxis===c._id&&"waterfall"===p.type&&(r=s[i],"h"===p.orientation?h.push(r):f.push(r),u.push(r))}var d={mode:a.waterfallmode,norm:a.waterfallnorm,gap:a.waterfallgap,groupgap:a.waterfallgroupgap};for(n(t,l,c,f,d),n(t,c,l,h,d),i=0;i<u.length;i++){r=u[i];for(var g=0;g<r.length;g++){var m=r[g];!1===m.isSum&&(m.s0+=0===g?0:r[g-1].s),g+1<r.length&&(r[g].nextP0=r[g+1].p0,r[g].nextS0=r[g+1].s0)}}}},{"../bar/cross_trace_calc":924}],1357:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../bar/defaults").handleGroupingDefaults,a=t("../bar/defaults").handleText,o=t("../scatter/xy_defaults"),s=t("../scatter/period_defaults"),l=t("./attributes"),c=t("../../components/color"),u=t("../../constants/delta.js"),f=u.INCREASING.COLOR,h=u.DECREASING.COLOR;function p(t,e,r){t(e+".marker.color",r),t(e+".marker.line.color",c.defaultLine),t(e+".marker.line.width")}e.exports={supplyDefaults:function(t,e,r,i){function c(r,i){return n.coerce(t,e,l,r,i)}if(o(t,e,i,c)){s(t,e,i,c),c("measure"),c("orientation",e.x&&!e.y?"h":"v"),c("base"),c("offset"),c("width"),c("text"),c("hovertext"),c("hovertemplate");var u=c("textposition");if(a(t,e,i,c,u,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),"none"!==e.textposition&&(c("texttemplate"),e.texttemplate||c("textinfo")),p(c,"increasing",f),p(c,"decreasing",h),p(c,"totals","#4499FF"),c("connector.visible"))c("connector.mode"),c("connector.line.width")&&(c("connector.line.color"),c("connector.line.dash"))}else e.visible=!1},crossTraceDefaults:function(t,e){var r,a;function o(t){return n.coerce(a._input,a,l,t)}if("group"===e.waterfallmode)for(var s=0;s<t.length;s++)r=(a=t[s])._input,i(r,a,e,o)}}},{"../../components/color":643,"../../constants/delta.js":747,"../../lib":778,"../bar/defaults":925,"../scatter/period_defaults":1207,"../scatter/xy_defaults":1214,"./attributes":1353}],1358:[function(t,e,r){"use strict";e.exports=function(t,e){return t.x="xVal"in e?e.xVal:e.x,t.y="yVal"in e?e.yVal:e.y,"initial"in e&&(t.initial=e.initial),"delta"in e&&(t.delta=e.delta),"final"in e&&(t.final=e.final),e.xa&&(t.xaxis=e.xa),e.ya&&(t.yaxis=e.ya),t}},{}],1359:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes").hoverLabelText,i=t("../../components/color").opacity,a=t("../bar/hover").hoverOnBars,o=t("../../constants/delta.js"),s=o.INCREASING.SYMBOL,l=o.DECREASING.SYMBOL;e.exports=function(t,e,r,o){var c=a(t,e,r,o);if(c){var u=c.cd,f=u[0].trace,h="h"===f.orientation,p=h?t.xa:t.ya,d=u[c.index],g=d.isSum?d.b+d.s:d.rawS;if(!d.isSum){c.initial=d.b+d.s-g,c.delta=g,c.final=c.initial+c.delta;var m=w(Math.abs(c.delta));c.deltaLabel=g<0?"("+m+")":m,c.finalLabel=w(c.final),c.initialLabel=w(c.initial)}var v=d.hi||f.hoverinfo,y=[];if(v&&"none"!==v&&"skip"!==v){var x="all"===v,b=v.split("+"),_=function(t){return x||-1!==b.indexOf(t)};d.isSum||(!_("final")||_(h?"x":"y")||y.push(c.finalLabel),_("delta")&&(g<0?y.push(c.deltaLabel+" "+l):y.push(c.deltaLabel+" "+s)),_("initial")&&y.push("Initial: "+c.initialLabel))}return y.length&&(c.extraText=y.join("<br>")),c.color=function(t,e){var r=t[e.dir].marker,n=r.color,a=r.line.color,o=r.line.width;if(i(n))return n;if(i(a)&&o)return a}(f,d),[c]}function w(t){return n(p,t)}}},{"../../components/color":643,"../../constants/delta.js":747,"../../plots/cartesian/axes":828,"../bar/hover":928}],1360:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),layoutAttributes:t("./layout_attributes"),supplyDefaults:t("./defaults").supplyDefaults,crossTraceDefaults:t("./defaults").crossTraceDefaults,supplyLayoutDefaults:t("./layout_defaults"),calc:t("./calc"),crossTraceCalc:t("./cross_trace_calc"),plot:t("./plot"),style:t("./style").style,hoverPoints:t("./hover"),eventData:t("./event_data"),selectPoints:t("../bar/select"),moduleType:"trace",name:"waterfall",basePlotModule:t("../../plots/cartesian"),categories:["bar-like","cartesian","svg","oriented","showLegend","zoomScale"],meta:{}}},{"../../plots/cartesian":841,"../bar/select":933,"./attributes":1353,"./calc":1354,"./cross_trace_calc":1356,"./defaults":1357,"./event_data":1358,"./hover":1359,"./layout_attributes":1361,"./layout_defaults":1362,"./plot":1363,"./style":1364}],1361:[function(t,e,r){"use strict";e.exports={waterfallmode:{valType:"enumerated",values:["group","overlay"],dflt:"group",editType:"calc"},waterfallgap:{valType:"number",min:0,max:1,editType:"calc"},waterfallgroupgap:{valType:"number",min:0,max:1,dflt:0,editType:"calc"}}},{}],1362:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./layout_attributes");e.exports=function(t,e,r){var a=!1;function o(r,a){return n.coerce(t,e,i,r,a)}for(var s=0;s<r.length;s++){var l=r[s];if(l.visible&&"waterfall"===l.type){a=!0;break}}a&&(o("waterfallmode"),o("waterfallgap",.2),o("waterfallgroupgap"))}},{"../../lib":778,"./layout_attributes":1361}],1363:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../lib"),a=t("../../components/drawing"),o=t("../../constants/numerical").BADNUM,s=t("../bar/plot"),l=t("../bar/uniform_text").clearMinTextSize;e.exports=function(t,e,r,c){var u=t._fullLayout;l("waterfall",u),s.plot(t,e,r,c,{mode:u.waterfallmode,norm:u.waterfallmode,gap:u.waterfallgap,groupgap:u.waterfallgroupgap}),function(t,e,r,s){var l=e.xaxis,c=e.yaxis;i.makeTraceGroups(s,r,"trace bars").each((function(r){var s=n.select(this),u=r[0].trace,f=i.ensureSingle(s,"g","lines");if(u.connector&&u.connector.visible){var h="h"===u.orientation,p=u.connector.mode,d=f.selectAll("g.line").data(i.identity);d.enter().append("g").classed("line",!0),d.exit().remove();var g=d.size();d.each((function(r,s){if(s===g-1||r.cNext){var u=function(t,e,r,n){var i=[],a=[],o=n?e:r,s=n?r:e;return i[0]=o.c2p(t.s0,!0),a[0]=s.c2p(t.p0,!0),i[1]=o.c2p(t.s1,!0),a[1]=s.c2p(t.p1,!0),i[2]=o.c2p(t.nextS0,!0),a[2]=s.c2p(t.nextP0,!0),n?[i,a]:[a,i]}(r,l,c,h),f=u[0],d=u[1],m="";f[0]!==o&&d[0]!==o&&f[1]!==o&&d[1]!==o&&("spanning"===p&&!r.isSum&&s>0&&(m+=h?"M"+f[0]+","+d[1]+"V"+d[0]:"M"+f[1]+","+d[0]+"H"+f[0]),"between"!==p&&(r.isSum||s<g-1)&&(m+=h?"M"+f[1]+","+d[0]+"V"+d[1]:"M"+f[0]+","+d[1]+"H"+f[1]),f[2]!==o&&d[2]!==o&&(m+=h?"M"+f[1]+","+d[1]+"V"+d[2]:"M"+f[1]+","+d[1]+"H"+f[2])),""===m&&(m="M0,0Z"),i.ensureSingle(n.select(this),"path").attr("d",m).call(a.setClipUrl,e.layerClipId,t)}}))}else f.remove()}))}(t,e,r,c)}},{"../../components/drawing":665,"../../constants/numerical":753,"../../lib":778,"../bar/plot":932,"../bar/uniform_text":937,d3:169}],1364:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../components/drawing"),a=t("../../components/color"),o=t("../../constants/interactions").DESELECTDIM,s=t("../bar/style"),l=t("../bar/uniform_text").resizeText,c=s.styleTextPoints;e.exports={style:function(t,e,r){var s=r||n.select(t).selectAll("g.waterfalllayer").selectAll("g.trace");l(t,s,"waterfall"),s.style("opacity",(function(t){return t[0].trace.opacity})),s.each((function(e){var r=n.select(this),s=e[0].trace;r.selectAll(".point > path").each((function(t){if(!t.isBlank){var e=s[t.dir].marker;n.select(this).call(a.fill,e.color).call(a.stroke,e.line.color).call(i.dashLine,e.line.dash,e.line.width).style("opacity",s.selectedpoints&&!t.selected?o:1)}})),c(r,s,t),r.selectAll(".lines").each((function(){var t=s.connector.line;i.lineGroupStyle(n.select(this).selectAll("path"),t.width,t.color,t.dash)}))}))}}},{"../../components/color":643,"../../components/drawing":665,"../../constants/interactions":752,"../bar/style":935,"../bar/uniform_text":937,d3:169}],1365:[function(t,e,r){"use strict";var n=t("../plots/cartesian/axes"),i=t("../lib"),a=t("../plot_api/plot_schema"),o=t("./helpers").pointsAccessorFunction,s=t("../constants/numerical").BADNUM;r.moduleType="transform",r.name="aggregate";var l=r.attributes={enabled:{valType:"boolean",dflt:!0,editType:"calc"},groups:{valType:"string",strict:!0,noBlank:!0,arrayOk:!0,dflt:"x",editType:"calc"},aggregations:{_isLinkedToArray:"aggregation",target:{valType:"string",editType:"calc"},func:{valType:"enumerated",values:["count","sum","avg","median","mode","rms","stddev","min","max","first","last","change","range"],dflt:"first",editType:"calc"},funcmode:{valType:"enumerated",values:["sample","population"],dflt:"sample",editType:"calc"},enabled:{valType:"boolean",dflt:!0,editType:"calc"},editType:"calc"},editType:"calc"},c=l.aggregations;function u(t,e,r,a){if(a.enabled){for(var o=a.target,l=i.nestedProperty(e,o),c=l.get(),u=function(t,e){var r=t.func,n=e.d2c,a=e.c2d;switch(r){case"count":return f;case"first":return h;case"last":return p;case"sum":return function(t,e){for(var r=0,i=0;i<e.length;i++){var o=n(t[e[i]]);o!==s&&(r+=o)}return a(r)};case"avg":return function(t,e){for(var r=0,i=0,o=0;o<e.length;o++){var l=n(t[e[o]]);l!==s&&(r+=l,i++)}return i?a(r/i):s};case"min":return function(t,e){for(var r=1/0,i=0;i<e.length;i++){var o=n(t[e[i]]);o!==s&&(r=Math.min(r,o))}return r===1/0?s:a(r)};case"max":return function(t,e){for(var r=-1/0,i=0;i<e.length;i++){var o=n(t[e[i]]);o!==s&&(r=Math.max(r,o))}return r===-1/0?s:a(r)};case"range":return function(t,e){for(var r=1/0,i=-1/0,o=0;o<e.length;o++){var l=n(t[e[o]]);l!==s&&(r=Math.min(r,l),i=Math.max(i,l))}return i===-1/0||r===1/0?s:a(i-r)};case"change":return function(t,e){var r=n(t[e[0]]),i=n(t[e[e.length-1]]);return r===s||i===s?s:a(i-r)};case"median":return function(t,e){for(var r=[],o=0;o<e.length;o++){var l=n(t[e[o]]);l!==s&&r.push(l)}if(!r.length)return s;r.sort(i.sorterAsc);var c=(r.length-1)/2;return a((r[Math.floor(c)]+r[Math.ceil(c)])/2)};case"mode":return function(t,e){for(var r={},i=0,o=s,l=0;l<e.length;l++){var c=n(t[e[l]]);if(c!==s){var u=r[c]=(r[c]||0)+1;u>i&&(i=u,o=c)}}return i?a(o):s};case"rms":return function(t,e){for(var r=0,i=0,o=0;o<e.length;o++){var l=n(t[e[o]]);l!==s&&(r+=l*l,i++)}return i?a(Math.sqrt(r/i)):s};case"stddev":return function(e,r){var i,a=0,o=0,l=1,c=s;for(i=0;i<r.length&&c===s;i++)c=n(e[r[i]]);if(c===s)return s;for(;i<r.length;i++){var u=n(e[r[i]]);if(u!==s){var f=u-c;a+=f,o+=f*f,l++}}var h="sample"===t.funcmode?l-1:l;return h?Math.sqrt((o-a*a/l)/h):0}}}(a,n.getDataConversions(t,e,o,c)),d=new Array(r.length),g=0;g<r.length;g++)d[g]=u(c,r[g]);l.set(d),"count"===a.func&&i.pushUnique(e._arrayAttrs,o)}}function f(t,e){return e.length}function h(t,e){return t[e[0]]}function p(t,e){return t[e[e.length-1]]}r.supplyDefaults=function(t,e){var r,n={};function o(e,r){return i.coerce(t,n,l,e,r)}if(!o("enabled"))return n;var s=a.findArrayAttributes(e),u={};for(r=0;r<s.length;r++)u[s[r]]=1;var f=o("groups");if(!Array.isArray(f)){if(!u[f])return n.enabled=!1,n;u[f]=0}var h,p=t.aggregations||[],d=n.aggregations=new Array(p.length);function g(t,e){return i.coerce(p[r],h,c,t,e)}for(r=0;r<p.length;r++){h={_index:r};var m=g("target"),v=g("func");g("enabled")&&m&&(u[m]||"count"===v&&void 0===u[m])?("stddev"===v&&g("funcmode"),u[m]=0,d[r]=h):d[r]={enabled:!1,_index:r}}for(r=0;r<s.length;r++)u[s[r]]&&d.push({target:s[r],func:c.func.dflt,enabled:!0,_index:-1});return n},r.calcTransform=function(t,e,r){if(r.enabled){var n=r.groups,a=i.getTargetArray(e,{target:n});if(a){var s,l,c,f,h={},p={},d=[],g=o(e.transforms,r),m=a.length;for(e._length&&(m=Math.min(m,e._length)),s=0;s<m;s++)void 0===(c=h[l=a[s]])?(h[l]=d.length,f=[s],d.push(f),p[h[l]]=g(s)):(d[c].push(s),p[h[l]]=(p[h[l]]||[]).concat(g(s)));r._indexToPoints=p;var v=r.aggregations;for(s=0;s<v.length;s++)u(t,e,d,v[s]);"string"==typeof n&&u(t,e,d,{target:n,func:"first",enabled:!0}),e._length=d.length}}}},{"../constants/numerical":753,"../lib":778,"../plot_api/plot_schema":816,"../plots/cartesian/axes":828,"./helpers":1368}],1366:[function(t,e,r){"use strict";var n=t("../lib"),i=t("../registry"),a=t("../plots/cartesian/axes"),o=t("./helpers").pointsAccessorFunction,s=t("../constants/filter_ops"),l=s.COMPARISON_OPS,c=s.INTERVAL_OPS,u=s.SET_OPS;r.moduleType="transform",r.name="filter",r.attributes={enabled:{valType:"boolean",dflt:!0,editType:"calc"},target:{valType:"string",strict:!0,noBlank:!0,arrayOk:!0,dflt:"x",editType:"calc"},operation:{valType:"enumerated",values:[].concat(l).concat(c).concat(u),dflt:"=",editType:"calc"},value:{valType:"any",dflt:0,editType:"calc"},preservegaps:{valType:"boolean",dflt:!1,editType:"calc"},editType:"calc"},r.supplyDefaults=function(t){var e={};function a(i,a){return n.coerce(t,e,r.attributes,i,a)}if(a("enabled")){var o=a("target");if(n.isArrayOrTypedArray(o)&&0===o.length)return e.enabled=!1,e;a("preservegaps"),a("operation"),a("value");var s=i.getComponentMethod("calendars","handleDefaults");s(t,e,"valuecalendar",null),s(t,e,"targetcalendar",null)}return e},r.calcTransform=function(t,e,r){if(r.enabled){var i=n.getTargetArray(e,r);if(i){var s=r.target,f=i.length;e._length&&(f=Math.min(f,e._length));var h=r.targetcalendar,p=e._arrayAttrs,d=r.preservegaps;if("string"==typeof s){var g=n.nestedProperty(e,s+"calendar").get();g&&(h=g)}var m,v,y=function(t,e,r){var n=t.operation,i=t.value,a=Array.isArray(i);function o(t){return-1!==t.indexOf(n)}var s,f=function(r){return e(r,0,t.valuecalendar)},h=function(t){return e(t,0,r)};o(l)?s=f(a?i[0]:i):o(c)?s=a?[f(i[0]),f(i[1])]:[f(i),f(i)]:o(u)&&(s=a?i.map(f):[f(i)]);switch(n){case"=":return function(t){return h(t)===s};case"!=":return function(t){return h(t)!==s};case"<":return function(t){return h(t)<s};case"<=":return function(t){return h(t)<=s};case">":return function(t){return h(t)>s};case">=":return function(t){return h(t)>=s};case"[]":return function(t){var e=h(t);return e>=s[0]&&e<=s[1]};case"()":return function(t){var e=h(t);return e>s[0]&&e<s[1]};case"[)":return function(t){var e=h(t);return e>=s[0]&&e<s[1]};case"(]":return function(t){var e=h(t);return e>s[0]&&e<=s[1]};case"][":return function(t){var e=h(t);return e<=s[0]||e>=s[1]};case")(":return function(t){var e=h(t);return e<s[0]||e>s[1]};case"](":return function(t){var e=h(t);return e<=s[0]||e>s[1]};case")[":return function(t){var e=h(t);return e<s[0]||e>=s[1]};case"{}":return function(t){return-1!==s.indexOf(h(t))};case"}{":return function(t){return-1===s.indexOf(h(t))}}}(r,a.getDataToCoordFunc(t,e,s,i),h),x={},b={},_=0;d?(m=function(t){x[t.astr]=n.extendDeep([],t.get()),t.set(new Array(f))},v=function(t,e){var r=x[t.astr][e];t.get()[e]=r}):(m=function(t){x[t.astr]=n.extendDeep([],t.get()),t.set([])},v=function(t,e){var r=x[t.astr][e];t.get().push(r)}),k(m);for(var w=o(e.transforms,r),T=0;T<f;T++){y(i[T])?(k(v,T),b[_++]=w(T)):d&&_++}r._indexToPoints=b,e._length=_}}function k(t,r){for(var i=0;i<p.length;i++){t(n.nestedProperty(e,p[i]),r)}}}},{"../constants/filter_ops":749,"../lib":778,"../plots/cartesian/axes":828,"../registry":911,"./helpers":1368}],1367:[function(t,e,r){"use strict";var n=t("../lib"),i=t("../plot_api/plot_schema"),a=t("../plots/plots"),o=t("./helpers").pointsAccessorFunction;function s(t,e){var r,s,l,c,u,f,h,p,d,g,m=e.transform,v=e.transformIndex,y=t.transforms[v].groups,x=o(t.transforms,m);if(!n.isArrayOrTypedArray(y)||0===y.length)return[t];var b=n.filterUnique(y),_=new Array(b.length),w=y.length,T=i.findArrayAttributes(t),k=m.styles||[],M={};for(r=0;r<k.length;r++)M[k[r].target]=k[r].value;m.styles&&(g=n.keyedContainer(m,"styles","target","value.name"));var A={},S={};for(r=0;r<b.length;r++){A[f=b[r]]=r,S[f]=0,(h=_[r]=n.extendDeepNoArrays({},t))._group=f,h.transforms[v]._indexToPoints={};var E=null;for(g&&(E=g.get(f)),h.name=E||""===E?E:n.templateString(m.nameformat,{trace:t.name,group:f}),p=h.transforms,h.transforms=[],s=0;s<p.length;s++)h.transforms[s]=n.extendDeepNoArrays({},p[s]);for(s=0;s<T.length;s++)n.nestedProperty(h,T[s]).set([])}for(l=0;l<T.length;l++){for(c=T[l],s=0,d=[];s<b.length;s++)d[s]=n.nestedProperty(_[s],c).get();for(u=n.nestedProperty(t,c).get(),s=0;s<w;s++)d[A[y[s]]].push(u[s])}for(s=0;s<w;s++){(h=_[A[y[s]]]).transforms[v]._indexToPoints[S[y[s]]]=x(s),S[y[s]]++}for(r=0;r<b.length;r++)f=b[r],h=_[r],a.clearExpandedTraceDefaultColors(h),h=n.extendDeepNoArrays(h,M[f]||{});return _}r.moduleType="transform",r.name="groupby",r.attributes={enabled:{valType:"boolean",dflt:!0,editType:"calc"},groups:{valType:"data_array",dflt:[],editType:"calc"},nameformat:{valType:"string",editType:"calc"},styles:{_isLinkedToArray:"style",target:{valType:"string",editType:"calc"},value:{valType:"any",dflt:{},editType:"calc",_compareAsJSON:!0},editType:"calc"},editType:"calc"},r.supplyDefaults=function(t,e,i){var a,o={};function s(e,i){return n.coerce(t,o,r.attributes,e,i)}if(!s("enabled"))return o;s("groups"),s("nameformat",i._dataLength>1?"%{group} (%{trace})":"%{group}");var l=t.styles,c=o.styles=[];if(l)for(a=0;a<l.length;a++){var u=c[a]={};n.coerce(l[a],c[a],r.attributes.styles,"target");var f=n.coerce(l[a],c[a],r.attributes.styles,"value");n.isPlainObject(f)?u.value=n.extendDeep({},f):f&&delete u.value}return o},r.transform=function(t,e){var r,n,i,a=[];for(n=0;n<t.length;n++)for(r=s(t[n],e),i=0;i<r.length;i++)a.push(r[i]);return a}},{"../lib":778,"../plot_api/plot_schema":816,"../plots/plots":891,"./helpers":1368}],1368:[function(t,e,r){"use strict";r.pointsAccessorFunction=function(t,e){for(var r,n,i=0;i<t.length&&(r=t[i])!==e;i++)r._indexToPoints&&!1!==r.enabled&&(n=r._indexToPoints);return n?function(t){return n[t]}:function(t){return[t]}}},{}],1369:[function(t,e,r){"use strict";var n=t("../lib"),i=t("../plots/cartesian/axes"),a=t("./helpers").pointsAccessorFunction,o=t("../constants/numerical").BADNUM;r.moduleType="transform",r.name="sort",r.attributes={enabled:{valType:"boolean",dflt:!0,editType:"calc"},target:{valType:"string",strict:!0,noBlank:!0,arrayOk:!0,dflt:"x",editType:"calc"},order:{valType:"enumerated",values:["ascending","descending"],dflt:"ascending",editType:"calc"},editType:"calc"},r.supplyDefaults=function(t){var e={};function i(i,a){return n.coerce(t,e,r.attributes,i,a)}return i("enabled")&&(i("target"),i("order")),e},r.calcTransform=function(t,e,r){if(r.enabled){var s=n.getTargetArray(e,r);if(s){var l=r.target,c=s.length;e._length&&(c=Math.min(c,e._length));var u,f,h=e._arrayAttrs,p=function(t,e,r,n){var i,a=new Array(n),s=new Array(n);for(i=0;i<n;i++)a[i]={v:e[i],i:i};for(a.sort(function(t,e){switch(t.order){case"ascending":return function(t,r){var n=e(t.v),i=e(r.v);return n===o?1:i===o?-1:n-i};case"descending":return function(t,r){var n=e(t.v),i=e(r.v);return n===o?1:i===o?-1:i-n}}}(t,r)),i=0;i<n;i++)s[i]=a[i].i;return s}(r,s,i.getDataToCoordFunc(t,e,l,s),c),d=a(e.transforms,r),g={};for(u=0;u<h.length;u++){var m=n.nestedProperty(e,h[u]),v=m.get(),y=new Array(c);for(f=0;f<c;f++)y[f]=v[p[f]];m.set(y)}for(f=0;f<c;f++)g[f]=d(p[f]);r._indexToPoints=g,e._length=c}}}},{"../constants/numerical":753,"../lib":778,"../plots/cartesian/axes":828,"./helpers":1368}],1370:[function(t,e,r){"use strict";r.version="1.58.4"},{}]},{},[26])(26)})); + }); + require(['plotly'], function(Plotly) { + window._Plotly = Plotly; + }); + } + </script> + + + + +<div> <div id="daf5e70e-1c22-4d18-8c47-a33071ddaec3" class="plotly-graph-div" style="height:525px; width:100%;"></div> <script type="text/javascript"> require(["plotly"], function(Plotly) { window.PLOTLYENV=window.PLOTLYENV || {}; if (document.getElementById("daf5e70e-1c22-4d18-8c47-a33071ddaec3")) { Plotly.newPlot( "daf5e70e-1c22-4d18-8c47-a33071ddaec3", [{"alignmentgroup": "True", "bingroup": "x", "hovertemplate": "FWHM=%{x}<br>count=%{y}<extra></extra>", "legendgroup": "", "marker": {"color": "#636efa"}, "name": "", "offsetgroup": "", "orientation": "v", "showlegend": false, "type": "histogram", "x": [3.1787688708097637, 0.8815071940479394, 1.5164178076826178, 0.8232929431087915, 0.7874194220005792, 0.18081472076436197, 0.5811671484742216, 1.5164178076826178, 0.8232929431087915], "xaxis": "x", "yaxis": "y"}], {"barmode": "relative", "legend": {"tracegroupgap": 0}, "margin": {"t": 60}, "template": {"data": {"bar": [{"error_x": {"color": "#2a3f5f"}, "error_y": {"color": "#2a3f5f"}, "marker": {"line": {"color": "#E5ECF6", "width": 0.5}}, "type": "bar"}], "barpolar": [{"marker": {"line": {"color": "#E5ECF6", "width": 0.5}}, "type": "barpolar"}], "carpet": [{"aaxis": {"endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f"}, "baxis": {"endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f"}, "type": "carpet"}], "choropleth": [{"colorbar": {"outlinewidth": 0, "ticks": ""}, "type": "choropleth"}], "contour": [{"colorbar": {"outlinewidth": 0, "ticks": ""}, "colorscale": [[0.0, "#0d0887"], [0.1111111111111111, "#46039f"], [0.2222222222222222, "#7201a8"], [0.3333333333333333, "#9c179e"], [0.4444444444444444, "#bd3786"], [0.5555555555555556, "#d8576b"], [0.6666666666666666, "#ed7953"], [0.7777777777777778, "#fb9f3a"], [0.8888888888888888, "#fdca26"], [1.0, "#f0f921"]], "type": "contour"}], "contourcarpet": [{"colorbar": {"outlinewidth": 0, "ticks": ""}, "type": "contourcarpet"}], "heatmap": [{"colorbar": {"outlinewidth": 0, "ticks": ""}, "colorscale": [[0.0, "#0d0887"], [0.1111111111111111, "#46039f"], [0.2222222222222222, "#7201a8"], [0.3333333333333333, "#9c179e"], [0.4444444444444444, "#bd3786"], [0.5555555555555556, "#d8576b"], [0.6666666666666666, "#ed7953"], [0.7777777777777778, "#fb9f3a"], [0.8888888888888888, "#fdca26"], [1.0, "#f0f921"]], "type": "heatmap"}], "heatmapgl": [{"colorbar": {"outlinewidth": 0, "ticks": ""}, "colorscale": [[0.0, "#0d0887"], [0.1111111111111111, "#46039f"], [0.2222222222222222, "#7201a8"], [0.3333333333333333, "#9c179e"], [0.4444444444444444, "#bd3786"], [0.5555555555555556, "#d8576b"], [0.6666666666666666, "#ed7953"], [0.7777777777777778, "#fb9f3a"], [0.8888888888888888, "#fdca26"], [1.0, "#f0f921"]], "type": "heatmapgl"}], "histogram": [{"marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "histogram"}], "histogram2d": [{"colorbar": {"outlinewidth": 0, "ticks": ""}, "colorscale": [[0.0, "#0d0887"], [0.1111111111111111, "#46039f"], [0.2222222222222222, "#7201a8"], [0.3333333333333333, "#9c179e"], [0.4444444444444444, "#bd3786"], [0.5555555555555556, "#d8576b"], [0.6666666666666666, "#ed7953"], [0.7777777777777778, "#fb9f3a"], [0.8888888888888888, "#fdca26"], [1.0, "#f0f921"]], "type": "histogram2d"}], "histogram2dcontour": [{"colorbar": {"outlinewidth": 0, "ticks": ""}, "colorscale": [[0.0, "#0d0887"], [0.1111111111111111, "#46039f"], [0.2222222222222222, "#7201a8"], [0.3333333333333333, "#9c179e"], [0.4444444444444444, "#bd3786"], [0.5555555555555556, "#d8576b"], [0.6666666666666666, "#ed7953"], [0.7777777777777778, "#fb9f3a"], [0.8888888888888888, "#fdca26"], [1.0, "#f0f921"]], "type": "histogram2dcontour"}], "mesh3d": [{"colorbar": {"outlinewidth": 0, "ticks": ""}, "type": "mesh3d"}], "parcoords": [{"line": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "parcoords"}], "pie": [{"automargin": true, "type": "pie"}], "scatter": [{"marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "scatter"}], "scatter3d": [{"line": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "scatter3d"}], "scattercarpet": [{"marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "scattercarpet"}], "scattergeo": [{"marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "scattergeo"}], "scattergl": [{"marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "scattergl"}], "scattermapbox": [{"marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "scattermapbox"}], "scatterpolar": [{"marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "scatterpolar"}], "scatterpolargl": [{"marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "scatterpolargl"}], "scatterternary": [{"marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "scatterternary"}], "surface": [{"colorbar": {"outlinewidth": 0, "ticks": ""}, "colorscale": [[0.0, "#0d0887"], [0.1111111111111111, "#46039f"], [0.2222222222222222, "#7201a8"], [0.3333333333333333, "#9c179e"], [0.4444444444444444, "#bd3786"], [0.5555555555555556, "#d8576b"], [0.6666666666666666, "#ed7953"], [0.7777777777777778, "#fb9f3a"], [0.8888888888888888, "#fdca26"], [1.0, "#f0f921"]], "type": "surface"}], "table": [{"cells": {"fill": {"color": "#EBF0F8"}, "line": {"color": "white"}}, "header": {"fill": {"color": "#C8D4E3"}, "line": {"color": "white"}}, "type": "table"}]}, "layout": {"annotationdefaults": {"arrowcolor": "#2a3f5f", "arrowhead": 0, "arrowwidth": 1}, "autotypenumbers": "strict", "coloraxis": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "colorscale": {"diverging": [[0, "#8e0152"], [0.1, "#c51b7d"], [0.2, "#de77ae"], [0.3, "#f1b6da"], [0.4, "#fde0ef"], [0.5, "#f7f7f7"], [0.6, "#e6f5d0"], [0.7, "#b8e186"], [0.8, "#7fbc41"], [0.9, "#4d9221"], [1, "#276419"]], "sequential": [[0.0, "#0d0887"], [0.1111111111111111, "#46039f"], [0.2222222222222222, "#7201a8"], [0.3333333333333333, "#9c179e"], [0.4444444444444444, "#bd3786"], [0.5555555555555556, "#d8576b"], [0.6666666666666666, "#ed7953"], [0.7777777777777778, "#fb9f3a"], [0.8888888888888888, "#fdca26"], [1.0, "#f0f921"]], "sequentialminus": [[0.0, "#0d0887"], [0.1111111111111111, "#46039f"], [0.2222222222222222, "#7201a8"], [0.3333333333333333, "#9c179e"], [0.4444444444444444, "#bd3786"], [0.5555555555555556, "#d8576b"], [0.6666666666666666, "#ed7953"], [0.7777777777777778, "#fb9f3a"], [0.8888888888888888, "#fdca26"], [1.0, "#f0f921"]]}, "colorway": ["#636efa", "#EF553B", "#00cc96", "#ab63fa", "#FFA15A", "#19d3f3", "#FF6692", "#B6E880", "#FF97FF", "#FECB52"], "font": {"color": "#2a3f5f"}, "geo": {"bgcolor": "white", "lakecolor": "white", "landcolor": "#E5ECF6", "showlakes": true, "showland": true, "subunitcolor": "white"}, "hoverlabel": {"align": "left"}, "hovermode": "closest", "mapbox": {"style": "light"}, "paper_bgcolor": "white", "plot_bgcolor": "#E5ECF6", "polar": {"angularaxis": {"gridcolor": "white", "linecolor": "white", "ticks": ""}, "bgcolor": "#E5ECF6", "radialaxis": {"gridcolor": "white", "linecolor": "white", "ticks": ""}}, "scene": {"xaxis": {"backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white"}, "yaxis": {"backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white"}, "zaxis": {"backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white"}}, "shapedefaults": {"line": {"color": "#2a3f5f"}}, "ternary": {"aaxis": {"gridcolor": "white", "linecolor": "white", "ticks": ""}, "baxis": {"gridcolor": "white", "linecolor": "white", "ticks": ""}, "bgcolor": "#E5ECF6", "caxis": {"gridcolor": "white", "linecolor": "white", "ticks": ""}}, "title": {"x": 0.05}, "xaxis": {"automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": {"standoff": 15}, "zerolinecolor": "white", "zerolinewidth": 2}, "yaxis": {"automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": {"standoff": 15}, "zerolinecolor": "white", "zerolinewidth": 2}}}, "xaxis": {"anchor": "y", "domain": [0.0, 1.0], "title": {"text": "FWHM"}}, "yaxis": {"anchor": "x", "domain": [0.0, 1.0], "title": {"text": "count"}}}, {"responsive": true} ).then(function(){ + +var gd = document.getElementById('daf5e70e-1c22-4d18-8c47-a33071ddaec3'); +var x = new MutationObserver(function (mutations, observer) {{ + var display = window.getComputedStyle(gd).display; + if (!display || display === 'none') {{ + console.log([gd, 'removed!']); + Plotly.purge(gd); + observer.disconnect(); + }} +}}); + +// Listen for the removal of the full notebook cells +var notebookContainer = gd.closest('#notebook-container'); +if (notebookContainer) {{ + x.observe(notebookContainer, {childList: true}); +}} + +// Listen for the clearing of the current output cell +var outputEl = gd.closest('.output'); +if (outputEl) {{ + x.observe(outputEl, {childList: true}); +}} + + }) }; }); </script> </div> + + + +```python +FWHM_array = np.array(FWHM_estrellas) + +# Imprimimos algunos parámetros estadÃsticos +print('La desviación estandar de FWHM es:', np.std(FWHM_array)) +print('La media de FWHM es:',np.mean(FWHM_array)) +print('La mediana de FWHM es:',np.median(FWHM_array)) + + +``` + + La desviación estandar de FWHM es: 0.8208352134109429 + La media de FWHM es: 1.143233206408854 + La mediana de FWHM es: 0.8232929431087915 + + + ## Bandas *R*,*G*,*B* + + +```python +# Abrimos la imagen +image = Image.open('data/zapatocaImage.jpeg') +data = asarray(image) # abrimos la imagen en forma de array +b0, g0, r0 = data[:, :, 0], data[:, :, 1], data[:, :, 2] # Separamos las matrices según R,G,B + +#normalizamos los datos +b = b0/np.max(b0) +g = g0/np.max(g0) +r = r0/np.max(r0) + +# BANDA B + +estrella1b = b[459:464,322:327] +estrella2b = b[544:562,654:671] +estrella3b = b[241:247,215:222] +estrella4b = b[312:320,624:632] +estrella5b = b[374:380,448:454] +estrella6b = b[145:151,390:397] +estrella7b = b[523:527,654:658] +estrella8b = b[498:504,683:688] +estrella9b = b[312:320,624:632] +estrella10b = b[374:380,448:454] + +estrellasb = [estrella1b,estrella2b,estrella3b,estrella4b,estrella5b, + estrella6b,estrella7b,estrella8b,estrella9b,estrella10b] + +# BANDA R + +estrella1r = r[459:464,322:327] +estrella2r = r[544:562,654:671] +estrella3r = r[241:247,215:222] +estrella4r = r[312:320,624:632] +estrella5r = r[374:380,448:454] +estrella6r = r[145:151,390:397] +estrella7r = r[523:527,654:658] +estrella8r = r[498:504,683:688] +estrella9r = r[312:320,624:632] +estrella10r = r[374:380,448:454] + +estrellasr = [estrella1r,estrella2r,estrella3r,estrella4r,estrella5r, + estrella6r,estrella7r,estrella8r,estrella9r,estrella10r] + + +# BANDA g + +estrella1g = g[459:464,322:327] +estrella2g = g[544:562,654:671] +estrella3g = g[241:247,215:222] +estrella4g = g[312:320,624:632] +estrella5g = g[374:380,448:454] +estrella6g = g[145:151,390:397] +estrella7g = g[523:527,654:658] +estrella8g = g[498:504,683:688] +estrella9g = g[312:320,624:632] +estrella10g = g[374:380,448:454] + +estrellasg = [estrella1g,estrella2g,estrella3g,estrella4g,estrella5g, + estrella6g,estrella7g,estrella8g,estrella9g,estrella10g] +``` + + +```python +FWHM_estrellasb = [] +for i in range(1,10): + Bestb = ajuste_2D_Aut(estrellasb[i]) + FWHM_estrellasb.append(Bestb[1]) + +FWHM_arrayb = np.array(FWHM_estrellasb) +# Imprimimos algunos parámetros estadÃsticos +print('La desviación estandar de FWHM para la banda b es:', np.std(FWHM_arrayb)) +print('La media de FWHM para la banda b es:',np.mean(FWHM_arrayb)) +print('La mediana de FWHM para la banda b es:',np.median(FWHM_arrayb)) + +numero_estrella = range(1,10) + +Datab = {'Estrella': numero_estrella, + 'FWHM': FWHM_estrellasb , + } + +dfb = DataFrame(Datab,columns=[ 'Estrella', 'FWHM']) +fig = px.histogram(dfb, x = 'FWHM') +fig.show() + + + +``` + + La desviación estandar de FWHM para la banda b es: 0.801057325865637 + La media de FWHM para la banda b es: 2.034898019962086 + La mediana de FWHM para la banda b es: 2.1151027005163714 + + + +<div> <div id="756ce9cd-70dd-4939-add8-1a5e7e094d91" class="plotly-graph-div" style="height:525px; width:100%;"></div> <script type="text/javascript"> require(["plotly"], function(Plotly) { window.PLOTLYENV=window.PLOTLYENV || {}; if (document.getElementById("756ce9cd-70dd-4939-add8-1a5e7e094d91")) { Plotly.newPlot( "756ce9cd-70dd-4939-add8-1a5e7e094d91", [{"alignmentgroup": "True", "bingroup": "x", "hovertemplate": "FWHM=%{x}<br>count=%{y}<extra></extra>", "legendgroup": "", "marker": {"color": "#636efa"}, "name": "", "offsetgroup": "", "orientation": "v", "showlegend": false, "type": "histogram", "x": [3.9371084637456133, 1.2115542403855089, 2.2428328349666247, 2.1151027005163714, 2.0347019305516585, 1.2787239194775317, 1.1361225545324676, 2.2428328349666247, 2.1151027005163714], "xaxis": "x", "yaxis": "y"}], {"barmode": "relative", "legend": {"tracegroupgap": 0}, "margin": {"t": 60}, "template": {"data": {"bar": [{"error_x": {"color": "#2a3f5f"}, "error_y": {"color": "#2a3f5f"}, "marker": {"line": {"color": "#E5ECF6", "width": 0.5}}, "type": "bar"}], "barpolar": [{"marker": {"line": {"color": "#E5ECF6", "width": 0.5}}, "type": "barpolar"}], "carpet": [{"aaxis": {"endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f"}, "baxis": {"endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f"}, "type": "carpet"}], "choropleth": [{"colorbar": {"outlinewidth": 0, "ticks": ""}, "type": "choropleth"}], "contour": [{"colorbar": {"outlinewidth": 0, "ticks": ""}, "colorscale": [[0.0, "#0d0887"], [0.1111111111111111, "#46039f"], [0.2222222222222222, "#7201a8"], [0.3333333333333333, "#9c179e"], [0.4444444444444444, "#bd3786"], [0.5555555555555556, "#d8576b"], [0.6666666666666666, "#ed7953"], [0.7777777777777778, "#fb9f3a"], [0.8888888888888888, "#fdca26"], [1.0, "#f0f921"]], "type": "contour"}], "contourcarpet": [{"colorbar": {"outlinewidth": 0, "ticks": ""}, "type": "contourcarpet"}], "heatmap": [{"colorbar": {"outlinewidth": 0, "ticks": ""}, "colorscale": [[0.0, "#0d0887"], [0.1111111111111111, "#46039f"], [0.2222222222222222, "#7201a8"], [0.3333333333333333, "#9c179e"], [0.4444444444444444, "#bd3786"], [0.5555555555555556, "#d8576b"], [0.6666666666666666, "#ed7953"], [0.7777777777777778, "#fb9f3a"], [0.8888888888888888, "#fdca26"], [1.0, "#f0f921"]], "type": "heatmap"}], "heatmapgl": [{"colorbar": {"outlinewidth": 0, "ticks": ""}, "colorscale": [[0.0, "#0d0887"], [0.1111111111111111, "#46039f"], [0.2222222222222222, "#7201a8"], [0.3333333333333333, "#9c179e"], [0.4444444444444444, "#bd3786"], [0.5555555555555556, "#d8576b"], [0.6666666666666666, "#ed7953"], [0.7777777777777778, "#fb9f3a"], [0.8888888888888888, "#fdca26"], [1.0, "#f0f921"]], "type": "heatmapgl"}], "histogram": [{"marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "histogram"}], "histogram2d": [{"colorbar": {"outlinewidth": 0, "ticks": ""}, "colorscale": [[0.0, "#0d0887"], [0.1111111111111111, "#46039f"], [0.2222222222222222, "#7201a8"], [0.3333333333333333, "#9c179e"], [0.4444444444444444, "#bd3786"], [0.5555555555555556, "#d8576b"], [0.6666666666666666, "#ed7953"], [0.7777777777777778, "#fb9f3a"], [0.8888888888888888, "#fdca26"], [1.0, "#f0f921"]], "type": "histogram2d"}], "histogram2dcontour": [{"colorbar": {"outlinewidth": 0, "ticks": ""}, "colorscale": [[0.0, "#0d0887"], [0.1111111111111111, "#46039f"], [0.2222222222222222, "#7201a8"], [0.3333333333333333, "#9c179e"], [0.4444444444444444, "#bd3786"], [0.5555555555555556, "#d8576b"], [0.6666666666666666, "#ed7953"], [0.7777777777777778, "#fb9f3a"], [0.8888888888888888, "#fdca26"], [1.0, "#f0f921"]], "type": "histogram2dcontour"}], "mesh3d": [{"colorbar": {"outlinewidth": 0, "ticks": ""}, "type": "mesh3d"}], "parcoords": [{"line": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "parcoords"}], "pie": [{"automargin": true, "type": "pie"}], "scatter": [{"marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "scatter"}], "scatter3d": [{"line": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "scatter3d"}], "scattercarpet": [{"marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "scattercarpet"}], "scattergeo": [{"marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "scattergeo"}], "scattergl": [{"marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "scattergl"}], "scattermapbox": [{"marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "scattermapbox"}], "scatterpolar": [{"marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "scatterpolar"}], "scatterpolargl": [{"marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "scatterpolargl"}], "scatterternary": [{"marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "scatterternary"}], "surface": [{"colorbar": {"outlinewidth": 0, "ticks": ""}, "colorscale": [[0.0, "#0d0887"], [0.1111111111111111, "#46039f"], [0.2222222222222222, "#7201a8"], [0.3333333333333333, "#9c179e"], [0.4444444444444444, "#bd3786"], [0.5555555555555556, "#d8576b"], [0.6666666666666666, "#ed7953"], [0.7777777777777778, "#fb9f3a"], [0.8888888888888888, "#fdca26"], [1.0, "#f0f921"]], "type": "surface"}], "table": [{"cells": {"fill": {"color": "#EBF0F8"}, "line": {"color": "white"}}, "header": {"fill": {"color": "#C8D4E3"}, "line": {"color": "white"}}, "type": "table"}]}, "layout": {"annotationdefaults": {"arrowcolor": "#2a3f5f", "arrowhead": 0, "arrowwidth": 1}, "autotypenumbers": "strict", "coloraxis": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "colorscale": {"diverging": [[0, "#8e0152"], [0.1, "#c51b7d"], [0.2, "#de77ae"], [0.3, "#f1b6da"], [0.4, "#fde0ef"], [0.5, "#f7f7f7"], [0.6, "#e6f5d0"], [0.7, "#b8e186"], [0.8, "#7fbc41"], [0.9, "#4d9221"], [1, "#276419"]], "sequential": [[0.0, "#0d0887"], [0.1111111111111111, "#46039f"], [0.2222222222222222, "#7201a8"], [0.3333333333333333, "#9c179e"], [0.4444444444444444, "#bd3786"], [0.5555555555555556, "#d8576b"], [0.6666666666666666, "#ed7953"], [0.7777777777777778, "#fb9f3a"], [0.8888888888888888, "#fdca26"], [1.0, "#f0f921"]], "sequentialminus": [[0.0, "#0d0887"], [0.1111111111111111, "#46039f"], [0.2222222222222222, "#7201a8"], [0.3333333333333333, "#9c179e"], [0.4444444444444444, "#bd3786"], [0.5555555555555556, "#d8576b"], [0.6666666666666666, "#ed7953"], [0.7777777777777778, "#fb9f3a"], [0.8888888888888888, "#fdca26"], [1.0, "#f0f921"]]}, "colorway": ["#636efa", "#EF553B", "#00cc96", "#ab63fa", "#FFA15A", "#19d3f3", "#FF6692", "#B6E880", "#FF97FF", "#FECB52"], "font": {"color": "#2a3f5f"}, "geo": {"bgcolor": "white", "lakecolor": "white", "landcolor": "#E5ECF6", "showlakes": true, "showland": true, "subunitcolor": "white"}, "hoverlabel": {"align": "left"}, "hovermode": "closest", "mapbox": {"style": "light"}, "paper_bgcolor": "white", "plot_bgcolor": "#E5ECF6", "polar": {"angularaxis": {"gridcolor": "white", "linecolor": "white", "ticks": ""}, "bgcolor": "#E5ECF6", "radialaxis": {"gridcolor": "white", "linecolor": "white", "ticks": ""}}, "scene": {"xaxis": {"backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white"}, "yaxis": {"backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white"}, "zaxis": {"backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white"}}, "shapedefaults": {"line": {"color": "#2a3f5f"}}, "ternary": {"aaxis": {"gridcolor": "white", "linecolor": "white", "ticks": ""}, "baxis": {"gridcolor": "white", "linecolor": "white", "ticks": ""}, "bgcolor": "#E5ECF6", "caxis": {"gridcolor": "white", "linecolor": "white", "ticks": ""}}, "title": {"x": 0.05}, "xaxis": {"automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": {"standoff": 15}, "zerolinecolor": "white", "zerolinewidth": 2}, "yaxis": {"automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": {"standoff": 15}, "zerolinecolor": "white", "zerolinewidth": 2}}}, "xaxis": {"anchor": "y", "domain": [0.0, 1.0], "title": {"text": "FWHM"}}, "yaxis": {"anchor": "x", "domain": [0.0, 1.0], "title": {"text": "count"}}}, {"responsive": true} ).then(function(){ + +var gd = document.getElementById('756ce9cd-70dd-4939-add8-1a5e7e094d91'); +var x = new MutationObserver(function (mutations, observer) {{ + var display = window.getComputedStyle(gd).display; + if (!display || display === 'none') {{ + console.log([gd, 'removed!']); + Plotly.purge(gd); + observer.disconnect(); + }} +}}); + +// Listen for the removal of the full notebook cells +var notebookContainer = gd.closest('#notebook-container'); +if (notebookContainer) {{ + x.observe(notebookContainer, {childList: true}); +}} + +// Listen for the clearing of the current output cell +var outputEl = gd.closest('.output'); +if (outputEl) {{ + x.observe(outputEl, {childList: true}); +}} + + }) }; }); </script> </div> + + + +```python +FWHM_estrellasr = [] +for i in range(1,10): + Bestr = ajuste_2D_Aut(estrellasr[i]) + FWHM_estrellasr.append(Bestr[1]) + +FWHM_arrayr = np.array(FWHM_estrellasr) +# Imprimimos algunos parámetros estadÃsticos +print('La desviación estandar de FWHM para la banda r es:', np.std(FWHM_arrayr)) +print('La media de FWHM para la banda r es:',np.mean(FWHM_arrayr)) +print('La mediana de FWHM para la banda r es:',np.median(FWHM_arrayr)) + +numero_estrella = range(1,10) + +Datar = {'Estrella': numero_estrella, + 'FWHM': FWHM_estrellasr , + } + +dfr = DataFrame(Datar,columns=[ 'Estrella', 'FWHM']) +fig = px.histogram(dfr, x = 'FWHM') +fig.show() + + + +``` + + La desviación estandar de FWHM para la banda r es: 1.1610216177132184 + La media de FWHM para la banda r es: 2.1292770889885992 + La mediana de FWHM para la banda r es: 1.632298014099838 + + + +<div> <div id="e5812cb1-5e1d-421b-96d1-99394f14d177" class="plotly-graph-div" style="height:525px; width:100%;"></div> <script type="text/javascript"> require(["plotly"], function(Plotly) { window.PLOTLYENV=window.PLOTLYENV || {}; if (document.getElementById("e5812cb1-5e1d-421b-96d1-99394f14d177")) { Plotly.newPlot( "e5812cb1-5e1d-421b-96d1-99394f14d177", [{"alignmentgroup": "True", "bingroup": "x", "hovertemplate": "FWHM=%{x}<br>count=%{y}<extra></extra>", "legendgroup": "", "marker": {"color": "#636efa"}, "name": "", "offsetgroup": "", "orientation": "v", "showlegend": false, "type": "histogram", "x": [5.092594637740397, 1.3964885862850855, 2.6335308673802764, 1.632298014099838, 1.6651342147041346, 1.308438184881249, 1.169180414326299, 2.6335308673802764, 1.632298014099838], "xaxis": "x", "yaxis": "y"}], {"barmode": "relative", "legend": {"tracegroupgap": 0}, "margin": {"t": 60}, "template": {"data": {"bar": [{"error_x": {"color": "#2a3f5f"}, "error_y": {"color": "#2a3f5f"}, "marker": {"line": {"color": "#E5ECF6", "width": 0.5}}, "type": "bar"}], "barpolar": [{"marker": {"line": {"color": "#E5ECF6", "width": 0.5}}, "type": "barpolar"}], "carpet": [{"aaxis": {"endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f"}, "baxis": {"endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f"}, "type": "carpet"}], "choropleth": [{"colorbar": {"outlinewidth": 0, "ticks": ""}, "type": "choropleth"}], "contour": [{"colorbar": {"outlinewidth": 0, "ticks": ""}, "colorscale": [[0.0, "#0d0887"], [0.1111111111111111, "#46039f"], [0.2222222222222222, "#7201a8"], [0.3333333333333333, "#9c179e"], [0.4444444444444444, "#bd3786"], [0.5555555555555556, "#d8576b"], [0.6666666666666666, "#ed7953"], [0.7777777777777778, "#fb9f3a"], [0.8888888888888888, "#fdca26"], [1.0, "#f0f921"]], "type": "contour"}], "contourcarpet": [{"colorbar": {"outlinewidth": 0, "ticks": ""}, "type": "contourcarpet"}], "heatmap": [{"colorbar": {"outlinewidth": 0, "ticks": ""}, "colorscale": [[0.0, "#0d0887"], [0.1111111111111111, "#46039f"], [0.2222222222222222, "#7201a8"], [0.3333333333333333, "#9c179e"], [0.4444444444444444, "#bd3786"], [0.5555555555555556, "#d8576b"], [0.6666666666666666, "#ed7953"], [0.7777777777777778, "#fb9f3a"], [0.8888888888888888, "#fdca26"], [1.0, "#f0f921"]], "type": "heatmap"}], "heatmapgl": [{"colorbar": {"outlinewidth": 0, "ticks": ""}, "colorscale": [[0.0, "#0d0887"], [0.1111111111111111, "#46039f"], [0.2222222222222222, "#7201a8"], [0.3333333333333333, "#9c179e"], [0.4444444444444444, "#bd3786"], [0.5555555555555556, "#d8576b"], [0.6666666666666666, "#ed7953"], [0.7777777777777778, "#fb9f3a"], [0.8888888888888888, "#fdca26"], [1.0, "#f0f921"]], "type": "heatmapgl"}], "histogram": [{"marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "histogram"}], "histogram2d": [{"colorbar": {"outlinewidth": 0, "ticks": ""}, "colorscale": [[0.0, "#0d0887"], [0.1111111111111111, "#46039f"], [0.2222222222222222, "#7201a8"], [0.3333333333333333, "#9c179e"], [0.4444444444444444, "#bd3786"], [0.5555555555555556, "#d8576b"], [0.6666666666666666, "#ed7953"], [0.7777777777777778, "#fb9f3a"], [0.8888888888888888, "#fdca26"], [1.0, "#f0f921"]], "type": "histogram2d"}], "histogram2dcontour": [{"colorbar": {"outlinewidth": 0, "ticks": ""}, "colorscale": [[0.0, "#0d0887"], [0.1111111111111111, "#46039f"], [0.2222222222222222, "#7201a8"], [0.3333333333333333, "#9c179e"], [0.4444444444444444, "#bd3786"], [0.5555555555555556, "#d8576b"], [0.6666666666666666, "#ed7953"], [0.7777777777777778, "#fb9f3a"], [0.8888888888888888, "#fdca26"], [1.0, "#f0f921"]], "type": "histogram2dcontour"}], "mesh3d": [{"colorbar": {"outlinewidth": 0, "ticks": ""}, "type": "mesh3d"}], "parcoords": [{"line": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "parcoords"}], "pie": [{"automargin": true, "type": "pie"}], "scatter": [{"marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "scatter"}], "scatter3d": [{"line": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "scatter3d"}], "scattercarpet": [{"marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "scattercarpet"}], "scattergeo": [{"marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "scattergeo"}], "scattergl": [{"marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "scattergl"}], "scattermapbox": [{"marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "scattermapbox"}], "scatterpolar": [{"marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "scatterpolar"}], "scatterpolargl": [{"marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "scatterpolargl"}], "scatterternary": [{"marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "scatterternary"}], "surface": [{"colorbar": {"outlinewidth": 0, "ticks": ""}, "colorscale": [[0.0, "#0d0887"], [0.1111111111111111, "#46039f"], [0.2222222222222222, "#7201a8"], [0.3333333333333333, "#9c179e"], [0.4444444444444444, "#bd3786"], [0.5555555555555556, "#d8576b"], [0.6666666666666666, "#ed7953"], [0.7777777777777778, "#fb9f3a"], [0.8888888888888888, "#fdca26"], [1.0, "#f0f921"]], "type": "surface"}], "table": [{"cells": {"fill": {"color": "#EBF0F8"}, "line": {"color": "white"}}, "header": {"fill": {"color": "#C8D4E3"}, "line": {"color": "white"}}, "type": "table"}]}, "layout": {"annotationdefaults": {"arrowcolor": "#2a3f5f", "arrowhead": 0, "arrowwidth": 1}, "autotypenumbers": "strict", "coloraxis": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "colorscale": {"diverging": [[0, "#8e0152"], [0.1, "#c51b7d"], [0.2, "#de77ae"], [0.3, "#f1b6da"], [0.4, "#fde0ef"], [0.5, "#f7f7f7"], [0.6, "#e6f5d0"], [0.7, "#b8e186"], [0.8, "#7fbc41"], [0.9, "#4d9221"], [1, "#276419"]], "sequential": [[0.0, "#0d0887"], [0.1111111111111111, "#46039f"], [0.2222222222222222, "#7201a8"], [0.3333333333333333, "#9c179e"], [0.4444444444444444, "#bd3786"], [0.5555555555555556, "#d8576b"], [0.6666666666666666, "#ed7953"], [0.7777777777777778, "#fb9f3a"], [0.8888888888888888, "#fdca26"], [1.0, "#f0f921"]], "sequentialminus": [[0.0, "#0d0887"], [0.1111111111111111, "#46039f"], [0.2222222222222222, "#7201a8"], [0.3333333333333333, "#9c179e"], [0.4444444444444444, "#bd3786"], [0.5555555555555556, "#d8576b"], [0.6666666666666666, "#ed7953"], [0.7777777777777778, "#fb9f3a"], [0.8888888888888888, "#fdca26"], [1.0, "#f0f921"]]}, "colorway": ["#636efa", "#EF553B", "#00cc96", "#ab63fa", "#FFA15A", "#19d3f3", "#FF6692", "#B6E880", "#FF97FF", "#FECB52"], "font": {"color": "#2a3f5f"}, "geo": {"bgcolor": "white", "lakecolor": "white", "landcolor": "#E5ECF6", "showlakes": true, "showland": true, "subunitcolor": "white"}, "hoverlabel": {"align": "left"}, "hovermode": "closest", "mapbox": {"style": "light"}, "paper_bgcolor": "white", "plot_bgcolor": "#E5ECF6", "polar": {"angularaxis": {"gridcolor": "white", "linecolor": "white", "ticks": ""}, "bgcolor": "#E5ECF6", "radialaxis": {"gridcolor": "white", "linecolor": "white", "ticks": ""}}, "scene": {"xaxis": {"backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white"}, "yaxis": {"backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white"}, "zaxis": {"backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white"}}, "shapedefaults": {"line": {"color": "#2a3f5f"}}, "ternary": {"aaxis": {"gridcolor": "white", "linecolor": "white", "ticks": ""}, "baxis": {"gridcolor": "white", "linecolor": "white", "ticks": ""}, "bgcolor": "#E5ECF6", "caxis": {"gridcolor": "white", "linecolor": "white", "ticks": ""}}, "title": {"x": 0.05}, "xaxis": {"automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": {"standoff": 15}, "zerolinecolor": "white", "zerolinewidth": 2}, "yaxis": {"automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": {"standoff": 15}, "zerolinecolor": "white", "zerolinewidth": 2}}}, "xaxis": {"anchor": "y", "domain": [0.0, 1.0], "title": {"text": "FWHM"}}, "yaxis": {"anchor": "x", "domain": [0.0, 1.0], "title": {"text": "count"}}}, {"responsive": true} ).then(function(){ + +var gd = document.getElementById('e5812cb1-5e1d-421b-96d1-99394f14d177'); +var x = new MutationObserver(function (mutations, observer) {{ + var display = window.getComputedStyle(gd).display; + if (!display || display === 'none') {{ + console.log([gd, 'removed!']); + Plotly.purge(gd); + observer.disconnect(); + }} +}}); + +// Listen for the removal of the full notebook cells +var notebookContainer = gd.closest('#notebook-container'); +if (notebookContainer) {{ + x.observe(notebookContainer, {childList: true}); +}} + +// Listen for the clearing of the current output cell +var outputEl = gd.closest('.output'); +if (outputEl) {{ + x.observe(outputEl, {childList: true}); +}} + + }) }; }); </script> </div> + + + +```python + +``` diff --git a/ENTREGA_files/ENTREGA_17_1.png b/ENTREGA_files/ENTREGA_17_1.png new file mode 100644 index 0000000000000000000000000000000000000000..862b2dd546efdc2ebe09567973c287630bb60c74 Binary files /dev/null and b/ENTREGA_files/ENTREGA_17_1.png differ diff --git a/ENTREGA_files/ENTREGA_22_0.png b/ENTREGA_files/ENTREGA_22_0.png new file mode 100644 index 0000000000000000000000000000000000000000..df18cdb0d4184efcd6b738c8d346f0867f2a00e0 Binary files /dev/null and b/ENTREGA_files/ENTREGA_22_0.png differ diff --git a/ENTREGA_files/ENTREGA_26_0.png b/ENTREGA_files/ENTREGA_26_0.png new file mode 100644 index 0000000000000000000000000000000000000000..ee251141de333647d70f326d030fe5a8886a299b Binary files /dev/null and b/ENTREGA_files/ENTREGA_26_0.png differ diff --git a/ENTREGA_files/ENTREGA_27_0.png b/ENTREGA_files/ENTREGA_27_0.png new file mode 100644 index 0000000000000000000000000000000000000000..8a4dc87d56b26b09fc928d95eec68bcf70f94320 Binary files /dev/null and b/ENTREGA_files/ENTREGA_27_0.png differ diff --git a/ENTREGA_files/ENTREGA_35_0.png b/ENTREGA_files/ENTREGA_35_0.png new file mode 100644 index 0000000000000000000000000000000000000000..02a42e2e5d4b7c38801c2c6c46f9419ec17d8dbf Binary files /dev/null and b/ENTREGA_files/ENTREGA_35_0.png differ diff --git a/ENTREGA_files/ENTREGA_37_0.png b/ENTREGA_files/ENTREGA_37_0.png new file mode 100644 index 0000000000000000000000000000000000000000..be940683fb11ccd04fed719caab0c93d65455069 Binary files /dev/null and b/ENTREGA_files/ENTREGA_37_0.png differ diff --git a/ENTREGA_files/ENTREGA_37_1.png b/ENTREGA_files/ENTREGA_37_1.png new file mode 100644 index 0000000000000000000000000000000000000000..b36cb973bdeac328c9f0b307b90cac9f58c74781 Binary files /dev/null and b/ENTREGA_files/ENTREGA_37_1.png differ diff --git a/ENTREGA_files/ENTREGA_37_2.png b/ENTREGA_files/ENTREGA_37_2.png new file mode 100644 index 0000000000000000000000000000000000000000..1a30ed1c990bd353c6389a9e98da58404e556a5b Binary files /dev/null and b/ENTREGA_files/ENTREGA_37_2.png differ diff --git a/ENTREGA_files/ENTREGA_37_3.png b/ENTREGA_files/ENTREGA_37_3.png new file mode 100644 index 0000000000000000000000000000000000000000..b29c08606d7e92e968aec2552b8eb97800694455 Binary files /dev/null and b/ENTREGA_files/ENTREGA_37_3.png differ diff --git a/ENTREGA_files/ENTREGA_37_4.png b/ENTREGA_files/ENTREGA_37_4.png new file mode 100644 index 0000000000000000000000000000000000000000..0063df362e4682327f2a5f0acade285ab9a0f3fa Binary files /dev/null and b/ENTREGA_files/ENTREGA_37_4.png differ diff --git a/ENTREGA_files/ENTREGA_37_5.png b/ENTREGA_files/ENTREGA_37_5.png new file mode 100644 index 0000000000000000000000000000000000000000..2b1dfc8b740980723cde83e294b4043c5944a9b2 Binary files /dev/null and b/ENTREGA_files/ENTREGA_37_5.png differ diff --git a/ENTREGA_files/ENTREGA_37_6.png b/ENTREGA_files/ENTREGA_37_6.png new file mode 100644 index 0000000000000000000000000000000000000000..0593c071b72111445f3138c33230438847f273ae Binary files /dev/null and b/ENTREGA_files/ENTREGA_37_6.png differ diff --git a/ENTREGA_files/ENTREGA_37_7.png b/ENTREGA_files/ENTREGA_37_7.png new file mode 100644 index 0000000000000000000000000000000000000000..958f7bf16ad7f847272f39386e7ab65983132222 Binary files /dev/null and b/ENTREGA_files/ENTREGA_37_7.png differ diff --git a/ENTREGA_files/ENTREGA_37_8.png b/ENTREGA_files/ENTREGA_37_8.png new file mode 100644 index 0000000000000000000000000000000000000000..cccd9c8adbe368cc585545e084efd7ea057e6c70 Binary files /dev/null and b/ENTREGA_files/ENTREGA_37_8.png differ diff --git a/ENTREGA_files/ENTREGA_37_9.png b/ENTREGA_files/ENTREGA_37_9.png new file mode 100644 index 0000000000000000000000000000000000000000..41d9703c2458ef2031bc13aa7195b3cd51b3a0fd Binary files /dev/null and b/ENTREGA_files/ENTREGA_37_9.png differ diff --git a/ENTREGA_files/ENTREGA_6_1.png b/ENTREGA_files/ENTREGA_6_1.png new file mode 100644 index 0000000000000000000000000000000000000000..4b4e83624093a98e80803431e74af35b5717850b Binary files /dev/null and b/ENTREGA_files/ENTREGA_6_1.png differ diff --git a/ENTREGA_files/ENTREGA_8_1.png b/ENTREGA_files/ENTREGA_8_1.png new file mode 100644 index 0000000000000000000000000000000000000000..5fcf07b72ced475bba69109bd52502266eeb4d93 Binary files /dev/null and b/ENTREGA_files/ENTREGA_8_1.png differ diff --git a/ENTREGA_prueba.ipynb b/ENTREGA_prueba.ipynb deleted file mode 100644 index 677f482880116d647805a5e323c3500bed46f28d..0000000000000000000000000000000000000000 --- a/ENTREGA_prueba.ipynb +++ /dev/null @@ -1,1385 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "(789, 1184, 3)\n", - "[[[25 6 10]\n", - " [25 6 10]\n", - " [25 6 10]\n", - " ...\n", - " [31 15 18]\n", - " [36 20 23]\n", - " [39 23 26]]\n", - "\n", - " [[26 7 11]\n", - " [26 7 11]\n", - " [26 7 11]\n", - " ...\n", - " [32 16 19]\n", - " [36 20 21]\n", - " [38 22 23]]\n", - "\n", - " [[27 8 12]\n", - " [27 8 12]\n", - " [27 8 12]\n", - " ...\n", - " [33 17 20]\n", - " [36 20 21]\n", - " [37 21 22]]\n", - "\n", - " ...\n", - "\n", - " [[24 8 21]\n", - " [23 7 20]\n", - " [23 7 20]\n", - " ...\n", - " [10 3 10]\n", - " [12 5 12]\n", - " [14 7 14]]\n", - "\n", - " [[22 6 19]\n", - " [23 7 20]\n", - " [24 8 21]\n", - " ...\n", - " [12 5 12]\n", - " [12 5 12]\n", - " [12 5 13]]\n", - "\n", - " [[20 4 17]\n", - " [22 6 19]\n", - " [25 9 22]\n", - " ...\n", - " [14 7 15]\n", - " [13 6 14]\n", - " [10 3 11]]]\n" - ] - } - ], - "source": [ - "from PIL import Image\n", - "from numpy import asarray\n", - "import numpy as np\n", - "# load the image\n", - "image = Image.open('data/zapatocaImage.jpeg')\n", - "# convert image to numpy array\n", - "data = asarray(image) # abrimos la imagen en forma de array\n", - "print(data.shape)\n", - "print(data)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "*R*,*G*,*B*" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "from skimage import io, color\n", - "\n", - "lina_color = io.imread('data/zapatocaImage.jpeg')\n", - "lina_gray = color.rgb2gray(lina_color)\n" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "(789, 1184)\n" - ] - } - ], - "source": [ - "print(lina_gray.shape)" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[[26 7 11]\n", - " [26 7 11]\n", - " [26 7 11]\n", - " ...\n", - " [32 16 19]\n", - " [36 20 21]\n", - " [38 22 23]]\n", - "[[0.04049373 0.04049373 0.04049373 ... 0.0730051 0.09261294 0.10437765]\n", - " [0.04441529 0.04441529 0.04441529 ... 0.07692667 0.09204745 0.09989059]\n", - " [0.04833686 0.04833686 0.04833686 ... 0.08084824 0.09204745 0.09596902]\n", - " ...\n", - " [0.04838157 0.04446 0.04446 ... 0.01957725 0.02742039 0.03526353]\n", - " [0.04053843 0.04446 0.04838157 ... 0.02742039 0.02742039 0.02770314]\n", - " [0.03269529 0.04053843 0.05230314 ... 0.03554627 0.03162471 0.01986 ]]\n" - ] - } - ], - "source": [ - "R = data[1][:][:]\n", - "\n", - "print(R)\n", - "print(lina_gray)" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [], - "source": [ - "b, g, r = data[:, :, 0], data[:, :, 1], data[:, :, 2] # For RGB image" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[[25 25 25 ... 31 36 39]\n", - " [26 26 26 ... 32 36 38]\n", - " [27 27 27 ... 33 36 37]\n", - " ...\n", - " [24 23 23 ... 10 12 14]\n", - " [22 23 24 ... 12 12 12]\n", - " [20 22 25 ... 14 13 10]]\n" - ] - } - ], - "source": [ - "print(b)" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [], - "source": [ - "rgb= b*g*r" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "255\n", - "[[0.07177974 0.07177974 0.07177974 ... 0.12782694 0.16224189 0.18289086]\n", - " [0.07866273 0.07866273 0.07866273 ... 0.13470993 0.15634218 0.17010816]\n", - " [0.08554572 0.08554572 0.08554572 ... 0.14159292 0.15634218 0.16322517]\n", - " ...\n", - " [0.10914454 0.10226155 0.10226155 ... 0.04818092 0.0619469 0.07571288]\n", - " [0.09537856 0.10226155 0.10914454 ... 0.0619469 0.0619469 0.06489676]\n", - " [0.08161259 0.09537856 0.11602753 ... 0.07866273 0.07177974 0.05113078]]\n", - "(789, 1184)\n" - ] - } - ], - "source": [ - "print(np.max(rgb))\n", - "Grayscale = (r + g + b / 3)\n", - "\n", - "Grayscale =Grayscale/np.max(Grayscale)\n", - "print(Grayscale)\n", - "print(Grayscale.shape)" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [], - "source": [ - "G=Grayscale/np.max(Grayscale)\n" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[0.07866273]\n", - "[0.04441529]\n" - ] - } - ], - "source": [ - "print(G[1,:1])\n", - "print(lina_gray[1,:1])" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "<matplotlib.image.AxesImage at 0x7f6a4a7816a0>" - ] - }, - "execution_count": 11, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "<Figure size 432x288 with 1 Axes>" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "import matplotlib.pyplot as plt\n", - "import matplotlib.cm as cm\n", - "\n", - "\n", - "plt.imshow(Grayscale, cmap=cm.gray, vmax=np.max(Grayscale))\n" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "0.24338912304684565 0.39277252958736175\n" - ] - } - ], - "source": [ - "std = np.std(Grayscale)\n", - "mean = np.mean(Grayscale)\n", - "print(std,mean)\n" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "(789, 1184)\n" - ] - }, - { - "data": { - "text/plain": [ - "<matplotlib.image.AxesImage at 0x7f6a4a34ce80>" - ] - }, - "execution_count": 13, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "<Figure size 432x288 with 1 Axes>" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "import matplotlib.pyplot as plt\n", - "import matplotlib.cm as cm\n", - "\n", - "print(Grayscale.shape)\n", - "plt.imshow(lina_gray, cmap=cm.gray)" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "<matplotlib.image.AxesImage at 0x7f6a4a2c1b38>" - ] - }, - "execution_count": 14, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "<Figure size 432x288 with 1 Axes>" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "estrella7 = Grayscale[457:470,315:335]\n", - "plt.imshow(estrella7, cmap=cm.gray, vmax=np.max(estrella7))" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "<matplotlib.image.AxesImage at 0x7f6a4a2ae748>" - ] - }, - "execution_count": 15, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "<Figure size 432x288 with 1 Axes>" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "estrella2 = Grayscale[542:570,650:680]\n", - "plt.imshow(estrella2, cmap=cm.gray, vmax=np.max(estrella2))" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "<matplotlib.image.AxesImage at 0x7f6a48f3b208>" - ] - }, - "execution_count": 16, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "<Figure size 432x288 with 1 Axes>" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "estrella3 = Grayscale[239:249,210:225]\n", - "plt.imshow(estrella3, cmap=cm.gray, vmax=np.max(estrella3))" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "<matplotlib.image.AxesImage at 0x7f6a48f20160>" - ] - }, - "execution_count": 17, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "<Figure size 432x288 with 1 Axes>" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "estrella4 = Grayscale[310:325,620:640]\n", - "plt.imshow(estrella4, cmap=cm.gray, vmax=np.max(estrella4))" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "<matplotlib.image.AxesImage at 0x7f6a4a31bc18>" - ] - }, - "execution_count": 18, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "<Figure size 432x288 with 1 Axes>" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "estrella5 = Grayscale[370:385,440:460]\n", - "plt.imshow(estrella5, cmap=cm.gray, vmax=np.max(estrella5))" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "<matplotlib.image.AxesImage at 0x7f6a48deb0f0>" - ] - }, - "execution_count": 19, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAALMAAAD4CAYAAACni9dcAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAAAN4klEQVR4nO3de4wd9XnG8e/jtY1h1/YaY4IBE2OEQG5UCWRuadSiuq0IjXD/iIQRaUlbCUVVWqgiRdBIjVTxR6RW6UWNGqGQlqoIIghpUQQtlpOoqlTcGNeGGBN8KfiCLwRfF/Bld9/+ccboZNnbeWfO2e2vz0da+eyZ+e3v9fjZ8ZyZOe9RRGBWgjkzXYBZUxxmK4bDbMVwmK0YDrMVY24vJ1u4cGEsW7as43EjIyPpObNnay644IL0nFl1ziwNDw83WMn0zJs3LzVudHQ0PeeePXt+FhHjhqinYV62bBmPPPJIx+OOHz+enjO74VatWpWeM/vLVyeQ7777bmrcnDn5/5wzOyaADz74ID3n3Xff/dZEy3yYYcVwmK0YtcIs6Q5JP5W0S9JDTRVllpEOs6Q+4BvAp4HVwD2SVjdVmFmn6uyZbwZ2RcSeiDgLPAWsa6Yss87VCfMVwL627/dXz5nNiK6/AJR0v6TNkjafOnWq29PZ/2N1wnwAWNH2/ZXVcz8nIh6NiDURsWbhwoU1pjObXJ0w/xi4VtLVkuYD64HnminLrHPpK4ARMSzpi8C/AX3AtyNie2OVmXWo1uXsiHgeeL6hWsxq8RVAK4bDbMXo6V1zklK3Dda5HfPcuXOpcZLSc545cyY1rs4dbAsWLEiNW758eXrO1atzF3wPHz6cnnMy3jNbMRxmK4bDbMVwmK0YDrMVw2G2YjjMVgyH2YrhMFsxHGYrhsNsxXCYrRgOsxWjp3fNzZkzh4GBgY7HZRv0Qf4OtgsvvLDnc1500UXpObP6+/vTY7Pv6RwaGkrPORnvma0YDrMVw2G2YtTpNbdC0g8lvSZpu6QHmizMrFN1XgAOA1+KiC2SFgIvS9oQEa81VJtZR9J75og4GBFbqsengB2415zNoEaOmSWtBG4ANjXx88wyaodZ0gDwXeDBiDg5zvIPGyeePPmRxWaNqds5fx6tID8REc+Ot05748RFixbVmc5sUnXOZgh4DNgREV9vriSznDp75l8Cfhv4VUlbq687G6rLrGN1uoD+B5Bv+2PWMF8BtGI4zFaMnt4C2tfXl7oFtM7HR5w+fTo1rs6ZlxUrVky90jjqNE58660JP4V3UtntA/kGiNlap+I9sxXDYbZiOMxWDIfZiuEwWzEcZiuGw2zFcJitGA6zFcNhtmI4zFYMh9mK4TBbMXp+11zmbrTR0dH0nNlmhIODg+k5Fy9enBpX5yOOL7vsstS47McxAwwPD6fG1bk7cNKf25WfajYDHGYrhsNsxWiiCUyfpP+W9P0mCjLLamLP/ACtPnNmM6puR6Mrgd8EvtVMOWZ5dffMfwV8GcifOzNrSJ32XJ8BjkTEy1Os92HjxGPHjmWnM5tS3fZcd0l6E3iKVpuufxq7UnvjxCVLltSYzmxydZqNPxwRV0bESmA98IOI+FxjlZl1yOeZrRiN3JsRET8CftTEzzLL8p7ZiuEwWzF6egvoyMgI7733Xsfj6nyO9dKlS1PjrrrqqvScK1euTI2rc7bn0KFDqXHbt29Pz3nw4MHUuL6+vvSck/Ge2YrhMFsxHGYrhsNsxXCYrRgOsxXDYbZiOMxWDIfZiuEwWzEcZiuGw2zFcJitGD29a250dJShoaGOx/X396fnvPzyy1PjVq9enZ7z3nvv7fmcR44cSY27/fbb03Nu3LgxNW7BggXpOSfjPbMVw2G2YjjMVoy67bkGJT0j6XVJOyTd1lRhZp2q+wLwr4F/jYjPSpoP5NrUmzUgHWZJi4FfBj4PEBFngbPNlGXWuTqHGVcD7wB/X/Vn/pak/Dk0s5rqhHkucCPwdxFxA/Ae8NDYldobJ544caLGdGaTqxPm/cD+iNhUff8MrXD/nPbGidlPYTKbjjqNEw8B+yRdVz21FnitkarMEuqezfhD4InqTMYe4Hfrl2SWUyvMEbEVWNNMKWb1+AqgFcNhtmL09BbQrHnz5qXHZj6rG+C22/JX5teuXZsad8stt6TnPHr0aGrctm3b0nNeeumlqXHd+jgQ75mtGA6zFcNhtmI4zFYMh9mK4TBbMRxmK4bDbMVwmK0YDrMVw2G2YjjMVgyH2YrR07vmJDF3budTzpmT/50bHR1NjTt7Nt81YWRkJD02a/78+alxdbatpNS4Ott2Mt4zWzEcZiuGw2zFqNs48Y8lbZf0E0lPSupOF2mzaUiHWdIVwB8BayLiE0AfsL6pwsw6VfcwYy5woaS5tDqAvl2/JLOcOh2NDgB/AewFDgInIuLFpgoz61Sdw4wlwDpa3UAvB/olfW6c9T5snHj8+PF0oWZTqXOY8WvA/0TEOxFxDngW+OTYldobJw4ODtaYzmxydcK8F7hV0kVqXQpaC+xopiyzztU5Zt5Eq43tFuDV6mc92lBdZh2r2zjxq8BXG6rFrBZfAbRiOMxWjP8TjRPPnDmTHpv9TOnrr78+PefmzZtT4wYGBtJzZk97vv12/jpXRKTG1fn3nIz3zFYMh9mK4TBbMRxmK4bDbMVwmK0YDrMVw2G2YjjMVgyH2YrhMFsxHGYrhsNsxejpXXOjo6OcPn2643HHjh1Lz5ltDLhz5870nNmPKt6xI/+us6GhodS47B1+ACdPnkyNy9Y6Fe+ZrRgOsxXDYbZiTBlmSd+WdETST9qeu1jSBkk7qz+XdLdMs6lNZ8/8D8AdY557CNgYEdcCG6vvzWbUlGGOiH8Hjo55eh3wePX4ceC3mi3LrHPZY+aPRcTB6vEh4GMN1WOWVvsFYLTeojvh23TbGyeeOHGi7nRmE8qG+bCk5QDVnxO+n7+9ceLixYuT05lNLRvm54D7qsf3Af/STDlmedM5Nfck8J/AdZL2S/p94GvAr0vaSau17de6W6bZ1Ka8NyMi7plg0dqGazGrxVcArRgOsxWj57eAvv/++x2PGx4erjVnRvazqAGefvrp1LhrrrkmPWd2G+3bty895969e1PjuvXZNt4zWzEcZiuGw2zFcJitGA6zFcNhtmI4zFYMh9mK4TBbMRxmK4bDbMVwmK0YDrMVo6d3zUVEqnHiTNw1l7m777ylS5emxtVpYpjdRpJ6PqfvmjObgsNsxXCYrRjZxol/Lul1Sa9I+p6kwa5WaTYN2caJG4BPRMQvAm8ADzdcl1nHUo0TI+LFiDj/UvYl4Mou1GbWkSaOmX8PeKGBn2NWS60wS/oKMAw8Mck6HzZOzH6gi9l0pMMs6fPAZ4B7q06g42pvnLho0aLsdGZTSl0BlHQH8GXgVyIif6nMrEHZxol/CywENkjaKumbXa7TbErZxomPdaEWs1p8BdCK4TBbMXreOPHs2bMdj5vkZMmU+vr6UuPqzHnu3LnUuOznfAP09/enxmVuyT0ve6p1YGAgPedkvGe2YjjMVgyH2YrhMFsxHGYrhsNsxXCYrRgOsxXDYbZiOMxWDIfZiuEwWzEcZitGzxsnnjlzppdTMndu7q84MjKSnnP37t2pcXXumhscHEyNO3r06NQrTSDbAPGmm25KzzkZ75mtGA6zFcNhtmKkGie2LfuSpJB0SXfKM5u+bONEJK0AfgPY23BNZimpxomVv6TVCCb/ZjmzBqWOmSWtAw5ExLaG6zFL6/gkrKSLgD+hdYgxnfXvB+4HuPjiizudzmzaMnvma4CrgW2S3qTVm3mLpMvGW7m9cWK33mJuBok9c0S8Clx6/vsq0Gsi4mcN1mXWsWzjRLNZJ9s4sX35ysaqMavBVwCtGA6zFUN1GgR2PJn0DvDWBIsvAWbTi8jZVg/Mvppmop6PR8Sy8Rb0NMyTkbQ5ItbMdB3nzbZ6YPbVNNvq8WGGFcNhtmLMpjA/OtMFjDHb6oHZV9OsqmfWHDOb1TWb9sxmtTjMVoyeh1nSHZJ+KmmXpIfGWX6BpO9UyzdJWtnFWlZI+qGk1yRtl/TAOOvcLulE9eGdWyX9abfqaZvzTUmvVvNtHme5JP1NtY1ekXRjF2u5ru3vvlXSSUkPjlmn59toXBHRsy+gD9gNrALmA9uA1WPW+QPgm9Xj9cB3uljPcuDG6vFC4I1x6rkd+H6Pt9ObwCWTLL8TeAEQcCuwqYf/fodoXbiY0W003lev98w3A7siYk9EnAWeAtaNWWcd8Hj1+BlgrSR1o5iIOBgRW6rHp4AdwBXdmKth64B/jJaXgEFJy3sw71pgd0RMdBV3RvU6zFcA+9q+389Hw/PhOhExDJwAlna7sOpw5gZg0ziLb5O0TdILkn6h27XQel/li5Jert6pM9Z0tmM3rAeenGBZr7fRR/S0PddsJWkA+C7wYESM/aTGLbT+Wx2SdCfwz8C1XS7pUxFxQNKlwAZJr0frjcUzRtJ84C7g4XEWz8Q2+ohe75kPACvavr+yem7cdSTNBRYD73arIEnzaAX5iYh4duzyiDgZEUPV4+eBed3uExIRB6o/jwDfo3V41m4627Fpnwa2RMThsQtmYhuNp9dh/jFwraSrq9/09cBzY9Z5DrivevxZ4AdRvcpoWnUs/hiwIyK+PsE6l50/Zpd0M61t1s1frn5JC88/pvXG4bENeJ4Dfqc6q3ErcCIiDnarpso9THCI0ettNKFev+Kk9Ur8DVpnNb5SPfdnwF3V4wXA08Au4L+AVV2s5VO0jk9fAbZWX3cCXwC+UK3zRWA7rTMvLwGf7PL2WVXNta2a9/w2aq9JwDeqbfgqrfdgdrOmflrhXNz23Ixto4m+fDnbiuErgFYMh9mK4TBbMRxmK4bDbMVwmK0YDrMV438BuoohUXPZ0uoAAAAASUVORK5CYII=\n", - "text/plain": [ - "<Figure size 432x288 with 1 Axes>" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "estrella6 = Grayscale[140:155,388:398]\n", - "plt.imshow(estrella6, cmap=cm.gray, vmax=np.max(estrella6))" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "<matplotlib.image.AxesImage at 0x7f6a48dc4e48>" - ] - }, - "execution_count": 20, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "<Figure size 432x288 with 1 Axes>" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "estrella7 = Grayscale[516:531,648:664]\n", - "plt.imshow(estrella7, cmap=cm.gray, vmax=np.max(estrella7))" - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "<matplotlib.image.AxesImage at 0x7f6a48d33da0>" - ] - }, - "execution_count": 21, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "<Figure size 432x288 with 1 Axes>" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "estrella8 = Grayscale[495:510,675:695]\n", - "plt.imshow(estrella8, cmap=cm.gray, vmax=np.max(estrella8))" - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "<matplotlib.image.AxesImage at 0x7f6a48d1feb8>" - ] - }, - "execution_count": 22, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "<Figure size 432x288 with 1 Axes>" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "estrella9 = Grayscale[516:531,658:675]\n", - "plt.imshow(estrella9, cmap=cm.gray, vmax=np.max(estrella9))" - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "<matplotlib.image.AxesImage at 0x7f6a48c977f0>" - ] - }, - "execution_count": 23, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAUQAAAD4CAYAAACUlZ98AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAAATKUlEQVR4nO3de2zd9XnH8c8nvuTiBGNCoJSghVIUtWs3QFavjKHCWMqq0k3VBKIbbZGiarC1U6eKrlJb7a913bpr1SprGWxDFI22K0J0JWuL0FBhNWkC4VKgLA2BQMKIciGJEzvP/jhfV66xHef5Xc6he78ky8fn/L55Hv/O8Se/c3uOI0IAAGlRtxsAgF5BIAJAQSACQEEgAkBBIAJA0d9msaGhoRgZGTnhdbbTNbNrq9QcGBhovWaVtVnZVygcO3as9ZpVZPut0uvk5GTrNRctyh0fdeM66evrS6/dvn37ixGxarbLWg3EkZERXX/99Se8bnBwMF0zG05VdvgZZ5yRWtffn786Fi9enF6bNT4+nlp3+PDh1mtWceTIkVbXSdK+fftS66rsn6VLl6bWZcNbyofpSSedlK553XXX/XSuy7jLDAAFgQgARaVAtL3O9o9tP2X7hrqaAoBuSAei7T5JX5T0bklvlHSV7TfW1RgAtK3KEeJbJD0VEU9HxBFJX5N0RT1tAUD7qgTimZKemfbzjnIeALwqNf6kiu31tsdsj7388stNlwOAtCqB+Kyks6b9vLqc93MiYkNEjEbE6NDQUIVyANCsKoH4Q0nn2j7b9qCkKyXdUU9bANC+9FsjImLC9vWSviOpT9KNEfFIbZ0BQMsqvXUvIu6SdFdNvQBAV/FOFQAoCEQAKFqddmM7NdElO7GmytrsKCRJWrZsWWpdld9zeHg4ta7K1JDsZJUXX3wxXfPgwYOpdVXGo+3cuTO1Ljv1SMrfFnbv3p2uWWXaUlb2pXhNvYSPI0QAKAhEACgIRAAoCEQAKAhEACgIRAAoCEQAKAhEACgIRAAoCEQAKAhEACgIRAAoCEQAKNofb5FQZVLJkiVLUuuWLl2arpmdIHPxxRena65cuTK1btWqVemae/bsSa177rnn0jUffPDB1Lr9+/ena05OTrZe89ChQ6l1g4OD6ZrZaTfZv7Eqa48cOZKuOR+OEAGgIBABoCAQAaBIB6Lts2x/3/ajth+x/dE6GwOAtlV5UmVC0scjYpPtFZIetL0xIh6tqTcAaFX6CDEidkbEpnJ6v6THJJ1ZV2MA0LZaHkO0vUbS+ZIeqOPfA4BuqByItpdL+rqkj0XEvlkuX297zPbYgQMHqpYDgMZUCkTbA+qE4S0R8Y3ZtomIDRExGhGjy5cvr1IOABpV5VlmS/qqpMci4gv1tQQA3VHlCPGdkn5P0rtsby5fl9fUFwC0Lv2ym4j4L0n5NxkDQI/hnSoAUBCIAFC0Pv6rr6/vhNcMDw+n661YsSK1LjsKSZIuvPDC1Lo3vOEN6ZrnnXdeat0555yTrrlv3yteZbUgW7ZsSdd861vfmlq3devWdM2JiYnUuvHx8XTNzN9JVRGRWpfdP1VqHjt2LF1zPhwhAkBBIAJAQSACQEEgAkBBIAJAQSACQEEgAkBBIAJAQSACQEEgAkBBIAJAQSACQEEgAkDR6rSbRYsWaenSpSe8LjuxRpJGRkZS6wYHB9M116xZk1p3/vnnp2teffXVqXWvf/3r0zUPHz6cWnfPPfeka2Yn7Jx77rnpmmNjY6l1Bw8eTNccGBhIrTt06FC65tGjR1PrFi3KH1dlp9Zkp+QcD0eIAFAQiABQEIgAUNTxQfV9tn9k+846GgKAbqnjCPGjkh6r4d8BgK6qFIi2V0v6LUlfqacdAOieqkeIfyPpE5Ka+cQXAGhROhBtv0fSroh48Djbrbc9ZnvswIED2XIA0LgqR4jvlPRe29skfU3Su2z/68yNImJDRIxGxOjy5csrlAOAZqUDMSI+GRGrI2KNpCslfS8iPlBbZwDQMl6HCABFLe9ljoh7JN1Tx78FAN3CESIAFAQiABStjv/q6+tT5pnmKqO4li1bllqXHRsmSaeddlpq3dq1a9M1L7rootS67P6R8iOYqozFuu+++1LrHn300XTNzMg6SVq8eHG6ZnakVnacliRNTk6m1vX19aVrMv4LAHoUgQgABYEIAAWBCAAFgQgABYEIAAWBCAAFgQgABYEIAAWBCAAFgQgABYEIAAWBCABFq9NuIiI1UWNiYqKBbuaXnTYiSStXrkytO/nkk9M1q0wEyrKdWldlws7w8HBq3apVq9I1u6GpaS5N6EavVab6zIcjRAAoCEQAKAhEACgqBaLtk23fbvtx24/ZfntdjQFA26o+qfK3kv4jIt5ve1BS/tFyAOiydCDaHpZ0kaQPSlJEHJF0pJ62AKB9Ve4yny1pt6R/sv0j21+xPVRTXwDQuiqB2C/pAklfiojzJb0s6YaZG9leb3vM9tj+/fsrlAOAZlUJxB2SdkTEA+Xn29UJyJ8TERsiYjQiRlesWFGhHAA0Kx2IEfG8pGdsT32Y8CWS8h9+CwBdVvVZ5j+UdEt5hvlpSR+q3hIAdEelQIyIzZJG62kFALqLd6oAQEEgAkDR6vivyclJZV56U+XZ6fHx8dS6vXv3pmsePHgwtW7Xrl3pmtu3b0+tW716dbpmdizbM888k6750ksvpdb19+dv6tnbUHadpNSYPKnaWKzsGK9ujP9qaiQgR4gAUBCIAFAQiABQEIgAUBCIAFAQiABQEIgAUBCIAFAQiABQEIgAUBCIAFAQiABQEIgAULQ67SYiUlMqstNjqqxdtCj/f8XDDz+cWrd48eJ0zZNOOim17s1vfnO65oEDB1Lr7rvvvnTN7L7NTgOSpJdffjm17tChQ+maR47kPtHXdrpmVpW/lSrTeZrAESIAFAQiABQEIgAUlQLR9h/bfsT2Vtu32l5SV2MA0LZ0INo+U9IfSRqNiDdJ6pN0ZV2NAUDbqt5l7pe01Ha/pGWSnqveEgB0RzoQI+JZSX8pabuknZL2RsTddTUGAG2rcpd5RNIVks6W9FpJQ7Y/MMt2622P2R7Lvp4LANpQ5S7zpZL+JyJ2R8RRSd+Q9I6ZG0XEhogYjYjRoaGhCuUAoFlVAnG7pLfZXubOy+MvkfRYPW0BQPuqPIb4gKTbJW2S9HD5tzbU1BcAtK7Se5kj4jOSPlNTLwDQVbxTBQAKAhEAilbHf9lWf/+Jlzx69Gi6ZnaMUl9fX7rmvffem1p36aWXpmtmR3Ft2rQpXXPPnj2pddu2bUvXfPzxx1PrsmPDJGnnzp2pdVXGf2XHYlUZp5W9zVcZOcb4LwDoUQQiABQEIgAUBCIAFAQiABQEIgAUBCIAFAQiABQEIgAUBCIAFAQiABQEIgAUBCIAFK1Ou+nr69Pw8PAJr8tMyJmS/WCrKh+ItXLlytS6O++8M10zs18ladGi/P+J2UlCBw8eTNfMTth54okn0jWff/751LqJiYl0zfHx8dS6KpOhIiK9Nis7YWfx4sU1d9LBESIAFAQiABQEIgAUxw1E2zfa3mV767TzTrG90faT5ftIs20CQPMWcoR4k6R1M867QdJ3I+JcSd8tPwPAq9pxAzEi7pX00oyzr5B0czl9s6T31dsWALQv+xji6REx9ck7z0s6vaZ+AKBrKj+pEp0XL835Aibb622P2R7bv39/1XIA0JhsIL5g+wxJKt93zbVhRGyIiNGIGF2xYkWyHAA0LxuId0i6ppy+RtK36mkHALpnIS+7uVXSDySttb3D9rWS/lzSb9h+UtKl5WcAeFU77puEI+KqOS66pOZeAKCreKcKABQEIgAUrY7/mpiY0O7du0943eDgYLrm0NBQq+skpX5Hqdq4qMOHD6fWdWP8V5URVdmxbFVGjg0MDKTXZk1OTqbWHTt2LF0ze31WUeX214Te6gYAuohABICCQASAgkAEgIJABICCQASAgkAEgIJABICCQASAgkAEgIJABICCQASAgkAEgKLVaTcRkZqoUWVSSXaCTJWpIePj46l1VabdvJo+wMt2em12Ikt2So4k9ffn/kz6+vrSNbNrq0yPqXK9ZFX5O2sCR4gAUBCIAFAQiABQLORT9260vcv21mnnfd7247Yfsv1N2yc32iUAtGAhR4g3SVo347yNkt4UEb8i6QlJn6y5LwBo3XEDMSLulfTSjPPujoipp0Tvl7S6gd4AoFV1PIb4YUnfruHfAYCuqhSItj8laULSLfNss972mO2xKq8FA4CmpQPR9gclvUfS1RERc20XERsiYjQiRqt8tCcANC31Enzb6yR9QtKvR0T+bSQA0EMW8rKbWyX9QNJa2ztsXyvpHyStkLTR9mbbX264TwBo3HGPECPiqlnO/moDvQBAV/FOFQAoCEQAKFod/2VbS5YsOeF12ZFPknTgwIFW10nSqaeemlp39OjRdM3s6LAqI8eyo6YGBwfTNbP9Tk5Opmtmf895XnzxC6XK75kd/9XU2DCOEAGgIBABoCAQAaAgEAGgIBABoCAQAaAgEAGgIBABoCAQAaAgEAGgIBABoCAQAaAgEAGgaHXajZSbjDEwMNBqPUk6fPhwumY3pqNk+63ye/b3524+VSaVZNeOj4+3XrPK75mdfFTl98ze/qpMTOo1HCECQEEgAkBBIAJAsZBP3bvR9i7bW2e57OO2w3ZuRDQA9JCFHCHeJGndzDNtnyXpMknba+4JALriuIEYEfdKemmWi/5anQ+r///xwREAfuGlHkO0fYWkZyNiS839AEDXnPALyWwvk/Sn6txdXsj26yWtl6SRkZETLQcArckcIZ4j6WxJW2xvk7Ra0ibbr5lt44jYEBGjETE6NDSU7xQAGnbCR4gR8bCk06Z+LqE4GhEv1tgXALRuIS+7uVXSDySttb3D9rXNtwUA7TvuEWJEXHWcy9fU1g0AdBHvVAGAgkAEgMJVRk6dcDF7t6SfznHxqZJ66YmZXutH6r2e6Gd+vdaP1Hs9daOfX4qIVbNd0Gogzsf2WESMdruPKb3Wj9R7PdHP/HqtH6n3euq1frjLDAAFgQgARS8F4oZuNzBDr/Uj9V5P9DO/XutH6r2eeqqfnnkMEQC6rZeOEAGgqwhEAChaD0Tb62z/2PZTtm+Y5fLFtm8rlz9ge02DvZxl+/u2H7X9iO2PzrLNxbb32t5cvj7dVD/Tam6z/XCpNzbL5bb9d2UfPWT7ggZ7WTvtd99se5/tj83YptF9NNvHWNg+xfZG20+W77POlrN9TdnmSdvXNNjP520/Xq6Pb9o+eY618163Nff0WdvPTrteLp9j7bx/kzX2c9u0XrbZ3jzH2kb20YJERGtfkvok/UTS6yQNStoi6Y0ztvkDSV8up6+UdFuD/Zwh6YJyeoWkJ2bp52JJd7a8n7ZJOnWeyy+X9G1JlvQ2SQ+0eP09r84LW1vbR5IuknSBpK3TzvsLSTeU0zdI+tws606R9HT5PlJOjzTUz2WS+svpz83Wz0Ku25p7+qykP1nAdTrv32Rd/cy4/K8kfbrNfbSQr7aPEN8i6amIeDoijkj6mqQrZmxzhaSby+nbJV1i2000ExE7I2JTOb1f0mOSzmyiVs2ukPTP0XG/pJNtn9FC3Usk/SQi5nq3USNi9o+xmH47uVnS+2ZZ+puSNkbESxGxR9JGzfL5QHX0ExF3R8TUJ7bfr86c0NbMsY8WYiF/k7X2U/6ef1fSrVXr1K3tQDxT0jPTft6hVwbQz7YpN7C9klY23Vi5a36+pAdmufjttrfY/rbtX266F3U+p+Zu2w+WieMzLWQ/NuFKzX0jbnsfnR4RO8vp5yWdPss23dpPH1bnCH42x7tu63Z9uRt/4xwPK3RjH/2apBci4sk5Lm97H/0MT6pIsr1c0tclfSwi9s24eJM6dxF/VdLfS/r3Flq6MCIukPRuSdfZvqiFmvOyPSjpvZL+bZaLu7GPfiY697N64vVjtj8laULSLXNs0uZ1+yV1JtyfJ2mnOndTe8FVmv/osGu3/7YD8VlJZ037eXU5b9ZtbPdLGpb0v001ZHtAnTC8JSK+MfPyiNgXEQfK6bskDbjhz6GOiGfL912SvqnO3ZrpFrIf6/ZuSZsi4oWZF3RjH0l6YephgvJ91yzbtLqfbH9Q0nskXV1C+hUWcN3WJiJeiIjJiDgm6R/nqNX2PuqX9DuSbptrmzb30UxtB+IPJZ1r++xyxHGlpDtmbHOHpKlnA98v6Xtz3biqKo9lfFXSYxHxhTm2ec3UY5i236LOPmsyoIdsr5g6rc6D9VtnbHaHpN8vzza/TdLeaXcfmzLn/+pt76Ni+u3kGknfmmWb70i6zPZIubt4WTmvdrbXqfOxvO+NiINzbLOQ67bOnqY/rvzbc9RayN9knS6V9HhE7Jjtwrb30Su0/SyOOs+QPqHOM1ufKuf9mTo3JElaos7dsqck/bek1zXYy4Xq3NV6SNLm8nW5pI9I+kjZ5npJj6jz7Nv9kt7R8P55Xam1pdSd2kfTe7KkL5Z9+LA6n2nTZE9D6gTc8LTzWttH6gTxTklH1XmM61p1Hlf+rqQnJf2npFPKtqOSvjJt7YfLbekpSR9qsJ+n1Hksbup2NPVKiddKumu+67bBnv6l3D4eUifkzpjZU/n5FX+TTfRTzr9p6nYzbdtW9tFCvnjrHgAUPKkCAAWBCAAFgQgABYEIAAWBCAAFgQgABYEIAMX/AQzASXYIQFRfAAAAAElFTkSuQmCC\n", - "text/plain": [ - "<Figure size 432x288 with 1 Axes>" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "estrella9 = Grayscale[310:325,620:640]\n", - "plt.imshow(estrella9, cmap=cm.gray, vmax=np.max(estrella9))" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "<matplotlib.image.AxesImage at 0x7f6a48bfe908>" - ] - }, - "execution_count": 24, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAUQAAAD4CAYAAACUlZ98AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAAATNklEQVR4nO3de2ydd33H8c/HtzRJ7VxK2oamWkuFKlG0jcpC3NYBZV3ogLAJTS2wFVoRoY0NJiZUhgRoQmKMjV0RKEDXbqtKtQKjQmVtxkWoEu0wIW3TpqFp2kC8XJpkiZtLfct3f5yfkXFtx/4+z3mOK71fkpXjc56fv9/z+PiT59y+xxEhAIDU1ekGAGCpIBABoCAQAaAgEAGgIBABoOhpstjAwECsW7du0euqPBOeXdvb29t4zSrXs6sr939bd3d3uma23zNnzqRrTk5ONl7TdqPrpM7chqrso6ZV2bd79+49HBGzBlGjgbhu3Tp9+tOfXvS6sbGxdM2JiYnUuvXr16drZvutcoNcsWJFal1/f3+6ZrbfEydOpGseO3YstW50dDRds6cn92dS5T+b7L4dHx9P1zx9+nR6bVb2P7gqByzve9/79s51GXeZAaAgEAGgqBSItjfa3mV7t+2b62oKADohHYi2uyV9XtKbJb1M0vW2X1ZXYwDQtCpHiK+UtDsi9kTEmKSvStpUT1sA0LwqgXiRpJ9P+35fOQ8AXpDa/qSK7c22h2wPjYyMtLscAKRVCcRhSRdP+35DOe+XRMSWiBiMiMGBgYEK5QCgvaoE4o8kvdT2pbb7JF0n6e562gKA5qXfqRIRE7Y/IOleSd2SbomIR2vrDAAaVumtexFxj6R7auoFADqKd6oAQEEgAkDR6LSbiEhN8TjnnHPSNZctW9boOik/mqjKtJHsS5pOnTqVrplV5XpmJ+WsXbs2XbPK1Jqs7BSYKrK32+xEKSl/Pfv6+tI158MRIgAUBCIAFAQiABQEIgAUBCIAFAQiABQEIgAUBCIAFAQiABQEIgAUBCIAFAQiABQEIgAUjU67sa2ensWXPPfcc9M1ly9fnlpXZTpKVnaSi5SfdjM6Opqu2dvbm1pXZXpR9rYQEemaWVWmwGSmQklSV1f+GCc71afKvs1O2NmwYUO65nw4QgSAgkAEgIJABIAiHYi2L7b9PduP2X7U9gfrbAwAmlblSZUJSR+OiG22+yX92PbWiHispt4AoFHpI8SI2B8R28rpZyXtlHRRXY0BQNNqeQzR9iWSXiHpwTp+HgB0QuVAtH2upK9J+lBEPO/FcLY32x6yPZR9rRwANKFSINruVSsMb4+Ir8+2TURsiYjBiBgcGBioUg4A2qrKs8yW9BVJOyPic/W1BACdUeUI8bWS/kDSG21vL1/X1tQXADQu/bKbiLhfUu6NiACwBPFOFQAoCEQAKBod/9XT06M1a9Ysel2VkUb9/f2pdVVGVGWuo5QfpyVJhw8fTq07evRoumZ2RFV2zJSUH6l14MCBdM3s9RwbG0vXzF7PKn8rnZDdtxdeeGHNnbS8sPYeALQRgQgABYEIAAWBCAAFgQgABYEIAAWBCAAFgQgABYEIAAWBCAAFgQgABYEIAAWBCABFo9NuIkLj4+OLXlfls1hWr16dWnfixIl0zcsuuyy1bv369ema2Wk3e/fuTdccHh5OrTty5Ei6ZvaDyqpML8pOZImIdM2entyfZpVJQtmamb/pKX19fY3XnA9HiABQEIgAUBCIAFDU8UH13bZ/YvtbdTQEAJ1SxxHiByXtrOHnAEBHVQpE2xsk/Y6kL9fTDgB0TtUjxL+X9BFJudclAMASkg5E22+RdCgifnyW7TbbHrI9dPz48Ww5AGi7KkeIr5X0NttPS/qqpDfa/veZG0XElogYjIjBVatWVSgHAO2VDsSI+GhEbIiISyRdJ+m7EfHu2joDgIbxOkQAKGp5L3NEfF/S9+v4WQDQKRwhAkBBIAJA0ej4r8nJydRYrewIL0lau3Ztal12hJckXXXVVal173znO9M1syO13vCGN6Rr7tixI7Vu165d6Zq202tfSLLXc9myZemavb29qXWTk5PpmmNjY6l1Bw8eTNecD0eIAFAQiABQEIgAUBCIAFAQiABQEIgAUBCIAFAQiABQEIgAUBCIAFAQiABQEIgAUBCIAFA0Ou2mt7dX559//qLXrVu3Ll1z+fLlqXVVpt289a1vTa278cYb0zVHRkZS6z71qU+la/b396fW7dmzJ13z5MmTqXXZ/VNFRDS+dmJiIl2zu7s7te7MmeY/dHN4eLgtP5cjRAAoCEQAKAhEACgqBaLt1bbvsv247Z22X11XYwDQtKpPqvyDpP+KiHfY7pO0ooaeAKAj0oFoe5WkqyS9R5IiYkxS7gMSAGAJqHKX+VJJz0j6F9s/sf1l2ytr6gsAGlclEHskXSnpCxHxCkknJd08cyPbm20P2R46duxYhXIA0F5VAnGfpH0R8WD5/i61AvKXRMSWiBiMiMEqHycKAO2WDsSIOCDp57YvL2ddLemxWroCgA6o+izzn0i6vTzDvEfSe6u3BACdUSkQI2K7pMF6WgGAzuKdKgBQEIgAUDQ6/kuSenoWX7KrK5/b2dFEVcYoVRn7lJXZr5I0MDCQrrliRe6NSdmxYZKUfaXC6dOn0zUnJydT67LjtKrUzK6TpFOnTqXWVRn/lf07Gx0dTdecD0eIAFAQiABQEIgAUBCIAFAQiABQEIgAUBCIAFAQiABQEIgAUBCIAFAQiABQEIgAUBCIAFA0Pu0mo8oEj7Gx3CejPvvss+maTz31VGrdrl270jWz/e7Zsydd88SJE6l1VaYBZSfsVJk8k50kND4+nq6Z3UfPPfdc4zWrXM/spJze3t50zflwhAgABYEIAAWBCABFpUC0/We2H7W9w/Ydts+pqzEAaFo6EG1fJOlPJQ1GxMsldUu6rq7GAKBpVe8y90habrtH0gpJ/1u9JQDojHQgRsSwpL+R9DNJ+yUdj4j76moMAJpW5S7zGkmbJF0q6cWSVtp+9yzbbbY9ZHvo2LFj6UYBoN2q3GV+k6SnIuKZiBiX9HVJr5m5UURsiYjBiBjMfoQkADShSiD+TNKrbK+wbUlXS9pZT1sA0LwqjyE+KOkuSdskPVJ+1paa+gKAxlV6L3NEfELSJ2rqBQA6ineqAEBBIAJA0ej4r4jQ6Ojootdlx0xJ0rJly1Lrjhw5kq55xRVXpNaNjIykax4/fjy17t57703XfPLJJ1PrDhw4kK6Zuf1InRlRVWXM2cTERKPrpPw+qnI9s2vPO++8dM35cIQIAAWBCAAFgQgABYEIAAWBCAAFgQgABYEIAAWBCAAFgQgABYEIAAWBCAAFgQgABYEIAEWj027OnDmTmlzT29ubrtnVlcv87u7udM37778/tW5gYCBdMzupZHh4OF3zmWeeSa07efJkumZ2qk+ViSzZ21CVyTPZtZOTk+ma2ak+VfT05CKoyvWcD0eIAFAQiABQEIgAUJw1EG3fYvuQ7R3Tzltre6vtJ8q/a9rbJgC030KOEG+VtHHGeTdL+k5EvFTSd8r3APCCdtZAjIgfSDo64+xNkm4rp2+T9PZ62wKA5mUfQ7wgIvaX0wckXVBTPwDQMZWfVInWC7zmfJGX7c22h2wPZV9DBgBNyAbiQdvrJan8e2iuDSNiS0QMRsTgqlWrkuUAoP2ygXi3pBvK6RskfbOedgCgcxbysps7JP1Q0uW299m+SdJfSfot209IelP5HgBe0M76RsKIuH6Oi66uuRcA6CjeqQIABYEIAEXj479GR0cXvS4zMmxKdixWlfFCp0+fTq2rMnJs5cqVqXVVRqtl+33uuefSNY8dO5Zat3z58nRN26l1VUaOZVUZ4ZW9ntkRXlJ+tNqRI0fSNefDESIAFAQiABQEIgAUBCIAFAQiABQEIgAUBCIAFAQiABQEIgAUBCIAFAQiABQEIgAUBCIAFI1Ou7GdmoxRZTpKdtpNlQkeJ0+eTK2bmJhI18xMEZLyU3Kk/GSV7IQTServ70+tq7Jvs6pcz+zaKtNuqkx4yurr60utq7Jv5/25bfmpAPACRCACQEEgAkCxkE/du8X2Ids7pp33WduP237Y9jdsr25rlwDQgIUcId4qaeOM87ZKenlE/Kqkn0r6aM19AUDjzhqIEfEDSUdnnHdfREw9bfeApA1t6A0AGlXHY4g3Svp2DT8HADqqUiDa/pikCUm3z7PNZttDtodGRkaqlAOAtkoHou33SHqLpHfFPJ+3GBFbImIwIgYHBgay5QCg7VJvx7C9UdJHJP1mRJyqtyUA6IyFvOzmDkk/lHS57X22b5L0z5L6JW21vd32F9vcJwC03VmPECPi+lnO/kobegGAjuKdKgBQEIgAUDQ6/qurq0srVqxY9LoTJ06ka2bHPlUZo5QdxZUdGyZJp07lntvK/D6m9Pb2ptZ1d3ena5533nmpdYcPH07XzKpyPbO3oSq323leLDKvTowNW7NmTVt+LkeIAFAQiABQEIgAUBCIAFAQiABQEIgAUBCIAFAQiABQEIgAUBCIAFAQiABQEIgAUBCIAFA0Ou3mzJkzOn369KLXZSfWVHH06NGzb1Sznp78ryM75aTKJKGurtz/p9l1Un6CTJVJQp2QnSDT19dXcydnV2XCzvj4eI2dVMcRIgAUBCIAFAQiABQL+dS9W2wfsr1jlss+bDtsv6g97QFAcxZyhHirpI0zz7R9saRrJP2s5p4AoCPOGogR8QNJsz3l+ndqfVh97oMYAGCJST2GaHuTpOGIeKjmfgCgYxb9wjfbKyT9hVp3lxey/WZJmyVp3bp1iy0HAI3JHCFeJulSSQ/ZflrSBknbbF8428YRsSUiBiNicGBgIN8pALTZoo8QI+IRSedPfV9CcTAimv/gWwCo0UJednOHpB9Kutz2Pts3tb8tAGjeWY8QI+L6s1x+SW3dAEAH8U4VACgIRAAoHNHc66ptPyNp7xwXv0jSUnpiZqn1Iy29nuhnfkutH2np9dSJfn4lImZ9DWCjgTgf20MRMdjpPqYstX6kpdcT/cxvqfUjLb2ello/3GUGgIJABIBiKQXilk43MMNS60daej3Rz/yWWj/S0utpSfWzZB5DBIBOW0pHiADQUQQiABSNB6LtjbZ32d5t++ZZLl9m+85y+YO2L2ljLxfb/p7tx2w/avuDs2zzetvHbW8vXx9vVz/Taj5t+5FSb2iWy237H8s+etj2lW3s5fJp13277RHbH5qxTVv30WwfY2F7re2ttp8o/66ZY+0NZZsnbN/Qxn4+a/vx8vv4hu3Vc6yd93dbc0+ftD087fdy7Rxr5/2brLGfO6f18rTt7XOsbcs+WpCIaOxLUrekJyW9RFKfpIckvWzGNn8k6Yvl9HWS7mxjP+slXVlO90v66Sz9vF7StxreT09LetE8l18r6duSLOlVkh5s8Pd3QK0Xtja2jyRdJelKSTumnffXkm4up2+W9JlZ1q2VtKf8u6acXtOmfq6R1FNOf2a2fhbyu625p09K+vMF/E7n/Zusq58Zl/+tpI83uY8W8tX0EeIrJe2OiD0RMSbpq5I2zdhmk6Tbyum7JF1t2+1oJiL2R8S2cvpZSTslXdSOWjXbJOlfo+UBSattr2+g7tWSnoyIud5t1BYx+8dYTL+d3Cbp7bMs/W1JWyPiaET8n6StmuXzgeroJyLui4iJ8u0Das0Jbcwc+2ghFvI3WWs/5e/59yXdUbVO3ZoOxIsk/Xza9/v0/AD6xTblBnZc0nntbqzcNX+FpAdnufjVth+y/W3bV7S7F7U+p+Y+2z8uE8dnWsh+bIfrNPeNuOl9dEFE7C+nD0i6YJZtOrWfblTrCH42Z/vd1u0D5W78LXM8rNCJffQbkg5GxBNzXN70PvoFnlSRZPtcSV+T9KGIGJlx8Ta17iL+mqR/kvSfDbT0uoi4UtKbJf2x7asaqDkv232S3ibpP2a5uBP76BeidT9rSbx+zPbHJE1Iun2OTZr83X5BrQn3vy5pv1p3U5eC6zX/0WHHbv9NB+KwpIunfb+hnDfrNrZ7JK2SdKRdDdnuVSsMb4+Ir8+8PCJGIuJEOX2PpF63+XOoI2K4/HtI0jfUulsz3UL2Y93eLGlbRByceUEn9pGkg1MPE5R/D82yTaP7yfZ7JL1F0rtKSD/PAn63tYmIgxExGRFnJH1pjlpN76MeSb8n6c65tmlyH83UdCD+SNJLbV9ajjiuk3T3jG3uljT1bOA7JH13rhtXVeWxjK9I2hkRn5tjmwunHsO0/Uq19lk7A3ql7f6p02o9WL9jxmZ3S/rD8mzzqyQdn3b3sV3m/F+96X1UTL+d3CDpm7Nsc6+ka2yvKXcXrynn1c72RrU+lvdtEXFqjm0W8ruts6fpjyv/7hy1FvI3Wac3SXo8IvbNdmHT++h5mn4WR61nSH+q1jNbHyvn/aVaNyRJOketu2W7Jf2PpJe0sZfXqXVX62FJ28vXtZLeL+n9ZZsPSHpUrWffHpD0mjbvn5eUWg+VulP7aHpPlvT5sg8fUeszbdrZ00q1Am7VtPMa20dqBfF+SeNqPcZ1k1qPK39H0hOS/lvS2rLtoKQvT1t7Y7kt7Zb03jb2s1utx+KmbkdTr5R4saR75vvdtrGnfyu3j4fVCrn1M3sq3z/vb7Id/ZTzb5263UzbtpF9tJAv3roHAAVPqgBAQSACQEEgAkBBIAJAQSACQEEgAkBBIAJA8f/q+GKKObNTpgAAAABJRU5ErkJggg==\n", - "text/plain": [ - "<Figure size 432x288 with 1 Axes>" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "estrella10 = Grayscale[370:385,445:465]\n", - "plt.imshow(estrella10, cmap=cm.gray, vmax=np.max(estrella10))" - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "metadata": {}, - "outputs": [], - "source": [ - "import numpy as np\n", - "import matplotlib.pyplot as plt\n", - "from scipy.optimize import leastsq " - ] - }, - { - "cell_type": "code", - "execution_count": 26, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "'\\ndef function(params,x):\\n # x son las posiciones donde voy a evaluar el modelos\\n # params es una tupla con los parámetros que usa el modelo\\n ymodel = modelo(x)\\n return ymodel\\n\\ndef Error(tpl,x,y):\\n # x son las posiciones reportadas\\n # y son los valores medidos en las posiciones x\\n # tpl es una tupla con los parámetros para calcular el modelo\\n ymodel = function(tpl,x)\\n errors = (ymodel - y)\\n return errors\\n'" - ] - }, - "execution_count": 26, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "'''\n", - "def function(params,x):\n", - " # x son las posiciones donde voy a evaluar el modelos\n", - " # params es una tupla con los parámetros que usa el modelo\n", - " ymodel = modelo(x)\n", - " return ymodel\n", - "\n", - "def Error(tpl,x,y):\n", - " # x son las posiciones reportadas\n", - " # y son los valores medidos en las posiciones x\n", - " # tpl es una tupla con los parámetros para calcular el modelo\n", - " ymodel = function(tpl,x)\n", - " errors = (ymodel - y)\n", - " return errors\n", - "'''\n" - ] - }, - { - "cell_type": "code", - "execution_count": 27, - "metadata": {}, - "outputs": [], - "source": [ - "def func_gauss(params,x):\n", - " #params[0]= sigma\n", - " #params[1] = x0\n", - " #numpy.pi = numero pi\n", - " y = (1/(params[0]*np.sqrt(2*np.pi)))*(np.exp((-(x-params[1])**2)/(2*params[0]**2)))\n", - " return y" - ] - }, - { - "cell_type": "code", - "execution_count": 28, - "metadata": {}, - "outputs": [], - "source": [ - "def Error_min_cuadra(tpl,x,y):\n", - " return func_gauss(tpl,x)-y" - ] - }, - { - "cell_type": "code", - "execution_count": 29, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[ 0. 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1. 1.1 1.2 1.3\n", - " 1.4 1.5 1.6 1.7 1.8 1.9 2. 2.1 2.2 2.3 2.4 2.5 2.6 2.7\n", - " 2.8 2.9 3. 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 4. 4.1\n", - " 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 5. 5.1 5.2 5.3 5.4 5.5\n", - " 5.6 5.7 5.8 5.9 6. 6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8 6.9\n", - " 7. 7.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8 7.9 8. 8.1 8.2 8.3\n", - " 8.4 8.5 8.6 8.7 8.8 8.9 9. 9.1 9.2 9.3 9.4 9.5 9.6 9.7\n", - " 9.8 9.9 10. 10.1 10.2 10.3 10.4 10.5 10.6 10.7 10.8 10.9 11. 11.1\n", - " 11.2 11.3 11.4 11.5 11.6 11.7 11.8 11.9 12. 12.1 12.2 12.3 12.4 12.5\n", - " 12.6 12.7 12.8 12.9 13. 13.1 13.2 13.3 13.4 13.5 13.6 13.7 13.8 13.9\n", - " 14. 14.1 14.2 14.3 14.4 14.5 14.6 14.7 14.8 14.9 15. 15.1 15.2 15.3\n", - " 15.4 15.5 15.6 15.7 15.8 15.9 16. 16.1 16.2 16.3 16.4 16.5 16.6 16.7\n", - " 16.8 16.9 17. 17.1 17.2 17.3 17.4 17.5 17.6 17.7 17.8 17.9 18. 18.1\n", - " 18.2 18.3 18.4 18.5 18.6 18.7 18.8 18.9 19. 19.1 19.2 19.3 19.4 19.5\n", - " 19.6 19.7 19.8 19.9]\n", - "[0.92070473 9.67429279]\n" - ] - }, - { - "data": { - "text/plain": [ - "<matplotlib.lines.Line2D at 0x7f6a3f0c9710>" - ] - }, - "execution_count": 29, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXQAAAD4CAYAAAD8Zh1EAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAAAlOUlEQVR4nO3deXhc9X3v8fd3NJa1WpvlRYvlFTBJSEIdQtoLpSWXgtsLXdKUlCRA+1yeLNybLrctvdyH5tLLbUOfJE1bmsRt0ybULVm6XNqYQnBJk7SB4IANMQJj5EWSN1mLLUuj/Xf/OGekkTQjj6xZzjn6vJ7Hj2d+5zdzfjoz/vqn3/l+zzHnHCIiEn6xYg9ARERyQwFdRCQiFNBFRCJCAV1EJCIU0EVEIiJerB2vXr3abdy4sVi7FxEJpe9///tnnXON6bYVLaBv3LiRffv2FWv3IiKhZGbHMm3TkouISEQooIuIRIQCuohIRCigi4hEhAK6iEhEKKCLiESEArqISEQooMuydvTsEH/xnSOcOT9S7KGILFnRCotEiu0Pnz7EHz79OgBf3dfJVz/0LqrLVhR5VCKXTjN0WZY6+4Z55JnD/MSb1vKZ29/G4TMX+JXH9hd7WCJLohm6LEuf/sYhYmb871vfzLqaMrr6E/zBk6/x6qnzXLFuVbGHJ3JJNEOXZed47zD/sL+bu354I+tqygC4/R2trCgxvrqvq8ijE7l0Cuiy7Dz1yimcg/df2zbd1lC1khuvWMs/vtjN+ORUEUcncukU0GXZ2dt+hsvXVtNaXzGr/b3vaKF3aIx/ffVMkUYmsjQK6LKsnBse53tH+7hx+5p5267f1kh1WZxvvqaALuGkgC7LyjcPnWFyynHj9rXztsVLYrxzUz3PdvQVYWQiS6eALsvKM6+eoaGylLe11qbd/s5NDRw5O8RpFRpJCCmgy7Ky71g/79xcT0nM0m6/dnMDAM929BZyWCI5oYAuy8bZC6N09Scyzs4BrmxaRfXKuJZdJJQU0GXZ2H98AIC3tdZl7FMSM67ZVM9zmqFLCGUV0M3sZjN7zcwOm9l9C/T7OTNzZrYjd0MUyY39nQOUxIy3NNcs2G/Hxno6zg4xMDxWoJGJ5MZFA7qZlQCPALcAVwLvM7Mr0/SrBj4GPJfrQYrkwv7OAa5YV015aUnmTu27ufuVG+hY/V8o+6st0L67cAMUWaJsZujXAIedcx3OuTHgMeC2NP1+F/gEoPQACZypKceBzoEF1895+iOw5wOUJbqImaMs0QV73g+PrFZgl1DIJqA3A50pz7v8tmlmdjXQ6pz7+kJvZGb3mNk+M9vX09Oz6MGKXKqOsxcYHJ3IHNDbd8OBzwFu/raRXnjqHgV1CbwlnxQ1sxjwKeDXL9bXObfLObfDObejsbFxqbsWydorJwcBeHO69fP23fDEnaQN5kkTw7D3Y/kZnEiOZBPQu4HWlOctfltSNfBm4JtmdhS4FnhcJ0YlSA6dGqQkZmxurJy9oX23N/t2kxd/k9FezdIl0LIJ6M8D28xsk5mVArcDjyc3OufOOedWO+c2Ouc2As8Ctzrn9uVlxCKX4LXTg2xaXcnK+JwTot++35t9Z+vb9+d2YCI5dNGA7pybAO4FngTaga845w6a2YNmdmu+ByiSC4dOD3L52ur5GwaPL+6NFttfpICyumORc24PsGdO2wMZ+t6w9GGJ5M7w2ATH+4b52be3zN9YvQEGj81rdkDaiwNUb8j18ERyRpWiEnmHz1zAObh8XdX8jZt3Mi90xyuwt36YEVbO7z9+QevoElgK6BJ5r53yMlwum7vk0r4bDn6R2dktBm+6E979p3yt7gH63ZzXKIVRAkwBXSLv0OlBSuMx2hrmZLikPSHqoMNbXTy36b0MTZXNf8OJYZ0clUBSQJfIe+30BbY2Vs2/ZG6mE5x++5bGKppiZxfsIxIkCugSeR09F9i6Js36eaYTnH771jVVnJhavWAfkSBRQJdIG52YpHsgwcbVlfM3XvcQxGffKJp4hdcOtDVU8MnhOxm3sox9RIJEAV0i7XjvMM7B5rkBvX33zBq6+cVG1W1w0y7YfgcAK0piHKj+Sb5UdT+sbJh5bby8QKMXWZys8tBFwqrj7BAAm1IDerLcP3lC1E3OzLr9YJ60tbGK0z0jEE/MNCYzXWBef5Fi0gxdIu2IH9BnLbmky27JkLmyZU0Vd07uyrq/SDEpoEukHT07RENlKTXlK2YaL5LdkmrT6krWK9NFQkIBXSKt4+zQ7OUWuGh2S6qNDZXKdJHQUECXSDtydmh+hstFsltStTVU8PDQB5mIlWfVX6SYFNAlsi6MTtAzODp/hr79Di+bpboNsHnZLanWVK/kqakb+ac1H8+qv0gxKaBLZB31T4hmTFkcPO4tm6TJbkkyM9rqK/n6xI/DPUdh56Pehj0fgF0bdU0XCRSlLUpkHe31Avqsa7jMTVkcPHbRFMS2hgrvvS7htSKFpBm6RNbxPi/wbmhIWS9fRMpiUltDBcd6h3Hf/p9KX5RAU0CXyOrsG6ahspSqlSm/iC4iZTGpraGS0YkpGOxc9GtFCkkBXSKrsy9BS/2cbJZFpCwmtfkz/LHy5kW/VqSQFNAlso73DbNhbkBfRMpi0kZ/Df6FDb+x6NeKFJICukTSxOQU3QMJNtTPyR9fRMpi0vqaMuIx49vxmxb9WpFCUpaLRNLJcyNMTrn5M3TwAvAignC8JEZzXTld/Qm4eXGvFSkkzdAlkpIZLq3pAvolaKkrp6t/7u3qRIJFAV0iaTplMTWgt+/2ioE+GVt0UVBzrT9DX+L7iOSTllwkko73DROPGetr/DX0JRYFtdRVcGZwlLEfPErp3g+puEgCSTN0iaTjfcO01JXP3Bj6EgqKUrXUef8x2HeW9j4i+aSALpHU2Tc8e/38EgqKUjXXegE9PtS1pPcRyScFdImk7v7E9KwauKSColTJAqXhlU1Leh+RfFJAl8gZGZ+kd2hselYNXFJBUaq11SuJx4x/bfyYiosksBTQJXK6B7xslObUGfolFBSlipfEWFdTxl73bhUXSWApy0Uip9tPL2yqSVMluoTA25IsLlri+4jki2boEjkn0s3Qc6ClrmImF10kgBTQJXK6BxLEDNauKptpzEExUHNtOacHRxibmMrZe4rkkpZcJHK6BxKsW1XGihJ/vpKjOw211JXjHJw8l6DtzD/q7kUSOJqhS+R09ydmL7cssagoqaXOy27p6k/k7D1FckkBXSKneyBBU2rK4hKLipKSee1d/cM5e0+RXFJAl0iZnHKcOjcyOwd9iUVFSetqyoiZn0WTo/cUySUFdImUM4MjTEy52UsuSywqSlpREmN9jZ+6mKP3FMmlrAK6md1sZq+Z2WEzuy/N9g+Z2ctmtt/MvmNmV+Z+qCIXN52DXpu7oqJU05fRzeF7iuTKRbNczKwEeAT4z0AX8LyZPe6ceyWl29845z7n978V+BRwcx7GK7KgZJVoS21ui4qSWurKebajN6fvKZIr2czQrwEOO+c6nHNjwGPAbakdnHPnU55WAi53QxTJXjKgN80N6DnSUlfOqfMjjE9O5eX9RZYim4DeDHSmPO/y22Yxs4+a2RvAw8B/T/dGZnaPme0zs309PT2XMl6RBXX3J6itWEHlyvyUWDTXlTPl4NS5kby8v8hS5OykqHPuEefcFuC3gP+Voc8u59wO59yOxsbGXO1aZNqJgcTsDJccS+aid+r+ohJA2QT0bqA15XmL35bJY8BPL2FMIpdsXg56jsvzk7no3bq/qARQNgH9eWCbmW0ys1LgduDx1A5mti3l6U8Cr+duiCLZcc55VaK1c+4jOngMcDPl+UsIuutryjHzq0Xz8P4iS3HRgO6cmwDuBZ4E2oGvOOcOmtmDfkYLwL1mdtDM9gO/BtyZrwGLZHI+McHQ2OTMnYryUJ5fGo+xtrpM5f8SSFmdOXLO7QH2zGl7IOXxx3I8LpFF6xrwguv0kkueyvOb68q9S/Sq/F8CRpWiEhknBrzMk+kllzyV5zfVlnvpkSr/l4BRQJfI6PYzT6bL/vNUnt9UW8bJcwmmfkTl/xIsCugSGd0DCVbGYzRUlnoNeSrPb6ktZ3zS0dP6cyr/l0DRDS4kMk4MeFdZNLOZxjyU5yfX6LsHEqxV+b8EiGboEhldA4mc30c0neQ+kvcuFQkKBXSJjBMDCZpq8h/Qp2foumG0BIwCukTCyPgkPYOjMzP0PFZwripbQXVZfPYMXRWjEgBaQ5dIOOlfLKuptjxnN4VeSHMydREKsj+RbGiGLpGQnC0315YXpILTy0X3r7ioilEJCAV0iYTkenZLXXlBKjiba8tnllxUMSoBoYAukdA1kMAM1q4qK0gFZ1NtOecS41wYnVDFqASGArpEwomBBGuryyiNxwpyA+dZqYu6YbQEhAK6REJ3f0oOegFu4NxcWza9X90wWoJCWS4SCd0DCd7aWjvTkOcKztRq0ULsTyQbmqFL6E1NOU6ey++t5+ZaU11GPGaqFpVAUUCX0Ou5MMr4pJteBimEkpixrqZsZoYuEgAK6BJ6yaBaiOu4pJqVuigSAAroEnrJHPTmWj/TpEBl+M215fOv56JLAEgR6aSohF5yht5UW1bQMvzmunJOnR9hYnKKeElMlwCQotMMXULvxECCVWVxqstWFLQMv6m2nCkHpwdHvQZdAkCKTAFdQs/LQfeXWwpYhj/vMrq6BIAUmQK6hF73QGImw6WAZfjJNMnpE6O6BIAUmQK6hJ4X0PN7Y+h0mpLVosmArksASJEpoEuonR8ZZ3BkoqBl/0kVpXHqK0tnV4vqEgBSRMpykVA7MZ3hkpKDXsAy/Kbastm56LoEgBSRZugSajM56IUtKkpKm4suUiQK6BJq3QPFDehNfrWoc64o+xdJpYAuodY9kKC0JMbqqpVF2X9zbTlDY5OcS4wXZf8iqRTQJdS6+xM01ZYRi1lRyu6b515GF1T+L0WjgC6h1j2Q8E6IJsvuB48BbqbsPs/BtGk6F92/YXSRxiECCugScieSOehFKrtPpkt29/v7Vvm/FJECuoTW6MQkp8+P0lJXUbSy+4bKUkrjMU6cG1l4fyr/lwJQQJfQSi5ztNSVF63s3sxmpy6q/F+KSAFdQquzz1vaaKkrL2rZfXNtucr/JRAU0CW0uvxZcWt9RVHL7mdVi6r8X4pIpf8SWl39w8RjxtpV/pUWi1R231xbwZnBUUYnJlkZL1H5vxRNVjN0M7vZzF4zs8Nmdl+a7b9mZq+Y2UtmttfM2nI/VJHZOvu9lMWSmBV1HMmrLp5KnhgVKZKLBnQzKwEeAW4BrgTeZ2ZXzun2IrDDOXcV8DXg4VwPVGSurv5hWuuLU/KfKpm62KVrukiRZTNDvwY47JzrcM6NAY8Bt6V2cM4945xLJt8+C7Tkdpgi83X1J2iprbh4xzxr9e+WlDxJK1Is2QT0ZqAz5XmX35bJLwNPLGVQIhczMj5Jz+Col+ECRS23X19TRknM6OyfE9B1CQApsJyeFDWz9wM7gB/NsP0e4B6ADRuUlyuXblaGS7LcPlmhmSy3h4KcnIyXxGiuLed435zruRRxTLI8ZTND7wZaU563+G2zmNm7gfuBW51zo+neyDm3yzm3wzm3o7Gx8VLGKwJ46+fg56AHoNy+tb589pJLAMYky082Af15YJuZbTKzUuB24PHUDmb2duDzeMH8TO6HKTJbpz9DL2bZf6rWuorp/2QW3LcuASB5dNGA7pybAO4FngTaga845w6a2YNmdqvf7Q+AKuCrZrbfzB7P8HYiOdHVP0xpSYw11SsDUW7fWl/B2QtjDI9NLLxvXQJA8iirNXTn3B5gz5y2B1IevzvH4xJZUFd/gua6cu866Nc9NHu9Ggpebt9an8x0SXD5uupAjEmWH5X+Syh19Q3PZLgEoNy+1R/L9Dp6AMYky49K/yWUuvoT3NRUM9NQ5HL7DckZeuo6ui4BIAWmGbqEzvDYBL1DYzMz9ACoryylorSE4youkiJSQJfQ6ZrOcAlOQDczWusq6OxT+b8UjwK6hM5MDnrxy/5TtdbPSV0UKTAFdAmdmSrR8kCV17fWl3O8bxjn3ExjgMYn0aeTohI6nX3DrIzHaOz8O/hGcMrrW+sqGB6bpG9ojIaqlSr/l4LTDF1CJ5mDbt8JVnn9TKaLv46u8n8pMAV0CZ2u/oR3ydqAldcni4umM10CNj6JPgV0CZ3Ofr+oKGDl9S1zi4sCNj6JPgV0CZVziXEGhse92fB1D3nl9KmKWF5fuTLO6qrSmUyXgI1Pok8BXULleK8XLDc2VASyvL4lNRc9gOOTaFOWi4TKsb4hANoaKr2GgJXXt9ZXcKBzYKYhYOOTaNMMXULlmD9Db2sIVlFR0ob6ck4MJJicchfvLJJjCugSKkfPDtFYvZKK0mD+ctlaV8HElOPkOV0CQApPAV1C5VjfsLd+DoGswpyXupgUwLFK9CigS6gc6x3y1s+TVZiDxwA3U4VZ5ECZXApKLg0BgR2rRI8CuoRGYmyS0+dHaauvCGwVZlNNOaXxGEfODs00BnSsEj0K6BIayWWMttWVga3CjMWMjQ0VswN6QMcq0aOALqFxtNcLkhsbKgJdhbmxoZKjqQE9wGOVaFFAl9BIFhW11VcGugpz0+pKjvUNz6QuBnisEi0K6BIaHWeHqKtYQU3FikBXYW5cXcnYxBQnBlQxKoUVzGRekTQ6ei6wubFqpiGgVZibVntVrEd7h6bTGIM6VokWzdAlNDrODrHZD5ZBNh3QU9fRRQpAAV1CYXBknJ7BUW+GHvAinTXVK6koLeHIWRUXSWFpyUVCoaPHm+3+8PiT8NRvBPq2bmZGW0MlR85emGnU7eikADRDl1Do8IPjlW/8fiiKdDavrlRxkRScArqEQkfPECUxIz7Ulb5DwIp0tqyp4njfMCPjk16DioukABTQJRQ6eoZorSvHQlKks3VNFVNuphhKxUVSCAroEgpvJFMWQ1Kks9VPr3z9tL+OHpJxS7gpoEvgTU05jvb6KYshKdLZ3FiJGRw+4wf0kIxbwk1ZLhJ4Xf0JRsan2LLGLyoKQZFO2YoSWusqONyTkukSgnFLuGmGLoF36PQgAJetrQ5VLve2NVW8cebC/A0h+hkkXDRDl8A7dMYL6NvP/RM88+HQ5HJvXVPFtw+fZXLKURIzr1H56JJHmqFL4B06NUhTTRkVzz4QqlzuLWuqGJuYojP1dnTKR5c8UkCXwDt0+gLb1laHLpd7q7/m/3rqskvIfgYJFwV0CbTJKcfhngtctrYqdLnc2/yAnjwHAITuZ5BwySqgm9nNZvaamR02s/vSbL/ezF4wswkze0/uhynL1bHeIcYmprwToiHL5a4uW0FrfTntJ8/PNIbsZ5BwuWhAN7MS4BHgFuBK4H1mduWcbseBu4C/yfUAZXk75BfmXLa2OpS53FesW8Wrp1Jm6CH8GSQ8sslyuQY47JzrADCzx4DbgFeSHZxzR/1tU3kYoyxjyeWKrSHKQU+1fV01e9tPMzI+SdmKEr8xXD+DhEc2Sy7NQGfK8y6/bdHM7B4z22dm+3p6ei7lLWSZefXUeTbUV1DZ8eVQ5m5fsX4VUy6lYjRJueiSBwU9Keqc2+Wc2+Gc29HY2FjIXUtIHTxxnrvq/t3L1R48BriZ3O0QBMEr1lUDzF5HT+aih/DnkWDLJqB3A60pz1v8NpG8Oj8yzrHeYd6T+Gxoc7fbGiopWxGbvY6uXHTJk2wC+vPANjPbZGalwO3A4/kdlgi0n/BmtdXjJ9N3CEHudknMuHxtNa+eSpmhKxdd8uSiAd05NwHcCzwJtANfcc4dNLMHzexWADN7h5l1AT8PfN7MDuZz0LI8HPQD+lRVS/oOIcnd3r5+FQdPnMc55zUoF13yJKs1dOfcHufcZc65Lc65h/y2B5xzj/uPn3fOtTjnKp1zDc65N+Vz0LI8HDxxntVVKym5/vdCnbv9lpYaBobH6epPeA3KRZc8UaWoBNbBE+d4U9Oq0OduX9VcC8CBrgGvIeQ/jwSXAroE0sj4JIfPXPACevtu74Th4HFvWeK6h0IV/C5fV01pSYyXu87NNG6/A+45Cjsf9Z7v+YDSF2XJdPlcCaT2k+eZmHLcZHvhqd8M9eVmS+Mxtq+v5qXUgA66lK7knGboEkgvHh8A4M1HPxGJFL+rWmr5Qfc5pqbcTKPSFyXHFNAlkF443k9TTRnxC13pO4Qsxe8tLTUMjk5wpHdoplHpi5JjCugSSC8eH+DtG+oik+J3VUsNAAc6B2YaI/KzSXAooEvgnDk/QvdAgrdvqI1Mit+2NdVUr4zz/WP9M40R+dkkOBTQJXBe9GexP87TM+vM5l+pMKQpfiUx4+q2Op4/2jfTmExfXNkw0xYvL/zgJDIU0CVwXjw+wM+Uf5NNL/yqfwErwE3OzF5DFsyTrtlUz6HTF+gfGpu9YTIx83ikVxfqkkumgC6B870jvfx29aNYxDJA3rGxHoB9qcsuynSRHFJAl0C5MDrBga5zNLoz6TuEOAPkqpYaSkti7EtddlGmi+SQAroEyvNH+piccoyWZ7iHSogzQMpWlHBVSw3fSw3oynSRHFJAl0D5bkcvpSUx4lt/CrDZGyOQAfLOzfW83HWOwZFxryFdpgvA+AWto8uiKaBLoPzHG2e5d/1zxNu/BKRUVWLwpjtDe0I06bptjUxMOf7jjV6vIV2mC+jkqFwSBXQJjHPD494t56b+bP6JQhx07CnKuHLp6g11VJaW8K1DKffU3X4HlFbN76yTo7JICugSGP/2eg/OhfsORRdTGo/xri2r+bdDPTM3vACdHJWcUECXwNjbfpqGylKobk3fISInCn/0stV09Sc4cjblui46OSo5oIAugTA+OcUzr57h11r2YWND8ztE4IRo0vWXNQLwzddSll3Snhw12LyzcAOT0FNAl0DYd7SfG9w3+IWB34XR3tkbyxpCWe6fSVtDJZetreJffnBqpnH7Hd5J31mZPQ4OflEnRiVrCugSCHvbT/NblY8Sn0rM37iiKjLBPGnnW9bz/LE+zpwfmWns2MPszB50YlQWRQFdim5qyvH1l0/SVNKTvkMETwz+5FvW4xw8kTpL14lRWSIFdCm6Zzt6OXluhLEVtek7RPDE4La11WxbU8XXX07J6Mn0c1pMyy6SFQV0Kbq/f7Gb91Z+i9KJC/M3xkojczJ0rp+6qonnj/bR2efn3GeqGnWTKjKSrCigS1ElxiZ54uWT3tUV3fj8DiuqI7d+nvSeHS0Y8JV9nV5Dsmo0ee33VFpLlywooEtRPX6gmxvtaWonMxQTjfalb4+A5tpybrh8DV9+vpPxySmvcfsd4KbSvyB5bXiRDBTQpWicc3R8axcPr/qTuZfhmhHB9fNU77tmA2cGR9nbnnK54Iw/s2nZRRakgC5F853DZ/nA5C7KGE3fIULFRJn82OWNNNeW8/lvvTFzKYDrHmLelSYBcFp2kQUpoEvR7PpWB82xDKmKEKliokziJTE+fMMWXjw+wL8fTrkC49x89KTBY5qlS0YK6FIU33n9LHXHvwqWYbGlui3ywTzp53e0sG5VGX+09/WZWXp1W+YXKONFMlBAl4KbmnL8xz//EZ+q/jSWdiZqkV9qSbUyXsJHfmwL3zvax5MHT3uNmVIYwct42fuxwg1QQkMBXQruu1//Y+6dfJi4ZcjmwC2b2XnSL16zgSvWVfPgPx1kaHRiJoUxk9FezdJlHgV0Kaiz3/tL3vnar1JhGU6EwsLLDREVL4nxf376zZw4N8LD//Kq17j9joWPxRN3KqjLLAroUjATT32Yhm//0gIzc5ZFZksmOzbWc/ePbOSL3z3GP790wmtc6Fi4SdjzfnhktQK7AAroUgjtu3F/0kDJy5/LnG8OXoXkMshsWchv37KdqzfU8ltfe4n9nQPesShrWPhFI72w5wPw9EcKMkYJLgV0ya+nP4Lb8wFstG/hYB6vgFu+uKyDOXi3qPvs+3+I+qpSPvgXz3GgcwB+/DOZT5BOc3Dgs5qtL3MK6JJ77bvhT1bDJw134LMZMllSaGY+y9pVZfztf72W6rIVvPfz3+Xvhn808zVe5hrp9ZZhPmmwa6OC+zJjs25UW0A7duxw+/btK8q+JYfad3vVi4PH8KobF/t9Mtj5qIJ5Gj2Do9z7Ny/w3JE+brxiDf93+8usffa/eWmLl6KswZvt61iHmpl93zm3I+22bAK6md0MfAYoAf7cOff7c7avBL4E/BDQC/yCc+7oQu95SQF90cEjBkxl2XcptJ9LY/DWD8G7/zSP+wi3ickpvvDvR/jM068zPD7J/Zte4IOJT7Nion/hJayciNr3LSj78bdXt3knvRf5H+xCAf2iSy5mVgI8AtwCXAm8z8yunNPtl4F+59xW4NPAJxY1wmy07/Yq5KavOJfNB5LMpsj3byHaz6KVNXgzcwXzBcVLYtxz/Rae+Y0b+OgNW/nT09dy2clHeTSxkwVyhXIkQt+3QO3H3z54LOdVvxedoZvZu4CPO+d+wn/+2wDOud9L6fOk3+e7ZhYHTgGNboE337Rpk/ud3/md7Ed68lmYWCB3WcKjqgnqthV7FKHkHJwfGed8YpzYSA9rJzuJM1nsYclSxFfC+muz7n733XdnnKHHs3h9M9CZ8rwLeGemPs65CTM7BzQAZ1M7mdk9wD0Azc3NWQ1+moJ5+MXiULcVKtYWeyShZQY15SuoKV8BtAFtTPUdIjaU4XryEnw5jG3ZBPSccc7tAnaBt4Z+1113Zf/iXR/XBf7DSifj8m/W+SUJleo2uOsvs+5+9913Z9yWTdpiN9Ca8rzFb0vbx19yqcE7OZo7C12sSIKnrAF2/jX8uoOPnlUwz7ftd8A9R73jvfOvUy4ZkP9Tp7IEOa6MzmaG/jywzcw24QXu24FfnNPnceBO4LvAe4B/XWj9/JIkA4KyXAK2n6WdsZc82H7H/M+hfbd3hcbRxcyzgvh9i8J+8vdvJtu0xZ3AH+KlLX7BOfeQmT0I7HPOPW5mZcCjwNuBPuB251zHQu+pPHQRkcVbKG0xqzV059weYM+ctgdSHo8AP7+UQYqIyNKo9F9EJCIU0EVEIkIBXUQkIhTQRUQiomhXWzSzHuBSqyBWM6cKNUCCOjaNa3E0rsUL6tiiNq4251xjug1FC+hLYWb7MqXtFFtQx6ZxLY7GtXhBHdtyGpeWXEREIkIBXUQkIsIa0HcVewALCOrYNK7F0bgWL6hjWzbjCuUauoiIzBfWGbqIiMyhgC4iEhGBDuhmdrOZvWZmh83svjTbV5rZl/3tz5nZxgKMqdXMnjGzV8zsoJl9LE2fG8zsnJnt9/88kO698jS+o2b2sr/feZezNM8f+cfsJTO7ugBjujzlWOw3s/Nm9itz+hTkmJnZF8zsjJn9IKWt3sy+YWav+3/XZXjtnX6f183szgKM6w/M7FX/c/oHM6vN8NoFP/M8je3jZtad8nntzPDaBf8N52FcX04Z01Ez25/htXk7ZpliREG+Z865QP7Bu1TvG8BmoBQ4AFw5p89HgM/5j28HvlyAca0HrvYfVwOH0ozrBuCfi3TcjgKrF9i+E3gC72LN1wLPFeFzPYVXHFHwYwZcD1wN/CCl7WHgPv/xfcAn0ryuHujw/67zH9fleVw3AXH/8SfSjSubzzxPY/s48D+y+KwX/Dec63HN2f5J4IFCH7NMMaIQ37Mgz9CvAQ475zqcc2PAY8Btc/rcBnzRf/w14EYzy+stWpxzJ51zL/iPB4F2vHuqhsVtwJec51mg1szWF3D/NwJvOOeKcq8059y38K7Znyr1e/RF4KfTvPQngG845/qcc/3AN4Cb8zku59xTzrkJ/+mzeHcLK7gMxywb2fwbzsu4/DjwXuBvc7W/bC0QI/L+PQtyQE93c+q5gXPWzamB5M2pC8Jf4nk78Fyaze8yswNm9oSZvalQY8K7RcpTZvZ9827KPVc2xzWfbifzP7JiHbO1zrnkXZZPAenuYl3s4/ZLeL9ZpXOxzzxf7vWXg76QYfmgmMfsOuC0c+71DNsLcszmxIi8f8+CHNADzcyqgL8DfsU5d37O5hfwlhTeCvwx8I8FHNp/cs5dDdwCfNTMri/gvhdkZqXArcBX02wu5jGb5rzfewOVy2tm9wMTwO4MXYrxmX8W2AK8DTiJt7wRJO9j4dl53o/ZQjEiX9+zIAf0YNycOg0zW4H3Qe12zv393O3OufPOuQv+4z3ACjNbne9x+fvr9v8+A/wD3q+9qbI5rvlyC/CCc+703A3FPGbA6eSyk//3mTR9inLczOwu4KeAO/wgME8Wn3nOOedOO+cmnXNTwJ9l2Gexjlkc+Fngy5n65PuYZYgRef+eBTmgT9+c2p/Z3Y53M+pUyZtTQ75uTj2Hvzb3F0C7c+5TGfqsS67lm9k1eMe5EP/RVJpZdfIx3km1H8zp9jjwQfNcC5xL+TUw3zLOmop1zHyp36M7gf+Xps+TwE1mVucvL9zkt+WNmd0M/CZwq3NuOEOfbD7zfIwt9bzLz2TYZzb/hvPh3cCrzrmudBvzfcwWiBH5/57l4yxvDs8W78Q7Q/wGcL/f9iDeFxygDO/X98PA94DNBRjTf8L7VeklYL//ZyfwIeBDfp97gYN4Z/WfBX64QMdrs7/PA/7+k8csdWwGPOIf05eBHQUaWyVegK5JaSv4McP7D+UkMI63PvnLeOdd9gKvA08D9X7fHcCfp7z2l/zv2mHg7gKM6zDeemrye5bM6GoC9iz0mRdgbI/635+X8ALV+rlj85/P+zecz3H57X+V/F6l9C3YMVsgRuT9e6bSfxGRiAjykouIiCyCArqISEQooIuIRIQCuohIRCigi4hEhAK6iEhEKKCLiETE/wd1LWxpeeamCgAAAABJRU5ErkJggg==\n", - "text/plain": [ - "<Figure size 432x288 with 1 Axes>" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "x = np.arange(0,20,0.1)\n", - "print(x)\n", - "np.random.seed(1)\n", - "ruido = np.random.normal(0,0.5,200)\n", - "#print(ruido)\n", - "\n", - "params = [1,10] \n", - "y = func_gauss(params,x)\n", - " \n", - "y_ruido = y + ruido\n", - "\n", - "p1 = [2,5]\n", - "best,suss = leastsq(Error_min_cuadra, p1, args=(x,y_ruido))\n", - "print(best)\n", - "ymodel = func_gauss(best,x)\n", - "plt.plot(x,ymodel)\n", - "plt.plot(x,y,'o',color=\"darkorange\")\n", - "#plt.plot(x,ymodel - y_ruido,'--r')\n", - "plt.axhline(y=0,color=\"gray\")" - ] - }, - { - "cell_type": "code", - "execution_count": 30, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[ 0. 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1. 1.1 1.2 1.3\n", - " 1.4 1.5 1.6 1.7 1.8 1.9 2. 2.1 2.2 2.3 2.4 2.5 2.6 2.7\n", - " 2.8 2.9 3. 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 4. 4.1\n", - " 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 5. 5.1 5.2 5.3 5.4 5.5\n", - " 5.6 5.7 5.8 5.9 6. 6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8 6.9\n", - " 7. 7.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8 7.9 8. 8.1 8.2 8.3\n", - " 8.4 8.5 8.6 8.7 8.8 8.9 9. 9.1 9.2 9.3 9.4 9.5 9.6 9.7\n", - " 9.8 9.9 10. 10.1 10.2 10.3 10.4 10.5 10.6 10.7 10.8 10.9 11. 11.1\n", - " 11.2 11.3 11.4 11.5 11.6 11.7 11.8 11.9 12. 12.1 12.2 12.3 12.4 12.5\n", - " 12.6 12.7 12.8 12.9 13. 13.1 13.2 13.3 13.4 13.5 13.6 13.7 13.8 13.9\n", - " 14. 14.1 14.2 14.3 14.4 14.5 14.6 14.7 14.8 14.9 15. 15.1 15.2 15.3\n", - " 15.4 15.5 15.6 15.7 15.8 15.9 16. 16.1 16.2 16.3 16.4 16.5 16.6 16.7\n", - " 16.8 16.9 17. 17.1 17.2 17.3 17.4 17.5 17.6 17.7 17.8 17.9 18. 18.1\n", - " 18.2 18.3 18.4 18.5 18.6 18.7 18.8 18.9 19. 19.1 19.2 19.3 19.4 19.5\n", - " 19.6 19.7 19.8 19.9]\n" - ] - } - ], - "source": [ - "x = np.arange(0,20,0.1)\n", - "print(x)\n", - "np.random.seed(1)\n", - "ruido = np.random.normal(0,0.3,200)\n", - "#print(ruido)\n", - "\n", - "params = [1,10] \n", - "y = func_gauss(params,x)\n", - " \n", - "y_ruido = y + ruido\n", - "\n", - "#print(y)\n" - ] - }, - { - "cell_type": "code", - "execution_count": 31, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[0.96732372 9.79457162]\n" - ] - } - ], - "source": [ - "p1 = [0.5,1]\n", - "best,suss = leastsq(Error_min_cuadra, p1, args=(x,y_ruido))\n", - "print(best)" - ] - }, - { - "cell_type": "code", - "execution_count": 32, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "<matplotlib.lines.Line2D at 0x7f6a3f057ac8>" - ] - }, - "execution_count": 32, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "<Figure size 432x288 with 1 Axes>" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "ymodel = func_gauss(best,x)\n", - "plt.plot(x,ymodel)\n", - "plt.plot(x,y,'o',color=\"darkorange\")\n", - "#plt.plot(x,ymodel - y_ruido,'--r')\n", - "plt.axhline(y=0,color=\"gray\")" - ] - }, - { - "cell_type": "code", - "execution_count": 76, - "metadata": {}, - "outputs": [], - "source": [ - "def func_gauss_C(params,x):\n", - " #params[0]= sigma\n", - " #params[1] = x0\n", - " #params[2] = C\n", - " #numpy.pi = numero pi\n", - " y = (1/(params[0]*np.sqrt(2*np.pi)))*(np.exp((-(x-params[1])**2)/(2*params[0]**2)))+params[2]\n", - " return y\n", - "def Error_min_cuadra_C(tpl,x,y):\n", - " return func_gauss_C(tpl,x)-y" - ] - }, - { - "cell_type": "code", - "execution_count": 82, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "(16, 25)\n" - ] - }, - { - "data": { - "text/plain": [ - "25" - ] - }, - "execution_count": 82, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "<Figure size 432x288 with 1 Axes>" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "estrella2 = Grayscale[546:562,650:675]\n", - "plt.imshow(estrella2, cmap=cm.gray, vmax=np.max(estrella2))\n", - "print(estrella2.shape)\n", - "estrella2.shape[1]" - ] - }, - { - "cell_type": "code", - "execution_count": 84, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15]\n", - "(16,)\n", - "(16,)\n", - "[ 4.91766638e+00 7.07821861e+00 -6.83173858e-03]\n" - ] - }, - { - "data": { - "text/plain": [ - "[<matplotlib.lines.Line2D at 0x7f6a3718b908>]" - ] - }, - "execution_count": 84, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "<Figure size 432x288 with 1 Axes>" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "import matplotlib.cm as cm\n", - "\n", - "x = np.arange(0, estrella2.shape[0], 1)\n", - "y = np.arange(0, estrella2.shape[1], 1)\n", - "print(x)\n", - "#print(y)\n", - "\n", - "lumx = estrella2[:,17]/10\n", - "print(lumx.shape)\n", - "print(x.shape)\n", - "\n", - "p1 = [1,2,0]\n", - "best,suss = leastsq(Error_min_cuadra_C, p1, args=(x,lumx))\n", - "print(best)\n", - "\n", - "lum_model = func_gauss_C(best,x)\n", - "plt.plot(x,lum_model)\n", - "plt.plot(x,lumx,'o',color=\"darkorange\")\n", - "#plt.plot(x_prueba,lum_model_prueba,'--r')\n", - "\n", - "#plt.plot(x,ymodel - y_ruido,'--r')\n", - "#plt.axhline(y=0,color=\"gray\")\n", - "\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "<img src=\"https://wikimedia.org/api/rest_v1/media/math/render/svg/0c3a59990abb6b35ad9e0e4c3edbe44462fc20c7\">\n", - "\n", - "\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": 79, - "metadata": {}, - "outputs": [], - "source": [ - "def func_gauss_2D(params,x,y):\n", - " #params[0]= A\n", - " #params[1] = x0\n", - " #params[2] = SigmaX\n", - " #params[3] = y0\n", - " #params[4] = SigmaY\n", - " #params[5] = C\n", - " #numpy.pi = numero pi\n", - " z = (params[0]*(np.exp(-(((x-params[1])**2)/(2*(params[2]**2)))+(((y-params[3])**2)/(2*(params[4]**2))))))+params[5]\n", - " return z\n", - "\n", - "\n", - "def Error_gauss_2D(tpl,x,y,z):\n", - " return func_gauss_2D(tpl,x,y)-z" - ] - }, - { - "cell_type": "code", - "execution_count": 80, - "metadata": {}, - "outputs": [], - "source": [ - "x = np.arange(0, estrella2.shape[0], 1)\n", - "y = np.arange(0, estrella2.shape[1], 1)\n", - "\n", - "#print(y)\n", - "#print(x)\n", - "\n", - "\n", - "X, Y = np.meshgrid(x, y) \n", - "#print(X)\n", - "#print(\"-----------------\")\n", - "#print(Y)\n", - "#print(X.shape,Y.shape)\n", - "\n", - "#estrella2 = Grayscale[545:562,650:675]\n", - "\n", - "def lum_2D(estrella,x,y):\n", - " lum_list = []\n", - " x_list = []\n", - " y_list = []\n", - " for i in x:\n", - " for j in y:\n", - " lum = estrella[x[i],y[j]] \n", - " lum_list.append(lum)\n", - " x_list.append(x[i])\n", - " y_list.append(y[j])\n", - " return lum_list,x_list,y_list \n", - "\n", - "lum_grap, x_grap, y_grap = lum_2D(estrella2,x,y)\n", - "lum_array= np.array(lum_grap)\n", - "x_array= np.array(x_grap)\n", - "y_array= np.array(y_grap)" - ] - }, - { - "cell_type": "code", - "execution_count": 81, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "<Figure size 432x432 with 1 Axes>" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "import matplotlib.pyplot as plt\n", - "from mpl_toolkits.mplot3d import Axes3D\n", - "import numpy as np\n", - "\n", - "fig = plt.figure(figsize=(6, 6))\n", - "ax = fig.add_subplot(111, projection='3d')\n", - "ax.scatter(x_array, y_array,lum_array,\n", - " linewidths=1, alpha=.7,\n", - " edgecolor='k',\n", - " s = 5)\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": 75, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "10.260627817604844\n", - "15\n", - "24\n", - "400\n" - ] - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAWYAAAFUCAYAAAAXlJawAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAADsNklEQVR4nOydd3gU5drGf7MlvTdSIAmhE0IJCaAooti72D323ss5FuxdURR7b1hQrIhYUBGxAEqo6ZX03ssm2+f7I864u9nd7CYbiH57X5fXOWRn331nd+ae533e+7kfQRRFvPDCCy+8GD1QHOgJeOGFF154YQ0vMXvhhRdejDJ4idkLL7zwYpTBS8xeeOGFF6MMXmL2wgsvvBhl8BKzF1544cUog2qQ171aOi+88MILawgj/QHeiNkLL7zwYpTBS8xeeOGFF6MMXmL2wgsvvBhl8BKzF1544cUog5eYvfDCCy9GGbzE7IUXXngxyuAlZi+88MKLUQYvMXvhhRdejDJ4idkLL7zwYpTBS8xeeOGFF6MMXmL2wgsvvBhl8BKzF1544cUog5eYvfDCCy9GGbzE7IUXXngxyuAlZi+88MKLUQYvMXvhhRdejDJ4idkLL7zwYpTBS8xeeOGFF6MMXmL2wgsvvBhl8BKzF1544cUog5eYvfDCCy9GGbzE7IUXXngxyuAlZi+88MKLUQYvMXsxKEwmE1qtFqPRiCiKB3o6Xnjxr4fqQE/Ai9ELURQxGo0YDAa0Wi0KRf9zXKVSyf8plUoEQTjAM/XCi38XhEEiIG949P8UJpMJnU4nk65er0ehUCCKovyfBJVKhVqtRqVSoVAovETtxb8dI36BeyNmL6wgiiImk4m2tjYqKyuZOXMmZrNZfl0QBCvilY43Go0AaLValEolISEhXqL2woshwkvMXsgQRRGDwYDJZJLTFoPBlqjb29sBUKvV8uuWqQ8vUXvhxeDwErMXAJjNZvR6PaIoymQ7lI0+iXSVSiVgnaeWXvcStRdeOIeXmP+fQyJOo9GIIAhypDwcYh4s9WEwGAYQtVqtRqlUeonaCy/wEvP/a4iiiF6vx2w2DyBQW2L2FFkKgiBH09IcbIla2kj0ErUX/1/hJeb/pzCZTBgMBqvUhSWGEzG78z57RK3X69HpdPK/RVEkJCREluZ5idqLfzu8xPz/DI5SF7awJFidTkdbWxthYWHypp4jDJXQLd9vSdRdXV3U1NQwefJkeb6WqQ8vUXvxb4SXmP8fwWw2YzAY7KYubCERbHNzM8XFxYSFhVFVVYUoioSFhREeHk5oaCgq1cheQtI8VSqVTPh6vR69Xg8wgKhdVZN44cVohpeY/x9A0hpb5nEHizJFUaSnp4fKykrS09PlaNVoNNLZ2Ul7ezvl5eUIgmBF1MONmJ3BnuIDvETtxb8PXmL+l8M2deHKsr+3t5e9e/eiUCiYO3euvEEH/VV+kZGRREZGAmAwGOjo6KClpYWysjLMZjM+Pj6EhoYSEhIyosRoj6ilHLUlUdtuJnrhxWiHl5j/xbCnTR4MDQ0NlJWVMXXqVMrKygZ9j1qtJjo6mujoaADq6upoa2ujoaGB4uJifHx8CA8PJzw8nKCgoBEnaltpniiK6HQ6eTNRoVCgVCqtSsi98GK0wUvM/0JYpi6cbfBZwmQyUVhYiF6vZ968eUNOSahUKoKCgkhOTgb6Nw7b29upra2lu7sbX19fK6IeyY07R0SdlZXFjBkzUCqVVmkPlUrl3Uj0YlTAS8z/MjjTJjtCT08POTk5JCQkMG7cOARBwGQyeUQu5+vrS2xsLLGxsQD09fXR3t5OVVUVPT09BAQEyEQdEBCw34haqVSiVCoxm81otVr5GMto2uuc58WBgpeY/0UwGo3odDq5KMOVDb7a2lqqqqpIS0sjODhYfm2kNvH8/f3x9/cnPj4eURTp7e2VNxI1Gg1BQUHyZqK/v7/HP1+C9P3YRtReovZiNMBLzP8CSBt8NTU19PX1MWHChEHfYzQayc/PRxAE5s2bN0D2tj8KTARBIDAwkMDAQMaOHYsoimg0Gtrb2yktLUWr1eLr64vRaESr1eLn5+f2fNydu5eovRgN8BLzPxyWqQtXN7K6urrIzc0lOTmZ+Ph4u8ccCMIRBIGgoCCCgoIYN24coijS1NREVVWVnP8OCQmRUx8+Pj4jPh97RN3X12eVEvEStReehpeY/8GwdW1TKBRWBkK2EEWRqqoq6urqmDVrFoGBgR6fkydTIJYR9fTp0zGbzXR3d9Pe3k5dXR1Go9GKqAerSpQgqVSGMh/LzVSJqLu7u6moqGDSpEne7i5eeAReYv4HwpE22Rkp6vV68vLy8PX1Zf78+f9ImZhCoSA0NJTQ0FCSk5MxmUx0dXXR3t5OTU0NJpNJzk+HhYXtt6pEhUIht96yVMOAt7uLF0ODl5j/YXBWVu0oYm5vbyc/P5+JEycyZsyYEZ3fSFb+2UKpVMrRMvRL/jo6Omhvb6eyshKAsLAw+T9LDw5PwlInbhtRS91dpGO8RO2FK/AS8z8EtmXV9iJeW1IURZF9+/bR0tJCenr6iKocRgOUSqVVVaLRaKSjo4O2tjbKy8tRKBSEhYXJD7aRXjUM1obL2zTAC0fwEvM/AJYtn5zJ4Gwd4bKzswkNDSUzM3O/pS72Z8Q8GFQqFVFRUURFRQH96ZyOjg5qa2vZvXs3KpVKjriDg4OH/B25mrO2R9Te7i5e2IOXmEc53CmrllIZLS0tFBUVMWXKFJmUvAAfHx9iYmKorKwkIyMDvV5Pe3s79fX1FBUV4evrK+eog4ODXSbF4W4mWo4jNQ0wGAx0dnYSFxfn7e7y/xBeYh6lcNU32fY9HR0daLVaMjIy8PX19dhcent7XarMG00RszMIgjCgKlGr1cobiT09Pfj5+ckRdWBgoMNz96QKRcqDa7VampubiYqK8nZ3+X8ILzGPQgylrLqvr08uGJk7d67Hbli9Xk9OTg4mkwmdTjdoCfVIEPP+Ino/Pz/i4uKIi4tDFEW5fLyiogKNRkNgYKCs+LA9d08TpCiKsuGS5d8su7tYOudJPh9eov53wEvMowxSlOyOI1xjYyOlpaWkpKTQ2NjosZvTaDSSlZXFxIkTCQsLA5BLqPft20dvby/BwcEyUY9EZd6BIhpBEAgICCAgIICEhASr8nHp3IOCguTzHglitvfQc0TU0rWiVqu93V3+BfAS8yjBUFIXJpOJoqIidDod8+bNw2Aw0NDQ4JG5VFRUoNPpOOSQQ/Dz80Ov19stoe7p6aGtrU2uzPP398doNKLX60e8Mm9/wtG5SxF1T08PBQUF8kNquGkkV/LWlkTtbRrw74KXmEcB3Gn5JEGj0ZCdnU18fDzTpk0bliOcJaTURWBgIAEBAfj7+zscUxAEgoODCQ4OJikpCbPZTH19PbW1teTm5u73go/9CctzDw8Pp6qqivj4eFkzbjAYCA0Nlc/f3YeUuxuKrnZ3MZlMBAUFeYl6lOPfc6f8A+GKNtkeamtrqaysZMaMGYSEhMh/H25+VyKVSZMmERMTw9atW916v0KhICQkhK6uLqZNm2bVhqqiogJBEOSIMjQ09F9FDLZViWazWa5KrK2txWQyERoaKj+kBisfH67O2lF3l127djF37lx5zt7uLqMTXmI+QJCc1Kqrqxk/frxL0ZHkCAc4dIRz5pXhbC4VFRU0NTV5tBDFXhuq9vZ2mpqaKCkpsepu4o48bbTBXnQrFbOEhYUxfvx4TCaT/JBypantUCV4jmBZtq9UKh12d/ES9eiAl5gPACRtstFopK2tjZSUlEHfIznCJSUlkZCQYPcYhULhdsRsmbrwRCGKs6hdrVYTExNDTEwMYC1P6+7u3q+m+Z6EKySqVCqJiIggIiICYNCmtp4mZtt52tNQ2xK15Jzn7e6y/+El5v0I2w0+lUo1aIQriiLV1dXU1tYyc+ZMgoKCHB7rbirDNnXhDCNxU9qTp7W1tVmpHgIDAzGZTB7/7AMNV5raqtVqOjo6PNbU1ll6xJkXtUToXovT/QcvMe8n2NMmD2bTaTAYyM3NxdfXl3nz5g1qwuNqKsOd1IW7EfhwDPYleZql6qGxsZGuri62b9++X72Y3YEnolvbprb19fW0tLTQ2NhIcXExarWa8PBwIiIihtzU1p15epsGHFh4iXk/QNrgs9UmO0s9SNHshAkT5Mq0weAKKbqTupDGOxA3nKR6kCw1p0+fPmAzbbQoPkbiO1IqlQQHB3u0qe1wNhSdEXVDQwNBQUGEhoZ6idpD8BLzCGIwbbI9IhVFkfLycpqbm5kzZw4BAQEuf95gN0JHRwd5eXku238OhZg9Xfln+RCz3UyTLD4PtOJjJIjZlkQ90dTWk456lkSt0WgICAjwdnfxILzEPEIYijZZp9ORk5NDcHCwRx3hLFMX7pC9JckeqMjZEWwtPi0VH6WlpbJzXERExIgrPkaiZHyw79teU9uOjg65qa1UPi41tR3J1Y/ZbJZVHLbdXSyJ2tvdxXV4idnDsNUmu0rKra2tFBYWetwRTq/Xk5ubi7+/v9tkP5To90CZGNkqPnQ6HW1tbbLiw9/fXybqkZjf/ijJdvbZUlWiVD5u29Q2KCjIabHQcGAvErfcR5HOx1F3F6VS6SVqG3iJ2YNw1PJpsPcUFxfT2dnpUUc4cD91YYt/ilOcPfj6+to1JJIUH3l5eVYR5XAw0tI2dyEIA5vadnd309DQIG+kWnqcDPeacyVF4oiopaYB4G3DZQkvMXsI7vgmS+jr66O3txelUklGRobHLkQpddHY2Oh2nnq4GI1kbmtItH37dhITE2lvb6e4uBidTjcsxcdIpTI8mQ8OCQmRtcqTJk2Sm9rm5+cPuamthKHkru1tJtp2d9HpdHLxzf83ovYS8zBhu0Rz9QKVHOF8fX2ZMGGCR+eze/du/P39mTdv3rDLeqUHTW9vL76+voOqH0YjMdvC0uciMTHRbvm0u4qPkdj883SPQolAPd3U1hObivaIOicnRy4fl3T//1+6u3iJeRgYim+y2WymsLAQrVZLZmYmO3bs8Nh8Ojo60Gg0Hmu6Khkj5efn09nZiclkksuoJT3tv+HmcEXxERYWRkREBCEhIQMIc6RSGZ5Wljiap7OmthUVFQBWRG17/iPRP1G6nyy9PqTOLtLr/2ai9hLzEDGU1IVGoyEnJ4e4uDjZEc4TEEWRyspKGhoaCAgI8FgnbLPZzJ49e4iPj5ejeklPW11dTXd3t7z7HxERYbX7/0+GPcVHR0eHQ8XHaMsxO4KrBDpYU1tLaWJISAgmk2m/NLa19aK2Jep/U3cXLzG7iaH4JgPU1dVRUVFBamoqoaGh8t+HK2MyGAzk5OTIqYs//vhjSOPYorm5mc7OTlJTU4mLi5MfQrZl1L29vbS1tVFSUoJWqyUwMBCdTudRP+YDTfS2VXnSw0lSfAiCgJ+fHz09PU5bULmDkSLmoYxp29TWVprY29tLVVXVsJvaWkLKhzuCPaK21zTgn9rdxUvMbmAoqQuj0UhBQQFms9mpI9xQ8onDVV3YgyiKlJaW0tnZKS/dHcFSpjVu3DjMZjPt7e0UFRXJfsxSZGVvCewKRuPNZFnsIYoiVVVVdHV1yS2opM4mw1F8jOb0iK008Y8//sDPz09uausJ10B35+qMqOFv57x/SncXLzG7CKPRSEVFhbx0d+VH7e7uJicnh8TERBISEuy+R/LLcIe0LFMX9lQXQ72pdTod2dnZhIeHM3fuXLKzs92KViU/Zn9/f+bMmWO1BN63b5/ssObJyOpAQxAEfHx8CAsLk6VpUmcTSfERHBwsn7erq4gDmcpwFwqFwiNNbS1hMpmGtflpm58G66YBN910E6tWrRq15Owl5kFgmbrQarX4+PgM+mO64wg3mJGRLSRjIz8/P7uqi6GmRtra2igoKLAqcBlugYntEliv19PW1kZdXR3d3d34+fnJhPVPsvm0ha2dpq3io7u7m7a2NivD/IiICKeKh6GmHZxhJMa0B1ea2kqbifurfBysmwbs2bPHI2OPFLzE7AS2ZdVKpXJQEjUYDOTl5aFWq11yhHOHmKXUhTNjI3c9mS3LtefOnWvVUNXTG3k+Pj5WKQBbm0/LyNKThTYjDWffkaU0zdYw31LxIXl8WJLHSKgyRiJidkb2thpyaV/CXlNby9TPcCNmV+Y8mgMBLzHbgW1ZtXQxSz3THMEV4rSFK0Q6WOrCEu7krC03Du2Va49kSbblDSvZfEqRpVT0EBoaSlBQ0JC6suxvuHqT2xrm2/owS4oPKTfqSZjN5gPed9FyX8K2qa1l6mekyseBf8T15CVmG0gyHJPJNOCp6ihiHqpJEAzuoTxY6sLeeK5c0J2dneTm5rr1EBlJSNVpISEhctFDZ2cnTU1NdHZ2snPnTlmi5injeE9hOJGoI8VHQ0MDBQUFVmZEw1V8jEQqY7jk6Sj1Y1k+7mkf7r6+vv1aDTsUeInZAoNpkxUKhRxFSxiuI5yzVMZQyHOw1IgoitTU1FBTU8Ps2bMJDAx0eOyBNDGSIkt/f38MBgNTp06VCau4uFj2I46IiHCbsDwdiXlyo05SfLS3t5OQkIBKpbLKzw5H8TESqQxPbyhKqR9JGz1hwoRhNbW1BynPPZrhJWZc1yYrlUqrJabkCDd58mQ54nEX9ojUndSFLZwRo9TMVaFQuNwRRRrrQBeO2Eq0bDeUJMKKiIiwypPvD4ykY5ttflZyjbNc9kvnPVg0ORKqjJFSelhaibrS1Fb6z5VUjXS9jGb8vydmd7TJUo7ZbDZTVlZGR0fHgA0zd2GbY7ZtJzUUcxh7RNHT00N2djaJiYmMHTt2WGN5+j2Dwd54tn7EUp6ysLAQvV5vpXywjapGYtNnf2iObV3jpGV/e3s7eXl5cl5eiqhHuvM2jCwx2xvXWVNbZ5uplpAaC4xm/L8mZilKdrWsWqFQoNfr2bFjBxERER5xhLPMMXsi72svAq+vr6e8vJy0tDSCg4PdmtuBrrpz5fu1l6e0jaosu5t4GgeqJNueGZHleQNWJPVPiphdVWUM1tTW0gdE2ptwFjFfeumlfP3118TExJCbmwv0S0nPPvtsKioqSE5OZuPGjeGiKLZbvk8QhNnAK0AIYAIeFUXx479eE4BHgDP/eu0VURSfd3peg575vxBDLavu7OyU0wvSE3u4kKLwyspK6uvrh23TaUmmkmGSXq+3W3XozljuvOdAQ6FQWJnyGI1G2tvb5Zu1t7eXyspKjxkxjRavjMEUH5YrQ08V+BxoYraF7WaqXq+nvb1dbmr72muv4evrK3OA7T1x8cUXc/3113PhhRfKf1u+fDlLlixh2bJlLF++nI0bNy4D7rD56F7gQlEUSwRBiAd2CoLwvSiKHcDFwDhgqiiKZkEQnLek5/8hMQ+l5ZPZbKaoqIiuri6io6M9RsrQfwOWlZURGho6bJtO+JtMe3t7yc7OJjY2dsiGSaMhYvYEVCqV1c36559/4uPjIxsxBQQEyPppyYjJHYyUH/Nwyd6WpCR1j2WBz3AVHyOZyvCEtM/Hx4cxY8bIlgVjxozh1VdfZcuWLcydO5dx48Zx3XXXcdxxxwGwaNEi2VFPwrp169i8eTMAF110EXfeeeep2BCzKIrFFv+/ThCEJiAa6ACuAc4TRdH81+tNg837/w0xO9ImDwbJES42NpaEhIQBP9pw0NnZSV1dnUyenoBCoZCrzFJTUwkLCxvyWJbE3NbWJpdcj4aoeDhQKBR2jZikNkxDKaH+J1TpCYJAdHS0rEiwV5Fn6RTo6jxHohBkpApMkpKSmDFjBomJidx+++2Ul5cPUFrZorGxkbi4OAApxejUmEYQhHmAD1D2158mAGcLgnAa0AzcKIpiibMx/l8QszNtsjPYOsJpNBqPiNMl45v6+noSEhI8tkMs5Va7urrIzMz0iObTbDaTl5eHVqtFqVRSWFg4pBt4tMKeEZNlCbXZbHbqRQyj23DIdkzLedpuoEqKD8kp0JX2UyNl+TlSkThYqzLGjx/v1nv/+v4cLpEEQYgD3gcukiJkwBfQiqKYIQjCUuBt4FBnn/OvJ+ah+CabTCYKCgowGo1WuVl3fS3swVZ1UV1d7RGylwyIBEFg8uTJHiFlk8lESUkJ48aNY9KkSXL0bCvZcqaA+KfBtoRa2vW3NGKy9GKWVDWjIcc8GJyRnTPFh2Ulpq1+eLTlmF1Bb2+vLLt0BWPGjKG+vp64uDjq6+sB7KYiBEEIAb4B7hZF0dJ/twb44q//vxZ4Z7DP/NcS81A3+Jw5wrnileEMnZ2d5OXlkZKSIqsuPEH2lgZEra2twxpLQktLC3V1dSQmJpKcnIzBYJDJwvYGlohLUgLodDo6OjpGXYXeUGC7629pxNTV1YW/vz8mkwk/Pz+PkumBjsIHU3xISpeRSmuNdMTszgb7ySefzLvvvsuyZct49913AdbZHiMIgg/9pPueKIqf2bz8JXA4UA4cBhQzCP6VxCyKIk1NTfj7+7vkBie9R6qIcyQrG8wrw9nYVVVV1NXVMWvWLKuqI3vVhO6MW15eTktLi6ynbmtrGxbRi6LIvn37aG1tZezYsYNWSNkqIAwGA1lZWVYVepJSYCgOcqMtn23PiKmoqIiGhgZqamo8ZsQ0mozywb5+WKrG02g0dHZ2yu23PKH4GMmIWaPROJSNnnvuuWzevJmWlhbGjh3Lgw8+yLJlyzjrrLN46623SEpKAlgOIAhCBnC1KIqXA2cBi4BIQRAu/mu4i0VR3PPX8asFQbgF6AEuH2yO/zpiljb4ampqSEhIcOnmkBzhVCqV04q4oUS3tqkL27GHGjEbDAays7MJDAwkIyNDvhGGo6SQTI2kMSsrK90eSzIjnzp1KoBDBzlXKtUkjFZliGTEFBQURFRUFGFhYXaNmAaz+HQ2vifhyShUUrpICqeYmBgrS9fhlMx7eq62cKZj/uijj+z+/aeffrL8ZxuAKIo7+ItkRVH8APjA3nv/ksyd4M4c/zXEbJu6UKlULhGelF4YP368vPPqCO6Snr3UhS3ctemUxs3NzbXbuWSoRN/V1UVubq7VXG1LsocCf39/EhIS5JLi7u5uWltbyc3NlTfWIiIiHFZp/RNg+R3ZM2KyrEo7kEZMI5m3tlxJwN+Kj8rKSrnllqXHx2DzGOmI2VuSvR9gT5s8WD5YcoRrbGxk9uzZLuWcXL2onaUu7I3pKpFaGvA7KkQZSsRcW1tLVVXVAFN/TxCz7dwk4pI21mwtL6Vo+p/WgdveXO0VfFgWOww3qnQXI2ViZG8l4EjxYSlJdKb4GMkGr15iHmHYapMtVRfO8sF6vV5esnuiqMMSg6UubOFqhGs0GsnLy0OpVDod1x1iNpvNsvokMzPTbj9CaayRSCfYdjjR6XTyJqIUZUldmEczXI1E3TFi+qfAlZTDUBQfI6WPBi8xjyhsUxe2N4ZSqbR7Q0uOcJMmTXJLMuMK3EmLSHCFmCUDoqSkJBISEoY9HvSTwt69e4mLiyMxMdEusezvyj9fX1+rwg+NRkNTUxMajYasrKxh5WtHEkNNEdiLKtva2igqKkKj0VBUVCRHlaNVhjiUXLArig/Jl3okUlzONv9GC0bP1e0GXNEm2xKzKPZ3f25vbx+2I5wtLFMMg6UubDFYjlkqcnHVgMgVMm1paaGoqIjp06fLagpHYx2obg9SlKVWq+nu7mbGjBmyLK+iokJWg7irAhit5dOWUWViYiLbt28nJiaG9vZ2qqurBxgxjZZ8vCc26ewpPrKysmhtbbUyIvKU4kOn03lE5z+S+EcRs2XqYjBtslKplDviarVauftzZmamR3N57vb4s4Uj8jOZTBQWFmIwGNwyIHJGzJIUrq2tjYyMDJcUK5ZjjcTmkauwvXklcxrbxq5SNeL+nOdIkL20UejIiEnKx0sdxw/U7zISKQeVSoVSqWTSpEnA3791fX09RUVFcm4+PDx8yHsRo11f/48hZnd8k+HvHHNzczPFxcVMnTpVLhLwxFwEQRhS6sLePG2JWTIgcpZmcDaePV20JK8LCgpi7ty5Ll2Yo3nzzdKcRtIT2/O7iIiI2C9pgJH+rmyNmKR8fE1NjUeMmIaKkdykk2BrRCTl5i33IlxVfBzI4MId/COIeShl1YIg0NTUREdHh8d8I+Bvwq+rqxtS6sLeeJbE3NTURElJyZANiOxFzJIUbsKECQPkde6Otb/h6m9t2djV0u+ipqZGTgNIS2FP40Dc7Lb5eE8YMQ0FI6E3HuyaG0zxERQUNGiRz2gn51FNzEMtq+7t7aWkpAS1Wk16erpHfwRBEMjOznZZdTEYJGI2m82UlJTQ09MzrAeJLZlKUrihPEBGAzEPBfb8Ltrb2+WHXl9fH1VVVR6TqR3oKGwwIyaTyURYWBhGo9Hj+uCRImZXx7Sn+Ojp6bEq8gkJCZG18gqFwuFv5YpJ/ieffDJgX0ZwYpJvcczzwKWiKLokBxm1iRYpdeFIdeEI9fX17N69m+TkZI9rYbu6uuju7iYyMpLU1FSPXOAKhQKj0ciOHTtQqVSkp6cPK8KRNhPNZjO5ubm0tLSQmZk5pKh+tBDzcOcgpQGmTJlCRkYG/v7+qFQqKioq2L59O3l5edTX11v1c/wnQ3owjR8/nvT0dNLT0wkPD8doNLJr1y527dpFeXk5nZ2dw97cHQliHs7DQ7KmTU5OZs6cOaSnpxMTE0N3dzd33303CxcupK+vj++//x6NRmP13osvvpgNGzZY/U0yyS8pKWHJkiUsX77c3sdKJvmpwLHAs4IghEkv/lW67XiX3Q5GZcRsNBrtapOdwdYRTsrBeQKWqovQ0NAhN161h46ODjo7O0lPT/dIDlwQBHQ6Hdu3bx9Sjtp2LInky8rK0Ol0REZG2u0n90+BFI3Fx8db9Qu0jLAkm8/w8HCXCMLTEbOnH4aSqiEgIIC5c+fa3TiVUj3u+pmM9nZVlq2lVqxYQVFREddccw3ff/899957LxkZGbz88suAayb5ixcv5oknnrA6xplJviAISmAFcB5wmqvzHlV312DaZEfo6ekhJyeHsWPHMnbsWARBkP2Xhwuj0Uhubq6supBKiYcLSSHR0tJCUFCQxzYmu7u75fZXzqRwrkAQBIxGIzt37iQ8PJzo6Gg6OjqorKxEoVDIm2sHUhUwFFjOVRD+7heYlJSEyWSio6NDLvxw5Tw9TcwjYZJvOUd7G6ft7e1WfiYSUQ+m3BltEfNgUCqVJCYmsnLlSoBBV0m2JvmNjY1OjxcGmuRfD3wlimK9O7/pqCHmobR8EkVRzqHa6nwdFZi4A2nTzFJ1MVzrT/i78lBSSGRlZQ1rPPi7RVVTUxOxsbHDJmXoz9XX1dWRlpZGREQEBoNhgP2lpAoIDAy0krP9U6FUKu3afNbU1NDT04O/v7+VLA9GJmLeX1Go5cappZ+JbVWeo8Ke0R4x20JScUhwxwFwMF4SbEzyhf7ef2cCi92d5wEn5qG2fJIiWckRzvaCGQ4xOysYGar1p4SOjg7y8vLkykNRFIe9dLWUwk2ZMoWmpkFbig2KmpoaqquriYmJITo6esA529pfSlVrhYWFaDQaiouLiYyMdNj140DB3e/a9jwl9YNlkwCdTofRaByWzaftHA+UF7Oln4m0grBnxGTZcdzTcx1pAyN39ltsTfIdVQsL9k3y5wATgdK/vqMAQRBKRVGcONjnHlBiFkWR1tZWzGazW73kJP1wcnIy8fHxdo8ZqsuaberCUzadkrGRbSfs4V7UXV1d5OTkyE5z7e3twyJ6yT/DZDIxZcoUl/L09qrWIiMjZbvP0WZONJycu636obOzk9bWVgoKCgaQ1lCjvtHkxezIiGmkFC7SXEeLgZGtSf4pp5wy4BjBgUm+KIrfALEWx/W4QspwAIlZ0iZ3dHRgMpnkp68ziKJIZWUlDQ0Ng8q/hmKnKaUuPE34lmSfmZnpsWhAimpnz54tfxfD6Yii1WrZu3cvsbGxJCYm0tbWNiSSFwTBKh1ga04k6UxdyWHC6PVjlsrC/f39mTFjBoAVaQ21ScBI2nMOF7ZGTH/++ScqlUq297Q0Yhqq7cGBsvx0xST/k08+AdwyyR8S9jsx227wqdVqlzp4SHnZgIAAjzvCueN14W6OWWpV5Yzs3YWkQDGZTANc4YYqcZPaU02bNk2OjoZDDpbkYlsMYauCkG5kex4QBzq6dgXSuapUqgHucdKqoa+vz+qB5EwSOdKbf56EIAhWChdLIyYp1eOuEdNIR8yO7m8XTfIB103ybd7jcqi+X4nZXlm1K7lgiTRGwhHOVTtNCe7kmGtra6msrBzgczwcDOYK5y4xS6uQxsbGAeZOI6FjtqeCsPSAUKvVMnkNp6LSEfZnMYi9JgFtbW1WTQLsdd/en5t/noRtSktK9bhrxPT/3SQf9iMxS1GybVm1UqnEaDTafY+kNGhrayM9PV3eBfcUXEld2MKVVIFlROuOAdFgkHw/nJVru5PKMJlM8gZqZmbmgBt3qMQsvc8VAlQqlVaezFqtVnaQk6IbvV6PXq8ftY5grpyr5aZacnKy3CTAXh7eHamoq9gfxGwL236Qjhoj2BoxjbRJ/lB9bfYnRpyYByurdhQxa7VacnJyCAsLs+pp56k5SY1X3Y1mByO+3t5e9u7dS0JCAuPGjfPIDSY9oNrb2wd1hXOVTKV5jhs3jrFjxw5rLE/Cz8/Pamnc3t5OYWGhHGVapj1Gi0PYUKJwZ00Curq6EEWRurq6YeVqhzvHweBuysXROdsaMWm12hFZLYH7qowDhf0SMTvTJtsjZk85wgl/WWpa3sDupi7szdeRKL2xsZHS0lJmzJjh0mamK7DVPLvSLWIwMpW+38HmOdyIebiQ0h7+/v7MmTNngOfFUDbXRsqPebiwzMN3dXVRUVGB0WiUrV8tc7VDWYGNRr2xIyOmlpYW2YDM00ZM3lTGX5CiZEdRpkqlklMZkpFPd3e3y37BziBt1EkXjyc24uydi9lspri4GI1Gw7x584ZkM2kvorGVwrk6P1f8mF0xSrIk2NGwCWdrfWm7uRYcHCyXjDv7DUZqE8yT8PHxITExUc7VStWIlZWVCIJgVY3oCjmORmK2hKUUUa/XExoailqtHmDEJBW6DDUH7SVmFyFFzL29veTk5BATE8PcuXM9cqFLYyuVyiGnLmxhS8ySCX9UVBRTpkwZ0rylMS0vNntSOFcgrRJsYTAY5D6H7vgxH8iIeTBYbq5Jjmqtra3yRpNEXvujI7WnK/8sx7MsC4f+37Ktrc2tJgEjlcoYiU06k8mESqWycgiUSuWlB/FQu5p4idlFKJVKtFotu3fvHrIHsSMoFAp0Oh2FhYVDTl3YG1MiPql/oKXEbKhjSkQmbRyazeYhd0SxJUWpZ2BKSorcXt5VjFYNsS0srT7h70KIhoYGiouLZfIaDQUug2GwSFStVrvdJGC0R8yDjWuvVH4oRkxeYnYBUvskvV7PYYcd5vFOE2azmb179zJhwgSPaYglFYmkFvFEykWKcqXOJfHx8UPeOLRNZTQ0NLBv3z6Xewbazmso8HTEPJSxLAshLMmrvLycrq4uioqK5PzlaHPKcye6tfS6sG0SUFtbK2+Yms1mj5WMSxgpYnZFLjdUI6be3l4vMUuwd5FJjnAJCQl0dHR4lJQl1UVnZyfTp093O0p0BqldVXx8vMspgcGgUChobm6moqJi2KsGieRFUZTz3pmZmUP6fi0J1mQyodPpXJIsejIitRxLo9Gw6v3VKJUKLvzPeXJZuy20Wi3vfrAavc7AxRf+h+DgYJm8oqOjKSgoICYmhra2tiHnbEcSw0k72GsS0NHRQVVVFU1NTbS1tVnpxIfzW+3PiNkZXDFi0mg01NfXyx1ObDESJvmCIKwGMgADsB24ShTFwavpOABG+RJpZmdnM2PGjGH5BduD0WgkOzubzs5OYmNjPap97ejooKCggICAACZPnuyRi1Laja6uriYzM3PYqRxBEDCZTOzcuROlUsmcOXOG/NCTiFmj0ZCVlUVBQQFZWVmUlJTQ1tbmtNDGnSi3oaGBa2++jWtvvo36+nqHx6359DO+3FHOZ9uK+WLtlw6PW7d+PZ/+XsBXe6r54KOPB7wueVrExsbyxfpvefbVt6ipqaGuro6srCxycnKora2lr6/P5XPwJDyZD5YkatHR0aSkpDB16lSPNQk4kBGzM0ia8aSkJNksPzw8nD///JPy8nKOPPJI7rvvPn799Vc5LTlCJvmrgalAGuDPX5WCrmC/ruEkqZpCofBo4YUEW9VFcXGxRzyZLT06UlNTqaqq8sBs/5bCAaSmpnrkIdLV1UVvby9TpkwZtqG/IAiyf0Zqaiq+vr6IokhHR4fcWl6tVhMZGWmV27OMtMvLy9FoNKSmpjokmy+/+pp9pggQYO269Vx79ZV2j/P388Os7UUUjfgHOI7cA/z9EfW9iCYj/jYaYEvS27JlC1mVXQSNncPnX3/Ps088YtdBTrK77O7uZtq0aSNe6DJS7nKCIAzQiQ+nScBoiZgHg1KpZNasWTz77LPs2LGDdevW8csvv7Bu3ToOPfRQYGRM8kVR/FZ6TRCE7YD9ggE72G+pDGeOcPb0xu7AUcGIJzyZJQMiHx8f5s2bh16v9wjZd3Z2kpuby8SJEz1i0wl/9/eTluzDgeSG19fXx6GHHopKpUKv1w/YhNFqtbS2tsqStZCQENkGs6CggNseWgEqPy4/83jOPvN0u581eWIKxh9+Q0BgyikXOJzTmacvJSjAH4VCwbHHHuvwuOOPOw7lX93CjzvuOIfHJSUloeiup6esi+lLFgD2HeRqamq4+ubb6DSqmZYQxj133DqiDQL2l4mRvfL4zs5OufJysCYBozVidgTpe42IiGDp0qUsXbrU6fEeMMmX/q4GLgBucnWu+4WYGxsbKS4udmgQJBHoUH5ko9FIfn6+HIVb/qDDJWYpArc0yh+Oe5sEWylcc3PzsMY0m83yJmpmZibbt28f1vyMRiM5OTn4+PgQHByMj4+Pw/n5+flZSda6urrk3N5vv/2GPjieoJhx5BUW230/wBFHHCE/rKdOnerwOLVazcknnzzo/JVKJccff7zd1yxTLFOmTOH1lY/R1tbGrFmz7B4vKXv0ygAmHH421T+9jZ+fn1WDAIPBgFar9UiFHhw4BYWtxafUJKC2tpbu7u4BTQJGiphH2s9kKGMPViYv2Jjk27z8MvCrKIq/ufp5+4WYIyIimD9/vsMfUSJQd3OhEnEmJSWRkJDgcNyhoKamhqqqqgG65+EQsyMpnCesOseMGcO0adOGfUFLpdpJSUlER0eze/duu5959wOPkFNQxE1XXcoJxx8nn0dYWBiBgYFMnjyZpKQkisofp7lmB7POOIW8vDyHdp/OCNnTsPyOkpKSSEpKcnp8SkoKR8ybwZ9bPuT6yy8a0CBg7969cr/J/IICvt74C4cdNJ/rrr5iSL/HSKYy3MFgTQLUajW+vr4YDAaPK6pGAu4Gf8M0yZdeu5/+1MZV7sx1vxCzj4+PU2tPy+o/VyC1lKqurnZaMKJUKtHr9W7N1WQykZ+fjyiKdvPgQyVRZ1K4oY4pRabDLV2XYFuqLZlOSZDmXFBQQE51G7FHXMI7H34mE7PlcaIoEhMTw2svPAMwIJ8pVXJFRkaOKt8Le1Aqldx12/8G/F1yU/Px8WHOnDmYTCaWPfAYoQefzeqvPmN8YgIzZsxwWz89Gv2Y7aV49u3bJ2vkAbkyb7i/50hFy/vTJP+v1y4HjgGW2IminWJUCDjdiWydpS5s4W4bKI1GQ3Z2tlVTV3tjuqurHcwVzl1ituyG4gnXPVEUqaiooKWlxapU25EeOSkpiRChj7rfPuaERZkufYZtPlOScVn6XlhuIo4URrJgRqlUMmPaFAqLtzEmtN833Gg0ut0g4EC2lnIVCoUCPz8/AgICiI+Px2AwDPg9h9IkYCRh2+/PEiNkkv8qUAls++v8vxBF8SFX5vqPIubBUhdDHRf6JVtlZWUeNSASRZHS0lI6OjqcelO4U5BhMplkZYsnuqFIm5u+vr4DdNmO5hUREcE7rzxPc3Mz48ePH/C6K+dj6zQmLZOl6jWpAWhwcPCIeEKPFB5/6D5ycnJISUmRN2AtGwS0traSl5dHd3c3v23ZRlRUFBdfeL5Vfnqk/JhHIgqXVpRqtdquj0l5eblc1OFKk4CRfHA6i5hHwiRfFMUh8+sBKzCxmoRKNagm1pXUhS1cIWaz2UxRURF9fX1DNiCyB0kKFxwcTEZGhtPvwNWIWUqHSJaiw4WUT05MTHTpQWcJKfr1FGyr1yzVAb29vVRUVBAZGTnqS6oDAgKYP3/+gL9brhiSk5NZ+dyL/FTSjmF3OX2abg4//HCZuEZClTASG3XO5umoSUBeXp4sy7NnSDSSG3/OIubRhlEfMUupC0EQ3PaOGKwNlLRxFhMTw9SpUz12QUhSOFc7rrhCzC0tLRQVFXnMT0Ty+XC2QrCNfF29aVyJmLVaLY2NjYwbN24AYUgG6yEhIXz0yeds/HULl553JnPT59DT02PlBeHj44Moirz06hv8vOUPLjjrVE51otyQynf3ZycTe/D19UGJGYVaybRp05gyZYrcibqjo0Ne/g8WYbqKA5m3lgo+pCYBtoZElk0CfH19D0hbqdGGUUPM9jb/3E1d2MJZjlkiuuEaENmiurqampoaq07YrszTETGLokh5eTktLS0e8eWQimWamppcMt23/P+eurH7+vq46ob/UteuYVHGDO6783a7x5WVlfHL7kLCDj2fNV9+wYUXnG+3RZNWq+XzDT8z7qiLeP611zn5xBPt3tyiKLLy+Rf5ZuMvHLFwAY88cM8B23S85MLzCQ/9isCAAI466iiUSiX+/v7Ex8dTXl6OIAj09fV5rEHAaDIxstXCS4b51dXVdHV1YTQaPdokQMI/xcAIRhExWxLoUFMXg40rjS3lfT1BdBJs1RzuRPaOiFnSE/v5+bndxcVehCS1klKr1R7vCiMhKyuLDz7+nNNPPp5FixbZPaa2tpa6Ti3Jx13Jr+uecThWbGwsoWqR+j++5PC5/V2obaMvo9FIbW0t/kozZT+tITkmkvr6ellrawmdTscPm7cw8fTb+eP712hubnboc63RaNiyZQuJiYkjIuULCAjgvHPPcfh6YGAg0dHRjB8/no0bN/L71m3Mz8xAqVQOuUHAaCFmW1ga5ms0GkpKSjAajVYNXT1hOOUlZhu4kmOWZG2WqQvbDtDuwjaVodfryc7OJjQ0dNC872CwJL7htpOS/C0sIcmQhmLqL6USLOchNXH1VH7aHjQaDXc/9jRCykE89NQLfJWRYXfVkJycTOa0ZP744ikuPu9Mh+OFhITw+gtP89NPP3HqqafaPUalUpGUlMSHb79GWVkZycnJ9Pb2WpVTSze1r68vC+el88uXzzBv1nR549EeHluxku2VnSi6Gnj1qYftbnKOFCx/u/z8fJa/+j7KmImUV6/nuRWP0dvbKzupSdWW0jk62iMZqc0/T5O9KIoDmgRI+w2S4ZS0enDXZ9ubyrADZ3lHKZUhpS4SExMd9qFzB5YRs6T5nTx58rDLlaVxVSqVSw1SB4OtBK+xsZGysrIhWXXaG0/qMj6cOfb19bFlyxaSk5MdFmQolUp8VUq6u9sJUCkdrhpUKhWPP3S/Szd2aGgoKSkpg27KhoWFMXfuXAAiIyMZN26cVYlxeXk5KpWKSy84j2OXLOaQQw5xuqqpa2wmMGEGGm0XbW1tDolZFEX5P08RnyWJmkwmBIUChUqNydQNYOWkJlVbSqkAwC5xjaZUhjPYbijaNnR15LPtrEmABI1G41G/95HEqElldHZ20tLSMmQysgeFQoHRaKSiooLGxkaPddqWctfl5eV0dna61KZpsPEkq06ptdZQrTrB2nukqqqKhoYG5s6dO6x83f2PLCervAWlppl3XnzarpWqn58fzzz+IGvXrePo6+4cNE000vld2xJjnU5HXV0dPj4+7Ny5U440LQ3lJdxx07W8vmo1U5csYM6cOQ4/o6ysjLsefIzwiAhWPHwfycnJw563ZdphxowZ/PfScyjdV86ZSy8ecKxUbSkRjiPikpohexIHguwd+WyXlZXJ7cUc9QnUaDQjtlr0NA44MRuNRsrLy+nr6+Pggw/2qOOc1LKqr6+PzMxMj1xEu3btYseOHRgMBqKjox22wTIajWzbto3o6OhBc5SKvwx3du7cSWhoKOnp6cO6iQRBkE2EJL3zcM89v6gEZeJBaIr7o8+YmBi7Y06cOJGTTjjBY40JPAlfX1+io6Pp6+tj2rRpcqRZU1MD9EeakZGRBAcHM3XqVFYuf3jQMdd/+z2mpHlofH34/sefuOqKy4Y9T8voWxAEjjv2GJff64i4+vr65OvLUw0C9rcEzxauNAmQUll+fn4OUxkj5MU8HlgDRAI7gQtEUXS5DHm/bUnbI5ru7m62b98uS6M8ScpdXV1kZWWhVquZNm2a0wuoqKiI5198mZ07dzodc/v27dx0/5O8sf53Nv3yG5MmTXJIoC+8/Br3vvgB19x+P3l5eU7Hraur47PPPsNkMjkd01WIosiePXsICwtjxowZw7p5RFGkoKCA85aeSHx3IccvnEVISAg7duwgNzeXurq6AV6+I1G15umxBEGQzeTnzp0rbzJLnszSuWm1WqfjZabPQl/2J8bKXcydY98IaShzHMp3mJuby70PPcb6r78B/iausWPHEhAQQEZGBjExMXR1dbFnzx527dolr/qG8h2PtvSI1CRg/PjxpKenM3v2bMLCwqiqquLQQw/l22+/5dtvv2Xv3r1We08j5MX8BPCMKIoTgXbArSf2AYuYJZOgtLQ01Go17e3tHh1bUnRIdfyOYDKZuHnZfZiTMvny+8f5/L03BjwZof9myc/PR6sMJGDMWDq6epyOu6+qmoBxqfTVFVNXV0dqaqrd4+rq6rjz/kfoCIjn1x1P8+GbLzvdlBoM7e3tdHV1MWPGjGF3btHr9fT29hIbG8u5557LGWecIROGZOBj6X0h5TalnKsnMBJaY3tj2kaa0rkVFhZiMBgcFkQsWLCA+/93HbNnz3aqWRdFkdUfrSG/qJRLzj+HSZMmOT12KOd976MrYMIh/PHOGmamzRiwF2Cbr7Xsm1dYWEhAQIBcFu9K2utAR8yDwbK6dOfOnVx++eVER0fzxBNPkJuby8cff8y0adM87sUsCEIncARw3l8vvws8QH907drc3T3Z4UJSXQCySZDBYPCIx7GlZG3ixIn87677KCvbxwtPPc60adMcvm+we0AaNzU1ldOaWigqKePSC25w+p4br7qMFc+/QmJakmzGbQmp4lCr1aI3mghKmIS+uImenh6nxLx7926++/Fnlhy20KrCTBRFqqurqa+vJywsjJCQEOcnNQikjVgfHx8mTJgwgGglA5+goCASExMxGo20t7fT1NREc3MzGo2G2NhYIiMj8fPzk61JY2JinJ7fDxs38vSLrzN10gSWP3Sfwzz1jh07ePL5V0lJGsv9d93hdO/AaDSiUChcJhHbc5MKIiTfacvmAD4+PkRFRQ1aSJSTk8O7637CPyWdR596jlWvvejw2KEqKMJCQ6htrkGJ2SUNvW3fvN7eXrnwSK/XWz2M7K1mR1vEPBiMRiPnnnsu06dPH7Sga5hezJH0G+VLxRk1gFuFGPtVlSFJwGxVF54wtJcMiMaNG0dCQgJr166lqFuNOXE+qz78hCcevt/u+5RKJc8uf5gNP2xk4QV3DoiWJSmcZGyUmZlJfn6+/KM5wqRJk3j9hZV2X9PpdOzdu1fOP993+8289cEaTrn4bKebRzqdjtvuewTfqYvZ+PCTrPtoFcHBwZjNZvmBlJGRIRclDBVNTU2Ulpa6tOKQoFKprLwSQkNDMRgMcsS5/tsN/JZdRoDCwBvPrXCYg37nw0+JXnQ+hbs3kp2dTWamfZOk11atRpy0mN2lO8nKynKomd65cyd3P/IkgQH+PPfEI0PyQbEtiJDytlLjT4PBQFNTExEREQ7TccHBwQjGPvqaqogaM3BFZomhao6ffPg+fvvtN6ZOPdtt5ZGle5z0MHLFNN/TKxqTyTRiHWIsdczu9hR0x4vZE9/JfiPmuro6hxIwdxzb9Ho9W7duJTY2Vt5UkzpBz5gxQ44UJ02ahKJ1DT29etIP/4/TMSdPnszkyZMH/F1yyrItWx6s1NsZOjo6yMvLY8qUKXLkKPUkmzlzptP3CoKAWqVC19uNStkfAUpl5bGxsXL/RHdMkSwhiiL79u2jvb3dZVVIdXU1z778OpERYdxy/bX4+/d3GPH19SU2NlaWra18+Q2CZxxOa+5vbNy4kSOOOILIyMgBke7CzLl8+dPnBKtFJkyY4PBzZ6VO48vNm/Ex9Tn1U1737Q8EzDyGnpY6tm3bxjHHHOPwJsvLy6Onp2fQzVJLHwitVktOTg49PT1UVVXJZdTSJqL0WePHj2flg3dSXl7OYYcd5uwrHXIqIzo6etCuHK7CnqKlvb1dbhAQFBSEwWBAp9N5tPv2SHUvAfc6ZA/Ti7kVCBMEQfVX1DwWqHVnrvuNmAMDAz3S5++ZF15iQ1Yx9Lbx4uP3yeRkSyRpaWm8+9LTbNu2jdNOO9Wtz5CqAx1J4dy1E5XGrK6upq6uboBsT5K3DQYfHx9eWPEov/z6Gwdffxp6vZ78/PwBZeUSMb/1zrt8+tW3nHTMEq69yrlpu+Qy5+fnR3p6ussRxevvvEehPhxdXi2zf/7ZbucQpVLJDVdczFMvvs4h05I58cQTBxSBREZGEhYWxnVXX8Hxxxwp+zQ7+l6uvepyFh96MFFRUU5z6YcfehDbnn0VH5WS2bPPdnjcn3/+yT0rXgK1PxeeWMYF/znP4bGWUCgU+Pj4kJKSQkpKitz1w5LAJIKbMWMGM2bMGHTMiooK1n2zgYPnzeXwww93aR7uwnIT1BVID1rJNF9a/Vr2CrSXg3cXI5nKcKfybzhezKIoioIg/AycQb8y4yJgnTtz3W/EHBoa6pE8ckV1Hf7jptFTlc+vv/7Kscce69CAaNy4cTQ1NbkV3VpWBzqSwrnrnyx1LhFF0a5VpzsrhokTJzJx4kSqq6spKiqyq81WKBT09PTwzprPSTnpBj7+6lXOOfN0h2b6fX197Nmzx8plzmw28+2337Jn717S09MdRkVj42PZVrQLtN1yVGEvYj/44IP54uCD5X9HREQwduxYeclsm79Vq9VOvxOFQuESyR2+eDEz09LkNlldXV12j6urq4OwBHxCo6moqhl0XAm2c7Tt+mHb7FTaIA0LC3NIQM+//g4+Uxez+YU3mTx58pB8YpyhsrKSW+9+AL3ByJMP3cOUKVPcer/klGfZIMCeKVFkZCSBgYFuRf9DbTHn6tj2VoHueDHv2LGDzMzMN13wYr4DWCMIwiPAbuAtd+a6X3PMnsAt117B4yufJ3mMH0uXLnXodSDBnejWVVc4d4hZKoW217lkKOOZzWYKCgowmUwO/ZgFQcDX15fJ4xMp/2UNibFRDnOrjqoCv//+e55c9SW9Rghf9R7XXnWF3fdfdvFFTJs8idDQUId985zBdsks5W8lX+aQkBAMBgNGo3HIqy3LB5KjNMGRRx7JrpwCOrqauPj86xyOZTKZePq5F9m+O5srLzqXRYcc4vDadtQcoLm5mdLSUofNAdRqFfrebhSIHrGhtX14/PjTz2iipqP09Wf9dz+4Tcy2cGRKVFFRgUajGeAG6Axms3nEGrE6gjtezBkZGfxFyoN5Me8D5g1hqsAoKDCRYFmt5gjSTXXd5Rczc+ZMlzYJXNlYFC26bLviCmebY66pqSE4OHgA+Uk73NOnTyc8PByz2Ux7ezvh4eFDai0lbRrGxMSQlJTklBAEQeClZ1ZQWlpKSkqKXVKrqqqirq5OLmXOyspiwoQJREREoNPpENS+CAoFWhudsiVUKtWAjbeh5rjBOn9rNpvp6OigpaWFPXv2yAQQERHhdiQ2GIKDg3n4vrsGPa60tJQf/8hmzIJTeOH1VRy6cKHL83C1OcANV1xCXUMDc2Yd55Jt7GCwfRjNnTOLT79+EoMocNDJjh9Cg43pCJamRPbcAC1bUNmS8EjmmGFkmyR4EqOGmAfrlK3T6cjOzpY9EVz9ggfbqJOkcICVK1xpaSn79u1j4cKFA6qFLKPwjz7+hFc/+Ax/lcAbzz/FuHHj5FZNTU1Ncim00WjkljvuYndeMUcduoD7715mNZ7tHDUaDb29vfLuurRp6Ep/Pyk14u/vT1pa2oDX7UXd199yG/n1XQSLGj548xWOP/54Wts7yM3L57KLLnD6eSMFqdzY19eXjIwMdDodra2tsnm+ZUm1J4uTnCEmJoZAhYGmnd+RMW3ysPTajpoD+Pv7MystjfDwcDlP7SnDLYA5c+bw4RsvYjKZhkz87nhz27oBSg/b0tJSfHx8rFYNI5lj/idh1KQypC4m9pZukgGRpZLBVThLZdhK4aQ51tTUcNV/78IcGs+cn35h5ROPDhhTai7785Y/iZp3Mu2luykoKCAuLo7c3Fx8fHysdvebmprYW1TO1LOX8cPqh7nztv/KEb8tMdfW1nLVTbfR3afnpsvPZ15mBtXV1S57PDvbTNTr9ezZs4fo6GiSk5Pl6Da3sJi4Iy+l7tc1tLS0MH78eC675GK2bt3qtsRMGlOr1WIwGJx6n3R3d/PMCy/T1aPhfzdcM0CGKP0mBoOB9z9cQ2tbG5deeD6RkZFySXVVVZUs5xqsy8lwzYbCw8N566VnqKqqIjU11akHRUVFBeu/2cDsmal2teyWsCz+6OjoYPr06XR0dMj9Au2lAzo7O3nhlTcAuOGaKxz+TvbIbrjNe4dKoLarBnvSw7a2NqKjoz0qmzMYDPvt4e0JjJqZ2jPLt4w8h2pAZJnKqK2tZcVzLxESHMQl559LXV2d3Q4ebW1tmNT+hCROp7rqzwFjWhLpBWeeyv3LV5IQN4bU1FSysrLstmoaM2YM6dMmsGPN4xx35GKri8526Z+Tk0NfUAJRs2ezZu16JqSMd+rxXFRUhMlkYvr06XbHk9DV1UVOTs4Ahz1BEPjf9VfyzupPWXrUIisttT0LUVdQU1PDfY89RZ/ewN23XMtiBxKxH374gV/L2lEHRfDOBx/a7UYNsHnzZtZs2okqdAzaN97m/rvukM17JDVEa2sr5eXlfPDRx9Q1tXLlRedx0EEHeaxdmATLfKrBYHD43dz14GN0hk/hq59e4+3kZJcNdERRHDQdEB4ezjfffc+v5Z2AwJjPv+CKSy9xON5oLQSxbUGVlZUlSxBFURx2gwAJ/yTLTxhlxGwZ2RoMBnJycvD39x+WCY/luG+9+wG5miB6KusI/OQTbrnlFrtP5bS0NM497jCy8wq58tYb7Y4pEfOhhx7KT4ccQnNzMyUlJaSlpdmtulMqlTzz5ON0dXUNeN32xs7IyCD8/Y+o/GEVt1xzKTNnznR482/evJkHnnkdBIE7rr6Q4449xq7KQ9J6z5492+4FetIJJ3DSCScM+LstMYuiyKeffUF5VRUXnHu23UIRQRDYs2cPuqjJhI5J4vuff3NIzLGxsdDZgKGvk3HzHEeVgYGBoNNg6GknJCh5wOs+Pj7ExcVRV1fH7ooW/FPm8sIbq+RzlaJp21ZZ0u8x1Cja2UNLqVBiNpkA9x5stmPaSwe0t7ejVAh011cgKASUQgp9fX12g5fheDGXl5ezd+9e5s+fb7WaGYmUg7Q3kpKSIhtxSdWkJSUlbll82kLqUv5PwahJZVgSaFdXF7m5uaSkpLjk99DX18euXbtISUkZsBS2JNH42Bg6t/yI0qRj4cJznHatvurySx1+nmV6ZDDNs+24rqQF1Go1N19zBRMmTBi0wrC4pAxF7GQUShVFJaUcd+wxVqkMaX5dXV1DshK1jb537NjBc+9+Qkunhh9++pnvv/piwBJREATmzJnDuu9/pqsuj5Nuv8nh+AsXLmRFQAC9vb0cdNBBDo876KCDuPcvS8tjjnHsthYVFYVS30NfTQGzJk1k7ty58vK4pqaGjo4OFAoFdXV1PP38S+zKLeKIhfO4Z9ltHt8YeuyBu/h2ww/MPOd6t/3Fnc1FqrK89pqrmZE6HZ1Ox9SpU+02B5Cu/6GQqEaj4cY77kUfOZHVn61jzbtvyqu2kcwFS+duW01qu1nqSoMAy3PxEvMQoFKpMBqNcs+8WbNmubz0WHbvg+TUduGra2P1my9bFVtIJNrZ2cmUSRO5/5poEhISnHrsDgYplWEwGMjOziY4ONitDUlnqK2tpaqqivT0dJfyySefdAI7s5/EaDJx5tL+paxEplJrqoCAANLT09FqtXz40Rp8fHw54/TTBlzM5eXlZGdnM3/+fPmBKI3V19cn5wEbaqpQTV9CfX0eO3bsYMGCBQPmFRcXxyfvvYnRaBw0BeXKbyEIwqAVcwBJSUm8sPwBqqurZaJXq9WyJ0RbWxv19fXU19ezZWcu40+9iW/XPs0Vl1zImDFj3P4NnUXM48aNc8kG1Gg0snHjRqBftucqbL8Ty1JqKa2jUqkIDg7GaDS6nZLS6XRo9UZC41Loqs+3UkwciE06281Sew0CpIpL27n19va63INzNGDUELMgCJSXlxMQEOB2z7zifRVEzD2Vlh3f0NzcPICYm5ubqampYe7cuR75cRQKBTqdjqysLJej+sEg2WvqdDq3WmrFxsbymo0nhyAIaLVasrKySEpKktMN776/mo9+zUU06PD1UbN06Wnye7q7u7nmv8vQR0wg4pO1fPrBO/LSsqOjg6KiIpKSklCr1aRPm0BR2z5C/QT8/f3tLr2hnxA9nd91BZMmTXLo3iYIAj4+PkybNo1DMmay47uXWTR/rty6KDAwUFYJSEU1DQ0NrFv/DZMnpgyoxPNE55K1X67j1bU/AyKa3j4Sxw29e4+tLlyr1VJXV0dvby/btm2Tc7b2mgPYIiIigjtuuIIfN2/htGX/tVoNHmj1hKMGAXV1dXR1dREQEGCV9nCWyhiqHzOAIAgbgAXA76Ionmjx9yXACvqtlXvoLzwpdfX8RkUqo6enh5qaGiIjI+3KuwbDspuu5bV3V3PakoOtPC9MJhO1tbWYTCbmz5/vMX1kW1sbbW1tzJ8/3yPLI8leMy4uzmEVozvo6+ujsbGROXPmWKVOTGYzCAoQBESsc9BarZY+vYnwhEm07SyQW2fpdDpKSkpIT0+XHxbvv/Mmv/76KwEBAahUKrZv305wcDBRUVHyxetJD2VPQpqXQqFgxWMP0dHRQVhYmLwy0Gg0tLa2WlmZPvbUc9QqYzF9/wsJCQlW15gniLmrpweFfwgg0t3j3E7WXfj5+REaGsqTK5+ncF8Fp594LCced4zd5gD2iPbIJUs4csmSAX8fyQq9ocDWtlVKexQXF/Pwww/LxT729nguvvhirr/+ei688EL5b5If87Jly1i+fDnLly8fYPv5F1YAAcBVNn9/BThFFMUCQRCuBe4BLnb1fA54xFxfX095eTkJCQlDlsccdtgiDjvMushBksJJloWeIOWKigqqqqrw9/cnLCzMLimbzWYeXv4kv2z5k4vPPZMLz3fsuVBfX8+9jyynq7OT889aSkpKyrDmJ4oiVVVVNDc3k5iYOCCffcmF5+Pn+wm+vr6cfNJJVq9FR0dz+7WX8uOvWzjr7ttQKpUUFRWh1+uZN28e/v7+skTQz8+Po48+2upzu7q6aG1tpaqqCr1eT0hICAEBAXala01NTRQWFjJ79myn9qRarZbKykq5Ua+nYOmMZhkFWdp9SpV67e3t9Pb10qvSYurT0tDQQGJi4rDadNnirNOX0t39HoJCwRlLT6OgoMBjY0O/QiavooFpZ97BF58+yfXXXMX48ePtRpmu+jGPRIWeJz28Jae8cePG8f777/PMM8+wdetWjjnmGHx8fLjnnns46qijAIbsx/zXnH8SBGGxvdOhv7MJQChQ58457FdittxIkvx5paV7a2srGo3GI59j6QpnNBppbm4e9pjffvcd9z/1EmqlgqcfvNPhQ6SyspJNf2aTfML1vPHeM1zwn3MdRlRvvLWK3G5//HyD2PbHn5x88skOP3/Tz5t5ddVq5qfP4pYbrh0QrUjWn9DvZGZPux0QEMBll1zs8DNOOOF4TjjheIxGI19++SUvv/0+AvDSyieYOHGiw/dJm5p/ZmXx0y9bmTc7lYiICCorK+np6ZEtMRcsWIBOp+Oqm26j1y+aBN9PeeuV5+1+P0ajkRv+dwcVLT2Eq4wcdNBBDiM0rVZLXl4eycnJw9bnWkLafHr6sYdYu249yYnzGT9+vGxlaq+vXEVFBWaz2a2HbHBwMDffMLQKPFcQHR1NXJg/ZetfYvEhC6xSTfaaAxQUFAxqTDRSHbJHojJPkuSddtpp3HzzzTQ3Nw+Q5trCXT9mO7gc+FYQhD6gi/50h8s4IBGz5B8RGxvLtGnTEATBI57MUjNTSYHg4+NDR0eH03Fzc3P57MuvOXh+BkcfZX/jpbOzk6++2UDo9EWYdb3kFRQwy0HKJTY2lthQfyo3vsv8ubPtXmhms5ni4mJCQ4Lw7c4H0Uz87AVOL8wVL7xKUOZS1m9ezwnHHGnVR1Cn07Fnzx7Z+rO+vl6Obt2FtNLYuScH5cRD6Gpv4ZvvNnDwgvkkJSXZzbNBf3rnyRffJCz9eP58833effU5kpKS2LDhe55Z9SlGg4Hzjs9hwoQJtHRpiJ9zMpW/fegw8urq6qKsuoGUk28g58NHZc8Fe1h230Pk13URLPaw6tUXnBa0DCUqi4+P57pr/l6pSlam7e3t1NfX09HRgU6nY9++fbzw7icoFEruuv7SEXGGy8rKYteebI49+kindqeW8PHx4eF7lxEYGOjQB9tytTBYcwBHFXqdnZ34+PgMueHxSOate3p6ZHXHULyqh/DAuAU4XhTFPwVBuA1YST9Zu4T9TszNzc0UFxfL/hEShkvMjlzhnI0riiK33/cwwsRFbH7+dWakTh9w4Uptqq654lIeWP40/n6+HHPUZdTW2rdX9ff35+1Xnqe2ttZu1CTNMzw8nBuuv47DFh2KUqmkp6fHKTFPmzSB3Xs34S8YrMpoJeMlqVTbbDbz5DPPs+XPnVx6/tlcc6XL14KVoZFWq+P3lS9j1PSwqauUdVvzCEPDu6+/ZHeZ6+vri7+Piu76fQQH+stku6+iEt+E6fiKZhQqHxYtWsTZZfvY9Nt6TjvmCEpKSoiMjBzQHDQ8PJxTjzmcb795gSUL5zkl2/zCYsYsuYT63z6hpaXF4bHt7e18+NHHBAb4M2HChGFFZ0qlkqioKBQKBf7+/sTHx7Phh40YoyaBoGTTL78xc+bMYdtgWqKhoYG7H38GVeIcft7yCGtWveHS+0RRxMfHxy3JnrPmAH19fahUKvz8/DAYDKjVan7+eTOPPvsKAb5qXljxqMsPDUuMpE+GRqNh/PjxLh/vqh+zPQiCEA3MEkVRqk77GNjg5C0DsF+JuaSkhI6ODrt6X6kkeyiQfCQsK9o6OjooLy8nOTnZ6biBAf60djajUjBg11la0kkqkbUfvQf87a3scMzAQLvG+1K7pokTJ8o/9OzZs4F+P2BnEcNjD97Lnj17GD9+vLzjXldXR2VlpVWpdm1tLdtzS5hwxq188OnzXHHpxU4VHq2trQQGBtLS0iIrV/z8/Dj88MVMnjyJnJwcHn7qeZJOvIjqH9+hvb3drrY6MDCQ5594mL1795KYeLJ8HktPPZmCkmcQBIHTTrkCPz8/rr/maq6/5mpZ8tTa2kplZaUVGQQEBHDjdVdz43VXk5WV5XD+ADdfczmr1nzOSYcvcNoB5pkXX+H3Cg2G1ipSU6dbteYaLgICAjj/vHMofPhxDEYTZ5x2lUxkUrQpNQYY6gPBbDYjIiCo1G7dK56IRG3NpcrKyuTVlSAIfPLleoJnH4umqYpdu3aNSmJ2p/LPFT9mJ2gHQgVBmPxXX8CjALc2DvYrMUdHRzuMVOyVZA8GS/N5S3Lq6enh4qtvoNPsS+rYcC75zzl23y8IAs8+8Si//PILM2eeIdfv2+sKYvs+dyFV3kndmG0xmMOcn5+frBcWRZHi4mI0Gs0Aad2YMWNIjA6l4pvXOGzeXKekvOaTT3nu9fcQDH08dO8yDj/8cKsbIyEhgZaWFq699AI+Xf8JZx6/xK40UBRFtm7dik6n46STTqK+vl5+LTY2lheetrubPUDyJJkUSVFZaGjogGo9ezj+uGM5/rhjnR4Df1XAKZUgDO5/Lel+B5OUWa5y4uPjefuVFwYcY2tlGhoaKm96xsbGunw9xcfHc/9/r2HHnmxOuuZul94jzdFVYu7r62PTpk1ER0czb55910qFQoGfnx9BQUHExcWh1+s5/sjFPPnC6/iolISGHkp9fb2V5NAVjGQqw1n3kmH4MSMIwm/AVCBIEIQa4DJRFL8XBOEK4HNBEMz0E7XjijU72K/ELFlf2oO7qQyTyUReXh4KhWKAL3FTUxPtfSbGHn4aORtec0r4CQkJnHfe38oJaTlv2xVkqJDy3j09PU47uLhq/SkVtYSEhDBnzpwBN7WPjw9PPfYQJSUlDvvgSfh03TdUtXZjRsGaz9baLW4QBIGTTzqR/5x3LjoH9p8//vgjT7z9KYLSh4amZg479JAh5XJ9fX2Jj48nPj5edltrbW2lt7eXPXv2WEXTQ8Et119D6LvvEZqZ6DRarqys5OY77qVPp+Px+5Y5LYBxZcPKNtpsbGzkptvuoqqxlYXpqdx03TUun9chhxzCIYccMuhxlnCnJPuFV17nh+wq6Glhxd1qh+duSaI+Pj6cdNJJHHXUUSiVSrRardvNAWDkI2ZHxDxUP2YAURTt+giIoriW/u4mQ8J+V2U4gjupDMvGq/byZuPHj+ekxQv4ZetH3HjVpS4RniiKVFZW0tjYKC/nXYEzA3eJRI1GI9/9+DO//L6Na668zO7YEjHv3buXP7fv4Mglhw/IUWs0Gvbu3TtoUYuU83R2kWs0GsbFhLM1r5zI2UfQ2FZo9zhLJY09c6Senh6amltQBEUhqP1oaW0bMEZ5eTmrVq9hUkoy/zn3HIfXQWdnJ998+x2xY2I4/PDDZbe19vZ2pk6dSmtrqxx1WrajcvVmjoyM5JILL6Crq8vptbhl61Z6o6YSEBbN+g0bByVmdyB1l2nXK5hx9u3s/epZVCqVvErwRGMAW7gTiba0teETHofeqKOzs9OtMaXrWq1Wu90cwN15ugtvSfYQ4WrE7KhBqiUEQeDWW27k1lv6/71161anY5pMJnJzc1GpVC4bJomiyCPLV/Dtxp854agjuOv2/1nd7FI+ecKECby56gN+q+rD0FNLStL3jvqH0dbWxn/vfQRFYjrrf7iHrz5ZLY/Z0tJCUVGRbJJkNBr56qv16PR6Tjv1FCuyd2b7CX8b+N9z9934Br5AfnEht1xjf5NQImNRFPtznKIoE+GXX33FC2++T0RIIIdMm4IgKPjPOWeh0+msPn/5My9S65vE1q82MW3KZNmY3xYrnn2Bj7/7BW1XK7dfeyk3XH+9/Jqfn58cdWo0Gt77YDV6nY55mRlW+ltPVHZmzJ3L6s+/RlNr5oj/DS5jcze1lZSUxPTEaLLXruQ/p59stUqwbAygUCjk83LXkzk/P59nX3mT5MQEzl56qsvfy03XXMnr77xHfOocp5G5qyTqanOA8PDwAxYxj0aMGmIerOuFlBLo7u4e1CzIHUgbGJbR9++//05dXR3HHXecwx3+np4eNmzewvTz7uO7Tx7n+qv/9sNtbGykrKxMzidHhIdi7C4DrcZhQYVCocBoNGIWRXx8/eUcJ/RrY5ubm63Oe/36r3l2zQYElS89vb1Wlo/Ovsuqqirq6+vJyMjA19eXJx55cMAxzc3NvPbmKsLDQ1m4YB5msxmTycTnX6yltLySc89cSkJCAl9+u5Exi8+nNfc3Dj90oZw6qauz1tJHhIWwr64eDFqn6oramlqMPiGEHXIs63/8xYqYLfHhmk/4/I8SRIOOxHHjOPbYY2htbaWkpASdTme1dLa90V2JcCdPnsyad16Vl+HO8MPGjWzL2s0VF/3H5dZaPj4+PLvicXQ6ndUDVaFQyIU56enpspWp5Mls2RhgsNz386+/Q3PYdCpycpg8fvegftASEhISePCeOwc9bqjRraPmAJWVlZhMJnx9fT3SHMAWzuSWoxGjJpXhDHq9nr179xIeHk56errHfjBJumcZfe/Zs4e7V7yMEBbP3vwiHn3gXrvvDQwMZPb0SWSvfYb01CmEhIQ4dHK77OILSR6XQGBgoMMbRDJKf2TZLfz+x3ZOuuyBfgP73FyUSiUZGRlWN4LeYACVD4LaB73eMGAsSwKqrKzk7fc/JNDPh2OOOpKMjAynkcnLr7/Fr1VaDHvLUYgmxo4dy44dO3jt0+/wiZtC3Yuv8tyTj3H8kYfxyrsfEB0WzNSpU+Wb1fbBcOett7Bp0ybGjTuDyZP7u35IJd+WWHbrzWRfdg2U/cIJpx3ncH6iKCIKAvx1Hfj7+8vNDiz1t3l5eXz06Vq6NL0su+V6udzflevHlZu4pqaGNz78ksDUxdzzyJOs/3T1oO+RIAiC3ZSWZc5aauxqMpnkzjiSSx78bWUaHBw84JwmJieyb8cehL52WdbnSXgi7WDZHACgurqarq4up80BhgqviZGHYU8KN1S0trZiMpmIjo5m3759tLW1DYi+NRoNqP1RBYXT48S3QKlUsnL5ozQ1NREbG4vRaJSd5mwfHj4+Phx3nGOigb9zzAsXLmThwoVotVp27NhBXFwciYmJA44/9ZST6dFo0On0A8q+bVMZj654hnxtKKaGHFQKgfyCQk495WSHhQBhoSEYumtBpyEqKorCwkJaWlow6fow9HYROMYftVrNuWefxbFHH4Wvr6+8RyD9Zzab5Zs3JCSEU089FejfXL359rupa2rmrluu4wiLIowpU6bw87df0tzc7LRy7vzzzsHX9wt8fXw48URrD2lLyV15eTnFnQI+MdN5+oVXuO6KS+S5ekpCphLM9DZVMzbUcWm5O7DdTHznvQ/48KsfCPYReP35pxk/frxcTt3a2kpNTY0cYUppDx8fH2667moW7thBTEzMUAsknGKoXhl6vZ4HHl3O3rxCrr/iYo475u/SfkmlI5nm22sOMFTTfLPZ7O1g4gk4ksINFXv37uWWex/BbBa5cOnxLFy4kLlz5w74gQ866CAuL6+gsrqOSy60v5SG/otIoVAwduxYenp6yM7OHpbTnGWUKT2MnClDfH19HZZXW47V09NDX68GdAJaTScffr+VwOixNLe2ceN119h9/9VXXEbS2O8IDg6W0xPt7e1c3d1NSWkZiw9bRE1NjZVpEfRf/BqNhrq6OiZMmCCTtCAI8ve1e/duGgkl+pAlrFn7tRUxA7IhvDMEBARw0QXnOz0GYOzYsSh7GjEaNBy8ZD7p6elUVFTQ3t7Ojh078PPzk0lcp9NRXl7O1KlTXd74jYyM5ME7biY/P59TT73FpfcMBlti3rzlT8YsPIOW7M0UFxfLwYlare6vMo2NRRRFenp6aG1tJTc3V+78MX36dEJCQigrKxuRiFmyGHWn9VhBQQFZJXXEHnIeb7z3kRUxm0wmOUhy1BygsbFRNs2XHkSDVRqOVkMtZxhVxCxFeqIoOpTCDXXcP7N2QMIsTGYoq6zh0kvtt2xXKBRccP5/Bh1TinCbmpooLS0lLS3NrRxWWVkZZWVlHHTQQbKzl9lstvJjliw1y8rKZBcwV8/XbDbLqZrlDz/A1q1bqaxM4Ksd+xDUfgPSHxLeee8DPvh0LUceejC33nKjfENHRkZy3nnn0dTURHd3t+zNYTAYiIiIICoqClEUKSoqIjExkaeee4nOrk7uvu2/8nLcZDIxceJE/HpW0bStklPOPZ1PPv2MtvYOzj37TLd7Cw6G1NRUXn7yQdra2uRUUHBwMEqlkqSkJPr6+mhtbWXv3r3c//hT9KmCmRwTxKsvPOPyNZeSkkJiYuKgq7nW1la++e47xiclOc332krbzj/rVFY89yopyeOYOXOm3fdIzmnBwcEkJydbmRMVFhbKq6fAwEC3dMXO0NnZycNPPkNzexdXXXgOZ595ukvvGzduHMH00bB1LUvmWdsaOFvFWJrm27rH2WsOYA8j4cMxUhhVOWaVSkV3dzf5+fkOpXBDgUKhYOaMVFZ/8gX+fv6cf/PDHhlz37599PT0kJGRgY+PDy0tLTzzwiv4+Ki55YZrHUZ+9fX1XP3fOzGGxJP2/U88//QTCIIgNxW1LBp58513Wf3Vj/gKRt78qwu3I2g0GhoaGoiOjqanp4fy8nI5VXPmmWdiMBiI/PAjuns0XGTH9c5gMPDmex+RctotfPvda5x/7llWJerZ2dn87/7HMJkF7rrxCo5ccgRGo5G2tjbKysro7OwkIiKC1as/5MOvfkBUqunqvI+P3lslP3DHjh3Lu6++QE9PD7m5uTz57leoQiLp6HqLZbf+1+55iaLI1998S2FJGeeccZpb14Uj8yVBEOSNKKVSiV5QM/aQM8hb/yLbt2+XUwORkZFOycxV451HV6wkt0ON+csfeT4yUu7PaG88S3I6+sgjOWrJErdIxdacKC8vT9b9SymByMhIQkJCZL/ytrY2Jk+e7PLnlJWV0SEEk3DkUr76/huXiTkiIoJ3XnmehoaGAb+Nq6oMW/c4e80BpGh6sGq/EfJiFoBHgDMBE/CKKIrPD3piFhhVEbPUcSMtLc1j0ZPUrTkgIIAfv16LWq12+8lpNBrJzc0lPj6emJgYjEYjXV1d+Pr6WvlyfPDRx2yrN2DWd5O87iuHy+329nYMCl9Ck9OoLv0Vg8FAQ0MDISEhzJo1y2p+27J2Ezn3ONqLsigpKXFIzD09PVxy9Q00detITRrDWUtP4eCDD7a6ydVqNZdcdOGA9/b19fHoE09TVVdHUkIsVT+9T0Jk6IAIPTsnFzE2lYCQCP7I2smRS45AqVTS1dWFWq3msMMOo6+vj/Xr10NgBMHTDmVf+Sa6urrkVYGUAw4PD6e4uBhEE+a/Ok0bDAZ589By3vv27eOtL75HnTCdkidX8trz/Y0BsrOz+eTLrzk4M92lyj9HiIuLY+nRi/npt0+45dorWLBgAb29vbIvs9FolDfaJDKT4OoyWa83oPQNRVSonBpM2SP64UR6kkFYfHy83Mmkvb2dhoYGiouL6ezs5MkXXsfsG8TZxxzKlU5aqlkiOTmZSMXv1G1cxdUXO7a2tYfQ0FC79/dQ8/72mgO0tbVRUVHBmjVr5FROW1vbgNTgCHkxXwyMA6aKomgWBMF1o42/MCqI2Ww2U1JSglarZfbs2R4jZUnNoVAomD59+pB3dp946lk27szHz9TLS089RkNDAwEBASQlJVndNLExMZjadoHZSGyM46XttGnTOP/kI9m5N5fzr7+SrKwswsLCiIqKGnATXnb+WTz81PNMSRxLZmamwzFrampo0hgJnb+U7J/f4dKgIKcXeUFBvxl+amoqv/76K7+XNOIfN5VkQxV33XYxiYmJAyLFIw5fzNc/bELTUsDSB++hubmZDRs2kJaWJj9QgoODufnmm9mZezW1ZRu5+rILqaqqoru7m5CQEKKiooiMjESlUrFkyRL6+rS0dXRwykknyukciZwkklar1WA2YdT24hf095zueeRJlFMW88cb7zMzbQZjx45l9ZqPWf/9T5x63NGcc9YZA87bEfFdf82VXH/NlfLfpIgsMTHRisw+//xzPvlqA1Mmjufh++6W3z8Y7rr1Zj765HMmHnmqw5SEo/m5ipycHJqbmznkkEOsrnXLMW1TAt9//z2G4FgCkmbyw8+/ccTiRS5V6QUEBLDqtRfR6XQek6F5Ssfs5+cna8MfeOABvvvuOx588EFOOeUUzGYzF110EVde2f9bj5AX8zXAeaIomv86rsndczjgqQydTie7rXlS1iO5rk2aNImGhgaHkY0rT+k9+QVEzj6Kxp0/sHnzZs444wyqqqoGFHGcdebpxMXGoFarnTYWFQSByy+5iJMt8tOtra1257hw4UI2LFw46PmOGTOGcWF+lG96m6svuUAea+2X69iyfSfnn7VUNkz6+eefefDZN0Ch4LYrzmPc2LEIXY306nqZfkQm06ZNs/sZ8fHxrHn3TaD/+z39PxdjCBrD+N//4J1XX5SPCwkJ4cuPV2MwGGSCEEWRzs5OWlparAyLliw5goCAAPnakIhZUnWs/+Zbvv3xZ849fjFKlZoTTzhe/pzQkGAam2tQK/oVEp2dnby1+jPGHnUpr7//Niccd4xHSMOSzB575kWC551GdvavrF27lsmTJxMYGEhQUJDTbtvx8fH87+YbBv2soRJzTk4O/33gSQgI5/jcfG658e+Na0fXuCAIHHroofyw+TcqKrbwvxuuIiwsjJaWFkpLS+Wu1JL5kiXMZjNqtdpj9QQwMiXZKpWKmTNnMnnyZNavX09bW5tDZ0gJHvBingCcLQjCaUAzcKMoiiVuzdvdT/QkbKVwUhQ3XEgbaLNnzyYwMJCmpia747725tu8//EXHLogg0ceuNfhRXH9ZRfx2MoXmBI3hrPOOougoCC7lYoKhcKlhqGiKFJeXk5ra6ucn25vb0en0w3pxpQ2IF994RkCAwMxGo3s3r2biooKnnv7I0JmHM5dDy/n28/XAFBSug/lmEmgVFNYXMoxRx/Nq089TFtb24CqPElpYUlw3d3d/aZFZgWJ80+g4se3+Wr9enIKijnn9FOZOHGi3FtPgiAIhIWFyZHnnDlzUCgUlJaW0tvbKz+Ypc0bpVLJvn37eOLFN4nOPIFPv/6BdWves0p5rHjkfrZu3Upq6rlERkZiNBqJi46gcecGxo6Jsrtbb9moIS8vj+joaLeUNHPTpvP1b5sIMms5+uij0ev16HQ6eaNN6hkYGRk5JNIym8388uuv/Jm1g6WnnjKoQkVCc3MzBETgGzuBmnprInFmYhQYGMjK5Y9a/c2ySq+1tVXeYLMs3AHPb6aNVEm2ZdWfZcrDFQxRaugLaEVRzBAEYSnwNuBahc9fOCDELLVAqq+vt5LCSZ2yhwqpK4per7faQLNHoqIo8v7HXzDprDvYuv5lqqqq7Pq1Go1GQkKCee6Jh5k8ebJ84bhqOrRv3z5KS0tZsGABISEhcvm3j4+PlVzvy6++5v1P15I5eybPPPmYww2nzs5OHn1yJd09Gu78340YjUYrgpfmJooigYGBqAUzXfXljLPYvDjl5BPZlfMkRqORM5deiCAIdjfJ+vr6uOK6G9m5J5tjD1/EyqeepKWlhbKyMg499FAua25lw6b1nHPK8Ty36hP8UzLJfXi5HFXbm/t1t96FIWICkZ9/xUer3iA+Pp4PP/qY3z/+nOOOWERMTAy+vr709fXxww8/4KdWom9vICI0RD4/SaoVGRnJSSedJKtQVCoVLz/zJIWFhUybNs2hblUQBF569Q2++nUHPsZeXn1mudNNVUvccO3VLFmcz5gxY4iOjqa6upqQkBDi4uIGyNbMZrOsWLFXBGIPW7du5YMNW/GPGktdYxN33fY/l+Z1yCGHcFxOPrUNjVx/pXWe2B0TI0tIm6PSBltHR4eVJ3N1dfWwTKVsMRLtqsD94pLheDH/hRrgi7/+/1rgHXcH2K/dFAVBkDf4pNJqyy9sOGb5UlfogIAAZs2aZXVT2htXEAQOWziffetfJjEm1K7HcG9vL1lZWYwZM4apU6daPc1dIeampiau/u8ylr//HXfc+yB9fX1kZWURGRnJtGnTrMb78rsfST7pBgpq2/s3xRxgw4YN/FnTR6k5iidWPodWq2Xu3LkDolPpIRURGkx6pImnH+svvRZFkaioKI5dchj+Af5UVlY6/KzS0lL+2J2POeVQPvvpDzZs2CBL+YKCgrj4wvNZs+p1TjzhOBRmE7qedgICHGtKe3t70RpFgsdOorW9Qy6zf+vzb6kPnsqqjz5nwYIFhIWFcf+jT/JjSRe9Pd0cMymYB++6Td7IUqvV+Pn54ePjg1KpRBAETCYTBoMBf39/MjIyBvVF2JtXSNiMxRgCo51+B7ZQKBTMmDFDlsdZrnCkHHtycnJ/7n7rH7z8xtvs2bOH7du3k5eXR0NDg9PNP6PRiKBQIihUmE2u6299fHz4703X8/TjDw8IMDwRiUqpp0mTJpGZmYmfn5+84tm+fTtFRUX9RUjDWPHaFq1s3LSJ408/l1vuuIu+vr4hj+usQ7Y9SF7MwFC8mAG+BCSB/mGA4xvaAfZrxGw2m9mxY4dcPmuLoRJze3s7+fn5chcPV8d9+L67qa6uJjY2dkCEaq9cW0JLSwt33PsQHV3dPPnQPWRkZNidV0dHB3rUhI2fyb7sb9m1a9eAzi0SFi3I5Lvv32R8fIzTTguJiYmIbWvpaKxkyomL7MquJGK+f/lKwhecwa6s9Wi1WrkUuqmpiWdef4/wjBO57/Gn2bDWvh3phAkTCPRV0NXdRmBgIBqNRk5BWGLs2LE8ed9t5BcUcNSRA4tWRFHkzbdXsXlbFovnzaSju5Sz775N1hWrzHp6akuYGB0pp3jMgoIxk2fR3lXD8ccfj9ls5s8//yQwMFA2xfHx8aGxsZH3P/qY+NhYzj7zdDk/DQwobpHmAnDVxeex4oXXmJs8zuHv5wocpZ42bdrEtzvLUIXGEvz7Nu6783Z6enpoaWkhOzsbsF9SfdBBB3F2VTVKtQ/nuChBc2WOnk4RKBQKKytTe3I1KZretHkzL77xLrOmT+HuO2516PNhS8zvrP6U8IPPJn/PJrKzs4fc2MAZMbvrxfzqq6/y5pv9K0JHXszAcmC1IAi3AD240VJKwn4lZoVCQXp6usPcm0rlXEpkC8uUiFSQ4ehz7UW3CoViQKcFy/yvI7Okbdu20aiMJDjtYD74dK3DG3vSpElcdNqxbPptK6eeeoJTO9FrrryMo5csZu7cuU51s9OnT+fKs09kzJgxdv2TS0pK+OKrrwn0VTMuPo7q0p34KUXZkQ76l6h+aiVd1UVEhIWi1+u5+4FH2FdZzZ23XEd6erp83PpPVvPMcy+QNmMRS5culW8crVZLYWEh48ePJzQ0lPT0dPl9tigtLeXD9T8Se8iZ/LL5PTau/0Imori4OF584iGKi4uJiopCq9WSnp7Oo/fczidffsOlV18sP3ykVEFLSwt79+7tJ/z3PmSfKRLzn3mMTxrHwr82SqV0h/S/0oNZ2lzMzMzkk/ccq1wktLe388BjT9Le0cm9t9/CpEmTrF53RMxhYWHQ24FRNBM1fYZVEYi9kurg4GA5qDju2GOYMGHCoHNzFUNNZdhi088/8/p7HzF/zkwOnv/3d2freSHJ1aSUx4rnXyV4/hls2buR/Px8p2ZPlsR8UMYc1v28jgCFaVgd5Ht7ex3qmd31YpZIGZx6MXcAJ9h7zVXs9xyzr6+vQ4WEZLLtCpwZ5dsb15VIvLOzk3sffASjycQDdy9z+ACZNm0aqrY36Wqt4tArL3A4niiKzM+cS/rsmcyYMcPpHBUKBVFRUTIpa7Va1n65jgB/f0488QSUSqXcBeW0006zutDq6+upqqpizpw53HbvQ2jj5tCy51vee+kpampqmDJlCoGBgfJGRnBwMK+sfFyOQrKysthZ2U7IxEU88tSzTEhJ4YhDFrD4sMOor69n2e23MmbMGKv53n73/eTXthOuNvDuay8REBDAu++v5t01n3HYwfO5987bUSgUfPDRGl59+wMam5pQBG5i4vjkASSRkpIiu6elpKSgUChYsGCB3LFFgj1yC/liHb1VrRg7+ivdGhsbZTmedJObzWYMBgPr16+ntraWk046Cb1eL6dBnEWTmzdvJr9DgX/UDN5f8ykP3XvXgN/YHuktWLCAR29V0NHRYbcpq21JdXd3N62trTQ2NsrqhMjISI+4rA0o8978C+9+/DmHzM/g0osucHn8Z155i+B5p/Pt718zLj7WYQRrKVczm81kzk7j1+1fo9T+3UYsMjJSviYd4bqrr+DYo44gKipK3nAcCv5plp8wSnTMElwlUMmqc+zYsS5t2iiVykEj8d7eXp5/4QV21OvwCw7n3Q8+4rb/3mT32IkTJ/Lik4/Q3d3NwQcfbPcYSUMt5ZOlC3Dtl+t4+e33yZydxkP33S2nEGyj+rdWvccnv+Uh6vtQKhVMnTqVzs5OK9c66M9jX3LdLejUIRw0dSw+Pmq6tRoERMLCwpgyZQpms5ne3l62b9+O2WwmLS2NpKQkebXQ19eHsqeJjtxfaCovQZx0OH++8AbiX6ZKtqmcpqYmdu3NIeXUm6je+B6tra39TWhXf8yEpbey+bvXuLi6un8ZuPZrJpx6E8qfPuCCo+ZyxhnW2mKpjVdzczO33/8o4aEhvPj08gEPAntQq9Xcf/cyvvn2W2LHjCExMZG1a9cSHh7OxIkTiYyMJCoqisDAQF5/8y2efG99f9Td28vtt94qS/Kka056cFoS9YQJExDaPqO3o47Us060Ow97EATB5aW3pS9EUFAQnZ2d+Pn5Wdl9SpVslimnX379lY/Xfs2SQw/i9KWnDfoZEh5/5iUiDzmHj9Z/yZLFi5z2SbTE9MkT2b1nIwGC3mVlg0Kh4P67l1FYWEhcXBxBQUFy8YdGo5HPzUFlncPKTXfQ09Njdw9pNGO/E7Mzr2BXuphIhvGpqakuP0UHi8Ql4/iZaWn8uPMLTCYtY6InOTwekKMZCYWFhWzZuo1DD1lIXFwcOTk5TJo0aYCHwmurPiTmiEvY+tsn8nnAQGI2GAwIPn6YTQZKSkqYOHGiXcvT+vp6dIoAItMWk5+3gReefJQfftyIkHkmY8aMkZex9zz4KBv/3Etnt4bJY6N556WVsmtdUlISq15eSVNTE4+seJbm6mLMeh0ZGRkDSHnTpk08+uyraPUGar99mZOOPYqxY8ciCAIHZaaT9f1bxIcHycR67JLD+PTrN0mICuX000+3+s66urpks6aPvlhPaOapdFQX8eeff3LyySfb/d5ramr4+eefmTZtGhkZGQQHB3PO2WcDcPWN/6VE44uidTOvrXwMtVpNWVkZGo2GTT//jBAchVrlw58798gPN4mcLQlaynUKgsDMmTN5Y+VjaDQau/ru4RSESPj9999Z++2PHHPEocxKS0OlUllF01LDWqlkPzIyktDQUB556nkiDz6LV97/lEMWHuzSwwxgwvhEyvJ/J1DNoH7Tlnjo3jvJzs5m7NixVn0dB4NKpWLGjBnyv+Pi4mQVi3Ru1dXV9Pb2UlFRQUREhMsqFlfgrN/faMU/JmKWcr8tLS2yybs749rLMUvtpJqammS5WWRkJFqtlsWLF7s8V61Wy03L7sOcMIcPPrud+2+/2aEyYEHGLDb/+jFhPqLVBqith/JlF1+I2fwOba2tnHLKKQ5zbNOnT2f2+BjKcr7l9huuZty4cVx6ycX8/vvvsgOcn58fFdW16FETOH0xOkMD5eXlMjF3dnYSGRlJbGwst95wNVu2bGHuRbeRn58vV8A1NDTw/ocf80fWDoJmHoXQWs8Vi6dw9l+kCPDI/fdQVlZGZWUlOTk5ZGRkcM2Vl3PGaacQFhZmlRpqbm6mrKyMWbNmERAQwNGLF/LUK+/g76MiPPwY1q1bx4IFC6zIRqvVcuGV11OuD8JY8xQvPPEwp57yN4G3tLUTOG4+Pe01GI1GUlJSCA8PZ+/evVx1+WXcvOxejEYzR19zKdXV1URF9WudLVMelsUtElknJCTIRG3vGpL+vnXrVjb89AvHH3X4gDSMI2i1Wh5c8Txhmafw5Itv8PKTDw/oRiOVMKekpMjm+dXV1fioFNTnbSNAMLt1Pzz5yAPs3r2bSZMmuVVl6+vrS2ZmJnq9nqYmt4vZBsDy3KC/U7yfn59V3t0TfszudsgeDRh1xGxPxyxJ7Pz8/AYYxrsChUIxgPAlPbFarbYa07adTktLi7xhYXkRW0a4JpMJg9GEoFDR29cny8ns4Z5lt3NuWZnsXWA2m9m+fbtsqmM5v/kZc2UVR1tbG7fd/QAtbe08fPdtclnvBx+uYXdZPUqjXu4ovfGnn/j2x585OGM2iYmJmM1mLjzrVN5e/TGN1VuYf/B8ubx77bp1PP/G+4SHBHLz1ZcxZswYLrjgAi68+kYMATHM+OZ7nl3xOCtffIU97Wo62npRNHxG3JgYFi601suqVCr+2J7Fqq9/A4OWB266lMMOO2yADrS6uprdu3dTWFhIbW0tp556KscfdxyZGRkYDAYuv+F/GCIn8tEX6/lo1Rsy8el0Oto6u/GdmImhpZJtWbusiPnBO2/lvTWfkXHeaUyaNInOzk7y8/NJTU0lJCSEnYceil6vx9fXl5aWFgoKCmR3PMv+gVlZWWz+fRvHHnk4qampAzYQ7fl59PT08MCTzxE06xj+WP4MX374jkvaWZVKRWhwIN21JQT4qAf1cvHx8ZEjzndff5nffvuNMWPGUFpaauVFbVlNaYugoCCXO5rYw1C9mJ1B0jDby7vn5OQAWJkvuRNNe3PMLsDZF2ovYpa8jpOTk62cztyB7bh9fX1yjtqZU5lWq+Xy62+hSxVOvM9q3n/rVXn+lsTs6+vLZecuZWd2Hv956jG5WsveMlelUjFlyt+Wo++v/pB3vvoZs7aHq845mbS0NOrq6qisrLQqvvntt9/Y1+dHUMpC3lvzGU/9RczZ+YUETZ5PT10ppaWlREdH88jKl/GdfgRfPricC85ayi03XEtiYiKTJ0+mu7ub0NBQenp60Gq1PPX8K5hjplKv76O+vp5Fixb1F+ngQ/iUeezL/g6AAH9/jHXtBAYG8fiDtzFv3jy7N2ddQxPqqEQMmg6Ki4sp21fO9GlTWbBggaxb7uzsZMWLr1OjGIPhnY9pae/kqssvJTo6mvr6erRGkbD4CbTtKrD6DkNDQ7n7lmt45KkXiIoM4PyzreVkqampPPFwf2qopaWlvwS3s4uoqChCQkLk6B/6ZYeJiYmYTCba2tpobGykqKgIURS58+EVBKUt4ecHHuPrT1fj6+srR9OS0gOwImuVSoWfjxpNaz3+vmqXTdlVKhUvrHiMHTt2MGvWpbKJvyuIioritNP+zi3rdDpaW1tlNURoaKj8sPYkRqJCz3ZMy7y7tNFraWXqToWll5iHCdscs9Q7z12vY1tYErOUT3YlR93V1UV7Tx+xh55K1c/vWnk/SOkRaSPy8MMP5z//+dvHeeNPm3j06eeZkJzIM0886nD+ZRVV+MRNoa+tnvr6eoqLi+np6bGqXIT+7h6KttV0tdcw7/x+Qurp6eGEow7njffWkBITxcKFC1GpVPj7qqkozEYv+LI5v47M33/n+OOPJzY2Vu7EnZ+fz+fr1tMdnERraSFJAXqOPPIx+bOOP3Quqz97m+mTx9PS0sL/bryOKd98S1zsGObPny+TpUaj4e5776e3r4/HHn6QSy44j46XXiN4XAy/bd9FvSoe87rveWNlDN3d3QQGBjJlyhQ0vVrUiQno6wqpqKyWzzMuLo7/Xnkhm7f8yVn33C6b6+/eu5ejjzySM884gzNtNhBtUVtbS35+Ph+s/Q7fiQvYfNf9Vo1tba8NS1Offl8EM52tjSj7etm3bx+xsbGyq5y0QWg2m+nu7qajo4O4uDgUCgVPPXIfu3fvJjPzXLeW3nFxcZx00kny3IeaW/X19bVSQ0ja4t7eXnbv3u1SNO0KRoKYB/PJsLUy1Wg0VhWWtlamlvgnErMwyNPU49b/RqPRaR5527ZtHHTQQXLj1ZkzZw7aeHIw9Pb2UlRUREREBA0NDcyaNcvlLhXvr/6Q7zb9yrlLT+KkE/6WJnZ1dckeAvaKUC644lq0KYtpyf2NB648w6GHRmVlJcufeZFAf18WL1zA+PHj2Z61k16tlgv/c64VoTc0NNDU1MSGH/utNHfn5NNjhDOPO5yrLr9UlsOVl5fz+BNPktegwU9h5vDMGWzJ2suRhx1M2vRpPPHyOyCamTJuDDvrdaDr4YJj+tMbkpJhzSef8dnOahDgjPRxxMaN4Zff/+Ts0060yp8uu+tuPtxaCggckujHh++tkl87/7KraQ2ZhLZ8JzdedKa8I3/44Yezd+9eHlv5AtGRETz12EN222dB/8P5P1fdhCIhjbDufXzy3lsOfytRFGWP7Li4OM678gbU4+ehqtnpkJjtIS8vjz+zslh40EGEhobS0tJi5Y4XERFBb28vBQUFzJgxg4CAgAHRtFTUYVnc4gqqq6tlm05PISsri7Fjx8pGWZbRtDNjeVEU2bFjBzqdzspCtrOzk4aGBquVnyX0ej3vrf6Irq5uLr7gPJcUHL29vezZs4fVn66ltb2D+26/xaFntS0k97/W1lY6OzvlrumSl/bSpUt59913B3ynw/BiFhx5MVsc8DxwqSiKQ3oijKpUhqTY2Llzp1y04ImdWVEU6ejoQK1Wk5mZ6daNcsF/zuOC//ztN5udnc3Kl98gKiyEo484jEWLFtkl+cUHz+e9tV8Q5KNg8uTJQH+hhUKhsNrIS0pKYuXjD7F7927Z/vSdDX+g8AvCYHiPm2+4Tj42NjaWHzb+xLd7q+lpb0HbayT12P/w85b1nHDs0dyy7B56urt54eknePnFF9i6dSvBwcFcf9vdJJ54PV9vep+O9nZ8ktPp7e4gNNjMdfMyiIgI56gjj2TFymdY+/X3JCeOZXbqFDQ1RajVanx9Unj+zdWEpx/PvY89xcpH76e8vJzDDjsMAQHRaEBQKBBtVuAP33MHH37yGcEpBzFp0iRuuedRzDGT+H7z77z9ygscddRRg37/JpMJEQG1fzD6Fr3D46QSdIVCwcyZMxEEgSfuvZ1t27M49rqHBr2OGhoaCA4OJjAwkNTUVFktI33vkoKgubmZ0tJSdDodcXFx/Prrr8THxzN79myraNpecYuUm+7q6mLV+6sJCgzkwvPPG2DR6ej6rKys5L5Hn0StVvHwPctckoCJokhxcTH3PL4SUYRH7ryFjIwM2feivLwctVptFU1L+OWXX3jk5fdB5cNltXWce/ZZ8vk5u4d+/PFHPtq0G2VgGMZV73O7A9mpJcxmM7t27aJE40vA2Eze//hzHn/QNWK2192ktbWVdevWsWLFCvz8/Ni9e7dcLSphhLyYEQQhA3Bd7mLvnIbzZk+jq6sLjUbDpEmThmIcYhdarZbs7GyUSqWVZGeoePrF16gNnExB3g5Sp9Q6jLwvvfhCjjxiMeHh4YSEhPDDjxt57MW3EBB56Nbr5M0XqZx8ypQp7Nu3rz99YTJiNuhQq9UYjUZee/NtaurquebySwgPDcWsacdXrSTUR0/DT+9w6/VX8vnaL8nKL4eAMG68dRkbvvqCefPmsWXLFhobG6l87ymmxAXzn3PO4tvLrqKxuY2Eg+ax6NBDWLRoEb/99hsffLURQ9wcCjQaThqXyOOHHEJ7eztBQUH0dnVg3JdDmK+aW+59FDEikR82b+HJR+6n9+576NH08tjDf/txQP/NFuTnw/HHHde/AatQ4hcSSWd91YDvSyK+kJAQioqK+GzdeubPTeeoI5dw1w2Xs/n3LZz/0D0D3qfX66moqKCjo4Py8nLWfPktM6ZN5t5ltzFr1ixZaWPv87Kzs1Gr1ezNyeX1Dz8nxFfNq8+tIC4ujqqqKgoKCpg3bx7h4eGygqC3txcfHx9mzpzJCy+/yvpt+Zg07dxx9QUsWtTvZaxUKgcoPSyj6Tfefpcfilox93YRExVhJQ10Jr/7Yt16WoJSMOr1fPPd91x+6cWOLlOr8fILi1EmZ6JUqdnyx3bmzZtn5bLW19dHW1sbpaWlaLVawsLCiIyMpK6+AULGoPYPps7CsW4wYvb390c09GLqUxIUmDDoHKUxx48fj/DzNjTtNcw+6ySX3mcLy+4miYmJHHvssRx33HF888033H333UycOJFPPvkEhUIxIl7MgiAo6Sft8wDn4nInGDXEXFdXR0VFBf7+/h4jZUsPDWfGQK5Cp9MR4Kumr2IPAWKfbI/Y2dkJYJXOEATBqtw7N78AdeJMzAY9+YXF/T64P/xAeXk5559/Pn5+fpjNZo477jiMRhO9fX0sPe1UfvzxR55Z/TVCxDhqH3qMd157ie1ZO6iorkEVNZY+vQG1SkVXRztmQUHIlIMp2v4pZ5x/Kdq+XmpaulCEjGFyaibmyh1c+7870RtMLLrhaX598yEquz8l9t3VtHR00dfejFG3G4XSzJ9ZfoQEB7Fm7dfkFRTi6x9ITNc+Tj3pBF79+Bu6KvZRXFfKnLTpPPfMSvk8s7OzueeRJ9FqtfRpuvFNmsWmLQ+w5t03yJyaxBfffsicGVOtJEyiKHLfQ4/yy5+7WJgxi8KSMgzjMtn04ptMnJDCp+u+obCiFviUh+//m5xNJhPX3nQrOftqSR0fS7dGi8/ME9ia/RM5OTl8+c0GtuaVE6zQs+qV5632FNZ//TXPvvs5mI34o2PMwWfTWvgHBQUF+Pv7c/Utd6APGcfYL75i1WsvAf0Ra1tbG+np6SiVSrp7tYSNn4G2uQqTyUR7eztlZWX4+vrKfh6STYBSqUQURURRJCgwAFNfJRj68PHxwWAwyFWIzog5LXUa3/zyLgJmpk8d3F4W+glvfuZc8lZ/isls5vjL7htwjL+/v5XvRUdHB62trSTExzE1eAeC0M6ZS/9jNaYzYj788MMxmUz09PQM2h1egslkYvLkybzzwgq6u7vlVeZwERISglKp5KWXXkIQBGpqapzO3QNezNcDX4miWD+c1f4BT2WYzWaKiorQarXMmzeP7du3D/szpA7b9fX1svfEcHemu7q6yMnJ4d47b6e8vJzo6Gg6OjrYtWsXt93fv2m24sG7HPpFnH7qyex++HGUSiUnHHcZn376KSte/wD/sBgEpZorLruEuro6du3axUknnShvLpaUlNDT0YZaFcSu6lLuve9+fskpRx+SQNOebaRkHMH1yx4kYXIak2KC6Sv/Gb+EFLrCJrKvZBPzzr+N31++A8O+P+k2+zBh8Xk0fraSsvWvoDTpCJs4hx3r3+awa5fT+9UrnLBwNht/+4PqgEnc/cgKYhecRG+0gphxCTQUbWHbrmzC1EZamlpJO+8uHn9mBb2abpaedhrfbPieZ156HdO4DGLGxNC64xvSjpxL89b+Kq+SiloWXPog9X98RWFhoez93NDQwJffbWTSmXewZdObjAkLpqe7AwX9KajCyjomLf0vmz96FIPBIO851NfXs7ugmNRzllH21XMsPiiT3/f8gJ+pj7Fjx7IrO4/YhefSsHUttbW1VsRcsq8CddwUTHot08P17Ph1NWPjxpCenk53dzdak0DkhNnUbf8Cs9lMWVkZOp2OWbNmyTf2NZddxLMvvc6YOcmcfPLJ8uqpt7dXluPp9XrZ+lPqCnL5pRcTH/stfn5+st+JlO4wGo2yltqWQI5csoTkpCRUKpXL1XqiKJKYmMgXH/W7pQ2WxlMoFHI0PWnSJObNm0drayutra00NDQQHh5utQlqD4IguJSmsoS0+efJ3DogPwwluNMv0l0vZkEQ4unv87fY9RnaxwGNmHU6HXv37iUqKoqpU6fKX8Rwdn2l7s2iKJKRkeERf9f6+nrKy8tl4/34+HhMJhNZWVn8vvUPVBP6N8N+3/oH6enp1NbW0tHRwfTp0+UfNikpiffffBWDwUB2djZtbW34jxmPb0QcldW1lJWVsfzFN/CPiCNSqSMwOITWlhZaOroIFfoQO/ZhDAhnY0ETrXW1RAVGozT20lmyHf+oeIInpBMZ7sNd/72Ba2+7B0N9MRNjQ6n95iXu+u/1pCQl8txr79C590dOOv4Yrrn8EtZ/8x3F+yqJPmQBNVs+I3lMOLfccgs7865Br9UQHBiAuXovPs31dHaWEB87hhpVAvooX5IMeZR//zaibzCf/PgnGzf/zva9eYSOm0p38R+EdcdwzaUXkleynaNPOxadTscxhx/KR1+9Q0x4f7ePuro64uPjeXf1R2hFFdvevJclC2bzxCMPsunnn0mbcRJpaWnMT5vC1o8e5dTjj5JJubOzk61bt6LXdLFp5Y1c+p8zuffO28nLyyM+Pp7o6GiuvfQCXn1nNYfOnmG1USWKIpNTkvl1y0ckjRvHHbfeJmuYJUP/K887jV+3ZXHzHbeQn5+Pj48PqampVjdqYmIiK594ZMD1EhAQ4FCOJ7njnXDCCVZFIVKk2tbWZtVV3NYdz90SZanyc6j3k7+/vywrlTyZq6qq6O3tpaurSy4Vd2Qg5s48R8IkX4KrBDtML+Y5wESg9K/PCxAEoVQURbfryve7KkMylJG6l0yZMkVOCUD/DvLs2bOHpMSQfBdiY2NJTEy0+jG2bt3q0NfCESTdbU9PDzNnzrSSr0kKkoiICG5e1r88fHb5QyiVSq7+392YVH5ccNISLrvkIjo7O2lsbCQ+Pp7s7GxSUlIIDg7mqedeoLWtkxOOWszWrVtZv6OMsInplG36hMQ5i6jZV8y8ky7AsPcrTjnmCN768ieUUUmM6avkuKOPJG3GDEwmExs3/0ppeRU3XHkJaWlp1NbW0tLSQlpaGo2NjVRVVTFz5kx6e3upqqoiNTXVahNEr9dTWFhIUlISoaGhlJaWsvnX31gwL5Pg4GCUSiUxMTGs/fIrXvv0WwSTnvtuuoJPPl9HQV8A2voy9No+guafScFHjzJ35nSCgwKprm/i4PSZbM/v76C9YOZUrrv6Cvr6+rj78WcwGk2cuHg+1fWN5PUEoGuu4v5r/zPANU8URXQ6nRyRNjU1UV5ezq9bt/FztRmT0cipqeFcc9UVLv2uv//+O/c+8yb4BnHO4XO46orL7B5nMpnktmfJycn09vZy/yPLKa+q4c5brhvQ7cUZqqurqaioYNq0abJDntlsllUwer2effv2yYohaePQ0sZUFEWXjJcs0dfXJ7cv8xSk1kzh4eFyNG0wGGTJWmhoqNskW19fj9FodLlhgaswm80cdthh7Nmzx+7rFRUVnHjiibIq47bbbiMyMlLe/Gtra+PJJ5+0fZsA8FeO+VZ7qoy/Xu/5x6gyJKvO2tpaqwIKCVL1n7vELOWTp02b5lbrGEcwGo1kZ2cTFBTEnDlz7DbwBJg6dSpff/Yh0L87vGHDBsTQBEISp7E7N5/m5mYuueYmOnQicybGc99dy3hi5XPs3JvL9ZdfxLzMDC667n+YIpLpqysmKURBXFQooqaVAG0j9b98yFUXnMGZp59OcGgoNbV1nHX6dVYeHLbpk4SEBOLj46moqKC9vZ309HTUajX+/v52N8KkzSwJEydOtBuZnXXm6UyeNAE/Pz+mTZvGjBkz+PDjTwhZNIUvvvqOll2fc8WF53L6KSdy2/KXGX/itXy/+nECUg+nkzZ+KajB9NqbJERHoguKp7GymFU/7SVG2ceh8+cw6bCjZCe27Oxsfvl9C0cctojU1FT8/PzQ6/Usu/cBikr38cCy/3HIgvls2PwcggCZF97q8m/b1tYGAeGoQ6JobGm1e4xkQjV27Fg55/jnn3+yu7qTkEmH8eqq1bzhIjHX19dzxU23YwyIIjMliscfup/k5GTZ+rO4uJiuri6io6Pp7OyUmwEIgsCbb6/i96xdXHzO6Sw8+GCnXtOW6Orqory8nHHjxo1ICyiVSjWgw0l7eztNTU2UlJTg7+8vV1S6Ik0dqYjZ8oFuixHyYvYI9jsxa7Vaurq6mDdvnt00w1DM8qurq6mtrXXqyewOpKKR5ORklyRJlpH0woULSdu4mZqKbVxx+82Ul5fTbvIlZNYiaso209DQwM6SOuKPuZI33n+XWTPTMAsqAqPGEh8fz9qP3mPfvn1UVVWRlpaGwWCQu2efcpJrO9Vms5mCggIUCgWzZ8/22AUvCAJz5syR/x0ZGcnFF5xPbm4ub778HEajkdjYWDo7OwlR6qnf8jnHHLmYvMJi6sv3ET49g4a6OnYXV9NYV4tZpyH15KPoLd7GMUsOl1c0Go2GW+97BFXKAj776k4uPud0Fh+2iKysLP4obkD0i+WyG27ltWeW89EbzwMMuuTMy8tjz969LD7sMI4++mhKyivp6OjiyksuHHBsX18f2dnZTJgwwWo1l5KSgkrTRGfuLxx5pONmu7ZoampCrwogfPI8Sks2y3+XVDeSQkDKTVdWVqJQKOjt7WX1+o3EzD+F5c++zPd/+bdYRtNSysMymtbr9Vx906206JWMD/flxmtcW0kA/LRpE99u/IWTjjmCxQ609yaTaYA3h1RwM378eNRqtSxZKygowGg0DhpNm0wmjzZ2ldDT07NfvZgtMdRoGQ4AMQcEBDiVrblDzBIBmUymQT2ZwTUnMMm9Li0tzeVGmJYIDg7muaeWy/Pbu3cvEyJ8qM/+hmuuv4qkpCTC1UZqf17NUQdlMnHiRG669Gx2Z+cx/YJzABg/fjxJSUlyftCdiEev15OTk0N0dPSIREuWkLopS0ZEEsLCwnjnledpaGhg4sSJKJVKtm7dSl1dHXtyCzB3BRIyrplDx6rZtHUDza2dLHtoOTddcRGfrvuGoqJieg0mkpLmUVZexQd/VPDBJ2u587/X46NtpaS0gMSFp3H/40/z/bpP5XMURZEXX3mNHzf/znlnnMI5Z50J9Fd73nLPQ4ixM/h8/QY+W72K/91kv2N1T08Pubm5TJs2jdDQUIxGI3V1dcTGxpKUlMQ7L62kpaXFLenljBkzOHnRXLLzdnDNjVfLc62oqKCrq0vWQEuGPhMmTECn01FWVga6HqqzfmB8WAjNzc0uyfEaGxtpaO8m8ZjLKFj3vMsb311dXTz+3GuEZ57MoytfZJ5N6zcJttGtKIr8b9k95Fc2MCkhihdXPmklWZMKQCyjaUk3XVBQwDc//MT0SSlykwNPwt22UqMFo0YuJ8HVhqzSxmFMTAxJSUmDEpBE+I48DGyd5txx67IHg8HAnj17iIyM5N03X7Wa33tvvExjY6PcQuq0U07htFNOYevWrVbuZu6SskajIScnhwkTJgywG/U0qquraWxsdNiRxtI1DJCj4blzy6l78hlCooK4+eabaeh4hDHR6bQWbufxZ16iIyoNnRhIuL+ZVHUT3QmxCH4h6E1mDj30UF5JSODKm27HV9/KmOgoq89saGjgi+83k3j0Zbz05vNER0YwZcqU/lJ/s0BrdSl5xXv437K7WfHYwwOuhaKiIqqqqjj44IMJDAzs982470F25O9jYkIUrzz3tGwg5A6USiU3X3+t/G9p78JgMJCWlmY3gvT19WX69Ol89ParFBUVMWHChEHleNBPmmPHjuXUoxaxcfN7XHjmafK1P1hu2sfHhyB/X7priwkJCnSYTrQl5p6eHnKKyph85m0UfvY0nZ2dVulERwUge/fu5b93P0jQrGPY8NMqZs2a5TGprARn3UtGMw64XM4WrkTM0sahox5/zsa1R8xSK3tBEIbkXmcLyXhp4sSJdi+0oKAgh09xaVnqLim3tbVRXFxMamrqsHxFBoNEKlqtljlz5ritehk/fjxvv/K8/O9LzzuLR556nulj42kikSKtid7uFuImJZEQNwY/XzX+VdtISh7LMaeezUXnns4Hb7xIXl4e8+bNs/qOwsLCiAkLpPb3z+jr7eGxt9fi09fKqlee5c4br+Ca/97JodevYO/mD6iurrbqrfjRmo955i+XvZfGj2fixIno9Xr+2LmXqefcRf6ax9m0aRNHHHGESwZF27Zt49VVHzJ35nSuv+Yqqwi3oKAAlUplpdpxBHsPgr6+PqdyPB8fH2658XquvOwSsrOzZY8U6bqy544H/Z1HXnzqMXbv3s3cuVe5TMzBwcGceuwRfPnxck446nCnHs+WBSDx8fFEhIfT29sNopny8nJ6e3tdNidyBf9Ey084QBGzM7P8wYi5pqaG6upquxuHzuBoXEnJERcXN6Slv216RGriOnPmTLcIUsoRFhYWEh0dTUREhMtzqa2tpa6ujjlz5gw70ncGqZ2Xv78/aWlpHkmTLFiwgK8/65cb1tXVsfGnTURddjxTpkzh3MuuI37xedT9/AFNPQYCMpby4PKVTEhO4uijj2bPnj3s3LmTmTNnsnXrVt54fw2+ah9uv+IiXnrrfdRTF9CevYnm5maOXLKEi889kx9/fJuJ48aQkPB3RVptbS0bfvqFuINPQ9NYwaZNmwgLCyMqKoqzTjme1e/dR1dPL0+89Rl/7tzDvXfebnUOer2e3377jejoaHkT9YnnX0U941jWbf6BJYsXyfahOTk5hISEkJw8sMUWQHd3Nxs3biQhIYF58+bZ/c78/f0ZN26cvOlmKccLCAggOjoaf39/CgsLmT59OqGhoXa9po1GI8Jfnccloh3McRHsb9TddP213HjdNW5dEyqVimeXP8SWrduIOildlrdamhNJG4juWn1K+KemMva7XA76L2RHnyt1abC9OCQvBIPBMGj/PHuQZGqWP1JnZye5ubluRd6W2LZtG/Pnz5dN7qVUyOzZs9162lt6K3R2dtLc3Ex7ezuBgYFER0cTFRVlN3oRRZHS0lL6+vpITU31iGbbESSVQlxcnFsi/aGgvb2dnJwcVrzwKtrQJAK6qhCArKJKgsOjSAn35YQjF/HGmq/wjYhF21iOwScMwceX+MmzuGhhCpMmTuC1VR8yJ20a1119pfwbNTU1yT0BpTxvZ2cner2eex9dgU7bh0nhQ4CfL88vf4ApU6aQlZXFsqffJCJtMYriTXz87htW833q2ef5NqsYobeNZx+6k7S0NG676z52V7Wj7mvh3VeeIyIiQk69OZOE3fPAI2yt7IKOOp5/eJlbuezGxkZEUaSzs5Pa2lq5ilayPbUkNstGAJb3oqNo2hL5+fkkJiZ6lPDsjSlZfba2ttLV1UVQUJCsm3b1/lq/fj0FBQU8/PDDHpsrf8nlRhKjLsdsrz+flE+Ojo626p/nDmzN8u15Hg9lTGnDxbKoxdVUiG0+2bLtu9QRurm5md27d6NQKGSSDgwMlI3+AwMDPRa9OoKUu544caKVSmEk0NjYSGVlJfPmzeP15yexZ88eZs+ejU6n4/yrbsAnYToRYjMfrv2G5l4DvtoaBIUvCXOPofSb1xjjLzJ71qnMmDFDbjS76t33OPaYo4mPj5c7okjmPkajkRkzZmA2m9nw5Sfcfs8DlAjj6G4op6CggClTpjB79mwWz5pATsFP3HjVJQPmXFvfiF/sRPrqiqmpqSEtLY2H7r2TnTt3Mn78eMLCwti9ezfjxo0jNjbW6fl3dHXjGxqNrrednp4el7+3r7/5lpWvv4taELn6onM5+uij8fHxoa2tjerqarkjSFRUFJGRkajVahQKhez/LF2Llu21HMnx9pftp63VZ09PjxxNi6IoR9PO2lD9Ey0/YZQSs2V/PimqtS1EGcq4UnRQXFxMb2/vAM/j/2vvvAObrNo2fqVN996LTjqA7hZEkCkvoIi0TMEFgoKDV0QFUVTEgYrwKqIiIsiQ3RZBCoiACJQlo3QCBbpHVpO2afb4/uA7j2lI2uyUkt9fFjXPk9Bczzn3ue7rNuQ1hUIhysvLdT6EJHR1yEdTmQgdExMDsVhMlUlEIhEkEgnCwsLuDgs1oyhzuVxcv34dSUlJZq1dA3d3SywWC+np6XBwcLinvrpu1QrcvHkTXl5eWLFhD2KSU8At2INxo4bjavEJzJ6WhcceG4u2tjYUFxdDIpHgnU9Xwz4sCX8VfIJtP68D8O+ZgouLC3x8fPD0C3PB5rZg6Zuv4ZmpE/H+pysR7utDTbNxcHC4p3yhyusvv4iPv1yNS7cKsXodE8HBwUhPT8eQIUMgEolw9epVxMTE6HQg+87C+di4dTti+o/QWsrQxLFTZ+GR+hhYt4ugUCioumpQUBCCgoKokCg2m03tSv39/SEWi/Ht+o3wcHPDu2+/QZU9OrPjmSsov6s2b/J9IB7w5ubmDmOoyGpadXfZmV2uO9Ota8z19fWoqakxalWr+rpisRhXrlyBl5cX0tLSjBY0YodLSEjQywVhiPPCyckJvXr1gqenJ0pKShAREQGhUIjz58/Dw8MDAQEB1BbdVDQ1NVGfv6751YZADhTFYjHS09O1fumTk5ORnJwMiUSCY38XoLj8LD5Y8SEC/PxwufwOzlYwEB51A3R7Oi78cwkp/RLQLhDCWQFwOM1UVu+2bdtQeuM2wkICcOzUOTCENMQMmYKc349g3dcrqYYhXYmOjsYjD2WiwTEcDs5uOHrib6Snp0MgEKCoqAgJCQk6Dz0NDw/HR0uX6HV9ABg74hEsX/kNeoWG3DMeDeg4X4/Y8TgcDlav+R5FbW6QN3ERn5uLmTNndmnHk0gkEIvFOH78OJydnTFy5EijhVrfcVUODg4dHjpkDFVdXR0AwNfXFzweD21tbR3CxAhGZDFDWxYzjUbbDqA/ACmAiwDmKZVK6T0voANWqTFLpVKt43O4XC4aGxtBo9GoEHpTiE15eTmYTCb69Omj8zThzmAymSgqKkJqaqreomyo84LJZOLOnTtISUmhHlSqOcEcDgcODg6UNclQMSW1Vx6Ph+T/n9psLsjq1dnZGbGxsQY9LPPz87F6z3E4+0fAj1uC0kY+Wui+QM1lLHzpORRcvIKbd6oRGhSAZ6ZmY83P2+CRNBIlh3/FQ8+8jUs7ViMmJhpvvvICslWaeGQyGbVK1IRcLkdrayu8vb1x/fp1LHxvOeQKBb748B3Ex8ejpKSky51GS0sL3v3wE9Q3MbDsnYVaQ7A6g5R/kpKS4OLiotdnuGPXbvycdxQyYTvmPzcJERERcHR0hL+/P3WISFAqlbh9+zYEAgH+uXwFW/+4CMglWPjMeIwbN07nVnEOhwM7O7sOovfPP/8gMzPTJCtxiUQCNpuNhQsXUiW4V199FaNHj6aCrE6dOgV3d3c8//zzlDAvXrwYvr6+VDs2l8vVGPlJo9H+g//PYlYT5nEADv//jzsAnFIqlesMeQ/drpShUCjAYDAQGRlJBRsZC4vFQlNTEyIiIowWZSJabDZbb/FTKpWUR1ufX0DSxs5ms5GZmdlhq6a6EoqNjYVQKASLxUJpaSnkcjn8/PwQEBCg8zh4csgKoEOSmjkggU5dHYh1xYgRI3D+ciHYnDpMmDoZb33yNeRujnDy8IO3jw8kciXiJ7+Bqr9z4OjoCCe6Pdp5zbBTysAqPYu0xAT8uGZVh0PNg/mHsOq7nxATFY41K1fcI64SiQT/fesdlN+uQdbYEXhrwX+Rt30T5XYoLS29p/FGE+fOncPNVho8+4zCLzv26i3MDQ0NlCPHkHyZGU9NQ1zvGLi6ulLDAYgd7/r16xCLxVQtl2RiJCcn4+TpAtDdfaCQCMFvF1ALLdWHmabfnfPnz+PDL9fAzo6GlcuWdIgCMNXvmqOjI0JDQ7F7926899576N27N0pKSvD1119j/fr1SE5ONksWs1KpPET+mUajXQRg8Cm51UoZmmhtbUVZWRlcXV07TPkwFFURjYyMNHpEFbGL0el0ZGZmUl2HutyHoU0jqkLZ2Taf4OLiQiWbkSyG6upq8Pl8eHt7IyAgQOs4IZIP4uvrq1e93BCITTE6OtropgI3Nzd88uFS6mexWIx1GzYhqk8fJPbrh2/X/4Ka8+8gKSEGW3blQSxTYJC/FN/u3IKmpiaEhoaisfHuzEXyINuesx+h/5mN2sJjKC4uvicA69q1ayi9XYs+k9/CwdyVePP1+XB1dQWbzcbt27eRlpam00M7Pj4e9JYt4JUwkD3pMZ3fs1wuxyeff4nisptY+vbrBv9u02g0amI6QZMdj4xR8/HxQUNDA2ZMmwKReDucHJ0waWJ2h+AlVccH8G/zi52dHc6c/wfO8UMgkwhx8dKVDsJsDoRCIfr3748hQ4Zg+fLlnf63JshiBgDQaDQHAM8B6Hp0ixa6zYqZuCSSkpJw584do1+PuBYcHByQmZmJxsbGe9we+iAWi1FYWIiQkBBqPp2qK0MbxoiyVCpFcXGxwULp4OBAjYMnsZIsFgsVFRWU35WM2yFCGRUVZZJST2fw+XwUFxejb9++XQ7ENYTs7GxkZ2cDAL75di0c4wYjOc0DMbJq3BG6ICx1PJprCu5Jh5NIJOBwOKisrETv8BAc+2MT/D1dqECnU6dP45t1GxHs74Ob1fVobGKg9ad3MPu5GaDRaGhqaqI89p3ZuRQKBRUpGRMTg60/rkFLS4tekZ6HDx/G0YtlCEwbidXf/YTtm37U/4PSATs7O7DZbPj4+CA+Pp7K82hqasKIIYPh5+cHqVTaYcYheY/qljwajYaxo0bg5PLP4Whvj0f/27lQmgJDXRn6flfV+AF3yxinDX0BqwuzQqHAzZs3IRQKqSe3Li3ZnSESiVBYWIiwsDBqi0wO/wyBhOSr+527EmZjRJkcHMXExJikTVU1AJ1MGWaxWLh27RrkcjnEYjHi4+NN3hKrDll9paSkmP20nMFgwM/HG07s01Bw7DDhpeew8tt1KCg4iujQQDQ0NCAkJAQ8Hg9eXl64ceMGbt68ieHDh2P5sg8w4/r1uyO3fv0VQ4cOxervfoJD6hM4+8cWuPbqg6QnxiBKdAcLXnsFtbW1YDKZSE9Ph1AoREFBAeLj4zs0sgB3fyeWfvQJzl27jvjwIHz/9VeUJUwXyMBZZ2dnuNvJwL9TiKRY/XbM+YcO4eKVIkyfnIW+fft2ei3SpRgXFwcajUZ1rao7I1pbWzXa8YB/DxAVCgX69u2LnF83UY0t5s5hFggEOruJjMxiBgDQaLRlAAKgYRagPli1lCGRSKi824SEBMqtoW+6nCok/rNfv34dDhfUfcy60tTUhDt37lAh+aqQXyxNGHPIRyxqiYmJBgUpdYXqF8zDwwM3b95EREQEmEwmqqur4ePjg4CAAKrF11SoujzM2aEI3O0QZTAYmD59OsaOHQu5XI6QkBAcPHoSfoOmoK32Bq5evYp33/8Ql4rKkJGShAYOD0ylN8SfrMS6/32Odn47dv11BTR7B3j5+KJffAxOnj0AZzsFfEUNEBfXYday96gwIlJqWrz0I1S0KODIZ+DXDd91yI2QyWQ4c+Ey+sxYipv7vgaLxdJ5agexesrlcowaNQq9e/dGTU0NBg4cqPPnUlVVhdU//QrXhEdQ/MkXyNuxReu1yKGsNkumujNC3Y5HykJubm4dpp44ODh0GFZLzAC65Hnoiz4t2RMmTMCWLVuwZMkSbNmyBVlZWXpdi0ajvQhgLIBRSqX6aGL9sNqKmXhN1fMkjKlr1tXVoa6uTmP8p75xouQEmsfjYcCAARpreNrE3tBDPuBudi/ZDpvTogbc/byamprQv39/auut3uJLVkH+/v4GuzNIVySZl2dOlwdZUfL5fCq1TfX3a0rW4/hs9Xfw8/FCE4OJE2UNcApMxMUr1+DhHwyRtxeUbv5Ys/4XPJU1DjRnD9DoThBLJPhk2QcoLS1FQEAA7O3twWKxwGazIRAI0Lt3b2r1V1lTC58BE8G5nE8F+nA4HNDpdHh5eWHqhMexd+dnGD5oQJcNJ6rvq7S0FA0NDVRGSHR0dIe8D11wcnKCHRQQcpnw17LFJ04ZNze3Dmc9V69exaUrVzHmP6PusaBps+PduXMH7e3tVIu7ejqeTCZDcXExQkNDdc6a1gc+n69xxWymLOYfAVQDOPf/OpanVCo/NuS+rWKXYzAYKCsrQ0pKisb6j77TRsjcQLFYjOTkZI0HWzweD/X19R3G0mtDLpejuLgYTk5OSEhI0PrLUVVVBQcHB2q7akzpgjwI+Hy+ySyCnV1Ll1Zu4g8lAqSaEqZr7rVqh13fvn3Num1VKpXUQWlnjh6RSAQ6nY6c3Dx8+ssBtAnFiHUR4pmnpmLV9+vhHRSORx9KxnuL3sTPv2yBRCpFTFQk9h/+E6NHDMGzM6Z3CCMKDAykJnk4ODigsrISv/95EsMGDcALzz+HgoICLFv5Lej2dvjfpx8gMTERMplM579jIpTbd+fgYnkVPB2V2PT9NwYPhCgqKkJ5eTlGjBhxz3mCap6Hquiz2WzMeHE+7MJT4ca5jtztm3X+/VYd8Nrc3AwHBweq5FFRUQE/Pz+q5Kg+uYXok76TWwhDhw7F5cuXTR1X0DNbsr28vPDQQw+ZRHxIhoOvr2+nX0ZdV8ykPq1LmItqjdkYUSZuD2dnZ6SmpprVDaFPEBGNRoOnpyc8PT3Ru3fvDqlmUqmU2qpqC5hRbRuPj483+/sqKSmBh4cHoqOjO70W2YlMzM5Cu1AIfhsfs2c9j6qqKiT26QNPdxe8vWA+6HQ6XnxhJhwdHTE6ayqChj+HjTt3Y+SwoWCz2R3CiHx8fCi7YkBAAKKjoyGRSHDr1i0cOX4SrokjIW7j4vKVK0hMTNRLlIuLi+/WwG9XIWTIFDAuHkR1dbXBwpySkqLRDaFQKKjSovqKWC6XQ6FUwtHJTe9D9NraWhQXF2PgwIGIi4ujLJ2XLl0CjUaDq6srmpubqdJZZ80tZLCArqtpU5dGLIVVhJmMbDcWbeUQTejioCDt37qOpyK5HsaIslgsRlFRkUXCgYwNIlK1UclkMnA4HCqHwcvLi0rFI58Lmb9o7vdF/NBBQUF6XcvJyQlzZs2kfl63aRukUYNRXVOKI0eOYNe+fLTwBfhw0X8RHhKMxrIz8HS5uyKOjIzs4L1ua2sDnU6Hi4sLgoKC8OPGzSgsKcfM6ZOQmZKIE2vXw8XFGf1mjekw6bsz5HI5lRETHh6OF5+bjjXrNyEtsY9OOz8C6VANCAjQ+vmQ+Yb+/v4aPeVBQUFYvui/OHfxMp588UOdf8dbWlrwyptLIPWNRkDOfmz/5Sc4OTmhubkZMTExCA0NpUL0SToeKZ2RcwjVrGnV2jRZaGkLXlKfkH0/YXVXhiZ06cdnMpm4deuW1nKIOl2tmA0JNSI1ZkMP+ci0jLi4OIPS7fTB1EFEdDqdOvhRTcW7ffs2NVqod+/eJh9Hrw4JuIqMjDTa5pfUJw43TpyHvaQdPB4PlRI3CN3DsPTjL5CfuxOXL1+GSCRCbGxsh9pwQUEB3v3kKwja+Vi+ZCFCQ0Nx4XotAh6eil37DiBv+y8YP3482tvbweFwNIZSqSOTyVBYWAg2m42WlhaEhITgiXGP44lxj+v9vn5YvwH7Tv4DewkfP65ecU+PAHkABAYGdvpgGzJkiMZ2784QCAQQyhTwDe8L1j83qJ2NavmCCDFxC7HZbJSUlEAul8PX15falXW1miZt3eoibc6dmrnoVg0mBDLFRJMXlBzucLlcrYdymtAmzKTe2tbWpneokZ2dHVpbWyESifSeNUjGMiUnJ5vdNmbuICLSXuvj44O2tjYUFRUhICAADQ0NqK+vp9p73dzcTPolIZbC+Ph4kwzgffmlORj0UH/4+/tDJpPh49Xfw8kvDEKHu+Ol1q7fBHZLKxbOm4PBgwZi+RerYG9nB1cXFzT79YPAoQXvffw5dmxaD1eFAMwLv2PUgLuxnQ4ODvD29oa3tzd1OMZms6mhA6pOGFVRXvXzLsDJDdPvVGLunNkGva+S6xXwTBiM1sprqK6u7iDMMpmM2kWZ4yEaEhKCBXOewV9nLuCpd9+6R5RV0deOB2heTav/8/1It1wxaxNRmUyGkpISODs7IyMjQ6/akabXJCfCrq6uGidhd4ZcLoeXlxf4fD5KS0uhVCqpg7GuhLampgZMJlPrWCZTYqkgIuBuBkJFRUWHXQfJLSAZC2Taho+Pj1G1v9bWVpSWlpr0YWNnZ9dh2OzM6ZNx5nIx4iNDcfLkSdxuYCMgcTB25h3A+QsXcO56A7xDIjDUnYbWK4cBZw+4BfrD1dUVm3+8O/MwISEBjY2NuHnzJjIyMqh7dXJyQlhYGMLCwjpMmCZt0GFhYairq4PS3Q+O3kFoaGIa/L5efuFZfPHNDxgQFYaHH36Y+nOZTIarV692mASuikwmw7lz5+Dt7Y3k5GSDr589YQImjB+PoqIiraKsCU1BRSwWq4Mdz9/fH+7u7hqbW7Zs2QKhUGjwfVsTq7gylEolJBKJ1n9/7do19O7du0OJQigUorCwEBEREfeY9nW95rlz5yi3B3m9yMhIvVYK2urJEokELBYLLBYLIpGIOhjz8vKi/hvSTCOTydCvXz+zOxQsFUQEgFodp6aman3YKBQKcLlcnQcBaIM8AFJTU00yFV0bxCnT1NSE4ydPY+uJaxC3NWNcRgyu3KxBs0svyKsvY8v3q+Ht7Y2c/QfxUGYaJoyncm3Q0tKCZ158FSKXAMR62+HHb/+n9XpCoRB///03WltbERMTA6FQiN25+yGVy/DWf1+lmjxMAZlJ2Vl+zI8//Yw9f10GTdSKVR++3eGhpQ+kxq2tfm0I5IHPZrPR3t5OnXF4enrCyckJu3fvxpYtW5Cfn2+OHWnPdGV0BZ1O77C6bW5uRnl5ORITEw1u4VX9hSZNKPq+nmqYOKllERwdHTusgDgcDurr61FeXg4vLy/4+fmhvr4e3t7eVDONubBkEJHqAyAjI6NTWxJZ5WgaBGBvb0+VPDqr8ZO2Z0vsNng8HthsNjIyMnDu4mVEREVD1uaJRwYPwm1mKzyCo+Dq3IIRI0YAANLS0u55DS6XC4GMhoB+j+DO2d1ar9Xe3o7CwkL8tHk72lyC4SnOx87NGzBw4EBKgM6fP99l3glw9+/k1x07cauyBrOfm3GPw0IikaCwsBBRUVGdHppX1dXDOSQOInYtGhsbDRJmc4gy8G9QEfE/kzOOyZMnU6l/+/btuy+zmIFuWmO2t7enGjRqa2vR0NCAzMxMk2zFO2tC6QzVTj51UdZ0/6TNVqFQUFtU0v3U1NSk9ypRVywZRER8w0qlUu8HgPogAJFIBDabTfnRNe04SMJeenq62XcALBaL6vh0dnbGvBdfgPvO3fD0TMVTU6egpr4ee387hMxHh2mcvkGIjIzEM1mjcfr8abzy5nyN/01dXR01SJfb1o6g9IFgnN4FgUAAb2/vDgJE8k5u3boFZ2dn6mGm2kl56dIl/LL/BJzC+oL5v7VYt2YV9e8kEgmuXr2K3r17d3kI/MqcWVi9dh0C+4Vi5MiROn92YrEYf/75J/X3S1wl5kL1jGPx4sVYs2YNnnvuOSxduhQNDQ3YsmWLXiO6ugNWKWUAnc/9q6iogKenJzgcDmQymUnm2SmVSvz111/w8fHRe2uvLsr60NLSQrWIe3p6or29HUwmE2w2G/b29no3bHQGCSKKjIzUuaPMUEgTDmlEMOUDgOw4WCwWWltb4enpST2ok5OTze5LbWxsRF1dHdLS0rQ+PMdkTUXgyFloPL0H6z5fCm9vb7DZbPTt2xf7f/8d323YgsyUJHyybGmnK/vDhw/jo6/WwsvTHd9/9RluVtxCXv5RPDl2JLInTOj0PomDgc1md4h4raurw3+XfgaldxgGhrvj848/BPBvEFdsbKxZXUBrf/gReWfLIOQysWj2VEyePNls11Lljz/+wBdffIFDhw5R708oFMLe3t7Uu6sHs5QB3BXnsLAwrdOE9YGcPAPQe3IJOd01xKje1NSE6upqpKWlUcJLTp3JKpHFYlENG/7+/ggMDIS7u7ve77mtrY3yYJsjsU0V4ocODQ01qN7fFao7DuKvJQ9y4sf19/c3y2FmbW0tNd6qs4d3enIiLp37DV5OdztZx05+BmK5EpPHDENlPQMBI2fhQkEebty4geTkZMr+qVQqsW//fpSU3cSTj49G3u+HEPhwFkRcJi5fvozp06frbIlzc3ODm5sbIiMjqYjXmpoatLW1Yd6MLAgEAirvgTRO6eJgUZ/8ri9cXgukdHfYu0nNegagyvHjx7FixYoOogzAYtc3Nd1uxdza2oorV64gKCio0+QrXREIBFScZWVlJQYNGqTTL52x7dWVlZVoaWnReXVOvlhMJhPt7e2Uf1OXICFivVOdbGIuiEXNEoNZyarcy8uLekALBAKqRVwul1NbeUMeZqqQv7O2tjadVuUSiQTXr19HREQENmzYgHUnbsA1LAGKq/swathg7DtxHjQxH7+uX4NGBhPrNm1DWlI/vPDsdLz5yf9AD0+BY+0lvPfW61j25ddwc3bGt199RkXK6svpM2ewbtOvSE/qi4Wvv0bV75ubm2Fvbw+BQICEhIROvd4SiQRLPliOwpIyzH9pJib9f3SqPigUCpw8eRJHjv2FqMhwvPjCLLOfBZw6dQpLly5Ffn6+2XeK/4/ZV8xWE2ZN46VIkltwcDDs7OwQFRVl1DU4HA7l3/Xy8sKFCxeQmZnZpVAaG2xfVlYGOp2O+Ph4g7bdCoUCzc3NYLFY4PF4nc70I0FEKSkpZv8CEIuauVLvVCGdgyEhIVpX5VKpFGw2GywWC+3t7ZQXWF8rnrF5HpWVlXh80nS08tvx8swZ8PH1Re6lWji6eWFcvDuOnixAwKjZqPt7Fxa9MAXLVq6ByMUfD8f4Y/3aryGRSKiJ1YaSPWMmHJMfB6fwKL75YCFlbxMIBCgsLIS/vz/4fD6kUin10Fet3wN3MzTeXLEWoY9MAffUNvy+91e97sFcB32dUVBQgMWLF+PgwYNm2b1p4cEoZZAmj9bWVgwYMAAcDgft7e1GvaamQ8POYjpV78XQTj4SYxoUFGTULyaZYEy6ochMv8rKSjg5OVFb+draWgiFQqSnp5s6pOUeyKpctSxjLkitvKvJ0qqTtFUPxm7evAk3NzfqM+wqtL68vBwODg7o16+fQavu6OholF46C6FQCHd3d5w8eRLrNm6BowMdo19eD6lUhkNHNyHIyxVCoRBiqQI0tCI9eRgAmOSB2i++Ny6W/A1nhYhaNba3t6OoqAhJSUnUg1Qmk6G5uZlyDJGHPjks9raXofbENowbOqCzy92DNUT54sWLWLRoEQ4cOGBJUbYIVhdm1SaPjIwM0Gi0e+xy+kCsYlKpFP379+8gWF21ZRsjyqZueSaoz/QTCARgMBg4f/487OzsEB4eDpFIZFZbUH19PRoaGixiUSOfY58+ffSqlXc2CIBGo3XoPiSolkr0jc9Ux97envLd78v/A5HDpkDcWIHm5maE9wpBdIg/xo8egTt37sAnNhUuviFoYLANvl57eztWrfkOzVwe3n79VSx77x3KlxwQEEBNiVFvwCFpeIGBgR0ylKurq2Fvb49P3l8MhUKBfv366XwvCoUCp0+fhkAg0CvDwxiuXLmCBQsW4LfffjO4/NOdsaowk/qvepOHql1OH8j218fHB3379r1HWDsLyzfmkI80PCQlJRk0xkYf6HQ6OBwOFdxERkVpa2oxBtVs4648yqagpaUF5eXlRn+Oqq290dHR97Q/EwGvqqoyS8iSn68PxNcbAHE7BAIB1u/4DY4JQ/H1uo3Yv3sbmlZ9A25LNV541uCRcDh+/Dj+vsGEk08wfvplKz75cCkVmE8OgpOTkzv9HGk0Gtzc3FBeXo7AwECEhoZSLo8LFy5QXZqdnXMoFAoUFBRgxdffQe7iixNnzuGrzwyKINaZoqIivPrqq8jNzTX6gdpdsZowczgclJWVUfVfVfQNtQfuriBIx6C2Aw5Nr2tMPRm4W+Ml5ntzT+XQtCrvrKlFNe1NX8jOw87ODikpKWYPgtF3iKk+qLc/M5lMlJSUwN7eHjweDw4ODhrr94by9oL5yDhxAsHBwYiMjETNnQ8g4UgQqLhbB/9qhWHCVV1djbNnzyIzM/NuC3UrA2IxH5Gp/2aXk3MAXUd3rfl+HQ6dK4WduAU/rPwYcXFx6NWrF9UmTgYmkC5NPz8/atdEyhcKhQIye1cE9X8CxWe2G/TedKWsrAxz587Fnj17EBcXZ9ZrWROrCbNCoUD//v01ipm+pQzSmJCSktJpboK6MBvrvCArMEusJnk8HrWa1PQeVS1mSqUSPB6PSuBzdXVFYGCgzk0txKLm7e1tErtiV5B27q6GmJoCqVSKmpoaJCUlwc/Pj6rfk6EHxFduzMPB1dUV48ePh1KpxMWLF+Hp4YGQh4eCd/Uo2tvbUV9fj5aWFvTv37/L3Rn53ZTL5Viw+H20+yVg694D2LPlJ3yzfDFaW1sxaNAgAP/uOFJTU3V251TcqYZ773Twq4vR0NBAiR3pxCTnHHw+H2w2m7Kd+vn5gcPhICgoCKmpqXjsciHOXcrDgnkvGPy5dcWNGzcwe/Zs7NixA3369DHbdboDVnNlyGQyreIrFotRUlJyzxRjdZRKJWpqasBgMJCamtrlivXGjRtU8Ikx9WQSpuTu7q51HpopIUFEKSkpegsGqbfq2tRCPMragm1MTVVVFbhcLlJSUsz+cOuqfk0C3FksVoeGDQ8PD73/jlWnqWzdsQcFl65i1JCHMf6x0Xjlzfcgt3fAvGcm49kZT2Hnzp2Ij4/H0KFDqUPelJQU3LlzB4s++Bh0ezpWfbYMr739HlyS/gN+8XHkbFnfYaYlj8fD9evX9c4PKS0txervf0J0eBgWv7lAp10fyZkhMzoNdcPow61bt/Dss89i69atGlvfLUzPtcvJ5XKtdWSZTIbLly93OmSSnKYrFAokJibq9Atx69YteHh4UI0LhoiySCRCUVERwsPDzS5cJIeCCJcpttqkqYXFYt3T1CIQCFBcXGyRfGiy45BIJGYPdAL0T6MjvnI2m422trZ7ZtZ1BrFMkkGmwN3sbXd3d6xY8TnW/XYS9i4eSAu8+/d5uZINZXszfv56Bdb9sh0CB08khXohLCQYJxtpkImFmJIagMz0NOw/dBT/Gf4Ihg4dSl2Py+Xixo0bOpeBrl69iqqqKjz66KP3lBG7guymSOg+CaZis9ngcrlwcXG5J+jeWKqrqzF9+nRs3LgR/fv3N8lrGsmDYZdTp6saM1nV+fv767XVJoeKMpnMoEM+8uXu06dPh9WKOVANIkpLSzOZcDk7O1NTSIj4VFZWorW1FTKZDLGxsRZ5b2VlZXByckJiYqLZdxxEuPTZ4js4OCA4OBjBwcEdrHi3b9+Gi4sLZVlUL71om5lHHgbhEeHw8AuG0sEZiX1D8PvRv+CZNgH8GwX4559/wJfZIeih0Sg7vQNPTZqAP774BjQAD815D6mpqcjIyOhwPQ6Hg1u3bul8xlFRUYG3P/4KSp9wnP3nql71blVRbm9vx6x58xEU4I8PlryNhIQEKJVKqgGouLgYCoWCEmlDdh3A3TOcGTNmYP369d1FlC1CtxTmzv4CyTipuLi4Tj2u6pCcCwaDAVdXV70zfJlMJiorK/X6chuKpYKIiPjY2dlBIBAgJiYGLS0tuHDhQqdNLcZAvtzkvZkb9TAiQ1C34hHxIfVWYsVzdnZGcXEx/Pz8tFq4Jk+ahCYWBwKhCPPnvYj0lCR8+Pn/kBAahAULFsD71x0o+Ocw3po/F4MGDcKujXHU9dUhB6b61Ob5fD6U9s5w9gkBt6VS589AfaX81rsfguPdF7W1d3Dq1CmMGzeOcnm4ublRQfccDgfV1dXg8/l6H0g3NjbiqaeewrffftshR9oYamtr8fzzz4PBYIBGo2Hu3LlYsGABPvroI2zYsIHSlBUrVmDcuHEmuaYhWE2YDREbfcdJEcghX3BwMOzt7VFVVUW1PQcGBsLb21vr/SiVSlRXV6O5uRkZGRlmSYRThZRKIiIiLNJeSjoHMzMz4eDggNDQ0A5NLVVVVXB0dKTq0sZsTy1dvyZhRKb8e1MXH5ILfOvWLWqgqLu7u9bRaG5ublj85hvUz3RHRwQFBSEqMhJ0Oh2vv/YKXlf577V54kktWhdRFolEOHfuHCIiIpCWloY5k0fjesUdvPCabnY9dVEGgH4Jsbia/zfspAKtDyH1XUdLSwv1MHFycurwQFOHwWBg6tSpWL16NYYNG6bTfeoCnU7H6tWrkZGRgba2NmRmZmL06NEAgIULF+Ltt9822bWMwWo1ZoVC0elA1rNnz1Kh9qTWymazOw1i14Q254VcLkdzczOYTCZaW1vh5eWFwMBA+Pr6dpiEUF5eDhqNhj59+pi9DmrJICISAk+aAjpbwZAVIovFglKppOrS+jS1CIVCXLt2zSIZG8C/YUSmqs13Bgmd79WrFxwcHKhWend3d2rXoe3BMOXZ2XDuPxmMfw5hxRuzkJmZCR6PBx8fH62LBQaDgZqamk7T71T5YPlnOHuLAbs2JjZ+u1KvhgxNogzc/f0pLCyEt7e3QV5igUBAeabJxHXiHuJyuZg8eTI+++wzjB07Vu/X1oesrCzMnz8fBQUFcHd311WYH8waM4FMuSWe08zMTL0zELQd8qm6E1TtZRUVFXBzc4Ofnx8aGxsREBCAiIgIi/h4yW7A3OHepMbr4OCA5OTkLt+bq6srIiMjERkZSa0Q9WlqIV1o/fr10/uwSV9Uw4hMWZvXBhkGGx0dTW2DietHdRSSNjfM6OGPYNfBbfBzd0FUVBRmvvgyim7cwfhRQ/HZx8vuuR4ZFNCVKMtkMkild9Pdqurq4RGVgbabF8BisXQWZnVRJl2nkZGR94zh0hdXV1dEREQgIiKCmri+d+9e/Pjjj6DRaJg2bRplAzQXVVVVuHr1KgYOHIiCggJ899132Lp1K/r374/Vq1eb/aylM6y2Yu5qvNT58+eRmpqKoqIihISE6N12qVQqKdeHvmJOojjt7e3h5uaGwMBABAQEmM1ja8kgIlK/9vPzM7rGq56brKmGSA7eLDF0loQRyeVyjZ2fpkafKE11N4yqFY/BYMDb2xvl5eV48vlX4f/Ya+Ad+h9uF/3TYbXf0NCAxsZGpKamdroLYLPZeGXhIrCbW/DO6/MQGhKCHzZuRb/43njt5bk61XfVRbmtrQ1zXl0AFl+C0YPS8d7it3T/oHSEx+Nh0qRJmDRpEtra2nD06FFkZGRg3bp1Jr8Wn8/H8OHDsXTpUkyaNAkMBgP+/v6g0Wj44IMP0NjYiE2bNmn733uuXa4rYT537hzkcjn69Omj19bX2E4+9YnSJHOBxWKBRqNRIm2KIB8S3iQUCk0yDKAryOrOHPVrsusgUZMuLi5wcnICj8czSzefOqpOj9jYWLOLMok/1TfTAwC1QmSz2R0eaEwmExOefgFiOMHfBfjz9zx8+8NPcHZ2wpTsJ8Hn85GWlqbx96SxsRFH/zyGpMR+aG5uxsqdf8I3rj88G85jw1rtcwY1oal8UVpaiteXr0av4U+DeexnHN63S6/X7IrW1lZMmTIFr7/+OqZNm0b9eXt7u8kf6FKpFOPHj8fYsWPx5ptv3vPvq6qqMH78eJSUlGh7iQezlMFgMNDe3o709HS9/LTGinJDQwPq6uo6TJRWPeghq56ysjIqC5jUWvW9llwuR2lpKVxcXHQqJxgLn89HSUmJTqs7Q6DRaNR4H1JOqK+vh6OjI0pLS006qUUdU4YR6QIpzRgaf0qn0ztMfybz6lpbWzHv2WmoqKrFy7Ofx9Ydu3C+UQYRnw2aIg8xvePwxZof8MR/RmLyxCx89c1atLS2YdGC1/De8s/QQA8F8g5h9fIlcBc2gXl2L2bMfV6ve5PL5bh27RoCAwM71JTj4uKQHhuGy/nf4eUXntX7PXcGn8/HU089hVdeeaWDKAMwuSgrlUrMmTMHffv27SDKjY2N1IH0vn37rD6KymorZuDuCq7Dxf4/NIfL5YJOpyM2NlZn94Wx7dW3b99Ge3s7kpKSdFq5SqVSaiUtFArh5+eHwMBAeHp6dnltEg9qjgAdTZB27q5CbUwBOahtbW2lPktNTS2GdtSpQ6bTBAUFWeSzJF52c32WZFwUi8VC7r7fsP3An1DKZfh40Xxs2XsAvca8iLrjmzF76pPYfKIEjl7+GBwEFJdfR3tgCsR3LmLj1ysQEhICoVCo12peXZSVSiWKi4vh4+NDRXkaO91EHYFAgGnTpuG5557DCy+Yr52bcObMGQwdOrTDMIQVK1Zg586dVDdjVFQU1q9f35lzqOeWMoCOwiyXy1FSUgJHR0ckJCSgvLwcvXr10umwyJj2atWVq6FbYFJrZTKZaGtr67RF1VzxoNpgMBioqqpCamqq2csJSqUSN27cgEKh0OpikclklPDw+Xyj2nnJtOfIyMhOJ3OYCtL2bIlJMQCwavVq/FpwGw6unhjgK0YjgwUezQOBjhLMf2kWln29HnBwxczxwzD44YHI3X8QGanJGDP6P3pfS9NKedOWrdh+8C/YyURY+/kyk+dTiEQiTJ8+HVOmTMHcuXNN+tpmpmeXMkivPTlECQsLo57MukZ/GnrIB9x9MBQVFRk9u059KjaXywWTycTNmzepFnA/Pz+0tbV1GkRkampqasBisSziv1YoFCgpKYGrq2un+SF0Or2Dt5XL5VLh9u7u7tRn1ZXFjYTpm3uwKIFEu1qiXg4Ad+7cQVBgIHyVVwCRAKMfnYiM9DRcvHgR3t7e8PLywvvzZ4NOp2PIkCGws7PDkrcXGnQtbeWL4vKbcI9/GO31FaisrDSpMIvFYjz33HOYMGECXnrpJZO9bk/BqitmiUQCHo9HeXdVa58VFRWUt1gbqhnKhgwvLS0tNVvNFQDVqMFkMtHU1ASZTIbevXsjJCTErEJJcijEYrHOOSLGQMoJgYGBBk+vIPYyJpMJDocDBwcH6qBVvanF0DB9QyHNHGlpaWZ3zZCymkgkQmJiIm7cuAGJRILk5GSw2Wz8/fffSEhIQFRUFDX7kCTBBQQE6L2SVxdlkUgENpuNsLAwlJWV4bPV3yIkMAAfLX3HZIsJiUSCmTNnYvjw4Vi4cKHZz1fMQM8uZVRXV2ttc66srISzs7PGOo+xh3wk88BSFq6qqio0NzcjNjaWOo2n0+kICAhAYGCgSXOcFQoFSktL4ezsbBF3grnKCZqaWgICAiCXy6kcb0vsOnT1DZsC4tKRSqUa7X6zX/4vquXesGNVYOu6r6nvhlgspj4rsVis88AEdVHm8/l4af5CNHH5GDf8YSx60/Agf21IpVLMmTMHmZmZWLJkyf0oykBPLmWQEsaAAQM0blu1lTKMPeQjHWGWGJOkGkSUnp4OOzs7eHl5ISYmhoqYLC4uhlKppETamNqlVCpFUVGRUStXfSCWMXPsOjQ1tZSXl6O1tRUhISEdzhTMRX19PZqampCenm727kHiwVYoFFo92LzWVrhF9gOffQcikYj6/5ycnNCrVy8q4F51YIKnpyflLVd9D5rKF9XV1WAKFIh87EWcOLrB5MIsk8nw8ssvIzk5+X4WZYtg1RWzpknZhPr6ekil0g6Tso055FMoFNTBlCGTkPWFzDLUJWxeIpGAxWKByWRCIpFQDg99XAuk5hodHd1p+cdUkPZxS0zMBv4NI0pOTqbypVtbW+Hp6Um10pvSB15TUwMOh2ORnGiS3WxnZ4f4+Hitf+elpaXYkbMPD2Wk4tERI/Dmkg9QVVOL999+HcOHD9f4uiTzhMPhUJknvr6+uH79OoKCgiASibDq23UIDgrAG6+9jA8+XoHC0nLMm/k0npkx3WTvUS6XY/78+QgLC8Nnn312v4tyzy5ldCbMTU1NaG9vp/JsjTnkk0qllO3HEhM5jAkiIq4FJpOpc9AS8dVaImMDAJqbm3Hz5k2LuRNIGJF6OYF4gJlMJtXUoi2OUx9IS3dSUpLZH+BKpRJlZWVwdHTUq/R08uRJfPrLfvj1GQTXmjPYsPZ/KCws7NSCKRQKwWAwUFpaCh6Ph/79++P7Db/gNi0UQsYdLH76MTz22GOQyWQm3SEoFAq88cYb8Pb2xsqVK83+mVqAnlvKADpPmKPT6ZQQG3PIJxQKUVRUhKioKItYqshK0tDMZnXXQnNzMxobG3H9+nWqQ8zPz4/65VYVSXPXy4G79rvq6mqLzDgE7q5c2Wy2xvFdNBoN3t7e8Pb21jgZm5SHdG1qITVesVhsEVEm3YouLi6IiYnR63c7ISEBzgImmBf24/lJj+Gb737A4fOlsBe3YMM3X4LH4+H27dsYMWIEXF1dceLECfj4+EAqleL7jVshsnNBYel1eLm7gH35H9hL+XB1dYVCoTC5KC9evBguLi49RZQtglVXzJ2Nl+JyuWhsbERCQoLBokwaKywRngP8G0RkjkNF1aCl5uZmuLm5wdHRES0tLUhLS7OISNbW1oLJZHaZ1WAKSLMRafrR9wtN3AVMJpPKpuisPEQ82MBd0TP3rorYC93d3RETE2PQa7S0tIDH4yEiIgJzXn0DvMB0tNz6B69OehTrtuVA4ReNfl4yhIeF4EhhNYSsWsyZ/Bh2/XkOIYMng3t6O/bv3orz58/DwcEB3t7e1BQSU+w8FAoF3n//fYhEIvzwww89SZR79oq5M+zs7CCRSCCTyWBvb6/3F6WxsRG1tbUd2qvNCZmWba5DRfWW55s3b4LFYoFOp6OsrMysQUuqIkkOMc2JaqOKoe3qzs7O1IEYyaYgge3qTS2GlhMMhUw58fLy6nCGoi9eXl7UguO/c2dh1dr1SOkbid69e0Np7whXvxDwOKVwdnaC3NkbDh7tiIqKwuAkJi6d2oaXZz9L+aAJmnYexBGjz2JDqVTi448/RktLC37++WeT/c5oC7pvbm7GU089haqqKkRFRWHPnj1WTYczlm65YiYBR2VlZWhvb6cyKXRpdyYi0traiuTkZIus7CwZREREWSaTUYeYAoEATCaTClrSdwvf1fXKy8thZ2dnsZWkOcOIVJtauFwu3NzcqPhScp5hThQKBTXBRd/ERF1RKpXIyd2HorJyPDNtMqqqqnDk+EkkxPbGS3Ne0Os7QQ6mWSwWRCIRfH19KSueNrFVKpX4/PPPUV1djc2bN5v0O9HY2EgtgEjQ/W+//YbNmzfD19cXS5YswRdffAEul4svv/zSZNdVo2cf/mkayKruvFAoFB3anTs7DCMeV0dHx05Pt015/8a2cxtyvc6661RzKWQymdFBSyUlJfDw8EB0dLRF3p+qk8XcyGQyXL16Ffb29pBKpXBwcKDClsyxyyIWtYCAAIvYGcn1goKCjOpsVX295uZmsFgstLS0aBw/plQqsXr1apSWlmL79u1mXxiRoPv58+fj5MmTCAkJQWNjI0aMGEGVpszAgyXMXR3ykcMwJpOJlpYWeHt7IzAwED4+PlTOcFBQkEV+6S0dRCSVSnHt2jW9rieVSqk6q75BS8QTbalwIEuHEZHrBQcHU6JFvOUsFgtyuZwSaUMeaurI5XLKNWEKkdTleqYUZXWIFY/NZoPD4eDcuXMQCASQy+W4fv06du/ebfaGnKqqKgwbNgwlJSWIiIgAj8ej7s3Hx4f62Qw8GMJsSNMImVxMWnglEgkiIyMRFRVl9hooaaywVBARcZbExMToNYBWFfWgJdWHmvrnRex+UVFRFvFEWzqMiIyCCg8P12pnJE0tJD2QbOE7sy1qQyaTobCwEKGhoQgNDTXFW+gUc4uyJu7cuYPPP/8cf//9N0JDQ/HYY49h4sSJRk056Qz1oHtvb+8OQuzj4wMul2uWa6OnH/6RECNDOvnI5GClUgkul4s+ffqgtbUVFy5coMJw/P39TV7zJU4PS7UEE/udsc4STUFLJDxINWhJJBKhuLgYCQkJFjk8IQFWcXFxFgkjIg+Brh46jo6OlJCSLTyxLerT1KLLQ8CUWEOUlUolTp48iebmZty6dQsSiQRHjx7F6dOnzSLMUqkUkydPxjPPPINJkyYBAIKCgqhM5cbGRossKMyJVVfM7e3tINc3xA5XW1uLpqamDgNaVcNw2Gw2XFxcKMeCsfWupqYmVFdXWyRCE/g30cycjRyqQUtMJhNisRhRUVEIDw83+1bU0mFEpkikUw2253A4cHZ2phYB6o4YIsoREREW2QlYQ5QBYOvWrcjJycHvv/9ulkEIqiiVSsycORO+vr745ptvqD9ftGgR/Pz8qMO/5uZmrFy50ly30bNLGatWrcKOHTuobY+urdLEmSCRSNCvXz+tqxZi/WEwGGCz2XB0dDTIVqZUKlFdXY3m5maLTF0G/u1203cquKGQh0BcXBw1Zp6sss1xGGbuwHl1yJRuUz8ESHs4m82mHDFkEVBYWNhhSKs5sZYo79q1C1u3bkV+fr5FGpy0Bd0PHDgQ06ZNQ01NDSIjI7Fnzx6zpUaipwszcLc08PvvvyMvLw+VlZUYPXo0srOzkZqaqjVovbi4GJ6ennp3S5EvEYvF6rC176w5QzWISFv4uykhaXQ8Hs8iOQ2A9oeA6mGYQqHocBhmDKRbMTU11ewrLODu33tRUZHZcz1IyhuDwQCPx0NAQACioqJMMqmlM6wlynl5efjpp5+Qn59vkbJeN6LnC7MqbW1tyM/PR25uLm7cuIFHH30U2dnZ6N+/P+zs7HDnzh00NDQgNjbW6HqdUCikRBoAJdKqK0N9gohMAQmzUSqVFnkIAP+2PHe1E1ANWhKLxZQNT1/RIWFElupWJDV6S63MxWIxtVImE9e7mmpjDNYS5d9//x3ffvst8vPzLVKG6mY8WMKsilAoxJEjR5CTk4OioiIkJyfj/Pnz2LRpEx566CGTXkssFlM1VrlcjsDAQHh5eaGiosIsE6U1QTy8np6eFvEMk8YYEsiuj1iQTjomkwk+n69T0BKgPYzIXFh6FBQ5yFQ/OFV1EHG5XLi7u1Mtz8aUxYgoBwcHW8TtQThy5AhWrlyJ/Px8ixzYdkMeXGFWZefOnVi2bBkyMzNRXFyMwYMHY+LEiXjkkUdMXu+VSCSora1FdXU1nJ2dERwcjMDAQLOutiQSCa5du2b0iCtdUSgUKC8vB51ON7oRR91bThwLqkFLwL8r89TUVIuUZ0i5xFKjoHStYSuVSvD5fKoubWhTi7VE+fjx4/j4449x6NAhi9TOuyk2YT5x4gS++uor7Nq1C15eXpBIJPjrr7+Qk5ODs2fPYuDAgcjOzsawYcNMckimGkTk6OjYoUHD0O17Z1jaEy2Xy1FUVERFoJoSTUFLAQEB4PP5EAqFFklsAyxfLhEIBLh27ZpBlkZDmlpIs0pISIhFRfnUqVNYunQp8vPzLbKL7MbYhJm0Z2taGctkMpw6dQp79+6lPJPZ2dkYOXKkQaskEkSkyQkhl8vBZrPBYDDQ3t5OddF1Nb6nM4gzwVJh88S+FRYWZvYvNLEtlpeXQygUUivpwMBAs7pMGAwGampqLFYuMeXBonqnpqamFmuJckFBARYvXoz8/HyLXrebYhNmXZHL5SgoKEBubi5OnDiBxMREZGVlYfTo0V3WF/UNIiINB2SKho+PD9VFp6tIk5W5pZwJxMNrTPegPqiHEaketpo6aInQ0NBAPVgtYWkkAwrM0Wyknkvh6ekJPz8/1NXVWayDkHDhwgUsXLgQv//+u0XiDu4DbMJsCAqFAhcvXkROTg7+/PNPxMbGIjs7G2PHjr2nVmxsEBHpomMwGGhpaaEme/v6+mrdttfX16OhocFiHmU+n0+F91viBL2rcgmxlTGZTKODlghklqOlatiWdHuQ7tbS0lIAoDo1jc1L1oUrV67gtddew/79+y0SLHWfYBNmY1EoFCgsLMTevXtx5MgRhIeHIysrC+PGjYNQKMT69esxe/Zsk6wESI2VwWCAy+V2aHW2t7enIkn5fD6SkpIsIiDEmZCUlGQRuxgJP9I1rEdT0JIuE55VqayspGJeLVHDJiUoS02NUS9fkLxk1d1HQECAyZ0n165dw7x585Cbm4u4uDiTvvZ9jk2YTYlSqURJSQn27t2LvLw8Klz7rbfeMnmXEGl1ZjAY4HA4cHV1hUwmg4uLi9YpyKaGHIJZqoXc2DAiErTEYrHQ2traadAScPczvn37NkQiEfr162cRUW5paUF5ebnFSlBd1ZTJ7oPFYlGDfAMCAnRKEOyMsrIyzJ49G3v27EGfPn2MeQs9EZswm4Nz587hlVdewYcffojS0lIcPHgQnp6eyMrKwvjx4xEQEGBS4SS5vzQaDTKZDM7OzggKCoK/v7/ZDqgaGhpQX19vsUMwYhczVRiRuvdX0+7j5s2bUCgU6NOnj0UedGT30V1EWR3iLydNLV092LRx/fp1zJo1Czt27EBSUpIxb6EDs2fPxsGDBxEYGIiSkhIAwEcffYQNGzZQ5x4rVqzAuHHjTHZNM2ETZlOjVCqxYMECLF68mMr9JSuvnJwcHDhwAE5OTnjyySeRlZWF4OBgo770xKPcq1cvhISEAEAHHyudTkdQUJDJxkKRXA8ul2uxlm7iTDDXbEXVoCUSHCSVSuHu7m4xUba0L9pY9wV5sLFYLMq6SB5snT2ob926hWeffRbbtm1DamqqMW/hHk6dOgV3d3c8//zzHYTZ3d0db7/9tkmvZWZswmxpiLDl5eVh3759AIDx48cjOzsbvXr10jubo7i4uNNVpOpYKDs7O6NCgzSNnTI3lg4jImcGZNKNOYOWCBwOB7du3bKYL9rUljjVphYOhwM6na6xqaWqqgozZszAxo0b0b9/f6Ovq4mqqiqMHz/eJsxdXcAmzNpRKpVobGxEbm4u8vLyIBKJMH78eGRlZXXZNt3S0oKysjK9rFQikYhqDVcqlZTvV5dts0KhQGlpKZydnS0y5gqwfBgRaVv38fFBZGQkgH8/MxK0pOrwMAVsNhu3b99Genq6RRw0lvApqza1tLS04I8//sCIESOwfPly/PTTT3j44YfNcl1AszBv3rwZnp6e6N+/P1avXn0/DFG1CXN3QalUgslkYt++fcjLywOPx8O4ceOQlZV1T1szOXRLSUkxWLDULWXE96tJcMhYLX9/f7MN+FSHyWSiqqoKqampFltFXrt2DYGBgVpHT5kqaIlA3mNaWlqPEWV1WlpasGHDBmzbtg0AMGHCBGRlZeGRRx4xSxlMXZgZDAb8/f1Bo9HwwQcfoLGxEZs2bTL5dU2MTZi7KxwOB7/99hvy8vLQ1NSExx57DNnZ2Th06BCUSiUWLlxoskM3qVRKxUlKJBJKcNzd3alZgKo1bHPT0NBA+bAtcbBI3mNYWJjO71FT0BJJd9NFpC3dQWitjr6mpiZMmTIFq1atwuDBg3HixAns378fS5YsQXR0tMmvpy7Muv67boZNmO8HeDwe9u/fjxUrVkCpVOLJJ5/E5MmTkZKSYvI6r0wm69AaLpVKER0djfDwcIuULywdRqTrKKjO0Ba0pG00VGNjI+VosUQHobVEmcViYdKkSfj8888xZswYi1xTXXzJOCgA+Prrr3HhwgXs2rXLIvdiBDZhvh+QSCR46aWX4Ovri2XLluHw4cPIy8vDzZs3qUzpzMxMk4p0W1sbiouLERISAj6fT60Kg4KCjMrv0AZpjmlvb7dYGJEpRkGpQ0ZDkYMw4lYgEZyWbuu2lihzOBxMnjwZy5YtwxNPPGGRa86YMQMnT54Em81GUFAQli9fjpMnT6KwsBA0Gg1RUVFYv369xXZ+RmAT5vuB1tZW5OXlYdasWR3+XCAQ4PDhw8jNzUVxcTGGDx+O7OxsDBw40KjVJpfLxY0bN5CcnEzVnBUKBbV1J80ZQUFB8Pb2NlpElUolbty4QQX4W2JlTnzR5hwKqx7BKZfLAQDp6ekW9SmHhoZaVIx4PB4mTZqEJUuWIDs722LX7UE8OMJ85MgRLFiwAHK5HC+++CKWLFliqUtbBJFIhD///BN79+7FlStX8Mgjj2DixIkYPHiwXiszXQ7dSH4Hk8kEj8fTmpGsC8Tt4eLigt69e1tElInNsG/fvmbxRWuitrYWDAYDfn5+YLPZAKCXK0ZfrCXKra2tmDx5Mt544w1MnTrVYtftYTwYwiyXyxEfH48///wTvXr1woABA7Bz507069fPEpe3OBKJBCdOnEBOTg7Onz+PgQMHIisrq8tM6bq6OjAYDKSkpOh8IKWekezu7o6goCCqg64zSBiRr68vZU8zN5YeBQWgQ0MOeXCpumKkUmmHA1djH07WEmU+n4+pU6di3rx5ePrppy123R7IgyHM586dw0cffYQ//vgDAPD5558DAN59911LXN6qyGQy/P3338jJycHp06eRkZGBrKwsPProo9SKWKFQdKjvGloGUe+gc3FxoVrD1VftxAkREhJisVlyJIdCtURjbiorK9HW1tZp3VxTTrKhWdzWEmWBQIBp06bh+eefv6fkZkNvzC7M5j/d0IH6+voO6W69evXChQsXrHhHloNOp2PUqFEYNWoU5HI5zpw5g9zcXHz00UdISkrCk08+iX379iEjIwOvv/66Uas1Go0GLy8veHl5ITY2lqqvVldXw9HRkWoNVyqVRoURGYKlm1UA4Pbt2xAIBF0eZjo4OCAkJAQhISFUTnJ9fT3Ky8v1yqOwligLhUI8/fTTmD59uk2U7xO6hTDbuIu9vT2GDx+O4cOHQ6FQ4PTp05g7dy6cnJwgl8uxb98+jBkzxiRbfBqNBg8PD3h4eKB3795ob28Hk8nE5cuXIRAIEBYWZrEOLNXuOks0q6im0iUlJen1sLO3t6famVWDlm7evAkPDw9qyKr6rsZaoiwWi/Hcc88hKysLL730ksWua8M4uoUwh4WFoba2lvq5rq7OoqPYuyPt7e349NNP8cYbb2DevHm4evUq9u7di1WrViEyMhJZWVl4/PHHTXY4RmxjTU1NSEpKolwRNBqNOgQzRxYFg8FAdXW1xVqelUolKioqIJPJkJiYaNQOxM7ODr6+vvD19aXKRCwWC5WVlXB2dqYyPOzs7KwiyhKJBLNmzcLo0aPx6quvWuTg1oZp6BY1ZplMhvj4eBw/fhxhYWEYMGAAduzYgcTEREtcvlsikUhQUFCAkSNHdvhzhUJBZUofOnQIQUFByMrKwhNPPGFUpjSp76oH6otEIuoQTKFQICAgAEFBQSYpN5BGDkt1EBLbHwAkJCSYVajIDoTFYqG9vR0BAQGIjY21SDIdcLcuPnv2bAwYMADvvPOOTZRNy4Nx+AcAhw4dwhtvvAG5XI7Zs2dj6dKlBr9WbW0tnn/+eTAYDNBoNMydOxcLFiww4d12D5RKJcrLy5GTk4ODBw/C29sbEyZMwJNPPknlD+iCrvVdiURChSypjoQypLRi6VFQ5LOyt7e/J9vEXJDyBckaVp2EbcqgJXVkMhnmzp2Lfv364YMPPrCJsul5cITZlDQ2NqKxsREZGRloa2tDZmYmfvvttx5rvwP+HSibm5uLAwcOwNnZmcqUDgoK0vrlNDSMiOR3MJlMiEQi+Pv7IygoSCc7WVVVFXg8nlla1jWhVCpRVlYGR0dHiyXvaaspSyQSyuFBPjdjgpY0Xfe1115DeHg4Pv30U5somwebMJuCrKwszJ8/H6NHj7b2rVgEkimdm5uLffv2wc7OjsqUDgsLo76sVVVVVO6FMaUEkt/BZDLR3t4OPz8/BAUF3TPeiLR1CwQCJCYmWkSUybRuFxcXxMTEWFWUNf135HPj8/nUtHVDuzUVCgXeeOMN+Pj44MsvvzTp56tp+ggZzVZVVYWoqCjs2bPnfojsNAU2YTaWqqoqDBs2DCUlJfD09LT27VgcpVKJhoYGSqTFYjHGjx8PBoMBBoOBDRs2mLSUQOb2MZlMtLW1wcfHh8rvqKiogFwut9jMQ1KP9/DwMEtSmiZkMhmuXbum90Gf+rT1roKWNP3/ixYtgoODA7755huTP/Q0TR9ZvHgxfH19sWTJEnzxxRfgcrn48ssvTXrdbopNmI2Bz+dj+PDhWLp0KSZNmmTt27E6SqUSDAYDs2fPxvXr1+Hv748nnngCWVlZiIuLM7lYklQ3BoMBJpMJZ2dnxMXFwdfX1+yrZYVCgeLiYnh5eSEqKsqs1yLIZDIUFhbqFU+qCU1BS8SGp2lno1AosHTpUojFYvzwww9m+2zVk+ESEhJw8uRJhISEoLGxESNGjKAOV3s4NmE2FKlUivHjx2Ps2LF48803rX073QIy71Amk2Ht2rXgcrlUpjSTyaQypU25olXN2vDx8QGLxQKXyzUqv6MrSCu5n5+fxQYHmEqU1VEPWnJwcKBseE5OTlAoFFi+fDk4HI7Jdz/qqAuzt7c3eDwedZ8+Pj7Uzz0cmzAbglKpxMyZM+Hr64tvvvnG2rfTrSgoKMDgwYPvEV4ul4vff/8dubm5qKmpwejRozFx4kQkJycbLJzaVq3qK0J3d3cqetNYYdFl0ompMZcoa0IoFILJZOLQoUPYtm0bwsPDQafTkZOTY3Z3S2fCDAA+Pj7gcrlmvYdugk2YDeHMmTMYOnRoB1Ex1Vh0uVyO/v37IywsDAcPHjT69bojra2tyM/PR25uLioqKjBq1ChkZ2cjIyNDZ5EmAhkQENCh3V4dpVKJtrY2akXo4uJCrQj1zUMmh27BwcEWa1CypCirolQq8dlnn+H06dNwc3MDl8vFuHHjsGTJErN1T9pKGRQPRlaGqRkyZAi6eOAYzJo1a9C3b1+0traa5fW7A56enpgxYwZmzJgBgUCAQ4cO4YcffkBpaSlGjBiB7OxsPPTQQ1pXaESsQkNDuwx/p9Fo8PT0hKenJ9UazmAwcPnyZTg6OlIi3VVXoDUE0pqivHbtWty4cQMnTpyAg4MDWlpacOzYMYt0TxImTJiALVu2YMmSJdiyZQuysrIsdu2eTo9cMZuLuro6zJw5E0uXLsX//ve/Hrti1oZIJMLRo0exd+9eXL16FUOGDEF2dnaHTOn29naUlpaaJABJIBCAwWCAxWLB3t6eag1XXxFKpVIUFhYiPDwcwcHBRl1TV6wpyuvXr8fJkyeRk5NjMSHWNH0kOzsb06ZNQ01NDSIjI7Fnzx6juk/vI2yljO7ElClT8O6776KtrQ2rVq164IRZFYlEguPHjyMnJwcXLlzAww8/jKFDh+LLL7/E1q1bTd7MQ2qrLBYLSqWSEmk6nY6rV68aNRNQX6wpyps2bcKhQ4ewb98+i7V327gHswuz+R3+PQRirs/MzLT2rXQLHB0d8fjjj2Pjxo24evUqHn30USxatAgeHh5Yu3Ytjhw5ArFYbLLrubi4IDIyEv3796c6BktKSnD69Gm4urpaLFSfiLIlp5ITtm3bhgMHDiAvL88myj0c24pZR959911s27YNdDodIpEIra2tmDRpEn799Vdr35rVuXXrFqZOnYoff/wR/fv3x5kzZ5CTk4O//voLycnJyM7Oxn/+8x+T5iyLxWJqerZMJgOTyYREIqFaw93c3Ezuy1YVZUuVTAg7d+7Er7/+ioMHD1psiIANrdhKGd2RkydPPvClDFUaGhrAZrORkpLS4c8VCgXOnz+PnJwcHDt2DPHx8Zg4cSLGjBljlLiIRCIUFhYiPj6+Q01TfdKIKXMorCnKubm52LBhA/Lz8+Hh4WHRa9vQiE2YuyOmFGYej4cXX3wRJSUloNFo2LRpEwYNGmSCu+xeKBQKXLlyBXv37sUff/yBqKgoKlNan1Z5IspdTc9Wz6Hw8/MzeByUNUX5wIEDWLt2LfLz8+Ht7W3Ra9vQik2YezozZ87E0KFD8eKLL0IikUAgEPT4LyBpPNm7dy8OHz6M4OBgKlO6M7El4f19+vTR6zMi46CYTCZaW1v1CguypigfPnwYX331FQ4dOvSguB3uF2zC3JNpaWlBWloa7ty588DGM6pnSvv4+GDChAkYP348lWMM3LXhFRUVoV+/fkZNbVEPC/Ly8qLCgtRF2pqifOzYMXz66ac4dOgQ/P39LXptG11iE+aeTGFhIRVofu3aNWRmZmLNmjUP7OEOyZTOycnBgQMH4OLiggkTJiAuLg6ffPIJfvvtN5MmBCqVSvB4PDAYDHC5XHh4eFD5HWQgrTVE+e+//8b7779PTaix0e2wCXNP5tKlS3j44YdRUFCAgQMHYsGCBfD09MQnn3xi7VuzOkqlElVVVfj++++xceNGZGRkUCFLoaGhJt9hkJl9DAYDHA4HYrEYwcHBiI2N1bs13BjOnDmDd955B/n5+V12TdqwGjYfc0+mV69e6NWrFwYOHAjgbgPLlStXrHxX3QMajYbW1lYcO3YMZ8+exZYtW+Do6IiXXnoJo0ePxpo1a1BVVWWy1nsajQYvLy/ExMSATqcjMjISdDodly5dQmFhIRoaGiCVSk1yLW1cuHABixcvxoEDB2yi/IBjWzFbmaFDh+Lnn39GQkICPvroI7S3t+Orr76y9m11C44cOYLevXsjLi6O+jOSKZ2Xl4e8vDy0tbVRmdLGjo3SVlNWjd2k0+lU16Ep26EvX76M+fPnY//+/RbLj7ZhMLZSRk+nsLCQcmTExMTgl19+MXo8z9dff42ff/4ZNBoNycnJ+OWXX3pspxiLxaIypVksFsaNG4cJEybonSmt60GfQCCgWsPt7OyokCVjPt9r165h3rx5yMvLQ2xsrMGvowtRUVHw8PCAvb09tSOwoTc2YbahH/X19RgyZAg1527atGkYN24cZs2aZe1bMztcLhcHDhxAbm4u6urqqEzppKSkTm1xhrovRCIRNTVcNb9Dnw7H0tJSzJkzB3v37kVCQoLO/5+hREVF4dKlSzanh3HYYj9t6I9MJoNQKISDgwMEAsEDU6/08fHBzJkzMXPmTLS2tuLgwYP46quvcPv2bSpTOj09vYNIG2OJc3Z2RkREBCIiIiCRSMBkMlFeXg6ZTIaAgAAEBgZ26rC5fv065syZg507d1pElG3cP9hWzD2QNWvWYOnSpXBxccGYMWOwfft2a9+SVeHz+Th8+DBycnJQVlaGkSNHIjs7G7GxsXjjjTfw5ZdfmjRYXyqVgsVigcFgQCwWUyLt7u5OlVcqKirw3HPPYdu2bUhNTTXZtbsiOjoaPj4+oNFomDdvHubOnWuxa/cgbKUMG/rB5XIxefJk7N69G97e3pg6dSqmTJmCZ5991tq31i0QCoU4evQoduzYgb/++gsjRozAnDlzMGjQILPY4mQyGdhsNhgMBurr63Ho0CGMHDkSK1euxObNmy2eVlhfX4+wsDAwmUyMHj0aa9euxbBhwyx6Dz0Am13Ohn4cO3YM0dHRCAgIgIODAyZNmoSzZ89a+7a6DS4uLhg5ciSamprwzTffYNasWdi9ezcGDx6MBQsW4MSJEya1xdHpdAQHByM1NRXDhw9Hv3798Omnn0IkEuHXX3/FmTNnoFAoTHa9riA7g8DAQEycOBEXL1602LVt6I5NmHsYEREROH/+PAQCAZRKJY4fP46+ffta+7a6FYcOHcL8+fPx9NNPY9y4cdi0aROuXr2KadOm4eDBg3jkkUfw6quv4o8//jBppnRLSwu2b9+OjRs3orS0FGPGjMHmzZtx7do1k12jM9rb29HW1kb989GjR5GUlGSRa9vQD1spoweybNky7N69G3Q6Henp6fj5558NGtA5e/ZsakAAGcDZ3NyMp556ClVVVYiKisKePXuMtvd1N2QyGZUpffLkSaSkpCA7OxujRo0yOFO6qakJU6ZMwerVqzFy5EgT37Fu3LlzBxMnTgRw9z0+/fTTWLp0qVXu5T7HVmO2YT1OnToFd3d3PP/885QwL168GL6+vliyZAm++OILcLlcfPnll1a+U/Mhl8upTOnjx48jISEB2dnZemVKM5lMTJ48GZ9//jnGjBlj5ju2YQFswmzDuthG1v+LQqHA5cuXsXfvXhw9ehTR0dHIysrCY489pjVcicPhYNKkSVi+fDnGjRtn4Tu2YSZswmzDuqgLs7e3N3g8HoC77dE+Pj7Uzw8SCoUCRUVFVKZ0aGgolSlNsqJ5PB4mTZqEd999F1lZWda9YRumxCbMNqxLZ8IM3G3q4HK5Vrq77oFSqURZWRmVKe3r64uxY8di9+7dWLRoEaZMmWLtW7RhWmx2ORvdi6CgIDQ2NgIAGhsbERgYaOU7sj40Gg2JiYlYtmwZLl68iLVr1+LGjRsYMWKETZRtGIRNmG3oxYQJE7BlyxYAwJYtW2xbdDVoNBri4+Oxfv36Hn0oasO82ITZhlZmzJiBQYMG4caNG+jVqxc2btyIJUuW4M8//0RcXByOHTuGJUuW6P26s2fPRmBgYAcP7aJFi9CnTx+kpKRg4sSJD2Td2oYNgq3GbMPiaLLhHT16FI8++ijodDreeecdALCtOG10V2w1Zhs9j2HDht0z9XnMmDFUVsXDDz+Muro6a9yaDRvdApsw2+h2bNq0CY8//ri1b8OGDathE2Yb3YrPPvsMdDodzzzzjLVvxYYNq2ETZhvdhs2bN+PgwYPYvn27yadg388cOXIECQkJiI2NxRdffGHt27FhAWzCbKNbcOTIEaxcuRIHDhyAq6urtW+n2yCXy/Haa6/h8OHDKCsrw86dO1FWVmbt27JhZmzCbMPiaLLhzZ8/H21tbRg9ejTS0tLw8ssvW/s2uwUXL15EbGwsYmJi4OjoiOnTp2P//v3Wvi0bZsY288+Gxdm5c+c9fzZnzhyjX1dTTClh9erVePvtt8Fise6rQaT19fUIDw+nfu7VqxcuXLhgxTuyYQlsK2YbPYZZs2bhyJEj9/x5bW0tjh49ioiICCvclQ0b+mMTZhs9Bk3+aABYuHAhVq5ceV8eKIaFhaG2tpb6ua6uzqSDY210T2zCbKNHs3//foSFhVl0ErUpGTBgACoqKlBZWQmJRIJdu3ZhwoQJ1r4tG2bGVmO20WMRCARYsWIFjh49au1bMRg6nY7vvvsOY8eOhVwux+zZs5GYmGjt27JhZmxZGTZ6FKr50cXFxRg1ahRlv6urq0NoaCguXryI4OBgK9+pjfsYs9fEbCtmGz2W5ORkMJlM6ueoqChcunTpvnJl2HgwsdWYbfQYNPmjbdi4H7GVMmzYsGFDP2yxnzZs2LDxoGETZhs2bNjoZnR1+Hf/OfJt2LBh4z7HtmK2YcOGjW6GTZht2LBho5thE2YbNmzY6GbYhNmGDRs2uhk2YbZhw4aNboZNmG3YsGGjm/F/K+s3t6zyGngAAAAASUVORK5CYII=\n", - "text/plain": [ - "<Figure size 432x432 with 1 Axes>" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "# parametros\n", - "#params[0]= A\n", - "#params[1] = x0\n", - "#params[2] = SigmaX\n", - "#params[3] = y0\n", - "#params[4] = SigmaY\n", - "#params[5] = C\n", - "#numpy.pi = numero pi\n", - "\n", - "# [ 4.91766638e+00 7.07821861e+00 -6.83173858e-03]\n", - "\n", - "#params[0]= sigma\n", - "#params[1] = x0\n", - "#params[2] = C\n", - "#numpy.pi = numero pi\n", - "\n", - "#print(lum_prueba)\n", - "#best_prueba = [1,7.07821861,4.91766638,0.1,6,-5]\n", - "np.std(lum_array)\n", - "\n", - "best_prueba = [10,7,100,15,100,min(lum_array)]\n", - "\n", - "#best_prueba = [1,7.07821861,4.91766638,15,6,min(lum_prueba)]\n", - "\n", - "\n", - "lum_prueba = func_gauss_2D(best_prueba,x_array,y_array)\n", - "lum_prueba_array = lum_prueba\n", - "\n", - "print(max(lum_prueba_array))\n", - "print(max(x_array))\n", - "print(max(y_array))\n", - "print(len(y_array))\n", - "\n", - "#y_array = np.zeros((25))\n", - "\n", - "\n", - "fig = plt.figure(figsize=(6, 6))\n", - "ax = fig.add_subplot(111, projection='3d')\n", - "ax.scatter(x_array, y_array,lum_prueba_array,\n", - " linewidths=1, alpha=.7,\n", - " edgecolor='k',\n", - " s = 5)\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": 54, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[8.15520772e-03 8.81354896e+00 3.29752571e+01 1.20641723e+01\n", - " 4.43136647e+00 5.46472355e-01]\n", - "0.14749262536873156\n" - ] - } - ], - "source": [ - "# parametros\n", - "#params[0]= A\n", - "#params[1] = x0\n", - "#params[2] = SigmaX\n", - "#params[3] = y0\n", - "#params[4] = SigmaY\n", - "#params[5] = C\n", - "#numpy.pi = numero pi\n", - "\n", - "#p1 = [1,2,1,10,5,min(lum_array)]\n", - "#p1 = [1,2,10,1,4,3]\n", - "\n", - "\n", - "\n", - "\n", - "p1 = [1,7,1,12,5,min(lum_array)]\n", - "best,suss = leastsq(Error_gauss_2D, p1, args=(x_array,y_array,lum_array))\n", - "print(best)\n", - "\n", - "print(min(lum_array))\n" - ] - }, - { - "cell_type": "code", - "execution_count": 55, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "<Figure size 432x432 with 1 Axes>" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "lum_model_array = func_gauss_2D(best,x_array,y_array)\n", - "\n", - "\n", - "fig = plt.figure(figsize=(6, 6))\n", - "\n", - "ax = fig.add_subplot(111, projection='3d')\n", - "#ax.scatter(x_grap, y_grap,lum_grap,\n", - "# linewidths=1, alpha=.7,\n", - "# edgecolor='k',\n", - "# s = 5)\n", - "ax.scatter(x_grap, y_grap,lum_model_array, linewidths=1, alpha=.7,\n", - " edgecolor='m',\n", - " s = 5 )\n", - "\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": 56, - "metadata": {}, - "outputs": [], - "source": [ - "import pandas as pd\n", - "d = {'X':x_array , 'Y':y_array, 'lum': lum_array, 'lum_model': lum_model_array }\n", - "df = pd.DataFrame(data=d)" - ] - }, - { - "cell_type": "code", - "execution_count": 58, - "metadata": {}, - "outputs": [ - { - "ename": "NameError", - "evalue": "name 'px' is not defined", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", - "\u001b[0;32m<ipython-input-58-eb23c8bf2a07>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;31m#print(df)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 3\u001b[0;31m fig = px.scatter_3d(df, x = 'X', \n\u001b[0m\u001b[1;32m 4\u001b[0m \u001b[0my\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m'Y'\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m z = 'lum') \n", - "\u001b[0;31mNameError\u001b[0m: name 'px' is not defined" - ] - } - ], - "source": [ - "#print(df)\n", - " \n", - "fig = px.scatter_3d(df, x = 'X', \n", - " y = 'Y', \n", - " z = 'lum') \n", - " \n", - "fig.show()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.7.3" - } - }, - "nbformat": 4, - "nbformat_minor": 4 -} diff --git a/Entrega1.ipynb b/Entrega1.ipynb deleted file mode 100644 index f41ec6c4de58e790acfc3e238f0408f9030e61f3..0000000000000000000000000000000000000000 --- a/Entrega1.ipynb +++ /dev/null @@ -1,564 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Nombre: Jennifer Ortega \n", - "# Ejercicio para practicar numpy y optimización con scipy\n", - "### Resolución espacial" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Resolución \n", - "- Cargamos la imagen utilizando PIL, y utilizamos asarray para leer la imagen en forma de matrices.\n", - "- Las matrices las transformamos a escala de grises y normalizamos el resultado.\n", - "- Recortamos una imagen de una estrella.\n", - "- Realizamos el ajuste a una gaussiana en 1D" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "(789, 1184, 3)\n" - ] - } - ], - "source": [ - "from PIL import Image\n", - "from numpy import asarray\n", - "import numpy as np\n", - "image = Image.open('data/zapatocaImage.jpeg')\n", - "data = asarray(image) # abrimos la imagen en forma de array\n", - "print(data.shape) # para ver la dimensión del array\n", - "b, g, r = data[:, :, 0], data[:, :, 1], data[:, :, 2] # Separamos las matrices según R,G,B" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Tranformación de RGB a Escala de Grises \n", - "Para la transformación tenemos la siguiente ecuación:\n", - "$$Grayscale = (R + G + \\frac{B}{3})$$\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "339.0\n", - "[[0.07177974 0.07177974 0.07177974 ... 0.12782694 0.16224189 0.18289086]\n", - " [0.07866273 0.07866273 0.07866273 ... 0.13470993 0.15634218 0.17010816]\n", - " [0.08554572 0.08554572 0.08554572 ... 0.14159292 0.15634218 0.16322517]\n", - " ...\n", - " [0.10914454 0.10226155 0.10226155 ... 0.04818092 0.0619469 0.07571288]\n", - " [0.09537856 0.10226155 0.10914454 ... 0.0619469 0.0619469 0.06489676]\n", - " [0.08161259 0.09537856 0.11602753 ... 0.07866273 0.07177974 0.05113078]]\n" - ] - } - ], - "source": [ - "Grayscale0 = (r + g + b/3) # transformamos a escala de grises\n", - "Grayscale =Grayscale0/np.max(Grayscale0) # normalizamos los valores\n", - "print(np.max(Grayscale0))\n", - "print(Grayscale) # ahora tenemos una sola matriz" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "<matplotlib.image.AxesImage at 0x7fa3dc4a7b70>" - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "<Figure size 432x288 with 1 Axes>" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "import matplotlib.pyplot as plt\n", - "import matplotlib.cm as cm\n", - "plt.imshow(Grayscale, cmap=cm.gray, vmax=np.max(Grayscale)) # imprimimos la imagen en escala de Grises." - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "<matplotlib.image.AxesImage at 0x7fa3ba5927f0>" - ] - }, - "execution_count": 14, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "<Figure size 432x288 with 1 Axes>" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "estrella0 = Grayscale[547:561,655:671]\n", - "plt.imshow(estrella0, cmap=cm.gray, vmax=np.max(estrella0))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Ajuste a una gaussiana 1D\n", - "La fución gaussiana en una dimensión es de la forma.\n", - "\n", - "$$\n", - "f(x)=A e^{-\\frac{1}{2}\\left(\\frac{x-x_0}{\\sigma}\\right)^{2}}+C\n", - "$$\n", - "Para realizar el ajuste se evaluarán los datos y se determinaran los valores para A, X0, sigma y C, tal que minimicen el error por el método de mÃnimos cuadrados, los datos serám ajustados respecto a una función gausiana." - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [], - "source": [ - "import matplotlib.pyplot as plt\n", - "from scipy.optimize import leastsq \n", - "\n", - "# Definimos la función gaussiana y el error.\n", - "def func_gauss_1D(params,x):\n", - " '''Función Gaussiana en 1D\n", - " params[0] = A\n", - " params[1] = sigma\n", - " params[2] = x0\n", - " params[3] = C\n", - " np.pi = numero pi\n", - " '''\n", - " y =params[0]*(np.exp((-(x-params[2])**2)/(2*(params[1]**2)))) + params[3]\n", - " return y\n", - "def Error_gauss_1D(tpl,x,y):\n", - " return func_gauss_1D(tpl,x)-y" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "- Seleccionaremos una lÃnea en X que representa las distintas posiciones a lo largo de la linea 1D" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [], - "source": [ - "import matplotlib.cm as cm\n", - "\n", - "x = np.arange(0, estrella0.shape[0], 1) # definimos los valores para X\n", - "y = np.arange(0, estrella0.shape[1], 1) # definimos los valores para X\n", - "\n", - "lumx = estrella0[:,3] # Seleccionamos una lÃnea 1D en el array que define X.\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "- Hacemos el ajuste con la gaussiana, los parámetros de inicialización se generan automáticamente del código, tomando en cuenta ciertas propiedades de la gaussiana. (***El ajuste depende de los parámetros inicianles introducidos***)\n", - "### Parámetros iniciales\n", - "\n", - "#### - X0 \n", - "X0 = (x_max+x_min)/2, ya que al ser una imagen de estrella, siempre la mayor luminosidad estará ubicada cercana al centro de la recta 1D en el eje X.\n", - "#### - sigma \n", - "\n", - "El sigma de una distribución de datos se calcula de la siguiente manera.\n", - "<img src=\"http://gestiondeproyectos-master.com/wp-content/uploads/2018/11/Desviacion-tipica.jpg\">\n", - "Por lo que para elegir un sigma próximo al que saldrá en el modelo, utilizaremos la ecuación anterior, tomando el eje X y el eje de la luminosidad como una probabilidad.\n", - "\n", - "### - C \n", - "Elegirmos el mÃnimo valor de la luminosidad, ya que el valor inicial donde f(0)=C, posiblemente estará cercano a ese punto.\n", - "### - A\n", - "Es la constante multiplicativa de la exponencial, al ser una escala de grises que va de (0,1) tomaremos como valor inicial 1, ya que en estos rangos comprenderan los resultados.\n", - "\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[0.69436107 3.94758525 5.81218208 0.0894316 ]\n" - ] - }, - { - "data": { - "text/plain": [ - "<matplotlib.legend.Legend at 0x7fa3bb3dbc50>" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "<Figure size 432x288 with 1 Axes>" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "import math\n", - "def std_prob(x,prob,x0):\n", - " '''Funcion que retorna la desviación estandar tomando en cuenta probabilidades'''\n", - " n= x.shape\n", - " suma = 0\n", - " for i in x:\n", - " suma= suma + ((x[i]-x0)**2)*prob[i]\n", - " sigma = math.sqrt(suma/n)\n", - " return sigma\n", - "\n", - "\n", - "prob = lumx # definimos a lumx como una probabilidad para calcular la desviación estandar aproximada.\n", - "\n", - "# definimos los parámetros de inicialización\n", - "A = 1\n", - "x0 = int(max(x)+min(x))/2\n", - "sigma = std_prob(x,prob,x0)\n", - "C = min(lumx)\n", - "\n", - "p1 = [A, sigma , x0 , min(lumx)] # valores iniciales\n", - "best,suss = leastsq(Error_gauss_1D, p1, args=(x,lumx))\n", - "\n", - "# gráficamos los resultados para evaluar el módelo visualmente. \n", - "# best contiene los parametros que mejor ajustan una gausiana a los datos.\n", - "print(best)\n", - "\n", - "lum_model = func_gauss_1D(best,x)\n", - "plt.xlabel('eje X')\n", - "plt.ylabel('luminosidad')\n", - "plt.title('Ajuste Gaussiano')\n", - "plt.plot(x,lum_model)\n", - "plt.plot(x,lumx,'o',color=\"darkorange\")\n", - "plt.legend(('Ajuste', 'Datos originales'),loc='lower left', shadow=True)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Ajuste a una gaussiana 2D \n", - "Aquà se procederá a realizar el mismo proceso anterior pero ahora se lo hara en 2 dimensiones.\n", - "La función gausiana en dos dimensiones esta dada por:\n", - "\n", - "<img src=\"https://wikimedia.org/api/rest_v1/media/math/render/svg/0c3a59990abb6b35ad9e0e4c3edbe44462fc20c7\"> \n", - "\n", - "por lo que los valores a encontrarse seran A, X0, Y0, sigma_x, sigma_y y C, igualmente se utilizará, el método de mÃnimos cuadrados." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "- Guardamos en arrays cada una de los datos en 2 dimensiones con sus respectivos valores de luminosidad." - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [], - "source": [ - "x = np.arange(0, estrella0.shape[0], 1)\n", - "y = np.arange(0, estrella0.shape[1], 1)\n", - "\n", - "def lum_2D(estrella,x,y):\n", - " '''Funcion que extrae cada valor de la luminosidad con sus respectivos valores en X y Y,\n", - " y los retorna en forma de arrays.\n", - " '''\n", - " lum_list = []\n", - " x_list = []\n", - " y_list = []\n", - " for i in x:\n", - " for j in y:\n", - " lum = estrella[x[i],y[j]] \n", - " lum_list.append(lum)\n", - " x_list.append(x[i])\n", - " y_list.append(y[j])\n", - " return np.array(lum_list),np.array(x_list),np.array(y_list) \n", - "\n", - "lum, x, y = lum_2D(estrella0,x,y)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "- Primero gráficaremos los datos en 3D, con los valores para X, Y y la luminosidad, para tener una vista preliminar.\n" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "<Figure size 432x432 with 1 Axes>" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "from mpl_toolkits.mplot3d import Axes3D\n", - "\n", - "fig = plt.figure(figsize=(6, 6))\n", - "ax = fig.add_subplot(111, projection='3d')\n", - "ax.scatter(x, y,lum,\n", - " linewidths=1, alpha=.7,\n", - " edgecolor='k',\n", - " s = 5)\n", - "ax.set_xlabel('eje X')\n", - "ax.set_ylabel('eje Y')\n", - "ax.set_zlabel('Lum')\n", - "plt.title('Ajuste Gaussiano')\n", - "plt.show()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "- Definimos la función de Error y la función gaussiana." - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [], - "source": [ - "def func_gauss_2D(params,x,y):\n", - " '''Función Gaussiana en 2D\n", - " params[0] = A\n", - " params[1] = sigma \n", - " params[2] = C\n", - " params[3] = x0\n", - " params[4] = y0\n", - " np.pi = numero pi\n", - " '''\n", - " # z = (params[0]*(np.exp(-(((x-params[2])**2)/(2*(params[1]**2)))+(((y-params[5])**2)/(2*(params[4]**2))))))+params[3]\n", - " z = (params[0]*np.exp(-(((x-params[3])**2)+(y-params[4])**2)/(2*(params[1])**2)))+params[2] \n", - " return z\n", - "\n", - "\n", - "def Error_gauss_2D(tpl,x,y,z):\n", - " return func_gauss_2D(tpl,x,y)-z" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Realizamos el ajuste en 2D" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "4.165519999544006\n", - "2.755937988892964\n", - "[0.92034556 3.71178173 0.25404916 5.79922866 7.46927134]\n" - ] - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "<Figure size 432x432 with 1 Axes>" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "prob = lum # definimos a lum como una probabilidad para calcular la desviación estandar aproximada.\n", - "# definimos los parámetros de inicialización\n", - "A = 1\n", - "x0 = int(max(x)+min(x))/2\n", - "y0 = int(max(y)+min(y))/2\n", - "sigmax = std_prob(x,prob,x0)\n", - "sigmay = std_prob(y,prob,y0)\n", - "\n", - "print(sigmax)\n", - "print(sigmay)\n", - "C = min(lum)\n", - "'''\n", - " params[0] = A\n", - " params[1] = sigma \n", - " params[2] = C\n", - " params[3] = x0\n", - " params[4] = y0\n", - "'''\n", - "\n", - "sigma = (sigmax+sigmay)/2\n", - "p1 = [A, sigma, C, x0, y0]\n", - "\n", - "\n", - "best,suss = leastsq(Error_gauss_2D, p1, args=(x,y,lum))\n", - "print(best)\n", - "#best= best1\n", - "\n", - "#lum_model = func_gauss_2D([1/6, 5.37714538e+01,8.87615354e+00,-0.3,\n", - " # 6.43257406e+00,1.20640785e+01],x,y)\n", - "lum_model = func_gauss_2D(best,x,y)\n", - "\n", - "fig = plt.figure(figsize=(6, 6))\n", - "ax = fig.add_subplot(111, projection='3d')\n", - "ax.scatter(x, y,lum_model,\n", - " linewidths=1, alpha=.7,\n", - " edgecolor='k',\n", - " s = 5)\n", - "ax.set_xlabel('eje X')\n", - "ax.set_ylabel('eje Y')\n", - "ax.set_zlabel('Lum')\n", - "plt.title('Ajuste Gaussiano')\n", - "plt.show()\n" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "<Figure size 432x288 with 1 Axes>" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "x_grap = np.arange(0, estrella0.shape[0],0.1)\n", - "y_grap = np.arange(0, estrella0.shape[1], 0.1)\n", - "\n", - "\n", - "X, Y = np.meshgrid(x_grap, y_grap)\n", - "Z = func_gauss_2D(best,X,Y)\n", - "\n", - "fig = plt.figure()\n", - "ax = plt.axes(projection='3d')\n", - "ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap='Blues', edgecolor='none')\n", - "ax.set_xlabel('x')\n", - "ax.set_ylabel('y')\n", - "ax.set_zlabel('lum')\n", - "plt.title('Ajuste Gaussiano');" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.7.3" - } - }, - "nbformat": 4, - "nbformat_minor": 4 -}